<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.0">Jekyll</generator><link href="https://discgolfr.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://discgolfr.github.io/" rel="alternate" type="text/html" /><updated>2021-07-20T02:36:02+00:00</updated><id>https://discgolfr.github.io/feed.xml</id><title type="html">Disc Golf Data</title><subtitle>Data analysis and visualization of all things disc golf</subtitle><entry><title type="html">Which discs and companies fly like we expect?</title><link href="https://discgolfr.github.io/2021/07/19/manufacturers_versus_reviewers.html" rel="alternate" type="text/html" title="Which discs and companies fly like we expect?" /><published>2021-07-19T00:00:00+00:00</published><updated>2021-07-19T00:00:00+00:00</updated><id>https://discgolfr.github.io/2021/07/19/manufacturers_versus_reviewers</id><content type="html" xml:base="https://discgolfr.github.io/2021/07/19/manufacturers_versus_reviewers.html">&lt;!DOCTYPE html&gt;

&lt;html&gt;

&lt;head&gt;

&lt;meta charset=&quot;utf-8&quot; /&gt;
&lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=EDGE&quot; /&gt;

&lt;script src=&quot;data:application/javascript;base64,Ly8gUGFuZG9jIDIuOSBhZGRzIGF0dHJpYnV0ZXMgb24gYm90aCBoZWFkZXIgYW5kIGRpdi4gV2UgcmVtb3ZlIHRoZSBmb3JtZXIgKHRvCi8vIGJlIGNvbXBhdGlibGUgd2l0aCB0aGUgYmVoYXZpb3Igb2YgUGFuZG9jIDwgMi44KS4KZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uKGUpIHsKICB2YXIgaHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJkaXYuc2VjdGlvbltjbGFzcyo9J2xldmVsJ10gPiA6Zmlyc3QtY2hpbGQiKTsKICB2YXIgaSwgaCwgYTsKICBmb3IgKGkgPSAwOyBpIDwgaHMubGVuZ3RoOyBpKyspIHsKICAgIGggPSBoc1tpXTsKICAgIGlmICghL15oWzEtNl0kL2kudGVzdChoLnRhZ05hbWUpKSBjb250aW51ZTsgIC8vIGl0IHNob3VsZCBiZSBhIGhlYWRlciBoMS1oNgogICAgYSA9IGguYXR0cmlidXRlczsKICAgIHdoaWxlIChhLmxlbmd0aCA+IDApIGgucmVtb3ZlQXR0cmlidXRlKGFbMF0ubmFtZSk7CiAgfQp9KTsK&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,LyohIGpRdWVyeSB2MS4xMS4zIHwgKGMpIDIwMDUsIDIwMTUgalF1ZXJ5IEZvdW5kYXRpb24sIEluYy4gfCBqcXVlcnkub3JnL2xpY2Vuc2UgKi8KIWZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YS5kb2N1bWVudD9iKGEsITApOmZ1bmN0aW9uKGEpe2lmKCFhLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiBiKGEpfTpiKGEpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9Yy5zbGljZSxlPWMuY29uY2F0LGY9Yy5wdXNoLGc9Yy5pbmRleE9mLGg9e30saT1oLnRvU3RyaW5nLGo9aC5oYXNPd25Qcm9wZXJ0eSxrPXt9LGw9IjEuMTEuMyIsbT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgbS5mbi5pbml0KGEsYil9LG49L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLG89L14tbXMtLyxwPS8tKFtcZGEtel0pL2dpLHE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTttLmZuPW0ucHJvdG90eXBlPXtqcXVlcnk6bCxjb25zdHJ1Y3RvcjptLHNlbGVjdG9yOiIiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZC5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/MD5hP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXTpkLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1tLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYi5jb250ZXh0PXRoaXMuY29udGV4dCxifSxlYWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZWFjaCh0aGlzLGEsYil9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobS5tYXAodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhkLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubGVuZ3RoLGM9K2ErKDA+YT9iOjApO3JldHVybiB0aGlzLnB1c2hTdGFjayhjPj0wJiZiPmM/W3RoaXNbY11dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpmLHNvcnQ6Yy5zb3J0LHNwbGljZTpjLnNwbGljZX0sbS5leHRlbmQ9bS5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz1hcmd1bWVudHNbMF18fHt9LGg9MSxpPWFyZ3VtZW50cy5sZW5ndGgsaj0hMTtmb3IoImJvb2xlYW4iPT10eXBlb2YgZyYmKGo9ZyxnPWFyZ3VtZW50c1toXXx8e30saCsrKSwib2JqZWN0Ij09dHlwZW9mIGd8fG0uaXNGdW5jdGlvbihnKXx8KGc9e30pLGg9PT1pJiYoZz10aGlzLGgtLSk7aT5oO2grKylpZihudWxsIT0oZT1hcmd1bWVudHNbaF0pKWZvcihkIGluIGUpYT1nW2RdLGM9ZVtkXSxnIT09YyYmKGomJmMmJihtLmlzUGxhaW5PYmplY3QoYyl8fChiPW0uaXNBcnJheShjKSkpPyhiPyhiPSExLGY9YSYmbS5pc0FycmF5KGEpP2E6W10pOmY9YSYmbS5pc1BsYWluT2JqZWN0KGEpP2E6e30sZ1tkXT1tLmV4dGVuZChqLGYsYykpOnZvaWQgMCE9PWMmJihnW2RdPWMpKTtyZXR1cm4gZ30sbS5leHRlbmQoe2V4cGFuZG86ImpRdWVyeSIrKGwrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoYSl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzRnVuY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuImZ1bmN0aW9uIj09PW0udHlwZShhKX0saXNBcnJheTpBcnJheS5pc0FycmF5fHxmdW5jdGlvbihhKXtyZXR1cm4iYXJyYXkiPT09bS50eXBlKGEpfSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09YS53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihhKXtyZXR1cm4hbS5pc0FycmF5KGEpJiZhLXBhcnNlRmxvYXQoYSkrMT49MH0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXt2YXIgYjtmb3IoYiBpbiBhKXJldHVybiExO3JldHVybiEwfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2lmKCFhfHwib2JqZWN0IiE9PW0udHlwZShhKXx8YS5ub2RlVHlwZXx8bS5pc1dpbmRvdyhhKSlyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1Y3RvciYmIWouY2FsbChhLCJjb25zdHJ1Y3RvciIpJiYhai5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9mIikpcmV0dXJuITF9Y2F0Y2goYyl7cmV0dXJuITF9aWYoay5vd25MYXN0KWZvcihiIGluIGEpcmV0dXJuIGouY2FsbChhLGIpO2ZvcihiIGluIGEpO3JldHVybiB2b2lkIDA9PT1ifHxqLmNhbGwoYSxiKX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9hKyIiOiJvYmplY3QiPT10eXBlb2YgYXx8ImZ1bmN0aW9uIj09dHlwZW9mIGE/aFtpLmNhbGwoYSldfHwib2JqZWN0Ijp0eXBlb2YgYX0sZ2xvYmFsRXZhbDpmdW5jdGlvbihiKXtiJiZtLnRyaW0oYikmJihhLmV4ZWNTY3JpcHR8fGZ1bmN0aW9uKGIpe2EuZXZhbC5jYWxsKGEsYil9KShiKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UobywibXMtIikucmVwbGFjZShwLHEpfSxub2RlTmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9MCxmPWEubGVuZ3RoLGc9cihhKTtpZihjKXtpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmFwcGx5KGFbZV0sYyksZD09PSExKWJyZWFrfWVsc2UgZm9yKGUgaW4gYSlpZihkPWIuYXBwbHkoYVtlXSxjKSxkPT09ITEpYnJlYWt9ZWxzZSBpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmNhbGwoYVtlXSxlLGFbZV0pLGQ9PT0hMSlicmVha31lbHNlIGZvcihlIGluIGEpaWYoZD1iLmNhbGwoYVtlXSxlLGFbZV0pLGQ9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT8iIjooYSsiIikucmVwbGFjZShuLCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107cmV0dXJuIG51bGwhPWEmJihyKE9iamVjdChhKSk/bS5tZXJnZShjLCJzdHJpbmciPT10eXBlb2YgYT9bYV06YSk6Zi5jYWxsKGMsYSkpLGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2lmKGIpe2lmKGcpcmV0dXJuIGcuY2FsbChiLGEsYyk7Zm9yKGQ9Yi5sZW5ndGgsYz1jPzA+Yz9NYXRoLm1heCgwLGQrYyk6YzowO2Q+YztjKyspaWYoYyBpbiBiJiZiW2NdPT09YSlyZXR1cm4gY31yZXR1cm4tMX0sbWVyZ2U6ZnVuY3Rpb24oYSxiKXt2YXIgYz0rYi5sZW5ndGgsZD0wLGU9YS5sZW5ndGg7d2hpbGUoYz5kKWFbZSsrXT1iW2QrK107aWYoYyE9PWMpd2hpbGUodm9pZCAwIT09YltkXSlhW2UrK109YltkKytdO3JldHVybiBhLmxlbmd0aD1lLGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCxlPVtdLGY9MCxnPWEubGVuZ3RoLGg9IWM7Zz5mO2YrKylkPSFiKGFbZl0sZiksZCE9PWgmJmUucHVzaChhW2ZdKTtyZXR1cm4gZX0sbWFwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxmPTAsZz1hLmxlbmd0aCxoPXIoYSksaT1bXTtpZihoKWZvcig7Zz5mO2YrKylkPWIoYVtmXSxmLGMpLG51bGwhPWQmJmkucHVzaChkKTtlbHNlIGZvcihmIGluIGEpZD1iKGFbZl0sZixjKSxudWxsIT1kJiZpLnB1c2goZCk7cmV0dXJuIGUuYXBwbHkoW10saSl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihhLGIpe3ZhciBjLGUsZjtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGImJihmPWFbYl0sYj1hLGE9ZiksbS5pc0Z1bmN0aW9uKGEpPyhjPWQuY2FsbChhcmd1bWVudHMsMiksZT1mdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGJ8fHRoaXMsYy5jb25jYXQoZC5jYWxsKGFyZ3VtZW50cykpKX0sZS5ndWlkPWEuZ3VpZD1hLmd1aWR8fG0uZ3VpZCsrLGUpOnZvaWQgMH0sbm93OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfSxzdXBwb3J0Omt9KSxtLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtoWyJbb2JqZWN0ICIrYisiXSJdPWIudG9Mb3dlckNhc2UoKX0pO2Z1bmN0aW9uIHIoYSl7dmFyIGI9Imxlbmd0aCJpbiBhJiZhLmxlbmd0aCxjPW0udHlwZShhKTtyZXR1cm4iZnVuY3Rpb24iPT09Y3x8bS5pc1dpbmRvdyhhKT8hMToxPT09YS5ub2RlVHlwZSYmYj8hMDoiYXJyYXkiPT09Y3x8MD09PWJ8fCJudW1iZXIiPT10eXBlb2YgYiYmYj4wJiZiLTEgaW4gYX12YXIgcz1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1PSJzaXp6bGUiKzEqbmV3IERhdGUsdj1hLmRvY3VtZW50LHc9MCx4PTAseT1oYSgpLHo9aGEoKSxBPWhhKCksQj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09YiYmKGw9ITApLDB9LEM9MTw8MzEsRD17fS5oYXNPd25Qcm9wZXJ0eSxFPVtdLEY9RS5wb3AsRz1FLnB1c2gsSD1FLnB1c2gsST1FLnNsaWNlLEo9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEs9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkIixMPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixNPSIoPzpcXFxcLnxbXFx3LV18W15cXHgwMC1cXHhhMF0pKyIsTj1NLnJlcGxhY2UoInciLCJ3IyIpLE89IlxcWyIrTCsiKigiK00rIikoPzoiK0wrIiooWypeJHwhfl0/PSkiK0wrIiooPzonKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcInwoIitOKyIpKXwpIitMKyIqXFxdIixQPSI6KCIrTSsiKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIrTysiKSopfC4qKVxcKXwpIixRPW5ldyBSZWdFeHAoTCsiKyIsImciKSxSPW5ldyBSZWdFeHAoIl4iK0wrIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrTCsiKyQiLCJnIiksUz1uZXcgUmVnRXhwKCJeIitMKyIqLCIrTCsiKiIpLFQ9bmV3IFJlZ0V4cCgiXiIrTCsiKihbPit+XXwiK0wrIikiK0wrIioiKSxVPW5ldyBSZWdFeHAoIj0iK0wrIiooW15cXF0nXCJdKj8pIitMKyIqXFxdIiwiZyIpLFY9bmV3IFJlZ0V4cChQKSxXPW5ldyBSZWdFeHAoIl4iK04rIiQiKSxYPXtJRDpuZXcgUmVnRXhwKCJeIygiK00rIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrTSsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrTS5yZXBsYWNlKCJ3IiwidyoiKSsiKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrTyksUFNFVURPOm5ldyBSZWdFeHAoIl4iK1ApLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcKCIrTCsiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrTCsiKig/OihbKy1dfCkiK0wrIiooXFxkKyl8KSkiK0wrIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK0srIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitMKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK0wrIiooKD86LVxcZCk/XFxkKikiK0wrIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFk9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxaPS9eaFxkJC9pLCQ9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLF89L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLyxhYT0vWyt+XS8sYmE9Lyd8XFwvZyxjYT1uZXcgUmVnRXhwKCJcXFxcKFtcXGRhLWZdezEsNn0iK0wrIj98KCIrTCsiKXwuKSIsImlnIiksZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSIweCIrYi02NTUzNjtyZXR1cm4gZCE9PWR8fGM/YjowPmQ/U3RyaW5nLmZyb21DaGFyQ29kZShkKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKGQ+PjEwfDU1Mjk2LDEwMjMmZHw1NjMyMCl9LGVhPWZ1bmN0aW9uKCl7bSgpfTt0cnl7SC5hcHBseShFPUkuY2FsbCh2LmNoaWxkTm9kZXMpLHYuY2hpbGROb2RlcyksRVt2LmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaChmYSl7SD17YXBwbHk6RS5sZW5ndGg/ZnVuY3Rpb24oYSxiKXtHLmFwcGx5KGEsSS5jYWxsKGIpKX06ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmxlbmd0aCxkPTA7d2hpbGUoYVtjKytdPWJbZCsrXSk7YS5sZW5ndGg9Yy0xfX19ZnVuY3Rpb24gZ2EoYSxiLGQsZSl7dmFyIGYsaCxqLGssbCxvLHIscyx3LHg7aWYoKGI/Yi5vd25lckRvY3VtZW50fHxiOnYpIT09biYmbShiKSxiPWJ8fG4sZD1kfHxbXSxrPWIubm9kZVR5cGUsInN0cmluZyIhPXR5cGVvZiBhfHwhYXx8MSE9PWsmJjkhPT1rJiYxMSE9PWspcmV0dXJuIGQ7aWYoIWUmJnApe2lmKDExIT09ayYmKGY9Xy5leGVjKGEpKSlpZihqPWZbMV0pe2lmKDk9PT1rKXtpZihoPWIuZ2V0RWxlbWVudEJ5SWQoaiksIWh8fCFoLnBhcmVudE5vZGUpcmV0dXJuIGQ7aWYoaC5pZD09PWopcmV0dXJuIGQucHVzaChoKSxkfWVsc2UgaWYoYi5vd25lckRvY3VtZW50JiYoaD1iLm93bmVyRG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaikpJiZ0KGIsaCkmJmguaWQ9PT1qKXJldHVybiBkLnB1c2goaCksZH1lbHNle2lmKGZbMl0pcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpKSxkO2lmKChqPWZbM10pJiZjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoaikpLGR9aWYoYy5xc2EmJighcXx8IXEudGVzdChhKSkpe2lmKHM9cj11LHc9Yix4PTEhPT1rJiZhLDE9PT1rJiYib2JqZWN0IiE9PWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7bz1nKGEpLChyPWIuZ2V0QXR0cmlidXRlKCJpZCIpKT9zPXIucmVwbGFjZShiYSwiXFwkJiIpOmIuc2V0QXR0cmlidXRlKCJpZCIscykscz0iW2lkPSciK3MrIiddICIsbD1vLmxlbmd0aDt3aGlsZShsLS0pb1tsXT1zK3JhKG9bbF0pO3c9YWEudGVzdChhKSYmcGEoYi5wYXJlbnROb2RlKXx8Yix4PW8uam9pbigiLCIpfWlmKHgpdHJ5e3JldHVybiBILmFwcGx5KGQsdy5xdWVyeVNlbGVjdG9yQWxsKHgpKSxkfWNhdGNoKHkpe31maW5hbGx5e3J8fGIucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIGkoYS5yZXBsYWNlKFIsIiQxIiksYixkLGUpfWZ1bmN0aW9uIGhhKCl7dmFyIGE9W107ZnVuY3Rpb24gYihjLGUpe3JldHVybiBhLnB1c2goYysiICIpPmQuY2FjaGVMZW5ndGgmJmRlbGV0ZSBiW2Euc2hpZnQoKV0sYltjKyIgIl09ZX1yZXR1cm4gYn1mdW5jdGlvbiBpYShhKXtyZXR1cm4gYVt1XT0hMCxhfWZ1bmN0aW9uIGphKGEpe3ZhciBiPW4uY3JlYXRlRWxlbWVudCgiZGl2Iik7dHJ5e3JldHVybiEhYShiKX1jYXRjaChjKXtyZXR1cm4hMX1maW5hbGx5e2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbH19ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYz1hLnNwbGl0KCJ8IiksZT1hLmxlbmd0aDt3aGlsZShlLS0pZC5hdHRySGFuZGxlW2NbZV1dPWJ9ZnVuY3Rpb24gbGEoYSxiKXt2YXIgYz1iJiZhLGQ9YyYmMT09PWEubm9kZVR5cGUmJjE9PT1iLm5vZGVUeXBlJiYofmIuc291cmNlSW5kZXh8fEMpLSh+YS5zb3VyY2VJbmRleHx8Qyk7aWYoZClyZXR1cm4gZDtpZihjKXdoaWxlKGM9Yy5uZXh0U2libGluZylpZihjPT09YilyZXR1cm4tMTtyZXR1cm4gYT8xOi0xfWZ1bmN0aW9uIG1hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWMmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG5hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKCJpbnB1dCI9PT1jfHwiYnV0dG9uIj09PWMpJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBvYShhKXtyZXR1cm4gaWEoZnVuY3Rpb24oYil7cmV0dXJuIGI9K2IsaWEoZnVuY3Rpb24oYyxkKXt2YXIgZSxmPWEoW10sYy5sZW5ndGgsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pY1tlPWZbZ11dJiYoY1tlXT0hKGRbZV09Y1tlXSkpfSl9KX1mdW5jdGlvbiBwYShhKXtyZXR1cm4gYSYmInVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZhfWM9Z2Euc3VwcG9ydD17fSxmPWdhLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPWEmJihhLm93bmVyRG9jdW1lbnR8fGEpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gYj8iSFRNTCIhPT1iLm5vZGVOYW1lOiExfSxtPWdhLnNldERvY3VtZW50PWZ1bmN0aW9uKGEpe3ZhciBiLGUsZz1hP2Eub3duZXJEb2N1bWVudHx8YTp2O3JldHVybiBnIT09biYmOT09PWcubm9kZVR5cGUmJmcuZG9jdW1lbnRFbGVtZW50PyhuPWcsbz1nLmRvY3VtZW50RWxlbWVudCxlPWcuZGVmYXVsdFZpZXcsZSYmZSE9PWUudG9wJiYoZS5hZGRFdmVudExpc3RlbmVyP2UuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIixlYSwhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib251bmxvYWQiLGVhKSkscD0hZihnKSxjLmF0dHJpYnV0ZXM9amEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhc3NOYW1lPSJpIiwhYS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksYy5nZXRFbGVtZW50c0J5VGFnTmFtZT1qYShmdW5jdGlvbihhKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChnLmNyZWF0ZUNvbW1lbnQoIiIpKSwhYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT0kLnRlc3QoZy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxjLmdldEJ5SWQ9amEoZnVuY3Rpb24oYSl7cmV0dXJuIG8uYXBwZW5kQ2hpbGQoYSkuaWQ9dSwhZy5nZXRFbGVtZW50c0J5TmFtZXx8IWcuZ2V0RWxlbWVudHNCeU5hbWUodSkubGVuZ3RofSksYy5nZXRCeUlkPyhkLmZpbmQuSUQ9ZnVuY3Rpb24oYSxiKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQmJnApe3ZhciBjPWIuZ2V0RWxlbWVudEJ5SWQoYSk7cmV0dXJuIGMmJmMucGFyZW50Tm9kZT9bY106W119fSxkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoY2EsZGEpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImlkIik9PT1ifX0pOihkZWxldGUgZC5maW5kLklELGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYSxkYSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhciBjPSJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlJiZhLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIGMmJmMudmFsdWU9PT1ifX0pLGQuZmluZC5UQUc9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZT9mdW5jdGlvbihhLGIpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgYi5nZXRFbGVtZW50c0J5VGFnTmFtZT9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpOmMucXNhP2IucXVlcnlTZWxlY3RvckFsbChhKTp2b2lkIDB9OmZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPTAsZj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpO2lmKCIqIj09PWEpe3doaWxlKGM9ZltlKytdKTE9PT1jLm5vZGVUeXBlJiZkLnB1c2goYyk7cmV0dXJuIGR9cmV0dXJuIGZ9LGQuZmluZC5DTEFTUz1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGEsYil7cmV0dXJuIHA/Yi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGEpOnZvaWQgMH0scj1bXSxxPVtdLChjLnFzYT0kLnRlc3QoZy5xdWVyeVNlbGVjdG9yQWxsKSkmJihqYShmdW5jdGlvbihhKXtvLmFwcGVuZENoaWxkKGEpLmlubmVySFRNTD0iPGEgaWQ9JyIrdSsiJz48L2E+PHNlbGVjdCBpZD0nIit1KyItXGZdJyBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsYS5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCYmcS5wdXNoKCJbKl4kXT0iK0wrIiooPzonJ3xcIlwiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8cS5wdXNoKCJcXFsiK0wrIiooPzp2YWx1ZXwiK0srIikiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49Iit1KyItXSIpLmxlbmd0aHx8cS5wdXNoKCJ+PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fHEucHVzaCgiOmNoZWNrZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIit1KyIrKiIpLmxlbmd0aHx8cS5wdXNoKCIuIy4rWyt+XSIpfSksamEoZnVuY3Rpb24oYSl7dmFyIGI9Zy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Iuc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksYS5hcHBlbmRDaGlsZChiKS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJEIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCYmcS5wdXNoKCJuYW1lIitMKyIqWypeJHwhfl0/PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmVuYWJsZWQiKS5sZW5ndGh8fHEucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSxxLnB1c2goIiwuKjoiKX0pKSwoYy5tYXRjaGVzU2VsZWN0b3I9JC50ZXN0KHM9by5tYXRjaGVzfHxvLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8by5tb3pNYXRjaGVzU2VsZWN0b3J8fG8ub01hdGNoZXNTZWxlY3Rvcnx8by5tc01hdGNoZXNTZWxlY3RvcikpJiZqYShmdW5jdGlvbihhKXtjLmRpc2Nvbm5lY3RlZE1hdGNoPXMuY2FsbChhLCJkaXYiKSxzLmNhbGwoYSwiW3MhPScnXTp4Iiksci5wdXNoKCIhPSIsUCl9KSxxPXEubGVuZ3RoJiZuZXcgUmVnRXhwKHEuam9pbigifCIpKSxyPXIubGVuZ3RoJiZuZXcgUmVnRXhwKHIuam9pbigifCIpKSxiPSQudGVzdChvLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSx0PWJ8fCQudGVzdChvLmNvbnRhaW5zKT9mdW5jdGlvbihhLGIpe3ZhciBjPTk9PT1hLm5vZGVUeXBlP2EuZG9jdW1lbnRFbGVtZW50OmEsZD1iJiZiLnBhcmVudE5vZGU7cmV0dXJuIGE9PT1kfHwhKCFkfHwxIT09ZC5ub2RlVHlwZXx8IShjLmNvbnRhaW5zP2MuY29udGFpbnMoZCk6YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihkKSkpfTpmdW5jdGlvbihhLGIpe2lmKGIpd2hpbGUoYj1iLnBhcmVudE5vZGUpaWYoYj09PWEpcmV0dXJuITA7cmV0dXJuITF9LEI9Yj9mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGQ9IWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIGQ/ZDooZD0oYS5vd25lckRvY3VtZW50fHxhKT09PShiLm93bmVyRG9jdW1lbnR8fGIpP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYik6MSwxJmR8fCFjLnNvcnREZXRhY2hlZCYmYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKT09PWQ/YT09PWd8fGEub3duZXJEb2N1bWVudD09PXYmJnQodixhKT8tMTpiPT09Z3x8Yi5vd25lckRvY3VtZW50PT09diYmdCh2LGIpPzE6az9KKGssYSktSihrLGIpOjA6NCZkPy0xOjEpfTpmdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGMsZD0wLGU9YS5wYXJlbnROb2RlLGY9Yi5wYXJlbnROb2RlLGg9W2FdLGk9W2JdO2lmKCFlfHwhZilyZXR1cm4gYT09PWc/LTE6Yj09PWc/MTplPy0xOmY/MTprP0ooayxhKS1KKGssYik6MDtpZihlPT09ZilyZXR1cm4gbGEoYSxiKTtjPWE7d2hpbGUoYz1jLnBhcmVudE5vZGUpaC51bnNoaWZ0KGMpO2M9Yjt3aGlsZShjPWMucGFyZW50Tm9kZSlpLnVuc2hpZnQoYyk7d2hpbGUoaFtkXT09PWlbZF0pZCsrO3JldHVybiBkP2xhKGhbZF0saVtkXSk6aFtkXT09PXY/LTE6aVtkXT09PXY/MTowfSxnKTpufSxnYS5tYXRjaGVzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGdhKGEsbnVsbCxudWxsLGIpfSxnYS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oYSxiKXtpZigoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksYj1iLnJlcGxhY2UoVSwiPSckMSddIiksISghYy5tYXRjaGVzU2VsZWN0b3J8fCFwfHxyJiZyLnRlc3QoYil8fHEmJnEudGVzdChiKSkpdHJ5e3ZhciBkPXMuY2FsbChhLGIpO2lmKGR8fGMuZGlzY29ubmVjdGVkTWF0Y2h8fGEuZG9jdW1lbnQmJjExIT09YS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gZH1jYXRjaChlKXt9cmV0dXJuIGdhKGIsbixudWxsLFthXSkubGVuZ3RoPjB9LGdhLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpLHQoYSxiKX0sZ2EuYXR0cj1mdW5jdGlvbihhLGIpeyhhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKTt2YXIgZT1kLmF0dHJIYW5kbGVbYi50b0xvd2VyQ2FzZSgpXSxmPWUmJkQuY2FsbChkLmF0dHJIYW5kbGUsYi50b0xvd2VyQ2FzZSgpKT9lKGEsYiwhcCk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT1mP2Y6Yy5hdHRyaWJ1dGVzfHwhcD9hLmdldEF0dHJpYnV0ZShiKTooZj1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZmLnNwZWNpZmllZD9mLnZhbHVlOm51bGx9LGdhLmVycm9yPWZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIithKX0sZ2EudW5pcXVlU29ydD1mdW5jdGlvbihhKXt2YXIgYixkPVtdLGU9MCxmPTA7aWYobD0hYy5kZXRlY3REdXBsaWNhdGVzLGs9IWMuc29ydFN0YWJsZSYmYS5zbGljZSgwKSxhLnNvcnQoQiksbCl7d2hpbGUoYj1hW2YrK10pYj09PWFbZl0mJihlPWQucHVzaChmKSk7d2hpbGUoZS0tKWEuc3BsaWNlKGRbZV0sMSl9cmV0dXJuIGs9bnVsbCxhfSxlPWdhLmdldFRleHQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz0iIixkPTAsZj1hLm5vZGVUeXBlO2lmKGYpe2lmKDE9PT1mfHw5PT09Znx8MTE9PT1mKXtpZigic3RyaW5nIj09dHlwZW9mIGEudGV4dENvbnRlbnQpcmV0dXJuIGEudGV4dENvbnRlbnQ7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWMrPWUoYSl9ZWxzZSBpZigzPT09Znx8ND09PWYpcmV0dXJuIGEubm9kZVZhbHVlfWVsc2Ugd2hpbGUoYj1hW2QrK10pYys9ZShiKTtyZXR1cm4gY30sZD1nYS5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUwLGNyZWF0ZVBzZXVkbzppYSxtYXRjaDpYLGF0dHJIYW5kbGU6e30sZmluZDp7fSxyZWxhdGl2ZTp7Ij4iOntkaXI6InBhcmVudE5vZGUiLGZpcnN0OiEwfSwiICI6e2RpcjoicGFyZW50Tm9kZSJ9LCIrIjp7ZGlyOiJwcmV2aW91c1NpYmxpbmciLGZpcnN0OiEwfSwifiI6e2RpcjoicHJldmlvdXNTaWJsaW5nIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnJlcGxhY2UoY2EsZGEpLGFbM109KGFbM118fGFbNF18fGFbNV18fCIiKS5yZXBsYWNlKGNhLGRhKSwifj0iPT09YVsyXSYmKGFbM109IiAiK2FbM10rIiAiKSxhLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0udG9Mb3dlckNhc2UoKSwibnRoIj09PWFbMV0uc2xpY2UoMCwzKT8oYVszXXx8Z2EuZXJyb3IoYVswXSksYVs0XT0rKGFbNF0/YVs1XSsoYVs2XXx8MSk6MiooImV2ZW4iPT09YVszXXx8Im9kZCI9PT1hWzNdKSksYVs1XT0rKGFbN10rYVs4XXx8Im9kZCI9PT1hWzNdKSk6YVszXSYmZ2EuZXJyb3IoYVswXSksYX0sUFNFVURPOmZ1bmN0aW9uKGEpe3ZhciBiLGM9IWFbNl0mJmFbMl07cmV0dXJuIFguQ0hJTEQudGVzdChhWzBdKT9udWxsOihhWzNdP2FbMl09YVs0XXx8YVs1XXx8IiI6YyYmVi50ZXN0KGMpJiYoYj1nKGMsITApKSYmKGI9Yy5pbmRleE9mKCIpIixjLmxlbmd0aC1iKS1jLmxlbmd0aCkmJihhWzBdPWFbMF0uc2xpY2UoMCxiKSxhWzJdPWMuc2xpY2UoMCxiKSksYS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYSxkYSkudG9Mb3dlckNhc2UoKTtyZXR1cm4iKiI9PT1hP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1ifX0sQ0xBU1M6ZnVuY3Rpb24oYSl7dmFyIGI9eVthKyIgIl07cmV0dXJuIGJ8fChiPW5ldyBSZWdFeHAoIihefCIrTCsiKSIrYSsiKCIrTCsifCQpIikpJiZ5KGEsZnVuY3Rpb24oYSl7cmV0dXJuIGIudGVzdCgic3RyaW5nIj09dHlwZW9mIGEuY2xhc3NOYW1lJiZhLmNsYXNzTmFtZXx8InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9Z2EuYXR0cihkLGEpO3JldHVybiBudWxsPT1lPyIhPSI9PT1iOmI/KGUrPSIiLCI9Ij09PWI/ZT09PWM6IiE9Ij09PWI/ZSE9PWM6Il49Ij09PWI/YyYmMD09PWUuaW5kZXhPZihjKToiKj0iPT09Yj9jJiZlLmluZGV4T2YoYyk+LTE6IiQ9Ij09PWI/YyYmZS5zbGljZSgtYy5sZW5ndGgpPT09Yzoifj0iPT09Yj8oIiAiK2UucmVwbGFjZShRLCIgIikrIiAiKS5pbmRleE9mKGMpPi0xOiJ8PSI9PT1iP2U9PT1jfHxlLnNsaWNlKDAsYy5sZW5ndGgrMSk9PT1jKyItIjohMSk6ITB9fSxDSElMRDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSJudGgiIT09YS5zbGljZSgwLDMpLGc9Imxhc3QiIT09YS5zbGljZSgtNCksaD0ib2YtdHlwZSI9PT1iO3JldHVybiAxPT09ZCYmMD09PWU/ZnVuY3Rpb24oYSl7cmV0dXJuISFhLnBhcmVudE5vZGV9OmZ1bmN0aW9uKGIsYyxpKXt2YXIgaixrLGwsbSxuLG8scD1mIT09Zz8ibmV4dFNpYmxpbmciOiJwcmV2aW91c1NpYmxpbmciLHE9Yi5wYXJlbnROb2RlLHI9aCYmYi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHM9IWkmJiFoO2lmKHEpe2lmKGYpe3doaWxlKHApe2w9Yjt3aGlsZShsPWxbcF0paWYoaD9sLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1sLm5vZGVUeXBlKXJldHVybiExO289cD0ib25seSI9PT1hJiYhbyYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihvPVtnP3EuZmlyc3RDaGlsZDpxLmxhc3RDaGlsZF0sZyYmcyl7az1xW3VdfHwocVt1XT17fSksaj1rW2FdfHxbXSxuPWpbMF09PT13JiZqWzFdLG09alswXT09PXcmJmpbMl0sbD1uJiZxLmNoaWxkTm9kZXNbbl07d2hpbGUobD0rK24mJmwmJmxbcF18fChtPW49MCl8fG8ucG9wKCkpaWYoMT09PWwubm9kZVR5cGUmJisrbSYmbD09PWIpe2tbYV09W3csbixtXTticmVha319ZWxzZSBpZihzJiYoaj0oYlt1XXx8KGJbdV09e30pKVthXSkmJmpbMF09PT13KW09alsxXTtlbHNlIHdoaWxlKGw9KytuJiZsJiZsW3BdfHwobT1uPTApfHxvLnBvcCgpKWlmKChoP2wubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXI6MT09PWwubm9kZVR5cGUpJiYrK20mJihzJiYoKGxbdV18fChsW3VdPXt9KSlbYV09W3csbV0pLGw9PT1iKSlicmVhaztyZXR1cm4gbS09ZSxtPT09ZHx8bSVkPT09MCYmbS9kPj0wfX19LFBTRVVETzpmdW5jdGlvbihhLGIpe3ZhciBjLGU9ZC5wc2V1ZG9zW2FdfHxkLnNldEZpbHRlcnNbYS50b0xvd2VyQ2FzZSgpXXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIithKTtyZXR1cm4gZVt1XT9lKGIpOmUubGVuZ3RoPjE/KGM9W2EsYSwiIixiXSxkLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoYS50b0xvd2VyQ2FzZSgpKT9pYShmdW5jdGlvbihhLGMpe3ZhciBkLGY9ZShhLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWQ9SihhLGZbZ10pLGFbZF09IShjW2RdPWZbZ10pfSk6ZnVuY3Rpb24oYSl7cmV0dXJuIGUoYSwwLGMpfSk6ZX19LHBzZXVkb3M6e25vdDppYShmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGQ9aChhLnJlcGxhY2UoUiwiJDEiKSk7cmV0dXJuIGRbdV0/aWEoZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGYsZz1kKGEsbnVsbCxlLFtdKSxoPWEubGVuZ3RoO3doaWxlKGgtLSkoZj1nW2hdKSYmKGFbaF09IShiW2hdPWYpKX0pOmZ1bmN0aW9uKGEsZSxmKXtyZXR1cm4gYlswXT1hLGQoYixudWxsLGYsYyksYlswXT1udWxsLCFjLnBvcCgpfX0pLGhhczppYShmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIGdhKGEsYikubGVuZ3RoPjB9fSksY29udGFpbnM6aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9YS5yZXBsYWNlKGNhLGRhKSxmdW5jdGlvbihiKXtyZXR1cm4oYi50ZXh0Q29udGVudHx8Yi5pbm5lclRleHR8fGUoYikpLmluZGV4T2YoYSk+LTF9fSksbGFuZzppYShmdW5jdGlvbihhKXtyZXR1cm4gVy50ZXN0KGF8fCIiKXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIGxhbmc6ICIrYSksYT1hLnJlcGxhY2UoY2EsZGEpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oYil7dmFyIGM7ZG8gaWYoYz1wP2IubGFuZzpiLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKXx8Yi5nZXRBdHRyaWJ1dGUoImxhbmciKSlyZXR1cm4gYz1jLnRvTG93ZXJDYXNlKCksYz09PWF8fDA9PT1jLmluZGV4T2YoYSsiLSIpO3doaWxlKChiPWIucGFyZW50Tm9kZSkmJjE9PT1iLm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24oYil7dmFyIGM9YS5sb2NhdGlvbiYmYS5sb2NhdGlvbi5oYXNoO3JldHVybiBjJiZjLnNsaWNlKDEpPT09Yi5pZH0scm9vdDpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW99LGZvY3VzOmZ1bmN0aW9uKGEpe3JldHVybiBhPT09bi5hY3RpdmVFbGVtZW50JiYoIW4uaGFzRm9jdXN8fG4uaGFzRm9jdXMoKSkmJiEhKGEudHlwZXx8YS5ocmVmfHx+YS50YWJJbmRleCl9LGVuYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMX0sZGlzYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMH0sY2hlY2tlZDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiEhYS5jaGVja2VkfHwib3B0aW9uIj09PWImJiEhYS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsYS5zZWxlY3RlZD09PSEwfSxlbXB0eTpmdW5jdGlvbihhKXtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpaWYoYS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIWQucHNldWRvcy5lbXB0eShhKX0saGVhZGVyOmZ1bmN0aW9uKGEpe3JldHVybiBaLnRlc3QoYS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGEpe3JldHVybiBZLnRlc3QoYS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiJidXR0b24iPT09YS50eXBlfHwiYnV0dG9uIj09PWJ9LHRleHQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuImlucHV0Ij09PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09YS50eXBlJiYobnVsbD09KGI9YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PWIudG9Mb3dlckNhc2UoKSl9LGZpcnN0Om9hKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDpvYShmdW5jdGlvbihhLGIpe3JldHVybltiLTFdfSksZXE6b2EoZnVuY3Rpb24oYSxiLGMpe3JldHVyblswPmM/YytiOmNdfSksZXZlbjpvYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLG9kZDpvYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLGx0Om9hKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOy0tZD49MDspYS5wdXNoKGQpO3JldHVybiBhfSksZ3Q6b2EoZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0wPmM/YytiOmM7KytkPGI7KWEucHVzaChkKTtyZXR1cm4gYX0pfX0sZC5wc2V1ZG9zLm50aD1kLnBzZXVkb3MuZXE7Zm9yKGIgaW57cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pZC5wc2V1ZG9zW2JdPW1hKGIpO2ZvcihiIGlue3N1Ym1pdDohMCxyZXNldDohMH0pZC5wc2V1ZG9zW2JdPW5hKGIpO2Z1bmN0aW9uIHFhKCl7fXFhLnByb3RvdHlwZT1kLmZpbHRlcnM9ZC5wc2V1ZG9zLGQuc2V0RmlsdGVycz1uZXcgcWEsZz1nYS50b2tlbml6ZT1mdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaSxqLGs9elthKyIgIl07aWYoaylyZXR1cm4gYj8wOmsuc2xpY2UoMCk7aD1hLGk9W10saj1kLnByZUZpbHRlcjt3aGlsZShoKXsoIWN8fChlPVMuZXhlYyhoKSkpJiYoZSYmKGg9aC5zbGljZShlWzBdLmxlbmd0aCl8fGgpLGkucHVzaChmPVtdKSksYz0hMSwoZT1ULmV4ZWMoaCkpJiYoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZVswXS5yZXBsYWNlKFIsIiAiKX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2ZvcihnIGluIGQuZmlsdGVyKSEoZT1YW2ddLmV4ZWMoaCkpfHxqW2ddJiYhKGU9altnXShlKSl8fChjPWUuc2hpZnQoKSxmLnB1c2goe3ZhbHVlOmMsdHlwZTpnLG1hdGNoZXM6ZX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2lmKCFjKWJyZWFrfXJldHVybiBiP2gubGVuZ3RoOmg/Z2EuZXJyb3IoYSk6eihhLGkpLnNsaWNlKDApfTtmdW5jdGlvbiByYShhKXtmb3IodmFyIGI9MCxjPWEubGVuZ3RoLGQ9IiI7Yz5iO2IrKylkKz1hW2JdLnZhbHVlO3JldHVybiBkfWZ1bmN0aW9uIHNhKGEsYixjKXt2YXIgZD1iLmRpcixlPWMmJiJwYXJlbnROb2RlIj09PWQsZj14Kys7cmV0dXJuIGIuZmlyc3Q/ZnVuY3Rpb24oYixjLGYpe3doaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSlyZXR1cm4gYShiLGMsZil9OmZ1bmN0aW9uKGIsYyxnKXt2YXIgaCxpLGo9W3csZl07aWYoZyl7d2hpbGUoYj1iW2RdKWlmKCgxPT09Yi5ub2RlVHlwZXx8ZSkmJmEoYixjLGcpKXJldHVybiEwfWVsc2Ugd2hpbGUoYj1iW2RdKWlmKDE9PT1iLm5vZGVUeXBlfHxlKXtpZihpPWJbdV18fChiW3VdPXt9KSwoaD1pW2RdKSYmaFswXT09PXcmJmhbMV09PT1mKXJldHVybiBqWzJdPWhbMl07aWYoaVtkXT1qLGpbMl09YShiLGMsZykpcmV0dXJuITB9fX1mdW5jdGlvbiB0YShhKXtyZXR1cm4gYS5sZW5ndGg+MT9mdW5jdGlvbihiLGMsZCl7dmFyIGU9YS5sZW5ndGg7d2hpbGUoZS0tKWlmKCFhW2VdKGIsYyxkKSlyZXR1cm4hMTtyZXR1cm4hMH06YVswXX1mdW5jdGlvbiB1YShhLGIsYyl7Zm9yKHZhciBkPTAsZT1iLmxlbmd0aDtlPmQ7ZCsrKWdhKGEsYltkXSxjKTtyZXR1cm4gY31mdW5jdGlvbiB2YShhLGIsYyxkLGUpe2Zvcih2YXIgZixnPVtdLGg9MCxpPWEubGVuZ3RoLGo9bnVsbCE9YjtpPmg7aCsrKShmPWFbaF0pJiYoIWN8fGMoZixkLGUpKSYmKGcucHVzaChmKSxqJiZiLnB1c2goaCkpO3JldHVybiBnfWZ1bmN0aW9uIHdhKGEsYixjLGQsZSxmKXtyZXR1cm4gZCYmIWRbdV0mJihkPXdhKGQpKSxlJiYhZVt1XSYmKGU9d2EoZSxmKSksaWEoZnVuY3Rpb24oZixnLGgsaSl7dmFyIGosayxsLG09W10sbj1bXSxvPWcubGVuZ3RoLHA9Znx8dWEoYnx8IioiLGgubm9kZVR5cGU/W2hdOmgsW10pLHE9IWF8fCFmJiZiP3A6dmEocCxtLGEsaCxpKSxyPWM/ZXx8KGY/YTpvfHxkKT9bXTpnOnE7aWYoYyYmYyhxLHIsaCxpKSxkKXtqPXZhKHIsbiksZChqLFtdLGgsaSksaz1qLmxlbmd0aDt3aGlsZShrLS0pKGw9altrXSkmJihyW25ba11dPSEocVtuW2tdXT1sKSl9aWYoZil7aWYoZXx8YSl7aWYoZSl7aj1bXSxrPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmai5wdXNoKHFba109bCk7ZShudWxsLHI9W10saixpKX1rPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmKGo9ZT9KKGYsbCk6bVtrXSk+LTEmJihmW2pdPSEoZ1tqXT1sKSl9fWVsc2Ugcj12YShyPT09Zz9yLnNwbGljZShvLHIubGVuZ3RoKTpyKSxlP2UobnVsbCxnLHIsaSk6SC5hcHBseShnLHIpfSl9ZnVuY3Rpb24geGEoYSl7Zm9yKHZhciBiLGMsZSxmPWEubGVuZ3RoLGc9ZC5yZWxhdGl2ZVthWzBdLnR5cGVdLGg9Z3x8ZC5yZWxhdGl2ZVsiICJdLGk9Zz8xOjAsaz1zYShmdW5jdGlvbihhKXtyZXR1cm4gYT09PWJ9LGgsITApLGw9c2EoZnVuY3Rpb24oYSl7cmV0dXJuIEooYixhKT4tMX0saCwhMCksbT1bZnVuY3Rpb24oYSxjLGQpe3ZhciBlPSFnJiYoZHx8YyE9PWopfHwoKGI9Yykubm9kZVR5cGU/ayhhLGMsZCk6bChhLGMsZCkpO3JldHVybiBiPW51bGwsZX1dO2Y+aTtpKyspaWYoYz1kLnJlbGF0aXZlW2FbaV0udHlwZV0pbT1bc2EodGEobSksYyldO2Vsc2V7aWYoYz1kLmZpbHRlclthW2ldLnR5cGVdLmFwcGx5KG51bGwsYVtpXS5tYXRjaGVzKSxjW3VdKXtmb3IoZT0rK2k7Zj5lO2UrKylpZihkLnJlbGF0aXZlW2FbZV0udHlwZV0pYnJlYWs7cmV0dXJuIHdhKGk+MSYmdGEobSksaT4xJiZyYShhLnNsaWNlKDAsaS0xKS5jb25jYXQoe3ZhbHVlOiIgIj09PWFbaS0yXS50eXBlPyIqIjoiIn0pKS5yZXBsYWNlKFIsIiQxIiksYyxlPmkmJnhhKGEuc2xpY2UoaSxlKSksZj5lJiZ4YShhPWEuc2xpY2UoZSkpLGY+ZSYmcmEoYSkpfW0ucHVzaChjKX1yZXR1cm4gdGEobSl9ZnVuY3Rpb24geWEoYSxiKXt2YXIgYz1iLmxlbmd0aD4wLGU9YS5sZW5ndGg+MCxmPWZ1bmN0aW9uKGYsZyxoLGksayl7dmFyIGwsbSxvLHA9MCxxPSIwIixyPWYmJltdLHM9W10sdD1qLHU9Znx8ZSYmZC5maW5kLlRBRygiKiIsayksdj13Kz1udWxsPT10PzE6TWF0aC5yYW5kb20oKXx8LjEseD11Lmxlbmd0aDtmb3IoayYmKGo9ZyE9PW4mJmcpO3EhPT14JiZudWxsIT0obD11W3FdKTtxKyspe2lmKGUmJmwpe209MDt3aGlsZShvPWFbbSsrXSlpZihvKGwsZyxoKSl7aS5wdXNoKGwpO2JyZWFrfWsmJih3PXYpfWMmJigobD0hbyYmbCkmJnAtLSxmJiZyLnB1c2gobCkpfWlmKHArPXEsYyYmcSE9PXApe209MDt3aGlsZShvPWJbbSsrXSlvKHIscyxnLGgpO2lmKGYpe2lmKHA+MCl3aGlsZShxLS0pcltxXXx8c1txXXx8KHNbcV09Ri5jYWxsKGkpKTtzPXZhKHMpfUguYXBwbHkoaSxzKSxrJiYhZiYmcy5sZW5ndGg+MCYmcCtiLmxlbmd0aD4xJiZnYS51bmlxdWVTb3J0KGkpfXJldHVybiBrJiYodz12LGo9dCkscn07cmV0dXJuIGM/aWEoZik6Zn1yZXR1cm4gaD1nYS5jb21waWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPVtdLGY9QVthKyIgIl07aWYoIWYpe2J8fChiPWcoYSkpLGM9Yi5sZW5ndGg7d2hpbGUoYy0tKWY9eGEoYltjXSksZlt1XT9kLnB1c2goZik6ZS5wdXNoKGYpO2Y9QShhLHlhKGUsZCkpLGYuc2VsZWN0b3I9YX1yZXR1cm4gZn0saT1nYS5zZWxlY3Q9ZnVuY3Rpb24oYSxiLGUsZil7dmFyIGksaixrLGwsbSxuPSJmdW5jdGlvbiI9PXR5cGVvZiBhJiZhLG89IWYmJmcoYT1uLnNlbGVjdG9yfHxhKTtpZihlPWV8fFtdLDE9PT1vLmxlbmd0aCl7aWYoaj1vWzBdPW9bMF0uc2xpY2UoMCksai5sZW5ndGg+MiYmIklEIj09PShrPWpbMF0pLnR5cGUmJmMuZ2V0QnlJZCYmOT09PWIubm9kZVR5cGUmJnAmJmQucmVsYXRpdmVbalsxXS50eXBlXSl7aWYoYj0oZC5maW5kLklEKGsubWF0Y2hlc1swXS5yZXBsYWNlKGNhLGRhKSxiKXx8W10pWzBdLCFiKXJldHVybiBlO24mJihiPWIucGFyZW50Tm9kZSksYT1hLnNsaWNlKGouc2hpZnQoKS52YWx1ZS5sZW5ndGgpfWk9WC5uZWVkc0NvbnRleHQudGVzdChhKT8wOmoubGVuZ3RoO3doaWxlKGktLSl7aWYoaz1qW2ldLGQucmVsYXRpdmVbbD1rLnR5cGVdKWJyZWFrO2lmKChtPWQuZmluZFtsXSkmJihmPW0oay5tYXRjaGVzWzBdLnJlcGxhY2UoY2EsZGEpLGFhLnRlc3QoalswXS50eXBlKSYmcGEoYi5wYXJlbnROb2RlKXx8YikpKXtpZihqLnNwbGljZShpLDEpLGE9Zi5sZW5ndGgmJnJhKGopLCFhKXJldHVybiBILmFwcGx5KGUsZiksZTticmVha319fXJldHVybihufHxoKGEsbykpKGYsYiwhcCxlLGFhLnRlc3QoYSkmJnBhKGIucGFyZW50Tm9kZSl8fGIpLGV9LGMuc29ydFN0YWJsZT11LnNwbGl0KCIiKS5zb3J0KEIpLmpvaW4oIiIpPT09dSxjLmRldGVjdER1cGxpY2F0ZXM9ISFsLG0oKSxjLnNvcnREZXRhY2hlZD1qYShmdW5jdGlvbihhKXtyZXR1cm4gMSZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4uY3JlYXRlRWxlbWVudCgiZGl2IikpfSksamEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IiwiIyI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIil9KXx8a2EoInR5cGV8aHJlZnxoZWlnaHR8d2lkdGgiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYz92b2lkIDA6YS5nZXRBdHRyaWJ1dGUoYiwidHlwZSI9PT1iLnRvTG93ZXJDYXNlKCk/MToyKX0pLGMuYXR0cmlidXRlcyYmamEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8aW5wdXQvPiIsYS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSwiIj09PWEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoInZhbHVlIil9KXx8a2EoInZhbHVlIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGN8fCJpbnB1dCIhPT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk/dm9pZCAwOmEuZGVmYXVsdFZhbHVlfSksamEoZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWEuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpfSl8fGthKEssZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBjP3ZvaWQgMDphW2JdPT09ITA/Yi50b0xvd2VyQ2FzZSgpOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmQuc3BlY2lmaWVkP2QudmFsdWU6bnVsbH0pLGdhfShhKTttLmZpbmQ9cyxtLmV4cHI9cy5zZWxlY3RvcnMsbS5leHByWyI6Il09bS5leHByLnBzZXVkb3MsbS51bmlxdWU9cy51bmlxdWVTb3J0LG0udGV4dD1zLmdldFRleHQsbS5pc1hNTERvYz1zLmlzWE1MLG0uY29udGFpbnM9cy5jb250YWluczt2YXIgdD1tLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LHU9L148KFx3KylccypcLz8+KD86PFwvXDE+fCkkLyx2PS9eLlteOiNcW1wuLF0qJC87ZnVuY3Rpb24gdyhhLGIsYyl7aWYobS5pc0Z1bmN0aW9uKGIpKXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVybiEhYi5jYWxsKGEsZCxhKSE9PWN9KTtpZihiLm5vZGVUeXBlKXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYT09PWIhPT1jfSk7aWYoInN0cmluZyI9PXR5cGVvZiBiKXtpZih2LnRlc3QoYikpcmV0dXJuIG0uZmlsdGVyKGIsYSxjKTtiPW0uZmlsdGVyKGIsYSl9cmV0dXJuIG0uZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBtLmluQXJyYXkoYSxiKT49MCE9PWN9KX1tLmZpbHRlcj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YlswXTtyZXR1cm4gYyYmKGE9Ijpub3QoIithKyIpIiksMT09PWIubGVuZ3RoJiYxPT09ZC5ub2RlVHlwZT9tLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGQsYSk/W2RdOltdOm0uZmluZC5tYXRjaGVzKGEsbS5ncmVwKGIsZnVuY3Rpb24oYSl7cmV0dXJuIDE9PT1hLm5vZGVUeXBlfSkpfSxtLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihhKXt2YXIgYixjPVtdLGQ9dGhpcyxlPWQubGVuZ3RoO2lmKCJzdHJpbmciIT10eXBlb2YgYSlyZXR1cm4gdGhpcy5wdXNoU3RhY2sobShhKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoYj0wO2U+YjtiKyspaWYobS5jb250YWlucyhkW2JdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihiPTA7ZT5iO2IrKyltLmZpbmQoYSxkW2JdLGMpO3JldHVybiBjPXRoaXMucHVzaFN0YWNrKGU+MT9tLnVuaXF1ZShjKTpjKSxjLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3I/dGhpcy5zZWxlY3RvcisiICIrYTphLGN9LGZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sodyh0aGlzLGF8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sodyh0aGlzLGF8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEhdyh0aGlzLCJzdHJpbmciPT10eXBlb2YgYSYmdC50ZXN0KGEpP20oYSk6YXx8W10sITEpLmxlbmd0aH19KTt2YXIgeCx5PWEuZG9jdW1lbnQsej0vXig/OlxzKig8W1x3XFddKz4pW14+XSp8IyhbXHctXSopKSQvLEE9bS5mbi5pbml0PWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtpZighYSlyZXR1cm4gdGhpcztpZigic3RyaW5nIj09dHlwZW9mIGEpe2lmKGM9IjwiPT09YS5jaGFyQXQoMCkmJiI+Ij09PWEuY2hhckF0KGEubGVuZ3RoLTEpJiZhLmxlbmd0aD49Mz9bbnVsbCxhLG51bGxdOnouZXhlYyhhKSwhY3x8IWNbMV0mJmIpcmV0dXJuIWJ8fGIuanF1ZXJ5PyhifHx4KS5maW5kKGEpOnRoaXMuY29uc3RydWN0b3IoYikuZmluZChhKTtpZihjWzFdKXtpZihiPWIgaW5zdGFuY2VvZiBtP2JbMF06YixtLm1lcmdlKHRoaXMsbS5wYXJzZUhUTUwoY1sxXSxiJiZiLm5vZGVUeXBlP2Iub3duZXJEb2N1bWVudHx8Yjp5LCEwKSksdS50ZXN0KGNbMV0pJiZtLmlzUGxhaW5PYmplY3QoYikpZm9yKGMgaW4gYiltLmlzRnVuY3Rpb24odGhpc1tjXSk/dGhpc1tjXShiW2NdKTp0aGlzLmF0dHIoYyxiW2NdKTtyZXR1cm4gdGhpc31pZihkPXkuZ2V0RWxlbWVudEJ5SWQoY1syXSksZCYmZC5wYXJlbnROb2RlKXtpZihkLmlkIT09Y1syXSlyZXR1cm4geC5maW5kKGEpO3RoaXMubGVuZ3RoPTEsdGhpc1swXT1kfXJldHVybiB0aGlzLmNvbnRleHQ9eSx0aGlzLnNlbGVjdG9yPWEsdGhpc31yZXR1cm4gYS5ub2RlVHlwZT8odGhpcy5jb250ZXh0PXRoaXNbMF09YSx0aGlzLmxlbmd0aD0xLHRoaXMpOm0uaXNGdW5jdGlvbihhKT8idW5kZWZpbmVkIiE9dHlwZW9mIHgucmVhZHk/eC5yZWFkeShhKTphKG0pOih2b2lkIDAhPT1hLnNlbGVjdG9yJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1hLmNvbnRleHQpLG0ubWFrZUFycmF5KGEsdGhpcykpfTtBLnByb3RvdHlwZT1tLmZuLHg9bSh5KTt2YXIgQj0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyxDPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O20uZXh0ZW5kKHtkaXI6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9YVtiXTt3aGlsZShlJiY5IT09ZS5ub2RlVHlwZSYmKHZvaWQgMD09PWN8fDEhPT1lLm5vZGVUeXBlfHwhbShlKS5pcyhjKSkpMT09PWUubm9kZVR5cGUmJmQucHVzaChlKSxlPWVbYl07cmV0dXJuIGR9LHNpYmxpbmc6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9W107YTthPWEubmV4dFNpYmxpbmcpMT09PWEubm9kZVR5cGUmJmEhPT1iJiZjLnB1c2goYSk7cmV0dXJuIGN9fSksbS5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihhKXt2YXIgYixjPW0oYSx0aGlzKSxkPWMubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2ZvcihiPTA7ZD5iO2IrKylpZihtLmNvbnRhaW5zKHRoaXMsY1tiXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYyxkPTAsZT10aGlzLmxlbmd0aCxmPVtdLGc9dC50ZXN0KGEpfHwic3RyaW5nIiE9dHlwZW9mIGE/bShhLGJ8fHRoaXMuY29udGV4dCk6MDtlPmQ7ZCsrKWZvcihjPXRoaXNbZF07YyYmYyE9PWI7Yz1jLnBhcmVudE5vZGUpaWYoYy5ub2RlVHlwZTwxMSYmKGc/Zy5pbmRleChjKT4tMToxPT09Yy5ub2RlVHlwZSYmbS5maW5kLm1hdGNoZXNTZWxlY3RvcihjLGEpKSl7Zi5wdXNoKGMpO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhmLmxlbmd0aD4xP20udW5pcXVlKGYpOmYpfSxpbmRleDpmdW5jdGlvbihhKXtyZXR1cm4gYT8ic3RyaW5nIj09dHlwZW9mIGE/bS5pbkFycmF5KHRoaXNbMF0sbShhKSk6bS5pbkFycmF5KGEuanF1ZXJ5P2FbMF06YSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLnB1c2hTdGFjayhtLnVuaXF1ZShtLm1lcmdlKHRoaXMuZ2V0KCksbShhLGIpKSkpfSxhZGRCYWNrOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFkZChudWxsPT1hP3RoaXMucHJldk9iamVjdDp0aGlzLnByZXZPYmplY3QuZmlsdGVyKGEpKX19KTtmdW5jdGlvbiBEKGEsYil7ZG8gYT1hW2JdO3doaWxlKGEmJjEhPT1hLm5vZGVUeXBlKTtyZXR1cm4gYX1tLmVhY2goe3BhcmVudDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJjExIT09Yi5ub2RlVHlwZT9iOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uZGlyKGEsInBhcmVudE5vZGUiKX0scGFyZW50c1VudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5kaXIoYSwicGFyZW50Tm9kZSIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEQoYSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gRChhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gbS5kaXIoYSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gbS5kaXIoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0uZGlyKGEsIm5leHRTaWJsaW5nIixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5kaXIoYSwicHJldmlvdXNTaWJsaW5nIixjKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uc2libGluZygoYS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIG0uc2libGluZyhhLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLCJpZnJhbWUiKT9hLmNvbnRlbnREb2N1bWVudHx8YS5jb250ZW50V2luZG93LmRvY3VtZW50Om0ubWVyZ2UoW10sYS5jaGlsZE5vZGVzKX19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihjLGQpe3ZhciBlPW0ubWFwKHRoaXMsYixjKTtyZXR1cm4iVW50aWwiIT09YS5zbGljZSgtNSkmJihkPWMpLGQmJiJzdHJpbmciPT10eXBlb2YgZCYmKGU9bS5maWx0ZXIoZCxlKSksdGhpcy5sZW5ndGg+MSYmKENbYV18fChlPW0udW5pcXVlKGUpKSxCLnRlc3QoYSkmJihlPWUucmV2ZXJzZSgpKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEU9L1xTKy9nLEY9e307ZnVuY3Rpb24gRyhhKXt2YXIgYj1GW2FdPXt9O3JldHVybiBtLmVhY2goYS5tYXRjaChFKXx8W10sZnVuY3Rpb24oYSxjKXtiW2NdPSEwfSksYn1tLkNhbGxiYWNrcz1mdW5jdGlvbihhKXthPSJzdHJpbmciPT10eXBlb2YgYT9GW2FdfHxHKGEpOm0uZXh0ZW5kKHt9LGEpO3ZhciBiLGMsZCxlLGYsZyxoPVtdLGk9IWEub25jZSYmW10saj1mdW5jdGlvbihsKXtmb3IoYz1hLm1lbW9yeSYmbCxkPSEwLGY9Z3x8MCxnPTAsZT1oLmxlbmd0aCxiPSEwO2gmJmU+ZjtmKyspaWYoaFtmXS5hcHBseShsWzBdLGxbMV0pPT09ITEmJmEuc3RvcE9uRmFsc2Upe2M9ITE7YnJlYWt9Yj0hMSxoJiYoaT9pLmxlbmd0aCYmaihpLnNoaWZ0KCkpOmM/aD1bXTprLmRpc2FibGUoKSl9LGs9e2FkZDpmdW5jdGlvbigpe2lmKGgpe3ZhciBkPWgubGVuZ3RoOyFmdW5jdGlvbiBmKGIpe20uZWFjaChiLGZ1bmN0aW9uKGIsYyl7dmFyIGQ9bS50eXBlKGMpOyJmdW5jdGlvbiI9PT1kP2EudW5pcXVlJiZrLmhhcyhjKXx8aC5wdXNoKGMpOmMmJmMubGVuZ3RoJiYic3RyaW5nIiE9PWQmJmYoYyl9KX0oYXJndW1lbnRzKSxiP2U9aC5sZW5ndGg6YyYmKGc9ZCxqKGMpKX1yZXR1cm4gdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIGgmJm0uZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oYSxjKXt2YXIgZDt3aGlsZSgoZD1tLmluQXJyYXkoYyxoLGQpKT4tMSloLnNwbGljZShkLDEpLGImJihlPj1kJiZlLS0sZj49ZCYmZi0tKX0pLHRoaXN9LGhhczpmdW5jdGlvbihhKXtyZXR1cm4gYT9tLmluQXJyYXkoYSxoKT4tMTohKCFofHwhaC5sZW5ndGgpfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBoPVtdLGU9MCx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGg9aT1jPXZvaWQgMCx0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFofSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGk9dm9pZCAwLGN8fGsuZGlzYWJsZSgpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiFpfSxmaXJlV2l0aDpmdW5jdGlvbihhLGMpe3JldHVybiFofHxkJiYhaXx8KGM9Y3x8W10sYz1bYSxjLnNsaWNlP2Muc2xpY2UoKTpjXSxiP2kucHVzaChjKTpqKGMpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIGsuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFkfX07cmV0dXJuIGt9LG0uZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihhKXt2YXIgYj1bWyJyZXNvbHZlIiwiZG9uZSIsbS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksInJlc29sdmVkIl0sWyJyZWplY3QiLCJmYWlsIixtLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwicmVqZWN0ZWQiXSxbIm5vdGlmeSIsInByb2dyZXNzIixtLkNhbGxiYWNrcygibWVtb3J5IildXSxjPSJwZW5kaW5nIixkPXtzdGF0ZTpmdW5jdGlvbigpe3JldHVybiBjfSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gZS5kb25lKGFyZ3VtZW50cykuZmFpbChhcmd1bWVudHMpLHRoaXN9LHRoZW46ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7cmV0dXJuIG0uRGVmZXJyZWQoZnVuY3Rpb24oYyl7bS5lYWNoKGIsZnVuY3Rpb24oYixmKXt2YXIgZz1tLmlzRnVuY3Rpb24oYVtiXSkmJmFbYl07ZVtmWzFdXShmdW5jdGlvbigpe3ZhciBhPWcmJmcuYXBwbHkodGhpcyxhcmd1bWVudHMpO2EmJm0uaXNGdW5jdGlvbihhLnByb21pc2UpP2EucHJvbWlzZSgpLmRvbmUoYy5yZXNvbHZlKS5mYWlsKGMucmVqZWN0KS5wcm9ncmVzcyhjLm5vdGlmeSk6Y1tmWzBdKyJXaXRoIl0odGhpcz09PWQ/Yy5wcm9taXNlKCk6dGhpcyxnP1thXTphcmd1bWVudHMpfSl9KSxhPW51bGx9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/bS5leHRlbmQoYSxkKTpkfX0sZT17fTtyZXR1cm4gZC5waXBlPWQudGhlbixtLmVhY2goYixmdW5jdGlvbihhLGYpe3ZhciBnPWZbMl0saD1mWzNdO2RbZlsxXV09Zy5hZGQsaCYmZy5hZGQoZnVuY3Rpb24oKXtjPWh9LGJbMV5hXVsyXS5kaXNhYmxlLGJbMl1bMl0ubG9jayksZVtmWzBdXT1mdW5jdGlvbigpe3JldHVybiBlW2ZbMF0rIldpdGgiXSh0aGlzPT09ZT9kOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxlW2ZbMF0rIldpdGgiXT1nLmZpcmVXaXRofSksZC5wcm9taXNlKGUpLGEmJmEuY2FsbChlLGUpLGV9LHdoZW46ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPWQuY2FsbChhcmd1bWVudHMpLGU9Yy5sZW5ndGgsZj0xIT09ZXx8YSYmbS5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/ZTowLGc9MT09PWY/YTptLkRlZmVycmVkKCksaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGUpe2JbYV09dGhpcyxjW2FdPWFyZ3VtZW50cy5sZW5ndGg+MT9kLmNhbGwoYXJndW1lbnRzKTplLGM9PT1pP2cubm90aWZ5V2l0aChiLGMpOi0tZnx8Zy5yZXNvbHZlV2l0aChiLGMpfX0saSxqLGs7aWYoZT4xKWZvcihpPW5ldyBBcnJheShlKSxqPW5ldyBBcnJheShlKSxrPW5ldyBBcnJheShlKTtlPmI7YisrKWNbYl0mJm0uaXNGdW5jdGlvbihjW2JdLnByb21pc2UpP2NbYl0ucHJvbWlzZSgpLmRvbmUoaChiLGssYykpLmZhaWwoZy5yZWplY3QpLnByb2dyZXNzKGgoYixqLGkpKTotLWY7cmV0dXJuIGZ8fGcucmVzb2x2ZVdpdGgoayxjKSxnLnByb21pc2UoKX19KTt2YXIgSDttLmZuLnJlYWR5PWZ1bmN0aW9uKGEpe3JldHVybiBtLnJlYWR5LnByb21pc2UoKS5kb25lKGEpLHRoaXN9LG0uZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLGhvbGRSZWFkeTpmdW5jdGlvbihhKXthP20ucmVhZHlXYWl0Kys6bS5yZWFkeSghMCl9LHJlYWR5OmZ1bmN0aW9uKGEpe2lmKGE9PT0hMD8hLS1tLnJlYWR5V2FpdDohbS5pc1JlYWR5KXtpZigheS5ib2R5KXJldHVybiBzZXRUaW1lb3V0KG0ucmVhZHkpO20uaXNSZWFkeT0hMCxhIT09ITAmJi0tbS5yZWFkeVdhaXQ+MHx8KEgucmVzb2x2ZVdpdGgoeSxbbV0pLG0uZm4udHJpZ2dlckhhbmRsZXImJihtKHkpLnRyaWdnZXJIYW5kbGVyKCJyZWFkeSIpLG0oeSkub2ZmKCJyZWFkeSIpKSl9fX0pO2Z1bmN0aW9uIEkoKXt5LmFkZEV2ZW50TGlzdGVuZXI/KHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsSiwhMSksYS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixKLCExKSk6KHkuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsSiksYS5kZXRhY2hFdmVudCgib25sb2FkIixKKSl9ZnVuY3Rpb24gSigpeyh5LmFkZEV2ZW50TGlzdGVuZXJ8fCJsb2FkIj09PWV2ZW50LnR5cGV8fCJjb21wbGV0ZSI9PT15LnJlYWR5U3RhdGUpJiYoSSgpLG0ucmVhZHkoKSl9bS5yZWFkeS5wcm9taXNlPWZ1bmN0aW9uKGIpe2lmKCFIKWlmKEg9bS5EZWZlcnJlZCgpLCJjb21wbGV0ZSI9PT15LnJlYWR5U3RhdGUpc2V0VGltZW91dChtLnJlYWR5KTtlbHNlIGlmKHkuYWRkRXZlbnRMaXN0ZW5lcil5LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEosITEpLGEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsSiwhMSk7ZWxzZXt5LmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLEopLGEuYXR0YWNoRXZlbnQoIm9ubG9hZCIsSik7dmFyIGM9ITE7dHJ5e2M9bnVsbD09YS5mcmFtZUVsZW1lbnQmJnkuZG9jdW1lbnRFbGVtZW50fWNhdGNoKGQpe31jJiZjLmRvU2Nyb2xsJiYhZnVuY3Rpb24gZSgpe2lmKCFtLmlzUmVhZHkpe3RyeXtjLmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goYSl7cmV0dXJuIHNldFRpbWVvdXQoZSw1MCl9SSgpLG0ucmVhZHkoKX19KCl9cmV0dXJuIEgucHJvbWlzZShiKX07dmFyIEs9InVuZGVmaW5lZCIsTDtmb3IoTCBpbiBtKGspKWJyZWFrO2sub3duTGFzdD0iMCIhPT1MLGsuaW5saW5lQmxvY2tOZWVkc0xheW91dD0hMSxtKGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ7Yz15LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0sYyYmYy5zdHlsZSYmKGI9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZC5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweCIsYy5hcHBlbmRDaGlsZChkKS5hcHBlbmRDaGlsZChiKSx0eXBlb2YgYi5zdHlsZS56b29tIT09SyYmKGIuc3R5bGUuY3NzVGV4dD0iZGlzcGxheTppbmxpbmU7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzoxcHg7d2lkdGg6MXB4O3pvb206MSIsay5pbmxpbmVCbG9ja05lZWRzTGF5b3V0PWE9Mz09PWIub2Zmc2V0V2lkdGgsYSYmKGMuc3R5bGUuem9vbT0xKSksYy5yZW1vdmVDaGlsZChkKSl9KSxmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYobnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBhLnRlc3R9Y2F0Y2goYil7ay5kZWxldGVFeHBhbmRvPSExfX1hPW51bGx9KCksbS5hY2NlcHREYXRhPWZ1bmN0aW9uKGEpe3ZhciBiPW0ubm9EYXRhWyhhLm5vZGVOYW1lKyIgIikudG9Mb3dlckNhc2UoKV0sYz0rYS5ub2RlVHlwZXx8MTtyZXR1cm4gMSE9PWMmJjkhPT1jPyExOiFifHxiIT09ITAmJmEuZ2V0QXR0cmlidXRlKCJjbGFzc2lkIik9PT1ifTt2YXIgTT0vXig/Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLE49LyhbQS1aXSkvZztmdW5jdGlvbiBPKGEsYixjKXtpZih2b2lkIDA9PT1jJiYxPT09YS5ub2RlVHlwZSl7dmFyIGQ9ImRhdGEtIitiLnJlcGxhY2UoTiwiLSQxIikudG9Mb3dlckNhc2UoKTtpZihjPWEuZ2V0QXR0cmlidXRlKGQpLCJzdHJpbmciPT10eXBlb2YgYyl7dHJ5e2M9InRydWUiPT09Yz8hMDoiZmFsc2UiPT09Yz8hMToibnVsbCI9PT1jP251bGw6K2MrIiI9PT1jPytjOk0udGVzdChjKT9tLnBhcnNlSlNPTihjKTpjfWNhdGNoKGUpe31tLmRhdGEoYSxiLGMpfWVsc2UgYz12b2lkIDB9cmV0dXJuIGN9ZnVuY3Rpb24gUChhKXt2YXIgYjtmb3IoYiBpbiBhKWlmKCgiZGF0YSIhPT1ifHwhbS5pc0VtcHR5T2JqZWN0KGFbYl0pKSYmInRvSlNPTiIhPT1iKXJldHVybiExOwoKcmV0dXJuITB9ZnVuY3Rpb24gUShhLGIsZCxlKXtpZihtLmFjY2VwdERhdGEoYSkpe3ZhciBmLGcsaD1tLmV4cGFuZG8saT1hLm5vZGVUeXBlLGo9aT9tLmNhY2hlOmEsaz1pP2FbaF06YVtoXSYmaDtpZihrJiZqW2tdJiYoZXx8altrXS5kYXRhKXx8dm9pZCAwIT09ZHx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBrfHwoaz1pP2FbaF09Yy5wb3AoKXx8bS5ndWlkKys6aCksaltrXXx8KGpba109aT97fTp7dG9KU09OOm0ubm9vcH0pLCgib2JqZWN0Ij09dHlwZW9mIGJ8fCJmdW5jdGlvbiI9PXR5cGVvZiBiKSYmKGU/altrXT1tLmV4dGVuZChqW2tdLGIpOmpba10uZGF0YT1tLmV4dGVuZChqW2tdLmRhdGEsYikpLGc9altrXSxlfHwoZy5kYXRhfHwoZy5kYXRhPXt9KSxnPWcuZGF0YSksdm9pZCAwIT09ZCYmKGdbbS5jYW1lbENhc2UoYildPWQpLCJzdHJpbmciPT10eXBlb2YgYj8oZj1nW2JdLG51bGw9PWYmJihmPWdbbS5jYW1lbENhc2UoYildKSk6Zj1nLGZ9fWZ1bmN0aW9uIFIoYSxiLGMpe2lmKG0uYWNjZXB0RGF0YShhKSl7dmFyIGQsZSxmPWEubm9kZVR5cGUsZz1mP20uY2FjaGU6YSxoPWY/YVttLmV4cGFuZG9dOm0uZXhwYW5kbztpZihnW2hdKXtpZihiJiYoZD1jP2dbaF06Z1toXS5kYXRhKSl7bS5pc0FycmF5KGIpP2I9Yi5jb25jYXQobS5tYXAoYixtLmNhbWVsQ2FzZSkpOmIgaW4gZD9iPVtiXTooYj1tLmNhbWVsQ2FzZShiKSxiPWIgaW4gZD9bYl06Yi5zcGxpdCgiICIpKSxlPWIubGVuZ3RoO3doaWxlKGUtLSlkZWxldGUgZFtiW2VdXTtpZihjPyFQKGQpOiFtLmlzRW1wdHlPYmplY3QoZCkpcmV0dXJufShjfHwoZGVsZXRlIGdbaF0uZGF0YSxQKGdbaF0pKSkmJihmP20uY2xlYW5EYXRhKFthXSwhMCk6ay5kZWxldGVFeHBhbmRvfHxnIT1nLndpbmRvdz9kZWxldGUgZ1toXTpnW2hdPW51bGwpfX19bS5leHRlbmQoe2NhY2hlOnt9LG5vRGF0YTp7ImFwcGxldCAiOiEwLCJlbWJlZCAiOiEwLCJvYmplY3QgIjoiY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIn0saGFzRGF0YTpmdW5jdGlvbihhKXtyZXR1cm4gYT1hLm5vZGVUeXBlP20uY2FjaGVbYVttLmV4cGFuZG9dXTphW20uZXhwYW5kb10sISFhJiYhUChhKX0sZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIFEoYSxiLGMpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFIoYSxiKX0sX2RhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBRKGEsYixjLCEwKX0sX3JlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gUihhLGIsITApfX0pLG0uZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9dGhpc1swXSxnPWYmJmYuYXR0cmlidXRlcztpZih2b2lkIDA9PT1hKXtpZih0aGlzLmxlbmd0aCYmKGU9bS5kYXRhKGYpLDE9PT1mLm5vZGVUeXBlJiYhbS5fZGF0YShmLCJwYXJzZWRBdHRycyIpKSl7Yz1nLmxlbmd0aDt3aGlsZShjLS0pZ1tjXSYmKGQ9Z1tjXS5uYW1lLDA9PT1kLmluZGV4T2YoImRhdGEtIikmJihkPW0uY2FtZWxDYXNlKGQuc2xpY2UoNSkpLE8oZixkLGVbZF0pKSk7bS5fZGF0YShmLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBlfXJldHVybiJvYmplY3QiPT10eXBlb2YgYT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhKX0pOmFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhLGIpfSk6Zj9PKGYsYSxtLmRhdGEoZixhKSk6dm9pZCAwfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXttLnJlbW92ZURhdGEodGhpcyxhKX0pfX0pLG0uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGE/KGI9KGJ8fCJmeCIpKyJxdWV1ZSIsZD1tLl9kYXRhKGEsYiksYyYmKCFkfHxtLmlzQXJyYXkoYyk/ZD1tLl9kYXRhKGEsYixtLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKSxkfHxbXSk6dm9pZCAwfSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBjPW0ucXVldWUoYSxiKSxkPWMubGVuZ3RoLGU9Yy5zaGlmdCgpLGY9bS5fcXVldWVIb29rcyhhLGIpLGc9ZnVuY3Rpb24oKXttLmRlcXVldWUoYSxiKX07ImlucHJvZ3Jlc3MiPT09ZSYmKGU9Yy5zaGlmdCgpLGQtLSksZSYmKCJmeCI9PT1iJiZjLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgZi5zdG9wLGUuY2FsbChhLGcsZikpLCFkJiZmJiZmLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKyJxdWV1ZUhvb2tzIjtyZXR1cm4gbS5fZGF0YShhLGMpfHxtLl9kYXRhKGEsYyx7ZW1wdHk6bS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7bS5fcmVtb3ZlRGF0YShhLGIrInF1ZXVlIiksbS5fcmVtb3ZlRGF0YShhLGMpfSl9KX19KSxtLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiKXt2YXIgYz0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPSJmeCIsYy0tKSxhcmd1bWVudHMubGVuZ3RoPGM/bS5xdWV1ZSh0aGlzWzBdLGEpOnZvaWQgMD09PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1tLnF1ZXVlKHRoaXMsYSxiKTttLl9xdWV1ZUhvb2tzKHRoaXMsYSksImZ4Ij09PWEmJiJpbnByb2dyZXNzIiE9PWNbMF0mJm0uZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZGVxdWV1ZSh0aGlzLGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9LHByb21pc2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTEsZT1tLkRlZmVycmVkKCksZj10aGlzLGc9dGhpcy5sZW5ndGgsaD1mdW5jdGlvbigpey0tZHx8ZS5yZXNvbHZlV2l0aChmLFtmXSl9OyJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPXZvaWQgMCksYT1hfHwiZngiO3doaWxlKGctLSljPW0uX2RhdGEoZltnXSxhKyJxdWV1ZUhvb2tzIiksYyYmYy5lbXB0eSYmKGQrKyxjLmVtcHR5LmFkZChoKSk7cmV0dXJuIGgoKSxlLnByb21pc2UoYil9fSk7dmFyIFM9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsVD1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLFU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1ifHxhLCJub25lIj09PW0uY3NzKGEsImRpc3BsYXkiKXx8IW0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfSxWPW0uYWNjZXNzPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPTAsaT1hLmxlbmd0aCxqPW51bGw9PWM7aWYoIm9iamVjdCI9PT1tLnR5cGUoYykpe2U9ITA7Zm9yKGggaW4gYyltLmFjY2VzcyhhLGIsaCxjW2hdLCEwLGYsZyl9ZWxzZSBpZih2b2lkIDAhPT1kJiYoZT0hMCxtLmlzRnVuY3Rpb24oZCl8fChnPSEwKSxqJiYoZz8oYi5jYWxsKGEsZCksYj1udWxsKTooaj1iLGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqLmNhbGwobShhKSxjKX0pKSxiKSlmb3IoO2k+aDtoKyspYihhW2hdLGMsZz9kOmQuY2FsbChhW2hdLGgsYihhW2hdLGMpKSk7cmV0dXJuIGU/YTpqP2IuY2FsbChhKTppP2IoYVswXSxjKTpmfSxXPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pOyFmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYz15LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixrLmxlYWRpbmdXaGl0ZXNwYWNlPTM9PT1iLmZpcnN0Q2hpbGQubm9kZVR5cGUsay50Ym9keT0hYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKS5sZW5ndGgsay5odG1sU2VyaWFsaXplPSEhYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxrLmh0bWw1Q2xvbmU9Ijw6bmF2PjwvOm5hdj4iIT09eS5jcmVhdGVFbGVtZW50KCJuYXYiKS5jbG9uZU5vZGUoITApLm91dGVySFRNTCxhLnR5cGU9ImNoZWNrYm94IixhLmNoZWNrZWQ9ITAsYy5hcHBlbmRDaGlsZChhKSxrLmFwcGVuZENoZWNrZWQ9YS5jaGVja2VkLGIuaW5uZXJIVE1MPSI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+IixrLm5vQ2xvbmVDaGVja2VkPSEhYi5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUsYy5hcHBlbmRDaGlsZChiKSxiLmlubmVySFRNTD0iPGlucHV0IHR5cGU9J3JhZGlvJyBjaGVja2VkPSdjaGVja2VkJyBuYW1lPSd0Jy8+IixrLmNoZWNrQ2xvbmU9Yi5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsay5ub0Nsb25lRXZlbnQ9ITAsYi5hdHRhY2hFdmVudCYmKGIuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1bmN0aW9uKCl7ay5ub0Nsb25lRXZlbnQ9ITF9KSxiLmNsb25lTm9kZSghMCkuY2xpY2soKSksbnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBiLnRlc3R9Y2F0Y2goZCl7ay5kZWxldGVFeHBhbmRvPSExfX19KCksZnVuY3Rpb24oKXt2YXIgYixjLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKTtmb3IoYiBpbntzdWJtaXQ6ITAsY2hhbmdlOiEwLGZvY3VzaW46ITB9KWM9Im9uIitiLChrW2IrIkJ1YmJsZXMiXT1jIGluIGEpfHwoZC5zZXRBdHRyaWJ1dGUoYywidCIpLGtbYisiQnViYmxlcyJdPWQuYXR0cmlidXRlc1tjXS5leHBhbmRvPT09ITEpO2Q9bnVsbH0oKTt2YXIgWD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYSkkL2ksWT0vXmtleS8sWj0vXig/Om1vdXNlfHBvaW50ZXJ8Y29udGV4dG1lbnUpfGNsaWNrLywkPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyxfPS9eKFteLl0qKSg/OlwuKC4rKXwpJC87ZnVuY3Rpb24gYWEoKXtyZXR1cm4hMH1mdW5jdGlvbiBiYSgpe3JldHVybiExfWZ1bmN0aW9uIGNhKCl7dHJ5e3JldHVybiB5LmFjdGl2ZUVsZW1lbnR9Y2F0Y2goYSl7fX1tLmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGksaixrLGwsbixvLHAscSxyPW0uX2RhdGEoYSk7aWYocil7Yy5oYW5kbGVyJiYoaT1jLGM9aS5oYW5kbGVyLGU9aS5zZWxlY3RvciksYy5ndWlkfHwoYy5ndWlkPW0uZ3VpZCsrKSwoZz1yLmV2ZW50cyl8fChnPXIuZXZlbnRzPXt9KSwoaz1yLmhhbmRsZSl8fChrPXIuaGFuZGxlPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgbT09PUt8fGEmJm0uZXZlbnQudHJpZ2dlcmVkPT09YS50eXBlP3ZvaWQgMDptLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGsuZWxlbSxhcmd1bWVudHMpfSxrLmVsZW09YSksYj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGg9Yi5sZW5ndGg7d2hpbGUoaC0tKWY9Xy5leGVjKGJbaF0pfHxbXSxvPXE9ZlsxXSxwPShmWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyYmKGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxvPShlP2ouZGVsZWdhdGVUeXBlOmouYmluZFR5cGUpfHxvLGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxsPW0uZXh0ZW5kKHt0eXBlOm8sb3JpZ1R5cGU6cSxkYXRhOmQsaGFuZGxlcjpjLGd1aWQ6Yy5ndWlkLHNlbGVjdG9yOmUsbmVlZHNDb250ZXh0OmUmJm0uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChlKSxuYW1lc3BhY2U6cC5qb2luKCIuIil9LGkpLChuPWdbb10pfHwobj1nW29dPVtdLG4uZGVsZWdhdGVDb3VudD0wLGouc2V0dXAmJmouc2V0dXAuY2FsbChhLGQscCxrKSE9PSExfHwoYS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihvLGssITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9uIitvLGspKSksai5hZGQmJihqLmFkZC5jYWxsKGEsbCksbC5oYW5kbGVyLmd1aWR8fChsLmhhbmRsZXIuZ3VpZD1jLmd1aWQpKSxlP24uc3BsaWNlKG4uZGVsZWdhdGVDb3VudCsrLDAsbCk6bi5wdXNoKGwpLG0uZXZlbnQuZ2xvYmFsW29dPSEwKTthPW51bGx9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxuLG8scCxxLHI9bS5oYXNEYXRhKGEpJiZtLl9kYXRhKGEpO2lmKHImJihrPXIuZXZlbnRzKSl7Yj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWlmKGg9Xy5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyl7bD1tLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGQ/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG8sbj1rW29dfHxbXSxoPWhbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK3Auam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksaT1mPW4ubGVuZ3RoO3doaWxlKGYtLSlnPW5bZl0sIWUmJnEhPT1nLm9yaWdUeXBlfHxjJiZjLmd1aWQhPT1nLmd1aWR8fGgmJiFoLnRlc3QoZy5uYW1lc3BhY2UpfHxkJiZkIT09Zy5zZWxlY3RvciYmKCIqKiIhPT1kfHwhZy5zZWxlY3Rvcil8fChuLnNwbGljZShmLDEpLGcuc2VsZWN0b3ImJm4uZGVsZWdhdGVDb3VudC0tLGwucmVtb3ZlJiZsLnJlbW92ZS5jYWxsKGEsZykpO2kmJiFuLmxlbmd0aCYmKGwudGVhcmRvd24mJmwudGVhcmRvd24uY2FsbChhLHAsci5oYW5kbGUpIT09ITF8fG0ucmVtb3ZlRXZlbnQoYSxvLHIuaGFuZGxlKSxkZWxldGUga1tvXSl9ZWxzZSBmb3IobyBpbiBrKW0uZXZlbnQucmVtb3ZlKGEsbytiW2pdLGMsZCwhMCk7bS5pc0VtcHR5T2JqZWN0KGspJiYoZGVsZXRlIHIuaGFuZGxlLG0uX3JlbW92ZURhdGEoYSwiZXZlbnRzIikpfX0sdHJpZ2dlcjpmdW5jdGlvbihiLGMsZCxlKXt2YXIgZixnLGgsaSxrLGwsbixvPVtkfHx5XSxwPWouY2FsbChiLCJ0eXBlIik/Yi50eXBlOmIscT1qLmNhbGwoYiwibmFtZXNwYWNlIik/Yi5uYW1lc3BhY2Uuc3BsaXQoIi4iKTpbXTtpZihoPWw9ZD1kfHx5LDMhPT1kLm5vZGVUeXBlJiY4IT09ZC5ub2RlVHlwZSYmISQudGVzdChwK20uZXZlbnQudHJpZ2dlcmVkKSYmKHAuaW5kZXhPZigiLiIpPj0wJiYocT1wLnNwbGl0KCIuIikscD1xLnNoaWZ0KCkscS5zb3J0KCkpLGc9cC5pbmRleE9mKCI6Iik8MCYmIm9uIitwLGI9YlttLmV4cGFuZG9dP2I6bmV3IG0uRXZlbnQocCwib2JqZWN0Ij09dHlwZW9mIGImJmIpLGIuaXNUcmlnZ2VyPWU/MjozLGIubmFtZXNwYWNlPXEuam9pbigiLiIpLGIubmFtZXNwYWNlX3JlPWIubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK3Euam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxiLnJlc3VsdD12b2lkIDAsYi50YXJnZXR8fChiLnRhcmdldD1kKSxjPW51bGw9PWM/W2JdOm0ubWFrZUFycmF5KGMsW2JdKSxrPW0uZXZlbnQuc3BlY2lhbFtwXXx8e30sZXx8IWsudHJpZ2dlcnx8ay50cmlnZ2VyLmFwcGx5KGQsYykhPT0hMSkpe2lmKCFlJiYhay5ub0J1YmJsZSYmIW0uaXNXaW5kb3coZCkpe2ZvcihpPWsuZGVsZWdhdGVUeXBlfHxwLCQudGVzdChpK3ApfHwoaD1oLnBhcmVudE5vZGUpO2g7aD1oLnBhcmVudE5vZGUpby5wdXNoKGgpLGw9aDtsPT09KGQub3duZXJEb2N1bWVudHx8eSkmJm8ucHVzaChsLmRlZmF1bHRWaWV3fHxsLnBhcmVudFdpbmRvd3x8YSl9bj0wO3doaWxlKChoPW9bbisrXSkmJiFiLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYi50eXBlPW4+MT9pOmsuYmluZFR5cGV8fHAsZj0obS5fZGF0YShoLCJldmVudHMiKXx8e30pW2IudHlwZV0mJm0uX2RhdGEoaCwiaGFuZGxlIiksZiYmZi5hcHBseShoLGMpLGY9ZyYmaFtnXSxmJiZmLmFwcGx5JiZtLmFjY2VwdERhdGEoaCkmJihiLnJlc3VsdD1mLmFwcGx5KGgsYyksYi5yZXN1bHQ9PT0hMSYmYi5wcmV2ZW50RGVmYXVsdCgpKTtpZihiLnR5cGU9cCwhZSYmIWIuaXNEZWZhdWx0UHJldmVudGVkKCkmJighay5fZGVmYXVsdHx8ay5fZGVmYXVsdC5hcHBseShvLnBvcCgpLGMpPT09ITEpJiZtLmFjY2VwdERhdGEoZCkmJmcmJmRbcF0mJiFtLmlzV2luZG93KGQpKXtsPWRbZ10sbCYmKGRbZ109bnVsbCksbS5ldmVudC50cmlnZ2VyZWQ9cDt0cnl7ZFtwXSgpfWNhdGNoKHIpe31tLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsbCYmKGRbZ109bCl9cmV0dXJuIGIucmVzdWx0fX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YT1tLmV2ZW50LmZpeChhKTt2YXIgYixjLGUsZixnLGg9W10saT1kLmNhbGwoYXJndW1lbnRzKSxqPShtLl9kYXRhKHRoaXMsImV2ZW50cyIpfHx7fSlbYS50eXBlXXx8W10saz1tLmV2ZW50LnNwZWNpYWxbYS50eXBlXXx8e307aWYoaVswXT1hLGEuZGVsZWdhdGVUYXJnZXQ9dGhpcywhay5wcmVEaXNwYXRjaHx8ay5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsYSkhPT0hMSl7aD1tLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyxhLGopLGI9MDt3aGlsZSgoZj1oW2IrK10pJiYhYS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXthLmN1cnJlbnRUYXJnZXQ9Zi5lbGVtLGc9MDt3aGlsZSgoZT1mLmhhbmRsZXJzW2crK10pJiYhYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKSghYS5uYW1lc3BhY2VfcmV8fGEubmFtZXNwYWNlX3JlLnRlc3QoZS5uYW1lc3BhY2UpKSYmKGEuaGFuZGxlT2JqPWUsYS5kYXRhPWUuZGF0YSxjPSgobS5ldmVudC5zcGVjaWFsW2Uub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxlLmhhbmRsZXIpLmFwcGx5KGYuZWxlbSxpKSx2b2lkIDAhPT1jJiYoYS5yZXN1bHQ9Yyk9PT0hMSYmKGEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGsucG9zdERpc3BhdGNoJiZrLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsYSksYS5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc9W10saD1iLmRlbGVnYXRlQ291bnQsaT1hLnRhcmdldDtpZihoJiZpLm5vZGVUeXBlJiYoIWEuYnV0dG9ufHwiY2xpY2siIT09YS50eXBlKSlmb3IoO2khPXRoaXM7aT1pLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWkubm9kZVR5cGUmJihpLmRpc2FibGVkIT09ITB8fCJjbGljayIhPT1hLnR5cGUpKXtmb3IoZT1bXSxmPTA7aD5mO2YrKylkPWJbZl0sYz1kLnNlbGVjdG9yKyIgIix2b2lkIDA9PT1lW2NdJiYoZVtjXT1kLm5lZWRzQ29udGV4dD9tKGMsdGhpcykuaW5kZXgoaSk+PTA6bS5maW5kKGMsdGhpcyxudWxsLFtpXSkubGVuZ3RoKSxlW2NdJiZlLnB1c2goZCk7ZS5sZW5ndGgmJmcucHVzaCh7ZWxlbTppLGhhbmRsZXJzOmV9KX1yZXR1cm4gaDxiLmxlbmd0aCYmZy5wdXNoKHtlbGVtOnRoaXMsaGFuZGxlcnM6Yi5zbGljZShoKX0pLGd9LGZpeDpmdW5jdGlvbihhKXtpZihhW20uZXhwYW5kb10pcmV0dXJuIGE7dmFyIGIsYyxkLGU9YS50eXBlLGY9YSxnPXRoaXMuZml4SG9va3NbZV07Z3x8KHRoaXMuZml4SG9va3NbZV09Zz1aLnRlc3QoZSk/dGhpcy5tb3VzZUhvb2tzOlkudGVzdChlKT90aGlzLmtleUhvb2tzOnt9KSxkPWcucHJvcHM/dGhpcy5wcm9wcy5jb25jYXQoZy5wcm9wcyk6dGhpcy5wcm9wcyxhPW5ldyBtLkV2ZW50KGYpLGI9ZC5sZW5ndGg7d2hpbGUoYi0tKWM9ZFtiXSxhW2NdPWZbY107cmV0dXJuIGEudGFyZ2V0fHwoYS50YXJnZXQ9Zi5zcmNFbGVtZW50fHx5KSwzPT09YS50YXJnZXQubm9kZVR5cGUmJihhLnRhcmdldD1hLnRhcmdldC5wYXJlbnROb2RlKSxhLm1ldGFLZXk9ISFhLm1ldGFLZXksZy5maWx0ZXI/Zy5maWx0ZXIoYSxmKTphfSxwcm9wczoiYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLGZpeEhvb2tzOnt9LGtleUhvb2tzOntwcm9wczoiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbD09YS53aGljaCYmKGEud2hpY2g9bnVsbCE9Yi5jaGFyQ29kZT9iLmNoYXJDb2RlOmIua2V5Q29kZSksYX19LG1vdXNlSG9va3M6e3Byb3BzOiJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNsaWVudFkgZnJvbUVsZW1lbnQgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNjcmVlblggc2NyZWVuWSB0b0VsZW1lbnQiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9Yi5idXR0b24sZz1iLmZyb21FbGVtZW50O3JldHVybiBudWxsPT1hLnBhZ2VYJiZudWxsIT1iLmNsaWVudFgmJihkPWEudGFyZ2V0Lm93bmVyRG9jdW1lbnR8fHksZT1kLmRvY3VtZW50RWxlbWVudCxjPWQuYm9keSxhLnBhZ2VYPWIuY2xpZW50WCsoZSYmZS5zY3JvbGxMZWZ0fHxjJiZjLnNjcm9sbExlZnR8fDApLShlJiZlLmNsaWVudExlZnR8fGMmJmMuY2xpZW50TGVmdHx8MCksYS5wYWdlWT1iLmNsaWVudFkrKGUmJmUuc2Nyb2xsVG9wfHxjJiZjLnNjcm9sbFRvcHx8MCktKGUmJmUuY2xpZW50VG9wfHxjJiZjLmNsaWVudFRvcHx8MCkpLCFhLnJlbGF0ZWRUYXJnZXQmJmcmJihhLnJlbGF0ZWRUYXJnZXQ9Zz09PWEudGFyZ2V0P2IudG9FbGVtZW50OmcpLGEud2hpY2h8fHZvaWQgMD09PWZ8fChhLndoaWNoPTEmZj8xOjImZj8zOjQmZj8yOjApLGF9fSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sZm9jdXM6e3RyaWdnZXI6ZnVuY3Rpb24oKXtpZih0aGlzIT09Y2EoKSYmdGhpcy5mb2N1cyl0cnl7cmV0dXJuIHRoaXMuZm9jdXMoKSwhMX1jYXRjaChhKXt9fSxkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM9PT1jYSgpJiZ0aGlzLmJsdXI/KHRoaXMuYmx1cigpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZToiZm9jdXNvdXQifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImlucHV0IikmJiJjaGVja2JveCI9PT10aGlzLnR5cGUmJnRoaXMuY2xpY2s/KHRoaXMuY2xpY2soKSwhMSk6dm9pZCAwfSxfZGVmYXVsdDpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLnRhcmdldCwiYSIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7dm9pZCAwIT09YS5yZXN1bHQmJmEub3JpZ2luYWxFdmVudCYmKGEub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1hLnJlc3VsdCl9fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5leHRlbmQobmV3IG0uRXZlbnQsYyx7dHlwZTphLGlzU2ltdWxhdGVkOiEwLG9yaWdpbmFsRXZlbnQ6e319KTtkP20uZXZlbnQudHJpZ2dlcihlLG51bGwsYik6bS5ldmVudC5kaXNwYXRjaC5jYWxsKGIsZSksZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmYy5wcmV2ZW50RGVmYXVsdCgpfX0sbS5yZW1vdmVFdmVudD15LnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYywhMSl9OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD0ib24iK2I7YS5kZXRhY2hFdmVudCYmKHR5cGVvZiBhW2RdPT09SyYmKGFbZF09bnVsbCksYS5kZXRhY2hFdmVudChkLGMpKX0sbS5FdmVudD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgbS5FdmVudD8oYSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09YS5kZWZhdWx0UHJldmVudGVkJiZhLnJldHVyblZhbHVlPT09ITE/YWE6YmEpOnRoaXMudHlwZT1hLGImJm0uZXh0ZW5kKHRoaXMsYiksdGhpcy50aW1lU3RhbXA9YSYmYS50aW1lU3RhbXB8fG0ubm93KCksdm9pZCh0aGlzW20uZXhwYW5kb109ITApKTpuZXcgbS5FdmVudChhLGIpfSxtLkV2ZW50LnByb3RvdHlwZT17aXNEZWZhdWx0UHJldmVudGVkOmJhLGlzUHJvcGFnYXRpb25TdG9wcGVkOmJhLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOmJhLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPWFhLGEmJihhLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9YWEsYSYmKGEuc3RvcFByb3BhZ2F0aW9uJiZhLnN0b3BQcm9wYWdhdGlvbigpLGEuY2FuY2VsQnViYmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9YWEsYSYmYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJmEuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LG0uZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCIscG9pbnRlcmVudGVyOiJwb2ludGVyb3ZlciIscG9pbnRlcmxlYXZlOiJwb2ludGVyb3V0In0sZnVuY3Rpb24oYSxiKXttLmV2ZW50LnNwZWNpYWxbYV09e2RlbGVnYXRlVHlwZTpiLGJpbmRUeXBlOmIsaGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBjLGQ9dGhpcyxlPWEucmVsYXRlZFRhcmdldCxmPWEuaGFuZGxlT2JqO3JldHVybighZXx8ZSE9PWQmJiFtLmNvbnRhaW5zKGQsZSkpJiYoYS50eXBlPWYub3JpZ1R5cGUsYz1mLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGEudHlwZT1iKSxjfX19KSxrLnN1Ym1pdEJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuc3VibWl0PXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImZvcm0iKT8hMTp2b2lkIG0uZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9zdWJtaXQga2V5cHJlc3MuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1tLm5vZGVOYW1lKGIsImlucHV0Iil8fG0ubm9kZU5hbWUoYiwiYnV0dG9uIik/Yi5mb3JtOnZvaWQgMDtjJiYhbS5fZGF0YShjLCJzdWJtaXRCdWJibGVzIikmJihtLmV2ZW50LmFkZChjLCJzdWJtaXQuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZT0hMH0pLG0uX2RhdGEoYywic3VibWl0QnViYmxlcyIsITApKX0pfSxwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZSYmKGRlbGV0ZSBhLl9zdWJtaXRfYnViYmxlLHRoaXMucGFyZW50Tm9kZSYmIWEuaXNUcmlnZ2VyJiZtLmV2ZW50LnNpbXVsYXRlKCJzdWJtaXQiLHRoaXMucGFyZW50Tm9kZSxhLCEwKSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIG0ubm9kZU5hbWUodGhpcywiZm9ybSIpPyExOnZvaWQgbS5ldmVudC5yZW1vdmUodGhpcywiLl9zdWJtaXQiKX19KSxrLmNoYW5nZUJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBYLnRlc3QodGhpcy5ub2RlTmFtZSk/KCgiY2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlKSYmKG0uZXZlbnQuYWRkKHRoaXMsInByb3BlcnR5Y2hhbmdlLl9jaGFuZ2UiLGZ1bmN0aW9uKGEpeyJjaGVja2VkIj09PWEub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSksbS5ldmVudC5hZGQodGhpcywiY2xpY2suX2NoYW5nZSIsZnVuY3Rpb24oYSl7dGhpcy5fanVzdF9jaGFuZ2VkJiYhYS5pc1RyaWdnZXImJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITEpLG0uZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcyxhLCEwKX0pKSwhMSk6dm9pZCBtLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtYLnRlc3QoYi5ub2RlTmFtZSkmJiFtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiKSYmKG0uZXZlbnQuYWRkKGIsImNoYW5nZS5fY2hhbmdlIixmdW5jdGlvbihhKXshdGhpcy5wYXJlbnROb2RlfHxhLmlzU2ltdWxhdGVkfHxhLmlzVHJpZ2dlcnx8bS5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsYSwhMCl9KSxtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiLCEwKSl9KX0saGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3JldHVybiB0aGlzIT09Ynx8YS5pc1NpbXVsYXRlZHx8YS5pc1RyaWdnZXJ8fCJyYWRpbyIhPT1iLnR5cGUmJiJjaGVja2JveCIhPT1iLnR5cGU/YS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfSx0ZWFyZG93bjpmdW5jdGlvbigpe3JldHVybiBtLmV2ZW50LnJlbW92ZSh0aGlzLCIuX2NoYW5nZSIpLCFYLnRlc3QodGhpcy5ub2RlTmFtZSl9fSksay5mb2N1c2luQnViYmxlc3x8bS5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGEpe20uZXZlbnQuc2ltdWxhdGUoYixhLnRhcmdldCxtLmV2ZW50LmZpeChhKSwhMCl9O20uZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1tLl9kYXRhKGQsYik7ZXx8ZC5hZGRFdmVudExpc3RlbmVyKGEsYywhMCksbS5fZGF0YShkLGIsKGV8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPW0uX2RhdGEoZCxiKS0xO2U/bS5fZGF0YShkLGIsZSk6KGQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApLG0uX3JlbW92ZURhdGEoZCxiKSl9fX0pLG0uZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGc7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXsic3RyaW5nIiE9dHlwZW9mIGImJihjPWN8fGIsYj12b2lkIDApO2ZvcihmIGluIGEpdGhpcy5vbihmLGIsYyxhW2ZdLGUpO3JldHVybiB0aGlzfWlmKG51bGw9PWMmJm51bGw9PWQ/KGQ9YixjPWI9dm9pZCAwKTpudWxsPT1kJiYoInN0cmluZyI9PXR5cGVvZiBiPyhkPWMsYz12b2lkIDApOihkPWMsYz1iLGI9dm9pZCAwKSksZD09PSExKWQ9YmE7ZWxzZSBpZighZClyZXR1cm4gdGhpcztyZXR1cm4gMT09PWUmJihnPWQsZD1mdW5jdGlvbihhKXtyZXR1cm4gbSgpLm9mZihhKSxnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZC5ndWlkPWcuZ3VpZHx8KGcuZ3VpZD1tLmd1aWQrKykpLHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQuYWRkKHRoaXMsYSxkLGMsYil9KX0sb25lOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZTtpZihhJiZhLnByZXZlbnREZWZhdWx0JiZhLmhhbmRsZU9iailyZXR1cm4gZD1hLmhhbmRsZU9iaixtKGEuZGVsZWdhdGVUYXJnZXQpLm9mZihkLm5hbWVzcGFjZT9kLm9yaWdUeXBlKyIuIitkLm5hbWVzcGFjZTpkLm9yaWdUeXBlLGQuc2VsZWN0b3IsZC5oYW5kbGVyKSx0aGlzO2lmKCJvYmplY3QiPT10eXBlb2YgYSl7Zm9yKGUgaW4gYSl0aGlzLm9mZihlLGIsYVtlXSk7cmV0dXJuIHRoaXN9cmV0dXJuKGI9PT0hMXx8ImZ1bmN0aW9uIj09dHlwZW9mIGIpJiYoYz1iLGI9dm9pZCAwKSxjPT09ITEmJihjPWJhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXttLmV2ZW50LnJlbW92ZSh0aGlzLGEsYyxiKX0pfSx0cmlnZ2VyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQudHJpZ2dlcihhLGIsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzWzBdO3JldHVybiBjP20uZXZlbnQudHJpZ2dlcihhLGIsYywhMCk6dm9pZCAwfX0pO2Z1bmN0aW9uIGRhKGEpe3ZhciBiPWVhLnNwbGl0KCJ8IiksYz1hLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihjLmNyZWF0ZUVsZW1lbnQpd2hpbGUoYi5sZW5ndGgpYy5jcmVhdGVFbGVtZW50KGIucG9wKCkpO3JldHVybiBjfXZhciBlYT0iYWJicnxhcnRpY2xlfGFzaWRlfGF1ZGlvfGJkaXxjYW52YXN8ZGF0YXxkYXRhbGlzdHxkZXRhaWxzfGZpZ2NhcHRpb258ZmlndXJlfGZvb3RlcnxoZWFkZXJ8aGdyb3VwfG1hcmt8bWV0ZXJ8bmF2fG91dHB1dHxwcm9ncmVzc3xzZWN0aW9ufHN1bW1hcnl8dGltZXx2aWRlbyIsZmE9LyBqUXVlcnlcZCs9Iig/Om51bGx8XGQrKSIvZyxnYT1uZXcgUmVnRXhwKCI8KD86IitlYSsiKVtcXHMvPl0iLCJpIiksaGE9L15ccysvLGlhPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFtcdzpdKylbXj5dKilcLz4vZ2ksamE9LzwoW1x3Ol0rKS8sa2E9Lzx0Ym9keS9pLGxhPS88fCYjP1x3KzsvLG1hPS88KD86c2NyaXB0fHN0eWxlfGxpbmspL2ksbmE9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksb2E9L14kfFwvKD86amF2YXxlY21hKXNjcmlwdC9pLHBhPS9edHJ1ZVwvKC4qKS8scWE9L15ccyo8ISg/OlxbQ0RBVEFcW3wtLSl8KD86XF1cXXwtLSk+XHMqJC9nLHJhPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLGFyZWE6WzEsIjxtYXA+IiwiPC9tYXA+Il0scGFyYW06WzEsIjxvYmplY3Q+IiwiPC9vYmplY3Q+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48dGJvZHk+PC90Ym9keT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSxfZGVmYXVsdDprLmh0bWxTZXJpYWxpemU/WzAsIiIsIiJdOlsxLCJYPGRpdj4iLCI8L2Rpdj4iXX0sc2E9ZGEoeSksdGE9c2EuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSk7cmEub3B0Z3JvdXA9cmEub3B0aW9uLHJhLnRib2R5PXJhLnRmb290PXJhLmNvbGdyb3VwPXJhLmNhcHRpb249cmEudGhlYWQscmEudGg9cmEudGQ7ZnVuY3Rpb24gdWEoYSxiKXt2YXIgYyxkLGU9MCxmPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lIT09Sz9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGJ8fCIqIik6dHlwZW9mIGEucXVlcnlTZWxlY3RvckFsbCE9PUs/YS5xdWVyeVNlbGVjdG9yQWxsKGJ8fCIqIik6dm9pZCAwO2lmKCFmKWZvcihmPVtdLGM9YS5jaGlsZE5vZGVzfHxhO251bGwhPShkPWNbZV0pO2UrKykhYnx8bS5ub2RlTmFtZShkLGIpP2YucHVzaChkKTptLm1lcmdlKGYsdWEoZCxiKSk7cmV0dXJuIHZvaWQgMD09PWJ8fGImJm0ubm9kZU5hbWUoYSxiKT9tLm1lcmdlKFthXSxmKTpmfWZ1bmN0aW9uIHZhKGEpe1cudGVzdChhLnR5cGUpJiYoYS5kZWZhdWx0Q2hlY2tlZD1hLmNoZWNrZWQpfWZ1bmN0aW9uIHdhKGEsYil7cmV0dXJuIG0ubm9kZU5hbWUoYSwidGFibGUiKSYmbS5ub2RlTmFtZSgxMSE9PWIubm9kZVR5cGU/YjpiLmZpcnN0Q2hpbGQsInRyIik/YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8YS5hcHBlbmRDaGlsZChhLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6YX1mdW5jdGlvbiB4YShhKXtyZXR1cm4gYS50eXBlPShudWxsIT09bS5maW5kLmF0dHIoYSwidHlwZSIpKSsiLyIrYS50eXBlLGF9ZnVuY3Rpb24geWEoYSl7dmFyIGI9cGEuZXhlYyhhLnR5cGUpO3JldHVybiBiP2EudHlwZT1iWzFdOmEucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksYX1mdW5jdGlvbiB6YShhLGIpe2Zvcih2YXIgYyxkPTA7bnVsbCE9KGM9YVtkXSk7ZCsrKW0uX2RhdGEoYywiZ2xvYmFsRXZhbCIsIWJ8fG0uX2RhdGEoYltkXSwiZ2xvYmFsRXZhbCIpKX1mdW5jdGlvbiBBYShhLGIpe2lmKDE9PT1iLm5vZGVUeXBlJiZtLmhhc0RhdGEoYSkpe3ZhciBjLGQsZSxmPW0uX2RhdGEoYSksZz1tLl9kYXRhKGIsZiksaD1mLmV2ZW50cztpZihoKXtkZWxldGUgZy5oYW5kbGUsZy5ldmVudHM9e307Zm9yKGMgaW4gaClmb3IoZD0wLGU9aFtjXS5sZW5ndGg7ZT5kO2QrKyltLmV2ZW50LmFkZChiLGMsaFtjXVtkXSl9Zy5kYXRhJiYoZy5kYXRhPW0uZXh0ZW5kKHt9LGcuZGF0YSkpfX1mdW5jdGlvbiBCYShhLGIpe3ZhciBjLGQsZTtpZigxPT09Yi5ub2RlVHlwZSl7aWYoYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIWsubm9DbG9uZUV2ZW50JiZiW20uZXhwYW5kb10pe2U9bS5fZGF0YShiKTtmb3IoZCBpbiBlLmV2ZW50cyltLnJlbW92ZUV2ZW50KGIsZCxlLmhhbmRsZSk7Yi5yZW1vdmVBdHRyaWJ1dGUobS5leHBhbmRvKX0ic2NyaXB0Ij09PWMmJmIudGV4dCE9PWEudGV4dD8oeGEoYikudGV4dD1hLnRleHQseWEoYikpOiJvYmplY3QiPT09Yz8oYi5wYXJlbnROb2RlJiYoYi5vdXRlckhUTUw9YS5vdXRlckhUTUwpLGsuaHRtbDVDbG9uZSYmYS5pbm5lckhUTUwmJiFtLnRyaW0oYi5pbm5lckhUTUwpJiYoYi5pbm5lckhUTUw9YS5pbm5lckhUTUwpKToiaW5wdXQiPT09YyYmVy50ZXN0KGEudHlwZSk/KGIuZGVmYXVsdENoZWNrZWQ9Yi5jaGVja2VkPWEuY2hlY2tlZCxiLnZhbHVlIT09YS52YWx1ZSYmKGIudmFsdWU9YS52YWx1ZSkpOiJvcHRpb24iPT09Yz9iLmRlZmF1bHRTZWxlY3RlZD1iLnNlbGVjdGVkPWEuZGVmYXVsdFNlbGVjdGVkOigiaW5wdXQiPT09Y3x8InRleHRhcmVhIj09PWMpJiYoYi5kZWZhdWx0VmFsdWU9YS5kZWZhdWx0VmFsdWUpfX1tLmV4dGVuZCh7Y2xvbmU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGgsaT1tLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKTtpZihrLmh0bWw1Q2xvbmV8fG0uaXNYTUxEb2MoYSl8fCFnYS50ZXN0KCI8IithLm5vZGVOYW1lKyI+Iik/Zj1hLmNsb25lTm9kZSghMCk6KHRhLmlubmVySFRNTD1hLm91dGVySFRNTCx0YS5yZW1vdmVDaGlsZChmPXRhLmZpcnN0Q2hpbGQpKSwhKGsubm9DbG9uZUV2ZW50JiZrLm5vQ2xvbmVDaGVja2VkfHwxIT09YS5ub2RlVHlwZSYmMTEhPT1hLm5vZGVUeXBlfHxtLmlzWE1MRG9jKGEpKSlmb3IoZD11YShmKSxoPXVhKGEpLGc9MDtudWxsIT0oZT1oW2ddKTsrK2cpZFtnXSYmQmEoZSxkW2ddKTtpZihiKWlmKGMpZm9yKGg9aHx8dWEoYSksZD1kfHx1YShmKSxnPTA7bnVsbCE9KGU9aFtnXSk7ZysrKUFhKGUsZFtnXSk7ZWxzZSBBYShhLGYpO3JldHVybiBkPXVhKGYsInNjcmlwdCIpLGQubGVuZ3RoPjAmJnphKGQsIWkmJnVhKGEsInNjcmlwdCIpKSxkPWg9ZT1udWxsLGZ9LGJ1aWxkRnJhZ21lbnQ6ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlLGYsZyxoLGksaixsLG49YS5sZW5ndGgsbz1kYShiKSxwPVtdLHE9MDtuPnE7cSsrKWlmKGY9YVtxXSxmfHwwPT09ZilpZigib2JqZWN0Ij09PW0udHlwZShmKSltLm1lcmdlKHAsZi5ub2RlVHlwZT9bZl06Zik7ZWxzZSBpZihsYS50ZXN0KGYpKXtoPWh8fG8uYXBwZW5kQ2hpbGQoYi5jcmVhdGVFbGVtZW50KCJkaXYiKSksaT0oamEuZXhlYyhmKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxsPXJhW2ldfHxyYS5fZGVmYXVsdCxoLmlubmVySFRNTD1sWzFdK2YucmVwbGFjZShpYSwiPCQxPjwvJDI+IikrbFsyXSxlPWxbMF07d2hpbGUoZS0tKWg9aC5sYXN0Q2hpbGQ7aWYoIWsubGVhZGluZ1doaXRlc3BhY2UmJmhhLnRlc3QoZikmJnAucHVzaChiLmNyZWF0ZVRleHROb2RlKGhhLmV4ZWMoZilbMF0pKSwhay50Ym9keSl7Zj0idGFibGUiIT09aXx8a2EudGVzdChmKT8iPHRhYmxlPiIhPT1sWzFdfHxrYS50ZXN0KGYpPzA6aDpoLmZpcnN0Q2hpbGQsZT1mJiZmLmNoaWxkTm9kZXMubGVuZ3RoO3doaWxlKGUtLSltLm5vZGVOYW1lKGo9Zi5jaGlsZE5vZGVzW2VdLCJ0Ym9keSIpJiYhai5jaGlsZE5vZGVzLmxlbmd0aCYmZi5yZW1vdmVDaGlsZChqKX1tLm1lcmdlKHAsaC5jaGlsZE5vZGVzKSxoLnRleHRDb250ZW50PSIiO3doaWxlKGguZmlyc3RDaGlsZCloLnJlbW92ZUNoaWxkKGguZmlyc3RDaGlsZCk7aD1vLmxhc3RDaGlsZH1lbHNlIHAucHVzaChiLmNyZWF0ZVRleHROb2RlKGYpKTtoJiZvLnJlbW92ZUNoaWxkKGgpLGsuYXBwZW5kQ2hlY2tlZHx8bS5ncmVwKHVhKHAsImlucHV0IiksdmEpLHE9MDt3aGlsZShmPXBbcSsrXSlpZigoIWR8fC0xPT09bS5pbkFycmF5KGYsZCkpJiYoZz1tLmNvbnRhaW5zKGYub3duZXJEb2N1bWVudCxmKSxoPXVhKG8uYXBwZW5kQ2hpbGQoZiksInNjcmlwdCIpLGcmJnphKGgpLGMpKXtlPTA7d2hpbGUoZj1oW2UrK10pb2EudGVzdChmLnR5cGV8fCIiKSYmYy5wdXNoKGYpfXJldHVybiBoPW51bGwsb30sY2xlYW5EYXRhOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBkLGUsZixnLGg9MCxpPW0uZXhwYW5kbyxqPW0uY2FjaGUsbD1rLmRlbGV0ZUV4cGFuZG8sbj1tLmV2ZW50LnNwZWNpYWw7bnVsbCE9KGQ9YVtoXSk7aCsrKWlmKChifHxtLmFjY2VwdERhdGEoZCkpJiYoZj1kW2ldLGc9ZiYmaltmXSkpe2lmKGcuZXZlbnRzKWZvcihlIGluIGcuZXZlbnRzKW5bZV0/bS5ldmVudC5yZW1vdmUoZCxlKTptLnJlbW92ZUV2ZW50KGQsZSxnLmhhbmRsZSk7altmXSYmKGRlbGV0ZSBqW2ZdLGw/ZGVsZXRlIGRbaV06dHlwZW9mIGQucmVtb3ZlQXR0cmlidXRlIT09Sz9kLnJlbW92ZUF0dHJpYnV0ZShpKTpkW2ldPW51bGwsYy5wdXNoKGYpKX19fSksbS5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhKXtyZXR1cm4gdm9pZCAwPT09YT9tLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmFwcGVuZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHx5KS5jcmVhdGVUZXh0Tm9kZShhKSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZ1bmN0aW9uKGEpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgYj13YSh0aGlzLGEpO2IuYXBwZW5kQ2hpbGQoYSl9fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPXdhKHRoaXMsYSk7Yi5pbnNlcnRCZWZvcmUoYSxiLmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcy5uZXh0U2libGluZyl9KX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQ9YT9tLmZpbHRlcihhLHRoaXMpOnRoaXMsZT0wO251bGwhPShjPWRbZV0pO2UrKylifHwxIT09Yy5ub2RlVHlwZXx8bS5jbGVhbkRhdGEodWEoYykpLGMucGFyZW50Tm9kZSYmKGImJm0uY29udGFpbnMoYy5vd25lckRvY3VtZW50LGMpJiZ6YSh1YShjLCJzY3JpcHQiKSksYy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpKTtyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGEsYj0wO251bGwhPShhPXRoaXNbYl0pO2IrKyl7MT09PWEubm9kZVR5cGUmJm0uY2xlYW5EYXRhKHVhKGEsITEpKTt3aGlsZShhLmZpcnN0Q2hpbGQpYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2Eub3B0aW9ucyYmbS5ub2RlTmFtZShhLCJzZWxlY3QiKSYmKGEub3B0aW9ucy5sZW5ndGg9MCl9cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9bnVsbD09YT8hMTphLGI9bnVsbD09Yj9hOmIsdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbS5jbG9uZSh0aGlzLGEsYil9KX0saHRtbDpmdW5jdGlvbihhKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF18fHt9LGM9MCxkPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWEpcmV0dXJuIDE9PT1iLm5vZGVUeXBlP2IuaW5uZXJIVE1MLnJlcGxhY2UoZmEsIiIpOnZvaWQgMDtpZighKCJzdHJpbmciIT10eXBlb2YgYXx8bWEudGVzdChhKXx8IWsuaHRtbFNlcmlhbGl6ZSYmZ2EudGVzdChhKXx8IWsubGVhZGluZ1doaXRlc3BhY2UmJmhhLnRlc3QoYSl8fHJhWyhqYS5leGVjKGEpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSkpe2E9YS5yZXBsYWNlKGlhLCI8JDE+PC8kMj4iKTt0cnl7Zm9yKDtkPmM7YysrKWI9dGhpc1tjXXx8e30sMT09PWIubm9kZVR5cGUmJihtLmNsZWFuRGF0YSh1YShiLCExKSksYi5pbm5lckhUTUw9YSk7Yj0wfWNhdGNoKGUpe319YiYmdGhpcy5lbXB0eSgpLmFwcGVuZChhKX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50c1swXTtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYil7YT10aGlzLnBhcmVudE5vZGUsbS5jbGVhbkRhdGEodWEodGhpcykpLGEmJmEucmVwbGFjZUNoaWxkKGIsdGhpcyl9KSxhJiYoYS5sZW5ndGh8fGEubm9kZVR5cGUpP3RoaXM6dGhpcy5yZW1vdmUoKX0sZGV0YWNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJlbW92ZShhLCEwKX0sZG9tTWFuaXA6ZnVuY3Rpb24oYSxiKXthPWUuYXBwbHkoW10sYSk7dmFyIGMsZCxmLGcsaCxpLGo9MCxsPXRoaXMubGVuZ3RoLG49dGhpcyxvPWwtMSxwPWFbMF0scT1tLmlzRnVuY3Rpb24ocCk7aWYocXx8bD4xJiYic3RyaW5nIj09dHlwZW9mIHAmJiFrLmNoZWNrQ2xvbmUmJm5hLnRlc3QocCkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZD1uLmVxKGMpO3EmJihhWzBdPXAuY2FsbCh0aGlzLGMsZC5odG1sKCkpKSxkLmRvbU1hbmlwKGEsYil9KTtpZihsJiYoaT1tLmJ1aWxkRnJhZ21lbnQoYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQsITEsdGhpcyksYz1pLmZpcnN0Q2hpbGQsMT09PWkuY2hpbGROb2Rlcy5sZW5ndGgmJihpPWMpLGMpKXtmb3IoZz1tLm1hcCh1YShpLCJzY3JpcHQiKSx4YSksZj1nLmxlbmd0aDtsPmo7aisrKWQ9aSxqIT09byYmKGQ9bS5jbG9uZShkLCEwLCEwKSxmJiZtLm1lcmdlKGcsdWEoZCwic2NyaXB0IikpKSxiLmNhbGwodGhpc1tqXSxkLGopO2lmKGYpZm9yKGg9Z1tnLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LG0ubWFwKGcseWEpLGo9MDtmPmo7aisrKWQ9Z1tqXSxvYS50ZXN0KGQudHlwZXx8IiIpJiYhbS5fZGF0YShkLCJnbG9iYWxFdmFsIikmJm0uY29udGFpbnMoaCxkKSYmKGQuc3JjP20uX2V2YWxVcmwmJm0uX2V2YWxVcmwoZC5zcmMpOm0uZ2xvYmFsRXZhbCgoZC50ZXh0fHxkLnRleHRDb250ZW50fHxkLmlubmVySFRNTHx8IiIpLnJlcGxhY2UocWEsIiIpKSk7aT1jPW51bGx9cmV0dXJuIHRoaXN9fSksbS5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oYSxiKXttLmZuW2FdPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkPTAsZT1bXSxnPW0oYSksaD1nLmxlbmd0aC0xO2g+PWQ7ZCsrKWM9ZD09PWg/dGhpczp0aGlzLmNsb25lKCEwKSxtKGdbZF0pW2JdKGMpLGYuYXBwbHkoZSxjLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIENhLERhPXt9O2Z1bmN0aW9uIEVhKGIsYyl7dmFyIGQsZT1tKGMuY3JlYXRlRWxlbWVudChiKSkuYXBwZW5kVG8oYy5ib2R5KSxmPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUmJihkPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUoZVswXSkpP2QuZGlzcGxheTptLmNzcyhlWzBdLCJkaXNwbGF5Iik7cmV0dXJuIGUuZGV0YWNoKCksZn1mdW5jdGlvbiBGYShhKXt2YXIgYj15LGM9RGFbYV07cmV0dXJuIGN8fChjPUVhKGEsYiksIm5vbmUiIT09YyYmY3x8KENhPShDYXx8bSgiPGlmcmFtZSBmcmFtZWJvcmRlcj0nMCcgd2lkdGg9JzAnIGhlaWdodD0nMCcvPiIpKS5hcHBlbmRUbyhiLmRvY3VtZW50RWxlbWVudCksYj0oQ2FbMF0uY29udGVudFdpbmRvd3x8Q2FbMF0uY29udGVudERvY3VtZW50KS5kb2N1bWVudCxiLndyaXRlKCksYi5jbG9zZSgpLGM9RWEoYSxiKSxDYS5kZXRhY2goKSksRGFbYV09YyksY30hZnVuY3Rpb24oKXt2YXIgYTtrLnNocmlua1dyYXBCbG9ja3M9ZnVuY3Rpb24oKXtpZihudWxsIT1hKXJldHVybiBhO2E9ITE7dmFyIGIsYyxkO3JldHVybiBjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlPyhiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZD15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHgiLGMuYXBwZW5kQ2hpbGQoZCkuYXBwZW5kQ2hpbGQoYiksdHlwZW9mIGIuc3R5bGUuem9vbSE9PUsmJihiLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjEiLGIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc3R5bGUud2lkdGg9IjVweCIsYT0zIT09Yi5vZmZzZXRXaWR0aCksYy5yZW1vdmVDaGlsZChkKSxhKTp2b2lkIDB9fSgpO3ZhciBHYT0vXm1hcmdpbi8sSGE9bmV3IFJlZ0V4cCgiXigiK1MrIikoPyFweClbYS16JV0rJCIsImkiKSxJYSxKYSxLYT0vXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC87YS5nZXRDb21wdXRlZFN0eWxlPyhJYT1mdW5jdGlvbihiKXtyZXR1cm4gYi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Lm9wZW5lcj9iLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpOmEuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpfSxKYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fElhKGEpLGc9Yz9jLmdldFByb3BlcnR5VmFsdWUoYil8fGNbYl06dm9pZCAwLGMmJigiIiE9PWd8fG0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfHwoZz1tLnN0eWxlKGEsYikpLEhhLnRlc3QoZykmJkdhLnRlc3QoYikmJihkPWgud2lkdGgsZT1oLm1pbldpZHRoLGY9aC5tYXhXaWR0aCxoLm1pbldpZHRoPWgubWF4V2lkdGg9aC53aWR0aD1nLGc9Yy53aWR0aCxoLndpZHRoPWQsaC5taW5XaWR0aD1lLGgubWF4V2lkdGg9ZikpLHZvaWQgMD09PWc/ZzpnKyIifSk6eS5kb2N1bWVudEVsZW1lbnQuY3VycmVudFN0eWxlJiYoSWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY3VycmVudFN0eWxlfSxKYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fElhKGEpLGc9Yz9jW2JdOnZvaWQgMCxudWxsPT1nJiZoJiZoW2JdJiYoZz1oW2JdKSxIYS50ZXN0KGcpJiYhS2EudGVzdChiKSYmKGQ9aC5sZWZ0LGU9YS5ydW50aW1lU3R5bGUsZj1lJiZlLmxlZnQsZiYmKGUubGVmdD1hLmN1cnJlbnRTdHlsZS5sZWZ0KSxoLmxlZnQ9ImZvbnRTaXplIj09PWI/IjFlbSI6ZyxnPWgucGl4ZWxMZWZ0KyJweCIsaC5sZWZ0PWQsZiYmKGUubGVmdD1mKSksdm9pZCAwPT09Zz9nOmcrIiJ8fCJhdXRvIn0pO2Z1bmN0aW9uIExhKGEsYil7cmV0dXJue2dldDpmdW5jdGlvbigpe3ZhciBjPWEoKTtpZihudWxsIT1jKXJldHVybiBjP3ZvaWQgZGVsZXRlIHRoaXMuZ2V0Oih0aGlzLmdldD1iKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX0hZnVuY3Rpb24oKXt2YXIgYixjLGQsZSxmLGcsaDtpZihiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5pbm5lckhUTUw9IiAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJz5hPC9hPjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPiIsZD1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIilbMF0sYz1kJiZkLnN0eWxlKXtjLmNzc1RleHQ9ImZsb2F0OmxlZnQ7b3BhY2l0eTouNSIsay5vcGFjaXR5PSIwLjUiPT09Yy5vcGFjaXR5LGsuY3NzRmxvYXQ9ISFjLmNzc0Zsb2F0LGIuc3R5bGUuYmFja2dyb3VuZENsaXA9ImNvbnRlbnQtYm94IixiLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9IiIsay5jbGVhckNsb25lU3R5bGU9ImNvbnRlbnQtYm94Ij09PWIuc3R5bGUuYmFja2dyb3VuZENsaXAsay5ib3hTaXppbmc9IiI9PT1jLmJveFNpemluZ3x8IiI9PT1jLk1vekJveFNpemluZ3x8IiI9PT1jLldlYmtpdEJveFNpemluZyxtLmV4dGVuZChrLHtyZWxpYWJsZUhpZGRlbk9mZnNldHM6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09ZyYmaSgpLGd9LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWYmJmkoKSxmfSxwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWUmJmkoKSxlfSxyZWxpYWJsZU1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWgmJmkoKSxofX0pO2Z1bmN0aW9uIGkoKXt2YXIgYixjLGQsaTtjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlJiYoYj15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2JvcmRlcjowO3dpZHRoOjA7aGVpZ2h0OjA7dG9wOjA7bGVmdDotOTk5OXB4IixjLmFwcGVuZENoaWxkKGQpLmFwcGVuZENoaWxkKGIpLGIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxJTt0b3A6MSU7Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt3aWR0aDo0cHg7cG9zaXRpb246YWJzb2x1dGUiLGU9Zj0hMSxoPSEwLGEuZ2V0Q29tcHV0ZWRTdHlsZSYmKGU9IjElIiE9PShhLmdldENvbXB1dGVkU3R5bGUoYixudWxsKXx8e30pLnRvcCxmPSI0cHgiPT09KGEuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpfHx7d2lkdGg6IjRweCJ9KS53aWR0aCxpPWIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSksaS5zdHlsZS5jc3NUZXh0PWIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowIixpLnN0eWxlLm1hcmdpblJpZ2h0PWkuc3R5bGUud2lkdGg9IjAiLGIuc3R5bGUud2lkdGg9IjFweCIsaD0hcGFyc2VGbG9hdCgoYS5nZXRDb21wdXRlZFN0eWxlKGksbnVsbCl8fHt9KS5tYXJnaW5SaWdodCksYi5yZW1vdmVDaGlsZChpKSksYi5pbm5lckhUTUw9Ijx0YWJsZT48dHI+PHRkPjwvdGQ+PHRkPnQ8L3RkPjwvdHI+PC90YWJsZT4iLGk9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGQiKSxpWzBdLnN0eWxlLmNzc1RleHQ9Im1hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MDtkaXNwbGF5Om5vbmUiLGc9MD09PWlbMF0ub2Zmc2V0SGVpZ2h0LGcmJihpWzBdLnN0eWxlLmRpc3BsYXk9IiIsaVsxXS5zdHlsZS5kaXNwbGF5PSJub25lIixnPTA9PT1pWzBdLm9mZnNldEhlaWdodCksYy5yZW1vdmVDaGlsZChkKSl9fX0oKSxtLnN3YXA9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnPXt9O2ZvcihmIGluIGIpZ1tmXT1hLnN0eWxlW2ZdLGEuc3R5bGVbZl09YltmXTtlPWMuYXBwbHkoYSxkfHxbXSk7Zm9yKGYgaW4gYilhLnN0eWxlW2ZdPWdbZl07cmV0dXJuIGV9O3ZhciBNYT0vYWxwaGFcKFteKV0qXCkvaSxOYT0vb3BhY2l0eVxzKj1ccyooW14pXSopLyxPYT0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sUGE9bmV3IFJlZ0V4cCgiXigiK1MrIikoLiopJCIsImkiKSxRYT1uZXcgUmVnRXhwKCJeKFsrLV0pPSgiK1MrIikiLCJpIiksUmE9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LFNhPXtsZXR0ZXJTcGFjaW5nOiIwIixmb250V2VpZ2h0OiI0MDAifSxUYT1bIldlYmtpdCIsIk8iLCJNb3oiLCJtcyJdO2Z1bmN0aW9uIFVhKGEsYil7aWYoYiBpbiBhKXJldHVybiBiO3ZhciBjPWIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYi5zbGljZSgxKSxkPWIsZT1UYS5sZW5ndGg7d2hpbGUoZS0tKWlmKGI9VGFbZV0rYyxiIGluIGEpcmV0dXJuIGI7cmV0dXJuIGR9ZnVuY3Rpb24gVmEoYSxiKXtmb3IodmFyIGMsZCxlLGY9W10sZz0wLGg9YS5sZW5ndGg7aD5nO2crKylkPWFbZ10sZC5zdHlsZSYmKGZbZ109bS5fZGF0YShkLCJvbGRkaXNwbGF5IiksYz1kLnN0eWxlLmRpc3BsYXksYj8oZltnXXx8Im5vbmUiIT09Y3x8KGQuc3R5bGUuZGlzcGxheT0iIiksIiI9PT1kLnN0eWxlLmRpc3BsYXkmJlUoZCkmJihmW2ddPW0uX2RhdGEoZCwib2xkZGlzcGxheSIsRmEoZC5ub2RlTmFtZSkpKSk6KGU9VShkKSwoYyYmIm5vbmUiIT09Y3x8IWUpJiZtLl9kYXRhKGQsIm9sZGRpc3BsYXkiLGU/YzptLmNzcyhkLCJkaXNwbGF5IikpKSk7Zm9yKGc9MDtoPmc7ZysrKWQ9YVtnXSxkLnN0eWxlJiYoYiYmIm5vbmUiIT09ZC5zdHlsZS5kaXNwbGF5JiYiIiE9PWQuc3R5bGUuZGlzcGxheXx8KGQuc3R5bGUuZGlzcGxheT1iP2ZbZ118fCIiOiJub25lIikpO3JldHVybiBhfWZ1bmN0aW9uIFdhKGEsYixjKXt2YXIgZD1QYS5leGVjKGIpO3JldHVybiBkP01hdGgubWF4KDAsZFsxXS0oY3x8MCkpKyhkWzJdfHwicHgiKTpifWZ1bmN0aW9uIFhhKGEsYixjLGQsZSl7Zm9yKHZhciBmPWM9PT0oZD8iYm9yZGVyIjoiY29udGVudCIpPzQ6IndpZHRoIj09PWI/MTowLGc9MDs0PmY7Zis9MikibWFyZ2luIj09PWMmJihnKz1tLmNzcyhhLGMrVFtmXSwhMCxlKSksZD8oImNvbnRlbnQiPT09YyYmKGctPW0uY3NzKGEsInBhZGRpbmciK1RbZl0sITAsZSkpLCJtYXJnaW4iIT09YyYmKGctPW0uY3NzKGEsImJvcmRlciIrVFtmXSsiV2lkdGgiLCEwLGUpKSk6KGcrPW0uY3NzKGEsInBhZGRpbmciK1RbZl0sITAsZSksInBhZGRpbmciIT09YyYmKGcrPW0uY3NzKGEsImJvcmRlciIrVFtmXSsiV2lkdGgiLCEwLGUpKSk7cmV0dXJuIGd9ZnVuY3Rpb24gWWEoYSxiLGMpe3ZhciBkPSEwLGU9IndpZHRoIj09PWI/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodCxmPUlhKGEpLGc9ay5ib3hTaXppbmcmJiJib3JkZXItYm94Ij09PW0uY3NzKGEsImJveFNpemluZyIsITEsZik7aWYoMD49ZXx8bnVsbD09ZSl7aWYoZT1KYShhLGIsZiksKDA+ZXx8bnVsbD09ZSkmJihlPWEuc3R5bGVbYl0pLEhhLnRlc3QoZSkpcmV0dXJuIGU7ZD1nJiYoay5ib3hTaXppbmdSZWxpYWJsZSgpfHxlPT09YS5zdHlsZVtiXSksZT1wYXJzZUZsb2F0KGUpfHwwfXJldHVybiBlK1hhKGEsYixjfHwoZz8iYm9yZGVyIjoiY29udGVudCIpLGQsZikrInB4In1tLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihhLGIpe2lmKGIpe3ZhciBjPUphKGEsIm9wYWNpdHkiKTtyZXR1cm4iIj09PWM/IjEiOmN9fX19LGNzc051bWJlcjp7Y29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMH0sY3NzUHJvcHM6eyJmbG9hdCI6ay5jc3NGbG9hdD8iY3NzRmxvYXQiOiJzdHlsZUZsb2F0In0sc3R5bGU6ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSYmMyE9PWEubm9kZVR5cGUmJjghPT1hLm5vZGVUeXBlJiZhLnN0eWxlKXt2YXIgZSxmLGcsaD1tLmNhbWVsQ2FzZShiKSxpPWEuc3R5bGU7aWYoYj1tLmNzc1Byb3BzW2hdfHwobS5jc3NQcm9wc1toXT1VYShpLGgpKSxnPW0uY3NzSG9va3NbYl18fG0uY3NzSG9va3NbaF0sdm9pZCAwPT09YylyZXR1cm4gZyYmImdldCJpbiBnJiZ2b2lkIDAhPT0oZT1nLmdldChhLCExLGQpKT9lOmlbYl07aWYoZj10eXBlb2YgYywic3RyaW5nIj09PWYmJihlPVFhLmV4ZWMoYykpJiYoYz0oZVsxXSsxKSplWzJdK3BhcnNlRmxvYXQobS5jc3MoYSxiKSksZj0ibnVtYmVyIiksbnVsbCE9YyYmYz09PWMmJigibnVtYmVyIiE9PWZ8fG0uY3NzTnVtYmVyW2hdfHwoYys9InB4Iiksay5jbGVhckNsb25lU3R5bGV8fCIiIT09Y3x8MCE9PWIuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwoaVtiXT0iaW5oZXJpdCIpLCEoZyYmInNldCJpbiBnJiZ2b2lkIDA9PT0oYz1nLnNldChhLGMsZCkpKSkpdHJ5e2lbYl09Y31jYXRjaChqKXt9fX0sY3NzOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZyxoPW0uY2FtZWxDYXNlKGIpO3JldHVybiBiPW0uY3NzUHJvcHNbaF18fChtLmNzc1Byb3BzW2hdPVVhKGEuc3R5bGUsaCkpLGc9bS5jc3NIb29rc1tiXXx8bS5jc3NIb29rc1toXSxnJiYiZ2V0ImluIGcmJihmPWcuZ2V0KGEsITAsYykpLHZvaWQgMD09PWYmJihmPUphKGEsYixkKSksIm5vcm1hbCI9PT1mJiZiIGluIFNhJiYoZj1TYVtiXSksIiI9PT1jfHxjPyhlPXBhcnNlRmxvYXQoZiksYz09PSEwfHxtLmlzTnVtZXJpYyhlKT9lfHwwOmYpOmZ9fSksbS5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe20uY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihhLGMsZCl7cmV0dXJuIGM/T2EudGVzdChtLmNzcyhhLCJkaXNwbGF5IikpJiYwPT09YS5vZmZzZXRXaWR0aD9tLnN3YXAoYSxSYSxmdW5jdGlvbigpe3JldHVybiBZYShhLGIsZCl9KTpZYShhLGIsZCk6dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPWQmJklhKGEpO3JldHVybiBXYShhLGMsZD9YYShhLGIsZCxrLmJveFNpemluZyYmImJvcmRlci1ib3giPT09bS5jc3MoYSwiYm94U2l6aW5nIiwhMSxlKSxlKTowKX19fSksay5vcGFjaXR5fHwobS5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTmEudGVzdCgoYiYmYS5jdXJyZW50U3R5bGU/YS5jdXJyZW50U3R5bGUuZmlsdGVyOmEuc3R5bGUuZmlsdGVyKXx8IiIpPy4wMSpwYXJzZUZsb2F0KFJlZ0V4cC4kMSkrIiI6Yj8iMSI6IiJ9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjPWEuc3R5bGUsZD1hLmN1cnJlbnRTdHlsZSxlPW0uaXNOdW1lcmljKGIpPyJhbHBoYShvcGFjaXR5PSIrMTAwKmIrIikiOiIiLGY9ZCYmZC5maWx0ZXJ8fGMuZmlsdGVyfHwiIjtjLnpvb209MSwoYj49MXx8IiI9PT1iKSYmIiI9PT1tLnRyaW0oZi5yZXBsYWNlKE1hLCIiKSkmJmMucmVtb3ZlQXR0cmlidXRlJiYoYy5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpLCIiPT09Ynx8ZCYmIWQuZmlsdGVyKXx8KGMuZmlsdGVyPU1hLnRlc3QoZik/Zi5yZXBsYWNlKE1hLGUpOmYrIiAiK2UpfX0pLG0uY3NzSG9va3MubWFyZ2luUmlnaHQ9TGEoay5yZWxpYWJsZU1hcmdpblJpZ2h0LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/bS5zd2FwKGEse2Rpc3BsYXk6ImlubGluZS1ibG9jayJ9LEphLFthLCJtYXJnaW5SaWdodCJdKTp2b2lkIDB9KSxtLmVhY2goe21hcmdpbjoiIixwYWRkaW5nOiIiLGJvcmRlcjoiV2lkdGgifSxmdW5jdGlvbihhLGIpe20uY3NzSG9va3NbYStiXT17ZXhwYW5kOmZ1bmN0aW9uKGMpe2Zvcih2YXIgZD0wLGU9e30sZj0ic3RyaW5nIj09dHlwZW9mIGM/Yy5zcGxpdCgiICIpOltjXTs0PmQ7ZCsrKWVbYStUW2RdK2JdPWZbZF18fGZbZC0yXXx8ZlswXTtyZXR1cm4gZX19LEdhLnRlc3QoYSl8fChtLmNzc0hvb2tzW2ErYl0uc2V0PVdhKX0pLG0uZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9e30sZz0wO2lmKG0uaXNBcnJheShiKSl7Zm9yKGQ9SWEoYSksZT1iLmxlbmd0aDtlPmc7ZysrKWZbYltnXV09bS5jc3MoYSxiW2ddLCExLGQpO3JldHVybiBmfXJldHVybiB2b2lkIDAhPT1jP20uc3R5bGUoYSxiLGMpOm0uY3NzKGEsYil9LGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMsITApfSxoaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMpfSx0b2dnbGU6ZnVuY3Rpb24oYSl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYT9hP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe1UodGhpcyk/bSh0aGlzKS5zaG93KCk6bSh0aGlzKS5oaWRlKCl9KX19KTtmdW5jdGlvbiBaYShhLGIsYyxkLGUpewpyZXR1cm4gbmV3IFphLnByb3RvdHlwZS5pbml0KGEsYixjLGQsZSl9bS5Ud2Vlbj1aYSxaYS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlphLGluaXQ6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3RoaXMuZWxlbT1hLHRoaXMucHJvcD1jLHRoaXMuZWFzaW5nPWV8fCJzd2luZyIsdGhpcy5vcHRpb25zPWIsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPWQsdGhpcy51bml0PWZ8fChtLmNzc051bWJlcltjXT8iIjoicHgiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGEmJmEuZ2V0P2EuZ2V0KHRoaXMpOlphLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihhKXt2YXIgYixjPVphLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRpb24/dGhpcy5wb3M9Yj1tLmVhc2luZ1t0aGlzLmVhc2luZ10oYSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qYSwwLDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTp0aGlzLnBvcz1iPWEsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3RhcnQpKmIrdGhpcy5zdGFydCx0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksYyYmYy5zZXQ/Yy5zZXQodGhpcyk6WmEucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0sWmEucHJvdG90eXBlLmluaXQucHJvdG90eXBlPVphLnByb3RvdHlwZSxaYS5wcm9wSG9va3M9e19kZWZhdWx0OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIG51bGw9PWEuZWxlbVthLnByb3BdfHxhLmVsZW0uc3R5bGUmJm51bGwhPWEuZWxlbS5zdHlsZVthLnByb3BdPyhiPW0uY3NzKGEuZWxlbSxhLnByb3AsIiIpLGImJiJhdXRvIiE9PWI/YjowKTphLmVsZW1bYS5wcm9wXX0sc2V0OmZ1bmN0aW9uKGEpe20uZnguc3RlcFthLnByb3BdP20uZnguc3RlcFthLnByb3BdKGEpOmEuZWxlbS5zdHlsZSYmKG51bGwhPWEuZWxlbS5zdHlsZVttLmNzc1Byb3BzW2EucHJvcF1dfHxtLmNzc0hvb2tzW2EucHJvcF0pP20uc3R5bGUoYS5lbGVtLGEucHJvcCxhLm5vdythLnVuaXQpOmEuZWxlbVthLnByb3BdPWEubm93fX19LFphLnByb3BIb29rcy5zY3JvbGxUb3A9WmEucHJvcEhvb2tzLnNjcm9sbExlZnQ9e3NldDpmdW5jdGlvbihhKXthLmVsZW0ubm9kZVR5cGUmJmEuZWxlbS5wYXJlbnROb2RlJiYoYS5lbGVtW2EucHJvcF09YS5ub3cpfX0sbS5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihhKXtyZXR1cm4gYX0sc3dpbmc6ZnVuY3Rpb24oYSl7cmV0dXJuLjUtTWF0aC5jb3MoYSpNYXRoLlBJKS8yfX0sbS5meD1aYS5wcm90b3R5cGUuaW5pdCxtLmZ4LnN0ZXA9e307dmFyICRhLF9hLGFiPS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxiYj1uZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIrUysiKShbYS16JV0qKSQiLCJpIiksY2I9L3F1ZXVlSG9va3MkLyxkYj1baWJdLGViPXsiKiI6W2Z1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jcmVhdGVUd2VlbihhLGIpLGQ9Yy5jdXIoKSxlPWJiLmV4ZWMoYiksZj1lJiZlWzNdfHwobS5jc3NOdW1iZXJbYV0/IiI6InB4IiksZz0obS5jc3NOdW1iZXJbYV18fCJweCIhPT1mJiYrZCkmJmJiLmV4ZWMobS5jc3MoYy5lbGVtLGEpKSxoPTEsaT0yMDtpZihnJiZnWzNdIT09Zil7Zj1mfHxnWzNdLGU9ZXx8W10sZz0rZHx8MTtkbyBoPWh8fCIuNSIsZy89aCxtLnN0eWxlKGMuZWxlbSxhLGcrZik7d2hpbGUoaCE9PShoPWMuY3VyKCkvZCkmJjEhPT1oJiYtLWkpfXJldHVybiBlJiYoZz1jLnN0YXJ0PStnfHwrZHx8MCxjLnVuaXQ9ZixjLmVuZD1lWzFdP2crKGVbMV0rMSkqZVsyXTorZVsyXSksY31dfTtmdW5jdGlvbiBmYigpe3JldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7JGE9dm9pZCAwfSksJGE9bS5ub3coKX1mdW5jdGlvbiBnYihhLGIpe3ZhciBjLGQ9e2hlaWdodDphfSxlPTA7Zm9yKGI9Yj8xOjA7ND5lO2UrPTItYiljPVRbZV0sZFsibWFyZ2luIitjXT1kWyJwYWRkaW5nIitjXT1hO3JldHVybiBiJiYoZC5vcGFjaXR5PWQud2lkdGg9YSksZH1mdW5jdGlvbiBoYihhLGIsYyl7Zm9yKHZhciBkLGU9KGViW2JdfHxbXSkuY29uY2F0KGViWyIqIl0pLGY9MCxnPWUubGVuZ3RoO2c+ZjtmKyspaWYoZD1lW2ZdLmNhbGwoYyxiLGEpKXJldHVybiBkfWZ1bmN0aW9uIGliKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixsLG49dGhpcyxvPXt9LHA9YS5zdHlsZSxxPWEubm9kZVR5cGUmJlUoYSkscj1tLl9kYXRhKGEsImZ4c2hvdyIpO2MucXVldWV8fChoPW0uX3F1ZXVlSG9va3MoYSwiZngiKSxudWxsPT1oLnVucXVldWVkJiYoaC51bnF1ZXVlZD0wLGk9aC5lbXB0eS5maXJlLGguZW1wdHkuZmlyZT1mdW5jdGlvbigpe2gudW5xdWV1ZWR8fGkoKX0pLGgudW5xdWV1ZWQrKyxuLmFsd2F5cyhmdW5jdGlvbigpe24uYWx3YXlzKGZ1bmN0aW9uKCl7aC51bnF1ZXVlZC0tLG0ucXVldWUoYSwiZngiKS5sZW5ndGh8fGguZW1wdHkuZmlyZSgpfSl9KSksMT09PWEubm9kZVR5cGUmJigiaGVpZ2h0ImluIGJ8fCJ3aWR0aCJpbiBiKSYmKGMub3ZlcmZsb3c9W3Aub3ZlcmZsb3cscC5vdmVyZmxvd1gscC5vdmVyZmxvd1ldLGo9bS5jc3MoYSwiZGlzcGxheSIpLGw9Im5vbmUiPT09aj9tLl9kYXRhKGEsIm9sZGRpc3BsYXkiKXx8RmEoYS5ub2RlTmFtZSk6aiwiaW5saW5lIj09PWwmJiJub25lIj09PW0uY3NzKGEsImZsb2F0IikmJihrLmlubGluZUJsb2NrTmVlZHNMYXlvdXQmJiJpbmxpbmUiIT09RmEoYS5ub2RlTmFtZSk/cC56b29tPTE6cC5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSksYy5vdmVyZmxvdyYmKHAub3ZlcmZsb3c9ImhpZGRlbiIsay5zaHJpbmtXcmFwQmxvY2tzKCl8fG4uYWx3YXlzKGZ1bmN0aW9uKCl7cC5vdmVyZmxvdz1jLm92ZXJmbG93WzBdLHAub3ZlcmZsb3dYPWMub3ZlcmZsb3dbMV0scC5vdmVyZmxvd1k9Yy5vdmVyZmxvd1syXX0pKTtmb3IoZCBpbiBiKWlmKGU9YltkXSxhYi5leGVjKGUpKXtpZihkZWxldGUgYltkXSxmPWZ8fCJ0b2dnbGUiPT09ZSxlPT09KHE/ImhpZGUiOiJzaG93Iikpe2lmKCJzaG93IiE9PWV8fCFyfHx2b2lkIDA9PT1yW2RdKWNvbnRpbnVlO3E9ITB9b1tkXT1yJiZyW2RdfHxtLnN0eWxlKGEsZCl9ZWxzZSBqPXZvaWQgMDtpZihtLmlzRW1wdHlPYmplY3QobykpImlubGluZSI9PT0oIm5vbmUiPT09aj9GYShhLm5vZGVOYW1lKTpqKSYmKHAuZGlzcGxheT1qKTtlbHNle3I/ImhpZGRlbiJpbiByJiYocT1yLmhpZGRlbik6cj1tLl9kYXRhKGEsImZ4c2hvdyIse30pLGYmJihyLmhpZGRlbj0hcSkscT9tKGEpLnNob3coKTpuLmRvbmUoZnVuY3Rpb24oKXttKGEpLmhpZGUoKX0pLG4uZG9uZShmdW5jdGlvbigpe3ZhciBiO20uX3JlbW92ZURhdGEoYSwiZnhzaG93Iik7Zm9yKGIgaW4gbyltLnN0eWxlKGEsYixvW2JdKX0pO2ZvcihkIGluIG8pZz1oYihxP3JbZF06MCxkLG4pLGQgaW4gcnx8KHJbZF09Zy5zdGFydCxxJiYoZy5lbmQ9Zy5zdGFydCxnLnN0YXJ0PSJ3aWR0aCI9PT1kfHwiaGVpZ2h0Ij09PWQ/MTowKSl9fWZ1bmN0aW9uIGpiKGEsYil7dmFyIGMsZCxlLGYsZztmb3IoYyBpbiBhKWlmKGQ9bS5jYW1lbENhc2UoYyksZT1iW2RdLGY9YVtjXSxtLmlzQXJyYXkoZikmJihlPWZbMV0sZj1hW2NdPWZbMF0pLGMhPT1kJiYoYVtkXT1mLGRlbGV0ZSBhW2NdKSxnPW0uY3NzSG9va3NbZF0sZyYmImV4cGFuZCJpbiBnKXtmPWcuZXhwYW5kKGYpLGRlbGV0ZSBhW2RdO2ZvcihjIGluIGYpYyBpbiBhfHwoYVtjXT1mW2NdLGJbY109ZSl9ZWxzZSBiW2RdPWV9ZnVuY3Rpb24ga2IoYSxiLGMpe3ZhciBkLGUsZj0wLGc9ZGIubGVuZ3RoLGg9bS5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSBpLmVsZW19KSxpPWZ1bmN0aW9uKCl7aWYoZSlyZXR1cm4hMTtmb3IodmFyIGI9JGF8fGZiKCksYz1NYXRoLm1heCgwLGouc3RhcnRUaW1lK2ouZHVyYXRpb24tYiksZD1jL2ouZHVyYXRpb258fDAsZj0xLWQsZz0wLGk9ai50d2VlbnMubGVuZ3RoO2k+ZztnKyspai50d2VlbnNbZ10ucnVuKGYpO3JldHVybiBoLm5vdGlmeVdpdGgoYSxbaixmLGNdKSwxPmYmJmk/YzooaC5yZXNvbHZlV2l0aChhLFtqXSksITEpfSxqPWgucHJvbWlzZSh7ZWxlbTphLHByb3BzOm0uZXh0ZW5kKHt9LGIpLG9wdHM6bS5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e319LGMpLG9yaWdpbmFsUHJvcGVydGllczpiLG9yaWdpbmFsT3B0aW9uczpjLHN0YXJ0VGltZTokYXx8ZmIoKSxkdXJhdGlvbjpjLmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbihiLGMpe3ZhciBkPW0uVHdlZW4oYSxqLm9wdHMsYixjLGoub3B0cy5zcGVjaWFsRWFzaW5nW2JdfHxqLm9wdHMuZWFzaW5nKTtyZXR1cm4gai50d2VlbnMucHVzaChkKSxkfSxzdG9wOmZ1bmN0aW9uKGIpe3ZhciBjPTAsZD1iP2oudHdlZW5zLmxlbmd0aDowO2lmKGUpcmV0dXJuIHRoaXM7Zm9yKGU9ITA7ZD5jO2MrKylqLnR3ZWVuc1tjXS5ydW4oMSk7cmV0dXJuIGI/aC5yZXNvbHZlV2l0aChhLFtqLGJdKTpoLnJlamVjdFdpdGgoYSxbaixiXSksdGhpc319KSxrPWoucHJvcHM7Zm9yKGpiKGssai5vcHRzLnNwZWNpYWxFYXNpbmcpO2c+ZjtmKyspaWYoZD1kYltmXS5jYWxsKGosYSxrLGoub3B0cykpcmV0dXJuIGQ7cmV0dXJuIG0ubWFwKGssaGIsaiksbS5pc0Z1bmN0aW9uKGoub3B0cy5zdGFydCkmJmoub3B0cy5zdGFydC5jYWxsKGEsaiksbS5meC50aW1lcihtLmV4dGVuZChpLHtlbGVtOmEsYW5pbTpqLHF1ZXVlOmoub3B0cy5xdWV1ZX0pKSxqLnByb2dyZXNzKGoub3B0cy5wcm9ncmVzcykuZG9uZShqLm9wdHMuZG9uZSxqLm9wdHMuY29tcGxldGUpLmZhaWwoai5vcHRzLmZhaWwpLmFsd2F5cyhqLm9wdHMuYWx3YXlzKX1tLkFuaW1hdGlvbj1tLmV4dGVuZChrYix7dHdlZW5lcjpmdW5jdGlvbihhLGIpe20uaXNGdW5jdGlvbihhKT8oYj1hLGE9WyIqIl0pOmE9YS5zcGxpdCgiICIpO2Zvcih2YXIgYyxkPTAsZT1hLmxlbmd0aDtlPmQ7ZCsrKWM9YVtkXSxlYltjXT1lYltjXXx8W10sZWJbY10udW5zaGlmdChiKX0scHJlZmlsdGVyOmZ1bmN0aW9uKGEsYil7Yj9kYi51bnNoaWZ0KGEpOmRiLnB1c2goYSl9fSksbS5zcGVlZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YSYmIm9iamVjdCI9PXR5cGVvZiBhP20uZXh0ZW5kKHt9LGEpOntjb21wbGV0ZTpjfHwhYyYmYnx8bS5pc0Z1bmN0aW9uKGEpJiZhLGR1cmF0aW9uOmEsZWFzaW5nOmMmJmJ8fGImJiFtLmlzRnVuY3Rpb24oYikmJmJ9O3JldHVybiBkLmR1cmF0aW9uPW0uZngub2ZmPzA6Im51bWJlciI9PXR5cGVvZiBkLmR1cmF0aW9uP2QuZHVyYXRpb246ZC5kdXJhdGlvbiBpbiBtLmZ4LnNwZWVkcz9tLmZ4LnNwZWVkc1tkLmR1cmF0aW9uXTptLmZ4LnNwZWVkcy5fZGVmYXVsdCwobnVsbD09ZC5xdWV1ZXx8ZC5xdWV1ZT09PSEwKSYmKGQucXVldWU9ImZ4IiksZC5vbGQ9ZC5jb21wbGV0ZSxkLmNvbXBsZXRlPWZ1bmN0aW9uKCl7bS5pc0Z1bmN0aW9uKGQub2xkKSYmZC5vbGQuY2FsbCh0aGlzKSxkLnF1ZXVlJiZtLmRlcXVldWUodGhpcyxkLnF1ZXVlKX0sZH0sbS5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5maWx0ZXIoVSkuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTpifSxhLGMsZCl9LGFuaW1hdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5pc0VtcHR5T2JqZWN0KGEpLGY9bS5zcGVlZChiLGMsZCksZz1mdW5jdGlvbigpe3ZhciBiPWtiKHRoaXMsbS5leHRlbmQoe30sYSksZik7KGV8fG0uX2RhdGEodGhpcywiZmluaXNoIikpJiZiLnN0b3AoITApfTtyZXR1cm4gZy5maW5pc2g9ZyxlfHxmLnF1ZXVlPT09ITE/dGhpcy5lYWNoKGcpOnRoaXMucXVldWUoZi5xdWV1ZSxnKX0sc3RvcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5zdG9wO2RlbGV0ZSBhLnN0b3AsYihjKX07cmV0dXJuInN0cmluZyIhPXR5cGVvZiBhJiYoYz1iLGI9YSxhPXZvaWQgMCksYiYmYSE9PSExJiZ0aGlzLnF1ZXVlKGF8fCJmeCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPSEwLGU9bnVsbCE9YSYmYSsicXVldWVIb29rcyIsZj1tLnRpbWVycyxnPW0uX2RhdGEodGhpcyk7aWYoZSlnW2VdJiZnW2VdLnN0b3AmJmQoZ1tlXSk7ZWxzZSBmb3IoZSBpbiBnKWdbZV0mJmdbZV0uc3RvcCYmY2IudGVzdChlKSYmZChnW2VdKTtmb3IoZT1mLmxlbmd0aDtlLS07KWZbZV0uZWxlbSE9PXRoaXN8fG51bGwhPWEmJmZbZV0ucXVldWUhPT1hfHwoZltlXS5hbmltLnN0b3AoYyksYj0hMSxmLnNwbGljZShlLDEpKTsoYnx8IWMpJiZtLmRlcXVldWUodGhpcyxhKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT0hMSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsYz1tLl9kYXRhKHRoaXMpLGQ9Y1thKyJxdWV1ZSJdLGU9Y1thKyJxdWV1ZUhvb2tzIl0sZj1tLnRpbWVycyxnPWQ/ZC5sZW5ndGg6MDtmb3IoYy5maW5pc2g9ITAsbS5xdWV1ZSh0aGlzLGEsW10pLGUmJmUuc3RvcCYmZS5zdG9wLmNhbGwodGhpcywhMCksYj1mLmxlbmd0aDtiLS07KWZbYl0uZWxlbT09PXRoaXMmJmZbYl0ucXVldWU9PT1hJiYoZltiXS5hbmltLnN0b3AoITApLGYuc3BsaWNlKGIsMSkpO2ZvcihiPTA7Zz5iO2IrKylkW2JdJiZkW2JdLmZpbmlzaCYmZFtiXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgYy5maW5pc2h9KX19KSxtLmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGEsYil7dmFyIGM9bS5mbltiXTttLmZuW2JdPWZ1bmN0aW9uKGEsZCxlKXtyZXR1cm4gbnVsbD09YXx8ImJvb2xlYW4iPT10eXBlb2YgYT9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUoZ2IoYiwhMCksYSxkLGUpfX0pLG0uZWFjaCh7c2xpZGVEb3duOmdiKCJzaG93Iiksc2xpZGVVcDpnYigiaGlkZSIpLHNsaWRlVG9nZ2xlOmdiKCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxtLnRpbWVycz1bXSxtLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgYSxiPW0udGltZXJzLGM9MDtmb3IoJGE9bS5ub3coKTtjPGIubGVuZ3RoO2MrKylhPWJbY10sYSgpfHxiW2NdIT09YXx8Yi5zcGxpY2UoYy0tLDEpO2IubGVuZ3RofHxtLmZ4LnN0b3AoKSwkYT12b2lkIDB9LG0uZngudGltZXI9ZnVuY3Rpb24oYSl7bS50aW1lcnMucHVzaChhKSxhKCk/bS5meC5zdGFydCgpOm0udGltZXJzLnBvcCgpfSxtLmZ4LmludGVydmFsPTEzLG0uZnguc3RhcnQ9ZnVuY3Rpb24oKXtfYXx8KF9hPXNldEludGVydmFsKG0uZngudGljayxtLmZ4LmludGVydmFsKSl9LG0uZnguc3RvcD1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoX2EpLF9hPW51bGx9LG0uZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LG0uZm4uZGVsYXk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1tLmZ4P20uZnguc3BlZWRzW2FdfHxhOmEsYj1ifHwiZngiLHRoaXMucXVldWUoYixmdW5jdGlvbihiLGMpe3ZhciBkPXNldFRpbWVvdXQoYixhKTtjLnN0b3A9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoZCl9fSl9LGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZTtiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5zZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIsInQiKSxiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixkPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxjPXkuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksZT1jLmFwcGVuZENoaWxkKHkuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLGE9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSxkLnN0eWxlLmNzc1RleHQ9InRvcDoxcHgiLGsuZ2V0U2V0QXR0cmlidXRlPSJ0IiE9PWIuY2xhc3NOYW1lLGsuc3R5bGU9L3RvcC8udGVzdChkLmdldEF0dHJpYnV0ZSgic3R5bGUiKSksay5ocmVmTm9ybWFsaXplZD0iL2EiPT09ZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSxrLmNoZWNrT249ISFhLnZhbHVlLGsub3B0U2VsZWN0ZWQ9ZS5zZWxlY3RlZCxrLmVuY3R5cGU9ISF5LmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLGMuZGlzYWJsZWQ9ITAsay5vcHREaXNhYmxlZD0hZS5kaXNhYmxlZCxhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxhLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSxrLmlucHV0PSIiPT09YS5nZXRBdHRyaWJ1dGUoInZhbHVlIiksYS52YWx1ZT0idCIsYS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLGsucmFkaW9WYWx1ZT0idCI9PT1hLnZhbHVlfSgpO3ZhciBsYj0vXHIvZzttLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQ9bS5pc0Z1bmN0aW9uKGEpLHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZTsxPT09dGhpcy5ub2RlVHlwZSYmKGU9ZD9hLmNhbGwodGhpcyxjLG0odGhpcykudmFsKCkpOmEsbnVsbD09ZT9lPSIiOiJudW1iZXIiPT10eXBlb2YgZT9lKz0iIjptLmlzQXJyYXkoZSkmJihlPW0ubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6YSsiIn0pKSxiPW0udmFsSG9va3NbdGhpcy50eXBlXXx8bS52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJzZXQiaW4gYiYmdm9pZCAwIT09Yi5zZXQodGhpcyxlLCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT1lKSl9KTtpZihlKXJldHVybiBiPW0udmFsSG9va3NbZS50eXBlXXx8bS52YWxIb29rc1tlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJnZXQiaW4gYiYmdm9pZCAwIT09KGM9Yi5nZXQoZSwidmFsdWUiKSk/YzooYz1lLnZhbHVlLCJzdHJpbmciPT10eXBlb2YgYz9jLnJlcGxhY2UobGIsIiIpOm51bGw9PWM/IiI6Yyl9fX0pLG0uZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bS5maW5kLmF0dHIoYSwidmFsdWUiKTtyZXR1cm4gbnVsbCE9Yj9iOm0udHJpbShtLnRleHQoYSkpfX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGMsZD1hLm9wdGlvbnMsZT1hLnNlbGVjdGVkSW5kZXgsZj0ic2VsZWN0LW9uZSI9PT1hLnR5cGV8fDA+ZSxnPWY/bnVsbDpbXSxoPWY/ZSsxOmQubGVuZ3RoLGk9MD5lP2g6Zj9lOjA7aD5pO2krKylpZihjPWRbaV0sISghYy5zZWxlY3RlZCYmaSE9PWV8fChrLm9wdERpc2FibGVkP2MuZGlzYWJsZWQ6bnVsbCE9PWMuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKXx8Yy5wYXJlbnROb2RlLmRpc2FibGVkJiZtLm5vZGVOYW1lKGMucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKGI9bShjKS52YWwoKSxmKXJldHVybiBiO2cucHVzaChiKX1yZXR1cm4gZ30sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPWEub3B0aW9ucyxmPW0ubWFrZUFycmF5KGIpLGc9ZS5sZW5ndGg7d2hpbGUoZy0tKWlmKGQ9ZVtnXSxtLmluQXJyYXkobS52YWxIb29rcy5vcHRpb24uZ2V0KGQpLGYpPj0wKXRyeXtkLnNlbGVjdGVkPWM9ITB9Y2F0Y2goaCl7ZC5zY3JvbGxIZWlnaHR9ZWxzZSBkLnNlbGVjdGVkPSExO3JldHVybiBjfHwoYS5zZWxlY3RlZEluZGV4PS0xKSxlfX19fSksbS5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLGZ1bmN0aW9uKCl7bS52YWxIb29rc1t0aGlzXT17c2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uaXNBcnJheShiKT9hLmNoZWNrZWQ9bS5pbkFycmF5KG0oYSkudmFsKCksYik+PTA6dm9pZCAwfX0say5jaGVja09ufHwobS52YWxIb29rc1t0aGlzXS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PT1hLmdldEF0dHJpYnV0ZSgidmFsdWUiKT8ib24iOmEudmFsdWV9KX0pO3ZhciBtYixuYixvYj1tLmV4cHIuYXR0ckhhbmRsZSxwYj0vXig/OmNoZWNrZWR8c2VsZWN0ZWQpJC9pLHFiPWsuZ2V0U2V0QXR0cmlidXRlLHJiPWsuaW5wdXQ7bS5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0uYXR0cixhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bS5yZW1vdmVBdHRyKHRoaXMsYSl9KX19KSxtLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPWEubm9kZVR5cGU7aWYoYSYmMyE9PWYmJjghPT1mJiYyIT09ZilyZXR1cm4gdHlwZW9mIGEuZ2V0QXR0cmlidXRlPT09Sz9tLnByb3AoYSxiLGMpOigxPT09ZiYmbS5pc1hNTERvYyhhKXx8KGI9Yi50b0xvd2VyQ2FzZSgpLGQ9bS5hdHRySG9va3NbYl18fChtLmV4cHIubWF0Y2guYm9vbC50ZXN0KGIpP25iOm1iKSksdm9pZCAwPT09Yz9kJiYiZ2V0ImluIGQmJm51bGwhPT0oZT1kLmdldChhLGIpKT9lOihlPW0uZmluZC5hdHRyKGEsYiksbnVsbD09ZT92b2lkIDA6ZSk6bnVsbCE9PWM/ZCYmInNldCJpbiBkJiZ2b2lkIDAhPT0oZT1kLnNldChhLGMsYikpP2U6KGEuc2V0QXR0cmlidXRlKGIsYysiIiksYyk6dm9pZCBtLnJlbW92ZUF0dHIoYSxiKSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9MCxmPWImJmIubWF0Y2goRSk7aWYoZiYmMT09PWEubm9kZVR5cGUpd2hpbGUoYz1mW2UrK10pZD1tLnByb3BGaXhbY118fGMsbS5leHByLm1hdGNoLmJvb2wudGVzdChjKT9yYiYmcWJ8fCFwYi50ZXN0KGMpP2FbZF09ITE6YVttLmNhbWVsQ2FzZSgiZGVmYXVsdC0iK2MpXT1hW2RdPSExOm0uYXR0cihhLGMsIiIpLGEucmVtb3ZlQXR0cmlidXRlKHFiP2M6ZCl9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGEsYil7aWYoIWsucmFkaW9WYWx1ZSYmInJhZGlvIj09PWImJm0ubm9kZU5hbWUoYSwiaW5wdXQiKSl7dmFyIGM9YS52YWx1ZTtyZXR1cm4gYS5zZXRBdHRyaWJ1dGUoInR5cGUiLGIpLGMmJihhLnZhbHVlPWMpLGJ9fX19fSksbmI9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI9PT0hMT9tLnJlbW92ZUF0dHIoYSxjKTpyYiYmcWJ8fCFwYi50ZXN0KGMpP2Euc2V0QXR0cmlidXRlKCFxYiYmbS5wcm9wRml4W2NdfHxjLGMpOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitjKV09YVtjXT0hMCxjfX0sbS5lYWNoKG0uZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXHcrL2cpLGZ1bmN0aW9uKGEsYil7dmFyIGM9b2JbYl18fG0uZmluZC5hdHRyO29iW2JdPXJiJiZxYnx8IXBiLnRlc3QoYik/ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGY7cmV0dXJuIGR8fChmPW9iW2JdLG9iW2JdPWUsZT1udWxsIT1jKGEsYixkKT9iLnRvTG93ZXJDYXNlKCk6bnVsbCxvYltiXT1mKSxlfTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGM/dm9pZCAwOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitiKV0/Yi50b0xvd2VyQ2FzZSgpOm51bGx9fSkscmImJnFifHwobS5hdHRySG9va3MudmFsdWU9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0ubm9kZU5hbWUoYSwiaW5wdXQiKT92b2lkKGEuZGVmYXVsdFZhbHVlPWIpOm1iJiZtYi5zZXQoYSxiLGMpfX0pLHFifHwobWI9e3NldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5nZXRBdHRyaWJ1dGVOb2RlKGMpO3JldHVybiBkfHxhLnNldEF0dHJpYnV0ZU5vZGUoZD1hLm93bmVyRG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKGMpKSxkLnZhbHVlPWIrPSIiLCJ2YWx1ZSI9PT1jfHxiPT09YS5nZXRBdHRyaWJ1dGUoYyk/Yjp2b2lkIDB9fSxvYi5pZD1vYi5uYW1lPW9iLmNvb3Jkcz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGM/dm9pZCAwOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJiIiIT09ZC52YWx1ZT9kLnZhbHVlOm51bGx9LG0udmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmdldEF0dHJpYnV0ZU5vZGUoYik7cmV0dXJuIGMmJmMuc3BlY2lmaWVkP2MudmFsdWU6dm9pZCAwfSxzZXQ6bWIuc2V0fSxtLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e3NldDpmdW5jdGlvbihhLGIsYyl7bWIuc2V0KGEsIiI9PT1iPyExOmIsYyl9fSxtLmVhY2goWyJ3aWR0aCIsImhlaWdodCJdLGZ1bmN0aW9uKGEsYil7bS5hdHRySG9va3NbYl09e3NldDpmdW5jdGlvbihhLGMpe3JldHVybiIiPT09Yz8oYS5zZXRBdHRyaWJ1dGUoYiwiYXV0byIpLGMpOnZvaWQgMH19fSkpLGsuc3R5bGV8fChtLmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLnN0eWxlLmNzc1RleHR8fHZvaWQgMH0sc2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc3R5bGUuY3NzVGV4dD1iKyIifX0pO3ZhciBzYj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvaSx0Yj0vXig/OmF8YXJlYSkkL2k7bS5mbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0ucHJvcCxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihhKXtyZXR1cm4gYT1tLnByb3BGaXhbYV18fGEsdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbYV09dm9pZCAwLGRlbGV0ZSB0aGlzW2FdfWNhdGNoKGIpe319KX19KSxtLmV4dGVuZCh7cHJvcEZpeDp7ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSJ9LHByb3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnPWEubm9kZVR5cGU7aWYoYSYmMyE9PWcmJjghPT1nJiYyIT09ZylyZXR1cm4gZj0xIT09Z3x8IW0uaXNYTUxEb2MoYSksZiYmKGI9bS5wcm9wRml4W2JdfHxiLGU9bS5wcm9wSG9va3NbYl0pLHZvaWQgMCE9PWM/ZSYmInNldCJpbiBlJiZ2b2lkIDAhPT0oZD1lLnNldChhLGMsYikpP2Q6YVtiXT1jOmUmJiJnZXQiaW4gZSYmbnVsbCE9PShkPWUuZ2V0KGEsYikpP2Q6YVtiXX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPW0uZmluZC5hdHRyKGEsInRhYmluZGV4Iik7cmV0dXJuIGI/cGFyc2VJbnQoYiwxMCk6c2IudGVzdChhLm5vZGVOYW1lKXx8dGIudGVzdChhLm5vZGVOYW1lKSYmYS5ocmVmPzA6LTF9fX19KSxrLmhyZWZOb3JtYWxpemVkfHxtLmVhY2goWyJocmVmIiwic3JjIl0sZnVuY3Rpb24oYSxiKXttLnByb3BIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZShiLDQpfX19KSxrLm9wdFNlbGVjdGVkfHwobS5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJihiLnNlbGVjdGVkSW5kZXgsYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSxtLmVhY2goWyJ0YWJJbmRleCIsInJlYWRPbmx5IiwibWF4TGVuZ3RoIiwiY2VsbFNwYWNpbmciLCJjZWxsUGFkZGluZyIsInJvd1NwYW4iLCJjb2xTcGFuIiwidXNlTWFwIiwiZnJhbWVCb3JkZXIiLCJjb250ZW50RWRpdGFibGUiXSxmdW5jdGlvbigpe20ucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxrLmVuY3R5cGV8fChtLnByb3BGaXguZW5jdHlwZT0iZW5jb2RpbmciKTt2YXIgdWI9L1tcdFxyXG5cZl0vZzttLmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9InN0cmluZyI9PXR5cGVvZiBhJiZhO2lmKG0uaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20odGhpcykuYWRkQ2xhc3MoYS5jYWxsKHRoaXMsYix0aGlzLmNsYXNzTmFtZSkpfSk7aWYoailmb3IoYj0oYXx8IiIpLm1hdGNoKEUpfHxbXTtpPmg7aCsrKWlmKGM9dGhpc1toXSxkPTE9PT1jLm5vZGVUeXBlJiYoYy5jbGFzc05hbWU/KCIgIitjLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWIsIiAiKToiICIpKXtmPTA7d2hpbGUoZT1iW2YrK10pZC5pbmRleE9mKCIgIitlKyIgIik8MCYmKGQrPWUrIiAiKTtnPW0udHJpbShkKSxjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9MD09PWFyZ3VtZW50cy5sZW5ndGh8fCJzdHJpbmciPT10eXBlb2YgYSYmYTtpZihtLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXttKHRoaXMpLnJlbW92ZUNsYXNzKGEuY2FsbCh0aGlzLGIsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGopZm9yKGI9KGF8fCIiKS5tYXRjaChFKXx8W107aT5oO2grKylpZihjPXRoaXNbaF0sZD0xPT09Yy5ub2RlVHlwZSYmKGMuY2xhc3NOYW1lPygiICIrYy5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKHViLCIgIik6IiIpKXtmPTA7d2hpbGUoZT1iW2YrK10pd2hpbGUoZC5pbmRleE9mKCIgIitlKyIgIik+PTApZD1kLnJlcGxhY2UoIiAiK2UrIiAiLCIgIik7Zz1hP20udHJpbShkKToiIixjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBiJiYic3RyaW5nIj09PWM/Yj90aGlzLmFkZENsYXNzKGEpOnRoaXMucmVtb3ZlQ2xhc3MoYSk6dGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihjKXttKHRoaXMpLnRvZ2dsZUNsYXNzKGEuY2FsbCh0aGlzLGMsdGhpcy5jbGFzc05hbWUsYiksYil9OmZ1bmN0aW9uKCl7aWYoInN0cmluZyI9PT1jKXt2YXIgYixkPTAsZT1tKHRoaXMpLGY9YS5tYXRjaChFKXx8W107d2hpbGUoYj1mW2QrK10pZS5oYXNDbGFzcyhiKT9lLnJlbW92ZUNsYXNzKGIpOmUuYWRkQ2xhc3MoYil9ZWxzZShjPT09S3x8ImJvb2xlYW4iPT09YykmJih0aGlzLmNsYXNzTmFtZSYmbS5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIix0aGlzLmNsYXNzTmFtZSksdGhpcy5jbGFzc05hbWU9dGhpcy5jbGFzc05hbWV8fGE9PT0hMT8iIjptLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iICIrYSsiICIsYz0wLGQ9dGhpcy5sZW5ndGg7ZD5jO2MrKylpZigxPT09dGhpc1tjXS5ub2RlVHlwZSYmKCIgIit0aGlzW2NdLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWIsIiAiKS5pbmRleE9mKGIpPj0wKXJldHVybiEwO3JldHVybiExfX0pLG0uZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IGxvYWQgcmVzaXplIHNjcm9sbCB1bmxvYWQgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBlcnJvciBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24oYixudWxsLGEsYyk6dGhpcy50cmlnZ2VyKGIpfX0pLG0uZm4uZXh0ZW5kKHtob3ZlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoYSkubW91c2VsZWF2ZShifHxhKX0sYmluZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMub24oYSxudWxsLGIsYyl9LHVuYmluZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9mZihhLG51bGwsYil9LGRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGIsYSxjLGQpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoYSwiKioiKTp0aGlzLm9mZihiLGF8fCIqKiIsYyl9fSk7dmFyIHZiPW0ubm93KCksd2I9L1w/Lyx4Yj0vKCwpfChcW3x7KXwofXxdKXwiKD86W14iXFxcclxuXXxcXFsiXFxcL2JmbnJ0XXxcXHVbXGRhLWZBLUZdezR9KSoiXHMqOj98dHJ1ZXxmYWxzZXxudWxsfC0/KD8hMFxkKVxkKyg/OlwuXGQrfCkoPzpbZUVdWystXT9cZCt8KS9nO20ucGFyc2VKU09OPWZ1bmN0aW9uKGIpe2lmKGEuSlNPTiYmYS5KU09OLnBhcnNlKXJldHVybiBhLkpTT04ucGFyc2UoYisiIik7dmFyIGMsZD1udWxsLGU9bS50cmltKGIrIiIpO3JldHVybiBlJiYhbS50cmltKGUucmVwbGFjZSh4YixmdW5jdGlvbihhLGIsZSxmKXtyZXR1cm4gYyYmYiYmKGQ9MCksMD09PWQ/YTooYz1lfHxiLGQrPSFmLSFlLCIiKX0pKT9GdW5jdGlvbigicmV0dXJuICIrZSkoKTptLmVycm9yKCJJbnZhbGlkIEpTT046ICIrYil9LG0ucGFyc2VYTUw9ZnVuY3Rpb24oYil7dmFyIGMsZDtpZighYnx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBudWxsO3RyeXthLkRPTVBhcnNlcj8oZD1uZXcgRE9NUGFyc2VyLGM9ZC5wYXJzZUZyb21TdHJpbmcoYiwidGV4dC94bWwiKSk6KGM9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxjLmFzeW5jPSJmYWxzZSIsYy5sb2FkWE1MKGIpKX1jYXRjaChlKXtjPXZvaWQgMH1yZXR1cm4gYyYmYy5kb2N1bWVudEVsZW1lbnQmJiFjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8bS5lcnJvcigiSW52YWxpZCBYTUw6ICIrYiksY307dmFyIHliLHpiLEFiPS8jLiokLyxCYj0vKFs/Jl0pXz1bXiZdKi8sQ2I9L14oLio/KTpbIFx0XSooW15cclxuXSopXHI/JC9nbSxEYj0vXig/OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLyxFYj0vXig/OkdFVHxIRUFEKSQvLEZiPS9eXC9cLy8sR2I9L14oW1x3ListXSs6KSg/OlwvXC8oPzpbXlwvPyNdKkB8KShbXlwvPyM6XSopKD86OihcZCspfCl8KS8sSGI9e30sSWI9e30sSmI9IiovIi5jb25jYXQoIioiKTt0cnl7emI9bG9jYXRpb24uaHJlZn1jYXRjaChLYil7emI9eS5jcmVhdGVFbGVtZW50KCJhIiksemIuaHJlZj0iIix6Yj16Yi5ocmVmfXliPUdiLmV4ZWMoemIudG9Mb3dlckNhc2UoKSl8fFtdO2Z1bmN0aW9uIExiKGEpe3JldHVybiBmdW5jdGlvbihiLGMpeyJzdHJpbmciIT10eXBlb2YgYiYmKGM9YixiPSIqIik7dmFyIGQsZT0wLGY9Yi50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbXTtpZihtLmlzRnVuY3Rpb24oYykpd2hpbGUoZD1mW2UrK10pIisiPT09ZC5jaGFyQXQoMCk/KGQ9ZC5zbGljZSgxKXx8IioiLChhW2RdPWFbZF18fFtdKS51bnNoaWZ0KGMpKTooYVtkXT1hW2RdfHxbXSkucHVzaChjKX19ZnVuY3Rpb24gTWIoYSxiLGMsZCl7dmFyIGU9e30sZj1hPT09SWI7ZnVuY3Rpb24gZyhoKXt2YXIgaTtyZXR1cm4gZVtoXT0hMCxtLmVhY2goYVtoXXx8W10sZnVuY3Rpb24oYSxoKXt2YXIgaj1oKGIsYyxkKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGp8fGZ8fGVbal0/Zj8hKGk9aik6dm9pZCAwOihiLmRhdGFUeXBlcy51bnNoaWZ0KGopLGcoaiksITEpfSksaX1yZXR1cm4gZyhiLmRhdGFUeXBlc1swXSl8fCFlWyIqIl0mJmcoIioiKX1mdW5jdGlvbiBOYihhLGIpe3ZhciBjLGQsZT1tLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGQgaW4gYil2b2lkIDAhPT1iW2RdJiYoKGVbZF0/YTpjfHwoYz17fSkpW2RdPWJbZF0pO3JldHVybiBjJiZtLmV4dGVuZCghMCxhLGMpLGF9ZnVuY3Rpb24gT2IoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jb250ZW50cyxpPWEuZGF0YVR5cGVzO3doaWxlKCIqIj09PWlbMF0paS5zaGlmdCgpLHZvaWQgMD09PWUmJihlPWEubWltZVR5cGV8fGIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihlKWZvcihnIGluIGgpaWYoaFtnXSYmaFtnXS50ZXN0KGUpKXtpLnVuc2hpZnQoZyk7YnJlYWt9aWYoaVswXWluIGMpZj1pWzBdO2Vsc2V7Zm9yKGcgaW4gYyl7aWYoIWlbMF18fGEuY29udmVydGVyc1tnKyIgIitpWzBdXSl7Zj1nO2JyZWFrfWR8fChkPWcpfWY9Znx8ZH1yZXR1cm4gZj8oZiE9PWlbMF0mJmkudW5zaGlmdChmKSxjW2ZdKTp2b2lkIDB9ZnVuY3Rpb24gUGIoYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPXt9LGs9YS5kYXRhVHlwZXMuc2xpY2UoKTtpZihrWzFdKWZvcihnIGluIGEuY29udmVydGVycylqW2cudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2ddO2Y9ay5zaGlmdCgpO3doaWxlKGYpaWYoYS5yZXNwb25zZUZpZWxkc1tmXSYmKGNbYS5yZXNwb25zZUZpZWxkc1tmXV09YiksIWkmJmQmJmEuZGF0YUZpbHRlciYmKGI9YS5kYXRhRmlsdGVyKGIsYS5kYXRhVHlwZSkpLGk9ZixmPWsuc2hpZnQoKSlpZigiKiI9PT1mKWY9aTtlbHNlIGlmKCIqIiE9PWkmJmkhPT1mKXtpZihnPWpbaSsiICIrZl18fGpbIiogIitmXSwhZylmb3IoZSBpbiBqKWlmKGg9ZS5zcGxpdCgiICIpLGhbMV09PT1mJiYoZz1qW2krIiAiK2hbMF1dfHxqWyIqICIraFswXV0pKXtnPT09ITA/Zz1qW2VdOmpbZV0hPT0hMCYmKGY9aFswXSxrLnVuc2hpZnQoaFsxXSkpO2JyZWFrfWlmKGchPT0hMClpZihnJiZhWyJ0aHJvd3MiXSliPWcoYik7ZWxzZSB0cnl7Yj1nKGIpfWNhdGNoKGwpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmc/bDoiTm8gY29udmVyc2lvbiBmcm9tICIraSsiIHRvICIrZn19fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTpifX1tLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6emIsdHlwZToiR0VUIixpc0xvY2FsOkRiLnRlc3QoeWJbMV0pLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6SmIsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L3htbC8saHRtbDovaHRtbC8sanNvbjovanNvbi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjptLnBhcnNlSlNPTiwidGV4dCB4bWwiOm0ucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihhLGIpe3JldHVybiBiP05iKE5iKGEsbS5hamF4U2V0dGluZ3MpLGIpOk5iKG0uYWpheFNldHRpbmdzLGEpfSxhamF4UHJlZmlsdGVyOkxiKEhiKSxhamF4VHJhbnNwb3J0OkxiKEliKSxhamF4OmZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBhJiYoYj1hLGE9dm9pZCAwKSxiPWJ8fHt9O3ZhciBjLGQsZSxmLGcsaCxpLGosaz1tLmFqYXhTZXR1cCh7fSxiKSxsPWsuY29udGV4dHx8ayxuPWsuY29udGV4dCYmKGwubm9kZVR5cGV8fGwuanF1ZXJ5KT9tKGwpOm0uZXZlbnQsbz1tLkRlZmVycmVkKCkscD1tLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxxPWsuc3RhdHVzQ29kZXx8e30scj17fSxzPXt9LHQ9MCx1PSJjYW5jZWxlZCIsdj17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKDI9PT10KXtpZighail7aj17fTt3aGlsZShiPUNiLmV4ZWMoZikpaltiWzFdLnRvTG93ZXJDYXNlKCldPWJbMl19Yj1qW2EudG9Mb3dlckNhc2UoKV19cmV0dXJuIG51bGw9PWI/bnVsbDpifSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXQ/ZjpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b0xvd2VyQ2FzZSgpO3JldHVybiB0fHwoYT1zW2NdPXNbY118fGEsclthXT1iKSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3JldHVybiB0fHwoay5taW1lVHlwZT1hKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEpaWYoMj50KWZvcihiIGluIGEpcVtiXT1bcVtiXSxhW2JdXTtlbHNlIHYuYWx3YXlzKGFbdi5zdGF0dXNdKTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YXx8dTtyZXR1cm4gaSYmaS5hYm9ydChiKSx4KDAsYiksdGhpc319O2lmKG8ucHJvbWlzZSh2KS5jb21wbGV0ZT1wLmFkZCx2LnN1Y2Nlc3M9di5kb25lLHYuZXJyb3I9di5mYWlsLGsudXJsPSgoYXx8ay51cmx8fHpiKSsiIikucmVwbGFjZShBYiwiIikucmVwbGFjZShGYix5YlsxXSsiLy8iKSxrLnR5cGU9Yi5tZXRob2R8fGIudHlwZXx8ay5tZXRob2R8fGsudHlwZSxrLmRhdGFUeXBlcz1tLnRyaW0oay5kYXRhVHlwZXx8IioiKS50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbIiJdLG51bGw9PWsuY3Jvc3NEb21haW4mJihjPUdiLmV4ZWMoay51cmwudG9Mb3dlckNhc2UoKSksay5jcm9zc0RvbWFpbj0hKCFjfHxjWzFdPT09eWJbMV0mJmNbMl09PT15YlsyXSYmKGNbM118fCgiaHR0cDoiPT09Y1sxXT8iODAiOiI0NDMiKSk9PT0oeWJbM118fCgiaHR0cDoiPT09eWJbMV0/IjgwIjoiNDQzIikpKSksay5kYXRhJiZrLnByb2Nlc3NEYXRhJiYic3RyaW5nIiE9dHlwZW9mIGsuZGF0YSYmKGsuZGF0YT1tLnBhcmFtKGsuZGF0YSxrLnRyYWRpdGlvbmFsKSksTWIoSGIsayxiLHYpLDI9PT10KXJldHVybiB2O2g9bS5ldmVudCYmay5nbG9iYWwsaCYmMD09PW0uYWN0aXZlKysmJm0uZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0Iiksay50eXBlPWsudHlwZS50b1VwcGVyQ2FzZSgpLGsuaGFzQ29udGVudD0hRWIudGVzdChrLnR5cGUpLGU9ay51cmwsay5oYXNDb250ZW50fHwoay5kYXRhJiYoZT1rLnVybCs9KHdiLnRlc3QoZSk/IiYiOiI/Iikray5kYXRhLGRlbGV0ZSBrLmRhdGEpLGsuY2FjaGU9PT0hMSYmKGsudXJsPUJiLnRlc3QoZSk/ZS5yZXBsYWNlKEJiLCIkMV89Iit2YisrKTplKyh3Yi50ZXN0KGUpPyImIjoiPyIpKyJfPSIrdmIrKykpLGsuaWZNb2RpZmllZCYmKG0ubGFzdE1vZGlmaWVkW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixtLmxhc3RNb2RpZmllZFtlXSksbS5ldGFnW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLG0uZXRhZ1tlXSkpLChrLmRhdGEmJmsuaGFzQ29udGVudCYmay5jb250ZW50VHlwZSE9PSExfHxiLmNvbnRlbnRUeXBlKSYmdi5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLGsuY29udGVudFR5cGUpLHYuc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixrLmRhdGFUeXBlc1swXSYmay5hY2NlcHRzW2suZGF0YVR5cGVzWzBdXT9rLmFjY2VwdHNbay5kYXRhVHlwZXNbMF1dKygiKiIhPT1rLmRhdGFUeXBlc1swXT8iLCAiK0piKyI7IHE9MC4wMSI6IiIpOmsuYWNjZXB0c1siKiJdKTtmb3IoZCBpbiBrLmhlYWRlcnMpdi5zZXRSZXF1ZXN0SGVhZGVyKGQsay5oZWFkZXJzW2RdKTtpZihrLmJlZm9yZVNlbmQmJihrLmJlZm9yZVNlbmQuY2FsbChsLHYsayk9PT0hMXx8Mj09PXQpKXJldHVybiB2LmFib3J0KCk7dT0iYWJvcnQiO2ZvcihkIGlue3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXZbZF0oa1tkXSk7aWYoaT1NYihJYixrLGIsdikpe3YucmVhZHlTdGF0ZT0xLGgmJm4udHJpZ2dlcigiYWpheFNlbmQiLFt2LGtdKSxrLmFzeW5jJiZrLnRpbWVvdXQ+MCYmKGc9c2V0VGltZW91dChmdW5jdGlvbigpe3YuYWJvcnQoInRpbWVvdXQiKX0say50aW1lb3V0KSk7dHJ5e3Q9MSxpLnNlbmQocix4KX1jYXRjaCh3KXtpZighKDI+dCkpdGhyb3cgdzt4KC0xLHcpfX1lbHNlIHgoLTEsIk5vIFRyYW5zcG9ydCIpO2Z1bmN0aW9uIHgoYSxiLGMsZCl7dmFyIGoscixzLHUsdyx4PWI7MiE9PXQmJih0PTIsZyYmY2xlYXJUaW1lb3V0KGcpLGk9dm9pZCAwLGY9ZHx8IiIsdi5yZWFkeVN0YXRlPWE+MD80OjAsaj1hPj0yMDAmJjMwMD5hfHwzMDQ9PT1hLGMmJih1PU9iKGssdixjKSksdT1QYihrLHUsdixqKSxqPyhrLmlmTW9kaWZpZWQmJih3PXYuZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSx3JiYobS5sYXN0TW9kaWZpZWRbZV09dyksdz12LmdldFJlc3BvbnNlSGVhZGVyKCJldGFnIiksdyYmKG0uZXRhZ1tlXT13KSksMjA0PT09YXx8IkhFQUQiPT09ay50eXBlP3g9Im5vY29udGVudCI6MzA0PT09YT94PSJub3Rtb2RpZmllZCI6KHg9dS5zdGF0ZSxyPXUuZGF0YSxzPXUuZXJyb3Isaj0hcykpOihzPXgsKGF8fCF4KSYmKHg9ImVycm9yIiwwPmEmJihhPTApKSksdi5zdGF0dXM9YSx2LnN0YXR1c1RleHQ9KGJ8fHgpKyIiLGo/by5yZXNvbHZlV2l0aChsLFtyLHgsdl0pOm8ucmVqZWN0V2l0aChsLFt2LHgsc10pLHYuc3RhdHVzQ29kZShxKSxxPXZvaWQgMCxoJiZuLnRyaWdnZXIoaj8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFt2LGssaj9yOnNdKSxwLmZpcmVXaXRoKGwsW3YseF0pLGgmJihuLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3Ysa10pLC0tbS5hY3RpdmV8fG0uZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpfXJldHVybiB2fSxnZXRKU09OOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5nZXQoYSxiLGMsImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZ2V0KGEsdm9pZCAwLGIsInNjcmlwdCIpfX0pLG0uZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGIpe21bYl09ZnVuY3Rpb24oYSxjLGQsZSl7cmV0dXJuIG0uaXNGdW5jdGlvbihjKSYmKGU9ZXx8ZCxkPWMsYz12b2lkIDApLG0uYWpheCh7dXJsOmEsdHlwZTpiLGRhdGFUeXBlOmUsZGF0YTpjLHN1Y2Nlc3M6ZH0pfX0pLG0uX2V2YWxVcmw9ZnVuY3Rpb24oYSl7cmV0dXJuIG0uYWpheCh7dXJsOmEsdHlwZToiR0VUIixkYXRhVHlwZToic2NyaXB0Iixhc3luYzohMSxnbG9iYWw6ITEsInRocm93cyI6ITB9KX0sbS5mbi5leHRlbmQoe3dyYXBBbGw6ZnVuY3Rpb24oYSl7aWYobS5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bSh0aGlzKS53cmFwQWxsKGEuY2FsbCh0aGlzLGIpKX0pO2lmKHRoaXNbMF0pe3ZhciBiPW0oYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKTt0aGlzWzBdLnBhcmVudE5vZGUmJmIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLGIubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt3aGlsZShhLmZpcnN0Q2hpbGQmJjE9PT1hLmZpcnN0Q2hpbGQubm9kZVR5cGUpYT1hLmZpcnN0Q2hpbGQ7cmV0dXJuIGF9KS5hcHBlbmQodGhpcyl9cmV0dXJuIHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihiKXttKHRoaXMpLndyYXBJbm5lcihhLmNhbGwodGhpcyxiKSl9OmZ1bmN0aW9uKCl7dmFyIGI9bSh0aGlzKSxjPWIuY29udGVudHMoKTtjLmxlbmd0aD9jLndyYXBBbGwoYSk6Yi5hcHBlbmQoYSl9KX0sd3JhcDpmdW5jdGlvbihhKXt2YXIgYj1tLmlzRnVuY3Rpb24oYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXttKHRoaXMpLndyYXBBbGwoYj9hLmNhbGwodGhpcyxjKTphKX0pfSx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQoKS5lYWNoKGZ1bmN0aW9uKCl7bS5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fG0odGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLmVuZCgpfX0pLG0uZXhwci5maWx0ZXJzLmhpZGRlbj1mdW5jdGlvbihhKXtyZXR1cm4gYS5vZmZzZXRXaWR0aDw9MCYmYS5vZmZzZXRIZWlnaHQ8PTB8fCFrLnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpJiYibm9uZSI9PT0oYS5zdHlsZSYmYS5zdHlsZS5kaXNwbGF5fHxtLmNzcyhhLCJkaXNwbGF5IikpfSxtLmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiFtLmV4cHIuZmlsdGVycy5oaWRkZW4oYSl9O3ZhciBRYj0vJTIwL2csUmI9L1xbXF0kLyxTYj0vXHI/XG4vZyxUYj0vXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksVWI9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIFZiKGEsYixjLGQpe3ZhciBlO2lmKG0uaXNBcnJheShiKSltLmVhY2goYixmdW5jdGlvbihiLGUpe2N8fFJiLnRlc3QoYSk/ZChhLGUpOlZiKGErIlsiKygib2JqZWN0Ij09dHlwZW9mIGU/YjoiIikrIl0iLGUsYyxkKX0pO2Vsc2UgaWYoY3x8Im9iamVjdCIhPT1tLnR5cGUoYikpZChhLGIpO2Vsc2UgZm9yKGUgaW4gYilWYihhKyJbIitlKyJdIixiW2VdLGMsZCl9bS5wYXJhbT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1mdW5jdGlvbihhLGIpe2I9bS5pc0Z1bmN0aW9uKGIpP2IoKTpudWxsPT1iPyIiOmIsZFtkLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGEpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYil9O2lmKHZvaWQgMD09PWImJihiPW0uYWpheFNldHRpbmdzJiZtLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCksbS5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIW0uaXNQbGFpbk9iamVjdChhKSltLmVhY2goYSxmdW5jdGlvbigpe2UodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IoYyBpbiBhKVZiKGMsYVtjXSxiLGUpO3JldHVybiBkLmpvaW4oIiYiKS5yZXBsYWNlKFFiLCIrIil9LG0uZm4uZXh0ZW5kKHtzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gbS5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpfSxzZXJpYWxpemVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPW0ucHJvcCh0aGlzLCJlbGVtZW50cyIpO3JldHVybiBhP20ubWFrZUFycmF5KGEpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgYT10aGlzLnR5cGU7cmV0dXJuIHRoaXMubmFtZSYmIW0odGhpcykuaXMoIjpkaXNhYmxlZCIpJiZVYi50ZXN0KHRoaXMubm9kZU5hbWUpJiYhVGIudGVzdChhKSYmKHRoaXMuY2hlY2tlZHx8IVcudGVzdChhKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1tKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1jP251bGw6bS5pc0FycmF5KGMpP20ubWFwKGMsZnVuY3Rpb24oYSl7cmV0dXJue25hbWU6Yi5uYW1lLHZhbHVlOmEucmVwbGFjZShTYiwiXHJcbiIpfX0pOntuYW1lOmIubmFtZSx2YWx1ZTpjLnJlcGxhY2UoU2IsIlxyXG4iKX19KS5nZXQoKX19KSxtLmFqYXhTZXR0aW5ncy54aHI9dm9pZCAwIT09YS5BY3RpdmVYT2JqZWN0P2Z1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaXNMb2NhbCYmL14oZ2V0fHBvc3R8aGVhZHxwdXR8ZGVsZXRlfG9wdGlvbnMpJC9pLnRlc3QodGhpcy50eXBlKSYmWmIoKXx8JGIoKX06WmI7dmFyIFdiPTAsWGI9e30sWWI9bS5hamF4U2V0dGluZ3MueGhyKCk7YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib251bmxvYWQiLGZ1bmN0aW9uKCl7Zm9yKHZhciBhIGluIFhiKVhiW2FdKHZvaWQgMCwhMCl9KSxrLmNvcnM9ISFZYiYmIndpdGhDcmVkZW50aWFscyJpbiBZYixZYj1rLmFqYXg9ISFZYixZYiYmbS5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGEpe2lmKCFhLmNyb3NzRG9tYWlufHxrLmNvcnMpe3ZhciBiO3JldHVybntzZW5kOmZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hLnhocigpLGc9KytXYjtpZihmLm9wZW4oYS50eXBlLGEudXJsLGEuYXN5bmMsYS51c2VybmFtZSxhLnBhc3N3b3JkKSxhLnhockZpZWxkcylmb3IoZSBpbiBhLnhockZpZWxkcylmW2VdPWEueGhyRmllbGRzW2VdO2EubWltZVR5cGUmJmYub3ZlcnJpZGVNaW1lVHlwZSYmZi5vdmVycmlkZU1pbWVUeXBlKGEubWltZVR5cGUpLGEuY3Jvc3NEb21haW58fGNbIlgtUmVxdWVzdGVkLVdpdGgiXXx8KGNbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTtmb3IoZSBpbiBjKXZvaWQgMCE9PWNbZV0mJmYuc2V0UmVxdWVzdEhlYWRlcihlLGNbZV0rIiIpO2Yuc2VuZChhLmhhc0NvbnRlbnQmJmEuZGF0YXx8bnVsbCksYj1mdW5jdGlvbihjLGUpe3ZhciBoLGksajtpZihiJiYoZXx8ND09PWYucmVhZHlTdGF0ZSkpaWYoZGVsZXRlIFhiW2ddLGI9dm9pZCAwLGYub25yZWFkeXN0YXRlY2hhbmdlPW0ubm9vcCxlKTQhPT1mLnJlYWR5U3RhdGUmJmYuYWJvcnQoKTtlbHNle2o9e30saD1mLnN0YXR1cywic3RyaW5nIj09dHlwZW9mIGYucmVzcG9uc2VUZXh0JiYoai50ZXh0PWYucmVzcG9uc2VUZXh0KTt0cnl7aT1mLnN0YXR1c1RleHR9Y2F0Y2goayl7aT0iIn1ofHwhYS5pc0xvY2FsfHxhLmNyb3NzRG9tYWluPzEyMjM9PT1oJiYoaD0yMDQpOmg9ai50ZXh0PzIwMDo0MDR9aiYmZChoLGksaixmLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKX0sYS5hc3luYz80PT09Zi5yZWFkeVN0YXRlP3NldFRpbWVvdXQoYik6Zi5vbnJlYWR5c3RhdGVjaGFuZ2U9WGJbZ109YjpiKCl9LGFib3J0OmZ1bmN0aW9uKCl7YiYmYih2b2lkIDAsITApfX19fSk7ZnVuY3Rpb24gWmIoKXt0cnl7cmV0dXJuIG5ldyBhLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGIpe319ZnVuY3Rpb24gJGIoKXt0cnl7cmV0dXJuIG5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9Y2F0Y2goYil7fX1tLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9LGNvbnRlbnRzOntzY3JpcHQ6Lyg/OmphdmF8ZWNtYSlzY3JpcHQvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe3JldHVybiBtLmdsb2JhbEV2YWwoYSksYX19fSksbS5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEuY2FjaGUmJihhLmNhY2hlPSExKSxhLmNyb3NzRG9tYWluJiYoYS50eXBlPSJHRVQiLGEuZ2xvYmFsPSExKX0pLG0uYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgYixjPXkuaGVhZHx8bSgiaGVhZCIpWzBdfHx5LmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihkLGUpe2I9eS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxiLmFzeW5jPSEwLGEuc2NyaXB0Q2hhcnNldCYmKGIuY2hhcnNldD1hLnNjcmlwdENoYXJzZXQpLGIuc3JjPWEudXJsLGIub25sb2FkPWIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7KGN8fCFiLnJlYWR5U3RhdGV8fC9sb2FkZWR8Y29tcGxldGUvLnRlc3QoYi5yZWFkeVN0YXRlKSkmJihiLm9ubG9hZD1iLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbCxjfHxlKDIwMCwic3VjY2VzcyIpKX0sYy5pbnNlcnRCZWZvcmUoYixjLmZpcnN0Q2hpbGQpfSxhYm9ydDpmdW5jdGlvbigpe2ImJmIub25sb2FkKHZvaWQgMCwhMCl9fX19KTt2YXIgX2I9W10sYWM9Lyg9KVw/KD89JnwkKXxcP1w/LzttLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9X2IucG9wKCl8fG0uZXhwYW5kbysiXyIrdmIrKztyZXR1cm4gdGhpc1thXT0hMCxhfX0pLG0uYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixjLGQpe3ZhciBlLGYsZyxoPWIuanNvbnAhPT0hMSYmKGFjLnRlc3QoYi51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgYi5kYXRhJiYhKGIuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmYWMudGVzdChiLmRhdGEpJiYiZGF0YSIpO3JldHVybiBofHwianNvbnAiPT09Yi5kYXRhVHlwZXNbMF0/KGU9Yi5qc29ucENhbGxiYWNrPW0uaXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxsYmFjaygpOmIuanNvbnBDYWxsYmFjayxoP2JbaF09YltoXS5yZXBsYWNlKGFjLCIkMSIrZSk6Yi5qc29ucCE9PSExJiYoYi51cmwrPSh3Yi50ZXN0KGIudXJsKT8iJiI6Ij8iKStiLmpzb25wKyI9IitlKSxiLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gZ3x8bS5lcnJvcihlKyIgd2FzIG5vdCBjYWxsZWQiKSxnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNvbiIsZj1hW2VdLGFbZV09ZnVuY3Rpb24oKXtnPWFyZ3VtZW50c30sZC5hbHdheXMoZnVuY3Rpb24oKXthW2VdPWYsYltlXSYmKGIuanNvbnBDYWxsYmFjaz1jLmpzb25wQ2FsbGJhY2ssX2IucHVzaChlKSksZyYmbS5pc0Z1bmN0aW9uKGYpJiZmKGdbMF0pLGc9Zj12b2lkIDB9KSwic2NyaXB0Iik6dm9pZCAwfSksbS5wYXJzZUhUTUw9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhfHwic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIG51bGw7ImJvb2xlYW4iPT10eXBlb2YgYiYmKGM9YixiPSExKSxiPWJ8fHk7dmFyIGQ9dS5leGVjKGEpLGU9IWMmJltdO3JldHVybiBkP1tiLmNyZWF0ZUVsZW1lbnQoZFsxXSldOihkPW0uYnVpbGRGcmFnbWVudChbYV0sYixlKSxlJiZlLmxlbmd0aCYmbShlKS5yZW1vdmUoKSxtLm1lcmdlKFtdLGQuY2hpbGROb2RlcykpfTt2YXIgYmM9bS5mbi5sb2FkO20uZm4ubG9hZD1mdW5jdGlvbihhLGIsYyl7aWYoInN0cmluZyIhPXR5cGVvZiBhJiZiYylyZXR1cm4gYmMuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBkLGUsZixnPXRoaXMsaD1hLmluZGV4T2YoIiAiKTtyZXR1cm4gaD49MCYmKGQ9bS50cmltKGEuc2xpY2UoaCxhLmxlbmd0aCkpLGE9YS5zbGljZSgwLGgpKSxtLmlzRnVuY3Rpb24oYik/KGM9YixiPXZvaWQgMCk6YiYmIm9iamVjdCI9PXR5cGVvZiBiJiYoZj0iUE9TVCIpLGcubGVuZ3RoPjAmJm0uYWpheCh7dXJsOmEsdHlwZTpmLGRhdGFUeXBlOiJodG1sIixkYXRhOmJ9KS5kb25lKGZ1bmN0aW9uKGEpe2U9YXJndW1lbnRzLGcuaHRtbChkP20oIjxkaXY+IikuYXBwZW5kKG0ucGFyc2VIVE1MKGEpKS5maW5kKGQpOmEpfSkuY29tcGxldGUoYyYmZnVuY3Rpb24oYSxiKXtnLmVhY2goYyxlfHxbYS5yZXNwb25zZVRleHQsYixhXSl9KSx0aGlzfSxtLmVhY2goWyJhamF4U3RhcnQiLCJhamF4U3RvcCIsImFqYXhDb21wbGV0ZSIsImFqYXhFcnJvciIsImFqYXhTdWNjZXNzIiwiYWpheFNlbmQiXSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub24oYixhKX19KSxtLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihhKXtyZXR1cm4gbS5ncmVwKG0udGltZXJzLGZ1bmN0aW9uKGIpe3JldHVybiBhPT09Yi5lbGVtfSkubGVuZ3RofTt2YXIgY2M9YS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZnVuY3Rpb24gZGMoYSl7cmV0dXJuIG0uaXNXaW5kb3coYSk/YTo5PT09YS5ub2RlVHlwZT9hLmRlZmF1bHRWaWV3fHxhLnBhcmVudFdpbmRvdzohMX1tLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrPW0uY3NzKGEsInBvc2l0aW9uIiksbD1tKGEpLG49e307InN0YXRpYyI9PT1rJiYoYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxoPWwub2Zmc2V0KCksZj1tLmNzcyhhLCJ0b3AiKSxpPW0uY3NzKGEsImxlZnQiKSxqPSgiYWJzb2x1dGUiPT09a3x8ImZpeGVkIj09PWspJiZtLmluQXJyYXkoImF1dG8iLFtmLGldKT4tMSxqPyhkPWwucG9zaXRpb24oKSxnPWQudG9wLGU9ZC5sZWZ0KTooZz1wYXJzZUZsb2F0KGYpfHwwLGU9cGFyc2VGbG9hdChpKXx8MCksbS5pc0Z1bmN0aW9uKGIpJiYoYj1iLmNhbGwoYSxjLGgpKSxudWxsIT1iLnRvcCYmKG4udG9wPWIudG9wLWgudG9wK2cpLG51bGwhPWIubGVmdCYmKG4ubGVmdD1iLmxlZnQtaC5sZWZ0K2UpLCJ1c2luZyJpbiBiP2IudXNpbmcuY2FsbChhLG4pOmwuY3NzKG4pfX0sbS5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1hP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20ub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTt2YXIgYixjLGQ9e3RvcDowLGxlZnQ6MH0sZT10aGlzWzBdLGY9ZSYmZS5vd25lckRvY3VtZW50O2lmKGYpcmV0dXJuIGI9Zi5kb2N1bWVudEVsZW1lbnQsbS5jb250YWlucyhiLGUpPyh0eXBlb2YgZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QhPT1LJiYoZD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSxjPWRjKGYpLHt0b3A6ZC50b3ArKGMucGFnZVlPZmZzZXR8fGIuc2Nyb2xsVG9wKS0oYi5jbGllbnRUb3B8fDApLGxlZnQ6ZC5sZWZ0KyhjLnBhZ2VYT2Zmc2V0fHxiLnNjcm9sbExlZnQpLShiLmNsaWVudExlZnR8fDApfSk6ZH0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzWzBdKXt2YXIgYSxiLGM9e3RvcDowLGxlZnQ6MH0sZD10aGlzWzBdO3JldHVybiJmaXhlZCI9PT1tLmNzcyhkLCJwb3NpdGlvbiIpP2I9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTooYT10aGlzLm9mZnNldFBhcmVudCgpLGI9dGhpcy5vZmZzZXQoKSxtLm5vZGVOYW1lKGFbMF0sImh0bWwiKXx8KGM9YS5vZmZzZXQoKSksYy50b3ArPW0uY3NzKGFbMF0sImJvcmRlclRvcFdpZHRoIiwhMCksYy5sZWZ0Kz1tLmNzcyhhWzBdLCJib3JkZXJMZWZ0V2lkdGgiLCEwKSkse3RvcDpiLnRvcC1jLnRvcC1tLmNzcyhkLCJtYXJnaW5Ub3AiLCEwKSxsZWZ0OmIubGVmdC1jLmxlZnQtbS5jc3MoZCwibWFyZ2luTGVmdCIsITApfX19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXMub2Zmc2V0UGFyZW50fHxjYzt3aGlsZShhJiYhbS5ub2RlTmFtZShhLCJodG1sIikmJiJzdGF0aWMiPT09bS5jc3MoYSwicG9zaXRpb24iKSlhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfHxjY30pfX0pLG0uZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPS9ZLy50ZXN0KGIpO20uZm5bYV09ZnVuY3Rpb24oZCl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhLGQsZSl7dmFyIGY9ZGMoYSk7cmV0dXJuIHZvaWQgMD09PWU/Zj9iIGluIGY/ZltiXTpmLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtkXTphW2RdOnZvaWQoZj9mLnNjcm9sbFRvKGM/bShmKS5zY3JvbGxMZWZ0KCk6ZSxjP2U6bShmKS5zY3JvbGxUb3AoKSk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksbS5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGEsYil7bS5jc3NIb29rc1tiXT1MYShrLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oYSxjKXtyZXR1cm4gYz8oYz1KYShhLGIpLEhhLnRlc3QoYyk/bShhKS5wb3NpdGlvbigpW2JdKyJweCI6Yyk6dm9pZCAwfSl9KSxtLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihhLGIpe20uZWFjaCh7cGFkZGluZzoiaW5uZXIiK2EsY29udGVudDpiLCIiOiJvdXRlciIrYX0sZnVuY3Rpb24oYyxkKXttLmZuW2RdPWZ1bmN0aW9uKGQsZSl7dmFyIGY9YXJndW1lbnRzLmxlbmd0aCYmKGN8fCJib29sZWFuIiE9dHlwZW9mIGQpLGc9Y3x8KGQ9PT0hMHx8ZT09PSEwPyJtYXJnaW4iOiJib3JkZXIiKTtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZTtyZXR1cm4gbS5pc1dpbmRvdyhiKT9iLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IithXTo5PT09Yi5ub2RlVHlwZT8oZT1iLmRvY3VtZW50RWxlbWVudCxNYXRoLm1heChiLmJvZHlbInNjcm9sbCIrYV0sZVsic2Nyb2xsIithXSxiLmJvZHlbIm9mZnNldCIrYV0sZVsib2Zmc2V0IithXSxlWyJjbGllbnQiK2FdKSk6dm9pZCAwPT09ZD9tLmNzcyhiLGMsZyk6bS5zdHlsZShiLGMsZCxnKX0sYixmP2Q6dm9pZCAwLGYsbnVsbCl9fSl9KSxtLmZuLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9LG0uZm4uYW5kU2VsZj1tLmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG19KTt2YXIgZWM9YS5qUXVlcnksZmM9YS4kO3JldHVybiBtLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PW0mJihhLiQ9ZmMpLGImJmEualF1ZXJ5PT09bSYmKGEualF1ZXJ5PWVjKSxtfSx0eXBlb2YgYj09PUsmJihhLmpRdWVyeT1hLiQ9bSksbX0pOwo=&quot;&gt;&lt;/script&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot; /&gt;
&lt;link href=&quot;data:text/css,html%7Bfont%2Dfamily%3Asans%2Dserif%3B%2Dwebkit%2Dtext%2Dsize%2Dadjust%3A100%25%3B%2Dms%2Dtext%2Dsize%2Dadjust%3A100%25%7Dbody%7Bmargin%3A0%7Darticle%2Caside%2Cdetails%2Cfigcaption%2Cfigure%2Cfooter%2Cheader%2Chgroup%2Cmain%2Cmenu%2Cnav%2Csection%2Csummary%7Bdisplay%3Ablock%7Daudio%2Ccanvas%2Cprogress%2Cvideo%7Bdisplay%3Ainline%2Dblock%3Bvertical%2Dalign%3Abaseline%7Daudio%3Anot%28%5Bcontrols%5D%29%7Bdisplay%3Anone%3Bheight%3A0%7D%5Bhidden%5D%2Ctemplate%7Bdisplay%3Anone%7Da%7Bbackground%2Dcolor%3Atransparent%7Da%3Aactive%2Ca%3Ahover%7Boutline%3A0%7Dabbr%5Btitle%5D%7Bborder%2Dbottom%3A1px%20dotted%7Db%2Cstrong%7Bfont%2Dweight%3A700%7Ddfn%7Bfont%2Dstyle%3Aitalic%7Dh1%7Bmargin%3A%2E67em%200%3Bfont%2Dsize%3A2em%7Dmark%7Bcolor%3A%23000%3Bbackground%3A%23ff0%7Dsmall%7Bfont%2Dsize%3A80%25%7Dsub%2Csup%7Bposition%3Arelative%3Bfont%2Dsize%3A75%25%3Bline%2Dheight%3A0%3Bvertical%2Dalign%3Abaseline%7Dsup%7Btop%3A%2D%2E5em%7Dsub%7Bbottom%3A%2D%2E25em%7Dimg%7Bborder%3A0%7Dsvg%3Anot%28%3Aroot%29%7Boverflow%3Ahidden%7Dfigure%7Bmargin%3A1em%2040px%7Dhr%7Bheight%3A0%3B%2Dwebkit%2Dbox%2Dsizing%3Acontent%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Acontent%2Dbox%3Bbox%2Dsizing%3Acontent%2Dbox%7Dpre%7Boverflow%3Aauto%7Dcode%2Ckbd%2Cpre%2Csamp%7Bfont%2Dfamily%3Amonospace%2Cmonospace%3Bfont%2Dsize%3A1em%7Dbutton%2Cinput%2Coptgroup%2Cselect%2Ctextarea%7Bmargin%3A0%3Bfont%3Ainherit%3Bcolor%3Ainherit%7Dbutton%7Boverflow%3Avisible%7Dbutton%2Cselect%7Btext%2Dtransform%3Anone%7Dbutton%2Chtml%20input%5Btype%3Dbutton%5D%2Cinput%5Btype%3Dreset%5D%2Cinput%5Btype%3Dsubmit%5D%7B%2Dwebkit%2Dappearance%3Abutton%3Bcursor%3Apointer%7Dbutton%5Bdisabled%5D%2Chtml%20input%5Bdisabled%5D%7Bcursor%3Adefault%7Dbutton%3A%3A%2Dmoz%2Dfocus%2Dinner%2Cinput%3A%3A%2Dmoz%2Dfocus%2Dinner%7Bpadding%3A0%3Bborder%3A0%7Dinput%7Bline%2Dheight%3Anormal%7Dinput%5Btype%3Dcheckbox%5D%2Cinput%5Btype%3Dradio%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%3Bpadding%3A0%7Dinput%5Btype%3Dnumber%5D%3A%3A%2Dwebkit%2Dinner%2Dspin%2Dbutton%2Cinput%5Btype%3Dnumber%5D%3A%3A%2Dwebkit%2Douter%2Dspin%2Dbutton%7Bheight%3Aauto%7Dinput%5Btype%3Dsearch%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Acontent%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Acontent%2Dbox%3Bbox%2Dsizing%3Acontent%2Dbox%3B%2Dwebkit%2Dappearance%3Atextfield%7Dinput%5Btype%3Dsearch%5D%3A%3A%2Dwebkit%2Dsearch%2Dcancel%2Dbutton%2Cinput%5Btype%3Dsearch%5D%3A%3A%2Dwebkit%2Dsearch%2Ddecoration%7B%2Dwebkit%2Dappearance%3Anone%7Dfieldset%7Bpadding%3A%2E35em%20%2E625em%20%2E75em%3Bmargin%3A0%202px%3Bborder%3A1px%20solid%20silver%7Dlegend%7Bpadding%3A0%3Bborder%3A0%7Dtextarea%7Boverflow%3Aauto%7Doptgroup%7Bfont%2Dweight%3A700%7Dtable%7Bborder%2Dspacing%3A0%3Bborder%2Dcollapse%3Acollapse%7Dtd%2Cth%7Bpadding%3A0%7D%40media%20print%7B%2A%2C%3Aafter%2C%3Abefore%7Bcolor%3A%23000%21important%3Btext%2Dshadow%3Anone%21important%3Bbackground%3A0%200%21important%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%21important%3Bbox%2Dshadow%3Anone%21important%7Da%2Ca%3Avisited%7Btext%2Ddecoration%3Aunderline%7Da%5Bhref%5D%3Aafter%7Bcontent%3A%22%20%28%22%20attr%28href%29%20%22%29%22%7Dabbr%5Btitle%5D%3Aafter%7Bcontent%3A%22%20%28%22%20attr%28title%29%20%22%29%22%7Da%5Bhref%5E%3D%22javascript%3A%22%5D%3Aafter%2Ca%5Bhref%5E%3D%22%23%22%5D%3Aafter%7Bcontent%3A%22%22%7Dblockquote%2Cpre%7Bborder%3A1px%20solid%20%23999%3Bpage%2Dbreak%2Dinside%3Aavoid%7Dthead%7Bdisplay%3Atable%2Dheader%2Dgroup%7Dimg%2Ctr%7Bpage%2Dbreak%2Dinside%3Aavoid%7Dimg%7Bmax%2Dwidth%3A100%25%21important%7Dh2%2Ch3%2Cp%7Borphans%3A3%3Bwidows%3A3%7Dh2%2Ch3%7Bpage%2Dbreak%2Dafter%3Aavoid%7D%2Enavbar%7Bdisplay%3Anone%7D%2Ebtn%3E%2Ecaret%2C%2Edropup%3E%2Ebtn%3E%2Ecaret%7Bborder%2Dtop%2Dcolor%3A%23000%21important%7D%2Elabel%7Bborder%3A1px%20solid%20%23000%7D%2Etable%7Bborder%2Dcollapse%3Acollapse%21important%7D%2Etable%20td%2C%2Etable%20th%7Bbackground%2Dcolor%3A%23fff%21important%7D%2Etable%2Dbordered%20td%2C%2Etable%2Dbordered%20th%7Bborder%3A1px%20solid%20%23ddd%21important%7D%7D%40font%2Dface%7Bfont%2Dfamily%3A%27Glyphicons%20Halflings%27%3Bsrc%3Aurl%28data%3Aapplication%2Fvnd%2Ems%2Dfontobject%3Bbase64%2Cn04AAEFNAAACAAIABAAAAAAABQAAAAAAAAABAJABAAAEAExQAAAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAJxJ%2FLAAAAAAAAAAAAAAAAAAAAAAAACgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAAAADgBSAGUAZwB1AGwAYQByAAAAeABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAA5ADsAUABTACAAMAAwADEALgAwADAAOQA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADcAMAA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADUAOAAzADIAOQAAADgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzACAAUgBlAGcAdQBsAGEAcgAAAAAAQlNHUAAAAAAAAAAAAAAAAAAAAAADAKncAE0TAE0ZAEbuFM3pjM%2FSEdmjKHUbyow8ATBE40IvWA3vTu8LiABDQ%2BpexwUMcm1SMnNryctQSiI1K5ZnbOlXKmnVV5YvRe6RnNMFNCOs1KNVpn6yZhCJkRtVRNzEufeIq7HgSrcx4S8h%2Fv4vnrrKc6oCNxmSk2uKlZQHBii6iKFoH0746ThvkO1kJHlxjrkxs%2BLWORaDQBEtiYJIR5IB9Bi1UyL4Rmr0BNigNkMzlKQmnofBHviqVzUxwdMb3NdCn69hy%2BpRYVKGVS%2F1tnsqv4LL7wCCPZZAZPT4aCShHjHJVNuXbmMrY5LeQaGnvAkXlVrJgKRAUdFjrWEah9XebPeQMj7KS7DIBAFt8ycgC5PLGUOHSE3ErGZCiViNLL5ZARfywnCoZaKQCu6NuFX42AEeKtKUGnr%2FCm2Cy8tpFhBPMW5Fxi4Qm4TkDWh4IWFDClhU2hRWosUWqcKLlgyXB%2BlSHaWaHiWlBAR8SeSgSPCQxdVQgzUixWKSTrIQEbU94viDctkvX%2BVSjJuUmV8L4CXShI11esnp0pjWNZIyxKHS4wVQ2ime1P4RnhvGw0aDN1OLAXGERsB7buFpFGGBAre4QEQR0HOIO5oYH305G%2BKspT%2FFupEGGafCCwxSe6ZUa%2B073rXHnNdVXE6eWvibUS27XtRzkH838mYLMBmYysZTM0EM3A1fbpCBYFccN1B%2FEnCYu%2FTgCGmr7bMh8GfYL%2BBfcLvB0gRagC09w9elfldaIy%2FhNCBLRgBgtCC7jAF63wLSMAfbfAlEggYU0bUA7ACCJmTDpEmJtI78w4%2FBO7dN7JR7J7ZvbYaUbaILSQsRBiF3HGk5fEg6p9unwLvn98r%2BvnsV%2B372uf1xBLq4qU%2F45fTuqaAP%2BpssmCCCTF0mhEow8ZXZOS8D7Q85JsxZ%2BAzok7B7O%2Ff6J8AzYBySZQB%2FQHYUSA%2BEeQhEWiS6AIQzgcsDiER4MjgMBAWDV4AgQ3g1eBgIdweCQmCjJEMkJ%2BPKRWyFHHmg1Wi%2F6xzUgA0LREoKJChwnQa9B%2B5RQZRB3IlBlkAnxyQNaANwHMowzlYSMCBgnbpzvqpl0iTJNCQidDI9ZrSYNIRBhHtUa5YHMHxyGEik9hDE0AKj72AbTCaxtHPUaKZdAZSnQTyjGqGLsmBStCejApUhg4uBMU6mATujEl%2BKdDPbI6Ag4vLr%2BhjY6lbjBeoLKnZl0UZgRX8gTySOeynZVz1wOq7e1hFGYIq%2BMhrGxDLak0PrwYzSXtcuyhXEhwOYofiW%2BEcI%2Fjw8P6IY6ed%2BetAbuqKp5QIapT77LnAe505lMuqL79a0ut4rWexzFttsOsLDy7zvtQzcq3U1qabe7tB0wHWVXji%2BzDbo8x8HyIRUbXnwUcklFv51fvTymiV%2BMXLSmGH9d9%2BaXpD5X6lao41anWGig7IwIdnoBY2ht%2FpO9mClLo4NdXHAsefqWUKlXJkbqPOFhMoR4aiA1BXqhRNbB2Xwi%2B7u%2FjpAoOpKJ0UX24EsrzMfHXViakCNcKjBxuQX8BO0ZqjJ3xXzf%2B61t2VXOSgJ8xu65QKgtN6FibPmPYsXbJRHHqbgATcSZxBqGiDiU4NNNsYBsKD0MIP%2FOfKnlk%2FLkaid%2FO2NbKeuQrwOB2Gq3YHyr6ALgzym5wIBnsdC1ZkoBFZSQXChZvlesPqvK2c5oHHT3Q65jYpNxnQcGF0EHbvYqoFw60WNlXIHQF2HQB7zD6lWjZ9rVqUKBXUT6hrkZOle0RFYII0V5ZYGl1JAP0Ud1fZZMvSomBzJ710j4Me8mjQDwEre5Uv2wQfk1ifDwb5ksuJQQ3xt423lbuQjvoIQByQrNDh1JxGFkOdlJvu%2FgFtuW0wR4cgd%2BZKesSV7QkNE2kw6AV4hoIuC02LGmTomyf8PiO6CZzOTLTPQ%2BHW06H%2Btx%2BbQ8LmDYg1pTFrp2oJXgkZTyeRJZM0C8aE2LpFrNVDuhARsN543%2FFV6klQ6Tv1OoZGXLv0igKrl%2FCmJxRmX7JJbJ998VSIPQRyDBICzl4JJlYHbdql30NvYcOuZ7a10uWRrgoieOdgIm4rlq6vNOQBuqESLbXG5lzdJGHw2m0sDYmODXbYGTfSTGRKpssTO95fothJCjUGQgEL4yKoGAF%2F0SrpUDNn8CBgBcSDQByAeNkCXp4S4Ro2Xh4OeaGRgR66PVOsU8bc6TR5%2FxTcn4IVMLOkXSWiXxkZQCbvKfmoAvQaKjO3EDKwkwqHChCDEM5loQRPd5ACBki1TjF772oaQhQbQ5C0lcWXPFOzrfsDGUXGrpxasbG4iab6eByaQkQfm0VFlP0ZsDkvvqCL6QXMUwCjdMx1ZOyKhTJ7a1GWAdOUcJ8RSejxNVyGs31OKMyRyBVoZFjqIkmKlLQ5eHMeEL4MkUf23cQ%2F1SgRCJ1dk4UdBT7OoyuNgLs0oCd8RnrEIb6QdMxT2QjD4zMrJkfgx5aDMcA4orsTtKCqWb%2FVeyceqa5OGSmB28YwH4rFbkQaLoUN8OQQYnD3w2eXpI4ScQfbCUZiJ4yMOIKLyyTc7BQ4uXUw6Ee6%2FxM%2B4Y67ngNBknxIPwuppgIhFcwJyr6EIj%2BLzNj%2FmfR2vhhRlx0BILZoAYruF0caWQ7YxO66UmeguDREAFHYuC7HJviRgVO6ruJH59h%2FC%2FPkgSle8xNzZJULLWq9JMDTE2fjGE146a1Us6PZDGYle6ldWRqn%2FpdpgHKNGrGIdkRK%2BKPETT9nKT6kLyDI8xd9A1FgWmXWRAIHwZ37WyZHOVyCadJEmMVz0MadMjDrPho%2BEIochkVC2xgGiwwsQ6DMv2P7UXqT4x7CdcYGId2BJQQa85EQKmCmwcRejQ9Bm4oATENFPkxPXILHpMPUyWTI5rjNOsIlmEeMbcOCEqInpXACYQ9DDxmFo9vcmsDblcMtg4tqBerNngkIKaFJmrQAPnq1dEzsMXcwjcHdfdCibcAxxA%2Bq%2Fj9m3LM%2FO7WJka4tSidVCjsvo2lQ%2F2ewyoYyXwAYyr2PlRoR5MpgVmSUIrM3PQxXPbgjBOaDQFIyFMJvx3Pc5RSYj12ySVF9fwFPQu2e2KWVoL9q3Ayv3IzpGHUdvdPdrNUdicjsTQ2ISy7QU3DrEytIjvbzJnAkmANXjAFERA0MUoPF3%2F5KFmW14bBNOhwircYgMqoDpUMcDtCmBE82QM2YtdjVLB4kBuKho%2FbcwQdeboqfQartuU3CsCf%2BcXkgYAqp%2F0Ee3RorAZt0AvvOCSI4JICIlGlsV0bsSid%2FNIEALAAzb6HAgyWHBps6xAOwkJIGcB82CxRQq4sJf3FzA70A%2BTRqcqjEMETCoez3mkPcpnoALs0ugJY8kQwrC%2BJE5ik3w9rzrvDRjAQnqgEVvdGrNwlanR0SOKWzxOJOvLJhcd8Cl4AshACUkv9czdMkJCVQSQhp6kp7StAlpVRpK0t0SW6LHeBJnE2QchB5Ccu8kxRghZXGIgZIiSj7gEKMJDClcnX6hgoqJMwiQDigIXg3ioFLCgDgjPtYHYpsF5EiA4kcnN18MZtOrY866dEQAb0FB34OGKHGZQjwW%2FWDHA60cYFaI%2FPjpzquUqdaYGcIq%2BmLez3WLFFCtNBN2QJcrlcoELgiPku5R5dSlJFaCEqEZle1AQzAKC%2B1SotMcBNyQUFuRHRF6OlimSBgjZeTBCwLyc6A%2BP%2FoFRchXTz5ADknYJHxzrJ5pGuIKRQISU6WyKTBBjD8WozmVYWIsto1AS5rxzKlvJu4E%2FvwOiKxRtCWsDM%2BeTHUrmwrCK5BIfMzGkD%2B0Fk5LzBs0jMYXktNDblB06LMNJ09U8pzSLmo14MS0OMjcdrZ31pyQqxJJpRImlSvfYAK8inkYU52QY2FPEVsjoWewpwhRp5yAuNpkqhdb7ku9Seefl2D0B8SMTFD90xi4CSOwwZy9IKkpMtI3FmFUg3%2FkFutpQGNc3pCR7gvC4sgwbupDu3DyEN%2BW6YGLNM21jpB49irxy9BSlHrVDlnihGKHwPrbVFtc%2Bh1rVQKZduxIyojccZIIcOCmhEnC7UkY68WXKQgLi2JCDQkQWJRQuk60hZp0D3rtCTINSeY9Ej2kIKYfGxwOs4j9qMM7fYZiipzgcf7TamnehqdhsiMiCawXnz4xAbyCkLAx5EGbo3Ax1u3dUIKnTxIaxwQTHehPl3V491H0%2BbC5zgpGz7Io%2BmjdhKlPJ01EeMpM7UsRJMi1nGjmJg35i6bQBAAxjO%2FENJubU2mg3ONySEoWklCwdABETcs7ck3jgiuU9pcKKpbgn%2B3YlzV1FzIkB6pmEDOSSyDfPPlQskznctFji0kpgZjW5RZe6x9kYT4KJcXg0bNiCyif%2BpZACCyRMmYsfiKmN9tSO65F0R2OO6ytlEhY5Sj6uRKfFxw0ijJaAx%2Fk3QgnAFSq27%2F2i4GEBA%2BUvTJKK%2F9eISNvG46Em5RZfjTYLdeD8kdXHyrwId%2FDQZUaMCY4gGbke2C8vfjgV%2FY9kkRQOJIn%2FxM9INZSpiBnqX0Q9GlQPpPKAyO5y%2BW5NMPSRdBCUlmuxl40ZfMCnf2Cp044uI9WLFtCi4YVxKjuRCOBWIb4XbIsGdbo4qtMQnNOQz4XDSui7W%2FN6l54qOynCqD3DpWQ%2BmpD7C40D8BZEWGJX3tlAaZBMj1yjvDYKwCJBa201u6nBKE5UE%2B7QSEhCwrXfbRZylAaAkplhBWX50dumrElePyNMRYUrC99UmcSSNgImhFhDI4BXjMtiqkgizUGCrZ8iwFxU6fQ8GEHCFdLewwxYWxgScAYMdMLmcZR6b7rZl95eQVDGVoUKcRMM1ixXQtXNkBETZkVVPg8LoSrdetHzkuM7DjZRHP02tCxA1fmkXKF3VzfN1pc1cv%2F8lbTIkkYpqKM9VOhp65ktYk%2BQ46myFWBapDfyWUCnsnI00QTBQmuFjMZTcd0V2NQ768Fhpby04k2IzNR1wKabuGJqYWwSly6ocMFGTeeI%2BejsWDYgEvr66QgqdcIbFYDNgsm0x9UHY6SCd5%2B7tpsLpKdvhahIDyYmEJQCqMqtCF6UlrE5GXRmbu%2Bvtm3BFSxI6ND6UxIE7GsGMgWqghXxSnaRJuGFveTcK5ZVSPJyjUxe1dKgI6kNF7EZhIZs8y8FVqwEfbM0Xk2ltORVDKZZM40SD3qQoQe0orJEKwPfZwm3YPqwixhUMOndis6MhbmfvLBKjC8sKKIZKbJk8L11oNkCQzCgvjhyyEiQSuJcgCQSG4Mocfgc0Hkwcjal1UNgP0CBPikYqBIk9tONv4kLtBswH07vUCjEaHiFGlLf8MgXKzSgjp2HolRRccAOh0ILHz9qlGgIFkwAnzHJRjWFhlA7ROwINyB5HFj59PRZHFor6voq7l23EPNRwdWhgawqbivLSjRA4htEYUFkjESu67icTg5S0aW1sOkCiIysfJ9UnIWevOOLGpepcBxy1wEhd2WI3AZg7sr9WBmHWyasxMcvY%2FiOmsLtHSWNUWEGk9hScMPShasUA1AcHOtRZlqMeQ0OzYS9vQvYUjOLrzP07BUAFikcJNMi7gIxEw4pL1G54TcmmmoAQ5s7TGWErJZ2Io4yQ0ljRYhL8H5e62oDtLF8aDpnIvZ5R3GWJyAugdiiJW9hQAVTsnCBHhwu7rkBlBX6r3b7ejEY0k5GGeyKv66v%2B6dg7mcJTrWHbtMywbedYqCQ0FPwoytmSWsL8WTtChZCKKzEF7vP6De4x2BJkkniMgSdWhbeBSLtJZR9CTHetK1xb34AYIJ37OegYIoPVbXgJ%2FqDQK%2BbfCtxQRVKQu77WzOoM6SGL7MaZwCGJVk46aImai9fmam%2BWpHG%2B0BtQPWUgZ7RIAlPq6lkECUhZQ2gqWkMYKcYMYaIc4gYCDFHYa2d1nzp3%2BJ1eCBay8IYZ0wQRKGAqvCuZ%2FUgbQPyllosq%2BXtfKIZOzmeJqRazpmmoP%2F76YfkjzV2NlXTDSBYB04SVlNQsFTbGPk1t%2FI4Jktu0XSgifO2ozFOiwd%2F0SssJDn0dn4xqk4GDTTKX73%2FwQyBLdqgJ%2BWx6AQaba3BA9CKEzjtQYIfAsiYamapq80LAamYjinlKXUkxdpIDk0puXUEYzSalfRibAeDAKpNiqQ0FTwoxuGYzRnisyTotdVTclis1LHRQCy%2FqqL8oUaQzWRxilq5Mi0IJGtMY02cGLD69vGjkj3p6pGePKI8bkBv5evq8SjjyU04vJR2cQXQwSJyoinDsUJHCQ50jrFTT7yRdbdYQMB3MYCb6uBzJ9ewhXYPAIZSXfeEQBZZ3GPN3Nbhh%2FwkvAJLXnQMdi5NYYZ5GHE400GS5rXkOZSQsdZgIbzRnF9ueLnsfQ47wHAsirITnTlkCcuWWIUhJSbpM3wWhXNHvt2xUsKKMpdBSbJnBMcihkoDqAd1Zml%2FR4yrzow1Q2A5G%2Bkzo%2FRhRxQS2lCSDRV8LlYLBOOoo1bF4jwJAwKMK1tWLHlu9i0j4Ig8qVm6wE1DxXwAwQwsaBWUg2pOOol2dHxyt6npwJEdLDDVYyRc2D0HbcbLUJQj8gPevQBUBOUHXPrsAPBERICpnYESeu2OHotpXQxRGlCCtLdIsu23MhZVEoJg8Qumj%2FUMMc34IBqTKLDTp76WzL%2FdMjCxK7MjhiGjeYAC%2Fkj%2FjY%2FRde7hpSM1xChrog6yZ7OWTuD56xBJnGFE%2BpT2ElSyCnJcwVzCjkqeNLfMEJqKW0G7OFIp0G%2B9mh50I9o8k1tpCY0xYqFNIALgIfc2me4n1bmJnRZ89oepgLPT0NTMLNZsvSCZAc3TXaNB07vail36%2FdBySis4m9%2FDR8izaLJW6bWCkVgm5T%2Bius3ZXq4xI%2BGnbveLbdRwF2mNtsrE0JjYc1AXknCOrLSu7Te%2Fr4dPYMCl5qtiHNTn%2BTPbh1jCBHH%2BdMJNhwNgs3nT%2BOhQoQ0vYif56BMG6WowAcHR3DjQolxLzyVekHj00PBAaW7IIAF1EF%2BuRIWyXjQMAs2chdpaKPNaB%2BkSezYt0%2BCA04sOg5vx8Fr7Ofa9sUv87h7SLAUFSzbetCCZ9pmyLt6l6%2FTzoA1%2FZBG9bIUVHLAbi%2FkdBFgYGyGwRQGBpkqCEg2ah9UD6EedEcEL3j4y0BQQCiExEnocA3SZboh%2Bepgd3YsOkHskZwPuQ5OoyA0fTA5AXrHcUOQF%2BzkJHIA7PwCDk1gGVmGUZSSoPhNf%2BTklauz98QofOlCIQ%2FtCD4dosHYPqtPCXB3agggQQIqQJsSkB%2Bqn0rkQ1toJjON%2FOtCIB9RYv3PqRA4C4U68ZMlZn6BdgEvi2ziU%2BTQ6NIw3ej%2BAtDwMGEZk7e2IjxUWKdAxyaw9OCwSmeADTPPleyk6UhGDNXQb%2B%2BW6Uk4q6F7%2Frg6WVTo82IoCxSIsFDrav4EPHphD3u4hR53WKVvYZUwNCCeM4PMBWzK%2BEfIthZOkuAwPo5C5jgoZgn6dUdvx5rIDmd58cXXdKNfw3l%2BwM2UjgrDJeQHhbD7HW2QDoZMCujgIUkk5Fg8VCsdyjOtnGRx8wgKRPZN5dR0zPUyfGZFVihbFRniXZFOZGKPnEQzU3AnD1KfR6weHW2XS6KbPJxUkOTZsAB9vTVp3Le1F8q5l%2BDMcLiIq78jxAImD2pGFw0VHfRatScGlK6SMu8leTmhUSMy8Uhdd6xBiH3Gdman4tjQGLboJfqz6fL2WKHTmrfsKZRYX6BTDjDldKMosaSTLdQS7oDisJNqAUhw1PfTlnacCO8vl8706Km1FROgLDmudzxg%2BEWTiArtHgLsRrAXYWdB0NmToNCJdKm0KWycZQqb%2BMw76Qy29iQ5up%2FX7oyw8QZ75kP5F6iJAJz6KCmqxz8fEa%2FxnsMYcIO%2FvEkGRuMckhr4rIeLrKaXnmIzlNLxbFspOphkcnJdnz%2FChp%2FVlpj2P7jJQmQRwGnltkTV5dbF9fE3%2FfxoSqTROgq9wFUlbuYzYcasE0ouzBo%2BdDCDzxKAfhbAZYxQiHrLzV2iVexnDX%2FQnT1fsT%2Fxuhu1ui5qIytgbGmRoQkeQooO8eJNNZsf0iALur8QxZFH0nCMnjerYQqG1pIfjyVZWxhVRznmmfLG00BcBWJE6hzQWRyFknuJnXuk8A5FRDCulwrWASSNoBtR%2BCtGdkPwYN2o7DOw%2FVGlCZPusRBFXODQdUM5zeHDIVuAJBLqbO%2Ff9Qua%2BpDqEPk230Sob9lEZ8BHiCorjVghuI0lI4JDgHGRDD%2FprQ84B1pVGkIpVUAHCG%2Biz3Bn3qm2AVrYcYWhock4jso5%2BJ7HfHVj4WMIQdGctq3psBCVVzupQOEioBGA2Bk%2BUILT7%2BVoX5mdxxA5fS42gISQVi%2FHTzrgMxu0fY6hE1ocUwwbsbWcezrY2n6S8%2F6cxXkOH4prpmPuFoikTzY7T85C4T2XYlbxLglSv2uLCgFv8Quk%2FwdesUdWPeHYIH0R729JIisN9Apdd4eB10aqwXrPt%2BSu9mA8k8n1sjMwnfsfF2j3jMUzXepSHmZ%2FBfqXvzgUNQQWOXO8YEuFBh4QTYCkOAPxywpYu1VxiDyJmKVcmJPGWk%2Fgc3Pov02StyYDahwmzw3E1gYC9wkupyWfDqDSUMpCTH5e5N8B%2F%2FlHiMuIkTNw4USHrJU67bjXGqNav6PBuQSoqTxc8avHoGmvqNtXzIaoyMIQIiiUHIM64cXieouplhNYln7qgc4wBVAYR104kO%2BCvKqsg4yIUlFNThVUAKZxZt1XA34h3TCUUiXVkZ0w8Hh2R0Z5L0b4LZvPd%2Fp1gi%2F07h8qfwHrByuSxglc9cI4QIg2oqvC%2Fqm0i7tjPLTgDhoWTAKDO2ONW5oe%2B%2FeKB9vZB8K6C25yCZ9RFVMnb6NRdRjyVK57CHHSkJBfnM2%2Fj4ODUwRkqrtBBCrDsDpt8jhZdXoy%2F1BCqw3sSGhgGGy0a5Jw6BP%2FTExoCmNFYjZl248A0osgPyGEmRA%2BfAsqPVaNAfytu0vuQJ7rk3J4kTDTR2AlCHJ5cls26opZM4w3jMULh2YXKpcqGBtuleAlOZnaZGbD6DHzMd6i2oFeJ8z9XYmalg1Szd%2FocZDc1C7Y6vcALJz2lYnTXiWEr2wawtoR4g3jvWUU2Ngjd1cewtFzEvM1NiHZPeLlIXFbBPawxNgMwwAlyNSuGF3zizVeOoC9bag1qRAQKQE%2FEZBWC2J8mnXAN2aTBboZ7HewnObE8CwROudZHmUM5oZ%2FUgd%2FJZQK8lvAm43uDRAbyW8gZ%2BZGq0EVerVGUKUSm%2FIdn8AQHdR4m7bue88WBwft9mSCeMOt1ncBwziOmJYI2ZR7ewNMPiCugmSsE4EyQ%2BQATJG6qORMGd4snEzc6B4shPIo4G1T7PgSm8PY5eUkPdF8JZ0VBtadbHXoJgnEhZQaODPj2gpODKJY5Yp4DOsLBFxWbvXN755KWylJm%2BoOd4zEL9Hpubuy2gyyfxh8oEfFutnYWdfB8PdESLWYvSqbElP9qo3u6KTmkhoacDauMNNjj0oy40DFV7Ql0aZj77xfGl7TJNHnIwgqOkenruYYNo6h724%2BzUQ7%2BvkCpZB%2BpGA562hYQiDxHVWOq0oDQl%2FQsoiY%2BcuI7iWq%2FZIBtHcXJ7kks%2Bh2fCNUPA82BzjnqktNts%2BRLdk1VSu%2BtqEn7QZCCsvEqk6FkfiOYkrsw092J8jsfIuEKypNjLxrKA9kiA19mxBD2suxQKCzwXGws7kEJvlhUiV9tArLIdZW0IORcxEzdzKmjtFhsjKy%2F44XYXdI5noQoRcvjZ1RMPACRqYg2V1%2BOwOepcOknRLLFdYgTkT5UApt%2FJhLM3jeFYprZV%2BZow2g8fP%2BU68hkKFWJj2yBbKqsrp25xkZX1DAjUw52IMYWaOhab8Kp05VrdNftqwRrymWF4OQSjbdfzmRZirK8FMJELEgER2PHjEAN9pGfLhCUiTJFbd5LBkOBMaxLr%2FA1SY9dXFz4RjzoU9ExfJCmx%2FI9FKEGT3n2cmzl2X42L3Jh%2BAbQq6sA%2BSs1kitoa4TAYgKHaoybHUDJ51oETdeI%2F9ThSmjWGkyLi5QAGWhL0BG1UsTyRGRJOldKBrYJeB8ljLJHfATWTEQBXBDnQexOHTB%2BUn44zExFE4vLytcu5NwpWrUxO%2F0ZICUGM7hGABXym0V6ZvDST0E370St9MIWQOTWngeoQHUTdCJUP04spMBMS8LSker9cReVQkULFDIZDFPrhTzBl6sed9wcZQTbL%2BBDqMyaN3RJPh%2Fanbx%2BIv%2BqgQdAa3M9Z5JmvYlh4qop%2BHo1F1W5gbOE9YKLgAnWytXElU4G8GtW47lhgFE6gaSs%2Bgs37sFvi0PPVvA5dnCBgILTwoKd%2F%2BDoL9F6inlM7H4rOTzD79KJgKlZO%2FZgt22UsKhrAaXU5ZcLrAglTVKJEmNJvORGN1vqrcfSMizfpsgbIe9zno%2BgBoKVXgIL%2FVI8dB1O5o%2FR3Suez%2FgD7M781ShjKpIIORM%2FnxG%2BjjhhgPwsn2IoXsPGPqYHXA63zJ07M2GPEykQwJBYLK808qYxuIew4frk52nhCsnCYmXiR6CuapvE1IwRB4%2FQftDbEn%2BAucIr1oxrLabRj9q4ae0%2BfXkHnteAJwXRbVkR0mctVSwEbqhJiMSZUp9DNbEDMmjX22m3ABpkrPQQTP3S1sib5pD2VRKRd%2BeNAjLYyT0hGrdjWJZy24OYXRoWQAIhGBZRxuBFMjjZQhpgrWo8SiFYbojcHO8V5DyscJpLTHyx9Fimassyo5U6WNtquUMYgccaHY5amgR3PQzq3ToNM5ABnoB9kuxsebqmYZm0R9qxJbFXCQ1UPyFIbxoUraTJFDpCk0Wk9GaYJKz%2F6oHwEP0Q14lMtlddQsOAU9zlYdMVHiT7RQP3XCmWYDcHCGbVRHGnHuwzScA0BaSBOGkz3lM8CArjrBsyEoV6Ys4qgDK3ykQQPZ3hCRGNXQTNNXbEb6tDiTDLKOyMzRhCFT%2BmAUmiYbV3YQVqFVp9dorv%2BTsLeCykS2b5yyu8AV7IS9cxcL8z4Kfwp%2BxJyYLv1OsxQCZwTB4a8BZ%2F5EdxTBJthApqyfd9u3ifr%2FWILTqq5VqgwMT9SOxbSGWLQJUUWCVi4k9tho9nEsbUh7U6NUsLmkYFXOhZ0kmamaJLRNJzSj%2Fqn4Mso6zb6iLLBXoaZ6AqeWCjHQm2lztnejYYM2eubnpBdKVLORZhudH3JF1waBJKA9%2BW8EhMj3Kzf0L4vi4k6RoHh3Z5YgmSZmk6ns4fjScjAoL8GoOECgqgYEBYUGFVO4FUv4%2FYtowhEmTs0vrvlD%2FCrisnoBNDAcUi%2FteY7OctFlmARQzjOItrrlKuPO6E2Ox93L4O%2F4DcgV%2FdZ7qR3VBwVQxP1GCieA4RIpweYJ5FoYrHxqRBdJjnqbsikA2Ictbb8vE1GYIo9dacK0REgDX4smy6GAkxlH1yCGGsk%2BtgiDhNKuKu3yNrMdxafmKTF632F8Vx4BNK57GvlFisrkjN9WDAtjsWA0ENT2e2nETUb%2Fn7qwhvGnrHuf5bX6Vh%2Fn3xffU3PeHdR%2BFA92i6ufT3AlyAREoNDh6chiMWTvjKjHDeRhOa9YkOQRq1vQXEMppAQVwHCuIcV2g5rBn6GmZZpTR7vnSD6ZmhdSl176gqKTXu5E%2BYbfL0adwNtHP7dT7t7b46DVZIkzaRJOM%2BS6KcrzYVg%2BT3wSRFRQashjfU18NutrKa%2F7PXbtuJvpIjbgPeqd%2BpjmRw6YKpnANFSQcpzTZgpSNJ6J7uiagAbir%2F8tNXJ%2FOsOnRh6iuIexxrmkIneAgz8QoLmiaJ8sLQrELVK2yn3wOHp57BAZJhDZjTBzyoRAuuZ4eoxHruY1pSb7qq79cIeAdOwin4GdgMeIMHeG%2BFZWYaiUQQyC5b50zKjYw97dFjAeY2I4Bnl105Iku1y0lMA1ZHolLx19uZnRdILcXKlZGQx%2FGdEqSsMRU1BIrFqRcV1qQOOHyxOLXEGcbRtAEsuAC2V4K3p5mFJ22IDWaEkk9ttf5Izb2LkD1MnrSwztXmmD%2FQi%2FEmVEFBfiKGmftsPwVaIoZanlKndMZsIBOskFYpDOq3QUs9aSbAAtL5Dbokus2G4%2FasthNMK5UQKCOhU97oaOYNGsTah%2BjfCKsZnTRn5TbhFX8ghg8CBYt%2FBjeYYYUrtUZ5jVij%2Fop7V5SsbA4mYTOwZ46hqdpbB6Qvq3AS2HHNkC15pTDIcDNGsMPXaBidXYPHc6PJAkRh29Vx8KcgX46LoUQBhRM%2B3SW6Opll%2FwgxxsPgKJKzr5QCmwkUxNbeg6Wj34SUnEzOemSuvS2OetRCO8Tyy%2BQbSKVJcqkia%2BGvDefFwMOmgnD7h81TUtMn%2BmRpyJJ349HhAnoWFTejhpYTL9G8N2nVg1qkXBeoS9Nw2fB27t7trm7d%2FQK7Cr4uoCeOQ7%2F8JfKT77KiDzLImESHw%2F0wf73QeHu74hxv7uihi4fTX%2BXEwAyQG3264dwv17aJ5N335Vt9sdrAXhPOAv8JFvzqyYXwfx8WYJaef1gMl98JRFyl5Mv5Uo%2FoVH5ww5OzLFsiTPDns7fS6EURSSWd%2F92BxMYQ8sBaH%2Bj%2BwthQPdVgDGpTfi%2BJQIWMD8xKqULliRH01rTeyF8x8q%2FGBEEEBrAJMPf25UQwi0b8tmqRXY7kIvNkzrkvRWLnxoGYEJsz8u4oOyMp8cHyaybb1HdMCaLApUE%2B%2F7xLIZGP6H9xuSEXp1zLIdjk5nBaMuV%2FyTDRRP8Y2ww5RO6d2D94o%2B6ucWIqUAvgHIHXhZsmDhjVLczmZ3ca0Cb3PpKwt2UtHVQ0BgFJsqqTsnzZPlKahRUkEu4qmkJt%2Bkqdae76ViWe3STan69yaF9%2BfESD2lcQshLHWVu4ovItXxO69bqC5p1nZLvI8NdQB9s9UNaJGlQ5mG947ipdDA0eTIw%2FA1zEdjWquIsQXXGIVEH0thC5M%2BW9pZe7IhAVnPJkYCCXN5a32HjN6nsvokEqRS44tGIs7s2LVTvcrHAF%2BRVmI8L4HUYk4x%2B67AxSMJKqCg8zrGOgvK9kNMdDrNiUtSWuHFpC8%2Fp5qIQrEo%2FH%2B1l%2F0cAwQ2nKmpWxKcMIuHY44Y6DlkpO48tRuUGBWT0FyHwSKO72Ud%2BtJUfdaZ4CWNijzZtlRa8%2BCkmO%2FEwHYfPZFU%2FhzjFWH7vnzHRMo%2BaF9u8qHSAiEkA2HjoNQPEwHsDKOt6hOoK3Ce%2F%2B%2F9boMWDa44I6FrQhdgS7OnNaSzwxWKZMcyHi6LN4WC6sSj0qm2PSOGBTvDs%2FGWJS6SwEN%2FULwpb4LQo9fYjUfSXRwZkynUazlSpvX9e%2BG2zor8l%2BYaMxSEomDdLHGcD6YVQPegTaA74H8%2BV4WvJkFUrjMLGLlvSZQWvi8%2FQA7yzQ8GPno%2F%2F5SJHRP%2FOqKObPCo81s%2F%2B6WgLqykYpGAgQZhVDEBPXWgU%2FWzFZjKUhSFInufPRiMAUULC6T11yL45ZrRoB4DzOyJShKXaAJIBS9wzLYIoCEcJKQW8GVCx4fihqJ6mshBUXSw3wWVj3grrHQlGNGhIDNNzsxQ3M%2BGWn6ASobIWC%2BLbYOC6UpahVO13Zs2zOzZC8z7FmA05JhUGyBsF4tsG0drcggIFzgg%2Fkpf3%2BCnAXKiMgIE8Jk%2FMhpkc8DUJEUzDSnWlQFme3d0sHZDrg7LavtsEX3cHwjCYA17pMTfx8Ajw9hHscN67hyo%2BRJQ4458RmPywXykkVcW688oVUrQhahpPRvTWPnuI0B%2BSkQu7dCyvLRyFYlC1LG1gRCIvn3rwQeINzZQC2KXq31FaR9UmVV2QeGVqBHjmE%2BVMd3b1fhCynD0pQNhCG6%2FWCDbKPyE7NRQzL3BzQAJ0g09aUzcQA6mUp9iZFK6Sbp%2FYbHjo%2B%2B7%2FWj8S4YNa%2BZdqAw1hDrKWFXv9%2BzaXpf8ZTDSbiqsxnwN%2FCzK5tPkOr4tRh2kY3Bn9JtalbIOI4b3F7F1vPQMfoDcdxMS8CW9m%2FNCW%2FHILTUVWQIPiD0j1A6bo8vsv6P1hCESl2abrSJWDrq5sSzUpwoxaCU9FtJyYH4QFMxDBpkkBR6kn0LMPO%2B5EJ7Z6bCiRoPedRZ%2FP0SSdii7ZnPAtVwwHUidcdyspwncz5uq6vvm4IEDbJVLUFCn%2FLvIHfooUBTkFO130FC7CmmcrKdgDJcid9mvVzsDSibOoXtIf9k6ABle3PmIxejodc4aob0QKS432srrCMndbfD454q52V01G4q913mC5HOsTzWF4h2No1av1VbcUgWAqyoZl%2B11PoFYnNv2HwAODeNRkHj%2B8SF1fcvVBu6MrehHAZK1Gm69ICcTKizykHgGFx7QdowTVAsYEF2tVc0Z6wLryz2FI1sc5By2znJAAmINndoJiB4sfPdPrTC8RnkW7KRCwxC6YvXg5ahMlQuMpoCSXjOlBy0Kij%2BbsCYPbGp8BdCBiLmLSAkEQRaieWo1SYvZIKJGj9Ur%2FeWHjiB7SOVdqMAVmpBvfRiebsFjger7DC%2B8kRFGtNrTrnnGD2GAJb8rQCWkUPYHhwXsjNBSkE6lGWUj5QNhK0DMNM2l%2BkXRZ0KLZaGsFSIdQz%2FHXDxf3%2FTE30%2BDgBKWGWdxElyLccJfEpjsnszECNoDGZpdwdRgCixeg9L4EPhH%2BRptvRMVRaahu4cySjS3P5wxAUCPkmn%2BrhyASpmiTaiDeggaIxYBmtLZDDhiWIJaBgzfCsAGUF1Q1SFZYyXDt9skCaxJsxK2Ms65dmdp5WAZyxik%2FzbrTQk5KmgxCg%2Ff45L0jywebOWUYFJQAJia7XzCV0x89rpp%2Ff3AVWhSPyTanqmik2SkD8A3Ml4NhIGLAjBXtPShwKYfi2eXtrDuKLk4QlSyTw1ftXgwqA2jUuopDl%2B5tfUWZNwBpEPXghzbBggYCw%2Fdhy0ntds2yeHCDKkF%2FYxQjNIL%2FF%2F37jLPHCKBO9ibwYCmuxImIo0ijV2Wbg3kSN2psoe8IsABv3RNFaF9uMyCtCYtqcD%2BqNOhwMlfARQUdJ2tUX%2BMNJqOwIciWalZsmEjt07tfa8ma4cji9sqz%2BQ9hWfmMoKEbIHPOQORbhQRHIsrTYlnVTNvcq1imqmmPDdVDkJgRcTgB8Sb6epCQVmFZe%2BjGDiNJQLWnfx%2BdrTKYjm0G8yH0ZAGMWzEJhUEQ4Maimgf%2Fbkvo8PLVBsZl152y5S8%2BHRDfZIMCbYZ1WDp4yrdchOJw8k6R%2B%2F2pHmydK4NIK2PHdFPHtoLmHxRDwLFb7eB%2BM4zNZcB9NrAgjVyzLM7xyYSY13ykWfIEEd2n5%2FiYp3ZdrCf7fL%2Ben%2BsIJu2W7E30MrAgZBD1rAAbZHPgeAMtKCg3NpSpYQUDWJu9bT3V7tOKv%2BNRiJc8JAKqqgCA%2FPNRBR7ChpiEulyQApMK1AyqcWnpSOmYh6yLiWkGJ2mklCSPIqN7UypWj3dGi5MvsHQ87MrB4VFgypJaFriaHivwcHIpmyi5LhNqtem4q0n8awM19Qk8BOS0EsqGscuuydYsIGsbT5GHnERUiMpKJl4ON7qjB4fEqlGN%2FhCky89232UQCiaeWpDYCJINXjT6xl4Gc7DxRCtgV0i1ma4RgWLsNtnEBRQFqZggCLiuyEydmFd7WlogpkCw5G1x4ft2psm3KAREwVwr1Gzl6RT7FDAqpVal34ewVm3VH4qn5mjGj%2BbYL1NgfLNeXDwtmYSpwzbruDKpTjOdgiIHDVQSb5%2FzBgSMbHLkxWWgghIh9QTFSDILixVwg0Eg1puooBiHAt7DzwJ7m8i8%2Fi%2BjHvKf0QDnnHVkVTIqMvIQImOrzCJwhSR7qYB5gSwL6aWL9hERHCZc4G2%2BJrpgHNB8eCCmcIWIQ6rSdyPCyftXkDlErUkHafHRlkOIjxGbAktz75bnh50dU7YHk%2BMz7wwstg6RFZb%2BTZuSOx1qqP5C66c0mptQmzIC2dlpte7vZrauAMm%2F7RfBYkGtXWGiaWTtwvAQiq2oD4YixPLXE2khB2FRaNRDTk%2B9sZ6K74Ia9VntCpN4BhJGJMT4Z5c5FhSepRCRWmBXqx%2BwhVZC4me4saDs2iNqXMuCl6iAZflH8fscC1sTsy4PHeC%2BXYuqMBMUun5YezKbRKmEPwuK%2BCLzijPEQgfhahQswBBLfg%2FGBgBiI4QwAqzJkkyYAWtjzSg2ILgMAgqxYfwERRo3zruBL9WOryUArSD8sQOcD7fvIODJxKFS615KFPsb68USBEPPj1orNzFY2xoTtNBVTyzBhPbhFH0PI5AtlJBl2aSgNPYzxYLw7XTDBDinmVoENwiGzmngrMo8OmnRP0Z0i0Zrln9DDFcnmOoBZjABaQIbPOJYZGqX%2BRCMlDDbElcjaROLDoualmUIQ88Kekk3iM4OQrADcxi3rJguS4MOIBIgKgXrjd1WkbCdqxJk%2F4efRIFsavZA7KvvJQqp3Iid5Z0NFc5aiMRzGN3vrpBzaMy4JYde3wr96PjN90AYOIbyp6T4zj8LoE66OGcX1Ef4Z3KoWLAUF4BTg7ug%2FAbkG5UNQXAMkQezujSHeir2uTThgd3gpyzDrbnEdDRH2W7U6PeRvBX1ZFMP5RM%2BZu6UUZZD8hDPHldVWntTCNk7To8IeOW9yn2wx0gmurwqC60AOde4r3ETi5pVMSDK8wxhoGAoEX9NLWHIR33VbrbMveii2jAJlrxwytTHbWNu8Y4N8vCCyZjAX%2FpcsfwXbLze2%2BD%2Bu33OGBoJyAAL3jn3RuEcdp5If8O%2Ba4NKWvxOTyDltG0IWoHhwVGe7dKkCWFT%2B%2Btm%2BhaBCikRUUMrMhYKZJKYoVuv%2FbsJzO8DwfVIInQq3g3BYypiz8baogH3r3GwqCwFtZnz4xMjAVOYnyOi5HWbFA8n0qz1OjSpHWFzpQOpvkNETZBGpxN8ybhtqV%2FDMUxd9uFZmBfKXMCn%2FSqkWJyKPnT6lq%2B4zBZni6fYRByJn6OK%2BOgPBGRAJluwGSk4wxjOOzyce%2FPKODwRlsgrVkdcsEiYrqYdXo0Er2GXi2GQZd0tNJT6c9pK1EEJG1zgDJBoTVuCXGAU8BKTvCO%2FcEQ1Wjk3Zzuy90JX4m3O5IlxVFhYkSUwuQB2up7jhvkm%2BbddRQu5F9s0XftGEJ9JSuSk%2BZachCbdU45fEqbugzTIUokwoAKvpUQF%2FCvLbWW5BNQFqFkJg2f30E%2F48StNe5QwBg8zz3YAJ82FZoXBxXSv4QDooDo79NixyglO9AembuBcx5Re3CwOKTHebOPhkmFC7wNaWtoBhFuV4AkEuJ0J%2B1pT0tLkvFVZaNzfhs%2FKd3%2BA9YsImlO4XK4vpCo%2FelHQi%2F9gkFg07xxnuXLt21unCIpDV%2BbbRxb7FC6nWYTsMFF8%2B1LUg4JFjVt3vqbuhHmDKbgQ4e%2BRGizRiO8ky05LQGMdL2IKLSNar0kNG7lHJMaXr5mLdG3nykgj6vB%2FKVijd1ARWkFEf3yiUw1v%2FWaQivVUpIDdSNrrKbjO5NPnxz6qTTGgYg03HgPhDrCFyYZTi3XQw3HXCva39mpLNFtz8AiEhxAJHpWX13gCTAwgm9YTvMeiqetdNQv6IU0hH0G%2BZManTqDLPjyrOse7WiiwOJCG%2BJ0pZYULhN8NILulmYYvmVcV2MjAfA39sGKqGdjpiPo86fecg65UPyXDIAOyOkCx5NQsLeD4gGVjTVDwOHWkbbBW0GeNjDkcSOn2Nq4cEssP54t9D749A7M1AIOBl0Fi0sSO5v3P7LCBrM6ZwFY6kp2FX6AcbGUdybnfChHPyu6WlRZ2Fwv9YM0RMI7kISRgR8HpQSJJOyTfXj%2F6gQKuihPtiUtlCQVPohUgzfezTg8o1b3n9pNZeco1QucaoXe40Fa5JYhqdTspFmxGtW9h5ezLFZs3j%2FN46f%2BS2rjYNC2JySXrnSAFhvAkz9a5L3pza8eYKHNoPrvBRESpxYPJdKVUxBE39nJ1chrAFpy4MMkf0qKgYALctGg1DQI1kIymyeS2AJNT4X240d3IFQb%2F0jQbaHJ2YRK8A%2Bls6WMhWmpCXYG5jqapGs5%2FeOJErxi2%2F2KWVHiPellTgh%2FfNl%2F2KYPKb7DUcAg%2BmCOPQFCiU9Mq%2FWLcU1xxC8aLePFZZlE%2BPCLzf7ey46INWRw2kcXySR9FDgByXzfxiNKwDFbUSMMhALPFSedyjEVM5442GZ4hTrsAEvZxIieSHGSgkwFh%2FnFNdrrFD4tBH4Il7fW6ur4J8Xaz7RW9jgtuPEXQsYk7gcMs2neu3zJwTyUerHKSh1iTBkj2YJh1SSOZL5pLuQbFFAvyO4k1Hxg2h99MTC6cTUkbONQIAnEfGsGkNFWRbuRyyaEZInM5pij73EA9rPIUfU4XoqQpHT9THZkW%2BoKFLvpyvTBMM69tN1Ydwv1LIEhHsC%2BueVG%2Bw%2BkyCPsvV3erRikcscHjZCkccx6VrBkBRusTDDd8847GA7p2Ucy0y0HdSRN6YIBciYa4vuXcAZbQAuSEmzw%2BH%2FAuOx%2BaH%2BtBL88H57D0MsqyiZxhOEQkF%2F8DR1d2hSPMj%2FsNOa5rxcUnBgH8ictv2J%2Bcb4BA4v3MCShdZ2vtK30vAwkobnEWh7rsSyhmos3WC93Gn9C4nnAd%2FPjMMtQfyDNZsOPd6XcAsnBE%2FmRHtHEyJMzJfZFLE9OvQa0i9kUmToJ0ZxknTgdl%2FXPV8xoh0K7wNHHsnBdvFH3sv52lU7UFteseLG%2FVanIvcwycVA7%2BBE1Ulyb20BvwUWZcMTKhaCcmY3ROpvonVMV4N7yBXTL7IDtHzQ4CCcqF66LjF3xUqgErKzolLyCG6Kb7irP%2FMVTCCwGRxfrPGpMMGvPLgJ881PHMNMIO09T5ig7AzZTX%2F5PLlwnJLDAPfuHynSGhV4tPqR3gJ4kg4c06c%2FF1AcjGytKm2Yb5jwMotF7vro4YDLWlnMIpmPg36NgAZsGA0W1spfLSue4xxat0Gdwd0lqDBOgIaMANykwwDKejt5YaNtJYIkrSgu0KjIg0pznY0SCd1qlC6R19g97UrWDoYJGlrvCE05J%2F5wkjpkre727p5PTRX5FGrSBIfJqhJE%2FIS876PaHFkx9pGTH3oaY3jJRvLX9Iy3Edoar7cFvJqyUlOhAEiOSAyYgVEGkzHdug%2BoRHIEOXAExMiTSKU9A6nmRC8mp8iYhwWdP2U%2F5EkFAdPrZw03YA3gSyNUtMZeh7dDCu8pF5x0VORCTgKp07ehy7NZqKTpIC4UJJ89lnboyAfy5OyXzXtuDRbtAFjZRSyGFTpFrXwkpjSLIQIG3N0Vj4BtzK3wdlkBJrO18MNsgseR4BysJilI0wI6ZahLhBFA0XBmV8d4LUzEcNVb0xbLjLTETYN8OEVqNxkt10W614dd1FlFFVTIgB7%2FBQQp1sWlNolpIu4ekxUTBV7NmxOFKEBmmN%2BnA7pvF78%2FRII5ZHA09OAiE%2F66MF6HQ%2BqVEJCHxwymukkNvzqHEh52dULPbVasfQMgTDyBZzx4007YiKdBuUauQOt27Gmy8ISclPmEUCIcuLbkb1mzQSqIa3iE0PJh7UMYQbkpe%2BhXjTJKdldyt2mVPwywoODGJtBV1lJTgMsuSQBlDMwhEKIfrvsxGQjHPCEfNfMAY2oxvyKcKPUbQySkKG6tj9AQyEW3Q5rpaDJ5Sns9ScLKeizPRbvWYAw4bXkrZdmB7CQopCH8NAmqbuciZChHN8lVGaDbCnmddnqO1PQ4ieMYfcSiBE5zzMz%2BJV%2F4eyzrzTEShvqSGzgWimkNxLvUj86iAwcZuIkqdB0VaIB7wncLRmzHkiUQpPBIXbDDLHBlq7vp9xwuC9AiNkIptAYlG7Biyuk8ILdynuUM1cHWJgeB%2BK3wBP%2FineogxkvBNNQ4AkW0hvpBOQGFfeptF2YTR75MexYDUy7Q%2F9uocGsx41O4IZhViw%2F2FvAEuGO5g2kyXBUijAggWM08bRhXg5ijgMwDJy40QeY%2FcQpUDZiIzmvskQpO5G1zyGZA8WByjIQU4jRoFJt56behxtHUUE%2Fom7Rj2psYXGmq3llVOCgGYKNMo4pzwntITtapDqjvQtqpjaJwjHmDzSVGLxMt12gEXAdLi%2FcaHSM3FPRGRf7dB7YC%2BcD2ho6oL2zGDCkjlf%2FDFoQVl8GS%2F56wur3rdV6ggtzZW60MRB3g%2BU1W8o8cvqIpMkctiGVMzXUFI7FacFLrgtdz4mTEr4aRAaQ2AFQaNeG7GX0yOJgMRYFziXdJf24kg%2FgBQIZMG%2FYcPEllRTVNoDYR6oSJ8wQNLuihfw81UpiKPm714bZX1KYjcXJdfclCUOOpvTxr9AAJevTY4HK%2FG7F3mUc3GOAKqh60zM0v34v%2BELyhJZqhkaMA8UMMOU90f8RKEJFj7EqepBVwsRiLbwMo1J2zrE2UYJnsgIAscDmjPjnzI8a719Wxp757wqmSJBjXowhc46QN4RwKIxqEE6E5218OeK7RfcpGjWG1jD7qND%2B%2FGTk6M56Ig4yMsU6LUW1EWE%2BfIYycVV1thldSlbP6ltdC01y3KUfkobkt2q01YYMmxpKRvh1Z48uNKzP%2FIoRIZ%2FF6buOymSnW8gICitpJjKWBscSb9JJKaWkvEkqinAJ2kowKoqkqZftRqfRQlLtKoqvTRDi2vg%2FRrPD%2Fd3a09J8JhGZlEkOM6znTsoMCsuvTmywxTCDhw5dd0GJOHCMPbsj3QLkTE3MInsZsimDQ3HkvthT7U9VA4s6G07sID0FW4SHJmRGwCl%2BMu4xf0ezqeXD2PtPDnwMPo86sbwDV%2B9PWcgFcARUVYm3hrFQrHcgMElFGbSM2A1zUYA3baWfheJp2AINmTJLuoyYD%2FOwA4a6V0ChBN97E8YtDBerUECv0u0TlxR5yhJCXvJxgyM73Bb6pyq0jTFJDZ4p1Am1SA6sh8nADd1hAcGBMfq4d%2FUfwnmBqe0Jun1n1LzrgKuZMAnxA3NtCN7Klf4BH%2B14B7ibBmgt0TGUafVzI4uKlpF7v8NmgNjg90D6QE3tbx8AjSAC%2BOA1YJvclyPKgT27QpIEgVYpbPYGBsnyCNrGz9XUsCHkW1QAHgL2STZk12QGqmvAB0NFteERkvBIH7INDsNW9KKaAYyDMdBEMzJiWaJHZALqDxQDWRntumSDPcplyFiI1oDpT8wbwe01AHhW6%2BvAUUBoGhY3CT2tgwehdPqU%2F4Q7ZLYvhRl%2FogOvR9O2%2BwkkPKW5vCTjD2fHRYXONCoIl4Jh1bZY0ZE1O94mMGn%2FdFSWBWzQ%2FVYk%2BGezi46RgiDv3EshoTmMSlioUK6MQEN8qeyK6FRninyX8ZPeUWjjbMJChn0n%2FyJvrq5bh5UcCAcBYSafTFg7p0jDgrXo2QWLb3WpSOET%2FHh4oSadBTvyDo10IufLzxiMLAnbZ1vcUmj3w7BQuIXjEZXifwukVxrGa9j%2BDXfpi12m1RbzYLg9J2wFergEwOxFyD0%2FJstNK06ZN2XdZSGWxcJODpQHOq4iKqjqkJUmPu1VczL5xTGUfCgLEYyNBCCbMBFT%2FcUP6pE%2FmujnHsSDeWxMbhrNilS5MyYR0nJyzanWXBeVcEQrRIhQeJA6Xt4f2eQESNeLwmC10WJVHqwx8SSyrtAAjpGjidcj1E2FYN0LObUcFQhafUKTiGmHWRHGsFCB%2BHEXgrzJEB5bp0QiF8ZHh11nFX8AboTD0PS4O1LqF8XBks2MpjsQnwKHF6HgaKCVLJtcr0XjqFMRGfKv8tmmykhLRzu%2BvqQ02%2BKpJBjaLt9ye1Ab%2BBbEBhy4EVdIJDrL2naV0o4wU8YZ2Lq04FG1mWCKC%2BUwkXOoAjneU%2FxHplMQo2cXUlrVNqJYczgYlaOEczVCs%2FOCgkyvLmTmdaBJc1iBLuKwmr6qtRnhowngsDxhzKFAi02tf8bmET8BO27ovJKF1plJwm3b0JpMh38%2BxsrXXg7U74QUM8ZCIMOpXujHntKdaRtsgyEZl5MClMVMMMZkZLNxH9%2Bb8fH6%2Bb8Lev30A9TuEVj9CqAdmwAAHBPbfOBFEATAPZ2CS0OH1Pj%2F0Q7PFUcC8hDrxESWdfgFRm%2B7vvWbkEppHB4T%2F1ApWnlTIqQwjcPl0VgS1yHSmD0OdsCVST8CQVwuiew1Y%2Bg3QGFjNMzwRB2DSsAk26cmA8lp2wIU4p93AUBiUHFGOxOajAqD7Gm6NezNDjYzwLOaSXRBYcWipTSONHjUDXCY4mMI8XoVCR%2FRrs%2FJLKXgEx%2BqkmeDlFOD1%2FyTQNDClRuiUyKYCllfMiQiyFkmuTz2vLsBNyRW%2Bxz%2B5FElFxWB28VjYIGZ0Yd%2B5wIjkcoMaggxswbT0pCmckRAErbRlIlcOGdBo4djTNO8FAgQ%2BlT6vPS60BwTRSUAM3ddkEAZiwtEyArrkiDRnS7LJ%2B2hwbzd2YDQagSgACpsovmjil5wfPuXq3GuH0CyE7FK3M4FgRaFoIkaodORrPx1%2BJpI9psyNYIFuJogZa0%2F1AhOWdlHQxdAgbwacsHqPZo8u%2FngAH2GmaTdhYnBfSDbBfh8CHq6Bx5bttP2%2BRdM%2BMAaYaZ0Y%2FADkbNCZuAyAVQa2OcXOeICmDn9Q%2FeFkDeFQg5MgHEDXq%2FtVjj%2Bjtd26nhaaolWxs1ixSUgOBwrDhRIGOLyOVk2%2FBc0UxvseQCO2pQ2i%2BKrfhu%2FWeBovNb5dJxQtJRUDv2mCwYVpNl2efQM9xQHnK0JwLYt%2FU0Wf%2BphiA4uw8G91slC832pmOTCAoZXohg1fewCZqLBhkOUBofBWpMPsqg7XEXgPfAlDo2U5WXjtFdS87PIqClCK5nW6adCeXPkUiTGx0emOIDQqw1yFYGHEVx20xKjJVYe0O8iLmnQr3FA9nSIQilUKtJ4ZAdcTm7%2BExseJauyqo30hs%2B1qSW211A1SFAOUgDlCGq7eTIcMAeyZkV1SQJ4j%2Fe1Smbq4HcjqgFbLAGLyKxlMDMgZavK5NAYH19Olz3la%2FQCTiVelFnU6O%2FGCvykqS%2FwZJDhKN9gBtSOp%2F1SP5VRgJcoVj%2Bkmf2wBgv4gjrgARBWiURYx8xENV3bEVUAAWWD3dYDKAIWk5opaCFCMR5ZjJExiCAw7gYiSZ2rkyTce4eNMY3lfGn%2B8p6%2BvBckGlKEXnA6Eota69OxDO9oOsJoy28BXOR0UoXNRaJD5ceKdlWMJlOFzDdZNpc05tkMGQtqeNF2lttZqNco1VtwXgRstLSQ6tSPChgqtGV5h2DcDReIQadaNRR6AsAYKL5gSFsCJMgfsaZ7DpKh8mg8Wz8V7H%2BgDnLuMxaWEIUPevIbClgap4dqmVWSrPgVYCzAoZHIa5z2Ocx1D%2FGvDOEqMOKLrMefWIbSWHZ6jbgA8qVBhYNHpx0P%2BjAgN5TB3haSifDcApp6yymEi6Ij%2FGsEpDYUgcHATJUYDUAmC1SCkJ4cuZXSAP2DEpQsGUjQmKJfJOvlC2x%2FpChkOyLW7KEoMYc5FDC4v2FGqSoRWiLsbPCiyg1U5yiHZVm1XLkHMMZL11%2Fyxyw0UnGig3MFdZklN5FI%2FqiT65T%2BjOXOdO7XbgWurOAZR6Cv9uu1cm5LjkXX4xi6mWn5r5NjBS0gTliHhMZI2WNqSiSphEtiCAwnafS11JhseDGHYQ5%2BbqWiAYiAv6Jsf79%2FVUs4cIl%2Bn6%2BWOjcgB%2F2l5TreoAV2717JzZbQIR0W1cl%2FdEqCy5kJ3ZSIHuU0vBoHooEpiHeQWVkkkOqRX27eD1FWw4BfO9CJDdKoSogQi3hAAwsPRFrN5RbX7bqLdBJ9JYMohWrgJKHSjVl1sy2xAG0E3sNyO0oCbSGOxCNBRRXTXenYKuwAoDLfnDcQaCwehUOIDiHAu5m5hMpKeKM4sIo3vxACakIxKoH2YWF2QM84e6F5C5hJU4g8uxuFOlAYnqtwxmHyNEawLW%2FPhoawJDrGAP0JYWHgAVUByo%2FbGdiv2T2EMg8gsS14%2FrAdzlOYazFE7w4OzxeKiWdm3nSOnQRRKXSlVo8HEAbBfyJMKqoq%2BSCcTSx5NDtbFwNlh8VhjGGDu7JG5%2FTAGAvniQSSUog0pNzTim8Owc6QTuSKSTXlQqwV3eiEnklS3LeSXYPXGK2VgeZBqNcHG6tZHvA3vTINhV0ELuQdp3t1y9%2BogD8Kk%2FW7QoRN1UWPqM4%2BxdygkFDPLoTaumKReKiLWoPHOfY54m3qPx4c%2B4pgY3MRKKbljG8w4wvz8pxk3AqKsy4GMAkAtmRjRMsCxbb4Q2Ds0Ia9ci8cMT6DmsJG00XaHCIS%2Bo3F8YVVeikw13w%2BOEDaCYYhC0ZE54kA4jpjruBr5STWeqQG6M74HHL6TZ3lXrd99ZX%2B%2B7LhNatQaZosuxEf5yRA15S9gPeHskBIq3Gcw81AGb9%2FO53DYi%2F5CsQ51EmEh8Rkg4vOciClpy4d04eYsfr6fyQkBmtD%2BP8sNh6e%2BXYHJXT%2FlkXxT4KXU5F2sGxYyzfniMMQkb9OjDN2C8tRRgTyL7GwozH14PrEUZc6oz05Emne3Ts5EG7WolDmU8OB1LDG3VrpQxp%2BpT0KYV5dGtknU64JhabdqcVQbGZiAxQAnvN1u70y1AnmvOSPgLI6uB4AuDGhmAu3ATkJSw7OtS%2F2ToPjqkaq62%2F7WFG8advGlRRqxB9diP07JrXowKR9tpRa%2BjGJ91zxNTT1h8I2PcSfoUPtd7NejVoH03EUcqSBuFZPkMZhegHyo2ZAITovmm3zAIdGFWxoNNORiMRShgwdYwFzkPw5PA4a5MIIQpmq%2Bnsp3YMuXt%2FGkXxLx%2FP6%2BZJS0lFyz4MunC3eWSGE8xlCQrKvhKUPXr0hjpAN9ZK4PfEDrPMfMbGNWcHDzjA7ngMxTPnT7GMHar%2BgMQQ3NwHCv4zH4BIMYvzsdiERi6gebRmerTsVwZJTRsL8dkZgxgRxmpbgRcud%2BYlCIRpPwHShlUSwuipZnx9QCsEWziVazdDeKSYU5CF7UVPAhLer3CgJOQXl%2Fzh575R5rsrmRnKAzq4POFdgbYBuEviM4%2BLVC15ssLNFghbTtHWerS1hDt5s4qkLUha%2FqpZXhWh1C6lTQAqCNQnaDjS7UGFBC6wTu8yFnKJnExCnAs3Ok9yj5KpfZESQ4lTy5pTGTnkAUpxI%2ByjEldJfSo4y0QhG4i4IwkRFGcjWY8%2BEzgYYJUK7BXQksLxAww%2FYYWBMhJILB9e8ePEJ4OP7z%2B4%2FwOQDl64iOYDp26DaONPxpKtBxq%2FaTzRGarm3VkPYTLJKx6Z%2FMw2YbBGseJhPMwhhNswrIkyvV2BYzrvZbxLpKwcWJhYmFtVZ%2BlPEq91FzVp1HlQY1bZVLqeNR9SAUn6n0E28k%2FUuGkNpP1DBI5ch%2FEehZfjUQ9aE41NhETExoPT2gGQz0IhWJbEOvTQ4wgcXCHHFBhewYUiFHuhRSAUVmEHeCRQHQkXGFwkAgyzREJCVN7TRnTon36Zw3tPhx4EALwNdwDv%2BJ41YSP4B2CQqz0EFgARZ4ESgBHQgROwAVn9GTI%2BHYexTUevLUeta4%2FDqKrbMVS%2BYqb8hUwYCrlgKtmAq1YCrFgKrd4qpXiqZcKn1oqdWipjYKpWwVPVYqW6xUpVipKqFR3QKjagVEtAqHpxUMTitsnFaJOKx2cVhswq35RVpyiq9lFVNIKnOQVMkgqtYxVNxiqQjFS7GKlSIVIsQqPIhUWwioigFQ%2B%2BKkN8VHr49HDw9Ebo9EDo9DTo9Crg9BDg9%2FWx7gWx7YWwlobYrOGxWPNisAaAHEyALpkAVDIAeWAArsABVXACYuAD5cAF6wAKFQAQqgAbVAAsoAAlQAUaYAfkwAvogBWQACOgAD9AAHSAAKT4GUdMiOvFngBTwCn2AZ7Dv6B6k%2F90B8%2ByRnkV144AIBoAMTQATGgAjNAA4YABgwABZgB%2FmQCwyAVlwCguASlwCEuAQFwB4uAMlwBYuAJlQAUVAAhUD2KgdpUDaJgaRMDFJgX5MC1JgWJEAokQCWRAHxEAWkQBMRADpEAMkQAYROAEecC484DRpwBDTnwNOdw05tjTmiNOYwtswhYFwLA7BYG4LA2BYGOLAwRYFuLAsxYFQJAohIEyJAMwkAwiQC0JAJgkAeiQBkJAFokAPCQA0JABwcD4Dgc4cDdDgaYcDIDgYgUC6CgWgUClCgUYUAVBQBOFAEYMALgwAgDA9QYAdIn8AZzeBB2L5EcWrenUT1KXienEsuJJ7x5U8XlTjc1NVzUyXFTGb1LlpUtWlTDIjqwE4LsagowoCi2gJLKAkpoBgJQNpAIhNqaEoneI6kiiqQ6Go%2Fn6j0cS%2Ba2gEU8gIHJ%2BBwfgZX4GL%2BBd%2FgW34FZ%2BBS%2FgUH4FN6BTegTvoEv6BJegRnYEF2A79gOvYDl2BdEjCkqkGtwXp0LNToIskOTXzh%2FF062yJ7AAAAEDAWAAABWhJ%2BKPEIJgBFxMVP7w2QJBGHASQnOBKXKFIdUK4igKA9IEaYJg%29%3Bsrc%3Aurl%28data%3Aapplication%2Fvnd%2Ems%2Dfontobject%3Bbase64%2Cn04AAEFNAAACAAIABAAAAAAABQAAAAAAAAABAJABAAAEAExQAAAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAJxJ%2FLAAAAAAAAAAAAAAAAAAAAAAAACgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAAAADgBSAGUAZwB1AGwAYQByAAAAeABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAA5ADsAUABTACAAMAAwADEALgAwADAAOQA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADcAMAA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADUAOAAzADIAOQAAADgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzACAAUgBlAGcAdQBsAGEAcgAAAAAAQlNHUAAAAAAAAAAAAAAAAAAAAAADAKncAE0TAE0ZAEbuFM3pjM%2FSEdmjKHUbyow8ATBE40IvWA3vTu8LiABDQ%2BpexwUMcm1SMnNryctQSiI1K5ZnbOlXKmnVV5YvRe6RnNMFNCOs1KNVpn6yZhCJkRtVRNzEufeIq7HgSrcx4S8h%2Fv4vnrrKc6oCNxmSk2uKlZQHBii6iKFoH0746ThvkO1kJHlxjrkxs%2BLWORaDQBEtiYJIR5IB9Bi1UyL4Rmr0BNigNkMzlKQmnofBHviqVzUxwdMb3NdCn69hy%2BpRYVKGVS%2F1tnsqv4LL7wCCPZZAZPT4aCShHjHJVNuXbmMrY5LeQaGnvAkXlVrJgKRAUdFjrWEah9XebPeQMj7KS7DIBAFt8ycgC5PLGUOHSE3ErGZCiViNLL5ZARfywnCoZaKQCu6NuFX42AEeKtKUGnr%2FCm2Cy8tpFhBPMW5Fxi4Qm4TkDWh4IWFDClhU2hRWosUWqcKLlgyXB%2BlSHaWaHiWlBAR8SeSgSPCQxdVQgzUixWKSTrIQEbU94viDctkvX%2BVSjJuUmV8L4CXShI11esnp0pjWNZIyxKHS4wVQ2ime1P4RnhvGw0aDN1OLAXGERsB7buFpFGGBAre4QEQR0HOIO5oYH305G%2BKspT%2FFupEGGafCCwxSe6ZUa%2B073rXHnNdVXE6eWvibUS27XtRzkH838mYLMBmYysZTM0EM3A1fbpCBYFccN1B%2FEnCYu%2FTgCGmr7bMh8GfYL%2BBfcLvB0gRagC09w9elfldaIy%2FhNCBLRgBgtCC7jAF63wLSMAfbfAlEggYU0bUA7ACCJmTDpEmJtI78w4%2FBO7dN7JR7J7ZvbYaUbaILSQsRBiF3HGk5fEg6p9unwLvn98r%2BvnsV%2B372uf1xBLq4qU%2F45fTuqaAP%2BpssmCCCTF0mhEow8ZXZOS8D7Q85JsxZ%2BAzok7B7O%2Ff6J8AzYBySZQB%2FQHYUSA%2BEeQhEWiS6AIQzgcsDiER4MjgMBAWDV4AgQ3g1eBgIdweCQmCjJEMkJ%2BPKRWyFHHmg1Wi%2F6xzUgA0LREoKJChwnQa9B%2B5RQZRB3IlBlkAnxyQNaANwHMowzlYSMCBgnbpzvqpl0iTJNCQidDI9ZrSYNIRBhHtUa5YHMHxyGEik9hDE0AKj72AbTCaxtHPUaKZdAZSnQTyjGqGLsmBStCejApUhg4uBMU6mATujEl%2BKdDPbI6Ag4vLr%2BhjY6lbjBeoLKnZl0UZgRX8gTySOeynZVz1wOq7e1hFGYIq%2BMhrGxDLak0PrwYzSXtcuyhXEhwOYofiW%2BEcI%2Fjw8P6IY6ed%2BetAbuqKp5QIapT77LnAe505lMuqL79a0ut4rWexzFttsOsLDy7zvtQzcq3U1qabe7tB0wHWVXji%2BzDbo8x8HyIRUbXnwUcklFv51fvTymiV%2BMXLSmGH9d9%2BaXpD5X6lao41anWGig7IwIdnoBY2ht%2FpO9mClLo4NdXHAsefqWUKlXJkbqPOFhMoR4aiA1BXqhRNbB2Xwi%2B7u%2FjpAoOpKJ0UX24EsrzMfHXViakCNcKjBxuQX8BO0ZqjJ3xXzf%2B61t2VXOSgJ8xu65QKgtN6FibPmPYsXbJRHHqbgATcSZxBqGiDiU4NNNsYBsKD0MIP%2FOfKnlk%2FLkaid%2FO2NbKeuQrwOB2Gq3YHyr6ALgzym5wIBnsdC1ZkoBFZSQXChZvlesPqvK2c5oHHT3Q65jYpNxnQcGF0EHbvYqoFw60WNlXIHQF2HQB7zD6lWjZ9rVqUKBXUT6hrkZOle0RFYII0V5ZYGl1JAP0Ud1fZZMvSomBzJ710j4Me8mjQDwEre5Uv2wQfk1ifDwb5ksuJQQ3xt423lbuQjvoIQByQrNDh1JxGFkOdlJvu%2FgFtuW0wR4cgd%2BZKesSV7QkNE2kw6AV4hoIuC02LGmTomyf8PiO6CZzOTLTPQ%2BHW06H%2Btx%2BbQ8LmDYg1pTFrp2oJXgkZTyeRJZM0C8aE2LpFrNVDuhARsN543%2FFV6klQ6Tv1OoZGXLv0igKrl%2FCmJxRmX7JJbJ998VSIPQRyDBICzl4JJlYHbdql30NvYcOuZ7a10uWRrgoieOdgIm4rlq6vNOQBuqESLbXG5lzdJGHw2m0sDYmODXbYGTfSTGRKpssTO95fothJCjUGQgEL4yKoGAF%2F0SrpUDNn8CBgBcSDQByAeNkCXp4S4Ro2Xh4OeaGRgR66PVOsU8bc6TR5%2FxTcn4IVMLOkXSWiXxkZQCbvKfmoAvQaKjO3EDKwkwqHChCDEM5loQRPd5ACBki1TjF772oaQhQbQ5C0lcWXPFOzrfsDGUXGrpxasbG4iab6eByaQkQfm0VFlP0ZsDkvvqCL6QXMUwCjdMx1ZOyKhTJ7a1GWAdOUcJ8RSejxNVyGs31OKMyRyBVoZFjqIkmKlLQ5eHMeEL4MkUf23cQ%2F1SgRCJ1dk4UdBT7OoyuNgLs0oCd8RnrEIb6QdMxT2QjD4zMrJkfgx5aDMcA4orsTtKCqWb%2FVeyceqa5OGSmB28YwH4rFbkQaLoUN8OQQYnD3w2eXpI4ScQfbCUZiJ4yMOIKLyyTc7BQ4uXUw6Ee6%2FxM%2B4Y67ngNBknxIPwuppgIhFcwJyr6EIj%2BLzNj%2FmfR2vhhRlx0BILZoAYruF0caWQ7YxO66UmeguDREAFHYuC7HJviRgVO6ruJH59h%2FC%2FPkgSle8xNzZJULLWq9JMDTE2fjGE146a1Us6PZDGYle6ldWRqn%2FpdpgHKNGrGIdkRK%2BKPETT9nKT6kLyDI8xd9A1FgWmXWRAIHwZ37WyZHOVyCadJEmMVz0MadMjDrPho%2BEIochkVC2xgGiwwsQ6DMv2P7UXqT4x7CdcYGId2BJQQa85EQKmCmwcRejQ9Bm4oATENFPkxPXILHpMPUyWTI5rjNOsIlmEeMbcOCEqInpXACYQ9DDxmFo9vcmsDblcMtg4tqBerNngkIKaFJmrQAPnq1dEzsMXcwjcHdfdCibcAxxA%2Bq%2Fj9m3LM%2FO7WJka4tSidVCjsvo2lQ%2F2ewyoYyXwAYyr2PlRoR5MpgVmSUIrM3PQxXPbgjBOaDQFIyFMJvx3Pc5RSYj12ySVF9fwFPQu2e2KWVoL9q3Ayv3IzpGHUdvdPdrNUdicjsTQ2ISy7QU3DrEytIjvbzJnAkmANXjAFERA0MUoPF3%2F5KFmW14bBNOhwircYgMqoDpUMcDtCmBE82QM2YtdjVLB4kBuKho%2FbcwQdeboqfQartuU3CsCf%2BcXkgYAqp%2F0Ee3RorAZt0AvvOCSI4JICIlGlsV0bsSid%2FNIEALAAzb6HAgyWHBps6xAOwkJIGcB82CxRQq4sJf3FzA70A%2BTRqcqjEMETCoez3mkPcpnoALs0ugJY8kQwrC%2BJE5ik3w9rzrvDRjAQnqgEVvdGrNwlanR0SOKWzxOJOvLJhcd8Cl4AshACUkv9czdMkJCVQSQhp6kp7StAlpVRpK0t0SW6LHeBJnE2QchB5Ccu8kxRghZXGIgZIiSj7gEKMJDClcnX6hgoqJMwiQDigIXg3ioFLCgDgjPtYHYpsF5EiA4kcnN18MZtOrY866dEQAb0FB34OGKHGZQjwW%2FWDHA60cYFaI%2FPjpzquUqdaYGcIq%2BmLez3WLFFCtNBN2QJcrlcoELgiPku5R5dSlJFaCEqEZle1AQzAKC%2B1SotMcBNyQUFuRHRF6OlimSBgjZeTBCwLyc6A%2BP%2FoFRchXTz5ADknYJHxzrJ5pGuIKRQISU6WyKTBBjD8WozmVYWIsto1AS5rxzKlvJu4E%2FvwOiKxRtCWsDM%2BeTHUrmwrCK5BIfMzGkD%2B0Fk5LzBs0jMYXktNDblB06LMNJ09U8pzSLmo14MS0OMjcdrZ31pyQqxJJpRImlSvfYAK8inkYU52QY2FPEVsjoWewpwhRp5yAuNpkqhdb7ku9Seefl2D0B8SMTFD90xi4CSOwwZy9IKkpMtI3FmFUg3%2FkFutpQGNc3pCR7gvC4sgwbupDu3DyEN%2BW6YGLNM21jpB49irxy9BSlHrVDlnihGKHwPrbVFtc%2Bh1rVQKZduxIyojccZIIcOCmhEnC7UkY68WXKQgLi2JCDQkQWJRQuk60hZp0D3rtCTINSeY9Ej2kIKYfGxwOs4j9qMM7fYZiipzgcf7TamnehqdhsiMiCawXnz4xAbyCkLAx5EGbo3Ax1u3dUIKnTxIaxwQTHehPl3V491H0%2BbC5zgpGz7Io%2BmjdhKlPJ01EeMpM7UsRJMi1nGjmJg35i6bQBAAxjO%2FENJubU2mg3ONySEoWklCwdABETcs7ck3jgiuU9pcKKpbgn%2B3YlzV1FzIkB6pmEDOSSyDfPPlQskznctFji0kpgZjW5RZe6x9kYT4KJcXg0bNiCyif%2BpZACCyRMmYsfiKmN9tSO65F0R2OO6ytlEhY5Sj6uRKfFxw0ijJaAx%2Fk3QgnAFSq27%2F2i4GEBA%2BUvTJKK%2F9eISNvG46Em5RZfjTYLdeD8kdXHyrwId%2FDQZUaMCY4gGbke2C8vfjgV%2FY9kkRQOJIn%2FxM9INZSpiBnqX0Q9GlQPpPKAyO5y%2BW5NMPSRdBCUlmuxl40ZfMCnf2Cp044uI9WLFtCi4YVxKjuRCOBWIb4XbIsGdbo4qtMQnNOQz4XDSui7W%2FN6l54qOynCqD3DpWQ%2BmpD7C40D8BZEWGJX3tlAaZBMj1yjvDYKwCJBa201u6nBKE5UE%2B7QSEhCwrXfbRZylAaAkplhBWX50dumrElePyNMRYUrC99UmcSSNgImhFhDI4BXjMtiqkgizUGCrZ8iwFxU6fQ8GEHCFdLewwxYWxgScAYMdMLmcZR6b7rZl95eQVDGVoUKcRMM1ixXQtXNkBETZkVVPg8LoSrdetHzkuM7DjZRHP02tCxA1fmkXKF3VzfN1pc1cv%2F8lbTIkkYpqKM9VOhp65ktYk%2BQ46myFWBapDfyWUCnsnI00QTBQmuFjMZTcd0V2NQ768Fhpby04k2IzNR1wKabuGJqYWwSly6ocMFGTeeI%2BejsWDYgEvr66QgqdcIbFYDNgsm0x9UHY6SCd5%2B7tpsLpKdvhahIDyYmEJQCqMqtCF6UlrE5GXRmbu%2Bvtm3BFSxI6ND6UxIE7GsGMgWqghXxSnaRJuGFveTcK5ZVSPJyjUxe1dKgI6kNF7EZhIZs8y8FVqwEfbM0Xk2ltORVDKZZM40SD3qQoQe0orJEKwPfZwm3YPqwixhUMOndis6MhbmfvLBKjC8sKKIZKbJk8L11oNkCQzCgvjhyyEiQSuJcgCQSG4Mocfgc0Hkwcjal1UNgP0CBPikYqBIk9tONv4kLtBswH07vUCjEaHiFGlLf8MgXKzSgjp2HolRRccAOh0ILHz9qlGgIFkwAnzHJRjWFhlA7ROwINyB5HFj59PRZHFor6voq7l23EPNRwdWhgawqbivLSjRA4htEYUFkjESu67icTg5S0aW1sOkCiIysfJ9UnIWevOOLGpepcBxy1wEhd2WI3AZg7sr9WBmHWyasxMcvY%2FiOmsLtHSWNUWEGk9hScMPShasUA1AcHOtRZlqMeQ0OzYS9vQvYUjOLrzP07BUAFikcJNMi7gIxEw4pL1G54TcmmmoAQ5s7TGWErJZ2Io4yQ0ljRYhL8H5e62oDtLF8aDpnIvZ5R3GWJyAugdiiJW9hQAVTsnCBHhwu7rkBlBX6r3b7ejEY0k5GGeyKv66v%2B6dg7mcJTrWHbtMywbedYqCQ0FPwoytmSWsL8WTtChZCKKzEF7vP6De4x2BJkkniMgSdWhbeBSLtJZR9CTHetK1xb34AYIJ37OegYIoPVbXgJ%2FqDQK%2BbfCtxQRVKQu77WzOoM6SGL7MaZwCGJVk46aImai9fmam%2BWpHG%2B0BtQPWUgZ7RIAlPq6lkECUhZQ2gqWkMYKcYMYaIc4gYCDFHYa2d1nzp3%2BJ1eCBay8IYZ0wQRKGAqvCuZ%2FUgbQPyllosq%2BXtfKIZOzmeJqRazpmmoP%2F76YfkjzV2NlXTDSBYB04SVlNQsFTbGPk1t%2FI4Jktu0XSgifO2ozFOiwd%2F0SssJDn0dn4xqk4GDTTKX73%2FwQyBLdqgJ%2BWx6AQaba3BA9CKEzjtQYIfAsiYamapq80LAamYjinlKXUkxdpIDk0puXUEYzSalfRibAeDAKpNiqQ0FTwoxuGYzRnisyTotdVTclis1LHRQCy%2FqqL8oUaQzWRxilq5Mi0IJGtMY02cGLD69vGjkj3p6pGePKI8bkBv5evq8SjjyU04vJR2cQXQwSJyoinDsUJHCQ50jrFTT7yRdbdYQMB3MYCb6uBzJ9ewhXYPAIZSXfeEQBZZ3GPN3Nbhh%2FwkvAJLXnQMdi5NYYZ5GHE400GS5rXkOZSQsdZgIbzRnF9ueLnsfQ47wHAsirITnTlkCcuWWIUhJSbpM3wWhXNHvt2xUsKKMpdBSbJnBMcihkoDqAd1Zml%2FR4yrzow1Q2A5G%2Bkzo%2FRhRxQS2lCSDRV8LlYLBOOoo1bF4jwJAwKMK1tWLHlu9i0j4Ig8qVm6wE1DxXwAwQwsaBWUg2pOOol2dHxyt6npwJEdLDDVYyRc2D0HbcbLUJQj8gPevQBUBOUHXPrsAPBERICpnYESeu2OHotpXQxRGlCCtLdIsu23MhZVEoJg8Qumj%2FUMMc34IBqTKLDTp76WzL%2FdMjCxK7MjhiGjeYAC%2Fkj%2FjY%2FRde7hpSM1xChrog6yZ7OWTuD56xBJnGFE%2BpT2ElSyCnJcwVzCjkqeNLfMEJqKW0G7OFIp0G%2B9mh50I9o8k1tpCY0xYqFNIALgIfc2me4n1bmJnRZ89oepgLPT0NTMLNZsvSCZAc3TXaNB07vail36%2FdBySis4m9%2FDR8izaLJW6bWCkVgm5T%2Bius3ZXq4xI%2BGnbveLbdRwF2mNtsrE0JjYc1AXknCOrLSu7Te%2Fr4dPYMCl5qtiHNTn%2BTPbh1jCBHH%2BdMJNhwNgs3nT%2BOhQoQ0vYif56BMG6WowAcHR3DjQolxLzyVekHj00PBAaW7IIAF1EF%2BuRIWyXjQMAs2chdpaKPNaB%2BkSezYt0%2BCA04sOg5vx8Fr7Ofa9sUv87h7SLAUFSzbetCCZ9pmyLt6l6%2FTzoA1%2FZBG9bIUVHLAbi%2FkdBFgYGyGwRQGBpkqCEg2ah9UD6EedEcEL3j4y0BQQCiExEnocA3SZboh%2Bepgd3YsOkHskZwPuQ5OoyA0fTA5AXrHcUOQF%2BzkJHIA7PwCDk1gGVmGUZSSoPhNf%2BTklauz98QofOlCIQ%2FtCD4dosHYPqtPCXB3agggQQIqQJsSkB%2Bqn0rkQ1toJjON%2FOtCIB9RYv3PqRA4C4U68ZMlZn6BdgEvi2ziU%2BTQ6NIw3ej%2BAtDwMGEZk7e2IjxUWKdAxyaw9OCwSmeADTPPleyk6UhGDNXQb%2B%2BW6Uk4q6F7%2Frg6WVTo82IoCxSIsFDrav4EPHphD3u4hR53WKVvYZUwNCCeM4PMBWzK%2BEfIthZOkuAwPo5C5jgoZgn6dUdvx5rIDmd58cXXdKNfw3l%2BwM2UjgrDJeQHhbD7HW2QDoZMCujgIUkk5Fg8VCsdyjOtnGRx8wgKRPZN5dR0zPUyfGZFVihbFRniXZFOZGKPnEQzU3AnD1KfR6weHW2XS6KbPJxUkOTZsAB9vTVp3Le1F8q5l%2BDMcLiIq78jxAImD2pGFw0VHfRatScGlK6SMu8leTmhUSMy8Uhdd6xBiH3Gdman4tjQGLboJfqz6fL2WKHTmrfsKZRYX6BTDjDldKMosaSTLdQS7oDisJNqAUhw1PfTlnacCO8vl8706Km1FROgLDmudzxg%2BEWTiArtHgLsRrAXYWdB0NmToNCJdKm0KWycZQqb%2BMw76Qy29iQ5up%2FX7oyw8QZ75kP5F6iJAJz6KCmqxz8fEa%2FxnsMYcIO%2FvEkGRuMckhr4rIeLrKaXnmIzlNLxbFspOphkcnJdnz%2FChp%2FVlpj2P7jJQmQRwGnltkTV5dbF9fE3%2FfxoSqTROgq9wFUlbuYzYcasE0ouzBo%2BdDCDzxKAfhbAZYxQiHrLzV2iVexnDX%2FQnT1fsT%2Fxuhu1ui5qIytgbGmRoQkeQooO8eJNNZsf0iALur8QxZFH0nCMnjerYQqG1pIfjyVZWxhVRznmmfLG00BcBWJE6hzQWRyFknuJnXuk8A5FRDCulwrWASSNoBtR%2BCtGdkPwYN2o7DOw%2FVGlCZPusRBFXODQdUM5zeHDIVuAJBLqbO%2Ff9Qua%2BpDqEPk230Sob9lEZ8BHiCorjVghuI0lI4JDgHGRDD%2FprQ84B1pVGkIpVUAHCG%2Biz3Bn3qm2AVrYcYWhock4jso5%2BJ7HfHVj4WMIQdGctq3psBCVVzupQOEioBGA2Bk%2BUILT7%2BVoX5mdxxA5fS42gISQVi%2FHTzrgMxu0fY6hE1ocUwwbsbWcezrY2n6S8%2F6cxXkOH4prpmPuFoikTzY7T85C4T2XYlbxLglSv2uLCgFv8Quk%2FwdesUdWPeHYIH0R729JIisN9Apdd4eB10aqwXrPt%2BSu9mA8k8n1sjMwnfsfF2j3jMUzXepSHmZ%2FBfqXvzgUNQQWOXO8YEuFBh4QTYCkOAPxywpYu1VxiDyJmKVcmJPGWk%2Fgc3Pov02StyYDahwmzw3E1gYC9wkupyWfDqDSUMpCTH5e5N8B%2F%2FlHiMuIkTNw4USHrJU67bjXGqNav6PBuQSoqTxc8avHoGmvqNtXzIaoyMIQIiiUHIM64cXieouplhNYln7qgc4wBVAYR104kO%2BCvKqsg4yIUlFNThVUAKZxZt1XA34h3TCUUiXVkZ0w8Hh2R0Z5L0b4LZvPd%2Fp1gi%2F07h8qfwHrByuSxglc9cI4QIg2oqvC%2Fqm0i7tjPLTgDhoWTAKDO2ONW5oe%2B%2FeKB9vZB8K6C25yCZ9RFVMnb6NRdRjyVK57CHHSkJBfnM2%2Fj4ODUwRkqrtBBCrDsDpt8jhZdXoy%2F1BCqw3sSGhgGGy0a5Jw6BP%2FTExoCmNFYjZl248A0osgPyGEmRA%2BfAsqPVaNAfytu0vuQJ7rk3J4kTDTR2AlCHJ5cls26opZM4w3jMULh2YXKpcqGBtuleAlOZnaZGbD6DHzMd6i2oFeJ8z9XYmalg1Szd%2FocZDc1C7Y6vcALJz2lYnTXiWEr2wawtoR4g3jvWUU2Ngjd1cewtFzEvM1NiHZPeLlIXFbBPawxNgMwwAlyNSuGF3zizVeOoC9bag1qRAQKQE%2FEZBWC2J8mnXAN2aTBboZ7HewnObE8CwROudZHmUM5oZ%2FUgd%2FJZQK8lvAm43uDRAbyW8gZ%2BZGq0EVerVGUKUSm%2FIdn8AQHdR4m7bue88WBwft9mSCeMOt1ncBwziOmJYI2ZR7ewNMPiCugmSsE4EyQ%2BQATJG6qORMGd4snEzc6B4shPIo4G1T7PgSm8PY5eUkPdF8JZ0VBtadbHXoJgnEhZQaODPj2gpODKJY5Yp4DOsLBFxWbvXN755KWylJm%2BoOd4zEL9Hpubuy2gyyfxh8oEfFutnYWdfB8PdESLWYvSqbElP9qo3u6KTmkhoacDauMNNjj0oy40DFV7Ql0aZj77xfGl7TJNHnIwgqOkenruYYNo6h724%2BzUQ7%2BvkCpZB%2BpGA562hYQiDxHVWOq0oDQl%2FQsoiY%2BcuI7iWq%2FZIBtHcXJ7kks%2Bh2fCNUPA82BzjnqktNts%2BRLdk1VSu%2BtqEn7QZCCsvEqk6FkfiOYkrsw092J8jsfIuEKypNjLxrKA9kiA19mxBD2suxQKCzwXGws7kEJvlhUiV9tArLIdZW0IORcxEzdzKmjtFhsjKy%2F44XYXdI5noQoRcvjZ1RMPACRqYg2V1%2BOwOepcOknRLLFdYgTkT5UApt%2FJhLM3jeFYprZV%2BZow2g8fP%2BU68hkKFWJj2yBbKqsrp25xkZX1DAjUw52IMYWaOhab8Kp05VrdNftqwRrymWF4OQSjbdfzmRZirK8FMJELEgER2PHjEAN9pGfLhCUiTJFbd5LBkOBMaxLr%2FA1SY9dXFz4RjzoU9ExfJCmx%2FI9FKEGT3n2cmzl2X42L3Jh%2BAbQq6sA%2BSs1kitoa4TAYgKHaoybHUDJ51oETdeI%2F9ThSmjWGkyLi5QAGWhL0BG1UsTyRGRJOldKBrYJeB8ljLJHfATWTEQBXBDnQexOHTB%2BUn44zExFE4vLytcu5NwpWrUxO%2F0ZICUGM7hGABXym0V6ZvDST0E370St9MIWQOTWngeoQHUTdCJUP04spMBMS8LSker9cReVQkULFDIZDFPrhTzBl6sed9wcZQTbL%2BBDqMyaN3RJPh%2Fanbx%2BIv%2BqgQdAa3M9Z5JmvYlh4qop%2BHo1F1W5gbOE9YKLgAnWytXElU4G8GtW47lhgFE6gaSs%2Bgs37sFvi0PPVvA5dnCBgILTwoKd%2F%2BDoL9F6inlM7H4rOTzD79KJgKlZO%2FZgt22UsKhrAaXU5ZcLrAglTVKJEmNJvORGN1vqrcfSMizfpsgbIe9zno%2BgBoKVXgIL%2FVI8dB1O5o%2FR3Suez%2FgD7M781ShjKpIIORM%2FnxG%2BjjhhgPwsn2IoXsPGPqYHXA63zJ07M2GPEykQwJBYLK808qYxuIew4frk52nhCsnCYmXiR6CuapvE1IwRB4%2FQftDbEn%2BAucIr1oxrLabRj9q4ae0%2BfXkHnteAJwXRbVkR0mctVSwEbqhJiMSZUp9DNbEDMmjX22m3ABpkrPQQTP3S1sib5pD2VRKRd%2BeNAjLYyT0hGrdjWJZy24OYXRoWQAIhGBZRxuBFMjjZQhpgrWo8SiFYbojcHO8V5DyscJpLTHyx9Fimassyo5U6WNtquUMYgccaHY5amgR3PQzq3ToNM5ABnoB9kuxsebqmYZm0R9qxJbFXCQ1UPyFIbxoUraTJFDpCk0Wk9GaYJKz%2F6oHwEP0Q14lMtlddQsOAU9zlYdMVHiT7RQP3XCmWYDcHCGbVRHGnHuwzScA0BaSBOGkz3lM8CArjrBsyEoV6Ys4qgDK3ykQQPZ3hCRGNXQTNNXbEb6tDiTDLKOyMzRhCFT%2BmAUmiYbV3YQVqFVp9dorv%2BTsLeCykS2b5yyu8AV7IS9cxcL8z4Kfwp%2BxJyYLv1OsxQCZwTB4a8BZ%2F5EdxTBJthApqyfd9u3ifr%2FWILTqq5VqgwMT9SOxbSGWLQJUUWCVi4k9tho9nEsbUh7U6NUsLmkYFXOhZ0kmamaJLRNJzSj%2Fqn4Mso6zb6iLLBXoaZ6AqeWCjHQm2lztnejYYM2eubnpBdKVLORZhudH3JF1waBJKA9%2BW8EhMj3Kzf0L4vi4k6RoHh3Z5YgmSZmk6ns4fjScjAoL8GoOECgqgYEBYUGFVO4FUv4%2FYtowhEmTs0vrvlD%2FCrisnoBNDAcUi%2FteY7OctFlmARQzjOItrrlKuPO6E2Ox93L4O%2F4DcgV%2FdZ7qR3VBwVQxP1GCieA4RIpweYJ5FoYrHxqRBdJjnqbsikA2Ictbb8vE1GYIo9dacK0REgDX4smy6GAkxlH1yCGGsk%2BtgiDhNKuKu3yNrMdxafmKTF632F8Vx4BNK57GvlFisrkjN9WDAtjsWA0ENT2e2nETUb%2Fn7qwhvGnrHuf5bX6Vh%2Fn3xffU3PeHdR%2BFA92i6ufT3AlyAREoNDh6chiMWTvjKjHDeRhOa9YkOQRq1vQXEMppAQVwHCuIcV2g5rBn6GmZZpTR7vnSD6ZmhdSl176gqKTXu5E%2BYbfL0adwNtHP7dT7t7b46DVZIkzaRJOM%2BS6KcrzYVg%2BT3wSRFRQashjfU18NutrKa%2F7PXbtuJvpIjbgPeqd%2BpjmRw6YKpnANFSQcpzTZgpSNJ6J7uiagAbir%2F8tNXJ%2FOsOnRh6iuIexxrmkIneAgz8QoLmiaJ8sLQrELVK2yn3wOHp57BAZJhDZjTBzyoRAuuZ4eoxHruY1pSb7qq79cIeAdOwin4GdgMeIMHeG%2BFZWYaiUQQyC5b50zKjYw97dFjAeY2I4Bnl105Iku1y0lMA1ZHolLx19uZnRdILcXKlZGQx%2FGdEqSsMRU1BIrFqRcV1qQOOHyxOLXEGcbRtAEsuAC2V4K3p5mFJ22IDWaEkk9ttf5Izb2LkD1MnrSwztXmmD%2FQi%2FEmVEFBfiKGmftsPwVaIoZanlKndMZsIBOskFYpDOq3QUs9aSbAAtL5Dbokus2G4%2FasthNMK5UQKCOhU97oaOYNGsTah%2BjfCKsZnTRn5TbhFX8ghg8CBYt%2FBjeYYYUrtUZ5jVij%2Fop7V5SsbA4mYTOwZ46hqdpbB6Qvq3AS2HHNkC15pTDIcDNGsMPXaBidXYPHc6PJAkRh29Vx8KcgX46LoUQBhRM%2B3SW6Opll%2FwgxxsPgKJKzr5QCmwkUxNbeg6Wj34SUnEzOemSuvS2OetRCO8Tyy%2BQbSKVJcqkia%2BGvDefFwMOmgnD7h81TUtMn%2BmRpyJJ349HhAnoWFTejhpYTL9G8N2nVg1qkXBeoS9Nw2fB27t7trm7d%2FQK7Cr4uoCeOQ7%2F8JfKT77KiDzLImESHw%2F0wf73QeHu74hxv7uihi4fTX%2BXEwAyQG3264dwv17aJ5N335Vt9sdrAXhPOAv8JFvzqyYXwfx8WYJaef1gMl98JRFyl5Mv5Uo%2FoVH5ww5OzLFsiTPDns7fS6EURSSWd%2F92BxMYQ8sBaH%2Bj%2BwthQPdVgDGpTfi%2BJQIWMD8xKqULliRH01rTeyF8x8q%2FGBEEEBrAJMPf25UQwi0b8tmqRXY7kIvNkzrkvRWLnxoGYEJsz8u4oOyMp8cHyaybb1HdMCaLApUE%2B%2F7xLIZGP6H9xuSEXp1zLIdjk5nBaMuV%2FyTDRRP8Y2ww5RO6d2D94o%2B6ucWIqUAvgHIHXhZsmDhjVLczmZ3ca0Cb3PpKwt2UtHVQ0BgFJsqqTsnzZPlKahRUkEu4qmkJt%2Bkqdae76ViWe3STan69yaF9%2BfESD2lcQshLHWVu4ovItXxO69bqC5p1nZLvI8NdQB9s9UNaJGlQ5mG947ipdDA0eTIw%2FA1zEdjWquIsQXXGIVEH0thC5M%2BW9pZe7IhAVnPJkYCCXN5a32HjN6nsvokEqRS44tGIs7s2LVTvcrHAF%2BRVmI8L4HUYk4x%2B67AxSMJKqCg8zrGOgvK9kNMdDrNiUtSWuHFpC8%2Fp5qIQrEo%2FH%2B1l%2F0cAwQ2nKmpWxKcMIuHY44Y6DlkpO48tRuUGBWT0FyHwSKO72Ud%2BtJUfdaZ4CWNijzZtlRa8%2BCkmO%2FEwHYfPZFU%2FhzjFWH7vnzHRMo%2BaF9u8qHSAiEkA2HjoNQPEwHsDKOt6hOoK3Ce%2F%2B%2F9boMWDa44I6FrQhdgS7OnNaSzwxWKZMcyHi6LN4WC6sSj0qm2PSOGBTvDs%2FGWJS6SwEN%2FULwpb4LQo9fYjUfSXRwZkynUazlSpvX9e%2BG2zor8l%2BYaMxSEomDdLHGcD6YVQPegTaA74H8%2BV4WvJkFUrjMLGLlvSZQWvi8%2FQA7yzQ8GPno%2F%2F5SJHRP%2FOqKObPCo81s%2F%2B6WgLqykYpGAgQZhVDEBPXWgU%2FWzFZjKUhSFInufPRiMAUULC6T11yL45ZrRoB4DzOyJShKXaAJIBS9wzLYIoCEcJKQW8GVCx4fihqJ6mshBUXSw3wWVj3grrHQlGNGhIDNNzsxQ3M%2BGWn6ASobIWC%2BLbYOC6UpahVO13Zs2zOzZC8z7FmA05JhUGyBsF4tsG0drcggIFzgg%2Fkpf3%2BCnAXKiMgIE8Jk%2FMhpkc8DUJEUzDSnWlQFme3d0sHZDrg7LavtsEX3cHwjCYA17pMTfx8Ajw9hHscN67hyo%2BRJQ4458RmPywXykkVcW688oVUrQhahpPRvTWPnuI0B%2BSkQu7dCyvLRyFYlC1LG1gRCIvn3rwQeINzZQC2KXq31FaR9UmVV2QeGVqBHjmE%2BVMd3b1fhCynD0pQNhCG6%2FWCDbKPyE7NRQzL3BzQAJ0g09aUzcQA6mUp9iZFK6Sbp%2FYbHjo%2B%2B7%2FWj8S4YNa%2BZdqAw1hDrKWFXv9%2BzaXpf8ZTDSbiqsxnwN%2FCzK5tPkOr4tRh2kY3Bn9JtalbIOI4b3F7F1vPQMfoDcdxMS8CW9m%2FNCW%2FHILTUVWQIPiD0j1A6bo8vsv6P1hCESl2abrSJWDrq5sSzUpwoxaCU9FtJyYH4QFMxDBpkkBR6kn0LMPO%2B5EJ7Z6bCiRoPedRZ%2FP0SSdii7ZnPAtVwwHUidcdyspwncz5uq6vvm4IEDbJVLUFCn%2FLvIHfooUBTkFO130FC7CmmcrKdgDJcid9mvVzsDSibOoXtIf9k6ABle3PmIxejodc4aob0QKS432srrCMndbfD454q52V01G4q913mC5HOsTzWF4h2No1av1VbcUgWAqyoZl%2B11PoFYnNv2HwAODeNRkHj%2B8SF1fcvVBu6MrehHAZK1Gm69ICcTKizykHgGFx7QdowTVAsYEF2tVc0Z6wLryz2FI1sc5By2znJAAmINndoJiB4sfPdPrTC8RnkW7KRCwxC6YvXg5ahMlQuMpoCSXjOlBy0Kij%2BbsCYPbGp8BdCBiLmLSAkEQRaieWo1SYvZIKJGj9Ur%2FeWHjiB7SOVdqMAVmpBvfRiebsFjger7DC%2B8kRFGtNrTrnnGD2GAJb8rQCWkUPYHhwXsjNBSkE6lGWUj5QNhK0DMNM2l%2BkXRZ0KLZaGsFSIdQz%2FHXDxf3%2FTE30%2BDgBKWGWdxElyLccJfEpjsnszECNoDGZpdwdRgCixeg9L4EPhH%2BRptvRMVRaahu4cySjS3P5wxAUCPkmn%2BrhyASpmiTaiDeggaIxYBmtLZDDhiWIJaBgzfCsAGUF1Q1SFZYyXDt9skCaxJsxK2Ms65dmdp5WAZyxik%2FzbrTQk5KmgxCg%2Ff45L0jywebOWUYFJQAJia7XzCV0x89rpp%2Ff3AVWhSPyTanqmik2SkD8A3Ml4NhIGLAjBXtPShwKYfi2eXtrDuKLk4QlSyTw1ftXgwqA2jUuopDl%2B5tfUWZNwBpEPXghzbBggYCw%2Fdhy0ntds2yeHCDKkF%2FYxQjNIL%2FF%2F37jLPHCKBO9ibwYCmuxImIo0ijV2Wbg3kSN2psoe8IsABv3RNFaF9uMyCtCYtqcD%2BqNOhwMlfARQUdJ2tUX%2BMNJqOwIciWalZsmEjt07tfa8ma4cji9sqz%2BQ9hWfmMoKEbIHPOQORbhQRHIsrTYlnVTNvcq1imqmmPDdVDkJgRcTgB8Sb6epCQVmFZe%2BjGDiNJQLWnfx%2BdrTKYjm0G8yH0ZAGMWzEJhUEQ4Maimgf%2Fbkvo8PLVBsZl152y5S8%2BHRDfZIMCbYZ1WDp4yrdchOJw8k6R%2B%2F2pHmydK4NIK2PHdFPHtoLmHxRDwLFb7eB%2BM4zNZcB9NrAgjVyzLM7xyYSY13ykWfIEEd2n5%2FiYp3ZdrCf7fL%2Ben%2BsIJu2W7E30MrAgZBD1rAAbZHPgeAMtKCg3NpSpYQUDWJu9bT3V7tOKv%2BNRiJc8JAKqqgCA%2FPNRBR7ChpiEulyQApMK1AyqcWnpSOmYh6yLiWkGJ2mklCSPIqN7UypWj3dGi5MvsHQ87MrB4VFgypJaFriaHivwcHIpmyi5LhNqtem4q0n8awM19Qk8BOS0EsqGscuuydYsIGsbT5GHnERUiMpKJl4ON7qjB4fEqlGN%2FhCky89232UQCiaeWpDYCJINXjT6xl4Gc7DxRCtgV0i1ma4RgWLsNtnEBRQFqZggCLiuyEydmFd7WlogpkCw5G1x4ft2psm3KAREwVwr1Gzl6RT7FDAqpVal34ewVm3VH4qn5mjGj%2BbYL1NgfLNeXDwtmYSpwzbruDKpTjOdgiIHDVQSb5%2FzBgSMbHLkxWWgghIh9QTFSDILixVwg0Eg1puooBiHAt7DzwJ7m8i8%2Fi%2BjHvKf0QDnnHVkVTIqMvIQImOrzCJwhSR7qYB5gSwL6aWL9hERHCZc4G2%2BJrpgHNB8eCCmcIWIQ6rSdyPCyftXkDlErUkHafHRlkOIjxGbAktz75bnh50dU7YHk%2BMz7wwstg6RFZb%2BTZuSOx1qqP5C66c0mptQmzIC2dlpte7vZrauAMm%2F7RfBYkGtXWGiaWTtwvAQiq2oD4YixPLXE2khB2FRaNRDTk%2B9sZ6K74Ia9VntCpN4BhJGJMT4Z5c5FhSepRCRWmBXqx%2BwhVZC4me4saDs2iNqXMuCl6iAZflH8fscC1sTsy4PHeC%2BXYuqMBMUun5YezKbRKmEPwuK%2BCLzijPEQgfhahQswBBLfg%2FGBgBiI4QwAqzJkkyYAWtjzSg2ILgMAgqxYfwERRo3zruBL9WOryUArSD8sQOcD7fvIODJxKFS615KFPsb68USBEPPj1orNzFY2xoTtNBVTyzBhPbhFH0PI5AtlJBl2aSgNPYzxYLw7XTDBDinmVoENwiGzmngrMo8OmnRP0Z0i0Zrln9DDFcnmOoBZjABaQIbPOJYZGqX%2BRCMlDDbElcjaROLDoualmUIQ88Kekk3iM4OQrADcxi3rJguS4MOIBIgKgXrjd1WkbCdqxJk%2F4efRIFsavZA7KvvJQqp3Iid5Z0NFc5aiMRzGN3vrpBzaMy4JYde3wr96PjN90AYOIbyp6T4zj8LoE66OGcX1Ef4Z3KoWLAUF4BTg7ug%2FAbkG5UNQXAMkQezujSHeir2uTThgd3gpyzDrbnEdDRH2W7U6PeRvBX1ZFMP5RM%2BZu6UUZZD8hDPHldVWntTCNk7To8IeOW9yn2wx0gmurwqC60AOde4r3ETi5pVMSDK8wxhoGAoEX9NLWHIR33VbrbMveii2jAJlrxwytTHbWNu8Y4N8vCCyZjAX%2FpcsfwXbLze2%2BD%2Bu33OGBoJyAAL3jn3RuEcdp5If8O%2Ba4NKWvxOTyDltG0IWoHhwVGe7dKkCWFT%2B%2Btm%2BhaBCikRUUMrMhYKZJKYoVuv%2FbsJzO8DwfVIInQq3g3BYypiz8baogH3r3GwqCwFtZnz4xMjAVOYnyOi5HWbFA8n0qz1OjSpHWFzpQOpvkNETZBGpxN8ybhtqV%2FDMUxd9uFZmBfKXMCn%2FSqkWJyKPnT6lq%2B4zBZni6fYRByJn6OK%2BOgPBGRAJluwGSk4wxjOOzyce%2FPKODwRlsgrVkdcsEiYrqYdXo0Er2GXi2GQZd0tNJT6c9pK1EEJG1zgDJBoTVuCXGAU8BKTvCO%2FcEQ1Wjk3Zzuy90JX4m3O5IlxVFhYkSUwuQB2up7jhvkm%2BbddRQu5F9s0XftGEJ9JSuSk%2BZachCbdU45fEqbugzTIUokwoAKvpUQF%2FCvLbWW5BNQFqFkJg2f30E%2F48StNe5QwBg8zz3YAJ82FZoXBxXSv4QDooDo79NixyglO9AembuBcx5Re3CwOKTHebOPhkmFC7wNaWtoBhFuV4AkEuJ0J%2B1pT0tLkvFVZaNzfhs%2FKd3%2BA9YsImlO4XK4vpCo%2FelHQi%2F9gkFg07xxnuXLt21unCIpDV%2BbbRxb7FC6nWYTsMFF8%2B1LUg4JFjVt3vqbuhHmDKbgQ4e%2BRGizRiO8ky05LQGMdL2IKLSNar0kNG7lHJMaXr5mLdG3nykgj6vB%2FKVijd1ARWkFEf3yiUw1v%2FWaQivVUpIDdSNrrKbjO5NPnxz6qTTGgYg03HgPhDrCFyYZTi3XQw3HXCva39mpLNFtz8AiEhxAJHpWX13gCTAwgm9YTvMeiqetdNQv6IU0hH0G%2BZManTqDLPjyrOse7WiiwOJCG%2BJ0pZYULhN8NILulmYYvmVcV2MjAfA39sGKqGdjpiPo86fecg65UPyXDIAOyOkCx5NQsLeD4gGVjTVDwOHWkbbBW0GeNjDkcSOn2Nq4cEssP54t9D749A7M1AIOBl0Fi0sSO5v3P7LCBrM6ZwFY6kp2FX6AcbGUdybnfChHPyu6WlRZ2Fwv9YM0RMI7kISRgR8HpQSJJOyTfXj%2F6gQKuihPtiUtlCQVPohUgzfezTg8o1b3n9pNZeco1QucaoXe40Fa5JYhqdTspFmxGtW9h5ezLFZs3j%2FN46f%2BS2rjYNC2JySXrnSAFhvAkz9a5L3pza8eYKHNoPrvBRESpxYPJdKVUxBE39nJ1chrAFpy4MMkf0qKgYALctGg1DQI1kIymyeS2AJNT4X240d3IFQb%2F0jQbaHJ2YRK8A%2Bls6WMhWmpCXYG5jqapGs5%2FeOJErxi2%2F2KWVHiPellTgh%2FfNl%2F2KYPKb7DUcAg%2BmCOPQFCiU9Mq%2FWLcU1xxC8aLePFZZlE%2BPCLzf7ey46INWRw2kcXySR9FDgByXzfxiNKwDFbUSMMhALPFSedyjEVM5442GZ4hTrsAEvZxIieSHGSgkwFh%2FnFNdrrFD4tBH4Il7fW6ur4J8Xaz7RW9jgtuPEXQsYk7gcMs2neu3zJwTyUerHKSh1iTBkj2YJh1SSOZL5pLuQbFFAvyO4k1Hxg2h99MTC6cTUkbONQIAnEfGsGkNFWRbuRyyaEZInM5pij73EA9rPIUfU4XoqQpHT9THZkW%2BoKFLvpyvTBMM69tN1Ydwv1LIEhHsC%2BueVG%2Bw%2BkyCPsvV3erRikcscHjZCkccx6VrBkBRusTDDd8847GA7p2Ucy0y0HdSRN6YIBciYa4vuXcAZbQAuSEmzw%2BH%2FAuOx%2BaH%2BtBL88H57D0MsqyiZxhOEQkF%2F8DR1d2hSPMj%2FsNOa5rxcUnBgH8ictv2J%2Bcb4BA4v3MCShdZ2vtK30vAwkobnEWh7rsSyhmos3WC93Gn9C4nnAd%2FPjMMtQfyDNZsOPd6XcAsnBE%2FmRHtHEyJMzJfZFLE9OvQa0i9kUmToJ0ZxknTgdl%2FXPV8xoh0K7wNHHsnBdvFH3sv52lU7UFteseLG%2FVanIvcwycVA7%2BBE1Ulyb20BvwUWZcMTKhaCcmY3ROpvonVMV4N7yBXTL7IDtHzQ4CCcqF66LjF3xUqgErKzolLyCG6Kb7irP%2FMVTCCwGRxfrPGpMMGvPLgJ881PHMNMIO09T5ig7AzZTX%2F5PLlwnJLDAPfuHynSGhV4tPqR3gJ4kg4c06c%2FF1AcjGytKm2Yb5jwMotF7vro4YDLWlnMIpmPg36NgAZsGA0W1spfLSue4xxat0Gdwd0lqDBOgIaMANykwwDKejt5YaNtJYIkrSgu0KjIg0pznY0SCd1qlC6R19g97UrWDoYJGlrvCE05J%2F5wkjpkre727p5PTRX5FGrSBIfJqhJE%2FIS876PaHFkx9pGTH3oaY3jJRvLX9Iy3Edoar7cFvJqyUlOhAEiOSAyYgVEGkzHdug%2BoRHIEOXAExMiTSKU9A6nmRC8mp8iYhwWdP2U%2F5EkFAdPrZw03YA3gSyNUtMZeh7dDCu8pF5x0VORCTgKp07ehy7NZqKTpIC4UJJ89lnboyAfy5OyXzXtuDRbtAFjZRSyGFTpFrXwkpjSLIQIG3N0Vj4BtzK3wdlkBJrO18MNsgseR4BysJilI0wI6ZahLhBFA0XBmV8d4LUzEcNVb0xbLjLTETYN8OEVqNxkt10W614dd1FlFFVTIgB7%2FBQQp1sWlNolpIu4ekxUTBV7NmxOFKEBmmN%2BnA7pvF78%2FRII5ZHA09OAiE%2F66MF6HQ%2BqVEJCHxwymukkNvzqHEh52dULPbVasfQMgTDyBZzx4007YiKdBuUauQOt27Gmy8ISclPmEUCIcuLbkb1mzQSqIa3iE0PJh7UMYQbkpe%2BhXjTJKdldyt2mVPwywoODGJtBV1lJTgMsuSQBlDMwhEKIfrvsxGQjHPCEfNfMAY2oxvyKcKPUbQySkKG6tj9AQyEW3Q5rpaDJ5Sns9ScLKeizPRbvWYAw4bXkrZdmB7CQopCH8NAmqbuciZChHN8lVGaDbCnmddnqO1PQ4ieMYfcSiBE5zzMz%2BJV%2F4eyzrzTEShvqSGzgWimkNxLvUj86iAwcZuIkqdB0VaIB7wncLRmzHkiUQpPBIXbDDLHBlq7vp9xwuC9AiNkIptAYlG7Biyuk8ILdynuUM1cHWJgeB%2BK3wBP%2FineogxkvBNNQ4AkW0hvpBOQGFfeptF2YTR75MexYDUy7Q%2F9uocGsx41O4IZhViw%2F2FvAEuGO5g2kyXBUijAggWM08bRhXg5ijgMwDJy40QeY%2FcQpUDZiIzmvskQpO5G1zyGZA8WByjIQU4jRoFJt56behxtHUUE%2Fom7Rj2psYXGmq3llVOCgGYKNMo4pzwntITtapDqjvQtqpjaJwjHmDzSVGLxMt12gEXAdLi%2FcaHSM3FPRGRf7dB7YC%2BcD2ho6oL2zGDCkjlf%2FDFoQVl8GS%2F56wur3rdV6ggtzZW60MRB3g%2BU1W8o8cvqIpMkctiGVMzXUFI7FacFLrgtdz4mTEr4aRAaQ2AFQaNeG7GX0yOJgMRYFziXdJf24kg%2FgBQIZMG%2FYcPEllRTVNoDYR6oSJ8wQNLuihfw81UpiKPm714bZX1KYjcXJdfclCUOOpvTxr9AAJevTY4HK%2FG7F3mUc3GOAKqh60zM0v34v%2BELyhJZqhkaMA8UMMOU90f8RKEJFj7EqepBVwsRiLbwMo1J2zrE2UYJnsgIAscDmjPjnzI8a719Wxp757wqmSJBjXowhc46QN4RwKIxqEE6E5218OeK7RfcpGjWG1jD7qND%2B%2FGTk6M56Ig4yMsU6LUW1EWE%2BfIYycVV1thldSlbP6ltdC01y3KUfkobkt2q01YYMmxpKRvh1Z48uNKzP%2FIoRIZ%2FF6buOymSnW8gICitpJjKWBscSb9JJKaWkvEkqinAJ2kowKoqkqZftRqfRQlLtKoqvTRDi2vg%2FRrPD%2Fd3a09J8JhGZlEkOM6znTsoMCsuvTmywxTCDhw5dd0GJOHCMPbsj3QLkTE3MInsZsimDQ3HkvthT7U9VA4s6G07sID0FW4SHJmRGwCl%2BMu4xf0ezqeXD2PtPDnwMPo86sbwDV%2B9PWcgFcARUVYm3hrFQrHcgMElFGbSM2A1zUYA3baWfheJp2AINmTJLuoyYD%2FOwA4a6V0ChBN97E8YtDBerUECv0u0TlxR5yhJCXvJxgyM73Bb6pyq0jTFJDZ4p1Am1SA6sh8nADd1hAcGBMfq4d%2FUfwnmBqe0Jun1n1LzrgKuZMAnxA3NtCN7Klf4BH%2B14B7ibBmgt0TGUafVzI4uKlpF7v8NmgNjg90D6QE3tbx8AjSAC%2BOA1YJvclyPKgT27QpIEgVYpbPYGBsnyCNrGz9XUsCHkW1QAHgL2STZk12QGqmvAB0NFteERkvBIH7INDsNW9KKaAYyDMdBEMzJiWaJHZALqDxQDWRntumSDPcplyFiI1oDpT8wbwe01AHhW6%2BvAUUBoGhY3CT2tgwehdPqU%2F4Q7ZLYvhRl%2FogOvR9O2%2BwkkPKW5vCTjD2fHRYXONCoIl4Jh1bZY0ZE1O94mMGn%2FdFSWBWzQ%2FVYk%2BGezi46RgiDv3EshoTmMSlioUK6MQEN8qeyK6FRninyX8ZPeUWjjbMJChn0n%2FyJvrq5bh5UcCAcBYSafTFg7p0jDgrXo2QWLb3WpSOET%2FHh4oSadBTvyDo10IufLzxiMLAnbZ1vcUmj3w7BQuIXjEZXifwukVxrGa9j%2BDXfpi12m1RbzYLg9J2wFergEwOxFyD0%2FJstNK06ZN2XdZSGWxcJODpQHOq4iKqjqkJUmPu1VczL5xTGUfCgLEYyNBCCbMBFT%2FcUP6pE%2FmujnHsSDeWxMbhrNilS5MyYR0nJyzanWXBeVcEQrRIhQeJA6Xt4f2eQESNeLwmC10WJVHqwx8SSyrtAAjpGjidcj1E2FYN0LObUcFQhafUKTiGmHWRHGsFCB%2BHEXgrzJEB5bp0QiF8ZHh11nFX8AboTD0PS4O1LqF8XBks2MpjsQnwKHF6HgaKCVLJtcr0XjqFMRGfKv8tmmykhLRzu%2BvqQ02%2BKpJBjaLt9ye1Ab%2BBbEBhy4EVdIJDrL2naV0o4wU8YZ2Lq04FG1mWCKC%2BUwkXOoAjneU%2FxHplMQo2cXUlrVNqJYczgYlaOEczVCs%2FOCgkyvLmTmdaBJc1iBLuKwmr6qtRnhowngsDxhzKFAi02tf8bmET8BO27ovJKF1plJwm3b0JpMh38%2BxsrXXg7U74QUM8ZCIMOpXujHntKdaRtsgyEZl5MClMVMMMZkZLNxH9%2Bb8fH6%2Bb8Lev30A9TuEVj9CqAdmwAAHBPbfOBFEATAPZ2CS0OH1Pj%2F0Q7PFUcC8hDrxESWdfgFRm%2B7vvWbkEppHB4T%2F1ApWnlTIqQwjcPl0VgS1yHSmD0OdsCVST8CQVwuiew1Y%2Bg3QGFjNMzwRB2DSsAk26cmA8lp2wIU4p93AUBiUHFGOxOajAqD7Gm6NezNDjYzwLOaSXRBYcWipTSONHjUDXCY4mMI8XoVCR%2FRrs%2FJLKXgEx%2BqkmeDlFOD1%2FyTQNDClRuiUyKYCllfMiQiyFkmuTz2vLsBNyRW%2Bxz%2B5FElFxWB28VjYIGZ0Yd%2B5wIjkcoMaggxswbT0pCmckRAErbRlIlcOGdBo4djTNO8FAgQ%2BlT6vPS60BwTRSUAM3ddkEAZiwtEyArrkiDRnS7LJ%2B2hwbzd2YDQagSgACpsovmjil5wfPuXq3GuH0CyE7FK3M4FgRaFoIkaodORrPx1%2BJpI9psyNYIFuJogZa0%2F1AhOWdlHQxdAgbwacsHqPZo8u%2FngAH2GmaTdhYnBfSDbBfh8CHq6Bx5bttP2%2BRdM%2BMAaYaZ0Y%2FADkbNCZuAyAVQa2OcXOeICmDn9Q%2FeFkDeFQg5MgHEDXq%2FtVjj%2Bjtd26nhaaolWxs1ixSUgOBwrDhRIGOLyOVk2%2FBc0UxvseQCO2pQ2i%2BKrfhu%2FWeBovNb5dJxQtJRUDv2mCwYVpNl2efQM9xQHnK0JwLYt%2FU0Wf%2BphiA4uw8G91slC832pmOTCAoZXohg1fewCZqLBhkOUBofBWpMPsqg7XEXgPfAlDo2U5WXjtFdS87PIqClCK5nW6adCeXPkUiTGx0emOIDQqw1yFYGHEVx20xKjJVYe0O8iLmnQr3FA9nSIQilUKtJ4ZAdcTm7%2BExseJauyqo30hs%2B1qSW211A1SFAOUgDlCGq7eTIcMAeyZkV1SQJ4j%2Fe1Smbq4HcjqgFbLAGLyKxlMDMgZavK5NAYH19Olz3la%2FQCTiVelFnU6O%2FGCvykqS%2FwZJDhKN9gBtSOp%2F1SP5VRgJcoVj%2Bkmf2wBgv4gjrgARBWiURYx8xENV3bEVUAAWWD3dYDKAIWk5opaCFCMR5ZjJExiCAw7gYiSZ2rkyTce4eNMY3lfGn%2B8p6%2BvBckGlKEXnA6Eota69OxDO9oOsJoy28BXOR0UoXNRaJD5ceKdlWMJlOFzDdZNpc05tkMGQtqeNF2lttZqNco1VtwXgRstLSQ6tSPChgqtGV5h2DcDReIQadaNRR6AsAYKL5gSFsCJMgfsaZ7DpKh8mg8Wz8V7H%2BgDnLuMxaWEIUPevIbClgap4dqmVWSrPgVYCzAoZHIa5z2Ocx1D%2FGvDOEqMOKLrMefWIbSWHZ6jbgA8qVBhYNHpx0P%2BjAgN5TB3haSifDcApp6yymEi6Ij%2FGsEpDYUgcHATJUYDUAmC1SCkJ4cuZXSAP2DEpQsGUjQmKJfJOvlC2x%2FpChkOyLW7KEoMYc5FDC4v2FGqSoRWiLsbPCiyg1U5yiHZVm1XLkHMMZL11%2Fyxyw0UnGig3MFdZklN5FI%2FqiT65T%2BjOXOdO7XbgWurOAZR6Cv9uu1cm5LjkXX4xi6mWn5r5NjBS0gTliHhMZI2WNqSiSphEtiCAwnafS11JhseDGHYQ5%2BbqWiAYiAv6Jsf79%2FVUs4cIl%2Bn6%2BWOjcgB%2F2l5TreoAV2717JzZbQIR0W1cl%2FdEqCy5kJ3ZSIHuU0vBoHooEpiHeQWVkkkOqRX27eD1FWw4BfO9CJDdKoSogQi3hAAwsPRFrN5RbX7bqLdBJ9JYMohWrgJKHSjVl1sy2xAG0E3sNyO0oCbSGOxCNBRRXTXenYKuwAoDLfnDcQaCwehUOIDiHAu5m5hMpKeKM4sIo3vxACakIxKoH2YWF2QM84e6F5C5hJU4g8uxuFOlAYnqtwxmHyNEawLW%2FPhoawJDrGAP0JYWHgAVUByo%2FbGdiv2T2EMg8gsS14%2FrAdzlOYazFE7w4OzxeKiWdm3nSOnQRRKXSlVo8HEAbBfyJMKqoq%2BSCcTSx5NDtbFwNlh8VhjGGDu7JG5%2FTAGAvniQSSUog0pNzTim8Owc6QTuSKSTXlQqwV3eiEnklS3LeSXYPXGK2VgeZBqNcHG6tZHvA3vTINhV0ELuQdp3t1y9%2BogD8Kk%2FW7QoRN1UWPqM4%2BxdygkFDPLoTaumKReKiLWoPHOfY54m3qPx4c%2B4pgY3MRKKbljG8w4wvz8pxk3AqKsy4GMAkAtmRjRMsCxbb4Q2Ds0Ia9ci8cMT6DmsJG00XaHCIS%2Bo3F8YVVeikw13w%2BOEDaCYYhC0ZE54kA4jpjruBr5STWeqQG6M74HHL6TZ3lXrd99ZX%2B%2B7LhNatQaZosuxEf5yRA15S9gPeHskBIq3Gcw81AGb9%2FO53DYi%2F5CsQ51EmEh8Rkg4vOciClpy4d04eYsfr6fyQkBmtD%2BP8sNh6e%2BXYHJXT%2FlkXxT4KXU5F2sGxYyzfniMMQkb9OjDN2C8tRRgTyL7GwozH14PrEUZc6oz05Emne3Ts5EG7WolDmU8OB1LDG3VrpQxp%2BpT0KYV5dGtknU64JhabdqcVQbGZiAxQAnvN1u70y1AnmvOSPgLI6uB4AuDGhmAu3ATkJSw7OtS%2F2ToPjqkaq62%2F7WFG8advGlRRqxB9diP07JrXowKR9tpRa%2BjGJ91zxNTT1h8I2PcSfoUPtd7NejVoH03EUcqSBuFZPkMZhegHyo2ZAITovmm3zAIdGFWxoNNORiMRShgwdYwFzkPw5PA4a5MIIQpmq%2Bnsp3YMuXt%2FGkXxLx%2FP6%2BZJS0lFyz4MunC3eWSGE8xlCQrKvhKUPXr0hjpAN9ZK4PfEDrPMfMbGNWcHDzjA7ngMxTPnT7GMHar%2BgMQQ3NwHCv4zH4BIMYvzsdiERi6gebRmerTsVwZJTRsL8dkZgxgRxmpbgRcud%2BYlCIRpPwHShlUSwuipZnx9QCsEWziVazdDeKSYU5CF7UVPAhLer3CgJOQXl%2Fzh575R5rsrmRnKAzq4POFdgbYBuEviM4%2BLVC15ssLNFghbTtHWerS1hDt5s4qkLUha%2FqpZXhWh1C6lTQAqCNQnaDjS7UGFBC6wTu8yFnKJnExCnAs3Ok9yj5KpfZESQ4lTy5pTGTnkAUpxI%2ByjEldJfSo4y0QhG4i4IwkRFGcjWY8%2BEzgYYJUK7BXQksLxAww%2FYYWBMhJILB9e8ePEJ4OP7z%2B4%2FwOQDl64iOYDp26DaONPxpKtBxq%2FaTzRGarm3VkPYTLJKx6Z%2FMw2YbBGseJhPMwhhNswrIkyvV2BYzrvZbxLpKwcWJhYmFtVZ%2BlPEq91FzVp1HlQY1bZVLqeNR9SAUn6n0E28k%2FUuGkNpP1DBI5ch%2FEehZfjUQ9aE41NhETExoPT2gGQz0IhWJbEOvTQ4wgcXCHHFBhewYUiFHuhRSAUVmEHeCRQHQkXGFwkAgyzREJCVN7TRnTon36Zw3tPhx4EALwNdwDv%2BJ41YSP4B2CQqz0EFgARZ4ESgBHQgROwAVn9GTI%2BHYexTUevLUeta4%2FDqKrbMVS%2BYqb8hUwYCrlgKtmAq1YCrFgKrd4qpXiqZcKn1oqdWipjYKpWwVPVYqW6xUpVipKqFR3QKjagVEtAqHpxUMTitsnFaJOKx2cVhswq35RVpyiq9lFVNIKnOQVMkgqtYxVNxiqQjFS7GKlSIVIsQqPIhUWwioigFQ%2B%2BKkN8VHr49HDw9Ebo9EDo9DTo9Crg9BDg9%2FWx7gWx7YWwlobYrOGxWPNisAaAHEyALpkAVDIAeWAArsABVXACYuAD5cAF6wAKFQAQqgAbVAAsoAAlQAUaYAfkwAvogBWQACOgAD9AAHSAAKT4GUdMiOvFngBTwCn2AZ7Dv6B6k%2F90B8%2ByRnkV144AIBoAMTQATGgAjNAA4YABgwABZgB%2FmQCwyAVlwCguASlwCEuAQFwB4uAMlwBYuAJlQAUVAAhUD2KgdpUDaJgaRMDFJgX5MC1JgWJEAokQCWRAHxEAWkQBMRADpEAMkQAYROAEecC484DRpwBDTnwNOdw05tjTmiNOYwtswhYFwLA7BYG4LA2BYGOLAwRYFuLAsxYFQJAohIEyJAMwkAwiQC0JAJgkAeiQBkJAFokAPCQA0JABwcD4Dgc4cDdDgaYcDIDgYgUC6CgWgUClCgUYUAVBQBOFAEYMALgwAgDA9QYAdIn8AZzeBB2L5EcWrenUT1KXienEsuJJ7x5U8XlTjc1NVzUyXFTGb1LlpUtWlTDIjqwE4LsagowoCi2gJLKAkpoBgJQNpAIhNqaEoneI6kiiqQ6Go%2Fn6j0cS%2Ba2gEU8gIHJ%2BBwfgZX4GL%2BBd%2FgW34FZ%2BBS%2FgUH4FN6BTegTvoEv6BJegRnYEF2A79gOvYDl2BdEjCkqkGtwXp0LNToIskOTXzh%2FF062yJ7AAAAEDAWAAABWhJ%2BKPEIJgBFxMVP7w2QJBGHASQnOBKXKFIdUK4igKA9IEaYJg%29%20format%28%27embedded%2Dopentype%27%29%2Curl%28data%3Aapplication%2Ffont%2Dwoff%3Bbase64%2Cd09GRgABAAAAAFuAAA8AAAAAsVwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABWAAAABwAAAAcbSqX3EdERUYAAAF0AAAAHwAAACABRAAET1MvMgAAAZQAAABFAAAAYGe5a4ljbWFwAAAB3AAAAsAAAAZy2q3jgWN2dCAAAAScAAAABAAAAAQAKAL4Z2FzcAAABKAAAAAIAAAACP%2F%2FAANnbHlmAAAEqAAATRcAAJSkfV3Cb2hlYWQAAFHAAAAANAAAADYFTS%2FYaGhlYQAAUfQAAAAcAAAAJApEBBFobXR4AABSEAAAAU8AAAN00scgYGxvY2EAAFNgAAACJwAAAjBv%2B5XObWF4cAAAVYgAAAAgAAAAIAFqANhuYW1lAABVqAAAAZ4AAAOisyygm3Bvc3QAAFdIAAAELQAACtG6o%2BU1d2ViZgAAW3gAAAAGAAAABsMYVFAAAAABAAAAAMw9os8AAAAA0HaBdQAAAADQdnOXeNpjYGRgYOADYgkGEGBiYGRgZBQDkixgHgMABUgASgB42mNgZulmnMDAysDCzMN0gYGBIQpCMy5hMGLaAeQDpRCACYkd6h3ux%2BDAoPD%2FP%2FOB%2FwJAdSIM1UBhRiQlCgyMADGWCwwAAAB42u2UP2hTQRzHf5ekaVPExv6JjW3fvTQ0sa3QLA5xylBLgyBx0gzSWEUaXbIoBBQyCQGHLqXUqYNdtIIgIg5FHJxEtwqtpbnfaV1E1KFaSvX5vVwGEbW6OPngk8%2FvvXfv7pt3v4SImojIDw6BViKxRgIVBaZwVdSv%2BxvXA%2BIuzqcog2cOkkvDNE8Lbqs74k64i%2B5Sf3u8Z2AnIRLbyVCyTflVSEXVoEqrrMqrgiqqsqqqWQ5xlAc5zWOc5TwXucxVnuE5HdQhHdFRHdNJndZZndeFLc%2FzsKJLQ%2FWV6BcrCdWkwspVKZVROaw0qUqqoqZZcJhdTnGGxznHBS5xhad5VhNWCuturBTXKZ3RObuS98pb9c57k6ql9rp2v1as5deb1r6s9q1GV2IrHSt73T631424YXzjgPwqt%2BRn%2BVG%2BlRvyirwsS%2FKCPCfPytPypDwhj8mjctRZd9acF86y89x55jxxHjkPnXstXfbt%2FpNjj%2FnwXW%2BcHa6%2FSYvZ7yEwbDYazDcIgoUGzY3h2HtqgUcs1AFPWKgTXrRQF7xkoQhRf7uF9hPFeyzUTTSwY6EoUUJY6AC8bSGMS4Ys1Au3WaiPSGGsMtkdGH2rzJgYHAaYjxIwQqtB1CnYkEZ9BM6ALOpROAfyqI%2FDBQudgidBETXuqRIooz4DV0AV9UV4GsyivkTEyMMmw1UYGdhkuAYjA5sMGMvIwCbDDRgZeAz1TXgcmDy3YeRhk%2BcOjCxsMjyAkYFNhscwMrDJ8BQ2886gXoaRhedQvyTSkDZ7uA6HLLQBI5vGntAbGHugTc53cMxC7%2BE4SKL%2BACOzNpk3YWTWJid%2BiRo5NXIKM3fBItAPW55FdJLY3FeHBDr90606JCIU9Jk%2BMs3%2FY%2F8L8jUq3y79bJ%2F0%2F%2BROoP4v9v%2F4%2Fmj%2Bi7HBXUd0%2FelU6IHfHt8Aj9EPGAAoAvgAAAAB%2F%2F8AAnjaxb0JfBvVtTA%2BdxaN1hltI1m2ZVuSJVneLVlSHCdy9oTEWchqtrBEJRAgCYEsQNhC2EsbWmpI2dqkQBoSYgKlpaQthVL0yusrpW77aEubfq%2Fly%2BujvJampSTW5Dvnzmi1E%2Bjr%2F%2F3%2BXmbu3Llz77nnbuece865DMu0MAy5jGtiOEZkOp8lTNeUwyLP%2FDH%2BrEH41ZTDHAtB5lkOowWMPiwayNiUwwTjE46AI5xwhFrINPXYn%2F7ENY0dbWHfZAiTZbL8ID%2FInAd5xz2NpIH4STpDGonHIJNE3OP1KG4ISaSNeBuITAyRLgIxoiEUhFAnmUpEiXSRSGqAQEw0kuyFUIb0k2gnGSApyBFi0il2SI5YLGb5MdFjXCey4mNHzQ7WwLGEdZiPPgYR64we8THZHAt%2BwnT84D%2Fx8YTpGPgheKH4CMEDVF9xBOIeP3EbQgGH29BGgpGkIxCMTCW9qUTA0Zsir%2BQUP1mt%2BP2KusevwIO6Bx%2FIaj8%2FOD5O0VNrZW2EsqZBWbO1skRiEKE0DdlKKaSVO5VAuRpqk8VQJAqY7ydxaK44YJvrO2EWjOoDBoFYzQbDNkON%2BUbiKoRkywMWWf1j4bEY2iIY1AeMgvmEz%2FkVo9v4FSc%2FaMZMrFbjl4zWLL0%2BY5FlyzNlEVYDudJohg8gPUP7kcB%2Fmn%2BG6cd%2B5PV4Q72dXCgocWJADBgUuDTwiXiGSyZo14HOEQ2lE6k0XDIEusexDzZOMXwt1Dutz%2BtqmxTvlskNWXXUQIbhaurum9GrePqm9Yaeabjkiqf%2BbUvzDOvb2Y1E%2BEX2DnemcTP%2FzLcuu7xjQXdAtjR0Lo5n4%2FHs%2FGtntMlysHt%2B29NXbH6se%2F%2FWbFcyu%2Br28H0MwzI30DYeYTLMXIA2EG8QlHpAsyS0EfEToR0a3utIxFPJ3kiIHCCrZ66b0e2xEmL1dM9YN%2FMwS5p01N5jMX%2FBLKt%2F1R83l0LyC29M6%2BiYxo%2FUNg%2FEF7c2WyyW5tYl8WnhWg2%2FhyySbD5UhnDyS7OcU0dnrFw%2BDfGdI7v4QfYIIzOMq9hFtY55gmvC7jZ2FK7sEdrn6IXBuucYhjsGdQ8z0yEbWkkczjjsE5hNAIZrPx2zOLZDmKNXcXtg7EMqidAEEWg%2BSJCBBNwxvxJfc%2FbZa%2BKKf%2BxoKZybnq5vaqpPTye7CiF%2BZFjxZ8%2F7Qij0hfOG%2FcowPA1rT1l4ymWnrKmxxqfErTVrpgwPlz1kC%2BOy8NMDz6c%2BIO38K%2Fx0xkPnLW8Kx6qGAoQdL%2BTD9V9rb%2B%2Fctn%2F%2Ftrxz8dUrZrD%2Fzk%2FferF0cNt1BzctmX2FZPXt%2FjnFCQNz4Ah%2FiKllGiCMs1w5Lkg0kiEwj6VTXCDKsX9rMpnvIj9pcDecXAIXMnqn2dTUbN6w0XQ9ue6FV%2FnnXCH7S3lPWGltVcLsH75ub3ab7A8M28caNrIeOr3o5Q0yFsYL80xaa0EY%2FUEczV7icUMY5pnelAkmUAXmHYjvFWFGxuqlSaow3OM%2B%2FiYY7%2Fl%2FhVELF4EjRqNR%2FbvRbOY%2BDUGzGR%2FOh3EqmE%2FugIQQguGt%2FeMYz%2F%2BL0cimjeZfQDI3phXMbMQsqH%2BCjwVz%2Fhf4idHovgVmB8gLvjbicDcC%2FNypP536E%2F9N%2FpuMibExdohBmNwyiaZdJGoigos7GpF222xrfnZhML%2F7Z%2BylaqP63Hr%2Bm7bdUkQ6%2F2cXqdfmvwixY%2Bs2ksXFeXcE%2BiX0Z%2BIow76DBNgjJ7TOdUK18iPsPflfQD%2BDPsZG2Aj9VmKMMJ4fYRrhIaxhTDR0Elh2vA6h%2FAE6xUb29mj3sjmL72petXjejPy%2Boel60M99tFduCI59N3221xe7apOvxs6aHs7vab1IqY2tv7q2xsHeHGml%2FcV06u%2F8S%2FxTjJ%2BJYc0bWEX0ukW6YmIbGkJRMdjJ9mYIH5QIdJF4hvRGyK7cC7ctImQRcUET99fGXOoft35GYLMQu%2Bg2smnkgZUrH8AL%2F9Si217IssJ916nv14ZrJrvdxLkQvrvtBcjgPC0NXOicO8Qf4mcxPqh3hgUw3DDfdvLJXngg7N3dN2zbPJSaed3OfZnMU7dvmznp3C3bruO%2BNmue0LFsy7S%2B6265%2BfCKFYdvvuW6vmlblnUI8xCXp37CrOZv4B9gauDBlYp7adcUXB5DNCwYImlXOJJKkAdvExXxVvKEYnCo%2B3eIskP9qrrfIYs71CccBjfXRC52udTHHdaP1A1ui%2FVvH1otbrLrpNXBsGX5B89QghDyimlvNB2KfkxZ5C9%2Fem3%2Bd1%2Bd%2F%2FIfFp2%2B2Oxn%2Fs%2B9n%2F79p39S3s8idN6g0yZObwJOgKUpNB3GyU0Ls0PbRzIRq4lcarLKOJBkLRzJQD4j2090XrbA7DW8K3jNF5hlGS5e4V2D17zgss4T20egOJte5iD0bReM9yjTxnQxCRj3c5kFzGJmGbNKmwGw39IJDJcXJZGMkaAB4jyJAKw0jt5IAuIE%2BA%2BU3cVAZZrq9zhDyBrU8oosuxcGNTzCKJfla7JjNVmuSb%2F%2BtuzN2H%2BX4vlB%2BPpdfMXXmuVsNiub1T34SFbjYw5itEvVi0K0Nt9pNJUMI7SLGRhf2xipfCYf8z5OdlGKayOucFeVPeS%2Fdbo3lBrbSMmwUiQN5%2Fed7g0Ds1s17IuZC5kNzM3MZ6EWCa0DtekdJfAxz%2BR%2FOX28sND7yRMTBcf%2B%2Bs8mQCQWHya4qBv%2FufeMoWyslPA9DtMxUknxkH%2FyfTnm2CMYzs%2BCq3r7PxY%2FMXomrvTEsRpfEGHa%2BWN8E1AHjElb7d06ddA7oK%2F%2B5Mdsv9EtPms0jv0Z5kf1FqPxWdFtfFr0kHfgDX0Y%2B5PRSG7RUj0tQr7rmfX8DH4G5W28kKeJLtmQsQkuwMP1pk16EV4sl7vrMJATfyUWo%2FGwEco4rh4XFQgaiUX9qxZHrMQqKnz%2Fc2d8b9TysYrAuXpP%2FRf%2FGr8b1qwwc5a%2BeuLa6S6sneNXToG2XrEJi4R5SGs8Sq2S3d97bsfCRaTdaLwKClRHt37mkudvXbjwVrLhuYeGhh56bvfQkHpk2CwvwClqgWwuBfndC3c8dwmstj81KkagcUgbfPY8Zje0W%2F82VPWJHmSq6pP8hPWpotc%2FEexDOK3qU%2BwngPhOCiO9MJRm8TJefjelrzoKnG2Bn%2B1NCUmPE4gHFmBN9jrTigRIpsACrc9Gstg58ULkp9467%2BGf%2FeFnD5%2F31lNrt2967dhrm7bzI%2BVT5m%2BfzKhvf2MzpICEm79Bopkn07lt1762adNr127LwVqQLdJ5%2BlpQDcvHPQtVY5knhYrK6q8%2FJsiP6EuhGZdFdaNszjvpqvc%2BPI0CdjN0AXsFOC3ZfALDJwr4q2Xq%2BGF%2BGNbsxUg5NLLIEXi8otcDQcUts0D8eQ1iVDRAMBTsYiNdRIxE09EIBJO9A2xqgERTaW86BUFn0OD2xFO97FAgFhF6OoQ7prYt4XwSeUgQHiJyDbeke9IdQntciLQ1FlJMaYcUNvZBg%2BFB1ubjlnRNvl3o6IEU2w7fdNPhm%2Fhh%2BFLysUu6%2B%2BDLHkOkrSHYEjH0tEPe7WdD3uyDgvAgK%2Fm4szFFR7ch0toUgBTdWHr7EpaWru6%2B6dmbbnqWEbV2EtxAsXiZAPTtGPSbHsotI2leoM8TePEqgSQprs7AGFf8kuOkPdZPXGb55POAW1d%2FjLST9v5YflasP6v%2FCO7%2BGNAPC2BMZWmsOjp2NNbfHwMCJD%2BLPVL%2BD%2FOYlWEEI%2F9jpPddOFkB5d1GSuKZYggmCCd7JUxD7EXAzxyirYnNDLdDZoFdx14kivkvGc3579Jm36reTTvDgBnaO6vzyQ6chQmlsMoIkIQ2%2BbBDWBud1Va4pcCn8CPqxlh%2FfgtG8IPaPH8C5wk6%2FnZDv69jurV5QhtwE0x2iqOsj9Mx8B9%2F0EaUdiPfOYYDCi%2Fq9jhWRuupMDEU0%2BCtX0sDFxv07T%2FK5niBPqN9%2BtQjgEc31NGCXFeMcCEuQBIc%2FBK4CO78u7EPYvl3yaEfK3vcb6qP1R2tI7vUjVDDUdKubsSrNjYKY1qBEa2P50SJoaXiksIoLiCwnxS6EBuBde87botNfdEWwYvF%2FR0%2Fu5yCqhGeEOR2ynSeyXjt6ka7neyye8kryBSWE52y%2BRBgogrXPZ8E1yIHoHIFUM%2BAbJhE7lbMtt8ApL%2BxmZW7PwbjAO0fAVoXQOuiSP%2FksIVdFZ0aulsamKUzwPZ%2FNYDMJRBPCxsBqLzqHyneXF6Ej9HlIFo7%2Bpg%2BjUb3unRmGpstGkm6etOuDBGA5wCMefp1gTHcdZlvPBXlOslvYTp1cd8UjYLVd%2FJ5awNrIOKLnIt9MD9qdrKrWCvA6ALm3QV9VrsPm60Q7%2BRHJHP%2B2hqfugo%2FMvI2H%2Fmqr4b9tFnKSRY1Y5Ek80Nm%2FWIhr1ikKnxGz9TWXrokf9xwujfvcOTtNTWnxd0F37Y2W79tteBqZ4G5qLCuomw%2BnSr28QESCRVLTyYKILGJOPfcnaIFOsewhRdvv%2BrWa%2FWih0vlbX6Zb75T5C0qNKVFvH1QL%2FvazSWgC2s6oWXXIuUxQelKiJbowuJDQViatLmLijg9CQBMg8WiPgiw3LEeYRmm5f%2BXdnvkDnxLLjMLxtvX74C3OlwPQqx4xwIdpPx38LrlDphiyWUWHWKAzzxurS%2FxTo%2BP5wGFak62ap1PVFFN4v%2Fy%2BxuR39WnIO7lsWfwgVsK17wxrs9K8ltIKuhkw7f%2F6dhK6gQokFKhWX3urrjk%2FrnI0pgfpGMeuQIUaEM7%2BGF5q2iMkCaMQwxxOzcvU0eXbsnS9XknXvP7Gtw5dwPXlFu2ecvSHEZgNDsU6x%2FGdXBYXyOQjzZReSedeEPY6nEv9gJR4oBQJtFO6Kd0fwC6BO4LNHDeBujB6dSNcUQC9zIv2LnAzGk99bUDrdFY%2B9yGFQtEo0GQPNv6vS2drj4%2B1jHbv3aJSMUWP%2BQTZrmbNTjU8wyG%2FiXNNpskybLcJ3CiTF5Ir%2BJYzmJwE0mSVhlxbtbmvweB3ulB6Til5UuUZydpgiFVeobhU0WaBqpJ198d%2B%2FXeNRTZ9%2F1OPfG7%2B2hwzd5W3D%2BhmyjsRcUg%2F%2BCavb%2B%2BVh2ls3L7zT%2FetOnHNxeerv313vzLVqPai4nJv%2BK1FC6040%2F4udw7sAb3laSg0XCkAAs0npBO6VJabS4Elk%2FU%2BD4gTXW%2Bj0wnrMlqNamq4tMIYB87tE10i0FR3LZNhJsb7%2FR561btmes8YBCRkhYNByRtKd55mqTas9FYhJnbRGHuOh3M4QTdgQSqmgRxuzGdSvZGcbMxNQGk5C3ebLjoXIOFM4l%2BWKHmLTJwRv9E8GWJ6dYvf%2FFmEyEGr%2Bgyrr1p5zrgkz0Cw2j94Hv8Jdx7dIVegBSNtgsqGsRQEYiIBoXwD0LNvQ5d7s5Z00QzwNhqZA0b%2BtMG1tQq5nd84uq8R0zPvX35G8uRaze4jcOHzz0w1%2BQ2BIRvf6J6Kgatnrbiem%2BCFvAxfkrndzD9MFPP1GWTUHclpASUkCNAQkpCCcCgDSUDAhDZ%2BCuEkgn8J7i9nMA7pA4lISappxILKfAeSAbIcSDuN2bJcfZILqeO5rLs0MnngSHYRdrHjmaz7JEsEPw51ZqDJDmUIOZIe34WaQeegNsJn1qz8AIpT3yCjyEih%2FxELkuJ0lEMYTLVCiWpo5oYMleMH6USyYJcD%2BuOe%2BkWKpn1Qns34iyYDjkSLvgnZXcgVQNeqINXr48m3iS7cjm8tedyY0f1QvTnHHdsrKby%2F%2BSSbPY8%2FNH6vpl%2FEsq3Ae4ZU1HC44KFiI9o7CEgab%2FRqHbj7s5KAg06s39ZP%2FzxI%2FmVuF%2FTbTSy%2B3Fb8If9%2Fcv7%2Bwt91yy8RfP1QXtW5RzQn7qIiZyuFM5QfJ5E9uVnqT85TanFx0lkP3ukBAMprvsRyi%2FC8NAJL1xbIIirSvnSj4O5netb4JxmNANHPssHAcHMHsFRgEug816gDBeMbdfiuRcghqYcm0%2BXxx%2F5IAEtN3fqFF3LzAXqwoT0PN0OVTNqxo8sxMkd5Ig6k79Zk7VxxX6gMLOZFQgvpW2RrMW1D0BDihaXQ9wVRoBxPLfpknmkeMtoB%2FqM9cRc9IqmMD2XUmdZ7GSRKPUZvChf8BoykriM2MnKYbOHX8R7cLdNCxSFFVQqoYswnlWtlFS2mNkhswVpZiQW1J%2FUKFfipHGlUkM6UKBhMz1istELIHJLMSctu3ugzfaVSOjKvUgc%2FTHK4Sdg2Wscz69leKIkkrwuuWiOe9yGYKQXRumkC3qbRcMwrvhjNXgdZk3RxAUEhuSPvn3nnd%2B%2BU%2F3vlVOmrJzCD8JLxV1OHRjrZifbcFDOuRNTGqdgQm1tSNJ2OcQ04YiEXuxtII1ECSQRoQGYioEsgCfchB4ghAtw7FfJre4WZ9hkVi9MtjuWqtdNDlpMrfEG9fOT6q21okg%2Be4As38MfGquNt7oUws6Ysarj1%2FefE%2Byst86YUVNvDdts3Pv5c8m%2FaP0C%2Bf8%2FQb%2BIMnGq09BgwN01oIOAnAdagI8mBSrqk1gxTDUBOtk2ousEtBH2z4Ir2d3f6k8PXXVlt2qN9RODxRuoJT%2Fv27wm09jRYVc%2Fe%2B%2Biyx2tyzJb%2Fn3J0htXP87eSsQaf2Ly0s6Zmxela88REy1cf4273mI3iXNJ7KxrZibOm9xm6rl4fqy%2Ft27smU8tOfdW2ucBzg2UfmOIVyLIl3kpYlwphDISTXJXsctmiDtN7fNV6zelgxwnWxsVr83Aj%2FS5ki1jL%2Fa0GC6%2B2L6Um%2BaoddlNFuj%2BbJ8mH%2FiaLh8I0%2FU51NspIEfq0dohwyFXKgm4NggwQ4rRhCOUFtxxo8XnitT4cnGfT93IS8FaT85XE3H5LMY4zIEPL1hw443wz%2B1UmhTJyJGxZzw%2BwsKkKZgUiVtKOKMEb2AKHTv61FNc01PQFwKnvsZ%2F9pPA4RKTASWahmh%2B8MxwzHxKy74IRn5LGRjsPUUwTu64UYNY38caqd7HKucZ%2FtHnODtENw%2F2UfHRMaq1UUPDJQ0OKkWCeet5fYOhII1VRz8%2B%2FElg5j4Gxur3J8o2PJ4rg%2B2d08T%2FfwEzSVbyZ9XPro95T477lRKqUSRXQnauHNsISAl27oWi6Fv9z48JMv8r%2FaMMj8onCP%2FDuDZOuN%2BGPPr%2F%2Bp7bx%2B7JlbYdppcNhzKU%2F1Px5aiaGDn%2Fs1iGMaBcleKUo%2Fv9rcxkZj7DBEKOfrayytXNLYiUdBY%2BpleQXdnscKlQcpzuWluxsieeyuXIK6SdxozitWyGOV3vOHHjguyCQ6fpIYy2JwvrQEF%2FQa9Pdf%2FQqOSqCiE%2FEE1%2FXIVKTc2tzWbHnimrEd%2BVyz311Ml3P0GVTj7PD5aDnsvCvH36alEaPMePcMegXs7x8igTu4B9v7G9vTHvhCu%2FkzIdx%2BBxC0ay9zRSvoS0F2lIxI%2BX7klU63I40gLQ3w5ep5na%2BSFnba3z5D64zv%2BQtM4n4ffG3tq4aNHGRfxgrXPMim%2B5487abL7xhdseIRn1KDl%2B7aINixdv0OD%2BJSPwKf5%2BxoP6aiTeQIDVlIhMcL1H5R9PYXvprs3fv2bO7MOplCmweuiq2JRZ1zz%2B9a%2Fv2PH1Hfz9236w%2BZrPXvWfAxlj4NLLHpq3c%2FPQ3uvmvbrjG7fe%2Bo2y%2FcLdtE6VUlXi0ASb1VLUBVSUWSU4HdvAraTyS8xzM8NxvxFkXV6pUVRiJwcgC5zEeht4rwcp7ki0k41G0qlQhG1Vzlq8alEmnFi58caB5Q9vn988MLhqyVlHvLEWjtQFeupdiocF%2FtkkOGPW2ibWaBTkeZ%2FdvPWazXfOnnvL6jkRXpi85sFzZt%2B55ZptW3bl1cCCHZPD06MhySha7UFzjcjbp8fOecFCirzAG%2FyVjBX6OFIaadSjQq1nNhyIe8tVbaaSdHlXIWKacMeuZA1uxS95zILhyrxAdsXTL6m7kNQlx2P9uZf2qhufePFFbpI6%2FOU0WcP99RrCsrwseVot5mtytpf6Y0gm9sdeyKnPQ7onyK4nXlR%2Frg7H95M1upzu89DH6pgUcikoiihJ6NJKmRxV1x%2BMJiOA3YwhDRQrWU0u%2F0rvq0VYXnyCwsLeTJYBq3dAtJDavuzyoVpzZ99Z0%2Ba0uoiFH%2FxcqgDR7rUFeOrUn6Cywb8ZeNMbhLV5ugP9l0zv9UN5b5mFkjzxUcpPJCn3V402pRxtJd2GrnLdhtVk9ZSZh9W91fCSH5B7ofxPiWL%2Bj3D%2FuwhBRdyAyozeZwvQzs79soi%2BBKSnafLviZCcfrpBpLyimfLfTyJtbyruIQKD01tUwJyKEo%2FybaxkSNFUMdMkhQoJyRBQFhnUkDQSXhTM%2B3NmY0EDM7ffLIjqWEGt8lCO6mLia3PukFnghosJD5p5SIho%2FVDkzQfLE%2BIrYoJXkD19pdP7OwG%2FvoIUtagiWiZ4PAFTHHlTVhRZ7dYmPar%2BNJ%2B8JhmR6DFK5DV1foHoLNO%2FpHrvZfmWZ15RQlwvoVDKhCWNK3CCch9lfFBuAqUgpFSShmNaPj%2Bi5%2B%2BWZfKeViJfW5HnUakVL4UCNVkA4%2BETfIqx4B5xSaP2L1yn0zn2ltPn4%2BOqZGmwwEVCaCSqG53ldtL1oLGAhdMLd09MpCCF6tD6ZnAZBY9hDaYsP0jzZ0j5ZjKsF4i1UmLuhbJMCnYJPt5VwFNvmZawXjEvLJqIH8STonZjq7BZ8gKgR20C9MDFqJAX1H64QW2NEup6qgzLP8cvppL%2FNNTOBTCJABOHeWoXzLhw4Wuy7gaBtjKr9kgKq8ZlRYBS32Lpxc8vIhpNDTfyNXWybMJbn2RyQ5EmWc2QF9wmSZ0KYCE%2BcPuYO6b15Uotj2Kd4MItLS7gtFbkTdrFND6pvEZqv5Yv7jXAus7Pg7avo7KDot50NX3CPkP%2BKps8J9%2F3mGQIteY%2FLGPC%2BL7872SPR2br5fy8MtKBMHedGuM28%2FMZmPJMrGgi3Gb1S%2BSi1%2FL%2FzrZwO9XH1ce%2Fz7ZQ1WSoY%2F%2BpMb5FT4ua0Wm%2BJf%2F298nFmChEQ%2BTi71est4mq9VYI6RsymoRJKYidElT2FGnDTZvqtfhGAFTbeqEw68GqtfmbVa%2F1IFO1%2FjdWr%2F8BDRRtQh9XNjubEm4aWVpVonpTGR7PVGc%2BKJNoBIWF7kYi4gUV3r1U6723i6TxUl3n3%2FtM27aZfKb7THiHW9VzFSwHJ05VfK6Ar7kaB0XgPPE0BSkSFKsBUpaLihEWoA9wBt8qirh2VSOkZwXEwyrxZ5jyt2rJmSo9gX7cg6jsEUGJU9z9xJPOEM3uQQxKgkh35DNATnVyrmJ3mbCNyIB%2Fyox4wH1bg2DwN7q9kov4pFqny8oSm3RQbGgJ1QQTs6ZMLilOVYJ9v6Wha3HcJ9jddsXp9YhGUXLXt%2FqMDnvLpPNTXfNa60z5%2FyjXQOMq%2BlNmwh5egpYrdfZQZV9rI47xlRkuyTjpzsmCBSWNkAXVoK8sgYWqQJWbo1RLo6QH0YW6pxqfCnRgkd%2BRiFjUQUQ7poIaYoakgXxwFd9BuuI38H1xBxXSFb%2FpBDIKQFn7YB3dB36l7sG1FLaKiBdp1KxLvfswap%2F30lnVESgNnvjbUoT6w9N%2BXoio0qcYOIM%2Bheg940YimsucQVvli9NEcft2UZwGQwLuilj1fFr1i3NP94X%2BPE7Hpvtj6lBJfJ4R6NvWiaL6MgzWHxiN66DExa%2BdAdAbMYX6HVF8A%2B7rjEZIXAVbDe7PVI9rmN69JOLV1DOSvRPxWNPZBZf%2FNf%2BNy65BhYxxxV%2B77XJ2wfQ389%2FIQPgajXbwMsuAz%2F0IaQcXJavKbRqR2IqyZruXjVC2%2Bhdee%2F5vdnYOedpmVtR3NGXldxSzDSIiBVpkGb9by89UpEPKrSLZmyFDzMab%2FwXl2CNe7s%2FqCtTvWgG5kpBmCBlSzDS%2Fr8N4uwBwohRW63JTS1y32f0TQsPfXVGEHQrV8%2FNCfiOUVirYcBbIeA2%2BiF68rQIo3B%2FS628vYESr79ehzS7Q9LEL9UXmik9XVHb1yBO3Ngvt5935%2Bk1efkV51mzzrM0LL3%2F20avnwMeKuWyOUZg2TasSqZ%2BKcZQiOn1Iu2Vh497ALUVZiCKt%2Fgh6IvTIj1ZLRjWAkpHKOKovNwp00eqPROiAbiNEKieXwMLcXhVJ1%2FuzmLP4tfxaHR59cBdJVG1kTAgl9ze9QKUEQ946Hkb%2BokJ5JRDyf54Axur1D%2BWS49cLr0tTPEu7UmXrxcSr3XNvumv4yXzInXKH4F7Tc7p17Zt%2Bt%2FqW2%2B93k063X7VW6lALxTY7i1nBXMxcxmzQbabxz%2BtJo%2BwijYaIGMNS8AoSMgAPt84DdHOoMPfjXhF%2BkuH1tZvuFQrRCN07xGcXRX9MYxYchDe5BcHj%2BZ4i%2B42WyPc8Xofi7bbZJN5nJLJ5qr6IqRtzqNlM17SpFsnkEyTWoABEjz4JXOQvzWYuwdnV5LNGOwTM5v9r4RpQ8ZXsYodks3o31JBlzbYtNotisnm22MxiwGFXam5oN1n0TA%2FhRvshvTSDwHff4nNzRo9Dum6PaJbMXzDz%2Bx%2BFkj4L4bFNBb1asqsgH7Dyh4DvbkPtf5yMDKzEwyoaESMSNS9P9gJVA3%2FRTlwoMwZvxECFWxIPNw9gi01nOHjP32esZTtmXHnxvZd8ZtakqQ7ekajbXetpNa6ocTVxJtY%2BuSe69OLz77zh5bDR3xjZMzUz6fxrz1nqrZGcHQHfPVefN%2BfiK86LeXj%2BSc5lPKy%2Bk%2FvCUI%2FDaLFYCWHr6nbXuILTIsb5imNKY%2FrCm28fSMxPhkN1XbNMNZGuqwOBhtTSxWuTk6bw0ZaG86b1hKddePOKuBvmiguYBn4T%2FyOqOyGRBt7bKUI1GjioBC8aUKwF7Q319UgcmtFGIzCJGBqwQij0ynDsfdFGc3TS3BlNfJ25xmzniMkpXXTPvCaD3ZaZvyzjmZdudBostmhb0ORZNN2sJBeed1HXkrUsywueQH%2BL0eCPxmsa5ZpgRJSDZ11yDv%2Bjmbd86vxZfc1WcZJ3UkMq1BOOOVtvu%2F%2BpB%2Ben186d3GTwWAw2jheaJs09%2F%2BLNfZft37DALyrNj1wABMuUKbODyTVnT%2FKYbJ3Tpq8IrNh92dkxOj5P%2FYpZx4%2FycyiVcDYdn4JbEoKdQi9054iBKsygLW46FRGxAb0NPNCm8BSNCPjoKcj6EAus4SuP3rB%2BcV99%2FeTF6294dA8%2BTK6v74MHVpYNRt%2FI30e8QGTOOdfGWzzxcy%2B87a7bLjw37rHw1nPzp0KyyRSeZO%2BQQhInt3dYgvycjrPOv%2BT8s1rptaP84VeywdWX2T4ysr0%2F7TLIs6%2Bx9zib56ye1dM9e%2FXsZmePY3NDs9zlnNVt4%2BWgHJbbz3Livg4P9WWgviOMm4kCRT6I8vw0NbUUEnFvOuFKoxQW1gTsvFirsF5pb7qTUCx4i7VmtToveaDxvK9uOaedVvPRpVOnNz0Q6bry7uiSdQ8t7Vy4JQKVS%2BXPplV2ts4bvCwZu%2BKzgITtxepaPRzWdpv74muvv6RO0SorX6cu%2FdqKn%2FXWnrtp%2FZragz13DUCl5myiFW2Ycvb0PtsXnU%2Btx8pvLFbUspLX68mdegwmOif%2FNPDONajTGoUh6tU56HBJCTBASVvNUB5VIiKpc9kd7kludodSFz7xQbiOmMk5dOYk56gzL6uaf7N8a6MQOHm0ae6snZpFDfuT3%2FjdYzjzwkXXIVHoXNuCfQslQZqBZjTsoHMqrkE4jaYdgkGz2ATOgB3cPkSukD01DnV3ttb1wx%2B6arPqbkcNAHoFPzKUUQ%2BqL0k97pjbZv1I%2FegC9zTFbrrlFpNdmea%2BgIgfWW3wqkcis8ky5FAcRd1If5nNZrl2FFpungc8wpoCl1BpQV%2FScS%2BzjlASyUTVv%2FAJ46gkJI4bHX4lTnloctxPZE1ckS3%2BjG2fKIjkQFyzuo8jvYQG1OrGvJPSTu%2FnSp9PHNTl4z5hK%2F8gtXVKF6gEKiglgcKiRlCESsQCV5QIlKWKpr34lt%2FwkSx%2FJCmP5%2FcBKQfl%2F5gd%2BrOS%2F%2Bp91%2F%2BYCg5CXK2W4M9fu%2B%2F6xxX%2BvnelVuldIDCG0VQTpU9Dw4pRfei%2B6zWx0MLie0gPbyrkmRU7OwT16JGeyXLHqOLqAfVN1GPlBzWtFNzj0TRTCjogtP1NjIvu5habN5Aoa1k66wGpqriVetJgiGdwDZtKhnN0y4n9sXYnsqGmZfDSR15%2B5NLBlhoDaedEm7sxmpqRija6ZEEg2EAnTiAC8IrmFbGz1q08P9PSkjl%2F5bqzYqT9hMmptEXDgTqP3Wiye%2BsD4Wir4jCeoHbbp5hRfpB7BakUIppIlPCD30dR1GtslDz8OsqbXmejFC%2Fv8wu5X2myq7SJ8Avzv9DFUJySf5uNvq4%2BTi7W9D%2FOZrLChdwxmPNiBRqVjnpK%2FaGxRCDspVYKAW9AN1JANoo8wP4BJUlGqdgw6m1qPQ2QW3%2BOfU5%2FieLS%2FNuKpDU3uf8bcAXyBal5jMR2NEAbPAZt0K3hvxHBEDlUxfIGcD%2BN2gNSNx36nfqlAYow0puatNpRz0e4W2oahKzQHsjf2c16ad%2F3t2KTtPobnX6D8C8pd0MDP%2BKx7wnXqGGlLQcvikMErm6TmfsuxJXbSAxqNjOogJLQBLiKEHAE%2BJGTS3JoEhTrz8%2FCB%2B5YlupJ58aOat8Kv4JvregxwcU5Cp8GFAFm1FyOfto6GS2m1NGTS6CPNKkbsTdCBlnN9onMho55BX8IJZtEQ35lk%2BhtwN5A0V3RCPoD%2FyXAcv6pAtbZczRUA64JmcUf4q7Q89ZHLeJVZ5D1Ps%2Ft%2B0iCT3AHVtZC7JDCXfR7OSb%2FXja5H3zQbZL1B%2BULX1BMTEk3AseSpmnKEK4T9ekMIidUCRQFfcbj7z8gNLvzF7mbhQN8h6ZbRset%2BnQWdS%2FZX3k7WpS8P9sfo0iGS64wV516pOhjI6TZ2dApgI5%2BLhxywYoWxKUrykKJsIoDsR4mSrCTg0egMPnLW%2F3Q5Nn8BZEuzqEI7HK3n0%2BzFmuO3TtWQ5WJoG9YqCD6Gc32SxnbnVPfsxvrFXK2dILl7bLthDp6glhcsfp4bYvbSmj%2FmQ94uBTw0E73x2jbNRCvC6VL6GCFDwU7eWQDcC5FY5s0slieRDwtAbRsbLXbaXAuu14e2OJw1dc6jQ3ZdY8v7rv2%2FBWZLqvFWVvvcmwZkK9f5jS4muO9yR5res4kfkRxhV03L1RfPOiPtYi8pd7jNEsOpyTwxpaY%2FyCZu%2FAmd5Or9uS3DYaeqVOhH7gZN%2F8I%2Fwi1fEuLXvyNivibjuKvN%2B1Nc01HF%2F3h%2Bef%2FsOhox8MPd5SFucPjorQwXT%2BytA8EmA5mamHNFDVhBI5pjZbQpugBNkO8MvRub8KVDKST1Wag7D3xlin1ZF7LFP%2F79nbvCXFOY%2BPUjrT7%2FotsPXXZ4exdPzuhZuL5LUXVAn7k7PbhG89uz3b41X01gbjP1xwlu5rrvvf9%2Bpbs6E%2FVu7Nk642%2FPYRaAiUBdrmO6CDTBLPQFA1ur0uXoBR1INDMkypKpoTqnSMx5GiEdTEaSHLs0Alvu%2F19%2F5QW9Rv1U1ridT22i%2B53pzumbs%2BXFFXYC%2B%2BCGsTj5JUT%2FGCgRt3n78i2n71FHG4%2Fu6X%2B%2B9%2Braya7os3ZbDmgWfXun44e%2Bu2NZKuGZ0HiF8M4TlMPR%2BEU6rPKRJ8wOU2RFUFLex3egEsz3YqEAq0cqhAAW19dBZIlVzR61tuIdTnpXH7l%2BuXrbjPUyep%2B8cl6aXKWhPHpDcXl9KiTWDNr4mBQc8Tq%2BNzK%2FOKSbsfl79o9G20R%2BbrBXYvUg0rLHhtrc4TN81TTOWSZ0gL1ZVlOYH2ery%2F7XVUjFMbzYpg7UswcqJPQwBd0LKLabJ8IaCr2otcjSkIrGwootKECaUd4XH1%2BSdazRrfddkBU98t1htvWrbjqSqjaCguxrffM%2F5zDCpBALUycmajhd%2BR6ww4SWafuZ5eU%2BtPid4lgd3gt%2Bb%2FY9rQoZNmiXYPXyRHbRs8zX%2Ff4WIFjWZJtUdSD55AP3xtXH%2BZipC0EqdBGDA4CoYEU6gRLGPU11QhkLTBiEYPiqOeQgwTCl9aok1Qr5pFf71qEeNxjy%2F8F0GoqYPv75Yh9j3x4DuJ%2BuEzHRpAq2lMqb%2BqfTdiq6kGtzfOWsv0c7lSeMXDHBDe1MT%2BLUgx0Pg%2Fp87u2UicdIvqQi8DkxhcUwUXCedMpb4NQjwY3npTmgsURJavLwCRyEcN2HfWsDVGfv%2Fu9ZUWUx%2BPYFueUKwaNvbtu%2BXps3eVWbN1GcgVrdMnWJ7WmJz9SD66EBidag0NF1Ukep0t5A7sFCWdhzvYwHv6L%2FBehXuHqfaBwBEU7hfVLcXvS4VQv%2BT%2FvaSIl7cbeMc7ekv9i8S3e1L5xxpvMGcu1EYPbKyCiijjGXcDKckm43PqU2qNWlXusZMiqF82cuVzolUHN9NNR0HZPxFPV9V0wLtvq%2Bk4DqOwVWDlzuQLVdqFiP08cRX7aRlBVfR8cb55bWe5LExnlcsDp1vAP8Q9BucPMk1Ulh4GnN0SAdxcNHv3q9ohx1Ati4S%2FtkWjIDe3hQdkUGrGRaFBiUdiTSkI41UkMuuQHP%2BEaSQYlPQTFWJF03BNPpTu5KFAdkWgDukzsZKMG0Q1TAQQglScOaP%2FdsZ8%2BfP75D%2F9Uu5Gs3FY%2F2SxPld0DHOciXI9gqjcEidXjE%2B3BLosy0OcX3T7O5g65ROGyzQ2BZs7WbZVnO5ydLe32hMwTQ4wnnKXW6XW5LAa7oaXOIHoUl0FgLQLH2by8wSTWeAx2Y5PDazK3BqZbeJZwXGPaYhX87ZNszoDdaRxotXO1nNlpdvAPFWHDm8PqEE0sZxDEqGzxisFNnuCWetPcGrObN0p23tTZwMuRVodSV8%2BLTrOV3eRvzjQZiSjaLYS1WEJe0kNsJlZu9LFun7%2B%2BwW4gRDRbaxw2nrOGm%2BxOj9cmtbp9ZqeTM1m8UXfQQCSTVSQox6pvtjot%2FFpHvIUjJovFEoYvHYV9C5Y%2FxN9OfcalvII37UEhTbTg%2FAQIaPb4Vz6j5u8%2FaViycMod%2FfkDcpu8QZbZoeBi%2FvbzP3XPsZvOubMtaPHkD9jt6%2BU2O7vqU%2F9C9SMvgrXpQNG%2FE0oJxun%2BCiElUa0IKQSUwERxOntKSV7ekcuh9VBZBBo3VUcB58ofKBHCwLyf9qFosz9Ibf8dGqwaBMjRig4SGOZ2UkWI7UiO9OfUPdxOYFApUZyfpY7mgEc5rtNGGk2H1lPhAk1Hp%2FVAMqQEHEUfEYkkUQq1JMdzsX7kklRrTrUi1wMcDjmu1YYfATj7Y%2BpGpPEBXuoQIj8rR9mgCl4C9yqmF7xnVWxGVniNqtpVmXBvQ6iwni5YQ8a1jYrXtc2J13HvgkvqWxuva1sbr%2BP2S5ceKGyBwDv2DbrToe1u6BkAJV7xnVLUaq0sJB8pFqcUIPi3yuwxi4JuLr%2BP30f3OkPQ72aO0xYo3%2FEsmO3QO5qEF8S0qQH0UsKXv0brnl9%2B8M7jF174%2BDsfvPOl1au%2FRL5%2F9DsbNnwHL2pHR1NTRxMZhJtHktOOxLxErPF6YlLvpC9YP73x%2B4ofw%2B3xVdrHcDE0dQQCmCRgvt9b35xINDf1CDcRSfJ%2BpYl%2BSf8YcurfmXP5F%2Fkj6J82jNsrkWiEuhVlgFfyNkB3S5MUzLhoNiwSCYcxQ7Ui4J0Xh7fmqRbaPa1tzujxkBRlsEHy0%2FOM4pYLPb7g9O6BQJN6l9zQ0OGyCaZz0vMTbHOzXfQ7a2tsterTcqxeInODoemdktw%2B1SbVhKwtW9ffe8VKadK0OVuC3bWzyKm5LeddsWTeorWyY9IMtUFutdu5g%2BRn533qkocdvLs2HmhU75br%2FMmWtD8zA3OP2t1ea636jEzqYxJZGAwFiDEd61oTsrRuW3%2F3pYNi3bS%2BRd%2BGjOfVpAPNd6y64Gsz1GaZleWIPoYL%2Fv9mTeQBENVEguiF1aC4YeXxFETw6QyPfn0m9g8IrMFAvKM1EI11DARnbqibHk%2FIojy5rSdgCyZi06y8sS024PeuO4MfwQ5Y9yKRZCqyYaF30vzeHlmUprR21tR0t0yz8KZY66zWuGvxVQB%2F36kP%2BK38t2Hu6NQ9SFJfw0AdpqPEK2qTMpf2VCqJwqPoJezTL824b8akoL%2Bx03nhh%2BoNo5e77psxg9Q5LzebIKD%2BfsY34f2MtB9fk9v5b8PT6tYrgv4kRPwd0q9z3gdJSJ0653KjCYPwCaR5aUY63eW48O%2Fkdo33yxX9wCiMv2QTrk8eGSI6Ag6moG9t2P%2FF7GRNlDjl0gw7pJ5aOXXqyqn8SENnXBmbSwUYLyqJjv3UmY1nKr4t80no0faXsaIEiF%2FBRaIBnItSce4OUif7W6Vm9T9H1X9Vj71BEm%2BRdmIJQST%2FZfVdudUvh9S%2FqqNvqT98g9SQ3lHibZY0mRVHooyDN%2FFHmTgzjdozKw28NwQ0hwN6BCoPKaEk3YtKwNhwRLXuk076CGoZNXDQcRwZvreTZY9EZi%2Bd0s4%2Bztv8iei04JQl6ZbDD2eHV7X4uHuFVfPrOmcs6m6Kr7hssr%2B1VZFcEZ%2FPdJkn1hOs8SXS%2FNFFgqt94PIZzZ3tdaL6Q5vo6piSzdy737pwsX1VyxUrF15iJ4uNkq%2Brbyg1Z%2BO8VsNC1UmcvORPRfxtPrfRwL2p%2FoA1eZp6Z%2FaGffoewaXcA%2FxBlKlQLfhQL%2FoPgBGP3qsA7IQS8qDVNswHKRSheDUvA3Q7MZoRcJMxlEygujn1QdyzfPfq3dEp%2FbXh5e5YXW2Ngfvza0ZF6UgFL%2FE0fTq4LBlvTE2qb%2FKuuzYSXVnjTfM1osvqMHVbm9950quIZlbqaL6YP7jk3kUtA0GnX2nvq53f3WoSsvEdDRnULgo2fN7lNZJgI8%2FVWi33c3bBZnGY05%2Bdm%2B3qc7fNmj4YGKLj2nfqFP%2Bg7jdDlxEV5XsJQZP6hYrS1l0VQr4c69Xueixp90gnZPmE5OF22j%2BSYEWHlZ0K%2FHgsh%2FZtsbh6h2DNRlvv6jJh9XaJaHCZDiUDKNTMkvb8vsqCyf3ZNdSmO0fa0Y4baJTtpbKzuVzeeSI7fCKr2Z0WypapnXJ4gnoWy3PoUIlIQ1TXdqhQJIXp9Wx5fYdpeWh2TY5D%2BYVyKd0jw3iumwi%2FBC3cEy4o83QlZnW79MrCgCjbhWXBlRZVVZZv4rIKpXC01HFlHdHLoeWVl6UVc%2FJ5uGm6CViW5mulYMk%2BHqNYr0AyUPivLg2oMs2MPqtuhHyRyiwvNJej1Br%2BfcLyoAyu8D9B7bgmzUqfFobF5nKnK4%2Bt8MPJkI%2FxHUNWk117jugWF%2BxazTAALQn6%2BUE9lhoI5ApGA%2FiuJOsrlNP28SVVuBVajXmircLel46w2bJS1Q0Ft0KDuikDFL%2F3pYrid1Q4FvofwRIo4R9h2ftSwc6jHAMqLcCql8YPHtlzGoByNXYN6v8hXnRaOhUvx0sVLCexwupGDR4NOYC7PePa5keIPACnuAdD7dEadRuTIiS6Lb7uskb381My5yjzF8lGCjBRqdwrWJCagfB3yCy7XT1i92hbcZ5Ci1FJkgYMDf6n%2BjspIsHFjJrTOdzSMuOa9DbDcj%2FnH9N9bIoGVgzHPWIQuFuYtaMRaq8eCKI0gEF6lPOZjBz3EEvaaxwSUT9U%2F8JbJZPJJLBLolH1La%2FRbF9AbC8JJjv%2FmMnssKjLRBJyqj9QXxNko0Ux%2FX79epfiXkm6fmKwF%2Fen1HLc6LxloXWKvGa5rVCVL83VuiPcDEX%2FK5pTXOxHfx6HHB0t2FI0qI2rCZFTrvPWU67zVuS%2FkTsLnc7IKhFg30e4FOkqNSfH5PtkmUy6Cpiv%2F36k2sbqCeCFNa%2BURpoY0sZoYmCgCr3qgZz6s8I0gP1bYiR%2BD79H56NOz0EVWCTy2%2FfffvSCCx59W7uRV9995eqrX8GLesOXNm360iZ%2BT%2FEl3uZqL%2BFyzSZ8XxpTiI%2FG0nkT4zznFZ0t4ipMz5v4q9ssqbdKUZt6u82knPCrt6PZwsnn0XySVnyPR1ZXAn72yx48bWJsu7apnI3Hy8bygUK5Js32qcytapqgmn95uexccj205vGgJ%2BeuOeG2SORmKZr%2FqKzcx9SFctMJdwMUFZDJITs7dnOp1EKZCxg304Cevyfya%2BvlKqv6aXK1qIj3imL%2BL6hL%2ByvUlFfE0VKZ7E8gBY3M%2F8VoJCFgizH1W6VyC76nH6b7jiibYVxUmVIEspry%2FLgZIlCeP11Z4zs%2FAwvVwtGFEut5S1JY4lfyT0N%2FevOLo%2BrUEgjcqc9IkGpQbv3iW7Co5b%2BKgjvpzYdH85PLcc4X21ouwEGl%2FS4qnUAvoSlXUUhR1eKr2VWFTB%2BGMl6FsiQsVD1R3urlAAIoSn7JQkmiVVCHSpCwDH%2FqPepXQ0Db77CJOAImohB%2BRPWr31ev5g%2FkE%2BzTa4lbvZo8xdWPffQu9yJTPCNB66s%2BzXoJt%2F0L6hSoCuBIoK8fnBGG87OoRckJpLqyWe4YbpGi50g0%2B3I3UD85Oa0fzubfoXxPLbW3FDWzigmyJeM0tQkax7PqTy80%2BUxfUHPlBZIRVNQ%2Bv0xRm8REKPoLmNr0%2BUo48v9GFbXPKylqQ2IKm00QddgyWGMROCTxdLB9nCY8P7j2DjlsV%2F%2Bmfr0C0r%2FNkeXbbpPlOTBBwT0mVz1zx9S%2FwJecBF9Wgv3p032iP2v4VSgfgW2G%2BHUEdEXU6iq4CtpLJfIN9XQG8dwa1VoO8XC2SrPDDyCOQptXgbcPvlAgBfxBoGwftQKeKFrNTASPt3pGGqDt%2FQRasn2kri%2BH6L80MJRsmVYJrAKyDItpJUy3%2F15WYIJqcJ9Q5N%2FLFJ4c3dc1URpWl9hW6mu50MUIelg4ucTPf15zs5DFo1c0VSp1tKB9jkwIyuM45kb%2BIP8gHed%2B6jO3v0KbIknzLy636E8KPTdCuUpB0wLo9JKnAO6pv0vS31EtBha%2FfJemkgLVVnd8KCk4qBTpQ5m7FbifBKrPJcq0pZAFVG%2FXbOFz%2BTcq2MLrcmV28Nmi%2FOHskh82bau0k8eWCaPijQPWQ5lUvslwVCfHkXBMIehqUgtDNLeauH1huvZTbYmw%2BluPjyWoNGEuxRLR7LK5fSyXFUyK7PURQv2v8D3XOt2NJ6liBbmPGOsakw1kbeOs%2B31Wm5qpH%2BiJWSzqdPr2O7zc2TmtnrzCig6bBd%2FvgQmzOlz0STWIlmZEQfupogOZFHUZ7EkUnMn0RrpIMqAgHRJAOjIJ3yGw1I%2FMAp9q9S3Q%2FclADNm1wEeO%2Bxbwg5OIYHZLY3ehG5lJk2xhco%2B6JWybpEVz2wrR6hZyD0QXZbeDVB%2BonmlimpkWprdAs4WEZDSQppsDlcdCBJJESIYFuAtUnC4GIF2C3Uu2Kv7L1bdz6FxtqxpG4TqQOqOUNAJ2HLvPWA2GgDy4O4vaDrtyl6P%2B1fAll%2BSyFcQ28GHqh7fvvf37udylf0fNwhzgz87Y%2Bcf5x9GnF6ygHu18sAbipWeF0YPBgp2GaKeQduxxdEr3SgbH1kvH7tvqSLhedomOvZyts2dw8acu3dY%2Ff%2BucuMtCuP%2Fe4zC4XnH3OLZ8ZuxTWxy8dJfU5dhDeKPSlJy5pn%2F%2B7u3XrJhmr9C5CuleGflGQocKnlAUaRKp0BAHV0ZwUt9VCqk6zYOgRIuMfePJzdmBdpPJ7%2F6B23%2Bf%2Bsp9NMDZevovvfYHG5dGPISQq1DojqNckchVrCcCYz%2FQ0hI0m3NKDRfkgsrnamo%2Bp0CAq1FyvC3a3Nak%2Fs5VX282x9Ufy3E39VAx6o7LpCvO2wK%2Bch9jNqpJCutcIOooKnYWtDK8gTRVYygRQfwgzKM5%2BjP2jOZdx3r32Py7rQUPOzAnoRs95NvRAR0qLGU11Taqu1bUYSzMcWjMEir067JQQHfIrLBHsrgv00%2FWavd8HRLMEEYFSW3HCSNQehnrHztKqHcDyo4VfZ6gPKCR%2BgufwA8GegxUEo4A%2Bgd0BASHiH6jYMLIsUdQJTs%2FC641KN4oCHWolCMLlMfIdtWKScjx7SM5LD9HnfmhrGI0S139UWfUnxgOXdJFW%2BAMcGjKr6eHAttHF5sUoeArYKDcxMSYcKA%2FxUDhPiEOEAPafSIUFArN0r24ynI91EPARDXvIDYyvqZaWeroBOUABQA%2FE%2BDXC7PWafDLQY2oiwpUEyj4RQtVlUp1GrM7In2p2A7VuiOW6otMiGOo5Mrp05ejVuTy6dNX%2Fk%2F7mybZQ0nUmfrbx3U4KueDnlHm5wdh8FFeKnoaKKh%2FTK18StOPhwG9Xo5mqXAxvw%2F79YQwwDR%2BnAKQQ4izVXioB84qcppWB7IqjU45z4CE17OvF1Dw%2BoTFqxtz8dxwtogBnF9MjIl%2Fin%2BK8s3hM9laIn0TiCbTAXL0T798bPXqx36p3chrv0O%2BGC9Xaj48Ecv8U8UEeBvUEsDlTepiU5OvlpeNGvpnKF0RvUooWhIjnx6GeBapXCQYTw9DNg6%2FOC3gZjp76oNTj9Kz6Jqobxb9NDqc08vcKReOpcsQV2K8InXFaXW3aI6Ofr1k48rp7CX7rx%2Bv1UKPsfvzQU0Kc83i2VdILmd2%2FyX55zT9luN2%2BCu4nKfwPcK%2FCvDVU%2BpHh8%2BLaldIf1fA5h3ndT6Fln9%2FW%2F9Ce1vndfvJtnPVO2xhm3qbafHVCN1X363UXHq9xuVD8OSD29Z8pZ5cZrern9cAdGW%2Fuib%2Fud%2BVK0L9a42r6C90kL8KzxwLQw9NkIQJL0ASU8M%2BVG0KsUdgdvpgP%2F6NqqP0%2FgHZFUfGEijZLHpiIgvV5%2FBltrj8Qd7XQd5p4P%2B7tJo30NMO6VGBwahSPMYiaaBYoLY6uEnciyhhh1Z%2FvvacG%2Frjpsvnpzs0B1Id6fmX8119l88XnOxe%2FuGrzzHcdu7UtY3%2B2vmXN5zUyj3ZcPl8p1sZSs6%2FnGXtwrV7Ka0XZdz83fwjjINpZWYw85lL8BRK4nGyIir2RiOsEyipuEcIakpGjWgBjLiHWOgj0Yi34gW1kKPxHt2Na5q%2Blwg1RdRSpFDNzosb44YJXnAfoEOpZW%2F%2F6u1lhYA6leevezbI26zNHO811M2dc5HFxpk4i1jPC0s21%2FBWW5DnPQbn2X1WK43%2FaM2n18DfSoybbNHijFpamzXI31eRibGUOxSu%2FlT96YZlq1Yt20DaSBuG6knw2eusHs5EPBfNmVvHKdaQzcDfz9ZsXmLDWGXy2U5OsYSsIn8CS12jQIyD12KKqZrLPy7mSPdICmd6WGHG8NDZkkHuE4h9TU8FpmUO%2FVjC%2FEinToFyoNDz2p9XD6g78WgQdPG7Z3R0T%2FZ5dTM9lsL8Ktek7szl2L%2BgQwGgwkZHc2g5Su7NvVqwGy2Ua4KSXUwt1X4PaM5paaEu6jQ5zVFyNabxvUksVt2T%2F4VeamYPlLtffdQsk%2B2sUTY%2FzDXl%2F05W53%2FBz9UK3p7LjapZ2ZxOm%2BUlZXrL3HHGqO8%2BwVroDaCTTnTxitMxmiAAYQzVJQH%2Bnj3oIHnPaN6Zq6sNSLjBl8tKgVr2mj%2F9CWi9dnKca8rBQBsd5R1tzVlgrl5pbnPw6kZclCr2CHxMnHohLz%2B3KRQokzALyeIKFU1TNCiayJdoHvDYe7K6mZLm8S3uJ9dojuaJ62%2FqN%2FtjQxnSnhnKPw%2BLNrLi8ZKyJ3x1YhiI1aNAtP6NzCGzYv3DmaGh%2FLvQZnt0evgIhTFV0kE%2FPYxAnOHhCQUZdCWY5JWJwMzlAGl1mpNbDU7yyGnhRMILsYhH3VRAijrPcBU8%2FCj1Y9NY6cnGVW0CjTLaz7E3epvaT%2FLtTV72Rs%2B0WVVmd0dz%2FMGTI5F0OsIviaqDlbbO5X6xT3PeXbXHRtf%2Fz%2Bfdka%2BeKPr8KF7IF4vBsT9MFPuPJMBTBMq9hQxXelQ%2Bbewnf18ap4Ib%2BmSMrtDU5zqlD8QANa5MBGh%2FOwOvSDfcV2d66mfEWsbGWmIz6nsyZDWQSmqmxDneYyvjHPmRXHZxeueyRGLZzvRioKnGto9nIPkibAJA16adcOZRQr1iAP3bUyBR7T4RgAWTKxhkCYFwshq%2B7iV9r0whk50cmRcTg4fy5x4OmmNkHndIA2%2BYuMbmE9dwGYB4KFTsvnDE6Ah47r%2FfE3AYI%2BoXADpkdlENcZ8OZEEf8FFGZNxMs6ZLpG3SUFLL7Q2kcFU%2FA%2FJsw%2BvWDa%2F7emewLaoeibaF1B9qUNnuqWK3%2BUfXYVL1v%2FomD15xxeDkPnXTOKSVcCbDGtOu0YQNpGAP7U1HU58UrqGu8xIbHtkQ3LVhb7Dx46ET3Ffcm1q0YcOizNmf3bC3VjWfAcpSv3MyTlgJ23FHQgmgvk%2Bgk8pL0mcCDOn08MDAQlf%2B%2FSlTZ1z12fnqntOhbOTL9%2FZdevbAPN%2Byby1f%2FuUtC%2Fixm8ZBo59LTXEW060hGrTDplNprWd58fwB%2Fb%2FE27BdS%2Fs7U%2BrGVCeQ46nzaw9QccnmZerGZZs3Yw9aVHt%2BKh6HN4ti6lxIhT%2FwahnZtWwzlY9QHQ2c79C%2BdxzvVDKy8GqKWQERO9YAKbpsDUTLdWV5dE8PVPjvj9pqw7ah%2FPFVtkit7aj6G5xY9mfJrCz1j1e0BcnPol4UjtrCdbahIVtd2HaURujnFJR8CuOuUUfhrGhgKKgjCYNSvCc1WKlEp8wHUaAYynFNyzZn%2B2MnYv36dbMDBTonl%2FT%2Fma5IKAyEGz%2B4eRnVtaX6tss2o34u8mWorFtuFgm4A6qK%2Fyp%2FgLEBVat5WnPDdKA574ubuFJ%2FIUfZ%2FY2Nt6mN%2BZNNTSTaeI56gKwkXerTe9DDHUw8%2FH35FY3nNN7GGuBKWhrV9ep%2B0k1WjNWVaHkW1yA%2BQHWNu8rtBw2a5YXuE40rs7%2FGA%2Bj09V3hA98yRnFPOGr8ltGlsFdD%2F7tRce3LH6Trcneuiy7K7J3khKu%2B3qUaXPWaX7T6%2FKfj9BX2eZq2XAcZT79u1ClJzUtHUqfqSMWBcZS43Ena0cUGLgpkKxB1QM%2B0Fxz10wgg6r5rltnFpH05pepUq3Y2HfYqeKRntmUFNz%2BXmcOs1H31U6cC6RTVLfCg7RNBF1UF2%2FwBgu0fFQtPEU1sSg3VcNsR7dWq3af87tUFn1l3ltXpaJxpNvtcZkH2WmMst3JqRpxUH%2BWC0E1qOGtP66s1MYv%2BVLu8%2FXFXvV%2FZbunYYBeVN64ls0ur6NzpV9xzlmQwB5qC4Tq70WC0tk8dWJXeHvkD0h9zJOM0vD86%2F1NJMaIAolctvlByferCsqOKDKceOfUu1PsmoFCamV5mCrMUOCi6V6FJosMF22AcrKJgQDVhfYh6tepp%2FlYgvnCEAbJQ1L0rOpajEmRcasMiPfxhgGoVo4rwreQpV6fUJHH2e8fa1s2c13Apl1b89a58ozdoap2sjgLN9uISl7P1DrulyeIkt0zr6JjWocoPOZsaXPb6jtqBblsgsaRre2xHi4nELm0MhG1%2Bx1SXwLpFi53b%2BaHRYo%2FIrbZtuWAKu5cSEXfybnnmUCaXGTpQr0xK2O2WWY76f%2BnAjNVf7nCZHU5XqIkTnpt6VtvsFlPXg1031g%2FVRdpkkyVpD7jnmax88QwDvg%2F66NnMRdRXTcGTmQc3cuINwN5IQqi0yzb%2BYFVHuVqI5s4ADfg5oE4ybDLd28mFSFmYvRoomsWXEdLU2Wl3GJy93ZNb%2Fd5gqmNaqJZSO1l6PVRy0nZIj%2F45EetjLguh1rLqR%2BSK0hO6NrsqcNX8zoUdjQYDJ7tb4os6%2Bi%2BY0qpY2AWlnLRDWdGFTfGY1gV0zNAtJ7pdo24se0D88AwLY%2FgZmE9iuP4V5v7CSR%2FRThaHLh%2BUeBkXwU6BC7lGOevK65udTv%2BtS%2FPfW7qj3ljTcj3b9OkbV85t8xsMj7Ddj7DGpthZKwKPvso%2Fc%2F1K9aLE12fMWLV1y1D9ua8lyJdWXr%2FbG%2BnoCFutf%2FmLILe39ITUV4igr3876fpX5g2zeB52sWnIL4fXHlgeUzOx5QfIvJQyrKQE9wHUqVq%2BPEaOrz0wVvNbJZVSfsuMzxN4l9PkedFzw9V5Dj%2BnzpgoT4ZxCxJfC5RWLc74YVHxKlExCYt0JAOMatREhHBSCAtSfod6x6Ls8HCWECLwXZ9nd5Dz1T24JUdWs6fU3%2B%2BfcnT49Qe%2BkBs%2BwdsMZgPXMp3U5S958snPP%2FEE7bvkOPCuTUDTUQ%2FUzirLhML9yPahoe1D5Fj5jWsaoveyP00PehdUAHk%2FseDVWsvDWXXXsyn%2F4wfpXc2V3%2FQxli3jl%2F5hj%2F83avSCfpTNxOEKLmTjxOEKuxgNlsQn0xgct724mhynupNW1Ph6o3RYS3%2F%2B2TJrzLlkFz%2Bip3qCHKf6eqW02QJLjBYuuj4sobhCWqa%2FYHGEHpcnumuWSOhxeaL7sOakNR6vvmo%2BYcfFA8UFXEPZf9UjyudIOyNwx%2Fi90DdsujS%2FFX2UAwvWSVK4NxaMhAGw3oowp%2Fuc8CTi7D2rBgZWwb%2F60faR7SPsEbjkXy4G0XaqhXPwe2cePjxjxuHD6ssQuR1fq6PF0E%2Bo2t1nePTn8TUmxz%2FA3crMoCc7egESuoTHYc7mYdg6etORoOhR7BBGD%2BqJopELrl4S6cJNRtEAsLP%2FOdvnJq0Wo0GolY2Et9VFB2Kf%2B4bZvVyxfOMz3WdFfSIryj6DwWghre7aQbdiDrkTL3A3vNDuDpk93HqXwam%2BbWmUJZfNn5ozKV5Pmmq8PF%2FjVY%2B2Tlk2M2RzSXKjmbQ4RZcQavEYrN%2F9rlXwtIQqzxQNMzPPfHYLvuPoO9TbT8bpGw5CQPGd%2BSyX%2FCyf0Vxjd2R9NmsunnXYa8xGHzn%2BsSfM5J0y0DZEXWWxkXjcR75KBLNLHi7XvX2G8VOrf4Ykg0AMdBESIpo7MgAfyakA6rkqpI6UjNs0px7cMV%2BD5BF49Tez1VGnYmq0WIijp985m4Sn2gJR9b07riPPFo97OYbUZbxJCpot7H%2FlpZBicglCPN7WOfJkcHqc3ElWqvvz%2F1E6bIQrG%2Btz6WkM1SM9FBTR7FSs8KyBBytSmNEoquJNFN5EQyTiCrnKDx1h58yxCepPHU5nxGoxEQeeOZi2m80DxNxncVhr6BmEfUarxejw%2BWSiHhWk19bSY7aKR5MsteblJpfTLtjimBouXsm3d3djjYM%2BwEW0El9dM%2FueVRWIsXwe43R7SgbVZqrnqoJ1X%2FkuF7pcgf8duv4q6vayV5U9zMV91GxO59UUjW8rHV6u799WzKMT7umRCXbYUKM%2BfoaCcwgaoqZUtmodV3p%2BX7akb4dnU9B9La38RPFUG2SCC90tVA4XwEFhyOpZZrUCsgWYHsczLFBBVGNtstoN1bw0Z%2BO4fYIbvZVt4EUcJEKOhHeincWqONw%2Bq6w5Go%2BWGOSR7LhKV%2BKBqbBPpfUvOf9QqkpDyVhBeyyZQGMsdA5FBUqvFMtUyGq9vjnsAJU4UcrxldP1CCaofyDkSAifoP5QwWx%2BSyUGxp75BzGAvtG7uQ38LehlyEQMeh0TeE6Bm7tYdXqdkt0uOb3kfYlNwmOdDyacOq%2FqlFo1v%2BPTmTi3E%2FglC9W11b34A22zmLzvb231Q0L2Bgg60OTW4YdstO%2BYOJnO38TtpH7zy9ymokWyA79qlVSn38HtpFlImFnhu3b4boNWXklOXV0Iwo7lQ1hrZyPFcwtjwFP7iEKSHSSJw509kh8kj6pr%2BH1jR7km9vcvqN9657vffefkv%2BfKxge1X%2B7RdjYUPIESN7gTvRkB%2FRMYtEkaVkdHApmdBPpnKmz0n1xSWFOyVIuLrinZwpoCRe6kyiVZoHX088F%2BUX4%2BWKS4iBTP0IWxGtZgOdMaV4KTayqHQF%2FVihBwTbgDXTCmKoOBJeNhwJMzEVjtjIFLuU38fPR7hqNG1JS7g%2FqRCuy3vmQ3W9Vu8qbVbP%2BSzazGRJH83MzP90Ck2m31mMjP8TiLn5uwD2Ugr2PFvPQjB5BnSJvQxGQZZEB%2BLopqzGzDbMmbkAPkZVJjeO5FzOSBKCgJze2ZS4Gemc9twrwY6u9H61iUQTcRvtdT9RW3tRxAWwFs2tcuJRnI6xjmBdWjbgFNRHMHiF1uHYBfUR%2Fut5Ug2jXAaT96%2B9RH%2FFToRwIzGbKmVJ1AZQnoabSB1yyIg7ByAridHApPMjyw0OiV6RjSbCuzwLAvFizBliWJua1tsuAgvNPbmljYbpt8lkWam7b3XZiOiKJskMOtmfScnsbPW208knwjuXrXK4Q1iKIgNyYXXDVT9C2Ye%2F78GQ5BEEXfFdde2RwauOysdJNL5AzCy84ard%2FnGAVN8alecnFdgu5Gbd5DJTL%2BhHZK0vApVy3OfU8XTSJg1TlssivsPYUlIqvn66PzrVTymCc4wgF6SDNR0pDf%2B9Gp%2BVnsUH5WtpHYsuhOaey8zdwLN47V8MTbm78g687%2BP3cx6tcAeNpjYGRgYGBk8s0%2FzBIfz2%2FzlUGeZQNQhOFCWfF0GP0%2F8P8c1jusIkAuBwMTSBQAYwQM6HjaY2BkYGAV%2Bd8KJgP%2FXWG9wwAUQQGLAYqPBl942n1TvUoDQRCe1VM8kWARjNrZGIurBAsRBIuA2vkAFsJiKTYW4guIjT5ARMgTxCLoA1hcb5OgDyGHrY7f7M65e8fpLF%2B%2B2W%2FnZ2eTmGfaIJi5I0qGDlZZcD51QzTTJirZPAI9JIwVA%2BwT8L5nOdMaV0AuMJ%2BicRHq8of6LSD18fzq8ds7xjpwBnQiSI9V5QVl6NwPvgM15NXn%2FAtWZyj3W0HjEXitOc%2FdIdbetPdFTZ%2BP6t%2BX7xU0%2Fk6GJtOe1%2FB3arN0%2Fpmz1J4UZc%2BD6ExwjD7vioeGd5HvhvU%2BR%2BDZcGZ6YBPNfAi0G97iBPwFXqph2cW8%2BD7kjMfwtinHb6kLb6Wygk3cZytSEoptGrlScdHtLPeri1JKueACMZfU1ViJG1Sq5E43dIt7SZZFl1zuRhb%2FGOs44xFVDbrJzB5tYs35OmaXTrEmkv0DajnMWQB42mNgYNCCwk0MLxheMPrhgUuY2JiUmOqY2pjWMD1hdmPOY%2B5hPsLCwWLEksSyiOUOawzrLrYiti%2FsCuxJ7Kc45DiSOPZxmnG2cG7jvMelweXDNYXrEbcBdxf3KR4OngheLd443g18fHwZfFv4NfiX8T8TEBIIEZggsEpQS7BMcJsQl5CFUI3QAWEp4RLhCyJaIldEbURXiJ4RYxEzE0sQ2yD2TzxIfJkEk4SeRJbENIkNEg8k%2FklqSGZITpE8InlL8p2UmVSG1A6pb9Jx0ltkjGSmyDySlZF1kc2RnSK7R%2FaZnJ5cmdwB%2BST5SwpuCvsUjRTLFHcoOShNU9qhzKespGyhXKV8SPmBCpOKgUqcyjSVR6omqgmqe9RE1OrUnqkHqO9R%2F6FholGgsUZzgeYZLTUtL60WbS7tKh0OnQydXTpvdGV0O3S%2F6Gnopekt0ruhz6fvpl%2Bnv0n%2Fh4GdQYvBJUMhwwTDdYYvjFSM4oxmGd0zVjK2M84w3mYiYZJgssLkkqmO6TzTF2Z2ZjVmd8ylzP3MJ5lfsRCwcLJoszhhyWXpZdlhecZKxirHapbVPesF1ndsJGwCbBbZ%2FLA1sn1jZ2XXY3fFXsM%2Bz36V%2FS8HD4cGh2OOTI51ThJOK5zeOUs4OzmXOS9wPuUi4JLgss7lm2uU6zY3NrcSty1u39zN3Mvct7l%2F8xDzMPLw88jyaPM44ynkaeEZ59niucqLyUvPKwgAn3OqOQAAAQAAARcApwARAAAAAAACAAAAAQABAAAAQAAuAAAAAHjarZK9TgJBEMf%2Fd6CRaAyRhMLqCgsbL4ciglTGRPEjSiSKlnLycXJ86CEniU%2FhM9jYWPgIFkYfwd6nsDD%2Bd1mBIIUx3mZnfzs3MzszuwDCeIYG8UUwQxmAFgxxPeeuyxrmcaNYxzTuFAewi0fFQSTxqXgM11pC8TgS2oPiCUS1d8Uh8ofiSczpYcVT5LjiCPlY8Qui%2BncOr7D02y6%2FBTCrP%2Fm%2Bb5bdTrPi2I26Z9qNGtbRQBMdXMJBGRW0YOCecxEWYoiTCvxrYBunqHPdoX2bLOyrMKlZg8thDETw5K7Itci1TXlGy0124QRZZLDFU%2FexhxztMozlosTpMH6ZPge0L%2BOKGnFKjJ4WRwppHPL0PP3SI2P9jLQwFOu3GRhDfkeyDo%2F%2FG7IHgzllZQxLdquvrdCyBVvat3seJlYo06gxapUxhU2JWnFygR03sSxnEkvcpf5Y5eibGq315TDp7fKWm8zbUVl71Aqq%2FZtNnlkWmLnQtno9ycvXYbA6W2pF3aKfCayyC0Ja7Fr%2FPW70%2FHO4YM0OKxFvzf0C1MyPjwAAeNpt1VWUU2cYRuHsgxenQt1d8%2F3JOUnqAyR1d%2FcCLQVKO22pu7tQd3d3d3d3d3cXmGzumrWy3pWLs%2FNdPDMpZaWu1783l1Lpf14MnfzO6FbqVupfGkD30iR60JNe9KYP09CXfvRnAAMZxGCGMG3pW6ZjemZgKDMyEzMzC7MyG7MzB3MyF3MzD%2FMyH%2FOzAAuyEAuzCIuyGIuzBGWCRIUqOQU16jRYkqVYmmVYluVYng6GMZwRNGmxAiuyEiuzCquyGquzBmuyFmuzDuuyHuuzARuyERuzCZuyGZuzBVuyFVuzDduyHdszklGMZgd2ZAw7MZZxjGdnJrALu9LJbuzOHkxkT%2FZib%2FZhX%2FZjfw7gQA7iYA7hUA7jcI7gSI7iaI7hWI7jeE7gRE7iZE5hEqdyGqdzBmdyFmdzDudyHudzARdyERdzCZdyGZdzBVdyFVdzDddyHddzAzdyEzdzC7dyG7dzB3dyF3dzD%2FdyH%2FfzAA%2FyEA%2FzCI%2FyGI%2FzBE%2FyFE%2FzDM%2FyHM%2FzAi%2FyEi%2FzCq%2FyGq%2FzBm%2FyFm%2FzDu%2FyHu%2FzAR%2FyER%2FzCZ%2FyGZ%2FzBV%2FyFV%2FzDd%2FyHd%2FzAz%2FyEz%2FzC7%2FyG7%2FzB3%2FyF3%2FzD%2F9mpYwsy7pl3bMeWc%2BsV9Y765NNk%2FXN%2BmX9swHZwGxQNjgb0nPkmInjR0V7Uq%2FOsaPL5Y7ylE3l8tQNN7kVt%2BrmbuHW3LrbcDvam1rtzVvdm50TxrU%2FDBvRtZUY1rV5a3jXFn550Wo%2FXDNWK3dFmh7X9LimxzU9qulRTY9qelTTo5rlKLt2wk7YiaprL%2ByFvbAX9pK9ZC%2FZS%2FaSvWQv2Uv2kr1kr2KvYq9ir2KvYq9ir2KvYq9ir2Kvaq9qr2qvaq9qr2qvaq9qr2qvai%2B3l9vL7eX2cnu5vdxebi%2B3l9sr7BV2CjuFncJOYaewU9gp7NTs1LyrZq9mr2avZq9mr2avZq9mr26vbq9ur26vbq9ur26vbq9ur26vYa9hr2GvYa9hr2GvYa%2FR7oXuQ%2Feh%2B2j%2FUU7e3C3cqc%2FV3fYdof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D92H7kP3ofvQfeg%2BdB%2B6D92H7kP3ofvQfRT29B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6j6nuG3Ya7U5q%2F0hN3nCTW3Grbu4Wrs%2FrP%2Bk%2F6T%2FpP%2Bk%2F6T%2FpP%2Bk%2B6T7pPek86TzpPOk86TzpOuk66TrpOuk66TrpOlWmPu%2F36zrpOuk66TrpOuk66TrpOvl%2FPek76TvpO%2Bk76TvpO%2Bk76TvpO%2Bk76TvpO7V9t%2BqtVs%2FOaOURU6bo6PgPt6rZbwAAAAABVFDDFwAA%29%20format%28%27woff%27%29%2Curl%28data%3Aapplication%2Ffont%2Dsfnt%3Bbase64%2CAAEAAAAPAIAAAwBwRkZUTW0ql9wAAAD8AAAAHEdERUYBRAAEAAABGAAAACBPUy8yZ7lriQAAATgAAABgY21hcNqt44EAAAGYAAAGcmN2dCAAKAL4AAAIDAAAAARnYXNw%2F%2F8AAwAACBAAAAAIZ2x5Zn1dwm8AAAgYAACUpGhlYWQFTS%2FYAACcvAAAADZoaGVhCkQEEQAAnPQAAAAkaG10eNLHIGAAAJ0YAAADdGxvY2Fv%2B5XOAACgjAAAAjBtYXhwAWoA2AAAorwAAAAgbmFtZbMsoJsAAKLcAAADonBvc3S6o%2BU1AACmgAAACtF3ZWJmwxhUUAAAsVQAAAAGAAAAAQAAAADMPaLPAAAAANB2gXUAAAAA0HZzlwABAAAADgAAABgAAAAAAAIAAQABARYAAQAEAAAAAgAAAAMEiwGQAAUABAMMAtAAAABaAwwC0AAAAaQAMgK4AAAAAAUAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAFVLV04AQAAg%2F%2F8DwP8QAAAFFAB7AAAAAQAAAAAAAAAAAAAAIAABAAAABQAAAAMAAAAsAAAACgAAAdwAAQAAAAAEaAADAAEAAAAsAAMACgAAAdwABAGwAAAAaABAAAUAKAAgACsAoAClIAogLyBfIKwgvSISIxsl%2FCYBJvonCScP4APgCeAZ4CngOeBJ4FngYOBp4HngieCX4QnhGeEp4TnhRuFJ4VnhaeF54YnhleGZ4gbiCeIW4hniIeIn4jniSeJZ4mD4%2F%2F%2F%2FAAAAIAAqAKAApSAAIC8gXyCsIL0iEiMbJfwmASb6JwknD%2BAB4AXgEOAg4DDgQOBQ4GDgYuBw4IDgkOEB4RDhIOEw4UDhSOFQ4WDhcOGA4ZDhl%2BIA4gniEOIY4iHiI%2BIw4kDiUOJg%2BP%2F%2F%2F%2F%2Fj%2F9r%2FZv9i4Ajf5N%2B132nfWd4F3P3aHdoZ2SHZE9kOIB0gHCAWIBAgCiAEH%2F4f%2BB%2F3H%2FEf6x%2FlH3wfdh9wH2ofZB9jH10fVx9RH0sfRR9EHt4e3B7WHtUezh7NHsUevx65HrMIFQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAACjAAAAAAAAAA1AAAAIAAAACAAAAADAAAAKgAAACsAAAAEAAAAoAAAAKAAAAAGAAAApQAAAKUAAAAHAAAgAAAAIAoAAAAIAAAgLwAAIC8AAAATAAAgXwAAIF8AAAAUAAAgrAAAIKwAAAAVAAAgvQAAIL0AAAAWAAAiEgAAIhIAAAAXAAAjGwAAIxsAAAAYAAAl%2FAAAJfwAAAAZAAAmAQAAJgEAAAAaAAAm%2BgAAJvoAAAAbAAAnCQAAJwkAAAAcAAAnDwAAJw8AAAAdAADgAQAA4AMAAAAeAADgBQAA4AkAAAAhAADgEAAA4BkAAAAmAADgIAAA4CkAAAAwAADgMAAA4DkAAAA6AADgQAAA4EkAAABEAADgUAAA4FkAAABOAADgYAAA4GAAAABYAADgYgAA4GkAAABZAADgcAAA4HkAAABhAADggAAA4IkAAABrAADgkAAA4JcAAAB1AADhAQAA4QkAAAB9AADhEAAA4RkAAACGAADhIAAA4SkAAACQAADhMAAA4TkAAACaAADhQAAA4UYAAACkAADhSAAA4UkAAACrAADhUAAA4VkAAACtAADhYAAA4WkAAAC3AADhcAAA4XkAAADBAADhgAAA4YkAAADLAADhkAAA4ZUAAADVAADhlwAA4ZkAAADbAADiAAAA4gYAAADeAADiCQAA4gkAAADlAADiEAAA4hYAAADmAADiGAAA4hkAAADtAADiIQAA4iEAAADvAADiIwAA4icAAADwAADiMAAA4jkAAAD1AADiQAAA4kkAAAD%2FAADiUAAA4lkAAAEJAADiYAAA4mAAAAETAAD4%2FwAA%2BP8AAAEUAAH1EQAB9REAAAEVAAH2qgAB9qoAAAEWAAYCCgAAAAABAAABAAAAAAAAAAAAAAAAAAAAAQACAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAEAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAL4AAAAAf%2F%2FAAIAAgAoAAABaAMgAAMABwAusQEALzyyBwQA7TKxBgXcPLIDAgDtMgCxAwAvPLIFBADtMrIHBgH8PLIBAgDtMjMRIRElMxEjKAFA%2Fujw8AMg%2FOAoAtAAAQBkAGQETARMAFsAAAEyFh8BHgEdATc%2BAR8BFgYPATMyFhcWFRQGDwEOASsBFx4BDwEGJi8BFRQGBwYjIiYvAS4BPQEHDgEvASY2PwEjIiYnJjU0Nj8BPgE7AScuAT8BNhYfATU0Njc2AlgPJgsLCg%2BeBxYIagcCB57gChECBgMCAQIRCuCeBwIHaggWB54PCikiDyYLCwoPngcWCGoHAgee4AoRAgYDAgECEQrgngcCB2oIFgeeDwopBEwDAgECEQrgngcCB2oIFgeeDwopIg8mCwsKD54HFghqBwIHnuAKEQIGAwIBAhEK4J4HAgdqCBYHng8KKSIPJgsLCg%2BeBxYIagcCB57gChECBgAAAAABAAAAAARMBEwAIwAAATMyFhURITIWHQEUBiMhERQGKwEiJjURISImPQE0NjMhETQ2AcLIFR0BXhUdHRX%2Boh0VyBUd%2FqIVHR0VAV4dBEwdFf6iHRXIFR3%2BohUdHRUBXh0VyBUdAV4VHQAAAAABAHAAAARABEwARQAAATMyFgcBBgchMhYPAQ4BKwEVITIWDwEOASsBFRQGKwEiJj0BISImPwE%2BATsBNSEiJj8BPgE7ASYnASY2OwEyHwEWMj8BNgM5%2BgoFCP6UBgUBDAoGBngGGAp9ARMKBgZ4BhgKfQ8LlAsP%2Fu0KBgZ4BhgKff7tCgYGeAYYCnYFBv6UCAUK%2BhkSpAgUCKQSBEwKCP6UBgwMCKAIDGQMCKAIDK4LDw8LrgwIoAgMZAwIoAgMDAYBbAgKEqQICKQSAAABAGQABQSMBK4AOwAAATIXFhcjNC4DIyIOAwchByEGFSEHIR4EMzI%2BAzUzBgcGIyInLgEnIzczNjcjNzM%2BATc2AujycDwGtSM0QDkXEys4MjAPAXtk%2FtQGAZZk%2FtQJMDlCNBUWOUA0I64eYmunznYkQgzZZHABBdpkhhQ%2BH3UErr1oaS1LMCEPCx4uTzJkMjJkSnRCKw8PIjBKK6trdZ4wqndkLzVkV4UljQAAAgB7AAAETASwAD4ARwAAASEyHgUVHAEVFA4FKwEHITIWDwEOASsBFRQGKwEiJj0BISImPwE%2BATsBNSEiJj8BPgE7ARE0NhcRMzI2NTQmIwGsAV5DakIwFgwBAQwWMEJqQ7ICASAKBgZ4BhgKigsKlQoP%2FvUKBgZ4BhgKdf71CgYGeAYYCnUPtstALS1ABLAaJD8yTyokCwsLJCpQMkAlGmQMCKAIDK8LDg8KrwwIoAgMZAwIoAgMAdsKD8j%2B1EJWVEAAAAEAyAGQBEwCvAAPAAATITIWHQEUBiMhIiY9ATQ2%2BgMgFR0dFfzgFR0dArwdFcgVHR0VyBUdAAAAAgDIAAAD6ASwACUAQQAAARUUBisBFRQGBx4BHQEzMhYdASE1NDY7ATU0NjcuAT0BIyImPQEXFRQWFx4BFAYHDgEdASE1NCYnLgE0Njc%2BAT0BA%2BgdFTJjUVFjMhUd%2FOAdFTJjUVFjMhUdyEE3HCAgHDdBAZBBNxwgIBw3QQSwlhUdZFuVIyOVW5YdFZaWFR2WW5UjI5VbZB0VlshkPGMYDDI8MgwYYzyWljxjGAwyPDIMGGM8ZAAAAAEAAAAAAAAAAAAAAAAxAAAB%2F%2FIBLATCBEEAFgAAATIWFzYzMhYVFAYjISImNTQ2NyY1NDYB9261LCwueKqqeP0ST3FVQgLYBEF3YQ6teHmtclBFaw4MGZnXAAAAAgAAAGQEsASvABoAHgAAAB4BDwEBMzIWHQEhNTQ2OwEBJyY%2BARYfATc2AyEnAwL2IAkKiAHTHhQe%2B1AeFB4B1IcKCSAkCm9wCXoBebbDBLMTIxC7%2FRYlFSoqFSUC6rcQJBQJEJSWEPwecAIWAAAAAAQAAABkBLAETAALABcAIwA3AAATITIWBwEGIicBJjYXARYUBwEGJjURNDYJATYWFREUBicBJjQHARYGIyEiJjcBNjIfARYyPwE2MhkEfgoFCP3MCBQI%2FcwIBQMBCAgI%2FvgICgoDjAEICAoKCP74CFwBbAgFCvuCCgUIAWwIFAikCBQIpAgUBEwKCP3JCAgCNwgK2v74CBQI%2FvgIBQoCJgoF%2FvABCAgFCv3aCgUIAQgIFID%2BlAgKCggBbAgIpAgIpAgAAAAD%2F%2FD%2F8AS6BLoACQANABAAAAAyHwEWFA8BJzcTAScJAQUTA%2BAmDpkNDWPWXyL9mdYCZv4f%2FrNuBLoNmQ4mDlzWYP50%2FZrWAmb8anABTwAAAAEAAAAABLAEsAAPAAABETMyFh0BITU0NjsBEQEhArz6FR384B0V%2Bv4MBLACiv3aHRUyMhUdAiYCJgAAAAEADgAIBEwEnAAfAAABJTYWFREUBgcGLgE2NzYXEQURFAYHBi4BNjc2FxE0NgFwAoUnMFNGT4gkV09IQv2oWEFPiCRXT0hCHQP5ow8eIvzBN1EXGSltchkYEAIJm%2F2iKmAVGilucRoYEQJ%2FJioAAAACAAn%2F%2BAS7BKcAHQApAAAAMh4CFQcXFAcBFgYPAQYiJwEGIycHIi4CND4BBCIOARQeATI%2BATQmAZDItoNOAQFOARMXARY7GikT%2Fu13jgUCZLaDTk6DAXKwlFZWlLCUVlYEp06DtmQCBY15%2Fu4aJRg6FBQBEk0BAU6Dtsi2g1tWlLCUVlaUsJQAAQBkAFgErwREABkAAAE%2BAh4CFRQOAwcuBDU0PgIeAQKJMHt4dVg2Q3mEqD4%2Bp4V4Qzhadnh5A7VESAUtU3ZAOXmAf7JVVbJ%2FgHk5QHZTLQVIAAAAAf%2FTAF4EewSUABgAAAETNjIXEyEyFgcFExYGJyUFBiY3EyUmNjMBl4MHFQeBAaUVBhH%2BqoIHDxH%2Bqf6qEQ8Hgv6lEQYUAyABYRMT%2Fp8RDPn%2BbxQLDPb3DAsUAZD7DBEAAv%2FTAF4EewSUABgAIgAAARM2MhcTITIWBwUTFgYnJQUGJjcTJSY2MwUjFwc3Fyc3IycBl4MHFQeBAaUVBhH%2BqoIHDxH%2Bqf6qEQ8Hgv6lEQYUAfPwxUrBw0rA6k4DIAFhExP%2BnxEM%2Bf5vFAsM9vcMCxQBkPsMEWSO4ouM5YzTAAABAAAAAASwBLAAJgAAATIWHQEUBiMVFBYXBR4BHQEUBiMhIiY9ATQ2NyU%2BAT0BIiY9ATQ2Alh8sD4mDAkBZgkMDwr7ggoPDAkBZgkMJj6wBLCwfPouaEsKFwbmBRcKXQoPDwpdChcF5gYXCktoLvp8sAAAAA0AAAAABLAETAAPABMAIwAnACsALwAzADcARwBLAE8AUwBXAAATITIWFREUBiMhIiY1ETQ2FxUzNSkBIgYVERQWMyEyNjURNCYzFTM1BRUzNSEVMzUFFTM1IRUzNQchIgYVERQWMyEyNjURNCYFFTM1IRUzNQUVMzUhFTM1GQR%2BCg8PCvuCCg8PVWQCo%2F3aCg8PCgImCg8Pc2T8GGQDIGT8GGQDIGTh%2FdoKDw8KAiYKDw%2F872QDIGT8GGQDIGQETA8K%2B%2BYKDw8KBBoKD2RkZA8K%2FqIKDw8KAV4KD2RkyGRkZGTIZGRkZGQPCv6iCg8PCgFeCg9kZGRkZMhkZGRkAAAEAAAAAARMBEwADwAfAC8APwAAEyEyFhURFAYjISImNRE0NikBMhYVERQGIyEiJjURNDYBITIWFREUBiMhIiY1ETQ2KQEyFhURFAYjISImNRE0NjIBkBUdHRX%2BcBUdHQJtAZAVHR0V%2FnAVHR39vQGQFR0dFf5wFR0dAm0BkBUdHRX%2BcBUdHQRMHRX%2BcBUdHRUBkBUdHRX%2BcBUdHRUBkBUd%2FagdFf5wFR0dFQGQFR0dFf5wFR0dFQGQFR0AAAkAAAAABEwETAAPAB8ALwA%2FAE8AXwBvAH8AjwAAEzMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2ATMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2ATMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2MsgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR389cgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR389cgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR0ETB0VyBUdHRXIFR0dFcgVHR0VyBUdHRXIFR0dFcgVHf5wHRXIFR0dFcgVHR0VyBUdHRXIFR0dFcgVHR0VyBUd%2FnAdFcgVHR0VyBUdHRXIFR0dFcgVHR0VyBUdHRXIFR0ABgAAAAAEsARMAA8AHwAvAD8ATwBfAAATMzIWHQEUBisBIiY9ATQ2KQEyFh0BFAYjISImPQE0NgEzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2ATMyFh0BFAYrASImPQE0NikBMhYdARQGIyEiJj0BNDYyyBUdHRXIFR0dAaUCvBUdHRX9RBUdHf6FyBUdHRXIFR0dAaUCvBUdHRX9RBUdHf6FyBUdHRXIFR0dAaUCvBUdHRX9RBUdHQRMHRXIFR0dFcgVHR0VyBUdHRXIFR3%2BcB0VyBUdHRXIFR0dFcgVHR0VyBUd%2FnAdFcgVHR0VyBUdHRXIFR0dFcgVHQAAAAABACYALAToBCAAFwAACQE2Mh8BFhQHAQYiJwEmND8BNjIfARYyAdECOwgUB7EICPzxBxUH%2FoAICLEHFAirBxYB3QI7CAixBxQI%2FPAICAGACBQHsQgIqwcAAQBuAG4EQgRCACMAAAEXFhQHCQEWFA8BBiInCQEGIi8BJjQ3CQEmND8BNjIXCQE2MgOIsggI%2FvUBCwgIsggVB%2F70%2FvQHFQiyCAgBC%2F71CAiyCBUHAQwBDAcVBDuzCBUH%2FvT%2B9AcVCLIICAEL%2FvUICLIIFQcBDAEMBxUIsggI%2FvUBDAcAAwAX%2F%2BsExQSZABkAJQBJAAAAMh4CFRQHARYUDwEGIicBBiMiLgI0PgEEIg4BFB4BMj4BNCYFMzIWHQEzMhYdARQGKwEVFAYrASImPQEjIiY9ATQ2OwE1NDYBmcSzgk1OASwICG0HFQj%2B1HeOYrSBTU2BAW%2BzmFhYmLOZWFj%2BvJYKD0sKDw8KSw8KlgoPSwoPDwpLDwSZTYKzYo15%2FtUIFQhsCAgBK01NgbTEs4JNWJmzmFhYmLOZIw8KSw8KlgoPSwoPDwpLDwqWCg9LCg8AAAMAF%2F%2FrBMUEmQAZACUANQAAADIeAhUUBwEWFA8BBiInAQYjIi4CND4BBCIOARQeATI%2BATQmBSEyFh0BFAYjISImPQE0NgGZxLOCTU4BLAgIbQcVCP7Ud45itIFNTYEBb7OYWFiYs5lYWP5YAV4KDw8K%2FqIKDw8EmU2Cs2KNef7VCBUIbAgIAStNTYG0xLOCTViZs5hYWJizmYcPCpYKDw8KlgoPAAAAAAIAFwAXBJkEsAAPAC0AAAEzMhYVERQGKwEiJjURNDYFNRYSFRQOAiIuAjU0EjcVDgEVFB4BMj4BNTQmAiZkFR0dFWQVHR0BD6fSW5vW6tabW9KnZ3xyxejFcnwEsB0V%2FnAVHR0VAZAVHeGmPv7ZuHXWm1tbm9Z1uAEnPqY3yHh0xXJyxXR4yAAEAGQAAASwBLAADwAfAC8APwAAATMyFhURFAYrASImNRE0NgEzMhYVERQGKwEiJjURNDYBMzIWFREUBisBIiY1ETQ2BTMyFh0BFAYrASImPQE0NgQBlgoPDwqWCg8P%2Ft6WCg8PCpYKDw%2F%2B3pYKDw8KlgoPD%2F7elgoPDwqWCg8PBLAPCvuCCg8PCgR%2BCg%2F%2BcA8K%2FRIKDw8KAu4KD%2F7UDwr%2BPgoPDwoBwgoPyA8K%2BgoPDwr6Cg8AAAAAAgAaABsElgSWAEcATwAAATIfAhYfATcWFwcXFh8CFhUUDwIGDwEXBgcnBwYPAgYjIi8CJi8BByYnNycmLwImNTQ%2FAjY%2FASc2Nxc3Nj8CNhIiBhQWMjY0AlghKSYFMS0Fhj0rUAMZDgGYBQWYAQ8YA1AwOIYFLDIFJisfISkmBTEtBYY8LFADGQ0ClwYGlwINGQNQLzqFBS0xBSYreLJ%2BfrJ%2BBJYFmAEOGQJQMDmGBSwxBiYrHiIoJgYxLAWGPSxRAxkOApcFBZcCDhkDUTA5hgUtMAYmKiAhKCYGMC0Fhj0sUAIZDgGYBf6ZfrF%2BfrEABwBkAAAEsAUUABMAFwAhACUAKQAtADEAAAEhMhYdASEyFh0BITU0NjMhNTQ2FxUhNQERFAYjISImNREXETMRMxEzETMRMxEzETMRAfQBLCk7ARMKD%2Fu0DwoBEzspASwBLDsp%2FUQpO2RkZGRkZGRkBRQ7KWQPCktLCg9kKTtkZGT%2B1PzgKTs7KQMgZP1EArz9RAK8%2FUQCvP1EArwAAQAMAAAFCATRAB8AABMBNjIXARYGKwERFAYrASImNREhERQGKwEiJjURIyImEgJsCBUHAmAIBQqvDwr6Cg%2F%2B1A8K%2BgoPrwoFAmoCYAcH%2FaAICv3BCg8PCgF3%2FokKDw8KAj8KAAIAZAAAA%2BgEsAARABcAAAERFBYzIREUBiMhIiY1ETQ2MwEjIiY9AQJYOykBLB0V%2FOAVHR0VA1L6FR0EsP5wKTv9dhUdHRUETBUd%2FnAdFfoAAwAXABcEmQSZAA8AGwAwAAAAMh4CFA4CIi4CND4BBCIOARQeATI%2BATQmBTMyFhURMzIWHQEUBisBIiY1ETQ2AePq1ptbW5vW6tabW1ubAb%2FoxXJyxejFcnL%2BfDIKD68KDw8K%2BgoPDwSZW5vW6tabW1ub1urWmztyxejFcnLF6MUNDwr%2B7Q8KMgoPDwoBXgoPAAAAAAL%2FnAAABRQEsAALAA8AACkBAyMDIQEzAzMDMwEDMwMFFP3mKfIp%2FeYBr9EVohTQ%2Fp4b4BsBkP5wBLD%2B1AEs%2FnD%2B1AEsAAAAAAIAZAAABLAEsAAVAC8AAAEzMhYVETMyFgcBBiInASY2OwERNDYBMzIWFREUBiMhIiY1ETQ2OwEyFh0BITU0NgImyBUdvxQLDf65DSYN%2FrkNCxS%2FHQJUMgoPDwr75goPDwoyCg8DhA8EsB0V%2Fj4XEP5wEBABkBAXAcIVHfzgDwr%2BogoPDwoBXgoPDwqvrwoPAAMAFwAXBJkEmQAPABsAMQAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgUzMhYVETMyFgcDBiInAyY2OwERNDYB4%2BrWm1tbm9bq1ptbW5sBv%2BjFcnLF6MVycv58lgoPiRUKDd8NJg3fDQoViQ8EmVub1urWm1tbm9bq1ps7csXoxXJyxejFDQ8K%2Fu0XEP7tEBABExAXARMKDwAAAAMAFwAXBJkEmQAPABsAMQAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JiUTFgYrAREUBisBIiY1ESMiJjcTNjIB4%2BrWm1tbm9bq1ptbW5sBv%2BjFcnLF6MVycv7n3w0KFYkPCpYKD4kVCg3fDSYEmVub1urWm1tbm9bq1ps7csXoxXJyxejFAf7tEBf%2B7QoPDwoBExcQARMQAAAAAAIAAAAABLAEsAAZADkAABMhMhYXExYVERQGBwYjISImJyY1EzQ3Ez4BBSEiBgcDBhY7ATIWHwEeATsBMjY%2FAT4BOwEyNicDLgHhAu4KEwO6BwgFDBn7tAweAgYBB7kDEwKX%2FdQKEgJXAgwKlgoTAiYCEwr6ChMCJgITCpYKDAJXAhIEsA4K%2FXQYGf5XDB4CBggEDRkBqRkYAowKDsgOC%2F4%2BCw4OCpgKDg4KmAoODgsBwgsOAAMAFwAXBJkEmQAPABsAJwAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgUXFhQPAQYmNRE0NgHj6tabW1ub1urWm1tbmwG%2F6MVycsXoxXJy%2Fov9ERH9EBgYBJlbm9bq1ptbW5vW6tabO3LF6MVycsXoxV2%2BDCQMvgwLFQGQFQsAAQAXABcEmQSwACgAAAE3NhYVERQGIyEiJj8BJiMiDgEUHgEyPgE1MxQOAiIuAjQ%2BAjMyA7OHBwsPCv6WCwQHhW2BdMVycsXoxXKWW5vW6tabW1ub1nXABCSHBwQL%2FpYKDwsHhUxyxejFcnLFdHXWm1tbm9bq1ptbAAAAAAIAFwABBJkEsAAaADUAAAE3NhYVERQGIyEiJj8BJiMiDgEVIzQ%2BAjMyEzMUDgIjIicHBiY1ETQ2MyEyFg8BFjMyPgEDs4cHCw8L%2FpcLBAeGboF0xXKWW5vWdcDrllub1nXAnIYHCw8LAWgKBQiFboJ0xXIEJIcHBAv%2BlwsPCweGS3LFdHXWm1v9v3XWm1t2hggFCgFoCw8LB4VMcsUAAAAKAGQAAASwBLAADwAfAC8APwBPAF8AbwB%2FAI8AnwAAEyEyFhURFAYjISImNRE0NgUhIgYVERQWMyEyNjURNCYFMzIWHQEUBisBIiY9ATQ2MyEyFh0BFAYjISImPQE0NgczMhYdARQGKwEiJj0BNDYzITIWHQEUBiMhIiY9ATQ2BzMyFh0BFAYrASImPQE0NjMhMhYdARQGIyEiJj0BNDYHMzIWHQEUBisBIiY9ATQ2MyEyFh0BFAYjISImPQE0Nn0EGgoPDwr75goPDwPA%2FK4KDw8KA1IKDw%2F9CDIKDw8KMgoPD9IBwgoPDwr%2BPgoPD74yCg8PCjIKDw%2FSAcIKDw8K%2Fj4KDw%2B%2BMgoPDwoyCg8P0gHCCg8PCv4%2BCg8PvjIKDw8KMgoPD9IBwgoPDwr%2BPgoPDwSwDwr7ggoPDwoEfgoPyA8K%2FK4KDw8KA1IKD2QPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKDwAAAAACAAAAAARMBLAAGQAjAAABNTQmIyEiBh0BIyIGFREUFjMhMjY1ETQmIyE1NDY7ATIWHQEDhHVT%2FtRSdmQpOzspA4QpOzsp%2FageFMgUHgMgyFN1dlLIOyn9qCk7OykCWCk7lhUdHRWWAAIAZAAABEwETAAJADcAABMzMhYVESMRNDYFMhcWFREUBw4DIyIuAScuAiMiBwYjIicmNRE%2BATc2HgMXHgIzMjc2fTIKD2QPA8AEBRADIUNAMRwaPyonKSxHHlVLBwgGBQ4WeDsXKC4TOQQpLUUdZ1AHBEwPCvvNBDMKDzACBhH%2BWwYGO1AkDQ0ODg8PDzkFAwcPAbY3VwMCAwsGFAEODg5XCAAAAwAAAAAEsASXACEAMQBBAAAAMh4CFREUBisBIiY1ETQuASAOARURFAYrASImNRE0PgEDMzIWFREUBisBIiY1ETQ2ITMyFhURFAYrASImNRE0NgHk6N6jYw8KMgoPjeT%2B%2BuSNDwoyCg9joyqgCAwMCKAIDAwCYKAIDAwIoAgMDASXY6PedP7UCg8PCgEsf9FyctF%2F%2FtQKDw8KASx03qP9wAwI%2FjQIDAwIAcwIDAwI%2FjQIDAwIAcwIDAAAAAACAAAA0wRHA90AFQA5AAABJTYWFREUBiclJisBIiY1ETQ2OwEyBTc2Mh8BFhQPARcWFA8BBiIvAQcGIi8BJjQ%2FAScmND8BNjIXAUEBAgkMDAn%2B%2FhUZ%2BgoPDwr6GQJYeAcUByIHB3h4BwciBxQHeHgHFAciBwd3dwcHIgcUBwMurAYHCv0SCgcGrA4PCgFeCg%2BEeAcHIgcUB3h4BxQHIgcHd3cHByIHFAd4eAcUByIICAAAAAACAAAA0wNyA90AFQAvAAABJTYWFREUBiclJisBIiY1ETQ2OwEyJTMWFxYVFAcGDwEiLwEuATc2NTQnJjY%2FATYBQQECCQwMCf7%2BFRn6Cg8PCvoZAdIECgZgWgYLAwkHHQcDBkhOBgMIHQcDLqwGBwr9EgoHBqwODwoBXgoPZAEJgaGafwkBAQYXBxMIZ36EaggUBxYFAAAAAAMAAADEBGID7AAbADEASwAAATMWFxYVFAYHBgcjIi8BLgE3NjU0JicmNj8BNgUlNhYVERQGJyUmKwEiJjURNDY7ATIlMxYXFhUUBwYPASIvAS4BNzY1NCcmNj8BNgPHAwsGh0RABwoDCQcqCAIGbzs3BgIJKgf9ggECCQwMCf7%2BFRn6Cg8PCvoZAdIECgZgWgYLAwkHHQcDBkhOBgMIHQcD7AEJs9lpy1QJAQYiBhQIlrJarEcJFAYhBb6sBgcK%2FRIKBwasDg8KAV4KD2QBCYGhmn8JAQEGFwcTCGd%2BhGoIFQYWBQAAAAANAAAAAASwBLAACQAVABkAHQAhACUALQA7AD8AQwBHAEsATwAAATMVIxUhFSMRIQEjFTMVIREjESM1IQURIREhESERBSM1MwUjNTMBMxEhETM1MwEzFSMVIzUjNTM1IzUhBREhEQcjNTMFIzUzASM1MwUhNSEB9GRk%2FnBkAfQCvMjI%2FtTIZAJY%2B7QBLAGQASz84GRkArxkZP1EyP4MyGQB9MhkyGRkyAEs%2FUQBLGRkZAOEZGT%2BDGRkAfT%2B1AEsA4RkZGQCWP4MZMgBLAEsyGT%2B1AEs%2FtQBLMhkZGT%2BDP4MAfRk%2FtRkZGRkyGTI%2FtQBLMhkZGT%2B1GRkZAAAAAAJAAAAAASwBLAAAwAHAAsADwATABcAGwAfACMAADcjETMTIxEzASMRMxMjETMBIxEzASE1IRcjNTMXIzUzBSM1M2RkZMhkZAGQyMjIZGQBLMjI%2FOD%2B1AEsyGRkyGRkASzIyMgD6PwYA%2Bj8GAPo%2FBgD6PwYA%2Bj7UGRkW1tbW1sAAAIAAAAKBKYEsAANABUAAAkBFhQHAQYiJwETNDYzBCYiBhQWMjYB9AKqCAj%2BMAgUCP1WAQ8KAUM7Uzs7UzsEsP1WCBQI%2FjAICAKqAdsKD807O1Q7OwAAAAADAAAACgXSBLAADQAZACEAAAkBFhQHAQYiJwETNDYzIQEWFAcBBiIvAQkBBCYiBhQWMjYB9AKqCAj%2BMAgUCP1WAQ8KAwYCqggI%2FjAIFAg4Aaj9RP7TO1M7O1M7BLD9VggUCP4wCAgCqgHbCg%2F9VggUCP4wCAg4AaoCvM07O1Q7OwAAAAABAGQAAASwBLAAJgAAASEyFREUDwEGJjURNCYjISIPAQYWMyEyFhURFAYjISImNRE0PwE2ASwDOUsSQAgKDwr9RBkSQAgFCgK8Cg8PCvyuCg8SixIEsEv8fBkSQAgFCgO2Cg8SQAgKDwr8SgoPDwoDzxkSixIAAAABAMj%2F%2FwRMBLAACgAAEyEyFhURCQERNDb6AyAVHf4%2B%2Fj4dBLAdFfuCAbz%2BQwR%2FFR0AAAAAAwAAAAAEsASwABUARQBVAAABISIGBwMGHwEeATMhMjY%2FATYnAy4BASMiBg8BDgEjISImLwEuASsBIgYVERQWOwEyNj0BNDYzITIWHQEUFjsBMjY1ETQmASEiBg8BBhYzITI2LwEuAQM2%2FkQLEAFOBw45BhcKAcIKFwY%2BDgdTARABVpYKFgROBBYK%2FdoKFgROBBYKlgoPDwqWCg8PCgLuCg8PCpYKDw%2F%2Bsf4MChMCJgILCgJYCgsCJgITBLAPCv7TGBVsCQwMCWwVGAEtCg%2F%2BcA0JnAkNDQmcCQ0PCv12Cg8PCpYKDw8KlgoPDwoCigoP%2FagOCpgKDg4KmAoOAAAAAAQAAABkBLAETAAdACEAKQAxAAABMzIeAh8BMzIWFREUBiMhIiY1ETQ2OwE%2BBAEVMzUEIgYUFjI2NCQyFhQGIiY0AfTIOF00JAcGlik7Oyn8GCk7OymWAgknM10ByGT%2Bz76Hh76H%2Fu9WPDxWPARMKTs7FRQ7Kf2oKTs7KQJYKTsIG0U1K%2F7UZGRGh76Hh74IPFY8PFYAAAAAAgA1AAAEsASvACAAIwAACQEWFx4BHwEVITUyNi8BIQYHBh4CMxUhNTY3PgE%2FAQEDIQMCqQGBFCgSJQkK%2Fl81LBFS%2Fnk6IgsJKjIe%2FpM4HAwaBwcBj6wBVKIEr%2FwaMioTFQECQkJXLd6RWSIuHAxCQhgcDCUNDQPu%2FVoByQAAAAADAGQAAAPwBLAAJwAyADsAAAEeBhUUDgMjITU%2BATURNC4EJzUFMh4CFRQOAgclMzI2NTQuAisBETMyNjU0JisBAvEFEzUwOyodN1htbDD%2BDCk7AQYLFyEaAdc5dWM%2BHy0tEP6Pi05pESpTPnbYUFJ9Xp8CgQEHGB0zOlIuQ3VONxpZBzMoAzsYFBwLEAkHRwEpSXNDM1s6KwkxYUopOzQb%2FK5lUFqBAAABAMgAAANvBLAAGQAAARcOAQcDBhYXFSE1NjcTNjQuBCcmJzUDbQJTQgeECSxK%2Fgy6Dq0DAw8MHxUXDQYEsDkTNSj8uTEoBmFhEFIDQBEaExAJCwYHAwI5AAAAAAL%2FtQAABRQEsAAlAC8AAAEjNC4FKwERFBYfARUhNTI%2BAzURIyIOBRUjESEFIxEzByczESM3BRQyCAsZEyYYGcgyGRn%2BcAQOIhoWyBkYJhMZCwgyA%2Bj7m0tLfX1LS30DhBUgFQ4IAwH8rhYZAQJkZAEFCRUOA1IBAwgOFSAVASzI%2FOCnpwMgpwACACH%2FtQSPBLAAJQAvAAABIzQuBSsBERQWHwEVITUyPgM1ESMiDgUVIxEhEwc1IRUnNxUhNQRMMggLGRMmGBnIMhkZ%2FnAEDiIaFsgZGCYTGQsIMgPoQ6f84KenAyADhBUgFQ4IAwH9dhYZAQJkZAEFCRUOAooBAwgOFSAVASz7gn1LS319S0sABAAAAAAEsARMAA8AHwAvAD8AABMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYyAlgVHR0V%2FagVHR0VA%2BgVHR0V%2FBgVHR0VAyAVHR0V%2FOAVHR0VBEwVHR0V%2B7QVHR0ETB0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0ABAAAAAAEsARMAA8AHwAvAD8AABMhMhYdARQGIyEiJj0BNDYDITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NgMhMhYdARQGIyEiJj0BNDb6ArwVHR0V%2FUQVHR2zBEwVHR0V%2B7QVHR3dArwVHR0V%2FUQVHR2zBEwVHR0V%2B7QVHR0ETB0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0ABAAAAAAEsARMAA8AHwAvAD8AAAE1NDYzITIWHQEUBiMhIiYBNTQ2MyEyFh0BFAYjISImEzU0NjMhMhYdARQGIyEiJgE1NDYzITIWHQEUBiMhIiYB9B0VAlgVHR0V%2FagVHf5wHRUD6BUdHRX8GBUdyB0VAyAVHR0V%2FOAVHf7UHRUETBUdHRX7tBUdA7ZkFR0dFWQVHR3%2B6WQVHR0VZBUdHf7pZBUdHRVkFR0d%2FulkFR0dFWQVHR0AAAQAAAAABLAETAAPAB8ALwA%2FAAATITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2MgRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dBEwdFWQVHR0VZBUd%2FtQdFWQVHR0VZBUd%2FtQdFWQVHR0VZBUd%2FtQdFWQVHR0VZBUdAAgAAAAABLAETAAPAB8ALwA%2FAE8AXwBvAH8AABMzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2ATMyFh0BFAYrASImPQE0NikBMhYdARQGIyEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2KQEyFh0BFAYjISImPQE0NgEzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2MmQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR3%2B6WQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR3%2B6WQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR3%2B6WQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR0ETB0VZBUdHRVkFR0dFWQVHR0VZBUd%2FtQdFWQVHR0VZBUdHRVkFR0dFWQVHf7UHRVkFR0dFWQVHR0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0dFWQVHR0VZBUdAAAG%2F5wAAASwBEwAAwATACMAKgA6AEoAACEjETsCMhYdARQGKwEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2BQc1IzUzNQUhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2AZBkZJZkFR0dFWQVHR0VAfQVHR0V%2FgwVHR3%2B%2BqfIyAHCASwVHR0V%2FtQVHR0VAlgVHR0V%2FagVHR0ETB0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR36fUtkS68dFWQVHR0VZBUd%2FtQdFWQVHR0VZBUdAAAABgAAAAAFFARMAA8AEwAjACoAOgBKAAATMzIWHQEUBisBIiY9ATQ2ASMRMwEhMhYdARQGIyEiJj0BNDYFMxUjFSc3BSEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYyZBUdHRVkFR0dA2dkZPyuAfQVHR0V%2FgwVHR0EL8jIp6f75gEsFR0dFf7UFR0dFQJYFR0dFf2oFR0dBEwdFWQVHR0VZBUd%2B7QETP7UHRVkFR0dFWQVHchkS319rx0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0AAAAAAgAAAMgEsAPoAA8AEgAAEyEyFhURFAYjISImNRE0NgkCSwLuHywsH%2F0SHywsBIT%2B1AEsA%2BgsH%2F12HywsHwKKHyz9RAEsASwAAwAAAAAEsARMAA8AFwAfAAATITIWFREUBiMhIiY1ETQ2FxE3BScBExEEMhYUBiImNCwEWBIaGhL7qBIaGkr3ASpKASXs%2FNJwTk5wTgRMGhL8DBIaGhID9BIaZP0ftoOcAT7%2B4AH0dE5vT09vAAAAAAIA2wAFBDYEkQAWAB4AAAEyHgEVFAcOAQ8BLgQnJjU0PgIWIgYUFjI2NAKIdcZzRkWyNjYJIV5YbSk8RHOft7eCgreCBJF4ynVzj23pPz4IIWZomEiEdVijeUjDgriBgbgAAAACABcAFwSZBJkADwAXAAAAMh4CFA4CIi4CND4BAREiDgEUHgEB4%2BrWm1tbm9bq1ptbW5sBS3TFcnLFBJlbm9bq1ptbW5vW6tab%2FG8DVnLF6MVyAAACAHUAAwPfBQ8AGgA1AAABHgYVFA4DBy4DNTQ%2BBQMOAhceBBcWNj8BNiYnLgInJjc2IyYCKhVJT1dOPiUzVnB9P1SbfEokP0xXUEm8FykoAwEbITEcExUWAgYCCQkFEikMGiACCAgFD0iPdXdzdYdFR4BeRiYEBTpjl1lFh3ZzeHaQ%2Ff4hS4I6JUEnIw4IBwwQIgoYBwQQQSlZtgsBAAAAAwAAAAAEywRsAAwAKgAvAAABNz4CHgEXHgEPAiUhMhcHISIGFREUFjMhMjY9ATcRFAYjISImNRE0NgkBBzcBA%2BhsAgYUFR0OFgoFBmz9BQGQMje7%2FpApOzspAfQpO8i7o%2F5wpbm5Azj%2BlqE3AWMD9XMBAgIEDw4WKgsKc8gNuzsp%2FgwpOzsptsj%2BtKW5uaUBkKW5%2Ftf%2BljKqAWMAAgAAAAAEkwRMABsANgAAASEGByMiBhURFBYzITI2NTcVFAYjISImNRE0NgUBFhQHAQYmJzUmDgMHPgY3NT4BAV4BaaQ0wyk7OykB9Ck7yLml%2FnClubkCfwFTCAj%2BrAcLARo5ZFRYGgouOUlARioTAQsETJI2Oyn%2BDCk7OymZZ6W5uaUBkKW5G%2F7TBxUH%2Fs4GBAnLAQINFjAhO2JBNB0UBwHSCgUAAAAAAgAAAAAEnQRMAB0ANQAAASEyFwchIgYVERQWMyEyNj0BNxUUBiMhIiY1ETQ2CQE2Mh8BFhQHAQYiLwEmND8BNjIfARYyAV4BXjxDsv6jKTs7KQH0KTvIuaX%2BcKW5uQHKAYsHFQdlBwf97QcVB%2FgHB2UHFQdvCBQETBexOyn%2BDCk7OylFyNulubmlAZCluf4zAYsHB2UHFQf97AcH%2BAcVB2UHB28HAAAAAQAKAAoEpgSmADsAAAkBNjIXARYGKwEVMzU0NhcBFhQHAQYmPQEjFTMyFgcBBiInASY2OwE1IxUUBicBJjQ3ATYWHQEzNSMiJgE%2BAQgIFAgBBAcFCqrICggBCAgI%2FvgICsiqCgUH%2FvwIFAj%2B%2BAgFCq%2FICgj%2B%2BAgIAQgICsivCgUDlgEICAj%2B%2BAgKyK0KBAf%2B%2FAcVB%2F73BwQKrcgKCP74CAgBCAgKyK0KBAcBCQcVBwEEBwQKrcgKAAEAyAAAA4QETAAZAAATMzIWFREBNhYVERQGJwERFAYrASImNRE0NvpkFR0B0A8VFQ%2F%2BMB0VZBUdHQRMHRX%2BSgHFDggV%2FBgVCA4Bxf5KFR0dFQPoFR0AAAABAAAAAASwBEwAIwAAEzMyFhURATYWFREBNhYVERQGJwERFAYnAREUBisBIiY1ETQ2MmQVHQHQDxUB0A8VFQ%2F%2BMBUP%2FjAdFWQVHR0ETB0V%2FkoBxQ4IFf5KAcUOCBX8GBUIDgHF%2FkoVCA4Bxf5KFR0dFQPoFR0AAAABAJ0AGQSwBDMAFQAAAREUBicBERQGJwEmNDcBNhYVEQE2FgSwFQ%2F%2BMBUP%2FhQPDwHsDxUB0A8VBBr8GBUIDgHF%2FkoVCA4B4A4qDgHgDggV%2FkoBxQ4IAAAAAQDIABYEMwQ2AAsAABMBFhQHAQYmNRE0NvMDLhIS%2FNISGRkEMv4OCx4L%2Fg4LDhUD6BUOAAIAyABkA4QD6AAPAB8AABMzMhYVERQGKwEiJjURNDYhMzIWFREUBisBIiY1ETQ2%2BsgVHR0VyBUdHQGlyBUdHRXIFR0dA%2BgdFfzgFR0dFQMgFR0dFfzgFR0dFQMgFR0AAAEAyABkBEwD6AAPAAABERQGIyEiJjURNDYzITIWBEwdFfzgFR0dFQMgFR0DtvzgFR0dFQMgFR0dAAAAAAEAAAAZBBMEMwAVAAABETQ2FwEWFAcBBiY1EQEGJjURNDYXAfQVDwHsDw%2F%2BFA8V%2FjAPFRUPAmQBthUIDv4gDioO%2FiAOCBUBtv47DggVA%2BgVCA4AAAH%2F%2FgACBLMETwAjAAABNzIWFRMUBiMHIiY1AwEGJjUDAQYmNQM0NhcBAzQ2FwEDNDYEGGQUHgUdFWQVHQL%2BMQ4VAv4yDxUFFQ8B0gIVDwHSAh0ETgEdFfwYFR0BHRUBtf46DwkVAbX%2BOQ4JFAPoFQkP%2Fj4BthQJDv49AbYVHQAAAQEsAAAD6ARMABkAAAEzMhYVERQGKwEiJjURAQYmNRE0NhcBETQ2A1JkFR0dFWQVHf4wDxUVDwHQHQRMHRX8GBUdHRUBtv47DggVA%2BgVCA7%2BOwG2FR0AAAIAZADIBLAESAALABsAAAkBFgYjISImNwE2MgEhMhYdARQGIyEiJj0BNDYCrgH1DwkW%2B%2B4WCQ8B9Q8q%2FfcD6BUdHRX8GBUdHQQ5%2FeQPFhYPAhwP%2FUgdFWQVHR0VZBUdAAEAiP%2F8A3UESgAFAAAJAgcJAQN1%2FqABYMX92AIoA4T%2Bn%2F6fxgIoAiYAAAAAAQE7%2F%2FwEKARKAAUAAAkBJwkBNwQo%2FdnGAWH%2Bn8YCI%2F3ZxgFhAWHGAAIAFwAXBJkEmQAPADMAAAAyHgIUDgIiLgI0PgEFIyIGHQEjIgYdARQWOwEVFBY7ATI2PQEzMjY9ATQmKwE1NCYB4%2BrWm1tbm9bq1ptbW5sBfWQVHZYVHR0Vlh0VZBUdlhUdHRWWHQSZW5vW6tabW1ub1urWm7odFZYdFWQVHZYVHR0Vlh0VZBUdlhUdAAAAAAIAFwAXBJkEmQAPAB8AAAAyHgIUDgIiLgI0PgEBISIGHQEUFjMhMjY9ATQmAePq1ptbW5vW6tabW1ubAkX%2BDBUdHRUB9BUdHQSZW5vW6tabW1ub1urWm%2F5%2BHRVkFR0dFWQVHQACABcAFwSZBJkADwAzAAAAMh4CFA4CIi4CND4BBCIPAScmIg8BBhQfAQcGFB8BFjI%2FARcWMj8BNjQvATc2NC8BAePq1ptbW5vW6tabW1ubAeUZCXh4CRkJjQkJeHgJCY0JGQl4eAkZCY0JCXh4CQmNBJlbm9bq1ptbW5vW6tabrQl4eAkJjQkZCXh4CRkJjQkJeHgJCY0JGQl4eAkZCY0AAgAXABcEmQSZAA8AJAAAADIeAhQOAiIuAjQ%2BAQEnJiIPAQYUHwEWMjcBNjQvASYiBwHj6tabW1ub1urWm1tbmwEVVAcVCIsHB%2FIHFQcBdwcHiwcVBwSZW5vW6tabW1ub1urWm%2F4xVQcHiwgUCPEICAF3BxUIiwcHAAAAAAMAFwAXBJkEmQAPADsASwAAADIeAhQOAiIuAjQ%2BAQUiDgMVFDsBFjc%2BATMyFhUUBgciDgUHBhY7ATI%2BAzU0LgMTIyIGHQEUFjsBMjY9ATQmAePq1ptbW5vW6tabW1ubAT8dPEIyIRSDHgUGHR8UFw4TARkOGhITDAIBDQ6tBx4oIxgiM0Q8OpYKDw8KlgoPDwSZW5vW6tabW1ub1urWm5ELHi9PMhkFEBQQFRIXFgcIBw4UHCoZCBEQKDhcNi9IKhsJ%2FeMPCpYKDw8KlgoPAAADABcAFwSZBJkADwAfAD4AAAAyHgIUDgIiLgI0PgEFIyIGHQEUFjsBMjY9ATQmAyMiBh0BFBY7ARUjIgYdARQWMyEyNj0BNCYrARE0JgHj6tabW1ub1urWm1tbmwGWlgoPDwqWCg8PCvoKDw8KS0sKDw8KAV4KDw8KSw8EmVub1urWm1tbm9bq1ptWDwqWCg8PCpYKD%2F7UDwoyCg%2FIDwoyCg8PCjIKDwETCg8AAgAAAAAEsASwAC8AXwAAATMyFh0BHgEXMzIWHQEUBisBDgEHFRQGKwEiJj0BLgEnIyImPQE0NjsBPgE3NTQ2ExUUBisBIiY9AQ4BBzMyFh0BFAYrAR4BFzU0NjsBMhYdAT4BNyMiJj0BNDY7AS4BAg2WCg9nlxvCCg8PCsIbl2cPCpYKD2eXG8IKDw8KwhuXZw%2B5DwqWCg9EZheoCg8PCqgXZkQPCpYKD0RmF6gKDw8KqBdmBLAPCsIbl2cPCpYKD2eXG8IKDw8KwhuXZw8KlgoPZ5cbwgoP%2Fs2oCg8PCqgXZkQPCpYKD0RmF6gKDw8KqBdmRA8KlgoPRGYAAwAXABcEmQSZAA8AGwA%2FAAAAMh4CFA4CIi4CND4BBCIOARQeATI%2BATQmBxcWFA8BFxYUDwEGIi8BBwYiLwEmND8BJyY0PwE2Mh8BNzYyAePq1ptbW5vW6tabW1ubAb%2FoxXJyxejFcnKaQAcHfHwHB0AHFQd8fAcVB0AHB3x8BwdABxUHfHwHFQSZW5vW6tabW1ub1urWmztyxejFcnLF6MVaQAcVB3x8BxUHQAcHfHwHB0AHFQd8fAcVB0AHB3x8BwAAAAMAFwAXBJkEmQAPABsAMAAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgcXFhQHAQYiLwEmND8BNjIfATc2MgHj6tabW1ub1urWm1tbmwG%2F6MVycsXoxXJyg2oHB%2F7ACBQIyggIagcVB0%2FFBxUEmVub1urWm1tbm9bq1ps7csXoxXJyxejFfWoHFQf%2BvwcHywcVB2oICE%2FFBwAAAAMAFwAXBJkEmQAPABgAIQAAADIeAhQOAiIuAjQ%2BAQUiDgEVFBcBJhcBFjMyPgE1NAHj6tabW1ub1urWm1tbmwFLdMVyQQJLafX9uGhzdMVyBJlbm9bq1ptbW5vW6tabO3LFdHhpAktB0P24PnLFdHMAAAAAAQAXAFMEsAP5ABUAABMBNhYVESEyFh0BFAYjIREUBicBJjQnAgoQFwImFR0dFf3aFxD99hACRgGrDQoV%2Ft0dFcgVHf7dFQoNAasNJgAAAAABAAAAUwSZA%2FkAFQAACQEWFAcBBiY1ESEiJj0BNDYzIRE0NgJ%2FAgoQEP32EBf92hUdHRUCJhcD8f5VDSYN%2FlUNChUBIx0VyBUdASMVCgAAAAEAtwAABF0EmQAVAAAJARYGIyERFAYrASImNREhIiY3ATYyAqoBqw0KFf7dHRXIFR3%2B3RUKDQGrDSYEif32EBf92hUdHRUCJhcQAgoQAAAAAQC3ABcEXQSwABUAAAEzMhYVESEyFgcBBiInASY2MyERNDYCJsgVHQEjFQoN%2FlUNJg3%2BVQ0KFQEjHQSwHRX92hcQ%2FfYQEAIKEBcCJhUdAAABAAAAtwSZBF0AFwAACQEWFAcBBiY1EQ4DBz4ENxE0NgJ%2FAgoQEP32EBdesKWBJAUsW4fHfhcEVf5VDSYN%2FlUNChUBIwIkRHVNabGdcUYHAQYVCgACAAAAAASwBLAAFQArAAABITIWFREUBi8BBwYiLwEmND8BJyY2ASEiJjURNDYfATc2Mh8BFhQPARcWBgNSASwVHRUOXvkIFAhqBwf5Xg4I%2FiH%2B1BUdFQ5e%2BQgUCGoHB%2FleDggEsB0V%2FtQVCA5e%2BQcHaggUCPleDhX7UB0VASwVCA5e%2BQcHaggUCPleDhUAAAACAEkASQRnBGcAFQArAAABFxYUDwEXFgYjISImNRE0Nh8BNzYyASEyFhURFAYvAQcGIi8BJjQ%2FAScmNgP2agcH%2BV4OCBX%2B1BUdFQ5e%2BQgU%2FQwBLBUdFQ5e%2BQgUCGoHB%2FleDggEYGoIFAj5Xg4VHRUBLBUIDl75B%2F3xHRX%2B1BUIDl75BwdqCBQI%2BV4OFQAAAAADABcAFwSZBJkADwAfAC8AAAAyHgIUDgIiLgI0PgEFIyIGFxMeATsBMjY3EzYmAyMiBh0BFBY7ATI2PQE0JgHj6tabW1ub1urWm1tbmwGz0BQYBDoEIxQ2FCMEOgQYMZYKDw8KlgoPDwSZW5vW6tabW1ub1urWm7odFP7SFB0dFAEuFB3%2BDA8KlgoPDwqWCg8AAAAABQAAAAAEsASwAEkAVQBhAGgAbwAAATIWHwEWHwEWFxY3Nj8BNjc2MzIWHwEWHwIeATsBMhYdARQGKwEiBh0BIREjESE1NCYrASImPQE0NjsBMjY1ND8BNjc%2BBAUHBhY7ATI2LwEuAQUnJgYPAQYWOwEyNhMhIiY1ESkBERQGIyERAQQJFAUFFhbEFQ8dCAsmxBYXERUXMA0NDgQZCAEPCj0KDw8KMgoP%2FnDI%2FnAPCjIKDw8KPQsOCRkFDgIGFRYfAp2mBwQK2woKAzMDEP41sQgQAzMDCgrnCwMe%2FokKDwGQAlgPCv6JBLAEAgIKDXYNCxUJDRZ2DQoHIREQFRh7LAkLDwoyCg8PCq8BLP7UrwoPDwoyCg8GBQQwgBkUAwgWEQ55ogcKDgqVCgSqnQcECo8KDgr8cg8KAXf%2BiQoPAZAAAAAAAgAAAAwErwSmACsASQAAATYWFQYCDgQuAScmByYOAQ8BBiY1NDc%2BATc%2BAScuAT4BNz4GFyYGBw4BDwEOBAcOARY2Nz4CNz4DNz4BBI0IGgItQmxhi2KORDg9EQQRMxuZGhYqCFUYEyADCQIQOjEnUmFch3vAJQgdHyaiPT44XHRZUhcYDhItIRmKcVtGYWtbKRYEBKYDEwiy%2Ft3IlVgxEQgLCwwBAQIbG5kYEyJAJghKFRE8Hzdff4U%2FM0o1JSMbL0QJGCYvcSEhHjZST2c1ODwEJygeW0AxJUBff1UyFAABAF0AHgRyBM8ATwAAAQ4BHgQXLgc%2BATceAwYHDgQHBicmNzY3PgQuAScWDgMmJy4BJyY%2BBDcGHgM3PgEuAicmPgMCjScfCic4R0IgBBsKGAoQAwEJEg5gikggBhANPkpTPhZINx8SBgsNJysiCRZOQQoVNU1bYC9QZwICBAUWITsoCAYdJzIYHw8YIiYHDyJJYlkEz0OAZVxEOSQMBzgXOB42IzElKRIqg5Gnl0o3Z0c6IAYWCwYNAwQFIDhHXGF1OWiqb0sdBxUknF0XNTQ8PEUiNWNROBYJDS5AQVUhVZloUSkAAAAAA%2F%2FcAGoE1ARGABsAPwBRAAAAMh4FFA4FIi4FND4EBSYGFxYVFAYiJjU0NzYmBwYHDgEXHgQyPgM3NiYnJgUHDgEXFhcWNj8BNiYnJicuAQIGpJ17bk85HBw6T257naKde25POhwcOU9uewIPDwYIGbD4sBcIBw5GWg0ECxYyWl%2BDiINfWjIWCwQMWv3%2FIw8JCSU4EC0OIw4DDywtCyIERi1JXGJcSSpJXGJcSS0tSVxiXEkqSVxiXEncDwYTOT58sLB8OzcTBg9FcxAxEiRGXkQxMEVeRSQSMRF1HiQPLxJEMA0EDyIPJQ8sSRIEAAAABP%2FcAAAE1ASwABQAJwA7AEwAACEjNy4ENTQ%2BBTMyFzczEzceARUUDgMHNz4BNzYmJyYlBgcOARceBBc3LgE1NDc2JhcHDgEXFhcWNj8CJyYnLgECUJQfW6l2WSwcOU9ue51SPUEglCYvbIknUGqYUi5NdiYLBAw2%2FVFGWg0ECxIqSExoNSlrjxcIB3wjDwkJJTgQLQ4MFgMsLQsieBRhdHpiGxVJXGJcSS0Pef5StVXWNBpacm5jGq0xiD8SMRFGckVzEDESHjxRQTkNmhKnbjs3EwZwJA8vEkQwDQQPC1YELEkSBAAAAAP%2FngAABRIEqwALABgAKAAAJwE2FhcBFgYjISImJSE1NDY7ATIWHQEhAQczMhYPAQ4BKwEiJi8BJjZaAoIUOBQCghUbJfryJRsBCgFZDwqWCg8BWf5DaNAUGAQ6BCMUNhQjBDoEGGQEKh8FIfvgIEdEhEsKDw8KSwLT3x0U%2FBQdHRT8FB0AAAABAGQAFQSwBLAAKAAAADIWFREBHgEdARQGJyURFh0BFAYvAQcGJj0BNDcRBQYmPQE0NjcBETQCTHxYAWsPFhgR%2FplkGhPNzRMaZP6ZERgWDwFrBLBYPv6t%2FrsOMRQpFA0M%2Bf75XRRAFRAJgIAJEBVAFF0BB%2FkMDRQpFDEOAUUBUz4AAAARAAAAAARMBLAAHQAnACsALwAzADcAOwA%2FAEMARwBLAE8AUwBXAFsAXwBjAAABMzIWHQEzMhYdASE1NDY7ATU0NjsBMhYdASE1NDYBERQGIyEiJjURFxUzNTMVMzUzFTM1MxUzNTMVMzUFFTM1MxUzNTMVMzUzFTM1MxUzNQUVMzUzFTM1MxUzNTMVMzUzFTM1A1JkFR0yFR37tB0VMh0VZBUdAfQdAQ8dFfwYFR1kZGRkZGRkZGRk%2FHxkZGRkZGRkZGT8fGRkZGRkZGRkZASwHRUyHRWWlhUdMhUdHRUyMhUd%2FnD9EhUdHRUC7shkZGRkZGRkZGRkyGRkZGRkZGRkZGTIZGRkZGRkZGRkZAAAAAMAAAAZBXcElwAZACUANwAAARcWFA8BBiY9ASMBISImPQE0NjsBATM1NDYBBycjIiY9ATQ2MyEBFxYUDwEGJj0BIyc3FzM1NDYEb%2FkPD%2FkOFZ%2F9qP7dFR0dFdECWPEV%2FamNetEVHR0VASMDGvkPD%2FkOFfG1jXqfFQSN5g4qDuYOCBWW%2FagdFWQVHQJYlhUI%2FpiNeh0VZBUd%2Fk3mDioO5g4IFZa1jXqWFQgAAAABAAAAAASwBEwAEgAAEyEyFhURFAYjIQERIyImNRE0NmQD6Ck7Oyn9rP7QZCk7OwRMOyn9qCk7%2FtQBLDspAlgpOwAAAAMAZAAABEwEsAAJABMAPwAAEzMyFh0BITU0NiEzMhYdASE1NDYBERQOBSIuBTURIRUUFRwBHgYyPgYmNTQ9AZbIFR3%2B1B0C0cgVHf7UHQEPBhgoTGacwJxmTCgYBgEsAwcNFB8nNkI2Jx8TDwUFAQSwHRX6%2BhUdHRX6%2BhUd%2FnD%2B1ClJalZcPigoPlxWakkpASz6CRIVKyclIRsWEAgJEBccISUnKhURCPoAAAAB%2F%2F8A1ARMA8IABQAAAQcJAScBBEzG%2Fp%2F%2Bn8UCJwGbxwFh%2Fp%2FHAicAAQAAAO4ETQPcAAUAAAkCNwkBBE392v3ZxgFhAWEDFf3ZAifH%2Fp8BYQAAAAAC%2F1EAZAVfA%2BgAFAApAAABITIWFREzMhYPAQYiLwEmNjsBESElFxYGKwERIRchIiY1ESMiJj8BNjIBlALqFR2WFQgO5g4qDuYOCBWW%2FoP%2BHOYOCBWWAYHX%2FRIVHZYVCA7mDioD6B0V%2FdkVDvkPD%2FkOFQGRuPkOFf5wyB0VAiYVDvkPAAABAAYAAASeBLAAMAAAEzMyFh8BITIWBwMOASMhFyEyFhQGKwEVFAYiJj0BIRUUBiImPQEjIiYvAQMjIiY0NjheERwEJgOAGB4FZAUsIf2HMAIXFR0dFTIdKh3%2B1B0qHR8SHQYFyTYUHh4EsBYQoiUY%2FiUVK8gdKh0yFR0dFTIyFR0dFTIUCQoDwR0qHQAAAAACAAAAAASwBEwACwAPAAABFSE1MzQ2MyEyFhUFIREhBLD7UMg7KQEsKTv9RASw%2B1AD6GRkKTs7Kcj84AACAAAAAAXcBEwADAAQAAATAxEzNDYzITIWFSEVBQEhAcjIyDspASwqOgH0ASz%2B1PtQASwDIP5wAlgpOzspyGT9RAK8AAEBRQAAA2sErwAbAAABFxYGKwERMzIWDwEGIi8BJjY7AREjIiY%2FATYyAnvmDggVlpYVCA7mDioO5g4IFZaWFQgO5g4qBKD5DhX9pxUO%2BQ8P%2BQ4VAlkVDvkPAAAAAQABAUQErwNrABsAAAEXFhQPAQYmPQEhFRQGLwEmND8BNhYdASE1NDYDqPkODvkPFf2oFQ%2F5Dg75DxUCWBUDYOUPKQ%2FlDwkUl5cUCQ%2FlDykP5Q8JFZWVFQkAAAAEAAAAAASwBLAACQAZAB0AIQAAAQMuASMhIgYHAwUhIgYdARQWMyEyNj0BNCYFNTMVMzUzFQSRrAUkFP1gFCQFrAQt%2FBgpOzspA%2BgpOzv%2Bq2RkZAGQAtwXLSgV%2FR1kOylkKTs7KWQpO8hkZGRkAAAAA%2F%2BcAGQEsARMAAsAIwAxAAAAMhYVERQGIiY1ETQDJSMTFgYjIisBIiYnAj0BNDU0PgE7ASUBFSIuAz0BND4CNwRpKh0dKh1k%2FV0mLwMRFQUCVBQdBDcCCwzIAqP8GAQOIhoWFR0dCwRMHRX8rhUdHRUDUhX8mcj%2B7BAIHBUBUQ76AgQQDw36%2FtT6AQsTKRwyGigUDAEAAAACAEoAAARmBLAALAA1AAABMzIWDwEeARcTFzMyFhQGBw4EIyIuBC8BLgE0NjsBNxM%2BATcnJjYDFjMyNw4BIiYCKV4UEgYSU3oPP3YRExwaEggeZGqfTzl0XFU%2BLwwLEhocExF2Pw96UxIGEyQyNDUxDDdGOASwFRMlE39N%2FrmtHSkoBwQLHBYSCg4REg4FBAgoKR2tAUdNfhQgExr7vgYGMT09AAEAFAAUBJwEnAAXAAABNwcXBxcHFycHJwcnBzcnNyc3Jxc3FzcDIOBO6rS06k7gLZubLeBO6rS06k7gLZubA7JO4C2bmy3gTuq0tOpO4C2bmy3gTuq0tAADAAAAZASwBLAAIQAtAD0AAAEzMhYdAQchMhYdARQHAw4BKwEiJi8BIyImNRE0PwI%2BARcPAREzFzMTNSE3NQEzMhYVERQGKwEiJjURNDYCijIoPBwBSCg8He4QLBf6B0YfHz0tNxSRYA0xG2SWZIjW%2Bv4%2BMv12ZBUdHRVkFR0dBLBRLJZ9USxkLR3%2BqBghMhkZJCcBkCQbxMYcKGTU1f6JZAF3feGv%2FtQdFf4MFR0dFQH0FR0AAAAAAwAAAAAEsARMACAAMAA8AAABMzIWFxMWHQEUBiMhFh0BFAYrASImLwImNRE0NjsBNgUzMhYVERQGKwEiJjURNDYhByMRHwEzNSchNQMCWPoXLBDuHTwo%2FrgcPCgyGzENYJEUNy09fP3pZBUdHRVkFR0dAl%2BIZJZkMjIBwvoETCEY%2FqgdLWQsUXYHlixRKBzGxBskAZAnJGRkHRX%2BDBUdHRUB9BUdZP6J1dSv4X0BdwADAAAAZAUOBE8AGwA3AEcAAAElNh8BHgEPASEyFhQGKwEDDgEjISImNRE0NjcXERchEz4BOwEyNiYjISoDLgQnJj8BJwUzMhYVERQGKwEiJjURNDYBZAFrHxZuDQEMVAEuVGxuVGqDBhsP%2FqoHphwOOmQBJYMGGw%2FLFRMSFv44AgoCCQMHAwUDAQwRklb9T2QVHR0VZBUdHQNp5hAWcA0mD3lMkE7%2BrRUoog0CDRElCkj%2BCVkBUxUoMjIBAgIDBQIZFrdT5B0V%2FgwVHR0VAfQVHQAAAAP%2FnABkBLAETwAdADYARgAAAQUeBBURFAYjISImJwMjIiY0NjMhJyY2PwE2BxcWBw4FKgIjIRUzMhYXEyE3ESUFMzIWFREUBisBIiY1ETQ2AdsBbgIIFBANrAf%2Bqg8bBoNqVW1sVAEuVQsBDW4WSpIRDAIDBQMHAwkDCgH%2BJd0PHAaCASZq%2FqoCUGQVHR0VZBUdHQRP5gEFEBEXC%2F3zDaIoFQFTTpBMeQ8mDXAWrrcWGQIFAwICAWQoFf6tWQH37OQdFf4MFR0dFQH0FR0AAAADAGEAAARMBQ4AGwA3AEcAAAAyFh0BBR4BFREUBiMhIiYvAQMmPwE%2BAR8BETQXNTQmBhURHAMOBAcGLwEHEyE3ESUuAQMhMhYdARQGIyEiJj0BNDYB3pBOAVMVKKIN%2FfMRJQoJ5hAWcA0mD3nGMjIBAgIDBQIZFrdT7AH3Wf6tFSiWAfQVHR0V%2FgwVHR0FDm5UaoMGGw%2F%2BqgemHA4OAWsfFm4NAQxUAS5U1ssVExIW%2FjgCCgIJAwcDBQMBDBGSVv6tZAElgwYb%2FQsdFWQVHR0VZBUdAAP%2F%2FQAGA%2BgFFAAPAC0ASQAAASEyNj0BNCYjISIGHQEUFgEVFAYiJjURBwYmLwEmNxM%2BBDMhMhYVERQGBwEDFzc2Fx4FHAIVERQWNj0BNDY3JREnAV4B9BUdHRX%2BDBUdHQEPTpBMeQ8mDXAWEOYBBRARFwsCDQ2iKBX9iexTtxYZAgUDAgIBMjIoFQFTWQRMHRVkFR0dFWQVHfzmalRubFQBLlQMAQ1uFh8BawIIEw8Mpgf%2Bqg8bBgHP%2Fq1WkhEMAQMFAwcDCQIKAv44FhITFcsPGwaDASVkAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEBJSYGHQEhIgYdARQWMyEVFBY3JTY0AeLs1ptbW5vW7NabW1ubAob%2B7RAX%2Fu0KDw8KARMXEAETEASaW5vW7NabW1ub1uzWm%2F453w0KFYkPCpYKD4kVCg3fDSYAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgENAQYUFwUWNj0BITI2PQE0JiMhNTQmAeLs1ptbW5vW7NabW1ubASX%2B7RAQARMQFwETCg8PCv7tFwSaW5vW7NabW1ub1uzWm%2BjfDSYN3w0KFYkPCpYKD4kVCgAAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEBAyYiBwMGFjsBERQWOwEyNjURMzI2AeLs1ptbW5vW7NabW1ubAkvfDSYN3w0KFYkPCpYKD4kVCgSaW5vW7NabW1ub1uzWm%2F5AARMQEP7tEBf%2B7QoPDwoBExcAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEFIyIGFREjIgYXExYyNxM2JisBETQmAeLs1ptbW5vW7NabW1ubAZeWCg%2BJFQoN3w0mDd8NChWJDwSaW5vW7NabW1ub1uzWm7sPCv7tFxD%2B7RAQARMQFwETCg8AAAMAGAAYBJgEmAAPAJYApgAAADIeAhQOAiIuAjQ%2BASUOAwcGJgcOAQcGFgcOAQcGFgcUFgcyHgEXHgIXHgI3Fg4BFx4CFxQGFBcWNz4CNy4BJy4BJyIOAgcGJyY2NS4BJzYuAQYHBicmNzY3HgIXHgMfAT4CJyY%2BATc%2BAzcmNzIWMjY3LgMnND4CJiceAT8BNi4CJwYHFB4BFS4CJz4BNxYyPgEB5OjVm1xcm9Xo1ZtcXJsBZA8rHDoKDz0PFD8DAxMBAzEFCRwGIgEMFhkHECIvCxU%2FOR0HFBkDDRQjEwcFaHUeISQDDTAMD0UREi4oLBAzDwQBBikEAQMLGhIXExMLBhAGKBsGBxYVEwYFAgsFAwMNFwQGCQcYFgYQCCARFwkKKiFBCwQCAQMDHzcLDAUdLDgNEiEQEgg%2FKhADGgMKEgoRBJhcm9Xo1ZtcXJvV6NWbEQwRBwkCAwYFBycPCxcHInIWInYcCUcYChQECA4QBAkuHgQPJioRFRscBAcSCgwCch0kPiAIAQcHEAsBAgsLIxcBMQENCQIPHxkCFBkdHB4QBgEBBwoMGBENBAMMJSAQEhYXDQ4qFBkKEhIDCQsXJxQiBgEOCQwHAQ0DBAUcJAwSCwRnETIoAwEJCwsLJQcKDBEAAAAAAQAAAAIErwSFABYAAAE2FwUXNxYGBw4BJwEGIi8BJjQ3ASY2AvSkjv79kfsGUE08hjv9rA8rD28PDwJYIk8EhVxliuh%2BWYcrIgsW%2FawQEG4PKxACV2XJAAYAAABgBLAErAAPABMAIwAnADcAOwAAEyEyFh0BFAYjISImPQE0NgUjFTMFITIWHQEUBiMhIiY9ATQ2BSEVIQUhMhYdARQGIyEiJj0BNDYFIRUhZAPoKTs7KfwYKTs7BBHIyPwYA%2BgpOzsp%2FBgpOzsEEf4MAfT8GAPoKTs7KfwYKTs7BBH%2B1AEsBKw7KWQpOzspZCk7ZGTIOylkKTs7KWQpO2RkyDspZCk7OylkKTtkZAAAAAIAZAAABEwEsAALABEAABMhMhYUBiMhIiY0NgERBxEBIZYDhBUdHRX8fBUdHQI7yP6iA4QEsB0qHR0qHf1E%2FtTIAfQB9AAAAAMAAABkBLAEsAAXABsAJQAAATMyFh0BITIWFREhNSMVIRE0NjMhNTQ2FxUzNQEVFAYjISImPQEB9MgpOwEsKTv%2BDMj%2BDDspASw7KcgB9Dsp%2FBgpOwSwOylkOyn%2BcGRkAZApO2QpO2RkZP1EyCk7OynIAAAABAAAAAAEsASwABUAKwBBAFcAABMhMhYPARcWFA8BBiIvAQcGJjURNDYpATIWFREUBi8BBwYiLwEmND8BJyY2ARcWFA8BFxYGIyEiJjURNDYfATc2MgU3NhYVERQGIyEiJj8BJyY0PwE2MhcyASwVCA5exwcHaggUCMdeDhUdAzUBLBUdFQ5exwgUCGoHB8deDgj%2BL2oHB8deDggV%2FtQVHRUOXscIFALLXg4VHRX%2B1BUIDl7HBwdqCBQIBLAVDl7HCBQIagcHx14OCBUBLBUdHRX%2B1BUIDl7HBwdqCBQIx14OFf0maggUCMdeDhUdFQEsFQgOXscHzl4OCBX%2B1BUdFQ5exwgUCGoHBwAAAAYAAAAABKgEqAAPABsAIwA7AEMASwAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JiQyFhQGIiY0JDIWFAYjIicHFhUUBiImNTQ2PwImNTQEMhYUBiImNCQyFhQGIiY0Advy3Z9fX5%2Fd8t2gXl6gAcbgv29vv%2BC%2Fb2%2F%2BLS0gIC0gAUwtICAWDg83ETNIMykfegEJ%2FoctICAtIAIdLSAgLSAEqF%2Bf3fLdoF5eoN3y3Z9Xb7%2Fgv29vv%2BC%2FBiAtISEtICAtIQqRFxwkMzMkIDEFfgEODhekIC0gIC0gIC0gIC0AAf%2FYAFoEuQS8AFsAACUBNjc2JicmIyIOAwcABw4EFx4BMzI3ATYnLgEjIgcGBwEOASY0NwA3PgEzMhceARcWBgcOBgcGIyImJyY2NwE2NzYzMhceARcWBgcBDgEnLgECIgHVWwgHdl8WGSJBMD8hIP6IDx4eLRMNBQlZN0ozAiQkEAcdEhoYDRr%2Bqw8pHA4BRyIjQS4ODyw9DQ4YIwwod26La1YOOEBGdiIwGkQB%2F0coW2tQSE5nDxE4Qv4eDyoQEAOtAdZbZWKbEQQUGjIhH%2F6JDxsdNSg3HT5CMwIkJCcQFBcMGv6uDwEcKQ4BTSIjIQEINykvYyMLKnhuiWZMBxtAOU6%2BRAH%2FSBg3ISSGV121Qv4kDwIPDyYAAAACAGQAWASvBEQAGQBEAAABPgIeAhUUDgMHLgQ1ND4CHgEFIg4DIi4DIyIGFRQeAhcWFx4EMj4DNzY3PgQ1NCYCiTB7eHVYNkN5hKg%2BPqeFeEM4WnZ4eQEjIT8yLSohJyktPyJDbxtBMjMPBw86KzEhDSIzKUAMBAgrKT8dF2oDtURIBS1TdkA5eYB%2FslVVsn%2BAeTlAdlMtBUgtJjY1JiY1NiZvTRc4SjQxDwcOPCouGBgwKEALBAkpKkQqMhNPbQACADn%2F8gR3BL4AFwAuAAAAMh8BFhUUBg8BJi8BNycBFwcvASY0NwEDNxYfARYUBwEGIi8BJjQ%2FARYfAQcXAQKru0KNQjgiHR8uEl%2F3%2FnvUaRONQkIBGxJpCgmNQkL%2B5UK6Qo1CQjcdLhJf9wGFBL5CjUJeKmsiHTUuEl%2F4%2FnvUahKNQrpCARv%2BRmkICY1CukL%2B5UJCjUK7Qjc3LxFf%2BAGFAAAAAAMAyAAAA%2BgEsAARABUAHQAAADIeAhURFAYjISImNRE0PgEHESERACIGFBYyNjQCBqqaZDo7Kf2oKTs8Zj4CWP7%2FVj09Vj0EsB4uMhX8Ryk7OykDuRUzLar9RAK8%2FRY9Vj09VgABAAAAAASwBLAAFgAACQEWFAYiLwEBEScBBRMBJyEBJyY0NjIDhgEbDx0qDiT%2B6dT%2BzP7oywEz0gEsAQsjDx0qBKH%2B5g8qHQ8j%2FvX%2B1NL%2BzcsBGAE01AEXJA4qHQAAAAADAScAEQQJBOAAMgBAAEsAAAEVHgQXIy4DJxEXHgQVFAYHFSM1JicuASczHgEXEScuBDU0PgI3NRkBDgMVFB4DFxYXET4ENC4CArwmRVI8LAKfBA0dMydAIjxQNyiym2SWVygZA4sFV0obLkJOMCAyVWg6HSoqFQ4TJhkZCWgWKTEiGBkzNwTgTgUTLD9pQiQuLBsH%2Fs0NBxMtPGQ%2Bi6oMTU8QVyhrVk1iEAFPCA4ZLzlYNkZwSCoGTf4SARIEDh02Jh0rGRQIBgPQ%2FsoCCRYgNEM0JRkAAAABAGQAZgOUBK0ASgAAATIeARUjNC4CIyIGBwYVFB4BFxYXMxUjFgYHBgc%2BATM2FjMyNxcOAyMiLgEHDgEPASc%2BBTc%2BAScjNTMmJy4CPgE3NgIxVJlemSc8OxolVBQpGxoYBgPxxQgVFS02ImIWIIwiUzUyHzY4HCAXanQmJ1YYFzcEGAcTDBEJMAwk3aYXFQcKAg4tJGEErVCLTig%2FIhIdFSw5GkowKgkFZDKCHj4yCg8BIh6TExcIASIfBAMaDAuRAxAFDQsRCjePR2QvORQrREFMIVgAAAACABn%2F%2FwSXBLAADwAfAAABMzIWDwEGIi8BJjY7AREzBRcWBisBESMRIyImPwE2MgGQlhUIDuYOKg7mDggVlsgCF%2BYOCBWWyJYVCA7mDioBLBYO%2Bg8P%2Bg4WA4QQ%2BQ4V%2FHwDhBUO%2BQ8AAAQAGf%2F%2FA%2BgEsAAHABcAGwAlAAABIzUjFSMRIQEzMhYPAQYiLwEmNjsBETMFFTM1EwczFSE1NyM1IQPoZGRkASz9qJYVCA7mDioO5g4IFZbIAZFkY8jI%2FtTIyAEsArxkZAH0%2FHwWDvoPD%2FoOFgOEZMjI%2FRL6ZJb6ZAAAAAAEABn%2F%2FwPoBLAADwAZACEAJQAAATMyFg8BBiIvASY2OwERMwUHMxUhNTcjNSERIzUjFSMRIQcVMzUBkJYVCA7mDioO5g4IFZbIAljIyP7UyMgBLGRkZAEsx2QBLBYO%2Bg8P%2Bg4WA4SW%2BmSW%2BmT7UGRkAfRkyMgAAAAEABn%2F%2FwRMBLAADwAVABsAHwAAATMyFg8BBiIvASY2OwERMwEjESM1MxMjNSMRIQcVMzUBkJYVCA7mDioO5g4IFZbIAlhkZMhkZMgBLMdkASwWDvoPD%2FoOFgOE%2FgwBkGT7UGQBkGTIyAAAAAAEABn%2F%2FwRMBLAADwAVABkAHwAAATMyFg8BBiIvASY2OwERMwEjNSMRIQcVMzUDIxEjNTMBkJYVCA7mDioO5g4IFZbIArxkyAEsx2QBZGTIASwWDvoPD%2FoOFgOE%2FgxkAZBkyMj7tAGQZAAAAAAFABn%2F%2FwSwBLAADwATABcAGwAfAAABMzIWDwEGIi8BJjY7AREzBSM1MxMhNSETITUhEyE1IQGQlhUIDuYOKg7mDggVlsgB9MjIZP7UASxk%2FnABkGT%2BDAH0ASwWDvoPD%2FoOFgOEyMj%2BDMj%2BDMj%2BDMgABQAZ%2F%2F8EsASwAA8AEwAXABsAHwAAATMyFg8BBiIvASY2OwERMwUhNSEDITUhAyE1IQMjNTMBkJYVCA7mDioO5g4IFZbIAyD%2BDAH0ZP5wAZBk%2FtQBLGTIyAEsFg76Dw%2F6DhYDhMjI%2FgzI%2FgzI%2FgzIAAIAAAAABEwETAAPAB8AAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmAV4BkKK8u6P%2BcKW5uQJn%2FgwpOzspAfQpOzsETLuj%2FnClubmlAZClucg7Kf4MKTs7KQH0KTsAAAAAAwAAAAAETARMAA8AHwArAAABITIWFREUBiMhIiY1ETQ2BSEiBhURFBYzITI2NRE0JgUXFhQPAQYmNRE0NgFeAZClubml%2FnCju7wCZP4MKTs7KQH0KTs7%2Fm%2F9ERH9EBgYBEy5pf5wpbm5pQGQo7vIOyn%2BDCk7OykB9Ck7gr4MJAy%2BDAsVAZAVCwAAAAADAAAAAARMBEwADwAfACsAAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmBSEyFg8BBiIvASY2AV4BkKO7uaX%2BcKW5uQJn%2FgwpOzspAfQpOzv%2BFQGQFQsMvgwkDL4MCwRMvKL%2BcKW5uaUBkKO7yDsp%2FgwpOzspAfQpO8gYEP0REf0QGAAAAAMAAAAABEwETAAPAB8AKwAAASEyFhURFAYjISImNRE0NgUhIgYVERQWMyEyNjURNCYFFxYGIyEiJj8BNjIBXgGQpbm5pf5wo7u5Amf%2BDCk7OykB9Ck7O%2F77vgwLFf5wFQsMvgwkBEy5pf5wo7u8ogGQpbnIOyn%2BDCk7OykB9Ck7z%2F0QGBgQ%2FREAAAAAAgAAAAAFFARMAB8ANQAAASEyFhURFAYjISImPQE0NjMhMjY1ETQmIyEiJj0BNDYHARYUBwEGJj0BIyImPQE0NjsBNTQ2AiYBkKW5uaX%2BcBUdHRUBwik7Oyn%2BPhUdHb8BRBAQ%2FrwQFvoVHR0V%2BhYETLml%2FnCluR0VZBUdOykB9Ck7HRVkFR3p%2FuQOJg7%2B5A4KFZYdFcgVHZYVCgAAAQDZAAID1wSeACMAAAEXFgcGAgclMhYHIggBBwYrAScmNz4BPwEhIicmNzYANjc2MwMZCQgDA5gCASwYEQ4B%2Fvf%2B8wQMDgkJCQUCUCcn%2FtIXCAoQSwENuwUJEASeCQoRC%2F5TBwEjEv7K%2FsUFDwgLFQnlbm4TFRRWAS%2FTBhAAAAACAAAAAAT%2BBEwAHwA1AAABITIWHQEUBiMhIgYVERQWMyEyFh0BFAYjISImNRE0NgUBFhQHAQYmPQEjIiY9ATQ2OwE1NDYBXgGQFR0dFf4%2BKTs7KQHCFR0dFf5wpbm5AvEBRBAQ%2FrwQFvoVHR0V%2BhYETB0VZBUdOyn%2BDCk7HRVkFR25pQGQpbnp%2FuQOJg7%2B5A4KFZYdFcgVHZYVCgACAAAAAASwBLAAFQAxAAABITIWFREUBi8BAQYiLwEmNDcBJyY2ASMiBhURFBYzITI2PQE3ERQGIyEiJjURNDYzIQLuAZAVHRUObf7IDykPjQ8PAThtDgj%2B75wpOzspAfQpO8i7o%2F5wpbm5pQEsBLAdFf5wFQgObf7IDw%2BNDykPAThtDhX%2B1Dsp%2FgwpOzsplMj%2B1qW5uaUBkKW5AAADAA4ADgSiBKIADwAbACMAAAAyHgIUDgIiLgI0PgEEIg4BFB4BMj4BNCYEMhYUBiImNAHh7tmdXV2d2e7ZnV1dnQHD5sJxccLmwnFx%2FnugcnKgcgSiXZ3Z7tmdXV2d2e7ZnUdxwubCcXHC5sJzcqBycqAAAAMAAAAABEwEsAAVAB8AIwAAATMyFhURMzIWBwEGIicBJjY7ARE0NgEhMhYdASE1NDYFFTM1AcLIFR31FAoO%2FoEOJw3%2BhQ0JFfod%2FoUD6BUd%2B7QdA2dkBLAdFf6iFg%2F%2BVg8PAaoPFgFeFR38fB0V%2BvoVHWQyMgAAAAMAAAAABEwErAAVAB8AIwAACQEWBisBFRQGKwEiJj0BIyImNwE%2BAQEhMhYdASE1NDYFFTM1AkcBeg4KFfQiFsgUGPoUCw4Bfw4n%2FfkD6BUd%2B7QdA2dkBJ7%2BTQ8g%2BhQeHRX6IQ8BrxAC%2FH8dFfr6FR1kMjIAAwAAAAAETARLABQAHgAiAAAJATYyHwEWFAcBBiInASY0PwE2MhcDITIWHQEhNTQ2BRUzNQGMAXEHFQeLBwf98wcVB%2F7cBweLCBUH1APoFR37tB0DZ2QC0wFxBweLCBUH%2FfMICAEjCBQIiwcH%2FdIdFfr6FR1kMjIABAAAAAAETASbAAkAGQAjACcAABM3NjIfAQcnJjQFNzYWFQMOASMFIiY%2FASc3ASEyFh0BITU0NgUVMzWHjg4qDk3UTQ4CFtIOFQIBHRX9qxUIDtCa1P49A%2BgVHfu0HQNnZAP%2Fjg4OTdRMDyqa0g4IFf2pFB4BFQ7Qm9T9Oh0V%2BvoVHWQyMgAAAAQAAAAABEwEsAAPABkAIwAnAAABBR4BFRMUBi8BByc3JyY2EwcGIi8BJjQ%2FAQEhMhYdASE1NDYFFTM1AV4CVxQeARUO0JvUm9IOCMNMDyoOjg4OTf76A%2BgVHfu0HQNnZASwAgEdFf2rFQgO0JrUmtIOFf1QTQ4Ojg4qDk3%2BWB0V%2BvoVHWQyMgACAAT%2F7ASwBK8ABQAIAAAlCQERIQkBFQEEsP4d%2Fsb%2BcQSs%2FTMCq2cBFP5xAacDHPz55gO5AAAAAAIAAABkBEwEsAAVABkAAAERFAYrAREhESMiJjURNDY7AREhETMHIzUzBEwdFZb9RJYVHR0V%2BgH0ZMhkZAPo%2FK4VHQGQ%2FnAdFQPoFB7%2B1AEsyMgAAAMAAABFBN0EsAAWABoALwAAAQcBJyYiDwEhESMiJjURNDY7AREhETMHIzUzARcWFAcBBiIvASY0PwE2Mh8BATYyBEwC%2FtVfCRkJlf7IlhUdHRX6AfRkyGRkAbBqBwf%2BXAgUCMoICGoHFQdPASkHFQPolf7VXwkJk%2F5wHRUD6BQe%2FtQBLMjI%2Fc5qBxUH%2FlsHB8sHFQdqCAhPASkHAAMAAAANBQcEsAAWABoAPgAAAREHJy4BBwEhESMiJjURNDY7AREhETMHIzUzARcWFA8BFxYUDwEGIi8BBwYiLwEmND8BJyY0PwE2Mh8BNzYyBExnhg8lEP72%2FreWFR0dFfoB9GTIZGQB9kYPD4ODDw9GDykPg4MPKQ9GDw%2BDgw8PRg8pD4ODDykD6P7zZ4YPAw7%2B9v5wHRUD6BQe%2FtQBLMjI%2FYxGDykPg4MPKQ9GDw%2BDgw8PRg8pD4ODDykPRg8Pg4MPAAADAAAAFQSXBLAAFQAZAC8AAAERISIGHQEhESMiJjURNDY7AREhETMHIzUzEzMyFh0BMzIWDwEGIi8BJjY7ATU0NgRM%2FqIVHf4MlhUdHRX6AfRkyGRklmQVHZYVCA7mDioO5g4IFZYdA%2Bj%2B1B0Vlv5wHRUD6BQe%2FtQBLMjI%2FagdFfoVDuYODuYOFfoVHQAAAAADAAAAAASXBLAAFQAZAC8AAAERJyYiBwEhESMiJjURNDY7AREhETMHIzUzExcWBisBFRQGKwEiJj0BIyImPwE2MgRMpQ4qDv75%2Fm6WFR0dFfoB9GTIZGTr5g4IFZYdFWQVHZYVCA7mDioD6P5wpQ8P%2Fvf%2BcB0VA%2BgUHv7UASzIyP2F5Q8V%2BhQeHhT6FQ%2FlDwADAAAAyASwBEwACQATABcAABMhMhYdASE1NDYBERQGIyEiJjURExUhNTIETBUd%2B1AdBJMdFfu0FR1kAZAETB0VlpYVHf7U%2FdoVHR0VAib%2B1MjIAAAGAAMAfQStBJcADwAZAB0ALQAxADsAAAEXFhQPAQYmPQEhNSE1NDYBIyImPQE0NjsBFyM1MwE3NhYdASEVIRUUBi8BJjQFIzU7AjIWHQEUBisBA6f4Dg74DhX%2BcAGQFf0vMhUdHRUyyGRk%2FoL3DhUBkP5wFQ73DwOBZGRkMxQdHRQzBI3mDioO5g4IFZbIlhUI%2FoUdFWQVHcjI%2FcvmDggVlsiWFQgO5g4qecgdFWQVHQAAAAACAGQAAASwBLAAFgBRAAABJTYWFREUBisBIiY1ES4ENRE0NiUyFh8BERQOAg8BERQGKwEiJjURLgQ1ETQ%2BAzMyFh8BETMRPAE%2BAjMyFh8BETMRND4DA14BFBklHRXIFR0EDiIaFiX%2B4RYZAgEVHR0LCh0VyBUdBA4iGhYBBwoTDRQZAgNkBQkVDxcZAQFkAQUJFQQxdBIUH%2FuuFR0dFQGNAQgbHzUeAWcfRJEZDA3%2BPhw%2FMSkLC%2F5BFR0dFQG%2FBA8uLkAcAcICBxENCxkMDf6iAV4CBxENCxkMDf6iAV4CBxENCwABAGQAAASwBEwAMwAAARUiDgMVERQWHwEVITUyNjURIREUFjMVITUyPgM1ETQmLwE1IRUiBhURIRE0JiM1BLAEDiIaFjIZGf5wSxn%2BDBlL%2FnAEDiIaFjIZGQGQSxkB9BlLBEw4AQUKFA78iBYZAQI4OA0lAYr%2BdiUNODgBBQoUDgN4FhkBAjg4DSX%2BdgGKJQ04AAAABgAAAAAETARMAAwAHAAgACQAKAA0AAABITIWHQEjBTUnITchBSEyFhURFAYjISImNRE0NhcVITUBBTUlBRUhNQUVFAYjIQchJyE3MwKjAXcVHWn%2B2cj%2BcGQBd%2F4lASwpOzsp%2FtQpOzspASwCvP5wAZD8GAEsArwdFf6JZP6JZAGQyGkD6B0VlmJiyGTIOyn%2BDCk7OykB9Ck7ZMjI%2FveFo4XGyMhm%2BBUdZGTIAAEAEAAQBJ8EnwAmAAATNzYWHwEWBg8BHgEXNz4BHwEeAQ8BBiIuBicuBTcRohEuDosOBhF3ZvyNdxEzE8ATBxGjAw0uMUxPZWZ4O0p3RjITCwED76IRBhPCFDERdo78ZXYRBA6IDi8RogEECBUgNUNjO0qZfHNVQBAAAAACAAAAAASwBEwAIwBBAAAAMh4EHwEVFAYvAS4BPQEmIAcVFAYPAQYmPQE%2BBRIyHgIfARUBHgEdARQGIyEiJj0BNDY3ATU0PgIB%2FLimdWQ%2FLAkJHRTKFB2N%2FsKNHRTKFB0DDTE7ZnTKcFImFgEBAW0OFR0V%2B7QVHRUOAW0CFiYETBUhKCgiCgrIFRgDIgMiFZIYGJIVIgMiAxgVyAQNJyQrIP7kExwcCgoy%2FtEPMhTUFR0dFdQUMg8BLzIEDSEZAAADAAAAAASwBLAADQAdACcAAAEHIScRMxUzNTMVMzUzASEyFhQGKwEXITcjIiY0NgMhMhYdASE1NDYETMj9qMjIyMjIyPyuArwVHR0VDIn8SokMFR0dswRMFR37UB0CvMjIAfTIyMjI%2FOAdKh1kZB0qHf7UHRUyMhUdAAAAAwBkAAAEsARMAAkAEwAdAAABIyIGFREhETQmASMiBhURIRE0JgEhETQ2OwEyFhUCvGQpOwEsOwFnZCk7ASw7%2FRv%2B1DspZCk7BEw7KfwYA%2BgpO%2F7UOyn9RAK8KTv84AGQKTs7KQAAAAAF%2F5wAAASwBEwADwATAB8AJQApAAATITIWFREUBiMhIiY1ETQ2FxEhEQUjFTMRITUzNSMRIQURByMRMwcRMxHIArx8sLB8%2FUR8sLAYA4T%2BDMjI%2FtTIyAEsAZBkyMhkZARMsHz%2BDHywsHwB9HywyP1EArzIZP7UZGQBLGT%2B1GQB9GT%2B1AEsAAAABf%2BcAAAEsARMAA8AEwAfACUAKQAAEyEyFhURFAYjISImNRE0NhcRIREBIzUjFSMRMxUzNTMFEQcjETMHETMRyAK8fLCwfP1EfLCwGAOE%2FgxkZGRkZGQBkGTIyGRkBEywfP4MfLCwfAH0fLDI%2FUQCvP2oyMgB9MjIZP7UZAH0ZP7UASwABP%2BcAAAEsARMAA8AEwAbACMAABMhMhYVERQGIyEiJjURNDYXESERBSMRMxUhESEFIxEzFSERIcgCvHywsHz9RHywsBgDhP4MyMj%2B1AEsAZDIyP7UASwETLB8%2Fgx8sLB8AfR8sMj9RAK8yP7UZAH0ZP7UZAH0AAAABP%2BcAAAEsARMAA8AEwAWABkAABMhMhYVERQGIyEiJjURNDYXESERAS0BDQERyAK8fLCwfP1EfLCwGAOE%2Fgz%2B1AEsAZD%2B1ARMsHz%2BDHywsHwB9HywyP1EArz%2BDJaWlpYBLAAAAAX%2FnAAABLAETAAPABMAFwAgACkAABMhMhYVERQGIyEiJjURNDYXESERAyERIQcjIgYVFBY7AQERMzI2NTQmI8gCvHywsHz9RHywsBgDhGT9RAK8ZIImOTYpgv4Mgik2OSYETLB8%2Fgx8sLB8AfR8sMj9RAK8%2FagB9GRWQUFUASz%2B1FRBQVYAAAAF%2F5wAAASwBEwADwATAB8AJQApAAATITIWFREUBiMhIiY1ETQ2FxEhEQUjFTMRITUzNSMRIQEjESM1MwMjNTPIArx8sLB8%2FUR8sLAYA4T%2BDMjI%2FtTIyAEsAZBkZMjIZGQETLB8%2Fgx8sLB8AfR8sMj9RAK8yGT%2B1GRkASz%2BDAGQZP4MZAAG%2F5wAAASwBEwADwATABkAHwAjACcAABMhMhYVERQGIyEiJjURNDYXESERBTMRIREzASMRIzUzBRUzNQEjNTPIArx8sLB8%2FUR8sLAYA4T9RMj%2B1GQCWGRkyP2oZAEsZGQETLB8%2Fgx8sLB8AfR8sMj9RAK8yP5wAfT%2BDAGQZMjIyP7UZAAF%2F5wAAASwBEwADwATABwAIgAmAAATITIWFREUBiMhIiY1ETQ2FxEhEQEHIzU3NSM1IQEjESM1MwMjNTPIArx8sLB8%2FUR8sLAYA4T%2BDMdkx8gBLAGQZGTIx2RkBEywfP4MfLCwfAH0fLDI%2FUQCvP5wyDLIlmT%2BDAGQZP4MZAAAAAMACQAJBKcEpwAPABsAJQAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgchFSEVISc1NyEB4PDbnl5entvw255eXp4BxeTCcXHC5MJxcWz%2B1AEs%2FtRkZAEsBKdentvw255eXp7b8NueTHHC5MJxccLkwtDIZGTIZAAAAAAEAAkACQSnBKcADwAbACcAKwAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgcVBxcVIycjFSMRIQcVMzUB4PDbnl5entvw255eXp4BxeTCcXHC5MJxcWwyZGRklmQBLMjIBKdentvw255eXp7b8NueTHHC5MJxccLkwtBkMmQyZGQBkGRkZAAAAv%2Fy%2F50EwgRBACAANgAAATIWFzYzMhYUBisBNTQmIyEiBh0BIyImNTQ2NyY1ND4BEzMyFhURMzIWDwEGIi8BJjY7ARE0NgH3brUsLC54qqp4gB0V%2FtQVHd5QcFZBAmKqepYKD4kVCg3fDSYN3w0KFYkPBEF3YQ6t8a36FR0dFfpzT0VrDhMSZKpi%2FbMPCv7tFxD0EBD0EBcBEwoPAAAAAAL%2F8v%2BcBMMEQQAcADMAAAEyFhc2MzIWFxQGBwEmIgcBIyImNTQ2NyY1ND4BExcWBisBERQGKwEiJjURIyImNzY3NjIB9m62LCsueaoBeFr%2Bhg0lDf6DCU9xVkECYqnm3w0KFYkPCpYKD4kVCg3HGBMZBEF3YQ%2BteGOkHAFoEBD%2Bk3NPRWsOExNkqWP9kuQQF%2F7tCg8PCgETFxDMGBMAAAABAGQAAARMBG0AGAAAJTUhATMBMwkBMwEzASEVIyIGHQEhNTQmIwK8AZD%2B8qr%2B8qr%2B1P7Uqv7yqv7yAZAyFR0BkB0VZGQBLAEsAU3%2Bs%2F7U%2FtRkHRUyMhUdAAAAAAEAeQAABDcEmwAvAAABMhYXHgEVFAYHFhUUBiMiJxUyFh0BITU0NjM1BiMiJjU0Ny4BNTQ2MzIXNCY1NDYCWF6TGll7OzIJaUo3LRUd%2FtQdFS03SmkELzlpSgUSAqMEm3FZBoNaPWcfHRpKaR77HRUyMhUd%2Bx5pShIUFVg1SmkCAhAFdKMAAAAGACcAFASJBJwAEQAqAEIASgBiAHsAAAEWEgIHDgEiJicmAhI3PgEyFgUiBw4BBwYWHwEWMzI3Njc2Nz4BLwEmJyYXIgcOAQcGFh8BFjMyNz4BNz4BLwEmJyYWJiIGFBYyNjciBw4BBw4BHwEWFxYzMjc%2BATc2Ji8BJhciBwYHBgcOAR8BFhcWMzI3PgE3NiYvASYD8m9PT29T2dzZU29PT29T2dzZ%2Fj0EBHmxIgQNDCQDBBcGG0dGYAsNAwkDCwccBAVQdRgEDA0iBAQWBhJROQwMAwkDCwf5Y4xjY4xjVhYGElE6CwwDCQMLBwgEBVB1GAQNDCIEjRcGG0dGYAsNAwkDCwcIBAR5sSIEDQwkAwPyb%2F7V%2FtVvU1dXU28BKwErb1NXVxwBIrF5DBYDCQEWYEZHGwMVDCMNBgSRAhh1UA0WAwkBFTpREgMVCyMMBwT6Y2OMY2MVFTpREQQVCyMMBwQCGHVQDRYDCQEkFmBGRxsDFQwjDQYEASKxeQwWAwkBAAAABQBkAAAD6ASwAAwADwAWABwAIgAAASERIzUhFSERNDYzIQEjNQMzByczNTMDISImNREFFRQGKwECvAEstP6s%2FoQPCgI%2FASzIZKLU1KJktP51Cg8DhA8KwwMg%2FoTIyALzCg%2F%2B1Mj84NTUyP4MDwoBi8jDCg8AAAAABQBkAAAD6ASwAAkADAATABoAIQAAASERCQERNDYzIQEjNRMjFSM1IzcDISImPQEpARUUBisBNQK8ASz%2Bov3aDwoCPwEsyD6iZKLUqv6dCg8BfAIIDwqbAyD9%2BAFe%2FdoERwoP%2FtTI%2FHzIyNT%2BZA8KNzcKD1AAAAAAAwAAAAAEsAP0AAgAGQAfAAABIxUzFyERIzcFMzIeAhUhFSEDETM0PgIBMwMhASEEiqJkZP7UotT9EsgbGiEOASz9qMhkDiEaAnPw8PzgASwB9AMgyGQBLNTUBBErJGT%2BogHCJCsRBP5w%2FnAB9AAAAAMAAAAABEwETAAZADIAOQAAATMyFh0BMzIWHQEUBiMhIiY9ATQ2OwE1NDYFNTIWFREUBiMhIic3ARE0NjMVFBYzITI2AQc1IzUzNQKKZBUdMhUdHRX%2B1BUdHRUyHQFzKTs7Kf2oARP2%2Fro7KVg%2BASw%2BWP201MjIBEwdFTIdFWQVHR0VZBUdMhUd%2BpY7KfzgKTsE9gFGAUQpO5Y%2BWFj95tSiZKIAAwBkAAAEvARMABkANgA9AAABMzIWHQEzMhYdARQGIyEiJj0BNDY7ATU0NgU1MhYVESMRMxQOAiMhIiY1ETQ2MxUUFjMhMjYBBzUjNTM1AcJkFR0yFR0dFf7UFR0dFTIdAXMpO8jIDiEaG%2F2oKTs7KVg%2BASw%2BWAGc1MjIBEwdFTIdFWQVHR0VZBUdMhUd%2BpY7Kf4M%2FtQkKxEEOykDICk7lj5YWP3m1KJkogAAAAP%2FogAABRYE1AALABsAHwAACQEWBiMhIiY3ATYyEyMiBhcTHgE7ATI2NxM2JgMVMzUCkgJ9FyAs%2BwQsIBcCfRZARNAUGAQ6BCMUNhQjBDoEGODIBK37sCY3NyYEUCf%2BTB0U%2FtIUHR0UAS4UHf4MZGQAAAAACQAAAAAETARMAA8AHwAvAD8ATwBfAG8AfwCPAAABMzIWHQEUBisBIiY9ATQ2EzMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2ITMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2ITMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBqfoKDw8K%2BgoPDwr6Cg8PCvoKDw8BmvoKDw8K%2BgoPD%2Fzq%2BgoPDwr6Cg8PAZr6Cg8PCvoKDw8BmvoKDw8K%2BgoPD%2Fzq%2BgoPDwr6Cg8PAZr6Cg8PCvoKDw8BmvoKDw8K%2BgoPDwRMDwqWCg8PCpYKD%2F7UDwqWCg8PCpYKDw8KlgoPDwqWCg%2F%2B1A8KlgoPDwqWCg8PCpYKDw8KlgoPDwqWCg8PCpYKD%2F7UDwqWCg8PCpYKDw8KlgoPDwqWCg8PCpYKDw8KlgoPAAAAAwAAAAAEsAUUABkAKQAzAAABMxUjFSEyFg8BBgchJi8BJjYzITUjNTM1MwEhMhYUBisBFyE3IyImNDYDITIWHQEhNTQ2ArxkZAFePjEcQiko%2FPwoKUIcMT4BXmRkyP4%2BArwVHR0VDIn8SooNFR0dswRMFR37UB0EsMhkTzeEUzMzU4Q3T2TIZPx8HSodZGQdKh3%2B1B0VMjIVHQAABAAAAAAEsAUUAAUAGQArADUAAAAyFhUjNAchFhUUByEyFg8BIScmNjMhJjU0AyEyFhQGKwEVBSElNSMiJjQ2AyEyFh0BITU0NgIwUDnCPAE6EgMBSCkHIq%2F9WrIiCikBSAOvArwVHR0VlgET%2FEoBE5YVHR2zBEwVHftQHQUUOykpjSUmCBEhFpGRFiERCCb%2BlR0qHcjIyMgdKh39qB0VMjIVHQAEAAAAAASwBJ0ABwAUACQALgAAADIWFAYiJjQTMzIWFRQXITY1NDYzASEyFhQGKwEXITcjIiY0NgMhMhYdASE1NDYCDZZqapZqty4iKyf%2BvCcrI%2F7NArwVHR0VDYr8SokMFR0dswRMFR37UB0EnWqWamqW%2Fus5Okxra0w6Of5yHSodZGQdKh3%2B1B0VMjIVHQAEAAAAAASwBRQADwAcACwANgAAATIeARUUBiImNTQ3FzcnNhMzMhYVFBchNjU0NjMBITIWFAYrARchNyMiJjQ2AyEyFh0BITU0NgJYL1szb5xvIpBvoyIfLiIrJ%2F68Jysj%2Fs0CvBUdHRUNivxKiQwVHR2zBEwVHftQHQUUa4s2Tm9vTj5Rj2%2BjGv4KOTpMa2tMOjn%2Bch0qHWRkHSod%2FtQdFTIyFR0AAAADAAAAAASwBRIAEgAiACwAAAEFFSEUHgMXIS4BNTQ%2BAjcBITIWFAYrARchNyMiJjQ2AyEyFh0BITU0NgJYASz%2B1CU%2FP00T%2Fe48PUJtj0r%2BogK8FR0dFQ2K%2FEqJDBUdHbMETBUd%2B1AdBLChizlmUT9IGVO9VFShdksE%2FH4dKh1kZB0qHf7UHRUyMhUdAAIAyAAAA%2BgFFAAPACkAAAAyFh0BHgEdASE1NDY3NTQDITIWFyMVMxUjFTMVIxUzFAYjISImNRE0NgIvUjsuNv5wNi5kAZA2XBqsyMjIyMh1U%2F5wU3V1BRQ7KU4aXDYyMjZcGk4p%2Fkc2LmRkZGRkU3V1UwGQU3UAAAMAZP%2F%2FBEwETAAPAC8AMwAAEyEyFhURFAYjISImNRE0NgMhMhYdARQGIyEXFhQGIi8BIQcGIiY0PwEhIiY9ATQ2BQchJ5YDhBUdHRX8fBUdHQQDtgoPDwr%2B5eANGiUNWP30Vw0mGg3g%2Ft8KDw8BqmQBRGQETB0V%2FgwVHR0VAfQVHf1EDwoyCg%2FgDSUbDVhYDRslDeAPCjIKD2RkZAAAAAAEAAAAAASwBEwAGQAjAC0ANwAAEyEyFh0BIzQmKwEiBhUjNCYrASIGFSM1NDYDITIWFREhETQ2ExUUBisBIiY9ASEVFAYrASImPQHIAyBTdWQ7KfopO2Q7KfopO2R1EQPoKTv7UDvxHRVkFR0D6B0VZBUdBEx1U8gpOzspKTs7KchTdf4MOyn%2B1AEsKTv%2BDDIVHR0VMjIVHR0VMgADAAEAAASpBKwADQARABsAAAkBFhQPASEBJjQ3ATYyCQMDITIWHQEhNTQ2AeACqh8fg%2F4f%2FfsgIAEnH1n%2BrAFWAS%2F%2Bq6IDIBUd%2FHwdBI39VR9ZH4MCBh9ZHwEoH%2F5u%2FqoBMAFV%2FBsdFTIyFR0AAAAAAgCPAAAEIQSwABcALwAAAQMuASMhIgYHAwYWMyEVFBYyNj0BMzI2AyE1NDY7ATU0NjsBETMRMzIWHQEzMhYVBCG9CCcV%2FnAVJwi9CBMVAnEdKh19FROo%2Fa0dFTIdFTDILxUdMhUdAocB%2BhMcHBP%2BBhMclhUdHRWWHP2MMhUdMhUdASz%2B1B0VMh0VAAAEAAAAAASwBLAADQAQAB8AIgAAASERFAYjIREBNTQ2MyEBIzUBIREUBiMhIiY1ETQ2MyEBIzUDhAEsDwr%2Bif7UDwoBdwEsyP2oASwPCv12Cg8PCgF3ASzIAyD9wQoPAk8BLFQKD%2F7UyP4M%2FcEKDw8KA7YKD%2F7UyAAC%2F5wAZAUUBEcARgBWAAABMzIeAhcWFxY2NzYnJjc%2BARYXFgcOASsBDgEPAQ4BKwEiJj8BBisBIicHDgErASImPwEmLwEuAT0BNDY7ATY3JyY2OwE2BSMiBh0BFBY7ATI2PQE0JgHkw0uOakkMEhEfQwoKGRMKBQ8XDCkCA1Y9Pgc4HCcDIhVkFRgDDDEqwxgpCwMiFWQVGAMaVCyfExwdFXwLLW8QBxXLdAFF%2BgoPDwr6Cg8PBEdBa4pJDgYKISAiJRsQCAYIDCw9P1c3fCbqFB0dFEYOCEAUHR0UnUplNQcmFTIVHVdPXw4TZV8PCjIKDw8KMgoPAAb%2FnP%2FmBRQEfgAJACQANAA8AFIAYgAAASU2Fh8BFgYPASUzMhYfASEyFh0BFAYHBQYmJyYjISImPQE0NhcjIgYdARQ7ATI2NTQmJyYEIgYUFjI2NAE3PgEeARceAT8BFxYGDwEGJi8BJjYlBwYfAR4BPwE2Jy4BJy4BAoEBpxMuDiAOAxCL%2FCtqQ0geZgM3FR0cE%2F0fFyIJKjr%2B1D5YWLlQExIqhhALIAsSAYBALS1ALf4PmBIgHhMQHC0aPzANITNQL3wpgigJASlmHyElDR0RPRMFAhQHCxADhPcICxAmDyoNeMgiNtQdFTIVJgeEBBQPQ1g%2ByD5YrBwVODMQEAtEERzJLUAtLUD%2B24ITChESEyMgAwWzPUkrRSgJL5cvfRxYGyYrDwkLNRAhFEgJDAQAAAAAAwBkAAAEOQSwAFEAYABvAAABMzIWHQEeARcWDgIPATIeBRUUDgUjFRQGKwEiJj0BIxUUBisBIiY9ASMiJj0BNDY7AREjIiY9ATQ2OwE1NDY7ATIWHQEzNTQ2AxUhMj4CNTc0LgMjARUhMj4CNTc0LgMjAnGWCg9PaAEBIC4uEBEGEjQwOiodFyI2LUAjGg8KlgoPZA8KlgoPrwoPDwpLSwoPDwqvDwqWCg9kD9cBBxwpEwsBAQsTKRz%2B%2BQFrHCkTCwEBCxMpHASwDwptIW1KLk0tHwYGAw8UKDJOLTtdPCoVCwJLCg8PCktLCg8PCksPCpYKDwJYDwqWCg9LCg8PCktLCg%2F%2B1MgVHR0LCgQOIhoW%2FnDIFR0dCwoEDiIaFgAAAwAEAAIEsASuABcAKQAsAAATITIWFREUBg8BDgEjISImJy4CNRE0NgQiDgQPARchNy4FAyMT1AMMVnokEhIdgVL9xFKCHAgYKHoCIIx9VkcrHQYGnAIwnAIIIClJVSGdwwSuelb%2BYDO3QkJXd3ZYHFrFMwGgVnqZFyYtLSUMDPPzBQ8sKDEj%2FsIBBQACAMgAAAOEBRQADwAZAAABMzIWFREUBiMhIiY1ETQ2ARUUBisBIiY9AQHblmesVCn%2BPilUrAFINhWWFTYFFKxn%2FgwpVFQpAfRnrPwY4RU2NhXhAAACAMgAAAOEBRQADwAZAAABMxQWMxEUBiMhIiY1ETQ2ARUUBisBIiY9AQHbYLOWVCn%2BPilUrAFINhWWFTYFFJaz%2FkIpVFQpAfRnrPwY4RU2NhXhAAACAAAAFAUOBBoAFAAaAAAJASUHFRcVJwc1NzU0Jj4CPwEnCQEFJTUFJQUO%2FYL%2Bhk5klpZkAQEBBQQvkwKCAVz%2Bov6iAV4BXgL%2F%2FuWqPOCWx5SVyJb6BA0GCgYDKEEBG%2F1ipqaTpaUAAAMAZAH0BLADIAAHAA8AFwAAEjIWFAYiJjQkMhYUBiImNCQyFhQGIiY0vHxYWHxYAeh8WFh8WAHofFhYfFgDIFh8WFh8WFh8WFh8WFh8WFh8AAAAAAMBkAAAArwETAAHAA8AFwAAADIWFAYiJjQSMhYUBiImNBIyFhQGIiY0Aeh8WFh8WFh8WFh8WFh8WFh8WARMWHxYWHz%2ByFh8WFh8%2FshYfFhYfAAAAAMAZABkBEwETAAPAB8ALwAAEyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2fQO2Cg8PCvxKCg8PCgO2Cg8PCvxKCg8PCgO2Cg8PCvxKCg8PBEwPCpYKDw8KlgoP%2FnAPCpYKDw8KlgoP%2FnAPCpYKDw8KlgoPAAAABAAAAAAEsASwAA8AHwAvADMAAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmBSEyFhURFAYjISImNRE0NhcVITUBXgH0ory7o%2F4Mpbm5Asv9qCk7OykCWCk7O%2F2xAfQVHR0V%2FgwVHR1HAZAEsLuj%2FgylubmlAfSlucg7Kf2oKTs7KQJYKTtkHRX%2B1BUdHRUBLBUdZMjIAAAAAAEAZABkBLAETAA7AAATITIWFAYrARUzMhYUBisBFTMyFhQGKwEVMzIWFAYjISImNDY7ATUjIiY0NjsBNSMiJjQ2OwE1IyImNDaWA%2BgVHR0VMjIVHR0VMjIVHR0VMjIVHR0V%2FBgVHR0VMjIVHR0VMjIVHR0VMjIVHR0ETB0qHcgdKh3IHSodyB0qHR0qHcgdKh3IHSodyB0qHQAAAAYBLAAFA%2BgEowAHAA0AEwAZAB8AKgAAAR4BBgcuATYBMhYVIiYlFAYjNDYBMhYVIiYlFAYjNDYDFRQGIiY9ARYzMgKKVz8%2FV1c%2FP%2F75fLB8sAK8sHyw%2FcB8sHywArywfLCwHSodKAMRBKNDsrJCQrKy%2FsCwfLB8fLB8sP7UsHywfHywfLD%2B05AVHR0VjgQAAAH%2FtQDIBJQDgQBCAAABNzYXAR4BBw4BKwEyFRQOBCsBIhE0NyYiBxYVECsBIi4DNTQzIyImJyY2NwE2HwEeAQ4BLwEHIScHBi4BNgLpRRkUASoLCAYFGg8IAQQNGyc%2FKZK4ChRUFQu4jjBJJxkHAgcPGQYGCAsBKhQaTBQVCiMUM7YDe7YsFCMKFgNuEwYS%2FtkLHw8OEw0dNkY4MhwBIBgXBAQYF%2F7gKjxTQyMNEw4PHwoBKBIHEwUjKBYGDMHBDAUWKCMAAAAAAgAAAAAEsASwACUAQwAAASM0LgUrAREUFh8BFSE1Mj4DNREjIg4FFSMRIQEjNC4DKwERFBYXMxUjNTI1ESMiDgMVIzUhBLAyCAsZEyYYGcgyGRn%2BcAQOIhoWyBkYJhMZCwgyA%2Bj9RBkIChgQEWQZDQzIMmQREBgKCBkB9AOEFSAVDggDAfyuFhkBAmRkAQUJFQ4DUgEDCA4VIBUBLP0SDxMKBQH%2BVwsNATIyGQGpAQUKEw%2BWAAAAAAMAAAAABEwErgAdACAAMAAAATUiJy4BLwEBIwEGBw4BDwEVITUiJj8BIRcWBiMVARsBARUUBiMhIiY9ATQ2MyEyFgPoGR4OFgUE%2Ft9F%2FtQSFQkfCwsBETE7EkUBJT0NISf%2B7IZ5AbEdFfwYFR0dFQPoFR0BLDIgDiIKCwLr%2FQ4jFQkTBQUyMisusKYiQTIBhwFW%2Fqr942QVHR0VZBUdHQADAAAAAASwBLAADwBHAEoAABMhMhYVERQGIyEiJjURNDYFIyIHAQYHBgcGHQEUFjMhMjY9ATQmIyInJj8BIRcWBwYjIgYdARQWMyEyNj0BNCYnIicmJyMBJhMjEzIETBUdHRX7tBUdHQJGRg0F%2FtUREhImDAsJAREIDAwINxAKCj8BCjkLEQwYCAwMCAE5CAwLCBEZGQ8B%2FuAFDsVnBLAdFfu0FR0dFQRMFR1SDP0PIBMSEAUNMggMDAgyCAwXDhmjmR8YEQwIMggMDAgyBwwBGRskAuwM%2FgUBCAAABAAAAAAEsASwAAMAEwAjACcAAAEhNSEFITIWFREUBiMhIiY1ETQ2KQEyFhURFAYjISImNRE0NhcRIREEsPtQBLD7ggGQFR0dFf5wFR0dAm0BkBUdHRX%2BcBUdHUcBLARMZMgdFfx8FR0dFQOEFR0dFf5wFR0dFQGQFR1k%2FtQBLAAEAAAAAASwBLAADwAfACMAJwAAEyEyFhURFAYjISImNRE0NgEhMhYVERQGIyEiJjURNDYXESEREyE1ITIBkBUdHRX%2BcBUdHQJtAZAVHR0V%2FnAVHR1HASzI%2B1AEsASwHRX8fBUdHRUDhBUd%2FgwdFf5wFR0dFQGQFR1k%2FtQBLP2oZAAAAAACAAAAZASwA%2BgAJwArAAATITIWFREzNTQ2MyEyFh0BMxUjFRQGIyEiJj0BIxEUBiMhIiY1ETQ2AREhETIBkBUdZB0VAZAVHWRkHRX%2BcBUdZB0V%2FnAVHR0CnwEsA%2BgdFf6ilhUdHRWWZJYVHR0Vlv6iFR0dFQMgFR3%2B1P7UASwAAAQAAAAABLAEsAADABMAFwAnAAAzIxEzFyEyFhURFAYjISImNRE0NhcRIREBITIWFREUBiMhIiY1ETQ2ZGRklgGQFR0dFf5wFR0dRwEs%2FqIDhBUdHRX8fBUdHQSwZB0V%2FnAVHR0VAZAVHWT%2B1AEs%2FgwdFf5wFR0dFQGQFR0AAAAAAgBkAAAETASwACcAKwAAATMyFhURFAYrARUhMhYVERQGIyEiJjURNDYzITUjIiY1ETQ2OwE1MwcRIRECWJYVHR0VlgHCFR0dFfx8FR0dFQFelhUdHRWWZMgBLARMHRX%2BcBUdZB0V%2FnAVHR0VAZAVHWQdFQGQFR1kyP7UASwAAAAEAAAAAASwBLAAAwATABcAJwAAISMRMwUhMhYVERQGIyEiJjURNDYXESERASEyFhURFAYjISImNRE0NgSwZGT9dgGQFR0dFf5wFR0dRwEs%2FK4DhBUdHRX8fBUdHQSwZB0V%2FnAVHR0VAZAVHWT%2B1AEs%2FgwdFf5wFR0dFQGQFR0AAAEBLAAwA28EgAAPAAAJAQYjIiY1ETQ2MzIXARYUA2H%2BEhcSDhAQDhIXAe4OAjX%2BEhcbGQPoGRsX%2FhIOKgAAAAABAUEAMgOEBH4ACwAACQE2FhURFAYnASY0AU8B7h0qKh3%2BEg4CewHuHREp%2FBgpER0B7g4qAAAAAAEAMgFBBH4DhAALAAATITIWBwEGIicBJjZkA%2BgpER3%2BEg4qDv4SHREDhCod%2FhIODgHuHSoAAAAAAQAyASwEfgNvAAsAAAkBFgYjISImNwE2MgJ7Ae4dESn8GCkRHQHuDioDYf4SHSoqHQHuDgAAAAACAAgAAASwBCgABgAKAAABFQE1LQE1ASE1IQK8%2FUwBnf5jBKj84AMgAuW2%2Fr3dwcHd%2B9jIAAAAAAIAAABkBLAEsAALADEAAAEjFTMVIREzNSM1IQEzND4FOwERFAYPARUhNSIuAzURMzIeBRUzESEEsMjI%2FtTIyAEs%2B1AyCAsZEyYYGWQyGRkBkAQOIhoWZBkYJhMZCwgy%2FOADhGRkASxkZP4MFSAVDggDAf3aFhkBAmRkAQUJFQ4CJgEDCA4VIBUBLAAAAgAAAAAETAPoACUAMQAAASM0LgUrAREUFh8BFSE1Mj4DNREjIg4FFSMRIQEjFTMVIREzNSM1IQMgMggLGRMmGBlkMhkZ%2FnAEDiIaFmQZGCYTGQsIMgMgASzIyP7UyMgBLAK8FSAVDggDAf3aFhkCAWRkAQUJFQ4CJgEDCA4VIBUBLPzgZGQBLGRkAAABAMgAZgNyBEoAEgAAATMyFgcJARYGKwEiJwEmNDcBNgK9oBAKDP4wAdAMChCgDQr%2BKQcHAdcKBEoWDP4w%2FjAMFgkB1wgUCAHXCQAAAQE%2BAGYD6ARKABIAAAEzMhcBFhQHAQYrASImNwkBJjYBU6ANCgHXBwf%2BKQoNoBAKDAHQ%2FjAMCgRKCf4pCBQI%2FikJFgwB0AHQDBYAAAEAZgDIBEoDcgASAAAAFh0BFAcBBiInASY9ATQ2FwkBBDQWCf4pCBQI%2FikJFgwB0AHQA3cKEKANCv4pBwcB1woNoBAKDP4wAdAAAAABAGYBPgRKA%2BgAEgAACQEWHQEUBicJAQYmPQE0NwE2MgJqAdcJFgz%2BMP4wDBYJAdcIFAPh%2FikKDaAQCgwB0P4wDAoQoA0KAdcHAAAAAgDZ%2F%2FkEPQSwAAUAOgAAARQGIzQ2BTMyFh8BNjc%2BAh4EBgcOBgcGIiYjIgYiJy4DLwEuAT4EHgEXJyY2A%2BiwfLD%2BVmQVJgdPBQsiKFAzRyorDwURAQQSFyozTSwNOkkLDkc3EDlfNyYHBw8GDyUqPjdGMR%2BTDA0EsHywfLDIHBPCAQIGBwcFDx81S21DBxlLR1xKQhEFBQcHGWt0bCQjP2hJNyATBwMGBcASGAAAAAACAMgAFQOEBLAAFgAaAAATITIWFREUBisBEQcGJjURIyImNRE0NhcVITX6AlgVHR0Vlv8TGpYVHR2rASwEsB0V%2FnAVHf4MsgkQFQKKHRUBkBUdZGRkAAAAAgDIABkETASwAA4AEgAAEyEyFhURBRElIREjETQ2ARU3NfoC7ic9%2FUQCWP1EZB8BDWQEsFEs%2FFt1A7Z9%2FBgEARc0%2FV1kFGQAAQAAAAECTW%2FDBF9fDzz1AB8EsAAAAADQdnOXAAAAANB2c5f%2FUf%2BcBdwFFAAAAAgAAgAAAAAAAAABAAAFFP%2BFAAAFFP9R%2FtQF3AABAAAAAAAAAAAAAAAAAAAAowG4ACgAAAAAAZAAAASwAAAEsABkBLAAAASwAAAEsABwAooAAAUUAAACigAABRQAAAGxAAABRQAAANgAAADYAAAAogAAAQQAAABIAAABBAAAAUUAAASwAGQEsAB7BLAAyASwAMgB9AAABLD%2F8gSwAAAEsAAABLD%2F8ASwAAAEsAAOBLAACQSwAGQEsP%2FTBLD%2F0wSwAAAEsAAABLAAAASwAAAEsAAABLAAJgSwAG4EsAAXBLAAFwSwABcEsABkBLAAGgSwAGQEsAAMBLAAZASwABcEsP%2BcBLAAZASwABcEsAAXBLAAAASwABcEsAAXBLAAFwSwAGQEsAAABLAAZASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAZASwAMgEsAAABLAAAASwADUEsABkBLAAyASw%2F7UEsAAhBLAAAASwAAAEsAAABLAAAASwAAAEsP%2BcBLAAAASwAAAEsAAABLAA2wSwABcEsAB1BLAAAASwAAAEsAAABLAACgSwAMgEsAAABLAAnQSwAMgEsADIBLAAyASwAAAEsP%2F%2BBLABLASwAGQEsACIBLABOwSwABcEsAAXBLAAFwSwABcEsAAXBLAAFwSwAAAEsAAXBLAAFwSwABcEsAAXBLAAAASwALcEsAC3BLAAAASwAAAEsABJBLAAFwSwAAAEsAAABLAAXQSw%2F9wEsP%2FcBLD%2FnwSwAGQEsAAABLAAAASwAAAEsABkBLD%2F%2FwSwAAAEsP9RBLAABgSwAAAEsAAABLABRQSwAAEEsAAABLD%2FnASwAEoEsAAUBLAAAASwAAAEsAAABLD%2FnASwAGEEsP%2F9BLAAFgSwABYEsAAWBLAAFgSwABgEsAAABMQAAASwAGQAAAAAAAD%2F2ABkADkAyAAAAScAZAAZABkAGQAZABkAGQAZAAAAAAAAAAAAAADZAAAAAAAOAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAMAZABkAAAAEAAAAAAAZP%2Bc%2F5z%2FnP%2Bc%2F5z%2FnP%2Bc%2F5wACQAJ%2F%2FL%2F8gBkAHkAJwBkAGQAAAAAAGT%2FogAAAAAAAAAAAAAAAADIAGQAAAABAI8AAP%2Bc%2F5wAZAAEAMgAyAAAAGQBkABkAAAAZAEs%2F7UAAAAAAAAAAAAAAAAAAABkAAABLAFBADIAMgAIAAAAAADIAT4AZgBmANkAyADIAAAAKgAqACoAKgCyAOgA6AFOAU4BTgFOAU4BTgFOAU4BTgFOAU4BTgFOAU4BpAIGAiICfgKGAqwC5ANGA24DjAPEBAgEMgRiBKIE3AVcBboGcgb0ByAHYgfKCB4IYgi%2BCTYJhAm2Cd4KKApMCpQK4gswC4oLygwIDFgNKg1eDbAODg5oDrQPKA%2BmD%2BYQEhBUEJAQqhEqEXYRthIKEjgSfBLAExoTdBPQFCoU1BU8FagVzBYEFjYWYBawFv4XUhemGAIYLhhqGJYYsBjgGP4ZKBloGZQZxBnaGe4aNhpoGrga9hteG7QcMhyUHOIdHB1EHWwdlB28HeYeLh52HsAfYh%2FSIEYgviEyIXYhuCJAIpYiuCMOIyIjOCN6I8Ij4CQCJDAkXiSWJOIlNCVgJbwmFCZ%2BJuYnUCe8J%2FgoNChwKKwpoCnMKiYqSiqEKworeiwILGgsuizsLRwtiC30LiguZi6iLtgvDi9GL34vsi%2F4MD4whDDSMRIxYDGuMegyJDJeMpoy3jMiMz4zaDO2NBg0YDSoNNI1LDWeNeg2PjZ8Ntw3GjdON5I31DgQOEI4hjjIOQo5SjmIOcw6HDpsOpo63jugO9w8GDxQPKI8%2BD0yPew%2BOj6MPtQ%2FKD9uP6o%2F%2BkBIQIBAxkECQX5CGEKoQu5DGENCQ3ZDoEPKRBBEYESuRPZFWkW2RgZGdEa0RvZHNkd2R7ZH9kgWSDJITkhqSIZIzEkSSThJXkmESapKAkouSlIAAQAAARcApwARAAAAAAACAAAAAQABAAAAQAAuAAAAAAAAABAAxgABAAAAAAATABIAAAADAAEECQAAAGoAEgADAAEECQABACgAfAADAAEECQACAA4ApAADAAEECQADAEwAsgADAAEECQAEADgA%2FgADAAEECQAFAHgBNgADAAEECQAGADYBrgADAAEECQAIABYB5AADAAEECQAJABYB%2BgADAAEECQALACQCEAADAAEECQAMACQCNAADAAEECQATACQCWAADAAEECQDIABYCfAADAAEECQDJADACkgADAAEECdkDABoCwnd3dy5nbHlwaGljb25zLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgAKkAIAAyADAAMQA0ACAAYgB5ACAASgBhAG4AIABLAG8AdgBhAHIAaQBrAC4AIABBAGwAbAAgAHIAaQBnAGgAdABzACAAcgBlAHMAZQByAHYAZQBkAC4ARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAFIAZQBnAHUAbABhAHIAMQAuADAAMAA5ADsAVQBLAFcATgA7AEcATABZAFAASABJAEMATwBOAFMASABhAGwAZgBsAGkAbgBnAHMALQBSAGUAZwB1AGwAYQByAEcATABZAFAASABJAEMATwBOAFMAIABIAGEAbABmAGwAaQBuAGcAcwAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAOQA7AFAAUwAgADAAMAAxAC4AMAAwADkAOwBoAG8AdABjAG8AbgB2ACAAMQAuADAALgA3ADAAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA1ADgAMwAyADkARwBMAFkAUABIAEkAQwBPAE4AUwBIAGEAbABmAGwAaQBuAGcAcwAtAFIAZQBnAHUAbABhAHIASgBhAG4AIABLAG8AdgBhAHIAaQBrAEoAYQBuACAASwBvAHYAYQByAGkAawB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQBXAGUAYgBmAG8AbgB0ACAAMQAuADAAVwBlAGQAIABPAGMAdAAgADIAOQAgADAANgA6ADMANgA6ADAANwAgADIAMAAxADQARgBvAG4AdAAgAFMAcQB1AGkAcgByAGUAbAAAAAIAAAAAAAD%2FtQAyAAAAAAAAAAAAAAAAAAAAAAAAAAABFwAAAQIBAwADAA0ADgEEAJYBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMA7wEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE%2BAT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG%2FAcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB%2BgH7AfwB%2FQH%2BAf8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgZnbHlwaDEGZ2x5cGgyB3VuaTAwQTAHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMkYHdW5pMjA1RgRFdXJvB3VuaTIwQkQHdW5pMjMxQgd1bmkyNUZDB3VuaTI2MDEHdW5pMjZGQQd1bmkyNzA5B3VuaTI3MEYHdW5pRTAwMQd1bmlFMDAyB3VuaUUwMDMHdW5pRTAwNQd1bmlFMDA2B3VuaUUwMDcHdW5pRTAwOAd1bmlFMDA5B3VuaUUwMTAHdW5pRTAxMQd1bmlFMDEyB3VuaUUwMTMHdW5pRTAxNAd1bmlFMDE1B3VuaUUwMTYHdW5pRTAxNwd1bmlFMDE4B3VuaUUwMTkHdW5pRTAyMAd1bmlFMDIxB3VuaUUwMjIHdW5pRTAyMwd1bmlFMDI0B3VuaUUwMjUHdW5pRTAyNgd1bmlFMDI3B3VuaUUwMjgHdW5pRTAyOQd1bmlFMDMwB3VuaUUwMzEHdW5pRTAzMgd1bmlFMDMzB3VuaUUwMzQHdW5pRTAzNQd1bmlFMDM2B3VuaUUwMzcHdW5pRTAzOAd1bmlFMDM5B3VuaUUwNDAHdW5pRTA0MQd1bmlFMDQyB3VuaUUwNDMHdW5pRTA0NAd1bmlFMDQ1B3VuaUUwNDYHdW5pRTA0Nwd1bmlFMDQ4B3VuaUUwNDkHdW5pRTA1MAd1bmlFMDUxB3VuaUUwNTIHdW5pRTA1Mwd1bmlFMDU0B3VuaUUwNTUHdW5pRTA1Ngd1bmlFMDU3B3VuaUUwNTgHdW5pRTA1OQd1bmlFMDYwB3VuaUUwNjIHdW5pRTA2Mwd1bmlFMDY0B3VuaUUwNjUHdW5pRTA2Ngd1bmlFMDY3B3VuaUUwNjgHdW5pRTA2OQd1bmlFMDcwB3VuaUUwNzEHdW5pRTA3Mgd1bmlFMDczB3VuaUUwNzQHdW5pRTA3NQd1bmlFMDc2B3VuaUUwNzcHdW5pRTA3OAd1bmlFMDc5B3VuaUUwODAHdW5pRTA4MQd1bmlFMDgyB3VuaUUwODMHdW5pRTA4NAd1bmlFMDg1B3VuaUUwODYHdW5pRTA4Nwd1bmlFMDg4B3VuaUUwODkHdW5pRTA5MAd1bmlFMDkxB3VuaUUwOTIHdW5pRTA5Mwd1bmlFMDk0B3VuaUUwOTUHdW5pRTA5Ngd1bmlFMDk3B3VuaUUxMDEHdW5pRTEwMgd1bmlFMTAzB3VuaUUxMDQHdW5pRTEwNQd1bmlFMTA2B3VuaUUxMDcHdW5pRTEwOAd1bmlFMTA5B3VuaUUxMTAHdW5pRTExMQd1bmlFMTEyB3VuaUUxMTMHdW5pRTExNAd1bmlFMTE1B3VuaUUxMTYHdW5pRTExNwd1bmlFMTE4B3VuaUUxMTkHdW5pRTEyMAd1bmlFMTIxB3VuaUUxMjIHdW5pRTEyMwd1bmlFMTI0B3VuaUUxMjUHdW5pRTEyNgd1bmlFMTI3B3VuaUUxMjgHdW5pRTEyOQd1bmlFMTMwB3VuaUUxMzEHdW5pRTEzMgd1bmlFMTMzB3VuaUUxMzQHdW5pRTEzNQd1bmlFMTM2B3VuaUUxMzcHdW5pRTEzOAd1bmlFMTM5B3VuaUUxNDAHdW5pRTE0MQd1bmlFMTQyB3VuaUUxNDMHdW5pRTE0NAd1bmlFMTQ1B3VuaUUxNDYHdW5pRTE0OAd1bmlFMTQ5B3VuaUUxNTAHdW5pRTE1MQd1bmlFMTUyB3VuaUUxNTMHdW5pRTE1NAd1bmlFMTU1B3VuaUUxNTYHdW5pRTE1Nwd1bmlFMTU4B3VuaUUxNTkHdW5pRTE2MAd1bmlFMTYxB3VuaUUxNjIHdW5pRTE2Mwd1bmlFMTY0B3VuaUUxNjUHdW5pRTE2Ngd1bmlFMTY3B3VuaUUxNjgHdW5pRTE2OQd1bmlFMTcwB3VuaUUxNzEHdW5pRTE3Mgd1bmlFMTczB3VuaUUxNzQHdW5pRTE3NQd1bmlFMTc2B3VuaUUxNzcHdW5pRTE3OAd1bmlFMTc5B3VuaUUxODAHdW5pRTE4MQd1bmlFMTgyB3VuaUUxODMHdW5pRTE4NAd1bmlFMTg1B3VuaUUxODYHdW5pRTE4Nwd1bmlFMTg4B3VuaUUxODkHdW5pRTE5MAd1bmlFMTkxB3VuaUUxOTIHdW5pRTE5Mwd1bmlFMTk0B3VuaUUxOTUHdW5pRTE5Nwd1bmlFMTk4B3VuaUUxOTkHdW5pRTIwMAd1bmlFMjAxB3VuaUUyMDIHdW5pRTIwMwd1bmlFMjA0B3VuaUUyMDUHdW5pRTIwNgd1bmlFMjA5B3VuaUUyMTAHdW5pRTIxMQd1bmlFMjEyB3VuaUUyMTMHdW5pRTIxNAd1bmlFMjE1B3VuaUUyMTYHdW5pRTIxOAd1bmlFMjE5B3VuaUUyMjEHdW5pRTIyMwd1bmlFMjI0B3VuaUUyMjUHdW5pRTIyNgd1bmlFMjI3B3VuaUUyMzAHdW5pRTIzMQd1bmlFMjMyB3VuaUUyMzMHdW5pRTIzNAd1bmlFMjM1B3VuaUUyMzYHdW5pRTIzNwd1bmlFMjM4B3VuaUUyMzkHdW5pRTI0MAd1bmlFMjQxB3VuaUUyNDIHdW5pRTI0Mwd1bmlFMjQ0B3VuaUUyNDUHdW5pRTI0Ngd1bmlFMjQ3B3VuaUUyNDgHdW5pRTI0OQd1bmlFMjUwB3VuaUUyNTEHdW5pRTI1Mgd1bmlFMjUzB3VuaUUyNTQHdW5pRTI1NQd1bmlFMjU2B3VuaUUyNTcHdW5pRTI1OAd1bmlFMjU5B3VuaUUyNjAHdW5pRjhGRgZ1MUY1MTEGdTFGNkFBAAAAAAFUUMMXAAA%3D%29%20format%28%27truetype%27%29%2Curl%28data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI%2FPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE%2BPC9tZXRhZGF0YT4KPGRlZnM%2BCjxmb250IGlkPSJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXIiIGhvcml6LWFkdi14PSIxMjAwIiA%2BCjxmb250LWZhY2UgdW5pdHMtcGVyLWVtPSIxMjAwIiBhc2NlbnQ9Ijk2MCIgZGVzY2VudD0iLTI0MCIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjUwMCIgLz4KPGdseXBoIGhvcml6LWFkdi14PSIwIiAvPgo8Z2x5cGggaG9yaXotYWR2LXg9IjQwMCIgLz4KPGdseXBoIHVuaWNvZGU9IiAiIC8%2BCjxnbHlwaCB1bmljb2RlPSIqIiBkPSJNNjAwIDExMDBxMTUgMCAzNCAtMS41dDMwIC0zLjVsMTEgLTFxMTAgLTIgMTcuNSAtMTAuNXQ3LjUgLTE4LjV2LTIyNGwxNTggMTU4cTcgNyAxOCA4dDE5IC02bDEwNiAtMTA2cTcgLTggNiAtMTl0LTggLTE4bC0xNTggLTE1OGgyMjRxMTAgMCAxOC41IC03LjV0MTAuNSAtMTcuNXE2IC00MSA2IC03NXEwIC0xNSAtMS41IC0zNHQtMy41IC0zMGwtMSAtMTFxLTIgLTEwIC0xMC41IC0xNy41dC0xOC41IC03LjVoLTIyNGwxNTggLTE1OCBxNyAtNyA4IC0xOHQtNiAtMTlsLTEwNiAtMTA2cS04IC03IC0xOSAtNnQtMTggOGwtMTU4IDE1OHYtMjI0cTAgLTEwIC03LjUgLTE4LjV0LTE3LjUgLTEwLjVxLTQxIC02IC03NSAtNnEtMTUgMCAtMzQgMS41dC0zMCAzLjVsLTExIDFxLTEwIDIgLTE3LjUgMTAuNXQtNy41IDE4LjV2MjI0bC0xNTggLTE1OHEtNyAtNyAtMTggLTh0LTE5IDZsLTEwNiAxMDZxLTcgOCAtNiAxOXQ4IDE4bDE1OCAxNThoLTIyNHEtMTAgMCAtMTguNSA3LjUgdC0xMC41IDE3LjVxLTYgNDEgLTYgNzVxMCAxNSAxLjUgMzR0My41IDMwbDEgMTFxMiAxMCAxMC41IDE3LjV0MTguNSA3LjVoMjI0bC0xNTggMTU4cS03IDcgLTggMTh0NiAxOWwxMDYgMTA2cTggNyAxOSA2dDE4IC04bDE1OCAtMTU4djIyNHEwIDEwIDcuNSAxOC41dDE3LjUgMTAuNXE0MSA2IDc1IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iKyIgZD0iTTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzUwaDM1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zNTB2LTM1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzNTBoLTM1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNSBoMzUwdjM1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTA7IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTU7IiBkPSJNODI1IDExMDBoMjUwcTEwIDAgMTIuNSAtNXQtNS41IC0xM2wtMzY0IC0zNjRxLTYgLTYgLTExIC0xOGgyNjhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTEwMGgyNzVxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTE3NHEwIC0xMSAtNy41IC0xOC41dC0xOC41IC03LjVoLTE0OHEtMTEgMCAtMTguNSA3LjV0LTcuNSAxOC41djE3NCBoLTI3NXEtMTAgMCAtMTMgNnQzIDE0bDEyMCAxNjBxNiA4IDE4IDE0dDIyIDZoMTI1djEwMGgtMjc1cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMThxLTUgMTIgLTExIDE4bC0zNjQgMzY0cS04IDggLTUuNSAxM3QxMi41IDVoMjUwcTI1IDAgNDMgLTE4bDE2NCAtMTY0cTggLTggMTggLTh0MTggOGwxNjQgMTY0cTE4IDE4IDQzIDE4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDA7IiBob3Jpei1hZHYteD0iNjUwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMTsiIGhvcml6LWFkdi14PSIxMzAwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMjsiIGhvcml6LWFkdi14PSI2NTAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDAzOyIgaG9yaXotYWR2LXg9IjEzMDAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDA0OyIgaG9yaXotYWR2LXg9IjQzMyIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDU7IiBob3Jpei1hZHYteD0iMzI1IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwNjsiIGhvcml6LWFkdi14PSIyMTYiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDA3OyIgaG9yaXotYWR2LXg9IjIxNiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDg7IiBob3Jpei1hZHYteD0iMTYyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwOTsiIGhvcml6LWFkdi14PSIyNjAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDBhOyIgaG9yaXotYWR2LXg9IjcyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAyZjsiIGhvcml6LWFkdi14PSIyNjAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDVmOyIgaG9yaXotYWR2LXg9IjMyNSIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwYWM7IiBkPSJNNzQ0IDExOThxMjQyIDAgMzU0IC0xODlxNjAgLTEwNCA2NiAtMjA5aC0xODFxMCA0NSAtMTcuNSA4Mi41dC00My41IDYxLjV0LTU4IDQwLjV0LTYwLjUgMjR0LTUxLjUgNy41cS0xOSAwIC00MC41IC01LjV0LTQ5LjUgLTIwLjV0LTUzIC0zOHQtNDkgLTYyLjV0LTM5IC04OS41aDM3OWwtMTAwIC0xMDBoLTMwMHEtNiAtNTAgLTYgLTEwMGg0MDZsLTEwMCAtMTAwaC0zMDBxOSAtNzQgMzMgLTEzMnQ1Mi41IC05MXQ2MS41IC01NC41dDU5IC0yOSB0NDcgLTcuNXEyMiAwIDUwLjUgNy41dDYwLjUgMjQuNXQ1OCA0MXQ0My41IDYxdDE3LjUgODBoMTc0cS0zMCAtMTcxIC0xMjggLTI3OHEtMTA3IC0xMTcgLTI3NCAtMTE3cS0yMDYgMCAtMzI0IDE1OHEtMzYgNDggLTY5IDEzM3QtNDUgMjA0aC0yMTdsMTAwIDEwMGgxMTJxMSA0NyA2IDEwMGgtMjE4bDEwMCAxMDBoMTM0cTIwIDg3IDUxIDE1My41dDYyIDEwMy41cTExNyAxNDEgMjk3IDE0MXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMGJkOyIgZD0iTTQyOCAxMjAwaDM1MHE2NyAwIDEyMCAtMTN0ODYgLTMxdDU3IC00OS41dDM1IC01Ni41dDE3IC02NC41dDYuNSAtNjAuNXQwLjUgLTU3di0xNi41di0xNi41cTAgLTM2IC0wLjUgLTU3dC02LjUgLTYxdC0xNyAtNjV0LTM1IC01N3QtNTcgLTUwLjV0LTg2IC0zMS41dC0xMjAgLTEzaC0xNzhsLTIgLTEwMGgyODhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMzh2LTE3NXEwIC0xMSAtNS41IC0xOCB0LTE1LjUgLTdoLTE0OXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE3NWgtMjY3cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMTd2MTAwaC0yNjdxLTEwIDAgLTEzIDZ0MyAxNGwxMjAgMTYwcTYgOCAxOCAxNHQyMiA2aDExN3Y0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNjAwIDEwMDB2LTMwMGgyMDNxNjQgMCA4Ni41IDMzdDIyLjUgMTE5cTAgODQgLTIyLjUgMTE2dC04Ni41IDMyaC0yMDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjIxMjsiIGQ9Ik0yNTAgNzAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjMxYjsiIGQ9Ik0xMDAwIDEyMDB2LTE1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTEwMHEwIC05MSAtNDkuNSAtMTY1LjV0LTEzMC41IC0xMDkuNXE4MSAtMzUgMTMwLjUgLTEwOS41dDQ5LjUgLTE2NS41di0xNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtODAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MTUwcTAgOTEgNDkuNSAxNjUuNXQxMzAuNSAxMDkuNXEtODEgMzUgLTEzMC41IDEwOS41IHQtNDkuNSAxNjUuNXYxMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxNTBoODAwek00MDAgMTAwMHYtMTAwcTAgLTYwIDMyLjUgLTEwOS41dDg3LjUgLTczLjVxMjggLTEyIDQ0IC0zN3QxNiAtNTV0LTE2IC01NXQtNDQgLTM3cS01NSAtMjQgLTg3LjUgLTczLjV0LTMyLjUgLTEwOS41di0xNTBoNDAwdjE1MHEwIDYwIC0zMi41IDEwOS41dC04Ny41IDczLjVxLTI4IDEyIC00NCAzN3QtMTYgNTV0MTYgNTV0NDQgMzcgcTU1IDI0IDg3LjUgNzMuNXQzMi41IDEwOS41djEwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI1ZmM7IiBob3Jpei1hZHYteD0iNTAwIiBkPSJNMCAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI2MDE7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA2LjVxMCAtMTIxIC04NSAtMjA3LjV0LTIwNSAtODYuNWgtNzUwcS03OSAwIC0xMzUuNSA1N3QtNTYuNSAxMzdxMCA2OSA0Mi41IDEyMi41dDEwOC41IDY3LjVxLTIgMTIgLTIgMzdxMCAxNTMgMTA4IDI2MC41dDI2MCAxMDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyNmZhOyIgZD0iTTc3NCAxMTkzLjVxMTYgLTkuNSAyMC41IC0yN3QtNS41IC0zMy41bC0xMzYgLTE4N2w0NjcgLTc0NmgzMHEyMCAwIDM1IC0xOC41dDE1IC0zOS41di00MmgtMTIwMHY0MnEwIDIxIDE1IDM5LjV0MzUgMTguNWgzMGw0NjggNzQ2bC0xMzUgMTgzcS0xMCAxNiAtNS41IDM0dDIwLjUgMjh0MzQgNS41dDI4IC0yMC41bDExMSAtMTQ4bDExMiAxNTBxOSAxNiAyNyAyMC41dDM0IC01ek02MDAgMjAwaDM3N2wtMTgyIDExMmwtMTk1IDUzNHYtNjQ2eiAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyNzA5OyIgZD0iTTI1IDExMDBoMTE1MHExMCAwIDEyLjUgLTV0LTUuNSAtMTNsLTU2NCAtNTY3cS04IC04IC0xOCAtOHQtMTggOGwtNTY0IDU2N3EtOCA4IC01LjUgMTN0MTIuNSA1ek0xOCA4ODJsMjY0IC0yNjRxOCAtOCA4IC0xOHQtOCAtMThsLTI2NCAtMjY0cS04IC04IC0xMyAtNS41dC01IDEyLjV2NTUwcTAgMTAgNSAxMi41dDEzIC01LjV6TTkxOCA2MThsMjY0IDI2NHE4IDggMTMgNS41dDUgLTEyLjV2LTU1MHEwIC0xMCAtNSAtMTIuNXQtMTMgNS41IGwtMjY0IDI2NHEtOCA4IC04IDE4dDggMTh6TTgxOCA0ODJsMzY0IC0zNjRxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xMTUwcS0xMCAwIC0xMi41IDV0NS41IDEzbDM2NCAzNjRxOCA4IDE4IDh0MTggLThsMTY0IC0xNjRxOCAtOCAxOCAtOHQxOCA4bDE2NCAxNjRxOCA4IDE4IDh0MTggLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjcwZjsiIGQ9Ik0xMDExIDEyMTBxMTkgMCAzMyAtMTNsMTUzIC0xNTNxMTMgLTE0IDEzIC0zM3QtMTMgLTMzbC05OSAtOTJsLTIxNCAyMTRsOTUgOTZxMTMgMTQgMzIgMTR6TTEwMTMgODAwbC02MTUgLTYxNGwtMjE0IDIxNGw2MTQgNjE0ek0zMTcgOTZsLTMzMyAtMTEybDExMCAzMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMTsiIGQ9Ik03MDAgNjUwdi01NTBoMjUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtODAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgyNTB2NTUwbC01MDAgNTUwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMjsiIGQ9Ik0zNjggMTAxN2w2NDUgMTYzcTM5IDE1IDYzIDB0MjQgLTQ5di04MzFxMCAtNTUgLTQxLjUgLTk1LjV0LTExMS41IC02My41cS03OSAtMjUgLTE0NyAtNC41dC04NiA3NXQyNS41IDExMS41dDEyMi41IDgycTcyIDI0IDEzOCA4djUyMWwtNjAwIC0xNTV2LTYwNnEwIC00MiAtNDQgLTkwdC0xMDkgLTY5cS03OSAtMjYgLTE0NyAtNS41dC04NiA3NS41dDI1LjUgMTExLjV0MTIyLjUgODIuNXE3MiAyNCAxMzggN3Y2MzlxMCAzOCAxNC41IDU5IHQ1My41IDM0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDM7IiBkPSJNNTAwIDExOTFxMTAwIDAgMTkxIC0zOXQxNTYuNSAtMTA0LjV0MTA0LjUgLTE1Ni41dDM5IC0xOTFsLTEgLTJsMSAtNXEwIC0xNDEgLTc4IC0yNjJsMjc1IC0yNzRxMjMgLTI2IDIyLjUgLTQ0LjV0LTIyLjUgLTQyLjVsLTU5IC01OHEtMjYgLTIwIC00Ni41IC0yMHQtMzkuNSAyMGwtMjc1IDI3NHEtMTE5IC03NyAtMjYxIC03N2wtNSAxbC0yIC0xcS0xMDAgMCAtMTkxIDM5dC0xNTYuNSAxMDQuNXQtMTA0LjUgMTU2LjV0LTM5IDE5MSB0MzkgMTkxdDEwNC41IDE1Ni41dDE1Ni41IDEwNC41dDE5MSAzOXpNNTAwIDEwMjJxLTg4IDAgLTE2MiAtNDN0LTExNyAtMTE3dC00MyAtMTYydDQzIC0xNjJ0MTE3IC0xMTd0MTYyIC00M3QxNjIgNDN0MTE3IDExN3Q0MyAxNjJ0LTQzIDE2MnQtMTE3IDExN3QtMTYyIDQzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDU7IiBkPSJNNjQ5IDk0OXE0OCA2OCAxMDkuNSAxMDR0MTIxLjUgMzguNXQxMTguNSAtMjB0MTAyLjUgLTY0dDcxIC0xMDAuNXQyNyAtMTIzcTAgLTU3IC0zMy41IC0xMTcuNXQtOTQgLTEyNC41dC0xMjYuNSAtMTI3LjV0LTE1MCAtMTUyLjV0LTE0NiAtMTc0cS02MiA4NSAtMTQ1LjUgMTc0dC0xNTAgMTUyLjV0LTEyNi41IDEyNy41dC05My41IDEyNC41dC0zMy41IDExNy41cTAgNjQgMjggMTIzdDczIDEwMC41dDEwNCA2NHQxMTkgMjAgdDEyMC41IC0zOC41dDEwNC41IC0xMDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwNjsiIGQ9Ik00MDcgODAwbDEzMSAzNTNxNyAxOSAxNy41IDE5dDE3LjUgLTE5bDEyOSAtMzUzaDQyMXEyMSAwIDI0IC04LjV0LTE0IC0yMC41bC0zNDIgLTI0OWwxMzAgLTQwMXE3IC0yMCAtMC41IC0yNS41dC0yNC41IDYuNWwtMzQzIDI0NmwtMzQyIC0yNDdxLTE3IC0xMiAtMjQuNSAtNi41dC0wLjUgMjUuNWwxMzAgNDAwbC0zNDcgMjUxcS0xNyAxMiAtMTQgMjAuNXQyMyA4LjVoNDI5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDc7IiBkPSJNNDA3IDgwMGwxMzEgMzUzcTcgMTkgMTcuNSAxOXQxNy41IC0xOWwxMjkgLTM1M2g0MjFxMjEgMCAyNCAtOC41dC0xNCAtMjAuNWwtMzQyIC0yNDlsMTMwIC00MDFxNyAtMjAgLTAuNSAtMjUuNXQtMjQuNSA2LjVsLTM0MyAyNDZsLTM0MiAtMjQ3cS0xNyAtMTIgLTI0LjUgLTYuNXQtMC41IDI1LjVsMTMwIDQwMGwtMzQ3IDI1MXEtMTcgMTIgLTE0IDIwLjV0MjMgOC41aDQyOXpNNDc3IDcwMGgtMjQwbDE5NyAtMTQybC03NCAtMjI2IGwxOTMgMTM5bDE5NSAtMTQwbC03NCAyMjlsMTkyIDE0MGgtMjM0bC03OCAyMTF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwODsiIGQ9Ik02MDAgMTIwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTI1MHEwIC00NiAtMzEgLTk4dC02OSAtNTJ2LTc1cTAgLTEwIDYgLTIxLjV0MTUgLTE3LjVsMzU4IC0yMzBxOSAtNSAxNSAtMTYuNXQ2IC0yMS41di05M3EwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5M3EwIDEwIDYgMjEuNXQxNSAxNi41bDM1OCAyMzBxOSA2IDE1IDE3LjV0NiAyMS41djc1cS0zOCAwIC02OSA1MiB0LTMxIDk4djI1MHEwIDEyNCA4OCAyMTJ0MjEyIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDk7IiBkPSJNMjUgMTEwMGgxMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTA1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMDUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwMCAxMDAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgMTAwMGgtNTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMzUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNTUwIHExMCAwIDE3LjUgNy41dDcuNSAxNy41djM1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTEwMDAgMTAwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwIDgwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA4MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgNjAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgNTAwaC01NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0zNTBxMCAtMTAgNy41IC0xNy41IHQxNy41IC03LjVoNTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MzUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMTAwIDQwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCAyMDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTA7IiBkPSJNNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCA1MDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMTsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTEwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODUwIDcwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoMjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTg1MCAzMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41IHQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMjsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNDUwIDcwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoNzAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMzsiIGQ9Ik00NjUgNDc3bDU3MSA1NzFxOCA4IDE4IDh0MTcgLThsMTc3IC0xNzdxOCAtNyA4IC0xN3QtOCAtMThsLTc4MyAtNzg0cS03IC04IC0xNy41IC04dC0xNy41IDhsLTM4NCAzODRxLTggOCAtOCAxOHQ4IDE3bDE3NyAxNzdxNyA4IDE3IDh0MTggLThsMTcxIC0xNzFxNyAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTQ7IiBkPSJNOTA0IDEwODNsMTc4IC0xNzlxOCAtOCA4IC0xOC41dC04IC0xNy41bC0yNjcgLTI2OGwyNjcgLTI2OHE4IC03IDggLTE3LjV0LTggLTE4LjVsLTE3OCAtMTc4cS04IC04IC0xOC41IC04dC0xNy41IDhsLTI2OCAyNjdsLTI2OCAtMjY3cS03IC04IC0xNy41IC04dC0xOC41IDhsLTE3OCAxNzhxLTggOCAtOCAxOC41dDggMTcuNWwyNjcgMjY4bC0yNjcgMjY4cS04IDcgLTggMTcuNXQ4IDE4LjVsMTc4IDE3OHE4IDggMTguNSA4dDE3LjUgLTggbDI2OCAtMjY3bDI2OCAyNjhxNyA3IDE3LjUgN3QxOC41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTU7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNNDI1IDkwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWg3NXExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41IHQtMTcuNSAtNy41aC03NXYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtNzVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg3NXY3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTY7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNMzI1IDgwMGgzNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNzsiIGQ9Ik01NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04MDAgOTc1djE2NnExNjcgLTYyIDI3MiAtMjA5LjV0MTA1IC0zMzEuNXEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNSB0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHEwIDE4NCAxMDUgMzMxLjV0MjcyIDIwOS41di0xNjZxLTEwMyAtNTUgLTE2NSAtMTU1dC02MiAtMjIwcTAgLTExNiA1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXEwIDEyMCAtNjIgMjIwdC0xNjUgMTU1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTg7IiBkPSJNMTAyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTExNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTcyNSA4MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgNTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTQ1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djQ1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0xMjUgMzAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41IHYyNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDE5OyIgZD0iTTYwMCAxMTc0cTMzIDAgNzQgLTVsMzggLTE1Mmw1IC0xcTQ5IC0xNCA5NCAtMzlsNSAtMmwxMzQgODBxNjEgLTQ4IDEwNCAtMTA1bC04MCAtMTM0bDMgLTVxMjUgLTQ0IDM5IC05M2wxIC02bDE1MiAtMzhxNSAtNDMgNSAtNzNxMCAtMzQgLTUgLTc0bC0xNTIgLTM4bC0xIC02cS0xNSAtNDkgLTM5IC05M2wtMyAtNWw4MCAtMTM0cS00OCAtNjEgLTEwNCAtMTA1bC0xMzQgODFsLTUgLTNxLTQ0IC0yNSAtOTQgLTM5bC01IC0ybC0zOCAtMTUxIHEtNDMgLTUgLTc0IC01cS0zMyAwIC03NCA1bC0zOCAxNTFsLTUgMnEtNDkgMTQgLTk0IDM5bC01IDNsLTEzNCAtODFxLTYwIDQ4IC0xMDQgMTA1bDgwIDEzNGwtMyA1cS0yNSA0NSAtMzggOTNsLTIgNmwtMTUxIDM4cS02IDQyIC02IDc0cTAgMzMgNiA3M2wxNTEgMzhsMiA2cTEzIDQ4IDM4IDkzbDMgNWwtODAgMTM0cTQ3IDYxIDEwNSAxMDVsMTMzIC04MGw1IDJxNDUgMjUgOTQgMzlsNSAxbDM4IDE1MnE0MyA1IDc0IDV6TTYwMCA4MTUgcS04OSAwIC0xNTIgLTYzdC02MyAtMTUxLjV0NjMgLTE1MS41dDE1MiAtNjN0MTUyIDYzdDYzIDE1MS41dC02MyAxNTEuNXQtMTUyIDYzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjA7IiBkPSJNNTAwIDEzMDBoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di0xMDBoMjc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoLTExMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNzV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNTAwIDEyMDB2LTEwMGgzMDB2MTAwaC0zMDB6TTExMDAgOTAwdi04MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTcwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjUgdjgwMGg5MDB6TTMwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTUwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTcwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTkwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMTsiIGQ9Ik0xOCA2MThsNjIwIDYwOHE4IDcgMTguNSA3dDE3LjUgLTdsNjA4IC02MDhxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xNzV2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWgtMzAwdi0zNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NzVoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDIyOyIgZD0iTTYwMCAxMjAwdi00MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDMwMHYtNjUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djExMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHpNMTAwMCA4MDBoLTI1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxMDI3cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd0MjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjV0LTU3IDIxNC41dC0xNTUuNSAxNTUuNXQtMjE0LjUgNTd6TTUyNSA5MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0yNzVoMTc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI0OyIgZD0iTTEzMDAgMGgtNTM4bC00MSA0MDBoLTI0MmwtNDEgLTQwMGgtNTM4bDQzMSAxMjAwaDIwOWwtMjEgLTMwMGgxNjJsLTIwIDMwMGgyMDh6TTUxNSA4MDBsLTI3IC0zMDBoMjI0bC0yNyAzMDBoLTE3MHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI1OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDUwaDE5MXEyMCAwIDI1LjUgLTExLjV0LTcuNSAtMjcuNWwtMzI3IC00MDBxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMzI3IDQwMHEtMTMgMTYgLTcuNSAyNy41dDI1LjUgMTEuNWgxOTF2NDUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEyNSA0MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0zNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41IGgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTc1aDkwMHYxNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01MjUgOTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI3NWgxMzdxMjEgMCAyNiAtMTEuNXQtOCAtMjcuNWwtMjIzIC0yNzVxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMjIzIDI3NXEtMTMgMTYgLTggMjcuNXQyNiAxMS41aDEzN3YyNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNzsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNjMyIDkxNGwyMjMgLTI3NXExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTEzN3YtMjc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2Mjc1aC0xMzdxLTIxIDAgLTI2IDExLjV0OCAyNy41bDIyMyAyNzVxMTMgMTYgMzIgMTYgdDMyIC0xNnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI4OyIgZD0iTTIyNSAxMjAwaDc1MHExMCAwIDE5LjUgLTd0MTIuNSAtMTdsMTg2IC02NTJxNyAtMjQgNyAtNDl2LTQyNXEwIC0xMiAtNCAtMjd0LTkgLTE3cS0xMiAtNiAtMzcgLTZoLTExMDBxLTEyIDAgLTI3IDR0LTE3IDhxLTYgMTMgLTYgMzhsMSA0MjVxMCAyNSA3IDQ5bDE4NSA2NTJxMyAxMCAxMi41IDE3dDE5LjUgN3pNODc4IDEwMDBoLTU1NnEtMTAgMCAtMTkgLTd0LTExIC0xOGwtODcgLTQ1MHEtMiAtMTEgNCAtMTh0MTYgLTdoMTUwIHExMCAwIDE5LjUgLTd0MTEuNSAtMTdsMzggLTE1MnEyIC0xMCAxMS41IC0xN3QxOS41IC03aDI1MHExMCAwIDE5LjUgN3QxMS41IDE3bDM4IDE1MnEyIDEwIDExLjUgMTd0MTkuNSA3aDE1MHExMCAwIDE2IDd0NCAxOGwtODcgNDUwcS0yIDExIC0xMSAxOHQtMTkgN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI5OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01NDAgODIwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMDsiIGQ9Ik05NDcgMTA2MGwxMzUgMTM1cTcgNyAxMi41IDV0NS41IC0xM3YtMzYycTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMzYycS0xMSAwIC0xMyA1LjV0NSAxMi41bDEzMyAxMzNxLTEwOSA3NiAtMjM4IDc2cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNWgxNTBxMCAtMTE3IC00NS41IC0yMjQgdC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDMxOyIgZD0iTTk0NyAxMDYwbDEzNSAxMzVxNyA3IDEyLjUgNXQ1LjUgLTEzdi0zNjFxMCAtMTEgLTcuNSAtMTguNXQtMTguNSAtNy41aC0zNjFxLTExIDAgLTEzIDUuNXQ1IDEyLjVsMTM0IDEzNHEtMTEwIDc1IC0yMzkgNzVxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41aC0xNTBxMCAxMTcgNDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3pNMTAyNyA2MDBoMTUwIHEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41cS0xOTIgMCAtMzQ4IDExOGwtMTM0IC0xMzRxLTcgLTggLTEyLjUgLTUuNXQtNS41IDEyLjV2MzYwcTAgMTEgNy41IDE4LjV0MTguNSA3LjVoMzYwcTEwIDAgMTIuNSAtNS41dC01LjUgLTEyLjVsLTEzMyAtMTMzcTExMCAtNzYgMjQwIC03NnExMTYgMCAyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDMyOyIgZD0iTTEyNSAxMjAwaDEwNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djExNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMTA3NSAxMDAwaC04NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di04NTBxMCAtMTAgNy41IC0xNy41dDE3LjUgLTcuNWg4NTBxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXY4NTAgcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMzI1IDkwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgOTAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTMyNSA3MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNTI1IDcwMGg0NTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTQ1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0zMjUgNTAwaDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTUyNSA1MDBoNDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC00NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMzI1IDMwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgMzAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMzsiIGQ9Ik05MDAgODAwdjIwMHEwIDgzIC01OC41IDE0MS41dC0xNDEuNSA1OC41aC0zMDBxLTgyIDAgLTE0MSAtNTl0LTU5IC0xNDF2LTIwMGgtMTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDkwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NjAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC0xMDB6TTQwMCA4MDB2MTUwcTAgMjEgMTUgMzUuNXQzNSAxNC41aDIwMCBxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNXYtMTUwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNDsiIGQ9Ik0xMjUgMTEwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwNzVoLTEwMHYxMDc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwNzUgMTA1MnE0IDAgOSAtMnExNiAtNiAxNiAtMjN2LTQyMXEwIC02IC0zIC0xMnEtMzMgLTU5IC02Ni41IC05OXQtNjUuNSAtNTh0LTU2LjUgLTI0LjV0LTUyLjUgLTYuNXEtMjYgMCAtNTcuNSA2LjV0LTUyLjUgMTMuNXQtNjAgMjFxLTQxIDE1IC02MyAyMi41dC01Ny41IDE1dC02NS41IDcuNSBxLTg1IDAgLTE2MCAtNTdxLTcgLTUgLTE1IC01cS02IDAgLTExIDNxLTE0IDcgLTE0IDIydjQzOHEyMiA1NSA4MiA5OC41dDExOSA0Ni41cTIzIDIgNDMgMC41dDQzIC03dDMyLjUgLTguNXQzOCAtMTN0MzIuNSAtMTFxNDEgLTE0IDYzLjUgLTIxdDU3IC0xNHQ2My41IC03cTEwMyAwIDE4MyA4N3E3IDggMTggOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDM1OyIgZD0iTTYwMCAxMTc1cTExNiAwIDIyNyAtNDkuNXQxOTIuNSAtMTMxdDEzMSAtMTkyLjV0NDkuNSAtMjI3di0zMDBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djMwMHEwIDEyNyAtNzAuNSAyMzEuNXQtMTg0LjUgMTYxLjV0LTI0NSA1N3QtMjQ1IC01N3QtMTg0LjUgLTE2MS41dC03MC41IC0yMzEuNXYtMzAwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTAgcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzAwcTAgMTE2IDQ5LjUgMjI3dDEzMSAxOTIuNXQxOTIuNSAxMzF0MjI3IDQ5LjV6TTIyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwcTAgOCA2IDE0dDE0IDZ6TTgyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwIHEwIDggNiAxNHQxNCA2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzY7IiBkPSJNMzIxIDgxNGwyNTggMTcycTkgNiAxNSAyLjV0NiAtMTMuNXYtNzUwcTAgLTEwIC02IC0xMy41dC0xNSAyLjVsLTI1OCAxNzJxLTIxIDE0IC00NiAxNGgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMjUwcTI1IDAgNDYgMTR6TTkwMCA2NjhsMTIwIDEyMHE3IDcgMTcgN3QxNyAtN2wzNCAtMzRxNyAtNyA3IC0xN3QtNyAtMTdsLTEyMCAtMTIwbDEyMCAtMTIwcTcgLTcgNyAtMTcgdC03IC0xN2wtMzQgLTM0cS03IC03IC0xNyAtN3QtMTcgN2wtMTIwIDExOWwtMTIwIC0xMTlxLTcgLTcgLTE3IC03dC0xNyA3bC0zNCAzNHEtNyA3IC03IDE3dDcgMTdsMTE5IDEyMGwtMTE5IDEyMHEtNyA3IC03IDE3dDcgMTdsMzQgMzRxNyA4IDE3IDh0MTcgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNzsiIGQ9Ik0zMjEgODE0bDI1OCAxNzJxOSA2IDE1IDIuNXQ2IC0xMy41di03NTBxMCAtMTAgLTYgLTEzLjV0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNiBsLTI5IDIzcS03IDcgLTguNSAxNi41dDQuNSAxNy41cTcyIDEwMyA3MiAyMjlxMCAxMzIgLTc4IDIzOHEtNiA4IC00LjUgMTh0OS41IDE3bDI5IDIycTcgNSAxNSA1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzg7IiBkPSJNOTY3IDEwMDRoM3ExMSAtMSAxNyAtMTBxMTM1IC0xNzkgMTM1IC0zOTZxMCAtMTA1IC0zNCAtMjA2LjV0LTk4IC0xODUuNXEtNyAtOSAtMTcgLTEwaC0zcS05IDAgLTE2IDZsLTQyIDM0cS04IDYgLTkgMTZ0NSAxOHExMTEgMTUwIDExMSAzMjhxMCA5MCAtMjkuNSAxNzZ0LTg0LjUgMTU3cS02IDkgLTUgMTl0MTAgMTZsNDIgMzNxNyA1IDE1IDV6TTMyMSA4MTRsMjU4IDE3MnE5IDYgMTUgMi41dDYgLTEzLjV2LTc1MHEwIC0xMCAtNiAtMTMuNSB0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNmwtMjkgMjNxLTcgNyAtOC41IDE2LjV0NC41IDE3LjVxNzIgMTAzIDcyIDIyOXEwIDEzMiAtNzggMjM4IHEtNiA4IC00LjUgMTguNXQ5LjUgMTYuNWwyOSAyMnE3IDUgMTUgNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDM5OyIgZD0iTTUwMCA5MDBoMTAwdi0xMDBoLTEwMHYtMTAwaC00MDB2LTEwMGgtMTAwdjYwMGg1MDB2LTMwMHpNMTIwMCA3MDBoLTIwMHYtMTAwaDIwMHYtMjAwaC0zMDB2MzAwaC0yMDB2MzAwaC0xMDB2MjAwaDYwMHYtNTAwek0xMDAgMTEwMHYtMzAwaDMwMHYzMDBoLTMwMHpNODAwIDExMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTMwMCA5MDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEwMDAgOTAwaC0xMDB2MTAwaDEwMHYtMTAwek0zMDAgNTAwaDIwMHYtNTAwIGgtNTAwdjUwMGgyMDB2MTAwaDEwMHYtMTAwek04MDAgMzAwaDIwMHYtMTAwaC0xMDB2LTEwMGgtMjAwdjEwMGgtMTAwdjEwMGgxMDB2MjAwaC0yMDB2MTAwaDMwMHYtMzAwek0xMDAgNDAwdi0zMDBoMzAwdjMwMGgtMzAwek0zMDAgMjAwaC0xMDB2MTAwaDEwMHYtMTAwek0xMjAwIDIwMGgtMTAwdjEwMGgxMDB2LTEwMHpNNzAwIDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEyMDAgMGgtMzAwdjEwMGgzMDB2LTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQwOyIgZD0iTTEwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMzAwIDIwMGgtMTAwdjEwMDBoMTAwdi0xMDAwek03MDAgMjAwaC0yMDB2MTAwMGgyMDB2LTEwMDB6TTkwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMTIwMCAyMDBoLTIwMHYxMDAwaDIwMHYtMTAwMHpNNDAwIDBoLTMwMHYxMDBoMzAwdi0xMDB6TTYwMCAwaC0xMDB2OTFoMTAwdi05MXpNODAwIDBoLTEwMHY5MWgxMDB2LTkxek0xMTAwIDBoLTIwMHY5MWgyMDB2LTkxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNDE7IiBkPSJNNTAwIDEyMDBsNjgyIC02ODJxOCAtOCA4IC0xOHQtOCAtMThsLTQ2NCAtNDY0cS04IC04IC0xOCAtOHQtMTggOGwtNjgyIDY4MmwxIDQ3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDQ3NHpNMzE5LjUgMTAyNC41cS0yOS41IDI5LjUgLTcxIDI5LjV0LTcxIC0yOS41dC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQyOyIgZD0iTTUwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTY4MiA2ODJsMSA0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg0NzR6TTgwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTU2IDU2bDQyNCA0MjZsLTcwMCA3MDBoMTUwek0zMTkuNSAxMDI0LjVxLTI5LjUgMjkuNSAtNzEgMjkuNXQtNzEgLTI5LjUgdC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQzOyIgZD0iTTMwMCAxMjAwaDgyNXE3NSAwIDc1IC03NXYtOTAwcTAgLTI1IC0xOCAtNDNsLTY0IC02NHEtOCAtOCAtMTMgLTUuNXQtNSAxMi41djk1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjVoLTcwMHEtMjUgMCAtNDMgLTE4bC02NCAtNjRxLTggLTggLTUuNSAtMTN0MTIuNSAtNWg3MDBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di05NTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC04NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NzUgcTAgMjUgMTggNDNsMTM5IDEzOXExOCAxOCA0MyAxOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQ0OyIgZD0iTTI1MCAxMjAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTE1MGwtNDUwIDQ0NGwtNDUwIC00NDV2MTE1MXEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NTsiIGQ9Ik04MjIgMTIwMGgtNDQ0cS0xMSAwIC0xOSAtNy41dC05IC0xNy41bC03OCAtMzAxcS03IC0yNCA3IC00NWw1NyAtMTA4cTYgLTkgMTcuNSAtMTV0MjEuNSAtNmg0NTBxMTAgMCAyMS41IDZ0MTcuNSAxNWw2MiAxMDhxMTQgMjEgNyA0NWwtODMgMzAxcS0xIDEwIC05IDE3LjV0LTE5IDcuNXpNMTE3NSA4MDBoLTE1MHEtMTAgMCAtMjEgLTYuNXQtMTUgLTE1LjVsLTc4IC0xNTZxLTQgLTkgLTE1IC0xNS41dC0yMSAtNi41aC01NTAgcS0xMCAwIC0yMSA2LjV0LTE1IDE1LjVsLTc4IDE1NnEtNCA5IC0xNSAxNS41dC0yMSA2LjVoLTE1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTY1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDc1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41IHQ3LjUgMTcuNXY2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41ek04NTAgMjAwaC01MDBxLTEwIDAgLTE5LjUgLTd0LTExLjUgLTE3bC0zOCAtMTUycS0yIC0xMCAzLjUgLTE3dDE1LjUgLTdoNjAwcTEwIDAgMTUuNSA3dDMuNSAxN2wtMzggMTUycS0yIDEwIC0xMS41IDE3dC0xOS41IDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NjsiIGQ9Ik01MDAgMTEwMGgyMDBxNTYgMCAxMDIuNSAtMjAuNXQ3Mi41IC01MHQ0NCAtNTl0MjUgLTUwLjVsNiAtMjBoMTUwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di02MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTEwMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djYwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMTUwcTIgOCA2LjUgMjEuNXQyNCA0OHQ0NSA2MXQ3MiA0OHQxMDIuNSAyMS41ek05MDAgODAwdi0xMDAgaDEwMHYxMDBoLTEwMHpNNjAwIDczMHEtOTUgMCAtMTYyLjUgLTY3LjV0LTY3LjUgLTE2Mi41dDY3LjUgLTE2Mi41dDE2Mi41IC02Ny41dDE2Mi41IDY3LjV0NjcuNSAxNjIuNXQtNjcuNSAxNjIuNXQtMTYyLjUgNjcuNXpNNjAwIDYwM3E0MyAwIDczIC0zMHQzMCAtNzN0LTMwIC03M3QtNzMgLTMwdC03MyAzMHQtMzAgNzN0MzAgNzN0NzMgMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NzsiIGQ9Ik02ODEgMTE5OWwzODUgLTk5OHEyMCAtNTAgNjAgLTkycTE4IC0xOSAzNi41IC0yOS41dDI3LjUgLTExLjVsMTAgLTJ2LTY2aC00MTd2NjZxNTMgMCA3NSA0My41dDUgODguNWwtODIgMjIyaC0zOTFxLTU4IC0xNDUgLTkyIC0yMzRxLTExIC0zNCAtNi41IC01N3QyNS41IC0zN3Q0NiAtMjB0NTUgLTZ2LTY2aC0zNjV2NjZxNTYgMjQgODQgNTJxMTIgMTIgMjUgMzAuNXQyMCAzMS41bDcgMTNsMzk5IDEwMDZoOTN6TTQxNiA1MjFoMzQwIGwtMTYyIDQ1N3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQ4OyIgZD0iTTc1MyA2NDFxNSAtMSAxNC41IC00LjV0MzYgLTE1LjV0NTAuNSAtMjYuNXQ1My41IC00MHQ1MC41IC01NC41dDM1LjUgLTcwdDE0LjUgLTg3cTAgLTY3IC0yNy41IC0xMjUuNXQtNzEuNSAtOTcuNXQtOTguNSAtNjYuNXQtMTA4LjUgLTQwLjV0LTEwMiAtMTNoLTUwMHY4OXE0MSA3IDcwLjUgMzIuNXQyOS41IDY1LjV2ODI3cTAgMjQgLTAuNSAzNHQtMy41IDI0dC04LjUgMTkuNXQtMTcgMTMuNXQtMjggMTIuNXQtNDIuNSAxMS41djcxIGw0NzEgLTFxNTcgMCAxMTUuNSAtMjAuNXQxMDggLTU3dDgwLjUgLTk0dDMxIC0xMjQuNXEwIC01MSAtMTUuNSAtOTYuNXQtMzggLTc0LjV0LTQ1IC01MC41dC0zOC41IC0zMC41ek00MDAgNzAwaDEzOXE3OCAwIDEzMC41IDQ4LjV0NTIuNSAxMjIuNXEwIDQxIC04LjUgNzAuNXQtMjkuNSA1NS41dC02Mi41IDM5LjV0LTEwMy41IDEzLjVoLTExOHYtMzUwek00MDAgMjAwaDIxNnE4MCAwIDEyMSA1MC41dDQxIDEzMC41cTAgOTAgLTYyLjUgMTU0LjUgdC0xNTYuNSA2NC41aC0xNTl2LTQwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQ5OyIgZD0iTTg3NyAxMjAwbDIgLTU3cS04MyAtMTkgLTExNiAtNDUuNXQtNDAgLTY2LjVsLTEzMiAtODM5cS05IC00OSAxMyAtNjl0OTYgLTI2di05N2gtNTAwdjk3cTE4NiAxNiAyMDAgOThsMTczIDgzMnEzIDE3IDMgMzB0LTEuNSAyMi41dC05IDE3LjV0LTEzLjUgMTIuNXQtMjEuNSAxMHQtMjYgOC41dC0zMy41IDEwcS0xMyAzIC0xOSA1djU3aDQyNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDUwOyIgZD0iTTEzMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTE3NSAxMDAwaC03NXYtODAwaDc1bC0xMjUgLTE2N2wtMTI1IDE2N2g3NXY4MDBoLTc1bDEyNSAxNjd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MTsiIGQ9Ik0xMTAwIDkwMGgtNTBxMCAyMSAtNCAzN3QtOS41IDI2LjV0LTE4IDE3LjV0LTIyIDExdC0yOC41IDUuNXQtMzEgMnQtMzcgMC41aC0yMDB2LTY1MHEwIC0yMiAyNSAtMzQuNXQ1MCAtMTMuNWwyNSAtMnYtMTAwaC00MDB2MTAwcTQgMCAxMSAwLjV0MjQgM3QzMCA3dDI0IDE1dDExIDI0LjV2NjUwaC0yMDBxLTI1IDAgLTM3IC0wLjV0LTMxIC0ydC0yOC41IC01LjV0LTIyIC0xMXQtMTggLTE3LjV0LTkuNSAtMjYuNXQtNCAtMzdoLTUwdjMwMCBoMTAwMHYtMzAwek0xMTY3IDUwbC0xNjcgLTEyNXY3NWgtODAwdi03NWwtMTY3IDEyNWwxNjcgMTI1di03NWg4MDB2NzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MjsiIGQ9Ik01MCAxMTAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDgwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MzsiIGQ9Ik0yNTAgMTEwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjUwIDUwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDU0OyIgZD0iTTUwMCA5NTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg2MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXpNMTAwIDY1MHYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41ek0zMDAgMzUwdjEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV6TTAgNTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDU1OyIgZD0iTTUwIDExMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1NjsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCAxMTAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMzUwIDgwMGg4MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zNTAgMjAwaDgwMCBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNTc7IiBkPSJNNDAwIDBoLTEwMHYxMTAwaDEwMHYtMTEwMHpNNTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjY3IDU1MGwtMTY3IC0xMjV2NzVoLTIwMHYxMDBoMjAwdjc1ek01NTAgNTAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTU1MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1ODsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAwaC0xMDB2MTEwMGgxMDB2LTExMDB6TTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEwMCA2MDBoMjAwdi0xMDBoLTIwMHYtNzVsLTE2NyAxMjVsMTY3IDEyNXYtNzV6TTUwIDUwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1OTsiIGQ9Ik03NSAxMDAwaDc1MHEzMSAwIDUzIC0yMnQyMiAtNTN2LTY1MHEwIC0zMSAtMjIgLTUzdC01MyAtMjJoLTc1MHEtMzEgMCAtNTMgMjJ0LTIyIDUzdjY1MHEwIDMxIDIyIDUzdDUzIDIyek0xMjAwIDMwMGwtMzAwIDMwMGwzMDAgMzAwdi02MDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2MDsiIGQ9Ik00NCAxMTAwaDExMTJxMTggMCAzMSAtMTN0MTMgLTMxdi0xMDEycTAgLTE4IC0xMyAtMzF0LTMxIC0xM2gtMTExMnEtMTggMCAtMzEgMTN0LTEzIDMxdjEwMTJxMCAxOCAxMyAzMXQzMSAxM3pNMTAwIDEwMDB2LTczN2wyNDcgMTgybDI5OCAtMTMxbC03NCAxNTZsMjkzIDMxOGwyMzYgLTI4OHY1MDBoLTEwMDB6TTM0MiA4ODRxNTYgMCA5NSAtMzl0MzkgLTk0LjV0LTM5IC05NXQtOTUgLTM5LjV0LTk1IDM5LjV0LTM5IDk1dDM5IDk0LjUgdDk1IDM5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjI7IiBkPSJNNjQ4IDExNjlxMTE3IDAgMjE2IC02MHQxNTYuNSAtMTYxdDU3LjUgLTIxOHEwIC0xMTUgLTcwIC0yNThxLTY5IC0xMDkgLTE1OCAtMjI1LjV0LTE0MyAtMTc5LjVsLTU0IC02MnEtOSA4IC0yNS41IDI0LjV0LTYzLjUgNjcuNXQtOTEgMTAzdC05OC41IDEyOHQtOTUuNSAxNDhxLTYwIDEzMiAtNjAgMjQ5cTAgODggMzQgMTY5LjV0OTEuNSAxNDJ0MTM3IDk2LjV0MTY2LjUgMzZ6TTY1Mi41IDk3NHEtOTEuNSAwIC0xNTYuNSAtNjUgdC02NSAtMTU3dDY1IC0xNTYuNXQxNTYuNSAtNjQuNXQxNTYuNSA2NC41dDY1IDE1Ni41dC02NSAxNTd0LTE1Ni41IDY1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxNzN2ODU0cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2NDsiIGQ9Ik01NTQgMTI5NXEyMSAtNzIgNTcuNSAtMTQzLjV0NzYgLTEzMHQ4MyAtMTE4dDgyLjUgLTExN3Q3MCAtMTE2dDQ5LjUgLTEyNnQxOC41IC0xMzYuNXEwIC03MSAtMjUuNSAtMTM1dC02OC41IC0xMTF0LTk5IC04MnQtMTE4LjUgLTU0dC0xMjUuNSAtMjNxLTg0IDUgLTE2MS41IDM0dC0xMzkuNSA3OC41dC05OSAxMjV0LTM3IDE2NC41cTAgNjkgMTggMTM2LjV0NDkuNSAxMjYuNXQ2OS41IDExNi41dDgxLjUgMTE3LjV0ODMuNSAxMTkgdDc2LjUgMTMxdDU4LjUgMTQzek0zNDQgNzEwcS0yMyAtMzMgLTQzLjUgLTcwLjV0LTQwLjUgLTEwMi41dC0xNyAtMTIzcTEgLTM3IDE0LjUgLTY5LjV0MzAgLTUydDQxIC0zN3QzOC41IC0yNC41dDMzIC0xNXEyMSAtNyAzMiAtMXQxMyAyMmw2IDM0cTIgMTAgLTIuNSAyMnQtMTMuNSAxOXEtNSA0IC0xNCAxMnQtMjkuNSA0MC41dC0zMi41IDczLjVxLTI2IDg5IDYgMjcxcTIgMTEgLTYgMTFxLTggMSAtMTUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjU7IiBkPSJNMTAwMCAxMDEzbDEwOCAxMTVxMiAxIDUgMnQxMyAydDIwLjUgLTF0MjUgLTkuNXQyOC41IC0yMS41cTIyIC0yMiAyNyAtNDN0MCAtMzJsLTYgLTEwbC0xMDggLTExNXpNMzUwIDExMDBoNDAwcTUwIDAgMTA1IC0xM2wtMTg3IC0xODdoLTM2OHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41djE4MmwyMDAgMjAwdi0zMzIgcTAgLTE2NSAtOTMuNSAtMjU3LjV0LTI1Ni41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTEwMDkgODAzbC0zNjIgLTM2MmwtMTYxIC01MGw1NSAxNzBsMzU1IDM1NXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDY2OyIgZD0iTTM1MCAxMTAwaDM2MXEtMTY0IC0xNDYgLTIxNiAtMjAwaC0xOTVxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNWwyMDAgMTUzdi0xMDNxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTgyNCAxMDczbDMzOSAtMzAxcTggLTcgOCAtMTcuNXQtOCAtMTcuNWwtMzQwIC0zMDZxLTcgLTYgLTEyLjUgLTR0LTYuNSAxMXYyMDNxLTI2IDEgLTU0LjUgMHQtNzguNSAtNy41dC05MiAtMTcuNXQtODYgLTM1dC03MCAtNTdxMTAgNTkgMzMgMTA4dDUxLjUgODEuNXQ2NSA1OC41dDY4LjUgNDAuNXQ2NyAyNC41dDU2IDEzLjV0NDAgNC41djIxMHExIDEwIDYuNSAxMi41dDEzLjUgLTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDY3OyIgZD0iTTM1MCAxMTAwaDM1MHE2MCAwIDEyNyAtMjNsLTE3OCAtMTc3aC0zNDlxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNXY2OWwyMDAgMjAwdi0yMTlxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTY0MyA2MzlsMzk1IDM5NXE3IDcgMTcuNSA3dDE3LjUgLTdsMTAxIC0xMDFxNyAtNyA3IC0xNy41dC03IC0xNy41bC01MzEgLTUzMnEtNyAtNyAtMTcuNSAtN3QtMTcuNSA3bC0yNDggMjQ4cS03IDcgLTcgMTcuNXQ3IDE3LjVsMTAxIDEwMXE3IDcgMTcuNSA3dDE3LjUgLTdsMTExIC0xMTFxOCAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjg7IiBkPSJNMzE4IDkxOGwyNjQgMjY0cTggOCAxOCA4dDE4IC04bDI2MCAtMjY0cTcgLTggNC41IC0xM3QtMTIuNSAtNWgtMTcwdi0yMDBoMjAwdjE3M3EwIDEwIDUgMTJ0MTMgLTVsMjY0IC0yNjBxOCAtNyA4IC0xNy41dC04IC0xNy41bC0yNjQgLTI2NXEtOCAtNyAtMTMgLTV0LTUgMTJ2MTczaC0yMDB2LTIwMGgxNzBxMTAgMCAxMi41IC01dC00LjUgLTEzbC0yNjAgLTI2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTI2NCAyNjRxLTggOCAtNS41IDEzIHQxMi41IDVoMTc1djIwMGgtMjAwdi0xNzNxMCAtMTAgLTUgLTEydC0xMyA1bC0yNjQgMjY1cS04IDcgLTggMTcuNXQ4IDE3LjVsMjY0IDI2MHE4IDcgMTMgNXQ1IC0xMnYtMTczaDIwMHYyMDBoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDY5OyIgZD0iTTI1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDM4bDQ2NCA0NTNxMTUgMTQgMjUuNSAxMHQxMC41IC0yNXYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDcwOyIgZD0iTTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di0xMDAwcTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDcxOyIgZD0iTTEyMDAgMTA1MHYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ5MiA0ODBxLTE1IDE0IC0xNSAzNXQxNSAzNWw0OTIgNDgwcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV2LTQzOGw0NjQgNDUzcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3MjsiIGQ9Ik0yNDMgMTA3NGw4MTQgLTQ5OHExOCAtMTEgMTggLTI2dC0xOCAtMjZsLTgxNCAtNDk4cS0xOCAtMTEgLTMwLjUgLTR0LTEyLjUgMjh2MTAwMHEwIDIxIDEyLjUgMjh0MzAuNSAtNHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDczOyIgZD0iTTI1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzQ7IiBkPSJNMTEwMCA5NTB2LTgwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY4MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDc1OyIgZD0iTTUwMCA2MTJ2NDM4cTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0OTIgLTQ4MHExNSAtMTQgMTUgLTM1dC0xNSAtMzVsLTQ5MiAtNDgwcS0xNSAtMTQgLTI1LjUgLTEwdC0xMC41IDI1djQzOGwtNDY0IC00NTNxLTE1IC0xNCAtMjUuNSAtMTB0LTEwLjUgMjV2MTAwMHEwIDIxIDEwLjUgMjV0MjUuNSAtMTB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NjsiIGQ9Ik0xMDQ4IDExMDJsMTAwIDFxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNWw1IC0xMDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41bC0xMDAgLTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41bC0yIDQzN2wtNDYzIC00NTRxLTE0IC0xNSAtMjQuNSAtMTAuNXQtMTAuNSAyNS41bC0yIDQzN2wtNDYyIC00NTVxLTE1IC0xNCAtMjUuNSAtOS41dC0xMC41IDI0LjVsLTUgMTAwMHEwIDIxIDEwLjUgMjUuNXQyNS41IC0xMC41bDQ2NiAtNDUwIGwtMiA0MzhxMCAyMCAxMC41IDI0LjV0MjUuNSAtOS41bDQ2NiAtNDUxbC0yIDQzOHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NzsiIGQ9Ik04NTAgMTEwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDM4bC00NjQgLTQ1M3EtMTUgLTE0IC0yNS41IC0xMHQtMTAuNSAyNXYxMDAwcTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0NjQgLTQ1M3Y0MzhxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzg7IiBkPSJNNjg2IDEwODFsNTAxIC01NDBxMTUgLTE1IDEwLjUgLTI2dC0yNi41IC0xMWgtMTA0MnEtMjIgMCAtMjYuNSAxMXQxMC41IDI2bDUwMSA1NDBxMTUgMTUgMzYgMTV0MzYgLTE1ek0xNTAgNDAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDc5OyIgZD0iTTg4NSA5MDBsLTM1MiAtMzUzbDM1MiAtMzUzbC0xOTcgLTE5OGwtNTUyIDU1Mmw1NTIgNTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODA7IiBkPSJNMTA2NCA1NDdsLTU1MSAtNTUxbC0xOTggMTk4bDM1MyAzNTNsLTM1MyAzNTNsMTk4IDE5OHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDgxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NTAgOTAwaC0xMDBxLTIxIDAgLTM1LjUgLTE0LjV0LTE0LjUgLTM1LjV2LTE1MGgtMTUwIHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMTAwcTAgLTIxIDE0LjUgLTM1LjV0MzUuNSAtMTQuNWgxNTB2LTE1MHEwIC0yMSAxNC41IC0zNS41dDM1LjUgLTE0LjVoMTAwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxNTBoMTUwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxMDBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTE1MHYxNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4MjsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNODUwIDcwMGgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNSB0MzUuNSAtMTQuNWg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDgzOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03NDEuNSA5MTNxLTEyLjUgMCAtMjEuNSAtOWwtMTIwIC0xMjBsLTEyMCAxMjBxLTkgOSAtMjEuNSA5IHQtMjEuNSAtOWwtMTQxIC0xNDFxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxMjAgLTEyMGwtMTIwIC0xMjBxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxNDEgLTE0MXE5IC05IDIxLjUgLTl0MjEuNSA5bDEyMCAxMjBsMTIwIC0xMjBxOSAtOSAyMS41IC05dDIxLjUgOWwxNDEgMTQxcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTIwIDEyMGwxMjAgMTIwcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTQxIDE0MXEtOSA5IC0yMS41IDl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NDsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNTQ2IDYyM2wtODQgODVxLTcgNyAtMTcuNSA3dC0xOC41IC03bC0xMzkgLTEzOXEtNyAtOCAtNyAtMTh0NyAtMTggbDI0MiAtMjQxcTcgLTggMTcuNSAtOHQxNy41IDhsMzc1IDM3NXE3IDcgNyAxNy41dC03IDE4LjVsLTEzOSAxMzlxLTcgNyAtMTcuNSA3dC0xNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODU7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTU4OCA5NDFxLTI5IDAgLTU5IC01LjV0LTYzIC0yMC41dC01OCAtMzguNXQtNDEuNSAtNjN0LTE2LjUgLTg5LjUgcTAgLTI1IDIwIC0yNWgxMzFxMzAgLTUgMzUgMTFxNiAyMCAyMC41IDI4dDQ1LjUgOHEyMCAwIDMxLjUgLTEwLjV0MTEuNSAtMjguNXEwIC0yMyAtNyAtMzR0LTI2IC0xOHEtMSAwIC0xMy41IC00dC0xOS41IC03LjV0LTIwIC0xMC41dC0yMiAtMTd0LTE4LjUgLTI0dC0xNS41IC0zNXQtOCAtNDZxLTEgLTggNS41IC0xNi41dDIwLjUgLTguNWgxNzNxNyAwIDIyIDh0MzUgMjh0MzcuNSA0OHQyOS41IDc0dDEyIDEwMHEwIDQ3IC0xNyA4MyB0LTQyLjUgNTd0LTU5LjUgMzQuNXQtNjQgMTh0LTU5IDQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDg2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NzUgMTAwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNSB0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTY3NSA3MDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNzV2LTIwMGgtNzVxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di01MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDM1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djUwcTAgMTAgLTcuNSAxNy41IHQtMTcuNSA3LjVoLTc1djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NzsiIGQ9Ik01MjUgMTIwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xOTRxMTAzIC0yNyAxNzguNSAtMTAyLjV0MTAyLjUgLTE3OC41aDE5NHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE5NHEtMjcgLTEwMyAtMTAyLjUgLTE3OC41dC0xNzguNSAtMTAyLjV2LTE5NHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE5NCBxLTEwMyAyNyAtMTc4LjUgMTAyLjV0LTEwMi41IDE3OC41aC0xOTRxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxOTRxMjcgMTAzIDEwMi41IDE3OC41dDE3OC41IDEwMi41djE5NHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek03MDAgODkzdi0xNjhxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNjhxLTY4IC0yMyAtMTE5IC03NCB0LTc0IC0xMTloMTY4cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTY4cTIzIC02OCA3NCAtMTE5dDExOSAtNzR2MTY4cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTY4cTY4IDIzIDExOSA3NHQ3NCAxMTloLTE2OHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDE2OCBxLTIzIDY4IC03NCAxMTl0LTExOSA3NHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDg4OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek03NTkgODIzbDY0IC02NHE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTEyNCAtMTI0bDEyNCAtMTI0cTcgLTcgNyAtMTcuNXQtNyAtMTcuNWwtNjQgLTY0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTEyNCAxMjRsLTEyNCAtMTI0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTY0IDY0IHEtNyA3IC03IDE3LjV0NyAxNy41bDEyNCAxMjRsLTEyNCAxMjRxLTcgNyAtNyAxNy41dDcgMTcuNWw2NCA2NHE3IDcgMTcuNSA3dDE3LjUgLTdsMTI0IC0xMjRsMTI0IDEyNHE3IDcgMTcuNSA3dDE3LjUgLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4OTsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNzgyIDc4OGwxMDYgLTEwNnE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTMyMCAtMzIxcS04IC03IC0xOCAtN3QtMTggN2wtMjAyIDIwM3EtOCA3IC04IDE3LjV0OCAxNy41bDEwNiAxMDZxNyA4IDE3LjUgOHQxNy41IC04bDc5IC03OWwxOTcgMTk3cTcgNyAxNy41IDd0MTcuNSAtN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDkwOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjVxMCAtMTIwIDY1IC0yMjUgbDU4NyA1ODdxLTEwNSA2NSAtMjI1IDY1ek05NjUgODE5bC01ODQgLTU4NHExMDQgLTYyIDIxOSAtNjJxMTE2IDAgMjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjVxMCAxMTUgLTYyIDIxOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDkxOyIgZD0iTTM5IDU4Mmw1MjIgNDI3cTE2IDEzIDI3LjUgOHQxMS41IC0yNnYtMjkxaDU1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC01NTB2LTI5MXEwIC0yMSAtMTEuNSAtMjZ0LTI3LjUgOGwtNTIyIDQyN3EtMTYgMTMgLTE2IDMydDE2IDMyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwOTI7IiBkPSJNNjM5IDEwMDlsNTIyIC00MjdxMTYgLTEzIDE2IC0zMnQtMTYgLTMybC01MjIgLTQyN3EtMTYgLTEzIC0yNy41IC04dC0xMS41IDI2djI5MWgtNTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDU1MHYyOTFxMCAyMSAxMS41IDI2dDI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5MzsiIGQ9Ik02ODIgMTE2MWw0MjcgLTUyMnExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTI5MXYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djU1MGgtMjkxcS0yMSAwIC0yNiAxMS41dDggMjcuNWw0MjcgNTIycTEzIDE2IDMyIDE2dDMyIC0xNnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDk0OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUwaDI5MXEyMSAwIDI2IC0xMS41dC04IC0yNy41bC00MjcgLTUyMnEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC00MjcgNTIycS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMjkxdjU1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5NTsiIGQ9Ik02MzkgMTEwOWw1MjIgLTQyN3ExNiAtMTMgMTYgLTMydC0xNiAtMzJsLTUyMiAtNDI3cS0xNiAtMTMgLTI3LjUgLTh0LTExLjUgMjZ2MjkxcS05NCAtMiAtMTgyIC0yMHQtMTcwLjUgLTUydC0xNDcgLTkyLjV0LTEwMC41IC0xMzUuNXE1IDEwNSAyNyAxOTMuNXQ2Ny41IDE2N3QxMTMgMTM1dDE2NyA5MS41dDIyNS41IDQydjI2MnEwIDIxIDExLjUgMjZ0MjcuNSAtOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDk2OyIgZD0iTTg1MCAxMjAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzAwcTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtOTQgOTRsLTI0OSAtMjQ5cS04IC03IC0xOCAtN3QtMTggN2wtMTA2IDEwNnEtNyA4IC03IDE4dDcgMThsMjQ5IDI0OWwtOTQgOTRxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjV6TTM1MCAwaC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djMwMHEwIDIxIDEwLjUgMjV0MjQuNSAtMTBsOTQgLTk0bDI0OSAyNDkgcTggNyAxOCA3dDE4IC03bDEwNiAtMTA2cTcgLTggNyAtMTh0LTcgLTE4bC0yNDkgLTI0OWw5NCAtOTRxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDk3OyIgZD0iTTEwMTQgMTEyMGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMjQ5IC0yNDlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMjQ5IDI0OXE4IDcgMTggN3QxOCAtN3pNMjUwIDYwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMjQ5IC0yNDlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwyNDkgMjQ5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTAxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03MDQgOTAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNSB0MzcuNSAtMTQuNWg1NHEyMCAwIDM3LjUgMTQuNXQyMS41IDM0LjVsNTggMzAycTQgMjAgLTggMzQuNXQtMzIgMTQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTAyOyIgZD0iTTI2MCAxMjAwcTkgMCAxOSAtMnQxNSAtNGw1IC0ycTIyIC0xMCA0NCAtMjNsMTk2IC0xMThxMjEgLTEzIDM2IC0yNHEyOSAtMjEgMzcgLTEycTExIDEzIDQ5IDM1bDE5NiAxMThxMjIgMTMgNDUgMjNxMTcgNyAzOCA3cTIzIDAgNDcgLTE2LjV0MzcgLTMzLjVsMTMgLTE2cTE0IC0yMSAxOCAtNDVsMjUgLTEyM2w4IC00NHExIC05IDguNSAtMTQuNXQxNy41IC01LjVoNjFxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MCBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE3NWgtNDAwdjMwMGgtMjAwdi0zMDBoLTQwMHYxNzVxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNjFxMTEgMCAxOCAzdDcgOHEwIDQgOSA1MmwyNSAxMjhxNSAyNSAxOSA0NXEyIDMgNSA3dDEzLjUgMTV0MjEuNSAxOS41dDI2LjUgMTUuNSB0MjkuNSA3ek05MTUgMTA3OWwtMTY2IC0xNjJxLTcgLTcgLTUgLTEydDEyIC01aDIxOXExMCAwIDE1IDd0MiAxN2wtNTEgMTQ5cS0zIDEwIC0xMSAxMnQtMTUgLTZ6TTQ2MyA5MTdsLTE3NyAxNTdxLTggNyAtMTYgNXQtMTEgLTEybC01MSAtMTQzcS0zIC0xMCAyIC0xN3QxNSAtN2gyMzFxMTEgMCAxMi41IDV0LTUuNSAxMnpNNTAwIDBoLTM3NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWg0MDB2LTQwMHpNMTEwMCA0MDB2LTM3NSBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNzV2NDAwaDQwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTAzOyIgZD0iTTExNjUgMTE5MHE4IDMgMjEgLTYuNXQxMyAtMTcuNXEtMiAtMTc4IC0yNC41IC0zMjMuNXQtNTUuNSAtMjQ1LjV0LTg3IC0xNzQuNXQtMTAyLjUgLTExOC41dC0xMTggLTY4LjV0LTExOC41IC0zM3QtMTIwIC00LjV0LTEwNSA5LjV0LTkwIDE2LjVxLTYxIDEyIC03OCAxMXEtNCAxIC0xMi41IDB0LTM0IC0xNC41dC01Mi41IC00MC41bC0xNTMgLTE1M3EtMjYgLTI0IC0zNyAtMTQuNXQtMTEgNDMuNXEwIDY0IDQyIDEwMnE4IDggNTAuNSA0NSB0NjYuNSA1OHExOSAxNyAzNSA0N3QxMyA2MXEtOSA1NSAtMTAgMTAyLjV0NyAxMTF0MzcgMTMwdDc4IDEyOS41cTM5IDUxIDgwIDg4dDg5LjUgNjMuNXQ5NC41IDQ1dDExMy41IDM2dDEyOSAzMXQxNTcuNSAzN3QxODIgNDcuNXpNMTExNiAxMDk4cS04IDkgLTIyLjUgLTN0LTQ1LjUgLTUwcS0zOCAtNDcgLTExOSAtMTAzLjV0LTE0MiAtODkuNWwtNjIgLTMzcS01NiAtMzAgLTEwMiAtNTd0LTEwNCAtNjh0LTEwMi41IC04MC41dC04NS41IC05MSB0LTY0IC0xMDQuNXEtMjQgLTU2IC0zMSAtODZ0MiAtMzJ0MzEuNSAxNy41dDU1LjUgNTkuNXEyNSAzMCA5NCA3NS41dDEyNS41IDc3LjV0MTQ3LjUgODFxNzAgMzcgMTE4LjUgNjl0MTAyIDc5LjV0OTkgMTExdDg2LjUgMTQ4LjVxMjIgNTAgMjQgNjB0LTYgMTl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNDsiIGQ9Ik02NTMgMTIzMXEtMzkgLTY3IC01NC41IC0xMzF0LTEwLjUgLTExNC41dDI0LjUgLTk2LjV0NDcuNSAtODB0NjMuNSAtNjIuNXQ2OC41IC00Ni41dDY1IC0zMHEtNCA3IC0xNy41IDM1dC0xOC41IDM5LjV0LTE3IDM5LjV0LTE3IDQzdC0xMyA0MnQtOS41IDQ0LjV0LTIgNDJ0NCA0M3QxMy41IDM5dDIzIDM4LjVxOTYgLTQyIDE2NSAtMTA3LjV0MTA1IC0xMzh0NTIgLTE1NnQxMyAtMTU5dC0xOSAtMTQ5LjVxLTEzIC01NSAtNDQgLTEwNi41IHQtNjggLTg3dC03OC41IC02NC41dC03Mi41IC00NXQtNTMgLTIycS03MiAtMjIgLTEyNyAtMTFxLTMxIDYgLTEzIDE5cTYgMyAxNyA3cTEzIDUgMzIuNSAyMXQ0MSA0NHQzOC41IDYzLjV0MjEuNSA4MS41dC02LjUgOTQuNXQtNTAgMTA3dC0xMDQgMTE1LjVxMTAgLTEwNCAtMC41IC0xODl0LTM3IC0xNDAuNXQtNjUgLTkzdC04NCAtNTJ0LTkzLjUgLTExdC05NSAyNC41cS04MCAzNiAtMTMxLjUgMTE0dC01My41IDE3MXEtMiAyMyAwIDQ5LjUgdDQuNSA1Mi41dDEzLjUgNTZ0MjcuNSA2MHQ0NiA2NC41dDY5LjUgNjguNXEtOCAtNTMgLTUgLTEwMi41dDE3LjUgLTkwdDM0IC02OC41dDQ0LjUgLTM5dDQ5IC0ycTMxIDEzIDM4LjUgMzZ0LTQuNSA1NXQtMjkgNjQuNXQtMzYgNzV0LTI2IDc1LjVxLTE1IDg1IDIgMTYxLjV0NTMuNSAxMjguNXQ4NS41IDkyLjV0OTMuNSA2MXQ4MS41IDI1LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNTsiIGQ9Ik02MDAgMTA5NHE4MiAwIDE2MC41IC0yMi41dDE0MCAtNTl0MTE2LjUgLTgyLjV0OTQuNSAtOTV0NjggLTk1dDQyLjUgLTgyLjV0MTQgLTU3LjV0LTE0IC01Ny41dC00MyAtODIuNXQtNjguNSAtOTV0LTk0LjUgLTk1dC0xMTYuNSAtODIuNXQtMTQwIC01OXQtMTU5LjUgLTIyLjV0LTE1OS41IDIyLjV0LTE0MCA1OXQtMTE2LjUgODIuNXQtOTQuNSA5NXQtNjguNSA5NXQtNDMgODIuNXQtMTQgNTcuNXQxNCA1Ny41dDQyLjUgODIuNXQ2OCA5NSB0OTQuNSA5NXQxMTYuNSA4Mi41dDE0MCA1OXQxNjAuNSAyMi41ek04ODggODI5cS0xNSAxNSAtMTggMTJ0NSAtMjJxMjUgLTU3IDI1IC0xMTlxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4dC0yMTIgODh0LTg4IDIxMnEwIDU5IDIzIDExNHE4IDE5IDQuNSAyMnQtMTcuNSAtMTJxLTcwIC02OSAtMTYwIC0xODRxLTEzIC0xNiAtMTUgLTQwLjV0OSAtNDIuNXEyMiAtMzYgNDcgLTcxdDcwIC04MnQ5Mi41IC04MXQxMTMgLTU4LjV0MTMzLjUgLTI0LjUgdDEzMy41IDI0dDExMyA1OC41dDkyLjUgODEuNXQ3MCA4MS41dDQ3IDcwLjVxMTEgMTggOSA0Mi41dC0xNCA0MS41cS05MCAxMTcgLTE2MyAxODl6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wzNSAzNHExNCAxNSAxMi41IDMzLjV0LTE2LjUgMzMuNXEtNDQgNDQgLTg5IDExN3EtMTEgMTggLTI4IDIwdC0zMiAtMTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNjsiIGQ9Ik01OTIgMGgtMTQ4bDMxIDEyMHEtOTEgMjAgLTE3NS41IDY4LjV0LTE0My41IDEwNi41dC0xMDMuNSAxMTl0LTY2LjUgMTEwdC0yMiA3NnEwIDIxIDE0IDU3LjV0NDIuNSA4Mi41dDY4IDk1dDk0LjUgOTV0MTE2LjUgODIuNXQxNDAgNTl0MTYwLjUgMjIuNXE2MSAwIDEyNiAtMTVsMzIgMTIxaDE0OHpNOTQ0IDc3MGw0NyAxODFxMTA4IC04NSAxNzYuNSAtMTkydDY4LjUgLTE1OXEwIC0yNiAtMTkuNSAtNzF0LTU5LjUgLTEwMnQtOTMgLTExMiB0LTEyOSAtMTA0LjV0LTE1OCAtNzUuNWw0NiAxNzNxNzcgNDkgMTM2IDExN3Q5NyAxMzFxMTEgMTggOSA0Mi41dC0xNCA0MS41cS01NCA3MCAtMTA3IDEzMHpNMzEwIDgyNHEtNzAgLTY5IC0xNjAgLTE4NHEtMTMgLTE2IC0xNSAtNDAuNXQ5IC00Mi41cTE4IC0zMCAzOSAtNjB0NTcgLTcwLjV0NzQgLTczdDkwIC02MXQxMDUgLTQxLjVsNDEgMTU0cS0xMDcgMTggLTE3OC41IDEwMS41dC03MS41IDE5My41cTAgNTkgMjMgMTE0cTggMTkgNC41IDIyIHQtMTcuNSAtMTJ6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wxMiAxMWwyMiA4NmwtMyA0cS00NCA0NCAtODkgMTE3cS0xMSAxOCAtMjggMjB0LTMyIC0xMnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTA3OyIgZD0iTS05MCAxMDBsNjQyIDEwNjZxMjAgMzEgNDggMjguNXQ0OCAtMzUuNWw2NDIgLTEwNTZxMjEgLTMyIDcuNSAtNjcuNXQtNTAuNSAtMzUuNWgtMTI5NHEtMzcgMCAtNTAuNSAzNHQ3LjUgNjZ6TTE1NSAyMDBoMzQ1djc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoMzQ1bC00NDUgNzIzek00OTYgNzAwaDIwOHEyMCAwIDMyIC0xNC41dDggLTM0LjVsLTU4IC0yNTIgcS00IC0yMCAtMjEuNSAtMzQuNXQtMzcuNSAtMTQuNWgtNTRxLTIwIDAgLTM3LjUgMTQuNXQtMjEuNSAzNC41bC01OCAyNTJxLTQgMjAgOCAzNC41dDMyIDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwODsiIGQ9Ik02NTAgMTIwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnYtMzM5bDM2MyAtMzI1cTE1IC0xNCAyNiAtMzguNXQxMSAtNDQuNXYtNDFxMCAtMjAgLTEyIC0yNi41dC0yOSA1LjVsLTM1OSAyNDl2LTI2M3ExMDAgLTkzIDEwMCAtMTEzdi02NHEwIC0yMSAtMTMgLTI5dC0zMiAxbC0yMDUgMTI4bC0yMDUgLTEyOHEtMTkgLTkgLTMyIC0xdC0xMyAyOXY2NHEwIDIwIDEwMCAxMTN2MjYzbC0zNTkgLTI0OXEtMTcgLTEyIC0yOSAtNS41dC0xMiAyNi41djQxIHEwIDIwIDExIDQ0LjV0MjYgMzguNWwzNjMgMzI1djMzOXEwIDYyIDQ0IDEwNnQxMDYgNDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwOTsiIGQ9Ik04NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTExMDB2MTUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMTAwIDgwMHYtNzUwcTAgLTIxIC0xNC41IC0zNS41IHQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NzUwaDExMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTcwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTkwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA0MDAgdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek0xMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek0zMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek01MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTA7IiBkPSJNMTEzNSAxMTY1bDI0OSAtMjMwcTE1IC0xNCAxNSAtMzV0LTE1IC0zNWwtMjQ5IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC0xNTlsLTYwMCAtNjAwaC0yOTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjA5bDYwMCA2MDBoMjQxdjE1MHEwIDIxIDEwLjUgMjV0MjQuNSAtMTB6TTUyMiA4MTlsLTE0MSAtMTQxbC0xMjIgMTIyaC0yMDlxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI5MXpNMTEzNSA1NjVsMjQ5IC0yMzBxMTUgLTE0IDE1IC0zNXQtMTUgLTM1bC0yNDkgLTIzMHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYxNTBoLTI0MWwtMTgxIDE4MWwxNDEgMTQxbDEyMiAtMTIyaDE1OXYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTE7IiBkPSJNMTAwIDExMDBoMTAwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC01OTZsLTMwNCAtMzAwdjMwMGgtMTAwcS00MSAwIC03MC41IDI5LjV0LTI5LjUgNzAuNXY2MDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTI7IiBkPSJNMTUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTMwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMzAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTExMDAgODAwdi0zMDBxMCAtNDEgLTMgLTc3LjV0LTE1IC04OS41dC0zMiAtOTZ0LTU4IC04OXQtODkgLTc3dC0xMjkgLTUxdC0xNzQgLTIwdC0xNzQgMjAgdC0xMjkgNTF0LTg5IDc3dC01OCA4OXQtMzIgOTZ0LTE1IDg5LjV0LTMgNzcuNXYzMDBoMzAwdi0yNTB2LTI3di00Mi41dDEuNSAtNDF0NSAtMzh0MTAgLTM1dDE2LjUgLTMwdDI1LjUgLTI0LjV0MzUgLTE5dDQ2LjUgLTEydDYwIC00dDYwIDQuNXQ0Ni41IDEyLjV0MzUgMTkuNXQyNSAyNS41dDE3IDMwLjV0MTAgMzV0NSAzOHQyIDQwLjV0LTAuNSA0MnYyNXYyNTBoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTM7IiBkPSJNMTEwMCA0MTFsLTE5OCAtMTk5bC0zNTMgMzUzbC0zNTMgLTM1M2wtMTk3IDE5OWw1NTEgNTUxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTQ7IiBkPSJNMTEwMSA3ODlsLTU1MCAtNTUxbC01NTEgNTUxbDE5OCAxOTlsMzUzIC0zNTNsMzUzIDM1M3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTE1OyIgZD0iTTQwNCAxMDAwaDc0NnEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUxaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtMjMwIC0yNDlxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI0OXEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNWgxNTB2NDAxaC0zODF6TTEzNSA5ODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi00MDBoMzg1bDIxNSAtMjAwaC03NTBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXY1NTBoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTY7IiBkPSJNNTYgMTIwMGg5NHExNyAwIDMxIC0xMXQxOCAtMjdsMzggLTE2Mmg4OTZxMjQgMCAzOSAtMTguNXQxMCAtNDIuNWwtMTAwIC00NzVxLTUgLTIxIC0yNyAtNDIuNXQtNTUgLTIxLjVoLTYzM2w0OCAtMjAwaDUzNXEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41dC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MGgtMzAwdi01MCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaC0zMXEtMTggMCAtMzIuNSAxMHQtMjAuNSAxOWwtNSAxMGwtMjAxIDk2MWgtNTRxLTIwIDAgLTM1IDE0LjV0LTE1IDM1LjV0MTUgMzUuNXQzNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTc7IiBkPSJNMTIwMCAxMDAwdi0xMDBoLTEyMDB2MTAwaDIwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41aDUwMHpNMCA4MDBoMTIwMHYtODAwaC0xMjAwdjgwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTE4OyIgZD0iTTIwMCA4MDBsLTIwMCAtNDAwdjYwMGgyMDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41aDMwMHE0MiAwIDcxIC0yOS41dDI5IC03MC41aDUwMHYtMjAwaC0xMDAwek0xNTAwIDcwMGwtMzAwIC03MDBoLTEyMDBsMzAwIDcwMGgxMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTk7IiBkPSJNNjM1IDExODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi02MDFoMTUwcTIxIDAgMjUgLTEwLjV0LTEwIC0yNC41bC0yMzAgLTI0OXEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjQ5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41aDE1MHY2MDFoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjA7IiBkPSJNOTM2IDg2NGwyNDkgLTIyOXExNCAtMTUgMTQgLTM1LjV0LTE0IC0zNS41bC0yNDkgLTIyOXEtMTUgLTE1IC0yNS41IC0xMC41dC0xMC41IDI0LjV2MTUxaC02MDB2LTE1MXEwIC0yMCAtMTAuNSAtMjQuNXQtMjUuNSAxMC41bC0yNDkgMjI5cS0xNCAxNSAtMTQgMzUuNXQxNCAzNS41bDI0OSAyMjlxMTUgMTUgMjUuNSAxMC41dDEwLjUgLTI1LjV2LTE0OWg2MDB2MTQ5cTAgMjEgMTAuNSAyNS41dDI1LjUgLTEwLjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMTsiIGQ9Ik0xMTY5IDQwMGwtMTcyIDczMnEtNSAyMyAtMjMgNDUuNXQtMzggMjIuNWgtNjcycS0yMCAwIC0zOCAtMjB0LTIzIC00MWwtMTcyIC03MzloMTEzOHpNMTEwMCAzMDBoLTEwMDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTEwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoMTAwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek04MDAgMTAwdjEwMGgxMDB2LTEwMGgtMTAwIHpNMTAwMCAxMDB2MTAwaDEwMHYtMTAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMjsiIGQ9Ik0xMTUwIDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTg1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUuNSAxNC41dC0xNC41IDM1LjV2ODUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTAwMCAyMDBsLTY3NSAyMDBoLTM4bDQ3IC0yNzZxMyAtMTYgLTUuNSAtMjB0LTI5LjUgLTRoLTdoLTg0cS0yMCAwIC0zNC41IDE0dC0xOC41IDM1cS01NSAzMzcgLTU1IDM1MXYyNTB2NnEwIDE2IDEgMjMuNXQ2LjUgMTQgdDE3LjUgNi41aDIwMGw2NzUgMjUwdi04NTB6TTAgNzUwdi0yNTBxLTQgMCAtMTEgMC41dC0yNCA2dC0zMCAxNXQtMjQgMzB0LTExIDQ4LjV2NTBxMCAyNiAxMC41IDQ2dDI1IDMwdDI5IDE2dDI1LjUgN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTIzOyIgZD0iTTU1MyAxMjAwaDk0cTIwIDAgMjkgLTEwLjV0MyAtMjkuNWwtMTggLTM3cTgzIC0xOSAxNDQgLTgyLjV0NzYgLTE0MC41bDYzIC0zMjdsMTE4IC0xNzNoMTdxMTkgMCAzMyAtMTQuNXQxNCAtMzV0LTEzIC00MC41dC0zMSAtMjdxLTggLTQgLTIzIC05LjV0LTY1IC0xOS41dC0xMDMgLTI1dC0xMzIuNSAtMjB0LTE1OC41IC05cS01NyAwIC0xMTUgNXQtMTA0IDEydC04OC41IDE1LjV0LTczLjUgMTcuNXQtNTQuNSAxNnQtMzUuNSAxMmwtMTEgNCBxLTE4IDggLTMxIDI4dC0xMyA0MC41dDE0IDM1dDMzIDE0LjVoMTdsMTE4IDE3M2w2MyAzMjdxMTUgNzcgNzYgMTQwdDE0NCA4M2wtMTggMzJxLTYgMTkgMy41IDMydDI4LjUgMTN6TTQ5OCAxMTBxNTAgLTYgMTAyIC02cTUzIDAgMTAyIDZxLTEyIC00OSAtMzkuNSAtNzkuNXQtNjIuNSAtMzAuNXQtNjMgMzAuNXQtMzkgNzkuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTI0OyIgZD0iTTgwMCA5NDZsMjI0IDc4bC03OCAtMjI0bDIzNCAtNDVsLTE4MCAtMTU1bDE4MCAtMTU1bC0yMzQgLTQ1bDc4IC0yMjRsLTIyNCA3OGwtNDUgLTIzNGwtMTU1IDE4MGwtMTU1IC0xODBsLTQ1IDIzNGwtMjI0IC03OGw3OCAyMjRsLTIzNCA0NWwxODAgMTU1bC0xODAgMTU1bDIzNCA0NWwtNzggMjI0bDIyNCAtNzhsNDUgMjM0bDE1NSAtMTgwbDE1NSAxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyNTsiIGQ9Ik02NTAgMTIwMGg1MHE0MCAwIDcwIC00MC41dDMwIC04NC41di0xNTBsLTI4IC0xMjVoMzI4cTQwIDAgNzAgLTQwLjV0MzAgLTg0LjV2LTEwMHEwIC00NSAtMjkgLTc0bC0yMzggLTM0NHEtMTYgLTI0IC0zOCAtNDAuNXQtNDUgLTE2LjVoLTI1MHEtNyAwIC00MiAyNXQtNjYgNTBsLTMxIDI1aC02MXEtNDUgMCAtNzIuNSAxOHQtMjcuNSA1N3Y0MDBxMCAzNiAyMCA2M2wxNDUgMTk2bDk2IDE5OHExMyAyOCAzNy41IDQ4dDUxLjUgMjB6IE02NTAgMTEwMGwtMTAwIC0yMTJsLTE1MCAtMjEzdi0zNzVoMTAwbDEzNiAtMTAwaDIxNGwyNTAgMzc1djEyNWgtNDUwbDUwIDIyNXYxNzVoLTUwek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTI2OyIgZD0iTTYwMCAxMTAwaDI1MHEyMyAwIDQ1IC0xNi41dDM4IC00MC41bDIzOCAtMzQ0cTI5IC0yOSAyOSAtNzR2LTEwMHEwIC00NCAtMzAgLTg0LjV0LTcwIC00MC41aC0zMjhxMjggLTExOCAyOCAtMTI1di0xNTBxMCAtNDQgLTMwIC04NC41dC03MCAtNDAuNWgtNTBxLTI3IDAgLTUxLjUgMjB0LTM3LjUgNDhsLTk2IDE5OGwtMTQ1IDE5NnEtMjAgMjcgLTIwIDYzdjQwMHEwIDM5IDI3LjUgNTd0NzIuNSAxOGg2MXExMjQgMTAwIDEzOSAxMDB6IE01MCAxMDAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTYzNiAxMDAwbC0xMzYgLTEwMGgtMTAwdi0zNzVsMTUwIC0yMTNsMTAwIC0yMTJoNTB2MTc1bC01MCAyMjVoNDUwdjEyNWwtMjUwIDM3NWgtMjE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjc7IiBkPSJNMzU2IDg3M2wzNjMgMjMwcTMxIDE2IDUzIC02bDExMCAtMTEycTEzIC0xMyAxMy41IC0zMnQtMTEuNSAtMzRsLTg0IC0xMjFoMzAycTg0IDAgMTM4IC0zOHQ1NCAtMTEwdC01NSAtMTExdC0xMzkgLTM5aC0xMDZsLTEzMSAtMzM5cS02IC0yMSAtMTkuNSAtNDF0LTI4LjUgLTIwaC0zNDJxLTcgMCAtOTAgODF0LTgzIDk0djUyNXEwIDE3IDE0IDM1LjV0MjggMjguNXpNNDAwIDc5MnYtNTAzbDEwMCAtODloMjkzbDEzMSAzMzkgcTYgMjEgMTkuNSA0MXQyOC41IDIwaDIwM3EyMSAwIDMwLjUgMjV0MC41IDUwdC0zMSAyNWgtNDU2aC03aC02aC01LjV0LTYgMC41dC01IDEuNXQtNSAydC00IDIuNXQtNCA0dC0yLjUgNC41cS0xMiAyNSA1IDQ3bDE0NiAxODNsLTg2IDgzek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwIHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyODsiIGQ9Ik00NzUgMTEwM2wzNjYgLTIzMHEyIC0xIDYgLTMuNXQxNCAtMTAuNXQxOCAtMTYuNXQxNC41IC0yMHQ2LjUgLTIyLjV2LTUyNXEwIC0xMyAtODYgLTk0dC05MyAtODFoLTM0MnEtMTUgMCAtMjguNSAyMHQtMTkuNSA0MWwtMTMxIDMzOWgtMTA2cS04NSAwIC0xMzkuNSAzOXQtNTQuNSAxMTF0NTQgMTEwdDEzOCAzOGgzMDJsLTg1IDEyMXEtMTEgMTUgLTEwLjUgMzR0MTMuNSAzMmwxMTAgMTEycTIyIDIyIDUzIDZ6TTM3MCA5NDVsMTQ2IC0xODMgcTE3IC0yMiA1IC00N3EtMiAtMiAtMy41IC00LjV0LTQgLTR0LTQgLTIuNXQtNSAtMnQtNSAtMS41dC02IC0wLjVoLTZoLTYuNWgtNmgtNDc1di0xMDBoMjIxcTE1IDAgMjkgLTIwdDIwIC00MWwxMzAgLTMzOWgyOTRsMTA2IDg5djUwM2wtMzQyIDIzNnpNMTA1MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjUgdjUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyOTsiIGQ9Ik01NTAgMTI5NHE3MiAwIDExMSAtNTV0MzkgLTEzOXYtMTA2bDMzOSAtMTMxcTIxIC02IDQxIC0xOS41dDIwIC0yOC41di0zNDJxMCAtNyAtODEgLTkwdC05NCAtODNoLTUyNXEtMTcgMCAtMzUuNSAxNHQtMjguNSAyOGwtOSAxNGwtMjMwIDM2M3EtMTYgMzEgNiA1M2wxMTIgMTEwcTEzIDEzIDMyIDEzLjV0MzQgLTExLjVsMTIxIC04NHYzMDJxMCA4NCAzOCAxMzh0MTEwIDU0ek02MDAgOTcydjIwM3EwIDIxIC0yNSAzMC41dC01MCAwLjUgdC0yNSAtMzF2LTQ1NnYtN3YtNnYtNS41dC0wLjUgLTZ0LTEuNSAtNXQtMiAtNXQtMi41IC00dC00IC00dC00LjUgLTIuNXEtMjUgLTEyIC00NyA1bC0xODMgMTQ2bC04MyAtODZsMjM2IC0zMzloNTAzbDg5IDEwMHYyOTNsLTMzOSAxMzFxLTIxIDYgLTQxIDE5LjV0LTIwIDI4LjV6TTQ1MCAyMDBoNTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTUwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMDsiIGQ9Ik0zNTAgMTEwMGg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNWgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41ek02MDAgMzA2di0xMDZxMCAtODQgLTM5IC0xMzl0LTExMSAtNTV0LTExMCA1NHQtMzggMTM4djMwMmwtMTIxIC04NHEtMTUgLTEyIC0zNCAtMTEuNXQtMzIgMTMuNWwtMTEyIDExMCBxLTIyIDIyIC02IDUzbDIzMCAzNjNxMSAyIDMuNSA2dDEwLjUgMTMuNXQxNi41IDE3dDIwIDEzLjV0MjIuNSA2aDUyNXExMyAwIDk0IC04M3Q4MSAtOTB2LTM0MnEwIC0xNSAtMjAgLTI4LjV0LTQxIC0xOS41ek0zMDggOTAwbC0yMzYgLTMzOWw4MyAtODZsMTgzIDE0NnEyMiAxNyA0NyA1cTIgLTEgNC41IC0yLjV0NCAtNHQyLjUgLTR0MiAtNXQxLjUgLTV0MC41IC02di01LjV2LTZ2LTd2LTQ1NnEwIC0yMiAyNSAtMzF0NTAgMC41dDI1IDMwLjUgdjIwM3EwIDE1IDIwIDI4LjV0NDEgMTkuNWwzMzkgMTMxdjI5M2wtODkgMTAwaC01MDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMTsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNOTE0IDYzMmwtMjc1IDIyM3EtMTYgMTMgLTI3LjUgOHQtMTEuNSAtMjZ2LTEzN2gtMjc1IHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDI3NXYtMTM3cTAgLTIxIDExLjUgLTI2dDI3LjUgOGwyNzUgMjIzcTE2IDEzIDE2IDMydC0xNiAzMnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTMyOyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek01NjEgODU1bC0yNzUgLTIyM3EtMTYgLTEzIC0xNiAtMzJ0MTYgLTMybDI3NSAtMjIzcTE2IC0xMyAyNy41IC04IHQxMS41IDI2djEzN2gyNzVxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXYxNTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC0yNzV2MTM3cTAgMjEgLTExLjUgMjZ0LTI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMzsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNODU1IDYzOWwtMjIzIDI3NXEtMTMgMTYgLTMyIDE2dC0zMiAtMTZsLTIyMyAtMjc1cS0xMyAtMTYgLTggLTI3LjUgdDI2IC0xMS41aDEzN3YtMjc1cTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2Mjc1aDEzN3EyMSAwIDI2IDExLjV0LTggMjcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTM0OyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek02NzUgOTAwaC0xNTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0yNzVoLTEzN3EtMjEgMCAtMjYgLTExLjUgdDggLTI3LjVsMjIzIC0yNzVxMTMgLTE2IDMyIC0xNnQzMiAxNmwyMjMgMjc1cTEzIDE2IDggMjcuNXQtMjYgMTEuNWgtMTM3djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzNTsiIGQ9Ik02MDAgMTE3NnExMTYgMCAyMjIuNSAtNDZ0MTg0IC0xMjMuNXQxMjMuNSAtMTg0dDQ2IC0yMjIuNXQtNDYgLTIyMi41dC0xMjMuNSAtMTg0dC0xODQgLTEyMy41dC0yMjIuNSAtNDZ0LTIyMi41IDQ2dC0xODQgMTIzLjV0LTEyMy41IDE4NHQtNDYgMjIyLjV0NDYgMjIyLjV0MTIzLjUgMTg0dDE4NCAxMjMuNXQyMjIuNSA0NnpNNjI3IDExMDFxLTE1IC0xMiAtMzYuNSAtMjAuNXQtMzUuNSAtMTJ0LTQzIC04dC0zOSAtNi41IHEtMTUgLTMgLTQ1LjUgMHQtNDUuNSAtMnEtMjAgLTcgLTUxLjUgLTI2LjV0LTM0LjUgLTM0LjVxLTMgLTExIDYuNSAtMjIuNXQ4LjUgLTE4LjVxLTMgLTM0IC0yNy41IC05MXQtMjkuNSAtNzlxLTkgLTM0IDUgLTkzdDggLTg3cTAgLTkgMTcgLTQ0LjV0MTYgLTU5LjVxMTIgMCAyMyAtNXQyMy41IC0xNXQxOS41IC0xNHExNiAtOCAzMyAtMTV0NDAuNSAtMTV0MzQuNSAtMTJxMjEgLTkgNTIuNSAtMzJ0NjAgLTM4dDU3LjUgLTExIHE3IC0xNSAtMyAtMzR0LTIyLjUgLTQwdC05LjUgLTM4cTEzIC0yMSAyMyAtMzQuNXQyNy41IC0yNy41dDM2LjUgLTE4cTAgLTcgLTMuNSAtMTZ0LTMuNSAtMTR0NSAtMTdxMTA0IC0yIDIyMSAxMTJxMzAgMjkgNDYuNSA0N3QzNC41IDQ5dDIxIDYzcS0xMyA4IC0zNyA4LjV0LTM2IDcuNXEtMTUgNyAtNDkuNSAxNXQtNTEuNSAxOXEtMTggMCAtNDEgLTAuNXQtNDMgLTEuNXQtNDIgLTYuNXQtMzggLTE2LjVxLTUxIC0zNSAtNjYgLTEyIHEtNCAxIC0zLjUgMjUuNXQwLjUgMjUuNXEtNiAxMyAtMjYuNSAxNy41dC0yNC41IDYuNXExIDE1IC0wLjUgMzAuNXQtNyAyOHQtMTguNSAxMS41dC0zMSAtMjFxLTIzIC0yNSAtNDIgNHEtMTkgMjggLTggNThxNiAxNiAyMiAyMnE2IC0xIDI2IC0xLjV0MzMuNSAtNHQxOS41IC0xMy41cTcgLTEyIDE4IC0yNHQyMS41IC0yMC41dDIwIC0xNXQxNS41IC0xMC41bDUgLTNxMiAxMiA3LjUgMzAuNXQ4IDM0LjV0LTAuNSAzMnEtMyAxOCAzLjUgMjkgdDE4IDIyLjV0MTUuNSAyNC41cTYgMTQgMTAuNSAzNXQ4IDMxdDE1LjUgMjIuNXQzNCAyMi41cS02IDE4IDEwIDM2cTggMCAyNCAtMS41dDI0LjUgLTEuNXQyMCA0LjV0MjAuNSAxNS41cS0xMCAyMyAtMzEgNDIuNXQtMzcuNSAyOS41dC00OSAyN3QtNDMuNSAyM3EwIDEgMiA4dDMgMTEuNXQxLjUgMTAuNXQtMSA5LjV0LTQuNSA0LjVxMzEgLTEzIDU4LjUgLTE0LjV0MzguNSAyLjVsMTIgNXE1IDI4IC05LjUgNDZ0LTM2LjUgMjR0LTUwIDE1IHQtNDEgMjBxLTE4IC00IC0zNyAwek02MTMgOTk0cTAgLTE3IDggLTQydDE3IC00NXQ5IC0yM3EtOCAxIC0zOS41IDUuNXQtNTIuNSAxMHQtMzcgMTYuNXEzIDExIDE2IDI5LjV0MTYgMjUuNXExMCAtMTAgMTkgLTEwdDE0IDZ0MTMuNSAxNC41dDE2LjUgMTIuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTM2OyIgZD0iTTc1NiAxMTU3cTE2NCA5MiAzMDYgLTlsLTI1OSAtMTM4bDE0NSAtMjMybDI1MSAxMjZxNiAtODkgLTM0IC0xNTYuNXQtMTE3IC0xMTAuNXEtNjAgLTM0IC0xMjcgLTM5LjV0LTEyNiAxNi41bC01OTYgLTU5NnEtMTUgLTE2IC0zNi41IC0xNnQtMzYuNSAxNmwtMTExIDExMHEtMTUgMTUgLTE1IDM2LjV0MTUgMzcuNWw2MDAgNTk5cS0zNCAxMDEgNS41IDIwMS41dDEzNS41IDE1NC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzc7IiBob3Jpei1hZHYteD0iMTIyMCIgZD0iTTEwMCAxMTk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAxMDk2aC0yMDB2LTEwMGgyMDB2MTAwek0xMDAgNzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMCBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTExMDAgNjk2aC01MDB2LTEwMGg1MDB2MTAwek0xMDAgMzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAyOTZoLTMwMHYtMTAwaDMwMHYxMDB6ICIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzg7IiBkPSJNMTUwIDEyMDBoOTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41dC0xNC41IC0zNS41dC0zNS41IC0xNC41aC05MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA1MDB2LTMwMGwtMjAwIC0yMDB2NTAwbC0zNTAgNTAwaDkwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTM5OyIgZD0iTTUwMCAxMjAwaDIwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtMTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNDAwaC01MDB2MTAwaC0yMDB2LTEwMGgtNTAwdjQwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwdjEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTUwMCAxMTAwdi0xMDBoMjAwdjEwMGgtMjAwek0xMjAwIDQwMHYtMjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0xMDAwIHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MjAwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MDsiIGQ9Ik01MCAxMjAwaDMwMHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtOTQgLTk0bDE5OSAtMTk5cTcgLTggNyAtMTh0LTcgLTE4bC0xMDYgLTEwNnEtOCAtNyAtMTggLTd0LTE4IDdsLTE5OSAxOTlsLTk0IC05NHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMTk5IC0xOTlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwxOTkgMTk5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNMzY0IDQ3MGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMTk5IC0xOTlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMTk5IDE5OSBxOCA3IDE4IDd0MTggLTd6TTEwNzEgMjcxbDk0IDk0cTE0IDE0IDI0LjUgMTB0MTAuNSAtMjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0yNSAxMC41dDEwIDI0LjVsOTQgOTRsLTE5OSAxOTlxLTcgOCAtNyAxOHQ3IDE4bDEwNiAxMDZxOCA3IDE4IDd0MTggLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MTsiIGQ9Ik01OTYgMTE5MnExMjEgMCAyMzEuNSAtNDcuNXQxOTAgLTEyN3QxMjcgLTE5MHQ0Ny41IC0yMzEuNXQtNDcuNSAtMjMxLjV0LTEyNyAtMTkwLjV0LTE5MCAtMTI3dC0yMzEuNSAtNDd0LTIzMS41IDQ3dC0xOTAuNSAxMjd0LTEyNyAxOTAuNXQtNDcgMjMxLjV0NDcgMjMxLjV0MTI3IDE5MHQxOTAuNSAxMjd0MjMxLjUgNDcuNXpNNTk2IDEwMTBxLTExMiAwIC0yMDcuNSAtNTUuNXQtMTUxIC0xNTF0LTU1LjUgLTIwNy41dDU1LjUgLTIwNy41IHQxNTEgLTE1MXQyMDcuNSAtNTUuNXQyMDcuNSA1NS41dDE1MSAxNTF0NTUuNSAyMDcuNXQtNTUuNSAyMDcuNXQtMTUxIDE1MXQtMjA3LjUgNTUuNXpNNDU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOC41IC0xNi41dC0zOC41IDE2LjV0LTE2IDM5dDE2IDM4LjV0MzguNSAxNnpNNzU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOCAtMTYuNXEtMTQgMCAtMjkgMTBsLTU1IC0xNDUgcTE3IC0yMyAxNyAtNTFxMCAtMzYgLTI1LjUgLTYxLjV0LTYxLjUgLTI1LjV0LTYxLjUgMjUuNXQtMjUuNSA2MS41cTAgMzIgMjAuNSA1Ni41dDUxLjUgMjkuNWwxMjIgMTI2bDEgMXEtOSAxNCAtOSAyOHEwIDIzIDE2IDM5dDM4LjUgMTZ6TTM0NS41IDcwOXEyMi41IDAgMzguNSAtMTZ0MTYgLTM4LjV0LTE2IC0zOC41dC0zOC41IC0xNnQtMzguNSAxNnQtMTYgMzguNXQxNiAzOC41dDM4LjUgMTZ6TTg1NC41IDcwOXEyMi41IDAgMzguNSAtMTYgdDE2IC0zOC41dC0xNiAtMzguNXQtMzguNSAtMTZ0LTM4LjUgMTZ0LTE2IDM4LjV0MTYgMzguNXQzOC41IDE2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDI7IiBkPSJNNTQ2IDE3M2w0NjkgNDcwcTkxIDkxIDk5IDE5MnE3IDk4IC01MiAxNzUuNXQtMTU0IDk0LjVxLTIyIDQgLTQ3IDRxLTM0IDAgLTY2LjUgLTEwdC01Ni41IC0yM3QtNTUuNSAtMzh0LTQ4IC00MS41dC00OC41IC00Ny41cS0zNzYgLTM3NSAtMzkxIC0zOTBxLTMwIC0yNyAtNDUgLTQxLjV0LTM3LjUgLTQxdC0zMiAtNDYuNXQtMTYgLTQ3LjV0LTEuNSAtNTYuNXE5IC02MiA1My41IC05NXQ5OS41IC0zM3E3NCAwIDEyNSA1MWw1NDggNTQ4IHEzNiAzNiAyMCA3NXEtNyAxNiAtMjEuNSAyNnQtMzIuNSAxMHEtMjYgMCAtNTAgLTIzcS0xMyAtMTIgLTM5IC0zOGwtMzQxIC0zMzhxLTE1IC0xNSAtMzUuNSAtMTUuNXQtMzQuNSAxMy41dC0xNCAzNC41dDE0IDM0LjVxMzI3IDMzMyAzNjEgMzY3cTM1IDM1IDY3LjUgNTEuNXQ3OC41IDE2LjVxMTQgMCAyOSAtMXE0NCAtOCA3NC41IC0zNS41dDQzLjUgLTY4LjVxMTQgLTQ3IDIgLTk2LjV0LTQ3IC04NC41cS0xMiAtMTEgLTMyIC0zMiB0LTc5LjUgLTgxdC0xMTQuNSAtMTE1dC0xMjQuNSAtMTIzLjV0LTEyMyAtMTE5LjV0LTk2LjUgLTg5dC01NyAtNDVxLTU2IC0yNyAtMTIwIC0yN3EtNzAgMCAtMTI5IDMydC05MyA4OXEtNDggNzggLTM1IDE3M3Q4MSAxNjNsNTExIDUxMXE3MSA3MiAxMTEgOTZxOTEgNTUgMTk4IDU1cTgwIDAgMTUyIC0zM3E3OCAtMzYgMTI5LjUgLTEwM3Q2Ni41IC0xNTRxMTcgLTkzIC0xMSAtMTgzLjV0LTk0IC0xNTYuNWwtNDgyIC00NzYgcS0xNSAtMTUgLTM2IC0xNnQtMzcgMTR0LTE3LjUgMzR0MTQuNSAzNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTQzOyIgZD0iTTY0OSA5NDlxNDggNjggMTA5LjUgMTA0dDEyMS41IDM4LjV0MTE4LjUgLTIwdDEwMi41IC02NHQ3MSAtMTAwLjV0MjcgLTEyM3EwIC01NyAtMzMuNSAtMTE3LjV0LTk0IC0xMjQuNXQtMTI2LjUgLTEyNy41dC0xNTAgLTE1Mi41dC0xNDYgLTE3NHEtNjIgODUgLTE0NS41IDE3NHQtMTUwIDE1Mi41dC0xMjYuNSAxMjcuNXQtOTMuNSAxMjQuNXQtMzMuNSAxMTcuNXEwIDY0IDI4IDEyM3Q3MyAxMDAuNXQxMDQgNjR0MTE5IDIwIHQxMjAuNSAtMzguNXQxMDQuNSAtMTA0ek04OTYgOTcycS0zMyAwIC02NC41IC0xOXQtNTYuNSAtNDZ0LTQ3LjUgLTUzLjV0LTQzLjUgLTQ1LjV0LTM3LjUgLTE5dC0zNiAxOXQtNDAgNDUuNXQtNDMgNTMuNXQtNTQgNDZ0LTY1LjUgMTlxLTY3IDAgLTEyMi41IC01NS41dC01NS41IC0xMzIuNXEwIC0yMyAxMy41IC01MXQ0NiAtNjV0NTcuNSAtNjN0NzYgLTc1bDIyIC0yMnExNSAtMTQgNDQgLTQ0dDUwLjUgLTUxdDQ2IC00NHQ0MSAtMzV0MjMgLTEyIHQyMy41IDEydDQyLjUgMzZ0NDYgNDR0NTIuNSA1MnQ0NCA0M3E0IDQgMTIgMTNxNDMgNDEgNjMuNSA2MnQ1MiA1NXQ0NiA1NXQyNiA0NnQxMS41IDQ0cTAgNzkgLTUzIDEzMy41dC0xMjAgNTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTQ0OyIgZD0iTTc3Ni41IDEyMTRxOTMuNSAwIDE1OS41IC02NmwxNDEgLTE0MXE2NiAtNjYgNjYgLTE2MHEwIC00MiAtMjggLTk1LjV0LTYyIC04Ny41bC0yOSAtMjlxLTMxIDUzIC03NyA5OWwtMTggMThsOTUgOTVsLTI0NyAyNDhsLTM4OSAtMzg5bDIxMiAtMjEybC0xMDUgLTEwNmwtMTkgMThsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTl0NjYgMTU5bDI4MyAyODNxNjUgNjYgMTU4LjUgNjZ6TTYwMCA3MDZsMTA1IDEwNXExMCAtOCAxOSAtMTdsMTQxIC0xNDEgcTY2IC02NiA2NiAtMTU5dC02NiAtMTU5bC0yODMgLTI4M3EtNjYgLTY2IC0xNTkgLTY2dC0xNTkgNjZsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTkuNXQ2NiAxNTkuNWw1NSA1NXEyOSAtNTUgNzUgLTEwMmwxOCAtMTdsLTk1IC05NWwyNDcgLTI0OGwzODkgMzg5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDU7IiBkPSJNNjAzIDEyMDBxODUgMCAxNjIgLTE1dDEyNyAtMzh0NzkgLTQ4dDI5IC00NnYtOTUzcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djk1M3EwIDIxIDMwIDQ2LjV0ODEgNDh0MTI5IDM3LjV0MTYzIDE1ek0zMDAgMTAwMHYtNzAwaDYwMHY3MDBoLTYwMHpNNjAwIDI1NHEtNDMgMCAtNzMuNSAtMzAuNXQtMzAuNSAtNzMuNXQzMC41IC03My41dDczLjUgLTMwLjV0NzMuNSAzMC41IHQzMC41IDczLjV0LTMwLjUgNzMuNXQtNzMuNSAzMC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDY7IiBkPSJNOTAyIDExODVsMjgzIC0yODJxMTUgLTE1IDE1IC0zNnQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUgMTVsLTM2IDM1bC0yNzkgLTI2N3YtMzAwbC0yMTIgMjEwbC0zMDggLTMwN2wtMjgwIC0yMDNsMjAzIDI4MGwzMDcgMzA4bC0yMTAgMjEyaDMwMGwyNjcgMjc5bC0zNSAzNnEtMTUgMTQgLTE1IDM1dDE0LjUgMzUuNXQzNS41IDE0LjV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDg7IiBkPSJNNzAwIDEyNDh2LTc4cTM4IC01IDcyLjUgLTE0LjV0NzUuNSAtMzEuNXQ3MSAtNTMuNXQ1MiAtODR0MjQgLTExOC41aC0xNTlxLTQgMzYgLTEwLjUgNTl0LTIxIDQ1dC00MCAzNS41dC02NC41IDIwLjV2LTMwN2w2NCAtMTNxMzQgLTcgNjQgLTE2LjV0NzAgLTMydDY3LjUgLTUyLjV0NDcuNSAtODB0MjAgLTExMnEwIC0xMzkgLTg5IC0yMjR0LTI0NCAtOTd2LTc3aC0xMDB2NzlxLTE1MCAxNiAtMjM3IDEwM3EtNDAgNDAgLTUyLjUgOTMuNSB0LTE1LjUgMTM5LjVoMTM5cTUgLTc3IDQ4LjUgLTEyNnQxMTcuNSAtNjV2MzM1bC0yNyA4cS00NiAxNCAtNzkgMjYuNXQtNzIgMzZ0LTYzIDUydC00MCA3Mi41dC0xNiA5OHEwIDcwIDI1IDEyNnQ2Ny41IDkydDk0LjUgNTd0MTEwIDI3djc3aDEwMHpNNjAwIDc1NHYyNzRxLTI5IC00IC01MCAtMTF0LTQyIC0yMS41dC0zMS41IC00MS41dC0xMC41IC02NXEwIC0yOSA3IC01MC41dDE2LjUgLTM0dDI4LjUgLTIyLjV0MzEuNSAtMTR0MzcuNSAtMTAgcTkgLTMgMTMgLTR6TTcwMCA1NDd2LTMxMHEyMiAyIDQyLjUgNi41dDQ1IDE1LjV0NDEuNSAyN3QyOSA0MnQxMiA1OS41dC0xMi41IDU5LjV0LTM4IDQ0LjV0LTUzIDMxdC02Ni41IDI0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0OTsiIGQ9Ik01NjEgMTE5N3E4NCAwIDE2MC41IC00MHQxMjMuNSAtMTA5LjV0NDcgLTE0Ny41aC0xNTNxMCA0MCAtMTkuNSA3MS41dC00OS41IDQ4LjV0LTU5LjUgMjZ0LTU1LjUgOXEtMzcgMCAtNzkgLTE0LjV0LTYyIC0zNS41cS00MSAtNDQgLTQxIC0xMDFxMCAtMjYgMTMuNSAtNjN0MjYuNSAtNjF0MzcgLTY2cTYgLTkgOSAtMTRoMjQxdi0xMDBoLTE5N3E4IC01MCAtMi41IC0xMTV0LTMxLjUgLTk1cS00NSAtNjIgLTk5IC0xMTIgcTM0IDEwIDgzIDE3LjV0NzEgNy41cTMyIDEgMTAyIC0xNnQxMDQgLTE3cTgzIDAgMTM2IDMwbDUwIC0xNDdxLTMxIC0xOSAtNTggLTMwLjV0LTU1IC0xNS41dC00MiAtNC41dC00NiAtMC41cS0yMyAwIC03NiAxN3QtMTExIDMyLjV0LTk2IDExLjVxLTM5IC0zIC04MiAtMTZ0LTY3IC0yNWwtMjMgLTExbC01NSAxNDVxNCAzIDE2IDExdDE1LjUgMTAuNXQxMyA5dDE1LjUgMTJ0MTQuNSAxNHQxNy41IDE4LjVxNDggNTUgNTQgMTI2LjUgdC0zMCAxNDIuNWgtMjIxdjEwMGgxNjZxLTIzIDQ3IC00NCAxMDRxLTcgMjAgLTEyIDQxLjV0LTYgNTUuNXQ2IDY2LjV0MjkuNSA3MC41dDU4LjUgNzFxOTcgODggMjYzIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTA7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkzNSAxMTg0bDIzMCAtMjQ5cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTE1MHYtOTAwaC0yMDB2OTAwaC0xNTBxLTIxIDAgLTI1IDEwLjV0MTAgMjQuNWwyMzAgMjQ5cTE0IDE1IDM1IDE1dDM1IC0xNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTUxOyIgZD0iTTEwMDAgNzAwaC0xMDB2MTAwaC0xMDB2LTEwMGgtMTAwdjUwMGgzMDB2LTUwMHpNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTgwMSAxMTAwdi0yMDBoMTAwdjIwMGgtMTAwek0xMDAwIDM1MGwtMjAwIC0yNTBoMjAwdi0xMDBoLTMwMHYxNTBsMjAwIDI1MGgtMjAwdjEwMGgzMDB2LTE1MHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1MjsiIGQ9Ik00MDAgMzAwaDE1MHEyMSAwIDI1IC0xMXQtMTAgLTI1bC0yMzAgLTI1MHEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjUwcS0xNCAxNCAtMTAgMjV0MjUgMTFoMTUwdjkwMGgyMDB2LTkwMHpNMTAwMCAxMDUwbC0yMDAgLTI1MGgyMDB2LTEwMGgtMzAwdjE1MGwyMDAgMjUwaC0yMDB2MTAwaDMwMHYtMTUwek0xMDAwIDBoLTEwMHYxMDBoLTEwMHYtMTAwaC0xMDB2NTAwaDMwMHYtNTAwek04MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTUzOyIgZD0iTTQwMCAzMDBoMTUwcTIxIDAgMjUgLTExdC0xMCAtMjVsLTIzMCAtMjUwcS0xNCAtMTUgLTM1IC0xNXQtMzUgMTVsLTIzMCAyNTBxLTE0IDE0IC0xMCAyNXQyNSAxMWgxNTB2OTAwaDIwMHYtOTAwek0xMDAwIDcwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMTEwMCAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTQ7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTExMDAgNzAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgMTEwMHYtMjAwaDEwMHYyMDBoLTEwMHpNMTAwMCAwaC0xMDB2NDAwaC0xMDB2MTAwaDIwMHYtNTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTU7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkwMCAxMDAwaC0yMDB2MjAwaDIwMHYtMjAwek0xMDAwIDcwMGgtMzAwdjIwMGgzMDB2LTIwMHpNMTEwMCA0MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEyMDAgMTAwaC01MDB2MjAwaDUwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTY7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTEyMDAgMTAwMGgtNTAwdjIwMGg1MDB2LTIwMHpNMTEwMCA3MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEwMDAgNDAwaC0zMDB2MjAwaDMwMHYtMjAwek05MDAgMTAwaC0yMDB2MjAwaDIwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTc7IiBkPSJNMzUwIDExMDBoNDAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTQwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTg7IiBkPSJNMzUwIDExMDBoNDAwcTE2NSAwIDI1Ny41IC05Mi41dDkyLjUgLTI1Ny41di00MDBxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTYzIDAgLTI1Ni41IDkyLjV0LTkzLjUgMjU3LjV2NDAwcTAgMTYzIDk0IDI1Ni41dDI1NiA5My41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek00NDAgNzcwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1OTsiIGQ9Ik0zNTAgMTEwMGg0MDBxMTYzIDAgMjU2LjUgLTk0dDkzLjUgLTI1NnYtNDAwcTAgLTE2NSAtOTIuNSAtMjU3LjV0LTI1Ny41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2MyA5Mi41IDI1Ni41dDI1Ny41IDkzLjV6TTgwMCA5MDBoLTUwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41IHY1MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTM1MCA3MDBoNDAwcTIxIDAgMjYuNSAtMTJ0LTYuNSAtMjhsLTE5MCAtMjUzcS0xMiAtMTcgLTMwIC0xN3QtMzAgMTdsLTE5MCAyNTNxLTEyIDE2IC02LjUgMjh0MjYuNSAxMnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTYwOyIgZD0iTTM1MCAxMTAwaDQwMHExNjUgMCAyNTcuNSAtOTIuNXQ5Mi41IC0yNTcuNXYtNDAwcTAgLTE2MyAtOTIuNSAtMjU2LjV0LTI1Ny41IC05My41aC00MDBxLTE2MyAwIC0yNTYuNSA5NHQtOTMuNSAyNTZ2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXpNODAwIDkwMGgtNTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di01MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjUgdjUwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNNTgwIDY5M2wxOTAgLTI1M3ExMiAtMTYgNi41IC0yOHQtMjYuNSAtMTJoLTQwMHEtMjEgMCAtMjYuNSAxMnQ2LjUgMjhsMTkwIDI1M3ExMiAxNyAzMCAxN3QzMCAtMTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2MTsiIGQ9Ik01NTAgMTEwMGg0MDBxMTY1IDAgMjU3LjUgLTkyLjV0OTIuNSAtMjU3LjV2LTQwMHEwIC0xNjUgLTkyLjUgLTI1Ny41dC0yNTcuNSAtOTIuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC00NTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMzggODY3bDMyNCAtMjg0cTE2IC0xNCAxNiAtMzN0LTE2IC0zM2wtMzI0IC0yODRxLTE2IC0xNCAtMjcgLTl0LTExIDI2djE1MGgtMjUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI1MHYxNTBxMCAyMSAxMSAyNnQyNyAtOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTYyOyIgZD0iTTc5MyAxMTgybDkgLTlxOCAtMTAgNSAtMjdxLTMgLTExIC03OSAtMjI1LjV0LTc4IC0yMjEuNWwzMDAgMXEyNCAwIDMyLjUgLTE3LjV0LTUuNSAtMzUuNXEtMSAwIC0xMzMuNSAtMTU1dC0yNjcgLTMxMi41dC0xMzguNSAtMTYyLjVxLTEyIC0xNSAtMjYgLTE1aC05bC05IDhxLTkgMTEgLTQgMzJxMiA5IDQyIDEyMy41dDc5IDIyNC41bDM5IDExMGgtMzAycS0yMyAwIC0zMSAxOXEtMTAgMjEgNiA0MXE3NSA4NiAyMDkuNSAyMzcuNSB0MjI4IDI1N3Q5OC41IDExMS41cTkgMTYgMjUgMTZoOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTYzOyIgZD0iTTM1MCAxMTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00NTBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwIHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTkzOCA4NjdsMzI0IC0yODRxMTYgLTE0IDE2IC0zM3QtMTYgLTMzbC0zMjQgLTI4NHEtMTYgLTE0IC0yNyAtOXQtMTEgMjZ2MTUwaC0yNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjUwdjE1MHEwIDIxIDExIDI2dDI3IC05eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjQ7IiBkPSJNNzUwIDEyMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTEwLjUgLTI1dC0yNC41IDEwbC0xMDkgMTA5bC0zMTIgLTMxMnEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtMTQxIDE0MXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWwzMTIgMzEybC0xMDkgMTA5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41ek00NTYgOTAwaC0xNTZxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMCBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTQ4bDIwMCAyMDB2LTI5OHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41aDMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTY1OyIgZD0iTTYwMCAxMTg2cTExOSAwIDIyNy41IC00Ni41dDE4NyAtMTI1dDEyNSAtMTg3dDQ2LjUgLTIyNy41dC00Ni41IC0yMjcuNXQtMTI1IC0xODd0LTE4NyAtMTI1dC0yMjcuNSAtNDYuNXQtMjI3LjUgNDYuNXQtMTg3IDEyNXQtMTI1IDE4N3QtNDYuNSAyMjcuNXQ0Ni41IDIyNy41dDEyNSAxODd0MTg3IDEyNXQyMjcuNSA0Ni41ek02MDAgMTAyMnEtMTE1IDAgLTIxMiAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTJ0NTYuNSAtMjEyIHQxNTMuNSAtMTUzLjV0MjEyIC01Ni41dDIxMiA1Ni41dDE1My41IDE1My41dDU2LjUgMjEydC01Ni41IDIxMnQtMTUzLjUgMTUzLjV0LTIxMiA1Ni41ek02MDAgNzk0cTgwIDAgMTM3IC01N3Q1NyAtMTM3dC01NyAtMTM3dC0xMzcgLTU3dC0xMzcgNTd0LTU3IDEzN3Q1NyAxMzd0MTM3IDU3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjY7IiBkPSJNNDUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMjQ1cTIwIDAgMjUgLTExdC05IC0yNmwtMzgzIC00MjZxLTE0IC0xNSAtMzMuNSAtMTV0LTMyLjUgMTVsLTM3OSA0MjZxLTEzIDE1IC04LjUgMjZ0MjUuNSAxMWgyNTB2MzUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMTEwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiBNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2NzsiIGQ9Ik01ODMgMTE4MmwzNzggLTQzNXExNCAtMTUgOSAtMzF0LTI2IC0xNmgtMjQ0di0yNTBxMCAtMjAgLTE3IC0zNXQtMzkgLTE1aC0yMDBxLTIwIDAgLTMyIDE0LjV0LTEyIDM1LjV2MjUwaC0yNTBxLTIwIDAgLTI1LjUgMTYuNXQ4LjUgMzEuNWwzODMgNDMxcTE0IDE2IDMzLjUgMTd0MzMuNSAtMTR6TTUwIDMwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXogTTkwMCAyMDB2LTUwaDEwMHY1MGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjg7IiBkPSJNMzk2IDcyM2wzNjkgMzY5cTcgNyAxNy41IDd0MTcuNSAtN2wxMzkgLTEzOXE3IC04IDcgLTE4LjV0LTcgLTE3LjVsLTUyNSAtNTI1cS03IC04IC0xNy41IC04dC0xNy41IDhsLTI5MiAyOTFxLTcgOCAtNyAxOHQ3IDE4bDEzOSAxMzlxOCA3IDE4LjUgN3QxNy41IC03ek01MCAzMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaC0xMTAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAyMDB2LTUwaDEwMHY1MCBoLTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTY5OyIgZD0iTTEzNSAxMDIzbDE0MiAxNDJxMTQgMTQgMzUgMTR0MzUgLTE0bDc3IC03N2wtMjEyIC0yMTJsLTc3IDc2cS0xNCAxNSAtMTQgMzZ0MTQgMzV6TTY1NSA4NTVsMjEwIDIxMHExNCAxNCAyNC41IDEwdDEwLjUgLTI1bC0yIC01OTlxLTEgLTIwIC0xNS41IC0zNXQtMzUuNSAtMTVsLTU5NyAtMXEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIwOCAyMDhsLTE1NCAxNTVsMjEyIDIxMnpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjUgdi0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MDsiIGQ9Ik0zNTAgMTIwMGw1OTkgLTJxMjAgLTEgMzUgLTE1LjV0MTUgLTM1LjVsMSAtNTk3cTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtMjA4IDIwOGwtMTU1IC0xNTRsLTIxMiAyMTJsMTU1IDE1NGwtMjEwIDIxMHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNNTI0IDUxMmwtNzYgLTc3cS0xNSAtMTQgLTM2IC0xNHQtMzUgMTRsLTE0MiAxNDJxLTE0IDE0IC0xNCAzNXQxNCAzNWw3NyA3N3pNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41IHQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MTsiIGQ9Ik0xMjAwIDEwM2wtNDgzIDI3NmwtMzE0IC0zOTl2NDIzaC0zOTlsMTE5NiA3OTZ2LTEwOTZ6TTQ4MyA0MjR2LTIzMGw2ODMgOTUzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzI7IiBkPSJNMTEwMCAxMDAwdi04NTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTE1MHY0MDBoLTcwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzM7IiBkPSJNMTEwMCAxMDAwbC0yIC0xNDlsLTI5OSAtMjk5bC05NSA5NXEtOSA5IC0yMS41IDl0LTIxLjUgLTlsLTE0OSAtMTQ3aC0zMTJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTEzMiA2MzhsMTA2IC0xMDZxNyAtNyA3IC0xNy41dC03IC0xNy41bC00MjAgLTQyMXEtOCAtNyAtMTggLTcgdC0xOCA3bC0yMDIgMjAzcS04IDcgLTggMTcuNXQ4IDE3LjVsMTA2IDEwNnE3IDggMTcuNSA4dDE3LjUgLThsNzkgLTc5bDI5NyAyOTdxNyA3IDE3LjUgN3QxNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzQ7IiBkPSJNMTEwMCAxMDAwdi0yNjlsLTEwMyAtMTAzbC0xMzQgMTM0cS0xNSAxNSAtMzMuNSAxNi41dC0zNC41IC0xMi41bC0yNjYgLTI2NmgtMzI5di00MDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwMHEwIDIwIDE0LjUgMzV0MzUuNSAxNWgyNTB2LTMwMGg1MDB2MzAwaDEwMHpNNzAwIDEwMDBoLTEwMHYyMDBoMTAwdi0yMDB6TTEyMDIgNTcybDcwIC03MHExNSAtMTUgMTUgLTM1LjV0LTE1IC0zNS41bC0xMzEgLTEzMSBsMTMxIC0xMzFxMTUgLTE1IDE1IC0zNS41dC0xNSAtMzUuNWwtNzAgLTcwcS0xNSAtMTUgLTM1LjUgLTE1dC0zNS41IDE1bC0xMzEgMTMxbC0xMzEgLTEzMXEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtNzAgNzBxLTE1IDE1IC0xNSAzNS41dDE1IDM1LjVsMTMxIDEzMWwtMTMxIDEzMXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWw3MCA3MHExNSAxNSAzNS41IDE1dDM1LjUgLTE1bDEzMSAtMTMxbDEzMSAxMzFxMTUgMTUgMzUuNSAxNSB0MzUuNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NTsiIGQ9Ik0xMTAwIDEwMDB2LTMwMGgtMzUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xNTBoLTUwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAwek04NTAgNjAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNSBsLTIzMCAtMjMwcS0xNCAtMTQgLTM1IC0xNHQtMzUgMTRsLTIzMCAyMzBxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjVoMTUwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NjsiIGQ9Ik0xMTAwIDEwMDB2LTQwMGwtMTY1IDE2NXEtMTQgMTUgLTM1IDE1dC0zNSAtMTVsLTI2MyAtMjY1aC00MDJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNOTM1IDU2NWwyMzAgLTIyOXExNCAtMTUgMTAgLTI1LjV0LTI1IC0xMC41aC0xNTB2LTI1MHEwIC0yMCAtMTQuNSAtMzUgdC0zNS41IC0xNWgtMTAwcS0yMSAwIC0zNS41IDE1dC0xNC41IDM1djI1MGgtMTUwcS0yMSAwIC0yNSAxMC41dDEwIDI1LjVsMjMwIDIyOXExNCAxNSAzNSAxNXQzNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NzsiIGQ9Ik01MCAxMTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtMTIwMHYxNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjAwIDgwMHYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1NTBoMTIwMHpNMTAwIDUwMHYtMjAwaDQwMHYyMDBoLTQwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTc4OyIgZD0iTTkzNSAxMTY1bDI0OCAtMjMwcTE0IC0xNCAxNCAtMzV0LTE0IC0zNWwtMjQ4IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC00MDB2MjAwaDQwMHYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEwek0yMDAgODAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHYtMjAwek00MDAgODAwaC0xMDB2MjAwaDEwMHYtMjAwek0xOCA0MzVsMjQ3IDIzMCBxMTQgMTQgMjQuNSAxMHQxMC41IC0yNXYtMTUwaDQwMHYtMjAwaC00MDB2LTE1MHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTI0NyAyMzBxLTE1IDE0IC0xNSAzNXQxNSAzNXpNOTAwIDMwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTAwMCA1MDBoNTFxMjAgMCAzNC41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzQuNSAtMTQuNWgtNTF2MjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzk7IiBkPSJNODYyIDEwNzNsMjc2IDExNnEyNSAxOCA0My41IDh0MTguNSAtNDF2LTExMDZxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2Mzk3cS00IDEgLTExIDV0LTI0IDE3LjV0LTMwIDI5dC0yNCA0MnQtMTEgNTYuNXYzNTlxMCAzMSAxOC41IDY1dDQzLjUgNTJ6TTU1MCAxMjAwcTIyIDAgMzQuNSAtMTIuNXQxNC41IC0yNC41bDEgLTEzdi00NTBxMCAtMjggLTEwLjUgLTU5LjUgdC0yNSAtNTZ0LTI5IC00NXQtMjUuNSAtMzEuNWwtMTAgLTExdi00NDdxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDQ3cS00IDQgLTExIDExLjV0LTI0IDMwLjV0LTMwIDQ2dC0yNCA1NXQtMTEgNjB2NDUwcTAgMiAwLjUgNS41dDQgMTJ0OC41IDE1dDE0LjUgMTJ0MjIuNSA1LjVxMjAgMCAzMi41IC0xMi41dDE0LjUgLTI0LjVsMyAtMTN2LTM1MGgxMDB2MzUwdjUuNXQyLjUgMTIgdDcgMTV0MTUgMTJ0MjUuNSA1LjVxMjMgMCAzNS41IC0xMi41dDEzLjUgLTI0LjVsMSAtMTN2LTM1MGgxMDB2MzUwcTAgMiAwLjUgNS41dDMgMTJ0NyAxNXQxNSAxMnQyNC41IDUuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTgwOyIgZD0iTTEyMDAgMTEwMHYtNTZxLTQgMCAtMTEgLTAuNXQtMjQgLTN0LTMwIC03LjV0LTI0IC0xNXQtMTEgLTI0di04ODhxMCAtMjIgMjUgLTM0LjV0NTAgLTEzLjVsMjUgLTJ2LTU2aC00MDB2NTZxNzUgMCA4Ny41IDYuNXQxMi41IDQzLjV2Mzk0aC01MDB2LTM5NHEwIC0zNyAxMi41IC00My41dDg3LjUgLTYuNXYtNTZoLTQwMHY1NnE0IDAgMTEgMC41dDI0IDN0MzAgNy41dDI0IDE1dDExIDI0djg4OHEwIDIyIC0yNSAzNC41dC01MCAxMy41IGwtMjUgMnY1Nmg0MDB2LTU2cS03NSAwIC04Ny41IC02LjV0LTEyLjUgLTQzLjV2LTM5NGg1MDB2Mzk0cTAgMzcgLTEyLjUgNDMuNXQtODcuNSA2LjV2NTZoNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODE7IiBkPSJNNjc1IDEwMDBoMzc1cTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTEwNWwtMjk1IC05OHY5OGwtMjAwIDIwMGgtNDAwbDEwMCAxMDBoMzc1ek0xMDAgOTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNTAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0zMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djUwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTEwMCA4MDB2LTIwMGgzMDB2MjAwIGgtMzAwek0xMTAwIDUzNWwtNDAwIC0xMzN2MTYzbDQwMCAxMzN2LTE2M3pNMTAwIDUwMHYtMjAwaDMwMHYyMDBoLTMwMHpNMTEwMCAzOTh2LTI0OHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzc1bC0xMDAgLTEwMGgtMzc1bC0xMDAgMTAwaDQwMGwyMDAgMjAwaDEwNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTgyOyIgZD0iTTE3IDEwMDdsMTYyIDE2MnExNyAxNyA0MCAxNHQzNyAtMjJsMTM5IC0xOTRxMTQgLTIwIDExIC00NC41dC0yMCAtNDEuNWwtMTE5IC0xMThxMTAyIC0xNDIgMjI4IC0yNjh0MjY3IC0yMjdsMTE5IDExOHExNyAxNyA0Mi41IDE5dDQ0LjUgLTEybDE5MiAtMTM2cTE5IC0xNCAyMi41IC0zNy41dC0xMy41IC00MC41bC0xNjMgLTE2MnEtMyAtMSAtOS41IC0xdC0yOS41IDJ0LTQ3LjUgNnQtNjIuNSAxNC41dC03Ny41IDI2LjV0LTkwIDQyLjUgdC0xMDEuNSA2MHQtMTExIDgzdC0xMTkgMTA4LjVxLTc0IDc0IC0xMzMuNSAxNTAuNXQtOTQuNSAxMzguNXQtNjAgMTE5LjV0LTM0LjUgMTAwdC0xNSA3NC41dC00LjUgNDh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4MzsiIGQ9Ik02MDAgMTEwMHE5MiAwIDE3NSAtMTAuNXQxNDEuNSAtMjd0MTA4LjUgLTM2LjV0ODEuNSAtNDB0NTMuNSAtMzd0MzEgLTI3bDkgLTEwdi0yMDBxMCAtMjEgLTE0LjUgLTMzdC0zNC41IC05bC0yMDIgMzRxLTIwIDMgLTM0LjUgMjB0LTE0LjUgMzh2MTQ2cS0xNDEgMjQgLTMwMCAyNHQtMzAwIC0yNHYtMTQ2cTAgLTIxIC0xNC41IC0zOHQtMzQuNSAtMjBsLTIwMiAtMzRxLTIwIC0zIC0zNC41IDl0LTE0LjUgMzN2MjAwcTMgNCA5LjUgMTAuNSB0MzEgMjZ0NTQgMzcuNXQ4MC41IDM5LjV0MTA5IDM3LjV0MTQxIDI2LjV0MTc1IDEwLjV6TTYwMCA3OTVxNTYgMCA5NyAtOS41dDYwIC0yMy41dDMwIC0yOHQxMiAtMjRsMSAtMTB2LTUwbDM2NSAtMzAzcTE0IC0xNSAyNC41IC00MHQxMC41IC00NXYtMjEycTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMTJxMCAyMCAxMC41IDQ1dDI0LjUgNDBsMzY1IDMwM3Y1MCBxMCA0IDEgMTAuNXQxMiAyM3QzMCAyOXQ2MCAyMi41dDk3IDEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODQ7IiBkPSJNMTEwMCA3MDBsLTIwMCAtMjAwaC02MDBsLTIwMCAyMDB2NTAwaDIwMHYtMjAwaDIwMHYyMDBoMjAwdi0yMDBoMjAwdjIwMGgyMDB2LTUwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODU7IiBkPSJNNzAwIDExMDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtMTAwMGgzMDB2MTAwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMTEwMCA4MDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNzAwaDMwMHY3MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTQwMCAwaC0zMDB2NDAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNWgxMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTQwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4NjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDcwMHYtMzAwbC0xMDAgLTEwMGgtMjAwdjUwMGgyMDB6IE03MDAgNzAwdi0zMDBoMTAwdjMwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODc7IiBkPSJNMjAwIDExMDBoNzAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnYtNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OGgtNzAwcS0xMjQgMCAtMjEyIDg4dC04OCAyMTJ2NTAwcTAgMTI0IDg4IDIxMnQyMTIgODh6TTEwMCA5MDB2LTcwMGg5MDB2NzAwaC05MDB6TTUwMCAzMDBoLTEwMHYyMDBoLTEwMHYtMjAwaC0xMDB2NTAwaDEwMHYtMjAwaDEwMHYyMDBoMTAwdi01MDB6TTkwMCA3MDB2LTMwMGwtMTAwIC0xMDBoLTIwMHY1MDBoMjAweiBNNzAwIDcwMHYtMzAwaDEwMHYzMDBoLTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTg4OyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek01MDAgNzAwaC0yMDB2LTMwMGgyMDB2LTEwMGgtMzAwdjUwMGgzMDB2LTEwMHpNOTAwIDcwMGgtMjAwdi0zMDBoMjAwdi0xMDBoLTMwMHY1MDBoMzAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4OTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDQwMGwtMzAwIDE1MGwzMDAgMTUwdi0zMDB6TTkwMCA1NTBsLTMwMCAtMTUwdjMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTkwOyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek05MDAgMzAwaC03MDB2NTAwaDcwMHYtNTAwek04MDAgNzAwaC0xMzBxLTM4IDAgLTY2LjUgLTQzdC0yOC41IC0xMDh0MjcgLTEwN3Q2OCAtNDJoMTMwdjMwMHpNMzAwIDcwMHYtMzAwIGgxMzBxNDEgMCA2OCA0MnQyNyAxMDd0LTI4LjUgMTA4dC02Ni41IDQzaC0xMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNMzAwIDcwMGgyMDB2LTQwMGgtMzAwdjUwMGgxMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMzAwIDYwMHYtMjAwaDEwMHYyMDBoLTEwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MzsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDUwMGwtMTk5IC0yMDBoLTEwMHY1MGwxOTkgMjAwdjE1MGgtMjAwdjEwMGgzMDB2LTMwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNNzAxIDMwMGgtMTAwIHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5NDsiIGQ9Ik02MDAgMTE5MXExMjAgMCAyMjkuNSAtNDd0MTg4LjUgLTEyNnQxMjYgLTE4OC41dDQ3IC0yMjkuNXQtNDcgLTIyOS41dC0xMjYgLTE4OC41dC0xODguNSAtMTI2dC0yMjkuNSAtNDd0LTIyOS41IDQ3dC0xODguNSAxMjZ0LTEyNiAxODguNXQtNDcgMjI5LjV0NDcgMjI5LjV0MTI2IDE4OC41dDE4OC41IDEyNnQyMjkuNSA0N3pNNjAwIDEwMjFxLTExNCAwIC0yMTEgLTU2LjV0LTE1My41IC0xNTMuNXQtNTYuNSAtMjExdDU2LjUgLTIxMSB0MTUzLjUgLTE1My41dDIxMSAtNTYuNXQyMTEgNTYuNXQxNTMuNSAxNTMuNXQ1Ni41IDIxMXQtNTYuNSAyMTF0LTE1My41IDE1My41dC0yMTEgNTYuNXpNODAwIDcwMGgtMzAwdi0yMDBoMzAwdi0xMDBoLTMwMGwtMTAwIDEwMHYyMDBsMTAwIDEwMGgzMDB2LTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTk1OyIgZD0iTTYwMCAxMTkxcTEyMCAwIDIyOS41IC00N3QxODguNSAtMTI2dDEyNiAtMTg4LjV0NDcgLTIyOS41dC00NyAtMjI5LjV0LTEyNiAtMTg4LjV0LTE4OC41IC0xMjZ0LTIyOS41IC00N3QtMjI5LjUgNDd0LTE4OC41IDEyNnQtMTI2IDE4OC41dC00NyAyMjkuNXQ0NyAyMjkuNXQxMjYgMTg4LjV0MTg4LjUgMTI2dDIyOS41IDQ3ek02MDAgMTAyMXEtMTE0IDAgLTIxMSAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTF0NTYuNSAtMjExIHQxNTMuNSAtMTUzLjV0MjExIC01Ni41dDIxMSA1Ni41dDE1My41IDE1My41dDU2LjUgMjExdC01Ni41IDIxMXQtMTUzLjUgMTUzLjV0LTIxMSA1Ni41ek04MDAgNzAwdi0xMDBsLTUwIC01MGwxMDAgLTEwMHYtNTBoLTEwMGwtMTAwIDEwMGgtMTUwdi0xMDBoLTEwMHY0MDBoMzAwek01MDAgNzAwdi0xMDBoMjAwdjEwMGgtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTc7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA3dC04NSAtMjA3dC0yMDUgLTg2LjVoLTEyOHYyNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTMwMHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMjUwaC0yMjJxLTgwIDAgLTEzNiA1Ny41dC01NiAxMzYuNXEwIDY5IDQzIDEyMi41dDEwOCA2Ny41cS0yIDE5IC0yIDM3cTAgMTAwIDQ5IDE4NSB0MTM0IDEzNHQxODUgNDl6TTUyNSA1MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMjc1aDEzN3EyMSAwIDI2IC0xMS41dC04IC0yNy41bC0yMjMgLTI0NHEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC0yMjMgMjQ0cS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMTM3djI3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTg7IiBkPSJNNTAyIDEwODlxMTEwIDAgMjAxIC01OS41dDEzNSAtMTU2LjVxNDMgMTUgODkgMTVxMTIxIDAgMjA2IC04Ni41dDg2IC0yMDYuNXEwIC05OSAtNjAgLTE4MXQtMTUwIC0xMTBsLTM3OCAzNjBxLTEzIDE2IC0zMS41IDE2dC0zMS41IC0xNmwtMzgxIC0zNjVoLTlxLTc5IDAgLTEzNS41IDU3LjV0LTU2LjUgMTM2LjVxMCA2OSA0MyAxMjIuNXQxMDggNjcuNXEtMiAxOSAtMiAzOHEwIDEwMCA0OSAxODQuNXQxMzMuNSAxMzR0MTg0LjUgNDkuNXogTTYzMiA0NjdsMjIzIC0yMjhxMTMgLTE2IDggLTI3LjV0LTI2IC0xMS41aC0xMzd2LTI3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djI3NWgtMTM3cS0yMSAwIC0yNiAxMS41dDggMjcuNXExOTkgMjA0IDIyMyAyMjhxMTkgMTkgMzEuNSAxOXQzMi41IC0xOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTk5OyIgZD0iTTcwMCAxMDB2MTAwaDQwMGwtMjcwIDMwMGgxNzBsLTI3MCAzMDBoMTcwbC0zMDAgMzMzbC0zMDAgLTMzM2gxNzBsLTI3MCAtMzAwaDE3MGwtMjcwIC0zMDBoNDAwdi0xMDBoLTUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di01MGg0MDB2NTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDA7IiBkPSJNNjAwIDExNzlxOTQgMCAxNjcuNSAtNTYuNXQ5OS41IC0xNDUuNXE4OSAtNiAxNTAuNSAtNzEuNXQ2MS41IC0xNTUuNXEwIC02MSAtMjkuNSAtMTEyLjV0LTc5LjUgLTgyLjVxOSAtMjkgOSAtNTVxMCAtNzQgLTUyLjUgLTEyNi41dC0xMjYuNSAtNTIuNXEtNTUgMCAtMTAwIDMwdi0yNTFxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaC0zMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41djI1MXEtNDUgLTMwIC0xMDAgLTMwIHEtNzQgMCAtMTI2LjUgNTIuNXQtNTIuNSAxMjYuNXEwIDE4IDQgMzhxLTQ3IDIxIC03NS41IDY1dC0yOC41IDk3cTAgNzQgNTIuNSAxMjYuNXQxMjYuNSA1Mi41cTUgMCAyMyAtMnEwIDIgLTEgMTB0LTEgMTNxMCAxMTYgODEuNSAxOTcuNXQxOTcuNSA4MS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDE7IiBkPSJNMTAxMCAxMDEwcTExMSAtMTExIDE1MC41IC0yNjAuNXQwIC0yOTl0LTE1MC41IC0yNjAuNXEtODMgLTgzIC0xOTEuNSAtMTI2LjV0LTIxOC41IC00My41dC0yMTguNSA0My41dC0xOTEuNSAxMjYuNXEtMTExIDExMSAtMTUwLjUgMjYwLjV0MCAyOTl0MTUwLjUgMjYwLjVxODMgODMgMTkxLjUgMTI2LjV0MjE4LjUgNDMuNXQyMTguNSAtNDMuNXQxOTEuNSAtMTI2LjV6TTQ3NiAxMDY1cS00IDAgLTggLTFxLTEyMSAtMzQgLTIwOS41IC0xMjIuNSB0LTEyMi41IC0yMDkuNXEtNCAtMTIgMi41IC0yM3QxOC41IC0xNGwzNiAtOXEzIC0xIDcgLTFxMjMgMCAyOSAyMnEyNyA5NiA5OCAxNjZxNzAgNzEgMTY2IDk4cTExIDMgMTcuNSAxMy41dDMuNSAyMi41bC05IDM1cS0zIDEzIC0xNCAxOXEtNyA0IC0xNSA0ek01MTIgOTIwcS00IDAgLTkgLTJxLTgwIC0yNCAtMTM4LjUgLTgyLjV0LTgyLjUgLTEzOC41cS00IC0xMyAyIC0yNHQxOSAtMTRsMzQgLTlxNCAtMSA4IC0xcTIyIDAgMjggMjEgcTE4IDU4IDU4LjUgOTguNXQ5Ny41IDU4LjVxMTIgMyAxOCAxMy41dDMgMjEuNWwtOSAzNXEtMyAxMiAtMTQgMTlxLTcgNCAtMTUgNHpNNzE5LjUgNzE5LjVxLTQ5LjUgNDkuNSAtMTE5LjUgNDkuNXQtMTE5LjUgLTQ5LjV0LTQ5LjUgLTExOS41dDQ5LjUgLTExOS41dDExOS41IC00OS41dDExOS41IDQ5LjV0NDkuNSAxMTkuNXQtNDkuNSAxMTkuNXpNODU1IDU1MXEtMjIgMCAtMjggLTIxcS0xOCAtNTggLTU4LjUgLTk4LjV0LTk4LjUgLTU3LjUgcS0xMSAtNCAtMTcgLTE0LjV0LTMgLTIxLjVsOSAtMzVxMyAtMTIgMTQgLTE5cTcgLTQgMTUgLTRxNCAwIDkgMnE4MCAyNCAxMzguNSA4Mi41dDgyLjUgMTM4LjVxNCAxMyAtMi41IDI0dC0xOC41IDE0bC0zNCA5cS00IDEgLTggMXpNMTAwMCA1MTVxLTIzIDAgLTI5IC0yMnEtMjcgLTk2IC05OCAtMTY2cS03MCAtNzEgLTE2NiAtOThxLTExIC0zIC0xNy41IC0xMy41dC0zLjUgLTIyLjVsOSAtMzVxMyAtMTMgMTQgLTE5cTcgLTQgMTUgLTQgcTQgMCA4IDFxMTIxIDM0IDIwOS41IDEyMi41dDEyMi41IDIwOS41cTQgMTIgLTIuNSAyM3QtMTguNSAxNGwtMzYgOXEtMyAxIC03IDF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMjsiIGQ9Ik03MDAgODAwaDMwMHYtMzgwaC0xODB2MjAwaC0zNDB2LTIwMGgtMzgwdjc1NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDU3NXYtNDAwek0xMDAwIDkwMGgtMjAwdjIwMHpNNzAwIDMwMGgxNjJsLTIxMiAtMjEybC0yMTIgMjEyaDE2MnYyMDBoMTAwdi0yMDB6TTUyMCAwaC0zOTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzOTV6TTEwMDAgMjIwdi0xOTVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xOTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMzsiIGQ9Ik03MDAgODAwaDMwMHYtNTIwbC0zNTAgMzUwbC01NTAgLTU1MHYxMDk1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNTc1di00MDB6TTEwMDAgOTAwaC0yMDB2MjAwek04NjIgMjAwaC0xNjJ2LTIwMGgtMTAwdjIwMGgtMTYybDIxMiAyMTJ6TTQ4MCAwaC0zNTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NWgzODB2LTgwek0xMDAwIDgwdi01NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1NXY4MGgxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwNDsiIGQ9Ik0xMTYyIDgwMGgtMTYydi0yMDBoMTAwbDEwMCAtMTAwaC0zMDB2MzAwaC0xNjJsMjEyIDIxMnpNMjAwIDgwMGgyMDBxMjcgMCA0MCAtMnQyOS41IC0xMC41dDIzLjUgLTMwdDcgLTU3LjVoMzAwdi0xMDBoLTYwMGwtMjAwIC0zNTB2NDUwaDEwMHEwIDM2IDcgNTcuNXQyMy41IDMwdDI5LjUgMTAuNXQ0MCAyek04MDAgNDAwaDI0MGwtMjQwIC00MDBoLTgwMGwzMDAgNTAwaDUwMHYtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDU7IiBkPSJNNjUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMDAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTgwMCBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTYwMHEtMSAwIC0yMCA0bDI0NiAyNDZsLTMyNiAzMjZ2MzI0cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXYtMTUwcTAgLTYyIDQ0IC0xMDZ0MTA2IC00NGgzMDBxNjIgMCAxMDYgNDR0NDQgMTA2ek00MTIgMjUwbC0yMTIgLTIxMnYxNjJoLTIwMHYxMDBoMjAwdjE2MnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjA2OyIgZD0iTTQ1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDUwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTUwMCBoLTIwMHYtMzAwaDIwMHEwIC0zNiAtNyAtNTcuNXQtMjMuNSAtMzB0LTI5LjUgLTEwLjV0LTQwIC0yaC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djgwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV2LTE1MHEwIC02MiA0NCAtMTA2dDEwNiAtNDRoMzAwcTYyIDAgMTA2IDQ0dDQ0IDEwNnpNMTIxMiAyNTBsLTIxMiAtMjEydjE2MmgtMjAwdjEwMGgyMDB2MTYyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDk7IiBkPSJNNjU4IDExOTdsNjM3IC0xMTA0cTIzIC0zOCA3IC02NS41dC02MCAtMjcuNWgtMTI3NnEtNDQgMCAtNjAgMjcuNXQ3IDY1LjVsNjM3IDExMDRxMjIgMzkgNTQgMzl0NTQgLTM5ek03MDQgODAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNXQzNy41IC0xNC41aDU0cTIwIDAgMzcuNSAxNC41dDIxLjUgMzQuNWw1OCAzMDJxNCAyMCAtOCAzNC41dC0zMiAxNC41ek01MDAgMzAwdi0xMDBoMjAwIHYxMDBoLTIwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjEwOyIgZD0iTTQyNSAxMTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgODAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41IHQxNy41IDcuNXpNODI1IDgwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMjUgNTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNODI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNSB2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTgyNSAyMDBoMjUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxMTsiIGQ9Ik03MDAgMTIwMGgxMDB2LTIwMGgtMTAwdi0xMDBoMzUwcTYyIDAgODYuNSAtMzkuNXQtMy41IC05NC41bC02NiAtMTMycS00MSAtODMgLTgxIC0xMzRoLTc3MnEtNDAgNTEgLTgxIDEzNGwtNjYgMTMycS0yOCA1NSAtMy41IDk0LjV0ODYuNSAzOS41aDM1MHYxMDBoLTEwMHYyMDBoMTAwdjEwMGgyMDB2LTEwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwIGgtOTUwbDEzOCAxMDBoLTEzcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTI7IiBkPSJNNjAwIDEzMDBxNDAgMCA2OC41IC0yOS41dDI4LjUgLTcwLjVoLTE5NHEwIDQxIDI4LjUgNzAuNXQ2OC41IDI5LjV6TTQ0MyAxMTAwaDMxNHExOCAtMzcgMTggLTc1cTAgLTggLTMgLTI1aDMyOHE0MSAwIDQ0LjUgLTE2LjV0LTMwLjUgLTM4LjVsLTE3NSAtMTQ1aC02NzhsLTE3OCAxNDVxLTM0IDIyIC0yOSAzOC41dDQ2IDE2LjVoMzI4cS0zIDE3IC0zIDI1cTAgMzggMTggNzV6TTI1MCA3MDBoNzAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTUwdi0yMDBsMjc1IC0yMDBoLTk1MGwyNzUgMjAwdjIwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTM7IiBkPSJNNjAwIDExODFxNzUgMCAxMjggLTUzdDUzIC0xMjh0LTUzIC0xMjh0LTEyOCAtNTN0LTEyOCA1M3QtNTMgMTI4dDUzIDEyOHQxMjggNTN6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTMgbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNDsiIGQ9Ik02MDAgMTMwMHE0NyAwIDkyLjUgLTUzLjV0NzEgLTEyM3QyNS41IC0xMjMuNXEwIC03OCAtNTUuNSAtMTMzLjV0LTEzMy41IC01NS41dC0xMzMuNSA1NS41dC01NS41IDEzMy41cTAgNjIgMzQgMTQzbDE0NCAtMTQzbDExMSAxMTFsLTE2MyAxNjNxMzQgMjYgNjMgMjZ6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1IHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEzbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNTsiIGQ9Ik02MDAgMTIwMGwzMDAgLTE2MXYtMTM5aC0zMDBxMCAtNTcgMTguNSAtMTA4dDUwIC05MS41dDYzIC03MnQ3MCAtNjcuNXQ1Ny41IC02MWgtNTMwcS02MCA4MyAtOTAuNSAxNzcuNXQtMzAuNSAxNzguNXQzMyAxNjQuNXQ4Ny41IDEzOS41dDEyNiA5Ni41dDE0NS41IDQxLjV2LTk4ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTNsMTM4IC0xMDBoLTk1MGwxMzcgMTAwIGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNjsiIGQ9Ik02MDAgMTMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNzhxNDYgLTI2IDczIC03MnQyNyAtMTAwdi01MGgtNDAwdjUwcTAgNTQgMjcgMTAwdDczIDcydjc4cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNDAwIDgwMGg0MDBxNTQgMCAxMDAgLTI3dDcyIC03M2gtMTcydi0xMDBoMjAwdi0xMDBoLTIwMHYtMTAwaDIwMHYtMTAwaC0yMDB2LTEwMGgyMDBxMCAtODMgLTU4LjUgLTE0MS41dC0xNDEuNSAtNTguNWgtNDAwIHEtODMgMCAtMTQxLjUgNTguNXQtNTguNSAxNDEuNXY0MDBxMCA4MyA1OC41IDE0MS41dDE0MS41IDU4LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxODsiIGQ9Ik0xNTAgMTEwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjUgNDAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjgzbDIyNCAtMjI0cTEzIC0xMyAxMyAtMzEuNXQtMTMgLTMyIHQtMzEuNSAtMTMuNXQtMzEuNSAxM2wtODggODhoLTUyNGwtODcgLTg4cS0xMyAtMTMgLTMyIC0xM3QtMzIgMTMuNXQtMTMgMzJ0MTMgMzEuNWwyMjQgMjI0aC0yODlxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01NDEgMzAwbC0xMDAgLTEwMGgzMjRsLTEwMCAxMDBoLTEyNHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjE5OyIgZD0iTTIwMCAxMTAwaDgwMHE4MyAwIDE0MS41IC01OC41dDU4LjUgLTE0MS41di0yMDBoLTEwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNWgtMjUwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41aC0xMDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjVoLTI1MHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNWgtMTAwdjIwMHEwIDgzIDU4LjUgMTQxLjV0MTQxLjUgNTguNXpNMTAwIDYwMGgxMDAwcTQxIDAgNzAuNSAtMjkuNSB0MjkuNSAtNzAuNXYtMzAwaC0xMjAwdjMwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTMwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHpNMTEwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjIxOyIgZD0iTTQ4MCAxMTY1bDY4MiAtNjgzcTMxIC0zMSAzMSAtNzUuNXQtMzEgLTc1LjVsLTEzMSAtMTMxaC00ODFsLTUxNyA1MThxLTMyIDMxIC0zMiA3NS41dDMyIDc1LjVsMjk1IDI5NnEzMSAzMSA3NS41IDMxdDc2LjUgLTMxek0xMDggNzk0bDM0MiAtMzQybDMwMyAzMDRsLTM0MSAzNDF6TTI1MCAxMDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtOTAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjIzOyIgZD0iTTEwNTcgNjQ3bC0xODkgNTA2cS04IDE5IC0yNy41IDMzdC00MC41IDE0aC00MDBxLTIxIDAgLTQwLjUgLTE0dC0yNy41IC0zM2wtMTg5IC01MDZxLTggLTE5IDEuNSAtMzN0MzAuNSAtMTRoNjI1di0xNTBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41dDM1LjUgMTQuNXQxNC41IDM1LjV2MTUwaDEyNXEyMSAwIDMwLjUgMTR0MS41IDMzek04OTcgMGgtNTk1djUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ4djMwMGgyMDB2LTMwMGg0N3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjQ7IiBkPSJNOTAwIDgwMGgzMDB2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTM3NXY1OTFsLTMwMCAzMDB2ODRxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNMTIwMCA5MDBoLTIwMHYyMDB6TTQwMCA2MDBoMzAwdi01NzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC02NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNNzAwIDcwMGgtMjAwdjIwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIyNTsiIGQ9Ik00ODQgMTA5NWgxOTVxNzUgMCAxNDYgLTMyLjV0MTI0IC04NnQ4OS41IC0xMjIuNXQ0OC41IC0xNDJxMTggLTE0IDM1IC0yMHEzMSAtMTAgNjQuNSA2LjV0NDMuNSA0OC41cTEwIDM0IC0xNSA3MXEtMTkgMjcgLTkgNDNxNSA4IDEyLjUgMTF0MTkgLTF0MjMuNSAtMTZxNDEgLTQ0IDM5IC0xMDVxLTMgLTYzIC00NiAtMTA2LjV0LTEwNCAtNDMuNWgtNjJxLTcgLTU1IC0zNSAtMTE3dC01NiAtMTAwbC0zOSAtMjM0cS0zIC0yMCAtMjAgLTM0LjUgdC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMTIgNzBxLTQ5IC0xNCAtOTEgLTE0aC0xOTVxLTI0IDAgLTY1IDhsLTExIC02NHEtMyAtMjAgLTIwIC0zNC41dC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMjYgMTU3cS04NCA3NCAtMTI4IDE3NWwtMTU5IDUzcS0xOSA3IC0zMyAyNnQtMTQgNDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEyNHExMSA4NyA1NiAxNjZsLTExMSA5NSBxLTE2IDE0IC0xMi41IDIzLjV0MjQuNSA5LjVoMjAzcTExNiAxMDEgMjUwIDEwMXpNNjc1IDEwMDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMjUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjY7IiBkPSJNNjQxIDkwMGw0MjMgMjQ3cTE5IDggNDIgMi41dDM3IC0yMS41bDMyIC0zOHExNCAtMTUgMTIuNSAtMzZ0LTE3LjUgLTM0bC0xMzkgLTEyMGgtMzkwek01MCAxMTAwaDEwNnE2NyAwIDEwMyAtMTd0NjYgLTcxbDEwMiAtMjEyaDgyM3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBxMCAtMjEgLTE0IC00MHQtMzMgLTI2bC03MzcgLTEzMnEtMjMgLTQgLTQwIDZ0LTI2IDI1cS00MiA2NyAtMTAwIDY3aC0zMDBxLTYyIDAgLTEwNiA0NCB0LTQ0IDEwNnYyMDBxMCA2MiA0NCAxMDZ0MTA2IDQ0ek0xNzMgOTI4aC04MHEtMTkgMCAtMjggLTE0dC05IC0zNXYtNTZxMCAtNTEgNDIgLTUxaDEzNHExNiAwIDIxLjUgOHQ1LjUgMjRxMCAxMSAtMTYgNDV0LTI3IDUxcS0xOCAyOCAtNDMgMjh6TTU1MCA3MjdxLTMyIDAgLTU0LjUgLTIyLjV0LTIyLjUgLTU0LjV0MjIuNSAtNTQuNXQ1NC41IC0yMi41dDU0LjUgMjIuNXQyMi41IDU0LjV0LTIyLjUgNTQuNXQtNTQuNSAyMi41ek0xMzAgMzg5IGwxNTIgMTMwcTE4IDE5IDM0IDI0dDMxIC0zLjV0MjQuNSAtMTcuNXQyNS41IC0yOHEyOCAtMzUgNTAuNSAtNTF0NDguNSAtMTNsNjMgNWw0OCAtMTc5cTEzIC02MSAtMy41IC05Ny41dC02Ny41IC03OS41bC04MCAtNjlxLTQ3IC00MCAtMTA5IC0zNS41dC0xMDMgNTEuNWwtMTMwIDE1MXEtNDAgNDcgLTM1LjUgMTA5LjV0NTEuNSAxMDIuNXpNMzgwIDM3N2wtMTAyIC04OHEtMzEgLTI3IDIgLTY1bDM3IC00M3ExMyAtMTUgMjcuNSAtMTkuNSB0MzEuNSA2LjVsNjEgNTNxMTkgMTYgMTQgNDlxLTIgMjAgLTEyIDU2dC0xNyA0NXEtMTEgMTIgLTE5IDE0dC0yMyAtOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjI3OyIgZD0iTTYyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwOXE3OSAtMzMgMTMxIC04Ny41dDUzIC0xMjguNXExIC00NiAtMTUgLTg0LjV0LTM5IC02MXQtNDYgLTM4dC0zOSAtMjEuNWwtMTcgLTZxNiAwIDE1IC0xLjV0MzUgLTl0NTAgLTE3LjV0NTMgLTMwdDUwIC00NXQzNS41IC02NHQxNC41IC04NHEwIC01OSAtMTEuNSAtMTA1LjV0LTI4LjUgLTc2LjV0LTQ0IC01MXQtNDkuNSAtMzEuNXQtNTQuNSAtMTZ0LTQ5LjUgLTYuNSB0LTQzLjUgLTF2LTc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzVoLTEwMHYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtMTc1cS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNzV2NjAwaC03NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNzV2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWgxMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDAwIDkwMHYtMjAwaDI2M3EyOCAwIDQ4LjUgMTAuNXQzMCAyNXQxNSAyOXQ1LjUgMjUuNWwxIDEwcTAgNCAtMC41IDExdC02IDI0dC0xNSAzMHQtMzAgMjR0LTQ4LjUgMTFoLTI2M3pNNDAwIDUwMHYtMjAwaDM2M3EyOCAwIDQ4LjUgMTAuNSB0MzAgMjV0MTUgMjl0NS41IDI1LjVsMSAxMHEwIDQgLTAuNSAxMXQtNiAyNHQtMTUgMzB0LTMwIDI0dC00OC41IDExaC0zNjN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMDsiIGQ9Ik0yMTIgMTE5OGg3ODBxODYgMCAxNDcgLTYxdDYxIC0xNDd2LTQxNnEwIC01MSAtMTggLTE0Mi41dC0zNiAtMTU3LjVsLTE4IC02NnEtMjkgLTg3IC05My41IC0xNDYuNXQtMTQ2LjUgLTU5LjVoLTU3MnEtODIgMCAtMTQ3IDU5dC05MyAxNDdxLTggMjggLTIwIDczdC0zMiAxNDMuNXQtMjAgMTQ5LjV2NDE2cTAgODYgNjEgMTQ3dDE0NyA2MXpNNjAwIDEwNDVxLTcwIDAgLTEzMi41IC0xMS41dC0xMDUuNSAtMzAuNXQtNzguNSAtNDEuNSB0LTU3IC00NXQtMzYgLTQxdC0yMC41IC0zMC41bC02IC0xMmwxNTYgLTI0M2g1NjBsMTU2IDI0M3EtMiA1IC02IDEyLjV0LTIwIDI5LjV0LTM2LjUgNDJ0LTU3IDQ0LjV0LTc5IDQydC0xMDUgMjkuNXQtMTMyLjUgMTJ6TTc2MiA3MDNoLTE1N2wxOTUgMjYxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzE7IiBkPSJNNDc1IDEzMDBoMTUwcTEwMyAwIDE4OSAtODZ0ODYgLTE4OXYtNTAwcTAgLTQxIC00MiAtODN0LTgzIC00MmgtNDUwcS00MSAwIC04MyA0MnQtNDIgODN2NTAwcTAgMTAzIDg2IDE4OXQxODkgODZ6TTcwMCAzMDB2LTIyNXEwIC0yMSAtMjcgLTQ4dC00OCAtMjdoLTE1MHEtMjEgMCAtNDggMjd0LTI3IDQ4djIyNWgzMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMjsiIGQ9Ik00NzUgMTMwMGg5NnEwIC0xNTAgODkuNSAtMjM5LjV0MjM5LjUgLTg5LjV2LTQ0NnEwIC00MSAtNDIgLTgzdC04MyAtNDJoLTQ1MHEtNDEgMCAtODMgNDJ0LTQyIDgzdjUwMHEwIDEwMyA4NiAxODl0MTg5IDg2ek03MDAgMzAwdi0yMjVxMCAtMjEgLTI3IC00OHQtNDggLTI3aC0xNTBxLTIxIDAgLTQ4IDI3dC0yNyA0OHYyMjVoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzM7IiBkPSJNMTI5NCA3NjdsLTYzOCAtMjgzbC0zNzggMTcwbC03OCAtNjB2LTIyNGwxMDAgLTE1MHYtMTk5bC0xNTAgMTQ4bC0xNTAgLTE0OXYyMDBsMTAwIDE1MHYyNTBxMCA0IC0wLjUgMTAuNXQwIDkuNXQxIDh0MyA4dDYuNSA2bDQ3IDQwbC0xNDcgNjVsNjQyIDI4M3pNMTAwMCAzODBsLTM1MCAtMTY2bC0zNTAgMTY2djE0N2wzNTAgLTE2NWwzNTAgMTY1di0xNDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzNDsiIGQ9Ik0yNTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek02NTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek0xMDUwIDgwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnQtNDQgLTEwNnQtMTA2IC00NHQtMTA2IDQ0dC00NCAxMDZ0NDQgMTA2dDEwNiA0NHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjM1OyIgZD0iTTU1MCAxMTAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgNzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgMzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzY7IiBkPSJNMTI1IDExMDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEyNSA3MDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjUgdDE3LjUgNy41ek0xMjUgMzAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTk1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzc7IiBkPSJNMzUwIDEyMDBoNTAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTUwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNTAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY1MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek05MDAgMTAwMGgtNjAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDYwMHE0MSAwIDcwLjUgMjkuNSB0MjkuNSA3MC41djYwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMzUwIDkwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek00MDAgODAwdi0yMDBoNDAwdjIwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzg7IiBkPSJNMTUwIDExMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNSB0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MjAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV0MTQuNSAzNS41dDM1LjUgMTQuNWg1MHYyMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41aDUwdjIwMGgtNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzOTsiIGQ9Ik02NTAgMTE4N3E4NyAtNjcgMTE4LjUgLTE1NnQwIC0xNzh0LTExOC41IC0xNTVxLTg3IDY2IC0xMTguNSAxNTV0MCAxNzh0MTE4LjUgMTU2ek0zMDAgODAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnEtMTI0IDAgLTIxMiA4OHQtODggMjEyek0xMDAwIDgwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhxMCAxMjQgODggMjEydDIxMiA4OHpNMzAwIDUwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnogTTEwMDAgNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek03MDAgMTk5di0xNDRxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djE0MnE0MCAtNCA0MyAtNHExNyAwIDU3IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0MDsiIGQ9Ik03NDUgODc4bDY5IDE5cTI1IDYgNDUgLTEybDI5OCAtMjk1cTExIC0xMSAxNSAtMjYuNXQtMiAtMzAuNXEtNSAtMTQgLTE4IC0yMy41dC0yOCAtOS41aC04cTEgMCAxIC0xM3EwIC0yOSAtMiAtNTZ0LTguNSAtNjJ0LTIwIC02M3QtMzMgLTUzdC01MSAtMzl0LTcyLjUgLTE0aC0xNDZxLTE4NCAwIC0xODQgMjg4cTAgMjQgMTAgNDdxLTIwIDQgLTYyIDR0LTYzIC00cTExIC0yNCAxMSAtNDdxMCAtMjg4IC0xODQgLTI4OGgtMTQyIHEtNDggMCAtODQuNSAyMXQtNTYgNTF0LTMyIDcxLjV0LTE2IDc1dC0zLjUgNjguNXEwIDEzIDIgMTNoLTdxLTE1IDAgLTI3LjUgOS41dC0xOC41IDIzLjVxLTYgMTUgLTIgMzAuNXQxNSAyNS41bDI5OCAyOTZxMjAgMTggNDYgMTFsNzYgLTE5cTIwIC01IDMwLjUgLTIyLjV0NS41IC0zNy41dC0yMi41IC0zMXQtMzcuNSAtNWwtNTEgMTJsLTE4MiAtMTkzaDg5MWwtMTgyIDE5M2wtNDQgLTEycS0yMCAtNSAtMzcuNSA2dC0yMi41IDMxdDYgMzcuNSB0MzEgMjIuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQxOyIgZD0iTTEyMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTUwMCA0NTBoLTI1cTAgMTUgLTQgMjQuNXQtOSAxNC41dC0xNyA3LjV0LTIwIDN0LTI1IDAuNWgtMTAwdi00MjVxMCAtMTEgMTIuNSAtMTcuNXQyNS41IC03LjVoMTJ2LTUwaC0yMDB2NTBxNTAgMCA1MCAyNXY0MjVoLTEwMHEtMTcgMCAtMjUgLTAuNXQtMjAgLTN0LTE3IC03LjV0LTkgLTE0LjV0LTQgLTI0LjVoLTI1djE1MGg1MDB2LTE1MHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQyOyIgZD0iTTEwMDAgMzAwdjUwcS0yNSAwIC01NSAzMnEtMTQgMTQgLTI1IDMxdC0xNiAyN2wtNCAxMWwtMjg5IDc0N2gtNjlsLTMwMCAtNzU0cS0xOCAtMzUgLTM5IC01NnEtOSAtOSAtMjQuNSAtMTguNXQtMjYuNSAtMTQuNWwtMTEgLTV2LTUwaDI3M3Y1MHEtNDkgMCAtNzguNSAyMS41dC0xMS41IDY3LjVsNjkgMTc2aDI5M2w2MSAtMTY2cTEzIC0zNCAtMy41IC02Ni41dC01NS41IC0zMi41di01MGgzMTJ6TTQxMiA2OTFsMTM0IDM0MmwxMjEgLTM0MiBoLTI1NXpNMTEwMCAxNTB2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDM7IiBkPSJNNTAgMTIwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjExIDExMThoLTcwcS0xMyAwIC0xOCAtMTJsLTI5OSAtNzUzcS0xNyAtMzIgLTM1IC01MXEtMTggLTE4IC01NiAtMzRxLTEyIC01IC0xMiAtMTh2LTUwcTAgLTggNS41IC0xNHQxNC41IC02IGgyNzNxOCAwIDE0IDZ0NiAxNHY1MHEwIDggLTYgMTR0LTE0IDZxLTU1IDAgLTcxIDIzcS0xMCAxNCAwIDM5bDYzIDE2M2gyNjZsNTcgLTE1M3ExMSAtMzEgLTYgLTU1cS0xMiAtMTcgLTM2IC0xN3EtOCAwIC0xNCAtNnQtNiAtMTR2LTUwcTAgLTggNiAtMTR0MTQgLTZoMzEzcTggMCAxNCA2dDYgMTR2NTBxMCA3IC01LjUgMTN0LTEzLjUgN3EtMTcgMCAtNDIgMjVxLTI1IDI3IC00MCA2M2gtMWwtMjg4IDc0OHEtNSAxMiAtMTkgMTJ6TTYzOSA2MTEgaC0xOTdsMTAzIDI2NHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQ0OyIgZD0iTTEyMDAgMTEwMGgtMTIwMHYxMDBoMTIwMHYtMTAwek01MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtOTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djkwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDAgcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgOTAwdi0zMDBoMzAwdjMwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDU7IiBkPSJNNTAgMTIwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTkwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY5MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgNzAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgNjAwdi0zMDBoMzAwdjMwMGgtMzAwek0xMjAwIDBoLTEyMDB2MTAwaDEyMDB2LTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQ2OyIgZD0iTTUwIDEwMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMTAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoMTAwdi0xMDBoLTEwMHYtMTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djE1MGgtMTAwdi0zNTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA3MDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0NzsiIGQ9Ik0xMDAgMGgtMTAwdjEyMDBoMTAwdi0xMjAwek0yNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMDAgMTAwMHYtMzAwaDMwMHYzMDBoLTMwMHpNMjUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQ4OyIgZD0iTTYwMCAxMTAwaDE1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTEwMGg0NTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDM1MHYxMDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41IHQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTUwdjEwMGgxMDB2LTEwMHpNNDAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0OTsiIGQ9Ik0xMjAwIDBoLTEwMHYxMjAwaDEwMHYtMTIwMHpNNTUwIDExMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjUwOyIgZD0iTTg2NSA1NjVsLTQ5NCAtNDk0cS0yMyAtMjMgLTQxIC0yM3EtMTQgMCAtMjIgMTMuNXQtOCAzOC41djEwMDBxMCAyNSA4IDM4LjV0MjIgMTMuNXExOCAwIDQxIC0yM2w0OTQgLTQ5NHExNCAtMTQgMTQgLTM1dC0xNCAtMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI1MTsiIGQ9Ik0zMzUgNjM1bDQ5NCA0OTRxMjkgMjkgNTAgMjAuNXQyMSAtNDkuNXYtMTAwMHEwIC00MSAtMjEgLTQ5LjV0LTUwIDIwLjVsLTQ5NCA0OTRxLTE0IDE0IC0xNCAzNXQxNCAzNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjUyOyIgZD0iTTEwMCA5MDBoMTAwMHE0MSAwIDQ5LjUgLTIxdC0yMC41IC01MGwtNDk0IC00OTRxLTE0IC0xNCAtMzUgLTE0dC0zNSAxNGwtNDk0IDQ5NHEtMjkgMjkgLTIwLjUgNTB0NDkuNSAyMXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjUzOyIgZD0iTTYzNSA4NjVsNDk0IC00OTRxMjkgLTI5IDIwLjUgLTUwdC00OS41IC0yMWgtMTAwMHEtNDEgMCAtNDkuNSAyMXQyMC41IDUwbDQ5NCA0OTRxMTQgMTQgMzUgMTR0MzUgLTE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTQ7IiBkPSJNNzAwIDc0MXYtMTgybC02OTIgLTMyM3YyMjFsNDEzIDE5M2wtNDEzIDE5M3YyMjF6TTEyMDAgMGgtODAwdjIwMGg4MDB2LTIwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU1OyIgZD0iTTEyMDAgOTAwaC0yMDB2LTEwMGgyMDB2LTEwMGgtMzAwdjMwMGgyMDB2MTAwaC0yMDB2MTAwaDMwMHYtMzAwek0wIDcwMGg1MHEwIDIxIDQgMzd0OS41IDI2LjV0MTggMTcuNXQyMiAxMXQyOC41IDUuNXQzMSAydDM3IDAuNWgxMDB2LTU1MHEwIC0yMiAtMjUgLTM0LjV0LTUwIC0xMy41bC0yNSAtMnYtMTAwaDQwMHYxMDBxLTQgMCAtMTEgMC41dC0yNCAzdC0zMCA3dC0yNCAxNXQtMTEgMjQuNXY1NTBoMTAwcTI1IDAgMzcgLTAuNXQzMSAtMiB0MjguNSAtNS41dDIyIC0xMXQxOCAtMTcuNXQ5LjUgLTI2LjV0NCAtMzdoNTB2MzAwaC04MDB2LTMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU2OyIgZD0iTTgwMCA3MDBoLTUwcTAgMjEgLTQgMzd0LTkuNSAyNi41dC0xOCAxNy41dC0yMiAxMXQtMjguNSA1LjV0LTMxIDJ0LTM3IDAuNWgtMTAwdi01NTBxMCAtMjIgMjUgLTM0LjV0NTAgLTE0LjVsMjUgLTF2LTEwMGgtNDAwdjEwMHE0IDAgMTEgMC41dDI0IDN0MzAgN3QyNCAxNXQxMSAyNC41djU1MGgtMTAwcS0yNSAwIC0zNyAtMC41dC0zMSAtMnQtMjguNSAtNS41dC0yMiAtMTF0LTE4IC0xNy41dC05LjUgLTI2LjV0LTQgLTM3aC01MHYzMDAgaDgwMHYtMzAwek0xMTAwIDIwMGgtMjAwdi0xMDBoMjAwdi0xMDBoLTMwMHYzMDBoMjAwdjEwMGgtMjAwdjEwMGgzMDB2LTMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU3OyIgZD0iTTcwMSAxMDk4aDE2MHExNiAwIDIxIC0xMXQtNyAtMjNsLTQ2NCAtNDY0bDQ2NCAtNDY0cTEyIC0xMiA3IC0yM3QtMjEgLTExaC0xNjBxLTEzIDAgLTIzIDlsLTQ3MSA0NzFxLTcgOCAtNyAxOHQ3IDE4bDQ3MSA0NzFxMTAgOSAyMyA5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTg7IiBkPSJNMzM5IDEwOThoMTYwcTEzIDAgMjMgLTlsNDcxIC00NzFxNyAtOCA3IC0xOHQtNyAtMThsLTQ3MSAtNDcxcS0xMCAtOSAtMjMgLTloLTE2MHEtMTYgMCAtMjEgMTF0NyAyM2w0NjQgNDY0bC00NjQgNDY0cS0xMiAxMiAtNyAyM3QyMSAxMXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU5OyIgZD0iTTEwODcgODgycTExIC01IDExIC0yMXYtMTYwcTAgLTEzIC05IC0yM2wtNDcxIC00NzFxLTggLTcgLTE4IC03dC0xOCA3bC00NzEgNDcxcS05IDEwIC05IDIzdjE2MHEwIDE2IDExIDIxdDIzIC03bDQ2NCAtNDY0bDQ2NCA0NjRxMTIgMTIgMjMgN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjYwOyIgZD0iTTYxOCA5OTNsNDcxIC00NzFxOSAtMTAgOSAtMjN2LTE2MHEwIC0xNiAtMTEgLTIxdC0yMyA3bC00NjQgNDY0bC00NjQgLTQ2NHEtMTIgLTEyIC0yMyAtN3QtMTEgMjF2MTYwcTAgMTMgOSAyM2w0NzEgNDcxcTggNyAxOCA3dDE4IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGY4ZmY7IiBkPSJNMTAwMCAxMjAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek00NTAgMTAwMGgxMDBxMjEgMCA0MCAtMTR0MjYgLTMzbDc5IC0xOTRxNSAxIDE2IDNxMzQgNiA1NCA5LjV0NjAgN3Q2NS41IDF0NjEgLTEwdDU2LjUgLTIzdDQyLjUgLTQydDI5IC02NHQ1IC05MnQtMTkuNSAtMTIxLjVxLTEgLTcgLTMgLTE5LjV0LTExIC01MHQtMjAuNSAtNzN0LTMyLjUgLTgxLjV0LTQ2LjUgLTgzdC02NCAtNzAgdC04Mi41IC01MHEtMTMgLTUgLTQyIC01dC02NS41IDIuNXQtNDcuNSAyLjVxLTE0IDAgLTQ5LjUgLTMuNXQtNjMgLTMuNXQtNDMuNSA3cS01NyAyNSAtMTA0LjUgNzguNXQtNzUgMTExLjV0LTQ2LjUgMTEydC0yNiA5MGwtNyAzNXEtMTUgNjMgLTE4IDExNXQ0LjUgODguNXQyNiA2NHQzOS41IDQzLjV0NTIgMjUuNXQ1OC41IDEzdDYyLjUgMnQ1OS41IC00LjV0NTUuNSAtOGwtMTQ3IDE5MnEtMTIgMTggLTUuNSAzMHQyNy41IDEyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNTExOyIgZD0iTTI1MCAxMjAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTUwMGwtMjU1IC0xNzhxLTE5IC05IC0zMiAtMXQtMTMgMjl2NjUwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQwMCAxMTAwdi0xMDBoMzAwdjEwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNmFhOyIgZD0iTTI1MCAxMjAwaDc1MHEzOSAwIDY5LjUgLTQwLjV0MzAuNSAtODQuNXYtOTMzbC03MDAgLTExN3Y5NTBsNjAwIDEyNWgtNzAwdi0xMDAwaC0xMDB2MTAyNXEwIDIzIDE1LjUgNDl0MzQuNSAyNnpNNTAwIDUyNXYtMTAwbDEwMCAyMHYxMDB6IiAvPgo8L2ZvbnQ%2BCjwvZGVmcz48L3N2Zz4g%29%20format%28%27svg%27%29%7D%2Eglyphicon%7Bposition%3Arelative%3Btop%3A1px%3Bdisplay%3Ainline%2Dblock%3Bfont%2Dfamily%3A%27Glyphicons%20Halflings%27%3Bfont%2Dstyle%3Anormal%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%3B%2Dwebkit%2Dfont%2Dsmoothing%3Aantialiased%3B%2Dmoz%2Dosx%2Dfont%2Dsmoothing%3Agrayscale%7D%2Eglyphicon%2Dasterisk%3Abefore%7Bcontent%3A%22%5C2a%22%7D%2Eglyphicon%2Dplus%3Abefore%7Bcontent%3A%22%5C2b%22%7D%2Eglyphicon%2Deur%3Abefore%2C%2Eglyphicon%2Deuro%3Abefore%7Bcontent%3A%22%5C20ac%22%7D%2Eglyphicon%2Dminus%3Abefore%7Bcontent%3A%22%5C2212%22%7D%2Eglyphicon%2Dcloud%3Abefore%7Bcontent%3A%22%5C2601%22%7D%2Eglyphicon%2Denvelope%3Abefore%7Bcontent%3A%22%5C2709%22%7D%2Eglyphicon%2Dpencil%3Abefore%7Bcontent%3A%22%5C270f%22%7D%2Eglyphicon%2Dglass%3Abefore%7Bcontent%3A%22%5Ce001%22%7D%2Eglyphicon%2Dmusic%3Abefore%7Bcontent%3A%22%5Ce002%22%7D%2Eglyphicon%2Dsearch%3Abefore%7Bcontent%3A%22%5Ce003%22%7D%2Eglyphicon%2Dheart%3Abefore%7Bcontent%3A%22%5Ce005%22%7D%2Eglyphicon%2Dstar%3Abefore%7Bcontent%3A%22%5Ce006%22%7D%2Eglyphicon%2Dstar%2Dempty%3Abefore%7Bcontent%3A%22%5Ce007%22%7D%2Eglyphicon%2Duser%3Abefore%7Bcontent%3A%22%5Ce008%22%7D%2Eglyphicon%2Dfilm%3Abefore%7Bcontent%3A%22%5Ce009%22%7D%2Eglyphicon%2Dth%2Dlarge%3Abefore%7Bcontent%3A%22%5Ce010%22%7D%2Eglyphicon%2Dth%3Abefore%7Bcontent%3A%22%5Ce011%22%7D%2Eglyphicon%2Dth%2Dlist%3Abefore%7Bcontent%3A%22%5Ce012%22%7D%2Eglyphicon%2Dok%3Abefore%7Bcontent%3A%22%5Ce013%22%7D%2Eglyphicon%2Dremove%3Abefore%7Bcontent%3A%22%5Ce014%22%7D%2Eglyphicon%2Dzoom%2Din%3Abefore%7Bcontent%3A%22%5Ce015%22%7D%2Eglyphicon%2Dzoom%2Dout%3Abefore%7Bcontent%3A%22%5Ce016%22%7D%2Eglyphicon%2Doff%3Abefore%7Bcontent%3A%22%5Ce017%22%7D%2Eglyphicon%2Dsignal%3Abefore%7Bcontent%3A%22%5Ce018%22%7D%2Eglyphicon%2Dcog%3Abefore%7Bcontent%3A%22%5Ce019%22%7D%2Eglyphicon%2Dtrash%3Abefore%7Bcontent%3A%22%5Ce020%22%7D%2Eglyphicon%2Dhome%3Abefore%7Bcontent%3A%22%5Ce021%22%7D%2Eglyphicon%2Dfile%3Abefore%7Bcontent%3A%22%5Ce022%22%7D%2Eglyphicon%2Dtime%3Abefore%7Bcontent%3A%22%5Ce023%22%7D%2Eglyphicon%2Droad%3Abefore%7Bcontent%3A%22%5Ce024%22%7D%2Eglyphicon%2Ddownload%2Dalt%3Abefore%7Bcontent%3A%22%5Ce025%22%7D%2Eglyphicon%2Ddownload%3Abefore%7Bcontent%3A%22%5Ce026%22%7D%2Eglyphicon%2Dupload%3Abefore%7Bcontent%3A%22%5Ce027%22%7D%2Eglyphicon%2Dinbox%3Abefore%7Bcontent%3A%22%5Ce028%22%7D%2Eglyphicon%2Dplay%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce029%22%7D%2Eglyphicon%2Drepeat%3Abefore%7Bcontent%3A%22%5Ce030%22%7D%2Eglyphicon%2Drefresh%3Abefore%7Bcontent%3A%22%5Ce031%22%7D%2Eglyphicon%2Dlist%2Dalt%3Abefore%7Bcontent%3A%22%5Ce032%22%7D%2Eglyphicon%2Dlock%3Abefore%7Bcontent%3A%22%5Ce033%22%7D%2Eglyphicon%2Dflag%3Abefore%7Bcontent%3A%22%5Ce034%22%7D%2Eglyphicon%2Dheadphones%3Abefore%7Bcontent%3A%22%5Ce035%22%7D%2Eglyphicon%2Dvolume%2Doff%3Abefore%7Bcontent%3A%22%5Ce036%22%7D%2Eglyphicon%2Dvolume%2Ddown%3Abefore%7Bcontent%3A%22%5Ce037%22%7D%2Eglyphicon%2Dvolume%2Dup%3Abefore%7Bcontent%3A%22%5Ce038%22%7D%2Eglyphicon%2Dqrcode%3Abefore%7Bcontent%3A%22%5Ce039%22%7D%2Eglyphicon%2Dbarcode%3Abefore%7Bcontent%3A%22%5Ce040%22%7D%2Eglyphicon%2Dtag%3Abefore%7Bcontent%3A%22%5Ce041%22%7D%2Eglyphicon%2Dtags%3Abefore%7Bcontent%3A%22%5Ce042%22%7D%2Eglyphicon%2Dbook%3Abefore%7Bcontent%3A%22%5Ce043%22%7D%2Eglyphicon%2Dbookmark%3Abefore%7Bcontent%3A%22%5Ce044%22%7D%2Eglyphicon%2Dprint%3Abefore%7Bcontent%3A%22%5Ce045%22%7D%2Eglyphicon%2Dcamera%3Abefore%7Bcontent%3A%22%5Ce046%22%7D%2Eglyphicon%2Dfont%3Abefore%7Bcontent%3A%22%5Ce047%22%7D%2Eglyphicon%2Dbold%3Abefore%7Bcontent%3A%22%5Ce048%22%7D%2Eglyphicon%2Ditalic%3Abefore%7Bcontent%3A%22%5Ce049%22%7D%2Eglyphicon%2Dtext%2Dheight%3Abefore%7Bcontent%3A%22%5Ce050%22%7D%2Eglyphicon%2Dtext%2Dwidth%3Abefore%7Bcontent%3A%22%5Ce051%22%7D%2Eglyphicon%2Dalign%2Dleft%3Abefore%7Bcontent%3A%22%5Ce052%22%7D%2Eglyphicon%2Dalign%2Dcenter%3Abefore%7Bcontent%3A%22%5Ce053%22%7D%2Eglyphicon%2Dalign%2Dright%3Abefore%7Bcontent%3A%22%5Ce054%22%7D%2Eglyphicon%2Dalign%2Djustify%3Abefore%7Bcontent%3A%22%5Ce055%22%7D%2Eglyphicon%2Dlist%3Abefore%7Bcontent%3A%22%5Ce056%22%7D%2Eglyphicon%2Dindent%2Dleft%3Abefore%7Bcontent%3A%22%5Ce057%22%7D%2Eglyphicon%2Dindent%2Dright%3Abefore%7Bcontent%3A%22%5Ce058%22%7D%2Eglyphicon%2Dfacetime%2Dvideo%3Abefore%7Bcontent%3A%22%5Ce059%22%7D%2Eglyphicon%2Dpicture%3Abefore%7Bcontent%3A%22%5Ce060%22%7D%2Eglyphicon%2Dmap%2Dmarker%3Abefore%7Bcontent%3A%22%5Ce062%22%7D%2Eglyphicon%2Dadjust%3Abefore%7Bcontent%3A%22%5Ce063%22%7D%2Eglyphicon%2Dtint%3Abefore%7Bcontent%3A%22%5Ce064%22%7D%2Eglyphicon%2Dedit%3Abefore%7Bcontent%3A%22%5Ce065%22%7D%2Eglyphicon%2Dshare%3Abefore%7Bcontent%3A%22%5Ce066%22%7D%2Eglyphicon%2Dcheck%3Abefore%7Bcontent%3A%22%5Ce067%22%7D%2Eglyphicon%2Dmove%3Abefore%7Bcontent%3A%22%5Ce068%22%7D%2Eglyphicon%2Dstep%2Dbackward%3Abefore%7Bcontent%3A%22%5Ce069%22%7D%2Eglyphicon%2Dfast%2Dbackward%3Abefore%7Bcontent%3A%22%5Ce070%22%7D%2Eglyphicon%2Dbackward%3Abefore%7Bcontent%3A%22%5Ce071%22%7D%2Eglyphicon%2Dplay%3Abefore%7Bcontent%3A%22%5Ce072%22%7D%2Eglyphicon%2Dpause%3Abefore%7Bcontent%3A%22%5Ce073%22%7D%2Eglyphicon%2Dstop%3Abefore%7Bcontent%3A%22%5Ce074%22%7D%2Eglyphicon%2Dforward%3Abefore%7Bcontent%3A%22%5Ce075%22%7D%2Eglyphicon%2Dfast%2Dforward%3Abefore%7Bcontent%3A%22%5Ce076%22%7D%2Eglyphicon%2Dstep%2Dforward%3Abefore%7Bcontent%3A%22%5Ce077%22%7D%2Eglyphicon%2Deject%3Abefore%7Bcontent%3A%22%5Ce078%22%7D%2Eglyphicon%2Dchevron%2Dleft%3Abefore%7Bcontent%3A%22%5Ce079%22%7D%2Eglyphicon%2Dchevron%2Dright%3Abefore%7Bcontent%3A%22%5Ce080%22%7D%2Eglyphicon%2Dplus%2Dsign%3Abefore%7Bcontent%3A%22%5Ce081%22%7D%2Eglyphicon%2Dminus%2Dsign%3Abefore%7Bcontent%3A%22%5Ce082%22%7D%2Eglyphicon%2Dremove%2Dsign%3Abefore%7Bcontent%3A%22%5Ce083%22%7D%2Eglyphicon%2Dok%2Dsign%3Abefore%7Bcontent%3A%22%5Ce084%22%7D%2Eglyphicon%2Dquestion%2Dsign%3Abefore%7Bcontent%3A%22%5Ce085%22%7D%2Eglyphicon%2Dinfo%2Dsign%3Abefore%7Bcontent%3A%22%5Ce086%22%7D%2Eglyphicon%2Dscreenshot%3Abefore%7Bcontent%3A%22%5Ce087%22%7D%2Eglyphicon%2Dremove%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce088%22%7D%2Eglyphicon%2Dok%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce089%22%7D%2Eglyphicon%2Dban%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce090%22%7D%2Eglyphicon%2Darrow%2Dleft%3Abefore%7Bcontent%3A%22%5Ce091%22%7D%2Eglyphicon%2Darrow%2Dright%3Abefore%7Bcontent%3A%22%5Ce092%22%7D%2Eglyphicon%2Darrow%2Dup%3Abefore%7Bcontent%3A%22%5Ce093%22%7D%2Eglyphicon%2Darrow%2Ddown%3Abefore%7Bcontent%3A%22%5Ce094%22%7D%2Eglyphicon%2Dshare%2Dalt%3Abefore%7Bcontent%3A%22%5Ce095%22%7D%2Eglyphicon%2Dresize%2Dfull%3Abefore%7Bcontent%3A%22%5Ce096%22%7D%2Eglyphicon%2Dresize%2Dsmall%3Abefore%7Bcontent%3A%22%5Ce097%22%7D%2Eglyphicon%2Dexclamation%2Dsign%3Abefore%7Bcontent%3A%22%5Ce101%22%7D%2Eglyphicon%2Dgift%3Abefore%7Bcontent%3A%22%5Ce102%22%7D%2Eglyphicon%2Dleaf%3Abefore%7Bcontent%3A%22%5Ce103%22%7D%2Eglyphicon%2Dfire%3Abefore%7Bcontent%3A%22%5Ce104%22%7D%2Eglyphicon%2Deye%2Dopen%3Abefore%7Bcontent%3A%22%5Ce105%22%7D%2Eglyphicon%2Deye%2Dclose%3Abefore%7Bcontent%3A%22%5Ce106%22%7D%2Eglyphicon%2Dwarning%2Dsign%3Abefore%7Bcontent%3A%22%5Ce107%22%7D%2Eglyphicon%2Dplane%3Abefore%7Bcontent%3A%22%5Ce108%22%7D%2Eglyphicon%2Dcalendar%3Abefore%7Bcontent%3A%22%5Ce109%22%7D%2Eglyphicon%2Drandom%3Abefore%7Bcontent%3A%22%5Ce110%22%7D%2Eglyphicon%2Dcomment%3Abefore%7Bcontent%3A%22%5Ce111%22%7D%2Eglyphicon%2Dmagnet%3Abefore%7Bcontent%3A%22%5Ce112%22%7D%2Eglyphicon%2Dchevron%2Dup%3Abefore%7Bcontent%3A%22%5Ce113%22%7D%2Eglyphicon%2Dchevron%2Ddown%3Abefore%7Bcontent%3A%22%5Ce114%22%7D%2Eglyphicon%2Dretweet%3Abefore%7Bcontent%3A%22%5Ce115%22%7D%2Eglyphicon%2Dshopping%2Dcart%3Abefore%7Bcontent%3A%22%5Ce116%22%7D%2Eglyphicon%2Dfolder%2Dclose%3Abefore%7Bcontent%3A%22%5Ce117%22%7D%2Eglyphicon%2Dfolder%2Dopen%3Abefore%7Bcontent%3A%22%5Ce118%22%7D%2Eglyphicon%2Dresize%2Dvertical%3Abefore%7Bcontent%3A%22%5Ce119%22%7D%2Eglyphicon%2Dresize%2Dhorizontal%3Abefore%7Bcontent%3A%22%5Ce120%22%7D%2Eglyphicon%2Dhdd%3Abefore%7Bcontent%3A%22%5Ce121%22%7D%2Eglyphicon%2Dbullhorn%3Abefore%7Bcontent%3A%22%5Ce122%22%7D%2Eglyphicon%2Dbell%3Abefore%7Bcontent%3A%22%5Ce123%22%7D%2Eglyphicon%2Dcertificate%3Abefore%7Bcontent%3A%22%5Ce124%22%7D%2Eglyphicon%2Dthumbs%2Dup%3Abefore%7Bcontent%3A%22%5Ce125%22%7D%2Eglyphicon%2Dthumbs%2Ddown%3Abefore%7Bcontent%3A%22%5Ce126%22%7D%2Eglyphicon%2Dhand%2Dright%3Abefore%7Bcontent%3A%22%5Ce127%22%7D%2Eglyphicon%2Dhand%2Dleft%3Abefore%7Bcontent%3A%22%5Ce128%22%7D%2Eglyphicon%2Dhand%2Dup%3Abefore%7Bcontent%3A%22%5Ce129%22%7D%2Eglyphicon%2Dhand%2Ddown%3Abefore%7Bcontent%3A%22%5Ce130%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Dright%3Abefore%7Bcontent%3A%22%5Ce131%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Dleft%3Abefore%7Bcontent%3A%22%5Ce132%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Dup%3Abefore%7Bcontent%3A%22%5Ce133%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Ddown%3Abefore%7Bcontent%3A%22%5Ce134%22%7D%2Eglyphicon%2Dglobe%3Abefore%7Bcontent%3A%22%5Ce135%22%7D%2Eglyphicon%2Dwrench%3Abefore%7Bcontent%3A%22%5Ce136%22%7D%2Eglyphicon%2Dtasks%3Abefore%7Bcontent%3A%22%5Ce137%22%7D%2Eglyphicon%2Dfilter%3Abefore%7Bcontent%3A%22%5Ce138%22%7D%2Eglyphicon%2Dbriefcase%3Abefore%7Bcontent%3A%22%5Ce139%22%7D%2Eglyphicon%2Dfullscreen%3Abefore%7Bcontent%3A%22%5Ce140%22%7D%2Eglyphicon%2Ddashboard%3Abefore%7Bcontent%3A%22%5Ce141%22%7D%2Eglyphicon%2Dpaperclip%3Abefore%7Bcontent%3A%22%5Ce142%22%7D%2Eglyphicon%2Dheart%2Dempty%3Abefore%7Bcontent%3A%22%5Ce143%22%7D%2Eglyphicon%2Dlink%3Abefore%7Bcontent%3A%22%5Ce144%22%7D%2Eglyphicon%2Dphone%3Abefore%7Bcontent%3A%22%5Ce145%22%7D%2Eglyphicon%2Dpushpin%3Abefore%7Bcontent%3A%22%5Ce146%22%7D%2Eglyphicon%2Dusd%3Abefore%7Bcontent%3A%22%5Ce148%22%7D%2Eglyphicon%2Dgbp%3Abefore%7Bcontent%3A%22%5Ce149%22%7D%2Eglyphicon%2Dsort%3Abefore%7Bcontent%3A%22%5Ce150%22%7D%2Eglyphicon%2Dsort%2Dby%2Dalphabet%3Abefore%7Bcontent%3A%22%5Ce151%22%7D%2Eglyphicon%2Dsort%2Dby%2Dalphabet%2Dalt%3Abefore%7Bcontent%3A%22%5Ce152%22%7D%2Eglyphicon%2Dsort%2Dby%2Dorder%3Abefore%7Bcontent%3A%22%5Ce153%22%7D%2Eglyphicon%2Dsort%2Dby%2Dorder%2Dalt%3Abefore%7Bcontent%3A%22%5Ce154%22%7D%2Eglyphicon%2Dsort%2Dby%2Dattributes%3Abefore%7Bcontent%3A%22%5Ce155%22%7D%2Eglyphicon%2Dsort%2Dby%2Dattributes%2Dalt%3Abefore%7Bcontent%3A%22%5Ce156%22%7D%2Eglyphicon%2Dunchecked%3Abefore%7Bcontent%3A%22%5Ce157%22%7D%2Eglyphicon%2Dexpand%3Abefore%7Bcontent%3A%22%5Ce158%22%7D%2Eglyphicon%2Dcollapse%2Ddown%3Abefore%7Bcontent%3A%22%5Ce159%22%7D%2Eglyphicon%2Dcollapse%2Dup%3Abefore%7Bcontent%3A%22%5Ce160%22%7D%2Eglyphicon%2Dlog%2Din%3Abefore%7Bcontent%3A%22%5Ce161%22%7D%2Eglyphicon%2Dflash%3Abefore%7Bcontent%3A%22%5Ce162%22%7D%2Eglyphicon%2Dlog%2Dout%3Abefore%7Bcontent%3A%22%5Ce163%22%7D%2Eglyphicon%2Dnew%2Dwindow%3Abefore%7Bcontent%3A%22%5Ce164%22%7D%2Eglyphicon%2Drecord%3Abefore%7Bcontent%3A%22%5Ce165%22%7D%2Eglyphicon%2Dsave%3Abefore%7Bcontent%3A%22%5Ce166%22%7D%2Eglyphicon%2Dopen%3Abefore%7Bcontent%3A%22%5Ce167%22%7D%2Eglyphicon%2Dsaved%3Abefore%7Bcontent%3A%22%5Ce168%22%7D%2Eglyphicon%2Dimport%3Abefore%7Bcontent%3A%22%5Ce169%22%7D%2Eglyphicon%2Dexport%3Abefore%7Bcontent%3A%22%5Ce170%22%7D%2Eglyphicon%2Dsend%3Abefore%7Bcontent%3A%22%5Ce171%22%7D%2Eglyphicon%2Dfloppy%2Ddisk%3Abefore%7Bcontent%3A%22%5Ce172%22%7D%2Eglyphicon%2Dfloppy%2Dsaved%3Abefore%7Bcontent%3A%22%5Ce173%22%7D%2Eglyphicon%2Dfloppy%2Dremove%3Abefore%7Bcontent%3A%22%5Ce174%22%7D%2Eglyphicon%2Dfloppy%2Dsave%3Abefore%7Bcontent%3A%22%5Ce175%22%7D%2Eglyphicon%2Dfloppy%2Dopen%3Abefore%7Bcontent%3A%22%5Ce176%22%7D%2Eglyphicon%2Dcredit%2Dcard%3Abefore%7Bcontent%3A%22%5Ce177%22%7D%2Eglyphicon%2Dtransfer%3Abefore%7Bcontent%3A%22%5Ce178%22%7D%2Eglyphicon%2Dcutlery%3Abefore%7Bcontent%3A%22%5Ce179%22%7D%2Eglyphicon%2Dheader%3Abefore%7Bcontent%3A%22%5Ce180%22%7D%2Eglyphicon%2Dcompressed%3Abefore%7Bcontent%3A%22%5Ce181%22%7D%2Eglyphicon%2Dearphone%3Abefore%7Bcontent%3A%22%5Ce182%22%7D%2Eglyphicon%2Dphone%2Dalt%3Abefore%7Bcontent%3A%22%5Ce183%22%7D%2Eglyphicon%2Dtower%3Abefore%7Bcontent%3A%22%5Ce184%22%7D%2Eglyphicon%2Dstats%3Abefore%7Bcontent%3A%22%5Ce185%22%7D%2Eglyphicon%2Dsd%2Dvideo%3Abefore%7Bcontent%3A%22%5Ce186%22%7D%2Eglyphicon%2Dhd%2Dvideo%3Abefore%7Bcontent%3A%22%5Ce187%22%7D%2Eglyphicon%2Dsubtitles%3Abefore%7Bcontent%3A%22%5Ce188%22%7D%2Eglyphicon%2Dsound%2Dstereo%3Abefore%7Bcontent%3A%22%5Ce189%22%7D%2Eglyphicon%2Dsound%2Ddolby%3Abefore%7Bcontent%3A%22%5Ce190%22%7D%2Eglyphicon%2Dsound%2D5%2D1%3Abefore%7Bcontent%3A%22%5Ce191%22%7D%2Eglyphicon%2Dsound%2D6%2D1%3Abefore%7Bcontent%3A%22%5Ce192%22%7D%2Eglyphicon%2Dsound%2D7%2D1%3Abefore%7Bcontent%3A%22%5Ce193%22%7D%2Eglyphicon%2Dcopyright%2Dmark%3Abefore%7Bcontent%3A%22%5Ce194%22%7D%2Eglyphicon%2Dregistration%2Dmark%3Abefore%7Bcontent%3A%22%5Ce195%22%7D%2Eglyphicon%2Dcloud%2Ddownload%3Abefore%7Bcontent%3A%22%5Ce197%22%7D%2Eglyphicon%2Dcloud%2Dupload%3Abefore%7Bcontent%3A%22%5Ce198%22%7D%2Eglyphicon%2Dtree%2Dconifer%3Abefore%7Bcontent%3A%22%5Ce199%22%7D%2Eglyphicon%2Dtree%2Ddeciduous%3Abefore%7Bcontent%3A%22%5Ce200%22%7D%2Eglyphicon%2Dcd%3Abefore%7Bcontent%3A%22%5Ce201%22%7D%2Eglyphicon%2Dsave%2Dfile%3Abefore%7Bcontent%3A%22%5Ce202%22%7D%2Eglyphicon%2Dopen%2Dfile%3Abefore%7Bcontent%3A%22%5Ce203%22%7D%2Eglyphicon%2Dlevel%2Dup%3Abefore%7Bcontent%3A%22%5Ce204%22%7D%2Eglyphicon%2Dcopy%3Abefore%7Bcontent%3A%22%5Ce205%22%7D%2Eglyphicon%2Dpaste%3Abefore%7Bcontent%3A%22%5Ce206%22%7D%2Eglyphicon%2Dalert%3Abefore%7Bcontent%3A%22%5Ce209%22%7D%2Eglyphicon%2Dequalizer%3Abefore%7Bcontent%3A%22%5Ce210%22%7D%2Eglyphicon%2Dking%3Abefore%7Bcontent%3A%22%5Ce211%22%7D%2Eglyphicon%2Dqueen%3Abefore%7Bcontent%3A%22%5Ce212%22%7D%2Eglyphicon%2Dpawn%3Abefore%7Bcontent%3A%22%5Ce213%22%7D%2Eglyphicon%2Dbishop%3Abefore%7Bcontent%3A%22%5Ce214%22%7D%2Eglyphicon%2Dknight%3Abefore%7Bcontent%3A%22%5Ce215%22%7D%2Eglyphicon%2Dbaby%2Dformula%3Abefore%7Bcontent%3A%22%5Ce216%22%7D%2Eglyphicon%2Dtent%3Abefore%7Bcontent%3A%22%5C26fa%22%7D%2Eglyphicon%2Dblackboard%3Abefore%7Bcontent%3A%22%5Ce218%22%7D%2Eglyphicon%2Dbed%3Abefore%7Bcontent%3A%22%5Ce219%22%7D%2Eglyphicon%2Dapple%3Abefore%7Bcontent%3A%22%5Cf8ff%22%7D%2Eglyphicon%2Derase%3Abefore%7Bcontent%3A%22%5Ce221%22%7D%2Eglyphicon%2Dhourglass%3Abefore%7Bcontent%3A%22%5C231b%22%7D%2Eglyphicon%2Dlamp%3Abefore%7Bcontent%3A%22%5Ce223%22%7D%2Eglyphicon%2Dduplicate%3Abefore%7Bcontent%3A%22%5Ce224%22%7D%2Eglyphicon%2Dpiggy%2Dbank%3Abefore%7Bcontent%3A%22%5Ce225%22%7D%2Eglyphicon%2Dscissors%3Abefore%7Bcontent%3A%22%5Ce226%22%7D%2Eglyphicon%2Dbitcoin%3Abefore%7Bcontent%3A%22%5Ce227%22%7D%2Eglyphicon%2Dbtc%3Abefore%7Bcontent%3A%22%5Ce227%22%7D%2Eglyphicon%2Dxbt%3Abefore%7Bcontent%3A%22%5Ce227%22%7D%2Eglyphicon%2Dyen%3Abefore%7Bcontent%3A%22%5C00a5%22%7D%2Eglyphicon%2Djpy%3Abefore%7Bcontent%3A%22%5C00a5%22%7D%2Eglyphicon%2Druble%3Abefore%7Bcontent%3A%22%5C20bd%22%7D%2Eglyphicon%2Drub%3Abefore%7Bcontent%3A%22%5C20bd%22%7D%2Eglyphicon%2Dscale%3Abefore%7Bcontent%3A%22%5Ce230%22%7D%2Eglyphicon%2Dice%2Dlolly%3Abefore%7Bcontent%3A%22%5Ce231%22%7D%2Eglyphicon%2Dice%2Dlolly%2Dtasted%3Abefore%7Bcontent%3A%22%5Ce232%22%7D%2Eglyphicon%2Deducation%3Abefore%7Bcontent%3A%22%5Ce233%22%7D%2Eglyphicon%2Doption%2Dhorizontal%3Abefore%7Bcontent%3A%22%5Ce234%22%7D%2Eglyphicon%2Doption%2Dvertical%3Abefore%7Bcontent%3A%22%5Ce235%22%7D%2Eglyphicon%2Dmenu%2Dhamburger%3Abefore%7Bcontent%3A%22%5Ce236%22%7D%2Eglyphicon%2Dmodal%2Dwindow%3Abefore%7Bcontent%3A%22%5Ce237%22%7D%2Eglyphicon%2Doil%3Abefore%7Bcontent%3A%22%5Ce238%22%7D%2Eglyphicon%2Dgrain%3Abefore%7Bcontent%3A%22%5Ce239%22%7D%2Eglyphicon%2Dsunglasses%3Abefore%7Bcontent%3A%22%5Ce240%22%7D%2Eglyphicon%2Dtext%2Dsize%3Abefore%7Bcontent%3A%22%5Ce241%22%7D%2Eglyphicon%2Dtext%2Dcolor%3Abefore%7Bcontent%3A%22%5Ce242%22%7D%2Eglyphicon%2Dtext%2Dbackground%3Abefore%7Bcontent%3A%22%5Ce243%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dtop%3Abefore%7Bcontent%3A%22%5Ce244%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dbottom%3Abefore%7Bcontent%3A%22%5Ce245%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dhorizontal%3Abefore%7Bcontent%3A%22%5Ce246%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dleft%3Abefore%7Bcontent%3A%22%5Ce247%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dvertical%3Abefore%7Bcontent%3A%22%5Ce248%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dright%3Abefore%7Bcontent%3A%22%5Ce249%22%7D%2Eglyphicon%2Dtriangle%2Dright%3Abefore%7Bcontent%3A%22%5Ce250%22%7D%2Eglyphicon%2Dtriangle%2Dleft%3Abefore%7Bcontent%3A%22%5Ce251%22%7D%2Eglyphicon%2Dtriangle%2Dbottom%3Abefore%7Bcontent%3A%22%5Ce252%22%7D%2Eglyphicon%2Dtriangle%2Dtop%3Abefore%7Bcontent%3A%22%5Ce253%22%7D%2Eglyphicon%2Dconsole%3Abefore%7Bcontent%3A%22%5Ce254%22%7D%2Eglyphicon%2Dsuperscript%3Abefore%7Bcontent%3A%22%5Ce255%22%7D%2Eglyphicon%2Dsubscript%3Abefore%7Bcontent%3A%22%5Ce256%22%7D%2Eglyphicon%2Dmenu%2Dleft%3Abefore%7Bcontent%3A%22%5Ce257%22%7D%2Eglyphicon%2Dmenu%2Dright%3Abefore%7Bcontent%3A%22%5Ce258%22%7D%2Eglyphicon%2Dmenu%2Ddown%3Abefore%7Bcontent%3A%22%5Ce259%22%7D%2Eglyphicon%2Dmenu%2Dup%3Abefore%7Bcontent%3A%22%5Ce260%22%7D%2A%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%7D%3Aafter%2C%3Abefore%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%7Dhtml%7Bfont%2Dsize%3A10px%3B%2Dwebkit%2Dtap%2Dhighlight%2Dcolor%3Argba%280%2C0%2C0%2C0%29%7Dbody%7Bfont%2Dfamily%3A%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans%2Dserif%3Bfont%2Dsize%3A14px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23fff%7Dbutton%2Cinput%2Cselect%2Ctextarea%7Bfont%2Dfamily%3Ainherit%3Bfont%2Dsize%3Ainherit%3Bline%2Dheight%3Ainherit%7Da%7Bcolor%3A%23337ab7%3Btext%2Ddecoration%3Anone%7Da%3Afocus%2Ca%3Ahover%7Bcolor%3A%2323527c%3Btext%2Ddecoration%3Aunderline%7Da%3Afocus%7Boutline%3Athin%20dotted%3Boutline%3A5px%20auto%20%2Dwebkit%2Dfocus%2Dring%2Dcolor%3Boutline%2Doffset%3A%2D2px%7Dfigure%7Bmargin%3A0%7Dimg%7Bvertical%2Dalign%3Amiddle%7D%2Ecarousel%2Dinner%3E%2Eitem%3Ea%3Eimg%2C%2Ecarousel%2Dinner%3E%2Eitem%3Eimg%2C%2Eimg%2Dresponsive%2C%2Ethumbnail%20a%3Eimg%2C%2Ethumbnail%3Eimg%7Bdisplay%3Ablock%3Bmax%2Dwidth%3A100%25%3Bheight%3Aauto%7D%2Eimg%2Drounded%7Bborder%2Dradius%3A6px%7D%2Eimg%2Dthumbnail%7Bdisplay%3Ainline%2Dblock%3Bmax%2Dwidth%3A100%25%3Bheight%3Aauto%3Bpadding%3A4px%3Bline%2Dheight%3A1%2E42857143%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dtransition%3Aall%20%2E2s%20ease%2Din%2Dout%3B%2Do%2Dtransition%3Aall%20%2E2s%20ease%2Din%2Dout%3Btransition%3Aall%20%2E2s%20ease%2Din%2Dout%7D%2Eimg%2Dcircle%7Bborder%2Dradius%3A50%25%7Dhr%7Bmargin%2Dtop%3A20px%3Bmargin%2Dbottom%3A20px%3Bborder%3A0%3Bborder%2Dtop%3A1px%20solid%20%23eee%7D%2Esr%2Donly%7Bposition%3Aabsolute%3Bwidth%3A1px%3Bheight%3A1px%3Bpadding%3A0%3Bmargin%3A%2D1px%3Boverflow%3Ahidden%3Bclip%3Arect%280%2C0%2C0%2C0%29%3Bborder%3A0%7D%2Esr%2Donly%2Dfocusable%3Aactive%2C%2Esr%2Donly%2Dfocusable%3Afocus%7Bposition%3Astatic%3Bwidth%3Aauto%3Bheight%3Aauto%3Bmargin%3A0%3Boverflow%3Avisible%3Bclip%3Aauto%7D%5Brole%3Dbutton%5D%7Bcursor%3Apointer%7D%2Eh1%2C%2Eh2%2C%2Eh3%2C%2Eh4%2C%2Eh5%2C%2Eh6%2Ch1%2Ch2%2Ch3%2Ch4%2Ch5%2Ch6%7Bfont%2Dfamily%3Ainherit%3Bfont%2Dweight%3A500%3Bline%2Dheight%3A1%2E1%3Bcolor%3Ainherit%7D%2Eh1%20%2Esmall%2C%2Eh1%20small%2C%2Eh2%20%2Esmall%2C%2Eh2%20small%2C%2Eh3%20%2Esmall%2C%2Eh3%20small%2C%2Eh4%20%2Esmall%2C%2Eh4%20small%2C%2Eh5%20%2Esmall%2C%2Eh5%20small%2C%2Eh6%20%2Esmall%2C%2Eh6%20small%2Ch1%20%2Esmall%2Ch1%20small%2Ch2%20%2Esmall%2Ch2%20small%2Ch3%20%2Esmall%2Ch3%20small%2Ch4%20%2Esmall%2Ch4%20small%2Ch5%20%2Esmall%2Ch5%20small%2Ch6%20%2Esmall%2Ch6%20small%7Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%3Bcolor%3A%23777%7D%2Eh1%2C%2Eh2%2C%2Eh3%2Ch1%2Ch2%2Ch3%7Bmargin%2Dtop%3A20px%3Bmargin%2Dbottom%3A10px%7D%2Eh1%20%2Esmall%2C%2Eh1%20small%2C%2Eh2%20%2Esmall%2C%2Eh2%20small%2C%2Eh3%20%2Esmall%2C%2Eh3%20small%2Ch1%20%2Esmall%2Ch1%20small%2Ch2%20%2Esmall%2Ch2%20small%2Ch3%20%2Esmall%2Ch3%20small%7Bfont%2Dsize%3A65%25%7D%2Eh4%2C%2Eh5%2C%2Eh6%2Ch4%2Ch5%2Ch6%7Bmargin%2Dtop%3A10px%3Bmargin%2Dbottom%3A10px%7D%2Eh4%20%2Esmall%2C%2Eh4%20small%2C%2Eh5%20%2Esmall%2C%2Eh5%20small%2C%2Eh6%20%2Esmall%2C%2Eh6%20small%2Ch4%20%2Esmall%2Ch4%20small%2Ch5%20%2Esmall%2Ch5%20small%2Ch6%20%2Esmall%2Ch6%20small%7Bfont%2Dsize%3A75%25%7D%2Eh1%2Ch1%7Bfont%2Dsize%3A36px%7D%2Eh2%2Ch2%7Bfont%2Dsize%3A30px%7D%2Eh3%2Ch3%7Bfont%2Dsize%3A24px%7D%2Eh4%2Ch4%7Bfont%2Dsize%3A18px%7D%2Eh5%2Ch5%7Bfont%2Dsize%3A14px%7D%2Eh6%2Ch6%7Bfont%2Dsize%3A12px%7Dp%7Bmargin%3A0%200%2010px%7D%2Elead%7Bmargin%2Dbottom%3A20px%3Bfont%2Dsize%3A16px%3Bfont%2Dweight%3A300%3Bline%2Dheight%3A1%2E4%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Elead%7Bfont%2Dsize%3A21px%7D%7D%2Esmall%2Csmall%7Bfont%2Dsize%3A85%25%7D%2Emark%2Cmark%7Bpadding%3A%2E2em%3Bbackground%2Dcolor%3A%23fcf8e3%7D%2Etext%2Dleft%7Btext%2Dalign%3Aleft%7D%2Etext%2Dright%7Btext%2Dalign%3Aright%7D%2Etext%2Dcenter%7Btext%2Dalign%3Acenter%7D%2Etext%2Djustify%7Btext%2Dalign%3Ajustify%7D%2Etext%2Dnowrap%7Bwhite%2Dspace%3Anowrap%7D%2Etext%2Dlowercase%7Btext%2Dtransform%3Alowercase%7D%2Etext%2Duppercase%7Btext%2Dtransform%3Auppercase%7D%2Etext%2Dcapitalize%7Btext%2Dtransform%3Acapitalize%7D%2Etext%2Dmuted%7Bcolor%3A%23777%7D%2Etext%2Dprimary%7Bcolor%3A%23337ab7%7Da%2Etext%2Dprimary%3Afocus%2Ca%2Etext%2Dprimary%3Ahover%7Bcolor%3A%23286090%7D%2Etext%2Dsuccess%7Bcolor%3A%233c763d%7Da%2Etext%2Dsuccess%3Afocus%2Ca%2Etext%2Dsuccess%3Ahover%7Bcolor%3A%232b542c%7D%2Etext%2Dinfo%7Bcolor%3A%2331708f%7Da%2Etext%2Dinfo%3Afocus%2Ca%2Etext%2Dinfo%3Ahover%7Bcolor%3A%23245269%7D%2Etext%2Dwarning%7Bcolor%3A%238a6d3b%7Da%2Etext%2Dwarning%3Afocus%2Ca%2Etext%2Dwarning%3Ahover%7Bcolor%3A%2366512c%7D%2Etext%2Ddanger%7Bcolor%3A%23a94442%7Da%2Etext%2Ddanger%3Afocus%2Ca%2Etext%2Ddanger%3Ahover%7Bcolor%3A%23843534%7D%2Ebg%2Dprimary%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%7Da%2Ebg%2Dprimary%3Afocus%2Ca%2Ebg%2Dprimary%3Ahover%7Bbackground%2Dcolor%3A%23286090%7D%2Ebg%2Dsuccess%7Bbackground%2Dcolor%3A%23dff0d8%7Da%2Ebg%2Dsuccess%3Afocus%2Ca%2Ebg%2Dsuccess%3Ahover%7Bbackground%2Dcolor%3A%23c1e2b3%7D%2Ebg%2Dinfo%7Bbackground%2Dcolor%3A%23d9edf7%7Da%2Ebg%2Dinfo%3Afocus%2Ca%2Ebg%2Dinfo%3Ahover%7Bbackground%2Dcolor%3A%23afd9ee%7D%2Ebg%2Dwarning%7Bbackground%2Dcolor%3A%23fcf8e3%7Da%2Ebg%2Dwarning%3Afocus%2Ca%2Ebg%2Dwarning%3Ahover%7Bbackground%2Dcolor%3A%23f7ecb5%7D%2Ebg%2Ddanger%7Bbackground%2Dcolor%3A%23f2dede%7Da%2Ebg%2Ddanger%3Afocus%2Ca%2Ebg%2Ddanger%3Ahover%7Bbackground%2Dcolor%3A%23e4b9b9%7D%2Epage%2Dheader%7Bpadding%2Dbottom%3A9px%3Bmargin%3A40px%200%2020px%3Bborder%2Dbottom%3A1px%20solid%20%23eee%7Dol%2Cul%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A10px%7Dol%20ol%2Col%20ul%2Cul%20ol%2Cul%20ul%7Bmargin%2Dbottom%3A0%7D%2Elist%2Dunstyled%7Bpadding%2Dleft%3A0%3Blist%2Dstyle%3Anone%7D%2Elist%2Dinline%7Bpadding%2Dleft%3A0%3Bmargin%2Dleft%3A%2D5px%3Blist%2Dstyle%3Anone%7D%2Elist%2Dinline%3Eli%7Bdisplay%3Ainline%2Dblock%3Bpadding%2Dright%3A5px%3Bpadding%2Dleft%3A5px%7Ddl%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A20px%7Ddd%2Cdt%7Bline%2Dheight%3A1%2E42857143%7Ddt%7Bfont%2Dweight%3A700%7Ddd%7Bmargin%2Dleft%3A0%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Edl%2Dhorizontal%20dt%7Bfloat%3Aleft%3Bwidth%3A160px%3Boverflow%3Ahidden%3Bclear%3Aleft%3Btext%2Dalign%3Aright%3Btext%2Doverflow%3Aellipsis%3Bwhite%2Dspace%3Anowrap%7D%2Edl%2Dhorizontal%20dd%7Bmargin%2Dleft%3A180px%7D%7Dabbr%5Bdata%2Doriginal%2Dtitle%5D%2Cabbr%5Btitle%5D%7Bcursor%3Ahelp%3Bborder%2Dbottom%3A1px%20dotted%20%23777%7D%2Einitialism%7Bfont%2Dsize%3A90%25%3Btext%2Dtransform%3Auppercase%7Dblockquote%7Bpadding%3A10px%2020px%3Bmargin%3A0%200%2020px%3Bfont%2Dsize%3A17%2E5px%3Bborder%2Dleft%3A5px%20solid%20%23eee%7Dblockquote%20ol%3Alast%2Dchild%2Cblockquote%20p%3Alast%2Dchild%2Cblockquote%20ul%3Alast%2Dchild%7Bmargin%2Dbottom%3A0%7Dblockquote%20%2Esmall%2Cblockquote%20footer%2Cblockquote%20small%7Bdisplay%3Ablock%3Bfont%2Dsize%3A80%25%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23777%7Dblockquote%20%2Esmall%3Abefore%2Cblockquote%20footer%3Abefore%2Cblockquote%20small%3Abefore%7Bcontent%3A%27%5C2014%20%5C00A0%27%7D%2Eblockquote%2Dreverse%2Cblockquote%2Epull%2Dright%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A0%3Btext%2Dalign%3Aright%3Bborder%2Dright%3A5px%20solid%20%23eee%3Bborder%2Dleft%3A0%7D%2Eblockquote%2Dreverse%20%2Esmall%3Abefore%2C%2Eblockquote%2Dreverse%20footer%3Abefore%2C%2Eblockquote%2Dreverse%20small%3Abefore%2Cblockquote%2Epull%2Dright%20%2Esmall%3Abefore%2Cblockquote%2Epull%2Dright%20footer%3Abefore%2Cblockquote%2Epull%2Dright%20small%3Abefore%7Bcontent%3A%27%27%7D%2Eblockquote%2Dreverse%20%2Esmall%3Aafter%2C%2Eblockquote%2Dreverse%20footer%3Aafter%2C%2Eblockquote%2Dreverse%20small%3Aafter%2Cblockquote%2Epull%2Dright%20%2Esmall%3Aafter%2Cblockquote%2Epull%2Dright%20footer%3Aafter%2Cblockquote%2Epull%2Dright%20small%3Aafter%7Bcontent%3A%27%5C00A0%20%5C2014%27%7Daddress%7Bmargin%2Dbottom%3A20px%3Bfont%2Dstyle%3Anormal%3Bline%2Dheight%3A1%2E42857143%7Dcode%2Ckbd%2Cpre%2Csamp%7Bfont%2Dfamily%3Amonospace%7Dcode%7Bpadding%3A2px%204px%3Bfont%2Dsize%3A90%25%3Bcolor%3A%23c7254e%3Bbackground%2Dcolor%3A%23f9f2f4%3Bborder%2Dradius%3A4px%7Dkbd%7Bpadding%3A2px%204px%3Bfont%2Dsize%3A90%25%3Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23333%3Bborder%2Dradius%3A3px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E25%29%3Bbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E25%29%7Dkbd%20kbd%7Bpadding%3A0%3Bfont%2Dsize%3A100%25%3Bfont%2Dweight%3A700%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7Dpre%7Bdisplay%3Ablock%3Bpadding%3A9%2E5px%3Bmargin%3A0%200%2010px%3Bfont%2Dsize%3A13px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23333%3Bword%2Dbreak%3Abreak%2Dall%3Bword%2Dwrap%3Abreak%2Dword%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%3A1px%20solid%20%23ccc%3Bborder%2Dradius%3A4px%7Dpre%20code%7Bpadding%3A0%3Bfont%2Dsize%3Ainherit%3Bcolor%3Ainherit%3Bwhite%2Dspace%3Apre%2Dwrap%3Bbackground%2Dcolor%3Atransparent%3Bborder%2Dradius%3A0%7D%2Epre%2Dscrollable%7Bmax%2Dheight%3A340px%3Boverflow%2Dy%3Ascroll%7D%2Econtainer%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%3Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Econtainer%7Bwidth%3A750px%7D%7D%40media%20%28min%2Dwidth%3A992px%29%7B%2Econtainer%7Bwidth%3A970px%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Econtainer%7Bwidth%3A1170px%7D%7D%2Econtainer%2Dfluid%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%3Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7D%2Erow%7Bmargin%2Dright%3A%2D15px%3Bmargin%2Dleft%3A%2D15px%7D%2Ecol%2Dlg%2D1%2C%2Ecol%2Dlg%2D10%2C%2Ecol%2Dlg%2D11%2C%2Ecol%2Dlg%2D12%2C%2Ecol%2Dlg%2D2%2C%2Ecol%2Dlg%2D3%2C%2Ecol%2Dlg%2D4%2C%2Ecol%2Dlg%2D5%2C%2Ecol%2Dlg%2D6%2C%2Ecol%2Dlg%2D7%2C%2Ecol%2Dlg%2D8%2C%2Ecol%2Dlg%2D9%2C%2Ecol%2Dmd%2D1%2C%2Ecol%2Dmd%2D10%2C%2Ecol%2Dmd%2D11%2C%2Ecol%2Dmd%2D12%2C%2Ecol%2Dmd%2D2%2C%2Ecol%2Dmd%2D3%2C%2Ecol%2Dmd%2D4%2C%2Ecol%2Dmd%2D5%2C%2Ecol%2Dmd%2D6%2C%2Ecol%2Dmd%2D7%2C%2Ecol%2Dmd%2D8%2C%2Ecol%2Dmd%2D9%2C%2Ecol%2Dsm%2D1%2C%2Ecol%2Dsm%2D10%2C%2Ecol%2Dsm%2D11%2C%2Ecol%2Dsm%2D12%2C%2Ecol%2Dsm%2D2%2C%2Ecol%2Dsm%2D3%2C%2Ecol%2Dsm%2D4%2C%2Ecol%2Dsm%2D5%2C%2Ecol%2Dsm%2D6%2C%2Ecol%2Dsm%2D7%2C%2Ecol%2Dsm%2D8%2C%2Ecol%2Dsm%2D9%2C%2Ecol%2Dxs%2D1%2C%2Ecol%2Dxs%2D10%2C%2Ecol%2Dxs%2D11%2C%2Ecol%2Dxs%2D12%2C%2Ecol%2Dxs%2D2%2C%2Ecol%2Dxs%2D3%2C%2Ecol%2Dxs%2D4%2C%2Ecol%2Dxs%2D5%2C%2Ecol%2Dxs%2D6%2C%2Ecol%2Dxs%2D7%2C%2Ecol%2Dxs%2D8%2C%2Ecol%2Dxs%2D9%7Bposition%3Arelative%3Bmin%2Dheight%3A1px%3Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%7D%2Ecol%2Dxs%2D1%2C%2Ecol%2Dxs%2D10%2C%2Ecol%2Dxs%2D11%2C%2Ecol%2Dxs%2D12%2C%2Ecol%2Dxs%2D2%2C%2Ecol%2Dxs%2D3%2C%2Ecol%2Dxs%2D4%2C%2Ecol%2Dxs%2D5%2C%2Ecol%2Dxs%2D6%2C%2Ecol%2Dxs%2D7%2C%2Ecol%2Dxs%2D8%2C%2Ecol%2Dxs%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dxs%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dxs%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dxs%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dxs%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dxs%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dxs%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dxs%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dxs%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dxs%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dxs%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dxs%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dxs%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dxs%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dxs%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dxs%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dxs%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dxs%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dxs%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dxs%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dxs%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dxs%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dxs%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dxs%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dxs%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dxs%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dxs%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Ecol%2Dsm%2D1%2C%2Ecol%2Dsm%2D10%2C%2Ecol%2Dsm%2D11%2C%2Ecol%2Dsm%2D12%2C%2Ecol%2Dsm%2D2%2C%2Ecol%2Dsm%2D3%2C%2Ecol%2Dsm%2D4%2C%2Ecol%2Dsm%2D5%2C%2Ecol%2Dsm%2D6%2C%2Ecol%2Dsm%2D7%2C%2Ecol%2Dsm%2D8%2C%2Ecol%2Dsm%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dsm%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dsm%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dsm%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dsm%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dsm%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dsm%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dsm%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dsm%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dsm%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dsm%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dsm%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dsm%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dsm%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dsm%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dsm%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dsm%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dsm%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dsm%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dsm%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dsm%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dsm%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dsm%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dsm%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dsm%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dsm%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dsm%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%7D%40media%20%28min%2Dwidth%3A992px%29%7B%2Ecol%2Dmd%2D1%2C%2Ecol%2Dmd%2D10%2C%2Ecol%2Dmd%2D11%2C%2Ecol%2Dmd%2D12%2C%2Ecol%2Dmd%2D2%2C%2Ecol%2Dmd%2D3%2C%2Ecol%2Dmd%2D4%2C%2Ecol%2Dmd%2D5%2C%2Ecol%2Dmd%2D6%2C%2Ecol%2Dmd%2D7%2C%2Ecol%2Dmd%2D8%2C%2Ecol%2Dmd%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dmd%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dmd%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dmd%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dmd%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dmd%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dmd%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dmd%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dmd%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dmd%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dmd%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dmd%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dmd%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dmd%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dmd%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dmd%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dmd%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dmd%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dmd%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dmd%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dmd%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dmd%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dmd%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dmd%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dmd%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dmd%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dmd%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Ecol%2Dlg%2D1%2C%2Ecol%2Dlg%2D10%2C%2Ecol%2Dlg%2D11%2C%2Ecol%2Dlg%2D12%2C%2Ecol%2Dlg%2D2%2C%2Ecol%2Dlg%2D3%2C%2Ecol%2Dlg%2D4%2C%2Ecol%2Dlg%2D5%2C%2Ecol%2Dlg%2D6%2C%2Ecol%2Dlg%2D7%2C%2Ecol%2Dlg%2D8%2C%2Ecol%2Dlg%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dlg%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dlg%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dlg%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dlg%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dlg%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dlg%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dlg%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dlg%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dlg%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dlg%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dlg%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dlg%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dlg%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dlg%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dlg%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dlg%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dlg%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dlg%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dlg%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dlg%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dlg%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dlg%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dlg%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dlg%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dlg%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dlg%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%7Dtable%7Bbackground%2Dcolor%3Atransparent%7Dcaption%7Bpadding%2Dtop%3A8px%3Bpadding%2Dbottom%3A8px%3Bcolor%3A%23777%3Btext%2Dalign%3Aleft%7Dth%7B%7D%2Etable%7Bwidth%3A100%25%3Bmax%2Dwidth%3A100%25%3Bmargin%2Dbottom%3A20px%7D%2Etable%3Etbody%3Etr%3Etd%2C%2Etable%3Etbody%3Etr%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2C%2Etable%3Etfoot%3Etr%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2C%2Etable%3Ethead%3Etr%3Eth%7Bpadding%3A8px%3Bline%2Dheight%3A1%2E42857143%3Bvertical%2Dalign%3Atop%3Bborder%2Dtop%3A1px%20solid%20%23ddd%7D%2Etable%3Ethead%3Etr%3Eth%7Bvertical%2Dalign%3Abottom%3Bborder%2Dbottom%3A2px%20solid%20%23ddd%7D%2Etable%3Ecaption%2Bthead%3Etr%3Afirst%2Dchild%3Etd%2C%2Etable%3Ecaption%2Bthead%3Etr%3Afirst%2Dchild%3Eth%2C%2Etable%3Ecolgroup%2Bthead%3Etr%3Afirst%2Dchild%3Etd%2C%2Etable%3Ecolgroup%2Bthead%3Etr%3Afirst%2Dchild%3Eth%2C%2Etable%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%3Etd%2C%2Etable%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%3Eth%7Bborder%2Dtop%3A0%7D%2Etable%3Etbody%2Btbody%7Bborder%2Dtop%3A2px%20solid%20%23ddd%7D%2Etable%20%2Etable%7Bbackground%2Dcolor%3A%23fff%7D%2Etable%2Dcondensed%3Etbody%3Etr%3Etd%2C%2Etable%2Dcondensed%3Etbody%3Etr%3Eth%2C%2Etable%2Dcondensed%3Etfoot%3Etr%3Etd%2C%2Etable%2Dcondensed%3Etfoot%3Etr%3Eth%2C%2Etable%2Dcondensed%3Ethead%3Etr%3Etd%2C%2Etable%2Dcondensed%3Ethead%3Etr%3Eth%7Bpadding%3A5px%7D%2Etable%2Dbordered%7Bborder%3A1px%20solid%20%23ddd%7D%2Etable%2Dbordered%3Etbody%3Etr%3Etd%2C%2Etable%2Dbordered%3Etbody%3Etr%3Eth%2C%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%2C%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%2C%2Etable%2Dbordered%3Ethead%3Etr%3Etd%2C%2Etable%2Dbordered%3Ethead%3Etr%3Eth%7Bborder%3A1px%20solid%20%23ddd%7D%2Etable%2Dbordered%3Ethead%3Etr%3Etd%2C%2Etable%2Dbordered%3Ethead%3Etr%3Eth%7Bborder%2Dbottom%2Dwidth%3A2px%7D%2Etable%2Dstriped%3Etbody%3Etr%3Anth%2Dof%2Dtype%28odd%29%7Bbackground%2Dcolor%3A%23f9f9f9%7D%2Etable%2Dhover%3Etbody%3Etr%3Ahover%7Bbackground%2Dcolor%3A%23f5f5f5%7Dtable%20col%5Bclass%2A%3Dcol%2D%5D%7Bposition%3Astatic%3Bdisplay%3Atable%2Dcolumn%3Bfloat%3Anone%7Dtable%20td%5Bclass%2A%3Dcol%2D%5D%2Ctable%20th%5Bclass%2A%3Dcol%2D%5D%7Bposition%3Astatic%3Bdisplay%3Atable%2Dcell%3Bfloat%3Anone%7D%2Etable%3Etbody%3Etr%2Eactive%3Etd%2C%2Etable%3Etbody%3Etr%2Eactive%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Eactive%2C%2Etable%3Etbody%3Etr%3Eth%2Eactive%2C%2Etable%3Etfoot%3Etr%2Eactive%3Etd%2C%2Etable%3Etfoot%3Etr%2Eactive%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Eactive%2C%2Etable%3Etfoot%3Etr%3Eth%2Eactive%2C%2Etable%3Ethead%3Etr%2Eactive%3Etd%2C%2Etable%3Ethead%3Etr%2Eactive%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Eactive%2C%2Etable%3Ethead%3Etr%3Eth%2Eactive%7Bbackground%2Dcolor%3A%23f5f5f5%7D%2Etable%2Dhover%3Etbody%3Etr%2Eactive%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Eactive%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Eactive%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Eactive%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Eactive%3Ahover%7Bbackground%2Dcolor%3A%23e8e8e8%7D%2Etable%3Etbody%3Etr%2Esuccess%3Etd%2C%2Etable%3Etbody%3Etr%2Esuccess%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Esuccess%2C%2Etable%3Etbody%3Etr%3Eth%2Esuccess%2C%2Etable%3Etfoot%3Etr%2Esuccess%3Etd%2C%2Etable%3Etfoot%3Etr%2Esuccess%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Esuccess%2C%2Etable%3Etfoot%3Etr%3Eth%2Esuccess%2C%2Etable%3Ethead%3Etr%2Esuccess%3Etd%2C%2Etable%3Ethead%3Etr%2Esuccess%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Esuccess%2C%2Etable%3Ethead%3Etr%3Eth%2Esuccess%7Bbackground%2Dcolor%3A%23dff0d8%7D%2Etable%2Dhover%3Etbody%3Etr%2Esuccess%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Esuccess%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Esuccess%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Esuccess%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Esuccess%3Ahover%7Bbackground%2Dcolor%3A%23d0e9c6%7D%2Etable%3Etbody%3Etr%2Einfo%3Etd%2C%2Etable%3Etbody%3Etr%2Einfo%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Einfo%2C%2Etable%3Etbody%3Etr%3Eth%2Einfo%2C%2Etable%3Etfoot%3Etr%2Einfo%3Etd%2C%2Etable%3Etfoot%3Etr%2Einfo%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Einfo%2C%2Etable%3Etfoot%3Etr%3Eth%2Einfo%2C%2Etable%3Ethead%3Etr%2Einfo%3Etd%2C%2Etable%3Ethead%3Etr%2Einfo%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Einfo%2C%2Etable%3Ethead%3Etr%3Eth%2Einfo%7Bbackground%2Dcolor%3A%23d9edf7%7D%2Etable%2Dhover%3Etbody%3Etr%2Einfo%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Einfo%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Einfo%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Einfo%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Einfo%3Ahover%7Bbackground%2Dcolor%3A%23c4e3f3%7D%2Etable%3Etbody%3Etr%2Ewarning%3Etd%2C%2Etable%3Etbody%3Etr%2Ewarning%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Ewarning%2C%2Etable%3Etbody%3Etr%3Eth%2Ewarning%2C%2Etable%3Etfoot%3Etr%2Ewarning%3Etd%2C%2Etable%3Etfoot%3Etr%2Ewarning%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Ewarning%2C%2Etable%3Etfoot%3Etr%3Eth%2Ewarning%2C%2Etable%3Ethead%3Etr%2Ewarning%3Etd%2C%2Etable%3Ethead%3Etr%2Ewarning%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Ewarning%2C%2Etable%3Ethead%3Etr%3Eth%2Ewarning%7Bbackground%2Dcolor%3A%23fcf8e3%7D%2Etable%2Dhover%3Etbody%3Etr%2Ewarning%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Ewarning%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Ewarning%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Ewarning%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Ewarning%3Ahover%7Bbackground%2Dcolor%3A%23faf2cc%7D%2Etable%3Etbody%3Etr%2Edanger%3Etd%2C%2Etable%3Etbody%3Etr%2Edanger%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Edanger%2C%2Etable%3Etbody%3Etr%3Eth%2Edanger%2C%2Etable%3Etfoot%3Etr%2Edanger%3Etd%2C%2Etable%3Etfoot%3Etr%2Edanger%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Edanger%2C%2Etable%3Etfoot%3Etr%3Eth%2Edanger%2C%2Etable%3Ethead%3Etr%2Edanger%3Etd%2C%2Etable%3Ethead%3Etr%2Edanger%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Edanger%2C%2Etable%3Ethead%3Etr%3Eth%2Edanger%7Bbackground%2Dcolor%3A%23f2dede%7D%2Etable%2Dhover%3Etbody%3Etr%2Edanger%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Edanger%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Edanger%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Edanger%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Edanger%3Ahover%7Bbackground%2Dcolor%3A%23ebcccc%7D%2Etable%2Dresponsive%7Bmin%2Dheight%3A%2E01%25%3Boverflow%2Dx%3Aauto%7D%40media%20screen%20and%20%28max%2Dwidth%3A767px%29%7B%2Etable%2Dresponsive%7Bwidth%3A100%25%3Bmargin%2Dbottom%3A15px%3Boverflow%2Dy%3Ahidden%3B%2Dms%2Doverflow%2Dstyle%3A%2Dms%2Dautohiding%2Dscrollbar%3Bborder%3A1px%20solid%20%23ddd%7D%2Etable%2Dresponsive%3E%2Etable%7Bmargin%2Dbottom%3A0%7D%2Etable%2Dresponsive%3E%2Etable%3Etbody%3Etr%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%3Etbody%3Etr%3Eth%2C%2Etable%2Dresponsive%3E%2Etable%3Etfoot%3Etr%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%3Etfoot%3Etr%3Eth%2C%2Etable%2Dresponsive%3E%2Etable%3Ethead%3Etr%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%3Ethead%3Etr%3Eth%7Bwhite%2Dspace%3Anowrap%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%7Bborder%3A0%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Afirst%2Dchild%7Bborder%2Dleft%3A0%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Alast%2Dchild%7Bborder%2Dright%3A0%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Eth%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Eth%7Bborder%2Dbottom%3A0%7D%7Dfieldset%7Bmin%2Dwidth%3A0%3Bpadding%3A0%3Bmargin%3A0%3Bborder%3A0%7Dlegend%7Bdisplay%3Ablock%3Bwidth%3A100%25%3Bpadding%3A0%3Bmargin%2Dbottom%3A20px%3Bfont%2Dsize%3A21px%3Bline%2Dheight%3Ainherit%3Bcolor%3A%23333%3Bborder%3A0%3Bborder%2Dbottom%3A1px%20solid%20%23e5e5e5%7Dlabel%7Bdisplay%3Ainline%2Dblock%3Bmax%2Dwidth%3A100%25%3Bmargin%2Dbottom%3A5px%3Bfont%2Dweight%3A700%7Dinput%5Btype%3Dsearch%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%7Dinput%5Btype%3Dcheckbox%5D%2Cinput%5Btype%3Dradio%5D%7Bmargin%3A4px%200%200%3Bmargin%2Dtop%3A1px%5C9%3Bline%2Dheight%3Anormal%7Dinput%5Btype%3Dfile%5D%7Bdisplay%3Ablock%7Dinput%5Btype%3Drange%5D%7Bdisplay%3Ablock%3Bwidth%3A100%25%7Dselect%5Bmultiple%5D%2Cselect%5Bsize%5D%7Bheight%3Aauto%7Dinput%5Btype%3Dfile%5D%3Afocus%2Cinput%5Btype%3Dcheckbox%5D%3Afocus%2Cinput%5Btype%3Dradio%5D%3Afocus%7Boutline%3Athin%20dotted%3Boutline%3A5px%20auto%20%2Dwebkit%2Dfocus%2Dring%2Dcolor%3Boutline%2Doffset%3A%2D2px%7Doutput%7Bdisplay%3Ablock%3Bpadding%2Dtop%3A7px%3Bfont%2Dsize%3A14px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23555%7D%2Eform%2Dcontrol%7Bdisplay%3Ablock%3Bwidth%3A100%25%3Bheight%3A34px%3Bpadding%3A6px%2012px%3Bfont%2Dsize%3A14px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23fff%3Bbackground%2Dimage%3Anone%3Bborder%3A1px%20solid%20%23ccc%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3B%2Dwebkit%2Dtransition%3Aborder%2Dcolor%20ease%2Din%2Dout%20%2E15s%2C%2Dwebkit%2Dbox%2Dshadow%20ease%2Din%2Dout%20%2E15s%3B%2Do%2Dtransition%3Aborder%2Dcolor%20ease%2Din%2Dout%20%2E15s%2Cbox%2Dshadow%20ease%2Din%2Dout%20%2E15s%3Btransition%3Aborder%2Dcolor%20ease%2Din%2Dout%20%2E15s%2Cbox%2Dshadow%20ease%2Din%2Dout%20%2E15s%7D%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%2366afe9%3Boutline%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%208px%20rgba%28102%2C175%2C233%2C%2E6%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%208px%20rgba%28102%2C175%2C233%2C%2E6%29%7D%2Eform%2Dcontrol%3A%3A%2Dmoz%2Dplaceholder%7Bcolor%3A%23999%3Bopacity%3A1%7D%2Eform%2Dcontrol%3A%2Dms%2Dinput%2Dplaceholder%7Bcolor%3A%23999%7D%2Eform%2Dcontrol%3A%3A%2Dwebkit%2Dinput%2Dplaceholder%7Bcolor%3A%23999%7D%2Eform%2Dcontrol%5Bdisabled%5D%2C%2Eform%2Dcontrol%5Breadonly%5D%2Cfieldset%5Bdisabled%5D%20%2Eform%2Dcontrol%7Bbackground%2Dcolor%3A%23eee%3Bopacity%3A1%7D%2Eform%2Dcontrol%5Bdisabled%5D%2Cfieldset%5Bdisabled%5D%20%2Eform%2Dcontrol%7Bcursor%3Anot%2Dallowed%7Dtextarea%2Eform%2Dcontrol%7Bheight%3Aauto%7Dinput%5Btype%3Dsearch%5D%7B%2Dwebkit%2Dappearance%3Anone%7D%40media%20screen%20and%20%28%2Dwebkit%2Dmin%2Ddevice%2Dpixel%2Dratio%3A0%29%7Binput%5Btype%3Ddate%5D%2Eform%2Dcontrol%2Cinput%5Btype%3Dtime%5D%2Eform%2Dcontrol%2Cinput%5Btype%3Ddatetime%2Dlocal%5D%2Eform%2Dcontrol%2Cinput%5Btype%3Dmonth%5D%2Eform%2Dcontrol%7Bline%2Dheight%3A34px%7D%2Einput%2Dgroup%2Dsm%20input%5Btype%3Ddate%5D%2C%2Einput%2Dgroup%2Dsm%20input%5Btype%3Dtime%5D%2C%2Einput%2Dgroup%2Dsm%20input%5Btype%3Ddatetime%2Dlocal%5D%2C%2Einput%2Dgroup%2Dsm%20input%5Btype%3Dmonth%5D%2Cinput%5Btype%3Ddate%5D%2Einput%2Dsm%2Cinput%5Btype%3Dtime%5D%2Einput%2Dsm%2Cinput%5Btype%3Ddatetime%2Dlocal%5D%2Einput%2Dsm%2Cinput%5Btype%3Dmonth%5D%2Einput%2Dsm%7Bline%2Dheight%3A30px%7D%2Einput%2Dgroup%2Dlg%20input%5Btype%3Ddate%5D%2C%2Einput%2Dgroup%2Dlg%20input%5Btype%3Dtime%5D%2C%2Einput%2Dgroup%2Dlg%20input%5Btype%3Ddatetime%2Dlocal%5D%2C%2Einput%2Dgroup%2Dlg%20input%5Btype%3Dmonth%5D%2Cinput%5Btype%3Ddate%5D%2Einput%2Dlg%2Cinput%5Btype%3Dtime%5D%2Einput%2Dlg%2Cinput%5Btype%3Ddatetime%2Dlocal%5D%2Einput%2Dlg%2Cinput%5Btype%3Dmonth%5D%2Einput%2Dlg%7Bline%2Dheight%3A46px%7D%7D%2Eform%2Dgroup%7Bmargin%2Dbottom%3A15px%7D%2Echeckbox%2C%2Eradio%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bmargin%2Dtop%3A10px%3Bmargin%2Dbottom%3A10px%7D%2Echeckbox%20label%2C%2Eradio%20label%7Bmin%2Dheight%3A20px%3Bpadding%2Dleft%3A20px%3Bmargin%2Dbottom%3A0%3Bfont%2Dweight%3A400%3Bcursor%3Apointer%7D%2Echeckbox%20input%5Btype%3Dcheckbox%5D%2C%2Echeckbox%2Dinline%20input%5Btype%3Dcheckbox%5D%2C%2Eradio%20input%5Btype%3Dradio%5D%2C%2Eradio%2Dinline%20input%5Btype%3Dradio%5D%7Bposition%3Aabsolute%3Bmargin%2Dtop%3A4px%5C9%3Bmargin%2Dleft%3A%2D20px%7D%2Echeckbox%2B%2Echeckbox%2C%2Eradio%2B%2Eradio%7Bmargin%2Dtop%3A%2D5px%7D%2Echeckbox%2Dinline%2C%2Eradio%2Dinline%7Bposition%3Arelative%3Bdisplay%3Ainline%2Dblock%3Bpadding%2Dleft%3A20px%3Bmargin%2Dbottom%3A0%3Bfont%2Dweight%3A400%3Bvertical%2Dalign%3Amiddle%3Bcursor%3Apointer%7D%2Echeckbox%2Dinline%2B%2Echeckbox%2Dinline%2C%2Eradio%2Dinline%2B%2Eradio%2Dinline%7Bmargin%2Dtop%3A0%3Bmargin%2Dleft%3A10px%7Dfieldset%5Bdisabled%5D%20input%5Btype%3Dcheckbox%5D%2Cfieldset%5Bdisabled%5D%20input%5Btype%3Dradio%5D%2Cinput%5Btype%3Dcheckbox%5D%2Edisabled%2Cinput%5Btype%3Dcheckbox%5D%5Bdisabled%5D%2Cinput%5Btype%3Dradio%5D%2Edisabled%2Cinput%5Btype%3Dradio%5D%5Bdisabled%5D%7Bcursor%3Anot%2Dallowed%7D%2Echeckbox%2Dinline%2Edisabled%2C%2Eradio%2Dinline%2Edisabled%2Cfieldset%5Bdisabled%5D%20%2Echeckbox%2Dinline%2Cfieldset%5Bdisabled%5D%20%2Eradio%2Dinline%7Bcursor%3Anot%2Dallowed%7D%2Echeckbox%2Edisabled%20label%2C%2Eradio%2Edisabled%20label%2Cfieldset%5Bdisabled%5D%20%2Echeckbox%20label%2Cfieldset%5Bdisabled%5D%20%2Eradio%20label%7Bcursor%3Anot%2Dallowed%7D%2Eform%2Dcontrol%2Dstatic%7Bmin%2Dheight%3A34px%3Bpadding%2Dtop%3A7px%3Bpadding%2Dbottom%3A7px%3Bmargin%2Dbottom%3A0%7D%2Eform%2Dcontrol%2Dstatic%2Einput%2Dlg%2C%2Eform%2Dcontrol%2Dstatic%2Einput%2Dsm%7Bpadding%2Dright%3A0%3Bpadding%2Dleft%3A0%7D%2Einput%2Dsm%7Bheight%3A30px%3Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7Dselect%2Einput%2Dsm%7Bheight%3A30px%3Bline%2Dheight%3A30px%7Dselect%5Bmultiple%5D%2Einput%2Dsm%2Ctextarea%2Einput%2Dsm%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dsm%20%2Eform%2Dcontrol%7Bheight%3A30px%3Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7D%2Eform%2Dgroup%2Dsm%20select%2Eform%2Dcontrol%7Bheight%3A30px%3Bline%2Dheight%3A30px%7D%2Eform%2Dgroup%2Dsm%20select%5Bmultiple%5D%2Eform%2Dcontrol%2C%2Eform%2Dgroup%2Dsm%20textarea%2Eform%2Dcontrol%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dsm%20%2Eform%2Dcontrol%2Dstatic%7Bheight%3A30px%3Bmin%2Dheight%3A32px%3Bpadding%3A6px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%7D%2Einput%2Dlg%7Bheight%3A46px%3Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7Dselect%2Einput%2Dlg%7Bheight%3A46px%3Bline%2Dheight%3A46px%7Dselect%5Bmultiple%5D%2Einput%2Dlg%2Ctextarea%2Einput%2Dlg%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dlg%20%2Eform%2Dcontrol%7Bheight%3A46px%3Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7D%2Eform%2Dgroup%2Dlg%20select%2Eform%2Dcontrol%7Bheight%3A46px%3Bline%2Dheight%3A46px%7D%2Eform%2Dgroup%2Dlg%20select%5Bmultiple%5D%2Eform%2Dcontrol%2C%2Eform%2Dgroup%2Dlg%20textarea%2Eform%2Dcontrol%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dlg%20%2Eform%2Dcontrol%2Dstatic%7Bheight%3A46px%3Bmin%2Dheight%3A38px%3Bpadding%3A11px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%7D%2Ehas%2Dfeedback%7Bposition%3Arelative%7D%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%7Bpadding%2Dright%3A42%2E5px%7D%2Eform%2Dcontrol%2Dfeedback%7Bposition%3Aabsolute%3Btop%3A0%3Bright%3A0%3Bz%2Dindex%3A2%3Bdisplay%3Ablock%3Bwidth%3A34px%3Bheight%3A34px%3Bline%2Dheight%3A34px%3Btext%2Dalign%3Acenter%3Bpointer%2Devents%3Anone%7D%2Eform%2Dgroup%2Dlg%20%2Eform%2Dcontrol%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dgroup%2Dlg%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dlg%2B%2Eform%2Dcontrol%2Dfeedback%7Bwidth%3A46px%3Bheight%3A46px%3Bline%2Dheight%3A46px%7D%2Eform%2Dgroup%2Dsm%20%2Eform%2Dcontrol%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dgroup%2Dsm%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dsm%2B%2Eform%2Dcontrol%2Dfeedback%7Bwidth%3A30px%3Bheight%3A30px%3Bline%2Dheight%3A30px%7D%2Ehas%2Dsuccess%20%2Echeckbox%2C%2Ehas%2Dsuccess%20%2Echeckbox%2Dinline%2C%2Ehas%2Dsuccess%20%2Econtrol%2Dlabel%2C%2Ehas%2Dsuccess%20%2Ehelp%2Dblock%2C%2Ehas%2Dsuccess%20%2Eradio%2C%2Ehas%2Dsuccess%20%2Eradio%2Dinline%2C%2Ehas%2Dsuccess%2Echeckbox%20label%2C%2Ehas%2Dsuccess%2Echeckbox%2Dinline%20label%2C%2Ehas%2Dsuccess%2Eradio%20label%2C%2Ehas%2Dsuccess%2Eradio%2Dinline%20label%7Bcolor%3A%233c763d%7D%2Ehas%2Dsuccess%20%2Eform%2Dcontrol%7Bborder%2Dcolor%3A%233c763d%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%7D%2Ehas%2Dsuccess%20%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%232b542c%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%2367b168%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%2367b168%7D%2Ehas%2Dsuccess%20%2Einput%2Dgroup%2Daddon%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%3Bborder%2Dcolor%3A%233c763d%7D%2Ehas%2Dsuccess%20%2Eform%2Dcontrol%2Dfeedback%7Bcolor%3A%233c763d%7D%2Ehas%2Dwarning%20%2Echeckbox%2C%2Ehas%2Dwarning%20%2Echeckbox%2Dinline%2C%2Ehas%2Dwarning%20%2Econtrol%2Dlabel%2C%2Ehas%2Dwarning%20%2Ehelp%2Dblock%2C%2Ehas%2Dwarning%20%2Eradio%2C%2Ehas%2Dwarning%20%2Eradio%2Dinline%2C%2Ehas%2Dwarning%2Echeckbox%20label%2C%2Ehas%2Dwarning%2Echeckbox%2Dinline%20label%2C%2Ehas%2Dwarning%2Eradio%20label%2C%2Ehas%2Dwarning%2Eradio%2Dinline%20label%7Bcolor%3A%238a6d3b%7D%2Ehas%2Dwarning%20%2Eform%2Dcontrol%7Bborder%2Dcolor%3A%238a6d3b%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%7D%2Ehas%2Dwarning%20%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%2366512c%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23c0a16b%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23c0a16b%7D%2Ehas%2Dwarning%20%2Einput%2Dgroup%2Daddon%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%3Bborder%2Dcolor%3A%238a6d3b%7D%2Ehas%2Dwarning%20%2Eform%2Dcontrol%2Dfeedback%7Bcolor%3A%238a6d3b%7D%2Ehas%2Derror%20%2Echeckbox%2C%2Ehas%2Derror%20%2Echeckbox%2Dinline%2C%2Ehas%2Derror%20%2Econtrol%2Dlabel%2C%2Ehas%2Derror%20%2Ehelp%2Dblock%2C%2Ehas%2Derror%20%2Eradio%2C%2Ehas%2Derror%20%2Eradio%2Dinline%2C%2Ehas%2Derror%2Echeckbox%20label%2C%2Ehas%2Derror%2Echeckbox%2Dinline%20label%2C%2Ehas%2Derror%2Eradio%20label%2C%2Ehas%2Derror%2Eradio%2Dinline%20label%7Bcolor%3A%23a94442%7D%2Ehas%2Derror%20%2Eform%2Dcontrol%7Bborder%2Dcolor%3A%23a94442%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%7D%2Ehas%2Derror%20%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%23843534%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23ce8483%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23ce8483%7D%2Ehas%2Derror%20%2Einput%2Dgroup%2Daddon%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%3Bborder%2Dcolor%3A%23a94442%7D%2Ehas%2Derror%20%2Eform%2Dcontrol%2Dfeedback%7Bcolor%3A%23a94442%7D%2Ehas%2Dfeedback%20label%7E%2Eform%2Dcontrol%2Dfeedback%7Btop%3A25px%7D%2Ehas%2Dfeedback%20label%2Esr%2Donly%7E%2Eform%2Dcontrol%2Dfeedback%7Btop%3A0%7D%2Ehelp%2Dblock%7Bdisplay%3Ablock%3Bmargin%2Dtop%3A5px%3Bmargin%2Dbottom%3A10px%3Bcolor%3A%23737373%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dinline%20%2Eform%2Dgroup%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Eform%2Dcontrol%7Bdisplay%3Ainline%2Dblock%3Bwidth%3Aauto%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Eform%2Dcontrol%2Dstatic%7Bdisplay%3Ainline%2Dblock%7D%2Eform%2Dinline%20%2Einput%2Dgroup%7Bdisplay%3Ainline%2Dtable%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Einput%2Dgroup%20%2Eform%2Dcontrol%2C%2Eform%2Dinline%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Daddon%2C%2Eform%2Dinline%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Dbtn%7Bwidth%3Aauto%7D%2Eform%2Dinline%20%2Einput%2Dgroup%3E%2Eform%2Dcontrol%7Bwidth%3A100%25%7D%2Eform%2Dinline%20%2Econtrol%2Dlabel%7Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Echeckbox%2C%2Eform%2Dinline%20%2Eradio%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Echeckbox%20label%2C%2Eform%2Dinline%20%2Eradio%20label%7Bpadding%2Dleft%3A0%7D%2Eform%2Dinline%20%2Echeckbox%20input%5Btype%3Dcheckbox%5D%2C%2Eform%2Dinline%20%2Eradio%20input%5Btype%3Dradio%5D%7Bposition%3Arelative%3Bmargin%2Dleft%3A0%7D%2Eform%2Dinline%20%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%2Dfeedback%7Btop%3A0%7D%7D%2Eform%2Dhorizontal%20%2Echeckbox%2C%2Eform%2Dhorizontal%20%2Echeckbox%2Dinline%2C%2Eform%2Dhorizontal%20%2Eradio%2C%2Eform%2Dhorizontal%20%2Eradio%2Dinline%7Bpadding%2Dtop%3A7px%3Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%7D%2Eform%2Dhorizontal%20%2Echeckbox%2C%2Eform%2Dhorizontal%20%2Eradio%7Bmin%2Dheight%3A27px%7D%2Eform%2Dhorizontal%20%2Eform%2Dgroup%7Bmargin%2Dright%3A%2D15px%3Bmargin%2Dleft%3A%2D15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dhorizontal%20%2Econtrol%2Dlabel%7Bpadding%2Dtop%3A7px%3Bmargin%2Dbottom%3A0%3Btext%2Dalign%3Aright%7D%7D%2Eform%2Dhorizontal%20%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%2Dfeedback%7Bright%3A15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dhorizontal%20%2Eform%2Dgroup%2Dlg%20%2Econtrol%2Dlabel%7Bpadding%2Dtop%3A14%2E33px%3Bfont%2Dsize%3A18px%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dhorizontal%20%2Eform%2Dgroup%2Dsm%20%2Econtrol%2Dlabel%7Bpadding%2Dtop%3A6px%3Bfont%2Dsize%3A12px%7D%7D%2Ebtn%7Bdisplay%3Ainline%2Dblock%3Bpadding%3A6px%2012px%3Bmargin%2Dbottom%3A0%3Bfont%2Dsize%3A14px%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Btext%2Dalign%3Acenter%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Amiddle%3B%2Dms%2Dtouch%2Daction%3Amanipulation%3Btouch%2Daction%3Amanipulation%3Bcursor%3Apointer%3B%2Dwebkit%2Duser%2Dselect%3Anone%3B%2Dmoz%2Duser%2Dselect%3Anone%3B%2Dms%2Duser%2Dselect%3Anone%3Buser%2Dselect%3Anone%3Bbackground%2Dimage%3Anone%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%7D%2Ebtn%2Eactive%2Efocus%2C%2Ebtn%2Eactive%3Afocus%2C%2Ebtn%2Efocus%2C%2Ebtn%3Aactive%2Efocus%2C%2Ebtn%3Aactive%3Afocus%2C%2Ebtn%3Afocus%7Boutline%3Athin%20dotted%3Boutline%3A5px%20auto%20%2Dwebkit%2Dfocus%2Dring%2Dcolor%3Boutline%2Doffset%3A%2D2px%7D%2Ebtn%2Efocus%2C%2Ebtn%3Afocus%2C%2Ebtn%3Ahover%7Bcolor%3A%23333%3Btext%2Ddecoration%3Anone%7D%2Ebtn%2Eactive%2C%2Ebtn%3Aactive%7Bbackground%2Dimage%3Anone%3Boutline%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%3Bbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%7D%2Ebtn%2Edisabled%2C%2Ebtn%5Bdisabled%5D%2Cfieldset%5Bdisabled%5D%20%2Ebtn%7Bcursor%3Anot%2Dallowed%3Bfilter%3Aalpha%28opacity%3D65%29%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%3Bopacity%3A%2E65%7Da%2Ebtn%2Edisabled%2Cfieldset%5Bdisabled%5D%20a%2Ebtn%7Bpointer%2Devents%3Anone%7D%2Ebtn%2Ddefault%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23fff%3Bborder%2Dcolor%3A%23ccc%7D%2Ebtn%2Ddefault%2Efocus%2C%2Ebtn%2Ddefault%3Afocus%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23e6e6e6%3Bborder%2Dcolor%3A%238c8c8c%7D%2Ebtn%2Ddefault%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23e6e6e6%3Bborder%2Dcolor%3A%23adadad%7D%2Ebtn%2Ddefault%2Eactive%2C%2Ebtn%2Ddefault%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23e6e6e6%3Bborder%2Dcolor%3A%23adadad%7D%2Ebtn%2Ddefault%2Eactive%2Efocus%2C%2Ebtn%2Ddefault%2Eactive%3Afocus%2C%2Ebtn%2Ddefault%2Eactive%3Ahover%2C%2Ebtn%2Ddefault%3Aactive%2Efocus%2C%2Ebtn%2Ddefault%3Aactive%3Afocus%2C%2Ebtn%2Ddefault%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23d4d4d4%3Bborder%2Dcolor%3A%238c8c8c%7D%2Ebtn%2Ddefault%2Eactive%2C%2Ebtn%2Ddefault%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Ddefault%2Edisabled%2C%2Ebtn%2Ddefault%2Edisabled%2Eactive%2C%2Ebtn%2Ddefault%2Edisabled%2Efocus%2C%2Ebtn%2Ddefault%2Edisabled%3Aactive%2C%2Ebtn%2Ddefault%2Edisabled%3Afocus%2C%2Ebtn%2Ddefault%2Edisabled%3Ahover%2C%2Ebtn%2Ddefault%5Bdisabled%5D%2C%2Ebtn%2Ddefault%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Ddefault%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Ddefault%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Ddefault%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Ddefault%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%3Ahover%7Bbackground%2Dcolor%3A%23fff%3Bborder%2Dcolor%3A%23ccc%7D%2Ebtn%2Ddefault%20%2Ebadge%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23333%7D%2Ebtn%2Dprimary%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%232e6da4%7D%2Ebtn%2Dprimary%2Efocus%2C%2Ebtn%2Dprimary%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23286090%3Bborder%2Dcolor%3A%23122b40%7D%2Ebtn%2Dprimary%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23286090%3Bborder%2Dcolor%3A%23204d74%7D%2Ebtn%2Dprimary%2Eactive%2C%2Ebtn%2Dprimary%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23286090%3Bborder%2Dcolor%3A%23204d74%7D%2Ebtn%2Dprimary%2Eactive%2Efocus%2C%2Ebtn%2Dprimary%2Eactive%3Afocus%2C%2Ebtn%2Dprimary%2Eactive%3Ahover%2C%2Ebtn%2Dprimary%3Aactive%2Efocus%2C%2Ebtn%2Dprimary%3Aactive%3Afocus%2C%2Ebtn%2Dprimary%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23204d74%3Bborder%2Dcolor%3A%23122b40%7D%2Ebtn%2Dprimary%2Eactive%2C%2Ebtn%2Dprimary%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dprimary%2Edisabled%2C%2Ebtn%2Dprimary%2Edisabled%2Eactive%2C%2Ebtn%2Dprimary%2Edisabled%2Efocus%2C%2Ebtn%2Dprimary%2Edisabled%3Aactive%2C%2Ebtn%2Dprimary%2Edisabled%3Afocus%2C%2Ebtn%2Dprimary%2Edisabled%3Ahover%2C%2Ebtn%2Dprimary%5Bdisabled%5D%2C%2Ebtn%2Dprimary%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dprimary%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dprimary%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dprimary%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dprimary%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%3Ahover%7Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%232e6da4%7D%2Ebtn%2Dprimary%20%2Ebadge%7Bcolor%3A%23337ab7%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dsuccess%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%235cb85c%3Bborder%2Dcolor%3A%234cae4c%7D%2Ebtn%2Dsuccess%2Efocus%2C%2Ebtn%2Dsuccess%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23449d44%3Bborder%2Dcolor%3A%23255625%7D%2Ebtn%2Dsuccess%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23449d44%3Bborder%2Dcolor%3A%23398439%7D%2Ebtn%2Dsuccess%2Eactive%2C%2Ebtn%2Dsuccess%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23449d44%3Bborder%2Dcolor%3A%23398439%7D%2Ebtn%2Dsuccess%2Eactive%2Efocus%2C%2Ebtn%2Dsuccess%2Eactive%3Afocus%2C%2Ebtn%2Dsuccess%2Eactive%3Ahover%2C%2Ebtn%2Dsuccess%3Aactive%2Efocus%2C%2Ebtn%2Dsuccess%3Aactive%3Afocus%2C%2Ebtn%2Dsuccess%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23398439%3Bborder%2Dcolor%3A%23255625%7D%2Ebtn%2Dsuccess%2Eactive%2C%2Ebtn%2Dsuccess%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dsuccess%2Edisabled%2C%2Ebtn%2Dsuccess%2Edisabled%2Eactive%2C%2Ebtn%2Dsuccess%2Edisabled%2Efocus%2C%2Ebtn%2Dsuccess%2Edisabled%3Aactive%2C%2Ebtn%2Dsuccess%2Edisabled%3Afocus%2C%2Ebtn%2Dsuccess%2Edisabled%3Ahover%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%3Ahover%7Bbackground%2Dcolor%3A%235cb85c%3Bborder%2Dcolor%3A%234cae4c%7D%2Ebtn%2Dsuccess%20%2Ebadge%7Bcolor%3A%235cb85c%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dinfo%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%235bc0de%3Bborder%2Dcolor%3A%2346b8da%7D%2Ebtn%2Dinfo%2Efocus%2C%2Ebtn%2Dinfo%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331b0d5%3Bborder%2Dcolor%3A%231b6d85%7D%2Ebtn%2Dinfo%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331b0d5%3Bborder%2Dcolor%3A%23269abc%7D%2Ebtn%2Dinfo%2Eactive%2C%2Ebtn%2Dinfo%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331b0d5%3Bborder%2Dcolor%3A%23269abc%7D%2Ebtn%2Dinfo%2Eactive%2Efocus%2C%2Ebtn%2Dinfo%2Eactive%3Afocus%2C%2Ebtn%2Dinfo%2Eactive%3Ahover%2C%2Ebtn%2Dinfo%3Aactive%2Efocus%2C%2Ebtn%2Dinfo%3Aactive%3Afocus%2C%2Ebtn%2Dinfo%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23269abc%3Bborder%2Dcolor%3A%231b6d85%7D%2Ebtn%2Dinfo%2Eactive%2C%2Ebtn%2Dinfo%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dinfo%2Edisabled%2C%2Ebtn%2Dinfo%2Edisabled%2Eactive%2C%2Ebtn%2Dinfo%2Edisabled%2Efocus%2C%2Ebtn%2Dinfo%2Edisabled%3Aactive%2C%2Ebtn%2Dinfo%2Edisabled%3Afocus%2C%2Ebtn%2Dinfo%2Edisabled%3Ahover%2C%2Ebtn%2Dinfo%5Bdisabled%5D%2C%2Ebtn%2Dinfo%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dinfo%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dinfo%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dinfo%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dinfo%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%3Ahover%7Bbackground%2Dcolor%3A%235bc0de%3Bborder%2Dcolor%3A%2346b8da%7D%2Ebtn%2Dinfo%20%2Ebadge%7Bcolor%3A%235bc0de%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dwarning%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23f0ad4e%3Bborder%2Dcolor%3A%23eea236%7D%2Ebtn%2Dwarning%2Efocus%2C%2Ebtn%2Dwarning%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ec971f%3Bborder%2Dcolor%3A%23985f0d%7D%2Ebtn%2Dwarning%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ec971f%3Bborder%2Dcolor%3A%23d58512%7D%2Ebtn%2Dwarning%2Eactive%2C%2Ebtn%2Dwarning%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ec971f%3Bborder%2Dcolor%3A%23d58512%7D%2Ebtn%2Dwarning%2Eactive%2Efocus%2C%2Ebtn%2Dwarning%2Eactive%3Afocus%2C%2Ebtn%2Dwarning%2Eactive%3Ahover%2C%2Ebtn%2Dwarning%3Aactive%2Efocus%2C%2Ebtn%2Dwarning%3Aactive%3Afocus%2C%2Ebtn%2Dwarning%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23d58512%3Bborder%2Dcolor%3A%23985f0d%7D%2Ebtn%2Dwarning%2Eactive%2C%2Ebtn%2Dwarning%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dwarning%2Edisabled%2C%2Ebtn%2Dwarning%2Edisabled%2Eactive%2C%2Ebtn%2Dwarning%2Edisabled%2Efocus%2C%2Ebtn%2Dwarning%2Edisabled%3Aactive%2C%2Ebtn%2Dwarning%2Edisabled%3Afocus%2C%2Ebtn%2Dwarning%2Edisabled%3Ahover%2C%2Ebtn%2Dwarning%5Bdisabled%5D%2C%2Ebtn%2Dwarning%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dwarning%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dwarning%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dwarning%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dwarning%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%3Ahover%7Bbackground%2Dcolor%3A%23f0ad4e%3Bborder%2Dcolor%3A%23eea236%7D%2Ebtn%2Dwarning%20%2Ebadge%7Bcolor%3A%23f0ad4e%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Ddanger%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23d9534f%3Bborder%2Dcolor%3A%23d43f3a%7D%2Ebtn%2Ddanger%2Efocus%2C%2Ebtn%2Ddanger%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23c9302c%3Bborder%2Dcolor%3A%23761c19%7D%2Ebtn%2Ddanger%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23c9302c%3Bborder%2Dcolor%3A%23ac2925%7D%2Ebtn%2Ddanger%2Eactive%2C%2Ebtn%2Ddanger%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23c9302c%3Bborder%2Dcolor%3A%23ac2925%7D%2Ebtn%2Ddanger%2Eactive%2Efocus%2C%2Ebtn%2Ddanger%2Eactive%3Afocus%2C%2Ebtn%2Ddanger%2Eactive%3Ahover%2C%2Ebtn%2Ddanger%3Aactive%2Efocus%2C%2Ebtn%2Ddanger%3Aactive%3Afocus%2C%2Ebtn%2Ddanger%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ac2925%3Bborder%2Dcolor%3A%23761c19%7D%2Ebtn%2Ddanger%2Eactive%2C%2Ebtn%2Ddanger%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Ddanger%2Edisabled%2C%2Ebtn%2Ddanger%2Edisabled%2Eactive%2C%2Ebtn%2Ddanger%2Edisabled%2Efocus%2C%2Ebtn%2Ddanger%2Edisabled%3Aactive%2C%2Ebtn%2Ddanger%2Edisabled%3Afocus%2C%2Ebtn%2Ddanger%2Edisabled%3Ahover%2C%2Ebtn%2Ddanger%5Bdisabled%5D%2C%2Ebtn%2Ddanger%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Ddanger%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Ddanger%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Ddanger%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Ddanger%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%3Ahover%7Bbackground%2Dcolor%3A%23d9534f%3Bborder%2Dcolor%3A%23d43f3a%7D%2Ebtn%2Ddanger%20%2Ebadge%7Bcolor%3A%23d9534f%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dlink%7Bfont%2Dweight%3A400%3Bcolor%3A%23337ab7%3Bborder%2Dradius%3A0%7D%2Ebtn%2Dlink%2C%2Ebtn%2Dlink%2Eactive%2C%2Ebtn%2Dlink%3Aactive%2C%2Ebtn%2Dlink%5Bdisabled%5D%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dlink%7Bbackground%2Dcolor%3Atransparent%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Ebtn%2Dlink%2C%2Ebtn%2Dlink%3Aactive%2C%2Ebtn%2Dlink%3Afocus%2C%2Ebtn%2Dlink%3Ahover%7Bborder%2Dcolor%3Atransparent%7D%2Ebtn%2Dlink%3Afocus%2C%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%2323527c%3Btext%2Ddecoration%3Aunderline%3Bbackground%2Dcolor%3Atransparent%7D%2Ebtn%2Dlink%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dlink%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dlink%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23777%3Btext%2Ddecoration%3Anone%7D%2Ebtn%2Dgroup%2Dlg%3E%2Ebtn%2C%2Ebtn%2Dlg%7Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7D%2Ebtn%2Dgroup%2Dsm%3E%2Ebtn%2C%2Ebtn%2Dsm%7Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7D%2Ebtn%2Dgroup%2Dxs%3E%2Ebtn%2C%2Ebtn%2Dxs%7Bpadding%3A1px%205px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7D%2Ebtn%2Dblock%7Bdisplay%3Ablock%3Bwidth%3A100%25%7D%2Ebtn%2Dblock%2B%2Ebtn%2Dblock%7Bmargin%2Dtop%3A5px%7Dinput%5Btype%3Dbutton%5D%2Ebtn%2Dblock%2Cinput%5Btype%3Dreset%5D%2Ebtn%2Dblock%2Cinput%5Btype%3Dsubmit%5D%2Ebtn%2Dblock%7Bwidth%3A100%25%7D%2Efade%7Bopacity%3A0%3B%2Dwebkit%2Dtransition%3Aopacity%20%2E15s%20linear%3B%2Do%2Dtransition%3Aopacity%20%2E15s%20linear%3Btransition%3Aopacity%20%2E15s%20linear%7D%2Efade%2Ein%7Bopacity%3A1%7D%2Ecollapse%7Bdisplay%3Anone%7D%2Ecollapse%2Ein%7Bdisplay%3Ablock%7Dtr%2Ecollapse%2Ein%7Bdisplay%3Atable%2Drow%7Dtbody%2Ecollapse%2Ein%7Bdisplay%3Atable%2Drow%2Dgroup%7D%2Ecollapsing%7Bposition%3Arelative%3Bheight%3A0%3Boverflow%3Ahidden%3B%2Dwebkit%2Dtransition%2Dtiming%2Dfunction%3Aease%3B%2Do%2Dtransition%2Dtiming%2Dfunction%3Aease%3Btransition%2Dtiming%2Dfunction%3Aease%3B%2Dwebkit%2Dtransition%2Dduration%3A%2E35s%3B%2Do%2Dtransition%2Dduration%3A%2E35s%3Btransition%2Dduration%3A%2E35s%3B%2Dwebkit%2Dtransition%2Dproperty%3Aheight%2Cvisibility%3B%2Do%2Dtransition%2Dproperty%3Aheight%2Cvisibility%3Btransition%2Dproperty%3Aheight%2Cvisibility%7D%2Ecaret%7Bdisplay%3Ainline%2Dblock%3Bwidth%3A0%3Bheight%3A0%3Bmargin%2Dleft%3A2px%3Bvertical%2Dalign%3Amiddle%3Bborder%2Dtop%3A4px%20dashed%3Bborder%2Dtop%3A4px%20solid%5C9%3Bborder%2Dright%3A4px%20solid%20transparent%3Bborder%2Dleft%3A4px%20solid%20transparent%7D%2Edropdown%2C%2Edropup%7Bposition%3Arelative%7D%2Edropdown%2Dtoggle%3Afocus%7Boutline%3A0%7D%2Edropdown%2Dmenu%7Bposition%3Aabsolute%3Btop%3A100%25%3Bleft%3A0%3Bz%2Dindex%3A1000%3Bdisplay%3Anone%3Bfloat%3Aleft%3Bmin%2Dwidth%3A160px%3Bpadding%3A5px%200%3Bmargin%3A2px%200%200%3Bfont%2Dsize%3A14px%3Btext%2Dalign%3Aleft%3Blist%2Dstyle%3Anone%3Bbackground%2Dcolor%3A%23fff%3B%2Dwebkit%2Dbackground%2Dclip%3Apadding%2Dbox%3Bbackground%2Dclip%3Apadding%2Dbox%3Bborder%3A1px%20solid%20%23ccc%3Bborder%3A1px%20solid%20rgba%280%2C0%2C0%2C%2E15%29%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3A0%206px%2012px%20rgba%280%2C0%2C0%2C%2E175%29%3Bbox%2Dshadow%3A0%206px%2012px%20rgba%280%2C0%2C0%2C%2E175%29%7D%2Edropdown%2Dmenu%2Epull%2Dright%7Bright%3A0%3Bleft%3Aauto%7D%2Edropdown%2Dmenu%20%2Edivider%7Bheight%3A1px%3Bmargin%3A9px%200%3Boverflow%3Ahidden%3Bbackground%2Dcolor%3A%23e5e5e5%7D%2Edropdown%2Dmenu%3Eli%3Ea%7Bdisplay%3Ablock%3Bpadding%3A3px%2020px%3Bclear%3Aboth%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23333%3Bwhite%2Dspace%3Anowrap%7D%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bcolor%3A%23262626%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23f5f5f5%7D%2Edropdown%2Dmenu%3E%2Eactive%3Ea%2C%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23337ab7%3Boutline%3A0%7D%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%2C%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23777%7D%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Btext%2Ddecoration%3Anone%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3Atransparent%3Bbackground%2Dimage%3Anone%3Bfilter%3Aprogid%3ADXImageTransform%2EMicrosoft%2Egradient%28enabled%3Dfalse%29%7D%2Eopen%3E%2Edropdown%2Dmenu%7Bdisplay%3Ablock%7D%2Eopen%3Ea%7Boutline%3A0%7D%2Edropdown%2Dmenu%2Dright%7Bright%3A0%3Bleft%3Aauto%7D%2Edropdown%2Dmenu%2Dleft%7Bright%3Aauto%3Bleft%3A0%7D%2Edropdown%2Dheader%7Bdisplay%3Ablock%3Bpadding%3A3px%2020px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23777%3Bwhite%2Dspace%3Anowrap%7D%2Edropdown%2Dbackdrop%7Bposition%3Afixed%3Btop%3A0%3Bright%3A0%3Bbottom%3A0%3Bleft%3A0%3Bz%2Dindex%3A990%7D%2Epull%2Dright%3E%2Edropdown%2Dmenu%7Bright%3A0%3Bleft%3Aauto%7D%2Edropup%20%2Ecaret%2C%2Enavbar%2Dfixed%2Dbottom%20%2Edropdown%20%2Ecaret%7Bcontent%3A%22%22%3Bborder%2Dtop%3A0%3Bborder%2Dbottom%3A4px%20dashed%3Bborder%2Dbottom%3A4px%20solid%5C9%7D%2Edropup%20%2Edropdown%2Dmenu%2C%2Enavbar%2Dfixed%2Dbottom%20%2Edropdown%20%2Edropdown%2Dmenu%7Btop%3Aauto%3Bbottom%3A100%25%3Bmargin%2Dbottom%3A2px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dright%20%2Edropdown%2Dmenu%7Bright%3A0%3Bleft%3Aauto%7D%2Enavbar%2Dright%20%2Edropdown%2Dmenu%2Dleft%7Bright%3Aauto%3Bleft%3A0%7D%7D%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%2Dvertical%7Bposition%3Arelative%3Bdisplay%3Ainline%2Dblock%3Bvertical%2Dalign%3Amiddle%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2C%2Ebtn%2Dgroup%3E%2Ebtn%7Bposition%3Arelative%3Bfloat%3Aleft%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Eactive%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Aactive%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Afocus%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Ahover%2C%2Ebtn%2Dgroup%3E%2Ebtn%2Eactive%2C%2Ebtn%2Dgroup%3E%2Ebtn%3Aactive%2C%2Ebtn%2Dgroup%3E%2Ebtn%3Afocus%2C%2Ebtn%2Dgroup%3E%2Ebtn%3Ahover%7Bz%2Dindex%3A2%7D%2Ebtn%2Dgroup%20%2Ebtn%2B%2Ebtn%2C%2Ebtn%2Dgroup%20%2Ebtn%2B%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%20%2Ebtn%2Dgroup%2B%2Ebtn%2C%2Ebtn%2Dgroup%20%2Ebtn%2Dgroup%2B%2Ebtn%2Dgroup%7Bmargin%2Dleft%3A%2D1px%7D%2Ebtn%2Dtoolbar%7Bmargin%2Dleft%3A%2D5px%7D%2Ebtn%2Dtoolbar%20%2Ebtn%2C%2Ebtn%2Dtoolbar%20%2Ebtn%2Dgroup%2C%2Ebtn%2Dtoolbar%20%2Einput%2Dgroup%7Bfloat%3Aleft%7D%2Ebtn%2Dtoolbar%3E%2Ebtn%2C%2Ebtn%2Dtoolbar%3E%2Ebtn%2Dgroup%2C%2Ebtn%2Dtoolbar%3E%2Einput%2Dgroup%7Bmargin%2Dleft%3A5px%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%3Anot%28%2Edropdown%2Dtoggle%29%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Afirst%2Dchild%7Bmargin%2Dleft%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3Anot%28%2Edropdown%2Dtoggle%29%7Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%2C%2Ebtn%2Dgroup%3E%2Edropdown%2Dtoggle%3Anot%28%3Afirst%2Dchild%29%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%7Bfloat%3Aleft%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%3Alast%2Dchild%2C%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Edropdown%2Dtoggle%7Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%3E%2Ebtn%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%20%2Edropdown%2Dtoggle%3Aactive%2C%2Ebtn%2Dgroup%2Eopen%20%2Edropdown%2Dtoggle%7Boutline%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2B%2Edropdown%2Dtoggle%7Bpadding%2Dright%3A8px%3Bpadding%2Dleft%3A8px%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dlg%2B%2Edropdown%2Dtoggle%7Bpadding%2Dright%3A12px%3Bpadding%2Dleft%3A12px%7D%2Ebtn%2Dgroup%2Eopen%20%2Edropdown%2Dtoggle%7B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%3Bbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%7D%2Ebtn%2Dgroup%2Eopen%20%2Edropdown%2Dtoggle%2Ebtn%2Dlink%7B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Ebtn%20%2Ecaret%7Bmargin%2Dleft%3A0%7D%2Ebtn%2Dlg%20%2Ecaret%7Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dbottom%2Dwidth%3A0%7D%2Edropup%20%2Ebtn%2Dlg%20%2Ecaret%7Bborder%2Dwidth%3A0%205px%205px%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3E%2Ebtn%7Bdisplay%3Ablock%3Bfloat%3Anone%3Bwidth%3A100%25%3Bmax%2Dwidth%3A100%25%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3E%2Ebtn%7Bfloat%3Anone%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2B%2Ebtn%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2B%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%2B%2Ebtn%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%2B%2Ebtn%2Dgroup%7Bmargin%2Dtop%3A%2D1px%3Bmargin%2Dleft%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%7Bborder%2Dtop%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A4px%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%3Alast%2Dchild%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Edropdown%2Dtoggle%7Bborder%2Dbottom%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%3E%2Ebtn%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Djustified%7Bdisplay%3Atable%3Bwidth%3A100%25%3Btable%2Dlayout%3Afixed%3Bborder%2Dcollapse%3Aseparate%7D%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2C%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2Dgroup%7Bdisplay%3Atable%2Dcell%3Bfloat%3Anone%3Bwidth%3A1%25%7D%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2Dgroup%20%2Ebtn%7Bwidth%3A100%25%7D%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2Dgroup%20%2Edropdown%2Dmenu%7Bleft%3Aauto%7D%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%20input%5Btype%3Dcheckbox%5D%2C%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%20input%5Btype%3Dradio%5D%2C%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%2Dgroup%3E%2Ebtn%20input%5Btype%3Dcheckbox%5D%2C%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%2Dgroup%3E%2Ebtn%20input%5Btype%3Dradio%5D%7Bposition%3Aabsolute%3Bclip%3Arect%280%2C0%2C0%2C0%29%3Bpointer%2Devents%3Anone%7D%2Einput%2Dgroup%7Bposition%3Arelative%3Bdisplay%3Atable%3Bborder%2Dcollapse%3Aseparate%7D%2Einput%2Dgroup%5Bclass%2A%3Dcol%2D%5D%7Bfloat%3Anone%3Bpadding%2Dright%3A0%3Bpadding%2Dleft%3A0%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%7Bposition%3Arelative%3Bz%2Dindex%3A2%3Bfloat%3Aleft%3Bwidth%3A100%25%3Bmargin%2Dbottom%3A0%7D%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2C%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A46px%3Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7Dselect%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2Cselect%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2Cselect%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A46px%3Bline%2Dheight%3A46px%7Dselect%5Bmultiple%5D%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%2Ctextarea%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2Ctextarea%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2Ctextarea%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3Aauto%7D%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2C%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A30px%3Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7Dselect%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2Cselect%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2Cselect%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A30px%3Bline%2Dheight%3A30px%7Dselect%5Bmultiple%5D%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%2Ctextarea%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2Ctextarea%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2Ctextarea%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3Aauto%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%2C%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dbtn%7Bdisplay%3Atable%2Dcell%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%2C%2Einput%2Dgroup%2Daddon%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%2C%2Einput%2Dgroup%2Dbtn%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%7Bborder%2Dradius%3A0%7D%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dbtn%7Bwidth%3A1%25%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Amiddle%7D%2Einput%2Dgroup%2Daddon%7Bpadding%3A6px%2012px%3Bfont%2Dsize%3A14px%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%3Bcolor%3A%23555%3Btext%2Dalign%3Acenter%3Bbackground%2Dcolor%3A%23eee%3Bborder%3A1px%20solid%20%23ccc%3Bborder%2Dradius%3A4px%7D%2Einput%2Dgroup%2Daddon%2Einput%2Dsm%7Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bborder%2Dradius%3A3px%7D%2Einput%2Dgroup%2Daddon%2Einput%2Dlg%7Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bborder%2Dradius%3A6px%7D%2Einput%2Dgroup%2Daddon%20input%5Btype%3Dcheckbox%5D%2C%2Einput%2Dgroup%2Daddon%20input%5Btype%3Dradio%5D%7Bmargin%2Dtop%3A0%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%3Afirst%2Dchild%2C%2Einput%2Dgroup%2Daddon%3Afirst%2Dchild%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2Dgroup%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Edropdown%2Dtoggle%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2Dgroup%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%3Anot%28%3Alast%2Dchild%29%3Anot%28%2Edropdown%2Dtoggle%29%7Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A0%7D%2Einput%2Dgroup%2Daddon%3Afirst%2Dchild%7Bborder%2Dright%3A0%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%3Alast%2Dchild%2C%2Einput%2Dgroup%2Daddon%3Alast%2Dchild%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2Dgroup%3Anot%28%3Afirst%2Dchild%29%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%3Anot%28%3Afirst%2Dchild%29%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2Dgroup%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Edropdown%2Dtoggle%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Einput%2Dgroup%2Daddon%3Alast%2Dchild%7Bborder%2Dleft%3A0%7D%2Einput%2Dgroup%2Dbtn%7Bposition%3Arelative%3Bfont%2Dsize%3A0%3Bwhite%2Dspace%3Anowrap%7D%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bposition%3Arelative%7D%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%2B%2Ebtn%7Bmargin%2Dleft%3A%2D1px%7D%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%3Aactive%2C%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%3Afocus%2C%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%3Ahover%7Bz%2Dindex%3A2%7D%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2Dgroup%7Bmargin%2Dright%3A%2D1px%7D%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2Dgroup%7Bz%2Dindex%3A2%3Bmargin%2Dleft%3A%2D1px%7D%2Enav%7Bpadding%2Dleft%3A0%3Bmargin%2Dbottom%3A0%3Blist%2Dstyle%3Anone%7D%2Enav%3Eli%7Bposition%3Arelative%3Bdisplay%3Ablock%7D%2Enav%3Eli%3Ea%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bpadding%3A10px%2015px%7D%2Enav%3Eli%3Ea%3Afocus%2C%2Enav%3Eli%3Ea%3Ahover%7Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23eee%7D%2Enav%3Eli%2Edisabled%3Ea%7Bcolor%3A%23777%7D%2Enav%3Eli%2Edisabled%3Ea%3Afocus%2C%2Enav%3Eli%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23777%3Btext%2Ddecoration%3Anone%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3Atransparent%7D%2Enav%20%2Eopen%3Ea%2C%2Enav%20%2Eopen%3Ea%3Afocus%2C%2Enav%20%2Eopen%3Ea%3Ahover%7Bbackground%2Dcolor%3A%23eee%3Bborder%2Dcolor%3A%23337ab7%7D%2Enav%20%2Enav%2Ddivider%7Bheight%3A1px%3Bmargin%3A9px%200%3Boverflow%3Ahidden%3Bbackground%2Dcolor%3A%23e5e5e5%7D%2Enav%3Eli%3Ea%3Eimg%7Bmax%2Dwidth%3Anone%7D%2Enav%2Dtabs%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%7D%2Enav%2Dtabs%3Eli%7Bfloat%3Aleft%3Bmargin%2Dbottom%3A%2D1px%7D%2Enav%2Dtabs%3Eli%3Ea%7Bmargin%2Dright%3A2px%3Bline%2Dheight%3A1%2E42857143%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%204px%200%200%7D%2Enav%2Dtabs%3Eli%3Ea%3Ahover%7Bborder%2Dcolor%3A%23eee%20%23eee%20%23ddd%7D%2Enav%2Dtabs%3Eli%2Eactive%3Ea%2C%2Enav%2Dtabs%3Eli%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%3Eli%2Eactive%3Ea%3Ahover%7Bcolor%3A%23555%3Bcursor%3Adefault%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dbottom%2Dcolor%3Atransparent%7D%2Enav%2Dtabs%2Enav%2Djustified%7Bwidth%3A100%25%3Bborder%2Dbottom%3A0%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%7Bfloat%3Anone%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A5px%3Btext%2Dalign%3Acenter%7D%2Enav%2Dtabs%2Enav%2Djustified%3E%2Edropdown%20%2Edropdown%2Dmenu%7Btop%3Aauto%3Bleft%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Dtabs%2Enav%2Djustified%3Eli%7Bdisplay%3Atable%2Dcell%3Bwidth%3A1%25%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A0%7D%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dright%3A0%3Bborder%2Dradius%3A4px%7D%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%3A1px%20solid%20%23ddd%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%204px%200%200%7D%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%2Dbottom%2Dcolor%3A%23fff%7D%7D%2Enav%2Dpills%3Eli%7Bfloat%3Aleft%7D%2Enav%2Dpills%3Eli%3Ea%7Bborder%2Dradius%3A4px%7D%2Enav%2Dpills%3Eli%2Bli%7Bmargin%2Dleft%3A2px%7D%2Enav%2Dpills%3Eli%2Eactive%3Ea%2C%2Enav%2Dpills%3Eli%2Eactive%3Ea%3Afocus%2C%2Enav%2Dpills%3Eli%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%7D%2Enav%2Dstacked%3Eli%7Bfloat%3Anone%7D%2Enav%2Dstacked%3Eli%2Bli%7Bmargin%2Dtop%3A2px%3Bmargin%2Dleft%3A0%7D%2Enav%2Djustified%7Bwidth%3A100%25%7D%2Enav%2Djustified%3Eli%7Bfloat%3Anone%7D%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A5px%3Btext%2Dalign%3Acenter%7D%2Enav%2Djustified%3E%2Edropdown%20%2Edropdown%2Dmenu%7Btop%3Aauto%3Bleft%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Djustified%3Eli%7Bdisplay%3Atable%2Dcell%3Bwidth%3A1%25%7D%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A0%7D%7D%2Enav%2Dtabs%2Djustified%7Bborder%2Dbottom%3A0%7D%2Enav%2Dtabs%2Djustified%3Eli%3Ea%7Bmargin%2Dright%3A0%3Bborder%2Dradius%3A4px%7D%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%3A1px%20solid%20%23ddd%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Dtabs%2Djustified%3Eli%3Ea%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%204px%200%200%7D%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%2Dbottom%2Dcolor%3A%23fff%7D%7D%2Etab%2Dcontent%3E%2Etab%2Dpane%7Bdisplay%3Anone%7D%2Etab%2Dcontent%3E%2Eactive%7Bdisplay%3Ablock%7D%2Enav%2Dtabs%20%2Edropdown%2Dmenu%7Bmargin%2Dtop%3A%2D1px%3Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Enavbar%7Bposition%3Arelative%3Bmin%2Dheight%3A50px%3Bmargin%2Dbottom%3A20px%3Bborder%3A1px%20solid%20transparent%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%7Bborder%2Dradius%3A4px%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dheader%7Bfloat%3Aleft%7D%7D%2Enavbar%2Dcollapse%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%3Boverflow%2Dx%3Avisible%3B%2Dwebkit%2Doverflow%2Dscrolling%3Atouch%3Bborder%2Dtop%3A1px%20solid%20transparent%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%3Bbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%7D%2Enavbar%2Dcollapse%2Ein%7Boverflow%2Dy%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dcollapse%7Bwidth%3Aauto%3Bborder%2Dtop%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Enavbar%2Dcollapse%2Ecollapse%7Bdisplay%3Ablock%21important%3Bheight%3Aauto%21important%3Bpadding%2Dbottom%3A0%3Boverflow%3Avisible%21important%7D%2Enavbar%2Dcollapse%2Ein%7Boverflow%2Dy%3Avisible%7D%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dfixed%2Dtop%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dstatic%2Dtop%20%2Enavbar%2Dcollapse%7Bpadding%2Dright%3A0%3Bpadding%2Dleft%3A0%7D%7D%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dfixed%2Dtop%20%2Enavbar%2Dcollapse%7Bmax%2Dheight%3A340px%7D%40media%20%28max%2Ddevice%2Dwidth%3A480px%29%20and%20%28orientation%3Alandscape%29%7B%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dfixed%2Dtop%20%2Enavbar%2Dcollapse%7Bmax%2Dheight%3A200px%7D%7D%2Econtainer%2Dfluid%3E%2Enavbar%2Dcollapse%2C%2Econtainer%2Dfluid%3E%2Enavbar%2Dheader%2C%2Econtainer%3E%2Enavbar%2Dcollapse%2C%2Econtainer%3E%2Enavbar%2Dheader%7Bmargin%2Dright%3A%2D15px%3Bmargin%2Dleft%3A%2D15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Econtainer%2Dfluid%3E%2Enavbar%2Dcollapse%2C%2Econtainer%2Dfluid%3E%2Enavbar%2Dheader%2C%2Econtainer%3E%2Enavbar%2Dcollapse%2C%2Econtainer%3E%2Enavbar%2Dheader%7Bmargin%2Dright%3A0%3Bmargin%2Dleft%3A0%7D%7D%2Enavbar%2Dstatic%2Dtop%7Bz%2Dindex%3A1000%3Bborder%2Dwidth%3A0%200%201px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dstatic%2Dtop%7Bborder%2Dradius%3A0%7D%7D%2Enavbar%2Dfixed%2Dbottom%2C%2Enavbar%2Dfixed%2Dtop%7Bposition%3Afixed%3Bright%3A0%3Bleft%3A0%3Bz%2Dindex%3A1030%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dfixed%2Dbottom%2C%2Enavbar%2Dfixed%2Dtop%7Bborder%2Dradius%3A0%7D%7D%2Enavbar%2Dfixed%2Dtop%7Btop%3A0%3Bborder%2Dwidth%3A0%200%201px%7D%2Enavbar%2Dfixed%2Dbottom%7Bbottom%3A0%3Bmargin%2Dbottom%3A0%3Bborder%2Dwidth%3A1px%200%200%7D%2Enavbar%2Dbrand%7Bfloat%3Aleft%3Bheight%3A50px%3Bpadding%3A15px%2015px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A20px%7D%2Enavbar%2Dbrand%3Afocus%2C%2Enavbar%2Dbrand%3Ahover%7Btext%2Ddecoration%3Anone%7D%2Enavbar%2Dbrand%3Eimg%7Bdisplay%3Ablock%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%3E%2Econtainer%20%2Enavbar%2Dbrand%2C%2Enavbar%3E%2Econtainer%2Dfluid%20%2Enavbar%2Dbrand%7Bmargin%2Dleft%3A%2D15px%7D%7D%2Enavbar%2Dtoggle%7Bposition%3Arelative%3Bfloat%3Aright%3Bpadding%3A9px%2010px%3Bmargin%2Dtop%3A8px%3Bmargin%2Dright%3A15px%3Bmargin%2Dbottom%3A8px%3Bbackground%2Dcolor%3Atransparent%3Bbackground%2Dimage%3Anone%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%7D%2Enavbar%2Dtoggle%3Afocus%7Boutline%3A0%7D%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%7Bdisplay%3Ablock%3Bwidth%3A22px%3Bheight%3A2px%3Bborder%2Dradius%3A1px%7D%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%2B%2Eicon%2Dbar%7Bmargin%2Dtop%3A4px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dtoggle%7Bdisplay%3Anone%7D%7D%2Enavbar%2Dnav%7Bmargin%3A7%2E5px%20%2D15px%7D%2Enavbar%2Dnav%3Eli%3Ea%7Bpadding%2Dtop%3A10px%3Bpadding%2Dbottom%3A10px%3Bline%2Dheight%3A20px%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%7Bposition%3Astatic%3Bfloat%3Anone%3Bwidth%3Aauto%3Bmargin%2Dtop%3A0%3Bbackground%2Dcolor%3Atransparent%3Bborder%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%20%2Edropdown%2Dheader%2C%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bpadding%3A5px%2015px%205px%2025px%7D%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bline%2Dheight%3A20px%7D%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bbackground%2Dimage%3Anone%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dnav%7Bfloat%3Aleft%3Bmargin%3A0%7D%2Enavbar%2Dnav%3Eli%7Bfloat%3Aleft%7D%2Enavbar%2Dnav%3Eli%3Ea%7Bpadding%2Dtop%3A15px%3Bpadding%2Dbottom%3A15px%7D%7D%2Enavbar%2Dform%7Bpadding%3A10px%2015px%3Bmargin%2Dtop%3A8px%3Bmargin%2Dright%3A%2D15px%3Bmargin%2Dbottom%3A8px%3Bmargin%2Dleft%3A%2D15px%3Bborder%2Dtop%3A1px%20solid%20transparent%3Bborder%2Dbottom%3A1px%20solid%20transparent%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%2C0%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%3Bbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%2C0%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dform%20%2Eform%2Dgroup%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Eform%2Dcontrol%7Bdisplay%3Ainline%2Dblock%3Bwidth%3Aauto%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Eform%2Dcontrol%2Dstatic%7Bdisplay%3Ainline%2Dblock%7D%2Enavbar%2Dform%20%2Einput%2Dgroup%7Bdisplay%3Ainline%2Dtable%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Einput%2Dgroup%20%2Eform%2Dcontrol%2C%2Enavbar%2Dform%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Daddon%2C%2Enavbar%2Dform%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Dbtn%7Bwidth%3Aauto%7D%2Enavbar%2Dform%20%2Einput%2Dgroup%3E%2Eform%2Dcontrol%7Bwidth%3A100%25%7D%2Enavbar%2Dform%20%2Econtrol%2Dlabel%7Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Echeckbox%2C%2Enavbar%2Dform%20%2Eradio%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Echeckbox%20label%2C%2Enavbar%2Dform%20%2Eradio%20label%7Bpadding%2Dleft%3A0%7D%2Enavbar%2Dform%20%2Echeckbox%20input%5Btype%3Dcheckbox%5D%2C%2Enavbar%2Dform%20%2Eradio%20input%5Btype%3Dradio%5D%7Bposition%3Arelative%3Bmargin%2Dleft%3A0%7D%2Enavbar%2Dform%20%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%2Dfeedback%7Btop%3A0%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Dform%20%2Eform%2Dgroup%7Bmargin%2Dbottom%3A5px%7D%2Enavbar%2Dform%20%2Eform%2Dgroup%3Alast%2Dchild%7Bmargin%2Dbottom%3A0%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dform%7Bwidth%3Aauto%3Bpadding%2Dtop%3A0%3Bpadding%2Dbottom%3A0%3Bmargin%2Dright%3A0%3Bmargin%2Dleft%3A0%3Bborder%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%7D%2Enavbar%2Dnav%3Eli%3E%2Edropdown%2Dmenu%7Bmargin%2Dtop%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dnav%3Eli%3E%2Edropdown%2Dmenu%7Bmargin%2Dbottom%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A4px%3Bborder%2Dtop%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Enavbar%2Dbtn%7Bmargin%2Dtop%3A8px%3Bmargin%2Dbottom%3A8px%7D%2Enavbar%2Dbtn%2Ebtn%2Dsm%7Bmargin%2Dtop%3A10px%3Bmargin%2Dbottom%3A10px%7D%2Enavbar%2Dbtn%2Ebtn%2Dxs%7Bmargin%2Dtop%3A14px%3Bmargin%2Dbottom%3A14px%7D%2Enavbar%2Dtext%7Bmargin%2Dtop%3A15px%3Bmargin%2Dbottom%3A15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dtext%7Bfloat%3Aleft%3Bmargin%2Dright%3A15px%3Bmargin%2Dleft%3A15px%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dleft%7Bfloat%3Aleft%21important%7D%2Enavbar%2Dright%7Bfloat%3Aright%21important%3Bmargin%2Dright%3A%2D15px%7D%2Enavbar%2Dright%7E%2Enavbar%2Dright%7Bmargin%2Dright%3A0%7D%7D%2Enavbar%2Ddefault%7Bbackground%2Dcolor%3A%23f8f8f8%3Bborder%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dbrand%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dbrand%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dbrand%3Ahover%7Bcolor%3A%235e5e5e%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtext%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3Eli%3Ea%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3Eli%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3Eli%3Ea%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23ccc%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%7Bborder%2Dcolor%3A%23ddd%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%3Ahover%7Bbackground%2Dcolor%3A%23ddd%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%7Bbackground%2Dcolor%3A%23888%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dform%7Bborder%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Ahover%7Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23e7e7e7%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23ccc%3Bbackground%2Dcolor%3Atransparent%7D%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dlink%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dlink%3Ahover%7Bcolor%3A%23333%7D%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Afocus%2C%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23333%7D%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%5Bdisabled%5D%3Afocus%2C%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23ccc%7D%2Enavbar%2Dinverse%7Bbackground%2Dcolor%3A%23222%3Bborder%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dbrand%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dbrand%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dbrand%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtext%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3Eli%3Ea%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3Eli%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3Eli%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23444%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%7Bborder%2Dcolor%3A%23333%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%3Ahover%7Bbackground%2Dcolor%3A%23333%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%7Bbackground%2Dcolor%3A%23fff%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dform%7Bborder%2Dcolor%3A%23101010%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23080808%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edropdown%2Dheader%7Bborder%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%20%2Edivider%7Bbackground%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23444%3Bbackground%2Dcolor%3Atransparent%7D%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dlink%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dlink%3Ahover%7Bcolor%3A%23fff%7D%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Afocus%2C%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23fff%7D%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%5Bdisabled%5D%3Afocus%2C%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23444%7D%2Ebreadcrumb%7Bpadding%3A8px%2015px%3Bmargin%2Dbottom%3A20px%3Blist%2Dstyle%3Anone%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dradius%3A4px%7D%2Ebreadcrumb%3Eli%7Bdisplay%3Ainline%2Dblock%7D%2Ebreadcrumb%3Eli%2Bli%3Abefore%7Bpadding%3A0%205px%3Bcolor%3A%23ccc%3Bcontent%3A%22%2F%5C00a0%22%7D%2Ebreadcrumb%3E%2Eactive%7Bcolor%3A%23777%7D%2Epagination%7Bdisplay%3Ainline%2Dblock%3Bpadding%2Dleft%3A0%3Bmargin%3A20px%200%3Bborder%2Dradius%3A4px%7D%2Epagination%3Eli%7Bdisplay%3Ainline%7D%2Epagination%3Eli%3Ea%2C%2Epagination%3Eli%3Espan%7Bposition%3Arelative%3Bfloat%3Aleft%3Bpadding%3A6px%2012px%3Bmargin%2Dleft%3A%2D1px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23337ab7%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%7D%2Epagination%3Eli%3Afirst%2Dchild%3Ea%2C%2Epagination%3Eli%3Afirst%2Dchild%3Espan%7Bmargin%2Dleft%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A4px%3Bborder%2Dbottom%2Dleft%2Dradius%3A4px%7D%2Epagination%3Eli%3Alast%2Dchild%3Ea%2C%2Epagination%3Eli%3Alast%2Dchild%3Espan%7Bborder%2Dtop%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dright%2Dradius%3A4px%7D%2Epagination%3Eli%3Ea%3Afocus%2C%2Epagination%3Eli%3Ea%3Ahover%2C%2Epagination%3Eli%3Espan%3Afocus%2C%2Epagination%3Eli%3Espan%3Ahover%7Bz%2Dindex%3A3%3Bcolor%3A%2323527c%3Bbackground%2Dcolor%3A%23eee%3Bborder%2Dcolor%3A%23ddd%7D%2Epagination%3E%2Eactive%3Ea%2C%2Epagination%3E%2Eactive%3Ea%3Afocus%2C%2Epagination%3E%2Eactive%3Ea%3Ahover%2C%2Epagination%3E%2Eactive%3Espan%2C%2Epagination%3E%2Eactive%3Espan%3Afocus%2C%2Epagination%3E%2Eactive%3Espan%3Ahover%7Bz%2Dindex%3A2%3Bcolor%3A%23fff%3Bcursor%3Adefault%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%23337ab7%7D%2Epagination%3E%2Edisabled%3Ea%2C%2Epagination%3E%2Edisabled%3Ea%3Afocus%2C%2Epagination%3E%2Edisabled%3Ea%3Ahover%2C%2Epagination%3E%2Edisabled%3Espan%2C%2Epagination%3E%2Edisabled%3Espan%3Afocus%2C%2Epagination%3E%2Edisabled%3Espan%3Ahover%7Bcolor%3A%23777%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3A%23fff%3Bborder%2Dcolor%3A%23ddd%7D%2Epagination%2Dlg%3Eli%3Ea%2C%2Epagination%2Dlg%3Eli%3Espan%7Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%7D%2Epagination%2Dlg%3Eli%3Afirst%2Dchild%3Ea%2C%2Epagination%2Dlg%3Eli%3Afirst%2Dchild%3Espan%7Bborder%2Dtop%2Dleft%2Dradius%3A6px%3Bborder%2Dbottom%2Dleft%2Dradius%3A6px%7D%2Epagination%2Dlg%3Eli%3Alast%2Dchild%3Ea%2C%2Epagination%2Dlg%3Eli%3Alast%2Dchild%3Espan%7Bborder%2Dtop%2Dright%2Dradius%3A6px%3Bborder%2Dbottom%2Dright%2Dradius%3A6px%7D%2Epagination%2Dsm%3Eli%3Ea%2C%2Epagination%2Dsm%3Eli%3Espan%7Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%7D%2Epagination%2Dsm%3Eli%3Afirst%2Dchild%3Ea%2C%2Epagination%2Dsm%3Eli%3Afirst%2Dchild%3Espan%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epagination%2Dsm%3Eli%3Alast%2Dchild%3Ea%2C%2Epagination%2Dsm%3Eli%3Alast%2Dchild%3Espan%7Bborder%2Dtop%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dright%2Dradius%3A3px%7D%2Epager%7Bpadding%2Dleft%3A0%3Bmargin%3A20px%200%3Btext%2Dalign%3Acenter%3Blist%2Dstyle%3Anone%7D%2Epager%20li%7Bdisplay%3Ainline%7D%2Epager%20li%3Ea%2C%2Epager%20li%3Espan%7Bdisplay%3Ainline%2Dblock%3Bpadding%3A5px%2014px%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A15px%7D%2Epager%20li%3Ea%3Afocus%2C%2Epager%20li%3Ea%3Ahover%7Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23eee%7D%2Epager%20%2Enext%3Ea%2C%2Epager%20%2Enext%3Espan%7Bfloat%3Aright%7D%2Epager%20%2Eprevious%3Ea%2C%2Epager%20%2Eprevious%3Espan%7Bfloat%3Aleft%7D%2Epager%20%2Edisabled%3Ea%2C%2Epager%20%2Edisabled%3Ea%3Afocus%2C%2Epager%20%2Edisabled%3Ea%3Ahover%2C%2Epager%20%2Edisabled%3Espan%7Bcolor%3A%23777%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3A%23fff%7D%2Elabel%7Bdisplay%3Ainline%3Bpadding%3A%2E2em%20%2E6em%20%2E3em%3Bfont%2Dsize%3A75%25%3Bfont%2Dweight%3A700%3Bline%2Dheight%3A1%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Abaseline%3Bborder%2Dradius%3A%2E25em%7Da%2Elabel%3Afocus%2Ca%2Elabel%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bcursor%3Apointer%7D%2Elabel%3Aempty%7Bdisplay%3Anone%7D%2Ebtn%20%2Elabel%7Bposition%3Arelative%3Btop%3A%2D1px%7D%2Elabel%2Ddefault%7Bbackground%2Dcolor%3A%23777%7D%2Elabel%2Ddefault%5Bhref%5D%3Afocus%2C%2Elabel%2Ddefault%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%235e5e5e%7D%2Elabel%2Dprimary%7Bbackground%2Dcolor%3A%23337ab7%7D%2Elabel%2Dprimary%5Bhref%5D%3Afocus%2C%2Elabel%2Dprimary%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23286090%7D%2Elabel%2Dsuccess%7Bbackground%2Dcolor%3A%235cb85c%7D%2Elabel%2Dsuccess%5Bhref%5D%3Afocus%2C%2Elabel%2Dsuccess%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23449d44%7D%2Elabel%2Dinfo%7Bbackground%2Dcolor%3A%235bc0de%7D%2Elabel%2Dinfo%5Bhref%5D%3Afocus%2C%2Elabel%2Dinfo%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%2331b0d5%7D%2Elabel%2Dwarning%7Bbackground%2Dcolor%3A%23f0ad4e%7D%2Elabel%2Dwarning%5Bhref%5D%3Afocus%2C%2Elabel%2Dwarning%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23ec971f%7D%2Elabel%2Ddanger%7Bbackground%2Dcolor%3A%23d9534f%7D%2Elabel%2Ddanger%5Bhref%5D%3Afocus%2C%2Elabel%2Ddanger%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23c9302c%7D%2Ebadge%7Bdisplay%3Ainline%2Dblock%3Bmin%2Dwidth%3A10px%3Bpadding%3A3px%207px%3Bfont%2Dsize%3A12px%3Bfont%2Dweight%3A700%3Bline%2Dheight%3A1%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Amiddle%3Bbackground%2Dcolor%3A%23777%3Bborder%2Dradius%3A10px%7D%2Ebadge%3Aempty%7Bdisplay%3Anone%7D%2Ebtn%20%2Ebadge%7Bposition%3Arelative%3Btop%3A%2D1px%7D%2Ebtn%2Dgroup%2Dxs%3E%2Ebtn%20%2Ebadge%2C%2Ebtn%2Dxs%20%2Ebadge%7Btop%3A0%3Bpadding%3A1px%205px%7Da%2Ebadge%3Afocus%2Ca%2Ebadge%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bcursor%3Apointer%7D%2Elist%2Dgroup%2Ditem%2Eactive%3E%2Ebadge%2C%2Enav%2Dpills%3E%2Eactive%3Ea%3E%2Ebadge%7Bcolor%3A%23337ab7%3Bbackground%2Dcolor%3A%23fff%7D%2Elist%2Dgroup%2Ditem%3E%2Ebadge%7Bfloat%3Aright%7D%2Elist%2Dgroup%2Ditem%3E%2Ebadge%2B%2Ebadge%7Bmargin%2Dright%3A5px%7D%2Enav%2Dpills%3Eli%3Ea%3E%2Ebadge%7Bmargin%2Dleft%3A3px%7D%2Ejumbotron%7Bpadding%2Dtop%3A30px%3Bpadding%2Dbottom%3A30px%3Bmargin%2Dbottom%3A30px%3Bcolor%3Ainherit%3Bbackground%2Dcolor%3A%23eee%7D%2Ejumbotron%20%2Eh1%2C%2Ejumbotron%20h1%7Bcolor%3Ainherit%7D%2Ejumbotron%20p%7Bmargin%2Dbottom%3A15px%3Bfont%2Dsize%3A21px%3Bfont%2Dweight%3A200%7D%2Ejumbotron%3Ehr%7Bborder%2Dtop%2Dcolor%3A%23d5d5d5%7D%2Econtainer%20%2Ejumbotron%2C%2Econtainer%2Dfluid%20%2Ejumbotron%7Bborder%2Dradius%3A6px%7D%2Ejumbotron%20%2Econtainer%7Bmax%2Dwidth%3A100%25%7D%40media%20screen%20and%20%28min%2Dwidth%3A768px%29%7B%2Ejumbotron%7Bpadding%2Dtop%3A48px%3Bpadding%2Dbottom%3A48px%7D%2Econtainer%20%2Ejumbotron%2C%2Econtainer%2Dfluid%20%2Ejumbotron%7Bpadding%2Dright%3A60px%3Bpadding%2Dleft%3A60px%7D%2Ejumbotron%20%2Eh1%2C%2Ejumbotron%20h1%7Bfont%2Dsize%3A63px%7D%7D%2Ethumbnail%7Bdisplay%3Ablock%3Bpadding%3A4px%3Bmargin%2Dbottom%3A20px%3Bline%2Dheight%3A1%2E42857143%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dtransition%3Aborder%20%2E2s%20ease%2Din%2Dout%3B%2Do%2Dtransition%3Aborder%20%2E2s%20ease%2Din%2Dout%3Btransition%3Aborder%20%2E2s%20ease%2Din%2Dout%7D%2Ethumbnail%20a%3Eimg%2C%2Ethumbnail%3Eimg%7Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7Da%2Ethumbnail%2Eactive%2Ca%2Ethumbnail%3Afocus%2Ca%2Ethumbnail%3Ahover%7Bborder%2Dcolor%3A%23337ab7%7D%2Ethumbnail%20%2Ecaption%7Bpadding%3A9px%3Bcolor%3A%23333%7D%2Ealert%7Bpadding%3A15px%3Bmargin%2Dbottom%3A20px%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%7D%2Ealert%20h4%7Bmargin%2Dtop%3A0%3Bcolor%3Ainherit%7D%2Ealert%20%2Ealert%2Dlink%7Bfont%2Dweight%3A700%7D%2Ealert%3Ep%2C%2Ealert%3Eul%7Bmargin%2Dbottom%3A0%7D%2Ealert%3Ep%2Bp%7Bmargin%2Dtop%3A5px%7D%2Ealert%2Ddismissable%2C%2Ealert%2Ddismissible%7Bpadding%2Dright%3A35px%7D%2Ealert%2Ddismissable%20%2Eclose%2C%2Ealert%2Ddismissible%20%2Eclose%7Bposition%3Arelative%3Btop%3A%2D2px%3Bright%3A%2D21px%3Bcolor%3Ainherit%7D%2Ealert%2Dsuccess%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%3Bborder%2Dcolor%3A%23d6e9c6%7D%2Ealert%2Dsuccess%20hr%7Bborder%2Dtop%2Dcolor%3A%23c9e2b3%7D%2Ealert%2Dsuccess%20%2Ealert%2Dlink%7Bcolor%3A%232b542c%7D%2Ealert%2Dinfo%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23d9edf7%3Bborder%2Dcolor%3A%23bce8f1%7D%2Ealert%2Dinfo%20hr%7Bborder%2Dtop%2Dcolor%3A%23a6e1ec%7D%2Ealert%2Dinfo%20%2Ealert%2Dlink%7Bcolor%3A%23245269%7D%2Ealert%2Dwarning%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%3Bborder%2Dcolor%3A%23faebcc%7D%2Ealert%2Dwarning%20hr%7Bborder%2Dtop%2Dcolor%3A%23f7e1b5%7D%2Ealert%2Dwarning%20%2Ealert%2Dlink%7Bcolor%3A%2366512c%7D%2Ealert%2Ddanger%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%3Bborder%2Dcolor%3A%23ebccd1%7D%2Ealert%2Ddanger%20hr%7Bborder%2Dtop%2Dcolor%3A%23e4b9c0%7D%2Ealert%2Ddanger%20%2Ealert%2Dlink%7Bcolor%3A%23843534%7D%40%2Dwebkit%2Dkeyframes%20progress%2Dbar%2Dstripes%7Bfrom%7Bbackground%2Dposition%3A40px%200%7Dto%7Bbackground%2Dposition%3A0%200%7D%7D%40%2Do%2Dkeyframes%20progress%2Dbar%2Dstripes%7Bfrom%7Bbackground%2Dposition%3A40px%200%7Dto%7Bbackground%2Dposition%3A0%200%7D%7D%40keyframes%20progress%2Dbar%2Dstripes%7Bfrom%7Bbackground%2Dposition%3A40px%200%7Dto%7Bbackground%2Dposition%3A0%200%7D%7D%2Eprogress%7Bheight%3A20px%3Bmargin%2Dbottom%3A20px%3Boverflow%3Ahidden%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%202px%20rgba%280%2C0%2C0%2C%2E1%29%3Bbox%2Dshadow%3Ainset%200%201px%202px%20rgba%280%2C0%2C0%2C%2E1%29%7D%2Eprogress%2Dbar%7Bfloat%3Aleft%3Bwidth%3A0%3Bheight%3A100%25%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A20px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bbackground%2Dcolor%3A%23337ab7%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E15%29%3Bbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E15%29%3B%2Dwebkit%2Dtransition%3Awidth%20%2E6s%20ease%3B%2Do%2Dtransition%3Awidth%20%2E6s%20ease%3Btransition%3Awidth%20%2E6s%20ease%7D%2Eprogress%2Dbar%2Dstriped%2C%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3B%2Dwebkit%2Dbackground%2Dsize%3A40px%2040px%3Bbackground%2Dsize%3A40px%2040px%7D%2Eprogress%2Dbar%2Eactive%2C%2Eprogress%2Eactive%20%2Eprogress%2Dbar%7B%2Dwebkit%2Danimation%3Aprogress%2Dbar%2Dstripes%202s%20linear%20infinite%3B%2Do%2Danimation%3Aprogress%2Dbar%2Dstripes%202s%20linear%20infinite%3Banimation%3Aprogress%2Dbar%2Dstripes%202s%20linear%20infinite%7D%2Eprogress%2Dbar%2Dsuccess%7Bbackground%2Dcolor%3A%235cb85c%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Dsuccess%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Eprogress%2Dbar%2Dinfo%7Bbackground%2Dcolor%3A%235bc0de%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Dinfo%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Eprogress%2Dbar%2Dwarning%7Bbackground%2Dcolor%3A%23f0ad4e%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Dwarning%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Eprogress%2Dbar%2Ddanger%7Bbackground%2Dcolor%3A%23d9534f%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Ddanger%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Emedia%7Bmargin%2Dtop%3A15px%7D%2Emedia%3Afirst%2Dchild%7Bmargin%2Dtop%3A0%7D%2Emedia%2C%2Emedia%2Dbody%7Boverflow%3Ahidden%3Bzoom%3A1%7D%2Emedia%2Dbody%7Bwidth%3A10000px%7D%2Emedia%2Dobject%7Bdisplay%3Ablock%7D%2Emedia%2Dobject%2Eimg%2Dthumbnail%7Bmax%2Dwidth%3Anone%7D%2Emedia%2Dright%2C%2Emedia%3E%2Epull%2Dright%7Bpadding%2Dleft%3A10px%7D%2Emedia%2Dleft%2C%2Emedia%3E%2Epull%2Dleft%7Bpadding%2Dright%3A10px%7D%2Emedia%2Dbody%2C%2Emedia%2Dleft%2C%2Emedia%2Dright%7Bdisplay%3Atable%2Dcell%3Bvertical%2Dalign%3Atop%7D%2Emedia%2Dmiddle%7Bvertical%2Dalign%3Amiddle%7D%2Emedia%2Dbottom%7Bvertical%2Dalign%3Abottom%7D%2Emedia%2Dheading%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A5px%7D%2Emedia%2Dlist%7Bpadding%2Dleft%3A0%3Blist%2Dstyle%3Anone%7D%2Elist%2Dgroup%7Bpadding%2Dleft%3A0%3Bmargin%2Dbottom%3A20px%7D%2Elist%2Dgroup%2Ditem%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bpadding%3A10px%2015px%3Bmargin%2Dbottom%3A%2D1px%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%7D%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A4px%3Bborder%2Dtop%2Dright%2Dradius%3A4px%7D%2Elist%2Dgroup%2Ditem%3Alast%2Dchild%7Bmargin%2Dbottom%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dleft%2Dradius%3A4px%7Da%2Elist%2Dgroup%2Ditem%2Cbutton%2Elist%2Dgroup%2Ditem%7Bcolor%3A%23555%7Da%2Elist%2Dgroup%2Ditem%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3A%23333%7Da%2Elist%2Dgroup%2Ditem%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%3Ahover%7Bcolor%3A%23555%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23f5f5f5%7Dbutton%2Elist%2Dgroup%2Ditem%7Bwidth%3A100%25%3Btext%2Dalign%3Aleft%7D%2Elist%2Dgroup%2Ditem%2Edisabled%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Afocus%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Ahover%7Bcolor%3A%23777%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3A%23eee%7D%2Elist%2Dgroup%2Ditem%2Edisabled%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7D%2Elist%2Dgroup%2Ditem%2Edisabled%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dtext%7Bcolor%3A%23777%7D%2Elist%2Dgroup%2Ditem%2Eactive%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%7Bz%2Dindex%3A2%3Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%23337ab7%7D%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dheading%3E%2Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dheading%3Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%3E%2Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%3Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%3E%2Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%3Esmall%7Bcolor%3Ainherit%7D%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dtext%7Bcolor%3A%23c7ddef%7D%2Elist%2Dgroup%2Ditem%2Dsuccess%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%7Bcolor%3A%233c763d%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dsuccess%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%3Ahover%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23d0e9c6%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%233c763d%3Bborder%2Dcolor%3A%233c763d%7D%2Elist%2Dgroup%2Ditem%2Dinfo%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23d9edf7%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%7Bcolor%3A%2331708f%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dinfo%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%3Ahover%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23c4e3f3%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331708f%3Bborder%2Dcolor%3A%2331708f%7D%2Elist%2Dgroup%2Ditem%2Dwarning%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%7Bcolor%3A%238a6d3b%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dwarning%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%3Ahover%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23faf2cc%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%238a6d3b%3Bborder%2Dcolor%3A%238a6d3b%7D%2Elist%2Dgroup%2Ditem%2Ddanger%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%7Bcolor%3A%23a94442%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Ddanger%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%3Ahover%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23ebcccc%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23a94442%3Bborder%2Dcolor%3A%23a94442%7D%2Elist%2Dgroup%2Ditem%2Dheading%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A5px%7D%2Elist%2Dgroup%2Ditem%2Dtext%7Bmargin%2Dbottom%3A0%3Bline%2Dheight%3A1%2E3%7D%2Epanel%7Bmargin%2Dbottom%3A20px%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3A0%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%3Bbox%2Dshadow%3A0%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%7D%2Epanel%2Dbody%7Bpadding%3A15px%7D%2Epanel%2Dheading%7Bpadding%3A10px%2015px%3Bborder%2Dbottom%3A1px%20solid%20transparent%3Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%2Dheading%3E%2Edropdown%20%2Edropdown%2Dtoggle%7Bcolor%3Ainherit%7D%2Epanel%2Dtitle%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%3Bfont%2Dsize%3A16px%3Bcolor%3Ainherit%7D%2Epanel%2Dtitle%3E%2Esmall%2C%2Epanel%2Dtitle%3E%2Esmall%3Ea%2C%2Epanel%2Dtitle%3Ea%2C%2Epanel%2Dtitle%3Esmall%2C%2Epanel%2Dtitle%3Esmall%3Ea%7Bcolor%3Ainherit%7D%2Epanel%2Dfooter%7Bpadding%3A10px%2015px%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dtop%3A1px%20solid%20%23ddd%3Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Elist%2Dgroup%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%7Bmargin%2Dbottom%3A0%7D%2Epanel%3E%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%7Bborder%2Dwidth%3A1px%200%3Bborder%2Dradius%3A0%7D%2Epanel%3E%2Elist%2Dgroup%3Afirst%2Dchild%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%3Afirst%2Dchild%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Elist%2Dgroup%3Alast%2Dchild%20%2Elist%2Dgroup%2Ditem%3Alast%2Dchild%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%3Alast%2Dchild%20%2Elist%2Dgroup%2Ditem%3Alast%2Dchild%7Bborder%2Dbottom%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Epanel%2Dheading%2B%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%2Dwidth%3A0%7D%2Elist%2Dgroup%2B%2Epanel%2Dfooter%7Bborder%2Dtop%2Dwidth%3A0%7D%2Epanel%3E%2Epanel%2Dcollapse%3E%2Etable%2C%2Epanel%3E%2Etable%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%7Bmargin%2Dbottom%3A0%7D%2Epanel%3E%2Epanel%2Dcollapse%3E%2Etable%20caption%2C%2Epanel%3E%2Etable%20caption%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%20caption%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%7Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%7Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%7Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%7Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%7Bborder%2Dbottom%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Epanel%2Dbody%2B%2Etable%2C%2Epanel%3E%2Epanel%2Dbody%2B%2Etable%2Dresponsive%2C%2Epanel%3E%2Etable%2B%2Epanel%2Dbody%2C%2Epanel%3E%2Etable%2Dresponsive%2B%2Epanel%2Dbody%7Bborder%2Dtop%3A1px%20solid%20%23ddd%7D%2Epanel%3E%2Etable%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%2C%2Epanel%3E%2Etable%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%7Bborder%2Dtop%3A0%7D%2Epanel%3E%2Etable%2Dbordered%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%7Bborder%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Afirst%2Dchild%7Bborder%2Dleft%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Alast%2Dchild%7Bborder%2Dright%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Eth%7Bborder%2Dbottom%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Eth%7Bborder%2Dbottom%3A0%7D%2Epanel%3E%2Etable%2Dresponsive%7Bmargin%2Dbottom%3A0%3Bborder%3A0%7D%2Epanel%2Dgroup%7Bmargin%2Dbottom%3A20px%7D%2Epanel%2Dgroup%20%2Epanel%7Bmargin%2Dbottom%3A0%3Bborder%2Dradius%3A4px%7D%2Epanel%2Dgroup%20%2Epanel%2B%2Epanel%7Bmargin%2Dtop%3A5px%7D%2Epanel%2Dgroup%20%2Epanel%2Dheading%7Bborder%2Dbottom%3A0%7D%2Epanel%2Dgroup%20%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%2C%2Epanel%2Dgroup%20%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%3A1px%20solid%20%23ddd%7D%2Epanel%2Dgroup%20%2Epanel%2Dfooter%7Bborder%2Dtop%3A0%7D%2Epanel%2Dgroup%20%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%20%2Epanel%2Dbody%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%7D%2Epanel%2Ddefault%7Bborder%2Dcolor%3A%23ddd%7D%2Epanel%2Ddefault%3E%2Epanel%2Dheading%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dcolor%3A%23ddd%7D%2Epanel%2Ddefault%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23ddd%7D%2Epanel%2Ddefault%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23f5f5f5%3Bbackground%2Dcolor%3A%23333%7D%2Epanel%2Ddefault%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23ddd%7D%2Epanel%2Dprimary%7Bborder%2Dcolor%3A%23337ab7%7D%2Epanel%2Dprimary%3E%2Epanel%2Dheading%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%23337ab7%7D%2Epanel%2Dprimary%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23337ab7%7D%2Epanel%2Dprimary%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23337ab7%3Bbackground%2Dcolor%3A%23fff%7D%2Epanel%2Dprimary%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23337ab7%7D%2Epanel%2Dsuccess%7Bborder%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dheading%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%3Bborder%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23dff0d8%3Bbackground%2Dcolor%3A%233c763d%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dinfo%7Bborder%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dinfo%3E%2Epanel%2Dheading%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23d9edf7%3Bborder%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dinfo%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dinfo%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23d9edf7%3Bbackground%2Dcolor%3A%2331708f%7D%2Epanel%2Dinfo%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dwarning%7Bborder%2Dcolor%3A%23faebcc%7D%2Epanel%2Dwarning%3E%2Epanel%2Dheading%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%3Bborder%2Dcolor%3A%23faebcc%7D%2Epanel%2Dwarning%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23faebcc%7D%2Epanel%2Dwarning%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23fcf8e3%3Bbackground%2Dcolor%3A%238a6d3b%7D%2Epanel%2Dwarning%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23faebcc%7D%2Epanel%2Ddanger%7Bborder%2Dcolor%3A%23ebccd1%7D%2Epanel%2Ddanger%3E%2Epanel%2Dheading%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%3Bborder%2Dcolor%3A%23ebccd1%7D%2Epanel%2Ddanger%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23ebccd1%7D%2Epanel%2Ddanger%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23f2dede%3Bbackground%2Dcolor%3A%23a94442%7D%2Epanel%2Ddanger%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23ebccd1%7D%2Eembed%2Dresponsive%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bheight%3A0%3Bpadding%3A0%3Boverflow%3Ahidden%7D%2Eembed%2Dresponsive%20%2Eembed%2Dresponsive%2Ditem%2C%2Eembed%2Dresponsive%20embed%2C%2Eembed%2Dresponsive%20iframe%2C%2Eembed%2Dresponsive%20object%2C%2Eembed%2Dresponsive%20video%7Bposition%3Aabsolute%3Btop%3A0%3Bbottom%3A0%3Bleft%3A0%3Bwidth%3A100%25%3Bheight%3A100%25%3Bborder%3A0%7D%2Eembed%2Dresponsive%2D16by9%7Bpadding%2Dbottom%3A56%2E25%25%7D%2Eembed%2Dresponsive%2D4by3%7Bpadding%2Dbottom%3A75%25%7D%2Ewell%7Bmin%2Dheight%3A20px%3Bpadding%3A19px%3Bmargin%2Dbottom%3A20px%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%3A1px%20solid%20%23e3e3e3%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%7D%2Ewell%20blockquote%7Bborder%2Dcolor%3A%23ddd%3Bborder%2Dcolor%3Argba%280%2C0%2C0%2C%2E15%29%7D%2Ewell%2Dlg%7Bpadding%3A24px%3Bborder%2Dradius%3A6px%7D%2Ewell%2Dsm%7Bpadding%3A9px%3Bborder%2Dradius%3A3px%7D%2Eclose%7Bfloat%3Aright%3Bfont%2Dsize%3A21px%3Bfont%2Dweight%3A700%3Bline%2Dheight%3A1%3Bcolor%3A%23000%3Btext%2Dshadow%3A0%201px%200%20%23fff%3Bfilter%3Aalpha%28opacity%3D20%29%3Bopacity%3A%2E2%7D%2Eclose%3Afocus%2C%2Eclose%3Ahover%7Bcolor%3A%23000%3Btext%2Ddecoration%3Anone%3Bcursor%3Apointer%3Bfilter%3Aalpha%28opacity%3D50%29%3Bopacity%3A%2E5%7Dbutton%2Eclose%7B%2Dwebkit%2Dappearance%3Anone%3Bpadding%3A0%3Bcursor%3Apointer%3Bbackground%3A0%200%3Bborder%3A0%7D%2Emodal%2Dopen%7Boverflow%3Ahidden%7D%2Emodal%7Bposition%3Afixed%3Btop%3A0%3Bright%3A0%3Bbottom%3A0%3Bleft%3A0%3Bz%2Dindex%3A1050%3Bdisplay%3Anone%3Boverflow%3Ahidden%3B%2Dwebkit%2Doverflow%2Dscrolling%3Atouch%3Boutline%3A0%7D%2Emodal%2Efade%20%2Emodal%2Ddialog%7B%2Dwebkit%2Dtransition%3A%2Dwebkit%2Dtransform%20%2E3s%20ease%2Dout%3B%2Do%2Dtransition%3A%2Do%2Dtransform%20%2E3s%20ease%2Dout%3Btransition%3Atransform%20%2E3s%20ease%2Dout%3B%2Dwebkit%2Dtransform%3Atranslate%280%2C%2D25%25%29%3B%2Dms%2Dtransform%3Atranslate%280%2C%2D25%25%29%3B%2Do%2Dtransform%3Atranslate%280%2C%2D25%25%29%3Btransform%3Atranslate%280%2C%2D25%25%29%7D%2Emodal%2Ein%20%2Emodal%2Ddialog%7B%2Dwebkit%2Dtransform%3Atranslate%280%2C0%29%3B%2Dms%2Dtransform%3Atranslate%280%2C0%29%3B%2Do%2Dtransform%3Atranslate%280%2C0%29%3Btransform%3Atranslate%280%2C0%29%7D%2Emodal%2Dopen%20%2Emodal%7Boverflow%2Dx%3Ahidden%3Boverflow%2Dy%3Aauto%7D%2Emodal%2Ddialog%7Bposition%3Arelative%3Bwidth%3Aauto%3Bmargin%3A10px%7D%2Emodal%2Dcontent%7Bposition%3Arelative%3Bbackground%2Dcolor%3A%23fff%3B%2Dwebkit%2Dbackground%2Dclip%3Apadding%2Dbox%3Bbackground%2Dclip%3Apadding%2Dbox%3Bborder%3A1px%20solid%20%23999%3Bborder%3A1px%20solid%20rgba%280%2C0%2C0%2C%2E2%29%3Bborder%2Dradius%3A6px%3Boutline%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3A0%203px%209px%20rgba%280%2C0%2C0%2C%2E5%29%3Bbox%2Dshadow%3A0%203px%209px%20rgba%280%2C0%2C0%2C%2E5%29%7D%2Emodal%2Dbackdrop%7Bposition%3Afixed%3Btop%3A0%3Bright%3A0%3Bbottom%3A0%3Bleft%3A0%3Bz%2Dindex%3A1040%3Bbackground%2Dcolor%3A%23000%7D%2Emodal%2Dbackdrop%2Efade%7Bfilter%3Aalpha%28opacity%3D0%29%3Bopacity%3A0%7D%2Emodal%2Dbackdrop%2Ein%7Bfilter%3Aalpha%28opacity%3D50%29%3Bopacity%3A%2E5%7D%2Emodal%2Dheader%7Bmin%2Dheight%3A16%2E43px%3Bpadding%3A15px%3Bborder%2Dbottom%3A1px%20solid%20%23e5e5e5%7D%2Emodal%2Dheader%20%2Eclose%7Bmargin%2Dtop%3A%2D2px%7D%2Emodal%2Dtitle%7Bmargin%3A0%3Bline%2Dheight%3A1%2E42857143%7D%2Emodal%2Dbody%7Bposition%3Arelative%3Bpadding%3A15px%7D%2Emodal%2Dfooter%7Bpadding%3A15px%3Btext%2Dalign%3Aright%3Bborder%2Dtop%3A1px%20solid%20%23e5e5e5%7D%2Emodal%2Dfooter%20%2Ebtn%2B%2Ebtn%7Bmargin%2Dbottom%3A0%3Bmargin%2Dleft%3A5px%7D%2Emodal%2Dfooter%20%2Ebtn%2Dgroup%20%2Ebtn%2B%2Ebtn%7Bmargin%2Dleft%3A%2D1px%7D%2Emodal%2Dfooter%20%2Ebtn%2Dblock%2B%2Ebtn%2Dblock%7Bmargin%2Dleft%3A0%7D%2Emodal%2Dscrollbar%2Dmeasure%7Bposition%3Aabsolute%3Btop%3A%2D9999px%3Bwidth%3A50px%3Bheight%3A50px%3Boverflow%3Ascroll%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Emodal%2Ddialog%7Bwidth%3A600px%3Bmargin%3A30px%20auto%7D%2Emodal%2Dcontent%7B%2Dwebkit%2Dbox%2Dshadow%3A0%205px%2015px%20rgba%280%2C0%2C0%2C%2E5%29%3Bbox%2Dshadow%3A0%205px%2015px%20rgba%280%2C0%2C0%2C%2E5%29%7D%2Emodal%2Dsm%7Bwidth%3A300px%7D%7D%40media%20%28min%2Dwidth%3A992px%29%7B%2Emodal%2Dlg%7Bwidth%3A900px%7D%7D%2Etooltip%7Bposition%3Aabsolute%3Bz%2Dindex%3A1070%3Bdisplay%3Ablock%3Bfont%2Dfamily%3A%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans%2Dserif%3Bfont%2Dsize%3A12px%3Bfont%2Dstyle%3Anormal%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Btext%2Dalign%3Aleft%3Btext%2Dalign%3Astart%3Btext%2Ddecoration%3Anone%3Btext%2Dshadow%3Anone%3Btext%2Dtransform%3Anone%3Bletter%2Dspacing%3Anormal%3Bword%2Dbreak%3Anormal%3Bword%2Dspacing%3Anormal%3Bword%2Dwrap%3Anormal%3Bwhite%2Dspace%3Anormal%3Bfilter%3Aalpha%28opacity%3D0%29%3Bopacity%3A0%3Bline%2Dbreak%3Aauto%7D%2Etooltip%2Ein%7Bfilter%3Aalpha%28opacity%3D90%29%3Bopacity%3A%2E9%7D%2Etooltip%2Etop%7Bpadding%3A5px%200%3Bmargin%2Dtop%3A%2D3px%7D%2Etooltip%2Eright%7Bpadding%3A0%205px%3Bmargin%2Dleft%3A3px%7D%2Etooltip%2Ebottom%7Bpadding%3A5px%200%3Bmargin%2Dtop%3A3px%7D%2Etooltip%2Eleft%7Bpadding%3A0%205px%3Bmargin%2Dleft%3A%2D3px%7D%2Etooltip%2Dinner%7Bmax%2Dwidth%3A200px%3Bpadding%3A3px%208px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bbackground%2Dcolor%3A%23000%3Bborder%2Dradius%3A4px%7D%2Etooltip%2Darrow%7Bposition%3Aabsolute%3Bwidth%3A0%3Bheight%3A0%3Bborder%2Dcolor%3Atransparent%3Bborder%2Dstyle%3Asolid%7D%2Etooltip%2Etop%20%2Etooltip%2Darrow%7Bbottom%3A0%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dtop%2Dcolor%3A%23000%7D%2Etooltip%2Etop%2Dleft%20%2Etooltip%2Darrow%7Bright%3A5px%3Bbottom%3A0%3Bmargin%2Dbottom%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dtop%2Dcolor%3A%23000%7D%2Etooltip%2Etop%2Dright%20%2Etooltip%2Darrow%7Bbottom%3A0%3Bleft%3A5px%3Bmargin%2Dbottom%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dtop%2Dcolor%3A%23000%7D%2Etooltip%2Eright%20%2Etooltip%2Darrow%7Btop%3A50%25%3Bleft%3A0%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%205px%200%3Bborder%2Dright%2Dcolor%3A%23000%7D%2Etooltip%2Eleft%20%2Etooltip%2Darrow%7Btop%3A50%25%3Bright%3A0%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A5px%200%205px%205px%3Bborder%2Dleft%2Dcolor%3A%23000%7D%2Etooltip%2Ebottom%20%2Etooltip%2Darrow%7Btop%3A0%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D5px%3Bborder%2Dwidth%3A0%205px%205px%3Bborder%2Dbottom%2Dcolor%3A%23000%7D%2Etooltip%2Ebottom%2Dleft%20%2Etooltip%2Darrow%7Btop%3A0%3Bright%3A5px%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A0%205px%205px%3Bborder%2Dbottom%2Dcolor%3A%23000%7D%2Etooltip%2Ebottom%2Dright%20%2Etooltip%2Darrow%7Btop%3A0%3Bleft%3A5px%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A0%205px%205px%3Bborder%2Dbottom%2Dcolor%3A%23000%7D%2Epopover%7Bposition%3Aabsolute%3Btop%3A0%3Bleft%3A0%3Bz%2Dindex%3A1060%3Bdisplay%3Anone%3Bmax%2Dwidth%3A276px%3Bpadding%3A1px%3Bfont%2Dfamily%3A%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans%2Dserif%3Bfont%2Dsize%3A14px%3Bfont%2Dstyle%3Anormal%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Btext%2Dalign%3Aleft%3Btext%2Dalign%3Astart%3Btext%2Ddecoration%3Anone%3Btext%2Dshadow%3Anone%3Btext%2Dtransform%3Anone%3Bletter%2Dspacing%3Anormal%3Bword%2Dbreak%3Anormal%3Bword%2Dspacing%3Anormal%3Bword%2Dwrap%3Anormal%3Bwhite%2Dspace%3Anormal%3Bbackground%2Dcolor%3A%23fff%3B%2Dwebkit%2Dbackground%2Dclip%3Apadding%2Dbox%3Bbackground%2Dclip%3Apadding%2Dbox%3Bborder%3A1px%20solid%20%23ccc%3Bborder%3A1px%20solid%20rgba%280%2C0%2C0%2C%2E2%29%3Bborder%2Dradius%3A6px%3B%2Dwebkit%2Dbox%2Dshadow%3A0%205px%2010px%20rgba%280%2C0%2C0%2C%2E2%29%3Bbox%2Dshadow%3A0%205px%2010px%20rgba%280%2C0%2C0%2C%2E2%29%3Bline%2Dbreak%3Aauto%7D%2Epopover%2Etop%7Bmargin%2Dtop%3A%2D10px%7D%2Epopover%2Eright%7Bmargin%2Dleft%3A10px%7D%2Epopover%2Ebottom%7Bmargin%2Dtop%3A10px%7D%2Epopover%2Eleft%7Bmargin%2Dleft%3A%2D10px%7D%2Epopover%2Dtitle%7Bpadding%3A8px%2014px%3Bmargin%3A0%3Bfont%2Dsize%3A14px%3Bbackground%2Dcolor%3A%23f7f7f7%3Bborder%2Dbottom%3A1px%20solid%20%23ebebeb%3Bborder%2Dradius%3A5px%205px%200%200%7D%2Epopover%2Dcontent%7Bpadding%3A9px%2014px%7D%2Epopover%3E%2Earrow%2C%2Epopover%3E%2Earrow%3Aafter%7Bposition%3Aabsolute%3Bdisplay%3Ablock%3Bwidth%3A0%3Bheight%3A0%3Bborder%2Dcolor%3Atransparent%3Bborder%2Dstyle%3Asolid%7D%2Epopover%3E%2Earrow%7Bborder%2Dwidth%3A11px%7D%2Epopover%3E%2Earrow%3Aafter%7Bcontent%3A%22%22%3Bborder%2Dwidth%3A10px%7D%2Epopover%2Etop%3E%2Earrow%7Bbottom%3A%2D11px%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D11px%3Bborder%2Dtop%2Dcolor%3A%23999%3Bborder%2Dtop%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%3Bborder%2Dbottom%2Dwidth%3A0%7D%2Epopover%2Etop%3E%2Earrow%3Aafter%7Bbottom%3A1px%3Bmargin%2Dleft%3A%2D10px%3Bcontent%3A%22%20%22%3Bborder%2Dtop%2Dcolor%3A%23fff%3Bborder%2Dbottom%2Dwidth%3A0%7D%2Epopover%2Eright%3E%2Earrow%7Btop%3A50%25%3Bleft%3A%2D11px%3Bmargin%2Dtop%3A%2D11px%3Bborder%2Dright%2Dcolor%3A%23999%3Bborder%2Dright%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%3Bborder%2Dleft%2Dwidth%3A0%7D%2Epopover%2Eright%3E%2Earrow%3Aafter%7Bbottom%3A%2D10px%3Bleft%3A1px%3Bcontent%3A%22%20%22%3Bborder%2Dright%2Dcolor%3A%23fff%3Bborder%2Dleft%2Dwidth%3A0%7D%2Epopover%2Ebottom%3E%2Earrow%7Btop%3A%2D11px%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D11px%3Bborder%2Dtop%2Dwidth%3A0%3Bborder%2Dbottom%2Dcolor%3A%23999%3Bborder%2Dbottom%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%7D%2Epopover%2Ebottom%3E%2Earrow%3Aafter%7Btop%3A1px%3Bmargin%2Dleft%3A%2D10px%3Bcontent%3A%22%20%22%3Bborder%2Dtop%2Dwidth%3A0%3Bborder%2Dbottom%2Dcolor%3A%23fff%7D%2Epopover%2Eleft%3E%2Earrow%7Btop%3A50%25%3Bright%3A%2D11px%3Bmargin%2Dtop%3A%2D11px%3Bborder%2Dright%2Dwidth%3A0%3Bborder%2Dleft%2Dcolor%3A%23999%3Bborder%2Dleft%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%7D%2Epopover%2Eleft%3E%2Earrow%3Aafter%7Bright%3A1px%3Bbottom%3A%2D10px%3Bcontent%3A%22%20%22%3Bborder%2Dright%2Dwidth%3A0%3Bborder%2Dleft%2Dcolor%3A%23fff%7D%2Ecarousel%7Bposition%3Arelative%7D%2Ecarousel%2Dinner%7Bposition%3Arelative%3Bwidth%3A100%25%3Boverflow%3Ahidden%7D%2Ecarousel%2Dinner%3E%2Eitem%7Bposition%3Arelative%3Bdisplay%3Anone%3B%2Dwebkit%2Dtransition%3A%2E6s%20ease%2Din%2Dout%20left%3B%2Do%2Dtransition%3A%2E6s%20ease%2Din%2Dout%20left%3Btransition%3A%2E6s%20ease%2Din%2Dout%20left%7D%2Ecarousel%2Dinner%3E%2Eitem%3Ea%3Eimg%2C%2Ecarousel%2Dinner%3E%2Eitem%3Eimg%7Bline%2Dheight%3A1%7D%40media%20all%20and%20%28transform%2D3d%29%2C%28%2Dwebkit%2Dtransform%2D3d%29%7B%2Ecarousel%2Dinner%3E%2Eitem%7B%2Dwebkit%2Dtransition%3A%2Dwebkit%2Dtransform%20%2E6s%20ease%2Din%2Dout%3B%2Do%2Dtransition%3A%2Do%2Dtransform%20%2E6s%20ease%2Din%2Dout%3Btransition%3Atransform%20%2E6s%20ease%2Din%2Dout%3B%2Dwebkit%2Dbackface%2Dvisibility%3Ahidden%3Bbackface%2Dvisibility%3Ahidden%3B%2Dwebkit%2Dperspective%3A1000px%3Bperspective%3A1000px%7D%2Ecarousel%2Dinner%3E%2Eitem%2Eactive%2Eright%2C%2Ecarousel%2Dinner%3E%2Eitem%2Enext%7Bleft%3A0%3B%2Dwebkit%2Dtransform%3Atranslate3d%28100%25%2C0%2C0%29%3Btransform%3Atranslate3d%28100%25%2C0%2C0%29%7D%2Ecarousel%2Dinner%3E%2Eitem%2Eactive%2Eleft%2C%2Ecarousel%2Dinner%3E%2Eitem%2Eprev%7Bleft%3A0%3B%2Dwebkit%2Dtransform%3Atranslate3d%28%2D100%25%2C0%2C0%29%3Btransform%3Atranslate3d%28%2D100%25%2C0%2C0%29%7D%2Ecarousel%2Dinner%3E%2Eitem%2Eactive%2C%2Ecarousel%2Dinner%3E%2Eitem%2Enext%2Eleft%2C%2Ecarousel%2Dinner%3E%2Eitem%2Eprev%2Eright%7Bleft%3A0%3B%2Dwebkit%2Dtransform%3Atranslate3d%280%2C0%2C0%29%3Btransform%3Atranslate3d%280%2C0%2C0%29%7D%7D%2Ecarousel%2Dinner%3E%2Eactive%2C%2Ecarousel%2Dinner%3E%2Enext%2C%2Ecarousel%2Dinner%3E%2Eprev%7Bdisplay%3Ablock%7D%2Ecarousel%2Dinner%3E%2Eactive%7Bleft%3A0%7D%2Ecarousel%2Dinner%3E%2Enext%2C%2Ecarousel%2Dinner%3E%2Eprev%7Bposition%3Aabsolute%3Btop%3A0%3Bwidth%3A100%25%7D%2Ecarousel%2Dinner%3E%2Enext%7Bleft%3A100%25%7D%2Ecarousel%2Dinner%3E%2Eprev%7Bleft%3A%2D100%25%7D%2Ecarousel%2Dinner%3E%2Enext%2Eleft%2C%2Ecarousel%2Dinner%3E%2Eprev%2Eright%7Bleft%3A0%7D%2Ecarousel%2Dinner%3E%2Eactive%2Eleft%7Bleft%3A%2D100%25%7D%2Ecarousel%2Dinner%3E%2Eactive%2Eright%7Bleft%3A100%25%7D%2Ecarousel%2Dcontrol%7Bposition%3Aabsolute%3Btop%3A0%3Bbottom%3A0%3Bleft%3A0%3Bwidth%3A15%25%3Bfont%2Dsize%3A20px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Btext%2Dshadow%3A0%201px%202px%20rgba%280%2C0%2C0%2C%2E6%29%3Bfilter%3Aalpha%28opacity%3D50%29%3Bopacity%3A%2E5%7D%2Ecarousel%2Dcontrol%2Eleft%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E5%29%200%2Crgba%280%2C0%2C0%2C%2E0001%29%20100%25%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E5%29%200%2Crgba%280%2C0%2C0%2C%2E0001%29%20100%25%29%3Bbackground%2Dimage%3A%2Dwebkit%2Dgradient%28linear%2Cleft%20top%2Cright%20top%2Cfrom%28rgba%280%2C0%2C0%2C%2E5%29%29%2Cto%28rgba%280%2C0%2C0%2C%2E0001%29%29%29%3Bbackground%2Dimage%3Alinear%2Dgradient%28to%20right%2Crgba%280%2C0%2C0%2C%2E5%29%200%2Crgba%280%2C0%2C0%2C%2E0001%29%20100%25%29%3Bfilter%3Aprogid%3ADXImageTransform%2EMicrosoft%2Egradient%28startColorstr%3D%27%2380000000%27%2C%20endColorstr%3D%27%2300000000%27%2C%20GradientType%3D1%29%3Bbackground%2Drepeat%3Arepeat%2Dx%7D%2Ecarousel%2Dcontrol%2Eright%7Bright%3A0%3Bleft%3Aauto%3Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E0001%29%200%2Crgba%280%2C0%2C0%2C%2E5%29%20100%25%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E0001%29%200%2Crgba%280%2C0%2C0%2C%2E5%29%20100%25%29%3Bbackground%2Dimage%3A%2Dwebkit%2Dgradient%28linear%2Cleft%20top%2Cright%20top%2Cfrom%28rgba%280%2C0%2C0%2C%2E0001%29%29%2Cto%28rgba%280%2C0%2C0%2C%2E5%29%29%29%3Bbackground%2Dimage%3Alinear%2Dgradient%28to%20right%2Crgba%280%2C0%2C0%2C%2E0001%29%200%2Crgba%280%2C0%2C0%2C%2E5%29%20100%25%29%3Bfilter%3Aprogid%3ADXImageTransform%2EMicrosoft%2Egradient%28startColorstr%3D%27%2300000000%27%2C%20endColorstr%3D%27%2380000000%27%2C%20GradientType%3D1%29%3Bbackground%2Drepeat%3Arepeat%2Dx%7D%2Ecarousel%2Dcontrol%3Afocus%2C%2Ecarousel%2Dcontrol%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bfilter%3Aalpha%28opacity%3D90%29%3Boutline%3A0%3Bopacity%3A%2E9%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bposition%3Aabsolute%3Btop%3A50%25%3Bz%2Dindex%3A5%3Bdisplay%3Ainline%2Dblock%3Bmargin%2Dtop%3A%2D10px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bleft%3A50%25%3Bmargin%2Dleft%3A%2D10px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%7Bright%3A50%25%3Bmargin%2Dright%3A%2D10px%7D%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bwidth%3A20px%3Bheight%3A20px%3Bfont%2Dfamily%3Aserif%3Bline%2Dheight%3A1%7D%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%3Abefore%7Bcontent%3A%27%5C2039%27%7D%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%3Abefore%7Bcontent%3A%27%5C203a%27%7D%2Ecarousel%2Dindicators%7Bposition%3Aabsolute%3Bbottom%3A10px%3Bleft%3A50%25%3Bz%2Dindex%3A15%3Bwidth%3A60%25%3Bpadding%2Dleft%3A0%3Bmargin%2Dleft%3A%2D30%25%3Btext%2Dalign%3Acenter%3Blist%2Dstyle%3Anone%7D%2Ecarousel%2Dindicators%20li%7Bdisplay%3Ainline%2Dblock%3Bwidth%3A10px%3Bheight%3A10px%3Bmargin%3A1px%3Btext%2Dindent%3A%2D999px%3Bcursor%3Apointer%3Bbackground%2Dcolor%3A%23000%5C9%3Bbackground%2Dcolor%3Argba%280%2C0%2C0%2C0%29%3Bborder%3A1px%20solid%20%23fff%3Bborder%2Dradius%3A10px%7D%2Ecarousel%2Dindicators%20%2Eactive%7Bwidth%3A12px%3Bheight%3A12px%3Bmargin%3A0%3Bbackground%2Dcolor%3A%23fff%7D%2Ecarousel%2Dcaption%7Bposition%3Aabsolute%3Bright%3A15%25%3Bbottom%3A20px%3Bleft%3A15%25%3Bz%2Dindex%3A10%3Bpadding%2Dtop%3A20px%3Bpadding%2Dbottom%3A20px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Btext%2Dshadow%3A0%201px%202px%20rgba%280%2C0%2C0%2C%2E6%29%7D%2Ecarousel%2Dcaption%20%2Ebtn%7Btext%2Dshadow%3Anone%7D%40media%20screen%20and%20%28min%2Dwidth%3A768px%29%7B%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bwidth%3A30px%3Bheight%3A30px%3Bmargin%2Dtop%3A%2D15px%3Bfont%2Dsize%3A30px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bmargin%2Dleft%3A%2D15px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%7Bmargin%2Dright%3A%2D15px%7D%2Ecarousel%2Dcaption%7Bright%3A20%25%3Bleft%3A20%25%3Bpadding%2Dbottom%3A30px%7D%2Ecarousel%2Dindicators%7Bbottom%3A20px%7D%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Aafter%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Abefore%2C%2Ebtn%2Dtoolbar%3Aafter%2C%2Ebtn%2Dtoolbar%3Abefore%2C%2Eclearfix%3Aafter%2C%2Eclearfix%3Abefore%2C%2Econtainer%2Dfluid%3Aafter%2C%2Econtainer%2Dfluid%3Abefore%2C%2Econtainer%3Aafter%2C%2Econtainer%3Abefore%2C%2Edl%2Dhorizontal%20dd%3Aafter%2C%2Edl%2Dhorizontal%20dd%3Abefore%2C%2Eform%2Dhorizontal%20%2Eform%2Dgroup%3Aafter%2C%2Eform%2Dhorizontal%20%2Eform%2Dgroup%3Abefore%2C%2Emodal%2Dfooter%3Aafter%2C%2Emodal%2Dfooter%3Abefore%2C%2Enav%3Aafter%2C%2Enav%3Abefore%2C%2Enavbar%2Dcollapse%3Aafter%2C%2Enavbar%2Dcollapse%3Abefore%2C%2Enavbar%2Dheader%3Aafter%2C%2Enavbar%2Dheader%3Abefore%2C%2Enavbar%3Aafter%2C%2Enavbar%3Abefore%2C%2Epager%3Aafter%2C%2Epager%3Abefore%2C%2Epanel%2Dbody%3Aafter%2C%2Epanel%2Dbody%3Abefore%2C%2Erow%3Aafter%2C%2Erow%3Abefore%7Bdisplay%3Atable%3Bcontent%3A%22%20%22%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Aafter%2C%2Ebtn%2Dtoolbar%3Aafter%2C%2Eclearfix%3Aafter%2C%2Econtainer%2Dfluid%3Aafter%2C%2Econtainer%3Aafter%2C%2Edl%2Dhorizontal%20dd%3Aafter%2C%2Eform%2Dhorizontal%20%2Eform%2Dgroup%3Aafter%2C%2Emodal%2Dfooter%3Aafter%2C%2Enav%3Aafter%2C%2Enavbar%2Dcollapse%3Aafter%2C%2Enavbar%2Dheader%3Aafter%2C%2Enavbar%3Aafter%2C%2Epager%3Aafter%2C%2Epanel%2Dbody%3Aafter%2C%2Erow%3Aafter%7Bclear%3Aboth%7D%2Ecenter%2Dblock%7Bdisplay%3Ablock%3Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7D%2Epull%2Dright%7Bfloat%3Aright%21important%7D%2Epull%2Dleft%7Bfloat%3Aleft%21important%7D%2Ehide%7Bdisplay%3Anone%21important%7D%2Eshow%7Bdisplay%3Ablock%21important%7D%2Einvisible%7Bvisibility%3Ahidden%7D%2Etext%2Dhide%7Bfont%3A0%2F0%20a%3Bcolor%3Atransparent%3Btext%2Dshadow%3Anone%3Bbackground%2Dcolor%3Atransparent%3Bborder%3A0%7D%2Ehidden%7Bdisplay%3Anone%21important%7D%2Eaffix%7Bposition%3Afixed%7D%40%2Dms%2Dviewport%7Bwidth%3Adevice%2Dwidth%7D%2Evisible%2Dlg%2C%2Evisible%2Dmd%2C%2Evisible%2Dsm%2C%2Evisible%2Dxs%7Bdisplay%3Anone%21important%7D%2Evisible%2Dlg%2Dblock%2C%2Evisible%2Dlg%2Dinline%2C%2Evisible%2Dlg%2Dinline%2Dblock%2C%2Evisible%2Dmd%2Dblock%2C%2Evisible%2Dmd%2Dinline%2C%2Evisible%2Dmd%2Dinline%2Dblock%2C%2Evisible%2Dsm%2Dblock%2C%2Evisible%2Dsm%2Dinline%2C%2Evisible%2Dsm%2Dinline%2Dblock%2C%2Evisible%2Dxs%2Dblock%2C%2Evisible%2Dxs%2Dinline%2C%2Evisible%2Dxs%2Dinline%2Dblock%7Bdisplay%3Anone%21important%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dxs%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dxs%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dxs%2Cth%2Evisible%2Dxs%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dsm%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dsm%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dsm%2Cth%2Evisible%2Dsm%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dmd%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dmd%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dmd%2Cth%2Evisible%2Dmd%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dlg%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dlg%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dlg%2Cth%2Evisible%2Dlg%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Ehidden%2Dxs%7Bdisplay%3Anone%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Ehidden%2Dsm%7Bdisplay%3Anone%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Ehidden%2Dmd%7Bdisplay%3Anone%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Ehidden%2Dlg%7Bdisplay%3Anone%21important%7D%7D%2Evisible%2Dprint%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dprint%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dprint%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dprint%2Cth%2Evisible%2Dprint%7Bdisplay%3Atable%2Dcell%21important%7D%7D%2Evisible%2Dprint%2Dblock%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%2Evisible%2Dprint%2Dinline%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%2Evisible%2Dprint%2Dinline%2Dblock%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20print%7B%2Ehidden%2Dprint%7Bdisplay%3Anone%21important%7D%7D%0A&quot; rel=&quot;stylesheet&quot; /&gt;
&lt;script src=&quot;data:application/javascript;base64,LyohCiAqIEJvb3RzdHJhcCB2My4zLjUgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKQogKiBDb3B5cmlnaHQgMjAxMS0yMDE1IFR3aXR0ZXIsIEluYy4KICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiAqLwppZigidW5kZWZpbmVkIj09dHlwZW9mIGpRdWVyeSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5Iik7K2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgYj1hLmZuLmpxdWVyeS5zcGxpdCgiICIpWzBdLnNwbGl0KCIuIik7aWYoYlswXTwyJiZiWzFdPDl8fDE9PWJbMF0mJjk9PWJbMV0mJmJbMl08MSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5IHZlcnNpb24gMS45LjEgb3IgaGlnaGVyIil9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9vdHN0cmFwIiksYj17V2Via2l0VHJhbnNpdGlvbjoid2Via2l0VHJhbnNpdGlvbkVuZCIsTW96VHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCIsT1RyYW5zaXRpb246Im9UcmFuc2l0aW9uRW5kIG90cmFuc2l0aW9uZW5kIix0cmFuc2l0aW9uOiJ0cmFuc2l0aW9uZW5kIn07Zm9yKHZhciBjIGluIGIpaWYodm9pZCAwIT09YS5zdHlsZVtjXSlyZXR1cm57ZW5kOmJbY119O3JldHVybiExfWEuZm4uZW11bGF0ZVRyYW5zaXRpb25FbmQ9ZnVuY3Rpb24oYil7dmFyIGM9ITEsZD10aGlzO2EodGhpcykub25lKCJic1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7Yz0hMH0pO3ZhciBlPWZ1bmN0aW9uKCl7Y3x8YShkKS50cmlnZ2VyKGEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCl9O3JldHVybiBzZXRUaW1lb3V0KGUsYiksdGhpc30sYShmdW5jdGlvbigpe2Euc3VwcG9ydC50cmFuc2l0aW9uPWIoKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmKGEuZXZlbnQuc3BlY2lhbC5ic1RyYW5zaXRpb25FbmQ9e2JpbmRUeXBlOmEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxkZWxlZ2F0ZVR5cGU6YS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLGhhbmRsZTpmdW5jdGlvbihiKXtyZXR1cm4gYShiLnRhcmdldCkuaXModGhpcyk/Yi5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfX0pfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLGU9Yy5kYXRhKCJicy5hbGVydCIpO2V8fGMuZGF0YSgiYnMuYWxlcnQiLGU9bmV3IGQodGhpcykpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXS5jYWxsKGMpfSl9dmFyIGM9J1tkYXRhLWRpc21pc3M9ImFsZXJ0Il0nLGQ9ZnVuY3Rpb24oYil7YShiKS5vbigiY2xpY2siLGMsdGhpcy5jbG9zZSl9O2QuVkVSU0lPTj0iMy4zLjUiLGQuVFJBTlNJVElPTl9EVVJBVElPTj0xNTAsZC5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gYygpe2cuZGV0YWNoKCkudHJpZ2dlcigiY2xvc2VkLmJzLmFsZXJ0IikucmVtb3ZlKCl9dmFyIGU9YSh0aGlzKSxmPWUuYXR0cigiZGF0YS10YXJnZXQiKTtmfHwoZj1lLmF0dHIoImhyZWYiKSxmPWYmJmYucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSk7dmFyIGc9YShmKTtiJiZiLnByZXZlbnREZWZhdWx0KCksZy5sZW5ndGh8fChnPWUuY2xvc2VzdCgiLmFsZXJ0IikpLGcudHJpZ2dlcihiPWEuRXZlbnQoImNsb3NlLmJzLmFsZXJ0IikpLGIuaXNEZWZhdWx0UHJldmVudGVkKCl8fChnLnJlbW92ZUNsYXNzKCJpbiIpLGEuc3VwcG9ydC50cmFuc2l0aW9uJiZnLmhhc0NsYXNzKCJmYWRlIik/Zy5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYykuZW11bGF0ZVRyYW5zaXRpb25FbmQoZC5UUkFOU0lUSU9OX0RVUkFUSU9OKTpjKCkpfTt2YXIgZT1hLmZuLmFsZXJ0O2EuZm4uYWxlcnQ9YixhLmZuLmFsZXJ0LkNvbnN0cnVjdG9yPWQsYS5mbi5hbGVydC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYWxlcnQ9ZSx0aGlzfSxhKGRvY3VtZW50KS5vbigiY2xpY2suYnMuYWxlcnQuZGF0YS1hcGkiLGMsZC5wcm90b3R5cGUuY2xvc2UpfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMuYnV0dG9uIiksZj0ib2JqZWN0Ij09dHlwZW9mIGImJmI7ZXx8ZC5kYXRhKCJicy5idXR0b24iLGU9bmV3IGModGhpcyxmKSksInRvZ2dsZSI9PWI/ZS50b2dnbGUoKTpiJiZlLnNldFN0YXRlKGIpfSl9dmFyIGM9ZnVuY3Rpb24oYixkKXt0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZCksdGhpcy5pc0xvYWRpbmc9ITF9O2MuVkVSU0lPTj0iMy4zLjUiLGMuREVGQVVMVFM9e2xvYWRpbmdUZXh0OiJsb2FkaW5nLi4uIn0sYy5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oYil7dmFyIGM9ImRpc2FibGVkIixkPXRoaXMuJGVsZW1lbnQsZT1kLmlzKCJpbnB1dCIpPyJ2YWwiOiJodG1sIixmPWQuZGF0YSgpO2IrPSJUZXh0IixudWxsPT1mLnJlc2V0VGV4dCYmZC5kYXRhKCJyZXNldFRleHQiLGRbZV0oKSksc2V0VGltZW91dChhLnByb3h5KGZ1bmN0aW9uKCl7ZFtlXShudWxsPT1mW2JdP3RoaXMub3B0aW9uc1tiXTpmW2JdKSwibG9hZGluZ1RleHQiPT1iPyh0aGlzLmlzTG9hZGluZz0hMCxkLmFkZENsYXNzKGMpLmF0dHIoYyxjKSk6dGhpcy5pc0xvYWRpbmcmJih0aGlzLmlzTG9hZGluZz0hMSxkLnJlbW92ZUNsYXNzKGMpLnJlbW92ZUF0dHIoYykpfSx0aGlzKSwwKX0sYy5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKCl7dmFyIGE9ITAsYj10aGlzLiRlbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLXRvZ2dsZT0iYnV0dG9ucyJdJyk7aWYoYi5sZW5ndGgpe3ZhciBjPXRoaXMuJGVsZW1lbnQuZmluZCgiaW5wdXQiKTsicmFkaW8iPT1jLnByb3AoInR5cGUiKT8oYy5wcm9wKCJjaGVja2VkIikmJihhPSExKSxiLmZpbmQoIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksdGhpcy4kZWxlbWVudC5hZGRDbGFzcygiYWN0aXZlIikpOiJjaGVja2JveCI9PWMucHJvcCgidHlwZSIpJiYoYy5wcm9wKCJjaGVja2VkIikhPT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJhY3RpdmUiKSYmKGE9ITEpLHRoaXMuJGVsZW1lbnQudG9nZ2xlQ2xhc3MoImFjdGl2ZSIpKSxjLnByb3AoImNoZWNrZWQiLHRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImFjdGl2ZSIpKSxhJiZjLnRyaWdnZXIoImNoYW5nZSIpfWVsc2UgdGhpcy4kZWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLCF0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJhY3RpdmUiKSksdGhpcy4kZWxlbWVudC50b2dnbGVDbGFzcygiYWN0aXZlIil9O3ZhciBkPWEuZm4uYnV0dG9uO2EuZm4uYnV0dG9uPWIsYS5mbi5idXR0b24uQ29uc3RydWN0b3I9YyxhLmZuLmJ1dHRvbi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYnV0dG9uPWQsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLmJ1dHRvbi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZV49ImJ1dHRvbiJdJyxmdW5jdGlvbihjKXt2YXIgZD1hKGMudGFyZ2V0KTtkLmhhc0NsYXNzKCJidG4iKXx8KGQ9ZC5jbG9zZXN0KCIuYnRuIikpLGIuY2FsbChkLCJ0b2dnbGUiKSxhKGMudGFyZ2V0KS5pcygnaW5wdXRbdHlwZT0icmFkaW8iXScpfHxhKGMudGFyZ2V0KS5pcygnaW5wdXRbdHlwZT0iY2hlY2tib3giXScpfHxjLnByZXZlbnREZWZhdWx0KCl9KS5vbigiZm9jdXMuYnMuYnV0dG9uLmRhdGEtYXBpIGJsdXIuYnMuYnV0dG9uLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlXj0iYnV0dG9uIl0nLGZ1bmN0aW9uKGIpe2EoYi50YXJnZXQpLmNsb3Nlc3QoIi5idG4iKS50b2dnbGVDbGFzcygiZm9jdXMiLC9eZm9jdXMoaW4pPyQvLnRlc3QoYi50eXBlKSl9KX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLmNhcm91c2VsIiksZj1hLmV4dGVuZCh7fSxjLkRFRkFVTFRTLGQuZGF0YSgpLCJvYmplY3QiPT10eXBlb2YgYiYmYiksZz0ic3RyaW5nIj09dHlwZW9mIGI/YjpmLnNsaWRlO2V8fGQuZGF0YSgiYnMuY2Fyb3VzZWwiLGU9bmV3IGModGhpcyxmKSksIm51bWJlciI9PXR5cGVvZiBiP2UudG8oYik6Zz9lW2ddKCk6Zi5pbnRlcnZhbCYmZS5wYXVzZSgpLmN5Y2xlKCl9KX12YXIgYz1mdW5jdGlvbihiLGMpe3RoaXMuJGVsZW1lbnQ9YShiKSx0aGlzLiRpbmRpY2F0b3JzPXRoaXMuJGVsZW1lbnQuZmluZCgiLmNhcm91c2VsLWluZGljYXRvcnMiKSx0aGlzLm9wdGlvbnM9Yyx0aGlzLnBhdXNlZD1udWxsLHRoaXMuc2xpZGluZz1udWxsLHRoaXMuaW50ZXJ2YWw9bnVsbCx0aGlzLiRhY3RpdmU9bnVsbCx0aGlzLiRpdGVtcz1udWxsLHRoaXMub3B0aW9ucy5rZXlib2FyZCYmdGhpcy4kZWxlbWVudC5vbigia2V5ZG93bi5icy5jYXJvdXNlbCIsYS5wcm94eSh0aGlzLmtleWRvd24sdGhpcykpLCJob3ZlciI9PXRoaXMub3B0aW9ucy5wYXVzZSYmISgib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkmJnRoaXMuJGVsZW1lbnQub24oIm1vdXNlZW50ZXIuYnMuY2Fyb3VzZWwiLGEucHJveHkodGhpcy5wYXVzZSx0aGlzKSkub24oIm1vdXNlbGVhdmUuYnMuY2Fyb3VzZWwiLGEucHJveHkodGhpcy5jeWNsZSx0aGlzKSl9O2MuVkVSU0lPTj0iMy4zLjUiLGMuVFJBTlNJVElPTl9EVVJBVElPTj02MDAsYy5ERUZBVUxUUz17aW50ZXJ2YWw6NWUzLHBhdXNlOiJob3ZlciIsd3JhcDohMCxrZXlib2FyZDohMH0sYy5wcm90b3R5cGUua2V5ZG93bj1mdW5jdGlvbihhKXtpZighL2lucHV0fHRleHRhcmVhL2kudGVzdChhLnRhcmdldC50YWdOYW1lKSl7c3dpdGNoKGEud2hpY2gpe2Nhc2UgMzc6dGhpcy5wcmV2KCk7YnJlYWs7Y2FzZSAzOTp0aGlzLm5leHQoKTticmVhaztkZWZhdWx0OnJldHVybn1hLnByZXZlbnREZWZhdWx0KCl9fSxjLnByb3RvdHlwZS5jeWNsZT1mdW5jdGlvbihiKXtyZXR1cm4gYnx8KHRoaXMucGF1c2VkPSExKSx0aGlzLmludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpLHRoaXMub3B0aW9ucy5pbnRlcnZhbCYmIXRoaXMucGF1c2VkJiYodGhpcy5pbnRlcnZhbD1zZXRJbnRlcnZhbChhLnByb3h5KHRoaXMubmV4dCx0aGlzKSx0aGlzLm9wdGlvbnMuaW50ZXJ2YWwpKSx0aGlzfSxjLnByb3RvdHlwZS5nZXRJdGVtSW5kZXg9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuJGl0ZW1zPWEucGFyZW50KCkuY2hpbGRyZW4oIi5pdGVtIiksdGhpcy4kaXRlbXMuaW5kZXgoYXx8dGhpcy4kYWN0aXZlKX0sYy5wcm90b3R5cGUuZ2V0SXRlbUZvckRpcmVjdGlvbj1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuZ2V0SXRlbUluZGV4KGIpLGQ9InByZXYiPT1hJiYwPT09Y3x8Im5leHQiPT1hJiZjPT10aGlzLiRpdGVtcy5sZW5ndGgtMTtpZihkJiYhdGhpcy5vcHRpb25zLndyYXApcmV0dXJuIGI7dmFyIGU9InByZXYiPT1hPy0xOjEsZj0oYytlKSV0aGlzLiRpdGVtcy5sZW5ndGg7cmV0dXJuIHRoaXMuJGl0ZW1zLmVxKGYpfSxjLnByb3RvdHlwZS50bz1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9dGhpcy5nZXRJdGVtSW5kZXgodGhpcy4kYWN0aXZlPXRoaXMuJGVsZW1lbnQuZmluZCgiLml0ZW0uYWN0aXZlIikpO3JldHVybiBhPnRoaXMuJGl0ZW1zLmxlbmd0aC0xfHwwPmE/dm9pZCAwOnRoaXMuc2xpZGluZz90aGlzLiRlbGVtZW50Lm9uZSgic2xpZC5icy5jYXJvdXNlbCIsZnVuY3Rpb24oKXtiLnRvKGEpfSk6Yz09YT90aGlzLnBhdXNlKCkuY3ljbGUoKTp0aGlzLnNsaWRlKGE+Yz8ibmV4dCI6InByZXYiLHRoaXMuJGl0ZW1zLmVxKGEpKX0sYy5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oYil7cmV0dXJuIGJ8fCh0aGlzLnBhdXNlZD0hMCksdGhpcy4kZWxlbWVudC5maW5kKCIubmV4dCwgLnByZXYiKS5sZW5ndGgmJmEuc3VwcG9ydC50cmFuc2l0aW9uJiYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCksdGhpcy5jeWNsZSghMCkpLHRoaXMuaW50ZXJ2YWw9Y2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKSx0aGlzfSxjLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2xpZGluZz92b2lkIDA6dGhpcy5zbGlkZSgibmV4dCIpfSxjLnByb3RvdHlwZS5wcmV2PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2xpZGluZz92b2lkIDA6dGhpcy5zbGlkZSgicHJldiIpfSxjLnByb3RvdHlwZS5zbGlkZT1mdW5jdGlvbihiLGQpe3ZhciBlPXRoaXMuJGVsZW1lbnQuZmluZCgiLml0ZW0uYWN0aXZlIiksZj1kfHx0aGlzLmdldEl0ZW1Gb3JEaXJlY3Rpb24oYixlKSxnPXRoaXMuaW50ZXJ2YWwsaD0ibmV4dCI9PWI/ImxlZnQiOiJyaWdodCIsaT10aGlzO2lmKGYuaGFzQ2xhc3MoImFjdGl2ZSIpKXJldHVybiB0aGlzLnNsaWRpbmc9ITE7dmFyIGo9ZlswXSxrPWEuRXZlbnQoInNsaWRlLmJzLmNhcm91c2VsIix7cmVsYXRlZFRhcmdldDpqLGRpcmVjdGlvbjpofSk7aWYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGspLCFrLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtpZih0aGlzLnNsaWRpbmc9ITAsZyYmdGhpcy5wYXVzZSgpLHRoaXMuJGluZGljYXRvcnMubGVuZ3RoKXt0aGlzLiRpbmRpY2F0b3JzLmZpbmQoIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIik7dmFyIGw9YSh0aGlzLiRpbmRpY2F0b3JzLmNoaWxkcmVuKClbdGhpcy5nZXRJdGVtSW5kZXgoZildKTtsJiZsLmFkZENsYXNzKCJhY3RpdmUiKX12YXIgbT1hLkV2ZW50KCJzbGlkLmJzLmNhcm91c2VsIix7cmVsYXRlZFRhcmdldDpqLGRpcmVjdGlvbjpofSk7cmV0dXJuIGEuc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJzbGlkZSIpPyhmLmFkZENsYXNzKGIpLGZbMF0ub2Zmc2V0V2lkdGgsZS5hZGRDbGFzcyhoKSxmLmFkZENsYXNzKGgpLGUub25lKCJic1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7Zi5yZW1vdmVDbGFzcyhbYixoXS5qb2luKCIgIikpLmFkZENsYXNzKCJhY3RpdmUiKSxlLnJlbW92ZUNsYXNzKFsiYWN0aXZlIixoXS5qb2luKCIgIikpLGkuc2xpZGluZz0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS4kZWxlbWVudC50cmlnZ2VyKG0pfSwwKX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTikpOihlLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSxmLmFkZENsYXNzKCJhY3RpdmUiKSx0aGlzLnNsaWRpbmc9ITEsdGhpcy4kZWxlbWVudC50cmlnZ2VyKG0pKSxnJiZ0aGlzLmN5Y2xlKCksdGhpc319O3ZhciBkPWEuZm4uY2Fyb3VzZWw7YS5mbi5jYXJvdXNlbD1iLGEuZm4uY2Fyb3VzZWwuQ29uc3RydWN0b3I9YyxhLmZuLmNhcm91c2VsLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5jYXJvdXNlbD1kLHRoaXN9O3ZhciBlPWZ1bmN0aW9uKGMpe3ZhciBkLGU9YSh0aGlzKSxmPWEoZS5hdHRyKCJkYXRhLXRhcmdldCIpfHwoZD1lLmF0dHIoImhyZWYiKSkmJmQucmVwbGFjZSgvLiooPz0jW15cc10rJCkvLCIiKSk7aWYoZi5oYXNDbGFzcygiY2Fyb3VzZWwiKSl7dmFyIGc9YS5leHRlbmQoe30sZi5kYXRhKCksZS5kYXRhKCkpLGg9ZS5hdHRyKCJkYXRhLXNsaWRlLXRvIik7aCYmKGcuaW50ZXJ2YWw9ITEpLGIuY2FsbChmLGcpLGgmJmYuZGF0YSgiYnMuY2Fyb3VzZWwiKS50byhoKSxjLnByZXZlbnREZWZhdWx0KCl9fTthKGRvY3VtZW50KS5vbigiY2xpY2suYnMuY2Fyb3VzZWwuZGF0YS1hcGkiLCJbZGF0YS1zbGlkZV0iLGUpLm9uKCJjbGljay5icy5jYXJvdXNlbC5kYXRhLWFwaSIsIltkYXRhLXNsaWRlLXRvXSIsZSksYSh3aW5kb3cpLm9uKCJsb2FkIixmdW5jdGlvbigpe2EoJ1tkYXRhLXJpZGU9ImNhcm91c2VsIl0nKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKTtiLmNhbGwoYyxjLmRhdGEoKSl9KX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXt2YXIgYyxkPWIuYXR0cigiZGF0YS10YXJnZXQiKXx8KGM9Yi5hdHRyKCJocmVmIikpJiZjLnJlcGxhY2UoLy4qKD89I1teXHNdKyQpLywiIik7cmV0dXJuIGEoZCl9ZnVuY3Rpb24gYyhiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKSxlPWMuZGF0YSgiYnMuY29sbGFwc2UiKSxmPWEuZXh0ZW5kKHt9LGQuREVGQVVMVFMsYy5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBiJiZiKTshZSYmZi50b2dnbGUmJi9zaG93fGhpZGUvLnRlc3QoYikmJihmLnRvZ2dsZT0hMSksZXx8Yy5kYXRhKCJicy5jb2xsYXBzZSIsZT1uZXcgZCh0aGlzLGYpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0oKX0pfXZhciBkPWZ1bmN0aW9uKGIsYyl7dGhpcy4kZWxlbWVudD1hKGIpLHRoaXMub3B0aW9ucz1hLmV4dGVuZCh7fSxkLkRFRkFVTFRTLGMpLHRoaXMuJHRyaWdnZXI9YSgnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2hyZWY9IiMnK2IuaWQrJyJdLFtkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXRhcmdldD0iIycrYi5pZCsnIl0nKSx0aGlzLnRyYW5zaXRpb25pbmc9bnVsbCx0aGlzLm9wdGlvbnMucGFyZW50P3RoaXMuJHBhcmVudD10aGlzLmdldFBhcmVudCgpOnRoaXMuYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKHRoaXMuJGVsZW1lbnQsdGhpcy4kdHJpZ2dlciksdGhpcy5vcHRpb25zLnRvZ2dsZSYmdGhpcy50b2dnbGUoKX07ZC5WRVJTSU9OPSIzLjMuNSIsZC5UUkFOU0lUSU9OX0RVUkFUSU9OPTM1MCxkLkRFRkFVTFRTPXt0b2dnbGU6ITB9LGQucHJvdG90eXBlLmRpbWVuc2lvbj1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoIndpZHRoIik7cmV0dXJuIGE/IndpZHRoIjoiaGVpZ2h0In0sZC5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe2lmKCF0aGlzLnRyYW5zaXRpb25pbmcmJiF0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJpbiIpKXt2YXIgYixlPXRoaXMuJHBhcmVudCYmdGhpcy4kcGFyZW50LmNoaWxkcmVuKCIucGFuZWwiKS5jaGlsZHJlbigiLmluLCAuY29sbGFwc2luZyIpO2lmKCEoZSYmZS5sZW5ndGgmJihiPWUuZGF0YSgiYnMuY29sbGFwc2UiKSxiJiZiLnRyYW5zaXRpb25pbmcpKSl7dmFyIGY9YS5FdmVudCgic2hvdy5icy5jb2xsYXBzZSIpO2lmKHRoaXMuJGVsZW1lbnQudHJpZ2dlcihmKSwhZi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7ZSYmZS5sZW5ndGgmJihjLmNhbGwoZSwiaGlkZSIpLGJ8fGUuZGF0YSgiYnMuY29sbGFwc2UiLG51bGwpKTt2YXIgZz10aGlzLmRpbWVuc2lvbigpO3RoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImNvbGxhcHNlIikuYWRkQ2xhc3MoImNvbGxhcHNpbmciKVtnXSgwKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksdGhpcy4kdHJpZ2dlci5yZW1vdmVDbGFzcygiY29sbGFwc2VkIikuYXR0cigiYXJpYS1leHBhbmRlZCIsITApLHRoaXMudHJhbnNpdGlvbmluZz0xO3ZhciBoPWZ1bmN0aW9uKCl7dGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiY29sbGFwc2luZyIpLmFkZENsYXNzKCJjb2xsYXBzZSBpbiIpW2ddKCIiKSx0aGlzLnRyYW5zaXRpb25pbmc9MCx0aGlzLiRlbGVtZW50LnRyaWdnZXIoInNob3duLmJzLmNvbGxhcHNlIil9O2lmKCFhLnN1cHBvcnQudHJhbnNpdGlvbilyZXR1cm4gaC5jYWxsKHRoaXMpO3ZhciBpPWEuY2FtZWxDYXNlKFsic2Nyb2xsIixnXS5qb2luKCItIikpO3RoaXMuJGVsZW1lbnQub25lKCJic1RyYW5zaXRpb25FbmQiLGEucHJveHkoaCx0aGlzKSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoZC5UUkFOU0lUSU9OX0RVUkFUSU9OKVtnXSh0aGlzLiRlbGVtZW50WzBdW2ldKX19fX0sZC5wcm90b3R5cGUuaGlkZT1mdW5jdGlvbigpe2lmKCF0aGlzLnRyYW5zaXRpb25pbmcmJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIikpe3ZhciBiPWEuRXZlbnQoImhpZGUuYnMuY29sbGFwc2UiKTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoYiksIWIuaXNEZWZhdWx0UHJldmVudGVkKCkpe3ZhciBjPXRoaXMuZGltZW5zaW9uKCk7dGhpcy4kZWxlbWVudFtjXSh0aGlzLiRlbGVtZW50W2NdKCkpWzBdLm9mZnNldEhlaWdodCx0aGlzLiRlbGVtZW50LmFkZENsYXNzKCJjb2xsYXBzaW5nIikucmVtb3ZlQ2xhc3MoImNvbGxhcHNlIGluIikuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpLHRoaXMuJHRyaWdnZXIuYWRkQ2xhc3MoImNvbGxhcHNlZCIpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCExKSx0aGlzLnRyYW5zaXRpb25pbmc9MTt2YXIgZT1mdW5jdGlvbigpe3RoaXMudHJhbnNpdGlvbmluZz0wLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImNvbGxhcHNpbmciKS5hZGRDbGFzcygiY29sbGFwc2UiKS50cmlnZ2VyKCJoaWRkZW4uYnMuY29sbGFwc2UiKX07cmV0dXJuIGEuc3VwcG9ydC50cmFuc2l0aW9uP3ZvaWQgdGhpcy4kZWxlbWVudFtjXSgwKS5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYS5wcm94eShlLHRoaXMpKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChkLlRSQU5TSVRJT05fRFVSQVRJT04pOmUuY2FsbCh0aGlzKX19fSxkLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oKXt0aGlzW3RoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIik/ImhpZGUiOiJzaG93Il0oKX0sZC5wcm90b3R5cGUuZ2V0UGFyZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGEodGhpcy5vcHRpb25zLnBhcmVudCkuZmluZCgnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2RhdGEtcGFyZW50PSInK3RoaXMub3B0aW9ucy5wYXJlbnQrJyJdJykuZWFjaChhLnByb3h5KGZ1bmN0aW9uKGMsZCl7dmFyIGU9YShkKTt0aGlzLmFkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyhiKGUpLGUpfSx0aGlzKSkuZW5kKCl9LGQucHJvdG90eXBlLmFkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcz1mdW5jdGlvbihhLGIpe3ZhciBjPWEuaGFzQ2xhc3MoImluIik7YS5hdHRyKCJhcmlhLWV4cGFuZGVkIixjKSxiLnRvZ2dsZUNsYXNzKCJjb2xsYXBzZWQiLCFjKS5hdHRyKCJhcmlhLWV4cGFuZGVkIixjKX07dmFyIGU9YS5mbi5jb2xsYXBzZTthLmZuLmNvbGxhcHNlPWMsYS5mbi5jb2xsYXBzZS5Db25zdHJ1Y3Rvcj1kLGEuZm4uY29sbGFwc2Uubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmNvbGxhcHNlPWUsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLmNvbGxhcHNlLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdJyxmdW5jdGlvbihkKXt2YXIgZT1hKHRoaXMpO2UuYXR0cigiZGF0YS10YXJnZXQiKXx8ZC5wcmV2ZW50RGVmYXVsdCgpO3ZhciBmPWIoZSksZz1mLmRhdGEoImJzLmNvbGxhcHNlIiksaD1nPyJ0b2dnbGUiOmUuZGF0YSgpO2MuY2FsbChmLGgpfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3ZhciBjPWIuYXR0cigiZGF0YS10YXJnZXQiKTtjfHwoYz1iLmF0dHIoImhyZWYiKSxjPWMmJi8jW0EtWmEtel0vLnRlc3QoYykmJmMucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSk7dmFyIGQ9YyYmYShjKTtyZXR1cm4gZCYmZC5sZW5ndGg/ZDpiLnBhcmVudCgpfWZ1bmN0aW9uIGMoYyl7YyYmMz09PWMud2hpY2h8fChhKGUpLnJlbW92ZSgpLGEoZikuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1iKGQpLGY9e3JlbGF0ZWRUYXJnZXQ6dGhpc307ZS5oYXNDbGFzcygib3BlbiIpJiYoYyYmImNsaWNrIj09Yy50eXBlJiYvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KGMudGFyZ2V0LnRhZ05hbWUpJiZhLmNvbnRhaW5zKGVbMF0sYy50YXJnZXQpfHwoZS50cmlnZ2VyKGM9YS5FdmVudCgiaGlkZS5icy5kcm9wZG93biIsZikpLGMuaXNEZWZhdWx0UHJldmVudGVkKCl8fChkLmF0dHIoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpLGUucmVtb3ZlQ2xhc3MoIm9wZW4iKS50cmlnZ2VyKCJoaWRkZW4uYnMuZHJvcGRvd24iLGYpKSkpfSkpfWZ1bmN0aW9uIGQoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyksZD1jLmRhdGEoImJzLmRyb3Bkb3duIik7ZHx8Yy5kYXRhKCJicy5kcm9wZG93biIsZD1uZXcgZyh0aGlzKSksInN0cmluZyI9PXR5cGVvZiBiJiZkW2JdLmNhbGwoYyl9KX12YXIgZT0iLmRyb3Bkb3duLWJhY2tkcm9wIixmPSdbZGF0YS10b2dnbGU9ImRyb3Bkb3duIl0nLGc9ZnVuY3Rpb24oYil7YShiKS5vbigiY2xpY2suYnMuZHJvcGRvd24iLHRoaXMudG9nZ2xlKX07Zy5WRVJTSU9OPSIzLjMuNSIsZy5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKGQpe3ZhciBlPWEodGhpcyk7aWYoIWUuaXMoIi5kaXNhYmxlZCwgOmRpc2FibGVkIikpe3ZhciBmPWIoZSksZz1mLmhhc0NsYXNzKCJvcGVuIik7aWYoYygpLCFnKXsib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmIWYuY2xvc2VzdCgiLm5hdmJhci1uYXYiKS5sZW5ndGgmJmEoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLmFkZENsYXNzKCJkcm9wZG93bi1iYWNrZHJvcCIpLmluc2VydEFmdGVyKGEodGhpcykpLm9uKCJjbGljayIsYyk7dmFyIGg9e3JlbGF0ZWRUYXJnZXQ6dGhpc307aWYoZi50cmlnZ2VyKGQ9YS5FdmVudCgic2hvdy5icy5kcm9wZG93biIsaCkpLGQuaXNEZWZhdWx0UHJldmVudGVkKCkpcmV0dXJuO2UudHJpZ2dlcigiZm9jdXMiKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwidHJ1ZSIpLGYudG9nZ2xlQ2xhc3MoIm9wZW4iKS50cmlnZ2VyKCJzaG93bi5icy5kcm9wZG93biIsaCl9cmV0dXJuITF9fSxnLnByb3RvdHlwZS5rZXlkb3duPWZ1bmN0aW9uKGMpe2lmKC8oMzh8NDB8Mjd8MzIpLy50ZXN0KGMud2hpY2gpJiYhL2lucHV0fHRleHRhcmVhL2kudGVzdChjLnRhcmdldC50YWdOYW1lKSl7dmFyIGQ9YSh0aGlzKTtpZihjLnByZXZlbnREZWZhdWx0KCksYy5zdG9wUHJvcGFnYXRpb24oKSwhZC5pcygiLmRpc2FibGVkLCA6ZGlzYWJsZWQiKSl7dmFyIGU9YihkKSxnPWUuaGFzQ2xhc3MoIm9wZW4iKTtpZighZyYmMjchPWMud2hpY2h8fGcmJjI3PT1jLndoaWNoKXJldHVybiAyNz09Yy53aGljaCYmZS5maW5kKGYpLnRyaWdnZXIoImZvY3VzIiksZC50cmlnZ2VyKCJjbGljayIpO3ZhciBoPSIgbGk6bm90KC5kaXNhYmxlZCk6dmlzaWJsZSBhIixpPWUuZmluZCgiLmRyb3Bkb3duLW1lbnUiK2gpO2lmKGkubGVuZ3RoKXt2YXIgaj1pLmluZGV4KGMudGFyZ2V0KTszOD09Yy53aGljaCYmaj4wJiZqLS0sNDA9PWMud2hpY2gmJmo8aS5sZW5ndGgtMSYmaisrLH5qfHwoaj0wKSxpLmVxKGopLnRyaWdnZXIoImZvY3VzIil9fX19O3ZhciBoPWEuZm4uZHJvcGRvd247YS5mbi5kcm9wZG93bj1kLGEuZm4uZHJvcGRvd24uQ29uc3RydWN0b3I9ZyxhLmZuLmRyb3Bkb3duLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5kcm9wZG93bj1oLHRoaXN9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5icy5kcm9wZG93bi5kYXRhLWFwaSIsYykub24oImNsaWNrLmJzLmRyb3Bkb3duLmRhdGEtYXBpIiwiLmRyb3Bkb3duIGZvcm0iLGZ1bmN0aW9uKGEpe2Euc3RvcFByb3BhZ2F0aW9uKCl9KS5vbigiY2xpY2suYnMuZHJvcGRvd24uZGF0YS1hcGkiLGYsZy5wcm90b3R5cGUudG9nZ2xlKS5vbigia2V5ZG93bi5icy5kcm9wZG93bi5kYXRhLWFwaSIsZixnLnByb3RvdHlwZS5rZXlkb3duKS5vbigia2V5ZG93bi5icy5kcm9wZG93bi5kYXRhLWFwaSIsIi5kcm9wZG93bi1tZW51IixnLnByb3RvdHlwZS5rZXlkb3duKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYixkKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9YSh0aGlzKSxmPWUuZGF0YSgiYnMubW9kYWwiKSxnPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZS5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBiJiZiKTtmfHxlLmRhdGEoImJzLm1vZGFsIixmPW5ldyBjKHRoaXMsZykpLCJzdHJpbmciPT10eXBlb2YgYj9mW2JdKGQpOmcuc2hvdyYmZi5zaG93KGQpfSl9dmFyIGM9ZnVuY3Rpb24oYixjKXt0aGlzLm9wdGlvbnM9Yyx0aGlzLiRib2R5PWEoZG9jdW1lbnQuYm9keSksdGhpcy4kZWxlbWVudD1hKGIpLHRoaXMuJGRpYWxvZz10aGlzLiRlbGVtZW50LmZpbmQoIi5tb2RhbC1kaWFsb2ciKSx0aGlzLiRiYWNrZHJvcD1udWxsLHRoaXMuaXNTaG93bj1udWxsLHRoaXMub3JpZ2luYWxCb2R5UGFkPW51bGwsdGhpcy5zY3JvbGxiYXJXaWR0aD0wLHRoaXMuaWdub3JlQmFja2Ryb3BDbGljaz0hMSx0aGlzLm9wdGlvbnMucmVtb3RlJiZ0aGlzLiRlbGVtZW50LmZpbmQoIi5tb2RhbC1jb250ZW50IikubG9hZCh0aGlzLm9wdGlvbnMucmVtb3RlLGEucHJveHkoZnVuY3Rpb24oKXt0aGlzLiRlbGVtZW50LnRyaWdnZXIoImxvYWRlZC5icy5tb2RhbCIpfSx0aGlzKSl9O2MuVkVSU0lPTj0iMy4zLjUiLGMuVFJBTlNJVElPTl9EVVJBVElPTj0zMDAsYy5CQUNLRFJPUF9UUkFOU0lUSU9OX0RVUkFUSU9OPTE1MCxjLkRFRkFVTFRTPXtiYWNrZHJvcDohMCxrZXlib2FyZDohMCxzaG93OiEwfSxjLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaXNTaG93bj90aGlzLmhpZGUoKTp0aGlzLnNob3coYSl9LGMucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oYil7dmFyIGQ9dGhpcyxlPWEuRXZlbnQoInNob3cuYnMubW9kYWwiLHtyZWxhdGVkVGFyZ2V0OmJ9KTt0aGlzLiRlbGVtZW50LnRyaWdnZXIoZSksdGhpcy5pc1Nob3dufHxlLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodGhpcy5pc1Nob3duPSEwLHRoaXMuY2hlY2tTY3JvbGxiYXIoKSx0aGlzLnNldFNjcm9sbGJhcigpLHRoaXMuJGJvZHkuYWRkQ2xhc3MoIm1vZGFsLW9wZW4iKSx0aGlzLmVzY2FwZSgpLHRoaXMucmVzaXplKCksdGhpcy4kZWxlbWVudC5vbigiY2xpY2suZGlzbWlzcy5icy5tb2RhbCIsJ1tkYXRhLWRpc21pc3M9Im1vZGFsIl0nLGEucHJveHkodGhpcy5oaWRlLHRoaXMpKSx0aGlzLiRkaWFsb2cub24oIm1vdXNlZG93bi5kaXNtaXNzLmJzLm1vZGFsIixmdW5jdGlvbigpe2QuJGVsZW1lbnQub25lKCJtb3VzZXVwLmRpc21pc3MuYnMubW9kYWwiLGZ1bmN0aW9uKGIpe2EoYi50YXJnZXQpLmlzKGQuJGVsZW1lbnQpJiYoZC5pZ25vcmVCYWNrZHJvcENsaWNrPSEwKX0pfSksdGhpcy5iYWNrZHJvcChmdW5jdGlvbigpe3ZhciBlPWEuc3VwcG9ydC50cmFuc2l0aW9uJiZkLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik7ZC4kZWxlbWVudC5wYXJlbnQoKS5sZW5ndGh8fGQuJGVsZW1lbnQuYXBwZW5kVG8oZC4kYm9keSksZC4kZWxlbWVudC5zaG93KCkuc2Nyb2xsVG9wKDApLGQuYWRqdXN0RGlhbG9nKCksZSYmZC4kZWxlbWVudFswXS5vZmZzZXRXaWR0aCxkLiRlbGVtZW50LmFkZENsYXNzKCJpbiIpLGQuZW5mb3JjZUZvY3VzKCk7dmFyIGY9YS5FdmVudCgic2hvd24uYnMubW9kYWwiLHtyZWxhdGVkVGFyZ2V0OmJ9KTtlP2QuJGRpYWxvZy5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZnVuY3Rpb24oKXtkLiRlbGVtZW50LnRyaWdnZXIoImZvY3VzIikudHJpZ2dlcihmKX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6ZC4kZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpLnRyaWdnZXIoZil9KSl9LGMucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oYil7YiYmYi5wcmV2ZW50RGVmYXVsdCgpLGI9YS5FdmVudCgiaGlkZS5icy5tb2RhbCIpLHRoaXMuJGVsZW1lbnQudHJpZ2dlcihiKSx0aGlzLmlzU2hvd24mJiFiLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYodGhpcy5pc1Nob3duPSExLHRoaXMuZXNjYXBlKCksdGhpcy5yZXNpemUoKSxhKGRvY3VtZW50KS5vZmYoImZvY3VzaW4uYnMubW9kYWwiKSx0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJpbiIpLm9mZigiY2xpY2suZGlzbWlzcy5icy5tb2RhbCIpLm9mZigibW91c2V1cC5kaXNtaXNzLmJzLm1vZGFsIiksdGhpcy4kZGlhbG9nLm9mZigibW91c2Vkb3duLmRpc21pc3MuYnMubW9kYWwiKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiZmFkZSIpP3RoaXMuJGVsZW1lbnQub25lKCJic1RyYW5zaXRpb25FbmQiLGEucHJveHkodGhpcy5oaWRlTW9kYWwsdGhpcykpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6dGhpcy5oaWRlTW9kYWwoKSl9LGMucHJvdG90eXBlLmVuZm9yY2VGb2N1cz1mdW5jdGlvbigpe2EoZG9jdW1lbnQpLm9mZigiZm9jdXNpbi5icy5tb2RhbCIpLm9uKCJmb2N1c2luLmJzLm1vZGFsIixhLnByb3h5KGZ1bmN0aW9uKGEpe3RoaXMuJGVsZW1lbnRbMF09PT1hLnRhcmdldHx8dGhpcy4kZWxlbWVudC5oYXMoYS50YXJnZXQpLmxlbmd0aHx8dGhpcy4kZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpfSx0aGlzKSl9LGMucHJvdG90eXBlLmVzY2FwZT1mdW5jdGlvbigpe3RoaXMuaXNTaG93biYmdGhpcy5vcHRpb25zLmtleWJvYXJkP3RoaXMuJGVsZW1lbnQub24oImtleWRvd24uZGlzbWlzcy5icy5tb2RhbCIsYS5wcm94eShmdW5jdGlvbihhKXsyNz09YS53aGljaCYmdGhpcy5oaWRlKCl9LHRoaXMpKTp0aGlzLmlzU2hvd258fHRoaXMuJGVsZW1lbnQub2ZmKCJrZXlkb3duLmRpc21pc3MuYnMubW9kYWwiKX0sYy5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKCl7dGhpcy5pc1Nob3duP2Eod2luZG93KS5vbigicmVzaXplLmJzLm1vZGFsIixhLnByb3h5KHRoaXMuaGFuZGxlVXBkYXRlLHRoaXMpKTphKHdpbmRvdykub2ZmKCJyZXNpemUuYnMubW9kYWwiKX0sYy5wcm90b3R5cGUuaGlkZU1vZGFsPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLiRlbGVtZW50LmhpZGUoKSx0aGlzLmJhY2tkcm9wKGZ1bmN0aW9uKCl7YS4kYm9keS5yZW1vdmVDbGFzcygibW9kYWwtb3BlbiIpLGEucmVzZXRBZGp1c3RtZW50cygpLGEucmVzZXRTY3JvbGxiYXIoKSxhLiRlbGVtZW50LnRyaWdnZXIoImhpZGRlbi5icy5tb2RhbCIpfSl9LGMucHJvdG90eXBlLnJlbW92ZUJhY2tkcm9wPWZ1bmN0aW9uKCl7dGhpcy4kYmFja2Ryb3AmJnRoaXMuJGJhY2tkcm9wLnJlbW92ZSgpLHRoaXMuJGJhY2tkcm9wPW51bGx9LGMucHJvdG90eXBlLmJhY2tkcm9wPWZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMsZT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/ImZhZGUiOiIiO2lmKHRoaXMuaXNTaG93biYmdGhpcy5vcHRpb25zLmJhY2tkcm9wKXt2YXIgZj1hLnN1cHBvcnQudHJhbnNpdGlvbiYmZTtpZih0aGlzLiRiYWNrZHJvcD1hKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5hZGRDbGFzcygibW9kYWwtYmFja2Ryb3AgIitlKS5hcHBlbmRUbyh0aGlzLiRib2R5KSx0aGlzLiRlbGVtZW50Lm9uKCJjbGljay5kaXNtaXNzLmJzLm1vZGFsIixhLnByb3h5KGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2s/dm9pZCh0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2s9ITEpOnZvaWQoYS50YXJnZXQ9PT1hLmN1cnJlbnRUYXJnZXQmJigic3RhdGljIj09dGhpcy5vcHRpb25zLmJhY2tkcm9wP3RoaXMuJGVsZW1lbnRbMF0uZm9jdXMoKTp0aGlzLmhpZGUoKSkpfSx0aGlzKSksZiYmdGhpcy4kYmFja2Ryb3BbMF0ub2Zmc2V0V2lkdGgsdGhpcy4kYmFja2Ryb3AuYWRkQ2xhc3MoImluIiksIWIpcmV0dXJuO2Y/dGhpcy4kYmFja2Ryb3Aub25lKCJic1RyYW5zaXRpb25FbmQiLGIpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuQkFDS0RST1BfVFJBTlNJVElPTl9EVVJBVElPTik6YigpfWVsc2UgaWYoIXRoaXMuaXNTaG93biYmdGhpcy4kYmFja2Ryb3Ape3RoaXMuJGJhY2tkcm9wLnJlbW92ZUNsYXNzKCJpbiIpO3ZhciBnPWZ1bmN0aW9uKCl7ZC5yZW1vdmVCYWNrZHJvcCgpLGImJmIoKX07YS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImZhZGUiKT90aGlzLiRiYWNrZHJvcC5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZykuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5CQUNLRFJPUF9UUkFOU0lUSU9OX0RVUkFUSU9OKTpnKCl9ZWxzZSBiJiZiKCl9LGMucHJvdG90eXBlLmhhbmRsZVVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuYWRqdXN0RGlhbG9nKCl9LGMucHJvdG90eXBlLmFkanVzdERpYWxvZz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnRbMF0uc2Nyb2xsSGVpZ2h0PmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7dGhpcy4kZWxlbWVudC5jc3Moe3BhZGRpbmdMZWZ0OiF0aGlzLmJvZHlJc092ZXJmbG93aW5nJiZhP3RoaXMuc2Nyb2xsYmFyV2lkdGg6IiIscGFkZGluZ1JpZ2h0OnRoaXMuYm9keUlzT3ZlcmZsb3dpbmcmJiFhP3RoaXMuc2Nyb2xsYmFyV2lkdGg6IiJ9KX0sYy5wcm90b3R5cGUucmVzZXRBZGp1c3RtZW50cz1mdW5jdGlvbigpe3RoaXMuJGVsZW1lbnQuY3NzKHtwYWRkaW5nTGVmdDoiIixwYWRkaW5nUmlnaHQ6IiJ9KX0sYy5wcm90b3R5cGUuY2hlY2tTY3JvbGxiYXI9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuaW5uZXJXaWR0aDtpZighYSl7dmFyIGI9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2E9Yi5yaWdodC1NYXRoLmFicyhiLmxlZnQpfXRoaXMuYm9keUlzT3ZlcmZsb3dpbmc9ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDxhLHRoaXMuc2Nyb2xsYmFyV2lkdGg9dGhpcy5tZWFzdXJlU2Nyb2xsYmFyKCl9LGMucHJvdG90eXBlLnNldFNjcm9sbGJhcj1mdW5jdGlvbigpe3ZhciBhPXBhcnNlSW50KHRoaXMuJGJvZHkuY3NzKCJwYWRkaW5nLXJpZ2h0Iil8fDAsMTApO3RoaXMub3JpZ2luYWxCb2R5UGFkPWRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0fHwiIix0aGlzLmJvZHlJc092ZXJmbG93aW5nJiZ0aGlzLiRib2R5LmNzcygicGFkZGluZy1yaWdodCIsYSt0aGlzLnNjcm9sbGJhcldpZHRoKX0sYy5wcm90b3R5cGUucmVzZXRTY3JvbGxiYXI9ZnVuY3Rpb24oKXt0aGlzLiRib2R5LmNzcygicGFkZGluZy1yaWdodCIsdGhpcy5vcmlnaW5hbEJvZHlQYWQpfSxjLnByb3RvdHlwZS5tZWFzdXJlU2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5jbGFzc05hbWU9Im1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIix0aGlzLiRib2R5LmFwcGVuZChhKTt2YXIgYj1hLm9mZnNldFdpZHRoLWEuY2xpZW50V2lkdGg7cmV0dXJuIHRoaXMuJGJvZHlbMF0ucmVtb3ZlQ2hpbGQoYSksYn07dmFyIGQ9YS5mbi5tb2RhbDthLmZuLm1vZGFsPWIsYS5mbi5tb2RhbC5Db25zdHJ1Y3Rvcj1jLGEuZm4ubW9kYWwubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLm1vZGFsPWQsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLm1vZGFsLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJtb2RhbCJdJyxmdW5jdGlvbihjKXt2YXIgZD1hKHRoaXMpLGU9ZC5hdHRyKCJocmVmIiksZj1hKGQuYXR0cigiZGF0YS10YXJnZXQiKXx8ZSYmZS5yZXBsYWNlKC8uKig/PSNbXlxzXSskKS8sIiIpKSxnPWYuZGF0YSgiYnMubW9kYWwiKT8idG9nZ2xlIjphLmV4dGVuZCh7cmVtb3RlOiEvIy8udGVzdChlKSYmZX0sZi5kYXRhKCksZC5kYXRhKCkpO2QuaXMoImEiKSYmYy5wcmV2ZW50RGVmYXVsdCgpLGYub25lKCJzaG93LmJzLm1vZGFsIixmdW5jdGlvbihhKXthLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxmLm9uZSgiaGlkZGVuLmJzLm1vZGFsIixmdW5jdGlvbigpe2QuaXMoIjp2aXNpYmxlIikmJmQudHJpZ2dlcigiZm9jdXMiKX0pfSksYi5jYWxsKGYsZyx0aGlzKX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMudG9vbHRpcCIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiOyhlfHwhL2Rlc3Ryb3l8aGlkZS8udGVzdChiKSkmJihlfHxkLmRhdGEoImJzLnRvb2x0aXAiLGU9bmV3IGModGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCkpfSl9dmFyIGM9ZnVuY3Rpb24oYSxiKXt0aGlzLnR5cGU9bnVsbCx0aGlzLm9wdGlvbnM9bnVsbCx0aGlzLmVuYWJsZWQ9bnVsbCx0aGlzLnRpbWVvdXQ9bnVsbCx0aGlzLmhvdmVyU3RhdGU9bnVsbCx0aGlzLiRlbGVtZW50PW51bGwsdGhpcy5pblN0YXRlPW51bGwsdGhpcy5pbml0KCJ0b29sdGlwIixhLGIpfTtjLlZFUlNJT049IjMuMy41IixjLlRSQU5TSVRJT05fRFVSQVRJT049MTUwLGMuREVGQVVMVFM9e2FuaW1hdGlvbjohMCxwbGFjZW1lbnQ6InRvcCIsc2VsZWN0b3I6ITEsdGVtcGxhdGU6JzxkaXYgY2xhc3M9InRvb2x0aXAiIHJvbGU9InRvb2x0aXAiPjxkaXYgY2xhc3M9InRvb2x0aXAtYXJyb3ciPjwvZGl2PjxkaXYgY2xhc3M9InRvb2x0aXAtaW5uZXIiPjwvZGl2PjwvZGl2PicsdHJpZ2dlcjoiaG92ZXIgZm9jdXMiLHRpdGxlOiIiLGRlbGF5OjAsaHRtbDohMSxjb250YWluZXI6ITEsdmlld3BvcnQ6e3NlbGVjdG9yOiJib2R5IixwYWRkaW5nOjB9fSxjLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKGIsYyxkKXtpZih0aGlzLmVuYWJsZWQ9ITAsdGhpcy50eXBlPWIsdGhpcy4kZWxlbWVudD1hKGMpLHRoaXMub3B0aW9ucz10aGlzLmdldE9wdGlvbnMoZCksdGhpcy4kdmlld3BvcnQ9dGhpcy5vcHRpb25zLnZpZXdwb3J0JiZhKGEuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMudmlld3BvcnQpP3RoaXMub3B0aW9ucy52aWV3cG9ydC5jYWxsKHRoaXMsdGhpcy4kZWxlbWVudCk6dGhpcy5vcHRpb25zLnZpZXdwb3J0LnNlbGVjdG9yfHx0aGlzLm9wdGlvbnMudmlld3BvcnQpLHRoaXMuaW5TdGF0ZT17Y2xpY2s6ITEsaG92ZXI6ITEsZm9jdXM6ITF9LHRoaXMuJGVsZW1lbnRbMF1pbnN0YW5jZW9mIGRvY3VtZW50LmNvbnN0cnVjdG9yJiYhdGhpcy5vcHRpb25zLnNlbGVjdG9yKXRocm93IG5ldyBFcnJvcigiYHNlbGVjdG9yYCBvcHRpb24gbXVzdCBiZSBzcGVjaWZpZWQgd2hlbiBpbml0aWFsaXppbmcgIit0aGlzLnR5cGUrIiBvbiB0aGUgd2luZG93LmRvY3VtZW50IG9iamVjdCEiKTtmb3IodmFyIGU9dGhpcy5vcHRpb25zLnRyaWdnZXIuc3BsaXQoIiAiKSxmPWUubGVuZ3RoO2YtLTspe3ZhciBnPWVbZl07aWYoImNsaWNrIj09Zyl0aGlzLiRlbGVtZW50Lm9uKCJjbGljay4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLnRvZ2dsZSx0aGlzKSk7ZWxzZSBpZigibWFudWFsIiE9Zyl7dmFyIGg9ImhvdmVyIj09Zz8ibW91c2VlbnRlciI6ImZvY3VzaW4iLGk9ImhvdmVyIj09Zz8ibW91c2VsZWF2ZSI6ImZvY3Vzb3V0Ijt0aGlzLiRlbGVtZW50Lm9uKGgrIi4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLmVudGVyLHRoaXMpKSx0aGlzLiRlbGVtZW50Lm9uKGkrIi4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLmxlYXZlLHRoaXMpKX19dGhpcy5vcHRpb25zLnNlbGVjdG9yP3RoaXMuX29wdGlvbnM9YS5leHRlbmQoe30sdGhpcy5vcHRpb25zLHt0cmlnZ2VyOiJtYW51YWwiLHNlbGVjdG9yOiIifSk6dGhpcy5maXhUaXRsZSgpfSxjLnByb3RvdHlwZS5nZXREZWZhdWx0cz1mdW5jdGlvbigpe3JldHVybiBjLkRFRkFVTFRTfSxjLnByb3RvdHlwZS5nZXRPcHRpb25zPWZ1bmN0aW9uKGIpe3JldHVybiBiPWEuZXh0ZW5kKHt9LHRoaXMuZ2V0RGVmYXVsdHMoKSx0aGlzLiRlbGVtZW50LmRhdGEoKSxiKSxiLmRlbGF5JiYibnVtYmVyIj09dHlwZW9mIGIuZGVsYXkmJihiLmRlbGF5PXtzaG93OmIuZGVsYXksaGlkZTpiLmRlbGF5fSksYn0sYy5wcm90b3R5cGUuZ2V0RGVsZWdhdGVPcHRpb25zPWZ1bmN0aW9uKCl7dmFyIGI9e30sYz10aGlzLmdldERlZmF1bHRzKCk7cmV0dXJuIHRoaXMuX29wdGlvbnMmJmEuZWFjaCh0aGlzLl9vcHRpb25zLGZ1bmN0aW9uKGEsZCl7Y1thXSE9ZCYmKGJbYV09ZCl9KSxifSxjLnByb3RvdHlwZS5lbnRlcj1mdW5jdGlvbihiKXt2YXIgYz1iIGluc3RhbmNlb2YgdGhpcy5jb25zdHJ1Y3Rvcj9iOmEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSk7cmV0dXJuIGN8fChjPW5ldyB0aGlzLmNvbnN0cnVjdG9yKGIuY3VycmVudFRhcmdldCx0aGlzLmdldERlbGVnYXRlT3B0aW9ucygpKSxhKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUsYykpLGIgaW5zdGFuY2VvZiBhLkV2ZW50JiYoYy5pblN0YXRlWyJmb2N1c2luIj09Yi50eXBlPyJmb2N1cyI6ImhvdmVyIl09ITApLGMudGlwKCkuaGFzQ2xhc3MoImluIil8fCJpbiI9PWMuaG92ZXJTdGF0ZT92b2lkKGMuaG92ZXJTdGF0ZT0iaW4iKTooY2xlYXJUaW1lb3V0KGMudGltZW91dCksYy5ob3ZlclN0YXRlPSJpbiIsYy5vcHRpb25zLmRlbGF5JiZjLm9wdGlvbnMuZGVsYXkuc2hvdz92b2lkKGMudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ImluIj09Yy5ob3ZlclN0YXRlJiZjLnNob3coKX0sYy5vcHRpb25zLmRlbGF5LnNob3cpKTpjLnNob3coKSl9LGMucHJvdG90eXBlLmlzSW5TdGF0ZVRydWU9ZnVuY3Rpb24oKXtmb3IodmFyIGEgaW4gdGhpcy5pblN0YXRlKWlmKHRoaXMuaW5TdGF0ZVthXSlyZXR1cm4hMDtyZXR1cm4hMX0sYy5wcm90b3R5cGUubGVhdmU9ZnVuY3Rpb24oYil7dmFyIGM9YiBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3I/YjphKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUpO3JldHVybiBjfHwoYz1uZXcgdGhpcy5jb25zdHJ1Y3RvcihiLmN1cnJlbnRUYXJnZXQsdGhpcy5nZXREZWxlZ2F0ZU9wdGlvbnMoKSksYShiLmN1cnJlbnRUYXJnZXQpLmRhdGEoImJzLiIrdGhpcy50eXBlLGMpKSxiIGluc3RhbmNlb2YgYS5FdmVudCYmKGMuaW5TdGF0ZVsiZm9jdXNvdXQiPT1iLnR5cGU/ImZvY3VzIjoiaG92ZXIiXT0hMSksYy5pc0luU3RhdGVUcnVlKCk/dm9pZCAwOihjbGVhclRpbWVvdXQoYy50aW1lb3V0KSxjLmhvdmVyU3RhdGU9Im91dCIsYy5vcHRpb25zLmRlbGF5JiZjLm9wdGlvbnMuZGVsYXkuaGlkZT92b2lkKGMudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Im91dCI9PWMuaG92ZXJTdGF0ZSYmYy5oaWRlKCl9LGMub3B0aW9ucy5kZWxheS5oaWRlKSk6Yy5oaWRlKCkpfSxjLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7dmFyIGI9YS5FdmVudCgic2hvdy5icy4iK3RoaXMudHlwZSk7aWYodGhpcy5oYXNDb250ZW50KCkmJnRoaXMuZW5hYmxlZCl7dGhpcy4kZWxlbWVudC50cmlnZ2VyKGIpO3ZhciBkPWEuY29udGFpbnModGhpcy4kZWxlbWVudFswXS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0aGlzLiRlbGVtZW50WzBdKTtpZihiLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwhZClyZXR1cm47dmFyIGU9dGhpcyxmPXRoaXMudGlwKCksZz10aGlzLmdldFVJRCh0aGlzLnR5cGUpO3RoaXMuc2V0Q29udGVudCgpLGYuYXR0cigiaWQiLGcpLHRoaXMuJGVsZW1lbnQuYXR0cigiYXJpYS1kZXNjcmliZWRieSIsZyksdGhpcy5vcHRpb25zLmFuaW1hdGlvbiYmZi5hZGRDbGFzcygiZmFkZSIpO3ZhciBoPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLm9wdGlvbnMucGxhY2VtZW50P3RoaXMub3B0aW9ucy5wbGFjZW1lbnQuY2FsbCh0aGlzLGZbMF0sdGhpcy4kZWxlbWVudFswXSk6dGhpcy5vcHRpb25zLnBsYWNlbWVudCxpPS9ccz9hdXRvP1xzPy9pLGo9aS50ZXN0KGgpO2omJihoPWgucmVwbGFjZShpLCIiKXx8InRvcCIpLGYuZGV0YWNoKCkuY3NzKHt0b3A6MCxsZWZ0OjAsZGlzcGxheToiYmxvY2sifSkuYWRkQ2xhc3MoaCkuZGF0YSgiYnMuIit0aGlzLnR5cGUsdGhpcyksdGhpcy5vcHRpb25zLmNvbnRhaW5lcj9mLmFwcGVuZFRvKHRoaXMub3B0aW9ucy5jb250YWluZXIpOmYuaW5zZXJ0QWZ0ZXIodGhpcy4kZWxlbWVudCksdGhpcy4kZWxlbWVudC50cmlnZ2VyKCJpbnNlcnRlZC5icy4iK3RoaXMudHlwZSk7dmFyIGs9dGhpcy5nZXRQb3NpdGlvbigpLGw9ZlswXS5vZmZzZXRXaWR0aCxtPWZbMF0ub2Zmc2V0SGVpZ2h0O2lmKGope3ZhciBuPWgsbz10aGlzLmdldFBvc2l0aW9uKHRoaXMuJHZpZXdwb3J0KTtoPSJib3R0b20iPT1oJiZrLmJvdHRvbSttPm8uYm90dG9tPyJ0b3AiOiJ0b3AiPT1oJiZrLnRvcC1tPG8udG9wPyJib3R0b20iOiJyaWdodCI9PWgmJmsucmlnaHQrbD5vLndpZHRoPyJsZWZ0IjoibGVmdCI9PWgmJmsubGVmdC1sPG8ubGVmdD8icmlnaHQiOmgsZi5yZW1vdmVDbGFzcyhuKS5hZGRDbGFzcyhoKX12YXIgcD10aGlzLmdldENhbGN1bGF0ZWRPZmZzZXQoaCxrLGwsbSk7dGhpcy5hcHBseVBsYWNlbWVudChwLGgpO3ZhciBxPWZ1bmN0aW9uKCl7dmFyIGE9ZS5ob3ZlclN0YXRlO2UuJGVsZW1lbnQudHJpZ2dlcigic2hvd24uYnMuIitlLnR5cGUpLGUuaG92ZXJTdGF0ZT1udWxsLCJvdXQiPT1hJiZlLmxlYXZlKGUpfTthLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kdGlwLmhhc0NsYXNzKCJmYWRlIik/Zi5vbmUoImJzVHJhbnNpdGlvbkVuZCIscSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5UUkFOU0lUSU9OX0RVUkFUSU9OKTpxKCl9fSxjLnByb3RvdHlwZS5hcHBseVBsYWNlbWVudD1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMudGlwKCksZT1kWzBdLm9mZnNldFdpZHRoLGY9ZFswXS5vZmZzZXRIZWlnaHQsZz1wYXJzZUludChkLmNzcygibWFyZ2luLXRvcCIpLDEwKSxoPXBhcnNlSW50KGQuY3NzKCJtYXJnaW4tbGVmdCIpLDEwKTtpc05hTihnKSYmKGc9MCksaXNOYU4oaCkmJihoPTApLGIudG9wKz1nLGIubGVmdCs9aCxhLm9mZnNldC5zZXRPZmZzZXQoZFswXSxhLmV4dGVuZCh7dXNpbmc6ZnVuY3Rpb24oYSl7ZC5jc3Moe3RvcDpNYXRoLnJvdW5kKGEudG9wKSxsZWZ0Ok1hdGgucm91bmQoYS5sZWZ0KX0pfX0sYiksMCksZC5hZGRDbGFzcygiaW4iKTt2YXIgaT1kWzBdLm9mZnNldFdpZHRoLGo9ZFswXS5vZmZzZXRIZWlnaHQ7InRvcCI9PWMmJmohPWYmJihiLnRvcD1iLnRvcCtmLWopO3ZhciBrPXRoaXMuZ2V0Vmlld3BvcnRBZGp1c3RlZERlbHRhKGMsYixpLGopO2subGVmdD9iLmxlZnQrPWsubGVmdDpiLnRvcCs9ay50b3A7dmFyIGw9L3RvcHxib3R0b20vLnRlc3QoYyksbT1sPzIqay5sZWZ0LWUraToyKmsudG9wLWYraixuPWw/Im9mZnNldFdpZHRoIjoib2Zmc2V0SGVpZ2h0IjtkLm9mZnNldChiKSx0aGlzLnJlcGxhY2VBcnJvdyhtLGRbMF1bbl0sbCl9LGMucHJvdG90eXBlLnJlcGxhY2VBcnJvdz1mdW5jdGlvbihhLGIsYyl7dGhpcy5hcnJvdygpLmNzcyhjPyJsZWZ0IjoidG9wIiw1MCooMS1hL2IpKyIlIikuY3NzKGM/InRvcCI6ImxlZnQiLCIiKX0sYy5wcm90b3R5cGUuc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMudGlwKCksYj10aGlzLmdldFRpdGxlKCk7YS5maW5kKCIudG9vbHRpcC1pbm5lciIpW3RoaXMub3B0aW9ucy5odG1sPyJodG1sIjoidGV4dCJdKGIpLGEucmVtb3ZlQ2xhc3MoImZhZGUgaW4gdG9wIGJvdHRvbSBsZWZ0IHJpZ2h0Iil9LGMucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gZCgpeyJpbiIhPWUuaG92ZXJTdGF0ZSYmZi5kZXRhY2goKSxlLiRlbGVtZW50LnJlbW92ZUF0dHIoImFyaWEtZGVzY3JpYmVkYnkiKS50cmlnZ2VyKCJoaWRkZW4uYnMuIitlLnR5cGUpLGImJmIoKX12YXIgZT10aGlzLGY9YSh0aGlzLiR0aXApLGc9YS5FdmVudCgiaGlkZS5icy4iK3RoaXMudHlwZSk7cmV0dXJuIHRoaXMuJGVsZW1lbnQudHJpZ2dlcihnKSxnLmlzRGVmYXVsdFByZXZlbnRlZCgpP3ZvaWQgMDooZi5yZW1vdmVDbGFzcygiaW4iKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmZi5oYXNDbGFzcygiZmFkZSIpP2Yub25lKCJic1RyYW5zaXRpb25FbmQiLGQpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6ZCgpLHRoaXMuaG92ZXJTdGF0ZT1udWxsLHRoaXMpfSxjLnByb3RvdHlwZS5maXhUaXRsZT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQ7KGEuYXR0cigidGl0bGUiKXx8InN0cmluZyIhPXR5cGVvZiBhLmF0dHIoImRhdGEtb3JpZ2luYWwtdGl0bGUiKSkmJmEuYXR0cigiZGF0YS1vcmlnaW5hbC10aXRsZSIsYS5hdHRyKCJ0aXRsZSIpfHwiIikuYXR0cigidGl0bGUiLCIiKX0sYy5wcm90b3R5cGUuaGFzQ29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFRpdGxlKCl9LGMucHJvdG90eXBlLmdldFBvc2l0aW9uPWZ1bmN0aW9uKGIpe2I9Ynx8dGhpcy4kZWxlbWVudDt2YXIgYz1iWzBdLGQ9IkJPRFkiPT1jLnRhZ05hbWUsZT1jLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO251bGw9PWUud2lkdGgmJihlPWEuZXh0ZW5kKHt9LGUse3dpZHRoOmUucmlnaHQtZS5sZWZ0LGhlaWdodDplLmJvdHRvbS1lLnRvcH0pKTt2YXIgZj1kP3t0b3A6MCxsZWZ0OjB9OmIub2Zmc2V0KCksZz17c2Nyb2xsOmQ/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A6Yi5zY3JvbGxUb3AoKX0saD1kP3t3aWR0aDphKHdpbmRvdykud2lkdGgoKSxoZWlnaHQ6YSh3aW5kb3cpLmhlaWdodCgpfTpudWxsO3JldHVybiBhLmV4dGVuZCh7fSxlLGcsaCxmKX0sYy5wcm90b3R5cGUuZ2V0Q2FsY3VsYXRlZE9mZnNldD1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4iYm90dG9tIj09YT97dG9wOmIudG9wK2IuaGVpZ2h0LGxlZnQ6Yi5sZWZ0K2Iud2lkdGgvMi1jLzJ9OiJ0b3AiPT1hP3t0b3A6Yi50b3AtZCxsZWZ0OmIubGVmdCtiLndpZHRoLzItYy8yfToibGVmdCI9PWE/e3RvcDpiLnRvcCtiLmhlaWdodC8yLWQvMixsZWZ0OmIubGVmdC1jfTp7dG9wOmIudG9wK2IuaGVpZ2h0LzItZC8yLGxlZnQ6Yi5sZWZ0K2Iud2lkdGh9fSxjLnByb3RvdHlwZS5nZXRWaWV3cG9ydEFkanVzdGVkRGVsdGE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9e3RvcDowLGxlZnQ6MH07aWYoIXRoaXMuJHZpZXdwb3J0KXJldHVybiBlO3ZhciBmPXRoaXMub3B0aW9ucy52aWV3cG9ydCYmdGhpcy5vcHRpb25zLnZpZXdwb3J0LnBhZGRpbmd8fDAsZz10aGlzLmdldFBvc2l0aW9uKHRoaXMuJHZpZXdwb3J0KTtpZigvcmlnaHR8bGVmdC8udGVzdChhKSl7dmFyIGg9Yi50b3AtZi1nLnNjcm9sbCxpPWIudG9wK2YtZy5zY3JvbGwrZDtoPGcudG9wP2UudG9wPWcudG9wLWg6aT5nLnRvcCtnLmhlaWdodCYmKGUudG9wPWcudG9wK2cuaGVpZ2h0LWkpfWVsc2V7dmFyIGo9Yi5sZWZ0LWYsaz1iLmxlZnQrZitjO2o8Zy5sZWZ0P2UubGVmdD1nLmxlZnQtajprPmcucmlnaHQmJihlLmxlZnQ9Zy5sZWZ0K2cud2lkdGgtayl9cmV0dXJuIGV9LGMucHJvdG90eXBlLmdldFRpdGxlPWZ1bmN0aW9uKCl7dmFyIGEsYj10aGlzLiRlbGVtZW50LGM9dGhpcy5vcHRpb25zO3JldHVybiBhPWIuYXR0cigiZGF0YS1vcmlnaW5hbC10aXRsZSIpfHwoImZ1bmN0aW9uIj09dHlwZW9mIGMudGl0bGU/Yy50aXRsZS5jYWxsKGJbMF0pOmMudGl0bGUpfSxjLnByb3RvdHlwZS5nZXRVSUQ9ZnVuY3Rpb24oYSl7ZG8gYSs9fn4oMWU2Kk1hdGgucmFuZG9tKCkpO3doaWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKTtyZXR1cm4gYX0sYy5wcm90b3R5cGUudGlwPWZ1bmN0aW9uKCl7aWYoIXRoaXMuJHRpcCYmKHRoaXMuJHRpcD1hKHRoaXMub3B0aW9ucy50ZW1wbGF0ZSksMSE9dGhpcy4kdGlwLmxlbmd0aCkpdGhyb3cgbmV3IEVycm9yKHRoaXMudHlwZSsiIGB0ZW1wbGF0ZWAgb3B0aW9uIG11c3QgY29uc2lzdCBvZiBleGFjdGx5IDEgdG9wLWxldmVsIGVsZW1lbnQhIik7cmV0dXJuIHRoaXMuJHRpcH0sYy5wcm90b3R5cGUuYXJyb3c9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kYXJyb3c9dGhpcy4kYXJyb3d8fHRoaXMudGlwKCkuZmluZCgiLnRvb2x0aXAtYXJyb3ciKX0sYy5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSEwfSxjLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSExfSxjLnByb3RvdHlwZS50b2dnbGVFbmFibGVkPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSF0aGlzLmVuYWJsZWR9LGMucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzO2ImJihjPWEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSksY3x8KGM9bmV3IHRoaXMuY29uc3RydWN0b3IoYi5jdXJyZW50VGFyZ2V0LHRoaXMuZ2V0RGVsZWdhdGVPcHRpb25zKCkpLGEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSxjKSkpLGI/KGMuaW5TdGF0ZS5jbGljaz0hYy5pblN0YXRlLmNsaWNrLGMuaXNJblN0YXRlVHJ1ZSgpP2MuZW50ZXIoYyk6Yy5sZWF2ZShjKSk6Yy50aXAoKS5oYXNDbGFzcygiaW4iKT9jLmxlYXZlKGMpOmMuZW50ZXIoYyl9LGMucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2NsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpLHRoaXMuaGlkZShmdW5jdGlvbigpe2EuJGVsZW1lbnQub2ZmKCIuIithLnR5cGUpLnJlbW92ZURhdGEoImJzLiIrYS50eXBlKSxhLiR0aXAmJmEuJHRpcC5kZXRhY2goKSxhLiR0aXA9bnVsbCxhLiRhcnJvdz1udWxsLGEuJHZpZXdwb3J0PW51bGx9KX07dmFyIGQ9YS5mbi50b29sdGlwO2EuZm4udG9vbHRpcD1iLGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvcj1jLGEuZm4udG9vbHRpcC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4udG9vbHRpcD1kLHRoaXN9fShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMucG9wb3ZlciIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiOyhlfHwhL2Rlc3Ryb3l8aGlkZS8udGVzdChiKSkmJihlfHxkLmRhdGEoImJzLnBvcG92ZXIiLGU9bmV3IGModGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCkpfSl9dmFyIGM9ZnVuY3Rpb24oYSxiKXt0aGlzLmluaXQoInBvcG92ZXIiLGEsYil9O2lmKCFhLmZuLnRvb2x0aXApdGhyb3cgbmV3IEVycm9yKCJQb3BvdmVyIHJlcXVpcmVzIHRvb2x0aXAuanMiKTtjLlZFUlNJT049IjMuMy41IixjLkRFRkFVTFRTPWEuZXh0ZW5kKHt9LGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvci5ERUZBVUxUUyx7cGxhY2VtZW50OiJyaWdodCIsdHJpZ2dlcjoiY2xpY2siLGNvbnRlbnQ6IiIsdGVtcGxhdGU6JzxkaXYgY2xhc3M9InBvcG92ZXIiIHJvbGU9InRvb2x0aXAiPjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj48aDMgY2xhc3M9InBvcG92ZXItdGl0bGUiPjwvaDM+PGRpdiBjbGFzcz0icG9wb3Zlci1jb250ZW50Ij48L2Rpdj48L2Rpdj4nfSksYy5wcm90b3R5cGU9YS5leHRlbmQoe30sYS5mbi50b29sdGlwLkNvbnN0cnVjdG9yLnByb3RvdHlwZSksYy5wcm90b3R5cGUuY29uc3RydWN0b3I9YyxjLnByb3RvdHlwZS5nZXREZWZhdWx0cz1mdW5jdGlvbigpe3JldHVybiBjLkRFRkFVTFRTfSxjLnByb3RvdHlwZS5zZXRDb250ZW50PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50aXAoKSxiPXRoaXMuZ2V0VGl0bGUoKSxjPXRoaXMuZ2V0Q29udGVudCgpO2EuZmluZCgiLnBvcG92ZXItdGl0bGUiKVt0aGlzLm9wdGlvbnMuaHRtbD8iaHRtbCI6InRleHQiXShiKSxhLmZpbmQoIi5wb3BvdmVyLWNvbnRlbnQiKS5jaGlsZHJlbigpLmRldGFjaCgpLmVuZCgpW3RoaXMub3B0aW9ucy5odG1sPyJzdHJpbmciPT10eXBlb2YgYz8iaHRtbCI6ImFwcGVuZCI6InRleHQiXShjKSxhLnJlbW92ZUNsYXNzKCJmYWRlIHRvcCBib3R0b20gbGVmdCByaWdodCBpbiIpLGEuZmluZCgiLnBvcG92ZXItdGl0bGUiKS5odG1sKCl8fGEuZmluZCgiLnBvcG92ZXItdGl0bGUiKS5oaWRlKCl9LGMucHJvdG90eXBlLmhhc0NvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaXRsZSgpfHx0aGlzLmdldENvbnRlbnQoKX0sYy5wcm90b3R5cGUuZ2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQsYj10aGlzLm9wdGlvbnM7cmV0dXJuIGEuYXR0cigiZGF0YS1jb250ZW50Iil8fCgiZnVuY3Rpb24iPT10eXBlb2YgYi5jb250ZW50P2IuY29udGVudC5jYWxsKGFbMF0pOmIuY29udGVudCl9LGMucHJvdG90eXBlLmFycm93PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGFycm93PXRoaXMuJGFycm93fHx0aGlzLnRpcCgpLmZpbmQoIi5hcnJvdyIpfTt2YXIgZD1hLmZuLnBvcG92ZXI7YS5mbi5wb3BvdmVyPWIsYS5mbi5wb3BvdmVyLkNvbnN0cnVjdG9yPWMsYS5mbi5wb3BvdmVyLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5wb3BvdmVyPWQsdGhpc319KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGMsZCl7dGhpcy4kYm9keT1hKGRvY3VtZW50LmJvZHkpLHRoaXMuJHNjcm9sbEVsZW1lbnQ9YShhKGMpLmlzKGRvY3VtZW50LmJvZHkpP3dpbmRvdzpjKSx0aGlzLm9wdGlvbnM9YS5leHRlbmQoe30sYi5ERUZBVUxUUyxkKSx0aGlzLnNlbGVjdG9yPSh0aGlzLm9wdGlvbnMudGFyZ2V0fHwiIikrIiAubmF2IGxpID4gYSIsdGhpcy5vZmZzZXRzPVtdLHRoaXMudGFyZ2V0cz1bXSx0aGlzLmFjdGl2ZVRhcmdldD1udWxsLHRoaXMuc2Nyb2xsSGVpZ2h0PTAsdGhpcy4kc2Nyb2xsRWxlbWVudC5vbigic2Nyb2xsLmJzLnNjcm9sbHNweSIsYS5wcm94eSh0aGlzLnByb2Nlc3MsdGhpcykpLHRoaXMucmVmcmVzaCgpLHRoaXMucHJvY2VzcygpfWZ1bmN0aW9uIGMoYyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLnNjcm9sbHNweSIpLGY9Im9iamVjdCI9PXR5cGVvZiBjJiZjO2V8fGQuZGF0YSgiYnMuc2Nyb2xsc3B5IixlPW5ldyBiKHRoaXMsZikpLCJzdHJpbmciPT10eXBlb2YgYyYmZVtjXSgpfSl9Yi5WRVJTSU9OPSIzLjMuNSIsYi5ERUZBVUxUUz17b2Zmc2V0OjEwfSxiLnByb3RvdHlwZS5nZXRTY3JvbGxIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kc2Nyb2xsRWxlbWVudFswXS5zY3JvbGxIZWlnaHR8fE1hdGgubWF4KHRoaXMuJGJvZHlbMF0uc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpfSxiLnByb3RvdHlwZS5yZWZyZXNoPWZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPSJvZmZzZXQiLGQ9MDt0aGlzLm9mZnNldHM9W10sdGhpcy50YXJnZXRzPVtdLHRoaXMuc2Nyb2xsSGVpZ2h0PXRoaXMuZ2V0U2Nyb2xsSGVpZ2h0KCksYS5pc1dpbmRvdyh0aGlzLiRzY3JvbGxFbGVtZW50WzBdKXx8KGM9InBvc2l0aW9uIixkPXRoaXMuJHNjcm9sbEVsZW1lbnQuc2Nyb2xsVG9wKCkpLHRoaXMuJGJvZHkuZmluZCh0aGlzLnNlbGVjdG9yKS5tYXAoZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpLGU9Yi5kYXRhKCJ0YXJnZXQiKXx8Yi5hdHRyKCJocmVmIiksZj0vXiMuLy50ZXN0KGUpJiZhKGUpO3JldHVybiBmJiZmLmxlbmd0aCYmZi5pcygiOnZpc2libGUiKSYmW1tmW2NdKCkudG9wK2QsZV1dfHxudWxsfSkuc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhWzBdLWJbMF19KS5lYWNoKGZ1bmN0aW9uKCl7Yi5vZmZzZXRzLnB1c2godGhpc1swXSksYi50YXJnZXRzLnB1c2godGhpc1sxXSl9KX0sYi5wcm90b3R5cGUucHJvY2Vzcz1mdW5jdGlvbigpe3ZhciBhLGI9dGhpcy4kc2Nyb2xsRWxlbWVudC5zY3JvbGxUb3AoKSt0aGlzLm9wdGlvbnMub2Zmc2V0LGM9dGhpcy5nZXRTY3JvbGxIZWlnaHQoKSxkPXRoaXMub3B0aW9ucy5vZmZzZXQrYy10aGlzLiRzY3JvbGxFbGVtZW50LmhlaWdodCgpLGU9dGhpcy5vZmZzZXRzLGY9dGhpcy50YXJnZXRzLGc9dGhpcy5hY3RpdmVUYXJnZXQ7aWYodGhpcy5zY3JvbGxIZWlnaHQhPWMmJnRoaXMucmVmcmVzaCgpLGI+PWQpcmV0dXJuIGchPShhPWZbZi5sZW5ndGgtMV0pJiZ0aGlzLmFjdGl2YXRlKGEpO2lmKGcmJmI8ZVswXSlyZXR1cm4gdGhpcy5hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLmNsZWFyKCk7Zm9yKGE9ZS5sZW5ndGg7YS0tOylnIT1mW2FdJiZiPj1lW2FdJiYodm9pZCAwPT09ZVthKzFdfHxiPGVbYSsxXSkmJnRoaXMuYWN0aXZhdGUoZlthXSl9LGIucHJvdG90eXBlLmFjdGl2YXRlPWZ1bmN0aW9uKGIpe3RoaXMuYWN0aXZlVGFyZ2V0PWIsdGhpcy5jbGVhcigpO3ZhciBjPXRoaXMuc2VsZWN0b3IrJ1tkYXRhLXRhcmdldD0iJytiKyciXSwnK3RoaXMuc2VsZWN0b3IrJ1tocmVmPSInK2IrJyJdJyxkPWEoYykucGFyZW50cygibGkiKS5hZGRDbGFzcygiYWN0aXZlIik7ZC5wYXJlbnQoIi5kcm9wZG93bi1tZW51IikubGVuZ3RoJiYoZD1kLmNsb3Nlc3QoImxpLmRyb3Bkb3duIikuYWRkQ2xhc3MoImFjdGl2ZSIpKSwKZC50cmlnZ2VyKCJhY3RpdmF0ZS5icy5zY3JvbGxzcHkiKX0sYi5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXthKHRoaXMuc2VsZWN0b3IpLnBhcmVudHNVbnRpbCh0aGlzLm9wdGlvbnMudGFyZ2V0LCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpfTt2YXIgZD1hLmZuLnNjcm9sbHNweTthLmZuLnNjcm9sbHNweT1jLGEuZm4uc2Nyb2xsc3B5LkNvbnN0cnVjdG9yPWIsYS5mbi5zY3JvbGxzcHkubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLnNjcm9sbHNweT1kLHRoaXN9LGEod2luZG93KS5vbigibG9hZC5icy5zY3JvbGxzcHkuZGF0YS1hcGkiLGZ1bmN0aW9uKCl7YSgnW2RhdGEtc3B5PSJzY3JvbGwiXScpLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpO2MuY2FsbChiLGIuZGF0YSgpKX0pfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy50YWIiKTtlfHxkLmRhdGEoImJzLnRhYiIsZT1uZXcgYyh0aGlzKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCl9KX12YXIgYz1mdW5jdGlvbihiKXt0aGlzLmVsZW1lbnQ9YShiKX07Yy5WRVJTSU9OPSIzLjMuNSIsYy5UUkFOU0lUSU9OX0RVUkFUSU9OPTE1MCxjLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5lbGVtZW50LGM9Yi5jbG9zZXN0KCJ1bDpub3QoLmRyb3Bkb3duLW1lbnUpIiksZD1iLmRhdGEoInRhcmdldCIpO2lmKGR8fChkPWIuYXR0cigiaHJlZiIpLGQ9ZCYmZC5yZXBsYWNlKC8uKig/PSNbXlxzXSokKS8sIiIpKSwhYi5wYXJlbnQoImxpIikuaGFzQ2xhc3MoImFjdGl2ZSIpKXt2YXIgZT1jLmZpbmQoIi5hY3RpdmU6bGFzdCBhIiksZj1hLkV2ZW50KCJoaWRlLmJzLnRhYiIse3JlbGF0ZWRUYXJnZXQ6YlswXX0pLGc9YS5FdmVudCgic2hvdy5icy50YWIiLHtyZWxhdGVkVGFyZ2V0OmVbMF19KTtpZihlLnRyaWdnZXIoZiksYi50cmlnZ2VyKGcpLCFnLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYhZi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIGg9YShkKTt0aGlzLmFjdGl2YXRlKGIuY2xvc2VzdCgibGkiKSxjKSx0aGlzLmFjdGl2YXRlKGgsaC5wYXJlbnQoKSxmdW5jdGlvbigpe2UudHJpZ2dlcih7dHlwZToiaGlkZGVuLmJzLnRhYiIscmVsYXRlZFRhcmdldDpiWzBdfSksYi50cmlnZ2VyKHt0eXBlOiJzaG93bi5icy50YWIiLHJlbGF0ZWRUYXJnZXQ6ZVswXX0pfSl9fX0sYy5wcm90b3R5cGUuYWN0aXZhdGU9ZnVuY3Rpb24oYixkLGUpe2Z1bmN0aW9uIGYoKXtnLnJlbW92ZUNsYXNzKCJhY3RpdmUiKS5maW5kKCI+IC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKS5lbmQoKS5maW5kKCdbZGF0YS10b2dnbGU9InRhYiJdJykuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpLGIuYWRkQ2xhc3MoImFjdGl2ZSIpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0idGFiIl0nKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksaD8oYlswXS5vZmZzZXRXaWR0aCxiLmFkZENsYXNzKCJpbiIpKTpiLnJlbW92ZUNsYXNzKCJmYWRlIiksYi5wYXJlbnQoIi5kcm9wZG93bi1tZW51IikubGVuZ3RoJiZiLmNsb3Nlc3QoImxpLmRyb3Bkb3duIikuYWRkQ2xhc3MoImFjdGl2ZSIpLmVuZCgpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0idGFiIl0nKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksZSYmZSgpfXZhciBnPWQuZmluZCgiPiAuYWN0aXZlIiksaD1lJiZhLnN1cHBvcnQudHJhbnNpdGlvbiYmKGcubGVuZ3RoJiZnLmhhc0NsYXNzKCJmYWRlIil8fCEhZC5maW5kKCI+IC5mYWRlIikubGVuZ3RoKTtnLmxlbmd0aCYmaD9nLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixmKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pOmYoKSxnLnJlbW92ZUNsYXNzKCJpbiIpfTt2YXIgZD1hLmZuLnRhYjthLmZuLnRhYj1iLGEuZm4udGFiLkNvbnN0cnVjdG9yPWMsYS5mbi50YWIubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLnRhYj1kLHRoaXN9O3ZhciBlPWZ1bmN0aW9uKGMpe2MucHJldmVudERlZmF1bHQoKSxiLmNhbGwoYSh0aGlzKSwic2hvdyIpfTthKGRvY3VtZW50KS5vbigiY2xpY2suYnMudGFiLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJ0YWIiXScsZSkub24oImNsaWNrLmJzLnRhYi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0icGlsbCJdJyxlKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLmFmZml4IiksZj0ib2JqZWN0Ij09dHlwZW9mIGImJmI7ZXx8ZC5kYXRhKCJicy5hZmZpeCIsZT1uZXcgYyh0aGlzLGYpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0oKX0pfXZhciBjPWZ1bmN0aW9uKGIsZCl7dGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZCksdGhpcy4kdGFyZ2V0PWEodGhpcy5vcHRpb25zLnRhcmdldCkub24oInNjcm9sbC5icy5hZmZpeC5kYXRhLWFwaSIsYS5wcm94eSh0aGlzLmNoZWNrUG9zaXRpb24sdGhpcykpLm9uKCJjbGljay5icy5hZmZpeC5kYXRhLWFwaSIsYS5wcm94eSh0aGlzLmNoZWNrUG9zaXRpb25XaXRoRXZlbnRMb29wLHRoaXMpKSx0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5hZmZpeGVkPW51bGwsdGhpcy51bnBpbj1udWxsLHRoaXMucGlubmVkT2Zmc2V0PW51bGwsdGhpcy5jaGVja1Bvc2l0aW9uKCl9O2MuVkVSU0lPTj0iMy4zLjUiLGMuUkVTRVQ9ImFmZml4IGFmZml4LXRvcCBhZmZpeC1ib3R0b20iLGMuREVGQVVMVFM9e29mZnNldDowLHRhcmdldDp3aW5kb3d9LGMucHJvdG90eXBlLmdldFN0YXRlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRoaXMuJHRhcmdldC5zY3JvbGxUb3AoKSxmPXRoaXMuJGVsZW1lbnQub2Zmc2V0KCksZz10aGlzLiR0YXJnZXQuaGVpZ2h0KCk7aWYobnVsbCE9YyYmInRvcCI9PXRoaXMuYWZmaXhlZClyZXR1cm4gYz5lPyJ0b3AiOiExO2lmKCJib3R0b20iPT10aGlzLmFmZml4ZWQpcmV0dXJuIG51bGwhPWM/ZSt0aGlzLnVucGluPD1mLnRvcD8hMToiYm90dG9tIjphLWQ+PWUrZz8hMToiYm90dG9tIjt2YXIgaD1udWxsPT10aGlzLmFmZml4ZWQsaT1oP2U6Zi50b3Asaj1oP2c6YjtyZXR1cm4gbnVsbCE9YyYmYz49ZT8idG9wIjpudWxsIT1kJiZpK2o+PWEtZD8iYm90dG9tIjohMX0sYy5wcm90b3R5cGUuZ2V0UGlubmVkT2Zmc2V0PWZ1bmN0aW9uKCl7aWYodGhpcy5waW5uZWRPZmZzZXQpcmV0dXJuIHRoaXMucGlubmVkT2Zmc2V0O3RoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoYy5SRVNFVCkuYWRkQ2xhc3MoImFmZml4Iik7dmFyIGE9dGhpcy4kdGFyZ2V0LnNjcm9sbFRvcCgpLGI9dGhpcy4kZWxlbWVudC5vZmZzZXQoKTtyZXR1cm4gdGhpcy5waW5uZWRPZmZzZXQ9Yi50b3AtYX0sYy5wcm90b3R5cGUuY2hlY2tQb3NpdGlvbldpdGhFdmVudExvb3A9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGEucHJveHkodGhpcy5jaGVja1Bvc2l0aW9uLHRoaXMpLDEpfSxjLnByb3RvdHlwZS5jaGVja1Bvc2l0aW9uPWZ1bmN0aW9uKCl7aWYodGhpcy4kZWxlbWVudC5pcygiOnZpc2libGUiKSl7dmFyIGI9dGhpcy4kZWxlbWVudC5oZWlnaHQoKSxkPXRoaXMub3B0aW9ucy5vZmZzZXQsZT1kLnRvcCxmPWQuYm90dG9tLGc9TWF0aC5tYXgoYShkb2N1bWVudCkuaGVpZ2h0KCksYShkb2N1bWVudC5ib2R5KS5oZWlnaHQoKSk7Im9iamVjdCIhPXR5cGVvZiBkJiYoZj1lPWQpLCJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1kLnRvcCh0aGlzLiRlbGVtZW50KSksImZ1bmN0aW9uIj09dHlwZW9mIGYmJihmPWQuYm90dG9tKHRoaXMuJGVsZW1lbnQpKTt2YXIgaD10aGlzLmdldFN0YXRlKGcsYixlLGYpO2lmKHRoaXMuYWZmaXhlZCE9aCl7bnVsbCE9dGhpcy51bnBpbiYmdGhpcy4kZWxlbWVudC5jc3MoInRvcCIsIiIpO3ZhciBpPSJhZmZpeCIrKGg/Ii0iK2g6IiIpLGo9YS5FdmVudChpKyIuYnMuYWZmaXgiKTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoaiksai5pc0RlZmF1bHRQcmV2ZW50ZWQoKSlyZXR1cm47dGhpcy5hZmZpeGVkPWgsdGhpcy51bnBpbj0iYm90dG9tIj09aD90aGlzLmdldFBpbm5lZE9mZnNldCgpOm51bGwsdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyhjLlJFU0VUKS5hZGRDbGFzcyhpKS50cmlnZ2VyKGkucmVwbGFjZSgiYWZmaXgiLCJhZmZpeGVkIikrIi5icy5hZmZpeCIpfSJib3R0b20iPT1oJiZ0aGlzLiRlbGVtZW50Lm9mZnNldCh7dG9wOmctYi1mfSl9fTt2YXIgZD1hLmZuLmFmZml4O2EuZm4uYWZmaXg9YixhLmZuLmFmZml4LkNvbnN0cnVjdG9yPWMsYS5mbi5hZmZpeC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYWZmaXg9ZCx0aGlzfSxhKHdpbmRvdykub24oImxvYWQiLGZ1bmN0aW9uKCl7YSgnW2RhdGEtc3B5PSJhZmZpeCJdJykuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyksZD1jLmRhdGEoKTtkLm9mZnNldD1kLm9mZnNldHx8e30sbnVsbCE9ZC5vZmZzZXRCb3R0b20mJihkLm9mZnNldC5ib3R0b209ZC5vZmZzZXRCb3R0b20pLG51bGwhPWQub2Zmc2V0VG9wJiYoZC5vZmZzZXQudG9wPWQub2Zmc2V0VG9wKSxiLmNhbGwoYyxkKX0pfSl9KGpRdWVyeSk7&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,LyoqCiogQHByZXNlcnZlIEhUTUw1IFNoaXYgMy43LjIgfCBAYWZhcmthcyBAamRhbHRvbiBAam9uX25lYWwgQHJlbSB8IE1JVC9HUEwyIExpY2Vuc2VkCiovCi8vIE9ubHkgcnVuIHRoaXMgY29kZSBpbiBJRSA4CmlmICghIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKCJNU0lFIDgiKSkgewohZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEsYil7dmFyIGM9YS5jcmVhdGVFbGVtZW50KCJwIiksZD1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGEuZG9jdW1lbnRFbGVtZW50O3JldHVybiBjLmlubmVySFRNTD0ieDxzdHlsZT4iK2IrIjwvc3R5bGU+IixkLmluc2VydEJlZm9yZShjLmxhc3RDaGlsZCxkLmZpcnN0Q2hpbGQpfWZ1bmN0aW9uIGQoKXt2YXIgYT10LmVsZW1lbnRzO3JldHVybiJzdHJpbmciPT10eXBlb2YgYT9hLnNwbGl0KCIgIik6YX1mdW5jdGlvbiBlKGEsYil7dmFyIGM9dC5lbGVtZW50czsic3RyaW5nIiE9dHlwZW9mIGMmJihjPWMuam9pbigiICIpKSwic3RyaW5nIiE9dHlwZW9mIGEmJihhPWEuam9pbigiICIpKSx0LmVsZW1lbnRzPWMrIiAiK2EsaihiKX1mdW5jdGlvbiBmKGEpe3ZhciBiPXNbYVtxXV07cmV0dXJuIGJ8fChiPXt9LHIrKyxhW3FdPXIsc1tyXT1iKSxifWZ1bmN0aW9uIGcoYSxjLGQpe2lmKGN8fChjPWIpLGwpcmV0dXJuIGMuY3JlYXRlRWxlbWVudChhKTtkfHwoZD1mKGMpKTt2YXIgZTtyZXR1cm4gZT1kLmNhY2hlW2FdP2QuY2FjaGVbYV0uY2xvbmVOb2RlKCk6cC50ZXN0KGEpPyhkLmNhY2hlW2FdPWQuY3JlYXRlRWxlbShhKSkuY2xvbmVOb2RlKCk6ZC5jcmVhdGVFbGVtKGEpLCFlLmNhbkhhdmVDaGlsZHJlbnx8by50ZXN0KGEpfHxlLnRhZ1Vybj9lOmQuZnJhZy5hcHBlbmRDaGlsZChlKX1mdW5jdGlvbiBoKGEsYyl7aWYoYXx8KGE9YiksbClyZXR1cm4gYS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Yz1jfHxmKGEpO2Zvcih2YXIgZT1jLmZyYWcuY2xvbmVOb2RlKCksZz0wLGg9ZCgpLGk9aC5sZW5ndGg7aT5nO2crKyllLmNyZWF0ZUVsZW1lbnQoaFtnXSk7cmV0dXJuIGV9ZnVuY3Rpb24gaShhLGIpe2IuY2FjaGV8fChiLmNhY2hlPXt9LGIuY3JlYXRlRWxlbT1hLmNyZWF0ZUVsZW1lbnQsYi5jcmVhdGVGcmFnPWEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCxiLmZyYWc9Yi5jcmVhdGVGcmFnKCkpLGEuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihjKXtyZXR1cm4gdC5zaGl2TWV0aG9kcz9nKGMsYSxiKTpiLmNyZWF0ZUVsZW0oYyl9LGEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudD1GdW5jdGlvbigiaCxmIiwicmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49Zi5jbG9uZU5vZGUoKSxjPW4uY3JlYXRlRWxlbWVudDtoLnNoaXZNZXRob2RzJiYoIitkKCkuam9pbigpLnJlcGxhY2UoL1tcd1wtOl0rL2csZnVuY3Rpb24oYSl7cmV0dXJuIGIuY3JlYXRlRWxlbShhKSxiLmZyYWcuY3JlYXRlRWxlbWVudChhKSwnYygiJythKyciKSd9KSsiKTtyZXR1cm4gbn0iKSh0LGIuZnJhZyl9ZnVuY3Rpb24gaihhKXthfHwoYT1iKTt2YXIgZD1mKGEpO3JldHVybiF0LnNoaXZDU1N8fGt8fGQuaGFzQ1NTfHwoZC5oYXNDU1M9ISFjKGEsImFydGljbGUsYXNpZGUsZGlhbG9nLGZpZ2NhcHRpb24sZmlndXJlLGZvb3RlcixoZWFkZXIsaGdyb3VwLG1haW4sbmF2LHNlY3Rpb257ZGlzcGxheTpibG9ja31tYXJre2JhY2tncm91bmQ6I0ZGMDtjb2xvcjojMDAwfXRlbXBsYXRle2Rpc3BsYXk6bm9uZX0iKSksbHx8aShhLGQpLGF9dmFyIGssbCxtPSIzLjcuMiIsbj1hLmh0bWw1fHx7fSxvPS9ePHxeKD86YnV0dG9ufG1hcHxzZWxlY3R8dGV4dGFyZWF8b2JqZWN0fGlmcmFtZXxvcHRpb258b3B0Z3JvdXApJC9pLHA9L14oPzphfGJ8Y29kZXxkaXZ8ZmllbGRzZXR8aDF8aDJ8aDN8aDR8aDV8aDZ8aXxsYWJlbHxsaXxvbHxwfHF8c3BhbnxzdHJvbmd8c3R5bGV8dGFibGV8dGJvZHl8dGR8dGh8dHJ8dWwpJC9pLHE9Il9odG1sNXNoaXYiLHI9MCxzPXt9OyFmdW5jdGlvbigpe3RyeXt2YXIgYT1iLmNyZWF0ZUVsZW1lbnQoImEiKTthLmlubmVySFRNTD0iPHh5ej48L3h5ej4iLGs9ImhpZGRlbiJpbiBhLGw9MT09YS5jaGlsZE5vZGVzLmxlbmd0aHx8ZnVuY3Rpb24oKXtiLmNyZWF0ZUVsZW1lbnQoImEiKTt2YXIgYT1iLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIGEuY2xvbmVOb2RlfHwidW5kZWZpbmVkIj09dHlwZW9mIGEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudHx8InVuZGVmaW5lZCI9PXR5cGVvZiBhLmNyZWF0ZUVsZW1lbnR9KCl9Y2F0Y2goYyl7az0hMCxsPSEwfX0oKTt2YXIgdD17ZWxlbWVudHM6bi5lbGVtZW50c3x8ImFiYnIgYXJ0aWNsZSBhc2lkZSBhdWRpbyBiZGkgY2FudmFzIGRhdGEgZGF0YWxpc3QgZGV0YWlscyBkaWFsb2cgZmlnY2FwdGlvbiBmaWd1cmUgZm9vdGVyIGhlYWRlciBoZ3JvdXAgbWFpbiBtYXJrIG1ldGVyIG5hdiBvdXRwdXQgcGljdHVyZSBwcm9ncmVzcyBzZWN0aW9uIHN1bW1hcnkgdGVtcGxhdGUgdGltZSB2aWRlbyIsdmVyc2lvbjptLHNoaXZDU1M6bi5zaGl2Q1NTIT09ITEsc3VwcG9ydHNVbmtub3duRWxlbWVudHM6bCxzaGl2TWV0aG9kczpuLnNoaXZNZXRob2RzIT09ITEsdHlwZToiZGVmYXVsdCIsc2hpdkRvY3VtZW50OmosY3JlYXRlRWxlbWVudDpnLGNyZWF0ZURvY3VtZW50RnJhZ21lbnQ6aCxhZGRFbGVtZW50czplfTthLmh0bWw1PXQsaihiKX0odGhpcyxkb2N1bWVudCk7Cn07Cg==&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,LyohIFJlc3BvbmQuanMgdjEuNC4yOiBtaW4vbWF4LXdpZHRoIG1lZGlhIHF1ZXJ5IHBvbHlmaWxsICogQ29weXJpZ2h0IDIwMTMgU2NvdHQgSmVobAogKiBMaWNlbnNlZCB1bmRlciBodHRwczovL2dpdGh1Yi5jb20vc2NvdHRqZWhsL1Jlc3BvbmQvYmxvYi9tYXN0ZXIvTElDRU5TRS1NSVQKICogICovCgovLyBPbmx5IHJ1biB0aGlzIGNvZGUgaW4gSUUgOAppZiAoISF3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgiTVNJRSA4IikpIHsKIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjthLm1hdGNoTWVkaWE9YS5tYXRjaE1lZGlhfHxmdW5jdGlvbihhKXt2YXIgYixjPWEuZG9jdW1lbnRFbGVtZW50LGQ9Yy5maXJzdEVsZW1lbnRDaGlsZHx8Yy5maXJzdENoaWxkLGU9YS5jcmVhdGVFbGVtZW50KCJib2R5IiksZj1hLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBmLmlkPSJtcS10ZXN0LTEiLGYuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7dG9wOi0xMDBlbSIsZS5zdHlsZS5iYWNrZ3JvdW5kPSJub25lIixlLmFwcGVuZENoaWxkKGYpLGZ1bmN0aW9uKGEpe3JldHVybiBmLmlubmVySFRNTD0nJnNoeTs8c3R5bGUgbWVkaWE9IicrYSsnIj4gI21xLXRlc3QtMSB7IHdpZHRoOiA0MnB4OyB9PC9zdHlsZT4nLGMuaW5zZXJ0QmVmb3JlKGUsZCksYj00Mj09PWYub2Zmc2V0V2lkdGgsYy5yZW1vdmVDaGlsZChlKSx7bWF0Y2hlczpiLG1lZGlhOmF9fX0oYS5kb2N1bWVudCl9KHRoaXMpLGZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKCl7dSghMCl9dmFyIGM9e307YS5yZXNwb25kPWMsYy51cGRhdGU9ZnVuY3Rpb24oKXt9O3ZhciBkPVtdLGU9ZnVuY3Rpb24oKXt2YXIgYj0hMTt0cnl7Yj1uZXcgYS5YTUxIdHRwUmVxdWVzdH1jYXRjaChjKXtiPW5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGJ9fSgpLGY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1lKCk7YyYmKGMub3BlbigiR0VUIixhLCEwKSxjLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQhPT1jLnJlYWR5U3RhdGV8fDIwMCE9PWMuc3RhdHVzJiYzMDQhPT1jLnN0YXR1c3x8YihjLnJlc3BvbnNlVGV4dCl9LDQhPT1jLnJlYWR5U3RhdGUmJmMuc2VuZChudWxsKSl9O2lmKGMuYWpheD1mLGMucXVldWU9ZCxjLnJlZ2V4PXttZWRpYTovQG1lZGlhW15ce10rXHsoW15ce1x9XSpce1teXH1ce10qXH0pKy9naSxrZXlmcmFtZXM6L0AoPzpcLSg/Om98bW96fHdlYmtpdClcLSk/a2V5ZnJhbWVzW15ce10rXHsoPzpbXlx7XH1dKlx7W15cfVx7XSpcfSkrW15cfV0qXH0vZ2ksdXJsczovKHVybFwoKVsnIl0/KFteXC9cKSciXVteOlwpJyJdKylbJyJdPyhcKSkvZyxmaW5kU3R5bGVzOi9AbWVkaWEgKihbXlx7XSspXHsoW1xTXHNdKz8pJC8sb25seTovKG9ubHlccyspPyhbYS16QS1aXSspXHM/LyxtaW53Oi9cKFtcc10qbWluXC13aWR0aFxzKjpbXHNdKihbXHNdKlswLTlcLl0rKShweHxlbSlbXHNdKlwpLyxtYXh3Oi9cKFtcc10qbWF4XC13aWR0aFxzKjpbXHNdKihbXHNdKlswLTlcLl0rKShweHxlbSlbXHNdKlwpL30sYy5tZWRpYVF1ZXJpZXNTdXBwb3J0ZWQ9YS5tYXRjaE1lZGlhJiZudWxsIT09YS5tYXRjaE1lZGlhKCJvbmx5IGFsbCIpJiZhLm1hdGNoTWVkaWEoIm9ubHkgYWxsIikubWF0Y2hlcywhYy5tZWRpYVF1ZXJpZXNTdXBwb3J0ZWQpe3ZhciBnLGgsaSxqPWEuZG9jdW1lbnQsaz1qLmRvY3VtZW50RWxlbWVudCxsPVtdLG09W10sbj1bXSxvPXt9LHA9MzAscT1qLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGsscj1qLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJiYXNlIilbMF0scz1xLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksdD1mdW5jdGlvbigpe3ZhciBhLGI9ai5jcmVhdGVFbGVtZW50KCJkaXYiKSxjPWouYm9keSxkPWsuc3R5bGUuZm9udFNpemUsZT1jJiZjLnN0eWxlLmZvbnRTaXplLGY9ITE7cmV0dXJuIGIuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Zm9udC1zaXplOjFlbTt3aWR0aDoxZW0iLGN8fChjPWY9ai5jcmVhdGVFbGVtZW50KCJib2R5IiksYy5zdHlsZS5iYWNrZ3JvdW5kPSJub25lIiksay5zdHlsZS5mb250U2l6ZT0iMTAwJSIsYy5zdHlsZS5mb250U2l6ZT0iMTAwJSIsYy5hcHBlbmRDaGlsZChiKSxmJiZrLmluc2VydEJlZm9yZShjLGsuZmlyc3RDaGlsZCksYT1iLm9mZnNldFdpZHRoLGY/ay5yZW1vdmVDaGlsZChjKTpjLnJlbW92ZUNoaWxkKGIpLGsuc3R5bGUuZm9udFNpemU9ZCxlJiYoYy5zdHlsZS5mb250U2l6ZT1lKSxhPWk9cGFyc2VGbG9hdChhKX0sdT1mdW5jdGlvbihiKXt2YXIgYz0iY2xpZW50V2lkdGgiLGQ9a1tjXSxlPSJDU1MxQ29tcGF0Ij09PWouY29tcGF0TW9kZSYmZHx8ai5ib2R5W2NdfHxkLGY9e30sbz1zW3MubGVuZ3RoLTFdLHI9KG5ldyBEYXRlKS5nZXRUaW1lKCk7aWYoYiYmZyYmcD5yLWcpcmV0dXJuIGEuY2xlYXJUaW1lb3V0KGgpLGg9YS5zZXRUaW1lb3V0KHUscCksdm9pZCAwO2c9cjtmb3IodmFyIHYgaW4gbClpZihsLmhhc093blByb3BlcnR5KHYpKXt2YXIgdz1sW3ZdLHg9dy5taW53LHk9dy5tYXh3LHo9bnVsbD09PXgsQT1udWxsPT09eSxCPSJlbSI7eCYmKHg9cGFyc2VGbG9hdCh4KSooeC5pbmRleE9mKEIpPi0xP2l8fHQoKToxKSkseSYmKHk9cGFyc2VGbG9hdCh5KSooeS5pbmRleE9mKEIpPi0xP2l8fHQoKToxKSksdy5oYXNxdWVyeSYmKHomJkF8fCEoenx8ZT49eCl8fCEoQXx8eT49ZSkpfHwoZlt3Lm1lZGlhXXx8KGZbdy5tZWRpYV09W10pLGZbdy5tZWRpYV0ucHVzaChtW3cucnVsZXNdKSl9Zm9yKHZhciBDIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShDKSYmbltDXSYmbltDXS5wYXJlbnROb2RlPT09cSYmcS5yZW1vdmVDaGlsZChuW0NdKTtuLmxlbmd0aD0wO2Zvcih2YXIgRCBpbiBmKWlmKGYuaGFzT3duUHJvcGVydHkoRCkpe3ZhciBFPWouY3JlYXRlRWxlbWVudCgic3R5bGUiKSxGPWZbRF0uam9pbigiXG4iKTtFLnR5cGU9InRleHQvY3NzIixFLm1lZGlhPUQscS5pbnNlcnRCZWZvcmUoRSxvLm5leHRTaWJsaW5nKSxFLnN0eWxlU2hlZXQ/RS5zdHlsZVNoZWV0LmNzc1RleHQ9RjpFLmFwcGVuZENoaWxkKGouY3JlYXRlVGV4dE5vZGUoRikpLG4ucHVzaChFKX19LHY9ZnVuY3Rpb24oYSxiLGQpe3ZhciBlPWEucmVwbGFjZShjLnJlZ2V4LmtleWZyYW1lcywiIikubWF0Y2goYy5yZWdleC5tZWRpYSksZj1lJiZlLmxlbmd0aHx8MDtiPWIuc3Vic3RyaW5nKDAsYi5sYXN0SW5kZXhPZigiLyIpKTt2YXIgZz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKGMucmVnZXgudXJscywiJDEiK2IrIiQyJDMiKX0saD0hZiYmZDtiLmxlbmd0aCYmKGIrPSIvIiksaCYmKGY9MSk7Zm9yKHZhciBpPTA7Zj5pO2krKyl7dmFyIGosayxuLG87aD8oaj1kLG0ucHVzaChnKGEpKSk6KGo9ZVtpXS5tYXRjaChjLnJlZ2V4LmZpbmRTdHlsZXMpJiZSZWdFeHAuJDEsbS5wdXNoKFJlZ0V4cC4kMiYmZyhSZWdFeHAuJDIpKSksbj1qLnNwbGl0KCIsIiksbz1uLmxlbmd0aDtmb3IodmFyIHA9MDtvPnA7cCsrKWs9bltwXSxsLnB1c2goe21lZGlhOmsuc3BsaXQoIigiKVswXS5tYXRjaChjLnJlZ2V4Lm9ubHkpJiZSZWdFeHAuJDJ8fCJhbGwiLHJ1bGVzOm0ubGVuZ3RoLTEsaGFzcXVlcnk6ay5pbmRleE9mKCIoIik+LTEsbWludzprLm1hdGNoKGMucmVnZXgubWludykmJnBhcnNlRmxvYXQoUmVnRXhwLiQxKSsoUmVnRXhwLiQyfHwiIiksbWF4dzprLm1hdGNoKGMucmVnZXgubWF4dykmJnBhcnNlRmxvYXQoUmVnRXhwLiQxKSsoUmVnRXhwLiQyfHwiIil9KX11KCl9LHc9ZnVuY3Rpb24oKXtpZihkLmxlbmd0aCl7dmFyIGI9ZC5zaGlmdCgpO2YoYi5ocmVmLGZ1bmN0aW9uKGMpe3YoYyxiLmhyZWYsYi5tZWRpYSksb1tiLmhyZWZdPSEwLGEuc2V0VGltZW91dChmdW5jdGlvbigpe3coKX0sMCl9KX19LHg9ZnVuY3Rpb24oKXtmb3IodmFyIGI9MDtiPHMubGVuZ3RoO2IrKyl7dmFyIGM9c1tiXSxlPWMuaHJlZixmPWMubWVkaWEsZz1jLnJlbCYmInN0eWxlc2hlZXQiPT09Yy5yZWwudG9Mb3dlckNhc2UoKTtlJiZnJiYhb1tlXSYmKGMuc3R5bGVTaGVldCYmYy5zdHlsZVNoZWV0LnJhd0Nzc1RleHQ/KHYoYy5zdHlsZVNoZWV0LnJhd0Nzc1RleHQsZSxmKSxvW2VdPSEwKTooIS9eKFthLXpBLVo6XSpcL1wvKS8udGVzdChlKSYmIXJ8fGUucmVwbGFjZShSZWdFeHAuJDEsIiIpLnNwbGl0KCIvIilbMF09PT1hLmxvY2F0aW9uLmhvc3QpJiYoIi8vIj09PWUuc3Vic3RyaW5nKDAsMikmJihlPWEubG9jYXRpb24ucHJvdG9jb2wrZSksZC5wdXNoKHtocmVmOmUsbWVkaWE6Zn0pKSl9dygpfTt4KCksYy51cGRhdGU9eCxjLmdldEVtVmFsdWU9dCxhLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGIsITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9ucmVzaXplIixiKX19KHRoaXMpOwp9Owo=&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,CgovKioKICogalF1ZXJ5IFBsdWdpbjogU3RpY2t5IFRhYnMKICoKICogQGF1dGhvciBBaWRhbiBMaXN0ZXIgPGFpZGFuQHBocC5uZXQ+CiAqIGFkYXB0ZWQgYnkgUnViZW4gQXJzbGFuIHRvIGFjdGl2YXRlIHBhcmVudCB0YWJzIHRvbwogKiBodHRwOi8vd3d3LmFpZGFubGlzdGVyLmNvbS8yMDE0LzAzL3BlcnNpc3RpbmctdGhlLXRhYi1zdGF0ZS1pbi1ib290c3RyYXAvCiAqLwooZnVuY3Rpb24oJCkgewogICJ1c2Ugc3RyaWN0IjsKICAkLmZuLnJtYXJrZG93blN0aWNreVRhYnMgPSBmdW5jdGlvbigpIHsKICAgIHZhciBjb250ZXh0ID0gdGhpczsKICAgIC8vIFNob3cgdGhlIHRhYiBjb3JyZXNwb25kaW5nIHdpdGggdGhlIGhhc2ggaW4gdGhlIFVSTCwgb3IgdGhlIGZpcnN0IHRhYgogICAgdmFyIHNob3dTdHVmZkZyb21IYXNoID0gZnVuY3Rpb24oKSB7CiAgICAgIHZhciBoYXNoID0gd2luZG93LmxvY2F0aW9uLmhhc2g7CiAgICAgIHZhciBzZWxlY3RvciA9IGhhc2ggPyAnYVtocmVmPSInICsgaGFzaCArICciXScgOiAnbGkuYWN0aXZlID4gYSc7CiAgICAgIHZhciAkc2VsZWN0b3IgPSAkKHNlbGVjdG9yLCBjb250ZXh0KTsKICAgICAgaWYoJHNlbGVjdG9yLmRhdGEoJ3RvZ2dsZScpID09PSAidGFiIikgewogICAgICAgICRzZWxlY3Rvci50YWIoJ3Nob3cnKTsKICAgICAgICAvLyB3YWxrIHVwIHRoZSBhbmNlc3RvcnMgb2YgdGhpcyBlbGVtZW50LCBzaG93IGFueSBoaWRkZW4gdGFicwogICAgICAgICRzZWxlY3Rvci5wYXJlbnRzKCcuc2VjdGlvbi50YWJzZXQnKS5lYWNoKGZ1bmN0aW9uKGksIGVsbSkgewogICAgICAgICAgdmFyIGxpbmsgPSAkKCdhW2hyZWY9IiMnICsgJChlbG0pLmF0dHIoJ2lkJykgKyAnIl0nKTsKICAgICAgICAgIGlmKGxpbmsuZGF0YSgndG9nZ2xlJykgPT09ICJ0YWIiKSB7CiAgICAgICAgICAgIGxpbmsudGFiKCJzaG93Iik7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH07CgoKICAgIC8vIFNldCB0aGUgY29ycmVjdCB0YWIgd2hlbiB0aGUgcGFnZSBsb2FkcwogICAgc2hvd1N0dWZmRnJvbUhhc2goY29udGV4dCk7CgogICAgLy8gU2V0IHRoZSBjb3JyZWN0IHRhYiB3aGVuIGEgdXNlciB1c2VzIHRoZWlyIGJhY2svZm9yd2FyZCBidXR0b24KICAgICQod2luZG93KS5vbignaGFzaGNoYW5nZScsIGZ1bmN0aW9uKCkgewogICAgICBzaG93U3R1ZmZGcm9tSGFzaChjb250ZXh0KTsKICAgIH0pOwoKICAgIC8vIENoYW5nZSB0aGUgVVJMIHdoZW4gdGFicyBhcmUgY2xpY2tlZAogICAgJCgnYScsIGNvbnRleHQpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgaGlzdG9yeS5wdXNoU3RhdGUobnVsbCwgbnVsbCwgdGhpcy5ocmVmKTsKICAgICAgc2hvd1N0dWZmRnJvbUhhc2goY29udGV4dCk7CiAgICB9KTsKCiAgICByZXR1cm4gdGhpczsKICB9Owp9KGpRdWVyeSkpOwoKd2luZG93LmJ1aWxkVGFic2V0cyA9IGZ1bmN0aW9uKHRvY0lEKSB7CgogIC8vIGJ1aWxkIGEgdGFic2V0IGZyb20gYSBzZWN0aW9uIGRpdiB3aXRoIHRoZSAudGFic2V0IGNsYXNzCiAgZnVuY3Rpb24gYnVpbGRUYWJzZXQodGFic2V0KSB7CgogICAgLy8gY2hlY2sgZm9yIGZhZGUgYW5kIHBpbGxzIG9wdGlvbnMKICAgIHZhciBmYWRlID0gdGFic2V0Lmhhc0NsYXNzKCJ0YWJzZXQtZmFkZSIpOwogICAgdmFyIHBpbGxzID0gdGFic2V0Lmhhc0NsYXNzKCJ0YWJzZXQtcGlsbHMiKTsKICAgIHZhciBuYXZDbGFzcyA9IHBpbGxzID8gIm5hdi1waWxscyIgOiAibmF2LXRhYnMiOwoKICAgIC8vIGRldGVybWluZSB0aGUgaGVhZGluZyBsZXZlbCBvZiB0aGUgdGFic2V0IGFuZCB0YWJzCiAgICB2YXIgbWF0Y2ggPSB0YWJzZXQuYXR0cignY2xhc3MnKS5tYXRjaCgvbGV2ZWwoXGQpIC8pOwogICAgaWYgKG1hdGNoID09PSBudWxsKQogICAgICByZXR1cm47CiAgICB2YXIgdGFic2V0TGV2ZWwgPSBOdW1iZXIobWF0Y2hbMV0pOwogICAgdmFyIHRhYkxldmVsID0gdGFic2V0TGV2ZWwgKyAxOwoKICAgIC8vIGZpbmQgYWxsIHN1YmhlYWRpbmdzIGltbWVkaWF0ZWx5IGJlbG93CiAgICB2YXIgdGFicyA9IHRhYnNldC5maW5kKCJkaXYuc2VjdGlvbi5sZXZlbCIgKyB0YWJMZXZlbCk7CiAgICBpZiAoIXRhYnMubGVuZ3RoKQogICAgICByZXR1cm47CgogICAgLy8gY3JlYXRlIHRhYmxpc3QgYW5kIHRhYi1jb250ZW50IGVsZW1lbnRzCiAgICB2YXIgdGFiTGlzdCA9ICQoJzx1bCBjbGFzcz0ibmF2ICcgKyBuYXZDbGFzcyArICciIHJvbGU9InRhYmxpc3QiPjwvdWw+Jyk7CiAgICAkKHRhYnNbMF0pLmJlZm9yZSh0YWJMaXN0KTsKICAgIHZhciB0YWJDb250ZW50ID0gJCgnPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPjwvZGl2PicpOwogICAgJCh0YWJzWzBdKS5iZWZvcmUodGFiQ29udGVudCk7CgogICAgLy8gYnVpbGQgdGhlIHRhYnNldAogICAgdmFyIGFjdGl2ZVRhYiA9IDA7CiAgICB0YWJzLmVhY2goZnVuY3Rpb24oaSkgewoKICAgICAgLy8gZ2V0IHRoZSB0YWIgZGl2CiAgICAgIHZhciB0YWIgPSAkKHRhYnNbaV0pOwoKICAgICAgLy8gZ2V0IHRoZSBpZCB0aGVuIHNhbml0aXplIGl0IGZvciB1c2Ugd2l0aCBib290c3RyYXAgdGFicwogICAgICB2YXIgaWQgPSB0YWIuYXR0cignaWQnKTsKCiAgICAgIC8vIHNlZSBpZiB0aGlzIGlzIG1hcmtlZCBhcyB0aGUgYWN0aXZlIHRhYgogICAgICBpZiAodGFiLmhhc0NsYXNzKCdhY3RpdmUnKSkKICAgICAgICBhY3RpdmVUYWIgPSBpOwoKICAgICAgLy8gcmVtb3ZlIGFueSB0YWJsZSBvZiBjb250ZW50cyBlbnRyaWVzIGFzc29jaWF0ZWQgd2l0aAogICAgICAvLyB0aGlzIElEIChzaW5jZSB3ZSdsbCBiZSByZW1vdmluZyB0aGUgaGVhZGluZyBlbGVtZW50KQogICAgICAkKCJkaXYjIiArIHRvY0lEICsgIiBsaSBhW2hyZWY9JyMiICsgaWQgKyAiJ10iKS5wYXJlbnQoKS5yZW1vdmUoKTsKCiAgICAgIC8vIHNhbml0aXplIHRoZSBpZCBmb3IgdXNlIHdpdGggYm9vdHN0cmFwIHRhYnMKICAgICAgaWQgPSBpZC5yZXBsYWNlKC9bLlwvPyYhIzw+XS9nLCAnJykucmVwbGFjZSgvXHMvZywgJ18nKTsKICAgICAgdGFiLmF0dHIoJ2lkJywgaWQpOwoKICAgICAgLy8gZ2V0IHRoZSBoZWFkaW5nIGVsZW1lbnQgd2l0aGluIGl0LCBncmFiIGl0J3MgdGV4dCwgdGhlbiByZW1vdmUgaXQKICAgICAgdmFyIGhlYWRpbmcgPSB0YWIuZmluZCgnaCcgKyB0YWJMZXZlbCArICc6Zmlyc3QnKTsKICAgICAgdmFyIGhlYWRpbmdUZXh0ID0gaGVhZGluZy5odG1sKCk7CiAgICAgIGhlYWRpbmcucmVtb3ZlKCk7CgogICAgICAvLyBidWlsZCBhbmQgYXBwZW5kIHRoZSB0YWIgbGlzdCBpdGVtCiAgICAgIHZhciBhID0gJCgnPGEgcm9sZT0idGFiIiBkYXRhLXRvZ2dsZT0idGFiIj4nICsgaGVhZGluZ1RleHQgKyAnPC9hPicpOwogICAgICBhLmF0dHIoJ2hyZWYnLCAnIycgKyBpZCk7CiAgICAgIGEuYXR0cignYXJpYS1jb250cm9scycsIGlkKTsKICAgICAgdmFyIGxpID0gJCgnPGxpIHJvbGU9InByZXNlbnRhdGlvbiI+PC9saT4nKTsKICAgICAgbGkuYXBwZW5kKGEpOwogICAgICB0YWJMaXN0LmFwcGVuZChsaSk7CgogICAgICAvLyBzZXQgaXQncyBhdHRyaWJ1dGVzCiAgICAgIHRhYi5hdHRyKCdyb2xlJywgJ3RhYnBhbmVsJyk7CiAgICAgIHRhYi5hZGRDbGFzcygndGFiLXBhbmUnKTsKICAgICAgdGFiLmFkZENsYXNzKCd0YWJiZWQtcGFuZScpOwogICAgICBpZiAoZmFkZSkKICAgICAgICB0YWIuYWRkQ2xhc3MoJ2ZhZGUnKTsKCiAgICAgIC8vIG1vdmUgaXQgaW50byB0aGUgdGFiIGNvbnRlbnQgZGl2CiAgICAgIHRhYi5kZXRhY2goKS5hcHBlbmRUbyh0YWJDb250ZW50KTsKICAgIH0pOwoKICAgIC8vIHNldCBhY3RpdmUgdGFiCiAgICAkKHRhYkxpc3QuY2hpbGRyZW4oJ2xpJylbYWN0aXZlVGFiXSkuYWRkQ2xhc3MoJ2FjdGl2ZScpOwogICAgdmFyIGFjdGl2ZSA9ICQodGFiQ29udGVudC5jaGlsZHJlbignZGl2LnNlY3Rpb24nKVthY3RpdmVUYWJdKTsKICAgIGFjdGl2ZS5hZGRDbGFzcygnYWN0aXZlJyk7CiAgICBpZiAoZmFkZSkKICAgICAgYWN0aXZlLmFkZENsYXNzKCdpbicpOwoKICAgIGlmICh0YWJzZXQuaGFzQ2xhc3MoInRhYnNldC1zdGlja3kiKSkKICAgICAgdGFic2V0LnJtYXJrZG93blN0aWNreVRhYnMoKTsKICB9CgogIC8vIGNvbnZlcnQgc2VjdGlvbiBkaXZzIHdpdGggdGhlIC50YWJzZXQgY2xhc3MgdG8gdGFic2V0cwogIHZhciB0YWJzZXRzID0gJCgiZGl2LnNlY3Rpb24udGFic2V0Iik7CiAgdGFic2V0cy5lYWNoKGZ1bmN0aW9uKGkpIHsKICAgIGJ1aWxkVGFic2V0KCQodGFic2V0c1tpXSkpOwogIH0pOwp9OwoK&quot;&gt;&lt;/script&gt;
&lt;link href=&quot;data:text/css,%2Ehljs%2Dliteral%20%7B%0Acolor%3A%20%23990073%3B%0A%7D%0A%2Ehljs%2Dnumber%20%7B%0Acolor%3A%20%23099%3B%0A%7D%0A%2Ehljs%2Dcomment%20%7B%0Acolor%3A%20%23998%3B%0Afont%2Dstyle%3A%20italic%3B%0A%7D%0A%2Ehljs%2Dkeyword%20%7B%0Acolor%3A%20%23900%3B%0Afont%2Dweight%3A%20bold%3B%0A%7D%0A%2Ehljs%2Dstring%20%7B%0Acolor%3A%20%23d14%3B%0A%7D%0A&quot; rel=&quot;stylesheet&quot; /&gt;
&lt;script src=&quot;data:application/javascript;base64,LyohIGhpZ2hsaWdodC5qcyB2OS4xMi4wIHwgQlNEMyBMaWNlbnNlIHwgZ2l0LmlvL2hsanNsaWNlbnNlICovCiFmdW5jdGlvbihlKXt2YXIgbj0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93fHwib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGY7InVuZGVmaW5lZCIhPXR5cGVvZiBleHBvcnRzP2UoZXhwb3J0cyk6biYmKG4uaGxqcz1lKHt9KSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoW10sZnVuY3Rpb24oKXtyZXR1cm4gbi5obGpzfSkpfShmdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUpe3JldHVybiBlLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKX1mdW5jdGlvbiB0KGUpe3JldHVybiBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gcihlLG4pe3ZhciB0PWUmJmUuZXhlYyhuKTtyZXR1cm4gdCYmMD09PXQuaW5kZXh9ZnVuY3Rpb24gYShlKXtyZXR1cm4gay50ZXN0KGUpfWZ1bmN0aW9uIGkoZSl7dmFyIG4sdCxyLGksbz1lLmNsYXNzTmFtZSsiICI7aWYobys9ZS5wYXJlbnROb2RlP2UucGFyZW50Tm9kZS5jbGFzc05hbWU6IiIsdD1CLmV4ZWMobykpcmV0dXJuIHcodFsxXSk/dFsxXToibm8taGlnaGxpZ2h0Ijtmb3Iobz1vLnNwbGl0KC9ccysvKSxuPTAscj1vLmxlbmd0aDtyPm47bisrKWlmKGk9b1tuXSxhKGkpfHx3KGkpKXJldHVybiBpfWZ1bmN0aW9uIG8oZSl7dmFyIG4sdD17fSxyPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtmb3IobiBpbiBlKXRbbl09ZVtuXTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKGUpe2ZvcihuIGluIGUpdFtuXT1lW25dfSksdH1mdW5jdGlvbiB1KGUpe3ZhciBuPVtdO3JldHVybiBmdW5jdGlvbiByKGUsYSl7Zm9yKHZhciBpPWUuZmlyc3RDaGlsZDtpO2k9aS5uZXh0U2libGluZykzPT09aS5ub2RlVHlwZT9hKz1pLm5vZGVWYWx1ZS5sZW5ndGg6MT09PWkubm9kZVR5cGUmJihuLnB1c2goe2V2ZW50OiJzdGFydCIsb2Zmc2V0OmEsbm9kZTppfSksYT1yKGksYSksdChpKS5tYXRjaCgvYnJ8aHJ8aW1nfGlucHV0Lyl8fG4ucHVzaCh7ZXZlbnQ6InN0b3AiLG9mZnNldDphLG5vZGU6aX0pKTtyZXR1cm4gYX0oZSwwKSxufWZ1bmN0aW9uIGMoZSxyLGEpe2Z1bmN0aW9uIGkoKXtyZXR1cm4gZS5sZW5ndGgmJnIubGVuZ3RoP2VbMF0ub2Zmc2V0IT09clswXS5vZmZzZXQ/ZVswXS5vZmZzZXQ8clswXS5vZmZzZXQ/ZTpyOiJzdGFydCI9PT1yWzBdLmV2ZW50P2U6cjplLmxlbmd0aD9lOnJ9ZnVuY3Rpb24gbyhlKXtmdW5jdGlvbiByKGUpe3JldHVybiIgIitlLm5vZGVOYW1lKyc9IicrbihlLnZhbHVlKS5yZXBsYWNlKCciJywiJnF1b3Q7IikrJyInfXMrPSI8Iit0KGUpK0UubWFwLmNhbGwoZS5hdHRyaWJ1dGVzLHIpLmpvaW4oIiIpKyI+In1mdW5jdGlvbiB1KGUpe3MrPSI8LyIrdChlKSsiPiJ9ZnVuY3Rpb24gYyhlKXsoInN0YXJ0Ij09PWUuZXZlbnQ/bzp1KShlLm5vZGUpfWZvcih2YXIgbD0wLHM9IiIsZj1bXTtlLmxlbmd0aHx8ci5sZW5ndGg7KXt2YXIgZz1pKCk7aWYocys9bihhLnN1YnN0cmluZyhsLGdbMF0ub2Zmc2V0KSksbD1nWzBdLm9mZnNldCxnPT09ZSl7Zi5yZXZlcnNlKCkuZm9yRWFjaCh1KTtkbyBjKGcuc3BsaWNlKDAsMSlbMF0pLGc9aSgpO3doaWxlKGc9PT1lJiZnLmxlbmd0aCYmZ1swXS5vZmZzZXQ9PT1sKTtmLnJldmVyc2UoKS5mb3JFYWNoKG8pfWVsc2Uic3RhcnQiPT09Z1swXS5ldmVudD9mLnB1c2goZ1swXS5ub2RlKTpmLnBvcCgpLGMoZy5zcGxpY2UoMCwxKVswXSl9cmV0dXJuIHMrbihhLnN1YnN0cihsKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS52JiYhZS5jYWNoZWRfdmFyaWFudHMmJihlLmNhY2hlZF92YXJpYW50cz1lLnYubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBvKGUse3Y6bnVsbH0sbil9KSksZS5jYWNoZWRfdmFyaWFudHN8fGUuZVcmJltvKGUpXXx8W2VdfWZ1bmN0aW9uIHMoZSl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZSYmZS5zb3VyY2V8fGV9ZnVuY3Rpb24gdCh0LHIpe3JldHVybiBuZXcgUmVnRXhwKG4odCksIm0iKyhlLmNJPyJpIjoiIikrKHI/ImciOiIiKSl9ZnVuY3Rpb24gcihhLGkpe2lmKCFhLmNvbXBpbGVkKXtpZihhLmNvbXBpbGVkPSEwLGEuaz1hLmt8fGEuYkssYS5rKXt2YXIgbz17fSx1PWZ1bmN0aW9uKG4sdCl7ZS5jSSYmKHQ9dC50b0xvd2VyQ2FzZSgpKSx0LnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnNwbGl0KCJ8Iik7b1t0WzBdXT1bbix0WzFdP051bWJlcih0WzFdKToxXX0pfTsic3RyaW5nIj09dHlwZW9mIGEuaz91KCJrZXl3b3JkIixhLmspOngoYS5rKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3UoZSxhLmtbZV0pfSksYS5rPW99YS5sUj10KGEubHx8L1x3Ky8sITApLGkmJihhLmJLJiYoYS5iPSJcXGIoIithLmJLLnNwbGl0KCIgIikuam9pbigifCIpKyIpXFxiIiksYS5ifHwoYS5iPS9cQnxcYi8pLGEuYlI9dChhLmIpLGEuZXx8YS5lV3x8KGEuZT0vXEJ8XGIvKSxhLmUmJihhLmVSPXQoYS5lKSksYS50RT1uKGEuZSl8fCIiLGEuZVcmJmkudEUmJihhLnRFKz0oYS5lPyJ8IjoiIikraS50RSkpLGEuaSYmKGEuaVI9dChhLmkpKSxudWxsPT1hLnImJihhLnI9MSksYS5jfHwoYS5jPVtdKSxhLmM9QXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBsKCJzZWxmIj09PWU/YTplKX0pKSxhLmMuZm9yRWFjaChmdW5jdGlvbihlKXtyKGUsYSl9KSxhLnN0YXJ0cyYmcihhLnN0YXJ0cyxpKTt2YXIgYz1hLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLmJLPyJcXC4/KCIrZS5iKyIpXFwuPyI6ZS5ifSkuY29uY2F0KFthLnRFLGEuaV0pLm1hcChuKS5maWx0ZXIoQm9vbGVhbik7YS50PWMubGVuZ3RoP3QoYy5qb2luKCJ8IiksITApOntleGVjOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fX19cihlKX1mdW5jdGlvbiBmKGUsdCxhLGkpe2Z1bmN0aW9uIG8oZSxuKXt2YXIgdCxhO2Zvcih0PTAsYT1uLmMubGVuZ3RoO2E+dDt0KyspaWYocihuLmNbdF0uYlIsZSkpcmV0dXJuIG4uY1t0XX1mdW5jdGlvbiB1KGUsbil7aWYocihlLmVSLG4pKXtmb3IoO2UuZW5kc1BhcmVudCYmZS5wYXJlbnQ7KWU9ZS5wYXJlbnQ7cmV0dXJuIGV9cmV0dXJuIGUuZVc/dShlLnBhcmVudCxuKTp2b2lkIDB9ZnVuY3Rpb24gYyhlLG4pe3JldHVybiFhJiZyKG4uaVIsZSl9ZnVuY3Rpb24gbChlLG4pe3ZhciB0PU4uY0k/blswXS50b0xvd2VyQ2FzZSgpOm5bMF07cmV0dXJuIGUuay5oYXNPd25Qcm9wZXJ0eSh0KSYmZS5rW3RdfWZ1bmN0aW9uIHAoZSxuLHQscil7dmFyIGE9cj8iIjpJLmNsYXNzUHJlZml4LGk9JzxzcGFuIGNsYXNzPSInK2Esbz10PyIiOkM7cmV0dXJuIGkrPWUrJyI+JyxpK24rb31mdW5jdGlvbiBoKCl7dmFyIGUsdCxyLGE7aWYoIUUuaylyZXR1cm4gbihrKTtmb3IoYT0iIix0PTAsRS5sUi5sYXN0SW5kZXg9MCxyPUUubFIuZXhlYyhrKTtyOylhKz1uKGsuc3Vic3RyaW5nKHQsci5pbmRleCkpLGU9bChFLHIpLGU/KEIrPWVbMV0sYSs9cChlWzBdLG4oclswXSkpKTphKz1uKHJbMF0pLHQ9RS5sUi5sYXN0SW5kZXgscj1FLmxSLmV4ZWMoayk7cmV0dXJuIGErbihrLnN1YnN0cih0KSl9ZnVuY3Rpb24gZCgpe3ZhciBlPSJzdHJpbmciPT10eXBlb2YgRS5zTDtpZihlJiYheVtFLnNMXSlyZXR1cm4gbihrKTt2YXIgdD1lP2YoRS5zTCxrLCEwLHhbRS5zTF0pOmcoayxFLnNMLmxlbmd0aD9FLnNMOnZvaWQgMCk7cmV0dXJuIEUucj4wJiYoQis9dC5yKSxlJiYoeFtFLnNMXT10LnRvcCkscCh0Lmxhbmd1YWdlLHQudmFsdWUsITEsITApfWZ1bmN0aW9uIGIoKXtMKz1udWxsIT1FLnNMP2QoKTpoKCksaz0iIn1mdW5jdGlvbiB2KGUpe0wrPWUuY04/cChlLmNOLCIiLCEwKToiIixFPU9iamVjdC5jcmVhdGUoZSx7cGFyZW50Ont2YWx1ZTpFfX0pfWZ1bmN0aW9uIG0oZSxuKXtpZihrKz1lLG51bGw9PW4pcmV0dXJuIGIoKSwwO3ZhciB0PW8obixFKTtpZih0KXJldHVybiB0LnNraXA/ays9bjoodC5lQiYmKGsrPW4pLGIoKSx0LnJCfHx0LmVCfHwoaz1uKSksdih0LG4pLHQuckI/MDpuLmxlbmd0aDt2YXIgcj11KEUsbik7aWYocil7dmFyIGE9RTthLnNraXA/ays9bjooYS5yRXx8YS5lRXx8KGsrPW4pLGIoKSxhLmVFJiYoaz1uKSk7ZG8gRS5jTiYmKEwrPUMpLEUuc2tpcHx8KEIrPUUuciksRT1FLnBhcmVudDt3aGlsZShFIT09ci5wYXJlbnQpO3JldHVybiByLnN0YXJ0cyYmdihyLnN0YXJ0cywiIiksYS5yRT8wOm4ubGVuZ3RofWlmKGMobixFKSl0aHJvdyBuZXcgRXJyb3IoJ0lsbGVnYWwgbGV4ZW1lICInK24rJyIgZm9yIG1vZGUgIicrKEUuY058fCI8dW5uYW1lZD4iKSsnIicpO3JldHVybiBrKz1uLG4ubGVuZ3RofHwxfXZhciBOPXcoZSk7aWYoIU4pdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGxhbmd1YWdlOiAiJytlKyciJyk7cyhOKTt2YXIgUixFPWl8fE4seD17fSxMPSIiO2ZvcihSPUU7UiE9PU47Uj1SLnBhcmVudClSLmNOJiYoTD1wKFIuY04sIiIsITApK0wpO3ZhciBrPSIiLEI9MDt0cnl7Zm9yKHZhciBNLGosTz0wOzspe2lmKEUudC5sYXN0SW5kZXg9TyxNPUUudC5leGVjKHQpLCFNKWJyZWFrO2o9bSh0LnN1YnN0cmluZyhPLE0uaW5kZXgpLE1bMF0pLE89TS5pbmRleCtqfWZvcihtKHQuc3Vic3RyKE8pKSxSPUU7Ui5wYXJlbnQ7Uj1SLnBhcmVudClSLmNOJiYoTCs9Qyk7cmV0dXJue3I6Qix2YWx1ZTpMLGxhbmd1YWdlOmUsdG9wOkV9fWNhdGNoKFQpe2lmKFQubWVzc2FnZSYmLTEhPT1ULm1lc3NhZ2UuaW5kZXhPZigiSWxsZWdhbCIpKXJldHVybntyOjAsdmFsdWU6bih0KX07dGhyb3cgVH19ZnVuY3Rpb24gZyhlLHQpe3Q9dHx8SS5sYW5ndWFnZXN8fHgoeSk7dmFyIHI9e3I6MCx2YWx1ZTpuKGUpfSxhPXI7cmV0dXJuIHQuZmlsdGVyKHcpLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHQ9ZihuLGUsITEpO3QubGFuZ3VhZ2U9bix0LnI+YS5yJiYoYT10KSx0LnI+ci5yJiYoYT1yLHI9dCl9KSxhLmxhbmd1YWdlJiYoci5zZWNvbmRfYmVzdD1hKSxyfWZ1bmN0aW9uIHAoZSl7cmV0dXJuIEkudGFiUmVwbGFjZXx8SS51c2VCUj9lLnJlcGxhY2UoTSxmdW5jdGlvbihlLG4pe3JldHVybiBJLnVzZUJSJiYiXG4iPT09ZT8iPGJyPiI6SS50YWJSZXBsYWNlP24ucmVwbGFjZSgvXHQvZyxJLnRhYlJlcGxhY2UpOiIifSk6ZX1mdW5jdGlvbiBoKGUsbix0KXt2YXIgcj1uP0xbbl06dCxhPVtlLnRyaW0oKV07cmV0dXJuIGUubWF0Y2goL1xiaGxqc1xiLyl8fGEucHVzaCgiaGxqcyIpLC0xPT09ZS5pbmRleE9mKHIpJiZhLnB1c2gociksYS5qb2luKCIgIikudHJpbSgpfWZ1bmN0aW9uIGQoZSl7dmFyIG4sdCxyLG8sbCxzPWkoZSk7YShzKXx8KEkudXNlQlI/KG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiZGl2Iiksbi5pbm5lckhUTUw9ZS5pbm5lckhUTUwucmVwbGFjZSgvXG4vZywiIikucmVwbGFjZSgvPGJyWyBcL10qPi9nLCJcbiIpKTpuPWUsbD1uLnRleHRDb250ZW50LHI9cz9mKHMsbCwhMCk6ZyhsKSx0PXUobiksdC5sZW5ndGgmJihvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImRpdiIpLG8uaW5uZXJIVE1MPXIudmFsdWUsci52YWx1ZT1jKHQsdShvKSxsKSksci52YWx1ZT1wKHIudmFsdWUpLGUuaW5uZXJIVE1MPXIudmFsdWUsZS5jbGFzc05hbWU9aChlLmNsYXNzTmFtZSxzLHIubGFuZ3VhZ2UpLGUucmVzdWx0PXtsYW5ndWFnZTpyLmxhbmd1YWdlLHJlOnIucn0sci5zZWNvbmRfYmVzdCYmKGUuc2Vjb25kX2Jlc3Q9e2xhbmd1YWdlOnIuc2Vjb25kX2Jlc3QubGFuZ3VhZ2UscmU6ci5zZWNvbmRfYmVzdC5yfSkpfWZ1bmN0aW9uIGIoZSl7ST1vKEksZSl9ZnVuY3Rpb24gdigpe2lmKCF2LmNhbGxlZCl7di5jYWxsZWQ9ITA7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgicHJlIGNvZGUiKTtFLmZvckVhY2guY2FsbChlLGQpfX1mdW5jdGlvbiBtKCl7YWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsdiwhMSksYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdiwhMSl9ZnVuY3Rpb24gTihuLHQpe3ZhciByPXlbbl09dChlKTtyLmFsaWFzZXMmJnIuYWxpYXNlcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe0xbZV09bn0pfWZ1bmN0aW9uIFIoKXtyZXR1cm4geCh5KX1mdW5jdGlvbiB3KGUpe3JldHVybiBlPShlfHwiIikudG9Mb3dlckNhc2UoKSx5W2VdfHx5W0xbZV1dfXZhciBFPVtdLHg9T2JqZWN0LmtleXMseT17fSxMPXt9LGs9L14obm8tP2hpZ2hsaWdodHxwbGFpbnx0ZXh0KSQvaSxCPS9cYmxhbmcoPzp1YWdlKT8tKFtcdy1dKylcYi9pLE09LygoXig8W14+XSs+fFx0fCkrfCg/OlxuKSkpL2dtLEM9Ijwvc3Bhbj4iLEk9e2NsYXNzUHJlZml4OiJobGpzLSIsdGFiUmVwbGFjZTpudWxsLHVzZUJSOiExLGxhbmd1YWdlczp2b2lkIDB9O3JldHVybiBlLmhpZ2hsaWdodD1mLGUuaGlnaGxpZ2h0QXV0bz1nLGUuZml4TWFya3VwPXAsZS5oaWdobGlnaHRCbG9jaz1kLGUuY29uZmlndXJlPWIsZS5pbml0SGlnaGxpZ2h0aW5nPXYsZS5pbml0SGlnaGxpZ2h0aW5nT25Mb2FkPW0sZS5yZWdpc3Rlckxhbmd1YWdlPU4sZS5saXN0TGFuZ3VhZ2VzPVIsZS5nZXRMYW5ndWFnZT13LGUuaW5oZXJpdD1vLGUuSVI9IlthLXpBLVpdXFx3KiIsZS5VSVI9IlthLXpBLVpfXVxcdyoiLGUuTlI9IlxcYlxcZCsoXFwuXFxkKyk/IixlLkNOUj0iKC0/KShcXGIwW3hYXVthLWZBLUYwLTldK3woXFxiXFxkKyhcXC5cXGQqKT98XFwuXFxkKykoW2VFXVstK10/XFxkKyk/KSIsZS5CTlI9IlxcYigwYlswMV0rKSIsZS5SU1I9IiF8IT18IT09fCV8JT18JnwmJnwmPXxcXCp8XFwqPXxcXCt8XFwrPXwsfC18LT18Lz18L3w6fDt8PDx8PDw9fDw9fDx8PT09fD09fD18Pj4+PXw+Pj18Pj18Pj4+fD4+fD58XFw/fFxcW3xcXHt8XFwofFxcXnxcXF49fFxcfHxcXHw9fFxcfFxcfHx+IixlLkJFPXtiOiJcXFxcW1xcc1xcU10iLHI6MH0sZS5BU009e2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGk6IlxcbiIsYzpbZS5CRV19LGUuUVNNPXtjTjoic3RyaW5nIixiOiciJyxlOiciJyxpOiJcXG4iLGM6W2UuQkVdfSxlLlBXTT17YjovXGIoYXxhbnx0aGV8YXJlfEknbXxpc24ndHxkb24ndHxkb2Vzbid0fHdvbid0fGJ1dHxqdXN0fHNob3VsZHxwcmV0dHl8c2ltcGx5fGVub3VnaHxnb25uYXxnb2luZ3x3dGZ8c298c3VjaHx3aWxsfHlvdXx5b3VyfHRoZXl8bGlrZXxtb3JlKVxiL30sZS5DPWZ1bmN0aW9uKG4sdCxyKXt2YXIgYT1lLmluaGVyaXQoe2NOOiJjb21tZW50IixiOm4sZTp0LGM6W119LHJ8fHt9KTtyZXR1cm4gYS5jLnB1c2goZS5QV00pLGEuYy5wdXNoKHtjTjoiZG9jdGFnIixiOiIoPzpUT0RPfEZJWE1FfE5PVEV8QlVHfFhYWCk6IixyOjB9KSxhfSxlLkNMQ009ZS5DKCIvLyIsIiQiKSxlLkNCQ009ZS5DKCIvXFwqIiwiXFwqLyIpLGUuSENNPWUuQygiIyIsIiQiKSxlLk5NPXtjTjoibnVtYmVyIixiOmUuTlIscjowfSxlLkNOTT17Y046Im51bWJlciIsYjplLkNOUixyOjB9LGUuQk5NPXtjTjoibnVtYmVyIixiOmUuQk5SLHI6MH0sZS5DU1NOTT17Y046Im51bWJlciIsYjplLk5SKyIoJXxlbXxleHxjaHxyZW18dnd8dmh8dm1pbnx2bWF4fGNtfG1tfGlufHB0fHBjfHB4fGRlZ3xncmFkfHJhZHx0dXJufHN8bXN8SHp8a0h6fGRwaXxkcGNtfGRwcHgpPyIscjowfSxlLlJNPXtjTjoicmVnZXhwIixiOi9cLy8sZTovXC9bZ2ltdXldKi8saTovXG4vLGM6W2UuQkUse2I6L1xbLyxlOi9cXS8scjowLGM6W2UuQkVdfV19LGUuVE09e2NOOiJ0aXRsZSIsYjplLklSLHI6MH0sZS5VVE09e2NOOiJ0aXRsZSIsYjplLlVJUixyOjB9LGUuTUVUSE9EX0dVQVJEPXtiOiJcXC5cXHMqIitlLlVJUixyOjB9LGV9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInNxbCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5DKCItLSIsIiQiKTtyZXR1cm57Y0k6ITAsaTovWzw+e30qI10vLGM6W3tiSzoiYmVnaW4gZW5kIHN0YXJ0IGNvbW1pdCByb2xsYmFjayBzYXZlcG9pbnQgbG9jayBhbHRlciBjcmVhdGUgZHJvcCByZW5hbWUgY2FsbCBkZWxldGUgZG8gaGFuZGxlciBpbnNlcnQgbG9hZCByZXBsYWNlIHNlbGVjdCB0cnVuY2F0ZSB1cGRhdGUgc2V0IHNob3cgcHJhZ21hIGdyYW50IG1lcmdlIGRlc2NyaWJlIHVzZSBleHBsYWluIGhlbHAgZGVjbGFyZSBwcmVwYXJlIGV4ZWN1dGUgZGVhbGxvY2F0ZSByZWxlYXNlIHVubG9jayBwdXJnZSByZXNldCBjaGFuZ2Ugc3RvcCBhbmFseXplIGNhY2hlIGZsdXNoIG9wdGltaXplIHJlcGFpciBraWxsIGluc3RhbGwgdW5pbnN0YWxsIGNoZWNrc3VtIHJlc3RvcmUgY2hlY2sgYmFja3VwIHJldm9rZSBjb21tZW50IixlOi87LyxlVzohMCxsOi9bXHdcLl0rLyxrOntrZXl3b3JkOiJhYm9ydCBhYnMgYWJzb2x1dGUgYWNjIGFjY2UgYWNjZXAgYWNjZXB0IGFjY2VzcyBhY2Nlc3NlZCBhY2Nlc3NpYmxlIGFjY291bnQgYWNvcyBhY3Rpb24gYWN0aXZhdGUgYWRkIGFkZHRpbWUgYWRtaW4gYWRtaW5pc3RlciBhZHZhbmNlZCBhZHZpc2UgYWVzX2RlY3J5cHQgYWVzX2VuY3J5cHQgYWZ0ZXIgYWdlbnQgYWdncmVnYXRlIGFsaSBhbGlhIGFsaWFzIGFsbG9jYXRlIGFsbG93IGFsdGVyIGFsd2F5cyBhbmFseXplIGFuY2lsbGFyeSBhbmQgYW55IGFueWRhdGEgYW55ZGF0YXNldCBhbnlzY2hlbWEgYW55dHlwZSBhcHBseSBhcmNoaXZlIGFyY2hpdmVkIGFyY2hpdmVsb2cgYXJlIGFzIGFzYyBhc2NpaSBhc2luIGFzc2VtYmx5IGFzc2VydGlvbiBhc3NvY2lhdGUgYXN5bmNocm9ub3VzIGF0IGF0YW4gYXRuMiBhdHRyIGF0dHJpIGF0dHJpYiBhdHRyaWJ1IGF0dHJpYnV0IGF0dHJpYnV0ZSBhdHRyaWJ1dGVzIGF1ZGl0IGF1dGhlbnRpY2F0ZWQgYXV0aGVudGljYXRpb24gYXV0aGlkIGF1dGhvcnMgYXV0byBhdXRvYWxsb2NhdGUgYXV0b2RibGluayBhdXRvZXh0ZW5kIGF1dG9tYXRpYyBhdmFpbGFiaWxpdHkgYXZnIGJhY2t1cCBiYWRmaWxlIGJhc2ljZmlsZSBiZWZvcmUgYmVnaW4gYmVnaW5uaW5nIGJlbmNobWFyayBiZXR3ZWVuIGJmaWxlIGJmaWxlX2Jhc2UgYmlnIGJpZ2ZpbGUgYmluIGJpbmFyeV9kb3VibGUgYmluYXJ5X2Zsb2F0IGJpbmxvZyBiaXRfYW5kIGJpdF9jb3VudCBiaXRfbGVuZ3RoIGJpdF9vciBiaXRfeG9yIGJpdG1hcCBibG9iX2Jhc2UgYmxvY2sgYmxvY2tzaXplIGJvZHkgYm90aCBib3VuZCBidWZmZXJfY2FjaGUgYnVmZmVyX3Bvb2wgYnVpbGQgYnVsayBieSBieXRlIGJ5dGVvcmRlcm1hcmsgYnl0ZXMgY2FjaGUgY2FjaGluZyBjYWxsIGNhbGxpbmcgY2FuY2VsIGNhcGFjaXR5IGNhc2NhZGUgY2FzY2FkZWQgY2FzZSBjYXN0IGNhdGFsb2cgY2F0ZWdvcnkgY2VpbCBjZWlsaW5nIGNoYWluIGNoYW5nZSBjaGFuZ2VkIGNoYXJfYmFzZSBjaGFyX2xlbmd0aCBjaGFyYWN0ZXJfbGVuZ3RoIGNoYXJhY3RlcnMgY2hhcmFjdGVyc2V0IGNoYXJpbmRleCBjaGFyc2V0IGNoYXJzZXRmb3JtIGNoYXJzZXRpZCBjaGVjayBjaGVja3N1bSBjaGVja3N1bV9hZ2cgY2hpbGQgY2hvb3NlIGNociBjaHVuayBjbGFzcyBjbGVhbnVwIGNsZWFyIGNsaWVudCBjbG9iIGNsb2JfYmFzZSBjbG9uZSBjbG9zZSBjbHVzdGVyX2lkIGNsdXN0ZXJfcHJvYmFiaWxpdHkgY2x1c3Rlcl9zZXQgY2x1c3RlcmluZyBjb2FsZXNjZSBjb2VyY2liaWxpdHkgY29sIGNvbGxhdGUgY29sbGF0aW9uIGNvbGxlY3QgY29sdSBjb2x1bSBjb2x1bW4gY29sdW1uX3ZhbHVlIGNvbHVtbnMgY29sdW1uc191cGRhdGVkIGNvbW1lbnQgY29tbWl0IGNvbXBhY3QgY29tcGF0aWJpbGl0eSBjb21waWxlZCBjb21wbGV0ZSBjb21wb3NpdGVfbGltaXQgY29tcG91bmQgY29tcHJlc3MgY29tcHV0ZSBjb25jYXQgY29uY2F0X3dzIGNvbmN1cnJlbnQgY29uZmlybSBjb25uIGNvbm5lYyBjb25uZWN0IGNvbm5lY3RfYnlfaXNjeWNsZSBjb25uZWN0X2J5X2lzbGVhZiBjb25uZWN0X2J5X3Jvb3QgY29ubmVjdF90aW1lIGNvbm5lY3Rpb24gY29uc2lkZXIgY29uc2lzdGVudCBjb25zdGFudCBjb25zdHJhaW50IGNvbnN0cmFpbnRzIGNvbnN0cnVjdG9yIGNvbnRhaW5lciBjb250ZW50IGNvbnRlbnRzIGNvbnRleHQgY29udHJpYnV0b3JzIGNvbnRyb2xmaWxlIGNvbnYgY29udmVydCBjb252ZXJ0X3R6IGNvcnIgY29ycl9rIGNvcnJfcyBjb3JyZXNwb25kaW5nIGNvcnJ1cHRpb24gY29zIGNvc3QgY291bnQgY291bnRfYmlnIGNvdW50ZWQgY292YXJfcG9wIGNvdmFyX3NhbXAgY3B1X3Blcl9jYWxsIGNwdV9wZXJfc2Vzc2lvbiBjcmMzMiBjcmVhdGUgY3JlYXRpb24gY3JpdGljYWwgY3Jvc3MgY3ViZSBjdW1lX2Rpc3QgY3VyZGF0ZSBjdXJyZW50IGN1cnJlbnRfZGF0ZSBjdXJyZW50X3RpbWUgY3VycmVudF90aW1lc3RhbXAgY3VycmVudF91c2VyIGN1cnNvciBjdXJ0aW1lIGN1c3RvbWRhdHVtIGN5Y2xlIGRhdGEgZGF0YWJhc2UgZGF0YWJhc2VzIGRhdGFmaWxlIGRhdGFmaWxlcyBkYXRhbGVuZ3RoIGRhdGVfYWRkIGRhdGVfY2FjaGUgZGF0ZV9mb3JtYXQgZGF0ZV9zdWIgZGF0ZWFkZCBkYXRlZGlmZiBkYXRlZnJvbXBhcnRzIGRhdGVuYW1lIGRhdGVwYXJ0IGRhdGV0aW1lMmZyb21wYXJ0cyBkYXkgZGF5X3RvX3NlY29uZCBkYXluYW1lIGRheW9mbW9udGggZGF5b2Z3ZWVrIGRheW9meWVhciBkYXlzIGRiX3JvbGVfY2hhbmdlIGRidGltZXpvbmUgZGRsIGRlYWxsb2NhdGUgZGVjbGFyZSBkZWNvZGUgZGVjb21wb3NlIGRlY3JlbWVudCBkZWNyeXB0IGRlZHVwbGljYXRlIGRlZiBkZWZhIGRlZmF1IGRlZmF1bCBkZWZhdWx0IGRlZmF1bHRzIGRlZmVycmVkIGRlZmkgZGVmaW4gZGVmaW5lIGRlZ3JlZXMgZGVsYXllZCBkZWxlZ2F0ZSBkZWxldGUgZGVsZXRlX2FsbCBkZWxpbWl0ZWQgZGVtYW5kIGRlbnNlX3JhbmsgZGVwdGggZGVxdWV1ZSBkZXNfZGVjcnlwdCBkZXNfZW5jcnlwdCBkZXNfa2V5X2ZpbGUgZGVzYyBkZXNjciBkZXNjcmkgZGVzY3JpYiBkZXNjcmliZSBkZXNjcmlwdG9yIGRldGVybWluaXN0aWMgZGlhZ25vc3RpY3MgZGlmZmVyZW5jZSBkaW1lbnNpb24gZGlyZWN0X2xvYWQgZGlyZWN0b3J5IGRpc2FibGUgZGlzYWJsZV9hbGwgZGlzYWxsb3cgZGlzYXNzb2NpYXRlIGRpc2NhcmRmaWxlIGRpc2Nvbm5lY3QgZGlza2dyb3VwIGRpc3RpbmN0IGRpc3RpbmN0cm93IGRpc3RyaWJ1dGUgZGlzdHJpYnV0ZWQgZGl2IGRvIGRvY3VtZW50IGRvbWFpbiBkb3RuZXQgZG91YmxlIGRvd25ncmFkZSBkcm9wIGR1bXBmaWxlIGR1cGxpY2F0ZSBkdXJhdGlvbiBlYWNoIGVkaXRpb24gZWRpdGlvbmFibGUgZWRpdGlvbnMgZWxlbWVudCBlbGxpcHNpcyBlbHNlIGVsc2lmIGVsdCBlbXB0eSBlbmFibGUgZW5hYmxlX2FsbCBlbmNsb3NlZCBlbmNvZGUgZW5jb2RpbmcgZW5jcnlwdCBlbmQgZW5kLWV4ZWMgZW5kaWFuIGVuZm9yY2VkIGVuZ2luZSBlbmdpbmVzIGVucXVldWUgZW50ZXJwcmlzZSBlbnRpdHllc2NhcGluZyBlb21vbnRoIGVycm9yIGVycm9ycyBlc2NhcGVkIGV2YWxuYW1lIGV2YWx1YXRlIGV2ZW50IGV2ZW50ZGF0YSBldmVudHMgZXhjZXB0IGV4Y2VwdGlvbiBleGNlcHRpb25zIGV4Y2hhbmdlIGV4Y2x1ZGUgZXhjbHVkaW5nIGV4ZWN1IGV4ZWN1dCBleGVjdXRlIGV4ZW1wdCBleGlzdHMgZXhpdCBleHAgZXhwaXJlIGV4cGxhaW4gZXhwb3J0IGV4cG9ydF9zZXQgZXh0ZW5kZWQgZXh0ZW50IGV4dGVybmFsIGV4dGVybmFsXzEgZXh0ZXJuYWxfMiBleHRlcm5hbGx5IGV4dHJhY3QgZmFpbGVkIGZhaWxlZF9sb2dpbl9hdHRlbXB0cyBmYWlsb3ZlciBmYWlsdXJlIGZhciBmYXN0IGZlYXR1cmVfc2V0IGZlYXR1cmVfdmFsdWUgZmV0Y2ggZmllbGQgZmllbGRzIGZpbGUgZmlsZV9uYW1lX2NvbnZlcnQgZmlsZXN5c3RlbV9saWtlX2xvZ2dpbmcgZmluYWwgZmluaXNoIGZpcnN0IGZpcnN0X3ZhbHVlIGZpeGVkIGZsYXNoX2NhY2hlIGZsYXNoYmFjayBmbG9vciBmbHVzaCBmb2xsb3dpbmcgZm9sbG93cyBmb3IgZm9yYWxsIGZvcmNlIGZvcm0gZm9ybWEgZm9ybWF0IGZvdW5kIGZvdW5kX3Jvd3MgZnJlZWxpc3QgZnJlZWxpc3RzIGZyZWVwb29scyBmcmVzaCBmcm9tIGZyb21fYmFzZTY0IGZyb21fZGF5cyBmdHAgZnVsbCBmdW5jdGlvbiBnZW5lcmFsIGdlbmVyYXRlZCBnZXQgZ2V0X2Zvcm1hdCBnZXRfbG9jayBnZXRkYXRlIGdldHV0Y2RhdGUgZ2xvYmFsIGdsb2JhbF9uYW1lIGdsb2JhbGx5IGdvIGdvdG8gZ3JhbnQgZ3JhbnRzIGdyZWF0ZXN0IGdyb3VwIGdyb3VwX2NvbmNhdCBncm91cF9pZCBncm91cGluZyBncm91cGluZ19pZCBncm91cHMgZ3RpZF9zdWJ0cmFjdCBndWFyYW50ZWUgZ3VhcmQgaGFuZGxlciBoYXNoIGhhc2hrZXlzIGhhdmluZyBoZWEgaGVhZCBoZWFkaSBoZWFkaW4gaGVhZGluZyBoZWFwIGhlbHAgaGV4IGhpZXJhcmNoeSBoaWdoIGhpZ2hfcHJpb3JpdHkgaG9zdHMgaG91ciBodHRwIGlkIGlkZW50X2N1cnJlbnQgaWRlbnRfaW5jciBpZGVudF9zZWVkIGlkZW50aWZpZWQgaWRlbnRpdHkgaWRsZV90aW1lIGlmIGlmbnVsbCBpZ25vcmUgaWlmIGlsaWtlIGlsbSBpbW1lZGlhdGUgaW1wb3J0IGluIGluY2x1ZGUgaW5jbHVkaW5nIGluY3JlbWVudCBpbmRleCBpbmRleGVzIGluZGV4aW5nIGluZGV4dHlwZSBpbmRpY2F0b3IgaW5kaWNlcyBpbmV0Nl9hdG9uIGluZXQ2X250b2EgaW5ldF9hdG9uIGluZXRfbnRvYSBpbmZpbGUgaW5pdGlhbCBpbml0aWFsaXplZCBpbml0aWFsbHkgaW5pdHJhbnMgaW5tZW1vcnkgaW5uZXIgaW5ub2RiIGlucHV0IGluc2VydCBpbnN0YWxsIGluc3RhbmNlIGluc3RhbnRpYWJsZSBpbnN0ciBpbnRlcmZhY2UgaW50ZXJsZWF2ZWQgaW50ZXJzZWN0IGludG8gaW52YWxpZGF0ZSBpbnZpc2libGUgaXMgaXNfZnJlZV9sb2NrIGlzX2lwdjQgaXNfaXB2NF9jb21wYXQgaXNfbm90IGlzX25vdF9udWxsIGlzX3VzZWRfbG9jayBpc2RhdGUgaXNudWxsIGlzb2xhdGlvbiBpdGVyYXRlIGphdmEgam9pbiBqc29uIGpzb25fZXhpc3RzIGtlZXAga2VlcF9kdXBsaWNhdGVzIGtleSBrZXlzIGtpbGwgbGFuZ3VhZ2UgbGFyZ2UgbGFzdCBsYXN0X2RheSBsYXN0X2luc2VydF9pZCBsYXN0X3ZhbHVlIGxheCBsY2FzZSBsZWFkIGxlYWRpbmcgbGVhc3QgbGVhdmVzIGxlZnQgbGVuIGxlbmdodCBsZW5ndGggbGVzcyBsZXZlbCBsZXZlbHMgbGlicmFyeSBsaWtlIGxpa2UyIGxpa2U0IGxpa2VjIGxpbWl0IGxpbmVzIGxpbmsgbGlzdCBsaXN0YWdnIGxpdHRsZSBsbiBsb2FkIGxvYWRfZmlsZSBsb2IgbG9icyBsb2NhbCBsb2NhbHRpbWUgbG9jYWx0aW1lc3RhbXAgbG9jYXRlIGxvY2F0b3IgbG9jayBsb2NrZWQgbG9nIGxvZzEwIGxvZzIgbG9nZmlsZSBsb2dmaWxlcyBsb2dnaW5nIGxvZ2ljYWwgbG9naWNhbF9yZWFkc19wZXJfY2FsbCBsb2dvZmYgbG9nb24gbG9ncyBsb25nIGxvb3AgbG93IGxvd19wcmlvcml0eSBsb3dlciBscGFkIGxydHJpbSBsdHJpbSBtYWluIG1ha2Vfc2V0IG1ha2VkYXRlIG1ha2V0aW1lIG1hbmFnZWQgbWFuYWdlbWVudCBtYW51YWwgbWFwIG1hcHBpbmcgbWFzayBtYXN0ZXIgbWFzdGVyX3Bvc193YWl0IG1hdGNoIG1hdGNoZWQgbWF0ZXJpYWxpemVkIG1heCBtYXhleHRlbnRzIG1heGltaXplIG1heGluc3RhbmNlcyBtYXhsZW4gbWF4bG9nZmlsZXMgbWF4bG9naGlzdG9yeSBtYXhsb2dtZW1iZXJzIG1heHNpemUgbWF4dHJhbnMgbWQ1IG1lYXN1cmVzIG1lZGlhbiBtZWRpdW0gbWVtYmVyIG1lbWNvbXByZXNzIG1lbW9yeSBtZXJnZSBtaWNyb3NlY29uZCBtaWQgbWlncmF0aW9uIG1pbiBtaW5leHRlbnRzIG1pbmltdW0gbWluaW5nIG1pbnVzIG1pbnV0ZSBtaW52YWx1ZSBtaXNzaW5nIG1vZCBtb2RlIG1vZGVsIG1vZGlmaWNhdGlvbiBtb2RpZnkgbW9kdWxlIG1vbml0b3JpbmcgbW9udGggbW9udGhzIG1vdW50IG1vdmUgbW92ZW1lbnQgbXVsdGlzZXQgbXV0ZXggbmFtZSBuYW1lX2NvbnN0IG5hbWVzIG5hbiBuYXRpb25hbCBuYXRpdmUgbmF0dXJhbCBuYXYgbmNoYXIgbmNsb2IgbmVzdGVkIG5ldmVyIG5ldyBuZXdsaW5lIG5leHQgbmV4dHZhbCBubyBub193cml0ZV90b19iaW5sb2cgbm9hcmNoaXZlbG9nIG5vYXVkaXQgbm9iYWRmaWxlIG5vY2hlY2sgbm9jb21wcmVzcyBub2NvcHkgbm9jeWNsZSBub2RlbGF5IG5vZGlzY2FyZGZpbGUgbm9lbnRpdHllc2NhcGluZyBub2d1YXJhbnRlZSBub2tlZXAgbm9sb2dmaWxlIG5vbWFwcGluZyBub21heHZhbHVlIG5vbWluaW1pemUgbm9taW52YWx1ZSBub21vbml0b3Jpbmcgbm9uZSBub25lZGl0aW9uYWJsZSBub25zY2hlbWEgbm9vcmRlciBub3ByIG5vcHJvIG5vcHJvbSBub3Byb21wIG5vcHJvbXB0IG5vcmVseSBub3Jlc2V0bG9ncyBub3JldmVyc2Ugbm9ybWFsIG5vcm93ZGVwZW5kZW5jaWVzIG5vc2NoZW1hY2hlY2sgbm9zd2l0Y2ggbm90IG5vdGhpbmcgbm90aWNlIG5vdHJpbSBub3ZhbGlkYXRlIG5vdyBub3dhaXQgbnRoX3ZhbHVlIG51bGxpZiBudWxscyBudW0gbnVtYiBudW1iZSBudmFyY2hhciBudmFyY2hhcjIgb2JqZWN0IG9jaWNvbGwgb2NpZGF0ZSBvY2lkYXRldGltZSBvY2lkdXJhdGlvbiBvY2lpbnRlcnZhbCBvY2lsb2Jsb2NhdG9yIG9jaW51bWJlciBvY2lyZWYgb2NpcmVmY3Vyc29yIG9jaXJvd2lkIG9jaXN0cmluZyBvY2l0eXBlIG9jdCBvY3RldF9sZW5ndGggb2Ygb2ZmIG9mZmxpbmUgb2Zmc2V0IG9pZCBvaWRpbmRleCBvbGQgb24gb25saW5lIG9ubHkgb3BhcXVlIG9wZW4gb3BlcmF0aW9ucyBvcGVyYXRvciBvcHRpbWFsIG9wdGltaXplIG9wdGlvbiBvcHRpb25hbGx5IG9yIG9yYWNsZSBvcmFjbGVfZGF0ZSBvcmFkYXRhIG9yZCBvcmRhdWRpbyBvcmRkaWNvbSBvcmRkb2Mgb3JkZXIgb3JkaW1hZ2Ugb3JkaW5hbGl0eSBvcmR2aWRlbyBvcmdhbml6YXRpb24gb3JsYW55IG9ybHZhcnkgb3V0IG91dGVyIG91dGZpbGUgb3V0bGluZSBvdXRwdXQgb3ZlciBvdmVyZmxvdyBvdmVycmlkaW5nIHBhY2thZ2UgcGFkIHBhcmFsbGVsIHBhcmFsbGVsX2VuYWJsZSBwYXJhbWV0ZXJzIHBhcmVudCBwYXJzZSBwYXJ0aWFsIHBhcnRpdGlvbiBwYXJ0aXRpb25zIHBhc2NhbCBwYXNzaW5nIHBhc3N3b3JkIHBhc3N3b3JkX2dyYWNlX3RpbWUgcGFzc3dvcmRfbG9ja190aW1lIHBhc3N3b3JkX3JldXNlX21heCBwYXNzd29yZF9yZXVzZV90aW1lIHBhc3N3b3JkX3ZlcmlmeV9mdW5jdGlvbiBwYXRjaCBwYXRoIHBhdGluZGV4IHBjdGluY3JlYXNlIHBjdHRocmVzaG9sZCBwY3R1c2VkIHBjdHZlcnNpb24gcGVyY2VudCBwZXJjZW50X3JhbmsgcGVyY2VudGlsZV9jb250IHBlcmNlbnRpbGVfZGlzYyBwZXJmb3JtYW5jZSBwZXJpb2QgcGVyaW9kX2FkZCBwZXJpb2RfZGlmZiBwZXJtYW5lbnQgcGh5c2ljYWwgcGkgcGlwZSBwaXBlbGluZWQgcGl2b3QgcGx1Z2dhYmxlIHBsdWdpbiBwb2xpY3kgcG9zaXRpb24gcG9zdF90cmFuc2FjdGlvbiBwb3cgcG93ZXIgcHJhZ21hIHByZWJ1aWx0IHByZWNlZGVzIHByZWNlZGluZyBwcmVjaXNpb24gcHJlZGljdGlvbiBwcmVkaWN0aW9uX2Nvc3QgcHJlZGljdGlvbl9kZXRhaWxzIHByZWRpY3Rpb25fcHJvYmFiaWxpdHkgcHJlZGljdGlvbl9zZXQgcHJlcGFyZSBwcmVzZW50IHByZXNlcnZlIHByaW9yIHByaW9yaXR5IHByaXZhdGUgcHJpdmF0ZV9zZ2EgcHJpdmlsZWdlcyBwcm9jZWR1cmFsIHByb2NlZHVyZSBwcm9jZWR1cmVfYW5hbHl6ZSBwcm9jZXNzbGlzdCBwcm9maWxlcyBwcm9qZWN0IHByb21wdCBwcm90ZWN0aW9uIHB1YmxpYyBwdWJsaXNoaW5nc2VydmVybmFtZSBwdXJnZSBxdWFydGVyIHF1ZXJ5IHF1aWNrIHF1aWVzY2UgcXVvdGEgcXVvdGVuYW1lIHJhZGlhbnMgcmFpc2UgcmFuZCByYW5nZSByYW5rIHJhdyByZWFkIHJlYWRzIHJlYWRzaXplIHJlYnVpbGQgcmVjb3JkIHJlY29yZHMgcmVjb3ZlciByZWNvdmVyeSByZWN1cnNpdmUgcmVjeWNsZSByZWRvIHJlZHVjZWQgcmVmIHJlZmVyZW5jZSByZWZlcmVuY2VkIHJlZmVyZW5jZXMgcmVmZXJlbmNpbmcgcmVmcmVzaCByZWdleHBfbGlrZSByZWdpc3RlciByZWdyX2F2Z3ggcmVncl9hdmd5IHJlZ3JfY291bnQgcmVncl9pbnRlcmNlcHQgcmVncl9yMiByZWdyX3Nsb3BlIHJlZ3Jfc3h4IHJlZ3Jfc3h5IHJlamVjdCByZWtleSByZWxhdGlvbmFsIHJlbGF0aXZlIHJlbGF5bG9nIHJlbGVhc2UgcmVsZWFzZV9sb2NrIHJlbGllc19vbiByZWxvY2F0ZSByZWx5IHJlbSByZW1haW5kZXIgcmVuYW1lIHJlcGFpciByZXBlYXQgcmVwbGFjZSByZXBsaWNhdGUgcmVwbGljYXRpb24gcmVxdWlyZWQgcmVzZXQgcmVzZXRsb2dzIHJlc2l6ZSByZXNvdXJjZSByZXNwZWN0IHJlc3RvcmUgcmVzdHJpY3RlZCByZXN1bHQgcmVzdWx0X2NhY2hlIHJlc3VtYWJsZSByZXN1bWUgcmV0ZW50aW9uIHJldHVybiByZXR1cm5pbmcgcmV0dXJucyByZXVzZSByZXZlcnNlIHJldm9rZSByaWdodCBybGlrZSByb2xlIHJvbGVzIHJvbGxiYWNrIHJvbGxpbmcgcm9sbHVwIHJvdW5kIHJvdyByb3dfY291bnQgcm93ZGVwZW5kZW5jaWVzIHJvd2lkIHJvd251bSByb3dzIHJ0cmltIHJ1bGVzIHNhZmUgc2FsdCBzYW1wbGUgc2F2ZSBzYXZlcG9pbnQgc2IxIHNiMiBzYjQgc2NhbiBzY2hlbWEgc2NoZW1hY2hlY2sgc2NuIHNjb3BlIHNjcm9sbCBzZG9fZ2VvcmFzdGVyIHNkb190b3BvX2dlb21ldHJ5IHNlYXJjaCBzZWNfdG9fdGltZSBzZWNvbmQgc2VjdGlvbiBzZWN1cmVmaWxlIHNlY3VyaXR5IHNlZWQgc2VnbWVudCBzZWxlY3Qgc2VsZiBzZXF1ZW5jZSBzZXF1ZW50aWFsIHNlcmlhbGl6YWJsZSBzZXJ2ZXIgc2VydmVyZXJyb3Igc2Vzc2lvbiBzZXNzaW9uX3VzZXIgc2Vzc2lvbnNfcGVyX3VzZXIgc2V0IHNldHMgc2V0dGluZ3Mgc2hhIHNoYTEgc2hhMiBzaGFyZSBzaGFyZWQgc2hhcmVkX3Bvb2wgc2hvcnQgc2hvdyBzaHJpbmsgc2h1dGRvd24gc2lfYXZlcmFnZWNvbG9yIHNpX2NvbG9yaGlzdG9ncmFtIHNpX2ZlYXR1cmVsaXN0IHNpX3Bvc2l0aW9uYWxjb2xvciBzaV9zdGlsbGltYWdlIHNpX3RleHR1cmUgc2libGluZ3Mgc2lkIHNpZ24gc2luIHNpemUgc2l6ZV90IHNpemVzIHNraXAgc2xhdmUgc2xlZXAgc21hbGxkYXRldGltZWZyb21wYXJ0cyBzbWFsbGZpbGUgc25hcHNob3Qgc29tZSBzb25hbWUgc29ydCBzb3VuZGV4IHNvdXJjZSBzcGFjZSBzcGFyc2Ugc3BmaWxlIHNwbGl0IHNxbCBzcWxfYmlnX3Jlc3VsdCBzcWxfYnVmZmVyX3Jlc3VsdCBzcWxfY2FjaGUgc3FsX2NhbGNfZm91bmRfcm93cyBzcWxfc21hbGxfcmVzdWx0IHNxbF92YXJpYW50X3Byb3BlcnR5IHNxbGNvZGUgc3FsZGF0YSBzcWxlcnJvciBzcWxuYW1lIHNxbHN0YXRlIHNxcnQgc3F1YXJlIHN0YW5kYWxvbmUgc3RhbmRieSBzdGFydCBzdGFydGluZyBzdGFydHVwIHN0YXRlbWVudCBzdGF0aWMgc3RhdGlzdGljcyBzdGF0c19iaW5vbWlhbF90ZXN0IHN0YXRzX2Nyb3NzdGFiIHN0YXRzX2tzX3Rlc3Qgc3RhdHNfbW9kZSBzdGF0c19td190ZXN0IHN0YXRzX29uZV93YXlfYW5vdmEgc3RhdHNfdF90ZXN0XyBzdGF0c190X3Rlc3RfaW5kZXAgc3RhdHNfdF90ZXN0X29uZSBzdGF0c190X3Rlc3RfcGFpcmVkIHN0YXRzX3dzcl90ZXN0IHN0YXR1cyBzdGQgc3RkZGV2IHN0ZGRldl9wb3Agc3RkZGV2X3NhbXAgc3RkZXYgc3RvcCBzdG9yYWdlIHN0b3JlIHN0b3JlZCBzdHIgc3RyX3RvX2RhdGUgc3RyYWlnaHRfam9pbiBzdHJjbXAgc3RyaWN0IHN0cmluZyBzdHJ1Y3Qgc3R1ZmYgc3R5bGUgc3ViZGF0ZSBzdWJwYXJ0aXRpb24gc3VicGFydGl0aW9ucyBzdWJzdGl0dXRhYmxlIHN1YnN0ciBzdWJzdHJpbmcgc3VidGltZSBzdWJ0cmluZ19pbmRleCBzdWJ0eXBlIHN1Y2Nlc3Mgc3VtIHN1c3BlbmQgc3dpdGNoIHN3aXRjaG9mZnNldCBzd2l0Y2hvdmVyIHN5bmMgc3luY2hyb25vdXMgc3lub255bSBzeXMgc3lzX3htbGFnZyBzeXNhc20gc3lzYXV4IHN5c2RhdGUgc3lzZGF0ZXRpbWVvZmZzZXQgc3lzZGJhIHN5c29wZXIgc3lzdGVtIHN5c3RlbV91c2VyIHN5c3V0Y2RhdGV0aW1lIHRhYmxlIHRhYmxlcyB0YWJsZXNwYWNlIHRhbiB0ZG8gdGVtcGxhdGUgdGVtcG9yYXJ5IHRlcm1pbmF0ZWQgdGVydGlhcnlfd2VpZ2h0cyB0ZXN0IHRoYW4gdGhlbiB0aHJlYWQgdGhyb3VnaCB0aWVyIHRpZXMgdGltZSB0aW1lX2Zvcm1hdCB0aW1lX3pvbmUgdGltZWRpZmYgdGltZWZyb21wYXJ0cyB0aW1lb3V0IHRpbWVzdGFtcCB0aW1lc3RhbXBhZGQgdGltZXN0YW1wZGlmZiB0aW1lem9uZV9hYmJyIHRpbWV6b25lX21pbnV0ZSB0aW1lem9uZV9yZWdpb24gdG8gdG9fYmFzZTY0IHRvX2RhdGUgdG9fZGF5cyB0b19zZWNvbmRzIHRvZGF0ZXRpbWVvZmZzZXQgdHJhY2UgdHJhY2tpbmcgdHJhbnNhY3Rpb24gdHJhbnNhY3Rpb25hbCB0cmFuc2xhdGUgdHJhbnNsYXRpb24gdHJlYXQgdHJpZ2dlciB0cmlnZ2VyX25lc3RsZXZlbCB0cmlnZ2VycyB0cmltIHRydW5jYXRlIHRyeV9jYXN0IHRyeV9jb252ZXJ0IHRyeV9wYXJzZSB0eXBlIHViMSB1YjIgdWI0IHVjYXNlIHVuYXJjaGl2ZWQgdW5ib3VuZGVkIHVuY29tcHJlc3MgdW5kZXIgdW5kbyB1bmhleCB1bmljb2RlIHVuaWZvcm0gdW5pbnN0YWxsIHVuaW9uIHVuaXF1ZSB1bml4X3RpbWVzdGFtcCB1bmtub3duIHVubGltaXRlZCB1bmxvY2sgdW5waXZvdCB1bnJlY292ZXJhYmxlIHVuc2FmZSB1bnNpZ25lZCB1bnRpbCB1bnRydXN0ZWQgdW51c2FibGUgdW51c2VkIHVwZGF0ZSB1cGRhdGVkIHVwZ3JhZGUgdXBwZWQgdXBwZXIgdXBzZXJ0IHVybCB1cm93aWQgdXNhYmxlIHVzYWdlIHVzZSB1c2Vfc3RvcmVkX291dGxpbmVzIHVzZXIgdXNlcl9kYXRhIHVzZXJfcmVzb3VyY2VzIHVzZXJzIHVzaW5nIHV0Y19kYXRlIHV0Y190aW1lc3RhbXAgdXVpZCB1dWlkX3Nob3J0IHZhbGlkYXRlIHZhbGlkYXRlX3Bhc3N3b3JkX3N0cmVuZ3RoIHZhbGlkYXRpb24gdmFsaXN0IHZhbHVlIHZhbHVlcyB2YXIgdmFyX3NhbXAgdmFyY2hhcmMgdmFyaSB2YXJpYSB2YXJpYWIgdmFyaWFibCB2YXJpYWJsZSB2YXJpYWJsZXMgdmFyaWFuY2UgdmFycCB2YXJyYXcgdmFycmF3YyB2YXJyYXkgdmVyaWZ5IHZlcnNpb24gdmVyc2lvbnMgdmlldyB2aXJ0dWFsIHZpc2libGUgdm9pZCB3YWl0IHdhbGxldCB3YXJuaW5nIHdhcm5pbmdzIHdlZWsgd2Vla2RheSB3ZWVrb2Z5ZWFyIHdlbGxmb3JtZWQgd2hlbiB3aGVuZSB3aGVuZXYgd2hlbmV2ZSB3aGVuZXZlciB3aGVyZSB3aGlsZSB3aGl0ZXNwYWNlIHdpdGggd2l0aGluIHdpdGhvdXQgd29yayB3cmFwcGVkIHhkYiB4bWwgeG1sYWdnIHhtbGF0dHJpYnV0ZXMgeG1sY2FzdCB4bWxjb2xhdHR2YWwgeG1sZWxlbWVudCB4bWxleGlzdHMgeG1sZm9yZXN0IHhtbGluZGV4IHhtbG5hbWVzcGFjZXMgeG1scGkgeG1scXVlcnkgeG1scm9vdCB4bWxzY2hlbWEgeG1sc2VyaWFsaXplIHhtbHRhYmxlIHhtbHR5cGUgeG9yIHllYXIgeWVhcl90b19tb250aCB5ZWFycyB5ZWFyd2VlayIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSBudWxsIixidWlsdF9pbjoiYXJyYXkgYmlnaW50IGJpbmFyeSBiaXQgYmxvYiBib29sZWFuIGNoYXIgY2hhcmFjdGVyIGRhdGUgZGVjIGRlY2ltYWwgZmxvYXQgaW50IGludDggaW50ZWdlciBpbnRlcnZhbCBudW1iZXIgbnVtZXJpYyByZWFsIHJlY29yZCBzZXJpYWwgc2VyaWFsOCBzbWFsbGludCB0ZXh0IHZhcmNoYXIgdmFyeWluZyB2b2lkIn0sYzpbe2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGM6W2UuQkUse2I6IicnIn1dfSx7Y046InN0cmluZyIsYjonIicsZTonIicsYzpbZS5CRSx7YjonIiInfV19LHtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFXX0sZS5DTk0sZS5DQkNNLHRdfSxlLkNCQ00sdF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJyIixmdW5jdGlvbihlKXt2YXIgcj0iKFthLXpBLVpdfFxcLlthLXpBLVouXSlbYS16QS1aMC05Ll9dKiI7cmV0dXJue2M6W2UuSENNLHtiOnIsbDpyLGs6e2tleXdvcmQ6ImZ1bmN0aW9uIGlmIGluIGJyZWFrIG5leHQgcmVwZWF0IGVsc2UgZm9yIHJldHVybiBzd2l0Y2ggd2hpbGUgdHJ5IHRyeUNhdGNoIHN0b3Agd2FybmluZyByZXF1aXJlIGxpYnJhcnkgYXR0YWNoIGRldGFjaCBzb3VyY2Ugc2V0TWV0aG9kIHNldEdlbmVyaWMgc2V0R3JvdXBHZW5lcmljIHNldENsYXNzIC4uLiIsbGl0ZXJhbDoiTlVMTCBOQSBUUlVFIEZBTFNFIFQgRiBJbmYgTmFOIE5BX2ludGVnZXJffDEwIE5BX3JlYWxffDEwIE5BX2NoYXJhY3Rlcl98MTAgTkFfY29tcGxleF98MTAifSxyOjB9LHtjTjoibnVtYmVyIixiOiIwW3hYXVswLTlhLWZBLUZdK1tMaV0/XFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86W2VFXVsrXFwtXT9cXGQqKT9MXFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrXFwuKD8hXFxkKSg/OmlcXGIpPyIscjowfSx7Y046Im51bWJlciIsYjoiXFxkKyg/OlxcLlxcZCopPyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcLlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP2k/XFxiIixyOjB9LHtiOiJgIixlOiJgIixyOjB9LHtjTjoic3RyaW5nIixjOltlLkJFXSx2Olt7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJwZXJsIixmdW5jdGlvbihlKXt2YXIgdD0iZ2V0cHdlbnQgZ2V0c2VydmVudCBxdW90ZW1ldGEgbXNncmN2IHNjYWxhciBraWxsIGRibWNsb3NlIHVuZGVmIGxjIG1hIHN5c3dyaXRlIHRyIHNlbmQgdW1hc2sgc3lzb3BlbiBzaG13cml0ZSB2ZWMgcXggdXRpbWUgbG9jYWwgb2N0IHNlbWN0bCBsb2NhbHRpbWUgcmVhZHBpcGUgZG8gcmV0dXJuIGZvcm1hdCByZWFkIHNwcmludGYgZGJtb3BlbiBwb3AgZ2V0cGdycCBub3QgZ2V0cHduYW0gcmV3aW5kZGlyIHFxZmlsZW5vIHF3IGVuZHByb3RvZW50IHdhaXQgc2V0aG9zdGVudCBibGVzcyBzfDAgb3BlbmRpciBjb250aW51ZSBlYWNoIHNsZWVwIGVuZGdyZW50IHNodXRkb3duIGR1bXAgY2hvbXAgY29ubmVjdCBnZXRzb2NrbmFtZSBkaWUgc29ja2V0cGFpciBjbG9zZSBmbG9jayBleGlzdHMgaW5kZXggc2htZ2V0c3ViIGZvciBlbmRwd2VudCByZWRvIGxzdGF0IG1zZ2N0bCBzZXRwZ3JwIGFicyBleGl0IHNlbGVjdCBwcmludCByZWYgZ2V0aG9zdGJ5YWRkciB1bnNoaWZ0IGZjbnRsIHN5c2NhbGwgZ290byBnZXRuZXRieWFkZHIgam9pbiBnbXRpbWUgc3ltbGluayBzZW1nZXQgc3BsaWNlIHh8MCBnZXRwZWVybmFtZSByZWN2IGxvZyBzZXRzb2Nrb3B0IGNvcyBsYXN0IHJldmVyc2UgZ2V0aG9zdGJ5bmFtZSBnZXRncm5hbSBzdHVkeSBmb3JtbGluZSBlbmRob3N0ZW50IHRpbWVzIGNob3AgbGVuZ3RoIGdldGhvc3RlbnQgZ2V0bmV0ZW50IHBhY2sgZ2V0cHJvdG9lbnQgZ2V0c2VydmJ5bmFtZSByYW5kIG1rZGlyIHBvcyBjaG1vZCB5fDAgc3Vic3RyIGVuZG5ldGVudCBwcmludGYgbmV4dCBvcGVuIG1zZ3NuZCByZWFkZGlyIHVzZSB1bmxpbmsgZ2V0c29ja29wdCBnZXRwcmlvcml0eSByaW5kZXggd2FudGFycmF5IGhleCBzeXN0ZW0gZ2V0c2VydmJ5cG9ydCBlbmRzZXJ2ZW50IGludCBjaHIgdW50aWUgcm1kaXIgcHJvdG90eXBlIHRlbGwgbGlzdGVuIGZvcmsgc2htcmVhZCB1Y2ZpcnN0IHNldHByb3RvZW50IGVsc2Ugc3lzc2VlayBsaW5rIGdldGdyZ2lkIHNobWN0bCB3YWl0cGlkIHVucGFjayBnZXRuZXRieW5hbWUgcmVzZXQgY2hkaXIgZ3JlcCBzcGxpdCByZXF1aXJlIGNhbGxlciBsY2ZpcnN0IHVudGlsIHdhcm4gd2hpbGUgdmFsdWVzIHNoaWZ0IHRlbGxkaXIgZ2V0cHd1aWQgbXkgZ2V0cHJvdG9ieW51bWJlciBkZWxldGUgYW5kIHNvcnQgdWMgZGVmaW5lZCBzcmFuZCBhY2NlcHQgcGFja2FnZSBzZWVrZGlyIGdldHByb3RvYnluYW1lIHNlbW9wIG91ciByZW5hbWUgc2VlayBpZiBxfDAgY2hyb290IHN5c3JlYWQgc2V0cHdlbnQgbm8gY3J5cHQgZ2V0YyBjaG93biBzcXJ0IHdyaXRlIHNldG5ldGVudCBzZXRwcmlvcml0eSBmb3JlYWNoIHRpZSBzaW4gbXNnZ2V0IG1hcCBzdGF0IGdldGxvZ2luIHVubGVzcyBlbHNpZiB0cnVuY2F0ZSBleGVjIGtleXMgZ2xvYiB0aWVkIGNsb3NlZGlyaW9jdGwgc29ja2V0IHJlYWRsaW5rIGV2YWwgeG9yIHJlYWRsaW5lIGJpbm1vZGUgc2V0c2VydmVudCBlb2Ygb3JkIGJpbmQgYWxhcm0gcGlwZSBhdGFuMiBnZXRncmVudCBleHAgdGltZSBwdXNoIHNldGdyZW50IGd0IGx0IG9yIG5lIG18MCBicmVhayBnaXZlbiBzYXkgc3RhdGUgd2hlbiIscj17Y046InN1YnN0IixiOiJbJEBdXFx7IixlOiJcXH0iLGs6dH0scz17YjoiLT57IixlOiJ9In0sbj17djpbe2I6L1wkXGQvfSx7YjovW1wkJUBdKFxeXHdcYnwjXHcrKDo6XHcrKSp8e1x3K318XHcrKDo6XHcqKSopL30se2I6L1tcJCVAXVteXHNcd3tdLyxyOjB9XX0saT1bZS5CRSxyLG5dLG89W24sZS5IQ00sZS5DKCJeXFw9XFx3IiwiXFw9Y3V0Iix7ZVc6ITB9KSxzLHtjTjoic3RyaW5nIixjOmksdjpbe2I6InFbcXd4cl0/XFxzKlxcKCIsZToiXFwpIixyOjV9LHtiOiJxW3F3eHJdP1xccypcXFsiLGU6IlxcXSIscjo1fSx7YjoicVtxd3hyXT9cXHMqXFx7IixlOiJcXH0iLHI6NX0se2I6InFbcXd4cl0/XFxzKlxcfCIsZToiXFx8IixyOjV9LHtiOiJxW3F3eHJdP1xccypcXDwiLGU6IlxcPiIscjo1fSx7YjoicXdcXHMrcSIsZToicSIscjo1fSx7YjoiJyIsZToiJyIsYzpbZS5CRV19LHtiOiciJyxlOiciJ30se2I6ImAiLGU6ImAiLGM6W2UuQkVdfSx7Yjoie1xcdyt9IixjOltdLHI6MH0se2I6Ii0/XFx3K1xccypcXD1cXD4iLGM6W10scjowfV19LHtjTjoibnVtYmVyIixiOiIoXFxiMFswLTdfXSspfChcXGIweFswLTlhLWZBLUZfXSspfChcXGJbMS05XVswLTlfXSooXFwuWzAtOV9dKyk/KXxbMF9dXFxiIixyOjB9LHtiOiIoXFwvXFwvfCIrZS5SU1IrInxcXGIoc3BsaXR8cmV0dXJufHByaW50fHJldmVyc2V8Z3JlcClcXGIpXFxzKiIsazoic3BsaXQgcmV0dXJuIHByaW50IHJldmVyc2UgZ3JlcCIscjowLGM6W2UuSENNLHtjTjoicmVnZXhwIixiOiIoc3x0cnx5KS8oXFxcXC58W14vXSkqLyhcXFxcLnxbXi9dKSovW2Etel0qIixyOjEwfSx7Y046InJlZ2V4cCIsYjoiKG18cXIpPy8iLGU6Ii9bYS16XSoiLGM6W2UuQkVdLHI6MH1dfSx7Y046ImZ1bmN0aW9uIixiSzoic3ViIixlOiIoXFxzKlxcKC4qP1xcKSk/Wzt7XSIsZUU6ITAscjo1LGM6W2UuVE1dfSx7YjoiLVxcd1xcYiIscjowfSx7YjoiXl9fREFUQV9fJCIsZToiXl9fRU5EX18kIixzTDoibW9qb2xpY2lvdXMiLGM6W3tiOiJeQEAuKiIsZToiJCIsY046ImNvbW1lbnQifV19XTtyZXR1cm4gci5jPW8scy5jPW8se2FsaWFzZXM6WyJwbCIsInBtIl0sbDovW1x3XC5dKy8sazp0LGM6b319KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImluaSIsZnVuY3Rpb24oZSl7dmFyIGI9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOiInJyciLGU6IicnJyIscjoxMH0se2I6JyIiIicsZTonIiIiJyxyOjEwfSx7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfTtyZXR1cm57YWxpYXNlczpbInRvbWwiXSxjSTohMCxpOi9cUy8sYzpbZS5DKCI7IiwiJCIpLGUuSENNLHtjTjoic2VjdGlvbiIsYjovXlxzKlxbKy8sZTovXF0rL30se2I6L15bYS16MC05XFtcXV8tXStccyo9XHMqLyxlOiIkIixyQjohMCxjOlt7Y046ImF0dHIiLGI6L1thLXowLTlcW1xdXy1dKy99LHtiOi89LyxlVzohMCxyOjAsYzpbe2NOOiJsaXRlcmFsIixiOi9cYm9ufG9mZnx0cnVlfGZhbHNlfHllc3xub1xiL30se2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQiXVtcd1xkX10qL30se2I6L1wkXHsoLio/KX0vfV19LGIse2NOOiJudW1iZXIiLGI6LyhbXCtcLV0rKT9bXGRdK19bXGRfXSsvfSxlLk5NXX1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJkaWZmIixmdW5jdGlvbihlKXtyZXR1cm57YWxpYXNlczpbInBhdGNoIl0sYzpbe2NOOiJtZXRhIixyOjEwLHY6W3tiOi9eQEAgK1wtXGQrLFxkKyArXCtcZCssXGQrICtAQCQvfSx7YjovXlwqXCpcKiArXGQrLFxkKyArXCpcKlwqXCokL30se2I6L15cLVwtXC0gK1xkKyxcZCsgK1wtXC1cLVwtJC99XX0se2NOOiJjb21tZW50Iix2Olt7YjovSW5kZXg6IC8sZTovJC99LHtiOi89ezMsfS8sZTovJC99LHtiOi9eXC17M30vLGU6LyQvfSx7YjovXlwqezN9IC8sZTovJC99LHtiOi9eXCt7M30vLGU6LyQvfSx7YjovXCp7NX0vLGU6L1wqezV9JC99XX0se2NOOiJhZGRpdGlvbiIsYjoiXlxcKyIsZToiJCJ9LHtjTjoiZGVsZXRpb24iLGI6Il5cXC0iLGU6IiQifSx7Y046ImFkZGl0aW9uIixiOiJeXFwhIixlOiIkIn1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiZ28iLGZ1bmN0aW9uKGUpe3ZhciB0PXtrZXl3b3JkOiJicmVhayBkZWZhdWx0IGZ1bmMgaW50ZXJmYWNlIHNlbGVjdCBjYXNlIG1hcCBzdHJ1Y3QgY2hhbiBlbHNlIGdvdG8gcGFja2FnZSBzd2l0Y2ggY29uc3QgZmFsbHRocm91Z2ggaWYgcmFuZ2UgdHlwZSBjb250aW51ZSBmb3IgaW1wb3J0IHJldHVybiB2YXIgZ28gZGVmZXIgYm9vbCBieXRlIGNvbXBsZXg2NCBjb21wbGV4MTI4IGZsb2F0MzIgZmxvYXQ2NCBpbnQ4IGludDE2IGludDMyIGludDY0IHN0cmluZyB1aW50OCB1aW50MTYgdWludDMyIHVpbnQ2NCBpbnQgdWludCB1aW50cHRyIHJ1bmUiLGxpdGVyYWw6InRydWUgZmFsc2UgaW90YSBuaWwiLGJ1aWx0X2luOiJhcHBlbmQgY2FwIGNsb3NlIGNvbXBsZXggY29weSBpbWFnIGxlbiBtYWtlIG5ldyBwYW5pYyBwcmludCBwcmludGxuIHJlYWwgcmVjb3ZlciBkZWxldGUifTtyZXR1cm57YWxpYXNlczpbImdvbGFuZyJdLGs6dCxpOiI8LyIsYzpbZS5DTENNLGUuQ0JDTSx7Y046InN0cmluZyIsdjpbZS5RU00se2I6IiciLGU6IlteXFxcXF0nIn0se2I6ImAiLGU6ImAifV19LHtjTjoibnVtYmVyIix2Olt7YjplLkNOUisiW2RmbHNpXSIscjoxfSxlLkNOTV19LHtiOi86PS99LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jIixlOi9ccypcey8sZUU6ITAsYzpbZS5UTSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnQsaTovWyInXS99XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiYmFzaCIsZnVuY3Rpb24oZSl7dmFyIHQ9e2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQjQF1bXHdcZF9dKi99LHtiOi9cJFx7KC4qPyl9L31dfSxzPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLHQse2NOOiJ2YXJpYWJsZSIsYjovXCRcKC8sZTovXCkvLGM6W2UuQkVdfV19LGE9e2NOOiJzdHJpbmciLGI6LycvLGU6LycvfTtyZXR1cm57YWxpYXNlczpbInNoIiwienNoIl0sbDovXGItP1thLXpcLl9dK1xiLyxrOntrZXl3b3JkOiJpZiB0aGVuIGVsc2UgZWxpZiBmaSBmb3Igd2hpbGUgaW4gZG8gZG9uZSBjYXNlIGVzYWMgZnVuY3Rpb24iLGxpdGVyYWw6InRydWUgZmFsc2UiLGJ1aWx0X2luOiJicmVhayBjZCBjb250aW51ZSBldmFsIGV4ZWMgZXhpdCBleHBvcnQgZ2V0b3B0cyBoYXNoIHB3ZCByZWFkb25seSByZXR1cm4gc2hpZnQgdGVzdCB0aW1lcyB0cmFwIHVtYXNrIHVuc2V0IGFsaWFzIGJpbmQgYnVpbHRpbiBjYWxsZXIgY29tbWFuZCBkZWNsYXJlIGVjaG8gZW5hYmxlIGhlbHAgbGV0IGxvY2FsIGxvZ291dCBtYXBmaWxlIHByaW50ZiByZWFkIHJlYWRhcnJheSBzb3VyY2UgdHlwZSB0eXBlc2V0IHVsaW1pdCB1bmFsaWFzIHNldCBzaG9wdCBhdXRvbG9hZCBiZyBiaW5ka2V5IGJ5ZSBjYXAgY2hkaXIgY2xvbmUgY29tcGFyZ3VtZW50cyBjb21wY2FsbCBjb21wY3RsIGNvbXBkZXNjcmliZSBjb21wZmlsZXMgY29tcGdyb3VwcyBjb21wcXVvdGUgY29tcHRhZ3MgY29tcHRyeSBjb21wdmFsdWVzIGRpcnMgZGlzYWJsZSBkaXNvd24gZWNob3RjIGVjaG90aSBlbXVsYXRlIGZjIGZnIGZsb2F0IGZ1bmN0aW9ucyBnZXRjYXAgZ2V0bG4gaGlzdG9yeSBpbnRlZ2VyIGpvYnMga2lsbCBsaW1pdCBsb2cgbm9nbG9iIHBvcGQgcHJpbnQgcHVzaGQgcHVzaGxuIHJlaGFzaCBzY2hlZCBzZXRjYXAgc2V0b3B0IHN0YXQgc3VzcGVuZCB0dHljdGwgdW5mdW5jdGlvbiB1bmhhc2ggdW5saW1pdCB1bnNldG9wdCB2YXJlZCB3YWl0IHdoZW5jZSB3aGVyZSB3aGljaCB6Y29tcGlsZSB6Zm9ybWF0IHpmdHAgemxlIHptb2Rsb2FkIHpwYXJzZW9wdHMgenByb2YgenB0eSB6cmVnZXhwYXJzZSB6c29ja2V0IHpzdHlsZSB6dGNwIixfOiItbmUgLWVxIC1sdCAtZ3QgLWYgLWQgLWUgLXMgLWwgLWEifSxjOlt7Y046Im1ldGEiLGI6L14jIVteXG5dK3NoXHMqJC8scjoxMH0se2NOOiJmdW5jdGlvbiIsYjovXHdbXHdcZF9dKlxzKlwoXHMqXClccypcey8sckI6ITAsYzpbZS5pbmhlcml0KGUuVE0se2I6L1x3W1x3XGRfXSovfSldLHI6MH0sZS5IQ00scyxhLHRdfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicHl0aG9uIixmdW5jdGlvbihlKXt2YXIgcj17a2V5d29yZDoiYW5kIGVsaWYgaXMgZ2xvYmFsIGFzIGluIGlmIGZyb20gcmFpc2UgZm9yIGV4Y2VwdCBmaW5hbGx5IHByaW50IGltcG9ydCBwYXNzIHJldHVybiBleGVjIGVsc2UgYnJlYWsgbm90IHdpdGggY2xhc3MgYXNzZXJ0IHlpZWxkIHRyeSB3aGlsZSBjb250aW51ZSBkZWwgb3IgZGVmIGxhbWJkYSBhc3luYyBhd2FpdCBub25sb2NhbHwxMCBOb25lIFRydWUgRmFsc2UiLGJ1aWx0X2luOiJFbGxpcHNpcyBOb3RJbXBsZW1lbnRlZCJ9LGI9e2NOOiJtZXRhIixiOi9eKD4+PnxcLlwuXC4pIC99LGM9e2NOOiJzdWJzdCIsYjovXHsvLGU6L1x9LyxrOnIsaTovIy99LGE9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOi8odXxiKT9yPycnJy8sZTovJycnLyxjOltiXSxyOjEwfSx7YjovKHV8Yik/cj8iIiIvLGU6LyIiIi8sYzpbYl0scjoxMH0se2I6LyhmcnxyZnxmKScnJy8sZTovJycnLyxjOltiLGNdfSx7YjovKGZyfHJmfGYpIiIiLyxlOi8iIiIvLGM6W2IsY119LHtiOi8odXxyfHVyKScvLGU6LycvLHI6MTB9LHtiOi8odXxyfHVyKSIvLGU6LyIvLHI6MTB9LHtiOi8oYnxiciknLyxlOi8nL30se2I6LyhifGJyKSIvLGU6LyIvfSx7YjovKGZyfHJmfGYpJy8sZTovJy8sYzpbY119LHtiOi8oZnJ8cmZ8ZikiLyxlOi8iLyxjOltjXX0sZS5BU00sZS5RU01dfSxzPXtjTjoibnVtYmVyIixyOjAsdjpbe2I6ZS5CTlIrIltsTGpKXT8ifSx7YjoiXFxiKDBvWzAtN10rKVtsTGpKXT8ifSx7YjplLkNOUisiW2xMakpdPyJ9XX0saT17Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxjOlsic2VsZiIsYixzLGFdfTtyZXR1cm4gYy5jPVthLHMsYl0se2FsaWFzZXM6WyJweSIsImd5cCJdLGs6cixpOi8oPFwvfC0+fFw/KXw9Pi8sYzpbYixzLGEsZS5IQ00se3Y6W3tjTjoiZnVuY3Rpb24iLGJLOiJkZWYifSx7Y046ImNsYXNzIixiSzoiY2xhc3MifV0sZTovOi8saTovWyR7PTtcbixdLyxjOltlLlVUTSxpLHtiOi8tPi8sZVc6ITAsazoiTm9uZSJ9XX0se2NOOiJtZXRhIixiOi9eW1x0IF0qQC8sZTovJC99LHtiOi9cYihwcmludHxleGVjKVwoL31dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianVsaWEiLGZ1bmN0aW9uKGUpe3ZhciByPXtrZXl3b3JkOiJpbiBpc2Egd2hlcmUgYmFyZW1vZHVsZSBiZWdpbiBicmVhayBjYXRjaCBjY2FsbCBjb25zdCBjb250aW51ZSBkbyBlbHNlIGVsc2VpZiBlbmQgZXhwb3J0IGZhbHNlIGZpbmFsbHkgZm9yIGZ1bmN0aW9uIGdsb2JhbCBpZiBpbXBvcnQgaW1wb3J0YWxsIGxldCBsb2NhbCBtYWNybyBtb2R1bGUgcXVvdGUgcmV0dXJuIHRydWUgdHJ5IHVzaW5nIHdoaWxlIHR5cGUgaW1tdXRhYmxlIGFic3RyYWN0IGJpdHN0eXBlIHR5cGVhbGlhcyAiLGxpdGVyYWw6InRydWUgZmFsc2UgQVJHUyBDX05VTEwgRGV2TnVsbCBFTkRJQU5fQk9NIEVOViBJIEluZiBJbmYxNiBJbmYzMiBJbmY2NCBJbnNlcnRpb25Tb3J0IEpVTElBX0hPTUUgTE9BRF9QQVRIIE1lcmdlU29ydCBOYU4gTmFOMTYgTmFOMzIgTmFONjQgUFJPR1JBTV9GSUxFIFF1aWNrU29ydCBSb3VuZERvd24gUm91bmRGcm9tWmVybyBSb3VuZE5lYXJlc3QgUm91bmROZWFyZXN0VGllc0F3YXkgUm91bmROZWFyZXN0VGllc1VwIFJvdW5kVG9aZXJvIFJvdW5kVXAgU1RERVJSIFNURElOIFNURE9VVCBWRVJTSU9OIGNhdGFsYW4gZXwwIGV1fDAgZXVsZXJnYW1tYSBnb2xkZW4gaW0gbm90aGluZyBwaSDOsyDPgCDPhiAiLGJ1aWx0X2luOiJBTlkgQWJzdHJhY3RBcnJheSBBYnN0cmFjdENoYW5uZWwgQWJzdHJhY3RGbG9hdCBBYnN0cmFjdE1hdHJpeCBBYnN0cmFjdFJORyBBYnN0cmFjdFNlcmlhbGl6ZXIgQWJzdHJhY3RTZXQgQWJzdHJhY3RTcGFyc2VBcnJheSBBYnN0cmFjdFNwYXJzZU1hdHJpeCBBYnN0cmFjdFNwYXJzZVZlY3RvciBBYnN0cmFjdFN0cmluZyBBYnN0cmFjdFVuaXRSYW5nZSBBYnN0cmFjdFZlY09yTWF0IEFic3RyYWN0VmVjdG9yIEFueSBBcmd1bWVudEVycm9yIEFycmF5IEFzc2VydGlvbkVycm9yIEFzc29jaWF0aXZlIEJhc2U2NERlY29kZVBpcGUgQmFzZTY0RW5jb2RlUGlwZSBCaWRpYWdvbmFsIEJpZ0Zsb2F0IEJpZ0ludCBCaXRBcnJheSBCaXRNYXRyaXggQml0VmVjdG9yIEJvb2wgQm91bmRzRXJyb3IgQnVmZmVyU3RyZWFtIENhY2hpbmdQb29sIENhcHR1cmVkRXhjZXB0aW9uIENhcnRlc2lhbkluZGV4IENhcnRlc2lhblJhbmdlIENjaGFyIENkb3VibGUgQ2Zsb2F0IENoYW5uZWwgQ2hhciBDaW50IENpbnRtYXhfdCBDbG9uZyBDbG9uZ2xvbmcgQ2x1c3Rlck1hbmFnZXIgQ21kIENvZGVJbmZvIENvbG9uIENvbXBsZXggQ29tcGxleDEyOCBDb21wbGV4MzIgQ29tcGxleDY0IENvbXBvc2l0ZUV4Y2VwdGlvbiBDb25kaXRpb24gQ29uakFycmF5IENvbmpNYXRyaXggQ29ualZlY3RvciBDcHRyZGlmZl90IENzaG9ydCBDc2l6ZV90IENzc2l6ZV90IENzdHJpbmcgQ3VjaGFyIEN1aW50IEN1aW50bWF4X3QgQ3Vsb25nIEN1bG9uZ2xvbmcgQ3VzaG9ydCBDd2NoYXJfdCBDd3N0cmluZyBEYXRhVHlwZSBEYXRlIERhdGVGb3JtYXQgRGF0ZVRpbWUgRGVuc2VBcnJheSBEZW5zZU1hdHJpeCBEZW5zZVZlY09yTWF0IERlbnNlVmVjdG9yIERpYWdvbmFsIERpY3QgRGltZW5zaW9uTWlzbWF0Y2ggRGltcyBEaXJlY3RJbmRleFN0cmluZyBEaXNwbGF5IERpdmlkZUVycm9yIERvbWFpbkVycm9yIEVPRkVycm9yIEVhY2hMaW5lIEVudW0gRW51bWVyYXRlIEVycm9yRXhjZXB0aW9uIEV4Y2VwdGlvbiBFeHBvbmVudGlhbEJhY2tPZmYgRXhwciBGYWN0b3JpemF0aW9uIEZpbGVNb25pdG9yIEZsb2F0MTYgRmxvYXQzMiBGbG9hdDY0IEZ1bmN0aW9uIEZ1dHVyZSBHbG9iYWxSZWYgR290b05vZGUgSFRNTCBIZXJtaXRpYW4gSU8gSU9CdWZmZXIgSU9Db250ZXh0IElPU3RyZWFtIElQQWRkciBJUHY0IElQdjYgSW5kZXhDYXJ0ZXNpYW4gSW5kZXhMaW5lYXIgSW5kZXhTdHlsZSBJbmV4YWN0RXJyb3IgSW5pdEVycm9yIEludCBJbnQxMjggSW50MTYgSW50MzIgSW50NjQgSW50OCBJbnRTZXQgSW50ZWdlciBJbnRlcnJ1cHRFeGNlcHRpb24gSW52YWxpZFN0YXRlRXhjZXB0aW9uIElycmF0aW9uYWwgS2V5RXJyb3IgTGFiZWxOb2RlIExpblNwYWNlIExpbmVOdW1iZXJOb2RlIExvYWRFcnJvciBMb3dlclRyaWFuZ3VsYXIgTUlNRSBNYXRyaXggTWVyc2VubmVUd2lzdGVyIE1ldGhvZCBNZXRob2RFcnJvciBNZXRob2RUYWJsZSBNb2R1bGUgTlR1cGxlIE5ld3Zhck5vZGUgTnVsbEV4Y2VwdGlvbiBOdWxsYWJsZSBOdW1iZXIgT2JqZWN0SWREaWN0IE9yZGluYWxSYW5nZSBPdXRPZk1lbW9yeUVycm9yIE92ZXJmbG93RXJyb3IgUGFpciBQYXJzZUVycm9yIFBhcnRpYWxRdWlja1NvcnQgUGVybXV0ZWREaW1zQXJyYXkgUGlwZSBQb2xsaW5nRmlsZVdhdGNoZXIgUHJvY2Vzc0V4aXRlZEV4Y2VwdGlvbiBQdHIgUXVvdGVOb2RlIFJhbmRvbURldmljZSBSYW5nZSBSYW5nZUluZGV4IFJhdGlvbmFsIFJhd0ZEIFJlYWRPbmx5TWVtb3J5RXJyb3IgUmVhbCBSZWVudHJhbnRMb2NrIFJlZiBSZWdleCBSZWdleE1hdGNoIFJlbW90ZUNoYW5uZWwgUmVtb3RlRXhjZXB0aW9uIFJldlN0cmluZyBSb3VuZGluZ01vZGUgUm93VmVjdG9yIFNTQVZhbHVlIFNlZ21lbnRhdGlvbkZhdWx0IFNlcmlhbGl6YXRpb25TdGF0ZSBTZXQgU2hhcmVkQXJyYXkgU2hhcmVkTWF0cml4IFNoYXJlZFZlY3RvciBTaWduZWQgU2ltcGxlVmVjdG9yIFNsb3QgU2xvdE51bWJlciBTcGFyc2VNYXRyaXhDU0MgU3BhcnNlVmVjdG9yIFN0YWNrRnJhbWUgU3RhY2tPdmVyZmxvd0Vycm9yIFN0YWNrVHJhY2UgU3RlcFJhbmdlIFN0ZXBSYW5nZUxlbiBTdHJpZGVkQXJyYXkgU3RyaWRlZE1hdHJpeCBTdHJpZGVkVmVjT3JNYXQgU3RyaWRlZFZlY3RvciBTdHJpbmcgU3ViQXJyYXkgU3ViU3RyaW5nIFN5bVRyaWRpYWdvbmFsIFN5bWJvbCBTeW1tZXRyaWMgU3lzdGVtRXJyb3IgVENQU29ja2V0IFRhc2sgVGV4dCBUZXh0RGlzcGxheSBUaW1lciBUcmlkaWFnb25hbCBUdXBsZSBUeXBlIFR5cGVFcnJvciBUeXBlTWFwRW50cnkgVHlwZU1hcExldmVsIFR5cGVOYW1lIFR5cGVWYXIgVHlwZWRTbG90IFVEUFNvY2tldCBVSW50IFVJbnQxMjggVUludDE2IFVJbnQzMiBVSW50NjQgVUludDggVW5kZWZSZWZFcnJvciBVbmRlZlZhckVycm9yIFVuaWNvZGVFcnJvciBVbmlmb3JtU2NhbGluZyBVbmlvbiBVbmlvbkFsbCBVbml0UmFuZ2UgVW5zaWduZWQgVXBwZXJUcmlhbmd1bGFyIFZhbCBWYXJhcmcgVmVjRWxlbWVudCBWZWNPck1hdCBWZWN0b3IgVmVyc2lvbk51bWJlciBWb2lkIFdlYWtLZXlEaWN0IFdlYWtSZWYgV29ya2VyQ29uZmlnIFdvcmtlclBvb2wgIn0sdD0iW0EtWmEtel9cXHUwMEExLVxcdUZGRkZdW0EtWmEtel8wLTlcXHUwMEExLVxcdUZGRkZdKiIsYT17bDp0LGs6cixpOi88XC8vfSxuPXtjTjoibnVtYmVyIixiOi8oXGIweFtcZF9dKihcLltcZF9dKik/fDB4XC5cZFtcZF9dKilwWy0rXT9cZCt8XGIwW2JveF1bYS1mQS1GMC05XVthLWZBLUYwLTlfXSp8KFxiXGRbXGRfXSooXC5bXGRfXSopP3xcLlxkW1xkX10qKShbZUVmRl1bLStdP1xkKyk/LyxyOjB9LG89e2NOOiJzdHJpbmciLGI6LycoLnxcXFt4WHVVXVthLXpBLVowLTldKyknL30saT17Y046InN1YnN0IixiOi9cJFwoLyxlOi9cKS8sazpyfSxsPXtjTjoidmFyaWFibGUiLGI6IlxcJCIrdH0sYz17Y046InN0cmluZyIsYzpbZS5CRSxpLGxdLHY6W3tiOi9cdyoiIiIvLGU6LyIiIlx3Ki8scjoxMH0se2I6L1x3KiIvLGU6LyJcdyovfV19LHM9e2NOOiJzdHJpbmciLGM6W2UuQkUsaSxsXSxiOiJgIixlOiJgIn0sZD17Y046Im1ldGEiLGI6IkAiK3R9LHU9e2NOOiJjb21tZW50Iix2Olt7YjoiIz0iLGU6Ij0jIixyOjEwfSx7YjoiIyIsZToiJCJ9XX07cmV0dXJuIGEuYz1bbixvLGMscyxkLHUsZS5IQ00se2NOOiJrZXl3b3JkIixiOiJcXGIoKChhYnN0cmFjdHxwcmltaXRpdmUpXFxzKyl0eXBlfChtdXRhYmxlXFxzKyk/c3RydWN0KVxcYiJ9LHtiOi88Oi99XSxpLmM9YS5jLGF9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImNvZmZlZXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIGM9e2tleXdvcmQ6ImluIGlmIGZvciB3aGlsZSBmaW5hbGx5IG5ldyBkbyByZXR1cm4gZWxzZSBicmVhayBjYXRjaCBpbnN0YW5jZW9mIHRocm93IHRyeSB0aGlzIHN3aXRjaCBjb250aW51ZSB0eXBlb2YgZGVsZXRlIGRlYnVnZ2VyIHN1cGVyIHlpZWxkIGltcG9ydCBleHBvcnQgZnJvbSBhcyBkZWZhdWx0IGF3YWl0IHRoZW4gdW5sZXNzIHVudGlsIGxvb3Agb2YgYnkgd2hlbiBhbmQgb3IgaXMgaXNudCBub3QiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgeWVzIG5vIG9uIG9mZiIsYnVpbHRfaW46Im5wbSByZXF1aXJlIGNvbnNvbGUgcHJpbnQgbW9kdWxlIGdsb2JhbCB3aW5kb3cgZG9jdW1lbnQifSxuPSJbQS1aYS16JF9dWzAtOUEtWmEteiRfXSoiLHI9e2NOOiJzdWJzdCIsYjovI1x7LyxlOi99LyxrOmN9LGk9W2UuQk5NLGUuaW5oZXJpdChlLkNOTSx7c3RhcnRzOntlOiIoXFxzKi8pPyIscjowfX0pLHtjTjoic3RyaW5nIix2Olt7YjovJycnLyxlOi8nJycvLGM6W2UuQkVdfSx7YjovJy8sZTovJy8sYzpbZS5CRV19LHtiOi8iIiIvLGU6LyIiIi8sYzpbZS5CRSxyXX0se2I6LyIvLGU6LyIvLGM6W2UuQkUscl19XX0se2NOOiJyZWdleHAiLHY6W3tiOiIvLy8iLGU6Ii8vLyIsYzpbcixlLkhDTV19LHtiOiIvL1tnaW1dKiIscjowfSx7YjovXC8oPyFbICpdKShcXFwvfC4pKj9cL1tnaW1dKig/PVxXfCQpL31dfSx7YjoiQCIrbn0se3NMOiJqYXZhc2NyaXB0IixlQjohMCxlRTohMCx2Olt7YjoiYGBgIixlOiJgYGAifSx7YjoiYCIsZToiYCJ9XX1dO3IuYz1pO3ZhciBzPWUuaW5oZXJpdChlLlRNLHtiOm59KSx0PSIoXFwoLipcXCkpP1xccypcXEJbLT1dPiIsbz17Y046InBhcmFtcyIsYjoiXFwoW15cXChdIixyQjohMCxjOlt7YjovXCgvLGU6L1wpLyxrOmMsYzpbInNlbGYiXS5jb25jYXQoaSl9XX07cmV0dXJue2FsaWFzZXM6WyJjb2ZmZWUiLCJjc29uIiwiaWNlZCJdLGs6YyxpOi9cL1wqLyxjOmkuY29uY2F0KFtlLkMoIiMjIyIsIiMjIyIpLGUuSENNLHtjTjoiZnVuY3Rpb24iLGI6Il5cXHMqIituKyJcXHMqPVxccyoiK3QsZToiWy09XT4iLHJCOiEwLGM6W3Msb119LHtiOi9bOlwoLD1dXHMqLyxyOjAsYzpbe2NOOiJmdW5jdGlvbiIsYjp0LGU6IlstPV0+IixyQjohMCxjOltvXX1dfSx7Y046ImNsYXNzIixiSzoiY2xhc3MiLGU6IiQiLGk6L1s6PSJcW1xdXS8sYzpbe2JLOiJleHRlbmRzIixlVzohMCxpOi9bOj0iXFtcXV0vLGM6W3NdfSxzXX0se2I6bisiOiIsZToiOiIsckI6ITAsckU6ITAscjowfV0pfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiY3BwIixmdW5jdGlvbih0KXt2YXIgZT17Y046ImtleXdvcmQiLGI6IlxcYlthLXpcXGRfXSpfdFxcYiJ9LHI9e2NOOiJzdHJpbmciLHY6W3tiOicodTg/fFUpP0w/IicsZTonIicsaToiXFxuIixjOlt0LkJFXX0se2I6Jyh1OD98VSk/UiInLGU6JyInLGM6W3QuQkVdfSx7YjoiJ1xcXFw/LiIsZToiJyIsaToiLiJ9XX0scz17Y046Im51bWJlciIsdjpbe2I6IlxcYigwYlswMSddKykifSx7YjoiKC0/KVxcYihbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKSh1fFV8bHxMfHVsfFVMfGZ8RnxifEIpIn0se2I6IigtPykoXFxiMFt4WF1bYS1mQS1GMC05J10rfChcXGJbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKShbZUVdWy0rXT9bXFxkJ10rKT8pIn1dLHI6MH0saT17Y046Im1ldGEiLGI6LyNccypbYS16XStcYi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6ImlmIGVsc2UgZWxpZiBlbmRpZiBkZWZpbmUgdW5kZWYgd2FybmluZyBlcnJvciBsaW5lIHByYWdtYSBpZmRlZiBpZm5kZWYgaW5jbHVkZSJ9LGM6W3tiOi9cXFxuLyxyOjB9LHQuaW5oZXJpdChyLHtjTjoibWV0YS1zdHJpbmcifSkse2NOOiJtZXRhLXN0cmluZyIsYjovPFteXG4+XSo+LyxlOi8kLyxpOiJcXG4ifSx0LkNMQ00sdC5DQkNNXX0sYT10LklSKyJcXHMqXFwoIixjPXtrZXl3b3JkOiJpbnQgZmxvYXQgd2hpbGUgcHJpdmF0ZSBjaGFyIGNhdGNoIGltcG9ydCBtb2R1bGUgZXhwb3J0IHZpcnR1YWwgb3BlcmF0b3Igc2l6ZW9mIGR5bmFtaWNfY2FzdHwxMCB0eXBlZGVmIGNvbnN0X2Nhc3R8MTAgY29uc3QgZm9yIHN0YXRpY19jYXN0fDEwIHVuaW9uIG5hbWVzcGFjZSB1bnNpZ25lZCBsb25nIHZvbGF0aWxlIHN0YXRpYyBwcm90ZWN0ZWQgYm9vbCB0ZW1wbGF0ZSBtdXRhYmxlIGlmIHB1YmxpYyBmcmllbmQgZG8gZ290byBhdXRvIHZvaWQgZW51bSBlbHNlIGJyZWFrIGV4dGVybiB1c2luZyBhc20gY2FzZSB0eXBlaWQgc2hvcnQgcmVpbnRlcnByZXRfY2FzdHwxMCBkZWZhdWx0IGRvdWJsZSByZWdpc3RlciBleHBsaWNpdCBzaWduZWQgdHlwZW5hbWUgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIGlubGluZSBkZWxldGUgYWxpZ25vZiBjb25zdGV4cHIgZGVjbHR5cGUgbm9leGNlcHQgc3RhdGljX2Fzc2VydCB0aHJlYWRfbG9jYWwgcmVzdHJpY3QgX0Jvb2wgY29tcGxleCBfQ29tcGxleCBfSW1hZ2luYXJ5IGF0b21pY19ib29sIGF0b21pY19jaGFyIGF0b21pY19zY2hhciBhdG9taWNfdWNoYXIgYXRvbWljX3Nob3J0IGF0b21pY191c2hvcnQgYXRvbWljX2ludCBhdG9taWNfdWludCBhdG9taWNfbG9uZyBhdG9taWNfdWxvbmcgYXRvbWljX2xsb25nIGF0b21pY191bGxvbmcgbmV3IHRocm93IHJldHVybiBhbmQgb3Igbm90IixidWlsdF9pbjoic3RkIHN0cmluZyBjaW4gY291dCBjZXJyIGNsb2cgc3RkaW4gc3Rkb3V0IHN0ZGVyciBzdHJpbmdzdHJlYW0gaXN0cmluZ3N0cmVhbSBvc3RyaW5nc3RyZWFtIGF1dG9fcHRyIGRlcXVlIGxpc3QgcXVldWUgc3RhY2sgdmVjdG9yIG1hcCBzZXQgYml0c2V0IG11bHRpc2V0IG11bHRpbWFwIHVub3JkZXJlZF9zZXQgdW5vcmRlcmVkX21hcCB1bm9yZGVyZWRfbXVsdGlzZXQgdW5vcmRlcmVkX211bHRpbWFwIGFycmF5IHNoYXJlZF9wdHIgYWJvcnQgYWJzIGFjb3MgYXNpbiBhdGFuMiBhdGFuIGNhbGxvYyBjZWlsIGNvc2ggY29zIGV4aXQgZXhwIGZhYnMgZmxvb3IgZm1vZCBmcHJpbnRmIGZwdXRzIGZyZWUgZnJleHAgZnNjYW5mIGlzYWxudW0gaXNhbHBoYSBpc2NudHJsIGlzZGlnaXQgaXNncmFwaCBpc2xvd2VyIGlzcHJpbnQgaXNwdW5jdCBpc3NwYWNlIGlzdXBwZXIgaXN4ZGlnaXQgdG9sb3dlciB0b3VwcGVyIGxhYnMgbGRleHAgbG9nMTAgbG9nIG1hbGxvYyByZWFsbG9jIG1lbWNociBtZW1jbXAgbWVtY3B5IG1lbXNldCBtb2RmIHBvdyBwcmludGYgcHV0Y2hhciBwdXRzIHNjYW5mIHNpbmggc2luIHNucHJpbnRmIHNwcmludGYgc3FydCBzc2NhbmYgc3RyY2F0IHN0cmNociBzdHJjbXAgc3RyY3B5IHN0cmNzcG4gc3RybGVuIHN0cm5jYXQgc3RybmNtcCBzdHJuY3B5IHN0cnBicmsgc3RycmNociBzdHJzcG4gc3Ryc3RyIHRhbmggdGFuIHZmcHJpbnRmIHZwcmludGYgdnNwcmludGYgZW5kbCBpbml0aWFsaXplcl9saXN0IHVuaXF1ZV9wdHIiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbHB0ciBOVUxMIn0sbj1bZSx0LkNMQ00sdC5DQkNNLHMscl07cmV0dXJue2FsaWFzZXM6WyJjIiwiY2MiLCJoIiwiYysrIiwiaCsrIiwiaHBwIl0sazpjLGk6IjwvIixjOm4uY29uY2F0KFtpLHtiOiJcXGIoZGVxdWV8bGlzdHxxdWV1ZXxzdGFja3x2ZWN0b3J8bWFwfHNldHxiaXRzZXR8bXVsdGlzZXR8bXVsdGltYXB8dW5vcmRlcmVkX21hcHx1bm9yZGVyZWRfc2V0fHVub3JkZXJlZF9tdWx0aXNldHx1bm9yZGVyZWRfbXVsdGltYXB8YXJyYXkpXFxzKjwiLGU6Ij4iLGs6YyxjOlsic2VsZiIsZV19LHtiOnQuSVIrIjo6IixrOmN9LHt2Olt7YjovPS8sZTovOy99LHtiOi9cKC8sZTovXCkvfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIsZTovOy99XSxrOmMsYzpuLmNvbmNhdChbe2I6L1woLyxlOi9cKS8sazpjLGM6bi5jb25jYXQoWyJzZWxmIl0pLHI6MH1dKSxyOjB9LHtjTjoiZnVuY3Rpb24iLGI6IigiK3QuSVIrIltcXComXFxzXSspKyIrYSxyQjohMCxlOi9bezs9XS8sZUU6ITAsazpjLGk6L1teXHdcc1wqJl0vLGM6W3tiOmEsckI6ITAsYzpbdC5UTV0scjowfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOmMscjowLGM6W3QuQ0xDTSx0LkNCQ00scixzLGVdfSx0LkNMQ00sdC5DQkNNLGldfSx7Y046ImNsYXNzIixiSzoiY2xhc3Mgc3RydWN0IixlOi9bezs6XS8sYzpbe2I6LzwvLGU6Lz4vLGM6WyJzZWxmIl19LHQuVE1dfV0pLGV4cG9ydHM6e3ByZXByb2Nlc3NvcjppLHN0cmluZ3M6cixrOmN9fX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicnVieSIsZnVuY3Rpb24oZSl7dmFyIGI9IlthLXpBLVpfXVxcdypbIT89XT98Wy0rfl1cXEB8PDx8Pj58PX58PT09P3w8PT58Wzw+XT0/fFxcKlxcKnxbLS8rJV4mKn5gfF18XFxbXFxdPT8iLHI9e2tleXdvcmQ6ImFuZCB0aGVuIGRlZmluZWQgbW9kdWxlIGluIHJldHVybiByZWRvIGlmIEJFR0lOIHJldHJ5IGVuZCBmb3Igc2VsZiB3aGVuIG5leHQgdW50aWwgZG8gYmVnaW4gdW5sZXNzIEVORCByZXNjdWUgZWxzZSBicmVhayB1bmRlZiBub3Qgc3VwZXIgY2xhc3MgY2FzZSByZXF1aXJlIHlpZWxkIGFsaWFzIHdoaWxlIGVuc3VyZSBlbHNpZiBvciBpbmNsdWRlIGF0dHJfcmVhZGVyIGF0dHJfd3JpdGVyIGF0dHJfYWNjZXNzb3IiLGxpdGVyYWw6InRydWUgZmFsc2UgbmlsIn0sYz17Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9LGE9e2I6IiM8IixlOiI+In0scz1bZS5DKCIjIiwiJCIse2M6W2NdfSksZS5DKCJeXFw9YmVnaW4iLCJeXFw9ZW5kIix7YzpbY10scjoxMH0pLGUuQygiXl9fRU5EX18iLCJcXG4kIildLG49e2NOOiJzdWJzdCIsYjoiI1xceyIsZToifSIsazpyfSx0PXtjTjoic3RyaW5nIixjOltlLkJFLG5dLHY6W3tiOi8nLyxlOi8nL30se2I6LyIvLGU6LyIvfSx7YjovYC8sZTovYC99LHtiOiIlW3FRd1d4XT9cXCgiLGU6IlxcKSJ9LHtiOiIlW3FRd1d4XT9cXFsiLGU6IlxcXSJ9LHtiOiIlW3FRd1d4XT97IixlOiJ9In0se2I6IiVbcVF3V3hdPzwiLGU6Ij4ifSx7YjoiJVtxUXdXeF0/LyIsZToiLyJ9LHtiOiIlW3FRd1d4XT8lIixlOiIlIn0se2I6IiVbcVF3V3hdPy0iLGU6Ii0ifSx7YjoiJVtxUXdXeF0/XFx8IixlOiJcXHwifSx7YjovXEJcPyhcXFxkezEsM318XFx4W0EtRmEtZjAtOV17MSwyfXxcXHVbQS1GYS1mMC05XXs0fXxcXD9cUylcYi99LHtiOi88PCgtPylcdyskLyxlOi9eXHMqXHcrJC99XX0saT17Y046InBhcmFtcyIsYjoiXFwoIixlOiJcXCkiLGVuZHNQYXJlbnQ6ITAsazpyfSxkPVt0LGEse2NOOiJjbGFzcyIsYks6ImNsYXNzIG1vZHVsZSIsZToiJHw7IixpOi89LyxjOltlLmluaGVyaXQoZS5UTSx7YjoiW0EtWmEtel9dXFx3Kig6OlxcdyspKihcXD98XFwhKT8ifSkse2I6IjxcXHMqIixjOlt7YjoiKCIrZS5JUisiOjopPyIrZS5JUn1dfV0uY29uY2F0KHMpfSx7Y046ImZ1bmN0aW9uIixiSzoiZGVmIixlOiIkfDsiLGM6W2UuaW5oZXJpdChlLlRNLHtiOmJ9KSxpXS5jb25jYXQocyl9LHtiOmUuSVIrIjo6In0se2NOOiJzeW1ib2wiLGI6ZS5VSVIrIihcXCF8XFw/KT86IixyOjB9LHtjTjoic3ltYm9sIixiOiI6KD8hXFxzKSIsYzpbdCx7YjpifV0scjowfSx7Y046Im51bWJlciIsYjoiKFxcYjBbMC03X10rKXwoXFxiMHhbMC05YS1mQS1GX10rKXwoXFxiWzEtOV1bMC05X10qKFxcLlswLTlfXSspPyl8WzBfXVxcYiIscjowfSx7YjoiKFxcJFxcVyl8KChcXCR8XFxAXFxAPykoXFx3KykpIn0se2NOOiJwYXJhbXMiLGI6L1x8LyxlOi9cfC8sazpyfSx7YjoiKCIrZS5SU1IrInx1bmxlc3MpXFxzKiIsazoidW5sZXNzIixjOlthLHtjTjoicmVnZXhwIixjOltlLkJFLG5dLGk6L1xuLyx2Olt7YjoiLyIsZToiL1thLXpdKiJ9LHtiOiIlcnsiLGU6In1bYS16XSoifSx7YjoiJXJcXCgiLGU6IlxcKVthLXpdKiJ9LHtiOiIlciEiLGU6IiFbYS16XSoifSx7YjoiJXJcXFsiLGU6IlxcXVthLXpdKiJ9XX1dLmNvbmNhdChzKSxyOjB9XS5jb25jYXQocyk7bi5jPWQsaS5jPWQ7dmFyIGw9Ils+P10+IixvPSJbXFx3I10rXFwoXFx3K1xcKTpcXGQrOlxcZCs+Iix1PSIoXFx3Ky0pP1xcZCtcXC5cXGQrXFwuXFxkKHBcXGQrKT9bXj5dKz4iLHc9W3tiOi9eXHMqPT4vLHN0YXJ0czp7ZToiJCIsYzpkfX0se2NOOiJtZXRhIixiOiJeKCIrbCsifCIrbysifCIrdSsiKSIsc3RhcnRzOntlOiIkIixjOmR9fV07cmV0dXJue2FsaWFzZXM6WyJyYiIsImdlbXNwZWMiLCJwb2RzcGVjIiwidGhvciIsImlyYiJdLGs6cixpOi9cL1wqLyxjOnMuY29uY2F0KHcpLmNvbmNhdChkKX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInlhbWwiLGZ1bmN0aW9uKGUpe3ZhciBiPSJ0cnVlIGZhbHNlIHllcyBubyBudWxsIixhPSJeWyBcXC1dKiIscj0iW2EtekEtWl9dW1xcd1xcLV0qIix0PXtjTjoiYXR0ciIsdjpbe2I6YStyKyI6In0se2I6YSsnIicrcisnIjonfSx7YjphKyInIityKyInOiJ9XX0sYz17Y046InRlbXBsYXRlLXZhcmlhYmxlIix2Olt7Yjoie3siLGU6In19In0se2I6IiV7IixlOiJ9In1dfSxsPXtjTjoic3RyaW5nIixyOjAsdjpbe2I6LycvLGU6LycvfSx7YjovIi8sZTovIi99LHtiOi9cUysvfV0sYzpbZS5CRSxjXX07cmV0dXJue2NJOiEwLGFsaWFzZXM6WyJ5bWwiLCJZQU1MIiwieWFtbCJdLGM6W3Qse2NOOiJtZXRhIixiOiJeLS0tcyokIixyOjEwfSx7Y046InN0cmluZyIsYjoiW1xcfD5dICokIixyRTohMCxjOmwuYyxlOnQudlswXS5ifSx7YjoiPCVbJT0tXT8iLGU6IlslLV0/JT4iLHNMOiJydWJ5IixlQjohMCxlRTohMCxyOjB9LHtjTjoidHlwZSIsYjoiISEiK2UuVUlSfSx7Y046Im1ldGEiLGI6IiYiK2UuVUlSKyIkIn0se2NOOiJtZXRhIixiOiJcXCoiK2UuVUlSKyIkIn0se2NOOiJidWxsZXQiLGI6Il4gKi0iLHI6MH0sZS5IQ00se2JLOmIsazp7bGl0ZXJhbDpifX0sZS5DTk0sbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJjc3MiLGZ1bmN0aW9uKGUpe3ZhciBjPSJbYS16QS1aLV1bYS16QS1aMC05Xy1dKiIsdD17YjovW0EtWlxfXC5cLV0rXHMqOi8sckI6ITAsZToiOyIsZVc6ITAsYzpbe2NOOiJhdHRyaWJ1dGUiLGI6L1xTLyxlOiI6IixlRTohMCxzdGFydHM6e2VXOiEwLGVFOiEwLGM6W3tiOi9bXHctXStcKC8sckI6ITAsYzpbe2NOOiJidWlsdF9pbiIsYjovW1x3LV0rL30se2I6L1woLyxlOi9cKS8sYzpbZS5BU00sZS5RU01dfV19LGUuQ1NTTk0sZS5RU00sZS5BU00sZS5DQkNNLHtjTjoibnVtYmVyIixiOiIjWzAtOUEtRmEtZl0rIn0se2NOOiJtZXRhIixiOiIhaW1wb3J0YW50In1dfX1dfTtyZXR1cm57Y0k6ITAsaTovWz1cL3wnXCRdLyxjOltlLkNCQ00se2NOOiJzZWxlY3Rvci1pZCIsYjovI1tBLVphLXowLTlfLV0rL30se2NOOiJzZWxlY3Rvci1jbGFzcyIsYjovXC5bQS1aYS16MC05Xy1dKy99LHtjTjoic2VsZWN0b3ItYXR0ciIsYjovXFsvLGU6L1xdLyxpOiIkIn0se2NOOiJzZWxlY3Rvci1wc2V1ZG8iLGI6LzooOik/W2EtekEtWjAtOVxfXC1cK1woXCkiJy5dKy99LHtiOiJAKGZvbnQtZmFjZXxwYWdlKSIsbDoiW2Etei1dKyIsazoiZm9udC1mYWNlIHBhZ2UifSx7YjoiQCIsZToiW3s7XSIsaTovOi8sYzpbe2NOOiJrZXl3b3JkIixiOi9cdysvfSx7YjovXHMvLGVXOiEwLGVFOiEwLHI6MCxjOltlLkFTTSxlLlFTTSxlLkNTU05NXX1dfSx7Y046InNlbGVjdG9yLXRhZyIsYjpjLHI6MH0se2I6InsiLGU6In0iLGk6L1xTLyxjOltlLkNCQ00sdF19XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImZvcnRyYW4iLGZ1bmN0aW9uKGUpe3ZhciB0PXtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSJ9LG49e2xpdGVyYWw6Ii5GYWxzZS4gLlRydWUuIixrZXl3b3JkOiJraW5kIGRvIHdoaWxlIHByaXZhdGUgY2FsbCBpbnRyaW5zaWMgd2hlcmUgZWxzZXdoZXJlIHR5cGUgZW5kdHlwZSBlbmRtb2R1bGUgZW5kc2VsZWN0IGVuZGludGVyZmFjZSBlbmQgZW5kZG8gZW5kaWYgaWYgZm9yYWxsIGVuZGZvcmFsbCBvbmx5IGNvbnRhaW5zIGRlZmF1bHQgcmV0dXJuIHN0b3AgdGhlbiBwdWJsaWMgc3Vicm91dGluZXwxMCBmdW5jdGlvbiBwcm9ncmFtIC5hbmQuIC5vci4gLm5vdC4gLmxlLiAuZXEuIC5nZS4gLmd0LiAubHQuIGdvdG8gc2F2ZSBlbHNlIHVzZSBtb2R1bGUgc2VsZWN0IGNhc2UgYWNjZXNzIGJsYW5rIGRpcmVjdCBleGlzdCBmaWxlIGZtdCBmb3JtIGZvcm1hdHRlZCBpb3N0YXQgbmFtZSBuYW1lZCBuZXh0cmVjIG51bWJlciBvcGVuZWQgcmVjIHJlY2wgc2VxdWVudGlhbCBzdGF0dXMgdW5mb3JtYXR0ZWQgdW5pdCBjb250aW51ZSBmb3JtYXQgcGF1c2UgY3ljbGUgZXhpdCBjX251bGxfY2hhciBjX2FsZXJ0IGNfYmFja3NwYWNlIGNfZm9ybV9mZWVkIGZsdXNoIHdhaXQgZGVjaW1hbCByb3VuZCBpb21zZyBzeW5jaHJvbm91cyBub3Bhc3Mgbm9uX292ZXJyaWRhYmxlIHBhc3MgcHJvdGVjdGVkIHZvbGF0aWxlIGFic3RyYWN0IGV4dGVuZHMgaW1wb3J0IG5vbl9pbnRyaW5zaWMgdmFsdWUgZGVmZXJyZWQgZ2VuZXJpYyBmaW5hbCBlbnVtZXJhdG9yIGNsYXNzIGFzc29jaWF0ZSBiaW5kIGVudW0gY19pbnQgY19zaG9ydCBjX2xvbmcgY19sb25nX2xvbmcgY19zaWduZWRfY2hhciBjX3NpemVfdCBjX2ludDhfdCBjX2ludDE2X3QgY19pbnQzMl90IGNfaW50NjRfdCBjX2ludF9sZWFzdDhfdCBjX2ludF9sZWFzdDE2X3QgY19pbnRfbGVhc3QzMl90IGNfaW50X2xlYXN0NjRfdCBjX2ludF9mYXN0OF90IGNfaW50X2Zhc3QxNl90IGNfaW50X2Zhc3QzMl90IGNfaW50X2Zhc3Q2NF90IGNfaW50bWF4X3QgQ19pbnRwdHJfdCBjX2Zsb2F0IGNfZG91YmxlIGNfbG9uZ19kb3VibGUgY19mbG9hdF9jb21wbGV4IGNfZG91YmxlX2NvbXBsZXggY19sb25nX2RvdWJsZV9jb21wbGV4IGNfYm9vbCBjX2NoYXIgY19udWxsX3B0ciBjX251bGxfZnVucHRyIGNfbmV3X2xpbmUgY19jYXJyaWFnZV9yZXR1cm4gY19ob3Jpem9udGFsX3RhYiBjX3ZlcnRpY2FsX3RhYiBpc29fY19iaW5kaW5nIGNfbG9jIGNfZnVubG9jIGNfYXNzb2NpYXRlZCAgY19mX3BvaW50ZXIgY19wdHIgY19mdW5wdHIgaXNvX2ZvcnRyYW5fZW52IGNoYXJhY3Rlcl9zdG9yYWdlX3NpemUgZXJyb3JfdW5pdCBmaWxlX3N0b3JhZ2Vfc2l6ZSBpbnB1dF91bml0IGlvc3RhdF9lbmQgaW9zdGF0X2VvciBudW1lcmljX3N0b3JhZ2Vfc2l6ZSBvdXRwdXRfdW5pdCBjX2ZfcHJvY3BvaW50ZXIgaWVlZV9hcml0aG1ldGljIGllZWVfc3VwcG9ydF91bmRlcmZsb3dfY29udHJvbCBpZWVlX2dldF91bmRlcmZsb3dfbW9kZSBpZWVlX3NldF91bmRlcmZsb3dfbW9kZSBuZXd1bml0IGNvbnRpZ3VvdXMgcmVjdXJzaXZlIHBhZCBwb3NpdGlvbiBhY3Rpb24gZGVsaW0gcmVhZHdyaXRlIGVvciBhZHZhbmNlIG5tbCBpbnRlcmZhY2UgcHJvY2VkdXJlIG5hbWVsaXN0IGluY2x1ZGUgc2VxdWVuY2UgZWxlbWVudGFsIHB1cmUgaW50ZWdlciByZWFsIGNoYXJhY3RlciBjb21wbGV4IGxvZ2ljYWwgZGltZW5zaW9uIGFsbG9jYXRhYmxlfDEwIHBhcmFtZXRlciBleHRlcm5hbCBpbXBsaWNpdHwxMCBub25lIGRvdWJsZSBwcmVjaXNpb24gYXNzaWduIGludGVudCBvcHRpb25hbCBwb2ludGVyIHRhcmdldCBpbiBvdXQgY29tbW9uIGVxdWl2YWxlbmNlIGRhdGEiLGJ1aWx0X2luOiJhbG9nIGFsb2cxMCBhbWF4MCBhbWF4MSBhbWluMCBhbWluMSBhbW9kIGNhYnMgY2NvcyBjZXhwIGNsb2cgY3NpbiBjc3FydCBkYWJzIGRhY29zIGRhc2luIGRhdGFuIGRhdGFuMiBkY29zIGRjb3NoIGRkaW0gZGV4cCBkaW50IGRsb2cgZGxvZzEwIGRtYXgxIGRtaW4xIGRtb2QgZG5pbnQgZHNpZ24gZHNpbiBkc2luaCBkc3FydCBkdGFuIGR0YW5oIGZsb2F0IGlhYnMgaWRpbSBpZGludCBpZG5pbnQgaWZpeCBpc2lnbiBtYXgwIG1heDEgbWluMCBtaW4xIHNuZ2wgYWxnYW1hIGNkYWJzIGNkY29zIGNkZXhwIGNkbG9nIGNkc2luIGNkc3FydCBjcWFicyBjcWNvcyBjcWV4cCBjcWxvZyBjcXNpbiBjcXNxcnQgZGNtcGx4IGRjb25qZyBkZXJmIGRlcmZjIGRmbG9hdCBkZ2FtbWEgZGltYWcgZGxnYW1hIGlxaW50IHFhYnMgcWFjb3MgcWFzaW4gcWF0YW4gcWF0YW4yIHFjbXBseCBxY29uamcgcWNvcyBxY29zaCBxZGltIHFlcmYgcWVyZmMgcWV4cCBxZ2FtbWEgcWltYWcgcWxnYW1hIHFsb2cgcWxvZzEwIHFtYXgxIHFtaW4xIHFtb2QgcW5pbnQgcXNpZ24gcXNpbiBxc2luaCBxc3FydCBxdGFuIHF0YW5oIGFicyBhY29zIGFpbWFnIGFpbnQgYW5pbnQgYXNpbiBhdGFuIGF0YW4yIGNoYXIgY21wbHggY29uamcgY29zIGNvc2ggZXhwIGljaGFyIGluZGV4IGludCBsb2cgbG9nMTAgbWF4IG1pbiBuaW50IHNpZ24gc2luIHNpbmggc3FydCB0YW4gdGFuaCBwcmludCB3cml0ZSBkaW0gbGdlIGxndCBsbGUgbGx0IG1vZCBudWxsaWZ5IGFsbG9jYXRlIGRlYWxsb2NhdGUgYWRqdXN0bCBhZGp1c3RyIGFsbCBhbGxvY2F0ZWQgYW55IGFzc29jaWF0ZWQgYml0X3NpemUgYnRlc3QgY2VpbGluZyBjb3VudCBjc2hpZnQgZGF0ZV9hbmRfdGltZSBkaWdpdHMgZG90X3Byb2R1Y3QgZW9zaGlmdCBlcHNpbG9uIGV4cG9uZW50IGZsb29yIGZyYWN0aW9uIGh1Z2UgaWFuZCBpYmNsciBpYml0cyBpYnNldCBpZW9yIGlvciBpc2hmdCBpc2hmdGMgbGJvdW5kIGxlbl90cmltIG1hdG11bCBtYXhleHBvbmVudCBtYXhsb2MgbWF4dmFsIG1lcmdlIG1pbmV4cG9uZW50IG1pbmxvYyBtaW52YWwgbW9kdWxvIG12Yml0cyBuZWFyZXN0IHBhY2sgcHJlc2VudCBwcm9kdWN0IHJhZGl4IHJhbmRvbV9udW1iZXIgcmFuZG9tX3NlZWQgcmFuZ2UgcmVwZWF0IHJlc2hhcGUgcnJzcGFjaW5nIHNjYWxlIHNjYW4gc2VsZWN0ZWRfaW50X2tpbmQgc2VsZWN0ZWRfcmVhbF9raW5kIHNldF9leHBvbmVudCBzaGFwZSBzaXplIHNwYWNpbmcgc3ByZWFkIHN1bSBzeXN0ZW1fY2xvY2sgdGlueSB0cmFuc3Bvc2UgdHJpbSB1Ym91bmQgdW5wYWNrIHZlcmlmeSBhY2hhciBpYWNoYXIgdHJhbnNmZXIgZGJsZSBlbnRyeSBkcHJvZCBjcHVfdGltZSBjb21tYW5kX2FyZ3VtZW50X2NvdW50IGdldF9jb21tYW5kIGdldF9jb21tYW5kX2FyZ3VtZW50IGdldF9lbnZpcm9ubWVudF92YXJpYWJsZSBpc19pb3N0YXRfZW5kIGllZWVfYXJpdGhtZXRpYyBpZWVlX3N1cHBvcnRfdW5kZXJmbG93X2NvbnRyb2wgaWVlZV9nZXRfdW5kZXJmbG93X21vZGUgaWVlZV9zZXRfdW5kZXJmbG93X21vZGUgaXNfaW9zdGF0X2VvciBtb3ZlX2FsbG9jIG5ld19saW5lIHNlbGVjdGVkX2NoYXJfa2luZCBzYW1lX3R5cGVfYXMgZXh0ZW5kc190eXBlX29mYWNvc2ggYXNpbmggYXRhbmggYmVzc2VsX2owIGJlc3NlbF9qMSBiZXNzZWxfam4gYmVzc2VsX3kwIGJlc3NlbF95MSBiZXNzZWxfeW4gZXJmIGVyZmMgZXJmY19zY2FsZWQgZ2FtbWEgbG9nX2dhbW1hIGh5cG90IG5vcm0yIGF0b21pY19kZWZpbmUgYXRvbWljX3JlZiBleGVjdXRlX2NvbW1hbmRfbGluZSBsZWFkeiB0cmFpbHogc3RvcmFnZV9zaXplIG1lcmdlX2JpdHMgYmdlIGJndCBibGUgYmx0IGRzaGlmdGwgZHNoaWZ0ciBmaW5kbG9jIGlhbGwgaWFueSBpcGFyaXR5IGltYWdlX2luZGV4IGxjb2JvdW5kIHVjb2JvdW5kIG1hc2tsIG1hc2tyIG51bV9pbWFnZXMgcGFyaXR5IHBvcGNudCBwb3BwYXIgc2hpZnRhIHNoaWZ0bCBzaGlmdHIgdGhpc19pbWFnZSJ9O3JldHVybntjSTohMCxhbGlhc2VzOlsiZjkwIiwiZjk1Il0sazpuLGk6L1wvXCovLGM6W2UuaW5oZXJpdChlLkFTTSx7Y046InN0cmluZyIscjowfSksZS5pbmhlcml0KGUuUVNNLHtjTjoic3RyaW5nIixyOjB9KSx7Y046ImZ1bmN0aW9uIixiSzoic3Vicm91dGluZSBmdW5jdGlvbiBwcm9ncmFtIixpOiJbJHs9XFxuXSIsYzpbZS5VVE0sdF19LGUuQygiISIsIiQiLHtyOjB9KSx7Y046Im51bWJlciIsYjoiKD89XFxifFxcK3xcXC18XFwuKSg/PVxcLlxcZHxcXGQpKD86XFxkKyk/KD86XFwuP1xcZCopKD86W2RlXVsrLV0/XFxkKyk/XFxiXFwuPyIscjowfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJhd2siLGZ1bmN0aW9uKGUpe3ZhciByPXtjTjoidmFyaWFibGUiLHY6W3tiOi9cJFtcd1xkI0BdW1x3XGRfXSovfSx7YjovXCRceyguKj8pfS99XX0sYj0iQkVHSU4gRU5EIGlmIGVsc2Ugd2hpbGUgZG8gZm9yIGluIGJyZWFrIGNvbnRpbnVlIGRlbGV0ZSBuZXh0IG5leHRmaWxlIGZ1bmN0aW9uIGZ1bmMgZXhpdHwxMCIsbj17Y046InN0cmluZyIsYzpbZS5CRV0sdjpbe2I6Lyh1fGIpP3I/JycnLyxlOi8nJycvLHI6MTB9LHtiOi8odXxiKT9yPyIiIi8sZTovIiIiLyxyOjEwfSx7YjovKHV8cnx1ciknLyxlOi8nLyxyOjEwfSx7YjovKHV8cnx1cikiLyxlOi8iLyxyOjEwfSx7YjovKGJ8YnIpJy8sZTovJy99LHtiOi8oYnxicikiLyxlOi8iL30sZS5BU00sZS5RU01dfTtyZXR1cm57azp7a2V5d29yZDpifSxjOltyLG4sZS5STSxlLkhDTSxlLk5NXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoIm1ha2VmaWxlIixmdW5jdGlvbihlKXt2YXIgaT17Y046InZhcmlhYmxlIix2Olt7YjoiXFwkXFwoIitlLlVJUisiXFwpIixjOltlLkJFXX0se2I6L1wkW0AlPD9cXlwrXCpdL31dfSxyPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLGldfSxhPXtjTjoidmFyaWFibGUiLGI6L1wkXChbXHctXStccy8sZTovXCkvLGs6e2J1aWx0X2luOiJzdWJzdCBwYXRzdWJzdCBzdHJpcCBmaW5kc3RyaW5nIGZpbHRlciBmaWx0ZXItb3V0IHNvcnQgd29yZCB3b3JkbGlzdCBmaXJzdHdvcmQgbGFzdHdvcmQgZGlyIG5vdGRpciBzdWZmaXggYmFzZW5hbWUgYWRkc3VmZml4IGFkZHByZWZpeCBqb2luIHdpbGRjYXJkIHJlYWxwYXRoIGFic3BhdGggZXJyb3Igd2FybmluZyBzaGVsbCBvcmlnaW4gZmxhdm9yIGZvcmVhY2ggaWYgb3IgYW5kIGNhbGwgZXZhbCBmaWxlIHZhbHVlIn0sYzpbaV19LG49e2I6Il4iK2UuVUlSKyJcXHMqWzorP10/PSIsaToiXFxuIixyQjohMCxjOlt7YjoiXiIrZS5VSVIsZToiWzorP10/PSIsZUU6ITB9XX0sdD17Y046Im1ldGEiLGI6L15cLlBIT05ZOi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6Ii5QSE9OWSJ9LGw6L1tcLlx3XSsvfSxsPXtjTjoic2VjdGlvbiIsYjovXlteXHNdKzovLGU6LyQvLGM6W2ldfTtyZXR1cm57YWxpYXNlczpbIm1rIiwibWFrIl0sazoiZGVmaW5lIGVuZGVmIHVuZGVmaW5lIGlmZGVmIGlmbmRlZiBpZmVxIGlmbmVxIGVsc2UgZW5kaWYgaW5jbHVkZSAtaW5jbHVkZSBzaW5jbHVkZSBvdmVycmlkZSBleHBvcnQgdW5leHBvcnQgcHJpdmF0ZSB2cGF0aCIsbDovW1x3LV0rLyxjOltlLkhDTSxpLHIsYSxuLHQsbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJqYXZhIixmdW5jdGlvbihlKXt2YXIgYT0iW8OALcq4YS16QS1aXyRdW8OALcq4YS16QS1aXyQwLTldKiIsdD1hKyIoPCIrYSsiKFxccyosXFxzKiIrYSsiKSo+KT8iLHI9ImZhbHNlIHN5bmNocm9uaXplZCBpbnQgYWJzdHJhY3QgZmxvYXQgcHJpdmF0ZSBjaGFyIGJvb2xlYW4gc3RhdGljIG51bGwgaWYgY29uc3QgZm9yIHRydWUgd2hpbGUgbG9uZyBzdHJpY3RmcCBmaW5hbGx5IHByb3RlY3RlZCBpbXBvcnQgbmF0aXZlIGZpbmFsIHZvaWQgZW51bSBlbHNlIGJyZWFrIHRyYW5zaWVudCBjYXRjaCBpbnN0YW5jZW9mIGJ5dGUgc3VwZXIgdm9sYXRpbGUgY2FzZSBhc3NlcnQgc2hvcnQgcGFja2FnZSBkZWZhdWx0IGRvdWJsZSBwdWJsaWMgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHRocm93cyBwcm90ZWN0ZWQgcHVibGljIHByaXZhdGUgbW9kdWxlIHJlcXVpcmVzIGV4cG9ydHMgZG8iLHM9IlxcYigwW2JCXShbMDFdK1swMV9dK1swMV0rfFswMV0rKXwwW3hYXShbYS1mQS1GMC05XStbYS1mQS1GMC05X10rW2EtZkEtRjAtOV0rfFthLWZBLUYwLTldKyl8KChbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykoXFwuKFtcXGRdK1tcXGRfXStbXFxkXSt8W1xcZF0rKSk/fFxcLihbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykpKFtlRV1bLStdP1xcZCspPylbbExmRl0/IixjPXtjTjoibnVtYmVyIixiOnMscjowfTtyZXR1cm57YWxpYXNlczpbImpzcCJdLGs6cixpOi88XC98Iy8sYzpbZS5DKCIvXFwqXFwqIiwiXFwqLyIse3I6MCxjOlt7YjovXHcrQC8scjowfSx7Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9XX0pLGUuQ0xDTSxlLkNCQ00sZS5BU00sZS5RU00se2NOOiJjbGFzcyIsYks6ImNsYXNzIGludGVyZmFjZSIsZTovW3s7PV0vLGVFOiEwLGs6ImNsYXNzIGludGVyZmFjZSIsaTovWzoiXFtcXV0vLGM6W3tiSzoiZXh0ZW5kcyBpbXBsZW1lbnRzIn0sZS5VVE1dfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIscjowfSx7Y046ImZ1bmN0aW9uIixiOiIoIit0KyJcXHMrKSsiK2UuVUlSKyJcXHMqXFwoIixyQjohMCxlOi9bezs9XS8sZUU6ITAsazpyLGM6W3tiOmUuVUlSKyJcXHMqXFwoIixyQjohMCxyOjAsYzpbZS5VVE1dfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnIscjowLGM6W2UuQVNNLGUuUVNNLGUuQ05NLGUuQ0JDTV19LGUuQ0xDTSxlLkNCQ01dfSxjLHtjTjoibWV0YSIsYjoiQFtBLVphLXpdKyJ9XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInN0YW4iLGZ1bmN0aW9uKGUpe3JldHVybntjOltlLkhDTSxlLkNMQ00sZS5DQkNNLHtiOmUuVUlSLGw6ZS5VSVIsazp7bmFtZToiZm9yIGluIHdoaWxlIHJlcGVhdCB1bnRpbCBpZiB0aGVuIGVsc2UiLHN5bWJvbDoiYmVybm91bGxpIGJlcm5vdWxsaV9sb2dpdCBiaW5vbWlhbCBiaW5vbWlhbF9sb2dpdCBiZXRhX2Jpbm9taWFsIGh5cGVyZ2VvbWV0cmljIGNhdGVnb3JpY2FsIGNhdGVnb3JpY2FsX2xvZ2l0IG9yZGVyZWRfbG9naXN0aWMgbmVnX2Jpbm9taWFsIG5lZ19iaW5vbWlhbF8yIG5lZ19iaW5vbWlhbF8yX2xvZyBwb2lzc29uIHBvaXNzb25fbG9nIG11bHRpbm9taWFsIG5vcm1hbCBleHBfbW9kX25vcm1hbCBza2V3X25vcm1hbCBzdHVkZW50X3QgY2F1Y2h5IGRvdWJsZV9leHBvbmVudGlhbCBsb2dpc3RpYyBndW1iZWwgbG9nbm9ybWFsIGNoaV9zcXVhcmUgaW52X2NoaV9zcXVhcmUgc2NhbGVkX2ludl9jaGlfc3F1YXJlIGV4cG9uZW50aWFsIGludl9nYW1tYSB3ZWlidWxsIGZyZWNoZXQgcmF5bGVpZ2ggd2llbmVyIHBhcmV0byBwYXJldG9fdHlwZV8yIHZvbl9taXNlcyB1bmlmb3JtIG11bHRpX25vcm1hbCBtdWx0aV9ub3JtYWxfcHJlYyBtdWx0aV9ub3JtYWxfY2hvbGVza3kgbXVsdGlfZ3AgbXVsdGlfZ3BfY2hvbGVza3kgbXVsdGlfc3R1ZGVudF90IGdhdXNzaWFuX2RsbV9vYnMgZGlyaWNobGV0IGxral9jb3JyIGxral9jb3JyX2Nob2xlc2t5IHdpc2hhcnQgaW52X3dpc2hhcnQiLCJzZWxlY3Rvci10YWciOiJpbnQgcmVhbCB2ZWN0b3Igc2ltcGxleCB1bml0X3ZlY3RvciBvcmRlcmVkIHBvc2l0aXZlX29yZGVyZWQgcm93X3ZlY3RvciBtYXRyaXggY2hvbGVza3lfZmFjdG9yX2NvcnIgY2hvbGVza3lfZmFjdG9yX2NvdiBjb3JyX21hdHJpeCBjb3ZfbWF0cml4Iix0aXRsZToiZnVuY3Rpb25zIG1vZGVsIGRhdGEgcGFyYW1ldGVycyBxdWFudGl0aWVzIHRyYW5zZm9ybWVkIGdlbmVyYXRlZCIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSJ9LHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP0xcXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCtcXC4oPyFcXGQpKD86aVxcYik/IixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86XFwuXFxkKik/KD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIscjowfSx7Y046Im51bWJlciIsYjoiXFwuXFxkKyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiamF2YXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIHI9IltBLVphLXokX11bMC05QS1aYS16JF9dKiIsdD17a2V5d29yZDoiaW4gb2YgaWYgZm9yIHdoaWxlIGZpbmFsbHkgdmFyIG5ldyBmdW5jdGlvbiBkbyByZXR1cm4gdm9pZCBlbHNlIGJyZWFrIGNhdGNoIGluc3RhbmNlb2Ygd2l0aCB0aHJvdyBjYXNlIGRlZmF1bHQgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHR5cGVvZiBkZWxldGUgbGV0IHlpZWxkIGNvbnN0IGV4cG9ydCBzdXBlciBkZWJ1Z2dlciBhcyBhc3luYyBhd2FpdCBzdGF0aWMgaW1wb3J0IGZyb20gYXMiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgTmFOIEluZmluaXR5IixidWlsdF9pbjoiZXZhbCBpc0Zpbml0ZSBpc05hTiBwYXJzZUZsb2F0IHBhcnNlSW50IGRlY29kZVVSSSBkZWNvZGVVUklDb21wb25lbnQgZW5jb2RlVVJJIGVuY29kZVVSSUNvbXBvbmVudCBlc2NhcGUgdW5lc2NhcGUgT2JqZWN0IEZ1bmN0aW9uIEJvb2xlYW4gRXJyb3IgRXZhbEVycm9yIEludGVybmFsRXJyb3IgUmFuZ2VFcnJvciBSZWZlcmVuY2VFcnJvciBTdG9wSXRlcmF0aW9uIFN5bnRheEVycm9yIFR5cGVFcnJvciBVUklFcnJvciBOdW1iZXIgTWF0aCBEYXRlIFN0cmluZyBSZWdFeHAgQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheSBJbnQxNkFycmF5IEludDMyQXJyYXkgSW50OEFycmF5IFVpbnQxNkFycmF5IFVpbnQzMkFycmF5IFVpbnQ4QXJyYXkgVWludDhDbGFtcGVkQXJyYXkgQXJyYXlCdWZmZXIgRGF0YVZpZXcgSlNPTiBJbnRsIGFyZ3VtZW50cyByZXF1aXJlIG1vZHVsZSBjb25zb2xlIHdpbmRvdyBkb2N1bWVudCBTeW1ib2wgU2V0IE1hcCBXZWFrU2V0IFdlYWtNYXAgUHJveHkgUmVmbGVjdCBQcm9taXNlIn0sYT17Y046Im51bWJlciIsdjpbe2I6IlxcYigwW2JCXVswMV0rKSJ9LHtiOiJcXGIoMFtvT11bMC03XSspIn0se2I6ZS5DTlJ9XSxyOjB9LG49e2NOOiJzdWJzdCIsYjoiXFwkXFx7IixlOiJcXH0iLGs6dCxjOltdfSxjPXtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFLG5dfTtuLmM9W2UuQVNNLGUuUVNNLGMsYSxlLlJNXTt2YXIgcz1uLmMuY29uY2F0KFtlLkNCQ00sZS5DTENNXSk7cmV0dXJue2FsaWFzZXM6WyJqcyIsImpzeCJdLGs6dCxjOlt7Y046Im1ldGEiLHI6MTAsYjovXlxzKlsnIl11c2UgKHN0cmljdHxhc20pWyciXS99LHtjTjoibWV0YSIsYjovXiMhLyxlOi8kL30sZS5BU00sZS5RU00sYyxlLkNMQ00sZS5DQkNNLGEse2I6L1t7LF1ccyovLHI6MCxjOlt7YjpyKyJcXHMqOiIsckI6ITAscjowLGM6W3tjTjoiYXR0ciIsYjpyLHI6MH1dfV19LHtiOiIoIitlLlJTUisifFxcYihjYXNlfHJldHVybnx0aHJvdylcXGIpXFxzKiIsazoicmV0dXJuIHRocm93IGNhc2UiLGM6W2UuQ0xDTSxlLkNCQ00sZS5STSx7Y046ImZ1bmN0aW9uIixiOiIoXFwoLio/XFwpfCIrcisiKVxccyo9PiIsckI6ITAsZToiXFxzKj0+IixjOlt7Y046InBhcmFtcyIsdjpbe2I6cn0se2I6L1woXHMqXCkvfSx7YjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxrOnQsYzpzfV19XX0se2I6LzwvLGU6LyhcL1x3K3xcdytcLyk+LyxzTDoieG1sIixjOlt7YjovPFx3K1xzKlwvPi8sc2tpcDohMH0se2I6LzxcdysvLGU6LyhcL1x3K3xcdytcLyk+Lyxza2lwOiEwLGM6W3tiOi88XHcrXHMqXC8+Lyxza2lwOiEwfSwic2VsZiJdfV19XSxyOjB9LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jdGlvbiIsZTovXHsvLGVFOiEwLGM6W2UuaW5oZXJpdChlLlRNLHtiOnJ9KSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxjOnN9XSxpOi9cW3wlL30se2I6L1wkWyguXS99LGUuTUVUSE9EX0dVQVJELHtjTjoiY2xhc3MiLGJLOiJjbGFzcyIsZTovW3s7PV0vLGVFOiEwLGk6L1s6IlxbXF1dLyxjOlt7Yks6ImV4dGVuZHMifSxlLlVUTV19LHtiSzoiY29uc3RydWN0b3IiLGU6L1x7LyxlRTohMH1dLGk6LyMoPyEhKS99fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJ0ZXgiLGZ1bmN0aW9uKGMpe3ZhciBlPXtjTjoidGFnIixiOi9cXC8scjowLGM6W3tjTjoibmFtZSIsdjpbe2I6L1thLXpBLVrQsC3Rj9CQLdGPXStbKl0/L30se2I6L1teYS16QS1a0LAt0Y/QkC3RjzAtOV0vfV0sc3RhcnRzOntlVzohMCxyOjAsYzpbe2NOOiJzdHJpbmciLHY6W3tiOi9cWy8sZTovXF0vfSx7YjovXHsvLGU6L1x9L31dfSx7YjovXHMqPVxzKi8sZVc6ITAscjowLGM6W3tjTjoibnVtYmVyIixiOi8tP1xkKlwuP1xkKyhwdHxwY3xtbXxjbXxpbnxkZHxjY3xleHxlbSk/L31dfV19fV19O3JldHVybntjOltlLHtjTjoiZm9ybXVsYSIsYzpbZV0scjowLHY6W3tiOi9cJFwkLyxlOi9cJFwkL30se2I6L1wkLyxlOi9cJC99XX0sYy5DKCIlIiwiJCIse3I6MH0pXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInhtbCIsZnVuY3Rpb24ocyl7dmFyIGU9IltBLVphLXowLTlcXC5fOi1dKyIsdD17ZVc6ITAsaTovPC8scjowLGM6W3tjTjoiYXR0ciIsYjplLHI6MH0se2I6Lz1ccyovLHI6MCxjOlt7Y046InN0cmluZyIsZW5kc1BhcmVudDohMCx2Olt7YjovIi8sZTovIi99LHtiOi8nLyxlOi8nL30se2I6L1teXHMiJz08PmBdKy99XX1dfV19O3JldHVybnthbGlhc2VzOlsiaHRtbCIsInhodG1sIiwicnNzIiwiYXRvbSIsInhqYiIsInhzZCIsInhzbCIsInBsaXN0Il0sY0k6ITAsYzpbe2NOOiJtZXRhIixiOiI8IURPQ1RZUEUiLGU6Ij4iLHI6MTAsYzpbe2I6IlxcWyIsZToiXFxdIn1dfSxzLkMoIjwhLS0iLCItLT4iLHtyOjEwfSkse2I6IjxcXCFcXFtDREFUQVxcWyIsZToiXFxdXFxdPiIscjoxMH0se2I6LzxcPyhwaHApPy8sZTovXD8+LyxzTDoicGhwIixjOlt7YjoiL1xcKiIsZToiXFwqLyIsc2tpcDohMH1dfSx7Y046InRhZyIsYjoiPHN0eWxlKD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InN0eWxlIn0sYzpbdF0sc3RhcnRzOntlOiI8L3N0eWxlPiIsckU6ITAsc0w6WyJjc3MiLCJ4bWwiXX19LHtjTjoidGFnIixiOiI8c2NyaXB0KD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InNjcmlwdCJ9LGM6W3RdLHN0YXJ0czp7ZToiPC9zY3JpcHQ+IixyRTohMCxzTDpbImFjdGlvbnNjcmlwdCIsImphdmFzY3JpcHQiLCJoYW5kbGViYXJzIiwieG1sIl19fSx7Y046Im1ldGEiLHY6W3tiOi88XD94bWwvLGU6L1w/Pi8scjoxMH0se2I6LzxcP1x3Ky8sZTovXD8+L31dfSx7Y046InRhZyIsYjoiPC8/IixlOiIvPz4iLGM6W3tjTjoibmFtZSIsYjovW15cLz48XHNdKy8scjowfSx0XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgibWFya2Rvd24iLGZ1bmN0aW9uKGUpe3JldHVybnthbGlhc2VzOlsibWQiLCJta2Rvd24iLCJta2QiXSxjOlt7Y046InNlY3Rpb24iLHY6W3tiOiJeI3sxLDZ9IixlOiIkIn0se2I6Il4uKz9cXG5bPS1dezIsfSQifV19LHtiOiI8IixlOiI+IixzTDoieG1sIixyOjB9LHtjTjoiYnVsbGV0IixiOiJeKFsqKy1dfChcXGQrXFwuKSlcXHMrIn0se2NOOiJzdHJvbmciLGI6IlsqX117Mn0uKz9bKl9dezJ9In0se2NOOiJlbXBoYXNpcyIsdjpbe2I6IlxcKi4rP1xcKiJ9LHtiOiJfLis/XyIscjowfV19LHtjTjoicXVvdGUiLGI6Il4+XFxzKyIsZToiJCJ9LHtjTjoiY29kZSIsdjpbe2I6Il5gYGB3KnMqJCIsZToiXmBgYHMqJCJ9LHtiOiJgLis/YCJ9LHtiOiJeKCB7NH18CSkiLGU6IiQiLHI6MH1dfSx7YjoiXlstXFwqXXszLH0iLGU6IiQifSx7YjoiXFxbLis/XFxdW1xcKFxcW10uKj9bXFwpXFxdXSIsckI6ITAsYzpbe2NOOiJzdHJpbmciLGI6IlxcWyIsZToiXFxdIixlQjohMCxyRTohMCxyOjB9LHtjTjoibGluayIsYjoiXFxdXFwoIixlOiJcXCkiLGVCOiEwLGVFOiEwfSx7Y046InN5bWJvbCIsYjoiXFxdXFxbIixlOiJcXF0iLGVCOiEwLGVFOiEwfV0scjoxMH0se2I6L15cW1teXG5dK1xdOi8sckI6ITAsYzpbe2NOOiJzeW1ib2wiLGI6L1xbLyxlOi9cXS8sZUI6ITAsZUU6ITB9LHtjTjoibGluayIsYjovOlxzKi8sZTovJC8sZUI6ITB9XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianNvbiIsZnVuY3Rpb24oZSl7dmFyIGk9e2xpdGVyYWw6InRydWUgZmFsc2UgbnVsbCJ9LG49W2UuUVNNLGUuQ05NXSxyPXtlOiIsIixlVzohMCxlRTohMCxjOm4sazppfSx0PXtiOiJ7IixlOiJ9IixjOlt7Y046ImF0dHIiLGI6LyIvLGU6LyIvLGM6W2UuQkVdLGk6IlxcbiJ9LGUuaW5oZXJpdChyLHtiOi86L30pXSxpOiJcXFMifSxjPXtiOiJcXFsiLGU6IlxcXSIsYzpbZS5pbmhlcml0KHIpXSxpOiJcXFMifTtyZXR1cm4gbi5zcGxpY2Uobi5sZW5ndGgsMCx0LGMpLHtjOm4sazppLGk6IlxcUyJ9fSk7&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,JChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKICAgIGlmICh0eXBlb2YgJCgnW2RhdGEtdG9nZ2xlPSJ0b29sdGlwIl0nKS50b29sdGlwID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgJCgnW2RhdGEtdG9nZ2xlPSJ0b29sdGlwIl0nKS50b29sdGlwKCk7CiAgICB9CiAgICBpZiAoJCgnW2RhdGEtdG9nZ2xlPSJwb3BvdmVyIl0nKS5wb3BvdmVyID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgJCgnW2RhdGEtdG9nZ2xlPSJwb3BvdmVyIl0nKS5wb3BvdmVyKCk7CiAgICB9Cn0pOwo=&quot;&gt;&lt;/script&gt;
&lt;link href=&quot;data:text/css,%0A%2Elightable%2Dminimal%20%7B%0Aborder%2Dcollapse%3A%20separate%3B%0Aborder%2Dspacing%3A%2016px%201px%3B%0Awidth%3A%20100%25%3B%0Amargin%2Dbottom%3A%2010px%3B%0A%7D%0A%2Elightable%2Dminimal%20td%20%7B%0Amargin%2Dleft%3A%205px%3B%0Amargin%2Dright%3A%205px%3B%0A%7D%0A%2Elightable%2Dminimal%20th%20%7B%0Amargin%2Dleft%3A%205px%3B%0Amargin%2Dright%3A%205px%3B%0A%7D%0A%2Elightable%2Dminimal%20thead%20tr%3Alast%2Dchild%20th%20%7B%0Aborder%2Dbottom%3A%202px%20solid%20%2300000050%3B%0Aempty%2Dcells%3A%20hide%3B%0A%7D%0A%2Elightable%2Dminimal%20tbody%20tr%3Afirst%2Dchild%20td%20%7B%0Apadding%2Dtop%3A%200%2E5em%3B%0A%7D%0A%2Elightable%2Dminimal%2Elightable%2Dhover%20tbody%20tr%3Ahover%20%7B%0Abackground%2Dcolor%3A%20%23f5f5f5%3B%0A%7D%0A%2Elightable%2Dminimal%2Elightable%2Dstriped%20tbody%20tr%3Anth%2Dchild%28even%29%20%7B%0Abackground%2Dcolor%3A%20%23f5f5f5%3B%0A%7D%0A%2Elightable%2Dclassic%20%7B%0Aborder%2Dtop%3A%200%2E16em%20solid%20%23111111%3B%0Aborder%2Dbottom%3A%200%2E16em%20solid%20%23111111%3B%0Awidth%3A%20100%25%3B%0Amargin%2Dbottom%3A%2010px%3B%0Amargin%3A%2010px%205px%3B%0A%7D%0A%2Elightable%2Dclassic%20tfoot%20tr%20td%20%7B%0Aborder%3A%200%3B%0A%7D%0A%2Elightable%2Dclassic%20tfoot%20tr%3Afirst%2Dchild%20td%20%7B%0Aborder%2Dtop%3A%200%2E14em%20solid%20%23111111%3B%0A%7D%0A%2Elightable%2Dclassic%20caption%20%7B%0Acolor%3A%20%23222222%3B%0A%7D%0A%2Elightable%2Dclassic%20td%20%7B%0Apadding%2Dleft%3A%205px%3B%0Apadding%2Dright%3A%205px%3B%0Acolor%3A%20%23222222%3B%0A%7D%0A%2Elightable%2Dclassic%20th%20%7B%0Apadding%2Dleft%3A%205px%3B%0Apadding%2Dright%3A%205px%3B%0Afont%2Dweight%3A%20normal%3B%0Acolor%3A%20%23222222%3B%0A%7D%0A%2Elightable%2Dclassic%20thead%20tr%3Alast%2Dchild%20th%20%7B%0Aborder%2Dbottom%3A%200%2E10em%20solid%20%23111111%3B%0A%7D%0A%2Elightable%2Dclassic%2Elightable%2Dhover%20tbody%20tr%3Ahover%20%7B%0Abackground%2Dcolor%3A%20%23F9EEC1%3B%0A%7D%0A%2Elightable%2Dclassic%2Elightable%2Dstriped%20tbody%20tr%3Anth%2Dchild%28even%29%20%7B%0Abackground%2Dcolor%3A%20%23f5f5f5%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%20%7B%0Aborder%2Dtop%3A%203px%20double%20%23111111%3B%0Aborder%2Dbottom%3A%203px%20double%20%23111111%3B%0Awidth%3A%20100%25%3B%0Amargin%2Dbottom%3A%2010px%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%20tfoot%20tr%20td%20%7B%0Aborder%3A%200%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%20tfoot%20tr%3Afirst%2Dchild%20td%20%7B%0Aborder%2Dtop%3A%203px%20double%20%23111111%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%20caption%20%7B%0Acolor%3A%20%23222222%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%20td%20%7B%0Apadding%2Dleft%3A%205px%3B%0Apadding%2Dright%3A%205px%3B%0Acolor%3A%20%23222222%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%20th%20%7B%0Apadding%2Dleft%3A%205px%3B%0Apadding%2Dright%3A%205px%3B%0Afont%2Dweight%3A%20normal%3B%0Acolor%3A%20%23222222%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%20tbody%20tr%3Alast%2Dchild%20td%20%7B%0Aborder%2Dbottom%3A%203px%20double%20%23111111%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%20thead%20tr%3Alast%2Dchild%20th%20%7B%0Aborder%2Dbottom%3A%201px%20solid%20%23111111%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%2Elightable%2Dhover%20tbody%20tr%3Ahover%20%7B%0Abackground%2Dcolor%3A%20%23F9EEC1%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%2Elightable%2Dstriped%20tbody%20tr%3Anth%2Dchild%28even%29%20%7B%0Abackground%2Dcolor%3A%20%23f5f5f5%3B%0A%7D%0A%2Elightable%2Dmaterial%20%7B%0Amin%2Dwidth%3A%20100%25%3B%0Awhite%2Dspace%3A%20nowrap%3B%0Atable%2Dlayout%3A%20fixed%3B%0Afont%2Dfamily%3A%20Roboto%2C%20sans%2Dserif%3B%0Aborder%3A%201px%20solid%20%23EEE%3B%0Aborder%2Dcollapse%3A%20collapse%3B%0Amargin%2Dbottom%3A%2010px%3B%0A%7D%0A%2Elightable%2Dmaterial%20tfoot%20tr%20td%20%7B%0Aborder%3A%200%3B%0A%7D%0A%2Elightable%2Dmaterial%20tfoot%20tr%3Afirst%2Dchild%20td%20%7B%0Aborder%2Dtop%3A%201px%20solid%20%23EEE%3B%0A%7D%0A%2Elightable%2Dmaterial%20th%20%7B%0Aheight%3A%2056px%3B%0Apadding%2Dleft%3A%2016px%3B%0Apadding%2Dright%3A%2016px%3B%0A%7D%0A%2Elightable%2Dmaterial%20td%20%7B%0Aheight%3A%2052px%3B%0Apadding%2Dleft%3A%2016px%3B%0Apadding%2Dright%3A%2016px%3B%0Aborder%2Dtop%3A%201px%20solid%20%23eeeeee%3B%0A%7D%0A%2Elightable%2Dmaterial%2Elightable%2Dhover%20tbody%20tr%3Ahover%20%7B%0Abackground%2Dcolor%3A%20%23f5f5f5%3B%0A%7D%0A%2Elightable%2Dmaterial%2Elightable%2Dstriped%20tbody%20tr%3Anth%2Dchild%28even%29%20%7B%0Abackground%2Dcolor%3A%20%23f5f5f5%3B%0A%7D%0A%2Elightable%2Dmaterial%2Elightable%2Dstriped%20tbody%20td%20%7B%0Aborder%3A%200%3B%0A%7D%0A%2Elightable%2Dmaterial%2Elightable%2Dstriped%20thead%20tr%3Alast%2Dchild%20th%20%7B%0Aborder%2Dbottom%3A%201px%20solid%20%23ddd%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%20%7B%0Amin%2Dwidth%3A%20100%25%3B%0Awhite%2Dspace%3A%20nowrap%3B%0Atable%2Dlayout%3A%20fixed%3B%0Afont%2Dfamily%3A%20Roboto%2C%20sans%2Dserif%3B%0Aborder%3A%201px%20solid%20%23FFFFFF12%3B%0Aborder%2Dcollapse%3A%20collapse%3B%0Amargin%2Dbottom%3A%2010px%3B%0Abackground%2Dcolor%3A%20%23363640%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%20tfoot%20tr%20td%20%7B%0Aborder%3A%200%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%20tfoot%20tr%3Afirst%2Dchild%20td%20%7B%0Aborder%2Dtop%3A%201px%20solid%20%23FFFFFF12%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%20th%20%7B%0Aheight%3A%2056px%3B%0Apadding%2Dleft%3A%2016px%3B%0Apadding%2Dright%3A%2016px%3B%0Acolor%3A%20%23FFFFFF60%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%20td%20%7B%0Aheight%3A%2052px%3B%0Apadding%2Dleft%3A%2016px%3B%0Apadding%2Dright%3A%2016px%3B%0Acolor%3A%20%23FFFFFF%3B%0Aborder%2Dtop%3A%201px%20solid%20%23FFFFFF12%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%2Elightable%2Dhover%20tbody%20tr%3Ahover%20%7B%0Abackground%2Dcolor%3A%20%23FFFFFF12%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%2Elightable%2Dstriped%20tbody%20tr%3Anth%2Dchild%28even%29%20%7B%0Abackground%2Dcolor%3A%20%23FFFFFF12%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%2Elightable%2Dstriped%20tbody%20td%20%7B%0Aborder%3A%200%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%2Elightable%2Dstriped%20thead%20tr%3Alast%2Dchild%20th%20%7B%0Aborder%2Dbottom%3A%201px%20solid%20%23FFFFFF12%3B%0A%7D%0A%2Elightable%2Dpaper%20%7B%0Awidth%3A%20100%25%3B%0Amargin%2Dbottom%3A%2010px%3B%0Acolor%3A%20%23444%3B%0A%7D%0A%2Elightable%2Dpaper%20tfoot%20tr%20td%20%7B%0Aborder%3A%200%3B%0A%7D%0A%2Elightable%2Dpaper%20tfoot%20tr%3Afirst%2Dchild%20td%20%7B%0Aborder%2Dtop%3A%201px%20solid%20%2300000020%3B%0A%7D%0A%2Elightable%2Dpaper%20thead%20tr%3Alast%2Dchild%20th%20%7B%0Acolor%3A%20%23666%3B%0Avertical%2Dalign%3A%20bottom%3B%0Aborder%2Dbottom%3A%201px%20solid%20%2300000020%3B%0Aline%2Dheight%3A%201%2E15em%3B%0Apadding%3A%2010px%205px%3B%0A%7D%0A%2Elightable%2Dpaper%20td%20%7B%0Avertical%2Dalign%3A%20middle%3B%0Aborder%2Dbottom%3A%201px%20solid%20%2300000010%3B%0Aline%2Dheight%3A%201%2E15em%3B%0Apadding%3A%207px%205px%3B%0A%7D%0A%2Elightable%2Dpaper%2Elightable%2Dhover%20tbody%20tr%3Ahover%20%7B%0Abackground%2Dcolor%3A%20%23F9EEC1%3B%0A%7D%0A%2Elightable%2Dpaper%2Elightable%2Dstriped%20tbody%20tr%3Anth%2Dchild%28even%29%20%7B%0Abackground%2Dcolor%3A%20%2300000008%3B%0A%7D%0A%2Elightable%2Dpaper%2Elightable%2Dstriped%20tbody%20td%20%7B%0Aborder%3A%200%3B%0A%7D%0A&quot; rel=&quot;stylesheet&quot; /&gt;

&lt;style type=&quot;text/css&quot;&gt;
  code{white-space: pre-wrap;}
  span.smallcaps{font-variant: small-caps;}
  span.underline{text-decoration: underline;}
  div.column{display: inline-block; vertical-align: top; width: 50%;}
  div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
  ul.task-list{list-style: none;}
    &lt;/style&gt;

&lt;style type=&quot;text/css&quot;&gt;code{white-space: pre;}&lt;/style&gt;
&lt;style type=&quot;text/css&quot;&gt;
  pre:not([class]) {
    background-color: white;
  }
&lt;/style&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
if (window.hljs) {
  hljs.configure({languages: []});
  hljs.initHighlightingOnLoad();
  if (document.readyState &amp;&amp; document.readyState === &quot;complete&quot;) {
    window.setTimeout(function() { hljs.initHighlighting(); }, 0);
  }
}
&lt;/script&gt;



&lt;style type=&quot;text/css&quot;&gt;
h1 {
  font-size: 34px;
}
h1.title {
  font-size: 38px;
}
h2 {
  font-size: 30px;
}
h3 {
  font-size: 24px;
}
h4 {
  font-size: 18px;
}
h5 {
  font-size: 16px;
}
h6 {
  font-size: 12px;
}
.table th:not([align]) {
  text-align: left;
}
&lt;/style&gt;


&lt;link rel=&quot;stylesheet&quot; href=&quot;data:text/css,%0Abody%7B%0Afont%2Dfamily%3A%20Helvetica%3B%0Afont%2Dsize%3A%2016pt%3B%0A%7D%0A%0Ah1%2Ch2%2Ch3%2Ch4%2Ch5%2Ch6%7B%0Afont%2Dsize%3A%2024pt%3B%0A%7D&quot; type=&quot;text/css&quot; /&gt;



&lt;style type=&quot;text/css&quot;&gt;
.main-container {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}
code {
  color: inherit;
  background-color: rgba(0, 0, 0, 0.04);
}
img {
  max-width:100%;
}
.tabbed-pane {
  padding-top: 12px;
}
.html-widget {
  margin-bottom: 20px;
}
button.code-folding-btn:focus {
  outline: none;
}
summary {
  display: list-item;
}
&lt;/style&gt;



&lt;!-- tabsets --&gt;

&lt;style type=&quot;text/css&quot;&gt;
.tabset-dropdown &gt; .nav-tabs {
  display: inline-table;
  max-height: 500px;
  min-height: 44px;
  overflow-y: auto;
  background: white;
  border: 1px solid #ddd;
  border-radius: 4px;
}

.tabset-dropdown &gt; .nav-tabs &gt; li.active:before {
  content: &quot;&quot;;
  font-family: 'Glyphicons Halflings';
  display: inline-block;
  padding: 10px;
  border-right: 1px solid #ddd;
}

.tabset-dropdown &gt; .nav-tabs.nav-tabs-open &gt; li.active:before {
  content: &quot;&quot;;
  border: none;
}

.tabset-dropdown &gt; .nav-tabs.nav-tabs-open:before {
  content: &quot;&quot;;
  font-family: 'Glyphicons Halflings';
  display: inline-block;
  padding: 10px;
  border-right: 1px solid #ddd;
}

.tabset-dropdown &gt; .nav-tabs &gt; li.active {
  display: block;
}

.tabset-dropdown &gt; .nav-tabs &gt; li &gt; a,
.tabset-dropdown &gt; .nav-tabs &gt; li &gt; a:focus,
.tabset-dropdown &gt; .nav-tabs &gt; li &gt; a:hover {
  border: none;
  display: inline-block;
  border-radius: 4px;
  background-color: transparent;
}

.tabset-dropdown &gt; .nav-tabs.nav-tabs-open &gt; li {
  display: block;
  float: none;
}

.tabset-dropdown &gt; .nav-tabs &gt; li {
  display: none;
}
&lt;/style&gt;

&lt;!-- code folding --&gt;




&lt;/head&gt;

&lt;body&gt;


&lt;div class=&quot;container-fluid main-container&quot;&gt;




&lt;div class=&quot;fluid-row&quot; id=&quot;header&quot;&gt;




&lt;/div&gt;


&lt;p&gt;Recently I looked at how discs have changed through time - and how manufacturers have updated their disc technology. It was suggested that I should look at how companies compare in the consistency of their discs.&lt;/p&gt;
&lt;p&gt;Looking at disc consistency itself is a bit difficult to do - I don’t have, for example, access to have individual reviews of thousands of individual &lt;a href=&quot;https://amzn.to/3ezunur&quot;&gt;Innova Destroyers&lt;/a&gt;. Instead what we can do is compare manufacturer flight numbers to the number reported by Infinite Discs. On their website, users can give their own flight numbers to a disc and then Infinite posts those aggregated flight numbers to each manufacturer’s page (e.g. See all of Discraft’s discs and see how the flight numbers are not a 1:1 match to Discraft’s own numbers).&lt;/p&gt;
&lt;p&gt;Of course, there’s still differences like different plastics, runs, and other sources of variation - but by comparing Infinite’s numbers to manufacturer numbers we can at least ask questions like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Which companies have the most predictable flight numbers?&lt;/li&gt;
&lt;li&gt;Which individual discs are most true to their numbers? Which are most divergent?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, let’s get into it.&lt;/p&gt;
&lt;div id=&quot;which-companies-have-the-most-predictable-flight-numbers&quot; class=&quot;section level1&quot;&gt;
&lt;h1&gt;Which companies have the most predictable flight numbers?&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;data:image/png;base64,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IIAAAggggAABUH4DCCCAAAIIIIAAAggggAACCCCAAAIIIBC3AgRA47ZraRgCCCCAAAIIIIAAAggggAACCCCAAAIIEADlN4AAAggggAACCCCAAAIIIIAAAggggAACcStAADRuu5aGIYAAAggggAACCCCAAAIIIIAAAggggAABUH4DCCCAAAIIIIAAAggggAACCCCAAAIIIBC3AgRA47ZraRgCCCCAAAIIIIAAAggggAACCCCAAAIIEADlN4AAAggggAACCCCAAAIIIIAAAggggAACcStAADRuu5aGIYAAAggggAACCCCAAAIIIIAAAggggAABUH4DCCCAAAIIIIAAAggggAACCCCAAAIIIBC3AgRA47ZraRgCCCCAAAIIIIAAAggggAACCCCAAAIIEADlN4AAAggggAACCCCAAAIIIIAAAggggAACcStAADRuu5aGIYAAAggggAACCCCAAAIIIIAAAggggAABUH4DCCCAAAIIIIAAAggggAACCCCAAAIIIBC3AgRA47ZraRgCCCCAAAIIIIAAAggggAACCCCAAAIIEADlN4AAAggggAACCCCAAAIIIIAAAggggAACcStAADRuu5aGIYAAAggggAACCCCAAAIIIIAAAggggAABUH4DCCCAAAIIIIAAAggggAACCCCAAAIIIBC3AgRA47ZraRgCCCCAAAIIIIAAAggggAACCCCAAAIIEADlN4AAAggggAACCCCAAAIIIIAAAggggAACcStAADRuu5aGIYAAAggggAACCCCAAAIIIIAAAggggAABUH4DCCCAAAIIIIAAAggggAACCCCAAAIIIBC3AgRA47ZraRgCCCCAAAIIIIAAAggggAACCCCAAAIIEADlN4AAAggggAACCCCAAAIIIIAAAggggAACcStQOm5bRsMQQAABBBBAAAEE4kbgVHaGHD+5VzKyjojXmy1JiRWkXJnqvu+UuGkjDUEAAQQQQAABBBCIjAAB0Mi4UioCCCCAAAIIIIBAEQQOHd0q67Z9L5t3zZDd+5fKwaObfYHPnIASK5SrKzWrni2N6lwiqfW6Sy3fMQkBBBBAAAEEEEAAAbsAAVC7BscIIIAAAggggAACURPwer2yest4+XXV/5Mtu38Oqh5Hju8U/WzYPlWm//qULwDaRs5vcZec26yflC6dHFQZZEIAAQQQQAABBBCIbwECoPHdv7QOAQQQQAABBBCICYEN26fJtAWDZd/B34tU37T05fL9Lw/IrKUvycXnPyvnNR8gHo+nSGXyMAIIIIAAAggggEBsC7AJUmz3H7VHAAEEEEAAAQRiWuBkxkEZN+NW+WLa1UUOftohjp7YLZPmDJSRE7vKgcMb7bc4RgABBBBAAAEEEChhAgRAS1iH01wEYkkgMzNTcnIC13uLpTZQVwQQQACBvAV0bc8R37aXVZvG5p2piHd27J1vvGPt1olFLInHEUAAAQQQQAABBGJVgCnwsdpzJajekyZNki1btgTV4sTERElKSpIyZcpItWrVpF69etK4cWMpW7ZsUM/bM6Wnp8uXX35pXWrdurV07drVOucg/ALZ2dkyffp0mTBhgmzatEkOHz4spUqVMvqyRo0aMmjQIGnevHn4X0yJCCCAAALFLrB5108y5sdrJdO3q3ukU0bWYflq+vVyVaf3feuD3hHp11E+AggggAACCCCAgMsECIC6rEOoTqDAzJkzZd68eYE3gryiAdHOnTtLjx49jO8gH5NDhw7J6NGjrex9+vQhAGpphP9AR3sOHz5cZs2a5Shcg6J79uwxPuXLl3fc09Gh33zzjbRp00aaNm3quMcJAggggIB7BbbvmSejp10jp7JPFFsldQd5nRJfKiFRzml2W7G9lxchgAACCCCAAAIIRF+AKfDR7wNqEGEBDazNmDFDnnzySXnsscckLS0twm+k+FAE/vd//zcg+GkvR0fx1qlTx7q0cuVKufvuu+Wtt96SEyeK71+grQpwgAACCCAQkoCuxzl6Wu9iDX7aK/rd7Htk447p9kscI4AAAggggAACCMS5ACNA47yDaZ5TYP78+dK/f3957733pEmTJs6bnEVNQEdyjhkzxvH+2rVrG6N2der70aNHjanw5i6+kydPlldeecWRnxMEEEAAAfcLZGdn+jY8ukVOZh6IWmW93mwZ/9NtcvefF0qFcqf/Yi1qFeLFCCCAAAIIIIAAAhEXIAAacWJeEG6BIUOGSJcuXQKK9Xq9kpGRIcePHzdGBG7evFl0lOCPP/4oR46cXl9Mjx999FH54IMPRINseaXk5GTRdT/NVLduXfOQ7zALbN26VY4dO2aVWrVqVRk1alSea7fu3r3byssBAggggEDsCMxe9qrs2r846hU+fnKvTJ57v9x0xbio14UKIIAAAggggAACCERegABo5I15Q5gFNDDpvxak+YoKFSqYh9KiRQtjBKE54nPatGnWvX379sngwYNl5MiRUrp07v8Y6HRrDZKSIi+g663a08UXX5xn8NOej2MEEEAAgdgR0Knvc5a/5poKr936nazb9r00O+NK19SJiiCAAAIIIIAAAghERoA1QCPjSqkuEqhSpYo8/fTT0rdvX0etdIToxIkTHdc4iY6A/xqeOu2dhAACCCAQXwKzlr0i2TmZrmrUzMXDXVUfKoMAAggggAACCCAQGQECoJFxpVQXCtx1113SsWNHR80+++wzY9q84yInxS6gyxfYk47yJSGAAAIIxI/A4WM7ZMX6/3Vdg3bvXyIbdvzgunpRIQQQQAABBBBAAIHwCuQ+9ze876A0BFwhkJCQIE899ZT06dNHsrOzjTrpVHhdI7RXr14BdTx16pTs3bvXup6SkiIVK1a0znM70PVF16xZIzt27JDt27eLbu7TqFEj62Ofop/b8wVd0/ouWbLE2Ml+z549xlIsdic6AABAAElEQVQA9erVE/2cddZZUqZMmTyLyMzMlP3791v3dZSlOf1/w4YNMnv2bGP9VK3vRRddJAXVVdfs1LU7t2zZYnzrNHZdmkCNmjdvbqyfqju355U0v67Xqik9Pd2R7fDhw7Jr1y7rWlJSklG2mU83RbInbZc9v323eHs+jhFAAAEEoiOgwc8c76novLyAty5d+6mk1utWQC5uI4AAAggggAACCMSyAAHQWO496l5oAZ0O36lTJ5k1a5b17IIFC3INgG7btk1uu+02K58GTgcNGmSd2w/S0tKMXcx1Sr3/dG57vpo1a8pNN90kvXv3zjdYaX9GjxcvXixjx46VuXPnGkFV//t6rgHN22+/Xa666iorsGnPp4HZe++917r0xRdfiG42pGuhrlixwrquBxq4vOOOO4y62m9o0FJ3a9dd2O3BVHse81iDq1qXfv36ibbbP3300Ufy3Xff+V82zj/99FPRj5nOPfdcGTBggDz44IPmJce3LnFgT/b+tV/nGAEEEEAgOgK/bfwyOi8O4q26FmjWqeOSWLpcELnJggACCCCAAAIIIBCLAkyBj8Veo85FEtCgnD1pcNF/Crb9fkHHOtrzzjvvNAKU+QU/tRwdtfnuu+8agUj/jX9ye4+OIB0xYoQ89NBDxghNPc8r6WjV119/3aiLfdf7vPJrm4cOHRoQ/NT82g5/E3XS4O3nn39eYPBTy9ARtBMmTDACqevXr9dLJAQQQACBEihw9ESa7Dnwm2tbfir7pGxNm+Pa+lExBBBAAAEEEEAAgaILMAK06IaUEGMCF154oeh0eDOYePDgQdm4caOkpqYWuiX67KOPPir6babKlStL+/btpVq1alKuXDljGv3KlStFp5mbae3atfLss8/K22+/bV7K9Xv48OEyY8YMxz2dmq473Os0cw0yrlu3zpgWb2bS9+iIyDfeeCPXkaBmvkmTJsmiRYvMU8e3+nTrdno64G+//SaPPfaYZGVlWfl0hGfbtm2ldu3aom1Wg927d4vm1enxZtLr77//vrz11lvmJeNbnzvzzDONY53SrksGmElHjOroVDM1bNjQsDTza7DXPgJV7+c33d4sh28EoiXw++bxsn77lGi9nvciEFWBg0c2R/X9wbx8+q9PyapNXweTlTwIxJ1AzSqtpUOrB+KuXTQIAQQQQAABuwABULsGxyVCQAN3GrAz15PURmvgLpQA6Lhx44z1Pk24W265xZiqndtanD/99JM899xzVhBRg486qvL88883H3d8//DDDwHBT52Gf//994uuiWlPS5culeeff95as1TL/uSTT+Tuu++2Z3Mc61R2TVpX3Ryqa9euRlBYn9WApAZwNWmg+O9//7tVb7126aWXysMPP+wIUup1TTr6dNSoUfLll6enOy5cuNAI1DZr1uyPTL7/1uUFzCUGfvnlF3n88cetezfffLPccMMN1rl5oKNhNWnbRo4caV6WJ554Qs4++2zrnAME3Cawc99CWbr29G/WbfWjPgiUdIG09OWiHxICJVEgtV53AqAlseNpMwIIIFDCBAiAlrAOp7l/COjoQnsA1D6CszBGGng0k25CNHDgQPM04Pviiy82goY6Td1MP//8c64BUA0ivvPOO2Y24/vJJ5/Mda1SvalrZL788sty3333iW52pElHeOo6nqVKlTLO/f9LN4LSezolX+tuph49ejimv+saqfYp7C1btjRGmCYmJpqPOL51hKrW48CBAzJ16lTrnh7bA6DWjSgfTJs2TYYNGxZULTQwrIFyDQpv2rQpqGfIhAACCCCAAAIIIIAAAggggAAC0RVgDdDo+vP2KAmYoxvN1wezHqeZ1/zW6ec6td1Mwew83r17d0lOTjZGTuqIxbx2WtdN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AAEEEEAAgVwQyM+FTtLH+ATGjx9va9eu9R7S9Or+/ft752U5UKAy2g7a9erVsxNOOMGefPJJZxMkf13z5s3zTvPz882/27pGgMa607nynX766TZgwAA777zznJ3ovYLT6EBLAHz99ddei7QMweOPP15i8FMPrFmzxntOB9HMAxnL+SQX+ljOpFSHAAII5LRA4zRe67hRt//L6XdD5xFAAAEEEEAAgVQKEABNpX4a1q0dxUeOHBlomQKFCkyWNr3xxhum0Z3aafvkk082fyAzUpkKup522mmB2+vWrQuc+6fBb9y40Rk5GsgQ4WTRokXOJkxae3ThwoURcqX+8uzZswOByx49egTWQY3WwtAlDNI1AJoLfYz2nriHAAIIIJBYgZrNDypa7/jIxBaagNLqdTqxaPp7pwSURBEIIIAAAggggAACpREgAFoatSx9RkGzoUOHmqaHu0nTxC+55BL3tFTfderUcUYyuuV+8MEHMZXj5nczN2nSxD10vjVS1J+ee+45/2nEY41w9SetR5qOyT8KV+3zbwIVrb1aRmDcuHGBLLt27Qqcp8tJLvQxXaxpBwIIIJArAi2Ouj29upqXb3sf+af0ahOtQQABBBBAAAEEckyAAGiOvfDQ7mo6uEZE3njjjXbNNdfYihUrvCwahanr9evX966V5uCQQw4JrLf58ssvOxsfRStLIxZD1yHdb7/9Ao/06dPHNCrSTZourrKjpS+//NL+85//eFkUnO3WrZt3nk4HHTp0CDRn5syZtn379sC10BMFjf/yl784I1z990p6zp+3PI9zoY/l6UldCCCAAAJmtVr0skYHpM9086Y9L7caTbryahBAAAEEEEAAAQRSKMAmSCnET2bVCh5q9/RwaceOHabp39ooR8HPzZs3F8um4Odtt91midj8qEqVKnbcccfZ2LFjnXo0GnH48OHOyFJdV13+pPU8H3vsMWdXePd6y5YtrXfv3u6p933llVfa+eef700Vf+ihh0w7ySuYW716dS+fAr0aFak1NP1rhSrAm6jd7b3KEnTQpk0bJ3DsjoRdvXq13XXXXXbDDTdYrVq1itWiAOkDDzxg2lU9NIV7x6F5UnGeC31MhSt1IoAAArku0GrAX23D91Nt54alKaWo2qCjtTjqzpS2gcoRQAABBBBAAAEEzAiAZumvYPr06aZPaVIig59u/VdccYUT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fGNqQAABBBBAAAEEEEAAAQQQQAABBBBAAIEUCRAATRE81SKAAAIIIIAAAggggAACCCCAAAIIIIBA8gUIgCbfmBoQQAABBBBAAAEEEEAAAQQQQAABBBBAIEUCBEBTBE+1CCCAAAIIIIAAAggggAACCCCAAAIIIJB8AQKgyTemBgQQQAABBBBAAAEEEEAAAQQQQAABBBBIkQAB0BTBUy0CCCCAAAIIIIAAAggggAACCCCAAAIIJF+AAGjyjakBAQQQQAABBBBAAAEEEEAAAQQQQAABBFIkQAA0RfBUiwACCCCAAAIIIIAAAggggAACCCCAAALJFyAAmnxjakAAAQQQQAABBBBAAAEEEEAAAQQQQACBFAlUTFG9VIsAAggggAACCCCAQFYI7Ck027TNbNsOMx1XrWxWq6pZJf5NOyveL51AAAEEEEAAgcwX4F/LMv8d0gMEEEAAAQQQQACBchTYsNVs+kKzOUvMFv1otvJns90FwQbkFZ02rGPWqpHZfi3Nurcza9EwmIczBBBAAAEEEEAAgfIRIABaPs7UggACCCCAAAIIIJDhAjMXm7093WzGov+N9IzWnaKBoPbThv99phUFS599z6xNE7Nju5kdvT+jQ6PZcQ8BBBBAAAEEEEi0AAHQRItSHgIIIIAAAggggEBWCXy9zOypd8wWrixbt75bZfb4BLP/fGj2u75mxxxglqehoiQEEEAAAQQQQACBpAoQAE0qL4UjgAACCCCAAAIIZKrAjl1mTxcFPifOSmwPft5i9sh/zd750uzq35g1q5fY8ikNAQQQQAABBBBAICjALvBBD84QQAABBBBAAAEEELAV68yGPpv44Kef9tsVZtc9bfbZt/6rHCOAAAIIIIAAAggkWoARoIkWLWN5L7zwgm3atMkr5cwzz7T69et759lysG7dOhs9erTXnf3228/69i2aC5aFadu2bfbMM894PevQoYP179/fO8/kg2+++camTZtma9ascX63jRs3tpYtW1qrVq2sU6dORdP6Ej+v76233rIlS4p2nShK3bp1s8MOOyyTCWk7AggggEAaCiwqmup+57/NNhbt7J7stG2n2f97xeyiAWYDuye7NspHAAEEEEAAAQRyU4AAaJq993HjxtmPPxZtJ/pLGjhwYMYFQPfs2WOvvfaa7b///ta+fXu3K4HvDRs22KhRo7xrJ510UokB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AAEEEEAAAQQQQAABBBBAIOsFCIBm/SumgwgggAACCCCAAAIIIIAAAggggAACCOSuAAHQ3H339BwBBBBAAAEEEEAAAQQQQAABBBBAAIGsFyAAmvWvmA4igAACCCCAAAIIIIAAAggggAACCCCQuwIEQHP33dNzBBBAAAEEEEAAAQQQQAABBBBAAAEEsl6AAGjWv2I6iAACCCCAAAIIIIAAAggggAACCCCAQO4KEADN3XdPzxFAAAEEEEAAAQQQQAABBBBAAAEEEMh6AQKgWf+K6SACCCCAAAIIIIAAAggggAACCCCAAAK5K0AANHffPT1HAAEEEEAAAQQQQAABBBBAAAEEEEAg6wUIgGb9K6aDCCCAAAIIIIAAAggggAACCCCAAAII5K4AAdDcfff0HAEEEEAAAQQQQAABBBBAAAEEEEAAgawXIACa9a+YDiKAAAIIIIAAAggggAACCCCAAAIIIJC7AgRAc/fd03MEEEAAAQQQQAABBBBAAAEEEEAAAQSyXoAAaNa/YjqIAAIIIIAAAggggAACCCCAAAIIIIBA7goQAM3dd0/PEUAAAQQQQAABBBBAAAEEEEAAAQQQyHoBAqBZ/4rpIAIIIIAAAggggAACCCCAAAIIIIAAArkrQAA0d989PUcAAQQQQAABBBBAAAEEEEAAAQQQQCDrBQiAZv0rpoMIIIAAAggggAACCCCAAAIIIIAAAgjkrgAB0Nx99/QcAQQQQAABBBBAAAEEEEAAAQQQQACBrBcgAJr1r5gOIoAAAggggAACCCCAAAIIIIAAAgggkLsCBEBz993TcwQQQAABBBBAAAEEEEAAAQQQQAABBLJegABo1r9iOogAAggggAACCCCAAAIIIIAAAggggEDuChAAzd13T88RQAABBBBAAAEEEEAAAQQQQAABBBDIegECoFn/iukgAggggAACCCCAAAIIIIAAAggggAACuStAADR33z09RwABBBBAAAEEEEAAAQQQQAABBBBAIOsFCIBm/SumgwgggAACCCCAAAIIIIAAAggggAACCOSuAAHQ3H339BwBBBBAAAEEEEAAAQQQQAABBBBAAIGsFyAAmvWvmA4igAACCCCAAAIIIIAAAggggAACCCCQuwIVc7fr9BwBBBBAAAEEEEAAAQRyUWDn6kLbPL/Qti8ttB0rC61gk9me7YVmFfKsQjWzSg3MquyVZ9Xb51mNTnmWXyUvF5noMwIIIIAAAlkjQAA0a14lHUEAAQQQQAABBBBAAIFIAjt/KrR1U/bY+vf32I4VkXIVBUG99L/jvKL/YqrVLc/qHZlvdXrmWV5RkJSEAAIIIIAAApklQAA0s94XrUUAAQQQQAABBBBAAIE4BHasKrRVYwrs56lFAc09cTz4S9bC3WYbpxUWfQqsUiOzxiflW4Nj8gmExk/JEwgggAACCKRMgABoyuipGAEEEEAAAQQQQAABBJIlUFhQFPh8dY+tfmWPFe5KTC27fjJb/sQeWzthj+19aQWrsQ9bKiRGllIQQAABBBBIrgD/xE6uL6UjgAACCCCAAAIIIIBAOQtouvvCWwps1ejEBT/9Xdi+xGzhzUXlv1pghYX+afP+XBwjgAACCCCAQLoIEABNlzdBOxBAAAEEEEAAAQQQQKDMAlsXF9qCYbtt67dJDkwWTaf/8aU9tvShoiDo7iTXVWYVCkAAAQQQQCC3BZgCn9vvn96nQGD06NG2bt26YjUfe+yx1r59+2LX47mwatUqe+WVV4o9MnDgQGvTpo13/a233rIlS4qGLvySVK/qT0TaunWrPfvss15R+fn5duGFF1rFiv/7v5vQur2MEQ70XKVKlaxKlSrWsGFDa9mypXXq1ClCbi4jgAACCCCAQC4LbF24xxbdXmB7tpWfwvoPCovqK7DWN1RgXdDyY6cmBBBAAAEE4hIgABoXF5kRKLuAAoDff/99sYK2bNliQ4cOLXY9ngvjx4+3UaNGFXuka9eugQDo7t27A/nq1q1rRx11lBekLFZAHBfee++9QNmHHHJIoNwpU6bYp59+GkeJxbPuvffepqDucccdZ40bNy6egSsIIIAAAgggkHMCO1YU2uK7yjf46SJrk6QfHimwllfyn1euCd8IIIAAAgikkwBT4NPpbdCWnBZ4//33raCgoEwG77zzTkzPH3300c6ISjfz+vXr7fPPP3dPy/T93//+N/D84MGDA+eJOFm2bJk9+eSTduqpp9rIkSNZeysRqJSBAAIIIIBABgvs2VFo3/91txVsTF0nfp5SaGveLtu/y6Wu9dSMAAIIIIBAdgsQAM3u90vvMkhAQciZM2eWusWLFy8OO7I0XIE1a9a0I488MnBr0qRJgfPSnKxYscJmz57tPVqvXj3r3bu3d57oA206MGbMGLvvvvsSXTTlIYAAAggggEAGCax4YY9tX5r6Bq94Tu1gPdDUvwlagAACCCCAQFCAORpBD84QSKnA5MmT7aCDDipVG9599924njvhhBNswoQJ3jMffPCBaf3O6tWre9fiPdAUfH/SFHV37U//df/xTTfdZH369PFfChzv2bPHdu7cadu2bbOVK1eajNTuXbt2efnGjRtnffv2NU23JyGAAAIIIIBAbglo3c+144t2JEqDVLjbbNmTBdb+z/xnVhq8DpqAAAIIIICAJ8AIUI+CAwRSI9C6dWuv4qlTp5rW5yxN8k9/Dw1iaqRkaOrWrZtpLU037dixwzQNv7RJdYQGQBVkLSlVrVrVNCI10qd27drO5kctWrSwnj172rBhw+zvf/97sUDt448/XlJV3EcAAQQQQACBLBTQqEsr/q86KevplvmFtuGz9AjIpgyBihFAAAEEEEgzAQKgafZCaE7uCWg9Tjdt2LChVNPgv/76a9P0c6UKFSpYr1693CKd77y8vMC5ezJo0CD30PmeOHFi4Dyek1mzZjkjNN1nDjjgAGfHdvc8kd9dunSxa6+9NlDkggULAjvbB25yggACCCCAAAJZKbDlqz2mgGO6pVWvEABNt3dCexBAAAEEcluAAGhuv396nwYCWovTH6DUFO94k3/0p6aBa9RkLElT1BUwddP06dNt7dq17mlc36UZ/RlXBSGZjznmmGI7wM+YMSMkF6cIIIAAAgggkM0CayakZ6Bx26JC27ogPduWzb8H+oYAAggggEAkAQKgkWS4jkA5CTRs2NA0WtJNmoYezzR4TT1/77333MdNgcFYk+o+9NBDvexabzPetUT18Pbt2521Od2CNJ29X79+7mlSvhW43WeffQJl//TTT4FzThBAAAEEEEAgewUKtmmqefqN/nTF101N37a5beQbAQQQQACBXBEgAJorb5p+prVAWabBz5kzx9zAX5UqVezwww+Pq6+h63SWZhq81i7VJkVu6t+/v6ktyU7aZd6ftI4pCQEEEEAAAQRyQ2Dz3EIr3Jm+fd00nRGg6ft2aBkCCCCAQK4JsD1hrr1x+puWAkcccYT97W9/M43AVNKIzoMPPjimtvqnv/fu3duqVasW03NuJo0ArV+/vq1bt8659M0339jSpUvjWr+zvKe/u23/4Ycf3EPnu1WrVoFzThBAAIFECezeXGjblzKaK1GelINAIgR+npreAcadq81+/qjAKtULvxZ7IgwoAwEE4hPIr2xWvT3jwOJTIzcC2SFAADQ73iO9yHABjWTs3r27TZs2zemJpsFfd911VrFi9D+iBQUFgann8Ux/d8lUx8CBA+2ll15yL9mECRPsoosu8s6jHaxatcq0dqibNC09dGq6ey+R3+r7okWLAkW2bds2cM4JAgggkCiBrd8U2nd3FySqOMpBAIEcEVj6QHoHaXPkNdBNBDyByk3M9n2EAKgHwgECOSQQPbqSQxB0FYFUC2gavBsA3bhxo2lDn549e0Zt1syZM239+vVOHq27qQ2QSpOOP/74QABUo0pjDYAqWKp1SN00ePBg9zCp3y+88IJt2rQpUEebNm0C57GczJ8/31577bVYsppGnDZq1MgZqVvazaJiqohMCCCAAAIIIIAAAggggAACCCCQMAECoAmjpCAEyibQt29fu++++0wjG5U0Db6kAKh/+ruer1y5aE5HKVLLli1t//33t9mzZztPr1ixwrS2aNeuXUsszT/9Xet+lmYUaomV+DK4GzU9++yzvqtmCrzWqFEjcC2Wk8WLF9tzzz0XS1Ynj0br6h0RAI2ZjIwIIIAAAggggAACCCCAAAIIpFSAsd8p5adyBH4VqF27dmDdzw8++CDqbvC7du0yTZV3U1kDj6GbIU2aNMktOuL3vHnznFGRbgbt/K6RqPEkBRO1632kz9atW23JkiXO6NixY8faOeecY3feeacXKFZddevWtcsuuyyeasmLAAIIIIAAAggggAACCCCAAAI5IsAI0Bx50XQzMwQ0Df7TTz91Gqtp8FpbM9K09s8//9ybAu6uIVqWXip4+eCDD5oCjkoagfrHP/4x6jqk//3vfwNVlmb6+x133GH6lCVdccUVVqtWrbIUwbMIIIAAAggggAACCCCAAAIIIJClAowAzdIXS7cyU+Dwww+3SpUqeY2fPHmydxx64J/+ruBlhQoVQrPEdV61atXA9PUNGzbYZ599FrGMnTt32rvvvuvd1w7smkZfnklT/ocPH24DBgwoz2qpCwEEEEAAAQQQQAABBBBAAAEEMkiAEaAZ9LJoavYLuBsZffjhh05nNcX9+uuvLzYKc8eOHfbRRx95IGWd/u4WpGnw48aNc09t4sSJ1rt3b+/cf6A2bt682bsUOoXeu5GEgzp16jg715900km21157lakGrX96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SqksC/dGAAEEEEAgFgECoLHocW1WCJSWlsq4cePsuuqw8ooVK9r77777rr2d6o2ioiLReT+tfw0bNkx1kbg/AggggAACCCCAQIQCe6dMlpIZ0yO8KjGn7/3sEylZ9FtiMidXBBBAAAEEkiTAHKBJguY26SugPTzXrl1rV0AXFVqzZo1MmDDBPKYLI603hgjVrl3bPidVGw0aNJAnn3wyVbfnvggggAACCCCAAAIxCvj27JE9Y16JMZc4Xm5M97T75Rek0m23xzFTskIAAQQQQCC5AvQATa43d0tDgY8++sgudZUqVWTfffeVww8/3D5WUlIiH3zwgb3PBgIIIIAAAggggAAC0Qrs/WaC+DZtivbyhFxXumiRFM+amZC8yRQBBBBAAIFkCBAATYYy90hbgS1btsg333xjl79bt26Sl5cnvXv3dg2D1wCoBkJJCCCAAAIIIIAAAghEK6CLa+795O+556PNJxHX7f347ymhEpE/eSKAAAIIIJBIAYbAJ1KXvNNe4PPPP5e9e/fa9ejevbu5rXNtai/QTz75xNxft26d6FB4HR5fVtIvtatXr3adovOJVq9e3XUs2I7ORapD751pn332kUqVKtmHio1VOrUsVqpcubJUq1bN2i3zcePGjbJ06VJZvHix6OJOVatWldatW0urVq1E5xLNyckp83rrSfXSKQGsVKdOHcnP//OtRus/Y8YM+fnnn8266IJSdevWlf3220/atWtnXRLwOH/+fPM6rX+FChWkWbNm5j/tjRtuuQIy5QACCCCAAAIIIOAxgdKFC8S37u+pl7xUvJKf50qpsShTbs1aXioWZUEAAQQQQCAsAQKgYTFxUrYKOIe/a6DtkEMOsSn69u1rB0D14Pvvv19uAFTzGD16tGhg1UoaoHzllVekRo0a1qGgjy+//LI8++yz9nO1atWSF14w5mNyBEA1cDlw4ED7HF2wadiwYfZ+sA0Nej7yyCMyderUYE+bxzRIe/bZZ5t5W8HMUCdrfoMHD7affumll6RFixYyffp0uffee2XlypX2c84NDWbedNNN0qRJE/uwBj7vu+8+0cdgqXPnznL99debwdBgz3MMAQQQQAABBBBIJ4HiH6Z4t7jGH7KLf5wmBcf09W4ZKRkCCCCAAAIhBBgCHwKGwwgsWLBAFi5caEMceOCBroWODjjgALP3onWCBhBDBfes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Co7vJ/kHHiS7X3tZSmZMj0+djXzzex8mhWedLTl+c8PH5wbkggACCCCAQOoFCICmvg0oAQIIIIAAAggggAACCCAQlkBu3bpS8eprpGTpEtn78UdSPO2H6HqEVqok+d17SMFx/SS3Xr2w7s1JCCCAAAIIpKsAAdB0bTnKjQACCCCAAAIIIIAAAlkrkNesueT9v8tF5wct/mmGlMybKyW/LhTfmtUiJSWBLhUqSG6DhpLXtq3k7dtJ8jrvJznGMRICCCCAAALZIEAANBtamToigAACCCCAAAIIIIBARgro/KAVevQ0/2kFfaWl4tu00QyMyp49klNYKGKsJp9To4boMHoSAggggAAC2ShAADQbW506I4AAAggggAACCCCAQEYK5OTmSk6t2hlZNyqFAAIIIIBAtAK50V7IdQgggAACCCCAAAIIIIAAAggggAACCCCAgNcFCIB6vYUoHwIIIIAAAggggAACCCCAAAIIIIAAAghELUAANGo6LkQAAQQQQAABBBBAAAEEEEAAAQQQQAABrwsQAPV6C1E+BBBAAAEEEEAAAQQQQAABBBBAAAEEEIhagABo1HRciAACCCCAAAIIIIAAAggggAACCCCAAAJeFyAA6vUWonwIIIAAAggggAACCCCAAAIIIIAAAgggELUAAdCo6bgQAQQQQAABBBBAAAEEEEAAAQQQQAABBLwuQADU6y1E+RBAAAEEEEAAAQQQQAABBBBAAAEEEEAgagECoFHTcSECCCCAAAIIIIAAAggggAACCCCAAAIIeF2AAKjXW4jyIYAAAggggAACCCCAAAIIIIAAAggggEDUAgRAo6bjQgQQQAABBBBAAAEEEEAAAQQQQAABBBDwugABUK+3EOVDAAEEEEAAAQQQQAABBBBAAAEEEEAAgagFCIBGTceFCCCAAAIIIIAAAggggAACCCCAAAIIIOB1AQKgXm8hyocAAggggAACCCCAAAIIIIAAAggggAACUQsQAI2ajgsRQAABBBBAAAEEEEAAAQQQQAABBBBAwOsCBEC93kKUDwEEEEAAAQQQQAABBBBAAAEEEEAAAQSiFiAAGjUdFyKAAAIIIIAAAggggAACCCCAAAIIIICA1wUIgHq9hSgfAggggAACCCCAAAIIIIAAAggggAACCEQtQAA0ajouRAABBBBAAAEEEEAAAQQQQAABBBBAAAGvCxAA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n8cGAtkkcM4558iKFSvMKmtPzffeey+s6kf6OtVME/m+EVahOQmBNBWI9nWq1Y30tcpnapr+kGRBsfkzdRY0MlVEAAEEsk3gX//6lwwbNsz+hUx7gF5wwQVSt25dc4i8fpGbN2+elJSUuGhuvPHGkMFP14kR7HipLBEUm1MRSLiAl14bGujUuYCnTZtm1lvfG8aMGWMuiNS6dWtp1KiRrFy5UubPny87d+502ejK73feeafrGDsIIJAYAS+9bySmhuSKQPoL8Jma/m2YqTVgCHymtiz1QgABBLJYoEGDBmbvTh3O7kxr166Vzz//XGbPnu0Kfubm5srll18uffv2dZ4el20vlSUuFSITBOIk4KXXhr4HjBgxQk488UTXcPht27bJTz/9ZA6J10f/4GfXrl3l4Ycflho1asRJhWwQQKAsAS+9b5RVTp5DIJsF+EzN5tb3dt0JgHq7fSgdAggggECUAlWqVJG7775bLrzwQqlfv37IXA499FDRRZDOPvvskOfE+oSXyhJrXbgegXgKeOm1UbVqVbnuuuvk2WefdS2mFqy+7dq1k5tvvlkeeeQR0SG/JAQQSJ6Al943kldr7oRAegnwmZpe7ZUtpWUO0GxpaeqJAAIIZLnA5s2bZcGCBbJw4UKpVKmSOW9n06ZNpU6dOkmX8VJZkl55bohAGQJeem3oPMHLly+XZcuWyapVq8z3DQ12dujQQbQXGgkBBLwh4KX3DW+IUAoEvCfAZ6r32iQbS0QANBtbnTojgAACCCCAAAIIIIAAAggggAACCCCQJQIMgc+ShqaaCCCAAAIIIIAAAggggAACCCCAAAIIZKMAAdBsbHXqjAACCCCAAAIIIIAAAggggAACCCCAQJYIEADNkoammggggAACCCCAAAIIIIAAAggggAACCGSjAAHQbGx16owAAggggAACCCCAAAIIIIAAAggggECWCBAAzZKGppoIIIAAAggggAACCCCAAAIIIIAAAghkowAB0GxsdeqMAAIIIIAAAggggAACCCCAAAIIIIBAlggQAM2ShqaaCCCAAAIIIIAAAggggAACCCCAAAIIZKMAAdBsbHXqjAACCCCAAAIIIIAAAggggAACCCCAQJYIEADNkoammggggAACCCCAAAIIIIAAAggggAACCGSjAAHQbGx16owAAggggAACCCCAAAIIIIAAAggggECWCBAAzZKGppoIIIAAAggggAACCCCAAAIIIIAAAghkowAB0GxsdeqMAAIIIIAAAggggAACCCCAAAIIIIBAlggQAM2ShqaaCCCAAAIIIIAAAggggAACCCCAAAIIZKMAAdBsbHXqjAACCCCAAAIIIIAAAggggAACCCCAQJYIEADNkoammggggAACCCCAAAIIIIAAAggggAACCGSjAAHQbGx16owAAggggAACCCCAAAIIIIAAAggggECWCBAAzZKGppoIIIAAAggggAACCCCAAAIIIIAAAghkowAB0GxsdeqMAAIIIIAAAggggAACCCCAAAIIIIBAlggQAM2ShqaaCCCAAAIIIIAAAggggAACCCCAAAIIZKMAAdBsbHXqjAACCCCAAAIIIIAAAggggAACCCCAQJYI5GdJPakmAgggELbA7Nmz5dNPP5UlS5bImjVrZO3atbJt2zapXbu21K1b1/zXqlUrOf7446VFixZh58uJCKSLwIIFC2T37t12cStWrCitW7e29724EUmZ169fL7///rurGvqarlSpkutYWTvLli2TF198UebPny+rVq2SrVu3SoMGDaRRo0bmv969e0ufPn2CZhHLtUEz5CACHhawPkedRWzTpo0UFRU5D7GNAAIIIJAgAb53JAiWbNNOgABo2jUZBUYAgUQIrFixQu655x4ZO3as6JeEcFOHDh3kxBNPlGHDhkm9evXCvYzzEPC0QP/+/WXhwoV2Gbt27SrTp0+39724EUmZn3/+ebnuuutc1fj222+lZ8+ermPBdjQwfOmll8orr7wiJSUlwU4xj910000BAdBYrg15I55AwOMCjz/+uNx+++2uUs6aNUs6d+7sOpapOxs3bpTq1atLbi4D7zK1jakXAl4V4HtHeC3D+3R4TplwFp/EmdCK1AEBBKIW2Llzp4wYMULatWsnjz32WETBT73pzz//LPfee6+0bdtWHnzwQdm7d2/UZeFCBBDwtoC+vvv27Wv2/Cwr+Km16NSpk6sysVzryogdBBBICwGfzyfPPfec+f3C2aM+LQpPIRFAIO0F+N5RfhPyPl2+UaadQQ/QTGtR6oMAAmELbN682eyh9dNPP4V9TagTt2zZItdcc43ZK2z8+PFSo0aNUKdyHAEE0lRAe7J9/fXXYZXePwAay7Vh3ZCTEEDAMwLaY/7yyy+XyZMne6ZMFAQBBLJL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fX7e45PVezTpOl2msfR7Fpp5Tf0TxEf9gGE8ESACRKBZEcCHCWw1zp07VzksgNMCqaKrJBFgHxF/7dq1U3ba4kp7RsEU9UK6c8aMGcpeHJhSK620krKPBgdNCy64YJRimKaACOC1C1ufsL352WefqTmGZsLOK5jvsGuFXz/vxkm7BFtaYNLjAwH2RnH63bZtWyVNBScjRaQytjkrHPOaR2n0r8xtj9t/ODqC1CKeeTzveI/guYPGgDRVInD4kNZ6XmZcZ86cKaTqpcAzD5ykCrnCafPNN7dKMcYdBz191jjBdiHWXNg9xLqOvQP+kkjA6f0ownXWWDp9zqtep37+pofAF198oaSh8Yzg75NPPlE29yGpvNZaaynBgjiS4um1rL4llWWfX4TxyeI9Wss6XZaxDJrRzbSmkgEaNBN4jwgQASJABIgAESACRIAIEAEiQASIABEgAkSACBCBUiMQXc+m1N1k44kAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARaEYEyABtxlFnn4kAESACRIAIEAEiQASIABEgAkSACBABIkAEiECTIEAGaJMMNLtJBIgAESACRIAIEAEiQASIABEgAkSACBABIkAEmhEBMkCbcdTZZyJABIgAESACRIAIEAEiQASIABEgAkSACBABItAkCJAB2iQDzW4SASJABIgAESACRIAIEAEiQASIABEgAkSACBCBZkSADNBmHHX2mQgQASJABIgAESACRIAIEAEiQASIABEgAkSACDQJAmSANslAs5tEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSgGREgA7QZR519JgJEgAgQASJABIgAESACRIAIEAEiQASIABEgAk2CABmgTTLQ7CYRIAJEgAgQASJABIgAESACRIAIEAEiQASIABFoRgTIAG3GUWefiQARIAJEgAgQASJABIgAESACRIAIEAEiQASIQJMgQAZokww0u0kEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASaEQEyQJtx1NlnIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEi0CQIkAHaJAPNbhIBIkAEiAARIAJEgAgQASJABIgAESACRIAIEIFmRIAM0GYcdfaZCBABIkAEiAARIAJEgAgQASJABIgAESACRIAINAkCZIA2yUCzm0SACBABIkAEiAARIAJEgAgQASJABIgAESACRKAZESADtBlHnX0mAkSACBABIkAEiAARIAJEgAgQASJABIgAESACTYLA/E3ST3aTCBABIkAEiEBDIzB9+nTx008/Vfu48MILi1VXXbUa5gURKDIClUpFTJ061dPEtddeW/zpT3/yxBct4qOPPhJjxowR06ZNE3PmzBHffvutaNOmjWjbtq3669Gjh+jZs6f4/PPPxccff+xqfqdOncQiiyziisszUIY25okP6n7nnXfEL7/8EqsZLVq0EC1bthRYm/G3+OKLC8SlRRy3tJBkOUSACDQrAtxLN/7I/0luOCuN3032kAgQASJABIhAYyPQuXNn8e6771Y7ucEGG4hJkyZVw7wgAkVG4OeffxYLLbSQp4lg6i+44IKe+KJEoH0HH3ywuPnmm8Wvv/7q26zhw4eLs846S5x//vnihBNOcKV78cUXxWabbeaKyzOQRhvnzZsnllpqKTHffI2pbNauXTsxc+bMmoZpgQUWEKussopYbbXVRPfu3cUee+whOnTokLjMNMYtceXMSASIQMMj0OjrOgaQe+mGn8aiMXcljT9u7CERIAJEgAgQASJABIhAjghAAnCbbbZRkp9BzE80EZKszUCQq7juuuvE6quv7pJIb4a+x+0j5g8OrR5++GEBBnnHjh1Ft27dxNixY+MWxfREgAgQgbohwHW9btCy4BwQIAM0B9BZJREgAkSACBABIkAEiEC5EbjsssvEs88+G6kTzcAAhcQ5JFkPOOAApeofCRgmciEwfvx4MXDgQCUNOnfuXNc9BogAESACWSPAdT1rxFlfvRGgDdB6I8zyiQARIAJEgAgQASJABBoOgXPPPdfTJ9gr/ctf/iK6dOkillhiCfHpp5+qP0hENjJdfPHF4phjjhG//fZbI3czs77ddttt4vnnnxcwj9C+ffvM6mVFRIAIEAEHAa7rDhL8bSQEyABtpNFkX4gAESACRIAIEAEiQATqjsD777+vGJt6RfPPP7+SCC2SPU+9ffW8njx5ctMzP//+97+LlVde2RdmqLx/9913ykEWnGT9+9//FuPGjVMOlWwuGWbPni369u2rmKCtWrXyLZc3iAARIAL1QIDrej1QZZl5I0AGaN4jwPqJABEgAkSACBABIkAESoXAjBkzPO2FE5sw5udee+0lttxyS1feNddc0xXOO1CGNuaNka1+MCuTjCW8t59yyini6quvFiYjFB6Jt912W/H000+LxRZbzFZtNY7jVoWCF0SACBABIkAErAiQAWqFhZFEgAgQASJABIgAESACRMCOACT4TOratasZ5Qm3adNG4K/IVIY2Fhm/uG2DdOeVV14phgwZov7gGEmnV155RZx22mniwgsv1KM91xw3DySMIAJEgAgQASLgQoBOkFxwMEAEiAARIAJEgAgQASJABIIR+M9//uNJsOKKK3riGEEEoiIAD/CPPfaYWHbZZT1ZrrjiCgGVeBIRIAJEgAgQASKQHAEyQJNjx5xEgAgQASJABIgAESACTYiAqaoMCBZeeOEmRIJdThOBDh06iDvuuEPAnqxOP/74ozjzzDP1KF4TASJABIgAESACMRFwv11jZmZyIkAEiAARIAJ5IABPw1988YX6mzdvnsDH4VJLLaX+WrduHWorrdY2f/nll2LOnDnis88+E0svvbRYYYUV1F+t5dry//e//xUffvihkv6BquRKK60kllxySVvSQsWBQQR8PvroI/Hzzz8r5yCQkDM/7IMaDSk7OAqBjTwwBtB3eNmuB2FMHY/dCy64oFh++eWVqnK9mFp5z2FgmOU8rseYxSmzGfraqH3M+tmMM6/qkbZXr15i2LBh4owzznAVf/3114vhw4cHOlpyZagh8Ouvv4qZM2eq9RdrIN49yy23nFh88cVrKDU4K5xEoc5Zs2YpKdiOHTumeqiQR5+Ce1ycu3lgk9dzjb0bnNjhHY85FmdPkvaIpdGWIuwl4uKSx9iXdS8dF1umD0eADNBwjJiCCBABIkAECoAAPozuvPNO8cwzz4jnn39efPXVV9ZWzTfffGK99dZTjkZgU2399de3pjMj7733XnH77bdXo9dZZx31selEvPfee2L06NHilltuUQxJJ975bdeundh+++3FgQceKNZdd10nOtEvNodQeUR9cLaCjZtOm266qdhvv/3E/vvvLxZYYAH9Vt2vTZw23HBDccIJJ1TrnTp1qrjqqqvEzTff7BmjFi1aiH79+okjjzxS9OnTx8rMBNMTGMMhyKuvvlotFxeLLrqoWH311cXgwYPF0UcfLVBeLQTbev/85z/FQw89JEy7eygXH0ZwarPddtsprG2qqXHqr/ccRlvM8clzHsfBJknaLPt61113Cfw5hEMJk8477zxx0003uaI33nhjMXTo0Grcgw8+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LWukuDz6FKlhlkR4/0C6E2MAm9443FxppZXEaqutppjmteBgqU7kgQ2fa9tIRI/Lcy9R67qe19hzLx19fjVDSjJAm2GU2UciQASIABEgAkSACBABIkAEiAARIAJEgAgQASLQpAj469Y1KSDsNhEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACjYMAGaCNM5bsCREgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACBgJkgBqAMEgEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIQOMgQAZo44wle0IEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIgIEAGaAGIAwSASJABIgAESACRIAIEAEiQASIABEgAkSACBABItA4CJAB2jhjyZ4QASJABIgAESACRIAIEAEiQASIABEgAkSACBABImAgQAaoAQiDRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAg0DgJkgDbOWLInRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgYCJABagDCIBEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACjYMAGaCNM5bsCREgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACBgJkgBqAMEgEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIQOMgQAZo44wle0IEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIgIEAGaAGIAwSASJABIgAESACRIAIEAEiQASIABEgAkSACBABItA4CJAB2jhjyZ4QASJABIgAESACRIAIEAEiQASIABEgAkSACBABImAgQAaoAQiDRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAg0DgJkgDbOWLInRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgYCJABagDCIBEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACjYPA/I3TFfaECBABIkAEiEDzIfDRRx+JMWPGiGnTpok5c+aIb7/9VrRp00a0bdtW/fXo0UP07NlT3fviiy9cAK2xxhpi/vntW4HPP/9cfPzxx670nTp1EosssogrLs/A3LlzxSeffOJqwqqrrioWXnhhVxwDRKDeCHz66afis88+c1Wz2mqriZYtW7riGGhMBPbYYw/xxhtvqM7t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&quot; width=&quot;672&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In the above plot, &lt;a href=&quot;https://amzn.to/3wQK3zF&quot;&gt;Innova&lt;/a&gt; comes in as having the &lt;em&gt;most&lt;/em&gt; accurate flight numbers and Gateway has the &lt;em&gt;least&lt;/em&gt;. It’s interesting to note that &lt;a href=&quot;https://amzn.to/2UVT7pM&quot;&gt;Gateway&lt;/a&gt; and &lt;a href=&quot;https://amzn.to/36IOylg&quot;&gt;Discmania&lt;/a&gt; both have really large error bars - this means that some of their discs are exactly what people expect and some are nothing like what people expected.&lt;/p&gt;
&lt;p&gt;Shown above is the “total difference” with no sense of directionality (i.e. we don’t know if people thought these discs were “too fast” for their numbers or “too slow”…we just know if they were as expected or not). For every disc I calculated the difference between each manufacturer flight number and Infinite Disc’s flight numbers and then added up the absolute value of all those differences. Then, the mean value is presented for each manufacturer. For example, an &lt;a href=&quot;https://amzn.to/3BiZ0Or&quot;&gt;Axiom Envy&lt;/a&gt; has a manufacturer’s speed of 3 but Infinite users scored it as 2.7. We repeat that calculation for each flight number and add up all the differences to get a total divergence score.&lt;/p&gt;
&lt;p&gt;tl;dr: Discs with high numbers are bad. Discs with low (or zero) are good - exactly as expected by the thrower.&lt;/p&gt;
&lt;p&gt;Next, let’s consider some flight numbers with directionality preserved. To save you from chart overload, we will only look at Speed. The other values all sort of correlated as expected from that anyway (i.e. if users thought a disc was faster than its numbers, they also thought it had less turn and more fade).&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&quot;how-do-companies-compare-across-their-expected-speed&quot; class=&quot;section level1&quot;&gt;
&lt;h1&gt;How do companies compare across their expected speed?&lt;/h1&gt;
&lt;p&gt;&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAYAAAD0ZtPZAAAEGWlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJim3XdoLFw72H+n23BaIXzbcOnz5mfPoTvYVz7KzUl5+FRxEuqkp9G/Ajia219thzg25abkRE/BpDc3pqvphHvRFys2weqvp+krbWKIX7nhDbzLOItiM8358pTwdirqpPFnMF2xLc1WvLyOwTAibpbmvHHcvttU57y5+XqNZrLe3lE/Pq8eUj2fXKfOe3pfOjzhJYtB/yll5SDFcSDiH+hRkH25+L+sdxKEAMZahrlSX8ukqMOWy/jXW2m6M9LDBc31B9LFuv6gVKg/0Szi3KAr1kGq1GMjU/aLbnq6/lRxc4XfJ98hTargX++DbMJBSiYMIe9Ck1YAxFkKEAG3xbYaKmDDgYyFK0UGYpfoWYXG+fAPPI6tJnNwb7ClP7IyF+D+bjOtCpkhz6CFrIa/I6sFtNl8auFXGMTP34sNwI/JhkgEtmDz14ySfaRcTIBInmKPE32kxyyE2Tv+thKbEVePDfW/byMM1Kmm0XdObS7oGD/MypMXFPXrCwOtoYjyyn7BV29/MZfsVzpLDdRtuIZnbpXzvlf+ev8MvYr/Gqk4H/kV/G3csdazLuyTMPsbFhzd1UabQbjFvDRmcWJxR3zcfHkVw9GfpbJmeev9F08WW8uDkaslwX6avlWGU6NRKz0g/SHtCy9J30o/ca9zX3Kfc19zn3BXQKRO8ud477hLnAfc1/G9mrzGlrfexZ5GLdn6ZZrrEohI2wVHhZywjbhUWEy8icMCGNCUdiBlq3r+xafL549HQ5jH+an+1y+LlYBifuxAvRN/lVVVOlwlCkdVm9NOL5BE4wkQ2SMlDZU97hX86EilU/lUmkQUztTE6mx1EEPh7OmdqBtAvv8HdWpbrJS6tJj3n0CWdM6busNzRV3S9KTYhqvNiqWmuroiKgYhshMjmhTh9ptWhsF7970j/SbMrsPE1suR5z7DMC+P/Hs+y7ijrQAlhyAgccjbhjPygfeBTjzhNqy28EdkUh8C+DU9+z2v/oyeH791OncxHOs5y2AtTc7nb/f73TWPkD/qwBnjX8BoJ98VQNcC+8AAEAASURBVHgB7N0JvE3l/vjx78E5Dsd8zCfzGJKLjCG6qCg/qZT8TV25pF8alKioX8VtoMTtlko0UCo34YYKoSizkHmeOYaOefqf77p3rbv2Pnvvs885e1h778/Ta7fX8KxnPc/72V739vUMcVfTk5AQQAABBBBAAAEEEEAAAQQQQAABBBBAAIEoFMgVhW2iSQgggAACCCCAAAIIIIAAAggggAACCCCAgCFAAJQfAgIIIIAAAggggAACCCCAAAIIIIAAAghErQAB0KjtWhqGAAIIIIAAAggggAACCCCAAAIIIIAAAgRA+Q0ggAACCCCAAAIIIIAAAggggAACCCCAQNQKEACN2q6lYQgggAACCCCAAAIIIIAAAggggAACCCBAAJTfAAIIIIAAAggggAACCCCAAAIIIIAAAghErQAB0KjtWhqGAAIIIIAAAggggAACCCCAAAIIIIAAAgRA+Q0ggAACCCCAAAIIIIAAAggggAACCCCAQNQKEACN2q6lYQgggAACCCCAAAIIIIAAAggggAACCCBAAJTfAAIIIIAAAggggAACCCCAAAIIIIAAAghErQAB0KjtWhqGAAIIIIAAAggggAACCCCAAAIIIIAAAgRA+Q0ggAACCCCAAAIIIIAAAggggAACCCCAQNQKEACN2q6lYQgggAACCCCAAAIIIIAAAggggAACCCBAAJTfAAIIIIAAAggggAACCCCAAAIIIIAAAghErQAB0KjtWhqGAAIIIIAAAggggAACCCCAAAIIIIAAAgRA+Q0ggAACCCCAAAIIIIAAAggggAACCCCAQNQKEACN2q6lYQgggAACCCCAAAIIIIAAAggggAACCCBAAJTfAAIIIIAAAggggAACCCCAAAIIIIAAAghErQAB0KjtWhqGAAIIIIAAAggggAACCCCAAAIIIIAAAgRA+Q0ggAACCCCAAAIIIIAAAggggAACCCCAQNQKEACN2q6lYQgggAACCCCAAAIIIIAAAggggAACCCBAAJTfAAIIIIAAAggggAACCCCAAAIIIIAAAghErQAB0KjtWhqGAAIIIIAAAggggAACCCCAAAIIIIAAAgRA+Q0ggAACCCCAAAIIIIAAAggggAACCCCAQNQKEACN2q6lYQgggAACCCCAAAIIIIAAAggggAACCCCQBwIEEEAAAf8E5syZI5s2bXLJfMMNN0jTpk1drnGCAAIIIIAAAggggAACCCCAAALOESAA6py+oCYIIOBwgUmTJsmUKVNcajl06FACoC4inCCAAAIIIIAAAggggAACCCDgLAGmwDurP6gNAggggAACCCCAAAIIIIAAAggggAACCARQgABoADEpCgEEEEAAAQQQQAABBBBAAAEEEEAAAQScJUAA1Fn9QW0QQAABBBBAAAEEEEAAAQQQQAABBBBAIIACBEADiElRCCCAAAIIIIAAAggggAACCCCAAAIIIOAsAQKgzuoPaoMAAggggAACCCCAAAIIIIAAAggggAACARQgABpATIpCAAEEEEAAAQQQQAABBBBAAAEEEEAAAWcJEAB1Vn9QGwQQQAABBBBAAAEEEEAAAQQQQAABBBAIoAAB0ABiUhQCCCCAAAIIIIAAAggggAACCCCAAAIIOEuAAKiz+oPaIIAAAggggAACCCCAAAIIIIAAAggggEAABQiABhCTohBAAAEEEEAAAQQQQAABBBBAAAEEEEDAWQIEQJ3VH9QGAQQQQAABBBBAAAEEEEAAAQQQQAABBAIoQAA0gJgUhQACCCCAAAIIIIAAAggggAACCCCAAALOEiAA6qz+oDYIIIAAAggggAACCCCAAAIIIIAAAgggEEABAqABxKQoBBBAAAEEEEAAAQQQQAABBBBAAAEEEHCWAAFQZ/UHtUEAAQQQQAABBBBAAAEEEEAAAQQQQACBAAoQAA0gJkUhgAACCCCAAAIIIIAAAggggAACCCCAgLMECIA6qz+oDQIIIIAAAggggAACCCCAAAIIIIAAAggEUIAAaAAxKQoBBBBAAAEEEEAAAQQQQAABBBBAAAEEnCVAANRZ/UFtEEAAAQQQQAABBBBAAAEEEEAAAQQQQCCAAgRAA4hJUQgggAACCCCAAAIIIIAAAggggAACCCDgLAECoM7qD2qDAAII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CZI9rV+/3jrNlSuX2Hdb1xGg/u50rvnuuecead++vfTu3dvYid4q2EEHugTA77//btVIlyF45513Mg1+6gNHj7r+nz9f5tYLwnAQC20MAyuvRAABBBBAAAEEYkogLlceKV6nq0PbHCfF63ZzaN2oFgIIIBA7AgRAY6ev/Wqp7ig+duxYl7waKNTAZHbTN998Izq6s127dnLnnXeKPZDprUwNut59990ut1NTXdehsk+DP3XqlDFy1OUBLyfbtm0zNmHStUe3bt3qJVf4L69du9YlWNygQQOXdVB91dB9CQOnBkBjoY2++ol7CCCAAAIIIIAAAoERKN34IZE45/3nbbFad0rewuUC00hKQQABBBDItoDz/hci203hwZwKaNBs8ODBotPDzaTTxPv162eeZuu7cOHCxkhGs9xFixb5VY6Z38ysu3Xbk44UtadJkybZT70e6whXe9L1SJ2Y7KNwtX72TaB81VeXEZgxY4ZLlosXL7qcO+UkFtroFGvqgQACCCCAAAIIRLNAYrEqjhwFmtJiSDSz0zYEEEAgYgQIgEZMVwWnojodXEdEPv300/Loo4/K/v37rRfpKEy9XqxYMetadg4aN27sst7mF198YWx85KssHbHovg5pnTp1XB5p0aKF6KhIM+l0cS3bV1qzZo18/vnnVhYNztarV886d9JBtWrVXKqzatUqOXfunMs19xMNGr/44ovGCFf7vcyes+cN5XEstDGUnrwLAQQQQAABBBCIZYHyf35JcsUnOYagZP0HJKl0XcfUh4oggAACsSzAJkhR2vsaPNTd0z2l8+fPi07/1o1yNPiZlpaWIZsGP4cPHy6B2Pwob968csstt8j06dON9+hoxCFDhhgjS/W6vsuedD3Pf/zjH8au8Ob18uXLS/Pmzc1T6/vhhx+WPn36WFPF33zzTdGd5DWYmz9/fiufBnp1VKSuoWlfK1QDvIHa3d56WYAOKlWqZASOzZGwhw8flpdeekmefPJJKViwYIa3aIB09OjRoruquydPfeyeJxznsdDGcLjyTgQQQAABBBBAIBYFEgqlSPk/vyg7//Vo2JsfX7CsUZewV4QKIIAAAggYAgRAo/SHsGLFCtFPdlIgg5/m+wcOHGgEJjds2GBc0mnao0aNknfffVc0uFmmTBlj6r0GP3X3d3N3d82cmJgow4YNE934yD1VqVJFevbs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IIAAAggggAACCCCAAAIIIOBDgACoDxxuIYAAAggggAACCCCAAAIIIIAAAggggEBkCxAAjez+o/YIIIAAAggggAACCCCAAAIIIIAAAggg4EOAAKgPHG4hgAACCCCAAAIIIIAAAggggAACCCCAQGQLEACN7P6j9ggggAACCCCAAAIIIIAAAggggAACCCDgQ4AAqA8cbiGAAAIIIIAAAggggAACCCCAAAIIIIBAZAsQAI3s/qP2CCCAAAIIIIAAAggggAACCCCAAAIIIOBDgACoDxxuIYAAAggggAACCCCAAAIIIIAAAggggEBkCxAAjez+o/YIIIAAAggggAACCCCAAAIIIIAAAggg4EOAAKgPHG4hgAACCCCAAAIIIIAAAggggAACCCCAQGQLEACN7P6j9ggggAACCCCAAAIIIIAAAggggAACCCDgQ4AAqA8cbiGAAAIIIIAAAggggAACCCCAAAIIIIBAZAsQAI3s/qP2CCCAAAIIIIAAAggggAACCCCAAAIIIOBDgACoDxxuIYAAAggggAACCCCAAAIIIIAAAggggEBkCxAAjez+o/YIIIAAAggggAACCCCAAAIIIIAAAggg4EOAAKgPHG4hgAACCCCAAAIIIIAAAggggAACCCCAQGQLEACN7P6j9ggggAACCCCAAAIIIIAAAggggAACCCDgQ4AAqA8cbiGAAAIIIIAAAggggAACCCCAAAIIIIBAZAsQAI3s/qP2CCCAAAIIIIAAAggggAACCCCAAAIIIOBDgACoDxxuIYAAAggggAACCCCAAAIIIIAAAggggEBkCxAAjez+o/YIIIAAAggggAACCCCAAAIIIIAAAggg4EOAAKgPHG4hgAACCCCAAAIIIIAAAggggAACCCCAQGQLEACN7P6j9ggggAACCCCAAAIIIIAAAggggAACCCDgQ4AAqA8cbiGAAAIIIIAAAggggAACCCCAAAIIIIBAZAsQAI3s/qP2CCCAAAIIIIAAAggggAACCCCAAAIIIOBDgACoDxxuIYAAAggggAACCCCAAAIIIIAAAggggEBkCxAAjez+o/YIIIAAAggggAACCCCAAAIIIIAAAggg4EOAAKgPHG4hgAACCCCAAAIIIIAAAggggAACCCCAQGQL5Ins6lN7BBBAAAEEEEAAAQQQQACBSBU4cmKj7DqwUA4eWyPHTm2W02cPy4WL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kCcCuv26BsnaffqNAAII5FmAAGieCakgkQXM4GfJkiXljjvukB49ekhqaqrVZZ1iPmzYMPntt9+sa99//73ce++9Uq5cOeuav4No1K/T072DnzrF/a677soxxX39+vXy9NNPG2ttahs1APnaa69J69atRQOmZuratat8+OGH1mjS6dOnhxQAnT17tuhoVDP5Gv2pAdXXX3/dEfzs2LGjPPjgg1K+fHmzqPWdkZEhOmp2/Pjx1rUFCxbImjVrjDVZrYshHqjBDz/8EFLuXbt2GcFYDRrb10UNqTCZEEAAAQQQQAABBBBAAAEEEECgQAQIgBYIOw+NJwFd31Onk9eoUSNHs3VE40svvWSskamjPzVpEFFHdt5888058vu6EMn6161bJ19//bX1GN3c6IUXXpAOHTpY1+wH9evXN6b3P/PMM8b0fb2nm0CNGjVK7rvvPiurjng999xzZc6cOca1VatWGaNHtf+B0rRp06zbKSkpooFU76Trk65du9a63LRpUyMoa998yrrpOdANnDTAfODAAbHXr8e6KVW4SUfyDh06NORiut6oboBFADRkMjIigAACCCCAAAIIIIAAAgggUKACybuISoGy8/B4EtBApq/gp9kH3ZW8f//+5qnxrQHCUFMk6//kk08cj+3UqZPf4KeZUUd66qZE9oCjrmeqwVR76t69u/1UdBRooKQBSvvmSxpA9bVu6E8//eSo5pZbbnG0xXHTdnLFFVfYzkR2797tOOcEAQQQQAABBBBAAAEEEEAAAQQQUAECoPwcIBBAQIOCoYzk1FGL9qTrUoaSIlm/bgo0b94867E6VV+n7YeSqlSpItdee62VVUc4zpw50zrXg3bt2hnTv82LM2bMEHP9UPOa/fvbb7+1pszrdV/T3/X61VdfLYMHD5Y+ffqIBlnPP/98vRw0eQeldb1REgIIIIAAAggggAACCCCAAAIIIOAtwBR4bxHOEbAJ6HTnokWL2q74PixTpozjhn0zH8cNr5NI1q+bGumO7mZq27atVK9e3TwN+q2ByAkTJlj5Nm/ebB3rgW5K1KVLF/nPf/5jXN+xY4csW7ZMWrZs6chnntinp6uP98ZKZr7GjRsbGzOZ56F+29co1TKhmodaP/kQQAABBBBAAAEEEEAAAQQQQCAxBAiAJsZ7pBdREtAdyENJGhzUtTwzMzON7DoaM5QUyfp1Mx97Cif4qeWqVasmuk6nbkqkyTsAqtd0FKcZANVznQbvKwC6ceNGsS8D0Llz55CmtWud/pJOqdc26XqhixYtkiVLljiyBhqN6sjodVKpUiVjdKvXZZ+nGvDduXOnZeQzExcRQAABBBBAAAEEEEAAAQQQQCCmBAiAxtTroDGxJqBTw0NNuuFQuCmS9XtPu9eAZjhJg7gaDNSdzjXppk4aDNWgqJkaNGggTZo0sYKbuuP9gAEDcgQ37aM/tay/6e9mvfbvI0eOyOLFi2X16tWydetW46OBT70ejaRrk+onlNS7d29ZuHBhKFnJgwACCCCAAAIIIIAAAggggAACMSJAADRGXgTNiE2BkiVLRrVhkaz/0KFDjraGOrrUXkiDpmYAVEez7tu3zwiK2vNoMNMc3ZmRkWHsHt++fXsri47EtG+Q1LBhw5B2Z9+zZ49MnDhRvvzySzl69KhVn78DXeNU1yolIYAAAggggAACeRW4o2EZ6VY9ur/35bWN0Sy/LiNTPljr/F0yms/LTd2XVi0uXasl7ztKzcVgi9w4UwYBBBBIVAECoIn6ZulX0gl4r4mZm+Dg8ePHHW6+1j/V6ezvvvuuteamBjvtAVCdmm7fkT2U0Z86tfzBBx+0lhBwNOKvEw141q5dW8444wxjoyTdeKpnz56+snINAQQQQAABBBAIS6BzEgfWFOp4VraMXn9IMv9cCSksu/zKfE/jsnJh5RL59TiegwACCCCQYAIEQBPshdKd5BWoWbOmo/O6VmW4yV5GA46lSpXKUYVe69Chg3z33XfGvZ9//tmYnm6OZp06dapVRqfVa8A0UNL1Qh9//HFH8FOXE2jWrJnx0RGkOvW+bt26jqn23lP+Az2DewgggAACCCCAAAL+BYqlpsgFlYrLzF2nN9T0nzv/75Qs5JK2FYrl/4N5IgIIIIBAwggQAE2YV0lHkl3AOwCqu7SHk06cOCH2oKLu3O5vXVMd1WkGQHWq/E8//SSXXXaZaB2zZs2yHtuuXTspW7asde7r4OWXXxadSm8m7Yde04BnoGQvEygf9xBAAAEEEEAAAQSCC/SsXSpmA6BX1UgTDdKSEEAAAQQQyK0A/xXJrRzlEIgxgVq1ajlapJsYhZO8d30PtIbo2WefLZUrV7aq//HHH43jX375xbF+Z7Dp77qx0cqVK616ihQpIh988EHQ4KcW2Lt3r1VOD8zd6x0XOUEAAQQQQAABBBAISaB7jZJSrkhs/vPw7/VLh9QHMiGAAAIIIOBPIDb/C+evtVxHAAG/Ajo1XUdtmmnRokWydu1a8zTo94QJExx57Ot6Om54TnRneB3xaab58+eLrh86c+ZM85KUL18+6O7qS5cudQQu27RpI6VLh/YL7oIFC6xn6QEBUAcHJwgggAACCCCAQFgCJQqlyF2NTv8uGVbhKGZu75mafzbT36MoTNUIIIBAcggQAE2O90wvk0SgR48ejp5++OGHjnN/J7oOp33nds138cUX+8tuXLeP7jSnwet6oGbq2rWr6BqggZLuMm9PoQY/Dxw4IJMnT7YXtTZlclzkBAEEEEAAAQQQQCBkgX4Ny0qVYqkh58+PjIObl8+Px/AMBBBAAIEEFyAAmuAvmO4ll8Att9wiVapUsTo9d+5cmTRpknXu62D//v0ydOhQcbvd1m2d4u49pd66+ddBjRo15KyzzrIuv/fee2FNf9eCjRo1ssrrweLFi42RpI6LXifHjh2TF154wbFeqWbx3sHeqxinCCCAAAIIIIAAAkEE0gqnyPNnVQySK/9u31qvtLRh9Gf+gfMkBBBAIIEFCIAm8Mula8knULRoUbn//vsdHX/zzTfl2WeflUOHDjmua8BTp5Hffvvtsnz5cuuejsIcPHiwdR7ooHv37tbtPXv2WMdNmzYNaR3PevXqSfHixa1yu3fvlhdffNGxKZJ103OgAdJ+/fqJrjXqnQ4fPux9iXMEEEAAAQQQQACBMAWuqZUmPWunhVkq8tkbpBWWZ8+qEPmKqREBBBBAICkFAs9PTUoSOo1AfAtcdNFFxvqcU6dOtTqiO7brR0d1Nm7cWNLT043Nh7yDhsWKFZNnnnlGKlYM7S//Ok3+jTfeEB2VaU/26fH2697HuunRgAEDjBGo5j3dRX7hwoWiO8hXr17d2Il+165douuF2jd2atKkiWj5ZcuWGUV1UyTdVKlkyZJmVXwjgAACCCCAAAII5ELg1b9Vkj/SM2W551MQKa2QS0adX0XSPOuSkhBAAAEEEIiEAAHQSChSBwIxJqAjOM877zwZPny4Y+SnBhDtQUR7s+vWrSvPP/98SCM3zXI6evOSSy6Rb775xrxkBCUvvfRS6zzYgY4i1eDmlClTrKwZGRkybdo069x+oBswXXfdddK/f3/5+uuvrQBoVlaWaPDUPirVXo5jBBBAAAEEEEAAgdAENPA4vn016T5zm2w+eiq0QhHKpRvRj21XTc4sUzRCNVINAggggAACns2cQUAAgcQU0CDkmDFjpFOnTlK2bFm/ndSRlAMHDpSPPvoorOCnWaH3aM8OHTpIWlp406aefPJJee2110SnxPtLFSpUEN1YaezYsfLAAw9I4cKF5ZxzznFknzFjhuOcEwQQQAABBBBAAIHcCVQpXkgmX1xDmpQunLsKclFKR35OaF9dLqh8eomkXFRDEQQQQAABBHIIuDzrAJ7e+STHbS4ggECiCOhmR+vWrZP169cbozSrVq0qNWvWDLrZUX72Pzs7W3bs2CFbt26Vbdu2iZ43aNBA6tevL2XKlMnPpvh8Vu/evWXcuHGOe4MGDTLWLXVc5AQBBBBAAAEEEEgQgYOZWXLvr7tlxo6jUe1Rfc+anzrtvSkjP6PqTOUIIIBAsgowBT5Z3zz9TjqB8uXLi37atm0bs33X6e26u7x+SAgggAACCCCAAAIFL1C2SKr8q11VGbk2XV7+fb8cyYr8+Jlb6pWSIZ7d51nzs+DfNy1AAAEEElWAKfCJ+mbpFwIIIIAAAggggAACCCAQAQGXyyX9GpWVOZfVll51SkmqKwKVeqpoV6mYTOlYQ4a3qUzwMzKk1IIAAggg4EeAEaB+YLiMAAIIIIAAAggggAACCCBwWqCaZ13Qt9tWlkeblpNP1h+SzzZnyI5jWaczhHBU0hM9vaJmmvy9Xmk5p2KxEEqQBQEEEEAAgbwLEADNuyE1IIAAAggggAACCCCAAAJJI1C7ZGF5ukUFGdy8vCw9cEJm7zkmv3m+12WclJ3Hs+TwyWzJ8mw1kVY4Rcp7ptA3KFXYs6t7EWlfqbgR9CyeykTEpPlhoaMIIIBAjAgQAI2RF0EzEEAAAQQQQAABBBBAAIF4EkjxTI1vVb6Y8YmndtNWBBBAAIHkE+BPb8n3zukxAggggAACCCCAAAIIIIAAAggggAACSSNAADRpXjUdRQABBBBAAAEEEEAAAQQQQAABBBBAIPkECIAm3zunxwgggAACCCCAAAIIIIAAAggggAACCCSNAAHQpHnVdBQBBBBAAAEEEEAAAQQQQAABBBBAAIHkEyAAmnzvnB4jgAACCCCAAAIIIIAAAggggAACCCCQNAIEQJPmVdNRBBBAAAEEEEAAAQQQQAABBBBAAAEEkk+AAGjyvXN6jAACCCCAAAIIIIAAAggggAACCCCAQNIIEABNmldNRxFAAAEEEEAAAQQQQAABBBBAAAEEEEg+AQKgyffO6TECCCCAAAIIIIAAAggggAACCCCAAAJJI0AANGleNR1FAAEEEEAAAQQQQAABBBBAAAEEEEAg+QQIgCbfO6fHCCCAAAIIIIAAAggggAACCCCAAAIIJI0AAdCkedV0FAEEEEAAAQQQQAABBBBAAAEEEEAAgeQTIACafO+cHiOAAAIIIIAAAggggAACCCCAAAIIIJA0AgRAk+ZV01EEEEAAAQQQQAABBBBAAAEEEEAAAQSST4AAaPK9c3qMAAIIIIAAAggggAACCCCAAAIIIIBA0ggQAE2aV01HEUAAAQQQQAABBBBAAAEEEEAAAQQQSD4BAqDJ987pMQIIIIAAAggggAACCCCAAAIIIIAAAkkjQAA0aV41HUUAAQQQQAABBBBAAAEEEEAAAQQQQCD5BAiAJt87p8cIIIAAAggggAACCCCAAAIIIIAAAggkjQAB0KR51XQUAQQQQAABBBBAAAEEEEAAAQQQQACB5BMgAJp875weI4AAAggggAACCCCAAAIIIIAAAgggkDQCBECT5lXTUQQQQAABBBBAAAEEEEAAAQQQQAABBJJPgABo8r1zeowAAggggAACCCCAAAIIIIAAAggggEDSCBAATZpXTUcRQAABBBBAAAEEEEAAAQQQQAABBBBIPgECoMn3zukxAggggAACCCCAAAIIIIAAAggggAACSSNAADRpXjUdRQABBBBAAAEEEEAAAQQQQAABBBBAIPkECIAm3zunxwgggAACCCCAAAIIIIAAAggggAACCCSNAAHQpHnVdBQBBBBAAAEEEEAAAQQQQAABBBBAAIHkEyAAmnzvnB4jgAACCCCAAAIIIIAAAggggAACCCCQNAIEQJPmVdNRBBBAAAEEEEAAAQQQQAABBBBAAAEEkk+AAGjyvXN6jAACCCCAAAIIIIAAAggggAACCCCAQNIIEABNmldNRxFAAAEEEEAAAQQQQAABBBBAAAEEEEg+AQKgyffO6TECCCCAAAIIIIAAAggggAACCCCAAAJJI0AANGleNR1FAAEEEEAAAQQQQAABBBBAAAEEEEAg+QQIgCbfO6fHCCCAAAIIIIAAAggggAACCCCAAAIIJI1AoaTpKR1FAAEEEEAAAQQQQAABBBAwBNzHs0SOnRIp5BkTUyJVXKmMjeFHAwEEEEAgcQUIgCbuu6VnCCCAAAIIIIAAAggggIC4tx0R98K9Ikv2i3vTYZFtR0VOZjtlyhURqZUmrjPKiKt1BZFW5cVVJNWZhzMEEEAAAQTiVIAAaJy+OJqNAAIIIIAAAggggAACCPgTcGdmiXvGdnFP2SKyMt1fttPXD2SKHPAESJd6Pv/ZIFKykLguriaua+uIq26p0/k4QgABBBBAIA4FCIDG4UujyQgggAACCCCAAAIIIICALwF3ttsIerrHrBXZd8JXltCuHTkl7m+2GB/pUFVS+jURV7USoZUlFwIIIIAAAjEmQAA0xl4IzUEAAQQQQAABBBBAAAEEciPg3nJYsocuDW3EZzgP+HGnZM/bLa5/NBLXDfXE5XKFU5q8CCCAAAIIFLgAK10X+CugAQgggAACCCCAAAIIIIBA3gSyv98u2XfPiXzw02xWZra4P1wl2U8uEHfGSfMq3wgggAACCMSFAAHQuHhNNBIBBBBAAAEEEEAAAQQQ8C2Q7Vmz0/3ibyK6s3u00697JXvAPHHvOR7tJ1E/AggggAACERNgCnzEKKkoWgLffPONbNq0KeTqCxUqJIULF5aiRYtKxYoVpXbt2nLGGWeEXD6RMh47dkxGjx5tdalRo0bSuXNn69w82L9/v4wfP948lebNm0uHDh2scw4QQAABBBBAAAEEYlPACH5+sDJ/G+fZST77kfmS8tZ54ipXNH+fzdMQQAABBBDIhQAB0FygUSR/BWbNmiXz5s3L00Nr1qwp3bp1k8suu0wqV66cp7riqfDx48dl3LhxVpM7derkMwCanp7uyNejRw8CoJYaBwgggAACCCCAQGwK6LR3d34HP02KbUcle9CCP4OgRVLNq3wjgAACCCAQkwJMgY/J10KjIi2wdetWGTlypPTs2VPefvttcbvdkX4E9SGAAAIIIIAAAgggkG8CuuGR+/Xf8+15Ph+0+pC4R/zh8xYXEUAAAQQQiCUBAqCx9DZoS9QFNPA5ceJEee2116L+LB6AAAIIIIAAAggggEA0BNzZ7j93e8+PNT+DdMD99RZxz98TJBe3EUAAAQQQKFgBpsAXrD9Pz4XAoEGD5MILL/RbMjs7WzIzM0XXv9yxY4fMnDlTpk2bJidPnt6tcvLkycYU73PPPddvPcl0o1ixYsa6n2afq1evbh7yjQACCCCAAAIIIBBjAu4pW6K323su+pr9zgpJad1eXEyFz4UeRRBAAAEE8kOAAGh+KPOMiAposC4tLS2kOmvVqiXnnHOOXHHFFfLwww/L0aNHrXIffPCBEAD9k6NatWry3nvvWTYcIIAAAggggAACCMSmgDszS9xj1sZW43YcFffUreK6qk5stYvWIIAAAggg8JcAU+D5UUgKgWbNmhkBUHtn16xZE9bu8vayHCOAAAIIIIAAAgggUBAC7hnbRfadKIhHB3yme9x6cWexzn5AJG4igAACCBSYAAHQAqPnwfktoDuge+8Av2jRovxuBs9DAAEEEEAAAQQQQCDXAsb091yXjmLB3cdFFu+N4gOoGgEEEEAAgdwLMAU+93aUjDOB1NRUady4sezevdtq+Z49zgXbde3Qffv2WfcrVaokhQr9+T+TdevWyezZs41p9HXr1pX27dtLqVKlrLz+Dvbv32+MNN2wYYNs2bLFKNOwYUNp0KCB6FqbLpfLX9GA17Wtv/76q+gO99u3b5fChQuLTmXXdlWpUiVgWe+bp06dErtFyZIlpXTp0t7ZcpxrGxYuXGi1QZcm0NG2+rHbHDp0SI4cOWKU1/dgD0SfOHFC1MhMRYoUkQoVKpinIX3v3bvXWuM1JSUl7P6H9BAyIYAAAggggAACBSzg3ub5fWplegG3wv/j3d9uF9fZlfxn4A4CCCCAAAIFJEAAtIDgeWzBCJQrV87xYA2+2dOqVavknnvusS79+9//lvLly8vAgQNl2bJl1nU9KF68uPTt21duvPFGx3XzZNOmTfL222/LL7/8Yl7K8a119OrVS2699VYr0Jojk9cF3dzps88+M3azP3DggNddkTfffFO6dOkijz32WI57/i5oYFbbYKYePXrkWDLAvKff2oZJkyYZbbAHL+15NAj67LPPStWqVeWjjz6Szz//3Lit5xMnTrSyamD0pptukqysLOOaBk6//PJLI6BrZQpwoOX1HWgwVlPbtm1l+PDhAUpwCwEEEEAAAQQQiE8B94LYHmHpXnh6IEF8CtNqBBBAAIFEFSAAmqhvln75FNBAnz3VqRN4oXa32y2DBw/OEfzUOjQIqPe9k2609PHHHxsBQjOo553HPNc6Ro8eLT///LM89dRTUq9ePfOWz28NeGowVgO1gdL06dNl27Zt8vjjjwfKlqt7obZh+fLlcuedd8qLL74Y8DkaYNbNqObMmWPky8jIkLlz50qHDh0CljNvzpw50wp+6rVu3bqZt/hGAAEEEEAAgVwIuFeni/unnbkoSZFoC7hn74r2I/JW//4TkvXGMnGVLpK3eigdeYFSRSTlhsD/1oj8Q6kRAQQQiB0BAqCx8y5oSZQFNBip09jtqX79+vbTHMfffPONMcU7xw3PBZ1q3blzZ8etkydPyqBBg3KUKVGihDRp0sSYgp+eni4rV640psWbAdTVq1cbo0mff/55ueCCCxx1micHDx40RqfqlHd70p3uzSnnGnTUunRKux4/9NBD9qx5PtY23HvvvcZUfntlNWrUMNqgI2y1b/rR0bWaf8CAAcbUfHt+7+Pu3btbAVC9pwHcUAOgU6dOtarTqfuhlrMKcYAAAggggAACDgH3+gxx/3u94xonCIQs8PVWyTlEIOTSZIyWQLXiIgRAo6VLvQggEAcCBEDj4CXRxMgIjB07VnR0oT0FG3E5YcIEI3vRokXl/PPPN4Jr2dnZRoDz8OHDOdaq1KnXuiamPekU97vuuivHFPf169fL008/LZs3bzaya/D0tddek9atW4sGTL3TyJEjjbU2zeua55lnnskRMNU1TDUIu2LFCsd6pma5vHy///77juCnTuHXkaveQUd1fuGFF4ygpgZj7SNvzaCvvR3t2rWTsmXLGgFTva6jQbUO+zqi9vzm8Y4dO+S3334zT+WSSy4RfVfhpFmzZskrr7wSUhFda1XXf9Vgur1PIRUmEwIIIIAAAggggAACCCCAAAIIFIgAAdACYeeh+SmgAcvvvvtO/vnPfzoee+WVV4qOGAyUNNClm/a88847cuaZZ1pZu3btmmP6u44u/frrr608urmRBgG9g4NmBh19qkFNDWLOnz/fuKyb+YwaNUruu+8+M5vxvWbNGvnqq6+sa9puDUZqMM476QZC2t7nnntOfvzxR+/buT7/448/REfEmkmDk9qG2rVrm5esb703dOhQGTFihJhBZOumjwPdaEpH05prg2owWAOT+o4CJR0pak+5mf6ugWwNRoeadJOmYEsbhFoX+RBAAAEEEEAAAQQQQAABBBBAIPoCKdF/BE9AILICGnzSUYX+ProGp25AtGDBAmPjndtuu02GDBniCFrpaMP+/fuH1LCbb77ZEfw0C3nv3v7JJ5+Yt4zvTp06+Q1+mhl1FKeu6ak7uJtJNzjynqr/xRdfOAKu1157rc/gp1mHBukeeOABI3hrXsvrtxmcNOtRF1/BT/O++ugaoJUqhbYT6OWXX24WNb69g5uOm3+d2Ke/61IALVq08JWNawgggAACCCCAAAIIIIAAAgggkMQCjABN4pcfr13XkY36yUvSEZbBpleb9V9//fXmod9vDcbOmzfPuq+jRu+44w7rPNBBlSpVRAOa5khJDfDqxj4NGjSwitnr1ineobRJ69URkfZRqVaFYR549083LrruuuuC1qJt7dOnj7z66qtB8zZs2NBYI1XXMNW0ZMkS2bVrl2g/fCVd49S+Hupll13mKxvXEEAAAQQQQAABBBBAAAEEEEAgyQUYAZrkPwDJ1n0dGfnEE0+ITmEPJaWlpRlrUwbLq5v+6I7uZmrbtq1Ur17dPA36ffXVVzvymOuC6kWdnr17927rfps2bUQ3GwolXXXVVaFkC5pn2bJljvVTdc3OYsWKBS2nGbp06RJSPs3kPQp0xowZfsvaR3/qaNNQ36nfCrmBAAIIIIAAAggggAACCCCAAAIJKcAI0IR8rXTKW6BMmTLGaMgePXqEFZjU3c1DSd5rSIYT/NT6q1WrZuwqr+uVarIHQO3Hes/fiEi955203kgkXVLAnqpWrWo/DXiso0B1XVLdnClY0nVA3333XWN5A82r0+BvueWWHMV0jVBd19VMGhQOx8Usp99a9q233rJf8nus+WbPnu1YjsBvZm4ggAACCCCAAAIIIIAAAggggEBMCBAAjYnXQCPCETjnnHMkUGBSp5/rJkE6elPXn2zSpImR33vNzlCeqetKhpIOHjzoyBZu4FE3AdK26pRvTbrDuAZDU1JSZP/+/Y66Q11TUwvpWqc66jUzM9NRR7gn3m0It3+aP5QAaOnSpeXCCy80lgDQNm7YsEHWrl0rOj3ensxd4s1rudn8yCyrbQu1P2PGjBHdNImEAAIIIIAAAggggAACCCCAAALxI0AANH7eFS39S+CKK66Qjh075otHqKMKDx065GhPOCMkzYIahDMDoBqw1IChBju9g6uVK1c2i4T0rXVs27YtpLz+MnkHQHVEZzgpnDbrNHhdA9VM06ZNyxEAtU9/142kOnToYGbnGwEEEEAAAQTyKODqWkNcnUObBZPHR1E8TIHskatEJm4Is1Q+Zk9xievzS8VVnH9m5qN6aI9yhZaNXAgggECiCvBfpkR9s/QrIgI6AjOUpEE4e9KNjMJNx48fdxTRqeOavNsQbt3ebXM8JMQT7w2j0tPTQyz5Z7aMjIyQ8+v6qfYp899++63079/fctBnz50716pPg+GhrkdqFeIAAQQQQAABBPwKGLNmUv3e5kYBCqT8rYJkx3IA9IwykpJWuACFeDQCCCCAAAK+BUKL7vguy1UEEPhLoGbNmg6LnTt3Os5DObGX0Wn8ZtBRd1y3J3s++3V/x3v27PF3K+Tr3ksBmCNVQ60gnPzad/uO7nv37pVFixZZj9K1P+1BYO+Nk6yMHCCAAAIIIIAAAokm0Mrze2HJ2B3D4rqwSqKJ0x8EEEAAgQQRIACaIC+SbhSsgHcAdMeOHWE16MSJE46p7rppk7lmqfd083CCiTqq1HsKfVgN+yuzd//su9KHUl84bdb6vIOaP/zwg/WYWbNmWce6FmzLli2tcw4QQAABBBBAAIFEFnAVSRXXxZHZ5DLiTp5/WbouqR7xaqkQAQQQQACBSAgQAI2EInUkvYD3CEndxCic5L3Tu30N0fr16zuq2rp1q+M80Em4gUd/dXn3748//vCXNcf1jRs3igZ4w0m1a9eWZs2aWUV++uknY+d1nUq/dOlS63peNj+yKuEAAQQQQAABBBCIIwHXtXVisrWui6qJq2KxmGwbjUIAAQQQQIAAKD8DCERAQKer66hNM+mUbd29PNQ0YcIER9b27dtb57o5UuPGja1zDQCGWrduIBSJVK5cOWnatKlV1fLly2XhwoXWeaCDf/7zn4Fu+71nHwWqG0Jp0FXX/rRPf7dPlfdbETcQQAABBBBAAIEEEnDVLSUSa1PNPRvsuG5ukEDKdAUBBBBAINEECIAm2hulPwUm0KNHD8ezP/zwQ8e5vxMdITl9+nTH7Ysvvjjg+ccff+y47+tEp75/9tlnvm7l6tqdd97pKDdq1CjHua+TdevWia7ZmZt06aWXirkRlJbXUaCzZ8+2qvrb3/4mVaqwzpQFwgECCCCAAAIIJI1Ayl1niBSJnX/Kua6sLa56nsAsCQEEEEAAgRgViJ3/asYoEM1CIFSBW265xRGQ09GKkyZNClh8//79MnToUGN6t5nx7LPPFu8p51dffbWULVvWzGIEAv/3v/9Z594Hp06dkrfeekuOHTvmfSvX59quVq1aWeV1JOqgQYPk8OHD1jX7weLFi+Xhhx+2XwrruGTJknLRRRdZZXTtz/nz51vnTH+3KDhAAAEEEEAAgSQTcFUrIa7bGsVGrz3T3l19T89Wio1G0QoEEEAAAQScAgRAnR6cIZBrAR2teP/99zvKv/nmm/Lss8/KoUOHHNfdbrcsWLBAbr/9dtHp5GYqXbq0DB482Dy1vvW6d90vvfSSvP322znW19QNijTvt99+a5WP1EG/fv0kJeX0/9vQUZl9+/aVMWPGyK+//iobNmwwRrMOGzZMHnzwQdEAb16SfRq8rn169OhRo7rixYuL9yjZvDyHsggggAACCCCAQLwJuG6sJ3J2xYJtdopLUp5uJa60wgXbDp6OAAIIIIBAEIFCQe5zGwEEwhDQEYu6LuXUqVOtUjoFXD86qlPX8kxPT5eVK1fmGDlZrFgxeeaZZ6RiRd+/yHbp0kV+++03mTx5slX3xIkT5fPPP5cmTZqIrhW6evVqsW+opLuknzx5UsLdtd16gNdBixYt5IknnhANvppp+/btMnLkSPM0x3evXr3kiy++EN2RXlORIkVy5PF3Qae564ZQO3fudGTp2LGjqBcJAQQQQAABBBBIVgGXyxN8fKqVZA+YJ7LJ94ycaNu4Hmomrublov0Y6kcAAQQQQCDPAqeHcuW5KipAAAEV0BGcOupTR23ak+4Mr4FQHfnpPW28bt26RhDx3HPPtRfJcTxw4EDp06eP47pOd9dRpDri0x781CnzL7/8spQoUcKRP68nOvX8lVdekcqVKwesSkdpPvfcc3LvvfdKdna2lTctLc06Dnagv9j7muru61qwuriPAAIIIIAAAggkmoCrVGFJeaWtSPXI/r4XipPrriaScnmtULKSBwEEEEAAgQIXYARogb8CGpCIArqBj66X+e677xoBT92QyFfSkZtXXXWVdO3a1bHhj6+85jWdNq+B0rFjx8rPP/9sXra+U1NT5cILL5SHHnpIypcvb12P5EG7du2kdevWMnPmTPnhhx9EN3LSndo16Kq7xetHd7KvWbOm8Vj7zu3hBEC1sI6oHT16tNX86tWry1lnnWWdc4AAAggggAACCCSzgKtSMUl5+zzJfnKByBrnsktRcfFMe9eRnwQ/o6JLpQgggAACURJwedYidEepbqpFAIG/BHQtTN0Rff369cYUcJ3WrcFB782OwgXbtWuXse6mji7VUZY6KlMDr+XKxc5UJJ363rlzZ6trOn19yJAh1nmwAw2sXnvttdYoUl1z9B//+EewYlG537t3bxk3bpyjbt0I6sUXX3Rc4wQBBBBAAAEEEMhvAXdmlrhH/CHur7dE79GeDY+MNT+Z9h49Y2pGAAEEEIiKACNAo8JKpQg4BXQkpn7atvVMUYpgqlKlirHz/HnnnRfBWn1XdeDAAWOEp05LDydpkNaewh2VOn36dCv4qc+2b4xkr5djBBBAAAEEEEAgmQVcRVI9IzObi7tdFcl+Z4XIjj83j4yIiefXP9eVtY3d3tnwKCKiVIIAAgggkM8CBEDzGZzHIRCvAk899ZSsWrXKGLnasmVLefjhh0PqyuzZsx35dGOjcNKUKVOs7Oecc07QtUetzBwggAACCCCAAAJJKOA6t5KktG4v7v9tFff49SK7/9yIMlcUnh0jXBdVE9fNDcRVr1SuqqAQAggggAACsSBAADQW3gJtQCAOBBo0aCBLly41pvLrdP6bb77ZGH0aqOlHjhyRSZMmWVlSUlIknADonDlzjPVFzQquvvpq85BvBBBAAAEEEEAAAT8CxmjQq+uI+4raIov3ivvb7eJesFfkQKafErbLnjU+5Ywy4rqwirguqS4uz7R3EgIIIIAAAvEuQAA03t8g7UcgnwTq16/veJKuezls2DC/mzfpTvePPfaY7NmzxyqnmzOFugnSokWLjF3kzcK6XuoFF1xgnvKNAAIIIIAAAgggEETAleoJZp5dSVyejyb3liMiGzPEvc0zPT7jpMixUyKFPMM8S3j+WejZTMlVq6RIo9LiKs4/E4PQchsBBBBAIM4E+C9bnL0wmotAQQnoRkYTJ06UzZs3G01YvHix9OzZ09ig6MwzzzRGg2ZmZsru3buNkaJfffWV6AhQM+nGTI888oh5muP7mWeekW3bthkbOK1du9bYVd6eqU+fPqIjSEkIIIAAAggggAACuRMwApyeIGd4K7rn7lmUQgABBBBAIJYECIDG0tugLQjEsEDJkiXl5Zdflrvuukt0dKemgwcPyqhRo4K2umLFivLCCy8E3J2+dOnSMnPmTJ91tWvXzrGTvM9MXEQAAQQQQAABBBBAAAEEEEAAAQR8CDCcygcKlxBAwLdA7dq15Z133hGdyh5K0l3bL7roIhk9erQ0a9YsYBHd0d5XOuuss+Tpp5/2dYtrCCCAAAIIIIAAAggggAACCCCAQFABRoAGJSIDAgjYBRo2bCgvvfSSsTnRN998Y0xb37lzp+gnNTVVKlSoIDris3Xr1tK1a1fj2F7e33GbNm2MwOqaNWvk2LFjUqNGDenWrZtcfvnlUqRIEX/FuI4AAggggAACCCCAAAIIIIAAAggEFCAAGpCHmwgg4E+gbt26cu+99/q7Hfb1pk2bGoHVsAtSAAEEEEAAAQQQQAABBBBAAAEEEAggwBT4ADjcQgABBBBAAAEEEEAAAQQQQAABBBBAAIH4FiAAGt/vj9YjgAACCCCAAAIIIIAAAggggAACCCCAQAABAqABcLiFAAIIIIAAAggggAACCCCAAAIIIIAAAvEtQAA0vt8frUcAAQQQQAABBBBAAAEEEEAAAQQQQACBAAIEQAPgcAsBBBBAAAEEEEAAAQQQQAABBBBAAAEE4luAAGh8vz9ajwACCCCAAAIIIIAAAggggAACCCCAAAIBBAiABsDhFgIIIIAAAggggAACCCCAAAIIIIAAAgjEtwAB0Ph+f7QeAQQQQAABBBBAAAEEEEAAAQQQQAABBAIIEAANgMMtBBBAAAEEEEAAAQQQQAABBBBAAAEEEIhvAQKg8f3+aD0CCCCAAAIIIIAAAggggAACCCCAAAIIBBAgABoAh1sIIIAAAggggAACCCCAAAIIIIAAAgggEN8CBEDj+/3RegQQQAABBBBAAAEEEEAAAQQQQAABBBAIIEAANAAOtxBAAAEEEEAAAQQQQAABBBBAAAEEEEAgvgUIgMb3+6P1CCCAAAIIIIAAAggggAACCCCAAAIIIBBAgABoABxuIYAAAggggAACCCCAAAIIIIAAAggggEB8CxAAje/3R+sRQAABBBBAAAEEEEAAAQQQQAABBBBAIIAAAdAAONxCAAEEEEAAAQQQQAABBBBAAAEEEEAAgfgWIAAa3++P1iOAAAIIIIAAAggggAACCCCAAAIIIIBAAAECoAFwuIUAAggggAACCCCAAAIIIIAAAggggAAC8S1AADS+3x+tRwABBBBAAAEEEEAAAQQQQAABBBBAAIEAAgRAA+BwCwEEEEAAAQQQQAABBBBAAAEEEEAAAQTiW4AAaHy/P1qPAAIIIIAAAggggAACCCCAAAIIIIAAAgEECIAGwOEWAggggAACCCCAAAIIIIAAAggggAACCMS3AAHQ+H5/tB4BBBBAAAEEEEAAAQQQQAABBBBAAAEEAggQAA2Awy0EEEAAAQQQQAABBBBAAAEEEEAAAQQQiG8BAqDx/f5oPQIIIIAAAggggAACCCCAAAIIIIAAAggEECAAGgCHWwgggAACCCCAAAIIIIAAAggggAACCCAQ3wIEQOP7/dF6BBBAAAEEEEAAAQQQQAABBBBAAAEEEAggQAA0AA63EEAAAQQQQAABBBBAAAEEEEAAAQQQQCC+BQiAxvf7o/UIIIAAAggggAACCCCAAAIIIIAAAgggEECAAGgAHG4hgAACCCCAAAIIIIAAAggggAACCCCAQHwLFIrv5tN6BBBAAAEEEEAAAQQQQCAyAntPHJXVR/bJpqPpkn7yhBzNOinFUgtJWmphqVW8jDRMK+/5Lh2Zh1ELAggggAACCOSbAAHQfKPmQQgggAACCCCAAAIIIBBrAvMPbJMvtq+UH/dtkvVHDwZtXpWiJaV9+dpyRdVGcmmlelI4JTVoGTIggAACCCCAQMEKEAAtWH+ejgACCCCAAAIIIIAAAvkscDI7SyZuXyHvrv9VNoQQ9LQ3b9eJIzJpxx/Gp0Lh4tK3Tmu5vU4rKVO4mD0bxwgggAACCCAQQwIEQGPoZdAUBBBAAAEEEEAAAQQQiK7AzD0bZdAf38vGMAOfvlq17+QxeXXtHPlw0yIZ1Li93FyzhaS4XL6ycg0BBBBAAAEEClCATZAKEJ9HI4AAAggggAACCCCAQP4IHPOs5/nwsunSe+F/IxL8tLf64Mnj8tjyb6XnrxNl1/HD9lscI4AAAggggEAMCBAAjYGXkKxNOHHihLjd7mTtPv1GAAEEEEAAAQQQyCeBnZ6gZPe542Tctt+j+sS5+7fKpXPGyuL0nVF9DpUjgAACCCCAQHgCTIEPz4vcuRA4deqUzJs3T2bPni27du2SPXv2yO7du+XYsWOSmpoqZcuWlfLly0vLli3lvPPOk9atW0vRokVz8SSKIIAAAggggAACCCDgFNCp7tf/MlG2Hs9w3ojS2b7MY3LdL/+RMX+7RtpXqB2lp1AtAggggAACCIQjQAA0HC3yhiWwceNGmTx5ssyYMUMOHvS9o2ZWVpbs27fP+KxZs0YmTZokJUuWlN69e8sNN9wgxYrF1mLy2dnZ8sUXXxjB2oYNG4blQWYEEEAAAQQQQACB/BXY49mw6MZfJ+Vb8NPs3bGsU3Lboi9l0jnXS6syVc3LfCOAAAIIIIBAAQkwBb6A4BP9sf/973+lT58+MnHiRL/BT38GR44ckZEjR0qvXr3k99+jO03JXxt8XV++fLn069dP3njjDWP0qq88XEMAAQQQQAABBBCIDQHd6f0fiybL5mPpBdKgo541R29d+IVoEJaEAAIIIIAAAgUrwAjQgvVPuKcfPXpUhg0bJt9++22Ovul09xYtWoiOnNRp76VKlZLDhw8boz+XLl0qa9eudZTRkaEPPfSQvPzyy3L22Wc77uX3yZQpU4x25PdzeR4CCCCAAAIIIIBA7gReXvOzLErfkbvCESq1J/Oo3PPbFPlP257iYnf4CKlSDQIIIIAAAuELEAAN34wSfgR0OrsGLFesWOHIUaRIEbnzzjvlyiuvNKa3O27aTnR90LFjx8pXX30lOtVc0/Hjx2XQoEHy73//WypWrGjLnb+HO3eykH3+ivM0BBBAAAEEEEAg9wLLDu2WDzYszH0FESw5e/8WmbBtufSq2TyCtVIVAggggAACCIQjwBT4cLTIG1Dg008/zRH8bNq0qYwePdqYzq5rewZKVapUkUcffVRGjBghaWlpVlbdLOmdd96xzjlAAAEEEEAAAQQQQCCQwOAV30u2uANlydd7L6z6SY6cyszXZ/IwBBBAAAEEEDgtQAD0tAVHeRBYt26dEei0V3HttdfK//t//09q1w5v98vmzZsb0+jt04S+//77HFPk7c/iGAEEEEAAAQQQQAABFZi9b7P8enB7TGHsO3lMPtn8W0y1icYggAACCCCQTAIEQJPpbUexr7pO56lTp6wn1KlTR+677z7RdT9zkzQIesUVVziKTp8+3XHOCQIIIIAAAggggAAC3gLvx8jUd+92fbhpkWS5/1zmyfse5wgggAACCCAQXQHWAI2ub1LUvnr1alm1apWjr4899pgULlzYcS3ck969exvrgZrlvvvuO+nfv3/IC8jrbvKbN2+WTZs2Gd/p6enG1PrSpUtL48aNRYOsxYsXN6vP8X3ixAnZv3+/cV03a7In3aBpx47Ti+pXq1bNftvnsQaIN27caIxk1Q2fihYtKo0aNTI+1atXD9qvPXv2OILMoTwzIyPD2GjKbJBuPhWoz5pP26nPMpN6BVq+IJLO+kxdM7ZChQrm40P63rt3r5w8edLIm5KSIrqcAgkBBBBAAAEEkk9Ad1yfuXdjTHZ8l6dtP3lGp15csW5Mto9GIYAAAgggkMgCBEAT+e3mU99mzJjheFKXLl2kZcuWjmu5OalZs6acc845UqhQIWnbtq1xbJ8W76tODXJOmDBBdNd2DVIGSlrv5ZdfLrfddptUrlw5R1bdzOmBBx7IcV0vPP30047rP/30k+PcfnLw4EF5/fXXZfbs2Y4Apj1PiRIl5NZbb5WbbrpJNIDnK73xxhtif84nn3wi9evX95XVuvbqq6/KrFmzrHN9hm5IFSjNnDlThgwZYmUZNmyYnHfeeda5HkTSWQOo2m/dREtTqVKl5Msvvww5gK7lb7zxRsnM/HNdLf1ZGT58uFEX/wcBBBBAAAEEkkvgf7vWxtTan976X+9cQwDUG4VzBBBAAAEE8kHAd6QlHx7MIxJDwO12i67PaU+XXHKJ/TRPxxo4fOWVV6Rnz55B1xJdtGiREQjTneSDBT+1UTrScfLkydK3b9+orS86b948I8CqQUj7EgHeKEePHpX3339fBgwYILt27fK+bZy3b9/ecf2XX35xnHufaEBx4ULn7qfe595l9HzOnDnWZQ3MtmnTxjrXg0g7ly9fXs4991zrGTpqde7cudZ5sAMN2JrBT83brVu3YEW4jwACCCCAAAIJKqA7rsdy0vVJSQgggAACCCCQ/wKMAM1/84R6oo6S3L17t9Unnb7sHTCzbkbx4Pfffzd2kDenQeujdISntqVq1aqiU791JObOnTtF8+qoQTPpdd15XkdY2pMG/8444wzjkk4JtwdVdY3TYFPJR40alWNjKJ1OrnU2bNhQjh8/LitXrpQ1a9ZY07eXLFliBEzfeustadKkib05cv755xvT5DXorEkDoL169XLksZ/osgQaTLQnfZ4GW7VvvpIGTefPn2/d0pGf9qUMouGsD+vevbsj8KrrvXbo0MFqR6CDqVOnWrd1qn6o5axCHOS7wEurZ8unW5bm+3N5IAIIIIBA4gscPHk8pju56Vi6nPntCElxuYseXG4AAEAASURBVGK6nTQOAQQQQCD+BFqVqSqfnn1t/DU8n1pMADSfoBP1MVu2OP/KrutqFitWLF+7m52dbUwxtwc/O3bsKA8++KDo6ELvpEHBMWPGyPjx461bCxYsMAKRuianmTQAOXLkSOPUO5j5+OOPS4sWLcysOb51jU+dom5P11xzjbGGqXfw8cCBA/L/2bsPMCuq8/Hj7/al9947KEUMqBQFLKAoMdZH0b8lthhLBOMPxZLYojEoimKJGlsMJraIihUBEUVEOiiidBCkSIdl2/++Y2aYuW1vvzP3fs/zbO7MmZkz53xmLrt5PeWOO+4QDX5q0uCsDuHWHqH2If/16tUz5i1dvHixcd7ChQtF5ynVuUSDpa+++iogWwOcep0GU4MlDXDag6bHHnusdVqynPUG/fv3t4LUuq+9ULUeOhw+XNJ5WLU9ZtLex6E8zHP8P3We15UrV/pnB93XuWDN91sD2KTYBPaWHZTtLv8/qLG1jKsQQAABBBCoWmBHWUnVJ3EGAggggAACUQrs5PdLWDECoGF5OFiVgC4+Y0+NGjWy76ZkW3tCasDRTIcddpgxR6e956J5TD81qHbNNdeIBh4/+OAD65Bu2wOg1oEYNrQHpwYMzXTTTTfJr3/9a3PX8amBTe19qsP933nnHeOY9qzV+px88smOc3UYvBkA1WHfGvzTeVKDpWABUD1Ph8GHCoDah79rD1r7ecl01nuddNJJ8uqrrxpN0WC2ThswYsSIYE2z8rSnqD3FMvxd23zjjTfaiwm73bp1a2O+0h9++CHseRxEAAEEEEAAAQQQQAABBBBAAAF3CDAHqDueg2drYR/+ro0I1uMy2Y2zLwyk97rwwgsdw7ZD3f+0005zHPJvi+NgFDs6J6XZm1Mv0yBiqOCnWawGAHXBJbuf9gDV4er2FOk8oHqd9uY0U+/evc1NYw5Pa8dvwx4APfLIIx2rvyfbWReksif/4Kb9mLltH/7eqlWrsL1yzWv4RAABBBBAAAEEEEAAAQQQQACB7BKgB2h2Pe+Et9a/B2idOnUivseiRYtEg4X+yZzjUvPNbfNTF8sZMGCA45LTTz/dCHxt3LjRmI/U3mvRcaLfTosWLRw5Opw8Eem1115zFHP11Vc79kPt6JyiZ511ljXsXucc1V6cgwYNsi7R3oca6DOnHgi1ENL8+fOtVdW1V64GFzVPk/aW3bVrl+h8pPakfqtXr7ay7MPfNTPZzjovaufOneW7774z6qBBZF0QqkmTJlad7BtLly6V9evXW1n+vWWtA2wggAACCCCAAAIIIIAAAggggEBWCxAAzerHH3/jteeiPdkXF7LnB9vWQJx/sDDYefa8mjVrBgRANWimP9Em/7k47XOIRluW/fy1aw+t7qnD7du2bWs/HHZb51C1J3uAz8zXXqCTJk0ydletWiUahG7YsKF52Pi0D3/XhaDs85VqMFmDofbAql5k7/2p+/69TVPhrIFaMwCqdfjoo4+MHr267Z/svT91rtRhw4b5n8I+AggggAACCCCAAAIIIIAAAgggIM7oFSAIRCnQuHFjxxX2ldIdB1ywo3N+anBSA6/z5s1zDFPX6pm9TOOpqgaAdVV5M7Vs2dIxP6mZH+rTvuiRnmP29LSfbw+Aar72AvUfPu4fANXerjrXqBpo0nlAwwVAdR5V/6CqcWEE/xOPs84D+thjj0lZWZlxJx0Gr1Ma+CcNVk+dOtXK1iBvqJ6i1kkhNnSu2KoWWzIv1akFdO5V+/yu5jE+EUAAAQQQQAABBBBAAAEEEEDAnQIEQN35XDxTK/9Fj3RF7XQnDUJqD0ftSag9KPVHA5/R9E6NtQ3+PTa/+eYb+e1vfxtrcY4h3mYh2ktUpxrYuXOnkeUfANVh4/ZeqH369DHO0zk9zaChBoDtSQN79nlL/Ye/2881t5PhrMPy9d7m1Ajaw1UD1jo83p60t6p9tfpYFj8yy9Oeo5H2Hh05cqTV+9a8nk8EEEAAAQQQQAABBBBAAAEEEHC3AAFQdz8f19fOvwfohg0bIq7zb37zmyoXB9Ih8hMnToyozC1bthiriL/11lsBiwcFKyAvL8+aJzPY8VjygvXYjKUc8xr/gKrm5+bmSv/+/eW9994zTps7d67RI1HzNem+mdq0aWP15NRAqBkAXbNmjWPovF5jnwIgXAA02c7am9UMgGo7Pvjgg4AAqH34u05lcNxxx5lN5tMDAn3qNpd95aUeqClVRAABBBDwmsB7m7+XnWWJmdc9GW3P8RV6VrNukv+/v9uScQ/KRAABBBDIToF21etmZ8MjbDUB0AihOC24QJcuXRwHNAC4cuVKad++vSM/2I4G7MygXbDjmqdBykjS4sWL5YYbbjCGJ4c6X8vSRYS6du1qrMyuw7zPPvvsUKfHlO+/kJIG53Rxo1iT/zylZjk6DN4MgGpPUO3tqu3SZF8YSYeGm8nsCWruay9ZHXKuyT7/py6ypIHTYCkVzn379pUGDRqIOZ3Cxx9/LLqQlPmuaHu/+OILq3pDhgyR4uJia58N9wuc0byr6A8JAQQQQACBRAsU5+bL8+sWJrrYhJV3RJ2m8mivUxJWHgUhgAACCCCAQGQCBEAjc+KsEALNmzcXHZK9ZMkS6wztZRhJANS6IM4NXbl8zJgxjuCnzqV5+OGHGz86fLpDhw7GYkQ636OZ7HN1mnnxfmrw0J5GjBgh1157rT0rIdsaJCwsLLTa/OWXXxoBUJ3HVOf3NJM96Nm0aVPRuUDNXrp6ngZA9Rp7QDFUb8pUOWugWld0f/nll41m6CJPOmTfbIu+X+Xl5WYTA+Y/tQ6wgQACCCCAAAJZJ3BcwzauDoAO8tWPhAACCCCAAAKpFyAAmnrzjLujzp9oD4DqkOWLLrpIioqKUtLW++67zzEfpC48pHltq1h93T6HZKIq6h8AXb58eaKKdpSjvUq1d6cZuNRFjy6++GJjvkxzblDtMdm7d2/HdRpEtAdA9aDW0T53a6jh76l01mHwZgBU6zhjxgwrADp9+nTNMpIGdHv27Gnu8okAAggggAACWS5wfKO2Uju/SHa5dBj8b5oxAiLLX1GajwACCCCQJoFfJg1M0825bWYIHH/88ZKffyiWrovwTJgwISWN04V4vv32W+te2ivyqaeeqjL4qRdoz0J7SsTK3rrSes2aNa1idQGfaJLWIdLFmnQYvJk0AK0LGemwdjPp9AT2umi+2YtStzdt2iQbN26UWbNm6a6RdOi5Tg3gn1LtrFMVaA9eM82cOdPoqapB60WLFpnZEs/iR1YhbCCAAAIIIIBAxggU+YbAn+nSIGNv3/D3LjUbZIw1DUEAAQQQQMBLAgRAvfS0XFpXXbn7wgsvdNRu8uTJRq89R2YMO1X10tRgmD1wqb0itT6RJPtiQXq+vRz/63VIfaTJ3gt0z549jvk1qypDh3fr8G8N7F166aXy/PPPh7xEF0Iykw4J1yHt9tXd7fN/mufpSvD2tqiBff7PAQMGOI6b16XK2byffmovUDPpfKDffPON0ePVPvxdrUgIIIAAAggggIBd4Op2fSQvir/d7Ncmc/u69kcls3jKRgABBBBAAIEwAgRAw+BwKHKBSy65xJgL1H7Fn/70J3nhhRfCBhbt59u3Dxw4II899pg899xz9uyAbXOhHPNApMHPn3/+WTRIa0/2VdDt+brtP5z/4MGD/qdY+6effrq1rRuPPPKI+C+O5DjhfzsagH3xxReNPQ2cau9R7QkZKjVs2FC6detmHZ49e7YsXHho0n97b0/zJPXp3LmzuWussK4LKJkp1PD3VDmb9dDPE044weGuvUA/++wz6xQN5jZp0sTaZwMBBBBAAAEEEFCB1tXryPktursKo1ftJnJy4w6uqhOVQQABBBBAIJsECIBm09NOYlt14RoNeNaoUcO6i/bUe+aZZ+S6664zeiaG62FpXrRr1y4jaHrOOefIv//9bzPb+vRfUb1Tp07WMd3QIeAaPA2X9u/fL/fcc4/4L4IU7jr/VcZ1+HiopD0X7cPIdZi5BkHLyspCXWLkP/zww6ILDZmpcePGEmpBIvMc7bFpJp17VQOnmnQqAF2cKliyB0btw8l1xflgvUa1jFQ52+ur79KgQYOsLJ37Uxd7MhPD300JPhFAAAEEEEDAX+CWzgOlXkGxf3Za9nUc0X2HnxB0lE1aKsRNEUAAAQQQyEIBAqBZ+NCT1WRdZVwXyqlfv77jFhpk+8Mf/iAa1Jw4caK8//77RkB07dq1xrBm7dWnC97oaum6aroGTf2Dk7p6+zXXXCMXXHCBo+x27dqJPSj6008/yb333utYFMl+gQZIr7zySpkzZ44929g2g4cBB3wZdevWdWQ/+eST8vbbbxs9LrVnoj24q0PMR48e7fgjV8+96qqrZNWqVY5ydEfnTNU6v/nmm45jl19+uWNuVcfB/+3Y5wG19zLt0aOHo/ek/Vp7ANSef8wxx4g6B0upcva/t30Y/Pr16415TvUcfeaDBw/2P519BBBAAAEEEEDAEKhfWE3+dvhJrtDQoe86/ycJAQQQQAABBNIncGjlmvTVgTtnkICuOq7zVmpAz95bT5uowclXXnkl6tbqYj633nqraBDOP2lPRw2u3n///dYh7Smo82HqHJnNmzc3ApEaZNRA7Lp166zztFy9fvHixUaeLoqki/3Ye7GaJ3ft2tXcND41QPvAAw9YedouXZHcTFq2TgtgH8KvQ80vuugi0aHrOgxdFyjSoJ7m+/cOveKKKyJa4KdDhw7SrFkz+fHHH81bG5+hgpx6UIOj2m7/Yfyhhr/rNaly1nvZkw5z18C6f4/bIUOGiH+vXPt1bCOAAAIIIIAAAqc27SRXtDlSnl4zL20Y/eq3lP/rdGje9rRVhBsjgAACCCCQ5QJ5f/alLDeg+QkW0N55J510ktSqVcvo8Rjpqub+1dBh5NqTUnt+6urqoZIGEzXAuWLFCusUDe798MMPsmDBAmNYvB7T4fWacnNz5eyzzxZ99XWY/hdffGHkV1ZWSsuWLR1zZBoHfP+jbdE5Qu1Dxs1j+qkBR//5OjUYrD9aB3vvUl2tXQOxWr8tW7Y4eo/m5+fLxRdfbARP7eWH29Yh9suWLXOcor1NGzVq5Mgzd/QeWie9zkyaN2bMGCPQaeb5f6bC2f+e2ptW7bS+9nT99dcbgVF7Xiq2X3/9dVmyZInjVho41vlKSQgggAACCCDgPoFBDdvI8j3bZMXe7SmvXLeaDWVSnzOlWl7wETYprxA3RAABBBBAIIsFGAKfxQ8/mU3XwJUOeX/11Vdl/PjxMmzYsJBDsu310BXUNTg5YcIEeeqpp0SHeNtXLbefa9++5ZZbZNy4cUF7iZrnNWjQwKjHSy+9JBpA0+HeRx3lXI3zo48+Mk8P+NSgoq52bx9yb560Zs0ac9PxqQFQXQhK26RzeoZKGoDUxZO0J+lvf/vbUKcFzbcPg9cTNFirPVDDJf8eotrTMljPV/8yUuHsf0//ld61V2+vXr38T2MfAQQQQAABBBAIEMj1/U36eK/hclqTTgHHkpnRvVYj+U/fs6WOS+YhTWZbKRsBBBBAAAEvCOT4er1VeqGi1NH7AtorU4fBa69H7bGpn9obU+cM1R6ebdq0MYZzx9NSnYtTh4Pr0PINGzYYvSt1mHj79u2lTp068RRtXatzbWoPTh0Gr8FGXYncf45Q62S/De0Nq/OArly5UnQxJh2+rgE9HT4fLLDqd7lrdlPhbDZWV6A/88wzrZ6yl112WVQ9ZM1yEvE5cuRImTRpkqOosWPHGlM+ODLZQQABBBBAAAFXCVT4/i/PXctnyFOrkz8c/oRG7eTJXqdKzfxCVxlQGQQQQAABBLJZgDlAs/npp7jtOo+kDjHXn2QlDahqMNE+H2ei71VUVCQdO3aMqVjtZamrs4daoT2mQtNwUSqczWZ9+OGHVvBTewPbF0Yyz+ETAQQQQAABBBAIJ6A9Qf/cdbAcU6+l/HHpR7Lt4P5wp8d0rCg3zzff5wC5uu2vIhrBFNNNuAgBBBBAAAEEYhIgABoTGxchgECqBKZMmWLdSqcsCDeVgHUiGwgggAACCCCAQBCBk5t0FF2Y6P4Vs+TldYultLIiyFnRZw1r3EHu7DpI2lSvG/3FXIEAAggggAACSRcgAJp0Ym6AAAKxCnz++eeyevVq63KdJ5WEAAIIIIAAAgjEI6Dzct532AlyXfuj5O+rv5bXNnwj20qj7xFaLTdfdKX53/l6fB5eO/Rc7/HUlWsRQAABBBBAIDECBEAT40gpCCCQYIF58+bJnXfeaZWqC2QNGDDA2mcDAQQQQAABBBCIR6B5cS1jWPxtnY+TmdvW+n7WyOyfN8iKPdtlT/nBgKJ1iHu76vWkb73mMrB+K9G5Pmswz2eAExkIIIAAAgi4UYAAqBufCnVCIAsF7rjjDmPhKl0Q6/vvvxdd/MieLr30UmPRLHse2wgggAACCCCAQLwC+b455Ic0amv8mGVtPbhPdpWWyP7yUiny9fSs5Qt0NiqqITqXKAkBBBBAAAEEvCdAANR7z4waI5CRArVr15Zp06YFbVv//v3lpJNOCnqMTAQQQAABBBBAINECDQuri/6QEEAAAQQQQCAzBHIzoxm0AgEEvC7QpEmToE3o1auX3H777UGPkYkAAggggAACCCCAAAIIIIAAAghUJUAP0KqEOI4AAikR+NWvfiXHHnusrFixQvbv3y8tWrSQU045RYYPHy6FhYUpqQM3QQABBBBAAAEEEEAAAQQQQACBzBMgAJp5z5QWIeBJgcMOO0z+8pe/eLLuVBoBBBBAAAEEEEAAAQQQQAABBNwrwBB49z4baoYAAggggAACCCCAAAIIIIAAAggggAACcQoQAI0TkMsRQAABBBBAAAEEEEAAAQQQQAABBBBAwL0CBEDd+2yoGQIIIIAAAggggAACCCCAAAIIIIAAAgjEKUAANE5ALkcAAQQQQAABBBBAAAEEEEAAAQQQQAAB9woQAHXvs6FmCCCAAAIIIIAAAggggAACCCCAAAIIIBCnAAHQOAG5HAEEEEAAAQQQQAABBBBAAAEEEEAAAQTcK0AA1L3PhpohgAACCCCAAAIIIIAAAggggAACCCCAQJwCBEDjBORyBBBAAAEEEEAAAQQQQAABBBBAAAEEEHCvAAFQ9z4baoYAAggggAACCCCAAAIIIIAAAggggAACcQoQAI0TkMsRQAABBBBAAAEEEEAAAQQQQAABBBBAwL0CBEDd+2yoGQIIIIAAAggggAACCCCAAAIIIIAAAgjEKUAANE5ALkcAAQQQQAABBBBAAAEEEEAAAQQQQAAB9woQAHXvs6FmCCCAAAIIIIAAAggggAACCCCAAAIIIBCnAAHQOAG5HAEEEEAAAQQQQAABBBBAAAEEEEAAAQTcK0AA1L3PhpohgAACCCCAAAIIIIAAAggggAACCCCAQJwCBEDjBORyBBBAAAEEEEAAAQQQQAABBBBAAAEEEHCvAAFQ9z4baoYAAggggAACCCCAAAIIIIAAAggggAACcQoQAI0TkMsRQAABBBBAAAEEEEAAAQQQQAABBBBAwL0CBEDd+2yoGQIIIIAAAggggAACCCCAAAIIIIAAAgjEKUAANE5ALkcAAQQQQAABBBBAAAEEEEAAAQQQQAAB9woQAHXvs6FmCCCAAAIIIIAAAggggAACCCCAAAIIIBCnAAHQOAG5HAEEEEAAAQQQQAABBBBAAAEEEEAAAQTcK0AA1L3PhpohgAACCCCAAAIIIIAAAggggAACCCCAQJwCBEDjBORyBBBAAAEEEEAAAQQQQAABBBBAAAEEEHCvAAFQ9z4baoYAAggggAACCCCAAAIIIIAAAggggAACcQoQAI0TkMsRQAABBBBAAAEEEEAAAQQQQAABBBBAwL0CBEDd+2yoGQIIIIAAAggggAACCCCAAAIIIIAAAgjEKUAANE5ALkcAAQQQQAABBBBAAAEEEEAAAQQQQAAB9woQAHXvs6FmCCCAAAIIIIAAAggggAACCCCAAAIIIBCnAAHQOAG5HAEEEEAAAQQQQAABBBBAAAEEEEAAAQTcK0AA1L3PhpohgAACCCCAAAIIIIAAAggggAACCCCAQJwCBEDjBORyBBBAAAEEEEAAAQQQQAABBBBAAAEEEHCvQL57q0bNEEAAAQQQQAABBBBAoLKiQipWrZTy5d9Kxfr1UrF5k1Tu3StSckAkv0Byioslp0FDyW3WTPLad5C8bt0kp2Yt4BBAAAEEEEAAAQT+J0AAlFcBAQQQQAABBBBAAAEXCpT7gp6lM6ZL2ZezRfb5Ap4hUqXmr10j5fNFSv93Tl63wyR/wEDJP7qf5BQWhriSbAQQQAABBBBAIDsECIBmx3OmlQgggAACCCCAAAIeESj/foUcfP01KV+2JOYal3+zTPTn4Kv/loLhp0nBiUMlJ58//WMG5UIEEEAAAQQQ8LQAfwV5+vFReQQQQAABBBBAAIFMEajct09KJr0sZZ9OT1iTKnfulIO+MkunfyLFl1wmeV27JaxsCkIAAQQQQAABBLwiwCJIXnlS1BMBBBBAAAEEEEAgYwXKV62SfXfcmtDgpx2r8scfZf/998rBt96Uykpj0Lz9MNsIIIAAAggggEBGC9ADNKMfL41DAAEEEEAAAQQQcLtA2YL5cmDiBJGDB5NbVV/g8+Abr0nFxg1SdMXvGBKfXG1KRwABBBBAAAEXCRAAddHDoCruFli4cKHMmjXLUckLL7xQateu7chL58727dvllVdesarQvXt3Oe6446x9NhBAAAEEEEDAXQJl8+bKgUcfEfGt9J6qVDb7C6k8cECKrx8lOXl5qbot90EAAQQQQAABBNImQAA0bfTc2GsCzz33nHz99deOatevX1/OO+88R146d3b65vmaNGmSVYUzzjiDAKilwQYCCCCAAALuEij/brkcePyxlAY/TYFyX6/TkueekeLLrzKz+EQAAQQQQAABBDJWgDlAM/bR0rBECmzcuDEg+KnlT548mXm0EglNWQgggAACCGSJQMWunXLgMd+w99LStLW4bOanUvrJx2m7PzdGAAEEEEAAAQRSJUAANFXS3MfTAu+9955V/8LCQmt73bp1QQOj1glsIIAAAggggAACQQRKnn1aKnfuCHIktVkl//qnVGz6MbU35W4IIIAAAggggECKBQiAphic23lPoMI3J9eUKVOsiuuw8mrVqln7b775prWd7o3i4mLReT/Nn+bNm6e7StwfAQQQQAABBPwEyr6eKzoE3RXJ1wO15IXnXVEVKoEAAggggAACCCRLgDlAkyVLuRkjoPN+/vTTT1Z7dFGhzZs3y/Tp0408XRhp69at0rBhQ+ucdG00a9ZMnnjiiXTdnvsigAACCCCAQBUClb7/sFry70PzdVdxekoOly9bImWLF0l+j54puR83QQABBBBAAAEEUi1AD9BUi3M/zwm8++67Vp1r1qwphx9+uAwaNMjKKy8vl7ffftvaZwMBBBBAAAEEEAglUPbVHKncvCnU4bTlH5z837TdmxsjgAACCCCAAALJFiAAmmxhyve0wK5du+TTTz+12tCnTx/Jy8uTgQMHOobBawBUA6EkBBBAAAEEEEAgnEDZtKnhDqftWIVvRfqKDevTdn9ujAACCCCAAAIIJFOAIfDJ1KVszwt89NFHvsVZD63Oeswxxxht0rk2tRfo+++/b+xv2bJFdCi8Do8PlyorK2XTJmevD51PtG7duuEuM47pXKQ69N6e6tSpI9WrV7eyysrKROtipho1akjt2rXN3bCf27dvlzVr1siqVatEF3eqVauWdOzYUTp06CA6l2hOTk7Y682D6qVTApipUaNGkp//yz812v758+fLN998Y7RFF5Rq3Lix9OrVS7p06WJeEvC5fPly4zptf0FBgbRp08b40d64kdYroFAyEEAAAQQQSLFAxbZtUv7NshTfNfLblc76TIrOPS/yCzgTAQQQQAABBBDwiAABUI88KKqZHgH78HcNtB199NFWRYYNG2YFQDXzrbfeqjIAqmU8/fTTooFVM2mA8p///KfUq1fPzAr6+dJLL8kzzzxjHWvQoIE8//zzjgCoBi4vuugi6xxdsGn06NHWfrANDXpOmDBB5syZE+ywkadB2vPOO88o2wxmhjpZy7v00kutwy+++KK0a9dO5s2bJw888IBs2LDBOmbf0GDmrbfeKq1atbKyNfD5t7/9TfQzWOrRo4eMGTPGCIYGO04eAggggAACbhIoX7zQTdUJqEv5ogUiBEADXMhAAAEEEEAAAe8LEAD1/jOkBUkS+O6772TFihVW6b/61a8cCx0deeSRRu9Fc4EkDSBqcK9FixbWNcE2NCC5cOFCa2ElHWb/0EMPyd133x3sdCNv6dKl8txzz1nHNZB6xx13RNRz1LrIb2Pfvn3y7LPPyuuvv17l8P39+/cb99derrfddpsR0PQrLuyuXqf1PXjwYMjztI2///3v5dFHH5W2bdsawWUNmNp74PpfvHjxYrnkkkvkySefDNuD1P869sMLVPqmc3DN6sThq8pRBBBAwFMC2sPSzanC9x9SSz+bKTm+//BJQgABBBBInECu7/8j5jZtlrgCKQkBBKIWIAAaNRkXZIuAvfentnn48OGOpufm5srJJ58s2sPRTNoLVIN44ZIupHT77bfL9ddfLzokXJOuKD9jxgzH4kpmGRqovOuuuxxBSu3lqQHYWJMGFceOHSu6wr096XB6HYreuXNn2blzp3z77bfGsHiznhoUvuyyy4xg7YABA+yXhtyeOnWq0cPVnCO1adOm0r59e6PtP/zwgxUI1gJ27NhhBEDPP/98uf/++60261B/HYqv5osWLXIEUnXY/yOPPCKPP/54yDpwIEqBgyVyYML4KC/idAQQQACBTBAoefrJTGgGbUAAAQRcJVB41rlS+OvTXVUnKoNAtgkQAM22J057IxLQnor2YeoaGAw2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+edbeXv27JF777037tXHW7VqZZWpG9pjNZrkv+p7LHOIRnM/zkUAAQQQQCDTBApOOMmVTcrr2Uty4/wPra5sGJVCAAEEEEAAAQR8AgRAeQ0Q8An49/48/vjjpaCgIGobnQ/Tf6j6W2+9FTJwuWbNGpk4caJ1Hx1SrivB670vvfRSsQcsdYX6f//739a5sWzocHXttWkmLVODv5Em//sPHEhPkUjtOA8BBBBAAAEV0GHmua3buA6jcMTprqsTFUIAAQQQQAABBBIlQAA0UZKU41mB0tJS0aHr9jRs2DD7blTbp512muP89evXy9dff+3I052ysjJjuLz2EjXTBRdcIF26dDF2NZh6yy23OIaY//3vf48qYGmWa/8844wz7LuiZUaSVq9eHeA0ePDgSC7lHAQQQAABBBCwCRSef4FtL/2beX36Sl7nX/7+SH9tqAECCCCAAAIIIJB4AQKgiTelRI8JfPbZZ7Jr1y6r1i1atIho4SLrAr8NDWB26NDBkfvmm2869nXn2WefdQy7b9eunVxyySWO83r06CHnnHOOlafB2rvuukt0Ls5Y04UXXihNmjSxLv/iiy/k9ddft/aDbegiTffff7+jJ2ufPn0cPVSDXUceAggggAACCAQK5B92uLhmvs3ialI08v8FVpIcBBBAAAEEEEAggwQIgGbQw6QpsQn4D38fOnRobAXZrjr11FNteyKzZs2SrVu3WnkLFy6Ul19+2drXoe+33npr0GH3V155pWhQ1kyrVq2Sp556ytyN+lN7ll533XWO6x5++GH585//7AgE6wmVvlVq586dK7/97W9l6dKl1jU6R6rWl4QAAggggAACsQkUXXSx5DQ+9B8kYysl/quKfnu55DZoEH9BlIAAAggggAACCLhYgACoix8OVUu+wE8//SRz5sxx3Cie4e9mQRpEtc8hWl5eLpMnTzYO7927V+655x5Hb0r70HezDPNTA5Y333yzuWt8vvrqq0Zg0pEZxY4u1nTyySc7rpg6dapo4HbkyJFGMHTUqFEyfPhw0c9t27ZZ5xYXF8sdd9whDRs2tPLYQAABBBBAAIHoBHKqVZfi628QqVYtugsTeHbB8NOk4OjoF31MYBUoCgEEEEAAAQQQSIkAAdCUMHMTtwq89957jkBk9+7dHb0tY623LjTkv0DQO++8IxoIHT9+vGzatMkqOtjQd+vg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fITs27evmmSSSdKiFLr3ww8/qM8//zz8++KLLxQ+bM4444zh3+yzz57JznehjI1ITWpbo9i1nPpqnzp/Q2sBWXImZczLfI2pZZS9E5y++rQuc53jzb/+9S/1/vvvh6vlYFoM4/gMM8ygi9Jjj3Uy9gGxJ9cvz7hEAaiP3sc8SYAEaiWw9957q5NPPln9+9//buWLSfLdd9+t9tlnn5affXLXXXepa665JuINQeoiiywS+t18880Kf9phsmC70047TV199dUR7xVXXFHNN998heMOGTIkkp7rArZOr7vuurCOth1UhMcLLTZn2njjjdVuu+3mNBXgSlf7Ie2RI0fqS7XSSiupQw89NLx+8cUXFcr42GOPte5D8LrBBhuoI488Uq222mot/6STKst/2223qRtvvLGV9VJLLRUKw7XHO++8o0aMGKGuvfbacAKo/fVx3nnnVYMHD1Z77rmnWnrppbV34eMbb7yhLr30UnXrrbeGgk9MsrWD4ABCPvQ59OOtttqqI2FClVx1mas43nfffeHGZvfcc4+aOHFiJAuYudhss83U9ttvr/DBowxXNqfvvvsufM502Z5//nl92jr+4he/UJNOOmnrGhuuwV7xSSedpF577bWWP04uvvjizC8j6M/YGM506E/2RyHzvn2OMQzjpXY//vGPw2fELK++Zx/LZmmn77quOs9uG0NcDEw/u7w/+clP1BFHHNEKgv6FPoXfuy+//LLljxO08YYbbqgOPPBAtd566znHHwg9MV5i80GM/6bDh4pFF11U7bDDDurggw+O9HEzXJZzfBy66aab1KOPPqqeeOKJWFl1Gvggsswyy4SbGMIe+LLLLqtvtT3arOr4fcAH2QceeCBSNtgyh0A3jzvkkEMUPg5pN88886gzzjhDX4bHTuYt7eYedbRPpDL/vSjrN7STcdosV53taeZb5bys6jG1yrKbjPKeV92nfYw3SQwgQIKJsBEy/8XmPRCCmm7llVdWu+66aziXwRygKa5OxmWNr+3eP032ddbPzDdLGcsaU818zfPC45J87aUjARIgAa8EZJIeyIAW+Xv99ddLLZO8wEXSR35bbLFFah6nn356LM5TTz3ViiPCidh9ux6uaxHWBJ3EbRXAcSLCzrBernyT/OQlK0BdRePHkaLbS16eI3XffPPNw4BPP/10MN1000Xu2fnecsst7kTF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ItV44IEHItfmhX1vnXXWUSuttFJEqAzB8GOPPWZGa53by9+h8bHqqqu27psnPlj6yNOss31e9Rhi59fpNUyfZHX2WId40M7K42QzrTzBOw4rG6epK664Qn344YeRtMS2deQ6y0XT2jZLnXyHyds+df6G+mZTZv555mXdNqbmKXuZzIqmlbdPJ+VT9Xjjauci81FojOYxeZVUXx/+VTP2USczz55UP1d/7fRdlxqgZm/hOQmQQI8m0NMEoPbydzQelr2+8MILhdoRmmC2wzLFfv362d7O67wTqG4qfx6bqbrytm1KW8NTh8Px008/NS/D86RlpbGAOT26iWvOokeC29qKkZspF65lXLBpiyW/pmsiJ2i44hnXDjY+YXrBNu/x1ltvRbST8SKp+9uyyy6rYBtVOyyDd2l22loisLFqa9HqNHyw9JGnrq/rWPUY4sqzE79OP/7lFYAm9Z1O6oC4skmako2YFPr822+/rUaPHh2ahoAwoizXtLYtq95lpFNW+9T5G1pGvbsljTzzsm4bU/OUvU7eZfXppDJXPd7YdpBhXx4a/UUc5ltN3EuhasZFWJYZpyfVr4pxiQLQMnsb0yIBEuhqArAhZbtOXwLt9Oq8dgkss25qkbWcrjyS4uadrLrS9lV+l4ZTUj2L+H/yySexaFogFbvRoUc3cS1aFWwMhaWrRZxLAOp69pvICUJI0xYibHzCnpfsqB1BZWt/mpsf4dwWgEYiywV4yc7dEW+XkFQH8MHSR566vq5j1WOIK89O/PDS24nrNH6RvCHcxOZfMN0AYSc2nrM1PIuk2y5O09q2XX2qul9l+9T5G1oVHx/p5pmXdduYmqfsVbGtsk8nlbnK8QammrAqxnSuOZN5P+28b9++4XicFqYb71XJuBvq25PqV8W4RAFoN/RSloEESKByAlj25loGu8QSS1Sed1UZuH4Uys4rTx55NfbypF20XlnzyGuLM2957Jc32J7FkuIqXNY6d5J31XnMN998qcv808rumsy7yuvyS0u3yL2y88AzBk3WV199tVUc2AG1BaC2/U8sf9cOAtDTTjtNX4YbqaF/mgLn++67L2KzFtohphC1Ffm/J2XX004f13Ye9rUrTqd+efKoegzptC52fNsmp32/m64h9DzjjDPUvffe66VYTWvbuiHV0T51/obWza/K/PLMy/KMd0XLnCePPGUv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kAAJkEA6AQpA0/nwLgmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQIMJUADa4MZj0UmABEiABEiABEiABEiABEiABEiABEiABEiABNIJUACazod3SYAESIAESIAESIAESIAESIAESIAESIAESIAEGkyAAtAGNx6LTgIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkE6AAtB0PrxLAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiTQYAIUgDa48Vh0EiABEiABEiABEiABEiABEiABEiABEiABEiCBdAIUgKbz4V0SIAESIAESIAESIAESIAESIAESIAESIAESIIEGE6AAtMGNx6KTAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmkE6AANJ0P75IACZAACZAACZAACZAACZAACZAACZAACZAACTSYAAWgDW48Fp0ESIAESIAESIAESIAESIAESIAESIAESIAESCCdAAWg6Xx4lwRIgARIgARIgARIgARIgARIgARIgARIgARIoMEEKABtcOOx6CRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAukEKABN58O7JEACJEACJEACJEACJEACJEACJEACJEACJEACDSZAAWiDG49FJwESIAESIAESIAESIAESIAESIAESIAESIAESSCdAAWg6H94lARIgARIgARIgARIgARIgARIgARIgARIgARJoMAEKQBvceCw6CZAACZAACZAACZAACZAACZAACZAACZAACZBAOoHJ0m/zLgmQAAmQQG8gMHr0aPXPf/4zV1UnnXRSNeWUU6qpppoq/JtuuukU/Mp0f/3rX9VHH30USbJfv35q6qmnjvjxggRIgARIwE3g7bffVhMnTmzdxJi90EILta55QgJVEui2/rfddtupUaNGhVXeaqut1PHHHx+pfhAE6rXXXov4mRezzDKL6tOnj+lVyvnnn3+uxo8f70yrb9++aqaZZnLeoycJFCXw7bffqlVXXVX98MMPYRIDBgxQ5513XtHkvMTDs3z//fer999/X33yySfq008/VajXrLPOqmafffbwD+8NG264oVpggQU6LmM3vi+dffbZavjw4WHdFlxwQXXbbbeV/j7WMbguSmASGeSDLioPi0ICJEACJOCBwLzzzqvGjh3bUc4//vGP1fzzz68WXnhhtdpqqym8ZHQ62TjjjDPUEUccESnXU089FU7YIp68IAESIIGcBL744gs144wzqh/9qGcviFpkkUXUX/7ylxad5ZZbTr300kuta56QQJUEuqn/XX755WqPPfYIq4sPuG+99ZbC/Md03333nZpmmmlMr8j5iiuuqJ5//vmIXxkXO+64o7r22mudSV122WVq9913d96jJwkUJTBy5Ei16aabtqJDkHbIIYe0rrv1ZNy4ceq0005TKP8HH3yQuZiLL7642mSTTdShhx6q5phjjszxzIDd+L702Wefhe9eX331VVjUM888Uw0ZMsQsNs8NAj17xmdUlKckQAIkQALVEoAGKV6y77nnHjVs2DCFr5CrrLJKOEGpNmemTgIkQALZCeDbPwQhiy66aEQzMnsKDEkCJNA0AtCuNIUCEILYws8sdfrTn/4UaptlCZs1zN///nfOlbLCYrjSCNx3332RtH72s59FrrvtAs/JCSecEP52Q1M1j/ATdXnzzTfV6aefrvBRBsLevCvfyuJR9vvSbLPNpoYOHdoq3rHHHqvefffd1jVPogQoAI3y4BUJkAAJkECJBJ599tnw6zK0QfGFko4ESIAEfBKA5iOW/EELDCY26EiABHoHgf32209pDak555xTHX300YUrftNNNxWO64p49913q2+++cZ1i34kUBkBLB3XDh8DoCHZrQ7PLn67YbICWtqduK+//jr8GLLyyiurCRMmdJJUaXE7fV86+OCDW6vuICjGHIcLvd3NQwGomwt9SYAESIAESiRwww03KCy7/L//+78SU2VSJEACJJCdwLnnnquwfBUvGnQkQAK9h8Af/vAHdccdd7QqfOKJJ6ppp522dZ33pGwBKOZIdCRQJwGs2HrvvfdaWW6wwQat8247+f7770Nlij//+c+JRZt++ulDAe66666rtt12W7X22muHK9Emn3zyxDgvv/yyGjx4sILAsFtc0felKaaYQv3mN79pVePRRx9Vl156aeuaJ/8jwE2Q/seCZyRAAiRAAgaB3/72t2qeeeYxfKKnWMIBQ+PQWsAfhJvPPPOMgoFw11fHDz/8UK2//voKNjxhnJyOBEiABOokgJcdvdlDnfkyLxIgAX8EsLnQgQce2CoANgDbddddW9dFTrAMfsyYMS2NqyJp6DiYP0EDlI4E6iRgL3/vZgEozFU89thjMTyw4b3vvvuGz/dcc80Vuw8P/OZj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JEACJEACJEACJNAwAlkEoA2rEotbMgFZ3qoGDBjQSlVWeqixY8cqMZHQ8uMJCZAACfQ0Al9//XUo9BUTOK2qiQ1iJStpWte9+eRHvbnyrDsJkAAJkAAJkAAJkAAJkAAJkEDPIrDWWmspsendqpTYxlRXXXVV65onJEACJNATCVx//fXKFH6KrWsKP42GpgDUgMFTEiABEiABEiABEiABEiABEiCB5hMQu+SRSlx++eWRa16QAAmQQE8jYI9ztrmYnlbfvPWhADQvMYYnARIgARIgARIgARIgARIgARLoagKwNb3iiiu2yvj2228r2QStdc0TEiABEuhJBGCPXjara1UJNq8333zz1jVPlKIAlL2ABEiABEiABEiABEiABEiABEigxxGwtZ9OPfXUHldHVogESIAEQMAe34YOHaommWQSwjEIUABqwOApCZAACZAACZAACZAACZAACZBAzyAwePBgtdFGG7Uqc99996lHHnmkdc0TEiABEugJBF588UV14403tqoCO8jbbbdd65on/yFAASh7AgmQAAmQAAmQAAmQAAmQAAmQQI8kcOmll6qZZpqpVbcjjjhCBUHQuuYJCZAACTSdgDmuTTPNNGr48OHU/nQ0KgWgDij0IgESIAESIAESIAESIAESIAESaD6BPn36qHPPPbdVEWhK3XDDDa1rnpAACZBAkwnce++9Ec32008/XS244IJNrlJlZacAtDK0TJgESIAESIAESIAESIAESIAESMA3gR133FFtuummrWIMGzZM/eMf/2hd84QESIAEmkjghx9+UEceeWSr6AMHDlT77rtv65onUQKTRS95RQIkQAIkQAIkQAIkQAIkQALdS2C55ZZTe+21V6SAs846a+SaFyRgE7j44ovVk08+qT7//HM1ZswYdcEFF6hf/vKXdjBekwAJkEBjCFx11VVq1KhRYXmnm246dfnll3Ppe0rrTSL2T2gAJQUQb5EACZAACZAACZAACZAACZAACTSfwHvvvac++eSTsCIQFiy55JLNrxRrQAIk0GsJjB49Wk2YMCGsPz4ELrzwwr2WRZaKUwCahRLDkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJNJIAbYA2stlYaBIgARIgARIgARIgARIgARIgARIgARIgARIggSwEKADNQolhSIAESIAESIAESIAESIAESIAESIAESIAESIAEGkmAAtBGNhsLTQIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkIUABaBZKDEMCZAACZAACZAACZAACZAACZAACZAACZAACZBAIwlQANrIZmOhSYAESIAESIAESIAESIAESIAESIAESIAESIAEshCgADQLJYYhARIgARIgARIgARIgARIgARIgARIgARIgARJoJAEKQBvZbCw0CZAACZAACZAACZAACZAACZAACZAACZAACZBAFgIUgGahxDAkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAKNJEABaCObjYUmARIgARIgARIgARIgARIgARIgARIgARIgARLIQoAC0CyUGIYESIAESIAESIAESIAESIAESIAESIAESIAESKCRBCgAbWSzsdAkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAJZCFAAmoUSw5AACZAACZAACZAACZAACZAACZAACZAACZAACTSSAAWgjWw2FpoESIAESIAESIAESIAESIAESIAESIAESIAESCALAQpAs1BiGBIgARIgARIgARIgARIgARIgARIgARIgARIggUYSoAC0kc3GQpMACZAACZAACZAACZAACZAACZAACZAACZAACWQhQAFoFkoMQwIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIk0EgCFIA2stlYaBIgARIgARIgARIgARIgARIgARIgARIgARIggSwEKADNQolhSIAESIAESIAESIAESIAESIAESIAESIAESIAEGkmAAtBGNhsLTQIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkIUABaBZKDEMCZAACZAACZAACZAACZAACZAACZAACZAACZBAIwlQANrIZmOhSYAESIAESIAESIAESIAESIAESIAESIAESIAEshCgADQLJYYhARIgARIgARIgARIgARIgARIgARIgARIgARJoJAEKQBvZbCw0CZAACZAACZAACZAACZAACZAACZAACZAACZBAFgIUgGahxDAkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAKNJPD/6m6jJZRAPfMAAAAASUVORK5CYII=&quot; width=&quot;672&quot; /&gt;&lt;/p&gt;
&lt;!-- ## Glide --&gt;
&lt;!-- ```{r} --&gt;
&lt;!-- # so below, speed.ad - speed.inf means the manufacturers speed minus user speed on infinite. So negative values mean a company's disc has a lower speed rating than expected and a positive value means the speed is higher than user's experience.  --&gt;
&lt;!-- df_mf_sumD %&gt;%  --&gt;
&lt;!--   ggplot(., aes(x = reorder(manufacturer.inf, glide_meanD), y = glide_meanD, ymin = glide_meanD - glide_sd, ymax = glide_meanD + glide_sd, fill = manufacturer.inf)) + --&gt;
&lt;!--   geom_pointrange() + --&gt;
&lt;!--   coord_flip() --&gt;
&lt;!-- ``` --&gt;
&lt;!-- ## Turn --&gt;
&lt;!-- ```{r} --&gt;
&lt;!-- # so below, turn.ad - turn.inf means the manufacturers turn minus user turn on infinite. So negative values mean a company's disc has a lower turn rating than expected and a positive value means the turn is higher than user's experience.  --&gt;
&lt;!-- df_mf_sumD %&gt;%  --&gt;
&lt;!--   ggplot(., aes(x = reorder(manufacturer.inf, turn_meanD), y = turn_meanD, ymin = turn_meanD - turn_sd, ymax = turn_meanD + turn_sd, fill = manufacturer.inf)) + --&gt;
&lt;!--   geom_pointrange() + --&gt;
&lt;!--   coord_flip() --&gt;
&lt;!-- ``` --&gt;
&lt;!-- ## Fade --&gt;
&lt;!-- ```{r} --&gt;
&lt;!-- # so below, speed.ad - speed.inf means the manufacturers speed minus user speed on infinite. So negative values mean a company's disc has a lower speed rating than expected and a positive value means the speed is higher than user's experience.  --&gt;
&lt;!-- df_mf_sumD %&gt;%  --&gt;
&lt;!--   ggplot(., aes(x = reorder(manufacturer.inf, fade_meanD), y = fade_meanD, ymin = fade_meanD - fade_sd, ymax = fade_meanD + fade_sd, fill = manufacturer.inf)) + --&gt;
&lt;!--   geom_pointrange() + --&gt;
&lt;!--   coord_flip() --&gt;
&lt;!-- ``` --&gt;
&lt;p&gt;Lastly, here’s a couple tables of discs that are most true (divergence = 0) and some that are least true (divergence score &amp;gt; 2) from their manufacturer flight numbers.&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&quot;what-discs-are-most-true-to-their-numbers&quot; class=&quot;section level1&quot;&gt;
&lt;h1&gt;What discs are most true to their numbers?&lt;/h1&gt;
&lt;div style=&quot;border: 1px solid #ddd; padding: 0px; overflow-y: scroll; height:800px; overflow-x: scroll; width:100%; &quot;&gt;
&lt;table class=&quot;table&quot; style=&quot;width: auto !important; margin-left: auto; margin-right: auto;&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:left;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Speed
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Glide
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Turn
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Fade
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Discmania+dd3&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Discmania Dd3&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
12
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Discmania+md1&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Discmania Md1&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Discmania+link&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Discmania Link&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Discraft+wildcat&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Discraft Wildcat&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
11
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-2.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Discraft+talon&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Discraft Talon&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Dynamic+Discs+witness&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Dynamic Discs Witness&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-3.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Dynamic+Discs+guard&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Dynamic Discs Guard&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.5
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Gateway+rage&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Gateway Rage&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
10
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-0.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.5
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Gateway+hybrid&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Gateway Hybrid&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-0.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+destroyer&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Destroyer&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
12
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+krait&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Krait&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
11
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+max&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Max&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
11
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+cheetah&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Cheetah&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-2.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+gargoyle&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Gargoyle&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+python&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Python&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+raven&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Raven&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-2.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+teebird&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Teebird&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+viking&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Viking&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+barracuda&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Barracuda&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-2.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+bulldog&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Bulldog&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+griffin&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Griffin&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+lycan&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Lycan&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+scorpion&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Scorpion&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+aviar&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Aviar&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+birdie&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Birdie&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+classic+roc&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Classic Roc&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+coupe&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Coupe&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+nova&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Nova&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+pig&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Pig&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Innova+stud&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Innova Stud&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Latitude+64+primitus&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Latitude 64 Primitus&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Latitude+64+medius&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Latitude 64 Medius&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Latitude+64+macana&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Latitude 64 Macana&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Prodigy+f3&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Prodigy F3&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Prodigy+pa1&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Prodigy Pa1&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;what-individual-discs-are-the-most-unlike-their-numbers&quot; class=&quot;section level1&quot;&gt;
&lt;h1&gt;What individual discs are the most unlike their numbers?&lt;/h1&gt;
&lt;div style=&quot;border: 1px solid #ddd; padding: 0px; overflow-y: scroll; height:800px; overflow-x: scroll; width:100%; &quot;&gt;
&lt;table class=&quot;table&quot; style=&quot;width: auto !important; margin-left: auto; margin-right: auto;&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:left;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Speed
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Glide
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Turn
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Fade
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Discmania+enigma&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Discmania Enigma&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
13
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Discmania+md5&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Discmania Md5&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Discmania+p3&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Discmania P3&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Discraft+flick&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Discraft Flick&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Dynamic+Discs+escape&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Dynamic Discs Escape&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Gateway+apache&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Gateway Apache&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Gateway+diablo&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Gateway Diablo&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Gateway+illusion&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Gateway Illusion&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
12
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Gateway+speed+demon&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Gateway Speed Demon&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
12
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Gateway+blaze&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Gateway Blaze&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Gateway+voodoo&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Gateway Voodoo&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Latitude+64+saint+pro&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Latitude 64 Saint Pro&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-0.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=Latitude+64+trident&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;Latitude 64 Trident&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-0.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=MVP+tesla&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;MVP Tesla&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
&lt;a href=&quot;https://www.amazon.com/s/ref=as_li_ss_tl?k=MVP+entropy&amp;amp;i=sporting&amp;amp;ref=nb_sb_noss_2&amp;amp;linkCode=ll2&amp;amp;tag=johnmmola-20&amp;amp;linkId=36898e3536564417d118fbf011320809&amp;amp;language=en_US&quot;&gt;MVP Entropy&lt;/a&gt;
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;There ya have it. Does this match what you expect? Are the numbers simply just made up? I think this analysis really just scratches the surface and shows what could be possible with better data. We could compare plastics, runs, retooling of molds, different user ratings, etc. I’d reckon a big part of why Innova scores so well is because it’s sort of the “Standard”. All 12, 5, -1, 3 drivers are judged against the &lt;a href=&quot;https://amzn.to/3ezunur&quot;&gt;Innova Destroyers&lt;/a&gt; as the standard. So anything that diverges from your expectation as a “Destroyer Replacement” gets funky numbers (even though Destroyers are known for their big differences between runs…).&lt;/p&gt;
&lt;p&gt;Anyway - I hope y’all found this enjoyable. :)&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;If you like these analyses please consider supporting my project by purchasing discs through the Amazon or Infinite Discs links provided above. Head over to my &lt;a href=&quot;/yadd.html&quot;&gt;disc database&lt;/a&gt; to explore all of Infinite Disc’s stock in a simple table.&lt;/p&gt;
&lt;/div&gt;




&lt;/div&gt;

&lt;script&gt;

// add bootstrap table styles to pandoc tables
function bootstrapStylePandocTables() {
  $('tr.odd').parent('tbody').parent('table').addClass('table table-condensed');
}
$(document).ready(function () {
  bootstrapStylePandocTables();
});


&lt;/script&gt;

&lt;!-- tabsets --&gt;

&lt;script&gt;
$(document).ready(function () {
  window.buildTabsets(&quot;TOC&quot;);
});

$(document).ready(function () {
  $('.tabset-dropdown &gt; .nav-tabs &gt; li').click(function () {
    $(this).parent().toggleClass('nav-tabs-open')
  });
});
&lt;/script&gt;

&lt;!-- code folding --&gt;


&lt;!-- dynamically load mathjax for compatibility with self-contained --&gt;
&lt;script&gt;
  (function () {
    var script = document.createElement(&quot;script&quot;);
    script.type = &quot;text/javascript&quot;;
    script.src  = &quot;https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML&quot;;
    document.getElementsByTagName(&quot;head&quot;)[0].appendChild(script);
  })();
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><author><name>J. Mola</name></author><category term="discs" /><category term="InfiniteDiscs" /><category term="flight numbers" /><summary type="html"></summary></entry><entry><title type="html">Who will win and who will outperform at the Las Vegas Challenge?</title><link href="https://discgolfr.github.io/2021/02/24/lvc-2021.html" rel="alternate" type="text/html" title="Who will win and who will outperform at the Las Vegas Challenge?" /><published>2021-02-24T00:00:00+00:00</published><updated>2021-02-24T00:00:00+00:00</updated><id>https://discgolfr.github.io/2021/02/24/lvc-2021</id><content type="html" xml:base="https://discgolfr.github.io/2021/02/24/lvc-2021.html">&lt;!DOCTYPE html&gt;

&lt;html&gt;

&lt;head&gt;

&lt;meta charset=&quot;utf-8&quot; /&gt;
&lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=EDGE&quot; /&gt;

&lt;script src=&quot;data:application/javascript;base64,Ly8gUGFuZG9jIDIuOSBhZGRzIGF0dHJpYnV0ZXMgb24gYm90aCBoZWFkZXIgYW5kIGRpdi4gV2UgcmVtb3ZlIHRoZSBmb3JtZXIgKHRvCi8vIGJlIGNvbXBhdGlibGUgd2l0aCB0aGUgYmVoYXZpb3Igb2YgUGFuZG9jIDwgMi44KS4KZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uKGUpIHsKICB2YXIgaHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJkaXYuc2VjdGlvbltjbGFzcyo9J2xldmVsJ10gPiA6Zmlyc3QtY2hpbGQiKTsKICB2YXIgaSwgaCwgYTsKICBmb3IgKGkgPSAwOyBpIDwgaHMubGVuZ3RoOyBpKyspIHsKICAgIGggPSBoc1tpXTsKICAgIGlmICghL15oWzEtNl0kL2kudGVzdChoLnRhZ05hbWUpKSBjb250aW51ZTsgIC8vIGl0IHNob3VsZCBiZSBhIGhlYWRlciBoMS1oNgogICAgYSA9IGguYXR0cmlidXRlczsKICAgIHdoaWxlIChhLmxlbmd0aCA+IDApIGgucmVtb3ZlQXR0cmlidXRlKGFbMF0ubmFtZSk7CiAgfQp9KTsK&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,LyohIGpRdWVyeSB2MS4xMS4zIHwgKGMpIDIwMDUsIDIwMTUgalF1ZXJ5IEZvdW5kYXRpb24sIEluYy4gfCBqcXVlcnkub3JnL2xpY2Vuc2UgKi8KIWZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YS5kb2N1bWVudD9iKGEsITApOmZ1bmN0aW9uKGEpe2lmKCFhLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiBiKGEpfTpiKGEpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9Yy5zbGljZSxlPWMuY29uY2F0LGY9Yy5wdXNoLGc9Yy5pbmRleE9mLGg9e30saT1oLnRvU3RyaW5nLGo9aC5oYXNPd25Qcm9wZXJ0eSxrPXt9LGw9IjEuMTEuMyIsbT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgbS5mbi5pbml0KGEsYil9LG49L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLG89L14tbXMtLyxwPS8tKFtcZGEtel0pL2dpLHE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTttLmZuPW0ucHJvdG90eXBlPXtqcXVlcnk6bCxjb25zdHJ1Y3RvcjptLHNlbGVjdG9yOiIiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZC5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/MD5hP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXTpkLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1tLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYi5jb250ZXh0PXRoaXMuY29udGV4dCxifSxlYWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZWFjaCh0aGlzLGEsYil9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobS5tYXAodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhkLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubGVuZ3RoLGM9K2ErKDA+YT9iOjApO3JldHVybiB0aGlzLnB1c2hTdGFjayhjPj0wJiZiPmM/W3RoaXNbY11dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpmLHNvcnQ6Yy5zb3J0LHNwbGljZTpjLnNwbGljZX0sbS5leHRlbmQ9bS5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz1hcmd1bWVudHNbMF18fHt9LGg9MSxpPWFyZ3VtZW50cy5sZW5ndGgsaj0hMTtmb3IoImJvb2xlYW4iPT10eXBlb2YgZyYmKGo9ZyxnPWFyZ3VtZW50c1toXXx8e30saCsrKSwib2JqZWN0Ij09dHlwZW9mIGd8fG0uaXNGdW5jdGlvbihnKXx8KGc9e30pLGg9PT1pJiYoZz10aGlzLGgtLSk7aT5oO2grKylpZihudWxsIT0oZT1hcmd1bWVudHNbaF0pKWZvcihkIGluIGUpYT1nW2RdLGM9ZVtkXSxnIT09YyYmKGomJmMmJihtLmlzUGxhaW5PYmplY3QoYyl8fChiPW0uaXNBcnJheShjKSkpPyhiPyhiPSExLGY9YSYmbS5pc0FycmF5KGEpP2E6W10pOmY9YSYmbS5pc1BsYWluT2JqZWN0KGEpP2E6e30sZ1tkXT1tLmV4dGVuZChqLGYsYykpOnZvaWQgMCE9PWMmJihnW2RdPWMpKTtyZXR1cm4gZ30sbS5leHRlbmQoe2V4cGFuZG86ImpRdWVyeSIrKGwrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoYSl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzRnVuY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuImZ1bmN0aW9uIj09PW0udHlwZShhKX0saXNBcnJheTpBcnJheS5pc0FycmF5fHxmdW5jdGlvbihhKXtyZXR1cm4iYXJyYXkiPT09bS50eXBlKGEpfSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09YS53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihhKXtyZXR1cm4hbS5pc0FycmF5KGEpJiZhLXBhcnNlRmxvYXQoYSkrMT49MH0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXt2YXIgYjtmb3IoYiBpbiBhKXJldHVybiExO3JldHVybiEwfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2lmKCFhfHwib2JqZWN0IiE9PW0udHlwZShhKXx8YS5ub2RlVHlwZXx8bS5pc1dpbmRvdyhhKSlyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1Y3RvciYmIWouY2FsbChhLCJjb25zdHJ1Y3RvciIpJiYhai5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9mIikpcmV0dXJuITF9Y2F0Y2goYyl7cmV0dXJuITF9aWYoay5vd25MYXN0KWZvcihiIGluIGEpcmV0dXJuIGouY2FsbChhLGIpO2ZvcihiIGluIGEpO3JldHVybiB2b2lkIDA9PT1ifHxqLmNhbGwoYSxiKX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9hKyIiOiJvYmplY3QiPT10eXBlb2YgYXx8ImZ1bmN0aW9uIj09dHlwZW9mIGE/aFtpLmNhbGwoYSldfHwib2JqZWN0Ijp0eXBlb2YgYX0sZ2xvYmFsRXZhbDpmdW5jdGlvbihiKXtiJiZtLnRyaW0oYikmJihhLmV4ZWNTY3JpcHR8fGZ1bmN0aW9uKGIpe2EuZXZhbC5jYWxsKGEsYil9KShiKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UobywibXMtIikucmVwbGFjZShwLHEpfSxub2RlTmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9MCxmPWEubGVuZ3RoLGc9cihhKTtpZihjKXtpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmFwcGx5KGFbZV0sYyksZD09PSExKWJyZWFrfWVsc2UgZm9yKGUgaW4gYSlpZihkPWIuYXBwbHkoYVtlXSxjKSxkPT09ITEpYnJlYWt9ZWxzZSBpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmNhbGwoYVtlXSxlLGFbZV0pLGQ9PT0hMSlicmVha31lbHNlIGZvcihlIGluIGEpaWYoZD1iLmNhbGwoYVtlXSxlLGFbZV0pLGQ9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT8iIjooYSsiIikucmVwbGFjZShuLCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107cmV0dXJuIG51bGwhPWEmJihyKE9iamVjdChhKSk/bS5tZXJnZShjLCJzdHJpbmciPT10eXBlb2YgYT9bYV06YSk6Zi5jYWxsKGMsYSkpLGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2lmKGIpe2lmKGcpcmV0dXJuIGcuY2FsbChiLGEsYyk7Zm9yKGQ9Yi5sZW5ndGgsYz1jPzA+Yz9NYXRoLm1heCgwLGQrYyk6YzowO2Q+YztjKyspaWYoYyBpbiBiJiZiW2NdPT09YSlyZXR1cm4gY31yZXR1cm4tMX0sbWVyZ2U6ZnVuY3Rpb24oYSxiKXt2YXIgYz0rYi5sZW5ndGgsZD0wLGU9YS5sZW5ndGg7d2hpbGUoYz5kKWFbZSsrXT1iW2QrK107aWYoYyE9PWMpd2hpbGUodm9pZCAwIT09YltkXSlhW2UrK109YltkKytdO3JldHVybiBhLmxlbmd0aD1lLGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCxlPVtdLGY9MCxnPWEubGVuZ3RoLGg9IWM7Zz5mO2YrKylkPSFiKGFbZl0sZiksZCE9PWgmJmUucHVzaChhW2ZdKTtyZXR1cm4gZX0sbWFwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxmPTAsZz1hLmxlbmd0aCxoPXIoYSksaT1bXTtpZihoKWZvcig7Zz5mO2YrKylkPWIoYVtmXSxmLGMpLG51bGwhPWQmJmkucHVzaChkKTtlbHNlIGZvcihmIGluIGEpZD1iKGFbZl0sZixjKSxudWxsIT1kJiZpLnB1c2goZCk7cmV0dXJuIGUuYXBwbHkoW10saSl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihhLGIpe3ZhciBjLGUsZjtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGImJihmPWFbYl0sYj1hLGE9ZiksbS5pc0Z1bmN0aW9uKGEpPyhjPWQuY2FsbChhcmd1bWVudHMsMiksZT1mdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGJ8fHRoaXMsYy5jb25jYXQoZC5jYWxsKGFyZ3VtZW50cykpKX0sZS5ndWlkPWEuZ3VpZD1hLmd1aWR8fG0uZ3VpZCsrLGUpOnZvaWQgMH0sbm93OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfSxzdXBwb3J0Omt9KSxtLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtoWyJbb2JqZWN0ICIrYisiXSJdPWIudG9Mb3dlckNhc2UoKX0pO2Z1bmN0aW9uIHIoYSl7dmFyIGI9Imxlbmd0aCJpbiBhJiZhLmxlbmd0aCxjPW0udHlwZShhKTtyZXR1cm4iZnVuY3Rpb24iPT09Y3x8bS5pc1dpbmRvdyhhKT8hMToxPT09YS5ub2RlVHlwZSYmYj8hMDoiYXJyYXkiPT09Y3x8MD09PWJ8fCJudW1iZXIiPT10eXBlb2YgYiYmYj4wJiZiLTEgaW4gYX12YXIgcz1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1PSJzaXp6bGUiKzEqbmV3IERhdGUsdj1hLmRvY3VtZW50LHc9MCx4PTAseT1oYSgpLHo9aGEoKSxBPWhhKCksQj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09YiYmKGw9ITApLDB9LEM9MTw8MzEsRD17fS5oYXNPd25Qcm9wZXJ0eSxFPVtdLEY9RS5wb3AsRz1FLnB1c2gsSD1FLnB1c2gsST1FLnNsaWNlLEo9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEs9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkIixMPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixNPSIoPzpcXFxcLnxbXFx3LV18W15cXHgwMC1cXHhhMF0pKyIsTj1NLnJlcGxhY2UoInciLCJ3IyIpLE89IlxcWyIrTCsiKigiK00rIikoPzoiK0wrIiooWypeJHwhfl0/PSkiK0wrIiooPzonKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcInwoIitOKyIpKXwpIitMKyIqXFxdIixQPSI6KCIrTSsiKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIrTysiKSopfC4qKVxcKXwpIixRPW5ldyBSZWdFeHAoTCsiKyIsImciKSxSPW5ldyBSZWdFeHAoIl4iK0wrIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrTCsiKyQiLCJnIiksUz1uZXcgUmVnRXhwKCJeIitMKyIqLCIrTCsiKiIpLFQ9bmV3IFJlZ0V4cCgiXiIrTCsiKihbPit+XXwiK0wrIikiK0wrIioiKSxVPW5ldyBSZWdFeHAoIj0iK0wrIiooW15cXF0nXCJdKj8pIitMKyIqXFxdIiwiZyIpLFY9bmV3IFJlZ0V4cChQKSxXPW5ldyBSZWdFeHAoIl4iK04rIiQiKSxYPXtJRDpuZXcgUmVnRXhwKCJeIygiK00rIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrTSsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrTS5yZXBsYWNlKCJ3IiwidyoiKSsiKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrTyksUFNFVURPOm5ldyBSZWdFeHAoIl4iK1ApLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcKCIrTCsiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrTCsiKig/OihbKy1dfCkiK0wrIiooXFxkKyl8KSkiK0wrIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK0srIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitMKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK0wrIiooKD86LVxcZCk/XFxkKikiK0wrIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFk9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxaPS9eaFxkJC9pLCQ9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLF89L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLyxhYT0vWyt+XS8sYmE9Lyd8XFwvZyxjYT1uZXcgUmVnRXhwKCJcXFxcKFtcXGRhLWZdezEsNn0iK0wrIj98KCIrTCsiKXwuKSIsImlnIiksZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSIweCIrYi02NTUzNjtyZXR1cm4gZCE9PWR8fGM/YjowPmQ/U3RyaW5nLmZyb21DaGFyQ29kZShkKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKGQ+PjEwfDU1Mjk2LDEwMjMmZHw1NjMyMCl9LGVhPWZ1bmN0aW9uKCl7bSgpfTt0cnl7SC5hcHBseShFPUkuY2FsbCh2LmNoaWxkTm9kZXMpLHYuY2hpbGROb2RlcyksRVt2LmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaChmYSl7SD17YXBwbHk6RS5sZW5ndGg/ZnVuY3Rpb24oYSxiKXtHLmFwcGx5KGEsSS5jYWxsKGIpKX06ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmxlbmd0aCxkPTA7d2hpbGUoYVtjKytdPWJbZCsrXSk7YS5sZW5ndGg9Yy0xfX19ZnVuY3Rpb24gZ2EoYSxiLGQsZSl7dmFyIGYsaCxqLGssbCxvLHIscyx3LHg7aWYoKGI/Yi5vd25lckRvY3VtZW50fHxiOnYpIT09biYmbShiKSxiPWJ8fG4sZD1kfHxbXSxrPWIubm9kZVR5cGUsInN0cmluZyIhPXR5cGVvZiBhfHwhYXx8MSE9PWsmJjkhPT1rJiYxMSE9PWspcmV0dXJuIGQ7aWYoIWUmJnApe2lmKDExIT09ayYmKGY9Xy5leGVjKGEpKSlpZihqPWZbMV0pe2lmKDk9PT1rKXtpZihoPWIuZ2V0RWxlbWVudEJ5SWQoaiksIWh8fCFoLnBhcmVudE5vZGUpcmV0dXJuIGQ7aWYoaC5pZD09PWopcmV0dXJuIGQucHVzaChoKSxkfWVsc2UgaWYoYi5vd25lckRvY3VtZW50JiYoaD1iLm93bmVyRG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaikpJiZ0KGIsaCkmJmguaWQ9PT1qKXJldHVybiBkLnB1c2goaCksZH1lbHNle2lmKGZbMl0pcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpKSxkO2lmKChqPWZbM10pJiZjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoaikpLGR9aWYoYy5xc2EmJighcXx8IXEudGVzdChhKSkpe2lmKHM9cj11LHc9Yix4PTEhPT1rJiZhLDE9PT1rJiYib2JqZWN0IiE9PWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7bz1nKGEpLChyPWIuZ2V0QXR0cmlidXRlKCJpZCIpKT9zPXIucmVwbGFjZShiYSwiXFwkJiIpOmIuc2V0QXR0cmlidXRlKCJpZCIscykscz0iW2lkPSciK3MrIiddICIsbD1vLmxlbmd0aDt3aGlsZShsLS0pb1tsXT1zK3JhKG9bbF0pO3c9YWEudGVzdChhKSYmcGEoYi5wYXJlbnROb2RlKXx8Yix4PW8uam9pbigiLCIpfWlmKHgpdHJ5e3JldHVybiBILmFwcGx5KGQsdy5xdWVyeVNlbGVjdG9yQWxsKHgpKSxkfWNhdGNoKHkpe31maW5hbGx5e3J8fGIucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIGkoYS5yZXBsYWNlKFIsIiQxIiksYixkLGUpfWZ1bmN0aW9uIGhhKCl7dmFyIGE9W107ZnVuY3Rpb24gYihjLGUpe3JldHVybiBhLnB1c2goYysiICIpPmQuY2FjaGVMZW5ndGgmJmRlbGV0ZSBiW2Euc2hpZnQoKV0sYltjKyIgIl09ZX1yZXR1cm4gYn1mdW5jdGlvbiBpYShhKXtyZXR1cm4gYVt1XT0hMCxhfWZ1bmN0aW9uIGphKGEpe3ZhciBiPW4uY3JlYXRlRWxlbWVudCgiZGl2Iik7dHJ5e3JldHVybiEhYShiKX1jYXRjaChjKXtyZXR1cm4hMX1maW5hbGx5e2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbH19ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYz1hLnNwbGl0KCJ8IiksZT1hLmxlbmd0aDt3aGlsZShlLS0pZC5hdHRySGFuZGxlW2NbZV1dPWJ9ZnVuY3Rpb24gbGEoYSxiKXt2YXIgYz1iJiZhLGQ9YyYmMT09PWEubm9kZVR5cGUmJjE9PT1iLm5vZGVUeXBlJiYofmIuc291cmNlSW5kZXh8fEMpLSh+YS5zb3VyY2VJbmRleHx8Qyk7aWYoZClyZXR1cm4gZDtpZihjKXdoaWxlKGM9Yy5uZXh0U2libGluZylpZihjPT09YilyZXR1cm4tMTtyZXR1cm4gYT8xOi0xfWZ1bmN0aW9uIG1hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWMmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG5hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKCJpbnB1dCI9PT1jfHwiYnV0dG9uIj09PWMpJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBvYShhKXtyZXR1cm4gaWEoZnVuY3Rpb24oYil7cmV0dXJuIGI9K2IsaWEoZnVuY3Rpb24oYyxkKXt2YXIgZSxmPWEoW10sYy5sZW5ndGgsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pY1tlPWZbZ11dJiYoY1tlXT0hKGRbZV09Y1tlXSkpfSl9KX1mdW5jdGlvbiBwYShhKXtyZXR1cm4gYSYmInVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZhfWM9Z2Euc3VwcG9ydD17fSxmPWdhLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPWEmJihhLm93bmVyRG9jdW1lbnR8fGEpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gYj8iSFRNTCIhPT1iLm5vZGVOYW1lOiExfSxtPWdhLnNldERvY3VtZW50PWZ1bmN0aW9uKGEpe3ZhciBiLGUsZz1hP2Eub3duZXJEb2N1bWVudHx8YTp2O3JldHVybiBnIT09biYmOT09PWcubm9kZVR5cGUmJmcuZG9jdW1lbnRFbGVtZW50PyhuPWcsbz1nLmRvY3VtZW50RWxlbWVudCxlPWcuZGVmYXVsdFZpZXcsZSYmZSE9PWUudG9wJiYoZS5hZGRFdmVudExpc3RlbmVyP2UuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIixlYSwhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib251bmxvYWQiLGVhKSkscD0hZihnKSxjLmF0dHJpYnV0ZXM9amEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhc3NOYW1lPSJpIiwhYS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksYy5nZXRFbGVtZW50c0J5VGFnTmFtZT1qYShmdW5jdGlvbihhKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChnLmNyZWF0ZUNvbW1lbnQoIiIpKSwhYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT0kLnRlc3QoZy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxjLmdldEJ5SWQ9amEoZnVuY3Rpb24oYSl7cmV0dXJuIG8uYXBwZW5kQ2hpbGQoYSkuaWQ9dSwhZy5nZXRFbGVtZW50c0J5TmFtZXx8IWcuZ2V0RWxlbWVudHNCeU5hbWUodSkubGVuZ3RofSksYy5nZXRCeUlkPyhkLmZpbmQuSUQ9ZnVuY3Rpb24oYSxiKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQmJnApe3ZhciBjPWIuZ2V0RWxlbWVudEJ5SWQoYSk7cmV0dXJuIGMmJmMucGFyZW50Tm9kZT9bY106W119fSxkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoY2EsZGEpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImlkIik9PT1ifX0pOihkZWxldGUgZC5maW5kLklELGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYSxkYSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhciBjPSJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlJiZhLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIGMmJmMudmFsdWU9PT1ifX0pLGQuZmluZC5UQUc9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZT9mdW5jdGlvbihhLGIpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgYi5nZXRFbGVtZW50c0J5VGFnTmFtZT9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpOmMucXNhP2IucXVlcnlTZWxlY3RvckFsbChhKTp2b2lkIDB9OmZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPTAsZj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpO2lmKCIqIj09PWEpe3doaWxlKGM9ZltlKytdKTE9PT1jLm5vZGVUeXBlJiZkLnB1c2goYyk7cmV0dXJuIGR9cmV0dXJuIGZ9LGQuZmluZC5DTEFTUz1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGEsYil7cmV0dXJuIHA/Yi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGEpOnZvaWQgMH0scj1bXSxxPVtdLChjLnFzYT0kLnRlc3QoZy5xdWVyeVNlbGVjdG9yQWxsKSkmJihqYShmdW5jdGlvbihhKXtvLmFwcGVuZENoaWxkKGEpLmlubmVySFRNTD0iPGEgaWQ9JyIrdSsiJz48L2E+PHNlbGVjdCBpZD0nIit1KyItXGZdJyBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsYS5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCYmcS5wdXNoKCJbKl4kXT0iK0wrIiooPzonJ3xcIlwiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8cS5wdXNoKCJcXFsiK0wrIiooPzp2YWx1ZXwiK0srIikiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49Iit1KyItXSIpLmxlbmd0aHx8cS5wdXNoKCJ+PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fHEucHVzaCgiOmNoZWNrZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIit1KyIrKiIpLmxlbmd0aHx8cS5wdXNoKCIuIy4rWyt+XSIpfSksamEoZnVuY3Rpb24oYSl7dmFyIGI9Zy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Iuc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksYS5hcHBlbmRDaGlsZChiKS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJEIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCYmcS5wdXNoKCJuYW1lIitMKyIqWypeJHwhfl0/PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmVuYWJsZWQiKS5sZW5ndGh8fHEucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSxxLnB1c2goIiwuKjoiKX0pKSwoYy5tYXRjaGVzU2VsZWN0b3I9JC50ZXN0KHM9by5tYXRjaGVzfHxvLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8by5tb3pNYXRjaGVzU2VsZWN0b3J8fG8ub01hdGNoZXNTZWxlY3Rvcnx8by5tc01hdGNoZXNTZWxlY3RvcikpJiZqYShmdW5jdGlvbihhKXtjLmRpc2Nvbm5lY3RlZE1hdGNoPXMuY2FsbChhLCJkaXYiKSxzLmNhbGwoYSwiW3MhPScnXTp4Iiksci5wdXNoKCIhPSIsUCl9KSxxPXEubGVuZ3RoJiZuZXcgUmVnRXhwKHEuam9pbigifCIpKSxyPXIubGVuZ3RoJiZuZXcgUmVnRXhwKHIuam9pbigifCIpKSxiPSQudGVzdChvLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSx0PWJ8fCQudGVzdChvLmNvbnRhaW5zKT9mdW5jdGlvbihhLGIpe3ZhciBjPTk9PT1hLm5vZGVUeXBlP2EuZG9jdW1lbnRFbGVtZW50OmEsZD1iJiZiLnBhcmVudE5vZGU7cmV0dXJuIGE9PT1kfHwhKCFkfHwxIT09ZC5ub2RlVHlwZXx8IShjLmNvbnRhaW5zP2MuY29udGFpbnMoZCk6YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihkKSkpfTpmdW5jdGlvbihhLGIpe2lmKGIpd2hpbGUoYj1iLnBhcmVudE5vZGUpaWYoYj09PWEpcmV0dXJuITA7cmV0dXJuITF9LEI9Yj9mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGQ9IWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIGQ/ZDooZD0oYS5vd25lckRvY3VtZW50fHxhKT09PShiLm93bmVyRG9jdW1lbnR8fGIpP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYik6MSwxJmR8fCFjLnNvcnREZXRhY2hlZCYmYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKT09PWQ/YT09PWd8fGEub3duZXJEb2N1bWVudD09PXYmJnQodixhKT8tMTpiPT09Z3x8Yi5vd25lckRvY3VtZW50PT09diYmdCh2LGIpPzE6az9KKGssYSktSihrLGIpOjA6NCZkPy0xOjEpfTpmdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGMsZD0wLGU9YS5wYXJlbnROb2RlLGY9Yi5wYXJlbnROb2RlLGg9W2FdLGk9W2JdO2lmKCFlfHwhZilyZXR1cm4gYT09PWc/LTE6Yj09PWc/MTplPy0xOmY/MTprP0ooayxhKS1KKGssYik6MDtpZihlPT09ZilyZXR1cm4gbGEoYSxiKTtjPWE7d2hpbGUoYz1jLnBhcmVudE5vZGUpaC51bnNoaWZ0KGMpO2M9Yjt3aGlsZShjPWMucGFyZW50Tm9kZSlpLnVuc2hpZnQoYyk7d2hpbGUoaFtkXT09PWlbZF0pZCsrO3JldHVybiBkP2xhKGhbZF0saVtkXSk6aFtkXT09PXY/LTE6aVtkXT09PXY/MTowfSxnKTpufSxnYS5tYXRjaGVzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGdhKGEsbnVsbCxudWxsLGIpfSxnYS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oYSxiKXtpZigoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksYj1iLnJlcGxhY2UoVSwiPSckMSddIiksISghYy5tYXRjaGVzU2VsZWN0b3J8fCFwfHxyJiZyLnRlc3QoYil8fHEmJnEudGVzdChiKSkpdHJ5e3ZhciBkPXMuY2FsbChhLGIpO2lmKGR8fGMuZGlzY29ubmVjdGVkTWF0Y2h8fGEuZG9jdW1lbnQmJjExIT09YS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gZH1jYXRjaChlKXt9cmV0dXJuIGdhKGIsbixudWxsLFthXSkubGVuZ3RoPjB9LGdhLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpLHQoYSxiKX0sZ2EuYXR0cj1mdW5jdGlvbihhLGIpeyhhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKTt2YXIgZT1kLmF0dHJIYW5kbGVbYi50b0xvd2VyQ2FzZSgpXSxmPWUmJkQuY2FsbChkLmF0dHJIYW5kbGUsYi50b0xvd2VyQ2FzZSgpKT9lKGEsYiwhcCk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT1mP2Y6Yy5hdHRyaWJ1dGVzfHwhcD9hLmdldEF0dHJpYnV0ZShiKTooZj1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZmLnNwZWNpZmllZD9mLnZhbHVlOm51bGx9LGdhLmVycm9yPWZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIithKX0sZ2EudW5pcXVlU29ydD1mdW5jdGlvbihhKXt2YXIgYixkPVtdLGU9MCxmPTA7aWYobD0hYy5kZXRlY3REdXBsaWNhdGVzLGs9IWMuc29ydFN0YWJsZSYmYS5zbGljZSgwKSxhLnNvcnQoQiksbCl7d2hpbGUoYj1hW2YrK10pYj09PWFbZl0mJihlPWQucHVzaChmKSk7d2hpbGUoZS0tKWEuc3BsaWNlKGRbZV0sMSl9cmV0dXJuIGs9bnVsbCxhfSxlPWdhLmdldFRleHQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz0iIixkPTAsZj1hLm5vZGVUeXBlO2lmKGYpe2lmKDE9PT1mfHw5PT09Znx8MTE9PT1mKXtpZigic3RyaW5nIj09dHlwZW9mIGEudGV4dENvbnRlbnQpcmV0dXJuIGEudGV4dENvbnRlbnQ7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWMrPWUoYSl9ZWxzZSBpZigzPT09Znx8ND09PWYpcmV0dXJuIGEubm9kZVZhbHVlfWVsc2Ugd2hpbGUoYj1hW2QrK10pYys9ZShiKTtyZXR1cm4gY30sZD1nYS5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUwLGNyZWF0ZVBzZXVkbzppYSxtYXRjaDpYLGF0dHJIYW5kbGU6e30sZmluZDp7fSxyZWxhdGl2ZTp7Ij4iOntkaXI6InBhcmVudE5vZGUiLGZpcnN0OiEwfSwiICI6e2RpcjoicGFyZW50Tm9kZSJ9LCIrIjp7ZGlyOiJwcmV2aW91c1NpYmxpbmciLGZpcnN0OiEwfSwifiI6e2RpcjoicHJldmlvdXNTaWJsaW5nIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnJlcGxhY2UoY2EsZGEpLGFbM109KGFbM118fGFbNF18fGFbNV18fCIiKS5yZXBsYWNlKGNhLGRhKSwifj0iPT09YVsyXSYmKGFbM109IiAiK2FbM10rIiAiKSxhLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0udG9Mb3dlckNhc2UoKSwibnRoIj09PWFbMV0uc2xpY2UoMCwzKT8oYVszXXx8Z2EuZXJyb3IoYVswXSksYVs0XT0rKGFbNF0/YVs1XSsoYVs2XXx8MSk6MiooImV2ZW4iPT09YVszXXx8Im9kZCI9PT1hWzNdKSksYVs1XT0rKGFbN10rYVs4XXx8Im9kZCI9PT1hWzNdKSk6YVszXSYmZ2EuZXJyb3IoYVswXSksYX0sUFNFVURPOmZ1bmN0aW9uKGEpe3ZhciBiLGM9IWFbNl0mJmFbMl07cmV0dXJuIFguQ0hJTEQudGVzdChhWzBdKT9udWxsOihhWzNdP2FbMl09YVs0XXx8YVs1XXx8IiI6YyYmVi50ZXN0KGMpJiYoYj1nKGMsITApKSYmKGI9Yy5pbmRleE9mKCIpIixjLmxlbmd0aC1iKS1jLmxlbmd0aCkmJihhWzBdPWFbMF0uc2xpY2UoMCxiKSxhWzJdPWMuc2xpY2UoMCxiKSksYS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYSxkYSkudG9Mb3dlckNhc2UoKTtyZXR1cm4iKiI9PT1hP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1ifX0sQ0xBU1M6ZnVuY3Rpb24oYSl7dmFyIGI9eVthKyIgIl07cmV0dXJuIGJ8fChiPW5ldyBSZWdFeHAoIihefCIrTCsiKSIrYSsiKCIrTCsifCQpIikpJiZ5KGEsZnVuY3Rpb24oYSl7cmV0dXJuIGIudGVzdCgic3RyaW5nIj09dHlwZW9mIGEuY2xhc3NOYW1lJiZhLmNsYXNzTmFtZXx8InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9Z2EuYXR0cihkLGEpO3JldHVybiBudWxsPT1lPyIhPSI9PT1iOmI/KGUrPSIiLCI9Ij09PWI/ZT09PWM6IiE9Ij09PWI/ZSE9PWM6Il49Ij09PWI/YyYmMD09PWUuaW5kZXhPZihjKToiKj0iPT09Yj9jJiZlLmluZGV4T2YoYyk+LTE6IiQ9Ij09PWI/YyYmZS5zbGljZSgtYy5sZW5ndGgpPT09Yzoifj0iPT09Yj8oIiAiK2UucmVwbGFjZShRLCIgIikrIiAiKS5pbmRleE9mKGMpPi0xOiJ8PSI9PT1iP2U9PT1jfHxlLnNsaWNlKDAsYy5sZW5ndGgrMSk9PT1jKyItIjohMSk6ITB9fSxDSElMRDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSJudGgiIT09YS5zbGljZSgwLDMpLGc9Imxhc3QiIT09YS5zbGljZSgtNCksaD0ib2YtdHlwZSI9PT1iO3JldHVybiAxPT09ZCYmMD09PWU/ZnVuY3Rpb24oYSl7cmV0dXJuISFhLnBhcmVudE5vZGV9OmZ1bmN0aW9uKGIsYyxpKXt2YXIgaixrLGwsbSxuLG8scD1mIT09Zz8ibmV4dFNpYmxpbmciOiJwcmV2aW91c1NpYmxpbmciLHE9Yi5wYXJlbnROb2RlLHI9aCYmYi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHM9IWkmJiFoO2lmKHEpe2lmKGYpe3doaWxlKHApe2w9Yjt3aGlsZShsPWxbcF0paWYoaD9sLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1sLm5vZGVUeXBlKXJldHVybiExO289cD0ib25seSI9PT1hJiYhbyYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihvPVtnP3EuZmlyc3RDaGlsZDpxLmxhc3RDaGlsZF0sZyYmcyl7az1xW3VdfHwocVt1XT17fSksaj1rW2FdfHxbXSxuPWpbMF09PT13JiZqWzFdLG09alswXT09PXcmJmpbMl0sbD1uJiZxLmNoaWxkTm9kZXNbbl07d2hpbGUobD0rK24mJmwmJmxbcF18fChtPW49MCl8fG8ucG9wKCkpaWYoMT09PWwubm9kZVR5cGUmJisrbSYmbD09PWIpe2tbYV09W3csbixtXTticmVha319ZWxzZSBpZihzJiYoaj0oYlt1XXx8KGJbdV09e30pKVthXSkmJmpbMF09PT13KW09alsxXTtlbHNlIHdoaWxlKGw9KytuJiZsJiZsW3BdfHwobT1uPTApfHxvLnBvcCgpKWlmKChoP2wubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXI6MT09PWwubm9kZVR5cGUpJiYrK20mJihzJiYoKGxbdV18fChsW3VdPXt9KSlbYV09W3csbV0pLGw9PT1iKSlicmVhaztyZXR1cm4gbS09ZSxtPT09ZHx8bSVkPT09MCYmbS9kPj0wfX19LFBTRVVETzpmdW5jdGlvbihhLGIpe3ZhciBjLGU9ZC5wc2V1ZG9zW2FdfHxkLnNldEZpbHRlcnNbYS50b0xvd2VyQ2FzZSgpXXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIithKTtyZXR1cm4gZVt1XT9lKGIpOmUubGVuZ3RoPjE/KGM9W2EsYSwiIixiXSxkLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoYS50b0xvd2VyQ2FzZSgpKT9pYShmdW5jdGlvbihhLGMpe3ZhciBkLGY9ZShhLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWQ9SihhLGZbZ10pLGFbZF09IShjW2RdPWZbZ10pfSk6ZnVuY3Rpb24oYSl7cmV0dXJuIGUoYSwwLGMpfSk6ZX19LHBzZXVkb3M6e25vdDppYShmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGQ9aChhLnJlcGxhY2UoUiwiJDEiKSk7cmV0dXJuIGRbdV0/aWEoZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGYsZz1kKGEsbnVsbCxlLFtdKSxoPWEubGVuZ3RoO3doaWxlKGgtLSkoZj1nW2hdKSYmKGFbaF09IShiW2hdPWYpKX0pOmZ1bmN0aW9uKGEsZSxmKXtyZXR1cm4gYlswXT1hLGQoYixudWxsLGYsYyksYlswXT1udWxsLCFjLnBvcCgpfX0pLGhhczppYShmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIGdhKGEsYikubGVuZ3RoPjB9fSksY29udGFpbnM6aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9YS5yZXBsYWNlKGNhLGRhKSxmdW5jdGlvbihiKXtyZXR1cm4oYi50ZXh0Q29udGVudHx8Yi5pbm5lclRleHR8fGUoYikpLmluZGV4T2YoYSk+LTF9fSksbGFuZzppYShmdW5jdGlvbihhKXtyZXR1cm4gVy50ZXN0KGF8fCIiKXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIGxhbmc6ICIrYSksYT1hLnJlcGxhY2UoY2EsZGEpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oYil7dmFyIGM7ZG8gaWYoYz1wP2IubGFuZzpiLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKXx8Yi5nZXRBdHRyaWJ1dGUoImxhbmciKSlyZXR1cm4gYz1jLnRvTG93ZXJDYXNlKCksYz09PWF8fDA9PT1jLmluZGV4T2YoYSsiLSIpO3doaWxlKChiPWIucGFyZW50Tm9kZSkmJjE9PT1iLm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24oYil7dmFyIGM9YS5sb2NhdGlvbiYmYS5sb2NhdGlvbi5oYXNoO3JldHVybiBjJiZjLnNsaWNlKDEpPT09Yi5pZH0scm9vdDpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW99LGZvY3VzOmZ1bmN0aW9uKGEpe3JldHVybiBhPT09bi5hY3RpdmVFbGVtZW50JiYoIW4uaGFzRm9jdXN8fG4uaGFzRm9jdXMoKSkmJiEhKGEudHlwZXx8YS5ocmVmfHx+YS50YWJJbmRleCl9LGVuYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMX0sZGlzYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMH0sY2hlY2tlZDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiEhYS5jaGVja2VkfHwib3B0aW9uIj09PWImJiEhYS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsYS5zZWxlY3RlZD09PSEwfSxlbXB0eTpmdW5jdGlvbihhKXtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpaWYoYS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIWQucHNldWRvcy5lbXB0eShhKX0saGVhZGVyOmZ1bmN0aW9uKGEpe3JldHVybiBaLnRlc3QoYS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGEpe3JldHVybiBZLnRlc3QoYS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiJidXR0b24iPT09YS50eXBlfHwiYnV0dG9uIj09PWJ9LHRleHQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuImlucHV0Ij09PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09YS50eXBlJiYobnVsbD09KGI9YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PWIudG9Mb3dlckNhc2UoKSl9LGZpcnN0Om9hKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDpvYShmdW5jdGlvbihhLGIpe3JldHVybltiLTFdfSksZXE6b2EoZnVuY3Rpb24oYSxiLGMpe3JldHVyblswPmM/YytiOmNdfSksZXZlbjpvYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLG9kZDpvYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLGx0Om9hKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOy0tZD49MDspYS5wdXNoKGQpO3JldHVybiBhfSksZ3Q6b2EoZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0wPmM/YytiOmM7KytkPGI7KWEucHVzaChkKTtyZXR1cm4gYX0pfX0sZC5wc2V1ZG9zLm50aD1kLnBzZXVkb3MuZXE7Zm9yKGIgaW57cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pZC5wc2V1ZG9zW2JdPW1hKGIpO2ZvcihiIGlue3N1Ym1pdDohMCxyZXNldDohMH0pZC5wc2V1ZG9zW2JdPW5hKGIpO2Z1bmN0aW9uIHFhKCl7fXFhLnByb3RvdHlwZT1kLmZpbHRlcnM9ZC5wc2V1ZG9zLGQuc2V0RmlsdGVycz1uZXcgcWEsZz1nYS50b2tlbml6ZT1mdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaSxqLGs9elthKyIgIl07aWYoaylyZXR1cm4gYj8wOmsuc2xpY2UoMCk7aD1hLGk9W10saj1kLnByZUZpbHRlcjt3aGlsZShoKXsoIWN8fChlPVMuZXhlYyhoKSkpJiYoZSYmKGg9aC5zbGljZShlWzBdLmxlbmd0aCl8fGgpLGkucHVzaChmPVtdKSksYz0hMSwoZT1ULmV4ZWMoaCkpJiYoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZVswXS5yZXBsYWNlKFIsIiAiKX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2ZvcihnIGluIGQuZmlsdGVyKSEoZT1YW2ddLmV4ZWMoaCkpfHxqW2ddJiYhKGU9altnXShlKSl8fChjPWUuc2hpZnQoKSxmLnB1c2goe3ZhbHVlOmMsdHlwZTpnLG1hdGNoZXM6ZX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2lmKCFjKWJyZWFrfXJldHVybiBiP2gubGVuZ3RoOmg/Z2EuZXJyb3IoYSk6eihhLGkpLnNsaWNlKDApfTtmdW5jdGlvbiByYShhKXtmb3IodmFyIGI9MCxjPWEubGVuZ3RoLGQ9IiI7Yz5iO2IrKylkKz1hW2JdLnZhbHVlO3JldHVybiBkfWZ1bmN0aW9uIHNhKGEsYixjKXt2YXIgZD1iLmRpcixlPWMmJiJwYXJlbnROb2RlIj09PWQsZj14Kys7cmV0dXJuIGIuZmlyc3Q/ZnVuY3Rpb24oYixjLGYpe3doaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSlyZXR1cm4gYShiLGMsZil9OmZ1bmN0aW9uKGIsYyxnKXt2YXIgaCxpLGo9W3csZl07aWYoZyl7d2hpbGUoYj1iW2RdKWlmKCgxPT09Yi5ub2RlVHlwZXx8ZSkmJmEoYixjLGcpKXJldHVybiEwfWVsc2Ugd2hpbGUoYj1iW2RdKWlmKDE9PT1iLm5vZGVUeXBlfHxlKXtpZihpPWJbdV18fChiW3VdPXt9KSwoaD1pW2RdKSYmaFswXT09PXcmJmhbMV09PT1mKXJldHVybiBqWzJdPWhbMl07aWYoaVtkXT1qLGpbMl09YShiLGMsZykpcmV0dXJuITB9fX1mdW5jdGlvbiB0YShhKXtyZXR1cm4gYS5sZW5ndGg+MT9mdW5jdGlvbihiLGMsZCl7dmFyIGU9YS5sZW5ndGg7d2hpbGUoZS0tKWlmKCFhW2VdKGIsYyxkKSlyZXR1cm4hMTtyZXR1cm4hMH06YVswXX1mdW5jdGlvbiB1YShhLGIsYyl7Zm9yKHZhciBkPTAsZT1iLmxlbmd0aDtlPmQ7ZCsrKWdhKGEsYltkXSxjKTtyZXR1cm4gY31mdW5jdGlvbiB2YShhLGIsYyxkLGUpe2Zvcih2YXIgZixnPVtdLGg9MCxpPWEubGVuZ3RoLGo9bnVsbCE9YjtpPmg7aCsrKShmPWFbaF0pJiYoIWN8fGMoZixkLGUpKSYmKGcucHVzaChmKSxqJiZiLnB1c2goaCkpO3JldHVybiBnfWZ1bmN0aW9uIHdhKGEsYixjLGQsZSxmKXtyZXR1cm4gZCYmIWRbdV0mJihkPXdhKGQpKSxlJiYhZVt1XSYmKGU9d2EoZSxmKSksaWEoZnVuY3Rpb24oZixnLGgsaSl7dmFyIGosayxsLG09W10sbj1bXSxvPWcubGVuZ3RoLHA9Znx8dWEoYnx8IioiLGgubm9kZVR5cGU/W2hdOmgsW10pLHE9IWF8fCFmJiZiP3A6dmEocCxtLGEsaCxpKSxyPWM/ZXx8KGY/YTpvfHxkKT9bXTpnOnE7aWYoYyYmYyhxLHIsaCxpKSxkKXtqPXZhKHIsbiksZChqLFtdLGgsaSksaz1qLmxlbmd0aDt3aGlsZShrLS0pKGw9altrXSkmJihyW25ba11dPSEocVtuW2tdXT1sKSl9aWYoZil7aWYoZXx8YSl7aWYoZSl7aj1bXSxrPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmai5wdXNoKHFba109bCk7ZShudWxsLHI9W10saixpKX1rPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmKGo9ZT9KKGYsbCk6bVtrXSk+LTEmJihmW2pdPSEoZ1tqXT1sKSl9fWVsc2Ugcj12YShyPT09Zz9yLnNwbGljZShvLHIubGVuZ3RoKTpyKSxlP2UobnVsbCxnLHIsaSk6SC5hcHBseShnLHIpfSl9ZnVuY3Rpb24geGEoYSl7Zm9yKHZhciBiLGMsZSxmPWEubGVuZ3RoLGc9ZC5yZWxhdGl2ZVthWzBdLnR5cGVdLGg9Z3x8ZC5yZWxhdGl2ZVsiICJdLGk9Zz8xOjAsaz1zYShmdW5jdGlvbihhKXtyZXR1cm4gYT09PWJ9LGgsITApLGw9c2EoZnVuY3Rpb24oYSl7cmV0dXJuIEooYixhKT4tMX0saCwhMCksbT1bZnVuY3Rpb24oYSxjLGQpe3ZhciBlPSFnJiYoZHx8YyE9PWopfHwoKGI9Yykubm9kZVR5cGU/ayhhLGMsZCk6bChhLGMsZCkpO3JldHVybiBiPW51bGwsZX1dO2Y+aTtpKyspaWYoYz1kLnJlbGF0aXZlW2FbaV0udHlwZV0pbT1bc2EodGEobSksYyldO2Vsc2V7aWYoYz1kLmZpbHRlclthW2ldLnR5cGVdLmFwcGx5KG51bGwsYVtpXS5tYXRjaGVzKSxjW3VdKXtmb3IoZT0rK2k7Zj5lO2UrKylpZihkLnJlbGF0aXZlW2FbZV0udHlwZV0pYnJlYWs7cmV0dXJuIHdhKGk+MSYmdGEobSksaT4xJiZyYShhLnNsaWNlKDAsaS0xKS5jb25jYXQoe3ZhbHVlOiIgIj09PWFbaS0yXS50eXBlPyIqIjoiIn0pKS5yZXBsYWNlKFIsIiQxIiksYyxlPmkmJnhhKGEuc2xpY2UoaSxlKSksZj5lJiZ4YShhPWEuc2xpY2UoZSkpLGY+ZSYmcmEoYSkpfW0ucHVzaChjKX1yZXR1cm4gdGEobSl9ZnVuY3Rpb24geWEoYSxiKXt2YXIgYz1iLmxlbmd0aD4wLGU9YS5sZW5ndGg+MCxmPWZ1bmN0aW9uKGYsZyxoLGksayl7dmFyIGwsbSxvLHA9MCxxPSIwIixyPWYmJltdLHM9W10sdD1qLHU9Znx8ZSYmZC5maW5kLlRBRygiKiIsayksdj13Kz1udWxsPT10PzE6TWF0aC5yYW5kb20oKXx8LjEseD11Lmxlbmd0aDtmb3IoayYmKGo9ZyE9PW4mJmcpO3EhPT14JiZudWxsIT0obD11W3FdKTtxKyspe2lmKGUmJmwpe209MDt3aGlsZShvPWFbbSsrXSlpZihvKGwsZyxoKSl7aS5wdXNoKGwpO2JyZWFrfWsmJih3PXYpfWMmJigobD0hbyYmbCkmJnAtLSxmJiZyLnB1c2gobCkpfWlmKHArPXEsYyYmcSE9PXApe209MDt3aGlsZShvPWJbbSsrXSlvKHIscyxnLGgpO2lmKGYpe2lmKHA+MCl3aGlsZShxLS0pcltxXXx8c1txXXx8KHNbcV09Ri5jYWxsKGkpKTtzPXZhKHMpfUguYXBwbHkoaSxzKSxrJiYhZiYmcy5sZW5ndGg+MCYmcCtiLmxlbmd0aD4xJiZnYS51bmlxdWVTb3J0KGkpfXJldHVybiBrJiYodz12LGo9dCkscn07cmV0dXJuIGM/aWEoZik6Zn1yZXR1cm4gaD1nYS5jb21waWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPVtdLGY9QVthKyIgIl07aWYoIWYpe2J8fChiPWcoYSkpLGM9Yi5sZW5ndGg7d2hpbGUoYy0tKWY9eGEoYltjXSksZlt1XT9kLnB1c2goZik6ZS5wdXNoKGYpO2Y9QShhLHlhKGUsZCkpLGYuc2VsZWN0b3I9YX1yZXR1cm4gZn0saT1nYS5zZWxlY3Q9ZnVuY3Rpb24oYSxiLGUsZil7dmFyIGksaixrLGwsbSxuPSJmdW5jdGlvbiI9PXR5cGVvZiBhJiZhLG89IWYmJmcoYT1uLnNlbGVjdG9yfHxhKTtpZihlPWV8fFtdLDE9PT1vLmxlbmd0aCl7aWYoaj1vWzBdPW9bMF0uc2xpY2UoMCksai5sZW5ndGg+MiYmIklEIj09PShrPWpbMF0pLnR5cGUmJmMuZ2V0QnlJZCYmOT09PWIubm9kZVR5cGUmJnAmJmQucmVsYXRpdmVbalsxXS50eXBlXSl7aWYoYj0oZC5maW5kLklEKGsubWF0Y2hlc1swXS5yZXBsYWNlKGNhLGRhKSxiKXx8W10pWzBdLCFiKXJldHVybiBlO24mJihiPWIucGFyZW50Tm9kZSksYT1hLnNsaWNlKGouc2hpZnQoKS52YWx1ZS5sZW5ndGgpfWk9WC5uZWVkc0NvbnRleHQudGVzdChhKT8wOmoubGVuZ3RoO3doaWxlKGktLSl7aWYoaz1qW2ldLGQucmVsYXRpdmVbbD1rLnR5cGVdKWJyZWFrO2lmKChtPWQuZmluZFtsXSkmJihmPW0oay5tYXRjaGVzWzBdLnJlcGxhY2UoY2EsZGEpLGFhLnRlc3QoalswXS50eXBlKSYmcGEoYi5wYXJlbnROb2RlKXx8YikpKXtpZihqLnNwbGljZShpLDEpLGE9Zi5sZW5ndGgmJnJhKGopLCFhKXJldHVybiBILmFwcGx5KGUsZiksZTticmVha319fXJldHVybihufHxoKGEsbykpKGYsYiwhcCxlLGFhLnRlc3QoYSkmJnBhKGIucGFyZW50Tm9kZSl8fGIpLGV9LGMuc29ydFN0YWJsZT11LnNwbGl0KCIiKS5zb3J0KEIpLmpvaW4oIiIpPT09dSxjLmRldGVjdER1cGxpY2F0ZXM9ISFsLG0oKSxjLnNvcnREZXRhY2hlZD1qYShmdW5jdGlvbihhKXtyZXR1cm4gMSZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4uY3JlYXRlRWxlbWVudCgiZGl2IikpfSksamEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IiwiIyI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIil9KXx8a2EoInR5cGV8aHJlZnxoZWlnaHR8d2lkdGgiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYz92b2lkIDA6YS5nZXRBdHRyaWJ1dGUoYiwidHlwZSI9PT1iLnRvTG93ZXJDYXNlKCk/MToyKX0pLGMuYXR0cmlidXRlcyYmamEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8aW5wdXQvPiIsYS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSwiIj09PWEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoInZhbHVlIil9KXx8a2EoInZhbHVlIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGN8fCJpbnB1dCIhPT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk/dm9pZCAwOmEuZGVmYXVsdFZhbHVlfSksamEoZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWEuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpfSl8fGthKEssZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBjP3ZvaWQgMDphW2JdPT09ITA/Yi50b0xvd2VyQ2FzZSgpOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmQuc3BlY2lmaWVkP2QudmFsdWU6bnVsbH0pLGdhfShhKTttLmZpbmQ9cyxtLmV4cHI9cy5zZWxlY3RvcnMsbS5leHByWyI6Il09bS5leHByLnBzZXVkb3MsbS51bmlxdWU9cy51bmlxdWVTb3J0LG0udGV4dD1zLmdldFRleHQsbS5pc1hNTERvYz1zLmlzWE1MLG0uY29udGFpbnM9cy5jb250YWluczt2YXIgdD1tLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LHU9L148KFx3KylccypcLz8+KD86PFwvXDE+fCkkLyx2PS9eLlteOiNcW1wuLF0qJC87ZnVuY3Rpb24gdyhhLGIsYyl7aWYobS5pc0Z1bmN0aW9uKGIpKXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVybiEhYi5jYWxsKGEsZCxhKSE9PWN9KTtpZihiLm5vZGVUeXBlKXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYT09PWIhPT1jfSk7aWYoInN0cmluZyI9PXR5cGVvZiBiKXtpZih2LnRlc3QoYikpcmV0dXJuIG0uZmlsdGVyKGIsYSxjKTtiPW0uZmlsdGVyKGIsYSl9cmV0dXJuIG0uZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBtLmluQXJyYXkoYSxiKT49MCE9PWN9KX1tLmZpbHRlcj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YlswXTtyZXR1cm4gYyYmKGE9Ijpub3QoIithKyIpIiksMT09PWIubGVuZ3RoJiYxPT09ZC5ub2RlVHlwZT9tLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGQsYSk/W2RdOltdOm0uZmluZC5tYXRjaGVzKGEsbS5ncmVwKGIsZnVuY3Rpb24oYSl7cmV0dXJuIDE9PT1hLm5vZGVUeXBlfSkpfSxtLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihhKXt2YXIgYixjPVtdLGQ9dGhpcyxlPWQubGVuZ3RoO2lmKCJzdHJpbmciIT10eXBlb2YgYSlyZXR1cm4gdGhpcy5wdXNoU3RhY2sobShhKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoYj0wO2U+YjtiKyspaWYobS5jb250YWlucyhkW2JdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihiPTA7ZT5iO2IrKyltLmZpbmQoYSxkW2JdLGMpO3JldHVybiBjPXRoaXMucHVzaFN0YWNrKGU+MT9tLnVuaXF1ZShjKTpjKSxjLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3I/dGhpcy5zZWxlY3RvcisiICIrYTphLGN9LGZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sodyh0aGlzLGF8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sodyh0aGlzLGF8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEhdyh0aGlzLCJzdHJpbmciPT10eXBlb2YgYSYmdC50ZXN0KGEpP20oYSk6YXx8W10sITEpLmxlbmd0aH19KTt2YXIgeCx5PWEuZG9jdW1lbnQsej0vXig/OlxzKig8W1x3XFddKz4pW14+XSp8IyhbXHctXSopKSQvLEE9bS5mbi5pbml0PWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtpZighYSlyZXR1cm4gdGhpcztpZigic3RyaW5nIj09dHlwZW9mIGEpe2lmKGM9IjwiPT09YS5jaGFyQXQoMCkmJiI+Ij09PWEuY2hhckF0KGEubGVuZ3RoLTEpJiZhLmxlbmd0aD49Mz9bbnVsbCxhLG51bGxdOnouZXhlYyhhKSwhY3x8IWNbMV0mJmIpcmV0dXJuIWJ8fGIuanF1ZXJ5PyhifHx4KS5maW5kKGEpOnRoaXMuY29uc3RydWN0b3IoYikuZmluZChhKTtpZihjWzFdKXtpZihiPWIgaW5zdGFuY2VvZiBtP2JbMF06YixtLm1lcmdlKHRoaXMsbS5wYXJzZUhUTUwoY1sxXSxiJiZiLm5vZGVUeXBlP2Iub3duZXJEb2N1bWVudHx8Yjp5LCEwKSksdS50ZXN0KGNbMV0pJiZtLmlzUGxhaW5PYmplY3QoYikpZm9yKGMgaW4gYiltLmlzRnVuY3Rpb24odGhpc1tjXSk/dGhpc1tjXShiW2NdKTp0aGlzLmF0dHIoYyxiW2NdKTtyZXR1cm4gdGhpc31pZihkPXkuZ2V0RWxlbWVudEJ5SWQoY1syXSksZCYmZC5wYXJlbnROb2RlKXtpZihkLmlkIT09Y1syXSlyZXR1cm4geC5maW5kKGEpO3RoaXMubGVuZ3RoPTEsdGhpc1swXT1kfXJldHVybiB0aGlzLmNvbnRleHQ9eSx0aGlzLnNlbGVjdG9yPWEsdGhpc31yZXR1cm4gYS5ub2RlVHlwZT8odGhpcy5jb250ZXh0PXRoaXNbMF09YSx0aGlzLmxlbmd0aD0xLHRoaXMpOm0uaXNGdW5jdGlvbihhKT8idW5kZWZpbmVkIiE9dHlwZW9mIHgucmVhZHk/eC5yZWFkeShhKTphKG0pOih2b2lkIDAhPT1hLnNlbGVjdG9yJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1hLmNvbnRleHQpLG0ubWFrZUFycmF5KGEsdGhpcykpfTtBLnByb3RvdHlwZT1tLmZuLHg9bSh5KTt2YXIgQj0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyxDPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O20uZXh0ZW5kKHtkaXI6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9YVtiXTt3aGlsZShlJiY5IT09ZS5ub2RlVHlwZSYmKHZvaWQgMD09PWN8fDEhPT1lLm5vZGVUeXBlfHwhbShlKS5pcyhjKSkpMT09PWUubm9kZVR5cGUmJmQucHVzaChlKSxlPWVbYl07cmV0dXJuIGR9LHNpYmxpbmc6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9W107YTthPWEubmV4dFNpYmxpbmcpMT09PWEubm9kZVR5cGUmJmEhPT1iJiZjLnB1c2goYSk7cmV0dXJuIGN9fSksbS5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihhKXt2YXIgYixjPW0oYSx0aGlzKSxkPWMubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2ZvcihiPTA7ZD5iO2IrKylpZihtLmNvbnRhaW5zKHRoaXMsY1tiXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYyxkPTAsZT10aGlzLmxlbmd0aCxmPVtdLGc9dC50ZXN0KGEpfHwic3RyaW5nIiE9dHlwZW9mIGE/bShhLGJ8fHRoaXMuY29udGV4dCk6MDtlPmQ7ZCsrKWZvcihjPXRoaXNbZF07YyYmYyE9PWI7Yz1jLnBhcmVudE5vZGUpaWYoYy5ub2RlVHlwZTwxMSYmKGc/Zy5pbmRleChjKT4tMToxPT09Yy5ub2RlVHlwZSYmbS5maW5kLm1hdGNoZXNTZWxlY3RvcihjLGEpKSl7Zi5wdXNoKGMpO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhmLmxlbmd0aD4xP20udW5pcXVlKGYpOmYpfSxpbmRleDpmdW5jdGlvbihhKXtyZXR1cm4gYT8ic3RyaW5nIj09dHlwZW9mIGE/bS5pbkFycmF5KHRoaXNbMF0sbShhKSk6bS5pbkFycmF5KGEuanF1ZXJ5P2FbMF06YSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLnB1c2hTdGFjayhtLnVuaXF1ZShtLm1lcmdlKHRoaXMuZ2V0KCksbShhLGIpKSkpfSxhZGRCYWNrOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFkZChudWxsPT1hP3RoaXMucHJldk9iamVjdDp0aGlzLnByZXZPYmplY3QuZmlsdGVyKGEpKX19KTtmdW5jdGlvbiBEKGEsYil7ZG8gYT1hW2JdO3doaWxlKGEmJjEhPT1hLm5vZGVUeXBlKTtyZXR1cm4gYX1tLmVhY2goe3BhcmVudDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJjExIT09Yi5ub2RlVHlwZT9iOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uZGlyKGEsInBhcmVudE5vZGUiKX0scGFyZW50c1VudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5kaXIoYSwicGFyZW50Tm9kZSIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEQoYSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gRChhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gbS5kaXIoYSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gbS5kaXIoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0uZGlyKGEsIm5leHRTaWJsaW5nIixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5kaXIoYSwicHJldmlvdXNTaWJsaW5nIixjKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uc2libGluZygoYS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIG0uc2libGluZyhhLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLCJpZnJhbWUiKT9hLmNvbnRlbnREb2N1bWVudHx8YS5jb250ZW50V2luZG93LmRvY3VtZW50Om0ubWVyZ2UoW10sYS5jaGlsZE5vZGVzKX19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihjLGQpe3ZhciBlPW0ubWFwKHRoaXMsYixjKTtyZXR1cm4iVW50aWwiIT09YS5zbGljZSgtNSkmJihkPWMpLGQmJiJzdHJpbmciPT10eXBlb2YgZCYmKGU9bS5maWx0ZXIoZCxlKSksdGhpcy5sZW5ndGg+MSYmKENbYV18fChlPW0udW5pcXVlKGUpKSxCLnRlc3QoYSkmJihlPWUucmV2ZXJzZSgpKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEU9L1xTKy9nLEY9e307ZnVuY3Rpb24gRyhhKXt2YXIgYj1GW2FdPXt9O3JldHVybiBtLmVhY2goYS5tYXRjaChFKXx8W10sZnVuY3Rpb24oYSxjKXtiW2NdPSEwfSksYn1tLkNhbGxiYWNrcz1mdW5jdGlvbihhKXthPSJzdHJpbmciPT10eXBlb2YgYT9GW2FdfHxHKGEpOm0uZXh0ZW5kKHt9LGEpO3ZhciBiLGMsZCxlLGYsZyxoPVtdLGk9IWEub25jZSYmW10saj1mdW5jdGlvbihsKXtmb3IoYz1hLm1lbW9yeSYmbCxkPSEwLGY9Z3x8MCxnPTAsZT1oLmxlbmd0aCxiPSEwO2gmJmU+ZjtmKyspaWYoaFtmXS5hcHBseShsWzBdLGxbMV0pPT09ITEmJmEuc3RvcE9uRmFsc2Upe2M9ITE7YnJlYWt9Yj0hMSxoJiYoaT9pLmxlbmd0aCYmaihpLnNoaWZ0KCkpOmM/aD1bXTprLmRpc2FibGUoKSl9LGs9e2FkZDpmdW5jdGlvbigpe2lmKGgpe3ZhciBkPWgubGVuZ3RoOyFmdW5jdGlvbiBmKGIpe20uZWFjaChiLGZ1bmN0aW9uKGIsYyl7dmFyIGQ9bS50eXBlKGMpOyJmdW5jdGlvbiI9PT1kP2EudW5pcXVlJiZrLmhhcyhjKXx8aC5wdXNoKGMpOmMmJmMubGVuZ3RoJiYic3RyaW5nIiE9PWQmJmYoYyl9KX0oYXJndW1lbnRzKSxiP2U9aC5sZW5ndGg6YyYmKGc9ZCxqKGMpKX1yZXR1cm4gdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIGgmJm0uZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oYSxjKXt2YXIgZDt3aGlsZSgoZD1tLmluQXJyYXkoYyxoLGQpKT4tMSloLnNwbGljZShkLDEpLGImJihlPj1kJiZlLS0sZj49ZCYmZi0tKX0pLHRoaXN9LGhhczpmdW5jdGlvbihhKXtyZXR1cm4gYT9tLmluQXJyYXkoYSxoKT4tMTohKCFofHwhaC5sZW5ndGgpfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBoPVtdLGU9MCx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGg9aT1jPXZvaWQgMCx0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFofSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGk9dm9pZCAwLGN8fGsuZGlzYWJsZSgpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiFpfSxmaXJlV2l0aDpmdW5jdGlvbihhLGMpe3JldHVybiFofHxkJiYhaXx8KGM9Y3x8W10sYz1bYSxjLnNsaWNlP2Muc2xpY2UoKTpjXSxiP2kucHVzaChjKTpqKGMpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIGsuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFkfX07cmV0dXJuIGt9LG0uZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihhKXt2YXIgYj1bWyJyZXNvbHZlIiwiZG9uZSIsbS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksInJlc29sdmVkIl0sWyJyZWplY3QiLCJmYWlsIixtLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwicmVqZWN0ZWQiXSxbIm5vdGlmeSIsInByb2dyZXNzIixtLkNhbGxiYWNrcygibWVtb3J5IildXSxjPSJwZW5kaW5nIixkPXtzdGF0ZTpmdW5jdGlvbigpe3JldHVybiBjfSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gZS5kb25lKGFyZ3VtZW50cykuZmFpbChhcmd1bWVudHMpLHRoaXN9LHRoZW46ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7cmV0dXJuIG0uRGVmZXJyZWQoZnVuY3Rpb24oYyl7bS5lYWNoKGIsZnVuY3Rpb24oYixmKXt2YXIgZz1tLmlzRnVuY3Rpb24oYVtiXSkmJmFbYl07ZVtmWzFdXShmdW5jdGlvbigpe3ZhciBhPWcmJmcuYXBwbHkodGhpcyxhcmd1bWVudHMpO2EmJm0uaXNGdW5jdGlvbihhLnByb21pc2UpP2EucHJvbWlzZSgpLmRvbmUoYy5yZXNvbHZlKS5mYWlsKGMucmVqZWN0KS5wcm9ncmVzcyhjLm5vdGlmeSk6Y1tmWzBdKyJXaXRoIl0odGhpcz09PWQ/Yy5wcm9taXNlKCk6dGhpcyxnP1thXTphcmd1bWVudHMpfSl9KSxhPW51bGx9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/bS5leHRlbmQoYSxkKTpkfX0sZT17fTtyZXR1cm4gZC5waXBlPWQudGhlbixtLmVhY2goYixmdW5jdGlvbihhLGYpe3ZhciBnPWZbMl0saD1mWzNdO2RbZlsxXV09Zy5hZGQsaCYmZy5hZGQoZnVuY3Rpb24oKXtjPWh9LGJbMV5hXVsyXS5kaXNhYmxlLGJbMl1bMl0ubG9jayksZVtmWzBdXT1mdW5jdGlvbigpe3JldHVybiBlW2ZbMF0rIldpdGgiXSh0aGlzPT09ZT9kOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxlW2ZbMF0rIldpdGgiXT1nLmZpcmVXaXRofSksZC5wcm9taXNlKGUpLGEmJmEuY2FsbChlLGUpLGV9LHdoZW46ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPWQuY2FsbChhcmd1bWVudHMpLGU9Yy5sZW5ndGgsZj0xIT09ZXx8YSYmbS5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/ZTowLGc9MT09PWY/YTptLkRlZmVycmVkKCksaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGUpe2JbYV09dGhpcyxjW2FdPWFyZ3VtZW50cy5sZW5ndGg+MT9kLmNhbGwoYXJndW1lbnRzKTplLGM9PT1pP2cubm90aWZ5V2l0aChiLGMpOi0tZnx8Zy5yZXNvbHZlV2l0aChiLGMpfX0saSxqLGs7aWYoZT4xKWZvcihpPW5ldyBBcnJheShlKSxqPW5ldyBBcnJheShlKSxrPW5ldyBBcnJheShlKTtlPmI7YisrKWNbYl0mJm0uaXNGdW5jdGlvbihjW2JdLnByb21pc2UpP2NbYl0ucHJvbWlzZSgpLmRvbmUoaChiLGssYykpLmZhaWwoZy5yZWplY3QpLnByb2dyZXNzKGgoYixqLGkpKTotLWY7cmV0dXJuIGZ8fGcucmVzb2x2ZVdpdGgoayxjKSxnLnByb21pc2UoKX19KTt2YXIgSDttLmZuLnJlYWR5PWZ1bmN0aW9uKGEpe3JldHVybiBtLnJlYWR5LnByb21pc2UoKS5kb25lKGEpLHRoaXN9LG0uZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLGhvbGRSZWFkeTpmdW5jdGlvbihhKXthP20ucmVhZHlXYWl0Kys6bS5yZWFkeSghMCl9LHJlYWR5OmZ1bmN0aW9uKGEpe2lmKGE9PT0hMD8hLS1tLnJlYWR5V2FpdDohbS5pc1JlYWR5KXtpZigheS5ib2R5KXJldHVybiBzZXRUaW1lb3V0KG0ucmVhZHkpO20uaXNSZWFkeT0hMCxhIT09ITAmJi0tbS5yZWFkeVdhaXQ+MHx8KEgucmVzb2x2ZVdpdGgoeSxbbV0pLG0uZm4udHJpZ2dlckhhbmRsZXImJihtKHkpLnRyaWdnZXJIYW5kbGVyKCJyZWFkeSIpLG0oeSkub2ZmKCJyZWFkeSIpKSl9fX0pO2Z1bmN0aW9uIEkoKXt5LmFkZEV2ZW50TGlzdGVuZXI/KHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsSiwhMSksYS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixKLCExKSk6KHkuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsSiksYS5kZXRhY2hFdmVudCgib25sb2FkIixKKSl9ZnVuY3Rpb24gSigpeyh5LmFkZEV2ZW50TGlzdGVuZXJ8fCJsb2FkIj09PWV2ZW50LnR5cGV8fCJjb21wbGV0ZSI9PT15LnJlYWR5U3RhdGUpJiYoSSgpLG0ucmVhZHkoKSl9bS5yZWFkeS5wcm9taXNlPWZ1bmN0aW9uKGIpe2lmKCFIKWlmKEg9bS5EZWZlcnJlZCgpLCJjb21wbGV0ZSI9PT15LnJlYWR5U3RhdGUpc2V0VGltZW91dChtLnJlYWR5KTtlbHNlIGlmKHkuYWRkRXZlbnRMaXN0ZW5lcil5LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEosITEpLGEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsSiwhMSk7ZWxzZXt5LmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLEopLGEuYXR0YWNoRXZlbnQoIm9ubG9hZCIsSik7dmFyIGM9ITE7dHJ5e2M9bnVsbD09YS5mcmFtZUVsZW1lbnQmJnkuZG9jdW1lbnRFbGVtZW50fWNhdGNoKGQpe31jJiZjLmRvU2Nyb2xsJiYhZnVuY3Rpb24gZSgpe2lmKCFtLmlzUmVhZHkpe3RyeXtjLmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goYSl7cmV0dXJuIHNldFRpbWVvdXQoZSw1MCl9SSgpLG0ucmVhZHkoKX19KCl9cmV0dXJuIEgucHJvbWlzZShiKX07dmFyIEs9InVuZGVmaW5lZCIsTDtmb3IoTCBpbiBtKGspKWJyZWFrO2sub3duTGFzdD0iMCIhPT1MLGsuaW5saW5lQmxvY2tOZWVkc0xheW91dD0hMSxtKGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ7Yz15LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0sYyYmYy5zdHlsZSYmKGI9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZC5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweCIsYy5hcHBlbmRDaGlsZChkKS5hcHBlbmRDaGlsZChiKSx0eXBlb2YgYi5zdHlsZS56b29tIT09SyYmKGIuc3R5bGUuY3NzVGV4dD0iZGlzcGxheTppbmxpbmU7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzoxcHg7d2lkdGg6MXB4O3pvb206MSIsay5pbmxpbmVCbG9ja05lZWRzTGF5b3V0PWE9Mz09PWIub2Zmc2V0V2lkdGgsYSYmKGMuc3R5bGUuem9vbT0xKSksYy5yZW1vdmVDaGlsZChkKSl9KSxmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYobnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBhLnRlc3R9Y2F0Y2goYil7ay5kZWxldGVFeHBhbmRvPSExfX1hPW51bGx9KCksbS5hY2NlcHREYXRhPWZ1bmN0aW9uKGEpe3ZhciBiPW0ubm9EYXRhWyhhLm5vZGVOYW1lKyIgIikudG9Mb3dlckNhc2UoKV0sYz0rYS5ub2RlVHlwZXx8MTtyZXR1cm4gMSE9PWMmJjkhPT1jPyExOiFifHxiIT09ITAmJmEuZ2V0QXR0cmlidXRlKCJjbGFzc2lkIik9PT1ifTt2YXIgTT0vXig/Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLE49LyhbQS1aXSkvZztmdW5jdGlvbiBPKGEsYixjKXtpZih2b2lkIDA9PT1jJiYxPT09YS5ub2RlVHlwZSl7dmFyIGQ9ImRhdGEtIitiLnJlcGxhY2UoTiwiLSQxIikudG9Mb3dlckNhc2UoKTtpZihjPWEuZ2V0QXR0cmlidXRlKGQpLCJzdHJpbmciPT10eXBlb2YgYyl7dHJ5e2M9InRydWUiPT09Yz8hMDoiZmFsc2UiPT09Yz8hMToibnVsbCI9PT1jP251bGw6K2MrIiI9PT1jPytjOk0udGVzdChjKT9tLnBhcnNlSlNPTihjKTpjfWNhdGNoKGUpe31tLmRhdGEoYSxiLGMpfWVsc2UgYz12b2lkIDB9cmV0dXJuIGN9ZnVuY3Rpb24gUChhKXt2YXIgYjtmb3IoYiBpbiBhKWlmKCgiZGF0YSIhPT1ifHwhbS5pc0VtcHR5T2JqZWN0KGFbYl0pKSYmInRvSlNPTiIhPT1iKXJldHVybiExOwoKcmV0dXJuITB9ZnVuY3Rpb24gUShhLGIsZCxlKXtpZihtLmFjY2VwdERhdGEoYSkpe3ZhciBmLGcsaD1tLmV4cGFuZG8saT1hLm5vZGVUeXBlLGo9aT9tLmNhY2hlOmEsaz1pP2FbaF06YVtoXSYmaDtpZihrJiZqW2tdJiYoZXx8altrXS5kYXRhKXx8dm9pZCAwIT09ZHx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBrfHwoaz1pP2FbaF09Yy5wb3AoKXx8bS5ndWlkKys6aCksaltrXXx8KGpba109aT97fTp7dG9KU09OOm0ubm9vcH0pLCgib2JqZWN0Ij09dHlwZW9mIGJ8fCJmdW5jdGlvbiI9PXR5cGVvZiBiKSYmKGU/altrXT1tLmV4dGVuZChqW2tdLGIpOmpba10uZGF0YT1tLmV4dGVuZChqW2tdLmRhdGEsYikpLGc9altrXSxlfHwoZy5kYXRhfHwoZy5kYXRhPXt9KSxnPWcuZGF0YSksdm9pZCAwIT09ZCYmKGdbbS5jYW1lbENhc2UoYildPWQpLCJzdHJpbmciPT10eXBlb2YgYj8oZj1nW2JdLG51bGw9PWYmJihmPWdbbS5jYW1lbENhc2UoYildKSk6Zj1nLGZ9fWZ1bmN0aW9uIFIoYSxiLGMpe2lmKG0uYWNjZXB0RGF0YShhKSl7dmFyIGQsZSxmPWEubm9kZVR5cGUsZz1mP20uY2FjaGU6YSxoPWY/YVttLmV4cGFuZG9dOm0uZXhwYW5kbztpZihnW2hdKXtpZihiJiYoZD1jP2dbaF06Z1toXS5kYXRhKSl7bS5pc0FycmF5KGIpP2I9Yi5jb25jYXQobS5tYXAoYixtLmNhbWVsQ2FzZSkpOmIgaW4gZD9iPVtiXTooYj1tLmNhbWVsQ2FzZShiKSxiPWIgaW4gZD9bYl06Yi5zcGxpdCgiICIpKSxlPWIubGVuZ3RoO3doaWxlKGUtLSlkZWxldGUgZFtiW2VdXTtpZihjPyFQKGQpOiFtLmlzRW1wdHlPYmplY3QoZCkpcmV0dXJufShjfHwoZGVsZXRlIGdbaF0uZGF0YSxQKGdbaF0pKSkmJihmP20uY2xlYW5EYXRhKFthXSwhMCk6ay5kZWxldGVFeHBhbmRvfHxnIT1nLndpbmRvdz9kZWxldGUgZ1toXTpnW2hdPW51bGwpfX19bS5leHRlbmQoe2NhY2hlOnt9LG5vRGF0YTp7ImFwcGxldCAiOiEwLCJlbWJlZCAiOiEwLCJvYmplY3QgIjoiY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIn0saGFzRGF0YTpmdW5jdGlvbihhKXtyZXR1cm4gYT1hLm5vZGVUeXBlP20uY2FjaGVbYVttLmV4cGFuZG9dXTphW20uZXhwYW5kb10sISFhJiYhUChhKX0sZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIFEoYSxiLGMpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFIoYSxiKX0sX2RhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBRKGEsYixjLCEwKX0sX3JlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gUihhLGIsITApfX0pLG0uZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9dGhpc1swXSxnPWYmJmYuYXR0cmlidXRlcztpZih2b2lkIDA9PT1hKXtpZih0aGlzLmxlbmd0aCYmKGU9bS5kYXRhKGYpLDE9PT1mLm5vZGVUeXBlJiYhbS5fZGF0YShmLCJwYXJzZWRBdHRycyIpKSl7Yz1nLmxlbmd0aDt3aGlsZShjLS0pZ1tjXSYmKGQ9Z1tjXS5uYW1lLDA9PT1kLmluZGV4T2YoImRhdGEtIikmJihkPW0uY2FtZWxDYXNlKGQuc2xpY2UoNSkpLE8oZixkLGVbZF0pKSk7bS5fZGF0YShmLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBlfXJldHVybiJvYmplY3QiPT10eXBlb2YgYT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhKX0pOmFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhLGIpfSk6Zj9PKGYsYSxtLmRhdGEoZixhKSk6dm9pZCAwfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXttLnJlbW92ZURhdGEodGhpcyxhKX0pfX0pLG0uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGE/KGI9KGJ8fCJmeCIpKyJxdWV1ZSIsZD1tLl9kYXRhKGEsYiksYyYmKCFkfHxtLmlzQXJyYXkoYyk/ZD1tLl9kYXRhKGEsYixtLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKSxkfHxbXSk6dm9pZCAwfSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBjPW0ucXVldWUoYSxiKSxkPWMubGVuZ3RoLGU9Yy5zaGlmdCgpLGY9bS5fcXVldWVIb29rcyhhLGIpLGc9ZnVuY3Rpb24oKXttLmRlcXVldWUoYSxiKX07ImlucHJvZ3Jlc3MiPT09ZSYmKGU9Yy5zaGlmdCgpLGQtLSksZSYmKCJmeCI9PT1iJiZjLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgZi5zdG9wLGUuY2FsbChhLGcsZikpLCFkJiZmJiZmLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKyJxdWV1ZUhvb2tzIjtyZXR1cm4gbS5fZGF0YShhLGMpfHxtLl9kYXRhKGEsYyx7ZW1wdHk6bS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7bS5fcmVtb3ZlRGF0YShhLGIrInF1ZXVlIiksbS5fcmVtb3ZlRGF0YShhLGMpfSl9KX19KSxtLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiKXt2YXIgYz0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPSJmeCIsYy0tKSxhcmd1bWVudHMubGVuZ3RoPGM/bS5xdWV1ZSh0aGlzWzBdLGEpOnZvaWQgMD09PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1tLnF1ZXVlKHRoaXMsYSxiKTttLl9xdWV1ZUhvb2tzKHRoaXMsYSksImZ4Ij09PWEmJiJpbnByb2dyZXNzIiE9PWNbMF0mJm0uZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZGVxdWV1ZSh0aGlzLGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9LHByb21pc2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTEsZT1tLkRlZmVycmVkKCksZj10aGlzLGc9dGhpcy5sZW5ndGgsaD1mdW5jdGlvbigpey0tZHx8ZS5yZXNvbHZlV2l0aChmLFtmXSl9OyJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPXZvaWQgMCksYT1hfHwiZngiO3doaWxlKGctLSljPW0uX2RhdGEoZltnXSxhKyJxdWV1ZUhvb2tzIiksYyYmYy5lbXB0eSYmKGQrKyxjLmVtcHR5LmFkZChoKSk7cmV0dXJuIGgoKSxlLnByb21pc2UoYil9fSk7dmFyIFM9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsVD1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLFU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1ifHxhLCJub25lIj09PW0uY3NzKGEsImRpc3BsYXkiKXx8IW0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfSxWPW0uYWNjZXNzPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPTAsaT1hLmxlbmd0aCxqPW51bGw9PWM7aWYoIm9iamVjdCI9PT1tLnR5cGUoYykpe2U9ITA7Zm9yKGggaW4gYyltLmFjY2VzcyhhLGIsaCxjW2hdLCEwLGYsZyl9ZWxzZSBpZih2b2lkIDAhPT1kJiYoZT0hMCxtLmlzRnVuY3Rpb24oZCl8fChnPSEwKSxqJiYoZz8oYi5jYWxsKGEsZCksYj1udWxsKTooaj1iLGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqLmNhbGwobShhKSxjKX0pKSxiKSlmb3IoO2k+aDtoKyspYihhW2hdLGMsZz9kOmQuY2FsbChhW2hdLGgsYihhW2hdLGMpKSk7cmV0dXJuIGU/YTpqP2IuY2FsbChhKTppP2IoYVswXSxjKTpmfSxXPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pOyFmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYz15LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixrLmxlYWRpbmdXaGl0ZXNwYWNlPTM9PT1iLmZpcnN0Q2hpbGQubm9kZVR5cGUsay50Ym9keT0hYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKS5sZW5ndGgsay5odG1sU2VyaWFsaXplPSEhYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxrLmh0bWw1Q2xvbmU9Ijw6bmF2PjwvOm5hdj4iIT09eS5jcmVhdGVFbGVtZW50KCJuYXYiKS5jbG9uZU5vZGUoITApLm91dGVySFRNTCxhLnR5cGU9ImNoZWNrYm94IixhLmNoZWNrZWQ9ITAsYy5hcHBlbmRDaGlsZChhKSxrLmFwcGVuZENoZWNrZWQ9YS5jaGVja2VkLGIuaW5uZXJIVE1MPSI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+IixrLm5vQ2xvbmVDaGVja2VkPSEhYi5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUsYy5hcHBlbmRDaGlsZChiKSxiLmlubmVySFRNTD0iPGlucHV0IHR5cGU9J3JhZGlvJyBjaGVja2VkPSdjaGVja2VkJyBuYW1lPSd0Jy8+IixrLmNoZWNrQ2xvbmU9Yi5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsay5ub0Nsb25lRXZlbnQ9ITAsYi5hdHRhY2hFdmVudCYmKGIuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1bmN0aW9uKCl7ay5ub0Nsb25lRXZlbnQ9ITF9KSxiLmNsb25lTm9kZSghMCkuY2xpY2soKSksbnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBiLnRlc3R9Y2F0Y2goZCl7ay5kZWxldGVFeHBhbmRvPSExfX19KCksZnVuY3Rpb24oKXt2YXIgYixjLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKTtmb3IoYiBpbntzdWJtaXQ6ITAsY2hhbmdlOiEwLGZvY3VzaW46ITB9KWM9Im9uIitiLChrW2IrIkJ1YmJsZXMiXT1jIGluIGEpfHwoZC5zZXRBdHRyaWJ1dGUoYywidCIpLGtbYisiQnViYmxlcyJdPWQuYXR0cmlidXRlc1tjXS5leHBhbmRvPT09ITEpO2Q9bnVsbH0oKTt2YXIgWD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYSkkL2ksWT0vXmtleS8sWj0vXig/Om1vdXNlfHBvaW50ZXJ8Y29udGV4dG1lbnUpfGNsaWNrLywkPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyxfPS9eKFteLl0qKSg/OlwuKC4rKXwpJC87ZnVuY3Rpb24gYWEoKXtyZXR1cm4hMH1mdW5jdGlvbiBiYSgpe3JldHVybiExfWZ1bmN0aW9uIGNhKCl7dHJ5e3JldHVybiB5LmFjdGl2ZUVsZW1lbnR9Y2F0Y2goYSl7fX1tLmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGksaixrLGwsbixvLHAscSxyPW0uX2RhdGEoYSk7aWYocil7Yy5oYW5kbGVyJiYoaT1jLGM9aS5oYW5kbGVyLGU9aS5zZWxlY3RvciksYy5ndWlkfHwoYy5ndWlkPW0uZ3VpZCsrKSwoZz1yLmV2ZW50cyl8fChnPXIuZXZlbnRzPXt9KSwoaz1yLmhhbmRsZSl8fChrPXIuaGFuZGxlPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgbT09PUt8fGEmJm0uZXZlbnQudHJpZ2dlcmVkPT09YS50eXBlP3ZvaWQgMDptLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGsuZWxlbSxhcmd1bWVudHMpfSxrLmVsZW09YSksYj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGg9Yi5sZW5ndGg7d2hpbGUoaC0tKWY9Xy5leGVjKGJbaF0pfHxbXSxvPXE9ZlsxXSxwPShmWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyYmKGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxvPShlP2ouZGVsZWdhdGVUeXBlOmouYmluZFR5cGUpfHxvLGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxsPW0uZXh0ZW5kKHt0eXBlOm8sb3JpZ1R5cGU6cSxkYXRhOmQsaGFuZGxlcjpjLGd1aWQ6Yy5ndWlkLHNlbGVjdG9yOmUsbmVlZHNDb250ZXh0OmUmJm0uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChlKSxuYW1lc3BhY2U6cC5qb2luKCIuIil9LGkpLChuPWdbb10pfHwobj1nW29dPVtdLG4uZGVsZWdhdGVDb3VudD0wLGouc2V0dXAmJmouc2V0dXAuY2FsbChhLGQscCxrKSE9PSExfHwoYS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihvLGssITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9uIitvLGspKSksai5hZGQmJihqLmFkZC5jYWxsKGEsbCksbC5oYW5kbGVyLmd1aWR8fChsLmhhbmRsZXIuZ3VpZD1jLmd1aWQpKSxlP24uc3BsaWNlKG4uZGVsZWdhdGVDb3VudCsrLDAsbCk6bi5wdXNoKGwpLG0uZXZlbnQuZ2xvYmFsW29dPSEwKTthPW51bGx9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxuLG8scCxxLHI9bS5oYXNEYXRhKGEpJiZtLl9kYXRhKGEpO2lmKHImJihrPXIuZXZlbnRzKSl7Yj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWlmKGg9Xy5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyl7bD1tLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGQ/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG8sbj1rW29dfHxbXSxoPWhbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK3Auam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksaT1mPW4ubGVuZ3RoO3doaWxlKGYtLSlnPW5bZl0sIWUmJnEhPT1nLm9yaWdUeXBlfHxjJiZjLmd1aWQhPT1nLmd1aWR8fGgmJiFoLnRlc3QoZy5uYW1lc3BhY2UpfHxkJiZkIT09Zy5zZWxlY3RvciYmKCIqKiIhPT1kfHwhZy5zZWxlY3Rvcil8fChuLnNwbGljZShmLDEpLGcuc2VsZWN0b3ImJm4uZGVsZWdhdGVDb3VudC0tLGwucmVtb3ZlJiZsLnJlbW92ZS5jYWxsKGEsZykpO2kmJiFuLmxlbmd0aCYmKGwudGVhcmRvd24mJmwudGVhcmRvd24uY2FsbChhLHAsci5oYW5kbGUpIT09ITF8fG0ucmVtb3ZlRXZlbnQoYSxvLHIuaGFuZGxlKSxkZWxldGUga1tvXSl9ZWxzZSBmb3IobyBpbiBrKW0uZXZlbnQucmVtb3ZlKGEsbytiW2pdLGMsZCwhMCk7bS5pc0VtcHR5T2JqZWN0KGspJiYoZGVsZXRlIHIuaGFuZGxlLG0uX3JlbW92ZURhdGEoYSwiZXZlbnRzIikpfX0sdHJpZ2dlcjpmdW5jdGlvbihiLGMsZCxlKXt2YXIgZixnLGgsaSxrLGwsbixvPVtkfHx5XSxwPWouY2FsbChiLCJ0eXBlIik/Yi50eXBlOmIscT1qLmNhbGwoYiwibmFtZXNwYWNlIik/Yi5uYW1lc3BhY2Uuc3BsaXQoIi4iKTpbXTtpZihoPWw9ZD1kfHx5LDMhPT1kLm5vZGVUeXBlJiY4IT09ZC5ub2RlVHlwZSYmISQudGVzdChwK20uZXZlbnQudHJpZ2dlcmVkKSYmKHAuaW5kZXhPZigiLiIpPj0wJiYocT1wLnNwbGl0KCIuIikscD1xLnNoaWZ0KCkscS5zb3J0KCkpLGc9cC5pbmRleE9mKCI6Iik8MCYmIm9uIitwLGI9YlttLmV4cGFuZG9dP2I6bmV3IG0uRXZlbnQocCwib2JqZWN0Ij09dHlwZW9mIGImJmIpLGIuaXNUcmlnZ2VyPWU/MjozLGIubmFtZXNwYWNlPXEuam9pbigiLiIpLGIubmFtZXNwYWNlX3JlPWIubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK3Euam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxiLnJlc3VsdD12b2lkIDAsYi50YXJnZXR8fChiLnRhcmdldD1kKSxjPW51bGw9PWM/W2JdOm0ubWFrZUFycmF5KGMsW2JdKSxrPW0uZXZlbnQuc3BlY2lhbFtwXXx8e30sZXx8IWsudHJpZ2dlcnx8ay50cmlnZ2VyLmFwcGx5KGQsYykhPT0hMSkpe2lmKCFlJiYhay5ub0J1YmJsZSYmIW0uaXNXaW5kb3coZCkpe2ZvcihpPWsuZGVsZWdhdGVUeXBlfHxwLCQudGVzdChpK3ApfHwoaD1oLnBhcmVudE5vZGUpO2g7aD1oLnBhcmVudE5vZGUpby5wdXNoKGgpLGw9aDtsPT09KGQub3duZXJEb2N1bWVudHx8eSkmJm8ucHVzaChsLmRlZmF1bHRWaWV3fHxsLnBhcmVudFdpbmRvd3x8YSl9bj0wO3doaWxlKChoPW9bbisrXSkmJiFiLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYi50eXBlPW4+MT9pOmsuYmluZFR5cGV8fHAsZj0obS5fZGF0YShoLCJldmVudHMiKXx8e30pW2IudHlwZV0mJm0uX2RhdGEoaCwiaGFuZGxlIiksZiYmZi5hcHBseShoLGMpLGY9ZyYmaFtnXSxmJiZmLmFwcGx5JiZtLmFjY2VwdERhdGEoaCkmJihiLnJlc3VsdD1mLmFwcGx5KGgsYyksYi5yZXN1bHQ9PT0hMSYmYi5wcmV2ZW50RGVmYXVsdCgpKTtpZihiLnR5cGU9cCwhZSYmIWIuaXNEZWZhdWx0UHJldmVudGVkKCkmJighay5fZGVmYXVsdHx8ay5fZGVmYXVsdC5hcHBseShvLnBvcCgpLGMpPT09ITEpJiZtLmFjY2VwdERhdGEoZCkmJmcmJmRbcF0mJiFtLmlzV2luZG93KGQpKXtsPWRbZ10sbCYmKGRbZ109bnVsbCksbS5ldmVudC50cmlnZ2VyZWQ9cDt0cnl7ZFtwXSgpfWNhdGNoKHIpe31tLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsbCYmKGRbZ109bCl9cmV0dXJuIGIucmVzdWx0fX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YT1tLmV2ZW50LmZpeChhKTt2YXIgYixjLGUsZixnLGg9W10saT1kLmNhbGwoYXJndW1lbnRzKSxqPShtLl9kYXRhKHRoaXMsImV2ZW50cyIpfHx7fSlbYS50eXBlXXx8W10saz1tLmV2ZW50LnNwZWNpYWxbYS50eXBlXXx8e307aWYoaVswXT1hLGEuZGVsZWdhdGVUYXJnZXQ9dGhpcywhay5wcmVEaXNwYXRjaHx8ay5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsYSkhPT0hMSl7aD1tLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyxhLGopLGI9MDt3aGlsZSgoZj1oW2IrK10pJiYhYS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXthLmN1cnJlbnRUYXJnZXQ9Zi5lbGVtLGc9MDt3aGlsZSgoZT1mLmhhbmRsZXJzW2crK10pJiYhYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKSghYS5uYW1lc3BhY2VfcmV8fGEubmFtZXNwYWNlX3JlLnRlc3QoZS5uYW1lc3BhY2UpKSYmKGEuaGFuZGxlT2JqPWUsYS5kYXRhPWUuZGF0YSxjPSgobS5ldmVudC5zcGVjaWFsW2Uub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxlLmhhbmRsZXIpLmFwcGx5KGYuZWxlbSxpKSx2b2lkIDAhPT1jJiYoYS5yZXN1bHQ9Yyk9PT0hMSYmKGEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGsucG9zdERpc3BhdGNoJiZrLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsYSksYS5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc9W10saD1iLmRlbGVnYXRlQ291bnQsaT1hLnRhcmdldDtpZihoJiZpLm5vZGVUeXBlJiYoIWEuYnV0dG9ufHwiY2xpY2siIT09YS50eXBlKSlmb3IoO2khPXRoaXM7aT1pLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWkubm9kZVR5cGUmJihpLmRpc2FibGVkIT09ITB8fCJjbGljayIhPT1hLnR5cGUpKXtmb3IoZT1bXSxmPTA7aD5mO2YrKylkPWJbZl0sYz1kLnNlbGVjdG9yKyIgIix2b2lkIDA9PT1lW2NdJiYoZVtjXT1kLm5lZWRzQ29udGV4dD9tKGMsdGhpcykuaW5kZXgoaSk+PTA6bS5maW5kKGMsdGhpcyxudWxsLFtpXSkubGVuZ3RoKSxlW2NdJiZlLnB1c2goZCk7ZS5sZW5ndGgmJmcucHVzaCh7ZWxlbTppLGhhbmRsZXJzOmV9KX1yZXR1cm4gaDxiLmxlbmd0aCYmZy5wdXNoKHtlbGVtOnRoaXMsaGFuZGxlcnM6Yi5zbGljZShoKX0pLGd9LGZpeDpmdW5jdGlvbihhKXtpZihhW20uZXhwYW5kb10pcmV0dXJuIGE7dmFyIGIsYyxkLGU9YS50eXBlLGY9YSxnPXRoaXMuZml4SG9va3NbZV07Z3x8KHRoaXMuZml4SG9va3NbZV09Zz1aLnRlc3QoZSk/dGhpcy5tb3VzZUhvb2tzOlkudGVzdChlKT90aGlzLmtleUhvb2tzOnt9KSxkPWcucHJvcHM/dGhpcy5wcm9wcy5jb25jYXQoZy5wcm9wcyk6dGhpcy5wcm9wcyxhPW5ldyBtLkV2ZW50KGYpLGI9ZC5sZW5ndGg7d2hpbGUoYi0tKWM9ZFtiXSxhW2NdPWZbY107cmV0dXJuIGEudGFyZ2V0fHwoYS50YXJnZXQ9Zi5zcmNFbGVtZW50fHx5KSwzPT09YS50YXJnZXQubm9kZVR5cGUmJihhLnRhcmdldD1hLnRhcmdldC5wYXJlbnROb2RlKSxhLm1ldGFLZXk9ISFhLm1ldGFLZXksZy5maWx0ZXI/Zy5maWx0ZXIoYSxmKTphfSxwcm9wczoiYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLGZpeEhvb2tzOnt9LGtleUhvb2tzOntwcm9wczoiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbD09YS53aGljaCYmKGEud2hpY2g9bnVsbCE9Yi5jaGFyQ29kZT9iLmNoYXJDb2RlOmIua2V5Q29kZSksYX19LG1vdXNlSG9va3M6e3Byb3BzOiJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNsaWVudFkgZnJvbUVsZW1lbnQgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNjcmVlblggc2NyZWVuWSB0b0VsZW1lbnQiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9Yi5idXR0b24sZz1iLmZyb21FbGVtZW50O3JldHVybiBudWxsPT1hLnBhZ2VYJiZudWxsIT1iLmNsaWVudFgmJihkPWEudGFyZ2V0Lm93bmVyRG9jdW1lbnR8fHksZT1kLmRvY3VtZW50RWxlbWVudCxjPWQuYm9keSxhLnBhZ2VYPWIuY2xpZW50WCsoZSYmZS5zY3JvbGxMZWZ0fHxjJiZjLnNjcm9sbExlZnR8fDApLShlJiZlLmNsaWVudExlZnR8fGMmJmMuY2xpZW50TGVmdHx8MCksYS5wYWdlWT1iLmNsaWVudFkrKGUmJmUuc2Nyb2xsVG9wfHxjJiZjLnNjcm9sbFRvcHx8MCktKGUmJmUuY2xpZW50VG9wfHxjJiZjLmNsaWVudFRvcHx8MCkpLCFhLnJlbGF0ZWRUYXJnZXQmJmcmJihhLnJlbGF0ZWRUYXJnZXQ9Zz09PWEudGFyZ2V0P2IudG9FbGVtZW50OmcpLGEud2hpY2h8fHZvaWQgMD09PWZ8fChhLndoaWNoPTEmZj8xOjImZj8zOjQmZj8yOjApLGF9fSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sZm9jdXM6e3RyaWdnZXI6ZnVuY3Rpb24oKXtpZih0aGlzIT09Y2EoKSYmdGhpcy5mb2N1cyl0cnl7cmV0dXJuIHRoaXMuZm9jdXMoKSwhMX1jYXRjaChhKXt9fSxkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM9PT1jYSgpJiZ0aGlzLmJsdXI/KHRoaXMuYmx1cigpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZToiZm9jdXNvdXQifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImlucHV0IikmJiJjaGVja2JveCI9PT10aGlzLnR5cGUmJnRoaXMuY2xpY2s/KHRoaXMuY2xpY2soKSwhMSk6dm9pZCAwfSxfZGVmYXVsdDpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLnRhcmdldCwiYSIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7dm9pZCAwIT09YS5yZXN1bHQmJmEub3JpZ2luYWxFdmVudCYmKGEub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1hLnJlc3VsdCl9fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5leHRlbmQobmV3IG0uRXZlbnQsYyx7dHlwZTphLGlzU2ltdWxhdGVkOiEwLG9yaWdpbmFsRXZlbnQ6e319KTtkP20uZXZlbnQudHJpZ2dlcihlLG51bGwsYik6bS5ldmVudC5kaXNwYXRjaC5jYWxsKGIsZSksZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmYy5wcmV2ZW50RGVmYXVsdCgpfX0sbS5yZW1vdmVFdmVudD15LnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYywhMSl9OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD0ib24iK2I7YS5kZXRhY2hFdmVudCYmKHR5cGVvZiBhW2RdPT09SyYmKGFbZF09bnVsbCksYS5kZXRhY2hFdmVudChkLGMpKX0sbS5FdmVudD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgbS5FdmVudD8oYSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09YS5kZWZhdWx0UHJldmVudGVkJiZhLnJldHVyblZhbHVlPT09ITE/YWE6YmEpOnRoaXMudHlwZT1hLGImJm0uZXh0ZW5kKHRoaXMsYiksdGhpcy50aW1lU3RhbXA9YSYmYS50aW1lU3RhbXB8fG0ubm93KCksdm9pZCh0aGlzW20uZXhwYW5kb109ITApKTpuZXcgbS5FdmVudChhLGIpfSxtLkV2ZW50LnByb3RvdHlwZT17aXNEZWZhdWx0UHJldmVudGVkOmJhLGlzUHJvcGFnYXRpb25TdG9wcGVkOmJhLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOmJhLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPWFhLGEmJihhLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9YWEsYSYmKGEuc3RvcFByb3BhZ2F0aW9uJiZhLnN0b3BQcm9wYWdhdGlvbigpLGEuY2FuY2VsQnViYmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9YWEsYSYmYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJmEuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LG0uZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCIscG9pbnRlcmVudGVyOiJwb2ludGVyb3ZlciIscG9pbnRlcmxlYXZlOiJwb2ludGVyb3V0In0sZnVuY3Rpb24oYSxiKXttLmV2ZW50LnNwZWNpYWxbYV09e2RlbGVnYXRlVHlwZTpiLGJpbmRUeXBlOmIsaGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBjLGQ9dGhpcyxlPWEucmVsYXRlZFRhcmdldCxmPWEuaGFuZGxlT2JqO3JldHVybighZXx8ZSE9PWQmJiFtLmNvbnRhaW5zKGQsZSkpJiYoYS50eXBlPWYub3JpZ1R5cGUsYz1mLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGEudHlwZT1iKSxjfX19KSxrLnN1Ym1pdEJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuc3VibWl0PXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImZvcm0iKT8hMTp2b2lkIG0uZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9zdWJtaXQga2V5cHJlc3MuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1tLm5vZGVOYW1lKGIsImlucHV0Iil8fG0ubm9kZU5hbWUoYiwiYnV0dG9uIik/Yi5mb3JtOnZvaWQgMDtjJiYhbS5fZGF0YShjLCJzdWJtaXRCdWJibGVzIikmJihtLmV2ZW50LmFkZChjLCJzdWJtaXQuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZT0hMH0pLG0uX2RhdGEoYywic3VibWl0QnViYmxlcyIsITApKX0pfSxwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZSYmKGRlbGV0ZSBhLl9zdWJtaXRfYnViYmxlLHRoaXMucGFyZW50Tm9kZSYmIWEuaXNUcmlnZ2VyJiZtLmV2ZW50LnNpbXVsYXRlKCJzdWJtaXQiLHRoaXMucGFyZW50Tm9kZSxhLCEwKSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIG0ubm9kZU5hbWUodGhpcywiZm9ybSIpPyExOnZvaWQgbS5ldmVudC5yZW1vdmUodGhpcywiLl9zdWJtaXQiKX19KSxrLmNoYW5nZUJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBYLnRlc3QodGhpcy5ub2RlTmFtZSk/KCgiY2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlKSYmKG0uZXZlbnQuYWRkKHRoaXMsInByb3BlcnR5Y2hhbmdlLl9jaGFuZ2UiLGZ1bmN0aW9uKGEpeyJjaGVja2VkIj09PWEub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSksbS5ldmVudC5hZGQodGhpcywiY2xpY2suX2NoYW5nZSIsZnVuY3Rpb24oYSl7dGhpcy5fanVzdF9jaGFuZ2VkJiYhYS5pc1RyaWdnZXImJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITEpLG0uZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcyxhLCEwKX0pKSwhMSk6dm9pZCBtLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtYLnRlc3QoYi5ub2RlTmFtZSkmJiFtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiKSYmKG0uZXZlbnQuYWRkKGIsImNoYW5nZS5fY2hhbmdlIixmdW5jdGlvbihhKXshdGhpcy5wYXJlbnROb2RlfHxhLmlzU2ltdWxhdGVkfHxhLmlzVHJpZ2dlcnx8bS5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsYSwhMCl9KSxtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiLCEwKSl9KX0saGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3JldHVybiB0aGlzIT09Ynx8YS5pc1NpbXVsYXRlZHx8YS5pc1RyaWdnZXJ8fCJyYWRpbyIhPT1iLnR5cGUmJiJjaGVja2JveCIhPT1iLnR5cGU/YS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfSx0ZWFyZG93bjpmdW5jdGlvbigpe3JldHVybiBtLmV2ZW50LnJlbW92ZSh0aGlzLCIuX2NoYW5nZSIpLCFYLnRlc3QodGhpcy5ub2RlTmFtZSl9fSksay5mb2N1c2luQnViYmxlc3x8bS5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGEpe20uZXZlbnQuc2ltdWxhdGUoYixhLnRhcmdldCxtLmV2ZW50LmZpeChhKSwhMCl9O20uZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1tLl9kYXRhKGQsYik7ZXx8ZC5hZGRFdmVudExpc3RlbmVyKGEsYywhMCksbS5fZGF0YShkLGIsKGV8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPW0uX2RhdGEoZCxiKS0xO2U/bS5fZGF0YShkLGIsZSk6KGQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApLG0uX3JlbW92ZURhdGEoZCxiKSl9fX0pLG0uZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGc7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXsic3RyaW5nIiE9dHlwZW9mIGImJihjPWN8fGIsYj12b2lkIDApO2ZvcihmIGluIGEpdGhpcy5vbihmLGIsYyxhW2ZdLGUpO3JldHVybiB0aGlzfWlmKG51bGw9PWMmJm51bGw9PWQ/KGQ9YixjPWI9dm9pZCAwKTpudWxsPT1kJiYoInN0cmluZyI9PXR5cGVvZiBiPyhkPWMsYz12b2lkIDApOihkPWMsYz1iLGI9dm9pZCAwKSksZD09PSExKWQ9YmE7ZWxzZSBpZighZClyZXR1cm4gdGhpcztyZXR1cm4gMT09PWUmJihnPWQsZD1mdW5jdGlvbihhKXtyZXR1cm4gbSgpLm9mZihhKSxnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZC5ndWlkPWcuZ3VpZHx8KGcuZ3VpZD1tLmd1aWQrKykpLHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQuYWRkKHRoaXMsYSxkLGMsYil9KX0sb25lOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZTtpZihhJiZhLnByZXZlbnREZWZhdWx0JiZhLmhhbmRsZU9iailyZXR1cm4gZD1hLmhhbmRsZU9iaixtKGEuZGVsZWdhdGVUYXJnZXQpLm9mZihkLm5hbWVzcGFjZT9kLm9yaWdUeXBlKyIuIitkLm5hbWVzcGFjZTpkLm9yaWdUeXBlLGQuc2VsZWN0b3IsZC5oYW5kbGVyKSx0aGlzO2lmKCJvYmplY3QiPT10eXBlb2YgYSl7Zm9yKGUgaW4gYSl0aGlzLm9mZihlLGIsYVtlXSk7cmV0dXJuIHRoaXN9cmV0dXJuKGI9PT0hMXx8ImZ1bmN0aW9uIj09dHlwZW9mIGIpJiYoYz1iLGI9dm9pZCAwKSxjPT09ITEmJihjPWJhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXttLmV2ZW50LnJlbW92ZSh0aGlzLGEsYyxiKX0pfSx0cmlnZ2VyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQudHJpZ2dlcihhLGIsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzWzBdO3JldHVybiBjP20uZXZlbnQudHJpZ2dlcihhLGIsYywhMCk6dm9pZCAwfX0pO2Z1bmN0aW9uIGRhKGEpe3ZhciBiPWVhLnNwbGl0KCJ8IiksYz1hLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihjLmNyZWF0ZUVsZW1lbnQpd2hpbGUoYi5sZW5ndGgpYy5jcmVhdGVFbGVtZW50KGIucG9wKCkpO3JldHVybiBjfXZhciBlYT0iYWJicnxhcnRpY2xlfGFzaWRlfGF1ZGlvfGJkaXxjYW52YXN8ZGF0YXxkYXRhbGlzdHxkZXRhaWxzfGZpZ2NhcHRpb258ZmlndXJlfGZvb3RlcnxoZWFkZXJ8aGdyb3VwfG1hcmt8bWV0ZXJ8bmF2fG91dHB1dHxwcm9ncmVzc3xzZWN0aW9ufHN1bW1hcnl8dGltZXx2aWRlbyIsZmE9LyBqUXVlcnlcZCs9Iig/Om51bGx8XGQrKSIvZyxnYT1uZXcgUmVnRXhwKCI8KD86IitlYSsiKVtcXHMvPl0iLCJpIiksaGE9L15ccysvLGlhPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFtcdzpdKylbXj5dKilcLz4vZ2ksamE9LzwoW1x3Ol0rKS8sa2E9Lzx0Ym9keS9pLGxhPS88fCYjP1x3KzsvLG1hPS88KD86c2NyaXB0fHN0eWxlfGxpbmspL2ksbmE9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksb2E9L14kfFwvKD86amF2YXxlY21hKXNjcmlwdC9pLHBhPS9edHJ1ZVwvKC4qKS8scWE9L15ccyo8ISg/OlxbQ0RBVEFcW3wtLSl8KD86XF1cXXwtLSk+XHMqJC9nLHJhPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLGFyZWE6WzEsIjxtYXA+IiwiPC9tYXA+Il0scGFyYW06WzEsIjxvYmplY3Q+IiwiPC9vYmplY3Q+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48dGJvZHk+PC90Ym9keT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSxfZGVmYXVsdDprLmh0bWxTZXJpYWxpemU/WzAsIiIsIiJdOlsxLCJYPGRpdj4iLCI8L2Rpdj4iXX0sc2E9ZGEoeSksdGE9c2EuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSk7cmEub3B0Z3JvdXA9cmEub3B0aW9uLHJhLnRib2R5PXJhLnRmb290PXJhLmNvbGdyb3VwPXJhLmNhcHRpb249cmEudGhlYWQscmEudGg9cmEudGQ7ZnVuY3Rpb24gdWEoYSxiKXt2YXIgYyxkLGU9MCxmPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lIT09Sz9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGJ8fCIqIik6dHlwZW9mIGEucXVlcnlTZWxlY3RvckFsbCE9PUs/YS5xdWVyeVNlbGVjdG9yQWxsKGJ8fCIqIik6dm9pZCAwO2lmKCFmKWZvcihmPVtdLGM9YS5jaGlsZE5vZGVzfHxhO251bGwhPShkPWNbZV0pO2UrKykhYnx8bS5ub2RlTmFtZShkLGIpP2YucHVzaChkKTptLm1lcmdlKGYsdWEoZCxiKSk7cmV0dXJuIHZvaWQgMD09PWJ8fGImJm0ubm9kZU5hbWUoYSxiKT9tLm1lcmdlKFthXSxmKTpmfWZ1bmN0aW9uIHZhKGEpe1cudGVzdChhLnR5cGUpJiYoYS5kZWZhdWx0Q2hlY2tlZD1hLmNoZWNrZWQpfWZ1bmN0aW9uIHdhKGEsYil7cmV0dXJuIG0ubm9kZU5hbWUoYSwidGFibGUiKSYmbS5ub2RlTmFtZSgxMSE9PWIubm9kZVR5cGU/YjpiLmZpcnN0Q2hpbGQsInRyIik/YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8YS5hcHBlbmRDaGlsZChhLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6YX1mdW5jdGlvbiB4YShhKXtyZXR1cm4gYS50eXBlPShudWxsIT09bS5maW5kLmF0dHIoYSwidHlwZSIpKSsiLyIrYS50eXBlLGF9ZnVuY3Rpb24geWEoYSl7dmFyIGI9cGEuZXhlYyhhLnR5cGUpO3JldHVybiBiP2EudHlwZT1iWzFdOmEucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksYX1mdW5jdGlvbiB6YShhLGIpe2Zvcih2YXIgYyxkPTA7bnVsbCE9KGM9YVtkXSk7ZCsrKW0uX2RhdGEoYywiZ2xvYmFsRXZhbCIsIWJ8fG0uX2RhdGEoYltkXSwiZ2xvYmFsRXZhbCIpKX1mdW5jdGlvbiBBYShhLGIpe2lmKDE9PT1iLm5vZGVUeXBlJiZtLmhhc0RhdGEoYSkpe3ZhciBjLGQsZSxmPW0uX2RhdGEoYSksZz1tLl9kYXRhKGIsZiksaD1mLmV2ZW50cztpZihoKXtkZWxldGUgZy5oYW5kbGUsZy5ldmVudHM9e307Zm9yKGMgaW4gaClmb3IoZD0wLGU9aFtjXS5sZW5ndGg7ZT5kO2QrKyltLmV2ZW50LmFkZChiLGMsaFtjXVtkXSl9Zy5kYXRhJiYoZy5kYXRhPW0uZXh0ZW5kKHt9LGcuZGF0YSkpfX1mdW5jdGlvbiBCYShhLGIpe3ZhciBjLGQsZTtpZigxPT09Yi5ub2RlVHlwZSl7aWYoYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIWsubm9DbG9uZUV2ZW50JiZiW20uZXhwYW5kb10pe2U9bS5fZGF0YShiKTtmb3IoZCBpbiBlLmV2ZW50cyltLnJlbW92ZUV2ZW50KGIsZCxlLmhhbmRsZSk7Yi5yZW1vdmVBdHRyaWJ1dGUobS5leHBhbmRvKX0ic2NyaXB0Ij09PWMmJmIudGV4dCE9PWEudGV4dD8oeGEoYikudGV4dD1hLnRleHQseWEoYikpOiJvYmplY3QiPT09Yz8oYi5wYXJlbnROb2RlJiYoYi5vdXRlckhUTUw9YS5vdXRlckhUTUwpLGsuaHRtbDVDbG9uZSYmYS5pbm5lckhUTUwmJiFtLnRyaW0oYi5pbm5lckhUTUwpJiYoYi5pbm5lckhUTUw9YS5pbm5lckhUTUwpKToiaW5wdXQiPT09YyYmVy50ZXN0KGEudHlwZSk/KGIuZGVmYXVsdENoZWNrZWQ9Yi5jaGVja2VkPWEuY2hlY2tlZCxiLnZhbHVlIT09YS52YWx1ZSYmKGIudmFsdWU9YS52YWx1ZSkpOiJvcHRpb24iPT09Yz9iLmRlZmF1bHRTZWxlY3RlZD1iLnNlbGVjdGVkPWEuZGVmYXVsdFNlbGVjdGVkOigiaW5wdXQiPT09Y3x8InRleHRhcmVhIj09PWMpJiYoYi5kZWZhdWx0VmFsdWU9YS5kZWZhdWx0VmFsdWUpfX1tLmV4dGVuZCh7Y2xvbmU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGgsaT1tLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKTtpZihrLmh0bWw1Q2xvbmV8fG0uaXNYTUxEb2MoYSl8fCFnYS50ZXN0KCI8IithLm5vZGVOYW1lKyI+Iik/Zj1hLmNsb25lTm9kZSghMCk6KHRhLmlubmVySFRNTD1hLm91dGVySFRNTCx0YS5yZW1vdmVDaGlsZChmPXRhLmZpcnN0Q2hpbGQpKSwhKGsubm9DbG9uZUV2ZW50JiZrLm5vQ2xvbmVDaGVja2VkfHwxIT09YS5ub2RlVHlwZSYmMTEhPT1hLm5vZGVUeXBlfHxtLmlzWE1MRG9jKGEpKSlmb3IoZD11YShmKSxoPXVhKGEpLGc9MDtudWxsIT0oZT1oW2ddKTsrK2cpZFtnXSYmQmEoZSxkW2ddKTtpZihiKWlmKGMpZm9yKGg9aHx8dWEoYSksZD1kfHx1YShmKSxnPTA7bnVsbCE9KGU9aFtnXSk7ZysrKUFhKGUsZFtnXSk7ZWxzZSBBYShhLGYpO3JldHVybiBkPXVhKGYsInNjcmlwdCIpLGQubGVuZ3RoPjAmJnphKGQsIWkmJnVhKGEsInNjcmlwdCIpKSxkPWg9ZT1udWxsLGZ9LGJ1aWxkRnJhZ21lbnQ6ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlLGYsZyxoLGksaixsLG49YS5sZW5ndGgsbz1kYShiKSxwPVtdLHE9MDtuPnE7cSsrKWlmKGY9YVtxXSxmfHwwPT09ZilpZigib2JqZWN0Ij09PW0udHlwZShmKSltLm1lcmdlKHAsZi5ub2RlVHlwZT9bZl06Zik7ZWxzZSBpZihsYS50ZXN0KGYpKXtoPWh8fG8uYXBwZW5kQ2hpbGQoYi5jcmVhdGVFbGVtZW50KCJkaXYiKSksaT0oamEuZXhlYyhmKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxsPXJhW2ldfHxyYS5fZGVmYXVsdCxoLmlubmVySFRNTD1sWzFdK2YucmVwbGFjZShpYSwiPCQxPjwvJDI+IikrbFsyXSxlPWxbMF07d2hpbGUoZS0tKWg9aC5sYXN0Q2hpbGQ7aWYoIWsubGVhZGluZ1doaXRlc3BhY2UmJmhhLnRlc3QoZikmJnAucHVzaChiLmNyZWF0ZVRleHROb2RlKGhhLmV4ZWMoZilbMF0pKSwhay50Ym9keSl7Zj0idGFibGUiIT09aXx8a2EudGVzdChmKT8iPHRhYmxlPiIhPT1sWzFdfHxrYS50ZXN0KGYpPzA6aDpoLmZpcnN0Q2hpbGQsZT1mJiZmLmNoaWxkTm9kZXMubGVuZ3RoO3doaWxlKGUtLSltLm5vZGVOYW1lKGo9Zi5jaGlsZE5vZGVzW2VdLCJ0Ym9keSIpJiYhai5jaGlsZE5vZGVzLmxlbmd0aCYmZi5yZW1vdmVDaGlsZChqKX1tLm1lcmdlKHAsaC5jaGlsZE5vZGVzKSxoLnRleHRDb250ZW50PSIiO3doaWxlKGguZmlyc3RDaGlsZCloLnJlbW92ZUNoaWxkKGguZmlyc3RDaGlsZCk7aD1vLmxhc3RDaGlsZH1lbHNlIHAucHVzaChiLmNyZWF0ZVRleHROb2RlKGYpKTtoJiZvLnJlbW92ZUNoaWxkKGgpLGsuYXBwZW5kQ2hlY2tlZHx8bS5ncmVwKHVhKHAsImlucHV0IiksdmEpLHE9MDt3aGlsZShmPXBbcSsrXSlpZigoIWR8fC0xPT09bS5pbkFycmF5KGYsZCkpJiYoZz1tLmNvbnRhaW5zKGYub3duZXJEb2N1bWVudCxmKSxoPXVhKG8uYXBwZW5kQ2hpbGQoZiksInNjcmlwdCIpLGcmJnphKGgpLGMpKXtlPTA7d2hpbGUoZj1oW2UrK10pb2EudGVzdChmLnR5cGV8fCIiKSYmYy5wdXNoKGYpfXJldHVybiBoPW51bGwsb30sY2xlYW5EYXRhOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBkLGUsZixnLGg9MCxpPW0uZXhwYW5kbyxqPW0uY2FjaGUsbD1rLmRlbGV0ZUV4cGFuZG8sbj1tLmV2ZW50LnNwZWNpYWw7bnVsbCE9KGQ9YVtoXSk7aCsrKWlmKChifHxtLmFjY2VwdERhdGEoZCkpJiYoZj1kW2ldLGc9ZiYmaltmXSkpe2lmKGcuZXZlbnRzKWZvcihlIGluIGcuZXZlbnRzKW5bZV0/bS5ldmVudC5yZW1vdmUoZCxlKTptLnJlbW92ZUV2ZW50KGQsZSxnLmhhbmRsZSk7altmXSYmKGRlbGV0ZSBqW2ZdLGw/ZGVsZXRlIGRbaV06dHlwZW9mIGQucmVtb3ZlQXR0cmlidXRlIT09Sz9kLnJlbW92ZUF0dHJpYnV0ZShpKTpkW2ldPW51bGwsYy5wdXNoKGYpKX19fSksbS5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhKXtyZXR1cm4gdm9pZCAwPT09YT9tLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmFwcGVuZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHx5KS5jcmVhdGVUZXh0Tm9kZShhKSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZ1bmN0aW9uKGEpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgYj13YSh0aGlzLGEpO2IuYXBwZW5kQ2hpbGQoYSl9fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPXdhKHRoaXMsYSk7Yi5pbnNlcnRCZWZvcmUoYSxiLmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcy5uZXh0U2libGluZyl9KX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQ9YT9tLmZpbHRlcihhLHRoaXMpOnRoaXMsZT0wO251bGwhPShjPWRbZV0pO2UrKylifHwxIT09Yy5ub2RlVHlwZXx8bS5jbGVhbkRhdGEodWEoYykpLGMucGFyZW50Tm9kZSYmKGImJm0uY29udGFpbnMoYy5vd25lckRvY3VtZW50LGMpJiZ6YSh1YShjLCJzY3JpcHQiKSksYy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpKTtyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGEsYj0wO251bGwhPShhPXRoaXNbYl0pO2IrKyl7MT09PWEubm9kZVR5cGUmJm0uY2xlYW5EYXRhKHVhKGEsITEpKTt3aGlsZShhLmZpcnN0Q2hpbGQpYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2Eub3B0aW9ucyYmbS5ub2RlTmFtZShhLCJzZWxlY3QiKSYmKGEub3B0aW9ucy5sZW5ndGg9MCl9cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9bnVsbD09YT8hMTphLGI9bnVsbD09Yj9hOmIsdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbS5jbG9uZSh0aGlzLGEsYil9KX0saHRtbDpmdW5jdGlvbihhKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF18fHt9LGM9MCxkPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWEpcmV0dXJuIDE9PT1iLm5vZGVUeXBlP2IuaW5uZXJIVE1MLnJlcGxhY2UoZmEsIiIpOnZvaWQgMDtpZighKCJzdHJpbmciIT10eXBlb2YgYXx8bWEudGVzdChhKXx8IWsuaHRtbFNlcmlhbGl6ZSYmZ2EudGVzdChhKXx8IWsubGVhZGluZ1doaXRlc3BhY2UmJmhhLnRlc3QoYSl8fHJhWyhqYS5leGVjKGEpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSkpe2E9YS5yZXBsYWNlKGlhLCI8JDE+PC8kMj4iKTt0cnl7Zm9yKDtkPmM7YysrKWI9dGhpc1tjXXx8e30sMT09PWIubm9kZVR5cGUmJihtLmNsZWFuRGF0YSh1YShiLCExKSksYi5pbm5lckhUTUw9YSk7Yj0wfWNhdGNoKGUpe319YiYmdGhpcy5lbXB0eSgpLmFwcGVuZChhKX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50c1swXTtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYil7YT10aGlzLnBhcmVudE5vZGUsbS5jbGVhbkRhdGEodWEodGhpcykpLGEmJmEucmVwbGFjZUNoaWxkKGIsdGhpcyl9KSxhJiYoYS5sZW5ndGh8fGEubm9kZVR5cGUpP3RoaXM6dGhpcy5yZW1vdmUoKX0sZGV0YWNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJlbW92ZShhLCEwKX0sZG9tTWFuaXA6ZnVuY3Rpb24oYSxiKXthPWUuYXBwbHkoW10sYSk7dmFyIGMsZCxmLGcsaCxpLGo9MCxsPXRoaXMubGVuZ3RoLG49dGhpcyxvPWwtMSxwPWFbMF0scT1tLmlzRnVuY3Rpb24ocCk7aWYocXx8bD4xJiYic3RyaW5nIj09dHlwZW9mIHAmJiFrLmNoZWNrQ2xvbmUmJm5hLnRlc3QocCkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZD1uLmVxKGMpO3EmJihhWzBdPXAuY2FsbCh0aGlzLGMsZC5odG1sKCkpKSxkLmRvbU1hbmlwKGEsYil9KTtpZihsJiYoaT1tLmJ1aWxkRnJhZ21lbnQoYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQsITEsdGhpcyksYz1pLmZpcnN0Q2hpbGQsMT09PWkuY2hpbGROb2Rlcy5sZW5ndGgmJihpPWMpLGMpKXtmb3IoZz1tLm1hcCh1YShpLCJzY3JpcHQiKSx4YSksZj1nLmxlbmd0aDtsPmo7aisrKWQ9aSxqIT09byYmKGQ9bS5jbG9uZShkLCEwLCEwKSxmJiZtLm1lcmdlKGcsdWEoZCwic2NyaXB0IikpKSxiLmNhbGwodGhpc1tqXSxkLGopO2lmKGYpZm9yKGg9Z1tnLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LG0ubWFwKGcseWEpLGo9MDtmPmo7aisrKWQ9Z1tqXSxvYS50ZXN0KGQudHlwZXx8IiIpJiYhbS5fZGF0YShkLCJnbG9iYWxFdmFsIikmJm0uY29udGFpbnMoaCxkKSYmKGQuc3JjP20uX2V2YWxVcmwmJm0uX2V2YWxVcmwoZC5zcmMpOm0uZ2xvYmFsRXZhbCgoZC50ZXh0fHxkLnRleHRDb250ZW50fHxkLmlubmVySFRNTHx8IiIpLnJlcGxhY2UocWEsIiIpKSk7aT1jPW51bGx9cmV0dXJuIHRoaXN9fSksbS5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oYSxiKXttLmZuW2FdPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkPTAsZT1bXSxnPW0oYSksaD1nLmxlbmd0aC0xO2g+PWQ7ZCsrKWM9ZD09PWg/dGhpczp0aGlzLmNsb25lKCEwKSxtKGdbZF0pW2JdKGMpLGYuYXBwbHkoZSxjLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIENhLERhPXt9O2Z1bmN0aW9uIEVhKGIsYyl7dmFyIGQsZT1tKGMuY3JlYXRlRWxlbWVudChiKSkuYXBwZW5kVG8oYy5ib2R5KSxmPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUmJihkPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUoZVswXSkpP2QuZGlzcGxheTptLmNzcyhlWzBdLCJkaXNwbGF5Iik7cmV0dXJuIGUuZGV0YWNoKCksZn1mdW5jdGlvbiBGYShhKXt2YXIgYj15LGM9RGFbYV07cmV0dXJuIGN8fChjPUVhKGEsYiksIm5vbmUiIT09YyYmY3x8KENhPShDYXx8bSgiPGlmcmFtZSBmcmFtZWJvcmRlcj0nMCcgd2lkdGg9JzAnIGhlaWdodD0nMCcvPiIpKS5hcHBlbmRUbyhiLmRvY3VtZW50RWxlbWVudCksYj0oQ2FbMF0uY29udGVudFdpbmRvd3x8Q2FbMF0uY29udGVudERvY3VtZW50KS5kb2N1bWVudCxiLndyaXRlKCksYi5jbG9zZSgpLGM9RWEoYSxiKSxDYS5kZXRhY2goKSksRGFbYV09YyksY30hZnVuY3Rpb24oKXt2YXIgYTtrLnNocmlua1dyYXBCbG9ja3M9ZnVuY3Rpb24oKXtpZihudWxsIT1hKXJldHVybiBhO2E9ITE7dmFyIGIsYyxkO3JldHVybiBjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlPyhiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZD15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHgiLGMuYXBwZW5kQ2hpbGQoZCkuYXBwZW5kQ2hpbGQoYiksdHlwZW9mIGIuc3R5bGUuem9vbSE9PUsmJihiLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjEiLGIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc3R5bGUud2lkdGg9IjVweCIsYT0zIT09Yi5vZmZzZXRXaWR0aCksYy5yZW1vdmVDaGlsZChkKSxhKTp2b2lkIDB9fSgpO3ZhciBHYT0vXm1hcmdpbi8sSGE9bmV3IFJlZ0V4cCgiXigiK1MrIikoPyFweClbYS16JV0rJCIsImkiKSxJYSxKYSxLYT0vXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC87YS5nZXRDb21wdXRlZFN0eWxlPyhJYT1mdW5jdGlvbihiKXtyZXR1cm4gYi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Lm9wZW5lcj9iLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpOmEuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpfSxKYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fElhKGEpLGc9Yz9jLmdldFByb3BlcnR5VmFsdWUoYil8fGNbYl06dm9pZCAwLGMmJigiIiE9PWd8fG0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfHwoZz1tLnN0eWxlKGEsYikpLEhhLnRlc3QoZykmJkdhLnRlc3QoYikmJihkPWgud2lkdGgsZT1oLm1pbldpZHRoLGY9aC5tYXhXaWR0aCxoLm1pbldpZHRoPWgubWF4V2lkdGg9aC53aWR0aD1nLGc9Yy53aWR0aCxoLndpZHRoPWQsaC5taW5XaWR0aD1lLGgubWF4V2lkdGg9ZikpLHZvaWQgMD09PWc/ZzpnKyIifSk6eS5kb2N1bWVudEVsZW1lbnQuY3VycmVudFN0eWxlJiYoSWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY3VycmVudFN0eWxlfSxKYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fElhKGEpLGc9Yz9jW2JdOnZvaWQgMCxudWxsPT1nJiZoJiZoW2JdJiYoZz1oW2JdKSxIYS50ZXN0KGcpJiYhS2EudGVzdChiKSYmKGQ9aC5sZWZ0LGU9YS5ydW50aW1lU3R5bGUsZj1lJiZlLmxlZnQsZiYmKGUubGVmdD1hLmN1cnJlbnRTdHlsZS5sZWZ0KSxoLmxlZnQ9ImZvbnRTaXplIj09PWI/IjFlbSI6ZyxnPWgucGl4ZWxMZWZ0KyJweCIsaC5sZWZ0PWQsZiYmKGUubGVmdD1mKSksdm9pZCAwPT09Zz9nOmcrIiJ8fCJhdXRvIn0pO2Z1bmN0aW9uIExhKGEsYil7cmV0dXJue2dldDpmdW5jdGlvbigpe3ZhciBjPWEoKTtpZihudWxsIT1jKXJldHVybiBjP3ZvaWQgZGVsZXRlIHRoaXMuZ2V0Oih0aGlzLmdldD1iKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX0hZnVuY3Rpb24oKXt2YXIgYixjLGQsZSxmLGcsaDtpZihiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5pbm5lckhUTUw9IiAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJz5hPC9hPjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPiIsZD1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIilbMF0sYz1kJiZkLnN0eWxlKXtjLmNzc1RleHQ9ImZsb2F0OmxlZnQ7b3BhY2l0eTouNSIsay5vcGFjaXR5PSIwLjUiPT09Yy5vcGFjaXR5LGsuY3NzRmxvYXQ9ISFjLmNzc0Zsb2F0LGIuc3R5bGUuYmFja2dyb3VuZENsaXA9ImNvbnRlbnQtYm94IixiLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9IiIsay5jbGVhckNsb25lU3R5bGU9ImNvbnRlbnQtYm94Ij09PWIuc3R5bGUuYmFja2dyb3VuZENsaXAsay5ib3hTaXppbmc9IiI9PT1jLmJveFNpemluZ3x8IiI9PT1jLk1vekJveFNpemluZ3x8IiI9PT1jLldlYmtpdEJveFNpemluZyxtLmV4dGVuZChrLHtyZWxpYWJsZUhpZGRlbk9mZnNldHM6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09ZyYmaSgpLGd9LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWYmJmkoKSxmfSxwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWUmJmkoKSxlfSxyZWxpYWJsZU1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWgmJmkoKSxofX0pO2Z1bmN0aW9uIGkoKXt2YXIgYixjLGQsaTtjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlJiYoYj15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2JvcmRlcjowO3dpZHRoOjA7aGVpZ2h0OjA7dG9wOjA7bGVmdDotOTk5OXB4IixjLmFwcGVuZENoaWxkKGQpLmFwcGVuZENoaWxkKGIpLGIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxJTt0b3A6MSU7Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt3aWR0aDo0cHg7cG9zaXRpb246YWJzb2x1dGUiLGU9Zj0hMSxoPSEwLGEuZ2V0Q29tcHV0ZWRTdHlsZSYmKGU9IjElIiE9PShhLmdldENvbXB1dGVkU3R5bGUoYixudWxsKXx8e30pLnRvcCxmPSI0cHgiPT09KGEuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpfHx7d2lkdGg6IjRweCJ9KS53aWR0aCxpPWIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSksaS5zdHlsZS5jc3NUZXh0PWIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowIixpLnN0eWxlLm1hcmdpblJpZ2h0PWkuc3R5bGUud2lkdGg9IjAiLGIuc3R5bGUud2lkdGg9IjFweCIsaD0hcGFyc2VGbG9hdCgoYS5nZXRDb21wdXRlZFN0eWxlKGksbnVsbCl8fHt9KS5tYXJnaW5SaWdodCksYi5yZW1vdmVDaGlsZChpKSksYi5pbm5lckhUTUw9Ijx0YWJsZT48dHI+PHRkPjwvdGQ+PHRkPnQ8L3RkPjwvdHI+PC90YWJsZT4iLGk9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGQiKSxpWzBdLnN0eWxlLmNzc1RleHQ9Im1hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MDtkaXNwbGF5Om5vbmUiLGc9MD09PWlbMF0ub2Zmc2V0SGVpZ2h0LGcmJihpWzBdLnN0eWxlLmRpc3BsYXk9IiIsaVsxXS5zdHlsZS5kaXNwbGF5PSJub25lIixnPTA9PT1pWzBdLm9mZnNldEhlaWdodCksYy5yZW1vdmVDaGlsZChkKSl9fX0oKSxtLnN3YXA9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnPXt9O2ZvcihmIGluIGIpZ1tmXT1hLnN0eWxlW2ZdLGEuc3R5bGVbZl09YltmXTtlPWMuYXBwbHkoYSxkfHxbXSk7Zm9yKGYgaW4gYilhLnN0eWxlW2ZdPWdbZl07cmV0dXJuIGV9O3ZhciBNYT0vYWxwaGFcKFteKV0qXCkvaSxOYT0vb3BhY2l0eVxzKj1ccyooW14pXSopLyxPYT0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sUGE9bmV3IFJlZ0V4cCgiXigiK1MrIikoLiopJCIsImkiKSxRYT1uZXcgUmVnRXhwKCJeKFsrLV0pPSgiK1MrIikiLCJpIiksUmE9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LFNhPXtsZXR0ZXJTcGFjaW5nOiIwIixmb250V2VpZ2h0OiI0MDAifSxUYT1bIldlYmtpdCIsIk8iLCJNb3oiLCJtcyJdO2Z1bmN0aW9uIFVhKGEsYil7aWYoYiBpbiBhKXJldHVybiBiO3ZhciBjPWIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYi5zbGljZSgxKSxkPWIsZT1UYS5sZW5ndGg7d2hpbGUoZS0tKWlmKGI9VGFbZV0rYyxiIGluIGEpcmV0dXJuIGI7cmV0dXJuIGR9ZnVuY3Rpb24gVmEoYSxiKXtmb3IodmFyIGMsZCxlLGY9W10sZz0wLGg9YS5sZW5ndGg7aD5nO2crKylkPWFbZ10sZC5zdHlsZSYmKGZbZ109bS5fZGF0YShkLCJvbGRkaXNwbGF5IiksYz1kLnN0eWxlLmRpc3BsYXksYj8oZltnXXx8Im5vbmUiIT09Y3x8KGQuc3R5bGUuZGlzcGxheT0iIiksIiI9PT1kLnN0eWxlLmRpc3BsYXkmJlUoZCkmJihmW2ddPW0uX2RhdGEoZCwib2xkZGlzcGxheSIsRmEoZC5ub2RlTmFtZSkpKSk6KGU9VShkKSwoYyYmIm5vbmUiIT09Y3x8IWUpJiZtLl9kYXRhKGQsIm9sZGRpc3BsYXkiLGU/YzptLmNzcyhkLCJkaXNwbGF5IikpKSk7Zm9yKGc9MDtoPmc7ZysrKWQ9YVtnXSxkLnN0eWxlJiYoYiYmIm5vbmUiIT09ZC5zdHlsZS5kaXNwbGF5JiYiIiE9PWQuc3R5bGUuZGlzcGxheXx8KGQuc3R5bGUuZGlzcGxheT1iP2ZbZ118fCIiOiJub25lIikpO3JldHVybiBhfWZ1bmN0aW9uIFdhKGEsYixjKXt2YXIgZD1QYS5leGVjKGIpO3JldHVybiBkP01hdGgubWF4KDAsZFsxXS0oY3x8MCkpKyhkWzJdfHwicHgiKTpifWZ1bmN0aW9uIFhhKGEsYixjLGQsZSl7Zm9yKHZhciBmPWM9PT0oZD8iYm9yZGVyIjoiY29udGVudCIpPzQ6IndpZHRoIj09PWI/MTowLGc9MDs0PmY7Zis9MikibWFyZ2luIj09PWMmJihnKz1tLmNzcyhhLGMrVFtmXSwhMCxlKSksZD8oImNvbnRlbnQiPT09YyYmKGctPW0uY3NzKGEsInBhZGRpbmciK1RbZl0sITAsZSkpLCJtYXJnaW4iIT09YyYmKGctPW0uY3NzKGEsImJvcmRlciIrVFtmXSsiV2lkdGgiLCEwLGUpKSk6KGcrPW0uY3NzKGEsInBhZGRpbmciK1RbZl0sITAsZSksInBhZGRpbmciIT09YyYmKGcrPW0uY3NzKGEsImJvcmRlciIrVFtmXSsiV2lkdGgiLCEwLGUpKSk7cmV0dXJuIGd9ZnVuY3Rpb24gWWEoYSxiLGMpe3ZhciBkPSEwLGU9IndpZHRoIj09PWI/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodCxmPUlhKGEpLGc9ay5ib3hTaXppbmcmJiJib3JkZXItYm94Ij09PW0uY3NzKGEsImJveFNpemluZyIsITEsZik7aWYoMD49ZXx8bnVsbD09ZSl7aWYoZT1KYShhLGIsZiksKDA+ZXx8bnVsbD09ZSkmJihlPWEuc3R5bGVbYl0pLEhhLnRlc3QoZSkpcmV0dXJuIGU7ZD1nJiYoay5ib3hTaXppbmdSZWxpYWJsZSgpfHxlPT09YS5zdHlsZVtiXSksZT1wYXJzZUZsb2F0KGUpfHwwfXJldHVybiBlK1hhKGEsYixjfHwoZz8iYm9yZGVyIjoiY29udGVudCIpLGQsZikrInB4In1tLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihhLGIpe2lmKGIpe3ZhciBjPUphKGEsIm9wYWNpdHkiKTtyZXR1cm4iIj09PWM/IjEiOmN9fX19LGNzc051bWJlcjp7Y29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMH0sY3NzUHJvcHM6eyJmbG9hdCI6ay5jc3NGbG9hdD8iY3NzRmxvYXQiOiJzdHlsZUZsb2F0In0sc3R5bGU6ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSYmMyE9PWEubm9kZVR5cGUmJjghPT1hLm5vZGVUeXBlJiZhLnN0eWxlKXt2YXIgZSxmLGcsaD1tLmNhbWVsQ2FzZShiKSxpPWEuc3R5bGU7aWYoYj1tLmNzc1Byb3BzW2hdfHwobS5jc3NQcm9wc1toXT1VYShpLGgpKSxnPW0uY3NzSG9va3NbYl18fG0uY3NzSG9va3NbaF0sdm9pZCAwPT09YylyZXR1cm4gZyYmImdldCJpbiBnJiZ2b2lkIDAhPT0oZT1nLmdldChhLCExLGQpKT9lOmlbYl07aWYoZj10eXBlb2YgYywic3RyaW5nIj09PWYmJihlPVFhLmV4ZWMoYykpJiYoYz0oZVsxXSsxKSplWzJdK3BhcnNlRmxvYXQobS5jc3MoYSxiKSksZj0ibnVtYmVyIiksbnVsbCE9YyYmYz09PWMmJigibnVtYmVyIiE9PWZ8fG0uY3NzTnVtYmVyW2hdfHwoYys9InB4Iiksay5jbGVhckNsb25lU3R5bGV8fCIiIT09Y3x8MCE9PWIuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwoaVtiXT0iaW5oZXJpdCIpLCEoZyYmInNldCJpbiBnJiZ2b2lkIDA9PT0oYz1nLnNldChhLGMsZCkpKSkpdHJ5e2lbYl09Y31jYXRjaChqKXt9fX0sY3NzOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZyxoPW0uY2FtZWxDYXNlKGIpO3JldHVybiBiPW0uY3NzUHJvcHNbaF18fChtLmNzc1Byb3BzW2hdPVVhKGEuc3R5bGUsaCkpLGc9bS5jc3NIb29rc1tiXXx8bS5jc3NIb29rc1toXSxnJiYiZ2V0ImluIGcmJihmPWcuZ2V0KGEsITAsYykpLHZvaWQgMD09PWYmJihmPUphKGEsYixkKSksIm5vcm1hbCI9PT1mJiZiIGluIFNhJiYoZj1TYVtiXSksIiI9PT1jfHxjPyhlPXBhcnNlRmxvYXQoZiksYz09PSEwfHxtLmlzTnVtZXJpYyhlKT9lfHwwOmYpOmZ9fSksbS5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe20uY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihhLGMsZCl7cmV0dXJuIGM/T2EudGVzdChtLmNzcyhhLCJkaXNwbGF5IikpJiYwPT09YS5vZmZzZXRXaWR0aD9tLnN3YXAoYSxSYSxmdW5jdGlvbigpe3JldHVybiBZYShhLGIsZCl9KTpZYShhLGIsZCk6dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPWQmJklhKGEpO3JldHVybiBXYShhLGMsZD9YYShhLGIsZCxrLmJveFNpemluZyYmImJvcmRlci1ib3giPT09bS5jc3MoYSwiYm94U2l6aW5nIiwhMSxlKSxlKTowKX19fSksay5vcGFjaXR5fHwobS5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTmEudGVzdCgoYiYmYS5jdXJyZW50U3R5bGU/YS5jdXJyZW50U3R5bGUuZmlsdGVyOmEuc3R5bGUuZmlsdGVyKXx8IiIpPy4wMSpwYXJzZUZsb2F0KFJlZ0V4cC4kMSkrIiI6Yj8iMSI6IiJ9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjPWEuc3R5bGUsZD1hLmN1cnJlbnRTdHlsZSxlPW0uaXNOdW1lcmljKGIpPyJhbHBoYShvcGFjaXR5PSIrMTAwKmIrIikiOiIiLGY9ZCYmZC5maWx0ZXJ8fGMuZmlsdGVyfHwiIjtjLnpvb209MSwoYj49MXx8IiI9PT1iKSYmIiI9PT1tLnRyaW0oZi5yZXBsYWNlKE1hLCIiKSkmJmMucmVtb3ZlQXR0cmlidXRlJiYoYy5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpLCIiPT09Ynx8ZCYmIWQuZmlsdGVyKXx8KGMuZmlsdGVyPU1hLnRlc3QoZik/Zi5yZXBsYWNlKE1hLGUpOmYrIiAiK2UpfX0pLG0uY3NzSG9va3MubWFyZ2luUmlnaHQ9TGEoay5yZWxpYWJsZU1hcmdpblJpZ2h0LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/bS5zd2FwKGEse2Rpc3BsYXk6ImlubGluZS1ibG9jayJ9LEphLFthLCJtYXJnaW5SaWdodCJdKTp2b2lkIDB9KSxtLmVhY2goe21hcmdpbjoiIixwYWRkaW5nOiIiLGJvcmRlcjoiV2lkdGgifSxmdW5jdGlvbihhLGIpe20uY3NzSG9va3NbYStiXT17ZXhwYW5kOmZ1bmN0aW9uKGMpe2Zvcih2YXIgZD0wLGU9e30sZj0ic3RyaW5nIj09dHlwZW9mIGM/Yy5zcGxpdCgiICIpOltjXTs0PmQ7ZCsrKWVbYStUW2RdK2JdPWZbZF18fGZbZC0yXXx8ZlswXTtyZXR1cm4gZX19LEdhLnRlc3QoYSl8fChtLmNzc0hvb2tzW2ErYl0uc2V0PVdhKX0pLG0uZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9e30sZz0wO2lmKG0uaXNBcnJheShiKSl7Zm9yKGQ9SWEoYSksZT1iLmxlbmd0aDtlPmc7ZysrKWZbYltnXV09bS5jc3MoYSxiW2ddLCExLGQpO3JldHVybiBmfXJldHVybiB2b2lkIDAhPT1jP20uc3R5bGUoYSxiLGMpOm0uY3NzKGEsYil9LGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMsITApfSxoaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMpfSx0b2dnbGU6ZnVuY3Rpb24oYSl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYT9hP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe1UodGhpcyk/bSh0aGlzKS5zaG93KCk6bSh0aGlzKS5oaWRlKCl9KX19KTtmdW5jdGlvbiBaYShhLGIsYyxkLGUpewpyZXR1cm4gbmV3IFphLnByb3RvdHlwZS5pbml0KGEsYixjLGQsZSl9bS5Ud2Vlbj1aYSxaYS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlphLGluaXQ6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3RoaXMuZWxlbT1hLHRoaXMucHJvcD1jLHRoaXMuZWFzaW5nPWV8fCJzd2luZyIsdGhpcy5vcHRpb25zPWIsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPWQsdGhpcy51bml0PWZ8fChtLmNzc051bWJlcltjXT8iIjoicHgiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGEmJmEuZ2V0P2EuZ2V0KHRoaXMpOlphLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihhKXt2YXIgYixjPVphLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRpb24/dGhpcy5wb3M9Yj1tLmVhc2luZ1t0aGlzLmVhc2luZ10oYSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qYSwwLDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTp0aGlzLnBvcz1iPWEsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3RhcnQpKmIrdGhpcy5zdGFydCx0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksYyYmYy5zZXQ/Yy5zZXQodGhpcyk6WmEucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0sWmEucHJvdG90eXBlLmluaXQucHJvdG90eXBlPVphLnByb3RvdHlwZSxaYS5wcm9wSG9va3M9e19kZWZhdWx0OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIG51bGw9PWEuZWxlbVthLnByb3BdfHxhLmVsZW0uc3R5bGUmJm51bGwhPWEuZWxlbS5zdHlsZVthLnByb3BdPyhiPW0uY3NzKGEuZWxlbSxhLnByb3AsIiIpLGImJiJhdXRvIiE9PWI/YjowKTphLmVsZW1bYS5wcm9wXX0sc2V0OmZ1bmN0aW9uKGEpe20uZnguc3RlcFthLnByb3BdP20uZnguc3RlcFthLnByb3BdKGEpOmEuZWxlbS5zdHlsZSYmKG51bGwhPWEuZWxlbS5zdHlsZVttLmNzc1Byb3BzW2EucHJvcF1dfHxtLmNzc0hvb2tzW2EucHJvcF0pP20uc3R5bGUoYS5lbGVtLGEucHJvcCxhLm5vdythLnVuaXQpOmEuZWxlbVthLnByb3BdPWEubm93fX19LFphLnByb3BIb29rcy5zY3JvbGxUb3A9WmEucHJvcEhvb2tzLnNjcm9sbExlZnQ9e3NldDpmdW5jdGlvbihhKXthLmVsZW0ubm9kZVR5cGUmJmEuZWxlbS5wYXJlbnROb2RlJiYoYS5lbGVtW2EucHJvcF09YS5ub3cpfX0sbS5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihhKXtyZXR1cm4gYX0sc3dpbmc6ZnVuY3Rpb24oYSl7cmV0dXJuLjUtTWF0aC5jb3MoYSpNYXRoLlBJKS8yfX0sbS5meD1aYS5wcm90b3R5cGUuaW5pdCxtLmZ4LnN0ZXA9e307dmFyICRhLF9hLGFiPS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxiYj1uZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIrUysiKShbYS16JV0qKSQiLCJpIiksY2I9L3F1ZXVlSG9va3MkLyxkYj1baWJdLGViPXsiKiI6W2Z1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jcmVhdGVUd2VlbihhLGIpLGQ9Yy5jdXIoKSxlPWJiLmV4ZWMoYiksZj1lJiZlWzNdfHwobS5jc3NOdW1iZXJbYV0/IiI6InB4IiksZz0obS5jc3NOdW1iZXJbYV18fCJweCIhPT1mJiYrZCkmJmJiLmV4ZWMobS5jc3MoYy5lbGVtLGEpKSxoPTEsaT0yMDtpZihnJiZnWzNdIT09Zil7Zj1mfHxnWzNdLGU9ZXx8W10sZz0rZHx8MTtkbyBoPWh8fCIuNSIsZy89aCxtLnN0eWxlKGMuZWxlbSxhLGcrZik7d2hpbGUoaCE9PShoPWMuY3VyKCkvZCkmJjEhPT1oJiYtLWkpfXJldHVybiBlJiYoZz1jLnN0YXJ0PStnfHwrZHx8MCxjLnVuaXQ9ZixjLmVuZD1lWzFdP2crKGVbMV0rMSkqZVsyXTorZVsyXSksY31dfTtmdW5jdGlvbiBmYigpe3JldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7JGE9dm9pZCAwfSksJGE9bS5ub3coKX1mdW5jdGlvbiBnYihhLGIpe3ZhciBjLGQ9e2hlaWdodDphfSxlPTA7Zm9yKGI9Yj8xOjA7ND5lO2UrPTItYiljPVRbZV0sZFsibWFyZ2luIitjXT1kWyJwYWRkaW5nIitjXT1hO3JldHVybiBiJiYoZC5vcGFjaXR5PWQud2lkdGg9YSksZH1mdW5jdGlvbiBoYihhLGIsYyl7Zm9yKHZhciBkLGU9KGViW2JdfHxbXSkuY29uY2F0KGViWyIqIl0pLGY9MCxnPWUubGVuZ3RoO2c+ZjtmKyspaWYoZD1lW2ZdLmNhbGwoYyxiLGEpKXJldHVybiBkfWZ1bmN0aW9uIGliKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixsLG49dGhpcyxvPXt9LHA9YS5zdHlsZSxxPWEubm9kZVR5cGUmJlUoYSkscj1tLl9kYXRhKGEsImZ4c2hvdyIpO2MucXVldWV8fChoPW0uX3F1ZXVlSG9va3MoYSwiZngiKSxudWxsPT1oLnVucXVldWVkJiYoaC51bnF1ZXVlZD0wLGk9aC5lbXB0eS5maXJlLGguZW1wdHkuZmlyZT1mdW5jdGlvbigpe2gudW5xdWV1ZWR8fGkoKX0pLGgudW5xdWV1ZWQrKyxuLmFsd2F5cyhmdW5jdGlvbigpe24uYWx3YXlzKGZ1bmN0aW9uKCl7aC51bnF1ZXVlZC0tLG0ucXVldWUoYSwiZngiKS5sZW5ndGh8fGguZW1wdHkuZmlyZSgpfSl9KSksMT09PWEubm9kZVR5cGUmJigiaGVpZ2h0ImluIGJ8fCJ3aWR0aCJpbiBiKSYmKGMub3ZlcmZsb3c9W3Aub3ZlcmZsb3cscC5vdmVyZmxvd1gscC5vdmVyZmxvd1ldLGo9bS5jc3MoYSwiZGlzcGxheSIpLGw9Im5vbmUiPT09aj9tLl9kYXRhKGEsIm9sZGRpc3BsYXkiKXx8RmEoYS5ub2RlTmFtZSk6aiwiaW5saW5lIj09PWwmJiJub25lIj09PW0uY3NzKGEsImZsb2F0IikmJihrLmlubGluZUJsb2NrTmVlZHNMYXlvdXQmJiJpbmxpbmUiIT09RmEoYS5ub2RlTmFtZSk/cC56b29tPTE6cC5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSksYy5vdmVyZmxvdyYmKHAub3ZlcmZsb3c9ImhpZGRlbiIsay5zaHJpbmtXcmFwQmxvY2tzKCl8fG4uYWx3YXlzKGZ1bmN0aW9uKCl7cC5vdmVyZmxvdz1jLm92ZXJmbG93WzBdLHAub3ZlcmZsb3dYPWMub3ZlcmZsb3dbMV0scC5vdmVyZmxvd1k9Yy5vdmVyZmxvd1syXX0pKTtmb3IoZCBpbiBiKWlmKGU9YltkXSxhYi5leGVjKGUpKXtpZihkZWxldGUgYltkXSxmPWZ8fCJ0b2dnbGUiPT09ZSxlPT09KHE/ImhpZGUiOiJzaG93Iikpe2lmKCJzaG93IiE9PWV8fCFyfHx2b2lkIDA9PT1yW2RdKWNvbnRpbnVlO3E9ITB9b1tkXT1yJiZyW2RdfHxtLnN0eWxlKGEsZCl9ZWxzZSBqPXZvaWQgMDtpZihtLmlzRW1wdHlPYmplY3QobykpImlubGluZSI9PT0oIm5vbmUiPT09aj9GYShhLm5vZGVOYW1lKTpqKSYmKHAuZGlzcGxheT1qKTtlbHNle3I/ImhpZGRlbiJpbiByJiYocT1yLmhpZGRlbik6cj1tLl9kYXRhKGEsImZ4c2hvdyIse30pLGYmJihyLmhpZGRlbj0hcSkscT9tKGEpLnNob3coKTpuLmRvbmUoZnVuY3Rpb24oKXttKGEpLmhpZGUoKX0pLG4uZG9uZShmdW5jdGlvbigpe3ZhciBiO20uX3JlbW92ZURhdGEoYSwiZnhzaG93Iik7Zm9yKGIgaW4gbyltLnN0eWxlKGEsYixvW2JdKX0pO2ZvcihkIGluIG8pZz1oYihxP3JbZF06MCxkLG4pLGQgaW4gcnx8KHJbZF09Zy5zdGFydCxxJiYoZy5lbmQ9Zy5zdGFydCxnLnN0YXJ0PSJ3aWR0aCI9PT1kfHwiaGVpZ2h0Ij09PWQ/MTowKSl9fWZ1bmN0aW9uIGpiKGEsYil7dmFyIGMsZCxlLGYsZztmb3IoYyBpbiBhKWlmKGQ9bS5jYW1lbENhc2UoYyksZT1iW2RdLGY9YVtjXSxtLmlzQXJyYXkoZikmJihlPWZbMV0sZj1hW2NdPWZbMF0pLGMhPT1kJiYoYVtkXT1mLGRlbGV0ZSBhW2NdKSxnPW0uY3NzSG9va3NbZF0sZyYmImV4cGFuZCJpbiBnKXtmPWcuZXhwYW5kKGYpLGRlbGV0ZSBhW2RdO2ZvcihjIGluIGYpYyBpbiBhfHwoYVtjXT1mW2NdLGJbY109ZSl9ZWxzZSBiW2RdPWV9ZnVuY3Rpb24ga2IoYSxiLGMpe3ZhciBkLGUsZj0wLGc9ZGIubGVuZ3RoLGg9bS5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSBpLmVsZW19KSxpPWZ1bmN0aW9uKCl7aWYoZSlyZXR1cm4hMTtmb3IodmFyIGI9JGF8fGZiKCksYz1NYXRoLm1heCgwLGouc3RhcnRUaW1lK2ouZHVyYXRpb24tYiksZD1jL2ouZHVyYXRpb258fDAsZj0xLWQsZz0wLGk9ai50d2VlbnMubGVuZ3RoO2k+ZztnKyspai50d2VlbnNbZ10ucnVuKGYpO3JldHVybiBoLm5vdGlmeVdpdGgoYSxbaixmLGNdKSwxPmYmJmk/YzooaC5yZXNvbHZlV2l0aChhLFtqXSksITEpfSxqPWgucHJvbWlzZSh7ZWxlbTphLHByb3BzOm0uZXh0ZW5kKHt9LGIpLG9wdHM6bS5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e319LGMpLG9yaWdpbmFsUHJvcGVydGllczpiLG9yaWdpbmFsT3B0aW9uczpjLHN0YXJ0VGltZTokYXx8ZmIoKSxkdXJhdGlvbjpjLmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbihiLGMpe3ZhciBkPW0uVHdlZW4oYSxqLm9wdHMsYixjLGoub3B0cy5zcGVjaWFsRWFzaW5nW2JdfHxqLm9wdHMuZWFzaW5nKTtyZXR1cm4gai50d2VlbnMucHVzaChkKSxkfSxzdG9wOmZ1bmN0aW9uKGIpe3ZhciBjPTAsZD1iP2oudHdlZW5zLmxlbmd0aDowO2lmKGUpcmV0dXJuIHRoaXM7Zm9yKGU9ITA7ZD5jO2MrKylqLnR3ZWVuc1tjXS5ydW4oMSk7cmV0dXJuIGI/aC5yZXNvbHZlV2l0aChhLFtqLGJdKTpoLnJlamVjdFdpdGgoYSxbaixiXSksdGhpc319KSxrPWoucHJvcHM7Zm9yKGpiKGssai5vcHRzLnNwZWNpYWxFYXNpbmcpO2c+ZjtmKyspaWYoZD1kYltmXS5jYWxsKGosYSxrLGoub3B0cykpcmV0dXJuIGQ7cmV0dXJuIG0ubWFwKGssaGIsaiksbS5pc0Z1bmN0aW9uKGoub3B0cy5zdGFydCkmJmoub3B0cy5zdGFydC5jYWxsKGEsaiksbS5meC50aW1lcihtLmV4dGVuZChpLHtlbGVtOmEsYW5pbTpqLHF1ZXVlOmoub3B0cy5xdWV1ZX0pKSxqLnByb2dyZXNzKGoub3B0cy5wcm9ncmVzcykuZG9uZShqLm9wdHMuZG9uZSxqLm9wdHMuY29tcGxldGUpLmZhaWwoai5vcHRzLmZhaWwpLmFsd2F5cyhqLm9wdHMuYWx3YXlzKX1tLkFuaW1hdGlvbj1tLmV4dGVuZChrYix7dHdlZW5lcjpmdW5jdGlvbihhLGIpe20uaXNGdW5jdGlvbihhKT8oYj1hLGE9WyIqIl0pOmE9YS5zcGxpdCgiICIpO2Zvcih2YXIgYyxkPTAsZT1hLmxlbmd0aDtlPmQ7ZCsrKWM9YVtkXSxlYltjXT1lYltjXXx8W10sZWJbY10udW5zaGlmdChiKX0scHJlZmlsdGVyOmZ1bmN0aW9uKGEsYil7Yj9kYi51bnNoaWZ0KGEpOmRiLnB1c2goYSl9fSksbS5zcGVlZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YSYmIm9iamVjdCI9PXR5cGVvZiBhP20uZXh0ZW5kKHt9LGEpOntjb21wbGV0ZTpjfHwhYyYmYnx8bS5pc0Z1bmN0aW9uKGEpJiZhLGR1cmF0aW9uOmEsZWFzaW5nOmMmJmJ8fGImJiFtLmlzRnVuY3Rpb24oYikmJmJ9O3JldHVybiBkLmR1cmF0aW9uPW0uZngub2ZmPzA6Im51bWJlciI9PXR5cGVvZiBkLmR1cmF0aW9uP2QuZHVyYXRpb246ZC5kdXJhdGlvbiBpbiBtLmZ4LnNwZWVkcz9tLmZ4LnNwZWVkc1tkLmR1cmF0aW9uXTptLmZ4LnNwZWVkcy5fZGVmYXVsdCwobnVsbD09ZC5xdWV1ZXx8ZC5xdWV1ZT09PSEwKSYmKGQucXVldWU9ImZ4IiksZC5vbGQ9ZC5jb21wbGV0ZSxkLmNvbXBsZXRlPWZ1bmN0aW9uKCl7bS5pc0Z1bmN0aW9uKGQub2xkKSYmZC5vbGQuY2FsbCh0aGlzKSxkLnF1ZXVlJiZtLmRlcXVldWUodGhpcyxkLnF1ZXVlKX0sZH0sbS5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5maWx0ZXIoVSkuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTpifSxhLGMsZCl9LGFuaW1hdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5pc0VtcHR5T2JqZWN0KGEpLGY9bS5zcGVlZChiLGMsZCksZz1mdW5jdGlvbigpe3ZhciBiPWtiKHRoaXMsbS5leHRlbmQoe30sYSksZik7KGV8fG0uX2RhdGEodGhpcywiZmluaXNoIikpJiZiLnN0b3AoITApfTtyZXR1cm4gZy5maW5pc2g9ZyxlfHxmLnF1ZXVlPT09ITE/dGhpcy5lYWNoKGcpOnRoaXMucXVldWUoZi5xdWV1ZSxnKX0sc3RvcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5zdG9wO2RlbGV0ZSBhLnN0b3AsYihjKX07cmV0dXJuInN0cmluZyIhPXR5cGVvZiBhJiYoYz1iLGI9YSxhPXZvaWQgMCksYiYmYSE9PSExJiZ0aGlzLnF1ZXVlKGF8fCJmeCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPSEwLGU9bnVsbCE9YSYmYSsicXVldWVIb29rcyIsZj1tLnRpbWVycyxnPW0uX2RhdGEodGhpcyk7aWYoZSlnW2VdJiZnW2VdLnN0b3AmJmQoZ1tlXSk7ZWxzZSBmb3IoZSBpbiBnKWdbZV0mJmdbZV0uc3RvcCYmY2IudGVzdChlKSYmZChnW2VdKTtmb3IoZT1mLmxlbmd0aDtlLS07KWZbZV0uZWxlbSE9PXRoaXN8fG51bGwhPWEmJmZbZV0ucXVldWUhPT1hfHwoZltlXS5hbmltLnN0b3AoYyksYj0hMSxmLnNwbGljZShlLDEpKTsoYnx8IWMpJiZtLmRlcXVldWUodGhpcyxhKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT0hMSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsYz1tLl9kYXRhKHRoaXMpLGQ9Y1thKyJxdWV1ZSJdLGU9Y1thKyJxdWV1ZUhvb2tzIl0sZj1tLnRpbWVycyxnPWQ/ZC5sZW5ndGg6MDtmb3IoYy5maW5pc2g9ITAsbS5xdWV1ZSh0aGlzLGEsW10pLGUmJmUuc3RvcCYmZS5zdG9wLmNhbGwodGhpcywhMCksYj1mLmxlbmd0aDtiLS07KWZbYl0uZWxlbT09PXRoaXMmJmZbYl0ucXVldWU9PT1hJiYoZltiXS5hbmltLnN0b3AoITApLGYuc3BsaWNlKGIsMSkpO2ZvcihiPTA7Zz5iO2IrKylkW2JdJiZkW2JdLmZpbmlzaCYmZFtiXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgYy5maW5pc2h9KX19KSxtLmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGEsYil7dmFyIGM9bS5mbltiXTttLmZuW2JdPWZ1bmN0aW9uKGEsZCxlKXtyZXR1cm4gbnVsbD09YXx8ImJvb2xlYW4iPT10eXBlb2YgYT9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUoZ2IoYiwhMCksYSxkLGUpfX0pLG0uZWFjaCh7c2xpZGVEb3duOmdiKCJzaG93Iiksc2xpZGVVcDpnYigiaGlkZSIpLHNsaWRlVG9nZ2xlOmdiKCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxtLnRpbWVycz1bXSxtLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgYSxiPW0udGltZXJzLGM9MDtmb3IoJGE9bS5ub3coKTtjPGIubGVuZ3RoO2MrKylhPWJbY10sYSgpfHxiW2NdIT09YXx8Yi5zcGxpY2UoYy0tLDEpO2IubGVuZ3RofHxtLmZ4LnN0b3AoKSwkYT12b2lkIDB9LG0uZngudGltZXI9ZnVuY3Rpb24oYSl7bS50aW1lcnMucHVzaChhKSxhKCk/bS5meC5zdGFydCgpOm0udGltZXJzLnBvcCgpfSxtLmZ4LmludGVydmFsPTEzLG0uZnguc3RhcnQ9ZnVuY3Rpb24oKXtfYXx8KF9hPXNldEludGVydmFsKG0uZngudGljayxtLmZ4LmludGVydmFsKSl9LG0uZnguc3RvcD1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoX2EpLF9hPW51bGx9LG0uZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LG0uZm4uZGVsYXk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1tLmZ4P20uZnguc3BlZWRzW2FdfHxhOmEsYj1ifHwiZngiLHRoaXMucXVldWUoYixmdW5jdGlvbihiLGMpe3ZhciBkPXNldFRpbWVvdXQoYixhKTtjLnN0b3A9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoZCl9fSl9LGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZTtiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5zZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIsInQiKSxiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixkPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxjPXkuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksZT1jLmFwcGVuZENoaWxkKHkuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLGE9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSxkLnN0eWxlLmNzc1RleHQ9InRvcDoxcHgiLGsuZ2V0U2V0QXR0cmlidXRlPSJ0IiE9PWIuY2xhc3NOYW1lLGsuc3R5bGU9L3RvcC8udGVzdChkLmdldEF0dHJpYnV0ZSgic3R5bGUiKSksay5ocmVmTm9ybWFsaXplZD0iL2EiPT09ZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSxrLmNoZWNrT249ISFhLnZhbHVlLGsub3B0U2VsZWN0ZWQ9ZS5zZWxlY3RlZCxrLmVuY3R5cGU9ISF5LmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLGMuZGlzYWJsZWQ9ITAsay5vcHREaXNhYmxlZD0hZS5kaXNhYmxlZCxhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxhLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSxrLmlucHV0PSIiPT09YS5nZXRBdHRyaWJ1dGUoInZhbHVlIiksYS52YWx1ZT0idCIsYS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLGsucmFkaW9WYWx1ZT0idCI9PT1hLnZhbHVlfSgpO3ZhciBsYj0vXHIvZzttLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQ9bS5pc0Z1bmN0aW9uKGEpLHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZTsxPT09dGhpcy5ub2RlVHlwZSYmKGU9ZD9hLmNhbGwodGhpcyxjLG0odGhpcykudmFsKCkpOmEsbnVsbD09ZT9lPSIiOiJudW1iZXIiPT10eXBlb2YgZT9lKz0iIjptLmlzQXJyYXkoZSkmJihlPW0ubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6YSsiIn0pKSxiPW0udmFsSG9va3NbdGhpcy50eXBlXXx8bS52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJzZXQiaW4gYiYmdm9pZCAwIT09Yi5zZXQodGhpcyxlLCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT1lKSl9KTtpZihlKXJldHVybiBiPW0udmFsSG9va3NbZS50eXBlXXx8bS52YWxIb29rc1tlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJnZXQiaW4gYiYmdm9pZCAwIT09KGM9Yi5nZXQoZSwidmFsdWUiKSk/YzooYz1lLnZhbHVlLCJzdHJpbmciPT10eXBlb2YgYz9jLnJlcGxhY2UobGIsIiIpOm51bGw9PWM/IiI6Yyl9fX0pLG0uZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bS5maW5kLmF0dHIoYSwidmFsdWUiKTtyZXR1cm4gbnVsbCE9Yj9iOm0udHJpbShtLnRleHQoYSkpfX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGMsZD1hLm9wdGlvbnMsZT1hLnNlbGVjdGVkSW5kZXgsZj0ic2VsZWN0LW9uZSI9PT1hLnR5cGV8fDA+ZSxnPWY/bnVsbDpbXSxoPWY/ZSsxOmQubGVuZ3RoLGk9MD5lP2g6Zj9lOjA7aD5pO2krKylpZihjPWRbaV0sISghYy5zZWxlY3RlZCYmaSE9PWV8fChrLm9wdERpc2FibGVkP2MuZGlzYWJsZWQ6bnVsbCE9PWMuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKXx8Yy5wYXJlbnROb2RlLmRpc2FibGVkJiZtLm5vZGVOYW1lKGMucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKGI9bShjKS52YWwoKSxmKXJldHVybiBiO2cucHVzaChiKX1yZXR1cm4gZ30sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPWEub3B0aW9ucyxmPW0ubWFrZUFycmF5KGIpLGc9ZS5sZW5ndGg7d2hpbGUoZy0tKWlmKGQ9ZVtnXSxtLmluQXJyYXkobS52YWxIb29rcy5vcHRpb24uZ2V0KGQpLGYpPj0wKXRyeXtkLnNlbGVjdGVkPWM9ITB9Y2F0Y2goaCl7ZC5zY3JvbGxIZWlnaHR9ZWxzZSBkLnNlbGVjdGVkPSExO3JldHVybiBjfHwoYS5zZWxlY3RlZEluZGV4PS0xKSxlfX19fSksbS5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLGZ1bmN0aW9uKCl7bS52YWxIb29rc1t0aGlzXT17c2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uaXNBcnJheShiKT9hLmNoZWNrZWQ9bS5pbkFycmF5KG0oYSkudmFsKCksYik+PTA6dm9pZCAwfX0say5jaGVja09ufHwobS52YWxIb29rc1t0aGlzXS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PT1hLmdldEF0dHJpYnV0ZSgidmFsdWUiKT8ib24iOmEudmFsdWV9KX0pO3ZhciBtYixuYixvYj1tLmV4cHIuYXR0ckhhbmRsZSxwYj0vXig/OmNoZWNrZWR8c2VsZWN0ZWQpJC9pLHFiPWsuZ2V0U2V0QXR0cmlidXRlLHJiPWsuaW5wdXQ7bS5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0uYXR0cixhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bS5yZW1vdmVBdHRyKHRoaXMsYSl9KX19KSxtLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPWEubm9kZVR5cGU7aWYoYSYmMyE9PWYmJjghPT1mJiYyIT09ZilyZXR1cm4gdHlwZW9mIGEuZ2V0QXR0cmlidXRlPT09Sz9tLnByb3AoYSxiLGMpOigxPT09ZiYmbS5pc1hNTERvYyhhKXx8KGI9Yi50b0xvd2VyQ2FzZSgpLGQ9bS5hdHRySG9va3NbYl18fChtLmV4cHIubWF0Y2guYm9vbC50ZXN0KGIpP25iOm1iKSksdm9pZCAwPT09Yz9kJiYiZ2V0ImluIGQmJm51bGwhPT0oZT1kLmdldChhLGIpKT9lOihlPW0uZmluZC5hdHRyKGEsYiksbnVsbD09ZT92b2lkIDA6ZSk6bnVsbCE9PWM/ZCYmInNldCJpbiBkJiZ2b2lkIDAhPT0oZT1kLnNldChhLGMsYikpP2U6KGEuc2V0QXR0cmlidXRlKGIsYysiIiksYyk6dm9pZCBtLnJlbW92ZUF0dHIoYSxiKSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9MCxmPWImJmIubWF0Y2goRSk7aWYoZiYmMT09PWEubm9kZVR5cGUpd2hpbGUoYz1mW2UrK10pZD1tLnByb3BGaXhbY118fGMsbS5leHByLm1hdGNoLmJvb2wudGVzdChjKT9yYiYmcWJ8fCFwYi50ZXN0KGMpP2FbZF09ITE6YVttLmNhbWVsQ2FzZSgiZGVmYXVsdC0iK2MpXT1hW2RdPSExOm0uYXR0cihhLGMsIiIpLGEucmVtb3ZlQXR0cmlidXRlKHFiP2M6ZCl9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGEsYil7aWYoIWsucmFkaW9WYWx1ZSYmInJhZGlvIj09PWImJm0ubm9kZU5hbWUoYSwiaW5wdXQiKSl7dmFyIGM9YS52YWx1ZTtyZXR1cm4gYS5zZXRBdHRyaWJ1dGUoInR5cGUiLGIpLGMmJihhLnZhbHVlPWMpLGJ9fX19fSksbmI9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI9PT0hMT9tLnJlbW92ZUF0dHIoYSxjKTpyYiYmcWJ8fCFwYi50ZXN0KGMpP2Euc2V0QXR0cmlidXRlKCFxYiYmbS5wcm9wRml4W2NdfHxjLGMpOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitjKV09YVtjXT0hMCxjfX0sbS5lYWNoKG0uZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXHcrL2cpLGZ1bmN0aW9uKGEsYil7dmFyIGM9b2JbYl18fG0uZmluZC5hdHRyO29iW2JdPXJiJiZxYnx8IXBiLnRlc3QoYik/ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGY7cmV0dXJuIGR8fChmPW9iW2JdLG9iW2JdPWUsZT1udWxsIT1jKGEsYixkKT9iLnRvTG93ZXJDYXNlKCk6bnVsbCxvYltiXT1mKSxlfTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGM/dm9pZCAwOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitiKV0/Yi50b0xvd2VyQ2FzZSgpOm51bGx9fSkscmImJnFifHwobS5hdHRySG9va3MudmFsdWU9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0ubm9kZU5hbWUoYSwiaW5wdXQiKT92b2lkKGEuZGVmYXVsdFZhbHVlPWIpOm1iJiZtYi5zZXQoYSxiLGMpfX0pLHFifHwobWI9e3NldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5nZXRBdHRyaWJ1dGVOb2RlKGMpO3JldHVybiBkfHxhLnNldEF0dHJpYnV0ZU5vZGUoZD1hLm93bmVyRG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKGMpKSxkLnZhbHVlPWIrPSIiLCJ2YWx1ZSI9PT1jfHxiPT09YS5nZXRBdHRyaWJ1dGUoYyk/Yjp2b2lkIDB9fSxvYi5pZD1vYi5uYW1lPW9iLmNvb3Jkcz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGM/dm9pZCAwOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJiIiIT09ZC52YWx1ZT9kLnZhbHVlOm51bGx9LG0udmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmdldEF0dHJpYnV0ZU5vZGUoYik7cmV0dXJuIGMmJmMuc3BlY2lmaWVkP2MudmFsdWU6dm9pZCAwfSxzZXQ6bWIuc2V0fSxtLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e3NldDpmdW5jdGlvbihhLGIsYyl7bWIuc2V0KGEsIiI9PT1iPyExOmIsYyl9fSxtLmVhY2goWyJ3aWR0aCIsImhlaWdodCJdLGZ1bmN0aW9uKGEsYil7bS5hdHRySG9va3NbYl09e3NldDpmdW5jdGlvbihhLGMpe3JldHVybiIiPT09Yz8oYS5zZXRBdHRyaWJ1dGUoYiwiYXV0byIpLGMpOnZvaWQgMH19fSkpLGsuc3R5bGV8fChtLmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLnN0eWxlLmNzc1RleHR8fHZvaWQgMH0sc2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc3R5bGUuY3NzVGV4dD1iKyIifX0pO3ZhciBzYj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvaSx0Yj0vXig/OmF8YXJlYSkkL2k7bS5mbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0ucHJvcCxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihhKXtyZXR1cm4gYT1tLnByb3BGaXhbYV18fGEsdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbYV09dm9pZCAwLGRlbGV0ZSB0aGlzW2FdfWNhdGNoKGIpe319KX19KSxtLmV4dGVuZCh7cHJvcEZpeDp7ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSJ9LHByb3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnPWEubm9kZVR5cGU7aWYoYSYmMyE9PWcmJjghPT1nJiYyIT09ZylyZXR1cm4gZj0xIT09Z3x8IW0uaXNYTUxEb2MoYSksZiYmKGI9bS5wcm9wRml4W2JdfHxiLGU9bS5wcm9wSG9va3NbYl0pLHZvaWQgMCE9PWM/ZSYmInNldCJpbiBlJiZ2b2lkIDAhPT0oZD1lLnNldChhLGMsYikpP2Q6YVtiXT1jOmUmJiJnZXQiaW4gZSYmbnVsbCE9PShkPWUuZ2V0KGEsYikpP2Q6YVtiXX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPW0uZmluZC5hdHRyKGEsInRhYmluZGV4Iik7cmV0dXJuIGI/cGFyc2VJbnQoYiwxMCk6c2IudGVzdChhLm5vZGVOYW1lKXx8dGIudGVzdChhLm5vZGVOYW1lKSYmYS5ocmVmPzA6LTF9fX19KSxrLmhyZWZOb3JtYWxpemVkfHxtLmVhY2goWyJocmVmIiwic3JjIl0sZnVuY3Rpb24oYSxiKXttLnByb3BIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZShiLDQpfX19KSxrLm9wdFNlbGVjdGVkfHwobS5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJihiLnNlbGVjdGVkSW5kZXgsYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSxtLmVhY2goWyJ0YWJJbmRleCIsInJlYWRPbmx5IiwibWF4TGVuZ3RoIiwiY2VsbFNwYWNpbmciLCJjZWxsUGFkZGluZyIsInJvd1NwYW4iLCJjb2xTcGFuIiwidXNlTWFwIiwiZnJhbWVCb3JkZXIiLCJjb250ZW50RWRpdGFibGUiXSxmdW5jdGlvbigpe20ucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxrLmVuY3R5cGV8fChtLnByb3BGaXguZW5jdHlwZT0iZW5jb2RpbmciKTt2YXIgdWI9L1tcdFxyXG5cZl0vZzttLmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9InN0cmluZyI9PXR5cGVvZiBhJiZhO2lmKG0uaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20odGhpcykuYWRkQ2xhc3MoYS5jYWxsKHRoaXMsYix0aGlzLmNsYXNzTmFtZSkpfSk7aWYoailmb3IoYj0oYXx8IiIpLm1hdGNoKEUpfHxbXTtpPmg7aCsrKWlmKGM9dGhpc1toXSxkPTE9PT1jLm5vZGVUeXBlJiYoYy5jbGFzc05hbWU/KCIgIitjLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWIsIiAiKToiICIpKXtmPTA7d2hpbGUoZT1iW2YrK10pZC5pbmRleE9mKCIgIitlKyIgIik8MCYmKGQrPWUrIiAiKTtnPW0udHJpbShkKSxjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9MD09PWFyZ3VtZW50cy5sZW5ndGh8fCJzdHJpbmciPT10eXBlb2YgYSYmYTtpZihtLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXttKHRoaXMpLnJlbW92ZUNsYXNzKGEuY2FsbCh0aGlzLGIsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGopZm9yKGI9KGF8fCIiKS5tYXRjaChFKXx8W107aT5oO2grKylpZihjPXRoaXNbaF0sZD0xPT09Yy5ub2RlVHlwZSYmKGMuY2xhc3NOYW1lPygiICIrYy5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKHViLCIgIik6IiIpKXtmPTA7d2hpbGUoZT1iW2YrK10pd2hpbGUoZC5pbmRleE9mKCIgIitlKyIgIik+PTApZD1kLnJlcGxhY2UoIiAiK2UrIiAiLCIgIik7Zz1hP20udHJpbShkKToiIixjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBiJiYic3RyaW5nIj09PWM/Yj90aGlzLmFkZENsYXNzKGEpOnRoaXMucmVtb3ZlQ2xhc3MoYSk6dGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihjKXttKHRoaXMpLnRvZ2dsZUNsYXNzKGEuY2FsbCh0aGlzLGMsdGhpcy5jbGFzc05hbWUsYiksYil9OmZ1bmN0aW9uKCl7aWYoInN0cmluZyI9PT1jKXt2YXIgYixkPTAsZT1tKHRoaXMpLGY9YS5tYXRjaChFKXx8W107d2hpbGUoYj1mW2QrK10pZS5oYXNDbGFzcyhiKT9lLnJlbW92ZUNsYXNzKGIpOmUuYWRkQ2xhc3MoYil9ZWxzZShjPT09S3x8ImJvb2xlYW4iPT09YykmJih0aGlzLmNsYXNzTmFtZSYmbS5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIix0aGlzLmNsYXNzTmFtZSksdGhpcy5jbGFzc05hbWU9dGhpcy5jbGFzc05hbWV8fGE9PT0hMT8iIjptLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iICIrYSsiICIsYz0wLGQ9dGhpcy5sZW5ndGg7ZD5jO2MrKylpZigxPT09dGhpc1tjXS5ub2RlVHlwZSYmKCIgIit0aGlzW2NdLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWIsIiAiKS5pbmRleE9mKGIpPj0wKXJldHVybiEwO3JldHVybiExfX0pLG0uZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IGxvYWQgcmVzaXplIHNjcm9sbCB1bmxvYWQgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBlcnJvciBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24oYixudWxsLGEsYyk6dGhpcy50cmlnZ2VyKGIpfX0pLG0uZm4uZXh0ZW5kKHtob3ZlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoYSkubW91c2VsZWF2ZShifHxhKX0sYmluZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMub24oYSxudWxsLGIsYyl9LHVuYmluZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9mZihhLG51bGwsYil9LGRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGIsYSxjLGQpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoYSwiKioiKTp0aGlzLm9mZihiLGF8fCIqKiIsYyl9fSk7dmFyIHZiPW0ubm93KCksd2I9L1w/Lyx4Yj0vKCwpfChcW3x7KXwofXxdKXwiKD86W14iXFxcclxuXXxcXFsiXFxcL2JmbnJ0XXxcXHVbXGRhLWZBLUZdezR9KSoiXHMqOj98dHJ1ZXxmYWxzZXxudWxsfC0/KD8hMFxkKVxkKyg/OlwuXGQrfCkoPzpbZUVdWystXT9cZCt8KS9nO20ucGFyc2VKU09OPWZ1bmN0aW9uKGIpe2lmKGEuSlNPTiYmYS5KU09OLnBhcnNlKXJldHVybiBhLkpTT04ucGFyc2UoYisiIik7dmFyIGMsZD1udWxsLGU9bS50cmltKGIrIiIpO3JldHVybiBlJiYhbS50cmltKGUucmVwbGFjZSh4YixmdW5jdGlvbihhLGIsZSxmKXtyZXR1cm4gYyYmYiYmKGQ9MCksMD09PWQ/YTooYz1lfHxiLGQrPSFmLSFlLCIiKX0pKT9GdW5jdGlvbigicmV0dXJuICIrZSkoKTptLmVycm9yKCJJbnZhbGlkIEpTT046ICIrYil9LG0ucGFyc2VYTUw9ZnVuY3Rpb24oYil7dmFyIGMsZDtpZighYnx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBudWxsO3RyeXthLkRPTVBhcnNlcj8oZD1uZXcgRE9NUGFyc2VyLGM9ZC5wYXJzZUZyb21TdHJpbmcoYiwidGV4dC94bWwiKSk6KGM9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxjLmFzeW5jPSJmYWxzZSIsYy5sb2FkWE1MKGIpKX1jYXRjaChlKXtjPXZvaWQgMH1yZXR1cm4gYyYmYy5kb2N1bWVudEVsZW1lbnQmJiFjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8bS5lcnJvcigiSW52YWxpZCBYTUw6ICIrYiksY307dmFyIHliLHpiLEFiPS8jLiokLyxCYj0vKFs/Jl0pXz1bXiZdKi8sQ2I9L14oLio/KTpbIFx0XSooW15cclxuXSopXHI/JC9nbSxEYj0vXig/OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLyxFYj0vXig/OkdFVHxIRUFEKSQvLEZiPS9eXC9cLy8sR2I9L14oW1x3ListXSs6KSg/OlwvXC8oPzpbXlwvPyNdKkB8KShbXlwvPyM6XSopKD86OihcZCspfCl8KS8sSGI9e30sSWI9e30sSmI9IiovIi5jb25jYXQoIioiKTt0cnl7emI9bG9jYXRpb24uaHJlZn1jYXRjaChLYil7emI9eS5jcmVhdGVFbGVtZW50KCJhIiksemIuaHJlZj0iIix6Yj16Yi5ocmVmfXliPUdiLmV4ZWMoemIudG9Mb3dlckNhc2UoKSl8fFtdO2Z1bmN0aW9uIExiKGEpe3JldHVybiBmdW5jdGlvbihiLGMpeyJzdHJpbmciIT10eXBlb2YgYiYmKGM9YixiPSIqIik7dmFyIGQsZT0wLGY9Yi50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbXTtpZihtLmlzRnVuY3Rpb24oYykpd2hpbGUoZD1mW2UrK10pIisiPT09ZC5jaGFyQXQoMCk/KGQ9ZC5zbGljZSgxKXx8IioiLChhW2RdPWFbZF18fFtdKS51bnNoaWZ0KGMpKTooYVtkXT1hW2RdfHxbXSkucHVzaChjKX19ZnVuY3Rpb24gTWIoYSxiLGMsZCl7dmFyIGU9e30sZj1hPT09SWI7ZnVuY3Rpb24gZyhoKXt2YXIgaTtyZXR1cm4gZVtoXT0hMCxtLmVhY2goYVtoXXx8W10sZnVuY3Rpb24oYSxoKXt2YXIgaj1oKGIsYyxkKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGp8fGZ8fGVbal0/Zj8hKGk9aik6dm9pZCAwOihiLmRhdGFUeXBlcy51bnNoaWZ0KGopLGcoaiksITEpfSksaX1yZXR1cm4gZyhiLmRhdGFUeXBlc1swXSl8fCFlWyIqIl0mJmcoIioiKX1mdW5jdGlvbiBOYihhLGIpe3ZhciBjLGQsZT1tLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGQgaW4gYil2b2lkIDAhPT1iW2RdJiYoKGVbZF0/YTpjfHwoYz17fSkpW2RdPWJbZF0pO3JldHVybiBjJiZtLmV4dGVuZCghMCxhLGMpLGF9ZnVuY3Rpb24gT2IoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jb250ZW50cyxpPWEuZGF0YVR5cGVzO3doaWxlKCIqIj09PWlbMF0paS5zaGlmdCgpLHZvaWQgMD09PWUmJihlPWEubWltZVR5cGV8fGIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihlKWZvcihnIGluIGgpaWYoaFtnXSYmaFtnXS50ZXN0KGUpKXtpLnVuc2hpZnQoZyk7YnJlYWt9aWYoaVswXWluIGMpZj1pWzBdO2Vsc2V7Zm9yKGcgaW4gYyl7aWYoIWlbMF18fGEuY29udmVydGVyc1tnKyIgIitpWzBdXSl7Zj1nO2JyZWFrfWR8fChkPWcpfWY9Znx8ZH1yZXR1cm4gZj8oZiE9PWlbMF0mJmkudW5zaGlmdChmKSxjW2ZdKTp2b2lkIDB9ZnVuY3Rpb24gUGIoYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPXt9LGs9YS5kYXRhVHlwZXMuc2xpY2UoKTtpZihrWzFdKWZvcihnIGluIGEuY29udmVydGVycylqW2cudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2ddO2Y9ay5zaGlmdCgpO3doaWxlKGYpaWYoYS5yZXNwb25zZUZpZWxkc1tmXSYmKGNbYS5yZXNwb25zZUZpZWxkc1tmXV09YiksIWkmJmQmJmEuZGF0YUZpbHRlciYmKGI9YS5kYXRhRmlsdGVyKGIsYS5kYXRhVHlwZSkpLGk9ZixmPWsuc2hpZnQoKSlpZigiKiI9PT1mKWY9aTtlbHNlIGlmKCIqIiE9PWkmJmkhPT1mKXtpZihnPWpbaSsiICIrZl18fGpbIiogIitmXSwhZylmb3IoZSBpbiBqKWlmKGg9ZS5zcGxpdCgiICIpLGhbMV09PT1mJiYoZz1qW2krIiAiK2hbMF1dfHxqWyIqICIraFswXV0pKXtnPT09ITA/Zz1qW2VdOmpbZV0hPT0hMCYmKGY9aFswXSxrLnVuc2hpZnQoaFsxXSkpO2JyZWFrfWlmKGchPT0hMClpZihnJiZhWyJ0aHJvd3MiXSliPWcoYik7ZWxzZSB0cnl7Yj1nKGIpfWNhdGNoKGwpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmc/bDoiTm8gY29udmVyc2lvbiBmcm9tICIraSsiIHRvICIrZn19fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTpifX1tLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6emIsdHlwZToiR0VUIixpc0xvY2FsOkRiLnRlc3QoeWJbMV0pLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6SmIsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L3htbC8saHRtbDovaHRtbC8sanNvbjovanNvbi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjptLnBhcnNlSlNPTiwidGV4dCB4bWwiOm0ucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihhLGIpe3JldHVybiBiP05iKE5iKGEsbS5hamF4U2V0dGluZ3MpLGIpOk5iKG0uYWpheFNldHRpbmdzLGEpfSxhamF4UHJlZmlsdGVyOkxiKEhiKSxhamF4VHJhbnNwb3J0OkxiKEliKSxhamF4OmZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBhJiYoYj1hLGE9dm9pZCAwKSxiPWJ8fHt9O3ZhciBjLGQsZSxmLGcsaCxpLGosaz1tLmFqYXhTZXR1cCh7fSxiKSxsPWsuY29udGV4dHx8ayxuPWsuY29udGV4dCYmKGwubm9kZVR5cGV8fGwuanF1ZXJ5KT9tKGwpOm0uZXZlbnQsbz1tLkRlZmVycmVkKCkscD1tLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxxPWsuc3RhdHVzQ29kZXx8e30scj17fSxzPXt9LHQ9MCx1PSJjYW5jZWxlZCIsdj17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKDI9PT10KXtpZighail7aj17fTt3aGlsZShiPUNiLmV4ZWMoZikpaltiWzFdLnRvTG93ZXJDYXNlKCldPWJbMl19Yj1qW2EudG9Mb3dlckNhc2UoKV19cmV0dXJuIG51bGw9PWI/bnVsbDpifSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXQ/ZjpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b0xvd2VyQ2FzZSgpO3JldHVybiB0fHwoYT1zW2NdPXNbY118fGEsclthXT1iKSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3JldHVybiB0fHwoay5taW1lVHlwZT1hKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEpaWYoMj50KWZvcihiIGluIGEpcVtiXT1bcVtiXSxhW2JdXTtlbHNlIHYuYWx3YXlzKGFbdi5zdGF0dXNdKTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YXx8dTtyZXR1cm4gaSYmaS5hYm9ydChiKSx4KDAsYiksdGhpc319O2lmKG8ucHJvbWlzZSh2KS5jb21wbGV0ZT1wLmFkZCx2LnN1Y2Nlc3M9di5kb25lLHYuZXJyb3I9di5mYWlsLGsudXJsPSgoYXx8ay51cmx8fHpiKSsiIikucmVwbGFjZShBYiwiIikucmVwbGFjZShGYix5YlsxXSsiLy8iKSxrLnR5cGU9Yi5tZXRob2R8fGIudHlwZXx8ay5tZXRob2R8fGsudHlwZSxrLmRhdGFUeXBlcz1tLnRyaW0oay5kYXRhVHlwZXx8IioiKS50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbIiJdLG51bGw9PWsuY3Jvc3NEb21haW4mJihjPUdiLmV4ZWMoay51cmwudG9Mb3dlckNhc2UoKSksay5jcm9zc0RvbWFpbj0hKCFjfHxjWzFdPT09eWJbMV0mJmNbMl09PT15YlsyXSYmKGNbM118fCgiaHR0cDoiPT09Y1sxXT8iODAiOiI0NDMiKSk9PT0oeWJbM118fCgiaHR0cDoiPT09eWJbMV0/IjgwIjoiNDQzIikpKSksay5kYXRhJiZrLnByb2Nlc3NEYXRhJiYic3RyaW5nIiE9dHlwZW9mIGsuZGF0YSYmKGsuZGF0YT1tLnBhcmFtKGsuZGF0YSxrLnRyYWRpdGlvbmFsKSksTWIoSGIsayxiLHYpLDI9PT10KXJldHVybiB2O2g9bS5ldmVudCYmay5nbG9iYWwsaCYmMD09PW0uYWN0aXZlKysmJm0uZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0Iiksay50eXBlPWsudHlwZS50b1VwcGVyQ2FzZSgpLGsuaGFzQ29udGVudD0hRWIudGVzdChrLnR5cGUpLGU9ay51cmwsay5oYXNDb250ZW50fHwoay5kYXRhJiYoZT1rLnVybCs9KHdiLnRlc3QoZSk/IiYiOiI/Iikray5kYXRhLGRlbGV0ZSBrLmRhdGEpLGsuY2FjaGU9PT0hMSYmKGsudXJsPUJiLnRlc3QoZSk/ZS5yZXBsYWNlKEJiLCIkMV89Iit2YisrKTplKyh3Yi50ZXN0KGUpPyImIjoiPyIpKyJfPSIrdmIrKykpLGsuaWZNb2RpZmllZCYmKG0ubGFzdE1vZGlmaWVkW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixtLmxhc3RNb2RpZmllZFtlXSksbS5ldGFnW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLG0uZXRhZ1tlXSkpLChrLmRhdGEmJmsuaGFzQ29udGVudCYmay5jb250ZW50VHlwZSE9PSExfHxiLmNvbnRlbnRUeXBlKSYmdi5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLGsuY29udGVudFR5cGUpLHYuc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixrLmRhdGFUeXBlc1swXSYmay5hY2NlcHRzW2suZGF0YVR5cGVzWzBdXT9rLmFjY2VwdHNbay5kYXRhVHlwZXNbMF1dKygiKiIhPT1rLmRhdGFUeXBlc1swXT8iLCAiK0piKyI7IHE9MC4wMSI6IiIpOmsuYWNjZXB0c1siKiJdKTtmb3IoZCBpbiBrLmhlYWRlcnMpdi5zZXRSZXF1ZXN0SGVhZGVyKGQsay5oZWFkZXJzW2RdKTtpZihrLmJlZm9yZVNlbmQmJihrLmJlZm9yZVNlbmQuY2FsbChsLHYsayk9PT0hMXx8Mj09PXQpKXJldHVybiB2LmFib3J0KCk7dT0iYWJvcnQiO2ZvcihkIGlue3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXZbZF0oa1tkXSk7aWYoaT1NYihJYixrLGIsdikpe3YucmVhZHlTdGF0ZT0xLGgmJm4udHJpZ2dlcigiYWpheFNlbmQiLFt2LGtdKSxrLmFzeW5jJiZrLnRpbWVvdXQ+MCYmKGc9c2V0VGltZW91dChmdW5jdGlvbigpe3YuYWJvcnQoInRpbWVvdXQiKX0say50aW1lb3V0KSk7dHJ5e3Q9MSxpLnNlbmQocix4KX1jYXRjaCh3KXtpZighKDI+dCkpdGhyb3cgdzt4KC0xLHcpfX1lbHNlIHgoLTEsIk5vIFRyYW5zcG9ydCIpO2Z1bmN0aW9uIHgoYSxiLGMsZCl7dmFyIGoscixzLHUsdyx4PWI7MiE9PXQmJih0PTIsZyYmY2xlYXJUaW1lb3V0KGcpLGk9dm9pZCAwLGY9ZHx8IiIsdi5yZWFkeVN0YXRlPWE+MD80OjAsaj1hPj0yMDAmJjMwMD5hfHwzMDQ9PT1hLGMmJih1PU9iKGssdixjKSksdT1QYihrLHUsdixqKSxqPyhrLmlmTW9kaWZpZWQmJih3PXYuZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSx3JiYobS5sYXN0TW9kaWZpZWRbZV09dyksdz12LmdldFJlc3BvbnNlSGVhZGVyKCJldGFnIiksdyYmKG0uZXRhZ1tlXT13KSksMjA0PT09YXx8IkhFQUQiPT09ay50eXBlP3g9Im5vY29udGVudCI6MzA0PT09YT94PSJub3Rtb2RpZmllZCI6KHg9dS5zdGF0ZSxyPXUuZGF0YSxzPXUuZXJyb3Isaj0hcykpOihzPXgsKGF8fCF4KSYmKHg9ImVycm9yIiwwPmEmJihhPTApKSksdi5zdGF0dXM9YSx2LnN0YXR1c1RleHQ9KGJ8fHgpKyIiLGo/by5yZXNvbHZlV2l0aChsLFtyLHgsdl0pOm8ucmVqZWN0V2l0aChsLFt2LHgsc10pLHYuc3RhdHVzQ29kZShxKSxxPXZvaWQgMCxoJiZuLnRyaWdnZXIoaj8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFt2LGssaj9yOnNdKSxwLmZpcmVXaXRoKGwsW3YseF0pLGgmJihuLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3Ysa10pLC0tbS5hY3RpdmV8fG0uZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpfXJldHVybiB2fSxnZXRKU09OOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5nZXQoYSxiLGMsImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZ2V0KGEsdm9pZCAwLGIsInNjcmlwdCIpfX0pLG0uZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGIpe21bYl09ZnVuY3Rpb24oYSxjLGQsZSl7cmV0dXJuIG0uaXNGdW5jdGlvbihjKSYmKGU9ZXx8ZCxkPWMsYz12b2lkIDApLG0uYWpheCh7dXJsOmEsdHlwZTpiLGRhdGFUeXBlOmUsZGF0YTpjLHN1Y2Nlc3M6ZH0pfX0pLG0uX2V2YWxVcmw9ZnVuY3Rpb24oYSl7cmV0dXJuIG0uYWpheCh7dXJsOmEsdHlwZToiR0VUIixkYXRhVHlwZToic2NyaXB0Iixhc3luYzohMSxnbG9iYWw6ITEsInRocm93cyI6ITB9KX0sbS5mbi5leHRlbmQoe3dyYXBBbGw6ZnVuY3Rpb24oYSl7aWYobS5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bSh0aGlzKS53cmFwQWxsKGEuY2FsbCh0aGlzLGIpKX0pO2lmKHRoaXNbMF0pe3ZhciBiPW0oYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKTt0aGlzWzBdLnBhcmVudE5vZGUmJmIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLGIubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt3aGlsZShhLmZpcnN0Q2hpbGQmJjE9PT1hLmZpcnN0Q2hpbGQubm9kZVR5cGUpYT1hLmZpcnN0Q2hpbGQ7cmV0dXJuIGF9KS5hcHBlbmQodGhpcyl9cmV0dXJuIHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihiKXttKHRoaXMpLndyYXBJbm5lcihhLmNhbGwodGhpcyxiKSl9OmZ1bmN0aW9uKCl7dmFyIGI9bSh0aGlzKSxjPWIuY29udGVudHMoKTtjLmxlbmd0aD9jLndyYXBBbGwoYSk6Yi5hcHBlbmQoYSl9KX0sd3JhcDpmdW5jdGlvbihhKXt2YXIgYj1tLmlzRnVuY3Rpb24oYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXttKHRoaXMpLndyYXBBbGwoYj9hLmNhbGwodGhpcyxjKTphKX0pfSx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQoKS5lYWNoKGZ1bmN0aW9uKCl7bS5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fG0odGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLmVuZCgpfX0pLG0uZXhwci5maWx0ZXJzLmhpZGRlbj1mdW5jdGlvbihhKXtyZXR1cm4gYS5vZmZzZXRXaWR0aDw9MCYmYS5vZmZzZXRIZWlnaHQ8PTB8fCFrLnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpJiYibm9uZSI9PT0oYS5zdHlsZSYmYS5zdHlsZS5kaXNwbGF5fHxtLmNzcyhhLCJkaXNwbGF5IikpfSxtLmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiFtLmV4cHIuZmlsdGVycy5oaWRkZW4oYSl9O3ZhciBRYj0vJTIwL2csUmI9L1xbXF0kLyxTYj0vXHI/XG4vZyxUYj0vXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksVWI9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIFZiKGEsYixjLGQpe3ZhciBlO2lmKG0uaXNBcnJheShiKSltLmVhY2goYixmdW5jdGlvbihiLGUpe2N8fFJiLnRlc3QoYSk/ZChhLGUpOlZiKGErIlsiKygib2JqZWN0Ij09dHlwZW9mIGU/YjoiIikrIl0iLGUsYyxkKX0pO2Vsc2UgaWYoY3x8Im9iamVjdCIhPT1tLnR5cGUoYikpZChhLGIpO2Vsc2UgZm9yKGUgaW4gYilWYihhKyJbIitlKyJdIixiW2VdLGMsZCl9bS5wYXJhbT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1mdW5jdGlvbihhLGIpe2I9bS5pc0Z1bmN0aW9uKGIpP2IoKTpudWxsPT1iPyIiOmIsZFtkLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGEpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYil9O2lmKHZvaWQgMD09PWImJihiPW0uYWpheFNldHRpbmdzJiZtLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCksbS5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIW0uaXNQbGFpbk9iamVjdChhKSltLmVhY2goYSxmdW5jdGlvbigpe2UodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IoYyBpbiBhKVZiKGMsYVtjXSxiLGUpO3JldHVybiBkLmpvaW4oIiYiKS5yZXBsYWNlKFFiLCIrIil9LG0uZm4uZXh0ZW5kKHtzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gbS5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpfSxzZXJpYWxpemVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPW0ucHJvcCh0aGlzLCJlbGVtZW50cyIpO3JldHVybiBhP20ubWFrZUFycmF5KGEpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgYT10aGlzLnR5cGU7cmV0dXJuIHRoaXMubmFtZSYmIW0odGhpcykuaXMoIjpkaXNhYmxlZCIpJiZVYi50ZXN0KHRoaXMubm9kZU5hbWUpJiYhVGIudGVzdChhKSYmKHRoaXMuY2hlY2tlZHx8IVcudGVzdChhKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1tKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1jP251bGw6bS5pc0FycmF5KGMpP20ubWFwKGMsZnVuY3Rpb24oYSl7cmV0dXJue25hbWU6Yi5uYW1lLHZhbHVlOmEucmVwbGFjZShTYiwiXHJcbiIpfX0pOntuYW1lOmIubmFtZSx2YWx1ZTpjLnJlcGxhY2UoU2IsIlxyXG4iKX19KS5nZXQoKX19KSxtLmFqYXhTZXR0aW5ncy54aHI9dm9pZCAwIT09YS5BY3RpdmVYT2JqZWN0P2Z1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaXNMb2NhbCYmL14oZ2V0fHBvc3R8aGVhZHxwdXR8ZGVsZXRlfG9wdGlvbnMpJC9pLnRlc3QodGhpcy50eXBlKSYmWmIoKXx8JGIoKX06WmI7dmFyIFdiPTAsWGI9e30sWWI9bS5hamF4U2V0dGluZ3MueGhyKCk7YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib251bmxvYWQiLGZ1bmN0aW9uKCl7Zm9yKHZhciBhIGluIFhiKVhiW2FdKHZvaWQgMCwhMCl9KSxrLmNvcnM9ISFZYiYmIndpdGhDcmVkZW50aWFscyJpbiBZYixZYj1rLmFqYXg9ISFZYixZYiYmbS5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGEpe2lmKCFhLmNyb3NzRG9tYWlufHxrLmNvcnMpe3ZhciBiO3JldHVybntzZW5kOmZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hLnhocigpLGc9KytXYjtpZihmLm9wZW4oYS50eXBlLGEudXJsLGEuYXN5bmMsYS51c2VybmFtZSxhLnBhc3N3b3JkKSxhLnhockZpZWxkcylmb3IoZSBpbiBhLnhockZpZWxkcylmW2VdPWEueGhyRmllbGRzW2VdO2EubWltZVR5cGUmJmYub3ZlcnJpZGVNaW1lVHlwZSYmZi5vdmVycmlkZU1pbWVUeXBlKGEubWltZVR5cGUpLGEuY3Jvc3NEb21haW58fGNbIlgtUmVxdWVzdGVkLVdpdGgiXXx8KGNbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTtmb3IoZSBpbiBjKXZvaWQgMCE9PWNbZV0mJmYuc2V0UmVxdWVzdEhlYWRlcihlLGNbZV0rIiIpO2Yuc2VuZChhLmhhc0NvbnRlbnQmJmEuZGF0YXx8bnVsbCksYj1mdW5jdGlvbihjLGUpe3ZhciBoLGksajtpZihiJiYoZXx8ND09PWYucmVhZHlTdGF0ZSkpaWYoZGVsZXRlIFhiW2ddLGI9dm9pZCAwLGYub25yZWFkeXN0YXRlY2hhbmdlPW0ubm9vcCxlKTQhPT1mLnJlYWR5U3RhdGUmJmYuYWJvcnQoKTtlbHNle2o9e30saD1mLnN0YXR1cywic3RyaW5nIj09dHlwZW9mIGYucmVzcG9uc2VUZXh0JiYoai50ZXh0PWYucmVzcG9uc2VUZXh0KTt0cnl7aT1mLnN0YXR1c1RleHR9Y2F0Y2goayl7aT0iIn1ofHwhYS5pc0xvY2FsfHxhLmNyb3NzRG9tYWluPzEyMjM9PT1oJiYoaD0yMDQpOmg9ai50ZXh0PzIwMDo0MDR9aiYmZChoLGksaixmLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKX0sYS5hc3luYz80PT09Zi5yZWFkeVN0YXRlP3NldFRpbWVvdXQoYik6Zi5vbnJlYWR5c3RhdGVjaGFuZ2U9WGJbZ109YjpiKCl9LGFib3J0OmZ1bmN0aW9uKCl7YiYmYih2b2lkIDAsITApfX19fSk7ZnVuY3Rpb24gWmIoKXt0cnl7cmV0dXJuIG5ldyBhLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGIpe319ZnVuY3Rpb24gJGIoKXt0cnl7cmV0dXJuIG5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9Y2F0Y2goYil7fX1tLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9LGNvbnRlbnRzOntzY3JpcHQ6Lyg/OmphdmF8ZWNtYSlzY3JpcHQvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe3JldHVybiBtLmdsb2JhbEV2YWwoYSksYX19fSksbS5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEuY2FjaGUmJihhLmNhY2hlPSExKSxhLmNyb3NzRG9tYWluJiYoYS50eXBlPSJHRVQiLGEuZ2xvYmFsPSExKX0pLG0uYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgYixjPXkuaGVhZHx8bSgiaGVhZCIpWzBdfHx5LmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihkLGUpe2I9eS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxiLmFzeW5jPSEwLGEuc2NyaXB0Q2hhcnNldCYmKGIuY2hhcnNldD1hLnNjcmlwdENoYXJzZXQpLGIuc3JjPWEudXJsLGIub25sb2FkPWIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7KGN8fCFiLnJlYWR5U3RhdGV8fC9sb2FkZWR8Y29tcGxldGUvLnRlc3QoYi5yZWFkeVN0YXRlKSkmJihiLm9ubG9hZD1iLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbCxjfHxlKDIwMCwic3VjY2VzcyIpKX0sYy5pbnNlcnRCZWZvcmUoYixjLmZpcnN0Q2hpbGQpfSxhYm9ydDpmdW5jdGlvbigpe2ImJmIub25sb2FkKHZvaWQgMCwhMCl9fX19KTt2YXIgX2I9W10sYWM9Lyg9KVw/KD89JnwkKXxcP1w/LzttLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9X2IucG9wKCl8fG0uZXhwYW5kbysiXyIrdmIrKztyZXR1cm4gdGhpc1thXT0hMCxhfX0pLG0uYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixjLGQpe3ZhciBlLGYsZyxoPWIuanNvbnAhPT0hMSYmKGFjLnRlc3QoYi51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgYi5kYXRhJiYhKGIuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmYWMudGVzdChiLmRhdGEpJiYiZGF0YSIpO3JldHVybiBofHwianNvbnAiPT09Yi5kYXRhVHlwZXNbMF0/KGU9Yi5qc29ucENhbGxiYWNrPW0uaXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxsYmFjaygpOmIuanNvbnBDYWxsYmFjayxoP2JbaF09YltoXS5yZXBsYWNlKGFjLCIkMSIrZSk6Yi5qc29ucCE9PSExJiYoYi51cmwrPSh3Yi50ZXN0KGIudXJsKT8iJiI6Ij8iKStiLmpzb25wKyI9IitlKSxiLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gZ3x8bS5lcnJvcihlKyIgd2FzIG5vdCBjYWxsZWQiKSxnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNvbiIsZj1hW2VdLGFbZV09ZnVuY3Rpb24oKXtnPWFyZ3VtZW50c30sZC5hbHdheXMoZnVuY3Rpb24oKXthW2VdPWYsYltlXSYmKGIuanNvbnBDYWxsYmFjaz1jLmpzb25wQ2FsbGJhY2ssX2IucHVzaChlKSksZyYmbS5pc0Z1bmN0aW9uKGYpJiZmKGdbMF0pLGc9Zj12b2lkIDB9KSwic2NyaXB0Iik6dm9pZCAwfSksbS5wYXJzZUhUTUw9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhfHwic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIG51bGw7ImJvb2xlYW4iPT10eXBlb2YgYiYmKGM9YixiPSExKSxiPWJ8fHk7dmFyIGQ9dS5leGVjKGEpLGU9IWMmJltdO3JldHVybiBkP1tiLmNyZWF0ZUVsZW1lbnQoZFsxXSldOihkPW0uYnVpbGRGcmFnbWVudChbYV0sYixlKSxlJiZlLmxlbmd0aCYmbShlKS5yZW1vdmUoKSxtLm1lcmdlKFtdLGQuY2hpbGROb2RlcykpfTt2YXIgYmM9bS5mbi5sb2FkO20uZm4ubG9hZD1mdW5jdGlvbihhLGIsYyl7aWYoInN0cmluZyIhPXR5cGVvZiBhJiZiYylyZXR1cm4gYmMuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBkLGUsZixnPXRoaXMsaD1hLmluZGV4T2YoIiAiKTtyZXR1cm4gaD49MCYmKGQ9bS50cmltKGEuc2xpY2UoaCxhLmxlbmd0aCkpLGE9YS5zbGljZSgwLGgpKSxtLmlzRnVuY3Rpb24oYik/KGM9YixiPXZvaWQgMCk6YiYmIm9iamVjdCI9PXR5cGVvZiBiJiYoZj0iUE9TVCIpLGcubGVuZ3RoPjAmJm0uYWpheCh7dXJsOmEsdHlwZTpmLGRhdGFUeXBlOiJodG1sIixkYXRhOmJ9KS5kb25lKGZ1bmN0aW9uKGEpe2U9YXJndW1lbnRzLGcuaHRtbChkP20oIjxkaXY+IikuYXBwZW5kKG0ucGFyc2VIVE1MKGEpKS5maW5kKGQpOmEpfSkuY29tcGxldGUoYyYmZnVuY3Rpb24oYSxiKXtnLmVhY2goYyxlfHxbYS5yZXNwb25zZVRleHQsYixhXSl9KSx0aGlzfSxtLmVhY2goWyJhamF4U3RhcnQiLCJhamF4U3RvcCIsImFqYXhDb21wbGV0ZSIsImFqYXhFcnJvciIsImFqYXhTdWNjZXNzIiwiYWpheFNlbmQiXSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub24oYixhKX19KSxtLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihhKXtyZXR1cm4gbS5ncmVwKG0udGltZXJzLGZ1bmN0aW9uKGIpe3JldHVybiBhPT09Yi5lbGVtfSkubGVuZ3RofTt2YXIgY2M9YS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZnVuY3Rpb24gZGMoYSl7cmV0dXJuIG0uaXNXaW5kb3coYSk/YTo5PT09YS5ub2RlVHlwZT9hLmRlZmF1bHRWaWV3fHxhLnBhcmVudFdpbmRvdzohMX1tLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrPW0uY3NzKGEsInBvc2l0aW9uIiksbD1tKGEpLG49e307InN0YXRpYyI9PT1rJiYoYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxoPWwub2Zmc2V0KCksZj1tLmNzcyhhLCJ0b3AiKSxpPW0uY3NzKGEsImxlZnQiKSxqPSgiYWJzb2x1dGUiPT09a3x8ImZpeGVkIj09PWspJiZtLmluQXJyYXkoImF1dG8iLFtmLGldKT4tMSxqPyhkPWwucG9zaXRpb24oKSxnPWQudG9wLGU9ZC5sZWZ0KTooZz1wYXJzZUZsb2F0KGYpfHwwLGU9cGFyc2VGbG9hdChpKXx8MCksbS5pc0Z1bmN0aW9uKGIpJiYoYj1iLmNhbGwoYSxjLGgpKSxudWxsIT1iLnRvcCYmKG4udG9wPWIudG9wLWgudG9wK2cpLG51bGwhPWIubGVmdCYmKG4ubGVmdD1iLmxlZnQtaC5sZWZ0K2UpLCJ1c2luZyJpbiBiP2IudXNpbmcuY2FsbChhLG4pOmwuY3NzKG4pfX0sbS5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1hP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20ub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTt2YXIgYixjLGQ9e3RvcDowLGxlZnQ6MH0sZT10aGlzWzBdLGY9ZSYmZS5vd25lckRvY3VtZW50O2lmKGYpcmV0dXJuIGI9Zi5kb2N1bWVudEVsZW1lbnQsbS5jb250YWlucyhiLGUpPyh0eXBlb2YgZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QhPT1LJiYoZD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSxjPWRjKGYpLHt0b3A6ZC50b3ArKGMucGFnZVlPZmZzZXR8fGIuc2Nyb2xsVG9wKS0oYi5jbGllbnRUb3B8fDApLGxlZnQ6ZC5sZWZ0KyhjLnBhZ2VYT2Zmc2V0fHxiLnNjcm9sbExlZnQpLShiLmNsaWVudExlZnR8fDApfSk6ZH0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzWzBdKXt2YXIgYSxiLGM9e3RvcDowLGxlZnQ6MH0sZD10aGlzWzBdO3JldHVybiJmaXhlZCI9PT1tLmNzcyhkLCJwb3NpdGlvbiIpP2I9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTooYT10aGlzLm9mZnNldFBhcmVudCgpLGI9dGhpcy5vZmZzZXQoKSxtLm5vZGVOYW1lKGFbMF0sImh0bWwiKXx8KGM9YS5vZmZzZXQoKSksYy50b3ArPW0uY3NzKGFbMF0sImJvcmRlclRvcFdpZHRoIiwhMCksYy5sZWZ0Kz1tLmNzcyhhWzBdLCJib3JkZXJMZWZ0V2lkdGgiLCEwKSkse3RvcDpiLnRvcC1jLnRvcC1tLmNzcyhkLCJtYXJnaW5Ub3AiLCEwKSxsZWZ0OmIubGVmdC1jLmxlZnQtbS5jc3MoZCwibWFyZ2luTGVmdCIsITApfX19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXMub2Zmc2V0UGFyZW50fHxjYzt3aGlsZShhJiYhbS5ub2RlTmFtZShhLCJodG1sIikmJiJzdGF0aWMiPT09bS5jc3MoYSwicG9zaXRpb24iKSlhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfHxjY30pfX0pLG0uZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPS9ZLy50ZXN0KGIpO20uZm5bYV09ZnVuY3Rpb24oZCl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhLGQsZSl7dmFyIGY9ZGMoYSk7cmV0dXJuIHZvaWQgMD09PWU/Zj9iIGluIGY/ZltiXTpmLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtkXTphW2RdOnZvaWQoZj9mLnNjcm9sbFRvKGM/bShmKS5zY3JvbGxMZWZ0KCk6ZSxjP2U6bShmKS5zY3JvbGxUb3AoKSk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksbS5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGEsYil7bS5jc3NIb29rc1tiXT1MYShrLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oYSxjKXtyZXR1cm4gYz8oYz1KYShhLGIpLEhhLnRlc3QoYyk/bShhKS5wb3NpdGlvbigpW2JdKyJweCI6Yyk6dm9pZCAwfSl9KSxtLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihhLGIpe20uZWFjaCh7cGFkZGluZzoiaW5uZXIiK2EsY29udGVudDpiLCIiOiJvdXRlciIrYX0sZnVuY3Rpb24oYyxkKXttLmZuW2RdPWZ1bmN0aW9uKGQsZSl7dmFyIGY9YXJndW1lbnRzLmxlbmd0aCYmKGN8fCJib29sZWFuIiE9dHlwZW9mIGQpLGc9Y3x8KGQ9PT0hMHx8ZT09PSEwPyJtYXJnaW4iOiJib3JkZXIiKTtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZTtyZXR1cm4gbS5pc1dpbmRvdyhiKT9iLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IithXTo5PT09Yi5ub2RlVHlwZT8oZT1iLmRvY3VtZW50RWxlbWVudCxNYXRoLm1heChiLmJvZHlbInNjcm9sbCIrYV0sZVsic2Nyb2xsIithXSxiLmJvZHlbIm9mZnNldCIrYV0sZVsib2Zmc2V0IithXSxlWyJjbGllbnQiK2FdKSk6dm9pZCAwPT09ZD9tLmNzcyhiLGMsZyk6bS5zdHlsZShiLGMsZCxnKX0sYixmP2Q6dm9pZCAwLGYsbnVsbCl9fSl9KSxtLmZuLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9LG0uZm4uYW5kU2VsZj1tLmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG19KTt2YXIgZWM9YS5qUXVlcnksZmM9YS4kO3JldHVybiBtLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PW0mJihhLiQ9ZmMpLGImJmEualF1ZXJ5PT09bSYmKGEualF1ZXJ5PWVjKSxtfSx0eXBlb2YgYj09PUsmJihhLmpRdWVyeT1hLiQ9bSksbX0pOwo=&quot;&gt;&lt;/script&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot; /&gt;
&lt;link href=&quot;data:text/css,html%7Bfont%2Dfamily%3Asans%2Dserif%3B%2Dwebkit%2Dtext%2Dsize%2Dadjust%3A100%25%3B%2Dms%2Dtext%2Dsize%2Dadjust%3A100%25%7Dbody%7Bmargin%3A0%7Darticle%2Caside%2Cdetails%2Cfigcaption%2Cfigure%2Cfooter%2Cheader%2Chgroup%2Cmain%2Cmenu%2Cnav%2Csection%2Csummary%7Bdisplay%3Ablock%7Daudio%2Ccanvas%2Cprogress%2Cvideo%7Bdisplay%3Ainline%2Dblock%3Bvertical%2Dalign%3Abaseline%7Daudio%3Anot%28%5Bcontrols%5D%29%7Bdisplay%3Anone%3Bheight%3A0%7D%5Bhidden%5D%2Ctemplate%7Bdisplay%3Anone%7Da%7Bbackground%2Dcolor%3Atransparent%7Da%3Aactive%2Ca%3Ahover%7Boutline%3A0%7Dabbr%5Btitle%5D%7Bborder%2Dbottom%3A1px%20dotted%7Db%2Cstrong%7Bfont%2Dweight%3A700%7Ddfn%7Bfont%2Dstyle%3Aitalic%7Dh1%7Bmargin%3A%2E67em%200%3Bfont%2Dsize%3A2em%7Dmark%7Bcolor%3A%23000%3Bbackground%3A%23ff0%7Dsmall%7Bfont%2Dsize%3A80%25%7Dsub%2Csup%7Bposition%3Arelative%3Bfont%2Dsize%3A75%25%3Bline%2Dheight%3A0%3Bvertical%2Dalign%3Abaseline%7Dsup%7Btop%3A%2D%2E5em%7Dsub%7Bbottom%3A%2D%2E25em%7Dimg%7Bborder%3A0%7Dsvg%3Anot%28%3Aroot%29%7Boverflow%3Ahidden%7Dfigure%7Bmargin%3A1em%2040px%7Dhr%7Bheight%3A0%3B%2Dwebkit%2Dbox%2Dsizing%3Acontent%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Acontent%2Dbox%3Bbox%2Dsizing%3Acontent%2Dbox%7Dpre%7Boverflow%3Aauto%7Dcode%2Ckbd%2Cpre%2Csamp%7Bfont%2Dfamily%3Amonospace%2Cmonospace%3Bfont%2Dsize%3A1em%7Dbutton%2Cinput%2Coptgroup%2Cselect%2Ctextarea%7Bmargin%3A0%3Bfont%3Ainherit%3Bcolor%3Ainherit%7Dbutton%7Boverflow%3Avisible%7Dbutton%2Cselect%7Btext%2Dtransform%3Anone%7Dbutton%2Chtml%20input%5Btype%3Dbutton%5D%2Cinput%5Btype%3Dreset%5D%2Cinput%5Btype%3Dsubmit%5D%7B%2Dwebkit%2Dappearance%3Abutton%3Bcursor%3Apointer%7Dbutton%5Bdisabled%5D%2Chtml%20input%5Bdisabled%5D%7Bcursor%3Adefault%7Dbutton%3A%3A%2Dmoz%2Dfocus%2Dinner%2Cinput%3A%3A%2Dmoz%2Dfocus%2Dinner%7Bpadding%3A0%3Bborder%3A0%7Dinput%7Bline%2Dheight%3Anormal%7Dinput%5Btype%3Dcheckbox%5D%2Cinput%5Btype%3Dradio%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%3Bpadding%3A0%7Dinput%5Btype%3Dnumber%5D%3A%3A%2Dwebkit%2Dinner%2Dspin%2Dbutton%2Cinput%5Btype%3Dnumber%5D%3A%3A%2Dwebkit%2Douter%2Dspin%2Dbutton%7Bheight%3Aauto%7Dinput%5Btype%3Dsearch%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Acontent%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Acontent%2Dbox%3Bbox%2Dsizing%3Acontent%2Dbox%3B%2Dwebkit%2Dappearance%3Atextfield%7Dinput%5Btype%3Dsearch%5D%3A%3A%2Dwebkit%2Dsearch%2Dcancel%2Dbutton%2Cinput%5Btype%3Dsearch%5D%3A%3A%2Dwebkit%2Dsearch%2Ddecoration%7B%2Dwebkit%2Dappearance%3Anone%7Dfieldset%7Bpadding%3A%2E35em%20%2E625em%20%2E75em%3Bmargin%3A0%202px%3Bborder%3A1px%20solid%20silver%7Dlegend%7Bpadding%3A0%3Bborder%3A0%7Dtextarea%7Boverflow%3Aauto%7Doptgroup%7Bfont%2Dweight%3A700%7Dtable%7Bborder%2Dspacing%3A0%3Bborder%2Dcollapse%3Acollapse%7Dtd%2Cth%7Bpadding%3A0%7D%40media%20print%7B%2A%2C%3Aafter%2C%3Abefore%7Bcolor%3A%23000%21important%3Btext%2Dshadow%3Anone%21important%3Bbackground%3A0%200%21important%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%21important%3Bbox%2Dshadow%3Anone%21important%7Da%2Ca%3Avisited%7Btext%2Ddecoration%3Aunderline%7Da%5Bhref%5D%3Aafter%7Bcontent%3A%22%20%28%22%20attr%28href%29%20%22%29%22%7Dabbr%5Btitle%5D%3Aafter%7Bcontent%3A%22%20%28%22%20attr%28title%29%20%22%29%22%7Da%5Bhref%5E%3D%22javascript%3A%22%5D%3Aafter%2Ca%5Bhref%5E%3D%22%23%22%5D%3Aafter%7Bcontent%3A%22%22%7Dblockquote%2Cpre%7Bborder%3A1px%20solid%20%23999%3Bpage%2Dbreak%2Dinside%3Aavoid%7Dthead%7Bdisplay%3Atable%2Dheader%2Dgroup%7Dimg%2Ctr%7Bpage%2Dbreak%2Dinside%3Aavoid%7Dimg%7Bmax%2Dwidth%3A100%25%21important%7Dh2%2Ch3%2Cp%7Borphans%3A3%3Bwidows%3A3%7Dh2%2Ch3%7Bpage%2Dbreak%2Dafter%3Aavoid%7D%2Enavbar%7Bdisplay%3Anone%7D%2Ebtn%3E%2Ecaret%2C%2Edropup%3E%2Ebtn%3E%2Ecaret%7Bborder%2Dtop%2Dcolor%3A%23000%21important%7D%2Elabel%7Bborder%3A1px%20solid%20%23000%7D%2Etable%7Bborder%2Dcollapse%3Acollapse%21important%7D%2Etable%20td%2C%2Etable%20th%7Bbackground%2Dcolor%3A%23fff%21important%7D%2Etable%2Dbordered%20td%2C%2Etable%2Dbordered%20th%7Bborder%3A1px%20solid%20%23ddd%21important%7D%7D%40font%2Dface%7Bfont%2Dfamily%3A%27Glyphicons%20Halflings%27%3Bsrc%3Aurl%28data%3Aapplication%2Fvnd%2Ems%2Dfontobject%3Bbase64%2Cn04AAEFNAAACAAIABAAAAAAABQAAAAAAAAABAJABAAAEAExQAAAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAJxJ%2FLAAAAAAAAAAAAAAAAAAAAAAAACgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAAAADgBSAGUAZwB1AGwAYQByAAAAeABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAA5ADsAUABTACAAMAAwADEALgAwADAAOQA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADcAMAA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADUAOAAzADIAOQAAADgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzACAAUgBlAGcAdQBsAGEAcgAAAAAAQlNHUAAAAAAAAAAAAAAAAAAAAAADAKncAE0TAE0ZAEbuFM3pjM%2FSEdmjKHUbyow8ATBE40IvWA3vTu8LiABDQ%2BpexwUMcm1SMnNryctQSiI1K5ZnbOlXKmnVV5YvRe6RnNMFNCOs1KNVpn6yZhCJkRtVRNzEufeIq7HgSrcx4S8h%2Fv4vnrrKc6oCNxmSk2uKlZQHBii6iKFoH0746ThvkO1kJHlxjrkxs%2BLWORaDQBEtiYJIR5IB9Bi1UyL4Rmr0BNigNkMzlKQmnofBHviqVzUxwdMb3NdCn69hy%2BpRYVKGVS%2F1tnsqv4LL7wCCPZZAZPT4aCShHjHJVNuXbmMrY5LeQaGnvAkXlVrJgKRAUdFjrWEah9XebPeQMj7KS7DIBAFt8ycgC5PLGUOHSE3ErGZCiViNLL5ZARfywnCoZaKQCu6NuFX42AEeKtKUGnr%2FCm2Cy8tpFhBPMW5Fxi4Qm4TkDWh4IWFDClhU2hRWosUWqcKLlgyXB%2BlSHaWaHiWlBAR8SeSgSPCQxdVQgzUixWKSTrIQEbU94viDctkvX%2BVSjJuUmV8L4CXShI11esnp0pjWNZIyxKHS4wVQ2ime1P4RnhvGw0aDN1OLAXGERsB7buFpFGGBAre4QEQR0HOIO5oYH305G%2BKspT%2FFupEGGafCCwxSe6ZUa%2B073rXHnNdVXE6eWvibUS27XtRzkH838mYLMBmYysZTM0EM3A1fbpCBYFccN1B%2FEnCYu%2FTgCGmr7bMh8GfYL%2BBfcLvB0gRagC09w9elfldaIy%2FhNCBLRgBgtCC7jAF63wLSMAfbfAlEggYU0bUA7ACCJmTDpEmJtI78w4%2FBO7dN7JR7J7ZvbYaUbaILSQsRBiF3HGk5fEg6p9unwLvn98r%2BvnsV%2B372uf1xBLq4qU%2F45fTuqaAP%2BpssmCCCTF0mhEow8ZXZOS8D7Q85JsxZ%2BAzok7B7O%2Ff6J8AzYBySZQB%2FQHYUSA%2BEeQhEWiS6AIQzgcsDiER4MjgMBAWDV4AgQ3g1eBgIdweCQmCjJEMkJ%2BPKRWyFHHmg1Wi%2F6xzUgA0LREoKJChwnQa9B%2B5RQZRB3IlBlkAnxyQNaANwHMowzlYSMCBgnbpzvqpl0iTJNCQidDI9ZrSYNIRBhHtUa5YHMHxyGEik9hDE0AKj72AbTCaxtHPUaKZdAZSnQTyjGqGLsmBStCejApUhg4uBMU6mATujEl%2BKdDPbI6Ag4vLr%2BhjY6lbjBeoLKnZl0UZgRX8gTySOeynZVz1wOq7e1hFGYIq%2BMhrGxDLak0PrwYzSXtcuyhXEhwOYofiW%2BEcI%2Fjw8P6IY6ed%2BetAbuqKp5QIapT77LnAe505lMuqL79a0ut4rWexzFttsOsLDy7zvtQzcq3U1qabe7tB0wHWVXji%2BzDbo8x8HyIRUbXnwUcklFv51fvTymiV%2BMXLSmGH9d9%2BaXpD5X6lao41anWGig7IwIdnoBY2ht%2FpO9mClLo4NdXHAsefqWUKlXJkbqPOFhMoR4aiA1BXqhRNbB2Xwi%2B7u%2FjpAoOpKJ0UX24EsrzMfHXViakCNcKjBxuQX8BO0ZqjJ3xXzf%2B61t2VXOSgJ8xu65QKgtN6FibPmPYsXbJRHHqbgATcSZxBqGiDiU4NNNsYBsKD0MIP%2FOfKnlk%2FLkaid%2FO2NbKeuQrwOB2Gq3YHyr6ALgzym5wIBnsdC1ZkoBFZSQXChZvlesPqvK2c5oHHT3Q65jYpNxnQcGF0EHbvYqoFw60WNlXIHQF2HQB7zD6lWjZ9rVqUKBXUT6hrkZOle0RFYII0V5ZYGl1JAP0Ud1fZZMvSomBzJ710j4Me8mjQDwEre5Uv2wQfk1ifDwb5ksuJQQ3xt423lbuQjvoIQByQrNDh1JxGFkOdlJvu%2FgFtuW0wR4cgd%2BZKesSV7QkNE2kw6AV4hoIuC02LGmTomyf8PiO6CZzOTLTPQ%2BHW06H%2Btx%2BbQ8LmDYg1pTFrp2oJXgkZTyeRJZM0C8aE2LpFrNVDuhARsN543%2FFV6klQ6Tv1OoZGXLv0igKrl%2FCmJxRmX7JJbJ998VSIPQRyDBICzl4JJlYHbdql30NvYcOuZ7a10uWRrgoieOdgIm4rlq6vNOQBuqESLbXG5lzdJGHw2m0sDYmODXbYGTfSTGRKpssTO95fothJCjUGQgEL4yKoGAF%2F0SrpUDNn8CBgBcSDQByAeNkCXp4S4Ro2Xh4OeaGRgR66PVOsU8bc6TR5%2FxTcn4IVMLOkXSWiXxkZQCbvKfmoAvQaKjO3EDKwkwqHChCDEM5loQRPd5ACBki1TjF772oaQhQbQ5C0lcWXPFOzrfsDGUXGrpxasbG4iab6eByaQkQfm0VFlP0ZsDkvvqCL6QXMUwCjdMx1ZOyKhTJ7a1GWAdOUcJ8RSejxNVyGs31OKMyRyBVoZFjqIkmKlLQ5eHMeEL4MkUf23cQ%2F1SgRCJ1dk4UdBT7OoyuNgLs0oCd8RnrEIb6QdMxT2QjD4zMrJkfgx5aDMcA4orsTtKCqWb%2FVeyceqa5OGSmB28YwH4rFbkQaLoUN8OQQYnD3w2eXpI4ScQfbCUZiJ4yMOIKLyyTc7BQ4uXUw6Ee6%2FxM%2B4Y67ngNBknxIPwuppgIhFcwJyr6EIj%2BLzNj%2FmfR2vhhRlx0BILZoAYruF0caWQ7YxO66UmeguDREAFHYuC7HJviRgVO6ruJH59h%2FC%2FPkgSle8xNzZJULLWq9JMDTE2fjGE146a1Us6PZDGYle6ldWRqn%2FpdpgHKNGrGIdkRK%2BKPETT9nKT6kLyDI8xd9A1FgWmXWRAIHwZ37WyZHOVyCadJEmMVz0MadMjDrPho%2BEIochkVC2xgGiwwsQ6DMv2P7UXqT4x7CdcYGId2BJQQa85EQKmCmwcRejQ9Bm4oATENFPkxPXILHpMPUyWTI5rjNOsIlmEeMbcOCEqInpXACYQ9DDxmFo9vcmsDblcMtg4tqBerNngkIKaFJmrQAPnq1dEzsMXcwjcHdfdCibcAxxA%2Bq%2Fj9m3LM%2FO7WJka4tSidVCjsvo2lQ%2F2ewyoYyXwAYyr2PlRoR5MpgVmSUIrM3PQxXPbgjBOaDQFIyFMJvx3Pc5RSYj12ySVF9fwFPQu2e2KWVoL9q3Ayv3IzpGHUdvdPdrNUdicjsTQ2ISy7QU3DrEytIjvbzJnAkmANXjAFERA0MUoPF3%2F5KFmW14bBNOhwircYgMqoDpUMcDtCmBE82QM2YtdjVLB4kBuKho%2FbcwQdeboqfQartuU3CsCf%2BcXkgYAqp%2F0Ee3RorAZt0AvvOCSI4JICIlGlsV0bsSid%2FNIEALAAzb6HAgyWHBps6xAOwkJIGcB82CxRQq4sJf3FzA70A%2BTRqcqjEMETCoez3mkPcpnoALs0ugJY8kQwrC%2BJE5ik3w9rzrvDRjAQnqgEVvdGrNwlanR0SOKWzxOJOvLJhcd8Cl4AshACUkv9czdMkJCVQSQhp6kp7StAlpVRpK0t0SW6LHeBJnE2QchB5Ccu8kxRghZXGIgZIiSj7gEKMJDClcnX6hgoqJMwiQDigIXg3ioFLCgDgjPtYHYpsF5EiA4kcnN18MZtOrY866dEQAb0FB34OGKHGZQjwW%2FWDHA60cYFaI%2FPjpzquUqdaYGcIq%2BmLez3WLFFCtNBN2QJcrlcoELgiPku5R5dSlJFaCEqEZle1AQzAKC%2B1SotMcBNyQUFuRHRF6OlimSBgjZeTBCwLyc6A%2BP%2FoFRchXTz5ADknYJHxzrJ5pGuIKRQISU6WyKTBBjD8WozmVYWIsto1AS5rxzKlvJu4E%2FvwOiKxRtCWsDM%2BeTHUrmwrCK5BIfMzGkD%2B0Fk5LzBs0jMYXktNDblB06LMNJ09U8pzSLmo14MS0OMjcdrZ31pyQqxJJpRImlSvfYAK8inkYU52QY2FPEVsjoWewpwhRp5yAuNpkqhdb7ku9Seefl2D0B8SMTFD90xi4CSOwwZy9IKkpMtI3FmFUg3%2FkFutpQGNc3pCR7gvC4sgwbupDu3DyEN%2BW6YGLNM21jpB49irxy9BSlHrVDlnihGKHwPrbVFtc%2Bh1rVQKZduxIyojccZIIcOCmhEnC7UkY68WXKQgLi2JCDQkQWJRQuk60hZp0D3rtCTINSeY9Ej2kIKYfGxwOs4j9qMM7fYZiipzgcf7TamnehqdhsiMiCawXnz4xAbyCkLAx5EGbo3Ax1u3dUIKnTxIaxwQTHehPl3V491H0%2BbC5zgpGz7Io%2BmjdhKlPJ01EeMpM7UsRJMi1nGjmJg35i6bQBAAxjO%2FENJubU2mg3ONySEoWklCwdABETcs7ck3jgiuU9pcKKpbgn%2B3YlzV1FzIkB6pmEDOSSyDfPPlQskznctFji0kpgZjW5RZe6x9kYT4KJcXg0bNiCyif%2BpZACCyRMmYsfiKmN9tSO65F0R2OO6ytlEhY5Sj6uRKfFxw0ijJaAx%2Fk3QgnAFSq27%2F2i4GEBA%2BUvTJKK%2F9eISNvG46Em5RZfjTYLdeD8kdXHyrwId%2FDQZUaMCY4gGbke2C8vfjgV%2FY9kkRQOJIn%2FxM9INZSpiBnqX0Q9GlQPpPKAyO5y%2BW5NMPSRdBCUlmuxl40ZfMCnf2Cp044uI9WLFtCi4YVxKjuRCOBWIb4XbIsGdbo4qtMQnNOQz4XDSui7W%2FN6l54qOynCqD3DpWQ%2BmpD7C40D8BZEWGJX3tlAaZBMj1yjvDYKwCJBa201u6nBKE5UE%2B7QSEhCwrXfbRZylAaAkplhBWX50dumrElePyNMRYUrC99UmcSSNgImhFhDI4BXjMtiqkgizUGCrZ8iwFxU6fQ8GEHCFdLewwxYWxgScAYMdMLmcZR6b7rZl95eQVDGVoUKcRMM1ixXQtXNkBETZkVVPg8LoSrdetHzkuM7DjZRHP02tCxA1fmkXKF3VzfN1pc1cv%2F8lbTIkkYpqKM9VOhp65ktYk%2BQ46myFWBapDfyWUCnsnI00QTBQmuFjMZTcd0V2NQ768Fhpby04k2IzNR1wKabuGJqYWwSly6ocMFGTeeI%2BejsWDYgEvr66QgqdcIbFYDNgsm0x9UHY6SCd5%2B7tpsLpKdvhahIDyYmEJQCqMqtCF6UlrE5GXRmbu%2Bvtm3BFSxI6ND6UxIE7GsGMgWqghXxSnaRJuGFveTcK5ZVSPJyjUxe1dKgI6kNF7EZhIZs8y8FVqwEfbM0Xk2ltORVDKZZM40SD3qQoQe0orJEKwPfZwm3YPqwixhUMOndis6MhbmfvLBKjC8sKKIZKbJk8L11oNkCQzCgvjhyyEiQSuJcgCQSG4Mocfgc0Hkwcjal1UNgP0CBPikYqBIk9tONv4kLtBswH07vUCjEaHiFGlLf8MgXKzSgjp2HolRRccAOh0ILHz9qlGgIFkwAnzHJRjWFhlA7ROwINyB5HFj59PRZHFor6voq7l23EPNRwdWhgawqbivLSjRA4htEYUFkjESu67icTg5S0aW1sOkCiIysfJ9UnIWevOOLGpepcBxy1wEhd2WI3AZg7sr9WBmHWyasxMcvY%2FiOmsLtHSWNUWEGk9hScMPShasUA1AcHOtRZlqMeQ0OzYS9vQvYUjOLrzP07BUAFikcJNMi7gIxEw4pL1G54TcmmmoAQ5s7TGWErJZ2Io4yQ0ljRYhL8H5e62oDtLF8aDpnIvZ5R3GWJyAugdiiJW9hQAVTsnCBHhwu7rkBlBX6r3b7ejEY0k5GGeyKv66v%2B6dg7mcJTrWHbtMywbedYqCQ0FPwoytmSWsL8WTtChZCKKzEF7vP6De4x2BJkkniMgSdWhbeBSLtJZR9CTHetK1xb34AYIJ37OegYIoPVbXgJ%2FqDQK%2BbfCtxQRVKQu77WzOoM6SGL7MaZwCGJVk46aImai9fmam%2BWpHG%2B0BtQPWUgZ7RIAlPq6lkECUhZQ2gqWkMYKcYMYaIc4gYCDFHYa2d1nzp3%2BJ1eCBay8IYZ0wQRKGAqvCuZ%2FUgbQPyllosq%2BXtfKIZOzmeJqRazpmmoP%2F76YfkjzV2NlXTDSBYB04SVlNQsFTbGPk1t%2FI4Jktu0XSgifO2ozFOiwd%2F0SssJDn0dn4xqk4GDTTKX73%2FwQyBLdqgJ%2BWx6AQaba3BA9CKEzjtQYIfAsiYamapq80LAamYjinlKXUkxdpIDk0puXUEYzSalfRibAeDAKpNiqQ0FTwoxuGYzRnisyTotdVTclis1LHRQCy%2FqqL8oUaQzWRxilq5Mi0IJGtMY02cGLD69vGjkj3p6pGePKI8bkBv5evq8SjjyU04vJR2cQXQwSJyoinDsUJHCQ50jrFTT7yRdbdYQMB3MYCb6uBzJ9ewhXYPAIZSXfeEQBZZ3GPN3Nbhh%2FwkvAJLXnQMdi5NYYZ5GHE400GS5rXkOZSQsdZgIbzRnF9ueLnsfQ47wHAsirITnTlkCcuWWIUhJSbpM3wWhXNHvt2xUsKKMpdBSbJnBMcihkoDqAd1Zml%2FR4yrzow1Q2A5G%2Bkzo%2FRhRxQS2lCSDRV8LlYLBOOoo1bF4jwJAwKMK1tWLHlu9i0j4Ig8qVm6wE1DxXwAwQwsaBWUg2pOOol2dHxyt6npwJEdLDDVYyRc2D0HbcbLUJQj8gPevQBUBOUHXPrsAPBERICpnYESeu2OHotpXQxRGlCCtLdIsu23MhZVEoJg8Qumj%2FUMMc34IBqTKLDTp76WzL%2FdMjCxK7MjhiGjeYAC%2Fkj%2FjY%2FRde7hpSM1xChrog6yZ7OWTuD56xBJnGFE%2BpT2ElSyCnJcwVzCjkqeNLfMEJqKW0G7OFIp0G%2B9mh50I9o8k1tpCY0xYqFNIALgIfc2me4n1bmJnRZ89oepgLPT0NTMLNZsvSCZAc3TXaNB07vail36%2FdBySis4m9%2FDR8izaLJW6bWCkVgm5T%2Bius3ZXq4xI%2BGnbveLbdRwF2mNtsrE0JjYc1AXknCOrLSu7Te%2Fr4dPYMCl5qtiHNTn%2BTPbh1jCBHH%2BdMJNhwNgs3nT%2BOhQoQ0vYif56BMG6WowAcHR3DjQolxLzyVekHj00PBAaW7IIAF1EF%2BuRIWyXjQMAs2chdpaKPNaB%2BkSezYt0%2BCA04sOg5vx8Fr7Ofa9sUv87h7SLAUFSzbetCCZ9pmyLt6l6%2FTzoA1%2FZBG9bIUVHLAbi%2FkdBFgYGyGwRQGBpkqCEg2ah9UD6EedEcEL3j4y0BQQCiExEnocA3SZboh%2Bepgd3YsOkHskZwPuQ5OoyA0fTA5AXrHcUOQF%2BzkJHIA7PwCDk1gGVmGUZSSoPhNf%2BTklauz98QofOlCIQ%2FtCD4dosHYPqtPCXB3agggQQIqQJsSkB%2Bqn0rkQ1toJjON%2FOtCIB9RYv3PqRA4C4U68ZMlZn6BdgEvi2ziU%2BTQ6NIw3ej%2BAtDwMGEZk7e2IjxUWKdAxyaw9OCwSmeADTPPleyk6UhGDNXQb%2B%2BW6Uk4q6F7%2Frg6WVTo82IoCxSIsFDrav4EPHphD3u4hR53WKVvYZUwNCCeM4PMBWzK%2BEfIthZOkuAwPo5C5jgoZgn6dUdvx5rIDmd58cXXdKNfw3l%2BwM2UjgrDJeQHhbD7HW2QDoZMCujgIUkk5Fg8VCsdyjOtnGRx8wgKRPZN5dR0zPUyfGZFVihbFRniXZFOZGKPnEQzU3AnD1KfR6weHW2XS6KbPJxUkOTZsAB9vTVp3Le1F8q5l%2BDMcLiIq78jxAImD2pGFw0VHfRatScGlK6SMu8leTmhUSMy8Uhdd6xBiH3Gdman4tjQGLboJfqz6fL2WKHTmrfsKZRYX6BTDjDldKMosaSTLdQS7oDisJNqAUhw1PfTlnacCO8vl8706Km1FROgLDmudzxg%2BEWTiArtHgLsRrAXYWdB0NmToNCJdKm0KWycZQqb%2BMw76Qy29iQ5up%2FX7oyw8QZ75kP5F6iJAJz6KCmqxz8fEa%2FxnsMYcIO%2FvEkGRuMckhr4rIeLrKaXnmIzlNLxbFspOphkcnJdnz%2FChp%2FVlpj2P7jJQmQRwGnltkTV5dbF9fE3%2FfxoSqTROgq9wFUlbuYzYcasE0ouzBo%2BdDCDzxKAfhbAZYxQiHrLzV2iVexnDX%2FQnT1fsT%2Fxuhu1ui5qIytgbGmRoQkeQooO8eJNNZsf0iALur8QxZFH0nCMnjerYQqG1pIfjyVZWxhVRznmmfLG00BcBWJE6hzQWRyFknuJnXuk8A5FRDCulwrWASSNoBtR%2BCtGdkPwYN2o7DOw%2FVGlCZPusRBFXODQdUM5zeHDIVuAJBLqbO%2Ff9Qua%2BpDqEPk230Sob9lEZ8BHiCorjVghuI0lI4JDgHGRDD%2FprQ84B1pVGkIpVUAHCG%2Biz3Bn3qm2AVrYcYWhock4jso5%2BJ7HfHVj4WMIQdGctq3psBCVVzupQOEioBGA2Bk%2BUILT7%2BVoX5mdxxA5fS42gISQVi%2FHTzrgMxu0fY6hE1ocUwwbsbWcezrY2n6S8%2F6cxXkOH4prpmPuFoikTzY7T85C4T2XYlbxLglSv2uLCgFv8Quk%2FwdesUdWPeHYIH0R729JIisN9Apdd4eB10aqwXrPt%2BSu9mA8k8n1sjMwnfsfF2j3jMUzXepSHmZ%2FBfqXvzgUNQQWOXO8YEuFBh4QTYCkOAPxywpYu1VxiDyJmKVcmJPGWk%2Fgc3Pov02StyYDahwmzw3E1gYC9wkupyWfDqDSUMpCTH5e5N8B%2F%2FlHiMuIkTNw4USHrJU67bjXGqNav6PBuQSoqTxc8avHoGmvqNtXzIaoyMIQIiiUHIM64cXieouplhNYln7qgc4wBVAYR104kO%2BCvKqsg4yIUlFNThVUAKZxZt1XA34h3TCUUiXVkZ0w8Hh2R0Z5L0b4LZvPd%2Fp1gi%2F07h8qfwHrByuSxglc9cI4QIg2oqvC%2Fqm0i7tjPLTgDhoWTAKDO2ONW5oe%2B%2FeKB9vZB8K6C25yCZ9RFVMnb6NRdRjyVK57CHHSkJBfnM2%2Fj4ODUwRkqrtBBCrDsDpt8jhZdXoy%2F1BCqw3sSGhgGGy0a5Jw6BP%2FTExoCmNFYjZl248A0osgPyGEmRA%2BfAsqPVaNAfytu0vuQJ7rk3J4kTDTR2AlCHJ5cls26opZM4w3jMULh2YXKpcqGBtuleAlOZnaZGbD6DHzMd6i2oFeJ8z9XYmalg1Szd%2FocZDc1C7Y6vcALJz2lYnTXiWEr2wawtoR4g3jvWUU2Ngjd1cewtFzEvM1NiHZPeLlIXFbBPawxNgMwwAlyNSuGF3zizVeOoC9bag1qRAQKQE%2FEZBWC2J8mnXAN2aTBboZ7HewnObE8CwROudZHmUM5oZ%2FUgd%2FJZQK8lvAm43uDRAbyW8gZ%2BZGq0EVerVGUKUSm%2FIdn8AQHdR4m7bue88WBwft9mSCeMOt1ncBwziOmJYI2ZR7ewNMPiCugmSsE4EyQ%2BQATJG6qORMGd4snEzc6B4shPIo4G1T7PgSm8PY5eUkPdF8JZ0VBtadbHXoJgnEhZQaODPj2gpODKJY5Yp4DOsLBFxWbvXN755KWylJm%2BoOd4zEL9Hpubuy2gyyfxh8oEfFutnYWdfB8PdESLWYvSqbElP9qo3u6KTmkhoacDauMNNjj0oy40DFV7Ql0aZj77xfGl7TJNHnIwgqOkenruYYNo6h724%2BzUQ7%2BvkCpZB%2BpGA562hYQiDxHVWOq0oDQl%2FQsoiY%2BcuI7iWq%2FZIBtHcXJ7kks%2Bh2fCNUPA82BzjnqktNts%2BRLdk1VSu%2BtqEn7QZCCsvEqk6FkfiOYkrsw092J8jsfIuEKypNjLxrKA9kiA19mxBD2suxQKCzwXGws7kEJvlhUiV9tArLIdZW0IORcxEzdzKmjtFhsjKy%2F44XYXdI5noQoRcvjZ1RMPACRqYg2V1%2BOwOepcOknRLLFdYgTkT5UApt%2FJhLM3jeFYprZV%2BZow2g8fP%2BU68hkKFWJj2yBbKqsrp25xkZX1DAjUw52IMYWaOhab8Kp05VrdNftqwRrymWF4OQSjbdfzmRZirK8FMJELEgER2PHjEAN9pGfLhCUiTJFbd5LBkOBMaxLr%2FA1SY9dXFz4RjzoU9ExfJCmx%2FI9FKEGT3n2cmzl2X42L3Jh%2BAbQq6sA%2BSs1kitoa4TAYgKHaoybHUDJ51oETdeI%2F9ThSmjWGkyLi5QAGWhL0BG1UsTyRGRJOldKBrYJeB8ljLJHfATWTEQBXBDnQexOHTB%2BUn44zExFE4vLytcu5NwpWrUxO%2F0ZICUGM7hGABXym0V6ZvDST0E370St9MIWQOTWngeoQHUTdCJUP04spMBMS8LSker9cReVQkULFDIZDFPrhTzBl6sed9wcZQTbL%2BBDqMyaN3RJPh%2Fanbx%2BIv%2BqgQdAa3M9Z5JmvYlh4qop%2BHo1F1W5gbOE9YKLgAnWytXElU4G8GtW47lhgFE6gaSs%2Bgs37sFvi0PPVvA5dnCBgILTwoKd%2F%2BDoL9F6inlM7H4rOTzD79KJgKlZO%2FZgt22UsKhrAaXU5ZcLrAglTVKJEmNJvORGN1vqrcfSMizfpsgbIe9zno%2BgBoKVXgIL%2FVI8dB1O5o%2FR3Suez%2FgD7M781ShjKpIIORM%2FnxG%2BjjhhgPwsn2IoXsPGPqYHXA63zJ07M2GPEykQwJBYLK808qYxuIew4frk52nhCsnCYmXiR6CuapvE1IwRB4%2FQftDbEn%2BAucIr1oxrLabRj9q4ae0%2BfXkHnteAJwXRbVkR0mctVSwEbqhJiMSZUp9DNbEDMmjX22m3ABpkrPQQTP3S1sib5pD2VRKRd%2BeNAjLYyT0hGrdjWJZy24OYXRoWQAIhGBZRxuBFMjjZQhpgrWo8SiFYbojcHO8V5DyscJpLTHyx9Fimassyo5U6WNtquUMYgccaHY5amgR3PQzq3ToNM5ABnoB9kuxsebqmYZm0R9qxJbFXCQ1UPyFIbxoUraTJFDpCk0Wk9GaYJKz%2F6oHwEP0Q14lMtlddQsOAU9zlYdMVHiT7RQP3XCmWYDcHCGbVRHGnHuwzScA0BaSBOGkz3lM8CArjrBsyEoV6Ys4qgDK3ykQQPZ3hCRGNXQTNNXbEb6tDiTDLKOyMzRhCFT%2BmAUmiYbV3YQVqFVp9dorv%2BTsLeCykS2b5yyu8AV7IS9cxcL8z4Kfwp%2BxJyYLv1OsxQCZwTB4a8BZ%2F5EdxTBJthApqyfd9u3ifr%2FWILTqq5VqgwMT9SOxbSGWLQJUUWCVi4k9tho9nEsbUh7U6NUsLmkYFXOhZ0kmamaJLRNJzSj%2Fqn4Mso6zb6iLLBXoaZ6AqeWCjHQm2lztnejYYM2eubnpBdKVLORZhudH3JF1waBJKA9%2BW8EhMj3Kzf0L4vi4k6RoHh3Z5YgmSZmk6ns4fjScjAoL8GoOECgqgYEBYUGFVO4FUv4%2FYtowhEmTs0vrvlD%2FCrisnoBNDAcUi%2FteY7OctFlmARQzjOItrrlKuPO6E2Ox93L4O%2F4DcgV%2FdZ7qR3VBwVQxP1GCieA4RIpweYJ5FoYrHxqRBdJjnqbsikA2Ictbb8vE1GYIo9dacK0REgDX4smy6GAkxlH1yCGGsk%2BtgiDhNKuKu3yNrMdxafmKTF632F8Vx4BNK57GvlFisrkjN9WDAtjsWA0ENT2e2nETUb%2Fn7qwhvGnrHuf5bX6Vh%2Fn3xffU3PeHdR%2BFA92i6ufT3AlyAREoNDh6chiMWTvjKjHDeRhOa9YkOQRq1vQXEMppAQVwHCuIcV2g5rBn6GmZZpTR7vnSD6ZmhdSl176gqKTXu5E%2BYbfL0adwNtHP7dT7t7b46DVZIkzaRJOM%2BS6KcrzYVg%2BT3wSRFRQashjfU18NutrKa%2F7PXbtuJvpIjbgPeqd%2BpjmRw6YKpnANFSQcpzTZgpSNJ6J7uiagAbir%2F8tNXJ%2FOsOnRh6iuIexxrmkIneAgz8QoLmiaJ8sLQrELVK2yn3wOHp57BAZJhDZjTBzyoRAuuZ4eoxHruY1pSb7qq79cIeAdOwin4GdgMeIMHeG%2BFZWYaiUQQyC5b50zKjYw97dFjAeY2I4Bnl105Iku1y0lMA1ZHolLx19uZnRdILcXKlZGQx%2FGdEqSsMRU1BIrFqRcV1qQOOHyxOLXEGcbRtAEsuAC2V4K3p5mFJ22IDWaEkk9ttf5Izb2LkD1MnrSwztXmmD%2FQi%2FEmVEFBfiKGmftsPwVaIoZanlKndMZsIBOskFYpDOq3QUs9aSbAAtL5Dbokus2G4%2FasthNMK5UQKCOhU97oaOYNGsTah%2BjfCKsZnTRn5TbhFX8ghg8CBYt%2FBjeYYYUrtUZ5jVij%2Fop7V5SsbA4mYTOwZ46hqdpbB6Qvq3AS2HHNkC15pTDIcDNGsMPXaBidXYPHc6PJAkRh29Vx8KcgX46LoUQBhRM%2B3SW6Opll%2FwgxxsPgKJKzr5QCmwkUxNbeg6Wj34SUnEzOemSuvS2OetRCO8Tyy%2BQbSKVJcqkia%2BGvDefFwMOmgnD7h81TUtMn%2BmRpyJJ349HhAnoWFTejhpYTL9G8N2nVg1qkXBeoS9Nw2fB27t7trm7d%2FQK7Cr4uoCeOQ7%2F8JfKT77KiDzLImESHw%2F0wf73QeHu74hxv7uihi4fTX%2BXEwAyQG3264dwv17aJ5N335Vt9sdrAXhPOAv8JFvzqyYXwfx8WYJaef1gMl98JRFyl5Mv5Uo%2FoVH5ww5OzLFsiTPDns7fS6EURSSWd%2F92BxMYQ8sBaH%2Bj%2BwthQPdVgDGpTfi%2BJQIWMD8xKqULliRH01rTeyF8x8q%2FGBEEEBrAJMPf25UQwi0b8tmqRXY7kIvNkzrkvRWLnxoGYEJsz8u4oOyMp8cHyaybb1HdMCaLApUE%2B%2F7xLIZGP6H9xuSEXp1zLIdjk5nBaMuV%2FyTDRRP8Y2ww5RO6d2D94o%2B6ucWIqUAvgHIHXhZsmDhjVLczmZ3ca0Cb3PpKwt2UtHVQ0BgFJsqqTsnzZPlKahRUkEu4qmkJt%2Bkqdae76ViWe3STan69yaF9%2BfESD2lcQshLHWVu4ovItXxO69bqC5p1nZLvI8NdQB9s9UNaJGlQ5mG947ipdDA0eTIw%2FA1zEdjWquIsQXXGIVEH0thC5M%2BW9pZe7IhAVnPJkYCCXN5a32HjN6nsvokEqRS44tGIs7s2LVTvcrHAF%2BRVmI8L4HUYk4x%2B67AxSMJKqCg8zrGOgvK9kNMdDrNiUtSWuHFpC8%2Fp5qIQrEo%2FH%2B1l%2F0cAwQ2nKmpWxKcMIuHY44Y6DlkpO48tRuUGBWT0FyHwSKO72Ud%2BtJUfdaZ4CWNijzZtlRa8%2BCkmO%2FEwHYfPZFU%2FhzjFWH7vnzHRMo%2BaF9u8qHSAiEkA2HjoNQPEwHsDKOt6hOoK3Ce%2F%2B%2F9boMWDa44I6FrQhdgS7OnNaSzwxWKZMcyHi6LN4WC6sSj0qm2PSOGBTvDs%2FGWJS6SwEN%2FULwpb4LQo9fYjUfSXRwZkynUazlSpvX9e%2BG2zor8l%2BYaMxSEomDdLHGcD6YVQPegTaA74H8%2BV4WvJkFUrjMLGLlvSZQWvi8%2FQA7yzQ8GPno%2F%2F5SJHRP%2FOqKObPCo81s%2F%2B6WgLqykYpGAgQZhVDEBPXWgU%2FWzFZjKUhSFInufPRiMAUULC6T11yL45ZrRoB4DzOyJShKXaAJIBS9wzLYIoCEcJKQW8GVCx4fihqJ6mshBUXSw3wWVj3grrHQlGNGhIDNNzsxQ3M%2BGWn6ASobIWC%2BLbYOC6UpahVO13Zs2zOzZC8z7FmA05JhUGyBsF4tsG0drcggIFzgg%2Fkpf3%2BCnAXKiMgIE8Jk%2FMhpkc8DUJEUzDSnWlQFme3d0sHZDrg7LavtsEX3cHwjCYA17pMTfx8Ajw9hHscN67hyo%2BRJQ4458RmPywXykkVcW688oVUrQhahpPRvTWPnuI0B%2BSkQu7dCyvLRyFYlC1LG1gRCIvn3rwQeINzZQC2KXq31FaR9UmVV2QeGVqBHjmE%2BVMd3b1fhCynD0pQNhCG6%2FWCDbKPyE7NRQzL3BzQAJ0g09aUzcQA6mUp9iZFK6Sbp%2FYbHjo%2B%2B7%2FWj8S4YNa%2BZdqAw1hDrKWFXv9%2BzaXpf8ZTDSbiqsxnwN%2FCzK5tPkOr4tRh2kY3Bn9JtalbIOI4b3F7F1vPQMfoDcdxMS8CW9m%2FNCW%2FHILTUVWQIPiD0j1A6bo8vsv6P1hCESl2abrSJWDrq5sSzUpwoxaCU9FtJyYH4QFMxDBpkkBR6kn0LMPO%2B5EJ7Z6bCiRoPedRZ%2FP0SSdii7ZnPAtVwwHUidcdyspwncz5uq6vvm4IEDbJVLUFCn%2FLvIHfooUBTkFO130FC7CmmcrKdgDJcid9mvVzsDSibOoXtIf9k6ABle3PmIxejodc4aob0QKS432srrCMndbfD454q52V01G4q913mC5HOsTzWF4h2No1av1VbcUgWAqyoZl%2B11PoFYnNv2HwAODeNRkHj%2B8SF1fcvVBu6MrehHAZK1Gm69ICcTKizykHgGFx7QdowTVAsYEF2tVc0Z6wLryz2FI1sc5By2znJAAmINndoJiB4sfPdPrTC8RnkW7KRCwxC6YvXg5ahMlQuMpoCSXjOlBy0Kij%2BbsCYPbGp8BdCBiLmLSAkEQRaieWo1SYvZIKJGj9Ur%2FeWHjiB7SOVdqMAVmpBvfRiebsFjger7DC%2B8kRFGtNrTrnnGD2GAJb8rQCWkUPYHhwXsjNBSkE6lGWUj5QNhK0DMNM2l%2BkXRZ0KLZaGsFSIdQz%2FHXDxf3%2FTE30%2BDgBKWGWdxElyLccJfEpjsnszECNoDGZpdwdRgCixeg9L4EPhH%2BRptvRMVRaahu4cySjS3P5wxAUCPkmn%2BrhyASpmiTaiDeggaIxYBmtLZDDhiWIJaBgzfCsAGUF1Q1SFZYyXDt9skCaxJsxK2Ms65dmdp5WAZyxik%2FzbrTQk5KmgxCg%2Ff45L0jywebOWUYFJQAJia7XzCV0x89rpp%2Ff3AVWhSPyTanqmik2SkD8A3Ml4NhIGLAjBXtPShwKYfi2eXtrDuKLk4QlSyTw1ftXgwqA2jUuopDl%2B5tfUWZNwBpEPXghzbBggYCw%2Fdhy0ntds2yeHCDKkF%2FYxQjNIL%2FF%2F37jLPHCKBO9ibwYCmuxImIo0ijV2Wbg3kSN2psoe8IsABv3RNFaF9uMyCtCYtqcD%2BqNOhwMlfARQUdJ2tUX%2BMNJqOwIciWalZsmEjt07tfa8ma4cji9sqz%2BQ9hWfmMoKEbIHPOQORbhQRHIsrTYlnVTNvcq1imqmmPDdVDkJgRcTgB8Sb6epCQVmFZe%2BjGDiNJQLWnfx%2BdrTKYjm0G8yH0ZAGMWzEJhUEQ4Maimgf%2Fbkvo8PLVBsZl152y5S8%2BHRDfZIMCbYZ1WDp4yrdchOJw8k6R%2B%2F2pHmydK4NIK2PHdFPHtoLmHxRDwLFb7eB%2BM4zNZcB9NrAgjVyzLM7xyYSY13ykWfIEEd2n5%2FiYp3ZdrCf7fL%2Ben%2BsIJu2W7E30MrAgZBD1rAAbZHPgeAMtKCg3NpSpYQUDWJu9bT3V7tOKv%2BNRiJc8JAKqqgCA%2FPNRBR7ChpiEulyQApMK1AyqcWnpSOmYh6yLiWkGJ2mklCSPIqN7UypWj3dGi5MvsHQ87MrB4VFgypJaFriaHivwcHIpmyi5LhNqtem4q0n8awM19Qk8BOS0EsqGscuuydYsIGsbT5GHnERUiMpKJl4ON7qjB4fEqlGN%2FhCky89232UQCiaeWpDYCJINXjT6xl4Gc7DxRCtgV0i1ma4RgWLsNtnEBRQFqZggCLiuyEydmFd7WlogpkCw5G1x4ft2psm3KAREwVwr1Gzl6RT7FDAqpVal34ewVm3VH4qn5mjGj%2BbYL1NgfLNeXDwtmYSpwzbruDKpTjOdgiIHDVQSb5%2FzBgSMbHLkxWWgghIh9QTFSDILixVwg0Eg1puooBiHAt7DzwJ7m8i8%2Fi%2BjHvKf0QDnnHVkVTIqMvIQImOrzCJwhSR7qYB5gSwL6aWL9hERHCZc4G2%2BJrpgHNB8eCCmcIWIQ6rSdyPCyftXkDlErUkHafHRlkOIjxGbAktz75bnh50dU7YHk%2BMz7wwstg6RFZb%2BTZuSOx1qqP5C66c0mptQmzIC2dlpte7vZrauAMm%2F7RfBYkGtXWGiaWTtwvAQiq2oD4YixPLXE2khB2FRaNRDTk%2B9sZ6K74Ia9VntCpN4BhJGJMT4Z5c5FhSepRCRWmBXqx%2BwhVZC4me4saDs2iNqXMuCl6iAZflH8fscC1sTsy4PHeC%2BXYuqMBMUun5YezKbRKmEPwuK%2BCLzijPEQgfhahQswBBLfg%2FGBgBiI4QwAqzJkkyYAWtjzSg2ILgMAgqxYfwERRo3zruBL9WOryUArSD8sQOcD7fvIODJxKFS615KFPsb68USBEPPj1orNzFY2xoTtNBVTyzBhPbhFH0PI5AtlJBl2aSgNPYzxYLw7XTDBDinmVoENwiGzmngrMo8OmnRP0Z0i0Zrln9DDFcnmOoBZjABaQIbPOJYZGqX%2BRCMlDDbElcjaROLDoualmUIQ88Kekk3iM4OQrADcxi3rJguS4MOIBIgKgXrjd1WkbCdqxJk%2F4efRIFsavZA7KvvJQqp3Iid5Z0NFc5aiMRzGN3vrpBzaMy4JYde3wr96PjN90AYOIbyp6T4zj8LoE66OGcX1Ef4Z3KoWLAUF4BTg7ug%2FAbkG5UNQXAMkQezujSHeir2uTThgd3gpyzDrbnEdDRH2W7U6PeRvBX1ZFMP5RM%2BZu6UUZZD8hDPHldVWntTCNk7To8IeOW9yn2wx0gmurwqC60AOde4r3ETi5pVMSDK8wxhoGAoEX9NLWHIR33VbrbMveii2jAJlrxwytTHbWNu8Y4N8vCCyZjAX%2FpcsfwXbLze2%2BD%2Bu33OGBoJyAAL3jn3RuEcdp5If8O%2Ba4NKWvxOTyDltG0IWoHhwVGe7dKkCWFT%2B%2Btm%2BhaBCikRUUMrMhYKZJKYoVuv%2FbsJzO8DwfVIInQq3g3BYypiz8baogH3r3GwqCwFtZnz4xMjAVOYnyOi5HWbFA8n0qz1OjSpHWFzpQOpvkNETZBGpxN8ybhtqV%2FDMUxd9uFZmBfKXMCn%2FSqkWJyKPnT6lq%2B4zBZni6fYRByJn6OK%2BOgPBGRAJluwGSk4wxjOOzyce%2FPKODwRlsgrVkdcsEiYrqYdXo0Er2GXi2GQZd0tNJT6c9pK1EEJG1zgDJBoTVuCXGAU8BKTvCO%2FcEQ1Wjk3Zzuy90JX4m3O5IlxVFhYkSUwuQB2up7jhvkm%2BbddRQu5F9s0XftGEJ9JSuSk%2BZachCbdU45fEqbugzTIUokwoAKvpUQF%2FCvLbWW5BNQFqFkJg2f30E%2F48StNe5QwBg8zz3YAJ82FZoXBxXSv4QDooDo79NixyglO9AembuBcx5Re3CwOKTHebOPhkmFC7wNaWtoBhFuV4AkEuJ0J%2B1pT0tLkvFVZaNzfhs%2FKd3%2BA9YsImlO4XK4vpCo%2FelHQi%2F9gkFg07xxnuXLt21unCIpDV%2BbbRxb7FC6nWYTsMFF8%2B1LUg4JFjVt3vqbuhHmDKbgQ4e%2BRGizRiO8ky05LQGMdL2IKLSNar0kNG7lHJMaXr5mLdG3nykgj6vB%2FKVijd1ARWkFEf3yiUw1v%2FWaQivVUpIDdSNrrKbjO5NPnxz6qTTGgYg03HgPhDrCFyYZTi3XQw3HXCva39mpLNFtz8AiEhxAJHpWX13gCTAwgm9YTvMeiqetdNQv6IU0hH0G%2BZManTqDLPjyrOse7WiiwOJCG%2BJ0pZYULhN8NILulmYYvmVcV2MjAfA39sGKqGdjpiPo86fecg65UPyXDIAOyOkCx5NQsLeD4gGVjTVDwOHWkbbBW0GeNjDkcSOn2Nq4cEssP54t9D749A7M1AIOBl0Fi0sSO5v3P7LCBrM6ZwFY6kp2FX6AcbGUdybnfChHPyu6WlRZ2Fwv9YM0RMI7kISRgR8HpQSJJOyTfXj%2F6gQKuihPtiUtlCQVPohUgzfezTg8o1b3n9pNZeco1QucaoXe40Fa5JYhqdTspFmxGtW9h5ezLFZs3j%2FN46f%2BS2rjYNC2JySXrnSAFhvAkz9a5L3pza8eYKHNoPrvBRESpxYPJdKVUxBE39nJ1chrAFpy4MMkf0qKgYALctGg1DQI1kIymyeS2AJNT4X240d3IFQb%2F0jQbaHJ2YRK8A%2Bls6WMhWmpCXYG5jqapGs5%2FeOJErxi2%2F2KWVHiPellTgh%2FfNl%2F2KYPKb7DUcAg%2BmCOPQFCiU9Mq%2FWLcU1xxC8aLePFZZlE%2BPCLzf7ey46INWRw2kcXySR9FDgByXzfxiNKwDFbUSMMhALPFSedyjEVM5442GZ4hTrsAEvZxIieSHGSgkwFh%2FnFNdrrFD4tBH4Il7fW6ur4J8Xaz7RW9jgtuPEXQsYk7gcMs2neu3zJwTyUerHKSh1iTBkj2YJh1SSOZL5pLuQbFFAvyO4k1Hxg2h99MTC6cTUkbONQIAnEfGsGkNFWRbuRyyaEZInM5pij73EA9rPIUfU4XoqQpHT9THZkW%2BoKFLvpyvTBMM69tN1Ydwv1LIEhHsC%2BueVG%2Bw%2BkyCPsvV3erRikcscHjZCkccx6VrBkBRusTDDd8847GA7p2Ucy0y0HdSRN6YIBciYa4vuXcAZbQAuSEmzw%2BH%2FAuOx%2BaH%2BtBL88H57D0MsqyiZxhOEQkF%2F8DR1d2hSPMj%2FsNOa5rxcUnBgH8ictv2J%2Bcb4BA4v3MCShdZ2vtK30vAwkobnEWh7rsSyhmos3WC93Gn9C4nnAd%2FPjMMtQfyDNZsOPd6XcAsnBE%2FmRHtHEyJMzJfZFLE9OvQa0i9kUmToJ0ZxknTgdl%2FXPV8xoh0K7wNHHsnBdvFH3sv52lU7UFteseLG%2FVanIvcwycVA7%2BBE1Ulyb20BvwUWZcMTKhaCcmY3ROpvonVMV4N7yBXTL7IDtHzQ4CCcqF66LjF3xUqgErKzolLyCG6Kb7irP%2FMVTCCwGRxfrPGpMMGvPLgJ881PHMNMIO09T5ig7AzZTX%2F5PLlwnJLDAPfuHynSGhV4tPqR3gJ4kg4c06c%2FF1AcjGytKm2Yb5jwMotF7vro4YDLWlnMIpmPg36NgAZsGA0W1spfLSue4xxat0Gdwd0lqDBOgIaMANykwwDKejt5YaNtJYIkrSgu0KjIg0pznY0SCd1qlC6R19g97UrWDoYJGlrvCE05J%2F5wkjpkre727p5PTRX5FGrSBIfJqhJE%2FIS876PaHFkx9pGTH3oaY3jJRvLX9Iy3Edoar7cFvJqyUlOhAEiOSAyYgVEGkzHdug%2BoRHIEOXAExMiTSKU9A6nmRC8mp8iYhwWdP2U%2F5EkFAdPrZw03YA3gSyNUtMZeh7dDCu8pF5x0VORCTgKp07ehy7NZqKTpIC4UJJ89lnboyAfy5OyXzXtuDRbtAFjZRSyGFTpFrXwkpjSLIQIG3N0Vj4BtzK3wdlkBJrO18MNsgseR4BysJilI0wI6ZahLhBFA0XBmV8d4LUzEcNVb0xbLjLTETYN8OEVqNxkt10W614dd1FlFFVTIgB7%2FBQQp1sWlNolpIu4ekxUTBV7NmxOFKEBmmN%2BnA7pvF78%2FRII5ZHA09OAiE%2F66MF6HQ%2BqVEJCHxwymukkNvzqHEh52dULPbVasfQMgTDyBZzx4007YiKdBuUauQOt27Gmy8ISclPmEUCIcuLbkb1mzQSqIa3iE0PJh7UMYQbkpe%2BhXjTJKdldyt2mVPwywoODGJtBV1lJTgMsuSQBlDMwhEKIfrvsxGQjHPCEfNfMAY2oxvyKcKPUbQySkKG6tj9AQyEW3Q5rpaDJ5Sns9ScLKeizPRbvWYAw4bXkrZdmB7CQopCH8NAmqbuciZChHN8lVGaDbCnmddnqO1PQ4ieMYfcSiBE5zzMz%2BJV%2F4eyzrzTEShvqSGzgWimkNxLvUj86iAwcZuIkqdB0VaIB7wncLRmzHkiUQpPBIXbDDLHBlq7vp9xwuC9AiNkIptAYlG7Biyuk8ILdynuUM1cHWJgeB%2BK3wBP%2FineogxkvBNNQ4AkW0hvpBOQGFfeptF2YTR75MexYDUy7Q%2F9uocGsx41O4IZhViw%2F2FvAEuGO5g2kyXBUijAggWM08bRhXg5ijgMwDJy40QeY%2FcQpUDZiIzmvskQpO5G1zyGZA8WByjIQU4jRoFJt56behxtHUUE%2Fom7Rj2psYXGmq3llVOCgGYKNMo4pzwntITtapDqjvQtqpjaJwjHmDzSVGLxMt12gEXAdLi%2FcaHSM3FPRGRf7dB7YC%2BcD2ho6oL2zGDCkjlf%2FDFoQVl8GS%2F56wur3rdV6ggtzZW60MRB3g%2BU1W8o8cvqIpMkctiGVMzXUFI7FacFLrgtdz4mTEr4aRAaQ2AFQaNeG7GX0yOJgMRYFziXdJf24kg%2FgBQIZMG%2FYcPEllRTVNoDYR6oSJ8wQNLuihfw81UpiKPm714bZX1KYjcXJdfclCUOOpvTxr9AAJevTY4HK%2FG7F3mUc3GOAKqh60zM0v34v%2BELyhJZqhkaMA8UMMOU90f8RKEJFj7EqepBVwsRiLbwMo1J2zrE2UYJnsgIAscDmjPjnzI8a719Wxp757wqmSJBjXowhc46QN4RwKIxqEE6E5218OeK7RfcpGjWG1jD7qND%2B%2FGTk6M56Ig4yMsU6LUW1EWE%2BfIYycVV1thldSlbP6ltdC01y3KUfkobkt2q01YYMmxpKRvh1Z48uNKzP%2FIoRIZ%2FF6buOymSnW8gICitpJjKWBscSb9JJKaWkvEkqinAJ2kowKoqkqZftRqfRQlLtKoqvTRDi2vg%2FRrPD%2Fd3a09J8JhGZlEkOM6znTsoMCsuvTmywxTCDhw5dd0GJOHCMPbsj3QLkTE3MInsZsimDQ3HkvthT7U9VA4s6G07sID0FW4SHJmRGwCl%2BMu4xf0ezqeXD2PtPDnwMPo86sbwDV%2B9PWcgFcARUVYm3hrFQrHcgMElFGbSM2A1zUYA3baWfheJp2AINmTJLuoyYD%2FOwA4a6V0ChBN97E8YtDBerUECv0u0TlxR5yhJCXvJxgyM73Bb6pyq0jTFJDZ4p1Am1SA6sh8nADd1hAcGBMfq4d%2FUfwnmBqe0Jun1n1LzrgKuZMAnxA3NtCN7Klf4BH%2B14B7ibBmgt0TGUafVzI4uKlpF7v8NmgNjg90D6QE3tbx8AjSAC%2BOA1YJvclyPKgT27QpIEgVYpbPYGBsnyCNrGz9XUsCHkW1QAHgL2STZk12QGqmvAB0NFteERkvBIH7INDsNW9KKaAYyDMdBEMzJiWaJHZALqDxQDWRntumSDPcplyFiI1oDpT8wbwe01AHhW6%2BvAUUBoGhY3CT2tgwehdPqU%2F4Q7ZLYvhRl%2FogOvR9O2%2BwkkPKW5vCTjD2fHRYXONCoIl4Jh1bZY0ZE1O94mMGn%2FdFSWBWzQ%2FVYk%2BGezi46RgiDv3EshoTmMSlioUK6MQEN8qeyK6FRninyX8ZPeUWjjbMJChn0n%2FyJvrq5bh5UcCAcBYSafTFg7p0jDgrXo2QWLb3WpSOET%2FHh4oSadBTvyDo10IufLzxiMLAnbZ1vcUmj3w7BQuIXjEZXifwukVxrGa9j%2BDXfpi12m1RbzYLg9J2wFergEwOxFyD0%2FJstNK06ZN2XdZSGWxcJODpQHOq4iKqjqkJUmPu1VczL5xTGUfCgLEYyNBCCbMBFT%2FcUP6pE%2FmujnHsSDeWxMbhrNilS5MyYR0nJyzanWXBeVcEQrRIhQeJA6Xt4f2eQESNeLwmC10WJVHqwx8SSyrtAAjpGjidcj1E2FYN0LObUcFQhafUKTiGmHWRHGsFCB%2BHEXgrzJEB5bp0QiF8ZHh11nFX8AboTD0PS4O1LqF8XBks2MpjsQnwKHF6HgaKCVLJtcr0XjqFMRGfKv8tmmykhLRzu%2BvqQ02%2BKpJBjaLt9ye1Ab%2BBbEBhy4EVdIJDrL2naV0o4wU8YZ2Lq04FG1mWCKC%2BUwkXOoAjneU%2FxHplMQo2cXUlrVNqJYczgYlaOEczVCs%2FOCgkyvLmTmdaBJc1iBLuKwmr6qtRnhowngsDxhzKFAi02tf8bmET8BO27ovJKF1plJwm3b0JpMh38%2BxsrXXg7U74QUM8ZCIMOpXujHntKdaRtsgyEZl5MClMVMMMZkZLNxH9%2Bb8fH6%2Bb8Lev30A9TuEVj9CqAdmwAAHBPbfOBFEATAPZ2CS0OH1Pj%2F0Q7PFUcC8hDrxESWdfgFRm%2B7vvWbkEppHB4T%2F1ApWnlTIqQwjcPl0VgS1yHSmD0OdsCVST8CQVwuiew1Y%2Bg3QGFjNMzwRB2DSsAk26cmA8lp2wIU4p93AUBiUHFGOxOajAqD7Gm6NezNDjYzwLOaSXRBYcWipTSONHjUDXCY4mMI8XoVCR%2FRrs%2FJLKXgEx%2BqkmeDlFOD1%2FyTQNDClRuiUyKYCllfMiQiyFkmuTz2vLsBNyRW%2Bxz%2B5FElFxWB28VjYIGZ0Yd%2B5wIjkcoMaggxswbT0pCmckRAErbRlIlcOGdBo4djTNO8FAgQ%2BlT6vPS60BwTRSUAM3ddkEAZiwtEyArrkiDRnS7LJ%2B2hwbzd2YDQagSgACpsovmjil5wfPuXq3GuH0CyE7FK3M4FgRaFoIkaodORrPx1%2BJpI9psyNYIFuJogZa0%2F1AhOWdlHQxdAgbwacsHqPZo8u%2FngAH2GmaTdhYnBfSDbBfh8CHq6Bx5bttP2%2BRdM%2BMAaYaZ0Y%2FADkbNCZuAyAVQa2OcXOeICmDn9Q%2FeFkDeFQg5MgHEDXq%2FtVjj%2Bjtd26nhaaolWxs1ixSUgOBwrDhRIGOLyOVk2%2FBc0UxvseQCO2pQ2i%2BKrfhu%2FWeBovNb5dJxQtJRUDv2mCwYVpNl2efQM9xQHnK0JwLYt%2FU0Wf%2BphiA4uw8G91slC832pmOTCAoZXohg1fewCZqLBhkOUBofBWpMPsqg7XEXgPfAlDo2U5WXjtFdS87PIqClCK5nW6adCeXPkUiTGx0emOIDQqw1yFYGHEVx20xKjJVYe0O8iLmnQr3FA9nSIQilUKtJ4ZAdcTm7%2BExseJauyqo30hs%2B1qSW211A1SFAOUgDlCGq7eTIcMAeyZkV1SQJ4j%2Fe1Smbq4HcjqgFbLAGLyKxlMDMgZavK5NAYH19Olz3la%2FQCTiVelFnU6O%2FGCvykqS%2FwZJDhKN9gBtSOp%2F1SP5VRgJcoVj%2Bkmf2wBgv4gjrgARBWiURYx8xENV3bEVUAAWWD3dYDKAIWk5opaCFCMR5ZjJExiCAw7gYiSZ2rkyTce4eNMY3lfGn%2B8p6%2BvBckGlKEXnA6Eota69OxDO9oOsJoy28BXOR0UoXNRaJD5ceKdlWMJlOFzDdZNpc05tkMGQtqeNF2lttZqNco1VtwXgRstLSQ6tSPChgqtGV5h2DcDReIQadaNRR6AsAYKL5gSFsCJMgfsaZ7DpKh8mg8Wz8V7H%2BgDnLuMxaWEIUPevIbClgap4dqmVWSrPgVYCzAoZHIa5z2Ocx1D%2FGvDOEqMOKLrMefWIbSWHZ6jbgA8qVBhYNHpx0P%2BjAgN5TB3haSifDcApp6yymEi6Ij%2FGsEpDYUgcHATJUYDUAmC1SCkJ4cuZXSAP2DEpQsGUjQmKJfJOvlC2x%2FpChkOyLW7KEoMYc5FDC4v2FGqSoRWiLsbPCiyg1U5yiHZVm1XLkHMMZL11%2Fyxyw0UnGig3MFdZklN5FI%2FqiT65T%2BjOXOdO7XbgWurOAZR6Cv9uu1cm5LjkXX4xi6mWn5r5NjBS0gTliHhMZI2WNqSiSphEtiCAwnafS11JhseDGHYQ5%2BbqWiAYiAv6Jsf79%2FVUs4cIl%2Bn6%2BWOjcgB%2F2l5TreoAV2717JzZbQIR0W1cl%2FdEqCy5kJ3ZSIHuU0vBoHooEpiHeQWVkkkOqRX27eD1FWw4BfO9CJDdKoSogQi3hAAwsPRFrN5RbX7bqLdBJ9JYMohWrgJKHSjVl1sy2xAG0E3sNyO0oCbSGOxCNBRRXTXenYKuwAoDLfnDcQaCwehUOIDiHAu5m5hMpKeKM4sIo3vxACakIxKoH2YWF2QM84e6F5C5hJU4g8uxuFOlAYnqtwxmHyNEawLW%2FPhoawJDrGAP0JYWHgAVUByo%2FbGdiv2T2EMg8gsS14%2FrAdzlOYazFE7w4OzxeKiWdm3nSOnQRRKXSlVo8HEAbBfyJMKqoq%2BSCcTSx5NDtbFwNlh8VhjGGDu7JG5%2FTAGAvniQSSUog0pNzTim8Owc6QTuSKSTXlQqwV3eiEnklS3LeSXYPXGK2VgeZBqNcHG6tZHvA3vTINhV0ELuQdp3t1y9%2BogD8Kk%2FW7QoRN1UWPqM4%2BxdygkFDPLoTaumKReKiLWoPHOfY54m3qPx4c%2B4pgY3MRKKbljG8w4wvz8pxk3AqKsy4GMAkAtmRjRMsCxbb4Q2Ds0Ia9ci8cMT6DmsJG00XaHCIS%2Bo3F8YVVeikw13w%2BOEDaCYYhC0ZE54kA4jpjruBr5STWeqQG6M74HHL6TZ3lXrd99ZX%2B%2B7LhNatQaZosuxEf5yRA15S9gPeHskBIq3Gcw81AGb9%2FO53DYi%2F5CsQ51EmEh8Rkg4vOciClpy4d04eYsfr6fyQkBmtD%2BP8sNh6e%2BXYHJXT%2FlkXxT4KXU5F2sGxYyzfniMMQkb9OjDN2C8tRRgTyL7GwozH14PrEUZc6oz05Emne3Ts5EG7WolDmU8OB1LDG3VrpQxp%2BpT0KYV5dGtknU64JhabdqcVQbGZiAxQAnvN1u70y1AnmvOSPgLI6uB4AuDGhmAu3ATkJSw7OtS%2F2ToPjqkaq62%2F7WFG8advGlRRqxB9diP07JrXowKR9tpRa%2BjGJ91zxNTT1h8I2PcSfoUPtd7NejVoH03EUcqSBuFZPkMZhegHyo2ZAITovmm3zAIdGFWxoNNORiMRShgwdYwFzkPw5PA4a5MIIQpmq%2Bnsp3YMuXt%2FGkXxLx%2FP6%2BZJS0lFyz4MunC3eWSGE8xlCQrKvhKUPXr0hjpAN9ZK4PfEDrPMfMbGNWcHDzjA7ngMxTPnT7GMHar%2BgMQQ3NwHCv4zH4BIMYvzsdiERi6gebRmerTsVwZJTRsL8dkZgxgRxmpbgRcud%2BYlCIRpPwHShlUSwuipZnx9QCsEWziVazdDeKSYU5CF7UVPAhLer3CgJOQXl%2Fzh575R5rsrmRnKAzq4POFdgbYBuEviM4%2BLVC15ssLNFghbTtHWerS1hDt5s4qkLUha%2FqpZXhWh1C6lTQAqCNQnaDjS7UGFBC6wTu8yFnKJnExCnAs3Ok9yj5KpfZESQ4lTy5pTGTnkAUpxI%2ByjEldJfSo4y0QhG4i4IwkRFGcjWY8%2BEzgYYJUK7BXQksLxAww%2FYYWBMhJILB9e8ePEJ4OP7z%2B4%2FwOQDl64iOYDp26DaONPxpKtBxq%2FaTzRGarm3VkPYTLJKx6Z%2FMw2YbBGseJhPMwhhNswrIkyvV2BYzrvZbxLpKwcWJhYmFtVZ%2BlPEq91FzVp1HlQY1bZVLqeNR9SAUn6n0E28k%2FUuGkNpP1DBI5ch%2FEehZfjUQ9aE41NhETExoPT2gGQz0IhWJbEOvTQ4wgcXCHHFBhewYUiFHuhRSAUVmEHeCRQHQkXGFwkAgyzREJCVN7TRnTon36Zw3tPhx4EALwNdwDv%2BJ41YSP4B2CQqz0EFgARZ4ESgBHQgROwAVn9GTI%2BHYexTUevLUeta4%2FDqKrbMVS%2BYqb8hUwYCrlgKtmAq1YCrFgKrd4qpXiqZcKn1oqdWipjYKpWwVPVYqW6xUpVipKqFR3QKjagVEtAqHpxUMTitsnFaJOKx2cVhswq35RVpyiq9lFVNIKnOQVMkgqtYxVNxiqQjFS7GKlSIVIsQqPIhUWwioigFQ%2B%2BKkN8VHr49HDw9Ebo9EDo9DTo9Crg9BDg9%2FWx7gWx7YWwlobYrOGxWPNisAaAHEyALpkAVDIAeWAArsABVXACYuAD5cAF6wAKFQAQqgAbVAAsoAAlQAUaYAfkwAvogBWQACOgAD9AAHSAAKT4GUdMiOvFngBTwCn2AZ7Dv6B6k%2F90B8%2ByRnkV144AIBoAMTQATGgAjNAA4YABgwABZgB%2FmQCwyAVlwCguASlwCEuAQFwB4uAMlwBYuAJlQAUVAAhUD2KgdpUDaJgaRMDFJgX5MC1JgWJEAokQCWRAHxEAWkQBMRADpEAMkQAYROAEecC484DRpwBDTnwNOdw05tjTmiNOYwtswhYFwLA7BYG4LA2BYGOLAwRYFuLAsxYFQJAohIEyJAMwkAwiQC0JAJgkAeiQBkJAFokAPCQA0JABwcD4Dgc4cDdDgaYcDIDgYgUC6CgWgUClCgUYUAVBQBOFAEYMALgwAgDA9QYAdIn8AZzeBB2L5EcWrenUT1KXienEsuJJ7x5U8XlTjc1NVzUyXFTGb1LlpUtWlTDIjqwE4LsagowoCi2gJLKAkpoBgJQNpAIhNqaEoneI6kiiqQ6Go%2Fn6j0cS%2Ba2gEU8gIHJ%2BBwfgZX4GL%2BBd%2FgW34FZ%2BBS%2FgUH4FN6BTegTvoEv6BJegRnYEF2A79gOvYDl2BdEjCkqkGtwXp0LNToIskOTXzh%2FF062yJ7AAAAEDAWAAABWhJ%2BKPEIJgBFxMVP7w2QJBGHASQnOBKXKFIdUK4igKA9IEaYJg%29%3Bsrc%3Aurl%28data%3Aapplication%2Fvnd%2Ems%2Dfontobject%3Bbase64%2Cn04AAEFNAAACAAIABAAAAAAABQAAAAAAAAABAJABAAAEAExQAAAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAJxJ%2FLAAAAAAAAAAAAAAAAAAAAAAAACgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAAAADgBSAGUAZwB1AGwAYQByAAAAeABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAA5ADsAUABTACAAMAAwADEALgAwADAAOQA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADcAMAA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADUAOAAzADIAOQAAADgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzACAAUgBlAGcAdQBsAGEAcgAAAAAAQlNHUAAAAAAAAAAAAAAAAAAAAAADAKncAE0TAE0ZAEbuFM3pjM%2FSEdmjKHUbyow8ATBE40IvWA3vTu8LiABDQ%2BpexwUMcm1SMnNryctQSiI1K5ZnbOlXKmnVV5YvRe6RnNMFNCOs1KNVpn6yZhCJkRtVRNzEufeIq7HgSrcx4S8h%2Fv4vnrrKc6oCNxmSk2uKlZQHBii6iKFoH0746ThvkO1kJHlxjrkxs%2BLWORaDQBEtiYJIR5IB9Bi1UyL4Rmr0BNigNkMzlKQmnofBHviqVzUxwdMb3NdCn69hy%2BpRYVKGVS%2F1tnsqv4LL7wCCPZZAZPT4aCShHjHJVNuXbmMrY5LeQaGnvAkXlVrJgKRAUdFjrWEah9XebPeQMj7KS7DIBAFt8ycgC5PLGUOHSE3ErGZCiViNLL5ZARfywnCoZaKQCu6NuFX42AEeKtKUGnr%2FCm2Cy8tpFhBPMW5Fxi4Qm4TkDWh4IWFDClhU2hRWosUWqcKLlgyXB%2BlSHaWaHiWlBAR8SeSgSPCQxdVQgzUixWKSTrIQEbU94viDctkvX%2BVSjJuUmV8L4CXShI11esnp0pjWNZIyxKHS4wVQ2ime1P4RnhvGw0aDN1OLAXGERsB7buFpFGGBAre4QEQR0HOIO5oYH305G%2BKspT%2FFupEGGafCCwxSe6ZUa%2B073rXHnNdVXE6eWvibUS27XtRzkH838mYLMBmYysZTM0EM3A1fbpCBYFccN1B%2FEnCYu%2FTgCGmr7bMh8GfYL%2BBfcLvB0gRagC09w9elfldaIy%2FhNCBLRgBgtCC7jAF63wLSMAfbfAlEggYU0bUA7ACCJmTDpEmJtI78w4%2FBO7dN7JR7J7ZvbYaUbaILSQsRBiF3HGk5fEg6p9unwLvn98r%2BvnsV%2B372uf1xBLq4qU%2F45fTuqaAP%2BpssmCCCTF0mhEow8ZXZOS8D7Q85JsxZ%2BAzok7B7O%2Ff6J8AzYBySZQB%2FQHYUSA%2BEeQhEWiS6AIQzgcsDiER4MjgMBAWDV4AgQ3g1eBgIdweCQmCjJEMkJ%2BPKRWyFHHmg1Wi%2F6xzUgA0LREoKJChwnQa9B%2B5RQZRB3IlBlkAnxyQNaANwHMowzlYSMCBgnbpzvqpl0iTJNCQidDI9ZrSYNIRBhHtUa5YHMHxyGEik9hDE0AKj72AbTCaxtHPUaKZdAZSnQTyjGqGLsmBStCejApUhg4uBMU6mATujEl%2BKdDPbI6Ag4vLr%2BhjY6lbjBeoLKnZl0UZgRX8gTySOeynZVz1wOq7e1hFGYIq%2BMhrGxDLak0PrwYzSXtcuyhXEhwOYofiW%2BEcI%2Fjw8P6IY6ed%2BetAbuqKp5QIapT77LnAe505lMuqL79a0ut4rWexzFttsOsLDy7zvtQzcq3U1qabe7tB0wHWVXji%2BzDbo8x8HyIRUbXnwUcklFv51fvTymiV%2BMXLSmGH9d9%2BaXpD5X6lao41anWGig7IwIdnoBY2ht%2FpO9mClLo4NdXHAsefqWUKlXJkbqPOFhMoR4aiA1BXqhRNbB2Xwi%2B7u%2FjpAoOpKJ0UX24EsrzMfHXViakCNcKjBxuQX8BO0ZqjJ3xXzf%2B61t2VXOSgJ8xu65QKgtN6FibPmPYsXbJRHHqbgATcSZxBqGiDiU4NNNsYBsKD0MIP%2FOfKnlk%2FLkaid%2FO2NbKeuQrwOB2Gq3YHyr6ALgzym5wIBnsdC1ZkoBFZSQXChZvlesPqvK2c5oHHT3Q65jYpNxnQcGF0EHbvYqoFw60WNlXIHQF2HQB7zD6lWjZ9rVqUKBXUT6hrkZOle0RFYII0V5ZYGl1JAP0Ud1fZZMvSomBzJ710j4Me8mjQDwEre5Uv2wQfk1ifDwb5ksuJQQ3xt423lbuQjvoIQByQrNDh1JxGFkOdlJvu%2FgFtuW0wR4cgd%2BZKesSV7QkNE2kw6AV4hoIuC02LGmTomyf8PiO6CZzOTLTPQ%2BHW06H%2Btx%2BbQ8LmDYg1pTFrp2oJXgkZTyeRJZM0C8aE2LpFrNVDuhARsN543%2FFV6klQ6Tv1OoZGXLv0igKrl%2FCmJxRmX7JJbJ998VSIPQRyDBICzl4JJlYHbdql30NvYcOuZ7a10uWRrgoieOdgIm4rlq6vNOQBuqESLbXG5lzdJGHw2m0sDYmODXbYGTfSTGRKpssTO95fothJCjUGQgEL4yKoGAF%2F0SrpUDNn8CBgBcSDQByAeNkCXp4S4Ro2Xh4OeaGRgR66PVOsU8bc6TR5%2FxTcn4IVMLOkXSWiXxkZQCbvKfmoAvQaKjO3EDKwkwqHChCDEM5loQRPd5ACBki1TjF772oaQhQbQ5C0lcWXPFOzrfsDGUXGrpxasbG4iab6eByaQkQfm0VFlP0ZsDkvvqCL6QXMUwCjdMx1ZOyKhTJ7a1GWAdOUcJ8RSejxNVyGs31OKMyRyBVoZFjqIkmKlLQ5eHMeEL4MkUf23cQ%2F1SgRCJ1dk4UdBT7OoyuNgLs0oCd8RnrEIb6QdMxT2QjD4zMrJkfgx5aDMcA4orsTtKCqWb%2FVeyceqa5OGSmB28YwH4rFbkQaLoUN8OQQYnD3w2eXpI4ScQfbCUZiJ4yMOIKLyyTc7BQ4uXUw6Ee6%2FxM%2B4Y67ngNBknxIPwuppgIhFcwJyr6EIj%2BLzNj%2FmfR2vhhRlx0BILZoAYruF0caWQ7YxO66UmeguDREAFHYuC7HJviRgVO6ruJH59h%2FC%2FPkgSle8xNzZJULLWq9JMDTE2fjGE146a1Us6PZDGYle6ldWRqn%2FpdpgHKNGrGIdkRK%2BKPETT9nKT6kLyDI8xd9A1FgWmXWRAIHwZ37WyZHOVyCadJEmMVz0MadMjDrPho%2BEIochkVC2xgGiwwsQ6DMv2P7UXqT4x7CdcYGId2BJQQa85EQKmCmwcRejQ9Bm4oATENFPkxPXILHpMPUyWTI5rjNOsIlmEeMbcOCEqInpXACYQ9DDxmFo9vcmsDblcMtg4tqBerNngkIKaFJmrQAPnq1dEzsMXcwjcHdfdCibcAxxA%2Bq%2Fj9m3LM%2FO7WJka4tSidVCjsvo2lQ%2F2ewyoYyXwAYyr2PlRoR5MpgVmSUIrM3PQxXPbgjBOaDQFIyFMJvx3Pc5RSYj12ySVF9fwFPQu2e2KWVoL9q3Ayv3IzpGHUdvdPdrNUdicjsTQ2ISy7QU3DrEytIjvbzJnAkmANXjAFERA0MUoPF3%2F5KFmW14bBNOhwircYgMqoDpUMcDtCmBE82QM2YtdjVLB4kBuKho%2FbcwQdeboqfQartuU3CsCf%2BcXkgYAqp%2F0Ee3RorAZt0AvvOCSI4JICIlGlsV0bsSid%2FNIEALAAzb6HAgyWHBps6xAOwkJIGcB82CxRQq4sJf3FzA70A%2BTRqcqjEMETCoez3mkPcpnoALs0ugJY8kQwrC%2BJE5ik3w9rzrvDRjAQnqgEVvdGrNwlanR0SOKWzxOJOvLJhcd8Cl4AshACUkv9czdMkJCVQSQhp6kp7StAlpVRpK0t0SW6LHeBJnE2QchB5Ccu8kxRghZXGIgZIiSj7gEKMJDClcnX6hgoqJMwiQDigIXg3ioFLCgDgjPtYHYpsF5EiA4kcnN18MZtOrY866dEQAb0FB34OGKHGZQjwW%2FWDHA60cYFaI%2FPjpzquUqdaYGcIq%2BmLez3WLFFCtNBN2QJcrlcoELgiPku5R5dSlJFaCEqEZle1AQzAKC%2B1SotMcBNyQUFuRHRF6OlimSBgjZeTBCwLyc6A%2BP%2FoFRchXTz5ADknYJHxzrJ5pGuIKRQISU6WyKTBBjD8WozmVYWIsto1AS5rxzKlvJu4E%2FvwOiKxRtCWsDM%2BeTHUrmwrCK5BIfMzGkD%2B0Fk5LzBs0jMYXktNDblB06LMNJ09U8pzSLmo14MS0OMjcdrZ31pyQqxJJpRImlSvfYAK8inkYU52QY2FPEVsjoWewpwhRp5yAuNpkqhdb7ku9Seefl2D0B8SMTFD90xi4CSOwwZy9IKkpMtI3FmFUg3%2FkFutpQGNc3pCR7gvC4sgwbupDu3DyEN%2BW6YGLNM21jpB49irxy9BSlHrVDlnihGKHwPrbVFtc%2Bh1rVQKZduxIyojccZIIcOCmhEnC7UkY68WXKQgLi2JCDQkQWJRQuk60hZp0D3rtCTINSeY9Ej2kIKYfGxwOs4j9qMM7fYZiipzgcf7TamnehqdhsiMiCawXnz4xAbyCkLAx5EGbo3Ax1u3dUIKnTxIaxwQTHehPl3V491H0%2BbC5zgpGz7Io%2BmjdhKlPJ01EeMpM7UsRJMi1nGjmJg35i6bQBAAxjO%2FENJubU2mg3ONySEoWklCwdABETcs7ck3jgiuU9pcKKpbgn%2B3YlzV1FzIkB6pmEDOSSyDfPPlQskznctFji0kpgZjW5RZe6x9kYT4KJcXg0bNiCyif%2BpZACCyRMmYsfiKmN9tSO65F0R2OO6ytlEhY5Sj6uRKfFxw0ijJaAx%2Fk3QgnAFSq27%2F2i4GEBA%2BUvTJKK%2F9eISNvG46Em5RZfjTYLdeD8kdXHyrwId%2FDQZUaMCY4gGbke2C8vfjgV%2FY9kkRQOJIn%2FxM9INZSpiBnqX0Q9GlQPpPKAyO5y%2BW5NMPSRdBCUlmuxl40ZfMCnf2Cp044uI9WLFtCi4YVxKjuRCOBWIb4XbIsGdbo4qtMQnNOQz4XDSui7W%2FN6l54qOynCqD3DpWQ%2BmpD7C40D8BZEWGJX3tlAaZBMj1yjvDYKwCJBa201u6nBKE5UE%2B7QSEhCwrXfbRZylAaAkplhBWX50dumrElePyNMRYUrC99UmcSSNgImhFhDI4BXjMtiqkgizUGCrZ8iwFxU6fQ8GEHCFdLewwxYWxgScAYMdMLmcZR6b7rZl95eQVDGVoUKcRMM1ixXQtXNkBETZkVVPg8LoSrdetHzkuM7DjZRHP02tCxA1fmkXKF3VzfN1pc1cv%2F8lbTIkkYpqKM9VOhp65ktYk%2BQ46myFWBapDfyWUCnsnI00QTBQmuFjMZTcd0V2NQ768Fhpby04k2IzNR1wKabuGJqYWwSly6ocMFGTeeI%2BejsWDYgEvr66QgqdcIbFYDNgsm0x9UHY6SCd5%2B7tpsLpKdvhahIDyYmEJQCqMqtCF6UlrE5GXRmbu%2Bvtm3BFSxI6ND6UxIE7GsGMgWqghXxSnaRJuGFveTcK5ZVSPJyjUxe1dKgI6kNF7EZhIZs8y8FVqwEfbM0Xk2ltORVDKZZM40SD3qQoQe0orJEKwPfZwm3YPqwixhUMOndis6MhbmfvLBKjC8sKKIZKbJk8L11oNkCQzCgvjhyyEiQSuJcgCQSG4Mocfgc0Hkwcjal1UNgP0CBPikYqBIk9tONv4kLtBswH07vUCjEaHiFGlLf8MgXKzSgjp2HolRRccAOh0ILHz9qlGgIFkwAnzHJRjWFhlA7ROwINyB5HFj59PRZHFor6voq7l23EPNRwdWhgawqbivLSjRA4htEYUFkjESu67icTg5S0aW1sOkCiIysfJ9UnIWevOOLGpepcBxy1wEhd2WI3AZg7sr9WBmHWyasxMcvY%2FiOmsLtHSWNUWEGk9hScMPShasUA1AcHOtRZlqMeQ0OzYS9vQvYUjOLrzP07BUAFikcJNMi7gIxEw4pL1G54TcmmmoAQ5s7TGWErJZ2Io4yQ0ljRYhL8H5e62oDtLF8aDpnIvZ5R3GWJyAugdiiJW9hQAVTsnCBHhwu7rkBlBX6r3b7ejEY0k5GGeyKv66v%2B6dg7mcJTrWHbtMywbedYqCQ0FPwoytmSWsL8WTtChZCKKzEF7vP6De4x2BJkkniMgSdWhbeBSLtJZR9CTHetK1xb34AYIJ37OegYIoPVbXgJ%2FqDQK%2BbfCtxQRVKQu77WzOoM6SGL7MaZwCGJVk46aImai9fmam%2BWpHG%2B0BtQPWUgZ7RIAlPq6lkECUhZQ2gqWkMYKcYMYaIc4gYCDFHYa2d1nzp3%2BJ1eCBay8IYZ0wQRKGAqvCuZ%2FUgbQPyllosq%2BXtfKIZOzmeJqRazpmmoP%2F76YfkjzV2NlXTDSBYB04SVlNQsFTbGPk1t%2FI4Jktu0XSgifO2ozFOiwd%2F0SssJDn0dn4xqk4GDTTKX73%2FwQyBLdqgJ%2BWx6AQaba3BA9CKEzjtQYIfAsiYamapq80LAamYjinlKXUkxdpIDk0puXUEYzSalfRibAeDAKpNiqQ0FTwoxuGYzRnisyTotdVTclis1LHRQCy%2FqqL8oUaQzWRxilq5Mi0IJGtMY02cGLD69vGjkj3p6pGePKI8bkBv5evq8SjjyU04vJR2cQXQwSJyoinDsUJHCQ50jrFTT7yRdbdYQMB3MYCb6uBzJ9ewhXYPAIZSXfeEQBZZ3GPN3Nbhh%2FwkvAJLXnQMdi5NYYZ5GHE400GS5rXkOZSQsdZgIbzRnF9ueLnsfQ47wHAsirITnTlkCcuWWIUhJSbpM3wWhXNHvt2xUsKKMpdBSbJnBMcihkoDqAd1Zml%2FR4yrzow1Q2A5G%2Bkzo%2FRhRxQS2lCSDRV8LlYLBOOoo1bF4jwJAwKMK1tWLHlu9i0j4Ig8qVm6wE1DxXwAwQwsaBWUg2pOOol2dHxyt6npwJEdLDDVYyRc2D0HbcbLUJQj8gPevQBUBOUHXPrsAPBERICpnYESeu2OHotpXQxRGlCCtLdIsu23MhZVEoJg8Qumj%2FUMMc34IBqTKLDTp76WzL%2FdMjCxK7MjhiGjeYAC%2Fkj%2FjY%2FRde7hpSM1xChrog6yZ7OWTuD56xBJnGFE%2BpT2ElSyCnJcwVzCjkqeNLfMEJqKW0G7OFIp0G%2B9mh50I9o8k1tpCY0xYqFNIALgIfc2me4n1bmJnRZ89oepgLPT0NTMLNZsvSCZAc3TXaNB07vail36%2FdBySis4m9%2FDR8izaLJW6bWCkVgm5T%2Bius3ZXq4xI%2BGnbveLbdRwF2mNtsrE0JjYc1AXknCOrLSu7Te%2Fr4dPYMCl5qtiHNTn%2BTPbh1jCBHH%2BdMJNhwNgs3nT%2BOhQoQ0vYif56BMG6WowAcHR3DjQolxLzyVekHj00PBAaW7IIAF1EF%2BuRIWyXjQMAs2chdpaKPNaB%2BkSezYt0%2BCA04sOg5vx8Fr7Ofa9sUv87h7SLAUFSzbetCCZ9pmyLt6l6%2FTzoA1%2FZBG9bIUVHLAbi%2FkdBFgYGyGwRQGBpkqCEg2ah9UD6EedEcEL3j4y0BQQCiExEnocA3SZboh%2Bepgd3YsOkHskZwPuQ5OoyA0fTA5AXrHcUOQF%2BzkJHIA7PwCDk1gGVmGUZSSoPhNf%2BTklauz98QofOlCIQ%2FtCD4dosHYPqtPCXB3agggQQIqQJsSkB%2Bqn0rkQ1toJjON%2FOtCIB9RYv3PqRA4C4U68ZMlZn6BdgEvi2ziU%2BTQ6NIw3ej%2BAtDwMGEZk7e2IjxUWKdAxyaw9OCwSmeADTPPleyk6UhGDNXQb%2B%2BW6Uk4q6F7%2Frg6WVTo82IoCxSIsFDrav4EPHphD3u4hR53WKVvYZUwNCCeM4PMBWzK%2BEfIthZOkuAwPo5C5jgoZgn6dUdvx5rIDmd58cXXdKNfw3l%2BwM2UjgrDJeQHhbD7HW2QDoZMCujgIUkk5Fg8VCsdyjOtnGRx8wgKRPZN5dR0zPUyfGZFVihbFRniXZFOZGKPnEQzU3AnD1KfR6weHW2XS6KbPJxUkOTZsAB9vTVp3Le1F8q5l%2BDMcLiIq78jxAImD2pGFw0VHfRatScGlK6SMu8leTmhUSMy8Uhdd6xBiH3Gdman4tjQGLboJfqz6fL2WKHTmrfsKZRYX6BTDjDldKMosaSTLdQS7oDisJNqAUhw1PfTlnacCO8vl8706Km1FROgLDmudzxg%2BEWTiArtHgLsRrAXYWdB0NmToNCJdKm0KWycZQqb%2BMw76Qy29iQ5up%2FX7oyw8QZ75kP5F6iJAJz6KCmqxz8fEa%2FxnsMYcIO%2FvEkGRuMckhr4rIeLrKaXnmIzlNLxbFspOphkcnJdnz%2FChp%2FVlpj2P7jJQmQRwGnltkTV5dbF9fE3%2FfxoSqTROgq9wFUlbuYzYcasE0ouzBo%2BdDCDzxKAfhbAZYxQiHrLzV2iVexnDX%2FQnT1fsT%2Fxuhu1ui5qIytgbGmRoQkeQooO8eJNNZsf0iALur8QxZFH0nCMnjerYQqG1pIfjyVZWxhVRznmmfLG00BcBWJE6hzQWRyFknuJnXuk8A5FRDCulwrWASSNoBtR%2BCtGdkPwYN2o7DOw%2FVGlCZPusRBFXODQdUM5zeHDIVuAJBLqbO%2Ff9Qua%2BpDqEPk230Sob9lEZ8BHiCorjVghuI0lI4JDgHGRDD%2FprQ84B1pVGkIpVUAHCG%2Biz3Bn3qm2AVrYcYWhock4jso5%2BJ7HfHVj4WMIQdGctq3psBCVVzupQOEioBGA2Bk%2BUILT7%2BVoX5mdxxA5fS42gISQVi%2FHTzrgMxu0fY6hE1ocUwwbsbWcezrY2n6S8%2F6cxXkOH4prpmPuFoikTzY7T85C4T2XYlbxLglSv2uLCgFv8Quk%2FwdesUdWPeHYIH0R729JIisN9Apdd4eB10aqwXrPt%2BSu9mA8k8n1sjMwnfsfF2j3jMUzXepSHmZ%2FBfqXvzgUNQQWOXO8YEuFBh4QTYCkOAPxywpYu1VxiDyJmKVcmJPGWk%2Fgc3Pov02StyYDahwmzw3E1gYC9wkupyWfDqDSUMpCTH5e5N8B%2F%2FlHiMuIkTNw4USHrJU67bjXGqNav6PBuQSoqTxc8avHoGmvqNtXzIaoyMIQIiiUHIM64cXieouplhNYln7qgc4wBVAYR104kO%2BCvKqsg4yIUlFNThVUAKZxZt1XA34h3TCUUiXVkZ0w8Hh2R0Z5L0b4LZvPd%2Fp1gi%2F07h8qfwHrByuSxglc9cI4QIg2oqvC%2Fqm0i7tjPLTgDhoWTAKDO2ONW5oe%2B%2FeKB9vZB8K6C25yCZ9RFVMnb6NRdRjyVK57CHHSkJBfnM2%2Fj4ODUwRkqrtBBCrDsDpt8jhZdXoy%2F1BCqw3sSGhgGGy0a5Jw6BP%2FTExoCmNFYjZl248A0osgPyGEmRA%2BfAsqPVaNAfytu0vuQJ7rk3J4kTDTR2AlCHJ5cls26opZM4w3jMULh2YXKpcqGBtuleAlOZnaZGbD6DHzMd6i2oFeJ8z9XYmalg1Szd%2FocZDc1C7Y6vcALJz2lYnTXiWEr2wawtoR4g3jvWUU2Ngjd1cewtFzEvM1NiHZPeLlIXFbBPawxNgMwwAlyNSuGF3zizVeOoC9bag1qRAQKQE%2FEZBWC2J8mnXAN2aTBboZ7HewnObE8CwROudZHmUM5oZ%2FUgd%2FJZQK8lvAm43uDRAbyW8gZ%2BZGq0EVerVGUKUSm%2FIdn8AQHdR4m7bue88WBwft9mSCeMOt1ncBwziOmJYI2ZR7ewNMPiCugmSsE4EyQ%2BQATJG6qORMGd4snEzc6B4shPIo4G1T7PgSm8PY5eUkPdF8JZ0VBtadbHXoJgnEhZQaODPj2gpODKJY5Yp4DOsLBFxWbvXN755KWylJm%2BoOd4zEL9Hpubuy2gyyfxh8oEfFutnYWdfB8PdESLWYvSqbElP9qo3u6KTmkhoacDauMNNjj0oy40DFV7Ql0aZj77xfGl7TJNHnIwgqOkenruYYNo6h724%2BzUQ7%2BvkCpZB%2BpGA562hYQiDxHVWOq0oDQl%2FQsoiY%2BcuI7iWq%2FZIBtHcXJ7kks%2Bh2fCNUPA82BzjnqktNts%2BRLdk1VSu%2BtqEn7QZCCsvEqk6FkfiOYkrsw092J8jsfIuEKypNjLxrKA9kiA19mxBD2suxQKCzwXGws7kEJvlhUiV9tArLIdZW0IORcxEzdzKmjtFhsjKy%2F44XYXdI5noQoRcvjZ1RMPACRqYg2V1%2BOwOepcOknRLLFdYgTkT5UApt%2FJhLM3jeFYprZV%2BZow2g8fP%2BU68hkKFWJj2yBbKqsrp25xkZX1DAjUw52IMYWaOhab8Kp05VrdNftqwRrymWF4OQSjbdfzmRZirK8FMJELEgER2PHjEAN9pGfLhCUiTJFbd5LBkOBMaxLr%2FA1SY9dXFz4RjzoU9ExfJCmx%2FI9FKEGT3n2cmzl2X42L3Jh%2BAbQq6sA%2BSs1kitoa4TAYgKHaoybHUDJ51oETdeI%2F9ThSmjWGkyLi5QAGWhL0BG1UsTyRGRJOldKBrYJeB8ljLJHfATWTEQBXBDnQexOHTB%2BUn44zExFE4vLytcu5NwpWrUxO%2F0ZICUGM7hGABXym0V6ZvDST0E370St9MIWQOTWngeoQHUTdCJUP04spMBMS8LSker9cReVQkULFDIZDFPrhTzBl6sed9wcZQTbL%2BBDqMyaN3RJPh%2Fanbx%2BIv%2BqgQdAa3M9Z5JmvYlh4qop%2BHo1F1W5gbOE9YKLgAnWytXElU4G8GtW47lhgFE6gaSs%2Bgs37sFvi0PPVvA5dnCBgILTwoKd%2F%2BDoL9F6inlM7H4rOTzD79KJgKlZO%2FZgt22UsKhrAaXU5ZcLrAglTVKJEmNJvORGN1vqrcfSMizfpsgbIe9zno%2BgBoKVXgIL%2FVI8dB1O5o%2FR3Suez%2FgD7M781ShjKpIIORM%2FnxG%2BjjhhgPwsn2IoXsPGPqYHXA63zJ07M2GPEykQwJBYLK808qYxuIew4frk52nhCsnCYmXiR6CuapvE1IwRB4%2FQftDbEn%2BAucIr1oxrLabRj9q4ae0%2BfXkHnteAJwXRbVkR0mctVSwEbqhJiMSZUp9DNbEDMmjX22m3ABpkrPQQTP3S1sib5pD2VRKRd%2BeNAjLYyT0hGrdjWJZy24OYXRoWQAIhGBZRxuBFMjjZQhpgrWo8SiFYbojcHO8V5DyscJpLTHyx9Fimassyo5U6WNtquUMYgccaHY5amgR3PQzq3ToNM5ABnoB9kuxsebqmYZm0R9qxJbFXCQ1UPyFIbxoUraTJFDpCk0Wk9GaYJKz%2F6oHwEP0Q14lMtlddQsOAU9zlYdMVHiT7RQP3XCmWYDcHCGbVRHGnHuwzScA0BaSBOGkz3lM8CArjrBsyEoV6Ys4qgDK3ykQQPZ3hCRGNXQTNNXbEb6tDiTDLKOyMzRhCFT%2BmAUmiYbV3YQVqFVp9dorv%2BTsLeCykS2b5yyu8AV7IS9cxcL8z4Kfwp%2BxJyYLv1OsxQCZwTB4a8BZ%2F5EdxTBJthApqyfd9u3ifr%2FWILTqq5VqgwMT9SOxbSGWLQJUUWCVi4k9tho9nEsbUh7U6NUsLmkYFXOhZ0kmamaJLRNJzSj%2Fqn4Mso6zb6iLLBXoaZ6AqeWCjHQm2lztnejYYM2eubnpBdKVLORZhudH3JF1waBJKA9%2BW8EhMj3Kzf0L4vi4k6RoHh3Z5YgmSZmk6ns4fjScjAoL8GoOECgqgYEBYUGFVO4FUv4%2FYtowhEmTs0vrvlD%2FCrisnoBNDAcUi%2FteY7OctFlmARQzjOItrrlKuPO6E2Ox93L4O%2F4DcgV%2FdZ7qR3VBwVQxP1GCieA4RIpweYJ5FoYrHxqRBdJjnqbsikA2Ictbb8vE1GYIo9dacK0REgDX4smy6GAkxlH1yCGGsk%2BtgiDhNKuKu3yNrMdxafmKTF632F8Vx4BNK57GvlFisrkjN9WDAtjsWA0ENT2e2nETUb%2Fn7qwhvGnrHuf5bX6Vh%2Fn3xffU3PeHdR%2BFA92i6ufT3AlyAREoNDh6chiMWTvjKjHDeRhOa9YkOQRq1vQXEMppAQVwHCuIcV2g5rBn6GmZZpTR7vnSD6ZmhdSl176gqKTXu5E%2BYbfL0adwNtHP7dT7t7b46DVZIkzaRJOM%2BS6KcrzYVg%2BT3wSRFRQashjfU18NutrKa%2F7PXbtuJvpIjbgPeqd%2BpjmRw6YKpnANFSQcpzTZgpSNJ6J7uiagAbir%2F8tNXJ%2FOsOnRh6iuIexxrmkIneAgz8QoLmiaJ8sLQrELVK2yn3wOHp57BAZJhDZjTBzyoRAuuZ4eoxHruY1pSb7qq79cIeAdOwin4GdgMeIMHeG%2BFZWYaiUQQyC5b50zKjYw97dFjAeY2I4Bnl105Iku1y0lMA1ZHolLx19uZnRdILcXKlZGQx%2FGdEqSsMRU1BIrFqRcV1qQOOHyxOLXEGcbRtAEsuAC2V4K3p5mFJ22IDWaEkk9ttf5Izb2LkD1MnrSwztXmmD%2FQi%2FEmVEFBfiKGmftsPwVaIoZanlKndMZsIBOskFYpDOq3QUs9aSbAAtL5Dbokus2G4%2FasthNMK5UQKCOhU97oaOYNGsTah%2BjfCKsZnTRn5TbhFX8ghg8CBYt%2FBjeYYYUrtUZ5jVij%2Fop7V5SsbA4mYTOwZ46hqdpbB6Qvq3AS2HHNkC15pTDIcDNGsMPXaBidXYPHc6PJAkRh29Vx8KcgX46LoUQBhRM%2B3SW6Opll%2FwgxxsPgKJKzr5QCmwkUxNbeg6Wj34SUnEzOemSuvS2OetRCO8Tyy%2BQbSKVJcqkia%2BGvDefFwMOmgnD7h81TUtMn%2BmRpyJJ349HhAnoWFTejhpYTL9G8N2nVg1qkXBeoS9Nw2fB27t7trm7d%2FQK7Cr4uoCeOQ7%2F8JfKT77KiDzLImESHw%2F0wf73QeHu74hxv7uihi4fTX%2BXEwAyQG3264dwv17aJ5N335Vt9sdrAXhPOAv8JFvzqyYXwfx8WYJaef1gMl98JRFyl5Mv5Uo%2FoVH5ww5OzLFsiTPDns7fS6EURSSWd%2F92BxMYQ8sBaH%2Bj%2BwthQPdVgDGpTfi%2BJQIWMD8xKqULliRH01rTeyF8x8q%2FGBEEEBrAJMPf25UQwi0b8tmqRXY7kIvNkzrkvRWLnxoGYEJsz8u4oOyMp8cHyaybb1HdMCaLApUE%2B%2F7xLIZGP6H9xuSEXp1zLIdjk5nBaMuV%2FyTDRRP8Y2ww5RO6d2D94o%2B6ucWIqUAvgHIHXhZsmDhjVLczmZ3ca0Cb3PpKwt2UtHVQ0BgFJsqqTsnzZPlKahRUkEu4qmkJt%2Bkqdae76ViWe3STan69yaF9%2BfESD2lcQshLHWVu4ovItXxO69bqC5p1nZLvI8NdQB9s9UNaJGlQ5mG947ipdDA0eTIw%2FA1zEdjWquIsQXXGIVEH0thC5M%2BW9pZe7IhAVnPJkYCCXN5a32HjN6nsvokEqRS44tGIs7s2LVTvcrHAF%2BRVmI8L4HUYk4x%2B67AxSMJKqCg8zrGOgvK9kNMdDrNiUtSWuHFpC8%2Fp5qIQrEo%2FH%2B1l%2F0cAwQ2nKmpWxKcMIuHY44Y6DlkpO48tRuUGBWT0FyHwSKO72Ud%2BtJUfdaZ4CWNijzZtlRa8%2BCkmO%2FEwHYfPZFU%2FhzjFWH7vnzHRMo%2BaF9u8qHSAiEkA2HjoNQPEwHsDKOt6hOoK3Ce%2F%2B%2F9boMWDa44I6FrQhdgS7OnNaSzwxWKZMcyHi6LN4WC6sSj0qm2PSOGBTvDs%2FGWJS6SwEN%2FULwpb4LQo9fYjUfSXRwZkynUazlSpvX9e%2BG2zor8l%2BYaMxSEomDdLHGcD6YVQPegTaA74H8%2BV4WvJkFUrjMLGLlvSZQWvi8%2FQA7yzQ8GPno%2F%2F5SJHRP%2FOqKObPCo81s%2F%2B6WgLqykYpGAgQZhVDEBPXWgU%2FWzFZjKUhSFInufPRiMAUULC6T11yL45ZrRoB4DzOyJShKXaAJIBS9wzLYIoCEcJKQW8GVCx4fihqJ6mshBUXSw3wWVj3grrHQlGNGhIDNNzsxQ3M%2BGWn6ASobIWC%2BLbYOC6UpahVO13Zs2zOzZC8z7FmA05JhUGyBsF4tsG0drcggIFzgg%2Fkpf3%2BCnAXKiMgIE8Jk%2FMhpkc8DUJEUzDSnWlQFme3d0sHZDrg7LavtsEX3cHwjCYA17pMTfx8Ajw9hHscN67hyo%2BRJQ4458RmPywXykkVcW688oVUrQhahpPRvTWPnuI0B%2BSkQu7dCyvLRyFYlC1LG1gRCIvn3rwQeINzZQC2KXq31FaR9UmVV2QeGVqBHjmE%2BVMd3b1fhCynD0pQNhCG6%2FWCDbKPyE7NRQzL3BzQAJ0g09aUzcQA6mUp9iZFK6Sbp%2FYbHjo%2B%2B7%2FWj8S4YNa%2BZdqAw1hDrKWFXv9%2BzaXpf8ZTDSbiqsxnwN%2FCzK5tPkOr4tRh2kY3Bn9JtalbIOI4b3F7F1vPQMfoDcdxMS8CW9m%2FNCW%2FHILTUVWQIPiD0j1A6bo8vsv6P1hCESl2abrSJWDrq5sSzUpwoxaCU9FtJyYH4QFMxDBpkkBR6kn0LMPO%2B5EJ7Z6bCiRoPedRZ%2FP0SSdii7ZnPAtVwwHUidcdyspwncz5uq6vvm4IEDbJVLUFCn%2FLvIHfooUBTkFO130FC7CmmcrKdgDJcid9mvVzsDSibOoXtIf9k6ABle3PmIxejodc4aob0QKS432srrCMndbfD454q52V01G4q913mC5HOsTzWF4h2No1av1VbcUgWAqyoZl%2B11PoFYnNv2HwAODeNRkHj%2B8SF1fcvVBu6MrehHAZK1Gm69ICcTKizykHgGFx7QdowTVAsYEF2tVc0Z6wLryz2FI1sc5By2znJAAmINndoJiB4sfPdPrTC8RnkW7KRCwxC6YvXg5ahMlQuMpoCSXjOlBy0Kij%2BbsCYPbGp8BdCBiLmLSAkEQRaieWo1SYvZIKJGj9Ur%2FeWHjiB7SOVdqMAVmpBvfRiebsFjger7DC%2B8kRFGtNrTrnnGD2GAJb8rQCWkUPYHhwXsjNBSkE6lGWUj5QNhK0DMNM2l%2BkXRZ0KLZaGsFSIdQz%2FHXDxf3%2FTE30%2BDgBKWGWdxElyLccJfEpjsnszECNoDGZpdwdRgCixeg9L4EPhH%2BRptvRMVRaahu4cySjS3P5wxAUCPkmn%2BrhyASpmiTaiDeggaIxYBmtLZDDhiWIJaBgzfCsAGUF1Q1SFZYyXDt9skCaxJsxK2Ms65dmdp5WAZyxik%2FzbrTQk5KmgxCg%2Ff45L0jywebOWUYFJQAJia7XzCV0x89rpp%2Ff3AVWhSPyTanqmik2SkD8A3Ml4NhIGLAjBXtPShwKYfi2eXtrDuKLk4QlSyTw1ftXgwqA2jUuopDl%2B5tfUWZNwBpEPXghzbBggYCw%2Fdhy0ntds2yeHCDKkF%2FYxQjNIL%2FF%2F37jLPHCKBO9ibwYCmuxImIo0ijV2Wbg3kSN2psoe8IsABv3RNFaF9uMyCtCYtqcD%2BqNOhwMlfARQUdJ2tUX%2BMNJqOwIciWalZsmEjt07tfa8ma4cji9sqz%2BQ9hWfmMoKEbIHPOQORbhQRHIsrTYlnVTNvcq1imqmmPDdVDkJgRcTgB8Sb6epCQVmFZe%2BjGDiNJQLWnfx%2BdrTKYjm0G8yH0ZAGMWzEJhUEQ4Maimgf%2Fbkvo8PLVBsZl152y5S8%2BHRDfZIMCbYZ1WDp4yrdchOJw8k6R%2B%2F2pHmydK4NIK2PHdFPHtoLmHxRDwLFb7eB%2BM4zNZcB9NrAgjVyzLM7xyYSY13ykWfIEEd2n5%2FiYp3ZdrCf7fL%2Ben%2BsIJu2W7E30MrAgZBD1rAAbZHPgeAMtKCg3NpSpYQUDWJu9bT3V7tOKv%2BNRiJc8JAKqqgCA%2FPNRBR7ChpiEulyQApMK1AyqcWnpSOmYh6yLiWkGJ2mklCSPIqN7UypWj3dGi5MvsHQ87MrB4VFgypJaFriaHivwcHIpmyi5LhNqtem4q0n8awM19Qk8BOS0EsqGscuuydYsIGsbT5GHnERUiMpKJl4ON7qjB4fEqlGN%2FhCky89232UQCiaeWpDYCJINXjT6xl4Gc7DxRCtgV0i1ma4RgWLsNtnEBRQFqZggCLiuyEydmFd7WlogpkCw5G1x4ft2psm3KAREwVwr1Gzl6RT7FDAqpVal34ewVm3VH4qn5mjGj%2BbYL1NgfLNeXDwtmYSpwzbruDKpTjOdgiIHDVQSb5%2FzBgSMbHLkxWWgghIh9QTFSDILixVwg0Eg1puooBiHAt7DzwJ7m8i8%2Fi%2BjHvKf0QDnnHVkVTIqMvIQImOrzCJwhSR7qYB5gSwL6aWL9hERHCZc4G2%2BJrpgHNB8eCCmcIWIQ6rSdyPCyftXkDlErUkHafHRlkOIjxGbAktz75bnh50dU7YHk%2BMz7wwstg6RFZb%2BTZuSOx1qqP5C66c0mptQmzIC2dlpte7vZrauAMm%2F7RfBYkGtXWGiaWTtwvAQiq2oD4YixPLXE2khB2FRaNRDTk%2B9sZ6K74Ia9VntCpN4BhJGJMT4Z5c5FhSepRCRWmBXqx%2BwhVZC4me4saDs2iNqXMuCl6iAZflH8fscC1sTsy4PHeC%2BXYuqMBMUun5YezKbRKmEPwuK%2BCLzijPEQgfhahQswBBLfg%2FGBgBiI4QwAqzJkkyYAWtjzSg2ILgMAgqxYfwERRo3zruBL9WOryUArSD8sQOcD7fvIODJxKFS615KFPsb68USBEPPj1orNzFY2xoTtNBVTyzBhPbhFH0PI5AtlJBl2aSgNPYzxYLw7XTDBDinmVoENwiGzmngrMo8OmnRP0Z0i0Zrln9DDFcnmOoBZjABaQIbPOJYZGqX%2BRCMlDDbElcjaROLDoualmUIQ88Kekk3iM4OQrADcxi3rJguS4MOIBIgKgXrjd1WkbCdqxJk%2F4efRIFsavZA7KvvJQqp3Iid5Z0NFc5aiMRzGN3vrpBzaMy4JYde3wr96PjN90AYOIbyp6T4zj8LoE66OGcX1Ef4Z3KoWLAUF4BTg7ug%2FAbkG5UNQXAMkQezujSHeir2uTThgd3gpyzDrbnEdDRH2W7U6PeRvBX1ZFMP5RM%2BZu6UUZZD8hDPHldVWntTCNk7To8IeOW9yn2wx0gmurwqC60AOde4r3ETi5pVMSDK8wxhoGAoEX9NLWHIR33VbrbMveii2jAJlrxwytTHbWNu8Y4N8vCCyZjAX%2FpcsfwXbLze2%2BD%2Bu33OGBoJyAAL3jn3RuEcdp5If8O%2Ba4NKWvxOTyDltG0IWoHhwVGe7dKkCWFT%2B%2Btm%2BhaBCikRUUMrMhYKZJKYoVuv%2FbsJzO8DwfVIInQq3g3BYypiz8baogH3r3GwqCwFtZnz4xMjAVOYnyOi5HWbFA8n0qz1OjSpHWFzpQOpvkNETZBGpxN8ybhtqV%2FDMUxd9uFZmBfKXMCn%2FSqkWJyKPnT6lq%2B4zBZni6fYRByJn6OK%2BOgPBGRAJluwGSk4wxjOOzyce%2FPKODwRlsgrVkdcsEiYrqYdXo0Er2GXi2GQZd0tNJT6c9pK1EEJG1zgDJBoTVuCXGAU8BKTvCO%2FcEQ1Wjk3Zzuy90JX4m3O5IlxVFhYkSUwuQB2up7jhvkm%2BbddRQu5F9s0XftGEJ9JSuSk%2BZachCbdU45fEqbugzTIUokwoAKvpUQF%2FCvLbWW5BNQFqFkJg2f30E%2F48StNe5QwBg8zz3YAJ82FZoXBxXSv4QDooDo79NixyglO9AembuBcx5Re3CwOKTHebOPhkmFC7wNaWtoBhFuV4AkEuJ0J%2B1pT0tLkvFVZaNzfhs%2FKd3%2BA9YsImlO4XK4vpCo%2FelHQi%2F9gkFg07xxnuXLt21unCIpDV%2BbbRxb7FC6nWYTsMFF8%2B1LUg4JFjVt3vqbuhHmDKbgQ4e%2BRGizRiO8ky05LQGMdL2IKLSNar0kNG7lHJMaXr5mLdG3nykgj6vB%2FKVijd1ARWkFEf3yiUw1v%2FWaQivVUpIDdSNrrKbjO5NPnxz6qTTGgYg03HgPhDrCFyYZTi3XQw3HXCva39mpLNFtz8AiEhxAJHpWX13gCTAwgm9YTvMeiqetdNQv6IU0hH0G%2BZManTqDLPjyrOse7WiiwOJCG%2BJ0pZYULhN8NILulmYYvmVcV2MjAfA39sGKqGdjpiPo86fecg65UPyXDIAOyOkCx5NQsLeD4gGVjTVDwOHWkbbBW0GeNjDkcSOn2Nq4cEssP54t9D749A7M1AIOBl0Fi0sSO5v3P7LCBrM6ZwFY6kp2FX6AcbGUdybnfChHPyu6WlRZ2Fwv9YM0RMI7kISRgR8HpQSJJOyTfXj%2F6gQKuihPtiUtlCQVPohUgzfezTg8o1b3n9pNZeco1QucaoXe40Fa5JYhqdTspFmxGtW9h5ezLFZs3j%2FN46f%2BS2rjYNC2JySXrnSAFhvAkz9a5L3pza8eYKHNoPrvBRESpxYPJdKVUxBE39nJ1chrAFpy4MMkf0qKgYALctGg1DQI1kIymyeS2AJNT4X240d3IFQb%2F0jQbaHJ2YRK8A%2Bls6WMhWmpCXYG5jqapGs5%2FeOJErxi2%2F2KWVHiPellTgh%2FfNl%2F2KYPKb7DUcAg%2BmCOPQFCiU9Mq%2FWLcU1xxC8aLePFZZlE%2BPCLzf7ey46INWRw2kcXySR9FDgByXzfxiNKwDFbUSMMhALPFSedyjEVM5442GZ4hTrsAEvZxIieSHGSgkwFh%2FnFNdrrFD4tBH4Il7fW6ur4J8Xaz7RW9jgtuPEXQsYk7gcMs2neu3zJwTyUerHKSh1iTBkj2YJh1SSOZL5pLuQbFFAvyO4k1Hxg2h99MTC6cTUkbONQIAnEfGsGkNFWRbuRyyaEZInM5pij73EA9rPIUfU4XoqQpHT9THZkW%2BoKFLvpyvTBMM69tN1Ydwv1LIEhHsC%2BueVG%2Bw%2BkyCPsvV3erRikcscHjZCkccx6VrBkBRusTDDd8847GA7p2Ucy0y0HdSRN6YIBciYa4vuXcAZbQAuSEmzw%2BH%2FAuOx%2BaH%2BtBL88H57D0MsqyiZxhOEQkF%2F8DR1d2hSPMj%2FsNOa5rxcUnBgH8ictv2J%2Bcb4BA4v3MCShdZ2vtK30vAwkobnEWh7rsSyhmos3WC93Gn9C4nnAd%2FPjMMtQfyDNZsOPd6XcAsnBE%2FmRHtHEyJMzJfZFLE9OvQa0i9kUmToJ0ZxknTgdl%2FXPV8xoh0K7wNHHsnBdvFH3sv52lU7UFteseLG%2FVanIvcwycVA7%2BBE1Ulyb20BvwUWZcMTKhaCcmY3ROpvonVMV4N7yBXTL7IDtHzQ4CCcqF66LjF3xUqgErKzolLyCG6Kb7irP%2FMVTCCwGRxfrPGpMMGvPLgJ881PHMNMIO09T5ig7AzZTX%2F5PLlwnJLDAPfuHynSGhV4tPqR3gJ4kg4c06c%2FF1AcjGytKm2Yb5jwMotF7vro4YDLWlnMIpmPg36NgAZsGA0W1spfLSue4xxat0Gdwd0lqDBOgIaMANykwwDKejt5YaNtJYIkrSgu0KjIg0pznY0SCd1qlC6R19g97UrWDoYJGlrvCE05J%2F5wkjpkre727p5PTRX5FGrSBIfJqhJE%2FIS876PaHFkx9pGTH3oaY3jJRvLX9Iy3Edoar7cFvJqyUlOhAEiOSAyYgVEGkzHdug%2BoRHIEOXAExMiTSKU9A6nmRC8mp8iYhwWdP2U%2F5EkFAdPrZw03YA3gSyNUtMZeh7dDCu8pF5x0VORCTgKp07ehy7NZqKTpIC4UJJ89lnboyAfy5OyXzXtuDRbtAFjZRSyGFTpFrXwkpjSLIQIG3N0Vj4BtzK3wdlkBJrO18MNsgseR4BysJilI0wI6ZahLhBFA0XBmV8d4LUzEcNVb0xbLjLTETYN8OEVqNxkt10W614dd1FlFFVTIgB7%2FBQQp1sWlNolpIu4ekxUTBV7NmxOFKEBmmN%2BnA7pvF78%2FRII5ZHA09OAiE%2F66MF6HQ%2BqVEJCHxwymukkNvzqHEh52dULPbVasfQMgTDyBZzx4007YiKdBuUauQOt27Gmy8ISclPmEUCIcuLbkb1mzQSqIa3iE0PJh7UMYQbkpe%2BhXjTJKdldyt2mVPwywoODGJtBV1lJTgMsuSQBlDMwhEKIfrvsxGQjHPCEfNfMAY2oxvyKcKPUbQySkKG6tj9AQyEW3Q5rpaDJ5Sns9ScLKeizPRbvWYAw4bXkrZdmB7CQopCH8NAmqbuciZChHN8lVGaDbCnmddnqO1PQ4ieMYfcSiBE5zzMz%2BJV%2F4eyzrzTEShvqSGzgWimkNxLvUj86iAwcZuIkqdB0VaIB7wncLRmzHkiUQpPBIXbDDLHBlq7vp9xwuC9AiNkIptAYlG7Biyuk8ILdynuUM1cHWJgeB%2BK3wBP%2FineogxkvBNNQ4AkW0hvpBOQGFfeptF2YTR75MexYDUy7Q%2F9uocGsx41O4IZhViw%2F2FvAEuGO5g2kyXBUijAggWM08bRhXg5ijgMwDJy40QeY%2FcQpUDZiIzmvskQpO5G1zyGZA8WByjIQU4jRoFJt56behxtHUUE%2Fom7Rj2psYXGmq3llVOCgGYKNMo4pzwntITtapDqjvQtqpjaJwjHmDzSVGLxMt12gEXAdLi%2FcaHSM3FPRGRf7dB7YC%2BcD2ho6oL2zGDCkjlf%2FDFoQVl8GS%2F56wur3rdV6ggtzZW60MRB3g%2BU1W8o8cvqIpMkctiGVMzXUFI7FacFLrgtdz4mTEr4aRAaQ2AFQaNeG7GX0yOJgMRYFziXdJf24kg%2FgBQIZMG%2FYcPEllRTVNoDYR6oSJ8wQNLuihfw81UpiKPm714bZX1KYjcXJdfclCUOOpvTxr9AAJevTY4HK%2FG7F3mUc3GOAKqh60zM0v34v%2BELyhJZqhkaMA8UMMOU90f8RKEJFj7EqepBVwsRiLbwMo1J2zrE2UYJnsgIAscDmjPjnzI8a719Wxp757wqmSJBjXowhc46QN4RwKIxqEE6E5218OeK7RfcpGjWG1jD7qND%2B%2FGTk6M56Ig4yMsU6LUW1EWE%2BfIYycVV1thldSlbP6ltdC01y3KUfkobkt2q01YYMmxpKRvh1Z48uNKzP%2FIoRIZ%2FF6buOymSnW8gICitpJjKWBscSb9JJKaWkvEkqinAJ2kowKoqkqZftRqfRQlLtKoqvTRDi2vg%2FRrPD%2Fd3a09J8JhGZlEkOM6znTsoMCsuvTmywxTCDhw5dd0GJOHCMPbsj3QLkTE3MInsZsimDQ3HkvthT7U9VA4s6G07sID0FW4SHJmRGwCl%2BMu4xf0ezqeXD2PtPDnwMPo86sbwDV%2B9PWcgFcARUVYm3hrFQrHcgMElFGbSM2A1zUYA3baWfheJp2AINmTJLuoyYD%2FOwA4a6V0ChBN97E8YtDBerUECv0u0TlxR5yhJCXvJxgyM73Bb6pyq0jTFJDZ4p1Am1SA6sh8nADd1hAcGBMfq4d%2FUfwnmBqe0Jun1n1LzrgKuZMAnxA3NtCN7Klf4BH%2B14B7ibBmgt0TGUafVzI4uKlpF7v8NmgNjg90D6QE3tbx8AjSAC%2BOA1YJvclyPKgT27QpIEgVYpbPYGBsnyCNrGz9XUsCHkW1QAHgL2STZk12QGqmvAB0NFteERkvBIH7INDsNW9KKaAYyDMdBEMzJiWaJHZALqDxQDWRntumSDPcplyFiI1oDpT8wbwe01AHhW6%2BvAUUBoGhY3CT2tgwehdPqU%2F4Q7ZLYvhRl%2FogOvR9O2%2BwkkPKW5vCTjD2fHRYXONCoIl4Jh1bZY0ZE1O94mMGn%2FdFSWBWzQ%2FVYk%2BGezi46RgiDv3EshoTmMSlioUK6MQEN8qeyK6FRninyX8ZPeUWjjbMJChn0n%2FyJvrq5bh5UcCAcBYSafTFg7p0jDgrXo2QWLb3WpSOET%2FHh4oSadBTvyDo10IufLzxiMLAnbZ1vcUmj3w7BQuIXjEZXifwukVxrGa9j%2BDXfpi12m1RbzYLg9J2wFergEwOxFyD0%2FJstNK06ZN2XdZSGWxcJODpQHOq4iKqjqkJUmPu1VczL5xTGUfCgLEYyNBCCbMBFT%2FcUP6pE%2FmujnHsSDeWxMbhrNilS5MyYR0nJyzanWXBeVcEQrRIhQeJA6Xt4f2eQESNeLwmC10WJVHqwx8SSyrtAAjpGjidcj1E2FYN0LObUcFQhafUKTiGmHWRHGsFCB%2BHEXgrzJEB5bp0QiF8ZHh11nFX8AboTD0PS4O1LqF8XBks2MpjsQnwKHF6HgaKCVLJtcr0XjqFMRGfKv8tmmykhLRzu%2BvqQ02%2BKpJBjaLt9ye1Ab%2BBbEBhy4EVdIJDrL2naV0o4wU8YZ2Lq04FG1mWCKC%2BUwkXOoAjneU%2FxHplMQo2cXUlrVNqJYczgYlaOEczVCs%2FOCgkyvLmTmdaBJc1iBLuKwmr6qtRnhowngsDxhzKFAi02tf8bmET8BO27ovJKF1plJwm3b0JpMh38%2BxsrXXg7U74QUM8ZCIMOpXujHntKdaRtsgyEZl5MClMVMMMZkZLNxH9%2Bb8fH6%2Bb8Lev30A9TuEVj9CqAdmwAAHBPbfOBFEATAPZ2CS0OH1Pj%2F0Q7PFUcC8hDrxESWdfgFRm%2B7vvWbkEppHB4T%2F1ApWnlTIqQwjcPl0VgS1yHSmD0OdsCVST8CQVwuiew1Y%2Bg3QGFjNMzwRB2DSsAk26cmA8lp2wIU4p93AUBiUHFGOxOajAqD7Gm6NezNDjYzwLOaSXRBYcWipTSONHjUDXCY4mMI8XoVCR%2FRrs%2FJLKXgEx%2BqkmeDlFOD1%2FyTQNDClRuiUyKYCllfMiQiyFkmuTz2vLsBNyRW%2Bxz%2B5FElFxWB28VjYIGZ0Yd%2B5wIjkcoMaggxswbT0pCmckRAErbRlIlcOGdBo4djTNO8FAgQ%2BlT6vPS60BwTRSUAM3ddkEAZiwtEyArrkiDRnS7LJ%2B2hwbzd2YDQagSgACpsovmjil5wfPuXq3GuH0CyE7FK3M4FgRaFoIkaodORrPx1%2BJpI9psyNYIFuJogZa0%2F1AhOWdlHQxdAgbwacsHqPZo8u%2FngAH2GmaTdhYnBfSDbBfh8CHq6Bx5bttP2%2BRdM%2BMAaYaZ0Y%2FADkbNCZuAyAVQa2OcXOeICmDn9Q%2FeFkDeFQg5MgHEDXq%2FtVjj%2Bjtd26nhaaolWxs1ixSUgOBwrDhRIGOLyOVk2%2FBc0UxvseQCO2pQ2i%2BKrfhu%2FWeBovNb5dJxQtJRUDv2mCwYVpNl2efQM9xQHnK0JwLYt%2FU0Wf%2BphiA4uw8G91slC832pmOTCAoZXohg1fewCZqLBhkOUBofBWpMPsqg7XEXgPfAlDo2U5WXjtFdS87PIqClCK5nW6adCeXPkUiTGx0emOIDQqw1yFYGHEVx20xKjJVYe0O8iLmnQr3FA9nSIQilUKtJ4ZAdcTm7%2BExseJauyqo30hs%2B1qSW211A1SFAOUgDlCGq7eTIcMAeyZkV1SQJ4j%2Fe1Smbq4HcjqgFbLAGLyKxlMDMgZavK5NAYH19Olz3la%2FQCTiVelFnU6O%2FGCvykqS%2FwZJDhKN9gBtSOp%2F1SP5VRgJcoVj%2Bkmf2wBgv4gjrgARBWiURYx8xENV3bEVUAAWWD3dYDKAIWk5opaCFCMR5ZjJExiCAw7gYiSZ2rkyTce4eNMY3lfGn%2B8p6%2BvBckGlKEXnA6Eota69OxDO9oOsJoy28BXOR0UoXNRaJD5ceKdlWMJlOFzDdZNpc05tkMGQtqeNF2lttZqNco1VtwXgRstLSQ6tSPChgqtGV5h2DcDReIQadaNRR6AsAYKL5gSFsCJMgfsaZ7DpKh8mg8Wz8V7H%2BgDnLuMxaWEIUPevIbClgap4dqmVWSrPgVYCzAoZHIa5z2Ocx1D%2FGvDOEqMOKLrMefWIbSWHZ6jbgA8qVBhYNHpx0P%2BjAgN5TB3haSifDcApp6yymEi6Ij%2FGsEpDYUgcHATJUYDUAmC1SCkJ4cuZXSAP2DEpQsGUjQmKJfJOvlC2x%2FpChkOyLW7KEoMYc5FDC4v2FGqSoRWiLsbPCiyg1U5yiHZVm1XLkHMMZL11%2Fyxyw0UnGig3MFdZklN5FI%2FqiT65T%2BjOXOdO7XbgWurOAZR6Cv9uu1cm5LjkXX4xi6mWn5r5NjBS0gTliHhMZI2WNqSiSphEtiCAwnafS11JhseDGHYQ5%2BbqWiAYiAv6Jsf79%2FVUs4cIl%2Bn6%2BWOjcgB%2F2l5TreoAV2717JzZbQIR0W1cl%2FdEqCy5kJ3ZSIHuU0vBoHooEpiHeQWVkkkOqRX27eD1FWw4BfO9CJDdKoSogQi3hAAwsPRFrN5RbX7bqLdBJ9JYMohWrgJKHSjVl1sy2xAG0E3sNyO0oCbSGOxCNBRRXTXenYKuwAoDLfnDcQaCwehUOIDiHAu5m5hMpKeKM4sIo3vxACakIxKoH2YWF2QM84e6F5C5hJU4g8uxuFOlAYnqtwxmHyNEawLW%2FPhoawJDrGAP0JYWHgAVUByo%2FbGdiv2T2EMg8gsS14%2FrAdzlOYazFE7w4OzxeKiWdm3nSOnQRRKXSlVo8HEAbBfyJMKqoq%2BSCcTSx5NDtbFwNlh8VhjGGDu7JG5%2FTAGAvniQSSUog0pNzTim8Owc6QTuSKSTXlQqwV3eiEnklS3LeSXYPXGK2VgeZBqNcHG6tZHvA3vTINhV0ELuQdp3t1y9%2BogD8Kk%2FW7QoRN1UWPqM4%2BxdygkFDPLoTaumKReKiLWoPHOfY54m3qPx4c%2B4pgY3MRKKbljG8w4wvz8pxk3AqKsy4GMAkAtmRjRMsCxbb4Q2Ds0Ia9ci8cMT6DmsJG00XaHCIS%2Bo3F8YVVeikw13w%2BOEDaCYYhC0ZE54kA4jpjruBr5STWeqQG6M74HHL6TZ3lXrd99ZX%2B%2B7LhNatQaZosuxEf5yRA15S9gPeHskBIq3Gcw81AGb9%2FO53DYi%2F5CsQ51EmEh8Rkg4vOciClpy4d04eYsfr6fyQkBmtD%2BP8sNh6e%2BXYHJXT%2FlkXxT4KXU5F2sGxYyzfniMMQkb9OjDN2C8tRRgTyL7GwozH14PrEUZc6oz05Emne3Ts5EG7WolDmU8OB1LDG3VrpQxp%2BpT0KYV5dGtknU64JhabdqcVQbGZiAxQAnvN1u70y1AnmvOSPgLI6uB4AuDGhmAu3ATkJSw7OtS%2F2ToPjqkaq62%2F7WFG8advGlRRqxB9diP07JrXowKR9tpRa%2BjGJ91zxNTT1h8I2PcSfoUPtd7NejVoH03EUcqSBuFZPkMZhegHyo2ZAITovmm3zAIdGFWxoNNORiMRShgwdYwFzkPw5PA4a5MIIQpmq%2Bnsp3YMuXt%2FGkXxLx%2FP6%2BZJS0lFyz4MunC3eWSGE8xlCQrKvhKUPXr0hjpAN9ZK4PfEDrPMfMbGNWcHDzjA7ngMxTPnT7GMHar%2BgMQQ3NwHCv4zH4BIMYvzsdiERi6gebRmerTsVwZJTRsL8dkZgxgRxmpbgRcud%2BYlCIRpPwHShlUSwuipZnx9QCsEWziVazdDeKSYU5CF7UVPAhLer3CgJOQXl%2Fzh575R5rsrmRnKAzq4POFdgbYBuEviM4%2BLVC15ssLNFghbTtHWerS1hDt5s4qkLUha%2FqpZXhWh1C6lTQAqCNQnaDjS7UGFBC6wTu8yFnKJnExCnAs3Ok9yj5KpfZESQ4lTy5pTGTnkAUpxI%2ByjEldJfSo4y0QhG4i4IwkRFGcjWY8%2BEzgYYJUK7BXQksLxAww%2FYYWBMhJILB9e8ePEJ4OP7z%2B4%2FwOQDl64iOYDp26DaONPxpKtBxq%2FaTzRGarm3VkPYTLJKx6Z%2FMw2YbBGseJhPMwhhNswrIkyvV2BYzrvZbxLpKwcWJhYmFtVZ%2BlPEq91FzVp1HlQY1bZVLqeNR9SAUn6n0E28k%2FUuGkNpP1DBI5ch%2FEehZfjUQ9aE41NhETExoPT2gGQz0IhWJbEOvTQ4wgcXCHHFBhewYUiFHuhRSAUVmEHeCRQHQkXGFwkAgyzREJCVN7TRnTon36Zw3tPhx4EALwNdwDv%2BJ41YSP4B2CQqz0EFgARZ4ESgBHQgROwAVn9GTI%2BHYexTUevLUeta4%2FDqKrbMVS%2BYqb8hUwYCrlgKtmAq1YCrFgKrd4qpXiqZcKn1oqdWipjYKpWwVPVYqW6xUpVipKqFR3QKjagVEtAqHpxUMTitsnFaJOKx2cVhswq35RVpyiq9lFVNIKnOQVMkgqtYxVNxiqQjFS7GKlSIVIsQqPIhUWwioigFQ%2B%2BKkN8VHr49HDw9Ebo9EDo9DTo9Crg9BDg9%2FWx7gWx7YWwlobYrOGxWPNisAaAHEyALpkAVDIAeWAArsABVXACYuAD5cAF6wAKFQAQqgAbVAAsoAAlQAUaYAfkwAvogBWQACOgAD9AAHSAAKT4GUdMiOvFngBTwCn2AZ7Dv6B6k%2F90B8%2ByRnkV144AIBoAMTQATGgAjNAA4YABgwABZgB%2FmQCwyAVlwCguASlwCEuAQFwB4uAMlwBYuAJlQAUVAAhUD2KgdpUDaJgaRMDFJgX5MC1JgWJEAokQCWRAHxEAWkQBMRADpEAMkQAYROAEecC484DRpwBDTnwNOdw05tjTmiNOYwtswhYFwLA7BYG4LA2BYGOLAwRYFuLAsxYFQJAohIEyJAMwkAwiQC0JAJgkAeiQBkJAFokAPCQA0JABwcD4Dgc4cDdDgaYcDIDgYgUC6CgWgUClCgUYUAVBQBOFAEYMALgwAgDA9QYAdIn8AZzeBB2L5EcWrenUT1KXienEsuJJ7x5U8XlTjc1NVzUyXFTGb1LlpUtWlTDIjqwE4LsagowoCi2gJLKAkpoBgJQNpAIhNqaEoneI6kiiqQ6Go%2Fn6j0cS%2Ba2gEU8gIHJ%2BBwfgZX4GL%2BBd%2FgW34FZ%2BBS%2FgUH4FN6BTegTvoEv6BJegRnYEF2A79gOvYDl2BdEjCkqkGtwXp0LNToIskOTXzh%2FF062yJ7AAAAEDAWAAABWhJ%2BKPEIJgBFxMVP7w2QJBGHASQnOBKXKFIdUK4igKA9IEaYJg%29%20format%28%27embedded%2Dopentype%27%29%2Curl%28data%3Aapplication%2Ffont%2Dwoff%3Bbase64%2Cd09GRgABAAAAAFuAAA8AAAAAsVwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABWAAAABwAAAAcbSqX3EdERUYAAAF0AAAAHwAAACABRAAET1MvMgAAAZQAAABFAAAAYGe5a4ljbWFwAAAB3AAAAsAAAAZy2q3jgWN2dCAAAAScAAAABAAAAAQAKAL4Z2FzcAAABKAAAAAIAAAACP%2F%2FAANnbHlmAAAEqAAATRcAAJSkfV3Cb2hlYWQAAFHAAAAANAAAADYFTS%2FYaGhlYQAAUfQAAAAcAAAAJApEBBFobXR4AABSEAAAAU8AAAN00scgYGxvY2EAAFNgAAACJwAAAjBv%2B5XObWF4cAAAVYgAAAAgAAAAIAFqANhuYW1lAABVqAAAAZ4AAAOisyygm3Bvc3QAAFdIAAAELQAACtG6o%2BU1d2ViZgAAW3gAAAAGAAAABsMYVFAAAAABAAAAAMw9os8AAAAA0HaBdQAAAADQdnOXeNpjYGRgYOADYgkGEGBiYGRgZBQDkixgHgMABUgASgB42mNgZulmnMDAysDCzMN0gYGBIQpCMy5hMGLaAeQDpRCACYkd6h3ux%2BDAoPD%2FP%2FOB%2FwJAdSIM1UBhRiQlCgyMADGWCwwAAAB42u2UP2hTQRzHf5ekaVPExv6JjW3fvTQ0sa3QLA5xylBLgyBx0gzSWEUaXbIoBBQyCQGHLqXUqYNdtIIgIg5FHJxEtwqtpbnfaV1E1KFaSvX5vVwGEbW6OPngk8%2FvvXfv7pt3v4SImojIDw6BViKxRgIVBaZwVdSv%2BxvXA%2BIuzqcog2cOkkvDNE8Lbqs74k64i%2B5Sf3u8Z2AnIRLbyVCyTflVSEXVoEqrrMqrgiqqsqqqWQ5xlAc5zWOc5TwXucxVnuE5HdQhHdFRHdNJndZZndeFLc%2FzsKJLQ%2FWV6BcrCdWkwspVKZVROaw0qUqqoqZZcJhdTnGGxznHBS5xhad5VhNWCuturBTXKZ3RObuS98pb9c57k6ql9rp2v1as5deb1r6s9q1GV2IrHSt73T631424YXzjgPwqt%2BRn%2BVG%2BlRvyirwsS%2FKCPCfPytPypDwhj8mjctRZd9acF86y89x55jxxHjkPnXstXfbt%2FpNjj%2FnwXW%2BcHa6%2FSYvZ7yEwbDYazDcIgoUGzY3h2HtqgUcs1AFPWKgTXrRQF7xkoQhRf7uF9hPFeyzUTTSwY6EoUUJY6AC8bSGMS4Ys1Au3WaiPSGGsMtkdGH2rzJgYHAaYjxIwQqtB1CnYkEZ9BM6ALOpROAfyqI%2FDBQudgidBETXuqRIooz4DV0AV9UV4GsyivkTEyMMmw1UYGdhkuAYjA5sMGMvIwCbDDRgZeAz1TXgcmDy3YeRhk%2BcOjCxsMjyAkYFNhscwMrDJ8BQ2886gXoaRhedQvyTSkDZ7uA6HLLQBI5vGntAbGHugTc53cMxC7%2BE4SKL%2BACOzNpk3YWTWJid%2BiRo5NXIKM3fBItAPW55FdJLY3FeHBDr90606JCIU9Jk%2BMs3%2FY%2F8L8jUq3y79bJ%2F0%2F%2BROoP4v9v%2F4%2Fmj%2Bi7HBXUd0%2FelU6IHfHt8Aj9EPGAAoAvgAAAAB%2F%2F8AAnjaxb0JfBvVtTA%2BdxaN1hltI1m2ZVuSJVneLVlSHCdy9oTEWchqtrBEJRAgCYEsQNhC2EsbWmpI2dqkQBoSYgKlpaQthVL0yusrpW77aEubfq%2Fly%2BujvJampSTW5Dvnzmi1E%2Bjr%2F%2F3%2BXmbu3Llz77nnbuece865DMu0MAy5jGtiOEZkOp8lTNeUwyLP%2FDH%2BrEH41ZTDHAtB5lkOowWMPiwayNiUwwTjE46AI5xwhFrINPXYn%2F7ENY0dbWHfZAiTZbL8ID%2FInAd5xz2NpIH4STpDGonHIJNE3OP1KG4ISaSNeBuITAyRLgIxoiEUhFAnmUpEiXSRSGqAQEw0kuyFUIb0k2gnGSApyBFi0il2SI5YLGb5MdFjXCey4mNHzQ7WwLGEdZiPPgYR64we8THZHAt%2BwnT84D%2Fx8YTpGPgheKH4CMEDVF9xBOIeP3EbQgGH29BGgpGkIxCMTCW9qUTA0Zsir%2BQUP1mt%2BP2KusevwIO6Bx%2FIaj8%2FOD5O0VNrZW2EsqZBWbO1skRiEKE0DdlKKaSVO5VAuRpqk8VQJAqY7ydxaK44YJvrO2EWjOoDBoFYzQbDNkON%2BUbiKoRkywMWWf1j4bEY2iIY1AeMgvmEz%2FkVo9v4FSc%2FaMZMrFbjl4zWLL0%2BY5FlyzNlEVYDudJohg8gPUP7kcB%2Fmn%2BG6cd%2B5PV4Q72dXCgocWJADBgUuDTwiXiGSyZo14HOEQ2lE6k0XDIEusexDzZOMXwt1Dutz%2BtqmxTvlskNWXXUQIbhaurum9GrePqm9Yaeabjkiqf%2BbUvzDOvb2Y1E%2BEX2DnemcTP%2FzLcuu7xjQXdAtjR0Lo5n4%2FHs%2FGtntMlysHt%2B29NXbH6se%2F%2FWbFcyu%2Br28H0MwzI30DYeYTLMXIA2EG8QlHpAsyS0EfEToR0a3utIxFPJ3kiIHCCrZ66b0e2xEmL1dM9YN%2FMwS5p01N5jMX%2FBLKt%2F1R83l0LyC29M6%2BiYxo%2FUNg%2FEF7c2WyyW5tYl8WnhWg2%2FhyySbD5UhnDyS7OcU0dnrFw%2BDfGdI7v4QfYIIzOMq9hFtY55gmvC7jZ2FK7sEdrn6IXBuucYhjsGdQ8z0yEbWkkczjjsE5hNAIZrPx2zOLZDmKNXcXtg7EMqidAEEWg%2BSJCBBNwxvxJfc%2FbZa%2BKKf%2BxoKZybnq5vaqpPTye7CiF%2BZFjxZ8%2F7Qij0hfOG%2FcowPA1rT1l4ymWnrKmxxqfErTVrpgwPlz1kC%2BOy8NMDz6c%2BIO38K%2Fx0xkPnLW8Kx6qGAoQdL%2BTD9V9rb%2B%2Fctn%2F%2Ftrxz8dUrZrD%2Fzk%2FferF0cNt1BzctmX2FZPXt%2FjnFCQNz4Ah%2FiKllGiCMs1w5Lkg0kiEwj6VTXCDKsX9rMpnvIj9pcDecXAIXMnqn2dTUbN6w0XQ9ue6FV%2FnnXCH7S3lPWGltVcLsH75ub3ab7A8M28caNrIeOr3o5Q0yFsYL80xaa0EY%2FUEczV7icUMY5pnelAkmUAXmHYjvFWFGxuqlSaow3OM%2B%2FiYY7%2Fl%2FhVELF4EjRqNR%2FbvRbOY%2BDUGzGR%2FOh3EqmE%2FugIQQguGt%2FeMYz%2F%2BL0cimjeZfQDI3phXMbMQsqH%2BCjwVz%2Fhf4idHovgVmB8gLvjbicDcC%2FNypP536E%2F9N%2FpuMibExdohBmNwyiaZdJGoigos7GpF222xrfnZhML%2F7Z%2BylaqP63Hr%2Bm7bdUkQ6%2F2cXqdfmvwixY%2Bs2ksXFeXcE%2BiX0Z%2BIow76DBNgjJ7TOdUK18iPsPflfQD%2BDPsZG2Aj9VmKMMJ4fYRrhIaxhTDR0Elh2vA6h%2FAE6xUb29mj3sjmL72petXjejPy%2Boel60M99tFduCI59N3221xe7apOvxs6aHs7vab1IqY2tv7q2xsHeHGml%2FcV06u%2F8S%2FxTjJ%2BJYc0bWEX0ukW6YmIbGkJRMdjJ9mYIH5QIdJF4hvRGyK7cC7ctImQRcUET99fGXOoft35GYLMQu%2Bg2smnkgZUrH8AL%2F9Si217IssJ916nv14ZrJrvdxLkQvrvtBcjgPC0NXOicO8Qf4mcxPqh3hgUw3DDfdvLJXngg7N3dN2zbPJSaed3OfZnMU7dvmznp3C3bruO%2BNmue0LFsy7S%2B6265%2BfCKFYdvvuW6vmlblnUI8xCXp37CrOZv4B9gauDBlYp7adcUXB5DNCwYImlXOJJKkAdvExXxVvKEYnCo%2B3eIskP9qrrfIYs71CccBjfXRC52udTHHdaP1A1ui%2FVvH1otbrLrpNXBsGX5B89QghDyimlvNB2KfkxZ5C9%2Fem3%2Bd1%2Bd%2F%2FIfFp2%2B2Oxn%2Fs%2B9n%2F79p39S3s8idN6g0yZObwJOgKUpNB3GyU0Ls0PbRzIRq4lcarLKOJBkLRzJQD4j2090XrbA7DW8K3jNF5hlGS5e4V2D17zgss4T20egOJte5iD0bReM9yjTxnQxCRj3c5kFzGJmGbNKmwGw39IJDJcXJZGMkaAB4jyJAKw0jt5IAuIE%2BA%2BU3cVAZZrq9zhDyBrU8oosuxcGNTzCKJfla7JjNVmuSb%2F%2BtuzN2H%2BX4vlB%2BPpdfMXXmuVsNiub1T34SFbjYw5itEvVi0K0Nt9pNJUMI7SLGRhf2xipfCYf8z5OdlGKayOucFeVPeS%2Fdbo3lBrbSMmwUiQN5%2Fed7g0Ds1s17IuZC5kNzM3MZ6EWCa0DtekdJfAxz%2BR%2FOX28sND7yRMTBcf%2B%2Bs8mQCQWHya4qBv%2FufeMoWyslPA9DtMxUknxkH%2FyfTnm2CMYzs%2BCq3r7PxY%2FMXomrvTEsRpfEGHa%2BWN8E1AHjElb7d06ddA7oK%2F%2B5Mdsv9EtPms0jv0Z5kf1FqPxWdFtfFr0kHfgDX0Y%2B5PRSG7RUj0tQr7rmfX8DH4G5W28kKeJLtmQsQkuwMP1pk16EV4sl7vrMJATfyUWo%2FGwEco4rh4XFQgaiUX9qxZHrMQqKnz%2Fc2d8b9TysYrAuXpP%2FRf%2FGr8b1qwwc5a%2BeuLa6S6sneNXToG2XrEJi4R5SGs8Sq2S3d97bsfCRaTdaLwKClRHt37mkudvXbjwVrLhuYeGhh56bvfQkHpk2CwvwClqgWwuBfndC3c8dwmstj81KkagcUgbfPY8Zje0W%2F82VPWJHmSq6pP8hPWpotc%2FEexDOK3qU%2BwngPhOCiO9MJRm8TJefjelrzoKnG2Bn%2B1NCUmPE4gHFmBN9jrTigRIpsACrc9Gstg58ULkp9467%2BGf%2FeFnD5%2F31lNrt2967dhrm7bzI%2BVT5m%2BfzKhvf2MzpICEm79Bopkn07lt1762adNr127LwVqQLdJ5%2BlpQDcvHPQtVY5knhYrK6q8%2FJsiP6EuhGZdFdaNszjvpqvc%2BPI0CdjN0AXsFOC3ZfALDJwr4q2Xq%2BGF%2BGNbsxUg5NLLIEXi8otcDQcUts0D8eQ1iVDRAMBTsYiNdRIxE09EIBJO9A2xqgERTaW86BUFn0OD2xFO97FAgFhF6OoQ7prYt4XwSeUgQHiJyDbeke9IdQntciLQ1FlJMaYcUNvZBg%2BFB1ubjlnRNvl3o6IEU2w7fdNPhm%2Fhh%2BFLysUu6%2B%2BDLHkOkrSHYEjH0tEPe7WdD3uyDgvAgK%2Fm4szFFR7ch0toUgBTdWHr7EpaWru6%2B6dmbbnqWEbV2EtxAsXiZAPTtGPSbHsotI2leoM8TePEqgSQprs7AGFf8kuOkPdZPXGb55POAW1d%2FjLST9v5YflasP6v%2FCO7%2BGNAPC2BMZWmsOjp2NNbfHwMCJD%2BLPVL%2BD%2FOYlWEEI%2F9jpPddOFkB5d1GSuKZYggmCCd7JUxD7EXAzxyirYnNDLdDZoFdx14kivkvGc3579Jm36reTTvDgBnaO6vzyQ6chQmlsMoIkIQ2%2BbBDWBud1Va4pcCn8CPqxlh%2FfgtG8IPaPH8C5wk6%2FnZDv69jurV5QhtwE0x2iqOsj9Mx8B9%2F0EaUdiPfOYYDCi%2Fq9jhWRuupMDEU0%2BCtX0sDFxv07T%2FK5niBPqN9%2BtQjgEc31NGCXFeMcCEuQBIc%2FBK4CO78u7EPYvl3yaEfK3vcb6qP1R2tI7vUjVDDUdKubsSrNjYKY1qBEa2P50SJoaXiksIoLiCwnxS6EBuBde87botNfdEWwYvF%2FR0%2Fu5yCqhGeEOR2ynSeyXjt6ka7neyye8kryBSWE52y%2BRBgogrXPZ8E1yIHoHIFUM%2BAbJhE7lbMtt8ApL%2BxmZW7PwbjAO0fAVoXQOuiSP%2FksIVdFZ0aulsamKUzwPZ%2FNYDMJRBPCxsBqLzqHyneXF6Ej9HlIFo7%2Bpg%2BjUb3unRmGpstGkm6etOuDBGA5wCMefp1gTHcdZlvPBXlOslvYTp1cd8UjYLVd%2FJ5awNrIOKLnIt9MD9qdrKrWCvA6ALm3QV9VrsPm60Q7%2BRHJHP%2B2hqfugo%2FMvI2H%2Fmqr4b9tFnKSRY1Y5Ek80Nm%2FWIhr1ikKnxGz9TWXrokf9xwujfvcOTtNTWnxd0F37Y2W79tteBqZ4G5qLCuomw%2BnSr28QESCRVLTyYKILGJOPfcnaIFOsewhRdvv%2BrWa%2FWih0vlbX6Zb75T5C0qNKVFvH1QL%2FvazSWgC2s6oWXXIuUxQelKiJbowuJDQViatLmLijg9CQBMg8WiPgiw3LEeYRmm5f%2BXdnvkDnxLLjMLxtvX74C3OlwPQqx4xwIdpPx38LrlDphiyWUWHWKAzzxurS%2FxTo%2BP5wGFak62ap1PVFFN4v%2Fy%2BxuR39WnIO7lsWfwgVsK17wxrs9K8ltIKuhkw7f%2F6dhK6gQokFKhWX3urrjk%2FrnI0pgfpGMeuQIUaEM7%2BGF5q2iMkCaMQwxxOzcvU0eXbsnS9XknXvP7Gtw5dwPXlFu2ecvSHEZgNDsU6x%2FGdXBYXyOQjzZReSedeEPY6nEv9gJR4oBQJtFO6Kd0fwC6BO4LNHDeBujB6dSNcUQC9zIv2LnAzGk99bUDrdFY%2B9yGFQtEo0GQPNv6vS2drj4%2B1jHbv3aJSMUWP%2BQTZrmbNTjU8wyG%2FiXNNpskybLcJ3CiTF5Ir%2BJYzmJwE0mSVhlxbtbmvweB3ulB6Til5UuUZydpgiFVeobhU0WaBqpJ198d%2B%2FXeNRTZ9%2F1OPfG7%2B2hwzd5W3D%2BhmyjsRcUg%2F%2BCavb%2B%2BVh2ls3L7zT%2FetOnHNxeerv313vzLVqPai4nJv%2BK1FC6040%2F4udw7sAb3laSg0XCkAAs0npBO6VJabS4Elk%2FU%2BD4gTXW%2Bj0wnrMlqNamq4tMIYB87tE10i0FR3LZNhJsb7%2FR561btmes8YBCRkhYNByRtKd55mqTas9FYhJnbRGHuOh3M4QTdgQSqmgRxuzGdSvZGcbMxNQGk5C3ebLjoXIOFM4l%2BWKHmLTJwRv9E8GWJ6dYvf%2FFmEyEGr%2Bgyrr1p5zrgkz0Cw2j94Hv8Jdx7dIVegBSNtgsqGsRQEYiIBoXwD0LNvQ5d7s5Z00QzwNhqZA0b%2BtMG1tQq5nd84uq8R0zPvX35G8uRaze4jcOHzz0w1%2BQ2BIRvf6J6Kgatnrbiem%2BCFvAxfkrndzD9MFPP1GWTUHclpASUkCNAQkpCCcCgDSUDAhDZ%2BCuEkgn8J7i9nMA7pA4lISappxILKfAeSAbIcSDuN2bJcfZILqeO5rLs0MnngSHYRdrHjmaz7JEsEPw51ZqDJDmUIOZIe34WaQeegNsJn1qz8AIpT3yCjyEih%2FxELkuJ0lEMYTLVCiWpo5oYMleMH6USyYJcD%2BuOe%2BkWKpn1Qns34iyYDjkSLvgnZXcgVQNeqINXr48m3iS7cjm8tedyY0f1QvTnHHdsrKby%2F%2BSSbPY8%2FNH6vpl%2FEsq3Ae4ZU1HC44KFiI9o7CEgab%2FRqHbj7s5KAg06s39ZP%2FzxI%2FmVuF%2FTbTSy%2B3Fb8If9%2Fcv7%2Bwt91yy8RfP1QXtW5RzQn7qIiZyuFM5QfJ5E9uVnqT85TanFx0lkP3ukBAMprvsRyi%2FC8NAJL1xbIIirSvnSj4O5netb4JxmNANHPssHAcHMHsFRgEug816gDBeMbdfiuRcghqYcm0%2BXxx%2F5IAEtN3fqFF3LzAXqwoT0PN0OVTNqxo8sxMkd5Ig6k79Zk7VxxX6gMLOZFQgvpW2RrMW1D0BDihaXQ9wVRoBxPLfpknmkeMtoB%2FqM9cRc9IqmMD2XUmdZ7GSRKPUZvChf8BoykriM2MnKYbOHX8R7cLdNCxSFFVQqoYswnlWtlFS2mNkhswVpZiQW1J%2FUKFfipHGlUkM6UKBhMz1istELIHJLMSctu3ugzfaVSOjKvUgc%2FTHK4Sdg2Wscz69leKIkkrwuuWiOe9yGYKQXRumkC3qbRcMwrvhjNXgdZk3RxAUEhuSPvn3nnd%2B%2BU%2F3vlVOmrJzCD8JLxV1OHRjrZifbcFDOuRNTGqdgQm1tSNJ2OcQ04YiEXuxtII1ECSQRoQGYioEsgCfchB4ghAtw7FfJre4WZ9hkVi9MtjuWqtdNDlpMrfEG9fOT6q21okg%2Be4As38MfGquNt7oUws6Ysarj1%2FefE%2Byst86YUVNvDdts3Pv5c8m%2FaP0C%2Bf8%2FQb%2BIMnGq09BgwN01oIOAnAdagI8mBSrqk1gxTDUBOtk2ousEtBH2z4Ir2d3f6k8PXXVlt2qN9RODxRuoJT%2Fv27wm09jRYVc%2Fe%2B%2Biyx2tyzJb%2Fn3J0htXP87eSsQaf2Ly0s6Zmxela88REy1cf4273mI3iXNJ7KxrZibOm9xm6rl4fqy%2Ft27smU8tOfdW2ucBzg2UfmOIVyLIl3kpYlwphDISTXJXsctmiDtN7fNV6zelgxwnWxsVr83Aj%2FS5ki1jL%2Fa0GC6%2B2L6Um%2BaoddlNFuj%2BbJ8mH%2FiaLh8I0%2FU51NspIEfq0dohwyFXKgm4NggwQ4rRhCOUFtxxo8XnitT4cnGfT93IS8FaT85XE3H5LMY4zIEPL1hw443wz%2B1UmhTJyJGxZzw%2BwsKkKZgUiVtKOKMEb2AKHTv61FNc01PQFwKnvsZ%2F9pPA4RKTASWahmh%2B8MxwzHxKy74IRn5LGRjsPUUwTu64UYNY38caqd7HKucZ%2FtHnODtENw%2F2UfHRMaq1UUPDJQ0OKkWCeet5fYOhII1VRz8%2B%2FElg5j4Gxur3J8o2PJ4rg%2B2d08T%2FfwEzSVbyZ9XPro95T477lRKqUSRXQnauHNsISAl27oWi6Fv9z48JMv8r%2FaMMj8onCP%2FDuDZOuN%2BGPPr%2F%2Bp7bx%2B7JlbYdppcNhzKU%2F1Px5aiaGDn%2Fs1iGMaBcleKUo%2Fv9rcxkZj7DBEKOfrayytXNLYiUdBY%2BpleQXdnscKlQcpzuWluxsieeyuXIK6SdxozitWyGOV3vOHHjguyCQ6fpIYy2JwvrQEF%2FQa9Pdf%2FQqOSqCiE%2FEE1%2FXIVKTc2tzWbHnimrEd%2BVyz311Ml3P0GVTj7PD5aDnsvCvH36alEaPMePcMegXs7x8igTu4B9v7G9vTHvhCu%2FkzIdx%2BBxC0ay9zRSvoS0F2lIxI%2BX7klU63I40gLQ3w5ep5na%2BSFnba3z5D64zv%2BQtM4n4ffG3tq4aNHGRfxgrXPMim%2B5487abL7xhdseIRn1KDl%2B7aINixdv0OD%2BJSPwKf5%2BxoP6aiTeQIDVlIhMcL1H5R9PYXvprs3fv2bO7MOplCmweuiq2JRZ1zz%2B9a%2Fv2PH1Hfz9236w%2BZrPXvWfAxlj4NLLHpq3c%2FPQ3uvmvbrjG7fe%2Bo2y%2FcLdtE6VUlXi0ASb1VLUBVSUWSU4HdvAraTyS8xzM8NxvxFkXV6pUVRiJwcgC5zEeht4rwcp7ki0k41G0qlQhG1Vzlq8alEmnFi58caB5Q9vn988MLhqyVlHvLEWjtQFeupdiocF%2FtkkOGPW2ibWaBTkeZ%2FdvPWazXfOnnvL6jkRXpi85sFzZt%2B55ZptW3bl1cCCHZPD06MhySha7UFzjcjbp8fOecFCirzAG%2FyVjBX6OFIaadSjQq1nNhyIe8tVbaaSdHlXIWKacMeuZA1uxS95zILhyrxAdsXTL6m7kNQlx2P9uZf2qhufePFFbpI6%2FOU0WcP99RrCsrwseVot5mtytpf6Y0gm9sdeyKnPQ7onyK4nXlR%2Frg7H95M1upzu89DH6pgUcikoiihJ6NJKmRxV1x%2BMJiOA3YwhDRQrWU0u%2F0rvq0VYXnyCwsLeTJYBq3dAtJDavuzyoVpzZ99Z0%2Ba0uoiFH%2FxcqgDR7rUFeOrUn6Cywb8ZeNMbhLV5ugP9l0zv9UN5b5mFkjzxUcpPJCn3V402pRxtJd2GrnLdhtVk9ZSZh9W91fCSH5B7ofxPiWL%2Bj3D%2FuwhBRdyAyozeZwvQzs79soi%2BBKSnafLviZCcfrpBpLyimfLfTyJtbyruIQKD01tUwJyKEo%2FybaxkSNFUMdMkhQoJyRBQFhnUkDQSXhTM%2B3NmY0EDM7ffLIjqWEGt8lCO6mLia3PukFnghosJD5p5SIho%2FVDkzQfLE%2BIrYoJXkD19pdP7OwG%2FvoIUtagiWiZ4PAFTHHlTVhRZ7dYmPar%2BNJ%2B8JhmR6DFK5DV1foHoLNO%2FpHrvZfmWZ15RQlwvoVDKhCWNK3CCch9lfFBuAqUgpFSShmNaPj%2Bi5%2B%2BWZfKeViJfW5HnUakVL4UCNVkA4%2BETfIqx4B5xSaP2L1yn0zn2ltPn4%2BOqZGmwwEVCaCSqG53ldtL1oLGAhdMLd09MpCCF6tD6ZnAZBY9hDaYsP0jzZ0j5ZjKsF4i1UmLuhbJMCnYJPt5VwFNvmZawXjEvLJqIH8STonZjq7BZ8gKgR20C9MDFqJAX1H64QW2NEup6qgzLP8cvppL%2FNNTOBTCJABOHeWoXzLhw4Wuy7gaBtjKr9kgKq8ZlRYBS32Lpxc8vIhpNDTfyNXWybMJbn2RyQ5EmWc2QF9wmSZ0KYCE%2BcPuYO6b15Uotj2Kd4MItLS7gtFbkTdrFND6pvEZqv5Yv7jXAus7Pg7avo7KDot50NX3CPkP%2BKps8J9%2F3mGQIteY%2FLGPC%2BL7872SPR2br5fy8MtKBMHedGuM28%2FMZmPJMrGgi3Gb1S%2BSi1%2FL%2FzrZwO9XH1ce%2Fz7ZQ1WSoY%2F%2BpMb5FT4ua0Wm%2BJf%2F298nFmChEQ%2BTi71est4mq9VYI6RsymoRJKYidElT2FGnDTZvqtfhGAFTbeqEw68GqtfmbVa%2F1IFO1%2FjdWr%2F8BDRRtQh9XNjubEm4aWVpVonpTGR7PVGc%2BKJNoBIWF7kYi4gUV3r1U6723i6TxUl3n3%2FtM27aZfKb7THiHW9VzFSwHJ05VfK6Ar7kaB0XgPPE0BSkSFKsBUpaLihEWoA9wBt8qirh2VSOkZwXEwyrxZ5jyt2rJmSo9gX7cg6jsEUGJU9z9xJPOEM3uQQxKgkh35DNATnVyrmJ3mbCNyIB%2Fyox4wH1bg2DwN7q9kov4pFqny8oSm3RQbGgJ1QQTs6ZMLilOVYJ9v6Wha3HcJ9jddsXp9YhGUXLXt%2FqMDnvLpPNTXfNa60z5%2FyjXQOMq%2BlNmwh5egpYrdfZQZV9rI47xlRkuyTjpzsmCBSWNkAXVoK8sgYWqQJWbo1RLo6QH0YW6pxqfCnRgkd%2BRiFjUQUQ7poIaYoakgXxwFd9BuuI38H1xBxXSFb%2FpBDIKQFn7YB3dB36l7sG1FLaKiBdp1KxLvfswap%2F30lnVESgNnvjbUoT6w9N%2BXoio0qcYOIM%2Bheg940YimsucQVvli9NEcft2UZwGQwLuilj1fFr1i3NP94X%2BPE7Hpvtj6lBJfJ4R6NvWiaL6MgzWHxiN66DExa%2BdAdAbMYX6HVF8A%2B7rjEZIXAVbDe7PVI9rmN69JOLV1DOSvRPxWNPZBZf%2FNf%2BNy65BhYxxxV%2B77XJ2wfQ389%2FIQPgajXbwMsuAz%2F0IaQcXJavKbRqR2IqyZruXjVC2%2Bhdee%2F5vdnYOedpmVtR3NGXldxSzDSIiBVpkGb9by89UpEPKrSLZmyFDzMab%2FwXl2CNe7s%2FqCtTvWgG5kpBmCBlSzDS%2Fr8N4uwBwohRW63JTS1y32f0TQsPfXVGEHQrV8%2FNCfiOUVirYcBbIeA2%2BiF68rQIo3B%2FS628vYESr79ehzS7Q9LEL9UXmik9XVHb1yBO3Ngvt5935%2Bk1efkV51mzzrM0LL3%2F20avnwMeKuWyOUZg2TasSqZ%2BKcZQiOn1Iu2Vh497ALUVZiCKt%2Fgh6IvTIj1ZLRjWAkpHKOKovNwp00eqPROiAbiNEKieXwMLcXhVJ1%2FuzmLP4tfxaHR59cBdJVG1kTAgl9ze9QKUEQ946Hkb%2BokJ5JRDyf54Axur1D%2BWS49cLr0tTPEu7UmXrxcSr3XNvumv4yXzInXKH4F7Tc7p17Zt%2Bt%2FqW2%2B93k063X7VW6lALxTY7i1nBXMxcxmzQbabxz%2BtJo%2BwijYaIGMNS8AoSMgAPt84DdHOoMPfjXhF%2BkuH1tZvuFQrRCN07xGcXRX9MYxYchDe5BcHj%2BZ4i%2B42WyPc8Xofi7bbZJN5nJLJ5qr6IqRtzqNlM17SpFsnkEyTWoABEjz4JXOQvzWYuwdnV5LNGOwTM5v9r4RpQ8ZXsYodks3o31JBlzbYtNotisnm22MxiwGFXam5oN1n0TA%2FhRvshvTSDwHff4nNzRo9Dum6PaJbMXzDz%2Bx%2BFkj4L4bFNBb1asqsgH7Dyh4DvbkPtf5yMDKzEwyoaESMSNS9P9gJVA3%2FRTlwoMwZvxECFWxIPNw9gi01nOHjP32esZTtmXHnxvZd8ZtakqQ7ekajbXetpNa6ocTVxJtY%2BuSe69OLz77zh5bDR3xjZMzUz6fxrz1nqrZGcHQHfPVefN%2BfiK86LeXj%2BSc5lPKy%2Bk%2FvCUI%2FDaLFYCWHr6nbXuILTIsb5imNKY%2FrCm28fSMxPhkN1XbNMNZGuqwOBhtTSxWuTk6bw0ZaG86b1hKddePOKuBvmiguYBn4T%2FyOqOyGRBt7bKUI1GjioBC8aUKwF7Q319UgcmtFGIzCJGBqwQij0ynDsfdFGc3TS3BlNfJ25xmzniMkpXXTPvCaD3ZaZvyzjmZdudBostmhb0ORZNN2sJBeed1HXkrUsywueQH%2BL0eCPxmsa5ZpgRJSDZ11yDv%2Bjmbd86vxZfc1WcZJ3UkMq1BOOOVtvu%2F%2BpB%2Ben186d3GTwWAw2jheaJs09%2F%2BLNfZft37DALyrNj1wABMuUKbODyTVnT%2FKYbJ3Tpq8IrNh92dkxOj5P%2FYpZx4%2FycyiVcDYdn4JbEoKdQi9054iBKsygLW46FRGxAb0NPNCm8BSNCPjoKcj6EAus4SuP3rB%2BcV99%2FeTF6294dA8%2BTK6v74MHVpYNRt%2FI30e8QGTOOdfGWzzxcy%2B87a7bLjw37rHw1nPzp0KyyRSeZO%2BQQhInt3dYgvycjrPOv%2BT8s1rptaP84VeywdWX2T4ysr0%2F7TLIs6%2Bx9zib56ye1dM9e%2FXsZmePY3NDs9zlnNVt4%2BWgHJbbz3Livg4P9WWgviOMm4kCRT6I8vw0NbUUEnFvOuFKoxQW1gTsvFirsF5pb7qTUCx4i7VmtToveaDxvK9uOaedVvPRpVOnNz0Q6bry7uiSdQ8t7Vy4JQKVS%2BXPplV2ts4bvCwZu%2BKzgITtxepaPRzWdpv74muvv6RO0SorX6cu%2FdqKn%2FXWnrtp%2FZragz13DUCl5myiFW2Ycvb0PtsXnU%2Btx8pvLFbUspLX68mdegwmOif%2FNPDONajTGoUh6tU56HBJCTBASVvNUB5VIiKpc9kd7kludodSFz7xQbiOmMk5dOYk56gzL6uaf7N8a6MQOHm0ae6snZpFDfuT3%2FjdYzjzwkXXIVHoXNuCfQslQZqBZjTsoHMqrkE4jaYdgkGz2ATOgB3cPkSukD01DnV3ttb1wx%2B6arPqbkcNAHoFPzKUUQ%2BqL0k97pjbZv1I%2FegC9zTFbrrlFpNdmea%2BgIgfWW3wqkcis8ky5FAcRd1If5nNZrl2FFpungc8wpoCl1BpQV%2FScS%2BzjlASyUTVv%2FAJ46gkJI4bHX4lTnloctxPZE1ckS3%2BjG2fKIjkQFyzuo8jvYQG1OrGvJPSTu%2FnSp9PHNTl4z5hK%2F8gtXVKF6gEKiglgcKiRlCESsQCV5QIlKWKpr34lt%2FwkSx%2FJCmP5%2FcBKQfl%2F5gd%2BrOS%2F%2Bp91%2F%2BYCg5CXK2W4M9fu%2B%2F6xxX%2BvnelVuldIDCG0VQTpU9Dw4pRfei%2B6zWx0MLie0gPbyrkmRU7OwT16JGeyXLHqOLqAfVN1GPlBzWtFNzj0TRTCjogtP1NjIvu5habN5Aoa1k66wGpqriVetJgiGdwDZtKhnN0y4n9sXYnsqGmZfDSR15%2B5NLBlhoDaedEm7sxmpqRija6ZEEg2EAnTiAC8IrmFbGz1q08P9PSkjl%2F5bqzYqT9hMmptEXDgTqP3Wiye%2BsD4Wir4jCeoHbbp5hRfpB7BakUIppIlPCD30dR1GtslDz8OsqbXmejFC%2Fv8wu5X2myq7SJ8Avzv9DFUJySf5uNvq4%2BTi7W9D%2FOZrLChdwxmPNiBRqVjnpK%2FaGxRCDspVYKAW9AN1JANoo8wP4BJUlGqdgw6m1qPQ2QW3%2BOfU5%2FieLS%2FNuKpDU3uf8bcAXyBal5jMR2NEAbPAZt0K3hvxHBEDlUxfIGcD%2BN2gNSNx36nfqlAYow0puatNpRz0e4W2oahKzQHsjf2c16ad%2F3t2KTtPobnX6D8C8pd0MDP%2BKx7wnXqGGlLQcvikMErm6TmfsuxJXbSAxqNjOogJLQBLiKEHAE%2BJGTS3JoEhTrz8%2FCB%2B5YlupJ58aOat8Kv4JvregxwcU5Cp8GFAFm1FyOfto6GS2m1NGTS6CPNKkbsTdCBlnN9onMho55BX8IJZtEQ35lk%2BhtwN5A0V3RCPoD%2FyXAcv6pAtbZczRUA64JmcUf4q7Q89ZHLeJVZ5D1Ps%2Ft%2B0iCT3AHVtZC7JDCXfR7OSb%2FXja5H3zQbZL1B%2BULX1BMTEk3AseSpmnKEK4T9ekMIidUCRQFfcbj7z8gNLvzF7mbhQN8h6ZbRset%2BnQWdS%2FZX3k7WpS8P9sfo0iGS64wV516pOhjI6TZ2dApgI5%2BLhxywYoWxKUrykKJsIoDsR4mSrCTg0egMPnLW%2F3Q5Nn8BZEuzqEI7HK3n0%2BzFmuO3TtWQ5WJoG9YqCD6Gc32SxnbnVPfsxvrFXK2dILl7bLthDp6glhcsfp4bYvbSmj%2FmQ94uBTw0E73x2jbNRCvC6VL6GCFDwU7eWQDcC5FY5s0slieRDwtAbRsbLXbaXAuu14e2OJw1dc6jQ3ZdY8v7rv2%2FBWZLqvFWVvvcmwZkK9f5jS4muO9yR5res4kfkRxhV03L1RfPOiPtYi8pd7jNEsOpyTwxpaY%2FyCZu%2FAmd5Or9uS3DYaeqVOhH7gZN%2F8I%2Fwi1fEuLXvyNivibjuKvN%2B1Nc01HF%2F3h%2Bef%2FsOhox8MPd5SFucPjorQwXT%2BytA8EmA5mamHNFDVhBI5pjZbQpugBNkO8MvRub8KVDKST1Wag7D3xlin1ZF7LFP%2F79nbvCXFOY%2BPUjrT7%2FotsPXXZ4exdPzuhZuL5LUXVAn7k7PbhG89uz3b41X01gbjP1xwlu5rrvvf9%2Bpbs6E%2FVu7Nk642%2FPYRaAiUBdrmO6CDTBLPQFA1ur0uXoBR1INDMkypKpoTqnSMx5GiEdTEaSHLs0Alvu%2F19%2F5QW9Rv1U1ridT22i%2B53pzumbs%2BXFFXYC%2B%2BCGsTj5JUT%2FGCgRt3n78i2n71FHG4%2Fu6X%2B%2B9%2Braya7os3ZbDmgWfXun44e%2Bu2NZKuGZ0HiF8M4TlMPR%2BEU6rPKRJ8wOU2RFUFLex3egEsz3YqEAq0cqhAAW19dBZIlVzR61tuIdTnpXH7l%2BuXrbjPUyep%2B8cl6aXKWhPHpDcXl9KiTWDNr4mBQc8Tq%2BNzK%2FOKSbsfl79o9G20R%2BbrBXYvUg0rLHhtrc4TN81TTOWSZ0gL1ZVlOYH2ery%2F7XVUjFMbzYpg7UswcqJPQwBd0LKLabJ8IaCr2otcjSkIrGwootKECaUd4XH1%2BSdazRrfddkBU98t1htvWrbjqSqjaCguxrffM%2F5zDCpBALUycmajhd%2BR6ww4SWafuZ5eU%2BtPid4lgd3gt%2Bb%2FY9rQoZNmiXYPXyRHbRs8zX%2Ff4WIFjWZJtUdSD55AP3xtXH%2BZipC0EqdBGDA4CoYEU6gRLGPU11QhkLTBiEYPiqOeQgwTCl9aok1Qr5pFf71qEeNxjy%2F8F0GoqYPv75Yh9j3x4DuJ%2BuEzHRpAq2lMqb%2BqfTdiq6kGtzfOWsv0c7lSeMXDHBDe1MT%2BLUgx0Pg%2Fp87u2UicdIvqQi8DkxhcUwUXCedMpb4NQjwY3npTmgsURJavLwCRyEcN2HfWsDVGfv%2Fu9ZUWUx%2BPYFueUKwaNvbtu%2BXps3eVWbN1GcgVrdMnWJ7WmJz9SD66EBidag0NF1Ukep0t5A7sFCWdhzvYwHv6L%2FBehXuHqfaBwBEU7hfVLcXvS4VQv%2BT%2FvaSIl7cbeMc7ekv9i8S3e1L5xxpvMGcu1EYPbKyCiijjGXcDKckm43PqU2qNWlXusZMiqF82cuVzolUHN9NNR0HZPxFPV9V0wLtvq%2Bk4DqOwVWDlzuQLVdqFiP08cRX7aRlBVfR8cb55bWe5LExnlcsDp1vAP8Q9BucPMk1Ulh4GnN0SAdxcNHv3q9ohx1Ati4S%2FtkWjIDe3hQdkUGrGRaFBiUdiTSkI41UkMuuQHP%2BEaSQYlPQTFWJF03BNPpTu5KFAdkWgDukzsZKMG0Q1TAQQglScOaP%2FdsZ8%2BfP75D%2F9Uu5Gs3FY%2F2SxPld0DHOciXI9gqjcEidXjE%2B3BLosy0OcX3T7O5g65ROGyzQ2BZs7WbZVnO5ydLe32hMwTQ4wnnKXW6XW5LAa7oaXOIHoUl0FgLQLH2by8wSTWeAx2Y5PDazK3BqZbeJZwXGPaYhX87ZNszoDdaRxotXO1nNlpdvAPFWHDm8PqEE0sZxDEqGzxisFNnuCWetPcGrObN0p23tTZwMuRVodSV8%2BLTrOV3eRvzjQZiSjaLYS1WEJe0kNsJlZu9LFun7%2B%2BwW4gRDRbaxw2nrOGm%2BxOj9cmtbp9ZqeTM1m8UXfQQCSTVSQox6pvtjot%2FFpHvIUjJovFEoYvHYV9C5Y%2FxN9OfcalvII37UEhTbTg%2FAQIaPb4Vz6j5u8%2FaViycMod%2FfkDcpu8QZbZoeBi%2FvbzP3XPsZvOubMtaPHkD9jt6%2BU2O7vqU%2F9C9SMvgrXpQNG%2FE0oJxun%2BCiElUa0IKQSUwERxOntKSV7ekcuh9VBZBBo3VUcB58ofKBHCwLyf9qFosz9Ibf8dGqwaBMjRig4SGOZ2UkWI7UiO9OfUPdxOYFApUZyfpY7mgEc5rtNGGk2H1lPhAk1Hp%2FVAMqQEHEUfEYkkUQq1JMdzsX7kklRrTrUi1wMcDjmu1YYfATj7Y%2BpGpPEBXuoQIj8rR9mgCl4C9yqmF7xnVWxGVniNqtpVmXBvQ6iwni5YQ8a1jYrXtc2J13HvgkvqWxuva1sbr%2BP2S5ceKGyBwDv2DbrToe1u6BkAJV7xnVLUaq0sJB8pFqcUIPi3yuwxi4JuLr%2BP30f3OkPQ72aO0xYo3%2FEsmO3QO5qEF8S0qQH0UsKXv0brnl9%2B8M7jF174%2BDsfvPOl1au%2FRL5%2F9DsbNnwHL2pHR1NTRxMZhJtHktOOxLxErPF6YlLvpC9YP73x%2B4ofw%2B3xVdrHcDE0dQQCmCRgvt9b35xINDf1CDcRSfJ%2BpYl%2BSf8YcurfmXP5F%2Fkj6J82jNsrkWiEuhVlgFfyNkB3S5MUzLhoNiwSCYcxQ7Ui4J0Xh7fmqRbaPa1tzujxkBRlsEHy0%2FOM4pYLPb7g9O6BQJN6l9zQ0OGyCaZz0vMTbHOzXfQ7a2tsterTcqxeInODoemdktw%2B1SbVhKwtW9ffe8VKadK0OVuC3bWzyKm5LeddsWTeorWyY9IMtUFutdu5g%2BRn533qkocdvLs2HmhU75br%2FMmWtD8zA3OP2t1ea636jEzqYxJZGAwFiDEd61oTsrRuW3%2F3pYNi3bS%2BRd%2BGjOfVpAPNd6y64Gsz1GaZleWIPoYL%2Fv9mTeQBENVEguiF1aC4YeXxFETw6QyPfn0m9g8IrMFAvKM1EI11DARnbqibHk%2FIojy5rSdgCyZi06y8sS024PeuO4MfwQ5Y9yKRZCqyYaF30vzeHlmUprR21tR0t0yz8KZY66zWuGvxVQB%2F36kP%2BK38t2Hu6NQ9SFJfw0AdpqPEK2qTMpf2VCqJwqPoJezTL824b8akoL%2Bx03nhh%2BoNo5e77psxg9Q5LzebIKD%2BfsY34f2MtB9fk9v5b8PT6tYrgv4kRPwd0q9z3gdJSJ0653KjCYPwCaR5aUY63eW48O%2Fkdo33yxX9wCiMv2QTrk8eGSI6Ag6moG9t2P%2FF7GRNlDjl0gw7pJ5aOXXqyqn8SENnXBmbSwUYLyqJjv3UmY1nKr4t80no0faXsaIEiF%2FBRaIBnItSce4OUif7W6Vm9T9H1X9Vj71BEm%2BRdmIJQST%2FZfVdudUvh9S%2FqqNvqT98g9SQ3lHibZY0mRVHooyDN%2FFHmTgzjdozKw28NwQ0hwN6BCoPKaEk3YtKwNhwRLXuk076CGoZNXDQcRwZvreTZY9EZi%2Bd0s4%2Bztv8iei04JQl6ZbDD2eHV7X4uHuFVfPrOmcs6m6Kr7hssr%2B1VZFcEZ%2FPdJkn1hOs8SXS%2FNFFgqt94PIZzZ3tdaL6Q5vo6piSzdy737pwsX1VyxUrF15iJ4uNkq%2Brbyg1Z%2BO8VsNC1UmcvORPRfxtPrfRwL2p%2FoA1eZp6Z%2FaGffoewaXcA%2FxBlKlQLfhQL%2FoPgBGP3qsA7IQS8qDVNswHKRSheDUvA3Q7MZoRcJMxlEygujn1QdyzfPfq3dEp%2FbXh5e5YXW2Ngfvza0ZF6UgFL%2FE0fTq4LBlvTE2qb%2FKuuzYSXVnjTfM1osvqMHVbm9950quIZlbqaL6YP7jk3kUtA0GnX2nvq53f3WoSsvEdDRnULgo2fN7lNZJgI8%2FVWi33c3bBZnGY05%2Bdm%2B3qc7fNmj4YGKLj2nfqFP%2Bg7jdDlxEV5XsJQZP6hYrS1l0VQr4c69Xueixp90gnZPmE5OF22j%2BSYEWHlZ0K%2FHgsh%2FZtsbh6h2DNRlvv6jJh9XaJaHCZDiUDKNTMkvb8vsqCyf3ZNdSmO0fa0Y4baJTtpbKzuVzeeSI7fCKr2Z0WypapnXJ4gnoWy3PoUIlIQ1TXdqhQJIXp9Wx5fYdpeWh2TY5D%2BYVyKd0jw3iumwi%2FBC3cEy4o83QlZnW79MrCgCjbhWXBlRZVVZZv4rIKpXC01HFlHdHLoeWVl6UVc%2FJ5uGm6CViW5mulYMk%2BHqNYr0AyUPivLg2oMs2MPqtuhHyRyiwvNJej1Br%2BfcLyoAyu8D9B7bgmzUqfFobF5nKnK4%2Bt8MPJkI%2FxHUNWk117jugWF%2BxazTAALQn6%2BUE9lhoI5ApGA%2FiuJOsrlNP28SVVuBVajXmircLel46w2bJS1Q0Ft0KDuikDFL%2F3pYrid1Q4FvofwRIo4R9h2ftSwc6jHAMqLcCql8YPHtlzGoByNXYN6v8hXnRaOhUvx0sVLCexwupGDR4NOYC7PePa5keIPACnuAdD7dEadRuTIiS6Lb7uskb381My5yjzF8lGCjBRqdwrWJCagfB3yCy7XT1i92hbcZ5Ci1FJkgYMDf6n%2BjspIsHFjJrTOdzSMuOa9DbDcj%2FnH9N9bIoGVgzHPWIQuFuYtaMRaq8eCKI0gEF6lPOZjBz3EEvaaxwSUT9U%2F8JbJZPJJLBLolH1La%2FRbF9AbC8JJjv%2FmMnssKjLRBJyqj9QXxNko0Ux%2FX79epfiXkm6fmKwF%2Fen1HLc6LxloXWKvGa5rVCVL83VuiPcDEX%2FK5pTXOxHfx6HHB0t2FI0qI2rCZFTrvPWU67zVuS%2FkTsLnc7IKhFg30e4FOkqNSfH5PtkmUy6Cpiv%2F36k2sbqCeCFNa%2BURpoY0sZoYmCgCr3qgZz6s8I0gP1bYiR%2BD79H56NOz0EVWCTy2%2FfffvSCCx59W7uRV9995eqrX8GLesOXNm360iZ%2BT%2FEl3uZqL%2BFyzSZ8XxpTiI%2FG0nkT4zznFZ0t4ipMz5v4q9ssqbdKUZt6u82knPCrt6PZwsnn0XySVnyPR1ZXAn72yx48bWJsu7apnI3Hy8bygUK5Js32qcytapqgmn95uexccj205vGgJ%2BeuOeG2SORmKZr%2FqKzcx9SFctMJdwMUFZDJITs7dnOp1EKZCxg304Cevyfya%2BvlKqv6aXK1qIj3imL%2BL6hL%2ByvUlFfE0VKZ7E8gBY3M%2F8VoJCFgizH1W6VyC76nH6b7jiibYVxUmVIEspry%2FLgZIlCeP11Z4zs%2FAwvVwtGFEut5S1JY4lfyT0N%2FevOLo%2BrUEgjcqc9IkGpQbv3iW7Co5b%2BKgjvpzYdH85PLcc4X21ouwEGl%2FS4qnUAvoSlXUUhR1eKr2VWFTB%2BGMl6FsiQsVD1R3urlAAIoSn7JQkmiVVCHSpCwDH%2FqPepXQ0Db77CJOAImohB%2BRPWr31ev5g%2FkE%2BzTa4lbvZo8xdWPffQu9yJTPCNB66s%2BzXoJt%2F0L6hSoCuBIoK8fnBGG87OoRckJpLqyWe4YbpGi50g0%2B3I3UD85Oa0fzubfoXxPLbW3FDWzigmyJeM0tQkax7PqTy80%2BUxfUHPlBZIRVNQ%2Bv0xRm8REKPoLmNr0%2BUo48v9GFbXPKylqQ2IKm00QddgyWGMROCTxdLB9nCY8P7j2DjlsV%2F%2Bmfr0C0r%2FNkeXbbpPlOTBBwT0mVz1zx9S%2FwJecBF9Wgv3p032iP2v4VSgfgW2G%2BHUEdEXU6iq4CtpLJfIN9XQG8dwa1VoO8XC2SrPDDyCOQptXgbcPvlAgBfxBoGwftQKeKFrNTASPt3pGGqDt%2FQRasn2kri%2BH6L80MJRsmVYJrAKyDItpJUy3%2F15WYIJqcJ9Q5N%2FLFJ4c3dc1URpWl9hW6mu50MUIelg4ucTPf15zs5DFo1c0VSp1tKB9jkwIyuM45kb%2BIP8gHed%2B6jO3v0KbIknzLy636E8KPTdCuUpB0wLo9JKnAO6pv0vS31EtBha%2FfJemkgLVVnd8KCk4qBTpQ5m7FbifBKrPJcq0pZAFVG%2FXbOFz%2BTcq2MLrcmV28Nmi%2FOHskh82bau0k8eWCaPijQPWQ5lUvslwVCfHkXBMIehqUgtDNLeauH1huvZTbYmw%2BluPjyWoNGEuxRLR7LK5fSyXFUyK7PURQv2v8D3XOt2NJ6liBbmPGOsakw1kbeOs%2B31Wm5qpH%2BiJWSzqdPr2O7zc2TmtnrzCig6bBd%2FvgQmzOlz0STWIlmZEQfupogOZFHUZ7EkUnMn0RrpIMqAgHRJAOjIJ3yGw1I%2FMAp9q9S3Q%2FclADNm1wEeO%2Bxbwg5OIYHZLY3ehG5lJk2xhco%2B6JWybpEVz2wrR6hZyD0QXZbeDVB%2BonmlimpkWprdAs4WEZDSQppsDlcdCBJJESIYFuAtUnC4GIF2C3Uu2Kv7L1bdz6FxtqxpG4TqQOqOUNAJ2HLvPWA2GgDy4O4vaDrtyl6P%2B1fAll%2BSyFcQ28GHqh7fvvf37udylf0fNwhzgz87Y%2Bcf5x9GnF6ygHu18sAbipWeF0YPBgp2GaKeQduxxdEr3SgbH1kvH7tvqSLhedomOvZyts2dw8acu3dY%2Ff%2BucuMtCuP%2Fe4zC4XnH3OLZ8ZuxTWxy8dJfU5dhDeKPSlJy5pn%2F%2B7u3XrJhmr9C5CuleGflGQocKnlAUaRKp0BAHV0ZwUt9VCqk6zYOgRIuMfePJzdmBdpPJ7%2F6B23%2Bf%2Bsp9NMDZevovvfYHG5dGPISQq1DojqNckchVrCcCYz%2FQ0hI0m3NKDRfkgsrnamo%2Bp0CAq1FyvC3a3Nak%2Fs5VX282x9Ufy3E39VAx6o7LpCvO2wK%2Bch9jNqpJCutcIOooKnYWtDK8gTRVYygRQfwgzKM5%2BjP2jOZdx3r32Py7rQUPOzAnoRs95NvRAR0qLGU11Taqu1bUYSzMcWjMEir067JQQHfIrLBHsrgv00%2FWavd8HRLMEEYFSW3HCSNQehnrHztKqHcDyo4VfZ6gPKCR%2BgufwA8GegxUEo4A%2Bgd0BASHiH6jYMLIsUdQJTs%2FC641KN4oCHWolCMLlMfIdtWKScjx7SM5LD9HnfmhrGI0S139UWfUnxgOXdJFW%2BAMcGjKr6eHAttHF5sUoeArYKDcxMSYcKA%2FxUDhPiEOEAPafSIUFArN0r24ynI91EPARDXvIDYyvqZaWeroBOUABQA%2FE%2BDXC7PWafDLQY2oiwpUEyj4RQtVlUp1GrM7In2p2A7VuiOW6otMiGOo5Mrp05ejVuTy6dNX%2Fk%2F7mybZQ0nUmfrbx3U4KueDnlHm5wdh8FFeKnoaKKh%2FTK18StOPhwG9Xo5mqXAxvw%2F79YQwwDR%2BnAKQQ4izVXioB84qcppWB7IqjU45z4CE17OvF1Dw%2BoTFqxtz8dxwtogBnF9MjIl%2Fin%2BK8s3hM9laIn0TiCbTAXL0T798bPXqx36p3chrv0O%2BGC9Xaj48Ecv8U8UEeBvUEsDlTepiU5OvlpeNGvpnKF0RvUooWhIjnx6GeBapXCQYTw9DNg6%2FOC3gZjp76oNTj9Kz6Jqobxb9NDqc08vcKReOpcsQV2K8InXFaXW3aI6Ofr1k48rp7CX7rx%2Bv1UKPsfvzQU0Kc83i2VdILmd2%2FyX55zT9luN2%2BCu4nKfwPcK%2FCvDVU%2BpHh8%2BLaldIf1fA5h3ndT6Fln9%2FW%2F9Ce1vndfvJtnPVO2xhm3qbafHVCN1X363UXHq9xuVD8OSD29Z8pZ5cZrern9cAdGW%2Fuib%2Fud%2BVK0L9a42r6C90kL8KzxwLQw9NkIQJL0ASU8M%2BVG0KsUdgdvpgP%2F6NqqP0%2FgHZFUfGEijZLHpiIgvV5%2FBltrj8Qd7XQd5p4P%2B7tJo30NMO6VGBwahSPMYiaaBYoLY6uEnciyhhh1Z%2FvvacG%2Frjpsvnpzs0B1Id6fmX8119l88XnOxe%2FuGrzzHcdu7UtY3%2B2vmXN5zUyj3ZcPl8p1sZSs6%2FnGXtwrV7Ka0XZdz83fwjjINpZWYw85lL8BRK4nGyIir2RiOsEyipuEcIakpGjWgBjLiHWOgj0Yi34gW1kKPxHt2Na5q%2Blwg1RdRSpFDNzosb44YJXnAfoEOpZW%2F%2F6u1lhYA6leevezbI26zNHO811M2dc5HFxpk4i1jPC0s21%2FBWW5DnPQbn2X1WK43%2FaM2n18DfSoybbNHijFpamzXI31eRibGUOxSu%2FlT96YZlq1Yt20DaSBuG6knw2eusHs5EPBfNmVvHKdaQzcDfz9ZsXmLDWGXy2U5OsYSsIn8CS12jQIyD12KKqZrLPy7mSPdICmd6WGHG8NDZkkHuE4h9TU8FpmUO%2FVjC%2FEinToFyoNDz2p9XD6g78WgQdPG7Z3R0T%2FZ5dTM9lsL8Ktek7szl2L%2BgQwGgwkZHc2g5Su7NvVqwGy2Ua4KSXUwt1X4PaM5paaEu6jQ5zVFyNabxvUksVt2T%2F4VeamYPlLtffdQsk%2B2sUTY%2FzDXl%2F05W53%2FBz9UK3p7LjapZ2ZxOm%2BUlZXrL3HHGqO8%2BwVroDaCTTnTxitMxmiAAYQzVJQH%2Bnj3oIHnPaN6Zq6sNSLjBl8tKgVr2mj%2F9CWi9dnKca8rBQBsd5R1tzVlgrl5pbnPw6kZclCr2CHxMnHohLz%2B3KRQokzALyeIKFU1TNCiayJdoHvDYe7K6mZLm8S3uJ9dojuaJ62%2FqN%2FtjQxnSnhnKPw%2BLNrLi8ZKyJ3x1YhiI1aNAtP6NzCGzYv3DmaGh%2FLvQZnt0evgIhTFV0kE%2FPYxAnOHhCQUZdCWY5JWJwMzlAGl1mpNbDU7yyGnhRMILsYhH3VRAijrPcBU8%2FCj1Y9NY6cnGVW0CjTLaz7E3epvaT%2FLtTV72Rs%2B0WVVmd0dz%2FMGTI5F0OsIviaqDlbbO5X6xT3PeXbXHRtf%2Fz%2Bfdka%2BeKPr8KF7IF4vBsT9MFPuPJMBTBMq9hQxXelQ%2Bbewnf18ap4Ib%2BmSMrtDU5zqlD8QANa5MBGh%2FOwOvSDfcV2d66mfEWsbGWmIz6nsyZDWQSmqmxDneYyvjHPmRXHZxeueyRGLZzvRioKnGto9nIPkibAJA16adcOZRQr1iAP3bUyBR7T4RgAWTKxhkCYFwshq%2B7iV9r0whk50cmRcTg4fy5x4OmmNkHndIA2%2BYuMbmE9dwGYB4KFTsvnDE6Ah47r%2FfE3AYI%2BoXADpkdlENcZ8OZEEf8FFGZNxMs6ZLpG3SUFLL7Q2kcFU%2FA%2FJsw%2BvWDa%2F7emewLaoeibaF1B9qUNnuqWK3%2BUfXYVL1v%2FomD15xxeDkPnXTOKSVcCbDGtOu0YQNpGAP7U1HU58UrqGu8xIbHtkQ3LVhb7Dx46ET3Ffcm1q0YcOizNmf3bC3VjWfAcpSv3MyTlgJ23FHQgmgvk%2Bgk8pL0mcCDOn08MDAQlf%2B%2FSlTZ1z12fnqntOhbOTL9%2FZdevbAPN%2Byby1f%2FuUtC%2Fixm8ZBo59LTXEW060hGrTDplNprWd58fwB%2Fb%2FE27BdS%2Fs7U%2BrGVCeQ46nzaw9QccnmZerGZZs3Yw9aVHt%2BKh6HN4ti6lxIhT%2FwahnZtWwzlY9QHQ2c79C%2BdxzvVDKy8GqKWQERO9YAKbpsDUTLdWV5dE8PVPjvj9pqw7ah%2FPFVtkit7aj6G5xY9mfJrCz1j1e0BcnPol4UjtrCdbahIVtd2HaURujnFJR8CuOuUUfhrGhgKKgjCYNSvCc1WKlEp8wHUaAYynFNyzZn%2B2MnYv36dbMDBTonl%2FT%2Fma5IKAyEGz%2B4eRnVtaX6tss2o34u8mWorFtuFgm4A6qK%2Fyp%2FgLEBVat5WnPDdKA574ubuFJ%2FIUfZ%2FY2Nt6mN%2BZNNTSTaeI56gKwkXerTe9DDHUw8%2FH35FY3nNN7GGuBKWhrV9ep%2B0k1WjNWVaHkW1yA%2BQHWNu8rtBw2a5YXuE40rs7%2FGA%2Bj09V3hA98yRnFPOGr8ltGlsFdD%2F7tRce3LH6Trcneuiy7K7J3khKu%2B3qUaXPWaX7T6%2FKfj9BX2eZq2XAcZT79u1ClJzUtHUqfqSMWBcZS43Ena0cUGLgpkKxB1QM%2B0Fxz10wgg6r5rltnFpH05pepUq3Y2HfYqeKRntmUFNz%2BXmcOs1H31U6cC6RTVLfCg7RNBF1UF2%2FwBgu0fFQtPEU1sSg3VcNsR7dWq3af87tUFn1l3ltXpaJxpNvtcZkH2WmMst3JqRpxUH%2BWC0E1qOGtP66s1MYv%2BVLu8%2FXFXvV%2FZbunYYBeVN64ls0ur6NzpV9xzlmQwB5qC4Tq70WC0tk8dWJXeHvkD0h9zJOM0vD86%2F1NJMaIAolctvlByferCsqOKDKceOfUu1PsmoFCamV5mCrMUOCi6V6FJosMF22AcrKJgQDVhfYh6tepp%2FlYgvnCEAbJQ1L0rOpajEmRcasMiPfxhgGoVo4rwreQpV6fUJHH2e8fa1s2c13Apl1b89a58ozdoap2sjgLN9uISl7P1DrulyeIkt0zr6JjWocoPOZsaXPb6jtqBblsgsaRre2xHi4nELm0MhG1%2Bx1SXwLpFi53b%2BaHRYo%2FIrbZtuWAKu5cSEXfybnnmUCaXGTpQr0xK2O2WWY76f%2BnAjNVf7nCZHU5XqIkTnpt6VtvsFlPXg1031g%2FVRdpkkyVpD7jnmax88QwDvg%2F66NnMRdRXTcGTmQc3cuINwN5IQqi0yzb%2BYFVHuVqI5s4ADfg5oE4ybDLd28mFSFmYvRoomsWXEdLU2Wl3GJy93ZNb%2Fd5gqmNaqJZSO1l6PVRy0nZIj%2F45EetjLguh1rLqR%2BSK0hO6NrsqcNX8zoUdjQYDJ7tb4os6%2Bi%2BY0qpY2AWlnLRDWdGFTfGY1gV0zNAtJ7pdo24se0D88AwLY%2FgZmE9iuP4V5v7CSR%2FRThaHLh%2BUeBkXwU6BC7lGOevK65udTv%2BtS%2FPfW7qj3ljTcj3b9OkbV85t8xsMj7Ddj7DGpthZKwKPvso%2Fc%2F1K9aLE12fMWLV1y1D9ua8lyJdWXr%2FbG%2BnoCFutf%2FmLILe39ITUV4igr3876fpX5g2zeB52sWnIL4fXHlgeUzOx5QfIvJQyrKQE9wHUqVq%2BPEaOrz0wVvNbJZVSfsuMzxN4l9PkedFzw9V5Dj%2BnzpgoT4ZxCxJfC5RWLc74YVHxKlExCYt0JAOMatREhHBSCAtSfod6x6Ls8HCWECLwXZ9nd5Dz1T24JUdWs6fU3%2B%2BfcnT49Qe%2BkBs%2BwdsMZgPXMp3U5S958snPP%2FEE7bvkOPCuTUDTUQ%2FUzirLhML9yPahoe1D5Fj5jWsaoveyP00PehdUAHk%2FseDVWsvDWXXXsyn%2F4wfpXc2V3%2FQxli3jl%2F5hj%2F83avSCfpTNxOEKLmTjxOEKuxgNlsQn0xgct724mhynupNW1Ph6o3RYS3%2F%2B2TJrzLlkFz%2Bip3qCHKf6eqW02QJLjBYuuj4sobhCWqa%2FYHGEHpcnumuWSOhxeaL7sOakNR6vvmo%2BYcfFA8UFXEPZf9UjyudIOyNwx%2Fi90DdsujS%2FFX2UAwvWSVK4NxaMhAGw3oowp%2Fuc8CTi7D2rBgZWwb%2F60faR7SPsEbjkXy4G0XaqhXPwe2cePjxjxuHD6ssQuR1fq6PF0E%2Bo2t1nePTn8TUmxz%2FA3crMoCc7egESuoTHYc7mYdg6etORoOhR7BBGD%2BqJopELrl4S6cJNRtEAsLP%2FOdvnJq0Wo0GolY2Et9VFB2Kf%2B4bZvVyxfOMz3WdFfSIryj6DwWghre7aQbdiDrkTL3A3vNDuDpk93HqXwam%2BbWmUJZfNn5ozKV5Pmmq8PF%2FjVY%2B2Tlk2M2RzSXKjmbQ4RZcQavEYrN%2F9rlXwtIQqzxQNMzPPfHYLvuPoO9TbT8bpGw5CQPGd%2BSyX%2FCyf0Vxjd2R9NmsunnXYa8xGHzn%2BsSfM5J0y0DZEXWWxkXjcR75KBLNLHi7XvX2G8VOrf4Ykg0AMdBESIpo7MgAfyakA6rkqpI6UjNs0px7cMV%2BD5BF49Tez1VGnYmq0WIijp985m4Sn2gJR9b07riPPFo97OYbUZbxJCpot7H%2FlpZBicglCPN7WOfJkcHqc3ElWqvvz%2F1E6bIQrG%2Btz6WkM1SM9FBTR7FSs8KyBBytSmNEoquJNFN5EQyTiCrnKDx1h58yxCepPHU5nxGoxEQeeOZi2m80DxNxncVhr6BmEfUarxejw%2BWSiHhWk19bSY7aKR5MsteblJpfTLtjimBouXsm3d3djjYM%2BwEW0El9dM%2FueVRWIsXwe43R7SgbVZqrnqoJ1X%2FkuF7pcgf8duv4q6vayV5U9zMV91GxO59UUjW8rHV6u799WzKMT7umRCXbYUKM%2BfoaCcwgaoqZUtmodV3p%2BX7akb4dnU9B9La38RPFUG2SCC90tVA4XwEFhyOpZZrUCsgWYHsczLFBBVGNtstoN1bw0Z%2BO4fYIbvZVt4EUcJEKOhHeincWqONw%2Bq6w5Go%2BWGOSR7LhKV%2BKBqbBPpfUvOf9QqkpDyVhBeyyZQGMsdA5FBUqvFMtUyGq9vjnsAJU4UcrxldP1CCaofyDkSAifoP5QwWx%2BSyUGxp75BzGAvtG7uQ38LehlyEQMeh0TeE6Bm7tYdXqdkt0uOb3kfYlNwmOdDyacOq%2FqlFo1v%2BPTmTi3E%2FglC9W11b34A22zmLzvb231Q0L2Bgg60OTW4YdstO%2BYOJnO38TtpH7zy9ymokWyA79qlVSn38HtpFlImFnhu3b4boNWXklOXV0Iwo7lQ1hrZyPFcwtjwFP7iEKSHSSJw509kh8kj6pr%2BH1jR7km9vcvqN9657vffefkv%2BfKxge1X%2B7RdjYUPIESN7gTvRkB%2FRMYtEkaVkdHApmdBPpnKmz0n1xSWFOyVIuLrinZwpoCRe6kyiVZoHX088F%2BUX4%2BWKS4iBTP0IWxGtZgOdMaV4KTayqHQF%2FVihBwTbgDXTCmKoOBJeNhwJMzEVjtjIFLuU38fPR7hqNG1JS7g%2FqRCuy3vmQ3W9Vu8qbVbP%2BSzazGRJH83MzP90Ck2m31mMjP8TiLn5uwD2Ugr2PFvPQjB5BnSJvQxGQZZEB%2BLopqzGzDbMmbkAPkZVJjeO5FzOSBKCgJze2ZS4Gemc9twrwY6u9H61iUQTcRvtdT9RW3tRxAWwFs2tcuJRnI6xjmBdWjbgFNRHMHiF1uHYBfUR%2Fut5Ug2jXAaT96%2B9RH%2FFToRwIzGbKmVJ1AZQnoabSB1yyIg7ByAridHApPMjyw0OiV6RjSbCuzwLAvFizBliWJua1tsuAgvNPbmljYbpt8lkWam7b3XZiOiKJskMOtmfScnsbPW208knwjuXrXK4Q1iKIgNyYXXDVT9C2Ye%2F78GQ5BEEXfFdde2RwauOysdJNL5AzCy84ard%2FnGAVN8alecnFdgu5Gbd5DJTL%2BhHZK0vApVy3OfU8XTSJg1TlssivsPYUlIqvn66PzrVTymCc4wgF6SDNR0pDf%2B9Gp%2BVnsUH5WtpHYsuhOaey8zdwLN47V8MTbm78g687%2BP3cx6tcAeNpjYGRgYGBk8s0%2FzBIfz2%2FzlUGeZQNQhOFCWfF0GP0%2F8P8c1jusIkAuBwMTSBQAYwQM6HjaY2BkYGAV%2Bd8KJgP%2FXWG9wwAUQQGLAYqPBl942n1TvUoDQRCe1VM8kWARjNrZGIurBAsRBIuA2vkAFsJiKTYW4guIjT5ARMgTxCLoA1hcb5OgDyGHrY7f7M65e8fpLF%2B%2B2W%2FnZ2eTmGfaIJi5I0qGDlZZcD51QzTTJirZPAI9JIwVA%2BwT8L5nOdMaV0AuMJ%2BicRHq8of6LSD18fzq8ds7xjpwBnQiSI9V5QVl6NwPvgM15NXn%2FAtWZyj3W0HjEXitOc%2FdIdbetPdFTZ%2BP6t%2BX7xU0%2Fk6GJtOe1%2FB3arN0%2Fpmz1J4UZc%2BD6ExwjD7vioeGd5HvhvU%2BR%2BDZcGZ6YBPNfAi0G97iBPwFXqph2cW8%2BD7kjMfwtinHb6kLb6Wygk3cZytSEoptGrlScdHtLPeri1JKueACMZfU1ViJG1Sq5E43dIt7SZZFl1zuRhb%2FGOs44xFVDbrJzB5tYs35OmaXTrEmkv0DajnMWQB42mNgYNCCwk0MLxheMPrhgUuY2JiUmOqY2pjWMD1hdmPOY%2B5hPsLCwWLEksSyiOUOawzrLrYiti%2FsCuxJ7Kc45DiSOPZxmnG2cG7jvMelweXDNYXrEbcBdxf3KR4OngheLd443g18fHwZfFv4NfiX8T8TEBIIEZggsEpQS7BMcJsQl5CFUI3QAWEp4RLhCyJaIldEbURXiJ4RYxEzE0sQ2yD2TzxIfJkEk4SeRJbENIkNEg8k%2FklqSGZITpE8InlL8p2UmVSG1A6pb9Jx0ltkjGSmyDySlZF1kc2RnSK7R%2FaZnJ5cmdwB%2BST5SwpuCvsUjRTLFHcoOShNU9qhzKespGyhXKV8SPmBCpOKgUqcyjSVR6omqgmqe9RE1OrUnqkHqO9R%2F6FholGgsUZzgeYZLTUtL60WbS7tKh0OnQydXTpvdGV0O3S%2F6Gnopekt0ruhz6fvpl%2Bnv0n%2Fh4GdQYvBJUMhwwTDdYYvjFSM4oxmGd0zVjK2M84w3mYiYZJgssLkkqmO6TzTF2Z2ZjVmd8ylzP3MJ5lfsRCwcLJoszhhyWXpZdlhecZKxirHapbVPesF1ndsJGwCbBbZ%2FLA1sn1jZ2XXY3fFXsM%2Bz36V%2FS8HD4cGh2OOTI51ThJOK5zeOUs4OzmXOS9wPuUi4JLgss7lm2uU6zY3NrcSty1u39zN3Mvct7l%2F8xDzMPLw88jyaPM44ynkaeEZ59niucqLyUvPKwgAn3OqOQAAAQAAARcApwARAAAAAAACAAAAAQABAAAAQAAuAAAAAHjarZK9TgJBEMf%2Fd6CRaAyRhMLqCgsbL4ciglTGRPEjSiSKlnLycXJ86CEniU%2FhM9jYWPgIFkYfwd6nsDD%2Bd1mBIIUx3mZnfzs3MzszuwDCeIYG8UUwQxmAFgxxPeeuyxrmcaNYxzTuFAewi0fFQSTxqXgM11pC8TgS2oPiCUS1d8Uh8ofiSczpYcVT5LjiCPlY8Qui%2BncOr7D02y6%2FBTCrP%2Fm%2Bb5bdTrPi2I26Z9qNGtbRQBMdXMJBGRW0YOCecxEWYoiTCvxrYBunqHPdoX2bLOyrMKlZg8thDETw5K7Itci1TXlGy0124QRZZLDFU%2FexhxztMozlosTpMH6ZPge0L%2BOKGnFKjJ4WRwppHPL0PP3SI2P9jLQwFOu3GRhDfkeyDo%2F%2FG7IHgzllZQxLdquvrdCyBVvat3seJlYo06gxapUxhU2JWnFygR03sSxnEkvcpf5Y5eibGq315TDp7fKWm8zbUVl71Aqq%2FZtNnlkWmLnQtno9ycvXYbA6W2pF3aKfCayyC0Ja7Fr%2FPW70%2FHO4YM0OKxFvzf0C1MyPjwAAeNpt1VWUU2cYRuHsgxenQt1d8%2F3JOUnqAyR1d%2FcCLQVKO22pu7tQd3d3d3d3d3cXmGzumrWy3pWLs%2FNdPDMpZaWu1783l1Lpf14MnfzO6FbqVupfGkD30iR60JNe9KYP09CXfvRnAAMZxGCGMG3pW6ZjemZgKDMyEzMzC7MyG7MzB3MyF3MzD%2FMyH%2FOzAAuyEAuzCIuyGIuzBGWCRIUqOQU16jRYkqVYmmVYluVYng6GMZwRNGmxAiuyEiuzCquyGquzBmuyFmuzDuuyHuuzARuyERuzCZuyGZuzBVuyFVuzDduyHdszklGMZgd2ZAw7MZZxjGdnJrALu9LJbuzOHkxkT%2FZib%2FZhX%2FZjfw7gQA7iYA7hUA7jcI7gSI7iaI7hWI7jeE7gRE7iZE5hEqdyGqdzBmdyFmdzDudyHudzARdyERdzCZdyGZdzBVdyFVdzDddyHddzAzdyEzdzC7dyG7dzB3dyF3dzD%2FdyH%2FfzAA%2FyEA%2FzCI%2FyGI%2FzBE%2FyFE%2FzDM%2FyHM%2FzAi%2FyEi%2FzCq%2FyGq%2FzBm%2FyFm%2FzDu%2FyHu%2FzAR%2FyER%2FzCZ%2FyGZ%2FzBV%2FyFV%2FzDd%2FyHd%2FzAz%2FyEz%2FzC7%2FyG7%2FzB3%2FyF3%2FzD%2F9mpYwsy7pl3bMeWc%2BsV9Y765NNk%2FXN%2BmX9swHZwGxQNjgb0nPkmInjR0V7Uq%2FOsaPL5Y7ylE3l8tQNN7kVt%2BrmbuHW3LrbcDvam1rtzVvdm50TxrU%2FDBvRtZUY1rV5a3jXFn550Wo%2FXDNWK3dFmh7X9LimxzU9qulRTY9qelTTo5rlKLt2wk7YiaprL%2ByFvbAX9pK9ZC%2FZS%2FaSvWQv2Uv2kr1kr2KvYq9ir2KvYq9ir2KvYq9ir2Kvaq9qr2qvaq9qr2qvaq9qr2qvai%2B3l9vL7eX2cnu5vdxebi%2B3l9sr7BV2CjuFncJOYaewU9gp7NTs1LyrZq9mr2avZq9mr2avZq9mr26vbq9ur26vbq9ur26vbq9ur26vYa9hr2GvYa9hr2GvYa%2FR7oXuQ%2Feh%2B2j%2FUU7e3C3cqc%2FV3fYdof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D92H7kP3ofvQfeg%2BdB%2B6D92H7kP3ofvQfRT29B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6j6nuG3Ya7U5q%2F0hN3nCTW3Grbu4Wrs%2FrP%2Bk%2F6T%2FpP%2Bk%2F6T%2FpP%2Bk%2B6T7pPek86TzpPOk86TzpOuk66TrpOuk66TrpOlWmPu%2F36zrpOuk66TrpOuk66TrpOvl%2FPek76TvpO%2Bk76TvpO%2Bk76TvpO%2Bk76TvpO7V9t%2BqtVs%2FOaOURU6bo6PgPt6rZbwAAAAABVFDDFwAA%29%20format%28%27woff%27%29%2Curl%28data%3Aapplication%2Ffont%2Dsfnt%3Bbase64%2CAAEAAAAPAIAAAwBwRkZUTW0ql9wAAAD8AAAAHEdERUYBRAAEAAABGAAAACBPUy8yZ7lriQAAATgAAABgY21hcNqt44EAAAGYAAAGcmN2dCAAKAL4AAAIDAAAAARnYXNw%2F%2F8AAwAACBAAAAAIZ2x5Zn1dwm8AAAgYAACUpGhlYWQFTS%2FYAACcvAAAADZoaGVhCkQEEQAAnPQAAAAkaG10eNLHIGAAAJ0YAAADdGxvY2Fv%2B5XOAACgjAAAAjBtYXhwAWoA2AAAorwAAAAgbmFtZbMsoJsAAKLcAAADonBvc3S6o%2BU1AACmgAAACtF3ZWJmwxhUUAAAsVQAAAAGAAAAAQAAAADMPaLPAAAAANB2gXUAAAAA0HZzlwABAAAADgAAABgAAAAAAAIAAQABARYAAQAEAAAAAgAAAAMEiwGQAAUABAMMAtAAAABaAwwC0AAAAaQAMgK4AAAAAAUAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAFVLV04AQAAg%2F%2F8DwP8QAAAFFAB7AAAAAQAAAAAAAAAAAAAAIAABAAAABQAAAAMAAAAsAAAACgAAAdwAAQAAAAAEaAADAAEAAAAsAAMACgAAAdwABAGwAAAAaABAAAUAKAAgACsAoAClIAogLyBfIKwgvSISIxsl%2FCYBJvonCScP4APgCeAZ4CngOeBJ4FngYOBp4HngieCX4QnhGeEp4TnhRuFJ4VnhaeF54YnhleGZ4gbiCeIW4hniIeIn4jniSeJZ4mD4%2F%2F%2F%2FAAAAIAAqAKAApSAAIC8gXyCsIL0iEiMbJfwmASb6JwknD%2BAB4AXgEOAg4DDgQOBQ4GDgYuBw4IDgkOEB4RDhIOEw4UDhSOFQ4WDhcOGA4ZDhl%2BIA4gniEOIY4iHiI%2BIw4kDiUOJg%2BP%2F%2F%2F%2F%2Fj%2F9r%2FZv9i4Ajf5N%2B132nfWd4F3P3aHdoZ2SHZE9kOIB0gHCAWIBAgCiAEH%2F4f%2BB%2F3H%2FEf6x%2FlH3wfdh9wH2ofZB9jH10fVx9RH0sfRR9EHt4e3B7WHtUezh7NHsUevx65HrMIFQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAACjAAAAAAAAAA1AAAAIAAAACAAAAADAAAAKgAAACsAAAAEAAAAoAAAAKAAAAAGAAAApQAAAKUAAAAHAAAgAAAAIAoAAAAIAAAgLwAAIC8AAAATAAAgXwAAIF8AAAAUAAAgrAAAIKwAAAAVAAAgvQAAIL0AAAAWAAAiEgAAIhIAAAAXAAAjGwAAIxsAAAAYAAAl%2FAAAJfwAAAAZAAAmAQAAJgEAAAAaAAAm%2BgAAJvoAAAAbAAAnCQAAJwkAAAAcAAAnDwAAJw8AAAAdAADgAQAA4AMAAAAeAADgBQAA4AkAAAAhAADgEAAA4BkAAAAmAADgIAAA4CkAAAAwAADgMAAA4DkAAAA6AADgQAAA4EkAAABEAADgUAAA4FkAAABOAADgYAAA4GAAAABYAADgYgAA4GkAAABZAADgcAAA4HkAAABhAADggAAA4IkAAABrAADgkAAA4JcAAAB1AADhAQAA4QkAAAB9AADhEAAA4RkAAACGAADhIAAA4SkAAACQAADhMAAA4TkAAACaAADhQAAA4UYAAACkAADhSAAA4UkAAACrAADhUAAA4VkAAACtAADhYAAA4WkAAAC3AADhcAAA4XkAAADBAADhgAAA4YkAAADLAADhkAAA4ZUAAADVAADhlwAA4ZkAAADbAADiAAAA4gYAAADeAADiCQAA4gkAAADlAADiEAAA4hYAAADmAADiGAAA4hkAAADtAADiIQAA4iEAAADvAADiIwAA4icAAADwAADiMAAA4jkAAAD1AADiQAAA4kkAAAD%2FAADiUAAA4lkAAAEJAADiYAAA4mAAAAETAAD4%2FwAA%2BP8AAAEUAAH1EQAB9REAAAEVAAH2qgAB9qoAAAEWAAYCCgAAAAABAAABAAAAAAAAAAAAAAAAAAAAAQACAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAEAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAL4AAAAAf%2F%2FAAIAAgAoAAABaAMgAAMABwAusQEALzyyBwQA7TKxBgXcPLIDAgDtMgCxAwAvPLIFBADtMrIHBgH8PLIBAgDtMjMRIRElMxEjKAFA%2Fujw8AMg%2FOAoAtAAAQBkAGQETARMAFsAAAEyFh8BHgEdATc%2BAR8BFgYPATMyFhcWFRQGDwEOASsBFx4BDwEGJi8BFRQGBwYjIiYvAS4BPQEHDgEvASY2PwEjIiYnJjU0Nj8BPgE7AScuAT8BNhYfATU0Njc2AlgPJgsLCg%2BeBxYIagcCB57gChECBgMCAQIRCuCeBwIHaggWB54PCikiDyYLCwoPngcWCGoHAgee4AoRAgYDAgECEQrgngcCB2oIFgeeDwopBEwDAgECEQrgngcCB2oIFgeeDwopIg8mCwsKD54HFghqBwIHnuAKEQIGAwIBAhEK4J4HAgdqCBYHng8KKSIPJgsLCg%2BeBxYIagcCB57gChECBgAAAAABAAAAAARMBEwAIwAAATMyFhURITIWHQEUBiMhERQGKwEiJjURISImPQE0NjMhETQ2AcLIFR0BXhUdHRX%2Boh0VyBUd%2FqIVHR0VAV4dBEwdFf6iHRXIFR3%2BohUdHRUBXh0VyBUdAV4VHQAAAAABAHAAAARABEwARQAAATMyFgcBBgchMhYPAQ4BKwEVITIWDwEOASsBFRQGKwEiJj0BISImPwE%2BATsBNSEiJj8BPgE7ASYnASY2OwEyHwEWMj8BNgM5%2BgoFCP6UBgUBDAoGBngGGAp9ARMKBgZ4BhgKfQ8LlAsP%2Fu0KBgZ4BhgKff7tCgYGeAYYCnYFBv6UCAUK%2BhkSpAgUCKQSBEwKCP6UBgwMCKAIDGQMCKAIDK4LDw8LrgwIoAgMZAwIoAgMDAYBbAgKEqQICKQSAAABAGQABQSMBK4AOwAAATIXFhcjNC4DIyIOAwchByEGFSEHIR4EMzI%2BAzUzBgcGIyInLgEnIzczNjcjNzM%2BATc2AujycDwGtSM0QDkXEys4MjAPAXtk%2FtQGAZZk%2FtQJMDlCNBUWOUA0I64eYmunznYkQgzZZHABBdpkhhQ%2BH3UErr1oaS1LMCEPCx4uTzJkMjJkSnRCKw8PIjBKK6trdZ4wqndkLzVkV4UljQAAAgB7AAAETASwAD4ARwAAASEyHgUVHAEVFA4FKwEHITIWDwEOASsBFRQGKwEiJj0BISImPwE%2BATsBNSEiJj8BPgE7ARE0NhcRMzI2NTQmIwGsAV5DakIwFgwBAQwWMEJqQ7ICASAKBgZ4BhgKigsKlQoP%2FvUKBgZ4BhgKdf71CgYGeAYYCnUPtstALS1ABLAaJD8yTyokCwsLJCpQMkAlGmQMCKAIDK8LDg8KrwwIoAgMZAwIoAgMAdsKD8j%2B1EJWVEAAAAEAyAGQBEwCvAAPAAATITIWHQEUBiMhIiY9ATQ2%2BgMgFR0dFfzgFR0dArwdFcgVHR0VyBUdAAAAAgDIAAAD6ASwACUAQQAAARUUBisBFRQGBx4BHQEzMhYdASE1NDY7ATU0NjcuAT0BIyImPQEXFRQWFx4BFAYHDgEdASE1NCYnLgE0Njc%2BAT0BA%2BgdFTJjUVFjMhUd%2FOAdFTJjUVFjMhUdyEE3HCAgHDdBAZBBNxwgIBw3QQSwlhUdZFuVIyOVW5YdFZaWFR2WW5UjI5VbZB0VlshkPGMYDDI8MgwYYzyWljxjGAwyPDIMGGM8ZAAAAAEAAAAAAAAAAAAAAAAxAAAB%2F%2FIBLATCBEEAFgAAATIWFzYzMhYVFAYjISImNTQ2NyY1NDYB9261LCwueKqqeP0ST3FVQgLYBEF3YQ6teHmtclBFaw4MGZnXAAAAAgAAAGQEsASvABoAHgAAAB4BDwEBMzIWHQEhNTQ2OwEBJyY%2BARYfATc2AyEnAwL2IAkKiAHTHhQe%2B1AeFB4B1IcKCSAkCm9wCXoBebbDBLMTIxC7%2FRYlFSoqFSUC6rcQJBQJEJSWEPwecAIWAAAAAAQAAABkBLAETAALABcAIwA3AAATITIWBwEGIicBJjYXARYUBwEGJjURNDYJATYWFREUBicBJjQHARYGIyEiJjcBNjIfARYyPwE2MhkEfgoFCP3MCBQI%2FcwIBQMBCAgI%2FvgICgoDjAEICAoKCP74CFwBbAgFCvuCCgUIAWwIFAikCBQIpAgUBEwKCP3JCAgCNwgK2v74CBQI%2FvgIBQoCJgoF%2FvABCAgFCv3aCgUIAQgIFID%2BlAgKCggBbAgIpAgIpAgAAAAD%2F%2FD%2F8AS6BLoACQANABAAAAAyHwEWFA8BJzcTAScJAQUTA%2BAmDpkNDWPWXyL9mdYCZv4f%2FrNuBLoNmQ4mDlzWYP50%2FZrWAmb8anABTwAAAAEAAAAABLAEsAAPAAABETMyFh0BITU0NjsBEQEhArz6FR384B0V%2Bv4MBLACiv3aHRUyMhUdAiYCJgAAAAEADgAIBEwEnAAfAAABJTYWFREUBgcGLgE2NzYXEQURFAYHBi4BNjc2FxE0NgFwAoUnMFNGT4gkV09IQv2oWEFPiCRXT0hCHQP5ow8eIvzBN1EXGSltchkYEAIJm%2F2iKmAVGilucRoYEQJ%2FJioAAAACAAn%2F%2BAS7BKcAHQApAAAAMh4CFQcXFAcBFgYPAQYiJwEGIycHIi4CND4BBCIOARQeATI%2BATQmAZDItoNOAQFOARMXARY7GikT%2Fu13jgUCZLaDTk6DAXKwlFZWlLCUVlYEp06DtmQCBY15%2Fu4aJRg6FBQBEk0BAU6Dtsi2g1tWlLCUVlaUsJQAAQBkAFgErwREABkAAAE%2BAh4CFRQOAwcuBDU0PgIeAQKJMHt4dVg2Q3mEqD4%2Bp4V4Qzhadnh5A7VESAUtU3ZAOXmAf7JVVbJ%2FgHk5QHZTLQVIAAAAAf%2FTAF4EewSUABgAAAETNjIXEyEyFgcFExYGJyUFBiY3EyUmNjMBl4MHFQeBAaUVBhH%2BqoIHDxH%2Bqf6qEQ8Hgv6lEQYUAyABYRMT%2Fp8RDPn%2BbxQLDPb3DAsUAZD7DBEAAv%2FTAF4EewSUABgAIgAAARM2MhcTITIWBwUTFgYnJQUGJjcTJSY2MwUjFwc3Fyc3IycBl4MHFQeBAaUVBhH%2BqoIHDxH%2Bqf6qEQ8Hgv6lEQYUAfPwxUrBw0rA6k4DIAFhExP%2BnxEM%2Bf5vFAsM9vcMCxQBkPsMEWSO4ouM5YzTAAABAAAAAASwBLAAJgAAATIWHQEUBiMVFBYXBR4BHQEUBiMhIiY9ATQ2NyU%2BAT0BIiY9ATQ2Alh8sD4mDAkBZgkMDwr7ggoPDAkBZgkMJj6wBLCwfPouaEsKFwbmBRcKXQoPDwpdChcF5gYXCktoLvp8sAAAAA0AAAAABLAETAAPABMAIwAnACsALwAzADcARwBLAE8AUwBXAAATITIWFREUBiMhIiY1ETQ2FxUzNSkBIgYVERQWMyEyNjURNCYzFTM1BRUzNSEVMzUFFTM1IRUzNQchIgYVERQWMyEyNjURNCYFFTM1IRUzNQUVMzUhFTM1GQR%2BCg8PCvuCCg8PVWQCo%2F3aCg8PCgImCg8Pc2T8GGQDIGT8GGQDIGTh%2FdoKDw8KAiYKDw%2F872QDIGT8GGQDIGQETA8K%2B%2BYKDw8KBBoKD2RkZA8K%2FqIKDw8KAV4KD2RkyGRkZGTIZGRkZGQPCv6iCg8PCgFeCg9kZGRkZMhkZGRkAAAEAAAAAARMBEwADwAfAC8APwAAEyEyFhURFAYjISImNRE0NikBMhYVERQGIyEiJjURNDYBITIWFREUBiMhIiY1ETQ2KQEyFhURFAYjISImNRE0NjIBkBUdHRX%2BcBUdHQJtAZAVHR0V%2FnAVHR39vQGQFR0dFf5wFR0dAm0BkBUdHRX%2BcBUdHQRMHRX%2BcBUdHRUBkBUdHRX%2BcBUdHRUBkBUd%2FagdFf5wFR0dFQGQFR0dFf5wFR0dFQGQFR0AAAkAAAAABEwETAAPAB8ALwA%2FAE8AXwBvAH8AjwAAEzMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2ATMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2ATMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2MsgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR389cgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR389cgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR0ETB0VyBUdHRXIFR0dFcgVHR0VyBUdHRXIFR0dFcgVHf5wHRXIFR0dFcgVHR0VyBUdHRXIFR0dFcgVHR0VyBUd%2FnAdFcgVHR0VyBUdHRXIFR0dFcgVHR0VyBUdHRXIFR0ABgAAAAAEsARMAA8AHwAvAD8ATwBfAAATMzIWHQEUBisBIiY9ATQ2KQEyFh0BFAYjISImPQE0NgEzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2ATMyFh0BFAYrASImPQE0NikBMhYdARQGIyEiJj0BNDYyyBUdHRXIFR0dAaUCvBUdHRX9RBUdHf6FyBUdHRXIFR0dAaUCvBUdHRX9RBUdHf6FyBUdHRXIFR0dAaUCvBUdHRX9RBUdHQRMHRXIFR0dFcgVHR0VyBUdHRXIFR3%2BcB0VyBUdHRXIFR0dFcgVHR0VyBUd%2FnAdFcgVHR0VyBUdHRXIFR0dFcgVHQAAAAABACYALAToBCAAFwAACQE2Mh8BFhQHAQYiJwEmND8BNjIfARYyAdECOwgUB7EICPzxBxUH%2FoAICLEHFAirBxYB3QI7CAixBxQI%2FPAICAGACBQHsQgIqwcAAQBuAG4EQgRCACMAAAEXFhQHCQEWFA8BBiInCQEGIi8BJjQ3CQEmND8BNjIXCQE2MgOIsggI%2FvUBCwgIsggVB%2F70%2FvQHFQiyCAgBC%2F71CAiyCBUHAQwBDAcVBDuzCBUH%2FvT%2B9AcVCLIICAEL%2FvUICLIIFQcBDAEMBxUIsggI%2FvUBDAcAAwAX%2F%2BsExQSZABkAJQBJAAAAMh4CFRQHARYUDwEGIicBBiMiLgI0PgEEIg4BFB4BMj4BNCYFMzIWHQEzMhYdARQGKwEVFAYrASImPQEjIiY9ATQ2OwE1NDYBmcSzgk1OASwICG0HFQj%2B1HeOYrSBTU2BAW%2BzmFhYmLOZWFj%2BvJYKD0sKDw8KSw8KlgoPSwoPDwpLDwSZTYKzYo15%2FtUIFQhsCAgBK01NgbTEs4JNWJmzmFhYmLOZIw8KSw8KlgoPSwoPDwpLDwqWCg9LCg8AAAMAF%2F%2FrBMUEmQAZACUANQAAADIeAhUUBwEWFA8BBiInAQYjIi4CND4BBCIOARQeATI%2BATQmBSEyFh0BFAYjISImPQE0NgGZxLOCTU4BLAgIbQcVCP7Ud45itIFNTYEBb7OYWFiYs5lYWP5YAV4KDw8K%2FqIKDw8EmU2Cs2KNef7VCBUIbAgIAStNTYG0xLOCTViZs5hYWJizmYcPCpYKDw8KlgoPAAAAAAIAFwAXBJkEsAAPAC0AAAEzMhYVERQGKwEiJjURNDYFNRYSFRQOAiIuAjU0EjcVDgEVFB4BMj4BNTQmAiZkFR0dFWQVHR0BD6fSW5vW6tabW9KnZ3xyxejFcnwEsB0V%2FnAVHR0VAZAVHeGmPv7ZuHXWm1tbm9Z1uAEnPqY3yHh0xXJyxXR4yAAEAGQAAASwBLAADwAfAC8APwAAATMyFhURFAYrASImNRE0NgEzMhYVERQGKwEiJjURNDYBMzIWFREUBisBIiY1ETQ2BTMyFh0BFAYrASImPQE0NgQBlgoPDwqWCg8P%2Ft6WCg8PCpYKDw%2F%2B3pYKDw8KlgoPD%2F7elgoPDwqWCg8PBLAPCvuCCg8PCgR%2BCg%2F%2BcA8K%2FRIKDw8KAu4KD%2F7UDwr%2BPgoPDwoBwgoPyA8K%2BgoPDwr6Cg8AAAAAAgAaABsElgSWAEcATwAAATIfAhYfATcWFwcXFh8CFhUUDwIGDwEXBgcnBwYPAgYjIi8CJi8BByYnNycmLwImNTQ%2FAjY%2FASc2Nxc3Nj8CNhIiBhQWMjY0AlghKSYFMS0Fhj0rUAMZDgGYBQWYAQ8YA1AwOIYFLDIFJisfISkmBTEtBYY8LFADGQ0ClwYGlwINGQNQLzqFBS0xBSYreLJ%2BfrJ%2BBJYFmAEOGQJQMDmGBSwxBiYrHiIoJgYxLAWGPSxRAxkOApcFBZcCDhkDUTA5hgUtMAYmKiAhKCYGMC0Fhj0sUAIZDgGYBf6ZfrF%2BfrEABwBkAAAEsAUUABMAFwAhACUAKQAtADEAAAEhMhYdASEyFh0BITU0NjMhNTQ2FxUhNQERFAYjISImNREXETMRMxEzETMRMxEzETMRAfQBLCk7ARMKD%2Fu0DwoBEzspASwBLDsp%2FUQpO2RkZGRkZGRkBRQ7KWQPCktLCg9kKTtkZGT%2B1PzgKTs7KQMgZP1EArz9RAK8%2FUQCvP1EArwAAQAMAAAFCATRAB8AABMBNjIXARYGKwERFAYrASImNREhERQGKwEiJjURIyImEgJsCBUHAmAIBQqvDwr6Cg%2F%2B1A8K%2BgoPrwoFAmoCYAcH%2FaAICv3BCg8PCgF3%2FokKDw8KAj8KAAIAZAAAA%2BgEsAARABcAAAERFBYzIREUBiMhIiY1ETQ2MwEjIiY9AQJYOykBLB0V%2FOAVHR0VA1L6FR0EsP5wKTv9dhUdHRUETBUd%2FnAdFfoAAwAXABcEmQSZAA8AGwAwAAAAMh4CFA4CIi4CND4BBCIOARQeATI%2BATQmBTMyFhURMzIWHQEUBisBIiY1ETQ2AePq1ptbW5vW6tabW1ubAb%2FoxXJyxejFcnL%2BfDIKD68KDw8K%2BgoPDwSZW5vW6tabW1ub1urWmztyxejFcnLF6MUNDwr%2B7Q8KMgoPDwoBXgoPAAAAAAL%2FnAAABRQEsAALAA8AACkBAyMDIQEzAzMDMwEDMwMFFP3mKfIp%2FeYBr9EVohTQ%2Fp4b4BsBkP5wBLD%2B1AEs%2FnD%2B1AEsAAAAAAIAZAAABLAEsAAVAC8AAAEzMhYVETMyFgcBBiInASY2OwERNDYBMzIWFREUBiMhIiY1ETQ2OwEyFh0BITU0NgImyBUdvxQLDf65DSYN%2FrkNCxS%2FHQJUMgoPDwr75goPDwoyCg8DhA8EsB0V%2Fj4XEP5wEBABkBAXAcIVHfzgDwr%2BogoPDwoBXgoPDwqvrwoPAAMAFwAXBJkEmQAPABsAMQAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgUzMhYVETMyFgcDBiInAyY2OwERNDYB4%2BrWm1tbm9bq1ptbW5sBv%2BjFcnLF6MVycv58lgoPiRUKDd8NJg3fDQoViQ8EmVub1urWm1tbm9bq1ps7csXoxXJyxejFDQ8K%2Fu0XEP7tEBABExAXARMKDwAAAAMAFwAXBJkEmQAPABsAMQAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JiUTFgYrAREUBisBIiY1ESMiJjcTNjIB4%2BrWm1tbm9bq1ptbW5sBv%2BjFcnLF6MVycv7n3w0KFYkPCpYKD4kVCg3fDSYEmVub1urWm1tbm9bq1ps7csXoxXJyxejFAf7tEBf%2B7QoPDwoBExcQARMQAAAAAAIAAAAABLAEsAAZADkAABMhMhYXExYVERQGBwYjISImJyY1EzQ3Ez4BBSEiBgcDBhY7ATIWHwEeATsBMjY%2FAT4BOwEyNicDLgHhAu4KEwO6BwgFDBn7tAweAgYBB7kDEwKX%2FdQKEgJXAgwKlgoTAiYCEwr6ChMCJgITCpYKDAJXAhIEsA4K%2FXQYGf5XDB4CBggEDRkBqRkYAowKDsgOC%2F4%2BCw4OCpgKDg4KmAoODgsBwgsOAAMAFwAXBJkEmQAPABsAJwAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgUXFhQPAQYmNRE0NgHj6tabW1ub1urWm1tbmwG%2F6MVycsXoxXJy%2Fov9ERH9EBgYBJlbm9bq1ptbW5vW6tabO3LF6MVycsXoxV2%2BDCQMvgwLFQGQFQsAAQAXABcEmQSwACgAAAE3NhYVERQGIyEiJj8BJiMiDgEUHgEyPgE1MxQOAiIuAjQ%2BAjMyA7OHBwsPCv6WCwQHhW2BdMVycsXoxXKWW5vW6tabW1ub1nXABCSHBwQL%2FpYKDwsHhUxyxejFcnLFdHXWm1tbm9bq1ptbAAAAAAIAFwABBJkEsAAaADUAAAE3NhYVERQGIyEiJj8BJiMiDgEVIzQ%2BAjMyEzMUDgIjIicHBiY1ETQ2MyEyFg8BFjMyPgEDs4cHCw8L%2FpcLBAeGboF0xXKWW5vWdcDrllub1nXAnIYHCw8LAWgKBQiFboJ0xXIEJIcHBAv%2BlwsPCweGS3LFdHXWm1v9v3XWm1t2hggFCgFoCw8LB4VMcsUAAAAKAGQAAASwBLAADwAfAC8APwBPAF8AbwB%2FAI8AnwAAEyEyFhURFAYjISImNRE0NgUhIgYVERQWMyEyNjURNCYFMzIWHQEUBisBIiY9ATQ2MyEyFh0BFAYjISImPQE0NgczMhYdARQGKwEiJj0BNDYzITIWHQEUBiMhIiY9ATQ2BzMyFh0BFAYrASImPQE0NjMhMhYdARQGIyEiJj0BNDYHMzIWHQEUBisBIiY9ATQ2MyEyFh0BFAYjISImPQE0Nn0EGgoPDwr75goPDwPA%2FK4KDw8KA1IKDw%2F9CDIKDw8KMgoPD9IBwgoPDwr%2BPgoPD74yCg8PCjIKDw%2FSAcIKDw8K%2Fj4KDw%2B%2BMgoPDwoyCg8P0gHCCg8PCv4%2BCg8PvjIKDw8KMgoPD9IBwgoPDwr%2BPgoPDwSwDwr7ggoPDwoEfgoPyA8K%2FK4KDw8KA1IKD2QPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKDwAAAAACAAAAAARMBLAAGQAjAAABNTQmIyEiBh0BIyIGFREUFjMhMjY1ETQmIyE1NDY7ATIWHQEDhHVT%2FtRSdmQpOzspA4QpOzsp%2FageFMgUHgMgyFN1dlLIOyn9qCk7OykCWCk7lhUdHRWWAAIAZAAABEwETAAJADcAABMzMhYVESMRNDYFMhcWFREUBw4DIyIuAScuAiMiBwYjIicmNRE%2BATc2HgMXHgIzMjc2fTIKD2QPA8AEBRADIUNAMRwaPyonKSxHHlVLBwgGBQ4WeDsXKC4TOQQpLUUdZ1AHBEwPCvvNBDMKDzACBhH%2BWwYGO1AkDQ0ODg8PDzkFAwcPAbY3VwMCAwsGFAEODg5XCAAAAwAAAAAEsASXACEAMQBBAAAAMh4CFREUBisBIiY1ETQuASAOARURFAYrASImNRE0PgEDMzIWFREUBisBIiY1ETQ2ITMyFhURFAYrASImNRE0NgHk6N6jYw8KMgoPjeT%2B%2BuSNDwoyCg9joyqgCAwMCKAIDAwCYKAIDAwIoAgMDASXY6PedP7UCg8PCgEsf9FyctF%2F%2FtQKDw8KASx03qP9wAwI%2FjQIDAwIAcwIDAwI%2FjQIDAwIAcwIDAAAAAACAAAA0wRHA90AFQA5AAABJTYWFREUBiclJisBIiY1ETQ2OwEyBTc2Mh8BFhQPARcWFA8BBiIvAQcGIi8BJjQ%2FAScmND8BNjIXAUEBAgkMDAn%2B%2FhUZ%2BgoPDwr6GQJYeAcUByIHB3h4BwciBxQHeHgHFAciBwd3dwcHIgcUBwMurAYHCv0SCgcGrA4PCgFeCg%2BEeAcHIgcUB3h4BxQHIgcHd3cHByIHFAd4eAcUByIICAAAAAACAAAA0wNyA90AFQAvAAABJTYWFREUBiclJisBIiY1ETQ2OwEyJTMWFxYVFAcGDwEiLwEuATc2NTQnJjY%2FATYBQQECCQwMCf7%2BFRn6Cg8PCvoZAdIECgZgWgYLAwkHHQcDBkhOBgMIHQcDLqwGBwr9EgoHBqwODwoBXgoPZAEJgaGafwkBAQYXBxMIZ36EaggUBxYFAAAAAAMAAADEBGID7AAbADEASwAAATMWFxYVFAYHBgcjIi8BLgE3NjU0JicmNj8BNgUlNhYVERQGJyUmKwEiJjURNDY7ATIlMxYXFhUUBwYPASIvAS4BNzY1NCcmNj8BNgPHAwsGh0RABwoDCQcqCAIGbzs3BgIJKgf9ggECCQwMCf7%2BFRn6Cg8PCvoZAdIECgZgWgYLAwkHHQcDBkhOBgMIHQcD7AEJs9lpy1QJAQYiBhQIlrJarEcJFAYhBb6sBgcK%2FRIKBwasDg8KAV4KD2QBCYGhmn8JAQEGFwcTCGd%2BhGoIFQYWBQAAAAANAAAAAASwBLAACQAVABkAHQAhACUALQA7AD8AQwBHAEsATwAAATMVIxUhFSMRIQEjFTMVIREjESM1IQURIREhESERBSM1MwUjNTMBMxEhETM1MwEzFSMVIzUjNTM1IzUhBREhEQcjNTMFIzUzASM1MwUhNSEB9GRk%2FnBkAfQCvMjI%2FtTIZAJY%2B7QBLAGQASz84GRkArxkZP1EyP4MyGQB9MhkyGRkyAEs%2FUQBLGRkZAOEZGT%2BDGRkAfT%2B1AEsA4RkZGQCWP4MZMgBLAEsyGT%2B1AEs%2FtQBLMhkZGT%2BDP4MAfRk%2FtRkZGRkyGTI%2FtQBLMhkZGT%2B1GRkZAAAAAAJAAAAAASwBLAAAwAHAAsADwATABcAGwAfACMAADcjETMTIxEzASMRMxMjETMBIxEzASE1IRcjNTMXIzUzBSM1M2RkZMhkZAGQyMjIZGQBLMjI%2FOD%2B1AEsyGRkyGRkASzIyMgD6PwYA%2Bj8GAPo%2FBgD6PwYA%2Bj7UGRkW1tbW1sAAAIAAAAKBKYEsAANABUAAAkBFhQHAQYiJwETNDYzBCYiBhQWMjYB9AKqCAj%2BMAgUCP1WAQ8KAUM7Uzs7UzsEsP1WCBQI%2FjAICAKqAdsKD807O1Q7OwAAAAADAAAACgXSBLAADQAZACEAAAkBFhQHAQYiJwETNDYzIQEWFAcBBiIvAQkBBCYiBhQWMjYB9AKqCAj%2BMAgUCP1WAQ8KAwYCqggI%2FjAIFAg4Aaj9RP7TO1M7O1M7BLD9VggUCP4wCAgCqgHbCg%2F9VggUCP4wCAg4AaoCvM07O1Q7OwAAAAABAGQAAASwBLAAJgAAASEyFREUDwEGJjURNCYjISIPAQYWMyEyFhURFAYjISImNRE0PwE2ASwDOUsSQAgKDwr9RBkSQAgFCgK8Cg8PCvyuCg8SixIEsEv8fBkSQAgFCgO2Cg8SQAgKDwr8SgoPDwoDzxkSixIAAAABAMj%2F%2FwRMBLAACgAAEyEyFhURCQERNDb6AyAVHf4%2B%2Fj4dBLAdFfuCAbz%2BQwR%2FFR0AAAAAAwAAAAAEsASwABUARQBVAAABISIGBwMGHwEeATMhMjY%2FATYnAy4BASMiBg8BDgEjISImLwEuASsBIgYVERQWOwEyNj0BNDYzITIWHQEUFjsBMjY1ETQmASEiBg8BBhYzITI2LwEuAQM2%2FkQLEAFOBw45BhcKAcIKFwY%2BDgdTARABVpYKFgROBBYK%2FdoKFgROBBYKlgoPDwqWCg8PCgLuCg8PCpYKDw%2F%2Bsf4MChMCJgILCgJYCgsCJgITBLAPCv7TGBVsCQwMCWwVGAEtCg%2F%2BcA0JnAkNDQmcCQ0PCv12Cg8PCpYKDw8KlgoPDwoCigoP%2FagOCpgKDg4KmAoOAAAAAAQAAABkBLAETAAdACEAKQAxAAABMzIeAh8BMzIWFREUBiMhIiY1ETQ2OwE%2BBAEVMzUEIgYUFjI2NCQyFhQGIiY0AfTIOF00JAcGlik7Oyn8GCk7OymWAgknM10ByGT%2Bz76Hh76H%2Fu9WPDxWPARMKTs7FRQ7Kf2oKTs7KQJYKTsIG0U1K%2F7UZGRGh76Hh74IPFY8PFYAAAAAAgA1AAAEsASvACAAIwAACQEWFx4BHwEVITUyNi8BIQYHBh4CMxUhNTY3PgE%2FAQEDIQMCqQGBFCgSJQkK%2Fl81LBFS%2Fnk6IgsJKjIe%2FpM4HAwaBwcBj6wBVKIEr%2FwaMioTFQECQkJXLd6RWSIuHAxCQhgcDCUNDQPu%2FVoByQAAAAADAGQAAAPwBLAAJwAyADsAAAEeBhUUDgMjITU%2BATURNC4EJzUFMh4CFRQOAgclMzI2NTQuAisBETMyNjU0JisBAvEFEzUwOyodN1htbDD%2BDCk7AQYLFyEaAdc5dWM%2BHy0tEP6Pi05pESpTPnbYUFJ9Xp8CgQEHGB0zOlIuQ3VONxpZBzMoAzsYFBwLEAkHRwEpSXNDM1s6KwkxYUopOzQb%2FK5lUFqBAAABAMgAAANvBLAAGQAAARcOAQcDBhYXFSE1NjcTNjQuBCcmJzUDbQJTQgeECSxK%2Fgy6Dq0DAw8MHxUXDQYEsDkTNSj8uTEoBmFhEFIDQBEaExAJCwYHAwI5AAAAAAL%2FtQAABRQEsAAlAC8AAAEjNC4FKwERFBYfARUhNTI%2BAzURIyIOBRUjESEFIxEzByczESM3BRQyCAsZEyYYGcgyGRn%2BcAQOIhoWyBkYJhMZCwgyA%2Bj7m0tLfX1LS30DhBUgFQ4IAwH8rhYZAQJkZAEFCRUOA1IBAwgOFSAVASzI%2FOCnpwMgpwACACH%2FtQSPBLAAJQAvAAABIzQuBSsBERQWHwEVITUyPgM1ESMiDgUVIxEhEwc1IRUnNxUhNQRMMggLGRMmGBnIMhkZ%2FnAEDiIaFsgZGCYTGQsIMgPoQ6f84KenAyADhBUgFQ4IAwH9dhYZAQJkZAEFCRUOAooBAwgOFSAVASz7gn1LS319S0sABAAAAAAEsARMAA8AHwAvAD8AABMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYyAlgVHR0V%2FagVHR0VA%2BgVHR0V%2FBgVHR0VAyAVHR0V%2FOAVHR0VBEwVHR0V%2B7QVHR0ETB0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0ABAAAAAAEsARMAA8AHwAvAD8AABMhMhYdARQGIyEiJj0BNDYDITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NgMhMhYdARQGIyEiJj0BNDb6ArwVHR0V%2FUQVHR2zBEwVHR0V%2B7QVHR3dArwVHR0V%2FUQVHR2zBEwVHR0V%2B7QVHR0ETB0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0ABAAAAAAEsARMAA8AHwAvAD8AAAE1NDYzITIWHQEUBiMhIiYBNTQ2MyEyFh0BFAYjISImEzU0NjMhMhYdARQGIyEiJgE1NDYzITIWHQEUBiMhIiYB9B0VAlgVHR0V%2FagVHf5wHRUD6BUdHRX8GBUdyB0VAyAVHR0V%2FOAVHf7UHRUETBUdHRX7tBUdA7ZkFR0dFWQVHR3%2B6WQVHR0VZBUdHf7pZBUdHRVkFR0d%2FulkFR0dFWQVHR0AAAQAAAAABLAETAAPAB8ALwA%2FAAATITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2MgRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dBEwdFWQVHR0VZBUd%2FtQdFWQVHR0VZBUd%2FtQdFWQVHR0VZBUd%2FtQdFWQVHR0VZBUdAAgAAAAABLAETAAPAB8ALwA%2FAE8AXwBvAH8AABMzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2ATMyFh0BFAYrASImPQE0NikBMhYdARQGIyEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2KQEyFh0BFAYjISImPQE0NgEzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2MmQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR3%2B6WQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR3%2B6WQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR3%2B6WQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR0ETB0VZBUdHRVkFR0dFWQVHR0VZBUd%2FtQdFWQVHR0VZBUdHRVkFR0dFWQVHf7UHRVkFR0dFWQVHR0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0dFWQVHR0VZBUdAAAG%2F5wAAASwBEwAAwATACMAKgA6AEoAACEjETsCMhYdARQGKwEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2BQc1IzUzNQUhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2AZBkZJZkFR0dFWQVHR0VAfQVHR0V%2FgwVHR3%2B%2BqfIyAHCASwVHR0V%2FtQVHR0VAlgVHR0V%2FagVHR0ETB0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR36fUtkS68dFWQVHR0VZBUd%2FtQdFWQVHR0VZBUdAAAABgAAAAAFFARMAA8AEwAjACoAOgBKAAATMzIWHQEUBisBIiY9ATQ2ASMRMwEhMhYdARQGIyEiJj0BNDYFMxUjFSc3BSEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYyZBUdHRVkFR0dA2dkZPyuAfQVHR0V%2FgwVHR0EL8jIp6f75gEsFR0dFf7UFR0dFQJYFR0dFf2oFR0dBEwdFWQVHR0VZBUd%2B7QETP7UHRVkFR0dFWQVHchkS319rx0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0AAAAAAgAAAMgEsAPoAA8AEgAAEyEyFhURFAYjISImNRE0NgkCSwLuHywsH%2F0SHywsBIT%2B1AEsA%2BgsH%2F12HywsHwKKHyz9RAEsASwAAwAAAAAEsARMAA8AFwAfAAATITIWFREUBiMhIiY1ETQ2FxE3BScBExEEMhYUBiImNCwEWBIaGhL7qBIaGkr3ASpKASXs%2FNJwTk5wTgRMGhL8DBIaGhID9BIaZP0ftoOcAT7%2B4AH0dE5vT09vAAAAAAIA2wAFBDYEkQAWAB4AAAEyHgEVFAcOAQ8BLgQnJjU0PgIWIgYUFjI2NAKIdcZzRkWyNjYJIV5YbSk8RHOft7eCgreCBJF4ynVzj23pPz4IIWZomEiEdVijeUjDgriBgbgAAAACABcAFwSZBJkADwAXAAAAMh4CFA4CIi4CND4BAREiDgEUHgEB4%2BrWm1tbm9bq1ptbW5sBS3TFcnLFBJlbm9bq1ptbW5vW6tab%2FG8DVnLF6MVyAAACAHUAAwPfBQ8AGgA1AAABHgYVFA4DBy4DNTQ%2BBQMOAhceBBcWNj8BNiYnLgInJjc2IyYCKhVJT1dOPiUzVnB9P1SbfEokP0xXUEm8FykoAwEbITEcExUWAgYCCQkFEikMGiACCAgFD0iPdXdzdYdFR4BeRiYEBTpjl1lFh3ZzeHaQ%2Ff4hS4I6JUEnIw4IBwwQIgoYBwQQQSlZtgsBAAAAAwAAAAAEywRsAAwAKgAvAAABNz4CHgEXHgEPAiUhMhcHISIGFREUFjMhMjY9ATcRFAYjISImNRE0NgkBBzcBA%2BhsAgYUFR0OFgoFBmz9BQGQMje7%2FpApOzspAfQpO8i7o%2F5wpbm5Azj%2BlqE3AWMD9XMBAgIEDw4WKgsKc8gNuzsp%2FgwpOzsptsj%2BtKW5uaUBkKW5%2Ftf%2BljKqAWMAAgAAAAAEkwRMABsANgAAASEGByMiBhURFBYzITI2NTcVFAYjISImNRE0NgUBFhQHAQYmJzUmDgMHPgY3NT4BAV4BaaQ0wyk7OykB9Ck7yLml%2FnClubkCfwFTCAj%2BrAcLARo5ZFRYGgouOUlARioTAQsETJI2Oyn%2BDCk7OymZZ6W5uaUBkKW5G%2F7TBxUH%2Fs4GBAnLAQINFjAhO2JBNB0UBwHSCgUAAAAAAgAAAAAEnQRMAB0ANQAAASEyFwchIgYVERQWMyEyNj0BNxUUBiMhIiY1ETQ2CQE2Mh8BFhQHAQYiLwEmND8BNjIfARYyAV4BXjxDsv6jKTs7KQH0KTvIuaX%2BcKW5uQHKAYsHFQdlBwf97QcVB%2FgHB2UHFQdvCBQETBexOyn%2BDCk7OylFyNulubmlAZCluf4zAYsHB2UHFQf97AcH%2BAcVB2UHB28HAAAAAQAKAAoEpgSmADsAAAkBNjIXARYGKwEVMzU0NhcBFhQHAQYmPQEjFTMyFgcBBiInASY2OwE1IxUUBicBJjQ3ATYWHQEzNSMiJgE%2BAQgIFAgBBAcFCqrICggBCAgI%2FvgICsiqCgUH%2FvwIFAj%2B%2BAgFCq%2FICgj%2B%2BAgIAQgICsivCgUDlgEICAj%2B%2BAgKyK0KBAf%2B%2FAcVB%2F73BwQKrcgKCP74CAgBCAgKyK0KBAcBCQcVBwEEBwQKrcgKAAEAyAAAA4QETAAZAAATMzIWFREBNhYVERQGJwERFAYrASImNRE0NvpkFR0B0A8VFQ%2F%2BMB0VZBUdHQRMHRX%2BSgHFDggV%2FBgVCA4Bxf5KFR0dFQPoFR0AAAABAAAAAASwBEwAIwAAEzMyFhURATYWFREBNhYVERQGJwERFAYnAREUBisBIiY1ETQ2MmQVHQHQDxUB0A8VFQ%2F%2BMBUP%2FjAdFWQVHR0ETB0V%2FkoBxQ4IFf5KAcUOCBX8GBUIDgHF%2FkoVCA4Bxf5KFR0dFQPoFR0AAAABAJ0AGQSwBDMAFQAAAREUBicBERQGJwEmNDcBNhYVEQE2FgSwFQ%2F%2BMBUP%2FhQPDwHsDxUB0A8VBBr8GBUIDgHF%2FkoVCA4B4A4qDgHgDggV%2FkoBxQ4IAAAAAQDIABYEMwQ2AAsAABMBFhQHAQYmNRE0NvMDLhIS%2FNISGRkEMv4OCx4L%2Fg4LDhUD6BUOAAIAyABkA4QD6AAPAB8AABMzMhYVERQGKwEiJjURNDYhMzIWFREUBisBIiY1ETQ2%2BsgVHR0VyBUdHQGlyBUdHRXIFR0dA%2BgdFfzgFR0dFQMgFR0dFfzgFR0dFQMgFR0AAAEAyABkBEwD6AAPAAABERQGIyEiJjURNDYzITIWBEwdFfzgFR0dFQMgFR0DtvzgFR0dFQMgFR0dAAAAAAEAAAAZBBMEMwAVAAABETQ2FwEWFAcBBiY1EQEGJjURNDYXAfQVDwHsDw%2F%2BFA8V%2FjAPFRUPAmQBthUIDv4gDioO%2FiAOCBUBtv47DggVA%2BgVCA4AAAH%2F%2FgACBLMETwAjAAABNzIWFRMUBiMHIiY1AwEGJjUDAQYmNQM0NhcBAzQ2FwEDNDYEGGQUHgUdFWQVHQL%2BMQ4VAv4yDxUFFQ8B0gIVDwHSAh0ETgEdFfwYFR0BHRUBtf46DwkVAbX%2BOQ4JFAPoFQkP%2Fj4BthQJDv49AbYVHQAAAQEsAAAD6ARMABkAAAEzMhYVERQGKwEiJjURAQYmNRE0NhcBETQ2A1JkFR0dFWQVHf4wDxUVDwHQHQRMHRX8GBUdHRUBtv47DggVA%2BgVCA7%2BOwG2FR0AAAIAZADIBLAESAALABsAAAkBFgYjISImNwE2MgEhMhYdARQGIyEiJj0BNDYCrgH1DwkW%2B%2B4WCQ8B9Q8q%2FfcD6BUdHRX8GBUdHQQ5%2FeQPFhYPAhwP%2FUgdFWQVHR0VZBUdAAEAiP%2F8A3UESgAFAAAJAgcJAQN1%2FqABYMX92AIoA4T%2Bn%2F6fxgIoAiYAAAAAAQE7%2F%2FwEKARKAAUAAAkBJwkBNwQo%2FdnGAWH%2Bn8YCI%2F3ZxgFhAWHGAAIAFwAXBJkEmQAPADMAAAAyHgIUDgIiLgI0PgEFIyIGHQEjIgYdARQWOwEVFBY7ATI2PQEzMjY9ATQmKwE1NCYB4%2BrWm1tbm9bq1ptbW5sBfWQVHZYVHR0Vlh0VZBUdlhUdHRWWHQSZW5vW6tabW1ub1urWm7odFZYdFWQVHZYVHR0Vlh0VZBUdlhUdAAAAAAIAFwAXBJkEmQAPAB8AAAAyHgIUDgIiLgI0PgEBISIGHQEUFjMhMjY9ATQmAePq1ptbW5vW6tabW1ubAkX%2BDBUdHRUB9BUdHQSZW5vW6tabW1ub1urWm%2F5%2BHRVkFR0dFWQVHQACABcAFwSZBJkADwAzAAAAMh4CFA4CIi4CND4BBCIPAScmIg8BBhQfAQcGFB8BFjI%2FARcWMj8BNjQvATc2NC8BAePq1ptbW5vW6tabW1ubAeUZCXh4CRkJjQkJeHgJCY0JGQl4eAkZCY0JCXh4CQmNBJlbm9bq1ptbW5vW6tabrQl4eAkJjQkZCXh4CRkJjQkJeHgJCY0JGQl4eAkZCY0AAgAXABcEmQSZAA8AJAAAADIeAhQOAiIuAjQ%2BAQEnJiIPAQYUHwEWMjcBNjQvASYiBwHj6tabW1ub1urWm1tbmwEVVAcVCIsHB%2FIHFQcBdwcHiwcVBwSZW5vW6tabW1ub1urWm%2F4xVQcHiwgUCPEICAF3BxUIiwcHAAAAAAMAFwAXBJkEmQAPADsASwAAADIeAhQOAiIuAjQ%2BAQUiDgMVFDsBFjc%2BATMyFhUUBgciDgUHBhY7ATI%2BAzU0LgMTIyIGHQEUFjsBMjY9ATQmAePq1ptbW5vW6tabW1ubAT8dPEIyIRSDHgUGHR8UFw4TARkOGhITDAIBDQ6tBx4oIxgiM0Q8OpYKDw8KlgoPDwSZW5vW6tabW1ub1urWm5ELHi9PMhkFEBQQFRIXFgcIBw4UHCoZCBEQKDhcNi9IKhsJ%2FeMPCpYKDw8KlgoPAAADABcAFwSZBJkADwAfAD4AAAAyHgIUDgIiLgI0PgEFIyIGHQEUFjsBMjY9ATQmAyMiBh0BFBY7ARUjIgYdARQWMyEyNj0BNCYrARE0JgHj6tabW1ub1urWm1tbmwGWlgoPDwqWCg8PCvoKDw8KS0sKDw8KAV4KDw8KSw8EmVub1urWm1tbm9bq1ptWDwqWCg8PCpYKD%2F7UDwoyCg%2FIDwoyCg8PCjIKDwETCg8AAgAAAAAEsASwAC8AXwAAATMyFh0BHgEXMzIWHQEUBisBDgEHFRQGKwEiJj0BLgEnIyImPQE0NjsBPgE3NTQ2ExUUBisBIiY9AQ4BBzMyFh0BFAYrAR4BFzU0NjsBMhYdAT4BNyMiJj0BNDY7AS4BAg2WCg9nlxvCCg8PCsIbl2cPCpYKD2eXG8IKDw8KwhuXZw%2B5DwqWCg9EZheoCg8PCqgXZkQPCpYKD0RmF6gKDw8KqBdmBLAPCsIbl2cPCpYKD2eXG8IKDw8KwhuXZw8KlgoPZ5cbwgoP%2Fs2oCg8PCqgXZkQPCpYKD0RmF6gKDw8KqBdmRA8KlgoPRGYAAwAXABcEmQSZAA8AGwA%2FAAAAMh4CFA4CIi4CND4BBCIOARQeATI%2BATQmBxcWFA8BFxYUDwEGIi8BBwYiLwEmND8BJyY0PwE2Mh8BNzYyAePq1ptbW5vW6tabW1ubAb%2FoxXJyxejFcnKaQAcHfHwHB0AHFQd8fAcVB0AHB3x8BwdABxUHfHwHFQSZW5vW6tabW1ub1urWmztyxejFcnLF6MVaQAcVB3x8BxUHQAcHfHwHB0AHFQd8fAcVB0AHB3x8BwAAAAMAFwAXBJkEmQAPABsAMAAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgcXFhQHAQYiLwEmND8BNjIfATc2MgHj6tabW1ub1urWm1tbmwG%2F6MVycsXoxXJyg2oHB%2F7ACBQIyggIagcVB0%2FFBxUEmVub1urWm1tbm9bq1ps7csXoxXJyxejFfWoHFQf%2BvwcHywcVB2oICE%2FFBwAAAAMAFwAXBJkEmQAPABgAIQAAADIeAhQOAiIuAjQ%2BAQUiDgEVFBcBJhcBFjMyPgE1NAHj6tabW1ub1urWm1tbmwFLdMVyQQJLafX9uGhzdMVyBJlbm9bq1ptbW5vW6tabO3LFdHhpAktB0P24PnLFdHMAAAAAAQAXAFMEsAP5ABUAABMBNhYVESEyFh0BFAYjIREUBicBJjQnAgoQFwImFR0dFf3aFxD99hACRgGrDQoV%2Ft0dFcgVHf7dFQoNAasNJgAAAAABAAAAUwSZA%2FkAFQAACQEWFAcBBiY1ESEiJj0BNDYzIRE0NgJ%2FAgoQEP32EBf92hUdHRUCJhcD8f5VDSYN%2FlUNChUBIx0VyBUdASMVCgAAAAEAtwAABF0EmQAVAAAJARYGIyERFAYrASImNREhIiY3ATYyAqoBqw0KFf7dHRXIFR3%2B3RUKDQGrDSYEif32EBf92hUdHRUCJhcQAgoQAAAAAQC3ABcEXQSwABUAAAEzMhYVESEyFgcBBiInASY2MyERNDYCJsgVHQEjFQoN%2FlUNJg3%2BVQ0KFQEjHQSwHRX92hcQ%2FfYQEAIKEBcCJhUdAAABAAAAtwSZBF0AFwAACQEWFAcBBiY1EQ4DBz4ENxE0NgJ%2FAgoQEP32EBdesKWBJAUsW4fHfhcEVf5VDSYN%2FlUNChUBIwIkRHVNabGdcUYHAQYVCgACAAAAAASwBLAAFQArAAABITIWFREUBi8BBwYiLwEmND8BJyY2ASEiJjURNDYfATc2Mh8BFhQPARcWBgNSASwVHRUOXvkIFAhqBwf5Xg4I%2FiH%2B1BUdFQ5e%2BQgUCGoHB%2FleDggEsB0V%2FtQVCA5e%2BQcHaggUCPleDhX7UB0VASwVCA5e%2BQcHaggUCPleDhUAAAACAEkASQRnBGcAFQArAAABFxYUDwEXFgYjISImNRE0Nh8BNzYyASEyFhURFAYvAQcGIi8BJjQ%2FAScmNgP2agcH%2BV4OCBX%2B1BUdFQ5e%2BQgU%2FQwBLBUdFQ5e%2BQgUCGoHB%2FleDggEYGoIFAj5Xg4VHRUBLBUIDl75B%2F3xHRX%2B1BUIDl75BwdqCBQI%2BV4OFQAAAAADABcAFwSZBJkADwAfAC8AAAAyHgIUDgIiLgI0PgEFIyIGFxMeATsBMjY3EzYmAyMiBh0BFBY7ATI2PQE0JgHj6tabW1ub1urWm1tbmwGz0BQYBDoEIxQ2FCMEOgQYMZYKDw8KlgoPDwSZW5vW6tabW1ub1urWm7odFP7SFB0dFAEuFB3%2BDA8KlgoPDwqWCg8AAAAABQAAAAAEsASwAEkAVQBhAGgAbwAAATIWHwEWHwEWFxY3Nj8BNjc2MzIWHwEWHwIeATsBMhYdARQGKwEiBh0BIREjESE1NCYrASImPQE0NjsBMjY1ND8BNjc%2BBAUHBhY7ATI2LwEuAQUnJgYPAQYWOwEyNhMhIiY1ESkBERQGIyERAQQJFAUFFhbEFQ8dCAsmxBYXERUXMA0NDgQZCAEPCj0KDw8KMgoP%2FnDI%2FnAPCjIKDw8KPQsOCRkFDgIGFRYfAp2mBwQK2woKAzMDEP41sQgQAzMDCgrnCwMe%2FokKDwGQAlgPCv6JBLAEAgIKDXYNCxUJDRZ2DQoHIREQFRh7LAkLDwoyCg8PCq8BLP7UrwoPDwoyCg8GBQQwgBkUAwgWEQ55ogcKDgqVCgSqnQcECo8KDgr8cg8KAXf%2BiQoPAZAAAAAAAgAAAAwErwSmACsASQAAATYWFQYCDgQuAScmByYOAQ8BBiY1NDc%2BATc%2BAScuAT4BNz4GFyYGBw4BDwEOBAcOARY2Nz4CNz4DNz4BBI0IGgItQmxhi2KORDg9EQQRMxuZGhYqCFUYEyADCQIQOjEnUmFch3vAJQgdHyaiPT44XHRZUhcYDhItIRmKcVtGYWtbKRYEBKYDEwiy%2Ft3IlVgxEQgLCwwBAQIbG5kYEyJAJghKFRE8Hzdff4U%2FM0o1JSMbL0QJGCYvcSEhHjZST2c1ODwEJygeW0AxJUBff1UyFAABAF0AHgRyBM8ATwAAAQ4BHgQXLgc%2BATceAwYHDgQHBicmNzY3PgQuAScWDgMmJy4BJyY%2BBDcGHgM3PgEuAicmPgMCjScfCic4R0IgBBsKGAoQAwEJEg5gikggBhANPkpTPhZINx8SBgsNJysiCRZOQQoVNU1bYC9QZwICBAUWITsoCAYdJzIYHw8YIiYHDyJJYlkEz0OAZVxEOSQMBzgXOB42IzElKRIqg5Gnl0o3Z0c6IAYWCwYNAwQFIDhHXGF1OWiqb0sdBxUknF0XNTQ8PEUiNWNROBYJDS5AQVUhVZloUSkAAAAAA%2F%2FcAGoE1ARGABsAPwBRAAAAMh4FFA4FIi4FND4EBSYGFxYVFAYiJjU0NzYmBwYHDgEXHgQyPgM3NiYnJgUHDgEXFhcWNj8BNiYnJicuAQIGpJ17bk85HBw6T257naKde25POhwcOU9uewIPDwYIGbD4sBcIBw5GWg0ECxYyWl%2BDiINfWjIWCwQMWv3%2FIw8JCSU4EC0OIw4DDywtCyIERi1JXGJcSSpJXGJcSS0tSVxiXEkqSVxiXEncDwYTOT58sLB8OzcTBg9FcxAxEiRGXkQxMEVeRSQSMRF1HiQPLxJEMA0EDyIPJQ8sSRIEAAAABP%2FcAAAE1ASwABQAJwA7AEwAACEjNy4ENTQ%2BBTMyFzczEzceARUUDgMHNz4BNzYmJyYlBgcOARceBBc3LgE1NDc2JhcHDgEXFhcWNj8CJyYnLgECUJQfW6l2WSwcOU9ue51SPUEglCYvbIknUGqYUi5NdiYLBAw2%2FVFGWg0ECxIqSExoNSlrjxcIB3wjDwkJJTgQLQ4MFgMsLQsieBRhdHpiGxVJXGJcSS0Pef5StVXWNBpacm5jGq0xiD8SMRFGckVzEDESHjxRQTkNmhKnbjs3EwZwJA8vEkQwDQQPC1YELEkSBAAAAAP%2FngAABRIEqwALABgAKAAAJwE2FhcBFgYjISImJSE1NDY7ATIWHQEhAQczMhYPAQ4BKwEiJi8BJjZaAoIUOBQCghUbJfryJRsBCgFZDwqWCg8BWf5DaNAUGAQ6BCMUNhQjBDoEGGQEKh8FIfvgIEdEhEsKDw8KSwLT3x0U%2FBQdHRT8FB0AAAABAGQAFQSwBLAAKAAAADIWFREBHgEdARQGJyURFh0BFAYvAQcGJj0BNDcRBQYmPQE0NjcBETQCTHxYAWsPFhgR%2FplkGhPNzRMaZP6ZERgWDwFrBLBYPv6t%2FrsOMRQpFA0M%2Bf75XRRAFRAJgIAJEBVAFF0BB%2FkMDRQpFDEOAUUBUz4AAAARAAAAAARMBLAAHQAnACsALwAzADcAOwA%2FAEMARwBLAE8AUwBXAFsAXwBjAAABMzIWHQEzMhYdASE1NDY7ATU0NjsBMhYdASE1NDYBERQGIyEiJjURFxUzNTMVMzUzFTM1MxUzNTMVMzUFFTM1MxUzNTMVMzUzFTM1MxUzNQUVMzUzFTM1MxUzNTMVMzUzFTM1A1JkFR0yFR37tB0VMh0VZBUdAfQdAQ8dFfwYFR1kZGRkZGRkZGRk%2FHxkZGRkZGRkZGT8fGRkZGRkZGRkZASwHRUyHRWWlhUdMhUdHRUyMhUd%2FnD9EhUdHRUC7shkZGRkZGRkZGRkyGRkZGRkZGRkZGTIZGRkZGRkZGRkZAAAAAMAAAAZBXcElwAZACUANwAAARcWFA8BBiY9ASMBISImPQE0NjsBATM1NDYBBycjIiY9ATQ2MyEBFxYUDwEGJj0BIyc3FzM1NDYEb%2FkPD%2FkOFZ%2F9qP7dFR0dFdECWPEV%2FamNetEVHR0VASMDGvkPD%2FkOFfG1jXqfFQSN5g4qDuYOCBWW%2FagdFWQVHQJYlhUI%2FpiNeh0VZBUd%2Fk3mDioO5g4IFZa1jXqWFQgAAAABAAAAAASwBEwAEgAAEyEyFhURFAYjIQERIyImNRE0NmQD6Ck7Oyn9rP7QZCk7OwRMOyn9qCk7%2FtQBLDspAlgpOwAAAAMAZAAABEwEsAAJABMAPwAAEzMyFh0BITU0NiEzMhYdASE1NDYBERQOBSIuBTURIRUUFRwBHgYyPgYmNTQ9AZbIFR3%2B1B0C0cgVHf7UHQEPBhgoTGacwJxmTCgYBgEsAwcNFB8nNkI2Jx8TDwUFAQSwHRX6%2BhUdHRX6%2BhUd%2FnD%2B1ClJalZcPigoPlxWakkpASz6CRIVKyclIRsWEAgJEBccISUnKhURCPoAAAAB%2F%2F8A1ARMA8IABQAAAQcJAScBBEzG%2Fp%2F%2Bn8UCJwGbxwFh%2Fp%2FHAicAAQAAAO4ETQPcAAUAAAkCNwkBBE392v3ZxgFhAWEDFf3ZAifH%2Fp8BYQAAAAAC%2F1EAZAVfA%2BgAFAApAAABITIWFREzMhYPAQYiLwEmNjsBESElFxYGKwERIRchIiY1ESMiJj8BNjIBlALqFR2WFQgO5g4qDuYOCBWW%2FoP%2BHOYOCBWWAYHX%2FRIVHZYVCA7mDioD6B0V%2FdkVDvkPD%2FkOFQGRuPkOFf5wyB0VAiYVDvkPAAABAAYAAASeBLAAMAAAEzMyFh8BITIWBwMOASMhFyEyFhQGKwEVFAYiJj0BIRUUBiImPQEjIiYvAQMjIiY0NjheERwEJgOAGB4FZAUsIf2HMAIXFR0dFTIdKh3%2B1B0qHR8SHQYFyTYUHh4EsBYQoiUY%2FiUVK8gdKh0yFR0dFTIyFR0dFTIUCQoDwR0qHQAAAAACAAAAAASwBEwACwAPAAABFSE1MzQ2MyEyFhUFIREhBLD7UMg7KQEsKTv9RASw%2B1AD6GRkKTs7Kcj84AACAAAAAAXcBEwADAAQAAATAxEzNDYzITIWFSEVBQEhAcjIyDspASwqOgH0ASz%2B1PtQASwDIP5wAlgpOzspyGT9RAK8AAEBRQAAA2sErwAbAAABFxYGKwERMzIWDwEGIi8BJjY7AREjIiY%2FATYyAnvmDggVlpYVCA7mDioO5g4IFZaWFQgO5g4qBKD5DhX9pxUO%2BQ8P%2BQ4VAlkVDvkPAAAAAQABAUQErwNrABsAAAEXFhQPAQYmPQEhFRQGLwEmND8BNhYdASE1NDYDqPkODvkPFf2oFQ%2F5Dg75DxUCWBUDYOUPKQ%2FlDwkUl5cUCQ%2FlDykP5Q8JFZWVFQkAAAAEAAAAAASwBLAACQAZAB0AIQAAAQMuASMhIgYHAwUhIgYdARQWMyEyNj0BNCYFNTMVMzUzFQSRrAUkFP1gFCQFrAQt%2FBgpOzspA%2BgpOzv%2Bq2RkZAGQAtwXLSgV%2FR1kOylkKTs7KWQpO8hkZGRkAAAAA%2F%2BcAGQEsARMAAsAIwAxAAAAMhYVERQGIiY1ETQDJSMTFgYjIisBIiYnAj0BNDU0PgE7ASUBFSIuAz0BND4CNwRpKh0dKh1k%2FV0mLwMRFQUCVBQdBDcCCwzIAqP8GAQOIhoWFR0dCwRMHRX8rhUdHRUDUhX8mcj%2B7BAIHBUBUQ76AgQQDw36%2FtT6AQsTKRwyGigUDAEAAAACAEoAAARmBLAALAA1AAABMzIWDwEeARcTFzMyFhQGBw4EIyIuBC8BLgE0NjsBNxM%2BATcnJjYDFjMyNw4BIiYCKV4UEgYSU3oPP3YRExwaEggeZGqfTzl0XFU%2BLwwLEhocExF2Pw96UxIGEyQyNDUxDDdGOASwFRMlE39N%2FrmtHSkoBwQLHBYSCg4REg4FBAgoKR2tAUdNfhQgExr7vgYGMT09AAEAFAAUBJwEnAAXAAABNwcXBxcHFycHJwcnBzcnNyc3Jxc3FzcDIOBO6rS06k7gLZubLeBO6rS06k7gLZubA7JO4C2bmy3gTuq0tOpO4C2bmy3gTuq0tAADAAAAZASwBLAAIQAtAD0AAAEzMhYdAQchMhYdARQHAw4BKwEiJi8BIyImNRE0PwI%2BARcPAREzFzMTNSE3NQEzMhYVERQGKwEiJjURNDYCijIoPBwBSCg8He4QLBf6B0YfHz0tNxSRYA0xG2SWZIjW%2Bv4%2BMv12ZBUdHRVkFR0dBLBRLJZ9USxkLR3%2BqBghMhkZJCcBkCQbxMYcKGTU1f6JZAF3feGv%2FtQdFf4MFR0dFQH0FR0AAAAAAwAAAAAEsARMACAAMAA8AAABMzIWFxMWHQEUBiMhFh0BFAYrASImLwImNRE0NjsBNgUzMhYVERQGKwEiJjURNDYhByMRHwEzNSchNQMCWPoXLBDuHTwo%2FrgcPCgyGzENYJEUNy09fP3pZBUdHRVkFR0dAl%2BIZJZkMjIBwvoETCEY%2FqgdLWQsUXYHlixRKBzGxBskAZAnJGRkHRX%2BDBUdHRUB9BUdZP6J1dSv4X0BdwADAAAAZAUOBE8AGwA3AEcAAAElNh8BHgEPASEyFhQGKwEDDgEjISImNRE0NjcXERchEz4BOwEyNiYjISoDLgQnJj8BJwUzMhYVERQGKwEiJjURNDYBZAFrHxZuDQEMVAEuVGxuVGqDBhsP%2FqoHphwOOmQBJYMGGw%2FLFRMSFv44AgoCCQMHAwUDAQwRklb9T2QVHR0VZBUdHQNp5hAWcA0mD3lMkE7%2BrRUoog0CDRElCkj%2BCVkBUxUoMjIBAgIDBQIZFrdT5B0V%2FgwVHR0VAfQVHQAAAAP%2FnABkBLAETwAdADYARgAAAQUeBBURFAYjISImJwMjIiY0NjMhJyY2PwE2BxcWBw4FKgIjIRUzMhYXEyE3ESUFMzIWFREUBisBIiY1ETQ2AdsBbgIIFBANrAf%2Bqg8bBoNqVW1sVAEuVQsBDW4WSpIRDAIDBQMHAwkDCgH%2BJd0PHAaCASZq%2FqoCUGQVHR0VZBUdHQRP5gEFEBEXC%2F3zDaIoFQFTTpBMeQ8mDXAWrrcWGQIFAwICAWQoFf6tWQH37OQdFf4MFR0dFQH0FR0AAAADAGEAAARMBQ4AGwA3AEcAAAAyFh0BBR4BFREUBiMhIiYvAQMmPwE%2BAR8BETQXNTQmBhURHAMOBAcGLwEHEyE3ESUuAQMhMhYdARQGIyEiJj0BNDYB3pBOAVMVKKIN%2FfMRJQoJ5hAWcA0mD3nGMjIBAgIDBQIZFrdT7AH3Wf6tFSiWAfQVHR0V%2FgwVHR0FDm5UaoMGGw%2F%2BqgemHA4OAWsfFm4NAQxUAS5U1ssVExIW%2FjgCCgIJAwcDBQMBDBGSVv6tZAElgwYb%2FQsdFWQVHR0VZBUdAAP%2F%2FQAGA%2BgFFAAPAC0ASQAAASEyNj0BNCYjISIGHQEUFgEVFAYiJjURBwYmLwEmNxM%2BBDMhMhYVERQGBwEDFzc2Fx4FHAIVERQWNj0BNDY3JREnAV4B9BUdHRX%2BDBUdHQEPTpBMeQ8mDXAWEOYBBRARFwsCDQ2iKBX9iexTtxYZAgUDAgIBMjIoFQFTWQRMHRVkFR0dFWQVHfzmalRubFQBLlQMAQ1uFh8BawIIEw8Mpgf%2Bqg8bBgHP%2Fq1WkhEMAQMFAwcDCQIKAv44FhITFcsPGwaDASVkAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEBJSYGHQEhIgYdARQWMyEVFBY3JTY0AeLs1ptbW5vW7NabW1ubAob%2B7RAX%2Fu0KDw8KARMXEAETEASaW5vW7NabW1ub1uzWm%2F453w0KFYkPCpYKD4kVCg3fDSYAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgENAQYUFwUWNj0BITI2PQE0JiMhNTQmAeLs1ptbW5vW7NabW1ubASX%2B7RAQARMQFwETCg8PCv7tFwSaW5vW7NabW1ub1uzWm%2BjfDSYN3w0KFYkPCpYKD4kVCgAAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEBAyYiBwMGFjsBERQWOwEyNjURMzI2AeLs1ptbW5vW7NabW1ubAkvfDSYN3w0KFYkPCpYKD4kVCgSaW5vW7NabW1ub1uzWm%2F5AARMQEP7tEBf%2B7QoPDwoBExcAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEFIyIGFREjIgYXExYyNxM2JisBETQmAeLs1ptbW5vW7NabW1ubAZeWCg%2BJFQoN3w0mDd8NChWJDwSaW5vW7NabW1ub1uzWm7sPCv7tFxD%2B7RAQARMQFwETCg8AAAMAGAAYBJgEmAAPAJYApgAAADIeAhQOAiIuAjQ%2BASUOAwcGJgcOAQcGFgcOAQcGFgcUFgcyHgEXHgIXHgI3Fg4BFx4CFxQGFBcWNz4CNy4BJy4BJyIOAgcGJyY2NS4BJzYuAQYHBicmNzY3HgIXHgMfAT4CJyY%2BATc%2BAzcmNzIWMjY3LgMnND4CJiceAT8BNi4CJwYHFB4BFS4CJz4BNxYyPgEB5OjVm1xcm9Xo1ZtcXJsBZA8rHDoKDz0PFD8DAxMBAzEFCRwGIgEMFhkHECIvCxU%2FOR0HFBkDDRQjEwcFaHUeISQDDTAMD0UREi4oLBAzDwQBBikEAQMLGhIXExMLBhAGKBsGBxYVEwYFAgsFAwMNFwQGCQcYFgYQCCARFwkKKiFBCwQCAQMDHzcLDAUdLDgNEiEQEgg%2FKhADGgMKEgoRBJhcm9Xo1ZtcXJvV6NWbEQwRBwkCAwYFBycPCxcHInIWInYcCUcYChQECA4QBAkuHgQPJioRFRscBAcSCgwCch0kPiAIAQcHEAsBAgsLIxcBMQENCQIPHxkCFBkdHB4QBgEBBwoMGBENBAMMJSAQEhYXDQ4qFBkKEhIDCQsXJxQiBgEOCQwHAQ0DBAUcJAwSCwRnETIoAwEJCwsLJQcKDBEAAAAAAQAAAAIErwSFABYAAAE2FwUXNxYGBw4BJwEGIi8BJjQ3ASY2AvSkjv79kfsGUE08hjv9rA8rD28PDwJYIk8EhVxliuh%2BWYcrIgsW%2FawQEG4PKxACV2XJAAYAAABgBLAErAAPABMAIwAnADcAOwAAEyEyFh0BFAYjISImPQE0NgUjFTMFITIWHQEUBiMhIiY9ATQ2BSEVIQUhMhYdARQGIyEiJj0BNDYFIRUhZAPoKTs7KfwYKTs7BBHIyPwYA%2BgpOzsp%2FBgpOzsEEf4MAfT8GAPoKTs7KfwYKTs7BBH%2B1AEsBKw7KWQpOzspZCk7ZGTIOylkKTs7KWQpO2RkyDspZCk7OylkKTtkZAAAAAIAZAAABEwEsAALABEAABMhMhYUBiMhIiY0NgERBxEBIZYDhBUdHRX8fBUdHQI7yP6iA4QEsB0qHR0qHf1E%2FtTIAfQB9AAAAAMAAABkBLAEsAAXABsAJQAAATMyFh0BITIWFREhNSMVIRE0NjMhNTQ2FxUzNQEVFAYjISImPQEB9MgpOwEsKTv%2BDMj%2BDDspASw7KcgB9Dsp%2FBgpOwSwOylkOyn%2BcGRkAZApO2QpO2RkZP1EyCk7OynIAAAABAAAAAAEsASwABUAKwBBAFcAABMhMhYPARcWFA8BBiIvAQcGJjURNDYpATIWFREUBi8BBwYiLwEmND8BJyY2ARcWFA8BFxYGIyEiJjURNDYfATc2MgU3NhYVERQGIyEiJj8BJyY0PwE2MhcyASwVCA5exwcHaggUCMdeDhUdAzUBLBUdFQ5exwgUCGoHB8deDgj%2BL2oHB8deDggV%2FtQVHRUOXscIFALLXg4VHRX%2B1BUIDl7HBwdqCBQIBLAVDl7HCBQIagcHx14OCBUBLBUdHRX%2B1BUIDl7HBwdqCBQIx14OFf0maggUCMdeDhUdFQEsFQgOXscHzl4OCBX%2B1BUdFQ5exwgUCGoHBwAAAAYAAAAABKgEqAAPABsAIwA7AEMASwAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JiQyFhQGIiY0JDIWFAYjIicHFhUUBiImNTQ2PwImNTQEMhYUBiImNCQyFhQGIiY0Advy3Z9fX5%2Fd8t2gXl6gAcbgv29vv%2BC%2Fb2%2F%2BLS0gIC0gAUwtICAWDg83ETNIMykfegEJ%2FoctICAtIAIdLSAgLSAEqF%2Bf3fLdoF5eoN3y3Z9Xb7%2Fgv29vv%2BC%2FBiAtISEtICAtIQqRFxwkMzMkIDEFfgEODhekIC0gIC0gIC0gIC0AAf%2FYAFoEuQS8AFsAACUBNjc2JicmIyIOAwcABw4EFx4BMzI3ATYnLgEjIgcGBwEOASY0NwA3PgEzMhceARcWBgcOBgcGIyImJyY2NwE2NzYzMhceARcWBgcBDgEnLgECIgHVWwgHdl8WGSJBMD8hIP6IDx4eLRMNBQlZN0ozAiQkEAcdEhoYDRr%2Bqw8pHA4BRyIjQS4ODyw9DQ4YIwwod26La1YOOEBGdiIwGkQB%2F0coW2tQSE5nDxE4Qv4eDyoQEAOtAdZbZWKbEQQUGjIhH%2F6JDxsdNSg3HT5CMwIkJCcQFBcMGv6uDwEcKQ4BTSIjIQEINykvYyMLKnhuiWZMBxtAOU6%2BRAH%2FSBg3ISSGV121Qv4kDwIPDyYAAAACAGQAWASvBEQAGQBEAAABPgIeAhUUDgMHLgQ1ND4CHgEFIg4DIi4DIyIGFRQeAhcWFx4EMj4DNzY3PgQ1NCYCiTB7eHVYNkN5hKg%2BPqeFeEM4WnZ4eQEjIT8yLSohJyktPyJDbxtBMjMPBw86KzEhDSIzKUAMBAgrKT8dF2oDtURIBS1TdkA5eYB%2FslVVsn%2BAeTlAdlMtBUgtJjY1JiY1NiZvTRc4SjQxDwcOPCouGBgwKEALBAkpKkQqMhNPbQACADn%2F8gR3BL4AFwAuAAAAMh8BFhUUBg8BJi8BNycBFwcvASY0NwEDNxYfARYUBwEGIi8BJjQ%2FARYfAQcXAQKru0KNQjgiHR8uEl%2F3%2FnvUaRONQkIBGxJpCgmNQkL%2B5UK6Qo1CQjcdLhJf9wGFBL5CjUJeKmsiHTUuEl%2F4%2FnvUahKNQrpCARv%2BRmkICY1CukL%2B5UJCjUK7Qjc3LxFf%2BAGFAAAAAAMAyAAAA%2BgEsAARABUAHQAAADIeAhURFAYjISImNRE0PgEHESERACIGFBYyNjQCBqqaZDo7Kf2oKTs8Zj4CWP7%2FVj09Vj0EsB4uMhX8Ryk7OykDuRUzLar9RAK8%2FRY9Vj09VgABAAAAAASwBLAAFgAACQEWFAYiLwEBEScBBRMBJyEBJyY0NjIDhgEbDx0qDiT%2B6dT%2BzP7oywEz0gEsAQsjDx0qBKH%2B5g8qHQ8j%2FvX%2B1NL%2BzcsBGAE01AEXJA4qHQAAAAADAScAEQQJBOAAMgBAAEsAAAEVHgQXIy4DJxEXHgQVFAYHFSM1JicuASczHgEXEScuBDU0PgI3NRkBDgMVFB4DFxYXET4ENC4CArwmRVI8LAKfBA0dMydAIjxQNyiym2SWVygZA4sFV0obLkJOMCAyVWg6HSoqFQ4TJhkZCWgWKTEiGBkzNwTgTgUTLD9pQiQuLBsH%2Fs0NBxMtPGQ%2Bi6oMTU8QVyhrVk1iEAFPCA4ZLzlYNkZwSCoGTf4SARIEDh02Jh0rGRQIBgPQ%2FsoCCRYgNEM0JRkAAAABAGQAZgOUBK0ASgAAATIeARUjNC4CIyIGBwYVFB4BFxYXMxUjFgYHBgc%2BATM2FjMyNxcOAyMiLgEHDgEPASc%2BBTc%2BAScjNTMmJy4CPgE3NgIxVJlemSc8OxolVBQpGxoYBgPxxQgVFS02ImIWIIwiUzUyHzY4HCAXanQmJ1YYFzcEGAcTDBEJMAwk3aYXFQcKAg4tJGEErVCLTig%2FIhIdFSw5GkowKgkFZDKCHj4yCg8BIh6TExcIASIfBAMaDAuRAxAFDQsRCjePR2QvORQrREFMIVgAAAACABn%2F%2FwSXBLAADwAfAAABMzIWDwEGIi8BJjY7AREzBRcWBisBESMRIyImPwE2MgGQlhUIDuYOKg7mDggVlsgCF%2BYOCBWWyJYVCA7mDioBLBYO%2Bg8P%2Bg4WA4QQ%2BQ4V%2FHwDhBUO%2BQ8AAAQAGf%2F%2FA%2BgEsAAHABcAGwAlAAABIzUjFSMRIQEzMhYPAQYiLwEmNjsBETMFFTM1EwczFSE1NyM1IQPoZGRkASz9qJYVCA7mDioO5g4IFZbIAZFkY8jI%2FtTIyAEsArxkZAH0%2FHwWDvoPD%2FoOFgOEZMjI%2FRL6ZJb6ZAAAAAAEABn%2F%2FwPoBLAADwAZACEAJQAAATMyFg8BBiIvASY2OwERMwUHMxUhNTcjNSERIzUjFSMRIQcVMzUBkJYVCA7mDioO5g4IFZbIAljIyP7UyMgBLGRkZAEsx2QBLBYO%2Bg8P%2Bg4WA4SW%2BmSW%2BmT7UGRkAfRkyMgAAAAEABn%2F%2FwRMBLAADwAVABsAHwAAATMyFg8BBiIvASY2OwERMwEjESM1MxMjNSMRIQcVMzUBkJYVCA7mDioO5g4IFZbIAlhkZMhkZMgBLMdkASwWDvoPD%2FoOFgOE%2FgwBkGT7UGQBkGTIyAAAAAAEABn%2F%2FwRMBLAADwAVABkAHwAAATMyFg8BBiIvASY2OwERMwEjNSMRIQcVMzUDIxEjNTMBkJYVCA7mDioO5g4IFZbIArxkyAEsx2QBZGTIASwWDvoPD%2FoOFgOE%2FgxkAZBkyMj7tAGQZAAAAAAFABn%2F%2FwSwBLAADwATABcAGwAfAAABMzIWDwEGIi8BJjY7AREzBSM1MxMhNSETITUhEyE1IQGQlhUIDuYOKg7mDggVlsgB9MjIZP7UASxk%2FnABkGT%2BDAH0ASwWDvoPD%2FoOFgOEyMj%2BDMj%2BDMj%2BDMgABQAZ%2F%2F8EsASwAA8AEwAXABsAHwAAATMyFg8BBiIvASY2OwERMwUhNSEDITUhAyE1IQMjNTMBkJYVCA7mDioO5g4IFZbIAyD%2BDAH0ZP5wAZBk%2FtQBLGTIyAEsFg76Dw%2F6DhYDhMjI%2FgzI%2FgzI%2FgzIAAIAAAAABEwETAAPAB8AAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmAV4BkKK8u6P%2BcKW5uQJn%2FgwpOzspAfQpOzsETLuj%2FnClubmlAZClucg7Kf4MKTs7KQH0KTsAAAAAAwAAAAAETARMAA8AHwArAAABITIWFREUBiMhIiY1ETQ2BSEiBhURFBYzITI2NRE0JgUXFhQPAQYmNRE0NgFeAZClubml%2FnCju7wCZP4MKTs7KQH0KTs7%2Fm%2F9ERH9EBgYBEy5pf5wpbm5pQGQo7vIOyn%2BDCk7OykB9Ck7gr4MJAy%2BDAsVAZAVCwAAAAADAAAAAARMBEwADwAfACsAAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmBSEyFg8BBiIvASY2AV4BkKO7uaX%2BcKW5uQJn%2FgwpOzspAfQpOzv%2BFQGQFQsMvgwkDL4MCwRMvKL%2BcKW5uaUBkKO7yDsp%2FgwpOzspAfQpO8gYEP0REf0QGAAAAAMAAAAABEwETAAPAB8AKwAAASEyFhURFAYjISImNRE0NgUhIgYVERQWMyEyNjURNCYFFxYGIyEiJj8BNjIBXgGQpbm5pf5wo7u5Amf%2BDCk7OykB9Ck7O%2F77vgwLFf5wFQsMvgwkBEy5pf5wo7u8ogGQpbnIOyn%2BDCk7OykB9Ck7z%2F0QGBgQ%2FREAAAAAAgAAAAAFFARMAB8ANQAAASEyFhURFAYjISImPQE0NjMhMjY1ETQmIyEiJj0BNDYHARYUBwEGJj0BIyImPQE0NjsBNTQ2AiYBkKW5uaX%2BcBUdHRUBwik7Oyn%2BPhUdHb8BRBAQ%2FrwQFvoVHR0V%2BhYETLml%2FnCluR0VZBUdOykB9Ck7HRVkFR3p%2FuQOJg7%2B5A4KFZYdFcgVHZYVCgAAAQDZAAID1wSeACMAAAEXFgcGAgclMhYHIggBBwYrAScmNz4BPwEhIicmNzYANjc2MwMZCQgDA5gCASwYEQ4B%2Fvf%2B8wQMDgkJCQUCUCcn%2FtIXCAoQSwENuwUJEASeCQoRC%2F5TBwEjEv7K%2FsUFDwgLFQnlbm4TFRRWAS%2FTBhAAAAACAAAAAAT%2BBEwAHwA1AAABITIWHQEUBiMhIgYVERQWMyEyFh0BFAYjISImNRE0NgUBFhQHAQYmPQEjIiY9ATQ2OwE1NDYBXgGQFR0dFf4%2BKTs7KQHCFR0dFf5wpbm5AvEBRBAQ%2FrwQFvoVHR0V%2BhYETB0VZBUdOyn%2BDCk7HRVkFR25pQGQpbnp%2FuQOJg7%2B5A4KFZYdFcgVHZYVCgACAAAAAASwBLAAFQAxAAABITIWFREUBi8BAQYiLwEmNDcBJyY2ASMiBhURFBYzITI2PQE3ERQGIyEiJjURNDYzIQLuAZAVHRUObf7IDykPjQ8PAThtDgj%2B75wpOzspAfQpO8i7o%2F5wpbm5pQEsBLAdFf5wFQgObf7IDw%2BNDykPAThtDhX%2B1Dsp%2FgwpOzsplMj%2B1qW5uaUBkKW5AAADAA4ADgSiBKIADwAbACMAAAAyHgIUDgIiLgI0PgEEIg4BFB4BMj4BNCYEMhYUBiImNAHh7tmdXV2d2e7ZnV1dnQHD5sJxccLmwnFx%2FnugcnKgcgSiXZ3Z7tmdXV2d2e7ZnUdxwubCcXHC5sJzcqBycqAAAAMAAAAABEwEsAAVAB8AIwAAATMyFhURMzIWBwEGIicBJjY7ARE0NgEhMhYdASE1NDYFFTM1AcLIFR31FAoO%2FoEOJw3%2BhQ0JFfod%2FoUD6BUd%2B7QdA2dkBLAdFf6iFg%2F%2BVg8PAaoPFgFeFR38fB0V%2BvoVHWQyMgAAAAMAAAAABEwErAAVAB8AIwAACQEWBisBFRQGKwEiJj0BIyImNwE%2BAQEhMhYdASE1NDYFFTM1AkcBeg4KFfQiFsgUGPoUCw4Bfw4n%2FfkD6BUd%2B7QdA2dkBJ7%2BTQ8g%2BhQeHRX6IQ8BrxAC%2FH8dFfr6FR1kMjIAAwAAAAAETARLABQAHgAiAAAJATYyHwEWFAcBBiInASY0PwE2MhcDITIWHQEhNTQ2BRUzNQGMAXEHFQeLBwf98wcVB%2F7cBweLCBUH1APoFR37tB0DZ2QC0wFxBweLCBUH%2FfMICAEjCBQIiwcH%2FdIdFfr6FR1kMjIABAAAAAAETASbAAkAGQAjACcAABM3NjIfAQcnJjQFNzYWFQMOASMFIiY%2FASc3ASEyFh0BITU0NgUVMzWHjg4qDk3UTQ4CFtIOFQIBHRX9qxUIDtCa1P49A%2BgVHfu0HQNnZAP%2Fjg4OTdRMDyqa0g4IFf2pFB4BFQ7Qm9T9Oh0V%2BvoVHWQyMgAAAAQAAAAABEwEsAAPABkAIwAnAAABBR4BFRMUBi8BByc3JyY2EwcGIi8BJjQ%2FAQEhMhYdASE1NDYFFTM1AV4CVxQeARUO0JvUm9IOCMNMDyoOjg4OTf76A%2BgVHfu0HQNnZASwAgEdFf2rFQgO0JrUmtIOFf1QTQ4Ojg4qDk3%2BWB0V%2BvoVHWQyMgACAAT%2F7ASwBK8ABQAIAAAlCQERIQkBFQEEsP4d%2Fsb%2BcQSs%2FTMCq2cBFP5xAacDHPz55gO5AAAAAAIAAABkBEwEsAAVABkAAAERFAYrAREhESMiJjURNDY7AREhETMHIzUzBEwdFZb9RJYVHR0V%2BgH0ZMhkZAPo%2FK4VHQGQ%2FnAdFQPoFB7%2B1AEsyMgAAAMAAABFBN0EsAAWABoALwAAAQcBJyYiDwEhESMiJjURNDY7AREhETMHIzUzARcWFAcBBiIvASY0PwE2Mh8BATYyBEwC%2FtVfCRkJlf7IlhUdHRX6AfRkyGRkAbBqBwf%2BXAgUCMoICGoHFQdPASkHFQPolf7VXwkJk%2F5wHRUD6BQe%2FtQBLMjI%2Fc5qBxUH%2FlsHB8sHFQdqCAhPASkHAAMAAAANBQcEsAAWABoAPgAAAREHJy4BBwEhESMiJjURNDY7AREhETMHIzUzARcWFA8BFxYUDwEGIi8BBwYiLwEmND8BJyY0PwE2Mh8BNzYyBExnhg8lEP72%2FreWFR0dFfoB9GTIZGQB9kYPD4ODDw9GDykPg4MPKQ9GDw%2BDgw8PRg8pD4ODDykD6P7zZ4YPAw7%2B9v5wHRUD6BQe%2FtQBLMjI%2FYxGDykPg4MPKQ9GDw%2BDgw8PRg8pD4ODDykPRg8Pg4MPAAADAAAAFQSXBLAAFQAZAC8AAAERISIGHQEhESMiJjURNDY7AREhETMHIzUzEzMyFh0BMzIWDwEGIi8BJjY7ATU0NgRM%2FqIVHf4MlhUdHRX6AfRkyGRklmQVHZYVCA7mDioO5g4IFZYdA%2Bj%2B1B0Vlv5wHRUD6BQe%2FtQBLMjI%2FagdFfoVDuYODuYOFfoVHQAAAAADAAAAAASXBLAAFQAZAC8AAAERJyYiBwEhESMiJjURNDY7AREhETMHIzUzExcWBisBFRQGKwEiJj0BIyImPwE2MgRMpQ4qDv75%2Fm6WFR0dFfoB9GTIZGTr5g4IFZYdFWQVHZYVCA7mDioD6P5wpQ8P%2Fvf%2BcB0VA%2BgUHv7UASzIyP2F5Q8V%2BhQeHhT6FQ%2FlDwADAAAAyASwBEwACQATABcAABMhMhYdASE1NDYBERQGIyEiJjURExUhNTIETBUd%2B1AdBJMdFfu0FR1kAZAETB0VlpYVHf7U%2FdoVHR0VAib%2B1MjIAAAGAAMAfQStBJcADwAZAB0ALQAxADsAAAEXFhQPAQYmPQEhNSE1NDYBIyImPQE0NjsBFyM1MwE3NhYdASEVIRUUBi8BJjQFIzU7AjIWHQEUBisBA6f4Dg74DhX%2BcAGQFf0vMhUdHRUyyGRk%2FoL3DhUBkP5wFQ73DwOBZGRkMxQdHRQzBI3mDioO5g4IFZbIlhUI%2FoUdFWQVHcjI%2FcvmDggVlsiWFQgO5g4qecgdFWQVHQAAAAACAGQAAASwBLAAFgBRAAABJTYWFREUBisBIiY1ES4ENRE0NiUyFh8BERQOAg8BERQGKwEiJjURLgQ1ETQ%2BAzMyFh8BETMRPAE%2BAjMyFh8BETMRND4DA14BFBklHRXIFR0EDiIaFiX%2B4RYZAgEVHR0LCh0VyBUdBA4iGhYBBwoTDRQZAgNkBQkVDxcZAQFkAQUJFQQxdBIUH%2FuuFR0dFQGNAQgbHzUeAWcfRJEZDA3%2BPhw%2FMSkLC%2F5BFR0dFQG%2FBA8uLkAcAcICBxENCxkMDf6iAV4CBxENCxkMDf6iAV4CBxENCwABAGQAAASwBEwAMwAAARUiDgMVERQWHwEVITUyNjURIREUFjMVITUyPgM1ETQmLwE1IRUiBhURIRE0JiM1BLAEDiIaFjIZGf5wSxn%2BDBlL%2FnAEDiIaFjIZGQGQSxkB9BlLBEw4AQUKFA78iBYZAQI4OA0lAYr%2BdiUNODgBBQoUDgN4FhkBAjg4DSX%2BdgGKJQ04AAAABgAAAAAETARMAAwAHAAgACQAKAA0AAABITIWHQEjBTUnITchBSEyFhURFAYjISImNRE0NhcVITUBBTUlBRUhNQUVFAYjIQchJyE3MwKjAXcVHWn%2B2cj%2BcGQBd%2F4lASwpOzsp%2FtQpOzspASwCvP5wAZD8GAEsArwdFf6JZP6JZAGQyGkD6B0VlmJiyGTIOyn%2BDCk7OykB9Ck7ZMjI%2FveFo4XGyMhm%2BBUdZGTIAAEAEAAQBJ8EnwAmAAATNzYWHwEWBg8BHgEXNz4BHwEeAQ8BBiIuBicuBTcRohEuDosOBhF3ZvyNdxEzE8ATBxGjAw0uMUxPZWZ4O0p3RjITCwED76IRBhPCFDERdo78ZXYRBA6IDi8RogEECBUgNUNjO0qZfHNVQBAAAAACAAAAAASwBEwAIwBBAAAAMh4EHwEVFAYvAS4BPQEmIAcVFAYPAQYmPQE%2BBRIyHgIfARUBHgEdARQGIyEiJj0BNDY3ATU0PgIB%2FLimdWQ%2FLAkJHRTKFB2N%2FsKNHRTKFB0DDTE7ZnTKcFImFgEBAW0OFR0V%2B7QVHRUOAW0CFiYETBUhKCgiCgrIFRgDIgMiFZIYGJIVIgMiAxgVyAQNJyQrIP7kExwcCgoy%2FtEPMhTUFR0dFdQUMg8BLzIEDSEZAAADAAAAAASwBLAADQAdACcAAAEHIScRMxUzNTMVMzUzASEyFhQGKwEXITcjIiY0NgMhMhYdASE1NDYETMj9qMjIyMjIyPyuArwVHR0VDIn8SokMFR0dswRMFR37UB0CvMjIAfTIyMjI%2FOAdKh1kZB0qHf7UHRUyMhUdAAAAAwBkAAAEsARMAAkAEwAdAAABIyIGFREhETQmASMiBhURIRE0JgEhETQ2OwEyFhUCvGQpOwEsOwFnZCk7ASw7%2FRv%2B1DspZCk7BEw7KfwYA%2BgpO%2F7UOyn9RAK8KTv84AGQKTs7KQAAAAAF%2F5wAAASwBEwADwATAB8AJQApAAATITIWFREUBiMhIiY1ETQ2FxEhEQUjFTMRITUzNSMRIQURByMRMwcRMxHIArx8sLB8%2FUR8sLAYA4T%2BDMjI%2FtTIyAEsAZBkyMhkZARMsHz%2BDHywsHwB9HywyP1EArzIZP7UZGQBLGT%2B1GQB9GT%2B1AEsAAAABf%2BcAAAEsARMAA8AEwAfACUAKQAAEyEyFhURFAYjISImNRE0NhcRIREBIzUjFSMRMxUzNTMFEQcjETMHETMRyAK8fLCwfP1EfLCwGAOE%2FgxkZGRkZGQBkGTIyGRkBEywfP4MfLCwfAH0fLDI%2FUQCvP2oyMgB9MjIZP7UZAH0ZP7UASwABP%2BcAAAEsARMAA8AEwAbACMAABMhMhYVERQGIyEiJjURNDYXESERBSMRMxUhESEFIxEzFSERIcgCvHywsHz9RHywsBgDhP4MyMj%2B1AEsAZDIyP7UASwETLB8%2Fgx8sLB8AfR8sMj9RAK8yP7UZAH0ZP7UZAH0AAAABP%2BcAAAEsARMAA8AEwAWABkAABMhMhYVERQGIyEiJjURNDYXESERAS0BDQERyAK8fLCwfP1EfLCwGAOE%2Fgz%2B1AEsAZD%2B1ARMsHz%2BDHywsHwB9HywyP1EArz%2BDJaWlpYBLAAAAAX%2FnAAABLAETAAPABMAFwAgACkAABMhMhYVERQGIyEiJjURNDYXESERAyERIQcjIgYVFBY7AQERMzI2NTQmI8gCvHywsHz9RHywsBgDhGT9RAK8ZIImOTYpgv4Mgik2OSYETLB8%2Fgx8sLB8AfR8sMj9RAK8%2FagB9GRWQUFUASz%2B1FRBQVYAAAAF%2F5wAAASwBEwADwATAB8AJQApAAATITIWFREUBiMhIiY1ETQ2FxEhEQUjFTMRITUzNSMRIQEjESM1MwMjNTPIArx8sLB8%2FUR8sLAYA4T%2BDMjI%2FtTIyAEsAZBkZMjIZGQETLB8%2Fgx8sLB8AfR8sMj9RAK8yGT%2B1GRkASz%2BDAGQZP4MZAAG%2F5wAAASwBEwADwATABkAHwAjACcAABMhMhYVERQGIyEiJjURNDYXESERBTMRIREzASMRIzUzBRUzNQEjNTPIArx8sLB8%2FUR8sLAYA4T9RMj%2B1GQCWGRkyP2oZAEsZGQETLB8%2Fgx8sLB8AfR8sMj9RAK8yP5wAfT%2BDAGQZMjIyP7UZAAF%2F5wAAASwBEwADwATABwAIgAmAAATITIWFREUBiMhIiY1ETQ2FxEhEQEHIzU3NSM1IQEjESM1MwMjNTPIArx8sLB8%2FUR8sLAYA4T%2BDMdkx8gBLAGQZGTIx2RkBEywfP4MfLCwfAH0fLDI%2FUQCvP5wyDLIlmT%2BDAGQZP4MZAAAAAMACQAJBKcEpwAPABsAJQAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgchFSEVISc1NyEB4PDbnl5entvw255eXp4BxeTCcXHC5MJxcWz%2B1AEs%2FtRkZAEsBKdentvw255eXp7b8NueTHHC5MJxccLkwtDIZGTIZAAAAAAEAAkACQSnBKcADwAbACcAKwAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgcVBxcVIycjFSMRIQcVMzUB4PDbnl5entvw255eXp4BxeTCcXHC5MJxcWwyZGRklmQBLMjIBKdentvw255eXp7b8NueTHHC5MJxccLkwtBkMmQyZGQBkGRkZAAAAv%2Fy%2F50EwgRBACAANgAAATIWFzYzMhYUBisBNTQmIyEiBh0BIyImNTQ2NyY1ND4BEzMyFhURMzIWDwEGIi8BJjY7ARE0NgH3brUsLC54qqp4gB0V%2FtQVHd5QcFZBAmKqepYKD4kVCg3fDSYN3w0KFYkPBEF3YQ6t8a36FR0dFfpzT0VrDhMSZKpi%2FbMPCv7tFxD0EBD0EBcBEwoPAAAAAAL%2F8v%2BcBMMEQQAcADMAAAEyFhc2MzIWFxQGBwEmIgcBIyImNTQ2NyY1ND4BExcWBisBERQGKwEiJjURIyImNzY3NjIB9m62LCsueaoBeFr%2Bhg0lDf6DCU9xVkECYqnm3w0KFYkPCpYKD4kVCg3HGBMZBEF3YQ%2BteGOkHAFoEBD%2Bk3NPRWsOExNkqWP9kuQQF%2F7tCg8PCgETFxDMGBMAAAABAGQAAARMBG0AGAAAJTUhATMBMwkBMwEzASEVIyIGHQEhNTQmIwK8AZD%2B8qr%2B8qr%2B1P7Uqv7yqv7yAZAyFR0BkB0VZGQBLAEsAU3%2Bs%2F7U%2FtRkHRUyMhUdAAAAAAEAeQAABDcEmwAvAAABMhYXHgEVFAYHFhUUBiMiJxUyFh0BITU0NjM1BiMiJjU0Ny4BNTQ2MzIXNCY1NDYCWF6TGll7OzIJaUo3LRUd%2FtQdFS03SmkELzlpSgUSAqMEm3FZBoNaPWcfHRpKaR77HRUyMhUd%2Bx5pShIUFVg1SmkCAhAFdKMAAAAGACcAFASJBJwAEQAqAEIASgBiAHsAAAEWEgIHDgEiJicmAhI3PgEyFgUiBw4BBwYWHwEWMzI3Njc2Nz4BLwEmJyYXIgcOAQcGFh8BFjMyNz4BNz4BLwEmJyYWJiIGFBYyNjciBw4BBw4BHwEWFxYzMjc%2BATc2Ji8BJhciBwYHBgcOAR8BFhcWMzI3PgE3NiYvASYD8m9PT29T2dzZU29PT29T2dzZ%2Fj0EBHmxIgQNDCQDBBcGG0dGYAsNAwkDCwccBAVQdRgEDA0iBAQWBhJROQwMAwkDCwf5Y4xjY4xjVhYGElE6CwwDCQMLBwgEBVB1GAQNDCIEjRcGG0dGYAsNAwkDCwcIBAR5sSIEDQwkAwPyb%2F7V%2FtVvU1dXU28BKwErb1NXVxwBIrF5DBYDCQEWYEZHGwMVDCMNBgSRAhh1UA0WAwkBFTpREgMVCyMMBwT6Y2OMY2MVFTpREQQVCyMMBwQCGHVQDRYDCQEkFmBGRxsDFQwjDQYEASKxeQwWAwkBAAAABQBkAAAD6ASwAAwADwAWABwAIgAAASERIzUhFSERNDYzIQEjNQMzByczNTMDISImNREFFRQGKwECvAEstP6s%2FoQPCgI%2FASzIZKLU1KJktP51Cg8DhA8KwwMg%2FoTIyALzCg%2F%2B1Mj84NTUyP4MDwoBi8jDCg8AAAAABQBkAAAD6ASwAAkADAATABoAIQAAASERCQERNDYzIQEjNRMjFSM1IzcDISImPQEpARUUBisBNQK8ASz%2Bov3aDwoCPwEsyD6iZKLUqv6dCg8BfAIIDwqbAyD9%2BAFe%2FdoERwoP%2FtTI%2FHzIyNT%2BZA8KNzcKD1AAAAAAAwAAAAAEsAP0AAgAGQAfAAABIxUzFyERIzcFMzIeAhUhFSEDETM0PgIBMwMhASEEiqJkZP7UotT9EsgbGiEOASz9qMhkDiEaAnPw8PzgASwB9AMgyGQBLNTUBBErJGT%2BogHCJCsRBP5w%2FnAB9AAAAAMAAAAABEwETAAZADIAOQAAATMyFh0BMzIWHQEUBiMhIiY9ATQ2OwE1NDYFNTIWFREUBiMhIic3ARE0NjMVFBYzITI2AQc1IzUzNQKKZBUdMhUdHRX%2B1BUdHRUyHQFzKTs7Kf2oARP2%2Fro7KVg%2BASw%2BWP201MjIBEwdFTIdFWQVHR0VZBUdMhUd%2BpY7KfzgKTsE9gFGAUQpO5Y%2BWFj95tSiZKIAAwBkAAAEvARMABkANgA9AAABMzIWHQEzMhYdARQGIyEiJj0BNDY7ATU0NgU1MhYVESMRMxQOAiMhIiY1ETQ2MxUUFjMhMjYBBzUjNTM1AcJkFR0yFR0dFf7UFR0dFTIdAXMpO8jIDiEaG%2F2oKTs7KVg%2BASw%2BWAGc1MjIBEwdFTIdFWQVHR0VZBUdMhUd%2BpY7Kf4M%2FtQkKxEEOykDICk7lj5YWP3m1KJkogAAAAP%2FogAABRYE1AALABsAHwAACQEWBiMhIiY3ATYyEyMiBhcTHgE7ATI2NxM2JgMVMzUCkgJ9FyAs%2BwQsIBcCfRZARNAUGAQ6BCMUNhQjBDoEGODIBK37sCY3NyYEUCf%2BTB0U%2FtIUHR0UAS4UHf4MZGQAAAAACQAAAAAETARMAA8AHwAvAD8ATwBfAG8AfwCPAAABMzIWHQEUBisBIiY9ATQ2EzMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2ITMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2ITMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBqfoKDw8K%2BgoPDwr6Cg8PCvoKDw8BmvoKDw8K%2BgoPD%2Fzq%2BgoPDwr6Cg8PAZr6Cg8PCvoKDw8BmvoKDw8K%2BgoPD%2Fzq%2BgoPDwr6Cg8PAZr6Cg8PCvoKDw8BmvoKDw8K%2BgoPDwRMDwqWCg8PCpYKD%2F7UDwqWCg8PCpYKDw8KlgoPDwqWCg%2F%2B1A8KlgoPDwqWCg8PCpYKDw8KlgoPDwqWCg8PCpYKD%2F7UDwqWCg8PCpYKDw8KlgoPDwqWCg8PCpYKDw8KlgoPAAAAAwAAAAAEsAUUABkAKQAzAAABMxUjFSEyFg8BBgchJi8BJjYzITUjNTM1MwEhMhYUBisBFyE3IyImNDYDITIWHQEhNTQ2ArxkZAFePjEcQiko%2FPwoKUIcMT4BXmRkyP4%2BArwVHR0VDIn8SooNFR0dswRMFR37UB0EsMhkTzeEUzMzU4Q3T2TIZPx8HSodZGQdKh3%2B1B0VMjIVHQAABAAAAAAEsAUUAAUAGQArADUAAAAyFhUjNAchFhUUByEyFg8BIScmNjMhJjU0AyEyFhQGKwEVBSElNSMiJjQ2AyEyFh0BITU0NgIwUDnCPAE6EgMBSCkHIq%2F9WrIiCikBSAOvArwVHR0VlgET%2FEoBE5YVHR2zBEwVHftQHQUUOykpjSUmCBEhFpGRFiERCCb%2BlR0qHcjIyMgdKh39qB0VMjIVHQAEAAAAAASwBJ0ABwAUACQALgAAADIWFAYiJjQTMzIWFRQXITY1NDYzASEyFhQGKwEXITcjIiY0NgMhMhYdASE1NDYCDZZqapZqty4iKyf%2BvCcrI%2F7NArwVHR0VDYr8SokMFR0dswRMFR37UB0EnWqWamqW%2Fus5Okxra0w6Of5yHSodZGQdKh3%2B1B0VMjIVHQAEAAAAAASwBRQADwAcACwANgAAATIeARUUBiImNTQ3FzcnNhMzMhYVFBchNjU0NjMBITIWFAYrARchNyMiJjQ2AyEyFh0BITU0NgJYL1szb5xvIpBvoyIfLiIrJ%2F68Jysj%2Fs0CvBUdHRUNivxKiQwVHR2zBEwVHftQHQUUa4s2Tm9vTj5Rj2%2BjGv4KOTpMa2tMOjn%2Bch0qHWRkHSod%2FtQdFTIyFR0AAAADAAAAAASwBRIAEgAiACwAAAEFFSEUHgMXIS4BNTQ%2BAjcBITIWFAYrARchNyMiJjQ2AyEyFh0BITU0NgJYASz%2B1CU%2FP00T%2Fe48PUJtj0r%2BogK8FR0dFQ2K%2FEqJDBUdHbMETBUd%2B1AdBLChizlmUT9IGVO9VFShdksE%2FH4dKh1kZB0qHf7UHRUyMhUdAAIAyAAAA%2BgFFAAPACkAAAAyFh0BHgEdASE1NDY3NTQDITIWFyMVMxUjFTMVIxUzFAYjISImNRE0NgIvUjsuNv5wNi5kAZA2XBqsyMjIyMh1U%2F5wU3V1BRQ7KU4aXDYyMjZcGk4p%2Fkc2LmRkZGRkU3V1UwGQU3UAAAMAZP%2F%2FBEwETAAPAC8AMwAAEyEyFhURFAYjISImNRE0NgMhMhYdARQGIyEXFhQGIi8BIQcGIiY0PwEhIiY9ATQ2BQchJ5YDhBUdHRX8fBUdHQQDtgoPDwr%2B5eANGiUNWP30Vw0mGg3g%2Ft8KDw8BqmQBRGQETB0V%2FgwVHR0VAfQVHf1EDwoyCg%2FgDSUbDVhYDRslDeAPCjIKD2RkZAAAAAAEAAAAAASwBEwAGQAjAC0ANwAAEyEyFh0BIzQmKwEiBhUjNCYrASIGFSM1NDYDITIWFREhETQ2ExUUBisBIiY9ASEVFAYrASImPQHIAyBTdWQ7KfopO2Q7KfopO2R1EQPoKTv7UDvxHRVkFR0D6B0VZBUdBEx1U8gpOzspKTs7KchTdf4MOyn%2B1AEsKTv%2BDDIVHR0VMjIVHR0VMgADAAEAAASpBKwADQARABsAAAkBFhQPASEBJjQ3ATYyCQMDITIWHQEhNTQ2AeACqh8fg%2F4f%2FfsgIAEnH1n%2BrAFWAS%2F%2Bq6IDIBUd%2FHwdBI39VR9ZH4MCBh9ZHwEoH%2F5u%2FqoBMAFV%2FBsdFTIyFR0AAAAAAgCPAAAEIQSwABcALwAAAQMuASMhIgYHAwYWMyEVFBYyNj0BMzI2AyE1NDY7ATU0NjsBETMRMzIWHQEzMhYVBCG9CCcV%2FnAVJwi9CBMVAnEdKh19FROo%2Fa0dFTIdFTDILxUdMhUdAocB%2BhMcHBP%2BBhMclhUdHRWWHP2MMhUdMhUdASz%2B1B0VMh0VAAAEAAAAAASwBLAADQAQAB8AIgAAASERFAYjIREBNTQ2MyEBIzUBIREUBiMhIiY1ETQ2MyEBIzUDhAEsDwr%2Bif7UDwoBdwEsyP2oASwPCv12Cg8PCgF3ASzIAyD9wQoPAk8BLFQKD%2F7UyP4M%2FcEKDw8KA7YKD%2F7UyAAC%2F5wAZAUUBEcARgBWAAABMzIeAhcWFxY2NzYnJjc%2BARYXFgcOASsBDgEPAQ4BKwEiJj8BBisBIicHDgErASImPwEmLwEuAT0BNDY7ATY3JyY2OwE2BSMiBh0BFBY7ATI2PQE0JgHkw0uOakkMEhEfQwoKGRMKBQ8XDCkCA1Y9Pgc4HCcDIhVkFRgDDDEqwxgpCwMiFWQVGAMaVCyfExwdFXwLLW8QBxXLdAFF%2BgoPDwr6Cg8PBEdBa4pJDgYKISAiJRsQCAYIDCw9P1c3fCbqFB0dFEYOCEAUHR0UnUplNQcmFTIVHVdPXw4TZV8PCjIKDw8KMgoPAAb%2FnP%2FmBRQEfgAJACQANAA8AFIAYgAAASU2Fh8BFgYPASUzMhYfASEyFh0BFAYHBQYmJyYjISImPQE0NhcjIgYdARQ7ATI2NTQmJyYEIgYUFjI2NAE3PgEeARceAT8BFxYGDwEGJi8BJjYlBwYfAR4BPwE2Jy4BJy4BAoEBpxMuDiAOAxCL%2FCtqQ0geZgM3FR0cE%2F0fFyIJKjr%2B1D5YWLlQExIqhhALIAsSAYBALS1ALf4PmBIgHhMQHC0aPzANITNQL3wpgigJASlmHyElDR0RPRMFAhQHCxADhPcICxAmDyoNeMgiNtQdFTIVJgeEBBQPQ1g%2ByD5YrBwVODMQEAtEERzJLUAtLUD%2B24ITChESEyMgAwWzPUkrRSgJL5cvfRxYGyYrDwkLNRAhFEgJDAQAAAAAAwBkAAAEOQSwAFEAYABvAAABMzIWHQEeARcWDgIPATIeBRUUDgUjFRQGKwEiJj0BIxUUBisBIiY9ASMiJj0BNDY7AREjIiY9ATQ2OwE1NDY7ATIWHQEzNTQ2AxUhMj4CNTc0LgMjARUhMj4CNTc0LgMjAnGWCg9PaAEBIC4uEBEGEjQwOiodFyI2LUAjGg8KlgoPZA8KlgoPrwoPDwpLSwoPDwqvDwqWCg9kD9cBBxwpEwsBAQsTKRz%2B%2BQFrHCkTCwEBCxMpHASwDwptIW1KLk0tHwYGAw8UKDJOLTtdPCoVCwJLCg8PCktLCg8PCksPCpYKDwJYDwqWCg9LCg8PCktLCg%2F%2B1MgVHR0LCgQOIhoW%2FnDIFR0dCwoEDiIaFgAAAwAEAAIEsASuABcAKQAsAAATITIWFREUBg8BDgEjISImJy4CNRE0NgQiDgQPARchNy4FAyMT1AMMVnokEhIdgVL9xFKCHAgYKHoCIIx9VkcrHQYGnAIwnAIIIClJVSGdwwSuelb%2BYDO3QkJXd3ZYHFrFMwGgVnqZFyYtLSUMDPPzBQ8sKDEj%2FsIBBQACAMgAAAOEBRQADwAZAAABMzIWFREUBiMhIiY1ETQ2ARUUBisBIiY9AQHblmesVCn%2BPilUrAFINhWWFTYFFKxn%2FgwpVFQpAfRnrPwY4RU2NhXhAAACAMgAAAOEBRQADwAZAAABMxQWMxEUBiMhIiY1ETQ2ARUUBisBIiY9AQHbYLOWVCn%2BPilUrAFINhWWFTYFFJaz%2FkIpVFQpAfRnrPwY4RU2NhXhAAACAAAAFAUOBBoAFAAaAAAJASUHFRcVJwc1NzU0Jj4CPwEnCQEFJTUFJQUO%2FYL%2Bhk5klpZkAQEBBQQvkwKCAVz%2Bov6iAV4BXgL%2F%2FuWqPOCWx5SVyJb6BA0GCgYDKEEBG%2F1ipqaTpaUAAAMAZAH0BLADIAAHAA8AFwAAEjIWFAYiJjQkMhYUBiImNCQyFhQGIiY0vHxYWHxYAeh8WFh8WAHofFhYfFgDIFh8WFh8WFh8WFh8WFh8WFh8AAAAAAMBkAAAArwETAAHAA8AFwAAADIWFAYiJjQSMhYUBiImNBIyFhQGIiY0Aeh8WFh8WFh8WFh8WFh8WFh8WARMWHxYWHz%2ByFh8WFh8%2FshYfFhYfAAAAAMAZABkBEwETAAPAB8ALwAAEyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2fQO2Cg8PCvxKCg8PCgO2Cg8PCvxKCg8PCgO2Cg8PCvxKCg8PBEwPCpYKDw8KlgoP%2FnAPCpYKDw8KlgoP%2FnAPCpYKDw8KlgoPAAAABAAAAAAEsASwAA8AHwAvADMAAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmBSEyFhURFAYjISImNRE0NhcVITUBXgH0ory7o%2F4Mpbm5Asv9qCk7OykCWCk7O%2F2xAfQVHR0V%2FgwVHR1HAZAEsLuj%2FgylubmlAfSlucg7Kf2oKTs7KQJYKTtkHRX%2B1BUdHRUBLBUdZMjIAAAAAAEAZABkBLAETAA7AAATITIWFAYrARUzMhYUBisBFTMyFhQGKwEVMzIWFAYjISImNDY7ATUjIiY0NjsBNSMiJjQ2OwE1IyImNDaWA%2BgVHR0VMjIVHR0VMjIVHR0VMjIVHR0V%2FBgVHR0VMjIVHR0VMjIVHR0VMjIVHR0ETB0qHcgdKh3IHSodyB0qHR0qHcgdKh3IHSodyB0qHQAAAAYBLAAFA%2BgEowAHAA0AEwAZAB8AKgAAAR4BBgcuATYBMhYVIiYlFAYjNDYBMhYVIiYlFAYjNDYDFRQGIiY9ARYzMgKKVz8%2FV1c%2FP%2F75fLB8sAK8sHyw%2FcB8sHywArywfLCwHSodKAMRBKNDsrJCQrKy%2FsCwfLB8fLB8sP7UsHywfHywfLD%2B05AVHR0VjgQAAAH%2FtQDIBJQDgQBCAAABNzYXAR4BBw4BKwEyFRQOBCsBIhE0NyYiBxYVECsBIi4DNTQzIyImJyY2NwE2HwEeAQ4BLwEHIScHBi4BNgLpRRkUASoLCAYFGg8IAQQNGyc%2FKZK4ChRUFQu4jjBJJxkHAgcPGQYGCAsBKhQaTBQVCiMUM7YDe7YsFCMKFgNuEwYS%2FtkLHw8OEw0dNkY4MhwBIBgXBAQYF%2F7gKjxTQyMNEw4PHwoBKBIHEwUjKBYGDMHBDAUWKCMAAAAAAgAAAAAEsASwACUAQwAAASM0LgUrAREUFh8BFSE1Mj4DNREjIg4FFSMRIQEjNC4DKwERFBYXMxUjNTI1ESMiDgMVIzUhBLAyCAsZEyYYGcgyGRn%2BcAQOIhoWyBkYJhMZCwgyA%2Bj9RBkIChgQEWQZDQzIMmQREBgKCBkB9AOEFSAVDggDAfyuFhkBAmRkAQUJFQ4DUgEDCA4VIBUBLP0SDxMKBQH%2BVwsNATIyGQGpAQUKEw%2BWAAAAAAMAAAAABEwErgAdACAAMAAAATUiJy4BLwEBIwEGBw4BDwEVITUiJj8BIRcWBiMVARsBARUUBiMhIiY9ATQ2MyEyFgPoGR4OFgUE%2Ft9F%2FtQSFQkfCwsBETE7EkUBJT0NISf%2B7IZ5AbEdFfwYFR0dFQPoFR0BLDIgDiIKCwLr%2FQ4jFQkTBQUyMisusKYiQTIBhwFW%2Fqr942QVHR0VZBUdHQADAAAAAASwBLAADwBHAEoAABMhMhYVERQGIyEiJjURNDYFIyIHAQYHBgcGHQEUFjMhMjY9ATQmIyInJj8BIRcWBwYjIgYdARQWMyEyNj0BNCYnIicmJyMBJhMjEzIETBUdHRX7tBUdHQJGRg0F%2FtUREhImDAsJAREIDAwINxAKCj8BCjkLEQwYCAwMCAE5CAwLCBEZGQ8B%2FuAFDsVnBLAdFfu0FR0dFQRMFR1SDP0PIBMSEAUNMggMDAgyCAwXDhmjmR8YEQwIMggMDAgyBwwBGRskAuwM%2FgUBCAAABAAAAAAEsASwAAMAEwAjACcAAAEhNSEFITIWFREUBiMhIiY1ETQ2KQEyFhURFAYjISImNRE0NhcRIREEsPtQBLD7ggGQFR0dFf5wFR0dAm0BkBUdHRX%2BcBUdHUcBLARMZMgdFfx8FR0dFQOEFR0dFf5wFR0dFQGQFR1k%2FtQBLAAEAAAAAASwBLAADwAfACMAJwAAEyEyFhURFAYjISImNRE0NgEhMhYVERQGIyEiJjURNDYXESEREyE1ITIBkBUdHRX%2BcBUdHQJtAZAVHR0V%2FnAVHR1HASzI%2B1AEsASwHRX8fBUdHRUDhBUd%2FgwdFf5wFR0dFQGQFR1k%2FtQBLP2oZAAAAAACAAAAZASwA%2BgAJwArAAATITIWFREzNTQ2MyEyFh0BMxUjFRQGIyEiJj0BIxEUBiMhIiY1ETQ2AREhETIBkBUdZB0VAZAVHWRkHRX%2BcBUdZB0V%2FnAVHR0CnwEsA%2BgdFf6ilhUdHRWWZJYVHR0Vlv6iFR0dFQMgFR3%2B1P7UASwAAAQAAAAABLAEsAADABMAFwAnAAAzIxEzFyEyFhURFAYjISImNRE0NhcRIREBITIWFREUBiMhIiY1ETQ2ZGRklgGQFR0dFf5wFR0dRwEs%2FqIDhBUdHRX8fBUdHQSwZB0V%2FnAVHR0VAZAVHWT%2B1AEs%2FgwdFf5wFR0dFQGQFR0AAAAAAgBkAAAETASwACcAKwAAATMyFhURFAYrARUhMhYVERQGIyEiJjURNDYzITUjIiY1ETQ2OwE1MwcRIRECWJYVHR0VlgHCFR0dFfx8FR0dFQFelhUdHRWWZMgBLARMHRX%2BcBUdZB0V%2FnAVHR0VAZAVHWQdFQGQFR1kyP7UASwAAAAEAAAAAASwBLAAAwATABcAJwAAISMRMwUhMhYVERQGIyEiJjURNDYXESERASEyFhURFAYjISImNRE0NgSwZGT9dgGQFR0dFf5wFR0dRwEs%2FK4DhBUdHRX8fBUdHQSwZB0V%2FnAVHR0VAZAVHWT%2B1AEs%2FgwdFf5wFR0dFQGQFR0AAAEBLAAwA28EgAAPAAAJAQYjIiY1ETQ2MzIXARYUA2H%2BEhcSDhAQDhIXAe4OAjX%2BEhcbGQPoGRsX%2FhIOKgAAAAABAUEAMgOEBH4ACwAACQE2FhURFAYnASY0AU8B7h0qKh3%2BEg4CewHuHREp%2FBgpER0B7g4qAAAAAAEAMgFBBH4DhAALAAATITIWBwEGIicBJjZkA%2BgpER3%2BEg4qDv4SHREDhCod%2FhIODgHuHSoAAAAAAQAyASwEfgNvAAsAAAkBFgYjISImNwE2MgJ7Ae4dESn8GCkRHQHuDioDYf4SHSoqHQHuDgAAAAACAAgAAASwBCgABgAKAAABFQE1LQE1ASE1IQK8%2FUwBnf5jBKj84AMgAuW2%2Fr3dwcHd%2B9jIAAAAAAIAAABkBLAEsAALADEAAAEjFTMVIREzNSM1IQEzND4FOwERFAYPARUhNSIuAzURMzIeBRUzESEEsMjI%2FtTIyAEs%2B1AyCAsZEyYYGWQyGRkBkAQOIhoWZBkYJhMZCwgy%2FOADhGRkASxkZP4MFSAVDggDAf3aFhkBAmRkAQUJFQ4CJgEDCA4VIBUBLAAAAgAAAAAETAPoACUAMQAAASM0LgUrAREUFh8BFSE1Mj4DNREjIg4FFSMRIQEjFTMVIREzNSM1IQMgMggLGRMmGBlkMhkZ%2FnAEDiIaFmQZGCYTGQsIMgMgASzIyP7UyMgBLAK8FSAVDggDAf3aFhkCAWRkAQUJFQ4CJgEDCA4VIBUBLPzgZGQBLGRkAAABAMgAZgNyBEoAEgAAATMyFgcJARYGKwEiJwEmNDcBNgK9oBAKDP4wAdAMChCgDQr%2BKQcHAdcKBEoWDP4w%2FjAMFgkB1wgUCAHXCQAAAQE%2BAGYD6ARKABIAAAEzMhcBFhQHAQYrASImNwkBJjYBU6ANCgHXBwf%2BKQoNoBAKDAHQ%2FjAMCgRKCf4pCBQI%2FikJFgwB0AHQDBYAAAEAZgDIBEoDcgASAAAAFh0BFAcBBiInASY9ATQ2FwkBBDQWCf4pCBQI%2FikJFgwB0AHQA3cKEKANCv4pBwcB1woNoBAKDP4wAdAAAAABAGYBPgRKA%2BgAEgAACQEWHQEUBicJAQYmPQE0NwE2MgJqAdcJFgz%2BMP4wDBYJAdcIFAPh%2FikKDaAQCgwB0P4wDAoQoA0KAdcHAAAAAgDZ%2F%2FkEPQSwAAUAOgAAARQGIzQ2BTMyFh8BNjc%2BAh4EBgcOBgcGIiYjIgYiJy4DLwEuAT4EHgEXJyY2A%2BiwfLD%2BVmQVJgdPBQsiKFAzRyorDwURAQQSFyozTSwNOkkLDkc3EDlfNyYHBw8GDyUqPjdGMR%2BTDA0EsHywfLDIHBPCAQIGBwcFDx81S21DBxlLR1xKQhEFBQcHGWt0bCQjP2hJNyATBwMGBcASGAAAAAACAMgAFQOEBLAAFgAaAAATITIWFREUBisBEQcGJjURIyImNRE0NhcVITX6AlgVHR0Vlv8TGpYVHR2rASwEsB0V%2FnAVHf4MsgkQFQKKHRUBkBUdZGRkAAAAAgDIABkETASwAA4AEgAAEyEyFhURBRElIREjETQ2ARU3NfoC7ic9%2FUQCWP1EZB8BDWQEsFEs%2FFt1A7Z9%2FBgEARc0%2FV1kFGQAAQAAAAECTW%2FDBF9fDzz1AB8EsAAAAADQdnOXAAAAANB2c5f%2FUf%2BcBdwFFAAAAAgAAgAAAAAAAAABAAAFFP%2BFAAAFFP9R%2FtQF3AABAAAAAAAAAAAAAAAAAAAAowG4ACgAAAAAAZAAAASwAAAEsABkBLAAAASwAAAEsABwAooAAAUUAAACigAABRQAAAGxAAABRQAAANgAAADYAAAAogAAAQQAAABIAAABBAAAAUUAAASwAGQEsAB7BLAAyASwAMgB9AAABLD%2F8gSwAAAEsAAABLD%2F8ASwAAAEsAAOBLAACQSwAGQEsP%2FTBLD%2F0wSwAAAEsAAABLAAAASwAAAEsAAABLAAJgSwAG4EsAAXBLAAFwSwABcEsABkBLAAGgSwAGQEsAAMBLAAZASwABcEsP%2BcBLAAZASwABcEsAAXBLAAAASwABcEsAAXBLAAFwSwAGQEsAAABLAAZASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAZASwAMgEsAAABLAAAASwADUEsABkBLAAyASw%2F7UEsAAhBLAAAASwAAAEsAAABLAAAASwAAAEsP%2BcBLAAAASwAAAEsAAABLAA2wSwABcEsAB1BLAAAASwAAAEsAAABLAACgSwAMgEsAAABLAAnQSwAMgEsADIBLAAyASwAAAEsP%2F%2BBLABLASwAGQEsACIBLABOwSwABcEsAAXBLAAFwSwABcEsAAXBLAAFwSwAAAEsAAXBLAAFwSwABcEsAAXBLAAAASwALcEsAC3BLAAAASwAAAEsABJBLAAFwSwAAAEsAAABLAAXQSw%2F9wEsP%2FcBLD%2FnwSwAGQEsAAABLAAAASwAAAEsABkBLD%2F%2FwSwAAAEsP9RBLAABgSwAAAEsAAABLABRQSwAAEEsAAABLD%2FnASwAEoEsAAUBLAAAASwAAAEsAAABLD%2FnASwAGEEsP%2F9BLAAFgSwABYEsAAWBLAAFgSwABgEsAAABMQAAASwAGQAAAAAAAD%2F2ABkADkAyAAAAScAZAAZABkAGQAZABkAGQAZAAAAAAAAAAAAAADZAAAAAAAOAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAMAZABkAAAAEAAAAAAAZP%2Bc%2F5z%2FnP%2Bc%2F5z%2FnP%2Bc%2F5wACQAJ%2F%2FL%2F8gBkAHkAJwBkAGQAAAAAAGT%2FogAAAAAAAAAAAAAAAADIAGQAAAABAI8AAP%2Bc%2F5wAZAAEAMgAyAAAAGQBkABkAAAAZAEs%2F7UAAAAAAAAAAAAAAAAAAABkAAABLAFBADIAMgAIAAAAAADIAT4AZgBmANkAyADIAAAAKgAqACoAKgCyAOgA6AFOAU4BTgFOAU4BTgFOAU4BTgFOAU4BTgFOAU4BpAIGAiICfgKGAqwC5ANGA24DjAPEBAgEMgRiBKIE3AVcBboGcgb0ByAHYgfKCB4IYgi%2BCTYJhAm2Cd4KKApMCpQK4gswC4oLygwIDFgNKg1eDbAODg5oDrQPKA%2BmD%2BYQEhBUEJAQqhEqEXYRthIKEjgSfBLAExoTdBPQFCoU1BU8FagVzBYEFjYWYBawFv4XUhemGAIYLhhqGJYYsBjgGP4ZKBloGZQZxBnaGe4aNhpoGrga9hteG7QcMhyUHOIdHB1EHWwdlB28HeYeLh52HsAfYh%2FSIEYgviEyIXYhuCJAIpYiuCMOIyIjOCN6I8Ij4CQCJDAkXiSWJOIlNCVgJbwmFCZ%2BJuYnUCe8J%2FgoNChwKKwpoCnMKiYqSiqEKworeiwILGgsuizsLRwtiC30LiguZi6iLtgvDi9GL34vsi%2F4MD4whDDSMRIxYDGuMegyJDJeMpoy3jMiMz4zaDO2NBg0YDSoNNI1LDWeNeg2PjZ8Ntw3GjdON5I31DgQOEI4hjjIOQo5SjmIOcw6HDpsOpo63jugO9w8GDxQPKI8%2BD0yPew%2BOj6MPtQ%2FKD9uP6o%2F%2BkBIQIBAxkECQX5CGEKoQu5DGENCQ3ZDoEPKRBBEYESuRPZFWkW2RgZGdEa0RvZHNkd2R7ZH9kgWSDJITkhqSIZIzEkSSThJXkmESapKAkouSlIAAQAAARcApwARAAAAAAACAAAAAQABAAAAQAAuAAAAAAAAABAAxgABAAAAAAATABIAAAADAAEECQAAAGoAEgADAAEECQABACgAfAADAAEECQACAA4ApAADAAEECQADAEwAsgADAAEECQAEADgA%2FgADAAEECQAFAHgBNgADAAEECQAGADYBrgADAAEECQAIABYB5AADAAEECQAJABYB%2BgADAAEECQALACQCEAADAAEECQAMACQCNAADAAEECQATACQCWAADAAEECQDIABYCfAADAAEECQDJADACkgADAAEECdkDABoCwnd3dy5nbHlwaGljb25zLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgAKkAIAAyADAAMQA0ACAAYgB5ACAASgBhAG4AIABLAG8AdgBhAHIAaQBrAC4AIABBAGwAbAAgAHIAaQBnAGgAdABzACAAcgBlAHMAZQByAHYAZQBkAC4ARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAFIAZQBnAHUAbABhAHIAMQAuADAAMAA5ADsAVQBLAFcATgA7AEcATABZAFAASABJAEMATwBOAFMASABhAGwAZgBsAGkAbgBnAHMALQBSAGUAZwB1AGwAYQByAEcATABZAFAASABJAEMATwBOAFMAIABIAGEAbABmAGwAaQBuAGcAcwAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAOQA7AFAAUwAgADAAMAAxAC4AMAAwADkAOwBoAG8AdABjAG8AbgB2ACAAMQAuADAALgA3ADAAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA1ADgAMwAyADkARwBMAFkAUABIAEkAQwBPAE4AUwBIAGEAbABmAGwAaQBuAGcAcwAtAFIAZQBnAHUAbABhAHIASgBhAG4AIABLAG8AdgBhAHIAaQBrAEoAYQBuACAASwBvAHYAYQByAGkAawB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQBXAGUAYgBmAG8AbgB0ACAAMQAuADAAVwBlAGQAIABPAGMAdAAgADIAOQAgADAANgA6ADMANgA6ADAANwAgADIAMAAxADQARgBvAG4AdAAgAFMAcQB1AGkAcgByAGUAbAAAAAIAAAAAAAD%2FtQAyAAAAAAAAAAAAAAAAAAAAAAAAAAABFwAAAQIBAwADAA0ADgEEAJYBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMA7wEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE%2BAT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG%2FAcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB%2BgH7AfwB%2FQH%2BAf8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgZnbHlwaDEGZ2x5cGgyB3VuaTAwQTAHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMkYHdW5pMjA1RgRFdXJvB3VuaTIwQkQHdW5pMjMxQgd1bmkyNUZDB3VuaTI2MDEHdW5pMjZGQQd1bmkyNzA5B3VuaTI3MEYHdW5pRTAwMQd1bmlFMDAyB3VuaUUwMDMHdW5pRTAwNQd1bmlFMDA2B3VuaUUwMDcHdW5pRTAwOAd1bmlFMDA5B3VuaUUwMTAHdW5pRTAxMQd1bmlFMDEyB3VuaUUwMTMHdW5pRTAxNAd1bmlFMDE1B3VuaUUwMTYHdW5pRTAxNwd1bmlFMDE4B3VuaUUwMTkHdW5pRTAyMAd1bmlFMDIxB3VuaUUwMjIHdW5pRTAyMwd1bmlFMDI0B3VuaUUwMjUHdW5pRTAyNgd1bmlFMDI3B3VuaUUwMjgHdW5pRTAyOQd1bmlFMDMwB3VuaUUwMzEHdW5pRTAzMgd1bmlFMDMzB3VuaUUwMzQHdW5pRTAzNQd1bmlFMDM2B3VuaUUwMzcHdW5pRTAzOAd1bmlFMDM5B3VuaUUwNDAHdW5pRTA0MQd1bmlFMDQyB3VuaUUwNDMHdW5pRTA0NAd1bmlFMDQ1B3VuaUUwNDYHdW5pRTA0Nwd1bmlFMDQ4B3VuaUUwNDkHdW5pRTA1MAd1bmlFMDUxB3VuaUUwNTIHdW5pRTA1Mwd1bmlFMDU0B3VuaUUwNTUHdW5pRTA1Ngd1bmlFMDU3B3VuaUUwNTgHdW5pRTA1OQd1bmlFMDYwB3VuaUUwNjIHdW5pRTA2Mwd1bmlFMDY0B3VuaUUwNjUHdW5pRTA2Ngd1bmlFMDY3B3VuaUUwNjgHdW5pRTA2OQd1bmlFMDcwB3VuaUUwNzEHdW5pRTA3Mgd1bmlFMDczB3VuaUUwNzQHdW5pRTA3NQd1bmlFMDc2B3VuaUUwNzcHdW5pRTA3OAd1bmlFMDc5B3VuaUUwODAHdW5pRTA4MQd1bmlFMDgyB3VuaUUwODMHdW5pRTA4NAd1bmlFMDg1B3VuaUUwODYHdW5pRTA4Nwd1bmlFMDg4B3VuaUUwODkHdW5pRTA5MAd1bmlFMDkxB3VuaUUwOTIHdW5pRTA5Mwd1bmlFMDk0B3VuaUUwOTUHdW5pRTA5Ngd1bmlFMDk3B3VuaUUxMDEHdW5pRTEwMgd1bmlFMTAzB3VuaUUxMDQHdW5pRTEwNQd1bmlFMTA2B3VuaUUxMDcHdW5pRTEwOAd1bmlFMTA5B3VuaUUxMTAHdW5pRTExMQd1bmlFMTEyB3VuaUUxMTMHdW5pRTExNAd1bmlFMTE1B3VuaUUxMTYHdW5pRTExNwd1bmlFMTE4B3VuaUUxMTkHdW5pRTEyMAd1bmlFMTIxB3VuaUUxMjIHdW5pRTEyMwd1bmlFMTI0B3VuaUUxMjUHdW5pRTEyNgd1bmlFMTI3B3VuaUUxMjgHdW5pRTEyOQd1bmlFMTMwB3VuaUUxMzEHdW5pRTEzMgd1bmlFMTMzB3VuaUUxMzQHdW5pRTEzNQd1bmlFMTM2B3VuaUUxMzcHdW5pRTEzOAd1bmlFMTM5B3VuaUUxNDAHdW5pRTE0MQd1bmlFMTQyB3VuaUUxNDMHdW5pRTE0NAd1bmlFMTQ1B3VuaUUxNDYHdW5pRTE0OAd1bmlFMTQ5B3VuaUUxNTAHdW5pRTE1MQd1bmlFMTUyB3VuaUUxNTMHdW5pRTE1NAd1bmlFMTU1B3VuaUUxNTYHdW5pRTE1Nwd1bmlFMTU4B3VuaUUxNTkHdW5pRTE2MAd1bmlFMTYxB3VuaUUxNjIHdW5pRTE2Mwd1bmlFMTY0B3VuaUUxNjUHdW5pRTE2Ngd1bmlFMTY3B3VuaUUxNjgHdW5pRTE2OQd1bmlFMTcwB3VuaUUxNzEHdW5pRTE3Mgd1bmlFMTczB3VuaUUxNzQHdW5pRTE3NQd1bmlFMTc2B3VuaUUxNzcHdW5pRTE3OAd1bmlFMTc5B3VuaUUxODAHdW5pRTE4MQd1bmlFMTgyB3VuaUUxODMHdW5pRTE4NAd1bmlFMTg1B3VuaUUxODYHdW5pRTE4Nwd1bmlFMTg4B3VuaUUxODkHdW5pRTE5MAd1bmlFMTkxB3VuaUUxOTIHdW5pRTE5Mwd1bmlFMTk0B3VuaUUxOTUHdW5pRTE5Nwd1bmlFMTk4B3VuaUUxOTkHdW5pRTIwMAd1bmlFMjAxB3VuaUUyMDIHdW5pRTIwMwd1bmlFMjA0B3VuaUUyMDUHdW5pRTIwNgd1bmlFMjA5B3VuaUUyMTAHdW5pRTIxMQd1bmlFMjEyB3VuaUUyMTMHdW5pRTIxNAd1bmlFMjE1B3VuaUUyMTYHdW5pRTIxOAd1bmlFMjE5B3VuaUUyMjEHdW5pRTIyMwd1bmlFMjI0B3VuaUUyMjUHdW5pRTIyNgd1bmlFMjI3B3VuaUUyMzAHdW5pRTIzMQd1bmlFMjMyB3VuaUUyMzMHdW5pRTIzNAd1bmlFMjM1B3VuaUUyMzYHdW5pRTIzNwd1bmlFMjM4B3VuaUUyMzkHdW5pRTI0MAd1bmlFMjQxB3VuaUUyNDIHdW5pRTI0Mwd1bmlFMjQ0B3VuaUUyNDUHdW5pRTI0Ngd1bmlFMjQ3B3VuaUUyNDgHdW5pRTI0OQd1bmlFMjUwB3VuaUUyNTEHdW5pRTI1Mgd1bmlFMjUzB3VuaUUyNTQHdW5pRTI1NQd1bmlFMjU2B3VuaUUyNTcHdW5pRTI1OAd1bmlFMjU5B3VuaUUyNjAHdW5pRjhGRgZ1MUY1MTEGdTFGNkFBAAAAAAFUUMMXAAA%3D%29%20format%28%27truetype%27%29%2Curl%28data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI%2FPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE%2BPC9tZXRhZGF0YT4KPGRlZnM%2BCjxmb250IGlkPSJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXIiIGhvcml6LWFkdi14PSIxMjAwIiA%2BCjxmb250LWZhY2UgdW5pdHMtcGVyLWVtPSIxMjAwIiBhc2NlbnQ9Ijk2MCIgZGVzY2VudD0iLTI0MCIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjUwMCIgLz4KPGdseXBoIGhvcml6LWFkdi14PSIwIiAvPgo8Z2x5cGggaG9yaXotYWR2LXg9IjQwMCIgLz4KPGdseXBoIHVuaWNvZGU9IiAiIC8%2BCjxnbHlwaCB1bmljb2RlPSIqIiBkPSJNNjAwIDExMDBxMTUgMCAzNCAtMS41dDMwIC0zLjVsMTEgLTFxMTAgLTIgMTcuNSAtMTAuNXQ3LjUgLTE4LjV2LTIyNGwxNTggMTU4cTcgNyAxOCA4dDE5IC02bDEwNiAtMTA2cTcgLTggNiAtMTl0LTggLTE4bC0xNTggLTE1OGgyMjRxMTAgMCAxOC41IC03LjV0MTAuNSAtMTcuNXE2IC00MSA2IC03NXEwIC0xNSAtMS41IC0zNHQtMy41IC0zMGwtMSAtMTFxLTIgLTEwIC0xMC41IC0xNy41dC0xOC41IC03LjVoLTIyNGwxNTggLTE1OCBxNyAtNyA4IC0xOHQtNiAtMTlsLTEwNiAtMTA2cS04IC03IC0xOSAtNnQtMTggOGwtMTU4IDE1OHYtMjI0cTAgLTEwIC03LjUgLTE4LjV0LTE3LjUgLTEwLjVxLTQxIC02IC03NSAtNnEtMTUgMCAtMzQgMS41dC0zMCAzLjVsLTExIDFxLTEwIDIgLTE3LjUgMTAuNXQtNy41IDE4LjV2MjI0bC0xNTggLTE1OHEtNyAtNyAtMTggLTh0LTE5IDZsLTEwNiAxMDZxLTcgOCAtNiAxOXQ4IDE4bDE1OCAxNThoLTIyNHEtMTAgMCAtMTguNSA3LjUgdC0xMC41IDE3LjVxLTYgNDEgLTYgNzVxMCAxNSAxLjUgMzR0My41IDMwbDEgMTFxMiAxMCAxMC41IDE3LjV0MTguNSA3LjVoMjI0bC0xNTggMTU4cS03IDcgLTggMTh0NiAxOWwxMDYgMTA2cTggNyAxOSA2dDE4IC04bDE1OCAtMTU4djIyNHEwIDEwIDcuNSAxOC41dDE3LjUgMTAuNXE0MSA2IDc1IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iKyIgZD0iTTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzUwaDM1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zNTB2LTM1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzNTBoLTM1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNSBoMzUwdjM1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTA7IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTU7IiBkPSJNODI1IDExMDBoMjUwcTEwIDAgMTIuNSAtNXQtNS41IC0xM2wtMzY0IC0zNjRxLTYgLTYgLTExIC0xOGgyNjhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTEwMGgyNzVxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTE3NHEwIC0xMSAtNy41IC0xOC41dC0xOC41IC03LjVoLTE0OHEtMTEgMCAtMTguNSA3LjV0LTcuNSAxOC41djE3NCBoLTI3NXEtMTAgMCAtMTMgNnQzIDE0bDEyMCAxNjBxNiA4IDE4IDE0dDIyIDZoMTI1djEwMGgtMjc1cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMThxLTUgMTIgLTExIDE4bC0zNjQgMzY0cS04IDggLTUuNSAxM3QxMi41IDVoMjUwcTI1IDAgNDMgLTE4bDE2NCAtMTY0cTggLTggMTggLTh0MTggOGwxNjQgMTY0cTE4IDE4IDQzIDE4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDA7IiBob3Jpei1hZHYteD0iNjUwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMTsiIGhvcml6LWFkdi14PSIxMzAwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMjsiIGhvcml6LWFkdi14PSI2NTAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDAzOyIgaG9yaXotYWR2LXg9IjEzMDAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDA0OyIgaG9yaXotYWR2LXg9IjQzMyIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDU7IiBob3Jpei1hZHYteD0iMzI1IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwNjsiIGhvcml6LWFkdi14PSIyMTYiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDA3OyIgaG9yaXotYWR2LXg9IjIxNiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDg7IiBob3Jpei1hZHYteD0iMTYyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwOTsiIGhvcml6LWFkdi14PSIyNjAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDBhOyIgaG9yaXotYWR2LXg9IjcyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAyZjsiIGhvcml6LWFkdi14PSIyNjAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDVmOyIgaG9yaXotYWR2LXg9IjMyNSIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwYWM7IiBkPSJNNzQ0IDExOThxMjQyIDAgMzU0IC0xODlxNjAgLTEwNCA2NiAtMjA5aC0xODFxMCA0NSAtMTcuNSA4Mi41dC00My41IDYxLjV0LTU4IDQwLjV0LTYwLjUgMjR0LTUxLjUgNy41cS0xOSAwIC00MC41IC01LjV0LTQ5LjUgLTIwLjV0LTUzIC0zOHQtNDkgLTYyLjV0LTM5IC04OS41aDM3OWwtMTAwIC0xMDBoLTMwMHEtNiAtNTAgLTYgLTEwMGg0MDZsLTEwMCAtMTAwaC0zMDBxOSAtNzQgMzMgLTEzMnQ1Mi41IC05MXQ2MS41IC01NC41dDU5IC0yOSB0NDcgLTcuNXEyMiAwIDUwLjUgNy41dDYwLjUgMjQuNXQ1OCA0MXQ0My41IDYxdDE3LjUgODBoMTc0cS0zMCAtMTcxIC0xMjggLTI3OHEtMTA3IC0xMTcgLTI3NCAtMTE3cS0yMDYgMCAtMzI0IDE1OHEtMzYgNDggLTY5IDEzM3QtNDUgMjA0aC0yMTdsMTAwIDEwMGgxMTJxMSA0NyA2IDEwMGgtMjE4bDEwMCAxMDBoMTM0cTIwIDg3IDUxIDE1My41dDYyIDEwMy41cTExNyAxNDEgMjk3IDE0MXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMGJkOyIgZD0iTTQyOCAxMjAwaDM1MHE2NyAwIDEyMCAtMTN0ODYgLTMxdDU3IC00OS41dDM1IC01Ni41dDE3IC02NC41dDYuNSAtNjAuNXQwLjUgLTU3di0xNi41di0xNi41cTAgLTM2IC0wLjUgLTU3dC02LjUgLTYxdC0xNyAtNjV0LTM1IC01N3QtNTcgLTUwLjV0LTg2IC0zMS41dC0xMjAgLTEzaC0xNzhsLTIgLTEwMGgyODhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMzh2LTE3NXEwIC0xMSAtNS41IC0xOCB0LTE1LjUgLTdoLTE0OXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE3NWgtMjY3cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMTd2MTAwaC0yNjdxLTEwIDAgLTEzIDZ0MyAxNGwxMjAgMTYwcTYgOCAxOCAxNHQyMiA2aDExN3Y0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNjAwIDEwMDB2LTMwMGgyMDNxNjQgMCA4Ni41IDMzdDIyLjUgMTE5cTAgODQgLTIyLjUgMTE2dC04Ni41IDMyaC0yMDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjIxMjsiIGQ9Ik0yNTAgNzAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjMxYjsiIGQ9Ik0xMDAwIDEyMDB2LTE1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTEwMHEwIC05MSAtNDkuNSAtMTY1LjV0LTEzMC41IC0xMDkuNXE4MSAtMzUgMTMwLjUgLTEwOS41dDQ5LjUgLTE2NS41di0xNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtODAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MTUwcTAgOTEgNDkuNSAxNjUuNXQxMzAuNSAxMDkuNXEtODEgMzUgLTEzMC41IDEwOS41IHQtNDkuNSAxNjUuNXYxMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxNTBoODAwek00MDAgMTAwMHYtMTAwcTAgLTYwIDMyLjUgLTEwOS41dDg3LjUgLTczLjVxMjggLTEyIDQ0IC0zN3QxNiAtNTV0LTE2IC01NXQtNDQgLTM3cS01NSAtMjQgLTg3LjUgLTczLjV0LTMyLjUgLTEwOS41di0xNTBoNDAwdjE1MHEwIDYwIC0zMi41IDEwOS41dC04Ny41IDczLjVxLTI4IDEyIC00NCAzN3QtMTYgNTV0MTYgNTV0NDQgMzcgcTU1IDI0IDg3LjUgNzMuNXQzMi41IDEwOS41djEwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI1ZmM7IiBob3Jpei1hZHYteD0iNTAwIiBkPSJNMCAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI2MDE7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA2LjVxMCAtMTIxIC04NSAtMjA3LjV0LTIwNSAtODYuNWgtNzUwcS03OSAwIC0xMzUuNSA1N3QtNTYuNSAxMzdxMCA2OSA0Mi41IDEyMi41dDEwOC41IDY3LjVxLTIgMTIgLTIgMzdxMCAxNTMgMTA4IDI2MC41dDI2MCAxMDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyNmZhOyIgZD0iTTc3NCAxMTkzLjVxMTYgLTkuNSAyMC41IC0yN3QtNS41IC0zMy41bC0xMzYgLTE4N2w0NjcgLTc0NmgzMHEyMCAwIDM1IC0xOC41dDE1IC0zOS41di00MmgtMTIwMHY0MnEwIDIxIDE1IDM5LjV0MzUgMTguNWgzMGw0NjggNzQ2bC0xMzUgMTgzcS0xMCAxNiAtNS41IDM0dDIwLjUgMjh0MzQgNS41dDI4IC0yMC41bDExMSAtMTQ4bDExMiAxNTBxOSAxNiAyNyAyMC41dDM0IC01ek02MDAgMjAwaDM3N2wtMTgyIDExMmwtMTk1IDUzNHYtNjQ2eiAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyNzA5OyIgZD0iTTI1IDExMDBoMTE1MHExMCAwIDEyLjUgLTV0LTUuNSAtMTNsLTU2NCAtNTY3cS04IC04IC0xOCAtOHQtMTggOGwtNTY0IDU2N3EtOCA4IC01LjUgMTN0MTIuNSA1ek0xOCA4ODJsMjY0IC0yNjRxOCAtOCA4IC0xOHQtOCAtMThsLTI2NCAtMjY0cS04IC04IC0xMyAtNS41dC01IDEyLjV2NTUwcTAgMTAgNSAxMi41dDEzIC01LjV6TTkxOCA2MThsMjY0IDI2NHE4IDggMTMgNS41dDUgLTEyLjV2LTU1MHEwIC0xMCAtNSAtMTIuNXQtMTMgNS41IGwtMjY0IDI2NHEtOCA4IC04IDE4dDggMTh6TTgxOCA0ODJsMzY0IC0zNjRxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xMTUwcS0xMCAwIC0xMi41IDV0NS41IDEzbDM2NCAzNjRxOCA4IDE4IDh0MTggLThsMTY0IC0xNjRxOCAtOCAxOCAtOHQxOCA4bDE2NCAxNjRxOCA4IDE4IDh0MTggLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjcwZjsiIGQ9Ik0xMDExIDEyMTBxMTkgMCAzMyAtMTNsMTUzIC0xNTNxMTMgLTE0IDEzIC0zM3QtMTMgLTMzbC05OSAtOTJsLTIxNCAyMTRsOTUgOTZxMTMgMTQgMzIgMTR6TTEwMTMgODAwbC02MTUgLTYxNGwtMjE0IDIxNGw2MTQgNjE0ek0zMTcgOTZsLTMzMyAtMTEybDExMCAzMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMTsiIGQ9Ik03MDAgNjUwdi01NTBoMjUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtODAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgyNTB2NTUwbC01MDAgNTUwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMjsiIGQ9Ik0zNjggMTAxN2w2NDUgMTYzcTM5IDE1IDYzIDB0MjQgLTQ5di04MzFxMCAtNTUgLTQxLjUgLTk1LjV0LTExMS41IC02My41cS03OSAtMjUgLTE0NyAtNC41dC04NiA3NXQyNS41IDExMS41dDEyMi41IDgycTcyIDI0IDEzOCA4djUyMWwtNjAwIC0xNTV2LTYwNnEwIC00MiAtNDQgLTkwdC0xMDkgLTY5cS03OSAtMjYgLTE0NyAtNS41dC04NiA3NS41dDI1LjUgMTExLjV0MTIyLjUgODIuNXE3MiAyNCAxMzggN3Y2MzlxMCAzOCAxNC41IDU5IHQ1My41IDM0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDM7IiBkPSJNNTAwIDExOTFxMTAwIDAgMTkxIC0zOXQxNTYuNSAtMTA0LjV0MTA0LjUgLTE1Ni41dDM5IC0xOTFsLTEgLTJsMSAtNXEwIC0xNDEgLTc4IC0yNjJsMjc1IC0yNzRxMjMgLTI2IDIyLjUgLTQ0LjV0LTIyLjUgLTQyLjVsLTU5IC01OHEtMjYgLTIwIC00Ni41IC0yMHQtMzkuNSAyMGwtMjc1IDI3NHEtMTE5IC03NyAtMjYxIC03N2wtNSAxbC0yIC0xcS0xMDAgMCAtMTkxIDM5dC0xNTYuNSAxMDQuNXQtMTA0LjUgMTU2LjV0LTM5IDE5MSB0MzkgMTkxdDEwNC41IDE1Ni41dDE1Ni41IDEwNC41dDE5MSAzOXpNNTAwIDEwMjJxLTg4IDAgLTE2MiAtNDN0LTExNyAtMTE3dC00MyAtMTYydDQzIC0xNjJ0MTE3IC0xMTd0MTYyIC00M3QxNjIgNDN0MTE3IDExN3Q0MyAxNjJ0LTQzIDE2MnQtMTE3IDExN3QtMTYyIDQzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDU7IiBkPSJNNjQ5IDk0OXE0OCA2OCAxMDkuNSAxMDR0MTIxLjUgMzguNXQxMTguNSAtMjB0MTAyLjUgLTY0dDcxIC0xMDAuNXQyNyAtMTIzcTAgLTU3IC0zMy41IC0xMTcuNXQtOTQgLTEyNC41dC0xMjYuNSAtMTI3LjV0LTE1MCAtMTUyLjV0LTE0NiAtMTc0cS02MiA4NSAtMTQ1LjUgMTc0dC0xNTAgMTUyLjV0LTEyNi41IDEyNy41dC05My41IDEyNC41dC0zMy41IDExNy41cTAgNjQgMjggMTIzdDczIDEwMC41dDEwNCA2NHQxMTkgMjAgdDEyMC41IC0zOC41dDEwNC41IC0xMDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwNjsiIGQ9Ik00MDcgODAwbDEzMSAzNTNxNyAxOSAxNy41IDE5dDE3LjUgLTE5bDEyOSAtMzUzaDQyMXEyMSAwIDI0IC04LjV0LTE0IC0yMC41bC0zNDIgLTI0OWwxMzAgLTQwMXE3IC0yMCAtMC41IC0yNS41dC0yNC41IDYuNWwtMzQzIDI0NmwtMzQyIC0yNDdxLTE3IC0xMiAtMjQuNSAtNi41dC0wLjUgMjUuNWwxMzAgNDAwbC0zNDcgMjUxcS0xNyAxMiAtMTQgMjAuNXQyMyA4LjVoNDI5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDc7IiBkPSJNNDA3IDgwMGwxMzEgMzUzcTcgMTkgMTcuNSAxOXQxNy41IC0xOWwxMjkgLTM1M2g0MjFxMjEgMCAyNCAtOC41dC0xNCAtMjAuNWwtMzQyIC0yNDlsMTMwIC00MDFxNyAtMjAgLTAuNSAtMjUuNXQtMjQuNSA2LjVsLTM0MyAyNDZsLTM0MiAtMjQ3cS0xNyAtMTIgLTI0LjUgLTYuNXQtMC41IDI1LjVsMTMwIDQwMGwtMzQ3IDI1MXEtMTcgMTIgLTE0IDIwLjV0MjMgOC41aDQyOXpNNDc3IDcwMGgtMjQwbDE5NyAtMTQybC03NCAtMjI2IGwxOTMgMTM5bDE5NSAtMTQwbC03NCAyMjlsMTkyIDE0MGgtMjM0bC03OCAyMTF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwODsiIGQ9Ik02MDAgMTIwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTI1MHEwIC00NiAtMzEgLTk4dC02OSAtNTJ2LTc1cTAgLTEwIDYgLTIxLjV0MTUgLTE3LjVsMzU4IC0yMzBxOSAtNSAxNSAtMTYuNXQ2IC0yMS41di05M3EwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5M3EwIDEwIDYgMjEuNXQxNSAxNi41bDM1OCAyMzBxOSA2IDE1IDE3LjV0NiAyMS41djc1cS0zOCAwIC02OSA1MiB0LTMxIDk4djI1MHEwIDEyNCA4OCAyMTJ0MjEyIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDk7IiBkPSJNMjUgMTEwMGgxMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTA1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMDUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwMCAxMDAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgMTAwMGgtNTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMzUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNTUwIHExMCAwIDE3LjUgNy41dDcuNSAxNy41djM1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTEwMDAgMTAwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwIDgwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA4MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgNjAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgNTAwaC01NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0zNTBxMCAtMTAgNy41IC0xNy41IHQxNy41IC03LjVoNTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MzUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMTAwIDQwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCAyMDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTA7IiBkPSJNNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCA1MDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMTsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTEwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODUwIDcwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoMjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTg1MCAzMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41IHQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMjsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNDUwIDcwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoNzAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMzsiIGQ9Ik00NjUgNDc3bDU3MSA1NzFxOCA4IDE4IDh0MTcgLThsMTc3IC0xNzdxOCAtNyA4IC0xN3QtOCAtMThsLTc4MyAtNzg0cS03IC04IC0xNy41IC04dC0xNy41IDhsLTM4NCAzODRxLTggOCAtOCAxOHQ4IDE3bDE3NyAxNzdxNyA4IDE3IDh0MTggLThsMTcxIC0xNzFxNyAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTQ7IiBkPSJNOTA0IDEwODNsMTc4IC0xNzlxOCAtOCA4IC0xOC41dC04IC0xNy41bC0yNjcgLTI2OGwyNjcgLTI2OHE4IC03IDggLTE3LjV0LTggLTE4LjVsLTE3OCAtMTc4cS04IC04IC0xOC41IC04dC0xNy41IDhsLTI2OCAyNjdsLTI2OCAtMjY3cS03IC04IC0xNy41IC04dC0xOC41IDhsLTE3OCAxNzhxLTggOCAtOCAxOC41dDggMTcuNWwyNjcgMjY4bC0yNjcgMjY4cS04IDcgLTggMTcuNXQ4IDE4LjVsMTc4IDE3OHE4IDggMTguNSA4dDE3LjUgLTggbDI2OCAtMjY3bDI2OCAyNjhxNyA3IDE3LjUgN3QxOC41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTU7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNNDI1IDkwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWg3NXExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41IHQtMTcuNSAtNy41aC03NXYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtNzVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg3NXY3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTY7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNMzI1IDgwMGgzNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNzsiIGQ9Ik01NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04MDAgOTc1djE2NnExNjcgLTYyIDI3MiAtMjA5LjV0MTA1IC0zMzEuNXEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNSB0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHEwIDE4NCAxMDUgMzMxLjV0MjcyIDIwOS41di0xNjZxLTEwMyAtNTUgLTE2NSAtMTU1dC02MiAtMjIwcTAgLTExNiA1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXEwIDEyMCAtNjIgMjIwdC0xNjUgMTU1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTg7IiBkPSJNMTAyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTExNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTcyNSA4MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgNTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTQ1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djQ1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0xMjUgMzAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41IHYyNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDE5OyIgZD0iTTYwMCAxMTc0cTMzIDAgNzQgLTVsMzggLTE1Mmw1IC0xcTQ5IC0xNCA5NCAtMzlsNSAtMmwxMzQgODBxNjEgLTQ4IDEwNCAtMTA1bC04MCAtMTM0bDMgLTVxMjUgLTQ0IDM5IC05M2wxIC02bDE1MiAtMzhxNSAtNDMgNSAtNzNxMCAtMzQgLTUgLTc0bC0xNTIgLTM4bC0xIC02cS0xNSAtNDkgLTM5IC05M2wtMyAtNWw4MCAtMTM0cS00OCAtNjEgLTEwNCAtMTA1bC0xMzQgODFsLTUgLTNxLTQ0IC0yNSAtOTQgLTM5bC01IC0ybC0zOCAtMTUxIHEtNDMgLTUgLTc0IC01cS0zMyAwIC03NCA1bC0zOCAxNTFsLTUgMnEtNDkgMTQgLTk0IDM5bC01IDNsLTEzNCAtODFxLTYwIDQ4IC0xMDQgMTA1bDgwIDEzNGwtMyA1cS0yNSA0NSAtMzggOTNsLTIgNmwtMTUxIDM4cS02IDQyIC02IDc0cTAgMzMgNiA3M2wxNTEgMzhsMiA2cTEzIDQ4IDM4IDkzbDMgNWwtODAgMTM0cTQ3IDYxIDEwNSAxMDVsMTMzIC04MGw1IDJxNDUgMjUgOTQgMzlsNSAxbDM4IDE1MnE0MyA1IDc0IDV6TTYwMCA4MTUgcS04OSAwIC0xNTIgLTYzdC02MyAtMTUxLjV0NjMgLTE1MS41dDE1MiAtNjN0MTUyIDYzdDYzIDE1MS41dC02MyAxNTEuNXQtMTUyIDYzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjA7IiBkPSJNNTAwIDEzMDBoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di0xMDBoMjc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoLTExMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNzV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNTAwIDEyMDB2LTEwMGgzMDB2MTAwaC0zMDB6TTExMDAgOTAwdi04MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTcwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjUgdjgwMGg5MDB6TTMwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTUwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTcwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTkwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMTsiIGQ9Ik0xOCA2MThsNjIwIDYwOHE4IDcgMTguNSA3dDE3LjUgLTdsNjA4IC02MDhxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xNzV2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWgtMzAwdi0zNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NzVoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDIyOyIgZD0iTTYwMCAxMjAwdi00MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDMwMHYtNjUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djExMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHpNMTAwMCA4MDBoLTI1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxMDI3cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd0MjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjV0LTU3IDIxNC41dC0xNTUuNSAxNTUuNXQtMjE0LjUgNTd6TTUyNSA5MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0yNzVoMTc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI0OyIgZD0iTTEzMDAgMGgtNTM4bC00MSA0MDBoLTI0MmwtNDEgLTQwMGgtNTM4bDQzMSAxMjAwaDIwOWwtMjEgLTMwMGgxNjJsLTIwIDMwMGgyMDh6TTUxNSA4MDBsLTI3IC0zMDBoMjI0bC0yNyAzMDBoLTE3MHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI1OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDUwaDE5MXEyMCAwIDI1LjUgLTExLjV0LTcuNSAtMjcuNWwtMzI3IC00MDBxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMzI3IDQwMHEtMTMgMTYgLTcuNSAyNy41dDI1LjUgMTEuNWgxOTF2NDUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEyNSA0MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0zNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41IGgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTc1aDkwMHYxNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01MjUgOTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI3NWgxMzdxMjEgMCAyNiAtMTEuNXQtOCAtMjcuNWwtMjIzIC0yNzVxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMjIzIDI3NXEtMTMgMTYgLTggMjcuNXQyNiAxMS41aDEzN3YyNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNzsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNjMyIDkxNGwyMjMgLTI3NXExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTEzN3YtMjc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2Mjc1aC0xMzdxLTIxIDAgLTI2IDExLjV0OCAyNy41bDIyMyAyNzVxMTMgMTYgMzIgMTYgdDMyIC0xNnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI4OyIgZD0iTTIyNSAxMjAwaDc1MHExMCAwIDE5LjUgLTd0MTIuNSAtMTdsMTg2IC02NTJxNyAtMjQgNyAtNDl2LTQyNXEwIC0xMiAtNCAtMjd0LTkgLTE3cS0xMiAtNiAtMzcgLTZoLTExMDBxLTEyIDAgLTI3IDR0LTE3IDhxLTYgMTMgLTYgMzhsMSA0MjVxMCAyNSA3IDQ5bDE4NSA2NTJxMyAxMCAxMi41IDE3dDE5LjUgN3pNODc4IDEwMDBoLTU1NnEtMTAgMCAtMTkgLTd0LTExIC0xOGwtODcgLTQ1MHEtMiAtMTEgNCAtMTh0MTYgLTdoMTUwIHExMCAwIDE5LjUgLTd0MTEuNSAtMTdsMzggLTE1MnEyIC0xMCAxMS41IC0xN3QxOS41IC03aDI1MHExMCAwIDE5LjUgN3QxMS41IDE3bDM4IDE1MnEyIDEwIDExLjUgMTd0MTkuNSA3aDE1MHExMCAwIDE2IDd0NCAxOGwtODcgNDUwcS0yIDExIC0xMSAxOHQtMTkgN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI5OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01NDAgODIwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMDsiIGQ9Ik05NDcgMTA2MGwxMzUgMTM1cTcgNyAxMi41IDV0NS41IC0xM3YtMzYycTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMzYycS0xMSAwIC0xMyA1LjV0NSAxMi41bDEzMyAxMzNxLTEwOSA3NiAtMjM4IDc2cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNWgxNTBxMCAtMTE3IC00NS41IC0yMjQgdC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDMxOyIgZD0iTTk0NyAxMDYwbDEzNSAxMzVxNyA3IDEyLjUgNXQ1LjUgLTEzdi0zNjFxMCAtMTEgLTcuNSAtMTguNXQtMTguNSAtNy41aC0zNjFxLTExIDAgLTEzIDUuNXQ1IDEyLjVsMTM0IDEzNHEtMTEwIDc1IC0yMzkgNzVxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41aC0xNTBxMCAxMTcgNDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3pNMTAyNyA2MDBoMTUwIHEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41cS0xOTIgMCAtMzQ4IDExOGwtMTM0IC0xMzRxLTcgLTggLTEyLjUgLTUuNXQtNS41IDEyLjV2MzYwcTAgMTEgNy41IDE4LjV0MTguNSA3LjVoMzYwcTEwIDAgMTIuNSAtNS41dC01LjUgLTEyLjVsLTEzMyAtMTMzcTExMCAtNzYgMjQwIC03NnExMTYgMCAyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDMyOyIgZD0iTTEyNSAxMjAwaDEwNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djExNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMTA3NSAxMDAwaC04NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di04NTBxMCAtMTAgNy41IC0xNy41dDE3LjUgLTcuNWg4NTBxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXY4NTAgcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMzI1IDkwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgOTAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTMyNSA3MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNTI1IDcwMGg0NTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTQ1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0zMjUgNTAwaDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTUyNSA1MDBoNDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC00NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMzI1IDMwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgMzAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMzsiIGQ9Ik05MDAgODAwdjIwMHEwIDgzIC01OC41IDE0MS41dC0xNDEuNSA1OC41aC0zMDBxLTgyIDAgLTE0MSAtNTl0LTU5IC0xNDF2LTIwMGgtMTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDkwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NjAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC0xMDB6TTQwMCA4MDB2MTUwcTAgMjEgMTUgMzUuNXQzNSAxNC41aDIwMCBxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNXYtMTUwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNDsiIGQ9Ik0xMjUgMTEwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwNzVoLTEwMHYxMDc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwNzUgMTA1MnE0IDAgOSAtMnExNiAtNiAxNiAtMjN2LTQyMXEwIC02IC0zIC0xMnEtMzMgLTU5IC02Ni41IC05OXQtNjUuNSAtNTh0LTU2LjUgLTI0LjV0LTUyLjUgLTYuNXEtMjYgMCAtNTcuNSA2LjV0LTUyLjUgMTMuNXQtNjAgMjFxLTQxIDE1IC02MyAyMi41dC01Ny41IDE1dC02NS41IDcuNSBxLTg1IDAgLTE2MCAtNTdxLTcgLTUgLTE1IC01cS02IDAgLTExIDNxLTE0IDcgLTE0IDIydjQzOHEyMiA1NSA4MiA5OC41dDExOSA0Ni41cTIzIDIgNDMgMC41dDQzIC03dDMyLjUgLTguNXQzOCAtMTN0MzIuNSAtMTFxNDEgLTE0IDYzLjUgLTIxdDU3IC0xNHQ2My41IC03cTEwMyAwIDE4MyA4N3E3IDggMTggOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDM1OyIgZD0iTTYwMCAxMTc1cTExNiAwIDIyNyAtNDkuNXQxOTIuNSAtMTMxdDEzMSAtMTkyLjV0NDkuNSAtMjI3di0zMDBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djMwMHEwIDEyNyAtNzAuNSAyMzEuNXQtMTg0LjUgMTYxLjV0LTI0NSA1N3QtMjQ1IC01N3QtMTg0LjUgLTE2MS41dC03MC41IC0yMzEuNXYtMzAwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTAgcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzAwcTAgMTE2IDQ5LjUgMjI3dDEzMSAxOTIuNXQxOTIuNSAxMzF0MjI3IDQ5LjV6TTIyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwcTAgOCA2IDE0dDE0IDZ6TTgyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwIHEwIDggNiAxNHQxNCA2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzY7IiBkPSJNMzIxIDgxNGwyNTggMTcycTkgNiAxNSAyLjV0NiAtMTMuNXYtNzUwcTAgLTEwIC02IC0xMy41dC0xNSAyLjVsLTI1OCAxNzJxLTIxIDE0IC00NiAxNGgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMjUwcTI1IDAgNDYgMTR6TTkwMCA2NjhsMTIwIDEyMHE3IDcgMTcgN3QxNyAtN2wzNCAtMzRxNyAtNyA3IC0xN3QtNyAtMTdsLTEyMCAtMTIwbDEyMCAtMTIwcTcgLTcgNyAtMTcgdC03IC0xN2wtMzQgLTM0cS03IC03IC0xNyAtN3QtMTcgN2wtMTIwIDExOWwtMTIwIC0xMTlxLTcgLTcgLTE3IC03dC0xNyA3bC0zNCAzNHEtNyA3IC03IDE3dDcgMTdsMTE5IDEyMGwtMTE5IDEyMHEtNyA3IC03IDE3dDcgMTdsMzQgMzRxNyA4IDE3IDh0MTcgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNzsiIGQ9Ik0zMjEgODE0bDI1OCAxNzJxOSA2IDE1IDIuNXQ2IC0xMy41di03NTBxMCAtMTAgLTYgLTEzLjV0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNiBsLTI5IDIzcS03IDcgLTguNSAxNi41dDQuNSAxNy41cTcyIDEwMyA3MiAyMjlxMCAxMzIgLTc4IDIzOHEtNiA4IC00LjUgMTh0OS41IDE3bDI5IDIycTcgNSAxNSA1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzg7IiBkPSJNOTY3IDEwMDRoM3ExMSAtMSAxNyAtMTBxMTM1IC0xNzkgMTM1IC0zOTZxMCAtMTA1IC0zNCAtMjA2LjV0LTk4IC0xODUuNXEtNyAtOSAtMTcgLTEwaC0zcS05IDAgLTE2IDZsLTQyIDM0cS04IDYgLTkgMTZ0NSAxOHExMTEgMTUwIDExMSAzMjhxMCA5MCAtMjkuNSAxNzZ0LTg0LjUgMTU3cS02IDkgLTUgMTl0MTAgMTZsNDIgMzNxNyA1IDE1IDV6TTMyMSA4MTRsMjU4IDE3MnE5IDYgMTUgMi41dDYgLTEzLjV2LTc1MHEwIC0xMCAtNiAtMTMuNSB0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNmwtMjkgMjNxLTcgNyAtOC41IDE2LjV0NC41IDE3LjVxNzIgMTAzIDcyIDIyOXEwIDEzMiAtNzggMjM4IHEtNiA4IC00LjUgMTguNXQ5LjUgMTYuNWwyOSAyMnE3IDUgMTUgNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDM5OyIgZD0iTTUwMCA5MDBoMTAwdi0xMDBoLTEwMHYtMTAwaC00MDB2LTEwMGgtMTAwdjYwMGg1MDB2LTMwMHpNMTIwMCA3MDBoLTIwMHYtMTAwaDIwMHYtMjAwaC0zMDB2MzAwaC0yMDB2MzAwaC0xMDB2MjAwaDYwMHYtNTAwek0xMDAgMTEwMHYtMzAwaDMwMHYzMDBoLTMwMHpNODAwIDExMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTMwMCA5MDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEwMDAgOTAwaC0xMDB2MTAwaDEwMHYtMTAwek0zMDAgNTAwaDIwMHYtNTAwIGgtNTAwdjUwMGgyMDB2MTAwaDEwMHYtMTAwek04MDAgMzAwaDIwMHYtMTAwaC0xMDB2LTEwMGgtMjAwdjEwMGgtMTAwdjEwMGgxMDB2MjAwaC0yMDB2MTAwaDMwMHYtMzAwek0xMDAgNDAwdi0zMDBoMzAwdjMwMGgtMzAwek0zMDAgMjAwaC0xMDB2MTAwaDEwMHYtMTAwek0xMjAwIDIwMGgtMTAwdjEwMGgxMDB2LTEwMHpNNzAwIDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEyMDAgMGgtMzAwdjEwMGgzMDB2LTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQwOyIgZD0iTTEwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMzAwIDIwMGgtMTAwdjEwMDBoMTAwdi0xMDAwek03MDAgMjAwaC0yMDB2MTAwMGgyMDB2LTEwMDB6TTkwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMTIwMCAyMDBoLTIwMHYxMDAwaDIwMHYtMTAwMHpNNDAwIDBoLTMwMHYxMDBoMzAwdi0xMDB6TTYwMCAwaC0xMDB2OTFoMTAwdi05MXpNODAwIDBoLTEwMHY5MWgxMDB2LTkxek0xMTAwIDBoLTIwMHY5MWgyMDB2LTkxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNDE7IiBkPSJNNTAwIDEyMDBsNjgyIC02ODJxOCAtOCA4IC0xOHQtOCAtMThsLTQ2NCAtNDY0cS04IC04IC0xOCAtOHQtMTggOGwtNjgyIDY4MmwxIDQ3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDQ3NHpNMzE5LjUgMTAyNC41cS0yOS41IDI5LjUgLTcxIDI5LjV0LTcxIC0yOS41dC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQyOyIgZD0iTTUwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTY4MiA2ODJsMSA0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg0NzR6TTgwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTU2IDU2bDQyNCA0MjZsLTcwMCA3MDBoMTUwek0zMTkuNSAxMDI0LjVxLTI5LjUgMjkuNSAtNzEgMjkuNXQtNzEgLTI5LjUgdC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQzOyIgZD0iTTMwMCAxMjAwaDgyNXE3NSAwIDc1IC03NXYtOTAwcTAgLTI1IC0xOCAtNDNsLTY0IC02NHEtOCAtOCAtMTMgLTUuNXQtNSAxMi41djk1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjVoLTcwMHEtMjUgMCAtNDMgLTE4bC02NCAtNjRxLTggLTggLTUuNSAtMTN0MTIuNSAtNWg3MDBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di05NTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC04NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NzUgcTAgMjUgMTggNDNsMTM5IDEzOXExOCAxOCA0MyAxOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQ0OyIgZD0iTTI1MCAxMjAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTE1MGwtNDUwIDQ0NGwtNDUwIC00NDV2MTE1MXEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NTsiIGQ9Ik04MjIgMTIwMGgtNDQ0cS0xMSAwIC0xOSAtNy41dC05IC0xNy41bC03OCAtMzAxcS03IC0yNCA3IC00NWw1NyAtMTA4cTYgLTkgMTcuNSAtMTV0MjEuNSAtNmg0NTBxMTAgMCAyMS41IDZ0MTcuNSAxNWw2MiAxMDhxMTQgMjEgNyA0NWwtODMgMzAxcS0xIDEwIC05IDE3LjV0LTE5IDcuNXpNMTE3NSA4MDBoLTE1MHEtMTAgMCAtMjEgLTYuNXQtMTUgLTE1LjVsLTc4IC0xNTZxLTQgLTkgLTE1IC0xNS41dC0yMSAtNi41aC01NTAgcS0xMCAwIC0yMSA2LjV0LTE1IDE1LjVsLTc4IDE1NnEtNCA5IC0xNSAxNS41dC0yMSA2LjVoLTE1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTY1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDc1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41IHQ3LjUgMTcuNXY2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41ek04NTAgMjAwaC01MDBxLTEwIDAgLTE5LjUgLTd0LTExLjUgLTE3bC0zOCAtMTUycS0yIC0xMCAzLjUgLTE3dDE1LjUgLTdoNjAwcTEwIDAgMTUuNSA3dDMuNSAxN2wtMzggMTUycS0yIDEwIC0xMS41IDE3dC0xOS41IDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NjsiIGQ9Ik01MDAgMTEwMGgyMDBxNTYgMCAxMDIuNSAtMjAuNXQ3Mi41IC01MHQ0NCAtNTl0MjUgLTUwLjVsNiAtMjBoMTUwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di02MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTEwMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djYwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMTUwcTIgOCA2LjUgMjEuNXQyNCA0OHQ0NSA2MXQ3MiA0OHQxMDIuNSAyMS41ek05MDAgODAwdi0xMDAgaDEwMHYxMDBoLTEwMHpNNjAwIDczMHEtOTUgMCAtMTYyLjUgLTY3LjV0LTY3LjUgLTE2Mi41dDY3LjUgLTE2Mi41dDE2Mi41IC02Ny41dDE2Mi41IDY3LjV0NjcuNSAxNjIuNXQtNjcuNSAxNjIuNXQtMTYyLjUgNjcuNXpNNjAwIDYwM3E0MyAwIDczIC0zMHQzMCAtNzN0LTMwIC03M3QtNzMgLTMwdC03MyAzMHQtMzAgNzN0MzAgNzN0NzMgMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NzsiIGQ9Ik02ODEgMTE5OWwzODUgLTk5OHEyMCAtNTAgNjAgLTkycTE4IC0xOSAzNi41IC0yOS41dDI3LjUgLTExLjVsMTAgLTJ2LTY2aC00MTd2NjZxNTMgMCA3NSA0My41dDUgODguNWwtODIgMjIyaC0zOTFxLTU4IC0xNDUgLTkyIC0yMzRxLTExIC0zNCAtNi41IC01N3QyNS41IC0zN3Q0NiAtMjB0NTUgLTZ2LTY2aC0zNjV2NjZxNTYgMjQgODQgNTJxMTIgMTIgMjUgMzAuNXQyMCAzMS41bDcgMTNsMzk5IDEwMDZoOTN6TTQxNiA1MjFoMzQwIGwtMTYyIDQ1N3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQ4OyIgZD0iTTc1MyA2NDFxNSAtMSAxNC41IC00LjV0MzYgLTE1LjV0NTAuNSAtMjYuNXQ1My41IC00MHQ1MC41IC01NC41dDM1LjUgLTcwdDE0LjUgLTg3cTAgLTY3IC0yNy41IC0xMjUuNXQtNzEuNSAtOTcuNXQtOTguNSAtNjYuNXQtMTA4LjUgLTQwLjV0LTEwMiAtMTNoLTUwMHY4OXE0MSA3IDcwLjUgMzIuNXQyOS41IDY1LjV2ODI3cTAgMjQgLTAuNSAzNHQtMy41IDI0dC04LjUgMTkuNXQtMTcgMTMuNXQtMjggMTIuNXQtNDIuNSAxMS41djcxIGw0NzEgLTFxNTcgMCAxMTUuNSAtMjAuNXQxMDggLTU3dDgwLjUgLTk0dDMxIC0xMjQuNXEwIC01MSAtMTUuNSAtOTYuNXQtMzggLTc0LjV0LTQ1IC01MC41dC0zOC41IC0zMC41ek00MDAgNzAwaDEzOXE3OCAwIDEzMC41IDQ4LjV0NTIuNSAxMjIuNXEwIDQxIC04LjUgNzAuNXQtMjkuNSA1NS41dC02Mi41IDM5LjV0LTEwMy41IDEzLjVoLTExOHYtMzUwek00MDAgMjAwaDIxNnE4MCAwIDEyMSA1MC41dDQxIDEzMC41cTAgOTAgLTYyLjUgMTU0LjUgdC0xNTYuNSA2NC41aC0xNTl2LTQwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQ5OyIgZD0iTTg3NyAxMjAwbDIgLTU3cS04MyAtMTkgLTExNiAtNDUuNXQtNDAgLTY2LjVsLTEzMiAtODM5cS05IC00OSAxMyAtNjl0OTYgLTI2di05N2gtNTAwdjk3cTE4NiAxNiAyMDAgOThsMTczIDgzMnEzIDE3IDMgMzB0LTEuNSAyMi41dC05IDE3LjV0LTEzLjUgMTIuNXQtMjEuNSAxMHQtMjYgOC41dC0zMy41IDEwcS0xMyAzIC0xOSA1djU3aDQyNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDUwOyIgZD0iTTEzMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTE3NSAxMDAwaC03NXYtODAwaDc1bC0xMjUgLTE2N2wtMTI1IDE2N2g3NXY4MDBoLTc1bDEyNSAxNjd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MTsiIGQ9Ik0xMTAwIDkwMGgtNTBxMCAyMSAtNCAzN3QtOS41IDI2LjV0LTE4IDE3LjV0LTIyIDExdC0yOC41IDUuNXQtMzEgMnQtMzcgMC41aC0yMDB2LTY1MHEwIC0yMiAyNSAtMzQuNXQ1MCAtMTMuNWwyNSAtMnYtMTAwaC00MDB2MTAwcTQgMCAxMSAwLjV0MjQgM3QzMCA3dDI0IDE1dDExIDI0LjV2NjUwaC0yMDBxLTI1IDAgLTM3IC0wLjV0LTMxIC0ydC0yOC41IC01LjV0LTIyIC0xMXQtMTggLTE3LjV0LTkuNSAtMjYuNXQtNCAtMzdoLTUwdjMwMCBoMTAwMHYtMzAwek0xMTY3IDUwbC0xNjcgLTEyNXY3NWgtODAwdi03NWwtMTY3IDEyNWwxNjcgMTI1di03NWg4MDB2NzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MjsiIGQ9Ik01MCAxMTAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDgwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MzsiIGQ9Ik0yNTAgMTEwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjUwIDUwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDU0OyIgZD0iTTUwMCA5NTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg2MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXpNMTAwIDY1MHYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41ek0zMDAgMzUwdjEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV6TTAgNTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDU1OyIgZD0iTTUwIDExMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1NjsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCAxMTAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMzUwIDgwMGg4MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zNTAgMjAwaDgwMCBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNTc7IiBkPSJNNDAwIDBoLTEwMHYxMTAwaDEwMHYtMTEwMHpNNTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjY3IDU1MGwtMTY3IC0xMjV2NzVoLTIwMHYxMDBoMjAwdjc1ek01NTAgNTAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTU1MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1ODsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAwaC0xMDB2MTEwMGgxMDB2LTExMDB6TTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEwMCA2MDBoMjAwdi0xMDBoLTIwMHYtNzVsLTE2NyAxMjVsMTY3IDEyNXYtNzV6TTUwIDUwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1OTsiIGQ9Ik03NSAxMDAwaDc1MHEzMSAwIDUzIC0yMnQyMiAtNTN2LTY1MHEwIC0zMSAtMjIgLTUzdC01MyAtMjJoLTc1MHEtMzEgMCAtNTMgMjJ0LTIyIDUzdjY1MHEwIDMxIDIyIDUzdDUzIDIyek0xMjAwIDMwMGwtMzAwIDMwMGwzMDAgMzAwdi02MDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2MDsiIGQ9Ik00NCAxMTAwaDExMTJxMTggMCAzMSAtMTN0MTMgLTMxdi0xMDEycTAgLTE4IC0xMyAtMzF0LTMxIC0xM2gtMTExMnEtMTggMCAtMzEgMTN0LTEzIDMxdjEwMTJxMCAxOCAxMyAzMXQzMSAxM3pNMTAwIDEwMDB2LTczN2wyNDcgMTgybDI5OCAtMTMxbC03NCAxNTZsMjkzIDMxOGwyMzYgLTI4OHY1MDBoLTEwMDB6TTM0MiA4ODRxNTYgMCA5NSAtMzl0MzkgLTk0LjV0LTM5IC05NXQtOTUgLTM5LjV0LTk1IDM5LjV0LTM5IDk1dDM5IDk0LjUgdDk1IDM5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjI7IiBkPSJNNjQ4IDExNjlxMTE3IDAgMjE2IC02MHQxNTYuNSAtMTYxdDU3LjUgLTIxOHEwIC0xMTUgLTcwIC0yNThxLTY5IC0xMDkgLTE1OCAtMjI1LjV0LTE0MyAtMTc5LjVsLTU0IC02MnEtOSA4IC0yNS41IDI0LjV0LTYzLjUgNjcuNXQtOTEgMTAzdC05OC41IDEyOHQtOTUuNSAxNDhxLTYwIDEzMiAtNjAgMjQ5cTAgODggMzQgMTY5LjV0OTEuNSAxNDJ0MTM3IDk2LjV0MTY2LjUgMzZ6TTY1Mi41IDk3NHEtOTEuNSAwIC0xNTYuNSAtNjUgdC02NSAtMTU3dDY1IC0xNTYuNXQxNTYuNSAtNjQuNXQxNTYuNSA2NC41dDY1IDE1Ni41dC02NSAxNTd0LTE1Ni41IDY1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxNzN2ODU0cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2NDsiIGQ9Ik01NTQgMTI5NXEyMSAtNzIgNTcuNSAtMTQzLjV0NzYgLTEzMHQ4MyAtMTE4dDgyLjUgLTExN3Q3MCAtMTE2dDQ5LjUgLTEyNnQxOC41IC0xMzYuNXEwIC03MSAtMjUuNSAtMTM1dC02OC41IC0xMTF0LTk5IC04MnQtMTE4LjUgLTU0dC0xMjUuNSAtMjNxLTg0IDUgLTE2MS41IDM0dC0xMzkuNSA3OC41dC05OSAxMjV0LTM3IDE2NC41cTAgNjkgMTggMTM2LjV0NDkuNSAxMjYuNXQ2OS41IDExNi41dDgxLjUgMTE3LjV0ODMuNSAxMTkgdDc2LjUgMTMxdDU4LjUgMTQzek0zNDQgNzEwcS0yMyAtMzMgLTQzLjUgLTcwLjV0LTQwLjUgLTEwMi41dC0xNyAtMTIzcTEgLTM3IDE0LjUgLTY5LjV0MzAgLTUydDQxIC0zN3QzOC41IC0yNC41dDMzIC0xNXEyMSAtNyAzMiAtMXQxMyAyMmw2IDM0cTIgMTAgLTIuNSAyMnQtMTMuNSAxOXEtNSA0IC0xNCAxMnQtMjkuNSA0MC41dC0zMi41IDczLjVxLTI2IDg5IDYgMjcxcTIgMTEgLTYgMTFxLTggMSAtMTUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjU7IiBkPSJNMTAwMCAxMDEzbDEwOCAxMTVxMiAxIDUgMnQxMyAydDIwLjUgLTF0MjUgLTkuNXQyOC41IC0yMS41cTIyIC0yMiAyNyAtNDN0MCAtMzJsLTYgLTEwbC0xMDggLTExNXpNMzUwIDExMDBoNDAwcTUwIDAgMTA1IC0xM2wtMTg3IC0xODdoLTM2OHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41djE4MmwyMDAgMjAwdi0zMzIgcTAgLTE2NSAtOTMuNSAtMjU3LjV0LTI1Ni41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTEwMDkgODAzbC0zNjIgLTM2MmwtMTYxIC01MGw1NSAxNzBsMzU1IDM1NXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDY2OyIgZD0iTTM1MCAxMTAwaDM2MXEtMTY0IC0xNDYgLTIxNiAtMjAwaC0xOTVxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNWwyMDAgMTUzdi0xMDNxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTgyNCAxMDczbDMzOSAtMzAxcTggLTcgOCAtMTcuNXQtOCAtMTcuNWwtMzQwIC0zMDZxLTcgLTYgLTEyLjUgLTR0LTYuNSAxMXYyMDNxLTI2IDEgLTU0LjUgMHQtNzguNSAtNy41dC05MiAtMTcuNXQtODYgLTM1dC03MCAtNTdxMTAgNTkgMzMgMTA4dDUxLjUgODEuNXQ2NSA1OC41dDY4LjUgNDAuNXQ2NyAyNC41dDU2IDEzLjV0NDAgNC41djIxMHExIDEwIDYuNSAxMi41dDEzLjUgLTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDY3OyIgZD0iTTM1MCAxMTAwaDM1MHE2MCAwIDEyNyAtMjNsLTE3OCAtMTc3aC0zNDlxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNXY2OWwyMDAgMjAwdi0yMTlxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTY0MyA2MzlsMzk1IDM5NXE3IDcgMTcuNSA3dDE3LjUgLTdsMTAxIC0xMDFxNyAtNyA3IC0xNy41dC03IC0xNy41bC01MzEgLTUzMnEtNyAtNyAtMTcuNSAtN3QtMTcuNSA3bC0yNDggMjQ4cS03IDcgLTcgMTcuNXQ3IDE3LjVsMTAxIDEwMXE3IDcgMTcuNSA3dDE3LjUgLTdsMTExIC0xMTFxOCAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjg7IiBkPSJNMzE4IDkxOGwyNjQgMjY0cTggOCAxOCA4dDE4IC04bDI2MCAtMjY0cTcgLTggNC41IC0xM3QtMTIuNSAtNWgtMTcwdi0yMDBoMjAwdjE3M3EwIDEwIDUgMTJ0MTMgLTVsMjY0IC0yNjBxOCAtNyA4IC0xNy41dC04IC0xNy41bC0yNjQgLTI2NXEtOCAtNyAtMTMgLTV0LTUgMTJ2MTczaC0yMDB2LTIwMGgxNzBxMTAgMCAxMi41IC01dC00LjUgLTEzbC0yNjAgLTI2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTI2NCAyNjRxLTggOCAtNS41IDEzIHQxMi41IDVoMTc1djIwMGgtMjAwdi0xNzNxMCAtMTAgLTUgLTEydC0xMyA1bC0yNjQgMjY1cS04IDcgLTggMTcuNXQ4IDE3LjVsMjY0IDI2MHE4IDcgMTMgNXQ1IC0xMnYtMTczaDIwMHYyMDBoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDY5OyIgZD0iTTI1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDM4bDQ2NCA0NTNxMTUgMTQgMjUuNSAxMHQxMC41IC0yNXYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDcwOyIgZD0iTTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di0xMDAwcTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDcxOyIgZD0iTTEyMDAgMTA1MHYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ5MiA0ODBxLTE1IDE0IC0xNSAzNXQxNSAzNWw0OTIgNDgwcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV2LTQzOGw0NjQgNDUzcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3MjsiIGQ9Ik0yNDMgMTA3NGw4MTQgLTQ5OHExOCAtMTEgMTggLTI2dC0xOCAtMjZsLTgxNCAtNDk4cS0xOCAtMTEgLTMwLjUgLTR0LTEyLjUgMjh2MTAwMHEwIDIxIDEyLjUgMjh0MzAuNSAtNHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDczOyIgZD0iTTI1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzQ7IiBkPSJNMTEwMCA5NTB2LTgwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY4MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDc1OyIgZD0iTTUwMCA2MTJ2NDM4cTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0OTIgLTQ4MHExNSAtMTQgMTUgLTM1dC0xNSAtMzVsLTQ5MiAtNDgwcS0xNSAtMTQgLTI1LjUgLTEwdC0xMC41IDI1djQzOGwtNDY0IC00NTNxLTE1IC0xNCAtMjUuNSAtMTB0LTEwLjUgMjV2MTAwMHEwIDIxIDEwLjUgMjV0MjUuNSAtMTB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NjsiIGQ9Ik0xMDQ4IDExMDJsMTAwIDFxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNWw1IC0xMDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41bC0xMDAgLTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41bC0yIDQzN2wtNDYzIC00NTRxLTE0IC0xNSAtMjQuNSAtMTAuNXQtMTAuNSAyNS41bC0yIDQzN2wtNDYyIC00NTVxLTE1IC0xNCAtMjUuNSAtOS41dC0xMC41IDI0LjVsLTUgMTAwMHEwIDIxIDEwLjUgMjUuNXQyNS41IC0xMC41bDQ2NiAtNDUwIGwtMiA0MzhxMCAyMCAxMC41IDI0LjV0MjUuNSAtOS41bDQ2NiAtNDUxbC0yIDQzOHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NzsiIGQ9Ik04NTAgMTEwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDM4bC00NjQgLTQ1M3EtMTUgLTE0IC0yNS41IC0xMHQtMTAuNSAyNXYxMDAwcTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0NjQgLTQ1M3Y0MzhxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzg7IiBkPSJNNjg2IDEwODFsNTAxIC01NDBxMTUgLTE1IDEwLjUgLTI2dC0yNi41IC0xMWgtMTA0MnEtMjIgMCAtMjYuNSAxMXQxMC41IDI2bDUwMSA1NDBxMTUgMTUgMzYgMTV0MzYgLTE1ek0xNTAgNDAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDc5OyIgZD0iTTg4NSA5MDBsLTM1MiAtMzUzbDM1MiAtMzUzbC0xOTcgLTE5OGwtNTUyIDU1Mmw1NTIgNTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODA7IiBkPSJNMTA2NCA1NDdsLTU1MSAtNTUxbC0xOTggMTk4bDM1MyAzNTNsLTM1MyAzNTNsMTk4IDE5OHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDgxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NTAgOTAwaC0xMDBxLTIxIDAgLTM1LjUgLTE0LjV0LTE0LjUgLTM1LjV2LTE1MGgtMTUwIHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMTAwcTAgLTIxIDE0LjUgLTM1LjV0MzUuNSAtMTQuNWgxNTB2LTE1MHEwIC0yMSAxNC41IC0zNS41dDM1LjUgLTE0LjVoMTAwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxNTBoMTUwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxMDBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTE1MHYxNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4MjsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNODUwIDcwMGgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNSB0MzUuNSAtMTQuNWg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDgzOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03NDEuNSA5MTNxLTEyLjUgMCAtMjEuNSAtOWwtMTIwIC0xMjBsLTEyMCAxMjBxLTkgOSAtMjEuNSA5IHQtMjEuNSAtOWwtMTQxIC0xNDFxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxMjAgLTEyMGwtMTIwIC0xMjBxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxNDEgLTE0MXE5IC05IDIxLjUgLTl0MjEuNSA5bDEyMCAxMjBsMTIwIC0xMjBxOSAtOSAyMS41IC05dDIxLjUgOWwxNDEgMTQxcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTIwIDEyMGwxMjAgMTIwcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTQxIDE0MXEtOSA5IC0yMS41IDl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NDsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNTQ2IDYyM2wtODQgODVxLTcgNyAtMTcuNSA3dC0xOC41IC03bC0xMzkgLTEzOXEtNyAtOCAtNyAtMTh0NyAtMTggbDI0MiAtMjQxcTcgLTggMTcuNSAtOHQxNy41IDhsMzc1IDM3NXE3IDcgNyAxNy41dC03IDE4LjVsLTEzOSAxMzlxLTcgNyAtMTcuNSA3dC0xNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODU7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTU4OCA5NDFxLTI5IDAgLTU5IC01LjV0LTYzIC0yMC41dC01OCAtMzguNXQtNDEuNSAtNjN0LTE2LjUgLTg5LjUgcTAgLTI1IDIwIC0yNWgxMzFxMzAgLTUgMzUgMTFxNiAyMCAyMC41IDI4dDQ1LjUgOHEyMCAwIDMxLjUgLTEwLjV0MTEuNSAtMjguNXEwIC0yMyAtNyAtMzR0LTI2IC0xOHEtMSAwIC0xMy41IC00dC0xOS41IC03LjV0LTIwIC0xMC41dC0yMiAtMTd0LTE4LjUgLTI0dC0xNS41IC0zNXQtOCAtNDZxLTEgLTggNS41IC0xNi41dDIwLjUgLTguNWgxNzNxNyAwIDIyIDh0MzUgMjh0MzcuNSA0OHQyOS41IDc0dDEyIDEwMHEwIDQ3IC0xNyA4MyB0LTQyLjUgNTd0LTU5LjUgMzQuNXQtNjQgMTh0LTU5IDQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDg2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NzUgMTAwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNSB0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTY3NSA3MDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNzV2LTIwMGgtNzVxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di01MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDM1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djUwcTAgMTAgLTcuNSAxNy41IHQtMTcuNSA3LjVoLTc1djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NzsiIGQ9Ik01MjUgMTIwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xOTRxMTAzIC0yNyAxNzguNSAtMTAyLjV0MTAyLjUgLTE3OC41aDE5NHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE5NHEtMjcgLTEwMyAtMTAyLjUgLTE3OC41dC0xNzguNSAtMTAyLjV2LTE5NHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE5NCBxLTEwMyAyNyAtMTc4LjUgMTAyLjV0LTEwMi41IDE3OC41aC0xOTRxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxOTRxMjcgMTAzIDEwMi41IDE3OC41dDE3OC41IDEwMi41djE5NHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek03MDAgODkzdi0xNjhxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNjhxLTY4IC0yMyAtMTE5IC03NCB0LTc0IC0xMTloMTY4cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTY4cTIzIC02OCA3NCAtMTE5dDExOSAtNzR2MTY4cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTY4cTY4IDIzIDExOSA3NHQ3NCAxMTloLTE2OHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDE2OCBxLTIzIDY4IC03NCAxMTl0LTExOSA3NHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDg4OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek03NTkgODIzbDY0IC02NHE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTEyNCAtMTI0bDEyNCAtMTI0cTcgLTcgNyAtMTcuNXQtNyAtMTcuNWwtNjQgLTY0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTEyNCAxMjRsLTEyNCAtMTI0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTY0IDY0IHEtNyA3IC03IDE3LjV0NyAxNy41bDEyNCAxMjRsLTEyNCAxMjRxLTcgNyAtNyAxNy41dDcgMTcuNWw2NCA2NHE3IDcgMTcuNSA3dDE3LjUgLTdsMTI0IC0xMjRsMTI0IDEyNHE3IDcgMTcuNSA3dDE3LjUgLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4OTsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNzgyIDc4OGwxMDYgLTEwNnE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTMyMCAtMzIxcS04IC03IC0xOCAtN3QtMTggN2wtMjAyIDIwM3EtOCA3IC04IDE3LjV0OCAxNy41bDEwNiAxMDZxNyA4IDE3LjUgOHQxNy41IC04bDc5IC03OWwxOTcgMTk3cTcgNyAxNy41IDd0MTcuNSAtN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDkwOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjVxMCAtMTIwIDY1IC0yMjUgbDU4NyA1ODdxLTEwNSA2NSAtMjI1IDY1ek05NjUgODE5bC01ODQgLTU4NHExMDQgLTYyIDIxOSAtNjJxMTE2IDAgMjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjVxMCAxMTUgLTYyIDIxOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDkxOyIgZD0iTTM5IDU4Mmw1MjIgNDI3cTE2IDEzIDI3LjUgOHQxMS41IC0yNnYtMjkxaDU1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC01NTB2LTI5MXEwIC0yMSAtMTEuNSAtMjZ0LTI3LjUgOGwtNTIyIDQyN3EtMTYgMTMgLTE2IDMydDE2IDMyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwOTI7IiBkPSJNNjM5IDEwMDlsNTIyIC00MjdxMTYgLTEzIDE2IC0zMnQtMTYgLTMybC01MjIgLTQyN3EtMTYgLTEzIC0yNy41IC04dC0xMS41IDI2djI5MWgtNTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDU1MHYyOTFxMCAyMSAxMS41IDI2dDI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5MzsiIGQ9Ik02ODIgMTE2MWw0MjcgLTUyMnExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTI5MXYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djU1MGgtMjkxcS0yMSAwIC0yNiAxMS41dDggMjcuNWw0MjcgNTIycTEzIDE2IDMyIDE2dDMyIC0xNnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDk0OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUwaDI5MXEyMSAwIDI2IC0xMS41dC04IC0yNy41bC00MjcgLTUyMnEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC00MjcgNTIycS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMjkxdjU1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5NTsiIGQ9Ik02MzkgMTEwOWw1MjIgLTQyN3ExNiAtMTMgMTYgLTMydC0xNiAtMzJsLTUyMiAtNDI3cS0xNiAtMTMgLTI3LjUgLTh0LTExLjUgMjZ2MjkxcS05NCAtMiAtMTgyIC0yMHQtMTcwLjUgLTUydC0xNDcgLTkyLjV0LTEwMC41IC0xMzUuNXE1IDEwNSAyNyAxOTMuNXQ2Ny41IDE2N3QxMTMgMTM1dDE2NyA5MS41dDIyNS41IDQydjI2MnEwIDIxIDExLjUgMjZ0MjcuNSAtOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDk2OyIgZD0iTTg1MCAxMjAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzAwcTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtOTQgOTRsLTI0OSAtMjQ5cS04IC03IC0xOCAtN3QtMTggN2wtMTA2IDEwNnEtNyA4IC03IDE4dDcgMThsMjQ5IDI0OWwtOTQgOTRxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjV6TTM1MCAwaC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djMwMHEwIDIxIDEwLjUgMjV0MjQuNSAtMTBsOTQgLTk0bDI0OSAyNDkgcTggNyAxOCA3dDE4IC03bDEwNiAtMTA2cTcgLTggNyAtMTh0LTcgLTE4bC0yNDkgLTI0OWw5NCAtOTRxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDk3OyIgZD0iTTEwMTQgMTEyMGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMjQ5IC0yNDlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMjQ5IDI0OXE4IDcgMTggN3QxOCAtN3pNMjUwIDYwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMjQ5IC0yNDlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwyNDkgMjQ5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTAxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03MDQgOTAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNSB0MzcuNSAtMTQuNWg1NHEyMCAwIDM3LjUgMTQuNXQyMS41IDM0LjVsNTggMzAycTQgMjAgLTggMzQuNXQtMzIgMTQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTAyOyIgZD0iTTI2MCAxMjAwcTkgMCAxOSAtMnQxNSAtNGw1IC0ycTIyIC0xMCA0NCAtMjNsMTk2IC0xMThxMjEgLTEzIDM2IC0yNHEyOSAtMjEgMzcgLTEycTExIDEzIDQ5IDM1bDE5NiAxMThxMjIgMTMgNDUgMjNxMTcgNyAzOCA3cTIzIDAgNDcgLTE2LjV0MzcgLTMzLjVsMTMgLTE2cTE0IC0yMSAxOCAtNDVsMjUgLTEyM2w4IC00NHExIC05IDguNSAtMTQuNXQxNy41IC01LjVoNjFxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MCBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE3NWgtNDAwdjMwMGgtMjAwdi0zMDBoLTQwMHYxNzVxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNjFxMTEgMCAxOCAzdDcgOHEwIDQgOSA1MmwyNSAxMjhxNSAyNSAxOSA0NXEyIDMgNSA3dDEzLjUgMTV0MjEuNSAxOS41dDI2LjUgMTUuNSB0MjkuNSA3ek05MTUgMTA3OWwtMTY2IC0xNjJxLTcgLTcgLTUgLTEydDEyIC01aDIxOXExMCAwIDE1IDd0MiAxN2wtNTEgMTQ5cS0zIDEwIC0xMSAxMnQtMTUgLTZ6TTQ2MyA5MTdsLTE3NyAxNTdxLTggNyAtMTYgNXQtMTEgLTEybC01MSAtMTQzcS0zIC0xMCAyIC0xN3QxNSAtN2gyMzFxMTEgMCAxMi41IDV0LTUuNSAxMnpNNTAwIDBoLTM3NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWg0MDB2LTQwMHpNMTEwMCA0MDB2LTM3NSBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNzV2NDAwaDQwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTAzOyIgZD0iTTExNjUgMTE5MHE4IDMgMjEgLTYuNXQxMyAtMTcuNXEtMiAtMTc4IC0yNC41IC0zMjMuNXQtNTUuNSAtMjQ1LjV0LTg3IC0xNzQuNXQtMTAyLjUgLTExOC41dC0xMTggLTY4LjV0LTExOC41IC0zM3QtMTIwIC00LjV0LTEwNSA5LjV0LTkwIDE2LjVxLTYxIDEyIC03OCAxMXEtNCAxIC0xMi41IDB0LTM0IC0xNC41dC01Mi41IC00MC41bC0xNTMgLTE1M3EtMjYgLTI0IC0zNyAtMTQuNXQtMTEgNDMuNXEwIDY0IDQyIDEwMnE4IDggNTAuNSA0NSB0NjYuNSA1OHExOSAxNyAzNSA0N3QxMyA2MXEtOSA1NSAtMTAgMTAyLjV0NyAxMTF0MzcgMTMwdDc4IDEyOS41cTM5IDUxIDgwIDg4dDg5LjUgNjMuNXQ5NC41IDQ1dDExMy41IDM2dDEyOSAzMXQxNTcuNSAzN3QxODIgNDcuNXpNMTExNiAxMDk4cS04IDkgLTIyLjUgLTN0LTQ1LjUgLTUwcS0zOCAtNDcgLTExOSAtMTAzLjV0LTE0MiAtODkuNWwtNjIgLTMzcS01NiAtMzAgLTEwMiAtNTd0LTEwNCAtNjh0LTEwMi41IC04MC41dC04NS41IC05MSB0LTY0IC0xMDQuNXEtMjQgLTU2IC0zMSAtODZ0MiAtMzJ0MzEuNSAxNy41dDU1LjUgNTkuNXEyNSAzMCA5NCA3NS41dDEyNS41IDc3LjV0MTQ3LjUgODFxNzAgMzcgMTE4LjUgNjl0MTAyIDc5LjV0OTkgMTExdDg2LjUgMTQ4LjVxMjIgNTAgMjQgNjB0LTYgMTl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNDsiIGQ9Ik02NTMgMTIzMXEtMzkgLTY3IC01NC41IC0xMzF0LTEwLjUgLTExNC41dDI0LjUgLTk2LjV0NDcuNSAtODB0NjMuNSAtNjIuNXQ2OC41IC00Ni41dDY1IC0zMHEtNCA3IC0xNy41IDM1dC0xOC41IDM5LjV0LTE3IDM5LjV0LTE3IDQzdC0xMyA0MnQtOS41IDQ0LjV0LTIgNDJ0NCA0M3QxMy41IDM5dDIzIDM4LjVxOTYgLTQyIDE2NSAtMTA3LjV0MTA1IC0xMzh0NTIgLTE1NnQxMyAtMTU5dC0xOSAtMTQ5LjVxLTEzIC01NSAtNDQgLTEwNi41IHQtNjggLTg3dC03OC41IC02NC41dC03Mi41IC00NXQtNTMgLTIycS03MiAtMjIgLTEyNyAtMTFxLTMxIDYgLTEzIDE5cTYgMyAxNyA3cTEzIDUgMzIuNSAyMXQ0MSA0NHQzOC41IDYzLjV0MjEuNSA4MS41dC02LjUgOTQuNXQtNTAgMTA3dC0xMDQgMTE1LjVxMTAgLTEwNCAtMC41IC0xODl0LTM3IC0xNDAuNXQtNjUgLTkzdC04NCAtNTJ0LTkzLjUgLTExdC05NSAyNC41cS04MCAzNiAtMTMxLjUgMTE0dC01My41IDE3MXEtMiAyMyAwIDQ5LjUgdDQuNSA1Mi41dDEzLjUgNTZ0MjcuNSA2MHQ0NiA2NC41dDY5LjUgNjguNXEtOCAtNTMgLTUgLTEwMi41dDE3LjUgLTkwdDM0IC02OC41dDQ0LjUgLTM5dDQ5IC0ycTMxIDEzIDM4LjUgMzZ0LTQuNSA1NXQtMjkgNjQuNXQtMzYgNzV0LTI2IDc1LjVxLTE1IDg1IDIgMTYxLjV0NTMuNSAxMjguNXQ4NS41IDkyLjV0OTMuNSA2MXQ4MS41IDI1LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNTsiIGQ9Ik02MDAgMTA5NHE4MiAwIDE2MC41IC0yMi41dDE0MCAtNTl0MTE2LjUgLTgyLjV0OTQuNSAtOTV0NjggLTk1dDQyLjUgLTgyLjV0MTQgLTU3LjV0LTE0IC01Ny41dC00MyAtODIuNXQtNjguNSAtOTV0LTk0LjUgLTk1dC0xMTYuNSAtODIuNXQtMTQwIC01OXQtMTU5LjUgLTIyLjV0LTE1OS41IDIyLjV0LTE0MCA1OXQtMTE2LjUgODIuNXQtOTQuNSA5NXQtNjguNSA5NXQtNDMgODIuNXQtMTQgNTcuNXQxNCA1Ny41dDQyLjUgODIuNXQ2OCA5NSB0OTQuNSA5NXQxMTYuNSA4Mi41dDE0MCA1OXQxNjAuNSAyMi41ek04ODggODI5cS0xNSAxNSAtMTggMTJ0NSAtMjJxMjUgLTU3IDI1IC0xMTlxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4dC0yMTIgODh0LTg4IDIxMnEwIDU5IDIzIDExNHE4IDE5IDQuNSAyMnQtMTcuNSAtMTJxLTcwIC02OSAtMTYwIC0xODRxLTEzIC0xNiAtMTUgLTQwLjV0OSAtNDIuNXEyMiAtMzYgNDcgLTcxdDcwIC04MnQ5Mi41IC04MXQxMTMgLTU4LjV0MTMzLjUgLTI0LjUgdDEzMy41IDI0dDExMyA1OC41dDkyLjUgODEuNXQ3MCA4MS41dDQ3IDcwLjVxMTEgMTggOSA0Mi41dC0xNCA0MS41cS05MCAxMTcgLTE2MyAxODl6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wzNSAzNHExNCAxNSAxMi41IDMzLjV0LTE2LjUgMzMuNXEtNDQgNDQgLTg5IDExN3EtMTEgMTggLTI4IDIwdC0zMiAtMTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNjsiIGQ9Ik01OTIgMGgtMTQ4bDMxIDEyMHEtOTEgMjAgLTE3NS41IDY4LjV0LTE0My41IDEwNi41dC0xMDMuNSAxMTl0LTY2LjUgMTEwdC0yMiA3NnEwIDIxIDE0IDU3LjV0NDIuNSA4Mi41dDY4IDk1dDk0LjUgOTV0MTE2LjUgODIuNXQxNDAgNTl0MTYwLjUgMjIuNXE2MSAwIDEyNiAtMTVsMzIgMTIxaDE0OHpNOTQ0IDc3MGw0NyAxODFxMTA4IC04NSAxNzYuNSAtMTkydDY4LjUgLTE1OXEwIC0yNiAtMTkuNSAtNzF0LTU5LjUgLTEwMnQtOTMgLTExMiB0LTEyOSAtMTA0LjV0LTE1OCAtNzUuNWw0NiAxNzNxNzcgNDkgMTM2IDExN3Q5NyAxMzFxMTEgMTggOSA0Mi41dC0xNCA0MS41cS01NCA3MCAtMTA3IDEzMHpNMzEwIDgyNHEtNzAgLTY5IC0xNjAgLTE4NHEtMTMgLTE2IC0xNSAtNDAuNXQ5IC00Mi41cTE4IC0zMCAzOSAtNjB0NTcgLTcwLjV0NzQgLTczdDkwIC02MXQxMDUgLTQxLjVsNDEgMTU0cS0xMDcgMTggLTE3OC41IDEwMS41dC03MS41IDE5My41cTAgNTkgMjMgMTE0cTggMTkgNC41IDIyIHQtMTcuNSAtMTJ6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wxMiAxMWwyMiA4NmwtMyA0cS00NCA0NCAtODkgMTE3cS0xMSAxOCAtMjggMjB0LTMyIC0xMnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTA3OyIgZD0iTS05MCAxMDBsNjQyIDEwNjZxMjAgMzEgNDggMjguNXQ0OCAtMzUuNWw2NDIgLTEwNTZxMjEgLTMyIDcuNSAtNjcuNXQtNTAuNSAtMzUuNWgtMTI5NHEtMzcgMCAtNTAuNSAzNHQ3LjUgNjZ6TTE1NSAyMDBoMzQ1djc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoMzQ1bC00NDUgNzIzek00OTYgNzAwaDIwOHEyMCAwIDMyIC0xNC41dDggLTM0LjVsLTU4IC0yNTIgcS00IC0yMCAtMjEuNSAtMzQuNXQtMzcuNSAtMTQuNWgtNTRxLTIwIDAgLTM3LjUgMTQuNXQtMjEuNSAzNC41bC01OCAyNTJxLTQgMjAgOCAzNC41dDMyIDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwODsiIGQ9Ik02NTAgMTIwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnYtMzM5bDM2MyAtMzI1cTE1IC0xNCAyNiAtMzguNXQxMSAtNDQuNXYtNDFxMCAtMjAgLTEyIC0yNi41dC0yOSA1LjVsLTM1OSAyNDl2LTI2M3ExMDAgLTkzIDEwMCAtMTEzdi02NHEwIC0yMSAtMTMgLTI5dC0zMiAxbC0yMDUgMTI4bC0yMDUgLTEyOHEtMTkgLTkgLTMyIC0xdC0xMyAyOXY2NHEwIDIwIDEwMCAxMTN2MjYzbC0zNTkgLTI0OXEtMTcgLTEyIC0yOSAtNS41dC0xMiAyNi41djQxIHEwIDIwIDExIDQ0LjV0MjYgMzguNWwzNjMgMzI1djMzOXEwIDYyIDQ0IDEwNnQxMDYgNDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwOTsiIGQ9Ik04NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTExMDB2MTUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMTAwIDgwMHYtNzUwcTAgLTIxIC0xNC41IC0zNS41IHQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NzUwaDExMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTcwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTkwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA0MDAgdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek0xMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek0zMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek01MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTA7IiBkPSJNMTEzNSAxMTY1bDI0OSAtMjMwcTE1IC0xNCAxNSAtMzV0LTE1IC0zNWwtMjQ5IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC0xNTlsLTYwMCAtNjAwaC0yOTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjA5bDYwMCA2MDBoMjQxdjE1MHEwIDIxIDEwLjUgMjV0MjQuNSAtMTB6TTUyMiA4MTlsLTE0MSAtMTQxbC0xMjIgMTIyaC0yMDlxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI5MXpNMTEzNSA1NjVsMjQ5IC0yMzBxMTUgLTE0IDE1IC0zNXQtMTUgLTM1bC0yNDkgLTIzMHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYxNTBoLTI0MWwtMTgxIDE4MWwxNDEgMTQxbDEyMiAtMTIyaDE1OXYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTE7IiBkPSJNMTAwIDExMDBoMTAwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC01OTZsLTMwNCAtMzAwdjMwMGgtMTAwcS00MSAwIC03MC41IDI5LjV0LTI5LjUgNzAuNXY2MDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTI7IiBkPSJNMTUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTMwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMzAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTExMDAgODAwdi0zMDBxMCAtNDEgLTMgLTc3LjV0LTE1IC04OS41dC0zMiAtOTZ0LTU4IC04OXQtODkgLTc3dC0xMjkgLTUxdC0xNzQgLTIwdC0xNzQgMjAgdC0xMjkgNTF0LTg5IDc3dC01OCA4OXQtMzIgOTZ0LTE1IDg5LjV0LTMgNzcuNXYzMDBoMzAwdi0yNTB2LTI3di00Mi41dDEuNSAtNDF0NSAtMzh0MTAgLTM1dDE2LjUgLTMwdDI1LjUgLTI0LjV0MzUgLTE5dDQ2LjUgLTEydDYwIC00dDYwIDQuNXQ0Ni41IDEyLjV0MzUgMTkuNXQyNSAyNS41dDE3IDMwLjV0MTAgMzV0NSAzOHQyIDQwLjV0LTAuNSA0MnYyNXYyNTBoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTM7IiBkPSJNMTEwMCA0MTFsLTE5OCAtMTk5bC0zNTMgMzUzbC0zNTMgLTM1M2wtMTk3IDE5OWw1NTEgNTUxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTQ7IiBkPSJNMTEwMSA3ODlsLTU1MCAtNTUxbC01NTEgNTUxbDE5OCAxOTlsMzUzIC0zNTNsMzUzIDM1M3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTE1OyIgZD0iTTQwNCAxMDAwaDc0NnEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUxaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtMjMwIC0yNDlxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI0OXEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNWgxNTB2NDAxaC0zODF6TTEzNSA5ODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi00MDBoMzg1bDIxNSAtMjAwaC03NTBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXY1NTBoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTY7IiBkPSJNNTYgMTIwMGg5NHExNyAwIDMxIC0xMXQxOCAtMjdsMzggLTE2Mmg4OTZxMjQgMCAzOSAtMTguNXQxMCAtNDIuNWwtMTAwIC00NzVxLTUgLTIxIC0yNyAtNDIuNXQtNTUgLTIxLjVoLTYzM2w0OCAtMjAwaDUzNXEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41dC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MGgtMzAwdi01MCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaC0zMXEtMTggMCAtMzIuNSAxMHQtMjAuNSAxOWwtNSAxMGwtMjAxIDk2MWgtNTRxLTIwIDAgLTM1IDE0LjV0LTE1IDM1LjV0MTUgMzUuNXQzNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTc7IiBkPSJNMTIwMCAxMDAwdi0xMDBoLTEyMDB2MTAwaDIwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41aDUwMHpNMCA4MDBoMTIwMHYtODAwaC0xMjAwdjgwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTE4OyIgZD0iTTIwMCA4MDBsLTIwMCAtNDAwdjYwMGgyMDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41aDMwMHE0MiAwIDcxIC0yOS41dDI5IC03MC41aDUwMHYtMjAwaC0xMDAwek0xNTAwIDcwMGwtMzAwIC03MDBoLTEyMDBsMzAwIDcwMGgxMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTk7IiBkPSJNNjM1IDExODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi02MDFoMTUwcTIxIDAgMjUgLTEwLjV0LTEwIC0yNC41bC0yMzAgLTI0OXEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjQ5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41aDE1MHY2MDFoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjA7IiBkPSJNOTM2IDg2NGwyNDkgLTIyOXExNCAtMTUgMTQgLTM1LjV0LTE0IC0zNS41bC0yNDkgLTIyOXEtMTUgLTE1IC0yNS41IC0xMC41dC0xMC41IDI0LjV2MTUxaC02MDB2LTE1MXEwIC0yMCAtMTAuNSAtMjQuNXQtMjUuNSAxMC41bC0yNDkgMjI5cS0xNCAxNSAtMTQgMzUuNXQxNCAzNS41bDI0OSAyMjlxMTUgMTUgMjUuNSAxMC41dDEwLjUgLTI1LjV2LTE0OWg2MDB2MTQ5cTAgMjEgMTAuNSAyNS41dDI1LjUgLTEwLjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMTsiIGQ9Ik0xMTY5IDQwMGwtMTcyIDczMnEtNSAyMyAtMjMgNDUuNXQtMzggMjIuNWgtNjcycS0yMCAwIC0zOCAtMjB0LTIzIC00MWwtMTcyIC03MzloMTEzOHpNMTEwMCAzMDBoLTEwMDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTEwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoMTAwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek04MDAgMTAwdjEwMGgxMDB2LTEwMGgtMTAwIHpNMTAwMCAxMDB2MTAwaDEwMHYtMTAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMjsiIGQ9Ik0xMTUwIDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTg1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUuNSAxNC41dC0xNC41IDM1LjV2ODUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTAwMCAyMDBsLTY3NSAyMDBoLTM4bDQ3IC0yNzZxMyAtMTYgLTUuNSAtMjB0LTI5LjUgLTRoLTdoLTg0cS0yMCAwIC0zNC41IDE0dC0xOC41IDM1cS01NSAzMzcgLTU1IDM1MXYyNTB2NnEwIDE2IDEgMjMuNXQ2LjUgMTQgdDE3LjUgNi41aDIwMGw2NzUgMjUwdi04NTB6TTAgNzUwdi0yNTBxLTQgMCAtMTEgMC41dC0yNCA2dC0zMCAxNXQtMjQgMzB0LTExIDQ4LjV2NTBxMCAyNiAxMC41IDQ2dDI1IDMwdDI5IDE2dDI1LjUgN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTIzOyIgZD0iTTU1MyAxMjAwaDk0cTIwIDAgMjkgLTEwLjV0MyAtMjkuNWwtMTggLTM3cTgzIC0xOSAxNDQgLTgyLjV0NzYgLTE0MC41bDYzIC0zMjdsMTE4IC0xNzNoMTdxMTkgMCAzMyAtMTQuNXQxNCAtMzV0LTEzIC00MC41dC0zMSAtMjdxLTggLTQgLTIzIC05LjV0LTY1IC0xOS41dC0xMDMgLTI1dC0xMzIuNSAtMjB0LTE1OC41IC05cS01NyAwIC0xMTUgNXQtMTA0IDEydC04OC41IDE1LjV0LTczLjUgMTcuNXQtNTQuNSAxNnQtMzUuNSAxMmwtMTEgNCBxLTE4IDggLTMxIDI4dC0xMyA0MC41dDE0IDM1dDMzIDE0LjVoMTdsMTE4IDE3M2w2MyAzMjdxMTUgNzcgNzYgMTQwdDE0NCA4M2wtMTggMzJxLTYgMTkgMy41IDMydDI4LjUgMTN6TTQ5OCAxMTBxNTAgLTYgMTAyIC02cTUzIDAgMTAyIDZxLTEyIC00OSAtMzkuNSAtNzkuNXQtNjIuNSAtMzAuNXQtNjMgMzAuNXQtMzkgNzkuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTI0OyIgZD0iTTgwMCA5NDZsMjI0IDc4bC03OCAtMjI0bDIzNCAtNDVsLTE4MCAtMTU1bDE4MCAtMTU1bC0yMzQgLTQ1bDc4IC0yMjRsLTIyNCA3OGwtNDUgLTIzNGwtMTU1IDE4MGwtMTU1IC0xODBsLTQ1IDIzNGwtMjI0IC03OGw3OCAyMjRsLTIzNCA0NWwxODAgMTU1bC0xODAgMTU1bDIzNCA0NWwtNzggMjI0bDIyNCAtNzhsNDUgMjM0bDE1NSAtMTgwbDE1NSAxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyNTsiIGQ9Ik02NTAgMTIwMGg1MHE0MCAwIDcwIC00MC41dDMwIC04NC41di0xNTBsLTI4IC0xMjVoMzI4cTQwIDAgNzAgLTQwLjV0MzAgLTg0LjV2LTEwMHEwIC00NSAtMjkgLTc0bC0yMzggLTM0NHEtMTYgLTI0IC0zOCAtNDAuNXQtNDUgLTE2LjVoLTI1MHEtNyAwIC00MiAyNXQtNjYgNTBsLTMxIDI1aC02MXEtNDUgMCAtNzIuNSAxOHQtMjcuNSA1N3Y0MDBxMCAzNiAyMCA2M2wxNDUgMTk2bDk2IDE5OHExMyAyOCAzNy41IDQ4dDUxLjUgMjB6IE02NTAgMTEwMGwtMTAwIC0yMTJsLTE1MCAtMjEzdi0zNzVoMTAwbDEzNiAtMTAwaDIxNGwyNTAgMzc1djEyNWgtNDUwbDUwIDIyNXYxNzVoLTUwek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTI2OyIgZD0iTTYwMCAxMTAwaDI1MHEyMyAwIDQ1IC0xNi41dDM4IC00MC41bDIzOCAtMzQ0cTI5IC0yOSAyOSAtNzR2LTEwMHEwIC00NCAtMzAgLTg0LjV0LTcwIC00MC41aC0zMjhxMjggLTExOCAyOCAtMTI1di0xNTBxMCAtNDQgLTMwIC04NC41dC03MCAtNDAuNWgtNTBxLTI3IDAgLTUxLjUgMjB0LTM3LjUgNDhsLTk2IDE5OGwtMTQ1IDE5NnEtMjAgMjcgLTIwIDYzdjQwMHEwIDM5IDI3LjUgNTd0NzIuNSAxOGg2MXExMjQgMTAwIDEzOSAxMDB6IE01MCAxMDAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTYzNiAxMDAwbC0xMzYgLTEwMGgtMTAwdi0zNzVsMTUwIC0yMTNsMTAwIC0yMTJoNTB2MTc1bC01MCAyMjVoNDUwdjEyNWwtMjUwIDM3NWgtMjE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjc7IiBkPSJNMzU2IDg3M2wzNjMgMjMwcTMxIDE2IDUzIC02bDExMCAtMTEycTEzIC0xMyAxMy41IC0zMnQtMTEuNSAtMzRsLTg0IC0xMjFoMzAycTg0IDAgMTM4IC0zOHQ1NCAtMTEwdC01NSAtMTExdC0xMzkgLTM5aC0xMDZsLTEzMSAtMzM5cS02IC0yMSAtMTkuNSAtNDF0LTI4LjUgLTIwaC0zNDJxLTcgMCAtOTAgODF0LTgzIDk0djUyNXEwIDE3IDE0IDM1LjV0MjggMjguNXpNNDAwIDc5MnYtNTAzbDEwMCAtODloMjkzbDEzMSAzMzkgcTYgMjEgMTkuNSA0MXQyOC41IDIwaDIwM3EyMSAwIDMwLjUgMjV0MC41IDUwdC0zMSAyNWgtNDU2aC03aC02aC01LjV0LTYgMC41dC01IDEuNXQtNSAydC00IDIuNXQtNCA0dC0yLjUgNC41cS0xMiAyNSA1IDQ3bDE0NiAxODNsLTg2IDgzek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwIHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyODsiIGQ9Ik00NzUgMTEwM2wzNjYgLTIzMHEyIC0xIDYgLTMuNXQxNCAtMTAuNXQxOCAtMTYuNXQxNC41IC0yMHQ2LjUgLTIyLjV2LTUyNXEwIC0xMyAtODYgLTk0dC05MyAtODFoLTM0MnEtMTUgMCAtMjguNSAyMHQtMTkuNSA0MWwtMTMxIDMzOWgtMTA2cS04NSAwIC0xMzkuNSAzOXQtNTQuNSAxMTF0NTQgMTEwdDEzOCAzOGgzMDJsLTg1IDEyMXEtMTEgMTUgLTEwLjUgMzR0MTMuNSAzMmwxMTAgMTEycTIyIDIyIDUzIDZ6TTM3MCA5NDVsMTQ2IC0xODMgcTE3IC0yMiA1IC00N3EtMiAtMiAtMy41IC00LjV0LTQgLTR0LTQgLTIuNXQtNSAtMnQtNSAtMS41dC02IC0wLjVoLTZoLTYuNWgtNmgtNDc1di0xMDBoMjIxcTE1IDAgMjkgLTIwdDIwIC00MWwxMzAgLTMzOWgyOTRsMTA2IDg5djUwM2wtMzQyIDIzNnpNMTA1MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjUgdjUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyOTsiIGQ9Ik01NTAgMTI5NHE3MiAwIDExMSAtNTV0MzkgLTEzOXYtMTA2bDMzOSAtMTMxcTIxIC02IDQxIC0xOS41dDIwIC0yOC41di0zNDJxMCAtNyAtODEgLTkwdC05NCAtODNoLTUyNXEtMTcgMCAtMzUuNSAxNHQtMjguNSAyOGwtOSAxNGwtMjMwIDM2M3EtMTYgMzEgNiA1M2wxMTIgMTEwcTEzIDEzIDMyIDEzLjV0MzQgLTExLjVsMTIxIC04NHYzMDJxMCA4NCAzOCAxMzh0MTEwIDU0ek02MDAgOTcydjIwM3EwIDIxIC0yNSAzMC41dC01MCAwLjUgdC0yNSAtMzF2LTQ1NnYtN3YtNnYtNS41dC0wLjUgLTZ0LTEuNSAtNXQtMiAtNXQtMi41IC00dC00IC00dC00LjUgLTIuNXEtMjUgLTEyIC00NyA1bC0xODMgMTQ2bC04MyAtODZsMjM2IC0zMzloNTAzbDg5IDEwMHYyOTNsLTMzOSAxMzFxLTIxIDYgLTQxIDE5LjV0LTIwIDI4LjV6TTQ1MCAyMDBoNTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTUwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMDsiIGQ9Ik0zNTAgMTEwMGg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNWgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41ek02MDAgMzA2di0xMDZxMCAtODQgLTM5IC0xMzl0LTExMSAtNTV0LTExMCA1NHQtMzggMTM4djMwMmwtMTIxIC04NHEtMTUgLTEyIC0zNCAtMTEuNXQtMzIgMTMuNWwtMTEyIDExMCBxLTIyIDIyIC02IDUzbDIzMCAzNjNxMSAyIDMuNSA2dDEwLjUgMTMuNXQxNi41IDE3dDIwIDEzLjV0MjIuNSA2aDUyNXExMyAwIDk0IC04M3Q4MSAtOTB2LTM0MnEwIC0xNSAtMjAgLTI4LjV0LTQxIC0xOS41ek0zMDggOTAwbC0yMzYgLTMzOWw4MyAtODZsMTgzIDE0NnEyMiAxNyA0NyA1cTIgLTEgNC41IC0yLjV0NCAtNHQyLjUgLTR0MiAtNXQxLjUgLTV0MC41IC02di01LjV2LTZ2LTd2LTQ1NnEwIC0yMiAyNSAtMzF0NTAgMC41dDI1IDMwLjUgdjIwM3EwIDE1IDIwIDI4LjV0NDEgMTkuNWwzMzkgMTMxdjI5M2wtODkgMTAwaC01MDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMTsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNOTE0IDYzMmwtMjc1IDIyM3EtMTYgMTMgLTI3LjUgOHQtMTEuNSAtMjZ2LTEzN2gtMjc1IHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDI3NXYtMTM3cTAgLTIxIDExLjUgLTI2dDI3LjUgOGwyNzUgMjIzcTE2IDEzIDE2IDMydC0xNiAzMnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTMyOyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek01NjEgODU1bC0yNzUgLTIyM3EtMTYgLTEzIC0xNiAtMzJ0MTYgLTMybDI3NSAtMjIzcTE2IC0xMyAyNy41IC04IHQxMS41IDI2djEzN2gyNzVxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXYxNTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC0yNzV2MTM3cTAgMjEgLTExLjUgMjZ0LTI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMzsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNODU1IDYzOWwtMjIzIDI3NXEtMTMgMTYgLTMyIDE2dC0zMiAtMTZsLTIyMyAtMjc1cS0xMyAtMTYgLTggLTI3LjUgdDI2IC0xMS41aDEzN3YtMjc1cTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2Mjc1aDEzN3EyMSAwIDI2IDExLjV0LTggMjcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTM0OyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek02NzUgOTAwaC0xNTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0yNzVoLTEzN3EtMjEgMCAtMjYgLTExLjUgdDggLTI3LjVsMjIzIC0yNzVxMTMgLTE2IDMyIC0xNnQzMiAxNmwyMjMgMjc1cTEzIDE2IDggMjcuNXQtMjYgMTEuNWgtMTM3djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzNTsiIGQ9Ik02MDAgMTE3NnExMTYgMCAyMjIuNSAtNDZ0MTg0IC0xMjMuNXQxMjMuNSAtMTg0dDQ2IC0yMjIuNXQtNDYgLTIyMi41dC0xMjMuNSAtMTg0dC0xODQgLTEyMy41dC0yMjIuNSAtNDZ0LTIyMi41IDQ2dC0xODQgMTIzLjV0LTEyMy41IDE4NHQtNDYgMjIyLjV0NDYgMjIyLjV0MTIzLjUgMTg0dDE4NCAxMjMuNXQyMjIuNSA0NnpNNjI3IDExMDFxLTE1IC0xMiAtMzYuNSAtMjAuNXQtMzUuNSAtMTJ0LTQzIC04dC0zOSAtNi41IHEtMTUgLTMgLTQ1LjUgMHQtNDUuNSAtMnEtMjAgLTcgLTUxLjUgLTI2LjV0LTM0LjUgLTM0LjVxLTMgLTExIDYuNSAtMjIuNXQ4LjUgLTE4LjVxLTMgLTM0IC0yNy41IC05MXQtMjkuNSAtNzlxLTkgLTM0IDUgLTkzdDggLTg3cTAgLTkgMTcgLTQ0LjV0MTYgLTU5LjVxMTIgMCAyMyAtNXQyMy41IC0xNXQxOS41IC0xNHExNiAtOCAzMyAtMTV0NDAuNSAtMTV0MzQuNSAtMTJxMjEgLTkgNTIuNSAtMzJ0NjAgLTM4dDU3LjUgLTExIHE3IC0xNSAtMyAtMzR0LTIyLjUgLTQwdC05LjUgLTM4cTEzIC0yMSAyMyAtMzQuNXQyNy41IC0yNy41dDM2LjUgLTE4cTAgLTcgLTMuNSAtMTZ0LTMuNSAtMTR0NSAtMTdxMTA0IC0yIDIyMSAxMTJxMzAgMjkgNDYuNSA0N3QzNC41IDQ5dDIxIDYzcS0xMyA4IC0zNyA4LjV0LTM2IDcuNXEtMTUgNyAtNDkuNSAxNXQtNTEuNSAxOXEtMTggMCAtNDEgLTAuNXQtNDMgLTEuNXQtNDIgLTYuNXQtMzggLTE2LjVxLTUxIC0zNSAtNjYgLTEyIHEtNCAxIC0zLjUgMjUuNXQwLjUgMjUuNXEtNiAxMyAtMjYuNSAxNy41dC0yNC41IDYuNXExIDE1IC0wLjUgMzAuNXQtNyAyOHQtMTguNSAxMS41dC0zMSAtMjFxLTIzIC0yNSAtNDIgNHEtMTkgMjggLTggNThxNiAxNiAyMiAyMnE2IC0xIDI2IC0xLjV0MzMuNSAtNHQxOS41IC0xMy41cTcgLTEyIDE4IC0yNHQyMS41IC0yMC41dDIwIC0xNXQxNS41IC0xMC41bDUgLTNxMiAxMiA3LjUgMzAuNXQ4IDM0LjV0LTAuNSAzMnEtMyAxOCAzLjUgMjkgdDE4IDIyLjV0MTUuNSAyNC41cTYgMTQgMTAuNSAzNXQ4IDMxdDE1LjUgMjIuNXQzNCAyMi41cS02IDE4IDEwIDM2cTggMCAyNCAtMS41dDI0LjUgLTEuNXQyMCA0LjV0MjAuNSAxNS41cS0xMCAyMyAtMzEgNDIuNXQtMzcuNSAyOS41dC00OSAyN3QtNDMuNSAyM3EwIDEgMiA4dDMgMTEuNXQxLjUgMTAuNXQtMSA5LjV0LTQuNSA0LjVxMzEgLTEzIDU4LjUgLTE0LjV0MzguNSAyLjVsMTIgNXE1IDI4IC05LjUgNDZ0LTM2LjUgMjR0LTUwIDE1IHQtNDEgMjBxLTE4IC00IC0zNyAwek02MTMgOTk0cTAgLTE3IDggLTQydDE3IC00NXQ5IC0yM3EtOCAxIC0zOS41IDUuNXQtNTIuNSAxMHQtMzcgMTYuNXEzIDExIDE2IDI5LjV0MTYgMjUuNXExMCAtMTAgMTkgLTEwdDE0IDZ0MTMuNSAxNC41dDE2LjUgMTIuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTM2OyIgZD0iTTc1NiAxMTU3cTE2NCA5MiAzMDYgLTlsLTI1OSAtMTM4bDE0NSAtMjMybDI1MSAxMjZxNiAtODkgLTM0IC0xNTYuNXQtMTE3IC0xMTAuNXEtNjAgLTM0IC0xMjcgLTM5LjV0LTEyNiAxNi41bC01OTYgLTU5NnEtMTUgLTE2IC0zNi41IC0xNnQtMzYuNSAxNmwtMTExIDExMHEtMTUgMTUgLTE1IDM2LjV0MTUgMzcuNWw2MDAgNTk5cS0zNCAxMDEgNS41IDIwMS41dDEzNS41IDE1NC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzc7IiBob3Jpei1hZHYteD0iMTIyMCIgZD0iTTEwMCAxMTk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAxMDk2aC0yMDB2LTEwMGgyMDB2MTAwek0xMDAgNzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMCBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTExMDAgNjk2aC01MDB2LTEwMGg1MDB2MTAwek0xMDAgMzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAyOTZoLTMwMHYtMTAwaDMwMHYxMDB6ICIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzg7IiBkPSJNMTUwIDEyMDBoOTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41dC0xNC41IC0zNS41dC0zNS41IC0xNC41aC05MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA1MDB2LTMwMGwtMjAwIC0yMDB2NTAwbC0zNTAgNTAwaDkwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTM5OyIgZD0iTTUwMCAxMjAwaDIwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtMTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNDAwaC01MDB2MTAwaC0yMDB2LTEwMGgtNTAwdjQwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwdjEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTUwMCAxMTAwdi0xMDBoMjAwdjEwMGgtMjAwek0xMjAwIDQwMHYtMjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0xMDAwIHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MjAwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MDsiIGQ9Ik01MCAxMjAwaDMwMHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtOTQgLTk0bDE5OSAtMTk5cTcgLTggNyAtMTh0LTcgLTE4bC0xMDYgLTEwNnEtOCAtNyAtMTggLTd0LTE4IDdsLTE5OSAxOTlsLTk0IC05NHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMTk5IC0xOTlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwxOTkgMTk5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNMzY0IDQ3MGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMTk5IC0xOTlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMTk5IDE5OSBxOCA3IDE4IDd0MTggLTd6TTEwNzEgMjcxbDk0IDk0cTE0IDE0IDI0LjUgMTB0MTAuNSAtMjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0yNSAxMC41dDEwIDI0LjVsOTQgOTRsLTE5OSAxOTlxLTcgOCAtNyAxOHQ3IDE4bDEwNiAxMDZxOCA3IDE4IDd0MTggLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MTsiIGQ9Ik01OTYgMTE5MnExMjEgMCAyMzEuNSAtNDcuNXQxOTAgLTEyN3QxMjcgLTE5MHQ0Ny41IC0yMzEuNXQtNDcuNSAtMjMxLjV0LTEyNyAtMTkwLjV0LTE5MCAtMTI3dC0yMzEuNSAtNDd0LTIzMS41IDQ3dC0xOTAuNSAxMjd0LTEyNyAxOTAuNXQtNDcgMjMxLjV0NDcgMjMxLjV0MTI3IDE5MHQxOTAuNSAxMjd0MjMxLjUgNDcuNXpNNTk2IDEwMTBxLTExMiAwIC0yMDcuNSAtNTUuNXQtMTUxIC0xNTF0LTU1LjUgLTIwNy41dDU1LjUgLTIwNy41IHQxNTEgLTE1MXQyMDcuNSAtNTUuNXQyMDcuNSA1NS41dDE1MSAxNTF0NTUuNSAyMDcuNXQtNTUuNSAyMDcuNXQtMTUxIDE1MXQtMjA3LjUgNTUuNXpNNDU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOC41IC0xNi41dC0zOC41IDE2LjV0LTE2IDM5dDE2IDM4LjV0MzguNSAxNnpNNzU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOCAtMTYuNXEtMTQgMCAtMjkgMTBsLTU1IC0xNDUgcTE3IC0yMyAxNyAtNTFxMCAtMzYgLTI1LjUgLTYxLjV0LTYxLjUgLTI1LjV0LTYxLjUgMjUuNXQtMjUuNSA2MS41cTAgMzIgMjAuNSA1Ni41dDUxLjUgMjkuNWwxMjIgMTI2bDEgMXEtOSAxNCAtOSAyOHEwIDIzIDE2IDM5dDM4LjUgMTZ6TTM0NS41IDcwOXEyMi41IDAgMzguNSAtMTZ0MTYgLTM4LjV0LTE2IC0zOC41dC0zOC41IC0xNnQtMzguNSAxNnQtMTYgMzguNXQxNiAzOC41dDM4LjUgMTZ6TTg1NC41IDcwOXEyMi41IDAgMzguNSAtMTYgdDE2IC0zOC41dC0xNiAtMzguNXQtMzguNSAtMTZ0LTM4LjUgMTZ0LTE2IDM4LjV0MTYgMzguNXQzOC41IDE2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDI7IiBkPSJNNTQ2IDE3M2w0NjkgNDcwcTkxIDkxIDk5IDE5MnE3IDk4IC01MiAxNzUuNXQtMTU0IDk0LjVxLTIyIDQgLTQ3IDRxLTM0IDAgLTY2LjUgLTEwdC01Ni41IC0yM3QtNTUuNSAtMzh0LTQ4IC00MS41dC00OC41IC00Ny41cS0zNzYgLTM3NSAtMzkxIC0zOTBxLTMwIC0yNyAtNDUgLTQxLjV0LTM3LjUgLTQxdC0zMiAtNDYuNXQtMTYgLTQ3LjV0LTEuNSAtNTYuNXE5IC02MiA1My41IC05NXQ5OS41IC0zM3E3NCAwIDEyNSA1MWw1NDggNTQ4IHEzNiAzNiAyMCA3NXEtNyAxNiAtMjEuNSAyNnQtMzIuNSAxMHEtMjYgMCAtNTAgLTIzcS0xMyAtMTIgLTM5IC0zOGwtMzQxIC0zMzhxLTE1IC0xNSAtMzUuNSAtMTUuNXQtMzQuNSAxMy41dC0xNCAzNC41dDE0IDM0LjVxMzI3IDMzMyAzNjEgMzY3cTM1IDM1IDY3LjUgNTEuNXQ3OC41IDE2LjVxMTQgMCAyOSAtMXE0NCAtOCA3NC41IC0zNS41dDQzLjUgLTY4LjVxMTQgLTQ3IDIgLTk2LjV0LTQ3IC04NC41cS0xMiAtMTEgLTMyIC0zMiB0LTc5LjUgLTgxdC0xMTQuNSAtMTE1dC0xMjQuNSAtMTIzLjV0LTEyMyAtMTE5LjV0LTk2LjUgLTg5dC01NyAtNDVxLTU2IC0yNyAtMTIwIC0yN3EtNzAgMCAtMTI5IDMydC05MyA4OXEtNDggNzggLTM1IDE3M3Q4MSAxNjNsNTExIDUxMXE3MSA3MiAxMTEgOTZxOTEgNTUgMTk4IDU1cTgwIDAgMTUyIC0zM3E3OCAtMzYgMTI5LjUgLTEwM3Q2Ni41IC0xNTRxMTcgLTkzIC0xMSAtMTgzLjV0LTk0IC0xNTYuNWwtNDgyIC00NzYgcS0xNSAtMTUgLTM2IC0xNnQtMzcgMTR0LTE3LjUgMzR0MTQuNSAzNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTQzOyIgZD0iTTY0OSA5NDlxNDggNjggMTA5LjUgMTA0dDEyMS41IDM4LjV0MTE4LjUgLTIwdDEwMi41IC02NHQ3MSAtMTAwLjV0MjcgLTEyM3EwIC01NyAtMzMuNSAtMTE3LjV0LTk0IC0xMjQuNXQtMTI2LjUgLTEyNy41dC0xNTAgLTE1Mi41dC0xNDYgLTE3NHEtNjIgODUgLTE0NS41IDE3NHQtMTUwIDE1Mi41dC0xMjYuNSAxMjcuNXQtOTMuNSAxMjQuNXQtMzMuNSAxMTcuNXEwIDY0IDI4IDEyM3Q3MyAxMDAuNXQxMDQgNjR0MTE5IDIwIHQxMjAuNSAtMzguNXQxMDQuNSAtMTA0ek04OTYgOTcycS0zMyAwIC02NC41IC0xOXQtNTYuNSAtNDZ0LTQ3LjUgLTUzLjV0LTQzLjUgLTQ1LjV0LTM3LjUgLTE5dC0zNiAxOXQtNDAgNDUuNXQtNDMgNTMuNXQtNTQgNDZ0LTY1LjUgMTlxLTY3IDAgLTEyMi41IC01NS41dC01NS41IC0xMzIuNXEwIC0yMyAxMy41IC01MXQ0NiAtNjV0NTcuNSAtNjN0NzYgLTc1bDIyIC0yMnExNSAtMTQgNDQgLTQ0dDUwLjUgLTUxdDQ2IC00NHQ0MSAtMzV0MjMgLTEyIHQyMy41IDEydDQyLjUgMzZ0NDYgNDR0NTIuNSA1MnQ0NCA0M3E0IDQgMTIgMTNxNDMgNDEgNjMuNSA2MnQ1MiA1NXQ0NiA1NXQyNiA0NnQxMS41IDQ0cTAgNzkgLTUzIDEzMy41dC0xMjAgNTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTQ0OyIgZD0iTTc3Ni41IDEyMTRxOTMuNSAwIDE1OS41IC02NmwxNDEgLTE0MXE2NiAtNjYgNjYgLTE2MHEwIC00MiAtMjggLTk1LjV0LTYyIC04Ny41bC0yOSAtMjlxLTMxIDUzIC03NyA5OWwtMTggMThsOTUgOTVsLTI0NyAyNDhsLTM4OSAtMzg5bDIxMiAtMjEybC0xMDUgLTEwNmwtMTkgMThsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTl0NjYgMTU5bDI4MyAyODNxNjUgNjYgMTU4LjUgNjZ6TTYwMCA3MDZsMTA1IDEwNXExMCAtOCAxOSAtMTdsMTQxIC0xNDEgcTY2IC02NiA2NiAtMTU5dC02NiAtMTU5bC0yODMgLTI4M3EtNjYgLTY2IC0xNTkgLTY2dC0xNTkgNjZsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTkuNXQ2NiAxNTkuNWw1NSA1NXEyOSAtNTUgNzUgLTEwMmwxOCAtMTdsLTk1IC05NWwyNDcgLTI0OGwzODkgMzg5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDU7IiBkPSJNNjAzIDEyMDBxODUgMCAxNjIgLTE1dDEyNyAtMzh0NzkgLTQ4dDI5IC00NnYtOTUzcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djk1M3EwIDIxIDMwIDQ2LjV0ODEgNDh0MTI5IDM3LjV0MTYzIDE1ek0zMDAgMTAwMHYtNzAwaDYwMHY3MDBoLTYwMHpNNjAwIDI1NHEtNDMgMCAtNzMuNSAtMzAuNXQtMzAuNSAtNzMuNXQzMC41IC03My41dDczLjUgLTMwLjV0NzMuNSAzMC41IHQzMC41IDczLjV0LTMwLjUgNzMuNXQtNzMuNSAzMC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDY7IiBkPSJNOTAyIDExODVsMjgzIC0yODJxMTUgLTE1IDE1IC0zNnQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUgMTVsLTM2IDM1bC0yNzkgLTI2N3YtMzAwbC0yMTIgMjEwbC0zMDggLTMwN2wtMjgwIC0yMDNsMjAzIDI4MGwzMDcgMzA4bC0yMTAgMjEyaDMwMGwyNjcgMjc5bC0zNSAzNnEtMTUgMTQgLTE1IDM1dDE0LjUgMzUuNXQzNS41IDE0LjV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDg7IiBkPSJNNzAwIDEyNDh2LTc4cTM4IC01IDcyLjUgLTE0LjV0NzUuNSAtMzEuNXQ3MSAtNTMuNXQ1MiAtODR0MjQgLTExOC41aC0xNTlxLTQgMzYgLTEwLjUgNTl0LTIxIDQ1dC00MCAzNS41dC02NC41IDIwLjV2LTMwN2w2NCAtMTNxMzQgLTcgNjQgLTE2LjV0NzAgLTMydDY3LjUgLTUyLjV0NDcuNSAtODB0MjAgLTExMnEwIC0xMzkgLTg5IC0yMjR0LTI0NCAtOTd2LTc3aC0xMDB2NzlxLTE1MCAxNiAtMjM3IDEwM3EtNDAgNDAgLTUyLjUgOTMuNSB0LTE1LjUgMTM5LjVoMTM5cTUgLTc3IDQ4LjUgLTEyNnQxMTcuNSAtNjV2MzM1bC0yNyA4cS00NiAxNCAtNzkgMjYuNXQtNzIgMzZ0LTYzIDUydC00MCA3Mi41dC0xNiA5OHEwIDcwIDI1IDEyNnQ2Ny41IDkydDk0LjUgNTd0MTEwIDI3djc3aDEwMHpNNjAwIDc1NHYyNzRxLTI5IC00IC01MCAtMTF0LTQyIC0yMS41dC0zMS41IC00MS41dC0xMC41IC02NXEwIC0yOSA3IC01MC41dDE2LjUgLTM0dDI4LjUgLTIyLjV0MzEuNSAtMTR0MzcuNSAtMTAgcTkgLTMgMTMgLTR6TTcwMCA1NDd2LTMxMHEyMiAyIDQyLjUgNi41dDQ1IDE1LjV0NDEuNSAyN3QyOSA0MnQxMiA1OS41dC0xMi41IDU5LjV0LTM4IDQ0LjV0LTUzIDMxdC02Ni41IDI0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0OTsiIGQ9Ik01NjEgMTE5N3E4NCAwIDE2MC41IC00MHQxMjMuNSAtMTA5LjV0NDcgLTE0Ny41aC0xNTNxMCA0MCAtMTkuNSA3MS41dC00OS41IDQ4LjV0LTU5LjUgMjZ0LTU1LjUgOXEtMzcgMCAtNzkgLTE0LjV0LTYyIC0zNS41cS00MSAtNDQgLTQxIC0xMDFxMCAtMjYgMTMuNSAtNjN0MjYuNSAtNjF0MzcgLTY2cTYgLTkgOSAtMTRoMjQxdi0xMDBoLTE5N3E4IC01MCAtMi41IC0xMTV0LTMxLjUgLTk1cS00NSAtNjIgLTk5IC0xMTIgcTM0IDEwIDgzIDE3LjV0NzEgNy41cTMyIDEgMTAyIC0xNnQxMDQgLTE3cTgzIDAgMTM2IDMwbDUwIC0xNDdxLTMxIC0xOSAtNTggLTMwLjV0LTU1IC0xNS41dC00MiAtNC41dC00NiAtMC41cS0yMyAwIC03NiAxN3QtMTExIDMyLjV0LTk2IDExLjVxLTM5IC0zIC04MiAtMTZ0LTY3IC0yNWwtMjMgLTExbC01NSAxNDVxNCAzIDE2IDExdDE1LjUgMTAuNXQxMyA5dDE1LjUgMTJ0MTQuNSAxNHQxNy41IDE4LjVxNDggNTUgNTQgMTI2LjUgdC0zMCAxNDIuNWgtMjIxdjEwMGgxNjZxLTIzIDQ3IC00NCAxMDRxLTcgMjAgLTEyIDQxLjV0LTYgNTUuNXQ2IDY2LjV0MjkuNSA3MC41dDU4LjUgNzFxOTcgODggMjYzIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTA7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkzNSAxMTg0bDIzMCAtMjQ5cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTE1MHYtOTAwaC0yMDB2OTAwaC0xNTBxLTIxIDAgLTI1IDEwLjV0MTAgMjQuNWwyMzAgMjQ5cTE0IDE1IDM1IDE1dDM1IC0xNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTUxOyIgZD0iTTEwMDAgNzAwaC0xMDB2MTAwaC0xMDB2LTEwMGgtMTAwdjUwMGgzMDB2LTUwMHpNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTgwMSAxMTAwdi0yMDBoMTAwdjIwMGgtMTAwek0xMDAwIDM1MGwtMjAwIC0yNTBoMjAwdi0xMDBoLTMwMHYxNTBsMjAwIDI1MGgtMjAwdjEwMGgzMDB2LTE1MHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1MjsiIGQ9Ik00MDAgMzAwaDE1MHEyMSAwIDI1IC0xMXQtMTAgLTI1bC0yMzAgLTI1MHEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjUwcS0xNCAxNCAtMTAgMjV0MjUgMTFoMTUwdjkwMGgyMDB2LTkwMHpNMTAwMCAxMDUwbC0yMDAgLTI1MGgyMDB2LTEwMGgtMzAwdjE1MGwyMDAgMjUwaC0yMDB2MTAwaDMwMHYtMTUwek0xMDAwIDBoLTEwMHYxMDBoLTEwMHYtMTAwaC0xMDB2NTAwaDMwMHYtNTAwek04MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTUzOyIgZD0iTTQwMCAzMDBoMTUwcTIxIDAgMjUgLTExdC0xMCAtMjVsLTIzMCAtMjUwcS0xNCAtMTUgLTM1IC0xNXQtMzUgMTVsLTIzMCAyNTBxLTE0IDE0IC0xMCAyNXQyNSAxMWgxNTB2OTAwaDIwMHYtOTAwek0xMDAwIDcwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMTEwMCAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTQ7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTExMDAgNzAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgMTEwMHYtMjAwaDEwMHYyMDBoLTEwMHpNMTAwMCAwaC0xMDB2NDAwaC0xMDB2MTAwaDIwMHYtNTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTU7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkwMCAxMDAwaC0yMDB2MjAwaDIwMHYtMjAwek0xMDAwIDcwMGgtMzAwdjIwMGgzMDB2LTIwMHpNMTEwMCA0MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEyMDAgMTAwaC01MDB2MjAwaDUwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTY7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTEyMDAgMTAwMGgtNTAwdjIwMGg1MDB2LTIwMHpNMTEwMCA3MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEwMDAgNDAwaC0zMDB2MjAwaDMwMHYtMjAwek05MDAgMTAwaC0yMDB2MjAwaDIwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTc7IiBkPSJNMzUwIDExMDBoNDAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTQwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTg7IiBkPSJNMzUwIDExMDBoNDAwcTE2NSAwIDI1Ny41IC05Mi41dDkyLjUgLTI1Ny41di00MDBxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTYzIDAgLTI1Ni41IDkyLjV0LTkzLjUgMjU3LjV2NDAwcTAgMTYzIDk0IDI1Ni41dDI1NiA5My41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek00NDAgNzcwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1OTsiIGQ9Ik0zNTAgMTEwMGg0MDBxMTYzIDAgMjU2LjUgLTk0dDkzLjUgLTI1NnYtNDAwcTAgLTE2NSAtOTIuNSAtMjU3LjV0LTI1Ny41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2MyA5Mi41IDI1Ni41dDI1Ny41IDkzLjV6TTgwMCA5MDBoLTUwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41IHY1MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTM1MCA3MDBoNDAwcTIxIDAgMjYuNSAtMTJ0LTYuNSAtMjhsLTE5MCAtMjUzcS0xMiAtMTcgLTMwIC0xN3QtMzAgMTdsLTE5MCAyNTNxLTEyIDE2IC02LjUgMjh0MjYuNSAxMnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTYwOyIgZD0iTTM1MCAxMTAwaDQwMHExNjUgMCAyNTcuNSAtOTIuNXQ5Mi41IC0yNTcuNXYtNDAwcTAgLTE2MyAtOTIuNSAtMjU2LjV0LTI1Ny41IC05My41aC00MDBxLTE2MyAwIC0yNTYuNSA5NHQtOTMuNSAyNTZ2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXpNODAwIDkwMGgtNTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di01MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjUgdjUwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNNTgwIDY5M2wxOTAgLTI1M3ExMiAtMTYgNi41IC0yOHQtMjYuNSAtMTJoLTQwMHEtMjEgMCAtMjYuNSAxMnQ2LjUgMjhsMTkwIDI1M3ExMiAxNyAzMCAxN3QzMCAtMTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2MTsiIGQ9Ik01NTAgMTEwMGg0MDBxMTY1IDAgMjU3LjUgLTkyLjV0OTIuNSAtMjU3LjV2LTQwMHEwIC0xNjUgLTkyLjUgLTI1Ny41dC0yNTcuNSAtOTIuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC00NTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMzggODY3bDMyNCAtMjg0cTE2IC0xNCAxNiAtMzN0LTE2IC0zM2wtMzI0IC0yODRxLTE2IC0xNCAtMjcgLTl0LTExIDI2djE1MGgtMjUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI1MHYxNTBxMCAyMSAxMSAyNnQyNyAtOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTYyOyIgZD0iTTc5MyAxMTgybDkgLTlxOCAtMTAgNSAtMjdxLTMgLTExIC03OSAtMjI1LjV0LTc4IC0yMjEuNWwzMDAgMXEyNCAwIDMyLjUgLTE3LjV0LTUuNSAtMzUuNXEtMSAwIC0xMzMuNSAtMTU1dC0yNjcgLTMxMi41dC0xMzguNSAtMTYyLjVxLTEyIC0xNSAtMjYgLTE1aC05bC05IDhxLTkgMTEgLTQgMzJxMiA5IDQyIDEyMy41dDc5IDIyNC41bDM5IDExMGgtMzAycS0yMyAwIC0zMSAxOXEtMTAgMjEgNiA0MXE3NSA4NiAyMDkuNSAyMzcuNSB0MjI4IDI1N3Q5OC41IDExMS41cTkgMTYgMjUgMTZoOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTYzOyIgZD0iTTM1MCAxMTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00NTBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwIHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTkzOCA4NjdsMzI0IC0yODRxMTYgLTE0IDE2IC0zM3QtMTYgLTMzbC0zMjQgLTI4NHEtMTYgLTE0IC0yNyAtOXQtMTEgMjZ2MTUwaC0yNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjUwdjE1MHEwIDIxIDExIDI2dDI3IC05eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjQ7IiBkPSJNNzUwIDEyMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTEwLjUgLTI1dC0yNC41IDEwbC0xMDkgMTA5bC0zMTIgLTMxMnEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtMTQxIDE0MXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWwzMTIgMzEybC0xMDkgMTA5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41ek00NTYgOTAwaC0xNTZxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMCBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTQ4bDIwMCAyMDB2LTI5OHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41aDMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTY1OyIgZD0iTTYwMCAxMTg2cTExOSAwIDIyNy41IC00Ni41dDE4NyAtMTI1dDEyNSAtMTg3dDQ2LjUgLTIyNy41dC00Ni41IC0yMjcuNXQtMTI1IC0xODd0LTE4NyAtMTI1dC0yMjcuNSAtNDYuNXQtMjI3LjUgNDYuNXQtMTg3IDEyNXQtMTI1IDE4N3QtNDYuNSAyMjcuNXQ0Ni41IDIyNy41dDEyNSAxODd0MTg3IDEyNXQyMjcuNSA0Ni41ek02MDAgMTAyMnEtMTE1IDAgLTIxMiAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTJ0NTYuNSAtMjEyIHQxNTMuNSAtMTUzLjV0MjEyIC01Ni41dDIxMiA1Ni41dDE1My41IDE1My41dDU2LjUgMjEydC01Ni41IDIxMnQtMTUzLjUgMTUzLjV0LTIxMiA1Ni41ek02MDAgNzk0cTgwIDAgMTM3IC01N3Q1NyAtMTM3dC01NyAtMTM3dC0xMzcgLTU3dC0xMzcgNTd0LTU3IDEzN3Q1NyAxMzd0MTM3IDU3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjY7IiBkPSJNNDUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMjQ1cTIwIDAgMjUgLTExdC05IC0yNmwtMzgzIC00MjZxLTE0IC0xNSAtMzMuNSAtMTV0LTMyLjUgMTVsLTM3OSA0MjZxLTEzIDE1IC04LjUgMjZ0MjUuNSAxMWgyNTB2MzUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMTEwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiBNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2NzsiIGQ9Ik01ODMgMTE4MmwzNzggLTQzNXExNCAtMTUgOSAtMzF0LTI2IC0xNmgtMjQ0di0yNTBxMCAtMjAgLTE3IC0zNXQtMzkgLTE1aC0yMDBxLTIwIDAgLTMyIDE0LjV0LTEyIDM1LjV2MjUwaC0yNTBxLTIwIDAgLTI1LjUgMTYuNXQ4LjUgMzEuNWwzODMgNDMxcTE0IDE2IDMzLjUgMTd0MzMuNSAtMTR6TTUwIDMwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXogTTkwMCAyMDB2LTUwaDEwMHY1MGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjg7IiBkPSJNMzk2IDcyM2wzNjkgMzY5cTcgNyAxNy41IDd0MTcuNSAtN2wxMzkgLTEzOXE3IC04IDcgLTE4LjV0LTcgLTE3LjVsLTUyNSAtNTI1cS03IC04IC0xNy41IC04dC0xNy41IDhsLTI5MiAyOTFxLTcgOCAtNyAxOHQ3IDE4bDEzOSAxMzlxOCA3IDE4LjUgN3QxNy41IC03ek01MCAzMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaC0xMTAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAyMDB2LTUwaDEwMHY1MCBoLTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTY5OyIgZD0iTTEzNSAxMDIzbDE0MiAxNDJxMTQgMTQgMzUgMTR0MzUgLTE0bDc3IC03N2wtMjEyIC0yMTJsLTc3IDc2cS0xNCAxNSAtMTQgMzZ0MTQgMzV6TTY1NSA4NTVsMjEwIDIxMHExNCAxNCAyNC41IDEwdDEwLjUgLTI1bC0yIC01OTlxLTEgLTIwIC0xNS41IC0zNXQtMzUuNSAtMTVsLTU5NyAtMXEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIwOCAyMDhsLTE1NCAxNTVsMjEyIDIxMnpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjUgdi0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MDsiIGQ9Ik0zNTAgMTIwMGw1OTkgLTJxMjAgLTEgMzUgLTE1LjV0MTUgLTM1LjVsMSAtNTk3cTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtMjA4IDIwOGwtMTU1IC0xNTRsLTIxMiAyMTJsMTU1IDE1NGwtMjEwIDIxMHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNNTI0IDUxMmwtNzYgLTc3cS0xNSAtMTQgLTM2IC0xNHQtMzUgMTRsLTE0MiAxNDJxLTE0IDE0IC0xNCAzNXQxNCAzNWw3NyA3N3pNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41IHQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MTsiIGQ9Ik0xMjAwIDEwM2wtNDgzIDI3NmwtMzE0IC0zOTl2NDIzaC0zOTlsMTE5NiA3OTZ2LTEwOTZ6TTQ4MyA0MjR2LTIzMGw2ODMgOTUzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzI7IiBkPSJNMTEwMCAxMDAwdi04NTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTE1MHY0MDBoLTcwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzM7IiBkPSJNMTEwMCAxMDAwbC0yIC0xNDlsLTI5OSAtMjk5bC05NSA5NXEtOSA5IC0yMS41IDl0LTIxLjUgLTlsLTE0OSAtMTQ3aC0zMTJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTEzMiA2MzhsMTA2IC0xMDZxNyAtNyA3IC0xNy41dC03IC0xNy41bC00MjAgLTQyMXEtOCAtNyAtMTggLTcgdC0xOCA3bC0yMDIgMjAzcS04IDcgLTggMTcuNXQ4IDE3LjVsMTA2IDEwNnE3IDggMTcuNSA4dDE3LjUgLThsNzkgLTc5bDI5NyAyOTdxNyA3IDE3LjUgN3QxNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzQ7IiBkPSJNMTEwMCAxMDAwdi0yNjlsLTEwMyAtMTAzbC0xMzQgMTM0cS0xNSAxNSAtMzMuNSAxNi41dC0zNC41IC0xMi41bC0yNjYgLTI2NmgtMzI5di00MDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwMHEwIDIwIDE0LjUgMzV0MzUuNSAxNWgyNTB2LTMwMGg1MDB2MzAwaDEwMHpNNzAwIDEwMDBoLTEwMHYyMDBoMTAwdi0yMDB6TTEyMDIgNTcybDcwIC03MHExNSAtMTUgMTUgLTM1LjV0LTE1IC0zNS41bC0xMzEgLTEzMSBsMTMxIC0xMzFxMTUgLTE1IDE1IC0zNS41dC0xNSAtMzUuNWwtNzAgLTcwcS0xNSAtMTUgLTM1LjUgLTE1dC0zNS41IDE1bC0xMzEgMTMxbC0xMzEgLTEzMXEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtNzAgNzBxLTE1IDE1IC0xNSAzNS41dDE1IDM1LjVsMTMxIDEzMWwtMTMxIDEzMXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWw3MCA3MHExNSAxNSAzNS41IDE1dDM1LjUgLTE1bDEzMSAtMTMxbDEzMSAxMzFxMTUgMTUgMzUuNSAxNSB0MzUuNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NTsiIGQ9Ik0xMTAwIDEwMDB2LTMwMGgtMzUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xNTBoLTUwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAwek04NTAgNjAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNSBsLTIzMCAtMjMwcS0xNCAtMTQgLTM1IC0xNHQtMzUgMTRsLTIzMCAyMzBxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjVoMTUwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NjsiIGQ9Ik0xMTAwIDEwMDB2LTQwMGwtMTY1IDE2NXEtMTQgMTUgLTM1IDE1dC0zNSAtMTVsLTI2MyAtMjY1aC00MDJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNOTM1IDU2NWwyMzAgLTIyOXExNCAtMTUgMTAgLTI1LjV0LTI1IC0xMC41aC0xNTB2LTI1MHEwIC0yMCAtMTQuNSAtMzUgdC0zNS41IC0xNWgtMTAwcS0yMSAwIC0zNS41IDE1dC0xNC41IDM1djI1MGgtMTUwcS0yMSAwIC0yNSAxMC41dDEwIDI1LjVsMjMwIDIyOXExNCAxNSAzNSAxNXQzNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NzsiIGQ9Ik01MCAxMTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtMTIwMHYxNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjAwIDgwMHYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1NTBoMTIwMHpNMTAwIDUwMHYtMjAwaDQwMHYyMDBoLTQwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTc4OyIgZD0iTTkzNSAxMTY1bDI0OCAtMjMwcTE0IC0xNCAxNCAtMzV0LTE0IC0zNWwtMjQ4IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC00MDB2MjAwaDQwMHYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEwek0yMDAgODAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHYtMjAwek00MDAgODAwaC0xMDB2MjAwaDEwMHYtMjAwek0xOCA0MzVsMjQ3IDIzMCBxMTQgMTQgMjQuNSAxMHQxMC41IC0yNXYtMTUwaDQwMHYtMjAwaC00MDB2LTE1MHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTI0NyAyMzBxLTE1IDE0IC0xNSAzNXQxNSAzNXpNOTAwIDMwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTAwMCA1MDBoNTFxMjAgMCAzNC41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzQuNSAtMTQuNWgtNTF2MjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzk7IiBkPSJNODYyIDEwNzNsMjc2IDExNnEyNSAxOCA0My41IDh0MTguNSAtNDF2LTExMDZxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2Mzk3cS00IDEgLTExIDV0LTI0IDE3LjV0LTMwIDI5dC0yNCA0MnQtMTEgNTYuNXYzNTlxMCAzMSAxOC41IDY1dDQzLjUgNTJ6TTU1MCAxMjAwcTIyIDAgMzQuNSAtMTIuNXQxNC41IC0yNC41bDEgLTEzdi00NTBxMCAtMjggLTEwLjUgLTU5LjUgdC0yNSAtNTZ0LTI5IC00NXQtMjUuNSAtMzEuNWwtMTAgLTExdi00NDdxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDQ3cS00IDQgLTExIDExLjV0LTI0IDMwLjV0LTMwIDQ2dC0yNCA1NXQtMTEgNjB2NDUwcTAgMiAwLjUgNS41dDQgMTJ0OC41IDE1dDE0LjUgMTJ0MjIuNSA1LjVxMjAgMCAzMi41IC0xMi41dDE0LjUgLTI0LjVsMyAtMTN2LTM1MGgxMDB2MzUwdjUuNXQyLjUgMTIgdDcgMTV0MTUgMTJ0MjUuNSA1LjVxMjMgMCAzNS41IC0xMi41dDEzLjUgLTI0LjVsMSAtMTN2LTM1MGgxMDB2MzUwcTAgMiAwLjUgNS41dDMgMTJ0NyAxNXQxNSAxMnQyNC41IDUuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTgwOyIgZD0iTTEyMDAgMTEwMHYtNTZxLTQgMCAtMTEgLTAuNXQtMjQgLTN0LTMwIC03LjV0LTI0IC0xNXQtMTEgLTI0di04ODhxMCAtMjIgMjUgLTM0LjV0NTAgLTEzLjVsMjUgLTJ2LTU2aC00MDB2NTZxNzUgMCA4Ny41IDYuNXQxMi41IDQzLjV2Mzk0aC01MDB2LTM5NHEwIC0zNyAxMi41IC00My41dDg3LjUgLTYuNXYtNTZoLTQwMHY1NnE0IDAgMTEgMC41dDI0IDN0MzAgNy41dDI0IDE1dDExIDI0djg4OHEwIDIyIC0yNSAzNC41dC01MCAxMy41IGwtMjUgMnY1Nmg0MDB2LTU2cS03NSAwIC04Ny41IC02LjV0LTEyLjUgLTQzLjV2LTM5NGg1MDB2Mzk0cTAgMzcgLTEyLjUgNDMuNXQtODcuNSA2LjV2NTZoNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODE7IiBkPSJNNjc1IDEwMDBoMzc1cTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTEwNWwtMjk1IC05OHY5OGwtMjAwIDIwMGgtNDAwbDEwMCAxMDBoMzc1ek0xMDAgOTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNTAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0zMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djUwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTEwMCA4MDB2LTIwMGgzMDB2MjAwIGgtMzAwek0xMTAwIDUzNWwtNDAwIC0xMzN2MTYzbDQwMCAxMzN2LTE2M3pNMTAwIDUwMHYtMjAwaDMwMHYyMDBoLTMwMHpNMTEwMCAzOTh2LTI0OHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzc1bC0xMDAgLTEwMGgtMzc1bC0xMDAgMTAwaDQwMGwyMDAgMjAwaDEwNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTgyOyIgZD0iTTE3IDEwMDdsMTYyIDE2MnExNyAxNyA0MCAxNHQzNyAtMjJsMTM5IC0xOTRxMTQgLTIwIDExIC00NC41dC0yMCAtNDEuNWwtMTE5IC0xMThxMTAyIC0xNDIgMjI4IC0yNjh0MjY3IC0yMjdsMTE5IDExOHExNyAxNyA0Mi41IDE5dDQ0LjUgLTEybDE5MiAtMTM2cTE5IC0xNCAyMi41IC0zNy41dC0xMy41IC00MC41bC0xNjMgLTE2MnEtMyAtMSAtOS41IC0xdC0yOS41IDJ0LTQ3LjUgNnQtNjIuNSAxNC41dC03Ny41IDI2LjV0LTkwIDQyLjUgdC0xMDEuNSA2MHQtMTExIDgzdC0xMTkgMTA4LjVxLTc0IDc0IC0xMzMuNSAxNTAuNXQtOTQuNSAxMzguNXQtNjAgMTE5LjV0LTM0LjUgMTAwdC0xNSA3NC41dC00LjUgNDh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4MzsiIGQ9Ik02MDAgMTEwMHE5MiAwIDE3NSAtMTAuNXQxNDEuNSAtMjd0MTA4LjUgLTM2LjV0ODEuNSAtNDB0NTMuNSAtMzd0MzEgLTI3bDkgLTEwdi0yMDBxMCAtMjEgLTE0LjUgLTMzdC0zNC41IC05bC0yMDIgMzRxLTIwIDMgLTM0LjUgMjB0LTE0LjUgMzh2MTQ2cS0xNDEgMjQgLTMwMCAyNHQtMzAwIC0yNHYtMTQ2cTAgLTIxIC0xNC41IC0zOHQtMzQuNSAtMjBsLTIwMiAtMzRxLTIwIC0zIC0zNC41IDl0LTE0LjUgMzN2MjAwcTMgNCA5LjUgMTAuNSB0MzEgMjZ0NTQgMzcuNXQ4MC41IDM5LjV0MTA5IDM3LjV0MTQxIDI2LjV0MTc1IDEwLjV6TTYwMCA3OTVxNTYgMCA5NyAtOS41dDYwIC0yMy41dDMwIC0yOHQxMiAtMjRsMSAtMTB2LTUwbDM2NSAtMzAzcTE0IC0xNSAyNC41IC00MHQxMC41IC00NXYtMjEycTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMTJxMCAyMCAxMC41IDQ1dDI0LjUgNDBsMzY1IDMwM3Y1MCBxMCA0IDEgMTAuNXQxMiAyM3QzMCAyOXQ2MCAyMi41dDk3IDEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODQ7IiBkPSJNMTEwMCA3MDBsLTIwMCAtMjAwaC02MDBsLTIwMCAyMDB2NTAwaDIwMHYtMjAwaDIwMHYyMDBoMjAwdi0yMDBoMjAwdjIwMGgyMDB2LTUwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODU7IiBkPSJNNzAwIDExMDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtMTAwMGgzMDB2MTAwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMTEwMCA4MDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNzAwaDMwMHY3MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTQwMCAwaC0zMDB2NDAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNWgxMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTQwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4NjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDcwMHYtMzAwbC0xMDAgLTEwMGgtMjAwdjUwMGgyMDB6IE03MDAgNzAwdi0zMDBoMTAwdjMwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODc7IiBkPSJNMjAwIDExMDBoNzAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnYtNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OGgtNzAwcS0xMjQgMCAtMjEyIDg4dC04OCAyMTJ2NTAwcTAgMTI0IDg4IDIxMnQyMTIgODh6TTEwMCA5MDB2LTcwMGg5MDB2NzAwaC05MDB6TTUwMCAzMDBoLTEwMHYyMDBoLTEwMHYtMjAwaC0xMDB2NTAwaDEwMHYtMjAwaDEwMHYyMDBoMTAwdi01MDB6TTkwMCA3MDB2LTMwMGwtMTAwIC0xMDBoLTIwMHY1MDBoMjAweiBNNzAwIDcwMHYtMzAwaDEwMHYzMDBoLTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTg4OyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek01MDAgNzAwaC0yMDB2LTMwMGgyMDB2LTEwMGgtMzAwdjUwMGgzMDB2LTEwMHpNOTAwIDcwMGgtMjAwdi0zMDBoMjAwdi0xMDBoLTMwMHY1MDBoMzAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4OTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDQwMGwtMzAwIDE1MGwzMDAgMTUwdi0zMDB6TTkwMCA1NTBsLTMwMCAtMTUwdjMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTkwOyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek05MDAgMzAwaC03MDB2NTAwaDcwMHYtNTAwek04MDAgNzAwaC0xMzBxLTM4IDAgLTY2LjUgLTQzdC0yOC41IC0xMDh0MjcgLTEwN3Q2OCAtNDJoMTMwdjMwMHpNMzAwIDcwMHYtMzAwIGgxMzBxNDEgMCA2OCA0MnQyNyAxMDd0LTI4LjUgMTA4dC02Ni41IDQzaC0xMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNMzAwIDcwMGgyMDB2LTQwMGgtMzAwdjUwMGgxMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMzAwIDYwMHYtMjAwaDEwMHYyMDBoLTEwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MzsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDUwMGwtMTk5IC0yMDBoLTEwMHY1MGwxOTkgMjAwdjE1MGgtMjAwdjEwMGgzMDB2LTMwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNNzAxIDMwMGgtMTAwIHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5NDsiIGQ9Ik02MDAgMTE5MXExMjAgMCAyMjkuNSAtNDd0MTg4LjUgLTEyNnQxMjYgLTE4OC41dDQ3IC0yMjkuNXQtNDcgLTIyOS41dC0xMjYgLTE4OC41dC0xODguNSAtMTI2dC0yMjkuNSAtNDd0LTIyOS41IDQ3dC0xODguNSAxMjZ0LTEyNiAxODguNXQtNDcgMjI5LjV0NDcgMjI5LjV0MTI2IDE4OC41dDE4OC41IDEyNnQyMjkuNSA0N3pNNjAwIDEwMjFxLTExNCAwIC0yMTEgLTU2LjV0LTE1My41IC0xNTMuNXQtNTYuNSAtMjExdDU2LjUgLTIxMSB0MTUzLjUgLTE1My41dDIxMSAtNTYuNXQyMTEgNTYuNXQxNTMuNSAxNTMuNXQ1Ni41IDIxMXQtNTYuNSAyMTF0LTE1My41IDE1My41dC0yMTEgNTYuNXpNODAwIDcwMGgtMzAwdi0yMDBoMzAwdi0xMDBoLTMwMGwtMTAwIDEwMHYyMDBsMTAwIDEwMGgzMDB2LTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTk1OyIgZD0iTTYwMCAxMTkxcTEyMCAwIDIyOS41IC00N3QxODguNSAtMTI2dDEyNiAtMTg4LjV0NDcgLTIyOS41dC00NyAtMjI5LjV0LTEyNiAtMTg4LjV0LTE4OC41IC0xMjZ0LTIyOS41IC00N3QtMjI5LjUgNDd0LTE4OC41IDEyNnQtMTI2IDE4OC41dC00NyAyMjkuNXQ0NyAyMjkuNXQxMjYgMTg4LjV0MTg4LjUgMTI2dDIyOS41IDQ3ek02MDAgMTAyMXEtMTE0IDAgLTIxMSAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTF0NTYuNSAtMjExIHQxNTMuNSAtMTUzLjV0MjExIC01Ni41dDIxMSA1Ni41dDE1My41IDE1My41dDU2LjUgMjExdC01Ni41IDIxMXQtMTUzLjUgMTUzLjV0LTIxMSA1Ni41ek04MDAgNzAwdi0xMDBsLTUwIC01MGwxMDAgLTEwMHYtNTBoLTEwMGwtMTAwIDEwMGgtMTUwdi0xMDBoLTEwMHY0MDBoMzAwek01MDAgNzAwdi0xMDBoMjAwdjEwMGgtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTc7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA3dC04NSAtMjA3dC0yMDUgLTg2LjVoLTEyOHYyNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTMwMHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMjUwaC0yMjJxLTgwIDAgLTEzNiA1Ny41dC01NiAxMzYuNXEwIDY5IDQzIDEyMi41dDEwOCA2Ny41cS0yIDE5IC0yIDM3cTAgMTAwIDQ5IDE4NSB0MTM0IDEzNHQxODUgNDl6TTUyNSA1MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMjc1aDEzN3EyMSAwIDI2IC0xMS41dC04IC0yNy41bC0yMjMgLTI0NHEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC0yMjMgMjQ0cS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMTM3djI3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTg7IiBkPSJNNTAyIDEwODlxMTEwIDAgMjAxIC01OS41dDEzNSAtMTU2LjVxNDMgMTUgODkgMTVxMTIxIDAgMjA2IC04Ni41dDg2IC0yMDYuNXEwIC05OSAtNjAgLTE4MXQtMTUwIC0xMTBsLTM3OCAzNjBxLTEzIDE2IC0zMS41IDE2dC0zMS41IC0xNmwtMzgxIC0zNjVoLTlxLTc5IDAgLTEzNS41IDU3LjV0LTU2LjUgMTM2LjVxMCA2OSA0MyAxMjIuNXQxMDggNjcuNXEtMiAxOSAtMiAzOHEwIDEwMCA0OSAxODQuNXQxMzMuNSAxMzR0MTg0LjUgNDkuNXogTTYzMiA0NjdsMjIzIC0yMjhxMTMgLTE2IDggLTI3LjV0LTI2IC0xMS41aC0xMzd2LTI3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djI3NWgtMTM3cS0yMSAwIC0yNiAxMS41dDggMjcuNXExOTkgMjA0IDIyMyAyMjhxMTkgMTkgMzEuNSAxOXQzMi41IC0xOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTk5OyIgZD0iTTcwMCAxMDB2MTAwaDQwMGwtMjcwIDMwMGgxNzBsLTI3MCAzMDBoMTcwbC0zMDAgMzMzbC0zMDAgLTMzM2gxNzBsLTI3MCAtMzAwaDE3MGwtMjcwIC0zMDBoNDAwdi0xMDBoLTUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di01MGg0MDB2NTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDA7IiBkPSJNNjAwIDExNzlxOTQgMCAxNjcuNSAtNTYuNXQ5OS41IC0xNDUuNXE4OSAtNiAxNTAuNSAtNzEuNXQ2MS41IC0xNTUuNXEwIC02MSAtMjkuNSAtMTEyLjV0LTc5LjUgLTgyLjVxOSAtMjkgOSAtNTVxMCAtNzQgLTUyLjUgLTEyNi41dC0xMjYuNSAtNTIuNXEtNTUgMCAtMTAwIDMwdi0yNTFxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaC0zMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41djI1MXEtNDUgLTMwIC0xMDAgLTMwIHEtNzQgMCAtMTI2LjUgNTIuNXQtNTIuNSAxMjYuNXEwIDE4IDQgMzhxLTQ3IDIxIC03NS41IDY1dC0yOC41IDk3cTAgNzQgNTIuNSAxMjYuNXQxMjYuNSA1Mi41cTUgMCAyMyAtMnEwIDIgLTEgMTB0LTEgMTNxMCAxMTYgODEuNSAxOTcuNXQxOTcuNSA4MS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDE7IiBkPSJNMTAxMCAxMDEwcTExMSAtMTExIDE1MC41IC0yNjAuNXQwIC0yOTl0LTE1MC41IC0yNjAuNXEtODMgLTgzIC0xOTEuNSAtMTI2LjV0LTIxOC41IC00My41dC0yMTguNSA0My41dC0xOTEuNSAxMjYuNXEtMTExIDExMSAtMTUwLjUgMjYwLjV0MCAyOTl0MTUwLjUgMjYwLjVxODMgODMgMTkxLjUgMTI2LjV0MjE4LjUgNDMuNXQyMTguNSAtNDMuNXQxOTEuNSAtMTI2LjV6TTQ3NiAxMDY1cS00IDAgLTggLTFxLTEyMSAtMzQgLTIwOS41IC0xMjIuNSB0LTEyMi41IC0yMDkuNXEtNCAtMTIgMi41IC0yM3QxOC41IC0xNGwzNiAtOXEzIC0xIDcgLTFxMjMgMCAyOSAyMnEyNyA5NiA5OCAxNjZxNzAgNzEgMTY2IDk4cTExIDMgMTcuNSAxMy41dDMuNSAyMi41bC05IDM1cS0zIDEzIC0xNCAxOXEtNyA0IC0xNSA0ek01MTIgOTIwcS00IDAgLTkgLTJxLTgwIC0yNCAtMTM4LjUgLTgyLjV0LTgyLjUgLTEzOC41cS00IC0xMyAyIC0yNHQxOSAtMTRsMzQgLTlxNCAtMSA4IC0xcTIyIDAgMjggMjEgcTE4IDU4IDU4LjUgOTguNXQ5Ny41IDU4LjVxMTIgMyAxOCAxMy41dDMgMjEuNWwtOSAzNXEtMyAxMiAtMTQgMTlxLTcgNCAtMTUgNHpNNzE5LjUgNzE5LjVxLTQ5LjUgNDkuNSAtMTE5LjUgNDkuNXQtMTE5LjUgLTQ5LjV0LTQ5LjUgLTExOS41dDQ5LjUgLTExOS41dDExOS41IC00OS41dDExOS41IDQ5LjV0NDkuNSAxMTkuNXQtNDkuNSAxMTkuNXpNODU1IDU1MXEtMjIgMCAtMjggLTIxcS0xOCAtNTggLTU4LjUgLTk4LjV0LTk4LjUgLTU3LjUgcS0xMSAtNCAtMTcgLTE0LjV0LTMgLTIxLjVsOSAtMzVxMyAtMTIgMTQgLTE5cTcgLTQgMTUgLTRxNCAwIDkgMnE4MCAyNCAxMzguNSA4Mi41dDgyLjUgMTM4LjVxNCAxMyAtMi41IDI0dC0xOC41IDE0bC0zNCA5cS00IDEgLTggMXpNMTAwMCA1MTVxLTIzIDAgLTI5IC0yMnEtMjcgLTk2IC05OCAtMTY2cS03MCAtNzEgLTE2NiAtOThxLTExIC0zIC0xNy41IC0xMy41dC0zLjUgLTIyLjVsOSAtMzVxMyAtMTMgMTQgLTE5cTcgLTQgMTUgLTQgcTQgMCA4IDFxMTIxIDM0IDIwOS41IDEyMi41dDEyMi41IDIwOS41cTQgMTIgLTIuNSAyM3QtMTguNSAxNGwtMzYgOXEtMyAxIC03IDF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMjsiIGQ9Ik03MDAgODAwaDMwMHYtMzgwaC0xODB2MjAwaC0zNDB2LTIwMGgtMzgwdjc1NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDU3NXYtNDAwek0xMDAwIDkwMGgtMjAwdjIwMHpNNzAwIDMwMGgxNjJsLTIxMiAtMjEybC0yMTIgMjEyaDE2MnYyMDBoMTAwdi0yMDB6TTUyMCAwaC0zOTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzOTV6TTEwMDAgMjIwdi0xOTVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xOTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMzsiIGQ9Ik03MDAgODAwaDMwMHYtNTIwbC0zNTAgMzUwbC01NTAgLTU1MHYxMDk1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNTc1di00MDB6TTEwMDAgOTAwaC0yMDB2MjAwek04NjIgMjAwaC0xNjJ2LTIwMGgtMTAwdjIwMGgtMTYybDIxMiAyMTJ6TTQ4MCAwaC0zNTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NWgzODB2LTgwek0xMDAwIDgwdi01NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1NXY4MGgxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwNDsiIGQ9Ik0xMTYyIDgwMGgtMTYydi0yMDBoMTAwbDEwMCAtMTAwaC0zMDB2MzAwaC0xNjJsMjEyIDIxMnpNMjAwIDgwMGgyMDBxMjcgMCA0MCAtMnQyOS41IC0xMC41dDIzLjUgLTMwdDcgLTU3LjVoMzAwdi0xMDBoLTYwMGwtMjAwIC0zNTB2NDUwaDEwMHEwIDM2IDcgNTcuNXQyMy41IDMwdDI5LjUgMTAuNXQ0MCAyek04MDAgNDAwaDI0MGwtMjQwIC00MDBoLTgwMGwzMDAgNTAwaDUwMHYtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDU7IiBkPSJNNjUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMDAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTgwMCBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTYwMHEtMSAwIC0yMCA0bDI0NiAyNDZsLTMyNiAzMjZ2MzI0cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXYtMTUwcTAgLTYyIDQ0IC0xMDZ0MTA2IC00NGgzMDBxNjIgMCAxMDYgNDR0NDQgMTA2ek00MTIgMjUwbC0yMTIgLTIxMnYxNjJoLTIwMHYxMDBoMjAwdjE2MnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjA2OyIgZD0iTTQ1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDUwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTUwMCBoLTIwMHYtMzAwaDIwMHEwIC0zNiAtNyAtNTcuNXQtMjMuNSAtMzB0LTI5LjUgLTEwLjV0LTQwIC0yaC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djgwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV2LTE1MHEwIC02MiA0NCAtMTA2dDEwNiAtNDRoMzAwcTYyIDAgMTA2IDQ0dDQ0IDEwNnpNMTIxMiAyNTBsLTIxMiAtMjEydjE2MmgtMjAwdjEwMGgyMDB2MTYyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDk7IiBkPSJNNjU4IDExOTdsNjM3IC0xMTA0cTIzIC0zOCA3IC02NS41dC02MCAtMjcuNWgtMTI3NnEtNDQgMCAtNjAgMjcuNXQ3IDY1LjVsNjM3IDExMDRxMjIgMzkgNTQgMzl0NTQgLTM5ek03MDQgODAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNXQzNy41IC0xNC41aDU0cTIwIDAgMzcuNSAxNC41dDIxLjUgMzQuNWw1OCAzMDJxNCAyMCAtOCAzNC41dC0zMiAxNC41ek01MDAgMzAwdi0xMDBoMjAwIHYxMDBoLTIwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjEwOyIgZD0iTTQyNSAxMTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgODAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41IHQxNy41IDcuNXpNODI1IDgwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMjUgNTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNODI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNSB2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTgyNSAyMDBoMjUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxMTsiIGQ9Ik03MDAgMTIwMGgxMDB2LTIwMGgtMTAwdi0xMDBoMzUwcTYyIDAgODYuNSAtMzkuNXQtMy41IC05NC41bC02NiAtMTMycS00MSAtODMgLTgxIC0xMzRoLTc3MnEtNDAgNTEgLTgxIDEzNGwtNjYgMTMycS0yOCA1NSAtMy41IDk0LjV0ODYuNSAzOS41aDM1MHYxMDBoLTEwMHYyMDBoMTAwdjEwMGgyMDB2LTEwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwIGgtOTUwbDEzOCAxMDBoLTEzcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTI7IiBkPSJNNjAwIDEzMDBxNDAgMCA2OC41IC0yOS41dDI4LjUgLTcwLjVoLTE5NHEwIDQxIDI4LjUgNzAuNXQ2OC41IDI5LjV6TTQ0MyAxMTAwaDMxNHExOCAtMzcgMTggLTc1cTAgLTggLTMgLTI1aDMyOHE0MSAwIDQ0LjUgLTE2LjV0LTMwLjUgLTM4LjVsLTE3NSAtMTQ1aC02NzhsLTE3OCAxNDVxLTM0IDIyIC0yOSAzOC41dDQ2IDE2LjVoMzI4cS0zIDE3IC0zIDI1cTAgMzggMTggNzV6TTI1MCA3MDBoNzAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTUwdi0yMDBsMjc1IC0yMDBoLTk1MGwyNzUgMjAwdjIwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTM7IiBkPSJNNjAwIDExODFxNzUgMCAxMjggLTUzdDUzIC0xMjh0LTUzIC0xMjh0LTEyOCAtNTN0LTEyOCA1M3QtNTMgMTI4dDUzIDEyOHQxMjggNTN6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTMgbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNDsiIGQ9Ik02MDAgMTMwMHE0NyAwIDkyLjUgLTUzLjV0NzEgLTEyM3QyNS41IC0xMjMuNXEwIC03OCAtNTUuNSAtMTMzLjV0LTEzMy41IC01NS41dC0xMzMuNSA1NS41dC01NS41IDEzMy41cTAgNjIgMzQgMTQzbDE0NCAtMTQzbDExMSAxMTFsLTE2MyAxNjNxMzQgMjYgNjMgMjZ6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1IHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEzbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNTsiIGQ9Ik02MDAgMTIwMGwzMDAgLTE2MXYtMTM5aC0zMDBxMCAtNTcgMTguNSAtMTA4dDUwIC05MS41dDYzIC03MnQ3MCAtNjcuNXQ1Ny41IC02MWgtNTMwcS02MCA4MyAtOTAuNSAxNzcuNXQtMzAuNSAxNzguNXQzMyAxNjQuNXQ4Ny41IDEzOS41dDEyNiA5Ni41dDE0NS41IDQxLjV2LTk4ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTNsMTM4IC0xMDBoLTk1MGwxMzcgMTAwIGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNjsiIGQ9Ik02MDAgMTMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNzhxNDYgLTI2IDczIC03MnQyNyAtMTAwdi01MGgtNDAwdjUwcTAgNTQgMjcgMTAwdDczIDcydjc4cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNDAwIDgwMGg0MDBxNTQgMCAxMDAgLTI3dDcyIC03M2gtMTcydi0xMDBoMjAwdi0xMDBoLTIwMHYtMTAwaDIwMHYtMTAwaC0yMDB2LTEwMGgyMDBxMCAtODMgLTU4LjUgLTE0MS41dC0xNDEuNSAtNTguNWgtNDAwIHEtODMgMCAtMTQxLjUgNTguNXQtNTguNSAxNDEuNXY0MDBxMCA4MyA1OC41IDE0MS41dDE0MS41IDU4LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxODsiIGQ9Ik0xNTAgMTEwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjUgNDAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjgzbDIyNCAtMjI0cTEzIC0xMyAxMyAtMzEuNXQtMTMgLTMyIHQtMzEuNSAtMTMuNXQtMzEuNSAxM2wtODggODhoLTUyNGwtODcgLTg4cS0xMyAtMTMgLTMyIC0xM3QtMzIgMTMuNXQtMTMgMzJ0MTMgMzEuNWwyMjQgMjI0aC0yODlxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01NDEgMzAwbC0xMDAgLTEwMGgzMjRsLTEwMCAxMDBoLTEyNHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjE5OyIgZD0iTTIwMCAxMTAwaDgwMHE4MyAwIDE0MS41IC01OC41dDU4LjUgLTE0MS41di0yMDBoLTEwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNWgtMjUwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41aC0xMDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjVoLTI1MHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNWgtMTAwdjIwMHEwIDgzIDU4LjUgMTQxLjV0MTQxLjUgNTguNXpNMTAwIDYwMGgxMDAwcTQxIDAgNzAuNSAtMjkuNSB0MjkuNSAtNzAuNXYtMzAwaC0xMjAwdjMwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTMwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHpNMTEwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjIxOyIgZD0iTTQ4MCAxMTY1bDY4MiAtNjgzcTMxIC0zMSAzMSAtNzUuNXQtMzEgLTc1LjVsLTEzMSAtMTMxaC00ODFsLTUxNyA1MThxLTMyIDMxIC0zMiA3NS41dDMyIDc1LjVsMjk1IDI5NnEzMSAzMSA3NS41IDMxdDc2LjUgLTMxek0xMDggNzk0bDM0MiAtMzQybDMwMyAzMDRsLTM0MSAzNDF6TTI1MCAxMDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtOTAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjIzOyIgZD0iTTEwNTcgNjQ3bC0xODkgNTA2cS04IDE5IC0yNy41IDMzdC00MC41IDE0aC00MDBxLTIxIDAgLTQwLjUgLTE0dC0yNy41IC0zM2wtMTg5IC01MDZxLTggLTE5IDEuNSAtMzN0MzAuNSAtMTRoNjI1di0xNTBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41dDM1LjUgMTQuNXQxNC41IDM1LjV2MTUwaDEyNXEyMSAwIDMwLjUgMTR0MS41IDMzek04OTcgMGgtNTk1djUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ4djMwMGgyMDB2LTMwMGg0N3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjQ7IiBkPSJNOTAwIDgwMGgzMDB2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTM3NXY1OTFsLTMwMCAzMDB2ODRxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNMTIwMCA5MDBoLTIwMHYyMDB6TTQwMCA2MDBoMzAwdi01NzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC02NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNNzAwIDcwMGgtMjAwdjIwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIyNTsiIGQ9Ik00ODQgMTA5NWgxOTVxNzUgMCAxNDYgLTMyLjV0MTI0IC04NnQ4OS41IC0xMjIuNXQ0OC41IC0xNDJxMTggLTE0IDM1IC0yMHEzMSAtMTAgNjQuNSA2LjV0NDMuNSA0OC41cTEwIDM0IC0xNSA3MXEtMTkgMjcgLTkgNDNxNSA4IDEyLjUgMTF0MTkgLTF0MjMuNSAtMTZxNDEgLTQ0IDM5IC0xMDVxLTMgLTYzIC00NiAtMTA2LjV0LTEwNCAtNDMuNWgtNjJxLTcgLTU1IC0zNSAtMTE3dC01NiAtMTAwbC0zOSAtMjM0cS0zIC0yMCAtMjAgLTM0LjUgdC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMTIgNzBxLTQ5IC0xNCAtOTEgLTE0aC0xOTVxLTI0IDAgLTY1IDhsLTExIC02NHEtMyAtMjAgLTIwIC0zNC41dC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMjYgMTU3cS04NCA3NCAtMTI4IDE3NWwtMTU5IDUzcS0xOSA3IC0zMyAyNnQtMTQgNDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEyNHExMSA4NyA1NiAxNjZsLTExMSA5NSBxLTE2IDE0IC0xMi41IDIzLjV0MjQuNSA5LjVoMjAzcTExNiAxMDEgMjUwIDEwMXpNNjc1IDEwMDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMjUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjY7IiBkPSJNNjQxIDkwMGw0MjMgMjQ3cTE5IDggNDIgMi41dDM3IC0yMS41bDMyIC0zOHExNCAtMTUgMTIuNSAtMzZ0LTE3LjUgLTM0bC0xMzkgLTEyMGgtMzkwek01MCAxMTAwaDEwNnE2NyAwIDEwMyAtMTd0NjYgLTcxbDEwMiAtMjEyaDgyM3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBxMCAtMjEgLTE0IC00MHQtMzMgLTI2bC03MzcgLTEzMnEtMjMgLTQgLTQwIDZ0LTI2IDI1cS00MiA2NyAtMTAwIDY3aC0zMDBxLTYyIDAgLTEwNiA0NCB0LTQ0IDEwNnYyMDBxMCA2MiA0NCAxMDZ0MTA2IDQ0ek0xNzMgOTI4aC04MHEtMTkgMCAtMjggLTE0dC05IC0zNXYtNTZxMCAtNTEgNDIgLTUxaDEzNHExNiAwIDIxLjUgOHQ1LjUgMjRxMCAxMSAtMTYgNDV0LTI3IDUxcS0xOCAyOCAtNDMgMjh6TTU1MCA3MjdxLTMyIDAgLTU0LjUgLTIyLjV0LTIyLjUgLTU0LjV0MjIuNSAtNTQuNXQ1NC41IC0yMi41dDU0LjUgMjIuNXQyMi41IDU0LjV0LTIyLjUgNTQuNXQtNTQuNSAyMi41ek0xMzAgMzg5IGwxNTIgMTMwcTE4IDE5IDM0IDI0dDMxIC0zLjV0MjQuNSAtMTcuNXQyNS41IC0yOHEyOCAtMzUgNTAuNSAtNTF0NDguNSAtMTNsNjMgNWw0OCAtMTc5cTEzIC02MSAtMy41IC05Ny41dC02Ny41IC03OS41bC04MCAtNjlxLTQ3IC00MCAtMTA5IC0zNS41dC0xMDMgNTEuNWwtMTMwIDE1MXEtNDAgNDcgLTM1LjUgMTA5LjV0NTEuNSAxMDIuNXpNMzgwIDM3N2wtMTAyIC04OHEtMzEgLTI3IDIgLTY1bDM3IC00M3ExMyAtMTUgMjcuNSAtMTkuNSB0MzEuNSA2LjVsNjEgNTNxMTkgMTYgMTQgNDlxLTIgMjAgLTEyIDU2dC0xNyA0NXEtMTEgMTIgLTE5IDE0dC0yMyAtOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjI3OyIgZD0iTTYyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwOXE3OSAtMzMgMTMxIC04Ny41dDUzIC0xMjguNXExIC00NiAtMTUgLTg0LjV0LTM5IC02MXQtNDYgLTM4dC0zOSAtMjEuNWwtMTcgLTZxNiAwIDE1IC0xLjV0MzUgLTl0NTAgLTE3LjV0NTMgLTMwdDUwIC00NXQzNS41IC02NHQxNC41IC04NHEwIC01OSAtMTEuNSAtMTA1LjV0LTI4LjUgLTc2LjV0LTQ0IC01MXQtNDkuNSAtMzEuNXQtNTQuNSAtMTZ0LTQ5LjUgLTYuNSB0LTQzLjUgLTF2LTc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzVoLTEwMHYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtMTc1cS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNzV2NjAwaC03NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNzV2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWgxMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDAwIDkwMHYtMjAwaDI2M3EyOCAwIDQ4LjUgMTAuNXQzMCAyNXQxNSAyOXQ1LjUgMjUuNWwxIDEwcTAgNCAtMC41IDExdC02IDI0dC0xNSAzMHQtMzAgMjR0LTQ4LjUgMTFoLTI2M3pNNDAwIDUwMHYtMjAwaDM2M3EyOCAwIDQ4LjUgMTAuNSB0MzAgMjV0MTUgMjl0NS41IDI1LjVsMSAxMHEwIDQgLTAuNSAxMXQtNiAyNHQtMTUgMzB0LTMwIDI0dC00OC41IDExaC0zNjN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMDsiIGQ9Ik0yMTIgMTE5OGg3ODBxODYgMCAxNDcgLTYxdDYxIC0xNDd2LTQxNnEwIC01MSAtMTggLTE0Mi41dC0zNiAtMTU3LjVsLTE4IC02NnEtMjkgLTg3IC05My41IC0xNDYuNXQtMTQ2LjUgLTU5LjVoLTU3MnEtODIgMCAtMTQ3IDU5dC05MyAxNDdxLTggMjggLTIwIDczdC0zMiAxNDMuNXQtMjAgMTQ5LjV2NDE2cTAgODYgNjEgMTQ3dDE0NyA2MXpNNjAwIDEwNDVxLTcwIDAgLTEzMi41IC0xMS41dC0xMDUuNSAtMzAuNXQtNzguNSAtNDEuNSB0LTU3IC00NXQtMzYgLTQxdC0yMC41IC0zMC41bC02IC0xMmwxNTYgLTI0M2g1NjBsMTU2IDI0M3EtMiA1IC02IDEyLjV0LTIwIDI5LjV0LTM2LjUgNDJ0LTU3IDQ0LjV0LTc5IDQydC0xMDUgMjkuNXQtMTMyLjUgMTJ6TTc2MiA3MDNoLTE1N2wxOTUgMjYxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzE7IiBkPSJNNDc1IDEzMDBoMTUwcTEwMyAwIDE4OSAtODZ0ODYgLTE4OXYtNTAwcTAgLTQxIC00MiAtODN0LTgzIC00MmgtNDUwcS00MSAwIC04MyA0MnQtNDIgODN2NTAwcTAgMTAzIDg2IDE4OXQxODkgODZ6TTcwMCAzMDB2LTIyNXEwIC0yMSAtMjcgLTQ4dC00OCAtMjdoLTE1MHEtMjEgMCAtNDggMjd0LTI3IDQ4djIyNWgzMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMjsiIGQ9Ik00NzUgMTMwMGg5NnEwIC0xNTAgODkuNSAtMjM5LjV0MjM5LjUgLTg5LjV2LTQ0NnEwIC00MSAtNDIgLTgzdC04MyAtNDJoLTQ1MHEtNDEgMCAtODMgNDJ0LTQyIDgzdjUwMHEwIDEwMyA4NiAxODl0MTg5IDg2ek03MDAgMzAwdi0yMjVxMCAtMjEgLTI3IC00OHQtNDggLTI3aC0xNTBxLTIxIDAgLTQ4IDI3dC0yNyA0OHYyMjVoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzM7IiBkPSJNMTI5NCA3NjdsLTYzOCAtMjgzbC0zNzggMTcwbC03OCAtNjB2LTIyNGwxMDAgLTE1MHYtMTk5bC0xNTAgMTQ4bC0xNTAgLTE0OXYyMDBsMTAwIDE1MHYyNTBxMCA0IC0wLjUgMTAuNXQwIDkuNXQxIDh0MyA4dDYuNSA2bDQ3IDQwbC0xNDcgNjVsNjQyIDI4M3pNMTAwMCAzODBsLTM1MCAtMTY2bC0zNTAgMTY2djE0N2wzNTAgLTE2NWwzNTAgMTY1di0xNDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzNDsiIGQ9Ik0yNTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek02NTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek0xMDUwIDgwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnQtNDQgLTEwNnQtMTA2IC00NHQtMTA2IDQ0dC00NCAxMDZ0NDQgMTA2dDEwNiA0NHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjM1OyIgZD0iTTU1MCAxMTAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgNzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgMzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzY7IiBkPSJNMTI1IDExMDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEyNSA3MDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjUgdDE3LjUgNy41ek0xMjUgMzAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTk1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzc7IiBkPSJNMzUwIDEyMDBoNTAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTUwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNTAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY1MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek05MDAgMTAwMGgtNjAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDYwMHE0MSAwIDcwLjUgMjkuNSB0MjkuNSA3MC41djYwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMzUwIDkwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek00MDAgODAwdi0yMDBoNDAwdjIwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzg7IiBkPSJNMTUwIDExMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNSB0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MjAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV0MTQuNSAzNS41dDM1LjUgMTQuNWg1MHYyMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41aDUwdjIwMGgtNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzOTsiIGQ9Ik02NTAgMTE4N3E4NyAtNjcgMTE4LjUgLTE1NnQwIC0xNzh0LTExOC41IC0xNTVxLTg3IDY2IC0xMTguNSAxNTV0MCAxNzh0MTE4LjUgMTU2ek0zMDAgODAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnEtMTI0IDAgLTIxMiA4OHQtODggMjEyek0xMDAwIDgwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhxMCAxMjQgODggMjEydDIxMiA4OHpNMzAwIDUwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnogTTEwMDAgNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek03MDAgMTk5di0xNDRxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djE0MnE0MCAtNCA0MyAtNHExNyAwIDU3IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0MDsiIGQ9Ik03NDUgODc4bDY5IDE5cTI1IDYgNDUgLTEybDI5OCAtMjk1cTExIC0xMSAxNSAtMjYuNXQtMiAtMzAuNXEtNSAtMTQgLTE4IC0yMy41dC0yOCAtOS41aC04cTEgMCAxIC0xM3EwIC0yOSAtMiAtNTZ0LTguNSAtNjJ0LTIwIC02M3QtMzMgLTUzdC01MSAtMzl0LTcyLjUgLTE0aC0xNDZxLTE4NCAwIC0xODQgMjg4cTAgMjQgMTAgNDdxLTIwIDQgLTYyIDR0LTYzIC00cTExIC0yNCAxMSAtNDdxMCAtMjg4IC0xODQgLTI4OGgtMTQyIHEtNDggMCAtODQuNSAyMXQtNTYgNTF0LTMyIDcxLjV0LTE2IDc1dC0zLjUgNjguNXEwIDEzIDIgMTNoLTdxLTE1IDAgLTI3LjUgOS41dC0xOC41IDIzLjVxLTYgMTUgLTIgMzAuNXQxNSAyNS41bDI5OCAyOTZxMjAgMTggNDYgMTFsNzYgLTE5cTIwIC01IDMwLjUgLTIyLjV0NS41IC0zNy41dC0yMi41IC0zMXQtMzcuNSAtNWwtNTEgMTJsLTE4MiAtMTkzaDg5MWwtMTgyIDE5M2wtNDQgLTEycS0yMCAtNSAtMzcuNSA2dC0yMi41IDMxdDYgMzcuNSB0MzEgMjIuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQxOyIgZD0iTTEyMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTUwMCA0NTBoLTI1cTAgMTUgLTQgMjQuNXQtOSAxNC41dC0xNyA3LjV0LTIwIDN0LTI1IDAuNWgtMTAwdi00MjVxMCAtMTEgMTIuNSAtMTcuNXQyNS41IC03LjVoMTJ2LTUwaC0yMDB2NTBxNTAgMCA1MCAyNXY0MjVoLTEwMHEtMTcgMCAtMjUgLTAuNXQtMjAgLTN0LTE3IC03LjV0LTkgLTE0LjV0LTQgLTI0LjVoLTI1djE1MGg1MDB2LTE1MHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQyOyIgZD0iTTEwMDAgMzAwdjUwcS0yNSAwIC01NSAzMnEtMTQgMTQgLTI1IDMxdC0xNiAyN2wtNCAxMWwtMjg5IDc0N2gtNjlsLTMwMCAtNzU0cS0xOCAtMzUgLTM5IC01NnEtOSAtOSAtMjQuNSAtMTguNXQtMjYuNSAtMTQuNWwtMTEgLTV2LTUwaDI3M3Y1MHEtNDkgMCAtNzguNSAyMS41dC0xMS41IDY3LjVsNjkgMTc2aDI5M2w2MSAtMTY2cTEzIC0zNCAtMy41IC02Ni41dC01NS41IC0zMi41di01MGgzMTJ6TTQxMiA2OTFsMTM0IDM0MmwxMjEgLTM0MiBoLTI1NXpNMTEwMCAxNTB2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDM7IiBkPSJNNTAgMTIwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjExIDExMThoLTcwcS0xMyAwIC0xOCAtMTJsLTI5OSAtNzUzcS0xNyAtMzIgLTM1IC01MXEtMTggLTE4IC01NiAtMzRxLTEyIC01IC0xMiAtMTh2LTUwcTAgLTggNS41IC0xNHQxNC41IC02IGgyNzNxOCAwIDE0IDZ0NiAxNHY1MHEwIDggLTYgMTR0LTE0IDZxLTU1IDAgLTcxIDIzcS0xMCAxNCAwIDM5bDYzIDE2M2gyNjZsNTcgLTE1M3ExMSAtMzEgLTYgLTU1cS0xMiAtMTcgLTM2IC0xN3EtOCAwIC0xNCAtNnQtNiAtMTR2LTUwcTAgLTggNiAtMTR0MTQgLTZoMzEzcTggMCAxNCA2dDYgMTR2NTBxMCA3IC01LjUgMTN0LTEzLjUgN3EtMTcgMCAtNDIgMjVxLTI1IDI3IC00MCA2M2gtMWwtMjg4IDc0OHEtNSAxMiAtMTkgMTJ6TTYzOSA2MTEgaC0xOTdsMTAzIDI2NHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQ0OyIgZD0iTTEyMDAgMTEwMGgtMTIwMHYxMDBoMTIwMHYtMTAwek01MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtOTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djkwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDAgcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgOTAwdi0zMDBoMzAwdjMwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDU7IiBkPSJNNTAgMTIwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTkwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY5MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgNzAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgNjAwdi0zMDBoMzAwdjMwMGgtMzAwek0xMjAwIDBoLTEyMDB2MTAwaDEyMDB2LTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQ2OyIgZD0iTTUwIDEwMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMTAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoMTAwdi0xMDBoLTEwMHYtMTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djE1MGgtMTAwdi0zNTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA3MDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0NzsiIGQ9Ik0xMDAgMGgtMTAwdjEyMDBoMTAwdi0xMjAwek0yNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMDAgMTAwMHYtMzAwaDMwMHYzMDBoLTMwMHpNMjUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQ4OyIgZD0iTTYwMCAxMTAwaDE1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTEwMGg0NTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDM1MHYxMDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41IHQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTUwdjEwMGgxMDB2LTEwMHpNNDAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0OTsiIGQ9Ik0xMjAwIDBoLTEwMHYxMjAwaDEwMHYtMTIwMHpNNTUwIDExMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjUwOyIgZD0iTTg2NSA1NjVsLTQ5NCAtNDk0cS0yMyAtMjMgLTQxIC0yM3EtMTQgMCAtMjIgMTMuNXQtOCAzOC41djEwMDBxMCAyNSA4IDM4LjV0MjIgMTMuNXExOCAwIDQxIC0yM2w0OTQgLTQ5NHExNCAtMTQgMTQgLTM1dC0xNCAtMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI1MTsiIGQ9Ik0zMzUgNjM1bDQ5NCA0OTRxMjkgMjkgNTAgMjAuNXQyMSAtNDkuNXYtMTAwMHEwIC00MSAtMjEgLTQ5LjV0LTUwIDIwLjVsLTQ5NCA0OTRxLTE0IDE0IC0xNCAzNXQxNCAzNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjUyOyIgZD0iTTEwMCA5MDBoMTAwMHE0MSAwIDQ5LjUgLTIxdC0yMC41IC01MGwtNDk0IC00OTRxLTE0IC0xNCAtMzUgLTE0dC0zNSAxNGwtNDk0IDQ5NHEtMjkgMjkgLTIwLjUgNTB0NDkuNSAyMXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjUzOyIgZD0iTTYzNSA4NjVsNDk0IC00OTRxMjkgLTI5IDIwLjUgLTUwdC00OS41IC0yMWgtMTAwMHEtNDEgMCAtNDkuNSAyMXQyMC41IDUwbDQ5NCA0OTRxMTQgMTQgMzUgMTR0MzUgLTE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTQ7IiBkPSJNNzAwIDc0MXYtMTgybC02OTIgLTMyM3YyMjFsNDEzIDE5M2wtNDEzIDE5M3YyMjF6TTEyMDAgMGgtODAwdjIwMGg4MDB2LTIwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU1OyIgZD0iTTEyMDAgOTAwaC0yMDB2LTEwMGgyMDB2LTEwMGgtMzAwdjMwMGgyMDB2MTAwaC0yMDB2MTAwaDMwMHYtMzAwek0wIDcwMGg1MHEwIDIxIDQgMzd0OS41IDI2LjV0MTggMTcuNXQyMiAxMXQyOC41IDUuNXQzMSAydDM3IDAuNWgxMDB2LTU1MHEwIC0yMiAtMjUgLTM0LjV0LTUwIC0xMy41bC0yNSAtMnYtMTAwaDQwMHYxMDBxLTQgMCAtMTEgMC41dC0yNCAzdC0zMCA3dC0yNCAxNXQtMTEgMjQuNXY1NTBoMTAwcTI1IDAgMzcgLTAuNXQzMSAtMiB0MjguNSAtNS41dDIyIC0xMXQxOCAtMTcuNXQ5LjUgLTI2LjV0NCAtMzdoNTB2MzAwaC04MDB2LTMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU2OyIgZD0iTTgwMCA3MDBoLTUwcTAgMjEgLTQgMzd0LTkuNSAyNi41dC0xOCAxNy41dC0yMiAxMXQtMjguNSA1LjV0LTMxIDJ0LTM3IDAuNWgtMTAwdi01NTBxMCAtMjIgMjUgLTM0LjV0NTAgLTE0LjVsMjUgLTF2LTEwMGgtNDAwdjEwMHE0IDAgMTEgMC41dDI0IDN0MzAgN3QyNCAxNXQxMSAyNC41djU1MGgtMTAwcS0yNSAwIC0zNyAtMC41dC0zMSAtMnQtMjguNSAtNS41dC0yMiAtMTF0LTE4IC0xNy41dC05LjUgLTI2LjV0LTQgLTM3aC01MHYzMDAgaDgwMHYtMzAwek0xMTAwIDIwMGgtMjAwdi0xMDBoMjAwdi0xMDBoLTMwMHYzMDBoMjAwdjEwMGgtMjAwdjEwMGgzMDB2LTMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU3OyIgZD0iTTcwMSAxMDk4aDE2MHExNiAwIDIxIC0xMXQtNyAtMjNsLTQ2NCAtNDY0bDQ2NCAtNDY0cTEyIC0xMiA3IC0yM3QtMjEgLTExaC0xNjBxLTEzIDAgLTIzIDlsLTQ3MSA0NzFxLTcgOCAtNyAxOHQ3IDE4bDQ3MSA0NzFxMTAgOSAyMyA5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTg7IiBkPSJNMzM5IDEwOThoMTYwcTEzIDAgMjMgLTlsNDcxIC00NzFxNyAtOCA3IC0xOHQtNyAtMThsLTQ3MSAtNDcxcS0xMCAtOSAtMjMgLTloLTE2MHEtMTYgMCAtMjEgMTF0NyAyM2w0NjQgNDY0bC00NjQgNDY0cS0xMiAxMiAtNyAyM3QyMSAxMXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU5OyIgZD0iTTEwODcgODgycTExIC01IDExIC0yMXYtMTYwcTAgLTEzIC05IC0yM2wtNDcxIC00NzFxLTggLTcgLTE4IC03dC0xOCA3bC00NzEgNDcxcS05IDEwIC05IDIzdjE2MHEwIDE2IDExIDIxdDIzIC03bDQ2NCAtNDY0bDQ2NCA0NjRxMTIgMTIgMjMgN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjYwOyIgZD0iTTYxOCA5OTNsNDcxIC00NzFxOSAtMTAgOSAtMjN2LTE2MHEwIC0xNiAtMTEgLTIxdC0yMyA3bC00NjQgNDY0bC00NjQgLTQ2NHEtMTIgLTEyIC0yMyAtN3QtMTEgMjF2MTYwcTAgMTMgOSAyM2w0NzEgNDcxcTggNyAxOCA3dDE4IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGY4ZmY7IiBkPSJNMTAwMCAxMjAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek00NTAgMTAwMGgxMDBxMjEgMCA0MCAtMTR0MjYgLTMzbDc5IC0xOTRxNSAxIDE2IDNxMzQgNiA1NCA5LjV0NjAgN3Q2NS41IDF0NjEgLTEwdDU2LjUgLTIzdDQyLjUgLTQydDI5IC02NHQ1IC05MnQtMTkuNSAtMTIxLjVxLTEgLTcgLTMgLTE5LjV0LTExIC01MHQtMjAuNSAtNzN0LTMyLjUgLTgxLjV0LTQ2LjUgLTgzdC02NCAtNzAgdC04Mi41IC01MHEtMTMgLTUgLTQyIC01dC02NS41IDIuNXQtNDcuNSAyLjVxLTE0IDAgLTQ5LjUgLTMuNXQtNjMgLTMuNXQtNDMuNSA3cS01NyAyNSAtMTA0LjUgNzguNXQtNzUgMTExLjV0LTQ2LjUgMTEydC0yNiA5MGwtNyAzNXEtMTUgNjMgLTE4IDExNXQ0LjUgODguNXQyNiA2NHQzOS41IDQzLjV0NTIgMjUuNXQ1OC41IDEzdDYyLjUgMnQ1OS41IC00LjV0NTUuNSAtOGwtMTQ3IDE5MnEtMTIgMTggLTUuNSAzMHQyNy41IDEyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNTExOyIgZD0iTTI1MCAxMjAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTUwMGwtMjU1IC0xNzhxLTE5IC05IC0zMiAtMXQtMTMgMjl2NjUwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQwMCAxMTAwdi0xMDBoMzAwdjEwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNmFhOyIgZD0iTTI1MCAxMjAwaDc1MHEzOSAwIDY5LjUgLTQwLjV0MzAuNSAtODQuNXYtOTMzbC03MDAgLTExN3Y5NTBsNjAwIDEyNWgtNzAwdi0xMDAwaC0xMDB2MTAyNXEwIDIzIDE1LjUgNDl0MzQuNSAyNnpNNTAwIDUyNXYtMTAwbDEwMCAyMHYxMDB6IiAvPgo8L2ZvbnQ%2BCjwvZGVmcz48L3N2Zz4g%29%20format%28%27svg%27%29%7D%2Eglyphicon%7Bposition%3Arelative%3Btop%3A1px%3Bdisplay%3Ainline%2Dblock%3Bfont%2Dfamily%3A%27Glyphicons%20Halflings%27%3Bfont%2Dstyle%3Anormal%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%3B%2Dwebkit%2Dfont%2Dsmoothing%3Aantialiased%3B%2Dmoz%2Dosx%2Dfont%2Dsmoothing%3Agrayscale%7D%2Eglyphicon%2Dasterisk%3Abefore%7Bcontent%3A%22%5C2a%22%7D%2Eglyphicon%2Dplus%3Abefore%7Bcontent%3A%22%5C2b%22%7D%2Eglyphicon%2Deur%3Abefore%2C%2Eglyphicon%2Deuro%3Abefore%7Bcontent%3A%22%5C20ac%22%7D%2Eglyphicon%2Dminus%3Abefore%7Bcontent%3A%22%5C2212%22%7D%2Eglyphicon%2Dcloud%3Abefore%7Bcontent%3A%22%5C2601%22%7D%2Eglyphicon%2Denvelope%3Abefore%7Bcontent%3A%22%5C2709%22%7D%2Eglyphicon%2Dpencil%3Abefore%7Bcontent%3A%22%5C270f%22%7D%2Eglyphicon%2Dglass%3Abefore%7Bcontent%3A%22%5Ce001%22%7D%2Eglyphicon%2Dmusic%3Abefore%7Bcontent%3A%22%5Ce002%22%7D%2Eglyphicon%2Dsearch%3Abefore%7Bcontent%3A%22%5Ce003%22%7D%2Eglyphicon%2Dheart%3Abefore%7Bcontent%3A%22%5Ce005%22%7D%2Eglyphicon%2Dstar%3Abefore%7Bcontent%3A%22%5Ce006%22%7D%2Eglyphicon%2Dstar%2Dempty%3Abefore%7Bcontent%3A%22%5Ce007%22%7D%2Eglyphicon%2Duser%3Abefore%7Bcontent%3A%22%5Ce008%22%7D%2Eglyphicon%2Dfilm%3Abefore%7Bcontent%3A%22%5Ce009%22%7D%2Eglyphicon%2Dth%2Dlarge%3Abefore%7Bcontent%3A%22%5Ce010%22%7D%2Eglyphicon%2Dth%3Abefore%7Bcontent%3A%22%5Ce011%22%7D%2Eglyphicon%2Dth%2Dlist%3Abefore%7Bcontent%3A%22%5Ce012%22%7D%2Eglyphicon%2Dok%3Abefore%7Bcontent%3A%22%5Ce013%22%7D%2Eglyphicon%2Dremove%3Abefore%7Bcontent%3A%22%5Ce014%22%7D%2Eglyphicon%2Dzoom%2Din%3Abefore%7Bcontent%3A%22%5Ce015%22%7D%2Eglyphicon%2Dzoom%2Dout%3Abefore%7Bcontent%3A%22%5Ce016%22%7D%2Eglyphicon%2Doff%3Abefore%7Bcontent%3A%22%5Ce017%22%7D%2Eglyphicon%2Dsignal%3Abefore%7Bcontent%3A%22%5Ce018%22%7D%2Eglyphicon%2Dcog%3Abefore%7Bcontent%3A%22%5Ce019%22%7D%2Eglyphicon%2Dtrash%3Abefore%7Bcontent%3A%22%5Ce020%22%7D%2Eglyphicon%2Dhome%3Abefore%7Bcontent%3A%22%5Ce021%22%7D%2Eglyphicon%2Dfile%3Abefore%7Bcontent%3A%22%5Ce022%22%7D%2Eglyphicon%2Dtime%3Abefore%7Bcontent%3A%22%5Ce023%22%7D%2Eglyphicon%2Droad%3Abefore%7Bcontent%3A%22%5Ce024%22%7D%2Eglyphicon%2Ddownload%2Dalt%3Abefore%7Bcontent%3A%22%5Ce025%22%7D%2Eglyphicon%2Ddownload%3Abefore%7Bcontent%3A%22%5Ce026%22%7D%2Eglyphicon%2Dupload%3Abefore%7Bcontent%3A%22%5Ce027%22%7D%2Eglyphicon%2Dinbox%3Abefore%7Bcontent%3A%22%5Ce028%22%7D%2Eglyphicon%2Dplay%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce029%22%7D%2Eglyphicon%2Drepeat%3Abefore%7Bcontent%3A%22%5Ce030%22%7D%2Eglyphicon%2Drefresh%3Abefore%7Bcontent%3A%22%5Ce031%22%7D%2Eglyphicon%2Dlist%2Dalt%3Abefore%7Bcontent%3A%22%5Ce032%22%7D%2Eglyphicon%2Dlock%3Abefore%7Bcontent%3A%22%5Ce033%22%7D%2Eglyphicon%2Dflag%3Abefore%7Bcontent%3A%22%5Ce034%22%7D%2Eglyphicon%2Dheadphones%3Abefore%7Bcontent%3A%22%5Ce035%22%7D%2Eglyphicon%2Dvolume%2Doff%3Abefore%7Bcontent%3A%22%5Ce036%22%7D%2Eglyphicon%2Dvolume%2Ddown%3Abefore%7Bcontent%3A%22%5Ce037%22%7D%2Eglyphicon%2Dvolume%2Dup%3Abefore%7Bcontent%3A%22%5Ce038%22%7D%2Eglyphicon%2Dqrcode%3Abefore%7Bcontent%3A%22%5Ce039%22%7D%2Eglyphicon%2Dbarcode%3Abefore%7Bcontent%3A%22%5Ce040%22%7D%2Eglyphicon%2Dtag%3Abefore%7Bcontent%3A%22%5Ce041%22%7D%2Eglyphicon%2Dtags%3Abefore%7Bcontent%3A%22%5Ce042%22%7D%2Eglyphicon%2Dbook%3Abefore%7Bcontent%3A%22%5Ce043%22%7D%2Eglyphicon%2Dbookmark%3Abefore%7Bcontent%3A%22%5Ce044%22%7D%2Eglyphicon%2Dprint%3Abefore%7Bcontent%3A%22%5Ce045%22%7D%2Eglyphicon%2Dcamera%3Abefore%7Bcontent%3A%22%5Ce046%22%7D%2Eglyphicon%2Dfont%3Abefore%7Bcontent%3A%22%5Ce047%22%7D%2Eglyphicon%2Dbold%3Abefore%7Bcontent%3A%22%5Ce048%22%7D%2Eglyphicon%2Ditalic%3Abefore%7Bcontent%3A%22%5Ce049%22%7D%2Eglyphicon%2Dtext%2Dheight%3Abefore%7Bcontent%3A%22%5Ce050%22%7D%2Eglyphicon%2Dtext%2Dwidth%3Abefore%7Bcontent%3A%22%5Ce051%22%7D%2Eglyphicon%2Dalign%2Dleft%3Abefore%7Bcontent%3A%22%5Ce052%22%7D%2Eglyphicon%2Dalign%2Dcenter%3Abefore%7Bcontent%3A%22%5Ce053%22%7D%2Eglyphicon%2Dalign%2Dright%3Abefore%7Bcontent%3A%22%5Ce054%22%7D%2Eglyphicon%2Dalign%2Djustify%3Abefore%7Bcontent%3A%22%5Ce055%22%7D%2Eglyphicon%2Dlist%3Abefore%7Bcontent%3A%22%5Ce056%22%7D%2Eglyphicon%2Dindent%2Dleft%3Abefore%7Bcontent%3A%22%5Ce057%22%7D%2Eglyphicon%2Dindent%2Dright%3Abefore%7Bcontent%3A%22%5Ce058%22%7D%2Eglyphicon%2Dfacetime%2Dvideo%3Abefore%7Bcontent%3A%22%5Ce059%22%7D%2Eglyphicon%2Dpicture%3Abefore%7Bcontent%3A%22%5Ce060%22%7D%2Eglyphicon%2Dmap%2Dmarker%3Abefore%7Bcontent%3A%22%5Ce062%22%7D%2Eglyphicon%2Dadjust%3Abefore%7Bcontent%3A%22%5Ce063%22%7D%2Eglyphicon%2Dtint%3Abefore%7Bcontent%3A%22%5Ce064%22%7D%2Eglyphicon%2Dedit%3Abefore%7Bcontent%3A%22%5Ce065%22%7D%2Eglyphicon%2Dshare%3Abefore%7Bcontent%3A%22%5Ce066%22%7D%2Eglyphicon%2Dcheck%3Abefore%7Bcontent%3A%22%5Ce067%22%7D%2Eglyphicon%2Dmove%3Abefore%7Bcontent%3A%22%5Ce068%22%7D%2Eglyphicon%2Dstep%2Dbackward%3Abefore%7Bcontent%3A%22%5Ce069%22%7D%2Eglyphicon%2Dfast%2Dbackward%3Abefore%7Bcontent%3A%22%5Ce070%22%7D%2Eglyphicon%2Dbackward%3Abefore%7Bcontent%3A%22%5Ce071%22%7D%2Eglyphicon%2Dplay%3Abefore%7Bcontent%3A%22%5Ce072%22%7D%2Eglyphicon%2Dpause%3Abefore%7Bcontent%3A%22%5Ce073%22%7D%2Eglyphicon%2Dstop%3Abefore%7Bcontent%3A%22%5Ce074%22%7D%2Eglyphicon%2Dforward%3Abefore%7Bcontent%3A%22%5Ce075%22%7D%2Eglyphicon%2Dfast%2Dforward%3Abefore%7Bcontent%3A%22%5Ce076%22%7D%2Eglyphicon%2Dstep%2Dforward%3Abefore%7Bcontent%3A%22%5Ce077%22%7D%2Eglyphicon%2Deject%3Abefore%7Bcontent%3A%22%5Ce078%22%7D%2Eglyphicon%2Dchevron%2Dleft%3Abefore%7Bcontent%3A%22%5Ce079%22%7D%2Eglyphicon%2Dchevron%2Dright%3Abefore%7Bcontent%3A%22%5Ce080%22%7D%2Eglyphicon%2Dplus%2Dsign%3Abefore%7Bcontent%3A%22%5Ce081%22%7D%2Eglyphicon%2Dminus%2Dsign%3Abefore%7Bcontent%3A%22%5Ce082%22%7D%2Eglyphicon%2Dremove%2Dsign%3Abefore%7Bcontent%3A%22%5Ce083%22%7D%2Eglyphicon%2Dok%2Dsign%3Abefore%7Bcontent%3A%22%5Ce084%22%7D%2Eglyphicon%2Dquestion%2Dsign%3Abefore%7Bcontent%3A%22%5Ce085%22%7D%2Eglyphicon%2Dinfo%2Dsign%3Abefore%7Bcontent%3A%22%5Ce086%22%7D%2Eglyphicon%2Dscreenshot%3Abefore%7Bcontent%3A%22%5Ce087%22%7D%2Eglyphicon%2Dremove%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce088%22%7D%2Eglyphicon%2Dok%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce089%22%7D%2Eglyphicon%2Dban%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce090%22%7D%2Eglyphicon%2Darrow%2Dleft%3Abefore%7Bcontent%3A%22%5Ce091%22%7D%2Eglyphicon%2Darrow%2Dright%3Abefore%7Bcontent%3A%22%5Ce092%22%7D%2Eglyphicon%2Darrow%2Dup%3Abefore%7Bcontent%3A%22%5Ce093%22%7D%2Eglyphicon%2Darrow%2Ddown%3Abefore%7Bcontent%3A%22%5Ce094%22%7D%2Eglyphicon%2Dshare%2Dalt%3Abefore%7Bcontent%3A%22%5Ce095%22%7D%2Eglyphicon%2Dresize%2Dfull%3Abefore%7Bcontent%3A%22%5Ce096%22%7D%2Eglyphicon%2Dresize%2Dsmall%3Abefore%7Bcontent%3A%22%5Ce097%22%7D%2Eglyphicon%2Dexclamation%2Dsign%3Abefore%7Bcontent%3A%22%5Ce101%22%7D%2Eglyphicon%2Dgift%3Abefore%7Bcontent%3A%22%5Ce102%22%7D%2Eglyphicon%2Dleaf%3Abefore%7Bcontent%3A%22%5Ce103%22%7D%2Eglyphicon%2Dfire%3Abefore%7Bcontent%3A%22%5Ce104%22%7D%2Eglyphicon%2Deye%2Dopen%3Abefore%7Bcontent%3A%22%5Ce105%22%7D%2Eglyphicon%2Deye%2Dclose%3Abefore%7Bcontent%3A%22%5Ce106%22%7D%2Eglyphicon%2Dwarning%2Dsign%3Abefore%7Bcontent%3A%22%5Ce107%22%7D%2Eglyphicon%2Dplane%3Abefore%7Bcontent%3A%22%5Ce108%22%7D%2Eglyphicon%2Dcalendar%3Abefore%7Bcontent%3A%22%5Ce109%22%7D%2Eglyphicon%2Drandom%3Abefore%7Bcontent%3A%22%5Ce110%22%7D%2Eglyphicon%2Dcomment%3Abefore%7Bcontent%3A%22%5Ce111%22%7D%2Eglyphicon%2Dmagnet%3Abefore%7Bcontent%3A%22%5Ce112%22%7D%2Eglyphicon%2Dchevron%2Dup%3Abefore%7Bcontent%3A%22%5Ce113%22%7D%2Eglyphicon%2Dchevron%2Ddown%3Abefore%7Bcontent%3A%22%5Ce114%22%7D%2Eglyphicon%2Dretweet%3Abefore%7Bcontent%3A%22%5Ce115%22%7D%2Eglyphicon%2Dshopping%2Dcart%3Abefore%7Bcontent%3A%22%5Ce116%22%7D%2Eglyphicon%2Dfolder%2Dclose%3Abefore%7Bcontent%3A%22%5Ce117%22%7D%2Eglyphicon%2Dfolder%2Dopen%3Abefore%7Bcontent%3A%22%5Ce118%22%7D%2Eglyphicon%2Dresize%2Dvertical%3Abefore%7Bcontent%3A%22%5Ce119%22%7D%2Eglyphicon%2Dresize%2Dhorizontal%3Abefore%7Bcontent%3A%22%5Ce120%22%7D%2Eglyphicon%2Dhdd%3Abefore%7Bcontent%3A%22%5Ce121%22%7D%2Eglyphicon%2Dbullhorn%3Abefore%7Bcontent%3A%22%5Ce122%22%7D%2Eglyphicon%2Dbell%3Abefore%7Bcontent%3A%22%5Ce123%22%7D%2Eglyphicon%2Dcertificate%3Abefore%7Bcontent%3A%22%5Ce124%22%7D%2Eglyphicon%2Dthumbs%2Dup%3Abefore%7Bcontent%3A%22%5Ce125%22%7D%2Eglyphicon%2Dthumbs%2Ddown%3Abefore%7Bcontent%3A%22%5Ce126%22%7D%2Eglyphicon%2Dhand%2Dright%3Abefore%7Bcontent%3A%22%5Ce127%22%7D%2Eglyphicon%2Dhand%2Dleft%3Abefore%7Bcontent%3A%22%5Ce128%22%7D%2Eglyphicon%2Dhand%2Dup%3Abefore%7Bcontent%3A%22%5Ce129%22%7D%2Eglyphicon%2Dhand%2Ddown%3Abefore%7Bcontent%3A%22%5Ce130%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Dright%3Abefore%7Bcontent%3A%22%5Ce131%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Dleft%3Abefore%7Bcontent%3A%22%5Ce132%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Dup%3Abefore%7Bcontent%3A%22%5Ce133%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Ddown%3Abefore%7Bcontent%3A%22%5Ce134%22%7D%2Eglyphicon%2Dglobe%3Abefore%7Bcontent%3A%22%5Ce135%22%7D%2Eglyphicon%2Dwrench%3Abefore%7Bcontent%3A%22%5Ce136%22%7D%2Eglyphicon%2Dtasks%3Abefore%7Bcontent%3A%22%5Ce137%22%7D%2Eglyphicon%2Dfilter%3Abefore%7Bcontent%3A%22%5Ce138%22%7D%2Eglyphicon%2Dbriefcase%3Abefore%7Bcontent%3A%22%5Ce139%22%7D%2Eglyphicon%2Dfullscreen%3Abefore%7Bcontent%3A%22%5Ce140%22%7D%2Eglyphicon%2Ddashboard%3Abefore%7Bcontent%3A%22%5Ce141%22%7D%2Eglyphicon%2Dpaperclip%3Abefore%7Bcontent%3A%22%5Ce142%22%7D%2Eglyphicon%2Dheart%2Dempty%3Abefore%7Bcontent%3A%22%5Ce143%22%7D%2Eglyphicon%2Dlink%3Abefore%7Bcontent%3A%22%5Ce144%22%7D%2Eglyphicon%2Dphone%3Abefore%7Bcontent%3A%22%5Ce145%22%7D%2Eglyphicon%2Dpushpin%3Abefore%7Bcontent%3A%22%5Ce146%22%7D%2Eglyphicon%2Dusd%3Abefore%7Bcontent%3A%22%5Ce148%22%7D%2Eglyphicon%2Dgbp%3Abefore%7Bcontent%3A%22%5Ce149%22%7D%2Eglyphicon%2Dsort%3Abefore%7Bcontent%3A%22%5Ce150%22%7D%2Eglyphicon%2Dsort%2Dby%2Dalphabet%3Abefore%7Bcontent%3A%22%5Ce151%22%7D%2Eglyphicon%2Dsort%2Dby%2Dalphabet%2Dalt%3Abefore%7Bcontent%3A%22%5Ce152%22%7D%2Eglyphicon%2Dsort%2Dby%2Dorder%3Abefore%7Bcontent%3A%22%5Ce153%22%7D%2Eglyphicon%2Dsort%2Dby%2Dorder%2Dalt%3Abefore%7Bcontent%3A%22%5Ce154%22%7D%2Eglyphicon%2Dsort%2Dby%2Dattributes%3Abefore%7Bcontent%3A%22%5Ce155%22%7D%2Eglyphicon%2Dsort%2Dby%2Dattributes%2Dalt%3Abefore%7Bcontent%3A%22%5Ce156%22%7D%2Eglyphicon%2Dunchecked%3Abefore%7Bcontent%3A%22%5Ce157%22%7D%2Eglyphicon%2Dexpand%3Abefore%7Bcontent%3A%22%5Ce158%22%7D%2Eglyphicon%2Dcollapse%2Ddown%3Abefore%7Bcontent%3A%22%5Ce159%22%7D%2Eglyphicon%2Dcollapse%2Dup%3Abefore%7Bcontent%3A%22%5Ce160%22%7D%2Eglyphicon%2Dlog%2Din%3Abefore%7Bcontent%3A%22%5Ce161%22%7D%2Eglyphicon%2Dflash%3Abefore%7Bcontent%3A%22%5Ce162%22%7D%2Eglyphicon%2Dlog%2Dout%3Abefore%7Bcontent%3A%22%5Ce163%22%7D%2Eglyphicon%2Dnew%2Dwindow%3Abefore%7Bcontent%3A%22%5Ce164%22%7D%2Eglyphicon%2Drecord%3Abefore%7Bcontent%3A%22%5Ce165%22%7D%2Eglyphicon%2Dsave%3Abefore%7Bcontent%3A%22%5Ce166%22%7D%2Eglyphicon%2Dopen%3Abefore%7Bcontent%3A%22%5Ce167%22%7D%2Eglyphicon%2Dsaved%3Abefore%7Bcontent%3A%22%5Ce168%22%7D%2Eglyphicon%2Dimport%3Abefore%7Bcontent%3A%22%5Ce169%22%7D%2Eglyphicon%2Dexport%3Abefore%7Bcontent%3A%22%5Ce170%22%7D%2Eglyphicon%2Dsend%3Abefore%7Bcontent%3A%22%5Ce171%22%7D%2Eglyphicon%2Dfloppy%2Ddisk%3Abefore%7Bcontent%3A%22%5Ce172%22%7D%2Eglyphicon%2Dfloppy%2Dsaved%3Abefore%7Bcontent%3A%22%5Ce173%22%7D%2Eglyphicon%2Dfloppy%2Dremove%3Abefore%7Bcontent%3A%22%5Ce174%22%7D%2Eglyphicon%2Dfloppy%2Dsave%3Abefore%7Bcontent%3A%22%5Ce175%22%7D%2Eglyphicon%2Dfloppy%2Dopen%3Abefore%7Bcontent%3A%22%5Ce176%22%7D%2Eglyphicon%2Dcredit%2Dcard%3Abefore%7Bcontent%3A%22%5Ce177%22%7D%2Eglyphicon%2Dtransfer%3Abefore%7Bcontent%3A%22%5Ce178%22%7D%2Eglyphicon%2Dcutlery%3Abefore%7Bcontent%3A%22%5Ce179%22%7D%2Eglyphicon%2Dheader%3Abefore%7Bcontent%3A%22%5Ce180%22%7D%2Eglyphicon%2Dcompressed%3Abefore%7Bcontent%3A%22%5Ce181%22%7D%2Eglyphicon%2Dearphone%3Abefore%7Bcontent%3A%22%5Ce182%22%7D%2Eglyphicon%2Dphone%2Dalt%3Abefore%7Bcontent%3A%22%5Ce183%22%7D%2Eglyphicon%2Dtower%3Abefore%7Bcontent%3A%22%5Ce184%22%7D%2Eglyphicon%2Dstats%3Abefore%7Bcontent%3A%22%5Ce185%22%7D%2Eglyphicon%2Dsd%2Dvideo%3Abefore%7Bcontent%3A%22%5Ce186%22%7D%2Eglyphicon%2Dhd%2Dvideo%3Abefore%7Bcontent%3A%22%5Ce187%22%7D%2Eglyphicon%2Dsubtitles%3Abefore%7Bcontent%3A%22%5Ce188%22%7D%2Eglyphicon%2Dsound%2Dstereo%3Abefore%7Bcontent%3A%22%5Ce189%22%7D%2Eglyphicon%2Dsound%2Ddolby%3Abefore%7Bcontent%3A%22%5Ce190%22%7D%2Eglyphicon%2Dsound%2D5%2D1%3Abefore%7Bcontent%3A%22%5Ce191%22%7D%2Eglyphicon%2Dsound%2D6%2D1%3Abefore%7Bcontent%3A%22%5Ce192%22%7D%2Eglyphicon%2Dsound%2D7%2D1%3Abefore%7Bcontent%3A%22%5Ce193%22%7D%2Eglyphicon%2Dcopyright%2Dmark%3Abefore%7Bcontent%3A%22%5Ce194%22%7D%2Eglyphicon%2Dregistration%2Dmark%3Abefore%7Bcontent%3A%22%5Ce195%22%7D%2Eglyphicon%2Dcloud%2Ddownload%3Abefore%7Bcontent%3A%22%5Ce197%22%7D%2Eglyphicon%2Dcloud%2Dupload%3Abefore%7Bcontent%3A%22%5Ce198%22%7D%2Eglyphicon%2Dtree%2Dconifer%3Abefore%7Bcontent%3A%22%5Ce199%22%7D%2Eglyphicon%2Dtree%2Ddeciduous%3Abefore%7Bcontent%3A%22%5Ce200%22%7D%2Eglyphicon%2Dcd%3Abefore%7Bcontent%3A%22%5Ce201%22%7D%2Eglyphicon%2Dsave%2Dfile%3Abefore%7Bcontent%3A%22%5Ce202%22%7D%2Eglyphicon%2Dopen%2Dfile%3Abefore%7Bcontent%3A%22%5Ce203%22%7D%2Eglyphicon%2Dlevel%2Dup%3Abefore%7Bcontent%3A%22%5Ce204%22%7D%2Eglyphicon%2Dcopy%3Abefore%7Bcontent%3A%22%5Ce205%22%7D%2Eglyphicon%2Dpaste%3Abefore%7Bcontent%3A%22%5Ce206%22%7D%2Eglyphicon%2Dalert%3Abefore%7Bcontent%3A%22%5Ce209%22%7D%2Eglyphicon%2Dequalizer%3Abefore%7Bcontent%3A%22%5Ce210%22%7D%2Eglyphicon%2Dking%3Abefore%7Bcontent%3A%22%5Ce211%22%7D%2Eglyphicon%2Dqueen%3Abefore%7Bcontent%3A%22%5Ce212%22%7D%2Eglyphicon%2Dpawn%3Abefore%7Bcontent%3A%22%5Ce213%22%7D%2Eglyphicon%2Dbishop%3Abefore%7Bcontent%3A%22%5Ce214%22%7D%2Eglyphicon%2Dknight%3Abefore%7Bcontent%3A%22%5Ce215%22%7D%2Eglyphicon%2Dbaby%2Dformula%3Abefore%7Bcontent%3A%22%5Ce216%22%7D%2Eglyphicon%2Dtent%3Abefore%7Bcontent%3A%22%5C26fa%22%7D%2Eglyphicon%2Dblackboard%3Abefore%7Bcontent%3A%22%5Ce218%22%7D%2Eglyphicon%2Dbed%3Abefore%7Bcontent%3A%22%5Ce219%22%7D%2Eglyphicon%2Dapple%3Abefore%7Bcontent%3A%22%5Cf8ff%22%7D%2Eglyphicon%2Derase%3Abefore%7Bcontent%3A%22%5Ce221%22%7D%2Eglyphicon%2Dhourglass%3Abefore%7Bcontent%3A%22%5C231b%22%7D%2Eglyphicon%2Dlamp%3Abefore%7Bcontent%3A%22%5Ce223%22%7D%2Eglyphicon%2Dduplicate%3Abefore%7Bcontent%3A%22%5Ce224%22%7D%2Eglyphicon%2Dpiggy%2Dbank%3Abefore%7Bcontent%3A%22%5Ce225%22%7D%2Eglyphicon%2Dscissors%3Abefore%7Bcontent%3A%22%5Ce226%22%7D%2Eglyphicon%2Dbitcoin%3Abefore%7Bcontent%3A%22%5Ce227%22%7D%2Eglyphicon%2Dbtc%3Abefore%7Bcontent%3A%22%5Ce227%22%7D%2Eglyphicon%2Dxbt%3Abefore%7Bcontent%3A%22%5Ce227%22%7D%2Eglyphicon%2Dyen%3Abefore%7Bcontent%3A%22%5C00a5%22%7D%2Eglyphicon%2Djpy%3Abefore%7Bcontent%3A%22%5C00a5%22%7D%2Eglyphicon%2Druble%3Abefore%7Bcontent%3A%22%5C20bd%22%7D%2Eglyphicon%2Drub%3Abefore%7Bcontent%3A%22%5C20bd%22%7D%2Eglyphicon%2Dscale%3Abefore%7Bcontent%3A%22%5Ce230%22%7D%2Eglyphicon%2Dice%2Dlolly%3Abefore%7Bcontent%3A%22%5Ce231%22%7D%2Eglyphicon%2Dice%2Dlolly%2Dtasted%3Abefore%7Bcontent%3A%22%5Ce232%22%7D%2Eglyphicon%2Deducation%3Abefore%7Bcontent%3A%22%5Ce233%22%7D%2Eglyphicon%2Doption%2Dhorizontal%3Abefore%7Bcontent%3A%22%5Ce234%22%7D%2Eglyphicon%2Doption%2Dvertical%3Abefore%7Bcontent%3A%22%5Ce235%22%7D%2Eglyphicon%2Dmenu%2Dhamburger%3Abefore%7Bcontent%3A%22%5Ce236%22%7D%2Eglyphicon%2Dmodal%2Dwindow%3Abefore%7Bcontent%3A%22%5Ce237%22%7D%2Eglyphicon%2Doil%3Abefore%7Bcontent%3A%22%5Ce238%22%7D%2Eglyphicon%2Dgrain%3Abefore%7Bcontent%3A%22%5Ce239%22%7D%2Eglyphicon%2Dsunglasses%3Abefore%7Bcontent%3A%22%5Ce240%22%7D%2Eglyphicon%2Dtext%2Dsize%3Abefore%7Bcontent%3A%22%5Ce241%22%7D%2Eglyphicon%2Dtext%2Dcolor%3Abefore%7Bcontent%3A%22%5Ce242%22%7D%2Eglyphicon%2Dtext%2Dbackground%3Abefore%7Bcontent%3A%22%5Ce243%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dtop%3Abefore%7Bcontent%3A%22%5Ce244%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dbottom%3Abefore%7Bcontent%3A%22%5Ce245%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dhorizontal%3Abefore%7Bcontent%3A%22%5Ce246%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dleft%3Abefore%7Bcontent%3A%22%5Ce247%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dvertical%3Abefore%7Bcontent%3A%22%5Ce248%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dright%3Abefore%7Bcontent%3A%22%5Ce249%22%7D%2Eglyphicon%2Dtriangle%2Dright%3Abefore%7Bcontent%3A%22%5Ce250%22%7D%2Eglyphicon%2Dtriangle%2Dleft%3Abefore%7Bcontent%3A%22%5Ce251%22%7D%2Eglyphicon%2Dtriangle%2Dbottom%3Abefore%7Bcontent%3A%22%5Ce252%22%7D%2Eglyphicon%2Dtriangle%2Dtop%3Abefore%7Bcontent%3A%22%5Ce253%22%7D%2Eglyphicon%2Dconsole%3Abefore%7Bcontent%3A%22%5Ce254%22%7D%2Eglyphicon%2Dsuperscript%3Abefore%7Bcontent%3A%22%5Ce255%22%7D%2Eglyphicon%2Dsubscript%3Abefore%7Bcontent%3A%22%5Ce256%22%7D%2Eglyphicon%2Dmenu%2Dleft%3Abefore%7Bcontent%3A%22%5Ce257%22%7D%2Eglyphicon%2Dmenu%2Dright%3Abefore%7Bcontent%3A%22%5Ce258%22%7D%2Eglyphicon%2Dmenu%2Ddown%3Abefore%7Bcontent%3A%22%5Ce259%22%7D%2Eglyphicon%2Dmenu%2Dup%3Abefore%7Bcontent%3A%22%5Ce260%22%7D%2A%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%7D%3Aafter%2C%3Abefore%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%7Dhtml%7Bfont%2Dsize%3A10px%3B%2Dwebkit%2Dtap%2Dhighlight%2Dcolor%3Argba%280%2C0%2C0%2C0%29%7Dbody%7Bfont%2Dfamily%3A%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans%2Dserif%3Bfont%2Dsize%3A14px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23fff%7Dbutton%2Cinput%2Cselect%2Ctextarea%7Bfont%2Dfamily%3Ainherit%3Bfont%2Dsize%3Ainherit%3Bline%2Dheight%3Ainherit%7Da%7Bcolor%3A%23337ab7%3Btext%2Ddecoration%3Anone%7Da%3Afocus%2Ca%3Ahover%7Bcolor%3A%2323527c%3Btext%2Ddecoration%3Aunderline%7Da%3Afocus%7Boutline%3Athin%20dotted%3Boutline%3A5px%20auto%20%2Dwebkit%2Dfocus%2Dring%2Dcolor%3Boutline%2Doffset%3A%2D2px%7Dfigure%7Bmargin%3A0%7Dimg%7Bvertical%2Dalign%3Amiddle%7D%2Ecarousel%2Dinner%3E%2Eitem%3Ea%3Eimg%2C%2Ecarousel%2Dinner%3E%2Eitem%3Eimg%2C%2Eimg%2Dresponsive%2C%2Ethumbnail%20a%3Eimg%2C%2Ethumbnail%3Eimg%7Bdisplay%3Ablock%3Bmax%2Dwidth%3A100%25%3Bheight%3Aauto%7D%2Eimg%2Drounded%7Bborder%2Dradius%3A6px%7D%2Eimg%2Dthumbnail%7Bdisplay%3Ainline%2Dblock%3Bmax%2Dwidth%3A100%25%3Bheight%3Aauto%3Bpadding%3A4px%3Bline%2Dheight%3A1%2E42857143%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dtransition%3Aall%20%2E2s%20ease%2Din%2Dout%3B%2Do%2Dtransition%3Aall%20%2E2s%20ease%2Din%2Dout%3Btransition%3Aall%20%2E2s%20ease%2Din%2Dout%7D%2Eimg%2Dcircle%7Bborder%2Dradius%3A50%25%7Dhr%7Bmargin%2Dtop%3A20px%3Bmargin%2Dbottom%3A20px%3Bborder%3A0%3Bborder%2Dtop%3A1px%20solid%20%23eee%7D%2Esr%2Donly%7Bposition%3Aabsolute%3Bwidth%3A1px%3Bheight%3A1px%3Bpadding%3A0%3Bmargin%3A%2D1px%3Boverflow%3Ahidden%3Bclip%3Arect%280%2C0%2C0%2C0%29%3Bborder%3A0%7D%2Esr%2Donly%2Dfocusable%3Aactive%2C%2Esr%2Donly%2Dfocusable%3Afocus%7Bposition%3Astatic%3Bwidth%3Aauto%3Bheight%3Aauto%3Bmargin%3A0%3Boverflow%3Avisible%3Bclip%3Aauto%7D%5Brole%3Dbutton%5D%7Bcursor%3Apointer%7D%2Eh1%2C%2Eh2%2C%2Eh3%2C%2Eh4%2C%2Eh5%2C%2Eh6%2Ch1%2Ch2%2Ch3%2Ch4%2Ch5%2Ch6%7Bfont%2Dfamily%3Ainherit%3Bfont%2Dweight%3A500%3Bline%2Dheight%3A1%2E1%3Bcolor%3Ainherit%7D%2Eh1%20%2Esmall%2C%2Eh1%20small%2C%2Eh2%20%2Esmall%2C%2Eh2%20small%2C%2Eh3%20%2Esmall%2C%2Eh3%20small%2C%2Eh4%20%2Esmall%2C%2Eh4%20small%2C%2Eh5%20%2Esmall%2C%2Eh5%20small%2C%2Eh6%20%2Esmall%2C%2Eh6%20small%2Ch1%20%2Esmall%2Ch1%20small%2Ch2%20%2Esmall%2Ch2%20small%2Ch3%20%2Esmall%2Ch3%20small%2Ch4%20%2Esmall%2Ch4%20small%2Ch5%20%2Esmall%2Ch5%20small%2Ch6%20%2Esmall%2Ch6%20small%7Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%3Bcolor%3A%23777%7D%2Eh1%2C%2Eh2%2C%2Eh3%2Ch1%2Ch2%2Ch3%7Bmargin%2Dtop%3A20px%3Bmargin%2Dbottom%3A10px%7D%2Eh1%20%2Esmall%2C%2Eh1%20small%2C%2Eh2%20%2Esmall%2C%2Eh2%20small%2C%2Eh3%20%2Esmall%2C%2Eh3%20small%2Ch1%20%2Esmall%2Ch1%20small%2Ch2%20%2Esmall%2Ch2%20small%2Ch3%20%2Esmall%2Ch3%20small%7Bfont%2Dsize%3A65%25%7D%2Eh4%2C%2Eh5%2C%2Eh6%2Ch4%2Ch5%2Ch6%7Bmargin%2Dtop%3A10px%3Bmargin%2Dbottom%3A10px%7D%2Eh4%20%2Esmall%2C%2Eh4%20small%2C%2Eh5%20%2Esmall%2C%2Eh5%20small%2C%2Eh6%20%2Esmall%2C%2Eh6%20small%2Ch4%20%2Esmall%2Ch4%20small%2Ch5%20%2Esmall%2Ch5%20small%2Ch6%20%2Esmall%2Ch6%20small%7Bfont%2Dsize%3A75%25%7D%2Eh1%2Ch1%7Bfont%2Dsize%3A36px%7D%2Eh2%2Ch2%7Bfont%2Dsize%3A30px%7D%2Eh3%2Ch3%7Bfont%2Dsize%3A24px%7D%2Eh4%2Ch4%7Bfont%2Dsize%3A18px%7D%2Eh5%2Ch5%7Bfont%2Dsize%3A14px%7D%2Eh6%2Ch6%7Bfont%2Dsize%3A12px%7Dp%7Bmargin%3A0%200%2010px%7D%2Elead%7Bmargin%2Dbottom%3A20px%3Bfont%2Dsize%3A16px%3Bfont%2Dweight%3A300%3Bline%2Dheight%3A1%2E4%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Elead%7Bfont%2Dsize%3A21px%7D%7D%2Esmall%2Csmall%7Bfont%2Dsize%3A85%25%7D%2Emark%2Cmark%7Bpadding%3A%2E2em%3Bbackground%2Dcolor%3A%23fcf8e3%7D%2Etext%2Dleft%7Btext%2Dalign%3Aleft%7D%2Etext%2Dright%7Btext%2Dalign%3Aright%7D%2Etext%2Dcenter%7Btext%2Dalign%3Acenter%7D%2Etext%2Djustify%7Btext%2Dalign%3Ajustify%7D%2Etext%2Dnowrap%7Bwhite%2Dspace%3Anowrap%7D%2Etext%2Dlowercase%7Btext%2Dtransform%3Alowercase%7D%2Etext%2Duppercase%7Btext%2Dtransform%3Auppercase%7D%2Etext%2Dcapitalize%7Btext%2Dtransform%3Acapitalize%7D%2Etext%2Dmuted%7Bcolor%3A%23777%7D%2Etext%2Dprimary%7Bcolor%3A%23337ab7%7Da%2Etext%2Dprimary%3Afocus%2Ca%2Etext%2Dprimary%3Ahover%7Bcolor%3A%23286090%7D%2Etext%2Dsuccess%7Bcolor%3A%233c763d%7Da%2Etext%2Dsuccess%3Afocus%2Ca%2Etext%2Dsuccess%3Ahover%7Bcolor%3A%232b542c%7D%2Etext%2Dinfo%7Bcolor%3A%2331708f%7Da%2Etext%2Dinfo%3Afocus%2Ca%2Etext%2Dinfo%3Ahover%7Bcolor%3A%23245269%7D%2Etext%2Dwarning%7Bcolor%3A%238a6d3b%7Da%2Etext%2Dwarning%3Afocus%2Ca%2Etext%2Dwarning%3Ahover%7Bcolor%3A%2366512c%7D%2Etext%2Ddanger%7Bcolor%3A%23a94442%7Da%2Etext%2Ddanger%3Afocus%2Ca%2Etext%2Ddanger%3Ahover%7Bcolor%3A%23843534%7D%2Ebg%2Dprimary%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%7Da%2Ebg%2Dprimary%3Afocus%2Ca%2Ebg%2Dprimary%3Ahover%7Bbackground%2Dcolor%3A%23286090%7D%2Ebg%2Dsuccess%7Bbackground%2Dcolor%3A%23dff0d8%7Da%2Ebg%2Dsuccess%3Afocus%2Ca%2Ebg%2Dsuccess%3Ahover%7Bbackground%2Dcolor%3A%23c1e2b3%7D%2Ebg%2Dinfo%7Bbackground%2Dcolor%3A%23d9edf7%7Da%2Ebg%2Dinfo%3Afocus%2Ca%2Ebg%2Dinfo%3Ahover%7Bbackground%2Dcolor%3A%23afd9ee%7D%2Ebg%2Dwarning%7Bbackground%2Dcolor%3A%23fcf8e3%7Da%2Ebg%2Dwarning%3Afocus%2Ca%2Ebg%2Dwarning%3Ahover%7Bbackground%2Dcolor%3A%23f7ecb5%7D%2Ebg%2Ddanger%7Bbackground%2Dcolor%3A%23f2dede%7Da%2Ebg%2Ddanger%3Afocus%2Ca%2Ebg%2Ddanger%3Ahover%7Bbackground%2Dcolor%3A%23e4b9b9%7D%2Epage%2Dheader%7Bpadding%2Dbottom%3A9px%3Bmargin%3A40px%200%2020px%3Bborder%2Dbottom%3A1px%20solid%20%23eee%7Dol%2Cul%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A10px%7Dol%20ol%2Col%20ul%2Cul%20ol%2Cul%20ul%7Bmargin%2Dbottom%3A0%7D%2Elist%2Dunstyled%7Bpadding%2Dleft%3A0%3Blist%2Dstyle%3Anone%7D%2Elist%2Dinline%7Bpadding%2Dleft%3A0%3Bmargin%2Dleft%3A%2D5px%3Blist%2Dstyle%3Anone%7D%2Elist%2Dinline%3Eli%7Bdisplay%3Ainline%2Dblock%3Bpadding%2Dright%3A5px%3Bpadding%2Dleft%3A5px%7Ddl%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A20px%7Ddd%2Cdt%7Bline%2Dheight%3A1%2E42857143%7Ddt%7Bfont%2Dweight%3A700%7Ddd%7Bmargin%2Dleft%3A0%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Edl%2Dhorizontal%20dt%7Bfloat%3Aleft%3Bwidth%3A160px%3Boverflow%3Ahidden%3Bclear%3Aleft%3Btext%2Dalign%3Aright%3Btext%2Doverflow%3Aellipsis%3Bwhite%2Dspace%3Anowrap%7D%2Edl%2Dhorizontal%20dd%7Bmargin%2Dleft%3A180px%7D%7Dabbr%5Bdata%2Doriginal%2Dtitle%5D%2Cabbr%5Btitle%5D%7Bcursor%3Ahelp%3Bborder%2Dbottom%3A1px%20dotted%20%23777%7D%2Einitialism%7Bfont%2Dsize%3A90%25%3Btext%2Dtransform%3Auppercase%7Dblockquote%7Bpadding%3A10px%2020px%3Bmargin%3A0%200%2020px%3Bfont%2Dsize%3A17%2E5px%3Bborder%2Dleft%3A5px%20solid%20%23eee%7Dblockquote%20ol%3Alast%2Dchild%2Cblockquote%20p%3Alast%2Dchild%2Cblockquote%20ul%3Alast%2Dchild%7Bmargin%2Dbottom%3A0%7Dblockquote%20%2Esmall%2Cblockquote%20footer%2Cblockquote%20small%7Bdisplay%3Ablock%3Bfont%2Dsize%3A80%25%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23777%7Dblockquote%20%2Esmall%3Abefore%2Cblockquote%20footer%3Abefore%2Cblockquote%20small%3Abefore%7Bcontent%3A%27%5C2014%20%5C00A0%27%7D%2Eblockquote%2Dreverse%2Cblockquote%2Epull%2Dright%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A0%3Btext%2Dalign%3Aright%3Bborder%2Dright%3A5px%20solid%20%23eee%3Bborder%2Dleft%3A0%7D%2Eblockquote%2Dreverse%20%2Esmall%3Abefore%2C%2Eblockquote%2Dreverse%20footer%3Abefore%2C%2Eblockquote%2Dreverse%20small%3Abefore%2Cblockquote%2Epull%2Dright%20%2Esmall%3Abefore%2Cblockquote%2Epull%2Dright%20footer%3Abefore%2Cblockquote%2Epull%2Dright%20small%3Abefore%7Bcontent%3A%27%27%7D%2Eblockquote%2Dreverse%20%2Esmall%3Aafter%2C%2Eblockquote%2Dreverse%20footer%3Aafter%2C%2Eblockquote%2Dreverse%20small%3Aafter%2Cblockquote%2Epull%2Dright%20%2Esmall%3Aafter%2Cblockquote%2Epull%2Dright%20footer%3Aafter%2Cblockquote%2Epull%2Dright%20small%3Aafter%7Bcontent%3A%27%5C00A0%20%5C2014%27%7Daddress%7Bmargin%2Dbottom%3A20px%3Bfont%2Dstyle%3Anormal%3Bline%2Dheight%3A1%2E42857143%7Dcode%2Ckbd%2Cpre%2Csamp%7Bfont%2Dfamily%3Amonospace%7Dcode%7Bpadding%3A2px%204px%3Bfont%2Dsize%3A90%25%3Bcolor%3A%23c7254e%3Bbackground%2Dcolor%3A%23f9f2f4%3Bborder%2Dradius%3A4px%7Dkbd%7Bpadding%3A2px%204px%3Bfont%2Dsize%3A90%25%3Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23333%3Bborder%2Dradius%3A3px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E25%29%3Bbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E25%29%7Dkbd%20kbd%7Bpadding%3A0%3Bfont%2Dsize%3A100%25%3Bfont%2Dweight%3A700%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7Dpre%7Bdisplay%3Ablock%3Bpadding%3A9%2E5px%3Bmargin%3A0%200%2010px%3Bfont%2Dsize%3A13px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23333%3Bword%2Dbreak%3Abreak%2Dall%3Bword%2Dwrap%3Abreak%2Dword%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%3A1px%20solid%20%23ccc%3Bborder%2Dradius%3A4px%7Dpre%20code%7Bpadding%3A0%3Bfont%2Dsize%3Ainherit%3Bcolor%3Ainherit%3Bwhite%2Dspace%3Apre%2Dwrap%3Bbackground%2Dcolor%3Atransparent%3Bborder%2Dradius%3A0%7D%2Epre%2Dscrollable%7Bmax%2Dheight%3A340px%3Boverflow%2Dy%3Ascroll%7D%2Econtainer%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%3Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Econtainer%7Bwidth%3A750px%7D%7D%40media%20%28min%2Dwidth%3A992px%29%7B%2Econtainer%7Bwidth%3A970px%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Econtainer%7Bwidth%3A1170px%7D%7D%2Econtainer%2Dfluid%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%3Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7D%2Erow%7Bmargin%2Dright%3A%2D15px%3Bmargin%2Dleft%3A%2D15px%7D%2Ecol%2Dlg%2D1%2C%2Ecol%2Dlg%2D10%2C%2Ecol%2Dlg%2D11%2C%2Ecol%2Dlg%2D12%2C%2Ecol%2Dlg%2D2%2C%2Ecol%2Dlg%2D3%2C%2Ecol%2Dlg%2D4%2C%2Ecol%2Dlg%2D5%2C%2Ecol%2Dlg%2D6%2C%2Ecol%2Dlg%2D7%2C%2Ecol%2Dlg%2D8%2C%2Ecol%2Dlg%2D9%2C%2Ecol%2Dmd%2D1%2C%2Ecol%2Dmd%2D10%2C%2Ecol%2Dmd%2D11%2C%2Ecol%2Dmd%2D12%2C%2Ecol%2Dmd%2D2%2C%2Ecol%2Dmd%2D3%2C%2Ecol%2Dmd%2D4%2C%2Ecol%2Dmd%2D5%2C%2Ecol%2Dmd%2D6%2C%2Ecol%2Dmd%2D7%2C%2Ecol%2Dmd%2D8%2C%2Ecol%2Dmd%2D9%2C%2Ecol%2Dsm%2D1%2C%2Ecol%2Dsm%2D10%2C%2Ecol%2Dsm%2D11%2C%2Ecol%2Dsm%2D12%2C%2Ecol%2Dsm%2D2%2C%2Ecol%2Dsm%2D3%2C%2Ecol%2Dsm%2D4%2C%2Ecol%2Dsm%2D5%2C%2Ecol%2Dsm%2D6%2C%2Ecol%2Dsm%2D7%2C%2Ecol%2Dsm%2D8%2C%2Ecol%2Dsm%2D9%2C%2Ecol%2Dxs%2D1%2C%2Ecol%2Dxs%2D10%2C%2Ecol%2Dxs%2D11%2C%2Ecol%2Dxs%2D12%2C%2Ecol%2Dxs%2D2%2C%2Ecol%2Dxs%2D3%2C%2Ecol%2Dxs%2D4%2C%2Ecol%2Dxs%2D5%2C%2Ecol%2Dxs%2D6%2C%2Ecol%2Dxs%2D7%2C%2Ecol%2Dxs%2D8%2C%2Ecol%2Dxs%2D9%7Bposition%3Arelative%3Bmin%2Dheight%3A1px%3Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%7D%2Ecol%2Dxs%2D1%2C%2Ecol%2Dxs%2D10%2C%2Ecol%2Dxs%2D11%2C%2Ecol%2Dxs%2D12%2C%2Ecol%2Dxs%2D2%2C%2Ecol%2Dxs%2D3%2C%2Ecol%2Dxs%2D4%2C%2Ecol%2Dxs%2D5%2C%2Ecol%2Dxs%2D6%2C%2Ecol%2Dxs%2D7%2C%2Ecol%2Dxs%2D8%2C%2Ecol%2Dxs%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dxs%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dxs%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dxs%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dxs%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dxs%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dxs%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dxs%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dxs%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dxs%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dxs%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dxs%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dxs%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dxs%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dxs%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dxs%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dxs%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dxs%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dxs%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dxs%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dxs%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dxs%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dxs%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dxs%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dxs%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dxs%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dxs%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Ecol%2Dsm%2D1%2C%2Ecol%2Dsm%2D10%2C%2Ecol%2Dsm%2D11%2C%2Ecol%2Dsm%2D12%2C%2Ecol%2Dsm%2D2%2C%2Ecol%2Dsm%2D3%2C%2Ecol%2Dsm%2D4%2C%2Ecol%2Dsm%2D5%2C%2Ecol%2Dsm%2D6%2C%2Ecol%2Dsm%2D7%2C%2Ecol%2Dsm%2D8%2C%2Ecol%2Dsm%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dsm%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dsm%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dsm%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dsm%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dsm%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dsm%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dsm%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dsm%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dsm%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dsm%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dsm%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dsm%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dsm%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dsm%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dsm%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dsm%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dsm%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dsm%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dsm%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dsm%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dsm%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dsm%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dsm%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dsm%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dsm%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dsm%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%7D%40media%20%28min%2Dwidth%3A992px%29%7B%2Ecol%2Dmd%2D1%2C%2Ecol%2Dmd%2D10%2C%2Ecol%2Dmd%2D11%2C%2Ecol%2Dmd%2D12%2C%2Ecol%2Dmd%2D2%2C%2Ecol%2Dmd%2D3%2C%2Ecol%2Dmd%2D4%2C%2Ecol%2Dmd%2D5%2C%2Ecol%2Dmd%2D6%2C%2Ecol%2Dmd%2D7%2C%2Ecol%2Dmd%2D8%2C%2Ecol%2Dmd%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dmd%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dmd%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dmd%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dmd%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dmd%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dmd%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dmd%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dmd%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dmd%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dmd%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dmd%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dmd%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dmd%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dmd%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dmd%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dmd%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dmd%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dmd%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dmd%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dmd%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dmd%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dmd%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dmd%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dmd%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dmd%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dmd%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Ecol%2Dlg%2D1%2C%2Ecol%2Dlg%2D10%2C%2Ecol%2Dlg%2D11%2C%2Ecol%2Dlg%2D12%2C%2Ecol%2Dlg%2D2%2C%2Ecol%2Dlg%2D3%2C%2Ecol%2Dlg%2D4%2C%2Ecol%2Dlg%2D5%2C%2Ecol%2Dlg%2D6%2C%2Ecol%2Dlg%2D7%2C%2Ecol%2Dlg%2D8%2C%2Ecol%2Dlg%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dlg%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dlg%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dlg%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dlg%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dlg%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dlg%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dlg%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dlg%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dlg%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dlg%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dlg%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dlg%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dlg%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dlg%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dlg%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dlg%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dlg%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dlg%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dlg%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dlg%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dlg%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dlg%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dlg%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dlg%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dlg%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dlg%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%7Dtable%7Bbackground%2Dcolor%3Atransparent%7Dcaption%7Bpadding%2Dtop%3A8px%3Bpadding%2Dbottom%3A8px%3Bcolor%3A%23777%3Btext%2Dalign%3Aleft%7Dth%7B%7D%2Etable%7Bwidth%3A100%25%3Bmax%2Dwidth%3A100%25%3Bmargin%2Dbottom%3A20px%7D%2Etable%3Etbody%3Etr%3Etd%2C%2Etable%3Etbody%3Etr%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2C%2Etable%3Etfoot%3Etr%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2C%2Etable%3Ethead%3Etr%3Eth%7Bpadding%3A8px%3Bline%2Dheight%3A1%2E42857143%3Bvertical%2Dalign%3Atop%3Bborder%2Dtop%3A1px%20solid%20%23ddd%7D%2Etable%3Ethead%3Etr%3Eth%7Bvertical%2Dalign%3Abottom%3Bborder%2Dbottom%3A2px%20solid%20%23ddd%7D%2Etable%3Ecaption%2Bthead%3Etr%3Afirst%2Dchild%3Etd%2C%2Etable%3Ecaption%2Bthead%3Etr%3Afirst%2Dchild%3Eth%2C%2Etable%3Ecolgroup%2Bthead%3Etr%3Afirst%2Dchild%3Etd%2C%2Etable%3Ecolgroup%2Bthead%3Etr%3Afirst%2Dchild%3Eth%2C%2Etable%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%3Etd%2C%2Etable%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%3Eth%7Bborder%2Dtop%3A0%7D%2Etable%3Etbody%2Btbody%7Bborder%2Dtop%3A2px%20solid%20%23ddd%7D%2Etable%20%2Etable%7Bbackground%2Dcolor%3A%23fff%7D%2Etable%2Dcondensed%3Etbody%3Etr%3Etd%2C%2Etable%2Dcondensed%3Etbody%3Etr%3Eth%2C%2Etable%2Dcondensed%3Etfoot%3Etr%3Etd%2C%2Etable%2Dcondensed%3Etfoot%3Etr%3Eth%2C%2Etable%2Dcondensed%3Ethead%3Etr%3Etd%2C%2Etable%2Dcondensed%3Ethead%3Etr%3Eth%7Bpadding%3A5px%7D%2Etable%2Dbordered%7Bborder%3A1px%20solid%20%23ddd%7D%2Etable%2Dbordered%3Etbody%3Etr%3Etd%2C%2Etable%2Dbordered%3Etbody%3Etr%3Eth%2C%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%2C%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%2C%2Etable%2Dbordered%3Ethead%3Etr%3Etd%2C%2Etable%2Dbordered%3Ethead%3Etr%3Eth%7Bborder%3A1px%20solid%20%23ddd%7D%2Etable%2Dbordered%3Ethead%3Etr%3Etd%2C%2Etable%2Dbordered%3Ethead%3Etr%3Eth%7Bborder%2Dbottom%2Dwidth%3A2px%7D%2Etable%2Dstriped%3Etbody%3Etr%3Anth%2Dof%2Dtype%28odd%29%7Bbackground%2Dcolor%3A%23f9f9f9%7D%2Etable%2Dhover%3Etbody%3Etr%3Ahover%7Bbackground%2Dcolor%3A%23f5f5f5%7Dtable%20col%5Bclass%2A%3Dcol%2D%5D%7Bposition%3Astatic%3Bdisplay%3Atable%2Dcolumn%3Bfloat%3Anone%7Dtable%20td%5Bclass%2A%3Dcol%2D%5D%2Ctable%20th%5Bclass%2A%3Dcol%2D%5D%7Bposition%3Astatic%3Bdisplay%3Atable%2Dcell%3Bfloat%3Anone%7D%2Etable%3Etbody%3Etr%2Eactive%3Etd%2C%2Etable%3Etbody%3Etr%2Eactive%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Eactive%2C%2Etable%3Etbody%3Etr%3Eth%2Eactive%2C%2Etable%3Etfoot%3Etr%2Eactive%3Etd%2C%2Etable%3Etfoot%3Etr%2Eactive%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Eactive%2C%2Etable%3Etfoot%3Etr%3Eth%2Eactive%2C%2Etable%3Ethead%3Etr%2Eactive%3Etd%2C%2Etable%3Ethead%3Etr%2Eactive%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Eactive%2C%2Etable%3Ethead%3Etr%3Eth%2Eactive%7Bbackground%2Dcolor%3A%23f5f5f5%7D%2Etable%2Dhover%3Etbody%3Etr%2Eactive%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Eactive%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Eactive%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Eactive%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Eactive%3Ahover%7Bbackground%2Dcolor%3A%23e8e8e8%7D%2Etable%3Etbody%3Etr%2Esuccess%3Etd%2C%2Etable%3Etbody%3Etr%2Esuccess%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Esuccess%2C%2Etable%3Etbody%3Etr%3Eth%2Esuccess%2C%2Etable%3Etfoot%3Etr%2Esuccess%3Etd%2C%2Etable%3Etfoot%3Etr%2Esuccess%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Esuccess%2C%2Etable%3Etfoot%3Etr%3Eth%2Esuccess%2C%2Etable%3Ethead%3Etr%2Esuccess%3Etd%2C%2Etable%3Ethead%3Etr%2Esuccess%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Esuccess%2C%2Etable%3Ethead%3Etr%3Eth%2Esuccess%7Bbackground%2Dcolor%3A%23dff0d8%7D%2Etable%2Dhover%3Etbody%3Etr%2Esuccess%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Esuccess%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Esuccess%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Esuccess%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Esuccess%3Ahover%7Bbackground%2Dcolor%3A%23d0e9c6%7D%2Etable%3Etbody%3Etr%2Einfo%3Etd%2C%2Etable%3Etbody%3Etr%2Einfo%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Einfo%2C%2Etable%3Etbody%3Etr%3Eth%2Einfo%2C%2Etable%3Etfoot%3Etr%2Einfo%3Etd%2C%2Etable%3Etfoot%3Etr%2Einfo%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Einfo%2C%2Etable%3Etfoot%3Etr%3Eth%2Einfo%2C%2Etable%3Ethead%3Etr%2Einfo%3Etd%2C%2Etable%3Ethead%3Etr%2Einfo%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Einfo%2C%2Etable%3Ethead%3Etr%3Eth%2Einfo%7Bbackground%2Dcolor%3A%23d9edf7%7D%2Etable%2Dhover%3Etbody%3Etr%2Einfo%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Einfo%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Einfo%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Einfo%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Einfo%3Ahover%7Bbackground%2Dcolor%3A%23c4e3f3%7D%2Etable%3Etbody%3Etr%2Ewarning%3Etd%2C%2Etable%3Etbody%3Etr%2Ewarning%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Ewarning%2C%2Etable%3Etbody%3Etr%3Eth%2Ewarning%2C%2Etable%3Etfoot%3Etr%2Ewarning%3Etd%2C%2Etable%3Etfoot%3Etr%2Ewarning%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Ewarning%2C%2Etable%3Etfoot%3Etr%3Eth%2Ewarning%2C%2Etable%3Ethead%3Etr%2Ewarning%3Etd%2C%2Etable%3Ethead%3Etr%2Ewarning%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Ewarning%2C%2Etable%3Ethead%3Etr%3Eth%2Ewarning%7Bbackground%2Dcolor%3A%23fcf8e3%7D%2Etable%2Dhover%3Etbody%3Etr%2Ewarning%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Ewarning%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Ewarning%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Ewarning%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Ewarning%3Ahover%7Bbackground%2Dcolor%3A%23faf2cc%7D%2Etable%3Etbody%3Etr%2Edanger%3Etd%2C%2Etable%3Etbody%3Etr%2Edanger%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Edanger%2C%2Etable%3Etbody%3Etr%3Eth%2Edanger%2C%2Etable%3Etfoot%3Etr%2Edanger%3Etd%2C%2Etable%3Etfoot%3Etr%2Edanger%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Edanger%2C%2Etable%3Etfoot%3Etr%3Eth%2Edanger%2C%2Etable%3Ethead%3Etr%2Edanger%3Etd%2C%2Etable%3Ethead%3Etr%2Edanger%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Edanger%2C%2Etable%3Ethead%3Etr%3Eth%2Edanger%7Bbackground%2Dcolor%3A%23f2dede%7D%2Etable%2Dhover%3Etbody%3Etr%2Edanger%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Edanger%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Edanger%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Edanger%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Edanger%3Ahover%7Bbackground%2Dcolor%3A%23ebcccc%7D%2Etable%2Dresponsive%7Bmin%2Dheight%3A%2E01%25%3Boverflow%2Dx%3Aauto%7D%40media%20screen%20and%20%28max%2Dwidth%3A767px%29%7B%2Etable%2Dresponsive%7Bwidth%3A100%25%3Bmargin%2Dbottom%3A15px%3Boverflow%2Dy%3Ahidden%3B%2Dms%2Doverflow%2Dstyle%3A%2Dms%2Dautohiding%2Dscrollbar%3Bborder%3A1px%20solid%20%23ddd%7D%2Etable%2Dresponsive%3E%2Etable%7Bmargin%2Dbottom%3A0%7D%2Etable%2Dresponsive%3E%2Etable%3Etbody%3Etr%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%3Etbody%3Etr%3Eth%2C%2Etable%2Dresponsive%3E%2Etable%3Etfoot%3Etr%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%3Etfoot%3Etr%3Eth%2C%2Etable%2Dresponsive%3E%2Etable%3Ethead%3Etr%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%3Ethead%3Etr%3Eth%7Bwhite%2Dspace%3Anowrap%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%7Bborder%3A0%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Afirst%2Dchild%7Bborder%2Dleft%3A0%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Alast%2Dchild%7Bborder%2Dright%3A0%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Eth%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Eth%7Bborder%2Dbottom%3A0%7D%7Dfieldset%7Bmin%2Dwidth%3A0%3Bpadding%3A0%3Bmargin%3A0%3Bborder%3A0%7Dlegend%7Bdisplay%3Ablock%3Bwidth%3A100%25%3Bpadding%3A0%3Bmargin%2Dbottom%3A20px%3Bfont%2Dsize%3A21px%3Bline%2Dheight%3Ainherit%3Bcolor%3A%23333%3Bborder%3A0%3Bborder%2Dbottom%3A1px%20solid%20%23e5e5e5%7Dlabel%7Bdisplay%3Ainline%2Dblock%3Bmax%2Dwidth%3A100%25%3Bmargin%2Dbottom%3A5px%3Bfont%2Dweight%3A700%7Dinput%5Btype%3Dsearch%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%7Dinput%5Btype%3Dcheckbox%5D%2Cinput%5Btype%3Dradio%5D%7Bmargin%3A4px%200%200%3Bmargin%2Dtop%3A1px%5C9%3Bline%2Dheight%3Anormal%7Dinput%5Btype%3Dfile%5D%7Bdisplay%3Ablock%7Dinput%5Btype%3Drange%5D%7Bdisplay%3Ablock%3Bwidth%3A100%25%7Dselect%5Bmultiple%5D%2Cselect%5Bsize%5D%7Bheight%3Aauto%7Dinput%5Btype%3Dfile%5D%3Afocus%2Cinput%5Btype%3Dcheckbox%5D%3Afocus%2Cinput%5Btype%3Dradio%5D%3Afocus%7Boutline%3Athin%20dotted%3Boutline%3A5px%20auto%20%2Dwebkit%2Dfocus%2Dring%2Dcolor%3Boutline%2Doffset%3A%2D2px%7Doutput%7Bdisplay%3Ablock%3Bpadding%2Dtop%3A7px%3Bfont%2Dsize%3A14px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23555%7D%2Eform%2Dcontrol%7Bdisplay%3Ablock%3Bwidth%3A100%25%3Bheight%3A34px%3Bpadding%3A6px%2012px%3Bfont%2Dsize%3A14px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23fff%3Bbackground%2Dimage%3Anone%3Bborder%3A1px%20solid%20%23ccc%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3B%2Dwebkit%2Dtransition%3Aborder%2Dcolor%20ease%2Din%2Dout%20%2E15s%2C%2Dwebkit%2Dbox%2Dshadow%20ease%2Din%2Dout%20%2E15s%3B%2Do%2Dtransition%3Aborder%2Dcolor%20ease%2Din%2Dout%20%2E15s%2Cbox%2Dshadow%20ease%2Din%2Dout%20%2E15s%3Btransition%3Aborder%2Dcolor%20ease%2Din%2Dout%20%2E15s%2Cbox%2Dshadow%20ease%2Din%2Dout%20%2E15s%7D%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%2366afe9%3Boutline%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%208px%20rgba%28102%2C175%2C233%2C%2E6%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%208px%20rgba%28102%2C175%2C233%2C%2E6%29%7D%2Eform%2Dcontrol%3A%3A%2Dmoz%2Dplaceholder%7Bcolor%3A%23999%3Bopacity%3A1%7D%2Eform%2Dcontrol%3A%2Dms%2Dinput%2Dplaceholder%7Bcolor%3A%23999%7D%2Eform%2Dcontrol%3A%3A%2Dwebkit%2Dinput%2Dplaceholder%7Bcolor%3A%23999%7D%2Eform%2Dcontrol%5Bdisabled%5D%2C%2Eform%2Dcontrol%5Breadonly%5D%2Cfieldset%5Bdisabled%5D%20%2Eform%2Dcontrol%7Bbackground%2Dcolor%3A%23eee%3Bopacity%3A1%7D%2Eform%2Dcontrol%5Bdisabled%5D%2Cfieldset%5Bdisabled%5D%20%2Eform%2Dcontrol%7Bcursor%3Anot%2Dallowed%7Dtextarea%2Eform%2Dcontrol%7Bheight%3Aauto%7Dinput%5Btype%3Dsearch%5D%7B%2Dwebkit%2Dappearance%3Anone%7D%40media%20screen%20and%20%28%2Dwebkit%2Dmin%2Ddevice%2Dpixel%2Dratio%3A0%29%7Binput%5Btype%3Ddate%5D%2Eform%2Dcontrol%2Cinput%5Btype%3Dtime%5D%2Eform%2Dcontrol%2Cinput%5Btype%3Ddatetime%2Dlocal%5D%2Eform%2Dcontrol%2Cinput%5Btype%3Dmonth%5D%2Eform%2Dcontrol%7Bline%2Dheight%3A34px%7D%2Einput%2Dgroup%2Dsm%20input%5Btype%3Ddate%5D%2C%2Einput%2Dgroup%2Dsm%20input%5Btype%3Dtime%5D%2C%2Einput%2Dgroup%2Dsm%20input%5Btype%3Ddatetime%2Dlocal%5D%2C%2Einput%2Dgroup%2Dsm%20input%5Btype%3Dmonth%5D%2Cinput%5Btype%3Ddate%5D%2Einput%2Dsm%2Cinput%5Btype%3Dtime%5D%2Einput%2Dsm%2Cinput%5Btype%3Ddatetime%2Dlocal%5D%2Einput%2Dsm%2Cinput%5Btype%3Dmonth%5D%2Einput%2Dsm%7Bline%2Dheight%3A30px%7D%2Einput%2Dgroup%2Dlg%20input%5Btype%3Ddate%5D%2C%2Einput%2Dgroup%2Dlg%20input%5Btype%3Dtime%5D%2C%2Einput%2Dgroup%2Dlg%20input%5Btype%3Ddatetime%2Dlocal%5D%2C%2Einput%2Dgroup%2Dlg%20input%5Btype%3Dmonth%5D%2Cinput%5Btype%3Ddate%5D%2Einput%2Dlg%2Cinput%5Btype%3Dtime%5D%2Einput%2Dlg%2Cinput%5Btype%3Ddatetime%2Dlocal%5D%2Einput%2Dlg%2Cinput%5Btype%3Dmonth%5D%2Einput%2Dlg%7Bline%2Dheight%3A46px%7D%7D%2Eform%2Dgroup%7Bmargin%2Dbottom%3A15px%7D%2Echeckbox%2C%2Eradio%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bmargin%2Dtop%3A10px%3Bmargin%2Dbottom%3A10px%7D%2Echeckbox%20label%2C%2Eradio%20label%7Bmin%2Dheight%3A20px%3Bpadding%2Dleft%3A20px%3Bmargin%2Dbottom%3A0%3Bfont%2Dweight%3A400%3Bcursor%3Apointer%7D%2Echeckbox%20input%5Btype%3Dcheckbox%5D%2C%2Echeckbox%2Dinline%20input%5Btype%3Dcheckbox%5D%2C%2Eradio%20input%5Btype%3Dradio%5D%2C%2Eradio%2Dinline%20input%5Btype%3Dradio%5D%7Bposition%3Aabsolute%3Bmargin%2Dtop%3A4px%5C9%3Bmargin%2Dleft%3A%2D20px%7D%2Echeckbox%2B%2Echeckbox%2C%2Eradio%2B%2Eradio%7Bmargin%2Dtop%3A%2D5px%7D%2Echeckbox%2Dinline%2C%2Eradio%2Dinline%7Bposition%3Arelative%3Bdisplay%3Ainline%2Dblock%3Bpadding%2Dleft%3A20px%3Bmargin%2Dbottom%3A0%3Bfont%2Dweight%3A400%3Bvertical%2Dalign%3Amiddle%3Bcursor%3Apointer%7D%2Echeckbox%2Dinline%2B%2Echeckbox%2Dinline%2C%2Eradio%2Dinline%2B%2Eradio%2Dinline%7Bmargin%2Dtop%3A0%3Bmargin%2Dleft%3A10px%7Dfieldset%5Bdisabled%5D%20input%5Btype%3Dcheckbox%5D%2Cfieldset%5Bdisabled%5D%20input%5Btype%3Dradio%5D%2Cinput%5Btype%3Dcheckbox%5D%2Edisabled%2Cinput%5Btype%3Dcheckbox%5D%5Bdisabled%5D%2Cinput%5Btype%3Dradio%5D%2Edisabled%2Cinput%5Btype%3Dradio%5D%5Bdisabled%5D%7Bcursor%3Anot%2Dallowed%7D%2Echeckbox%2Dinline%2Edisabled%2C%2Eradio%2Dinline%2Edisabled%2Cfieldset%5Bdisabled%5D%20%2Echeckbox%2Dinline%2Cfieldset%5Bdisabled%5D%20%2Eradio%2Dinline%7Bcursor%3Anot%2Dallowed%7D%2Echeckbox%2Edisabled%20label%2C%2Eradio%2Edisabled%20label%2Cfieldset%5Bdisabled%5D%20%2Echeckbox%20label%2Cfieldset%5Bdisabled%5D%20%2Eradio%20label%7Bcursor%3Anot%2Dallowed%7D%2Eform%2Dcontrol%2Dstatic%7Bmin%2Dheight%3A34px%3Bpadding%2Dtop%3A7px%3Bpadding%2Dbottom%3A7px%3Bmargin%2Dbottom%3A0%7D%2Eform%2Dcontrol%2Dstatic%2Einput%2Dlg%2C%2Eform%2Dcontrol%2Dstatic%2Einput%2Dsm%7Bpadding%2Dright%3A0%3Bpadding%2Dleft%3A0%7D%2Einput%2Dsm%7Bheight%3A30px%3Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7Dselect%2Einput%2Dsm%7Bheight%3A30px%3Bline%2Dheight%3A30px%7Dselect%5Bmultiple%5D%2Einput%2Dsm%2Ctextarea%2Einput%2Dsm%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dsm%20%2Eform%2Dcontrol%7Bheight%3A30px%3Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7D%2Eform%2Dgroup%2Dsm%20select%2Eform%2Dcontrol%7Bheight%3A30px%3Bline%2Dheight%3A30px%7D%2Eform%2Dgroup%2Dsm%20select%5Bmultiple%5D%2Eform%2Dcontrol%2C%2Eform%2Dgroup%2Dsm%20textarea%2Eform%2Dcontrol%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dsm%20%2Eform%2Dcontrol%2Dstatic%7Bheight%3A30px%3Bmin%2Dheight%3A32px%3Bpadding%3A6px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%7D%2Einput%2Dlg%7Bheight%3A46px%3Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7Dselect%2Einput%2Dlg%7Bheight%3A46px%3Bline%2Dheight%3A46px%7Dselect%5Bmultiple%5D%2Einput%2Dlg%2Ctextarea%2Einput%2Dlg%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dlg%20%2Eform%2Dcontrol%7Bheight%3A46px%3Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7D%2Eform%2Dgroup%2Dlg%20select%2Eform%2Dcontrol%7Bheight%3A46px%3Bline%2Dheight%3A46px%7D%2Eform%2Dgroup%2Dlg%20select%5Bmultiple%5D%2Eform%2Dcontrol%2C%2Eform%2Dgroup%2Dlg%20textarea%2Eform%2Dcontrol%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dlg%20%2Eform%2Dcontrol%2Dstatic%7Bheight%3A46px%3Bmin%2Dheight%3A38px%3Bpadding%3A11px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%7D%2Ehas%2Dfeedback%7Bposition%3Arelative%7D%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%7Bpadding%2Dright%3A42%2E5px%7D%2Eform%2Dcontrol%2Dfeedback%7Bposition%3Aabsolute%3Btop%3A0%3Bright%3A0%3Bz%2Dindex%3A2%3Bdisplay%3Ablock%3Bwidth%3A34px%3Bheight%3A34px%3Bline%2Dheight%3A34px%3Btext%2Dalign%3Acenter%3Bpointer%2Devents%3Anone%7D%2Eform%2Dgroup%2Dlg%20%2Eform%2Dcontrol%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dgroup%2Dlg%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dlg%2B%2Eform%2Dcontrol%2Dfeedback%7Bwidth%3A46px%3Bheight%3A46px%3Bline%2Dheight%3A46px%7D%2Eform%2Dgroup%2Dsm%20%2Eform%2Dcontrol%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dgroup%2Dsm%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dsm%2B%2Eform%2Dcontrol%2Dfeedback%7Bwidth%3A30px%3Bheight%3A30px%3Bline%2Dheight%3A30px%7D%2Ehas%2Dsuccess%20%2Echeckbox%2C%2Ehas%2Dsuccess%20%2Echeckbox%2Dinline%2C%2Ehas%2Dsuccess%20%2Econtrol%2Dlabel%2C%2Ehas%2Dsuccess%20%2Ehelp%2Dblock%2C%2Ehas%2Dsuccess%20%2Eradio%2C%2Ehas%2Dsuccess%20%2Eradio%2Dinline%2C%2Ehas%2Dsuccess%2Echeckbox%20label%2C%2Ehas%2Dsuccess%2Echeckbox%2Dinline%20label%2C%2Ehas%2Dsuccess%2Eradio%20label%2C%2Ehas%2Dsuccess%2Eradio%2Dinline%20label%7Bcolor%3A%233c763d%7D%2Ehas%2Dsuccess%20%2Eform%2Dcontrol%7Bborder%2Dcolor%3A%233c763d%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%7D%2Ehas%2Dsuccess%20%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%232b542c%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%2367b168%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%2367b168%7D%2Ehas%2Dsuccess%20%2Einput%2Dgroup%2Daddon%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%3Bborder%2Dcolor%3A%233c763d%7D%2Ehas%2Dsuccess%20%2Eform%2Dcontrol%2Dfeedback%7Bcolor%3A%233c763d%7D%2Ehas%2Dwarning%20%2Echeckbox%2C%2Ehas%2Dwarning%20%2Echeckbox%2Dinline%2C%2Ehas%2Dwarning%20%2Econtrol%2Dlabel%2C%2Ehas%2Dwarning%20%2Ehelp%2Dblock%2C%2Ehas%2Dwarning%20%2Eradio%2C%2Ehas%2Dwarning%20%2Eradio%2Dinline%2C%2Ehas%2Dwarning%2Echeckbox%20label%2C%2Ehas%2Dwarning%2Echeckbox%2Dinline%20label%2C%2Ehas%2Dwarning%2Eradio%20label%2C%2Ehas%2Dwarning%2Eradio%2Dinline%20label%7Bcolor%3A%238a6d3b%7D%2Ehas%2Dwarning%20%2Eform%2Dcontrol%7Bborder%2Dcolor%3A%238a6d3b%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%7D%2Ehas%2Dwarning%20%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%2366512c%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23c0a16b%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23c0a16b%7D%2Ehas%2Dwarning%20%2Einput%2Dgroup%2Daddon%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%3Bborder%2Dcolor%3A%238a6d3b%7D%2Ehas%2Dwarning%20%2Eform%2Dcontrol%2Dfeedback%7Bcolor%3A%238a6d3b%7D%2Ehas%2Derror%20%2Echeckbox%2C%2Ehas%2Derror%20%2Echeckbox%2Dinline%2C%2Ehas%2Derror%20%2Econtrol%2Dlabel%2C%2Ehas%2Derror%20%2Ehelp%2Dblock%2C%2Ehas%2Derror%20%2Eradio%2C%2Ehas%2Derror%20%2Eradio%2Dinline%2C%2Ehas%2Derror%2Echeckbox%20label%2C%2Ehas%2Derror%2Echeckbox%2Dinline%20label%2C%2Ehas%2Derror%2Eradio%20label%2C%2Ehas%2Derror%2Eradio%2Dinline%20label%7Bcolor%3A%23a94442%7D%2Ehas%2Derror%20%2Eform%2Dcontrol%7Bborder%2Dcolor%3A%23a94442%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%7D%2Ehas%2Derror%20%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%23843534%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23ce8483%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23ce8483%7D%2Ehas%2Derror%20%2Einput%2Dgroup%2Daddon%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%3Bborder%2Dcolor%3A%23a94442%7D%2Ehas%2Derror%20%2Eform%2Dcontrol%2Dfeedback%7Bcolor%3A%23a94442%7D%2Ehas%2Dfeedback%20label%7E%2Eform%2Dcontrol%2Dfeedback%7Btop%3A25px%7D%2Ehas%2Dfeedback%20label%2Esr%2Donly%7E%2Eform%2Dcontrol%2Dfeedback%7Btop%3A0%7D%2Ehelp%2Dblock%7Bdisplay%3Ablock%3Bmargin%2Dtop%3A5px%3Bmargin%2Dbottom%3A10px%3Bcolor%3A%23737373%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dinline%20%2Eform%2Dgroup%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Eform%2Dcontrol%7Bdisplay%3Ainline%2Dblock%3Bwidth%3Aauto%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Eform%2Dcontrol%2Dstatic%7Bdisplay%3Ainline%2Dblock%7D%2Eform%2Dinline%20%2Einput%2Dgroup%7Bdisplay%3Ainline%2Dtable%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Einput%2Dgroup%20%2Eform%2Dcontrol%2C%2Eform%2Dinline%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Daddon%2C%2Eform%2Dinline%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Dbtn%7Bwidth%3Aauto%7D%2Eform%2Dinline%20%2Einput%2Dgroup%3E%2Eform%2Dcontrol%7Bwidth%3A100%25%7D%2Eform%2Dinline%20%2Econtrol%2Dlabel%7Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Echeckbox%2C%2Eform%2Dinline%20%2Eradio%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Echeckbox%20label%2C%2Eform%2Dinline%20%2Eradio%20label%7Bpadding%2Dleft%3A0%7D%2Eform%2Dinline%20%2Echeckbox%20input%5Btype%3Dcheckbox%5D%2C%2Eform%2Dinline%20%2Eradio%20input%5Btype%3Dradio%5D%7Bposition%3Arelative%3Bmargin%2Dleft%3A0%7D%2Eform%2Dinline%20%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%2Dfeedback%7Btop%3A0%7D%7D%2Eform%2Dhorizontal%20%2Echeckbox%2C%2Eform%2Dhorizontal%20%2Echeckbox%2Dinline%2C%2Eform%2Dhorizontal%20%2Eradio%2C%2Eform%2Dhorizontal%20%2Eradio%2Dinline%7Bpadding%2Dtop%3A7px%3Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%7D%2Eform%2Dhorizontal%20%2Echeckbox%2C%2Eform%2Dhorizontal%20%2Eradio%7Bmin%2Dheight%3A27px%7D%2Eform%2Dhorizontal%20%2Eform%2Dgroup%7Bmargin%2Dright%3A%2D15px%3Bmargin%2Dleft%3A%2D15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dhorizontal%20%2Econtrol%2Dlabel%7Bpadding%2Dtop%3A7px%3Bmargin%2Dbottom%3A0%3Btext%2Dalign%3Aright%7D%7D%2Eform%2Dhorizontal%20%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%2Dfeedback%7Bright%3A15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dhorizontal%20%2Eform%2Dgroup%2Dlg%20%2Econtrol%2Dlabel%7Bpadding%2Dtop%3A14%2E33px%3Bfont%2Dsize%3A18px%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dhorizontal%20%2Eform%2Dgroup%2Dsm%20%2Econtrol%2Dlabel%7Bpadding%2Dtop%3A6px%3Bfont%2Dsize%3A12px%7D%7D%2Ebtn%7Bdisplay%3Ainline%2Dblock%3Bpadding%3A6px%2012px%3Bmargin%2Dbottom%3A0%3Bfont%2Dsize%3A14px%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Btext%2Dalign%3Acenter%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Amiddle%3B%2Dms%2Dtouch%2Daction%3Amanipulation%3Btouch%2Daction%3Amanipulation%3Bcursor%3Apointer%3B%2Dwebkit%2Duser%2Dselect%3Anone%3B%2Dmoz%2Duser%2Dselect%3Anone%3B%2Dms%2Duser%2Dselect%3Anone%3Buser%2Dselect%3Anone%3Bbackground%2Dimage%3Anone%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%7D%2Ebtn%2Eactive%2Efocus%2C%2Ebtn%2Eactive%3Afocus%2C%2Ebtn%2Efocus%2C%2Ebtn%3Aactive%2Efocus%2C%2Ebtn%3Aactive%3Afocus%2C%2Ebtn%3Afocus%7Boutline%3Athin%20dotted%3Boutline%3A5px%20auto%20%2Dwebkit%2Dfocus%2Dring%2Dcolor%3Boutline%2Doffset%3A%2D2px%7D%2Ebtn%2Efocus%2C%2Ebtn%3Afocus%2C%2Ebtn%3Ahover%7Bcolor%3A%23333%3Btext%2Ddecoration%3Anone%7D%2Ebtn%2Eactive%2C%2Ebtn%3Aactive%7Bbackground%2Dimage%3Anone%3Boutline%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%3Bbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%7D%2Ebtn%2Edisabled%2C%2Ebtn%5Bdisabled%5D%2Cfieldset%5Bdisabled%5D%20%2Ebtn%7Bcursor%3Anot%2Dallowed%3Bfilter%3Aalpha%28opacity%3D65%29%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%3Bopacity%3A%2E65%7Da%2Ebtn%2Edisabled%2Cfieldset%5Bdisabled%5D%20a%2Ebtn%7Bpointer%2Devents%3Anone%7D%2Ebtn%2Ddefault%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23fff%3Bborder%2Dcolor%3A%23ccc%7D%2Ebtn%2Ddefault%2Efocus%2C%2Ebtn%2Ddefault%3Afocus%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23e6e6e6%3Bborder%2Dcolor%3A%238c8c8c%7D%2Ebtn%2Ddefault%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23e6e6e6%3Bborder%2Dcolor%3A%23adadad%7D%2Ebtn%2Ddefault%2Eactive%2C%2Ebtn%2Ddefault%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23e6e6e6%3Bborder%2Dcolor%3A%23adadad%7D%2Ebtn%2Ddefault%2Eactive%2Efocus%2C%2Ebtn%2Ddefault%2Eactive%3Afocus%2C%2Ebtn%2Ddefault%2Eactive%3Ahover%2C%2Ebtn%2Ddefault%3Aactive%2Efocus%2C%2Ebtn%2Ddefault%3Aactive%3Afocus%2C%2Ebtn%2Ddefault%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23d4d4d4%3Bborder%2Dcolor%3A%238c8c8c%7D%2Ebtn%2Ddefault%2Eactive%2C%2Ebtn%2Ddefault%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Ddefault%2Edisabled%2C%2Ebtn%2Ddefault%2Edisabled%2Eactive%2C%2Ebtn%2Ddefault%2Edisabled%2Efocus%2C%2Ebtn%2Ddefault%2Edisabled%3Aactive%2C%2Ebtn%2Ddefault%2Edisabled%3Afocus%2C%2Ebtn%2Ddefault%2Edisabled%3Ahover%2C%2Ebtn%2Ddefault%5Bdisabled%5D%2C%2Ebtn%2Ddefault%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Ddefault%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Ddefault%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Ddefault%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Ddefault%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%3Ahover%7Bbackground%2Dcolor%3A%23fff%3Bborder%2Dcolor%3A%23ccc%7D%2Ebtn%2Ddefault%20%2Ebadge%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23333%7D%2Ebtn%2Dprimary%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%232e6da4%7D%2Ebtn%2Dprimary%2Efocus%2C%2Ebtn%2Dprimary%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23286090%3Bborder%2Dcolor%3A%23122b40%7D%2Ebtn%2Dprimary%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23286090%3Bborder%2Dcolor%3A%23204d74%7D%2Ebtn%2Dprimary%2Eactive%2C%2Ebtn%2Dprimary%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23286090%3Bborder%2Dcolor%3A%23204d74%7D%2Ebtn%2Dprimary%2Eactive%2Efocus%2C%2Ebtn%2Dprimary%2Eactive%3Afocus%2C%2Ebtn%2Dprimary%2Eactive%3Ahover%2C%2Ebtn%2Dprimary%3Aactive%2Efocus%2C%2Ebtn%2Dprimary%3Aactive%3Afocus%2C%2Ebtn%2Dprimary%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23204d74%3Bborder%2Dcolor%3A%23122b40%7D%2Ebtn%2Dprimary%2Eactive%2C%2Ebtn%2Dprimary%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dprimary%2Edisabled%2C%2Ebtn%2Dprimary%2Edisabled%2Eactive%2C%2Ebtn%2Dprimary%2Edisabled%2Efocus%2C%2Ebtn%2Dprimary%2Edisabled%3Aactive%2C%2Ebtn%2Dprimary%2Edisabled%3Afocus%2C%2Ebtn%2Dprimary%2Edisabled%3Ahover%2C%2Ebtn%2Dprimary%5Bdisabled%5D%2C%2Ebtn%2Dprimary%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dprimary%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dprimary%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dprimary%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dprimary%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%3Ahover%7Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%232e6da4%7D%2Ebtn%2Dprimary%20%2Ebadge%7Bcolor%3A%23337ab7%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dsuccess%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%235cb85c%3Bborder%2Dcolor%3A%234cae4c%7D%2Ebtn%2Dsuccess%2Efocus%2C%2Ebtn%2Dsuccess%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23449d44%3Bborder%2Dcolor%3A%23255625%7D%2Ebtn%2Dsuccess%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23449d44%3Bborder%2Dcolor%3A%23398439%7D%2Ebtn%2Dsuccess%2Eactive%2C%2Ebtn%2Dsuccess%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23449d44%3Bborder%2Dcolor%3A%23398439%7D%2Ebtn%2Dsuccess%2Eactive%2Efocus%2C%2Ebtn%2Dsuccess%2Eactive%3Afocus%2C%2Ebtn%2Dsuccess%2Eactive%3Ahover%2C%2Ebtn%2Dsuccess%3Aactive%2Efocus%2C%2Ebtn%2Dsuccess%3Aactive%3Afocus%2C%2Ebtn%2Dsuccess%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23398439%3Bborder%2Dcolor%3A%23255625%7D%2Ebtn%2Dsuccess%2Eactive%2C%2Ebtn%2Dsuccess%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dsuccess%2Edisabled%2C%2Ebtn%2Dsuccess%2Edisabled%2Eactive%2C%2Ebtn%2Dsuccess%2Edisabled%2Efocus%2C%2Ebtn%2Dsuccess%2Edisabled%3Aactive%2C%2Ebtn%2Dsuccess%2Edisabled%3Afocus%2C%2Ebtn%2Dsuccess%2Edisabled%3Ahover%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%3Ahover%7Bbackground%2Dcolor%3A%235cb85c%3Bborder%2Dcolor%3A%234cae4c%7D%2Ebtn%2Dsuccess%20%2Ebadge%7Bcolor%3A%235cb85c%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dinfo%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%235bc0de%3Bborder%2Dcolor%3A%2346b8da%7D%2Ebtn%2Dinfo%2Efocus%2C%2Ebtn%2Dinfo%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331b0d5%3Bborder%2Dcolor%3A%231b6d85%7D%2Ebtn%2Dinfo%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331b0d5%3Bborder%2Dcolor%3A%23269abc%7D%2Ebtn%2Dinfo%2Eactive%2C%2Ebtn%2Dinfo%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331b0d5%3Bborder%2Dcolor%3A%23269abc%7D%2Ebtn%2Dinfo%2Eactive%2Efocus%2C%2Ebtn%2Dinfo%2Eactive%3Afocus%2C%2Ebtn%2Dinfo%2Eactive%3Ahover%2C%2Ebtn%2Dinfo%3Aactive%2Efocus%2C%2Ebtn%2Dinfo%3Aactive%3Afocus%2C%2Ebtn%2Dinfo%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23269abc%3Bborder%2Dcolor%3A%231b6d85%7D%2Ebtn%2Dinfo%2Eactive%2C%2Ebtn%2Dinfo%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dinfo%2Edisabled%2C%2Ebtn%2Dinfo%2Edisabled%2Eactive%2C%2Ebtn%2Dinfo%2Edisabled%2Efocus%2C%2Ebtn%2Dinfo%2Edisabled%3Aactive%2C%2Ebtn%2Dinfo%2Edisabled%3Afocus%2C%2Ebtn%2Dinfo%2Edisabled%3Ahover%2C%2Ebtn%2Dinfo%5Bdisabled%5D%2C%2Ebtn%2Dinfo%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dinfo%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dinfo%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dinfo%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dinfo%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%3Ahover%7Bbackground%2Dcolor%3A%235bc0de%3Bborder%2Dcolor%3A%2346b8da%7D%2Ebtn%2Dinfo%20%2Ebadge%7Bcolor%3A%235bc0de%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dwarning%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23f0ad4e%3Bborder%2Dcolor%3A%23eea236%7D%2Ebtn%2Dwarning%2Efocus%2C%2Ebtn%2Dwarning%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ec971f%3Bborder%2Dcolor%3A%23985f0d%7D%2Ebtn%2Dwarning%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ec971f%3Bborder%2Dcolor%3A%23d58512%7D%2Ebtn%2Dwarning%2Eactive%2C%2Ebtn%2Dwarning%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ec971f%3Bborder%2Dcolor%3A%23d58512%7D%2Ebtn%2Dwarning%2Eactive%2Efocus%2C%2Ebtn%2Dwarning%2Eactive%3Afocus%2C%2Ebtn%2Dwarning%2Eactive%3Ahover%2C%2Ebtn%2Dwarning%3Aactive%2Efocus%2C%2Ebtn%2Dwarning%3Aactive%3Afocus%2C%2Ebtn%2Dwarning%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23d58512%3Bborder%2Dcolor%3A%23985f0d%7D%2Ebtn%2Dwarning%2Eactive%2C%2Ebtn%2Dwarning%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dwarning%2Edisabled%2C%2Ebtn%2Dwarning%2Edisabled%2Eactive%2C%2Ebtn%2Dwarning%2Edisabled%2Efocus%2C%2Ebtn%2Dwarning%2Edisabled%3Aactive%2C%2Ebtn%2Dwarning%2Edisabled%3Afocus%2C%2Ebtn%2Dwarning%2Edisabled%3Ahover%2C%2Ebtn%2Dwarning%5Bdisabled%5D%2C%2Ebtn%2Dwarning%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dwarning%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dwarning%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dwarning%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dwarning%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%3Ahover%7Bbackground%2Dcolor%3A%23f0ad4e%3Bborder%2Dcolor%3A%23eea236%7D%2Ebtn%2Dwarning%20%2Ebadge%7Bcolor%3A%23f0ad4e%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Ddanger%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23d9534f%3Bborder%2Dcolor%3A%23d43f3a%7D%2Ebtn%2Ddanger%2Efocus%2C%2Ebtn%2Ddanger%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23c9302c%3Bborder%2Dcolor%3A%23761c19%7D%2Ebtn%2Ddanger%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23c9302c%3Bborder%2Dcolor%3A%23ac2925%7D%2Ebtn%2Ddanger%2Eactive%2C%2Ebtn%2Ddanger%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23c9302c%3Bborder%2Dcolor%3A%23ac2925%7D%2Ebtn%2Ddanger%2Eactive%2Efocus%2C%2Ebtn%2Ddanger%2Eactive%3Afocus%2C%2Ebtn%2Ddanger%2Eactive%3Ahover%2C%2Ebtn%2Ddanger%3Aactive%2Efocus%2C%2Ebtn%2Ddanger%3Aactive%3Afocus%2C%2Ebtn%2Ddanger%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ac2925%3Bborder%2Dcolor%3A%23761c19%7D%2Ebtn%2Ddanger%2Eactive%2C%2Ebtn%2Ddanger%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Ddanger%2Edisabled%2C%2Ebtn%2Ddanger%2Edisabled%2Eactive%2C%2Ebtn%2Ddanger%2Edisabled%2Efocus%2C%2Ebtn%2Ddanger%2Edisabled%3Aactive%2C%2Ebtn%2Ddanger%2Edisabled%3Afocus%2C%2Ebtn%2Ddanger%2Edisabled%3Ahover%2C%2Ebtn%2Ddanger%5Bdisabled%5D%2C%2Ebtn%2Ddanger%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Ddanger%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Ddanger%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Ddanger%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Ddanger%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%3Ahover%7Bbackground%2Dcolor%3A%23d9534f%3Bborder%2Dcolor%3A%23d43f3a%7D%2Ebtn%2Ddanger%20%2Ebadge%7Bcolor%3A%23d9534f%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dlink%7Bfont%2Dweight%3A400%3Bcolor%3A%23337ab7%3Bborder%2Dradius%3A0%7D%2Ebtn%2Dlink%2C%2Ebtn%2Dlink%2Eactive%2C%2Ebtn%2Dlink%3Aactive%2C%2Ebtn%2Dlink%5Bdisabled%5D%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dlink%7Bbackground%2Dcolor%3Atransparent%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Ebtn%2Dlink%2C%2Ebtn%2Dlink%3Aactive%2C%2Ebtn%2Dlink%3Afocus%2C%2Ebtn%2Dlink%3Ahover%7Bborder%2Dcolor%3Atransparent%7D%2Ebtn%2Dlink%3Afocus%2C%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%2323527c%3Btext%2Ddecoration%3Aunderline%3Bbackground%2Dcolor%3Atransparent%7D%2Ebtn%2Dlink%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dlink%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dlink%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23777%3Btext%2Ddecoration%3Anone%7D%2Ebtn%2Dgroup%2Dlg%3E%2Ebtn%2C%2Ebtn%2Dlg%7Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7D%2Ebtn%2Dgroup%2Dsm%3E%2Ebtn%2C%2Ebtn%2Dsm%7Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7D%2Ebtn%2Dgroup%2Dxs%3E%2Ebtn%2C%2Ebtn%2Dxs%7Bpadding%3A1px%205px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7D%2Ebtn%2Dblock%7Bdisplay%3Ablock%3Bwidth%3A100%25%7D%2Ebtn%2Dblock%2B%2Ebtn%2Dblock%7Bmargin%2Dtop%3A5px%7Dinput%5Btype%3Dbutton%5D%2Ebtn%2Dblock%2Cinput%5Btype%3Dreset%5D%2Ebtn%2Dblock%2Cinput%5Btype%3Dsubmit%5D%2Ebtn%2Dblock%7Bwidth%3A100%25%7D%2Efade%7Bopacity%3A0%3B%2Dwebkit%2Dtransition%3Aopacity%20%2E15s%20linear%3B%2Do%2Dtransition%3Aopacity%20%2E15s%20linear%3Btransition%3Aopacity%20%2E15s%20linear%7D%2Efade%2Ein%7Bopacity%3A1%7D%2Ecollapse%7Bdisplay%3Anone%7D%2Ecollapse%2Ein%7Bdisplay%3Ablock%7Dtr%2Ecollapse%2Ein%7Bdisplay%3Atable%2Drow%7Dtbody%2Ecollapse%2Ein%7Bdisplay%3Atable%2Drow%2Dgroup%7D%2Ecollapsing%7Bposition%3Arelative%3Bheight%3A0%3Boverflow%3Ahidden%3B%2Dwebkit%2Dtransition%2Dtiming%2Dfunction%3Aease%3B%2Do%2Dtransition%2Dtiming%2Dfunction%3Aease%3Btransition%2Dtiming%2Dfunction%3Aease%3B%2Dwebkit%2Dtransition%2Dduration%3A%2E35s%3B%2Do%2Dtransition%2Dduration%3A%2E35s%3Btransition%2Dduration%3A%2E35s%3B%2Dwebkit%2Dtransition%2Dproperty%3Aheight%2Cvisibility%3B%2Do%2Dtransition%2Dproperty%3Aheight%2Cvisibility%3Btransition%2Dproperty%3Aheight%2Cvisibility%7D%2Ecaret%7Bdisplay%3Ainline%2Dblock%3Bwidth%3A0%3Bheight%3A0%3Bmargin%2Dleft%3A2px%3Bvertical%2Dalign%3Amiddle%3Bborder%2Dtop%3A4px%20dashed%3Bborder%2Dtop%3A4px%20solid%5C9%3Bborder%2Dright%3A4px%20solid%20transparent%3Bborder%2Dleft%3A4px%20solid%20transparent%7D%2Edropdown%2C%2Edropup%7Bposition%3Arelative%7D%2Edropdown%2Dtoggle%3Afocus%7Boutline%3A0%7D%2Edropdown%2Dmenu%7Bposition%3Aabsolute%3Btop%3A100%25%3Bleft%3A0%3Bz%2Dindex%3A1000%3Bdisplay%3Anone%3Bfloat%3Aleft%3Bmin%2Dwidth%3A160px%3Bpadding%3A5px%200%3Bmargin%3A2px%200%200%3Bfont%2Dsize%3A14px%3Btext%2Dalign%3Aleft%3Blist%2Dstyle%3Anone%3Bbackground%2Dcolor%3A%23fff%3B%2Dwebkit%2Dbackground%2Dclip%3Apadding%2Dbox%3Bbackground%2Dclip%3Apadding%2Dbox%3Bborder%3A1px%20solid%20%23ccc%3Bborder%3A1px%20solid%20rgba%280%2C0%2C0%2C%2E15%29%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3A0%206px%2012px%20rgba%280%2C0%2C0%2C%2E175%29%3Bbox%2Dshadow%3A0%206px%2012px%20rgba%280%2C0%2C0%2C%2E175%29%7D%2Edropdown%2Dmenu%2Epull%2Dright%7Bright%3A0%3Bleft%3Aauto%7D%2Edropdown%2Dmenu%20%2Edivider%7Bheight%3A1px%3Bmargin%3A9px%200%3Boverflow%3Ahidden%3Bbackground%2Dcolor%3A%23e5e5e5%7D%2Edropdown%2Dmenu%3Eli%3Ea%7Bdisplay%3Ablock%3Bpadding%3A3px%2020px%3Bclear%3Aboth%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23333%3Bwhite%2Dspace%3Anowrap%7D%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bcolor%3A%23262626%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23f5f5f5%7D%2Edropdown%2Dmenu%3E%2Eactive%3Ea%2C%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23337ab7%3Boutline%3A0%7D%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%2C%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23777%7D%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Btext%2Ddecoration%3Anone%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3Atransparent%3Bbackground%2Dimage%3Anone%3Bfilter%3Aprogid%3ADXImageTransform%2EMicrosoft%2Egradient%28enabled%3Dfalse%29%7D%2Eopen%3E%2Edropdown%2Dmenu%7Bdisplay%3Ablock%7D%2Eopen%3Ea%7Boutline%3A0%7D%2Edropdown%2Dmenu%2Dright%7Bright%3A0%3Bleft%3Aauto%7D%2Edropdown%2Dmenu%2Dleft%7Bright%3Aauto%3Bleft%3A0%7D%2Edropdown%2Dheader%7Bdisplay%3Ablock%3Bpadding%3A3px%2020px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23777%3Bwhite%2Dspace%3Anowrap%7D%2Edropdown%2Dbackdrop%7Bposition%3Afixed%3Btop%3A0%3Bright%3A0%3Bbottom%3A0%3Bleft%3A0%3Bz%2Dindex%3A990%7D%2Epull%2Dright%3E%2Edropdown%2Dmenu%7Bright%3A0%3Bleft%3Aauto%7D%2Edropup%20%2Ecaret%2C%2Enavbar%2Dfixed%2Dbottom%20%2Edropdown%20%2Ecaret%7Bcontent%3A%22%22%3Bborder%2Dtop%3A0%3Bborder%2Dbottom%3A4px%20dashed%3Bborder%2Dbottom%3A4px%20solid%5C9%7D%2Edropup%20%2Edropdown%2Dmenu%2C%2Enavbar%2Dfixed%2Dbottom%20%2Edropdown%20%2Edropdown%2Dmenu%7Btop%3Aauto%3Bbottom%3A100%25%3Bmargin%2Dbottom%3A2px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dright%20%2Edropdown%2Dmenu%7Bright%3A0%3Bleft%3Aauto%7D%2Enavbar%2Dright%20%2Edropdown%2Dmenu%2Dleft%7Bright%3Aauto%3Bleft%3A0%7D%7D%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%2Dvertical%7Bposition%3Arelative%3Bdisplay%3Ainline%2Dblock%3Bvertical%2Dalign%3Amiddle%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2C%2Ebtn%2Dgroup%3E%2Ebtn%7Bposition%3Arelative%3Bfloat%3Aleft%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Eactive%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Aactive%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Afocus%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Ahover%2C%2Ebtn%2Dgroup%3E%2Ebtn%2Eactive%2C%2Ebtn%2Dgroup%3E%2Ebtn%3Aactive%2C%2Ebtn%2Dgroup%3E%2Ebtn%3Afocus%2C%2Ebtn%2Dgroup%3E%2Ebtn%3Ahover%7Bz%2Dindex%3A2%7D%2Ebtn%2Dgroup%20%2Ebtn%2B%2Ebtn%2C%2Ebtn%2Dgroup%20%2Ebtn%2B%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%20%2Ebtn%2Dgroup%2B%2Ebtn%2C%2Ebtn%2Dgroup%20%2Ebtn%2Dgroup%2B%2Ebtn%2Dgroup%7Bmargin%2Dleft%3A%2D1px%7D%2Ebtn%2Dtoolbar%7Bmargin%2Dleft%3A%2D5px%7D%2Ebtn%2Dtoolbar%20%2Ebtn%2C%2Ebtn%2Dtoolbar%20%2Ebtn%2Dgroup%2C%2Ebtn%2Dtoolbar%20%2Einput%2Dgroup%7Bfloat%3Aleft%7D%2Ebtn%2Dtoolbar%3E%2Ebtn%2C%2Ebtn%2Dtoolbar%3E%2Ebtn%2Dgroup%2C%2Ebtn%2Dtoolbar%3E%2Einput%2Dgroup%7Bmargin%2Dleft%3A5px%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%3Anot%28%2Edropdown%2Dtoggle%29%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Afirst%2Dchild%7Bmargin%2Dleft%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3Anot%28%2Edropdown%2Dtoggle%29%7Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%2C%2Ebtn%2Dgroup%3E%2Edropdown%2Dtoggle%3Anot%28%3Afirst%2Dchild%29%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%7Bfloat%3Aleft%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%3Alast%2Dchild%2C%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Edropdown%2Dtoggle%7Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%3E%2Ebtn%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%20%2Edropdown%2Dtoggle%3Aactive%2C%2Ebtn%2Dgroup%2Eopen%20%2Edropdown%2Dtoggle%7Boutline%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2B%2Edropdown%2Dtoggle%7Bpadding%2Dright%3A8px%3Bpadding%2Dleft%3A8px%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dlg%2B%2Edropdown%2Dtoggle%7Bpadding%2Dright%3A12px%3Bpadding%2Dleft%3A12px%7D%2Ebtn%2Dgroup%2Eopen%20%2Edropdown%2Dtoggle%7B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%3Bbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%7D%2Ebtn%2Dgroup%2Eopen%20%2Edropdown%2Dtoggle%2Ebtn%2Dlink%7B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Ebtn%20%2Ecaret%7Bmargin%2Dleft%3A0%7D%2Ebtn%2Dlg%20%2Ecaret%7Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dbottom%2Dwidth%3A0%7D%2Edropup%20%2Ebtn%2Dlg%20%2Ecaret%7Bborder%2Dwidth%3A0%205px%205px%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3E%2Ebtn%7Bdisplay%3Ablock%3Bfloat%3Anone%3Bwidth%3A100%25%3Bmax%2Dwidth%3A100%25%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3E%2Ebtn%7Bfloat%3Anone%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2B%2Ebtn%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2B%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%2B%2Ebtn%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%2B%2Ebtn%2Dgroup%7Bmargin%2Dtop%3A%2D1px%3Bmargin%2Dleft%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%7Bborder%2Dtop%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A4px%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%3Alast%2Dchild%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Edropdown%2Dtoggle%7Bborder%2Dbottom%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%3E%2Ebtn%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Djustified%7Bdisplay%3Atable%3Bwidth%3A100%25%3Btable%2Dlayout%3Afixed%3Bborder%2Dcollapse%3Aseparate%7D%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2C%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2Dgroup%7Bdisplay%3Atable%2Dcell%3Bfloat%3Anone%3Bwidth%3A1%25%7D%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2Dgroup%20%2Ebtn%7Bwidth%3A100%25%7D%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2Dgroup%20%2Edropdown%2Dmenu%7Bleft%3Aauto%7D%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%20input%5Btype%3Dcheckbox%5D%2C%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%20input%5Btype%3Dradio%5D%2C%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%2Dgroup%3E%2Ebtn%20input%5Btype%3Dcheckbox%5D%2C%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%2Dgroup%3E%2Ebtn%20input%5Btype%3Dradio%5D%7Bposition%3Aabsolute%3Bclip%3Arect%280%2C0%2C0%2C0%29%3Bpointer%2Devents%3Anone%7D%2Einput%2Dgroup%7Bposition%3Arelative%3Bdisplay%3Atable%3Bborder%2Dcollapse%3Aseparate%7D%2Einput%2Dgroup%5Bclass%2A%3Dcol%2D%5D%7Bfloat%3Anone%3Bpadding%2Dright%3A0%3Bpadding%2Dleft%3A0%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%7Bposition%3Arelative%3Bz%2Dindex%3A2%3Bfloat%3Aleft%3Bwidth%3A100%25%3Bmargin%2Dbottom%3A0%7D%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2C%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A46px%3Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7Dselect%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2Cselect%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2Cselect%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A46px%3Bline%2Dheight%3A46px%7Dselect%5Bmultiple%5D%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%2Ctextarea%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2Ctextarea%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2Ctextarea%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3Aauto%7D%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2C%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A30px%3Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7Dselect%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2Cselect%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2Cselect%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A30px%3Bline%2Dheight%3A30px%7Dselect%5Bmultiple%5D%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%2Ctextarea%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2Ctextarea%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2Ctextarea%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3Aauto%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%2C%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dbtn%7Bdisplay%3Atable%2Dcell%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%2C%2Einput%2Dgroup%2Daddon%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%2C%2Einput%2Dgroup%2Dbtn%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%7Bborder%2Dradius%3A0%7D%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dbtn%7Bwidth%3A1%25%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Amiddle%7D%2Einput%2Dgroup%2Daddon%7Bpadding%3A6px%2012px%3Bfont%2Dsize%3A14px%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%3Bcolor%3A%23555%3Btext%2Dalign%3Acenter%3Bbackground%2Dcolor%3A%23eee%3Bborder%3A1px%20solid%20%23ccc%3Bborder%2Dradius%3A4px%7D%2Einput%2Dgroup%2Daddon%2Einput%2Dsm%7Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bborder%2Dradius%3A3px%7D%2Einput%2Dgroup%2Daddon%2Einput%2Dlg%7Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bborder%2Dradius%3A6px%7D%2Einput%2Dgroup%2Daddon%20input%5Btype%3Dcheckbox%5D%2C%2Einput%2Dgroup%2Daddon%20input%5Btype%3Dradio%5D%7Bmargin%2Dtop%3A0%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%3Afirst%2Dchild%2C%2Einput%2Dgroup%2Daddon%3Afirst%2Dchild%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2Dgroup%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Edropdown%2Dtoggle%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2Dgroup%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%3Anot%28%3Alast%2Dchild%29%3Anot%28%2Edropdown%2Dtoggle%29%7Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A0%7D%2Einput%2Dgroup%2Daddon%3Afirst%2Dchild%7Bborder%2Dright%3A0%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%3Alast%2Dchild%2C%2Einput%2Dgroup%2Daddon%3Alast%2Dchild%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2Dgroup%3Anot%28%3Afirst%2Dchild%29%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%3Anot%28%3Afirst%2Dchild%29%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2Dgroup%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Edropdown%2Dtoggle%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Einput%2Dgroup%2Daddon%3Alast%2Dchild%7Bborder%2Dleft%3A0%7D%2Einput%2Dgroup%2Dbtn%7Bposition%3Arelative%3Bfont%2Dsize%3A0%3Bwhite%2Dspace%3Anowrap%7D%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bposition%3Arelative%7D%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%2B%2Ebtn%7Bmargin%2Dleft%3A%2D1px%7D%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%3Aactive%2C%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%3Afocus%2C%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%3Ahover%7Bz%2Dindex%3A2%7D%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2Dgroup%7Bmargin%2Dright%3A%2D1px%7D%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2Dgroup%7Bz%2Dindex%3A2%3Bmargin%2Dleft%3A%2D1px%7D%2Enav%7Bpadding%2Dleft%3A0%3Bmargin%2Dbottom%3A0%3Blist%2Dstyle%3Anone%7D%2Enav%3Eli%7Bposition%3Arelative%3Bdisplay%3Ablock%7D%2Enav%3Eli%3Ea%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bpadding%3A10px%2015px%7D%2Enav%3Eli%3Ea%3Afocus%2C%2Enav%3Eli%3Ea%3Ahover%7Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23eee%7D%2Enav%3Eli%2Edisabled%3Ea%7Bcolor%3A%23777%7D%2Enav%3Eli%2Edisabled%3Ea%3Afocus%2C%2Enav%3Eli%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23777%3Btext%2Ddecoration%3Anone%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3Atransparent%7D%2Enav%20%2Eopen%3Ea%2C%2Enav%20%2Eopen%3Ea%3Afocus%2C%2Enav%20%2Eopen%3Ea%3Ahover%7Bbackground%2Dcolor%3A%23eee%3Bborder%2Dcolor%3A%23337ab7%7D%2Enav%20%2Enav%2Ddivider%7Bheight%3A1px%3Bmargin%3A9px%200%3Boverflow%3Ahidden%3Bbackground%2Dcolor%3A%23e5e5e5%7D%2Enav%3Eli%3Ea%3Eimg%7Bmax%2Dwidth%3Anone%7D%2Enav%2Dtabs%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%7D%2Enav%2Dtabs%3Eli%7Bfloat%3Aleft%3Bmargin%2Dbottom%3A%2D1px%7D%2Enav%2Dtabs%3Eli%3Ea%7Bmargin%2Dright%3A2px%3Bline%2Dheight%3A1%2E42857143%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%204px%200%200%7D%2Enav%2Dtabs%3Eli%3Ea%3Ahover%7Bborder%2Dcolor%3A%23eee%20%23eee%20%23ddd%7D%2Enav%2Dtabs%3Eli%2Eactive%3Ea%2C%2Enav%2Dtabs%3Eli%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%3Eli%2Eactive%3Ea%3Ahover%7Bcolor%3A%23555%3Bcursor%3Adefault%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dbottom%2Dcolor%3Atransparent%7D%2Enav%2Dtabs%2Enav%2Djustified%7Bwidth%3A100%25%3Bborder%2Dbottom%3A0%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%7Bfloat%3Anone%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A5px%3Btext%2Dalign%3Acenter%7D%2Enav%2Dtabs%2Enav%2Djustified%3E%2Edropdown%20%2Edropdown%2Dmenu%7Btop%3Aauto%3Bleft%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Dtabs%2Enav%2Djustified%3Eli%7Bdisplay%3Atable%2Dcell%3Bwidth%3A1%25%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A0%7D%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dright%3A0%3Bborder%2Dradius%3A4px%7D%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%3A1px%20solid%20%23ddd%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%204px%200%200%7D%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%2Dbottom%2Dcolor%3A%23fff%7D%7D%2Enav%2Dpills%3Eli%7Bfloat%3Aleft%7D%2Enav%2Dpills%3Eli%3Ea%7Bborder%2Dradius%3A4px%7D%2Enav%2Dpills%3Eli%2Bli%7Bmargin%2Dleft%3A2px%7D%2Enav%2Dpills%3Eli%2Eactive%3Ea%2C%2Enav%2Dpills%3Eli%2Eactive%3Ea%3Afocus%2C%2Enav%2Dpills%3Eli%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%7D%2Enav%2Dstacked%3Eli%7Bfloat%3Anone%7D%2Enav%2Dstacked%3Eli%2Bli%7Bmargin%2Dtop%3A2px%3Bmargin%2Dleft%3A0%7D%2Enav%2Djustified%7Bwidth%3A100%25%7D%2Enav%2Djustified%3Eli%7Bfloat%3Anone%7D%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A5px%3Btext%2Dalign%3Acenter%7D%2Enav%2Djustified%3E%2Edropdown%20%2Edropdown%2Dmenu%7Btop%3Aauto%3Bleft%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Djustified%3Eli%7Bdisplay%3Atable%2Dcell%3Bwidth%3A1%25%7D%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A0%7D%7D%2Enav%2Dtabs%2Djustified%7Bborder%2Dbottom%3A0%7D%2Enav%2Dtabs%2Djustified%3Eli%3Ea%7Bmargin%2Dright%3A0%3Bborder%2Dradius%3A4px%7D%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%3A1px%20solid%20%23ddd%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Dtabs%2Djustified%3Eli%3Ea%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%204px%200%200%7D%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%2Dbottom%2Dcolor%3A%23fff%7D%7D%2Etab%2Dcontent%3E%2Etab%2Dpane%7Bdisplay%3Anone%7D%2Etab%2Dcontent%3E%2Eactive%7Bdisplay%3Ablock%7D%2Enav%2Dtabs%20%2Edropdown%2Dmenu%7Bmargin%2Dtop%3A%2D1px%3Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Enavbar%7Bposition%3Arelative%3Bmin%2Dheight%3A50px%3Bmargin%2Dbottom%3A20px%3Bborder%3A1px%20solid%20transparent%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%7Bborder%2Dradius%3A4px%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dheader%7Bfloat%3Aleft%7D%7D%2Enavbar%2Dcollapse%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%3Boverflow%2Dx%3Avisible%3B%2Dwebkit%2Doverflow%2Dscrolling%3Atouch%3Bborder%2Dtop%3A1px%20solid%20transparent%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%3Bbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%7D%2Enavbar%2Dcollapse%2Ein%7Boverflow%2Dy%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dcollapse%7Bwidth%3Aauto%3Bborder%2Dtop%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Enavbar%2Dcollapse%2Ecollapse%7Bdisplay%3Ablock%21important%3Bheight%3Aauto%21important%3Bpadding%2Dbottom%3A0%3Boverflow%3Avisible%21important%7D%2Enavbar%2Dcollapse%2Ein%7Boverflow%2Dy%3Avisible%7D%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dfixed%2Dtop%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dstatic%2Dtop%20%2Enavbar%2Dcollapse%7Bpadding%2Dright%3A0%3Bpadding%2Dleft%3A0%7D%7D%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dfixed%2Dtop%20%2Enavbar%2Dcollapse%7Bmax%2Dheight%3A340px%7D%40media%20%28max%2Ddevice%2Dwidth%3A480px%29%20and%20%28orientation%3Alandscape%29%7B%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dfixed%2Dtop%20%2Enavbar%2Dcollapse%7Bmax%2Dheight%3A200px%7D%7D%2Econtainer%2Dfluid%3E%2Enavbar%2Dcollapse%2C%2Econtainer%2Dfluid%3E%2Enavbar%2Dheader%2C%2Econtainer%3E%2Enavbar%2Dcollapse%2C%2Econtainer%3E%2Enavbar%2Dheader%7Bmargin%2Dright%3A%2D15px%3Bmargin%2Dleft%3A%2D15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Econtainer%2Dfluid%3E%2Enavbar%2Dcollapse%2C%2Econtainer%2Dfluid%3E%2Enavbar%2Dheader%2C%2Econtainer%3E%2Enavbar%2Dcollapse%2C%2Econtainer%3E%2Enavbar%2Dheader%7Bmargin%2Dright%3A0%3Bmargin%2Dleft%3A0%7D%7D%2Enavbar%2Dstatic%2Dtop%7Bz%2Dindex%3A1000%3Bborder%2Dwidth%3A0%200%201px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dstatic%2Dtop%7Bborder%2Dradius%3A0%7D%7D%2Enavbar%2Dfixed%2Dbottom%2C%2Enavbar%2Dfixed%2Dtop%7Bposition%3Afixed%3Bright%3A0%3Bleft%3A0%3Bz%2Dindex%3A1030%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dfixed%2Dbottom%2C%2Enavbar%2Dfixed%2Dtop%7Bborder%2Dradius%3A0%7D%7D%2Enavbar%2Dfixed%2Dtop%7Btop%3A0%3Bborder%2Dwidth%3A0%200%201px%7D%2Enavbar%2Dfixed%2Dbottom%7Bbottom%3A0%3Bmargin%2Dbottom%3A0%3Bborder%2Dwidth%3A1px%200%200%7D%2Enavbar%2Dbrand%7Bfloat%3Aleft%3Bheight%3A50px%3Bpadding%3A15px%2015px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A20px%7D%2Enavbar%2Dbrand%3Afocus%2C%2Enavbar%2Dbrand%3Ahover%7Btext%2Ddecoration%3Anone%7D%2Enavbar%2Dbrand%3Eimg%7Bdisplay%3Ablock%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%3E%2Econtainer%20%2Enavbar%2Dbrand%2C%2Enavbar%3E%2Econtainer%2Dfluid%20%2Enavbar%2Dbrand%7Bmargin%2Dleft%3A%2D15px%7D%7D%2Enavbar%2Dtoggle%7Bposition%3Arelative%3Bfloat%3Aright%3Bpadding%3A9px%2010px%3Bmargin%2Dtop%3A8px%3Bmargin%2Dright%3A15px%3Bmargin%2Dbottom%3A8px%3Bbackground%2Dcolor%3Atransparent%3Bbackground%2Dimage%3Anone%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%7D%2Enavbar%2Dtoggle%3Afocus%7Boutline%3A0%7D%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%7Bdisplay%3Ablock%3Bwidth%3A22px%3Bheight%3A2px%3Bborder%2Dradius%3A1px%7D%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%2B%2Eicon%2Dbar%7Bmargin%2Dtop%3A4px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dtoggle%7Bdisplay%3Anone%7D%7D%2Enavbar%2Dnav%7Bmargin%3A7%2E5px%20%2D15px%7D%2Enavbar%2Dnav%3Eli%3Ea%7Bpadding%2Dtop%3A10px%3Bpadding%2Dbottom%3A10px%3Bline%2Dheight%3A20px%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%7Bposition%3Astatic%3Bfloat%3Anone%3Bwidth%3Aauto%3Bmargin%2Dtop%3A0%3Bbackground%2Dcolor%3Atransparent%3Bborder%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%20%2Edropdown%2Dheader%2C%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bpadding%3A5px%2015px%205px%2025px%7D%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bline%2Dheight%3A20px%7D%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bbackground%2Dimage%3Anone%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dnav%7Bfloat%3Aleft%3Bmargin%3A0%7D%2Enavbar%2Dnav%3Eli%7Bfloat%3Aleft%7D%2Enavbar%2Dnav%3Eli%3Ea%7Bpadding%2Dtop%3A15px%3Bpadding%2Dbottom%3A15px%7D%7D%2Enavbar%2Dform%7Bpadding%3A10px%2015px%3Bmargin%2Dtop%3A8px%3Bmargin%2Dright%3A%2D15px%3Bmargin%2Dbottom%3A8px%3Bmargin%2Dleft%3A%2D15px%3Bborder%2Dtop%3A1px%20solid%20transparent%3Bborder%2Dbottom%3A1px%20solid%20transparent%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%2C0%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%3Bbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%2C0%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dform%20%2Eform%2Dgroup%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Eform%2Dcontrol%7Bdisplay%3Ainline%2Dblock%3Bwidth%3Aauto%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Eform%2Dcontrol%2Dstatic%7Bdisplay%3Ainline%2Dblock%7D%2Enavbar%2Dform%20%2Einput%2Dgroup%7Bdisplay%3Ainline%2Dtable%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Einput%2Dgroup%20%2Eform%2Dcontrol%2C%2Enavbar%2Dform%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Daddon%2C%2Enavbar%2Dform%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Dbtn%7Bwidth%3Aauto%7D%2Enavbar%2Dform%20%2Einput%2Dgroup%3E%2Eform%2Dcontrol%7Bwidth%3A100%25%7D%2Enavbar%2Dform%20%2Econtrol%2Dlabel%7Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Echeckbox%2C%2Enavbar%2Dform%20%2Eradio%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Echeckbox%20label%2C%2Enavbar%2Dform%20%2Eradio%20label%7Bpadding%2Dleft%3A0%7D%2Enavbar%2Dform%20%2Echeckbox%20input%5Btype%3Dcheckbox%5D%2C%2Enavbar%2Dform%20%2Eradio%20input%5Btype%3Dradio%5D%7Bposition%3Arelative%3Bmargin%2Dleft%3A0%7D%2Enavbar%2Dform%20%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%2Dfeedback%7Btop%3A0%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Dform%20%2Eform%2Dgroup%7Bmargin%2Dbottom%3A5px%7D%2Enavbar%2Dform%20%2Eform%2Dgroup%3Alast%2Dchild%7Bmargin%2Dbottom%3A0%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dform%7Bwidth%3Aauto%3Bpadding%2Dtop%3A0%3Bpadding%2Dbottom%3A0%3Bmargin%2Dright%3A0%3Bmargin%2Dleft%3A0%3Bborder%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%7D%2Enavbar%2Dnav%3Eli%3E%2Edropdown%2Dmenu%7Bmargin%2Dtop%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dnav%3Eli%3E%2Edropdown%2Dmenu%7Bmargin%2Dbottom%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A4px%3Bborder%2Dtop%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Enavbar%2Dbtn%7Bmargin%2Dtop%3A8px%3Bmargin%2Dbottom%3A8px%7D%2Enavbar%2Dbtn%2Ebtn%2Dsm%7Bmargin%2Dtop%3A10px%3Bmargin%2Dbottom%3A10px%7D%2Enavbar%2Dbtn%2Ebtn%2Dxs%7Bmargin%2Dtop%3A14px%3Bmargin%2Dbottom%3A14px%7D%2Enavbar%2Dtext%7Bmargin%2Dtop%3A15px%3Bmargin%2Dbottom%3A15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dtext%7Bfloat%3Aleft%3Bmargin%2Dright%3A15px%3Bmargin%2Dleft%3A15px%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dleft%7Bfloat%3Aleft%21important%7D%2Enavbar%2Dright%7Bfloat%3Aright%21important%3Bmargin%2Dright%3A%2D15px%7D%2Enavbar%2Dright%7E%2Enavbar%2Dright%7Bmargin%2Dright%3A0%7D%7D%2Enavbar%2Ddefault%7Bbackground%2Dcolor%3A%23f8f8f8%3Bborder%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dbrand%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dbrand%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dbrand%3Ahover%7Bcolor%3A%235e5e5e%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtext%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3Eli%3Ea%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3Eli%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3Eli%3Ea%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23ccc%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%7Bborder%2Dcolor%3A%23ddd%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%3Ahover%7Bbackground%2Dcolor%3A%23ddd%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%7Bbackground%2Dcolor%3A%23888%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dform%7Bborder%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Ahover%7Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23e7e7e7%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23ccc%3Bbackground%2Dcolor%3Atransparent%7D%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dlink%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dlink%3Ahover%7Bcolor%3A%23333%7D%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Afocus%2C%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23333%7D%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%5Bdisabled%5D%3Afocus%2C%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23ccc%7D%2Enavbar%2Dinverse%7Bbackground%2Dcolor%3A%23222%3Bborder%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dbrand%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dbrand%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dbrand%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtext%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3Eli%3Ea%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3Eli%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3Eli%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23444%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%7Bborder%2Dcolor%3A%23333%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%3Ahover%7Bbackground%2Dcolor%3A%23333%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%7Bbackground%2Dcolor%3A%23fff%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dform%7Bborder%2Dcolor%3A%23101010%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23080808%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edropdown%2Dheader%7Bborder%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%20%2Edivider%7Bbackground%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23444%3Bbackground%2Dcolor%3Atransparent%7D%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dlink%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dlink%3Ahover%7Bcolor%3A%23fff%7D%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Afocus%2C%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23fff%7D%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%5Bdisabled%5D%3Afocus%2C%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23444%7D%2Ebreadcrumb%7Bpadding%3A8px%2015px%3Bmargin%2Dbottom%3A20px%3Blist%2Dstyle%3Anone%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dradius%3A4px%7D%2Ebreadcrumb%3Eli%7Bdisplay%3Ainline%2Dblock%7D%2Ebreadcrumb%3Eli%2Bli%3Abefore%7Bpadding%3A0%205px%3Bcolor%3A%23ccc%3Bcontent%3A%22%2F%5C00a0%22%7D%2Ebreadcrumb%3E%2Eactive%7Bcolor%3A%23777%7D%2Epagination%7Bdisplay%3Ainline%2Dblock%3Bpadding%2Dleft%3A0%3Bmargin%3A20px%200%3Bborder%2Dradius%3A4px%7D%2Epagination%3Eli%7Bdisplay%3Ainline%7D%2Epagination%3Eli%3Ea%2C%2Epagination%3Eli%3Espan%7Bposition%3Arelative%3Bfloat%3Aleft%3Bpadding%3A6px%2012px%3Bmargin%2Dleft%3A%2D1px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23337ab7%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%7D%2Epagination%3Eli%3Afirst%2Dchild%3Ea%2C%2Epagination%3Eli%3Afirst%2Dchild%3Espan%7Bmargin%2Dleft%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A4px%3Bborder%2Dbottom%2Dleft%2Dradius%3A4px%7D%2Epagination%3Eli%3Alast%2Dchild%3Ea%2C%2Epagination%3Eli%3Alast%2Dchild%3Espan%7Bborder%2Dtop%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dright%2Dradius%3A4px%7D%2Epagination%3Eli%3Ea%3Afocus%2C%2Epagination%3Eli%3Ea%3Ahover%2C%2Epagination%3Eli%3Espan%3Afocus%2C%2Epagination%3Eli%3Espan%3Ahover%7Bz%2Dindex%3A3%3Bcolor%3A%2323527c%3Bbackground%2Dcolor%3A%23eee%3Bborder%2Dcolor%3A%23ddd%7D%2Epagination%3E%2Eactive%3Ea%2C%2Epagination%3E%2Eactive%3Ea%3Afocus%2C%2Epagination%3E%2Eactive%3Ea%3Ahover%2C%2Epagination%3E%2Eactive%3Espan%2C%2Epagination%3E%2Eactive%3Espan%3Afocus%2C%2Epagination%3E%2Eactive%3Espan%3Ahover%7Bz%2Dindex%3A2%3Bcolor%3A%23fff%3Bcursor%3Adefault%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%23337ab7%7D%2Epagination%3E%2Edisabled%3Ea%2C%2Epagination%3E%2Edisabled%3Ea%3Afocus%2C%2Epagination%3E%2Edisabled%3Ea%3Ahover%2C%2Epagination%3E%2Edisabled%3Espan%2C%2Epagination%3E%2Edisabled%3Espan%3Afocus%2C%2Epagination%3E%2Edisabled%3Espan%3Ahover%7Bcolor%3A%23777%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3A%23fff%3Bborder%2Dcolor%3A%23ddd%7D%2Epagination%2Dlg%3Eli%3Ea%2C%2Epagination%2Dlg%3Eli%3Espan%7Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%7D%2Epagination%2Dlg%3Eli%3Afirst%2Dchild%3Ea%2C%2Epagination%2Dlg%3Eli%3Afirst%2Dchild%3Espan%7Bborder%2Dtop%2Dleft%2Dradius%3A6px%3Bborder%2Dbottom%2Dleft%2Dradius%3A6px%7D%2Epagination%2Dlg%3Eli%3Alast%2Dchild%3Ea%2C%2Epagination%2Dlg%3Eli%3Alast%2Dchild%3Espan%7Bborder%2Dtop%2Dright%2Dradius%3A6px%3Bborder%2Dbottom%2Dright%2Dradius%3A6px%7D%2Epagination%2Dsm%3Eli%3Ea%2C%2Epagination%2Dsm%3Eli%3Espan%7Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%7D%2Epagination%2Dsm%3Eli%3Afirst%2Dchild%3Ea%2C%2Epagination%2Dsm%3Eli%3Afirst%2Dchild%3Espan%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epagination%2Dsm%3Eli%3Alast%2Dchild%3Ea%2C%2Epagination%2Dsm%3Eli%3Alast%2Dchild%3Espan%7Bborder%2Dtop%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dright%2Dradius%3A3px%7D%2Epager%7Bpadding%2Dleft%3A0%3Bmargin%3A20px%200%3Btext%2Dalign%3Acenter%3Blist%2Dstyle%3Anone%7D%2Epager%20li%7Bdisplay%3Ainline%7D%2Epager%20li%3Ea%2C%2Epager%20li%3Espan%7Bdisplay%3Ainline%2Dblock%3Bpadding%3A5px%2014px%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A15px%7D%2Epager%20li%3Ea%3Afocus%2C%2Epager%20li%3Ea%3Ahover%7Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23eee%7D%2Epager%20%2Enext%3Ea%2C%2Epager%20%2Enext%3Espan%7Bfloat%3Aright%7D%2Epager%20%2Eprevious%3Ea%2C%2Epager%20%2Eprevious%3Espan%7Bfloat%3Aleft%7D%2Epager%20%2Edisabled%3Ea%2C%2Epager%20%2Edisabled%3Ea%3Afocus%2C%2Epager%20%2Edisabled%3Ea%3Ahover%2C%2Epager%20%2Edisabled%3Espan%7Bcolor%3A%23777%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3A%23fff%7D%2Elabel%7Bdisplay%3Ainline%3Bpadding%3A%2E2em%20%2E6em%20%2E3em%3Bfont%2Dsize%3A75%25%3Bfont%2Dweight%3A700%3Bline%2Dheight%3A1%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Abaseline%3Bborder%2Dradius%3A%2E25em%7Da%2Elabel%3Afocus%2Ca%2Elabel%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bcursor%3Apointer%7D%2Elabel%3Aempty%7Bdisplay%3Anone%7D%2Ebtn%20%2Elabel%7Bposition%3Arelative%3Btop%3A%2D1px%7D%2Elabel%2Ddefault%7Bbackground%2Dcolor%3A%23777%7D%2Elabel%2Ddefault%5Bhref%5D%3Afocus%2C%2Elabel%2Ddefault%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%235e5e5e%7D%2Elabel%2Dprimary%7Bbackground%2Dcolor%3A%23337ab7%7D%2Elabel%2Dprimary%5Bhref%5D%3Afocus%2C%2Elabel%2Dprimary%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23286090%7D%2Elabel%2Dsuccess%7Bbackground%2Dcolor%3A%235cb85c%7D%2Elabel%2Dsuccess%5Bhref%5D%3Afocus%2C%2Elabel%2Dsuccess%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23449d44%7D%2Elabel%2Dinfo%7Bbackground%2Dcolor%3A%235bc0de%7D%2Elabel%2Dinfo%5Bhref%5D%3Afocus%2C%2Elabel%2Dinfo%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%2331b0d5%7D%2Elabel%2Dwarning%7Bbackground%2Dcolor%3A%23f0ad4e%7D%2Elabel%2Dwarning%5Bhref%5D%3Afocus%2C%2Elabel%2Dwarning%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23ec971f%7D%2Elabel%2Ddanger%7Bbackground%2Dcolor%3A%23d9534f%7D%2Elabel%2Ddanger%5Bhref%5D%3Afocus%2C%2Elabel%2Ddanger%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23c9302c%7D%2Ebadge%7Bdisplay%3Ainline%2Dblock%3Bmin%2Dwidth%3A10px%3Bpadding%3A3px%207px%3Bfont%2Dsize%3A12px%3Bfont%2Dweight%3A700%3Bline%2Dheight%3A1%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Amiddle%3Bbackground%2Dcolor%3A%23777%3Bborder%2Dradius%3A10px%7D%2Ebadge%3Aempty%7Bdisplay%3Anone%7D%2Ebtn%20%2Ebadge%7Bposition%3Arelative%3Btop%3A%2D1px%7D%2Ebtn%2Dgroup%2Dxs%3E%2Ebtn%20%2Ebadge%2C%2Ebtn%2Dxs%20%2Ebadge%7Btop%3A0%3Bpadding%3A1px%205px%7Da%2Ebadge%3Afocus%2Ca%2Ebadge%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bcursor%3Apointer%7D%2Elist%2Dgroup%2Ditem%2Eactive%3E%2Ebadge%2C%2Enav%2Dpills%3E%2Eactive%3Ea%3E%2Ebadge%7Bcolor%3A%23337ab7%3Bbackground%2Dcolor%3A%23fff%7D%2Elist%2Dgroup%2Ditem%3E%2Ebadge%7Bfloat%3Aright%7D%2Elist%2Dgroup%2Ditem%3E%2Ebadge%2B%2Ebadge%7Bmargin%2Dright%3A5px%7D%2Enav%2Dpills%3Eli%3Ea%3E%2Ebadge%7Bmargin%2Dleft%3A3px%7D%2Ejumbotron%7Bpadding%2Dtop%3A30px%3Bpadding%2Dbottom%3A30px%3Bmargin%2Dbottom%3A30px%3Bcolor%3Ainherit%3Bbackground%2Dcolor%3A%23eee%7D%2Ejumbotron%20%2Eh1%2C%2Ejumbotron%20h1%7Bcolor%3Ainherit%7D%2Ejumbotron%20p%7Bmargin%2Dbottom%3A15px%3Bfont%2Dsize%3A21px%3Bfont%2Dweight%3A200%7D%2Ejumbotron%3Ehr%7Bborder%2Dtop%2Dcolor%3A%23d5d5d5%7D%2Econtainer%20%2Ejumbotron%2C%2Econtainer%2Dfluid%20%2Ejumbotron%7Bborder%2Dradius%3A6px%7D%2Ejumbotron%20%2Econtainer%7Bmax%2Dwidth%3A100%25%7D%40media%20screen%20and%20%28min%2Dwidth%3A768px%29%7B%2Ejumbotron%7Bpadding%2Dtop%3A48px%3Bpadding%2Dbottom%3A48px%7D%2Econtainer%20%2Ejumbotron%2C%2Econtainer%2Dfluid%20%2Ejumbotron%7Bpadding%2Dright%3A60px%3Bpadding%2Dleft%3A60px%7D%2Ejumbotron%20%2Eh1%2C%2Ejumbotron%20h1%7Bfont%2Dsize%3A63px%7D%7D%2Ethumbnail%7Bdisplay%3Ablock%3Bpadding%3A4px%3Bmargin%2Dbottom%3A20px%3Bline%2Dheight%3A1%2E42857143%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dtransition%3Aborder%20%2E2s%20ease%2Din%2Dout%3B%2Do%2Dtransition%3Aborder%20%2E2s%20ease%2Din%2Dout%3Btransition%3Aborder%20%2E2s%20ease%2Din%2Dout%7D%2Ethumbnail%20a%3Eimg%2C%2Ethumbnail%3Eimg%7Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7Da%2Ethumbnail%2Eactive%2Ca%2Ethumbnail%3Afocus%2Ca%2Ethumbnail%3Ahover%7Bborder%2Dcolor%3A%23337ab7%7D%2Ethumbnail%20%2Ecaption%7Bpadding%3A9px%3Bcolor%3A%23333%7D%2Ealert%7Bpadding%3A15px%3Bmargin%2Dbottom%3A20px%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%7D%2Ealert%20h4%7Bmargin%2Dtop%3A0%3Bcolor%3Ainherit%7D%2Ealert%20%2Ealert%2Dlink%7Bfont%2Dweight%3A700%7D%2Ealert%3Ep%2C%2Ealert%3Eul%7Bmargin%2Dbottom%3A0%7D%2Ealert%3Ep%2Bp%7Bmargin%2Dtop%3A5px%7D%2Ealert%2Ddismissable%2C%2Ealert%2Ddismissible%7Bpadding%2Dright%3A35px%7D%2Ealert%2Ddismissable%20%2Eclose%2C%2Ealert%2Ddismissible%20%2Eclose%7Bposition%3Arelative%3Btop%3A%2D2px%3Bright%3A%2D21px%3Bcolor%3Ainherit%7D%2Ealert%2Dsuccess%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%3Bborder%2Dcolor%3A%23d6e9c6%7D%2Ealert%2Dsuccess%20hr%7Bborder%2Dtop%2Dcolor%3A%23c9e2b3%7D%2Ealert%2Dsuccess%20%2Ealert%2Dlink%7Bcolor%3A%232b542c%7D%2Ealert%2Dinfo%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23d9edf7%3Bborder%2Dcolor%3A%23bce8f1%7D%2Ealert%2Dinfo%20hr%7Bborder%2Dtop%2Dcolor%3A%23a6e1ec%7D%2Ealert%2Dinfo%20%2Ealert%2Dlink%7Bcolor%3A%23245269%7D%2Ealert%2Dwarning%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%3Bborder%2Dcolor%3A%23faebcc%7D%2Ealert%2Dwarning%20hr%7Bborder%2Dtop%2Dcolor%3A%23f7e1b5%7D%2Ealert%2Dwarning%20%2Ealert%2Dlink%7Bcolor%3A%2366512c%7D%2Ealert%2Ddanger%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%3Bborder%2Dcolor%3A%23ebccd1%7D%2Ealert%2Ddanger%20hr%7Bborder%2Dtop%2Dcolor%3A%23e4b9c0%7D%2Ealert%2Ddanger%20%2Ealert%2Dlink%7Bcolor%3A%23843534%7D%40%2Dwebkit%2Dkeyframes%20progress%2Dbar%2Dstripes%7Bfrom%7Bbackground%2Dposition%3A40px%200%7Dto%7Bbackground%2Dposition%3A0%200%7D%7D%40%2Do%2Dkeyframes%20progress%2Dbar%2Dstripes%7Bfrom%7Bbackground%2Dposition%3A40px%200%7Dto%7Bbackground%2Dposition%3A0%200%7D%7D%40keyframes%20progress%2Dbar%2Dstripes%7Bfrom%7Bbackground%2Dposition%3A40px%200%7Dto%7Bbackground%2Dposition%3A0%200%7D%7D%2Eprogress%7Bheight%3A20px%3Bmargin%2Dbottom%3A20px%3Boverflow%3Ahidden%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%202px%20rgba%280%2C0%2C0%2C%2E1%29%3Bbox%2Dshadow%3Ainset%200%201px%202px%20rgba%280%2C0%2C0%2C%2E1%29%7D%2Eprogress%2Dbar%7Bfloat%3Aleft%3Bwidth%3A0%3Bheight%3A100%25%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A20px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bbackground%2Dcolor%3A%23337ab7%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E15%29%3Bbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E15%29%3B%2Dwebkit%2Dtransition%3Awidth%20%2E6s%20ease%3B%2Do%2Dtransition%3Awidth%20%2E6s%20ease%3Btransition%3Awidth%20%2E6s%20ease%7D%2Eprogress%2Dbar%2Dstriped%2C%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3B%2Dwebkit%2Dbackground%2Dsize%3A40px%2040px%3Bbackground%2Dsize%3A40px%2040px%7D%2Eprogress%2Dbar%2Eactive%2C%2Eprogress%2Eactive%20%2Eprogress%2Dbar%7B%2Dwebkit%2Danimation%3Aprogress%2Dbar%2Dstripes%202s%20linear%20infinite%3B%2Do%2Danimation%3Aprogress%2Dbar%2Dstripes%202s%20linear%20infinite%3Banimation%3Aprogress%2Dbar%2Dstripes%202s%20linear%20infinite%7D%2Eprogress%2Dbar%2Dsuccess%7Bbackground%2Dcolor%3A%235cb85c%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Dsuccess%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Eprogress%2Dbar%2Dinfo%7Bbackground%2Dcolor%3A%235bc0de%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Dinfo%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Eprogress%2Dbar%2Dwarning%7Bbackground%2Dcolor%3A%23f0ad4e%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Dwarning%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Eprogress%2Dbar%2Ddanger%7Bbackground%2Dcolor%3A%23d9534f%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Ddanger%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Emedia%7Bmargin%2Dtop%3A15px%7D%2Emedia%3Afirst%2Dchild%7Bmargin%2Dtop%3A0%7D%2Emedia%2C%2Emedia%2Dbody%7Boverflow%3Ahidden%3Bzoom%3A1%7D%2Emedia%2Dbody%7Bwidth%3A10000px%7D%2Emedia%2Dobject%7Bdisplay%3Ablock%7D%2Emedia%2Dobject%2Eimg%2Dthumbnail%7Bmax%2Dwidth%3Anone%7D%2Emedia%2Dright%2C%2Emedia%3E%2Epull%2Dright%7Bpadding%2Dleft%3A10px%7D%2Emedia%2Dleft%2C%2Emedia%3E%2Epull%2Dleft%7Bpadding%2Dright%3A10px%7D%2Emedia%2Dbody%2C%2Emedia%2Dleft%2C%2Emedia%2Dright%7Bdisplay%3Atable%2Dcell%3Bvertical%2Dalign%3Atop%7D%2Emedia%2Dmiddle%7Bvertical%2Dalign%3Amiddle%7D%2Emedia%2Dbottom%7Bvertical%2Dalign%3Abottom%7D%2Emedia%2Dheading%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A5px%7D%2Emedia%2Dlist%7Bpadding%2Dleft%3A0%3Blist%2Dstyle%3Anone%7D%2Elist%2Dgroup%7Bpadding%2Dleft%3A0%3Bmargin%2Dbottom%3A20px%7D%2Elist%2Dgroup%2Ditem%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bpadding%3A10px%2015px%3Bmargin%2Dbottom%3A%2D1px%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%7D%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A4px%3Bborder%2Dtop%2Dright%2Dradius%3A4px%7D%2Elist%2Dgroup%2Ditem%3Alast%2Dchild%7Bmargin%2Dbottom%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dleft%2Dradius%3A4px%7Da%2Elist%2Dgroup%2Ditem%2Cbutton%2Elist%2Dgroup%2Ditem%7Bcolor%3A%23555%7Da%2Elist%2Dgroup%2Ditem%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3A%23333%7Da%2Elist%2Dgroup%2Ditem%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%3Ahover%7Bcolor%3A%23555%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23f5f5f5%7Dbutton%2Elist%2Dgroup%2Ditem%7Bwidth%3A100%25%3Btext%2Dalign%3Aleft%7D%2Elist%2Dgroup%2Ditem%2Edisabled%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Afocus%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Ahover%7Bcolor%3A%23777%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3A%23eee%7D%2Elist%2Dgroup%2Ditem%2Edisabled%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7D%2Elist%2Dgroup%2Ditem%2Edisabled%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dtext%7Bcolor%3A%23777%7D%2Elist%2Dgroup%2Ditem%2Eactive%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%7Bz%2Dindex%3A2%3Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%23337ab7%7D%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dheading%3E%2Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dheading%3Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%3E%2Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%3Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%3E%2Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%3Esmall%7Bcolor%3Ainherit%7D%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dtext%7Bcolor%3A%23c7ddef%7D%2Elist%2Dgroup%2Ditem%2Dsuccess%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%7Bcolor%3A%233c763d%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dsuccess%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%3Ahover%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23d0e9c6%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%233c763d%3Bborder%2Dcolor%3A%233c763d%7D%2Elist%2Dgroup%2Ditem%2Dinfo%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23d9edf7%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%7Bcolor%3A%2331708f%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dinfo%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%3Ahover%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23c4e3f3%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331708f%3Bborder%2Dcolor%3A%2331708f%7D%2Elist%2Dgroup%2Ditem%2Dwarning%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%7Bcolor%3A%238a6d3b%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dwarning%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%3Ahover%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23faf2cc%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%238a6d3b%3Bborder%2Dcolor%3A%238a6d3b%7D%2Elist%2Dgroup%2Ditem%2Ddanger%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%7Bcolor%3A%23a94442%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Ddanger%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%3Ahover%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23ebcccc%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23a94442%3Bborder%2Dcolor%3A%23a94442%7D%2Elist%2Dgroup%2Ditem%2Dheading%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A5px%7D%2Elist%2Dgroup%2Ditem%2Dtext%7Bmargin%2Dbottom%3A0%3Bline%2Dheight%3A1%2E3%7D%2Epanel%7Bmargin%2Dbottom%3A20px%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3A0%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%3Bbox%2Dshadow%3A0%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%7D%2Epanel%2Dbody%7Bpadding%3A15px%7D%2Epanel%2Dheading%7Bpadding%3A10px%2015px%3Bborder%2Dbottom%3A1px%20solid%20transparent%3Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%2Dheading%3E%2Edropdown%20%2Edropdown%2Dtoggle%7Bcolor%3Ainherit%7D%2Epanel%2Dtitle%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%3Bfont%2Dsize%3A16px%3Bcolor%3Ainherit%7D%2Epanel%2Dtitle%3E%2Esmall%2C%2Epanel%2Dtitle%3E%2Esmall%3Ea%2C%2Epanel%2Dtitle%3Ea%2C%2Epanel%2Dtitle%3Esmall%2C%2Epanel%2Dtitle%3Esmall%3Ea%7Bcolor%3Ainherit%7D%2Epanel%2Dfooter%7Bpadding%3A10px%2015px%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dtop%3A1px%20solid%20%23ddd%3Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Elist%2Dgroup%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%7Bmargin%2Dbottom%3A0%7D%2Epanel%3E%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%7Bborder%2Dwidth%3A1px%200%3Bborder%2Dradius%3A0%7D%2Epanel%3E%2Elist%2Dgroup%3Afirst%2Dchild%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%3Afirst%2Dchild%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Elist%2Dgroup%3Alast%2Dchild%20%2Elist%2Dgroup%2Ditem%3Alast%2Dchild%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%3Alast%2Dchild%20%2Elist%2Dgroup%2Ditem%3Alast%2Dchild%7Bborder%2Dbottom%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Epanel%2Dheading%2B%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%2Dwidth%3A0%7D%2Elist%2Dgroup%2B%2Epanel%2Dfooter%7Bborder%2Dtop%2Dwidth%3A0%7D%2Epanel%3E%2Epanel%2Dcollapse%3E%2Etable%2C%2Epanel%3E%2Etable%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%7Bmargin%2Dbottom%3A0%7D%2Epanel%3E%2Epanel%2Dcollapse%3E%2Etable%20caption%2C%2Epanel%3E%2Etable%20caption%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%20caption%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%7Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%7Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%7Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%7Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%7Bborder%2Dbottom%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Epanel%2Dbody%2B%2Etable%2C%2Epanel%3E%2Epanel%2Dbody%2B%2Etable%2Dresponsive%2C%2Epanel%3E%2Etable%2B%2Epanel%2Dbody%2C%2Epanel%3E%2Etable%2Dresponsive%2B%2Epanel%2Dbody%7Bborder%2Dtop%3A1px%20solid%20%23ddd%7D%2Epanel%3E%2Etable%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%2C%2Epanel%3E%2Etable%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%7Bborder%2Dtop%3A0%7D%2Epanel%3E%2Etable%2Dbordered%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%7Bborder%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Afirst%2Dchild%7Bborder%2Dleft%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Alast%2Dchild%7Bborder%2Dright%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Eth%7Bborder%2Dbottom%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Eth%7Bborder%2Dbottom%3A0%7D%2Epanel%3E%2Etable%2Dresponsive%7Bmargin%2Dbottom%3A0%3Bborder%3A0%7D%2Epanel%2Dgroup%7Bmargin%2Dbottom%3A20px%7D%2Epanel%2Dgroup%20%2Epanel%7Bmargin%2Dbottom%3A0%3Bborder%2Dradius%3A4px%7D%2Epanel%2Dgroup%20%2Epanel%2B%2Epanel%7Bmargin%2Dtop%3A5px%7D%2Epanel%2Dgroup%20%2Epanel%2Dheading%7Bborder%2Dbottom%3A0%7D%2Epanel%2Dgroup%20%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%2C%2Epanel%2Dgroup%20%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%3A1px%20solid%20%23ddd%7D%2Epanel%2Dgroup%20%2Epanel%2Dfooter%7Bborder%2Dtop%3A0%7D%2Epanel%2Dgroup%20%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%20%2Epanel%2Dbody%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%7D%2Epanel%2Ddefault%7Bborder%2Dcolor%3A%23ddd%7D%2Epanel%2Ddefault%3E%2Epanel%2Dheading%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dcolor%3A%23ddd%7D%2Epanel%2Ddefault%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23ddd%7D%2Epanel%2Ddefault%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23f5f5f5%3Bbackground%2Dcolor%3A%23333%7D%2Epanel%2Ddefault%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23ddd%7D%2Epanel%2Dprimary%7Bborder%2Dcolor%3A%23337ab7%7D%2Epanel%2Dprimary%3E%2Epanel%2Dheading%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%23337ab7%7D%2Epanel%2Dprimary%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23337ab7%7D%2Epanel%2Dprimary%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23337ab7%3Bbackground%2Dcolor%3A%23fff%7D%2Epanel%2Dprimary%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23337ab7%7D%2Epanel%2Dsuccess%7Bborder%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dheading%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%3Bborder%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23dff0d8%3Bbackground%2Dcolor%3A%233c763d%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dinfo%7Bborder%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dinfo%3E%2Epanel%2Dheading%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23d9edf7%3Bborder%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dinfo%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dinfo%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23d9edf7%3Bbackground%2Dcolor%3A%2331708f%7D%2Epanel%2Dinfo%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dwarning%7Bborder%2Dcolor%3A%23faebcc%7D%2Epanel%2Dwarning%3E%2Epanel%2Dheading%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%3Bborder%2Dcolor%3A%23faebcc%7D%2Epanel%2Dwarning%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23faebcc%7D%2Epanel%2Dwarning%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23fcf8e3%3Bbackground%2Dcolor%3A%238a6d3b%7D%2Epanel%2Dwarning%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23faebcc%7D%2Epanel%2Ddanger%7Bborder%2Dcolor%3A%23ebccd1%7D%2Epanel%2Ddanger%3E%2Epanel%2Dheading%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%3Bborder%2Dcolor%3A%23ebccd1%7D%2Epanel%2Ddanger%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23ebccd1%7D%2Epanel%2Ddanger%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23f2dede%3Bbackground%2Dcolor%3A%23a94442%7D%2Epanel%2Ddanger%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23ebccd1%7D%2Eembed%2Dresponsive%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bheight%3A0%3Bpadding%3A0%3Boverflow%3Ahidden%7D%2Eembed%2Dresponsive%20%2Eembed%2Dresponsive%2Ditem%2C%2Eembed%2Dresponsive%20embed%2C%2Eembed%2Dresponsive%20iframe%2C%2Eembed%2Dresponsive%20object%2C%2Eembed%2Dresponsive%20video%7Bposition%3Aabsolute%3Btop%3A0%3Bbottom%3A0%3Bleft%3A0%3Bwidth%3A100%25%3Bheight%3A100%25%3Bborder%3A0%7D%2Eembed%2Dresponsive%2D16by9%7Bpadding%2Dbottom%3A56%2E25%25%7D%2Eembed%2Dresponsive%2D4by3%7Bpadding%2Dbottom%3A75%25%7D%2Ewell%7Bmin%2Dheight%3A20px%3Bpadding%3A19px%3Bmargin%2Dbottom%3A20px%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%3A1px%20solid%20%23e3e3e3%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%7D%2Ewell%20blockquote%7Bborder%2Dcolor%3A%23ddd%3Bborder%2Dcolor%3Argba%280%2C0%2C0%2C%2E15%29%7D%2Ewell%2Dlg%7Bpadding%3A24px%3Bborder%2Dradius%3A6px%7D%2Ewell%2Dsm%7Bpadding%3A9px%3Bborder%2Dradius%3A3px%7D%2Eclose%7Bfloat%3Aright%3Bfont%2Dsize%3A21px%3Bfont%2Dweight%3A700%3Bline%2Dheight%3A1%3Bcolor%3A%23000%3Btext%2Dshadow%3A0%201px%200%20%23fff%3Bfilter%3Aalpha%28opacity%3D20%29%3Bopacity%3A%2E2%7D%2Eclose%3Afocus%2C%2Eclose%3Ahover%7Bcolor%3A%23000%3Btext%2Ddecoration%3Anone%3Bcursor%3Apointer%3Bfilter%3Aalpha%28opacity%3D50%29%3Bopacity%3A%2E5%7Dbutton%2Eclose%7B%2Dwebkit%2Dappearance%3Anone%3Bpadding%3A0%3Bcursor%3Apointer%3Bbackground%3A0%200%3Bborder%3A0%7D%2Emodal%2Dopen%7Boverflow%3Ahidden%7D%2Emodal%7Bposition%3Afixed%3Btop%3A0%3Bright%3A0%3Bbottom%3A0%3Bleft%3A0%3Bz%2Dindex%3A1050%3Bdisplay%3Anone%3Boverflow%3Ahidden%3B%2Dwebkit%2Doverflow%2Dscrolling%3Atouch%3Boutline%3A0%7D%2Emodal%2Efade%20%2Emodal%2Ddialog%7B%2Dwebkit%2Dtransition%3A%2Dwebkit%2Dtransform%20%2E3s%20ease%2Dout%3B%2Do%2Dtransition%3A%2Do%2Dtransform%20%2E3s%20ease%2Dout%3Btransition%3Atransform%20%2E3s%20ease%2Dout%3B%2Dwebkit%2Dtransform%3Atranslate%280%2C%2D25%25%29%3B%2Dms%2Dtransform%3Atranslate%280%2C%2D25%25%29%3B%2Do%2Dtransform%3Atranslate%280%2C%2D25%25%29%3Btransform%3Atranslate%280%2C%2D25%25%29%7D%2Emodal%2Ein%20%2Emodal%2Ddialog%7B%2Dwebkit%2Dtransform%3Atranslate%280%2C0%29%3B%2Dms%2Dtransform%3Atranslate%280%2C0%29%3B%2Do%2Dtransform%3Atranslate%280%2C0%29%3Btransform%3Atranslate%280%2C0%29%7D%2Emodal%2Dopen%20%2Emodal%7Boverflow%2Dx%3Ahidden%3Boverflow%2Dy%3Aauto%7D%2Emodal%2Ddialog%7Bposition%3Arelative%3Bwidth%3Aauto%3Bmargin%3A10px%7D%2Emodal%2Dcontent%7Bposition%3Arelative%3Bbackground%2Dcolor%3A%23fff%3B%2Dwebkit%2Dbackground%2Dclip%3Apadding%2Dbox%3Bbackground%2Dclip%3Apadding%2Dbox%3Bborder%3A1px%20solid%20%23999%3Bborder%3A1px%20solid%20rgba%280%2C0%2C0%2C%2E2%29%3Bborder%2Dradius%3A6px%3Boutline%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3A0%203px%209px%20rgba%280%2C0%2C0%2C%2E5%29%3Bbox%2Dshadow%3A0%203px%209px%20rgba%280%2C0%2C0%2C%2E5%29%7D%2Emodal%2Dbackdrop%7Bposition%3Afixed%3Btop%3A0%3Bright%3A0%3Bbottom%3A0%3Bleft%3A0%3Bz%2Dindex%3A1040%3Bbackground%2Dcolor%3A%23000%7D%2Emodal%2Dbackdrop%2Efade%7Bfilter%3Aalpha%28opacity%3D0%29%3Bopacity%3A0%7D%2Emodal%2Dbackdrop%2Ein%7Bfilter%3Aalpha%28opacity%3D50%29%3Bopacity%3A%2E5%7D%2Emodal%2Dheader%7Bmin%2Dheight%3A16%2E43px%3Bpadding%3A15px%3Bborder%2Dbottom%3A1px%20solid%20%23e5e5e5%7D%2Emodal%2Dheader%20%2Eclose%7Bmargin%2Dtop%3A%2D2px%7D%2Emodal%2Dtitle%7Bmargin%3A0%3Bline%2Dheight%3A1%2E42857143%7D%2Emodal%2Dbody%7Bposition%3Arelative%3Bpadding%3A15px%7D%2Emodal%2Dfooter%7Bpadding%3A15px%3Btext%2Dalign%3Aright%3Bborder%2Dtop%3A1px%20solid%20%23e5e5e5%7D%2Emodal%2Dfooter%20%2Ebtn%2B%2Ebtn%7Bmargin%2Dbottom%3A0%3Bmargin%2Dleft%3A5px%7D%2Emodal%2Dfooter%20%2Ebtn%2Dgroup%20%2Ebtn%2B%2Ebtn%7Bmargin%2Dleft%3A%2D1px%7D%2Emodal%2Dfooter%20%2Ebtn%2Dblock%2B%2Ebtn%2Dblock%7Bmargin%2Dleft%3A0%7D%2Emodal%2Dscrollbar%2Dmeasure%7Bposition%3Aabsolute%3Btop%3A%2D9999px%3Bwidth%3A50px%3Bheight%3A50px%3Boverflow%3Ascroll%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Emodal%2Ddialog%7Bwidth%3A600px%3Bmargin%3A30px%20auto%7D%2Emodal%2Dcontent%7B%2Dwebkit%2Dbox%2Dshadow%3A0%205px%2015px%20rgba%280%2C0%2C0%2C%2E5%29%3Bbox%2Dshadow%3A0%205px%2015px%20rgba%280%2C0%2C0%2C%2E5%29%7D%2Emodal%2Dsm%7Bwidth%3A300px%7D%7D%40media%20%28min%2Dwidth%3A992px%29%7B%2Emodal%2Dlg%7Bwidth%3A900px%7D%7D%2Etooltip%7Bposition%3Aabsolute%3Bz%2Dindex%3A1070%3Bdisplay%3Ablock%3Bfont%2Dfamily%3A%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans%2Dserif%3Bfont%2Dsize%3A12px%3Bfont%2Dstyle%3Anormal%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Btext%2Dalign%3Aleft%3Btext%2Dalign%3Astart%3Btext%2Ddecoration%3Anone%3Btext%2Dshadow%3Anone%3Btext%2Dtransform%3Anone%3Bletter%2Dspacing%3Anormal%3Bword%2Dbreak%3Anormal%3Bword%2Dspacing%3Anormal%3Bword%2Dwrap%3Anormal%3Bwhite%2Dspace%3Anormal%3Bfilter%3Aalpha%28opacity%3D0%29%3Bopacity%3A0%3Bline%2Dbreak%3Aauto%7D%2Etooltip%2Ein%7Bfilter%3Aalpha%28opacity%3D90%29%3Bopacity%3A%2E9%7D%2Etooltip%2Etop%7Bpadding%3A5px%200%3Bmargin%2Dtop%3A%2D3px%7D%2Etooltip%2Eright%7Bpadding%3A0%205px%3Bmargin%2Dleft%3A3px%7D%2Etooltip%2Ebottom%7Bpadding%3A5px%200%3Bmargin%2Dtop%3A3px%7D%2Etooltip%2Eleft%7Bpadding%3A0%205px%3Bmargin%2Dleft%3A%2D3px%7D%2Etooltip%2Dinner%7Bmax%2Dwidth%3A200px%3Bpadding%3A3px%208px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bbackground%2Dcolor%3A%23000%3Bborder%2Dradius%3A4px%7D%2Etooltip%2Darrow%7Bposition%3Aabsolute%3Bwidth%3A0%3Bheight%3A0%3Bborder%2Dcolor%3Atransparent%3Bborder%2Dstyle%3Asolid%7D%2Etooltip%2Etop%20%2Etooltip%2Darrow%7Bbottom%3A0%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dtop%2Dcolor%3A%23000%7D%2Etooltip%2Etop%2Dleft%20%2Etooltip%2Darrow%7Bright%3A5px%3Bbottom%3A0%3Bmargin%2Dbottom%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dtop%2Dcolor%3A%23000%7D%2Etooltip%2Etop%2Dright%20%2Etooltip%2Darrow%7Bbottom%3A0%3Bleft%3A5px%3Bmargin%2Dbottom%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dtop%2Dcolor%3A%23000%7D%2Etooltip%2Eright%20%2Etooltip%2Darrow%7Btop%3A50%25%3Bleft%3A0%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%205px%200%3Bborder%2Dright%2Dcolor%3A%23000%7D%2Etooltip%2Eleft%20%2Etooltip%2Darrow%7Btop%3A50%25%3Bright%3A0%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A5px%200%205px%205px%3Bborder%2Dleft%2Dcolor%3A%23000%7D%2Etooltip%2Ebottom%20%2Etooltip%2Darrow%7Btop%3A0%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D5px%3Bborder%2Dwidth%3A0%205px%205px%3Bborder%2Dbottom%2Dcolor%3A%23000%7D%2Etooltip%2Ebottom%2Dleft%20%2Etooltip%2Darrow%7Btop%3A0%3Bright%3A5px%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A0%205px%205px%3Bborder%2Dbottom%2Dcolor%3A%23000%7D%2Etooltip%2Ebottom%2Dright%20%2Etooltip%2Darrow%7Btop%3A0%3Bleft%3A5px%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A0%205px%205px%3Bborder%2Dbottom%2Dcolor%3A%23000%7D%2Epopover%7Bposition%3Aabsolute%3Btop%3A0%3Bleft%3A0%3Bz%2Dindex%3A1060%3Bdisplay%3Anone%3Bmax%2Dwidth%3A276px%3Bpadding%3A1px%3Bfont%2Dfamily%3A%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans%2Dserif%3Bfont%2Dsize%3A14px%3Bfont%2Dstyle%3Anormal%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Btext%2Dalign%3Aleft%3Btext%2Dalign%3Astart%3Btext%2Ddecoration%3Anone%3Btext%2Dshadow%3Anone%3Btext%2Dtransform%3Anone%3Bletter%2Dspacing%3Anormal%3Bword%2Dbreak%3Anormal%3Bword%2Dspacing%3Anormal%3Bword%2Dwrap%3Anormal%3Bwhite%2Dspace%3Anormal%3Bbackground%2Dcolor%3A%23fff%3B%2Dwebkit%2Dbackground%2Dclip%3Apadding%2Dbox%3Bbackground%2Dclip%3Apadding%2Dbox%3Bborder%3A1px%20solid%20%23ccc%3Bborder%3A1px%20solid%20rgba%280%2C0%2C0%2C%2E2%29%3Bborder%2Dradius%3A6px%3B%2Dwebkit%2Dbox%2Dshadow%3A0%205px%2010px%20rgba%280%2C0%2C0%2C%2E2%29%3Bbox%2Dshadow%3A0%205px%2010px%20rgba%280%2C0%2C0%2C%2E2%29%3Bline%2Dbreak%3Aauto%7D%2Epopover%2Etop%7Bmargin%2Dtop%3A%2D10px%7D%2Epopover%2Eright%7Bmargin%2Dleft%3A10px%7D%2Epopover%2Ebottom%7Bmargin%2Dtop%3A10px%7D%2Epopover%2Eleft%7Bmargin%2Dleft%3A%2D10px%7D%2Epopover%2Dtitle%7Bpadding%3A8px%2014px%3Bmargin%3A0%3Bfont%2Dsize%3A14px%3Bbackground%2Dcolor%3A%23f7f7f7%3Bborder%2Dbottom%3A1px%20solid%20%23ebebeb%3Bborder%2Dradius%3A5px%205px%200%200%7D%2Epopover%2Dcontent%7Bpadding%3A9px%2014px%7D%2Epopover%3E%2Earrow%2C%2Epopover%3E%2Earrow%3Aafter%7Bposition%3Aabsolute%3Bdisplay%3Ablock%3Bwidth%3A0%3Bheight%3A0%3Bborder%2Dcolor%3Atransparent%3Bborder%2Dstyle%3Asolid%7D%2Epopover%3E%2Earrow%7Bborder%2Dwidth%3A11px%7D%2Epopover%3E%2Earrow%3Aafter%7Bcontent%3A%22%22%3Bborder%2Dwidth%3A10px%7D%2Epopover%2Etop%3E%2Earrow%7Bbottom%3A%2D11px%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D11px%3Bborder%2Dtop%2Dcolor%3A%23999%3Bborder%2Dtop%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%3Bborder%2Dbottom%2Dwidth%3A0%7D%2Epopover%2Etop%3E%2Earrow%3Aafter%7Bbottom%3A1px%3Bmargin%2Dleft%3A%2D10px%3Bcontent%3A%22%20%22%3Bborder%2Dtop%2Dcolor%3A%23fff%3Bborder%2Dbottom%2Dwidth%3A0%7D%2Epopover%2Eright%3E%2Earrow%7Btop%3A50%25%3Bleft%3A%2D11px%3Bmargin%2Dtop%3A%2D11px%3Bborder%2Dright%2Dcolor%3A%23999%3Bborder%2Dright%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%3Bborder%2Dleft%2Dwidth%3A0%7D%2Epopover%2Eright%3E%2Earrow%3Aafter%7Bbottom%3A%2D10px%3Bleft%3A1px%3Bcontent%3A%22%20%22%3Bborder%2Dright%2Dcolor%3A%23fff%3Bborder%2Dleft%2Dwidth%3A0%7D%2Epopover%2Ebottom%3E%2Earrow%7Btop%3A%2D11px%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D11px%3Bborder%2Dtop%2Dwidth%3A0%3Bborder%2Dbottom%2Dcolor%3A%23999%3Bborder%2Dbottom%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%7D%2Epopover%2Ebottom%3E%2Earrow%3Aafter%7Btop%3A1px%3Bmargin%2Dleft%3A%2D10px%3Bcontent%3A%22%20%22%3Bborder%2Dtop%2Dwidth%3A0%3Bborder%2Dbottom%2Dcolor%3A%23fff%7D%2Epopover%2Eleft%3E%2Earrow%7Btop%3A50%25%3Bright%3A%2D11px%3Bmargin%2Dtop%3A%2D11px%3Bborder%2Dright%2Dwidth%3A0%3Bborder%2Dleft%2Dcolor%3A%23999%3Bborder%2Dleft%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%7D%2Epopover%2Eleft%3E%2Earrow%3Aafter%7Bright%3A1px%3Bbottom%3A%2D10px%3Bcontent%3A%22%20%22%3Bborder%2Dright%2Dwidth%3A0%3Bborder%2Dleft%2Dcolor%3A%23fff%7D%2Ecarousel%7Bposition%3Arelative%7D%2Ecarousel%2Dinner%7Bposition%3Arelative%3Bwidth%3A100%25%3Boverflow%3Ahidden%7D%2Ecarousel%2Dinner%3E%2Eitem%7Bposition%3Arelative%3Bdisplay%3Anone%3B%2Dwebkit%2Dtransition%3A%2E6s%20ease%2Din%2Dout%20left%3B%2Do%2Dtransition%3A%2E6s%20ease%2Din%2Dout%20left%3Btransition%3A%2E6s%20ease%2Din%2Dout%20left%7D%2Ecarousel%2Dinner%3E%2Eitem%3Ea%3Eimg%2C%2Ecarousel%2Dinner%3E%2Eitem%3Eimg%7Bline%2Dheight%3A1%7D%40media%20all%20and%20%28transform%2D3d%29%2C%28%2Dwebkit%2Dtransform%2D3d%29%7B%2Ecarousel%2Dinner%3E%2Eitem%7B%2Dwebkit%2Dtransition%3A%2Dwebkit%2Dtransform%20%2E6s%20ease%2Din%2Dout%3B%2Do%2Dtransition%3A%2Do%2Dtransform%20%2E6s%20ease%2Din%2Dout%3Btransition%3Atransform%20%2E6s%20ease%2Din%2Dout%3B%2Dwebkit%2Dbackface%2Dvisibility%3Ahidden%3Bbackface%2Dvisibility%3Ahidden%3B%2Dwebkit%2Dperspective%3A1000px%3Bperspective%3A1000px%7D%2Ecarousel%2Dinner%3E%2Eitem%2Eactive%2Eright%2C%2Ecarousel%2Dinner%3E%2Eitem%2Enext%7Bleft%3A0%3B%2Dwebkit%2Dtransform%3Atranslate3d%28100%25%2C0%2C0%29%3Btransform%3Atranslate3d%28100%25%2C0%2C0%29%7D%2Ecarousel%2Dinner%3E%2Eitem%2Eactive%2Eleft%2C%2Ecarousel%2Dinner%3E%2Eitem%2Eprev%7Bleft%3A0%3B%2Dwebkit%2Dtransform%3Atranslate3d%28%2D100%25%2C0%2C0%29%3Btransform%3Atranslate3d%28%2D100%25%2C0%2C0%29%7D%2Ecarousel%2Dinner%3E%2Eitem%2Eactive%2C%2Ecarousel%2Dinner%3E%2Eitem%2Enext%2Eleft%2C%2Ecarousel%2Dinner%3E%2Eitem%2Eprev%2Eright%7Bleft%3A0%3B%2Dwebkit%2Dtransform%3Atranslate3d%280%2C0%2C0%29%3Btransform%3Atranslate3d%280%2C0%2C0%29%7D%7D%2Ecarousel%2Dinner%3E%2Eactive%2C%2Ecarousel%2Dinner%3E%2Enext%2C%2Ecarousel%2Dinner%3E%2Eprev%7Bdisplay%3Ablock%7D%2Ecarousel%2Dinner%3E%2Eactive%7Bleft%3A0%7D%2Ecarousel%2Dinner%3E%2Enext%2C%2Ecarousel%2Dinner%3E%2Eprev%7Bposition%3Aabsolute%3Btop%3A0%3Bwidth%3A100%25%7D%2Ecarousel%2Dinner%3E%2Enext%7Bleft%3A100%25%7D%2Ecarousel%2Dinner%3E%2Eprev%7Bleft%3A%2D100%25%7D%2Ecarousel%2Dinner%3E%2Enext%2Eleft%2C%2Ecarousel%2Dinner%3E%2Eprev%2Eright%7Bleft%3A0%7D%2Ecarousel%2Dinner%3E%2Eactive%2Eleft%7Bleft%3A%2D100%25%7D%2Ecarousel%2Dinner%3E%2Eactive%2Eright%7Bleft%3A100%25%7D%2Ecarousel%2Dcontrol%7Bposition%3Aabsolute%3Btop%3A0%3Bbottom%3A0%3Bleft%3A0%3Bwidth%3A15%25%3Bfont%2Dsize%3A20px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Btext%2Dshadow%3A0%201px%202px%20rgba%280%2C0%2C0%2C%2E6%29%3Bfilter%3Aalpha%28opacity%3D50%29%3Bopacity%3A%2E5%7D%2Ecarousel%2Dcontrol%2Eleft%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E5%29%200%2Crgba%280%2C0%2C0%2C%2E0001%29%20100%25%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E5%29%200%2Crgba%280%2C0%2C0%2C%2E0001%29%20100%25%29%3Bbackground%2Dimage%3A%2Dwebkit%2Dgradient%28linear%2Cleft%20top%2Cright%20top%2Cfrom%28rgba%280%2C0%2C0%2C%2E5%29%29%2Cto%28rgba%280%2C0%2C0%2C%2E0001%29%29%29%3Bbackground%2Dimage%3Alinear%2Dgradient%28to%20right%2Crgba%280%2C0%2C0%2C%2E5%29%200%2Crgba%280%2C0%2C0%2C%2E0001%29%20100%25%29%3Bfilter%3Aprogid%3ADXImageTransform%2EMicrosoft%2Egradient%28startColorstr%3D%27%2380000000%27%2C%20endColorstr%3D%27%2300000000%27%2C%20GradientType%3D1%29%3Bbackground%2Drepeat%3Arepeat%2Dx%7D%2Ecarousel%2Dcontrol%2Eright%7Bright%3A0%3Bleft%3Aauto%3Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E0001%29%200%2Crgba%280%2C0%2C0%2C%2E5%29%20100%25%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E0001%29%200%2Crgba%280%2C0%2C0%2C%2E5%29%20100%25%29%3Bbackground%2Dimage%3A%2Dwebkit%2Dgradient%28linear%2Cleft%20top%2Cright%20top%2Cfrom%28rgba%280%2C0%2C0%2C%2E0001%29%29%2Cto%28rgba%280%2C0%2C0%2C%2E5%29%29%29%3Bbackground%2Dimage%3Alinear%2Dgradient%28to%20right%2Crgba%280%2C0%2C0%2C%2E0001%29%200%2Crgba%280%2C0%2C0%2C%2E5%29%20100%25%29%3Bfilter%3Aprogid%3ADXImageTransform%2EMicrosoft%2Egradient%28startColorstr%3D%27%2300000000%27%2C%20endColorstr%3D%27%2380000000%27%2C%20GradientType%3D1%29%3Bbackground%2Drepeat%3Arepeat%2Dx%7D%2Ecarousel%2Dcontrol%3Afocus%2C%2Ecarousel%2Dcontrol%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bfilter%3Aalpha%28opacity%3D90%29%3Boutline%3A0%3Bopacity%3A%2E9%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bposition%3Aabsolute%3Btop%3A50%25%3Bz%2Dindex%3A5%3Bdisplay%3Ainline%2Dblock%3Bmargin%2Dtop%3A%2D10px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bleft%3A50%25%3Bmargin%2Dleft%3A%2D10px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%7Bright%3A50%25%3Bmargin%2Dright%3A%2D10px%7D%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bwidth%3A20px%3Bheight%3A20px%3Bfont%2Dfamily%3Aserif%3Bline%2Dheight%3A1%7D%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%3Abefore%7Bcontent%3A%27%5C2039%27%7D%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%3Abefore%7Bcontent%3A%27%5C203a%27%7D%2Ecarousel%2Dindicators%7Bposition%3Aabsolute%3Bbottom%3A10px%3Bleft%3A50%25%3Bz%2Dindex%3A15%3Bwidth%3A60%25%3Bpadding%2Dleft%3A0%3Bmargin%2Dleft%3A%2D30%25%3Btext%2Dalign%3Acenter%3Blist%2Dstyle%3Anone%7D%2Ecarousel%2Dindicators%20li%7Bdisplay%3Ainline%2Dblock%3Bwidth%3A10px%3Bheight%3A10px%3Bmargin%3A1px%3Btext%2Dindent%3A%2D999px%3Bcursor%3Apointer%3Bbackground%2Dcolor%3A%23000%5C9%3Bbackground%2Dcolor%3Argba%280%2C0%2C0%2C0%29%3Bborder%3A1px%20solid%20%23fff%3Bborder%2Dradius%3A10px%7D%2Ecarousel%2Dindicators%20%2Eactive%7Bwidth%3A12px%3Bheight%3A12px%3Bmargin%3A0%3Bbackground%2Dcolor%3A%23fff%7D%2Ecarousel%2Dcaption%7Bposition%3Aabsolute%3Bright%3A15%25%3Bbottom%3A20px%3Bleft%3A15%25%3Bz%2Dindex%3A10%3Bpadding%2Dtop%3A20px%3Bpadding%2Dbottom%3A20px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Btext%2Dshadow%3A0%201px%202px%20rgba%280%2C0%2C0%2C%2E6%29%7D%2Ecarousel%2Dcaption%20%2Ebtn%7Btext%2Dshadow%3Anone%7D%40media%20screen%20and%20%28min%2Dwidth%3A768px%29%7B%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bwidth%3A30px%3Bheight%3A30px%3Bmargin%2Dtop%3A%2D15px%3Bfont%2Dsize%3A30px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bmargin%2Dleft%3A%2D15px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%7Bmargin%2Dright%3A%2D15px%7D%2Ecarousel%2Dcaption%7Bright%3A20%25%3Bleft%3A20%25%3Bpadding%2Dbottom%3A30px%7D%2Ecarousel%2Dindicators%7Bbottom%3A20px%7D%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Aafter%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Abefore%2C%2Ebtn%2Dtoolbar%3Aafter%2C%2Ebtn%2Dtoolbar%3Abefore%2C%2Eclearfix%3Aafter%2C%2Eclearfix%3Abefore%2C%2Econtainer%2Dfluid%3Aafter%2C%2Econtainer%2Dfluid%3Abefore%2C%2Econtainer%3Aafter%2C%2Econtainer%3Abefore%2C%2Edl%2Dhorizontal%20dd%3Aafter%2C%2Edl%2Dhorizontal%20dd%3Abefore%2C%2Eform%2Dhorizontal%20%2Eform%2Dgroup%3Aafter%2C%2Eform%2Dhorizontal%20%2Eform%2Dgroup%3Abefore%2C%2Emodal%2Dfooter%3Aafter%2C%2Emodal%2Dfooter%3Abefore%2C%2Enav%3Aafter%2C%2Enav%3Abefore%2C%2Enavbar%2Dcollapse%3Aafter%2C%2Enavbar%2Dcollapse%3Abefore%2C%2Enavbar%2Dheader%3Aafter%2C%2Enavbar%2Dheader%3Abefore%2C%2Enavbar%3Aafter%2C%2Enavbar%3Abefore%2C%2Epager%3Aafter%2C%2Epager%3Abefore%2C%2Epanel%2Dbody%3Aafter%2C%2Epanel%2Dbody%3Abefore%2C%2Erow%3Aafter%2C%2Erow%3Abefore%7Bdisplay%3Atable%3Bcontent%3A%22%20%22%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Aafter%2C%2Ebtn%2Dtoolbar%3Aafter%2C%2Eclearfix%3Aafter%2C%2Econtainer%2Dfluid%3Aafter%2C%2Econtainer%3Aafter%2C%2Edl%2Dhorizontal%20dd%3Aafter%2C%2Eform%2Dhorizontal%20%2Eform%2Dgroup%3Aafter%2C%2Emodal%2Dfooter%3Aafter%2C%2Enav%3Aafter%2C%2Enavbar%2Dcollapse%3Aafter%2C%2Enavbar%2Dheader%3Aafter%2C%2Enavbar%3Aafter%2C%2Epager%3Aafter%2C%2Epanel%2Dbody%3Aafter%2C%2Erow%3Aafter%7Bclear%3Aboth%7D%2Ecenter%2Dblock%7Bdisplay%3Ablock%3Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7D%2Epull%2Dright%7Bfloat%3Aright%21important%7D%2Epull%2Dleft%7Bfloat%3Aleft%21important%7D%2Ehide%7Bdisplay%3Anone%21important%7D%2Eshow%7Bdisplay%3Ablock%21important%7D%2Einvisible%7Bvisibility%3Ahidden%7D%2Etext%2Dhide%7Bfont%3A0%2F0%20a%3Bcolor%3Atransparent%3Btext%2Dshadow%3Anone%3Bbackground%2Dcolor%3Atransparent%3Bborder%3A0%7D%2Ehidden%7Bdisplay%3Anone%21important%7D%2Eaffix%7Bposition%3Afixed%7D%40%2Dms%2Dviewport%7Bwidth%3Adevice%2Dwidth%7D%2Evisible%2Dlg%2C%2Evisible%2Dmd%2C%2Evisible%2Dsm%2C%2Evisible%2Dxs%7Bdisplay%3Anone%21important%7D%2Evisible%2Dlg%2Dblock%2C%2Evisible%2Dlg%2Dinline%2C%2Evisible%2Dlg%2Dinline%2Dblock%2C%2Evisible%2Dmd%2Dblock%2C%2Evisible%2Dmd%2Dinline%2C%2Evisible%2Dmd%2Dinline%2Dblock%2C%2Evisible%2Dsm%2Dblock%2C%2Evisible%2Dsm%2Dinline%2C%2Evisible%2Dsm%2Dinline%2Dblock%2C%2Evisible%2Dxs%2Dblock%2C%2Evisible%2Dxs%2Dinline%2C%2Evisible%2Dxs%2Dinline%2Dblock%7Bdisplay%3Anone%21important%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dxs%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dxs%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dxs%2Cth%2Evisible%2Dxs%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dsm%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dsm%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dsm%2Cth%2Evisible%2Dsm%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dmd%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dmd%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dmd%2Cth%2Evisible%2Dmd%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dlg%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dlg%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dlg%2Cth%2Evisible%2Dlg%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Ehidden%2Dxs%7Bdisplay%3Anone%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Ehidden%2Dsm%7Bdisplay%3Anone%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Ehidden%2Dmd%7Bdisplay%3Anone%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Ehidden%2Dlg%7Bdisplay%3Anone%21important%7D%7D%2Evisible%2Dprint%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dprint%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dprint%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dprint%2Cth%2Evisible%2Dprint%7Bdisplay%3Atable%2Dcell%21important%7D%7D%2Evisible%2Dprint%2Dblock%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%2Evisible%2Dprint%2Dinline%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%2Evisible%2Dprint%2Dinline%2Dblock%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20print%7B%2Ehidden%2Dprint%7Bdisplay%3Anone%21important%7D%7D%0A&quot; rel=&quot;stylesheet&quot; /&gt;
&lt;script src=&quot;data:application/javascript;base64,LyohCiAqIEJvb3RzdHJhcCB2My4zLjUgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKQogKiBDb3B5cmlnaHQgMjAxMS0yMDE1IFR3aXR0ZXIsIEluYy4KICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiAqLwppZigidW5kZWZpbmVkIj09dHlwZW9mIGpRdWVyeSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5Iik7K2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgYj1hLmZuLmpxdWVyeS5zcGxpdCgiICIpWzBdLnNwbGl0KCIuIik7aWYoYlswXTwyJiZiWzFdPDl8fDE9PWJbMF0mJjk9PWJbMV0mJmJbMl08MSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5IHZlcnNpb24gMS45LjEgb3IgaGlnaGVyIil9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9vdHN0cmFwIiksYj17V2Via2l0VHJhbnNpdGlvbjoid2Via2l0VHJhbnNpdGlvbkVuZCIsTW96VHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCIsT1RyYW5zaXRpb246Im9UcmFuc2l0aW9uRW5kIG90cmFuc2l0aW9uZW5kIix0cmFuc2l0aW9uOiJ0cmFuc2l0aW9uZW5kIn07Zm9yKHZhciBjIGluIGIpaWYodm9pZCAwIT09YS5zdHlsZVtjXSlyZXR1cm57ZW5kOmJbY119O3JldHVybiExfWEuZm4uZW11bGF0ZVRyYW5zaXRpb25FbmQ9ZnVuY3Rpb24oYil7dmFyIGM9ITEsZD10aGlzO2EodGhpcykub25lKCJic1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7Yz0hMH0pO3ZhciBlPWZ1bmN0aW9uKCl7Y3x8YShkKS50cmlnZ2VyKGEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCl9O3JldHVybiBzZXRUaW1lb3V0KGUsYiksdGhpc30sYShmdW5jdGlvbigpe2Euc3VwcG9ydC50cmFuc2l0aW9uPWIoKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmKGEuZXZlbnQuc3BlY2lhbC5ic1RyYW5zaXRpb25FbmQ9e2JpbmRUeXBlOmEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxkZWxlZ2F0ZVR5cGU6YS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLGhhbmRsZTpmdW5jdGlvbihiKXtyZXR1cm4gYShiLnRhcmdldCkuaXModGhpcyk/Yi5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfX0pfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLGU9Yy5kYXRhKCJicy5hbGVydCIpO2V8fGMuZGF0YSgiYnMuYWxlcnQiLGU9bmV3IGQodGhpcykpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXS5jYWxsKGMpfSl9dmFyIGM9J1tkYXRhLWRpc21pc3M9ImFsZXJ0Il0nLGQ9ZnVuY3Rpb24oYil7YShiKS5vbigiY2xpY2siLGMsdGhpcy5jbG9zZSl9O2QuVkVSU0lPTj0iMy4zLjUiLGQuVFJBTlNJVElPTl9EVVJBVElPTj0xNTAsZC5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gYygpe2cuZGV0YWNoKCkudHJpZ2dlcigiY2xvc2VkLmJzLmFsZXJ0IikucmVtb3ZlKCl9dmFyIGU9YSh0aGlzKSxmPWUuYXR0cigiZGF0YS10YXJnZXQiKTtmfHwoZj1lLmF0dHIoImhyZWYiKSxmPWYmJmYucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSk7dmFyIGc9YShmKTtiJiZiLnByZXZlbnREZWZhdWx0KCksZy5sZW5ndGh8fChnPWUuY2xvc2VzdCgiLmFsZXJ0IikpLGcudHJpZ2dlcihiPWEuRXZlbnQoImNsb3NlLmJzLmFsZXJ0IikpLGIuaXNEZWZhdWx0UHJldmVudGVkKCl8fChnLnJlbW92ZUNsYXNzKCJpbiIpLGEuc3VwcG9ydC50cmFuc2l0aW9uJiZnLmhhc0NsYXNzKCJmYWRlIik/Zy5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYykuZW11bGF0ZVRyYW5zaXRpb25FbmQoZC5UUkFOU0lUSU9OX0RVUkFUSU9OKTpjKCkpfTt2YXIgZT1hLmZuLmFsZXJ0O2EuZm4uYWxlcnQ9YixhLmZuLmFsZXJ0LkNvbnN0cnVjdG9yPWQsYS5mbi5hbGVydC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYWxlcnQ9ZSx0aGlzfSxhKGRvY3VtZW50KS5vbigiY2xpY2suYnMuYWxlcnQuZGF0YS1hcGkiLGMsZC5wcm90b3R5cGUuY2xvc2UpfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMuYnV0dG9uIiksZj0ib2JqZWN0Ij09dHlwZW9mIGImJmI7ZXx8ZC5kYXRhKCJicy5idXR0b24iLGU9bmV3IGModGhpcyxmKSksInRvZ2dsZSI9PWI/ZS50b2dnbGUoKTpiJiZlLnNldFN0YXRlKGIpfSl9dmFyIGM9ZnVuY3Rpb24oYixkKXt0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZCksdGhpcy5pc0xvYWRpbmc9ITF9O2MuVkVSU0lPTj0iMy4zLjUiLGMuREVGQVVMVFM9e2xvYWRpbmdUZXh0OiJsb2FkaW5nLi4uIn0sYy5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oYil7dmFyIGM9ImRpc2FibGVkIixkPXRoaXMuJGVsZW1lbnQsZT1kLmlzKCJpbnB1dCIpPyJ2YWwiOiJodG1sIixmPWQuZGF0YSgpO2IrPSJUZXh0IixudWxsPT1mLnJlc2V0VGV4dCYmZC5kYXRhKCJyZXNldFRleHQiLGRbZV0oKSksc2V0VGltZW91dChhLnByb3h5KGZ1bmN0aW9uKCl7ZFtlXShudWxsPT1mW2JdP3RoaXMub3B0aW9uc1tiXTpmW2JdKSwibG9hZGluZ1RleHQiPT1iPyh0aGlzLmlzTG9hZGluZz0hMCxkLmFkZENsYXNzKGMpLmF0dHIoYyxjKSk6dGhpcy5pc0xvYWRpbmcmJih0aGlzLmlzTG9hZGluZz0hMSxkLnJlbW92ZUNsYXNzKGMpLnJlbW92ZUF0dHIoYykpfSx0aGlzKSwwKX0sYy5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKCl7dmFyIGE9ITAsYj10aGlzLiRlbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLXRvZ2dsZT0iYnV0dG9ucyJdJyk7aWYoYi5sZW5ndGgpe3ZhciBjPXRoaXMuJGVsZW1lbnQuZmluZCgiaW5wdXQiKTsicmFkaW8iPT1jLnByb3AoInR5cGUiKT8oYy5wcm9wKCJjaGVja2VkIikmJihhPSExKSxiLmZpbmQoIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksdGhpcy4kZWxlbWVudC5hZGRDbGFzcygiYWN0aXZlIikpOiJjaGVja2JveCI9PWMucHJvcCgidHlwZSIpJiYoYy5wcm9wKCJjaGVja2VkIikhPT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJhY3RpdmUiKSYmKGE9ITEpLHRoaXMuJGVsZW1lbnQudG9nZ2xlQ2xhc3MoImFjdGl2ZSIpKSxjLnByb3AoImNoZWNrZWQiLHRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImFjdGl2ZSIpKSxhJiZjLnRyaWdnZXIoImNoYW5nZSIpfWVsc2UgdGhpcy4kZWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLCF0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJhY3RpdmUiKSksdGhpcy4kZWxlbWVudC50b2dnbGVDbGFzcygiYWN0aXZlIil9O3ZhciBkPWEuZm4uYnV0dG9uO2EuZm4uYnV0dG9uPWIsYS5mbi5idXR0b24uQ29uc3RydWN0b3I9YyxhLmZuLmJ1dHRvbi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYnV0dG9uPWQsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLmJ1dHRvbi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZV49ImJ1dHRvbiJdJyxmdW5jdGlvbihjKXt2YXIgZD1hKGMudGFyZ2V0KTtkLmhhc0NsYXNzKCJidG4iKXx8KGQ9ZC5jbG9zZXN0KCIuYnRuIikpLGIuY2FsbChkLCJ0b2dnbGUiKSxhKGMudGFyZ2V0KS5pcygnaW5wdXRbdHlwZT0icmFkaW8iXScpfHxhKGMudGFyZ2V0KS5pcygnaW5wdXRbdHlwZT0iY2hlY2tib3giXScpfHxjLnByZXZlbnREZWZhdWx0KCl9KS5vbigiZm9jdXMuYnMuYnV0dG9uLmRhdGEtYXBpIGJsdXIuYnMuYnV0dG9uLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlXj0iYnV0dG9uIl0nLGZ1bmN0aW9uKGIpe2EoYi50YXJnZXQpLmNsb3Nlc3QoIi5idG4iKS50b2dnbGVDbGFzcygiZm9jdXMiLC9eZm9jdXMoaW4pPyQvLnRlc3QoYi50eXBlKSl9KX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLmNhcm91c2VsIiksZj1hLmV4dGVuZCh7fSxjLkRFRkFVTFRTLGQuZGF0YSgpLCJvYmplY3QiPT10eXBlb2YgYiYmYiksZz0ic3RyaW5nIj09dHlwZW9mIGI/YjpmLnNsaWRlO2V8fGQuZGF0YSgiYnMuY2Fyb3VzZWwiLGU9bmV3IGModGhpcyxmKSksIm51bWJlciI9PXR5cGVvZiBiP2UudG8oYik6Zz9lW2ddKCk6Zi5pbnRlcnZhbCYmZS5wYXVzZSgpLmN5Y2xlKCl9KX12YXIgYz1mdW5jdGlvbihiLGMpe3RoaXMuJGVsZW1lbnQ9YShiKSx0aGlzLiRpbmRpY2F0b3JzPXRoaXMuJGVsZW1lbnQuZmluZCgiLmNhcm91c2VsLWluZGljYXRvcnMiKSx0aGlzLm9wdGlvbnM9Yyx0aGlzLnBhdXNlZD1udWxsLHRoaXMuc2xpZGluZz1udWxsLHRoaXMuaW50ZXJ2YWw9bnVsbCx0aGlzLiRhY3RpdmU9bnVsbCx0aGlzLiRpdGVtcz1udWxsLHRoaXMub3B0aW9ucy5rZXlib2FyZCYmdGhpcy4kZWxlbWVudC5vbigia2V5ZG93bi5icy5jYXJvdXNlbCIsYS5wcm94eSh0aGlzLmtleWRvd24sdGhpcykpLCJob3ZlciI9PXRoaXMub3B0aW9ucy5wYXVzZSYmISgib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkmJnRoaXMuJGVsZW1lbnQub24oIm1vdXNlZW50ZXIuYnMuY2Fyb3VzZWwiLGEucHJveHkodGhpcy5wYXVzZSx0aGlzKSkub24oIm1vdXNlbGVhdmUuYnMuY2Fyb3VzZWwiLGEucHJveHkodGhpcy5jeWNsZSx0aGlzKSl9O2MuVkVSU0lPTj0iMy4zLjUiLGMuVFJBTlNJVElPTl9EVVJBVElPTj02MDAsYy5ERUZBVUxUUz17aW50ZXJ2YWw6NWUzLHBhdXNlOiJob3ZlciIsd3JhcDohMCxrZXlib2FyZDohMH0sYy5wcm90b3R5cGUua2V5ZG93bj1mdW5jdGlvbihhKXtpZighL2lucHV0fHRleHRhcmVhL2kudGVzdChhLnRhcmdldC50YWdOYW1lKSl7c3dpdGNoKGEud2hpY2gpe2Nhc2UgMzc6dGhpcy5wcmV2KCk7YnJlYWs7Y2FzZSAzOTp0aGlzLm5leHQoKTticmVhaztkZWZhdWx0OnJldHVybn1hLnByZXZlbnREZWZhdWx0KCl9fSxjLnByb3RvdHlwZS5jeWNsZT1mdW5jdGlvbihiKXtyZXR1cm4gYnx8KHRoaXMucGF1c2VkPSExKSx0aGlzLmludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpLHRoaXMub3B0aW9ucy5pbnRlcnZhbCYmIXRoaXMucGF1c2VkJiYodGhpcy5pbnRlcnZhbD1zZXRJbnRlcnZhbChhLnByb3h5KHRoaXMubmV4dCx0aGlzKSx0aGlzLm9wdGlvbnMuaW50ZXJ2YWwpKSx0aGlzfSxjLnByb3RvdHlwZS5nZXRJdGVtSW5kZXg9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuJGl0ZW1zPWEucGFyZW50KCkuY2hpbGRyZW4oIi5pdGVtIiksdGhpcy4kaXRlbXMuaW5kZXgoYXx8dGhpcy4kYWN0aXZlKX0sYy5wcm90b3R5cGUuZ2V0SXRlbUZvckRpcmVjdGlvbj1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuZ2V0SXRlbUluZGV4KGIpLGQ9InByZXYiPT1hJiYwPT09Y3x8Im5leHQiPT1hJiZjPT10aGlzLiRpdGVtcy5sZW5ndGgtMTtpZihkJiYhdGhpcy5vcHRpb25zLndyYXApcmV0dXJuIGI7dmFyIGU9InByZXYiPT1hPy0xOjEsZj0oYytlKSV0aGlzLiRpdGVtcy5sZW5ndGg7cmV0dXJuIHRoaXMuJGl0ZW1zLmVxKGYpfSxjLnByb3RvdHlwZS50bz1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9dGhpcy5nZXRJdGVtSW5kZXgodGhpcy4kYWN0aXZlPXRoaXMuJGVsZW1lbnQuZmluZCgiLml0ZW0uYWN0aXZlIikpO3JldHVybiBhPnRoaXMuJGl0ZW1zLmxlbmd0aC0xfHwwPmE/dm9pZCAwOnRoaXMuc2xpZGluZz90aGlzLiRlbGVtZW50Lm9uZSgic2xpZC5icy5jYXJvdXNlbCIsZnVuY3Rpb24oKXtiLnRvKGEpfSk6Yz09YT90aGlzLnBhdXNlKCkuY3ljbGUoKTp0aGlzLnNsaWRlKGE+Yz8ibmV4dCI6InByZXYiLHRoaXMuJGl0ZW1zLmVxKGEpKX0sYy5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oYil7cmV0dXJuIGJ8fCh0aGlzLnBhdXNlZD0hMCksdGhpcy4kZWxlbWVudC5maW5kKCIubmV4dCwgLnByZXYiKS5sZW5ndGgmJmEuc3VwcG9ydC50cmFuc2l0aW9uJiYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCksdGhpcy5jeWNsZSghMCkpLHRoaXMuaW50ZXJ2YWw9Y2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKSx0aGlzfSxjLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2xpZGluZz92b2lkIDA6dGhpcy5zbGlkZSgibmV4dCIpfSxjLnByb3RvdHlwZS5wcmV2PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2xpZGluZz92b2lkIDA6dGhpcy5zbGlkZSgicHJldiIpfSxjLnByb3RvdHlwZS5zbGlkZT1mdW5jdGlvbihiLGQpe3ZhciBlPXRoaXMuJGVsZW1lbnQuZmluZCgiLml0ZW0uYWN0aXZlIiksZj1kfHx0aGlzLmdldEl0ZW1Gb3JEaXJlY3Rpb24oYixlKSxnPXRoaXMuaW50ZXJ2YWwsaD0ibmV4dCI9PWI/ImxlZnQiOiJyaWdodCIsaT10aGlzO2lmKGYuaGFzQ2xhc3MoImFjdGl2ZSIpKXJldHVybiB0aGlzLnNsaWRpbmc9ITE7dmFyIGo9ZlswXSxrPWEuRXZlbnQoInNsaWRlLmJzLmNhcm91c2VsIix7cmVsYXRlZFRhcmdldDpqLGRpcmVjdGlvbjpofSk7aWYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGspLCFrLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtpZih0aGlzLnNsaWRpbmc9ITAsZyYmdGhpcy5wYXVzZSgpLHRoaXMuJGluZGljYXRvcnMubGVuZ3RoKXt0aGlzLiRpbmRpY2F0b3JzLmZpbmQoIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIik7dmFyIGw9YSh0aGlzLiRpbmRpY2F0b3JzLmNoaWxkcmVuKClbdGhpcy5nZXRJdGVtSW5kZXgoZildKTtsJiZsLmFkZENsYXNzKCJhY3RpdmUiKX12YXIgbT1hLkV2ZW50KCJzbGlkLmJzLmNhcm91c2VsIix7cmVsYXRlZFRhcmdldDpqLGRpcmVjdGlvbjpofSk7cmV0dXJuIGEuc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJzbGlkZSIpPyhmLmFkZENsYXNzKGIpLGZbMF0ub2Zmc2V0V2lkdGgsZS5hZGRDbGFzcyhoKSxmLmFkZENsYXNzKGgpLGUub25lKCJic1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7Zi5yZW1vdmVDbGFzcyhbYixoXS5qb2luKCIgIikpLmFkZENsYXNzKCJhY3RpdmUiKSxlLnJlbW92ZUNsYXNzKFsiYWN0aXZlIixoXS5qb2luKCIgIikpLGkuc2xpZGluZz0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS4kZWxlbWVudC50cmlnZ2VyKG0pfSwwKX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTikpOihlLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSxmLmFkZENsYXNzKCJhY3RpdmUiKSx0aGlzLnNsaWRpbmc9ITEsdGhpcy4kZWxlbWVudC50cmlnZ2VyKG0pKSxnJiZ0aGlzLmN5Y2xlKCksdGhpc319O3ZhciBkPWEuZm4uY2Fyb3VzZWw7YS5mbi5jYXJvdXNlbD1iLGEuZm4uY2Fyb3VzZWwuQ29uc3RydWN0b3I9YyxhLmZuLmNhcm91c2VsLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5jYXJvdXNlbD1kLHRoaXN9O3ZhciBlPWZ1bmN0aW9uKGMpe3ZhciBkLGU9YSh0aGlzKSxmPWEoZS5hdHRyKCJkYXRhLXRhcmdldCIpfHwoZD1lLmF0dHIoImhyZWYiKSkmJmQucmVwbGFjZSgvLiooPz0jW15cc10rJCkvLCIiKSk7aWYoZi5oYXNDbGFzcygiY2Fyb3VzZWwiKSl7dmFyIGc9YS5leHRlbmQoe30sZi5kYXRhKCksZS5kYXRhKCkpLGg9ZS5hdHRyKCJkYXRhLXNsaWRlLXRvIik7aCYmKGcuaW50ZXJ2YWw9ITEpLGIuY2FsbChmLGcpLGgmJmYuZGF0YSgiYnMuY2Fyb3VzZWwiKS50byhoKSxjLnByZXZlbnREZWZhdWx0KCl9fTthKGRvY3VtZW50KS5vbigiY2xpY2suYnMuY2Fyb3VzZWwuZGF0YS1hcGkiLCJbZGF0YS1zbGlkZV0iLGUpLm9uKCJjbGljay5icy5jYXJvdXNlbC5kYXRhLWFwaSIsIltkYXRhLXNsaWRlLXRvXSIsZSksYSh3aW5kb3cpLm9uKCJsb2FkIixmdW5jdGlvbigpe2EoJ1tkYXRhLXJpZGU9ImNhcm91c2VsIl0nKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKTtiLmNhbGwoYyxjLmRhdGEoKSl9KX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXt2YXIgYyxkPWIuYXR0cigiZGF0YS10YXJnZXQiKXx8KGM9Yi5hdHRyKCJocmVmIikpJiZjLnJlcGxhY2UoLy4qKD89I1teXHNdKyQpLywiIik7cmV0dXJuIGEoZCl9ZnVuY3Rpb24gYyhiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKSxlPWMuZGF0YSgiYnMuY29sbGFwc2UiKSxmPWEuZXh0ZW5kKHt9LGQuREVGQVVMVFMsYy5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBiJiZiKTshZSYmZi50b2dnbGUmJi9zaG93fGhpZGUvLnRlc3QoYikmJihmLnRvZ2dsZT0hMSksZXx8Yy5kYXRhKCJicy5jb2xsYXBzZSIsZT1uZXcgZCh0aGlzLGYpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0oKX0pfXZhciBkPWZ1bmN0aW9uKGIsYyl7dGhpcy4kZWxlbWVudD1hKGIpLHRoaXMub3B0aW9ucz1hLmV4dGVuZCh7fSxkLkRFRkFVTFRTLGMpLHRoaXMuJHRyaWdnZXI9YSgnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2hyZWY9IiMnK2IuaWQrJyJdLFtkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXRhcmdldD0iIycrYi5pZCsnIl0nKSx0aGlzLnRyYW5zaXRpb25pbmc9bnVsbCx0aGlzLm9wdGlvbnMucGFyZW50P3RoaXMuJHBhcmVudD10aGlzLmdldFBhcmVudCgpOnRoaXMuYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKHRoaXMuJGVsZW1lbnQsdGhpcy4kdHJpZ2dlciksdGhpcy5vcHRpb25zLnRvZ2dsZSYmdGhpcy50b2dnbGUoKX07ZC5WRVJTSU9OPSIzLjMuNSIsZC5UUkFOU0lUSU9OX0RVUkFUSU9OPTM1MCxkLkRFRkFVTFRTPXt0b2dnbGU6ITB9LGQucHJvdG90eXBlLmRpbWVuc2lvbj1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoIndpZHRoIik7cmV0dXJuIGE/IndpZHRoIjoiaGVpZ2h0In0sZC5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe2lmKCF0aGlzLnRyYW5zaXRpb25pbmcmJiF0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJpbiIpKXt2YXIgYixlPXRoaXMuJHBhcmVudCYmdGhpcy4kcGFyZW50LmNoaWxkcmVuKCIucGFuZWwiKS5jaGlsZHJlbigiLmluLCAuY29sbGFwc2luZyIpO2lmKCEoZSYmZS5sZW5ndGgmJihiPWUuZGF0YSgiYnMuY29sbGFwc2UiKSxiJiZiLnRyYW5zaXRpb25pbmcpKSl7dmFyIGY9YS5FdmVudCgic2hvdy5icy5jb2xsYXBzZSIpO2lmKHRoaXMuJGVsZW1lbnQudHJpZ2dlcihmKSwhZi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7ZSYmZS5sZW5ndGgmJihjLmNhbGwoZSwiaGlkZSIpLGJ8fGUuZGF0YSgiYnMuY29sbGFwc2UiLG51bGwpKTt2YXIgZz10aGlzLmRpbWVuc2lvbigpO3RoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImNvbGxhcHNlIikuYWRkQ2xhc3MoImNvbGxhcHNpbmciKVtnXSgwKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksdGhpcy4kdHJpZ2dlci5yZW1vdmVDbGFzcygiY29sbGFwc2VkIikuYXR0cigiYXJpYS1leHBhbmRlZCIsITApLHRoaXMudHJhbnNpdGlvbmluZz0xO3ZhciBoPWZ1bmN0aW9uKCl7dGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiY29sbGFwc2luZyIpLmFkZENsYXNzKCJjb2xsYXBzZSBpbiIpW2ddKCIiKSx0aGlzLnRyYW5zaXRpb25pbmc9MCx0aGlzLiRlbGVtZW50LnRyaWdnZXIoInNob3duLmJzLmNvbGxhcHNlIil9O2lmKCFhLnN1cHBvcnQudHJhbnNpdGlvbilyZXR1cm4gaC5jYWxsKHRoaXMpO3ZhciBpPWEuY2FtZWxDYXNlKFsic2Nyb2xsIixnXS5qb2luKCItIikpO3RoaXMuJGVsZW1lbnQub25lKCJic1RyYW5zaXRpb25FbmQiLGEucHJveHkoaCx0aGlzKSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoZC5UUkFOU0lUSU9OX0RVUkFUSU9OKVtnXSh0aGlzLiRlbGVtZW50WzBdW2ldKX19fX0sZC5wcm90b3R5cGUuaGlkZT1mdW5jdGlvbigpe2lmKCF0aGlzLnRyYW5zaXRpb25pbmcmJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIikpe3ZhciBiPWEuRXZlbnQoImhpZGUuYnMuY29sbGFwc2UiKTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoYiksIWIuaXNEZWZhdWx0UHJldmVudGVkKCkpe3ZhciBjPXRoaXMuZGltZW5zaW9uKCk7dGhpcy4kZWxlbWVudFtjXSh0aGlzLiRlbGVtZW50W2NdKCkpWzBdLm9mZnNldEhlaWdodCx0aGlzLiRlbGVtZW50LmFkZENsYXNzKCJjb2xsYXBzaW5nIikucmVtb3ZlQ2xhc3MoImNvbGxhcHNlIGluIikuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpLHRoaXMuJHRyaWdnZXIuYWRkQ2xhc3MoImNvbGxhcHNlZCIpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCExKSx0aGlzLnRyYW5zaXRpb25pbmc9MTt2YXIgZT1mdW5jdGlvbigpe3RoaXMudHJhbnNpdGlvbmluZz0wLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImNvbGxhcHNpbmciKS5hZGRDbGFzcygiY29sbGFwc2UiKS50cmlnZ2VyKCJoaWRkZW4uYnMuY29sbGFwc2UiKX07cmV0dXJuIGEuc3VwcG9ydC50cmFuc2l0aW9uP3ZvaWQgdGhpcy4kZWxlbWVudFtjXSgwKS5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYS5wcm94eShlLHRoaXMpKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChkLlRSQU5TSVRJT05fRFVSQVRJT04pOmUuY2FsbCh0aGlzKX19fSxkLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oKXt0aGlzW3RoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIik/ImhpZGUiOiJzaG93Il0oKX0sZC5wcm90b3R5cGUuZ2V0UGFyZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGEodGhpcy5vcHRpb25zLnBhcmVudCkuZmluZCgnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2RhdGEtcGFyZW50PSInK3RoaXMub3B0aW9ucy5wYXJlbnQrJyJdJykuZWFjaChhLnByb3h5KGZ1bmN0aW9uKGMsZCl7dmFyIGU9YShkKTt0aGlzLmFkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyhiKGUpLGUpfSx0aGlzKSkuZW5kKCl9LGQucHJvdG90eXBlLmFkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcz1mdW5jdGlvbihhLGIpe3ZhciBjPWEuaGFzQ2xhc3MoImluIik7YS5hdHRyKCJhcmlhLWV4cGFuZGVkIixjKSxiLnRvZ2dsZUNsYXNzKCJjb2xsYXBzZWQiLCFjKS5hdHRyKCJhcmlhLWV4cGFuZGVkIixjKX07dmFyIGU9YS5mbi5jb2xsYXBzZTthLmZuLmNvbGxhcHNlPWMsYS5mbi5jb2xsYXBzZS5Db25zdHJ1Y3Rvcj1kLGEuZm4uY29sbGFwc2Uubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmNvbGxhcHNlPWUsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLmNvbGxhcHNlLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdJyxmdW5jdGlvbihkKXt2YXIgZT1hKHRoaXMpO2UuYXR0cigiZGF0YS10YXJnZXQiKXx8ZC5wcmV2ZW50RGVmYXVsdCgpO3ZhciBmPWIoZSksZz1mLmRhdGEoImJzLmNvbGxhcHNlIiksaD1nPyJ0b2dnbGUiOmUuZGF0YSgpO2MuY2FsbChmLGgpfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3ZhciBjPWIuYXR0cigiZGF0YS10YXJnZXQiKTtjfHwoYz1iLmF0dHIoImhyZWYiKSxjPWMmJi8jW0EtWmEtel0vLnRlc3QoYykmJmMucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSk7dmFyIGQ9YyYmYShjKTtyZXR1cm4gZCYmZC5sZW5ndGg/ZDpiLnBhcmVudCgpfWZ1bmN0aW9uIGMoYyl7YyYmMz09PWMud2hpY2h8fChhKGUpLnJlbW92ZSgpLGEoZikuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1iKGQpLGY9e3JlbGF0ZWRUYXJnZXQ6dGhpc307ZS5oYXNDbGFzcygib3BlbiIpJiYoYyYmImNsaWNrIj09Yy50eXBlJiYvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KGMudGFyZ2V0LnRhZ05hbWUpJiZhLmNvbnRhaW5zKGVbMF0sYy50YXJnZXQpfHwoZS50cmlnZ2VyKGM9YS5FdmVudCgiaGlkZS5icy5kcm9wZG93biIsZikpLGMuaXNEZWZhdWx0UHJldmVudGVkKCl8fChkLmF0dHIoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpLGUucmVtb3ZlQ2xhc3MoIm9wZW4iKS50cmlnZ2VyKCJoaWRkZW4uYnMuZHJvcGRvd24iLGYpKSkpfSkpfWZ1bmN0aW9uIGQoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyksZD1jLmRhdGEoImJzLmRyb3Bkb3duIik7ZHx8Yy5kYXRhKCJicy5kcm9wZG93biIsZD1uZXcgZyh0aGlzKSksInN0cmluZyI9PXR5cGVvZiBiJiZkW2JdLmNhbGwoYyl9KX12YXIgZT0iLmRyb3Bkb3duLWJhY2tkcm9wIixmPSdbZGF0YS10b2dnbGU9ImRyb3Bkb3duIl0nLGc9ZnVuY3Rpb24oYil7YShiKS5vbigiY2xpY2suYnMuZHJvcGRvd24iLHRoaXMudG9nZ2xlKX07Zy5WRVJTSU9OPSIzLjMuNSIsZy5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKGQpe3ZhciBlPWEodGhpcyk7aWYoIWUuaXMoIi5kaXNhYmxlZCwgOmRpc2FibGVkIikpe3ZhciBmPWIoZSksZz1mLmhhc0NsYXNzKCJvcGVuIik7aWYoYygpLCFnKXsib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmIWYuY2xvc2VzdCgiLm5hdmJhci1uYXYiKS5sZW5ndGgmJmEoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLmFkZENsYXNzKCJkcm9wZG93bi1iYWNrZHJvcCIpLmluc2VydEFmdGVyKGEodGhpcykpLm9uKCJjbGljayIsYyk7dmFyIGg9e3JlbGF0ZWRUYXJnZXQ6dGhpc307aWYoZi50cmlnZ2VyKGQ9YS5FdmVudCgic2hvdy5icy5kcm9wZG93biIsaCkpLGQuaXNEZWZhdWx0UHJldmVudGVkKCkpcmV0dXJuO2UudHJpZ2dlcigiZm9jdXMiKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwidHJ1ZSIpLGYudG9nZ2xlQ2xhc3MoIm9wZW4iKS50cmlnZ2VyKCJzaG93bi5icy5kcm9wZG93biIsaCl9cmV0dXJuITF9fSxnLnByb3RvdHlwZS5rZXlkb3duPWZ1bmN0aW9uKGMpe2lmKC8oMzh8NDB8Mjd8MzIpLy50ZXN0KGMud2hpY2gpJiYhL2lucHV0fHRleHRhcmVhL2kudGVzdChjLnRhcmdldC50YWdOYW1lKSl7dmFyIGQ9YSh0aGlzKTtpZihjLnByZXZlbnREZWZhdWx0KCksYy5zdG9wUHJvcGFnYXRpb24oKSwhZC5pcygiLmRpc2FibGVkLCA6ZGlzYWJsZWQiKSl7dmFyIGU9YihkKSxnPWUuaGFzQ2xhc3MoIm9wZW4iKTtpZighZyYmMjchPWMud2hpY2h8fGcmJjI3PT1jLndoaWNoKXJldHVybiAyNz09Yy53aGljaCYmZS5maW5kKGYpLnRyaWdnZXIoImZvY3VzIiksZC50cmlnZ2VyKCJjbGljayIpO3ZhciBoPSIgbGk6bm90KC5kaXNhYmxlZCk6dmlzaWJsZSBhIixpPWUuZmluZCgiLmRyb3Bkb3duLW1lbnUiK2gpO2lmKGkubGVuZ3RoKXt2YXIgaj1pLmluZGV4KGMudGFyZ2V0KTszOD09Yy53aGljaCYmaj4wJiZqLS0sNDA9PWMud2hpY2gmJmo8aS5sZW5ndGgtMSYmaisrLH5qfHwoaj0wKSxpLmVxKGopLnRyaWdnZXIoImZvY3VzIil9fX19O3ZhciBoPWEuZm4uZHJvcGRvd247YS5mbi5kcm9wZG93bj1kLGEuZm4uZHJvcGRvd24uQ29uc3RydWN0b3I9ZyxhLmZuLmRyb3Bkb3duLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5kcm9wZG93bj1oLHRoaXN9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5icy5kcm9wZG93bi5kYXRhLWFwaSIsYykub24oImNsaWNrLmJzLmRyb3Bkb3duLmRhdGEtYXBpIiwiLmRyb3Bkb3duIGZvcm0iLGZ1bmN0aW9uKGEpe2Euc3RvcFByb3BhZ2F0aW9uKCl9KS5vbigiY2xpY2suYnMuZHJvcGRvd24uZGF0YS1hcGkiLGYsZy5wcm90b3R5cGUudG9nZ2xlKS5vbigia2V5ZG93bi5icy5kcm9wZG93bi5kYXRhLWFwaSIsZixnLnByb3RvdHlwZS5rZXlkb3duKS5vbigia2V5ZG93bi5icy5kcm9wZG93bi5kYXRhLWFwaSIsIi5kcm9wZG93bi1tZW51IixnLnByb3RvdHlwZS5rZXlkb3duKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYixkKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9YSh0aGlzKSxmPWUuZGF0YSgiYnMubW9kYWwiKSxnPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZS5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBiJiZiKTtmfHxlLmRhdGEoImJzLm1vZGFsIixmPW5ldyBjKHRoaXMsZykpLCJzdHJpbmciPT10eXBlb2YgYj9mW2JdKGQpOmcuc2hvdyYmZi5zaG93KGQpfSl9dmFyIGM9ZnVuY3Rpb24oYixjKXt0aGlzLm9wdGlvbnM9Yyx0aGlzLiRib2R5PWEoZG9jdW1lbnQuYm9keSksdGhpcy4kZWxlbWVudD1hKGIpLHRoaXMuJGRpYWxvZz10aGlzLiRlbGVtZW50LmZpbmQoIi5tb2RhbC1kaWFsb2ciKSx0aGlzLiRiYWNrZHJvcD1udWxsLHRoaXMuaXNTaG93bj1udWxsLHRoaXMub3JpZ2luYWxCb2R5UGFkPW51bGwsdGhpcy5zY3JvbGxiYXJXaWR0aD0wLHRoaXMuaWdub3JlQmFja2Ryb3BDbGljaz0hMSx0aGlzLm9wdGlvbnMucmVtb3RlJiZ0aGlzLiRlbGVtZW50LmZpbmQoIi5tb2RhbC1jb250ZW50IikubG9hZCh0aGlzLm9wdGlvbnMucmVtb3RlLGEucHJveHkoZnVuY3Rpb24oKXt0aGlzLiRlbGVtZW50LnRyaWdnZXIoImxvYWRlZC5icy5tb2RhbCIpfSx0aGlzKSl9O2MuVkVSU0lPTj0iMy4zLjUiLGMuVFJBTlNJVElPTl9EVVJBVElPTj0zMDAsYy5CQUNLRFJPUF9UUkFOU0lUSU9OX0RVUkFUSU9OPTE1MCxjLkRFRkFVTFRTPXtiYWNrZHJvcDohMCxrZXlib2FyZDohMCxzaG93OiEwfSxjLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaXNTaG93bj90aGlzLmhpZGUoKTp0aGlzLnNob3coYSl9LGMucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oYil7dmFyIGQ9dGhpcyxlPWEuRXZlbnQoInNob3cuYnMubW9kYWwiLHtyZWxhdGVkVGFyZ2V0OmJ9KTt0aGlzLiRlbGVtZW50LnRyaWdnZXIoZSksdGhpcy5pc1Nob3dufHxlLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodGhpcy5pc1Nob3duPSEwLHRoaXMuY2hlY2tTY3JvbGxiYXIoKSx0aGlzLnNldFNjcm9sbGJhcigpLHRoaXMuJGJvZHkuYWRkQ2xhc3MoIm1vZGFsLW9wZW4iKSx0aGlzLmVzY2FwZSgpLHRoaXMucmVzaXplKCksdGhpcy4kZWxlbWVudC5vbigiY2xpY2suZGlzbWlzcy5icy5tb2RhbCIsJ1tkYXRhLWRpc21pc3M9Im1vZGFsIl0nLGEucHJveHkodGhpcy5oaWRlLHRoaXMpKSx0aGlzLiRkaWFsb2cub24oIm1vdXNlZG93bi5kaXNtaXNzLmJzLm1vZGFsIixmdW5jdGlvbigpe2QuJGVsZW1lbnQub25lKCJtb3VzZXVwLmRpc21pc3MuYnMubW9kYWwiLGZ1bmN0aW9uKGIpe2EoYi50YXJnZXQpLmlzKGQuJGVsZW1lbnQpJiYoZC5pZ25vcmVCYWNrZHJvcENsaWNrPSEwKX0pfSksdGhpcy5iYWNrZHJvcChmdW5jdGlvbigpe3ZhciBlPWEuc3VwcG9ydC50cmFuc2l0aW9uJiZkLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik7ZC4kZWxlbWVudC5wYXJlbnQoKS5sZW5ndGh8fGQuJGVsZW1lbnQuYXBwZW5kVG8oZC4kYm9keSksZC4kZWxlbWVudC5zaG93KCkuc2Nyb2xsVG9wKDApLGQuYWRqdXN0RGlhbG9nKCksZSYmZC4kZWxlbWVudFswXS5vZmZzZXRXaWR0aCxkLiRlbGVtZW50LmFkZENsYXNzKCJpbiIpLGQuZW5mb3JjZUZvY3VzKCk7dmFyIGY9YS5FdmVudCgic2hvd24uYnMubW9kYWwiLHtyZWxhdGVkVGFyZ2V0OmJ9KTtlP2QuJGRpYWxvZy5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZnVuY3Rpb24oKXtkLiRlbGVtZW50LnRyaWdnZXIoImZvY3VzIikudHJpZ2dlcihmKX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6ZC4kZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpLnRyaWdnZXIoZil9KSl9LGMucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oYil7YiYmYi5wcmV2ZW50RGVmYXVsdCgpLGI9YS5FdmVudCgiaGlkZS5icy5tb2RhbCIpLHRoaXMuJGVsZW1lbnQudHJpZ2dlcihiKSx0aGlzLmlzU2hvd24mJiFiLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYodGhpcy5pc1Nob3duPSExLHRoaXMuZXNjYXBlKCksdGhpcy5yZXNpemUoKSxhKGRvY3VtZW50KS5vZmYoImZvY3VzaW4uYnMubW9kYWwiKSx0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJpbiIpLm9mZigiY2xpY2suZGlzbWlzcy5icy5tb2RhbCIpLm9mZigibW91c2V1cC5kaXNtaXNzLmJzLm1vZGFsIiksdGhpcy4kZGlhbG9nLm9mZigibW91c2Vkb3duLmRpc21pc3MuYnMubW9kYWwiKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiZmFkZSIpP3RoaXMuJGVsZW1lbnQub25lKCJic1RyYW5zaXRpb25FbmQiLGEucHJveHkodGhpcy5oaWRlTW9kYWwsdGhpcykpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6dGhpcy5oaWRlTW9kYWwoKSl9LGMucHJvdG90eXBlLmVuZm9yY2VGb2N1cz1mdW5jdGlvbigpe2EoZG9jdW1lbnQpLm9mZigiZm9jdXNpbi5icy5tb2RhbCIpLm9uKCJmb2N1c2luLmJzLm1vZGFsIixhLnByb3h5KGZ1bmN0aW9uKGEpe3RoaXMuJGVsZW1lbnRbMF09PT1hLnRhcmdldHx8dGhpcy4kZWxlbWVudC5oYXMoYS50YXJnZXQpLmxlbmd0aHx8dGhpcy4kZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpfSx0aGlzKSl9LGMucHJvdG90eXBlLmVzY2FwZT1mdW5jdGlvbigpe3RoaXMuaXNTaG93biYmdGhpcy5vcHRpb25zLmtleWJvYXJkP3RoaXMuJGVsZW1lbnQub24oImtleWRvd24uZGlzbWlzcy5icy5tb2RhbCIsYS5wcm94eShmdW5jdGlvbihhKXsyNz09YS53aGljaCYmdGhpcy5oaWRlKCl9LHRoaXMpKTp0aGlzLmlzU2hvd258fHRoaXMuJGVsZW1lbnQub2ZmKCJrZXlkb3duLmRpc21pc3MuYnMubW9kYWwiKX0sYy5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKCl7dGhpcy5pc1Nob3duP2Eod2luZG93KS5vbigicmVzaXplLmJzLm1vZGFsIixhLnByb3h5KHRoaXMuaGFuZGxlVXBkYXRlLHRoaXMpKTphKHdpbmRvdykub2ZmKCJyZXNpemUuYnMubW9kYWwiKX0sYy5wcm90b3R5cGUuaGlkZU1vZGFsPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLiRlbGVtZW50LmhpZGUoKSx0aGlzLmJhY2tkcm9wKGZ1bmN0aW9uKCl7YS4kYm9keS5yZW1vdmVDbGFzcygibW9kYWwtb3BlbiIpLGEucmVzZXRBZGp1c3RtZW50cygpLGEucmVzZXRTY3JvbGxiYXIoKSxhLiRlbGVtZW50LnRyaWdnZXIoImhpZGRlbi5icy5tb2RhbCIpfSl9LGMucHJvdG90eXBlLnJlbW92ZUJhY2tkcm9wPWZ1bmN0aW9uKCl7dGhpcy4kYmFja2Ryb3AmJnRoaXMuJGJhY2tkcm9wLnJlbW92ZSgpLHRoaXMuJGJhY2tkcm9wPW51bGx9LGMucHJvdG90eXBlLmJhY2tkcm9wPWZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMsZT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/ImZhZGUiOiIiO2lmKHRoaXMuaXNTaG93biYmdGhpcy5vcHRpb25zLmJhY2tkcm9wKXt2YXIgZj1hLnN1cHBvcnQudHJhbnNpdGlvbiYmZTtpZih0aGlzLiRiYWNrZHJvcD1hKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5hZGRDbGFzcygibW9kYWwtYmFja2Ryb3AgIitlKS5hcHBlbmRUbyh0aGlzLiRib2R5KSx0aGlzLiRlbGVtZW50Lm9uKCJjbGljay5kaXNtaXNzLmJzLm1vZGFsIixhLnByb3h5KGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2s/dm9pZCh0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2s9ITEpOnZvaWQoYS50YXJnZXQ9PT1hLmN1cnJlbnRUYXJnZXQmJigic3RhdGljIj09dGhpcy5vcHRpb25zLmJhY2tkcm9wP3RoaXMuJGVsZW1lbnRbMF0uZm9jdXMoKTp0aGlzLmhpZGUoKSkpfSx0aGlzKSksZiYmdGhpcy4kYmFja2Ryb3BbMF0ub2Zmc2V0V2lkdGgsdGhpcy4kYmFja2Ryb3AuYWRkQ2xhc3MoImluIiksIWIpcmV0dXJuO2Y/dGhpcy4kYmFja2Ryb3Aub25lKCJic1RyYW5zaXRpb25FbmQiLGIpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuQkFDS0RST1BfVFJBTlNJVElPTl9EVVJBVElPTik6YigpfWVsc2UgaWYoIXRoaXMuaXNTaG93biYmdGhpcy4kYmFja2Ryb3Ape3RoaXMuJGJhY2tkcm9wLnJlbW92ZUNsYXNzKCJpbiIpO3ZhciBnPWZ1bmN0aW9uKCl7ZC5yZW1vdmVCYWNrZHJvcCgpLGImJmIoKX07YS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImZhZGUiKT90aGlzLiRiYWNrZHJvcC5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZykuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5CQUNLRFJPUF9UUkFOU0lUSU9OX0RVUkFUSU9OKTpnKCl9ZWxzZSBiJiZiKCl9LGMucHJvdG90eXBlLmhhbmRsZVVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuYWRqdXN0RGlhbG9nKCl9LGMucHJvdG90eXBlLmFkanVzdERpYWxvZz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnRbMF0uc2Nyb2xsSGVpZ2h0PmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7dGhpcy4kZWxlbWVudC5jc3Moe3BhZGRpbmdMZWZ0OiF0aGlzLmJvZHlJc092ZXJmbG93aW5nJiZhP3RoaXMuc2Nyb2xsYmFyV2lkdGg6IiIscGFkZGluZ1JpZ2h0OnRoaXMuYm9keUlzT3ZlcmZsb3dpbmcmJiFhP3RoaXMuc2Nyb2xsYmFyV2lkdGg6IiJ9KX0sYy5wcm90b3R5cGUucmVzZXRBZGp1c3RtZW50cz1mdW5jdGlvbigpe3RoaXMuJGVsZW1lbnQuY3NzKHtwYWRkaW5nTGVmdDoiIixwYWRkaW5nUmlnaHQ6IiJ9KX0sYy5wcm90b3R5cGUuY2hlY2tTY3JvbGxiYXI9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuaW5uZXJXaWR0aDtpZighYSl7dmFyIGI9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2E9Yi5yaWdodC1NYXRoLmFicyhiLmxlZnQpfXRoaXMuYm9keUlzT3ZlcmZsb3dpbmc9ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDxhLHRoaXMuc2Nyb2xsYmFyV2lkdGg9dGhpcy5tZWFzdXJlU2Nyb2xsYmFyKCl9LGMucHJvdG90eXBlLnNldFNjcm9sbGJhcj1mdW5jdGlvbigpe3ZhciBhPXBhcnNlSW50KHRoaXMuJGJvZHkuY3NzKCJwYWRkaW5nLXJpZ2h0Iil8fDAsMTApO3RoaXMub3JpZ2luYWxCb2R5UGFkPWRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0fHwiIix0aGlzLmJvZHlJc092ZXJmbG93aW5nJiZ0aGlzLiRib2R5LmNzcygicGFkZGluZy1yaWdodCIsYSt0aGlzLnNjcm9sbGJhcldpZHRoKX0sYy5wcm90b3R5cGUucmVzZXRTY3JvbGxiYXI9ZnVuY3Rpb24oKXt0aGlzLiRib2R5LmNzcygicGFkZGluZy1yaWdodCIsdGhpcy5vcmlnaW5hbEJvZHlQYWQpfSxjLnByb3RvdHlwZS5tZWFzdXJlU2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5jbGFzc05hbWU9Im1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIix0aGlzLiRib2R5LmFwcGVuZChhKTt2YXIgYj1hLm9mZnNldFdpZHRoLWEuY2xpZW50V2lkdGg7cmV0dXJuIHRoaXMuJGJvZHlbMF0ucmVtb3ZlQ2hpbGQoYSksYn07dmFyIGQ9YS5mbi5tb2RhbDthLmZuLm1vZGFsPWIsYS5mbi5tb2RhbC5Db25zdHJ1Y3Rvcj1jLGEuZm4ubW9kYWwubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLm1vZGFsPWQsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLm1vZGFsLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJtb2RhbCJdJyxmdW5jdGlvbihjKXt2YXIgZD1hKHRoaXMpLGU9ZC5hdHRyKCJocmVmIiksZj1hKGQuYXR0cigiZGF0YS10YXJnZXQiKXx8ZSYmZS5yZXBsYWNlKC8uKig/PSNbXlxzXSskKS8sIiIpKSxnPWYuZGF0YSgiYnMubW9kYWwiKT8idG9nZ2xlIjphLmV4dGVuZCh7cmVtb3RlOiEvIy8udGVzdChlKSYmZX0sZi5kYXRhKCksZC5kYXRhKCkpO2QuaXMoImEiKSYmYy5wcmV2ZW50RGVmYXVsdCgpLGYub25lKCJzaG93LmJzLm1vZGFsIixmdW5jdGlvbihhKXthLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxmLm9uZSgiaGlkZGVuLmJzLm1vZGFsIixmdW5jdGlvbigpe2QuaXMoIjp2aXNpYmxlIikmJmQudHJpZ2dlcigiZm9jdXMiKX0pfSksYi5jYWxsKGYsZyx0aGlzKX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMudG9vbHRpcCIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiOyhlfHwhL2Rlc3Ryb3l8aGlkZS8udGVzdChiKSkmJihlfHxkLmRhdGEoImJzLnRvb2x0aXAiLGU9bmV3IGModGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCkpfSl9dmFyIGM9ZnVuY3Rpb24oYSxiKXt0aGlzLnR5cGU9bnVsbCx0aGlzLm9wdGlvbnM9bnVsbCx0aGlzLmVuYWJsZWQ9bnVsbCx0aGlzLnRpbWVvdXQ9bnVsbCx0aGlzLmhvdmVyU3RhdGU9bnVsbCx0aGlzLiRlbGVtZW50PW51bGwsdGhpcy5pblN0YXRlPW51bGwsdGhpcy5pbml0KCJ0b29sdGlwIixhLGIpfTtjLlZFUlNJT049IjMuMy41IixjLlRSQU5TSVRJT05fRFVSQVRJT049MTUwLGMuREVGQVVMVFM9e2FuaW1hdGlvbjohMCxwbGFjZW1lbnQ6InRvcCIsc2VsZWN0b3I6ITEsdGVtcGxhdGU6JzxkaXYgY2xhc3M9InRvb2x0aXAiIHJvbGU9InRvb2x0aXAiPjxkaXYgY2xhc3M9InRvb2x0aXAtYXJyb3ciPjwvZGl2PjxkaXYgY2xhc3M9InRvb2x0aXAtaW5uZXIiPjwvZGl2PjwvZGl2PicsdHJpZ2dlcjoiaG92ZXIgZm9jdXMiLHRpdGxlOiIiLGRlbGF5OjAsaHRtbDohMSxjb250YWluZXI6ITEsdmlld3BvcnQ6e3NlbGVjdG9yOiJib2R5IixwYWRkaW5nOjB9fSxjLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKGIsYyxkKXtpZih0aGlzLmVuYWJsZWQ9ITAsdGhpcy50eXBlPWIsdGhpcy4kZWxlbWVudD1hKGMpLHRoaXMub3B0aW9ucz10aGlzLmdldE9wdGlvbnMoZCksdGhpcy4kdmlld3BvcnQ9dGhpcy5vcHRpb25zLnZpZXdwb3J0JiZhKGEuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMudmlld3BvcnQpP3RoaXMub3B0aW9ucy52aWV3cG9ydC5jYWxsKHRoaXMsdGhpcy4kZWxlbWVudCk6dGhpcy5vcHRpb25zLnZpZXdwb3J0LnNlbGVjdG9yfHx0aGlzLm9wdGlvbnMudmlld3BvcnQpLHRoaXMuaW5TdGF0ZT17Y2xpY2s6ITEsaG92ZXI6ITEsZm9jdXM6ITF9LHRoaXMuJGVsZW1lbnRbMF1pbnN0YW5jZW9mIGRvY3VtZW50LmNvbnN0cnVjdG9yJiYhdGhpcy5vcHRpb25zLnNlbGVjdG9yKXRocm93IG5ldyBFcnJvcigiYHNlbGVjdG9yYCBvcHRpb24gbXVzdCBiZSBzcGVjaWZpZWQgd2hlbiBpbml0aWFsaXppbmcgIit0aGlzLnR5cGUrIiBvbiB0aGUgd2luZG93LmRvY3VtZW50IG9iamVjdCEiKTtmb3IodmFyIGU9dGhpcy5vcHRpb25zLnRyaWdnZXIuc3BsaXQoIiAiKSxmPWUubGVuZ3RoO2YtLTspe3ZhciBnPWVbZl07aWYoImNsaWNrIj09Zyl0aGlzLiRlbGVtZW50Lm9uKCJjbGljay4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLnRvZ2dsZSx0aGlzKSk7ZWxzZSBpZigibWFudWFsIiE9Zyl7dmFyIGg9ImhvdmVyIj09Zz8ibW91c2VlbnRlciI6ImZvY3VzaW4iLGk9ImhvdmVyIj09Zz8ibW91c2VsZWF2ZSI6ImZvY3Vzb3V0Ijt0aGlzLiRlbGVtZW50Lm9uKGgrIi4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLmVudGVyLHRoaXMpKSx0aGlzLiRlbGVtZW50Lm9uKGkrIi4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLmxlYXZlLHRoaXMpKX19dGhpcy5vcHRpb25zLnNlbGVjdG9yP3RoaXMuX29wdGlvbnM9YS5leHRlbmQoe30sdGhpcy5vcHRpb25zLHt0cmlnZ2VyOiJtYW51YWwiLHNlbGVjdG9yOiIifSk6dGhpcy5maXhUaXRsZSgpfSxjLnByb3RvdHlwZS5nZXREZWZhdWx0cz1mdW5jdGlvbigpe3JldHVybiBjLkRFRkFVTFRTfSxjLnByb3RvdHlwZS5nZXRPcHRpb25zPWZ1bmN0aW9uKGIpe3JldHVybiBiPWEuZXh0ZW5kKHt9LHRoaXMuZ2V0RGVmYXVsdHMoKSx0aGlzLiRlbGVtZW50LmRhdGEoKSxiKSxiLmRlbGF5JiYibnVtYmVyIj09dHlwZW9mIGIuZGVsYXkmJihiLmRlbGF5PXtzaG93OmIuZGVsYXksaGlkZTpiLmRlbGF5fSksYn0sYy5wcm90b3R5cGUuZ2V0RGVsZWdhdGVPcHRpb25zPWZ1bmN0aW9uKCl7dmFyIGI9e30sYz10aGlzLmdldERlZmF1bHRzKCk7cmV0dXJuIHRoaXMuX29wdGlvbnMmJmEuZWFjaCh0aGlzLl9vcHRpb25zLGZ1bmN0aW9uKGEsZCl7Y1thXSE9ZCYmKGJbYV09ZCl9KSxifSxjLnByb3RvdHlwZS5lbnRlcj1mdW5jdGlvbihiKXt2YXIgYz1iIGluc3RhbmNlb2YgdGhpcy5jb25zdHJ1Y3Rvcj9iOmEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSk7cmV0dXJuIGN8fChjPW5ldyB0aGlzLmNvbnN0cnVjdG9yKGIuY3VycmVudFRhcmdldCx0aGlzLmdldERlbGVnYXRlT3B0aW9ucygpKSxhKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUsYykpLGIgaW5zdGFuY2VvZiBhLkV2ZW50JiYoYy5pblN0YXRlWyJmb2N1c2luIj09Yi50eXBlPyJmb2N1cyI6ImhvdmVyIl09ITApLGMudGlwKCkuaGFzQ2xhc3MoImluIil8fCJpbiI9PWMuaG92ZXJTdGF0ZT92b2lkKGMuaG92ZXJTdGF0ZT0iaW4iKTooY2xlYXJUaW1lb3V0KGMudGltZW91dCksYy5ob3ZlclN0YXRlPSJpbiIsYy5vcHRpb25zLmRlbGF5JiZjLm9wdGlvbnMuZGVsYXkuc2hvdz92b2lkKGMudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ImluIj09Yy5ob3ZlclN0YXRlJiZjLnNob3coKX0sYy5vcHRpb25zLmRlbGF5LnNob3cpKTpjLnNob3coKSl9LGMucHJvdG90eXBlLmlzSW5TdGF0ZVRydWU9ZnVuY3Rpb24oKXtmb3IodmFyIGEgaW4gdGhpcy5pblN0YXRlKWlmKHRoaXMuaW5TdGF0ZVthXSlyZXR1cm4hMDtyZXR1cm4hMX0sYy5wcm90b3R5cGUubGVhdmU9ZnVuY3Rpb24oYil7dmFyIGM9YiBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3I/YjphKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUpO3JldHVybiBjfHwoYz1uZXcgdGhpcy5jb25zdHJ1Y3RvcihiLmN1cnJlbnRUYXJnZXQsdGhpcy5nZXREZWxlZ2F0ZU9wdGlvbnMoKSksYShiLmN1cnJlbnRUYXJnZXQpLmRhdGEoImJzLiIrdGhpcy50eXBlLGMpKSxiIGluc3RhbmNlb2YgYS5FdmVudCYmKGMuaW5TdGF0ZVsiZm9jdXNvdXQiPT1iLnR5cGU/ImZvY3VzIjoiaG92ZXIiXT0hMSksYy5pc0luU3RhdGVUcnVlKCk/dm9pZCAwOihjbGVhclRpbWVvdXQoYy50aW1lb3V0KSxjLmhvdmVyU3RhdGU9Im91dCIsYy5vcHRpb25zLmRlbGF5JiZjLm9wdGlvbnMuZGVsYXkuaGlkZT92b2lkKGMudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Im91dCI9PWMuaG92ZXJTdGF0ZSYmYy5oaWRlKCl9LGMub3B0aW9ucy5kZWxheS5oaWRlKSk6Yy5oaWRlKCkpfSxjLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7dmFyIGI9YS5FdmVudCgic2hvdy5icy4iK3RoaXMudHlwZSk7aWYodGhpcy5oYXNDb250ZW50KCkmJnRoaXMuZW5hYmxlZCl7dGhpcy4kZWxlbWVudC50cmlnZ2VyKGIpO3ZhciBkPWEuY29udGFpbnModGhpcy4kZWxlbWVudFswXS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0aGlzLiRlbGVtZW50WzBdKTtpZihiLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwhZClyZXR1cm47dmFyIGU9dGhpcyxmPXRoaXMudGlwKCksZz10aGlzLmdldFVJRCh0aGlzLnR5cGUpO3RoaXMuc2V0Q29udGVudCgpLGYuYXR0cigiaWQiLGcpLHRoaXMuJGVsZW1lbnQuYXR0cigiYXJpYS1kZXNjcmliZWRieSIsZyksdGhpcy5vcHRpb25zLmFuaW1hdGlvbiYmZi5hZGRDbGFzcygiZmFkZSIpO3ZhciBoPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLm9wdGlvbnMucGxhY2VtZW50P3RoaXMub3B0aW9ucy5wbGFjZW1lbnQuY2FsbCh0aGlzLGZbMF0sdGhpcy4kZWxlbWVudFswXSk6dGhpcy5vcHRpb25zLnBsYWNlbWVudCxpPS9ccz9hdXRvP1xzPy9pLGo9aS50ZXN0KGgpO2omJihoPWgucmVwbGFjZShpLCIiKXx8InRvcCIpLGYuZGV0YWNoKCkuY3NzKHt0b3A6MCxsZWZ0OjAsZGlzcGxheToiYmxvY2sifSkuYWRkQ2xhc3MoaCkuZGF0YSgiYnMuIit0aGlzLnR5cGUsdGhpcyksdGhpcy5vcHRpb25zLmNvbnRhaW5lcj9mLmFwcGVuZFRvKHRoaXMub3B0aW9ucy5jb250YWluZXIpOmYuaW5zZXJ0QWZ0ZXIodGhpcy4kZWxlbWVudCksdGhpcy4kZWxlbWVudC50cmlnZ2VyKCJpbnNlcnRlZC5icy4iK3RoaXMudHlwZSk7dmFyIGs9dGhpcy5nZXRQb3NpdGlvbigpLGw9ZlswXS5vZmZzZXRXaWR0aCxtPWZbMF0ub2Zmc2V0SGVpZ2h0O2lmKGope3ZhciBuPWgsbz10aGlzLmdldFBvc2l0aW9uKHRoaXMuJHZpZXdwb3J0KTtoPSJib3R0b20iPT1oJiZrLmJvdHRvbSttPm8uYm90dG9tPyJ0b3AiOiJ0b3AiPT1oJiZrLnRvcC1tPG8udG9wPyJib3R0b20iOiJyaWdodCI9PWgmJmsucmlnaHQrbD5vLndpZHRoPyJsZWZ0IjoibGVmdCI9PWgmJmsubGVmdC1sPG8ubGVmdD8icmlnaHQiOmgsZi5yZW1vdmVDbGFzcyhuKS5hZGRDbGFzcyhoKX12YXIgcD10aGlzLmdldENhbGN1bGF0ZWRPZmZzZXQoaCxrLGwsbSk7dGhpcy5hcHBseVBsYWNlbWVudChwLGgpO3ZhciBxPWZ1bmN0aW9uKCl7dmFyIGE9ZS5ob3ZlclN0YXRlO2UuJGVsZW1lbnQudHJpZ2dlcigic2hvd24uYnMuIitlLnR5cGUpLGUuaG92ZXJTdGF0ZT1udWxsLCJvdXQiPT1hJiZlLmxlYXZlKGUpfTthLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kdGlwLmhhc0NsYXNzKCJmYWRlIik/Zi5vbmUoImJzVHJhbnNpdGlvbkVuZCIscSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5UUkFOU0lUSU9OX0RVUkFUSU9OKTpxKCl9fSxjLnByb3RvdHlwZS5hcHBseVBsYWNlbWVudD1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMudGlwKCksZT1kWzBdLm9mZnNldFdpZHRoLGY9ZFswXS5vZmZzZXRIZWlnaHQsZz1wYXJzZUludChkLmNzcygibWFyZ2luLXRvcCIpLDEwKSxoPXBhcnNlSW50KGQuY3NzKCJtYXJnaW4tbGVmdCIpLDEwKTtpc05hTihnKSYmKGc9MCksaXNOYU4oaCkmJihoPTApLGIudG9wKz1nLGIubGVmdCs9aCxhLm9mZnNldC5zZXRPZmZzZXQoZFswXSxhLmV4dGVuZCh7dXNpbmc6ZnVuY3Rpb24oYSl7ZC5jc3Moe3RvcDpNYXRoLnJvdW5kKGEudG9wKSxsZWZ0Ok1hdGgucm91bmQoYS5sZWZ0KX0pfX0sYiksMCksZC5hZGRDbGFzcygiaW4iKTt2YXIgaT1kWzBdLm9mZnNldFdpZHRoLGo9ZFswXS5vZmZzZXRIZWlnaHQ7InRvcCI9PWMmJmohPWYmJihiLnRvcD1iLnRvcCtmLWopO3ZhciBrPXRoaXMuZ2V0Vmlld3BvcnRBZGp1c3RlZERlbHRhKGMsYixpLGopO2subGVmdD9iLmxlZnQrPWsubGVmdDpiLnRvcCs9ay50b3A7dmFyIGw9L3RvcHxib3R0b20vLnRlc3QoYyksbT1sPzIqay5sZWZ0LWUraToyKmsudG9wLWYraixuPWw/Im9mZnNldFdpZHRoIjoib2Zmc2V0SGVpZ2h0IjtkLm9mZnNldChiKSx0aGlzLnJlcGxhY2VBcnJvdyhtLGRbMF1bbl0sbCl9LGMucHJvdG90eXBlLnJlcGxhY2VBcnJvdz1mdW5jdGlvbihhLGIsYyl7dGhpcy5hcnJvdygpLmNzcyhjPyJsZWZ0IjoidG9wIiw1MCooMS1hL2IpKyIlIikuY3NzKGM/InRvcCI6ImxlZnQiLCIiKX0sYy5wcm90b3R5cGUuc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMudGlwKCksYj10aGlzLmdldFRpdGxlKCk7YS5maW5kKCIudG9vbHRpcC1pbm5lciIpW3RoaXMub3B0aW9ucy5odG1sPyJodG1sIjoidGV4dCJdKGIpLGEucmVtb3ZlQ2xhc3MoImZhZGUgaW4gdG9wIGJvdHRvbSBsZWZ0IHJpZ2h0Iil9LGMucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gZCgpeyJpbiIhPWUuaG92ZXJTdGF0ZSYmZi5kZXRhY2goKSxlLiRlbGVtZW50LnJlbW92ZUF0dHIoImFyaWEtZGVzY3JpYmVkYnkiKS50cmlnZ2VyKCJoaWRkZW4uYnMuIitlLnR5cGUpLGImJmIoKX12YXIgZT10aGlzLGY9YSh0aGlzLiR0aXApLGc9YS5FdmVudCgiaGlkZS5icy4iK3RoaXMudHlwZSk7cmV0dXJuIHRoaXMuJGVsZW1lbnQudHJpZ2dlcihnKSxnLmlzRGVmYXVsdFByZXZlbnRlZCgpP3ZvaWQgMDooZi5yZW1vdmVDbGFzcygiaW4iKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmZi5oYXNDbGFzcygiZmFkZSIpP2Yub25lKCJic1RyYW5zaXRpb25FbmQiLGQpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6ZCgpLHRoaXMuaG92ZXJTdGF0ZT1udWxsLHRoaXMpfSxjLnByb3RvdHlwZS5maXhUaXRsZT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQ7KGEuYXR0cigidGl0bGUiKXx8InN0cmluZyIhPXR5cGVvZiBhLmF0dHIoImRhdGEtb3JpZ2luYWwtdGl0bGUiKSkmJmEuYXR0cigiZGF0YS1vcmlnaW5hbC10aXRsZSIsYS5hdHRyKCJ0aXRsZSIpfHwiIikuYXR0cigidGl0bGUiLCIiKX0sYy5wcm90b3R5cGUuaGFzQ29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFRpdGxlKCl9LGMucHJvdG90eXBlLmdldFBvc2l0aW9uPWZ1bmN0aW9uKGIpe2I9Ynx8dGhpcy4kZWxlbWVudDt2YXIgYz1iWzBdLGQ9IkJPRFkiPT1jLnRhZ05hbWUsZT1jLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO251bGw9PWUud2lkdGgmJihlPWEuZXh0ZW5kKHt9LGUse3dpZHRoOmUucmlnaHQtZS5sZWZ0LGhlaWdodDplLmJvdHRvbS1lLnRvcH0pKTt2YXIgZj1kP3t0b3A6MCxsZWZ0OjB9OmIub2Zmc2V0KCksZz17c2Nyb2xsOmQ/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A6Yi5zY3JvbGxUb3AoKX0saD1kP3t3aWR0aDphKHdpbmRvdykud2lkdGgoKSxoZWlnaHQ6YSh3aW5kb3cpLmhlaWdodCgpfTpudWxsO3JldHVybiBhLmV4dGVuZCh7fSxlLGcsaCxmKX0sYy5wcm90b3R5cGUuZ2V0Q2FsY3VsYXRlZE9mZnNldD1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4iYm90dG9tIj09YT97dG9wOmIudG9wK2IuaGVpZ2h0LGxlZnQ6Yi5sZWZ0K2Iud2lkdGgvMi1jLzJ9OiJ0b3AiPT1hP3t0b3A6Yi50b3AtZCxsZWZ0OmIubGVmdCtiLndpZHRoLzItYy8yfToibGVmdCI9PWE/e3RvcDpiLnRvcCtiLmhlaWdodC8yLWQvMixsZWZ0OmIubGVmdC1jfTp7dG9wOmIudG9wK2IuaGVpZ2h0LzItZC8yLGxlZnQ6Yi5sZWZ0K2Iud2lkdGh9fSxjLnByb3RvdHlwZS5nZXRWaWV3cG9ydEFkanVzdGVkRGVsdGE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9e3RvcDowLGxlZnQ6MH07aWYoIXRoaXMuJHZpZXdwb3J0KXJldHVybiBlO3ZhciBmPXRoaXMub3B0aW9ucy52aWV3cG9ydCYmdGhpcy5vcHRpb25zLnZpZXdwb3J0LnBhZGRpbmd8fDAsZz10aGlzLmdldFBvc2l0aW9uKHRoaXMuJHZpZXdwb3J0KTtpZigvcmlnaHR8bGVmdC8udGVzdChhKSl7dmFyIGg9Yi50b3AtZi1nLnNjcm9sbCxpPWIudG9wK2YtZy5zY3JvbGwrZDtoPGcudG9wP2UudG9wPWcudG9wLWg6aT5nLnRvcCtnLmhlaWdodCYmKGUudG9wPWcudG9wK2cuaGVpZ2h0LWkpfWVsc2V7dmFyIGo9Yi5sZWZ0LWYsaz1iLmxlZnQrZitjO2o8Zy5sZWZ0P2UubGVmdD1nLmxlZnQtajprPmcucmlnaHQmJihlLmxlZnQ9Zy5sZWZ0K2cud2lkdGgtayl9cmV0dXJuIGV9LGMucHJvdG90eXBlLmdldFRpdGxlPWZ1bmN0aW9uKCl7dmFyIGEsYj10aGlzLiRlbGVtZW50LGM9dGhpcy5vcHRpb25zO3JldHVybiBhPWIuYXR0cigiZGF0YS1vcmlnaW5hbC10aXRsZSIpfHwoImZ1bmN0aW9uIj09dHlwZW9mIGMudGl0bGU/Yy50aXRsZS5jYWxsKGJbMF0pOmMudGl0bGUpfSxjLnByb3RvdHlwZS5nZXRVSUQ9ZnVuY3Rpb24oYSl7ZG8gYSs9fn4oMWU2Kk1hdGgucmFuZG9tKCkpO3doaWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKTtyZXR1cm4gYX0sYy5wcm90b3R5cGUudGlwPWZ1bmN0aW9uKCl7aWYoIXRoaXMuJHRpcCYmKHRoaXMuJHRpcD1hKHRoaXMub3B0aW9ucy50ZW1wbGF0ZSksMSE9dGhpcy4kdGlwLmxlbmd0aCkpdGhyb3cgbmV3IEVycm9yKHRoaXMudHlwZSsiIGB0ZW1wbGF0ZWAgb3B0aW9uIG11c3QgY29uc2lzdCBvZiBleGFjdGx5IDEgdG9wLWxldmVsIGVsZW1lbnQhIik7cmV0dXJuIHRoaXMuJHRpcH0sYy5wcm90b3R5cGUuYXJyb3c9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kYXJyb3c9dGhpcy4kYXJyb3d8fHRoaXMudGlwKCkuZmluZCgiLnRvb2x0aXAtYXJyb3ciKX0sYy5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSEwfSxjLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSExfSxjLnByb3RvdHlwZS50b2dnbGVFbmFibGVkPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSF0aGlzLmVuYWJsZWR9LGMucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzO2ImJihjPWEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSksY3x8KGM9bmV3IHRoaXMuY29uc3RydWN0b3IoYi5jdXJyZW50VGFyZ2V0LHRoaXMuZ2V0RGVsZWdhdGVPcHRpb25zKCkpLGEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSxjKSkpLGI/KGMuaW5TdGF0ZS5jbGljaz0hYy5pblN0YXRlLmNsaWNrLGMuaXNJblN0YXRlVHJ1ZSgpP2MuZW50ZXIoYyk6Yy5sZWF2ZShjKSk6Yy50aXAoKS5oYXNDbGFzcygiaW4iKT9jLmxlYXZlKGMpOmMuZW50ZXIoYyl9LGMucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2NsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpLHRoaXMuaGlkZShmdW5jdGlvbigpe2EuJGVsZW1lbnQub2ZmKCIuIithLnR5cGUpLnJlbW92ZURhdGEoImJzLiIrYS50eXBlKSxhLiR0aXAmJmEuJHRpcC5kZXRhY2goKSxhLiR0aXA9bnVsbCxhLiRhcnJvdz1udWxsLGEuJHZpZXdwb3J0PW51bGx9KX07dmFyIGQ9YS5mbi50b29sdGlwO2EuZm4udG9vbHRpcD1iLGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvcj1jLGEuZm4udG9vbHRpcC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4udG9vbHRpcD1kLHRoaXN9fShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMucG9wb3ZlciIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiOyhlfHwhL2Rlc3Ryb3l8aGlkZS8udGVzdChiKSkmJihlfHxkLmRhdGEoImJzLnBvcG92ZXIiLGU9bmV3IGModGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCkpfSl9dmFyIGM9ZnVuY3Rpb24oYSxiKXt0aGlzLmluaXQoInBvcG92ZXIiLGEsYil9O2lmKCFhLmZuLnRvb2x0aXApdGhyb3cgbmV3IEVycm9yKCJQb3BvdmVyIHJlcXVpcmVzIHRvb2x0aXAuanMiKTtjLlZFUlNJT049IjMuMy41IixjLkRFRkFVTFRTPWEuZXh0ZW5kKHt9LGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvci5ERUZBVUxUUyx7cGxhY2VtZW50OiJyaWdodCIsdHJpZ2dlcjoiY2xpY2siLGNvbnRlbnQ6IiIsdGVtcGxhdGU6JzxkaXYgY2xhc3M9InBvcG92ZXIiIHJvbGU9InRvb2x0aXAiPjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj48aDMgY2xhc3M9InBvcG92ZXItdGl0bGUiPjwvaDM+PGRpdiBjbGFzcz0icG9wb3Zlci1jb250ZW50Ij48L2Rpdj48L2Rpdj4nfSksYy5wcm90b3R5cGU9YS5leHRlbmQoe30sYS5mbi50b29sdGlwLkNvbnN0cnVjdG9yLnByb3RvdHlwZSksYy5wcm90b3R5cGUuY29uc3RydWN0b3I9YyxjLnByb3RvdHlwZS5nZXREZWZhdWx0cz1mdW5jdGlvbigpe3JldHVybiBjLkRFRkFVTFRTfSxjLnByb3RvdHlwZS5zZXRDb250ZW50PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50aXAoKSxiPXRoaXMuZ2V0VGl0bGUoKSxjPXRoaXMuZ2V0Q29udGVudCgpO2EuZmluZCgiLnBvcG92ZXItdGl0bGUiKVt0aGlzLm9wdGlvbnMuaHRtbD8iaHRtbCI6InRleHQiXShiKSxhLmZpbmQoIi5wb3BvdmVyLWNvbnRlbnQiKS5jaGlsZHJlbigpLmRldGFjaCgpLmVuZCgpW3RoaXMub3B0aW9ucy5odG1sPyJzdHJpbmciPT10eXBlb2YgYz8iaHRtbCI6ImFwcGVuZCI6InRleHQiXShjKSxhLnJlbW92ZUNsYXNzKCJmYWRlIHRvcCBib3R0b20gbGVmdCByaWdodCBpbiIpLGEuZmluZCgiLnBvcG92ZXItdGl0bGUiKS5odG1sKCl8fGEuZmluZCgiLnBvcG92ZXItdGl0bGUiKS5oaWRlKCl9LGMucHJvdG90eXBlLmhhc0NvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaXRsZSgpfHx0aGlzLmdldENvbnRlbnQoKX0sYy5wcm90b3R5cGUuZ2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQsYj10aGlzLm9wdGlvbnM7cmV0dXJuIGEuYXR0cigiZGF0YS1jb250ZW50Iil8fCgiZnVuY3Rpb24iPT10eXBlb2YgYi5jb250ZW50P2IuY29udGVudC5jYWxsKGFbMF0pOmIuY29udGVudCl9LGMucHJvdG90eXBlLmFycm93PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGFycm93PXRoaXMuJGFycm93fHx0aGlzLnRpcCgpLmZpbmQoIi5hcnJvdyIpfTt2YXIgZD1hLmZuLnBvcG92ZXI7YS5mbi5wb3BvdmVyPWIsYS5mbi5wb3BvdmVyLkNvbnN0cnVjdG9yPWMsYS5mbi5wb3BvdmVyLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5wb3BvdmVyPWQsdGhpc319KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGMsZCl7dGhpcy4kYm9keT1hKGRvY3VtZW50LmJvZHkpLHRoaXMuJHNjcm9sbEVsZW1lbnQ9YShhKGMpLmlzKGRvY3VtZW50LmJvZHkpP3dpbmRvdzpjKSx0aGlzLm9wdGlvbnM9YS5leHRlbmQoe30sYi5ERUZBVUxUUyxkKSx0aGlzLnNlbGVjdG9yPSh0aGlzLm9wdGlvbnMudGFyZ2V0fHwiIikrIiAubmF2IGxpID4gYSIsdGhpcy5vZmZzZXRzPVtdLHRoaXMudGFyZ2V0cz1bXSx0aGlzLmFjdGl2ZVRhcmdldD1udWxsLHRoaXMuc2Nyb2xsSGVpZ2h0PTAsdGhpcy4kc2Nyb2xsRWxlbWVudC5vbigic2Nyb2xsLmJzLnNjcm9sbHNweSIsYS5wcm94eSh0aGlzLnByb2Nlc3MsdGhpcykpLHRoaXMucmVmcmVzaCgpLHRoaXMucHJvY2VzcygpfWZ1bmN0aW9uIGMoYyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLnNjcm9sbHNweSIpLGY9Im9iamVjdCI9PXR5cGVvZiBjJiZjO2V8fGQuZGF0YSgiYnMuc2Nyb2xsc3B5IixlPW5ldyBiKHRoaXMsZikpLCJzdHJpbmciPT10eXBlb2YgYyYmZVtjXSgpfSl9Yi5WRVJTSU9OPSIzLjMuNSIsYi5ERUZBVUxUUz17b2Zmc2V0OjEwfSxiLnByb3RvdHlwZS5nZXRTY3JvbGxIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kc2Nyb2xsRWxlbWVudFswXS5zY3JvbGxIZWlnaHR8fE1hdGgubWF4KHRoaXMuJGJvZHlbMF0uc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpfSxiLnByb3RvdHlwZS5yZWZyZXNoPWZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPSJvZmZzZXQiLGQ9MDt0aGlzLm9mZnNldHM9W10sdGhpcy50YXJnZXRzPVtdLHRoaXMuc2Nyb2xsSGVpZ2h0PXRoaXMuZ2V0U2Nyb2xsSGVpZ2h0KCksYS5pc1dpbmRvdyh0aGlzLiRzY3JvbGxFbGVtZW50WzBdKXx8KGM9InBvc2l0aW9uIixkPXRoaXMuJHNjcm9sbEVsZW1lbnQuc2Nyb2xsVG9wKCkpLHRoaXMuJGJvZHkuZmluZCh0aGlzLnNlbGVjdG9yKS5tYXAoZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpLGU9Yi5kYXRhKCJ0YXJnZXQiKXx8Yi5hdHRyKCJocmVmIiksZj0vXiMuLy50ZXN0KGUpJiZhKGUpO3JldHVybiBmJiZmLmxlbmd0aCYmZi5pcygiOnZpc2libGUiKSYmW1tmW2NdKCkudG9wK2QsZV1dfHxudWxsfSkuc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhWzBdLWJbMF19KS5lYWNoKGZ1bmN0aW9uKCl7Yi5vZmZzZXRzLnB1c2godGhpc1swXSksYi50YXJnZXRzLnB1c2godGhpc1sxXSl9KX0sYi5wcm90b3R5cGUucHJvY2Vzcz1mdW5jdGlvbigpe3ZhciBhLGI9dGhpcy4kc2Nyb2xsRWxlbWVudC5zY3JvbGxUb3AoKSt0aGlzLm9wdGlvbnMub2Zmc2V0LGM9dGhpcy5nZXRTY3JvbGxIZWlnaHQoKSxkPXRoaXMub3B0aW9ucy5vZmZzZXQrYy10aGlzLiRzY3JvbGxFbGVtZW50LmhlaWdodCgpLGU9dGhpcy5vZmZzZXRzLGY9dGhpcy50YXJnZXRzLGc9dGhpcy5hY3RpdmVUYXJnZXQ7aWYodGhpcy5zY3JvbGxIZWlnaHQhPWMmJnRoaXMucmVmcmVzaCgpLGI+PWQpcmV0dXJuIGchPShhPWZbZi5sZW5ndGgtMV0pJiZ0aGlzLmFjdGl2YXRlKGEpO2lmKGcmJmI8ZVswXSlyZXR1cm4gdGhpcy5hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLmNsZWFyKCk7Zm9yKGE9ZS5sZW5ndGg7YS0tOylnIT1mW2FdJiZiPj1lW2FdJiYodm9pZCAwPT09ZVthKzFdfHxiPGVbYSsxXSkmJnRoaXMuYWN0aXZhdGUoZlthXSl9LGIucHJvdG90eXBlLmFjdGl2YXRlPWZ1bmN0aW9uKGIpe3RoaXMuYWN0aXZlVGFyZ2V0PWIsdGhpcy5jbGVhcigpO3ZhciBjPXRoaXMuc2VsZWN0b3IrJ1tkYXRhLXRhcmdldD0iJytiKyciXSwnK3RoaXMuc2VsZWN0b3IrJ1tocmVmPSInK2IrJyJdJyxkPWEoYykucGFyZW50cygibGkiKS5hZGRDbGFzcygiYWN0aXZlIik7ZC5wYXJlbnQoIi5kcm9wZG93bi1tZW51IikubGVuZ3RoJiYoZD1kLmNsb3Nlc3QoImxpLmRyb3Bkb3duIikuYWRkQ2xhc3MoImFjdGl2ZSIpKSwKZC50cmlnZ2VyKCJhY3RpdmF0ZS5icy5zY3JvbGxzcHkiKX0sYi5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXthKHRoaXMuc2VsZWN0b3IpLnBhcmVudHNVbnRpbCh0aGlzLm9wdGlvbnMudGFyZ2V0LCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpfTt2YXIgZD1hLmZuLnNjcm9sbHNweTthLmZuLnNjcm9sbHNweT1jLGEuZm4uc2Nyb2xsc3B5LkNvbnN0cnVjdG9yPWIsYS5mbi5zY3JvbGxzcHkubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLnNjcm9sbHNweT1kLHRoaXN9LGEod2luZG93KS5vbigibG9hZC5icy5zY3JvbGxzcHkuZGF0YS1hcGkiLGZ1bmN0aW9uKCl7YSgnW2RhdGEtc3B5PSJzY3JvbGwiXScpLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpO2MuY2FsbChiLGIuZGF0YSgpKX0pfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy50YWIiKTtlfHxkLmRhdGEoImJzLnRhYiIsZT1uZXcgYyh0aGlzKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCl9KX12YXIgYz1mdW5jdGlvbihiKXt0aGlzLmVsZW1lbnQ9YShiKX07Yy5WRVJTSU9OPSIzLjMuNSIsYy5UUkFOU0lUSU9OX0RVUkFUSU9OPTE1MCxjLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5lbGVtZW50LGM9Yi5jbG9zZXN0KCJ1bDpub3QoLmRyb3Bkb3duLW1lbnUpIiksZD1iLmRhdGEoInRhcmdldCIpO2lmKGR8fChkPWIuYXR0cigiaHJlZiIpLGQ9ZCYmZC5yZXBsYWNlKC8uKig/PSNbXlxzXSokKS8sIiIpKSwhYi5wYXJlbnQoImxpIikuaGFzQ2xhc3MoImFjdGl2ZSIpKXt2YXIgZT1jLmZpbmQoIi5hY3RpdmU6bGFzdCBhIiksZj1hLkV2ZW50KCJoaWRlLmJzLnRhYiIse3JlbGF0ZWRUYXJnZXQ6YlswXX0pLGc9YS5FdmVudCgic2hvdy5icy50YWIiLHtyZWxhdGVkVGFyZ2V0OmVbMF19KTtpZihlLnRyaWdnZXIoZiksYi50cmlnZ2VyKGcpLCFnLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYhZi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIGg9YShkKTt0aGlzLmFjdGl2YXRlKGIuY2xvc2VzdCgibGkiKSxjKSx0aGlzLmFjdGl2YXRlKGgsaC5wYXJlbnQoKSxmdW5jdGlvbigpe2UudHJpZ2dlcih7dHlwZToiaGlkZGVuLmJzLnRhYiIscmVsYXRlZFRhcmdldDpiWzBdfSksYi50cmlnZ2VyKHt0eXBlOiJzaG93bi5icy50YWIiLHJlbGF0ZWRUYXJnZXQ6ZVswXX0pfSl9fX0sYy5wcm90b3R5cGUuYWN0aXZhdGU9ZnVuY3Rpb24oYixkLGUpe2Z1bmN0aW9uIGYoKXtnLnJlbW92ZUNsYXNzKCJhY3RpdmUiKS5maW5kKCI+IC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKS5lbmQoKS5maW5kKCdbZGF0YS10b2dnbGU9InRhYiJdJykuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpLGIuYWRkQ2xhc3MoImFjdGl2ZSIpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0idGFiIl0nKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksaD8oYlswXS5vZmZzZXRXaWR0aCxiLmFkZENsYXNzKCJpbiIpKTpiLnJlbW92ZUNsYXNzKCJmYWRlIiksYi5wYXJlbnQoIi5kcm9wZG93bi1tZW51IikubGVuZ3RoJiZiLmNsb3Nlc3QoImxpLmRyb3Bkb3duIikuYWRkQ2xhc3MoImFjdGl2ZSIpLmVuZCgpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0idGFiIl0nKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksZSYmZSgpfXZhciBnPWQuZmluZCgiPiAuYWN0aXZlIiksaD1lJiZhLnN1cHBvcnQudHJhbnNpdGlvbiYmKGcubGVuZ3RoJiZnLmhhc0NsYXNzKCJmYWRlIil8fCEhZC5maW5kKCI+IC5mYWRlIikubGVuZ3RoKTtnLmxlbmd0aCYmaD9nLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixmKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pOmYoKSxnLnJlbW92ZUNsYXNzKCJpbiIpfTt2YXIgZD1hLmZuLnRhYjthLmZuLnRhYj1iLGEuZm4udGFiLkNvbnN0cnVjdG9yPWMsYS5mbi50YWIubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLnRhYj1kLHRoaXN9O3ZhciBlPWZ1bmN0aW9uKGMpe2MucHJldmVudERlZmF1bHQoKSxiLmNhbGwoYSh0aGlzKSwic2hvdyIpfTthKGRvY3VtZW50KS5vbigiY2xpY2suYnMudGFiLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJ0YWIiXScsZSkub24oImNsaWNrLmJzLnRhYi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0icGlsbCJdJyxlKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLmFmZml4IiksZj0ib2JqZWN0Ij09dHlwZW9mIGImJmI7ZXx8ZC5kYXRhKCJicy5hZmZpeCIsZT1uZXcgYyh0aGlzLGYpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0oKX0pfXZhciBjPWZ1bmN0aW9uKGIsZCl7dGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZCksdGhpcy4kdGFyZ2V0PWEodGhpcy5vcHRpb25zLnRhcmdldCkub24oInNjcm9sbC5icy5hZmZpeC5kYXRhLWFwaSIsYS5wcm94eSh0aGlzLmNoZWNrUG9zaXRpb24sdGhpcykpLm9uKCJjbGljay5icy5hZmZpeC5kYXRhLWFwaSIsYS5wcm94eSh0aGlzLmNoZWNrUG9zaXRpb25XaXRoRXZlbnRMb29wLHRoaXMpKSx0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5hZmZpeGVkPW51bGwsdGhpcy51bnBpbj1udWxsLHRoaXMucGlubmVkT2Zmc2V0PW51bGwsdGhpcy5jaGVja1Bvc2l0aW9uKCl9O2MuVkVSU0lPTj0iMy4zLjUiLGMuUkVTRVQ9ImFmZml4IGFmZml4LXRvcCBhZmZpeC1ib3R0b20iLGMuREVGQVVMVFM9e29mZnNldDowLHRhcmdldDp3aW5kb3d9LGMucHJvdG90eXBlLmdldFN0YXRlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRoaXMuJHRhcmdldC5zY3JvbGxUb3AoKSxmPXRoaXMuJGVsZW1lbnQub2Zmc2V0KCksZz10aGlzLiR0YXJnZXQuaGVpZ2h0KCk7aWYobnVsbCE9YyYmInRvcCI9PXRoaXMuYWZmaXhlZClyZXR1cm4gYz5lPyJ0b3AiOiExO2lmKCJib3R0b20iPT10aGlzLmFmZml4ZWQpcmV0dXJuIG51bGwhPWM/ZSt0aGlzLnVucGluPD1mLnRvcD8hMToiYm90dG9tIjphLWQ+PWUrZz8hMToiYm90dG9tIjt2YXIgaD1udWxsPT10aGlzLmFmZml4ZWQsaT1oP2U6Zi50b3Asaj1oP2c6YjtyZXR1cm4gbnVsbCE9YyYmYz49ZT8idG9wIjpudWxsIT1kJiZpK2o+PWEtZD8iYm90dG9tIjohMX0sYy5wcm90b3R5cGUuZ2V0UGlubmVkT2Zmc2V0PWZ1bmN0aW9uKCl7aWYodGhpcy5waW5uZWRPZmZzZXQpcmV0dXJuIHRoaXMucGlubmVkT2Zmc2V0O3RoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoYy5SRVNFVCkuYWRkQ2xhc3MoImFmZml4Iik7dmFyIGE9dGhpcy4kdGFyZ2V0LnNjcm9sbFRvcCgpLGI9dGhpcy4kZWxlbWVudC5vZmZzZXQoKTtyZXR1cm4gdGhpcy5waW5uZWRPZmZzZXQ9Yi50b3AtYX0sYy5wcm90b3R5cGUuY2hlY2tQb3NpdGlvbldpdGhFdmVudExvb3A9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGEucHJveHkodGhpcy5jaGVja1Bvc2l0aW9uLHRoaXMpLDEpfSxjLnByb3RvdHlwZS5jaGVja1Bvc2l0aW9uPWZ1bmN0aW9uKCl7aWYodGhpcy4kZWxlbWVudC5pcygiOnZpc2libGUiKSl7dmFyIGI9dGhpcy4kZWxlbWVudC5oZWlnaHQoKSxkPXRoaXMub3B0aW9ucy5vZmZzZXQsZT1kLnRvcCxmPWQuYm90dG9tLGc9TWF0aC5tYXgoYShkb2N1bWVudCkuaGVpZ2h0KCksYShkb2N1bWVudC5ib2R5KS5oZWlnaHQoKSk7Im9iamVjdCIhPXR5cGVvZiBkJiYoZj1lPWQpLCJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1kLnRvcCh0aGlzLiRlbGVtZW50KSksImZ1bmN0aW9uIj09dHlwZW9mIGYmJihmPWQuYm90dG9tKHRoaXMuJGVsZW1lbnQpKTt2YXIgaD10aGlzLmdldFN0YXRlKGcsYixlLGYpO2lmKHRoaXMuYWZmaXhlZCE9aCl7bnVsbCE9dGhpcy51bnBpbiYmdGhpcy4kZWxlbWVudC5jc3MoInRvcCIsIiIpO3ZhciBpPSJhZmZpeCIrKGg/Ii0iK2g6IiIpLGo9YS5FdmVudChpKyIuYnMuYWZmaXgiKTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoaiksai5pc0RlZmF1bHRQcmV2ZW50ZWQoKSlyZXR1cm47dGhpcy5hZmZpeGVkPWgsdGhpcy51bnBpbj0iYm90dG9tIj09aD90aGlzLmdldFBpbm5lZE9mZnNldCgpOm51bGwsdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyhjLlJFU0VUKS5hZGRDbGFzcyhpKS50cmlnZ2VyKGkucmVwbGFjZSgiYWZmaXgiLCJhZmZpeGVkIikrIi5icy5hZmZpeCIpfSJib3R0b20iPT1oJiZ0aGlzLiRlbGVtZW50Lm9mZnNldCh7dG9wOmctYi1mfSl9fTt2YXIgZD1hLmZuLmFmZml4O2EuZm4uYWZmaXg9YixhLmZuLmFmZml4LkNvbnN0cnVjdG9yPWMsYS5mbi5hZmZpeC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYWZmaXg9ZCx0aGlzfSxhKHdpbmRvdykub24oImxvYWQiLGZ1bmN0aW9uKCl7YSgnW2RhdGEtc3B5PSJhZmZpeCJdJykuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyksZD1jLmRhdGEoKTtkLm9mZnNldD1kLm9mZnNldHx8e30sbnVsbCE9ZC5vZmZzZXRCb3R0b20mJihkLm9mZnNldC5ib3R0b209ZC5vZmZzZXRCb3R0b20pLG51bGwhPWQub2Zmc2V0VG9wJiYoZC5vZmZzZXQudG9wPWQub2Zmc2V0VG9wKSxiLmNhbGwoYyxkKX0pfSl9KGpRdWVyeSk7&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,LyoqCiogQHByZXNlcnZlIEhUTUw1IFNoaXYgMy43LjIgfCBAYWZhcmthcyBAamRhbHRvbiBAam9uX25lYWwgQHJlbSB8IE1JVC9HUEwyIExpY2Vuc2VkCiovCi8vIE9ubHkgcnVuIHRoaXMgY29kZSBpbiBJRSA4CmlmICghIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKCJNU0lFIDgiKSkgewohZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEsYil7dmFyIGM9YS5jcmVhdGVFbGVtZW50KCJwIiksZD1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGEuZG9jdW1lbnRFbGVtZW50O3JldHVybiBjLmlubmVySFRNTD0ieDxzdHlsZT4iK2IrIjwvc3R5bGU+IixkLmluc2VydEJlZm9yZShjLmxhc3RDaGlsZCxkLmZpcnN0Q2hpbGQpfWZ1bmN0aW9uIGQoKXt2YXIgYT10LmVsZW1lbnRzO3JldHVybiJzdHJpbmciPT10eXBlb2YgYT9hLnNwbGl0KCIgIik6YX1mdW5jdGlvbiBlKGEsYil7dmFyIGM9dC5lbGVtZW50czsic3RyaW5nIiE9dHlwZW9mIGMmJihjPWMuam9pbigiICIpKSwic3RyaW5nIiE9dHlwZW9mIGEmJihhPWEuam9pbigiICIpKSx0LmVsZW1lbnRzPWMrIiAiK2EsaihiKX1mdW5jdGlvbiBmKGEpe3ZhciBiPXNbYVtxXV07cmV0dXJuIGJ8fChiPXt9LHIrKyxhW3FdPXIsc1tyXT1iKSxifWZ1bmN0aW9uIGcoYSxjLGQpe2lmKGN8fChjPWIpLGwpcmV0dXJuIGMuY3JlYXRlRWxlbWVudChhKTtkfHwoZD1mKGMpKTt2YXIgZTtyZXR1cm4gZT1kLmNhY2hlW2FdP2QuY2FjaGVbYV0uY2xvbmVOb2RlKCk6cC50ZXN0KGEpPyhkLmNhY2hlW2FdPWQuY3JlYXRlRWxlbShhKSkuY2xvbmVOb2RlKCk6ZC5jcmVhdGVFbGVtKGEpLCFlLmNhbkhhdmVDaGlsZHJlbnx8by50ZXN0KGEpfHxlLnRhZ1Vybj9lOmQuZnJhZy5hcHBlbmRDaGlsZChlKX1mdW5jdGlvbiBoKGEsYyl7aWYoYXx8KGE9YiksbClyZXR1cm4gYS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Yz1jfHxmKGEpO2Zvcih2YXIgZT1jLmZyYWcuY2xvbmVOb2RlKCksZz0wLGg9ZCgpLGk9aC5sZW5ndGg7aT5nO2crKyllLmNyZWF0ZUVsZW1lbnQoaFtnXSk7cmV0dXJuIGV9ZnVuY3Rpb24gaShhLGIpe2IuY2FjaGV8fChiLmNhY2hlPXt9LGIuY3JlYXRlRWxlbT1hLmNyZWF0ZUVsZW1lbnQsYi5jcmVhdGVGcmFnPWEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCxiLmZyYWc9Yi5jcmVhdGVGcmFnKCkpLGEuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihjKXtyZXR1cm4gdC5zaGl2TWV0aG9kcz9nKGMsYSxiKTpiLmNyZWF0ZUVsZW0oYyl9LGEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudD1GdW5jdGlvbigiaCxmIiwicmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49Zi5jbG9uZU5vZGUoKSxjPW4uY3JlYXRlRWxlbWVudDtoLnNoaXZNZXRob2RzJiYoIitkKCkuam9pbigpLnJlcGxhY2UoL1tcd1wtOl0rL2csZnVuY3Rpb24oYSl7cmV0dXJuIGIuY3JlYXRlRWxlbShhKSxiLmZyYWcuY3JlYXRlRWxlbWVudChhKSwnYygiJythKyciKSd9KSsiKTtyZXR1cm4gbn0iKSh0LGIuZnJhZyl9ZnVuY3Rpb24gaihhKXthfHwoYT1iKTt2YXIgZD1mKGEpO3JldHVybiF0LnNoaXZDU1N8fGt8fGQuaGFzQ1NTfHwoZC5oYXNDU1M9ISFjKGEsImFydGljbGUsYXNpZGUsZGlhbG9nLGZpZ2NhcHRpb24sZmlndXJlLGZvb3RlcixoZWFkZXIsaGdyb3VwLG1haW4sbmF2LHNlY3Rpb257ZGlzcGxheTpibG9ja31tYXJre2JhY2tncm91bmQ6I0ZGMDtjb2xvcjojMDAwfXRlbXBsYXRle2Rpc3BsYXk6bm9uZX0iKSksbHx8aShhLGQpLGF9dmFyIGssbCxtPSIzLjcuMiIsbj1hLmh0bWw1fHx7fSxvPS9ePHxeKD86YnV0dG9ufG1hcHxzZWxlY3R8dGV4dGFyZWF8b2JqZWN0fGlmcmFtZXxvcHRpb258b3B0Z3JvdXApJC9pLHA9L14oPzphfGJ8Y29kZXxkaXZ8ZmllbGRzZXR8aDF8aDJ8aDN8aDR8aDV8aDZ8aXxsYWJlbHxsaXxvbHxwfHF8c3BhbnxzdHJvbmd8c3R5bGV8dGFibGV8dGJvZHl8dGR8dGh8dHJ8dWwpJC9pLHE9Il9odG1sNXNoaXYiLHI9MCxzPXt9OyFmdW5jdGlvbigpe3RyeXt2YXIgYT1iLmNyZWF0ZUVsZW1lbnQoImEiKTthLmlubmVySFRNTD0iPHh5ej48L3h5ej4iLGs9ImhpZGRlbiJpbiBhLGw9MT09YS5jaGlsZE5vZGVzLmxlbmd0aHx8ZnVuY3Rpb24oKXtiLmNyZWF0ZUVsZW1lbnQoImEiKTt2YXIgYT1iLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIGEuY2xvbmVOb2RlfHwidW5kZWZpbmVkIj09dHlwZW9mIGEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudHx8InVuZGVmaW5lZCI9PXR5cGVvZiBhLmNyZWF0ZUVsZW1lbnR9KCl9Y2F0Y2goYyl7az0hMCxsPSEwfX0oKTt2YXIgdD17ZWxlbWVudHM6bi5lbGVtZW50c3x8ImFiYnIgYXJ0aWNsZSBhc2lkZSBhdWRpbyBiZGkgY2FudmFzIGRhdGEgZGF0YWxpc3QgZGV0YWlscyBkaWFsb2cgZmlnY2FwdGlvbiBmaWd1cmUgZm9vdGVyIGhlYWRlciBoZ3JvdXAgbWFpbiBtYXJrIG1ldGVyIG5hdiBvdXRwdXQgcGljdHVyZSBwcm9ncmVzcyBzZWN0aW9uIHN1bW1hcnkgdGVtcGxhdGUgdGltZSB2aWRlbyIsdmVyc2lvbjptLHNoaXZDU1M6bi5zaGl2Q1NTIT09ITEsc3VwcG9ydHNVbmtub3duRWxlbWVudHM6bCxzaGl2TWV0aG9kczpuLnNoaXZNZXRob2RzIT09ITEsdHlwZToiZGVmYXVsdCIsc2hpdkRvY3VtZW50OmosY3JlYXRlRWxlbWVudDpnLGNyZWF0ZURvY3VtZW50RnJhZ21lbnQ6aCxhZGRFbGVtZW50czplfTthLmh0bWw1PXQsaihiKX0odGhpcyxkb2N1bWVudCk7Cn07Cg==&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,LyohIFJlc3BvbmQuanMgdjEuNC4yOiBtaW4vbWF4LXdpZHRoIG1lZGlhIHF1ZXJ5IHBvbHlmaWxsICogQ29weXJpZ2h0IDIwMTMgU2NvdHQgSmVobAogKiBMaWNlbnNlZCB1bmRlciBodHRwczovL2dpdGh1Yi5jb20vc2NvdHRqZWhsL1Jlc3BvbmQvYmxvYi9tYXN0ZXIvTElDRU5TRS1NSVQKICogICovCgovLyBPbmx5IHJ1biB0aGlzIGNvZGUgaW4gSUUgOAppZiAoISF3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgiTVNJRSA4IikpIHsKIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjthLm1hdGNoTWVkaWE9YS5tYXRjaE1lZGlhfHxmdW5jdGlvbihhKXt2YXIgYixjPWEuZG9jdW1lbnRFbGVtZW50LGQ9Yy5maXJzdEVsZW1lbnRDaGlsZHx8Yy5maXJzdENoaWxkLGU9YS5jcmVhdGVFbGVtZW50KCJib2R5IiksZj1hLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBmLmlkPSJtcS10ZXN0LTEiLGYuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7dG9wOi0xMDBlbSIsZS5zdHlsZS5iYWNrZ3JvdW5kPSJub25lIixlLmFwcGVuZENoaWxkKGYpLGZ1bmN0aW9uKGEpe3JldHVybiBmLmlubmVySFRNTD0nJnNoeTs8c3R5bGUgbWVkaWE9IicrYSsnIj4gI21xLXRlc3QtMSB7IHdpZHRoOiA0MnB4OyB9PC9zdHlsZT4nLGMuaW5zZXJ0QmVmb3JlKGUsZCksYj00Mj09PWYub2Zmc2V0V2lkdGgsYy5yZW1vdmVDaGlsZChlKSx7bWF0Y2hlczpiLG1lZGlhOmF9fX0oYS5kb2N1bWVudCl9KHRoaXMpLGZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKCl7dSghMCl9dmFyIGM9e307YS5yZXNwb25kPWMsYy51cGRhdGU9ZnVuY3Rpb24oKXt9O3ZhciBkPVtdLGU9ZnVuY3Rpb24oKXt2YXIgYj0hMTt0cnl7Yj1uZXcgYS5YTUxIdHRwUmVxdWVzdH1jYXRjaChjKXtiPW5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGJ9fSgpLGY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1lKCk7YyYmKGMub3BlbigiR0VUIixhLCEwKSxjLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQhPT1jLnJlYWR5U3RhdGV8fDIwMCE9PWMuc3RhdHVzJiYzMDQhPT1jLnN0YXR1c3x8YihjLnJlc3BvbnNlVGV4dCl9LDQhPT1jLnJlYWR5U3RhdGUmJmMuc2VuZChudWxsKSl9O2lmKGMuYWpheD1mLGMucXVldWU9ZCxjLnJlZ2V4PXttZWRpYTovQG1lZGlhW15ce10rXHsoW15ce1x9XSpce1teXH1ce10qXH0pKy9naSxrZXlmcmFtZXM6L0AoPzpcLSg/Om98bW96fHdlYmtpdClcLSk/a2V5ZnJhbWVzW15ce10rXHsoPzpbXlx7XH1dKlx7W15cfVx7XSpcfSkrW15cfV0qXH0vZ2ksdXJsczovKHVybFwoKVsnIl0/KFteXC9cKSciXVteOlwpJyJdKylbJyJdPyhcKSkvZyxmaW5kU3R5bGVzOi9AbWVkaWEgKihbXlx7XSspXHsoW1xTXHNdKz8pJC8sb25seTovKG9ubHlccyspPyhbYS16QS1aXSspXHM/LyxtaW53Oi9cKFtcc10qbWluXC13aWR0aFxzKjpbXHNdKihbXHNdKlswLTlcLl0rKShweHxlbSlbXHNdKlwpLyxtYXh3Oi9cKFtcc10qbWF4XC13aWR0aFxzKjpbXHNdKihbXHNdKlswLTlcLl0rKShweHxlbSlbXHNdKlwpL30sYy5tZWRpYVF1ZXJpZXNTdXBwb3J0ZWQ9YS5tYXRjaE1lZGlhJiZudWxsIT09YS5tYXRjaE1lZGlhKCJvbmx5IGFsbCIpJiZhLm1hdGNoTWVkaWEoIm9ubHkgYWxsIikubWF0Y2hlcywhYy5tZWRpYVF1ZXJpZXNTdXBwb3J0ZWQpe3ZhciBnLGgsaSxqPWEuZG9jdW1lbnQsaz1qLmRvY3VtZW50RWxlbWVudCxsPVtdLG09W10sbj1bXSxvPXt9LHA9MzAscT1qLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGsscj1qLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJiYXNlIilbMF0scz1xLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksdD1mdW5jdGlvbigpe3ZhciBhLGI9ai5jcmVhdGVFbGVtZW50KCJkaXYiKSxjPWouYm9keSxkPWsuc3R5bGUuZm9udFNpemUsZT1jJiZjLnN0eWxlLmZvbnRTaXplLGY9ITE7cmV0dXJuIGIuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Zm9udC1zaXplOjFlbTt3aWR0aDoxZW0iLGN8fChjPWY9ai5jcmVhdGVFbGVtZW50KCJib2R5IiksYy5zdHlsZS5iYWNrZ3JvdW5kPSJub25lIiksay5zdHlsZS5mb250U2l6ZT0iMTAwJSIsYy5zdHlsZS5mb250U2l6ZT0iMTAwJSIsYy5hcHBlbmRDaGlsZChiKSxmJiZrLmluc2VydEJlZm9yZShjLGsuZmlyc3RDaGlsZCksYT1iLm9mZnNldFdpZHRoLGY/ay5yZW1vdmVDaGlsZChjKTpjLnJlbW92ZUNoaWxkKGIpLGsuc3R5bGUuZm9udFNpemU9ZCxlJiYoYy5zdHlsZS5mb250U2l6ZT1lKSxhPWk9cGFyc2VGbG9hdChhKX0sdT1mdW5jdGlvbihiKXt2YXIgYz0iY2xpZW50V2lkdGgiLGQ9a1tjXSxlPSJDU1MxQ29tcGF0Ij09PWouY29tcGF0TW9kZSYmZHx8ai5ib2R5W2NdfHxkLGY9e30sbz1zW3MubGVuZ3RoLTFdLHI9KG5ldyBEYXRlKS5nZXRUaW1lKCk7aWYoYiYmZyYmcD5yLWcpcmV0dXJuIGEuY2xlYXJUaW1lb3V0KGgpLGg9YS5zZXRUaW1lb3V0KHUscCksdm9pZCAwO2c9cjtmb3IodmFyIHYgaW4gbClpZihsLmhhc093blByb3BlcnR5KHYpKXt2YXIgdz1sW3ZdLHg9dy5taW53LHk9dy5tYXh3LHo9bnVsbD09PXgsQT1udWxsPT09eSxCPSJlbSI7eCYmKHg9cGFyc2VGbG9hdCh4KSooeC5pbmRleE9mKEIpPi0xP2l8fHQoKToxKSkseSYmKHk9cGFyc2VGbG9hdCh5KSooeS5pbmRleE9mKEIpPi0xP2l8fHQoKToxKSksdy5oYXNxdWVyeSYmKHomJkF8fCEoenx8ZT49eCl8fCEoQXx8eT49ZSkpfHwoZlt3Lm1lZGlhXXx8KGZbdy5tZWRpYV09W10pLGZbdy5tZWRpYV0ucHVzaChtW3cucnVsZXNdKSl9Zm9yKHZhciBDIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShDKSYmbltDXSYmbltDXS5wYXJlbnROb2RlPT09cSYmcS5yZW1vdmVDaGlsZChuW0NdKTtuLmxlbmd0aD0wO2Zvcih2YXIgRCBpbiBmKWlmKGYuaGFzT3duUHJvcGVydHkoRCkpe3ZhciBFPWouY3JlYXRlRWxlbWVudCgic3R5bGUiKSxGPWZbRF0uam9pbigiXG4iKTtFLnR5cGU9InRleHQvY3NzIixFLm1lZGlhPUQscS5pbnNlcnRCZWZvcmUoRSxvLm5leHRTaWJsaW5nKSxFLnN0eWxlU2hlZXQ/RS5zdHlsZVNoZWV0LmNzc1RleHQ9RjpFLmFwcGVuZENoaWxkKGouY3JlYXRlVGV4dE5vZGUoRikpLG4ucHVzaChFKX19LHY9ZnVuY3Rpb24oYSxiLGQpe3ZhciBlPWEucmVwbGFjZShjLnJlZ2V4LmtleWZyYW1lcywiIikubWF0Y2goYy5yZWdleC5tZWRpYSksZj1lJiZlLmxlbmd0aHx8MDtiPWIuc3Vic3RyaW5nKDAsYi5sYXN0SW5kZXhPZigiLyIpKTt2YXIgZz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKGMucmVnZXgudXJscywiJDEiK2IrIiQyJDMiKX0saD0hZiYmZDtiLmxlbmd0aCYmKGIrPSIvIiksaCYmKGY9MSk7Zm9yKHZhciBpPTA7Zj5pO2krKyl7dmFyIGosayxuLG87aD8oaj1kLG0ucHVzaChnKGEpKSk6KGo9ZVtpXS5tYXRjaChjLnJlZ2V4LmZpbmRTdHlsZXMpJiZSZWdFeHAuJDEsbS5wdXNoKFJlZ0V4cC4kMiYmZyhSZWdFeHAuJDIpKSksbj1qLnNwbGl0KCIsIiksbz1uLmxlbmd0aDtmb3IodmFyIHA9MDtvPnA7cCsrKWs9bltwXSxsLnB1c2goe21lZGlhOmsuc3BsaXQoIigiKVswXS5tYXRjaChjLnJlZ2V4Lm9ubHkpJiZSZWdFeHAuJDJ8fCJhbGwiLHJ1bGVzOm0ubGVuZ3RoLTEsaGFzcXVlcnk6ay5pbmRleE9mKCIoIik+LTEsbWludzprLm1hdGNoKGMucmVnZXgubWludykmJnBhcnNlRmxvYXQoUmVnRXhwLiQxKSsoUmVnRXhwLiQyfHwiIiksbWF4dzprLm1hdGNoKGMucmVnZXgubWF4dykmJnBhcnNlRmxvYXQoUmVnRXhwLiQxKSsoUmVnRXhwLiQyfHwiIil9KX11KCl9LHc9ZnVuY3Rpb24oKXtpZihkLmxlbmd0aCl7dmFyIGI9ZC5zaGlmdCgpO2YoYi5ocmVmLGZ1bmN0aW9uKGMpe3YoYyxiLmhyZWYsYi5tZWRpYSksb1tiLmhyZWZdPSEwLGEuc2V0VGltZW91dChmdW5jdGlvbigpe3coKX0sMCl9KX19LHg9ZnVuY3Rpb24oKXtmb3IodmFyIGI9MDtiPHMubGVuZ3RoO2IrKyl7dmFyIGM9c1tiXSxlPWMuaHJlZixmPWMubWVkaWEsZz1jLnJlbCYmInN0eWxlc2hlZXQiPT09Yy5yZWwudG9Mb3dlckNhc2UoKTtlJiZnJiYhb1tlXSYmKGMuc3R5bGVTaGVldCYmYy5zdHlsZVNoZWV0LnJhd0Nzc1RleHQ/KHYoYy5zdHlsZVNoZWV0LnJhd0Nzc1RleHQsZSxmKSxvW2VdPSEwKTooIS9eKFthLXpBLVo6XSpcL1wvKS8udGVzdChlKSYmIXJ8fGUucmVwbGFjZShSZWdFeHAuJDEsIiIpLnNwbGl0KCIvIilbMF09PT1hLmxvY2F0aW9uLmhvc3QpJiYoIi8vIj09PWUuc3Vic3RyaW5nKDAsMikmJihlPWEubG9jYXRpb24ucHJvdG9jb2wrZSksZC5wdXNoKHtocmVmOmUsbWVkaWE6Zn0pKSl9dygpfTt4KCksYy51cGRhdGU9eCxjLmdldEVtVmFsdWU9dCxhLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGIsITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9ucmVzaXplIixiKX19KHRoaXMpOwp9Owo=&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,CgovKioKICogalF1ZXJ5IFBsdWdpbjogU3RpY2t5IFRhYnMKICoKICogQGF1dGhvciBBaWRhbiBMaXN0ZXIgPGFpZGFuQHBocC5uZXQ+CiAqIGFkYXB0ZWQgYnkgUnViZW4gQXJzbGFuIHRvIGFjdGl2YXRlIHBhcmVudCB0YWJzIHRvbwogKiBodHRwOi8vd3d3LmFpZGFubGlzdGVyLmNvbS8yMDE0LzAzL3BlcnNpc3RpbmctdGhlLXRhYi1zdGF0ZS1pbi1ib290c3RyYXAvCiAqLwooZnVuY3Rpb24oJCkgewogICJ1c2Ugc3RyaWN0IjsKICAkLmZuLnJtYXJrZG93blN0aWNreVRhYnMgPSBmdW5jdGlvbigpIHsKICAgIHZhciBjb250ZXh0ID0gdGhpczsKICAgIC8vIFNob3cgdGhlIHRhYiBjb3JyZXNwb25kaW5nIHdpdGggdGhlIGhhc2ggaW4gdGhlIFVSTCwgb3IgdGhlIGZpcnN0IHRhYgogICAgdmFyIHNob3dTdHVmZkZyb21IYXNoID0gZnVuY3Rpb24oKSB7CiAgICAgIHZhciBoYXNoID0gd2luZG93LmxvY2F0aW9uLmhhc2g7CiAgICAgIHZhciBzZWxlY3RvciA9IGhhc2ggPyAnYVtocmVmPSInICsgaGFzaCArICciXScgOiAnbGkuYWN0aXZlID4gYSc7CiAgICAgIHZhciAkc2VsZWN0b3IgPSAkKHNlbGVjdG9yLCBjb250ZXh0KTsKICAgICAgaWYoJHNlbGVjdG9yLmRhdGEoJ3RvZ2dsZScpID09PSAidGFiIikgewogICAgICAgICRzZWxlY3Rvci50YWIoJ3Nob3cnKTsKICAgICAgICAvLyB3YWxrIHVwIHRoZSBhbmNlc3RvcnMgb2YgdGhpcyBlbGVtZW50LCBzaG93IGFueSBoaWRkZW4gdGFicwogICAgICAgICRzZWxlY3Rvci5wYXJlbnRzKCcuc2VjdGlvbi50YWJzZXQnKS5lYWNoKGZ1bmN0aW9uKGksIGVsbSkgewogICAgICAgICAgdmFyIGxpbmsgPSAkKCdhW2hyZWY9IiMnICsgJChlbG0pLmF0dHIoJ2lkJykgKyAnIl0nKTsKICAgICAgICAgIGlmKGxpbmsuZGF0YSgndG9nZ2xlJykgPT09ICJ0YWIiKSB7CiAgICAgICAgICAgIGxpbmsudGFiKCJzaG93Iik7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH07CgoKICAgIC8vIFNldCB0aGUgY29ycmVjdCB0YWIgd2hlbiB0aGUgcGFnZSBsb2FkcwogICAgc2hvd1N0dWZmRnJvbUhhc2goY29udGV4dCk7CgogICAgLy8gU2V0IHRoZSBjb3JyZWN0IHRhYiB3aGVuIGEgdXNlciB1c2VzIHRoZWlyIGJhY2svZm9yd2FyZCBidXR0b24KICAgICQod2luZG93KS5vbignaGFzaGNoYW5nZScsIGZ1bmN0aW9uKCkgewogICAgICBzaG93U3R1ZmZGcm9tSGFzaChjb250ZXh0KTsKICAgIH0pOwoKICAgIC8vIENoYW5nZSB0aGUgVVJMIHdoZW4gdGFicyBhcmUgY2xpY2tlZAogICAgJCgnYScsIGNvbnRleHQpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgaGlzdG9yeS5wdXNoU3RhdGUobnVsbCwgbnVsbCwgdGhpcy5ocmVmKTsKICAgICAgc2hvd1N0dWZmRnJvbUhhc2goY29udGV4dCk7CiAgICB9KTsKCiAgICByZXR1cm4gdGhpczsKICB9Owp9KGpRdWVyeSkpOwoKd2luZG93LmJ1aWxkVGFic2V0cyA9IGZ1bmN0aW9uKHRvY0lEKSB7CgogIC8vIGJ1aWxkIGEgdGFic2V0IGZyb20gYSBzZWN0aW9uIGRpdiB3aXRoIHRoZSAudGFic2V0IGNsYXNzCiAgZnVuY3Rpb24gYnVpbGRUYWJzZXQodGFic2V0KSB7CgogICAgLy8gY2hlY2sgZm9yIGZhZGUgYW5kIHBpbGxzIG9wdGlvbnMKICAgIHZhciBmYWRlID0gdGFic2V0Lmhhc0NsYXNzKCJ0YWJzZXQtZmFkZSIpOwogICAgdmFyIHBpbGxzID0gdGFic2V0Lmhhc0NsYXNzKCJ0YWJzZXQtcGlsbHMiKTsKICAgIHZhciBuYXZDbGFzcyA9IHBpbGxzID8gIm5hdi1waWxscyIgOiAibmF2LXRhYnMiOwoKICAgIC8vIGRldGVybWluZSB0aGUgaGVhZGluZyBsZXZlbCBvZiB0aGUgdGFic2V0IGFuZCB0YWJzCiAgICB2YXIgbWF0Y2ggPSB0YWJzZXQuYXR0cignY2xhc3MnKS5tYXRjaCgvbGV2ZWwoXGQpIC8pOwogICAgaWYgKG1hdGNoID09PSBudWxsKQogICAgICByZXR1cm47CiAgICB2YXIgdGFic2V0TGV2ZWwgPSBOdW1iZXIobWF0Y2hbMV0pOwogICAgdmFyIHRhYkxldmVsID0gdGFic2V0TGV2ZWwgKyAxOwoKICAgIC8vIGZpbmQgYWxsIHN1YmhlYWRpbmdzIGltbWVkaWF0ZWx5IGJlbG93CiAgICB2YXIgdGFicyA9IHRhYnNldC5maW5kKCJkaXYuc2VjdGlvbi5sZXZlbCIgKyB0YWJMZXZlbCk7CiAgICBpZiAoIXRhYnMubGVuZ3RoKQogICAgICByZXR1cm47CgogICAgLy8gY3JlYXRlIHRhYmxpc3QgYW5kIHRhYi1jb250ZW50IGVsZW1lbnRzCiAgICB2YXIgdGFiTGlzdCA9ICQoJzx1bCBjbGFzcz0ibmF2ICcgKyBuYXZDbGFzcyArICciIHJvbGU9InRhYmxpc3QiPjwvdWw+Jyk7CiAgICAkKHRhYnNbMF0pLmJlZm9yZSh0YWJMaXN0KTsKICAgIHZhciB0YWJDb250ZW50ID0gJCgnPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPjwvZGl2PicpOwogICAgJCh0YWJzWzBdKS5iZWZvcmUodGFiQ29udGVudCk7CgogICAgLy8gYnVpbGQgdGhlIHRhYnNldAogICAgdmFyIGFjdGl2ZVRhYiA9IDA7CiAgICB0YWJzLmVhY2goZnVuY3Rpb24oaSkgewoKICAgICAgLy8gZ2V0IHRoZSB0YWIgZGl2CiAgICAgIHZhciB0YWIgPSAkKHRhYnNbaV0pOwoKICAgICAgLy8gZ2V0IHRoZSBpZCB0aGVuIHNhbml0aXplIGl0IGZvciB1c2Ugd2l0aCBib290c3RyYXAgdGFicwogICAgICB2YXIgaWQgPSB0YWIuYXR0cignaWQnKTsKCiAgICAgIC8vIHNlZSBpZiB0aGlzIGlzIG1hcmtlZCBhcyB0aGUgYWN0aXZlIHRhYgogICAgICBpZiAodGFiLmhhc0NsYXNzKCdhY3RpdmUnKSkKICAgICAgICBhY3RpdmVUYWIgPSBpOwoKICAgICAgLy8gcmVtb3ZlIGFueSB0YWJsZSBvZiBjb250ZW50cyBlbnRyaWVzIGFzc29jaWF0ZWQgd2l0aAogICAgICAvLyB0aGlzIElEIChzaW5jZSB3ZSdsbCBiZSByZW1vdmluZyB0aGUgaGVhZGluZyBlbGVtZW50KQogICAgICAkKCJkaXYjIiArIHRvY0lEICsgIiBsaSBhW2hyZWY9JyMiICsgaWQgKyAiJ10iKS5wYXJlbnQoKS5yZW1vdmUoKTsKCiAgICAgIC8vIHNhbml0aXplIHRoZSBpZCBmb3IgdXNlIHdpdGggYm9vdHN0cmFwIHRhYnMKICAgICAgaWQgPSBpZC5yZXBsYWNlKC9bLlwvPyYhIzw+XS9nLCAnJykucmVwbGFjZSgvXHMvZywgJ18nKTsKICAgICAgdGFiLmF0dHIoJ2lkJywgaWQpOwoKICAgICAgLy8gZ2V0IHRoZSBoZWFkaW5nIGVsZW1lbnQgd2l0aGluIGl0LCBncmFiIGl0J3MgdGV4dCwgdGhlbiByZW1vdmUgaXQKICAgICAgdmFyIGhlYWRpbmcgPSB0YWIuZmluZCgnaCcgKyB0YWJMZXZlbCArICc6Zmlyc3QnKTsKICAgICAgdmFyIGhlYWRpbmdUZXh0ID0gaGVhZGluZy5odG1sKCk7CiAgICAgIGhlYWRpbmcucmVtb3ZlKCk7CgogICAgICAvLyBidWlsZCBhbmQgYXBwZW5kIHRoZSB0YWIgbGlzdCBpdGVtCiAgICAgIHZhciBhID0gJCgnPGEgcm9sZT0idGFiIiBkYXRhLXRvZ2dsZT0idGFiIj4nICsgaGVhZGluZ1RleHQgKyAnPC9hPicpOwogICAgICBhLmF0dHIoJ2hyZWYnLCAnIycgKyBpZCk7CiAgICAgIGEuYXR0cignYXJpYS1jb250cm9scycsIGlkKTsKICAgICAgdmFyIGxpID0gJCgnPGxpIHJvbGU9InByZXNlbnRhdGlvbiI+PC9saT4nKTsKICAgICAgbGkuYXBwZW5kKGEpOwogICAgICB0YWJMaXN0LmFwcGVuZChsaSk7CgogICAgICAvLyBzZXQgaXQncyBhdHRyaWJ1dGVzCiAgICAgIHRhYi5hdHRyKCdyb2xlJywgJ3RhYnBhbmVsJyk7CiAgICAgIHRhYi5hZGRDbGFzcygndGFiLXBhbmUnKTsKICAgICAgdGFiLmFkZENsYXNzKCd0YWJiZWQtcGFuZScpOwogICAgICBpZiAoZmFkZSkKICAgICAgICB0YWIuYWRkQ2xhc3MoJ2ZhZGUnKTsKCiAgICAgIC8vIG1vdmUgaXQgaW50byB0aGUgdGFiIGNvbnRlbnQgZGl2CiAgICAgIHRhYi5kZXRhY2goKS5hcHBlbmRUbyh0YWJDb250ZW50KTsKICAgIH0pOwoKICAgIC8vIHNldCBhY3RpdmUgdGFiCiAgICAkKHRhYkxpc3QuY2hpbGRyZW4oJ2xpJylbYWN0aXZlVGFiXSkuYWRkQ2xhc3MoJ2FjdGl2ZScpOwogICAgdmFyIGFjdGl2ZSA9ICQodGFiQ29udGVudC5jaGlsZHJlbignZGl2LnNlY3Rpb24nKVthY3RpdmVUYWJdKTsKICAgIGFjdGl2ZS5hZGRDbGFzcygnYWN0aXZlJyk7CiAgICBpZiAoZmFkZSkKICAgICAgYWN0aXZlLmFkZENsYXNzKCdpbicpOwoKICAgIGlmICh0YWJzZXQuaGFzQ2xhc3MoInRhYnNldC1zdGlja3kiKSkKICAgICAgdGFic2V0LnJtYXJrZG93blN0aWNreVRhYnMoKTsKICB9CgogIC8vIGNvbnZlcnQgc2VjdGlvbiBkaXZzIHdpdGggdGhlIC50YWJzZXQgY2xhc3MgdG8gdGFic2V0cwogIHZhciB0YWJzZXRzID0gJCgiZGl2LnNlY3Rpb24udGFic2V0Iik7CiAgdGFic2V0cy5lYWNoKGZ1bmN0aW9uKGkpIHsKICAgIGJ1aWxkVGFic2V0KCQodGFic2V0c1tpXSkpOwogIH0pOwp9OwoK&quot;&gt;&lt;/script&gt;
&lt;link href=&quot;data:text/css,%2Ehljs%2Dliteral%20%7B%0Acolor%3A%20%23990073%3B%0A%7D%0A%2Ehljs%2Dnumber%20%7B%0Acolor%3A%20%23099%3B%0A%7D%0A%2Ehljs%2Dcomment%20%7B%0Acolor%3A%20%23998%3B%0Afont%2Dstyle%3A%20italic%3B%0A%7D%0A%2Ehljs%2Dkeyword%20%7B%0Acolor%3A%20%23900%3B%0Afont%2Dweight%3A%20bold%3B%0A%7D%0A%2Ehljs%2Dstring%20%7B%0Acolor%3A%20%23d14%3B%0A%7D%0A&quot; rel=&quot;stylesheet&quot; /&gt;
&lt;script src=&quot;data:application/javascript;base64,LyohIGhpZ2hsaWdodC5qcyB2OS4xMi4wIHwgQlNEMyBMaWNlbnNlIHwgZ2l0LmlvL2hsanNsaWNlbnNlICovCiFmdW5jdGlvbihlKXt2YXIgbj0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93fHwib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGY7InVuZGVmaW5lZCIhPXR5cGVvZiBleHBvcnRzP2UoZXhwb3J0cyk6biYmKG4uaGxqcz1lKHt9KSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoW10sZnVuY3Rpb24oKXtyZXR1cm4gbi5obGpzfSkpfShmdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUpe3JldHVybiBlLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKX1mdW5jdGlvbiB0KGUpe3JldHVybiBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gcihlLG4pe3ZhciB0PWUmJmUuZXhlYyhuKTtyZXR1cm4gdCYmMD09PXQuaW5kZXh9ZnVuY3Rpb24gYShlKXtyZXR1cm4gay50ZXN0KGUpfWZ1bmN0aW9uIGkoZSl7dmFyIG4sdCxyLGksbz1lLmNsYXNzTmFtZSsiICI7aWYobys9ZS5wYXJlbnROb2RlP2UucGFyZW50Tm9kZS5jbGFzc05hbWU6IiIsdD1CLmV4ZWMobykpcmV0dXJuIHcodFsxXSk/dFsxXToibm8taGlnaGxpZ2h0Ijtmb3Iobz1vLnNwbGl0KC9ccysvKSxuPTAscj1vLmxlbmd0aDtyPm47bisrKWlmKGk9b1tuXSxhKGkpfHx3KGkpKXJldHVybiBpfWZ1bmN0aW9uIG8oZSl7dmFyIG4sdD17fSxyPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtmb3IobiBpbiBlKXRbbl09ZVtuXTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKGUpe2ZvcihuIGluIGUpdFtuXT1lW25dfSksdH1mdW5jdGlvbiB1KGUpe3ZhciBuPVtdO3JldHVybiBmdW5jdGlvbiByKGUsYSl7Zm9yKHZhciBpPWUuZmlyc3RDaGlsZDtpO2k9aS5uZXh0U2libGluZykzPT09aS5ub2RlVHlwZT9hKz1pLm5vZGVWYWx1ZS5sZW5ndGg6MT09PWkubm9kZVR5cGUmJihuLnB1c2goe2V2ZW50OiJzdGFydCIsb2Zmc2V0OmEsbm9kZTppfSksYT1yKGksYSksdChpKS5tYXRjaCgvYnJ8aHJ8aW1nfGlucHV0Lyl8fG4ucHVzaCh7ZXZlbnQ6InN0b3AiLG9mZnNldDphLG5vZGU6aX0pKTtyZXR1cm4gYX0oZSwwKSxufWZ1bmN0aW9uIGMoZSxyLGEpe2Z1bmN0aW9uIGkoKXtyZXR1cm4gZS5sZW5ndGgmJnIubGVuZ3RoP2VbMF0ub2Zmc2V0IT09clswXS5vZmZzZXQ/ZVswXS5vZmZzZXQ8clswXS5vZmZzZXQ/ZTpyOiJzdGFydCI9PT1yWzBdLmV2ZW50P2U6cjplLmxlbmd0aD9lOnJ9ZnVuY3Rpb24gbyhlKXtmdW5jdGlvbiByKGUpe3JldHVybiIgIitlLm5vZGVOYW1lKyc9IicrbihlLnZhbHVlKS5yZXBsYWNlKCciJywiJnF1b3Q7IikrJyInfXMrPSI8Iit0KGUpK0UubWFwLmNhbGwoZS5hdHRyaWJ1dGVzLHIpLmpvaW4oIiIpKyI+In1mdW5jdGlvbiB1KGUpe3MrPSI8LyIrdChlKSsiPiJ9ZnVuY3Rpb24gYyhlKXsoInN0YXJ0Ij09PWUuZXZlbnQ/bzp1KShlLm5vZGUpfWZvcih2YXIgbD0wLHM9IiIsZj1bXTtlLmxlbmd0aHx8ci5sZW5ndGg7KXt2YXIgZz1pKCk7aWYocys9bihhLnN1YnN0cmluZyhsLGdbMF0ub2Zmc2V0KSksbD1nWzBdLm9mZnNldCxnPT09ZSl7Zi5yZXZlcnNlKCkuZm9yRWFjaCh1KTtkbyBjKGcuc3BsaWNlKDAsMSlbMF0pLGc9aSgpO3doaWxlKGc9PT1lJiZnLmxlbmd0aCYmZ1swXS5vZmZzZXQ9PT1sKTtmLnJldmVyc2UoKS5mb3JFYWNoKG8pfWVsc2Uic3RhcnQiPT09Z1swXS5ldmVudD9mLnB1c2goZ1swXS5ub2RlKTpmLnBvcCgpLGMoZy5zcGxpY2UoMCwxKVswXSl9cmV0dXJuIHMrbihhLnN1YnN0cihsKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS52JiYhZS5jYWNoZWRfdmFyaWFudHMmJihlLmNhY2hlZF92YXJpYW50cz1lLnYubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBvKGUse3Y6bnVsbH0sbil9KSksZS5jYWNoZWRfdmFyaWFudHN8fGUuZVcmJltvKGUpXXx8W2VdfWZ1bmN0aW9uIHMoZSl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZSYmZS5zb3VyY2V8fGV9ZnVuY3Rpb24gdCh0LHIpe3JldHVybiBuZXcgUmVnRXhwKG4odCksIm0iKyhlLmNJPyJpIjoiIikrKHI/ImciOiIiKSl9ZnVuY3Rpb24gcihhLGkpe2lmKCFhLmNvbXBpbGVkKXtpZihhLmNvbXBpbGVkPSEwLGEuaz1hLmt8fGEuYkssYS5rKXt2YXIgbz17fSx1PWZ1bmN0aW9uKG4sdCl7ZS5jSSYmKHQ9dC50b0xvd2VyQ2FzZSgpKSx0LnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnNwbGl0KCJ8Iik7b1t0WzBdXT1bbix0WzFdP051bWJlcih0WzFdKToxXX0pfTsic3RyaW5nIj09dHlwZW9mIGEuaz91KCJrZXl3b3JkIixhLmspOngoYS5rKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3UoZSxhLmtbZV0pfSksYS5rPW99YS5sUj10KGEubHx8L1x3Ky8sITApLGkmJihhLmJLJiYoYS5iPSJcXGIoIithLmJLLnNwbGl0KCIgIikuam9pbigifCIpKyIpXFxiIiksYS5ifHwoYS5iPS9cQnxcYi8pLGEuYlI9dChhLmIpLGEuZXx8YS5lV3x8KGEuZT0vXEJ8XGIvKSxhLmUmJihhLmVSPXQoYS5lKSksYS50RT1uKGEuZSl8fCIiLGEuZVcmJmkudEUmJihhLnRFKz0oYS5lPyJ8IjoiIikraS50RSkpLGEuaSYmKGEuaVI9dChhLmkpKSxudWxsPT1hLnImJihhLnI9MSksYS5jfHwoYS5jPVtdKSxhLmM9QXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBsKCJzZWxmIj09PWU/YTplKX0pKSxhLmMuZm9yRWFjaChmdW5jdGlvbihlKXtyKGUsYSl9KSxhLnN0YXJ0cyYmcihhLnN0YXJ0cyxpKTt2YXIgYz1hLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLmJLPyJcXC4/KCIrZS5iKyIpXFwuPyI6ZS5ifSkuY29uY2F0KFthLnRFLGEuaV0pLm1hcChuKS5maWx0ZXIoQm9vbGVhbik7YS50PWMubGVuZ3RoP3QoYy5qb2luKCJ8IiksITApOntleGVjOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fX19cihlKX1mdW5jdGlvbiBmKGUsdCxhLGkpe2Z1bmN0aW9uIG8oZSxuKXt2YXIgdCxhO2Zvcih0PTAsYT1uLmMubGVuZ3RoO2E+dDt0KyspaWYocihuLmNbdF0uYlIsZSkpcmV0dXJuIG4uY1t0XX1mdW5jdGlvbiB1KGUsbil7aWYocihlLmVSLG4pKXtmb3IoO2UuZW5kc1BhcmVudCYmZS5wYXJlbnQ7KWU9ZS5wYXJlbnQ7cmV0dXJuIGV9cmV0dXJuIGUuZVc/dShlLnBhcmVudCxuKTp2b2lkIDB9ZnVuY3Rpb24gYyhlLG4pe3JldHVybiFhJiZyKG4uaVIsZSl9ZnVuY3Rpb24gbChlLG4pe3ZhciB0PU4uY0k/blswXS50b0xvd2VyQ2FzZSgpOm5bMF07cmV0dXJuIGUuay5oYXNPd25Qcm9wZXJ0eSh0KSYmZS5rW3RdfWZ1bmN0aW9uIHAoZSxuLHQscil7dmFyIGE9cj8iIjpJLmNsYXNzUHJlZml4LGk9JzxzcGFuIGNsYXNzPSInK2Esbz10PyIiOkM7cmV0dXJuIGkrPWUrJyI+JyxpK24rb31mdW5jdGlvbiBoKCl7dmFyIGUsdCxyLGE7aWYoIUUuaylyZXR1cm4gbihrKTtmb3IoYT0iIix0PTAsRS5sUi5sYXN0SW5kZXg9MCxyPUUubFIuZXhlYyhrKTtyOylhKz1uKGsuc3Vic3RyaW5nKHQsci5pbmRleCkpLGU9bChFLHIpLGU/KEIrPWVbMV0sYSs9cChlWzBdLG4oclswXSkpKTphKz1uKHJbMF0pLHQ9RS5sUi5sYXN0SW5kZXgscj1FLmxSLmV4ZWMoayk7cmV0dXJuIGErbihrLnN1YnN0cih0KSl9ZnVuY3Rpb24gZCgpe3ZhciBlPSJzdHJpbmciPT10eXBlb2YgRS5zTDtpZihlJiYheVtFLnNMXSlyZXR1cm4gbihrKTt2YXIgdD1lP2YoRS5zTCxrLCEwLHhbRS5zTF0pOmcoayxFLnNMLmxlbmd0aD9FLnNMOnZvaWQgMCk7cmV0dXJuIEUucj4wJiYoQis9dC5yKSxlJiYoeFtFLnNMXT10LnRvcCkscCh0Lmxhbmd1YWdlLHQudmFsdWUsITEsITApfWZ1bmN0aW9uIGIoKXtMKz1udWxsIT1FLnNMP2QoKTpoKCksaz0iIn1mdW5jdGlvbiB2KGUpe0wrPWUuY04/cChlLmNOLCIiLCEwKToiIixFPU9iamVjdC5jcmVhdGUoZSx7cGFyZW50Ont2YWx1ZTpFfX0pfWZ1bmN0aW9uIG0oZSxuKXtpZihrKz1lLG51bGw9PW4pcmV0dXJuIGIoKSwwO3ZhciB0PW8obixFKTtpZih0KXJldHVybiB0LnNraXA/ays9bjoodC5lQiYmKGsrPW4pLGIoKSx0LnJCfHx0LmVCfHwoaz1uKSksdih0LG4pLHQuckI/MDpuLmxlbmd0aDt2YXIgcj11KEUsbik7aWYocil7dmFyIGE9RTthLnNraXA/ays9bjooYS5yRXx8YS5lRXx8KGsrPW4pLGIoKSxhLmVFJiYoaz1uKSk7ZG8gRS5jTiYmKEwrPUMpLEUuc2tpcHx8KEIrPUUuciksRT1FLnBhcmVudDt3aGlsZShFIT09ci5wYXJlbnQpO3JldHVybiByLnN0YXJ0cyYmdihyLnN0YXJ0cywiIiksYS5yRT8wOm4ubGVuZ3RofWlmKGMobixFKSl0aHJvdyBuZXcgRXJyb3IoJ0lsbGVnYWwgbGV4ZW1lICInK24rJyIgZm9yIG1vZGUgIicrKEUuY058fCI8dW5uYW1lZD4iKSsnIicpO3JldHVybiBrKz1uLG4ubGVuZ3RofHwxfXZhciBOPXcoZSk7aWYoIU4pdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGxhbmd1YWdlOiAiJytlKyciJyk7cyhOKTt2YXIgUixFPWl8fE4seD17fSxMPSIiO2ZvcihSPUU7UiE9PU47Uj1SLnBhcmVudClSLmNOJiYoTD1wKFIuY04sIiIsITApK0wpO3ZhciBrPSIiLEI9MDt0cnl7Zm9yKHZhciBNLGosTz0wOzspe2lmKEUudC5sYXN0SW5kZXg9TyxNPUUudC5leGVjKHQpLCFNKWJyZWFrO2o9bSh0LnN1YnN0cmluZyhPLE0uaW5kZXgpLE1bMF0pLE89TS5pbmRleCtqfWZvcihtKHQuc3Vic3RyKE8pKSxSPUU7Ui5wYXJlbnQ7Uj1SLnBhcmVudClSLmNOJiYoTCs9Qyk7cmV0dXJue3I6Qix2YWx1ZTpMLGxhbmd1YWdlOmUsdG9wOkV9fWNhdGNoKFQpe2lmKFQubWVzc2FnZSYmLTEhPT1ULm1lc3NhZ2UuaW5kZXhPZigiSWxsZWdhbCIpKXJldHVybntyOjAsdmFsdWU6bih0KX07dGhyb3cgVH19ZnVuY3Rpb24gZyhlLHQpe3Q9dHx8SS5sYW5ndWFnZXN8fHgoeSk7dmFyIHI9e3I6MCx2YWx1ZTpuKGUpfSxhPXI7cmV0dXJuIHQuZmlsdGVyKHcpLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHQ9ZihuLGUsITEpO3QubGFuZ3VhZ2U9bix0LnI+YS5yJiYoYT10KSx0LnI+ci5yJiYoYT1yLHI9dCl9KSxhLmxhbmd1YWdlJiYoci5zZWNvbmRfYmVzdD1hKSxyfWZ1bmN0aW9uIHAoZSl7cmV0dXJuIEkudGFiUmVwbGFjZXx8SS51c2VCUj9lLnJlcGxhY2UoTSxmdW5jdGlvbihlLG4pe3JldHVybiBJLnVzZUJSJiYiXG4iPT09ZT8iPGJyPiI6SS50YWJSZXBsYWNlP24ucmVwbGFjZSgvXHQvZyxJLnRhYlJlcGxhY2UpOiIifSk6ZX1mdW5jdGlvbiBoKGUsbix0KXt2YXIgcj1uP0xbbl06dCxhPVtlLnRyaW0oKV07cmV0dXJuIGUubWF0Y2goL1xiaGxqc1xiLyl8fGEucHVzaCgiaGxqcyIpLC0xPT09ZS5pbmRleE9mKHIpJiZhLnB1c2gociksYS5qb2luKCIgIikudHJpbSgpfWZ1bmN0aW9uIGQoZSl7dmFyIG4sdCxyLG8sbCxzPWkoZSk7YShzKXx8KEkudXNlQlI/KG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiZGl2Iiksbi5pbm5lckhUTUw9ZS5pbm5lckhUTUwucmVwbGFjZSgvXG4vZywiIikucmVwbGFjZSgvPGJyWyBcL10qPi9nLCJcbiIpKTpuPWUsbD1uLnRleHRDb250ZW50LHI9cz9mKHMsbCwhMCk6ZyhsKSx0PXUobiksdC5sZW5ndGgmJihvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImRpdiIpLG8uaW5uZXJIVE1MPXIudmFsdWUsci52YWx1ZT1jKHQsdShvKSxsKSksci52YWx1ZT1wKHIudmFsdWUpLGUuaW5uZXJIVE1MPXIudmFsdWUsZS5jbGFzc05hbWU9aChlLmNsYXNzTmFtZSxzLHIubGFuZ3VhZ2UpLGUucmVzdWx0PXtsYW5ndWFnZTpyLmxhbmd1YWdlLHJlOnIucn0sci5zZWNvbmRfYmVzdCYmKGUuc2Vjb25kX2Jlc3Q9e2xhbmd1YWdlOnIuc2Vjb25kX2Jlc3QubGFuZ3VhZ2UscmU6ci5zZWNvbmRfYmVzdC5yfSkpfWZ1bmN0aW9uIGIoZSl7ST1vKEksZSl9ZnVuY3Rpb24gdigpe2lmKCF2LmNhbGxlZCl7di5jYWxsZWQ9ITA7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgicHJlIGNvZGUiKTtFLmZvckVhY2guY2FsbChlLGQpfX1mdW5jdGlvbiBtKCl7YWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsdiwhMSksYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdiwhMSl9ZnVuY3Rpb24gTihuLHQpe3ZhciByPXlbbl09dChlKTtyLmFsaWFzZXMmJnIuYWxpYXNlcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe0xbZV09bn0pfWZ1bmN0aW9uIFIoKXtyZXR1cm4geCh5KX1mdW5jdGlvbiB3KGUpe3JldHVybiBlPShlfHwiIikudG9Mb3dlckNhc2UoKSx5W2VdfHx5W0xbZV1dfXZhciBFPVtdLHg9T2JqZWN0LmtleXMseT17fSxMPXt9LGs9L14obm8tP2hpZ2hsaWdodHxwbGFpbnx0ZXh0KSQvaSxCPS9cYmxhbmcoPzp1YWdlKT8tKFtcdy1dKylcYi9pLE09LygoXig8W14+XSs+fFx0fCkrfCg/OlxuKSkpL2dtLEM9Ijwvc3Bhbj4iLEk9e2NsYXNzUHJlZml4OiJobGpzLSIsdGFiUmVwbGFjZTpudWxsLHVzZUJSOiExLGxhbmd1YWdlczp2b2lkIDB9O3JldHVybiBlLmhpZ2hsaWdodD1mLGUuaGlnaGxpZ2h0QXV0bz1nLGUuZml4TWFya3VwPXAsZS5oaWdobGlnaHRCbG9jaz1kLGUuY29uZmlndXJlPWIsZS5pbml0SGlnaGxpZ2h0aW5nPXYsZS5pbml0SGlnaGxpZ2h0aW5nT25Mb2FkPW0sZS5yZWdpc3Rlckxhbmd1YWdlPU4sZS5saXN0TGFuZ3VhZ2VzPVIsZS5nZXRMYW5ndWFnZT13LGUuaW5oZXJpdD1vLGUuSVI9IlthLXpBLVpdXFx3KiIsZS5VSVI9IlthLXpBLVpfXVxcdyoiLGUuTlI9IlxcYlxcZCsoXFwuXFxkKyk/IixlLkNOUj0iKC0/KShcXGIwW3hYXVthLWZBLUYwLTldK3woXFxiXFxkKyhcXC5cXGQqKT98XFwuXFxkKykoW2VFXVstK10/XFxkKyk/KSIsZS5CTlI9IlxcYigwYlswMV0rKSIsZS5SU1I9IiF8IT18IT09fCV8JT18JnwmJnwmPXxcXCp8XFwqPXxcXCt8XFwrPXwsfC18LT18Lz18L3w6fDt8PDx8PDw9fDw9fDx8PT09fD09fD18Pj4+PXw+Pj18Pj18Pj4+fD4+fD58XFw/fFxcW3xcXHt8XFwofFxcXnxcXF49fFxcfHxcXHw9fFxcfFxcfHx+IixlLkJFPXtiOiJcXFxcW1xcc1xcU10iLHI6MH0sZS5BU009e2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGk6IlxcbiIsYzpbZS5CRV19LGUuUVNNPXtjTjoic3RyaW5nIixiOiciJyxlOiciJyxpOiJcXG4iLGM6W2UuQkVdfSxlLlBXTT17YjovXGIoYXxhbnx0aGV8YXJlfEknbXxpc24ndHxkb24ndHxkb2Vzbid0fHdvbid0fGJ1dHxqdXN0fHNob3VsZHxwcmV0dHl8c2ltcGx5fGVub3VnaHxnb25uYXxnb2luZ3x3dGZ8c298c3VjaHx3aWxsfHlvdXx5b3VyfHRoZXl8bGlrZXxtb3JlKVxiL30sZS5DPWZ1bmN0aW9uKG4sdCxyKXt2YXIgYT1lLmluaGVyaXQoe2NOOiJjb21tZW50IixiOm4sZTp0LGM6W119LHJ8fHt9KTtyZXR1cm4gYS5jLnB1c2goZS5QV00pLGEuYy5wdXNoKHtjTjoiZG9jdGFnIixiOiIoPzpUT0RPfEZJWE1FfE5PVEV8QlVHfFhYWCk6IixyOjB9KSxhfSxlLkNMQ009ZS5DKCIvLyIsIiQiKSxlLkNCQ009ZS5DKCIvXFwqIiwiXFwqLyIpLGUuSENNPWUuQygiIyIsIiQiKSxlLk5NPXtjTjoibnVtYmVyIixiOmUuTlIscjowfSxlLkNOTT17Y046Im51bWJlciIsYjplLkNOUixyOjB9LGUuQk5NPXtjTjoibnVtYmVyIixiOmUuQk5SLHI6MH0sZS5DU1NOTT17Y046Im51bWJlciIsYjplLk5SKyIoJXxlbXxleHxjaHxyZW18dnd8dmh8dm1pbnx2bWF4fGNtfG1tfGlufHB0fHBjfHB4fGRlZ3xncmFkfHJhZHx0dXJufHN8bXN8SHp8a0h6fGRwaXxkcGNtfGRwcHgpPyIscjowfSxlLlJNPXtjTjoicmVnZXhwIixiOi9cLy8sZTovXC9bZ2ltdXldKi8saTovXG4vLGM6W2UuQkUse2I6L1xbLyxlOi9cXS8scjowLGM6W2UuQkVdfV19LGUuVE09e2NOOiJ0aXRsZSIsYjplLklSLHI6MH0sZS5VVE09e2NOOiJ0aXRsZSIsYjplLlVJUixyOjB9LGUuTUVUSE9EX0dVQVJEPXtiOiJcXC5cXHMqIitlLlVJUixyOjB9LGV9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInNxbCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5DKCItLSIsIiQiKTtyZXR1cm57Y0k6ITAsaTovWzw+e30qI10vLGM6W3tiSzoiYmVnaW4gZW5kIHN0YXJ0IGNvbW1pdCByb2xsYmFjayBzYXZlcG9pbnQgbG9jayBhbHRlciBjcmVhdGUgZHJvcCByZW5hbWUgY2FsbCBkZWxldGUgZG8gaGFuZGxlciBpbnNlcnQgbG9hZCByZXBsYWNlIHNlbGVjdCB0cnVuY2F0ZSB1cGRhdGUgc2V0IHNob3cgcHJhZ21hIGdyYW50IG1lcmdlIGRlc2NyaWJlIHVzZSBleHBsYWluIGhlbHAgZGVjbGFyZSBwcmVwYXJlIGV4ZWN1dGUgZGVhbGxvY2F0ZSByZWxlYXNlIHVubG9jayBwdXJnZSByZXNldCBjaGFuZ2Ugc3RvcCBhbmFseXplIGNhY2hlIGZsdXNoIG9wdGltaXplIHJlcGFpciBraWxsIGluc3RhbGwgdW5pbnN0YWxsIGNoZWNrc3VtIHJlc3RvcmUgY2hlY2sgYmFja3VwIHJldm9rZSBjb21tZW50IixlOi87LyxlVzohMCxsOi9bXHdcLl0rLyxrOntrZXl3b3JkOiJhYm9ydCBhYnMgYWJzb2x1dGUgYWNjIGFjY2UgYWNjZXAgYWNjZXB0IGFjY2VzcyBhY2Nlc3NlZCBhY2Nlc3NpYmxlIGFjY291bnQgYWNvcyBhY3Rpb24gYWN0aXZhdGUgYWRkIGFkZHRpbWUgYWRtaW4gYWRtaW5pc3RlciBhZHZhbmNlZCBhZHZpc2UgYWVzX2RlY3J5cHQgYWVzX2VuY3J5cHQgYWZ0ZXIgYWdlbnQgYWdncmVnYXRlIGFsaSBhbGlhIGFsaWFzIGFsbG9jYXRlIGFsbG93IGFsdGVyIGFsd2F5cyBhbmFseXplIGFuY2lsbGFyeSBhbmQgYW55IGFueWRhdGEgYW55ZGF0YXNldCBhbnlzY2hlbWEgYW55dHlwZSBhcHBseSBhcmNoaXZlIGFyY2hpdmVkIGFyY2hpdmVsb2cgYXJlIGFzIGFzYyBhc2NpaSBhc2luIGFzc2VtYmx5IGFzc2VydGlvbiBhc3NvY2lhdGUgYXN5bmNocm9ub3VzIGF0IGF0YW4gYXRuMiBhdHRyIGF0dHJpIGF0dHJpYiBhdHRyaWJ1IGF0dHJpYnV0IGF0dHJpYnV0ZSBhdHRyaWJ1dGVzIGF1ZGl0IGF1dGhlbnRpY2F0ZWQgYXV0aGVudGljYXRpb24gYXV0aGlkIGF1dGhvcnMgYXV0byBhdXRvYWxsb2NhdGUgYXV0b2RibGluayBhdXRvZXh0ZW5kIGF1dG9tYXRpYyBhdmFpbGFiaWxpdHkgYXZnIGJhY2t1cCBiYWRmaWxlIGJhc2ljZmlsZSBiZWZvcmUgYmVnaW4gYmVnaW5uaW5nIGJlbmNobWFyayBiZXR3ZWVuIGJmaWxlIGJmaWxlX2Jhc2UgYmlnIGJpZ2ZpbGUgYmluIGJpbmFyeV9kb3VibGUgYmluYXJ5X2Zsb2F0IGJpbmxvZyBiaXRfYW5kIGJpdF9jb3VudCBiaXRfbGVuZ3RoIGJpdF9vciBiaXRfeG9yIGJpdG1hcCBibG9iX2Jhc2UgYmxvY2sgYmxvY2tzaXplIGJvZHkgYm90aCBib3VuZCBidWZmZXJfY2FjaGUgYnVmZmVyX3Bvb2wgYnVpbGQgYnVsayBieSBieXRlIGJ5dGVvcmRlcm1hcmsgYnl0ZXMgY2FjaGUgY2FjaGluZyBjYWxsIGNhbGxpbmcgY2FuY2VsIGNhcGFjaXR5IGNhc2NhZGUgY2FzY2FkZWQgY2FzZSBjYXN0IGNhdGFsb2cgY2F0ZWdvcnkgY2VpbCBjZWlsaW5nIGNoYWluIGNoYW5nZSBjaGFuZ2VkIGNoYXJfYmFzZSBjaGFyX2xlbmd0aCBjaGFyYWN0ZXJfbGVuZ3RoIGNoYXJhY3RlcnMgY2hhcmFjdGVyc2V0IGNoYXJpbmRleCBjaGFyc2V0IGNoYXJzZXRmb3JtIGNoYXJzZXRpZCBjaGVjayBjaGVja3N1bSBjaGVja3N1bV9hZ2cgY2hpbGQgY2hvb3NlIGNociBjaHVuayBjbGFzcyBjbGVhbnVwIGNsZWFyIGNsaWVudCBjbG9iIGNsb2JfYmFzZSBjbG9uZSBjbG9zZSBjbHVzdGVyX2lkIGNsdXN0ZXJfcHJvYmFiaWxpdHkgY2x1c3Rlcl9zZXQgY2x1c3RlcmluZyBjb2FsZXNjZSBjb2VyY2liaWxpdHkgY29sIGNvbGxhdGUgY29sbGF0aW9uIGNvbGxlY3QgY29sdSBjb2x1bSBjb2x1bW4gY29sdW1uX3ZhbHVlIGNvbHVtbnMgY29sdW1uc191cGRhdGVkIGNvbW1lbnQgY29tbWl0IGNvbXBhY3QgY29tcGF0aWJpbGl0eSBjb21waWxlZCBjb21wbGV0ZSBjb21wb3NpdGVfbGltaXQgY29tcG91bmQgY29tcHJlc3MgY29tcHV0ZSBjb25jYXQgY29uY2F0X3dzIGNvbmN1cnJlbnQgY29uZmlybSBjb25uIGNvbm5lYyBjb25uZWN0IGNvbm5lY3RfYnlfaXNjeWNsZSBjb25uZWN0X2J5X2lzbGVhZiBjb25uZWN0X2J5X3Jvb3QgY29ubmVjdF90aW1lIGNvbm5lY3Rpb24gY29uc2lkZXIgY29uc2lzdGVudCBjb25zdGFudCBjb25zdHJhaW50IGNvbnN0cmFpbnRzIGNvbnN0cnVjdG9yIGNvbnRhaW5lciBjb250ZW50IGNvbnRlbnRzIGNvbnRleHQgY29udHJpYnV0b3JzIGNvbnRyb2xmaWxlIGNvbnYgY29udmVydCBjb252ZXJ0X3R6IGNvcnIgY29ycl9rIGNvcnJfcyBjb3JyZXNwb25kaW5nIGNvcnJ1cHRpb24gY29zIGNvc3QgY291bnQgY291bnRfYmlnIGNvdW50ZWQgY292YXJfcG9wIGNvdmFyX3NhbXAgY3B1X3Blcl9jYWxsIGNwdV9wZXJfc2Vzc2lvbiBjcmMzMiBjcmVhdGUgY3JlYXRpb24gY3JpdGljYWwgY3Jvc3MgY3ViZSBjdW1lX2Rpc3QgY3VyZGF0ZSBjdXJyZW50IGN1cnJlbnRfZGF0ZSBjdXJyZW50X3RpbWUgY3VycmVudF90aW1lc3RhbXAgY3VycmVudF91c2VyIGN1cnNvciBjdXJ0aW1lIGN1c3RvbWRhdHVtIGN5Y2xlIGRhdGEgZGF0YWJhc2UgZGF0YWJhc2VzIGRhdGFmaWxlIGRhdGFmaWxlcyBkYXRhbGVuZ3RoIGRhdGVfYWRkIGRhdGVfY2FjaGUgZGF0ZV9mb3JtYXQgZGF0ZV9zdWIgZGF0ZWFkZCBkYXRlZGlmZiBkYXRlZnJvbXBhcnRzIGRhdGVuYW1lIGRhdGVwYXJ0IGRhdGV0aW1lMmZyb21wYXJ0cyBkYXkgZGF5X3RvX3NlY29uZCBkYXluYW1lIGRheW9mbW9udGggZGF5b2Z3ZWVrIGRheW9meWVhciBkYXlzIGRiX3JvbGVfY2hhbmdlIGRidGltZXpvbmUgZGRsIGRlYWxsb2NhdGUgZGVjbGFyZSBkZWNvZGUgZGVjb21wb3NlIGRlY3JlbWVudCBkZWNyeXB0IGRlZHVwbGljYXRlIGRlZiBkZWZhIGRlZmF1IGRlZmF1bCBkZWZhdWx0IGRlZmF1bHRzIGRlZmVycmVkIGRlZmkgZGVmaW4gZGVmaW5lIGRlZ3JlZXMgZGVsYXllZCBkZWxlZ2F0ZSBkZWxldGUgZGVsZXRlX2FsbCBkZWxpbWl0ZWQgZGVtYW5kIGRlbnNlX3JhbmsgZGVwdGggZGVxdWV1ZSBkZXNfZGVjcnlwdCBkZXNfZW5jcnlwdCBkZXNfa2V5X2ZpbGUgZGVzYyBkZXNjciBkZXNjcmkgZGVzY3JpYiBkZXNjcmliZSBkZXNjcmlwdG9yIGRldGVybWluaXN0aWMgZGlhZ25vc3RpY3MgZGlmZmVyZW5jZSBkaW1lbnNpb24gZGlyZWN0X2xvYWQgZGlyZWN0b3J5IGRpc2FibGUgZGlzYWJsZV9hbGwgZGlzYWxsb3cgZGlzYXNzb2NpYXRlIGRpc2NhcmRmaWxlIGRpc2Nvbm5lY3QgZGlza2dyb3VwIGRpc3RpbmN0IGRpc3RpbmN0cm93IGRpc3RyaWJ1dGUgZGlzdHJpYnV0ZWQgZGl2IGRvIGRvY3VtZW50IGRvbWFpbiBkb3RuZXQgZG91YmxlIGRvd25ncmFkZSBkcm9wIGR1bXBmaWxlIGR1cGxpY2F0ZSBkdXJhdGlvbiBlYWNoIGVkaXRpb24gZWRpdGlvbmFibGUgZWRpdGlvbnMgZWxlbWVudCBlbGxpcHNpcyBlbHNlIGVsc2lmIGVsdCBlbXB0eSBlbmFibGUgZW5hYmxlX2FsbCBlbmNsb3NlZCBlbmNvZGUgZW5jb2RpbmcgZW5jcnlwdCBlbmQgZW5kLWV4ZWMgZW5kaWFuIGVuZm9yY2VkIGVuZ2luZSBlbmdpbmVzIGVucXVldWUgZW50ZXJwcmlzZSBlbnRpdHllc2NhcGluZyBlb21vbnRoIGVycm9yIGVycm9ycyBlc2NhcGVkIGV2YWxuYW1lIGV2YWx1YXRlIGV2ZW50IGV2ZW50ZGF0YSBldmVudHMgZXhjZXB0IGV4Y2VwdGlvbiBleGNlcHRpb25zIGV4Y2hhbmdlIGV4Y2x1ZGUgZXhjbHVkaW5nIGV4ZWN1IGV4ZWN1dCBleGVjdXRlIGV4ZW1wdCBleGlzdHMgZXhpdCBleHAgZXhwaXJlIGV4cGxhaW4gZXhwb3J0IGV4cG9ydF9zZXQgZXh0ZW5kZWQgZXh0ZW50IGV4dGVybmFsIGV4dGVybmFsXzEgZXh0ZXJuYWxfMiBleHRlcm5hbGx5IGV4dHJhY3QgZmFpbGVkIGZhaWxlZF9sb2dpbl9hdHRlbXB0cyBmYWlsb3ZlciBmYWlsdXJlIGZhciBmYXN0IGZlYXR1cmVfc2V0IGZlYXR1cmVfdmFsdWUgZmV0Y2ggZmllbGQgZmllbGRzIGZpbGUgZmlsZV9uYW1lX2NvbnZlcnQgZmlsZXN5c3RlbV9saWtlX2xvZ2dpbmcgZmluYWwgZmluaXNoIGZpcnN0IGZpcnN0X3ZhbHVlIGZpeGVkIGZsYXNoX2NhY2hlIGZsYXNoYmFjayBmbG9vciBmbHVzaCBmb2xsb3dpbmcgZm9sbG93cyBmb3IgZm9yYWxsIGZvcmNlIGZvcm0gZm9ybWEgZm9ybWF0IGZvdW5kIGZvdW5kX3Jvd3MgZnJlZWxpc3QgZnJlZWxpc3RzIGZyZWVwb29scyBmcmVzaCBmcm9tIGZyb21fYmFzZTY0IGZyb21fZGF5cyBmdHAgZnVsbCBmdW5jdGlvbiBnZW5lcmFsIGdlbmVyYXRlZCBnZXQgZ2V0X2Zvcm1hdCBnZXRfbG9jayBnZXRkYXRlIGdldHV0Y2RhdGUgZ2xvYmFsIGdsb2JhbF9uYW1lIGdsb2JhbGx5IGdvIGdvdG8gZ3JhbnQgZ3JhbnRzIGdyZWF0ZXN0IGdyb3VwIGdyb3VwX2NvbmNhdCBncm91cF9pZCBncm91cGluZyBncm91cGluZ19pZCBncm91cHMgZ3RpZF9zdWJ0cmFjdCBndWFyYW50ZWUgZ3VhcmQgaGFuZGxlciBoYXNoIGhhc2hrZXlzIGhhdmluZyBoZWEgaGVhZCBoZWFkaSBoZWFkaW4gaGVhZGluZyBoZWFwIGhlbHAgaGV4IGhpZXJhcmNoeSBoaWdoIGhpZ2hfcHJpb3JpdHkgaG9zdHMgaG91ciBodHRwIGlkIGlkZW50X2N1cnJlbnQgaWRlbnRfaW5jciBpZGVudF9zZWVkIGlkZW50aWZpZWQgaWRlbnRpdHkgaWRsZV90aW1lIGlmIGlmbnVsbCBpZ25vcmUgaWlmIGlsaWtlIGlsbSBpbW1lZGlhdGUgaW1wb3J0IGluIGluY2x1ZGUgaW5jbHVkaW5nIGluY3JlbWVudCBpbmRleCBpbmRleGVzIGluZGV4aW5nIGluZGV4dHlwZSBpbmRpY2F0b3IgaW5kaWNlcyBpbmV0Nl9hdG9uIGluZXQ2X250b2EgaW5ldF9hdG9uIGluZXRfbnRvYSBpbmZpbGUgaW5pdGlhbCBpbml0aWFsaXplZCBpbml0aWFsbHkgaW5pdHJhbnMgaW5tZW1vcnkgaW5uZXIgaW5ub2RiIGlucHV0IGluc2VydCBpbnN0YWxsIGluc3RhbmNlIGluc3RhbnRpYWJsZSBpbnN0ciBpbnRlcmZhY2UgaW50ZXJsZWF2ZWQgaW50ZXJzZWN0IGludG8gaW52YWxpZGF0ZSBpbnZpc2libGUgaXMgaXNfZnJlZV9sb2NrIGlzX2lwdjQgaXNfaXB2NF9jb21wYXQgaXNfbm90IGlzX25vdF9udWxsIGlzX3VzZWRfbG9jayBpc2RhdGUgaXNudWxsIGlzb2xhdGlvbiBpdGVyYXRlIGphdmEgam9pbiBqc29uIGpzb25fZXhpc3RzIGtlZXAga2VlcF9kdXBsaWNhdGVzIGtleSBrZXlzIGtpbGwgbGFuZ3VhZ2UgbGFyZ2UgbGFzdCBsYXN0X2RheSBsYXN0X2luc2VydF9pZCBsYXN0X3ZhbHVlIGxheCBsY2FzZSBsZWFkIGxlYWRpbmcgbGVhc3QgbGVhdmVzIGxlZnQgbGVuIGxlbmdodCBsZW5ndGggbGVzcyBsZXZlbCBsZXZlbHMgbGlicmFyeSBsaWtlIGxpa2UyIGxpa2U0IGxpa2VjIGxpbWl0IGxpbmVzIGxpbmsgbGlzdCBsaXN0YWdnIGxpdHRsZSBsbiBsb2FkIGxvYWRfZmlsZSBsb2IgbG9icyBsb2NhbCBsb2NhbHRpbWUgbG9jYWx0aW1lc3RhbXAgbG9jYXRlIGxvY2F0b3IgbG9jayBsb2NrZWQgbG9nIGxvZzEwIGxvZzIgbG9nZmlsZSBsb2dmaWxlcyBsb2dnaW5nIGxvZ2ljYWwgbG9naWNhbF9yZWFkc19wZXJfY2FsbCBsb2dvZmYgbG9nb24gbG9ncyBsb25nIGxvb3AgbG93IGxvd19wcmlvcml0eSBsb3dlciBscGFkIGxydHJpbSBsdHJpbSBtYWluIG1ha2Vfc2V0IG1ha2VkYXRlIG1ha2V0aW1lIG1hbmFnZWQgbWFuYWdlbWVudCBtYW51YWwgbWFwIG1hcHBpbmcgbWFzayBtYXN0ZXIgbWFzdGVyX3Bvc193YWl0IG1hdGNoIG1hdGNoZWQgbWF0ZXJpYWxpemVkIG1heCBtYXhleHRlbnRzIG1heGltaXplIG1heGluc3RhbmNlcyBtYXhsZW4gbWF4bG9nZmlsZXMgbWF4bG9naGlzdG9yeSBtYXhsb2dtZW1iZXJzIG1heHNpemUgbWF4dHJhbnMgbWQ1IG1lYXN1cmVzIG1lZGlhbiBtZWRpdW0gbWVtYmVyIG1lbWNvbXByZXNzIG1lbW9yeSBtZXJnZSBtaWNyb3NlY29uZCBtaWQgbWlncmF0aW9uIG1pbiBtaW5leHRlbnRzIG1pbmltdW0gbWluaW5nIG1pbnVzIG1pbnV0ZSBtaW52YWx1ZSBtaXNzaW5nIG1vZCBtb2RlIG1vZGVsIG1vZGlmaWNhdGlvbiBtb2RpZnkgbW9kdWxlIG1vbml0b3JpbmcgbW9udGggbW9udGhzIG1vdW50IG1vdmUgbW92ZW1lbnQgbXVsdGlzZXQgbXV0ZXggbmFtZSBuYW1lX2NvbnN0IG5hbWVzIG5hbiBuYXRpb25hbCBuYXRpdmUgbmF0dXJhbCBuYXYgbmNoYXIgbmNsb2IgbmVzdGVkIG5ldmVyIG5ldyBuZXdsaW5lIG5leHQgbmV4dHZhbCBubyBub193cml0ZV90b19iaW5sb2cgbm9hcmNoaXZlbG9nIG5vYXVkaXQgbm9iYWRmaWxlIG5vY2hlY2sgbm9jb21wcmVzcyBub2NvcHkgbm9jeWNsZSBub2RlbGF5IG5vZGlzY2FyZGZpbGUgbm9lbnRpdHllc2NhcGluZyBub2d1YXJhbnRlZSBub2tlZXAgbm9sb2dmaWxlIG5vbWFwcGluZyBub21heHZhbHVlIG5vbWluaW1pemUgbm9taW52YWx1ZSBub21vbml0b3Jpbmcgbm9uZSBub25lZGl0aW9uYWJsZSBub25zY2hlbWEgbm9vcmRlciBub3ByIG5vcHJvIG5vcHJvbSBub3Byb21wIG5vcHJvbXB0IG5vcmVseSBub3Jlc2V0bG9ncyBub3JldmVyc2Ugbm9ybWFsIG5vcm93ZGVwZW5kZW5jaWVzIG5vc2NoZW1hY2hlY2sgbm9zd2l0Y2ggbm90IG5vdGhpbmcgbm90aWNlIG5vdHJpbSBub3ZhbGlkYXRlIG5vdyBub3dhaXQgbnRoX3ZhbHVlIG51bGxpZiBudWxscyBudW0gbnVtYiBudW1iZSBudmFyY2hhciBudmFyY2hhcjIgb2JqZWN0IG9jaWNvbGwgb2NpZGF0ZSBvY2lkYXRldGltZSBvY2lkdXJhdGlvbiBvY2lpbnRlcnZhbCBvY2lsb2Jsb2NhdG9yIG9jaW51bWJlciBvY2lyZWYgb2NpcmVmY3Vyc29yIG9jaXJvd2lkIG9jaXN0cmluZyBvY2l0eXBlIG9jdCBvY3RldF9sZW5ndGggb2Ygb2ZmIG9mZmxpbmUgb2Zmc2V0IG9pZCBvaWRpbmRleCBvbGQgb24gb25saW5lIG9ubHkgb3BhcXVlIG9wZW4gb3BlcmF0aW9ucyBvcGVyYXRvciBvcHRpbWFsIG9wdGltaXplIG9wdGlvbiBvcHRpb25hbGx5IG9yIG9yYWNsZSBvcmFjbGVfZGF0ZSBvcmFkYXRhIG9yZCBvcmRhdWRpbyBvcmRkaWNvbSBvcmRkb2Mgb3JkZXIgb3JkaW1hZ2Ugb3JkaW5hbGl0eSBvcmR2aWRlbyBvcmdhbml6YXRpb24gb3JsYW55IG9ybHZhcnkgb3V0IG91dGVyIG91dGZpbGUgb3V0bGluZSBvdXRwdXQgb3ZlciBvdmVyZmxvdyBvdmVycmlkaW5nIHBhY2thZ2UgcGFkIHBhcmFsbGVsIHBhcmFsbGVsX2VuYWJsZSBwYXJhbWV0ZXJzIHBhcmVudCBwYXJzZSBwYXJ0aWFsIHBhcnRpdGlvbiBwYXJ0aXRpb25zIHBhc2NhbCBwYXNzaW5nIHBhc3N3b3JkIHBhc3N3b3JkX2dyYWNlX3RpbWUgcGFzc3dvcmRfbG9ja190aW1lIHBhc3N3b3JkX3JldXNlX21heCBwYXNzd29yZF9yZXVzZV90aW1lIHBhc3N3b3JkX3ZlcmlmeV9mdW5jdGlvbiBwYXRjaCBwYXRoIHBhdGluZGV4IHBjdGluY3JlYXNlIHBjdHRocmVzaG9sZCBwY3R1c2VkIHBjdHZlcnNpb24gcGVyY2VudCBwZXJjZW50X3JhbmsgcGVyY2VudGlsZV9jb250IHBlcmNlbnRpbGVfZGlzYyBwZXJmb3JtYW5jZSBwZXJpb2QgcGVyaW9kX2FkZCBwZXJpb2RfZGlmZiBwZXJtYW5lbnQgcGh5c2ljYWwgcGkgcGlwZSBwaXBlbGluZWQgcGl2b3QgcGx1Z2dhYmxlIHBsdWdpbiBwb2xpY3kgcG9zaXRpb24gcG9zdF90cmFuc2FjdGlvbiBwb3cgcG93ZXIgcHJhZ21hIHByZWJ1aWx0IHByZWNlZGVzIHByZWNlZGluZyBwcmVjaXNpb24gcHJlZGljdGlvbiBwcmVkaWN0aW9uX2Nvc3QgcHJlZGljdGlvbl9kZXRhaWxzIHByZWRpY3Rpb25fcHJvYmFiaWxpdHkgcHJlZGljdGlvbl9zZXQgcHJlcGFyZSBwcmVzZW50IHByZXNlcnZlIHByaW9yIHByaW9yaXR5IHByaXZhdGUgcHJpdmF0ZV9zZ2EgcHJpdmlsZWdlcyBwcm9jZWR1cmFsIHByb2NlZHVyZSBwcm9jZWR1cmVfYW5hbHl6ZSBwcm9jZXNzbGlzdCBwcm9maWxlcyBwcm9qZWN0IHByb21wdCBwcm90ZWN0aW9uIHB1YmxpYyBwdWJsaXNoaW5nc2VydmVybmFtZSBwdXJnZSBxdWFydGVyIHF1ZXJ5IHF1aWNrIHF1aWVzY2UgcXVvdGEgcXVvdGVuYW1lIHJhZGlhbnMgcmFpc2UgcmFuZCByYW5nZSByYW5rIHJhdyByZWFkIHJlYWRzIHJlYWRzaXplIHJlYnVpbGQgcmVjb3JkIHJlY29yZHMgcmVjb3ZlciByZWNvdmVyeSByZWN1cnNpdmUgcmVjeWNsZSByZWRvIHJlZHVjZWQgcmVmIHJlZmVyZW5jZSByZWZlcmVuY2VkIHJlZmVyZW5jZXMgcmVmZXJlbmNpbmcgcmVmcmVzaCByZWdleHBfbGlrZSByZWdpc3RlciByZWdyX2F2Z3ggcmVncl9hdmd5IHJlZ3JfY291bnQgcmVncl9pbnRlcmNlcHQgcmVncl9yMiByZWdyX3Nsb3BlIHJlZ3Jfc3h4IHJlZ3Jfc3h5IHJlamVjdCByZWtleSByZWxhdGlvbmFsIHJlbGF0aXZlIHJlbGF5bG9nIHJlbGVhc2UgcmVsZWFzZV9sb2NrIHJlbGllc19vbiByZWxvY2F0ZSByZWx5IHJlbSByZW1haW5kZXIgcmVuYW1lIHJlcGFpciByZXBlYXQgcmVwbGFjZSByZXBsaWNhdGUgcmVwbGljYXRpb24gcmVxdWlyZWQgcmVzZXQgcmVzZXRsb2dzIHJlc2l6ZSByZXNvdXJjZSByZXNwZWN0IHJlc3RvcmUgcmVzdHJpY3RlZCByZXN1bHQgcmVzdWx0X2NhY2hlIHJlc3VtYWJsZSByZXN1bWUgcmV0ZW50aW9uIHJldHVybiByZXR1cm5pbmcgcmV0dXJucyByZXVzZSByZXZlcnNlIHJldm9rZSByaWdodCBybGlrZSByb2xlIHJvbGVzIHJvbGxiYWNrIHJvbGxpbmcgcm9sbHVwIHJvdW5kIHJvdyByb3dfY291bnQgcm93ZGVwZW5kZW5jaWVzIHJvd2lkIHJvd251bSByb3dzIHJ0cmltIHJ1bGVzIHNhZmUgc2FsdCBzYW1wbGUgc2F2ZSBzYXZlcG9pbnQgc2IxIHNiMiBzYjQgc2NhbiBzY2hlbWEgc2NoZW1hY2hlY2sgc2NuIHNjb3BlIHNjcm9sbCBzZG9fZ2VvcmFzdGVyIHNkb190b3BvX2dlb21ldHJ5IHNlYXJjaCBzZWNfdG9fdGltZSBzZWNvbmQgc2VjdGlvbiBzZWN1cmVmaWxlIHNlY3VyaXR5IHNlZWQgc2VnbWVudCBzZWxlY3Qgc2VsZiBzZXF1ZW5jZSBzZXF1ZW50aWFsIHNlcmlhbGl6YWJsZSBzZXJ2ZXIgc2VydmVyZXJyb3Igc2Vzc2lvbiBzZXNzaW9uX3VzZXIgc2Vzc2lvbnNfcGVyX3VzZXIgc2V0IHNldHMgc2V0dGluZ3Mgc2hhIHNoYTEgc2hhMiBzaGFyZSBzaGFyZWQgc2hhcmVkX3Bvb2wgc2hvcnQgc2hvdyBzaHJpbmsgc2h1dGRvd24gc2lfYXZlcmFnZWNvbG9yIHNpX2NvbG9yaGlzdG9ncmFtIHNpX2ZlYXR1cmVsaXN0IHNpX3Bvc2l0aW9uYWxjb2xvciBzaV9zdGlsbGltYWdlIHNpX3RleHR1cmUgc2libGluZ3Mgc2lkIHNpZ24gc2luIHNpemUgc2l6ZV90IHNpemVzIHNraXAgc2xhdmUgc2xlZXAgc21hbGxkYXRldGltZWZyb21wYXJ0cyBzbWFsbGZpbGUgc25hcHNob3Qgc29tZSBzb25hbWUgc29ydCBzb3VuZGV4IHNvdXJjZSBzcGFjZSBzcGFyc2Ugc3BmaWxlIHNwbGl0IHNxbCBzcWxfYmlnX3Jlc3VsdCBzcWxfYnVmZmVyX3Jlc3VsdCBzcWxfY2FjaGUgc3FsX2NhbGNfZm91bmRfcm93cyBzcWxfc21hbGxfcmVzdWx0IHNxbF92YXJpYW50X3Byb3BlcnR5IHNxbGNvZGUgc3FsZGF0YSBzcWxlcnJvciBzcWxuYW1lIHNxbHN0YXRlIHNxcnQgc3F1YXJlIHN0YW5kYWxvbmUgc3RhbmRieSBzdGFydCBzdGFydGluZyBzdGFydHVwIHN0YXRlbWVudCBzdGF0aWMgc3RhdGlzdGljcyBzdGF0c19iaW5vbWlhbF90ZXN0IHN0YXRzX2Nyb3NzdGFiIHN0YXRzX2tzX3Rlc3Qgc3RhdHNfbW9kZSBzdGF0c19td190ZXN0IHN0YXRzX29uZV93YXlfYW5vdmEgc3RhdHNfdF90ZXN0XyBzdGF0c190X3Rlc3RfaW5kZXAgc3RhdHNfdF90ZXN0X29uZSBzdGF0c190X3Rlc3RfcGFpcmVkIHN0YXRzX3dzcl90ZXN0IHN0YXR1cyBzdGQgc3RkZGV2IHN0ZGRldl9wb3Agc3RkZGV2X3NhbXAgc3RkZXYgc3RvcCBzdG9yYWdlIHN0b3JlIHN0b3JlZCBzdHIgc3RyX3RvX2RhdGUgc3RyYWlnaHRfam9pbiBzdHJjbXAgc3RyaWN0IHN0cmluZyBzdHJ1Y3Qgc3R1ZmYgc3R5bGUgc3ViZGF0ZSBzdWJwYXJ0aXRpb24gc3VicGFydGl0aW9ucyBzdWJzdGl0dXRhYmxlIHN1YnN0ciBzdWJzdHJpbmcgc3VidGltZSBzdWJ0cmluZ19pbmRleCBzdWJ0eXBlIHN1Y2Nlc3Mgc3VtIHN1c3BlbmQgc3dpdGNoIHN3aXRjaG9mZnNldCBzd2l0Y2hvdmVyIHN5bmMgc3luY2hyb25vdXMgc3lub255bSBzeXMgc3lzX3htbGFnZyBzeXNhc20gc3lzYXV4IHN5c2RhdGUgc3lzZGF0ZXRpbWVvZmZzZXQgc3lzZGJhIHN5c29wZXIgc3lzdGVtIHN5c3RlbV91c2VyIHN5c3V0Y2RhdGV0aW1lIHRhYmxlIHRhYmxlcyB0YWJsZXNwYWNlIHRhbiB0ZG8gdGVtcGxhdGUgdGVtcG9yYXJ5IHRlcm1pbmF0ZWQgdGVydGlhcnlfd2VpZ2h0cyB0ZXN0IHRoYW4gdGhlbiB0aHJlYWQgdGhyb3VnaCB0aWVyIHRpZXMgdGltZSB0aW1lX2Zvcm1hdCB0aW1lX3pvbmUgdGltZWRpZmYgdGltZWZyb21wYXJ0cyB0aW1lb3V0IHRpbWVzdGFtcCB0aW1lc3RhbXBhZGQgdGltZXN0YW1wZGlmZiB0aW1lem9uZV9hYmJyIHRpbWV6b25lX21pbnV0ZSB0aW1lem9uZV9yZWdpb24gdG8gdG9fYmFzZTY0IHRvX2RhdGUgdG9fZGF5cyB0b19zZWNvbmRzIHRvZGF0ZXRpbWVvZmZzZXQgdHJhY2UgdHJhY2tpbmcgdHJhbnNhY3Rpb24gdHJhbnNhY3Rpb25hbCB0cmFuc2xhdGUgdHJhbnNsYXRpb24gdHJlYXQgdHJpZ2dlciB0cmlnZ2VyX25lc3RsZXZlbCB0cmlnZ2VycyB0cmltIHRydW5jYXRlIHRyeV9jYXN0IHRyeV9jb252ZXJ0IHRyeV9wYXJzZSB0eXBlIHViMSB1YjIgdWI0IHVjYXNlIHVuYXJjaGl2ZWQgdW5ib3VuZGVkIHVuY29tcHJlc3MgdW5kZXIgdW5kbyB1bmhleCB1bmljb2RlIHVuaWZvcm0gdW5pbnN0YWxsIHVuaW9uIHVuaXF1ZSB1bml4X3RpbWVzdGFtcCB1bmtub3duIHVubGltaXRlZCB1bmxvY2sgdW5waXZvdCB1bnJlY292ZXJhYmxlIHVuc2FmZSB1bnNpZ25lZCB1bnRpbCB1bnRydXN0ZWQgdW51c2FibGUgdW51c2VkIHVwZGF0ZSB1cGRhdGVkIHVwZ3JhZGUgdXBwZWQgdXBwZXIgdXBzZXJ0IHVybCB1cm93aWQgdXNhYmxlIHVzYWdlIHVzZSB1c2Vfc3RvcmVkX291dGxpbmVzIHVzZXIgdXNlcl9kYXRhIHVzZXJfcmVzb3VyY2VzIHVzZXJzIHVzaW5nIHV0Y19kYXRlIHV0Y190aW1lc3RhbXAgdXVpZCB1dWlkX3Nob3J0IHZhbGlkYXRlIHZhbGlkYXRlX3Bhc3N3b3JkX3N0cmVuZ3RoIHZhbGlkYXRpb24gdmFsaXN0IHZhbHVlIHZhbHVlcyB2YXIgdmFyX3NhbXAgdmFyY2hhcmMgdmFyaSB2YXJpYSB2YXJpYWIgdmFyaWFibCB2YXJpYWJsZSB2YXJpYWJsZXMgdmFyaWFuY2UgdmFycCB2YXJyYXcgdmFycmF3YyB2YXJyYXkgdmVyaWZ5IHZlcnNpb24gdmVyc2lvbnMgdmlldyB2aXJ0dWFsIHZpc2libGUgdm9pZCB3YWl0IHdhbGxldCB3YXJuaW5nIHdhcm5pbmdzIHdlZWsgd2Vla2RheSB3ZWVrb2Z5ZWFyIHdlbGxmb3JtZWQgd2hlbiB3aGVuZSB3aGVuZXYgd2hlbmV2ZSB3aGVuZXZlciB3aGVyZSB3aGlsZSB3aGl0ZXNwYWNlIHdpdGggd2l0aGluIHdpdGhvdXQgd29yayB3cmFwcGVkIHhkYiB4bWwgeG1sYWdnIHhtbGF0dHJpYnV0ZXMgeG1sY2FzdCB4bWxjb2xhdHR2YWwgeG1sZWxlbWVudCB4bWxleGlzdHMgeG1sZm9yZXN0IHhtbGluZGV4IHhtbG5hbWVzcGFjZXMgeG1scGkgeG1scXVlcnkgeG1scm9vdCB4bWxzY2hlbWEgeG1sc2VyaWFsaXplIHhtbHRhYmxlIHhtbHR5cGUgeG9yIHllYXIgeWVhcl90b19tb250aCB5ZWFycyB5ZWFyd2VlayIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSBudWxsIixidWlsdF9pbjoiYXJyYXkgYmlnaW50IGJpbmFyeSBiaXQgYmxvYiBib29sZWFuIGNoYXIgY2hhcmFjdGVyIGRhdGUgZGVjIGRlY2ltYWwgZmxvYXQgaW50IGludDggaW50ZWdlciBpbnRlcnZhbCBudW1iZXIgbnVtZXJpYyByZWFsIHJlY29yZCBzZXJpYWwgc2VyaWFsOCBzbWFsbGludCB0ZXh0IHZhcmNoYXIgdmFyeWluZyB2b2lkIn0sYzpbe2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGM6W2UuQkUse2I6IicnIn1dfSx7Y046InN0cmluZyIsYjonIicsZTonIicsYzpbZS5CRSx7YjonIiInfV19LHtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFXX0sZS5DTk0sZS5DQkNNLHRdfSxlLkNCQ00sdF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJyIixmdW5jdGlvbihlKXt2YXIgcj0iKFthLXpBLVpdfFxcLlthLXpBLVouXSlbYS16QS1aMC05Ll9dKiI7cmV0dXJue2M6W2UuSENNLHtiOnIsbDpyLGs6e2tleXdvcmQ6ImZ1bmN0aW9uIGlmIGluIGJyZWFrIG5leHQgcmVwZWF0IGVsc2UgZm9yIHJldHVybiBzd2l0Y2ggd2hpbGUgdHJ5IHRyeUNhdGNoIHN0b3Agd2FybmluZyByZXF1aXJlIGxpYnJhcnkgYXR0YWNoIGRldGFjaCBzb3VyY2Ugc2V0TWV0aG9kIHNldEdlbmVyaWMgc2V0R3JvdXBHZW5lcmljIHNldENsYXNzIC4uLiIsbGl0ZXJhbDoiTlVMTCBOQSBUUlVFIEZBTFNFIFQgRiBJbmYgTmFOIE5BX2ludGVnZXJffDEwIE5BX3JlYWxffDEwIE5BX2NoYXJhY3Rlcl98MTAgTkFfY29tcGxleF98MTAifSxyOjB9LHtjTjoibnVtYmVyIixiOiIwW3hYXVswLTlhLWZBLUZdK1tMaV0/XFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86W2VFXVsrXFwtXT9cXGQqKT9MXFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrXFwuKD8hXFxkKSg/OmlcXGIpPyIscjowfSx7Y046Im51bWJlciIsYjoiXFxkKyg/OlxcLlxcZCopPyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcLlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP2k/XFxiIixyOjB9LHtiOiJgIixlOiJgIixyOjB9LHtjTjoic3RyaW5nIixjOltlLkJFXSx2Olt7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJwZXJsIixmdW5jdGlvbihlKXt2YXIgdD0iZ2V0cHdlbnQgZ2V0c2VydmVudCBxdW90ZW1ldGEgbXNncmN2IHNjYWxhciBraWxsIGRibWNsb3NlIHVuZGVmIGxjIG1hIHN5c3dyaXRlIHRyIHNlbmQgdW1hc2sgc3lzb3BlbiBzaG13cml0ZSB2ZWMgcXggdXRpbWUgbG9jYWwgb2N0IHNlbWN0bCBsb2NhbHRpbWUgcmVhZHBpcGUgZG8gcmV0dXJuIGZvcm1hdCByZWFkIHNwcmludGYgZGJtb3BlbiBwb3AgZ2V0cGdycCBub3QgZ2V0cHduYW0gcmV3aW5kZGlyIHFxZmlsZW5vIHF3IGVuZHByb3RvZW50IHdhaXQgc2V0aG9zdGVudCBibGVzcyBzfDAgb3BlbmRpciBjb250aW51ZSBlYWNoIHNsZWVwIGVuZGdyZW50IHNodXRkb3duIGR1bXAgY2hvbXAgY29ubmVjdCBnZXRzb2NrbmFtZSBkaWUgc29ja2V0cGFpciBjbG9zZSBmbG9jayBleGlzdHMgaW5kZXggc2htZ2V0c3ViIGZvciBlbmRwd2VudCByZWRvIGxzdGF0IG1zZ2N0bCBzZXRwZ3JwIGFicyBleGl0IHNlbGVjdCBwcmludCByZWYgZ2V0aG9zdGJ5YWRkciB1bnNoaWZ0IGZjbnRsIHN5c2NhbGwgZ290byBnZXRuZXRieWFkZHIgam9pbiBnbXRpbWUgc3ltbGluayBzZW1nZXQgc3BsaWNlIHh8MCBnZXRwZWVybmFtZSByZWN2IGxvZyBzZXRzb2Nrb3B0IGNvcyBsYXN0IHJldmVyc2UgZ2V0aG9zdGJ5bmFtZSBnZXRncm5hbSBzdHVkeSBmb3JtbGluZSBlbmRob3N0ZW50IHRpbWVzIGNob3AgbGVuZ3RoIGdldGhvc3RlbnQgZ2V0bmV0ZW50IHBhY2sgZ2V0cHJvdG9lbnQgZ2V0c2VydmJ5bmFtZSByYW5kIG1rZGlyIHBvcyBjaG1vZCB5fDAgc3Vic3RyIGVuZG5ldGVudCBwcmludGYgbmV4dCBvcGVuIG1zZ3NuZCByZWFkZGlyIHVzZSB1bmxpbmsgZ2V0c29ja29wdCBnZXRwcmlvcml0eSByaW5kZXggd2FudGFycmF5IGhleCBzeXN0ZW0gZ2V0c2VydmJ5cG9ydCBlbmRzZXJ2ZW50IGludCBjaHIgdW50aWUgcm1kaXIgcHJvdG90eXBlIHRlbGwgbGlzdGVuIGZvcmsgc2htcmVhZCB1Y2ZpcnN0IHNldHByb3RvZW50IGVsc2Ugc3lzc2VlayBsaW5rIGdldGdyZ2lkIHNobWN0bCB3YWl0cGlkIHVucGFjayBnZXRuZXRieW5hbWUgcmVzZXQgY2hkaXIgZ3JlcCBzcGxpdCByZXF1aXJlIGNhbGxlciBsY2ZpcnN0IHVudGlsIHdhcm4gd2hpbGUgdmFsdWVzIHNoaWZ0IHRlbGxkaXIgZ2V0cHd1aWQgbXkgZ2V0cHJvdG9ieW51bWJlciBkZWxldGUgYW5kIHNvcnQgdWMgZGVmaW5lZCBzcmFuZCBhY2NlcHQgcGFja2FnZSBzZWVrZGlyIGdldHByb3RvYnluYW1lIHNlbW9wIG91ciByZW5hbWUgc2VlayBpZiBxfDAgY2hyb290IHN5c3JlYWQgc2V0cHdlbnQgbm8gY3J5cHQgZ2V0YyBjaG93biBzcXJ0IHdyaXRlIHNldG5ldGVudCBzZXRwcmlvcml0eSBmb3JlYWNoIHRpZSBzaW4gbXNnZ2V0IG1hcCBzdGF0IGdldGxvZ2luIHVubGVzcyBlbHNpZiB0cnVuY2F0ZSBleGVjIGtleXMgZ2xvYiB0aWVkIGNsb3NlZGlyaW9jdGwgc29ja2V0IHJlYWRsaW5rIGV2YWwgeG9yIHJlYWRsaW5lIGJpbm1vZGUgc2V0c2VydmVudCBlb2Ygb3JkIGJpbmQgYWxhcm0gcGlwZSBhdGFuMiBnZXRncmVudCBleHAgdGltZSBwdXNoIHNldGdyZW50IGd0IGx0IG9yIG5lIG18MCBicmVhayBnaXZlbiBzYXkgc3RhdGUgd2hlbiIscj17Y046InN1YnN0IixiOiJbJEBdXFx7IixlOiJcXH0iLGs6dH0scz17YjoiLT57IixlOiJ9In0sbj17djpbe2I6L1wkXGQvfSx7YjovW1wkJUBdKFxeXHdcYnwjXHcrKDo6XHcrKSp8e1x3K318XHcrKDo6XHcqKSopL30se2I6L1tcJCVAXVteXHNcd3tdLyxyOjB9XX0saT1bZS5CRSxyLG5dLG89W24sZS5IQ00sZS5DKCJeXFw9XFx3IiwiXFw9Y3V0Iix7ZVc6ITB9KSxzLHtjTjoic3RyaW5nIixjOmksdjpbe2I6InFbcXd4cl0/XFxzKlxcKCIsZToiXFwpIixyOjV9LHtiOiJxW3F3eHJdP1xccypcXFsiLGU6IlxcXSIscjo1fSx7YjoicVtxd3hyXT9cXHMqXFx7IixlOiJcXH0iLHI6NX0se2I6InFbcXd4cl0/XFxzKlxcfCIsZToiXFx8IixyOjV9LHtiOiJxW3F3eHJdP1xccypcXDwiLGU6IlxcPiIscjo1fSx7YjoicXdcXHMrcSIsZToicSIscjo1fSx7YjoiJyIsZToiJyIsYzpbZS5CRV19LHtiOiciJyxlOiciJ30se2I6ImAiLGU6ImAiLGM6W2UuQkVdfSx7Yjoie1xcdyt9IixjOltdLHI6MH0se2I6Ii0/XFx3K1xccypcXD1cXD4iLGM6W10scjowfV19LHtjTjoibnVtYmVyIixiOiIoXFxiMFswLTdfXSspfChcXGIweFswLTlhLWZBLUZfXSspfChcXGJbMS05XVswLTlfXSooXFwuWzAtOV9dKyk/KXxbMF9dXFxiIixyOjB9LHtiOiIoXFwvXFwvfCIrZS5SU1IrInxcXGIoc3BsaXR8cmV0dXJufHByaW50fHJldmVyc2V8Z3JlcClcXGIpXFxzKiIsazoic3BsaXQgcmV0dXJuIHByaW50IHJldmVyc2UgZ3JlcCIscjowLGM6W2UuSENNLHtjTjoicmVnZXhwIixiOiIoc3x0cnx5KS8oXFxcXC58W14vXSkqLyhcXFxcLnxbXi9dKSovW2Etel0qIixyOjEwfSx7Y046InJlZ2V4cCIsYjoiKG18cXIpPy8iLGU6Ii9bYS16XSoiLGM6W2UuQkVdLHI6MH1dfSx7Y046ImZ1bmN0aW9uIixiSzoic3ViIixlOiIoXFxzKlxcKC4qP1xcKSk/Wzt7XSIsZUU6ITAscjo1LGM6W2UuVE1dfSx7YjoiLVxcd1xcYiIscjowfSx7YjoiXl9fREFUQV9fJCIsZToiXl9fRU5EX18kIixzTDoibW9qb2xpY2lvdXMiLGM6W3tiOiJeQEAuKiIsZToiJCIsY046ImNvbW1lbnQifV19XTtyZXR1cm4gci5jPW8scy5jPW8se2FsaWFzZXM6WyJwbCIsInBtIl0sbDovW1x3XC5dKy8sazp0LGM6b319KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImluaSIsZnVuY3Rpb24oZSl7dmFyIGI9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOiInJyciLGU6IicnJyIscjoxMH0se2I6JyIiIicsZTonIiIiJyxyOjEwfSx7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfTtyZXR1cm57YWxpYXNlczpbInRvbWwiXSxjSTohMCxpOi9cUy8sYzpbZS5DKCI7IiwiJCIpLGUuSENNLHtjTjoic2VjdGlvbiIsYjovXlxzKlxbKy8sZTovXF0rL30se2I6L15bYS16MC05XFtcXV8tXStccyo9XHMqLyxlOiIkIixyQjohMCxjOlt7Y046ImF0dHIiLGI6L1thLXowLTlcW1xdXy1dKy99LHtiOi89LyxlVzohMCxyOjAsYzpbe2NOOiJsaXRlcmFsIixiOi9cYm9ufG9mZnx0cnVlfGZhbHNlfHllc3xub1xiL30se2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQiXVtcd1xkX10qL30se2I6L1wkXHsoLio/KX0vfV19LGIse2NOOiJudW1iZXIiLGI6LyhbXCtcLV0rKT9bXGRdK19bXGRfXSsvfSxlLk5NXX1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJkaWZmIixmdW5jdGlvbihlKXtyZXR1cm57YWxpYXNlczpbInBhdGNoIl0sYzpbe2NOOiJtZXRhIixyOjEwLHY6W3tiOi9eQEAgK1wtXGQrLFxkKyArXCtcZCssXGQrICtAQCQvfSx7YjovXlwqXCpcKiArXGQrLFxkKyArXCpcKlwqXCokL30se2I6L15cLVwtXC0gK1xkKyxcZCsgK1wtXC1cLVwtJC99XX0se2NOOiJjb21tZW50Iix2Olt7YjovSW5kZXg6IC8sZTovJC99LHtiOi89ezMsfS8sZTovJC99LHtiOi9eXC17M30vLGU6LyQvfSx7YjovXlwqezN9IC8sZTovJC99LHtiOi9eXCt7M30vLGU6LyQvfSx7YjovXCp7NX0vLGU6L1wqezV9JC99XX0se2NOOiJhZGRpdGlvbiIsYjoiXlxcKyIsZToiJCJ9LHtjTjoiZGVsZXRpb24iLGI6Il5cXC0iLGU6IiQifSx7Y046ImFkZGl0aW9uIixiOiJeXFwhIixlOiIkIn1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiZ28iLGZ1bmN0aW9uKGUpe3ZhciB0PXtrZXl3b3JkOiJicmVhayBkZWZhdWx0IGZ1bmMgaW50ZXJmYWNlIHNlbGVjdCBjYXNlIG1hcCBzdHJ1Y3QgY2hhbiBlbHNlIGdvdG8gcGFja2FnZSBzd2l0Y2ggY29uc3QgZmFsbHRocm91Z2ggaWYgcmFuZ2UgdHlwZSBjb250aW51ZSBmb3IgaW1wb3J0IHJldHVybiB2YXIgZ28gZGVmZXIgYm9vbCBieXRlIGNvbXBsZXg2NCBjb21wbGV4MTI4IGZsb2F0MzIgZmxvYXQ2NCBpbnQ4IGludDE2IGludDMyIGludDY0IHN0cmluZyB1aW50OCB1aW50MTYgdWludDMyIHVpbnQ2NCBpbnQgdWludCB1aW50cHRyIHJ1bmUiLGxpdGVyYWw6InRydWUgZmFsc2UgaW90YSBuaWwiLGJ1aWx0X2luOiJhcHBlbmQgY2FwIGNsb3NlIGNvbXBsZXggY29weSBpbWFnIGxlbiBtYWtlIG5ldyBwYW5pYyBwcmludCBwcmludGxuIHJlYWwgcmVjb3ZlciBkZWxldGUifTtyZXR1cm57YWxpYXNlczpbImdvbGFuZyJdLGs6dCxpOiI8LyIsYzpbZS5DTENNLGUuQ0JDTSx7Y046InN0cmluZyIsdjpbZS5RU00se2I6IiciLGU6IlteXFxcXF0nIn0se2I6ImAiLGU6ImAifV19LHtjTjoibnVtYmVyIix2Olt7YjplLkNOUisiW2RmbHNpXSIscjoxfSxlLkNOTV19LHtiOi86PS99LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jIixlOi9ccypcey8sZUU6ITAsYzpbZS5UTSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnQsaTovWyInXS99XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiYmFzaCIsZnVuY3Rpb24oZSl7dmFyIHQ9e2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQjQF1bXHdcZF9dKi99LHtiOi9cJFx7KC4qPyl9L31dfSxzPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLHQse2NOOiJ2YXJpYWJsZSIsYjovXCRcKC8sZTovXCkvLGM6W2UuQkVdfV19LGE9e2NOOiJzdHJpbmciLGI6LycvLGU6LycvfTtyZXR1cm57YWxpYXNlczpbInNoIiwienNoIl0sbDovXGItP1thLXpcLl9dK1xiLyxrOntrZXl3b3JkOiJpZiB0aGVuIGVsc2UgZWxpZiBmaSBmb3Igd2hpbGUgaW4gZG8gZG9uZSBjYXNlIGVzYWMgZnVuY3Rpb24iLGxpdGVyYWw6InRydWUgZmFsc2UiLGJ1aWx0X2luOiJicmVhayBjZCBjb250aW51ZSBldmFsIGV4ZWMgZXhpdCBleHBvcnQgZ2V0b3B0cyBoYXNoIHB3ZCByZWFkb25seSByZXR1cm4gc2hpZnQgdGVzdCB0aW1lcyB0cmFwIHVtYXNrIHVuc2V0IGFsaWFzIGJpbmQgYnVpbHRpbiBjYWxsZXIgY29tbWFuZCBkZWNsYXJlIGVjaG8gZW5hYmxlIGhlbHAgbGV0IGxvY2FsIGxvZ291dCBtYXBmaWxlIHByaW50ZiByZWFkIHJlYWRhcnJheSBzb3VyY2UgdHlwZSB0eXBlc2V0IHVsaW1pdCB1bmFsaWFzIHNldCBzaG9wdCBhdXRvbG9hZCBiZyBiaW5ka2V5IGJ5ZSBjYXAgY2hkaXIgY2xvbmUgY29tcGFyZ3VtZW50cyBjb21wY2FsbCBjb21wY3RsIGNvbXBkZXNjcmliZSBjb21wZmlsZXMgY29tcGdyb3VwcyBjb21wcXVvdGUgY29tcHRhZ3MgY29tcHRyeSBjb21wdmFsdWVzIGRpcnMgZGlzYWJsZSBkaXNvd24gZWNob3RjIGVjaG90aSBlbXVsYXRlIGZjIGZnIGZsb2F0IGZ1bmN0aW9ucyBnZXRjYXAgZ2V0bG4gaGlzdG9yeSBpbnRlZ2VyIGpvYnMga2lsbCBsaW1pdCBsb2cgbm9nbG9iIHBvcGQgcHJpbnQgcHVzaGQgcHVzaGxuIHJlaGFzaCBzY2hlZCBzZXRjYXAgc2V0b3B0IHN0YXQgc3VzcGVuZCB0dHljdGwgdW5mdW5jdGlvbiB1bmhhc2ggdW5saW1pdCB1bnNldG9wdCB2YXJlZCB3YWl0IHdoZW5jZSB3aGVyZSB3aGljaCB6Y29tcGlsZSB6Zm9ybWF0IHpmdHAgemxlIHptb2Rsb2FkIHpwYXJzZW9wdHMgenByb2YgenB0eSB6cmVnZXhwYXJzZSB6c29ja2V0IHpzdHlsZSB6dGNwIixfOiItbmUgLWVxIC1sdCAtZ3QgLWYgLWQgLWUgLXMgLWwgLWEifSxjOlt7Y046Im1ldGEiLGI6L14jIVteXG5dK3NoXHMqJC8scjoxMH0se2NOOiJmdW5jdGlvbiIsYjovXHdbXHdcZF9dKlxzKlwoXHMqXClccypcey8sckI6ITAsYzpbZS5pbmhlcml0KGUuVE0se2I6L1x3W1x3XGRfXSovfSldLHI6MH0sZS5IQ00scyxhLHRdfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicHl0aG9uIixmdW5jdGlvbihlKXt2YXIgcj17a2V5d29yZDoiYW5kIGVsaWYgaXMgZ2xvYmFsIGFzIGluIGlmIGZyb20gcmFpc2UgZm9yIGV4Y2VwdCBmaW5hbGx5IHByaW50IGltcG9ydCBwYXNzIHJldHVybiBleGVjIGVsc2UgYnJlYWsgbm90IHdpdGggY2xhc3MgYXNzZXJ0IHlpZWxkIHRyeSB3aGlsZSBjb250aW51ZSBkZWwgb3IgZGVmIGxhbWJkYSBhc3luYyBhd2FpdCBub25sb2NhbHwxMCBOb25lIFRydWUgRmFsc2UiLGJ1aWx0X2luOiJFbGxpcHNpcyBOb3RJbXBsZW1lbnRlZCJ9LGI9e2NOOiJtZXRhIixiOi9eKD4+PnxcLlwuXC4pIC99LGM9e2NOOiJzdWJzdCIsYjovXHsvLGU6L1x9LyxrOnIsaTovIy99LGE9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOi8odXxiKT9yPycnJy8sZTovJycnLyxjOltiXSxyOjEwfSx7YjovKHV8Yik/cj8iIiIvLGU6LyIiIi8sYzpbYl0scjoxMH0se2I6LyhmcnxyZnxmKScnJy8sZTovJycnLyxjOltiLGNdfSx7YjovKGZyfHJmfGYpIiIiLyxlOi8iIiIvLGM6W2IsY119LHtiOi8odXxyfHVyKScvLGU6LycvLHI6MTB9LHtiOi8odXxyfHVyKSIvLGU6LyIvLHI6MTB9LHtiOi8oYnxiciknLyxlOi8nL30se2I6LyhifGJyKSIvLGU6LyIvfSx7YjovKGZyfHJmfGYpJy8sZTovJy8sYzpbY119LHtiOi8oZnJ8cmZ8ZikiLyxlOi8iLyxjOltjXX0sZS5BU00sZS5RU01dfSxzPXtjTjoibnVtYmVyIixyOjAsdjpbe2I6ZS5CTlIrIltsTGpKXT8ifSx7YjoiXFxiKDBvWzAtN10rKVtsTGpKXT8ifSx7YjplLkNOUisiW2xMakpdPyJ9XX0saT17Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxjOlsic2VsZiIsYixzLGFdfTtyZXR1cm4gYy5jPVthLHMsYl0se2FsaWFzZXM6WyJweSIsImd5cCJdLGs6cixpOi8oPFwvfC0+fFw/KXw9Pi8sYzpbYixzLGEsZS5IQ00se3Y6W3tjTjoiZnVuY3Rpb24iLGJLOiJkZWYifSx7Y046ImNsYXNzIixiSzoiY2xhc3MifV0sZTovOi8saTovWyR7PTtcbixdLyxjOltlLlVUTSxpLHtiOi8tPi8sZVc6ITAsazoiTm9uZSJ9XX0se2NOOiJtZXRhIixiOi9eW1x0IF0qQC8sZTovJC99LHtiOi9cYihwcmludHxleGVjKVwoL31dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianVsaWEiLGZ1bmN0aW9uKGUpe3ZhciByPXtrZXl3b3JkOiJpbiBpc2Egd2hlcmUgYmFyZW1vZHVsZSBiZWdpbiBicmVhayBjYXRjaCBjY2FsbCBjb25zdCBjb250aW51ZSBkbyBlbHNlIGVsc2VpZiBlbmQgZXhwb3J0IGZhbHNlIGZpbmFsbHkgZm9yIGZ1bmN0aW9uIGdsb2JhbCBpZiBpbXBvcnQgaW1wb3J0YWxsIGxldCBsb2NhbCBtYWNybyBtb2R1bGUgcXVvdGUgcmV0dXJuIHRydWUgdHJ5IHVzaW5nIHdoaWxlIHR5cGUgaW1tdXRhYmxlIGFic3RyYWN0IGJpdHN0eXBlIHR5cGVhbGlhcyAiLGxpdGVyYWw6InRydWUgZmFsc2UgQVJHUyBDX05VTEwgRGV2TnVsbCBFTkRJQU5fQk9NIEVOViBJIEluZiBJbmYxNiBJbmYzMiBJbmY2NCBJbnNlcnRpb25Tb3J0IEpVTElBX0hPTUUgTE9BRF9QQVRIIE1lcmdlU29ydCBOYU4gTmFOMTYgTmFOMzIgTmFONjQgUFJPR1JBTV9GSUxFIFF1aWNrU29ydCBSb3VuZERvd24gUm91bmRGcm9tWmVybyBSb3VuZE5lYXJlc3QgUm91bmROZWFyZXN0VGllc0F3YXkgUm91bmROZWFyZXN0VGllc1VwIFJvdW5kVG9aZXJvIFJvdW5kVXAgU1RERVJSIFNURElOIFNURE9VVCBWRVJTSU9OIGNhdGFsYW4gZXwwIGV1fDAgZXVsZXJnYW1tYSBnb2xkZW4gaW0gbm90aGluZyBwaSDOsyDPgCDPhiAiLGJ1aWx0X2luOiJBTlkgQWJzdHJhY3RBcnJheSBBYnN0cmFjdENoYW5uZWwgQWJzdHJhY3RGbG9hdCBBYnN0cmFjdE1hdHJpeCBBYnN0cmFjdFJORyBBYnN0cmFjdFNlcmlhbGl6ZXIgQWJzdHJhY3RTZXQgQWJzdHJhY3RTcGFyc2VBcnJheSBBYnN0cmFjdFNwYXJzZU1hdHJpeCBBYnN0cmFjdFNwYXJzZVZlY3RvciBBYnN0cmFjdFN0cmluZyBBYnN0cmFjdFVuaXRSYW5nZSBBYnN0cmFjdFZlY09yTWF0IEFic3RyYWN0VmVjdG9yIEFueSBBcmd1bWVudEVycm9yIEFycmF5IEFzc2VydGlvbkVycm9yIEFzc29jaWF0aXZlIEJhc2U2NERlY29kZVBpcGUgQmFzZTY0RW5jb2RlUGlwZSBCaWRpYWdvbmFsIEJpZ0Zsb2F0IEJpZ0ludCBCaXRBcnJheSBCaXRNYXRyaXggQml0VmVjdG9yIEJvb2wgQm91bmRzRXJyb3IgQnVmZmVyU3RyZWFtIENhY2hpbmdQb29sIENhcHR1cmVkRXhjZXB0aW9uIENhcnRlc2lhbkluZGV4IENhcnRlc2lhblJhbmdlIENjaGFyIENkb3VibGUgQ2Zsb2F0IENoYW5uZWwgQ2hhciBDaW50IENpbnRtYXhfdCBDbG9uZyBDbG9uZ2xvbmcgQ2x1c3Rlck1hbmFnZXIgQ21kIENvZGVJbmZvIENvbG9uIENvbXBsZXggQ29tcGxleDEyOCBDb21wbGV4MzIgQ29tcGxleDY0IENvbXBvc2l0ZUV4Y2VwdGlvbiBDb25kaXRpb24gQ29uakFycmF5IENvbmpNYXRyaXggQ29ualZlY3RvciBDcHRyZGlmZl90IENzaG9ydCBDc2l6ZV90IENzc2l6ZV90IENzdHJpbmcgQ3VjaGFyIEN1aW50IEN1aW50bWF4X3QgQ3Vsb25nIEN1bG9uZ2xvbmcgQ3VzaG9ydCBDd2NoYXJfdCBDd3N0cmluZyBEYXRhVHlwZSBEYXRlIERhdGVGb3JtYXQgRGF0ZVRpbWUgRGVuc2VBcnJheSBEZW5zZU1hdHJpeCBEZW5zZVZlY09yTWF0IERlbnNlVmVjdG9yIERpYWdvbmFsIERpY3QgRGltZW5zaW9uTWlzbWF0Y2ggRGltcyBEaXJlY3RJbmRleFN0cmluZyBEaXNwbGF5IERpdmlkZUVycm9yIERvbWFpbkVycm9yIEVPRkVycm9yIEVhY2hMaW5lIEVudW0gRW51bWVyYXRlIEVycm9yRXhjZXB0aW9uIEV4Y2VwdGlvbiBFeHBvbmVudGlhbEJhY2tPZmYgRXhwciBGYWN0b3JpemF0aW9uIEZpbGVNb25pdG9yIEZsb2F0MTYgRmxvYXQzMiBGbG9hdDY0IEZ1bmN0aW9uIEZ1dHVyZSBHbG9iYWxSZWYgR290b05vZGUgSFRNTCBIZXJtaXRpYW4gSU8gSU9CdWZmZXIgSU9Db250ZXh0IElPU3RyZWFtIElQQWRkciBJUHY0IElQdjYgSW5kZXhDYXJ0ZXNpYW4gSW5kZXhMaW5lYXIgSW5kZXhTdHlsZSBJbmV4YWN0RXJyb3IgSW5pdEVycm9yIEludCBJbnQxMjggSW50MTYgSW50MzIgSW50NjQgSW50OCBJbnRTZXQgSW50ZWdlciBJbnRlcnJ1cHRFeGNlcHRpb24gSW52YWxpZFN0YXRlRXhjZXB0aW9uIElycmF0aW9uYWwgS2V5RXJyb3IgTGFiZWxOb2RlIExpblNwYWNlIExpbmVOdW1iZXJOb2RlIExvYWRFcnJvciBMb3dlclRyaWFuZ3VsYXIgTUlNRSBNYXRyaXggTWVyc2VubmVUd2lzdGVyIE1ldGhvZCBNZXRob2RFcnJvciBNZXRob2RUYWJsZSBNb2R1bGUgTlR1cGxlIE5ld3Zhck5vZGUgTnVsbEV4Y2VwdGlvbiBOdWxsYWJsZSBOdW1iZXIgT2JqZWN0SWREaWN0IE9yZGluYWxSYW5nZSBPdXRPZk1lbW9yeUVycm9yIE92ZXJmbG93RXJyb3IgUGFpciBQYXJzZUVycm9yIFBhcnRpYWxRdWlja1NvcnQgUGVybXV0ZWREaW1zQXJyYXkgUGlwZSBQb2xsaW5nRmlsZVdhdGNoZXIgUHJvY2Vzc0V4aXRlZEV4Y2VwdGlvbiBQdHIgUXVvdGVOb2RlIFJhbmRvbURldmljZSBSYW5nZSBSYW5nZUluZGV4IFJhdGlvbmFsIFJhd0ZEIFJlYWRPbmx5TWVtb3J5RXJyb3IgUmVhbCBSZWVudHJhbnRMb2NrIFJlZiBSZWdleCBSZWdleE1hdGNoIFJlbW90ZUNoYW5uZWwgUmVtb3RlRXhjZXB0aW9uIFJldlN0cmluZyBSb3VuZGluZ01vZGUgUm93VmVjdG9yIFNTQVZhbHVlIFNlZ21lbnRhdGlvbkZhdWx0IFNlcmlhbGl6YXRpb25TdGF0ZSBTZXQgU2hhcmVkQXJyYXkgU2hhcmVkTWF0cml4IFNoYXJlZFZlY3RvciBTaWduZWQgU2ltcGxlVmVjdG9yIFNsb3QgU2xvdE51bWJlciBTcGFyc2VNYXRyaXhDU0MgU3BhcnNlVmVjdG9yIFN0YWNrRnJhbWUgU3RhY2tPdmVyZmxvd0Vycm9yIFN0YWNrVHJhY2UgU3RlcFJhbmdlIFN0ZXBSYW5nZUxlbiBTdHJpZGVkQXJyYXkgU3RyaWRlZE1hdHJpeCBTdHJpZGVkVmVjT3JNYXQgU3RyaWRlZFZlY3RvciBTdHJpbmcgU3ViQXJyYXkgU3ViU3RyaW5nIFN5bVRyaWRpYWdvbmFsIFN5bWJvbCBTeW1tZXRyaWMgU3lzdGVtRXJyb3IgVENQU29ja2V0IFRhc2sgVGV4dCBUZXh0RGlzcGxheSBUaW1lciBUcmlkaWFnb25hbCBUdXBsZSBUeXBlIFR5cGVFcnJvciBUeXBlTWFwRW50cnkgVHlwZU1hcExldmVsIFR5cGVOYW1lIFR5cGVWYXIgVHlwZWRTbG90IFVEUFNvY2tldCBVSW50IFVJbnQxMjggVUludDE2IFVJbnQzMiBVSW50NjQgVUludDggVW5kZWZSZWZFcnJvciBVbmRlZlZhckVycm9yIFVuaWNvZGVFcnJvciBVbmlmb3JtU2NhbGluZyBVbmlvbiBVbmlvbkFsbCBVbml0UmFuZ2UgVW5zaWduZWQgVXBwZXJUcmlhbmd1bGFyIFZhbCBWYXJhcmcgVmVjRWxlbWVudCBWZWNPck1hdCBWZWN0b3IgVmVyc2lvbk51bWJlciBWb2lkIFdlYWtLZXlEaWN0IFdlYWtSZWYgV29ya2VyQ29uZmlnIFdvcmtlclBvb2wgIn0sdD0iW0EtWmEtel9cXHUwMEExLVxcdUZGRkZdW0EtWmEtel8wLTlcXHUwMEExLVxcdUZGRkZdKiIsYT17bDp0LGs6cixpOi88XC8vfSxuPXtjTjoibnVtYmVyIixiOi8oXGIweFtcZF9dKihcLltcZF9dKik/fDB4XC5cZFtcZF9dKilwWy0rXT9cZCt8XGIwW2JveF1bYS1mQS1GMC05XVthLWZBLUYwLTlfXSp8KFxiXGRbXGRfXSooXC5bXGRfXSopP3xcLlxkW1xkX10qKShbZUVmRl1bLStdP1xkKyk/LyxyOjB9LG89e2NOOiJzdHJpbmciLGI6LycoLnxcXFt4WHVVXVthLXpBLVowLTldKyknL30saT17Y046InN1YnN0IixiOi9cJFwoLyxlOi9cKS8sazpyfSxsPXtjTjoidmFyaWFibGUiLGI6IlxcJCIrdH0sYz17Y046InN0cmluZyIsYzpbZS5CRSxpLGxdLHY6W3tiOi9cdyoiIiIvLGU6LyIiIlx3Ki8scjoxMH0se2I6L1x3KiIvLGU6LyJcdyovfV19LHM9e2NOOiJzdHJpbmciLGM6W2UuQkUsaSxsXSxiOiJgIixlOiJgIn0sZD17Y046Im1ldGEiLGI6IkAiK3R9LHU9e2NOOiJjb21tZW50Iix2Olt7YjoiIz0iLGU6Ij0jIixyOjEwfSx7YjoiIyIsZToiJCJ9XX07cmV0dXJuIGEuYz1bbixvLGMscyxkLHUsZS5IQ00se2NOOiJrZXl3b3JkIixiOiJcXGIoKChhYnN0cmFjdHxwcmltaXRpdmUpXFxzKyl0eXBlfChtdXRhYmxlXFxzKyk/c3RydWN0KVxcYiJ9LHtiOi88Oi99XSxpLmM9YS5jLGF9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImNvZmZlZXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIGM9e2tleXdvcmQ6ImluIGlmIGZvciB3aGlsZSBmaW5hbGx5IG5ldyBkbyByZXR1cm4gZWxzZSBicmVhayBjYXRjaCBpbnN0YW5jZW9mIHRocm93IHRyeSB0aGlzIHN3aXRjaCBjb250aW51ZSB0eXBlb2YgZGVsZXRlIGRlYnVnZ2VyIHN1cGVyIHlpZWxkIGltcG9ydCBleHBvcnQgZnJvbSBhcyBkZWZhdWx0IGF3YWl0IHRoZW4gdW5sZXNzIHVudGlsIGxvb3Agb2YgYnkgd2hlbiBhbmQgb3IgaXMgaXNudCBub3QiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgeWVzIG5vIG9uIG9mZiIsYnVpbHRfaW46Im5wbSByZXF1aXJlIGNvbnNvbGUgcHJpbnQgbW9kdWxlIGdsb2JhbCB3aW5kb3cgZG9jdW1lbnQifSxuPSJbQS1aYS16JF9dWzAtOUEtWmEteiRfXSoiLHI9e2NOOiJzdWJzdCIsYjovI1x7LyxlOi99LyxrOmN9LGk9W2UuQk5NLGUuaW5oZXJpdChlLkNOTSx7c3RhcnRzOntlOiIoXFxzKi8pPyIscjowfX0pLHtjTjoic3RyaW5nIix2Olt7YjovJycnLyxlOi8nJycvLGM6W2UuQkVdfSx7YjovJy8sZTovJy8sYzpbZS5CRV19LHtiOi8iIiIvLGU6LyIiIi8sYzpbZS5CRSxyXX0se2I6LyIvLGU6LyIvLGM6W2UuQkUscl19XX0se2NOOiJyZWdleHAiLHY6W3tiOiIvLy8iLGU6Ii8vLyIsYzpbcixlLkhDTV19LHtiOiIvL1tnaW1dKiIscjowfSx7YjovXC8oPyFbICpdKShcXFwvfC4pKj9cL1tnaW1dKig/PVxXfCQpL31dfSx7YjoiQCIrbn0se3NMOiJqYXZhc2NyaXB0IixlQjohMCxlRTohMCx2Olt7YjoiYGBgIixlOiJgYGAifSx7YjoiYCIsZToiYCJ9XX1dO3IuYz1pO3ZhciBzPWUuaW5oZXJpdChlLlRNLHtiOm59KSx0PSIoXFwoLipcXCkpP1xccypcXEJbLT1dPiIsbz17Y046InBhcmFtcyIsYjoiXFwoW15cXChdIixyQjohMCxjOlt7YjovXCgvLGU6L1wpLyxrOmMsYzpbInNlbGYiXS5jb25jYXQoaSl9XX07cmV0dXJue2FsaWFzZXM6WyJjb2ZmZWUiLCJjc29uIiwiaWNlZCJdLGs6YyxpOi9cL1wqLyxjOmkuY29uY2F0KFtlLkMoIiMjIyIsIiMjIyIpLGUuSENNLHtjTjoiZnVuY3Rpb24iLGI6Il5cXHMqIituKyJcXHMqPVxccyoiK3QsZToiWy09XT4iLHJCOiEwLGM6W3Msb119LHtiOi9bOlwoLD1dXHMqLyxyOjAsYzpbe2NOOiJmdW5jdGlvbiIsYjp0LGU6IlstPV0+IixyQjohMCxjOltvXX1dfSx7Y046ImNsYXNzIixiSzoiY2xhc3MiLGU6IiQiLGk6L1s6PSJcW1xdXS8sYzpbe2JLOiJleHRlbmRzIixlVzohMCxpOi9bOj0iXFtcXV0vLGM6W3NdfSxzXX0se2I6bisiOiIsZToiOiIsckI6ITAsckU6ITAscjowfV0pfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiY3BwIixmdW5jdGlvbih0KXt2YXIgZT17Y046ImtleXdvcmQiLGI6IlxcYlthLXpcXGRfXSpfdFxcYiJ9LHI9e2NOOiJzdHJpbmciLHY6W3tiOicodTg/fFUpP0w/IicsZTonIicsaToiXFxuIixjOlt0LkJFXX0se2I6Jyh1OD98VSk/UiInLGU6JyInLGM6W3QuQkVdfSx7YjoiJ1xcXFw/LiIsZToiJyIsaToiLiJ9XX0scz17Y046Im51bWJlciIsdjpbe2I6IlxcYigwYlswMSddKykifSx7YjoiKC0/KVxcYihbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKSh1fFV8bHxMfHVsfFVMfGZ8RnxifEIpIn0se2I6IigtPykoXFxiMFt4WF1bYS1mQS1GMC05J10rfChcXGJbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKShbZUVdWy0rXT9bXFxkJ10rKT8pIn1dLHI6MH0saT17Y046Im1ldGEiLGI6LyNccypbYS16XStcYi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6ImlmIGVsc2UgZWxpZiBlbmRpZiBkZWZpbmUgdW5kZWYgd2FybmluZyBlcnJvciBsaW5lIHByYWdtYSBpZmRlZiBpZm5kZWYgaW5jbHVkZSJ9LGM6W3tiOi9cXFxuLyxyOjB9LHQuaW5oZXJpdChyLHtjTjoibWV0YS1zdHJpbmcifSkse2NOOiJtZXRhLXN0cmluZyIsYjovPFteXG4+XSo+LyxlOi8kLyxpOiJcXG4ifSx0LkNMQ00sdC5DQkNNXX0sYT10LklSKyJcXHMqXFwoIixjPXtrZXl3b3JkOiJpbnQgZmxvYXQgd2hpbGUgcHJpdmF0ZSBjaGFyIGNhdGNoIGltcG9ydCBtb2R1bGUgZXhwb3J0IHZpcnR1YWwgb3BlcmF0b3Igc2l6ZW9mIGR5bmFtaWNfY2FzdHwxMCB0eXBlZGVmIGNvbnN0X2Nhc3R8MTAgY29uc3QgZm9yIHN0YXRpY19jYXN0fDEwIHVuaW9uIG5hbWVzcGFjZSB1bnNpZ25lZCBsb25nIHZvbGF0aWxlIHN0YXRpYyBwcm90ZWN0ZWQgYm9vbCB0ZW1wbGF0ZSBtdXRhYmxlIGlmIHB1YmxpYyBmcmllbmQgZG8gZ290byBhdXRvIHZvaWQgZW51bSBlbHNlIGJyZWFrIGV4dGVybiB1c2luZyBhc20gY2FzZSB0eXBlaWQgc2hvcnQgcmVpbnRlcnByZXRfY2FzdHwxMCBkZWZhdWx0IGRvdWJsZSByZWdpc3RlciBleHBsaWNpdCBzaWduZWQgdHlwZW5hbWUgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIGlubGluZSBkZWxldGUgYWxpZ25vZiBjb25zdGV4cHIgZGVjbHR5cGUgbm9leGNlcHQgc3RhdGljX2Fzc2VydCB0aHJlYWRfbG9jYWwgcmVzdHJpY3QgX0Jvb2wgY29tcGxleCBfQ29tcGxleCBfSW1hZ2luYXJ5IGF0b21pY19ib29sIGF0b21pY19jaGFyIGF0b21pY19zY2hhciBhdG9taWNfdWNoYXIgYXRvbWljX3Nob3J0IGF0b21pY191c2hvcnQgYXRvbWljX2ludCBhdG9taWNfdWludCBhdG9taWNfbG9uZyBhdG9taWNfdWxvbmcgYXRvbWljX2xsb25nIGF0b21pY191bGxvbmcgbmV3IHRocm93IHJldHVybiBhbmQgb3Igbm90IixidWlsdF9pbjoic3RkIHN0cmluZyBjaW4gY291dCBjZXJyIGNsb2cgc3RkaW4gc3Rkb3V0IHN0ZGVyciBzdHJpbmdzdHJlYW0gaXN0cmluZ3N0cmVhbSBvc3RyaW5nc3RyZWFtIGF1dG9fcHRyIGRlcXVlIGxpc3QgcXVldWUgc3RhY2sgdmVjdG9yIG1hcCBzZXQgYml0c2V0IG11bHRpc2V0IG11bHRpbWFwIHVub3JkZXJlZF9zZXQgdW5vcmRlcmVkX21hcCB1bm9yZGVyZWRfbXVsdGlzZXQgdW5vcmRlcmVkX211bHRpbWFwIGFycmF5IHNoYXJlZF9wdHIgYWJvcnQgYWJzIGFjb3MgYXNpbiBhdGFuMiBhdGFuIGNhbGxvYyBjZWlsIGNvc2ggY29zIGV4aXQgZXhwIGZhYnMgZmxvb3IgZm1vZCBmcHJpbnRmIGZwdXRzIGZyZWUgZnJleHAgZnNjYW5mIGlzYWxudW0gaXNhbHBoYSBpc2NudHJsIGlzZGlnaXQgaXNncmFwaCBpc2xvd2VyIGlzcHJpbnQgaXNwdW5jdCBpc3NwYWNlIGlzdXBwZXIgaXN4ZGlnaXQgdG9sb3dlciB0b3VwcGVyIGxhYnMgbGRleHAgbG9nMTAgbG9nIG1hbGxvYyByZWFsbG9jIG1lbWNociBtZW1jbXAgbWVtY3B5IG1lbXNldCBtb2RmIHBvdyBwcmludGYgcHV0Y2hhciBwdXRzIHNjYW5mIHNpbmggc2luIHNucHJpbnRmIHNwcmludGYgc3FydCBzc2NhbmYgc3RyY2F0IHN0cmNociBzdHJjbXAgc3RyY3B5IHN0cmNzcG4gc3RybGVuIHN0cm5jYXQgc3RybmNtcCBzdHJuY3B5IHN0cnBicmsgc3RycmNociBzdHJzcG4gc3Ryc3RyIHRhbmggdGFuIHZmcHJpbnRmIHZwcmludGYgdnNwcmludGYgZW5kbCBpbml0aWFsaXplcl9saXN0IHVuaXF1ZV9wdHIiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbHB0ciBOVUxMIn0sbj1bZSx0LkNMQ00sdC5DQkNNLHMscl07cmV0dXJue2FsaWFzZXM6WyJjIiwiY2MiLCJoIiwiYysrIiwiaCsrIiwiaHBwIl0sazpjLGk6IjwvIixjOm4uY29uY2F0KFtpLHtiOiJcXGIoZGVxdWV8bGlzdHxxdWV1ZXxzdGFja3x2ZWN0b3J8bWFwfHNldHxiaXRzZXR8bXVsdGlzZXR8bXVsdGltYXB8dW5vcmRlcmVkX21hcHx1bm9yZGVyZWRfc2V0fHVub3JkZXJlZF9tdWx0aXNldHx1bm9yZGVyZWRfbXVsdGltYXB8YXJyYXkpXFxzKjwiLGU6Ij4iLGs6YyxjOlsic2VsZiIsZV19LHtiOnQuSVIrIjo6IixrOmN9LHt2Olt7YjovPS8sZTovOy99LHtiOi9cKC8sZTovXCkvfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIsZTovOy99XSxrOmMsYzpuLmNvbmNhdChbe2I6L1woLyxlOi9cKS8sazpjLGM6bi5jb25jYXQoWyJzZWxmIl0pLHI6MH1dKSxyOjB9LHtjTjoiZnVuY3Rpb24iLGI6IigiK3QuSVIrIltcXComXFxzXSspKyIrYSxyQjohMCxlOi9bezs9XS8sZUU6ITAsazpjLGk6L1teXHdcc1wqJl0vLGM6W3tiOmEsckI6ITAsYzpbdC5UTV0scjowfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOmMscjowLGM6W3QuQ0xDTSx0LkNCQ00scixzLGVdfSx0LkNMQ00sdC5DQkNNLGldfSx7Y046ImNsYXNzIixiSzoiY2xhc3Mgc3RydWN0IixlOi9bezs6XS8sYzpbe2I6LzwvLGU6Lz4vLGM6WyJzZWxmIl19LHQuVE1dfV0pLGV4cG9ydHM6e3ByZXByb2Nlc3NvcjppLHN0cmluZ3M6cixrOmN9fX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicnVieSIsZnVuY3Rpb24oZSl7dmFyIGI9IlthLXpBLVpfXVxcdypbIT89XT98Wy0rfl1cXEB8PDx8Pj58PX58PT09P3w8PT58Wzw+XT0/fFxcKlxcKnxbLS8rJV4mKn5gfF18XFxbXFxdPT8iLHI9e2tleXdvcmQ6ImFuZCB0aGVuIGRlZmluZWQgbW9kdWxlIGluIHJldHVybiByZWRvIGlmIEJFR0lOIHJldHJ5IGVuZCBmb3Igc2VsZiB3aGVuIG5leHQgdW50aWwgZG8gYmVnaW4gdW5sZXNzIEVORCByZXNjdWUgZWxzZSBicmVhayB1bmRlZiBub3Qgc3VwZXIgY2xhc3MgY2FzZSByZXF1aXJlIHlpZWxkIGFsaWFzIHdoaWxlIGVuc3VyZSBlbHNpZiBvciBpbmNsdWRlIGF0dHJfcmVhZGVyIGF0dHJfd3JpdGVyIGF0dHJfYWNjZXNzb3IiLGxpdGVyYWw6InRydWUgZmFsc2UgbmlsIn0sYz17Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9LGE9e2I6IiM8IixlOiI+In0scz1bZS5DKCIjIiwiJCIse2M6W2NdfSksZS5DKCJeXFw9YmVnaW4iLCJeXFw9ZW5kIix7YzpbY10scjoxMH0pLGUuQygiXl9fRU5EX18iLCJcXG4kIildLG49e2NOOiJzdWJzdCIsYjoiI1xceyIsZToifSIsazpyfSx0PXtjTjoic3RyaW5nIixjOltlLkJFLG5dLHY6W3tiOi8nLyxlOi8nL30se2I6LyIvLGU6LyIvfSx7YjovYC8sZTovYC99LHtiOiIlW3FRd1d4XT9cXCgiLGU6IlxcKSJ9LHtiOiIlW3FRd1d4XT9cXFsiLGU6IlxcXSJ9LHtiOiIlW3FRd1d4XT97IixlOiJ9In0se2I6IiVbcVF3V3hdPzwiLGU6Ij4ifSx7YjoiJVtxUXdXeF0/LyIsZToiLyJ9LHtiOiIlW3FRd1d4XT8lIixlOiIlIn0se2I6IiVbcVF3V3hdPy0iLGU6Ii0ifSx7YjoiJVtxUXdXeF0/XFx8IixlOiJcXHwifSx7YjovXEJcPyhcXFxkezEsM318XFx4W0EtRmEtZjAtOV17MSwyfXxcXHVbQS1GYS1mMC05XXs0fXxcXD9cUylcYi99LHtiOi88PCgtPylcdyskLyxlOi9eXHMqXHcrJC99XX0saT17Y046InBhcmFtcyIsYjoiXFwoIixlOiJcXCkiLGVuZHNQYXJlbnQ6ITAsazpyfSxkPVt0LGEse2NOOiJjbGFzcyIsYks6ImNsYXNzIG1vZHVsZSIsZToiJHw7IixpOi89LyxjOltlLmluaGVyaXQoZS5UTSx7YjoiW0EtWmEtel9dXFx3Kig6OlxcdyspKihcXD98XFwhKT8ifSkse2I6IjxcXHMqIixjOlt7YjoiKCIrZS5JUisiOjopPyIrZS5JUn1dfV0uY29uY2F0KHMpfSx7Y046ImZ1bmN0aW9uIixiSzoiZGVmIixlOiIkfDsiLGM6W2UuaW5oZXJpdChlLlRNLHtiOmJ9KSxpXS5jb25jYXQocyl9LHtiOmUuSVIrIjo6In0se2NOOiJzeW1ib2wiLGI6ZS5VSVIrIihcXCF8XFw/KT86IixyOjB9LHtjTjoic3ltYm9sIixiOiI6KD8hXFxzKSIsYzpbdCx7YjpifV0scjowfSx7Y046Im51bWJlciIsYjoiKFxcYjBbMC03X10rKXwoXFxiMHhbMC05YS1mQS1GX10rKXwoXFxiWzEtOV1bMC05X10qKFxcLlswLTlfXSspPyl8WzBfXVxcYiIscjowfSx7YjoiKFxcJFxcVyl8KChcXCR8XFxAXFxAPykoXFx3KykpIn0se2NOOiJwYXJhbXMiLGI6L1x8LyxlOi9cfC8sazpyfSx7YjoiKCIrZS5SU1IrInx1bmxlc3MpXFxzKiIsazoidW5sZXNzIixjOlthLHtjTjoicmVnZXhwIixjOltlLkJFLG5dLGk6L1xuLyx2Olt7YjoiLyIsZToiL1thLXpdKiJ9LHtiOiIlcnsiLGU6In1bYS16XSoifSx7YjoiJXJcXCgiLGU6IlxcKVthLXpdKiJ9LHtiOiIlciEiLGU6IiFbYS16XSoifSx7YjoiJXJcXFsiLGU6IlxcXVthLXpdKiJ9XX1dLmNvbmNhdChzKSxyOjB9XS5jb25jYXQocyk7bi5jPWQsaS5jPWQ7dmFyIGw9Ils+P10+IixvPSJbXFx3I10rXFwoXFx3K1xcKTpcXGQrOlxcZCs+Iix1PSIoXFx3Ky0pP1xcZCtcXC5cXGQrXFwuXFxkKHBcXGQrKT9bXj5dKz4iLHc9W3tiOi9eXHMqPT4vLHN0YXJ0czp7ZToiJCIsYzpkfX0se2NOOiJtZXRhIixiOiJeKCIrbCsifCIrbysifCIrdSsiKSIsc3RhcnRzOntlOiIkIixjOmR9fV07cmV0dXJue2FsaWFzZXM6WyJyYiIsImdlbXNwZWMiLCJwb2RzcGVjIiwidGhvciIsImlyYiJdLGs6cixpOi9cL1wqLyxjOnMuY29uY2F0KHcpLmNvbmNhdChkKX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInlhbWwiLGZ1bmN0aW9uKGUpe3ZhciBiPSJ0cnVlIGZhbHNlIHllcyBubyBudWxsIixhPSJeWyBcXC1dKiIscj0iW2EtekEtWl9dW1xcd1xcLV0qIix0PXtjTjoiYXR0ciIsdjpbe2I6YStyKyI6In0se2I6YSsnIicrcisnIjonfSx7YjphKyInIityKyInOiJ9XX0sYz17Y046InRlbXBsYXRlLXZhcmlhYmxlIix2Olt7Yjoie3siLGU6In19In0se2I6IiV7IixlOiJ9In1dfSxsPXtjTjoic3RyaW5nIixyOjAsdjpbe2I6LycvLGU6LycvfSx7YjovIi8sZTovIi99LHtiOi9cUysvfV0sYzpbZS5CRSxjXX07cmV0dXJue2NJOiEwLGFsaWFzZXM6WyJ5bWwiLCJZQU1MIiwieWFtbCJdLGM6W3Qse2NOOiJtZXRhIixiOiJeLS0tcyokIixyOjEwfSx7Y046InN0cmluZyIsYjoiW1xcfD5dICokIixyRTohMCxjOmwuYyxlOnQudlswXS5ifSx7YjoiPCVbJT0tXT8iLGU6IlslLV0/JT4iLHNMOiJydWJ5IixlQjohMCxlRTohMCxyOjB9LHtjTjoidHlwZSIsYjoiISEiK2UuVUlSfSx7Y046Im1ldGEiLGI6IiYiK2UuVUlSKyIkIn0se2NOOiJtZXRhIixiOiJcXCoiK2UuVUlSKyIkIn0se2NOOiJidWxsZXQiLGI6Il4gKi0iLHI6MH0sZS5IQ00se2JLOmIsazp7bGl0ZXJhbDpifX0sZS5DTk0sbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJjc3MiLGZ1bmN0aW9uKGUpe3ZhciBjPSJbYS16QS1aLV1bYS16QS1aMC05Xy1dKiIsdD17YjovW0EtWlxfXC5cLV0rXHMqOi8sckI6ITAsZToiOyIsZVc6ITAsYzpbe2NOOiJhdHRyaWJ1dGUiLGI6L1xTLyxlOiI6IixlRTohMCxzdGFydHM6e2VXOiEwLGVFOiEwLGM6W3tiOi9bXHctXStcKC8sckI6ITAsYzpbe2NOOiJidWlsdF9pbiIsYjovW1x3LV0rL30se2I6L1woLyxlOi9cKS8sYzpbZS5BU00sZS5RU01dfV19LGUuQ1NTTk0sZS5RU00sZS5BU00sZS5DQkNNLHtjTjoibnVtYmVyIixiOiIjWzAtOUEtRmEtZl0rIn0se2NOOiJtZXRhIixiOiIhaW1wb3J0YW50In1dfX1dfTtyZXR1cm57Y0k6ITAsaTovWz1cL3wnXCRdLyxjOltlLkNCQ00se2NOOiJzZWxlY3Rvci1pZCIsYjovI1tBLVphLXowLTlfLV0rL30se2NOOiJzZWxlY3Rvci1jbGFzcyIsYjovXC5bQS1aYS16MC05Xy1dKy99LHtjTjoic2VsZWN0b3ItYXR0ciIsYjovXFsvLGU6L1xdLyxpOiIkIn0se2NOOiJzZWxlY3Rvci1wc2V1ZG8iLGI6LzooOik/W2EtekEtWjAtOVxfXC1cK1woXCkiJy5dKy99LHtiOiJAKGZvbnQtZmFjZXxwYWdlKSIsbDoiW2Etei1dKyIsazoiZm9udC1mYWNlIHBhZ2UifSx7YjoiQCIsZToiW3s7XSIsaTovOi8sYzpbe2NOOiJrZXl3b3JkIixiOi9cdysvfSx7YjovXHMvLGVXOiEwLGVFOiEwLHI6MCxjOltlLkFTTSxlLlFTTSxlLkNTU05NXX1dfSx7Y046InNlbGVjdG9yLXRhZyIsYjpjLHI6MH0se2I6InsiLGU6In0iLGk6L1xTLyxjOltlLkNCQ00sdF19XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImZvcnRyYW4iLGZ1bmN0aW9uKGUpe3ZhciB0PXtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSJ9LG49e2xpdGVyYWw6Ii5GYWxzZS4gLlRydWUuIixrZXl3b3JkOiJraW5kIGRvIHdoaWxlIHByaXZhdGUgY2FsbCBpbnRyaW5zaWMgd2hlcmUgZWxzZXdoZXJlIHR5cGUgZW5kdHlwZSBlbmRtb2R1bGUgZW5kc2VsZWN0IGVuZGludGVyZmFjZSBlbmQgZW5kZG8gZW5kaWYgaWYgZm9yYWxsIGVuZGZvcmFsbCBvbmx5IGNvbnRhaW5zIGRlZmF1bHQgcmV0dXJuIHN0b3AgdGhlbiBwdWJsaWMgc3Vicm91dGluZXwxMCBmdW5jdGlvbiBwcm9ncmFtIC5hbmQuIC5vci4gLm5vdC4gLmxlLiAuZXEuIC5nZS4gLmd0LiAubHQuIGdvdG8gc2F2ZSBlbHNlIHVzZSBtb2R1bGUgc2VsZWN0IGNhc2UgYWNjZXNzIGJsYW5rIGRpcmVjdCBleGlzdCBmaWxlIGZtdCBmb3JtIGZvcm1hdHRlZCBpb3N0YXQgbmFtZSBuYW1lZCBuZXh0cmVjIG51bWJlciBvcGVuZWQgcmVjIHJlY2wgc2VxdWVudGlhbCBzdGF0dXMgdW5mb3JtYXR0ZWQgdW5pdCBjb250aW51ZSBmb3JtYXQgcGF1c2UgY3ljbGUgZXhpdCBjX251bGxfY2hhciBjX2FsZXJ0IGNfYmFja3NwYWNlIGNfZm9ybV9mZWVkIGZsdXNoIHdhaXQgZGVjaW1hbCByb3VuZCBpb21zZyBzeW5jaHJvbm91cyBub3Bhc3Mgbm9uX292ZXJyaWRhYmxlIHBhc3MgcHJvdGVjdGVkIHZvbGF0aWxlIGFic3RyYWN0IGV4dGVuZHMgaW1wb3J0IG5vbl9pbnRyaW5zaWMgdmFsdWUgZGVmZXJyZWQgZ2VuZXJpYyBmaW5hbCBlbnVtZXJhdG9yIGNsYXNzIGFzc29jaWF0ZSBiaW5kIGVudW0gY19pbnQgY19zaG9ydCBjX2xvbmcgY19sb25nX2xvbmcgY19zaWduZWRfY2hhciBjX3NpemVfdCBjX2ludDhfdCBjX2ludDE2X3QgY19pbnQzMl90IGNfaW50NjRfdCBjX2ludF9sZWFzdDhfdCBjX2ludF9sZWFzdDE2X3QgY19pbnRfbGVhc3QzMl90IGNfaW50X2xlYXN0NjRfdCBjX2ludF9mYXN0OF90IGNfaW50X2Zhc3QxNl90IGNfaW50X2Zhc3QzMl90IGNfaW50X2Zhc3Q2NF90IGNfaW50bWF4X3QgQ19pbnRwdHJfdCBjX2Zsb2F0IGNfZG91YmxlIGNfbG9uZ19kb3VibGUgY19mbG9hdF9jb21wbGV4IGNfZG91YmxlX2NvbXBsZXggY19sb25nX2RvdWJsZV9jb21wbGV4IGNfYm9vbCBjX2NoYXIgY19udWxsX3B0ciBjX251bGxfZnVucHRyIGNfbmV3X2xpbmUgY19jYXJyaWFnZV9yZXR1cm4gY19ob3Jpem9udGFsX3RhYiBjX3ZlcnRpY2FsX3RhYiBpc29fY19iaW5kaW5nIGNfbG9jIGNfZnVubG9jIGNfYXNzb2NpYXRlZCAgY19mX3BvaW50ZXIgY19wdHIgY19mdW5wdHIgaXNvX2ZvcnRyYW5fZW52IGNoYXJhY3Rlcl9zdG9yYWdlX3NpemUgZXJyb3JfdW5pdCBmaWxlX3N0b3JhZ2Vfc2l6ZSBpbnB1dF91bml0IGlvc3RhdF9lbmQgaW9zdGF0X2VvciBudW1lcmljX3N0b3JhZ2Vfc2l6ZSBvdXRwdXRfdW5pdCBjX2ZfcHJvY3BvaW50ZXIgaWVlZV9hcml0aG1ldGljIGllZWVfc3VwcG9ydF91bmRlcmZsb3dfY29udHJvbCBpZWVlX2dldF91bmRlcmZsb3dfbW9kZSBpZWVlX3NldF91bmRlcmZsb3dfbW9kZSBuZXd1bml0IGNvbnRpZ3VvdXMgcmVjdXJzaXZlIHBhZCBwb3NpdGlvbiBhY3Rpb24gZGVsaW0gcmVhZHdyaXRlIGVvciBhZHZhbmNlIG5tbCBpbnRlcmZhY2UgcHJvY2VkdXJlIG5hbWVsaXN0IGluY2x1ZGUgc2VxdWVuY2UgZWxlbWVudGFsIHB1cmUgaW50ZWdlciByZWFsIGNoYXJhY3RlciBjb21wbGV4IGxvZ2ljYWwgZGltZW5zaW9uIGFsbG9jYXRhYmxlfDEwIHBhcmFtZXRlciBleHRlcm5hbCBpbXBsaWNpdHwxMCBub25lIGRvdWJsZSBwcmVjaXNpb24gYXNzaWduIGludGVudCBvcHRpb25hbCBwb2ludGVyIHRhcmdldCBpbiBvdXQgY29tbW9uIGVxdWl2YWxlbmNlIGRhdGEiLGJ1aWx0X2luOiJhbG9nIGFsb2cxMCBhbWF4MCBhbWF4MSBhbWluMCBhbWluMSBhbW9kIGNhYnMgY2NvcyBjZXhwIGNsb2cgY3NpbiBjc3FydCBkYWJzIGRhY29zIGRhc2luIGRhdGFuIGRhdGFuMiBkY29zIGRjb3NoIGRkaW0gZGV4cCBkaW50IGRsb2cgZGxvZzEwIGRtYXgxIGRtaW4xIGRtb2QgZG5pbnQgZHNpZ24gZHNpbiBkc2luaCBkc3FydCBkdGFuIGR0YW5oIGZsb2F0IGlhYnMgaWRpbSBpZGludCBpZG5pbnQgaWZpeCBpc2lnbiBtYXgwIG1heDEgbWluMCBtaW4xIHNuZ2wgYWxnYW1hIGNkYWJzIGNkY29zIGNkZXhwIGNkbG9nIGNkc2luIGNkc3FydCBjcWFicyBjcWNvcyBjcWV4cCBjcWxvZyBjcXNpbiBjcXNxcnQgZGNtcGx4IGRjb25qZyBkZXJmIGRlcmZjIGRmbG9hdCBkZ2FtbWEgZGltYWcgZGxnYW1hIGlxaW50IHFhYnMgcWFjb3MgcWFzaW4gcWF0YW4gcWF0YW4yIHFjbXBseCBxY29uamcgcWNvcyBxY29zaCBxZGltIHFlcmYgcWVyZmMgcWV4cCBxZ2FtbWEgcWltYWcgcWxnYW1hIHFsb2cgcWxvZzEwIHFtYXgxIHFtaW4xIHFtb2QgcW5pbnQgcXNpZ24gcXNpbiBxc2luaCBxc3FydCBxdGFuIHF0YW5oIGFicyBhY29zIGFpbWFnIGFpbnQgYW5pbnQgYXNpbiBhdGFuIGF0YW4yIGNoYXIgY21wbHggY29uamcgY29zIGNvc2ggZXhwIGljaGFyIGluZGV4IGludCBsb2cgbG9nMTAgbWF4IG1pbiBuaW50IHNpZ24gc2luIHNpbmggc3FydCB0YW4gdGFuaCBwcmludCB3cml0ZSBkaW0gbGdlIGxndCBsbGUgbGx0IG1vZCBudWxsaWZ5IGFsbG9jYXRlIGRlYWxsb2NhdGUgYWRqdXN0bCBhZGp1c3RyIGFsbCBhbGxvY2F0ZWQgYW55IGFzc29jaWF0ZWQgYml0X3NpemUgYnRlc3QgY2VpbGluZyBjb3VudCBjc2hpZnQgZGF0ZV9hbmRfdGltZSBkaWdpdHMgZG90X3Byb2R1Y3QgZW9zaGlmdCBlcHNpbG9uIGV4cG9uZW50IGZsb29yIGZyYWN0aW9uIGh1Z2UgaWFuZCBpYmNsciBpYml0cyBpYnNldCBpZW9yIGlvciBpc2hmdCBpc2hmdGMgbGJvdW5kIGxlbl90cmltIG1hdG11bCBtYXhleHBvbmVudCBtYXhsb2MgbWF4dmFsIG1lcmdlIG1pbmV4cG9uZW50IG1pbmxvYyBtaW52YWwgbW9kdWxvIG12Yml0cyBuZWFyZXN0IHBhY2sgcHJlc2VudCBwcm9kdWN0IHJhZGl4IHJhbmRvbV9udW1iZXIgcmFuZG9tX3NlZWQgcmFuZ2UgcmVwZWF0IHJlc2hhcGUgcnJzcGFjaW5nIHNjYWxlIHNjYW4gc2VsZWN0ZWRfaW50X2tpbmQgc2VsZWN0ZWRfcmVhbF9raW5kIHNldF9leHBvbmVudCBzaGFwZSBzaXplIHNwYWNpbmcgc3ByZWFkIHN1bSBzeXN0ZW1fY2xvY2sgdGlueSB0cmFuc3Bvc2UgdHJpbSB1Ym91bmQgdW5wYWNrIHZlcmlmeSBhY2hhciBpYWNoYXIgdHJhbnNmZXIgZGJsZSBlbnRyeSBkcHJvZCBjcHVfdGltZSBjb21tYW5kX2FyZ3VtZW50X2NvdW50IGdldF9jb21tYW5kIGdldF9jb21tYW5kX2FyZ3VtZW50IGdldF9lbnZpcm9ubWVudF92YXJpYWJsZSBpc19pb3N0YXRfZW5kIGllZWVfYXJpdGhtZXRpYyBpZWVlX3N1cHBvcnRfdW5kZXJmbG93X2NvbnRyb2wgaWVlZV9nZXRfdW5kZXJmbG93X21vZGUgaWVlZV9zZXRfdW5kZXJmbG93X21vZGUgaXNfaW9zdGF0X2VvciBtb3ZlX2FsbG9jIG5ld19saW5lIHNlbGVjdGVkX2NoYXJfa2luZCBzYW1lX3R5cGVfYXMgZXh0ZW5kc190eXBlX29mYWNvc2ggYXNpbmggYXRhbmggYmVzc2VsX2owIGJlc3NlbF9qMSBiZXNzZWxfam4gYmVzc2VsX3kwIGJlc3NlbF95MSBiZXNzZWxfeW4gZXJmIGVyZmMgZXJmY19zY2FsZWQgZ2FtbWEgbG9nX2dhbW1hIGh5cG90IG5vcm0yIGF0b21pY19kZWZpbmUgYXRvbWljX3JlZiBleGVjdXRlX2NvbW1hbmRfbGluZSBsZWFkeiB0cmFpbHogc3RvcmFnZV9zaXplIG1lcmdlX2JpdHMgYmdlIGJndCBibGUgYmx0IGRzaGlmdGwgZHNoaWZ0ciBmaW5kbG9jIGlhbGwgaWFueSBpcGFyaXR5IGltYWdlX2luZGV4IGxjb2JvdW5kIHVjb2JvdW5kIG1hc2tsIG1hc2tyIG51bV9pbWFnZXMgcGFyaXR5IHBvcGNudCBwb3BwYXIgc2hpZnRhIHNoaWZ0bCBzaGlmdHIgdGhpc19pbWFnZSJ9O3JldHVybntjSTohMCxhbGlhc2VzOlsiZjkwIiwiZjk1Il0sazpuLGk6L1wvXCovLGM6W2UuaW5oZXJpdChlLkFTTSx7Y046InN0cmluZyIscjowfSksZS5pbmhlcml0KGUuUVNNLHtjTjoic3RyaW5nIixyOjB9KSx7Y046ImZ1bmN0aW9uIixiSzoic3Vicm91dGluZSBmdW5jdGlvbiBwcm9ncmFtIixpOiJbJHs9XFxuXSIsYzpbZS5VVE0sdF19LGUuQygiISIsIiQiLHtyOjB9KSx7Y046Im51bWJlciIsYjoiKD89XFxifFxcK3xcXC18XFwuKSg/PVxcLlxcZHxcXGQpKD86XFxkKyk/KD86XFwuP1xcZCopKD86W2RlXVsrLV0/XFxkKyk/XFxiXFwuPyIscjowfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJhd2siLGZ1bmN0aW9uKGUpe3ZhciByPXtjTjoidmFyaWFibGUiLHY6W3tiOi9cJFtcd1xkI0BdW1x3XGRfXSovfSx7YjovXCRceyguKj8pfS99XX0sYj0iQkVHSU4gRU5EIGlmIGVsc2Ugd2hpbGUgZG8gZm9yIGluIGJyZWFrIGNvbnRpbnVlIGRlbGV0ZSBuZXh0IG5leHRmaWxlIGZ1bmN0aW9uIGZ1bmMgZXhpdHwxMCIsbj17Y046InN0cmluZyIsYzpbZS5CRV0sdjpbe2I6Lyh1fGIpP3I/JycnLyxlOi8nJycvLHI6MTB9LHtiOi8odXxiKT9yPyIiIi8sZTovIiIiLyxyOjEwfSx7YjovKHV8cnx1ciknLyxlOi8nLyxyOjEwfSx7YjovKHV8cnx1cikiLyxlOi8iLyxyOjEwfSx7YjovKGJ8YnIpJy8sZTovJy99LHtiOi8oYnxicikiLyxlOi8iL30sZS5BU00sZS5RU01dfTtyZXR1cm57azp7a2V5d29yZDpifSxjOltyLG4sZS5STSxlLkhDTSxlLk5NXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoIm1ha2VmaWxlIixmdW5jdGlvbihlKXt2YXIgaT17Y046InZhcmlhYmxlIix2Olt7YjoiXFwkXFwoIitlLlVJUisiXFwpIixjOltlLkJFXX0se2I6L1wkW0AlPD9cXlwrXCpdL31dfSxyPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLGldfSxhPXtjTjoidmFyaWFibGUiLGI6L1wkXChbXHctXStccy8sZTovXCkvLGs6e2J1aWx0X2luOiJzdWJzdCBwYXRzdWJzdCBzdHJpcCBmaW5kc3RyaW5nIGZpbHRlciBmaWx0ZXItb3V0IHNvcnQgd29yZCB3b3JkbGlzdCBmaXJzdHdvcmQgbGFzdHdvcmQgZGlyIG5vdGRpciBzdWZmaXggYmFzZW5hbWUgYWRkc3VmZml4IGFkZHByZWZpeCBqb2luIHdpbGRjYXJkIHJlYWxwYXRoIGFic3BhdGggZXJyb3Igd2FybmluZyBzaGVsbCBvcmlnaW4gZmxhdm9yIGZvcmVhY2ggaWYgb3IgYW5kIGNhbGwgZXZhbCBmaWxlIHZhbHVlIn0sYzpbaV19LG49e2I6Il4iK2UuVUlSKyJcXHMqWzorP10/PSIsaToiXFxuIixyQjohMCxjOlt7YjoiXiIrZS5VSVIsZToiWzorP10/PSIsZUU6ITB9XX0sdD17Y046Im1ldGEiLGI6L15cLlBIT05ZOi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6Ii5QSE9OWSJ9LGw6L1tcLlx3XSsvfSxsPXtjTjoic2VjdGlvbiIsYjovXlteXHNdKzovLGU6LyQvLGM6W2ldfTtyZXR1cm57YWxpYXNlczpbIm1rIiwibWFrIl0sazoiZGVmaW5lIGVuZGVmIHVuZGVmaW5lIGlmZGVmIGlmbmRlZiBpZmVxIGlmbmVxIGVsc2UgZW5kaWYgaW5jbHVkZSAtaW5jbHVkZSBzaW5jbHVkZSBvdmVycmlkZSBleHBvcnQgdW5leHBvcnQgcHJpdmF0ZSB2cGF0aCIsbDovW1x3LV0rLyxjOltlLkhDTSxpLHIsYSxuLHQsbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJqYXZhIixmdW5jdGlvbihlKXt2YXIgYT0iW8OALcq4YS16QS1aXyRdW8OALcq4YS16QS1aXyQwLTldKiIsdD1hKyIoPCIrYSsiKFxccyosXFxzKiIrYSsiKSo+KT8iLHI9ImZhbHNlIHN5bmNocm9uaXplZCBpbnQgYWJzdHJhY3QgZmxvYXQgcHJpdmF0ZSBjaGFyIGJvb2xlYW4gc3RhdGljIG51bGwgaWYgY29uc3QgZm9yIHRydWUgd2hpbGUgbG9uZyBzdHJpY3RmcCBmaW5hbGx5IHByb3RlY3RlZCBpbXBvcnQgbmF0aXZlIGZpbmFsIHZvaWQgZW51bSBlbHNlIGJyZWFrIHRyYW5zaWVudCBjYXRjaCBpbnN0YW5jZW9mIGJ5dGUgc3VwZXIgdm9sYXRpbGUgY2FzZSBhc3NlcnQgc2hvcnQgcGFja2FnZSBkZWZhdWx0IGRvdWJsZSBwdWJsaWMgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHRocm93cyBwcm90ZWN0ZWQgcHVibGljIHByaXZhdGUgbW9kdWxlIHJlcXVpcmVzIGV4cG9ydHMgZG8iLHM9IlxcYigwW2JCXShbMDFdK1swMV9dK1swMV0rfFswMV0rKXwwW3hYXShbYS1mQS1GMC05XStbYS1mQS1GMC05X10rW2EtZkEtRjAtOV0rfFthLWZBLUYwLTldKyl8KChbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykoXFwuKFtcXGRdK1tcXGRfXStbXFxkXSt8W1xcZF0rKSk/fFxcLihbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykpKFtlRV1bLStdP1xcZCspPylbbExmRl0/IixjPXtjTjoibnVtYmVyIixiOnMscjowfTtyZXR1cm57YWxpYXNlczpbImpzcCJdLGs6cixpOi88XC98Iy8sYzpbZS5DKCIvXFwqXFwqIiwiXFwqLyIse3I6MCxjOlt7YjovXHcrQC8scjowfSx7Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9XX0pLGUuQ0xDTSxlLkNCQ00sZS5BU00sZS5RU00se2NOOiJjbGFzcyIsYks6ImNsYXNzIGludGVyZmFjZSIsZTovW3s7PV0vLGVFOiEwLGs6ImNsYXNzIGludGVyZmFjZSIsaTovWzoiXFtcXV0vLGM6W3tiSzoiZXh0ZW5kcyBpbXBsZW1lbnRzIn0sZS5VVE1dfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIscjowfSx7Y046ImZ1bmN0aW9uIixiOiIoIit0KyJcXHMrKSsiK2UuVUlSKyJcXHMqXFwoIixyQjohMCxlOi9bezs9XS8sZUU6ITAsazpyLGM6W3tiOmUuVUlSKyJcXHMqXFwoIixyQjohMCxyOjAsYzpbZS5VVE1dfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnIscjowLGM6W2UuQVNNLGUuUVNNLGUuQ05NLGUuQ0JDTV19LGUuQ0xDTSxlLkNCQ01dfSxjLHtjTjoibWV0YSIsYjoiQFtBLVphLXpdKyJ9XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInN0YW4iLGZ1bmN0aW9uKGUpe3JldHVybntjOltlLkhDTSxlLkNMQ00sZS5DQkNNLHtiOmUuVUlSLGw6ZS5VSVIsazp7bmFtZToiZm9yIGluIHdoaWxlIHJlcGVhdCB1bnRpbCBpZiB0aGVuIGVsc2UiLHN5bWJvbDoiYmVybm91bGxpIGJlcm5vdWxsaV9sb2dpdCBiaW5vbWlhbCBiaW5vbWlhbF9sb2dpdCBiZXRhX2Jpbm9taWFsIGh5cGVyZ2VvbWV0cmljIGNhdGVnb3JpY2FsIGNhdGVnb3JpY2FsX2xvZ2l0IG9yZGVyZWRfbG9naXN0aWMgbmVnX2Jpbm9taWFsIG5lZ19iaW5vbWlhbF8yIG5lZ19iaW5vbWlhbF8yX2xvZyBwb2lzc29uIHBvaXNzb25fbG9nIG11bHRpbm9taWFsIG5vcm1hbCBleHBfbW9kX25vcm1hbCBza2V3X25vcm1hbCBzdHVkZW50X3QgY2F1Y2h5IGRvdWJsZV9leHBvbmVudGlhbCBsb2dpc3RpYyBndW1iZWwgbG9nbm9ybWFsIGNoaV9zcXVhcmUgaW52X2NoaV9zcXVhcmUgc2NhbGVkX2ludl9jaGlfc3F1YXJlIGV4cG9uZW50aWFsIGludl9nYW1tYSB3ZWlidWxsIGZyZWNoZXQgcmF5bGVpZ2ggd2llbmVyIHBhcmV0byBwYXJldG9fdHlwZV8yIHZvbl9taXNlcyB1bmlmb3JtIG11bHRpX25vcm1hbCBtdWx0aV9ub3JtYWxfcHJlYyBtdWx0aV9ub3JtYWxfY2hvbGVza3kgbXVsdGlfZ3AgbXVsdGlfZ3BfY2hvbGVza3kgbXVsdGlfc3R1ZGVudF90IGdhdXNzaWFuX2RsbV9vYnMgZGlyaWNobGV0IGxral9jb3JyIGxral9jb3JyX2Nob2xlc2t5IHdpc2hhcnQgaW52X3dpc2hhcnQiLCJzZWxlY3Rvci10YWciOiJpbnQgcmVhbCB2ZWN0b3Igc2ltcGxleCB1bml0X3ZlY3RvciBvcmRlcmVkIHBvc2l0aXZlX29yZGVyZWQgcm93X3ZlY3RvciBtYXRyaXggY2hvbGVza3lfZmFjdG9yX2NvcnIgY2hvbGVza3lfZmFjdG9yX2NvdiBjb3JyX21hdHJpeCBjb3ZfbWF0cml4Iix0aXRsZToiZnVuY3Rpb25zIG1vZGVsIGRhdGEgcGFyYW1ldGVycyBxdWFudGl0aWVzIHRyYW5zZm9ybWVkIGdlbmVyYXRlZCIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSJ9LHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP0xcXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCtcXC4oPyFcXGQpKD86aVxcYik/IixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86XFwuXFxkKik/KD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIscjowfSx7Y046Im51bWJlciIsYjoiXFwuXFxkKyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiamF2YXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIHI9IltBLVphLXokX11bMC05QS1aYS16JF9dKiIsdD17a2V5d29yZDoiaW4gb2YgaWYgZm9yIHdoaWxlIGZpbmFsbHkgdmFyIG5ldyBmdW5jdGlvbiBkbyByZXR1cm4gdm9pZCBlbHNlIGJyZWFrIGNhdGNoIGluc3RhbmNlb2Ygd2l0aCB0aHJvdyBjYXNlIGRlZmF1bHQgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHR5cGVvZiBkZWxldGUgbGV0IHlpZWxkIGNvbnN0IGV4cG9ydCBzdXBlciBkZWJ1Z2dlciBhcyBhc3luYyBhd2FpdCBzdGF0aWMgaW1wb3J0IGZyb20gYXMiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgTmFOIEluZmluaXR5IixidWlsdF9pbjoiZXZhbCBpc0Zpbml0ZSBpc05hTiBwYXJzZUZsb2F0IHBhcnNlSW50IGRlY29kZVVSSSBkZWNvZGVVUklDb21wb25lbnQgZW5jb2RlVVJJIGVuY29kZVVSSUNvbXBvbmVudCBlc2NhcGUgdW5lc2NhcGUgT2JqZWN0IEZ1bmN0aW9uIEJvb2xlYW4gRXJyb3IgRXZhbEVycm9yIEludGVybmFsRXJyb3IgUmFuZ2VFcnJvciBSZWZlcmVuY2VFcnJvciBTdG9wSXRlcmF0aW9uIFN5bnRheEVycm9yIFR5cGVFcnJvciBVUklFcnJvciBOdW1iZXIgTWF0aCBEYXRlIFN0cmluZyBSZWdFeHAgQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheSBJbnQxNkFycmF5IEludDMyQXJyYXkgSW50OEFycmF5IFVpbnQxNkFycmF5IFVpbnQzMkFycmF5IFVpbnQ4QXJyYXkgVWludDhDbGFtcGVkQXJyYXkgQXJyYXlCdWZmZXIgRGF0YVZpZXcgSlNPTiBJbnRsIGFyZ3VtZW50cyByZXF1aXJlIG1vZHVsZSBjb25zb2xlIHdpbmRvdyBkb2N1bWVudCBTeW1ib2wgU2V0IE1hcCBXZWFrU2V0IFdlYWtNYXAgUHJveHkgUmVmbGVjdCBQcm9taXNlIn0sYT17Y046Im51bWJlciIsdjpbe2I6IlxcYigwW2JCXVswMV0rKSJ9LHtiOiJcXGIoMFtvT11bMC03XSspIn0se2I6ZS5DTlJ9XSxyOjB9LG49e2NOOiJzdWJzdCIsYjoiXFwkXFx7IixlOiJcXH0iLGs6dCxjOltdfSxjPXtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFLG5dfTtuLmM9W2UuQVNNLGUuUVNNLGMsYSxlLlJNXTt2YXIgcz1uLmMuY29uY2F0KFtlLkNCQ00sZS5DTENNXSk7cmV0dXJue2FsaWFzZXM6WyJqcyIsImpzeCJdLGs6dCxjOlt7Y046Im1ldGEiLHI6MTAsYjovXlxzKlsnIl11c2UgKHN0cmljdHxhc20pWyciXS99LHtjTjoibWV0YSIsYjovXiMhLyxlOi8kL30sZS5BU00sZS5RU00sYyxlLkNMQ00sZS5DQkNNLGEse2I6L1t7LF1ccyovLHI6MCxjOlt7YjpyKyJcXHMqOiIsckI6ITAscjowLGM6W3tjTjoiYXR0ciIsYjpyLHI6MH1dfV19LHtiOiIoIitlLlJTUisifFxcYihjYXNlfHJldHVybnx0aHJvdylcXGIpXFxzKiIsazoicmV0dXJuIHRocm93IGNhc2UiLGM6W2UuQ0xDTSxlLkNCQ00sZS5STSx7Y046ImZ1bmN0aW9uIixiOiIoXFwoLio/XFwpfCIrcisiKVxccyo9PiIsckI6ITAsZToiXFxzKj0+IixjOlt7Y046InBhcmFtcyIsdjpbe2I6cn0se2I6L1woXHMqXCkvfSx7YjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxrOnQsYzpzfV19XX0se2I6LzwvLGU6LyhcL1x3K3xcdytcLyk+LyxzTDoieG1sIixjOlt7YjovPFx3K1xzKlwvPi8sc2tpcDohMH0se2I6LzxcdysvLGU6LyhcL1x3K3xcdytcLyk+Lyxza2lwOiEwLGM6W3tiOi88XHcrXHMqXC8+Lyxza2lwOiEwfSwic2VsZiJdfV19XSxyOjB9LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jdGlvbiIsZTovXHsvLGVFOiEwLGM6W2UuaW5oZXJpdChlLlRNLHtiOnJ9KSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxjOnN9XSxpOi9cW3wlL30se2I6L1wkWyguXS99LGUuTUVUSE9EX0dVQVJELHtjTjoiY2xhc3MiLGJLOiJjbGFzcyIsZTovW3s7PV0vLGVFOiEwLGk6L1s6IlxbXF1dLyxjOlt7Yks6ImV4dGVuZHMifSxlLlVUTV19LHtiSzoiY29uc3RydWN0b3IiLGU6L1x7LyxlRTohMH1dLGk6LyMoPyEhKS99fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJ0ZXgiLGZ1bmN0aW9uKGMpe3ZhciBlPXtjTjoidGFnIixiOi9cXC8scjowLGM6W3tjTjoibmFtZSIsdjpbe2I6L1thLXpBLVrQsC3Rj9CQLdGPXStbKl0/L30se2I6L1teYS16QS1a0LAt0Y/QkC3RjzAtOV0vfV0sc3RhcnRzOntlVzohMCxyOjAsYzpbe2NOOiJzdHJpbmciLHY6W3tiOi9cWy8sZTovXF0vfSx7YjovXHsvLGU6L1x9L31dfSx7YjovXHMqPVxzKi8sZVc6ITAscjowLGM6W3tjTjoibnVtYmVyIixiOi8tP1xkKlwuP1xkKyhwdHxwY3xtbXxjbXxpbnxkZHxjY3xleHxlbSk/L31dfV19fV19O3JldHVybntjOltlLHtjTjoiZm9ybXVsYSIsYzpbZV0scjowLHY6W3tiOi9cJFwkLyxlOi9cJFwkL30se2I6L1wkLyxlOi9cJC99XX0sYy5DKCIlIiwiJCIse3I6MH0pXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInhtbCIsZnVuY3Rpb24ocyl7dmFyIGU9IltBLVphLXowLTlcXC5fOi1dKyIsdD17ZVc6ITAsaTovPC8scjowLGM6W3tjTjoiYXR0ciIsYjplLHI6MH0se2I6Lz1ccyovLHI6MCxjOlt7Y046InN0cmluZyIsZW5kc1BhcmVudDohMCx2Olt7YjovIi8sZTovIi99LHtiOi8nLyxlOi8nL30se2I6L1teXHMiJz08PmBdKy99XX1dfV19O3JldHVybnthbGlhc2VzOlsiaHRtbCIsInhodG1sIiwicnNzIiwiYXRvbSIsInhqYiIsInhzZCIsInhzbCIsInBsaXN0Il0sY0k6ITAsYzpbe2NOOiJtZXRhIixiOiI8IURPQ1RZUEUiLGU6Ij4iLHI6MTAsYzpbe2I6IlxcWyIsZToiXFxdIn1dfSxzLkMoIjwhLS0iLCItLT4iLHtyOjEwfSkse2I6IjxcXCFcXFtDREFUQVxcWyIsZToiXFxdXFxdPiIscjoxMH0se2I6LzxcPyhwaHApPy8sZTovXD8+LyxzTDoicGhwIixjOlt7YjoiL1xcKiIsZToiXFwqLyIsc2tpcDohMH1dfSx7Y046InRhZyIsYjoiPHN0eWxlKD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InN0eWxlIn0sYzpbdF0sc3RhcnRzOntlOiI8L3N0eWxlPiIsckU6ITAsc0w6WyJjc3MiLCJ4bWwiXX19LHtjTjoidGFnIixiOiI8c2NyaXB0KD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InNjcmlwdCJ9LGM6W3RdLHN0YXJ0czp7ZToiPC9zY3JpcHQ+IixyRTohMCxzTDpbImFjdGlvbnNjcmlwdCIsImphdmFzY3JpcHQiLCJoYW5kbGViYXJzIiwieG1sIl19fSx7Y046Im1ldGEiLHY6W3tiOi88XD94bWwvLGU6L1w/Pi8scjoxMH0se2I6LzxcP1x3Ky8sZTovXD8+L31dfSx7Y046InRhZyIsYjoiPC8/IixlOiIvPz4iLGM6W3tjTjoibmFtZSIsYjovW15cLz48XHNdKy8scjowfSx0XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgibWFya2Rvd24iLGZ1bmN0aW9uKGUpe3JldHVybnthbGlhc2VzOlsibWQiLCJta2Rvd24iLCJta2QiXSxjOlt7Y046InNlY3Rpb24iLHY6W3tiOiJeI3sxLDZ9IixlOiIkIn0se2I6Il4uKz9cXG5bPS1dezIsfSQifV19LHtiOiI8IixlOiI+IixzTDoieG1sIixyOjB9LHtjTjoiYnVsbGV0IixiOiJeKFsqKy1dfChcXGQrXFwuKSlcXHMrIn0se2NOOiJzdHJvbmciLGI6IlsqX117Mn0uKz9bKl9dezJ9In0se2NOOiJlbXBoYXNpcyIsdjpbe2I6IlxcKi4rP1xcKiJ9LHtiOiJfLis/XyIscjowfV19LHtjTjoicXVvdGUiLGI6Il4+XFxzKyIsZToiJCJ9LHtjTjoiY29kZSIsdjpbe2I6Il5gYGB3KnMqJCIsZToiXmBgYHMqJCJ9LHtiOiJgLis/YCJ9LHtiOiJeKCB7NH18CSkiLGU6IiQiLHI6MH1dfSx7YjoiXlstXFwqXXszLH0iLGU6IiQifSx7YjoiXFxbLis/XFxdW1xcKFxcW10uKj9bXFwpXFxdXSIsckI6ITAsYzpbe2NOOiJzdHJpbmciLGI6IlxcWyIsZToiXFxdIixlQjohMCxyRTohMCxyOjB9LHtjTjoibGluayIsYjoiXFxdXFwoIixlOiJcXCkiLGVCOiEwLGVFOiEwfSx7Y046InN5bWJvbCIsYjoiXFxdXFxbIixlOiJcXF0iLGVCOiEwLGVFOiEwfV0scjoxMH0se2I6L15cW1teXG5dK1xdOi8sckI6ITAsYzpbe2NOOiJzeW1ib2wiLGI6L1xbLyxlOi9cXS8sZUI6ITAsZUU6ITB9LHtjTjoibGluayIsYjovOlxzKi8sZTovJC8sZUI6ITB9XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianNvbiIsZnVuY3Rpb24oZSl7dmFyIGk9e2xpdGVyYWw6InRydWUgZmFsc2UgbnVsbCJ9LG49W2UuUVNNLGUuQ05NXSxyPXtlOiIsIixlVzohMCxlRTohMCxjOm4sazppfSx0PXtiOiJ7IixlOiJ9IixjOlt7Y046ImF0dHIiLGI6LyIvLGU6LyIvLGM6W2UuQkVdLGk6IlxcbiJ9LGUuaW5oZXJpdChyLHtiOi86L30pXSxpOiJcXFMifSxjPXtiOiJcXFsiLGU6IlxcXSIsYzpbZS5pbmhlcml0KHIpXSxpOiJcXFMifTtyZXR1cm4gbi5zcGxpY2Uobi5sZW5ndGgsMCx0LGMpLHtjOm4sazppLGk6IlxcUyJ9fSk7&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,JChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKICAgIGlmICh0eXBlb2YgJCgnW2RhdGEtdG9nZ2xlPSJ0b29sdGlwIl0nKS50b29sdGlwID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgJCgnW2RhdGEtdG9nZ2xlPSJ0b29sdGlwIl0nKS50b29sdGlwKCk7CiAgICB9CiAgICBpZiAoJCgnW2RhdGEtdG9nZ2xlPSJwb3BvdmVyIl0nKS5wb3BvdmVyID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgJCgnW2RhdGEtdG9nZ2xlPSJwb3BvdmVyIl0nKS5wb3BvdmVyKCk7CiAgICB9Cn0pOwo=&quot;&gt;&lt;/script&gt;
&lt;link href=&quot;data:text/css,%0A%2Elightable%2Dminimal%20%7B%0Aborder%2Dcollapse%3A%20separate%3B%0Aborder%2Dspacing%3A%2016px%201px%3B%0Awidth%3A%20100%25%3B%0Amargin%2Dbottom%3A%2010px%3B%0A%7D%0A%2Elightable%2Dminimal%20td%20%7B%0Amargin%2Dleft%3A%205px%3B%0Amargin%2Dright%3A%205px%3B%0A%7D%0A%2Elightable%2Dminimal%20th%20%7B%0Amargin%2Dleft%3A%205px%3B%0Amargin%2Dright%3A%205px%3B%0A%7D%0A%2Elightable%2Dminimal%20thead%20tr%3Alast%2Dchild%20th%20%7B%0Aborder%2Dbottom%3A%202px%20solid%20%2300000050%3B%0Aempty%2Dcells%3A%20hide%3B%0A%7D%0A%2Elightable%2Dminimal%20tbody%20tr%3Afirst%2Dchild%20td%20%7B%0Apadding%2Dtop%3A%200%2E5em%3B%0A%7D%0A%2Elightable%2Dminimal%2Elightable%2Dhover%20tbody%20tr%3Ahover%20%7B%0Abackground%2Dcolor%3A%20%23f5f5f5%3B%0A%7D%0A%2Elightable%2Dminimal%2Elightable%2Dstriped%20tbody%20tr%3Anth%2Dchild%28even%29%20%7B%0Abackground%2Dcolor%3A%20%23f5f5f5%3B%0A%7D%0A%2Elightable%2Dclassic%20%7B%0Aborder%2Dtop%3A%200%2E16em%20solid%20%23111111%3B%0Aborder%2Dbottom%3A%200%2E16em%20solid%20%23111111%3B%0Awidth%3A%20100%25%3B%0Amargin%2Dbottom%3A%2010px%3B%0Amargin%3A%2010px%205px%3B%0A%7D%0A%2Elightable%2Dclassic%20tfoot%20tr%20td%20%7B%0Aborder%3A%200%3B%0A%7D%0A%2Elightable%2Dclassic%20tfoot%20tr%3Afirst%2Dchild%20td%20%7B%0Aborder%2Dtop%3A%200%2E14em%20solid%20%23111111%3B%0A%7D%0A%2Elightable%2Dclassic%20caption%20%7B%0Acolor%3A%20%23222222%3B%0A%7D%0A%2Elightable%2Dclassic%20td%20%7B%0Apadding%2Dleft%3A%205px%3B%0Apadding%2Dright%3A%205px%3B%0Acolor%3A%20%23222222%3B%0A%7D%0A%2Elightable%2Dclassic%20th%20%7B%0Apadding%2Dleft%3A%205px%3B%0Apadding%2Dright%3A%205px%3B%0Afont%2Dweight%3A%20normal%3B%0Acolor%3A%20%23222222%3B%0A%7D%0A%2Elightable%2Dclassic%20thead%20tr%3Alast%2Dchild%20th%20%7B%0Aborder%2Dbottom%3A%200%2E10em%20solid%20%23111111%3B%0A%7D%0A%2Elightable%2Dclassic%2Elightable%2Dhover%20tbody%20tr%3Ahover%20%7B%0Abackground%2Dcolor%3A%20%23F9EEC1%3B%0A%7D%0A%2Elightable%2Dclassic%2Elightable%2Dstriped%20tbody%20tr%3Anth%2Dchild%28even%29%20%7B%0Abackground%2Dcolor%3A%20%23f5f5f5%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%20%7B%0Aborder%2Dtop%3A%203px%20double%20%23111111%3B%0Aborder%2Dbottom%3A%203px%20double%20%23111111%3B%0Awidth%3A%20100%25%3B%0Amargin%2Dbottom%3A%2010px%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%20tfoot%20tr%20td%20%7B%0Aborder%3A%200%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%20tfoot%20tr%3Afirst%2Dchild%20td%20%7B%0Aborder%2Dtop%3A%203px%20double%20%23111111%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%20caption%20%7B%0Acolor%3A%20%23222222%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%20td%20%7B%0Apadding%2Dleft%3A%205px%3B%0Apadding%2Dright%3A%205px%3B%0Acolor%3A%20%23222222%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%20th%20%7B%0Apadding%2Dleft%3A%205px%3B%0Apadding%2Dright%3A%205px%3B%0Afont%2Dweight%3A%20normal%3B%0Acolor%3A%20%23222222%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%20tbody%20tr%3Alast%2Dchild%20td%20%7B%0Aborder%2Dbottom%3A%203px%20double%20%23111111%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%20thead%20tr%3Alast%2Dchild%20th%20%7B%0Aborder%2Dbottom%3A%201px%20solid%20%23111111%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%2Elightable%2Dhover%20tbody%20tr%3Ahover%20%7B%0Abackground%2Dcolor%3A%20%23F9EEC1%3B%0A%7D%0A%2Elightable%2Dclassic%2D2%2Elightable%2Dstriped%20tbody%20tr%3Anth%2Dchild%28even%29%20%7B%0Abackground%2Dcolor%3A%20%23f5f5f5%3B%0A%7D%0A%2Elightable%2Dmaterial%20%7B%0Amin%2Dwidth%3A%20100%25%3B%0Awhite%2Dspace%3A%20nowrap%3B%0Atable%2Dlayout%3A%20fixed%3B%0Afont%2Dfamily%3A%20Roboto%2C%20sans%2Dserif%3B%0Aborder%3A%201px%20solid%20%23EEE%3B%0Aborder%2Dcollapse%3A%20collapse%3B%0Amargin%2Dbottom%3A%2010px%3B%0A%7D%0A%2Elightable%2Dmaterial%20tfoot%20tr%20td%20%7B%0Aborder%3A%200%3B%0A%7D%0A%2Elightable%2Dmaterial%20tfoot%20tr%3Afirst%2Dchild%20td%20%7B%0Aborder%2Dtop%3A%201px%20solid%20%23EEE%3B%0A%7D%0A%2Elightable%2Dmaterial%20th%20%7B%0Aheight%3A%2056px%3B%0Apadding%2Dleft%3A%2016px%3B%0Apadding%2Dright%3A%2016px%3B%0A%7D%0A%2Elightable%2Dmaterial%20td%20%7B%0Aheight%3A%2052px%3B%0Apadding%2Dleft%3A%2016px%3B%0Apadding%2Dright%3A%2016px%3B%0Aborder%2Dtop%3A%201px%20solid%20%23eeeeee%3B%0A%7D%0A%2Elightable%2Dmaterial%2Elightable%2Dhover%20tbody%20tr%3Ahover%20%7B%0Abackground%2Dcolor%3A%20%23f5f5f5%3B%0A%7D%0A%2Elightable%2Dmaterial%2Elightable%2Dstriped%20tbody%20tr%3Anth%2Dchild%28even%29%20%7B%0Abackground%2Dcolor%3A%20%23f5f5f5%3B%0A%7D%0A%2Elightable%2Dmaterial%2Elightable%2Dstriped%20tbody%20td%20%7B%0Aborder%3A%200%3B%0A%7D%0A%2Elightable%2Dmaterial%2Elightable%2Dstriped%20thead%20tr%3Alast%2Dchild%20th%20%7B%0Aborder%2Dbottom%3A%201px%20solid%20%23ddd%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%20%7B%0Amin%2Dwidth%3A%20100%25%3B%0Awhite%2Dspace%3A%20nowrap%3B%0Atable%2Dlayout%3A%20fixed%3B%0Afont%2Dfamily%3A%20Roboto%2C%20sans%2Dserif%3B%0Aborder%3A%201px%20solid%20%23FFFFFF12%3B%0Aborder%2Dcollapse%3A%20collapse%3B%0Amargin%2Dbottom%3A%2010px%3B%0Abackground%2Dcolor%3A%20%23363640%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%20tfoot%20tr%20td%20%7B%0Aborder%3A%200%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%20tfoot%20tr%3Afirst%2Dchild%20td%20%7B%0Aborder%2Dtop%3A%201px%20solid%20%23FFFFFF12%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%20th%20%7B%0Aheight%3A%2056px%3B%0Apadding%2Dleft%3A%2016px%3B%0Apadding%2Dright%3A%2016px%3B%0Acolor%3A%20%23FFFFFF60%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%20td%20%7B%0Aheight%3A%2052px%3B%0Apadding%2Dleft%3A%2016px%3B%0Apadding%2Dright%3A%2016px%3B%0Acolor%3A%20%23FFFFFF%3B%0Aborder%2Dtop%3A%201px%20solid%20%23FFFFFF12%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%2Elightable%2Dhover%20tbody%20tr%3Ahover%20%7B%0Abackground%2Dcolor%3A%20%23FFFFFF12%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%2Elightable%2Dstriped%20tbody%20tr%3Anth%2Dchild%28even%29%20%7B%0Abackground%2Dcolor%3A%20%23FFFFFF12%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%2Elightable%2Dstriped%20tbody%20td%20%7B%0Aborder%3A%200%3B%0A%7D%0A%2Elightable%2Dmaterial%2Ddark%2Elightable%2Dstriped%20thead%20tr%3Alast%2Dchild%20th%20%7B%0Aborder%2Dbottom%3A%201px%20solid%20%23FFFFFF12%3B%0A%7D%0A%2Elightable%2Dpaper%20%7B%0Awidth%3A%20100%25%3B%0Amargin%2Dbottom%3A%2010px%3B%0Acolor%3A%20%23444%3B%0A%7D%0A%2Elightable%2Dpaper%20tfoot%20tr%20td%20%7B%0Aborder%3A%200%3B%0A%7D%0A%2Elightable%2Dpaper%20tfoot%20tr%3Afirst%2Dchild%20td%20%7B%0Aborder%2Dtop%3A%201px%20solid%20%2300000020%3B%0A%7D%0A%2Elightable%2Dpaper%20thead%20tr%3Alast%2Dchild%20th%20%7B%0Acolor%3A%20%23666%3B%0Avertical%2Dalign%3A%20bottom%3B%0Aborder%2Dbottom%3A%201px%20solid%20%2300000020%3B%0Aline%2Dheight%3A%201%2E15em%3B%0Apadding%3A%2010px%205px%3B%0A%7D%0A%2Elightable%2Dpaper%20td%20%7B%0Avertical%2Dalign%3A%20middle%3B%0Aborder%2Dbottom%3A%201px%20solid%20%2300000010%3B%0Aline%2Dheight%3A%201%2E15em%3B%0Apadding%3A%207px%205px%3B%0A%7D%0A%2Elightable%2Dpaper%2Elightable%2Dhover%20tbody%20tr%3Ahover%20%7B%0Abackground%2Dcolor%3A%20%23F9EEC1%3B%0A%7D%0A%2Elightable%2Dpaper%2Elightable%2Dstriped%20tbody%20tr%3Anth%2Dchild%28even%29%20%7B%0Abackground%2Dcolor%3A%20%2300000008%3B%0A%7D%0A%2Elightable%2Dpaper%2Elightable%2Dstriped%20tbody%20td%20%7B%0Aborder%3A%200%3B%0A%7D%0A&quot; rel=&quot;stylesheet&quot; /&gt;

&lt;style type=&quot;text/css&quot;&gt;
  code{white-space: pre-wrap;}
  span.smallcaps{font-variant: small-caps;}
  span.underline{text-decoration: underline;}
  div.column{display: inline-block; vertical-align: top; width: 50%;}
  div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
  ul.task-list{list-style: none;}
    &lt;/style&gt;

&lt;style type=&quot;text/css&quot;&gt;code{white-space: pre;}&lt;/style&gt;
&lt;style type=&quot;text/css&quot;&gt;
  pre:not([class]) {
    background-color: white;
  }
&lt;/style&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
if (window.hljs) {
  hljs.configure({languages: []});
  hljs.initHighlightingOnLoad();
  if (document.readyState &amp;&amp; document.readyState === &quot;complete&quot;) {
    window.setTimeout(function() { hljs.initHighlighting(); }, 0);
  }
}
&lt;/script&gt;



&lt;style type=&quot;text/css&quot;&gt;
h1 {
  font-size: 34px;
}
h1.title {
  font-size: 38px;
}
h2 {
  font-size: 30px;
}
h3 {
  font-size: 24px;
}
h4 {
  font-size: 18px;
}
h5 {
  font-size: 16px;
}
h6 {
  font-size: 12px;
}
.table th:not([align]) {
  text-align: left;
}
&lt;/style&gt;


&lt;link rel=&quot;stylesheet&quot; href=&quot;data:text/css,%0Abody%7B%0Afont%2Dfamily%3A%20Helvetica%3B%0Afont%2Dsize%3A%2016pt%3B%0A%7D%0A%0Ah1%2Ch2%2Ch3%2Ch4%2Ch5%2Ch6%7B%0Afont%2Dsize%3A%2024pt%3B%0A%7D&quot; type=&quot;text/css&quot; /&gt;



&lt;style type=&quot;text/css&quot;&gt;
.main-container {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}
code {
  color: inherit;
  background-color: rgba(0, 0, 0, 0.04);
}
img {
  max-width:100%;
}
.tabbed-pane {
  padding-top: 12px;
}
.html-widget {
  margin-bottom: 20px;
}
button.code-folding-btn:focus {
  outline: none;
}
summary {
  display: list-item;
}
&lt;/style&gt;



&lt;!-- tabsets --&gt;

&lt;style type=&quot;text/css&quot;&gt;
.tabset-dropdown &gt; .nav-tabs {
  display: inline-table;
  max-height: 500px;
  min-height: 44px;
  overflow-y: auto;
  background: white;
  border: 1px solid #ddd;
  border-radius: 4px;
}

.tabset-dropdown &gt; .nav-tabs &gt; li.active:before {
  content: &quot;&quot;;
  font-family: 'Glyphicons Halflings';
  display: inline-block;
  padding: 10px;
  border-right: 1px solid #ddd;
}

.tabset-dropdown &gt; .nav-tabs.nav-tabs-open &gt; li.active:before {
  content: &quot;&quot;;
  border: none;
}

.tabset-dropdown &gt; .nav-tabs.nav-tabs-open:before {
  content: &quot;&quot;;
  font-family: 'Glyphicons Halflings';
  display: inline-block;
  padding: 10px;
  border-right: 1px solid #ddd;
}

.tabset-dropdown &gt; .nav-tabs &gt; li.active {
  display: block;
}

.tabset-dropdown &gt; .nav-tabs &gt; li &gt; a,
.tabset-dropdown &gt; .nav-tabs &gt; li &gt; a:focus,
.tabset-dropdown &gt; .nav-tabs &gt; li &gt; a:hover {
  border: none;
  display: inline-block;
  border-radius: 4px;
  background-color: transparent;
}

.tabset-dropdown &gt; .nav-tabs.nav-tabs-open &gt; li {
  display: block;
  float: none;
}

.tabset-dropdown &gt; .nav-tabs &gt; li {
  display: none;
}
&lt;/style&gt;

&lt;!-- code folding --&gt;




&lt;/head&gt;

&lt;body&gt;


&lt;div class=&quot;container-fluid main-container&quot;&gt;




&lt;div class=&quot;fluid-row&quot; id=&quot;header&quot;&gt;


&lt;/div&gt;


&lt;p&gt;With the first big tournament of the season this weekend, I thought it would be fun to take a look at the current rankings and past results to see if we could make some guesses about who will win the Las Vegas Challenge.&lt;/p&gt;
&lt;p&gt;Admittedly, I’m not hugely familiar with how these types of analyses are done for something like ball golf and I don’t have access to a big sophisticated dataset. If possible, it would be nice to include things like who putts better in the wind, distance v. technical courses, injuries, etc etc. But that’s beyond me right now.&lt;/p&gt;
&lt;p&gt;Additionally, my day job is to do analysis with ecological data and not really make “predictions”. BUT! All those excuses aside, I figured we could do a little poking around nonetheless.&lt;/p&gt;
&lt;p&gt;I operated under a few plain assumptions to determine who I think will win:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Top players (highest PDGA ratings) will perform well&lt;/li&gt;
&lt;li&gt;Players who have played well at the LVC before will do well&lt;/li&gt;
&lt;li&gt;A player’s performance at the LVC in a recent year is more valuable than an earlier year&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here’s who I think will win ranked in order for both the MPO and the FPO. First is a scrollable table of the rankings I generated and second is a plot that shows you who has over- or under-perform based on their player rating compared to previous LVC finishes. That is, players who “overperform” are those who play better at the LVC than they “should” compared to their PDGA rating. (Granted, there’s only 4 tournaments in the dataset)&lt;/p&gt;
&lt;p&gt;Below the tables and figures you can see a description of how I generated my results.&lt;/p&gt;
&lt;div id=&quot;mpo&quot; class=&quot;section level3&quot;&gt;
&lt;h3&gt;MPO&lt;/h3&gt;
&lt;div style=&quot;border: 1px solid #ddd; padding: 0px; overflow-y: scroll; height:500px; &quot;&gt;
&lt;table class=&quot;table&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:left;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
PDGA #
&lt;/th&gt;
&lt;th style=&quot;text-align:left;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Name
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
2020 Ratings Rank
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Mean LVC Place
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Weighted LVC Place
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Times Played
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
LVC Performance Weight
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Weighted Score
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Predicted Finish
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
37817
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Mcmahon
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
9.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
38008
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Wysocki
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
10.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
45971
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Heimburg
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
15.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
27523
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Mcbeth
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
7.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
16.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
18824
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Sexton
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
16.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
24341
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Leiviska
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
9.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
9.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
26.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
41760
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Jones
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
27.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
7
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
26416
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Brathwaite
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
10
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
16.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
14.9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4.9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
46.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
8
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
38464
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Withers
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
22.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
19.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
14.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
49.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
9
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
48346
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Gibson
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
20.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
17.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
9.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
55.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
10
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
63765
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Presnell
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
11
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
14.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
13.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
57.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
11
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
13864
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Gurthie
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
21.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
17.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
10.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
60.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
12
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
44382
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Barela
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
18
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
21.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
19.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
64.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
13
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
50401
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Clemons
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
12
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
22.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
23.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
11.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
65.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
14
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
57493
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Rothlisberger
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
24
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
23.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
23.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
67.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
15
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
17295
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Conrad
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
11
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
25.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
29.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
18.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
70.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
16
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
68835
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Hannum
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
17
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
27.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
22.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
70.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
17
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
53332
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Barham
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
21
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
20.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
21.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
71.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
18
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
47472
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Keith
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
16
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
18.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
18.9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
71.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
19
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
66362
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Russell
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
19
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
27.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
24.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
76.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
20
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
99053
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Tanner
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
38
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-34.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
77.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
21
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
53565
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Oakley
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
17
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
20.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
16.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-0.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
79.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
22
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
27171
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Ulibarri
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
15
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
28.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
35.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
20.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
86.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
23
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
49431
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Castro
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
25
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
28.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
28.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
87.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
24
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
121715
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Aderhold
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
24
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
13.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
13.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-11.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
91.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
25
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
54049
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Turner
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
23
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
24.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
30.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
7.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
91.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
25
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
26269
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Skellenger
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
29
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
29.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
29.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
98.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
26
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
33705
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Koling
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
13
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
37.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
43.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
30.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
102.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
27
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
59419
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Samson
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
14.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
14.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-27.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
114.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
28
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
56555
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Meintsma
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
22
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
38.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
36.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
14.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
116.9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
29
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
58814
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Messerschmidt
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
24
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
30.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
34.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
10.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
118.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
30
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
35876
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Montgomery
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
21
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
39.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
35.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
14.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
118.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
31
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
57425
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Elmore
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
27
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
40.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
38.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
11.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
119.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
32
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
65737
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Perkins
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
30
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
35.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
42.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
12.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
121.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
33
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
85850
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Gilbert
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
21
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
29.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
28.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
7.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
124.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
34
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
36777
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
iv
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
33.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
33.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-8.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
126.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
35
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
68286
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Queen
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
15
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
39.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
39.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
24.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
129.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
36
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
45879
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Earhart
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
26
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
45.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
45.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
19.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
130.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
37
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
15857
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Barsby
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
18
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
49.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
57.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
39.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
132.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
38
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
41918
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Shotwell
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
34
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
50.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
42.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
8.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
136.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
39
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
50312
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Johnson
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
35
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
46.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
47.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
12.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
141.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
40
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
57365
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Hammes
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
57.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
57.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
50.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
144.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
51740
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Spradlin
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
23.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
23.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-18.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
149.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
42
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
81039
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Polidori
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
36
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
48.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
48.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
12.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
151.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
43
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
91498
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Keseloff
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
45.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
48.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
7.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
161.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
44
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
85457
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Gilbert
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
35
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
39.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
39.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
165.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
45
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
48950
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Bell
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
22
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
75.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
63.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
168.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
46
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
80636
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Lyon
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
37
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
37.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
33.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-3.9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
170.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
47
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
74719
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Pinegar
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
31
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
59.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
52.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
21.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
171.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
48
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
72423
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Hoop
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
17
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
58.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
55.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
38.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
172.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
49
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
81739
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
White
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
26
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
65.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
62.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
36.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
182.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
50
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
49519
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Beckner
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
55.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
53.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
12.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
198.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
51
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
56485
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Herr
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
52.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
52.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
11.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
203.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
52
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
41220
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Metzler
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
39
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
61.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
61.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
22.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
203.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
52
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
43762
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Hebenheimer
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
56.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
56.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
15.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
205.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
53
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
96832
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Guthrie
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
56.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
56.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
15.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
207.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
54
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
56486
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Herr
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
34
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
82.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
80.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
46.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
213.9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
55
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
49865
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Meyer
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
48.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
48.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
7.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
216.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
56
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
28091
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Berger
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
74.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
78.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
37.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
218.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
57
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
88497
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Martin
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
28
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
70.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
71.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
43.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
226.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
58
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
43369
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Bates
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
72.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
72.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
31.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
228.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
59
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
19453
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Kapalko
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
84.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
70.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
29.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
229.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
60
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
46190
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Sullivan
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
68.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
70.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
29.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
237.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
61
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
49649
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Smith
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
76.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
76.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
35.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
239.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
62
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
89816
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Cookson
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
64.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
64.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
23.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
246.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
63
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
45478
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Bilodeau
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
19
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
90.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
87.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
68.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
250.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
64
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
36806
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Callahan
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
90.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
90.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
49.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
252.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
65
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
68103
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Stoll
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
68.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
68.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
27.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
254.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
66
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
37909
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Russell
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
79.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
82.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
254.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
67
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
29812
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Dryden
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
83.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
83.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
42.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
261.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
68
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
52776
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Laputka
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
80.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
88.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
47.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
263.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
69
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
62910
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Miller
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
78.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
73.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
32.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
264.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
70
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
34964
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Whalen
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
68.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
68.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
27.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
265.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
71
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
49514
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Castillo
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
81.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
81.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
40.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
265.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
71
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
109666
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Caplin
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
81.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
81.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
40.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
270.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
72
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
78421
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Saggboy
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
77.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
77.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
36.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
271.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
73
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
79978
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
McDaniel
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
90.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
90.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
49.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
273.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
74
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
77246
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Lucerne
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
79.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
80.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
39.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
274.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
75
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
96436
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Johnson
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
85.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
85.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
44.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
281.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
76
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
127314
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Schram
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
81.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
81.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
40.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
307.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
77
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
61067
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Sutherland
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
82.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
87.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
46.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
313.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
78
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
69796
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Vassari
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
111.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
111.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
70.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
366.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
79
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
73363
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Derochie
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
132.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
132.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
91.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
389.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
80
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
75420
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Malone
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
41
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
149.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
149.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
108.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
446.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
81
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAASACAYAAAA+mec7AAAEGWlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJim3XdoLFw72H+n23BaIXzbcOnz5mfPoTvYVz7KzUl5+FRxEuqkp9G/Ajia219thzg25abkRE/BpDc3pqvphHvRFys2weqvp+krbWKIX7nhDbzLOItiM8358pTwdirqpPFnMF2xLc1WvLyOwTAibpbmvHHcvttU57y5+XqNZrLe3lE/Pq8eUj2fXKfOe3pfOjzhJYtB/yll5SDFcSDiH+hRkH25+L+sdxKEAMZahrlSX8ukqMOWy/jXW2m6M9LDBc31B9LFuv6gVKg/0Szi3KAr1kGq1GMjU/aLbnq6/lRxc4XfJ98hTargX++DbMJBSiYMIe9Ck1YAxFkKEAG3xbYaKmDDgYyFK0UGYpfoWYXG+fAPPI6tJnNwb7ClP7IyF+D+bjOtCpkhz6CFrIa/I6sFtNl8auFXGMTP34sNwI/JhkgEtmDz14ySfaRcTIBInmKPE32kxyyE2Tv+thKbEVePDfW/byMM1Kmm0XdObS7oGD/MypMXFPXrCwOtoYjyyn7BV29/MZfsVzpLDdRtuIZnbpXzvlf+ev8MvYr/Gqk4H/kV/G3csdazLuyTMPsbFhzd1UabQbjFvDRmcWJxR3zcfHkVw9GfpbJmeev9F08WW8uDkaslwX6avlWGU6NRKz0g/SHtCy9J30o/ca9zX3Kfc19zn3BXQKRO8ud477hLnAfc1/G9mrzGlrfexZ5GLdn6ZZrrEohI2wVHhZywjbhUWEy8icMCGNCUdiBlq3r+xafL549HQ5jH+an+1y+LlYBifuxAvRN/lVVVOlwlCkdVm9NOL5BE4wkQ2SMlDZU97hX86EilU/lUmkQUztTE6mx1EEPh7OmdqBtAvv8HdWpbrJS6tJj3n0CWdM6busNzRV3S9KTYhqvNiqWmuroiKgYhshMjmhTh9ptWhsF7970j/SbMrsPE1suR5z7DMC+P/Hs+y7ijrQAlhyAgccjbhjPygfeBTjzhNqy28EdkUh8C+DU9+z2v/oyeH791OncxHOs5y2AtTc7nb/f73TWPkD/qwBnjX8BoJ98VQNcC+8AAEAASURBVHgB7N0HuFPFusbxQelFpKNgAQQ7IIqCWJCOYgcbAopYEBUv9n5AwE5TESzYAI/noAiKBTk2LIAoKlipKoiAdCmKwt3v3DPrrmSn7ezs7JXkP88Tkqwya9ZvZZPkyzczJXblFUNBAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSyUGC3LDwnTgkBBBBAAAEEEEAAAQQQQAABBBBAAAEEELACBEB5ISCAAAIIIIAAAggggAACCCCAAAIIIIBA1goQAM3aS8uJIYAAAggggAACCCCAAAIIIIAAAggggAABUF4DCCCAAAIIIIAAAggggAACCCCAAAIIIJC1AgRAs/bScmIIIIAAAggggAACCCCAAAIIIIAAAgggQACU1wACCCCAAAIIIIAAAggggAACCCCAAAIIZK0AAdCsvbScGAIIIIAAAggggAACCCCAAAIIIIAAAggQAOU1gAACCCCAAAIIIIAAAggggAACCCCAAAJZK0AANGsvLSeGAAIIIIAAAggggAACCCCAAAIIIIAAAgRAeQ0ggAACCCCAAAIIIIAAAggggAACCCCAQNYKEADN2kvLiSGAAAIIIIAAAggggAACCCCAAAIIIIAAAVBeAwgggAACCCCAAAIIIIAAAggggAACCCCQtQIEQLP20nJiCCCAAAIIIIAAAggggAACCCCAAAIIIEAAlNcAAggggAACCCCAAAIIIIAAAggggAACCGStAAHQrL20nBgCCCCAAAIIIIAAAggggAACCCCAAAIIEADlNYAAAggggAACCCCAAAIIIIAAAggggAACWStAADRrLy0nhgACCCCAAAIIIIAAAggggAACCCCAAAIEQHkNIIAAAggggAACCCCAAAIIIIAAAggggEDWCpTM2jPjxBBAAAEEAiuwfft2s2XLFq99FSpUMGXLlvWe8wABBBBAAAEEEEAAAQQQQACBVAmQAZoqSepBAAEEEEhY4LHHHjPVq1f3bmPHjk14XzZEAAEEEEAAAQQQQAABBBBAoCACBEALosW2CCCAAAIIIIAAAggggAACCCCAAAIIIJBRAgRAM+py0VgEEEAAAQQQQAABBBBAAAEEEEAAAQQQKIgAAdCCaLEtAggggAACCCCAAAIIIIAAAggggAACCGSUAJMgZdTlorEIIIAAAggggAACCARDYMeOHUZjOqvUqlXLnHvuucFoGK1AAAEEEEAAAQTCBAiAhoHwFAEEEEAAAQQQQAABBOILbN++3fTv399u2Lx5cwKg8cnYAgEEEEAAAQSKSYAu8MUEz2ERQAABBBBAAAEEEEAAAQQQQAABBBBAoOgFCIAWvTFHQAABBBBAAAEEEEAAAQQQQAABBBBAAIFiEiAAWkzwHBYBBBBAAAEEEEAAAQQQQAABBBBAAAEEil6AAGjRG3MEBBBAAAEEEEAAAQQQQAABBBBAAAEEECgmAQKgxQTPYRFAAAEEEEAAAQQQQAABBBBAAAEEEECg6AUIgBa9MUdAAAEEEEAAAQQQQAABBBBAAAEEEEAAgWISIABaTPAcFgEEEEAAAQQQQAABBBBAAAEEEEAAAQSKXoAAaNEbcwQEEEAAAQQQQAABBBBAAAEEEEAAAQQQKCYBAqDFBM9hEUAAAQQQQAABBBBAAAEEEEAAAQQQQKDoBUoW/SE4AgIIIIAAAggggAACCGSjQMWKFe1plS9fPhtPj3NCAAEEEEAAgSwRIACaJReS00AAAQQQQAABBBBAIJ0ClSpVMps3b07nITkWAggggAACCCCQlABd4JNiYycEEEAAAQQQQAABBBBAAAEEEEAAAQQQyAQBAqCZcJVoIwIIIIAAAggggAACCCCAAAIIIIAAAggkJUAANCk2dkIAAQQQQAABBBBAAAEEEEAAAQQQQACBTBAgAJoJV4k2IoAAAggggAACCCCAAAIIIIAAAggggEBSAgRAk2JjJwQQQAABBBBAAAEEEEAAAQQQQAABBBDIBAECoJlwlWgjAggggAACCCCAAAIIIIAAAggggAACCCQlQAA0KTZ2QgABBBBAAAEEEEAAAQQQQAABBBBAAIFMECAAmglXiTYigAACCCCAAAIIIIAAAggggAACCCCAQFICBECTYmMnBBBAAAEEEEAAAQQQQAABBBBAAAEEEMgEAQKgmXCVaCMCCCCAAAIIIIAAAggggAACCCCAAAIIJCVQMqm92AkBBBBAAAEEEEAAAQRyWmDbtm2mZ8+e1uCAAw4w99xzT057cPIIIIAAAgggEFwBAqDBvTa0DAEEEEAAAQQQQACBwAr89ddfZtKkSbZ9zZs3D2w7aRgCCCCAAAIIIEAXeF4DCCCAAAIIIIAAAggggAACCCCAAAIIIJC1AgRAs/bScmIIIIAAAggggAACCCCAAAIIIIAAAgggQACU1wACCCCAAAIIIIAAAggggAACCCCAAAIIZK0AAdCsvbScGAIIIIAAAggggEAQBP7880+zdetWozEzKQgggAACCCCAAALpF2ASpPSbc0QEEEAAAQQQQACBLBZYu3atmTdvnlm4cKFZsWKF2bRpk/n777/N7rvvbqpWrWrq1KljDjzwQHPEEUeYSpUqZbEEp4YAAggggAACCARDgABoMK4DrUAAAQQQQAABBBDIcIE1a9aY119/3cydO9esXLnSrFu3zmzbts2UKlXKBj+VAapbxYoVTbVq1cxee+1ljj32WNOpUycCoRl+7Wk+AggggAACCARbgABosK8PrcshgQceeMDMnDnTnnH//v1N27Zt4569sknuvfdeM3v2bLttiRIlTL9+/UyHDh3i7pvODfr06WNWr15tv/BNnDgxnYcu0LEmTJhgXnzxRbvPueeea7p3716g/dkYAQQQQCB3BT755BPz73//22Z9rl+/3tSuXds0atTIVKhQwej92ZVdu3bZjFAFS/X+/eOPP9ps0R49epiDDz7YbcY9AggggAACCCCAQAoFCICmEJOqECiMwJYtW4y+MKlorLB4RcHPwYMHmxkzZnibXnfddYELfqpxGzdutOe2Y8cOr61BfKDx2dw10GMKAggggAAC8QQU0HzllVfMG2+8Yb799ltTq1Yt07x5c5vxGWlfBUMrV65sb/vuu68NgH788cdm8+bNpmvXrubEE0+MtBvLEEAAAQQQQAABBAohQAC0EHjsikBxCYQHP/Vl6uabbzYnn3xycTWJ4yKAAAIIIJCTAuryPmXKFLNo0SKbwangZqKldOnSpmHDhkbZoBozVD+AlitXzhx99NGJVsF2CCCAAAIIIIAAAgkIEABNAIlNEAiSQHjwUxMq3HbbbaZ9+/ZBamZIW5SZun37dlOyJP/lhMDwBAEEEEAgowU+//xz8+qrr9rgZ+PGjU358uWTOp8aNWrYcUK/+eYbo6Fiatasafbff/+k6krnTnpf79y5sz2kuvtTEEAAAQQQQACBoAoQjQjqlaFdCEQQCA9+6ovHP/7xj8B3l2vRokWEs2ERAggggAACmSvw+++/m0mTJhkFLTWje7LBTyew5557mn322ccsWLDAjkd9/fXXR+1G7/Yp7ntlqyoDloIAAggggAACCARdYLegN5D2IYDA/wmEBz/VbW7IkCGBD35y/RBAAAEEEMhGgXfffdf88MMPdizPKlWqpOQU9957b6MxRRUEnTNnTkrqpBIEEEAAAQQQQAABY8gA5VWAQAYIhAc/y5QpY2d/P+qooxJu/V9//WWmTZtmJ2jQOGW//vqr0eQLBxxwgFE9J5xwQr66Zs2a5c1Mf/zxx5t4mZxff/21lwly7LHHmlatWtk6H3/8cTsRUtmyZc3VV18dcpwxY8bYiR8OOeQQc8opp5gNGzaY//znP/bLn74Aqou/utUdfvjh5owzzrBdBEMqKKYnOtc333zTLFu2zE5gUbFiRdOgQQN769Kli6levXrEln311Vfmrbfesuv69Olj9KV57ty55tNPP7Xn/NNPP9nronPu2LGjOeiggyLW41+YzLX176/HK1euNC+99JL5/vvvzfLly+0X8Hr16tkumLJv06ZN+C48RwABBHJWQP/vatZ3/d/ZrFmzlDrovUSB1Y8++si0bNkypXVTGQIIIIAAAgggkKsCBEBz9cpz3hkjoODn3XffbYOCarS6m91///2madOmCZ+DgnSDBg0yCxcuDNln/vz5RrfJkyfbAJe621WqVMnbRmOSTZ061T5funRp3ADoiy++aJQRo6IgoCtvv/22DbgqSBgeAJ0+fbqd/EFjhOpL5IABA2wAzu2r+xUrVth6ta3OY6+99vKvTuvjdevWmdGjR3tBTHdwzR7/888/m/fee8/861//Mv3797cBTLfe3SvA6UzPP/98+/jJJ590q+29gsAKlOq6XHnlleacc84JWe9/kuy19dehwOeoUaPMzp07/YvN2rVrbXBWXTwVtNVEW6nKcgo5EE8QQACBDBPQj0V6b9KER/pRMpVljz32sNUtXrzYrFq1ys4qn8r6qQsBBBBAAAEEEMhFAQKguXjVOeeMEQgPfiqA+OCDD5pDDz004XPQrLIKbGpmWRWNU3bMMceY2rVrmyVLlpjZs2fbwN0777xjlNX4zDPPGB1HRVko2l5f9BQo/eWXX4y650UqGgtN2Soqmrjh4IMPjrRZ1GXKOuzbt68NutWtW9c0adLEfrFUIPDbb781svjuu+/smKdjx46NWk9RrlAbFARUe1QqVKhgjjvuOGuk83ddFjdv3mwGDx5sJ8Xo169f1CYpkDpz5kyb5aproozL1atXG02qoeCjjvfwww+b/fbbz16z8IoKc21dXbpmI0eOtBmfOh9lnep46oKprFS1Zdu2bebjjz+2wemnn37a7co9AgggkLMC6kmhH76qVq1aJAbVqlWz9et9ulatWkVyDCpFAAEEEEAAAQRySYAAaC5dbc41owTCg59q/IUXXlig4Ke66A0bNswLfiqb8NxzzzW77fb/w//+8ccf5qGHHjJvvPGGzTRRgMufpXnyySfbAKiOr0zOXr166WG+osxPF2TVPgUtmkRC5bLLLjPKjPTPGK8g7U033WQDgtpOAVkFZtNdxo8f7wU/dXxlo4YHhJUBes8995itW7faTNB27dpFbauCnwp6Dhw40N6789F1u+6662zwUctefvnlfAHQVFxb1a3sTwU7FfwcN25cyPmcffbZ9jzOO+88+0VcX/jVLTORmX6V5frPf/5Th4hYlDmlyT42btxoNm3aFHEbFiKAAAJBFVBm5pYtW0L+z0xlW/VDpH4I03EoCCCAAAIIIIAAAoUX+P8oSOHrogYEEEiRQKTgp6p+7rnnbBZmooeZMmWKURdpFQUlFVj0Bz+1XF33br31Vi+wqoDYjz/+qFW2tG/f3ht3U13QoxU3rqXG7FQWYTJF44b26NEjJPipepQd2a1bN69KjU2a7iJHl/2osUw1DEF48FNtat26tbnmmmts89SlXMFlBRgjlRIlSlh7BUH9RcFfZZC6ILACwOF1pOLaqn3KWlVp2LBhxPPRrMYXXXSRfQ1ozNjwYRT87fY/1hizn332WdSb1ms4B3eO/n15jAACCARdQMFP/eiX6u7v7rxVr+pX7wIKAggggAACCCCAQOEFCIAW3pAaEEi5gMaE1ERAKjVr1rQTFemxsgrvuusuo+y/RIoyB1259NJL3cOI98oMVVHwVZmermhMUDdBksavVPZleNEkEF9++aVdrGBlsl0Cu3fvHl6197xx48beY2UNprtooiLZqCgYG+sc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DjBnnnmmfaxu63369LGBO3XXU6aKAlvTpk0z11xzjXGT9ijLs3HjxiH1+J+4iY60vev+7pb5twva4169enmTVCgbVuOAKutRgU+Nq/roo496TVZ3/khBy2uvvdYLKI8ZM8ZOQqUvvPriKgsFhWXsutnXrl3bXHnllV69qXyQimurWejdtVP79Tp4++23veuqYK66x+u8Xdashl8IHx81ledFXQgggEAmCagHhIYKadmypdGPk/r/X/93FqTo/1/tp54K+kHxvPPOK8jubIsAAggggAACCCCQgACTICWAxCYIBFVAs8XPmjXLZo2ojY899pjNUlRw1JXLL7/cjk02depUG6gbPXq00U1f2pQN6S/qqn3HHXf4F+V7rOCout8riKpSrVo1b0b4fBsHaIEChsrUcUMByE238KLx3JRdGamojoEDB5oHH3zQBglnzJhhdNMkFeFZP+oaOWTIEG8c1kj1FXZZKq5t//79bUarMo80PICGU1BRpqcCu/5y/vnnR7Xxb8djBBBAIJcENGa0fihS7wL9GPnll1/a90Z1jY/1g5F+SFQPDI37qffttm3bmm7dutn351zy41wRQAABBBBAAIF0CBAATYcyx0CgiATUvV0By4suushmnCigqa7x6u7uvnSp27qyHZXZ+cgjj5hly5bZ8Sv9wc+9997b9OzZ03Ts2DGhL17KGhw7dqw9K80YHvRZah2/gn0aO1Nd1F32qlsnL52Lgp8yi1ZchqzqUABVmbX+4GfNmjVNly5djIKFygYqypKKa6su8MOGDTMaA1bd+t0ERy74qUC5gsI6n6CP81qU1tSNAAIIxBLQe8hll11mGjZsaN566y37XquhQzShnAKkej/Qe7beL/S+ofcg/f+rLu/Nmzc3p556akb8mBjLgHUIIIAAAggggECQBUrkdYPdFeQG0jYEEEitgGZ4V8bJ8uXLzZ577mkU/KxRo4bXtTu1RwtmbZo46tdff7VfUPVFVOevSScKGrDUf58rV640mvRIQWB1eVfmpxt3Nd1nX9hrq6C4ZoXXjPDq8q7Z6zV2qhsnNJXnM3z4cDv5kqtTAWUFqCkIIIBApguoC7wyQT///HPz448/2uFm9P+z3nv0XqH3GgVF9f+rgp+6Kes+E4uG0tG5qOg85syZk4mnQZsRQAABBBBAIAcEyADNgYvMKSLgF9DYlspQ0S1XiwKUCvzqVpiizJ5U1FOYNvj3Ley1VbZnkM7Hf248RgABBDJFQNmgmgBPN2V6angR3etHJgU6q1SpYn9gcj01MuW8aCcCCCCAAAIIIJDJAgRAM/nq0XYEEEAAAQQQQACBwApUrlzZ6EZBAAEEEEAAAQQQKF4BAqDF68/REUAAAQQQQAABBBDISAH1PBg6dKhtu8YzpSCAAAIIIIAAAkEVIAAa1CtDuxBAAAEEEEAAAQQQCLCAuvTfcsstAW4hTUMAAQQQQAABBP5PYDcgEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBbBUgAJqtV5bzQgABBBBAAAEEEEAAAQQQQAABBBBAAAFDAJQXAQIIIIAAAggggAACCCCAAAIIIIAAAghkrQAB0Ky9tJwYAggggAACCCCAAAIIIIAAAggggAACCBAA5TWAAAIIIIAAAggggAACCCCAAAIIIIAAAlkrQAA0ay8tJ4YAAggggAACCCCAAAIIIIAAAggggAACBEB5DSCAAAIIIIAAAggggAACCCCAAAIIIIBA1goQAM3aS8uJIYAAAggggAACCCCAAAIIIIAAAggggAABUF4DCCCAAAIIIIAAAggggAACCCCAAAIIIJC1AiWz9sw4MQQQQAABBBBAAAEEECgygZ07d5olS5bY+suUKWP22WefIjsWFSOAAAIIIIAAAoURIABaGD32RQABBBBAAAEEEEAgRwW2bNliGjZsaM++efPmZs6cOTkqwWkjgAACCCCAQNAF6AIf9CtE+xBAAAEEEEAAAQQQQAABBBBAAAEEEEAgaQECoEnTsSMCCCCAAAIIIIAAAggggAACCCCAAAIIBF2AAGjQrxDtQwABBBBAAAEEEEAAAQQQQAABBBBAAIGkBQiAJk3HjggggAACCCCAAAIIIIAAAggggAACCCAQdAECoEG/QrQPAQQQQAABBBBAAAEEEEAAAQQQQAABBJIWIACaNB07IoAAAggggAACCCCAAAIIIIAAAggggEDQBQiABv0K0T4EEEAAAQQQQAABBBBAAAEEEEAAAQQQSFqAAGjSdOyIAAIIIIAAAggggAACCCCAAAIIIIAAAkEXIAAa9CtE+xBAAAEEEEAAAQQQQAABBBBAAAEEEEAgaQECoEnTsSMCCCCAAAIIIIAAAggggAACCCCAAAIIBF2gZNAbSPsQQAABBBBAAAEEEEAgeALly5c3M2fOtA2rWLFi8BpIixBAAAEEEEAAgf8KEADlpYAAAggggAACCCCAAAIFFth9993NcccdV+D92AEBBBBAAAEEEEi3AF3g0y3O8RBAAAEEEEAAAQQQQAABBBBAAAEEEEAgbQIEQNNGzYEQQAABBBBAAAEEEEAAAQQQQAABBBBAIN0CBEDTLc7xEEAAAQQQQAABBBBAAAEEEEAAAQQQQCBtAgRA00bNgRBAAAEEEEAAAQQQQAABBBBAAAEEEEAg3QIEQNMtzvEQQAABBBBAAAEEEEAAAQQQQAABBBBAIG0CBEDTRs2BEEAAAQQQQAABBBBAAAEEEEAAAQQQQCDdAgRA0y3O8RBAAAEEEEAAAQQQQAABBBBAAAEEEEAgbQIEQNNGzYEQQAABBBBAAAEEEEAAAQQQQAABBBBAIN0CBEDTLc7xEEAAAQQQQAABBBBAAAEEEEAAAQQQQCBtAiXTdiQOhAACCCCAAAIIIIAAAlkjsGPHDjN+/Hh7PtWrVzennnpq1pwbJ4IAAggggAAC2SVAADS7ridngwACCCCAAAIIIIBAWgS2b99uevfubY/VvHlzAqBpUecgCCCAAAIIIJCMAF3gk1FjHwQQQAABBBBAAAEEEEAAAQQQQAABBBDICAECoBlxmWgkAggggAACCCCAAAIIIIAAAggggAACCCQjQAA0GTX2QQABBBBAAAEEEEAAAQQQQAABBBBAAIGMECAAmhGXiUYigAACCCCAAAIIIIAAAggggAACCCCAQDICBECTUWMfBBBAAAEEEEAAAQQQQAABBBBAAAEEEMgIAQKgGXGZaCQCCCCAAAIIIIAAAggggAACCCCAAAIIJCNAADQZNfZBAAEEEEAAAQQQQAABBBBAAAEEEEAAgYwQIACaEZeJRiKAAAIIIIAAAggggAACCCCAAAIIIIBAMgIEQJNRYx8EEEAAAQQQQAABBBBAAAEEEEAAAQQQyAgBAqAZcZloJAIIIIAAAggggAACCCCAAAIIIIAAAggkI1AymZ3YBwEEEEAAAQQQQAABBHJboFKlSmbXrl25jcDZI4AAAggggEBGCJABmhGXiUYigAACCCCAAAIIIIAAAggggAACCCCAQDICBECTUWMfBBBAAAEEEEAAAQQQQAABBBBAAAEEEMgIAbrAZ8RlopEIIIAAAggggAACuSSwdOlS8/XXX5tly5aZNWvWmK1bt5oSJUoYdTuvWbOmqV+/vmncuLGpVatWLrFwrggggAACCCCAQFICBECTYmMnBBBAAAEEEEAAAQRSL/Dll1+a6dOnmx9++MEGPjdu3Gi2b99ug586msbcLF++vNlzzz1tIFRB0E6dOpl69eqlvjHUiAACCCCAAAIIZIkAAdAIF7Jr167mzz//jLAmsUWdO3c2ffv2TWzjYthq8uTJ5umnn7ZHHjBggGndunUxtIJDBlVg5MiR5j//+Y/XvN12282+XqpUqeIti/fgjz/+MBdeeKHRvSv33nuvOeSQQ9zTnLzv3bu3+e2330zlypXN888/n5MGnDQCCCCAQGSBbdu2mQkTJphZs2aZxYsX24Cnsjv33ntvU65cOS8AunPnTpsNum7dOrNgwQKzZMkSM3/+fNO+fXtz+umnG71vUxBAAAEEEEAAAQRCBQiAhnrYZ+vXry9UAHTLli0Rag3OIgWldI4qhQn0BueMaEkqBfT6da8PV+/7779vzjjjDPc07v3HH39sfv3115Dt/vrrr5Dnufhkw4YN1lZfXikIIIAAAgg4AXVxf+qpp8ycOXPsD2Xq3l69enW3OuReAc6KFSva2z777GNWrlxpvvrqK7Np0yb73turVy+bIRqyE08QQAABBBBAAIEcFyAAGucFcMABB5jdd989zlahqxmLKdSDZ5kv8O677xYoAOrPIM38s+cMEEAAAQQQKDqBzZs3m8cee8zox0OVI488MuHPnhoTVBmi1apVs9mgM2bMMH///bftiVTQz69Fd4bUjAACCCCAAAIIFL8AAdA41+Dhhx+2v7DH2YzVCGSlQNmyZe24Y1988YXNXEykG7wmafjkk0+y0oOTQgABBBBAIJUCClY+88wz5rPPPjMlS5Y0Bx10UFLVlylTxjRt2tRo/FAFUmvUqGHOPffcpOpiJwQQQAABBBBAIBsFGCQoG68q54RAigSOPfZYW5O6bL/33nsJ1Tpz5kw7tIK66OX6mJ8JgbERAggggEDOCrzzzjtm9uzZ5vfffzeNGjUqlIMyPg877DDz888/27G8NYM8BQEEEEAAAQQQQOD/BAiA8kpAAIGoAscdd5wpXbq0Xa9u8IkU1/29WbNmtkteIvuwDQIIIIAAArkmoB4T6rKuSYwOPPDAlExepPdsjR+6aNEi8/rrr9sZ43PNlfNFAAEEEEAAAQQiCdAFPpJKES5TV6fp06ebhQsXmp9++sn8+OOPtotx3bp1jQayb9iwoZ3B0wWdojVFkxe99dZb9hf+FStWmB07dthsO/3yr8lqypcvb9R9f/v27ebggw82Xbp0iVZV1OWatGbatGnm22+/tR+kNanNvvvuazQu6lFHHWVOOOGEqPvGWqEP5ZqJXuWII44w7dq1i7j5p59+6mUdqluXZjeNVDRhgCbpUTnnnHOsryabUbnkkktM1apV7eNo/7z88svebKuXX365qVSpkp1MQL4qffr0Mer6PXfuXKM2acZVXTtZKFujY8eOUbusaVKCVNTjb7teO+/lZWPqXpalSpWyrxu9dnSdNQ5YqkqFChXMMcccY5TVqW51mnE2lqcmYND1UNF1/eijjxJqijJf9HfxwQcfmF9++cVmwuy11172b0Iz2up1El78tpdddpmdWV0z5+o6zZs3z04GodeN9j3xxBONzkXFZbOqu6G206RgupYnnXSSOfXUU71ZdsOPp+ep+vt1devLr/4WvvnmG/Pdd9/Zv9vDDz/cZvC0bt067iQW+vt2+y9btswOU7DffvuZBg0aGAWgVUe04vcrzGs8Wv0sRwABBBCILaDMT30O1Pu2Prelqqj7u7JA9b7yww8/2OBqquoOr0fvQ1deeaVdXK9ePXPHHXeEb8JzBBBAAAEEEEAgEAIEQNN4GRSgGDJkiP1AGn5YBewUWHvjjTdsQOP222+P2n1Ywbfrr7/ezvrpr0dBKt1Ux3333Wd/+VdgSbN6FzQAqrYOGjTIBtn8x5g/f77RTUGXNm3a2HYoYFiQog/6r776qs1K0IfzaAHQKVOmeIHN77//PmoA9KWXXrLjXSlo3K9fP6Og0tSpU22TFAxSUDRa2bZtmxkzZozRvQK77lxk7Oo4//zz7eMnn3wypBpdMwWRZKEP/5GOk6p6dGAF7saPH2/GjRtnA3H+xihoqCDwpEmTzI033miOP/54/+pCPW7btq19Xen4OsaZZ54ZtT6tV5BQ45gpQJ5IAFRjld1999026OmvWJNC6IubMkrVFV+vR41x5orftnv37nYMNZ2/v7z55ptGN3UxvP/++62h/gaVceMvq1evtoFTZbk+9NBDEbNwUvX3646rjB/9netLqr/oOPr7eO2112xbypUr51/tPdY5Pfroo0Zt9xe9Jt3rUm56PUQKivv9CvMa9x+bxwgggAACiQtofG39uKwfqlNd6tSpY1atWmV0DGWXFlXRD/BPP/20rb558+YEQIsKmnoRQAABBBBAoNACBEALTZhYBQr0KUimD4oqykxTFqWy6RToUdBDQRmtV0Bk8ODBNtilcRT9RR+UFeRzGY6a+bNVq1ZGGaSLFy+2gSrVdemll9rsT/++iT5WVpwCrMoyVdEHZ2UB1q5d23bTUsaC2qgAjMaX0uD9FStWTLR6m02pTFUFUhXgWr9+vV3mr0BBtM8//9xbpO3k5AKUboWy95Txp6JZU5VBcfLJJ9tAoJYpqzBSYFLrVJRxqOCnivaLVEaPHm1dNbaWHJThoKCT2rd27Vob8FO2rYKtWh+tFLaem266ySjDUUXBXgWOlfWp66QsXQW/9bq49dZbzVVXXZWyyQ8URFPgUda65rECoK77e4sWLfJdq0gues0PHDjQW6UxQ5W5qC9uy5cvt4FnXXcFSRW41Laa8Ta8DBs2zI6hpmukOho3bmyvkQKaymTWa/aJJ56wmbu65sqO0d+fMnv15VAZmCp6LSnweNppp4UcIlV/v65S/TChrFWZKjNVr111WdTflbJ79frX34euuc5NAWV/UWD5rrvu8hbpnJXpWrNmTfv/gLx+++0369azZ08bNK9Vq5a3ffiDwr42w+vjOQIIIIBAbAF99tDnNb1HuR4Ksfco2Fp9vtQPbfpsSEEAAQQQQAABBBAwJvRbNSL5BPThMVoGVr6N8xYoAKfgTXh58cUXveDngAEDIgaR1F1bXbAVVFMgRDNpK7jpL6NGjfKCn8qwu+2220K6TamOO++803ZXdvvt2rXLPYx7rw/iCri44KeCtppF1B+IVdBGWXLKNFV2gX75v/rqq+PW7d9AY0sqwKOioFN493YFnBT4ckXnoMBseLd7BSFdW13Wo4KCyuZU93Bljqp7mYKTkYqyA1UUOIuWiarAooKeCr7p3hVZXXfddV6gVl3pYwVAC1OPAoUu+KnuzcqY1JAJ/qJAnrqeKQiqbFVlblavXt2/SVKP9fpXEFTBxFjd4NU9XtdIJZqlvwFq54gRI+wiBTUVEFQmpz/AqdfeFVdcYbvF6/gabiD8b0IVKMCpL3uPP/648Qf61KX9mmuuscdQ9qyK2nbDDTeE/N0oiP/UU0/Z9a+88kq+AGiq/n7tAfL+UYBTN7VPryG9/lzR67Zv3772Bwx5KjNcP5i4snHjRpvhrefaT9uGz/Srvx39iKJAqIYlGDlypBk6dKirIt99YV6b+Sr774K3337by6KOtI2GcNAwB2qrAsIUBBBAIJcE9PlJ//+F/7CbKgMNj6PPbvrhXJ+T4g2tlKrjUg8CCCCAAAIIIBBUgdD0wqC2shjbpWzL3r17J3x78MEH87VWmVgK3qgoUytaBp0CN926dfP2VyDEX/RcgQoVZXopAyx8zCgFge65556kswnU7VwZCSrKiFTXWH/wU8uVDagsw0MPPVRPjbqgK8hYkKIAqCtuzEj3XPcuq1Ndd8uWLWtX+TNC3bYK8KgoaOav05/NqSzQSGXNmjVG40CqKMCnbMBIRXXrfP3BT22nrDwFmVx2noJwsYLNydaj8bUee+wx2zR9gVFX8PDgp1YqSObG3vLvY3cs5D8a7kBF56cMxUhFr3F1k9f1ihSkDN9HQwcomKeiYO2FF14YEvzUcl2Tm2++WQ9tiXYtFQhUUNgf/NQOyorUmJqu6PWkLuHhfzcXXXSR101cY+r6S6r+fv116nHLli3zBT+1XMH7s88+Ww9tUXd2f1EwU1nTKl27ds0X/NRyfaFWxqwyxFX0/4b7W7ELwv5J9rUZVk3I06VLl9oMbF2zSDetVzv5Uh7CxhMEEMgRAQU/FZj0D+2S6lPX+7F+tNaxKAgggAACCCCAQK4LEABNwytAGXTKqlTgxQ0UH+2w/sCW65rttlXXXVfUrTVa4EBBBQUukynKYnRF3ehjFZd1pkw2ZXsVpGjSGXeumlgovLigqLopu7GxXLDSv60L6qhLvT+AqYxSF5hU8CVSYNK/vFOnTv5qQx6rS/ZBBx0Ussw9kfX+++9vn8pB461GK8nWo+7ObpxHtVN20crRRx/ttccNqRBt24IsV7DOZUK7YH74/q77uwLRLmgdvo3/uX980Isvvti/KuSxArvqkq5tFCiNVJo0aWK7vUda58/+lZ87j/Bt3etRY8j6vyym6u83/Hi9evUKyfz0r3c/LmiZCxK79S4TWO3q0aOHW5zvXq9/TW7kSqy/0WRfm65u7hFAAAEECiagzwz60TD8R+aC1RJ7a/24pc8/OhYFAQQQQAABBBDIdQG6wMd5BahLbrRAY6RdXcaVf53GdlKAQbdoRd2p1e3bBTe0XfgHVn8A0N8lNlKdChyGT9oTaTv/Mh1Pk+moqGtqvO7TymZ1ReM1FrQoUPbCCy/YLv/KblXmm4oCUBpbVEVjI6pudQVWZqp/FnLt4wKDrvu73Snvnz333NNmdSporO5f6m6vcSH9xXV/d9v61/kfRxrSwL9+jz328J66MV69Bb4Hydaj4RBc8WczumXh97oustIXq5UrV8YMmIbvG+25MlSU1amgqrrBa5gG/8Q66srnhjRIpPu7rrGGJ1BRPbGCuvoCpy7rsUqsCR4qV67s7RrrGviDtv7rmKq/X68R/30Qq83K8HbF3z1cmZ8uOKsgqf/c3Pb+e38mbqws7Vguqi/R17j/2DxGAAEEEIguoPdV/VDlf7+JvnVya/TZUscoyizT5FrGXggggAACCCCAQPoFCIDGMVe33IJM8BOnOrtagR9N6qPAnoJbuumxPqj6S3jWorriuqIJiWKVeOsj7asglmuDjhWtq36kfQsTAFV9ygJ1AVAFO13wVwFQf6BN3eBdgM1lf2r/8AColqkbvMuafeutt0ICoPJXkFBF9blsUbsg7J94lhpny5Xwa+aW6z7Zevy2mvV77Nix/mrzPfZnoeq1FSu4mG/nGAuUfakAqM5Rs72fddZZ3taaHElFGbHKQo1XXBdubRfebT3evpHW+wN0kda7ZbGC+olm4ST79+vaoHtlb8Z6zfnHBPW/pvxBTP1IEa+oq79sNA6oXguqSwHl8JLsazO8Hv9z/f+hzOFoZeLEiWb48OHe/znRtmM5AgggkI0Cej/Se4H74bkozlE9ifS+nOh7ZFG0gToRQAABBBBAAIGgCBAATeOVUBBuwoQJRmPfRSoKeiiDVIGKSMV1hdUH5ni/5mss0IIWf6BNGQn+gGu8usLHTYy3vdar27oy2HRe6vLuuu27LvHqkqxMOG2jIKPaFCkAun9eF/S6devmO6QmJJKDskbVbfvaa6+19WhDl/2px/7xQvU8vKRqdtZk6/FfF00cVJCSyi9WCmzqHBRglac/AOq6v5944omecax2+s9DM7IXtvizN2PVlWiQM1Idhf379ddZkKxy/37+/xv8WaL+bcIfy1cBUI0Lq781ZTyHl2Rfm+H1+J/ruLGurdqvsekoCCCAQC4KKACq/yPVe6IousKr94A+L+pH0Eg/fOWiOeeMAAIIIIAAArktQAA0Tdf/2WefDemSrkCMup0q61Gzeute3do1k7eb9CX8A6s+LCv4pF/01YU4fCIX/6n4A0z+5bEe+4NIGndTM24nWmJls0WrQwaafEizyWuiFwVDFNj1j/+pfbVMwVJlhrphAHR+33zzja06fGZ4dzy1SeegbvbqNvzJJ5/YWeSV5erGQ5S9Zo0PctEXGFc0Dma8bs9uW90n0mXev32sxwraKdNWwWN/N3gF5Vx3dpedG6serfNno/gzVuPtF219YQKb0er0L0/F36+/vmQf+938XeNj1afgpytFEeh0dXOPAAIIIJC4gD7jaXxx/bCrSRlT0RvCf3QNEaTPjW4cdf86HiOAAAIIIIAAArkoQAA0DVddM5q78TiV5Xn55ZebU089NWLXegU2XfF3fdUyZTm6LrD6YKvMx2hF3dkLWtwkMG4//0zUblmq7zUOqAKgmglVAc769et7GbAax9QVPdZ6ZTRqTE8Fip1PpO7vbj9ldyoAqqKsRQVLVY8LEHfu3NltGth7XRe9hlQ0vmeLFi2Kra3qBq8AqOxdN3jX/V1DFWjW9USKum8raKmsFzeOa6z9lP3rH2og1rapXpeqv99UtMuf6azxXeMVBftdJreCn8VlGK+drEcAAQRyUUA9K/Reqh8RlRUf/sN3sib6TKXPSuoJo6GEKAgggAACCCCAAALGMAt8Gl4F4bNdq6t3tHFF/YFLNw6ma6J/LEc34YxbF34fb3349nquWdRduxYvXhx3bD51qZ09e7b56aefku7K2rx5c2+SKWV+Kjipoi8B/mCaPxiqLFA3/qe6j8WaTEZBYjdZkzJAFUj78MMP7TEUjO7QoYN9HOR//IFpl2kZq70a31STSKnrvwsSx9q+IOt0HTSemIqbDd4FQE866aSEZ7NVdq4bd1KveX1Zi1WUFa0Z3JUB6yYBirV9Ktel6u83FW3yB0A1lEa867tkyRJvG/++qWgLdSCAAAIIFE6gUaNGtqdGqscC1Rjneo9VL5uC9BpJ5mz0WUo/ZusWb4LOZOpnHwQQQAABBBBAIFUCBEBTJRmjHtdVW5v4A3nhuyg4995773mLwwOgp5xyihdgGj9+fNQApbqSa6zRZIpmllZRQGrSpEkxq5gyZYq5/vrrTffu3c2QIUNibhttpT70u+wEjf2prmAq+lLgAm16riCnC84q6Kqbij5wx8uYcGN8qqu16ncBUGVSKugb9OICuGrn5MmT7fAH0dqsa69rcsUVV5jTTz/d6EtQKosClxrnU0XDFqgrvIJsKol2f7cb5/3juuWpzdOmTXOL890r0K6MX10/Bfz8r4t8GxfBglT9/aaiaRoOwk0WpqEH/P9fRKr/+eef9xbHypT2NuIBAggggEBaBTRhnN4P9X+6f8iSZBuhzE/9UKjPc+no5aLhmGbOnGlvjz/+eLLNZj8EEEAAAQQQQKDIBQiAFjmxCZkIRJmVkYqCnf/4xz+8sRS1TXhW3H777edlLKor+P33358v81Jd6BWMXLt2baTDxF2mwJkbT3HcuHFRJ2xS1udzzz3n1de1a1fvcUEfKIipomCdC06GB4qVYeAyQtVdzA0VEG38T38b1G3bTTrzzDPPeF2u0/HFwN+OZB/rS4yyK1V0XR9++GETHhx3dY8ePdq4GdZlWK9ePbcqZffyVFH3db0GVdSl3QXP7YIE/rnkkkuMrquKAvquq3b4rjon97fggq/h2xTlc/9EPoX5+01VG6+66iqvqrFjx9qx47wFvgfKXHUBUnV9b9++vW8tDxFAAAEEgiCgXh7dunWzQVD94FaYXg56H9VnqSZNmphevXp5PxwH4TxpAwIIIIAAAgggUNwCjAEa5wrcddddXpAmzqYhq2+55RYvu7BZs2Z2jCdt8Nhjj9mgZatWreyM7xqLUpl0yoBz3bpdRW7Wd/dc971797bZjwpyaexMfVhWAFEfoPWh94MPPrDjZCqw5IJk8TIk/fUru0zZCC+99JKdbKlPnz5GNx1DXWg18YqO8cQTT3iZCq1btzaNGzf2V1Ogx+qi5YrLfggPgGq9linLQIE3FWWEJtLdStspUDpjxgyzYMECu68mk/Ef1y4M8D/9+vWzrw9lS7722mt2LNhLL73UZspq8ipdewURdY4qyhS87LLLiuSMFIjWTOJ67SoQruKCogU5oF6zCpy/+OKLNiit13b//v1toFv1L1++3CiDUWOOqiiYe9555xXkECnZNpV/v6lokDKm9Ten4OaKFSvssAAKiqqdGodVr4Xp06ebiRMneofr27ev/f/GW8ADBBBAAIHACOgzoSZCUi8HDWGj97uCTIqk/TRGvOpQ8FPvla63QGBOkoYggAACCCCAAALFLEAANM4FcDOSx9ks32oFqlw544wzjMZJVHdhBRBHjRplbwpW+DM1NV7lDTfcYG6//Xabxffdd9/ZYJ/LyFR9yrTThEq33nqrzRbVB143MZI7nj70qlv6wIED7SL/7O5um1j3mqRJ3fGnTp1qM++Ugaebuj9rUhV/UVDyjjvu8C8q8GM3S+m3335r91W2WqTZy8ODoi1btrRtSuSAGj7ABQe1vbLhMmlCGH0Ruu+++8zQoUNtsFBjvF5zzTX21P3Bbi3Q88GDB3tdzO1GKfxH9SsA98orr3i1FrT7u9tRWaDKdnn99dfta15Z0Crh56SAqDKbNWRCuksq/35T1XYNc6AvvMqG1g8lbgiKcDf9+KFxU5VdREEAAQQQCK6A3ms0LI+GH9KP2+rpo8+FsYbq0fuAgp4aE1rDw2hon549exa4R0ZwVWgZAggggAACCCCQOoHdUlcVNUUTUABTXYUVlHRdsbWtC35WrVrVzgz/9NNP20xKTQykoq5MblIgu+C//2im0EcffdQo60uZd3Xq1LEffDWbqLI1x4wZY2cTdfu4sTPd83j3CjIpEDts2DA7K7sLwPqDn3vvvbfRxDQPPPBAyDnFqzvaemU/uHLYYYfZDEb33N1rEiiduysFGdNQ2XH+fTOl+7s7V90r808ZkaeddlrIOJgu01fXqWPHjnabop4pvk2bNl7T9AWtQYMG3vOCPNBrTdnSCuD5J+lx56SAnrJElc3onwyqIMco7Lap/vstbHu0vya1UJD7zjvvDMnsdG5qszKcH3nkERsATcUxqQMBBBBAoGgFNMyLekJogka9Jyqjf9asWUY/iGuMUI3vqZt6XyhIqnWrV682Bx10kNEPvQMGDCD4WbSXiNoRQAABBBBAIIMFSuT9erwrg9ufcU3X2JXqtqqbumHXr1/fdidO9YmoO/1NN91kq1XXYmWBJVuUzaoP2+qSrEw8BT81LqILjCZbb7r3U5cwuStYp7FAM70oQK4JiDRJkK6JbpqMIJOL/j40zqZ+HNCXPwU91Z0/KCVdf78FPV+1S68FfRFWRrXcYmUNFbT+oth++PDh9su6q3vEiBH2i797zj0CCCCQqwIa6keTNirA+cMPP9ghZ/T/vHrnKLNfP6ZXqFDB6Ad0jb+tH7wUBKUggAACCCCAAAIIRBegC3x0myJZowBVw4YN7a2gB1AXcc1+ruCGxmHUB99oRdkCrmjypMIUBaCSbXNhjpvKfTXOqoKfKsqSyIaiQJdu2VT09xFp+IOgnGNh/n6L8hzULmVOUxBAAAEEMl9APzBr2B/dtmzZ4o3vuW3bNvvjs4Kf6tWiz3f+nkWZf+acAQIIIIAAAgggUHQCBECLzrZIan7qqadsvfq1X2NCRirK1JwwYYJdpUwBdZ3O9aJJnVT0RUHdxCkIIIAAAggggEDQBRTsPOSQQ4LeTNqHAAIIIIAAAggEXoAxQAN/if6/gRpr0f3Sry7umjlekyr5i7pFa6KcP//80y7W7OcaLzDXirrsq7uY7jUOoiahUlH2p4YeoCCAAAIIIIAAAggggAACCCCAAAII5IYAGaAZdJ3d5ERuxud7773XTkKkzADNDq/x/xYsWODN1F67dm2j2aJzsTz00EN2/Cz/uWuMTI2HSkEAAQQQQAABBBBAAAEEEEAAAQQQyB0BAqAZdq07depkMxs1ic/69euNZn2eP3++vflPpXXr1ubGG28MmS3cvz7bH9eqVSvkFNWFTEMGaBInCgIIIIAAAggggAACCCCAAAIIIIBA7ggQAM3Aa33WWWfZrtzvvvuuWbZsmVkHuUjSAABAAElEQVS1apUNimpCnDp16pg2bdoYZX/mcunSpYspW7as2bRpk2nWrJlp2bKlnbk+l004dwQQQAABBBBAIJUCmqSpadOmtsrGjRsbN+Z6Ko9BXQgggAACCCCAQCoECICmQrEY6tDM7MoGpUQW0Idw3SgIIIAAAggggAACRSOwc+dOs2jRIlt5lSpViuYg1IoAAggggAACCKRAgEmQUoBIFQgggAACCCCAAAIIIIAAAggggAACCCAQTAECoMG8LrQKAQQQQAABBBBAAAEEEEAAAQQQQAABBFIgQAA0BYhUgQACCCCAAAIIIIAAAggggAACCCCAAALBFCAAGszrQqsQQAABBBBAAAEEEEAAAQQQQAABBBBAIAUCBEBTgEgVCCCAAAIIIIAAAggggAACCCCAAAIIIBBMAQKgwbwutAoBBBBAAAEEEEAAAQQQQAABBBBAAAEEUiBAADQFiFSBAAIIIIAAAggggAACCCCAAAIIIIAAAsEUIAAazOtCqxBAAAEEEEAAAQQQQAABBBBAAAEEEEAgBQIEQFOASBUIIIAAAggggAACCCCAAAIIIIAAAgggEEyBksFsFq1CAAEEEEAAAQQQQACBIAuULl3a3HLLLbaJdevWDXJTaRsCCCCAAAII5LgAAdAcfwFw+ggggAACCCCAAAIIJCNQpkwZM3To0GR2ZR8EEEAAAQQQQCCtAnSBTys3B0MAAQQQQAABBBBAAAEEEEAAAQQQQACBdAoQAE2nNsdCAAEEEEAAAQQQQAABBBBAAAEEEEAAgbQKEABNKzcHQwABBBBAAAEEEEAAAQQQQAABBBBAAIF0ChAATac2x0IAAQQQQAABBBBAAAEEEEAAAQQQQACBtAoQAE0rNwdDAAEEEEAAAQQQQAABBBBAAAEEEEAAgXQKEABNpzbHQgABBBBAAAEEEEAAAQQQQAABBBBAAIG0ChAATSs3B0MAAQQQQAABBBBAAAEEEEAAAQQQQACBdAoQAE2nNsdCAAEEEEAAAQQQQAABBBBAAAEEEEAAgbQKEABNKzcHQwABBBBAAAEEEEAAAQQQQAABBBBAAIF0CpRM58E4FgIIIIAAAggggAACCGSHwK5du8yqVavsyZQqVcpUq1YtO06Ms0AAAQQQQACBrBMgAzTrLiknhAACCCCAAAIIIIBA0Qv8/vvvZq+99rK3zp07F/0BOQICCCCAAAIIIJCkAAHQJOHYDQEEEEAAAQQQQAABBBBAAAEEEEAAAQSCL0AANPjXiBYigAACCCCAAAIIIIAAAggggAACCCCAQJICBECThGM3BBBAAAEEEEAAAQQQQAABBBBAAAEEEAi+AAHQ4F8jWogAAggggAACCCCAAAIIIIAAAggggAACSQoQAE0Sjt0QQAABBBBAAAEEEEAAAQQQQAABBBBAIPgCBECDf41oIQIIIIAAAggggAACCCCAAAIIIIAAAggkKUAANEk4dkMAAQQQQAABBBBAAAEEEEAAAQQQQACB4AsQAA3+NaKFCCCAAAIIIIAAAggggAACCCCAAAIIIJCkAAHQJOHYDQEEEEAAAQQQQAABBBBAAAEEEEAAAQSCL0AANPjXiBYigAACCCCAAAIIIIAAAggggAACCCCAQJICJZPcj90QQAABBBBAAAEEEEAghwXKly9vXn/9dStQuXLlHJbg1BFAAAEEEEAg6AIEQIN+hWgfAggggAACCCCAAAIBFNh9991N586dA9gymoQAAggggAACCIQK0AU+1INnCCCAAAIIIIAAAggggAACCCCAAAIIIJBFAgRAs+hicioIIIAAAggggAACCCCAAAIIIIAAAgggECpAADTUg2cIIIAAAggggAACCCCAAAIIIIAAAgggkEUCBECz6GJyKggggAACCCCAAAIIIIAAAggggAACCCAQKkAANNSDZwgggAACCCCAAAIIIIAAAggggAACCCCQRQIEQLPoYnIqCCCAAAIIIIAAAggggAACCCCAAAIIIBAqQAA01INnCCCAAAIIIIAAAggggAACCCCAAAIIIJBFAgRAs+hicioIIIAAAggggAACCCCAAAIIIIAAAgggECpAADTUg2cIIIAAAggggAACCCCAAAIIIIAAAgggkEUCJbPoXDgVBBBAAAEEEEAAAQQQSJPAX3/9ZSZPnmyPVrVqVdO2bds0HZnDIIAAAggggAACBRMgAFowL7ZGAAEEEEAAAQQQQCDrBHbs2GGmT59ub19++aX5+eefzdatW0358uXNvvvua4444gjToUMH065dO1Oy5P99hdi2bZs555xzrEXz5s3NnDlzss6FE0IAAQQQQACB7BAgAJod15GzCJiAvjAsWbLEKDOiSpUqplatWqZs2bIBayXNQQABBBBAAIFcF9BnlhEjRpjhw4eb3377LSKHPtO89957dht9prnuuuvM1VdfHXFbFiKAAAIIIIAAAkEUIAAaxKtCmzJO4O+//zbTpk0zn376qVm0aJFZvnx5yDkoU6Jp06amffv2plOnTma33aIPv9unTx+zevVqU7FiRTNx4sSQengSXeCBBx4wM2fOtBv0798/6W54meS/cuVKs9dee0VHyVuTyDYxK2AlAggggEDWCsyaNcuce+655qeffkr4HFetWmVuvPFGM2bMGPPss88mvB8bIoAAAggggAACxSlAALQ49Tl2Vgj88ssv5pZbbrEZn9FOSJmgc+fOtbeXX37ZDBw40NSpUyfi5hs3bjTr16836opGSVxgy5Yt1k17/Pnnn4nvGLZlJviry6G+dL755pvmlVdeCTuD/3uayDYRd2QhAggggEBOCDz//PNGP/ol+56prFD9sEtBAAEEEEAAAQQyQYAAaCZcJdoYWIENGzaY//mf/zEKgrrSokUL06BBA1O9enWza9cuo0yJb775xsyfP99u8v3335sBAwaY0aNHm2rVqrnduEcgYYGrrrrK/PDDD2aPPfaIuk8i20TdmRUIIIAAAlkt8M9//tP07Nmz0Oe4ffv2QtdBBQgggAACCCCAQDoECICmQ5ljZK3AhAkTvODn/vvvb4YMGWInCoh0wppQ4K677jJr1661+6jr2G23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Ym+HH364KVmyYB/d3nnnHbNu3Tqv/sWLF3vjgJ5wwgl2gipvpe/Bxo0bbRs+/fRTs337dtOyZUt7i3aebldNcPX999/bm67RL7/8Ys9P10hZwvvvv7/b1LtPto1eBTxAAAEEEEAAAQQQQCCOQME+RcepjNUIIIAAAggggEAsAX9Qcdu2bbE2DVmnwJpmh7/ttttsQC5k5X+faJKfJ5980hx33HHe6uXLl5v27dvb5zfeeKO57777vHXhD55//nmvG//8+fNDAqAKunbv3t0GP8P3q1Spkhk1apRRF//wooCtO/57771nRo4caSZPnuxtdvvtt5tff/3VVKlSxaxatcpccMEFRgHBSKVZs2Zm/PjxRsHZRIsmnVLg1pVnnnnG6Kai49WsWdM+9v+j4KzasWbNGv9iO17rkCFDzC233BKy3D1ZuHChNfj444/dopD73Xff3fTv39/cfffdpnz58t66ZNro7cwDBBBAAAEEEEAAAQQSECAAmgASmyCAAAIIIIBAagTmzZvnVXTYYYd5j2M9UPCzbdu2RgFElXr16tkgZ7Vq1WzwUAG3n376yWYdajImZTnus88+dlsFQ5V9qODcxIkTzT333GN22y3yCEDPPfec3efII480/rZp9noFN//44w+774knnmjXr1ixwqgbvwKJF198sXn33XfNs88+a+uI9M/YsWNDgp/aRlmYCn4q+/SUU04xn332mQ00nnTSSTbQqeXTp0+3mZSff/65Udtmz55tlA2aSGndurVRoNkNNyA7l3FaqlSpfFVobNb777/fyFwZqq1atbLGs2bNsstuvfVWU65cOXPttdeG7Dtt2jTTrVs3eyxlqbZr187Ur1/f7iN72fz9999m2LBh9lzHjBnj7V/QNno78gABBBBAAAEEEEAAgUQF8mZjpSCAAAIIIJBWgbwgyK689ynvlpfZl9bjZ8PBHn744V1Tp04t1lPJC6p51zAvIBa3LXldqXfldYP29snLRPT2yQtgesvzgpTecj3QebrXy//8z//sygukhazPC0zu0nK3zQ033BCyPi9r0VuXl10Zss49yQvSedvkZXO6xbvyZifflRegtOvyum/vyusi763Tg99//31XXjd2b98pU6aErM8Ljnrr1L68DNhdeUHSXTreU089tSsvMGi3f+GFF7ztnnjiiZA69CQvs9Vbf8011+RbH2tB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JCABCUhAAhKQgAQkIAEJSEAC/YKAAmi/uM0uUgISkIAEJCABCUhAAhKQgAQkIAEJSEAC/ZOAAmj/vO+uWgISkIAEJCABCUhAAhKQgAQkIAEJSEAC/YKAAmi/uM0uUgISkIAEJCABCUhAAhKQgAQkIAEJSEAC/ZOAVeD753131RKQgAQkIAEJSEACEpBAGQKvvvpquOOOO8Lf/va3MGHChPDll1+GAQMGhFlnnTUsuuiiYfXVVw8zzjhjmSs9JAEJSEACEpBAbyWgANpb74zzkoAEOkzgiy++COPHjw//+c9/wnTTTRcGDx4cJp988g734wUSkIAEJCABCfQvAi0tLWH06NHhlFNOCY888kjVxU800URhzTXXDAceeGD42c9+VrWtJyUgAQlIQAIS6B0EFEB7x31wFt1I4PPPPw8jR47MR9xvv/3CiiuumO+3t7HVVluFTz75JHz/+98P119/fXvNu3z+3XffDUOGDGnTz9ixY8OZZ54Zj++8885h3XXXbdOm2Q/897//DWPGjAmPPvpowFvj7bffbrXkiSeeOCy88MLRU2OttdYK3/te38n6wdo++uijMMMMM7RakzsSkIAEJCABCdSXwGuvvRb4fPfggw/W1DFi6V/+8pf42mijjcKFF14Yv3it6WIbSUACEpCABCTQIwT6jhrQI3gctBkJ8KH1448/zl8nn3xyFDRrXWvx2lqv6Uw7wq3OO++8sOuuu5a9/Ouvv87XwHZ/s3feeSdsv/324aSTTgp33313G/ETHniCPvbYY+GEE04IO+20Uwxj6wucnn766bDDDjuEcePG9YXpOkcJSEACEpBAnyVw5513hiWWWKJm8bN0oddee21Ycsklw4svvlh6yn0JSEACEpCABHoRAT1Ae9HNcCo9QwBB89RTTw1HHXVUz0ygwqi77757ePnll8PUU09doUX/Pfyvf/0r7LPPPgERNNnSSy8d5pxzzjBo0KCAyP2Pf/wjPP/88+GZZ56JTV566aWw7777hnPOOSf88Ic/TJf1uvf77rsvHHTQQb1uXk5IAhKQgAQk0GwEbrvttrDOOusEoi66YkShLLPMMuHhhx8Oc889d1e68loJSEACEpCABBpEQAG0QWDttm8R4Nv/lVdeOay00kq9ZuKffvppnAt5prTWBK688spc/JxtttnCcccdF2aZZZbWjb7bo4DBEUccEcPJEUzxqj3kkEPKtu0NB//973/n0/De5yjckIAEJCCBXkiA31npi1q8KNvLndmblsCXzD//+c+7LH6mNfHl7HrrrRcZTDvttOmw7xKQgAQkIAEJ9BIChsD3khvhNHqeAEnv+fCq9W4CeHfedNNNcZIIhCeeeGJF8ZNGCy20UDj66KPz/J/kTv3www979yKdnQQkIAEJSEACDSOAxyfiJznd62mvvPJK2G233erZpX1JQAISkIAEJFAnAgqgdQJpN32TwI9+9KM8VAnxk1B4rXcT+OCDDwLV3rE55pgjcA/bswUXXDDMP//8sRl/9LzwwgvtXeJ5CUhAAhKQgASalMAll1wSiBBphP3xj38MDz30UCO6tk8JSEACEpCABLpAwBD4LsDz0r5PgCrhBx98cPjFL34RC+bcddddgRfh8F21119/Pdx7773h73//e3jzzTdjyPZ0000XZp555vDjH/84rLrqqmG++eZrMwyV3b/66qvcK4FiSBT6wbhus802a3NNOvDEE0+Ee+65JybiJ9x7nnnmCQsssEBMzv+Tn/wkNSv7jjBILiy8F9KcmUea79ChQ8MGG2wQJp100rLXE1pOKBzjUJEeQfmOO+4Izz77bHx9//vfj2LzT3/60zB8+PAwySSTlO2nvYP/+9//8iaff/55vt3eBlXgf/CDH4RpppkmDBgwoGpzGFBYiXfyejFX1s+L8LZyOURZ+wUXXBDS/NZcc82A8FrOqFbPH0gYXHj+GItUDG+99VZ+ye233x6oTIttuummbTxduT/XX399zHX6xhtvxKJYs846a8yFuuiii1ZN6UChpb/+9a+xb8bn2aRg1KOPPhrvF88AaQXIZcZa5p133tjWHxKQgAQkIIG+TiB9rmrUOn7729+G6667rlHd268EJCABCUhAAp0goADaCWhe0lwEKJyz7bbbhosuuiguDC/QhRdeOApCnVkpQuJVV10VLr744vDtt9+26gKRDGEJGz16dNhkk03CLrvsEhBik/35z38On332WdoN33zzTR7yzbzKCaCMeeGFF4bf//73+XVskIyf16hRo8KRRx5ZUdhFPCOPZrkKpgiZiJi33nprFNsOPfTQKHK2GijbQTzFOxNRDvGNgkMIfUWbMGFCFJhpS1j6kCFDiqdr2p5hhhnCVFNNFRA/33vvvTBmzJgouLZ38bBhwwKvaoZ4ecUVVwQ8Q2BaNARlxOVrrrkm7L///mGFFVYono7i6hRTTJELm+RB435wrGhUpqfgVmK95ZZbxvxp48ePz+9zak8Bp1TEabXVVmslgCKWnn322eH9999PzeM7wiYvhNFll102zrWcYMtzmFIJjBw5Mm6nfwOpQ+596ouQPsIFNQlIQAISkEBfJoB3Jl86NtJuvvnm+KUkXy5qEpCABCQgAQn0DgL/X3XpHfNxFhLoEQJbbLFFGDduXKBSeAqFP+aYYzo1FwruIJRheByuscYaYaaZZgqTTTZZFOweeOCB6NWH2PanP/0petjRJhnVSL/++usoKOL9icfl2muvHU/jAVrOEOySaIqgu/jii0cBD48+xE3GQnRDjKNaetEQ4hC3kliLyMr1AwcOjB6dXI8nIufxTjz22GOjSPi975XPoIHoueuuu8aiQ3iPkoMTr0uENELPERYZE0H2/PPPL06lpm3GXX/99aPIzAW/+c1vorcm4hxjVfJQraXzAw44IA9box9ER7w+EaGZO88Izwdew7vvvnv0yiz2u+OOO8biB3htIs6yvr333rvYJArjSfwkLH+HHXaI5wnnx8MWYfLJJ5+Mx/CW5ThGdftk999/fyzslPbxul1kkUUC4jBj84yR55T3rbfeOgq6gwcPTs3bvJ9zzjlxbXijLrXUUmH22WePwioexR999FG8Z3gm413KeU0CEpCABCTQVwmk6IdGzp8vO4koGjFiRCOHsW8JSEACEpCABDpAQAG0A7Bs2rwEUig8YhQfWu/Owp/xsFtllVU6tGjEqyR+Ej5MWDgiaNEQyfC0S96aV199dRRJU5s99tgjbuK5iQCKaLnffvul02XfET8J60akmmuuufI2rIUwL7xKER7/8Ic/tBFAEWGT+InX5oYbbphfnzbgsvPOO0cxDBH0wQcfDMstt1w63er9+eefj/s77bRTwLOw6N3KmhAZmQvtEJwJ0++oMR9EQq7H8ObghWiJEIiAyzviZSWhtnRMRN6UswsRGQG8VHB+6qmnwmGHHRZFUO4haQyKwiSh8gjghJQjml577bXxGUqh8MyZCvYY9wsROPFZbLHFAi88bZMAigBb+scTBRso/IQhWCI2Ex5fNDyNEaoRQD/99NNwxhlnhOOPP77YpNU2wi6iJyI578l4fn71q18FhFCMcL5aBVAEY3hVsueeey4K43gM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kjDppJOG73//+z0xLceUgAQkIAEJ9FsCCqD99ta7cAlIQAISkIAEJCABCUigXgRaWlrC559/Hl9fffVVFEDJk8pxLAmgiKBTTDFFmGqqqcKUU05Zr+HtRwISkIAEJCCBKgQUQKvA8ZQEJCABCUhAAhKQgAQkIIH2CHz55Zfhk08+CZ999llge6KJJoqenpNNNlkUPrkeb1AE0S+++CJ8+umnUfwcMGBAmHbaaWPb9sbwvAQkIAEJSEACnSegANp5dl7ZgwT4ALnddtuFf/3rX3EWSy65ZDj00EN7cEbVh957773D+PHjY7jT9ddfX71xk58lHGzjjTeuukr+aJh44okDfzT88Ic/DPPPP39Ye+21w6yzzlr1Ok92nsCmm24a/2AbMmRIOP/881t1VO1cq4buSEACEpCABPohAYRPPpMiahLajqDZXog7n4cQSxFDCZefbrrp9Abth8+OS5aABCQgge4joADafawdqY4EHnnkkfD666/nPd5+++1h5513DtNPP31+rDdt8MH4448/bvfDcG+acyPnAota7a233gpPPfVUuPLKK6MQetRRR4XBgwfXerntaiTAPcFjpVwoXrVzNXZvMwlIQAISkEBTEuB35D//+c8Y9j711FPX7MlJHtCBAwfG370fffRR9AzlS188QjUJSEACEpCABOpPQAG0/kztsRsIjBkzJo7CB02+bccj9Oabbw7bb799N4zuEPUkMM8885TtjhCxr7/+Orz//vsxhxaNnnvuuXDQQQeFc845J0w++eRlr/OgBCQgAQlIQAIS6A4C//73v+MX3Hhx4sHZntdnuTmRC5Tr+LKcHKFEwPgZpxwpj0lAAhKQgAS6RkABtGv8vLoHCBBidN9998WR119//XDnnXeGd999NwqgW2+9dfzg2APTcshOErjooouqXokIeu6554Zrr702tnvllVfCySef3KtTHlRdkCclIAEJSEACEujzBPh8gvcnYeydFT8TBLxBf/CDH8QwegTQGWaYoVNiaurPdwlIQAISkIAE2hL4XttDHpFA7ybw17/+NXp8MsullloqrLjiinHCH374YXjggQd69+SdXYcJkAeUHKq8kt17773hf//7X9r1XQISkIAEJCCBHiCAWEdeb16rrrpqD8yg54bEY5MoJELWO+P5WTpzPu8ghKZ+S8+7LwEJSEACEpBA1wgogHaN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Qr9+/cLUU08dllhiiTBy5Mjw9ttv/2+AwtbQoUPjOHPOOWdhr5uNJHDDDTeUHe63v/1tfg2TCF22YTfsrDTHbji1p+hFBBRAe9HFcqoSkIAEJCABCUhAAhKQgAQkIIG+QABR7amnngojRowI//d//xcuu+yyvrDsHrPGv/3tb2H99dcPG264YY+ZU+lEesMcS+fs54lHwBD4icfeM0tAAhKQgAQkIAEJSEACEpCABPosgeOPPz56ehYBtLS0xLD29957L1x++eXh1VdfDd98803Ybrvtwvzzzx+WXnrpYnO3u4jAcccdF/CsnHTSSbvoDJ0ftjfMsfOrdIRGEVAAbRRJx5GABCQgAQlIQAISkIAEJCABCUigZgK//vWvwwwzzFCxPd6fu+22W7joootivsk99tgjPPTQQxXbe0ACEpBAJQKGwFci434JSEACEpCABCQgAQlIoCIBipiccsop8XXllVdWbOcBCUhAAh0lMN1004Wzzjor5gRljMcffzz861//6uhw9pOABPowAT1A+/DFd+kSkIAEJCABCUhAAhLoKAGq/+KNhQ0YMCBsuummHR3KfhKQgAQqEqAa/Oqrrx6uv/76WD3+kUceCQMHDqzYvvTAt99+G1544YX4ev7558Nbb70V5p133rDggguGH//4x2G++eYr7RJuv/32QD8E2GWWWabN8eKOp59+Ovzzn/+MlevLzeudd94Jjz76aHjyySfDBx98EM/Zv3//8KMf/ahilXvm+cYbbwQq2//kJz8J//jHP8LVV18di0Etu+yyYfDgwa1C05944onw4IMPhpdffjnO44c//GHgxTkmm6w+2efvf/97HIfzY6QkuPXWW+P23HPPHRZZZJG4Xe6fZ555Jjz88MOBd/iusMIKYbHFFgvf+U5137sPP/wwPPvss4F185pyyiljf8b46U9/Gj8Xz9eZORbHcbtvEajvJ6FvsXG1EpCABCQgAQlIQAISkIAEJCABCUxkAnPNNVc+g3o8QF966aWwzTbbhPvvvz/vX9wgv+Wee+4ZDjvssNzLlONHHnlkuO2226LwRgV6KtOXM0TSQYMGRVGV6vZFAZS8pYxz6KGHhn//+99tuq+11lph9OjRoVwF+5NPPjmcfvrpYbXVVotzo+2ECRPyMYYPHx6OOeaYKLz+8pe/jIJtfrCwgXh68cUXh0UXXbSwt/rm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ZzWeRQISkIAE+gIBFZa+cJV74RpPOeWUXPycc845w8knnxwLHlVaCm1GjhwZdt999/Dqq6/GcBqqkuIN2tts2WWX7W1TnijznX322QMvTQISkIAEJCABCUigewl88sknMew9VXTv7NkJhyf9E6H0VIivlkO0s+eyvwQkIAEJ9E0C/ynJ1zfX7qp7KAEKHl177bX57PDyo9p7e8a3z3iJJvvLX/6S54hM+3yXgAQkIAEJSEACEpCABDpOAKGS3J28U/CoUUY4PPn/J0yYEFNbNWpcx5GABCQgAQlAQA9Q74MeR+CWW27J57TyyiuHhRZaKP/c3kb//v3DoosuGh+efvzjH8dvkctVL//mm28C53nppZcCuUbJM0rY/dxzzx3+7//+Lyy44IJhgw02qCuc58EHHwz33HNPnOLAgQNDe56czz77bLjpppti++WXXz6ssMIKcfuss87Kv1HfY489Wi35jDPOCJ9++mn44Q9/GNZdd91YbZNq6M8880x8TTrppJHXj370o7DhhhuGySefvFX/nvaB8Kkbb7wxPPfcc+Hll1+OOV3nmWeeQEj7T3/607DSSitVnDJr/vOf/xyPr7baamGppZbK2z711FMBARzbcccdA/liuT6PPPJIePzxxwNeC9wrhNFzj6WHdwpq3XnnneHRRx+N7ShqxHxWXXXVsP7668fcVPlJqmxQGf6hhx4KXGOuCddrscUWi9cMr4ZyRkV7Cjtxv1LVvpLB6ZprromHi/dNao/3NH88cP+vvfbakS/zoVDY97///XhfsB7ybCXjS4crr7wyPP/88+Gf//xnzLFLDl3YwAget99+e2z+61//OlZqTX19l4AEJCABCUigbxGgcjuv9PzUqNUT9o4nKGPzLIMgqklAAhKQgAQaRUABtFEkHachBMj/c+utt+ZjIcDUa6effnoUnSr1Qwg64ogjothT2uajjz6KQiLCGiLTgQceGMWr0nblPpOv6LrrrouHEJTaE0CvuOKKWLyJDuutt14+5NixY6MQyENfqQCKaPvuu+9GsfYnP/lJGDZsWHjjjTfyvmy8+eabcVzaHnrooVHMatWgh3zgOjA/ROiikceVF/wRNvfdd9+Ad2+pkR828Z5vvvlaCaCI2unYkCFDwvnnnx/GjBnTaghEQV4Ie8ccc0xA/OS+KN5/dBg/fnwUTim0dfzxx1fNSYWA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TtjLFFNMEaaZZpow55xzhlVXXTUMHDgwTDnllGX7jR07NvzhD3+Ix/h2eN111y3brr2d22+/fRg/fnyYdtppw6WXXtqq+TXXXBNGjx4d9w0bNiysssoqrY5314djjz023HPPPRVPN8kkk4SpppoqTD/99GGOOeYIAwYMiPxYU0+0b775Jrz//vth1llnbTO99JA7wwwzhIsuuqjN8WbZcdttt4WTTjopLod7cPDgwWWX9vbbb8drWvagOyUgAQlIQAISkEAvIPCnP/0pDBkyJHz++ed1zZYweZ7Fee7HY3TJJZesq7+NJSABCUigeQgogDbPtWzqlfzrX/8KH374Yc1rfPnll8Pdd98dRcmtt946bL755m36fvnll/mYbHfUPv744zjO119/3WaI4jm++uqrNse7a8eECRPytVY751tvvRWef/75cMcdd4TLL788IJwiJvcke+qpp+I3+uuvv37YeOON20yNHFDcK99++22bY820g/sp/UyUu3/5meGLg5tvvjnwR4MmAQlIQAISaDSBqaeeOtx4441xWL541CTQFQROPPHEsPfee3dq6DfeeCOssMIK4eqrrw6DBg3q1Fh2loAEJCCB3klAAbR3Xrc+PeuZZ545JjgvhcA3vIhCn3zySR4S89lnn4VTTz010GfNNdcs7dInP88+++yh9I+Uf//73wERDa9KhDOM0KH/Z+8+wNwqzoYND8ZgqgFTTTWmNwOm11BDDb2GhBJTDIYQTPNHCRgMofyhhxKI6SaEFkroMaZjE3oxJWBqAGNDEqpNgJ9nvoy+s1pJq9VqtVrpmeuS1U6Zcx/BHr165x0yY0877bSw3HLL1YXVI488Ev7nf/6nLvpS7504+OCDw2uvvRazeuu9r/ZPAQUUUKB7CvTs2TNsueWW3bPz9rpbCNx6660dDn6mA+Uad+eddw5PPPFE3Vzbpr55r4ACCijQ+QIGQDvf2D1UWYChvgxzLtXIEjz55JPDhx9+GBcjiLfEEkuEfv36lVqtovcOP/zw8PXXXwe+BHSHht0WW2xRsKsEkV9++eVw0kknBbJByaY84YQTYjZoPRzfZ599lus3w/abuTGEi884bfHFF29FwQ8BtGZ3agXjCwoooIACCijQLQSY3Z1h79VsJEfwXYLvCpTNsimggAIKNI+AkyA1z7luqiMdMGBALI5OPUsamaGPPfZY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BRRQQAEFFFBAAQUUUEABBRpWoGfDHpkHpoACCiiggAIKKKCAAp0mMGXKlHD00UfH7S+88MJh6NChnbYvN6yAAgoooIACCnREwABoR/RcVwEFFFBAAQUUUECBJhWYOnVqOPfcc+PRr7baagZAm/Rz4GEroIACCijQHQQcAt8dzpJ9VEABBRRQQAEFFFBAAQUUUEABBRRQQIGKBAyAVsTmSgoooIACCiiggAIKKKCAAgoooIACCijQHQQMgHaHs2QfFVBAAQUUUEABBRRQQAEFFFBAAQUUUKAiAQOgFbG5kgIKKKCAAgoooIACCiiggAIKKKCAAgp0BwEDoN3hLNlHBRRQQAEFFFBAAQUUUEABBRRQQAEFFKhIwABoRWyupIACCiiggAIKKKCAAgoooIACCiiggALdQcAAaHc4S/ZRAQUUUEABBRRQQAEFFFBAAQUUUEABBSoSMABaEZsrKaCAAgoooIACCiiggAIKKKCAAgoooEB3EDAA2h3Okn1UQAEFFFBAAQUUUEABBRRQQAEFFFBAgYoEela0lispoIACCiiggAIKKKBAUwv06NEjDBgwIBosscQSTW3hwSuggAIKKKBAfQsYAK3v82PvFFBAAQUUUEABBRSoS4GZZ545PPfcc3XZNzulgAIKKKCAAgpkBRwCn9XwsQIKKKCAAgoooIACCiiggAIKKKCAAgo0lIAB0IY6nR6MAgoooIACCiiggAIKKKCAAgoooIACCmQFDIBmNXysgAIKKKCAAgoooIACCiiggAIKKKCAAg0lYAC0oU6nB6OAAgoooIACCiiggAIKKKCAAgoooIACWQEDoFkNHyuggAIKKKCAAgoooIACCiiggAIKKKBAQwkYAG2o0+nBKKCAAgoooIACCiiggAIKKKCAAgoooEBWwABoVsPHCiiggAIKKKCAAgoooIACCiiggAIKKNBQAgZAG+p0ejAKKKCAAgoooIACCiiggAIKKKCAAgookBUwAJrV8LECCiiggAIKKKCAAgoooIACCiiggAIKNJSAAdCGOp0ejAIKKKCAAgoooIACCiiggAIKKKCAAgpkBQyAZjV8rIACCiiggAIKKKCAAmUJfPnll2GVVVaJtz333LOsdVxIAQUUUEABBRToCoGeXbFT96mAAgoooIACCiiggALdW+Dbb78NTz/9dDyIaaedtnsfjL1XQAEFFFBAgYYWMAO0oU+vB6eAAgoooIACCiiggAIKKKCAAgoooEBzCxgAbe7z79EroIACCiiggAIKKKCAAgoooIACCijQ0AIGQBv69HpwCiiggAIKKKCAAgoooIACCiiggAIKNLeAAdDmPv8evQIKKKCAAgoooIACCiiggAIKKKCAAg0tYAC0oU+vB6eAAgoooIACCiiggAIKKKCAAgoooEBzCxgAbe7z79EroIACCiiggAIKKKCAAgoooIACCijQ0AIGQBv69HpwCiiggAIKKKCAAgoooIACCiiggAIKNLeAAdDmPv8evQIKKKCAAgoooIACCiiggAIKKKCAAg0tYAC0oU+vB6eAAgoooIACCiiggAIKKKCAAgoooEBzC/Rs7sP36BVQQAEFFFBAAQUUUKASgemnnz4MGTIkrrrIIotUsgnXUUABBRRQQAEFaiJgALQmzO5EAQUUUEABBRRQQIHGEujVq1e44IILGuugPBoFFFBAAQUUaEgBh8A35Gn1oBRQQAEFFFBAAQUUUEABBRRQQAEFFFAAAQOgfg4UUEABBRRQQAEFFFBAAQUUUEABBRRQoGEFDIA27Kn1wBRQQAEFFFBAAQUUUEABBRRQQAEFFFDAGqB+BhRQQAEFFFBAAQUUUEABBRSoU4FvvvkmTJo0KXz++efh+++/DzPMMEOYa665wkwzzVSnPbZbCiigQP0JGACtv3NijxRQQAEFFFBAAQUUUEABBZpY4KuvvgpPPvlkeO6558Jbb70V/v3vf4epU6fGAOh0000XZpxxxrDggguG5ZZbLqy++uph3nnnbWItD10BBRRoW8AAaNtGLqGAAgoooIACCiiggAIKKKBApwv85z//CaNHj443Ap8fffRRDHzOPPPMYfrppw/TTDNNYJkvvvgiPPvss2Hs2LHhnnvuCWussUbYZpttwmyzzdbpfXQHCiigQHcUMADaHc+afW4IAX7B3WmnnUoeCxc4PXv2DL169Qpzzjln/IV3iy22CIssskjJ9erlzVtuuSVcfvnlsTtDhw4NG2ywQbu6xgXffvvt12KdLbfcMgwePLjFa209ue666wK31FZaaaVw0kknpadVud9rr73Cp59+GuaYY45w5ZVXVmWb1djIBx98EPr27dtqU/fdd184//zz4+sHHHBA2GqrrVot4wsKKKCAAgoooIACtRP417/+FUaOHBn+9re/hQkTJsTr/yWXXDLMOuusBTsxZcqUGCB9+umnw7vvvhvGjx8f9t5778A6NgUUUECBlgIGQFt6+EyBmgoQMCu3cVHDr7zXXnttDIQOHz687oe6cFGWjpGAb3sbNY7S+mndu+++O+y///6hR4/y53C78847W2zns88+S5ur2v0///nPuA+C1vXQGDZFIBavP//5z626lD03PLYpoIACCiiggAIKdJ3AP/7xj3DJJZeEp556Knz99deBH+zbqvFJksTCCy8c5p9//kC26GOPPRbrhP70pz8Na665ZtcdjHtWQAEF6lDAAGgdnhS71JwCSy21VMEDZ4gLAaqJEyfG4S8s9NJLL4X/+Z//CRdeeGEsgl5wxQZ9cfLkyeGFF14IK664YllH+Oabb8YLwrIWbqCFDj744PDaa6+F3r17N9BReSgKKKCAAgoooEDjCfDj/KWXXhoDmAQ9uc5tz4/qjBhbfPHFYzboM888E+uEMhR+mWWWaTwsj0gBBRSoUMAAaIVwrqZAtQUuu+yykpskCHrRRReFm266KS73+uuvh//3//5fOO6440qu1yhvMtslv4bTqItUbgD0r3/9a6MQtOs4KJRPa8/Fc7t24MIKKKCAAgr8IPDll19GB0Zm8LfapoAC7RNgxNMVV1wRMz/J6FxiiSXat4HM0kyExH+LJAswEujII4+Mw+gzi/hQAQUUaFqB8seQNi2RB65AfQhwQfSrX/0q3lKPHnroofDdd9+lpw19T91ThvfQHnzwwbKPOwVAV1hhhYb28eAUUEABBRSotQBZa0zMwm399dev9e7dnwINIcCwdWp+fv7551Wp3Tn33HOHPn36hBdffDHcfPPNDWHkQSiggALVEDAAWg1Ft6FADQU23XTTXP1L6jwyxLtZ2sYbbxwPlWHwzz//fJuH/corr4T3338/LrfJJpu0ubwLKKCAAgoooIACCihQK4Fvv/02MDEl1/MMYW9PjftSfezXr1+gPj31RN9+++1Si/qeAgoo0DQCDoFvmlPtgTaKADUdl1122firLsdEkI8LpvzGBdW9994bGCr/zjvvxIsfhpAvuOCCYaGFForDa7bddtsw/fTT568af4V+4IEH4uvMDs7+ijWG11CflMYwm85sG220Ubj66qvjLhgGT3H4Uu3++++Pb88zzzxh+eWXL7Voi/eosXrHHXeEV199NdZSohYTbgMGDAi77LJLzHRpsUKBJxSyv/XWW2O9Vi48F1100ei43nrrxUmsCqzS6iXO3ZgxY+I5/Pvf/x6mm266eN4YGrX11lsXHNLEzO6cZ2YRpREkP/PMM+Njzvtuu+0WHxf6hxlEya7lM0X/qUuL2+qrr17yM1BoW76mgAIKKKCAAgooUFqALE1me+das5p12wmkMjnSe++9F5544onASCqbAgoo0OwCBkCb/RPg8XdLASZGSq3QxRKzQJ5yyikxkJWWS/f8GszF1l133RVuueWWWEM0P8BJsO22226Lq1BrM//9tC3uCdCxPK2zA6AEermYI6BLoI6SAMV+KaeeUgrikv1ZbLnY8f/+Qx0z3CgtkG3U0/zwww9jYPiGG26IE1ARyCzWKD5//PHH54KQLMdr3K677ro4iz2zcxarz0lZg2uuuSaMHDkyEMjONgKTHPuNN94YjjrqqJDfD2a8ZwhValOnTs2dSwLGhQKg7IPC+1dddVVaLd6PHTs2cLv88svDiSeeGDbccMMW7/tEAQUUUEABBRRQoHIBrsk//vjj0Ldv38o3UmRNEgD4TsA++AG/2HVnkdV9WQEFFGg4AQOgDXdKPaBGF/jiiy/iL8XpOMkszDay9w466KDwzTffxJcJeq266qqxFhC1urgQIjOS9999990wYsSIGGwrJ0CY3U9XPWYYPAG5Tz75JDz33HNh5ZVXLtgVir+nzNRyhr/jMWTIkFwwd8YZZwwbbLBBrMVEMPXxxx8PTz75ZMCQYCCZloUCw2ReHnbYYTFwSQblWmutFeaYY4548UnWKsHGiy++OA7NJ4BZqB199NHx13reI0OX/pP1STBz/Pjx4eGHH47Dmo455pjAbO+77rprbjNbbrllYMIssn/J/mT9LbbYIr5PBmihRqA1BU0XW2yx+Hmhn9Sj4vNCQHb48OEBkzXXXLPQJnxNAQUUUEABBRRQoJ0CXGeRnLDkkku2c822F2dmeDJLP/roo3ibb7752l7JJRRQQIEGFjAA2sAn10NrPAECcWeffXYMcHF0FDlfYIEFWhzo9ddfnwt+Dh06NGy//fYt3ufJoEGDwgEHHBCopUkQlODeOuus02q5enyBLEQCoDQyPIsFQNPwdzJGCR6mLNVix8TQ+rQMQcCTTz45lgpIy++8887hj3/8Y/jd734XA5G//e1vwx/+8If0du4+ZWwSlDzwwAPDtNNOG9/bYYcdwjbbbBMzbgmS3n777YHX8ssX0G+GKtEK9YPXn3322ZhhygXzZZddFggKzzXXXLwVDjnkkHhP5iYBUIKWRxxxRHyt2D8EP2eZZZYY1M32h0xjhs+TVcpxjRo1quwAKEHVs846q9gu4/bYF4FsbjYFFFBAAQUUUKCZBLjOIvuTJASClZ3RmKCMEU7sxwBoZwi7TQUU6E4CToLUnc6WfW1oAS6CCt0IchGYI6PvF7/4RbjnnntyDvlDwCdNmpQb9k12YqHgJyvPO++8gYBeainwl57X8z0Zrynrtdhs8ATrssPf2zoeMiYJ7tEYHkS2Y6FsSYaPp7qjr732WtGi8mTckpmZgp9p/6xLUDQ1goTZRu3Oiy66KL5E5uZJJ51UsB9shyH2tOw68YUK/uGi+ze/+U2rYCyvkxXbq1evuFWyagnCl9P4LJNVW+xGVml3yTou53hdRgEFFFBAAQUUaI8AP1QzuqdQPf72bKfUstSP55qMfdkUUECBZhfonJ+aml3V41egAoH21lfcbLPNwvrrr99iT2T7kXXHzOdkPpZq2QBfd7soIuORzMdiw+CptUngmJZmji9lwVBvgqBp+VKF4nffffcYgMU3BQbzt73vvvvmv5R7znkjg5XhSAxl51d5hifRHn300dyw/c0337zkOWRiImb4ZOgUWaPDhg2LkyTldtSOBwMHDswFdvNXo8YsnxWC5FxA01+yCWwKKKCAAgoooIACCiiggAIKdBcBA6Dd5UzZTwX+K8CQd4Y5FxqyTmCKYBa3Yo0gFnVC0zBrlkvDtoutU2+vMxs8AVBaoWHwafg79ZTaCgSzDYaUp1ZsSH16f+211w7cirVZZ5215CzvZFUysRQZvTRm50x1nyhHkNoKK6yQHha9J8uXACjZlB988EFZx1poY9QqLdUoop+yhBkuX04AlKBunz59im6WQCrbKjejtOiGfEMBBRRQQAEFFOiGAiQukP1JFmhnNUbisJ/0Y3tn7cftKqCAAt1BwABodzhL9rEpBPJn804HTQYeM0MybJ17gl4MZymnvfrqq4Gh2gTZCK5x4zFB0GzrbkEoMhKp6/n666+HMT/MQp8tBcCFXprFvZzJj3DI1qDEuSOtnPpKBBRT45ykACjnJjVqjV5yySXpacF7JsRKje2UE+xNy2fv+YyVatmh/OV+Vn72s58FbsUatWypUWtTQAEFFFBAAQWaUYAfxbkm5NqK69dyr+/bY8WPzVybZq8927O+yyqggAKNJGAAtJHOpsfSrQVOPfXUqvWfOqHXXntti9nisxsnoDX//PPHgGj29e70mKHtBEA//fTTFrPBjxs3Ls7UzrGQKVpOS8PlWZaJpTrSylk/TVjEfihKn1o2AJrtU3q/1P0//vGPUm+XfK8za0+V3LFvKqCAAgoooIACTSzQv3//MNtss8Xr2WoHKQmqUuaKH/erve0mPmUeugIKdGMBA6Dd+OTZdQUKCVx55ZW54eG8z0QzDJtnxm1mFeeeSXQY9k3dSBoT/xRrbWX8ddXweWqmXnzxxbHbo0ePzs0G/9e//jW+NmDAgHjBV+y4sq9nMyD5pbwjrZx6qp999lluF9kLUoYopbbPPvvEC+L0vK37cobMt7UN31dAAQUUUKA9Avzd+uMf/xhXKVX2pD3bdFkFmkmA6zcClNTvz14TVsOAevP86O41YjU03YYCCjSCgAHQRjiLHoMC/xVgMp9UG5MszwMOOCD85Cc/CbPMMksrI2owplYqyJk/XD6tk+6zw7DTa7W4J4N1mWWWCePHjw/MBn/YYYfF4UOPPPJI3H25w99ZeMEFF8x1OZuRmXsx8wArgr4MWyrU/vWvfxV6ucVrH374Ye45wenUGNrPOaRR6mDNNddMb3mvgAIKKKBA3Qnwt3DXXXetu37ZIQW6iwDXsmSBvvHGG3ECz9lnn70qXef6nfJI1J1fa621qrJNN6KAAgp0d4Ee3f0A7L8CCvyfALOIp0YGITOWFwp+sgy/CqeWn8WZrfmYZkdPy2bveS9bPzP7Xi0epyHuaRg8EzuRgUn/N9hgg7K7kA1CZoehF9rAyy+/HGeW32mnncJ1113XahF+wf/6669bvZ59YcKECbmn2X0TAE2N+q1tNeq7vvTSS/EclApit7Ud31dAAQUUUEABBRSovQAjtTbbbLM4SosJJ/OvySvtEZNkkv25+uqrt/ihv9LtuZ4CCijQCAIGQBvhLHoMCvxXgOBcaquuump62OqemkBMHpRa/sVWdpZvfj0u1h577LFWEyoVW7YzXmcYfGpkgTIUnsaxzzHHHOmtNu+XXnrp3DK33nprzCTNvZD3gCArs64TQM4GL9NiBIUffvjh9LTV/TPPPBPSeWL29WyAmqzP1G655ZaQzdJNr6d79nPEEUeEwYMHh2233TbOBp/e454Lahp9tSmggAIKKKCAAgrUpwBByjXWWCNeu5bzA3hbR8FII0YkUQ5qu+22a2tx31dAAQWaRsAAaNOcag+0GQSyE/AwlKZQI9h54oknhuwF1tSpU1ssygzrqREQfPvtt9PT3D2/Up922mm5513xgJpJqa4RAdDHH388doMJktrT+vXrF7bYYou4CkPgR40aVXB1Jhq6/vrr43szzDBD/FW90ILnnXdeQTNqfzK7e2pDhgxJD+P9csstF1JQd/LkyeH8888vmglw4YUXxoL5rEjAd9FFF22xrVRPlCBqqSzeFiv5RAEFFFBAAQUUUKDmAnvuuWdYbbXV4g/XlHeq9AdsrlW5bmfo+9577x2qNaS+5iDuUAEFFOgEAQOgnYDqJhXoKoGBAwfmdn3RRReFG264IaTZwZlV/KGHHgrHHHNMvM8t+MOD/LqVBECpSUQjW/TYY48NN954Y2B4OJMnXXrppWHo0KExQ3HOOeeMy3XVP2kY/KRJk+Lwd2Y0X3/99dvdnf333z+koCF1VE855ZTAEHNqKDExEpMrHXzwwXEfbPzwww8PBEELNax/9atfhXvuuScQyCQIOXbs2FiTNQWe11tvvdzETdltEBTt1atXfOmOO+4IhxxySCBrlFqrBK8JbA8fPjzcfPPNcRmWpe/5LWXAss7RRx8dA7d/+ctf8hfzuQIKKKCAAgoooEAXC8w000xh3333DVwfTjfddPHaLztpZlvdI5nhlVdeCWR/8sP4XnvtFYfVt7We7yuggALNJFB4Fo9mEvBYFWggAYa5MAz8ueeei0E7MhG5EaQkEJcaGY9HHnlkOO6442IWIRdM/NKchk2zHEE1Ap8E7/gl+dxzz423tA3umWSJmptXXXVV9uWaPqbWJ8eYamAycVB2CH+5naFO0qmnnhpGjBgRre6+++7AjXqi+SUCdtlll7D55psX3DS/3s8222zh/vvvj9tiIVyzv+SvvfbaYdiwYQXXJ6v19NNPj32ZOHFieOGFF8Ivf/nLuGx+X3hOf1OwOrtBLqDThEpPPfVU4EYWwFZbbZVdzMcKKKCAAgoooIACdSDALPD8gH7FFVeEcePGxTrvvXv3Dn379o3XcNNMM02rXvIDOWWZCHyy3CqrrBKYB4BrfZsCCiigQEsBM0BbevhMgW4tQKDtjDPOCHvssUcgEzK1FPzs06dPDFpefvnlsS4QwToa2ZNkGWYbvx6PHDkyDqHJBkZZZpFFFokBvJ/97GfZVbrkMYFLhvmk1p7Z39M66Z5jJpi76aab5rJBs8FPLibPOuusmJWZ1sm/51f7448/Ps6KmwKxKfhJVuaBBx4YSwdwQVuscfF69dVXh2222SbMOuusucVSXzgfFMxnmWIzxe+www6B4VQpE5SNkJman+2b27gPFFBAAQUUUEABBbpUgGtHrhUHDRoUyyJx7f7OO+8E6u4//fTTMShKLXmSHSj9xHB5fhCnjuhuu+0WjjrqKIOfXXoG3bkCCtSzwDQ/ZE19X88dtG8KKFCZAJmbzEjOjWBb//79K64DRA1JhoP/+9//Dssvv3zMcKysV91nLf7XSPkAhpxzMUrQl2BrexqBzzfffDNuZ8kllwzzzTdfe1bPLUuAmu0wu/z8888fbwyVKreRScrngezSNMy/3HU7a7mzzz47llFI2z/nnHPCoYcemp56r4ACCiiggAIKNLUAw9opPUWwk+tAfsjmNa5Re/bsGSfSXHjhhQM15ElqsN5nU39cPHgFFChDwCHwZSC5iALdUYAAGbU8sxMaVXoc1JlMkw1Vuo3uth7DjJjlvdBM7+UeC5maiy++eLyVu06h5Qi8tjf4mt0OQ6psCiiggAIKKKCAAt1HgNFcZHZyI+hJAJS69PzAzg/alLgi+9OmgAIKKFCegAHQ8pxcSgEFFFBAAQUUUEABBRRQQIGaC/DDPGWNsqWNat4Jd6iAAgp0cwEDoN38BNp9BRRQQAEFFFBAAQW6QoDa1Ez6R2MCwGJ1qbuib+5TAQUUUEABBRTIChgAzWr4WAEFFFBAAQUUUEABBcoSoL705ptvHpelBiEzV9sUUEABBRRQQIF6FHAW+Ho8K/ZJAQUUUEABBRRQQAEFFFBAAQUUUEABBaoiYAC0KoxuRAEFFFBAAQUUUEABBRRQQAEFFFBAAQXqUcAAaD2eFfukgAIKKKCAAgoooIACCiiggAIKKKCAAlURMABaFUY3ooACCiiggAIKKKCAAgoooIACCiiggAL1KGAAtB7Pin1SQAEFFFBAAQUUUEABBRRQQAEFFFBAgaoIGACtCqMbUUABBRRQQAEFFFBAAQUUUEABBRRQQIF6FDAAWo9nxT4poIACCiiggAIKKKCAAgoooIACCiigQFUEDIBWhdGNKKCAAgoooIACCiiggAIKKKCAAgoooEA9ChgArcezYp8UUEABBRRQQAEFFFBAAQUUUEABBRRQoCoCBkCrwuhGFFBAAQUUUEABBRRQQAEFFFBAAQUUUKAeBXrWY6fskwIKKKCAAgoooIACCtS3wCyzzBLef//92Mnpppuuvjtr7xRQQAEFFFCgqQUMgDb16ffgFVBAAQUUUEABBRSoTGCaaaYJ888/f2Uru5YCCiiggAIKKFBDAYfA1xDbXSmggAIKKKCAAgoooIACCiiggAIKKKBAbQUMgNbW270poIACCiiggAIKKKCAAgoooIACCiigQA0FDIDWENtdKaCAAgoooIACCiiggAIKKKCAAgoooEBtBQyA1tbbvSmggAIKKKCAAgoooIACCiiggAIKKKBADQUMgNYQ210poIACCiiggAIKKKCAAgoooIACCiigQG0FDIDW1tu9KaCAAgoooIACCiiggAIKKKCAAgoooEANBQyA1hDbXSmggAIKKKCAAgoooIACCiiggAIKKKBAbQUMgNbW270poIACCiiggAIKKKCAAgoooIACCiigQA0FDIDWENtdKaCAAgoooIACCiiggAIKKKCAAgoooEBtBXrWdnfuTQEFFFBAAQUUUEABBRpBYMqUKWHEiBHxUBZYYIEwePDgRjgsj0EBBRRQQAEFGlDAAGgDnlQPSQEFFFBAAQUUUECBzhaYOnVqLgC62mqrGQDtbHC3r4ACCiiggAIVCzgEvmI6V1RAAQUUUEABBRRQQAEFFFBAAQUUUECBehcwAFrvZ8j+KaCAAgoooIACCiiggAIKKKCAAgoooEDFAgZAK6ZzRQUUUEABBRRQQAEFFFBAAQUUUEABBRSodwEDoPV+huyfAgoooIACCiiggAIKKKCAAgoooIACClQsYAC0YjpXVEABBRRQQAEFFFBAAQUUUEABBRRQQIF6FzAAWu9nyP4poIACCiiggAIKKKCAAgoooIACCiigQMUCBkArpnNFBRRQQAEFFFBAAQUUUEABBRRQQAEFFKh3AQOg9X6G7J8CCiiggAIKKKCAAgoooIACCiiggAIKVCxgALRiOldUQAEFFFBAAQUUUEABBRRQQAEFFFBAgXoX6FnvHbR/CiiggAIKKKCAAgooUH8CPXr0CP37948dW2CBBeqvg/ZIAQUUUEABBRT4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wXwHa6yxRkxqKXPTLqaAAjUUMAO0htjuSoF6EkhZp/XUp472hV9juVF/tFaNzFnqAqXZ2duzXy6YUvC5PevlL0vgmgsumwIKKKCAAgoooIACClRXgMQCRpFxI/GAZAuCoDSuw/lexXcQmwIK1LeAAdD6Pj/2TgEFFFBAAQUUUEABBRRQQAEF6kCAgOciiyxSBz2xCwoo0F6BymYAae9eXF4BBRRQQAEFFFBAAQUUUEABBRRQQAEFFOgCAQOgXYDuLhVQQAEFFFBAAQUUUEABBRRQQAEFFFCgNgIGQGvj7F4UUEABBRRQQAEFFFBAAQUUUEABBRRQoAsErAHaBejuUgEFFFBAAQUUUECB7i4wwwwzhMsuuyweBpOA2BRQQAEFFFBAgXoVMABar2fGfimggAIKKKCAAgooUMcC0003XRg0aFAd99CuKaCAAgoooIAC/yvgEHg/CQoooIACCiiggAIKKKCAAgoooIACCijQsAIGQBv21HpgCiiggAIKKKCAAgoooIACCiiggAIKKGAA1M+AAgoooIACCiiggAIKKKCAAgoooIACCjSsgAHQhj21HpgCCiiggAIKKKCAAgoooIACCiiggAIKGAD1M6CAAgoooIACCiiggAIKKKCAAgoooIACDStgALRhT60HpoACCiiggAIKKKCAAgoooIACCiiggAIGQP0MKKCAAgoooIACCiiggAIKKKCAAgoooEDDChgAbdhT64EpoIACCiiggAIKKKCAAgoooIACCiiggAFQPwMKKKCAAgoooIACCiiggAIKKKCAAgoo0LACPRv2yDwwBRRQQAEFFFBAAQUU6DSBb7/9NowdOzZuf5ZZZgkDBgzotH25YQUUUEABBRRQoCMCBkA7oue6CiiggAIKKKCAAgo0qcCXX34Z1llnnXj0q622Whg3blyTSnjYCiiggAIKKFDvAg6Br/czZP8UUEABBRRQQAEFFFBAAQUUUEABBRRQoGIBA6AV07miAgoooIACCiiggAIKKKCAAgoooIACCtS7gAHQej9D9k8BBRRQQAEFFFBAAQUUUEABBRRQQAEFKhYwAFoxnSsqoIACCiiggAIKKKCAAgoooIACCiigQL0LGACt9zNk/xRQQAEFFFBAAQUUUEABBRRQQAEFFFCgYgEDoBXTuaICCiiggAIKKKCAAgoooIACCiiggAIK1LuAAdB6P0P2TwEFFFBAAQUUUEABBRRQQAEFFFBAAQUqFjAAWjGdKyqggAIKKKCAAgoooIACCiiggAIKKKBAvQsYAK33M2T/FFBAAQUUUEABBRRQQAEFFFBAAQUUUKBiAQOgFdO5ogIKKKCAAgoooIACCiiggAIKKKCAAgrUu0DPeu+g/VNAAQUUUEABBRRQQIH6E5h55pnDK6+8Ejs244wz1l8H7ZECCiiggAIKKPBfAQOgfhQUUEABBRRQQAEFFFCg3QI9evQISy21VLvXcwUFFFBAAQUUUKDWAg6Br7W4+1NAAQUUUEABBRRQQAEFFFBAAQUUUECBmgkYAK0ZtTtSQAEFFFBAAQUUUEABBRRQQAEFFFBAgVoLGACttbj7U0ABBRRQQAEFFFBAAQUUUEABBRRQQIGaCRgArRm1O1JAAQUUUEABBRRQQAEFFFBAAQUUUECBWgsYAK21uPtTQAEFFFBAAQUUUEABBRRQQAEFFFBAgZoJGACtGbU7UkABBRRQQAEFFFBAAQUUUEABBRRQQIFaCxgArbW4+1NAAQUUUEABBRRQQAEFFFBAAQUUUECBmgkYAK0ZtTtSQAEFFFBAAQUUUEABBRRQQAEFFFBAgVoLGACttbj7U0ABBRRQQAEFFFBAAQUUUEABBRRQQIGaCfSs2Z7ckQIKKKCAAgoooIACCjSMwNSpU8PZZ58dj6dv375hzz33bJhj80AUUEABBRRQoLEEDIA21vn0aBRQQAEFFFBAAQUUqInAlClTwrBhw+K+VlttNQOgNVF3JwoooIACCihQiYBD4CtRcx0FFFBAAQUUUEABBRRQQAEFFFBAAQUU6BYCBkC7xWmykwoooIACCiiggAIKKKCAAgoooIACCihQiYAB0ErUXEcBBRRQQAEFFFBAAQUUUEABBRRQQAEFuoWAAdBucZrspAIKKKCAAgoooIACCiiggAIKKKCAAgpUImAAtBI111FAAQUUUEABBRRQQAEFFFBAAQUUUECBbiFgALRbnCY7qYACCiiggAIKKKCAAgoooIACCiiggAKVCBgArUTNdRRQQAEFFFBAAQUUUEABBRRQQAEFFFCgWwgYAO0Wp8lOKqCAAgoooIACCiiggAIKKKCAAgoooEAlAgZAK1FzHQUUUEABBRRQQAEFFFBAAQUUUEABBRToFgI9u0Uv7aQCCiiggAIKKKCAAgrUlcA000wT5p577tinOeaYo676ZmcUUECBRhb4z3/+E7766qt4iDPOOGPo2dPQTiOfb4+tOgL+V1IdR7eigAIKKKCAAgoooEBTCcwyyyxh4sSJTXXMHqwCCijQFQLffvttGD9+fHjhhRfChAkT4v97p06dGrsy/fTTh3nmmSf069cvLL/88mG55ZYL0047bVd0030qUNcCBkDr+vTYuVoL8Eva5MmTw8cffxy+/vrrMPvss4e55por3te6L+6vPIHPP/88ni/O2wwzzBDP1XzzzeevoOXxuZQCCiiggAIKKKCAAgrUqcD3338fxo4dG+67777wxhtvxMDnv/71r0AGPoFPGoFQlpttttliVv5iiy0WNtlkk7DWWmvF5er00OyWAjUXMABac3J3WG8Cn332WRg9enS46667wssvvxz/eOT3sX///mHttdcOO++8c+jTp0/+2037/IMPPgh9+/YtefzlLFNyAwXefOmll+L5euCBB8K///3vVkvMNNNMYZVVVglbbrllWHfddVu9Xy8vFLPhAuf888+P3TzggAPCVlttVVGX//rXv4Zzzz03rrvvvvuGbbbZpqLtuJICCiiggAIKKKCAAgrUVuCLL74IV111VRg3blwMfpLswXevJZdcslWyB4k8n376afjwww/Dm2++GW/PPPNM2GuvvQLZ+jYFFAjBAKifgqYWuOWWW8IFF1wQfzUrBZH+iNx0001h0KBBYddddy21eMO/R72ZK6+8Mtx9993hz3/+c8HjLWeZgiuWeJFhdieeeGIc+lFisfDll1+Ghx9+ON4YBvLrX/+6zUBtqe1V+722bKZMmRIvYNgvjytt/BrMhRCtI9updP+up4ACCiiggAIKKKCAAu0X+Oijj8Jll10WnnzyyfDPf/4zBj0ZnVisUQOUmszcyBD9+9//Hr8HMEpuv/32q6vvQsWOwdcV6GwBA6CdLez261KA4e1nnHFGHEqQOsgvaosvvngg25NhAzPPPHP8w/H666/HzFCCVtwImBJUGjx4cFq16e4PPvjg8Nprr4XevXsXPfZylim6coE3/va3v4Xhw4fHC4D09vzzzx/PFedr4YUXjuUL6Be3t99+Oy724osvhiFDhoTzzjsvLLjggmnVLr2vtk2XHow7V0ABBRRQQAEFFFBAgaoJUOLrkksuCY8++mis5Tlw4MDQo0ePsrfPUPiVV145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BBBAAAEEEEAAAQQQQAABBBBAAAEEEGg7AgRA28614kgRQAABBBBAAAEEEEAAAQQQQAABBBBAoEIBAqAVgpEdAQQQQAABBBBAAAEEjPnqq69M165dg3+bbbYZJAgggAACCCCAQMMKdGrYI+PAEEAAAQQQQAABBBBAoGEFCoWC+eKLL4LjUzCUhAACCCCAAAIINKoANUAb9cpwXAgggAACCCCAAAIIIIAAAggggAACCCBQswAB0JoJKQABBBBAAAEEEEAAAQQQQAABBBBAAAEEGlWAAGijXhmOCwEEEEAAAQQQQAABBBBAAAEEEEAAAQRqFiAAWjMhBSCAAAIIIIAAAggggAACCCCAAAIIIIBAowoQAG3UK8NxIYAAAggggAACCCCAAAIIIIAAAggggEDNAgRAayakAAQQQAABBBBAAAEEEEAAAQQQQAABBBBoVAECoI16ZTguBBBAAAEEEEAAAQQQQAABBBBAAAEEEKhZgABozYQUgAACCCCAAAIIIIAAAggggAACCCCAAAKNKkAAtFGvDMeFAAIIIIAAAggggAACCCCAAAIIIIAAAjULdKq5BApAAAEEEEAAAQQQQACBphOYd955zbhx44LzXnzxxZvu/DlhBBBAAAEEEGg7AgRA28614kgRQAABBBBAAAEEEGgYgXnmmcccfvjhDXM8HAgCCCCAAAIIIFBMgCbwxWRYjgACCCCAAAIIIIAAAggggAACCCCAAAJtXoAAaJu/hJwAAggggAACCCCAAAIIIIAAAggggAACCBQTIABaTIblCCCAAAIIIIAAAggggAACCCCAAAIIINDmBQiAtvlLyAkggAACCCCAAAIIIIAAAggggAACCCCAQDEBAqDFZFiOAAIIIIAAAggggAACCCCAAAIIIIAAAm1egABom7+EnAACCCCAAAIIIIAAAggggAACCCCAAAIIFBMgAFpMhuUIIIAAAggggAACCCCAAAIIIIAAAggg0OYFCIC2+UvICSCAAAIIIIAAAggggAACCCCAAAIIIIBAMQECoMVkWI4AAggggAACCCCAAAIIIIAAAggggAACbV6gU5s/A04AAQQQQAABBBBAAAEE6i7w448/mpdffjnYb+fOnU3fvn3rfgzsEAEEEEAAAQQQSCNAADSNEnkQQAABBBBAAAEEEEAgIjBr1iyz+uqrB8vWXnttM3ny5Mh6ZhBA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iQACCCCAQFqBl156yRx88MFmoYUWMnfeeWfazczUqVPNxIkTzb///e9gukePHmaVVVYxq666qtlss83M/PPPn7osMiJQTODRRx81jz32WLHVkeXzzTefGTlyZGQZMwjUKsBnXa2CbJ+VwI8//mjGjRtn9Jom6W/xwIED02QlDwKpBfjemJqKjHUSqPSebJbvlh0KNtXpGrAbBBBAAAEEGl7gyy+/NAcccID573//a7p06ZI6AHr99debSy65xMyZMyfxHFdeeWVz1llnBUHVxAwsRCClwEknnWQeeOCBVLkXWGABc/fdd6fKSyYE0gjwWZdGiTz1Enj33XfNHnvskXp3eiC0yy67pM5PRgTKCfC9sZwQ6+stUM092SzfLWkCX++7kf0hgAACCDSswKxZs8wRRxwRBD8rOUjVEr3wwguD4Oc888xjttpqKzN69GgzbNgw06dPn6CoV155xRxyyCHmk08+qaRo8iLQQuA///lPi2UsQKAeAnzW1UOZfVQi8Prrr1eSnbwIZCrA98ZMOSksA4Fq78lm+W5JE/gMbjKKQAABBBBo+wIvv/yyOeOMM4xqk1SSPv30UzN27NhgE9W2O/30082AAQPCIvbZZx9z6qmnmvvvv9+89dZb5qqrrgqCrGEGJhCoQGD27Nnm/fffD7ZYa621zPHHH19y644dedZdEoiVqQX4rEtNRcY6Crzxxhvh3s4++2zTt2/fcD5pQn+nSQhkIcD3xiwUKSNLgWrvyWb6bkkANMs7jrIQQAABBNqcgP7oX3rppeaWW24x1fQKc9NNN5nvvvsuOO8DDzwwEvzUwk6dOpkTTzwx6BN0ypQpQXPkESNGmM6dO7c5Kw649QXefPPN8D5daaWVzCKLLNL6B8URNIUAn3VNcZnb3Em6WktzzTWXWWONNcy8887b5s6BA25bAnxvbFvXqxmOttZ7spm+W1ItoBneEZwjAggggECigJql77XXXubmm28OgkodOnQwe+65p1l44YUT8yctdIMkaYCjrbfeOimLUS28XXfdNVinLyn0yZjIxMIUAu7HvrL2798/xRZkQSAbAT7rsnGklGwF3GficsstR/AzW1pKSxDge2MCCotaVSCLe9J9jupE2vt3SwKgrXq7snMEEEAAgdYU0EjaH3zwQXAIqkl3zjnnmOHDhxvVJFFSQLRU0rauT081e5977rmL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&quot; width=&quot;672&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; Darkness of point represents how many times the player has played the LVC (lightest is 2 times, darkest is 4 times). Only the top 20 shown.&lt;/p&gt;
&lt;p&gt;In the plot, players to the left of the dashed line have performed better in past LVCs than expected based on their player rating. Those to the right, have performed worse. Keep in mind the higher ranked a player is, the harder it will be for them to “outperform” their rating - for example since Ricky Wysocki is ranked #1, he would have to have won every LVC to break even.&lt;/p&gt;
&lt;p&gt;So it looks like according to the weighted score Eagle McMahon is favored to win. Kevin Jones typically performs a little better at the LVC than other tournaments and comes off his big win at the end of last season.&lt;/p&gt;
&lt;p&gt;However, I think given the amount of data here, it’s pretty reasonable to expect anyone in the top ~10 to win and even then someone lower ranked could have a really breakout performance. For example, if the over/under chart had included 30 players, Tristan Tanner would be a huge outlier with a LVC Weighted Score of -34 due to his big performance and 4th place finish last year.&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&quot;fpo&quot; class=&quot;section level3&quot;&gt;
&lt;h3&gt;FPO&lt;/h3&gt;
&lt;div style=&quot;border: 1px solid #ddd; padding: 0px; overflow-y: scroll; height:500px; &quot;&gt;
&lt;table class=&quot;table&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:left;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
PDGA #
&lt;/th&gt;
&lt;th style=&quot;text-align:left;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Name
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
2020 Ratings Rank
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Mean LVC Place
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Weighted LVC Place
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Times Played
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
LVC Performance Weight
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Weighted Score
&lt;/th&gt;
&lt;th style=&quot;text-align:right;position: sticky; top:0; background-color: #FFFFFF;&quot;&gt;
Predicted Finish
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
44184
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Allen
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-2.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
29190
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Pierce
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
10.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
34563
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Hokom
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
13.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
15354
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Allen
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-2.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
17.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
50656
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Weese
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-1.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
19.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
81351
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
King
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
21.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
6
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
32654
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Fajkus
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
13
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
9.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
10.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-2.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
29.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
7
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
48976
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Scoggins
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
13.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
13.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
8.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
31.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
8
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
59431
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Walker
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
13
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
9.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
9.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-3.7
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
32.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
9
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
64751
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
McMorran
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
16
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
7.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
7.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-8.9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
33.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
10
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
51229
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Bradley
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
10
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
12.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
12.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
36.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
11
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
58303
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Ananda
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
17
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
10.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
11.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-6.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
40.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
12
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
39504
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Andyke
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
11
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
14.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
14.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
44.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
13
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
32917
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Cox
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
17
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
14.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
13.9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-3.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
47.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
14
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
34751
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Bailey
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
14
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
13.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
14.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
0.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
51.5
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
15
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
27832
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Panis
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
17
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
15.2
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
14.4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-2.6
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
58.8
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
16
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
60798
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Tomaino
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
20
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
17.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
17.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-3.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
62.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
17
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
71262
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Stinchcomb
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
18
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
16.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
15.1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-2.9
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
63.3
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
18
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
104030
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Allocco
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
26
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
18.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
18.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-8.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
73.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
19
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
84007
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Maes
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
26
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
19.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
19.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
-7.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
94.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
20
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
63005
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Bilodeau
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
26
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
27.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
27.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
96.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
21
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
56987
&lt;/td&gt;
&lt;td style=&quot;text-align:left;&quot;&gt;
Richardson
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
26
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
30.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
30.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
1
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
4.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
108.0
&lt;/td&gt;
&lt;td style=&quot;text-align:right;&quot;&gt;
22
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&lt;img src=&quot;data:image/png;base64,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BBBAAAEEEEAAAQQQQAABBBBAAAEEslyAAGiW3yCahwACCCCAAAIIIIAAAggggAACCCCAAALJCxAATd6OIxFAAAEEEEAAAQQQQAABBBBAAAEEEEAgywWqZnn7aB4CCCCAAAIIIIAAAjklsGjRIissLLSqVataixYtcqrtNBYBBBBAAAEEEMhHAQKg+XhXuSYEEEAAAQQQQACBChNo27atFRQUWLNmzWzZsmUV1g5OjAACCCCAAAIIIPBfAbrA8yQggAACCCCAAAIIIIAAAggggAACCCCAQN4KEADN21vLhSGAAAIIIIAAAggggAACCCCAAAIIIIAAAVCeAQQQQAABBBBAAAEEEEAAAQQQQAABBBDIWwECoHl7a7kwBBBAAAEEEEAAAQQQQAABBBBAAAEEECAAyjOAAAIIIIAAAggggAACCCCAAAIIIIAAAnkrQAA0b28tF4YAAggggAACCCCAAAIIIIAAAggggAACBEB5BhBAAAEEEEAAAQQQQAABBBBAAAEEEEAgbwUIgObtreXCEEAAAQQQQAABBBBAAAEEEEAAAQQQQIAAKM8AAggggAACCCCAAAIIIIAAAggggAACCOStAAHQvL21XBgCCCCAAAIIIIAAAggggAACCCCAAAIIVIUAAQQQQAABBBBAAAEEUifw0ksv2ZYtW6x69eqpq5SaEEAAAQQQQAABBJIWIACaNB0HIoAAAggggAACCCBQUqBjx44lV7IGAQQQQAABBBBAoMIE6AJfYfScGAEEEEAAAQQQQAABBBBAAAEEEEAAAQTSLUAANN3C1I8AAggggAACCCCAAAIIIIAAAggggAACFSZAALTC6DkxAggggAACCCCAAAIIIIAAAggggAACCKRbgABouoWpHwEEEEAAAQQQQAABBBBAAAEEEEAAAQQqTIAAaIXRc2IEEEAAAQQQQAABBBBAAAEEEEAAAQQQSLcAAdB0C1M/AggggAACCCCAAAIIIIAAAggggAACCFSYAAHQCqPnxAgggAACCCCAAAIIIIAAAggggAACCCCQbgECoOkWpn4EEEAAAQQQQAABBBBAAAEEEEAAAQQQqDABAqAVRs+JEUAAAQQQQAABBBBAAAEEEEAAAQQQQCDdAlXTfQLqRwABBBBAAAEEEECgMgmMHz/efvnlF6tdu7addtpplenSuVYEEEAAAQQQQCArBQiAZuVt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6aef2pdffunG76xVq1bsHcu4RWM962dcv39Uv34fUxBAIHEBDRmkfzM1tu4tt9yS+IHsiQACCCCAAAIIIJAWAQKgaWHNn0pbtmwZXMzEiRPt8MMPt9L+yFbQ6tZbbw2Oi7agANgjjzxiDzzwgGnSpHDRLMQKFKo89thjduqpp5r+kIgcf1N/lD/99NNuPwUpyxsA1QQivijw6ssxxxxjCiSqPPXUUzZo0CC/qcS72u3b1Lt3b7ccnkBKB2icUQVKlVF60UUXuTFVS1RUtCIVRgoyrlq1yhRcPOCAA2zIkCEuqBE+n7q6vvrqqy4gef3117vJUMLb/bKu7YorrnBjovp1etfs0TqPJsEKu4X3CS8rmHzjjTfaJ598El7tlmXjA9vyGTZsmOuOW2JHViCAgBNQluaKFSuSHvczHuOOO+5oK1eutEWLFhEAjQfFNgSiCIwfP95NKKYvDwiARgFiFQIIIIAAAgggkGEBAqAZBs+10yn4d99997ksBgWuTj/9dNfFvVu3bqY/jpMt1113nb3++uvu8G233da6d+/uJkvSJBwKqGm8Tf3R7ccRVZai9klXUTdSZTWqKHM13N1fmZqa0EltUcbpBRdcYGpnaWX06NEuKKgsS40nqi6lCia8//779v3337sA55133mnNmzcPxk0N15lKI2VyDRw40J1X46VqohNNcKJArDJfFWxVQHL48OFuIqtwO7Sse6Jg7Y8//ug2aWIrGekZ+Oyzz1wWr+7ZBx98EHlosc86h+rxQe/99tvPlG2rDBkFvvWMvfzyy267Atw33HCDTZgwISXdeos1hA8I5IGAssv0s/nLL7+4MZhTfUn6uVy8eLHLzE913dSHAAIIIIAAAggggAACCGRSgABoJrVz8Fz16tWza665xgXG1Hxl6CkbUi8F0g466CCXealAlgJqiRRlEvrgp7qDqy4FQcNFQUZlTj700ENu9b///e+0BkBfe+0181381Z0+HOBUV1Bd59tvv21r16512ZIKDJdWlBGpoOeIESPcu99fwYrLL7/cBUK17sknnywRAE210YIFC9zpL7zwQlNmajibVtd15ZVXuiCo9lOX2shZpBXM9cHPzp0727XXXmsaJ9WXc845x66++moXtPbror1rUiwf/FQ26kknnVRit/POO8/69+/vgrUKgr711lvWqVOnEvtFrlAWnAKmsYru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IIAAAgggkPUCdIHP+ltEAxFAAAEEEEAAAQQQQAABBBBAAAEEEEAgWQECoMnKcRwCCCCAAAIIIIAAAggggAACCCCAAAIIZL0AAdCsv0U0EAEEEEAAAQQQQAABBBBAAAEEEEAAAQSSFSAAmqwcxyGAAAIIIIAAAggggAACCCCAAAIIIIBA1gsQAM36W0QDEUAAAQQQQAABBBBAAAEEEEAAAQQQQCBZAQKgycpxHAIIIIAAAggggAACCCCAAAIIIIAAAghkvQAB0Ky/RTQQAQQQQAABBBBAAAEEEEAAAQQQQAABBJIVIACarBzHIYAAAggggAACCCCAAAIIIIAAAggggEDWCxAAzfpbRAMRQAABBBBAAAEEEEAAAQQQQAABBBBAIFmBqskeyHEIIIAAAggggAACCCBQUmDy5Mn2yy+/WK1atey4444ruQNrEEAAAQQQQAABBDIqQAA0o9ycDAEEEEAAAQRyVeCbb76xp556ymbMmGGffPKJfffdd7Zlyxbbfvv4rf/1AABAAElEQVTtbffdd7eOHTtar1693HKuXiPtTo3AmWeeaQUFBdasWTNbtmxZaiqlFgQQQAABBBBAAIGkBQiAJk3HgQgggAACCCBQGQQ+/PBDGz58uAt+KuAZWRQY/eijj0xZf0OHDrVu3brZddddZ4cffnjkrnxGAAEEEEAAAQQQQACBChAgAFoK+u23326vvPJKsNdWW21lY8eOtfr16wfrSlvYuHGjKRNA77787W9/s7333tt/rJD3Sy+91BYvXmxbb721+6Mt3Ahds65d5fzzz7eePXuGN1ea5X//+982YcIEd73du3e3QYMGlXrtV1xxhX322WfBfvfdd581btw4+BxtYdasWTZq1Ci3qX379u4P52j7Jbvu9NNPt/Xr11vTpk3tnnvuKVaN7u/KlSutTp06NnHixGLb+IAAAghUZoHCwkL3+1i/n3/99deEKV599VXTq2/fvjZ69GirUaNGwseyIwIIIIAAAggggAACCKRegABoKaY///yzrVmzpther7/+up144onF1sX7MHPmTPv222+L7aJxoSq6/Pjjj+7aFACNLJs2bQquOxy4jdwv3z/vueeegcPs2bNLvdyffvrJ3nnnHdcl0u/89ttvlxpAfu+994LzqBtlqoueYQVANRZZZPHPwebNmyM38RkBBBCotALr1q1zX17+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R440AwYMsNUp4/aaa67xZ6J350j06AKoibZpXUVd87O5x2HnZD0CCCBQ6gJ631JwcsWKFZFfqsbC1peCCrLqS0IKAggggAACCCCAAAKlJEAGaCndzRK7FgUuDz30UPujgJu6xb/xxhvmueeeMwp0KrtTwUx1iXdFWaHKAFVRl/kLLrggtLt8MPuzooCeqz9Xj++++6659957bfXK8hw4cKA56qijjLIa44vGFHMl03Zrwqc777zTZhIde+yx5pVXXrGTTimwPGbMGHt+d45Ej/Fd8eP3CdrGbws+z+QeB49nGQEEEKhKAgqANmnSxHzxxRc2WJloTOlMPTTMigKfO++8c+g425nWzXEIIIAAAggggAACCFS2ABmglX0HOH+MgLpjz5492w9iuo3KdFRA89RTTzX333+/zVDRNn0I/PHHH+1u6hKoMT9VatWqZbvS65hERQE8d5y2V5SxmKiOKNcpsOvKKaecYo4//viEwU/t4wK8Ws603QqAKviookzTiy66yE58oefjxo0zH3/8sRbLFTcxRtjQAu6Ab775xi2We8zmHperjBUIIIBAFRLQ72v1aFA39S+//DKyK1+3bp19b1Gvg1atWkVWLxUhgAACCCCAAAIIIFAoAgRAC+VO0A7z0ksv2W7q5557rp0JPoykbt26pkWLFv5m1xUwGLTbfffdTc2aNf194hcUcPztt9/81ZkGEv0KslxYsGCBX0Pbtm395fgFdVF89dVX/dVRtXvHHXc0/fr1s/VqQiRNJpQoyKnAsoomktJYcYmKgsuzZs1KtCnre5ywUlYigAACVUhAAUplaaooazPbot/5ev/U2Np77723qVOnTrZVcjwCCCCAAAIIIIAAAgUnQAC04G5J1W1Qp06dTPXq1S3ApEmTYjIdgyqrV682H374oV2lTEY383rDhg393TTzu4KFicq8efPM1VdfHbMpUbAvZoccPwm2feHChQnPpmDnFVdcYSeCcjtE2e6+ffvaD8Cq23WFd+dxjzvttJNbtBm2/pPAwg033GAzcwOr/MVs77FfEQsIIIBAFRXQMCkaG1tf9H377bdZjQeq4KcmF9RwK8osbd++fRVV5bIRQAABBBBAAAEESl2AMUBL/Q7n8Poef/xxM3369JTOoA9WJ554YtJ9NZbZ4Ycfbic/Unbh0KFD7eQ/+kCmrE+NffnRRx+ZUaNG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mmAmdrBOliMW8H5RUxBAAIGSF/BmTSzzfn36P94fpyV/zVwgAggggEDlCHgf7uz7jTfhReU0gLMiUMICXldT/+85/W3nBe/KvGCXv+6kk04qc/t4XYZjJM4++2x/Py+AFrMt+OSggw6y++2yyy7B1f6yF8Dw61EbvAlQyrzZxe06tcfL8vS3v/baa/5xbsELfJR52az+Pl6gpcwLiJR5QUR/ner1shjLvIw0d5h99LrN+vtcccUVMduCT4LX6gUv/WO8TLUybzId/7mX3VY2evTo4KH+shfkKhs8eHCZ2uf+jvayK21b3XM9esGsMi+A5R/nFnSs28+tS/T4r3/9y99Pf7MnKl5guMybpMnfT+32upTHmKmd3niU5Q5PtR1Bs7DXR/DeexmQ5c6lFbfccovfTi9QHLNPtqaqTOf1guL+OTbddNMyvVb12pO3F1Ar69Kli132AnIx58/2iRfIi3n96Hx77bVXWcuWLf3XiRdMLLv33nv9/5de1+5yp/Um/vHb714j+n+RavGylcsd7+oJe5wwYULS6l944YWYOjOx0+umd+/eMfWEtUfr27dvX+YFkZO2i43RCZAB6r3qKAgggAACCCCAAAIIIIAAAoUvoAw4ZZm5GcuVAajMsa222sqOp6es0FS6rGZzpZr05aabbjJuoh0vaGc08ZJmctbs7gMHDkxavTIv58+fb7zAnKlbt67NqlTGmJs9WrOFq4u/ZtZWt9xsizIkBwwYYLMilbnpuh1rTEm3LdE5NCGL2jF16lSz++6720xRZRm6yWGUOdqnTx/z3nvvGS9onKiKyNYdeuihRjOPKwtYGYTKQPz444+tmTL1vICfbaey6wq5RGGqcSk1LqwyhXXtmr1cQy+objkp41AZjbkomg3dC+rbmctd/XPnzjUa0kFZwMqYVKalHjVDvIrG04zvBq/xXJUt6TJBtV+yDE1tz3VRRncw2zqVyY/i26Tr0fisygY/5phjQic10v8ndbPXZEv63UXJj0A1xVLzcyrOggACCFSegP7Y876d9xug7knJBq/3d2QBAQQQQACBNAW8bByzZs0a2801OMNymtWwOwIIVCCg/18KvHjZbzF/51VwWGSb1f1WQTh1b9U4ncG/NdM5iY7XdSjYqW72CoAquJhN0VijbkxMdRdXYEZBqDlz5thJomTmZaGmdQoFmt31akInXa/G28x3UdBbQWcFzBRA1kRJCj4XY8nWVONw6p7otaNhCvLZ9f/bb781mnDp559/tq9/vZ4UkE2n6DWpgHqDBg1yFrRNpz1R76v7q6En9H9ck7NprNCdd97Z6O8ESv4FCIDm35wzIoBAJQgQAK0EdE6JAAIIVFGBVq1a+RlpmqiCggACCORbIFEANN9t4HwIIIBAIQlsVEiNoS0IIIAAAggggAACCBS7gLq2UhBAAAEEEEAAAQQKRyC7vPrCuQ5aggACCCCAAAIIIIAAAggggAACCCCAAAIIlBMgAFqOhBUIIIAAAggggAACCCCAAAIIIIAAAgggUCoCdIEvlTvJdSCAAAIIIIAAAggggAACCCDgCTRq1MhOtiKMdCemARABBBAoRQEmQSrFu8o1IYBAOQEmQSpHwgoEEEAAAQQQQAABBBBAAAEEqoQAXeCrxG3mIhFAAAEEEEAAAQQQQAABBBBAAAEEEKiaAgRAq+Z956oRQAABBBBAAAEEEEAAAQQQQAABBBCoEgIEQKvEbeYiEUAAAQQQQAABBBBAAAEEEEAAAQQQqJoCBECr5n3nqhFAAAEEEEAAAQQQQAABBBBAAAEEEKgSAgRAq8Rt5iIRQAABBBBAAAEEEEAAAQQQQAABBBComgIEQKvmfeeqEUAAAQQQQAABBBBAAAEEEEAAAQQQqBICG1WJq+QiEUAAAQQQQAABBBDIk8Ahhxxi1q5daxo1amTGjx+fp7NyGgQQQAABBBBAAIEwAQKgYTKsRwABBBBAAAEEEEAgA4E33njDrFmzxmy77bYZHM0hCCCAAAIIIIAAAlEL0AU+alHqQwABBBBAAAEEEEAAAQQQQAABBBBAAIGCESAAWjC3goYggAACCCCAAAIIIIAAAggggAACCCCAQNQCBECjFqU+BBBAAAEEEEAAAQQQQAABBBBAAAEEECgYAQKgBXMraAgCCCCAAAIIIIAAAggggAACCCCAAAIIRC1AADRqUepDAAEEEEAAAQQQQAABBBBAAAEEEEAAgYIRIABaMLeChiCAAAIIIIAAAggggAACCCCAAAIIIIBA1AIEQKMWpT4EEEAAAQQQQAABBBBAAAEEEEAAAQQQKBgBAqAFcytoCAIIIIAAAggggAACCCCAAAIIIIAAAghELUAANGpR6kMAAQQQQAABBBBAAAEEEEAAAQQQQACBghHYqGBaQkMQQAABBBBAAAEEECgBgb59+5p169aZ+vXrl8DVcAkIIIAAAggggEDxCxAALf57yBUggAACCCCAAAIIFJDAqFGjCqg1NAUBBBBAAAEEEECALvC8BhBAAAEEEEAAAQQQQAABBBBAAAEEEECgZAUIgJbsreXCEEAAAQQQQAABBBBAAAEEEEAAAQQQQIAAKK8BBBBAAAEEEEAAAQQQQAABBBBAAAEEEChZAQKgJXtruTAEEEAAAQQQQAABBBBAAAEEEEAAAQQQIADKawABBBBAAAEEEEAAAQQQQAABBBBAAAEESlaAWeBL9tZyYQgggAACCCCAwP8EVqxYYV5++WXz7rvvmsWLF5vVq1ebmjVrmq222sq0atXKdOnSxey6667/O4AlBBBAAAEEEEAAAQRKRIAAaIncyHQv488//zTLly8333//valRo4bZeuutTd26ddOthv0RQAABBBBAoMAF3nrrLXPdddeZ559/3vz3v/9N2tq99trLnHPOOeaEE04wG264YdJ92YgAAggggAACCCCAQLEIVCvzSrE0lnZmJ7Bu3Tozffp0M2nSJDNv3jwTf+s33XRT07FjR3PyySeb7bbbLruTpXn0t99+a5o0aZLmUbG7n3766TaoW7t2bTNu3LjYjSXyTB9cTznlFPOf//zHXlH79u3NsGHDUr66Pn36mN9++81ajx49Oua4ZNtidizSJ4sWLTI77rij3/rOnTvb/w/+ChYQQACBEhNQhueQIUPMww8/nPaVtWnTxjz00ENmt912S/tYDkAAAQQQQAABBBBAoNAEGAO00O5IjtrzzjvvmGOPPdZcc8015oMPPigX/NRpf/31VzN16lTTt29fmymiLNFcFwXjRo0aZQYPHpz1qX7++WezcuVK+5N1ZQVage6jAnnuOtWVUV0aUy3uOFnFl2Tb4vflOQIIIIBAYQvovUJfamYS/NSVzZkzx3To0MF+aVrYV0rrEEAAAQQQQAABBBCoWIAu8BUbFf0eY8aMMffff78f9Nx4443NgQceaHbYYQfTuHFjo8zQZcuWmVdffdUsXbrUrF+/3rzwwgs2U/Dyyy/PaRe4M88803z22WemTp06Re+cjwtQ90UVea1atcp2ZXzuuefMqaeemo/Tcw4EEEAAgSIQWLJkidlnn31sr4hsmvvLL7+Y7t27myeffNL06tUrm6o4FgEEEEAAAQQQQACBShUgAFqp/Lk/uQJmY8eO9U/Us2dP28V9880399e5hdNOO82OD3bLLbfYIKi6y2+xxRbm7LPPdrtE/qggnkq1atWyrvu8884za9euNRttVJova3V7f/31163TUUcdZaZNm2Y0dIACoP369SvZ6876hUEFCCCAQBUSUG8OBS01zncURcPl6D2mWbNmZs8994yiyipRh4bj0b3YdtttjQLSFAQQQAABBBBAAIHKFaALfOX65/Tsyuq8/fbb/XMMGDDATmyQKPipnTTZgT40XXDBBf4xzzzzjJ0oyV9RwAvKdtG4jn/5y18KuJWZN23KlCn+5BXqlrj//vvbyn744Qcza9aszCvmSAQQQACBkhHQl4Ea6ibKsmbNGtO7d2/bYyTKeku5rvhx1kv5Wrk2BBBAAAEEEECgGAQIgBbDXcqwjZrkRmNsquy33352bM9UqjryyCONZoFV0aQ7TzzxRCqHsU+OBVz390022cS0atXKHHzwwf4Zn376aX+ZBQQQQACBqinw4YcfmnvuuScnF//FF1+YESNG5KRuKkUAAQQQQAABBBBAINcCpdlXONdqRVC/ul298cYbfkvTHSPy+OOPN59++qkNtGmc0LCiSRZmzJhhu3d99dVX5ptvvjHKMN1mm21st68uXbqYFi1alDv8zjvvtN3V3WQ8CtTedNNNdj91FzvuuOPssj5sadsee+xhunXrZrvoT5482SxevNg0bdrUHH300XY8U3Wh14c+1VezZk1z1llnxZxTEy1pNlzNZnvEEUfYWdRfeeUVow+L+lH2684772yvV3VWr1495vj4JwoMv/TSS+bzzz/3r13d791177TTTqZHjx5G461GUT7++GM7+ZHqatu2re3uvssuu9hxXGXx7rvvmq+//tqeP4rzJatD16zxYvWoD8Sy0vXqR8Hz+vXrhx4e9X0IPREbEEAAgSoocPPNN/vjfefi8lW/hsXReyYFAQQQQAABBBBAAIFiEiAAWkx3K422vvbaa+b333+3Ryig2Lx58zSONmbfffc1L774otlgg8RJwgoAPvbYY+a+++4zf/zxR0zdCjS68a40cYK6zQ0aNChmjEpNsqTJFVxRWydOnGifaowxFwBVsFNBTU3MpFnKR44c6Q4xc+fOtQFXTeikohnsv/vuO6Nxt+IDoApWarZ0BSnbtGljzj33XBsw9CvzFjRk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0ttLsxFAAAEEEEAAgSorQAC0yt56LhwBBBBAAAEEEDBm/fr1ZsaMGWbSpElm/vz55ueff7bjV/7xxx+WZ8MNNzQ1a9Y0m222mR3TsmvXrqZHjx6mbt268CGAAAIIIIAAAgggUBQCBECL4jbRyCgEfv31V5vR8ssvv5jNN9/cNGrUyH6Yi6Ju6kAAAQQQQKAYBRYuXGjuuOMOM2fOHPPtt9+aP//80wY2lfW58cYbm2rVqtl1a9euNcuWLTPaf8GCBWbixInm5JNPNkceeWQxXjZtRgABBBBAAAEEEKhiAgRAS+iGq5vaMccc41/R008/bZS1Uerl9NNPN8uXLze1a9c248aNS3i59913n932+++/+9vr1atnnnvuOf95MSzoHp9yyim2W6La2759ezNs2LCUm96nTx/z22+/2a6Mo0ePjjku2baYHXmCAAIIIFASAjNnzjS33HKL+fjjj42yPTVjebKszq222sqsW7fOfPPNN2b27Nnmhx9+MJ999pk566yzTPXq1UvChItAAAEEEEAAAQQQKE0BAqAldl9XrlxZYldU8eWoq56u23XViz9CQc77778/frXZcccdy60r9BXvvPOOWbRokd/Ml19+2QwcONA0bNjQX5dsQU4KgNaqVavcbsm2lduZFQgggAACRS3w4osv2uDnF198YXtENG7cOKXrqVGjhmnatKlRrwod+/jjj9tA6FVXXWU22og/K1NCZCcEEEAAAQQQQACBvAvwl2reyTlhPgUUFL3tttv8Uypjcr/99rMZLsoALbby/PPP2ybXqVPHrFq1yk5OoQDvqaeeWmyXQnsRQAABBCpJYN68eebOO+80n3/+udl+++1NJu+H6iK/2267mU8//dRMnz7djBo1ypx55pmVdEWcFgEEEEAAAQQQQACB5AIEQJP7sLUIBM477zyjsckSZZ6om57r9q7Za9XVr1iLZuN9/fXXbfOPOuooM23aNDtemwKg/fr1S3j9xXqttBsBBBBAIDcCq1evNtdff7355JNPzNZbb51R8NO1TN3ed955Z9uFfsKECWb33Xc3nTt3dpt5RAABBBBAAAEEEECgYAQIgBbMraAhmQrss88+oYeuWbPG39asWTN/uRgXpkyZYjM+1fYOHTrYSSlc18NZs2aZ/fffvxgvizYjgAACCORR4JFHHrHBTw2F0qBBg6zPrImS1CVe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IIAAAgjkTIAAaM5oqRgBBBBAAAEEEEAAAQQQQAABBBBAAAEEKluAAGhl3wHOjwACCCCAAAIIIIAAAggggAACCCCAAAI5EyAAmjNaKkYAAQQQQAABBBBAAAEEEEAAAQQQQACByhYgAFrZd4DzI4AAAggggAACCCCAAAIIIIAAAggggEDOBAiA5oyWihFAAAEEEEAAAQQQQAABBBBAAAEEEECgsgUIgFb2HeD8CCCAAAIIIIAAAggggAACCCCAAAIIIJAzAQKgOaOlYgQQQAABBBBAAAEEEEAAAQQQQAABBBCobAECoJV9Bzg/AggggAACCCCAAAIIIIAAAggggAACCORMgABozmipGAEEEEAAAQQQQAABBBBAAAEEEEAAAQQqW2Cjym4A50cAAQQQQAABBBBAoJQEZs2aZdavX2+qV69eSpfFtSCAAAIIIIAAAkUrQAC0aG8dDUcAAQQQQAABBBAoRIHWrVsXYrNoEwIIIIAAAgggUGUF6AJfZW89F44AAggggAACCCCAAAIIIIAAAggggEDpCxAALf17zBUigAACCCCAAAIIIIAAAggggAACCCBQZQUIgFbZW8+FI4AAAggggAACCCCAAAIIIIAAAgggUPoCBEBL/x5zhQgggAACCCCAAAIIIIAAAggggAACCFRZAQKgVfbWc+EIIIAAAggggAACCCCAAAIIIIAAAgiUvgAB0NK/x1whAggggAACCCCAAAIIIIAAAggggAACVVaAAGiVvfVcOAIIIIAAAggggAACCCCAAAIIIIAAAqUvQAC09O8xV4gAAggggAACCCCAAAIIIIAAAggggECVFSAAWmVvPReOAAIIIIAAAggggAACCCCAAAIIIIBA6QtsVPqXyBUigAACCCCAAAIIIJA/gVGjRpk///zT1K5d25x88sn5OzFnQgABBBBAAAEEEEgoQAA0IQsrEUAAAQQQQAABBBDITOC8884za9asMdtuuy0B0MwIOQoBBBBAAAEEEIhUgC7wkXJSGQIIIIAAAggggAACCCCAAAIIIIAAAggUkgAB0EK6G7QFAQQQQAABBBBAAAEEEEAAAQQQQAABBCIVIAAaKSeVIYAAAggggAACCCCAAAIIIIAAAggggEAhCRAALaS7QVsQQAABBBBAAAEEEEAAAQQQQAABBBBAIFIBAqCRclIZAggggAACCCCAAAIIIIAA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aBECCCCAAAIIIIAAAggggAACCCCAAAIIBCRAADQgSKpBAAEEEEAAAQQQQAABBBBAAAEEEEAAgcwTIACaefeEFiGAAAIIIIAAAggggAACCCCAAAIIIIBAQAIEQAOCpBoEEEAAAQQQQAABBBBAAAEEEEAAAQQQyDwBAqCZd09oEQIIIIAAAggggAACCCCAAAIIIIAAAggEJFA0oHqoBgEEEEAAAQQQQAABBP4QGDRokNm/f78pU6YMHggggAACCCCAAAIZIEAANANuAk1AAAEEEEAAAQQQKDwC/fv3LzwXw5UggAACCCCAAAKFQIAu8IXgJnIJCCCAAAIIIIAAAggggAACCCCAAAIIIBBZgABoZBfWIoAAAggggAACCCCAAAIIIIAAAggggEAhECAAWghuIpeAAAIIIIAAAggggAACCCCAAAIIIIAAApEFCIBGdmEtAggggAACCCCAAAIIIIAAAggggAACCBQCAQKgheAmcgkIIIAAAggggAACCCCAAAIIIIAAAgggEFmAAGhkF9YigAACCCCAAAIIIIAAAggggAACCCCAQCEQIABaCG4il4AAAggggAACCCCAAAIIIIAAAggggAACkQUIgEZ2YS0CCCCAAAIIIIAAAggggAACCCCAAAIIFAIBAqCF4CZyCQgggAACCCCAAAIIIIAAAggggAACCCAQWaBo5NWsRQABBBBAAAEEEEAAgWQEVq1aZX777TdTtGhRU6tWrWSq4BgEEEAAAQQQQACBAAUIgAaISVUIIIAAAggggAACCBx//PFm9+7dpmbNmmbNmjWAIIAAAggggAACCBSwAF3gC/gGcHoEEEAAAQQQQAABBBBAAAEEEEAAAQQQSJ8AAdD02VIzAggggAACCCCAAAIIIIAAAggggAACCBSwAAHQAr4BnB4BBBBAAAEEEEAAAQQQQAABBBBAAAEE0idAADR9ttSMAAIIIIAAAggggAACCCCAAAIIIIAAAgUsQAC0gG8Ap0cAAQQQQAABBBBAAAEEEEAAAQQQQACB9AkQAE2fLTUjgAACCCCAAAIIIIAAAggggAACCCCAQAELEAAt4BvA6RFAAAEEEEAAAQQQQAABBBBAAAEEEEAgfQIEQNNnS80IIIAAAggggAACCCCAAAIIIIAAAgggUMACBEAL+AZwegQQQAABBBBAAAEEEEAAAQQQQAABBBBInwAB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//M/dkgAzcC+evVq8/3339ugqCabqlGjhjn77LONsj8pCCCAAAIIIIAAAggggAACCCCAQBACBECDUKQOBP4r0LBhQ6MXJbZAsWLFjLJBKQgggAACCCCAAAIIIIAAAggggEC6BZgEKd3C1I8AAggggAACCCCAAAIIIIAAAggggAACBSZAALTA6DkxAggggAACCCCAAAIIIIAAAggggAACCKRbgABouoWpHwEEEEAAAQQQQAABBBBAAAEEEEAAAQQKTIAAaIHRc2IEEEAAAQQQQAABBBBAAAEEEEAAAQQQSLcAkyClW5j6EUAAAQQQQAABBHJKoH///ubnn3825cqVM4MGDcqpa+diEUAAAQQQQACBTBQgAJqJd4U2IYAAAggggAACCGStwMiRI83u3btNzZo1CYBm7V2k4QgggAACCCBQmAToAl+Y7ibXggACCCCAAAIIIIAAAggggAACCCCAAAIhAgRAQzj4gAACCCCAAAIIIIAAAggggAACCCCAAAKFSYAAaGG6m1wLAggggAACCCCAAAIIIIAAAggggAACCIQIEAAN4eADAggggAACCCCAAAIIIIAAAggggAACCBQmAQKgheluci0IIIAAAggggAACCCCAAAIIIIAAAgggECJAADSEgw8IIIAAAggggAACCCCAAAIIIIAAAgggUJgECIAWprvJtSCAAAIIIIAAAggggAACCCCAAAIIIIBAiAAB0BAOPiCAAAIIIIAAAggggAACCCCAAAIIIIBAYRIgAFqY7ibXggACCCCAAAIIIIAAAggggAACCCCAAAIhAkVDPvEBAQQQQAABBBBAAAEEUhI44YQTzJ49e0zVqlVTqoeDEUAAAQQQQAABBIIRIAAajCO1IIAAAggggAACCCBgBebPn48EAggggAACCCCAQAYJ0AU+g24GTUEAAQQQQAABBBBAAAEEEEAAAQQQQACBYAUIgAbrSW0IIIAAAggggAACCCCAAAIIIIAAAgggkEECBEAz6GbQFAQQQAABBBBAAAEEEEAAAQQQQAABBBAIVoAAaLCe1IYAAggggAACCCCAAAIIIIAAAggggAACGSRAADSDbgZNQQABBBBAAAEEEEAAAQQQQAABBBBAAIFgBQiAButJbQgggAACCCCAAAIIIIAAAggggAACCCCQQQIEQDPoZtAUBBBAAAEEEEAAAQQQQAABBBBA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npUbbLBB9jvPUo9VYYxZmirdQAACEIAABCAAAQhAoMoRQACtckvGgCEAAQhAINsE2rdvb84777yE3f7tb38z3bt3N0uWLDFPPfWUeeWVV8yhhx6a8BwOQgAC5Ulgm222MatWrTJNmjQpTwDMGgIQgAAEIAABCBQZAULgi2xBGA4EIAABCBQngYMPPtj06dPHH9yUKVP8z3yAAAQgECQwY8YMM3fuXDN58uTgbj5DAAIQgAAEIAABCBSIAB6gBQLPZSEAAQhAoOoROOKII8zVV19tB/7ee++lPQEVUPrqq6/sa9asWeb77783W2+9tdl+++2NvFCbN28e1ef8+fPNnDlz7L4OHTrYYkxRDQIbCtV3Y9phhx3MFltsETj6/z8uXrzYTJs2zXz66afm559/ttfcaaedTLt27eKG82uc3377rVFl+1122cUsWLDAPP3002bRokVmjz32MEcddVRUaPr06dPN+++/b8dds2ZNs+OOO9qXrlGtWnq3HW7+ur5MKQhee+01+3nLLbc0rVu3tp9j//n111/tGD766COzevVqs+eee9qX5pDMVFH+iy++MJq3XpqD1kev3XbbzW4H+8h0jME++AwBCEAAAhCAAAQgAAEI5JZAen+J5HYs9A4BCEAAAhAoagJBUVHhrenY119/bRRG/+6774aepvyWF154oRk2bJipXbu2bSPh76CDDrKfL7vsMjNq1KjQc7XzoYce8sP4P//88ygB9K+//jIjR440qpKuvKaxJu/W+++/34RVsB87dqy5/fbbjfKkamxqK7HV2aWXXmquu+4688MPP5jTTjvNTJo0yR2Kepd4+vDDDxuJs6naf/7zH3PVVVf5zSUgOx5KWXDbbbf5x9wHCaQax48//uh22Xflax0xYoQZNGhQ1H63ob5vuukmc+WVV1rR1O0Pvrdq1crcc889Zp999vF3ZzJG/2Q+QAACEIAABCAAAQhAAAJ5IYAAmhfMXAQCEIAABEqBwCeffOJPo23btv7nZB9efPFFc+KJJ9qcgPKCPPDAA822225rJLpJGH3jjTeMRMrRo0dbcfGOO+6wXUpok+eh2owbN85ce+21Zv31w7PXPPjgg/acXXfd1QTHpor1up7zDm3WrJkV8Bo0aGA+/vhj8+GHH5oJEyZYb1DlNZWXY5hJ9DzjjDOixE+1O/roo+2+ww8/3HqXSmjs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e6w3qVIHKN2B1uL11183F1xwge/5e8kll0R5CZfyemTCk3MgAAEIQAACEMg9gY022sjeOypcXfeNs2bNShgZFDsi3ePqAa8eNsvz8+9//3taBShj+2MbAhCAAAQgAIH8E6AIUv6ZV+kr6qbxqquuMhdffLGdx+TJk41eEsXkjeiKHqndaaedZsONbr31VttW4fPbb799yvOXh6MqwivPqMTK1157zb5cB7qe2kybNs2KsNofG5LfuHFjM2rUKDNy5EijfE3KXypBUKYxBnNBaXv48OFGVdWrip1zzjnWC3f8+PFWhJYnq17KSyVRMmjybB08eHBwV9qftR5iKU7yqn3llVfsK5alOj7ppJMqFAYo9fVIGygnlBwBl29XDwY233xzW3wjnd97JQckwwnpoZoeqsjq1asXVVAtwy6L6rTg/JT2Jfb/rkSD1UNB571Wv379qIeAic5zx/QddSlhJAq5h4TueOy7HhTOnz/f5pDWOOX5pgdw7mFobHu2IVCsBJSSZ/To0fY+RveuemivnyHdm+hnIcx0L6Xc8BI/lXu9Q4cOpn///n6EUdg57IMABCAAAQhAoDgJ4AFanOtS1KPafffdzdixY+0TcDdQeSBK/HQJ4e+9915z3nnnmX333dc1SZjL028U80Hh2gpdP/nkk+1Np25QFYp92GGH2TEosX1Q6HOFgYLd7Lrrruahhx4yRx11lFFOLmdO/JSQ2q1bN9umqlWKl/CssC7d0G+77bZ+SHyQSdOmTc3AgQPNv/71L1OjRg03/YzfJaQqpP6ggw7yvUEdS3Wq9dF4FBoWZqW8HmHzZV/5ENAfxfpjurPnaS1vaf3Ouemmm8oHQBZn+vzzz5uGDRva17vvvpvFnrPblSILMjHlpXbzu/3229PqQjkH3bku3Ug6HZx55pn++fEKBCpqQP/PK2JAYueBBx5olJpGDzY7depkzz/mmGOMIiowCFQlAqoCrwe5+n2tez7dV0rg13dZD67k4akUTxL+VRhTD851f6sHWYq60UN5l16pKs2bsUIAAhCAAAQg4EUMe6GyEUBAIBMC+uooDP67776z4dYKj1foukTQfJpCv/VHnITMN998s0IYfOxYli5dapPgywtG4qBe8sApBVPaAeX8VJV23eRrbsrbKja5MH0H5BWhPxT0R4S+A/ISTcfytR76o0YisTOJVG+88Ybb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9XcU0Yf333/fjBw50o7ojDPOMCeddFJWR3fWWWeZJUuWmDp16phx48ZltW86gwAEIAABCEAAAqVEQILnq6++ar7++msrfio1QvPmzU3dunUrhLzLQ1Ti6MyZM408iPXac889ze67715KSJgLBCAAAQhAoGAEEEALhr74Lrxs2bJKDUoiainas88+a4JstD1gwICinKpySbmxrlq1Kutj/PXXX23/ug4GAQhAAAIQgAAEIBBOYNasWeb11183M2bMMApx32WXXazXZ3hrY2rVqmW22GILozB4CaefffaZ+e233+x9V9euXa2HaLxz2Q8BCEAAAhCAQHICCKDJGZVFCyVeb9WqVVpzXbFihfn+++/9c5TEvdRs7ty5Rjewsnr16tl8TRMmTDDnn3++vZkttfkyHwhAAAIQgAAEIACByhGQ96Y8PxX2vtVWW5nNN9885Q51Ty4RVOHwX375pQ2PX3/99c2BBx6Ych80hAAEIAABCECgIgEE0IpMynJP9erVzT333JPy3FXZVCKgszZt2pguXbq4zZJ5V/i7TOJur169zE033WTkWamb2mOPPbZk5slEIAABCEAAAhCAAAQqT0CROBMnTrTi5XbbbWeLG2XS64Ybbmjat29vpk+fbnOIbrLJJtaLNJO+OAcCEIAABCAAAWPWBwIE0iXw559/msGDBxt5R8oaNmxohg8fbiSilpIpzFvenrJ27dqZgw46yAqh2n7uuef0hkEAAhCAAAQgAAEIQMAn8NZbb5kvvvjCKN+n7pErY7q33nHHHW0O0ffee89Pc1SZPjkXAhCAAAQgUK4EEEDLdeUrMW8VAfrwww9tD7oxGzFihNl0000r0WNxnjplyhSjnJeyPfbYw4bAqyKnTOKvwpowCEAAAhCAAAQgAAEIiIBC32fPnm0UKdWsWbOsQNloo41MkyZNzDfffGM9QbPSKZ1AAAIQgAAEypAAIfBluOiVmfIzzzxjnn/+eb8LFQNS+HsiU1VLnac8RroxVGjQ1ltvbRQWpITwnTt3TnS6f0wVNN988037FHzOnDnW43T77bc3eh1xxBGVfsruX+h/H1544QV/lxM+DznkEPPuu+/a/SqGJM/QRHbHHXcY5UrV0/vDDz/c/PLLL35CfCXFV2h9y5YtbT/HHHNMUi9aFZp65ZVXbB/ffvutUU4ohUftvPPO5tBDD407FHkivPTSS/b4DjvsYHnFbewd+OGHH8yDDz5om6j/bt26JWoedezpp5/2vYOVN1WpA8K8g/O9nlGDZAMCEIAABCAAAQhkmYDutxYuXGgrvSuXZ7ZMxZGmTp1qvvrqK7P33nuThz5bYOkHAhCAAATKigACaFktd+Umq2qUY8aM8Ts54YQTzGGHHeZvh32YNGmSufXWW82SJUuiDqsvvSSM7rXXXuayyy6LK2CuW7fOPPzww+a+++4zf/31V1Q/KsKkUKMnn3zS9rHvvvtGHc9048cffzQfffSRPV3J61u0aGE/a6x16tSxVTnfeOMN069fP1O/fv24l1EIvfqSCCyx9+KLLzYSLoP23XffGfWltkOHDrVP+YPH3ecFCxbY6vOqDBq0xYsX23Pfeecdc8ABBwQP+Z+VTF/5TMVPvCTkVqsW/8dfYun48ePt+fJ+TdUeeOABP5esuNx4440VxM9CrGeq46cdBCAAAQhAAAIQyITAmjVr7IN+eX9mOzJKD8wVUq97ynnz5pm2bdtmMkTOgQAEIAABCJQ1gfgKSFljYfKxBHTDddVVV/kCpMS8Pn36xDaL2lYI+dVXX+3vkxekPBUbNWpkPQTlSbl06VLrUdmjRw8rcDZu3Nhv7z5cfvnl5v3337ebNWrUsFUw5fUpb8iZM2caCX/yrLziiivMBRdcYE4++WR3asbvL7/8spFQJwt6VtasWdOKjMoBqhyhEgpPPfXUpNeR6HneeeeZn376yWy55ZamQ4cOVjiVCKw5SJhUtflrrrnG3HnnnRX6k8ipolMuJF+eAPvss4+tEqpQq7fffttyVKL8MFMl0T333NNMnjzZ9vHBBx9YD4KwttqnIk+yjTfe2J5nN5L8I5HaFdLS9SSWb7PNNhXOKsR6VhgEOyAAAQhAAAIQgEAWCegBte5HdQ+UC1MRJN1P6p4QATQXhOkTAhCAAARKnQACaKmvcBbmJ6FR4qdC12Wbb7659VRM5EEooW7UqFG2vZ5aS/yLFSYVGq7iSRJCly9fbgWzkSNH2nPcP6+99povfipkftiwYRVyKkn0U1Em3XRKgJMXZGWevEciET9cXOFLseHf8np1RZD0fsopp5hkYU4K/5f17t3bCqZBdhIjJQpKBFU7hTe1atXKIbDvt912my9+ystV81V1UGc9e/Y0gwYN8kPP3f7gu8YtAVQmb1OFUIWZcpvKK1Wmwk/BsYa1175x48b5wq3YS/yU52ys5XI95Q0sj9x4Js8MjUnfZ/3xgEEAAhCAAARyReD44483+n9HXnv3339/ri5Dv0VEQPehv//+u1HOzlyY+pV3qbsfz8U16BMCEIAABCBQygQoglTKq5uluanokRPwatWqZa699tqEYd+6rAQwd4OmUPlY8VNt6tatawsoKTxbJk9Ol19T2wobv/322/XRyPNT4eFhCeV32mknKwiqXfAcbWdiElSdALj77rvbP16C/ciTVTlMZWrnQuWDbcI+K3y+e/fuFQRF5Rc98cQT/VOct6vb8d///teGyGtbHpnyqg2Kn9qv5PgSk5UTNJ7JA1TnyySE6iY6zJRj1FmyFAdq99hjj/nrJA/eW265JVT8DK5NLtZT/Uu8jfeSp6y+v7o2BgEIQAACEMglAf1fqtQzr7/+ei4vQ99FRED3IXrImqv7DOVT//PPP82qVauKaNYMBQIQgAAEIFB1CMRXS6rOHBhpDgkoR6du4J0pzNzlw3T7wt6diCehTqJfPJN34VlnneUfnjhxov9ZIfQud6hyVoZ5FLrGHTt2tAnntS0vQ4WnZ2rB+QbD34P9BferGFIqdvrpp8dtpkJDzlyYu9t+77333Edz0kknGYXhh5lC67t27Rp2yO4T64MPPth+1g36m2++WaGt9isfqUwet8nW+oknnrCCp9pLyJb4qfD8MCvUeoaNhX0QgAAEIAABCEAgmwSUOklRRMmigip7TV0DgwAEIAABCEAgfQIIoOkzK5szYoseScjs0qVL0vnL81Ph7TJViE9UJEhtgqHY8nZ0piqazpJVW1c7eWbKdAMaWyjIHkjhH4UuOWFQoUbxiiopLN55W0rYU47UZBZPGNR5qpbuTE/3g/bJJ5/4m/J2TWTyMk1kQY9OhcHHmubi1i7YNradtlXtfezYsfaQWKjgkdIjxLNCrGe8sbAfAhCAAAQgAAEIZJOAPD/1sDn2Pi5b19D9rcTVeA/Cs3Ud+oEABCAAAQiUKgFygJbqylZyXhL0lGfSVV1X+HTQUzNR90ERU6HZyax27dpWAFQeUIlk7ul5sFq6KsmHFQcK9i3x0pn6SeQx6trFvitUTTm7ZPJoVDGkeKZiTsolqRvS559/3vTq1SteU1sJXcnr41kwz6b6C5oKJznTNRNZsuPy6lR+UeUZ/fjjj61wq/xkzlzxI+VtVf7PeCbWEjydaczynD377LPdrgrvuV5PpSUIplCIHcCCBQuMUhrgORFLhm0IQAACEIAABCpLQA/8dU8bL8VQZftXv+6eubJ9cT4EIAABCECgHAkggJbjqieZs8KgVfTo559/ti2Vd/Mf//iH7/GY5HQrYro2yQQ5104inARQ5U9SCLhyVQYFMyWWT8dUECcTC4a/f/311+aGG25IqRsJoKpkHxQygyfqhjXTkCiXS1X9NWzYMNhthc+p8JZnpwRQCYFKF+Cq2Os6LnWBBO9EVUydiKjvhtIUSDT+z3/+Yz1mW7duXWFc2pHr9ZRom4iPvl9O0A8dIDshAAEIQAACEIBAhgSUB10RPZlGISW7rO6F1b+ug0EAAhCAAAQgkD4BBND0mZX8GcGiRwoD/+c//2nq1KmT8ryD4dy//fZbSudJnHLmqmcGC/2ceeaZSUPp3fl6TyVkPthen7/55hu/2FPssWTbS5cuNQof33///ZM1Tfu4xFNn4ukKGbl9wfdUBD55dipXp/KkyuPTCaDyfnXnB3OcBvsPfpY3qbxAlbf15ptvtueOGDHC3HfffdbjNdhWn/O9nrHXZxsCEIAABCAAAQjkioDuf5XuaNasWTmpBq8Hzi1btvQLceZqHvQLAQhAAAIQKFUCCKClurIZzksFfZwXpDwW5fmZbii5ivE4S+UpuHIlSUCUSfxUlUuZvAunTp1qPyu/5x577GE/5+ofN2/1r6r1PXv2THqpu+++26hQlEzsciGAyqtx/vz59ho//PBDQgFUIfnJrG7dumafffaxxY7mzp1rFBquNXaVahXClSyXqPJcSfRUXyeccII998svv7TjlAB6zjnnVBhGvtezwgDYAQEIQAACEIAABHJIQFEwM2fOtPdDyoOfLVNqKkW6NG/e3Gy66abZ6pZ+IAABCEAAAmVFgCJIZbXciSerokc33XST30g5P5MJYX7jwIegACqvShcuHWgS9XHevHl+m+C5EsycKWQ7mc2ePdt88cUXNnQ/2TVj+5II6/Jf6tjhhx9uxT0JfIleRx11lN+VxNpgmLd/oJIfgpXYxTORfffdd4kO+8eCBY7eeecdo/B3sZPJQzReKL/rQAKouMhUAOnyyy+3N+baHjdunL351+eg5XM9g9flMwQgAAEIQAACEMgHAT2w32abbcyqVavsvVU2rqnoHD0IV7+77LJLNrqkDwhAAAIQgEBZEkAALctlrzhpeWAGix6p2rtyWmZiqk7pRDsVI3rzzTcTdvPQQw/5x4NV111Vdx2Ul2WipPLKQTlgwABz7rnnmqOPPtreKPqdpvBBxXNcnlGFF+kmMxXTPFVUyJm8QLNtQa/SRx55xBeLY68j0fepp56K3R26rWJAzoPg7bfftsWDnGicSvh7bKfbbrut/31RQaSRI0ca5ZINWj7XM3hdPkMAAhCAAAQgAIF8ENAD5L333tvIE1S55JXbvrImJwDlym/btq31AK1sf5wPAQhAAAIQKFcCCKDluvKBeUuouvLKK/2iRxKqtF0Zu+CCC/zTVb1doTthpryZTiBV6Huw8rhChyTEylQJ3eWZDOvntttu85+077bbbikLmK6vYPh7t27d3O6U3uUt6kxV410Vebevsu+64d1+++1tN/KWffLJJ0O7lEiczEPUnagwqkMOOcRuKnR9/Pjx9rPyekoAzsS6d+/u35jLU0Gh8EHL53oGr8tnCEAAAhCAAAQgkC8CupdSBJUeps+YMcN6g2ZybT1QVnSTbKeddjJdu3bNpBvOgQAEIAABCEDgfwTIAcpXwcgDUCJY0OQNmq7JC1AemLJdd93VdO7c2YqbCstWESOJogrdcTktJ0yYYMOl3XXOO+8807RpU7dp3/v06WO9EyUqvvDCC+a///2vOfvss61IV6tWLevp+fDDD9tq5jpB3qe9e/eO6iPZhrxfXfVzhXMfeOCByU6JOu6KCklIVjGnN954wxcXoxpmuKFcrAox17x0Mzx27Fgjz9pjjz3WJsLX5+eee8488cQTaV1Bnp5iJ3Pr70TRtDr6X2MJ2AMHDjRaR3mTyltVHr3BHFj5WM9Mxs45EIAABCAAgWwSUDSK7l1ctEU2+6av4ifQqVMno8KVuq/8/PPPje6R0/kuKIRe4qcKYeqeWg/nlX4IgwAEIAABCEAgcwIIoJmzK5kzJaoFzYlhwX2pfNbNWtAUki4h7K233jK//vqrUYVwmbwPXbVxbUvgk0B64oknajPKGjdubEaNGmVDqlX9UjeR/fr1s21i+9H28OHDzQ477BDVR7IN5f50DBQavskmmyQ7Jep4nTp1rNgrQVemMPjKCIlRnf9vQ2H2Q4YMMcOGDbOh5fL21CvIQDfGEplHjx4d1kWFfSp81K5dO8tUB9XXwQcfXKFdOjskdh5//PHWS1VMr732WnPvvfdaYVr95GM90xkvbSEAAQhAAAK5IKB82Fj5EtC9rR6oq7CkHtgrHF4OAbr3atCgQVwwupdWOz2cb+4VPGrfvr29N5MQikEAAhCAAAQgUDkChMBXjh9nJyCgmz4JkqokH/TsdOKnnoorROiWW26xAmi8rvTkW3lCVXDIFd5R22A/ejKuNplUiq9M+LsbczAMXsWE5syZ4w5l7b2z51GrUP/gHB0DFY+6/vrrzZ577pnW9YLFkOStkK74G3Yxeapuvvnm9pA8diWABi3X6xm8Fp8hAAEIQAACEIBAoQjowfoJJ5xg9ttvP7PFFlvYYpmKOpKzgdIWLViwwEYzKc/ntGnTbMi8HmjrXk/3aEceeaT1Ai3U+LkuBCAAAQhAoJQIrOd56EVKaULMpXgJqIiRcljKk1NhQKoKnugpeLyZ6Km4+lFieQmrepXbk3Ex1E2zwuuUszUTjuIrr1V5lcrkoasb9HxbvtZTf2goBM2ZBGWlK8AgAAEIQAACEIBALgnoz625c+fasHalLlLhTd3H6kG2vEWVwkkRRXqArByiurfbcMMNczkk+oYABCAAAQiUHQFC4MtuyQs3YYmUKuhTWZN4mk4epcperxjPb9SokdGrsqaiTTIJqPLGLYSxnoWgzjUhAAEIQAACEMgXAYmcLVq0sK8///zTFh5V3vi1a9faFES6R1YUTrk90M8Xf64DAQhAAAIQEAEEUL4HEChTAvKInDp1qp29wqyqVePXQZl+FZg2BCAAAQhAAAJ5IqD7rWw9yM7TkLkMBCAAAQhAoCQIoHiUxDIyCQgkJ7BixQrz+++/2xCrmTNnmn/+85/2JN2Iq3ARBgEIQAACEIAABCAAAQhAAAIQgAAESpEAAmgpripzgkAIAeVNVZX4WDvnnHPMZpttFrubbQhAAAIQgAAEIAABCEAAAhCAAAQgUBIEqAJfEsvIJCCQnEDjxo0rNFJ10VNOOaXCfnZAAAIQgAAEIAABCEAAAhCAAAQgAIFSIYAHaKmsJPOAQBIC8vI866yzzJw5c0zTpk1Np06dTIcOHZKcxWEIQAACEIAABCAAAQhAAAIQgAAEIFC1CSCAVu31Y/QQSJnABhtsYHr27JlyexpCAAIQgAAEIAABCEAAAhCAAAQgAIFSIEAIfCmsInOAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEQgkggIZiYScEIAABCEAAAhCAAAQyI9CkSRNTv35906ZNm8w64CwIQAACEIAABCAAgawSIAQ+qzjpDAIQgAAEIAABCECg3AksX77crFy50qxYsaLcUTB/CEAAAhCAAAQgUBQE8AAtimVgEBCAAAQgAAEIQAACEIAABCAAAQhAAAIQgEAuCCCA5oIqfUIAAhCAAAQgAAEIQAACEIAABCAAAQhAAAJFQQABtCiWgUFAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACuSCAAJoLqvQJAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIFAUBBNCiWAYGAQEIQAACEIAABCAAAQhAAAIQgAAEIAABCOSCAAJoLqjSJwQgAAEIQAACEIAABCAAAQhAAAIQgAAEIFAUBBBAi2IZGAQEIAABCEAAAhCAAAQgAAEIQAACEIAABCCQCwIIoLmgSp8QgAAEIAABCEAAAhCAAAQgAAEIQAACEIBAURBAAC2KZWAQEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAQC4IVMtFp/QJAQhAAAIQgAAEIACBciVw3XXXmbVr15q6deuWKwLmDQEIQAACEIAABIqKAAJoUS0Hg4EABCAAAQhAAAIQqOoE+vTpU9WnwPghAAEIQAACEIBASREgBL6klpPJQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAkECCKBBGnyGAAQgAAEIQAACEIAABCAAAQhAAAIQgAAESooAAmhJLSeTgQAEIAABCEAAAhCAAAQgAAEIQAACEIAABIIEEECDNPgMAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIlBQBBNCSWk4mAwEIQAACEIAABCAAAQhAAAIQgAAEIAABCAQJIIAGafAZAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQKCkCCKAltZxMBgIQgAAEIAABCEAAAhCAAAQgAAEIQAACEAgSQAAN0uAzBCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgUFIEEEBLajmZDAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIBAkUC24wWcIQAACEIAABCAAAQhAoHIEZsyYYdatW2dq1KhhWrduXbnOOBsCEIAABCAAAQhAoNIEEEArjZAOIAABCEAAAhCAAAQg8H8EOnXqZFauXGmaNWtmFixY8H8H+AQBCEAAAhCAAAQgUBAChMAXBDsXhQAEIAABCEAAAhCAAAQgAAEIQAACEIAABPJBAAE0H5S5BgQgAAEIQAACEIAABCAAAQhAAAIQgAAEIFAQAgigBcHORSEAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIF8EEAAzQdlrgEBCEAAAhCAAAQgAAEIQAACEIAABCAAAQgUhAACaEGwc1EIQAACEIAABCAAAQhAAAIQgAAEIAABCEAgHwQQQPNBmWtAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACBSGAAFoQ7FwUAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQyAcBBNB8UOYaEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAQEEIIIAWBDsXhQAEIAABCEAAAhCAAAQgAAEIQAACEIAABPJBAAE0H5S5BgQgAAEIQAACEIAABCAAAQhAAAIQgAAEIFAQAtUKclUuCgEIQAACEIAABCAAgRIlMHnyZLNu3TpTo0aNEp0h04IABCAAAQhAAAJViwACaNVaL0YLAQhAAAIQgAAEIFDkBHbeeeciHyHDgwAEIAABCEAAAuVFgBD48lpvZgsBCEAAAhCAAAQgAAEIQAACEIAABCAAgbIigABaVsvNZCEAAQhAAAIQgAAEIAABCEAAAhCAAAQgUF4EEEDLa72ZLQQgAAEIQAACEIAABCAAAQhAAAIQgAAEyooAAmhZLTeThQAEIAABCEAAAhCAAAQgAAEIQAACEIBAeRFAAC2v9Wa2EIAABCAAAQhAAAIQgAAEIAABCEAAAhAoKwIIoGW13EwWAhCAAAQgAAEIQAACEIAABCAAAQhAAALlRQABtLzWm9lCAAIQgAAEIAABCEAAAhCAAAQgAAEIQKCsCFQrq9kyWQhAAAIQgAAEIAABCEAAAhCAQAkT+PPPP82qVavMH3/8YfT5r7/+MpFIxGywwQb2VaNGDVOrVi1Ts2bNEqbA1CAAAQhEE0AAjeZR9Fu///67WbRokfnll1/sf16bb7652WyzzUy1auW5lPqPXDy+//57U7duXdOgQQPTqFGjol9HBggBCEAAAhCAAAQgAAEIQCCbBNauXWuWL19uVq5c6QugEj9l6623nhVB9V69enUrgNauXdvUqVPHbLTRRtkcBn1BAAIQKEoC5amaFeVSxB+Untw9//zzZtKkSWbGjBlm3bp1UY3XX399s/POO5vjjjvO7L333lYYjWoQszFx4kRz8803273nnHOOOfzww2NaFPfmggULzNNPP21mz55t5s6da/+DD464cePGZq+99jKnnHKKadq0afAQn5MQeP31182YMWNsq7POOsscddRRSc7gMAQgAAEIQAACsQTuuusu63UlYaFHjx6xh9mGAAQgkHUCK1asML/++qsVQCV6ysOzXr16FRxl9LfkmjVr7N9QOkcONnIk2WSTTZL+HZn1QdMhBCAAgTwSQADNI+xMLvX++++bG264wSxevDju6fpPbNq0afbVpEkTM2TIELPDDjvEba//8JYtW2aP63NVsgceeMDcf//9Nowj3rh/+OEH88wzz5gXXnjB9OrVy5xxxhnxmrI/hoDE9qr63YiZCpsQgAAEIACBghHo37+/FReaNWuGAFqwVeDCECgPAoqI0/27IgR/++03I69OveKZnGc23HBD+5LHqERQ/U2ovykVTafweAwCEIBAKRJAAC3iVZWXo7zxnMen/rNq06aNadGihX0pZ4vCvz/99FMzdepUOxNtX3DBBebSSy81hxxySBHPLv2hPfbYY+aee+7xT9x0003NPvvsY/S+8cYbm59//tkKxe+88479j1z/od9555023OP000/3z+MDBCAAAQhAAAIQgAAEIACBUiAg8VN/B61evdoKmMrzmaopFF6enxJBf/zxR/t3ZzmnV0uVG+0gAIGqSQABtEjXbfr06ebGG2/0R7fNNtuYgQMHmh133NHfF/wwb948217nyYtvxIgRNp+LBMJSMP3HrnAyZ+eee6456aSTbP4at8+99+vXzwqf8gKV6bzOnTubLbbYwjXhPQ4BpVIYNmyYPSqhHYMABCAAAQhAAAIQgAAEipOA8n3K89OJn8rvmYkpBF7eoxJSJaBKBM20r0yuzzkQgAAE8kFg/XxchGukR0CV+oLip/Iw3nvvvXHFT/W+7bbbmtGjR5uDDjrIv9h1111n88D4O6rwh1dffdUKu5rCoYceauTRqSeWYaYk3go969Spkz0sD1p5j2LJCaiolsRivbbccsvkJ9ACAhCAAAQgAAEIQAACEMg7AVfwSMJl/fr1Ky1YKmexRE/lEdULgwAEIFBqBBBAi3BF5bkoj06ZBCl5NMYT+4LDV5tBgwaZ5s2b293ymrz99tuDTars5/nz5/tjT8WrVf95qwiSs88/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nj7+4Q9/cA9iOmattdYyRxxxhJl22mldEZtsson561//ag4++GCn/DzzzDPN6quvbuacc856qiAvBHIn8OWXX5q33nrLlbviiiuasWPHVq1j6qkJXV4VEDt7hQD3317BTqU9QIB7dA9ApopCCUyePNlcdNFF5uqrr67Lq+rjjz82p556qmubvE/klTVs2LDQ1p122skZFdx7773mtddeMxdffLEzXggZSECgYAKNnttq1iuvvBJad8oppxgZzlQTXQPtIihA22Uk6QcEINDSBPSSccEFF5jrr7++rgc0dfrTTz81N998s+u/4hLFyk8PZZlllnHbDz30UOfGo/w777yz380SAr1CQNYTPszDEkssYeaYY45eaQeVQqBRAtx/GyXHca1AgHt0K4wSbaxEQB5QJ554YvjQWilfue3XXnut85zSvj322COh/NS2Pn36mCOPPNLFBJ0wYYK54447zO67725mmmkm7UYgUCiB7pzbapi37J9mmmnMcsstZ6affvpC29tMhWNK0UyjQVsgAIGOJCD3mR122MFcd911Thk01VRTme23395kdaW57777jBSokk033TRYfqZhyiV+0KBBbrMUoN9++206C+sQ6FEC/gFMlQ4dOrRH66YyCORBgPtvHhQpo1kJcI9u1pGhXdUI6MOqrDc1aaL3Mpl//vkzT3qksv3ko5rgaMMNNyxbnbxSttpqK7dPz+FSgiIQKJJAHue22ufv7YMHD+4o5af6jgJUFBAIQAACvUhAM2C/++67rgWygFOMot12283oq5xECtFqIrd5LyNGjPDJsku5GUs++ugj88wzz5TNw0YI9BQB/wCm+lCA9hR16smTAPffPGlSVrMR4B7dbCNCe7IQ0MzWN954Y8g6evRo5wYfu/lWe7bWM/m//vUvd7zc3n1IqVBglIhnxtaEYQgEiiTQ3XNbbfvwww/NJ5984prZic/euMAXeYZSNgQgAIGMBGabbTb3FXnMmDGm3jgrsiCV6GFuoYUWqlpj/PCnmEW1FKZVC2MnBLpJwL9c9+vXz8w999yuNH3dfv/9942sLvr27dvNGjgcAsUS4P5bLF9K710C3KN7lz+1d4/A8OHDzY477mgUBqoe8fd1HRM/N5crY/bZZ3fhe2RYoOdqBAI9QaDRc1tt8/d1pRdbbDEtnHzxxRdGsW8HDBgQjHD8vnZaogBt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upax+7ti7Y0ZM6au48ncswT++te/Gs1C7WWmmWZyLpTLLLOM31RzKTf522+/3ci10otmypY1KAKBZiOwyCKLmPnnnz80K0scUDs5jHnsscfCMVJ+xtab+mAQf/gJGaPEV1995Syj/SZZSiMQyIuAwit4WXHFFU1a0e/3lVuOGDHCHHjggWGXzuXYkyPsIAEBCEAgRQAFaAoIqxCAAAQgAIFOIyA38Oeee87FhbOz0Xe7+5rowc7aazSBRlGy/fbbJxRYf/zjH+uuys7qnVAS2BmTG5rg44MPPjB2llwjRWweonIU20yufXmVGberFcfbt/+cc84x33zzjV91brxLLbVUWM+akFJJbvRevvjiC6Oy6xWd488//7x5//33cx2rvMeo3n7Vyp/3Oe/rU7xJxWx98cUXE+Ps99e7LPpaKopDup/rrLNO2KR7da176z333GO8u7WsJ5dbbrlE/E4dX2viMDsDfUJJGitQQ2NqJHqKT9yMosdcdRV13cf9qJYugqtCiyjWpv6KFsVfjj84LbvssnVXKUvQWF544YV4NVNailP9zur3O/5dyXRwmUw69+SNoli9ef52q50TJkxIXI9lqu+yqYjzpEslbIBAixFAAdpiA0ZzIQABCEAAAt0hIAXDZZdd5uIhakZfTRLjX5DldjjHHHM4ayPNhB7P/lutTr04XHrppWaVVVYxiuMll+Sll17azDrrrGbw4MFmww03NIcccoibiKZaOfXsUx2bbLJJOEQvP1IM1COx9aeOy+r+LuWUYo5tsMEGRrHpxFAKtdlmm83N7qvYenqpqkf0snTTTTeZ1VZbzciNW/EoF110UTceqkfugl6hoViXa6+9tvs766yzqlbTLuOtTuo804RXXjQh1sEHH+xX617Kgmj66ac3q666qjn00EON4r9mkWeffdbFGpXVad++fY2WAwYMcGlNwPTMM89kKSbkKWKMQuE5JfI65+++++5w7sq92cu9995rNt98czPzzDO7+49crTW+Clnws5/9rK4QF0VdS2prXhx8v7MuY+s4nS+xdWe5MmIXd1luahIk3aMWXHDBkP3Pf/5zSJdLxPE/FZMxiwVoXnxkoervcVq+/vrr5ZoYthU55r6SRq97jZXvi5TKXvSb5bdrWc2yNy+uvm6/lNJTE2zpHqjfHf1e62/QoEFmm222Mdddd53PmutSlvs6J71IAVmvyAp0q622Mrvuuqs57LDDjKycs4iUk4cffrjrp/qs31ldG0ovtNBC5uc//7n7oJWlLOWR671+84cPH+6eeRZYYAEzZMgQ93swatQos+eee5qXXnqpZnGa4MmfD/vtt5/Lr7b+6Ec/cs9UmthP90c9D1T6eFHUeVKz8WSAQCsRsD8YCAQgAAEIQAACvUzAWl7KfDD8rb/++rm36P777y/ZB/NQR1xfpbR9eC/ZF+6KbbEvLiXrnpmpTOtyXDryyCMrllXvDvsCn6j3oIMOylyEVSaWrJIxHG9fXjIday2rSjYWXjiuEjf7olKykzJkKtNaD5asC2DNMq0SpKTzxM6QG/Luu+++Fetot/G2Lo6h3+JuXwwr9j3rjq+//rpiVvuhIFGftRguXXDBBaUZZpghsT19DvTp06dkFdYVy4135D1Gp512WqJt1soqrs6ls+SJD8rznI+ZWuVmySq1S3vssUeizWmeWrcfaUoa/1pS1LWkevPkUKsf6f3vvfdegpH9CJLOkliP71G///3vwz6rdA7l2DjKYXu5hO43fiw0VrUkTz5XXXVVqFttsB4FFavPe8zjc1R1d/e6t4qtRF880/TSfgAr28c8ucYVZOVmP16WXn755UQf7MSDcVENpe0H11CmVYaW7GzwDZWT9SCr7C3Z8Ckl1ZVmn17X7/fJJ59ctWgbIqJkY0eX7IeamuXpN0Pl6bmjkuh5wbfDfggt6Zq3ytSwze/T0novdCmmqPOkS0VsgECLE5B5NgIBCEAAAhCAQC8TKFoBai2CStbaLfEwrYfyxRZbrGStDkojR44sWSu2krX0SeTRw3YlRd6kSZNK1nIikd/G0XTKPGv16cq0FqWJ/Srv2GOPzYV2Wompl/5qLxhxpdYSLdGuSn2Mj5GCNc1HTIcNG1ay1oMla/GaKFN9tZM6lKz7WlxMIm3dDUvxi6CO0Z+4WQvdko1XmShTvGNlaSUFaDuOd6y8ESPrsp5gmfdKWhESK4RUv7UYcud/pRdga1lVtUlFjFEW5WaWPL7heZ/zMdPll1++tNtuuyXObykn9GGinJJC156USZWkqGtJ9eXNoVIfqm23VvWBlXVHr5jVxskN+XSevvXWWyGvzklt839iVk70YcBa6YV81sKuXLawLW8+WRWgRYx5fI6KU3eve52zOp/LndN+u5blFKB5c/UDZi1qS9baMYyvPx/0e6PfHX1w8Nu0tBaiifU8FKB6DojrsNb0pTPOOKP02Wef+WbmttT5bF3mE/Wpbn2UteEh3DOQnn/i9iitD17lxIZAKK200kpd8uvjl3XnL+mDqp2kqct+axFaKvdRSnWkFaBbbrlll+N9+/TxN5aizpO4DtIQaBcCKEDbZSTpBwQgAAEItDSBIhWgeliPrR31snXccceVrLtUF2bWVau02WabJR68rYtYWcWinYgo5NPD/u9+97uSrCJi0YuHtsdWc7KukPVJHnLEEUeENujlwLrSZirWxvsMx6k9n376adXj0ooDvaxdeOGFzoLNHyjl65NPPlmSZZV/UdHypJNO8lm6LK1baSKvXp6sK38inyyQZBESl+nT++yzTyKvVtp1vEePHp1gYGNvdul7nhvSihDPXApvO4lSSRZFXjRmern1ebS07sZ+d5dlUWOURbmZJY8aXMQ5HzOVssDzsmEESnfddZc7d1W37k1SCGm7z6OljYWp3WWliGtJFRXBoWwHamzcf//9Awt9bKlkma/7jWdm4+MmSrWxF0sx90offuwENaEMlXXfffclyolXiuCTVQFaxJjH56jnqGUe1708O3yZ+uhYTYrg6utbb731QjvUHn2MsC75fre7t40fP77L9efbbmNuh7yNJnSN6x7py/RLfVCS8s9OTFeqpKCvt860stWGqympD/Hziu7n2hZ/tNW1omshLRtttFGi3frwe80115S+/PLLkFUfPqX8TitW9dGnnMQK0PhjqpTRO++8c8mGbHEfrAcOHJi49os8T8q1k20QaHUCKEBbfQRpPwQgAAEItAWBIhWgv/3tbxMP61ncc+MXNb2Y2HhwXTjHLy9SqFaTP/zhD4k2SHmYh7z22msJq0wbg7FmsVJ2xtZNermoJnpJivtqY36W7EQHFQ+RBUtsbaKXGbmzpeX6669PMNFLlZ2MJ53NrctV2MY6S+TXuJRTgLbreEsB4V+StZQyp0gppwgZOnRoyU7yVbZajZH2x220k/mUzVvUGGVRbmbJU9Q5X46pQhlUUubZCZFKeuGPmeojTVqKupaK4pBuf5b12267LcHBxqQse5gs+j0vWYalJbbm08eucnLCCSeEMvSBqJIVe1F8sihAixrzcudoXtd9/LtaTQFaFFeN9S233BLGVueJvDUq/e785z//KdmYk4n8OiYP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&quot; width=&quot;672&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Catrina Allen is favored in the FPO with Paige Pierce right behind her. There are several overperformers in the FPO compared to the MPO, which I found interesting. Probably there is more variability in who succeeds at the LVC in the FPO. Interestingly an email just came from the folks at SkipAce saying their expected overperformer will be Ohn Scoggins due to her spin putting in the wind. My analysis doesn’t capture that, so it will be fun to watch for her play.&lt;/p&gt;
&lt;p&gt;Alright! That’s the basic analysis I ran. Hopefully you find it interesting. Because I’ve got this set up now, I’m aiming to in the future add more variables and sophistication into the analysis, maybe have an actual model going. Right now this is pretty simple, but with my limitations in time and current knowledge, we’ll see where it goes.&lt;/p&gt;
&lt;p&gt;If you like this, consider &lt;a href=&quot;https://www.buymeacoffee.com/discgolfdata&quot;&gt;leaving a tip&lt;/a&gt; or using some of the links on the &lt;a href=&quot;https://discgolfdata.com/pages/yadd.html&quot;&gt;disc database&lt;/a&gt; to purchase discs and help me support my hosting costs.&lt;/p&gt;
&lt;p&gt;Peace,&lt;/p&gt;
&lt;p&gt;John&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;To generate the rankings, I did the following things.&lt;/p&gt;
&lt;p&gt;First, I gathered the PDGA ratings for all players from 2020. Next, I gathered the results of the past four Las Vegas Challenges (technically called the “Gentlemen’s Club Challenge” in older years). I used the past four simply because I figured only recent events would be reflective and five years ago just seemed &lt;em&gt;off&lt;/em&gt; when I looked at the results. Subjective, but it’s what I went with.&lt;/p&gt;
&lt;!---Let's look at the top 3 finishers in each year for both mpo and fpo. 

&lt;table class=&quot;table&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;
 &lt;thead&gt;
  &lt;tr&gt;
   &lt;th style=&quot;text-align:left;&quot;&gt; Year &lt;/th&gt;
   &lt;th style=&quot;text-align:right;&quot;&gt; Place &lt;/th&gt;
   &lt;th style=&quot;text-align:left;&quot;&gt; Name &lt;/th&gt;
  &lt;/tr&gt;
 &lt;/thead&gt;
&lt;tbody&gt;
  &lt;tr&gt;
   &lt;td style=&quot;text-align:left;vertical-align: top !important;&quot; rowspan=&quot;3&quot;&gt; 2017 &lt;/td&gt;
   &lt;td style=&quot;text-align:right;&quot;&gt; 1 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Wysocki &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 2 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Mcbeth &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 3 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Mcmahon &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;text-align:left;vertical-align: top !important;&quot; rowspan=&quot;4&quot;&gt; 2018 &lt;/td&gt;
   &lt;td style=&quot;text-align:right;&quot;&gt; 1 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Mcmahon &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 2 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Freeman &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 3 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Wysocki &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 3 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Locastro &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;text-align:left;vertical-align: top !important;&quot; rowspan=&quot;4&quot;&gt; 2019 &lt;/td&gt;
   &lt;td style=&quot;text-align:right;&quot;&gt; 1 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Heimburg &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 2 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; McMahon &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 3 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Leiviska &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 3 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Anthon &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;text-align:left;vertical-align: top !important;&quot; rowspan=&quot;3&quot;&gt; 2020 &lt;/td&gt;
   &lt;td style=&quot;text-align:right;&quot;&gt; 1 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Sexton &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 2 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Gurthie &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 3 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Wysocki &lt;/td&gt;
  &lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;table class=&quot;table&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;
 &lt;thead&gt;
  &lt;tr&gt;
   &lt;th style=&quot;text-align:left;&quot;&gt; Year &lt;/th&gt;
   &lt;th style=&quot;text-align:right;&quot;&gt; Place &lt;/th&gt;
   &lt;th style=&quot;text-align:left;&quot;&gt; Name &lt;/th&gt;
  &lt;/tr&gt;
 &lt;/thead&gt;
&lt;tbody&gt;
  &lt;tr&gt;
   &lt;td style=&quot;text-align:left;vertical-align: top !important;&quot; rowspan=&quot;3&quot;&gt; 2017 &lt;/td&gt;
   &lt;td style=&quot;text-align:right;&quot;&gt; 1 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Pierce &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 2 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Allen &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 3 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Allen &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;text-align:left;vertical-align: top !important;&quot; rowspan=&quot;3&quot;&gt; 2018 &lt;/td&gt;
   &lt;td style=&quot;text-align:right;&quot;&gt; 1 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; pierce &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 2 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Hokom &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 2 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Allen &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;text-align:left;vertical-align: top !important;&quot; rowspan=&quot;3&quot;&gt; 2019 &lt;/td&gt;
   &lt;td style=&quot;text-align:right;&quot;&gt; 1 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Bjerkaas &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 2 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Allen &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 3 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Dyken &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   &lt;td style=&quot;text-align:left;vertical-align: top !important;&quot; rowspan=&quot;3&quot;&gt; 2020 &lt;/td&gt;
   &lt;td style=&quot;text-align:right;&quot;&gt; 1 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Allen &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 2 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Salonen &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
   
   &lt;td style=&quot;text-align:right;&quot;&gt; 3 &lt;/td&gt;
   &lt;td style=&quot;text-align:left;&quot;&gt; Blomroos &lt;/td&gt;
  &lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

So there's a few common names here. Ricky Wysocki and Eagle McMahon both make repeated appearences in the top 3 for this first of the season event. But for &quot;predicting&quot; this year, I want to go a step further.---&gt;
&lt;p&gt;Taking those basic assumptions I calculated a few things for every player. First, I calculated their “mean place” in previous LVCs (so if they came in 10th once and 6th another time, their mean place = 8). Next, I calculated their &lt;em&gt;weighted&lt;/em&gt; mean place, basically giving greater importance to more recent LVCs. Each player was then ranked according to their rating in 2020 as well as their ratings at all LVCs. For all of these measurements, a lower score is better (just like disc golf).&lt;/p&gt;
&lt;p&gt;Lastly, to give a little more weight to the LVC over just general ratings, I calculated the difference between a players weighted mean LVC placement and their rank position in the 2020 ratings. Players with negative values are therefore expected to typically overperform at the LVC. With all that, we can then calculate a total score (our expectation of who will win given their PDGA rating and past performance at LVC).&lt;/p&gt;
&lt;p&gt;Oh - and then I filtered out players who aren’t registered for the tournament (or at least on the waitlist at DGScene).&lt;/p&gt;
&lt;p&gt;Whew.&lt;/p&gt;
&lt;/div&gt;




&lt;/div&gt;

&lt;script&gt;

// add bootstrap table styles to pandoc tables
function bootstrapStylePandocTables() {
  $('tr.odd').parent('tbody').parent('table').addClass('table table-condensed');
}
$(document).ready(function () {
  bootstrapStylePandocTables();
});


&lt;/script&gt;

&lt;!-- tabsets --&gt;

&lt;script&gt;
$(document).ready(function () {
  window.buildTabsets(&quot;TOC&quot;);
});

$(document).ready(function () {
  $('.tabset-dropdown &gt; .nav-tabs &gt; li').click(function () {
    $(this).parent().toggleClass('nav-tabs-open')
  });
});
&lt;/script&gt;

&lt;!-- code folding --&gt;


&lt;!-- dynamically load mathjax for compatibility with self-contained --&gt;
&lt;script&gt;
  (function () {
    var script = document.createElement(&quot;script&quot;);
    script.type = &quot;text/javascript&quot;;
    script.src  = &quot;https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML&quot;;
    document.getElementsByTagName(&quot;head&quot;)[0].appendChild(script);
  })();
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</content><author><name>J. Mola</name></author><category term="discs" /><category term="pdga" /><category term="R" /><summary type="html"></summary></entry><entry><title type="html">Better, faster, lighter: Discs through the years</title><link href="https://discgolfr.github.io/2021/02/07/discs-through-time.html" rel="alternate" type="text/html" title="Better, faster, lighter: Discs through the years" /><published>2021-02-07T00:00:00+00:00</published><updated>2021-02-07T00:00:00+00:00</updated><id>https://discgolfr.github.io/2021/02/07/discs-through-time</id><content type="html" xml:base="https://discgolfr.github.io/2021/02/07/discs-through-time.html">&lt;!DOCTYPE html&gt;

&lt;html&gt;

&lt;head&gt;

&lt;meta charset=&quot;utf-8&quot; /&gt;
&lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=EDGE&quot; /&gt;


&lt;script src=&quot;data:application/javascript;base64,Ly8gUGFuZG9jIDIuOSBhZGRzIGF0dHJpYnV0ZXMgb24gYm90aCBoZWFkZXIgYW5kIGRpdi4gV2UgcmVtb3ZlIHRoZSBmb3JtZXIgKHRvCi8vIGJlIGNvbXBhdGlibGUgd2l0aCB0aGUgYmVoYXZpb3Igb2YgUGFuZG9jIDwgMi44KS4KZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uKGUpIHsKICB2YXIgaHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJkaXYuc2VjdGlvbltjbGFzcyo9J2xldmVsJ10gPiA6Zmlyc3QtY2hpbGQiKTsKICB2YXIgaSwgaCwgYTsKICBmb3IgKGkgPSAwOyBpIDwgaHMubGVuZ3RoOyBpKyspIHsKICAgIGggPSBoc1tpXTsKICAgIGlmICghL15oWzEtNl0kL2kudGVzdChoLnRhZ05hbWUpKSBjb250aW51ZTsgIC8vIGl0IHNob3VsZCBiZSBhIGhlYWRlciBoMS1oNgogICAgYSA9IGguYXR0cmlidXRlczsKICAgIHdoaWxlIChhLmxlbmd0aCA+IDApIGgucmVtb3ZlQXR0cmlidXRlKGFbMF0ubmFtZSk7CiAgfQp9KTsK&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,LyohIGpRdWVyeSB2MS4xMS4zIHwgKGMpIDIwMDUsIDIwMTUgalF1ZXJ5IEZvdW5kYXRpb24sIEluYy4gfCBqcXVlcnkub3JnL2xpY2Vuc2UgKi8KIWZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YS5kb2N1bWVudD9iKGEsITApOmZ1bmN0aW9uKGEpe2lmKCFhLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiBiKGEpfTpiKGEpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9Yy5zbGljZSxlPWMuY29uY2F0LGY9Yy5wdXNoLGc9Yy5pbmRleE9mLGg9e30saT1oLnRvU3RyaW5nLGo9aC5oYXNPd25Qcm9wZXJ0eSxrPXt9LGw9IjEuMTEuMyIsbT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgbS5mbi5pbml0KGEsYil9LG49L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLG89L14tbXMtLyxwPS8tKFtcZGEtel0pL2dpLHE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTttLmZuPW0ucHJvdG90eXBlPXtqcXVlcnk6bCxjb25zdHJ1Y3RvcjptLHNlbGVjdG9yOiIiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZC5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/MD5hP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXTpkLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1tLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYi5jb250ZXh0PXRoaXMuY29udGV4dCxifSxlYWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZWFjaCh0aGlzLGEsYil9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobS5tYXAodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhkLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubGVuZ3RoLGM9K2ErKDA+YT9iOjApO3JldHVybiB0aGlzLnB1c2hTdGFjayhjPj0wJiZiPmM/W3RoaXNbY11dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpmLHNvcnQ6Yy5zb3J0LHNwbGljZTpjLnNwbGljZX0sbS5leHRlbmQ9bS5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz1hcmd1bWVudHNbMF18fHt9LGg9MSxpPWFyZ3VtZW50cy5sZW5ndGgsaj0hMTtmb3IoImJvb2xlYW4iPT10eXBlb2YgZyYmKGo9ZyxnPWFyZ3VtZW50c1toXXx8e30saCsrKSwib2JqZWN0Ij09dHlwZW9mIGd8fG0uaXNGdW5jdGlvbihnKXx8KGc9e30pLGg9PT1pJiYoZz10aGlzLGgtLSk7aT5oO2grKylpZihudWxsIT0oZT1hcmd1bWVudHNbaF0pKWZvcihkIGluIGUpYT1nW2RdLGM9ZVtkXSxnIT09YyYmKGomJmMmJihtLmlzUGxhaW5PYmplY3QoYyl8fChiPW0uaXNBcnJheShjKSkpPyhiPyhiPSExLGY9YSYmbS5pc0FycmF5KGEpP2E6W10pOmY9YSYmbS5pc1BsYWluT2JqZWN0KGEpP2E6e30sZ1tkXT1tLmV4dGVuZChqLGYsYykpOnZvaWQgMCE9PWMmJihnW2RdPWMpKTtyZXR1cm4gZ30sbS5leHRlbmQoe2V4cGFuZG86ImpRdWVyeSIrKGwrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoYSl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzRnVuY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuImZ1bmN0aW9uIj09PW0udHlwZShhKX0saXNBcnJheTpBcnJheS5pc0FycmF5fHxmdW5jdGlvbihhKXtyZXR1cm4iYXJyYXkiPT09bS50eXBlKGEpfSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09YS53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihhKXtyZXR1cm4hbS5pc0FycmF5KGEpJiZhLXBhcnNlRmxvYXQoYSkrMT49MH0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXt2YXIgYjtmb3IoYiBpbiBhKXJldHVybiExO3JldHVybiEwfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2lmKCFhfHwib2JqZWN0IiE9PW0udHlwZShhKXx8YS5ub2RlVHlwZXx8bS5pc1dpbmRvdyhhKSlyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1Y3RvciYmIWouY2FsbChhLCJjb25zdHJ1Y3RvciIpJiYhai5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9mIikpcmV0dXJuITF9Y2F0Y2goYyl7cmV0dXJuITF9aWYoay5vd25MYXN0KWZvcihiIGluIGEpcmV0dXJuIGouY2FsbChhLGIpO2ZvcihiIGluIGEpO3JldHVybiB2b2lkIDA9PT1ifHxqLmNhbGwoYSxiKX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9hKyIiOiJvYmplY3QiPT10eXBlb2YgYXx8ImZ1bmN0aW9uIj09dHlwZW9mIGE/aFtpLmNhbGwoYSldfHwib2JqZWN0Ijp0eXBlb2YgYX0sZ2xvYmFsRXZhbDpmdW5jdGlvbihiKXtiJiZtLnRyaW0oYikmJihhLmV4ZWNTY3JpcHR8fGZ1bmN0aW9uKGIpe2EuZXZhbC5jYWxsKGEsYil9KShiKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UobywibXMtIikucmVwbGFjZShwLHEpfSxub2RlTmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9MCxmPWEubGVuZ3RoLGc9cihhKTtpZihjKXtpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmFwcGx5KGFbZV0sYyksZD09PSExKWJyZWFrfWVsc2UgZm9yKGUgaW4gYSlpZihkPWIuYXBwbHkoYVtlXSxjKSxkPT09ITEpYnJlYWt9ZWxzZSBpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmNhbGwoYVtlXSxlLGFbZV0pLGQ9PT0hMSlicmVha31lbHNlIGZvcihlIGluIGEpaWYoZD1iLmNhbGwoYVtlXSxlLGFbZV0pLGQ9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT8iIjooYSsiIikucmVwbGFjZShuLCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107cmV0dXJuIG51bGwhPWEmJihyKE9iamVjdChhKSk/bS5tZXJnZShjLCJzdHJpbmciPT10eXBlb2YgYT9bYV06YSk6Zi5jYWxsKGMsYSkpLGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2lmKGIpe2lmKGcpcmV0dXJuIGcuY2FsbChiLGEsYyk7Zm9yKGQ9Yi5sZW5ndGgsYz1jPzA+Yz9NYXRoLm1heCgwLGQrYyk6YzowO2Q+YztjKyspaWYoYyBpbiBiJiZiW2NdPT09YSlyZXR1cm4gY31yZXR1cm4tMX0sbWVyZ2U6ZnVuY3Rpb24oYSxiKXt2YXIgYz0rYi5sZW5ndGgsZD0wLGU9YS5sZW5ndGg7d2hpbGUoYz5kKWFbZSsrXT1iW2QrK107aWYoYyE9PWMpd2hpbGUodm9pZCAwIT09YltkXSlhW2UrK109YltkKytdO3JldHVybiBhLmxlbmd0aD1lLGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCxlPVtdLGY9MCxnPWEubGVuZ3RoLGg9IWM7Zz5mO2YrKylkPSFiKGFbZl0sZiksZCE9PWgmJmUucHVzaChhW2ZdKTtyZXR1cm4gZX0sbWFwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxmPTAsZz1hLmxlbmd0aCxoPXIoYSksaT1bXTtpZihoKWZvcig7Zz5mO2YrKylkPWIoYVtmXSxmLGMpLG51bGwhPWQmJmkucHVzaChkKTtlbHNlIGZvcihmIGluIGEpZD1iKGFbZl0sZixjKSxudWxsIT1kJiZpLnB1c2goZCk7cmV0dXJuIGUuYXBwbHkoW10saSl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihhLGIpe3ZhciBjLGUsZjtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGImJihmPWFbYl0sYj1hLGE9ZiksbS5pc0Z1bmN0aW9uKGEpPyhjPWQuY2FsbChhcmd1bWVudHMsMiksZT1mdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGJ8fHRoaXMsYy5jb25jYXQoZC5jYWxsKGFyZ3VtZW50cykpKX0sZS5ndWlkPWEuZ3VpZD1hLmd1aWR8fG0uZ3VpZCsrLGUpOnZvaWQgMH0sbm93OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfSxzdXBwb3J0Omt9KSxtLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtoWyJbb2JqZWN0ICIrYisiXSJdPWIudG9Mb3dlckNhc2UoKX0pO2Z1bmN0aW9uIHIoYSl7dmFyIGI9Imxlbmd0aCJpbiBhJiZhLmxlbmd0aCxjPW0udHlwZShhKTtyZXR1cm4iZnVuY3Rpb24iPT09Y3x8bS5pc1dpbmRvdyhhKT8hMToxPT09YS5ub2RlVHlwZSYmYj8hMDoiYXJyYXkiPT09Y3x8MD09PWJ8fCJudW1iZXIiPT10eXBlb2YgYiYmYj4wJiZiLTEgaW4gYX12YXIgcz1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1PSJzaXp6bGUiKzEqbmV3IERhdGUsdj1hLmRvY3VtZW50LHc9MCx4PTAseT1oYSgpLHo9aGEoKSxBPWhhKCksQj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09YiYmKGw9ITApLDB9LEM9MTw8MzEsRD17fS5oYXNPd25Qcm9wZXJ0eSxFPVtdLEY9RS5wb3AsRz1FLnB1c2gsSD1FLnB1c2gsST1FLnNsaWNlLEo9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEs9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkIixMPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixNPSIoPzpcXFxcLnxbXFx3LV18W15cXHgwMC1cXHhhMF0pKyIsTj1NLnJlcGxhY2UoInciLCJ3IyIpLE89IlxcWyIrTCsiKigiK00rIikoPzoiK0wrIiooWypeJHwhfl0/PSkiK0wrIiooPzonKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcInwoIitOKyIpKXwpIitMKyIqXFxdIixQPSI6KCIrTSsiKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIrTysiKSopfC4qKVxcKXwpIixRPW5ldyBSZWdFeHAoTCsiKyIsImciKSxSPW5ldyBSZWdFeHAoIl4iK0wrIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrTCsiKyQiLCJnIiksUz1uZXcgUmVnRXhwKCJeIitMKyIqLCIrTCsiKiIpLFQ9bmV3IFJlZ0V4cCgiXiIrTCsiKihbPit+XXwiK0wrIikiK0wrIioiKSxVPW5ldyBSZWdFeHAoIj0iK0wrIiooW15cXF0nXCJdKj8pIitMKyIqXFxdIiwiZyIpLFY9bmV3IFJlZ0V4cChQKSxXPW5ldyBSZWdFeHAoIl4iK04rIiQiKSxYPXtJRDpuZXcgUmVnRXhwKCJeIygiK00rIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrTSsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrTS5yZXBsYWNlKCJ3IiwidyoiKSsiKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrTyksUFNFVURPOm5ldyBSZWdFeHAoIl4iK1ApLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcKCIrTCsiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrTCsiKig/OihbKy1dfCkiK0wrIiooXFxkKyl8KSkiK0wrIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK0srIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitMKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK0wrIiooKD86LVxcZCk/XFxkKikiK0wrIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFk9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxaPS9eaFxkJC9pLCQ9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLF89L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLyxhYT0vWyt+XS8sYmE9Lyd8XFwvZyxjYT1uZXcgUmVnRXhwKCJcXFxcKFtcXGRhLWZdezEsNn0iK0wrIj98KCIrTCsiKXwuKSIsImlnIiksZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSIweCIrYi02NTUzNjtyZXR1cm4gZCE9PWR8fGM/YjowPmQ/U3RyaW5nLmZyb21DaGFyQ29kZShkKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKGQ+PjEwfDU1Mjk2LDEwMjMmZHw1NjMyMCl9LGVhPWZ1bmN0aW9uKCl7bSgpfTt0cnl7SC5hcHBseShFPUkuY2FsbCh2LmNoaWxkTm9kZXMpLHYuY2hpbGROb2RlcyksRVt2LmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaChmYSl7SD17YXBwbHk6RS5sZW5ndGg/ZnVuY3Rpb24oYSxiKXtHLmFwcGx5KGEsSS5jYWxsKGIpKX06ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmxlbmd0aCxkPTA7d2hpbGUoYVtjKytdPWJbZCsrXSk7YS5sZW5ndGg9Yy0xfX19ZnVuY3Rpb24gZ2EoYSxiLGQsZSl7dmFyIGYsaCxqLGssbCxvLHIscyx3LHg7aWYoKGI/Yi5vd25lckRvY3VtZW50fHxiOnYpIT09biYmbShiKSxiPWJ8fG4sZD1kfHxbXSxrPWIubm9kZVR5cGUsInN0cmluZyIhPXR5cGVvZiBhfHwhYXx8MSE9PWsmJjkhPT1rJiYxMSE9PWspcmV0dXJuIGQ7aWYoIWUmJnApe2lmKDExIT09ayYmKGY9Xy5leGVjKGEpKSlpZihqPWZbMV0pe2lmKDk9PT1rKXtpZihoPWIuZ2V0RWxlbWVudEJ5SWQoaiksIWh8fCFoLnBhcmVudE5vZGUpcmV0dXJuIGQ7aWYoaC5pZD09PWopcmV0dXJuIGQucHVzaChoKSxkfWVsc2UgaWYoYi5vd25lckRvY3VtZW50JiYoaD1iLm93bmVyRG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaikpJiZ0KGIsaCkmJmguaWQ9PT1qKXJldHVybiBkLnB1c2goaCksZH1lbHNle2lmKGZbMl0pcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpKSxkO2lmKChqPWZbM10pJiZjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoaikpLGR9aWYoYy5xc2EmJighcXx8IXEudGVzdChhKSkpe2lmKHM9cj11LHc9Yix4PTEhPT1rJiZhLDE9PT1rJiYib2JqZWN0IiE9PWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7bz1nKGEpLChyPWIuZ2V0QXR0cmlidXRlKCJpZCIpKT9zPXIucmVwbGFjZShiYSwiXFwkJiIpOmIuc2V0QXR0cmlidXRlKCJpZCIscykscz0iW2lkPSciK3MrIiddICIsbD1vLmxlbmd0aDt3aGlsZShsLS0pb1tsXT1zK3JhKG9bbF0pO3c9YWEudGVzdChhKSYmcGEoYi5wYXJlbnROb2RlKXx8Yix4PW8uam9pbigiLCIpfWlmKHgpdHJ5e3JldHVybiBILmFwcGx5KGQsdy5xdWVyeVNlbGVjdG9yQWxsKHgpKSxkfWNhdGNoKHkpe31maW5hbGx5e3J8fGIucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIGkoYS5yZXBsYWNlKFIsIiQxIiksYixkLGUpfWZ1bmN0aW9uIGhhKCl7dmFyIGE9W107ZnVuY3Rpb24gYihjLGUpe3JldHVybiBhLnB1c2goYysiICIpPmQuY2FjaGVMZW5ndGgmJmRlbGV0ZSBiW2Euc2hpZnQoKV0sYltjKyIgIl09ZX1yZXR1cm4gYn1mdW5jdGlvbiBpYShhKXtyZXR1cm4gYVt1XT0hMCxhfWZ1bmN0aW9uIGphKGEpe3ZhciBiPW4uY3JlYXRlRWxlbWVudCgiZGl2Iik7dHJ5e3JldHVybiEhYShiKX1jYXRjaChjKXtyZXR1cm4hMX1maW5hbGx5e2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbH19ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYz1hLnNwbGl0KCJ8IiksZT1hLmxlbmd0aDt3aGlsZShlLS0pZC5hdHRySGFuZGxlW2NbZV1dPWJ9ZnVuY3Rpb24gbGEoYSxiKXt2YXIgYz1iJiZhLGQ9YyYmMT09PWEubm9kZVR5cGUmJjE9PT1iLm5vZGVUeXBlJiYofmIuc291cmNlSW5kZXh8fEMpLSh+YS5zb3VyY2VJbmRleHx8Qyk7aWYoZClyZXR1cm4gZDtpZihjKXdoaWxlKGM9Yy5uZXh0U2libGluZylpZihjPT09YilyZXR1cm4tMTtyZXR1cm4gYT8xOi0xfWZ1bmN0aW9uIG1hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWMmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG5hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKCJpbnB1dCI9PT1jfHwiYnV0dG9uIj09PWMpJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBvYShhKXtyZXR1cm4gaWEoZnVuY3Rpb24oYil7cmV0dXJuIGI9K2IsaWEoZnVuY3Rpb24oYyxkKXt2YXIgZSxmPWEoW10sYy5sZW5ndGgsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pY1tlPWZbZ11dJiYoY1tlXT0hKGRbZV09Y1tlXSkpfSl9KX1mdW5jdGlvbiBwYShhKXtyZXR1cm4gYSYmInVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZhfWM9Z2Euc3VwcG9ydD17fSxmPWdhLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPWEmJihhLm93bmVyRG9jdW1lbnR8fGEpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gYj8iSFRNTCIhPT1iLm5vZGVOYW1lOiExfSxtPWdhLnNldERvY3VtZW50PWZ1bmN0aW9uKGEpe3ZhciBiLGUsZz1hP2Eub3duZXJEb2N1bWVudHx8YTp2O3JldHVybiBnIT09biYmOT09PWcubm9kZVR5cGUmJmcuZG9jdW1lbnRFbGVtZW50PyhuPWcsbz1nLmRvY3VtZW50RWxlbWVudCxlPWcuZGVmYXVsdFZpZXcsZSYmZSE9PWUudG9wJiYoZS5hZGRFdmVudExpc3RlbmVyP2UuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIixlYSwhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib251bmxvYWQiLGVhKSkscD0hZihnKSxjLmF0dHJpYnV0ZXM9amEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhc3NOYW1lPSJpIiwhYS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksYy5nZXRFbGVtZW50c0J5VGFnTmFtZT1qYShmdW5jdGlvbihhKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChnLmNyZWF0ZUNvbW1lbnQoIiIpKSwhYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT0kLnRlc3QoZy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxjLmdldEJ5SWQ9amEoZnVuY3Rpb24oYSl7cmV0dXJuIG8uYXBwZW5kQ2hpbGQoYSkuaWQ9dSwhZy5nZXRFbGVtZW50c0J5TmFtZXx8IWcuZ2V0RWxlbWVudHNCeU5hbWUodSkubGVuZ3RofSksYy5nZXRCeUlkPyhkLmZpbmQuSUQ9ZnVuY3Rpb24oYSxiKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQmJnApe3ZhciBjPWIuZ2V0RWxlbWVudEJ5SWQoYSk7cmV0dXJuIGMmJmMucGFyZW50Tm9kZT9bY106W119fSxkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoY2EsZGEpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImlkIik9PT1ifX0pOihkZWxldGUgZC5maW5kLklELGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYSxkYSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhciBjPSJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlJiZhLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIGMmJmMudmFsdWU9PT1ifX0pLGQuZmluZC5UQUc9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZT9mdW5jdGlvbihhLGIpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgYi5nZXRFbGVtZW50c0J5VGFnTmFtZT9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpOmMucXNhP2IucXVlcnlTZWxlY3RvckFsbChhKTp2b2lkIDB9OmZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPTAsZj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpO2lmKCIqIj09PWEpe3doaWxlKGM9ZltlKytdKTE9PT1jLm5vZGVUeXBlJiZkLnB1c2goYyk7cmV0dXJuIGR9cmV0dXJuIGZ9LGQuZmluZC5DTEFTUz1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGEsYil7cmV0dXJuIHA/Yi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGEpOnZvaWQgMH0scj1bXSxxPVtdLChjLnFzYT0kLnRlc3QoZy5xdWVyeVNlbGVjdG9yQWxsKSkmJihqYShmdW5jdGlvbihhKXtvLmFwcGVuZENoaWxkKGEpLmlubmVySFRNTD0iPGEgaWQ9JyIrdSsiJz48L2E+PHNlbGVjdCBpZD0nIit1KyItXGZdJyBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsYS5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCYmcS5wdXNoKCJbKl4kXT0iK0wrIiooPzonJ3xcIlwiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8cS5wdXNoKCJcXFsiK0wrIiooPzp2YWx1ZXwiK0srIikiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49Iit1KyItXSIpLmxlbmd0aHx8cS5wdXNoKCJ+PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fHEucHVzaCgiOmNoZWNrZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIit1KyIrKiIpLmxlbmd0aHx8cS5wdXNoKCIuIy4rWyt+XSIpfSksamEoZnVuY3Rpb24oYSl7dmFyIGI9Zy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Iuc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksYS5hcHBlbmRDaGlsZChiKS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJEIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCYmcS5wdXNoKCJuYW1lIitMKyIqWypeJHwhfl0/PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmVuYWJsZWQiKS5sZW5ndGh8fHEucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSxxLnB1c2goIiwuKjoiKX0pKSwoYy5tYXRjaGVzU2VsZWN0b3I9JC50ZXN0KHM9by5tYXRjaGVzfHxvLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8by5tb3pNYXRjaGVzU2VsZWN0b3J8fG8ub01hdGNoZXNTZWxlY3Rvcnx8by5tc01hdGNoZXNTZWxlY3RvcikpJiZqYShmdW5jdGlvbihhKXtjLmRpc2Nvbm5lY3RlZE1hdGNoPXMuY2FsbChhLCJkaXYiKSxzLmNhbGwoYSwiW3MhPScnXTp4Iiksci5wdXNoKCIhPSIsUCl9KSxxPXEubGVuZ3RoJiZuZXcgUmVnRXhwKHEuam9pbigifCIpKSxyPXIubGVuZ3RoJiZuZXcgUmVnRXhwKHIuam9pbigifCIpKSxiPSQudGVzdChvLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSx0PWJ8fCQudGVzdChvLmNvbnRhaW5zKT9mdW5jdGlvbihhLGIpe3ZhciBjPTk9PT1hLm5vZGVUeXBlP2EuZG9jdW1lbnRFbGVtZW50OmEsZD1iJiZiLnBhcmVudE5vZGU7cmV0dXJuIGE9PT1kfHwhKCFkfHwxIT09ZC5ub2RlVHlwZXx8IShjLmNvbnRhaW5zP2MuY29udGFpbnMoZCk6YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihkKSkpfTpmdW5jdGlvbihhLGIpe2lmKGIpd2hpbGUoYj1iLnBhcmVudE5vZGUpaWYoYj09PWEpcmV0dXJuITA7cmV0dXJuITF9LEI9Yj9mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGQ9IWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIGQ/ZDooZD0oYS5vd25lckRvY3VtZW50fHxhKT09PShiLm93bmVyRG9jdW1lbnR8fGIpP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYik6MSwxJmR8fCFjLnNvcnREZXRhY2hlZCYmYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKT09PWQ/YT09PWd8fGEub3duZXJEb2N1bWVudD09PXYmJnQodixhKT8tMTpiPT09Z3x8Yi5vd25lckRvY3VtZW50PT09diYmdCh2LGIpPzE6az9KKGssYSktSihrLGIpOjA6NCZkPy0xOjEpfTpmdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGMsZD0wLGU9YS5wYXJlbnROb2RlLGY9Yi5wYXJlbnROb2RlLGg9W2FdLGk9W2JdO2lmKCFlfHwhZilyZXR1cm4gYT09PWc/LTE6Yj09PWc/MTplPy0xOmY/MTprP0ooayxhKS1KKGssYik6MDtpZihlPT09ZilyZXR1cm4gbGEoYSxiKTtjPWE7d2hpbGUoYz1jLnBhcmVudE5vZGUpaC51bnNoaWZ0KGMpO2M9Yjt3aGlsZShjPWMucGFyZW50Tm9kZSlpLnVuc2hpZnQoYyk7d2hpbGUoaFtkXT09PWlbZF0pZCsrO3JldHVybiBkP2xhKGhbZF0saVtkXSk6aFtkXT09PXY/LTE6aVtkXT09PXY/MTowfSxnKTpufSxnYS5tYXRjaGVzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGdhKGEsbnVsbCxudWxsLGIpfSxnYS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oYSxiKXtpZigoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksYj1iLnJlcGxhY2UoVSwiPSckMSddIiksISghYy5tYXRjaGVzU2VsZWN0b3J8fCFwfHxyJiZyLnRlc3QoYil8fHEmJnEudGVzdChiKSkpdHJ5e3ZhciBkPXMuY2FsbChhLGIpO2lmKGR8fGMuZGlzY29ubmVjdGVkTWF0Y2h8fGEuZG9jdW1lbnQmJjExIT09YS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gZH1jYXRjaChlKXt9cmV0dXJuIGdhKGIsbixudWxsLFthXSkubGVuZ3RoPjB9LGdhLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpLHQoYSxiKX0sZ2EuYXR0cj1mdW5jdGlvbihhLGIpeyhhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKTt2YXIgZT1kLmF0dHJIYW5kbGVbYi50b0xvd2VyQ2FzZSgpXSxmPWUmJkQuY2FsbChkLmF0dHJIYW5kbGUsYi50b0xvd2VyQ2FzZSgpKT9lKGEsYiwhcCk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT1mP2Y6Yy5hdHRyaWJ1dGVzfHwhcD9hLmdldEF0dHJpYnV0ZShiKTooZj1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZmLnNwZWNpZmllZD9mLnZhbHVlOm51bGx9LGdhLmVycm9yPWZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIithKX0sZ2EudW5pcXVlU29ydD1mdW5jdGlvbihhKXt2YXIgYixkPVtdLGU9MCxmPTA7aWYobD0hYy5kZXRlY3REdXBsaWNhdGVzLGs9IWMuc29ydFN0YWJsZSYmYS5zbGljZSgwKSxhLnNvcnQoQiksbCl7d2hpbGUoYj1hW2YrK10pYj09PWFbZl0mJihlPWQucHVzaChmKSk7d2hpbGUoZS0tKWEuc3BsaWNlKGRbZV0sMSl9cmV0dXJuIGs9bnVsbCxhfSxlPWdhLmdldFRleHQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz0iIixkPTAsZj1hLm5vZGVUeXBlO2lmKGYpe2lmKDE9PT1mfHw5PT09Znx8MTE9PT1mKXtpZigic3RyaW5nIj09dHlwZW9mIGEudGV4dENvbnRlbnQpcmV0dXJuIGEudGV4dENvbnRlbnQ7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWMrPWUoYSl9ZWxzZSBpZigzPT09Znx8ND09PWYpcmV0dXJuIGEubm9kZVZhbHVlfWVsc2Ugd2hpbGUoYj1hW2QrK10pYys9ZShiKTtyZXR1cm4gY30sZD1nYS5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUwLGNyZWF0ZVBzZXVkbzppYSxtYXRjaDpYLGF0dHJIYW5kbGU6e30sZmluZDp7fSxyZWxhdGl2ZTp7Ij4iOntkaXI6InBhcmVudE5vZGUiLGZpcnN0OiEwfSwiICI6e2RpcjoicGFyZW50Tm9kZSJ9LCIrIjp7ZGlyOiJwcmV2aW91c1NpYmxpbmciLGZpcnN0OiEwfSwifiI6e2RpcjoicHJldmlvdXNTaWJsaW5nIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnJlcGxhY2UoY2EsZGEpLGFbM109KGFbM118fGFbNF18fGFbNV18fCIiKS5yZXBsYWNlKGNhLGRhKSwifj0iPT09YVsyXSYmKGFbM109IiAiK2FbM10rIiAiKSxhLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0udG9Mb3dlckNhc2UoKSwibnRoIj09PWFbMV0uc2xpY2UoMCwzKT8oYVszXXx8Z2EuZXJyb3IoYVswXSksYVs0XT0rKGFbNF0/YVs1XSsoYVs2XXx8MSk6MiooImV2ZW4iPT09YVszXXx8Im9kZCI9PT1hWzNdKSksYVs1XT0rKGFbN10rYVs4XXx8Im9kZCI9PT1hWzNdKSk6YVszXSYmZ2EuZXJyb3IoYVswXSksYX0sUFNFVURPOmZ1bmN0aW9uKGEpe3ZhciBiLGM9IWFbNl0mJmFbMl07cmV0dXJuIFguQ0hJTEQudGVzdChhWzBdKT9udWxsOihhWzNdP2FbMl09YVs0XXx8YVs1XXx8IiI6YyYmVi50ZXN0KGMpJiYoYj1nKGMsITApKSYmKGI9Yy5pbmRleE9mKCIpIixjLmxlbmd0aC1iKS1jLmxlbmd0aCkmJihhWzBdPWFbMF0uc2xpY2UoMCxiKSxhWzJdPWMuc2xpY2UoMCxiKSksYS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYSxkYSkudG9Mb3dlckNhc2UoKTtyZXR1cm4iKiI9PT1hP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1ifX0sQ0xBU1M6ZnVuY3Rpb24oYSl7dmFyIGI9eVthKyIgIl07cmV0dXJuIGJ8fChiPW5ldyBSZWdFeHAoIihefCIrTCsiKSIrYSsiKCIrTCsifCQpIikpJiZ5KGEsZnVuY3Rpb24oYSl7cmV0dXJuIGIudGVzdCgic3RyaW5nIj09dHlwZW9mIGEuY2xhc3NOYW1lJiZhLmNsYXNzTmFtZXx8InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9Z2EuYXR0cihkLGEpO3JldHVybiBudWxsPT1lPyIhPSI9PT1iOmI/KGUrPSIiLCI9Ij09PWI/ZT09PWM6IiE9Ij09PWI/ZSE9PWM6Il49Ij09PWI/YyYmMD09PWUuaW5kZXhPZihjKToiKj0iPT09Yj9jJiZlLmluZGV4T2YoYyk+LTE6IiQ9Ij09PWI/YyYmZS5zbGljZSgtYy5sZW5ndGgpPT09Yzoifj0iPT09Yj8oIiAiK2UucmVwbGFjZShRLCIgIikrIiAiKS5pbmRleE9mKGMpPi0xOiJ8PSI9PT1iP2U9PT1jfHxlLnNsaWNlKDAsYy5sZW5ndGgrMSk9PT1jKyItIjohMSk6ITB9fSxDSElMRDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSJudGgiIT09YS5zbGljZSgwLDMpLGc9Imxhc3QiIT09YS5zbGljZSgtNCksaD0ib2YtdHlwZSI9PT1iO3JldHVybiAxPT09ZCYmMD09PWU/ZnVuY3Rpb24oYSl7cmV0dXJuISFhLnBhcmVudE5vZGV9OmZ1bmN0aW9uKGIsYyxpKXt2YXIgaixrLGwsbSxuLG8scD1mIT09Zz8ibmV4dFNpYmxpbmciOiJwcmV2aW91c1NpYmxpbmciLHE9Yi5wYXJlbnROb2RlLHI9aCYmYi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHM9IWkmJiFoO2lmKHEpe2lmKGYpe3doaWxlKHApe2w9Yjt3aGlsZShsPWxbcF0paWYoaD9sLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1sLm5vZGVUeXBlKXJldHVybiExO289cD0ib25seSI9PT1hJiYhbyYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihvPVtnP3EuZmlyc3RDaGlsZDpxLmxhc3RDaGlsZF0sZyYmcyl7az1xW3VdfHwocVt1XT17fSksaj1rW2FdfHxbXSxuPWpbMF09PT13JiZqWzFdLG09alswXT09PXcmJmpbMl0sbD1uJiZxLmNoaWxkTm9kZXNbbl07d2hpbGUobD0rK24mJmwmJmxbcF18fChtPW49MCl8fG8ucG9wKCkpaWYoMT09PWwubm9kZVR5cGUmJisrbSYmbD09PWIpe2tbYV09W3csbixtXTticmVha319ZWxzZSBpZihzJiYoaj0oYlt1XXx8KGJbdV09e30pKVthXSkmJmpbMF09PT13KW09alsxXTtlbHNlIHdoaWxlKGw9KytuJiZsJiZsW3BdfHwobT1uPTApfHxvLnBvcCgpKWlmKChoP2wubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXI6MT09PWwubm9kZVR5cGUpJiYrK20mJihzJiYoKGxbdV18fChsW3VdPXt9KSlbYV09W3csbV0pLGw9PT1iKSlicmVhaztyZXR1cm4gbS09ZSxtPT09ZHx8bSVkPT09MCYmbS9kPj0wfX19LFBTRVVETzpmdW5jdGlvbihhLGIpe3ZhciBjLGU9ZC5wc2V1ZG9zW2FdfHxkLnNldEZpbHRlcnNbYS50b0xvd2VyQ2FzZSgpXXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIithKTtyZXR1cm4gZVt1XT9lKGIpOmUubGVuZ3RoPjE/KGM9W2EsYSwiIixiXSxkLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoYS50b0xvd2VyQ2FzZSgpKT9pYShmdW5jdGlvbihhLGMpe3ZhciBkLGY9ZShhLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWQ9SihhLGZbZ10pLGFbZF09IShjW2RdPWZbZ10pfSk6ZnVuY3Rpb24oYSl7cmV0dXJuIGUoYSwwLGMpfSk6ZX19LHBzZXVkb3M6e25vdDppYShmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGQ9aChhLnJlcGxhY2UoUiwiJDEiKSk7cmV0dXJuIGRbdV0/aWEoZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGYsZz1kKGEsbnVsbCxlLFtdKSxoPWEubGVuZ3RoO3doaWxlKGgtLSkoZj1nW2hdKSYmKGFbaF09IShiW2hdPWYpKX0pOmZ1bmN0aW9uKGEsZSxmKXtyZXR1cm4gYlswXT1hLGQoYixudWxsLGYsYyksYlswXT1udWxsLCFjLnBvcCgpfX0pLGhhczppYShmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIGdhKGEsYikubGVuZ3RoPjB9fSksY29udGFpbnM6aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9YS5yZXBsYWNlKGNhLGRhKSxmdW5jdGlvbihiKXtyZXR1cm4oYi50ZXh0Q29udGVudHx8Yi5pbm5lclRleHR8fGUoYikpLmluZGV4T2YoYSk+LTF9fSksbGFuZzppYShmdW5jdGlvbihhKXtyZXR1cm4gVy50ZXN0KGF8fCIiKXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIGxhbmc6ICIrYSksYT1hLnJlcGxhY2UoY2EsZGEpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oYil7dmFyIGM7ZG8gaWYoYz1wP2IubGFuZzpiLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKXx8Yi5nZXRBdHRyaWJ1dGUoImxhbmciKSlyZXR1cm4gYz1jLnRvTG93ZXJDYXNlKCksYz09PWF8fDA9PT1jLmluZGV4T2YoYSsiLSIpO3doaWxlKChiPWIucGFyZW50Tm9kZSkmJjE9PT1iLm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24oYil7dmFyIGM9YS5sb2NhdGlvbiYmYS5sb2NhdGlvbi5oYXNoO3JldHVybiBjJiZjLnNsaWNlKDEpPT09Yi5pZH0scm9vdDpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW99LGZvY3VzOmZ1bmN0aW9uKGEpe3JldHVybiBhPT09bi5hY3RpdmVFbGVtZW50JiYoIW4uaGFzRm9jdXN8fG4uaGFzRm9jdXMoKSkmJiEhKGEudHlwZXx8YS5ocmVmfHx+YS50YWJJbmRleCl9LGVuYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMX0sZGlzYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMH0sY2hlY2tlZDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiEhYS5jaGVja2VkfHwib3B0aW9uIj09PWImJiEhYS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsYS5zZWxlY3RlZD09PSEwfSxlbXB0eTpmdW5jdGlvbihhKXtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpaWYoYS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIWQucHNldWRvcy5lbXB0eShhKX0saGVhZGVyOmZ1bmN0aW9uKGEpe3JldHVybiBaLnRlc3QoYS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGEpe3JldHVybiBZLnRlc3QoYS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiJidXR0b24iPT09YS50eXBlfHwiYnV0dG9uIj09PWJ9LHRleHQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuImlucHV0Ij09PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09YS50eXBlJiYobnVsbD09KGI9YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PWIudG9Mb3dlckNhc2UoKSl9LGZpcnN0Om9hKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDpvYShmdW5jdGlvbihhLGIpe3JldHVybltiLTFdfSksZXE6b2EoZnVuY3Rpb24oYSxiLGMpe3JldHVyblswPmM/YytiOmNdfSksZXZlbjpvYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLG9kZDpvYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLGx0Om9hKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOy0tZD49MDspYS5wdXNoKGQpO3JldHVybiBhfSksZ3Q6b2EoZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0wPmM/YytiOmM7KytkPGI7KWEucHVzaChkKTtyZXR1cm4gYX0pfX0sZC5wc2V1ZG9zLm50aD1kLnBzZXVkb3MuZXE7Zm9yKGIgaW57cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pZC5wc2V1ZG9zW2JdPW1hKGIpO2ZvcihiIGlue3N1Ym1pdDohMCxyZXNldDohMH0pZC5wc2V1ZG9zW2JdPW5hKGIpO2Z1bmN0aW9uIHFhKCl7fXFhLnByb3RvdHlwZT1kLmZpbHRlcnM9ZC5wc2V1ZG9zLGQuc2V0RmlsdGVycz1uZXcgcWEsZz1nYS50b2tlbml6ZT1mdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaSxqLGs9elthKyIgIl07aWYoaylyZXR1cm4gYj8wOmsuc2xpY2UoMCk7aD1hLGk9W10saj1kLnByZUZpbHRlcjt3aGlsZShoKXsoIWN8fChlPVMuZXhlYyhoKSkpJiYoZSYmKGg9aC5zbGljZShlWzBdLmxlbmd0aCl8fGgpLGkucHVzaChmPVtdKSksYz0hMSwoZT1ULmV4ZWMoaCkpJiYoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZVswXS5yZXBsYWNlKFIsIiAiKX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2ZvcihnIGluIGQuZmlsdGVyKSEoZT1YW2ddLmV4ZWMoaCkpfHxqW2ddJiYhKGU9altnXShlKSl8fChjPWUuc2hpZnQoKSxmLnB1c2goe3ZhbHVlOmMsdHlwZTpnLG1hdGNoZXM6ZX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2lmKCFjKWJyZWFrfXJldHVybiBiP2gubGVuZ3RoOmg/Z2EuZXJyb3IoYSk6eihhLGkpLnNsaWNlKDApfTtmdW5jdGlvbiByYShhKXtmb3IodmFyIGI9MCxjPWEubGVuZ3RoLGQ9IiI7Yz5iO2IrKylkKz1hW2JdLnZhbHVlO3JldHVybiBkfWZ1bmN0aW9uIHNhKGEsYixjKXt2YXIgZD1iLmRpcixlPWMmJiJwYXJlbnROb2RlIj09PWQsZj14Kys7cmV0dXJuIGIuZmlyc3Q/ZnVuY3Rpb24oYixjLGYpe3doaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSlyZXR1cm4gYShiLGMsZil9OmZ1bmN0aW9uKGIsYyxnKXt2YXIgaCxpLGo9W3csZl07aWYoZyl7d2hpbGUoYj1iW2RdKWlmKCgxPT09Yi5ub2RlVHlwZXx8ZSkmJmEoYixjLGcpKXJldHVybiEwfWVsc2Ugd2hpbGUoYj1iW2RdKWlmKDE9PT1iLm5vZGVUeXBlfHxlKXtpZihpPWJbdV18fChiW3VdPXt9KSwoaD1pW2RdKSYmaFswXT09PXcmJmhbMV09PT1mKXJldHVybiBqWzJdPWhbMl07aWYoaVtkXT1qLGpbMl09YShiLGMsZykpcmV0dXJuITB9fX1mdW5jdGlvbiB0YShhKXtyZXR1cm4gYS5sZW5ndGg+MT9mdW5jdGlvbihiLGMsZCl7dmFyIGU9YS5sZW5ndGg7d2hpbGUoZS0tKWlmKCFhW2VdKGIsYyxkKSlyZXR1cm4hMTtyZXR1cm4hMH06YVswXX1mdW5jdGlvbiB1YShhLGIsYyl7Zm9yKHZhciBkPTAsZT1iLmxlbmd0aDtlPmQ7ZCsrKWdhKGEsYltkXSxjKTtyZXR1cm4gY31mdW5jdGlvbiB2YShhLGIsYyxkLGUpe2Zvcih2YXIgZixnPVtdLGg9MCxpPWEubGVuZ3RoLGo9bnVsbCE9YjtpPmg7aCsrKShmPWFbaF0pJiYoIWN8fGMoZixkLGUpKSYmKGcucHVzaChmKSxqJiZiLnB1c2goaCkpO3JldHVybiBnfWZ1bmN0aW9uIHdhKGEsYixjLGQsZSxmKXtyZXR1cm4gZCYmIWRbdV0mJihkPXdhKGQpKSxlJiYhZVt1XSYmKGU9d2EoZSxmKSksaWEoZnVuY3Rpb24oZixnLGgsaSl7dmFyIGosayxsLG09W10sbj1bXSxvPWcubGVuZ3RoLHA9Znx8dWEoYnx8IioiLGgubm9kZVR5cGU/W2hdOmgsW10pLHE9IWF8fCFmJiZiP3A6dmEocCxtLGEsaCxpKSxyPWM/ZXx8KGY/YTpvfHxkKT9bXTpnOnE7aWYoYyYmYyhxLHIsaCxpKSxkKXtqPXZhKHIsbiksZChqLFtdLGgsaSksaz1qLmxlbmd0aDt3aGlsZShrLS0pKGw9altrXSkmJihyW25ba11dPSEocVtuW2tdXT1sKSl9aWYoZil7aWYoZXx8YSl7aWYoZSl7aj1bXSxrPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmai5wdXNoKHFba109bCk7ZShudWxsLHI9W10saixpKX1rPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmKGo9ZT9KKGYsbCk6bVtrXSk+LTEmJihmW2pdPSEoZ1tqXT1sKSl9fWVsc2Ugcj12YShyPT09Zz9yLnNwbGljZShvLHIubGVuZ3RoKTpyKSxlP2UobnVsbCxnLHIsaSk6SC5hcHBseShnLHIpfSl9ZnVuY3Rpb24geGEoYSl7Zm9yKHZhciBiLGMsZSxmPWEubGVuZ3RoLGc9ZC5yZWxhdGl2ZVthWzBdLnR5cGVdLGg9Z3x8ZC5yZWxhdGl2ZVsiICJdLGk9Zz8xOjAsaz1zYShmdW5jdGlvbihhKXtyZXR1cm4gYT09PWJ9LGgsITApLGw9c2EoZnVuY3Rpb24oYSl7cmV0dXJuIEooYixhKT4tMX0saCwhMCksbT1bZnVuY3Rpb24oYSxjLGQpe3ZhciBlPSFnJiYoZHx8YyE9PWopfHwoKGI9Yykubm9kZVR5cGU/ayhhLGMsZCk6bChhLGMsZCkpO3JldHVybiBiPW51bGwsZX1dO2Y+aTtpKyspaWYoYz1kLnJlbGF0aXZlW2FbaV0udHlwZV0pbT1bc2EodGEobSksYyldO2Vsc2V7aWYoYz1kLmZpbHRlclthW2ldLnR5cGVdLmFwcGx5KG51bGwsYVtpXS5tYXRjaGVzKSxjW3VdKXtmb3IoZT0rK2k7Zj5lO2UrKylpZihkLnJlbGF0aXZlW2FbZV0udHlwZV0pYnJlYWs7cmV0dXJuIHdhKGk+MSYmdGEobSksaT4xJiZyYShhLnNsaWNlKDAsaS0xKS5jb25jYXQoe3ZhbHVlOiIgIj09PWFbaS0yXS50eXBlPyIqIjoiIn0pKS5yZXBsYWNlKFIsIiQxIiksYyxlPmkmJnhhKGEuc2xpY2UoaSxlKSksZj5lJiZ4YShhPWEuc2xpY2UoZSkpLGY+ZSYmcmEoYSkpfW0ucHVzaChjKX1yZXR1cm4gdGEobSl9ZnVuY3Rpb24geWEoYSxiKXt2YXIgYz1iLmxlbmd0aD4wLGU9YS5sZW5ndGg+MCxmPWZ1bmN0aW9uKGYsZyxoLGksayl7dmFyIGwsbSxvLHA9MCxxPSIwIixyPWYmJltdLHM9W10sdD1qLHU9Znx8ZSYmZC5maW5kLlRBRygiKiIsayksdj13Kz1udWxsPT10PzE6TWF0aC5yYW5kb20oKXx8LjEseD11Lmxlbmd0aDtmb3IoayYmKGo9ZyE9PW4mJmcpO3EhPT14JiZudWxsIT0obD11W3FdKTtxKyspe2lmKGUmJmwpe209MDt3aGlsZShvPWFbbSsrXSlpZihvKGwsZyxoKSl7aS5wdXNoKGwpO2JyZWFrfWsmJih3PXYpfWMmJigobD0hbyYmbCkmJnAtLSxmJiZyLnB1c2gobCkpfWlmKHArPXEsYyYmcSE9PXApe209MDt3aGlsZShvPWJbbSsrXSlvKHIscyxnLGgpO2lmKGYpe2lmKHA+MCl3aGlsZShxLS0pcltxXXx8c1txXXx8KHNbcV09Ri5jYWxsKGkpKTtzPXZhKHMpfUguYXBwbHkoaSxzKSxrJiYhZiYmcy5sZW5ndGg+MCYmcCtiLmxlbmd0aD4xJiZnYS51bmlxdWVTb3J0KGkpfXJldHVybiBrJiYodz12LGo9dCkscn07cmV0dXJuIGM/aWEoZik6Zn1yZXR1cm4gaD1nYS5jb21waWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPVtdLGY9QVthKyIgIl07aWYoIWYpe2J8fChiPWcoYSkpLGM9Yi5sZW5ndGg7d2hpbGUoYy0tKWY9eGEoYltjXSksZlt1XT9kLnB1c2goZik6ZS5wdXNoKGYpO2Y9QShhLHlhKGUsZCkpLGYuc2VsZWN0b3I9YX1yZXR1cm4gZn0saT1nYS5zZWxlY3Q9ZnVuY3Rpb24oYSxiLGUsZil7dmFyIGksaixrLGwsbSxuPSJmdW5jdGlvbiI9PXR5cGVvZiBhJiZhLG89IWYmJmcoYT1uLnNlbGVjdG9yfHxhKTtpZihlPWV8fFtdLDE9PT1vLmxlbmd0aCl7aWYoaj1vWzBdPW9bMF0uc2xpY2UoMCksai5sZW5ndGg+MiYmIklEIj09PShrPWpbMF0pLnR5cGUmJmMuZ2V0QnlJZCYmOT09PWIubm9kZVR5cGUmJnAmJmQucmVsYXRpdmVbalsxXS50eXBlXSl7aWYoYj0oZC5maW5kLklEKGsubWF0Y2hlc1swXS5yZXBsYWNlKGNhLGRhKSxiKXx8W10pWzBdLCFiKXJldHVybiBlO24mJihiPWIucGFyZW50Tm9kZSksYT1hLnNsaWNlKGouc2hpZnQoKS52YWx1ZS5sZW5ndGgpfWk9WC5uZWVkc0NvbnRleHQudGVzdChhKT8wOmoubGVuZ3RoO3doaWxlKGktLSl7aWYoaz1qW2ldLGQucmVsYXRpdmVbbD1rLnR5cGVdKWJyZWFrO2lmKChtPWQuZmluZFtsXSkmJihmPW0oay5tYXRjaGVzWzBdLnJlcGxhY2UoY2EsZGEpLGFhLnRlc3QoalswXS50eXBlKSYmcGEoYi5wYXJlbnROb2RlKXx8YikpKXtpZihqLnNwbGljZShpLDEpLGE9Zi5sZW5ndGgmJnJhKGopLCFhKXJldHVybiBILmFwcGx5KGUsZiksZTticmVha319fXJldHVybihufHxoKGEsbykpKGYsYiwhcCxlLGFhLnRlc3QoYSkmJnBhKGIucGFyZW50Tm9kZSl8fGIpLGV9LGMuc29ydFN0YWJsZT11LnNwbGl0KCIiKS5zb3J0KEIpLmpvaW4oIiIpPT09dSxjLmRldGVjdER1cGxpY2F0ZXM9ISFsLG0oKSxjLnNvcnREZXRhY2hlZD1qYShmdW5jdGlvbihhKXtyZXR1cm4gMSZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4uY3JlYXRlRWxlbWVudCgiZGl2IikpfSksamEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IiwiIyI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIil9KXx8a2EoInR5cGV8aHJlZnxoZWlnaHR8d2lkdGgiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYz92b2lkIDA6YS5nZXRBdHRyaWJ1dGUoYiwidHlwZSI9PT1iLnRvTG93ZXJDYXNlKCk/MToyKX0pLGMuYXR0cmlidXRlcyYmamEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8aW5wdXQvPiIsYS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSwiIj09PWEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoInZhbHVlIil9KXx8a2EoInZhbHVlIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGN8fCJpbnB1dCIhPT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk/dm9pZCAwOmEuZGVmYXVsdFZhbHVlfSksamEoZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWEuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpfSl8fGthKEssZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBjP3ZvaWQgMDphW2JdPT09ITA/Yi50b0xvd2VyQ2FzZSgpOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmQuc3BlY2lmaWVkP2QudmFsdWU6bnVsbH0pLGdhfShhKTttLmZpbmQ9cyxtLmV4cHI9cy5zZWxlY3RvcnMsbS5leHByWyI6Il09bS5leHByLnBzZXVkb3MsbS51bmlxdWU9cy51bmlxdWVTb3J0LG0udGV4dD1zLmdldFRleHQsbS5pc1hNTERvYz1zLmlzWE1MLG0uY29udGFpbnM9cy5jb250YWluczt2YXIgdD1tLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LHU9L148KFx3KylccypcLz8+KD86PFwvXDE+fCkkLyx2PS9eLlteOiNcW1wuLF0qJC87ZnVuY3Rpb24gdyhhLGIsYyl7aWYobS5pc0Z1bmN0aW9uKGIpKXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVybiEhYi5jYWxsKGEsZCxhKSE9PWN9KTtpZihiLm5vZGVUeXBlKXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYT09PWIhPT1jfSk7aWYoInN0cmluZyI9PXR5cGVvZiBiKXtpZih2LnRlc3QoYikpcmV0dXJuIG0uZmlsdGVyKGIsYSxjKTtiPW0uZmlsdGVyKGIsYSl9cmV0dXJuIG0uZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBtLmluQXJyYXkoYSxiKT49MCE9PWN9KX1tLmZpbHRlcj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YlswXTtyZXR1cm4gYyYmKGE9Ijpub3QoIithKyIpIiksMT09PWIubGVuZ3RoJiYxPT09ZC5ub2RlVHlwZT9tLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGQsYSk/W2RdOltdOm0uZmluZC5tYXRjaGVzKGEsbS5ncmVwKGIsZnVuY3Rpb24oYSl7cmV0dXJuIDE9PT1hLm5vZGVUeXBlfSkpfSxtLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihhKXt2YXIgYixjPVtdLGQ9dGhpcyxlPWQubGVuZ3RoO2lmKCJzdHJpbmciIT10eXBlb2YgYSlyZXR1cm4gdGhpcy5wdXNoU3RhY2sobShhKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoYj0wO2U+YjtiKyspaWYobS5jb250YWlucyhkW2JdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihiPTA7ZT5iO2IrKyltLmZpbmQoYSxkW2JdLGMpO3JldHVybiBjPXRoaXMucHVzaFN0YWNrKGU+MT9tLnVuaXF1ZShjKTpjKSxjLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3I/dGhpcy5zZWxlY3RvcisiICIrYTphLGN9LGZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sodyh0aGlzLGF8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sodyh0aGlzLGF8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEhdyh0aGlzLCJzdHJpbmciPT10eXBlb2YgYSYmdC50ZXN0KGEpP20oYSk6YXx8W10sITEpLmxlbmd0aH19KTt2YXIgeCx5PWEuZG9jdW1lbnQsej0vXig/OlxzKig8W1x3XFddKz4pW14+XSp8IyhbXHctXSopKSQvLEE9bS5mbi5pbml0PWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtpZighYSlyZXR1cm4gdGhpcztpZigic3RyaW5nIj09dHlwZW9mIGEpe2lmKGM9IjwiPT09YS5jaGFyQXQoMCkmJiI+Ij09PWEuY2hhckF0KGEubGVuZ3RoLTEpJiZhLmxlbmd0aD49Mz9bbnVsbCxhLG51bGxdOnouZXhlYyhhKSwhY3x8IWNbMV0mJmIpcmV0dXJuIWJ8fGIuanF1ZXJ5PyhifHx4KS5maW5kKGEpOnRoaXMuY29uc3RydWN0b3IoYikuZmluZChhKTtpZihjWzFdKXtpZihiPWIgaW5zdGFuY2VvZiBtP2JbMF06YixtLm1lcmdlKHRoaXMsbS5wYXJzZUhUTUwoY1sxXSxiJiZiLm5vZGVUeXBlP2Iub3duZXJEb2N1bWVudHx8Yjp5LCEwKSksdS50ZXN0KGNbMV0pJiZtLmlzUGxhaW5PYmplY3QoYikpZm9yKGMgaW4gYiltLmlzRnVuY3Rpb24odGhpc1tjXSk/dGhpc1tjXShiW2NdKTp0aGlzLmF0dHIoYyxiW2NdKTtyZXR1cm4gdGhpc31pZihkPXkuZ2V0RWxlbWVudEJ5SWQoY1syXSksZCYmZC5wYXJlbnROb2RlKXtpZihkLmlkIT09Y1syXSlyZXR1cm4geC5maW5kKGEpO3RoaXMubGVuZ3RoPTEsdGhpc1swXT1kfXJldHVybiB0aGlzLmNvbnRleHQ9eSx0aGlzLnNlbGVjdG9yPWEsdGhpc31yZXR1cm4gYS5ub2RlVHlwZT8odGhpcy5jb250ZXh0PXRoaXNbMF09YSx0aGlzLmxlbmd0aD0xLHRoaXMpOm0uaXNGdW5jdGlvbihhKT8idW5kZWZpbmVkIiE9dHlwZW9mIHgucmVhZHk/eC5yZWFkeShhKTphKG0pOih2b2lkIDAhPT1hLnNlbGVjdG9yJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1hLmNvbnRleHQpLG0ubWFrZUFycmF5KGEsdGhpcykpfTtBLnByb3RvdHlwZT1tLmZuLHg9bSh5KTt2YXIgQj0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyxDPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O20uZXh0ZW5kKHtkaXI6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9YVtiXTt3aGlsZShlJiY5IT09ZS5ub2RlVHlwZSYmKHZvaWQgMD09PWN8fDEhPT1lLm5vZGVUeXBlfHwhbShlKS5pcyhjKSkpMT09PWUubm9kZVR5cGUmJmQucHVzaChlKSxlPWVbYl07cmV0dXJuIGR9LHNpYmxpbmc6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9W107YTthPWEubmV4dFNpYmxpbmcpMT09PWEubm9kZVR5cGUmJmEhPT1iJiZjLnB1c2goYSk7cmV0dXJuIGN9fSksbS5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihhKXt2YXIgYixjPW0oYSx0aGlzKSxkPWMubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2ZvcihiPTA7ZD5iO2IrKylpZihtLmNvbnRhaW5zKHRoaXMsY1tiXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYyxkPTAsZT10aGlzLmxlbmd0aCxmPVtdLGc9dC50ZXN0KGEpfHwic3RyaW5nIiE9dHlwZW9mIGE/bShhLGJ8fHRoaXMuY29udGV4dCk6MDtlPmQ7ZCsrKWZvcihjPXRoaXNbZF07YyYmYyE9PWI7Yz1jLnBhcmVudE5vZGUpaWYoYy5ub2RlVHlwZTwxMSYmKGc/Zy5pbmRleChjKT4tMToxPT09Yy5ub2RlVHlwZSYmbS5maW5kLm1hdGNoZXNTZWxlY3RvcihjLGEpKSl7Zi5wdXNoKGMpO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhmLmxlbmd0aD4xP20udW5pcXVlKGYpOmYpfSxpbmRleDpmdW5jdGlvbihhKXtyZXR1cm4gYT8ic3RyaW5nIj09dHlwZW9mIGE/bS5pbkFycmF5KHRoaXNbMF0sbShhKSk6bS5pbkFycmF5KGEuanF1ZXJ5P2FbMF06YSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLnB1c2hTdGFjayhtLnVuaXF1ZShtLm1lcmdlKHRoaXMuZ2V0KCksbShhLGIpKSkpfSxhZGRCYWNrOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFkZChudWxsPT1hP3RoaXMucHJldk9iamVjdDp0aGlzLnByZXZPYmplY3QuZmlsdGVyKGEpKX19KTtmdW5jdGlvbiBEKGEsYil7ZG8gYT1hW2JdO3doaWxlKGEmJjEhPT1hLm5vZGVUeXBlKTtyZXR1cm4gYX1tLmVhY2goe3BhcmVudDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJjExIT09Yi5ub2RlVHlwZT9iOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uZGlyKGEsInBhcmVudE5vZGUiKX0scGFyZW50c1VudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5kaXIoYSwicGFyZW50Tm9kZSIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEQoYSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gRChhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gbS5kaXIoYSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gbS5kaXIoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0uZGlyKGEsIm5leHRTaWJsaW5nIixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5kaXIoYSwicHJldmlvdXNTaWJsaW5nIixjKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uc2libGluZygoYS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIG0uc2libGluZyhhLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLCJpZnJhbWUiKT9hLmNvbnRlbnREb2N1bWVudHx8YS5jb250ZW50V2luZG93LmRvY3VtZW50Om0ubWVyZ2UoW10sYS5jaGlsZE5vZGVzKX19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihjLGQpe3ZhciBlPW0ubWFwKHRoaXMsYixjKTtyZXR1cm4iVW50aWwiIT09YS5zbGljZSgtNSkmJihkPWMpLGQmJiJzdHJpbmciPT10eXBlb2YgZCYmKGU9bS5maWx0ZXIoZCxlKSksdGhpcy5sZW5ndGg+MSYmKENbYV18fChlPW0udW5pcXVlKGUpKSxCLnRlc3QoYSkmJihlPWUucmV2ZXJzZSgpKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEU9L1xTKy9nLEY9e307ZnVuY3Rpb24gRyhhKXt2YXIgYj1GW2FdPXt9O3JldHVybiBtLmVhY2goYS5tYXRjaChFKXx8W10sZnVuY3Rpb24oYSxjKXtiW2NdPSEwfSksYn1tLkNhbGxiYWNrcz1mdW5jdGlvbihhKXthPSJzdHJpbmciPT10eXBlb2YgYT9GW2FdfHxHKGEpOm0uZXh0ZW5kKHt9LGEpO3ZhciBiLGMsZCxlLGYsZyxoPVtdLGk9IWEub25jZSYmW10saj1mdW5jdGlvbihsKXtmb3IoYz1hLm1lbW9yeSYmbCxkPSEwLGY9Z3x8MCxnPTAsZT1oLmxlbmd0aCxiPSEwO2gmJmU+ZjtmKyspaWYoaFtmXS5hcHBseShsWzBdLGxbMV0pPT09ITEmJmEuc3RvcE9uRmFsc2Upe2M9ITE7YnJlYWt9Yj0hMSxoJiYoaT9pLmxlbmd0aCYmaihpLnNoaWZ0KCkpOmM/aD1bXTprLmRpc2FibGUoKSl9LGs9e2FkZDpmdW5jdGlvbigpe2lmKGgpe3ZhciBkPWgubGVuZ3RoOyFmdW5jdGlvbiBmKGIpe20uZWFjaChiLGZ1bmN0aW9uKGIsYyl7dmFyIGQ9bS50eXBlKGMpOyJmdW5jdGlvbiI9PT1kP2EudW5pcXVlJiZrLmhhcyhjKXx8aC5wdXNoKGMpOmMmJmMubGVuZ3RoJiYic3RyaW5nIiE9PWQmJmYoYyl9KX0oYXJndW1lbnRzKSxiP2U9aC5sZW5ndGg6YyYmKGc9ZCxqKGMpKX1yZXR1cm4gdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIGgmJm0uZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oYSxjKXt2YXIgZDt3aGlsZSgoZD1tLmluQXJyYXkoYyxoLGQpKT4tMSloLnNwbGljZShkLDEpLGImJihlPj1kJiZlLS0sZj49ZCYmZi0tKX0pLHRoaXN9LGhhczpmdW5jdGlvbihhKXtyZXR1cm4gYT9tLmluQXJyYXkoYSxoKT4tMTohKCFofHwhaC5sZW5ndGgpfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBoPVtdLGU9MCx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGg9aT1jPXZvaWQgMCx0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFofSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGk9dm9pZCAwLGN8fGsuZGlzYWJsZSgpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiFpfSxmaXJlV2l0aDpmdW5jdGlvbihhLGMpe3JldHVybiFofHxkJiYhaXx8KGM9Y3x8W10sYz1bYSxjLnNsaWNlP2Muc2xpY2UoKTpjXSxiP2kucHVzaChjKTpqKGMpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIGsuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFkfX07cmV0dXJuIGt9LG0uZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihhKXt2YXIgYj1bWyJyZXNvbHZlIiwiZG9uZSIsbS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksInJlc29sdmVkIl0sWyJyZWplY3QiLCJmYWlsIixtLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwicmVqZWN0ZWQiXSxbIm5vdGlmeSIsInByb2dyZXNzIixtLkNhbGxiYWNrcygibWVtb3J5IildXSxjPSJwZW5kaW5nIixkPXtzdGF0ZTpmdW5jdGlvbigpe3JldHVybiBjfSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gZS5kb25lKGFyZ3VtZW50cykuZmFpbChhcmd1bWVudHMpLHRoaXN9LHRoZW46ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7cmV0dXJuIG0uRGVmZXJyZWQoZnVuY3Rpb24oYyl7bS5lYWNoKGIsZnVuY3Rpb24oYixmKXt2YXIgZz1tLmlzRnVuY3Rpb24oYVtiXSkmJmFbYl07ZVtmWzFdXShmdW5jdGlvbigpe3ZhciBhPWcmJmcuYXBwbHkodGhpcyxhcmd1bWVudHMpO2EmJm0uaXNGdW5jdGlvbihhLnByb21pc2UpP2EucHJvbWlzZSgpLmRvbmUoYy5yZXNvbHZlKS5mYWlsKGMucmVqZWN0KS5wcm9ncmVzcyhjLm5vdGlmeSk6Y1tmWzBdKyJXaXRoIl0odGhpcz09PWQ/Yy5wcm9taXNlKCk6dGhpcyxnP1thXTphcmd1bWVudHMpfSl9KSxhPW51bGx9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/bS5leHRlbmQoYSxkKTpkfX0sZT17fTtyZXR1cm4gZC5waXBlPWQudGhlbixtLmVhY2goYixmdW5jdGlvbihhLGYpe3ZhciBnPWZbMl0saD1mWzNdO2RbZlsxXV09Zy5hZGQsaCYmZy5hZGQoZnVuY3Rpb24oKXtjPWh9LGJbMV5hXVsyXS5kaXNhYmxlLGJbMl1bMl0ubG9jayksZVtmWzBdXT1mdW5jdGlvbigpe3JldHVybiBlW2ZbMF0rIldpdGgiXSh0aGlzPT09ZT9kOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxlW2ZbMF0rIldpdGgiXT1nLmZpcmVXaXRofSksZC5wcm9taXNlKGUpLGEmJmEuY2FsbChlLGUpLGV9LHdoZW46ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPWQuY2FsbChhcmd1bWVudHMpLGU9Yy5sZW5ndGgsZj0xIT09ZXx8YSYmbS5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/ZTowLGc9MT09PWY/YTptLkRlZmVycmVkKCksaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGUpe2JbYV09dGhpcyxjW2FdPWFyZ3VtZW50cy5sZW5ndGg+MT9kLmNhbGwoYXJndW1lbnRzKTplLGM9PT1pP2cubm90aWZ5V2l0aChiLGMpOi0tZnx8Zy5yZXNvbHZlV2l0aChiLGMpfX0saSxqLGs7aWYoZT4xKWZvcihpPW5ldyBBcnJheShlKSxqPW5ldyBBcnJheShlKSxrPW5ldyBBcnJheShlKTtlPmI7YisrKWNbYl0mJm0uaXNGdW5jdGlvbihjW2JdLnByb21pc2UpP2NbYl0ucHJvbWlzZSgpLmRvbmUoaChiLGssYykpLmZhaWwoZy5yZWplY3QpLnByb2dyZXNzKGgoYixqLGkpKTotLWY7cmV0dXJuIGZ8fGcucmVzb2x2ZVdpdGgoayxjKSxnLnByb21pc2UoKX19KTt2YXIgSDttLmZuLnJlYWR5PWZ1bmN0aW9uKGEpe3JldHVybiBtLnJlYWR5LnByb21pc2UoKS5kb25lKGEpLHRoaXN9LG0uZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLGhvbGRSZWFkeTpmdW5jdGlvbihhKXthP20ucmVhZHlXYWl0Kys6bS5yZWFkeSghMCl9LHJlYWR5OmZ1bmN0aW9uKGEpe2lmKGE9PT0hMD8hLS1tLnJlYWR5V2FpdDohbS5pc1JlYWR5KXtpZigheS5ib2R5KXJldHVybiBzZXRUaW1lb3V0KG0ucmVhZHkpO20uaXNSZWFkeT0hMCxhIT09ITAmJi0tbS5yZWFkeVdhaXQ+MHx8KEgucmVzb2x2ZVdpdGgoeSxbbV0pLG0uZm4udHJpZ2dlckhhbmRsZXImJihtKHkpLnRyaWdnZXJIYW5kbGVyKCJyZWFkeSIpLG0oeSkub2ZmKCJyZWFkeSIpKSl9fX0pO2Z1bmN0aW9uIEkoKXt5LmFkZEV2ZW50TGlzdGVuZXI/KHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsSiwhMSksYS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixKLCExKSk6KHkuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsSiksYS5kZXRhY2hFdmVudCgib25sb2FkIixKKSl9ZnVuY3Rpb24gSigpeyh5LmFkZEV2ZW50TGlzdGVuZXJ8fCJsb2FkIj09PWV2ZW50LnR5cGV8fCJjb21wbGV0ZSI9PT15LnJlYWR5U3RhdGUpJiYoSSgpLG0ucmVhZHkoKSl9bS5yZWFkeS5wcm9taXNlPWZ1bmN0aW9uKGIpe2lmKCFIKWlmKEg9bS5EZWZlcnJlZCgpLCJjb21wbGV0ZSI9PT15LnJlYWR5U3RhdGUpc2V0VGltZW91dChtLnJlYWR5KTtlbHNlIGlmKHkuYWRkRXZlbnRMaXN0ZW5lcil5LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEosITEpLGEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsSiwhMSk7ZWxzZXt5LmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLEopLGEuYXR0YWNoRXZlbnQoIm9ubG9hZCIsSik7dmFyIGM9ITE7dHJ5e2M9bnVsbD09YS5mcmFtZUVsZW1lbnQmJnkuZG9jdW1lbnRFbGVtZW50fWNhdGNoKGQpe31jJiZjLmRvU2Nyb2xsJiYhZnVuY3Rpb24gZSgpe2lmKCFtLmlzUmVhZHkpe3RyeXtjLmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goYSl7cmV0dXJuIHNldFRpbWVvdXQoZSw1MCl9SSgpLG0ucmVhZHkoKX19KCl9cmV0dXJuIEgucHJvbWlzZShiKX07dmFyIEs9InVuZGVmaW5lZCIsTDtmb3IoTCBpbiBtKGspKWJyZWFrO2sub3duTGFzdD0iMCIhPT1MLGsuaW5saW5lQmxvY2tOZWVkc0xheW91dD0hMSxtKGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ7Yz15LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0sYyYmYy5zdHlsZSYmKGI9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZC5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweCIsYy5hcHBlbmRDaGlsZChkKS5hcHBlbmRDaGlsZChiKSx0eXBlb2YgYi5zdHlsZS56b29tIT09SyYmKGIuc3R5bGUuY3NzVGV4dD0iZGlzcGxheTppbmxpbmU7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzoxcHg7d2lkdGg6MXB4O3pvb206MSIsay5pbmxpbmVCbG9ja05lZWRzTGF5b3V0PWE9Mz09PWIub2Zmc2V0V2lkdGgsYSYmKGMuc3R5bGUuem9vbT0xKSksYy5yZW1vdmVDaGlsZChkKSl9KSxmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYobnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBhLnRlc3R9Y2F0Y2goYil7ay5kZWxldGVFeHBhbmRvPSExfX1hPW51bGx9KCksbS5hY2NlcHREYXRhPWZ1bmN0aW9uKGEpe3ZhciBiPW0ubm9EYXRhWyhhLm5vZGVOYW1lKyIgIikudG9Mb3dlckNhc2UoKV0sYz0rYS5ub2RlVHlwZXx8MTtyZXR1cm4gMSE9PWMmJjkhPT1jPyExOiFifHxiIT09ITAmJmEuZ2V0QXR0cmlidXRlKCJjbGFzc2lkIik9PT1ifTt2YXIgTT0vXig/Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLE49LyhbQS1aXSkvZztmdW5jdGlvbiBPKGEsYixjKXtpZih2b2lkIDA9PT1jJiYxPT09YS5ub2RlVHlwZSl7dmFyIGQ9ImRhdGEtIitiLnJlcGxhY2UoTiwiLSQxIikudG9Mb3dlckNhc2UoKTtpZihjPWEuZ2V0QXR0cmlidXRlKGQpLCJzdHJpbmciPT10eXBlb2YgYyl7dHJ5e2M9InRydWUiPT09Yz8hMDoiZmFsc2UiPT09Yz8hMToibnVsbCI9PT1jP251bGw6K2MrIiI9PT1jPytjOk0udGVzdChjKT9tLnBhcnNlSlNPTihjKTpjfWNhdGNoKGUpe31tLmRhdGEoYSxiLGMpfWVsc2UgYz12b2lkIDB9cmV0dXJuIGN9ZnVuY3Rpb24gUChhKXt2YXIgYjtmb3IoYiBpbiBhKWlmKCgiZGF0YSIhPT1ifHwhbS5pc0VtcHR5T2JqZWN0KGFbYl0pKSYmInRvSlNPTiIhPT1iKXJldHVybiExOwoKcmV0dXJuITB9ZnVuY3Rpb24gUShhLGIsZCxlKXtpZihtLmFjY2VwdERhdGEoYSkpe3ZhciBmLGcsaD1tLmV4cGFuZG8saT1hLm5vZGVUeXBlLGo9aT9tLmNhY2hlOmEsaz1pP2FbaF06YVtoXSYmaDtpZihrJiZqW2tdJiYoZXx8altrXS5kYXRhKXx8dm9pZCAwIT09ZHx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBrfHwoaz1pP2FbaF09Yy5wb3AoKXx8bS5ndWlkKys6aCksaltrXXx8KGpba109aT97fTp7dG9KU09OOm0ubm9vcH0pLCgib2JqZWN0Ij09dHlwZW9mIGJ8fCJmdW5jdGlvbiI9PXR5cGVvZiBiKSYmKGU/altrXT1tLmV4dGVuZChqW2tdLGIpOmpba10uZGF0YT1tLmV4dGVuZChqW2tdLmRhdGEsYikpLGc9altrXSxlfHwoZy5kYXRhfHwoZy5kYXRhPXt9KSxnPWcuZGF0YSksdm9pZCAwIT09ZCYmKGdbbS5jYW1lbENhc2UoYildPWQpLCJzdHJpbmciPT10eXBlb2YgYj8oZj1nW2JdLG51bGw9PWYmJihmPWdbbS5jYW1lbENhc2UoYildKSk6Zj1nLGZ9fWZ1bmN0aW9uIFIoYSxiLGMpe2lmKG0uYWNjZXB0RGF0YShhKSl7dmFyIGQsZSxmPWEubm9kZVR5cGUsZz1mP20uY2FjaGU6YSxoPWY/YVttLmV4cGFuZG9dOm0uZXhwYW5kbztpZihnW2hdKXtpZihiJiYoZD1jP2dbaF06Z1toXS5kYXRhKSl7bS5pc0FycmF5KGIpP2I9Yi5jb25jYXQobS5tYXAoYixtLmNhbWVsQ2FzZSkpOmIgaW4gZD9iPVtiXTooYj1tLmNhbWVsQ2FzZShiKSxiPWIgaW4gZD9bYl06Yi5zcGxpdCgiICIpKSxlPWIubGVuZ3RoO3doaWxlKGUtLSlkZWxldGUgZFtiW2VdXTtpZihjPyFQKGQpOiFtLmlzRW1wdHlPYmplY3QoZCkpcmV0dXJufShjfHwoZGVsZXRlIGdbaF0uZGF0YSxQKGdbaF0pKSkmJihmP20uY2xlYW5EYXRhKFthXSwhMCk6ay5kZWxldGVFeHBhbmRvfHxnIT1nLndpbmRvdz9kZWxldGUgZ1toXTpnW2hdPW51bGwpfX19bS5leHRlbmQoe2NhY2hlOnt9LG5vRGF0YTp7ImFwcGxldCAiOiEwLCJlbWJlZCAiOiEwLCJvYmplY3QgIjoiY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIn0saGFzRGF0YTpmdW5jdGlvbihhKXtyZXR1cm4gYT1hLm5vZGVUeXBlP20uY2FjaGVbYVttLmV4cGFuZG9dXTphW20uZXhwYW5kb10sISFhJiYhUChhKX0sZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIFEoYSxiLGMpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFIoYSxiKX0sX2RhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBRKGEsYixjLCEwKX0sX3JlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gUihhLGIsITApfX0pLG0uZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9dGhpc1swXSxnPWYmJmYuYXR0cmlidXRlcztpZih2b2lkIDA9PT1hKXtpZih0aGlzLmxlbmd0aCYmKGU9bS5kYXRhKGYpLDE9PT1mLm5vZGVUeXBlJiYhbS5fZGF0YShmLCJwYXJzZWRBdHRycyIpKSl7Yz1nLmxlbmd0aDt3aGlsZShjLS0pZ1tjXSYmKGQ9Z1tjXS5uYW1lLDA9PT1kLmluZGV4T2YoImRhdGEtIikmJihkPW0uY2FtZWxDYXNlKGQuc2xpY2UoNSkpLE8oZixkLGVbZF0pKSk7bS5fZGF0YShmLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBlfXJldHVybiJvYmplY3QiPT10eXBlb2YgYT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhKX0pOmFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhLGIpfSk6Zj9PKGYsYSxtLmRhdGEoZixhKSk6dm9pZCAwfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXttLnJlbW92ZURhdGEodGhpcyxhKX0pfX0pLG0uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGE/KGI9KGJ8fCJmeCIpKyJxdWV1ZSIsZD1tLl9kYXRhKGEsYiksYyYmKCFkfHxtLmlzQXJyYXkoYyk/ZD1tLl9kYXRhKGEsYixtLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKSxkfHxbXSk6dm9pZCAwfSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBjPW0ucXVldWUoYSxiKSxkPWMubGVuZ3RoLGU9Yy5zaGlmdCgpLGY9bS5fcXVldWVIb29rcyhhLGIpLGc9ZnVuY3Rpb24oKXttLmRlcXVldWUoYSxiKX07ImlucHJvZ3Jlc3MiPT09ZSYmKGU9Yy5zaGlmdCgpLGQtLSksZSYmKCJmeCI9PT1iJiZjLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgZi5zdG9wLGUuY2FsbChhLGcsZikpLCFkJiZmJiZmLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKyJxdWV1ZUhvb2tzIjtyZXR1cm4gbS5fZGF0YShhLGMpfHxtLl9kYXRhKGEsYyx7ZW1wdHk6bS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7bS5fcmVtb3ZlRGF0YShhLGIrInF1ZXVlIiksbS5fcmVtb3ZlRGF0YShhLGMpfSl9KX19KSxtLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiKXt2YXIgYz0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPSJmeCIsYy0tKSxhcmd1bWVudHMubGVuZ3RoPGM/bS5xdWV1ZSh0aGlzWzBdLGEpOnZvaWQgMD09PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1tLnF1ZXVlKHRoaXMsYSxiKTttLl9xdWV1ZUhvb2tzKHRoaXMsYSksImZ4Ij09PWEmJiJpbnByb2dyZXNzIiE9PWNbMF0mJm0uZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZGVxdWV1ZSh0aGlzLGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9LHByb21pc2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTEsZT1tLkRlZmVycmVkKCksZj10aGlzLGc9dGhpcy5sZW5ndGgsaD1mdW5jdGlvbigpey0tZHx8ZS5yZXNvbHZlV2l0aChmLFtmXSl9OyJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPXZvaWQgMCksYT1hfHwiZngiO3doaWxlKGctLSljPW0uX2RhdGEoZltnXSxhKyJxdWV1ZUhvb2tzIiksYyYmYy5lbXB0eSYmKGQrKyxjLmVtcHR5LmFkZChoKSk7cmV0dXJuIGgoKSxlLnByb21pc2UoYil9fSk7dmFyIFM9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsVD1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLFU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1ifHxhLCJub25lIj09PW0uY3NzKGEsImRpc3BsYXkiKXx8IW0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfSxWPW0uYWNjZXNzPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPTAsaT1hLmxlbmd0aCxqPW51bGw9PWM7aWYoIm9iamVjdCI9PT1tLnR5cGUoYykpe2U9ITA7Zm9yKGggaW4gYyltLmFjY2VzcyhhLGIsaCxjW2hdLCEwLGYsZyl9ZWxzZSBpZih2b2lkIDAhPT1kJiYoZT0hMCxtLmlzRnVuY3Rpb24oZCl8fChnPSEwKSxqJiYoZz8oYi5jYWxsKGEsZCksYj1udWxsKTooaj1iLGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqLmNhbGwobShhKSxjKX0pKSxiKSlmb3IoO2k+aDtoKyspYihhW2hdLGMsZz9kOmQuY2FsbChhW2hdLGgsYihhW2hdLGMpKSk7cmV0dXJuIGU/YTpqP2IuY2FsbChhKTppP2IoYVswXSxjKTpmfSxXPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pOyFmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYz15LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixrLmxlYWRpbmdXaGl0ZXNwYWNlPTM9PT1iLmZpcnN0Q2hpbGQubm9kZVR5cGUsay50Ym9keT0hYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKS5sZW5ndGgsay5odG1sU2VyaWFsaXplPSEhYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxrLmh0bWw1Q2xvbmU9Ijw6bmF2PjwvOm5hdj4iIT09eS5jcmVhdGVFbGVtZW50KCJuYXYiKS5jbG9uZU5vZGUoITApLm91dGVySFRNTCxhLnR5cGU9ImNoZWNrYm94IixhLmNoZWNrZWQ9ITAsYy5hcHBlbmRDaGlsZChhKSxrLmFwcGVuZENoZWNrZWQ9YS5jaGVja2VkLGIuaW5uZXJIVE1MPSI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+IixrLm5vQ2xvbmVDaGVja2VkPSEhYi5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUsYy5hcHBlbmRDaGlsZChiKSxiLmlubmVySFRNTD0iPGlucHV0IHR5cGU9J3JhZGlvJyBjaGVja2VkPSdjaGVja2VkJyBuYW1lPSd0Jy8+IixrLmNoZWNrQ2xvbmU9Yi5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsay5ub0Nsb25lRXZlbnQ9ITAsYi5hdHRhY2hFdmVudCYmKGIuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1bmN0aW9uKCl7ay5ub0Nsb25lRXZlbnQ9ITF9KSxiLmNsb25lTm9kZSghMCkuY2xpY2soKSksbnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBiLnRlc3R9Y2F0Y2goZCl7ay5kZWxldGVFeHBhbmRvPSExfX19KCksZnVuY3Rpb24oKXt2YXIgYixjLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKTtmb3IoYiBpbntzdWJtaXQ6ITAsY2hhbmdlOiEwLGZvY3VzaW46ITB9KWM9Im9uIitiLChrW2IrIkJ1YmJsZXMiXT1jIGluIGEpfHwoZC5zZXRBdHRyaWJ1dGUoYywidCIpLGtbYisiQnViYmxlcyJdPWQuYXR0cmlidXRlc1tjXS5leHBhbmRvPT09ITEpO2Q9bnVsbH0oKTt2YXIgWD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYSkkL2ksWT0vXmtleS8sWj0vXig/Om1vdXNlfHBvaW50ZXJ8Y29udGV4dG1lbnUpfGNsaWNrLywkPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyxfPS9eKFteLl0qKSg/OlwuKC4rKXwpJC87ZnVuY3Rpb24gYWEoKXtyZXR1cm4hMH1mdW5jdGlvbiBiYSgpe3JldHVybiExfWZ1bmN0aW9uIGNhKCl7dHJ5e3JldHVybiB5LmFjdGl2ZUVsZW1lbnR9Y2F0Y2goYSl7fX1tLmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGksaixrLGwsbixvLHAscSxyPW0uX2RhdGEoYSk7aWYocil7Yy5oYW5kbGVyJiYoaT1jLGM9aS5oYW5kbGVyLGU9aS5zZWxlY3RvciksYy5ndWlkfHwoYy5ndWlkPW0uZ3VpZCsrKSwoZz1yLmV2ZW50cyl8fChnPXIuZXZlbnRzPXt9KSwoaz1yLmhhbmRsZSl8fChrPXIuaGFuZGxlPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgbT09PUt8fGEmJm0uZXZlbnQudHJpZ2dlcmVkPT09YS50eXBlP3ZvaWQgMDptLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGsuZWxlbSxhcmd1bWVudHMpfSxrLmVsZW09YSksYj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGg9Yi5sZW5ndGg7d2hpbGUoaC0tKWY9Xy5leGVjKGJbaF0pfHxbXSxvPXE9ZlsxXSxwPShmWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyYmKGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxvPShlP2ouZGVsZWdhdGVUeXBlOmouYmluZFR5cGUpfHxvLGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxsPW0uZXh0ZW5kKHt0eXBlOm8sb3JpZ1R5cGU6cSxkYXRhOmQsaGFuZGxlcjpjLGd1aWQ6Yy5ndWlkLHNlbGVjdG9yOmUsbmVlZHNDb250ZXh0OmUmJm0uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChlKSxuYW1lc3BhY2U6cC5qb2luKCIuIil9LGkpLChuPWdbb10pfHwobj1nW29dPVtdLG4uZGVsZWdhdGVDb3VudD0wLGouc2V0dXAmJmouc2V0dXAuY2FsbChhLGQscCxrKSE9PSExfHwoYS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihvLGssITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9uIitvLGspKSksai5hZGQmJihqLmFkZC5jYWxsKGEsbCksbC5oYW5kbGVyLmd1aWR8fChsLmhhbmRsZXIuZ3VpZD1jLmd1aWQpKSxlP24uc3BsaWNlKG4uZGVsZWdhdGVDb3VudCsrLDAsbCk6bi5wdXNoKGwpLG0uZXZlbnQuZ2xvYmFsW29dPSEwKTthPW51bGx9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxuLG8scCxxLHI9bS5oYXNEYXRhKGEpJiZtLl9kYXRhKGEpO2lmKHImJihrPXIuZXZlbnRzKSl7Yj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWlmKGg9Xy5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyl7bD1tLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGQ/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG8sbj1rW29dfHxbXSxoPWhbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK3Auam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksaT1mPW4ubGVuZ3RoO3doaWxlKGYtLSlnPW5bZl0sIWUmJnEhPT1nLm9yaWdUeXBlfHxjJiZjLmd1aWQhPT1nLmd1aWR8fGgmJiFoLnRlc3QoZy5uYW1lc3BhY2UpfHxkJiZkIT09Zy5zZWxlY3RvciYmKCIqKiIhPT1kfHwhZy5zZWxlY3Rvcil8fChuLnNwbGljZShmLDEpLGcuc2VsZWN0b3ImJm4uZGVsZWdhdGVDb3VudC0tLGwucmVtb3ZlJiZsLnJlbW92ZS5jYWxsKGEsZykpO2kmJiFuLmxlbmd0aCYmKGwudGVhcmRvd24mJmwudGVhcmRvd24uY2FsbChhLHAsci5oYW5kbGUpIT09ITF8fG0ucmVtb3ZlRXZlbnQoYSxvLHIuaGFuZGxlKSxkZWxldGUga1tvXSl9ZWxzZSBmb3IobyBpbiBrKW0uZXZlbnQucmVtb3ZlKGEsbytiW2pdLGMsZCwhMCk7bS5pc0VtcHR5T2JqZWN0KGspJiYoZGVsZXRlIHIuaGFuZGxlLG0uX3JlbW92ZURhdGEoYSwiZXZlbnRzIikpfX0sdHJpZ2dlcjpmdW5jdGlvbihiLGMsZCxlKXt2YXIgZixnLGgsaSxrLGwsbixvPVtkfHx5XSxwPWouY2FsbChiLCJ0eXBlIik/Yi50eXBlOmIscT1qLmNhbGwoYiwibmFtZXNwYWNlIik/Yi5uYW1lc3BhY2Uuc3BsaXQoIi4iKTpbXTtpZihoPWw9ZD1kfHx5LDMhPT1kLm5vZGVUeXBlJiY4IT09ZC5ub2RlVHlwZSYmISQudGVzdChwK20uZXZlbnQudHJpZ2dlcmVkKSYmKHAuaW5kZXhPZigiLiIpPj0wJiYocT1wLnNwbGl0KCIuIikscD1xLnNoaWZ0KCkscS5zb3J0KCkpLGc9cC5pbmRleE9mKCI6Iik8MCYmIm9uIitwLGI9YlttLmV4cGFuZG9dP2I6bmV3IG0uRXZlbnQocCwib2JqZWN0Ij09dHlwZW9mIGImJmIpLGIuaXNUcmlnZ2VyPWU/MjozLGIubmFtZXNwYWNlPXEuam9pbigiLiIpLGIubmFtZXNwYWNlX3JlPWIubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK3Euam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxiLnJlc3VsdD12b2lkIDAsYi50YXJnZXR8fChiLnRhcmdldD1kKSxjPW51bGw9PWM/W2JdOm0ubWFrZUFycmF5KGMsW2JdKSxrPW0uZXZlbnQuc3BlY2lhbFtwXXx8e30sZXx8IWsudHJpZ2dlcnx8ay50cmlnZ2VyLmFwcGx5KGQsYykhPT0hMSkpe2lmKCFlJiYhay5ub0J1YmJsZSYmIW0uaXNXaW5kb3coZCkpe2ZvcihpPWsuZGVsZWdhdGVUeXBlfHxwLCQudGVzdChpK3ApfHwoaD1oLnBhcmVudE5vZGUpO2g7aD1oLnBhcmVudE5vZGUpby5wdXNoKGgpLGw9aDtsPT09KGQub3duZXJEb2N1bWVudHx8eSkmJm8ucHVzaChsLmRlZmF1bHRWaWV3fHxsLnBhcmVudFdpbmRvd3x8YSl9bj0wO3doaWxlKChoPW9bbisrXSkmJiFiLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYi50eXBlPW4+MT9pOmsuYmluZFR5cGV8fHAsZj0obS5fZGF0YShoLCJldmVudHMiKXx8e30pW2IudHlwZV0mJm0uX2RhdGEoaCwiaGFuZGxlIiksZiYmZi5hcHBseShoLGMpLGY9ZyYmaFtnXSxmJiZmLmFwcGx5JiZtLmFjY2VwdERhdGEoaCkmJihiLnJlc3VsdD1mLmFwcGx5KGgsYyksYi5yZXN1bHQ9PT0hMSYmYi5wcmV2ZW50RGVmYXVsdCgpKTtpZihiLnR5cGU9cCwhZSYmIWIuaXNEZWZhdWx0UHJldmVudGVkKCkmJighay5fZGVmYXVsdHx8ay5fZGVmYXVsdC5hcHBseShvLnBvcCgpLGMpPT09ITEpJiZtLmFjY2VwdERhdGEoZCkmJmcmJmRbcF0mJiFtLmlzV2luZG93KGQpKXtsPWRbZ10sbCYmKGRbZ109bnVsbCksbS5ldmVudC50cmlnZ2VyZWQ9cDt0cnl7ZFtwXSgpfWNhdGNoKHIpe31tLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsbCYmKGRbZ109bCl9cmV0dXJuIGIucmVzdWx0fX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YT1tLmV2ZW50LmZpeChhKTt2YXIgYixjLGUsZixnLGg9W10saT1kLmNhbGwoYXJndW1lbnRzKSxqPShtLl9kYXRhKHRoaXMsImV2ZW50cyIpfHx7fSlbYS50eXBlXXx8W10saz1tLmV2ZW50LnNwZWNpYWxbYS50eXBlXXx8e307aWYoaVswXT1hLGEuZGVsZWdhdGVUYXJnZXQ9dGhpcywhay5wcmVEaXNwYXRjaHx8ay5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsYSkhPT0hMSl7aD1tLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyxhLGopLGI9MDt3aGlsZSgoZj1oW2IrK10pJiYhYS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXthLmN1cnJlbnRUYXJnZXQ9Zi5lbGVtLGc9MDt3aGlsZSgoZT1mLmhhbmRsZXJzW2crK10pJiYhYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKSghYS5uYW1lc3BhY2VfcmV8fGEubmFtZXNwYWNlX3JlLnRlc3QoZS5uYW1lc3BhY2UpKSYmKGEuaGFuZGxlT2JqPWUsYS5kYXRhPWUuZGF0YSxjPSgobS5ldmVudC5zcGVjaWFsW2Uub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxlLmhhbmRsZXIpLmFwcGx5KGYuZWxlbSxpKSx2b2lkIDAhPT1jJiYoYS5yZXN1bHQ9Yyk9PT0hMSYmKGEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGsucG9zdERpc3BhdGNoJiZrLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsYSksYS5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc9W10saD1iLmRlbGVnYXRlQ291bnQsaT1hLnRhcmdldDtpZihoJiZpLm5vZGVUeXBlJiYoIWEuYnV0dG9ufHwiY2xpY2siIT09YS50eXBlKSlmb3IoO2khPXRoaXM7aT1pLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWkubm9kZVR5cGUmJihpLmRpc2FibGVkIT09ITB8fCJjbGljayIhPT1hLnR5cGUpKXtmb3IoZT1bXSxmPTA7aD5mO2YrKylkPWJbZl0sYz1kLnNlbGVjdG9yKyIgIix2b2lkIDA9PT1lW2NdJiYoZVtjXT1kLm5lZWRzQ29udGV4dD9tKGMsdGhpcykuaW5kZXgoaSk+PTA6bS5maW5kKGMsdGhpcyxudWxsLFtpXSkubGVuZ3RoKSxlW2NdJiZlLnB1c2goZCk7ZS5sZW5ndGgmJmcucHVzaCh7ZWxlbTppLGhhbmRsZXJzOmV9KX1yZXR1cm4gaDxiLmxlbmd0aCYmZy5wdXNoKHtlbGVtOnRoaXMsaGFuZGxlcnM6Yi5zbGljZShoKX0pLGd9LGZpeDpmdW5jdGlvbihhKXtpZihhW20uZXhwYW5kb10pcmV0dXJuIGE7dmFyIGIsYyxkLGU9YS50eXBlLGY9YSxnPXRoaXMuZml4SG9va3NbZV07Z3x8KHRoaXMuZml4SG9va3NbZV09Zz1aLnRlc3QoZSk/dGhpcy5tb3VzZUhvb2tzOlkudGVzdChlKT90aGlzLmtleUhvb2tzOnt9KSxkPWcucHJvcHM/dGhpcy5wcm9wcy5jb25jYXQoZy5wcm9wcyk6dGhpcy5wcm9wcyxhPW5ldyBtLkV2ZW50KGYpLGI9ZC5sZW5ndGg7d2hpbGUoYi0tKWM9ZFtiXSxhW2NdPWZbY107cmV0dXJuIGEudGFyZ2V0fHwoYS50YXJnZXQ9Zi5zcmNFbGVtZW50fHx5KSwzPT09YS50YXJnZXQubm9kZVR5cGUmJihhLnRhcmdldD1hLnRhcmdldC5wYXJlbnROb2RlKSxhLm1ldGFLZXk9ISFhLm1ldGFLZXksZy5maWx0ZXI/Zy5maWx0ZXIoYSxmKTphfSxwcm9wczoiYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLGZpeEhvb2tzOnt9LGtleUhvb2tzOntwcm9wczoiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbD09YS53aGljaCYmKGEud2hpY2g9bnVsbCE9Yi5jaGFyQ29kZT9iLmNoYXJDb2RlOmIua2V5Q29kZSksYX19LG1vdXNlSG9va3M6e3Byb3BzOiJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNsaWVudFkgZnJvbUVsZW1lbnQgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNjcmVlblggc2NyZWVuWSB0b0VsZW1lbnQiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9Yi5idXR0b24sZz1iLmZyb21FbGVtZW50O3JldHVybiBudWxsPT1hLnBhZ2VYJiZudWxsIT1iLmNsaWVudFgmJihkPWEudGFyZ2V0Lm93bmVyRG9jdW1lbnR8fHksZT1kLmRvY3VtZW50RWxlbWVudCxjPWQuYm9keSxhLnBhZ2VYPWIuY2xpZW50WCsoZSYmZS5zY3JvbGxMZWZ0fHxjJiZjLnNjcm9sbExlZnR8fDApLShlJiZlLmNsaWVudExlZnR8fGMmJmMuY2xpZW50TGVmdHx8MCksYS5wYWdlWT1iLmNsaWVudFkrKGUmJmUuc2Nyb2xsVG9wfHxjJiZjLnNjcm9sbFRvcHx8MCktKGUmJmUuY2xpZW50VG9wfHxjJiZjLmNsaWVudFRvcHx8MCkpLCFhLnJlbGF0ZWRUYXJnZXQmJmcmJihhLnJlbGF0ZWRUYXJnZXQ9Zz09PWEudGFyZ2V0P2IudG9FbGVtZW50OmcpLGEud2hpY2h8fHZvaWQgMD09PWZ8fChhLndoaWNoPTEmZj8xOjImZj8zOjQmZj8yOjApLGF9fSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sZm9jdXM6e3RyaWdnZXI6ZnVuY3Rpb24oKXtpZih0aGlzIT09Y2EoKSYmdGhpcy5mb2N1cyl0cnl7cmV0dXJuIHRoaXMuZm9jdXMoKSwhMX1jYXRjaChhKXt9fSxkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM9PT1jYSgpJiZ0aGlzLmJsdXI/KHRoaXMuYmx1cigpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZToiZm9jdXNvdXQifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImlucHV0IikmJiJjaGVja2JveCI9PT10aGlzLnR5cGUmJnRoaXMuY2xpY2s/KHRoaXMuY2xpY2soKSwhMSk6dm9pZCAwfSxfZGVmYXVsdDpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLnRhcmdldCwiYSIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7dm9pZCAwIT09YS5yZXN1bHQmJmEub3JpZ2luYWxFdmVudCYmKGEub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1hLnJlc3VsdCl9fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5leHRlbmQobmV3IG0uRXZlbnQsYyx7dHlwZTphLGlzU2ltdWxhdGVkOiEwLG9yaWdpbmFsRXZlbnQ6e319KTtkP20uZXZlbnQudHJpZ2dlcihlLG51bGwsYik6bS5ldmVudC5kaXNwYXRjaC5jYWxsKGIsZSksZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmYy5wcmV2ZW50RGVmYXVsdCgpfX0sbS5yZW1vdmVFdmVudD15LnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYywhMSl9OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD0ib24iK2I7YS5kZXRhY2hFdmVudCYmKHR5cGVvZiBhW2RdPT09SyYmKGFbZF09bnVsbCksYS5kZXRhY2hFdmVudChkLGMpKX0sbS5FdmVudD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgbS5FdmVudD8oYSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09YS5kZWZhdWx0UHJldmVudGVkJiZhLnJldHVyblZhbHVlPT09ITE/YWE6YmEpOnRoaXMudHlwZT1hLGImJm0uZXh0ZW5kKHRoaXMsYiksdGhpcy50aW1lU3RhbXA9YSYmYS50aW1lU3RhbXB8fG0ubm93KCksdm9pZCh0aGlzW20uZXhwYW5kb109ITApKTpuZXcgbS5FdmVudChhLGIpfSxtLkV2ZW50LnByb3RvdHlwZT17aXNEZWZhdWx0UHJldmVudGVkOmJhLGlzUHJvcGFnYXRpb25TdG9wcGVkOmJhLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOmJhLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPWFhLGEmJihhLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9YWEsYSYmKGEuc3RvcFByb3BhZ2F0aW9uJiZhLnN0b3BQcm9wYWdhdGlvbigpLGEuY2FuY2VsQnViYmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9YWEsYSYmYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJmEuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LG0uZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCIscG9pbnRlcmVudGVyOiJwb2ludGVyb3ZlciIscG9pbnRlcmxlYXZlOiJwb2ludGVyb3V0In0sZnVuY3Rpb24oYSxiKXttLmV2ZW50LnNwZWNpYWxbYV09e2RlbGVnYXRlVHlwZTpiLGJpbmRUeXBlOmIsaGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBjLGQ9dGhpcyxlPWEucmVsYXRlZFRhcmdldCxmPWEuaGFuZGxlT2JqO3JldHVybighZXx8ZSE9PWQmJiFtLmNvbnRhaW5zKGQsZSkpJiYoYS50eXBlPWYub3JpZ1R5cGUsYz1mLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGEudHlwZT1iKSxjfX19KSxrLnN1Ym1pdEJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuc3VibWl0PXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImZvcm0iKT8hMTp2b2lkIG0uZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9zdWJtaXQga2V5cHJlc3MuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1tLm5vZGVOYW1lKGIsImlucHV0Iil8fG0ubm9kZU5hbWUoYiwiYnV0dG9uIik/Yi5mb3JtOnZvaWQgMDtjJiYhbS5fZGF0YShjLCJzdWJtaXRCdWJibGVzIikmJihtLmV2ZW50LmFkZChjLCJzdWJtaXQuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZT0hMH0pLG0uX2RhdGEoYywic3VibWl0QnViYmxlcyIsITApKX0pfSxwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZSYmKGRlbGV0ZSBhLl9zdWJtaXRfYnViYmxlLHRoaXMucGFyZW50Tm9kZSYmIWEuaXNUcmlnZ2VyJiZtLmV2ZW50LnNpbXVsYXRlKCJzdWJtaXQiLHRoaXMucGFyZW50Tm9kZSxhLCEwKSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIG0ubm9kZU5hbWUodGhpcywiZm9ybSIpPyExOnZvaWQgbS5ldmVudC5yZW1vdmUodGhpcywiLl9zdWJtaXQiKX19KSxrLmNoYW5nZUJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBYLnRlc3QodGhpcy5ub2RlTmFtZSk/KCgiY2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlKSYmKG0uZXZlbnQuYWRkKHRoaXMsInByb3BlcnR5Y2hhbmdlLl9jaGFuZ2UiLGZ1bmN0aW9uKGEpeyJjaGVja2VkIj09PWEub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSksbS5ldmVudC5hZGQodGhpcywiY2xpY2suX2NoYW5nZSIsZnVuY3Rpb24oYSl7dGhpcy5fanVzdF9jaGFuZ2VkJiYhYS5pc1RyaWdnZXImJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITEpLG0uZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcyxhLCEwKX0pKSwhMSk6dm9pZCBtLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtYLnRlc3QoYi5ub2RlTmFtZSkmJiFtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiKSYmKG0uZXZlbnQuYWRkKGIsImNoYW5nZS5fY2hhbmdlIixmdW5jdGlvbihhKXshdGhpcy5wYXJlbnROb2RlfHxhLmlzU2ltdWxhdGVkfHxhLmlzVHJpZ2dlcnx8bS5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsYSwhMCl9KSxtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiLCEwKSl9KX0saGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3JldHVybiB0aGlzIT09Ynx8YS5pc1NpbXVsYXRlZHx8YS5pc1RyaWdnZXJ8fCJyYWRpbyIhPT1iLnR5cGUmJiJjaGVja2JveCIhPT1iLnR5cGU/YS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfSx0ZWFyZG93bjpmdW5jdGlvbigpe3JldHVybiBtLmV2ZW50LnJlbW92ZSh0aGlzLCIuX2NoYW5nZSIpLCFYLnRlc3QodGhpcy5ub2RlTmFtZSl9fSksay5mb2N1c2luQnViYmxlc3x8bS5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGEpe20uZXZlbnQuc2ltdWxhdGUoYixhLnRhcmdldCxtLmV2ZW50LmZpeChhKSwhMCl9O20uZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1tLl9kYXRhKGQsYik7ZXx8ZC5hZGRFdmVudExpc3RlbmVyKGEsYywhMCksbS5fZGF0YShkLGIsKGV8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPW0uX2RhdGEoZCxiKS0xO2U/bS5fZGF0YShkLGIsZSk6KGQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApLG0uX3JlbW92ZURhdGEoZCxiKSl9fX0pLG0uZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGc7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXsic3RyaW5nIiE9dHlwZW9mIGImJihjPWN8fGIsYj12b2lkIDApO2ZvcihmIGluIGEpdGhpcy5vbihmLGIsYyxhW2ZdLGUpO3JldHVybiB0aGlzfWlmKG51bGw9PWMmJm51bGw9PWQ/KGQ9YixjPWI9dm9pZCAwKTpudWxsPT1kJiYoInN0cmluZyI9PXR5cGVvZiBiPyhkPWMsYz12b2lkIDApOihkPWMsYz1iLGI9dm9pZCAwKSksZD09PSExKWQ9YmE7ZWxzZSBpZighZClyZXR1cm4gdGhpcztyZXR1cm4gMT09PWUmJihnPWQsZD1mdW5jdGlvbihhKXtyZXR1cm4gbSgpLm9mZihhKSxnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZC5ndWlkPWcuZ3VpZHx8KGcuZ3VpZD1tLmd1aWQrKykpLHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQuYWRkKHRoaXMsYSxkLGMsYil9KX0sb25lOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZTtpZihhJiZhLnByZXZlbnREZWZhdWx0JiZhLmhhbmRsZU9iailyZXR1cm4gZD1hLmhhbmRsZU9iaixtKGEuZGVsZWdhdGVUYXJnZXQpLm9mZihkLm5hbWVzcGFjZT9kLm9yaWdUeXBlKyIuIitkLm5hbWVzcGFjZTpkLm9yaWdUeXBlLGQuc2VsZWN0b3IsZC5oYW5kbGVyKSx0aGlzO2lmKCJvYmplY3QiPT10eXBlb2YgYSl7Zm9yKGUgaW4gYSl0aGlzLm9mZihlLGIsYVtlXSk7cmV0dXJuIHRoaXN9cmV0dXJuKGI9PT0hMXx8ImZ1bmN0aW9uIj09dHlwZW9mIGIpJiYoYz1iLGI9dm9pZCAwKSxjPT09ITEmJihjPWJhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXttLmV2ZW50LnJlbW92ZSh0aGlzLGEsYyxiKX0pfSx0cmlnZ2VyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQudHJpZ2dlcihhLGIsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzWzBdO3JldHVybiBjP20uZXZlbnQudHJpZ2dlcihhLGIsYywhMCk6dm9pZCAwfX0pO2Z1bmN0aW9uIGRhKGEpe3ZhciBiPWVhLnNwbGl0KCJ8IiksYz1hLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihjLmNyZWF0ZUVsZW1lbnQpd2hpbGUoYi5sZW5ndGgpYy5jcmVhdGVFbGVtZW50KGIucG9wKCkpO3JldHVybiBjfXZhciBlYT0iYWJicnxhcnRpY2xlfGFzaWRlfGF1ZGlvfGJkaXxjYW52YXN8ZGF0YXxkYXRhbGlzdHxkZXRhaWxzfGZpZ2NhcHRpb258ZmlndXJlfGZvb3RlcnxoZWFkZXJ8aGdyb3VwfG1hcmt8bWV0ZXJ8bmF2fG91dHB1dHxwcm9ncmVzc3xzZWN0aW9ufHN1bW1hcnl8dGltZXx2aWRlbyIsZmE9LyBqUXVlcnlcZCs9Iig/Om51bGx8XGQrKSIvZyxnYT1uZXcgUmVnRXhwKCI8KD86IitlYSsiKVtcXHMvPl0iLCJpIiksaGE9L15ccysvLGlhPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFtcdzpdKylbXj5dKilcLz4vZ2ksamE9LzwoW1x3Ol0rKS8sa2E9Lzx0Ym9keS9pLGxhPS88fCYjP1x3KzsvLG1hPS88KD86c2NyaXB0fHN0eWxlfGxpbmspL2ksbmE9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksb2E9L14kfFwvKD86amF2YXxlY21hKXNjcmlwdC9pLHBhPS9edHJ1ZVwvKC4qKS8scWE9L15ccyo8ISg/OlxbQ0RBVEFcW3wtLSl8KD86XF1cXXwtLSk+XHMqJC9nLHJhPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLGFyZWE6WzEsIjxtYXA+IiwiPC9tYXA+Il0scGFyYW06WzEsIjxvYmplY3Q+IiwiPC9vYmplY3Q+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48dGJvZHk+PC90Ym9keT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSxfZGVmYXVsdDprLmh0bWxTZXJpYWxpemU/WzAsIiIsIiJdOlsxLCJYPGRpdj4iLCI8L2Rpdj4iXX0sc2E9ZGEoeSksdGE9c2EuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSk7cmEub3B0Z3JvdXA9cmEub3B0aW9uLHJhLnRib2R5PXJhLnRmb290PXJhLmNvbGdyb3VwPXJhLmNhcHRpb249cmEudGhlYWQscmEudGg9cmEudGQ7ZnVuY3Rpb24gdWEoYSxiKXt2YXIgYyxkLGU9MCxmPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lIT09Sz9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGJ8fCIqIik6dHlwZW9mIGEucXVlcnlTZWxlY3RvckFsbCE9PUs/YS5xdWVyeVNlbGVjdG9yQWxsKGJ8fCIqIik6dm9pZCAwO2lmKCFmKWZvcihmPVtdLGM9YS5jaGlsZE5vZGVzfHxhO251bGwhPShkPWNbZV0pO2UrKykhYnx8bS5ub2RlTmFtZShkLGIpP2YucHVzaChkKTptLm1lcmdlKGYsdWEoZCxiKSk7cmV0dXJuIHZvaWQgMD09PWJ8fGImJm0ubm9kZU5hbWUoYSxiKT9tLm1lcmdlKFthXSxmKTpmfWZ1bmN0aW9uIHZhKGEpe1cudGVzdChhLnR5cGUpJiYoYS5kZWZhdWx0Q2hlY2tlZD1hLmNoZWNrZWQpfWZ1bmN0aW9uIHdhKGEsYil7cmV0dXJuIG0ubm9kZU5hbWUoYSwidGFibGUiKSYmbS5ub2RlTmFtZSgxMSE9PWIubm9kZVR5cGU/YjpiLmZpcnN0Q2hpbGQsInRyIik/YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8YS5hcHBlbmRDaGlsZChhLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6YX1mdW5jdGlvbiB4YShhKXtyZXR1cm4gYS50eXBlPShudWxsIT09bS5maW5kLmF0dHIoYSwidHlwZSIpKSsiLyIrYS50eXBlLGF9ZnVuY3Rpb24geWEoYSl7dmFyIGI9cGEuZXhlYyhhLnR5cGUpO3JldHVybiBiP2EudHlwZT1iWzFdOmEucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksYX1mdW5jdGlvbiB6YShhLGIpe2Zvcih2YXIgYyxkPTA7bnVsbCE9KGM9YVtkXSk7ZCsrKW0uX2RhdGEoYywiZ2xvYmFsRXZhbCIsIWJ8fG0uX2RhdGEoYltkXSwiZ2xvYmFsRXZhbCIpKX1mdW5jdGlvbiBBYShhLGIpe2lmKDE9PT1iLm5vZGVUeXBlJiZtLmhhc0RhdGEoYSkpe3ZhciBjLGQsZSxmPW0uX2RhdGEoYSksZz1tLl9kYXRhKGIsZiksaD1mLmV2ZW50cztpZihoKXtkZWxldGUgZy5oYW5kbGUsZy5ldmVudHM9e307Zm9yKGMgaW4gaClmb3IoZD0wLGU9aFtjXS5sZW5ndGg7ZT5kO2QrKyltLmV2ZW50LmFkZChiLGMsaFtjXVtkXSl9Zy5kYXRhJiYoZy5kYXRhPW0uZXh0ZW5kKHt9LGcuZGF0YSkpfX1mdW5jdGlvbiBCYShhLGIpe3ZhciBjLGQsZTtpZigxPT09Yi5ub2RlVHlwZSl7aWYoYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIWsubm9DbG9uZUV2ZW50JiZiW20uZXhwYW5kb10pe2U9bS5fZGF0YShiKTtmb3IoZCBpbiBlLmV2ZW50cyltLnJlbW92ZUV2ZW50KGIsZCxlLmhhbmRsZSk7Yi5yZW1vdmVBdHRyaWJ1dGUobS5leHBhbmRvKX0ic2NyaXB0Ij09PWMmJmIudGV4dCE9PWEudGV4dD8oeGEoYikudGV4dD1hLnRleHQseWEoYikpOiJvYmplY3QiPT09Yz8oYi5wYXJlbnROb2RlJiYoYi5vdXRlckhUTUw9YS5vdXRlckhUTUwpLGsuaHRtbDVDbG9uZSYmYS5pbm5lckhUTUwmJiFtLnRyaW0oYi5pbm5lckhUTUwpJiYoYi5pbm5lckhUTUw9YS5pbm5lckhUTUwpKToiaW5wdXQiPT09YyYmVy50ZXN0KGEudHlwZSk/KGIuZGVmYXVsdENoZWNrZWQ9Yi5jaGVja2VkPWEuY2hlY2tlZCxiLnZhbHVlIT09YS52YWx1ZSYmKGIudmFsdWU9YS52YWx1ZSkpOiJvcHRpb24iPT09Yz9iLmRlZmF1bHRTZWxlY3RlZD1iLnNlbGVjdGVkPWEuZGVmYXVsdFNlbGVjdGVkOigiaW5wdXQiPT09Y3x8InRleHRhcmVhIj09PWMpJiYoYi5kZWZhdWx0VmFsdWU9YS5kZWZhdWx0VmFsdWUpfX1tLmV4dGVuZCh7Y2xvbmU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGgsaT1tLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKTtpZihrLmh0bWw1Q2xvbmV8fG0uaXNYTUxEb2MoYSl8fCFnYS50ZXN0KCI8IithLm5vZGVOYW1lKyI+Iik/Zj1hLmNsb25lTm9kZSghMCk6KHRhLmlubmVySFRNTD1hLm91dGVySFRNTCx0YS5yZW1vdmVDaGlsZChmPXRhLmZpcnN0Q2hpbGQpKSwhKGsubm9DbG9uZUV2ZW50JiZrLm5vQ2xvbmVDaGVja2VkfHwxIT09YS5ub2RlVHlwZSYmMTEhPT1hLm5vZGVUeXBlfHxtLmlzWE1MRG9jKGEpKSlmb3IoZD11YShmKSxoPXVhKGEpLGc9MDtudWxsIT0oZT1oW2ddKTsrK2cpZFtnXSYmQmEoZSxkW2ddKTtpZihiKWlmKGMpZm9yKGg9aHx8dWEoYSksZD1kfHx1YShmKSxnPTA7bnVsbCE9KGU9aFtnXSk7ZysrKUFhKGUsZFtnXSk7ZWxzZSBBYShhLGYpO3JldHVybiBkPXVhKGYsInNjcmlwdCIpLGQubGVuZ3RoPjAmJnphKGQsIWkmJnVhKGEsInNjcmlwdCIpKSxkPWg9ZT1udWxsLGZ9LGJ1aWxkRnJhZ21lbnQ6ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlLGYsZyxoLGksaixsLG49YS5sZW5ndGgsbz1kYShiKSxwPVtdLHE9MDtuPnE7cSsrKWlmKGY9YVtxXSxmfHwwPT09ZilpZigib2JqZWN0Ij09PW0udHlwZShmKSltLm1lcmdlKHAsZi5ub2RlVHlwZT9bZl06Zik7ZWxzZSBpZihsYS50ZXN0KGYpKXtoPWh8fG8uYXBwZW5kQ2hpbGQoYi5jcmVhdGVFbGVtZW50KCJkaXYiKSksaT0oamEuZXhlYyhmKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxsPXJhW2ldfHxyYS5fZGVmYXVsdCxoLmlubmVySFRNTD1sWzFdK2YucmVwbGFjZShpYSwiPCQxPjwvJDI+IikrbFsyXSxlPWxbMF07d2hpbGUoZS0tKWg9aC5sYXN0Q2hpbGQ7aWYoIWsubGVhZGluZ1doaXRlc3BhY2UmJmhhLnRlc3QoZikmJnAucHVzaChiLmNyZWF0ZVRleHROb2RlKGhhLmV4ZWMoZilbMF0pKSwhay50Ym9keSl7Zj0idGFibGUiIT09aXx8a2EudGVzdChmKT8iPHRhYmxlPiIhPT1sWzFdfHxrYS50ZXN0KGYpPzA6aDpoLmZpcnN0Q2hpbGQsZT1mJiZmLmNoaWxkTm9kZXMubGVuZ3RoO3doaWxlKGUtLSltLm5vZGVOYW1lKGo9Zi5jaGlsZE5vZGVzW2VdLCJ0Ym9keSIpJiYhai5jaGlsZE5vZGVzLmxlbmd0aCYmZi5yZW1vdmVDaGlsZChqKX1tLm1lcmdlKHAsaC5jaGlsZE5vZGVzKSxoLnRleHRDb250ZW50PSIiO3doaWxlKGguZmlyc3RDaGlsZCloLnJlbW92ZUNoaWxkKGguZmlyc3RDaGlsZCk7aD1vLmxhc3RDaGlsZH1lbHNlIHAucHVzaChiLmNyZWF0ZVRleHROb2RlKGYpKTtoJiZvLnJlbW92ZUNoaWxkKGgpLGsuYXBwZW5kQ2hlY2tlZHx8bS5ncmVwKHVhKHAsImlucHV0IiksdmEpLHE9MDt3aGlsZShmPXBbcSsrXSlpZigoIWR8fC0xPT09bS5pbkFycmF5KGYsZCkpJiYoZz1tLmNvbnRhaW5zKGYub3duZXJEb2N1bWVudCxmKSxoPXVhKG8uYXBwZW5kQ2hpbGQoZiksInNjcmlwdCIpLGcmJnphKGgpLGMpKXtlPTA7d2hpbGUoZj1oW2UrK10pb2EudGVzdChmLnR5cGV8fCIiKSYmYy5wdXNoKGYpfXJldHVybiBoPW51bGwsb30sY2xlYW5EYXRhOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBkLGUsZixnLGg9MCxpPW0uZXhwYW5kbyxqPW0uY2FjaGUsbD1rLmRlbGV0ZUV4cGFuZG8sbj1tLmV2ZW50LnNwZWNpYWw7bnVsbCE9KGQ9YVtoXSk7aCsrKWlmKChifHxtLmFjY2VwdERhdGEoZCkpJiYoZj1kW2ldLGc9ZiYmaltmXSkpe2lmKGcuZXZlbnRzKWZvcihlIGluIGcuZXZlbnRzKW5bZV0/bS5ldmVudC5yZW1vdmUoZCxlKTptLnJlbW92ZUV2ZW50KGQsZSxnLmhhbmRsZSk7altmXSYmKGRlbGV0ZSBqW2ZdLGw/ZGVsZXRlIGRbaV06dHlwZW9mIGQucmVtb3ZlQXR0cmlidXRlIT09Sz9kLnJlbW92ZUF0dHJpYnV0ZShpKTpkW2ldPW51bGwsYy5wdXNoKGYpKX19fSksbS5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhKXtyZXR1cm4gdm9pZCAwPT09YT9tLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmFwcGVuZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHx5KS5jcmVhdGVUZXh0Tm9kZShhKSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZ1bmN0aW9uKGEpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgYj13YSh0aGlzLGEpO2IuYXBwZW5kQ2hpbGQoYSl9fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPXdhKHRoaXMsYSk7Yi5pbnNlcnRCZWZvcmUoYSxiLmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcy5uZXh0U2libGluZyl9KX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQ9YT9tLmZpbHRlcihhLHRoaXMpOnRoaXMsZT0wO251bGwhPShjPWRbZV0pO2UrKylifHwxIT09Yy5ub2RlVHlwZXx8bS5jbGVhbkRhdGEodWEoYykpLGMucGFyZW50Tm9kZSYmKGImJm0uY29udGFpbnMoYy5vd25lckRvY3VtZW50LGMpJiZ6YSh1YShjLCJzY3JpcHQiKSksYy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpKTtyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGEsYj0wO251bGwhPShhPXRoaXNbYl0pO2IrKyl7MT09PWEubm9kZVR5cGUmJm0uY2xlYW5EYXRhKHVhKGEsITEpKTt3aGlsZShhLmZpcnN0Q2hpbGQpYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2Eub3B0aW9ucyYmbS5ub2RlTmFtZShhLCJzZWxlY3QiKSYmKGEub3B0aW9ucy5sZW5ndGg9MCl9cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9bnVsbD09YT8hMTphLGI9bnVsbD09Yj9hOmIsdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbS5jbG9uZSh0aGlzLGEsYil9KX0saHRtbDpmdW5jdGlvbihhKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF18fHt9LGM9MCxkPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWEpcmV0dXJuIDE9PT1iLm5vZGVUeXBlP2IuaW5uZXJIVE1MLnJlcGxhY2UoZmEsIiIpOnZvaWQgMDtpZighKCJzdHJpbmciIT10eXBlb2YgYXx8bWEudGVzdChhKXx8IWsuaHRtbFNlcmlhbGl6ZSYmZ2EudGVzdChhKXx8IWsubGVhZGluZ1doaXRlc3BhY2UmJmhhLnRlc3QoYSl8fHJhWyhqYS5leGVjKGEpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSkpe2E9YS5yZXBsYWNlKGlhLCI8JDE+PC8kMj4iKTt0cnl7Zm9yKDtkPmM7YysrKWI9dGhpc1tjXXx8e30sMT09PWIubm9kZVR5cGUmJihtLmNsZWFuRGF0YSh1YShiLCExKSksYi5pbm5lckhUTUw9YSk7Yj0wfWNhdGNoKGUpe319YiYmdGhpcy5lbXB0eSgpLmFwcGVuZChhKX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50c1swXTtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYil7YT10aGlzLnBhcmVudE5vZGUsbS5jbGVhbkRhdGEodWEodGhpcykpLGEmJmEucmVwbGFjZUNoaWxkKGIsdGhpcyl9KSxhJiYoYS5sZW5ndGh8fGEubm9kZVR5cGUpP3RoaXM6dGhpcy5yZW1vdmUoKX0sZGV0YWNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJlbW92ZShhLCEwKX0sZG9tTWFuaXA6ZnVuY3Rpb24oYSxiKXthPWUuYXBwbHkoW10sYSk7dmFyIGMsZCxmLGcsaCxpLGo9MCxsPXRoaXMubGVuZ3RoLG49dGhpcyxvPWwtMSxwPWFbMF0scT1tLmlzRnVuY3Rpb24ocCk7aWYocXx8bD4xJiYic3RyaW5nIj09dHlwZW9mIHAmJiFrLmNoZWNrQ2xvbmUmJm5hLnRlc3QocCkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZD1uLmVxKGMpO3EmJihhWzBdPXAuY2FsbCh0aGlzLGMsZC5odG1sKCkpKSxkLmRvbU1hbmlwKGEsYil9KTtpZihsJiYoaT1tLmJ1aWxkRnJhZ21lbnQoYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQsITEsdGhpcyksYz1pLmZpcnN0Q2hpbGQsMT09PWkuY2hpbGROb2Rlcy5sZW5ndGgmJihpPWMpLGMpKXtmb3IoZz1tLm1hcCh1YShpLCJzY3JpcHQiKSx4YSksZj1nLmxlbmd0aDtsPmo7aisrKWQ9aSxqIT09byYmKGQ9bS5jbG9uZShkLCEwLCEwKSxmJiZtLm1lcmdlKGcsdWEoZCwic2NyaXB0IikpKSxiLmNhbGwodGhpc1tqXSxkLGopO2lmKGYpZm9yKGg9Z1tnLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LG0ubWFwKGcseWEpLGo9MDtmPmo7aisrKWQ9Z1tqXSxvYS50ZXN0KGQudHlwZXx8IiIpJiYhbS5fZGF0YShkLCJnbG9iYWxFdmFsIikmJm0uY29udGFpbnMoaCxkKSYmKGQuc3JjP20uX2V2YWxVcmwmJm0uX2V2YWxVcmwoZC5zcmMpOm0uZ2xvYmFsRXZhbCgoZC50ZXh0fHxkLnRleHRDb250ZW50fHxkLmlubmVySFRNTHx8IiIpLnJlcGxhY2UocWEsIiIpKSk7aT1jPW51bGx9cmV0dXJuIHRoaXN9fSksbS5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oYSxiKXttLmZuW2FdPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkPTAsZT1bXSxnPW0oYSksaD1nLmxlbmd0aC0xO2g+PWQ7ZCsrKWM9ZD09PWg/dGhpczp0aGlzLmNsb25lKCEwKSxtKGdbZF0pW2JdKGMpLGYuYXBwbHkoZSxjLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIENhLERhPXt9O2Z1bmN0aW9uIEVhKGIsYyl7dmFyIGQsZT1tKGMuY3JlYXRlRWxlbWVudChiKSkuYXBwZW5kVG8oYy5ib2R5KSxmPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUmJihkPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUoZVswXSkpP2QuZGlzcGxheTptLmNzcyhlWzBdLCJkaXNwbGF5Iik7cmV0dXJuIGUuZGV0YWNoKCksZn1mdW5jdGlvbiBGYShhKXt2YXIgYj15LGM9RGFbYV07cmV0dXJuIGN8fChjPUVhKGEsYiksIm5vbmUiIT09YyYmY3x8KENhPShDYXx8bSgiPGlmcmFtZSBmcmFtZWJvcmRlcj0nMCcgd2lkdGg9JzAnIGhlaWdodD0nMCcvPiIpKS5hcHBlbmRUbyhiLmRvY3VtZW50RWxlbWVudCksYj0oQ2FbMF0uY29udGVudFdpbmRvd3x8Q2FbMF0uY29udGVudERvY3VtZW50KS5kb2N1bWVudCxiLndyaXRlKCksYi5jbG9zZSgpLGM9RWEoYSxiKSxDYS5kZXRhY2goKSksRGFbYV09YyksY30hZnVuY3Rpb24oKXt2YXIgYTtrLnNocmlua1dyYXBCbG9ja3M9ZnVuY3Rpb24oKXtpZihudWxsIT1hKXJldHVybiBhO2E9ITE7dmFyIGIsYyxkO3JldHVybiBjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlPyhiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZD15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHgiLGMuYXBwZW5kQ2hpbGQoZCkuYXBwZW5kQ2hpbGQoYiksdHlwZW9mIGIuc3R5bGUuem9vbSE9PUsmJihiLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjEiLGIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc3R5bGUud2lkdGg9IjVweCIsYT0zIT09Yi5vZmZzZXRXaWR0aCksYy5yZW1vdmVDaGlsZChkKSxhKTp2b2lkIDB9fSgpO3ZhciBHYT0vXm1hcmdpbi8sSGE9bmV3IFJlZ0V4cCgiXigiK1MrIikoPyFweClbYS16JV0rJCIsImkiKSxJYSxKYSxLYT0vXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC87YS5nZXRDb21wdXRlZFN0eWxlPyhJYT1mdW5jdGlvbihiKXtyZXR1cm4gYi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Lm9wZW5lcj9iLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpOmEuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpfSxKYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fElhKGEpLGc9Yz9jLmdldFByb3BlcnR5VmFsdWUoYil8fGNbYl06dm9pZCAwLGMmJigiIiE9PWd8fG0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfHwoZz1tLnN0eWxlKGEsYikpLEhhLnRlc3QoZykmJkdhLnRlc3QoYikmJihkPWgud2lkdGgsZT1oLm1pbldpZHRoLGY9aC5tYXhXaWR0aCxoLm1pbldpZHRoPWgubWF4V2lkdGg9aC53aWR0aD1nLGc9Yy53aWR0aCxoLndpZHRoPWQsaC5taW5XaWR0aD1lLGgubWF4V2lkdGg9ZikpLHZvaWQgMD09PWc/ZzpnKyIifSk6eS5kb2N1bWVudEVsZW1lbnQuY3VycmVudFN0eWxlJiYoSWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY3VycmVudFN0eWxlfSxKYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fElhKGEpLGc9Yz9jW2JdOnZvaWQgMCxudWxsPT1nJiZoJiZoW2JdJiYoZz1oW2JdKSxIYS50ZXN0KGcpJiYhS2EudGVzdChiKSYmKGQ9aC5sZWZ0LGU9YS5ydW50aW1lU3R5bGUsZj1lJiZlLmxlZnQsZiYmKGUubGVmdD1hLmN1cnJlbnRTdHlsZS5sZWZ0KSxoLmxlZnQ9ImZvbnRTaXplIj09PWI/IjFlbSI6ZyxnPWgucGl4ZWxMZWZ0KyJweCIsaC5sZWZ0PWQsZiYmKGUubGVmdD1mKSksdm9pZCAwPT09Zz9nOmcrIiJ8fCJhdXRvIn0pO2Z1bmN0aW9uIExhKGEsYil7cmV0dXJue2dldDpmdW5jdGlvbigpe3ZhciBjPWEoKTtpZihudWxsIT1jKXJldHVybiBjP3ZvaWQgZGVsZXRlIHRoaXMuZ2V0Oih0aGlzLmdldD1iKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX0hZnVuY3Rpb24oKXt2YXIgYixjLGQsZSxmLGcsaDtpZihiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5pbm5lckhUTUw9IiAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJz5hPC9hPjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPiIsZD1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIilbMF0sYz1kJiZkLnN0eWxlKXtjLmNzc1RleHQ9ImZsb2F0OmxlZnQ7b3BhY2l0eTouNSIsay5vcGFjaXR5PSIwLjUiPT09Yy5vcGFjaXR5LGsuY3NzRmxvYXQ9ISFjLmNzc0Zsb2F0LGIuc3R5bGUuYmFja2dyb3VuZENsaXA9ImNvbnRlbnQtYm94IixiLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9IiIsay5jbGVhckNsb25lU3R5bGU9ImNvbnRlbnQtYm94Ij09PWIuc3R5bGUuYmFja2dyb3VuZENsaXAsay5ib3hTaXppbmc9IiI9PT1jLmJveFNpemluZ3x8IiI9PT1jLk1vekJveFNpemluZ3x8IiI9PT1jLldlYmtpdEJveFNpemluZyxtLmV4dGVuZChrLHtyZWxpYWJsZUhpZGRlbk9mZnNldHM6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09ZyYmaSgpLGd9LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWYmJmkoKSxmfSxwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWUmJmkoKSxlfSxyZWxpYWJsZU1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWgmJmkoKSxofX0pO2Z1bmN0aW9uIGkoKXt2YXIgYixjLGQsaTtjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlJiYoYj15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2JvcmRlcjowO3dpZHRoOjA7aGVpZ2h0OjA7dG9wOjA7bGVmdDotOTk5OXB4IixjLmFwcGVuZENoaWxkKGQpLmFwcGVuZENoaWxkKGIpLGIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxJTt0b3A6MSU7Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt3aWR0aDo0cHg7cG9zaXRpb246YWJzb2x1dGUiLGU9Zj0hMSxoPSEwLGEuZ2V0Q29tcHV0ZWRTdHlsZSYmKGU9IjElIiE9PShhLmdldENvbXB1dGVkU3R5bGUoYixudWxsKXx8e30pLnRvcCxmPSI0cHgiPT09KGEuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpfHx7d2lkdGg6IjRweCJ9KS53aWR0aCxpPWIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSksaS5zdHlsZS5jc3NUZXh0PWIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowIixpLnN0eWxlLm1hcmdpblJpZ2h0PWkuc3R5bGUud2lkdGg9IjAiLGIuc3R5bGUud2lkdGg9IjFweCIsaD0hcGFyc2VGbG9hdCgoYS5nZXRDb21wdXRlZFN0eWxlKGksbnVsbCl8fHt9KS5tYXJnaW5SaWdodCksYi5yZW1vdmVDaGlsZChpKSksYi5pbm5lckhUTUw9Ijx0YWJsZT48dHI+PHRkPjwvdGQ+PHRkPnQ8L3RkPjwvdHI+PC90YWJsZT4iLGk9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGQiKSxpWzBdLnN0eWxlLmNzc1RleHQ9Im1hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MDtkaXNwbGF5Om5vbmUiLGc9MD09PWlbMF0ub2Zmc2V0SGVpZ2h0LGcmJihpWzBdLnN0eWxlLmRpc3BsYXk9IiIsaVsxXS5zdHlsZS5kaXNwbGF5PSJub25lIixnPTA9PT1pWzBdLm9mZnNldEhlaWdodCksYy5yZW1vdmVDaGlsZChkKSl9fX0oKSxtLnN3YXA9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnPXt9O2ZvcihmIGluIGIpZ1tmXT1hLnN0eWxlW2ZdLGEuc3R5bGVbZl09YltmXTtlPWMuYXBwbHkoYSxkfHxbXSk7Zm9yKGYgaW4gYilhLnN0eWxlW2ZdPWdbZl07cmV0dXJuIGV9O3ZhciBNYT0vYWxwaGFcKFteKV0qXCkvaSxOYT0vb3BhY2l0eVxzKj1ccyooW14pXSopLyxPYT0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sUGE9bmV3IFJlZ0V4cCgiXigiK1MrIikoLiopJCIsImkiKSxRYT1uZXcgUmVnRXhwKCJeKFsrLV0pPSgiK1MrIikiLCJpIiksUmE9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LFNhPXtsZXR0ZXJTcGFjaW5nOiIwIixmb250V2VpZ2h0OiI0MDAifSxUYT1bIldlYmtpdCIsIk8iLCJNb3oiLCJtcyJdO2Z1bmN0aW9uIFVhKGEsYil7aWYoYiBpbiBhKXJldHVybiBiO3ZhciBjPWIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYi5zbGljZSgxKSxkPWIsZT1UYS5sZW5ndGg7d2hpbGUoZS0tKWlmKGI9VGFbZV0rYyxiIGluIGEpcmV0dXJuIGI7cmV0dXJuIGR9ZnVuY3Rpb24gVmEoYSxiKXtmb3IodmFyIGMsZCxlLGY9W10sZz0wLGg9YS5sZW5ndGg7aD5nO2crKylkPWFbZ10sZC5zdHlsZSYmKGZbZ109bS5fZGF0YShkLCJvbGRkaXNwbGF5IiksYz1kLnN0eWxlLmRpc3BsYXksYj8oZltnXXx8Im5vbmUiIT09Y3x8KGQuc3R5bGUuZGlzcGxheT0iIiksIiI9PT1kLnN0eWxlLmRpc3BsYXkmJlUoZCkmJihmW2ddPW0uX2RhdGEoZCwib2xkZGlzcGxheSIsRmEoZC5ub2RlTmFtZSkpKSk6KGU9VShkKSwoYyYmIm5vbmUiIT09Y3x8IWUpJiZtLl9kYXRhKGQsIm9sZGRpc3BsYXkiLGU/YzptLmNzcyhkLCJkaXNwbGF5IikpKSk7Zm9yKGc9MDtoPmc7ZysrKWQ9YVtnXSxkLnN0eWxlJiYoYiYmIm5vbmUiIT09ZC5zdHlsZS5kaXNwbGF5JiYiIiE9PWQuc3R5bGUuZGlzcGxheXx8KGQuc3R5bGUuZGlzcGxheT1iP2ZbZ118fCIiOiJub25lIikpO3JldHVybiBhfWZ1bmN0aW9uIFdhKGEsYixjKXt2YXIgZD1QYS5leGVjKGIpO3JldHVybiBkP01hdGgubWF4KDAsZFsxXS0oY3x8MCkpKyhkWzJdfHwicHgiKTpifWZ1bmN0aW9uIFhhKGEsYixjLGQsZSl7Zm9yKHZhciBmPWM9PT0oZD8iYm9yZGVyIjoiY29udGVudCIpPzQ6IndpZHRoIj09PWI/MTowLGc9MDs0PmY7Zis9MikibWFyZ2luIj09PWMmJihnKz1tLmNzcyhhLGMrVFtmXSwhMCxlKSksZD8oImNvbnRlbnQiPT09YyYmKGctPW0uY3NzKGEsInBhZGRpbmciK1RbZl0sITAsZSkpLCJtYXJnaW4iIT09YyYmKGctPW0uY3NzKGEsImJvcmRlciIrVFtmXSsiV2lkdGgiLCEwLGUpKSk6KGcrPW0uY3NzKGEsInBhZGRpbmciK1RbZl0sITAsZSksInBhZGRpbmciIT09YyYmKGcrPW0uY3NzKGEsImJvcmRlciIrVFtmXSsiV2lkdGgiLCEwLGUpKSk7cmV0dXJuIGd9ZnVuY3Rpb24gWWEoYSxiLGMpe3ZhciBkPSEwLGU9IndpZHRoIj09PWI/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodCxmPUlhKGEpLGc9ay5ib3hTaXppbmcmJiJib3JkZXItYm94Ij09PW0uY3NzKGEsImJveFNpemluZyIsITEsZik7aWYoMD49ZXx8bnVsbD09ZSl7aWYoZT1KYShhLGIsZiksKDA+ZXx8bnVsbD09ZSkmJihlPWEuc3R5bGVbYl0pLEhhLnRlc3QoZSkpcmV0dXJuIGU7ZD1nJiYoay5ib3hTaXppbmdSZWxpYWJsZSgpfHxlPT09YS5zdHlsZVtiXSksZT1wYXJzZUZsb2F0KGUpfHwwfXJldHVybiBlK1hhKGEsYixjfHwoZz8iYm9yZGVyIjoiY29udGVudCIpLGQsZikrInB4In1tLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihhLGIpe2lmKGIpe3ZhciBjPUphKGEsIm9wYWNpdHkiKTtyZXR1cm4iIj09PWM/IjEiOmN9fX19LGNzc051bWJlcjp7Y29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMH0sY3NzUHJvcHM6eyJmbG9hdCI6ay5jc3NGbG9hdD8iY3NzRmxvYXQiOiJzdHlsZUZsb2F0In0sc3R5bGU6ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSYmMyE9PWEubm9kZVR5cGUmJjghPT1hLm5vZGVUeXBlJiZhLnN0eWxlKXt2YXIgZSxmLGcsaD1tLmNhbWVsQ2FzZShiKSxpPWEuc3R5bGU7aWYoYj1tLmNzc1Byb3BzW2hdfHwobS5jc3NQcm9wc1toXT1VYShpLGgpKSxnPW0uY3NzSG9va3NbYl18fG0uY3NzSG9va3NbaF0sdm9pZCAwPT09YylyZXR1cm4gZyYmImdldCJpbiBnJiZ2b2lkIDAhPT0oZT1nLmdldChhLCExLGQpKT9lOmlbYl07aWYoZj10eXBlb2YgYywic3RyaW5nIj09PWYmJihlPVFhLmV4ZWMoYykpJiYoYz0oZVsxXSsxKSplWzJdK3BhcnNlRmxvYXQobS5jc3MoYSxiKSksZj0ibnVtYmVyIiksbnVsbCE9YyYmYz09PWMmJigibnVtYmVyIiE9PWZ8fG0uY3NzTnVtYmVyW2hdfHwoYys9InB4Iiksay5jbGVhckNsb25lU3R5bGV8fCIiIT09Y3x8MCE9PWIuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwoaVtiXT0iaW5oZXJpdCIpLCEoZyYmInNldCJpbiBnJiZ2b2lkIDA9PT0oYz1nLnNldChhLGMsZCkpKSkpdHJ5e2lbYl09Y31jYXRjaChqKXt9fX0sY3NzOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZyxoPW0uY2FtZWxDYXNlKGIpO3JldHVybiBiPW0uY3NzUHJvcHNbaF18fChtLmNzc1Byb3BzW2hdPVVhKGEuc3R5bGUsaCkpLGc9bS5jc3NIb29rc1tiXXx8bS5jc3NIb29rc1toXSxnJiYiZ2V0ImluIGcmJihmPWcuZ2V0KGEsITAsYykpLHZvaWQgMD09PWYmJihmPUphKGEsYixkKSksIm5vcm1hbCI9PT1mJiZiIGluIFNhJiYoZj1TYVtiXSksIiI9PT1jfHxjPyhlPXBhcnNlRmxvYXQoZiksYz09PSEwfHxtLmlzTnVtZXJpYyhlKT9lfHwwOmYpOmZ9fSksbS5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe20uY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihhLGMsZCl7cmV0dXJuIGM/T2EudGVzdChtLmNzcyhhLCJkaXNwbGF5IikpJiYwPT09YS5vZmZzZXRXaWR0aD9tLnN3YXAoYSxSYSxmdW5jdGlvbigpe3JldHVybiBZYShhLGIsZCl9KTpZYShhLGIsZCk6dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPWQmJklhKGEpO3JldHVybiBXYShhLGMsZD9YYShhLGIsZCxrLmJveFNpemluZyYmImJvcmRlci1ib3giPT09bS5jc3MoYSwiYm94U2l6aW5nIiwhMSxlKSxlKTowKX19fSksay5vcGFjaXR5fHwobS5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTmEudGVzdCgoYiYmYS5jdXJyZW50U3R5bGU/YS5jdXJyZW50U3R5bGUuZmlsdGVyOmEuc3R5bGUuZmlsdGVyKXx8IiIpPy4wMSpwYXJzZUZsb2F0KFJlZ0V4cC4kMSkrIiI6Yj8iMSI6IiJ9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjPWEuc3R5bGUsZD1hLmN1cnJlbnRTdHlsZSxlPW0uaXNOdW1lcmljKGIpPyJhbHBoYShvcGFjaXR5PSIrMTAwKmIrIikiOiIiLGY9ZCYmZC5maWx0ZXJ8fGMuZmlsdGVyfHwiIjtjLnpvb209MSwoYj49MXx8IiI9PT1iKSYmIiI9PT1tLnRyaW0oZi5yZXBsYWNlKE1hLCIiKSkmJmMucmVtb3ZlQXR0cmlidXRlJiYoYy5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpLCIiPT09Ynx8ZCYmIWQuZmlsdGVyKXx8KGMuZmlsdGVyPU1hLnRlc3QoZik/Zi5yZXBsYWNlKE1hLGUpOmYrIiAiK2UpfX0pLG0uY3NzSG9va3MubWFyZ2luUmlnaHQ9TGEoay5yZWxpYWJsZU1hcmdpblJpZ2h0LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/bS5zd2FwKGEse2Rpc3BsYXk6ImlubGluZS1ibG9jayJ9LEphLFthLCJtYXJnaW5SaWdodCJdKTp2b2lkIDB9KSxtLmVhY2goe21hcmdpbjoiIixwYWRkaW5nOiIiLGJvcmRlcjoiV2lkdGgifSxmdW5jdGlvbihhLGIpe20uY3NzSG9va3NbYStiXT17ZXhwYW5kOmZ1bmN0aW9uKGMpe2Zvcih2YXIgZD0wLGU9e30sZj0ic3RyaW5nIj09dHlwZW9mIGM/Yy5zcGxpdCgiICIpOltjXTs0PmQ7ZCsrKWVbYStUW2RdK2JdPWZbZF18fGZbZC0yXXx8ZlswXTtyZXR1cm4gZX19LEdhLnRlc3QoYSl8fChtLmNzc0hvb2tzW2ErYl0uc2V0PVdhKX0pLG0uZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9e30sZz0wO2lmKG0uaXNBcnJheShiKSl7Zm9yKGQ9SWEoYSksZT1iLmxlbmd0aDtlPmc7ZysrKWZbYltnXV09bS5jc3MoYSxiW2ddLCExLGQpO3JldHVybiBmfXJldHVybiB2b2lkIDAhPT1jP20uc3R5bGUoYSxiLGMpOm0uY3NzKGEsYil9LGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMsITApfSxoaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMpfSx0b2dnbGU6ZnVuY3Rpb24oYSl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYT9hP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe1UodGhpcyk/bSh0aGlzKS5zaG93KCk6bSh0aGlzKS5oaWRlKCl9KX19KTtmdW5jdGlvbiBaYShhLGIsYyxkLGUpewpyZXR1cm4gbmV3IFphLnByb3RvdHlwZS5pbml0KGEsYixjLGQsZSl9bS5Ud2Vlbj1aYSxaYS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlphLGluaXQ6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3RoaXMuZWxlbT1hLHRoaXMucHJvcD1jLHRoaXMuZWFzaW5nPWV8fCJzd2luZyIsdGhpcy5vcHRpb25zPWIsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPWQsdGhpcy51bml0PWZ8fChtLmNzc051bWJlcltjXT8iIjoicHgiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGEmJmEuZ2V0P2EuZ2V0KHRoaXMpOlphLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihhKXt2YXIgYixjPVphLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRpb24/dGhpcy5wb3M9Yj1tLmVhc2luZ1t0aGlzLmVhc2luZ10oYSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qYSwwLDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTp0aGlzLnBvcz1iPWEsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3RhcnQpKmIrdGhpcy5zdGFydCx0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksYyYmYy5zZXQ/Yy5zZXQodGhpcyk6WmEucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0sWmEucHJvdG90eXBlLmluaXQucHJvdG90eXBlPVphLnByb3RvdHlwZSxaYS5wcm9wSG9va3M9e19kZWZhdWx0OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIG51bGw9PWEuZWxlbVthLnByb3BdfHxhLmVsZW0uc3R5bGUmJm51bGwhPWEuZWxlbS5zdHlsZVthLnByb3BdPyhiPW0uY3NzKGEuZWxlbSxhLnByb3AsIiIpLGImJiJhdXRvIiE9PWI/YjowKTphLmVsZW1bYS5wcm9wXX0sc2V0OmZ1bmN0aW9uKGEpe20uZnguc3RlcFthLnByb3BdP20uZnguc3RlcFthLnByb3BdKGEpOmEuZWxlbS5zdHlsZSYmKG51bGwhPWEuZWxlbS5zdHlsZVttLmNzc1Byb3BzW2EucHJvcF1dfHxtLmNzc0hvb2tzW2EucHJvcF0pP20uc3R5bGUoYS5lbGVtLGEucHJvcCxhLm5vdythLnVuaXQpOmEuZWxlbVthLnByb3BdPWEubm93fX19LFphLnByb3BIb29rcy5zY3JvbGxUb3A9WmEucHJvcEhvb2tzLnNjcm9sbExlZnQ9e3NldDpmdW5jdGlvbihhKXthLmVsZW0ubm9kZVR5cGUmJmEuZWxlbS5wYXJlbnROb2RlJiYoYS5lbGVtW2EucHJvcF09YS5ub3cpfX0sbS5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihhKXtyZXR1cm4gYX0sc3dpbmc6ZnVuY3Rpb24oYSl7cmV0dXJuLjUtTWF0aC5jb3MoYSpNYXRoLlBJKS8yfX0sbS5meD1aYS5wcm90b3R5cGUuaW5pdCxtLmZ4LnN0ZXA9e307dmFyICRhLF9hLGFiPS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxiYj1uZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIrUysiKShbYS16JV0qKSQiLCJpIiksY2I9L3F1ZXVlSG9va3MkLyxkYj1baWJdLGViPXsiKiI6W2Z1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jcmVhdGVUd2VlbihhLGIpLGQ9Yy5jdXIoKSxlPWJiLmV4ZWMoYiksZj1lJiZlWzNdfHwobS5jc3NOdW1iZXJbYV0/IiI6InB4IiksZz0obS5jc3NOdW1iZXJbYV18fCJweCIhPT1mJiYrZCkmJmJiLmV4ZWMobS5jc3MoYy5lbGVtLGEpKSxoPTEsaT0yMDtpZihnJiZnWzNdIT09Zil7Zj1mfHxnWzNdLGU9ZXx8W10sZz0rZHx8MTtkbyBoPWh8fCIuNSIsZy89aCxtLnN0eWxlKGMuZWxlbSxhLGcrZik7d2hpbGUoaCE9PShoPWMuY3VyKCkvZCkmJjEhPT1oJiYtLWkpfXJldHVybiBlJiYoZz1jLnN0YXJ0PStnfHwrZHx8MCxjLnVuaXQ9ZixjLmVuZD1lWzFdP2crKGVbMV0rMSkqZVsyXTorZVsyXSksY31dfTtmdW5jdGlvbiBmYigpe3JldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7JGE9dm9pZCAwfSksJGE9bS5ub3coKX1mdW5jdGlvbiBnYihhLGIpe3ZhciBjLGQ9e2hlaWdodDphfSxlPTA7Zm9yKGI9Yj8xOjA7ND5lO2UrPTItYiljPVRbZV0sZFsibWFyZ2luIitjXT1kWyJwYWRkaW5nIitjXT1hO3JldHVybiBiJiYoZC5vcGFjaXR5PWQud2lkdGg9YSksZH1mdW5jdGlvbiBoYihhLGIsYyl7Zm9yKHZhciBkLGU9KGViW2JdfHxbXSkuY29uY2F0KGViWyIqIl0pLGY9MCxnPWUubGVuZ3RoO2c+ZjtmKyspaWYoZD1lW2ZdLmNhbGwoYyxiLGEpKXJldHVybiBkfWZ1bmN0aW9uIGliKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixsLG49dGhpcyxvPXt9LHA9YS5zdHlsZSxxPWEubm9kZVR5cGUmJlUoYSkscj1tLl9kYXRhKGEsImZ4c2hvdyIpO2MucXVldWV8fChoPW0uX3F1ZXVlSG9va3MoYSwiZngiKSxudWxsPT1oLnVucXVldWVkJiYoaC51bnF1ZXVlZD0wLGk9aC5lbXB0eS5maXJlLGguZW1wdHkuZmlyZT1mdW5jdGlvbigpe2gudW5xdWV1ZWR8fGkoKX0pLGgudW5xdWV1ZWQrKyxuLmFsd2F5cyhmdW5jdGlvbigpe24uYWx3YXlzKGZ1bmN0aW9uKCl7aC51bnF1ZXVlZC0tLG0ucXVldWUoYSwiZngiKS5sZW5ndGh8fGguZW1wdHkuZmlyZSgpfSl9KSksMT09PWEubm9kZVR5cGUmJigiaGVpZ2h0ImluIGJ8fCJ3aWR0aCJpbiBiKSYmKGMub3ZlcmZsb3c9W3Aub3ZlcmZsb3cscC5vdmVyZmxvd1gscC5vdmVyZmxvd1ldLGo9bS5jc3MoYSwiZGlzcGxheSIpLGw9Im5vbmUiPT09aj9tLl9kYXRhKGEsIm9sZGRpc3BsYXkiKXx8RmEoYS5ub2RlTmFtZSk6aiwiaW5saW5lIj09PWwmJiJub25lIj09PW0uY3NzKGEsImZsb2F0IikmJihrLmlubGluZUJsb2NrTmVlZHNMYXlvdXQmJiJpbmxpbmUiIT09RmEoYS5ub2RlTmFtZSk/cC56b29tPTE6cC5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSksYy5vdmVyZmxvdyYmKHAub3ZlcmZsb3c9ImhpZGRlbiIsay5zaHJpbmtXcmFwQmxvY2tzKCl8fG4uYWx3YXlzKGZ1bmN0aW9uKCl7cC5vdmVyZmxvdz1jLm92ZXJmbG93WzBdLHAub3ZlcmZsb3dYPWMub3ZlcmZsb3dbMV0scC5vdmVyZmxvd1k9Yy5vdmVyZmxvd1syXX0pKTtmb3IoZCBpbiBiKWlmKGU9YltkXSxhYi5leGVjKGUpKXtpZihkZWxldGUgYltkXSxmPWZ8fCJ0b2dnbGUiPT09ZSxlPT09KHE/ImhpZGUiOiJzaG93Iikpe2lmKCJzaG93IiE9PWV8fCFyfHx2b2lkIDA9PT1yW2RdKWNvbnRpbnVlO3E9ITB9b1tkXT1yJiZyW2RdfHxtLnN0eWxlKGEsZCl9ZWxzZSBqPXZvaWQgMDtpZihtLmlzRW1wdHlPYmplY3QobykpImlubGluZSI9PT0oIm5vbmUiPT09aj9GYShhLm5vZGVOYW1lKTpqKSYmKHAuZGlzcGxheT1qKTtlbHNle3I/ImhpZGRlbiJpbiByJiYocT1yLmhpZGRlbik6cj1tLl9kYXRhKGEsImZ4c2hvdyIse30pLGYmJihyLmhpZGRlbj0hcSkscT9tKGEpLnNob3coKTpuLmRvbmUoZnVuY3Rpb24oKXttKGEpLmhpZGUoKX0pLG4uZG9uZShmdW5jdGlvbigpe3ZhciBiO20uX3JlbW92ZURhdGEoYSwiZnhzaG93Iik7Zm9yKGIgaW4gbyltLnN0eWxlKGEsYixvW2JdKX0pO2ZvcihkIGluIG8pZz1oYihxP3JbZF06MCxkLG4pLGQgaW4gcnx8KHJbZF09Zy5zdGFydCxxJiYoZy5lbmQ9Zy5zdGFydCxnLnN0YXJ0PSJ3aWR0aCI9PT1kfHwiaGVpZ2h0Ij09PWQ/MTowKSl9fWZ1bmN0aW9uIGpiKGEsYil7dmFyIGMsZCxlLGYsZztmb3IoYyBpbiBhKWlmKGQ9bS5jYW1lbENhc2UoYyksZT1iW2RdLGY9YVtjXSxtLmlzQXJyYXkoZikmJihlPWZbMV0sZj1hW2NdPWZbMF0pLGMhPT1kJiYoYVtkXT1mLGRlbGV0ZSBhW2NdKSxnPW0uY3NzSG9va3NbZF0sZyYmImV4cGFuZCJpbiBnKXtmPWcuZXhwYW5kKGYpLGRlbGV0ZSBhW2RdO2ZvcihjIGluIGYpYyBpbiBhfHwoYVtjXT1mW2NdLGJbY109ZSl9ZWxzZSBiW2RdPWV9ZnVuY3Rpb24ga2IoYSxiLGMpe3ZhciBkLGUsZj0wLGc9ZGIubGVuZ3RoLGg9bS5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSBpLmVsZW19KSxpPWZ1bmN0aW9uKCl7aWYoZSlyZXR1cm4hMTtmb3IodmFyIGI9JGF8fGZiKCksYz1NYXRoLm1heCgwLGouc3RhcnRUaW1lK2ouZHVyYXRpb24tYiksZD1jL2ouZHVyYXRpb258fDAsZj0xLWQsZz0wLGk9ai50d2VlbnMubGVuZ3RoO2k+ZztnKyspai50d2VlbnNbZ10ucnVuKGYpO3JldHVybiBoLm5vdGlmeVdpdGgoYSxbaixmLGNdKSwxPmYmJmk/YzooaC5yZXNvbHZlV2l0aChhLFtqXSksITEpfSxqPWgucHJvbWlzZSh7ZWxlbTphLHByb3BzOm0uZXh0ZW5kKHt9LGIpLG9wdHM6bS5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e319LGMpLG9yaWdpbmFsUHJvcGVydGllczpiLG9yaWdpbmFsT3B0aW9uczpjLHN0YXJ0VGltZTokYXx8ZmIoKSxkdXJhdGlvbjpjLmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbihiLGMpe3ZhciBkPW0uVHdlZW4oYSxqLm9wdHMsYixjLGoub3B0cy5zcGVjaWFsRWFzaW5nW2JdfHxqLm9wdHMuZWFzaW5nKTtyZXR1cm4gai50d2VlbnMucHVzaChkKSxkfSxzdG9wOmZ1bmN0aW9uKGIpe3ZhciBjPTAsZD1iP2oudHdlZW5zLmxlbmd0aDowO2lmKGUpcmV0dXJuIHRoaXM7Zm9yKGU9ITA7ZD5jO2MrKylqLnR3ZWVuc1tjXS5ydW4oMSk7cmV0dXJuIGI/aC5yZXNvbHZlV2l0aChhLFtqLGJdKTpoLnJlamVjdFdpdGgoYSxbaixiXSksdGhpc319KSxrPWoucHJvcHM7Zm9yKGpiKGssai5vcHRzLnNwZWNpYWxFYXNpbmcpO2c+ZjtmKyspaWYoZD1kYltmXS5jYWxsKGosYSxrLGoub3B0cykpcmV0dXJuIGQ7cmV0dXJuIG0ubWFwKGssaGIsaiksbS5pc0Z1bmN0aW9uKGoub3B0cy5zdGFydCkmJmoub3B0cy5zdGFydC5jYWxsKGEsaiksbS5meC50aW1lcihtLmV4dGVuZChpLHtlbGVtOmEsYW5pbTpqLHF1ZXVlOmoub3B0cy5xdWV1ZX0pKSxqLnByb2dyZXNzKGoub3B0cy5wcm9ncmVzcykuZG9uZShqLm9wdHMuZG9uZSxqLm9wdHMuY29tcGxldGUpLmZhaWwoai5vcHRzLmZhaWwpLmFsd2F5cyhqLm9wdHMuYWx3YXlzKX1tLkFuaW1hdGlvbj1tLmV4dGVuZChrYix7dHdlZW5lcjpmdW5jdGlvbihhLGIpe20uaXNGdW5jdGlvbihhKT8oYj1hLGE9WyIqIl0pOmE9YS5zcGxpdCgiICIpO2Zvcih2YXIgYyxkPTAsZT1hLmxlbmd0aDtlPmQ7ZCsrKWM9YVtkXSxlYltjXT1lYltjXXx8W10sZWJbY10udW5zaGlmdChiKX0scHJlZmlsdGVyOmZ1bmN0aW9uKGEsYil7Yj9kYi51bnNoaWZ0KGEpOmRiLnB1c2goYSl9fSksbS5zcGVlZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YSYmIm9iamVjdCI9PXR5cGVvZiBhP20uZXh0ZW5kKHt9LGEpOntjb21wbGV0ZTpjfHwhYyYmYnx8bS5pc0Z1bmN0aW9uKGEpJiZhLGR1cmF0aW9uOmEsZWFzaW5nOmMmJmJ8fGImJiFtLmlzRnVuY3Rpb24oYikmJmJ9O3JldHVybiBkLmR1cmF0aW9uPW0uZngub2ZmPzA6Im51bWJlciI9PXR5cGVvZiBkLmR1cmF0aW9uP2QuZHVyYXRpb246ZC5kdXJhdGlvbiBpbiBtLmZ4LnNwZWVkcz9tLmZ4LnNwZWVkc1tkLmR1cmF0aW9uXTptLmZ4LnNwZWVkcy5fZGVmYXVsdCwobnVsbD09ZC5xdWV1ZXx8ZC5xdWV1ZT09PSEwKSYmKGQucXVldWU9ImZ4IiksZC5vbGQ9ZC5jb21wbGV0ZSxkLmNvbXBsZXRlPWZ1bmN0aW9uKCl7bS5pc0Z1bmN0aW9uKGQub2xkKSYmZC5vbGQuY2FsbCh0aGlzKSxkLnF1ZXVlJiZtLmRlcXVldWUodGhpcyxkLnF1ZXVlKX0sZH0sbS5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5maWx0ZXIoVSkuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTpifSxhLGMsZCl9LGFuaW1hdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5pc0VtcHR5T2JqZWN0KGEpLGY9bS5zcGVlZChiLGMsZCksZz1mdW5jdGlvbigpe3ZhciBiPWtiKHRoaXMsbS5leHRlbmQoe30sYSksZik7KGV8fG0uX2RhdGEodGhpcywiZmluaXNoIikpJiZiLnN0b3AoITApfTtyZXR1cm4gZy5maW5pc2g9ZyxlfHxmLnF1ZXVlPT09ITE/dGhpcy5lYWNoKGcpOnRoaXMucXVldWUoZi5xdWV1ZSxnKX0sc3RvcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5zdG9wO2RlbGV0ZSBhLnN0b3AsYihjKX07cmV0dXJuInN0cmluZyIhPXR5cGVvZiBhJiYoYz1iLGI9YSxhPXZvaWQgMCksYiYmYSE9PSExJiZ0aGlzLnF1ZXVlKGF8fCJmeCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPSEwLGU9bnVsbCE9YSYmYSsicXVldWVIb29rcyIsZj1tLnRpbWVycyxnPW0uX2RhdGEodGhpcyk7aWYoZSlnW2VdJiZnW2VdLnN0b3AmJmQoZ1tlXSk7ZWxzZSBmb3IoZSBpbiBnKWdbZV0mJmdbZV0uc3RvcCYmY2IudGVzdChlKSYmZChnW2VdKTtmb3IoZT1mLmxlbmd0aDtlLS07KWZbZV0uZWxlbSE9PXRoaXN8fG51bGwhPWEmJmZbZV0ucXVldWUhPT1hfHwoZltlXS5hbmltLnN0b3AoYyksYj0hMSxmLnNwbGljZShlLDEpKTsoYnx8IWMpJiZtLmRlcXVldWUodGhpcyxhKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT0hMSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsYz1tLl9kYXRhKHRoaXMpLGQ9Y1thKyJxdWV1ZSJdLGU9Y1thKyJxdWV1ZUhvb2tzIl0sZj1tLnRpbWVycyxnPWQ/ZC5sZW5ndGg6MDtmb3IoYy5maW5pc2g9ITAsbS5xdWV1ZSh0aGlzLGEsW10pLGUmJmUuc3RvcCYmZS5zdG9wLmNhbGwodGhpcywhMCksYj1mLmxlbmd0aDtiLS07KWZbYl0uZWxlbT09PXRoaXMmJmZbYl0ucXVldWU9PT1hJiYoZltiXS5hbmltLnN0b3AoITApLGYuc3BsaWNlKGIsMSkpO2ZvcihiPTA7Zz5iO2IrKylkW2JdJiZkW2JdLmZpbmlzaCYmZFtiXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgYy5maW5pc2h9KX19KSxtLmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGEsYil7dmFyIGM9bS5mbltiXTttLmZuW2JdPWZ1bmN0aW9uKGEsZCxlKXtyZXR1cm4gbnVsbD09YXx8ImJvb2xlYW4iPT10eXBlb2YgYT9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUoZ2IoYiwhMCksYSxkLGUpfX0pLG0uZWFjaCh7c2xpZGVEb3duOmdiKCJzaG93Iiksc2xpZGVVcDpnYigiaGlkZSIpLHNsaWRlVG9nZ2xlOmdiKCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxtLnRpbWVycz1bXSxtLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgYSxiPW0udGltZXJzLGM9MDtmb3IoJGE9bS5ub3coKTtjPGIubGVuZ3RoO2MrKylhPWJbY10sYSgpfHxiW2NdIT09YXx8Yi5zcGxpY2UoYy0tLDEpO2IubGVuZ3RofHxtLmZ4LnN0b3AoKSwkYT12b2lkIDB9LG0uZngudGltZXI9ZnVuY3Rpb24oYSl7bS50aW1lcnMucHVzaChhKSxhKCk/bS5meC5zdGFydCgpOm0udGltZXJzLnBvcCgpfSxtLmZ4LmludGVydmFsPTEzLG0uZnguc3RhcnQ9ZnVuY3Rpb24oKXtfYXx8KF9hPXNldEludGVydmFsKG0uZngudGljayxtLmZ4LmludGVydmFsKSl9LG0uZnguc3RvcD1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoX2EpLF9hPW51bGx9LG0uZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LG0uZm4uZGVsYXk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1tLmZ4P20uZnguc3BlZWRzW2FdfHxhOmEsYj1ifHwiZngiLHRoaXMucXVldWUoYixmdW5jdGlvbihiLGMpe3ZhciBkPXNldFRpbWVvdXQoYixhKTtjLnN0b3A9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoZCl9fSl9LGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZTtiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5zZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIsInQiKSxiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixkPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxjPXkuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksZT1jLmFwcGVuZENoaWxkKHkuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLGE9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSxkLnN0eWxlLmNzc1RleHQ9InRvcDoxcHgiLGsuZ2V0U2V0QXR0cmlidXRlPSJ0IiE9PWIuY2xhc3NOYW1lLGsuc3R5bGU9L3RvcC8udGVzdChkLmdldEF0dHJpYnV0ZSgic3R5bGUiKSksay5ocmVmTm9ybWFsaXplZD0iL2EiPT09ZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSxrLmNoZWNrT249ISFhLnZhbHVlLGsub3B0U2VsZWN0ZWQ9ZS5zZWxlY3RlZCxrLmVuY3R5cGU9ISF5LmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLGMuZGlzYWJsZWQ9ITAsay5vcHREaXNhYmxlZD0hZS5kaXNhYmxlZCxhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxhLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSxrLmlucHV0PSIiPT09YS5nZXRBdHRyaWJ1dGUoInZhbHVlIiksYS52YWx1ZT0idCIsYS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLGsucmFkaW9WYWx1ZT0idCI9PT1hLnZhbHVlfSgpO3ZhciBsYj0vXHIvZzttLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQ9bS5pc0Z1bmN0aW9uKGEpLHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZTsxPT09dGhpcy5ub2RlVHlwZSYmKGU9ZD9hLmNhbGwodGhpcyxjLG0odGhpcykudmFsKCkpOmEsbnVsbD09ZT9lPSIiOiJudW1iZXIiPT10eXBlb2YgZT9lKz0iIjptLmlzQXJyYXkoZSkmJihlPW0ubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6YSsiIn0pKSxiPW0udmFsSG9va3NbdGhpcy50eXBlXXx8bS52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJzZXQiaW4gYiYmdm9pZCAwIT09Yi5zZXQodGhpcyxlLCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT1lKSl9KTtpZihlKXJldHVybiBiPW0udmFsSG9va3NbZS50eXBlXXx8bS52YWxIb29rc1tlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJnZXQiaW4gYiYmdm9pZCAwIT09KGM9Yi5nZXQoZSwidmFsdWUiKSk/YzooYz1lLnZhbHVlLCJzdHJpbmciPT10eXBlb2YgYz9jLnJlcGxhY2UobGIsIiIpOm51bGw9PWM/IiI6Yyl9fX0pLG0uZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bS5maW5kLmF0dHIoYSwidmFsdWUiKTtyZXR1cm4gbnVsbCE9Yj9iOm0udHJpbShtLnRleHQoYSkpfX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGMsZD1hLm9wdGlvbnMsZT1hLnNlbGVjdGVkSW5kZXgsZj0ic2VsZWN0LW9uZSI9PT1hLnR5cGV8fDA+ZSxnPWY/bnVsbDpbXSxoPWY/ZSsxOmQubGVuZ3RoLGk9MD5lP2g6Zj9lOjA7aD5pO2krKylpZihjPWRbaV0sISghYy5zZWxlY3RlZCYmaSE9PWV8fChrLm9wdERpc2FibGVkP2MuZGlzYWJsZWQ6bnVsbCE9PWMuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKXx8Yy5wYXJlbnROb2RlLmRpc2FibGVkJiZtLm5vZGVOYW1lKGMucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKGI9bShjKS52YWwoKSxmKXJldHVybiBiO2cucHVzaChiKX1yZXR1cm4gZ30sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPWEub3B0aW9ucyxmPW0ubWFrZUFycmF5KGIpLGc9ZS5sZW5ndGg7d2hpbGUoZy0tKWlmKGQ9ZVtnXSxtLmluQXJyYXkobS52YWxIb29rcy5vcHRpb24uZ2V0KGQpLGYpPj0wKXRyeXtkLnNlbGVjdGVkPWM9ITB9Y2F0Y2goaCl7ZC5zY3JvbGxIZWlnaHR9ZWxzZSBkLnNlbGVjdGVkPSExO3JldHVybiBjfHwoYS5zZWxlY3RlZEluZGV4PS0xKSxlfX19fSksbS5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLGZ1bmN0aW9uKCl7bS52YWxIb29rc1t0aGlzXT17c2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uaXNBcnJheShiKT9hLmNoZWNrZWQ9bS5pbkFycmF5KG0oYSkudmFsKCksYik+PTA6dm9pZCAwfX0say5jaGVja09ufHwobS52YWxIb29rc1t0aGlzXS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PT1hLmdldEF0dHJpYnV0ZSgidmFsdWUiKT8ib24iOmEudmFsdWV9KX0pO3ZhciBtYixuYixvYj1tLmV4cHIuYXR0ckhhbmRsZSxwYj0vXig/OmNoZWNrZWR8c2VsZWN0ZWQpJC9pLHFiPWsuZ2V0U2V0QXR0cmlidXRlLHJiPWsuaW5wdXQ7bS5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0uYXR0cixhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bS5yZW1vdmVBdHRyKHRoaXMsYSl9KX19KSxtLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPWEubm9kZVR5cGU7aWYoYSYmMyE9PWYmJjghPT1mJiYyIT09ZilyZXR1cm4gdHlwZW9mIGEuZ2V0QXR0cmlidXRlPT09Sz9tLnByb3AoYSxiLGMpOigxPT09ZiYmbS5pc1hNTERvYyhhKXx8KGI9Yi50b0xvd2VyQ2FzZSgpLGQ9bS5hdHRySG9va3NbYl18fChtLmV4cHIubWF0Y2guYm9vbC50ZXN0KGIpP25iOm1iKSksdm9pZCAwPT09Yz9kJiYiZ2V0ImluIGQmJm51bGwhPT0oZT1kLmdldChhLGIpKT9lOihlPW0uZmluZC5hdHRyKGEsYiksbnVsbD09ZT92b2lkIDA6ZSk6bnVsbCE9PWM/ZCYmInNldCJpbiBkJiZ2b2lkIDAhPT0oZT1kLnNldChhLGMsYikpP2U6KGEuc2V0QXR0cmlidXRlKGIsYysiIiksYyk6dm9pZCBtLnJlbW92ZUF0dHIoYSxiKSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9MCxmPWImJmIubWF0Y2goRSk7aWYoZiYmMT09PWEubm9kZVR5cGUpd2hpbGUoYz1mW2UrK10pZD1tLnByb3BGaXhbY118fGMsbS5leHByLm1hdGNoLmJvb2wudGVzdChjKT9yYiYmcWJ8fCFwYi50ZXN0KGMpP2FbZF09ITE6YVttLmNhbWVsQ2FzZSgiZGVmYXVsdC0iK2MpXT1hW2RdPSExOm0uYXR0cihhLGMsIiIpLGEucmVtb3ZlQXR0cmlidXRlKHFiP2M6ZCl9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGEsYil7aWYoIWsucmFkaW9WYWx1ZSYmInJhZGlvIj09PWImJm0ubm9kZU5hbWUoYSwiaW5wdXQiKSl7dmFyIGM9YS52YWx1ZTtyZXR1cm4gYS5zZXRBdHRyaWJ1dGUoInR5cGUiLGIpLGMmJihhLnZhbHVlPWMpLGJ9fX19fSksbmI9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI9PT0hMT9tLnJlbW92ZUF0dHIoYSxjKTpyYiYmcWJ8fCFwYi50ZXN0KGMpP2Euc2V0QXR0cmlidXRlKCFxYiYmbS5wcm9wRml4W2NdfHxjLGMpOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitjKV09YVtjXT0hMCxjfX0sbS5lYWNoKG0uZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXHcrL2cpLGZ1bmN0aW9uKGEsYil7dmFyIGM9b2JbYl18fG0uZmluZC5hdHRyO29iW2JdPXJiJiZxYnx8IXBiLnRlc3QoYik/ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGY7cmV0dXJuIGR8fChmPW9iW2JdLG9iW2JdPWUsZT1udWxsIT1jKGEsYixkKT9iLnRvTG93ZXJDYXNlKCk6bnVsbCxvYltiXT1mKSxlfTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGM/dm9pZCAwOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitiKV0/Yi50b0xvd2VyQ2FzZSgpOm51bGx9fSkscmImJnFifHwobS5hdHRySG9va3MudmFsdWU9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0ubm9kZU5hbWUoYSwiaW5wdXQiKT92b2lkKGEuZGVmYXVsdFZhbHVlPWIpOm1iJiZtYi5zZXQoYSxiLGMpfX0pLHFifHwobWI9e3NldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5nZXRBdHRyaWJ1dGVOb2RlKGMpO3JldHVybiBkfHxhLnNldEF0dHJpYnV0ZU5vZGUoZD1hLm93bmVyRG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKGMpKSxkLnZhbHVlPWIrPSIiLCJ2YWx1ZSI9PT1jfHxiPT09YS5nZXRBdHRyaWJ1dGUoYyk/Yjp2b2lkIDB9fSxvYi5pZD1vYi5uYW1lPW9iLmNvb3Jkcz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGM/dm9pZCAwOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJiIiIT09ZC52YWx1ZT9kLnZhbHVlOm51bGx9LG0udmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmdldEF0dHJpYnV0ZU5vZGUoYik7cmV0dXJuIGMmJmMuc3BlY2lmaWVkP2MudmFsdWU6dm9pZCAwfSxzZXQ6bWIuc2V0fSxtLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e3NldDpmdW5jdGlvbihhLGIsYyl7bWIuc2V0KGEsIiI9PT1iPyExOmIsYyl9fSxtLmVhY2goWyJ3aWR0aCIsImhlaWdodCJdLGZ1bmN0aW9uKGEsYil7bS5hdHRySG9va3NbYl09e3NldDpmdW5jdGlvbihhLGMpe3JldHVybiIiPT09Yz8oYS5zZXRBdHRyaWJ1dGUoYiwiYXV0byIpLGMpOnZvaWQgMH19fSkpLGsuc3R5bGV8fChtLmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLnN0eWxlLmNzc1RleHR8fHZvaWQgMH0sc2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc3R5bGUuY3NzVGV4dD1iKyIifX0pO3ZhciBzYj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvaSx0Yj0vXig/OmF8YXJlYSkkL2k7bS5mbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0ucHJvcCxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihhKXtyZXR1cm4gYT1tLnByb3BGaXhbYV18fGEsdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbYV09dm9pZCAwLGRlbGV0ZSB0aGlzW2FdfWNhdGNoKGIpe319KX19KSxtLmV4dGVuZCh7cHJvcEZpeDp7ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSJ9LHByb3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnPWEubm9kZVR5cGU7aWYoYSYmMyE9PWcmJjghPT1nJiYyIT09ZylyZXR1cm4gZj0xIT09Z3x8IW0uaXNYTUxEb2MoYSksZiYmKGI9bS5wcm9wRml4W2JdfHxiLGU9bS5wcm9wSG9va3NbYl0pLHZvaWQgMCE9PWM/ZSYmInNldCJpbiBlJiZ2b2lkIDAhPT0oZD1lLnNldChhLGMsYikpP2Q6YVtiXT1jOmUmJiJnZXQiaW4gZSYmbnVsbCE9PShkPWUuZ2V0KGEsYikpP2Q6YVtiXX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPW0uZmluZC5hdHRyKGEsInRhYmluZGV4Iik7cmV0dXJuIGI/cGFyc2VJbnQoYiwxMCk6c2IudGVzdChhLm5vZGVOYW1lKXx8dGIudGVzdChhLm5vZGVOYW1lKSYmYS5ocmVmPzA6LTF9fX19KSxrLmhyZWZOb3JtYWxpemVkfHxtLmVhY2goWyJocmVmIiwic3JjIl0sZnVuY3Rpb24oYSxiKXttLnByb3BIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZShiLDQpfX19KSxrLm9wdFNlbGVjdGVkfHwobS5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJihiLnNlbGVjdGVkSW5kZXgsYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSxtLmVhY2goWyJ0YWJJbmRleCIsInJlYWRPbmx5IiwibWF4TGVuZ3RoIiwiY2VsbFNwYWNpbmciLCJjZWxsUGFkZGluZyIsInJvd1NwYW4iLCJjb2xTcGFuIiwidXNlTWFwIiwiZnJhbWVCb3JkZXIiLCJjb250ZW50RWRpdGFibGUiXSxmdW5jdGlvbigpe20ucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxrLmVuY3R5cGV8fChtLnByb3BGaXguZW5jdHlwZT0iZW5jb2RpbmciKTt2YXIgdWI9L1tcdFxyXG5cZl0vZzttLmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9InN0cmluZyI9PXR5cGVvZiBhJiZhO2lmKG0uaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20odGhpcykuYWRkQ2xhc3MoYS5jYWxsKHRoaXMsYix0aGlzLmNsYXNzTmFtZSkpfSk7aWYoailmb3IoYj0oYXx8IiIpLm1hdGNoKEUpfHxbXTtpPmg7aCsrKWlmKGM9dGhpc1toXSxkPTE9PT1jLm5vZGVUeXBlJiYoYy5jbGFzc05hbWU/KCIgIitjLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWIsIiAiKToiICIpKXtmPTA7d2hpbGUoZT1iW2YrK10pZC5pbmRleE9mKCIgIitlKyIgIik8MCYmKGQrPWUrIiAiKTtnPW0udHJpbShkKSxjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9MD09PWFyZ3VtZW50cy5sZW5ndGh8fCJzdHJpbmciPT10eXBlb2YgYSYmYTtpZihtLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXttKHRoaXMpLnJlbW92ZUNsYXNzKGEuY2FsbCh0aGlzLGIsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGopZm9yKGI9KGF8fCIiKS5tYXRjaChFKXx8W107aT5oO2grKylpZihjPXRoaXNbaF0sZD0xPT09Yy5ub2RlVHlwZSYmKGMuY2xhc3NOYW1lPygiICIrYy5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKHViLCIgIik6IiIpKXtmPTA7d2hpbGUoZT1iW2YrK10pd2hpbGUoZC5pbmRleE9mKCIgIitlKyIgIik+PTApZD1kLnJlcGxhY2UoIiAiK2UrIiAiLCIgIik7Zz1hP20udHJpbShkKToiIixjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBiJiYic3RyaW5nIj09PWM/Yj90aGlzLmFkZENsYXNzKGEpOnRoaXMucmVtb3ZlQ2xhc3MoYSk6dGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihjKXttKHRoaXMpLnRvZ2dsZUNsYXNzKGEuY2FsbCh0aGlzLGMsdGhpcy5jbGFzc05hbWUsYiksYil9OmZ1bmN0aW9uKCl7aWYoInN0cmluZyI9PT1jKXt2YXIgYixkPTAsZT1tKHRoaXMpLGY9YS5tYXRjaChFKXx8W107d2hpbGUoYj1mW2QrK10pZS5oYXNDbGFzcyhiKT9lLnJlbW92ZUNsYXNzKGIpOmUuYWRkQ2xhc3MoYil9ZWxzZShjPT09S3x8ImJvb2xlYW4iPT09YykmJih0aGlzLmNsYXNzTmFtZSYmbS5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIix0aGlzLmNsYXNzTmFtZSksdGhpcy5jbGFzc05hbWU9dGhpcy5jbGFzc05hbWV8fGE9PT0hMT8iIjptLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iICIrYSsiICIsYz0wLGQ9dGhpcy5sZW5ndGg7ZD5jO2MrKylpZigxPT09dGhpc1tjXS5ub2RlVHlwZSYmKCIgIit0aGlzW2NdLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWIsIiAiKS5pbmRleE9mKGIpPj0wKXJldHVybiEwO3JldHVybiExfX0pLG0uZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IGxvYWQgcmVzaXplIHNjcm9sbCB1bmxvYWQgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBlcnJvciBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24oYixudWxsLGEsYyk6dGhpcy50cmlnZ2VyKGIpfX0pLG0uZm4uZXh0ZW5kKHtob3ZlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoYSkubW91c2VsZWF2ZShifHxhKX0sYmluZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMub24oYSxudWxsLGIsYyl9LHVuYmluZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9mZihhLG51bGwsYil9LGRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGIsYSxjLGQpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoYSwiKioiKTp0aGlzLm9mZihiLGF8fCIqKiIsYyl9fSk7dmFyIHZiPW0ubm93KCksd2I9L1w/Lyx4Yj0vKCwpfChcW3x7KXwofXxdKXwiKD86W14iXFxcclxuXXxcXFsiXFxcL2JmbnJ0XXxcXHVbXGRhLWZBLUZdezR9KSoiXHMqOj98dHJ1ZXxmYWxzZXxudWxsfC0/KD8hMFxkKVxkKyg/OlwuXGQrfCkoPzpbZUVdWystXT9cZCt8KS9nO20ucGFyc2VKU09OPWZ1bmN0aW9uKGIpe2lmKGEuSlNPTiYmYS5KU09OLnBhcnNlKXJldHVybiBhLkpTT04ucGFyc2UoYisiIik7dmFyIGMsZD1udWxsLGU9bS50cmltKGIrIiIpO3JldHVybiBlJiYhbS50cmltKGUucmVwbGFjZSh4YixmdW5jdGlvbihhLGIsZSxmKXtyZXR1cm4gYyYmYiYmKGQ9MCksMD09PWQ/YTooYz1lfHxiLGQrPSFmLSFlLCIiKX0pKT9GdW5jdGlvbigicmV0dXJuICIrZSkoKTptLmVycm9yKCJJbnZhbGlkIEpTT046ICIrYil9LG0ucGFyc2VYTUw9ZnVuY3Rpb24oYil7dmFyIGMsZDtpZighYnx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBudWxsO3RyeXthLkRPTVBhcnNlcj8oZD1uZXcgRE9NUGFyc2VyLGM9ZC5wYXJzZUZyb21TdHJpbmcoYiwidGV4dC94bWwiKSk6KGM9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxjLmFzeW5jPSJmYWxzZSIsYy5sb2FkWE1MKGIpKX1jYXRjaChlKXtjPXZvaWQgMH1yZXR1cm4gYyYmYy5kb2N1bWVudEVsZW1lbnQmJiFjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8bS5lcnJvcigiSW52YWxpZCBYTUw6ICIrYiksY307dmFyIHliLHpiLEFiPS8jLiokLyxCYj0vKFs/Jl0pXz1bXiZdKi8sQ2I9L14oLio/KTpbIFx0XSooW15cclxuXSopXHI/JC9nbSxEYj0vXig/OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLyxFYj0vXig/OkdFVHxIRUFEKSQvLEZiPS9eXC9cLy8sR2I9L14oW1x3ListXSs6KSg/OlwvXC8oPzpbXlwvPyNdKkB8KShbXlwvPyM6XSopKD86OihcZCspfCl8KS8sSGI9e30sSWI9e30sSmI9IiovIi5jb25jYXQoIioiKTt0cnl7emI9bG9jYXRpb24uaHJlZn1jYXRjaChLYil7emI9eS5jcmVhdGVFbGVtZW50KCJhIiksemIuaHJlZj0iIix6Yj16Yi5ocmVmfXliPUdiLmV4ZWMoemIudG9Mb3dlckNhc2UoKSl8fFtdO2Z1bmN0aW9uIExiKGEpe3JldHVybiBmdW5jdGlvbihiLGMpeyJzdHJpbmciIT10eXBlb2YgYiYmKGM9YixiPSIqIik7dmFyIGQsZT0wLGY9Yi50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbXTtpZihtLmlzRnVuY3Rpb24oYykpd2hpbGUoZD1mW2UrK10pIisiPT09ZC5jaGFyQXQoMCk/KGQ9ZC5zbGljZSgxKXx8IioiLChhW2RdPWFbZF18fFtdKS51bnNoaWZ0KGMpKTooYVtkXT1hW2RdfHxbXSkucHVzaChjKX19ZnVuY3Rpb24gTWIoYSxiLGMsZCl7dmFyIGU9e30sZj1hPT09SWI7ZnVuY3Rpb24gZyhoKXt2YXIgaTtyZXR1cm4gZVtoXT0hMCxtLmVhY2goYVtoXXx8W10sZnVuY3Rpb24oYSxoKXt2YXIgaj1oKGIsYyxkKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGp8fGZ8fGVbal0/Zj8hKGk9aik6dm9pZCAwOihiLmRhdGFUeXBlcy51bnNoaWZ0KGopLGcoaiksITEpfSksaX1yZXR1cm4gZyhiLmRhdGFUeXBlc1swXSl8fCFlWyIqIl0mJmcoIioiKX1mdW5jdGlvbiBOYihhLGIpe3ZhciBjLGQsZT1tLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGQgaW4gYil2b2lkIDAhPT1iW2RdJiYoKGVbZF0/YTpjfHwoYz17fSkpW2RdPWJbZF0pO3JldHVybiBjJiZtLmV4dGVuZCghMCxhLGMpLGF9ZnVuY3Rpb24gT2IoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jb250ZW50cyxpPWEuZGF0YVR5cGVzO3doaWxlKCIqIj09PWlbMF0paS5zaGlmdCgpLHZvaWQgMD09PWUmJihlPWEubWltZVR5cGV8fGIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihlKWZvcihnIGluIGgpaWYoaFtnXSYmaFtnXS50ZXN0KGUpKXtpLnVuc2hpZnQoZyk7YnJlYWt9aWYoaVswXWluIGMpZj1pWzBdO2Vsc2V7Zm9yKGcgaW4gYyl7aWYoIWlbMF18fGEuY29udmVydGVyc1tnKyIgIitpWzBdXSl7Zj1nO2JyZWFrfWR8fChkPWcpfWY9Znx8ZH1yZXR1cm4gZj8oZiE9PWlbMF0mJmkudW5zaGlmdChmKSxjW2ZdKTp2b2lkIDB9ZnVuY3Rpb24gUGIoYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPXt9LGs9YS5kYXRhVHlwZXMuc2xpY2UoKTtpZihrWzFdKWZvcihnIGluIGEuY29udmVydGVycylqW2cudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2ddO2Y9ay5zaGlmdCgpO3doaWxlKGYpaWYoYS5yZXNwb25zZUZpZWxkc1tmXSYmKGNbYS5yZXNwb25zZUZpZWxkc1tmXV09YiksIWkmJmQmJmEuZGF0YUZpbHRlciYmKGI9YS5kYXRhRmlsdGVyKGIsYS5kYXRhVHlwZSkpLGk9ZixmPWsuc2hpZnQoKSlpZigiKiI9PT1mKWY9aTtlbHNlIGlmKCIqIiE9PWkmJmkhPT1mKXtpZihnPWpbaSsiICIrZl18fGpbIiogIitmXSwhZylmb3IoZSBpbiBqKWlmKGg9ZS5zcGxpdCgiICIpLGhbMV09PT1mJiYoZz1qW2krIiAiK2hbMF1dfHxqWyIqICIraFswXV0pKXtnPT09ITA/Zz1qW2VdOmpbZV0hPT0hMCYmKGY9aFswXSxrLnVuc2hpZnQoaFsxXSkpO2JyZWFrfWlmKGchPT0hMClpZihnJiZhWyJ0aHJvd3MiXSliPWcoYik7ZWxzZSB0cnl7Yj1nKGIpfWNhdGNoKGwpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmc/bDoiTm8gY29udmVyc2lvbiBmcm9tICIraSsiIHRvICIrZn19fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTpifX1tLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6emIsdHlwZToiR0VUIixpc0xvY2FsOkRiLnRlc3QoeWJbMV0pLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6SmIsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L3htbC8saHRtbDovaHRtbC8sanNvbjovanNvbi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjptLnBhcnNlSlNPTiwidGV4dCB4bWwiOm0ucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihhLGIpe3JldHVybiBiP05iKE5iKGEsbS5hamF4U2V0dGluZ3MpLGIpOk5iKG0uYWpheFNldHRpbmdzLGEpfSxhamF4UHJlZmlsdGVyOkxiKEhiKSxhamF4VHJhbnNwb3J0OkxiKEliKSxhamF4OmZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBhJiYoYj1hLGE9dm9pZCAwKSxiPWJ8fHt9O3ZhciBjLGQsZSxmLGcsaCxpLGosaz1tLmFqYXhTZXR1cCh7fSxiKSxsPWsuY29udGV4dHx8ayxuPWsuY29udGV4dCYmKGwubm9kZVR5cGV8fGwuanF1ZXJ5KT9tKGwpOm0uZXZlbnQsbz1tLkRlZmVycmVkKCkscD1tLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxxPWsuc3RhdHVzQ29kZXx8e30scj17fSxzPXt9LHQ9MCx1PSJjYW5jZWxlZCIsdj17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKDI9PT10KXtpZighail7aj17fTt3aGlsZShiPUNiLmV4ZWMoZikpaltiWzFdLnRvTG93ZXJDYXNlKCldPWJbMl19Yj1qW2EudG9Mb3dlckNhc2UoKV19cmV0dXJuIG51bGw9PWI/bnVsbDpifSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXQ/ZjpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b0xvd2VyQ2FzZSgpO3JldHVybiB0fHwoYT1zW2NdPXNbY118fGEsclthXT1iKSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3JldHVybiB0fHwoay5taW1lVHlwZT1hKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEpaWYoMj50KWZvcihiIGluIGEpcVtiXT1bcVtiXSxhW2JdXTtlbHNlIHYuYWx3YXlzKGFbdi5zdGF0dXNdKTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YXx8dTtyZXR1cm4gaSYmaS5hYm9ydChiKSx4KDAsYiksdGhpc319O2lmKG8ucHJvbWlzZSh2KS5jb21wbGV0ZT1wLmFkZCx2LnN1Y2Nlc3M9di5kb25lLHYuZXJyb3I9di5mYWlsLGsudXJsPSgoYXx8ay51cmx8fHpiKSsiIikucmVwbGFjZShBYiwiIikucmVwbGFjZShGYix5YlsxXSsiLy8iKSxrLnR5cGU9Yi5tZXRob2R8fGIudHlwZXx8ay5tZXRob2R8fGsudHlwZSxrLmRhdGFUeXBlcz1tLnRyaW0oay5kYXRhVHlwZXx8IioiKS50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbIiJdLG51bGw9PWsuY3Jvc3NEb21haW4mJihjPUdiLmV4ZWMoay51cmwudG9Mb3dlckNhc2UoKSksay5jcm9zc0RvbWFpbj0hKCFjfHxjWzFdPT09eWJbMV0mJmNbMl09PT15YlsyXSYmKGNbM118fCgiaHR0cDoiPT09Y1sxXT8iODAiOiI0NDMiKSk9PT0oeWJbM118fCgiaHR0cDoiPT09eWJbMV0/IjgwIjoiNDQzIikpKSksay5kYXRhJiZrLnByb2Nlc3NEYXRhJiYic3RyaW5nIiE9dHlwZW9mIGsuZGF0YSYmKGsuZGF0YT1tLnBhcmFtKGsuZGF0YSxrLnRyYWRpdGlvbmFsKSksTWIoSGIsayxiLHYpLDI9PT10KXJldHVybiB2O2g9bS5ldmVudCYmay5nbG9iYWwsaCYmMD09PW0uYWN0aXZlKysmJm0uZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0Iiksay50eXBlPWsudHlwZS50b1VwcGVyQ2FzZSgpLGsuaGFzQ29udGVudD0hRWIudGVzdChrLnR5cGUpLGU9ay51cmwsay5oYXNDb250ZW50fHwoay5kYXRhJiYoZT1rLnVybCs9KHdiLnRlc3QoZSk/IiYiOiI/Iikray5kYXRhLGRlbGV0ZSBrLmRhdGEpLGsuY2FjaGU9PT0hMSYmKGsudXJsPUJiLnRlc3QoZSk/ZS5yZXBsYWNlKEJiLCIkMV89Iit2YisrKTplKyh3Yi50ZXN0KGUpPyImIjoiPyIpKyJfPSIrdmIrKykpLGsuaWZNb2RpZmllZCYmKG0ubGFzdE1vZGlmaWVkW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixtLmxhc3RNb2RpZmllZFtlXSksbS5ldGFnW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLG0uZXRhZ1tlXSkpLChrLmRhdGEmJmsuaGFzQ29udGVudCYmay5jb250ZW50VHlwZSE9PSExfHxiLmNvbnRlbnRUeXBlKSYmdi5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLGsuY29udGVudFR5cGUpLHYuc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixrLmRhdGFUeXBlc1swXSYmay5hY2NlcHRzW2suZGF0YVR5cGVzWzBdXT9rLmFjY2VwdHNbay5kYXRhVHlwZXNbMF1dKygiKiIhPT1rLmRhdGFUeXBlc1swXT8iLCAiK0piKyI7IHE9MC4wMSI6IiIpOmsuYWNjZXB0c1siKiJdKTtmb3IoZCBpbiBrLmhlYWRlcnMpdi5zZXRSZXF1ZXN0SGVhZGVyKGQsay5oZWFkZXJzW2RdKTtpZihrLmJlZm9yZVNlbmQmJihrLmJlZm9yZVNlbmQuY2FsbChsLHYsayk9PT0hMXx8Mj09PXQpKXJldHVybiB2LmFib3J0KCk7dT0iYWJvcnQiO2ZvcihkIGlue3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXZbZF0oa1tkXSk7aWYoaT1NYihJYixrLGIsdikpe3YucmVhZHlTdGF0ZT0xLGgmJm4udHJpZ2dlcigiYWpheFNlbmQiLFt2LGtdKSxrLmFzeW5jJiZrLnRpbWVvdXQ+MCYmKGc9c2V0VGltZW91dChmdW5jdGlvbigpe3YuYWJvcnQoInRpbWVvdXQiKX0say50aW1lb3V0KSk7dHJ5e3Q9MSxpLnNlbmQocix4KX1jYXRjaCh3KXtpZighKDI+dCkpdGhyb3cgdzt4KC0xLHcpfX1lbHNlIHgoLTEsIk5vIFRyYW5zcG9ydCIpO2Z1bmN0aW9uIHgoYSxiLGMsZCl7dmFyIGoscixzLHUsdyx4PWI7MiE9PXQmJih0PTIsZyYmY2xlYXJUaW1lb3V0KGcpLGk9dm9pZCAwLGY9ZHx8IiIsdi5yZWFkeVN0YXRlPWE+MD80OjAsaj1hPj0yMDAmJjMwMD5hfHwzMDQ9PT1hLGMmJih1PU9iKGssdixjKSksdT1QYihrLHUsdixqKSxqPyhrLmlmTW9kaWZpZWQmJih3PXYuZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSx3JiYobS5sYXN0TW9kaWZpZWRbZV09dyksdz12LmdldFJlc3BvbnNlSGVhZGVyKCJldGFnIiksdyYmKG0uZXRhZ1tlXT13KSksMjA0PT09YXx8IkhFQUQiPT09ay50eXBlP3g9Im5vY29udGVudCI6MzA0PT09YT94PSJub3Rtb2RpZmllZCI6KHg9dS5zdGF0ZSxyPXUuZGF0YSxzPXUuZXJyb3Isaj0hcykpOihzPXgsKGF8fCF4KSYmKHg9ImVycm9yIiwwPmEmJihhPTApKSksdi5zdGF0dXM9YSx2LnN0YXR1c1RleHQ9KGJ8fHgpKyIiLGo/by5yZXNvbHZlV2l0aChsLFtyLHgsdl0pOm8ucmVqZWN0V2l0aChsLFt2LHgsc10pLHYuc3RhdHVzQ29kZShxKSxxPXZvaWQgMCxoJiZuLnRyaWdnZXIoaj8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFt2LGssaj9yOnNdKSxwLmZpcmVXaXRoKGwsW3YseF0pLGgmJihuLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3Ysa10pLC0tbS5hY3RpdmV8fG0uZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpfXJldHVybiB2fSxnZXRKU09OOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5nZXQoYSxiLGMsImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZ2V0KGEsdm9pZCAwLGIsInNjcmlwdCIpfX0pLG0uZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGIpe21bYl09ZnVuY3Rpb24oYSxjLGQsZSl7cmV0dXJuIG0uaXNGdW5jdGlvbihjKSYmKGU9ZXx8ZCxkPWMsYz12b2lkIDApLG0uYWpheCh7dXJsOmEsdHlwZTpiLGRhdGFUeXBlOmUsZGF0YTpjLHN1Y2Nlc3M6ZH0pfX0pLG0uX2V2YWxVcmw9ZnVuY3Rpb24oYSl7cmV0dXJuIG0uYWpheCh7dXJsOmEsdHlwZToiR0VUIixkYXRhVHlwZToic2NyaXB0Iixhc3luYzohMSxnbG9iYWw6ITEsInRocm93cyI6ITB9KX0sbS5mbi5leHRlbmQoe3dyYXBBbGw6ZnVuY3Rpb24oYSl7aWYobS5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bSh0aGlzKS53cmFwQWxsKGEuY2FsbCh0aGlzLGIpKX0pO2lmKHRoaXNbMF0pe3ZhciBiPW0oYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKTt0aGlzWzBdLnBhcmVudE5vZGUmJmIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLGIubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt3aGlsZShhLmZpcnN0Q2hpbGQmJjE9PT1hLmZpcnN0Q2hpbGQubm9kZVR5cGUpYT1hLmZpcnN0Q2hpbGQ7cmV0dXJuIGF9KS5hcHBlbmQodGhpcyl9cmV0dXJuIHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihiKXttKHRoaXMpLndyYXBJbm5lcihhLmNhbGwodGhpcyxiKSl9OmZ1bmN0aW9uKCl7dmFyIGI9bSh0aGlzKSxjPWIuY29udGVudHMoKTtjLmxlbmd0aD9jLndyYXBBbGwoYSk6Yi5hcHBlbmQoYSl9KX0sd3JhcDpmdW5jdGlvbihhKXt2YXIgYj1tLmlzRnVuY3Rpb24oYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXttKHRoaXMpLndyYXBBbGwoYj9hLmNhbGwodGhpcyxjKTphKX0pfSx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQoKS5lYWNoKGZ1bmN0aW9uKCl7bS5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fG0odGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLmVuZCgpfX0pLG0uZXhwci5maWx0ZXJzLmhpZGRlbj1mdW5jdGlvbihhKXtyZXR1cm4gYS5vZmZzZXRXaWR0aDw9MCYmYS5vZmZzZXRIZWlnaHQ8PTB8fCFrLnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpJiYibm9uZSI9PT0oYS5zdHlsZSYmYS5zdHlsZS5kaXNwbGF5fHxtLmNzcyhhLCJkaXNwbGF5IikpfSxtLmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiFtLmV4cHIuZmlsdGVycy5oaWRkZW4oYSl9O3ZhciBRYj0vJTIwL2csUmI9L1xbXF0kLyxTYj0vXHI/XG4vZyxUYj0vXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksVWI9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIFZiKGEsYixjLGQpe3ZhciBlO2lmKG0uaXNBcnJheShiKSltLmVhY2goYixmdW5jdGlvbihiLGUpe2N8fFJiLnRlc3QoYSk/ZChhLGUpOlZiKGErIlsiKygib2JqZWN0Ij09dHlwZW9mIGU/YjoiIikrIl0iLGUsYyxkKX0pO2Vsc2UgaWYoY3x8Im9iamVjdCIhPT1tLnR5cGUoYikpZChhLGIpO2Vsc2UgZm9yKGUgaW4gYilWYihhKyJbIitlKyJdIixiW2VdLGMsZCl9bS5wYXJhbT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1mdW5jdGlvbihhLGIpe2I9bS5pc0Z1bmN0aW9uKGIpP2IoKTpudWxsPT1iPyIiOmIsZFtkLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGEpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYil9O2lmKHZvaWQgMD09PWImJihiPW0uYWpheFNldHRpbmdzJiZtLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCksbS5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIW0uaXNQbGFpbk9iamVjdChhKSltLmVhY2goYSxmdW5jdGlvbigpe2UodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IoYyBpbiBhKVZiKGMsYVtjXSxiLGUpO3JldHVybiBkLmpvaW4oIiYiKS5yZXBsYWNlKFFiLCIrIil9LG0uZm4uZXh0ZW5kKHtzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gbS5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpfSxzZXJpYWxpemVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPW0ucHJvcCh0aGlzLCJlbGVtZW50cyIpO3JldHVybiBhP20ubWFrZUFycmF5KGEpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgYT10aGlzLnR5cGU7cmV0dXJuIHRoaXMubmFtZSYmIW0odGhpcykuaXMoIjpkaXNhYmxlZCIpJiZVYi50ZXN0KHRoaXMubm9kZU5hbWUpJiYhVGIudGVzdChhKSYmKHRoaXMuY2hlY2tlZHx8IVcudGVzdChhKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1tKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1jP251bGw6bS5pc0FycmF5KGMpP20ubWFwKGMsZnVuY3Rpb24oYSl7cmV0dXJue25hbWU6Yi5uYW1lLHZhbHVlOmEucmVwbGFjZShTYiwiXHJcbiIpfX0pOntuYW1lOmIubmFtZSx2YWx1ZTpjLnJlcGxhY2UoU2IsIlxyXG4iKX19KS5nZXQoKX19KSxtLmFqYXhTZXR0aW5ncy54aHI9dm9pZCAwIT09YS5BY3RpdmVYT2JqZWN0P2Z1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaXNMb2NhbCYmL14oZ2V0fHBvc3R8aGVhZHxwdXR8ZGVsZXRlfG9wdGlvbnMpJC9pLnRlc3QodGhpcy50eXBlKSYmWmIoKXx8JGIoKX06WmI7dmFyIFdiPTAsWGI9e30sWWI9bS5hamF4U2V0dGluZ3MueGhyKCk7YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib251bmxvYWQiLGZ1bmN0aW9uKCl7Zm9yKHZhciBhIGluIFhiKVhiW2FdKHZvaWQgMCwhMCl9KSxrLmNvcnM9ISFZYiYmIndpdGhDcmVkZW50aWFscyJpbiBZYixZYj1rLmFqYXg9ISFZYixZYiYmbS5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGEpe2lmKCFhLmNyb3NzRG9tYWlufHxrLmNvcnMpe3ZhciBiO3JldHVybntzZW5kOmZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hLnhocigpLGc9KytXYjtpZihmLm9wZW4oYS50eXBlLGEudXJsLGEuYXN5bmMsYS51c2VybmFtZSxhLnBhc3N3b3JkKSxhLnhockZpZWxkcylmb3IoZSBpbiBhLnhockZpZWxkcylmW2VdPWEueGhyRmllbGRzW2VdO2EubWltZVR5cGUmJmYub3ZlcnJpZGVNaW1lVHlwZSYmZi5vdmVycmlkZU1pbWVUeXBlKGEubWltZVR5cGUpLGEuY3Jvc3NEb21haW58fGNbIlgtUmVxdWVzdGVkLVdpdGgiXXx8KGNbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTtmb3IoZSBpbiBjKXZvaWQgMCE9PWNbZV0mJmYuc2V0UmVxdWVzdEhlYWRlcihlLGNbZV0rIiIpO2Yuc2VuZChhLmhhc0NvbnRlbnQmJmEuZGF0YXx8bnVsbCksYj1mdW5jdGlvbihjLGUpe3ZhciBoLGksajtpZihiJiYoZXx8ND09PWYucmVhZHlTdGF0ZSkpaWYoZGVsZXRlIFhiW2ddLGI9dm9pZCAwLGYub25yZWFkeXN0YXRlY2hhbmdlPW0ubm9vcCxlKTQhPT1mLnJlYWR5U3RhdGUmJmYuYWJvcnQoKTtlbHNle2o9e30saD1mLnN0YXR1cywic3RyaW5nIj09dHlwZW9mIGYucmVzcG9uc2VUZXh0JiYoai50ZXh0PWYucmVzcG9uc2VUZXh0KTt0cnl7aT1mLnN0YXR1c1RleHR9Y2F0Y2goayl7aT0iIn1ofHwhYS5pc0xvY2FsfHxhLmNyb3NzRG9tYWluPzEyMjM9PT1oJiYoaD0yMDQpOmg9ai50ZXh0PzIwMDo0MDR9aiYmZChoLGksaixmLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKX0sYS5hc3luYz80PT09Zi5yZWFkeVN0YXRlP3NldFRpbWVvdXQoYik6Zi5vbnJlYWR5c3RhdGVjaGFuZ2U9WGJbZ109YjpiKCl9LGFib3J0OmZ1bmN0aW9uKCl7YiYmYih2b2lkIDAsITApfX19fSk7ZnVuY3Rpb24gWmIoKXt0cnl7cmV0dXJuIG5ldyBhLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGIpe319ZnVuY3Rpb24gJGIoKXt0cnl7cmV0dXJuIG5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9Y2F0Y2goYil7fX1tLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9LGNvbnRlbnRzOntzY3JpcHQ6Lyg/OmphdmF8ZWNtYSlzY3JpcHQvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe3JldHVybiBtLmdsb2JhbEV2YWwoYSksYX19fSksbS5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEuY2FjaGUmJihhLmNhY2hlPSExKSxhLmNyb3NzRG9tYWluJiYoYS50eXBlPSJHRVQiLGEuZ2xvYmFsPSExKX0pLG0uYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgYixjPXkuaGVhZHx8bSgiaGVhZCIpWzBdfHx5LmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihkLGUpe2I9eS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxiLmFzeW5jPSEwLGEuc2NyaXB0Q2hhcnNldCYmKGIuY2hhcnNldD1hLnNjcmlwdENoYXJzZXQpLGIuc3JjPWEudXJsLGIub25sb2FkPWIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7KGN8fCFiLnJlYWR5U3RhdGV8fC9sb2FkZWR8Y29tcGxldGUvLnRlc3QoYi5yZWFkeVN0YXRlKSkmJihiLm9ubG9hZD1iLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbCxjfHxlKDIwMCwic3VjY2VzcyIpKX0sYy5pbnNlcnRCZWZvcmUoYixjLmZpcnN0Q2hpbGQpfSxhYm9ydDpmdW5jdGlvbigpe2ImJmIub25sb2FkKHZvaWQgMCwhMCl9fX19KTt2YXIgX2I9W10sYWM9Lyg9KVw/KD89JnwkKXxcP1w/LzttLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9X2IucG9wKCl8fG0uZXhwYW5kbysiXyIrdmIrKztyZXR1cm4gdGhpc1thXT0hMCxhfX0pLG0uYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixjLGQpe3ZhciBlLGYsZyxoPWIuanNvbnAhPT0hMSYmKGFjLnRlc3QoYi51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgYi5kYXRhJiYhKGIuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmYWMudGVzdChiLmRhdGEpJiYiZGF0YSIpO3JldHVybiBofHwianNvbnAiPT09Yi5kYXRhVHlwZXNbMF0/KGU9Yi5qc29ucENhbGxiYWNrPW0uaXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxsYmFjaygpOmIuanNvbnBDYWxsYmFjayxoP2JbaF09YltoXS5yZXBsYWNlKGFjLCIkMSIrZSk6Yi5qc29ucCE9PSExJiYoYi51cmwrPSh3Yi50ZXN0KGIudXJsKT8iJiI6Ij8iKStiLmpzb25wKyI9IitlKSxiLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gZ3x8bS5lcnJvcihlKyIgd2FzIG5vdCBjYWxsZWQiKSxnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNvbiIsZj1hW2VdLGFbZV09ZnVuY3Rpb24oKXtnPWFyZ3VtZW50c30sZC5hbHdheXMoZnVuY3Rpb24oKXthW2VdPWYsYltlXSYmKGIuanNvbnBDYWxsYmFjaz1jLmpzb25wQ2FsbGJhY2ssX2IucHVzaChlKSksZyYmbS5pc0Z1bmN0aW9uKGYpJiZmKGdbMF0pLGc9Zj12b2lkIDB9KSwic2NyaXB0Iik6dm9pZCAwfSksbS5wYXJzZUhUTUw9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhfHwic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIG51bGw7ImJvb2xlYW4iPT10eXBlb2YgYiYmKGM9YixiPSExKSxiPWJ8fHk7dmFyIGQ9dS5leGVjKGEpLGU9IWMmJltdO3JldHVybiBkP1tiLmNyZWF0ZUVsZW1lbnQoZFsxXSldOihkPW0uYnVpbGRGcmFnbWVudChbYV0sYixlKSxlJiZlLmxlbmd0aCYmbShlKS5yZW1vdmUoKSxtLm1lcmdlKFtdLGQuY2hpbGROb2RlcykpfTt2YXIgYmM9bS5mbi5sb2FkO20uZm4ubG9hZD1mdW5jdGlvbihhLGIsYyl7aWYoInN0cmluZyIhPXR5cGVvZiBhJiZiYylyZXR1cm4gYmMuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBkLGUsZixnPXRoaXMsaD1hLmluZGV4T2YoIiAiKTtyZXR1cm4gaD49MCYmKGQ9bS50cmltKGEuc2xpY2UoaCxhLmxlbmd0aCkpLGE9YS5zbGljZSgwLGgpKSxtLmlzRnVuY3Rpb24oYik/KGM9YixiPXZvaWQgMCk6YiYmIm9iamVjdCI9PXR5cGVvZiBiJiYoZj0iUE9TVCIpLGcubGVuZ3RoPjAmJm0uYWpheCh7dXJsOmEsdHlwZTpmLGRhdGFUeXBlOiJodG1sIixkYXRhOmJ9KS5kb25lKGZ1bmN0aW9uKGEpe2U9YXJndW1lbnRzLGcuaHRtbChkP20oIjxkaXY+IikuYXBwZW5kKG0ucGFyc2VIVE1MKGEpKS5maW5kKGQpOmEpfSkuY29tcGxldGUoYyYmZnVuY3Rpb24oYSxiKXtnLmVhY2goYyxlfHxbYS5yZXNwb25zZVRleHQsYixhXSl9KSx0aGlzfSxtLmVhY2goWyJhamF4U3RhcnQiLCJhamF4U3RvcCIsImFqYXhDb21wbGV0ZSIsImFqYXhFcnJvciIsImFqYXhTdWNjZXNzIiwiYWpheFNlbmQiXSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub24oYixhKX19KSxtLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihhKXtyZXR1cm4gbS5ncmVwKG0udGltZXJzLGZ1bmN0aW9uKGIpe3JldHVybiBhPT09Yi5lbGVtfSkubGVuZ3RofTt2YXIgY2M9YS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZnVuY3Rpb24gZGMoYSl7cmV0dXJuIG0uaXNXaW5kb3coYSk/YTo5PT09YS5ub2RlVHlwZT9hLmRlZmF1bHRWaWV3fHxhLnBhcmVudFdpbmRvdzohMX1tLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrPW0uY3NzKGEsInBvc2l0aW9uIiksbD1tKGEpLG49e307InN0YXRpYyI9PT1rJiYoYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxoPWwub2Zmc2V0KCksZj1tLmNzcyhhLCJ0b3AiKSxpPW0uY3NzKGEsImxlZnQiKSxqPSgiYWJzb2x1dGUiPT09a3x8ImZpeGVkIj09PWspJiZtLmluQXJyYXkoImF1dG8iLFtmLGldKT4tMSxqPyhkPWwucG9zaXRpb24oKSxnPWQudG9wLGU9ZC5sZWZ0KTooZz1wYXJzZUZsb2F0KGYpfHwwLGU9cGFyc2VGbG9hdChpKXx8MCksbS5pc0Z1bmN0aW9uKGIpJiYoYj1iLmNhbGwoYSxjLGgpKSxudWxsIT1iLnRvcCYmKG4udG9wPWIudG9wLWgudG9wK2cpLG51bGwhPWIubGVmdCYmKG4ubGVmdD1iLmxlZnQtaC5sZWZ0K2UpLCJ1c2luZyJpbiBiP2IudXNpbmcuY2FsbChhLG4pOmwuY3NzKG4pfX0sbS5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1hP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20ub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTt2YXIgYixjLGQ9e3RvcDowLGxlZnQ6MH0sZT10aGlzWzBdLGY9ZSYmZS5vd25lckRvY3VtZW50O2lmKGYpcmV0dXJuIGI9Zi5kb2N1bWVudEVsZW1lbnQsbS5jb250YWlucyhiLGUpPyh0eXBlb2YgZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QhPT1LJiYoZD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSxjPWRjKGYpLHt0b3A6ZC50b3ArKGMucGFnZVlPZmZzZXR8fGIuc2Nyb2xsVG9wKS0oYi5jbGllbnRUb3B8fDApLGxlZnQ6ZC5sZWZ0KyhjLnBhZ2VYT2Zmc2V0fHxiLnNjcm9sbExlZnQpLShiLmNsaWVudExlZnR8fDApfSk6ZH0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzWzBdKXt2YXIgYSxiLGM9e3RvcDowLGxlZnQ6MH0sZD10aGlzWzBdO3JldHVybiJmaXhlZCI9PT1tLmNzcyhkLCJwb3NpdGlvbiIpP2I9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTooYT10aGlzLm9mZnNldFBhcmVudCgpLGI9dGhpcy5vZmZzZXQoKSxtLm5vZGVOYW1lKGFbMF0sImh0bWwiKXx8KGM9YS5vZmZzZXQoKSksYy50b3ArPW0uY3NzKGFbMF0sImJvcmRlclRvcFdpZHRoIiwhMCksYy5sZWZ0Kz1tLmNzcyhhWzBdLCJib3JkZXJMZWZ0V2lkdGgiLCEwKSkse3RvcDpiLnRvcC1jLnRvcC1tLmNzcyhkLCJtYXJnaW5Ub3AiLCEwKSxsZWZ0OmIubGVmdC1jLmxlZnQtbS5jc3MoZCwibWFyZ2luTGVmdCIsITApfX19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXMub2Zmc2V0UGFyZW50fHxjYzt3aGlsZShhJiYhbS5ub2RlTmFtZShhLCJodG1sIikmJiJzdGF0aWMiPT09bS5jc3MoYSwicG9zaXRpb24iKSlhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfHxjY30pfX0pLG0uZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPS9ZLy50ZXN0KGIpO20uZm5bYV09ZnVuY3Rpb24oZCl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhLGQsZSl7dmFyIGY9ZGMoYSk7cmV0dXJuIHZvaWQgMD09PWU/Zj9iIGluIGY/ZltiXTpmLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtkXTphW2RdOnZvaWQoZj9mLnNjcm9sbFRvKGM/bShmKS5zY3JvbGxMZWZ0KCk6ZSxjP2U6bShmKS5zY3JvbGxUb3AoKSk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksbS5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGEsYil7bS5jc3NIb29rc1tiXT1MYShrLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oYSxjKXtyZXR1cm4gYz8oYz1KYShhLGIpLEhhLnRlc3QoYyk/bShhKS5wb3NpdGlvbigpW2JdKyJweCI6Yyk6dm9pZCAwfSl9KSxtLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihhLGIpe20uZWFjaCh7cGFkZGluZzoiaW5uZXIiK2EsY29udGVudDpiLCIiOiJvdXRlciIrYX0sZnVuY3Rpb24oYyxkKXttLmZuW2RdPWZ1bmN0aW9uKGQsZSl7dmFyIGY9YXJndW1lbnRzLmxlbmd0aCYmKGN8fCJib29sZWFuIiE9dHlwZW9mIGQpLGc9Y3x8KGQ9PT0hMHx8ZT09PSEwPyJtYXJnaW4iOiJib3JkZXIiKTtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZTtyZXR1cm4gbS5pc1dpbmRvdyhiKT9iLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IithXTo5PT09Yi5ub2RlVHlwZT8oZT1iLmRvY3VtZW50RWxlbWVudCxNYXRoLm1heChiLmJvZHlbInNjcm9sbCIrYV0sZVsic2Nyb2xsIithXSxiLmJvZHlbIm9mZnNldCIrYV0sZVsib2Zmc2V0IithXSxlWyJjbGllbnQiK2FdKSk6dm9pZCAwPT09ZD9tLmNzcyhiLGMsZyk6bS5zdHlsZShiLGMsZCxnKX0sYixmP2Q6dm9pZCAwLGYsbnVsbCl9fSl9KSxtLmZuLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9LG0uZm4uYW5kU2VsZj1tLmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG19KTt2YXIgZWM9YS5qUXVlcnksZmM9YS4kO3JldHVybiBtLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PW0mJihhLiQ9ZmMpLGImJmEualF1ZXJ5PT09bSYmKGEualF1ZXJ5PWVjKSxtfSx0eXBlb2YgYj09PUsmJihhLmpRdWVyeT1hLiQ9bSksbX0pOwo=&quot;&gt;&lt;/script&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot; /&gt;
&lt;link href=&quot;data:text/css,html%7Bfont%2Dfamily%3Asans%2Dserif%3B%2Dwebkit%2Dtext%2Dsize%2Dadjust%3A100%25%3B%2Dms%2Dtext%2Dsize%2Dadjust%3A100%25%7Dbody%7Bmargin%3A0%7Darticle%2Caside%2Cdetails%2Cfigcaption%2Cfigure%2Cfooter%2Cheader%2Chgroup%2Cmain%2Cmenu%2Cnav%2Csection%2Csummary%7Bdisplay%3Ablock%7Daudio%2Ccanvas%2Cprogress%2Cvideo%7Bdisplay%3Ainline%2Dblock%3Bvertical%2Dalign%3Abaseline%7Daudio%3Anot%28%5Bcontrols%5D%29%7Bdisplay%3Anone%3Bheight%3A0%7D%5Bhidden%5D%2Ctemplate%7Bdisplay%3Anone%7Da%7Bbackground%2Dcolor%3Atransparent%7Da%3Aactive%2Ca%3Ahover%7Boutline%3A0%7Dabbr%5Btitle%5D%7Bborder%2Dbottom%3A1px%20dotted%7Db%2Cstrong%7Bfont%2Dweight%3A700%7Ddfn%7Bfont%2Dstyle%3Aitalic%7Dh1%7Bmargin%3A%2E67em%200%3Bfont%2Dsize%3A2em%7Dmark%7Bcolor%3A%23000%3Bbackground%3A%23ff0%7Dsmall%7Bfont%2Dsize%3A80%25%7Dsub%2Csup%7Bposition%3Arelative%3Bfont%2Dsize%3A75%25%3Bline%2Dheight%3A0%3Bvertical%2Dalign%3Abaseline%7Dsup%7Btop%3A%2D%2E5em%7Dsub%7Bbottom%3A%2D%2E25em%7Dimg%7Bborder%3A0%7Dsvg%3Anot%28%3Aroot%29%7Boverflow%3Ahidden%7Dfigure%7Bmargin%3A1em%2040px%7Dhr%7Bheight%3A0%3B%2Dwebkit%2Dbox%2Dsizing%3Acontent%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Acontent%2Dbox%3Bbox%2Dsizing%3Acontent%2Dbox%7Dpre%7Boverflow%3Aauto%7Dcode%2Ckbd%2Cpre%2Csamp%7Bfont%2Dfamily%3Amonospace%2Cmonospace%3Bfont%2Dsize%3A1em%7Dbutton%2Cinput%2Coptgroup%2Cselect%2Ctextarea%7Bmargin%3A0%3Bfont%3Ainherit%3Bcolor%3Ainherit%7Dbutton%7Boverflow%3Avisible%7Dbutton%2Cselect%7Btext%2Dtransform%3Anone%7Dbutton%2Chtml%20input%5Btype%3Dbutton%5D%2Cinput%5Btype%3Dreset%5D%2Cinput%5Btype%3Dsubmit%5D%7B%2Dwebkit%2Dappearance%3Abutton%3Bcursor%3Apointer%7Dbutton%5Bdisabled%5D%2Chtml%20input%5Bdisabled%5D%7Bcursor%3Adefault%7Dbutton%3A%3A%2Dmoz%2Dfocus%2Dinner%2Cinput%3A%3A%2Dmoz%2Dfocus%2Dinner%7Bpadding%3A0%3Bborder%3A0%7Dinput%7Bline%2Dheight%3Anormal%7Dinput%5Btype%3Dcheckbox%5D%2Cinput%5Btype%3Dradio%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%3Bpadding%3A0%7Dinput%5Btype%3Dnumber%5D%3A%3A%2Dwebkit%2Dinner%2Dspin%2Dbutton%2Cinput%5Btype%3Dnumber%5D%3A%3A%2Dwebkit%2Douter%2Dspin%2Dbutton%7Bheight%3Aauto%7Dinput%5Btype%3Dsearch%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Acontent%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Acontent%2Dbox%3Bbox%2Dsizing%3Acontent%2Dbox%3B%2Dwebkit%2Dappearance%3Atextfield%7Dinput%5Btype%3Dsearch%5D%3A%3A%2Dwebkit%2Dsearch%2Dcancel%2Dbutton%2Cinput%5Btype%3Dsearch%5D%3A%3A%2Dwebkit%2Dsearch%2Ddecoration%7B%2Dwebkit%2Dappearance%3Anone%7Dfieldset%7Bpadding%3A%2E35em%20%2E625em%20%2E75em%3Bmargin%3A0%202px%3Bborder%3A1px%20solid%20silver%7Dlegend%7Bpadding%3A0%3Bborder%3A0%7Dtextarea%7Boverflow%3Aauto%7Doptgroup%7Bfont%2Dweight%3A700%7Dtable%7Bborder%2Dspacing%3A0%3Bborder%2Dcollapse%3Acollapse%7Dtd%2Cth%7Bpadding%3A0%7D%40media%20print%7B%2A%2C%3Aafter%2C%3Abefore%7Bcolor%3A%23000%21important%3Btext%2Dshadow%3Anone%21important%3Bbackground%3A0%200%21important%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%21important%3Bbox%2Dshadow%3Anone%21important%7Da%2Ca%3Avisited%7Btext%2Ddecoration%3Aunderline%7Da%5Bhref%5D%3Aafter%7Bcontent%3A%22%20%28%22%20attr%28href%29%20%22%29%22%7Dabbr%5Btitle%5D%3Aafter%7Bcontent%3A%22%20%28%22%20attr%28title%29%20%22%29%22%7Da%5Bhref%5E%3D%22javascript%3A%22%5D%3Aafter%2Ca%5Bhref%5E%3D%22%23%22%5D%3Aafter%7Bcontent%3A%22%22%7Dblockquote%2Cpre%7Bborder%3A1px%20solid%20%23999%3Bpage%2Dbreak%2Dinside%3Aavoid%7Dthead%7Bdisplay%3Atable%2Dheader%2Dgroup%7Dimg%2Ctr%7Bpage%2Dbreak%2Dinside%3Aavoid%7Dimg%7Bmax%2Dwidth%3A100%25%21important%7Dh2%2Ch3%2Cp%7Borphans%3A3%3Bwidows%3A3%7Dh2%2Ch3%7Bpage%2Dbreak%2Dafter%3Aavoid%7D%2Enavbar%7Bdisplay%3Anone%7D%2Ebtn%3E%2Ecaret%2C%2Edropup%3E%2Ebtn%3E%2Ecaret%7Bborder%2Dtop%2Dcolor%3A%23000%21important%7D%2Elabel%7Bborder%3A1px%20solid%20%23000%7D%2Etable%7Bborder%2Dcollapse%3Acollapse%21important%7D%2Etable%20td%2C%2Etable%20th%7Bbackground%2Dcolor%3A%23fff%21important%7D%2Etable%2Dbordered%20td%2C%2Etable%2Dbordered%20th%7Bborder%3A1px%20solid%20%23ddd%21important%7D%7D%40font%2Dface%7Bfont%2Dfamily%3A%27Glyphicons%20Halflings%27%3Bsrc%3Aurl%28data%3Aapplication%2Fvnd%2Ems%2Dfontobject%3Bbase64%2Cn04AAEFNAAACAAIABAAAAAAABQAAAAAAAAABAJABAAAEAExQAAAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAJxJ%2FLAAAAAAAAAAAAAAAAAAAAAAAACgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAAAADgBSAGUAZwB1AGwAYQByAAAAeABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAA5ADsAUABTACAAMAAwADEALgAwADAAOQA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADcAMAA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADUAOAAzADIAOQAAADgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzACAAUgBlAGcAdQBsAGEAcgAAAAAAQlNHUAAAAAAAAAAAAAAAAAAAAAADAKncAE0TAE0ZAEbuFM3pjM%2FSEdmjKHUbyow8ATBE40IvWA3vTu8LiABDQ%2BpexwUMcm1SMnNryctQSiI1K5ZnbOlXKmnVV5YvRe6RnNMFNCOs1KNVpn6yZhCJkRtVRNzEufeIq7HgSrcx4S8h%2Fv4vnrrKc6oCNxmSk2uKlZQHBii6iKFoH0746ThvkO1kJHlxjrkxs%2BLWORaDQBEtiYJIR5IB9Bi1UyL4Rmr0BNigNkMzlKQmnofBHviqVzUxwdMb3NdCn69hy%2BpRYVKGVS%2F1tnsqv4LL7wCCPZZAZPT4aCShHjHJVNuXbmMrY5LeQaGnvAkXlVrJgKRAUdFjrWEah9XebPeQMj7KS7DIBAFt8ycgC5PLGUOHSE3ErGZCiViNLL5ZARfywnCoZaKQCu6NuFX42AEeKtKUGnr%2FCm2Cy8tpFhBPMW5Fxi4Qm4TkDWh4IWFDClhU2hRWosUWqcKLlgyXB%2BlSHaWaHiWlBAR8SeSgSPCQxdVQgzUixWKSTrIQEbU94viDctkvX%2BVSjJuUmV8L4CXShI11esnp0pjWNZIyxKHS4wVQ2ime1P4RnhvGw0aDN1OLAXGERsB7buFpFGGBAre4QEQR0HOIO5oYH305G%2BKspT%2FFupEGGafCCwxSe6ZUa%2B073rXHnNdVXE6eWvibUS27XtRzkH838mYLMBmYysZTM0EM3A1fbpCBYFccN1B%2FEnCYu%2FTgCGmr7bMh8GfYL%2BBfcLvB0gRagC09w9elfldaIy%2FhNCBLRgBgtCC7jAF63wLSMAfbfAlEggYU0bUA7ACCJmTDpEmJtI78w4%2FBO7dN7JR7J7ZvbYaUbaILSQsRBiF3HGk5fEg6p9unwLvn98r%2BvnsV%2B372uf1xBLq4qU%2F45fTuqaAP%2BpssmCCCTF0mhEow8ZXZOS8D7Q85JsxZ%2BAzok7B7O%2Ff6J8AzYBySZQB%2FQHYUSA%2BEeQhEWiS6AIQzgcsDiER4MjgMBAWDV4AgQ3g1eBgIdweCQmCjJEMkJ%2BPKRWyFHHmg1Wi%2F6xzUgA0LREoKJChwnQa9B%2B5RQZRB3IlBlkAnxyQNaANwHMowzlYSMCBgnbpzvqpl0iTJNCQidDI9ZrSYNIRBhHtUa5YHMHxyGEik9hDE0AKj72AbTCaxtHPUaKZdAZSnQTyjGqGLsmBStCejApUhg4uBMU6mATujEl%2BKdDPbI6Ag4vLr%2BhjY6lbjBeoLKnZl0UZgRX8gTySOeynZVz1wOq7e1hFGYIq%2BMhrGxDLak0PrwYzSXtcuyhXEhwOYofiW%2BEcI%2Fjw8P6IY6ed%2BetAbuqKp5QIapT77LnAe505lMuqL79a0ut4rWexzFttsOsLDy7zvtQzcq3U1qabe7tB0wHWVXji%2BzDbo8x8HyIRUbXnwUcklFv51fvTymiV%2BMXLSmGH9d9%2BaXpD5X6lao41anWGig7IwIdnoBY2ht%2FpO9mClLo4NdXHAsefqWUKlXJkbqPOFhMoR4aiA1BXqhRNbB2Xwi%2B7u%2FjpAoOpKJ0UX24EsrzMfHXViakCNcKjBxuQX8BO0ZqjJ3xXzf%2B61t2VXOSgJ8xu65QKgtN6FibPmPYsXbJRHHqbgATcSZxBqGiDiU4NNNsYBsKD0MIP%2FOfKnlk%2FLkaid%2FO2NbKeuQrwOB2Gq3YHyr6ALgzym5wIBnsdC1ZkoBFZSQXChZvlesPqvK2c5oHHT3Q65jYpNxnQcGF0EHbvYqoFw60WNlXIHQF2HQB7zD6lWjZ9rVqUKBXUT6hrkZOle0RFYII0V5ZYGl1JAP0Ud1fZZMvSomBzJ710j4Me8mjQDwEre5Uv2wQfk1ifDwb5ksuJQQ3xt423lbuQjvoIQByQrNDh1JxGFkOdlJvu%2FgFtuW0wR4cgd%2BZKesSV7QkNE2kw6AV4hoIuC02LGmTomyf8PiO6CZzOTLTPQ%2BHW06H%2Btx%2BbQ8LmDYg1pTFrp2oJXgkZTyeRJZM0C8aE2LpFrNVDuhARsN543%2FFV6klQ6Tv1OoZGXLv0igKrl%2FCmJxRmX7JJbJ998VSIPQRyDBICzl4JJlYHbdql30NvYcOuZ7a10uWRrgoieOdgIm4rlq6vNOQBuqESLbXG5lzdJGHw2m0sDYmODXbYGTfSTGRKpssTO95fothJCjUGQgEL4yKoGAF%2F0SrpUDNn8CBgBcSDQByAeNkCXp4S4Ro2Xh4OeaGRgR66PVOsU8bc6TR5%2FxTcn4IVMLOkXSWiXxkZQCbvKfmoAvQaKjO3EDKwkwqHChCDEM5loQRPd5ACBki1TjF772oaQhQbQ5C0lcWXPFOzrfsDGUXGrpxasbG4iab6eByaQkQfm0VFlP0ZsDkvvqCL6QXMUwCjdMx1ZOyKhTJ7a1GWAdOUcJ8RSejxNVyGs31OKMyRyBVoZFjqIkmKlLQ5eHMeEL4MkUf23cQ%2F1SgRCJ1dk4UdBT7OoyuNgLs0oCd8RnrEIb6QdMxT2QjD4zMrJkfgx5aDMcA4orsTtKCqWb%2FVeyceqa5OGSmB28YwH4rFbkQaLoUN8OQQYnD3w2eXpI4ScQfbCUZiJ4yMOIKLyyTc7BQ4uXUw6Ee6%2FxM%2B4Y67ngNBknxIPwuppgIhFcwJyr6EIj%2BLzNj%2FmfR2vhhRlx0BILZoAYruF0caWQ7YxO66UmeguDREAFHYuC7HJviRgVO6ruJH59h%2FC%2FPkgSle8xNzZJULLWq9JMDTE2fjGE146a1Us6PZDGYle6ldWRqn%2FpdpgHKNGrGIdkRK%2BKPETT9nKT6kLyDI8xd9A1FgWmXWRAIHwZ37WyZHOVyCadJEmMVz0MadMjDrPho%2BEIochkVC2xgGiwwsQ6DMv2P7UXqT4x7CdcYGId2BJQQa85EQKmCmwcRejQ9Bm4oATENFPkxPXILHpMPUyWTI5rjNOsIlmEeMbcOCEqInpXACYQ9DDxmFo9vcmsDblcMtg4tqBerNngkIKaFJmrQAPnq1dEzsMXcwjcHdfdCibcAxxA%2Bq%2Fj9m3LM%2FO7WJka4tSidVCjsvo2lQ%2F2ewyoYyXwAYyr2PlRoR5MpgVmSUIrM3PQxXPbgjBOaDQFIyFMJvx3Pc5RSYj12ySVF9fwFPQu2e2KWVoL9q3Ayv3IzpGHUdvdPdrNUdicjsTQ2ISy7QU3DrEytIjvbzJnAkmANXjAFERA0MUoPF3%2F5KFmW14bBNOhwircYgMqoDpUMcDtCmBE82QM2YtdjVLB4kBuKho%2FbcwQdeboqfQartuU3CsCf%2BcXkgYAqp%2F0Ee3RorAZt0AvvOCSI4JICIlGlsV0bsSid%2FNIEALAAzb6HAgyWHBps6xAOwkJIGcB82CxRQq4sJf3FzA70A%2BTRqcqjEMETCoez3mkPcpnoALs0ugJY8kQwrC%2BJE5ik3w9rzrvDRjAQnqgEVvdGrNwlanR0SOKWzxOJOvLJhcd8Cl4AshACUkv9czdMkJCVQSQhp6kp7StAlpVRpK0t0SW6LHeBJnE2QchB5Ccu8kxRghZXGIgZIiSj7gEKMJDClcnX6hgoqJMwiQDigIXg3ioFLCgDgjPtYHYpsF5EiA4kcnN18MZtOrY866dEQAb0FB34OGKHGZQjwW%2FWDHA60cYFaI%2FPjpzquUqdaYGcIq%2BmLez3WLFFCtNBN2QJcrlcoELgiPku5R5dSlJFaCEqEZle1AQzAKC%2B1SotMcBNyQUFuRHRF6OlimSBgjZeTBCwLyc6A%2BP%2FoFRchXTz5ADknYJHxzrJ5pGuIKRQISU6WyKTBBjD8WozmVYWIsto1AS5rxzKlvJu4E%2FvwOiKxRtCWsDM%2BeTHUrmwrCK5BIfMzGkD%2B0Fk5LzBs0jMYXktNDblB06LMNJ09U8pzSLmo14MS0OMjcdrZ31pyQqxJJpRImlSvfYAK8inkYU52QY2FPEVsjoWewpwhRp5yAuNpkqhdb7ku9Seefl2D0B8SMTFD90xi4CSOwwZy9IKkpMtI3FmFUg3%2FkFutpQGNc3pCR7gvC4sgwbupDu3DyEN%2BW6YGLNM21jpB49irxy9BSlHrVDlnihGKHwPrbVFtc%2Bh1rVQKZduxIyojccZIIcOCmhEnC7UkY68WXKQgLi2JCDQkQWJRQuk60hZp0D3rtCTINSeY9Ej2kIKYfGxwOs4j9qMM7fYZiipzgcf7TamnehqdhsiMiCawXnz4xAbyCkLAx5EGbo3Ax1u3dUIKnTxIaxwQTHehPl3V491H0%2BbC5zgpGz7Io%2BmjdhKlPJ01EeMpM7UsRJMi1nGjmJg35i6bQBAAxjO%2FENJubU2mg3ONySEoWklCwdABETcs7ck3jgiuU9pcKKpbgn%2B3YlzV1FzIkB6pmEDOSSyDfPPlQskznctFji0kpgZjW5RZe6x9kYT4KJcXg0bNiCyif%2BpZACCyRMmYsfiKmN9tSO65F0R2OO6ytlEhY5Sj6uRKfFxw0ijJaAx%2Fk3QgnAFSq27%2F2i4GEBA%2BUvTJKK%2F9eISNvG46Em5RZfjTYLdeD8kdXHyrwId%2FDQZUaMCY4gGbke2C8vfjgV%2FY9kkRQOJIn%2FxM9INZSpiBnqX0Q9GlQPpPKAyO5y%2BW5NMPSRdBCUlmuxl40ZfMCnf2Cp044uI9WLFtCi4YVxKjuRCOBWIb4XbIsGdbo4qtMQnNOQz4XDSui7W%2FN6l54qOynCqD3DpWQ%2BmpD7C40D8BZEWGJX3tlAaZBMj1yjvDYKwCJBa201u6nBKE5UE%2B7QSEhCwrXfbRZylAaAkplhBWX50dumrElePyNMRYUrC99UmcSSNgImhFhDI4BXjMtiqkgizUGCrZ8iwFxU6fQ8GEHCFdLewwxYWxgScAYMdMLmcZR6b7rZl95eQVDGVoUKcRMM1ixXQtXNkBETZkVVPg8LoSrdetHzkuM7DjZRHP02tCxA1fmkXKF3VzfN1pc1cv%2F8lbTIkkYpqKM9VOhp65ktYk%2BQ46myFWBapDfyWUCnsnI00QTBQmuFjMZTcd0V2NQ768Fhpby04k2IzNR1wKabuGJqYWwSly6ocMFGTeeI%2BejsWDYgEvr66QgqdcIbFYDNgsm0x9UHY6SCd5%2B7tpsLpKdvhahIDyYmEJQCqMqtCF6UlrE5GXRmbu%2Bvtm3BFSxI6ND6UxIE7GsGMgWqghXxSnaRJuGFveTcK5ZVSPJyjUxe1dKgI6kNF7EZhIZs8y8FVqwEfbM0Xk2ltORVDKZZM40SD3qQoQe0orJEKwPfZwm3YPqwixhUMOndis6MhbmfvLBKjC8sKKIZKbJk8L11oNkCQzCgvjhyyEiQSuJcgCQSG4Mocfgc0Hkwcjal1UNgP0CBPikYqBIk9tONv4kLtBswH07vUCjEaHiFGlLf8MgXKzSgjp2HolRRccAOh0ILHz9qlGgIFkwAnzHJRjWFhlA7ROwINyB5HFj59PRZHFor6voq7l23EPNRwdWhgawqbivLSjRA4htEYUFkjESu67icTg5S0aW1sOkCiIysfJ9UnIWevOOLGpepcBxy1wEhd2WI3AZg7sr9WBmHWyasxMcvY%2FiOmsLtHSWNUWEGk9hScMPShasUA1AcHOtRZlqMeQ0OzYS9vQvYUjOLrzP07BUAFikcJNMi7gIxEw4pL1G54TcmmmoAQ5s7TGWErJZ2Io4yQ0ljRYhL8H5e62oDtLF8aDpnIvZ5R3GWJyAugdiiJW9hQAVTsnCBHhwu7rkBlBX6r3b7ejEY0k5GGeyKv66v%2B6dg7mcJTrWHbtMywbedYqCQ0FPwoytmSWsL8WTtChZCKKzEF7vP6De4x2BJkkniMgSdWhbeBSLtJZR9CTHetK1xb34AYIJ37OegYIoPVbXgJ%2FqDQK%2BbfCtxQRVKQu77WzOoM6SGL7MaZwCGJVk46aImai9fmam%2BWpHG%2B0BtQPWUgZ7RIAlPq6lkECUhZQ2gqWkMYKcYMYaIc4gYCDFHYa2d1nzp3%2BJ1eCBay8IYZ0wQRKGAqvCuZ%2FUgbQPyllosq%2BXtfKIZOzmeJqRazpmmoP%2F76YfkjzV2NlXTDSBYB04SVlNQsFTbGPk1t%2FI4Jktu0XSgifO2ozFOiwd%2F0SssJDn0dn4xqk4GDTTKX73%2FwQyBLdqgJ%2BWx6AQaba3BA9CKEzjtQYIfAsiYamapq80LAamYjinlKXUkxdpIDk0puXUEYzSalfRibAeDAKpNiqQ0FTwoxuGYzRnisyTotdVTclis1LHRQCy%2FqqL8oUaQzWRxilq5Mi0IJGtMY02cGLD69vGjkj3p6pGePKI8bkBv5evq8SjjyU04vJR2cQXQwSJyoinDsUJHCQ50jrFTT7yRdbdYQMB3MYCb6uBzJ9ewhXYPAIZSXfeEQBZZ3GPN3Nbhh%2FwkvAJLXnQMdi5NYYZ5GHE400GS5rXkOZSQsdZgIbzRnF9ueLnsfQ47wHAsirITnTlkCcuWWIUhJSbpM3wWhXNHvt2xUsKKMpdBSbJnBMcihkoDqAd1Zml%2FR4yrzow1Q2A5G%2Bkzo%2FRhRxQS2lCSDRV8LlYLBOOoo1bF4jwJAwKMK1tWLHlu9i0j4Ig8qVm6wE1DxXwAwQwsaBWUg2pOOol2dHxyt6npwJEdLDDVYyRc2D0HbcbLUJQj8gPevQBUBOUHXPrsAPBERICpnYESeu2OHotpXQxRGlCCtLdIsu23MhZVEoJg8Qumj%2FUMMc34IBqTKLDTp76WzL%2FdMjCxK7MjhiGjeYAC%2Fkj%2FjY%2FRde7hpSM1xChrog6yZ7OWTuD56xBJnGFE%2BpT2ElSyCnJcwVzCjkqeNLfMEJqKW0G7OFIp0G%2B9mh50I9o8k1tpCY0xYqFNIALgIfc2me4n1bmJnRZ89oepgLPT0NTMLNZsvSCZAc3TXaNB07vail36%2FdBySis4m9%2FDR8izaLJW6bWCkVgm5T%2Bius3ZXq4xI%2BGnbveLbdRwF2mNtsrE0JjYc1AXknCOrLSu7Te%2Fr4dPYMCl5qtiHNTn%2BTPbh1jCBHH%2BdMJNhwNgs3nT%2BOhQoQ0vYif56BMG6WowAcHR3DjQolxLzyVekHj00PBAaW7IIAF1EF%2BuRIWyXjQMAs2chdpaKPNaB%2BkSezYt0%2BCA04sOg5vx8Fr7Ofa9sUv87h7SLAUFSzbetCCZ9pmyLt6l6%2FTzoA1%2FZBG9bIUVHLAbi%2FkdBFgYGyGwRQGBpkqCEg2ah9UD6EedEcEL3j4y0BQQCiExEnocA3SZboh%2Bepgd3YsOkHskZwPuQ5OoyA0fTA5AXrHcUOQF%2BzkJHIA7PwCDk1gGVmGUZSSoPhNf%2BTklauz98QofOlCIQ%2FtCD4dosHYPqtPCXB3agggQQIqQJsSkB%2Bqn0rkQ1toJjON%2FOtCIB9RYv3PqRA4C4U68ZMlZn6BdgEvi2ziU%2BTQ6NIw3ej%2BAtDwMGEZk7e2IjxUWKdAxyaw9OCwSmeADTPPleyk6UhGDNXQb%2B%2BW6Uk4q6F7%2Frg6WVTo82IoCxSIsFDrav4EPHphD3u4hR53WKVvYZUwNCCeM4PMBWzK%2BEfIthZOkuAwPo5C5jgoZgn6dUdvx5rIDmd58cXXdKNfw3l%2BwM2UjgrDJeQHhbD7HW2QDoZMCujgIUkk5Fg8VCsdyjOtnGRx8wgKRPZN5dR0zPUyfGZFVihbFRniXZFOZGKPnEQzU3AnD1KfR6weHW2XS6KbPJxUkOTZsAB9vTVp3Le1F8q5l%2BDMcLiIq78jxAImD2pGFw0VHfRatScGlK6SMu8leTmhUSMy8Uhdd6xBiH3Gdman4tjQGLboJfqz6fL2WKHTmrfsKZRYX6BTDjDldKMosaSTLdQS7oDisJNqAUhw1PfTlnacCO8vl8706Km1FROgLDmudzxg%2BEWTiArtHgLsRrAXYWdB0NmToNCJdKm0KWycZQqb%2BMw76Qy29iQ5up%2FX7oyw8QZ75kP5F6iJAJz6KCmqxz8fEa%2FxnsMYcIO%2FvEkGRuMckhr4rIeLrKaXnmIzlNLxbFspOphkcnJdnz%2FChp%2FVlpj2P7jJQmQRwGnltkTV5dbF9fE3%2FfxoSqTROgq9wFUlbuYzYcasE0ouzBo%2BdDCDzxKAfhbAZYxQiHrLzV2iVexnDX%2FQnT1fsT%2Fxuhu1ui5qIytgbGmRoQkeQooO8eJNNZsf0iALur8QxZFH0nCMnjerYQqG1pIfjyVZWxhVRznmmfLG00BcBWJE6hzQWRyFknuJnXuk8A5FRDCulwrWASSNoBtR%2BCtGdkPwYN2o7DOw%2FVGlCZPusRBFXODQdUM5zeHDIVuAJBLqbO%2Ff9Qua%2BpDqEPk230Sob9lEZ8BHiCorjVghuI0lI4JDgHGRDD%2FprQ84B1pVGkIpVUAHCG%2Biz3Bn3qm2AVrYcYWhock4jso5%2BJ7HfHVj4WMIQdGctq3psBCVVzupQOEioBGA2Bk%2BUILT7%2BVoX5mdxxA5fS42gISQVi%2FHTzrgMxu0fY6hE1ocUwwbsbWcezrY2n6S8%2F6cxXkOH4prpmPuFoikTzY7T85C4T2XYlbxLglSv2uLCgFv8Quk%2FwdesUdWPeHYIH0R729JIisN9Apdd4eB10aqwXrPt%2BSu9mA8k8n1sjMwnfsfF2j3jMUzXepSHmZ%2FBfqXvzgUNQQWOXO8YEuFBh4QTYCkOAPxywpYu1VxiDyJmKVcmJPGWk%2Fgc3Pov02StyYDahwmzw3E1gYC9wkupyWfDqDSUMpCTH5e5N8B%2F%2FlHiMuIkTNw4USHrJU67bjXGqNav6PBuQSoqTxc8avHoGmvqNtXzIaoyMIQIiiUHIM64cXieouplhNYln7qgc4wBVAYR104kO%2BCvKqsg4yIUlFNThVUAKZxZt1XA34h3TCUUiXVkZ0w8Hh2R0Z5L0b4LZvPd%2Fp1gi%2F07h8qfwHrByuSxglc9cI4QIg2oqvC%2Fqm0i7tjPLTgDhoWTAKDO2ONW5oe%2B%2FeKB9vZB8K6C25yCZ9RFVMnb6NRdRjyVK57CHHSkJBfnM2%2Fj4ODUwRkqrtBBCrDsDpt8jhZdXoy%2F1BCqw3sSGhgGGy0a5Jw6BP%2FTExoCmNFYjZl248A0osgPyGEmRA%2BfAsqPVaNAfytu0vuQJ7rk3J4kTDTR2AlCHJ5cls26opZM4w3jMULh2YXKpcqGBtuleAlOZnaZGbD6DHzMd6i2oFeJ8z9XYmalg1Szd%2FocZDc1C7Y6vcALJz2lYnTXiWEr2wawtoR4g3jvWUU2Ngjd1cewtFzEvM1NiHZPeLlIXFbBPawxNgMwwAlyNSuGF3zizVeOoC9bag1qRAQKQE%2FEZBWC2J8mnXAN2aTBboZ7HewnObE8CwROudZHmUM5oZ%2FUgd%2FJZQK8lvAm43uDRAbyW8gZ%2BZGq0EVerVGUKUSm%2FIdn8AQHdR4m7bue88WBwft9mSCeMOt1ncBwziOmJYI2ZR7ewNMPiCugmSsE4EyQ%2BQATJG6qORMGd4snEzc6B4shPIo4G1T7PgSm8PY5eUkPdF8JZ0VBtadbHXoJgnEhZQaODPj2gpODKJY5Yp4DOsLBFxWbvXN755KWylJm%2BoOd4zEL9Hpubuy2gyyfxh8oEfFutnYWdfB8PdESLWYvSqbElP9qo3u6KTmkhoacDauMNNjj0oy40DFV7Ql0aZj77xfGl7TJNHnIwgqOkenruYYNo6h724%2BzUQ7%2BvkCpZB%2BpGA562hYQiDxHVWOq0oDQl%2FQsoiY%2BcuI7iWq%2FZIBtHcXJ7kks%2Bh2fCNUPA82BzjnqktNts%2BRLdk1VSu%2BtqEn7QZCCsvEqk6FkfiOYkrsw092J8jsfIuEKypNjLxrKA9kiA19mxBD2suxQKCzwXGws7kEJvlhUiV9tArLIdZW0IORcxEzdzKmjtFhsjKy%2F44XYXdI5noQoRcvjZ1RMPACRqYg2V1%2BOwOepcOknRLLFdYgTkT5UApt%2FJhLM3jeFYprZV%2BZow2g8fP%2BU68hkKFWJj2yBbKqsrp25xkZX1DAjUw52IMYWaOhab8Kp05VrdNftqwRrymWF4OQSjbdfzmRZirK8FMJELEgER2PHjEAN9pGfLhCUiTJFbd5LBkOBMaxLr%2FA1SY9dXFz4RjzoU9ExfJCmx%2FI9FKEGT3n2cmzl2X42L3Jh%2BAbQq6sA%2BSs1kitoa4TAYgKHaoybHUDJ51oETdeI%2F9ThSmjWGkyLi5QAGWhL0BG1UsTyRGRJOldKBrYJeB8ljLJHfATWTEQBXBDnQexOHTB%2BUn44zExFE4vLytcu5NwpWrUxO%2F0ZICUGM7hGABXym0V6ZvDST0E370St9MIWQOTWngeoQHUTdCJUP04spMBMS8LSker9cReVQkULFDIZDFPrhTzBl6sed9wcZQTbL%2BBDqMyaN3RJPh%2Fanbx%2BIv%2BqgQdAa3M9Z5JmvYlh4qop%2BHo1F1W5gbOE9YKLgAnWytXElU4G8GtW47lhgFE6gaSs%2Bgs37sFvi0PPVvA5dnCBgILTwoKd%2F%2BDoL9F6inlM7H4rOTzD79KJgKlZO%2FZgt22UsKhrAaXU5ZcLrAglTVKJEmNJvORGN1vqrcfSMizfpsgbIe9zno%2BgBoKVXgIL%2FVI8dB1O5o%2FR3Suez%2FgD7M781ShjKpIIORM%2FnxG%2BjjhhgPwsn2IoXsPGPqYHXA63zJ07M2GPEykQwJBYLK808qYxuIew4frk52nhCsnCYmXiR6CuapvE1IwRB4%2FQftDbEn%2BAucIr1oxrLabRj9q4ae0%2BfXkHnteAJwXRbVkR0mctVSwEbqhJiMSZUp9DNbEDMmjX22m3ABpkrPQQTP3S1sib5pD2VRKRd%2BeNAjLYyT0hGrdjWJZy24OYXRoWQAIhGBZRxuBFMjjZQhpgrWo8SiFYbojcHO8V5DyscJpLTHyx9Fimassyo5U6WNtquUMYgccaHY5amgR3PQzq3ToNM5ABnoB9kuxsebqmYZm0R9qxJbFXCQ1UPyFIbxoUraTJFDpCk0Wk9GaYJKz%2F6oHwEP0Q14lMtlddQsOAU9zlYdMVHiT7RQP3XCmWYDcHCGbVRHGnHuwzScA0BaSBOGkz3lM8CArjrBsyEoV6Ys4qgDK3ykQQPZ3hCRGNXQTNNXbEb6tDiTDLKOyMzRhCFT%2BmAUmiYbV3YQVqFVp9dorv%2BTsLeCykS2b5yyu8AV7IS9cxcL8z4Kfwp%2BxJyYLv1OsxQCZwTB4a8BZ%2F5EdxTBJthApqyfd9u3ifr%2FWILTqq5VqgwMT9SOxbSGWLQJUUWCVi4k9tho9nEsbUh7U6NUsLmkYFXOhZ0kmamaJLRNJzSj%2Fqn4Mso6zb6iLLBXoaZ6AqeWCjHQm2lztnejYYM2eubnpBdKVLORZhudH3JF1waBJKA9%2BW8EhMj3Kzf0L4vi4k6RoHh3Z5YgmSZmk6ns4fjScjAoL8GoOECgqgYEBYUGFVO4FUv4%2FYtowhEmTs0vrvlD%2FCrisnoBNDAcUi%2FteY7OctFlmARQzjOItrrlKuPO6E2Ox93L4O%2F4DcgV%2FdZ7qR3VBwVQxP1GCieA4RIpweYJ5FoYrHxqRBdJjnqbsikA2Ictbb8vE1GYIo9dacK0REgDX4smy6GAkxlH1yCGGsk%2BtgiDhNKuKu3yNrMdxafmKTF632F8Vx4BNK57GvlFisrkjN9WDAtjsWA0ENT2e2nETUb%2Fn7qwhvGnrHuf5bX6Vh%2Fn3xffU3PeHdR%2BFA92i6ufT3AlyAREoNDh6chiMWTvjKjHDeRhOa9YkOQRq1vQXEMppAQVwHCuIcV2g5rBn6GmZZpTR7vnSD6ZmhdSl176gqKTXu5E%2BYbfL0adwNtHP7dT7t7b46DVZIkzaRJOM%2BS6KcrzYVg%2BT3wSRFRQashjfU18NutrKa%2F7PXbtuJvpIjbgPeqd%2BpjmRw6YKpnANFSQcpzTZgpSNJ6J7uiagAbir%2F8tNXJ%2FOsOnRh6iuIexxrmkIneAgz8QoLmiaJ8sLQrELVK2yn3wOHp57BAZJhDZjTBzyoRAuuZ4eoxHruY1pSb7qq79cIeAdOwin4GdgMeIMHeG%2BFZWYaiUQQyC5b50zKjYw97dFjAeY2I4Bnl105Iku1y0lMA1ZHolLx19uZnRdILcXKlZGQx%2FGdEqSsMRU1BIrFqRcV1qQOOHyxOLXEGcbRtAEsuAC2V4K3p5mFJ22IDWaEkk9ttf5Izb2LkD1MnrSwztXmmD%2FQi%2FEmVEFBfiKGmftsPwVaIoZanlKndMZsIBOskFYpDOq3QUs9aSbAAtL5Dbokus2G4%2FasthNMK5UQKCOhU97oaOYNGsTah%2BjfCKsZnTRn5TbhFX8ghg8CBYt%2FBjeYYYUrtUZ5jVij%2Fop7V5SsbA4mYTOwZ46hqdpbB6Qvq3AS2HHNkC15pTDIcDNGsMPXaBidXYPHc6PJAkRh29Vx8KcgX46LoUQBhRM%2B3SW6Opll%2FwgxxsPgKJKzr5QCmwkUxNbeg6Wj34SUnEzOemSuvS2OetRCO8Tyy%2BQbSKVJcqkia%2BGvDefFwMOmgnD7h81TUtMn%2BmRpyJJ349HhAnoWFTejhpYTL9G8N2nVg1qkXBeoS9Nw2fB27t7trm7d%2FQK7Cr4uoCeOQ7%2F8JfKT77KiDzLImESHw%2F0wf73QeHu74hxv7uihi4fTX%2BXEwAyQG3264dwv17aJ5N335Vt9sdrAXhPOAv8JFvzqyYXwfx8WYJaef1gMl98JRFyl5Mv5Uo%2FoVH5ww5OzLFsiTPDns7fS6EURSSWd%2F92BxMYQ8sBaH%2Bj%2BwthQPdVgDGpTfi%2BJQIWMD8xKqULliRH01rTeyF8x8q%2FGBEEEBrAJMPf25UQwi0b8tmqRXY7kIvNkzrkvRWLnxoGYEJsz8u4oOyMp8cHyaybb1HdMCaLApUE%2B%2F7xLIZGP6H9xuSEXp1zLIdjk5nBaMuV%2FyTDRRP8Y2ww5RO6d2D94o%2B6ucWIqUAvgHIHXhZsmDhjVLczmZ3ca0Cb3PpKwt2UtHVQ0BgFJsqqTsnzZPlKahRUkEu4qmkJt%2Bkqdae76ViWe3STan69yaF9%2BfESD2lcQshLHWVu4ovItXxO69bqC5p1nZLvI8NdQB9s9UNaJGlQ5mG947ipdDA0eTIw%2FA1zEdjWquIsQXXGIVEH0thC5M%2BW9pZe7IhAVnPJkYCCXN5a32HjN6nsvokEqRS44tGIs7s2LVTvcrHAF%2BRVmI8L4HUYk4x%2B67AxSMJKqCg8zrGOgvK9kNMdDrNiUtSWuHFpC8%2Fp5qIQrEo%2FH%2B1l%2F0cAwQ2nKmpWxKcMIuHY44Y6DlkpO48tRuUGBWT0FyHwSKO72Ud%2BtJUfdaZ4CWNijzZtlRa8%2BCkmO%2FEwHYfPZFU%2FhzjFWH7vnzHRMo%2BaF9u8qHSAiEkA2HjoNQPEwHsDKOt6hOoK3Ce%2F%2B%2F9boMWDa44I6FrQhdgS7OnNaSzwxWKZMcyHi6LN4WC6sSj0qm2PSOGBTvDs%2FGWJS6SwEN%2FULwpb4LQo9fYjUfSXRwZkynUazlSpvX9e%2BG2zor8l%2BYaMxSEomDdLHGcD6YVQPegTaA74H8%2BV4WvJkFUrjMLGLlvSZQWvi8%2FQA7yzQ8GPno%2F%2F5SJHRP%2FOqKObPCo81s%2F%2B6WgLqykYpGAgQZhVDEBPXWgU%2FWzFZjKUhSFInufPRiMAUULC6T11yL45ZrRoB4DzOyJShKXaAJIBS9wzLYIoCEcJKQW8GVCx4fihqJ6mshBUXSw3wWVj3grrHQlGNGhIDNNzsxQ3M%2BGWn6ASobIWC%2BLbYOC6UpahVO13Zs2zOzZC8z7FmA05JhUGyBsF4tsG0drcggIFzgg%2Fkpf3%2BCnAXKiMgIE8Jk%2FMhpkc8DUJEUzDSnWlQFme3d0sHZDrg7LavtsEX3cHwjCYA17pMTfx8Ajw9hHscN67hyo%2BRJQ4458RmPywXykkVcW688oVUrQhahpPRvTWPnuI0B%2BSkQu7dCyvLRyFYlC1LG1gRCIvn3rwQeINzZQC2KXq31FaR9UmVV2QeGVqBHjmE%2BVMd3b1fhCynD0pQNhCG6%2FWCDbKPyE7NRQzL3BzQAJ0g09aUzcQA6mUp9iZFK6Sbp%2FYbHjo%2B%2B7%2FWj8S4YNa%2BZdqAw1hDrKWFXv9%2BzaXpf8ZTDSbiqsxnwN%2FCzK5tPkOr4tRh2kY3Bn9JtalbIOI4b3F7F1vPQMfoDcdxMS8CW9m%2FNCW%2FHILTUVWQIPiD0j1A6bo8vsv6P1hCESl2abrSJWDrq5sSzUpwoxaCU9FtJyYH4QFMxDBpkkBR6kn0LMPO%2B5EJ7Z6bCiRoPedRZ%2FP0SSdii7ZnPAtVwwHUidcdyspwncz5uq6vvm4IEDbJVLUFCn%2FLvIHfooUBTkFO130FC7CmmcrKdgDJcid9mvVzsDSibOoXtIf9k6ABle3PmIxejodc4aob0QKS432srrCMndbfD454q52V01G4q913mC5HOsTzWF4h2No1av1VbcUgWAqyoZl%2B11PoFYnNv2HwAODeNRkHj%2B8SF1fcvVBu6MrehHAZK1Gm69ICcTKizykHgGFx7QdowTVAsYEF2tVc0Z6wLryz2FI1sc5By2znJAAmINndoJiB4sfPdPrTC8RnkW7KRCwxC6YvXg5ahMlQuMpoCSXjOlBy0Kij%2BbsCYPbGp8BdCBiLmLSAkEQRaieWo1SYvZIKJGj9Ur%2FeWHjiB7SOVdqMAVmpBvfRiebsFjger7DC%2B8kRFGtNrTrnnGD2GAJb8rQCWkUPYHhwXsjNBSkE6lGWUj5QNhK0DMNM2l%2BkXRZ0KLZaGsFSIdQz%2FHXDxf3%2FTE30%2BDgBKWGWdxElyLccJfEpjsnszECNoDGZpdwdRgCixeg9L4EPhH%2BRptvRMVRaahu4cySjS3P5wxAUCPkmn%2BrhyASpmiTaiDeggaIxYBmtLZDDhiWIJaBgzfCsAGUF1Q1SFZYyXDt9skCaxJsxK2Ms65dmdp5WAZyxik%2FzbrTQk5KmgxCg%2Ff45L0jywebOWUYFJQAJia7XzCV0x89rpp%2Ff3AVWhSPyTanqmik2SkD8A3Ml4NhIGLAjBXtPShwKYfi2eXtrDuKLk4QlSyTw1ftXgwqA2jUuopDl%2B5tfUWZNwBpEPXghzbBggYCw%2Fdhy0ntds2yeHCDKkF%2FYxQjNIL%2FF%2F37jLPHCKBO9ibwYCmuxImIo0ijV2Wbg3kSN2psoe8IsABv3RNFaF9uMyCtCYtqcD%2BqNOhwMlfARQUdJ2tUX%2BMNJqOwIciWalZsmEjt07tfa8ma4cji9sqz%2BQ9hWfmMoKEbIHPOQORbhQRHIsrTYlnVTNvcq1imqmmPDdVDkJgRcTgB8Sb6epCQVmFZe%2BjGDiNJQLWnfx%2BdrTKYjm0G8yH0ZAGMWzEJhUEQ4Maimgf%2Fbkvo8PLVBsZl152y5S8%2BHRDfZIMCbYZ1WDp4yrdchOJw8k6R%2B%2F2pHmydK4NIK2PHdFPHtoLmHxRDwLFb7eB%2BM4zNZcB9NrAgjVyzLM7xyYSY13ykWfIEEd2n5%2FiYp3ZdrCf7fL%2Ben%2BsIJu2W7E30MrAgZBD1rAAbZHPgeAMtKCg3NpSpYQUDWJu9bT3V7tOKv%2BNRiJc8JAKqqgCA%2FPNRBR7ChpiEulyQApMK1AyqcWnpSOmYh6yLiWkGJ2mklCSPIqN7UypWj3dGi5MvsHQ87MrB4VFgypJaFriaHivwcHIpmyi5LhNqtem4q0n8awM19Qk8BOS0EsqGscuuydYsIGsbT5GHnERUiMpKJl4ON7qjB4fEqlGN%2FhCky89232UQCiaeWpDYCJINXjT6xl4Gc7DxRCtgV0i1ma4RgWLsNtnEBRQFqZggCLiuyEydmFd7WlogpkCw5G1x4ft2psm3KAREwVwr1Gzl6RT7FDAqpVal34ewVm3VH4qn5mjGj%2BbYL1NgfLNeXDwtmYSpwzbruDKpTjOdgiIHDVQSb5%2FzBgSMbHLkxWWgghIh9QTFSDILixVwg0Eg1puooBiHAt7DzwJ7m8i8%2Fi%2BjHvKf0QDnnHVkVTIqMvIQImOrzCJwhSR7qYB5gSwL6aWL9hERHCZc4G2%2BJrpgHNB8eCCmcIWIQ6rSdyPCyftXkDlErUkHafHRlkOIjxGbAktz75bnh50dU7YHk%2BMz7wwstg6RFZb%2BTZuSOx1qqP5C66c0mptQmzIC2dlpte7vZrauAMm%2F7RfBYkGtXWGiaWTtwvAQiq2oD4YixPLXE2khB2FRaNRDTk%2B9sZ6K74Ia9VntCpN4BhJGJMT4Z5c5FhSepRCRWmBXqx%2BwhVZC4me4saDs2iNqXMuCl6iAZflH8fscC1sTsy4PHeC%2BXYuqMBMUun5YezKbRKmEPwuK%2BCLzijPEQgfhahQswBBLfg%2FGBgBiI4QwAqzJkkyYAWtjzSg2ILgMAgqxYfwERRo3zruBL9WOryUArSD8sQOcD7fvIODJxKFS615KFPsb68USBEPPj1orNzFY2xoTtNBVTyzBhPbhFH0PI5AtlJBl2aSgNPYzxYLw7XTDBDinmVoENwiGzmngrMo8OmnRP0Z0i0Zrln9DDFcnmOoBZjABaQIbPOJYZGqX%2BRCMlDDbElcjaROLDoualmUIQ88Kekk3iM4OQrADcxi3rJguS4MOIBIgKgXrjd1WkbCdqxJk%2F4efRIFsavZA7KvvJQqp3Iid5Z0NFc5aiMRzGN3vrpBzaMy4JYde3wr96PjN90AYOIbyp6T4zj8LoE66OGcX1Ef4Z3KoWLAUF4BTg7ug%2FAbkG5UNQXAMkQezujSHeir2uTThgd3gpyzDrbnEdDRH2W7U6PeRvBX1ZFMP5RM%2BZu6UUZZD8hDPHldVWntTCNk7To8IeOW9yn2wx0gmurwqC60AOde4r3ETi5pVMSDK8wxhoGAoEX9NLWHIR33VbrbMveii2jAJlrxwytTHbWNu8Y4N8vCCyZjAX%2FpcsfwXbLze2%2BD%2Bu33OGBoJyAAL3jn3RuEcdp5If8O%2Ba4NKWvxOTyDltG0IWoHhwVGe7dKkCWFT%2B%2Btm%2BhaBCikRUUMrMhYKZJKYoVuv%2FbsJzO8DwfVIInQq3g3BYypiz8baogH3r3GwqCwFtZnz4xMjAVOYnyOi5HWbFA8n0qz1OjSpHWFzpQOpvkNETZBGpxN8ybhtqV%2FDMUxd9uFZmBfKXMCn%2FSqkWJyKPnT6lq%2B4zBZni6fYRByJn6OK%2BOgPBGRAJluwGSk4wxjOOzyce%2FPKODwRlsgrVkdcsEiYrqYdXo0Er2GXi2GQZd0tNJT6c9pK1EEJG1zgDJBoTVuCXGAU8BKTvCO%2FcEQ1Wjk3Zzuy90JX4m3O5IlxVFhYkSUwuQB2up7jhvkm%2BbddRQu5F9s0XftGEJ9JSuSk%2BZachCbdU45fEqbugzTIUokwoAKvpUQF%2FCvLbWW5BNQFqFkJg2f30E%2F48StNe5QwBg8zz3YAJ82FZoXBxXSv4QDooDo79NixyglO9AembuBcx5Re3CwOKTHebOPhkmFC7wNaWtoBhFuV4AkEuJ0J%2B1pT0tLkvFVZaNzfhs%2FKd3%2BA9YsImlO4XK4vpCo%2FelHQi%2F9gkFg07xxnuXLt21unCIpDV%2BbbRxb7FC6nWYTsMFF8%2B1LUg4JFjVt3vqbuhHmDKbgQ4e%2BRGizRiO8ky05LQGMdL2IKLSNar0kNG7lHJMaXr5mLdG3nykgj6vB%2FKVijd1ARWkFEf3yiUw1v%2FWaQivVUpIDdSNrrKbjO5NPnxz6qTTGgYg03HgPhDrCFyYZTi3XQw3HXCva39mpLNFtz8AiEhxAJHpWX13gCTAwgm9YTvMeiqetdNQv6IU0hH0G%2BZManTqDLPjyrOse7WiiwOJCG%2BJ0pZYULhN8NILulmYYvmVcV2MjAfA39sGKqGdjpiPo86fecg65UPyXDIAOyOkCx5NQsLeD4gGVjTVDwOHWkbbBW0GeNjDkcSOn2Nq4cEssP54t9D749A7M1AIOBl0Fi0sSO5v3P7LCBrM6ZwFY6kp2FX6AcbGUdybnfChHPyu6WlRZ2Fwv9YM0RMI7kISRgR8HpQSJJOyTfXj%2F6gQKuihPtiUtlCQVPohUgzfezTg8o1b3n9pNZeco1QucaoXe40Fa5JYhqdTspFmxGtW9h5ezLFZs3j%2FN46f%2BS2rjYNC2JySXrnSAFhvAkz9a5L3pza8eYKHNoPrvBRESpxYPJdKVUxBE39nJ1chrAFpy4MMkf0qKgYALctGg1DQI1kIymyeS2AJNT4X240d3IFQb%2F0jQbaHJ2YRK8A%2Bls6WMhWmpCXYG5jqapGs5%2FeOJErxi2%2F2KWVHiPellTgh%2FfNl%2F2KYPKb7DUcAg%2BmCOPQFCiU9Mq%2FWLcU1xxC8aLePFZZlE%2BPCLzf7ey46INWRw2kcXySR9FDgByXzfxiNKwDFbUSMMhALPFSedyjEVM5442GZ4hTrsAEvZxIieSHGSgkwFh%2FnFNdrrFD4tBH4Il7fW6ur4J8Xaz7RW9jgtuPEXQsYk7gcMs2neu3zJwTyUerHKSh1iTBkj2YJh1SSOZL5pLuQbFFAvyO4k1Hxg2h99MTC6cTUkbONQIAnEfGsGkNFWRbuRyyaEZInM5pij73EA9rPIUfU4XoqQpHT9THZkW%2BoKFLvpyvTBMM69tN1Ydwv1LIEhHsC%2BueVG%2Bw%2BkyCPsvV3erRikcscHjZCkccx6VrBkBRusTDDd8847GA7p2Ucy0y0HdSRN6YIBciYa4vuXcAZbQAuSEmzw%2BH%2FAuOx%2BaH%2BtBL88H57D0MsqyiZxhOEQkF%2F8DR1d2hSPMj%2FsNOa5rxcUnBgH8ictv2J%2Bcb4BA4v3MCShdZ2vtK30vAwkobnEWh7rsSyhmos3WC93Gn9C4nnAd%2FPjMMtQfyDNZsOPd6XcAsnBE%2FmRHtHEyJMzJfZFLE9OvQa0i9kUmToJ0ZxknTgdl%2FXPV8xoh0K7wNHHsnBdvFH3sv52lU7UFteseLG%2FVanIvcwycVA7%2BBE1Ulyb20BvwUWZcMTKhaCcmY3ROpvonVMV4N7yBXTL7IDtHzQ4CCcqF66LjF3xUqgErKzolLyCG6Kb7irP%2FMVTCCwGRxfrPGpMMGvPLgJ881PHMNMIO09T5ig7AzZTX%2F5PLlwnJLDAPfuHynSGhV4tPqR3gJ4kg4c06c%2FF1AcjGytKm2Yb5jwMotF7vro4YDLWlnMIpmPg36NgAZsGA0W1spfLSue4xxat0Gdwd0lqDBOgIaMANykwwDKejt5YaNtJYIkrSgu0KjIg0pznY0SCd1qlC6R19g97UrWDoYJGlrvCE05J%2F5wkjpkre727p5PTRX5FGrSBIfJqhJE%2FIS876PaHFkx9pGTH3oaY3jJRvLX9Iy3Edoar7cFvJqyUlOhAEiOSAyYgVEGkzHdug%2BoRHIEOXAExMiTSKU9A6nmRC8mp8iYhwWdP2U%2F5EkFAdPrZw03YA3gSyNUtMZeh7dDCu8pF5x0VORCTgKp07ehy7NZqKTpIC4UJJ89lnboyAfy5OyXzXtuDRbtAFjZRSyGFTpFrXwkpjSLIQIG3N0Vj4BtzK3wdlkBJrO18MNsgseR4BysJilI0wI6ZahLhBFA0XBmV8d4LUzEcNVb0xbLjLTETYN8OEVqNxkt10W614dd1FlFFVTIgB7%2FBQQp1sWlNolpIu4ekxUTBV7NmxOFKEBmmN%2BnA7pvF78%2FRII5ZHA09OAiE%2F66MF6HQ%2BqVEJCHxwymukkNvzqHEh52dULPbVasfQMgTDyBZzx4007YiKdBuUauQOt27Gmy8ISclPmEUCIcuLbkb1mzQSqIa3iE0PJh7UMYQbkpe%2BhXjTJKdldyt2mVPwywoODGJtBV1lJTgMsuSQBlDMwhEKIfrvsxGQjHPCEfNfMAY2oxvyKcKPUbQySkKG6tj9AQyEW3Q5rpaDJ5Sns9ScLKeizPRbvWYAw4bXkrZdmB7CQopCH8NAmqbuciZChHN8lVGaDbCnmddnqO1PQ4ieMYfcSiBE5zzMz%2BJV%2F4eyzrzTEShvqSGzgWimkNxLvUj86iAwcZuIkqdB0VaIB7wncLRmzHkiUQpPBIXbDDLHBlq7vp9xwuC9AiNkIptAYlG7Biyuk8ILdynuUM1cHWJgeB%2BK3wBP%2FineogxkvBNNQ4AkW0hvpBOQGFfeptF2YTR75MexYDUy7Q%2F9uocGsx41O4IZhViw%2F2FvAEuGO5g2kyXBUijAggWM08bRhXg5ijgMwDJy40QeY%2FcQpUDZiIzmvskQpO5G1zyGZA8WByjIQU4jRoFJt56behxtHUUE%2Fom7Rj2psYXGmq3llVOCgGYKNMo4pzwntITtapDqjvQtqpjaJwjHmDzSVGLxMt12gEXAdLi%2FcaHSM3FPRGRf7dB7YC%2BcD2ho6oL2zGDCkjlf%2FDFoQVl8GS%2F56wur3rdV6ggtzZW60MRB3g%2BU1W8o8cvqIpMkctiGVMzXUFI7FacFLrgtdz4mTEr4aRAaQ2AFQaNeG7GX0yOJgMRYFziXdJf24kg%2FgBQIZMG%2FYcPEllRTVNoDYR6oSJ8wQNLuihfw81UpiKPm714bZX1KYjcXJdfclCUOOpvTxr9AAJevTY4HK%2FG7F3mUc3GOAKqh60zM0v34v%2BELyhJZqhkaMA8UMMOU90f8RKEJFj7EqepBVwsRiLbwMo1J2zrE2UYJnsgIAscDmjPjnzI8a719Wxp757wqmSJBjXowhc46QN4RwKIxqEE6E5218OeK7RfcpGjWG1jD7qND%2B%2FGTk6M56Ig4yMsU6LUW1EWE%2BfIYycVV1thldSlbP6ltdC01y3KUfkobkt2q01YYMmxpKRvh1Z48uNKzP%2FIoRIZ%2FF6buOymSnW8gICitpJjKWBscSb9JJKaWkvEkqinAJ2kowKoqkqZftRqfRQlLtKoqvTRDi2vg%2FRrPD%2Fd3a09J8JhGZlEkOM6znTsoMCsuvTmywxTCDhw5dd0GJOHCMPbsj3QLkTE3MInsZsimDQ3HkvthT7U9VA4s6G07sID0FW4SHJmRGwCl%2BMu4xf0ezqeXD2PtPDnwMPo86sbwDV%2B9PWcgFcARUVYm3hrFQrHcgMElFGbSM2A1zUYA3baWfheJp2AINmTJLuoyYD%2FOwA4a6V0ChBN97E8YtDBerUECv0u0TlxR5yhJCXvJxgyM73Bb6pyq0jTFJDZ4p1Am1SA6sh8nADd1hAcGBMfq4d%2FUfwnmBqe0Jun1n1LzrgKuZMAnxA3NtCN7Klf4BH%2B14B7ibBmgt0TGUafVzI4uKlpF7v8NmgNjg90D6QE3tbx8AjSAC%2BOA1YJvclyPKgT27QpIEgVYpbPYGBsnyCNrGz9XUsCHkW1QAHgL2STZk12QGqmvAB0NFteERkvBIH7INDsNW9KKaAYyDMdBEMzJiWaJHZALqDxQDWRntumSDPcplyFiI1oDpT8wbwe01AHhW6%2BvAUUBoGhY3CT2tgwehdPqU%2F4Q7ZLYvhRl%2FogOvR9O2%2BwkkPKW5vCTjD2fHRYXONCoIl4Jh1bZY0ZE1O94mMGn%2FdFSWBWzQ%2FVYk%2BGezi46RgiDv3EshoTmMSlioUK6MQEN8qeyK6FRninyX8ZPeUWjjbMJChn0n%2FyJvrq5bh5UcCAcBYSafTFg7p0jDgrXo2QWLb3WpSOET%2FHh4oSadBTvyDo10IufLzxiMLAnbZ1vcUmj3w7BQuIXjEZXifwukVxrGa9j%2BDXfpi12m1RbzYLg9J2wFergEwOxFyD0%2FJstNK06ZN2XdZSGWxcJODpQHOq4iKqjqkJUmPu1VczL5xTGUfCgLEYyNBCCbMBFT%2FcUP6pE%2FmujnHsSDeWxMbhrNilS5MyYR0nJyzanWXBeVcEQrRIhQeJA6Xt4f2eQESNeLwmC10WJVHqwx8SSyrtAAjpGjidcj1E2FYN0LObUcFQhafUKTiGmHWRHGsFCB%2BHEXgrzJEB5bp0QiF8ZHh11nFX8AboTD0PS4O1LqF8XBks2MpjsQnwKHF6HgaKCVLJtcr0XjqFMRGfKv8tmmykhLRzu%2BvqQ02%2BKpJBjaLt9ye1Ab%2BBbEBhy4EVdIJDrL2naV0o4wU8YZ2Lq04FG1mWCKC%2BUwkXOoAjneU%2FxHplMQo2cXUlrVNqJYczgYlaOEczVCs%2FOCgkyvLmTmdaBJc1iBLuKwmr6qtRnhowngsDxhzKFAi02tf8bmET8BO27ovJKF1plJwm3b0JpMh38%2BxsrXXg7U74QUM8ZCIMOpXujHntKdaRtsgyEZl5MClMVMMMZkZLNxH9%2Bb8fH6%2Bb8Lev30A9TuEVj9CqAdmwAAHBPbfOBFEATAPZ2CS0OH1Pj%2F0Q7PFUcC8hDrxESWdfgFRm%2B7vvWbkEppHB4T%2F1ApWnlTIqQwjcPl0VgS1yHSmD0OdsCVST8CQVwuiew1Y%2Bg3QGFjNMzwRB2DSsAk26cmA8lp2wIU4p93AUBiUHFGOxOajAqD7Gm6NezNDjYzwLOaSXRBYcWipTSONHjUDXCY4mMI8XoVCR%2FRrs%2FJLKXgEx%2BqkmeDlFOD1%2FyTQNDClRuiUyKYCllfMiQiyFkmuTz2vLsBNyRW%2Bxz%2B5FElFxWB28VjYIGZ0Yd%2B5wIjkcoMaggxswbT0pCmckRAErbRlIlcOGdBo4djTNO8FAgQ%2BlT6vPS60BwTRSUAM3ddkEAZiwtEyArrkiDRnS7LJ%2B2hwbzd2YDQagSgACpsovmjil5wfPuXq3GuH0CyE7FK3M4FgRaFoIkaodORrPx1%2BJpI9psyNYIFuJogZa0%2F1AhOWdlHQxdAgbwacsHqPZo8u%2FngAH2GmaTdhYnBfSDbBfh8CHq6Bx5bttP2%2BRdM%2BMAaYaZ0Y%2FADkbNCZuAyAVQa2OcXOeICmDn9Q%2FeFkDeFQg5MgHEDXq%2FtVjj%2Bjtd26nhaaolWxs1ixSUgOBwrDhRIGOLyOVk2%2FBc0UxvseQCO2pQ2i%2BKrfhu%2FWeBovNb5dJxQtJRUDv2mCwYVpNl2efQM9xQHnK0JwLYt%2FU0Wf%2BphiA4uw8G91slC832pmOTCAoZXohg1fewCZqLBhkOUBofBWpMPsqg7XEXgPfAlDo2U5WXjtFdS87PIqClCK5nW6adCeXPkUiTGx0emOIDQqw1yFYGHEVx20xKjJVYe0O8iLmnQr3FA9nSIQilUKtJ4ZAdcTm7%2BExseJauyqo30hs%2B1qSW211A1SFAOUgDlCGq7eTIcMAeyZkV1SQJ4j%2Fe1Smbq4HcjqgFbLAGLyKxlMDMgZavK5NAYH19Olz3la%2FQCTiVelFnU6O%2FGCvykqS%2FwZJDhKN9gBtSOp%2F1SP5VRgJcoVj%2Bkmf2wBgv4gjrgARBWiURYx8xENV3bEVUAAWWD3dYDKAIWk5opaCFCMR5ZjJExiCAw7gYiSZ2rkyTce4eNMY3lfGn%2B8p6%2BvBckGlKEXnA6Eota69OxDO9oOsJoy28BXOR0UoXNRaJD5ceKdlWMJlOFzDdZNpc05tkMGQtqeNF2lttZqNco1VtwXgRstLSQ6tSPChgqtGV5h2DcDReIQadaNRR6AsAYKL5gSFsCJMgfsaZ7DpKh8mg8Wz8V7H%2BgDnLuMxaWEIUPevIbClgap4dqmVWSrPgVYCzAoZHIa5z2Ocx1D%2FGvDOEqMOKLrMefWIbSWHZ6jbgA8qVBhYNHpx0P%2BjAgN5TB3haSifDcApp6yymEi6Ij%2FGsEpDYUgcHATJUYDUAmC1SCkJ4cuZXSAP2DEpQsGUjQmKJfJOvlC2x%2FpChkOyLW7KEoMYc5FDC4v2FGqSoRWiLsbPCiyg1U5yiHZVm1XLkHMMZL11%2Fyxyw0UnGig3MFdZklN5FI%2FqiT65T%2BjOXOdO7XbgWurOAZR6Cv9uu1cm5LjkXX4xi6mWn5r5NjBS0gTliHhMZI2WNqSiSphEtiCAwnafS11JhseDGHYQ5%2BbqWiAYiAv6Jsf79%2FVUs4cIl%2Bn6%2BWOjcgB%2F2l5TreoAV2717JzZbQIR0W1cl%2FdEqCy5kJ3ZSIHuU0vBoHooEpiHeQWVkkkOqRX27eD1FWw4BfO9CJDdKoSogQi3hAAwsPRFrN5RbX7bqLdBJ9JYMohWrgJKHSjVl1sy2xAG0E3sNyO0oCbSGOxCNBRRXTXenYKuwAoDLfnDcQaCwehUOIDiHAu5m5hMpKeKM4sIo3vxACakIxKoH2YWF2QM84e6F5C5hJU4g8uxuFOlAYnqtwxmHyNEawLW%2FPhoawJDrGAP0JYWHgAVUByo%2FbGdiv2T2EMg8gsS14%2FrAdzlOYazFE7w4OzxeKiWdm3nSOnQRRKXSlVo8HEAbBfyJMKqoq%2BSCcTSx5NDtbFwNlh8VhjGGDu7JG5%2FTAGAvniQSSUog0pNzTim8Owc6QTuSKSTXlQqwV3eiEnklS3LeSXYPXGK2VgeZBqNcHG6tZHvA3vTINhV0ELuQdp3t1y9%2BogD8Kk%2FW7QoRN1UWPqM4%2BxdygkFDPLoTaumKReKiLWoPHOfY54m3qPx4c%2B4pgY3MRKKbljG8w4wvz8pxk3AqKsy4GMAkAtmRjRMsCxbb4Q2Ds0Ia9ci8cMT6DmsJG00XaHCIS%2Bo3F8YVVeikw13w%2BOEDaCYYhC0ZE54kA4jpjruBr5STWeqQG6M74HHL6TZ3lXrd99ZX%2B%2B7LhNatQaZosuxEf5yRA15S9gPeHskBIq3Gcw81AGb9%2FO53DYi%2F5CsQ51EmEh8Rkg4vOciClpy4d04eYsfr6fyQkBmtD%2BP8sNh6e%2BXYHJXT%2FlkXxT4KXU5F2sGxYyzfniMMQkb9OjDN2C8tRRgTyL7GwozH14PrEUZc6oz05Emne3Ts5EG7WolDmU8OB1LDG3VrpQxp%2BpT0KYV5dGtknU64JhabdqcVQbGZiAxQAnvN1u70y1AnmvOSPgLI6uB4AuDGhmAu3ATkJSw7OtS%2F2ToPjqkaq62%2F7WFG8advGlRRqxB9diP07JrXowKR9tpRa%2BjGJ91zxNTT1h8I2PcSfoUPtd7NejVoH03EUcqSBuFZPkMZhegHyo2ZAITovmm3zAIdGFWxoNNORiMRShgwdYwFzkPw5PA4a5MIIQpmq%2Bnsp3YMuXt%2FGkXxLx%2FP6%2BZJS0lFyz4MunC3eWSGE8xlCQrKvhKUPXr0hjpAN9ZK4PfEDrPMfMbGNWcHDzjA7ngMxTPnT7GMHar%2BgMQQ3NwHCv4zH4BIMYvzsdiERi6gebRmerTsVwZJTRsL8dkZgxgRxmpbgRcud%2BYlCIRpPwHShlUSwuipZnx9QCsEWziVazdDeKSYU5CF7UVPAhLer3CgJOQXl%2Fzh575R5rsrmRnKAzq4POFdgbYBuEviM4%2BLVC15ssLNFghbTtHWerS1hDt5s4qkLUha%2FqpZXhWh1C6lTQAqCNQnaDjS7UGFBC6wTu8yFnKJnExCnAs3Ok9yj5KpfZESQ4lTy5pTGTnkAUpxI%2ByjEldJfSo4y0QhG4i4IwkRFGcjWY8%2BEzgYYJUK7BXQksLxAww%2FYYWBMhJILB9e8ePEJ4OP7z%2B4%2FwOQDl64iOYDp26DaONPxpKtBxq%2FaTzRGarm3VkPYTLJKx6Z%2FMw2YbBGseJhPMwhhNswrIkyvV2BYzrvZbxLpKwcWJhYmFtVZ%2BlPEq91FzVp1HlQY1bZVLqeNR9SAUn6n0E28k%2FUuGkNpP1DBI5ch%2FEehZfjUQ9aE41NhETExoPT2gGQz0IhWJbEOvTQ4wgcXCHHFBhewYUiFHuhRSAUVmEHeCRQHQkXGFwkAgyzREJCVN7TRnTon36Zw3tPhx4EALwNdwDv%2BJ41YSP4B2CQqz0EFgARZ4ESgBHQgROwAVn9GTI%2BHYexTUevLUeta4%2FDqKrbMVS%2BYqb8hUwYCrlgKtmAq1YCrFgKrd4qpXiqZcKn1oqdWipjYKpWwVPVYqW6xUpVipKqFR3QKjagVEtAqHpxUMTitsnFaJOKx2cVhswq35RVpyiq9lFVNIKnOQVMkgqtYxVNxiqQjFS7GKlSIVIsQqPIhUWwioigFQ%2B%2BKkN8VHr49HDw9Ebo9EDo9DTo9Crg9BDg9%2FWx7gWx7YWwlobYrOGxWPNisAaAHEyALpkAVDIAeWAArsABVXACYuAD5cAF6wAKFQAQqgAbVAAsoAAlQAUaYAfkwAvogBWQACOgAD9AAHSAAKT4GUdMiOvFngBTwCn2AZ7Dv6B6k%2F90B8%2ByRnkV144AIBoAMTQATGgAjNAA4YABgwABZgB%2FmQCwyAVlwCguASlwCEuAQFwB4uAMlwBYuAJlQAUVAAhUD2KgdpUDaJgaRMDFJgX5MC1JgWJEAokQCWRAHxEAWkQBMRADpEAMkQAYROAEecC484DRpwBDTnwNOdw05tjTmiNOYwtswhYFwLA7BYG4LA2BYGOLAwRYFuLAsxYFQJAohIEyJAMwkAwiQC0JAJgkAeiQBkJAFokAPCQA0JABwcD4Dgc4cDdDgaYcDIDgYgUC6CgWgUClCgUYUAVBQBOFAEYMALgwAgDA9QYAdIn8AZzeBB2L5EcWrenUT1KXienEsuJJ7x5U8XlTjc1NVzUyXFTGb1LlpUtWlTDIjqwE4LsagowoCi2gJLKAkpoBgJQNpAIhNqaEoneI6kiiqQ6Go%2Fn6j0cS%2Ba2gEU8gIHJ%2BBwfgZX4GL%2BBd%2FgW34FZ%2BBS%2FgUH4FN6BTegTvoEv6BJegRnYEF2A79gOvYDl2BdEjCkqkGtwXp0LNToIskOTXzh%2FF062yJ7AAAAEDAWAAABWhJ%2BKPEIJgBFxMVP7w2QJBGHASQnOBKXKFIdUK4igKA9IEaYJg%29%3Bsrc%3Aurl%28data%3Aapplication%2Fvnd%2Ems%2Dfontobject%3Bbase64%2Cn04AAEFNAAACAAIABAAAAAAABQAAAAAAAAABAJABAAAEAExQAAAAAAAAAAIAAAAAAAAAAAEAAAAAAAAAJxJ%2FLAAAAAAAAAAAAAAAAAAAAAAAACgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAAAADgBSAGUAZwB1AGwAYQByAAAAeABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAA5ADsAUABTACAAMAAwADEALgAwADAAOQA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADcAMAA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADUAOAAzADIAOQAAADgARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzACAAUgBlAGcAdQBsAGEAcgAAAAAAQlNHUAAAAAAAAAAAAAAAAAAAAAADAKncAE0TAE0ZAEbuFM3pjM%2FSEdmjKHUbyow8ATBE40IvWA3vTu8LiABDQ%2BpexwUMcm1SMnNryctQSiI1K5ZnbOlXKmnVV5YvRe6RnNMFNCOs1KNVpn6yZhCJkRtVRNzEufeIq7HgSrcx4S8h%2Fv4vnrrKc6oCNxmSk2uKlZQHBii6iKFoH0746ThvkO1kJHlxjrkxs%2BLWORaDQBEtiYJIR5IB9Bi1UyL4Rmr0BNigNkMzlKQmnofBHviqVzUxwdMb3NdCn69hy%2BpRYVKGVS%2F1tnsqv4LL7wCCPZZAZPT4aCShHjHJVNuXbmMrY5LeQaGnvAkXlVrJgKRAUdFjrWEah9XebPeQMj7KS7DIBAFt8ycgC5PLGUOHSE3ErGZCiViNLL5ZARfywnCoZaKQCu6NuFX42AEeKtKUGnr%2FCm2Cy8tpFhBPMW5Fxi4Qm4TkDWh4IWFDClhU2hRWosUWqcKLlgyXB%2BlSHaWaHiWlBAR8SeSgSPCQxdVQgzUixWKSTrIQEbU94viDctkvX%2BVSjJuUmV8L4CXShI11esnp0pjWNZIyxKHS4wVQ2ime1P4RnhvGw0aDN1OLAXGERsB7buFpFGGBAre4QEQR0HOIO5oYH305G%2BKspT%2FFupEGGafCCwxSe6ZUa%2B073rXHnNdVXE6eWvibUS27XtRzkH838mYLMBmYysZTM0EM3A1fbpCBYFccN1B%2FEnCYu%2FTgCGmr7bMh8GfYL%2BBfcLvB0gRagC09w9elfldaIy%2FhNCBLRgBgtCC7jAF63wLSMAfbfAlEggYU0bUA7ACCJmTDpEmJtI78w4%2FBO7dN7JR7J7ZvbYaUbaILSQsRBiF3HGk5fEg6p9unwLvn98r%2BvnsV%2B372uf1xBLq4qU%2F45fTuqaAP%2BpssmCCCTF0mhEow8ZXZOS8D7Q85JsxZ%2BAzok7B7O%2Ff6J8AzYBySZQB%2FQHYUSA%2BEeQhEWiS6AIQzgcsDiER4MjgMBAWDV4AgQ3g1eBgIdweCQmCjJEMkJ%2BPKRWyFHHmg1Wi%2F6xzUgA0LREoKJChwnQa9B%2B5RQZRB3IlBlkAnxyQNaANwHMowzlYSMCBgnbpzvqpl0iTJNCQidDI9ZrSYNIRBhHtUa5YHMHxyGEik9hDE0AKj72AbTCaxtHPUaKZdAZSnQTyjGqGLsmBStCejApUhg4uBMU6mATujEl%2BKdDPbI6Ag4vLr%2BhjY6lbjBeoLKnZl0UZgRX8gTySOeynZVz1wOq7e1hFGYIq%2BMhrGxDLak0PrwYzSXtcuyhXEhwOYofiW%2BEcI%2Fjw8P6IY6ed%2BetAbuqKp5QIapT77LnAe505lMuqL79a0ut4rWexzFttsOsLDy7zvtQzcq3U1qabe7tB0wHWVXji%2BzDbo8x8HyIRUbXnwUcklFv51fvTymiV%2BMXLSmGH9d9%2BaXpD5X6lao41anWGig7IwIdnoBY2ht%2FpO9mClLo4NdXHAsefqWUKlXJkbqPOFhMoR4aiA1BXqhRNbB2Xwi%2B7u%2FjpAoOpKJ0UX24EsrzMfHXViakCNcKjBxuQX8BO0ZqjJ3xXzf%2B61t2VXOSgJ8xu65QKgtN6FibPmPYsXbJRHHqbgATcSZxBqGiDiU4NNNsYBsKD0MIP%2FOfKnlk%2FLkaid%2FO2NbKeuQrwOB2Gq3YHyr6ALgzym5wIBnsdC1ZkoBFZSQXChZvlesPqvK2c5oHHT3Q65jYpNxnQcGF0EHbvYqoFw60WNlXIHQF2HQB7zD6lWjZ9rVqUKBXUT6hrkZOle0RFYII0V5ZYGl1JAP0Ud1fZZMvSomBzJ710j4Me8mjQDwEre5Uv2wQfk1ifDwb5ksuJQQ3xt423lbuQjvoIQByQrNDh1JxGFkOdlJvu%2FgFtuW0wR4cgd%2BZKesSV7QkNE2kw6AV4hoIuC02LGmTomyf8PiO6CZzOTLTPQ%2BHW06H%2Btx%2BbQ8LmDYg1pTFrp2oJXgkZTyeRJZM0C8aE2LpFrNVDuhARsN543%2FFV6klQ6Tv1OoZGXLv0igKrl%2FCmJxRmX7JJbJ998VSIPQRyDBICzl4JJlYHbdql30NvYcOuZ7a10uWRrgoieOdgIm4rlq6vNOQBuqESLbXG5lzdJGHw2m0sDYmODXbYGTfSTGRKpssTO95fothJCjUGQgEL4yKoGAF%2F0SrpUDNn8CBgBcSDQByAeNkCXp4S4Ro2Xh4OeaGRgR66PVOsU8bc6TR5%2FxTcn4IVMLOkXSWiXxkZQCbvKfmoAvQaKjO3EDKwkwqHChCDEM5loQRPd5ACBki1TjF772oaQhQbQ5C0lcWXPFOzrfsDGUXGrpxasbG4iab6eByaQkQfm0VFlP0ZsDkvvqCL6QXMUwCjdMx1ZOyKhTJ7a1GWAdOUcJ8RSejxNVyGs31OKMyRyBVoZFjqIkmKlLQ5eHMeEL4MkUf23cQ%2F1SgRCJ1dk4UdBT7OoyuNgLs0oCd8RnrEIb6QdMxT2QjD4zMrJkfgx5aDMcA4orsTtKCqWb%2FVeyceqa5OGSmB28YwH4rFbkQaLoUN8OQQYnD3w2eXpI4ScQfbCUZiJ4yMOIKLyyTc7BQ4uXUw6Ee6%2FxM%2B4Y67ngNBknxIPwuppgIhFcwJyr6EIj%2BLzNj%2FmfR2vhhRlx0BILZoAYruF0caWQ7YxO66UmeguDREAFHYuC7HJviRgVO6ruJH59h%2FC%2FPkgSle8xNzZJULLWq9JMDTE2fjGE146a1Us6PZDGYle6ldWRqn%2FpdpgHKNGrGIdkRK%2BKPETT9nKT6kLyDI8xd9A1FgWmXWRAIHwZ37WyZHOVyCadJEmMVz0MadMjDrPho%2BEIochkVC2xgGiwwsQ6DMv2P7UXqT4x7CdcYGId2BJQQa85EQKmCmwcRejQ9Bm4oATENFPkxPXILHpMPUyWTI5rjNOsIlmEeMbcOCEqInpXACYQ9DDxmFo9vcmsDblcMtg4tqBerNngkIKaFJmrQAPnq1dEzsMXcwjcHdfdCibcAxxA%2Bq%2Fj9m3LM%2FO7WJka4tSidVCjsvo2lQ%2F2ewyoYyXwAYyr2PlRoR5MpgVmSUIrM3PQxXPbgjBOaDQFIyFMJvx3Pc5RSYj12ySVF9fwFPQu2e2KWVoL9q3Ayv3IzpGHUdvdPdrNUdicjsTQ2ISy7QU3DrEytIjvbzJnAkmANXjAFERA0MUoPF3%2F5KFmW14bBNOhwircYgMqoDpUMcDtCmBE82QM2YtdjVLB4kBuKho%2FbcwQdeboqfQartuU3CsCf%2BcXkgYAqp%2F0Ee3RorAZt0AvvOCSI4JICIlGlsV0bsSid%2FNIEALAAzb6HAgyWHBps6xAOwkJIGcB82CxRQq4sJf3FzA70A%2BTRqcqjEMETCoez3mkPcpnoALs0ugJY8kQwrC%2BJE5ik3w9rzrvDRjAQnqgEVvdGrNwlanR0SOKWzxOJOvLJhcd8Cl4AshACUkv9czdMkJCVQSQhp6kp7StAlpVRpK0t0SW6LHeBJnE2QchB5Ccu8kxRghZXGIgZIiSj7gEKMJDClcnX6hgoqJMwiQDigIXg3ioFLCgDgjPtYHYpsF5EiA4kcnN18MZtOrY866dEQAb0FB34OGKHGZQjwW%2FWDHA60cYFaI%2FPjpzquUqdaYGcIq%2BmLez3WLFFCtNBN2QJcrlcoELgiPku5R5dSlJFaCEqEZle1AQzAKC%2B1SotMcBNyQUFuRHRF6OlimSBgjZeTBCwLyc6A%2BP%2FoFRchXTz5ADknYJHxzrJ5pGuIKRQISU6WyKTBBjD8WozmVYWIsto1AS5rxzKlvJu4E%2FvwOiKxRtCWsDM%2BeTHUrmwrCK5BIfMzGkD%2B0Fk5LzBs0jMYXktNDblB06LMNJ09U8pzSLmo14MS0OMjcdrZ31pyQqxJJpRImlSvfYAK8inkYU52QY2FPEVsjoWewpwhRp5yAuNpkqhdb7ku9Seefl2D0B8SMTFD90xi4CSOwwZy9IKkpMtI3FmFUg3%2FkFutpQGNc3pCR7gvC4sgwbupDu3DyEN%2BW6YGLNM21jpB49irxy9BSlHrVDlnihGKHwPrbVFtc%2Bh1rVQKZduxIyojccZIIcOCmhEnC7UkY68WXKQgLi2JCDQkQWJRQuk60hZp0D3rtCTINSeY9Ej2kIKYfGxwOs4j9qMM7fYZiipzgcf7TamnehqdhsiMiCawXnz4xAbyCkLAx5EGbo3Ax1u3dUIKnTxIaxwQTHehPl3V491H0%2BbC5zgpGz7Io%2BmjdhKlPJ01EeMpM7UsRJMi1nGjmJg35i6bQBAAxjO%2FENJubU2mg3ONySEoWklCwdABETcs7ck3jgiuU9pcKKpbgn%2B3YlzV1FzIkB6pmEDOSSyDfPPlQskznctFji0kpgZjW5RZe6x9kYT4KJcXg0bNiCyif%2BpZACCyRMmYsfiKmN9tSO65F0R2OO6ytlEhY5Sj6uRKfFxw0ijJaAx%2Fk3QgnAFSq27%2F2i4GEBA%2BUvTJKK%2F9eISNvG46Em5RZfjTYLdeD8kdXHyrwId%2FDQZUaMCY4gGbke2C8vfjgV%2FY9kkRQOJIn%2FxM9INZSpiBnqX0Q9GlQPpPKAyO5y%2BW5NMPSRdBCUlmuxl40ZfMCnf2Cp044uI9WLFtCi4YVxKjuRCOBWIb4XbIsGdbo4qtMQnNOQz4XDSui7W%2FN6l54qOynCqD3DpWQ%2BmpD7C40D8BZEWGJX3tlAaZBMj1yjvDYKwCJBa201u6nBKE5UE%2B7QSEhCwrXfbRZylAaAkplhBWX50dumrElePyNMRYUrC99UmcSSNgImhFhDI4BXjMtiqkgizUGCrZ8iwFxU6fQ8GEHCFdLewwxYWxgScAYMdMLmcZR6b7rZl95eQVDGVoUKcRMM1ixXQtXNkBETZkVVPg8LoSrdetHzkuM7DjZRHP02tCxA1fmkXKF3VzfN1pc1cv%2F8lbTIkkYpqKM9VOhp65ktYk%2BQ46myFWBapDfyWUCnsnI00QTBQmuFjMZTcd0V2NQ768Fhpby04k2IzNR1wKabuGJqYWwSly6ocMFGTeeI%2BejsWDYgEvr66QgqdcIbFYDNgsm0x9UHY6SCd5%2B7tpsLpKdvhahIDyYmEJQCqMqtCF6UlrE5GXRmbu%2Bvtm3BFSxI6ND6UxIE7GsGMgWqghXxSnaRJuGFveTcK5ZVSPJyjUxe1dKgI6kNF7EZhIZs8y8FVqwEfbM0Xk2ltORVDKZZM40SD3qQoQe0orJEKwPfZwm3YPqwixhUMOndis6MhbmfvLBKjC8sKKIZKbJk8L11oNkCQzCgvjhyyEiQSuJcgCQSG4Mocfgc0Hkwcjal1UNgP0CBPikYqBIk9tONv4kLtBswH07vUCjEaHiFGlLf8MgXKzSgjp2HolRRccAOh0ILHz9qlGgIFkwAnzHJRjWFhlA7ROwINyB5HFj59PRZHFor6voq7l23EPNRwdWhgawqbivLSjRA4htEYUFkjESu67icTg5S0aW1sOkCiIysfJ9UnIWevOOLGpepcBxy1wEhd2WI3AZg7sr9WBmHWyasxMcvY%2FiOmsLtHSWNUWEGk9hScMPShasUA1AcHOtRZlqMeQ0OzYS9vQvYUjOLrzP07BUAFikcJNMi7gIxEw4pL1G54TcmmmoAQ5s7TGWErJZ2Io4yQ0ljRYhL8H5e62oDtLF8aDpnIvZ5R3GWJyAugdiiJW9hQAVTsnCBHhwu7rkBlBX6r3b7ejEY0k5GGeyKv66v%2B6dg7mcJTrWHbtMywbedYqCQ0FPwoytmSWsL8WTtChZCKKzEF7vP6De4x2BJkkniMgSdWhbeBSLtJZR9CTHetK1xb34AYIJ37OegYIoPVbXgJ%2FqDQK%2BbfCtxQRVKQu77WzOoM6SGL7MaZwCGJVk46aImai9fmam%2BWpHG%2B0BtQPWUgZ7RIAlPq6lkECUhZQ2gqWkMYKcYMYaIc4gYCDFHYa2d1nzp3%2BJ1eCBay8IYZ0wQRKGAqvCuZ%2FUgbQPyllosq%2BXtfKIZOzmeJqRazpmmoP%2F76YfkjzV2NlXTDSBYB04SVlNQsFTbGPk1t%2FI4Jktu0XSgifO2ozFOiwd%2F0SssJDn0dn4xqk4GDTTKX73%2FwQyBLdqgJ%2BWx6AQaba3BA9CKEzjtQYIfAsiYamapq80LAamYjinlKXUkxdpIDk0puXUEYzSalfRibAeDAKpNiqQ0FTwoxuGYzRnisyTotdVTclis1LHRQCy%2FqqL8oUaQzWRxilq5Mi0IJGtMY02cGLD69vGjkj3p6pGePKI8bkBv5evq8SjjyU04vJR2cQXQwSJyoinDsUJHCQ50jrFTT7yRdbdYQMB3MYCb6uBzJ9ewhXYPAIZSXfeEQBZZ3GPN3Nbhh%2FwkvAJLXnQMdi5NYYZ5GHE400GS5rXkOZSQsdZgIbzRnF9ueLnsfQ47wHAsirITnTlkCcuWWIUhJSbpM3wWhXNHvt2xUsKKMpdBSbJnBMcihkoDqAd1Zml%2FR4yrzow1Q2A5G%2Bkzo%2FRhRxQS2lCSDRV8LlYLBOOoo1bF4jwJAwKMK1tWLHlu9i0j4Ig8qVm6wE1DxXwAwQwsaBWUg2pOOol2dHxyt6npwJEdLDDVYyRc2D0HbcbLUJQj8gPevQBUBOUHXPrsAPBERICpnYESeu2OHotpXQxRGlCCtLdIsu23MhZVEoJg8Qumj%2FUMMc34IBqTKLDTp76WzL%2FdMjCxK7MjhiGjeYAC%2Fkj%2FjY%2FRde7hpSM1xChrog6yZ7OWTuD56xBJnGFE%2BpT2ElSyCnJcwVzCjkqeNLfMEJqKW0G7OFIp0G%2B9mh50I9o8k1tpCY0xYqFNIALgIfc2me4n1bmJnRZ89oepgLPT0NTMLNZsvSCZAc3TXaNB07vail36%2FdBySis4m9%2FDR8izaLJW6bWCkVgm5T%2Bius3ZXq4xI%2BGnbveLbdRwF2mNtsrE0JjYc1AXknCOrLSu7Te%2Fr4dPYMCl5qtiHNTn%2BTPbh1jCBHH%2BdMJNhwNgs3nT%2BOhQoQ0vYif56BMG6WowAcHR3DjQolxLzyVekHj00PBAaW7IIAF1EF%2BuRIWyXjQMAs2chdpaKPNaB%2BkSezYt0%2BCA04sOg5vx8Fr7Ofa9sUv87h7SLAUFSzbetCCZ9pmyLt6l6%2FTzoA1%2FZBG9bIUVHLAbi%2FkdBFgYGyGwRQGBpkqCEg2ah9UD6EedEcEL3j4y0BQQCiExEnocA3SZboh%2Bepgd3YsOkHskZwPuQ5OoyA0fTA5AXrHcUOQF%2BzkJHIA7PwCDk1gGVmGUZSSoPhNf%2BTklauz98QofOlCIQ%2FtCD4dosHYPqtPCXB3agggQQIqQJsSkB%2Bqn0rkQ1toJjON%2FOtCIB9RYv3PqRA4C4U68ZMlZn6BdgEvi2ziU%2BTQ6NIw3ej%2BAtDwMGEZk7e2IjxUWKdAxyaw9OCwSmeADTPPleyk6UhGDNXQb%2B%2BW6Uk4q6F7%2Frg6WVTo82IoCxSIsFDrav4EPHphD3u4hR53WKVvYZUwNCCeM4PMBWzK%2BEfIthZOkuAwPo5C5jgoZgn6dUdvx5rIDmd58cXXdKNfw3l%2BwM2UjgrDJeQHhbD7HW2QDoZMCujgIUkk5Fg8VCsdyjOtnGRx8wgKRPZN5dR0zPUyfGZFVihbFRniXZFOZGKPnEQzU3AnD1KfR6weHW2XS6KbPJxUkOTZsAB9vTVp3Le1F8q5l%2BDMcLiIq78jxAImD2pGFw0VHfRatScGlK6SMu8leTmhUSMy8Uhdd6xBiH3Gdman4tjQGLboJfqz6fL2WKHTmrfsKZRYX6BTDjDldKMosaSTLdQS7oDisJNqAUhw1PfTlnacCO8vl8706Km1FROgLDmudzxg%2BEWTiArtHgLsRrAXYWdB0NmToNCJdKm0KWycZQqb%2BMw76Qy29iQ5up%2FX7oyw8QZ75kP5F6iJAJz6KCmqxz8fEa%2FxnsMYcIO%2FvEkGRuMckhr4rIeLrKaXnmIzlNLxbFspOphkcnJdnz%2FChp%2FVlpj2P7jJQmQRwGnltkTV5dbF9fE3%2FfxoSqTROgq9wFUlbuYzYcasE0ouzBo%2BdDCDzxKAfhbAZYxQiHrLzV2iVexnDX%2FQnT1fsT%2Fxuhu1ui5qIytgbGmRoQkeQooO8eJNNZsf0iALur8QxZFH0nCMnjerYQqG1pIfjyVZWxhVRznmmfLG00BcBWJE6hzQWRyFknuJnXuk8A5FRDCulwrWASSNoBtR%2BCtGdkPwYN2o7DOw%2FVGlCZPusRBFXODQdUM5zeHDIVuAJBLqbO%2Ff9Qua%2BpDqEPk230Sob9lEZ8BHiCorjVghuI0lI4JDgHGRDD%2FprQ84B1pVGkIpVUAHCG%2Biz3Bn3qm2AVrYcYWhock4jso5%2BJ7HfHVj4WMIQdGctq3psBCVVzupQOEioBGA2Bk%2BUILT7%2BVoX5mdxxA5fS42gISQVi%2FHTzrgMxu0fY6hE1ocUwwbsbWcezrY2n6S8%2F6cxXkOH4prpmPuFoikTzY7T85C4T2XYlbxLglSv2uLCgFv8Quk%2FwdesUdWPeHYIH0R729JIisN9Apdd4eB10aqwXrPt%2BSu9mA8k8n1sjMwnfsfF2j3jMUzXepSHmZ%2FBfqXvzgUNQQWOXO8YEuFBh4QTYCkOAPxywpYu1VxiDyJmKVcmJPGWk%2Fgc3Pov02StyYDahwmzw3E1gYC9wkupyWfDqDSUMpCTH5e5N8B%2F%2FlHiMuIkTNw4USHrJU67bjXGqNav6PBuQSoqTxc8avHoGmvqNtXzIaoyMIQIiiUHIM64cXieouplhNYln7qgc4wBVAYR104kO%2BCvKqsg4yIUlFNThVUAKZxZt1XA34h3TCUUiXVkZ0w8Hh2R0Z5L0b4LZvPd%2Fp1gi%2F07h8qfwHrByuSxglc9cI4QIg2oqvC%2Fqm0i7tjPLTgDhoWTAKDO2ONW5oe%2B%2FeKB9vZB8K6C25yCZ9RFVMnb6NRdRjyVK57CHHSkJBfnM2%2Fj4ODUwRkqrtBBCrDsDpt8jhZdXoy%2F1BCqw3sSGhgGGy0a5Jw6BP%2FTExoCmNFYjZl248A0osgPyGEmRA%2BfAsqPVaNAfytu0vuQJ7rk3J4kTDTR2AlCHJ5cls26opZM4w3jMULh2YXKpcqGBtuleAlOZnaZGbD6DHzMd6i2oFeJ8z9XYmalg1Szd%2FocZDc1C7Y6vcALJz2lYnTXiWEr2wawtoR4g3jvWUU2Ngjd1cewtFzEvM1NiHZPeLlIXFbBPawxNgMwwAlyNSuGF3zizVeOoC9bag1qRAQKQE%2FEZBWC2J8mnXAN2aTBboZ7HewnObE8CwROudZHmUM5oZ%2FUgd%2FJZQK8lvAm43uDRAbyW8gZ%2BZGq0EVerVGUKUSm%2FIdn8AQHdR4m7bue88WBwft9mSCeMOt1ncBwziOmJYI2ZR7ewNMPiCugmSsE4EyQ%2BQATJG6qORMGd4snEzc6B4shPIo4G1T7PgSm8PY5eUkPdF8JZ0VBtadbHXoJgnEhZQaODPj2gpODKJY5Yp4DOsLBFxWbvXN755KWylJm%2BoOd4zEL9Hpubuy2gyyfxh8oEfFutnYWdfB8PdESLWYvSqbElP9qo3u6KTmkhoacDauMNNjj0oy40DFV7Ql0aZj77xfGl7TJNHnIwgqOkenruYYNo6h724%2BzUQ7%2BvkCpZB%2BpGA562hYQiDxHVWOq0oDQl%2FQsoiY%2BcuI7iWq%2FZIBtHcXJ7kks%2Bh2fCNUPA82BzjnqktNts%2BRLdk1VSu%2BtqEn7QZCCsvEqk6FkfiOYkrsw092J8jsfIuEKypNjLxrKA9kiA19mxBD2suxQKCzwXGws7kEJvlhUiV9tArLIdZW0IORcxEzdzKmjtFhsjKy%2F44XYXdI5noQoRcvjZ1RMPACRqYg2V1%2BOwOepcOknRLLFdYgTkT5UApt%2FJhLM3jeFYprZV%2BZow2g8fP%2BU68hkKFWJj2yBbKqsrp25xkZX1DAjUw52IMYWaOhab8Kp05VrdNftqwRrymWF4OQSjbdfzmRZirK8FMJELEgER2PHjEAN9pGfLhCUiTJFbd5LBkOBMaxLr%2FA1SY9dXFz4RjzoU9ExfJCmx%2FI9FKEGT3n2cmzl2X42L3Jh%2BAbQq6sA%2BSs1kitoa4TAYgKHaoybHUDJ51oETdeI%2F9ThSmjWGkyLi5QAGWhL0BG1UsTyRGRJOldKBrYJeB8ljLJHfATWTEQBXBDnQexOHTB%2BUn44zExFE4vLytcu5NwpWrUxO%2F0ZICUGM7hGABXym0V6ZvDST0E370St9MIWQOTWngeoQHUTdCJUP04spMBMS8LSker9cReVQkULFDIZDFPrhTzBl6sed9wcZQTbL%2BBDqMyaN3RJPh%2Fanbx%2BIv%2BqgQdAa3M9Z5JmvYlh4qop%2BHo1F1W5gbOE9YKLgAnWytXElU4G8GtW47lhgFE6gaSs%2Bgs37sFvi0PPVvA5dnCBgILTwoKd%2F%2BDoL9F6inlM7H4rOTzD79KJgKlZO%2FZgt22UsKhrAaXU5ZcLrAglTVKJEmNJvORGN1vqrcfSMizfpsgbIe9zno%2BgBoKVXgIL%2FVI8dB1O5o%2FR3Suez%2FgD7M781ShjKpIIORM%2FnxG%2BjjhhgPwsn2IoXsPGPqYHXA63zJ07M2GPEykQwJBYLK808qYxuIew4frk52nhCsnCYmXiR6CuapvE1IwRB4%2FQftDbEn%2BAucIr1oxrLabRj9q4ae0%2BfXkHnteAJwXRbVkR0mctVSwEbqhJiMSZUp9DNbEDMmjX22m3ABpkrPQQTP3S1sib5pD2VRKRd%2BeNAjLYyT0hGrdjWJZy24OYXRoWQAIhGBZRxuBFMjjZQhpgrWo8SiFYbojcHO8V5DyscJpLTHyx9Fimassyo5U6WNtquUMYgccaHY5amgR3PQzq3ToNM5ABnoB9kuxsebqmYZm0R9qxJbFXCQ1UPyFIbxoUraTJFDpCk0Wk9GaYJKz%2F6oHwEP0Q14lMtlddQsOAU9zlYdMVHiT7RQP3XCmWYDcHCGbVRHGnHuwzScA0BaSBOGkz3lM8CArjrBsyEoV6Ys4qgDK3ykQQPZ3hCRGNXQTNNXbEb6tDiTDLKOyMzRhCFT%2BmAUmiYbV3YQVqFVp9dorv%2BTsLeCykS2b5yyu8AV7IS9cxcL8z4Kfwp%2BxJyYLv1OsxQCZwTB4a8BZ%2F5EdxTBJthApqyfd9u3ifr%2FWILTqq5VqgwMT9SOxbSGWLQJUUWCVi4k9tho9nEsbUh7U6NUsLmkYFXOhZ0kmamaJLRNJzSj%2Fqn4Mso6zb6iLLBXoaZ6AqeWCjHQm2lztnejYYM2eubnpBdKVLORZhudH3JF1waBJKA9%2BW8EhMj3Kzf0L4vi4k6RoHh3Z5YgmSZmk6ns4fjScjAoL8GoOECgqgYEBYUGFVO4FUv4%2FYtowhEmTs0vrvlD%2FCrisnoBNDAcUi%2FteY7OctFlmARQzjOItrrlKuPO6E2Ox93L4O%2F4DcgV%2FdZ7qR3VBwVQxP1GCieA4RIpweYJ5FoYrHxqRBdJjnqbsikA2Ictbb8vE1GYIo9dacK0REgDX4smy6GAkxlH1yCGGsk%2BtgiDhNKuKu3yNrMdxafmKTF632F8Vx4BNK57GvlFisrkjN9WDAtjsWA0ENT2e2nETUb%2Fn7qwhvGnrHuf5bX6Vh%2Fn3xffU3PeHdR%2BFA92i6ufT3AlyAREoNDh6chiMWTvjKjHDeRhOa9YkOQRq1vQXEMppAQVwHCuIcV2g5rBn6GmZZpTR7vnSD6ZmhdSl176gqKTXu5E%2BYbfL0adwNtHP7dT7t7b46DVZIkzaRJOM%2BS6KcrzYVg%2BT3wSRFRQashjfU18NutrKa%2F7PXbtuJvpIjbgPeqd%2BpjmRw6YKpnANFSQcpzTZgpSNJ6J7uiagAbir%2F8tNXJ%2FOsOnRh6iuIexxrmkIneAgz8QoLmiaJ8sLQrELVK2yn3wOHp57BAZJhDZjTBzyoRAuuZ4eoxHruY1pSb7qq79cIeAdOwin4GdgMeIMHeG%2BFZWYaiUQQyC5b50zKjYw97dFjAeY2I4Bnl105Iku1y0lMA1ZHolLx19uZnRdILcXKlZGQx%2FGdEqSsMRU1BIrFqRcV1qQOOHyxOLXEGcbRtAEsuAC2V4K3p5mFJ22IDWaEkk9ttf5Izb2LkD1MnrSwztXmmD%2FQi%2FEmVEFBfiKGmftsPwVaIoZanlKndMZsIBOskFYpDOq3QUs9aSbAAtL5Dbokus2G4%2FasthNMK5UQKCOhU97oaOYNGsTah%2BjfCKsZnTRn5TbhFX8ghg8CBYt%2FBjeYYYUrtUZ5jVij%2Fop7V5SsbA4mYTOwZ46hqdpbB6Qvq3AS2HHNkC15pTDIcDNGsMPXaBidXYPHc6PJAkRh29Vx8KcgX46LoUQBhRM%2B3SW6Opll%2FwgxxsPgKJKzr5QCmwkUxNbeg6Wj34SUnEzOemSuvS2OetRCO8Tyy%2BQbSKVJcqkia%2BGvDefFwMOmgnD7h81TUtMn%2BmRpyJJ349HhAnoWFTejhpYTL9G8N2nVg1qkXBeoS9Nw2fB27t7trm7d%2FQK7Cr4uoCeOQ7%2F8JfKT77KiDzLImESHw%2F0wf73QeHu74hxv7uihi4fTX%2BXEwAyQG3264dwv17aJ5N335Vt9sdrAXhPOAv8JFvzqyYXwfx8WYJaef1gMl98JRFyl5Mv5Uo%2FoVH5ww5OzLFsiTPDns7fS6EURSSWd%2F92BxMYQ8sBaH%2Bj%2BwthQPdVgDGpTfi%2BJQIWMD8xKqULliRH01rTeyF8x8q%2FGBEEEBrAJMPf25UQwi0b8tmqRXY7kIvNkzrkvRWLnxoGYEJsz8u4oOyMp8cHyaybb1HdMCaLApUE%2B%2F7xLIZGP6H9xuSEXp1zLIdjk5nBaMuV%2FyTDRRP8Y2ww5RO6d2D94o%2B6ucWIqUAvgHIHXhZsmDhjVLczmZ3ca0Cb3PpKwt2UtHVQ0BgFJsqqTsnzZPlKahRUkEu4qmkJt%2Bkqdae76ViWe3STan69yaF9%2BfESD2lcQshLHWVu4ovItXxO69bqC5p1nZLvI8NdQB9s9UNaJGlQ5mG947ipdDA0eTIw%2FA1zEdjWquIsQXXGIVEH0thC5M%2BW9pZe7IhAVnPJkYCCXN5a32HjN6nsvokEqRS44tGIs7s2LVTvcrHAF%2BRVmI8L4HUYk4x%2B67AxSMJKqCg8zrGOgvK9kNMdDrNiUtSWuHFpC8%2Fp5qIQrEo%2FH%2B1l%2F0cAwQ2nKmpWxKcMIuHY44Y6DlkpO48tRuUGBWT0FyHwSKO72Ud%2BtJUfdaZ4CWNijzZtlRa8%2BCkmO%2FEwHYfPZFU%2FhzjFWH7vnzHRMo%2BaF9u8qHSAiEkA2HjoNQPEwHsDKOt6hOoK3Ce%2F%2B%2F9boMWDa44I6FrQhdgS7OnNaSzwxWKZMcyHi6LN4WC6sSj0qm2PSOGBTvDs%2FGWJS6SwEN%2FULwpb4LQo9fYjUfSXRwZkynUazlSpvX9e%2BG2zor8l%2BYaMxSEomDdLHGcD6YVQPegTaA74H8%2BV4WvJkFUrjMLGLlvSZQWvi8%2FQA7yzQ8GPno%2F%2F5SJHRP%2FOqKObPCo81s%2F%2B6WgLqykYpGAgQZhVDEBPXWgU%2FWzFZjKUhSFInufPRiMAUULC6T11yL45ZrRoB4DzOyJShKXaAJIBS9wzLYIoCEcJKQW8GVCx4fihqJ6mshBUXSw3wWVj3grrHQlGNGhIDNNzsxQ3M%2BGWn6ASobIWC%2BLbYOC6UpahVO13Zs2zOzZC8z7FmA05JhUGyBsF4tsG0drcggIFzgg%2Fkpf3%2BCnAXKiMgIE8Jk%2FMhpkc8DUJEUzDSnWlQFme3d0sHZDrg7LavtsEX3cHwjCYA17pMTfx8Ajw9hHscN67hyo%2BRJQ4458RmPywXykkVcW688oVUrQhahpPRvTWPnuI0B%2BSkQu7dCyvLRyFYlC1LG1gRCIvn3rwQeINzZQC2KXq31FaR9UmVV2QeGVqBHjmE%2BVMd3b1fhCynD0pQNhCG6%2FWCDbKPyE7NRQzL3BzQAJ0g09aUzcQA6mUp9iZFK6Sbp%2FYbHjo%2B%2B7%2FWj8S4YNa%2BZdqAw1hDrKWFXv9%2BzaXpf8ZTDSbiqsxnwN%2FCzK5tPkOr4tRh2kY3Bn9JtalbIOI4b3F7F1vPQMfoDcdxMS8CW9m%2FNCW%2FHILTUVWQIPiD0j1A6bo8vsv6P1hCESl2abrSJWDrq5sSzUpwoxaCU9FtJyYH4QFMxDBpkkBR6kn0LMPO%2B5EJ7Z6bCiRoPedRZ%2FP0SSdii7ZnPAtVwwHUidcdyspwncz5uq6vvm4IEDbJVLUFCn%2FLvIHfooUBTkFO130FC7CmmcrKdgDJcid9mvVzsDSibOoXtIf9k6ABle3PmIxejodc4aob0QKS432srrCMndbfD454q52V01G4q913mC5HOsTzWF4h2No1av1VbcUgWAqyoZl%2B11PoFYnNv2HwAODeNRkHj%2B8SF1fcvVBu6MrehHAZK1Gm69ICcTKizykHgGFx7QdowTVAsYEF2tVc0Z6wLryz2FI1sc5By2znJAAmINndoJiB4sfPdPrTC8RnkW7KRCwxC6YvXg5ahMlQuMpoCSXjOlBy0Kij%2BbsCYPbGp8BdCBiLmLSAkEQRaieWo1SYvZIKJGj9Ur%2FeWHjiB7SOVdqMAVmpBvfRiebsFjger7DC%2B8kRFGtNrTrnnGD2GAJb8rQCWkUPYHhwXsjNBSkE6lGWUj5QNhK0DMNM2l%2BkXRZ0KLZaGsFSIdQz%2FHXDxf3%2FTE30%2BDgBKWGWdxElyLccJfEpjsnszECNoDGZpdwdRgCixeg9L4EPhH%2BRptvRMVRaahu4cySjS3P5wxAUCPkmn%2BrhyASpmiTaiDeggaIxYBmtLZDDhiWIJaBgzfCsAGUF1Q1SFZYyXDt9skCaxJsxK2Ms65dmdp5WAZyxik%2FzbrTQk5KmgxCg%2Ff45L0jywebOWUYFJQAJia7XzCV0x89rpp%2Ff3AVWhSPyTanqmik2SkD8A3Ml4NhIGLAjBXtPShwKYfi2eXtrDuKLk4QlSyTw1ftXgwqA2jUuopDl%2B5tfUWZNwBpEPXghzbBggYCw%2Fdhy0ntds2yeHCDKkF%2FYxQjNIL%2FF%2F37jLPHCKBO9ibwYCmuxImIo0ijV2Wbg3kSN2psoe8IsABv3RNFaF9uMyCtCYtqcD%2BqNOhwMlfARQUdJ2tUX%2BMNJqOwIciWalZsmEjt07tfa8ma4cji9sqz%2BQ9hWfmMoKEbIHPOQORbhQRHIsrTYlnVTNvcq1imqmmPDdVDkJgRcTgB8Sb6epCQVmFZe%2BjGDiNJQLWnfx%2BdrTKYjm0G8yH0ZAGMWzEJhUEQ4Maimgf%2Fbkvo8PLVBsZl152y5S8%2BHRDfZIMCbYZ1WDp4yrdchOJw8k6R%2B%2F2pHmydK4NIK2PHdFPHtoLmHxRDwLFb7eB%2BM4zNZcB9NrAgjVyzLM7xyYSY13ykWfIEEd2n5%2FiYp3ZdrCf7fL%2Ben%2BsIJu2W7E30MrAgZBD1rAAbZHPgeAMtKCg3NpSpYQUDWJu9bT3V7tOKv%2BNRiJc8JAKqqgCA%2FPNRBR7ChpiEulyQApMK1AyqcWnpSOmYh6yLiWkGJ2mklCSPIqN7UypWj3dGi5MvsHQ87MrB4VFgypJaFriaHivwcHIpmyi5LhNqtem4q0n8awM19Qk8BOS0EsqGscuuydYsIGsbT5GHnERUiMpKJl4ON7qjB4fEqlGN%2FhCky89232UQCiaeWpDYCJINXjT6xl4Gc7DxRCtgV0i1ma4RgWLsNtnEBRQFqZggCLiuyEydmFd7WlogpkCw5G1x4ft2psm3KAREwVwr1Gzl6RT7FDAqpVal34ewVm3VH4qn5mjGj%2BbYL1NgfLNeXDwtmYSpwzbruDKpTjOdgiIHDVQSb5%2FzBgSMbHLkxWWgghIh9QTFSDILixVwg0Eg1puooBiHAt7DzwJ7m8i8%2Fi%2BjHvKf0QDnnHVkVTIqMvIQImOrzCJwhSR7qYB5gSwL6aWL9hERHCZc4G2%2BJrpgHNB8eCCmcIWIQ6rSdyPCyftXkDlErUkHafHRlkOIjxGbAktz75bnh50dU7YHk%2BMz7wwstg6RFZb%2BTZuSOx1qqP5C66c0mptQmzIC2dlpte7vZrauAMm%2F7RfBYkGtXWGiaWTtwvAQiq2oD4YixPLXE2khB2FRaNRDTk%2B9sZ6K74Ia9VntCpN4BhJGJMT4Z5c5FhSepRCRWmBXqx%2BwhVZC4me4saDs2iNqXMuCl6iAZflH8fscC1sTsy4PHeC%2BXYuqMBMUun5YezKbRKmEPwuK%2BCLzijPEQgfhahQswBBLfg%2FGBgBiI4QwAqzJkkyYAWtjzSg2ILgMAgqxYfwERRo3zruBL9WOryUArSD8sQOcD7fvIODJxKFS615KFPsb68USBEPPj1orNzFY2xoTtNBVTyzBhPbhFH0PI5AtlJBl2aSgNPYzxYLw7XTDBDinmVoENwiGzmngrMo8OmnRP0Z0i0Zrln9DDFcnmOoBZjABaQIbPOJYZGqX%2BRCMlDDbElcjaROLDoualmUIQ88Kekk3iM4OQrADcxi3rJguS4MOIBIgKgXrjd1WkbCdqxJk%2F4efRIFsavZA7KvvJQqp3Iid5Z0NFc5aiMRzGN3vrpBzaMy4JYde3wr96PjN90AYOIbyp6T4zj8LoE66OGcX1Ef4Z3KoWLAUF4BTg7ug%2FAbkG5UNQXAMkQezujSHeir2uTThgd3gpyzDrbnEdDRH2W7U6PeRvBX1ZFMP5RM%2BZu6UUZZD8hDPHldVWntTCNk7To8IeOW9yn2wx0gmurwqC60AOde4r3ETi5pVMSDK8wxhoGAoEX9NLWHIR33VbrbMveii2jAJlrxwytTHbWNu8Y4N8vCCyZjAX%2FpcsfwXbLze2%2BD%2Bu33OGBoJyAAL3jn3RuEcdp5If8O%2Ba4NKWvxOTyDltG0IWoHhwVGe7dKkCWFT%2B%2Btm%2BhaBCikRUUMrMhYKZJKYoVuv%2FbsJzO8DwfVIInQq3g3BYypiz8baogH3r3GwqCwFtZnz4xMjAVOYnyOi5HWbFA8n0qz1OjSpHWFzpQOpvkNETZBGpxN8ybhtqV%2FDMUxd9uFZmBfKXMCn%2FSqkWJyKPnT6lq%2B4zBZni6fYRByJn6OK%2BOgPBGRAJluwGSk4wxjOOzyce%2FPKODwRlsgrVkdcsEiYrqYdXo0Er2GXi2GQZd0tNJT6c9pK1EEJG1zgDJBoTVuCXGAU8BKTvCO%2FcEQ1Wjk3Zzuy90JX4m3O5IlxVFhYkSUwuQB2up7jhvkm%2BbddRQu5F9s0XftGEJ9JSuSk%2BZachCbdU45fEqbugzTIUokwoAKvpUQF%2FCvLbWW5BNQFqFkJg2f30E%2F48StNe5QwBg8zz3YAJ82FZoXBxXSv4QDooDo79NixyglO9AembuBcx5Re3CwOKTHebOPhkmFC7wNaWtoBhFuV4AkEuJ0J%2B1pT0tLkvFVZaNzfhs%2FKd3%2BA9YsImlO4XK4vpCo%2FelHQi%2F9gkFg07xxnuXLt21unCIpDV%2BbbRxb7FC6nWYTsMFF8%2B1LUg4JFjVt3vqbuhHmDKbgQ4e%2BRGizRiO8ky05LQGMdL2IKLSNar0kNG7lHJMaXr5mLdG3nykgj6vB%2FKVijd1ARWkFEf3yiUw1v%2FWaQivVUpIDdSNrrKbjO5NPnxz6qTTGgYg03HgPhDrCFyYZTi3XQw3HXCva39mpLNFtz8AiEhxAJHpWX13gCTAwgm9YTvMeiqetdNQv6IU0hH0G%2BZManTqDLPjyrOse7WiiwOJCG%2BJ0pZYULhN8NILulmYYvmVcV2MjAfA39sGKqGdjpiPo86fecg65UPyXDIAOyOkCx5NQsLeD4gGVjTVDwOHWkbbBW0GeNjDkcSOn2Nq4cEssP54t9D749A7M1AIOBl0Fi0sSO5v3P7LCBrM6ZwFY6kp2FX6AcbGUdybnfChHPyu6WlRZ2Fwv9YM0RMI7kISRgR8HpQSJJOyTfXj%2F6gQKuihPtiUtlCQVPohUgzfezTg8o1b3n9pNZeco1QucaoXe40Fa5JYhqdTspFmxGtW9h5ezLFZs3j%2FN46f%2BS2rjYNC2JySXrnSAFhvAkz9a5L3pza8eYKHNoPrvBRESpxYPJdKVUxBE39nJ1chrAFpy4MMkf0qKgYALctGg1DQI1kIymyeS2AJNT4X240d3IFQb%2F0jQbaHJ2YRK8A%2Bls6WMhWmpCXYG5jqapGs5%2FeOJErxi2%2F2KWVHiPellTgh%2FfNl%2F2KYPKb7DUcAg%2BmCOPQFCiU9Mq%2FWLcU1xxC8aLePFZZlE%2BPCLzf7ey46INWRw2kcXySR9FDgByXzfxiNKwDFbUSMMhALPFSedyjEVM5442GZ4hTrsAEvZxIieSHGSgkwFh%2FnFNdrrFD4tBH4Il7fW6ur4J8Xaz7RW9jgtuPEXQsYk7gcMs2neu3zJwTyUerHKSh1iTBkj2YJh1SSOZL5pLuQbFFAvyO4k1Hxg2h99MTC6cTUkbONQIAnEfGsGkNFWRbuRyyaEZInM5pij73EA9rPIUfU4XoqQpHT9THZkW%2BoKFLvpyvTBMM69tN1Ydwv1LIEhHsC%2BueVG%2Bw%2BkyCPsvV3erRikcscHjZCkccx6VrBkBRusTDDd8847GA7p2Ucy0y0HdSRN6YIBciYa4vuXcAZbQAuSEmzw%2BH%2FAuOx%2BaH%2BtBL88H57D0MsqyiZxhOEQkF%2F8DR1d2hSPMj%2FsNOa5rxcUnBgH8ictv2J%2Bcb4BA4v3MCShdZ2vtK30vAwkobnEWh7rsSyhmos3WC93Gn9C4nnAd%2FPjMMtQfyDNZsOPd6XcAsnBE%2FmRHtHEyJMzJfZFLE9OvQa0i9kUmToJ0ZxknTgdl%2FXPV8xoh0K7wNHHsnBdvFH3sv52lU7UFteseLG%2FVanIvcwycVA7%2BBE1Ulyb20BvwUWZcMTKhaCcmY3ROpvonVMV4N7yBXTL7IDtHzQ4CCcqF66LjF3xUqgErKzolLyCG6Kb7irP%2FMVTCCwGRxfrPGpMMGvPLgJ881PHMNMIO09T5ig7AzZTX%2F5PLlwnJLDAPfuHynSGhV4tPqR3gJ4kg4c06c%2FF1AcjGytKm2Yb5jwMotF7vro4YDLWlnMIpmPg36NgAZsGA0W1spfLSue4xxat0Gdwd0lqDBOgIaMANykwwDKejt5YaNtJYIkrSgu0KjIg0pznY0SCd1qlC6R19g97UrWDoYJGlrvCE05J%2F5wkjpkre727p5PTRX5FGrSBIfJqhJE%2FIS876PaHFkx9pGTH3oaY3jJRvLX9Iy3Edoar7cFvJqyUlOhAEiOSAyYgVEGkzHdug%2BoRHIEOXAExMiTSKU9A6nmRC8mp8iYhwWdP2U%2F5EkFAdPrZw03YA3gSyNUtMZeh7dDCu8pF5x0VORCTgKp07ehy7NZqKTpIC4UJJ89lnboyAfy5OyXzXtuDRbtAFjZRSyGFTpFrXwkpjSLIQIG3N0Vj4BtzK3wdlkBJrO18MNsgseR4BysJilI0wI6ZahLhBFA0XBmV8d4LUzEcNVb0xbLjLTETYN8OEVqNxkt10W614dd1FlFFVTIgB7%2FBQQp1sWlNolpIu4ekxUTBV7NmxOFKEBmmN%2BnA7pvF78%2FRII5ZHA09OAiE%2F66MF6HQ%2BqVEJCHxwymukkNvzqHEh52dULPbVasfQMgTDyBZzx4007YiKdBuUauQOt27Gmy8ISclPmEUCIcuLbkb1mzQSqIa3iE0PJh7UMYQbkpe%2BhXjTJKdldyt2mVPwywoODGJtBV1lJTgMsuSQBlDMwhEKIfrvsxGQjHPCEfNfMAY2oxvyKcKPUbQySkKG6tj9AQyEW3Q5rpaDJ5Sns9ScLKeizPRbvWYAw4bXkrZdmB7CQopCH8NAmqbuciZChHN8lVGaDbCnmddnqO1PQ4ieMYfcSiBE5zzMz%2BJV%2F4eyzrzTEShvqSGzgWimkNxLvUj86iAwcZuIkqdB0VaIB7wncLRmzHkiUQpPBIXbDDLHBlq7vp9xwuC9AiNkIptAYlG7Biyuk8ILdynuUM1cHWJgeB%2BK3wBP%2FineogxkvBNNQ4AkW0hvpBOQGFfeptF2YTR75MexYDUy7Q%2F9uocGsx41O4IZhViw%2F2FvAEuGO5g2kyXBUijAggWM08bRhXg5ijgMwDJy40QeY%2FcQpUDZiIzmvskQpO5G1zyGZA8WByjIQU4jRoFJt56behxtHUUE%2Fom7Rj2psYXGmq3llVOCgGYKNMo4pzwntITtapDqjvQtqpjaJwjHmDzSVGLxMt12gEXAdLi%2FcaHSM3FPRGRf7dB7YC%2BcD2ho6oL2zGDCkjlf%2FDFoQVl8GS%2F56wur3rdV6ggtzZW60MRB3g%2BU1W8o8cvqIpMkctiGVMzXUFI7FacFLrgtdz4mTEr4aRAaQ2AFQaNeG7GX0yOJgMRYFziXdJf24kg%2FgBQIZMG%2FYcPEllRTVNoDYR6oSJ8wQNLuihfw81UpiKPm714bZX1KYjcXJdfclCUOOpvTxr9AAJevTY4HK%2FG7F3mUc3GOAKqh60zM0v34v%2BELyhJZqhkaMA8UMMOU90f8RKEJFj7EqepBVwsRiLbwMo1J2zrE2UYJnsgIAscDmjPjnzI8a719Wxp757wqmSJBjXowhc46QN4RwKIxqEE6E5218OeK7RfcpGjWG1jD7qND%2B%2FGTk6M56Ig4yMsU6LUW1EWE%2BfIYycVV1thldSlbP6ltdC01y3KUfkobkt2q01YYMmxpKRvh1Z48uNKzP%2FIoRIZ%2FF6buOymSnW8gICitpJjKWBscSb9JJKaWkvEkqinAJ2kowKoqkqZftRqfRQlLtKoqvTRDi2vg%2FRrPD%2Fd3a09J8JhGZlEkOM6znTsoMCsuvTmywxTCDhw5dd0GJOHCMPbsj3QLkTE3MInsZsimDQ3HkvthT7U9VA4s6G07sID0FW4SHJmRGwCl%2BMu4xf0ezqeXD2PtPDnwMPo86sbwDV%2B9PWcgFcARUVYm3hrFQrHcgMElFGbSM2A1zUYA3baWfheJp2AINmTJLuoyYD%2FOwA4a6V0ChBN97E8YtDBerUECv0u0TlxR5yhJCXvJxgyM73Bb6pyq0jTFJDZ4p1Am1SA6sh8nADd1hAcGBMfq4d%2FUfwnmBqe0Jun1n1LzrgKuZMAnxA3NtCN7Klf4BH%2B14B7ibBmgt0TGUafVzI4uKlpF7v8NmgNjg90D6QE3tbx8AjSAC%2BOA1YJvclyPKgT27QpIEgVYpbPYGBsnyCNrGz9XUsCHkW1QAHgL2STZk12QGqmvAB0NFteERkvBIH7INDsNW9KKaAYyDMdBEMzJiWaJHZALqDxQDWRntumSDPcplyFiI1oDpT8wbwe01AHhW6%2BvAUUBoGhY3CT2tgwehdPqU%2F4Q7ZLYvhRl%2FogOvR9O2%2BwkkPKW5vCTjD2fHRYXONCoIl4Jh1bZY0ZE1O94mMGn%2FdFSWBWzQ%2FVYk%2BGezi46RgiDv3EshoTmMSlioUK6MQEN8qeyK6FRninyX8ZPeUWjjbMJChn0n%2FyJvrq5bh5UcCAcBYSafTFg7p0jDgrXo2QWLb3WpSOET%2FHh4oSadBTvyDo10IufLzxiMLAnbZ1vcUmj3w7BQuIXjEZXifwukVxrGa9j%2BDXfpi12m1RbzYLg9J2wFergEwOxFyD0%2FJstNK06ZN2XdZSGWxcJODpQHOq4iKqjqkJUmPu1VczL5xTGUfCgLEYyNBCCbMBFT%2FcUP6pE%2FmujnHsSDeWxMbhrNilS5MyYR0nJyzanWXBeVcEQrRIhQeJA6Xt4f2eQESNeLwmC10WJVHqwx8SSyrtAAjpGjidcj1E2FYN0LObUcFQhafUKTiGmHWRHGsFCB%2BHEXgrzJEB5bp0QiF8ZHh11nFX8AboTD0PS4O1LqF8XBks2MpjsQnwKHF6HgaKCVLJtcr0XjqFMRGfKv8tmmykhLRzu%2BvqQ02%2BKpJBjaLt9ye1Ab%2BBbEBhy4EVdIJDrL2naV0o4wU8YZ2Lq04FG1mWCKC%2BUwkXOoAjneU%2FxHplMQo2cXUlrVNqJYczgYlaOEczVCs%2FOCgkyvLmTmdaBJc1iBLuKwmr6qtRnhowngsDxhzKFAi02tf8bmET8BO27ovJKF1plJwm3b0JpMh38%2BxsrXXg7U74QUM8ZCIMOpXujHntKdaRtsgyEZl5MClMVMMMZkZLNxH9%2Bb8fH6%2Bb8Lev30A9TuEVj9CqAdmwAAHBPbfOBFEATAPZ2CS0OH1Pj%2F0Q7PFUcC8hDrxESWdfgFRm%2B7vvWbkEppHB4T%2F1ApWnlTIqQwjcPl0VgS1yHSmD0OdsCVST8CQVwuiew1Y%2Bg3QGFjNMzwRB2DSsAk26cmA8lp2wIU4p93AUBiUHFGOxOajAqD7Gm6NezNDjYzwLOaSXRBYcWipTSONHjUDXCY4mMI8XoVCR%2FRrs%2FJLKXgEx%2BqkmeDlFOD1%2FyTQNDClRuiUyKYCllfMiQiyFkmuTz2vLsBNyRW%2Bxz%2B5FElFxWB28VjYIGZ0Yd%2B5wIjkcoMaggxswbT0pCmckRAErbRlIlcOGdBo4djTNO8FAgQ%2BlT6vPS60BwTRSUAM3ddkEAZiwtEyArrkiDRnS7LJ%2B2hwbzd2YDQagSgACpsovmjil5wfPuXq3GuH0CyE7FK3M4FgRaFoIkaodORrPx1%2BJpI9psyNYIFuJogZa0%2F1AhOWdlHQxdAgbwacsHqPZo8u%2FngAH2GmaTdhYnBfSDbBfh8CHq6Bx5bttP2%2BRdM%2BMAaYaZ0Y%2FADkbNCZuAyAVQa2OcXOeICmDn9Q%2FeFkDeFQg5MgHEDXq%2FtVjj%2Bjtd26nhaaolWxs1ixSUgOBwrDhRIGOLyOVk2%2FBc0UxvseQCO2pQ2i%2BKrfhu%2FWeBovNb5dJxQtJRUDv2mCwYVpNl2efQM9xQHnK0JwLYt%2FU0Wf%2BphiA4uw8G91slC832pmOTCAoZXohg1fewCZqLBhkOUBofBWpMPsqg7XEXgPfAlDo2U5WXjtFdS87PIqClCK5nW6adCeXPkUiTGx0emOIDQqw1yFYGHEVx20xKjJVYe0O8iLmnQr3FA9nSIQilUKtJ4ZAdcTm7%2BExseJauyqo30hs%2B1qSW211A1SFAOUgDlCGq7eTIcMAeyZkV1SQJ4j%2Fe1Smbq4HcjqgFbLAGLyKxlMDMgZavK5NAYH19Olz3la%2FQCTiVelFnU6O%2FGCvykqS%2FwZJDhKN9gBtSOp%2F1SP5VRgJcoVj%2Bkmf2wBgv4gjrgARBWiURYx8xENV3bEVUAAWWD3dYDKAIWk5opaCFCMR5ZjJExiCAw7gYiSZ2rkyTce4eNMY3lfGn%2B8p6%2BvBckGlKEXnA6Eota69OxDO9oOsJoy28BXOR0UoXNRaJD5ceKdlWMJlOFzDdZNpc05tkMGQtqeNF2lttZqNco1VtwXgRstLSQ6tSPChgqtGV5h2DcDReIQadaNRR6AsAYKL5gSFsCJMgfsaZ7DpKh8mg8Wz8V7H%2BgDnLuMxaWEIUPevIbClgap4dqmVWSrPgVYCzAoZHIa5z2Ocx1D%2FGvDOEqMOKLrMefWIbSWHZ6jbgA8qVBhYNHpx0P%2BjAgN5TB3haSifDcApp6yymEi6Ij%2FGsEpDYUgcHATJUYDUAmC1SCkJ4cuZXSAP2DEpQsGUjQmKJfJOvlC2x%2FpChkOyLW7KEoMYc5FDC4v2FGqSoRWiLsbPCiyg1U5yiHZVm1XLkHMMZL11%2Fyxyw0UnGig3MFdZklN5FI%2FqiT65T%2BjOXOdO7XbgWurOAZR6Cv9uu1cm5LjkXX4xi6mWn5r5NjBS0gTliHhMZI2WNqSiSphEtiCAwnafS11JhseDGHYQ5%2BbqWiAYiAv6Jsf79%2FVUs4cIl%2Bn6%2BWOjcgB%2F2l5TreoAV2717JzZbQIR0W1cl%2FdEqCy5kJ3ZSIHuU0vBoHooEpiHeQWVkkkOqRX27eD1FWw4BfO9CJDdKoSogQi3hAAwsPRFrN5RbX7bqLdBJ9JYMohWrgJKHSjVl1sy2xAG0E3sNyO0oCbSGOxCNBRRXTXenYKuwAoDLfnDcQaCwehUOIDiHAu5m5hMpKeKM4sIo3vxACakIxKoH2YWF2QM84e6F5C5hJU4g8uxuFOlAYnqtwxmHyNEawLW%2FPhoawJDrGAP0JYWHgAVUByo%2FbGdiv2T2EMg8gsS14%2FrAdzlOYazFE7w4OzxeKiWdm3nSOnQRRKXSlVo8HEAbBfyJMKqoq%2BSCcTSx5NDtbFwNlh8VhjGGDu7JG5%2FTAGAvniQSSUog0pNzTim8Owc6QTuSKSTXlQqwV3eiEnklS3LeSXYPXGK2VgeZBqNcHG6tZHvA3vTINhV0ELuQdp3t1y9%2BogD8Kk%2FW7QoRN1UWPqM4%2BxdygkFDPLoTaumKReKiLWoPHOfY54m3qPx4c%2B4pgY3MRKKbljG8w4wvz8pxk3AqKsy4GMAkAtmRjRMsCxbb4Q2Ds0Ia9ci8cMT6DmsJG00XaHCIS%2Bo3F8YVVeikw13w%2BOEDaCYYhC0ZE54kA4jpjruBr5STWeqQG6M74HHL6TZ3lXrd99ZX%2B%2B7LhNatQaZosuxEf5yRA15S9gPeHskBIq3Gcw81AGb9%2FO53DYi%2F5CsQ51EmEh8Rkg4vOciClpy4d04eYsfr6fyQkBmtD%2BP8sNh6e%2BXYHJXT%2FlkXxT4KXU5F2sGxYyzfniMMQkb9OjDN2C8tRRgTyL7GwozH14PrEUZc6oz05Emne3Ts5EG7WolDmU8OB1LDG3VrpQxp%2BpT0KYV5dGtknU64JhabdqcVQbGZiAxQAnvN1u70y1AnmvOSPgLI6uB4AuDGhmAu3ATkJSw7OtS%2F2ToPjqkaq62%2F7WFG8advGlRRqxB9diP07JrXowKR9tpRa%2BjGJ91zxNTT1h8I2PcSfoUPtd7NejVoH03EUcqSBuFZPkMZhegHyo2ZAITovmm3zAIdGFWxoNNORiMRShgwdYwFzkPw5PA4a5MIIQpmq%2Bnsp3YMuXt%2FGkXxLx%2FP6%2BZJS0lFyz4MunC3eWSGE8xlCQrKvhKUPXr0hjpAN9ZK4PfEDrPMfMbGNWcHDzjA7ngMxTPnT7GMHar%2BgMQQ3NwHCv4zH4BIMYvzsdiERi6gebRmerTsVwZJTRsL8dkZgxgRxmpbgRcud%2BYlCIRpPwHShlUSwuipZnx9QCsEWziVazdDeKSYU5CF7UVPAhLer3CgJOQXl%2Fzh575R5rsrmRnKAzq4POFdgbYBuEviM4%2BLVC15ssLNFghbTtHWerS1hDt5s4qkLUha%2FqpZXhWh1C6lTQAqCNQnaDjS7UGFBC6wTu8yFnKJnExCnAs3Ok9yj5KpfZESQ4lTy5pTGTnkAUpxI%2ByjEldJfSo4y0QhG4i4IwkRFGcjWY8%2BEzgYYJUK7BXQksLxAww%2FYYWBMhJILB9e8ePEJ4OP7z%2B4%2FwOQDl64iOYDp26DaONPxpKtBxq%2FaTzRGarm3VkPYTLJKx6Z%2FMw2YbBGseJhPMwhhNswrIkyvV2BYzrvZbxLpKwcWJhYmFtVZ%2BlPEq91FzVp1HlQY1bZVLqeNR9SAUn6n0E28k%2FUuGkNpP1DBI5ch%2FEehZfjUQ9aE41NhETExoPT2gGQz0IhWJbEOvTQ4wgcXCHHFBhewYUiFHuhRSAUVmEHeCRQHQkXGFwkAgyzREJCVN7TRnTon36Zw3tPhx4EALwNdwDv%2BJ41YSP4B2CQqz0EFgARZ4ESgBHQgROwAVn9GTI%2BHYexTUevLUeta4%2FDqKrbMVS%2BYqb8hUwYCrlgKtmAq1YCrFgKrd4qpXiqZcKn1oqdWipjYKpWwVPVYqW6xUpVipKqFR3QKjagVEtAqHpxUMTitsnFaJOKx2cVhswq35RVpyiq9lFVNIKnOQVMkgqtYxVNxiqQjFS7GKlSIVIsQqPIhUWwioigFQ%2B%2BKkN8VHr49HDw9Ebo9EDo9DTo9Crg9BDg9%2FWx7gWx7YWwlobYrOGxWPNisAaAHEyALpkAVDIAeWAArsABVXACYuAD5cAF6wAKFQAQqgAbVAAsoAAlQAUaYAfkwAvogBWQACOgAD9AAHSAAKT4GUdMiOvFngBTwCn2AZ7Dv6B6k%2F90B8%2ByRnkV144AIBoAMTQATGgAjNAA4YABgwABZgB%2FmQCwyAVlwCguASlwCEuAQFwB4uAMlwBYuAJlQAUVAAhUD2KgdpUDaJgaRMDFJgX5MC1JgWJEAokQCWRAHxEAWkQBMRADpEAMkQAYROAEecC484DRpwBDTnwNOdw05tjTmiNOYwtswhYFwLA7BYG4LA2BYGOLAwRYFuLAsxYFQJAohIEyJAMwkAwiQC0JAJgkAeiQBkJAFokAPCQA0JABwcD4Dgc4cDdDgaYcDIDgYgUC6CgWgUClCgUYUAVBQBOFAEYMALgwAgDA9QYAdIn8AZzeBB2L5EcWrenUT1KXienEsuJJ7x5U8XlTjc1NVzUyXFTGb1LlpUtWlTDIjqwE4LsagowoCi2gJLKAkpoBgJQNpAIhNqaEoneI6kiiqQ6Go%2Fn6j0cS%2Ba2gEU8gIHJ%2BBwfgZX4GL%2BBd%2FgW34FZ%2BBS%2FgUH4FN6BTegTvoEv6BJegRnYEF2A79gOvYDl2BdEjCkqkGtwXp0LNToIskOTXzh%2FF062yJ7AAAAEDAWAAABWhJ%2BKPEIJgBFxMVP7w2QJBGHASQnOBKXKFIdUK4igKA9IEaYJg%29%20format%28%27embedded%2Dopentype%27%29%2Curl%28data%3Aapplication%2Ffont%2Dwoff%3Bbase64%2Cd09GRgABAAAAAFuAAA8AAAAAsVwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABWAAAABwAAAAcbSqX3EdERUYAAAF0AAAAHwAAACABRAAET1MvMgAAAZQAAABFAAAAYGe5a4ljbWFwAAAB3AAAAsAAAAZy2q3jgWN2dCAAAAScAAAABAAAAAQAKAL4Z2FzcAAABKAAAAAIAAAACP%2F%2FAANnbHlmAAAEqAAATRcAAJSkfV3Cb2hlYWQAAFHAAAAANAAAADYFTS%2FYaGhlYQAAUfQAAAAcAAAAJApEBBFobXR4AABSEAAAAU8AAAN00scgYGxvY2EAAFNgAAACJwAAAjBv%2B5XObWF4cAAAVYgAAAAgAAAAIAFqANhuYW1lAABVqAAAAZ4AAAOisyygm3Bvc3QAAFdIAAAELQAACtG6o%2BU1d2ViZgAAW3gAAAAGAAAABsMYVFAAAAABAAAAAMw9os8AAAAA0HaBdQAAAADQdnOXeNpjYGRgYOADYgkGEGBiYGRgZBQDkixgHgMABUgASgB42mNgZulmnMDAysDCzMN0gYGBIQpCMy5hMGLaAeQDpRCACYkd6h3ux%2BDAoPD%2FP%2FOB%2FwJAdSIM1UBhRiQlCgyMADGWCwwAAAB42u2UP2hTQRzHf5ekaVPExv6JjW3fvTQ0sa3QLA5xylBLgyBx0gzSWEUaXbIoBBQyCQGHLqXUqYNdtIIgIg5FHJxEtwqtpbnfaV1E1KFaSvX5vVwGEbW6OPngk8%2FvvXfv7pt3v4SImojIDw6BViKxRgIVBaZwVdSv%2BxvXA%2BIuzqcog2cOkkvDNE8Lbqs74k64i%2B5Sf3u8Z2AnIRLbyVCyTflVSEXVoEqrrMqrgiqqsqqqWQ5xlAc5zWOc5TwXucxVnuE5HdQhHdFRHdNJndZZndeFLc%2FzsKJLQ%2FWV6BcrCdWkwspVKZVROaw0qUqqoqZZcJhdTnGGxznHBS5xhad5VhNWCuturBTXKZ3RObuS98pb9c57k6ql9rp2v1as5deb1r6s9q1GV2IrHSt73T631424YXzjgPwqt%2BRn%2BVG%2BlRvyirwsS%2FKCPCfPytPypDwhj8mjctRZd9acF86y89x55jxxHjkPnXstXfbt%2FpNjj%2FnwXW%2BcHa6%2FSYvZ7yEwbDYazDcIgoUGzY3h2HtqgUcs1AFPWKgTXrRQF7xkoQhRf7uF9hPFeyzUTTSwY6EoUUJY6AC8bSGMS4Ys1Au3WaiPSGGsMtkdGH2rzJgYHAaYjxIwQqtB1CnYkEZ9BM6ALOpROAfyqI%2FDBQudgidBETXuqRIooz4DV0AV9UV4GsyivkTEyMMmw1UYGdhkuAYjA5sMGMvIwCbDDRgZeAz1TXgcmDy3YeRhk%2BcOjCxsMjyAkYFNhscwMrDJ8BQ2886gXoaRhedQvyTSkDZ7uA6HLLQBI5vGntAbGHugTc53cMxC7%2BE4SKL%2BACOzNpk3YWTWJid%2BiRo5NXIKM3fBItAPW55FdJLY3FeHBDr90606JCIU9Jk%2BMs3%2FY%2F8L8jUq3y79bJ%2F0%2F%2BROoP4v9v%2F4%2Fmj%2Bi7HBXUd0%2FelU6IHfHt8Aj9EPGAAoAvgAAAAB%2F%2F8AAnjaxb0JfBvVtTA%2BdxaN1hltI1m2ZVuSJVneLVlSHCdy9oTEWchqtrBEJRAgCYEsQNhC2EsbWmpI2dqkQBoSYgKlpaQthVL0yusrpW77aEubfq%2Fly%2BujvJampSTW5Dvnzmi1E%2Bjr%2F%2F3%2BXmbu3Llz77nnbuece865DMu0MAy5jGtiOEZkOp8lTNeUwyLP%2FDH%2BrEH41ZTDHAtB5lkOowWMPiwayNiUwwTjE46AI5xwhFrINPXYn%2F7ENY0dbWHfZAiTZbL8ID%2FInAd5xz2NpIH4STpDGonHIJNE3OP1KG4ISaSNeBuITAyRLgIxoiEUhFAnmUpEiXSRSGqAQEw0kuyFUIb0k2gnGSApyBFi0il2SI5YLGb5MdFjXCey4mNHzQ7WwLGEdZiPPgYR64we8THZHAt%2BwnT84D%2Fx8YTpGPgheKH4CMEDVF9xBOIeP3EbQgGH29BGgpGkIxCMTCW9qUTA0Zsir%2BQUP1mt%2BP2KusevwIO6Bx%2FIaj8%2FOD5O0VNrZW2EsqZBWbO1skRiEKE0DdlKKaSVO5VAuRpqk8VQJAqY7ydxaK44YJvrO2EWjOoDBoFYzQbDNkON%2BUbiKoRkywMWWf1j4bEY2iIY1AeMgvmEz%2FkVo9v4FSc%2FaMZMrFbjl4zWLL0%2BY5FlyzNlEVYDudJohg8gPUP7kcB%2Fmn%2BG6cd%2B5PV4Q72dXCgocWJADBgUuDTwiXiGSyZo14HOEQ2lE6k0XDIEusexDzZOMXwt1Dutz%2BtqmxTvlskNWXXUQIbhaurum9GrePqm9Yaeabjkiqf%2BbUvzDOvb2Y1E%2BEX2DnemcTP%2FzLcuu7xjQXdAtjR0Lo5n4%2FHs%2FGtntMlysHt%2B29NXbH6se%2F%2FWbFcyu%2Br28H0MwzI30DYeYTLMXIA2EG8QlHpAsyS0EfEToR0a3utIxFPJ3kiIHCCrZ66b0e2xEmL1dM9YN%2FMwS5p01N5jMX%2FBLKt%2F1R83l0LyC29M6%2BiYxo%2FUNg%2FEF7c2WyyW5tYl8WnhWg2%2FhyySbD5UhnDyS7OcU0dnrFw%2BDfGdI7v4QfYIIzOMq9hFtY55gmvC7jZ2FK7sEdrn6IXBuucYhjsGdQ8z0yEbWkkczjjsE5hNAIZrPx2zOLZDmKNXcXtg7EMqidAEEWg%2BSJCBBNwxvxJfc%2FbZa%2BKKf%2BxoKZybnq5vaqpPTye7CiF%2BZFjxZ8%2F7Qij0hfOG%2FcowPA1rT1l4ymWnrKmxxqfErTVrpgwPlz1kC%2BOy8NMDz6c%2BIO38K%2Fx0xkPnLW8Kx6qGAoQdL%2BTD9V9rb%2B%2Fctn%2F%2Ftrxz8dUrZrD%2Fzk%2FferF0cNt1BzctmX2FZPXt%2FjnFCQNz4Ah%2FiKllGiCMs1w5Lkg0kiEwj6VTXCDKsX9rMpnvIj9pcDecXAIXMnqn2dTUbN6w0XQ9ue6FV%2FnnXCH7S3lPWGltVcLsH75ub3ab7A8M28caNrIeOr3o5Q0yFsYL80xaa0EY%2FUEczV7icUMY5pnelAkmUAXmHYjvFWFGxuqlSaow3OM%2B%2FiYY7%2Fl%2FhVELF4EjRqNR%2FbvRbOY%2BDUGzGR%2FOh3EqmE%2FugIQQguGt%2FeMYz%2F%2BL0cimjeZfQDI3phXMbMQsqH%2BCjwVz%2Fhf4idHovgVmB8gLvjbicDcC%2FNypP536E%2F9N%2FpuMibExdohBmNwyiaZdJGoigos7GpF222xrfnZhML%2F7Z%2BylaqP63Hr%2Bm7bdUkQ6%2F2cXqdfmvwixY%2Bs2ksXFeXcE%2BiX0Z%2BIow76DBNgjJ7TOdUK18iPsPflfQD%2BDPsZG2Aj9VmKMMJ4fYRrhIaxhTDR0Elh2vA6h%2FAE6xUb29mj3sjmL72petXjejPy%2Boel60M99tFduCI59N3221xe7apOvxs6aHs7vab1IqY2tv7q2xsHeHGml%2FcV06u%2F8S%2FxTjJ%2BJYc0bWEX0ukW6YmIbGkJRMdjJ9mYIH5QIdJF4hvRGyK7cC7ctImQRcUET99fGXOoft35GYLMQu%2Bg2smnkgZUrH8AL%2F9Si217IssJ916nv14ZrJrvdxLkQvrvtBcjgPC0NXOicO8Qf4mcxPqh3hgUw3DDfdvLJXngg7N3dN2zbPJSaed3OfZnMU7dvmznp3C3bruO%2BNmue0LFsy7S%2B6265%2BfCKFYdvvuW6vmlblnUI8xCXp37CrOZv4B9gauDBlYp7adcUXB5DNCwYImlXOJJKkAdvExXxVvKEYnCo%2B3eIskP9qrrfIYs71CccBjfXRC52udTHHdaP1A1ui%2FVvH1otbrLrpNXBsGX5B89QghDyimlvNB2KfkxZ5C9%2Fem3%2Bd1%2Bd%2F%2FIfFp2%2B2Oxn%2Fs%2B9n%2F79p39S3s8idN6g0yZObwJOgKUpNB3GyU0Ls0PbRzIRq4lcarLKOJBkLRzJQD4j2090XrbA7DW8K3jNF5hlGS5e4V2D17zgss4T20egOJte5iD0bReM9yjTxnQxCRj3c5kFzGJmGbNKmwGw39IJDJcXJZGMkaAB4jyJAKw0jt5IAuIE%2BA%2BU3cVAZZrq9zhDyBrU8oosuxcGNTzCKJfla7JjNVmuSb%2F%2BtuzN2H%2BX4vlB%2BPpdfMXXmuVsNiub1T34SFbjYw5itEvVi0K0Nt9pNJUMI7SLGRhf2xipfCYf8z5OdlGKayOucFeVPeS%2Fdbo3lBrbSMmwUiQN5%2Fed7g0Ds1s17IuZC5kNzM3MZ6EWCa0DtekdJfAxz%2BR%2FOX28sND7yRMTBcf%2B%2Bs8mQCQWHya4qBv%2FufeMoWyslPA9DtMxUknxkH%2FyfTnm2CMYzs%2BCq3r7PxY%2FMXomrvTEsRpfEGHa%2BWN8E1AHjElb7d06ddA7oK%2F%2B5Mdsv9EtPms0jv0Z5kf1FqPxWdFtfFr0kHfgDX0Y%2B5PRSG7RUj0tQr7rmfX8DH4G5W28kKeJLtmQsQkuwMP1pk16EV4sl7vrMJATfyUWo%2FGwEco4rh4XFQgaiUX9qxZHrMQqKnz%2Fc2d8b9TysYrAuXpP%2FRf%2FGr8b1qwwc5a%2BeuLa6S6sneNXToG2XrEJi4R5SGs8Sq2S3d97bsfCRaTdaLwKClRHt37mkudvXbjwVrLhuYeGhh56bvfQkHpk2CwvwClqgWwuBfndC3c8dwmstj81KkagcUgbfPY8Zje0W%2F82VPWJHmSq6pP8hPWpotc%2FEexDOK3qU%2BwngPhOCiO9MJRm8TJefjelrzoKnG2Bn%2B1NCUmPE4gHFmBN9jrTigRIpsACrc9Gstg58ULkp9467%2BGf%2FeFnD5%2F31lNrt2967dhrm7bzI%2BVT5m%2BfzKhvf2MzpICEm79Bopkn07lt1762adNr127LwVqQLdJ5%2BlpQDcvHPQtVY5knhYrK6q8%2FJsiP6EuhGZdFdaNszjvpqvc%2BPI0CdjN0AXsFOC3ZfALDJwr4q2Xq%2BGF%2BGNbsxUg5NLLIEXi8otcDQcUts0D8eQ1iVDRAMBTsYiNdRIxE09EIBJO9A2xqgERTaW86BUFn0OD2xFO97FAgFhF6OoQ7prYt4XwSeUgQHiJyDbeke9IdQntciLQ1FlJMaYcUNvZBg%2BFB1ubjlnRNvl3o6IEU2w7fdNPhm%2Fhh%2BFLysUu6%2B%2BDLHkOkrSHYEjH0tEPe7WdD3uyDgvAgK%2Fm4szFFR7ch0toUgBTdWHr7EpaWru6%2B6dmbbnqWEbV2EtxAsXiZAPTtGPSbHsotI2leoM8TePEqgSQprs7AGFf8kuOkPdZPXGb55POAW1d%2FjLST9v5YflasP6v%2FCO7%2BGNAPC2BMZWmsOjp2NNbfHwMCJD%2BLPVL%2BD%2FOYlWEEI%2F9jpPddOFkB5d1GSuKZYggmCCd7JUxD7EXAzxyirYnNDLdDZoFdx14kivkvGc3579Jm36reTTvDgBnaO6vzyQ6chQmlsMoIkIQ2%2BbBDWBud1Va4pcCn8CPqxlh%2FfgtG8IPaPH8C5wk6%2FnZDv69jurV5QhtwE0x2iqOsj9Mx8B9%2F0EaUdiPfOYYDCi%2Fq9jhWRuupMDEU0%2BCtX0sDFxv07T%2FK5niBPqN9%2BtQjgEc31NGCXFeMcCEuQBIc%2FBK4CO78u7EPYvl3yaEfK3vcb6qP1R2tI7vUjVDDUdKubsSrNjYKY1qBEa2P50SJoaXiksIoLiCwnxS6EBuBde87botNfdEWwYvF%2FR0%2Fu5yCqhGeEOR2ynSeyXjt6ka7neyye8kryBSWE52y%2BRBgogrXPZ8E1yIHoHIFUM%2BAbJhE7lbMtt8ApL%2BxmZW7PwbjAO0fAVoXQOuiSP%2FksIVdFZ0aulsamKUzwPZ%2FNYDMJRBPCxsBqLzqHyneXF6Ej9HlIFo7%2Bpg%2BjUb3unRmGpstGkm6etOuDBGA5wCMefp1gTHcdZlvPBXlOslvYTp1cd8UjYLVd%2FJ5awNrIOKLnIt9MD9qdrKrWCvA6ALm3QV9VrsPm60Q7%2BRHJHP%2B2hqfugo%2FMvI2H%2Fmqr4b9tFnKSRY1Y5Ek80Nm%2FWIhr1ikKnxGz9TWXrokf9xwujfvcOTtNTWnxd0F37Y2W79tteBqZ4G5qLCuomw%2BnSr28QESCRVLTyYKILGJOPfcnaIFOsewhRdvv%2BrWa%2FWih0vlbX6Zb75T5C0qNKVFvH1QL%2FvazSWgC2s6oWXXIuUxQelKiJbowuJDQViatLmLijg9CQBMg8WiPgiw3LEeYRmm5f%2BXdnvkDnxLLjMLxtvX74C3OlwPQqx4xwIdpPx38LrlDphiyWUWHWKAzzxurS%2FxTo%2BP5wGFak62ap1PVFFN4v%2Fy%2BxuR39WnIO7lsWfwgVsK17wxrs9K8ltIKuhkw7f%2F6dhK6gQokFKhWX3urrjk%2FrnI0pgfpGMeuQIUaEM7%2BGF5q2iMkCaMQwxxOzcvU0eXbsnS9XknXvP7Gtw5dwPXlFu2ecvSHEZgNDsU6x%2FGdXBYXyOQjzZReSedeEPY6nEv9gJR4oBQJtFO6Kd0fwC6BO4LNHDeBujB6dSNcUQC9zIv2LnAzGk99bUDrdFY%2B9yGFQtEo0GQPNv6vS2drj4%2B1jHbv3aJSMUWP%2BQTZrmbNTjU8wyG%2FiXNNpskybLcJ3CiTF5Ir%2BJYzmJwE0mSVhlxbtbmvweB3ulB6Til5UuUZydpgiFVeobhU0WaBqpJ198d%2B%2FXeNRTZ9%2F1OPfG7%2B2hwzd5W3D%2BhmyjsRcUg%2F%2BCavb%2B%2BVh2ls3L7zT%2FetOnHNxeerv313vzLVqPai4nJv%2BK1FC6040%2F4udw7sAb3laSg0XCkAAs0npBO6VJabS4Elk%2FU%2BD4gTXW%2Bj0wnrMlqNamq4tMIYB87tE10i0FR3LZNhJsb7%2FR561btmes8YBCRkhYNByRtKd55mqTas9FYhJnbRGHuOh3M4QTdgQSqmgRxuzGdSvZGcbMxNQGk5C3ebLjoXIOFM4l%2BWKHmLTJwRv9E8GWJ6dYvf%2FFmEyEGr%2Bgyrr1p5zrgkz0Cw2j94Hv8Jdx7dIVegBSNtgsqGsRQEYiIBoXwD0LNvQ5d7s5Z00QzwNhqZA0b%2BtMG1tQq5nd84uq8R0zPvX35G8uRaze4jcOHzz0w1%2BQ2BIRvf6J6Kgatnrbiem%2BCFvAxfkrndzD9MFPP1GWTUHclpASUkCNAQkpCCcCgDSUDAhDZ%2BCuEkgn8J7i9nMA7pA4lISappxILKfAeSAbIcSDuN2bJcfZILqeO5rLs0MnngSHYRdrHjmaz7JEsEPw51ZqDJDmUIOZIe34WaQeegNsJn1qz8AIpT3yCjyEih%2FxELkuJ0lEMYTLVCiWpo5oYMleMH6USyYJcD%2BuOe%2BkWKpn1Qns34iyYDjkSLvgnZXcgVQNeqINXr48m3iS7cjm8tedyY0f1QvTnHHdsrKby%2F%2BSSbPY8%2FNH6vpl%2FEsq3Ae4ZU1HC44KFiI9o7CEgab%2FRqHbj7s5KAg06s39ZP%2FzxI%2FmVuF%2FTbTSy%2B3Fb8If9%2Fcv7%2Bwt91yy8RfP1QXtW5RzQn7qIiZyuFM5QfJ5E9uVnqT85TanFx0lkP3ukBAMprvsRyi%2FC8NAJL1xbIIirSvnSj4O5netb4JxmNANHPssHAcHMHsFRgEug816gDBeMbdfiuRcghqYcm0%2BXxx%2F5IAEtN3fqFF3LzAXqwoT0PN0OVTNqxo8sxMkd5Ig6k79Zk7VxxX6gMLOZFQgvpW2RrMW1D0BDihaXQ9wVRoBxPLfpknmkeMtoB%2FqM9cRc9IqmMD2XUmdZ7GSRKPUZvChf8BoykriM2MnKYbOHX8R7cLdNCxSFFVQqoYswnlWtlFS2mNkhswVpZiQW1J%2FUKFfipHGlUkM6UKBhMz1istELIHJLMSctu3ugzfaVSOjKvUgc%2FTHK4Sdg2Wscz69leKIkkrwuuWiOe9yGYKQXRumkC3qbRcMwrvhjNXgdZk3RxAUEhuSPvn3nnd%2B%2BU%2F3vlVOmrJzCD8JLxV1OHRjrZifbcFDOuRNTGqdgQm1tSNJ2OcQ04YiEXuxtII1ECSQRoQGYioEsgCfchB4ghAtw7FfJre4WZ9hkVi9MtjuWqtdNDlpMrfEG9fOT6q21okg%2Be4As38MfGquNt7oUws6Ysarj1%2FefE%2Byst86YUVNvDdts3Pv5c8m%2FaP0C%2Bf8%2FQb%2BIMnGq09BgwN01oIOAnAdagI8mBSrqk1gxTDUBOtk2ousEtBH2z4Ir2d3f6k8PXXVlt2qN9RODxRuoJT%2Fv27wm09jRYVc%2Fe%2B%2Biyx2tyzJb%2Fn3J0htXP87eSsQaf2Ly0s6Zmxela88REy1cf4273mI3iXNJ7KxrZibOm9xm6rl4fqy%2Ft27smU8tOfdW2ucBzg2UfmOIVyLIl3kpYlwphDISTXJXsctmiDtN7fNV6zelgxwnWxsVr83Aj%2FS5ki1jL%2Fa0GC6%2B2L6Um%2BaoddlNFuj%2BbJ8mH%2FiaLh8I0%2FU51NspIEfq0dohwyFXKgm4NggwQ4rRhCOUFtxxo8XnitT4cnGfT93IS8FaT85XE3H5LMY4zIEPL1hw443wz%2B1UmhTJyJGxZzw%2BwsKkKZgUiVtKOKMEb2AKHTv61FNc01PQFwKnvsZ%2F9pPA4RKTASWahmh%2B8MxwzHxKy74IRn5LGRjsPUUwTu64UYNY38caqd7HKucZ%2FtHnODtENw%2F2UfHRMaq1UUPDJQ0OKkWCeet5fYOhII1VRz8%2B%2FElg5j4Gxur3J8o2PJ4rg%2B2d08T%2FfwEzSVbyZ9XPro95T477lRKqUSRXQnauHNsISAl27oWi6Fv9z48JMv8r%2FaMMj8onCP%2FDuDZOuN%2BGPPr%2F%2Bp7bx%2B7JlbYdppcNhzKU%2F1Px5aiaGDn%2Fs1iGMaBcleKUo%2Fv9rcxkZj7DBEKOfrayytXNLYiUdBY%2BpleQXdnscKlQcpzuWluxsieeyuXIK6SdxozitWyGOV3vOHHjguyCQ6fpIYy2JwvrQEF%2FQa9Pdf%2FQqOSqCiE%2FEE1%2FXIVKTc2tzWbHnimrEd%2BVyz311Ml3P0GVTj7PD5aDnsvCvH36alEaPMePcMegXs7x8igTu4B9v7G9vTHvhCu%2FkzIdx%2BBxC0ay9zRSvoS0F2lIxI%2BX7klU63I40gLQ3w5ep5na%2BSFnba3z5D64zv%2BQtM4n4ffG3tq4aNHGRfxgrXPMim%2B5487abL7xhdseIRn1KDl%2B7aINixdv0OD%2BJSPwKf5%2BxoP6aiTeQIDVlIhMcL1H5R9PYXvprs3fv2bO7MOplCmweuiq2JRZ1zz%2B9a%2Fv2PH1Hfz9236w%2BZrPXvWfAxlj4NLLHpq3c%2FPQ3uvmvbrjG7fe%2Bo2y%2FcLdtE6VUlXi0ASb1VLUBVSUWSU4HdvAraTyS8xzM8NxvxFkXV6pUVRiJwcgC5zEeht4rwcp7ki0k41G0qlQhG1Vzlq8alEmnFi58caB5Q9vn988MLhqyVlHvLEWjtQFeupdiocF%2FtkkOGPW2ibWaBTkeZ%2FdvPWazXfOnnvL6jkRXpi85sFzZt%2B55ZptW3bl1cCCHZPD06MhySha7UFzjcjbp8fOecFCirzAG%2FyVjBX6OFIaadSjQq1nNhyIe8tVbaaSdHlXIWKacMeuZA1uxS95zILhyrxAdsXTL6m7kNQlx2P9uZf2qhufePFFbpI6%2FOU0WcP99RrCsrwseVot5mtytpf6Y0gm9sdeyKnPQ7onyK4nXlR%2Frg7H95M1upzu89DH6pgUcikoiihJ6NJKmRxV1x%2BMJiOA3YwhDRQrWU0u%2F0rvq0VYXnyCwsLeTJYBq3dAtJDavuzyoVpzZ99Z0%2Ba0uoiFH%2FxcqgDR7rUFeOrUn6Cywb8ZeNMbhLV5ugP9l0zv9UN5b5mFkjzxUcpPJCn3V402pRxtJd2GrnLdhtVk9ZSZh9W91fCSH5B7ofxPiWL%2Bj3D%2FuwhBRdyAyozeZwvQzs79soi%2BBKSnafLviZCcfrpBpLyimfLfTyJtbyruIQKD01tUwJyKEo%2FybaxkSNFUMdMkhQoJyRBQFhnUkDQSXhTM%2B3NmY0EDM7ffLIjqWEGt8lCO6mLia3PukFnghosJD5p5SIho%2FVDkzQfLE%2BIrYoJXkD19pdP7OwG%2FvoIUtagiWiZ4PAFTHHlTVhRZ7dYmPar%2BNJ%2B8JhmR6DFK5DV1foHoLNO%2FpHrvZfmWZ15RQlwvoVDKhCWNK3CCch9lfFBuAqUgpFSShmNaPj%2Bi5%2B%2BWZfKeViJfW5HnUakVL4UCNVkA4%2BETfIqx4B5xSaP2L1yn0zn2ltPn4%2BOqZGmwwEVCaCSqG53ldtL1oLGAhdMLd09MpCCF6tD6ZnAZBY9hDaYsP0jzZ0j5ZjKsF4i1UmLuhbJMCnYJPt5VwFNvmZawXjEvLJqIH8STonZjq7BZ8gKgR20C9MDFqJAX1H64QW2NEup6qgzLP8cvppL%2FNNTOBTCJABOHeWoXzLhw4Wuy7gaBtjKr9kgKq8ZlRYBS32Lpxc8vIhpNDTfyNXWybMJbn2RyQ5EmWc2QF9wmSZ0KYCE%2BcPuYO6b15Uotj2Kd4MItLS7gtFbkTdrFND6pvEZqv5Yv7jXAus7Pg7avo7KDot50NX3CPkP%2BKps8J9%2F3mGQIteY%2FLGPC%2BL7872SPR2br5fy8MtKBMHedGuM28%2FMZmPJMrGgi3Gb1S%2BSi1%2FL%2FzrZwO9XH1ce%2Fz7ZQ1WSoY%2F%2BpMb5FT4ua0Wm%2BJf%2F298nFmChEQ%2BTi71est4mq9VYI6RsymoRJKYidElT2FGnDTZvqtfhGAFTbeqEw68GqtfmbVa%2F1IFO1%2FjdWr%2F8BDRRtQh9XNjubEm4aWVpVonpTGR7PVGc%2BKJNoBIWF7kYi4gUV3r1U6723i6TxUl3n3%2FtM27aZfKb7THiHW9VzFSwHJ05VfK6Ar7kaB0XgPPE0BSkSFKsBUpaLihEWoA9wBt8qirh2VSOkZwXEwyrxZ5jyt2rJmSo9gX7cg6jsEUGJU9z9xJPOEM3uQQxKgkh35DNATnVyrmJ3mbCNyIB%2Fyox4wH1bg2DwN7q9kov4pFqny8oSm3RQbGgJ1QQTs6ZMLilOVYJ9v6Wha3HcJ9jddsXp9YhGUXLXt%2FqMDnvLpPNTXfNa60z5%2FyjXQOMq%2BlNmwh5egpYrdfZQZV9rI47xlRkuyTjpzsmCBSWNkAXVoK8sgYWqQJWbo1RLo6QH0YW6pxqfCnRgkd%2BRiFjUQUQ7poIaYoakgXxwFd9BuuI38H1xBxXSFb%2FpBDIKQFn7YB3dB36l7sG1FLaKiBdp1KxLvfswap%2F30lnVESgNnvjbUoT6w9N%2BXoio0qcYOIM%2Bheg940YimsucQVvli9NEcft2UZwGQwLuilj1fFr1i3NP94X%2BPE7Hpvtj6lBJfJ4R6NvWiaL6MgzWHxiN66DExa%2BdAdAbMYX6HVF8A%2B7rjEZIXAVbDe7PVI9rmN69JOLV1DOSvRPxWNPZBZf%2FNf%2BNy65BhYxxxV%2B77XJ2wfQ389%2FIQPgajXbwMsuAz%2F0IaQcXJavKbRqR2IqyZruXjVC2%2Bhdee%2F5vdnYOedpmVtR3NGXldxSzDSIiBVpkGb9by89UpEPKrSLZmyFDzMab%2FwXl2CNe7s%2FqCtTvWgG5kpBmCBlSzDS%2Fr8N4uwBwohRW63JTS1y32f0TQsPfXVGEHQrV8%2FNCfiOUVirYcBbIeA2%2BiF68rQIo3B%2FS628vYESr79ehzS7Q9LEL9UXmik9XVHb1yBO3Ngvt5935%2Bk1efkV51mzzrM0LL3%2F20avnwMeKuWyOUZg2TasSqZ%2BKcZQiOn1Iu2Vh497ALUVZiCKt%2Fgh6IvTIj1ZLRjWAkpHKOKovNwp00eqPROiAbiNEKieXwMLcXhVJ1%2FuzmLP4tfxaHR59cBdJVG1kTAgl9ze9QKUEQ946Hkb%2BokJ5JRDyf54Axur1D%2BWS49cLr0tTPEu7UmXrxcSr3XNvumv4yXzInXKH4F7Tc7p17Zt%2Bt%2FqW2%2B93k063X7VW6lALxTY7i1nBXMxcxmzQbabxz%2BtJo%2BwijYaIGMNS8AoSMgAPt84DdHOoMPfjXhF%2BkuH1tZvuFQrRCN07xGcXRX9MYxYchDe5BcHj%2BZ4i%2B42WyPc8Xofi7bbZJN5nJLJ5qr6IqRtzqNlM17SpFsnkEyTWoABEjz4JXOQvzWYuwdnV5LNGOwTM5v9r4RpQ8ZXsYodks3o31JBlzbYtNotisnm22MxiwGFXam5oN1n0TA%2FhRvshvTSDwHff4nNzRo9Dum6PaJbMXzDz%2Bx%2BFkj4L4bFNBb1asqsgH7Dyh4DvbkPtf5yMDKzEwyoaESMSNS9P9gJVA3%2FRTlwoMwZvxECFWxIPNw9gi01nOHjP32esZTtmXHnxvZd8ZtakqQ7ekajbXetpNa6ocTVxJtY%2BuSe69OLz77zh5bDR3xjZMzUz6fxrz1nqrZGcHQHfPVefN%2BfiK86LeXj%2BSc5lPKy%2Bk%2FvCUI%2FDaLFYCWHr6nbXuILTIsb5imNKY%2FrCm28fSMxPhkN1XbNMNZGuqwOBhtTSxWuTk6bw0ZaG86b1hKddePOKuBvmiguYBn4T%2FyOqOyGRBt7bKUI1GjioBC8aUKwF7Q319UgcmtFGIzCJGBqwQij0ynDsfdFGc3TS3BlNfJ25xmzniMkpXXTPvCaD3ZaZvyzjmZdudBostmhb0ORZNN2sJBeed1HXkrUsywueQH%2BL0eCPxmsa5ZpgRJSDZ11yDv%2Bjmbd86vxZfc1WcZJ3UkMq1BOOOVtvu%2F%2BpB%2Ben186d3GTwWAw2jheaJs09%2F%2BLNfZft37DALyrNj1wABMuUKbODyTVnT%2FKYbJ3Tpq8IrNh92dkxOj5P%2FYpZx4%2FycyiVcDYdn4JbEoKdQi9054iBKsygLW46FRGxAb0NPNCm8BSNCPjoKcj6EAus4SuP3rB%2BcV99%2FeTF6294dA8%2BTK6v74MHVpYNRt%2FI30e8QGTOOdfGWzzxcy%2B87a7bLjw37rHw1nPzp0KyyRSeZO%2BQQhInt3dYgvycjrPOv%2BT8s1rptaP84VeywdWX2T4ysr0%2F7TLIs6%2Bx9zib56ye1dM9e%2FXsZmePY3NDs9zlnNVt4%2BWgHJbbz3Livg4P9WWgviOMm4kCRT6I8vw0NbUUEnFvOuFKoxQW1gTsvFirsF5pb7qTUCx4i7VmtToveaDxvK9uOaedVvPRpVOnNz0Q6bry7uiSdQ8t7Vy4JQKVS%2BXPplV2ts4bvCwZu%2BKzgITtxepaPRzWdpv74muvv6RO0SorX6cu%2FdqKn%2FXWnrtp%2FZragz13DUCl5myiFW2Ycvb0PtsXnU%2Btx8pvLFbUspLX68mdegwmOif%2FNPDONajTGoUh6tU56HBJCTBASVvNUB5VIiKpc9kd7kludodSFz7xQbiOmMk5dOYk56gzL6uaf7N8a6MQOHm0ae6snZpFDfuT3%2FjdYzjzwkXXIVHoXNuCfQslQZqBZjTsoHMqrkE4jaYdgkGz2ATOgB3cPkSukD01DnV3ttb1wx%2B6arPqbkcNAHoFPzKUUQ%2BqL0k97pjbZv1I%2FegC9zTFbrrlFpNdmea%2BgIgfWW3wqkcis8ky5FAcRd1If5nNZrl2FFpungc8wpoCl1BpQV%2FScS%2BzjlASyUTVv%2FAJ46gkJI4bHX4lTnloctxPZE1ckS3%2BjG2fKIjkQFyzuo8jvYQG1OrGvJPSTu%2FnSp9PHNTl4z5hK%2F8gtXVKF6gEKiglgcKiRlCESsQCV5QIlKWKpr34lt%2FwkSx%2FJCmP5%2FcBKQfl%2F5gd%2BrOS%2F%2Bp91%2F%2BYCg5CXK2W4M9fu%2B%2F6xxX%2BvnelVuldIDCG0VQTpU9Dw4pRfei%2B6zWx0MLie0gPbyrkmRU7OwT16JGeyXLHqOLqAfVN1GPlBzWtFNzj0TRTCjogtP1NjIvu5habN5Aoa1k66wGpqriVetJgiGdwDZtKhnN0y4n9sXYnsqGmZfDSR15%2B5NLBlhoDaedEm7sxmpqRija6ZEEg2EAnTiAC8IrmFbGz1q08P9PSkjl%2F5bqzYqT9hMmptEXDgTqP3Wiye%2BsD4Wir4jCeoHbbp5hRfpB7BakUIppIlPCD30dR1GtslDz8OsqbXmejFC%2Fv8wu5X2myq7SJ8Avzv9DFUJySf5uNvq4%2BTi7W9D%2FOZrLChdwxmPNiBRqVjnpK%2FaGxRCDspVYKAW9AN1JANoo8wP4BJUlGqdgw6m1qPQ2QW3%2BOfU5%2FieLS%2FNuKpDU3uf8bcAXyBal5jMR2NEAbPAZt0K3hvxHBEDlUxfIGcD%2BN2gNSNx36nfqlAYow0puatNpRz0e4W2oahKzQHsjf2c16ad%2F3t2KTtPobnX6D8C8pd0MDP%2BKx7wnXqGGlLQcvikMErm6TmfsuxJXbSAxqNjOogJLQBLiKEHAE%2BJGTS3JoEhTrz8%2FCB%2B5YlupJ58aOat8Kv4JvregxwcU5Cp8GFAFm1FyOfto6GS2m1NGTS6CPNKkbsTdCBlnN9onMho55BX8IJZtEQ35lk%2BhtwN5A0V3RCPoD%2FyXAcv6pAtbZczRUA64JmcUf4q7Q89ZHLeJVZ5D1Ps%2Ft%2B0iCT3AHVtZC7JDCXfR7OSb%2FXja5H3zQbZL1B%2BULX1BMTEk3AseSpmnKEK4T9ekMIidUCRQFfcbj7z8gNLvzF7mbhQN8h6ZbRset%2BnQWdS%2FZX3k7WpS8P9sfo0iGS64wV516pOhjI6TZ2dApgI5%2BLhxywYoWxKUrykKJsIoDsR4mSrCTg0egMPnLW%2F3Q5Nn8BZEuzqEI7HK3n0%2BzFmuO3TtWQ5WJoG9YqCD6Gc32SxnbnVPfsxvrFXK2dILl7bLthDp6glhcsfp4bYvbSmj%2FmQ94uBTw0E73x2jbNRCvC6VL6GCFDwU7eWQDcC5FY5s0slieRDwtAbRsbLXbaXAuu14e2OJw1dc6jQ3ZdY8v7rv2%2FBWZLqvFWVvvcmwZkK9f5jS4muO9yR5res4kfkRxhV03L1RfPOiPtYi8pd7jNEsOpyTwxpaY%2FyCZu%2FAmd5Or9uS3DYaeqVOhH7gZN%2F8I%2Fwi1fEuLXvyNivibjuKvN%2B1Nc01HF%2F3h%2Bef%2FsOhox8MPd5SFucPjorQwXT%2BytA8EmA5mamHNFDVhBI5pjZbQpugBNkO8MvRub8KVDKST1Wag7D3xlin1ZF7LFP%2F79nbvCXFOY%2BPUjrT7%2FotsPXXZ4exdPzuhZuL5LUXVAn7k7PbhG89uz3b41X01gbjP1xwlu5rrvvf9%2Bpbs6E%2FVu7Nk642%2FPYRaAiUBdrmO6CDTBLPQFA1ur0uXoBR1INDMkypKpoTqnSMx5GiEdTEaSHLs0Alvu%2F19%2F5QW9Rv1U1ridT22i%2B53pzumbs%2BXFFXYC%2B%2BCGsTj5JUT%2FGCgRt3n78i2n71FHG4%2Fu6X%2B%2B9%2Braya7os3ZbDmgWfXun44e%2Bu2NZKuGZ0HiF8M4TlMPR%2BEU6rPKRJ8wOU2RFUFLex3egEsz3YqEAq0cqhAAW19dBZIlVzR61tuIdTnpXH7l%2BuXrbjPUyep%2B8cl6aXKWhPHpDcXl9KiTWDNr4mBQc8Tq%2BNzK%2FOKSbsfl79o9G20R%2BbrBXYvUg0rLHhtrc4TN81TTOWSZ0gL1ZVlOYH2ery%2F7XVUjFMbzYpg7UswcqJPQwBd0LKLabJ8IaCr2otcjSkIrGwootKECaUd4XH1%2BSdazRrfddkBU98t1htvWrbjqSqjaCguxrffM%2F5zDCpBALUycmajhd%2BR6ww4SWafuZ5eU%2BtPid4lgd3gt%2Bb%2FY9rQoZNmiXYPXyRHbRs8zX%2Ff4WIFjWZJtUdSD55AP3xtXH%2BZipC0EqdBGDA4CoYEU6gRLGPU11QhkLTBiEYPiqOeQgwTCl9aok1Qr5pFf71qEeNxjy%2F8F0GoqYPv75Yh9j3x4DuJ%2BuEzHRpAq2lMqb%2BqfTdiq6kGtzfOWsv0c7lSeMXDHBDe1MT%2BLUgx0Pg%2Fp87u2UicdIvqQi8DkxhcUwUXCedMpb4NQjwY3npTmgsURJavLwCRyEcN2HfWsDVGfv%2Fu9ZUWUx%2BPYFueUKwaNvbtu%2BXps3eVWbN1GcgVrdMnWJ7WmJz9SD66EBidag0NF1Ukep0t5A7sFCWdhzvYwHv6L%2FBehXuHqfaBwBEU7hfVLcXvS4VQv%2BT%2FvaSIl7cbeMc7ekv9i8S3e1L5xxpvMGcu1EYPbKyCiijjGXcDKckm43PqU2qNWlXusZMiqF82cuVzolUHN9NNR0HZPxFPV9V0wLtvq%2Bk4DqOwVWDlzuQLVdqFiP08cRX7aRlBVfR8cb55bWe5LExnlcsDp1vAP8Q9BucPMk1Ulh4GnN0SAdxcNHv3q9ohx1Ati4S%2FtkWjIDe3hQdkUGrGRaFBiUdiTSkI41UkMuuQHP%2BEaSQYlPQTFWJF03BNPpTu5KFAdkWgDukzsZKMG0Q1TAQQglScOaP%2FdsZ8%2BfP75D%2F9Uu5Gs3FY%2F2SxPld0DHOciXI9gqjcEidXjE%2B3BLosy0OcX3T7O5g65ROGyzQ2BZs7WbZVnO5ydLe32hMwTQ4wnnKXW6XW5LAa7oaXOIHoUl0FgLQLH2by8wSTWeAx2Y5PDazK3BqZbeJZwXGPaYhX87ZNszoDdaRxotXO1nNlpdvAPFWHDm8PqEE0sZxDEqGzxisFNnuCWetPcGrObN0p23tTZwMuRVodSV8%2BLTrOV3eRvzjQZiSjaLYS1WEJe0kNsJlZu9LFun7%2B%2BwW4gRDRbaxw2nrOGm%2BxOj9cmtbp9ZqeTM1m8UXfQQCSTVSQox6pvtjot%2FFpHvIUjJovFEoYvHYV9C5Y%2FxN9OfcalvII37UEhTbTg%2FAQIaPb4Vz6j5u8%2FaViycMod%2FfkDcpu8QZbZoeBi%2FvbzP3XPsZvOubMtaPHkD9jt6%2BU2O7vqU%2F9C9SMvgrXpQNG%2FE0oJxun%2BCiElUa0IKQSUwERxOntKSV7ekcuh9VBZBBo3VUcB58ofKBHCwLyf9qFosz9Ibf8dGqwaBMjRig4SGOZ2UkWI7UiO9OfUPdxOYFApUZyfpY7mgEc5rtNGGk2H1lPhAk1Hp%2FVAMqQEHEUfEYkkUQq1JMdzsX7kklRrTrUi1wMcDjmu1YYfATj7Y%2BpGpPEBXuoQIj8rR9mgCl4C9yqmF7xnVWxGVniNqtpVmXBvQ6iwni5YQ8a1jYrXtc2J13HvgkvqWxuva1sbr%2BP2S5ceKGyBwDv2DbrToe1u6BkAJV7xnVLUaq0sJB8pFqcUIPi3yuwxi4JuLr%2BP30f3OkPQ72aO0xYo3%2FEsmO3QO5qEF8S0qQH0UsKXv0brnl9%2B8M7jF174%2BDsfvPOl1au%2FRL5%2F9DsbNnwHL2pHR1NTRxMZhJtHktOOxLxErPF6YlLvpC9YP73x%2B4ofw%2B3xVdrHcDE0dQQCmCRgvt9b35xINDf1CDcRSfJ%2BpYl%2BSf8YcurfmXP5F%2Fkj6J82jNsrkWiEuhVlgFfyNkB3S5MUzLhoNiwSCYcxQ7Ui4J0Xh7fmqRbaPa1tzujxkBRlsEHy0%2FOM4pYLPb7g9O6BQJN6l9zQ0OGyCaZz0vMTbHOzXfQ7a2tsterTcqxeInODoemdktw%2B1SbVhKwtW9ffe8VKadK0OVuC3bWzyKm5LeddsWTeorWyY9IMtUFutdu5g%2BRn533qkocdvLs2HmhU75br%2FMmWtD8zA3OP2t1ea636jEzqYxJZGAwFiDEd61oTsrRuW3%2F3pYNi3bS%2BRd%2BGjOfVpAPNd6y64Gsz1GaZleWIPoYL%2Fv9mTeQBENVEguiF1aC4YeXxFETw6QyPfn0m9g8IrMFAvKM1EI11DARnbqibHk%2FIojy5rSdgCyZi06y8sS024PeuO4MfwQ5Y9yKRZCqyYaF30vzeHlmUprR21tR0t0yz8KZY66zWuGvxVQB%2F36kP%2BK38t2Hu6NQ9SFJfw0AdpqPEK2qTMpf2VCqJwqPoJezTL824b8akoL%2Bx03nhh%2BoNo5e77psxg9Q5LzebIKD%2BfsY34f2MtB9fk9v5b8PT6tYrgv4kRPwd0q9z3gdJSJ0653KjCYPwCaR5aUY63eW48O%2Fkdo33yxX9wCiMv2QTrk8eGSI6Ag6moG9t2P%2FF7GRNlDjl0gw7pJ5aOXXqyqn8SENnXBmbSwUYLyqJjv3UmY1nKr4t80no0faXsaIEiF%2FBRaIBnItSce4OUif7W6Vm9T9H1X9Vj71BEm%2BRdmIJQST%2FZfVdudUvh9S%2FqqNvqT98g9SQ3lHibZY0mRVHooyDN%2FFHmTgzjdozKw28NwQ0hwN6BCoPKaEk3YtKwNhwRLXuk076CGoZNXDQcRwZvreTZY9EZi%2Bd0s4%2Bztv8iei04JQl6ZbDD2eHV7X4uHuFVfPrOmcs6m6Kr7hssr%2B1VZFcEZ%2FPdJkn1hOs8SXS%2FNFFgqt94PIZzZ3tdaL6Q5vo6piSzdy737pwsX1VyxUrF15iJ4uNkq%2Brbyg1Z%2BO8VsNC1UmcvORPRfxtPrfRwL2p%2FoA1eZp6Z%2FaGffoewaXcA%2FxBlKlQLfhQL%2FoPgBGP3qsA7IQS8qDVNswHKRSheDUvA3Q7MZoRcJMxlEygujn1QdyzfPfq3dEp%2FbXh5e5YXW2Ngfvza0ZF6UgFL%2FE0fTq4LBlvTE2qb%2FKuuzYSXVnjTfM1osvqMHVbm9950quIZlbqaL6YP7jk3kUtA0GnX2nvq53f3WoSsvEdDRnULgo2fN7lNZJgI8%2FVWi33c3bBZnGY05%2Bdm%2B3qc7fNmj4YGKLj2nfqFP%2Bg7jdDlxEV5XsJQZP6hYrS1l0VQr4c69Xueixp90gnZPmE5OF22j%2BSYEWHlZ0K%2FHgsh%2FZtsbh6h2DNRlvv6jJh9XaJaHCZDiUDKNTMkvb8vsqCyf3ZNdSmO0fa0Y4baJTtpbKzuVzeeSI7fCKr2Z0WypapnXJ4gnoWy3PoUIlIQ1TXdqhQJIXp9Wx5fYdpeWh2TY5D%2BYVyKd0jw3iumwi%2FBC3cEy4o83QlZnW79MrCgCjbhWXBlRZVVZZv4rIKpXC01HFlHdHLoeWVl6UVc%2FJ5uGm6CViW5mulYMk%2BHqNYr0AyUPivLg2oMs2MPqtuhHyRyiwvNJej1Br%2BfcLyoAyu8D9B7bgmzUqfFobF5nKnK4%2Bt8MPJkI%2FxHUNWk117jugWF%2BxazTAALQn6%2BUE9lhoI5ApGA%2FiuJOsrlNP28SVVuBVajXmircLel46w2bJS1Q0Ft0KDuikDFL%2F3pYrid1Q4FvofwRIo4R9h2ftSwc6jHAMqLcCql8YPHtlzGoByNXYN6v8hXnRaOhUvx0sVLCexwupGDR4NOYC7PePa5keIPACnuAdD7dEadRuTIiS6Lb7uskb381My5yjzF8lGCjBRqdwrWJCagfB3yCy7XT1i92hbcZ5Ci1FJkgYMDf6n%2BjspIsHFjJrTOdzSMuOa9DbDcj%2FnH9N9bIoGVgzHPWIQuFuYtaMRaq8eCKI0gEF6lPOZjBz3EEvaaxwSUT9U%2F8JbJZPJJLBLolH1La%2FRbF9AbC8JJjv%2FmMnssKjLRBJyqj9QXxNko0Ux%2FX79epfiXkm6fmKwF%2Fen1HLc6LxloXWKvGa5rVCVL83VuiPcDEX%2FK5pTXOxHfx6HHB0t2FI0qI2rCZFTrvPWU67zVuS%2FkTsLnc7IKhFg30e4FOkqNSfH5PtkmUy6Cpiv%2F36k2sbqCeCFNa%2BURpoY0sZoYmCgCr3qgZz6s8I0gP1bYiR%2BD79H56NOz0EVWCTy2%2FfffvSCCx59W7uRV9995eqrX8GLesOXNm360iZ%2BT%2FEl3uZqL%2BFyzSZ8XxpTiI%2FG0nkT4zznFZ0t4ipMz5v4q9ssqbdKUZt6u82knPCrt6PZwsnn0XySVnyPR1ZXAn72yx48bWJsu7apnI3Hy8bygUK5Js32qcytapqgmn95uexccj205vGgJ%2BeuOeG2SORmKZr%2FqKzcx9SFctMJdwMUFZDJITs7dnOp1EKZCxg304Cevyfya%2BvlKqv6aXK1qIj3imL%2BL6hL%2ByvUlFfE0VKZ7E8gBY3M%2F8VoJCFgizH1W6VyC76nH6b7jiibYVxUmVIEspry%2FLgZIlCeP11Z4zs%2FAwvVwtGFEut5S1JY4lfyT0N%2FevOLo%2BrUEgjcqc9IkGpQbv3iW7Co5b%2BKgjvpzYdH85PLcc4X21ouwEGl%2FS4qnUAvoSlXUUhR1eKr2VWFTB%2BGMl6FsiQsVD1R3urlAAIoSn7JQkmiVVCHSpCwDH%2FqPepXQ0Db77CJOAImohB%2BRPWr31ev5g%2FkE%2BzTa4lbvZo8xdWPffQu9yJTPCNB66s%2BzXoJt%2F0L6hSoCuBIoK8fnBGG87OoRckJpLqyWe4YbpGi50g0%2B3I3UD85Oa0fzubfoXxPLbW3FDWzigmyJeM0tQkax7PqTy80%2BUxfUHPlBZIRVNQ%2Bv0xRm8REKPoLmNr0%2BUo48v9GFbXPKylqQ2IKm00QddgyWGMROCTxdLB9nCY8P7j2DjlsV%2F%2Bmfr0C0r%2FNkeXbbpPlOTBBwT0mVz1zx9S%2FwJecBF9Wgv3p032iP2v4VSgfgW2G%2BHUEdEXU6iq4CtpLJfIN9XQG8dwa1VoO8XC2SrPDDyCOQptXgbcPvlAgBfxBoGwftQKeKFrNTASPt3pGGqDt%2FQRasn2kri%2BH6L80MJRsmVYJrAKyDItpJUy3%2F15WYIJqcJ9Q5N%2FLFJ4c3dc1URpWl9hW6mu50MUIelg4ucTPf15zs5DFo1c0VSp1tKB9jkwIyuM45kb%2BIP8gHed%2B6jO3v0KbIknzLy636E8KPTdCuUpB0wLo9JKnAO6pv0vS31EtBha%2FfJemkgLVVnd8KCk4qBTpQ5m7FbifBKrPJcq0pZAFVG%2FXbOFz%2BTcq2MLrcmV28Nmi%2FOHskh82bau0k8eWCaPijQPWQ5lUvslwVCfHkXBMIehqUgtDNLeauH1huvZTbYmw%2BluPjyWoNGEuxRLR7LK5fSyXFUyK7PURQv2v8D3XOt2NJ6liBbmPGOsakw1kbeOs%2B31Wm5qpH%2BiJWSzqdPr2O7zc2TmtnrzCig6bBd%2FvgQmzOlz0STWIlmZEQfupogOZFHUZ7EkUnMn0RrpIMqAgHRJAOjIJ3yGw1I%2FMAp9q9S3Q%2FclADNm1wEeO%2Bxbwg5OIYHZLY3ehG5lJk2xhco%2B6JWybpEVz2wrR6hZyD0QXZbeDVB%2BonmlimpkWprdAs4WEZDSQppsDlcdCBJJESIYFuAtUnC4GIF2C3Uu2Kv7L1bdz6FxtqxpG4TqQOqOUNAJ2HLvPWA2GgDy4O4vaDrtyl6P%2B1fAll%2BSyFcQ28GHqh7fvvf37udylf0fNwhzgz87Y%2Bcf5x9GnF6ygHu18sAbipWeF0YPBgp2GaKeQduxxdEr3SgbH1kvH7tvqSLhedomOvZyts2dw8acu3dY%2Ff%2BucuMtCuP%2Fe4zC4XnH3OLZ8ZuxTWxy8dJfU5dhDeKPSlJy5pn%2F%2B7u3XrJhmr9C5CuleGflGQocKnlAUaRKp0BAHV0ZwUt9VCqk6zYOgRIuMfePJzdmBdpPJ7%2F6B23%2Bf%2Bsp9NMDZevovvfYHG5dGPISQq1DojqNckchVrCcCYz%2FQ0hI0m3NKDRfkgsrnamo%2Bp0CAq1FyvC3a3Nak%2Fs5VX282x9Ufy3E39VAx6o7LpCvO2wK%2Bch9jNqpJCutcIOooKnYWtDK8gTRVYygRQfwgzKM5%2BjP2jOZdx3r32Py7rQUPOzAnoRs95NvRAR0qLGU11Taqu1bUYSzMcWjMEir067JQQHfIrLBHsrgv00%2FWavd8HRLMEEYFSW3HCSNQehnrHztKqHcDyo4VfZ6gPKCR%2BgufwA8GegxUEo4A%2Bgd0BASHiH6jYMLIsUdQJTs%2FC641KN4oCHWolCMLlMfIdtWKScjx7SM5LD9HnfmhrGI0S139UWfUnxgOXdJFW%2BAMcGjKr6eHAttHF5sUoeArYKDcxMSYcKA%2FxUDhPiEOEAPafSIUFArN0r24ynI91EPARDXvIDYyvqZaWeroBOUABQA%2FE%2BDXC7PWafDLQY2oiwpUEyj4RQtVlUp1GrM7In2p2A7VuiOW6otMiGOo5Mrp05ejVuTy6dNX%2Fk%2F7mybZQ0nUmfrbx3U4KueDnlHm5wdh8FFeKnoaKKh%2FTK18StOPhwG9Xo5mqXAxvw%2F79YQwwDR%2BnAKQQ4izVXioB84qcppWB7IqjU45z4CE17OvF1Dw%2BoTFqxtz8dxwtogBnF9MjIl%2Fin%2BK8s3hM9laIn0TiCbTAXL0T798bPXqx36p3chrv0O%2BGC9Xaj48Ecv8U8UEeBvUEsDlTepiU5OvlpeNGvpnKF0RvUooWhIjnx6GeBapXCQYTw9DNg6%2FOC3gZjp76oNTj9Kz6Jqobxb9NDqc08vcKReOpcsQV2K8InXFaXW3aI6Ofr1k48rp7CX7rx%2Bv1UKPsfvzQU0Kc83i2VdILmd2%2FyX55zT9luN2%2BCu4nKfwPcK%2FCvDVU%2BpHh8%2BLaldIf1fA5h3ndT6Fln9%2FW%2F9Ce1vndfvJtnPVO2xhm3qbafHVCN1X363UXHq9xuVD8OSD29Z8pZ5cZrern9cAdGW%2Fuib%2Fud%2BVK0L9a42r6C90kL8KzxwLQw9NkIQJL0ASU8M%2BVG0KsUdgdvpgP%2F6NqqP0%2FgHZFUfGEijZLHpiIgvV5%2FBltrj8Qd7XQd5p4P%2B7tJo30NMO6VGBwahSPMYiaaBYoLY6uEnciyhhh1Z%2FvvacG%2Frjpsvnpzs0B1Id6fmX8119l88XnOxe%2FuGrzzHcdu7UtY3%2B2vmXN5zUyj3ZcPl8p1sZSs6%2FnGXtwrV7Ka0XZdz83fwjjINpZWYw85lL8BRK4nGyIir2RiOsEyipuEcIakpGjWgBjLiHWOgj0Yi34gW1kKPxHt2Na5q%2Blwg1RdRSpFDNzosb44YJXnAfoEOpZW%2F%2F6u1lhYA6leevezbI26zNHO811M2dc5HFxpk4i1jPC0s21%2FBWW5DnPQbn2X1WK43%2FaM2n18DfSoybbNHijFpamzXI31eRibGUOxSu%2FlT96YZlq1Yt20DaSBuG6knw2eusHs5EPBfNmVvHKdaQzcDfz9ZsXmLDWGXy2U5OsYSsIn8CS12jQIyD12KKqZrLPy7mSPdICmd6WGHG8NDZkkHuE4h9TU8FpmUO%2FVjC%2FEinToFyoNDz2p9XD6g78WgQdPG7Z3R0T%2FZ5dTM9lsL8Ktek7szl2L%2BgQwGgwkZHc2g5Su7NvVqwGy2Ua4KSXUwt1X4PaM5paaEu6jQ5zVFyNabxvUksVt2T%2F4VeamYPlLtffdQsk%2B2sUTY%2FzDXl%2F05W53%2FBz9UK3p7LjapZ2ZxOm%2BUlZXrL3HHGqO8%2BwVroDaCTTnTxitMxmiAAYQzVJQH%2Bnj3oIHnPaN6Zq6sNSLjBl8tKgVr2mj%2F9CWi9dnKca8rBQBsd5R1tzVlgrl5pbnPw6kZclCr2CHxMnHohLz%2B3KRQokzALyeIKFU1TNCiayJdoHvDYe7K6mZLm8S3uJ9dojuaJ62%2FqN%2FtjQxnSnhnKPw%2BLNrLi8ZKyJ3x1YhiI1aNAtP6NzCGzYv3DmaGh%2FLvQZnt0evgIhTFV0kE%2FPYxAnOHhCQUZdCWY5JWJwMzlAGl1mpNbDU7yyGnhRMILsYhH3VRAijrPcBU8%2FCj1Y9NY6cnGVW0CjTLaz7E3epvaT%2FLtTV72Rs%2B0WVVmd0dz%2FMGTI5F0OsIviaqDlbbO5X6xT3PeXbXHRtf%2Fz%2Bfdka%2BeKPr8KF7IF4vBsT9MFPuPJMBTBMq9hQxXelQ%2Bbewnf18ap4Ib%2BmSMrtDU5zqlD8QANa5MBGh%2FOwOvSDfcV2d66mfEWsbGWmIz6nsyZDWQSmqmxDneYyvjHPmRXHZxeueyRGLZzvRioKnGto9nIPkibAJA16adcOZRQr1iAP3bUyBR7T4RgAWTKxhkCYFwshq%2B7iV9r0whk50cmRcTg4fy5x4OmmNkHndIA2%2BYuMbmE9dwGYB4KFTsvnDE6Ah47r%2FfE3AYI%2BoXADpkdlENcZ8OZEEf8FFGZNxMs6ZLpG3SUFLL7Q2kcFU%2FA%2FJsw%2BvWDa%2F7emewLaoeibaF1B9qUNnuqWK3%2BUfXYVL1v%2FomD15xxeDkPnXTOKSVcCbDGtOu0YQNpGAP7U1HU58UrqGu8xIbHtkQ3LVhb7Dx46ET3Ffcm1q0YcOizNmf3bC3VjWfAcpSv3MyTlgJ23FHQgmgvk%2Bgk8pL0mcCDOn08MDAQlf%2B%2FSlTZ1z12fnqntOhbOTL9%2FZdevbAPN%2Byby1f%2FuUtC%2Fixm8ZBo59LTXEW060hGrTDplNprWd58fwB%2Fb%2FE27BdS%2Fs7U%2BrGVCeQ46nzaw9QccnmZerGZZs3Yw9aVHt%2BKh6HN4ti6lxIhT%2FwahnZtWwzlY9QHQ2c79C%2BdxzvVDKy8GqKWQERO9YAKbpsDUTLdWV5dE8PVPjvj9pqw7ah%2FPFVtkit7aj6G5xY9mfJrCz1j1e0BcnPol4UjtrCdbahIVtd2HaURujnFJR8CuOuUUfhrGhgKKgjCYNSvCc1WKlEp8wHUaAYynFNyzZn%2B2MnYv36dbMDBTonl%2FT%2Fma5IKAyEGz%2B4eRnVtaX6tss2o34u8mWorFtuFgm4A6qK%2Fyp%2FgLEBVat5WnPDdKA574ubuFJ%2FIUfZ%2FY2Nt6mN%2BZNNTSTaeI56gKwkXerTe9DDHUw8%2FH35FY3nNN7GGuBKWhrV9ep%2B0k1WjNWVaHkW1yA%2BQHWNu8rtBw2a5YXuE40rs7%2FGA%2Bj09V3hA98yRnFPOGr8ltGlsFdD%2F7tRce3LH6Trcneuiy7K7J3khKu%2B3qUaXPWaX7T6%2FKfj9BX2eZq2XAcZT79u1ClJzUtHUqfqSMWBcZS43Ena0cUGLgpkKxB1QM%2B0Fxz10wgg6r5rltnFpH05pepUq3Y2HfYqeKRntmUFNz%2BXmcOs1H31U6cC6RTVLfCg7RNBF1UF2%2FwBgu0fFQtPEU1sSg3VcNsR7dWq3af87tUFn1l3ltXpaJxpNvtcZkH2WmMst3JqRpxUH%2BWC0E1qOGtP66s1MYv%2BVLu8%2FXFXvV%2FZbunYYBeVN64ls0ur6NzpV9xzlmQwB5qC4Tq70WC0tk8dWJXeHvkD0h9zJOM0vD86%2F1NJMaIAolctvlByferCsqOKDKceOfUu1PsmoFCamV5mCrMUOCi6V6FJosMF22AcrKJgQDVhfYh6tepp%2FlYgvnCEAbJQ1L0rOpajEmRcasMiPfxhgGoVo4rwreQpV6fUJHH2e8fa1s2c13Apl1b89a58ozdoap2sjgLN9uISl7P1DrulyeIkt0zr6JjWocoPOZsaXPb6jtqBblsgsaRre2xHi4nELm0MhG1%2Bx1SXwLpFi53b%2BaHRYo%2FIrbZtuWAKu5cSEXfybnnmUCaXGTpQr0xK2O2WWY76f%2BnAjNVf7nCZHU5XqIkTnpt6VtvsFlPXg1031g%2FVRdpkkyVpD7jnmax88QwDvg%2F66NnMRdRXTcGTmQc3cuINwN5IQqi0yzb%2BYFVHuVqI5s4ADfg5oE4ybDLd28mFSFmYvRoomsWXEdLU2Wl3GJy93ZNb%2Fd5gqmNaqJZSO1l6PVRy0nZIj%2F45EetjLguh1rLqR%2BSK0hO6NrsqcNX8zoUdjQYDJ7tb4os6%2Bi%2BY0qpY2AWlnLRDWdGFTfGY1gV0zNAtJ7pdo24se0D88AwLY%2FgZmE9iuP4V5v7CSR%2FRThaHLh%2BUeBkXwU6BC7lGOevK65udTv%2BtS%2FPfW7qj3ljTcj3b9OkbV85t8xsMj7Ddj7DGpthZKwKPvso%2Fc%2F1K9aLE12fMWLV1y1D9ua8lyJdWXr%2FbG%2BnoCFutf%2FmLILe39ITUV4igr3876fpX5g2zeB52sWnIL4fXHlgeUzOx5QfIvJQyrKQE9wHUqVq%2BPEaOrz0wVvNbJZVSfsuMzxN4l9PkedFzw9V5Dj%2BnzpgoT4ZxCxJfC5RWLc74YVHxKlExCYt0JAOMatREhHBSCAtSfod6x6Ls8HCWECLwXZ9nd5Dz1T24JUdWs6fU3%2B%2BfcnT49Qe%2BkBs%2BwdsMZgPXMp3U5S958snPP%2FEE7bvkOPCuTUDTUQ%2FUzirLhML9yPahoe1D5Fj5jWsaoveyP00PehdUAHk%2FseDVWsvDWXXXsyn%2F4wfpXc2V3%2FQxli3jl%2F5hj%2F83avSCfpTNxOEKLmTjxOEKuxgNlsQn0xgct724mhynupNW1Ph6o3RYS3%2F%2B2TJrzLlkFz%2Bip3qCHKf6eqW02QJLjBYuuj4sobhCWqa%2FYHGEHpcnumuWSOhxeaL7sOakNR6vvmo%2BYcfFA8UFXEPZf9UjyudIOyNwx%2Fi90DdsujS%2FFX2UAwvWSVK4NxaMhAGw3oowp%2Fuc8CTi7D2rBgZWwb%2F60faR7SPsEbjkXy4G0XaqhXPwe2cePjxjxuHD6ssQuR1fq6PF0E%2Bo2t1nePTn8TUmxz%2FA3crMoCc7egESuoTHYc7mYdg6etORoOhR7BBGD%2BqJopELrl4S6cJNRtEAsLP%2FOdvnJq0Wo0GolY2Et9VFB2Kf%2B4bZvVyxfOMz3WdFfSIryj6DwWghre7aQbdiDrkTL3A3vNDuDpk93HqXwam%2BbWmUJZfNn5ozKV5Pmmq8PF%2FjVY%2B2Tlk2M2RzSXKjmbQ4RZcQavEYrN%2F9rlXwtIQqzxQNMzPPfHYLvuPoO9TbT8bpGw5CQPGd%2BSyX%2FCyf0Vxjd2R9NmsunnXYa8xGHzn%2BsSfM5J0y0DZEXWWxkXjcR75KBLNLHi7XvX2G8VOrf4Ykg0AMdBESIpo7MgAfyakA6rkqpI6UjNs0px7cMV%2BD5BF49Tez1VGnYmq0WIijp985m4Sn2gJR9b07riPPFo97OYbUZbxJCpot7H%2FlpZBicglCPN7WOfJkcHqc3ElWqvvz%2F1E6bIQrG%2Btz6WkM1SM9FBTR7FSs8KyBBytSmNEoquJNFN5EQyTiCrnKDx1h58yxCepPHU5nxGoxEQeeOZi2m80DxNxncVhr6BmEfUarxejw%2BWSiHhWk19bSY7aKR5MsteblJpfTLtjimBouXsm3d3djjYM%2BwEW0El9dM%2FueVRWIsXwe43R7SgbVZqrnqoJ1X%2FkuF7pcgf8duv4q6vayV5U9zMV91GxO59UUjW8rHV6u799WzKMT7umRCXbYUKM%2BfoaCcwgaoqZUtmodV3p%2BX7akb4dnU9B9La38RPFUG2SCC90tVA4XwEFhyOpZZrUCsgWYHsczLFBBVGNtstoN1bw0Z%2BO4fYIbvZVt4EUcJEKOhHeincWqONw%2Bq6w5Go%2BWGOSR7LhKV%2BKBqbBPpfUvOf9QqkpDyVhBeyyZQGMsdA5FBUqvFMtUyGq9vjnsAJU4UcrxldP1CCaofyDkSAifoP5QwWx%2BSyUGxp75BzGAvtG7uQ38LehlyEQMeh0TeE6Bm7tYdXqdkt0uOb3kfYlNwmOdDyacOq%2FqlFo1v%2BPTmTi3E%2FglC9W11b34A22zmLzvb231Q0L2Bgg60OTW4YdstO%2BYOJnO38TtpH7zy9ymokWyA79qlVSn38HtpFlImFnhu3b4boNWXklOXV0Iwo7lQ1hrZyPFcwtjwFP7iEKSHSSJw509kh8kj6pr%2BH1jR7km9vcvqN9657vffefkv%2BfKxge1X%2B7RdjYUPIESN7gTvRkB%2FRMYtEkaVkdHApmdBPpnKmz0n1xSWFOyVIuLrinZwpoCRe6kyiVZoHX088F%2BUX4%2BWKS4iBTP0IWxGtZgOdMaV4KTayqHQF%2FVihBwTbgDXTCmKoOBJeNhwJMzEVjtjIFLuU38fPR7hqNG1JS7g%2FqRCuy3vmQ3W9Vu8qbVbP%2BSzazGRJH83MzP90Ck2m31mMjP8TiLn5uwD2Ugr2PFvPQjB5BnSJvQxGQZZEB%2BLopqzGzDbMmbkAPkZVJjeO5FzOSBKCgJze2ZS4Gemc9twrwY6u9H61iUQTcRvtdT9RW3tRxAWwFs2tcuJRnI6xjmBdWjbgFNRHMHiF1uHYBfUR%2Fut5Ug2jXAaT96%2B9RH%2FFToRwIzGbKmVJ1AZQnoabSB1yyIg7ByAridHApPMjyw0OiV6RjSbCuzwLAvFizBliWJua1tsuAgvNPbmljYbpt8lkWam7b3XZiOiKJskMOtmfScnsbPW208knwjuXrXK4Q1iKIgNyYXXDVT9C2Ye%2F78GQ5BEEXfFdde2RwauOysdJNL5AzCy84ard%2FnGAVN8alecnFdgu5Gbd5DJTL%2BhHZK0vApVy3OfU8XTSJg1TlssivsPYUlIqvn66PzrVTymCc4wgF6SDNR0pDf%2B9Gp%2BVnsUH5WtpHYsuhOaey8zdwLN47V8MTbm78g687%2BP3cx6tcAeNpjYGRgYGBk8s0%2FzBIfz2%2FzlUGeZQNQhOFCWfF0GP0%2F8P8c1jusIkAuBwMTSBQAYwQM6HjaY2BkYGAV%2Bd8KJgP%2FXWG9wwAUQQGLAYqPBl942n1TvUoDQRCe1VM8kWARjNrZGIurBAsRBIuA2vkAFsJiKTYW4guIjT5ARMgTxCLoA1hcb5OgDyGHrY7f7M65e8fpLF%2B%2B2W%2FnZ2eTmGfaIJi5I0qGDlZZcD51QzTTJirZPAI9JIwVA%2BwT8L5nOdMaV0AuMJ%2BicRHq8of6LSD18fzq8ds7xjpwBnQiSI9V5QVl6NwPvgM15NXn%2FAtWZyj3W0HjEXitOc%2FdIdbetPdFTZ%2BP6t%2BX7xU0%2Fk6GJtOe1%2FB3arN0%2Fpmz1J4UZc%2BD6ExwjD7vioeGd5HvhvU%2BR%2BDZcGZ6YBPNfAi0G97iBPwFXqph2cW8%2BD7kjMfwtinHb6kLb6Wygk3cZytSEoptGrlScdHtLPeri1JKueACMZfU1ViJG1Sq5E43dIt7SZZFl1zuRhb%2FGOs44xFVDbrJzB5tYs35OmaXTrEmkv0DajnMWQB42mNgYNCCwk0MLxheMPrhgUuY2JiUmOqY2pjWMD1hdmPOY%2B5hPsLCwWLEksSyiOUOawzrLrYiti%2FsCuxJ7Kc45DiSOPZxmnG2cG7jvMelweXDNYXrEbcBdxf3KR4OngheLd443g18fHwZfFv4NfiX8T8TEBIIEZggsEpQS7BMcJsQl5CFUI3QAWEp4RLhCyJaIldEbURXiJ4RYxEzE0sQ2yD2TzxIfJkEk4SeRJbENIkNEg8k%2FklqSGZITpE8InlL8p2UmVSG1A6pb9Jx0ltkjGSmyDySlZF1kc2RnSK7R%2FaZnJ5cmdwB%2BST5SwpuCvsUjRTLFHcoOShNU9qhzKespGyhXKV8SPmBCpOKgUqcyjSVR6omqgmqe9RE1OrUnqkHqO9R%2F6FholGgsUZzgeYZLTUtL60WbS7tKh0OnQydXTpvdGV0O3S%2F6Gnopekt0ruhz6fvpl%2Bnv0n%2Fh4GdQYvBJUMhwwTDdYYvjFSM4oxmGd0zVjK2M84w3mYiYZJgssLkkqmO6TzTF2Z2ZjVmd8ylzP3MJ5lfsRCwcLJoszhhyWXpZdlhecZKxirHapbVPesF1ndsJGwCbBbZ%2FLA1sn1jZ2XXY3fFXsM%2Bz36V%2FS8HD4cGh2OOTI51ThJOK5zeOUs4OzmXOS9wPuUi4JLgss7lm2uU6zY3NrcSty1u39zN3Mvct7l%2F8xDzMPLw88jyaPM44ynkaeEZ59niucqLyUvPKwgAn3OqOQAAAQAAARcApwARAAAAAAACAAAAAQABAAAAQAAuAAAAAHjarZK9TgJBEMf%2Fd6CRaAyRhMLqCgsbL4ciglTGRPEjSiSKlnLycXJ86CEniU%2FhM9jYWPgIFkYfwd6nsDD%2Bd1mBIIUx3mZnfzs3MzszuwDCeIYG8UUwQxmAFgxxPeeuyxrmcaNYxzTuFAewi0fFQSTxqXgM11pC8TgS2oPiCUS1d8Uh8ofiSczpYcVT5LjiCPlY8Qui%2BncOr7D02y6%2FBTCrP%2Fm%2Bb5bdTrPi2I26Z9qNGtbRQBMdXMJBGRW0YOCecxEWYoiTCvxrYBunqHPdoX2bLOyrMKlZg8thDETw5K7Itci1TXlGy0124QRZZLDFU%2FexhxztMozlosTpMH6ZPge0L%2BOKGnFKjJ4WRwppHPL0PP3SI2P9jLQwFOu3GRhDfkeyDo%2F%2FG7IHgzllZQxLdquvrdCyBVvat3seJlYo06gxapUxhU2JWnFygR03sSxnEkvcpf5Y5eibGq315TDp7fKWm8zbUVl71Aqq%2FZtNnlkWmLnQtno9ycvXYbA6W2pF3aKfCayyC0Ja7Fr%2FPW70%2FHO4YM0OKxFvzf0C1MyPjwAAeNpt1VWUU2cYRuHsgxenQt1d8%2F3JOUnqAyR1d%2FcCLQVKO22pu7tQd3d3d3d3d3cXmGzumrWy3pWLs%2FNdPDMpZaWu1783l1Lpf14MnfzO6FbqVupfGkD30iR60JNe9KYP09CXfvRnAAMZxGCGMG3pW6ZjemZgKDMyEzMzC7MyG7MzB3MyF3MzD%2FMyH%2FOzAAuyEAuzCIuyGIuzBGWCRIUqOQU16jRYkqVYmmVYluVYng6GMZwRNGmxAiuyEiuzCquyGquzBmuyFmuzDuuyHuuzARuyERuzCZuyGZuzBVuyFVuzDduyHdszklGMZgd2ZAw7MZZxjGdnJrALu9LJbuzOHkxkT%2FZib%2FZhX%2FZjfw7gQA7iYA7hUA7jcI7gSI7iaI7hWI7jeE7gRE7iZE5hEqdyGqdzBmdyFmdzDudyHudzARdyERdzCZdyGZdzBVdyFVdzDddyHddzAzdyEzdzC7dyG7dzB3dyF3dzD%2FdyH%2FfzAA%2FyEA%2FzCI%2FyGI%2FzBE%2FyFE%2FzDM%2FyHM%2FzAi%2FyEi%2FzCq%2FyGq%2FzBm%2FyFm%2FzDu%2FyHu%2FzAR%2FyER%2FzCZ%2FyGZ%2FzBV%2FyFV%2FzDd%2FyHd%2FzAz%2FyEz%2FzC7%2FyG7%2FzB3%2FyF3%2FzD%2F9mpYwsy7pl3bMeWc%2BsV9Y765NNk%2FXN%2BmX9swHZwGxQNjgb0nPkmInjR0V7Uq%2FOsaPL5Y7ylE3l8tQNN7kVt%2BrmbuHW3LrbcDvam1rtzVvdm50TxrU%2FDBvRtZUY1rV5a3jXFn550Wo%2FXDNWK3dFmh7X9LimxzU9qulRTY9qelTTo5rlKLt2wk7YiaprL%2ByFvbAX9pK9ZC%2FZS%2FaSvWQv2Uv2kr1kr2KvYq9ir2KvYq9ir2KvYq9ir2Kvaq9qr2qvaq9qr2qvaq9qr2qvai%2B3l9vL7eX2cnu5vdxebi%2B3l9sr7BV2CjuFncJOYaewU9gp7NTs1LyrZq9mr2avZq9mr2avZq9mr26vbq9ur26vbq9ur26vbq9ur26vYa9hr2GvYa9hr2GvYa%2FR7oXuQ%2Feh%2B2j%2FUU7e3C3cqc%2FV3fYdof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D92H7kP3ofvQfeg%2BdB%2B6D92H7kP3ofvQfRT29B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6D%2F2H%2FkP%2Fof%2FQf%2Bg%2F9B%2F6j6nuG3Ya7U5q%2F0hN3nCTW3Grbu4Wrs%2FrP%2Bk%2F6T%2FpP%2Bk%2F6T%2FpP%2Bk%2B6T7pPek86TzpPOk86TzpOuk66TrpOuk66TrpOlWmPu%2F36zrpOuk66TrpOuk66TrpOvl%2FPek76TvpO%2Bk76TvpO%2Bk76TvpO%2Bk76TvpO7V9t%2BqtVs%2FOaOURU6bo6PgPt6rZbwAAAAABVFDDFwAA%29%20format%28%27woff%27%29%2Curl%28data%3Aapplication%2Ffont%2Dsfnt%3Bbase64%2CAAEAAAAPAIAAAwBwRkZUTW0ql9wAAAD8AAAAHEdERUYBRAAEAAABGAAAACBPUy8yZ7lriQAAATgAAABgY21hcNqt44EAAAGYAAAGcmN2dCAAKAL4AAAIDAAAAARnYXNw%2F%2F8AAwAACBAAAAAIZ2x5Zn1dwm8AAAgYAACUpGhlYWQFTS%2FYAACcvAAAADZoaGVhCkQEEQAAnPQAAAAkaG10eNLHIGAAAJ0YAAADdGxvY2Fv%2B5XOAACgjAAAAjBtYXhwAWoA2AAAorwAAAAgbmFtZbMsoJsAAKLcAAADonBvc3S6o%2BU1AACmgAAACtF3ZWJmwxhUUAAAsVQAAAAGAAAAAQAAAADMPaLPAAAAANB2gXUAAAAA0HZzlwABAAAADgAAABgAAAAAAAIAAQABARYAAQAEAAAAAgAAAAMEiwGQAAUABAMMAtAAAABaAwwC0AAAAaQAMgK4AAAAAAUAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAFVLV04AQAAg%2F%2F8DwP8QAAAFFAB7AAAAAQAAAAAAAAAAAAAAIAABAAAABQAAAAMAAAAsAAAACgAAAdwAAQAAAAAEaAADAAEAAAAsAAMACgAAAdwABAGwAAAAaABAAAUAKAAgACsAoAClIAogLyBfIKwgvSISIxsl%2FCYBJvonCScP4APgCeAZ4CngOeBJ4FngYOBp4HngieCX4QnhGeEp4TnhRuFJ4VnhaeF54YnhleGZ4gbiCeIW4hniIeIn4jniSeJZ4mD4%2F%2F%2F%2FAAAAIAAqAKAApSAAIC8gXyCsIL0iEiMbJfwmASb6JwknD%2BAB4AXgEOAg4DDgQOBQ4GDgYuBw4IDgkOEB4RDhIOEw4UDhSOFQ4WDhcOGA4ZDhl%2BIA4gniEOIY4iHiI%2BIw4kDiUOJg%2BP%2F%2F%2F%2F%2Fj%2F9r%2FZv9i4Ajf5N%2B132nfWd4F3P3aHdoZ2SHZE9kOIB0gHCAWIBAgCiAEH%2F4f%2BB%2F3H%2FEf6x%2FlH3wfdh9wH2ofZB9jH10fVx9RH0sfRR9EHt4e3B7WHtUezh7NHsUevx65HrMIFQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAACjAAAAAAAAAA1AAAAIAAAACAAAAADAAAAKgAAACsAAAAEAAAAoAAAAKAAAAAGAAAApQAAAKUAAAAHAAAgAAAAIAoAAAAIAAAgLwAAIC8AAAATAAAgXwAAIF8AAAAUAAAgrAAAIKwAAAAVAAAgvQAAIL0AAAAWAAAiEgAAIhIAAAAXAAAjGwAAIxsAAAAYAAAl%2FAAAJfwAAAAZAAAmAQAAJgEAAAAaAAAm%2BgAAJvoAAAAbAAAnCQAAJwkAAAAcAAAnDwAAJw8AAAAdAADgAQAA4AMAAAAeAADgBQAA4AkAAAAhAADgEAAA4BkAAAAmAADgIAAA4CkAAAAwAADgMAAA4DkAAAA6AADgQAAA4EkAAABEAADgUAAA4FkAAABOAADgYAAA4GAAAABYAADgYgAA4GkAAABZAADgcAAA4HkAAABhAADggAAA4IkAAABrAADgkAAA4JcAAAB1AADhAQAA4QkAAAB9AADhEAAA4RkAAACGAADhIAAA4SkAAACQAADhMAAA4TkAAACaAADhQAAA4UYAAACkAADhSAAA4UkAAACrAADhUAAA4VkAAACtAADhYAAA4WkAAAC3AADhcAAA4XkAAADBAADhgAAA4YkAAADLAADhkAAA4ZUAAADVAADhlwAA4ZkAAADbAADiAAAA4gYAAADeAADiCQAA4gkAAADlAADiEAAA4hYAAADmAADiGAAA4hkAAADtAADiIQAA4iEAAADvAADiIwAA4icAAADwAADiMAAA4jkAAAD1AADiQAAA4kkAAAD%2FAADiUAAA4lkAAAEJAADiYAAA4mAAAAETAAD4%2FwAA%2BP8AAAEUAAH1EQAB9REAAAEVAAH2qgAB9qoAAAEWAAYCCgAAAAABAAABAAAAAAAAAAAAAAAAAAAAAQACAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAEAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAL4AAAAAf%2F%2FAAIAAgAoAAABaAMgAAMABwAusQEALzyyBwQA7TKxBgXcPLIDAgDtMgCxAwAvPLIFBADtMrIHBgH8PLIBAgDtMjMRIRElMxEjKAFA%2Fujw8AMg%2FOAoAtAAAQBkAGQETARMAFsAAAEyFh8BHgEdATc%2BAR8BFgYPATMyFhcWFRQGDwEOASsBFx4BDwEGJi8BFRQGBwYjIiYvAS4BPQEHDgEvASY2PwEjIiYnJjU0Nj8BPgE7AScuAT8BNhYfATU0Njc2AlgPJgsLCg%2BeBxYIagcCB57gChECBgMCAQIRCuCeBwIHaggWB54PCikiDyYLCwoPngcWCGoHAgee4AoRAgYDAgECEQrgngcCB2oIFgeeDwopBEwDAgECEQrgngcCB2oIFgeeDwopIg8mCwsKD54HFghqBwIHnuAKEQIGAwIBAhEK4J4HAgdqCBYHng8KKSIPJgsLCg%2BeBxYIagcCB57gChECBgAAAAABAAAAAARMBEwAIwAAATMyFhURITIWHQEUBiMhERQGKwEiJjURISImPQE0NjMhETQ2AcLIFR0BXhUdHRX%2Boh0VyBUd%2FqIVHR0VAV4dBEwdFf6iHRXIFR3%2BohUdHRUBXh0VyBUdAV4VHQAAAAABAHAAAARABEwARQAAATMyFgcBBgchMhYPAQ4BKwEVITIWDwEOASsBFRQGKwEiJj0BISImPwE%2BATsBNSEiJj8BPgE7ASYnASY2OwEyHwEWMj8BNgM5%2BgoFCP6UBgUBDAoGBngGGAp9ARMKBgZ4BhgKfQ8LlAsP%2Fu0KBgZ4BhgKff7tCgYGeAYYCnYFBv6UCAUK%2BhkSpAgUCKQSBEwKCP6UBgwMCKAIDGQMCKAIDK4LDw8LrgwIoAgMZAwIoAgMDAYBbAgKEqQICKQSAAABAGQABQSMBK4AOwAAATIXFhcjNC4DIyIOAwchByEGFSEHIR4EMzI%2BAzUzBgcGIyInLgEnIzczNjcjNzM%2BATc2AujycDwGtSM0QDkXEys4MjAPAXtk%2FtQGAZZk%2FtQJMDlCNBUWOUA0I64eYmunznYkQgzZZHABBdpkhhQ%2BH3UErr1oaS1LMCEPCx4uTzJkMjJkSnRCKw8PIjBKK6trdZ4wqndkLzVkV4UljQAAAgB7AAAETASwAD4ARwAAASEyHgUVHAEVFA4FKwEHITIWDwEOASsBFRQGKwEiJj0BISImPwE%2BATsBNSEiJj8BPgE7ARE0NhcRMzI2NTQmIwGsAV5DakIwFgwBAQwWMEJqQ7ICASAKBgZ4BhgKigsKlQoP%2FvUKBgZ4BhgKdf71CgYGeAYYCnUPtstALS1ABLAaJD8yTyokCwsLJCpQMkAlGmQMCKAIDK8LDg8KrwwIoAgMZAwIoAgMAdsKD8j%2B1EJWVEAAAAEAyAGQBEwCvAAPAAATITIWHQEUBiMhIiY9ATQ2%2BgMgFR0dFfzgFR0dArwdFcgVHR0VyBUdAAAAAgDIAAAD6ASwACUAQQAAARUUBisBFRQGBx4BHQEzMhYdASE1NDY7ATU0NjcuAT0BIyImPQEXFRQWFx4BFAYHDgEdASE1NCYnLgE0Njc%2BAT0BA%2BgdFTJjUVFjMhUd%2FOAdFTJjUVFjMhUdyEE3HCAgHDdBAZBBNxwgIBw3QQSwlhUdZFuVIyOVW5YdFZaWFR2WW5UjI5VbZB0VlshkPGMYDDI8MgwYYzyWljxjGAwyPDIMGGM8ZAAAAAEAAAAAAAAAAAAAAAAxAAAB%2F%2FIBLATCBEEAFgAAATIWFzYzMhYVFAYjISImNTQ2NyY1NDYB9261LCwueKqqeP0ST3FVQgLYBEF3YQ6teHmtclBFaw4MGZnXAAAAAgAAAGQEsASvABoAHgAAAB4BDwEBMzIWHQEhNTQ2OwEBJyY%2BARYfATc2AyEnAwL2IAkKiAHTHhQe%2B1AeFB4B1IcKCSAkCm9wCXoBebbDBLMTIxC7%2FRYlFSoqFSUC6rcQJBQJEJSWEPwecAIWAAAAAAQAAABkBLAETAALABcAIwA3AAATITIWBwEGIicBJjYXARYUBwEGJjURNDYJATYWFREUBicBJjQHARYGIyEiJjcBNjIfARYyPwE2MhkEfgoFCP3MCBQI%2FcwIBQMBCAgI%2FvgICgoDjAEICAoKCP74CFwBbAgFCvuCCgUIAWwIFAikCBQIpAgUBEwKCP3JCAgCNwgK2v74CBQI%2FvgIBQoCJgoF%2FvABCAgFCv3aCgUIAQgIFID%2BlAgKCggBbAgIpAgIpAgAAAAD%2F%2FD%2F8AS6BLoACQANABAAAAAyHwEWFA8BJzcTAScJAQUTA%2BAmDpkNDWPWXyL9mdYCZv4f%2FrNuBLoNmQ4mDlzWYP50%2FZrWAmb8anABTwAAAAEAAAAABLAEsAAPAAABETMyFh0BITU0NjsBEQEhArz6FR384B0V%2Bv4MBLACiv3aHRUyMhUdAiYCJgAAAAEADgAIBEwEnAAfAAABJTYWFREUBgcGLgE2NzYXEQURFAYHBi4BNjc2FxE0NgFwAoUnMFNGT4gkV09IQv2oWEFPiCRXT0hCHQP5ow8eIvzBN1EXGSltchkYEAIJm%2F2iKmAVGilucRoYEQJ%2FJioAAAACAAn%2F%2BAS7BKcAHQApAAAAMh4CFQcXFAcBFgYPAQYiJwEGIycHIi4CND4BBCIOARQeATI%2BATQmAZDItoNOAQFOARMXARY7GikT%2Fu13jgUCZLaDTk6DAXKwlFZWlLCUVlYEp06DtmQCBY15%2Fu4aJRg6FBQBEk0BAU6Dtsi2g1tWlLCUVlaUsJQAAQBkAFgErwREABkAAAE%2BAh4CFRQOAwcuBDU0PgIeAQKJMHt4dVg2Q3mEqD4%2Bp4V4Qzhadnh5A7VESAUtU3ZAOXmAf7JVVbJ%2FgHk5QHZTLQVIAAAAAf%2FTAF4EewSUABgAAAETNjIXEyEyFgcFExYGJyUFBiY3EyUmNjMBl4MHFQeBAaUVBhH%2BqoIHDxH%2Bqf6qEQ8Hgv6lEQYUAyABYRMT%2Fp8RDPn%2BbxQLDPb3DAsUAZD7DBEAAv%2FTAF4EewSUABgAIgAAARM2MhcTITIWBwUTFgYnJQUGJjcTJSY2MwUjFwc3Fyc3IycBl4MHFQeBAaUVBhH%2BqoIHDxH%2Bqf6qEQ8Hgv6lEQYUAfPwxUrBw0rA6k4DIAFhExP%2BnxEM%2Bf5vFAsM9vcMCxQBkPsMEWSO4ouM5YzTAAABAAAAAASwBLAAJgAAATIWHQEUBiMVFBYXBR4BHQEUBiMhIiY9ATQ2NyU%2BAT0BIiY9ATQ2Alh8sD4mDAkBZgkMDwr7ggoPDAkBZgkMJj6wBLCwfPouaEsKFwbmBRcKXQoPDwpdChcF5gYXCktoLvp8sAAAAA0AAAAABLAETAAPABMAIwAnACsALwAzADcARwBLAE8AUwBXAAATITIWFREUBiMhIiY1ETQ2FxUzNSkBIgYVERQWMyEyNjURNCYzFTM1BRUzNSEVMzUFFTM1IRUzNQchIgYVERQWMyEyNjURNCYFFTM1IRUzNQUVMzUhFTM1GQR%2BCg8PCvuCCg8PVWQCo%2F3aCg8PCgImCg8Pc2T8GGQDIGT8GGQDIGTh%2FdoKDw8KAiYKDw%2F872QDIGT8GGQDIGQETA8K%2B%2BYKDw8KBBoKD2RkZA8K%2FqIKDw8KAV4KD2RkyGRkZGTIZGRkZGQPCv6iCg8PCgFeCg9kZGRkZMhkZGRkAAAEAAAAAARMBEwADwAfAC8APwAAEyEyFhURFAYjISImNRE0NikBMhYVERQGIyEiJjURNDYBITIWFREUBiMhIiY1ETQ2KQEyFhURFAYjISImNRE0NjIBkBUdHRX%2BcBUdHQJtAZAVHR0V%2FnAVHR39vQGQFR0dFf5wFR0dAm0BkBUdHRX%2BcBUdHQRMHRX%2BcBUdHRUBkBUdHRX%2BcBUdHRUBkBUd%2FagdFf5wFR0dFQGQFR0dFf5wFR0dFQGQFR0AAAkAAAAABEwETAAPAB8ALwA%2FAE8AXwBvAH8AjwAAEzMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2ATMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2ATMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYhMzIWHQEUBisBIiY9ATQ2MsgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR389cgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR389cgVHR0VyBUdHQGlyBUdHRXIFR0dAaXIFR0dFcgVHR0ETB0VyBUdHRXIFR0dFcgVHR0VyBUdHRXIFR0dFcgVHf5wHRXIFR0dFcgVHR0VyBUdHRXIFR0dFcgVHR0VyBUd%2FnAdFcgVHR0VyBUdHRXIFR0dFcgVHR0VyBUdHRXIFR0ABgAAAAAEsARMAA8AHwAvAD8ATwBfAAATMzIWHQEUBisBIiY9ATQ2KQEyFh0BFAYjISImPQE0NgEzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2ATMyFh0BFAYrASImPQE0NikBMhYdARQGIyEiJj0BNDYyyBUdHRXIFR0dAaUCvBUdHRX9RBUdHf6FyBUdHRXIFR0dAaUCvBUdHRX9RBUdHf6FyBUdHRXIFR0dAaUCvBUdHRX9RBUdHQRMHRXIFR0dFcgVHR0VyBUdHRXIFR3%2BcB0VyBUdHRXIFR0dFcgVHR0VyBUd%2FnAdFcgVHR0VyBUdHRXIFR0dFcgVHQAAAAABACYALAToBCAAFwAACQE2Mh8BFhQHAQYiJwEmND8BNjIfARYyAdECOwgUB7EICPzxBxUH%2FoAICLEHFAirBxYB3QI7CAixBxQI%2FPAICAGACBQHsQgIqwcAAQBuAG4EQgRCACMAAAEXFhQHCQEWFA8BBiInCQEGIi8BJjQ3CQEmND8BNjIXCQE2MgOIsggI%2FvUBCwgIsggVB%2F70%2FvQHFQiyCAgBC%2F71CAiyCBUHAQwBDAcVBDuzCBUH%2FvT%2B9AcVCLIICAEL%2FvUICLIIFQcBDAEMBxUIsggI%2FvUBDAcAAwAX%2F%2BsExQSZABkAJQBJAAAAMh4CFRQHARYUDwEGIicBBiMiLgI0PgEEIg4BFB4BMj4BNCYFMzIWHQEzMhYdARQGKwEVFAYrASImPQEjIiY9ATQ2OwE1NDYBmcSzgk1OASwICG0HFQj%2B1HeOYrSBTU2BAW%2BzmFhYmLOZWFj%2BvJYKD0sKDw8KSw8KlgoPSwoPDwpLDwSZTYKzYo15%2FtUIFQhsCAgBK01NgbTEs4JNWJmzmFhYmLOZIw8KSw8KlgoPSwoPDwpLDwqWCg9LCg8AAAMAF%2F%2FrBMUEmQAZACUANQAAADIeAhUUBwEWFA8BBiInAQYjIi4CND4BBCIOARQeATI%2BATQmBSEyFh0BFAYjISImPQE0NgGZxLOCTU4BLAgIbQcVCP7Ud45itIFNTYEBb7OYWFiYs5lYWP5YAV4KDw8K%2FqIKDw8EmU2Cs2KNef7VCBUIbAgIAStNTYG0xLOCTViZs5hYWJizmYcPCpYKDw8KlgoPAAAAAAIAFwAXBJkEsAAPAC0AAAEzMhYVERQGKwEiJjURNDYFNRYSFRQOAiIuAjU0EjcVDgEVFB4BMj4BNTQmAiZkFR0dFWQVHR0BD6fSW5vW6tabW9KnZ3xyxejFcnwEsB0V%2FnAVHR0VAZAVHeGmPv7ZuHXWm1tbm9Z1uAEnPqY3yHh0xXJyxXR4yAAEAGQAAASwBLAADwAfAC8APwAAATMyFhURFAYrASImNRE0NgEzMhYVERQGKwEiJjURNDYBMzIWFREUBisBIiY1ETQ2BTMyFh0BFAYrASImPQE0NgQBlgoPDwqWCg8P%2Ft6WCg8PCpYKDw%2F%2B3pYKDw8KlgoPD%2F7elgoPDwqWCg8PBLAPCvuCCg8PCgR%2BCg%2F%2BcA8K%2FRIKDw8KAu4KD%2F7UDwr%2BPgoPDwoBwgoPyA8K%2BgoPDwr6Cg8AAAAAAgAaABsElgSWAEcATwAAATIfAhYfATcWFwcXFh8CFhUUDwIGDwEXBgcnBwYPAgYjIi8CJi8BByYnNycmLwImNTQ%2FAjY%2FASc2Nxc3Nj8CNhIiBhQWMjY0AlghKSYFMS0Fhj0rUAMZDgGYBQWYAQ8YA1AwOIYFLDIFJisfISkmBTEtBYY8LFADGQ0ClwYGlwINGQNQLzqFBS0xBSYreLJ%2BfrJ%2BBJYFmAEOGQJQMDmGBSwxBiYrHiIoJgYxLAWGPSxRAxkOApcFBZcCDhkDUTA5hgUtMAYmKiAhKCYGMC0Fhj0sUAIZDgGYBf6ZfrF%2BfrEABwBkAAAEsAUUABMAFwAhACUAKQAtADEAAAEhMhYdASEyFh0BITU0NjMhNTQ2FxUhNQERFAYjISImNREXETMRMxEzETMRMxEzETMRAfQBLCk7ARMKD%2Fu0DwoBEzspASwBLDsp%2FUQpO2RkZGRkZGRkBRQ7KWQPCktLCg9kKTtkZGT%2B1PzgKTs7KQMgZP1EArz9RAK8%2FUQCvP1EArwAAQAMAAAFCATRAB8AABMBNjIXARYGKwERFAYrASImNREhERQGKwEiJjURIyImEgJsCBUHAmAIBQqvDwr6Cg%2F%2B1A8K%2BgoPrwoFAmoCYAcH%2FaAICv3BCg8PCgF3%2FokKDw8KAj8KAAIAZAAAA%2BgEsAARABcAAAERFBYzIREUBiMhIiY1ETQ2MwEjIiY9AQJYOykBLB0V%2FOAVHR0VA1L6FR0EsP5wKTv9dhUdHRUETBUd%2FnAdFfoAAwAXABcEmQSZAA8AGwAwAAAAMh4CFA4CIi4CND4BBCIOARQeATI%2BATQmBTMyFhURMzIWHQEUBisBIiY1ETQ2AePq1ptbW5vW6tabW1ubAb%2FoxXJyxejFcnL%2BfDIKD68KDw8K%2BgoPDwSZW5vW6tabW1ub1urWmztyxejFcnLF6MUNDwr%2B7Q8KMgoPDwoBXgoPAAAAAAL%2FnAAABRQEsAALAA8AACkBAyMDIQEzAzMDMwEDMwMFFP3mKfIp%2FeYBr9EVohTQ%2Fp4b4BsBkP5wBLD%2B1AEs%2FnD%2B1AEsAAAAAAIAZAAABLAEsAAVAC8AAAEzMhYVETMyFgcBBiInASY2OwERNDYBMzIWFREUBiMhIiY1ETQ2OwEyFh0BITU0NgImyBUdvxQLDf65DSYN%2FrkNCxS%2FHQJUMgoPDwr75goPDwoyCg8DhA8EsB0V%2Fj4XEP5wEBABkBAXAcIVHfzgDwr%2BogoPDwoBXgoPDwqvrwoPAAMAFwAXBJkEmQAPABsAMQAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgUzMhYVETMyFgcDBiInAyY2OwERNDYB4%2BrWm1tbm9bq1ptbW5sBv%2BjFcnLF6MVycv58lgoPiRUKDd8NJg3fDQoViQ8EmVub1urWm1tbm9bq1ps7csXoxXJyxejFDQ8K%2Fu0XEP7tEBABExAXARMKDwAAAAMAFwAXBJkEmQAPABsAMQAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JiUTFgYrAREUBisBIiY1ESMiJjcTNjIB4%2BrWm1tbm9bq1ptbW5sBv%2BjFcnLF6MVycv7n3w0KFYkPCpYKD4kVCg3fDSYEmVub1urWm1tbm9bq1ps7csXoxXJyxejFAf7tEBf%2B7QoPDwoBExcQARMQAAAAAAIAAAAABLAEsAAZADkAABMhMhYXExYVERQGBwYjISImJyY1EzQ3Ez4BBSEiBgcDBhY7ATIWHwEeATsBMjY%2FAT4BOwEyNicDLgHhAu4KEwO6BwgFDBn7tAweAgYBB7kDEwKX%2FdQKEgJXAgwKlgoTAiYCEwr6ChMCJgITCpYKDAJXAhIEsA4K%2FXQYGf5XDB4CBggEDRkBqRkYAowKDsgOC%2F4%2BCw4OCpgKDg4KmAoODgsBwgsOAAMAFwAXBJkEmQAPABsAJwAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgUXFhQPAQYmNRE0NgHj6tabW1ub1urWm1tbmwG%2F6MVycsXoxXJy%2Fov9ERH9EBgYBJlbm9bq1ptbW5vW6tabO3LF6MVycsXoxV2%2BDCQMvgwLFQGQFQsAAQAXABcEmQSwACgAAAE3NhYVERQGIyEiJj8BJiMiDgEUHgEyPgE1MxQOAiIuAjQ%2BAjMyA7OHBwsPCv6WCwQHhW2BdMVycsXoxXKWW5vW6tabW1ub1nXABCSHBwQL%2FpYKDwsHhUxyxejFcnLFdHXWm1tbm9bq1ptbAAAAAAIAFwABBJkEsAAaADUAAAE3NhYVERQGIyEiJj8BJiMiDgEVIzQ%2BAjMyEzMUDgIjIicHBiY1ETQ2MyEyFg8BFjMyPgEDs4cHCw8L%2FpcLBAeGboF0xXKWW5vWdcDrllub1nXAnIYHCw8LAWgKBQiFboJ0xXIEJIcHBAv%2BlwsPCweGS3LFdHXWm1v9v3XWm1t2hggFCgFoCw8LB4VMcsUAAAAKAGQAAASwBLAADwAfAC8APwBPAF8AbwB%2FAI8AnwAAEyEyFhURFAYjISImNRE0NgUhIgYVERQWMyEyNjURNCYFMzIWHQEUBisBIiY9ATQ2MyEyFh0BFAYjISImPQE0NgczMhYdARQGKwEiJj0BNDYzITIWHQEUBiMhIiY9ATQ2BzMyFh0BFAYrASImPQE0NjMhMhYdARQGIyEiJj0BNDYHMzIWHQEUBisBIiY9ATQ2MyEyFh0BFAYjISImPQE0Nn0EGgoPDwr75goPDwPA%2FK4KDw8KA1IKDw%2F9CDIKDw8KMgoPD9IBwgoPDwr%2BPgoPD74yCg8PCjIKDw%2FSAcIKDw8K%2Fj4KDw%2B%2BMgoPDwoyCg8P0gHCCg8PCv4%2BCg8PvjIKDw8KMgoPD9IBwgoPDwr%2BPgoPDwSwDwr7ggoPDwoEfgoPyA8K%2FK4KDw8KA1IKD2QPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKD8gPCjIKDw8KMgoPDwoyCg8PCjIKDwAAAAACAAAAAARMBLAAGQAjAAABNTQmIyEiBh0BIyIGFREUFjMhMjY1ETQmIyE1NDY7ATIWHQEDhHVT%2FtRSdmQpOzspA4QpOzsp%2FageFMgUHgMgyFN1dlLIOyn9qCk7OykCWCk7lhUdHRWWAAIAZAAABEwETAAJADcAABMzMhYVESMRNDYFMhcWFREUBw4DIyIuAScuAiMiBwYjIicmNRE%2BATc2HgMXHgIzMjc2fTIKD2QPA8AEBRADIUNAMRwaPyonKSxHHlVLBwgGBQ4WeDsXKC4TOQQpLUUdZ1AHBEwPCvvNBDMKDzACBhH%2BWwYGO1AkDQ0ODg8PDzkFAwcPAbY3VwMCAwsGFAEODg5XCAAAAwAAAAAEsASXACEAMQBBAAAAMh4CFREUBisBIiY1ETQuASAOARURFAYrASImNRE0PgEDMzIWFREUBisBIiY1ETQ2ITMyFhURFAYrASImNRE0NgHk6N6jYw8KMgoPjeT%2B%2BuSNDwoyCg9joyqgCAwMCKAIDAwCYKAIDAwIoAgMDASXY6PedP7UCg8PCgEsf9FyctF%2F%2FtQKDw8KASx03qP9wAwI%2FjQIDAwIAcwIDAwI%2FjQIDAwIAcwIDAAAAAACAAAA0wRHA90AFQA5AAABJTYWFREUBiclJisBIiY1ETQ2OwEyBTc2Mh8BFhQPARcWFA8BBiIvAQcGIi8BJjQ%2FAScmND8BNjIXAUEBAgkMDAn%2B%2FhUZ%2BgoPDwr6GQJYeAcUByIHB3h4BwciBxQHeHgHFAciBwd3dwcHIgcUBwMurAYHCv0SCgcGrA4PCgFeCg%2BEeAcHIgcUB3h4BxQHIgcHd3cHByIHFAd4eAcUByIICAAAAAACAAAA0wNyA90AFQAvAAABJTYWFREUBiclJisBIiY1ETQ2OwEyJTMWFxYVFAcGDwEiLwEuATc2NTQnJjY%2FATYBQQECCQwMCf7%2BFRn6Cg8PCvoZAdIECgZgWgYLAwkHHQcDBkhOBgMIHQcDLqwGBwr9EgoHBqwODwoBXgoPZAEJgaGafwkBAQYXBxMIZ36EaggUBxYFAAAAAAMAAADEBGID7AAbADEASwAAATMWFxYVFAYHBgcjIi8BLgE3NjU0JicmNj8BNgUlNhYVERQGJyUmKwEiJjURNDY7ATIlMxYXFhUUBwYPASIvAS4BNzY1NCcmNj8BNgPHAwsGh0RABwoDCQcqCAIGbzs3BgIJKgf9ggECCQwMCf7%2BFRn6Cg8PCvoZAdIECgZgWgYLAwkHHQcDBkhOBgMIHQcD7AEJs9lpy1QJAQYiBhQIlrJarEcJFAYhBb6sBgcK%2FRIKBwasDg8KAV4KD2QBCYGhmn8JAQEGFwcTCGd%2BhGoIFQYWBQAAAAANAAAAAASwBLAACQAVABkAHQAhACUALQA7AD8AQwBHAEsATwAAATMVIxUhFSMRIQEjFTMVIREjESM1IQURIREhESERBSM1MwUjNTMBMxEhETM1MwEzFSMVIzUjNTM1IzUhBREhEQcjNTMFIzUzASM1MwUhNSEB9GRk%2FnBkAfQCvMjI%2FtTIZAJY%2B7QBLAGQASz84GRkArxkZP1EyP4MyGQB9MhkyGRkyAEs%2FUQBLGRkZAOEZGT%2BDGRkAfT%2B1AEsA4RkZGQCWP4MZMgBLAEsyGT%2B1AEs%2FtQBLMhkZGT%2BDP4MAfRk%2FtRkZGRkyGTI%2FtQBLMhkZGT%2B1GRkZAAAAAAJAAAAAASwBLAAAwAHAAsADwATABcAGwAfACMAADcjETMTIxEzASMRMxMjETMBIxEzASE1IRcjNTMXIzUzBSM1M2RkZMhkZAGQyMjIZGQBLMjI%2FOD%2B1AEsyGRkyGRkASzIyMgD6PwYA%2Bj8GAPo%2FBgD6PwYA%2Bj7UGRkW1tbW1sAAAIAAAAKBKYEsAANABUAAAkBFhQHAQYiJwETNDYzBCYiBhQWMjYB9AKqCAj%2BMAgUCP1WAQ8KAUM7Uzs7UzsEsP1WCBQI%2FjAICAKqAdsKD807O1Q7OwAAAAADAAAACgXSBLAADQAZACEAAAkBFhQHAQYiJwETNDYzIQEWFAcBBiIvAQkBBCYiBhQWMjYB9AKqCAj%2BMAgUCP1WAQ8KAwYCqggI%2FjAIFAg4Aaj9RP7TO1M7O1M7BLD9VggUCP4wCAgCqgHbCg%2F9VggUCP4wCAg4AaoCvM07O1Q7OwAAAAABAGQAAASwBLAAJgAAASEyFREUDwEGJjURNCYjISIPAQYWMyEyFhURFAYjISImNRE0PwE2ASwDOUsSQAgKDwr9RBkSQAgFCgK8Cg8PCvyuCg8SixIEsEv8fBkSQAgFCgO2Cg8SQAgKDwr8SgoPDwoDzxkSixIAAAABAMj%2F%2FwRMBLAACgAAEyEyFhURCQERNDb6AyAVHf4%2B%2Fj4dBLAdFfuCAbz%2BQwR%2FFR0AAAAAAwAAAAAEsASwABUARQBVAAABISIGBwMGHwEeATMhMjY%2FATYnAy4BASMiBg8BDgEjISImLwEuASsBIgYVERQWOwEyNj0BNDYzITIWHQEUFjsBMjY1ETQmASEiBg8BBhYzITI2LwEuAQM2%2FkQLEAFOBw45BhcKAcIKFwY%2BDgdTARABVpYKFgROBBYK%2FdoKFgROBBYKlgoPDwqWCg8PCgLuCg8PCpYKDw%2F%2Bsf4MChMCJgILCgJYCgsCJgITBLAPCv7TGBVsCQwMCWwVGAEtCg%2F%2BcA0JnAkNDQmcCQ0PCv12Cg8PCpYKDw8KlgoPDwoCigoP%2FagOCpgKDg4KmAoOAAAAAAQAAABkBLAETAAdACEAKQAxAAABMzIeAh8BMzIWFREUBiMhIiY1ETQ2OwE%2BBAEVMzUEIgYUFjI2NCQyFhQGIiY0AfTIOF00JAcGlik7Oyn8GCk7OymWAgknM10ByGT%2Bz76Hh76H%2Fu9WPDxWPARMKTs7FRQ7Kf2oKTs7KQJYKTsIG0U1K%2F7UZGRGh76Hh74IPFY8PFYAAAAAAgA1AAAEsASvACAAIwAACQEWFx4BHwEVITUyNi8BIQYHBh4CMxUhNTY3PgE%2FAQEDIQMCqQGBFCgSJQkK%2Fl81LBFS%2Fnk6IgsJKjIe%2FpM4HAwaBwcBj6wBVKIEr%2FwaMioTFQECQkJXLd6RWSIuHAxCQhgcDCUNDQPu%2FVoByQAAAAADAGQAAAPwBLAAJwAyADsAAAEeBhUUDgMjITU%2BATURNC4EJzUFMh4CFRQOAgclMzI2NTQuAisBETMyNjU0JisBAvEFEzUwOyodN1htbDD%2BDCk7AQYLFyEaAdc5dWM%2BHy0tEP6Pi05pESpTPnbYUFJ9Xp8CgQEHGB0zOlIuQ3VONxpZBzMoAzsYFBwLEAkHRwEpSXNDM1s6KwkxYUopOzQb%2FK5lUFqBAAABAMgAAANvBLAAGQAAARcOAQcDBhYXFSE1NjcTNjQuBCcmJzUDbQJTQgeECSxK%2Fgy6Dq0DAw8MHxUXDQYEsDkTNSj8uTEoBmFhEFIDQBEaExAJCwYHAwI5AAAAAAL%2FtQAABRQEsAAlAC8AAAEjNC4FKwERFBYfARUhNTI%2BAzURIyIOBRUjESEFIxEzByczESM3BRQyCAsZEyYYGcgyGRn%2BcAQOIhoWyBkYJhMZCwgyA%2Bj7m0tLfX1LS30DhBUgFQ4IAwH8rhYZAQJkZAEFCRUOA1IBAwgOFSAVASzI%2FOCnpwMgpwACACH%2FtQSPBLAAJQAvAAABIzQuBSsBERQWHwEVITUyPgM1ESMiDgUVIxEhEwc1IRUnNxUhNQRMMggLGRMmGBnIMhkZ%2FnAEDiIaFsgZGCYTGQsIMgPoQ6f84KenAyADhBUgFQ4IAwH9dhYZAQJkZAEFCRUOAooBAwgOFSAVASz7gn1LS319S0sABAAAAAAEsARMAA8AHwAvAD8AABMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYyAlgVHR0V%2FagVHR0VA%2BgVHR0V%2FBgVHR0VAyAVHR0V%2FOAVHR0VBEwVHR0V%2B7QVHR0ETB0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0ABAAAAAAEsARMAA8AHwAvAD8AABMhMhYdARQGIyEiJj0BNDYDITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NgMhMhYdARQGIyEiJj0BNDb6ArwVHR0V%2FUQVHR2zBEwVHR0V%2B7QVHR3dArwVHR0V%2FUQVHR2zBEwVHR0V%2B7QVHR0ETB0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0ABAAAAAAEsARMAA8AHwAvAD8AAAE1NDYzITIWHQEUBiMhIiYBNTQ2MyEyFh0BFAYjISImEzU0NjMhMhYdARQGIyEiJgE1NDYzITIWHQEUBiMhIiYB9B0VAlgVHR0V%2FagVHf5wHRUD6BUdHRX8GBUdyB0VAyAVHR0V%2FOAVHf7UHRUETBUdHRX7tBUdA7ZkFR0dFWQVHR3%2B6WQVHR0VZBUdHf7pZBUdHRVkFR0d%2FulkFR0dFWQVHR0AAAQAAAAABLAETAAPAB8ALwA%2FAAATITIWHQEUBiMhIiY9ATQ2EyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2MgRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dFQRMFR0dFfu0FR0dBEwdFWQVHR0VZBUd%2FtQdFWQVHR0VZBUd%2FtQdFWQVHR0VZBUd%2FtQdFWQVHR0VZBUdAAgAAAAABLAETAAPAB8ALwA%2FAE8AXwBvAH8AABMzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2ATMyFh0BFAYrASImPQE0NikBMhYdARQGIyEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2KQEyFh0BFAYjISImPQE0NgEzMhYdARQGKwEiJj0BNDYpATIWHQEUBiMhIiY9ATQ2MmQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR3%2B6WQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR3%2B6WQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR3%2B6WQVHR0VZBUdHQFBAyAVHR0V%2FOAVHR0ETB0VZBUdHRVkFR0dFWQVHR0VZBUd%2FtQdFWQVHR0VZBUdHRVkFR0dFWQVHf7UHRVkFR0dFWQVHR0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0dFWQVHR0VZBUdAAAG%2F5wAAASwBEwAAwATACMAKgA6AEoAACEjETsCMhYdARQGKwEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2BQc1IzUzNQUhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2AZBkZJZkFR0dFWQVHR0VAfQVHR0V%2FgwVHR3%2B%2BqfIyAHCASwVHR0V%2FtQVHR0VAlgVHR0V%2FagVHR0ETB0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR36fUtkS68dFWQVHR0VZBUd%2FtQdFWQVHR0VZBUdAAAABgAAAAAFFARMAA8AEwAjACoAOgBKAAATMzIWHQEUBisBIiY9ATQ2ASMRMwEhMhYdARQGIyEiJj0BNDYFMxUjFSc3BSEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYyZBUdHRVkFR0dA2dkZPyuAfQVHR0V%2FgwVHR0EL8jIp6f75gEsFR0dFf7UFR0dFQJYFR0dFf2oFR0dBEwdFWQVHR0VZBUd%2B7QETP7UHRVkFR0dFWQVHchkS319rx0VZBUdHRVkFR3%2B1B0VZBUdHRVkFR0AAAAAAgAAAMgEsAPoAA8AEgAAEyEyFhURFAYjISImNRE0NgkCSwLuHywsH%2F0SHywsBIT%2B1AEsA%2BgsH%2F12HywsHwKKHyz9RAEsASwAAwAAAAAEsARMAA8AFwAfAAATITIWFREUBiMhIiY1ETQ2FxE3BScBExEEMhYUBiImNCwEWBIaGhL7qBIaGkr3ASpKASXs%2FNJwTk5wTgRMGhL8DBIaGhID9BIaZP0ftoOcAT7%2B4AH0dE5vT09vAAAAAAIA2wAFBDYEkQAWAB4AAAEyHgEVFAcOAQ8BLgQnJjU0PgIWIgYUFjI2NAKIdcZzRkWyNjYJIV5YbSk8RHOft7eCgreCBJF4ynVzj23pPz4IIWZomEiEdVijeUjDgriBgbgAAAACABcAFwSZBJkADwAXAAAAMh4CFA4CIi4CND4BAREiDgEUHgEB4%2BrWm1tbm9bq1ptbW5sBS3TFcnLFBJlbm9bq1ptbW5vW6tab%2FG8DVnLF6MVyAAACAHUAAwPfBQ8AGgA1AAABHgYVFA4DBy4DNTQ%2BBQMOAhceBBcWNj8BNiYnLgInJjc2IyYCKhVJT1dOPiUzVnB9P1SbfEokP0xXUEm8FykoAwEbITEcExUWAgYCCQkFEikMGiACCAgFD0iPdXdzdYdFR4BeRiYEBTpjl1lFh3ZzeHaQ%2Ff4hS4I6JUEnIw4IBwwQIgoYBwQQQSlZtgsBAAAAAwAAAAAEywRsAAwAKgAvAAABNz4CHgEXHgEPAiUhMhcHISIGFREUFjMhMjY9ATcRFAYjISImNRE0NgkBBzcBA%2BhsAgYUFR0OFgoFBmz9BQGQMje7%2FpApOzspAfQpO8i7o%2F5wpbm5Azj%2BlqE3AWMD9XMBAgIEDw4WKgsKc8gNuzsp%2FgwpOzsptsj%2BtKW5uaUBkKW5%2Ftf%2BljKqAWMAAgAAAAAEkwRMABsANgAAASEGByMiBhURFBYzITI2NTcVFAYjISImNRE0NgUBFhQHAQYmJzUmDgMHPgY3NT4BAV4BaaQ0wyk7OykB9Ck7yLml%2FnClubkCfwFTCAj%2BrAcLARo5ZFRYGgouOUlARioTAQsETJI2Oyn%2BDCk7OymZZ6W5uaUBkKW5G%2F7TBxUH%2Fs4GBAnLAQINFjAhO2JBNB0UBwHSCgUAAAAAAgAAAAAEnQRMAB0ANQAAASEyFwchIgYVERQWMyEyNj0BNxUUBiMhIiY1ETQ2CQE2Mh8BFhQHAQYiLwEmND8BNjIfARYyAV4BXjxDsv6jKTs7KQH0KTvIuaX%2BcKW5uQHKAYsHFQdlBwf97QcVB%2FgHB2UHFQdvCBQETBexOyn%2BDCk7OylFyNulubmlAZCluf4zAYsHB2UHFQf97AcH%2BAcVB2UHB28HAAAAAQAKAAoEpgSmADsAAAkBNjIXARYGKwEVMzU0NhcBFhQHAQYmPQEjFTMyFgcBBiInASY2OwE1IxUUBicBJjQ3ATYWHQEzNSMiJgE%2BAQgIFAgBBAcFCqrICggBCAgI%2FvgICsiqCgUH%2FvwIFAj%2B%2BAgFCq%2FICgj%2B%2BAgIAQgICsivCgUDlgEICAj%2B%2BAgKyK0KBAf%2B%2FAcVB%2F73BwQKrcgKCP74CAgBCAgKyK0KBAcBCQcVBwEEBwQKrcgKAAEAyAAAA4QETAAZAAATMzIWFREBNhYVERQGJwERFAYrASImNRE0NvpkFR0B0A8VFQ%2F%2BMB0VZBUdHQRMHRX%2BSgHFDggV%2FBgVCA4Bxf5KFR0dFQPoFR0AAAABAAAAAASwBEwAIwAAEzMyFhURATYWFREBNhYVERQGJwERFAYnAREUBisBIiY1ETQ2MmQVHQHQDxUB0A8VFQ%2F%2BMBUP%2FjAdFWQVHR0ETB0V%2FkoBxQ4IFf5KAcUOCBX8GBUIDgHF%2FkoVCA4Bxf5KFR0dFQPoFR0AAAABAJ0AGQSwBDMAFQAAAREUBicBERQGJwEmNDcBNhYVEQE2FgSwFQ%2F%2BMBUP%2FhQPDwHsDxUB0A8VBBr8GBUIDgHF%2FkoVCA4B4A4qDgHgDggV%2FkoBxQ4IAAAAAQDIABYEMwQ2AAsAABMBFhQHAQYmNRE0NvMDLhIS%2FNISGRkEMv4OCx4L%2Fg4LDhUD6BUOAAIAyABkA4QD6AAPAB8AABMzMhYVERQGKwEiJjURNDYhMzIWFREUBisBIiY1ETQ2%2BsgVHR0VyBUdHQGlyBUdHRXIFR0dA%2BgdFfzgFR0dFQMgFR0dFfzgFR0dFQMgFR0AAAEAyABkBEwD6AAPAAABERQGIyEiJjURNDYzITIWBEwdFfzgFR0dFQMgFR0DtvzgFR0dFQMgFR0dAAAAAAEAAAAZBBMEMwAVAAABETQ2FwEWFAcBBiY1EQEGJjURNDYXAfQVDwHsDw%2F%2BFA8V%2FjAPFRUPAmQBthUIDv4gDioO%2FiAOCBUBtv47DggVA%2BgVCA4AAAH%2F%2FgACBLMETwAjAAABNzIWFRMUBiMHIiY1AwEGJjUDAQYmNQM0NhcBAzQ2FwEDNDYEGGQUHgUdFWQVHQL%2BMQ4VAv4yDxUFFQ8B0gIVDwHSAh0ETgEdFfwYFR0BHRUBtf46DwkVAbX%2BOQ4JFAPoFQkP%2Fj4BthQJDv49AbYVHQAAAQEsAAAD6ARMABkAAAEzMhYVERQGKwEiJjURAQYmNRE0NhcBETQ2A1JkFR0dFWQVHf4wDxUVDwHQHQRMHRX8GBUdHRUBtv47DggVA%2BgVCA7%2BOwG2FR0AAAIAZADIBLAESAALABsAAAkBFgYjISImNwE2MgEhMhYdARQGIyEiJj0BNDYCrgH1DwkW%2B%2B4WCQ8B9Q8q%2FfcD6BUdHRX8GBUdHQQ5%2FeQPFhYPAhwP%2FUgdFWQVHR0VZBUdAAEAiP%2F8A3UESgAFAAAJAgcJAQN1%2FqABYMX92AIoA4T%2Bn%2F6fxgIoAiYAAAAAAQE7%2F%2FwEKARKAAUAAAkBJwkBNwQo%2FdnGAWH%2Bn8YCI%2F3ZxgFhAWHGAAIAFwAXBJkEmQAPADMAAAAyHgIUDgIiLgI0PgEFIyIGHQEjIgYdARQWOwEVFBY7ATI2PQEzMjY9ATQmKwE1NCYB4%2BrWm1tbm9bq1ptbW5sBfWQVHZYVHR0Vlh0VZBUdlhUdHRWWHQSZW5vW6tabW1ub1urWm7odFZYdFWQVHZYVHR0Vlh0VZBUdlhUdAAAAAAIAFwAXBJkEmQAPAB8AAAAyHgIUDgIiLgI0PgEBISIGHQEUFjMhMjY9ATQmAePq1ptbW5vW6tabW1ubAkX%2BDBUdHRUB9BUdHQSZW5vW6tabW1ub1urWm%2F5%2BHRVkFR0dFWQVHQACABcAFwSZBJkADwAzAAAAMh4CFA4CIi4CND4BBCIPAScmIg8BBhQfAQcGFB8BFjI%2FARcWMj8BNjQvATc2NC8BAePq1ptbW5vW6tabW1ubAeUZCXh4CRkJjQkJeHgJCY0JGQl4eAkZCY0JCXh4CQmNBJlbm9bq1ptbW5vW6tabrQl4eAkJjQkZCXh4CRkJjQkJeHgJCY0JGQl4eAkZCY0AAgAXABcEmQSZAA8AJAAAADIeAhQOAiIuAjQ%2BAQEnJiIPAQYUHwEWMjcBNjQvASYiBwHj6tabW1ub1urWm1tbmwEVVAcVCIsHB%2FIHFQcBdwcHiwcVBwSZW5vW6tabW1ub1urWm%2F4xVQcHiwgUCPEICAF3BxUIiwcHAAAAAAMAFwAXBJkEmQAPADsASwAAADIeAhQOAiIuAjQ%2BAQUiDgMVFDsBFjc%2BATMyFhUUBgciDgUHBhY7ATI%2BAzU0LgMTIyIGHQEUFjsBMjY9ATQmAePq1ptbW5vW6tabW1ubAT8dPEIyIRSDHgUGHR8UFw4TARkOGhITDAIBDQ6tBx4oIxgiM0Q8OpYKDw8KlgoPDwSZW5vW6tabW1ub1urWm5ELHi9PMhkFEBQQFRIXFgcIBw4UHCoZCBEQKDhcNi9IKhsJ%2FeMPCpYKDw8KlgoPAAADABcAFwSZBJkADwAfAD4AAAAyHgIUDgIiLgI0PgEFIyIGHQEUFjsBMjY9ATQmAyMiBh0BFBY7ARUjIgYdARQWMyEyNj0BNCYrARE0JgHj6tabW1ub1urWm1tbmwGWlgoPDwqWCg8PCvoKDw8KS0sKDw8KAV4KDw8KSw8EmVub1urWm1tbm9bq1ptWDwqWCg8PCpYKD%2F7UDwoyCg%2FIDwoyCg8PCjIKDwETCg8AAgAAAAAEsASwAC8AXwAAATMyFh0BHgEXMzIWHQEUBisBDgEHFRQGKwEiJj0BLgEnIyImPQE0NjsBPgE3NTQ2ExUUBisBIiY9AQ4BBzMyFh0BFAYrAR4BFzU0NjsBMhYdAT4BNyMiJj0BNDY7AS4BAg2WCg9nlxvCCg8PCsIbl2cPCpYKD2eXG8IKDw8KwhuXZw%2B5DwqWCg9EZheoCg8PCqgXZkQPCpYKD0RmF6gKDw8KqBdmBLAPCsIbl2cPCpYKD2eXG8IKDw8KwhuXZw8KlgoPZ5cbwgoP%2Fs2oCg8PCqgXZkQPCpYKD0RmF6gKDw8KqBdmRA8KlgoPRGYAAwAXABcEmQSZAA8AGwA%2FAAAAMh4CFA4CIi4CND4BBCIOARQeATI%2BATQmBxcWFA8BFxYUDwEGIi8BBwYiLwEmND8BJyY0PwE2Mh8BNzYyAePq1ptbW5vW6tabW1ubAb%2FoxXJyxejFcnKaQAcHfHwHB0AHFQd8fAcVB0AHB3x8BwdABxUHfHwHFQSZW5vW6tabW1ub1urWmztyxejFcnLF6MVaQAcVB3x8BxUHQAcHfHwHB0AHFQd8fAcVB0AHB3x8BwAAAAMAFwAXBJkEmQAPABsAMAAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgcXFhQHAQYiLwEmND8BNjIfATc2MgHj6tabW1ub1urWm1tbmwG%2F6MVycsXoxXJyg2oHB%2F7ACBQIyggIagcVB0%2FFBxUEmVub1urWm1tbm9bq1ps7csXoxXJyxejFfWoHFQf%2BvwcHywcVB2oICE%2FFBwAAAAMAFwAXBJkEmQAPABgAIQAAADIeAhQOAiIuAjQ%2BAQUiDgEVFBcBJhcBFjMyPgE1NAHj6tabW1ub1urWm1tbmwFLdMVyQQJLafX9uGhzdMVyBJlbm9bq1ptbW5vW6tabO3LFdHhpAktB0P24PnLFdHMAAAAAAQAXAFMEsAP5ABUAABMBNhYVESEyFh0BFAYjIREUBicBJjQnAgoQFwImFR0dFf3aFxD99hACRgGrDQoV%2Ft0dFcgVHf7dFQoNAasNJgAAAAABAAAAUwSZA%2FkAFQAACQEWFAcBBiY1ESEiJj0BNDYzIRE0NgJ%2FAgoQEP32EBf92hUdHRUCJhcD8f5VDSYN%2FlUNChUBIx0VyBUdASMVCgAAAAEAtwAABF0EmQAVAAAJARYGIyERFAYrASImNREhIiY3ATYyAqoBqw0KFf7dHRXIFR3%2B3RUKDQGrDSYEif32EBf92hUdHRUCJhcQAgoQAAAAAQC3ABcEXQSwABUAAAEzMhYVESEyFgcBBiInASY2MyERNDYCJsgVHQEjFQoN%2FlUNJg3%2BVQ0KFQEjHQSwHRX92hcQ%2FfYQEAIKEBcCJhUdAAABAAAAtwSZBF0AFwAACQEWFAcBBiY1EQ4DBz4ENxE0NgJ%2FAgoQEP32EBdesKWBJAUsW4fHfhcEVf5VDSYN%2FlUNChUBIwIkRHVNabGdcUYHAQYVCgACAAAAAASwBLAAFQArAAABITIWFREUBi8BBwYiLwEmND8BJyY2ASEiJjURNDYfATc2Mh8BFhQPARcWBgNSASwVHRUOXvkIFAhqBwf5Xg4I%2FiH%2B1BUdFQ5e%2BQgUCGoHB%2FleDggEsB0V%2FtQVCA5e%2BQcHaggUCPleDhX7UB0VASwVCA5e%2BQcHaggUCPleDhUAAAACAEkASQRnBGcAFQArAAABFxYUDwEXFgYjISImNRE0Nh8BNzYyASEyFhURFAYvAQcGIi8BJjQ%2FAScmNgP2agcH%2BV4OCBX%2B1BUdFQ5e%2BQgU%2FQwBLBUdFQ5e%2BQgUCGoHB%2FleDggEYGoIFAj5Xg4VHRUBLBUIDl75B%2F3xHRX%2B1BUIDl75BwdqCBQI%2BV4OFQAAAAADABcAFwSZBJkADwAfAC8AAAAyHgIUDgIiLgI0PgEFIyIGFxMeATsBMjY3EzYmAyMiBh0BFBY7ATI2PQE0JgHj6tabW1ub1urWm1tbmwGz0BQYBDoEIxQ2FCMEOgQYMZYKDw8KlgoPDwSZW5vW6tabW1ub1urWm7odFP7SFB0dFAEuFB3%2BDA8KlgoPDwqWCg8AAAAABQAAAAAEsASwAEkAVQBhAGgAbwAAATIWHwEWHwEWFxY3Nj8BNjc2MzIWHwEWHwIeATsBMhYdARQGKwEiBh0BIREjESE1NCYrASImPQE0NjsBMjY1ND8BNjc%2BBAUHBhY7ATI2LwEuAQUnJgYPAQYWOwEyNhMhIiY1ESkBERQGIyERAQQJFAUFFhbEFQ8dCAsmxBYXERUXMA0NDgQZCAEPCj0KDw8KMgoP%2FnDI%2FnAPCjIKDw8KPQsOCRkFDgIGFRYfAp2mBwQK2woKAzMDEP41sQgQAzMDCgrnCwMe%2FokKDwGQAlgPCv6JBLAEAgIKDXYNCxUJDRZ2DQoHIREQFRh7LAkLDwoyCg8PCq8BLP7UrwoPDwoyCg8GBQQwgBkUAwgWEQ55ogcKDgqVCgSqnQcECo8KDgr8cg8KAXf%2BiQoPAZAAAAAAAgAAAAwErwSmACsASQAAATYWFQYCDgQuAScmByYOAQ8BBiY1NDc%2BATc%2BAScuAT4BNz4GFyYGBw4BDwEOBAcOARY2Nz4CNz4DNz4BBI0IGgItQmxhi2KORDg9EQQRMxuZGhYqCFUYEyADCQIQOjEnUmFch3vAJQgdHyaiPT44XHRZUhcYDhItIRmKcVtGYWtbKRYEBKYDEwiy%2Ft3IlVgxEQgLCwwBAQIbG5kYEyJAJghKFRE8Hzdff4U%2FM0o1JSMbL0QJGCYvcSEhHjZST2c1ODwEJygeW0AxJUBff1UyFAABAF0AHgRyBM8ATwAAAQ4BHgQXLgc%2BATceAwYHDgQHBicmNzY3PgQuAScWDgMmJy4BJyY%2BBDcGHgM3PgEuAicmPgMCjScfCic4R0IgBBsKGAoQAwEJEg5gikggBhANPkpTPhZINx8SBgsNJysiCRZOQQoVNU1bYC9QZwICBAUWITsoCAYdJzIYHw8YIiYHDyJJYlkEz0OAZVxEOSQMBzgXOB42IzElKRIqg5Gnl0o3Z0c6IAYWCwYNAwQFIDhHXGF1OWiqb0sdBxUknF0XNTQ8PEUiNWNROBYJDS5AQVUhVZloUSkAAAAAA%2F%2FcAGoE1ARGABsAPwBRAAAAMh4FFA4FIi4FND4EBSYGFxYVFAYiJjU0NzYmBwYHDgEXHgQyPgM3NiYnJgUHDgEXFhcWNj8BNiYnJicuAQIGpJ17bk85HBw6T257naKde25POhwcOU9uewIPDwYIGbD4sBcIBw5GWg0ECxYyWl%2BDiINfWjIWCwQMWv3%2FIw8JCSU4EC0OIw4DDywtCyIERi1JXGJcSSpJXGJcSS0tSVxiXEkqSVxiXEncDwYTOT58sLB8OzcTBg9FcxAxEiRGXkQxMEVeRSQSMRF1HiQPLxJEMA0EDyIPJQ8sSRIEAAAABP%2FcAAAE1ASwABQAJwA7AEwAACEjNy4ENTQ%2BBTMyFzczEzceARUUDgMHNz4BNzYmJyYlBgcOARceBBc3LgE1NDc2JhcHDgEXFhcWNj8CJyYnLgECUJQfW6l2WSwcOU9ue51SPUEglCYvbIknUGqYUi5NdiYLBAw2%2FVFGWg0ECxIqSExoNSlrjxcIB3wjDwkJJTgQLQ4MFgMsLQsieBRhdHpiGxVJXGJcSS0Pef5StVXWNBpacm5jGq0xiD8SMRFGckVzEDESHjxRQTkNmhKnbjs3EwZwJA8vEkQwDQQPC1YELEkSBAAAAAP%2FngAABRIEqwALABgAKAAAJwE2FhcBFgYjISImJSE1NDY7ATIWHQEhAQczMhYPAQ4BKwEiJi8BJjZaAoIUOBQCghUbJfryJRsBCgFZDwqWCg8BWf5DaNAUGAQ6BCMUNhQjBDoEGGQEKh8FIfvgIEdEhEsKDw8KSwLT3x0U%2FBQdHRT8FB0AAAABAGQAFQSwBLAAKAAAADIWFREBHgEdARQGJyURFh0BFAYvAQcGJj0BNDcRBQYmPQE0NjcBETQCTHxYAWsPFhgR%2FplkGhPNzRMaZP6ZERgWDwFrBLBYPv6t%2FrsOMRQpFA0M%2Bf75XRRAFRAJgIAJEBVAFF0BB%2FkMDRQpFDEOAUUBUz4AAAARAAAAAARMBLAAHQAnACsALwAzADcAOwA%2FAEMARwBLAE8AUwBXAFsAXwBjAAABMzIWHQEzMhYdASE1NDY7ATU0NjsBMhYdASE1NDYBERQGIyEiJjURFxUzNTMVMzUzFTM1MxUzNTMVMzUFFTM1MxUzNTMVMzUzFTM1MxUzNQUVMzUzFTM1MxUzNTMVMzUzFTM1A1JkFR0yFR37tB0VMh0VZBUdAfQdAQ8dFfwYFR1kZGRkZGRkZGRk%2FHxkZGRkZGRkZGT8fGRkZGRkZGRkZASwHRUyHRWWlhUdMhUdHRUyMhUd%2FnD9EhUdHRUC7shkZGRkZGRkZGRkyGRkZGRkZGRkZGTIZGRkZGRkZGRkZAAAAAMAAAAZBXcElwAZACUANwAAARcWFA8BBiY9ASMBISImPQE0NjsBATM1NDYBBycjIiY9ATQ2MyEBFxYUDwEGJj0BIyc3FzM1NDYEb%2FkPD%2FkOFZ%2F9qP7dFR0dFdECWPEV%2FamNetEVHR0VASMDGvkPD%2FkOFfG1jXqfFQSN5g4qDuYOCBWW%2FagdFWQVHQJYlhUI%2FpiNeh0VZBUd%2Fk3mDioO5g4IFZa1jXqWFQgAAAABAAAAAASwBEwAEgAAEyEyFhURFAYjIQERIyImNRE0NmQD6Ck7Oyn9rP7QZCk7OwRMOyn9qCk7%2FtQBLDspAlgpOwAAAAMAZAAABEwEsAAJABMAPwAAEzMyFh0BITU0NiEzMhYdASE1NDYBERQOBSIuBTURIRUUFRwBHgYyPgYmNTQ9AZbIFR3%2B1B0C0cgVHf7UHQEPBhgoTGacwJxmTCgYBgEsAwcNFB8nNkI2Jx8TDwUFAQSwHRX6%2BhUdHRX6%2BhUd%2FnD%2B1ClJalZcPigoPlxWakkpASz6CRIVKyclIRsWEAgJEBccISUnKhURCPoAAAAB%2F%2F8A1ARMA8IABQAAAQcJAScBBEzG%2Fp%2F%2Bn8UCJwGbxwFh%2Fp%2FHAicAAQAAAO4ETQPcAAUAAAkCNwkBBE392v3ZxgFhAWEDFf3ZAifH%2Fp8BYQAAAAAC%2F1EAZAVfA%2BgAFAApAAABITIWFREzMhYPAQYiLwEmNjsBESElFxYGKwERIRchIiY1ESMiJj8BNjIBlALqFR2WFQgO5g4qDuYOCBWW%2FoP%2BHOYOCBWWAYHX%2FRIVHZYVCA7mDioD6B0V%2FdkVDvkPD%2FkOFQGRuPkOFf5wyB0VAiYVDvkPAAABAAYAAASeBLAAMAAAEzMyFh8BITIWBwMOASMhFyEyFhQGKwEVFAYiJj0BIRUUBiImPQEjIiYvAQMjIiY0NjheERwEJgOAGB4FZAUsIf2HMAIXFR0dFTIdKh3%2B1B0qHR8SHQYFyTYUHh4EsBYQoiUY%2FiUVK8gdKh0yFR0dFTIyFR0dFTIUCQoDwR0qHQAAAAACAAAAAASwBEwACwAPAAABFSE1MzQ2MyEyFhUFIREhBLD7UMg7KQEsKTv9RASw%2B1AD6GRkKTs7Kcj84AACAAAAAAXcBEwADAAQAAATAxEzNDYzITIWFSEVBQEhAcjIyDspASwqOgH0ASz%2B1PtQASwDIP5wAlgpOzspyGT9RAK8AAEBRQAAA2sErwAbAAABFxYGKwERMzIWDwEGIi8BJjY7AREjIiY%2FATYyAnvmDggVlpYVCA7mDioO5g4IFZaWFQgO5g4qBKD5DhX9pxUO%2BQ8P%2BQ4VAlkVDvkPAAAAAQABAUQErwNrABsAAAEXFhQPAQYmPQEhFRQGLwEmND8BNhYdASE1NDYDqPkODvkPFf2oFQ%2F5Dg75DxUCWBUDYOUPKQ%2FlDwkUl5cUCQ%2FlDykP5Q8JFZWVFQkAAAAEAAAAAASwBLAACQAZAB0AIQAAAQMuASMhIgYHAwUhIgYdARQWMyEyNj0BNCYFNTMVMzUzFQSRrAUkFP1gFCQFrAQt%2FBgpOzspA%2BgpOzv%2Bq2RkZAGQAtwXLSgV%2FR1kOylkKTs7KWQpO8hkZGRkAAAAA%2F%2BcAGQEsARMAAsAIwAxAAAAMhYVERQGIiY1ETQDJSMTFgYjIisBIiYnAj0BNDU0PgE7ASUBFSIuAz0BND4CNwRpKh0dKh1k%2FV0mLwMRFQUCVBQdBDcCCwzIAqP8GAQOIhoWFR0dCwRMHRX8rhUdHRUDUhX8mcj%2B7BAIHBUBUQ76AgQQDw36%2FtT6AQsTKRwyGigUDAEAAAACAEoAAARmBLAALAA1AAABMzIWDwEeARcTFzMyFhQGBw4EIyIuBC8BLgE0NjsBNxM%2BATcnJjYDFjMyNw4BIiYCKV4UEgYSU3oPP3YRExwaEggeZGqfTzl0XFU%2BLwwLEhocExF2Pw96UxIGEyQyNDUxDDdGOASwFRMlE39N%2FrmtHSkoBwQLHBYSCg4REg4FBAgoKR2tAUdNfhQgExr7vgYGMT09AAEAFAAUBJwEnAAXAAABNwcXBxcHFycHJwcnBzcnNyc3Jxc3FzcDIOBO6rS06k7gLZubLeBO6rS06k7gLZubA7JO4C2bmy3gTuq0tOpO4C2bmy3gTuq0tAADAAAAZASwBLAAIQAtAD0AAAEzMhYdAQchMhYdARQHAw4BKwEiJi8BIyImNRE0PwI%2BARcPAREzFzMTNSE3NQEzMhYVERQGKwEiJjURNDYCijIoPBwBSCg8He4QLBf6B0YfHz0tNxSRYA0xG2SWZIjW%2Bv4%2BMv12ZBUdHRVkFR0dBLBRLJZ9USxkLR3%2BqBghMhkZJCcBkCQbxMYcKGTU1f6JZAF3feGv%2FtQdFf4MFR0dFQH0FR0AAAAAAwAAAAAEsARMACAAMAA8AAABMzIWFxMWHQEUBiMhFh0BFAYrASImLwImNRE0NjsBNgUzMhYVERQGKwEiJjURNDYhByMRHwEzNSchNQMCWPoXLBDuHTwo%2FrgcPCgyGzENYJEUNy09fP3pZBUdHRVkFR0dAl%2BIZJZkMjIBwvoETCEY%2FqgdLWQsUXYHlixRKBzGxBskAZAnJGRkHRX%2BDBUdHRUB9BUdZP6J1dSv4X0BdwADAAAAZAUOBE8AGwA3AEcAAAElNh8BHgEPASEyFhQGKwEDDgEjISImNRE0NjcXERchEz4BOwEyNiYjISoDLgQnJj8BJwUzMhYVERQGKwEiJjURNDYBZAFrHxZuDQEMVAEuVGxuVGqDBhsP%2FqoHphwOOmQBJYMGGw%2FLFRMSFv44AgoCCQMHAwUDAQwRklb9T2QVHR0VZBUdHQNp5hAWcA0mD3lMkE7%2BrRUoog0CDRElCkj%2BCVkBUxUoMjIBAgIDBQIZFrdT5B0V%2FgwVHR0VAfQVHQAAAAP%2FnABkBLAETwAdADYARgAAAQUeBBURFAYjISImJwMjIiY0NjMhJyY2PwE2BxcWBw4FKgIjIRUzMhYXEyE3ESUFMzIWFREUBisBIiY1ETQ2AdsBbgIIFBANrAf%2Bqg8bBoNqVW1sVAEuVQsBDW4WSpIRDAIDBQMHAwkDCgH%2BJd0PHAaCASZq%2FqoCUGQVHR0VZBUdHQRP5gEFEBEXC%2F3zDaIoFQFTTpBMeQ8mDXAWrrcWGQIFAwICAWQoFf6tWQH37OQdFf4MFR0dFQH0FR0AAAADAGEAAARMBQ4AGwA3AEcAAAAyFh0BBR4BFREUBiMhIiYvAQMmPwE%2BAR8BETQXNTQmBhURHAMOBAcGLwEHEyE3ESUuAQMhMhYdARQGIyEiJj0BNDYB3pBOAVMVKKIN%2FfMRJQoJ5hAWcA0mD3nGMjIBAgIDBQIZFrdT7AH3Wf6tFSiWAfQVHR0V%2FgwVHR0FDm5UaoMGGw%2F%2BqgemHA4OAWsfFm4NAQxUAS5U1ssVExIW%2FjgCCgIJAwcDBQMBDBGSVv6tZAElgwYb%2FQsdFWQVHR0VZBUdAAP%2F%2FQAGA%2BgFFAAPAC0ASQAAASEyNj0BNCYjISIGHQEUFgEVFAYiJjURBwYmLwEmNxM%2BBDMhMhYVERQGBwEDFzc2Fx4FHAIVERQWNj0BNDY3JREnAV4B9BUdHRX%2BDBUdHQEPTpBMeQ8mDXAWEOYBBRARFwsCDQ2iKBX9iexTtxYZAgUDAgIBMjIoFQFTWQRMHRVkFR0dFWQVHfzmalRubFQBLlQMAQ1uFh8BawIIEw8Mpgf%2Bqg8bBgHP%2Fq1WkhEMAQMFAwcDCQIKAv44FhITFcsPGwaDASVkAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEBJSYGHQEhIgYdARQWMyEVFBY3JTY0AeLs1ptbW5vW7NabW1ubAob%2B7RAX%2Fu0KDw8KARMXEAETEASaW5vW7NabW1ub1uzWm%2F453w0KFYkPCpYKD4kVCg3fDSYAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgENAQYUFwUWNj0BITI2PQE0JiMhNTQmAeLs1ptbW5vW7NabW1ubASX%2B7RAQARMQFwETCg8PCv7tFwSaW5vW7NabW1ub1uzWm%2BjfDSYN3w0KFYkPCpYKD4kVCgAAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEBAyYiBwMGFjsBERQWOwEyNjURMzI2AeLs1ptbW5vW7NabW1ubAkvfDSYN3w0KFYkPCpYKD4kVCgSaW5vW7NabW1ub1uzWm%2F5AARMQEP7tEBf%2B7QoPDwoBExcAAAIAFgAWBJoEmgAPACUAAAAyHgIUDgIiLgI0PgEFIyIGFREjIgYXExYyNxM2JisBETQmAeLs1ptbW5vW7NabW1ubAZeWCg%2BJFQoN3w0mDd8NChWJDwSaW5vW7NabW1ub1uzWm7sPCv7tFxD%2B7RAQARMQFwETCg8AAAMAGAAYBJgEmAAPAJYApgAAADIeAhQOAiIuAjQ%2BASUOAwcGJgcOAQcGFgcOAQcGFgcUFgcyHgEXHgIXHgI3Fg4BFx4CFxQGFBcWNz4CNy4BJy4BJyIOAgcGJyY2NS4BJzYuAQYHBicmNzY3HgIXHgMfAT4CJyY%2BATc%2BAzcmNzIWMjY3LgMnND4CJiceAT8BNi4CJwYHFB4BFS4CJz4BNxYyPgEB5OjVm1xcm9Xo1ZtcXJsBZA8rHDoKDz0PFD8DAxMBAzEFCRwGIgEMFhkHECIvCxU%2FOR0HFBkDDRQjEwcFaHUeISQDDTAMD0UREi4oLBAzDwQBBikEAQMLGhIXExMLBhAGKBsGBxYVEwYFAgsFAwMNFwQGCQcYFgYQCCARFwkKKiFBCwQCAQMDHzcLDAUdLDgNEiEQEgg%2FKhADGgMKEgoRBJhcm9Xo1ZtcXJvV6NWbEQwRBwkCAwYFBycPCxcHInIWInYcCUcYChQECA4QBAkuHgQPJioRFRscBAcSCgwCch0kPiAIAQcHEAsBAgsLIxcBMQENCQIPHxkCFBkdHB4QBgEBBwoMGBENBAMMJSAQEhYXDQ4qFBkKEhIDCQsXJxQiBgEOCQwHAQ0DBAUcJAwSCwRnETIoAwEJCwsLJQcKDBEAAAAAAQAAAAIErwSFABYAAAE2FwUXNxYGBw4BJwEGIi8BJjQ3ASY2AvSkjv79kfsGUE08hjv9rA8rD28PDwJYIk8EhVxliuh%2BWYcrIgsW%2FawQEG4PKxACV2XJAAYAAABgBLAErAAPABMAIwAnADcAOwAAEyEyFh0BFAYjISImPQE0NgUjFTMFITIWHQEUBiMhIiY9ATQ2BSEVIQUhMhYdARQGIyEiJj0BNDYFIRUhZAPoKTs7KfwYKTs7BBHIyPwYA%2BgpOzsp%2FBgpOzsEEf4MAfT8GAPoKTs7KfwYKTs7BBH%2B1AEsBKw7KWQpOzspZCk7ZGTIOylkKTs7KWQpO2RkyDspZCk7OylkKTtkZAAAAAIAZAAABEwEsAALABEAABMhMhYUBiMhIiY0NgERBxEBIZYDhBUdHRX8fBUdHQI7yP6iA4QEsB0qHR0qHf1E%2FtTIAfQB9AAAAAMAAABkBLAEsAAXABsAJQAAATMyFh0BITIWFREhNSMVIRE0NjMhNTQ2FxUzNQEVFAYjISImPQEB9MgpOwEsKTv%2BDMj%2BDDspASw7KcgB9Dsp%2FBgpOwSwOylkOyn%2BcGRkAZApO2QpO2RkZP1EyCk7OynIAAAABAAAAAAEsASwABUAKwBBAFcAABMhMhYPARcWFA8BBiIvAQcGJjURNDYpATIWFREUBi8BBwYiLwEmND8BJyY2ARcWFA8BFxYGIyEiJjURNDYfATc2MgU3NhYVERQGIyEiJj8BJyY0PwE2MhcyASwVCA5exwcHaggUCMdeDhUdAzUBLBUdFQ5exwgUCGoHB8deDgj%2BL2oHB8deDggV%2FtQVHRUOXscIFALLXg4VHRX%2B1BUIDl7HBwdqCBQIBLAVDl7HCBQIagcHx14OCBUBLBUdHRX%2B1BUIDl7HBwdqCBQIx14OFf0maggUCMdeDhUdFQEsFQgOXscHzl4OCBX%2B1BUdFQ5exwgUCGoHBwAAAAYAAAAABKgEqAAPABsAIwA7AEMASwAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JiQyFhQGIiY0JDIWFAYjIicHFhUUBiImNTQ2PwImNTQEMhYUBiImNCQyFhQGIiY0Advy3Z9fX5%2Fd8t2gXl6gAcbgv29vv%2BC%2Fb2%2F%2BLS0gIC0gAUwtICAWDg83ETNIMykfegEJ%2FoctICAtIAIdLSAgLSAEqF%2Bf3fLdoF5eoN3y3Z9Xb7%2Fgv29vv%2BC%2FBiAtISEtICAtIQqRFxwkMzMkIDEFfgEODhekIC0gIC0gIC0gIC0AAf%2FYAFoEuQS8AFsAACUBNjc2JicmIyIOAwcABw4EFx4BMzI3ATYnLgEjIgcGBwEOASY0NwA3PgEzMhceARcWBgcOBgcGIyImJyY2NwE2NzYzMhceARcWBgcBDgEnLgECIgHVWwgHdl8WGSJBMD8hIP6IDx4eLRMNBQlZN0ozAiQkEAcdEhoYDRr%2Bqw8pHA4BRyIjQS4ODyw9DQ4YIwwod26La1YOOEBGdiIwGkQB%2F0coW2tQSE5nDxE4Qv4eDyoQEAOtAdZbZWKbEQQUGjIhH%2F6JDxsdNSg3HT5CMwIkJCcQFBcMGv6uDwEcKQ4BTSIjIQEINykvYyMLKnhuiWZMBxtAOU6%2BRAH%2FSBg3ISSGV121Qv4kDwIPDyYAAAACAGQAWASvBEQAGQBEAAABPgIeAhUUDgMHLgQ1ND4CHgEFIg4DIi4DIyIGFRQeAhcWFx4EMj4DNzY3PgQ1NCYCiTB7eHVYNkN5hKg%2BPqeFeEM4WnZ4eQEjIT8yLSohJyktPyJDbxtBMjMPBw86KzEhDSIzKUAMBAgrKT8dF2oDtURIBS1TdkA5eYB%2FslVVsn%2BAeTlAdlMtBUgtJjY1JiY1NiZvTRc4SjQxDwcOPCouGBgwKEALBAkpKkQqMhNPbQACADn%2F8gR3BL4AFwAuAAAAMh8BFhUUBg8BJi8BNycBFwcvASY0NwEDNxYfARYUBwEGIi8BJjQ%2FARYfAQcXAQKru0KNQjgiHR8uEl%2F3%2FnvUaRONQkIBGxJpCgmNQkL%2B5UK6Qo1CQjcdLhJf9wGFBL5CjUJeKmsiHTUuEl%2F4%2FnvUahKNQrpCARv%2BRmkICY1CukL%2B5UJCjUK7Qjc3LxFf%2BAGFAAAAAAMAyAAAA%2BgEsAARABUAHQAAADIeAhURFAYjISImNRE0PgEHESERACIGFBYyNjQCBqqaZDo7Kf2oKTs8Zj4CWP7%2FVj09Vj0EsB4uMhX8Ryk7OykDuRUzLar9RAK8%2FRY9Vj09VgABAAAAAASwBLAAFgAACQEWFAYiLwEBEScBBRMBJyEBJyY0NjIDhgEbDx0qDiT%2B6dT%2BzP7oywEz0gEsAQsjDx0qBKH%2B5g8qHQ8j%2FvX%2B1NL%2BzcsBGAE01AEXJA4qHQAAAAADAScAEQQJBOAAMgBAAEsAAAEVHgQXIy4DJxEXHgQVFAYHFSM1JicuASczHgEXEScuBDU0PgI3NRkBDgMVFB4DFxYXET4ENC4CArwmRVI8LAKfBA0dMydAIjxQNyiym2SWVygZA4sFV0obLkJOMCAyVWg6HSoqFQ4TJhkZCWgWKTEiGBkzNwTgTgUTLD9pQiQuLBsH%2Fs0NBxMtPGQ%2Bi6oMTU8QVyhrVk1iEAFPCA4ZLzlYNkZwSCoGTf4SARIEDh02Jh0rGRQIBgPQ%2FsoCCRYgNEM0JRkAAAABAGQAZgOUBK0ASgAAATIeARUjNC4CIyIGBwYVFB4BFxYXMxUjFgYHBgc%2BATM2FjMyNxcOAyMiLgEHDgEPASc%2BBTc%2BAScjNTMmJy4CPgE3NgIxVJlemSc8OxolVBQpGxoYBgPxxQgVFS02ImIWIIwiUzUyHzY4HCAXanQmJ1YYFzcEGAcTDBEJMAwk3aYXFQcKAg4tJGEErVCLTig%2FIhIdFSw5GkowKgkFZDKCHj4yCg8BIh6TExcIASIfBAMaDAuRAxAFDQsRCjePR2QvORQrREFMIVgAAAACABn%2F%2FwSXBLAADwAfAAABMzIWDwEGIi8BJjY7AREzBRcWBisBESMRIyImPwE2MgGQlhUIDuYOKg7mDggVlsgCF%2BYOCBWWyJYVCA7mDioBLBYO%2Bg8P%2Bg4WA4QQ%2BQ4V%2FHwDhBUO%2BQ8AAAQAGf%2F%2FA%2BgEsAAHABcAGwAlAAABIzUjFSMRIQEzMhYPAQYiLwEmNjsBETMFFTM1EwczFSE1NyM1IQPoZGRkASz9qJYVCA7mDioO5g4IFZbIAZFkY8jI%2FtTIyAEsArxkZAH0%2FHwWDvoPD%2FoOFgOEZMjI%2FRL6ZJb6ZAAAAAAEABn%2F%2FwPoBLAADwAZACEAJQAAATMyFg8BBiIvASY2OwERMwUHMxUhNTcjNSERIzUjFSMRIQcVMzUBkJYVCA7mDioO5g4IFZbIAljIyP7UyMgBLGRkZAEsx2QBLBYO%2Bg8P%2Bg4WA4SW%2BmSW%2BmT7UGRkAfRkyMgAAAAEABn%2F%2FwRMBLAADwAVABsAHwAAATMyFg8BBiIvASY2OwERMwEjESM1MxMjNSMRIQcVMzUBkJYVCA7mDioO5g4IFZbIAlhkZMhkZMgBLMdkASwWDvoPD%2FoOFgOE%2FgwBkGT7UGQBkGTIyAAAAAAEABn%2F%2FwRMBLAADwAVABkAHwAAATMyFg8BBiIvASY2OwERMwEjNSMRIQcVMzUDIxEjNTMBkJYVCA7mDioO5g4IFZbIArxkyAEsx2QBZGTIASwWDvoPD%2FoOFgOE%2FgxkAZBkyMj7tAGQZAAAAAAFABn%2F%2FwSwBLAADwATABcAGwAfAAABMzIWDwEGIi8BJjY7AREzBSM1MxMhNSETITUhEyE1IQGQlhUIDuYOKg7mDggVlsgB9MjIZP7UASxk%2FnABkGT%2BDAH0ASwWDvoPD%2FoOFgOEyMj%2BDMj%2BDMj%2BDMgABQAZ%2F%2F8EsASwAA8AEwAXABsAHwAAATMyFg8BBiIvASY2OwERMwUhNSEDITUhAyE1IQMjNTMBkJYVCA7mDioO5g4IFZbIAyD%2BDAH0ZP5wAZBk%2FtQBLGTIyAEsFg76Dw%2F6DhYDhMjI%2FgzI%2FgzI%2FgzIAAIAAAAABEwETAAPAB8AAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmAV4BkKK8u6P%2BcKW5uQJn%2FgwpOzspAfQpOzsETLuj%2FnClubmlAZClucg7Kf4MKTs7KQH0KTsAAAAAAwAAAAAETARMAA8AHwArAAABITIWFREUBiMhIiY1ETQ2BSEiBhURFBYzITI2NRE0JgUXFhQPAQYmNRE0NgFeAZClubml%2FnCju7wCZP4MKTs7KQH0KTs7%2Fm%2F9ERH9EBgYBEy5pf5wpbm5pQGQo7vIOyn%2BDCk7OykB9Ck7gr4MJAy%2BDAsVAZAVCwAAAAADAAAAAARMBEwADwAfACsAAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmBSEyFg8BBiIvASY2AV4BkKO7uaX%2BcKW5uQJn%2FgwpOzspAfQpOzv%2BFQGQFQsMvgwkDL4MCwRMvKL%2BcKW5uaUBkKO7yDsp%2FgwpOzspAfQpO8gYEP0REf0QGAAAAAMAAAAABEwETAAPAB8AKwAAASEyFhURFAYjISImNRE0NgUhIgYVERQWMyEyNjURNCYFFxYGIyEiJj8BNjIBXgGQpbm5pf5wo7u5Amf%2BDCk7OykB9Ck7O%2F77vgwLFf5wFQsMvgwkBEy5pf5wo7u8ogGQpbnIOyn%2BDCk7OykB9Ck7z%2F0QGBgQ%2FREAAAAAAgAAAAAFFARMAB8ANQAAASEyFhURFAYjISImPQE0NjMhMjY1ETQmIyEiJj0BNDYHARYUBwEGJj0BIyImPQE0NjsBNTQ2AiYBkKW5uaX%2BcBUdHRUBwik7Oyn%2BPhUdHb8BRBAQ%2FrwQFvoVHR0V%2BhYETLml%2FnCluR0VZBUdOykB9Ck7HRVkFR3p%2FuQOJg7%2B5A4KFZYdFcgVHZYVCgAAAQDZAAID1wSeACMAAAEXFgcGAgclMhYHIggBBwYrAScmNz4BPwEhIicmNzYANjc2MwMZCQgDA5gCASwYEQ4B%2Fvf%2B8wQMDgkJCQUCUCcn%2FtIXCAoQSwENuwUJEASeCQoRC%2F5TBwEjEv7K%2FsUFDwgLFQnlbm4TFRRWAS%2FTBhAAAAACAAAAAAT%2BBEwAHwA1AAABITIWHQEUBiMhIgYVERQWMyEyFh0BFAYjISImNRE0NgUBFhQHAQYmPQEjIiY9ATQ2OwE1NDYBXgGQFR0dFf4%2BKTs7KQHCFR0dFf5wpbm5AvEBRBAQ%2FrwQFvoVHR0V%2BhYETB0VZBUdOyn%2BDCk7HRVkFR25pQGQpbnp%2FuQOJg7%2B5A4KFZYdFcgVHZYVCgACAAAAAASwBLAAFQAxAAABITIWFREUBi8BAQYiLwEmNDcBJyY2ASMiBhURFBYzITI2PQE3ERQGIyEiJjURNDYzIQLuAZAVHRUObf7IDykPjQ8PAThtDgj%2B75wpOzspAfQpO8i7o%2F5wpbm5pQEsBLAdFf5wFQgObf7IDw%2BNDykPAThtDhX%2B1Dsp%2FgwpOzsplMj%2B1qW5uaUBkKW5AAADAA4ADgSiBKIADwAbACMAAAAyHgIUDgIiLgI0PgEEIg4BFB4BMj4BNCYEMhYUBiImNAHh7tmdXV2d2e7ZnV1dnQHD5sJxccLmwnFx%2FnugcnKgcgSiXZ3Z7tmdXV2d2e7ZnUdxwubCcXHC5sJzcqBycqAAAAMAAAAABEwEsAAVAB8AIwAAATMyFhURMzIWBwEGIicBJjY7ARE0NgEhMhYdASE1NDYFFTM1AcLIFR31FAoO%2FoEOJw3%2BhQ0JFfod%2FoUD6BUd%2B7QdA2dkBLAdFf6iFg%2F%2BVg8PAaoPFgFeFR38fB0V%2BvoVHWQyMgAAAAMAAAAABEwErAAVAB8AIwAACQEWBisBFRQGKwEiJj0BIyImNwE%2BAQEhMhYdASE1NDYFFTM1AkcBeg4KFfQiFsgUGPoUCw4Bfw4n%2FfkD6BUd%2B7QdA2dkBJ7%2BTQ8g%2BhQeHRX6IQ8BrxAC%2FH8dFfr6FR1kMjIAAwAAAAAETARLABQAHgAiAAAJATYyHwEWFAcBBiInASY0PwE2MhcDITIWHQEhNTQ2BRUzNQGMAXEHFQeLBwf98wcVB%2F7cBweLCBUH1APoFR37tB0DZ2QC0wFxBweLCBUH%2FfMICAEjCBQIiwcH%2FdIdFfr6FR1kMjIABAAAAAAETASbAAkAGQAjACcAABM3NjIfAQcnJjQFNzYWFQMOASMFIiY%2FASc3ASEyFh0BITU0NgUVMzWHjg4qDk3UTQ4CFtIOFQIBHRX9qxUIDtCa1P49A%2BgVHfu0HQNnZAP%2Fjg4OTdRMDyqa0g4IFf2pFB4BFQ7Qm9T9Oh0V%2BvoVHWQyMgAAAAQAAAAABEwEsAAPABkAIwAnAAABBR4BFRMUBi8BByc3JyY2EwcGIi8BJjQ%2FAQEhMhYdASE1NDYFFTM1AV4CVxQeARUO0JvUm9IOCMNMDyoOjg4OTf76A%2BgVHfu0HQNnZASwAgEdFf2rFQgO0JrUmtIOFf1QTQ4Ojg4qDk3%2BWB0V%2BvoVHWQyMgACAAT%2F7ASwBK8ABQAIAAAlCQERIQkBFQEEsP4d%2Fsb%2BcQSs%2FTMCq2cBFP5xAacDHPz55gO5AAAAAAIAAABkBEwEsAAVABkAAAERFAYrAREhESMiJjURNDY7AREhETMHIzUzBEwdFZb9RJYVHR0V%2BgH0ZMhkZAPo%2FK4VHQGQ%2FnAdFQPoFB7%2B1AEsyMgAAAMAAABFBN0EsAAWABoALwAAAQcBJyYiDwEhESMiJjURNDY7AREhETMHIzUzARcWFAcBBiIvASY0PwE2Mh8BATYyBEwC%2FtVfCRkJlf7IlhUdHRX6AfRkyGRkAbBqBwf%2BXAgUCMoICGoHFQdPASkHFQPolf7VXwkJk%2F5wHRUD6BQe%2FtQBLMjI%2Fc5qBxUH%2FlsHB8sHFQdqCAhPASkHAAMAAAANBQcEsAAWABoAPgAAAREHJy4BBwEhESMiJjURNDY7AREhETMHIzUzARcWFA8BFxYUDwEGIi8BBwYiLwEmND8BJyY0PwE2Mh8BNzYyBExnhg8lEP72%2FreWFR0dFfoB9GTIZGQB9kYPD4ODDw9GDykPg4MPKQ9GDw%2BDgw8PRg8pD4ODDykD6P7zZ4YPAw7%2B9v5wHRUD6BQe%2FtQBLMjI%2FYxGDykPg4MPKQ9GDw%2BDgw8PRg8pD4ODDykPRg8Pg4MPAAADAAAAFQSXBLAAFQAZAC8AAAERISIGHQEhESMiJjURNDY7AREhETMHIzUzEzMyFh0BMzIWDwEGIi8BJjY7ATU0NgRM%2FqIVHf4MlhUdHRX6AfRkyGRklmQVHZYVCA7mDioO5g4IFZYdA%2Bj%2B1B0Vlv5wHRUD6BQe%2FtQBLMjI%2FagdFfoVDuYODuYOFfoVHQAAAAADAAAAAASXBLAAFQAZAC8AAAERJyYiBwEhESMiJjURNDY7AREhETMHIzUzExcWBisBFRQGKwEiJj0BIyImPwE2MgRMpQ4qDv75%2Fm6WFR0dFfoB9GTIZGTr5g4IFZYdFWQVHZYVCA7mDioD6P5wpQ8P%2Fvf%2BcB0VA%2BgUHv7UASzIyP2F5Q8V%2BhQeHhT6FQ%2FlDwADAAAAyASwBEwACQATABcAABMhMhYdASE1NDYBERQGIyEiJjURExUhNTIETBUd%2B1AdBJMdFfu0FR1kAZAETB0VlpYVHf7U%2FdoVHR0VAib%2B1MjIAAAGAAMAfQStBJcADwAZAB0ALQAxADsAAAEXFhQPAQYmPQEhNSE1NDYBIyImPQE0NjsBFyM1MwE3NhYdASEVIRUUBi8BJjQFIzU7AjIWHQEUBisBA6f4Dg74DhX%2BcAGQFf0vMhUdHRUyyGRk%2FoL3DhUBkP5wFQ73DwOBZGRkMxQdHRQzBI3mDioO5g4IFZbIlhUI%2FoUdFWQVHcjI%2FcvmDggVlsiWFQgO5g4qecgdFWQVHQAAAAACAGQAAASwBLAAFgBRAAABJTYWFREUBisBIiY1ES4ENRE0NiUyFh8BERQOAg8BERQGKwEiJjURLgQ1ETQ%2BAzMyFh8BETMRPAE%2BAjMyFh8BETMRND4DA14BFBklHRXIFR0EDiIaFiX%2B4RYZAgEVHR0LCh0VyBUdBA4iGhYBBwoTDRQZAgNkBQkVDxcZAQFkAQUJFQQxdBIUH%2FuuFR0dFQGNAQgbHzUeAWcfRJEZDA3%2BPhw%2FMSkLC%2F5BFR0dFQG%2FBA8uLkAcAcICBxENCxkMDf6iAV4CBxENCxkMDf6iAV4CBxENCwABAGQAAASwBEwAMwAAARUiDgMVERQWHwEVITUyNjURIREUFjMVITUyPgM1ETQmLwE1IRUiBhURIRE0JiM1BLAEDiIaFjIZGf5wSxn%2BDBlL%2FnAEDiIaFjIZGQGQSxkB9BlLBEw4AQUKFA78iBYZAQI4OA0lAYr%2BdiUNODgBBQoUDgN4FhkBAjg4DSX%2BdgGKJQ04AAAABgAAAAAETARMAAwAHAAgACQAKAA0AAABITIWHQEjBTUnITchBSEyFhURFAYjISImNRE0NhcVITUBBTUlBRUhNQUVFAYjIQchJyE3MwKjAXcVHWn%2B2cj%2BcGQBd%2F4lASwpOzsp%2FtQpOzspASwCvP5wAZD8GAEsArwdFf6JZP6JZAGQyGkD6B0VlmJiyGTIOyn%2BDCk7OykB9Ck7ZMjI%2FveFo4XGyMhm%2BBUdZGTIAAEAEAAQBJ8EnwAmAAATNzYWHwEWBg8BHgEXNz4BHwEeAQ8BBiIuBicuBTcRohEuDosOBhF3ZvyNdxEzE8ATBxGjAw0uMUxPZWZ4O0p3RjITCwED76IRBhPCFDERdo78ZXYRBA6IDi8RogEECBUgNUNjO0qZfHNVQBAAAAACAAAAAASwBEwAIwBBAAAAMh4EHwEVFAYvAS4BPQEmIAcVFAYPAQYmPQE%2BBRIyHgIfARUBHgEdARQGIyEiJj0BNDY3ATU0PgIB%2FLimdWQ%2FLAkJHRTKFB2N%2FsKNHRTKFB0DDTE7ZnTKcFImFgEBAW0OFR0V%2B7QVHRUOAW0CFiYETBUhKCgiCgrIFRgDIgMiFZIYGJIVIgMiAxgVyAQNJyQrIP7kExwcCgoy%2FtEPMhTUFR0dFdQUMg8BLzIEDSEZAAADAAAAAASwBLAADQAdACcAAAEHIScRMxUzNTMVMzUzASEyFhQGKwEXITcjIiY0NgMhMhYdASE1NDYETMj9qMjIyMjIyPyuArwVHR0VDIn8SokMFR0dswRMFR37UB0CvMjIAfTIyMjI%2FOAdKh1kZB0qHf7UHRUyMhUdAAAAAwBkAAAEsARMAAkAEwAdAAABIyIGFREhETQmASMiBhURIRE0JgEhETQ2OwEyFhUCvGQpOwEsOwFnZCk7ASw7%2FRv%2B1DspZCk7BEw7KfwYA%2BgpO%2F7UOyn9RAK8KTv84AGQKTs7KQAAAAAF%2F5wAAASwBEwADwATAB8AJQApAAATITIWFREUBiMhIiY1ETQ2FxEhEQUjFTMRITUzNSMRIQURByMRMwcRMxHIArx8sLB8%2FUR8sLAYA4T%2BDMjI%2FtTIyAEsAZBkyMhkZARMsHz%2BDHywsHwB9HywyP1EArzIZP7UZGQBLGT%2B1GQB9GT%2B1AEsAAAABf%2BcAAAEsARMAA8AEwAfACUAKQAAEyEyFhURFAYjISImNRE0NhcRIREBIzUjFSMRMxUzNTMFEQcjETMHETMRyAK8fLCwfP1EfLCwGAOE%2FgxkZGRkZGQBkGTIyGRkBEywfP4MfLCwfAH0fLDI%2FUQCvP2oyMgB9MjIZP7UZAH0ZP7UASwABP%2BcAAAEsARMAA8AEwAbACMAABMhMhYVERQGIyEiJjURNDYXESERBSMRMxUhESEFIxEzFSERIcgCvHywsHz9RHywsBgDhP4MyMj%2B1AEsAZDIyP7UASwETLB8%2Fgx8sLB8AfR8sMj9RAK8yP7UZAH0ZP7UZAH0AAAABP%2BcAAAEsARMAA8AEwAWABkAABMhMhYVERQGIyEiJjURNDYXESERAS0BDQERyAK8fLCwfP1EfLCwGAOE%2Fgz%2B1AEsAZD%2B1ARMsHz%2BDHywsHwB9HywyP1EArz%2BDJaWlpYBLAAAAAX%2FnAAABLAETAAPABMAFwAgACkAABMhMhYVERQGIyEiJjURNDYXESERAyERIQcjIgYVFBY7AQERMzI2NTQmI8gCvHywsHz9RHywsBgDhGT9RAK8ZIImOTYpgv4Mgik2OSYETLB8%2Fgx8sLB8AfR8sMj9RAK8%2FagB9GRWQUFUASz%2B1FRBQVYAAAAF%2F5wAAASwBEwADwATAB8AJQApAAATITIWFREUBiMhIiY1ETQ2FxEhEQUjFTMRITUzNSMRIQEjESM1MwMjNTPIArx8sLB8%2FUR8sLAYA4T%2BDMjI%2FtTIyAEsAZBkZMjIZGQETLB8%2Fgx8sLB8AfR8sMj9RAK8yGT%2B1GRkASz%2BDAGQZP4MZAAG%2F5wAAASwBEwADwATABkAHwAjACcAABMhMhYVERQGIyEiJjURNDYXESERBTMRIREzASMRIzUzBRUzNQEjNTPIArx8sLB8%2FUR8sLAYA4T9RMj%2B1GQCWGRkyP2oZAEsZGQETLB8%2Fgx8sLB8AfR8sMj9RAK8yP5wAfT%2BDAGQZMjIyP7UZAAF%2F5wAAASwBEwADwATABwAIgAmAAATITIWFREUBiMhIiY1ETQ2FxEhEQEHIzU3NSM1IQEjESM1MwMjNTPIArx8sLB8%2FUR8sLAYA4T%2BDMdkx8gBLAGQZGTIx2RkBEywfP4MfLCwfAH0fLDI%2FUQCvP5wyDLIlmT%2BDAGQZP4MZAAAAAMACQAJBKcEpwAPABsAJQAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgchFSEVISc1NyEB4PDbnl5entvw255eXp4BxeTCcXHC5MJxcWz%2B1AEs%2FtRkZAEsBKdentvw255eXp7b8NueTHHC5MJxccLkwtDIZGTIZAAAAAAEAAkACQSnBKcADwAbACcAKwAAADIeAhQOAiIuAjQ%2BAQQiDgEUHgEyPgE0JgcVBxcVIycjFSMRIQcVMzUB4PDbnl5entvw255eXp4BxeTCcXHC5MJxcWwyZGRklmQBLMjIBKdentvw255eXp7b8NueTHHC5MJxccLkwtBkMmQyZGQBkGRkZAAAAv%2Fy%2F50EwgRBACAANgAAATIWFzYzMhYUBisBNTQmIyEiBh0BIyImNTQ2NyY1ND4BEzMyFhURMzIWDwEGIi8BJjY7ARE0NgH3brUsLC54qqp4gB0V%2FtQVHd5QcFZBAmKqepYKD4kVCg3fDSYN3w0KFYkPBEF3YQ6t8a36FR0dFfpzT0VrDhMSZKpi%2FbMPCv7tFxD0EBD0EBcBEwoPAAAAAAL%2F8v%2BcBMMEQQAcADMAAAEyFhc2MzIWFxQGBwEmIgcBIyImNTQ2NyY1ND4BExcWBisBERQGKwEiJjURIyImNzY3NjIB9m62LCsueaoBeFr%2Bhg0lDf6DCU9xVkECYqnm3w0KFYkPCpYKD4kVCg3HGBMZBEF3YQ%2BteGOkHAFoEBD%2Bk3NPRWsOExNkqWP9kuQQF%2F7tCg8PCgETFxDMGBMAAAABAGQAAARMBG0AGAAAJTUhATMBMwkBMwEzASEVIyIGHQEhNTQmIwK8AZD%2B8qr%2B8qr%2B1P7Uqv7yqv7yAZAyFR0BkB0VZGQBLAEsAU3%2Bs%2F7U%2FtRkHRUyMhUdAAAAAAEAeQAABDcEmwAvAAABMhYXHgEVFAYHFhUUBiMiJxUyFh0BITU0NjM1BiMiJjU0Ny4BNTQ2MzIXNCY1NDYCWF6TGll7OzIJaUo3LRUd%2FtQdFS03SmkELzlpSgUSAqMEm3FZBoNaPWcfHRpKaR77HRUyMhUd%2Bx5pShIUFVg1SmkCAhAFdKMAAAAGACcAFASJBJwAEQAqAEIASgBiAHsAAAEWEgIHDgEiJicmAhI3PgEyFgUiBw4BBwYWHwEWMzI3Njc2Nz4BLwEmJyYXIgcOAQcGFh8BFjMyNz4BNz4BLwEmJyYWJiIGFBYyNjciBw4BBw4BHwEWFxYzMjc%2BATc2Ji8BJhciBwYHBgcOAR8BFhcWMzI3PgE3NiYvASYD8m9PT29T2dzZU29PT29T2dzZ%2Fj0EBHmxIgQNDCQDBBcGG0dGYAsNAwkDCwccBAVQdRgEDA0iBAQWBhJROQwMAwkDCwf5Y4xjY4xjVhYGElE6CwwDCQMLBwgEBVB1GAQNDCIEjRcGG0dGYAsNAwkDCwcIBAR5sSIEDQwkAwPyb%2F7V%2FtVvU1dXU28BKwErb1NXVxwBIrF5DBYDCQEWYEZHGwMVDCMNBgSRAhh1UA0WAwkBFTpREgMVCyMMBwT6Y2OMY2MVFTpREQQVCyMMBwQCGHVQDRYDCQEkFmBGRxsDFQwjDQYEASKxeQwWAwkBAAAABQBkAAAD6ASwAAwADwAWABwAIgAAASERIzUhFSERNDYzIQEjNQMzByczNTMDISImNREFFRQGKwECvAEstP6s%2FoQPCgI%2FASzIZKLU1KJktP51Cg8DhA8KwwMg%2FoTIyALzCg%2F%2B1Mj84NTUyP4MDwoBi8jDCg8AAAAABQBkAAAD6ASwAAkADAATABoAIQAAASERCQERNDYzIQEjNRMjFSM1IzcDISImPQEpARUUBisBNQK8ASz%2Bov3aDwoCPwEsyD6iZKLUqv6dCg8BfAIIDwqbAyD9%2BAFe%2FdoERwoP%2FtTI%2FHzIyNT%2BZA8KNzcKD1AAAAAAAwAAAAAEsAP0AAgAGQAfAAABIxUzFyERIzcFMzIeAhUhFSEDETM0PgIBMwMhASEEiqJkZP7UotT9EsgbGiEOASz9qMhkDiEaAnPw8PzgASwB9AMgyGQBLNTUBBErJGT%2BogHCJCsRBP5w%2FnAB9AAAAAMAAAAABEwETAAZADIAOQAAATMyFh0BMzIWHQEUBiMhIiY9ATQ2OwE1NDYFNTIWFREUBiMhIic3ARE0NjMVFBYzITI2AQc1IzUzNQKKZBUdMhUdHRX%2B1BUdHRUyHQFzKTs7Kf2oARP2%2Fro7KVg%2BASw%2BWP201MjIBEwdFTIdFWQVHR0VZBUdMhUd%2BpY7KfzgKTsE9gFGAUQpO5Y%2BWFj95tSiZKIAAwBkAAAEvARMABkANgA9AAABMzIWHQEzMhYdARQGIyEiJj0BNDY7ATU0NgU1MhYVESMRMxQOAiMhIiY1ETQ2MxUUFjMhMjYBBzUjNTM1AcJkFR0yFR0dFf7UFR0dFTIdAXMpO8jIDiEaG%2F2oKTs7KVg%2BASw%2BWAGc1MjIBEwdFTIdFWQVHR0VZBUdMhUd%2BpY7Kf4M%2FtQkKxEEOykDICk7lj5YWP3m1KJkogAAAAP%2FogAABRYE1AALABsAHwAACQEWBiMhIiY3ATYyEyMiBhcTHgE7ATI2NxM2JgMVMzUCkgJ9FyAs%2BwQsIBcCfRZARNAUGAQ6BCMUNhQjBDoEGODIBK37sCY3NyYEUCf%2BTB0U%2FtIUHR0UAS4UHf4MZGQAAAAACQAAAAAETARMAA8AHwAvAD8ATwBfAG8AfwCPAAABMzIWHQEUBisBIiY9ATQ2EzMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2ITMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBMzIWHQEUBisBIiY9ATQ2ITMyFh0BFAYrASImPQE0NiEzMhYdARQGKwEiJj0BNDYBqfoKDw8K%2BgoPDwr6Cg8PCvoKDw8BmvoKDw8K%2BgoPD%2Fzq%2BgoPDwr6Cg8PAZr6Cg8PCvoKDw8BmvoKDw8K%2BgoPD%2Fzq%2BgoPDwr6Cg8PAZr6Cg8PCvoKDw8BmvoKDw8K%2BgoPDwRMDwqWCg8PCpYKD%2F7UDwqWCg8PCpYKDw8KlgoPDwqWCg%2F%2B1A8KlgoPDwqWCg8PCpYKDw8KlgoPDwqWCg8PCpYKD%2F7UDwqWCg8PCpYKDw8KlgoPDwqWCg8PCpYKDw8KlgoPAAAAAwAAAAAEsAUUABkAKQAzAAABMxUjFSEyFg8BBgchJi8BJjYzITUjNTM1MwEhMhYUBisBFyE3IyImNDYDITIWHQEhNTQ2ArxkZAFePjEcQiko%2FPwoKUIcMT4BXmRkyP4%2BArwVHR0VDIn8SooNFR0dswRMFR37UB0EsMhkTzeEUzMzU4Q3T2TIZPx8HSodZGQdKh3%2B1B0VMjIVHQAABAAAAAAEsAUUAAUAGQArADUAAAAyFhUjNAchFhUUByEyFg8BIScmNjMhJjU0AyEyFhQGKwEVBSElNSMiJjQ2AyEyFh0BITU0NgIwUDnCPAE6EgMBSCkHIq%2F9WrIiCikBSAOvArwVHR0VlgET%2FEoBE5YVHR2zBEwVHftQHQUUOykpjSUmCBEhFpGRFiERCCb%2BlR0qHcjIyMgdKh39qB0VMjIVHQAEAAAAAASwBJ0ABwAUACQALgAAADIWFAYiJjQTMzIWFRQXITY1NDYzASEyFhQGKwEXITcjIiY0NgMhMhYdASE1NDYCDZZqapZqty4iKyf%2BvCcrI%2F7NArwVHR0VDYr8SokMFR0dswRMFR37UB0EnWqWamqW%2Fus5Okxra0w6Of5yHSodZGQdKh3%2B1B0VMjIVHQAEAAAAAASwBRQADwAcACwANgAAATIeARUUBiImNTQ3FzcnNhMzMhYVFBchNjU0NjMBITIWFAYrARchNyMiJjQ2AyEyFh0BITU0NgJYL1szb5xvIpBvoyIfLiIrJ%2F68Jysj%2Fs0CvBUdHRUNivxKiQwVHR2zBEwVHftQHQUUa4s2Tm9vTj5Rj2%2BjGv4KOTpMa2tMOjn%2Bch0qHWRkHSod%2FtQdFTIyFR0AAAADAAAAAASwBRIAEgAiACwAAAEFFSEUHgMXIS4BNTQ%2BAjcBITIWFAYrARchNyMiJjQ2AyEyFh0BITU0NgJYASz%2B1CU%2FP00T%2Fe48PUJtj0r%2BogK8FR0dFQ2K%2FEqJDBUdHbMETBUd%2B1AdBLChizlmUT9IGVO9VFShdksE%2FH4dKh1kZB0qHf7UHRUyMhUdAAIAyAAAA%2BgFFAAPACkAAAAyFh0BHgEdASE1NDY3NTQDITIWFyMVMxUjFTMVIxUzFAYjISImNRE0NgIvUjsuNv5wNi5kAZA2XBqsyMjIyMh1U%2F5wU3V1BRQ7KU4aXDYyMjZcGk4p%2Fkc2LmRkZGRkU3V1UwGQU3UAAAMAZP%2F%2FBEwETAAPAC8AMwAAEyEyFhURFAYjISImNRE0NgMhMhYdARQGIyEXFhQGIi8BIQcGIiY0PwEhIiY9ATQ2BQchJ5YDhBUdHRX8fBUdHQQDtgoPDwr%2B5eANGiUNWP30Vw0mGg3g%2Ft8KDw8BqmQBRGQETB0V%2FgwVHR0VAfQVHf1EDwoyCg%2FgDSUbDVhYDRslDeAPCjIKD2RkZAAAAAAEAAAAAASwBEwAGQAjAC0ANwAAEyEyFh0BIzQmKwEiBhUjNCYrASIGFSM1NDYDITIWFREhETQ2ExUUBisBIiY9ASEVFAYrASImPQHIAyBTdWQ7KfopO2Q7KfopO2R1EQPoKTv7UDvxHRVkFR0D6B0VZBUdBEx1U8gpOzspKTs7KchTdf4MOyn%2B1AEsKTv%2BDDIVHR0VMjIVHR0VMgADAAEAAASpBKwADQARABsAAAkBFhQPASEBJjQ3ATYyCQMDITIWHQEhNTQ2AeACqh8fg%2F4f%2FfsgIAEnH1n%2BrAFWAS%2F%2Bq6IDIBUd%2FHwdBI39VR9ZH4MCBh9ZHwEoH%2F5u%2FqoBMAFV%2FBsdFTIyFR0AAAAAAgCPAAAEIQSwABcALwAAAQMuASMhIgYHAwYWMyEVFBYyNj0BMzI2AyE1NDY7ATU0NjsBETMRMzIWHQEzMhYVBCG9CCcV%2FnAVJwi9CBMVAnEdKh19FROo%2Fa0dFTIdFTDILxUdMhUdAocB%2BhMcHBP%2BBhMclhUdHRWWHP2MMhUdMhUdASz%2B1B0VMh0VAAAEAAAAAASwBLAADQAQAB8AIgAAASERFAYjIREBNTQ2MyEBIzUBIREUBiMhIiY1ETQ2MyEBIzUDhAEsDwr%2Bif7UDwoBdwEsyP2oASwPCv12Cg8PCgF3ASzIAyD9wQoPAk8BLFQKD%2F7UyP4M%2FcEKDw8KA7YKD%2F7UyAAC%2F5wAZAUUBEcARgBWAAABMzIeAhcWFxY2NzYnJjc%2BARYXFgcOASsBDgEPAQ4BKwEiJj8BBisBIicHDgErASImPwEmLwEuAT0BNDY7ATY3JyY2OwE2BSMiBh0BFBY7ATI2PQE0JgHkw0uOakkMEhEfQwoKGRMKBQ8XDCkCA1Y9Pgc4HCcDIhVkFRgDDDEqwxgpCwMiFWQVGAMaVCyfExwdFXwLLW8QBxXLdAFF%2BgoPDwr6Cg8PBEdBa4pJDgYKISAiJRsQCAYIDCw9P1c3fCbqFB0dFEYOCEAUHR0UnUplNQcmFTIVHVdPXw4TZV8PCjIKDw8KMgoPAAb%2FnP%2FmBRQEfgAJACQANAA8AFIAYgAAASU2Fh8BFgYPASUzMhYfASEyFh0BFAYHBQYmJyYjISImPQE0NhcjIgYdARQ7ATI2NTQmJyYEIgYUFjI2NAE3PgEeARceAT8BFxYGDwEGJi8BJjYlBwYfAR4BPwE2Jy4BJy4BAoEBpxMuDiAOAxCL%2FCtqQ0geZgM3FR0cE%2F0fFyIJKjr%2B1D5YWLlQExIqhhALIAsSAYBALS1ALf4PmBIgHhMQHC0aPzANITNQL3wpgigJASlmHyElDR0RPRMFAhQHCxADhPcICxAmDyoNeMgiNtQdFTIVJgeEBBQPQ1g%2ByD5YrBwVODMQEAtEERzJLUAtLUD%2B24ITChESEyMgAwWzPUkrRSgJL5cvfRxYGyYrDwkLNRAhFEgJDAQAAAAAAwBkAAAEOQSwAFEAYABvAAABMzIWHQEeARcWDgIPATIeBRUUDgUjFRQGKwEiJj0BIxUUBisBIiY9ASMiJj0BNDY7AREjIiY9ATQ2OwE1NDY7ATIWHQEzNTQ2AxUhMj4CNTc0LgMjARUhMj4CNTc0LgMjAnGWCg9PaAEBIC4uEBEGEjQwOiodFyI2LUAjGg8KlgoPZA8KlgoPrwoPDwpLSwoPDwqvDwqWCg9kD9cBBxwpEwsBAQsTKRz%2B%2BQFrHCkTCwEBCxMpHASwDwptIW1KLk0tHwYGAw8UKDJOLTtdPCoVCwJLCg8PCktLCg8PCksPCpYKDwJYDwqWCg9LCg8PCktLCg%2F%2B1MgVHR0LCgQOIhoW%2FnDIFR0dCwoEDiIaFgAAAwAEAAIEsASuABcAKQAsAAATITIWFREUBg8BDgEjISImJy4CNRE0NgQiDgQPARchNy4FAyMT1AMMVnokEhIdgVL9xFKCHAgYKHoCIIx9VkcrHQYGnAIwnAIIIClJVSGdwwSuelb%2BYDO3QkJXd3ZYHFrFMwGgVnqZFyYtLSUMDPPzBQ8sKDEj%2FsIBBQACAMgAAAOEBRQADwAZAAABMzIWFREUBiMhIiY1ETQ2ARUUBisBIiY9AQHblmesVCn%2BPilUrAFINhWWFTYFFKxn%2FgwpVFQpAfRnrPwY4RU2NhXhAAACAMgAAAOEBRQADwAZAAABMxQWMxEUBiMhIiY1ETQ2ARUUBisBIiY9AQHbYLOWVCn%2BPilUrAFINhWWFTYFFJaz%2FkIpVFQpAfRnrPwY4RU2NhXhAAACAAAAFAUOBBoAFAAaAAAJASUHFRcVJwc1NzU0Jj4CPwEnCQEFJTUFJQUO%2FYL%2Bhk5klpZkAQEBBQQvkwKCAVz%2Bov6iAV4BXgL%2F%2FuWqPOCWx5SVyJb6BA0GCgYDKEEBG%2F1ipqaTpaUAAAMAZAH0BLADIAAHAA8AFwAAEjIWFAYiJjQkMhYUBiImNCQyFhQGIiY0vHxYWHxYAeh8WFh8WAHofFhYfFgDIFh8WFh8WFh8WFh8WFh8WFh8AAAAAAMBkAAAArwETAAHAA8AFwAAADIWFAYiJjQSMhYUBiImNBIyFhQGIiY0Aeh8WFh8WFh8WFh8WFh8WFh8WARMWHxYWHz%2ByFh8WFh8%2FshYfFhYfAAAAAMAZABkBEwETAAPAB8ALwAAEyEyFh0BFAYjISImPQE0NhMhMhYdARQGIyEiJj0BNDYTITIWHQEUBiMhIiY9ATQ2fQO2Cg8PCvxKCg8PCgO2Cg8PCvxKCg8PCgO2Cg8PCvxKCg8PBEwPCpYKDw8KlgoP%2FnAPCpYKDw8KlgoP%2FnAPCpYKDw8KlgoPAAAABAAAAAAEsASwAA8AHwAvADMAAAEhMhYVERQGIyEiJjURNDYFISIGFREUFjMhMjY1ETQmBSEyFhURFAYjISImNRE0NhcVITUBXgH0ory7o%2F4Mpbm5Asv9qCk7OykCWCk7O%2F2xAfQVHR0V%2FgwVHR1HAZAEsLuj%2FgylubmlAfSlucg7Kf2oKTs7KQJYKTtkHRX%2B1BUdHRUBLBUdZMjIAAAAAAEAZABkBLAETAA7AAATITIWFAYrARUzMhYUBisBFTMyFhQGKwEVMzIWFAYjISImNDY7ATUjIiY0NjsBNSMiJjQ2OwE1IyImNDaWA%2BgVHR0VMjIVHR0VMjIVHR0VMjIVHR0V%2FBgVHR0VMjIVHR0VMjIVHR0VMjIVHR0ETB0qHcgdKh3IHSodyB0qHR0qHcgdKh3IHSodyB0qHQAAAAYBLAAFA%2BgEowAHAA0AEwAZAB8AKgAAAR4BBgcuATYBMhYVIiYlFAYjNDYBMhYVIiYlFAYjNDYDFRQGIiY9ARYzMgKKVz8%2FV1c%2FP%2F75fLB8sAK8sHyw%2FcB8sHywArywfLCwHSodKAMRBKNDsrJCQrKy%2FsCwfLB8fLB8sP7UsHywfHywfLD%2B05AVHR0VjgQAAAH%2FtQDIBJQDgQBCAAABNzYXAR4BBw4BKwEyFRQOBCsBIhE0NyYiBxYVECsBIi4DNTQzIyImJyY2NwE2HwEeAQ4BLwEHIScHBi4BNgLpRRkUASoLCAYFGg8IAQQNGyc%2FKZK4ChRUFQu4jjBJJxkHAgcPGQYGCAsBKhQaTBQVCiMUM7YDe7YsFCMKFgNuEwYS%2FtkLHw8OEw0dNkY4MhwBIBgXBAQYF%2F7gKjxTQyMNEw4PHwoBKBIHEwUjKBYGDMHBDAUWKCMAAAAAAgAAAAAEsASwACUAQwAAASM0LgUrAREUFh8BFSE1Mj4DNREjIg4FFSMRIQEjNC4DKwERFBYXMxUjNTI1ESMiDgMVIzUhBLAyCAsZEyYYGcgyGRn%2BcAQOIhoWyBkYJhMZCwgyA%2Bj9RBkIChgQEWQZDQzIMmQREBgKCBkB9AOEFSAVDggDAfyuFhkBAmRkAQUJFQ4DUgEDCA4VIBUBLP0SDxMKBQH%2BVwsNATIyGQGpAQUKEw%2BWAAAAAAMAAAAABEwErgAdACAAMAAAATUiJy4BLwEBIwEGBw4BDwEVITUiJj8BIRcWBiMVARsBARUUBiMhIiY9ATQ2MyEyFgPoGR4OFgUE%2Ft9F%2FtQSFQkfCwsBETE7EkUBJT0NISf%2B7IZ5AbEdFfwYFR0dFQPoFR0BLDIgDiIKCwLr%2FQ4jFQkTBQUyMisusKYiQTIBhwFW%2Fqr942QVHR0VZBUdHQADAAAAAASwBLAADwBHAEoAABMhMhYVERQGIyEiJjURNDYFIyIHAQYHBgcGHQEUFjMhMjY9ATQmIyInJj8BIRcWBwYjIgYdARQWMyEyNj0BNCYnIicmJyMBJhMjEzIETBUdHRX7tBUdHQJGRg0F%2FtUREhImDAsJAREIDAwINxAKCj8BCjkLEQwYCAwMCAE5CAwLCBEZGQ8B%2FuAFDsVnBLAdFfu0FR0dFQRMFR1SDP0PIBMSEAUNMggMDAgyCAwXDhmjmR8YEQwIMggMDAgyBwwBGRskAuwM%2FgUBCAAABAAAAAAEsASwAAMAEwAjACcAAAEhNSEFITIWFREUBiMhIiY1ETQ2KQEyFhURFAYjISImNRE0NhcRIREEsPtQBLD7ggGQFR0dFf5wFR0dAm0BkBUdHRX%2BcBUdHUcBLARMZMgdFfx8FR0dFQOEFR0dFf5wFR0dFQGQFR1k%2FtQBLAAEAAAAAASwBLAADwAfACMAJwAAEyEyFhURFAYjISImNRE0NgEhMhYVERQGIyEiJjURNDYXESEREyE1ITIBkBUdHRX%2BcBUdHQJtAZAVHR0V%2FnAVHR1HASzI%2B1AEsASwHRX8fBUdHRUDhBUd%2FgwdFf5wFR0dFQGQFR1k%2FtQBLP2oZAAAAAACAAAAZASwA%2BgAJwArAAATITIWFREzNTQ2MyEyFh0BMxUjFRQGIyEiJj0BIxEUBiMhIiY1ETQ2AREhETIBkBUdZB0VAZAVHWRkHRX%2BcBUdZB0V%2FnAVHR0CnwEsA%2BgdFf6ilhUdHRWWZJYVHR0Vlv6iFR0dFQMgFR3%2B1P7UASwAAAQAAAAABLAEsAADABMAFwAnAAAzIxEzFyEyFhURFAYjISImNRE0NhcRIREBITIWFREUBiMhIiY1ETQ2ZGRklgGQFR0dFf5wFR0dRwEs%2FqIDhBUdHRX8fBUdHQSwZB0V%2FnAVHR0VAZAVHWT%2B1AEs%2FgwdFf5wFR0dFQGQFR0AAAAAAgBkAAAETASwACcAKwAAATMyFhURFAYrARUhMhYVERQGIyEiJjURNDYzITUjIiY1ETQ2OwE1MwcRIRECWJYVHR0VlgHCFR0dFfx8FR0dFQFelhUdHRWWZMgBLARMHRX%2BcBUdZB0V%2FnAVHR0VAZAVHWQdFQGQFR1kyP7UASwAAAAEAAAAAASwBLAAAwATABcAJwAAISMRMwUhMhYVERQGIyEiJjURNDYXESERASEyFhURFAYjISImNRE0NgSwZGT9dgGQFR0dFf5wFR0dRwEs%2FK4DhBUdHRX8fBUdHQSwZB0V%2FnAVHR0VAZAVHWT%2B1AEs%2FgwdFf5wFR0dFQGQFR0AAAEBLAAwA28EgAAPAAAJAQYjIiY1ETQ2MzIXARYUA2H%2BEhcSDhAQDhIXAe4OAjX%2BEhcbGQPoGRsX%2FhIOKgAAAAABAUEAMgOEBH4ACwAACQE2FhURFAYnASY0AU8B7h0qKh3%2BEg4CewHuHREp%2FBgpER0B7g4qAAAAAAEAMgFBBH4DhAALAAATITIWBwEGIicBJjZkA%2BgpER3%2BEg4qDv4SHREDhCod%2FhIODgHuHSoAAAAAAQAyASwEfgNvAAsAAAkBFgYjISImNwE2MgJ7Ae4dESn8GCkRHQHuDioDYf4SHSoqHQHuDgAAAAACAAgAAASwBCgABgAKAAABFQE1LQE1ASE1IQK8%2FUwBnf5jBKj84AMgAuW2%2Fr3dwcHd%2B9jIAAAAAAIAAABkBLAEsAALADEAAAEjFTMVIREzNSM1IQEzND4FOwERFAYPARUhNSIuAzURMzIeBRUzESEEsMjI%2FtTIyAEs%2B1AyCAsZEyYYGWQyGRkBkAQOIhoWZBkYJhMZCwgy%2FOADhGRkASxkZP4MFSAVDggDAf3aFhkBAmRkAQUJFQ4CJgEDCA4VIBUBLAAAAgAAAAAETAPoACUAMQAAASM0LgUrAREUFh8BFSE1Mj4DNREjIg4FFSMRIQEjFTMVIREzNSM1IQMgMggLGRMmGBlkMhkZ%2FnAEDiIaFmQZGCYTGQsIMgMgASzIyP7UyMgBLAK8FSAVDggDAf3aFhkCAWRkAQUJFQ4CJgEDCA4VIBUBLPzgZGQBLGRkAAABAMgAZgNyBEoAEgAAATMyFgcJARYGKwEiJwEmNDcBNgK9oBAKDP4wAdAMChCgDQr%2BKQcHAdcKBEoWDP4w%2FjAMFgkB1wgUCAHXCQAAAQE%2BAGYD6ARKABIAAAEzMhcBFhQHAQYrASImNwkBJjYBU6ANCgHXBwf%2BKQoNoBAKDAHQ%2FjAMCgRKCf4pCBQI%2FikJFgwB0AHQDBYAAAEAZgDIBEoDcgASAAAAFh0BFAcBBiInASY9ATQ2FwkBBDQWCf4pCBQI%2FikJFgwB0AHQA3cKEKANCv4pBwcB1woNoBAKDP4wAdAAAAABAGYBPgRKA%2BgAEgAACQEWHQEUBicJAQYmPQE0NwE2MgJqAdcJFgz%2BMP4wDBYJAdcIFAPh%2FikKDaAQCgwB0P4wDAoQoA0KAdcHAAAAAgDZ%2F%2FkEPQSwAAUAOgAAARQGIzQ2BTMyFh8BNjc%2BAh4EBgcOBgcGIiYjIgYiJy4DLwEuAT4EHgEXJyY2A%2BiwfLD%2BVmQVJgdPBQsiKFAzRyorDwURAQQSFyozTSwNOkkLDkc3EDlfNyYHBw8GDyUqPjdGMR%2BTDA0EsHywfLDIHBPCAQIGBwcFDx81S21DBxlLR1xKQhEFBQcHGWt0bCQjP2hJNyATBwMGBcASGAAAAAACAMgAFQOEBLAAFgAaAAATITIWFREUBisBEQcGJjURIyImNRE0NhcVITX6AlgVHR0Vlv8TGpYVHR2rASwEsB0V%2FnAVHf4MsgkQFQKKHRUBkBUdZGRkAAAAAgDIABkETASwAA4AEgAAEyEyFhURBRElIREjETQ2ARU3NfoC7ic9%2FUQCWP1EZB8BDWQEsFEs%2FFt1A7Z9%2FBgEARc0%2FV1kFGQAAQAAAAECTW%2FDBF9fDzz1AB8EsAAAAADQdnOXAAAAANB2c5f%2FUf%2BcBdwFFAAAAAgAAgAAAAAAAAABAAAFFP%2BFAAAFFP9R%2FtQF3AABAAAAAAAAAAAAAAAAAAAAowG4ACgAAAAAAZAAAASwAAAEsABkBLAAAASwAAAEsABwAooAAAUUAAACigAABRQAAAGxAAABRQAAANgAAADYAAAAogAAAQQAAABIAAABBAAAAUUAAASwAGQEsAB7BLAAyASwAMgB9AAABLD%2F8gSwAAAEsAAABLD%2F8ASwAAAEsAAOBLAACQSwAGQEsP%2FTBLD%2F0wSwAAAEsAAABLAAAASwAAAEsAAABLAAJgSwAG4EsAAXBLAAFwSwABcEsABkBLAAGgSwAGQEsAAMBLAAZASwABcEsP%2BcBLAAZASwABcEsAAXBLAAAASwABcEsAAXBLAAFwSwAGQEsAAABLAAZASwAAAEsAAABLAAAASwAAAEsAAABLAAAASwAAAEsAAABLAAZASwAMgEsAAABLAAAASwADUEsABkBLAAyASw%2F7UEsAAhBLAAAASwAAAEsAAABLAAAASwAAAEsP%2BcBLAAAASwAAAEsAAABLAA2wSwABcEsAB1BLAAAASwAAAEsAAABLAACgSwAMgEsAAABLAAnQSwAMgEsADIBLAAyASwAAAEsP%2F%2BBLABLASwAGQEsACIBLABOwSwABcEsAAXBLAAFwSwABcEsAAXBLAAFwSwAAAEsAAXBLAAFwSwABcEsAAXBLAAAASwALcEsAC3BLAAAASwAAAEsABJBLAAFwSwAAAEsAAABLAAXQSw%2F9wEsP%2FcBLD%2FnwSwAGQEsAAABLAAAASwAAAEsABkBLD%2F%2FwSwAAAEsP9RBLAABgSwAAAEsAAABLABRQSwAAEEsAAABLD%2FnASwAEoEsAAUBLAAAASwAAAEsAAABLD%2FnASwAGEEsP%2F9BLAAFgSwABYEsAAWBLAAFgSwABgEsAAABMQAAASwAGQAAAAAAAD%2F2ABkADkAyAAAAScAZAAZABkAGQAZABkAGQAZAAAAAAAAAAAAAADZAAAAAAAOAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAMAZABkAAAAEAAAAAAAZP%2Bc%2F5z%2FnP%2Bc%2F5z%2FnP%2Bc%2F5wACQAJ%2F%2FL%2F8gBkAHkAJwBkAGQAAAAAAGT%2FogAAAAAAAAAAAAAAAADIAGQAAAABAI8AAP%2Bc%2F5wAZAAEAMgAyAAAAGQBkABkAAAAZAEs%2F7UAAAAAAAAAAAAAAAAAAABkAAABLAFBADIAMgAIAAAAAADIAT4AZgBmANkAyADIAAAAKgAqACoAKgCyAOgA6AFOAU4BTgFOAU4BTgFOAU4BTgFOAU4BTgFOAU4BpAIGAiICfgKGAqwC5ANGA24DjAPEBAgEMgRiBKIE3AVcBboGcgb0ByAHYgfKCB4IYgi%2BCTYJhAm2Cd4KKApMCpQK4gswC4oLygwIDFgNKg1eDbAODg5oDrQPKA%2BmD%2BYQEhBUEJAQqhEqEXYRthIKEjgSfBLAExoTdBPQFCoU1BU8FagVzBYEFjYWYBawFv4XUhemGAIYLhhqGJYYsBjgGP4ZKBloGZQZxBnaGe4aNhpoGrga9hteG7QcMhyUHOIdHB1EHWwdlB28HeYeLh52HsAfYh%2FSIEYgviEyIXYhuCJAIpYiuCMOIyIjOCN6I8Ij4CQCJDAkXiSWJOIlNCVgJbwmFCZ%2BJuYnUCe8J%2FgoNChwKKwpoCnMKiYqSiqEKworeiwILGgsuizsLRwtiC30LiguZi6iLtgvDi9GL34vsi%2F4MD4whDDSMRIxYDGuMegyJDJeMpoy3jMiMz4zaDO2NBg0YDSoNNI1LDWeNeg2PjZ8Ntw3GjdON5I31DgQOEI4hjjIOQo5SjmIOcw6HDpsOpo63jugO9w8GDxQPKI8%2BD0yPew%2BOj6MPtQ%2FKD9uP6o%2F%2BkBIQIBAxkECQX5CGEKoQu5DGENCQ3ZDoEPKRBBEYESuRPZFWkW2RgZGdEa0RvZHNkd2R7ZH9kgWSDJITkhqSIZIzEkSSThJXkmESapKAkouSlIAAQAAARcApwARAAAAAAACAAAAAQABAAAAQAAuAAAAAAAAABAAxgABAAAAAAATABIAAAADAAEECQAAAGoAEgADAAEECQABACgAfAADAAEECQACAA4ApAADAAEECQADAEwAsgADAAEECQAEADgA%2FgADAAEECQAFAHgBNgADAAEECQAGADYBrgADAAEECQAIABYB5AADAAEECQAJABYB%2BgADAAEECQALACQCEAADAAEECQAMACQCNAADAAEECQATACQCWAADAAEECQDIABYCfAADAAEECQDJADACkgADAAEECdkDABoCwnd3dy5nbHlwaGljb25zLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgAKkAIAAyADAAMQA0ACAAYgB5ACAASgBhAG4AIABLAG8AdgBhAHIAaQBrAC4AIABBAGwAbAAgAHIAaQBnAGgAdABzACAAcgBlAHMAZQByAHYAZQBkAC4ARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAFIAZQBnAHUAbABhAHIAMQAuADAAMAA5ADsAVQBLAFcATgA7AEcATABZAFAASABJAEMATwBOAFMASABhAGwAZgBsAGkAbgBnAHMALQBSAGUAZwB1AGwAYQByAEcATABZAFAASABJAEMATwBOAFMAIABIAGEAbABmAGwAaQBuAGcAcwAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAOQA7AFAAUwAgADAAMAAxAC4AMAAwADkAOwBoAG8AdABjAG8AbgB2ACAAMQAuADAALgA3ADAAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA1ADgAMwAyADkARwBMAFkAUABIAEkAQwBPAE4AUwBIAGEAbABmAGwAaQBuAGcAcwAtAFIAZQBnAHUAbABhAHIASgBhAG4AIABLAG8AdgBhAHIAaQBrAEoAYQBuACAASwBvAHYAYQByAGkAawB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQBXAGUAYgBmAG8AbgB0ACAAMQAuADAAVwBlAGQAIABPAGMAdAAgADIAOQAgADAANgA6ADMANgA6ADAANwAgADIAMAAxADQARgBvAG4AdAAgAFMAcQB1AGkAcgByAGUAbAAAAAIAAAAAAAD%2FtQAyAAAAAAAAAAAAAAAAAAAAAAAAAAABFwAAAQIBAwADAA0ADgEEAJYBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMA7wEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE%2BAT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG%2FAcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB%2BgH7AfwB%2FQH%2BAf8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgZnbHlwaDEGZ2x5cGgyB3VuaTAwQTAHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMkYHdW5pMjA1RgRFdXJvB3VuaTIwQkQHdW5pMjMxQgd1bmkyNUZDB3VuaTI2MDEHdW5pMjZGQQd1bmkyNzA5B3VuaTI3MEYHdW5pRTAwMQd1bmlFMDAyB3VuaUUwMDMHdW5pRTAwNQd1bmlFMDA2B3VuaUUwMDcHdW5pRTAwOAd1bmlFMDA5B3VuaUUwMTAHdW5pRTAxMQd1bmlFMDEyB3VuaUUwMTMHdW5pRTAxNAd1bmlFMDE1B3VuaUUwMTYHdW5pRTAxNwd1bmlFMDE4B3VuaUUwMTkHdW5pRTAyMAd1bmlFMDIxB3VuaUUwMjIHdW5pRTAyMwd1bmlFMDI0B3VuaUUwMjUHdW5pRTAyNgd1bmlFMDI3B3VuaUUwMjgHdW5pRTAyOQd1bmlFMDMwB3VuaUUwMzEHdW5pRTAzMgd1bmlFMDMzB3VuaUUwMzQHdW5pRTAzNQd1bmlFMDM2B3VuaUUwMzcHdW5pRTAzOAd1bmlFMDM5B3VuaUUwNDAHdW5pRTA0MQd1bmlFMDQyB3VuaUUwNDMHdW5pRTA0NAd1bmlFMDQ1B3VuaUUwNDYHdW5pRTA0Nwd1bmlFMDQ4B3VuaUUwNDkHdW5pRTA1MAd1bmlFMDUxB3VuaUUwNTIHdW5pRTA1Mwd1bmlFMDU0B3VuaUUwNTUHdW5pRTA1Ngd1bmlFMDU3B3VuaUUwNTgHdW5pRTA1OQd1bmlFMDYwB3VuaUUwNjIHdW5pRTA2Mwd1bmlFMDY0B3VuaUUwNjUHdW5pRTA2Ngd1bmlFMDY3B3VuaUUwNjgHdW5pRTA2OQd1bmlFMDcwB3VuaUUwNzEHdW5pRTA3Mgd1bmlFMDczB3VuaUUwNzQHdW5pRTA3NQd1bmlFMDc2B3VuaUUwNzcHdW5pRTA3OAd1bmlFMDc5B3VuaUUwODAHdW5pRTA4MQd1bmlFMDgyB3VuaUUwODMHdW5pRTA4NAd1bmlFMDg1B3VuaUUwODYHdW5pRTA4Nwd1bmlFMDg4B3VuaUUwODkHdW5pRTA5MAd1bmlFMDkxB3VuaUUwOTIHdW5pRTA5Mwd1bmlFMDk0B3VuaUUwOTUHdW5pRTA5Ngd1bmlFMDk3B3VuaUUxMDEHdW5pRTEwMgd1bmlFMTAzB3VuaUUxMDQHdW5pRTEwNQd1bmlFMTA2B3VuaUUxMDcHdW5pRTEwOAd1bmlFMTA5B3VuaUUxMTAHdW5pRTExMQd1bmlFMTEyB3VuaUUxMTMHdW5pRTExNAd1bmlFMTE1B3VuaUUxMTYHdW5pRTExNwd1bmlFMTE4B3VuaUUxMTkHdW5pRTEyMAd1bmlFMTIxB3VuaUUxMjIHdW5pRTEyMwd1bmlFMTI0B3VuaUUxMjUHdW5pRTEyNgd1bmlFMTI3B3VuaUUxMjgHdW5pRTEyOQd1bmlFMTMwB3VuaUUxMzEHdW5pRTEzMgd1bmlFMTMzB3VuaUUxMzQHdW5pRTEzNQd1bmlFMTM2B3VuaUUxMzcHdW5pRTEzOAd1bmlFMTM5B3VuaUUxNDAHdW5pRTE0MQd1bmlFMTQyB3VuaUUxNDMHdW5pRTE0NAd1bmlFMTQ1B3VuaUUxNDYHdW5pRTE0OAd1bmlFMTQ5B3VuaUUxNTAHdW5pRTE1MQd1bmlFMTUyB3VuaUUxNTMHdW5pRTE1NAd1bmlFMTU1B3VuaUUxNTYHdW5pRTE1Nwd1bmlFMTU4B3VuaUUxNTkHdW5pRTE2MAd1bmlFMTYxB3VuaUUxNjIHdW5pRTE2Mwd1bmlFMTY0B3VuaUUxNjUHdW5pRTE2Ngd1bmlFMTY3B3VuaUUxNjgHdW5pRTE2OQd1bmlFMTcwB3VuaUUxNzEHdW5pRTE3Mgd1bmlFMTczB3VuaUUxNzQHdW5pRTE3NQd1bmlFMTc2B3VuaUUxNzcHdW5pRTE3OAd1bmlFMTc5B3VuaUUxODAHdW5pRTE4MQd1bmlFMTgyB3VuaUUxODMHdW5pRTE4NAd1bmlFMTg1B3VuaUUxODYHdW5pRTE4Nwd1bmlFMTg4B3VuaUUxODkHdW5pRTE5MAd1bmlFMTkxB3VuaUUxOTIHdW5pRTE5Mwd1bmlFMTk0B3VuaUUxOTUHdW5pRTE5Nwd1bmlFMTk4B3VuaUUxOTkHdW5pRTIwMAd1bmlFMjAxB3VuaUUyMDIHdW5pRTIwMwd1bmlFMjA0B3VuaUUyMDUHdW5pRTIwNgd1bmlFMjA5B3VuaUUyMTAHdW5pRTIxMQd1bmlFMjEyB3VuaUUyMTMHdW5pRTIxNAd1bmlFMjE1B3VuaUUyMTYHdW5pRTIxOAd1bmlFMjE5B3VuaUUyMjEHdW5pRTIyMwd1bmlFMjI0B3VuaUUyMjUHdW5pRTIyNgd1bmlFMjI3B3VuaUUyMzAHdW5pRTIzMQd1bmlFMjMyB3VuaUUyMzMHdW5pRTIzNAd1bmlFMjM1B3VuaUUyMzYHdW5pRTIzNwd1bmlFMjM4B3VuaUUyMzkHdW5pRTI0MAd1bmlFMjQxB3VuaUUyNDIHdW5pRTI0Mwd1bmlFMjQ0B3VuaUUyNDUHdW5pRTI0Ngd1bmlFMjQ3B3VuaUUyNDgHdW5pRTI0OQd1bmlFMjUwB3VuaUUyNTEHdW5pRTI1Mgd1bmlFMjUzB3VuaUUyNTQHdW5pRTI1NQd1bmlFMjU2B3VuaUUyNTcHdW5pRTI1OAd1bmlFMjU5B3VuaUUyNjAHdW5pRjhGRgZ1MUY1MTEGdTFGNkFBAAAAAAFUUMMXAAA%3D%29%20format%28%27truetype%27%29%2Curl%28data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI%2FPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE%2BPC9tZXRhZGF0YT4KPGRlZnM%2BCjxmb250IGlkPSJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXIiIGhvcml6LWFkdi14PSIxMjAwIiA%2BCjxmb250LWZhY2UgdW5pdHMtcGVyLWVtPSIxMjAwIiBhc2NlbnQ9Ijk2MCIgZGVzY2VudD0iLTI0MCIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjUwMCIgLz4KPGdseXBoIGhvcml6LWFkdi14PSIwIiAvPgo8Z2x5cGggaG9yaXotYWR2LXg9IjQwMCIgLz4KPGdseXBoIHVuaWNvZGU9IiAiIC8%2BCjxnbHlwaCB1bmljb2RlPSIqIiBkPSJNNjAwIDExMDBxMTUgMCAzNCAtMS41dDMwIC0zLjVsMTEgLTFxMTAgLTIgMTcuNSAtMTAuNXQ3LjUgLTE4LjV2LTIyNGwxNTggMTU4cTcgNyAxOCA4dDE5IC02bDEwNiAtMTA2cTcgLTggNiAtMTl0LTggLTE4bC0xNTggLTE1OGgyMjRxMTAgMCAxOC41IC03LjV0MTAuNSAtMTcuNXE2IC00MSA2IC03NXEwIC0xNSAtMS41IC0zNHQtMy41IC0zMGwtMSAtMTFxLTIgLTEwIC0xMC41IC0xNy41dC0xOC41IC03LjVoLTIyNGwxNTggLTE1OCBxNyAtNyA4IC0xOHQtNiAtMTlsLTEwNiAtMTA2cS04IC03IC0xOSAtNnQtMTggOGwtMTU4IDE1OHYtMjI0cTAgLTEwIC03LjUgLTE4LjV0LTE3LjUgLTEwLjVxLTQxIC02IC03NSAtNnEtMTUgMCAtMzQgMS41dC0zMCAzLjVsLTExIDFxLTEwIDIgLTE3LjUgMTAuNXQtNy41IDE4LjV2MjI0bC0xNTggLTE1OHEtNyAtNyAtMTggLTh0LTE5IDZsLTEwNiAxMDZxLTcgOCAtNiAxOXQ4IDE4bDE1OCAxNThoLTIyNHEtMTAgMCAtMTguNSA3LjUgdC0xMC41IDE3LjVxLTYgNDEgLTYgNzVxMCAxNSAxLjUgMzR0My41IDMwbDEgMTFxMiAxMCAxMC41IDE3LjV0MTguNSA3LjVoMjI0bC0xNTggMTU4cS03IDcgLTggMTh0NiAxOWwxMDYgMTA2cTggNyAxOSA2dDE4IC04bDE1OCAtMTU4djIyNHEwIDEwIDcuNSAxOC41dDE3LjUgMTAuNXE0MSA2IDc1IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iKyIgZD0iTTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzUwaDM1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zNTB2LTM1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzNTBoLTM1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNSBoMzUwdjM1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTA7IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTU7IiBkPSJNODI1IDExMDBoMjUwcTEwIDAgMTIuNSAtNXQtNS41IC0xM2wtMzY0IC0zNjRxLTYgLTYgLTExIC0xOGgyNjhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTEwMGgyNzVxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTE3NHEwIC0xMSAtNy41IC0xOC41dC0xOC41IC03LjVoLTE0OHEtMTEgMCAtMTguNSA3LjV0LTcuNSAxOC41djE3NCBoLTI3NXEtMTAgMCAtMTMgNnQzIDE0bDEyMCAxNjBxNiA4IDE4IDE0dDIyIDZoMTI1djEwMGgtMjc1cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMThxLTUgMTIgLTExIDE4bC0zNjQgMzY0cS04IDggLTUuNSAxM3QxMi41IDVoMjUwcTI1IDAgNDMgLTE4bDE2NCAtMTY0cTggLTggMTggLTh0MTggOGwxNjQgMTY0cTE4IDE4IDQzIDE4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDA7IiBob3Jpei1hZHYteD0iNjUwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMTsiIGhvcml6LWFkdi14PSIxMzAwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMjsiIGhvcml6LWFkdi14PSI2NTAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDAzOyIgaG9yaXotYWR2LXg9IjEzMDAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDA0OyIgaG9yaXotYWR2LXg9IjQzMyIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDU7IiBob3Jpei1hZHYteD0iMzI1IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwNjsiIGhvcml6LWFkdi14PSIyMTYiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDA3OyIgaG9yaXotYWR2LXg9IjIxNiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDg7IiBob3Jpei1hZHYteD0iMTYyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwOTsiIGhvcml6LWFkdi14PSIyNjAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDBhOyIgaG9yaXotYWR2LXg9IjcyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAyZjsiIGhvcml6LWFkdi14PSIyNjAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMDVmOyIgaG9yaXotYWR2LXg9IjMyNSIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwYWM7IiBkPSJNNzQ0IDExOThxMjQyIDAgMzU0IC0xODlxNjAgLTEwNCA2NiAtMjA5aC0xODFxMCA0NSAtMTcuNSA4Mi41dC00My41IDYxLjV0LTU4IDQwLjV0LTYwLjUgMjR0LTUxLjUgNy41cS0xOSAwIC00MC41IC01LjV0LTQ5LjUgLTIwLjV0LTUzIC0zOHQtNDkgLTYyLjV0LTM5IC04OS41aDM3OWwtMTAwIC0xMDBoLTMwMHEtNiAtNTAgLTYgLTEwMGg0MDZsLTEwMCAtMTAwaC0zMDBxOSAtNzQgMzMgLTEzMnQ1Mi41IC05MXQ2MS41IC01NC41dDU5IC0yOSB0NDcgLTcuNXEyMiAwIDUwLjUgNy41dDYwLjUgMjQuNXQ1OCA0MXQ0My41IDYxdDE3LjUgODBoMTc0cS0zMCAtMTcxIC0xMjggLTI3OHEtMTA3IC0xMTcgLTI3NCAtMTE3cS0yMDYgMCAtMzI0IDE1OHEtMzYgNDggLTY5IDEzM3QtNDUgMjA0aC0yMTdsMTAwIDEwMGgxMTJxMSA0NyA2IDEwMGgtMjE4bDEwMCAxMDBoMTM0cTIwIDg3IDUxIDE1My41dDYyIDEwMy41cTExNyAxNDEgMjk3IDE0MXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyMGJkOyIgZD0iTTQyOCAxMjAwaDM1MHE2NyAwIDEyMCAtMTN0ODYgLTMxdDU3IC00OS41dDM1IC01Ni41dDE3IC02NC41dDYuNSAtNjAuNXQwLjUgLTU3di0xNi41di0xNi41cTAgLTM2IC0wLjUgLTU3dC02LjUgLTYxdC0xNyAtNjV0LTM1IC01N3QtNTcgLTUwLjV0LTg2IC0zMS41dC0xMjAgLTEzaC0xNzhsLTIgLTEwMGgyODhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMzh2LTE3NXEwIC0xMSAtNS41IC0xOCB0LTE1LjUgLTdoLTE0OXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE3NWgtMjY3cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMTd2MTAwaC0yNjdxLTEwIDAgLTEzIDZ0MyAxNGwxMjAgMTYwcTYgOCAxOCAxNHQyMiA2aDExN3Y0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNjAwIDEwMDB2LTMwMGgyMDNxNjQgMCA4Ni41IDMzdDIyLjUgMTE5cTAgODQgLTIyLjUgMTE2dC04Ni41IDMyaC0yMDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjIxMjsiIGQ9Ik0yNTAgNzAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjMxYjsiIGQ9Ik0xMDAwIDEyMDB2LTE1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTEwMHEwIC05MSAtNDkuNSAtMTY1LjV0LTEzMC41IC0xMDkuNXE4MSAtMzUgMTMwLjUgLTEwOS41dDQ5LjUgLTE2NS41di0xNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtODAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MTUwcTAgOTEgNDkuNSAxNjUuNXQxMzAuNSAxMDkuNXEtODEgMzUgLTEzMC41IDEwOS41IHQtNDkuNSAxNjUuNXYxMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxNTBoODAwek00MDAgMTAwMHYtMTAwcTAgLTYwIDMyLjUgLTEwOS41dDg3LjUgLTczLjVxMjggLTEyIDQ0IC0zN3QxNiAtNTV0LTE2IC01NXQtNDQgLTM3cS01NSAtMjQgLTg3LjUgLTczLjV0LTMyLjUgLTEwOS41di0xNTBoNDAwdjE1MHEwIDYwIC0zMi41IDEwOS41dC04Ny41IDczLjVxLTI4IDEyIC00NCAzN3QtMTYgNTV0MTYgNTV0NDQgMzcgcTU1IDI0IDg3LjUgNzMuNXQzMi41IDEwOS41djEwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI1ZmM7IiBob3Jpei1hZHYteD0iNTAwIiBkPSJNMCAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI2MDE7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA2LjVxMCAtMTIxIC04NSAtMjA3LjV0LTIwNSAtODYuNWgtNzUwcS03OSAwIC0xMzUuNSA1N3QtNTYuNSAxMzdxMCA2OSA0Mi41IDEyMi41dDEwOC41IDY3LjVxLTIgMTIgLTIgMzdxMCAxNTMgMTA4IDI2MC41dDI2MCAxMDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyNmZhOyIgZD0iTTc3NCAxMTkzLjVxMTYgLTkuNSAyMC41IC0yN3QtNS41IC0zMy41bC0xMzYgLTE4N2w0NjcgLTc0NmgzMHEyMCAwIDM1IC0xOC41dDE1IC0zOS41di00MmgtMTIwMHY0MnEwIDIxIDE1IDM5LjV0MzUgMTguNWgzMGw0NjggNzQ2bC0xMzUgMTgzcS0xMCAxNiAtNS41IDM0dDIwLjUgMjh0MzQgNS41dDI4IC0yMC41bDExMSAtMTQ4bDExMiAxNTBxOSAxNiAyNyAyMC41dDM0IC01ek02MDAgMjAwaDM3N2wtMTgyIDExMmwtMTk1IDUzNHYtNjQ2eiAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3gyNzA5OyIgZD0iTTI1IDExMDBoMTE1MHExMCAwIDEyLjUgLTV0LTUuNSAtMTNsLTU2NCAtNTY3cS04IC04IC0xOCAtOHQtMTggOGwtNTY0IDU2N3EtOCA4IC01LjUgMTN0MTIuNSA1ek0xOCA4ODJsMjY0IC0yNjRxOCAtOCA4IC0xOHQtOCAtMThsLTI2NCAtMjY0cS04IC04IC0xMyAtNS41dC01IDEyLjV2NTUwcTAgMTAgNSAxMi41dDEzIC01LjV6TTkxOCA2MThsMjY0IDI2NHE4IDggMTMgNS41dDUgLTEyLjV2LTU1MHEwIC0xMCAtNSAtMTIuNXQtMTMgNS41IGwtMjY0IDI2NHEtOCA4IC04IDE4dDggMTh6TTgxOCA0ODJsMzY0IC0zNjRxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xMTUwcS0xMCAwIC0xMi41IDV0NS41IDEzbDM2NCAzNjRxOCA4IDE4IDh0MTggLThsMTY0IC0xNjRxOCAtOCAxOCAtOHQxOCA4bDE2NCAxNjRxOCA4IDE4IDh0MTggLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjcwZjsiIGQ9Ik0xMDExIDEyMTBxMTkgMCAzMyAtMTNsMTUzIC0xNTNxMTMgLTE0IDEzIC0zM3QtMTMgLTMzbC05OSAtOTJsLTIxNCAyMTRsOTUgOTZxMTMgMTQgMzIgMTR6TTEwMTMgODAwbC02MTUgLTYxNGwtMjE0IDIxNGw2MTQgNjE0ek0zMTcgOTZsLTMzMyAtMTEybDExMCAzMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMTsiIGQ9Ik03MDAgNjUwdi01NTBoMjUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtODAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgyNTB2NTUwbC01MDAgNTUwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMjsiIGQ9Ik0zNjggMTAxN2w2NDUgMTYzcTM5IDE1IDYzIDB0MjQgLTQ5di04MzFxMCAtNTUgLTQxLjUgLTk1LjV0LTExMS41IC02My41cS03OSAtMjUgLTE0NyAtNC41dC04NiA3NXQyNS41IDExMS41dDEyMi41IDgycTcyIDI0IDEzOCA4djUyMWwtNjAwIC0xNTV2LTYwNnEwIC00MiAtNDQgLTkwdC0xMDkgLTY5cS03OSAtMjYgLTE0NyAtNS41dC04NiA3NS41dDI1LjUgMTExLjV0MTIyLjUgODIuNXE3MiAyNCAxMzggN3Y2MzlxMCAzOCAxNC41IDU5IHQ1My41IDM0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDM7IiBkPSJNNTAwIDExOTFxMTAwIDAgMTkxIC0zOXQxNTYuNSAtMTA0LjV0MTA0LjUgLTE1Ni41dDM5IC0xOTFsLTEgLTJsMSAtNXEwIC0xNDEgLTc4IC0yNjJsMjc1IC0yNzRxMjMgLTI2IDIyLjUgLTQ0LjV0LTIyLjUgLTQyLjVsLTU5IC01OHEtMjYgLTIwIC00Ni41IC0yMHQtMzkuNSAyMGwtMjc1IDI3NHEtMTE5IC03NyAtMjYxIC03N2wtNSAxbC0yIC0xcS0xMDAgMCAtMTkxIDM5dC0xNTYuNSAxMDQuNXQtMTA0LjUgMTU2LjV0LTM5IDE5MSB0MzkgMTkxdDEwNC41IDE1Ni41dDE1Ni41IDEwNC41dDE5MSAzOXpNNTAwIDEwMjJxLTg4IDAgLTE2MiAtNDN0LTExNyAtMTE3dC00MyAtMTYydDQzIC0xNjJ0MTE3IC0xMTd0MTYyIC00M3QxNjIgNDN0MTE3IDExN3Q0MyAxNjJ0LTQzIDE2MnQtMTE3IDExN3QtMTYyIDQzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDU7IiBkPSJNNjQ5IDk0OXE0OCA2OCAxMDkuNSAxMDR0MTIxLjUgMzguNXQxMTguNSAtMjB0MTAyLjUgLTY0dDcxIC0xMDAuNXQyNyAtMTIzcTAgLTU3IC0zMy41IC0xMTcuNXQtOTQgLTEyNC41dC0xMjYuNSAtMTI3LjV0LTE1MCAtMTUyLjV0LTE0NiAtMTc0cS02MiA4NSAtMTQ1LjUgMTc0dC0xNTAgMTUyLjV0LTEyNi41IDEyNy41dC05My41IDEyNC41dC0zMy41IDExNy41cTAgNjQgMjggMTIzdDczIDEwMC41dDEwNCA2NHQxMTkgMjAgdDEyMC41IC0zOC41dDEwNC41IC0xMDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwNjsiIGQ9Ik00MDcgODAwbDEzMSAzNTNxNyAxOSAxNy41IDE5dDE3LjUgLTE5bDEyOSAtMzUzaDQyMXEyMSAwIDI0IC04LjV0LTE0IC0yMC41bC0zNDIgLTI0OWwxMzAgLTQwMXE3IC0yMCAtMC41IC0yNS41dC0yNC41IDYuNWwtMzQzIDI0NmwtMzQyIC0yNDdxLTE3IC0xMiAtMjQuNSAtNi41dC0wLjUgMjUuNWwxMzAgNDAwbC0zNDcgMjUxcS0xNyAxMiAtMTQgMjAuNXQyMyA4LjVoNDI5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDc7IiBkPSJNNDA3IDgwMGwxMzEgMzUzcTcgMTkgMTcuNSAxOXQxNy41IC0xOWwxMjkgLTM1M2g0MjFxMjEgMCAyNCAtOC41dC0xNCAtMjAuNWwtMzQyIC0yNDlsMTMwIC00MDFxNyAtMjAgLTAuNSAtMjUuNXQtMjQuNSA2LjVsLTM0MyAyNDZsLTM0MiAtMjQ3cS0xNyAtMTIgLTI0LjUgLTYuNXQtMC41IDI1LjVsMTMwIDQwMGwtMzQ3IDI1MXEtMTcgMTIgLTE0IDIwLjV0MjMgOC41aDQyOXpNNDc3IDcwMGgtMjQwbDE5NyAtMTQybC03NCAtMjI2IGwxOTMgMTM5bDE5NSAtMTQwbC03NCAyMjlsMTkyIDE0MGgtMjM0bC03OCAyMTF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwODsiIGQ9Ik02MDAgMTIwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTI1MHEwIC00NiAtMzEgLTk4dC02OSAtNTJ2LTc1cTAgLTEwIDYgLTIxLjV0MTUgLTE3LjVsMzU4IC0yMzBxOSAtNSAxNSAtMTYuNXQ2IC0yMS41di05M3EwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5M3EwIDEwIDYgMjEuNXQxNSAxNi41bDM1OCAyMzBxOSA2IDE1IDE3LjV0NiAyMS41djc1cS0zOCAwIC02OSA1MiB0LTMxIDk4djI1MHEwIDEyNCA4OCAyMTJ0MjEyIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDk7IiBkPSJNMjUgMTEwMGgxMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTA1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMDUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwMCAxMDAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgMTAwMGgtNTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMzUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNTUwIHExMCAwIDE3LjUgNy41dDcuNSAxNy41djM1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTEwMDAgMTAwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwIDgwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA4MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgNjAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgNTAwaC01NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0zNTBxMCAtMTAgNy41IC0xNy41IHQxNy41IC03LjVoNTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MzUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMTAwIDQwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCAyMDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTA7IiBkPSJNNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCA1MDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMTsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTEwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODUwIDcwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoMjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTg1MCAzMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41IHQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMjsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNDUwIDcwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoNzAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMzsiIGQ9Ik00NjUgNDc3bDU3MSA1NzFxOCA4IDE4IDh0MTcgLThsMTc3IC0xNzdxOCAtNyA4IC0xN3QtOCAtMThsLTc4MyAtNzg0cS03IC04IC0xNy41IC04dC0xNy41IDhsLTM4NCAzODRxLTggOCAtOCAxOHQ4IDE3bDE3NyAxNzdxNyA4IDE3IDh0MTggLThsMTcxIC0xNzFxNyAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTQ7IiBkPSJNOTA0IDEwODNsMTc4IC0xNzlxOCAtOCA4IC0xOC41dC04IC0xNy41bC0yNjcgLTI2OGwyNjcgLTI2OHE4IC03IDggLTE3LjV0LTggLTE4LjVsLTE3OCAtMTc4cS04IC04IC0xOC41IC04dC0xNy41IDhsLTI2OCAyNjdsLTI2OCAtMjY3cS03IC04IC0xNy41IC04dC0xOC41IDhsLTE3OCAxNzhxLTggOCAtOCAxOC41dDggMTcuNWwyNjcgMjY4bC0yNjcgMjY4cS04IDcgLTggMTcuNXQ4IDE4LjVsMTc4IDE3OHE4IDggMTguNSA4dDE3LjUgLTggbDI2OCAtMjY3bDI2OCAyNjhxNyA3IDE3LjUgN3QxOC41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTU7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNNDI1IDkwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWg3NXExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41IHQtMTcuNSAtNy41aC03NXYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtNzVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg3NXY3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTY7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNMzI1IDgwMGgzNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNzsiIGQ9Ik01NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04MDAgOTc1djE2NnExNjcgLTYyIDI3MiAtMjA5LjV0MTA1IC0zMzEuNXEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNSB0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHEwIDE4NCAxMDUgMzMxLjV0MjcyIDIwOS41di0xNjZxLTEwMyAtNTUgLTE2NSAtMTU1dC02MiAtMjIwcTAgLTExNiA1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXEwIDEyMCAtNjIgMjIwdC0xNjUgMTU1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTg7IiBkPSJNMTAyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTExNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTcyNSA4MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgNTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTQ1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djQ1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0xMjUgMzAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41IHYyNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDE5OyIgZD0iTTYwMCAxMTc0cTMzIDAgNzQgLTVsMzggLTE1Mmw1IC0xcTQ5IC0xNCA5NCAtMzlsNSAtMmwxMzQgODBxNjEgLTQ4IDEwNCAtMTA1bC04MCAtMTM0bDMgLTVxMjUgLTQ0IDM5IC05M2wxIC02bDE1MiAtMzhxNSAtNDMgNSAtNzNxMCAtMzQgLTUgLTc0bC0xNTIgLTM4bC0xIC02cS0xNSAtNDkgLTM5IC05M2wtMyAtNWw4MCAtMTM0cS00OCAtNjEgLTEwNCAtMTA1bC0xMzQgODFsLTUgLTNxLTQ0IC0yNSAtOTQgLTM5bC01IC0ybC0zOCAtMTUxIHEtNDMgLTUgLTc0IC01cS0zMyAwIC03NCA1bC0zOCAxNTFsLTUgMnEtNDkgMTQgLTk0IDM5bC01IDNsLTEzNCAtODFxLTYwIDQ4IC0xMDQgMTA1bDgwIDEzNGwtMyA1cS0yNSA0NSAtMzggOTNsLTIgNmwtMTUxIDM4cS02IDQyIC02IDc0cTAgMzMgNiA3M2wxNTEgMzhsMiA2cTEzIDQ4IDM4IDkzbDMgNWwtODAgMTM0cTQ3IDYxIDEwNSAxMDVsMTMzIC04MGw1IDJxNDUgMjUgOTQgMzlsNSAxbDM4IDE1MnE0MyA1IDc0IDV6TTYwMCA4MTUgcS04OSAwIC0xNTIgLTYzdC02MyAtMTUxLjV0NjMgLTE1MS41dDE1MiAtNjN0MTUyIDYzdDYzIDE1MS41dC02MyAxNTEuNXQtMTUyIDYzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjA7IiBkPSJNNTAwIDEzMDBoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di0xMDBoMjc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoLTExMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNzV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNTAwIDEyMDB2LTEwMGgzMDB2MTAwaC0zMDB6TTExMDAgOTAwdi04MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTcwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjUgdjgwMGg5MDB6TTMwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTUwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTcwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTkwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMTsiIGQ9Ik0xOCA2MThsNjIwIDYwOHE4IDcgMTguNSA3dDE3LjUgLTdsNjA4IC02MDhxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xNzV2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWgtMzAwdi0zNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NzVoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDIyOyIgZD0iTTYwMCAxMjAwdi00MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDMwMHYtNjUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djExMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHpNMTAwMCA4MDBoLTI1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxMDI3cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd0MjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjV0LTU3IDIxNC41dC0xNTUuNSAxNTUuNXQtMjE0LjUgNTd6TTUyNSA5MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0yNzVoMTc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI0OyIgZD0iTTEzMDAgMGgtNTM4bC00MSA0MDBoLTI0MmwtNDEgLTQwMGgtNTM4bDQzMSAxMjAwaDIwOWwtMjEgLTMwMGgxNjJsLTIwIDMwMGgyMDh6TTUxNSA4MDBsLTI3IC0zMDBoMjI0bC0yNyAzMDBoLTE3MHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI1OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDUwaDE5MXEyMCAwIDI1LjUgLTExLjV0LTcuNSAtMjcuNWwtMzI3IC00MDBxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMzI3IDQwMHEtMTMgMTYgLTcuNSAyNy41dDI1LjUgMTEuNWgxOTF2NDUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEyNSA0MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0zNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41IGgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTc1aDkwMHYxNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01MjUgOTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI3NWgxMzdxMjEgMCAyNiAtMTEuNXQtOCAtMjcuNWwtMjIzIC0yNzVxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMjIzIDI3NXEtMTMgMTYgLTggMjcuNXQyNiAxMS41aDEzN3YyNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNzsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNjMyIDkxNGwyMjMgLTI3NXExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTEzN3YtMjc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2Mjc1aC0xMzdxLTIxIDAgLTI2IDExLjV0OCAyNy41bDIyMyAyNzVxMTMgMTYgMzIgMTYgdDMyIC0xNnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI4OyIgZD0iTTIyNSAxMjAwaDc1MHExMCAwIDE5LjUgLTd0MTIuNSAtMTdsMTg2IC02NTJxNyAtMjQgNyAtNDl2LTQyNXEwIC0xMiAtNCAtMjd0LTkgLTE3cS0xMiAtNiAtMzcgLTZoLTExMDBxLTEyIDAgLTI3IDR0LTE3IDhxLTYgMTMgLTYgMzhsMSA0MjVxMCAyNSA3IDQ5bDE4NSA2NTJxMyAxMCAxMi41IDE3dDE5LjUgN3pNODc4IDEwMDBoLTU1NnEtMTAgMCAtMTkgLTd0LTExIC0xOGwtODcgLTQ1MHEtMiAtMTEgNCAtMTh0MTYgLTdoMTUwIHExMCAwIDE5LjUgLTd0MTEuNSAtMTdsMzggLTE1MnEyIC0xMCAxMS41IC0xN3QxOS41IC03aDI1MHExMCAwIDE5LjUgN3QxMS41IDE3bDM4IDE1MnEyIDEwIDExLjUgMTd0MTkuNSA3aDE1MHExMCAwIDE2IDd0NCAxOGwtODcgNDUwcS0yIDExIC0xMSAxOHQtMTkgN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDI5OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01NDAgODIwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMDsiIGQ9Ik05NDcgMTA2MGwxMzUgMTM1cTcgNyAxMi41IDV0NS41IC0xM3YtMzYycTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMzYycS0xMSAwIC0xMyA1LjV0NSAxMi41bDEzMyAxMzNxLTEwOSA3NiAtMjM4IDc2cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNWgxNTBxMCAtMTE3IC00NS41IC0yMjQgdC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDMxOyIgZD0iTTk0NyAxMDYwbDEzNSAxMzVxNyA3IDEyLjUgNXQ1LjUgLTEzdi0zNjFxMCAtMTEgLTcuNSAtMTguNXQtMTguNSAtNy41aC0zNjFxLTExIDAgLTEzIDUuNXQ1IDEyLjVsMTM0IDEzNHEtMTEwIDc1IC0yMzkgNzVxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41aC0xNTBxMCAxMTcgNDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3pNMTAyNyA2MDBoMTUwIHEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41cS0xOTIgMCAtMzQ4IDExOGwtMTM0IC0xMzRxLTcgLTggLTEyLjUgLTUuNXQtNS41IDEyLjV2MzYwcTAgMTEgNy41IDE4LjV0MTguNSA3LjVoMzYwcTEwIDAgMTIuNSAtNS41dC01LjUgLTEyLjVsLTEzMyAtMTMzcTExMCAtNzYgMjQwIC03NnExMTYgMCAyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDMyOyIgZD0iTTEyNSAxMjAwaDEwNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djExNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMTA3NSAxMDAwaC04NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di04NTBxMCAtMTAgNy41IC0xNy41dDE3LjUgLTcuNWg4NTBxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXY4NTAgcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMzI1IDkwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgOTAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTMyNSA3MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNTI1IDcwMGg0NTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTQ1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0zMjUgNTAwaDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTUyNSA1MDBoNDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC00NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMzI1IDMwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgMzAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMzsiIGQ9Ik05MDAgODAwdjIwMHEwIDgzIC01OC41IDE0MS41dC0xNDEuNSA1OC41aC0zMDBxLTgyIDAgLTE0MSAtNTl0LTU5IC0xNDF2LTIwMGgtMTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDkwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NjAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC0xMDB6TTQwMCA4MDB2MTUwcTAgMjEgMTUgMzUuNXQzNSAxNC41aDIwMCBxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNXYtMTUwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNDsiIGQ9Ik0xMjUgMTEwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwNzVoLTEwMHYxMDc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwNzUgMTA1MnE0IDAgOSAtMnExNiAtNiAxNiAtMjN2LTQyMXEwIC02IC0zIC0xMnEtMzMgLTU5IC02Ni41IC05OXQtNjUuNSAtNTh0LTU2LjUgLTI0LjV0LTUyLjUgLTYuNXEtMjYgMCAtNTcuNSA2LjV0LTUyLjUgMTMuNXQtNjAgMjFxLTQxIDE1IC02MyAyMi41dC01Ny41IDE1dC02NS41IDcuNSBxLTg1IDAgLTE2MCAtNTdxLTcgLTUgLTE1IC01cS02IDAgLTExIDNxLTE0IDcgLTE0IDIydjQzOHEyMiA1NSA4MiA5OC41dDExOSA0Ni41cTIzIDIgNDMgMC41dDQzIC03dDMyLjUgLTguNXQzOCAtMTN0MzIuNSAtMTFxNDEgLTE0IDYzLjUgLTIxdDU3IC0xNHQ2My41IC03cTEwMyAwIDE4MyA4N3E3IDggMTggOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDM1OyIgZD0iTTYwMCAxMTc1cTExNiAwIDIyNyAtNDkuNXQxOTIuNSAtMTMxdDEzMSAtMTkyLjV0NDkuNSAtMjI3di0zMDBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djMwMHEwIDEyNyAtNzAuNSAyMzEuNXQtMTg0LjUgMTYxLjV0LTI0NSA1N3QtMjQ1IC01N3QtMTg0LjUgLTE2MS41dC03MC41IC0yMzEuNXYtMzAwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTAgcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzAwcTAgMTE2IDQ5LjUgMjI3dDEzMSAxOTIuNXQxOTIuNSAxMzF0MjI3IDQ5LjV6TTIyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwcTAgOCA2IDE0dDE0IDZ6TTgyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwIHEwIDggNiAxNHQxNCA2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzY7IiBkPSJNMzIxIDgxNGwyNTggMTcycTkgNiAxNSAyLjV0NiAtMTMuNXYtNzUwcTAgLTEwIC02IC0xMy41dC0xNSAyLjVsLTI1OCAxNzJxLTIxIDE0IC00NiAxNGgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMjUwcTI1IDAgNDYgMTR6TTkwMCA2NjhsMTIwIDEyMHE3IDcgMTcgN3QxNyAtN2wzNCAtMzRxNyAtNyA3IC0xN3QtNyAtMTdsLTEyMCAtMTIwbDEyMCAtMTIwcTcgLTcgNyAtMTcgdC03IC0xN2wtMzQgLTM0cS03IC03IC0xNyAtN3QtMTcgN2wtMTIwIDExOWwtMTIwIC0xMTlxLTcgLTcgLTE3IC03dC0xNyA3bC0zNCAzNHEtNyA3IC03IDE3dDcgMTdsMTE5IDEyMGwtMTE5IDEyMHEtNyA3IC03IDE3dDcgMTdsMzQgMzRxNyA4IDE3IDh0MTcgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNzsiIGQ9Ik0zMjEgODE0bDI1OCAxNzJxOSA2IDE1IDIuNXQ2IC0xMy41di03NTBxMCAtMTAgLTYgLTEzLjV0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNiBsLTI5IDIzcS03IDcgLTguNSAxNi41dDQuNSAxNy41cTcyIDEwMyA3MiAyMjlxMCAxMzIgLTc4IDIzOHEtNiA4IC00LjUgMTh0OS41IDE3bDI5IDIycTcgNSAxNSA1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzg7IiBkPSJNOTY3IDEwMDRoM3ExMSAtMSAxNyAtMTBxMTM1IC0xNzkgMTM1IC0zOTZxMCAtMTA1IC0zNCAtMjA2LjV0LTk4IC0xODUuNXEtNyAtOSAtMTcgLTEwaC0zcS05IDAgLTE2IDZsLTQyIDM0cS04IDYgLTkgMTZ0NSAxOHExMTEgMTUwIDExMSAzMjhxMCA5MCAtMjkuNSAxNzZ0LTg0LjUgMTU3cS02IDkgLTUgMTl0MTAgMTZsNDIgMzNxNyA1IDE1IDV6TTMyMSA4MTRsMjU4IDE3MnE5IDYgMTUgMi41dDYgLTEzLjV2LTc1MHEwIC0xMCAtNiAtMTMuNSB0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNmwtMjkgMjNxLTcgNyAtOC41IDE2LjV0NC41IDE3LjVxNzIgMTAzIDcyIDIyOXEwIDEzMiAtNzggMjM4IHEtNiA4IC00LjUgMTguNXQ5LjUgMTYuNWwyOSAyMnE3IDUgMTUgNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDM5OyIgZD0iTTUwMCA5MDBoMTAwdi0xMDBoLTEwMHYtMTAwaC00MDB2LTEwMGgtMTAwdjYwMGg1MDB2LTMwMHpNMTIwMCA3MDBoLTIwMHYtMTAwaDIwMHYtMjAwaC0zMDB2MzAwaC0yMDB2MzAwaC0xMDB2MjAwaDYwMHYtNTAwek0xMDAgMTEwMHYtMzAwaDMwMHYzMDBoLTMwMHpNODAwIDExMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTMwMCA5MDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEwMDAgOTAwaC0xMDB2MTAwaDEwMHYtMTAwek0zMDAgNTAwaDIwMHYtNTAwIGgtNTAwdjUwMGgyMDB2MTAwaDEwMHYtMTAwek04MDAgMzAwaDIwMHYtMTAwaC0xMDB2LTEwMGgtMjAwdjEwMGgtMTAwdjEwMGgxMDB2MjAwaC0yMDB2MTAwaDMwMHYtMzAwek0xMDAgNDAwdi0zMDBoMzAwdjMwMGgtMzAwek0zMDAgMjAwaC0xMDB2MTAwaDEwMHYtMTAwek0xMjAwIDIwMGgtMTAwdjEwMGgxMDB2LTEwMHpNNzAwIDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEyMDAgMGgtMzAwdjEwMGgzMDB2LTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQwOyIgZD0iTTEwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMzAwIDIwMGgtMTAwdjEwMDBoMTAwdi0xMDAwek03MDAgMjAwaC0yMDB2MTAwMGgyMDB2LTEwMDB6TTkwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMTIwMCAyMDBoLTIwMHYxMDAwaDIwMHYtMTAwMHpNNDAwIDBoLTMwMHYxMDBoMzAwdi0xMDB6TTYwMCAwaC0xMDB2OTFoMTAwdi05MXpNODAwIDBoLTEwMHY5MWgxMDB2LTkxek0xMTAwIDBoLTIwMHY5MWgyMDB2LTkxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNDE7IiBkPSJNNTAwIDEyMDBsNjgyIC02ODJxOCAtOCA4IC0xOHQtOCAtMThsLTQ2NCAtNDY0cS04IC04IC0xOCAtOHQtMTggOGwtNjgyIDY4MmwxIDQ3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDQ3NHpNMzE5LjUgMTAyNC41cS0yOS41IDI5LjUgLTcxIDI5LjV0LTcxIC0yOS41dC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQyOyIgZD0iTTUwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTY4MiA2ODJsMSA0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg0NzR6TTgwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTU2IDU2bDQyNCA0MjZsLTcwMCA3MDBoMTUwek0zMTkuNSAxMDI0LjVxLTI5LjUgMjkuNSAtNzEgMjkuNXQtNzEgLTI5LjUgdC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQzOyIgZD0iTTMwMCAxMjAwaDgyNXE3NSAwIDc1IC03NXYtOTAwcTAgLTI1IC0xOCAtNDNsLTY0IC02NHEtOCAtOCAtMTMgLTUuNXQtNSAxMi41djk1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjVoLTcwMHEtMjUgMCAtNDMgLTE4bC02NCAtNjRxLTggLTggLTUuNSAtMTN0MTIuNSAtNWg3MDBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di05NTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC04NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NzUgcTAgMjUgMTggNDNsMTM5IDEzOXExOCAxOCA0MyAxOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQ0OyIgZD0iTTI1MCAxMjAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTE1MGwtNDUwIDQ0NGwtNDUwIC00NDV2MTE1MXEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NTsiIGQ9Ik04MjIgMTIwMGgtNDQ0cS0xMSAwIC0xOSAtNy41dC05IC0xNy41bC03OCAtMzAxcS03IC0yNCA3IC00NWw1NyAtMTA4cTYgLTkgMTcuNSAtMTV0MjEuNSAtNmg0NTBxMTAgMCAyMS41IDZ0MTcuNSAxNWw2MiAxMDhxMTQgMjEgNyA0NWwtODMgMzAxcS0xIDEwIC05IDE3LjV0LTE5IDcuNXpNMTE3NSA4MDBoLTE1MHEtMTAgMCAtMjEgLTYuNXQtMTUgLTE1LjVsLTc4IC0xNTZxLTQgLTkgLTE1IC0xNS41dC0yMSAtNi41aC01NTAgcS0xMCAwIC0yMSA2LjV0LTE1IDE1LjVsLTc4IDE1NnEtNCA5IC0xNSAxNS41dC0yMSA2LjVoLTE1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTY1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDc1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41IHQ3LjUgMTcuNXY2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41ek04NTAgMjAwaC01MDBxLTEwIDAgLTE5LjUgLTd0LTExLjUgLTE3bC0zOCAtMTUycS0yIC0xMCAzLjUgLTE3dDE1LjUgLTdoNjAwcTEwIDAgMTUuNSA3dDMuNSAxN2wtMzggMTUycS0yIDEwIC0xMS41IDE3dC0xOS41IDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NjsiIGQ9Ik01MDAgMTEwMGgyMDBxNTYgMCAxMDIuNSAtMjAuNXQ3Mi41IC01MHQ0NCAtNTl0MjUgLTUwLjVsNiAtMjBoMTUwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di02MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTEwMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djYwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMTUwcTIgOCA2LjUgMjEuNXQyNCA0OHQ0NSA2MXQ3MiA0OHQxMDIuNSAyMS41ek05MDAgODAwdi0xMDAgaDEwMHYxMDBoLTEwMHpNNjAwIDczMHEtOTUgMCAtMTYyLjUgLTY3LjV0LTY3LjUgLTE2Mi41dDY3LjUgLTE2Mi41dDE2Mi41IC02Ny41dDE2Mi41IDY3LjV0NjcuNSAxNjIuNXQtNjcuNSAxNjIuNXQtMTYyLjUgNjcuNXpNNjAwIDYwM3E0MyAwIDczIC0zMHQzMCAtNzN0LTMwIC03M3QtNzMgLTMwdC03MyAzMHQtMzAgNzN0MzAgNzN0NzMgMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NzsiIGQ9Ik02ODEgMTE5OWwzODUgLTk5OHEyMCAtNTAgNjAgLTkycTE4IC0xOSAzNi41IC0yOS41dDI3LjUgLTExLjVsMTAgLTJ2LTY2aC00MTd2NjZxNTMgMCA3NSA0My41dDUgODguNWwtODIgMjIyaC0zOTFxLTU4IC0xNDUgLTkyIC0yMzRxLTExIC0zNCAtNi41IC01N3QyNS41IC0zN3Q0NiAtMjB0NTUgLTZ2LTY2aC0zNjV2NjZxNTYgMjQgODQgNTJxMTIgMTIgMjUgMzAuNXQyMCAzMS41bDcgMTNsMzk5IDEwMDZoOTN6TTQxNiA1MjFoMzQwIGwtMTYyIDQ1N3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQ4OyIgZD0iTTc1MyA2NDFxNSAtMSAxNC41IC00LjV0MzYgLTE1LjV0NTAuNSAtMjYuNXQ1My41IC00MHQ1MC41IC01NC41dDM1LjUgLTcwdDE0LjUgLTg3cTAgLTY3IC0yNy41IC0xMjUuNXQtNzEuNSAtOTcuNXQtOTguNSAtNjYuNXQtMTA4LjUgLTQwLjV0LTEwMiAtMTNoLTUwMHY4OXE0MSA3IDcwLjUgMzIuNXQyOS41IDY1LjV2ODI3cTAgMjQgLTAuNSAzNHQtMy41IDI0dC04LjUgMTkuNXQtMTcgMTMuNXQtMjggMTIuNXQtNDIuNSAxMS41djcxIGw0NzEgLTFxNTcgMCAxMTUuNSAtMjAuNXQxMDggLTU3dDgwLjUgLTk0dDMxIC0xMjQuNXEwIC01MSAtMTUuNSAtOTYuNXQtMzggLTc0LjV0LTQ1IC01MC41dC0zOC41IC0zMC41ek00MDAgNzAwaDEzOXE3OCAwIDEzMC41IDQ4LjV0NTIuNSAxMjIuNXEwIDQxIC04LjUgNzAuNXQtMjkuNSA1NS41dC02Mi41IDM5LjV0LTEwMy41IDEzLjVoLTExOHYtMzUwek00MDAgMjAwaDIxNnE4MCAwIDEyMSA1MC41dDQxIDEzMC41cTAgOTAgLTYyLjUgMTU0LjUgdC0xNTYuNSA2NC41aC0xNTl2LTQwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDQ5OyIgZD0iTTg3NyAxMjAwbDIgLTU3cS04MyAtMTkgLTExNiAtNDUuNXQtNDAgLTY2LjVsLTEzMiAtODM5cS05IC00OSAxMyAtNjl0OTYgLTI2di05N2gtNTAwdjk3cTE4NiAxNiAyMDAgOThsMTczIDgzMnEzIDE3IDMgMzB0LTEuNSAyMi41dC05IDE3LjV0LTEzLjUgMTIuNXQtMjEuNSAxMHQtMjYgOC41dC0zMy41IDEwcS0xMyAzIC0xOSA1djU3aDQyNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDUwOyIgZD0iTTEzMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTE3NSAxMDAwaC03NXYtODAwaDc1bC0xMjUgLTE2N2wtMTI1IDE2N2g3NXY4MDBoLTc1bDEyNSAxNjd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MTsiIGQ9Ik0xMTAwIDkwMGgtNTBxMCAyMSAtNCAzN3QtOS41IDI2LjV0LTE4IDE3LjV0LTIyIDExdC0yOC41IDUuNXQtMzEgMnQtMzcgMC41aC0yMDB2LTY1MHEwIC0yMiAyNSAtMzQuNXQ1MCAtMTMuNWwyNSAtMnYtMTAwaC00MDB2MTAwcTQgMCAxMSAwLjV0MjQgM3QzMCA3dDI0IDE1dDExIDI0LjV2NjUwaC0yMDBxLTI1IDAgLTM3IC0wLjV0LTMxIC0ydC0yOC41IC01LjV0LTIyIC0xMXQtMTggLTE3LjV0LTkuNSAtMjYuNXQtNCAtMzdoLTUwdjMwMCBoMTAwMHYtMzAwek0xMTY3IDUwbC0xNjcgLTEyNXY3NWgtODAwdi03NWwtMTY3IDEyNWwxNjcgMTI1di03NWg4MDB2NzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MjsiIGQ9Ik01MCAxMTAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDgwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MzsiIGQ9Ik0yNTAgMTEwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjUwIDUwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDU0OyIgZD0iTTUwMCA5NTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg2MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXpNMTAwIDY1MHYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41ek0zMDAgMzUwdjEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV6TTAgNTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDU1OyIgZD0iTTUwIDExMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1NjsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCAxMTAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMzUwIDgwMGg4MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zNTAgMjAwaDgwMCBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNTc7IiBkPSJNNDAwIDBoLTEwMHYxMTAwaDEwMHYtMTEwMHpNNTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjY3IDU1MGwtMTY3IC0xMjV2NzVoLTIwMHYxMDBoMjAwdjc1ek01NTAgNTAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTU1MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1ODsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAwaC0xMDB2MTEwMGgxMDB2LTExMDB6TTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEwMCA2MDBoMjAwdi0xMDBoLTIwMHYtNzVsLTE2NyAxMjVsMTY3IDEyNXYtNzV6TTUwIDUwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1OTsiIGQ9Ik03NSAxMDAwaDc1MHEzMSAwIDUzIC0yMnQyMiAtNTN2LTY1MHEwIC0zMSAtMjIgLTUzdC01MyAtMjJoLTc1MHEtMzEgMCAtNTMgMjJ0LTIyIDUzdjY1MHEwIDMxIDIyIDUzdDUzIDIyek0xMjAwIDMwMGwtMzAwIDMwMGwzMDAgMzAwdi02MDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2MDsiIGQ9Ik00NCAxMTAwaDExMTJxMTggMCAzMSAtMTN0MTMgLTMxdi0xMDEycTAgLTE4IC0xMyAtMzF0LTMxIC0xM2gtMTExMnEtMTggMCAtMzEgMTN0LTEzIDMxdjEwMTJxMCAxOCAxMyAzMXQzMSAxM3pNMTAwIDEwMDB2LTczN2wyNDcgMTgybDI5OCAtMTMxbC03NCAxNTZsMjkzIDMxOGwyMzYgLTI4OHY1MDBoLTEwMDB6TTM0MiA4ODRxNTYgMCA5NSAtMzl0MzkgLTk0LjV0LTM5IC05NXQtOTUgLTM5LjV0LTk1IDM5LjV0LTM5IDk1dDM5IDk0LjUgdDk1IDM5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjI7IiBkPSJNNjQ4IDExNjlxMTE3IDAgMjE2IC02MHQxNTYuNSAtMTYxdDU3LjUgLTIxOHEwIC0xMTUgLTcwIC0yNThxLTY5IC0xMDkgLTE1OCAtMjI1LjV0LTE0MyAtMTc5LjVsLTU0IC02MnEtOSA4IC0yNS41IDI0LjV0LTYzLjUgNjcuNXQtOTEgMTAzdC05OC41IDEyOHQtOTUuNSAxNDhxLTYwIDEzMiAtNjAgMjQ5cTAgODggMzQgMTY5LjV0OTEuNSAxNDJ0MTM3IDk2LjV0MTY2LjUgMzZ6TTY1Mi41IDk3NHEtOTEuNSAwIC0xNTYuNSAtNjUgdC02NSAtMTU3dDY1IC0xNTYuNXQxNTYuNSAtNjQuNXQxNTYuNSA2NC41dDY1IDE1Ni41dC02NSAxNTd0LTE1Ni41IDY1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxNzN2ODU0cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2NDsiIGQ9Ik01NTQgMTI5NXEyMSAtNzIgNTcuNSAtMTQzLjV0NzYgLTEzMHQ4MyAtMTE4dDgyLjUgLTExN3Q3MCAtMTE2dDQ5LjUgLTEyNnQxOC41IC0xMzYuNXEwIC03MSAtMjUuNSAtMTM1dC02OC41IC0xMTF0LTk5IC04MnQtMTE4LjUgLTU0dC0xMjUuNSAtMjNxLTg0IDUgLTE2MS41IDM0dC0xMzkuNSA3OC41dC05OSAxMjV0LTM3IDE2NC41cTAgNjkgMTggMTM2LjV0NDkuNSAxMjYuNXQ2OS41IDExNi41dDgxLjUgMTE3LjV0ODMuNSAxMTkgdDc2LjUgMTMxdDU4LjUgMTQzek0zNDQgNzEwcS0yMyAtMzMgLTQzLjUgLTcwLjV0LTQwLjUgLTEwMi41dC0xNyAtMTIzcTEgLTM3IDE0LjUgLTY5LjV0MzAgLTUydDQxIC0zN3QzOC41IC0yNC41dDMzIC0xNXEyMSAtNyAzMiAtMXQxMyAyMmw2IDM0cTIgMTAgLTIuNSAyMnQtMTMuNSAxOXEtNSA0IC0xNCAxMnQtMjkuNSA0MC41dC0zMi41IDczLjVxLTI2IDg5IDYgMjcxcTIgMTEgLTYgMTFxLTggMSAtMTUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjU7IiBkPSJNMTAwMCAxMDEzbDEwOCAxMTVxMiAxIDUgMnQxMyAydDIwLjUgLTF0MjUgLTkuNXQyOC41IC0yMS41cTIyIC0yMiAyNyAtNDN0MCAtMzJsLTYgLTEwbC0xMDggLTExNXpNMzUwIDExMDBoNDAwcTUwIDAgMTA1IC0xM2wtMTg3IC0xODdoLTM2OHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41djE4MmwyMDAgMjAwdi0zMzIgcTAgLTE2NSAtOTMuNSAtMjU3LjV0LTI1Ni41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTEwMDkgODAzbC0zNjIgLTM2MmwtMTYxIC01MGw1NSAxNzBsMzU1IDM1NXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDY2OyIgZD0iTTM1MCAxMTAwaDM2MXEtMTY0IC0xNDYgLTIxNiAtMjAwaC0xOTVxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNWwyMDAgMTUzdi0xMDNxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTgyNCAxMDczbDMzOSAtMzAxcTggLTcgOCAtMTcuNXQtOCAtMTcuNWwtMzQwIC0zMDZxLTcgLTYgLTEyLjUgLTR0LTYuNSAxMXYyMDNxLTI2IDEgLTU0LjUgMHQtNzguNSAtNy41dC05MiAtMTcuNXQtODYgLTM1dC03MCAtNTdxMTAgNTkgMzMgMTA4dDUxLjUgODEuNXQ2NSA1OC41dDY4LjUgNDAuNXQ2NyAyNC41dDU2IDEzLjV0NDAgNC41djIxMHExIDEwIDYuNSAxMi41dDEzLjUgLTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDY3OyIgZD0iTTM1MCAxMTAwaDM1MHE2MCAwIDEyNyAtMjNsLTE3OCAtMTc3aC0zNDlxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNXY2OWwyMDAgMjAwdi0yMTlxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTY0MyA2MzlsMzk1IDM5NXE3IDcgMTcuNSA3dDE3LjUgLTdsMTAxIC0xMDFxNyAtNyA3IC0xNy41dC03IC0xNy41bC01MzEgLTUzMnEtNyAtNyAtMTcuNSAtN3QtMTcuNSA3bC0yNDggMjQ4cS03IDcgLTcgMTcuNXQ3IDE3LjVsMTAxIDEwMXE3IDcgMTcuNSA3dDE3LjUgLTdsMTExIC0xMTFxOCAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjg7IiBkPSJNMzE4IDkxOGwyNjQgMjY0cTggOCAxOCA4dDE4IC04bDI2MCAtMjY0cTcgLTggNC41IC0xM3QtMTIuNSAtNWgtMTcwdi0yMDBoMjAwdjE3M3EwIDEwIDUgMTJ0MTMgLTVsMjY0IC0yNjBxOCAtNyA4IC0xNy41dC04IC0xNy41bC0yNjQgLTI2NXEtOCAtNyAtMTMgLTV0LTUgMTJ2MTczaC0yMDB2LTIwMGgxNzBxMTAgMCAxMi41IC01dC00LjUgLTEzbC0yNjAgLTI2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTI2NCAyNjRxLTggOCAtNS41IDEzIHQxMi41IDVoMTc1djIwMGgtMjAwdi0xNzNxMCAtMTAgLTUgLTEydC0xMyA1bC0yNjQgMjY1cS04IDcgLTggMTcuNXQ4IDE3LjVsMjY0IDI2MHE4IDcgMTMgNXQ1IC0xMnYtMTczaDIwMHYyMDBoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDY5OyIgZD0iTTI1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDM4bDQ2NCA0NTNxMTUgMTQgMjUuNSAxMHQxMC41IC0yNXYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDcwOyIgZD0iTTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di0xMDAwcTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDcxOyIgZD0iTTEyMDAgMTA1MHYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ5MiA0ODBxLTE1IDE0IC0xNSAzNXQxNSAzNWw0OTIgNDgwcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV2LTQzOGw0NjQgNDUzcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3MjsiIGQ9Ik0yNDMgMTA3NGw4MTQgLTQ5OHExOCAtMTEgMTggLTI2dC0xOCAtMjZsLTgxNCAtNDk4cS0xOCAtMTEgLTMwLjUgLTR0LTEyLjUgMjh2MTAwMHEwIDIxIDEyLjUgMjh0MzAuNSAtNHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDczOyIgZD0iTTI1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzQ7IiBkPSJNMTEwMCA5NTB2LTgwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY4MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDc1OyIgZD0iTTUwMCA2MTJ2NDM4cTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0OTIgLTQ4MHExNSAtMTQgMTUgLTM1dC0xNSAtMzVsLTQ5MiAtNDgwcS0xNSAtMTQgLTI1LjUgLTEwdC0xMC41IDI1djQzOGwtNDY0IC00NTNxLTE1IC0xNCAtMjUuNSAtMTB0LTEwLjUgMjV2MTAwMHEwIDIxIDEwLjUgMjV0MjUuNSAtMTB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NjsiIGQ9Ik0xMDQ4IDExMDJsMTAwIDFxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNWw1IC0xMDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41bC0xMDAgLTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41bC0yIDQzN2wtNDYzIC00NTRxLTE0IC0xNSAtMjQuNSAtMTAuNXQtMTAuNSAyNS41bC0yIDQzN2wtNDYyIC00NTVxLTE1IC0xNCAtMjUuNSAtOS41dC0xMC41IDI0LjVsLTUgMTAwMHEwIDIxIDEwLjUgMjUuNXQyNS41IC0xMC41bDQ2NiAtNDUwIGwtMiA0MzhxMCAyMCAxMC41IDI0LjV0MjUuNSAtOS41bDQ2NiAtNDUxbC0yIDQzOHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NzsiIGQ9Ik04NTAgMTEwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDM4bC00NjQgLTQ1M3EtMTUgLTE0IC0yNS41IC0xMHQtMTAuNSAyNXYxMDAwcTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0NjQgLTQ1M3Y0MzhxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzg7IiBkPSJNNjg2IDEwODFsNTAxIC01NDBxMTUgLTE1IDEwLjUgLTI2dC0yNi41IC0xMWgtMTA0MnEtMjIgMCAtMjYuNSAxMXQxMC41IDI2bDUwMSA1NDBxMTUgMTUgMzYgMTV0MzYgLTE1ek0xNTAgNDAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDc5OyIgZD0iTTg4NSA5MDBsLTM1MiAtMzUzbDM1MiAtMzUzbC0xOTcgLTE5OGwtNTUyIDU1Mmw1NTIgNTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODA7IiBkPSJNMTA2NCA1NDdsLTU1MSAtNTUxbC0xOTggMTk4bDM1MyAzNTNsLTM1MyAzNTNsMTk4IDE5OHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDgxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NTAgOTAwaC0xMDBxLTIxIDAgLTM1LjUgLTE0LjV0LTE0LjUgLTM1LjV2LTE1MGgtMTUwIHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMTAwcTAgLTIxIDE0LjUgLTM1LjV0MzUuNSAtMTQuNWgxNTB2LTE1MHEwIC0yMSAxNC41IC0zNS41dDM1LjUgLTE0LjVoMTAwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxNTBoMTUwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxMDBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTE1MHYxNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4MjsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNODUwIDcwMGgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNSB0MzUuNSAtMTQuNWg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDgzOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03NDEuNSA5MTNxLTEyLjUgMCAtMjEuNSAtOWwtMTIwIC0xMjBsLTEyMCAxMjBxLTkgOSAtMjEuNSA5IHQtMjEuNSAtOWwtMTQxIC0xNDFxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxMjAgLTEyMGwtMTIwIC0xMjBxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxNDEgLTE0MXE5IC05IDIxLjUgLTl0MjEuNSA5bDEyMCAxMjBsMTIwIC0xMjBxOSAtOSAyMS41IC05dDIxLjUgOWwxNDEgMTQxcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTIwIDEyMGwxMjAgMTIwcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTQxIDE0MXEtOSA5IC0yMS41IDl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NDsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNTQ2IDYyM2wtODQgODVxLTcgNyAtMTcuNSA3dC0xOC41IC03bC0xMzkgLTEzOXEtNyAtOCAtNyAtMTh0NyAtMTggbDI0MiAtMjQxcTcgLTggMTcuNSAtOHQxNy41IDhsMzc1IDM3NXE3IDcgNyAxNy41dC03IDE4LjVsLTEzOSAxMzlxLTcgNyAtMTcuNSA3dC0xNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODU7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTU4OCA5NDFxLTI5IDAgLTU5IC01LjV0LTYzIC0yMC41dC01OCAtMzguNXQtNDEuNSAtNjN0LTE2LjUgLTg5LjUgcTAgLTI1IDIwIC0yNWgxMzFxMzAgLTUgMzUgMTFxNiAyMCAyMC41IDI4dDQ1LjUgOHEyMCAwIDMxLjUgLTEwLjV0MTEuNSAtMjguNXEwIC0yMyAtNyAtMzR0LTI2IC0xOHEtMSAwIC0xMy41IC00dC0xOS41IC03LjV0LTIwIC0xMC41dC0yMiAtMTd0LTE4LjUgLTI0dC0xNS41IC0zNXQtOCAtNDZxLTEgLTggNS41IC0xNi41dDIwLjUgLTguNWgxNzNxNyAwIDIyIDh0MzUgMjh0MzcuNSA0OHQyOS41IDc0dDEyIDEwMHEwIDQ3IC0xNyA4MyB0LTQyLjUgNTd0LTU5LjUgMzQuNXQtNjQgMTh0LTU5IDQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDg2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NzUgMTAwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNSB0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTY3NSA3MDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNzV2LTIwMGgtNzVxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di01MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDM1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djUwcTAgMTAgLTcuNSAxNy41IHQtMTcuNSA3LjVoLTc1djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NzsiIGQ9Ik01MjUgMTIwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xOTRxMTAzIC0yNyAxNzguNSAtMTAyLjV0MTAyLjUgLTE3OC41aDE5NHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE5NHEtMjcgLTEwMyAtMTAyLjUgLTE3OC41dC0xNzguNSAtMTAyLjV2LTE5NHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE5NCBxLTEwMyAyNyAtMTc4LjUgMTAyLjV0LTEwMi41IDE3OC41aC0xOTRxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxOTRxMjcgMTAzIDEwMi41IDE3OC41dDE3OC41IDEwMi41djE5NHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek03MDAgODkzdi0xNjhxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNjhxLTY4IC0yMyAtMTE5IC03NCB0LTc0IC0xMTloMTY4cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTY4cTIzIC02OCA3NCAtMTE5dDExOSAtNzR2MTY4cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTY4cTY4IDIzIDExOSA3NHQ3NCAxMTloLTE2OHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDE2OCBxLTIzIDY4IC03NCAxMTl0LTExOSA3NHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDg4OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek03NTkgODIzbDY0IC02NHE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTEyNCAtMTI0bDEyNCAtMTI0cTcgLTcgNyAtMTcuNXQtNyAtMTcuNWwtNjQgLTY0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTEyNCAxMjRsLTEyNCAtMTI0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTY0IDY0IHEtNyA3IC03IDE3LjV0NyAxNy41bDEyNCAxMjRsLTEyNCAxMjRxLTcgNyAtNyAxNy41dDcgMTcuNWw2NCA2NHE3IDcgMTcuNSA3dDE3LjUgLTdsMTI0IC0xMjRsMTI0IDEyNHE3IDcgMTcuNSA3dDE3LjUgLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4OTsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNzgyIDc4OGwxMDYgLTEwNnE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTMyMCAtMzIxcS04IC03IC0xOCAtN3QtMTggN2wtMjAyIDIwM3EtOCA3IC04IDE3LjV0OCAxNy41bDEwNiAxMDZxNyA4IDE3LjUgOHQxNy41IC04bDc5IC03OWwxOTcgMTk3cTcgNyAxNy41IDd0MTcuNSAtN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDkwOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjVxMCAtMTIwIDY1IC0yMjUgbDU4NyA1ODdxLTEwNSA2NSAtMjI1IDY1ek05NjUgODE5bC01ODQgLTU4NHExMDQgLTYyIDIxOSAtNjJxMTE2IDAgMjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjVxMCAxMTUgLTYyIDIxOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDkxOyIgZD0iTTM5IDU4Mmw1MjIgNDI3cTE2IDEzIDI3LjUgOHQxMS41IC0yNnYtMjkxaDU1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC01NTB2LTI5MXEwIC0yMSAtMTEuNSAtMjZ0LTI3LjUgOGwtNTIyIDQyN3EtMTYgMTMgLTE2IDMydDE2IDMyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwOTI7IiBkPSJNNjM5IDEwMDlsNTIyIC00MjdxMTYgLTEzIDE2IC0zMnQtMTYgLTMybC01MjIgLTQyN3EtMTYgLTEzIC0yNy41IC04dC0xMS41IDI2djI5MWgtNTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDU1MHYyOTFxMCAyMSAxMS41IDI2dDI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5MzsiIGQ9Ik02ODIgMTE2MWw0MjcgLTUyMnExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTI5MXYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djU1MGgtMjkxcS0yMSAwIC0yNiAxMS41dDggMjcuNWw0MjcgNTIycTEzIDE2IDMyIDE2dDMyIC0xNnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDk0OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUwaDI5MXEyMSAwIDI2IC0xMS41dC04IC0yNy41bC00MjcgLTUyMnEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC00MjcgNTIycS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMjkxdjU1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5NTsiIGQ9Ik02MzkgMTEwOWw1MjIgLTQyN3ExNiAtMTMgMTYgLTMydC0xNiAtMzJsLTUyMiAtNDI3cS0xNiAtMTMgLTI3LjUgLTh0LTExLjUgMjZ2MjkxcS05NCAtMiAtMTgyIC0yMHQtMTcwLjUgLTUydC0xNDcgLTkyLjV0LTEwMC41IC0xMzUuNXE1IDEwNSAyNyAxOTMuNXQ2Ny41IDE2N3QxMTMgMTM1dDE2NyA5MS41dDIyNS41IDQydjI2MnEwIDIxIDExLjUgMjZ0MjcuNSAtOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDk2OyIgZD0iTTg1MCAxMjAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzAwcTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtOTQgOTRsLTI0OSAtMjQ5cS04IC03IC0xOCAtN3QtMTggN2wtMTA2IDEwNnEtNyA4IC03IDE4dDcgMThsMjQ5IDI0OWwtOTQgOTRxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjV6TTM1MCAwaC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djMwMHEwIDIxIDEwLjUgMjV0MjQuNSAtMTBsOTQgLTk0bDI0OSAyNDkgcTggNyAxOCA3dDE4IC03bDEwNiAtMTA2cTcgLTggNyAtMTh0LTcgLTE4bC0yNDkgLTI0OWw5NCAtOTRxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMDk3OyIgZD0iTTEwMTQgMTEyMGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMjQ5IC0yNDlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMjQ5IDI0OXE4IDcgMTggN3QxOCAtN3pNMjUwIDYwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMjQ5IC0yNDlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwyNDkgMjQ5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTAxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03MDQgOTAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNSB0MzcuNSAtMTQuNWg1NHEyMCAwIDM3LjUgMTQuNXQyMS41IDM0LjVsNTggMzAycTQgMjAgLTggMzQuNXQtMzIgMTQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTAyOyIgZD0iTTI2MCAxMjAwcTkgMCAxOSAtMnQxNSAtNGw1IC0ycTIyIC0xMCA0NCAtMjNsMTk2IC0xMThxMjEgLTEzIDM2IC0yNHEyOSAtMjEgMzcgLTEycTExIDEzIDQ5IDM1bDE5NiAxMThxMjIgMTMgNDUgMjNxMTcgNyAzOCA3cTIzIDAgNDcgLTE2LjV0MzcgLTMzLjVsMTMgLTE2cTE0IC0yMSAxOCAtNDVsMjUgLTEyM2w4IC00NHExIC05IDguNSAtMTQuNXQxNy41IC01LjVoNjFxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MCBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE3NWgtNDAwdjMwMGgtMjAwdi0zMDBoLTQwMHYxNzVxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNjFxMTEgMCAxOCAzdDcgOHEwIDQgOSA1MmwyNSAxMjhxNSAyNSAxOSA0NXEyIDMgNSA3dDEzLjUgMTV0MjEuNSAxOS41dDI2LjUgMTUuNSB0MjkuNSA3ek05MTUgMTA3OWwtMTY2IC0xNjJxLTcgLTcgLTUgLTEydDEyIC01aDIxOXExMCAwIDE1IDd0MiAxN2wtNTEgMTQ5cS0zIDEwIC0xMSAxMnQtMTUgLTZ6TTQ2MyA5MTdsLTE3NyAxNTdxLTggNyAtMTYgNXQtMTEgLTEybC01MSAtMTQzcS0zIC0xMCAyIC0xN3QxNSAtN2gyMzFxMTEgMCAxMi41IDV0LTUuNSAxMnpNNTAwIDBoLTM3NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWg0MDB2LTQwMHpNMTEwMCA0MDB2LTM3NSBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNzV2NDAwaDQwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTAzOyIgZD0iTTExNjUgMTE5MHE4IDMgMjEgLTYuNXQxMyAtMTcuNXEtMiAtMTc4IC0yNC41IC0zMjMuNXQtNTUuNSAtMjQ1LjV0LTg3IC0xNzQuNXQtMTAyLjUgLTExOC41dC0xMTggLTY4LjV0LTExOC41IC0zM3QtMTIwIC00LjV0LTEwNSA5LjV0LTkwIDE2LjVxLTYxIDEyIC03OCAxMXEtNCAxIC0xMi41IDB0LTM0IC0xNC41dC01Mi41IC00MC41bC0xNTMgLTE1M3EtMjYgLTI0IC0zNyAtMTQuNXQtMTEgNDMuNXEwIDY0IDQyIDEwMnE4IDggNTAuNSA0NSB0NjYuNSA1OHExOSAxNyAzNSA0N3QxMyA2MXEtOSA1NSAtMTAgMTAyLjV0NyAxMTF0MzcgMTMwdDc4IDEyOS41cTM5IDUxIDgwIDg4dDg5LjUgNjMuNXQ5NC41IDQ1dDExMy41IDM2dDEyOSAzMXQxNTcuNSAzN3QxODIgNDcuNXpNMTExNiAxMDk4cS04IDkgLTIyLjUgLTN0LTQ1LjUgLTUwcS0zOCAtNDcgLTExOSAtMTAzLjV0LTE0MiAtODkuNWwtNjIgLTMzcS01NiAtMzAgLTEwMiAtNTd0LTEwNCAtNjh0LTEwMi41IC04MC41dC04NS41IC05MSB0LTY0IC0xMDQuNXEtMjQgLTU2IC0zMSAtODZ0MiAtMzJ0MzEuNSAxNy41dDU1LjUgNTkuNXEyNSAzMCA5NCA3NS41dDEyNS41IDc3LjV0MTQ3LjUgODFxNzAgMzcgMTE4LjUgNjl0MTAyIDc5LjV0OTkgMTExdDg2LjUgMTQ4LjVxMjIgNTAgMjQgNjB0LTYgMTl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNDsiIGQ9Ik02NTMgMTIzMXEtMzkgLTY3IC01NC41IC0xMzF0LTEwLjUgLTExNC41dDI0LjUgLTk2LjV0NDcuNSAtODB0NjMuNSAtNjIuNXQ2OC41IC00Ni41dDY1IC0zMHEtNCA3IC0xNy41IDM1dC0xOC41IDM5LjV0LTE3IDM5LjV0LTE3IDQzdC0xMyA0MnQtOS41IDQ0LjV0LTIgNDJ0NCA0M3QxMy41IDM5dDIzIDM4LjVxOTYgLTQyIDE2NSAtMTA3LjV0MTA1IC0xMzh0NTIgLTE1NnQxMyAtMTU5dC0xOSAtMTQ5LjVxLTEzIC01NSAtNDQgLTEwNi41IHQtNjggLTg3dC03OC41IC02NC41dC03Mi41IC00NXQtNTMgLTIycS03MiAtMjIgLTEyNyAtMTFxLTMxIDYgLTEzIDE5cTYgMyAxNyA3cTEzIDUgMzIuNSAyMXQ0MSA0NHQzOC41IDYzLjV0MjEuNSA4MS41dC02LjUgOTQuNXQtNTAgMTA3dC0xMDQgMTE1LjVxMTAgLTEwNCAtMC41IC0xODl0LTM3IC0xNDAuNXQtNjUgLTkzdC04NCAtNTJ0LTkzLjUgLTExdC05NSAyNC41cS04MCAzNiAtMTMxLjUgMTE0dC01My41IDE3MXEtMiAyMyAwIDQ5LjUgdDQuNSA1Mi41dDEzLjUgNTZ0MjcuNSA2MHQ0NiA2NC41dDY5LjUgNjguNXEtOCAtNTMgLTUgLTEwMi41dDE3LjUgLTkwdDM0IC02OC41dDQ0LjUgLTM5dDQ5IC0ycTMxIDEzIDM4LjUgMzZ0LTQuNSA1NXQtMjkgNjQuNXQtMzYgNzV0LTI2IDc1LjVxLTE1IDg1IDIgMTYxLjV0NTMuNSAxMjguNXQ4NS41IDkyLjV0OTMuNSA2MXQ4MS41IDI1LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNTsiIGQ9Ik02MDAgMTA5NHE4MiAwIDE2MC41IC0yMi41dDE0MCAtNTl0MTE2LjUgLTgyLjV0OTQuNSAtOTV0NjggLTk1dDQyLjUgLTgyLjV0MTQgLTU3LjV0LTE0IC01Ny41dC00MyAtODIuNXQtNjguNSAtOTV0LTk0LjUgLTk1dC0xMTYuNSAtODIuNXQtMTQwIC01OXQtMTU5LjUgLTIyLjV0LTE1OS41IDIyLjV0LTE0MCA1OXQtMTE2LjUgODIuNXQtOTQuNSA5NXQtNjguNSA5NXQtNDMgODIuNXQtMTQgNTcuNXQxNCA1Ny41dDQyLjUgODIuNXQ2OCA5NSB0OTQuNSA5NXQxMTYuNSA4Mi41dDE0MCA1OXQxNjAuNSAyMi41ek04ODggODI5cS0xNSAxNSAtMTggMTJ0NSAtMjJxMjUgLTU3IDI1IC0xMTlxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4dC0yMTIgODh0LTg4IDIxMnEwIDU5IDIzIDExNHE4IDE5IDQuNSAyMnQtMTcuNSAtMTJxLTcwIC02OSAtMTYwIC0xODRxLTEzIC0xNiAtMTUgLTQwLjV0OSAtNDIuNXEyMiAtMzYgNDcgLTcxdDcwIC04MnQ5Mi41IC04MXQxMTMgLTU4LjV0MTMzLjUgLTI0LjUgdDEzMy41IDI0dDExMyA1OC41dDkyLjUgODEuNXQ3MCA4MS41dDQ3IDcwLjVxMTEgMTggOSA0Mi41dC0xNCA0MS41cS05MCAxMTcgLTE2MyAxODl6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wzNSAzNHExNCAxNSAxMi41IDMzLjV0LTE2LjUgMzMuNXEtNDQgNDQgLTg5IDExN3EtMTEgMTggLTI4IDIwdC0zMiAtMTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNjsiIGQ9Ik01OTIgMGgtMTQ4bDMxIDEyMHEtOTEgMjAgLTE3NS41IDY4LjV0LTE0My41IDEwNi41dC0xMDMuNSAxMTl0LTY2LjUgMTEwdC0yMiA3NnEwIDIxIDE0IDU3LjV0NDIuNSA4Mi41dDY4IDk1dDk0LjUgOTV0MTE2LjUgODIuNXQxNDAgNTl0MTYwLjUgMjIuNXE2MSAwIDEyNiAtMTVsMzIgMTIxaDE0OHpNOTQ0IDc3MGw0NyAxODFxMTA4IC04NSAxNzYuNSAtMTkydDY4LjUgLTE1OXEwIC0yNiAtMTkuNSAtNzF0LTU5LjUgLTEwMnQtOTMgLTExMiB0LTEyOSAtMTA0LjV0LTE1OCAtNzUuNWw0NiAxNzNxNzcgNDkgMTM2IDExN3Q5NyAxMzFxMTEgMTggOSA0Mi41dC0xNCA0MS41cS01NCA3MCAtMTA3IDEzMHpNMzEwIDgyNHEtNzAgLTY5IC0xNjAgLTE4NHEtMTMgLTE2IC0xNSAtNDAuNXQ5IC00Mi41cTE4IC0zMCAzOSAtNjB0NTcgLTcwLjV0NzQgLTczdDkwIC02MXQxMDUgLTQxLjVsNDEgMTU0cS0xMDcgMTggLTE3OC41IDEwMS41dC03MS41IDE5My41cTAgNTkgMjMgMTE0cTggMTkgNC41IDIyIHQtMTcuNSAtMTJ6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wxMiAxMWwyMiA4NmwtMyA0cS00NCA0NCAtODkgMTE3cS0xMSAxOCAtMjggMjB0LTMyIC0xMnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTA3OyIgZD0iTS05MCAxMDBsNjQyIDEwNjZxMjAgMzEgNDggMjguNXQ0OCAtMzUuNWw2NDIgLTEwNTZxMjEgLTMyIDcuNSAtNjcuNXQtNTAuNSAtMzUuNWgtMTI5NHEtMzcgMCAtNTAuNSAzNHQ3LjUgNjZ6TTE1NSAyMDBoMzQ1djc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoMzQ1bC00NDUgNzIzek00OTYgNzAwaDIwOHEyMCAwIDMyIC0xNC41dDggLTM0LjVsLTU4IC0yNTIgcS00IC0yMCAtMjEuNSAtMzQuNXQtMzcuNSAtMTQuNWgtNTRxLTIwIDAgLTM3LjUgMTQuNXQtMjEuNSAzNC41bC01OCAyNTJxLTQgMjAgOCAzNC41dDMyIDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwODsiIGQ9Ik02NTAgMTIwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnYtMzM5bDM2MyAtMzI1cTE1IC0xNCAyNiAtMzguNXQxMSAtNDQuNXYtNDFxMCAtMjAgLTEyIC0yNi41dC0yOSA1LjVsLTM1OSAyNDl2LTI2M3ExMDAgLTkzIDEwMCAtMTEzdi02NHEwIC0yMSAtMTMgLTI5dC0zMiAxbC0yMDUgMTI4bC0yMDUgLTEyOHEtMTkgLTkgLTMyIC0xdC0xMyAyOXY2NHEwIDIwIDEwMCAxMTN2MjYzbC0zNTkgLTI0OXEtMTcgLTEyIC0yOSAtNS41dC0xMiAyNi41djQxIHEwIDIwIDExIDQ0LjV0MjYgMzguNWwzNjMgMzI1djMzOXEwIDYyIDQ0IDEwNnQxMDYgNDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwOTsiIGQ9Ik04NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTExMDB2MTUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMTAwIDgwMHYtNzUwcTAgLTIxIC0xNC41IC0zNS41IHQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NzUwaDExMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTcwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTkwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA0MDAgdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek0xMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek0zMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek01MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTA7IiBkPSJNMTEzNSAxMTY1bDI0OSAtMjMwcTE1IC0xNCAxNSAtMzV0LTE1IC0zNWwtMjQ5IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC0xNTlsLTYwMCAtNjAwaC0yOTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjA5bDYwMCA2MDBoMjQxdjE1MHEwIDIxIDEwLjUgMjV0MjQuNSAtMTB6TTUyMiA4MTlsLTE0MSAtMTQxbC0xMjIgMTIyaC0yMDlxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI5MXpNMTEzNSA1NjVsMjQ5IC0yMzBxMTUgLTE0IDE1IC0zNXQtMTUgLTM1bC0yNDkgLTIzMHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYxNTBoLTI0MWwtMTgxIDE4MWwxNDEgMTQxbDEyMiAtMTIyaDE1OXYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTE7IiBkPSJNMTAwIDExMDBoMTAwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC01OTZsLTMwNCAtMzAwdjMwMGgtMTAwcS00MSAwIC03MC41IDI5LjV0LTI5LjUgNzAuNXY2MDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTI7IiBkPSJNMTUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTMwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMzAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTExMDAgODAwdi0zMDBxMCAtNDEgLTMgLTc3LjV0LTE1IC04OS41dC0zMiAtOTZ0LTU4IC04OXQtODkgLTc3dC0xMjkgLTUxdC0xNzQgLTIwdC0xNzQgMjAgdC0xMjkgNTF0LTg5IDc3dC01OCA4OXQtMzIgOTZ0LTE1IDg5LjV0LTMgNzcuNXYzMDBoMzAwdi0yNTB2LTI3di00Mi41dDEuNSAtNDF0NSAtMzh0MTAgLTM1dDE2LjUgLTMwdDI1LjUgLTI0LjV0MzUgLTE5dDQ2LjUgLTEydDYwIC00dDYwIDQuNXQ0Ni41IDEyLjV0MzUgMTkuNXQyNSAyNS41dDE3IDMwLjV0MTAgMzV0NSAzOHQyIDQwLjV0LTAuNSA0MnYyNXYyNTBoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTM7IiBkPSJNMTEwMCA0MTFsLTE5OCAtMTk5bC0zNTMgMzUzbC0zNTMgLTM1M2wtMTk3IDE5OWw1NTEgNTUxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTQ7IiBkPSJNMTEwMSA3ODlsLTU1MCAtNTUxbC01NTEgNTUxbDE5OCAxOTlsMzUzIC0zNTNsMzUzIDM1M3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTE1OyIgZD0iTTQwNCAxMDAwaDc0NnEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUxaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtMjMwIC0yNDlxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI0OXEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNWgxNTB2NDAxaC0zODF6TTEzNSA5ODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi00MDBoMzg1bDIxNSAtMjAwaC03NTBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXY1NTBoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTY7IiBkPSJNNTYgMTIwMGg5NHExNyAwIDMxIC0xMXQxOCAtMjdsMzggLTE2Mmg4OTZxMjQgMCAzOSAtMTguNXQxMCAtNDIuNWwtMTAwIC00NzVxLTUgLTIxIC0yNyAtNDIuNXQtNTUgLTIxLjVoLTYzM2w0OCAtMjAwaDUzNXEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41dC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MGgtMzAwdi01MCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaC0zMXEtMTggMCAtMzIuNSAxMHQtMjAuNSAxOWwtNSAxMGwtMjAxIDk2MWgtNTRxLTIwIDAgLTM1IDE0LjV0LTE1IDM1LjV0MTUgMzUuNXQzNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTc7IiBkPSJNMTIwMCAxMDAwdi0xMDBoLTEyMDB2MTAwaDIwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41aDUwMHpNMCA4MDBoMTIwMHYtODAwaC0xMjAwdjgwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTE4OyIgZD0iTTIwMCA4MDBsLTIwMCAtNDAwdjYwMGgyMDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41aDMwMHE0MiAwIDcxIC0yOS41dDI5IC03MC41aDUwMHYtMjAwaC0xMDAwek0xNTAwIDcwMGwtMzAwIC03MDBoLTEyMDBsMzAwIDcwMGgxMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTk7IiBkPSJNNjM1IDExODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi02MDFoMTUwcTIxIDAgMjUgLTEwLjV0LTEwIC0yNC41bC0yMzAgLTI0OXEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjQ5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41aDE1MHY2MDFoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjA7IiBkPSJNOTM2IDg2NGwyNDkgLTIyOXExNCAtMTUgMTQgLTM1LjV0LTE0IC0zNS41bC0yNDkgLTIyOXEtMTUgLTE1IC0yNS41IC0xMC41dC0xMC41IDI0LjV2MTUxaC02MDB2LTE1MXEwIC0yMCAtMTAuNSAtMjQuNXQtMjUuNSAxMC41bC0yNDkgMjI5cS0xNCAxNSAtMTQgMzUuNXQxNCAzNS41bDI0OSAyMjlxMTUgMTUgMjUuNSAxMC41dDEwLjUgLTI1LjV2LTE0OWg2MDB2MTQ5cTAgMjEgMTAuNSAyNS41dDI1LjUgLTEwLjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMTsiIGQ9Ik0xMTY5IDQwMGwtMTcyIDczMnEtNSAyMyAtMjMgNDUuNXQtMzggMjIuNWgtNjcycS0yMCAwIC0zOCAtMjB0LTIzIC00MWwtMTcyIC03MzloMTEzOHpNMTEwMCAzMDBoLTEwMDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTEwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoMTAwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek04MDAgMTAwdjEwMGgxMDB2LTEwMGgtMTAwIHpNMTAwMCAxMDB2MTAwaDEwMHYtMTAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMjsiIGQ9Ik0xMTUwIDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTg1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUuNSAxNC41dC0xNC41IDM1LjV2ODUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTAwMCAyMDBsLTY3NSAyMDBoLTM4bDQ3IC0yNzZxMyAtMTYgLTUuNSAtMjB0LTI5LjUgLTRoLTdoLTg0cS0yMCAwIC0zNC41IDE0dC0xOC41IDM1cS01NSAzMzcgLTU1IDM1MXYyNTB2NnEwIDE2IDEgMjMuNXQ2LjUgMTQgdDE3LjUgNi41aDIwMGw2NzUgMjUwdi04NTB6TTAgNzUwdi0yNTBxLTQgMCAtMTEgMC41dC0yNCA2dC0zMCAxNXQtMjQgMzB0LTExIDQ4LjV2NTBxMCAyNiAxMC41IDQ2dDI1IDMwdDI5IDE2dDI1LjUgN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTIzOyIgZD0iTTU1MyAxMjAwaDk0cTIwIDAgMjkgLTEwLjV0MyAtMjkuNWwtMTggLTM3cTgzIC0xOSAxNDQgLTgyLjV0NzYgLTE0MC41bDYzIC0zMjdsMTE4IC0xNzNoMTdxMTkgMCAzMyAtMTQuNXQxNCAtMzV0LTEzIC00MC41dC0zMSAtMjdxLTggLTQgLTIzIC05LjV0LTY1IC0xOS41dC0xMDMgLTI1dC0xMzIuNSAtMjB0LTE1OC41IC05cS01NyAwIC0xMTUgNXQtMTA0IDEydC04OC41IDE1LjV0LTczLjUgMTcuNXQtNTQuNSAxNnQtMzUuNSAxMmwtMTEgNCBxLTE4IDggLTMxIDI4dC0xMyA0MC41dDE0IDM1dDMzIDE0LjVoMTdsMTE4IDE3M2w2MyAzMjdxMTUgNzcgNzYgMTQwdDE0NCA4M2wtMTggMzJxLTYgMTkgMy41IDMydDI4LjUgMTN6TTQ5OCAxMTBxNTAgLTYgMTAyIC02cTUzIDAgMTAyIDZxLTEyIC00OSAtMzkuNSAtNzkuNXQtNjIuNSAtMzAuNXQtNjMgMzAuNXQtMzkgNzkuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTI0OyIgZD0iTTgwMCA5NDZsMjI0IDc4bC03OCAtMjI0bDIzNCAtNDVsLTE4MCAtMTU1bDE4MCAtMTU1bC0yMzQgLTQ1bDc4IC0yMjRsLTIyNCA3OGwtNDUgLTIzNGwtMTU1IDE4MGwtMTU1IC0xODBsLTQ1IDIzNGwtMjI0IC03OGw3OCAyMjRsLTIzNCA0NWwxODAgMTU1bC0xODAgMTU1bDIzNCA0NWwtNzggMjI0bDIyNCAtNzhsNDUgMjM0bDE1NSAtMTgwbDE1NSAxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyNTsiIGQ9Ik02NTAgMTIwMGg1MHE0MCAwIDcwIC00MC41dDMwIC04NC41di0xNTBsLTI4IC0xMjVoMzI4cTQwIDAgNzAgLTQwLjV0MzAgLTg0LjV2LTEwMHEwIC00NSAtMjkgLTc0bC0yMzggLTM0NHEtMTYgLTI0IC0zOCAtNDAuNXQtNDUgLTE2LjVoLTI1MHEtNyAwIC00MiAyNXQtNjYgNTBsLTMxIDI1aC02MXEtNDUgMCAtNzIuNSAxOHQtMjcuNSA1N3Y0MDBxMCAzNiAyMCA2M2wxNDUgMTk2bDk2IDE5OHExMyAyOCAzNy41IDQ4dDUxLjUgMjB6IE02NTAgMTEwMGwtMTAwIC0yMTJsLTE1MCAtMjEzdi0zNzVoMTAwbDEzNiAtMTAwaDIxNGwyNTAgMzc1djEyNWgtNDUwbDUwIDIyNXYxNzVoLTUwek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTI2OyIgZD0iTTYwMCAxMTAwaDI1MHEyMyAwIDQ1IC0xNi41dDM4IC00MC41bDIzOCAtMzQ0cTI5IC0yOSAyOSAtNzR2LTEwMHEwIC00NCAtMzAgLTg0LjV0LTcwIC00MC41aC0zMjhxMjggLTExOCAyOCAtMTI1di0xNTBxMCAtNDQgLTMwIC04NC41dC03MCAtNDAuNWgtNTBxLTI3IDAgLTUxLjUgMjB0LTM3LjUgNDhsLTk2IDE5OGwtMTQ1IDE5NnEtMjAgMjcgLTIwIDYzdjQwMHEwIDM5IDI3LjUgNTd0NzIuNSAxOGg2MXExMjQgMTAwIDEzOSAxMDB6IE01MCAxMDAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTYzNiAxMDAwbC0xMzYgLTEwMGgtMTAwdi0zNzVsMTUwIC0yMTNsMTAwIC0yMTJoNTB2MTc1bC01MCAyMjVoNDUwdjEyNWwtMjUwIDM3NWgtMjE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjc7IiBkPSJNMzU2IDg3M2wzNjMgMjMwcTMxIDE2IDUzIC02bDExMCAtMTEycTEzIC0xMyAxMy41IC0zMnQtMTEuNSAtMzRsLTg0IC0xMjFoMzAycTg0IDAgMTM4IC0zOHQ1NCAtMTEwdC01NSAtMTExdC0xMzkgLTM5aC0xMDZsLTEzMSAtMzM5cS02IC0yMSAtMTkuNSAtNDF0LTI4LjUgLTIwaC0zNDJxLTcgMCAtOTAgODF0LTgzIDk0djUyNXEwIDE3IDE0IDM1LjV0MjggMjguNXpNNDAwIDc5MnYtNTAzbDEwMCAtODloMjkzbDEzMSAzMzkgcTYgMjEgMTkuNSA0MXQyOC41IDIwaDIwM3EyMSAwIDMwLjUgMjV0MC41IDUwdC0zMSAyNWgtNDU2aC03aC02aC01LjV0LTYgMC41dC01IDEuNXQtNSAydC00IDIuNXQtNCA0dC0yLjUgNC41cS0xMiAyNSA1IDQ3bDE0NiAxODNsLTg2IDgzek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwIHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyODsiIGQ9Ik00NzUgMTEwM2wzNjYgLTIzMHEyIC0xIDYgLTMuNXQxNCAtMTAuNXQxOCAtMTYuNXQxNC41IC0yMHQ2LjUgLTIyLjV2LTUyNXEwIC0xMyAtODYgLTk0dC05MyAtODFoLTM0MnEtMTUgMCAtMjguNSAyMHQtMTkuNSA0MWwtMTMxIDMzOWgtMTA2cS04NSAwIC0xMzkuNSAzOXQtNTQuNSAxMTF0NTQgMTEwdDEzOCAzOGgzMDJsLTg1IDEyMXEtMTEgMTUgLTEwLjUgMzR0MTMuNSAzMmwxMTAgMTEycTIyIDIyIDUzIDZ6TTM3MCA5NDVsMTQ2IC0xODMgcTE3IC0yMiA1IC00N3EtMiAtMiAtMy41IC00LjV0LTQgLTR0LTQgLTIuNXQtNSAtMnQtNSAtMS41dC02IC0wLjVoLTZoLTYuNWgtNmgtNDc1di0xMDBoMjIxcTE1IDAgMjkgLTIwdDIwIC00MWwxMzAgLTMzOWgyOTRsMTA2IDg5djUwM2wtMzQyIDIzNnpNMTA1MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjUgdjUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyOTsiIGQ9Ik01NTAgMTI5NHE3MiAwIDExMSAtNTV0MzkgLTEzOXYtMTA2bDMzOSAtMTMxcTIxIC02IDQxIC0xOS41dDIwIC0yOC41di0zNDJxMCAtNyAtODEgLTkwdC05NCAtODNoLTUyNXEtMTcgMCAtMzUuNSAxNHQtMjguNSAyOGwtOSAxNGwtMjMwIDM2M3EtMTYgMzEgNiA1M2wxMTIgMTEwcTEzIDEzIDMyIDEzLjV0MzQgLTExLjVsMTIxIC04NHYzMDJxMCA4NCAzOCAxMzh0MTEwIDU0ek02MDAgOTcydjIwM3EwIDIxIC0yNSAzMC41dC01MCAwLjUgdC0yNSAtMzF2LTQ1NnYtN3YtNnYtNS41dC0wLjUgLTZ0LTEuNSAtNXQtMiAtNXQtMi41IC00dC00IC00dC00LjUgLTIuNXEtMjUgLTEyIC00NyA1bC0xODMgMTQ2bC04MyAtODZsMjM2IC0zMzloNTAzbDg5IDEwMHYyOTNsLTMzOSAxMzFxLTIxIDYgLTQxIDE5LjV0LTIwIDI4LjV6TTQ1MCAyMDBoNTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTUwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMDsiIGQ9Ik0zNTAgMTEwMGg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNWgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41ek02MDAgMzA2di0xMDZxMCAtODQgLTM5IC0xMzl0LTExMSAtNTV0LTExMCA1NHQtMzggMTM4djMwMmwtMTIxIC04NHEtMTUgLTEyIC0zNCAtMTEuNXQtMzIgMTMuNWwtMTEyIDExMCBxLTIyIDIyIC02IDUzbDIzMCAzNjNxMSAyIDMuNSA2dDEwLjUgMTMuNXQxNi41IDE3dDIwIDEzLjV0MjIuNSA2aDUyNXExMyAwIDk0IC04M3Q4MSAtOTB2LTM0MnEwIC0xNSAtMjAgLTI4LjV0LTQxIC0xOS41ek0zMDggOTAwbC0yMzYgLTMzOWw4MyAtODZsMTgzIDE0NnEyMiAxNyA0NyA1cTIgLTEgNC41IC0yLjV0NCAtNHQyLjUgLTR0MiAtNXQxLjUgLTV0MC41IC02di01LjV2LTZ2LTd2LTQ1NnEwIC0yMiAyNSAtMzF0NTAgMC41dDI1IDMwLjUgdjIwM3EwIDE1IDIwIDI4LjV0NDEgMTkuNWwzMzkgMTMxdjI5M2wtODkgMTAwaC01MDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMTsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNOTE0IDYzMmwtMjc1IDIyM3EtMTYgMTMgLTI3LjUgOHQtMTEuNSAtMjZ2LTEzN2gtMjc1IHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDI3NXYtMTM3cTAgLTIxIDExLjUgLTI2dDI3LjUgOGwyNzUgMjIzcTE2IDEzIDE2IDMydC0xNiAzMnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTMyOyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek01NjEgODU1bC0yNzUgLTIyM3EtMTYgLTEzIC0xNiAtMzJ0MTYgLTMybDI3NSAtMjIzcTE2IC0xMyAyNy41IC04IHQxMS41IDI2djEzN2gyNzVxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXYxNTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC0yNzV2MTM3cTAgMjEgLTExLjUgMjZ0LTI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMzsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNODU1IDYzOWwtMjIzIDI3NXEtMTMgMTYgLTMyIDE2dC0zMiAtMTZsLTIyMyAtMjc1cS0xMyAtMTYgLTggLTI3LjUgdDI2IC0xMS41aDEzN3YtMjc1cTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2Mjc1aDEzN3EyMSAwIDI2IDExLjV0LTggMjcuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTM0OyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek02NzUgOTAwaC0xNTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0yNzVoLTEzN3EtMjEgMCAtMjYgLTExLjUgdDggLTI3LjVsMjIzIC0yNzVxMTMgLTE2IDMyIC0xNnQzMiAxNmwyMjMgMjc1cTEzIDE2IDggMjcuNXQtMjYgMTEuNWgtMTM3djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzNTsiIGQ9Ik02MDAgMTE3NnExMTYgMCAyMjIuNSAtNDZ0MTg0IC0xMjMuNXQxMjMuNSAtMTg0dDQ2IC0yMjIuNXQtNDYgLTIyMi41dC0xMjMuNSAtMTg0dC0xODQgLTEyMy41dC0yMjIuNSAtNDZ0LTIyMi41IDQ2dC0xODQgMTIzLjV0LTEyMy41IDE4NHQtNDYgMjIyLjV0NDYgMjIyLjV0MTIzLjUgMTg0dDE4NCAxMjMuNXQyMjIuNSA0NnpNNjI3IDExMDFxLTE1IC0xMiAtMzYuNSAtMjAuNXQtMzUuNSAtMTJ0LTQzIC04dC0zOSAtNi41IHEtMTUgLTMgLTQ1LjUgMHQtNDUuNSAtMnEtMjAgLTcgLTUxLjUgLTI2LjV0LTM0LjUgLTM0LjVxLTMgLTExIDYuNSAtMjIuNXQ4LjUgLTE4LjVxLTMgLTM0IC0yNy41IC05MXQtMjkuNSAtNzlxLTkgLTM0IDUgLTkzdDggLTg3cTAgLTkgMTcgLTQ0LjV0MTYgLTU5LjVxMTIgMCAyMyAtNXQyMy41IC0xNXQxOS41IC0xNHExNiAtOCAzMyAtMTV0NDAuNSAtMTV0MzQuNSAtMTJxMjEgLTkgNTIuNSAtMzJ0NjAgLTM4dDU3LjUgLTExIHE3IC0xNSAtMyAtMzR0LTIyLjUgLTQwdC05LjUgLTM4cTEzIC0yMSAyMyAtMzQuNXQyNy41IC0yNy41dDM2LjUgLTE4cTAgLTcgLTMuNSAtMTZ0LTMuNSAtMTR0NSAtMTdxMTA0IC0yIDIyMSAxMTJxMzAgMjkgNDYuNSA0N3QzNC41IDQ5dDIxIDYzcS0xMyA4IC0zNyA4LjV0LTM2IDcuNXEtMTUgNyAtNDkuNSAxNXQtNTEuNSAxOXEtMTggMCAtNDEgLTAuNXQtNDMgLTEuNXQtNDIgLTYuNXQtMzggLTE2LjVxLTUxIC0zNSAtNjYgLTEyIHEtNCAxIC0zLjUgMjUuNXQwLjUgMjUuNXEtNiAxMyAtMjYuNSAxNy41dC0yNC41IDYuNXExIDE1IC0wLjUgMzAuNXQtNyAyOHQtMTguNSAxMS41dC0zMSAtMjFxLTIzIC0yNSAtNDIgNHEtMTkgMjggLTggNThxNiAxNiAyMiAyMnE2IC0xIDI2IC0xLjV0MzMuNSAtNHQxOS41IC0xMy41cTcgLTEyIDE4IC0yNHQyMS41IC0yMC41dDIwIC0xNXQxNS41IC0xMC41bDUgLTNxMiAxMiA3LjUgMzAuNXQ4IDM0LjV0LTAuNSAzMnEtMyAxOCAzLjUgMjkgdDE4IDIyLjV0MTUuNSAyNC41cTYgMTQgMTAuNSAzNXQ4IDMxdDE1LjUgMjIuNXQzNCAyMi41cS02IDE4IDEwIDM2cTggMCAyNCAtMS41dDI0LjUgLTEuNXQyMCA0LjV0MjAuNSAxNS41cS0xMCAyMyAtMzEgNDIuNXQtMzcuNSAyOS41dC00OSAyN3QtNDMuNSAyM3EwIDEgMiA4dDMgMTEuNXQxLjUgMTAuNXQtMSA5LjV0LTQuNSA0LjVxMzEgLTEzIDU4LjUgLTE0LjV0MzguNSAyLjVsMTIgNXE1IDI4IC05LjUgNDZ0LTM2LjUgMjR0LTUwIDE1IHQtNDEgMjBxLTE4IC00IC0zNyAwek02MTMgOTk0cTAgLTE3IDggLTQydDE3IC00NXQ5IC0yM3EtOCAxIC0zOS41IDUuNXQtNTIuNSAxMHQtMzcgMTYuNXEzIDExIDE2IDI5LjV0MTYgMjUuNXExMCAtMTAgMTkgLTEwdDE0IDZ0MTMuNSAxNC41dDE2LjUgMTIuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTM2OyIgZD0iTTc1NiAxMTU3cTE2NCA5MiAzMDYgLTlsLTI1OSAtMTM4bDE0NSAtMjMybDI1MSAxMjZxNiAtODkgLTM0IC0xNTYuNXQtMTE3IC0xMTAuNXEtNjAgLTM0IC0xMjcgLTM5LjV0LTEyNiAxNi41bC01OTYgLTU5NnEtMTUgLTE2IC0zNi41IC0xNnQtMzYuNSAxNmwtMTExIDExMHEtMTUgMTUgLTE1IDM2LjV0MTUgMzcuNWw2MDAgNTk5cS0zNCAxMDEgNS41IDIwMS41dDEzNS41IDE1NC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzc7IiBob3Jpei1hZHYteD0iMTIyMCIgZD0iTTEwMCAxMTk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAxMDk2aC0yMDB2LTEwMGgyMDB2MTAwek0xMDAgNzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMCBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTExMDAgNjk2aC01MDB2LTEwMGg1MDB2MTAwek0xMDAgMzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAyOTZoLTMwMHYtMTAwaDMwMHYxMDB6ICIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzg7IiBkPSJNMTUwIDEyMDBoOTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41dC0xNC41IC0zNS41dC0zNS41IC0xNC41aC05MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA1MDB2LTMwMGwtMjAwIC0yMDB2NTAwbC0zNTAgNTAwaDkwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTM5OyIgZD0iTTUwMCAxMjAwaDIwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtMTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNDAwaC01MDB2MTAwaC0yMDB2LTEwMGgtNTAwdjQwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwdjEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTUwMCAxMTAwdi0xMDBoMjAwdjEwMGgtMjAwek0xMjAwIDQwMHYtMjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0xMDAwIHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MjAwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MDsiIGQ9Ik01MCAxMjAwaDMwMHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtOTQgLTk0bDE5OSAtMTk5cTcgLTggNyAtMTh0LTcgLTE4bC0xMDYgLTEwNnEtOCAtNyAtMTggLTd0LTE4IDdsLTE5OSAxOTlsLTk0IC05NHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMTk5IC0xOTlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwxOTkgMTk5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNMzY0IDQ3MGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMTk5IC0xOTlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMTk5IDE5OSBxOCA3IDE4IDd0MTggLTd6TTEwNzEgMjcxbDk0IDk0cTE0IDE0IDI0LjUgMTB0MTAuNSAtMjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0yNSAxMC41dDEwIDI0LjVsOTQgOTRsLTE5OSAxOTlxLTcgOCAtNyAxOHQ3IDE4bDEwNiAxMDZxOCA3IDE4IDd0MTggLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MTsiIGQ9Ik01OTYgMTE5MnExMjEgMCAyMzEuNSAtNDcuNXQxOTAgLTEyN3QxMjcgLTE5MHQ0Ny41IC0yMzEuNXQtNDcuNSAtMjMxLjV0LTEyNyAtMTkwLjV0LTE5MCAtMTI3dC0yMzEuNSAtNDd0LTIzMS41IDQ3dC0xOTAuNSAxMjd0LTEyNyAxOTAuNXQtNDcgMjMxLjV0NDcgMjMxLjV0MTI3IDE5MHQxOTAuNSAxMjd0MjMxLjUgNDcuNXpNNTk2IDEwMTBxLTExMiAwIC0yMDcuNSAtNTUuNXQtMTUxIC0xNTF0LTU1LjUgLTIwNy41dDU1LjUgLTIwNy41IHQxNTEgLTE1MXQyMDcuNSAtNTUuNXQyMDcuNSA1NS41dDE1MSAxNTF0NTUuNSAyMDcuNXQtNTUuNSAyMDcuNXQtMTUxIDE1MXQtMjA3LjUgNTUuNXpNNDU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOC41IC0xNi41dC0zOC41IDE2LjV0LTE2IDM5dDE2IDM4LjV0MzguNSAxNnpNNzU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOCAtMTYuNXEtMTQgMCAtMjkgMTBsLTU1IC0xNDUgcTE3IC0yMyAxNyAtNTFxMCAtMzYgLTI1LjUgLTYxLjV0LTYxLjUgLTI1LjV0LTYxLjUgMjUuNXQtMjUuNSA2MS41cTAgMzIgMjAuNSA1Ni41dDUxLjUgMjkuNWwxMjIgMTI2bDEgMXEtOSAxNCAtOSAyOHEwIDIzIDE2IDM5dDM4LjUgMTZ6TTM0NS41IDcwOXEyMi41IDAgMzguNSAtMTZ0MTYgLTM4LjV0LTE2IC0zOC41dC0zOC41IC0xNnQtMzguNSAxNnQtMTYgMzguNXQxNiAzOC41dDM4LjUgMTZ6TTg1NC41IDcwOXEyMi41IDAgMzguNSAtMTYgdDE2IC0zOC41dC0xNiAtMzguNXQtMzguNSAtMTZ0LTM4LjUgMTZ0LTE2IDM4LjV0MTYgMzguNXQzOC41IDE2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDI7IiBkPSJNNTQ2IDE3M2w0NjkgNDcwcTkxIDkxIDk5IDE5MnE3IDk4IC01MiAxNzUuNXQtMTU0IDk0LjVxLTIyIDQgLTQ3IDRxLTM0IDAgLTY2LjUgLTEwdC01Ni41IC0yM3QtNTUuNSAtMzh0LTQ4IC00MS41dC00OC41IC00Ny41cS0zNzYgLTM3NSAtMzkxIC0zOTBxLTMwIC0yNyAtNDUgLTQxLjV0LTM3LjUgLTQxdC0zMiAtNDYuNXQtMTYgLTQ3LjV0LTEuNSAtNTYuNXE5IC02MiA1My41IC05NXQ5OS41IC0zM3E3NCAwIDEyNSA1MWw1NDggNTQ4IHEzNiAzNiAyMCA3NXEtNyAxNiAtMjEuNSAyNnQtMzIuNSAxMHEtMjYgMCAtNTAgLTIzcS0xMyAtMTIgLTM5IC0zOGwtMzQxIC0zMzhxLTE1IC0xNSAtMzUuNSAtMTUuNXQtMzQuNSAxMy41dC0xNCAzNC41dDE0IDM0LjVxMzI3IDMzMyAzNjEgMzY3cTM1IDM1IDY3LjUgNTEuNXQ3OC41IDE2LjVxMTQgMCAyOSAtMXE0NCAtOCA3NC41IC0zNS41dDQzLjUgLTY4LjVxMTQgLTQ3IDIgLTk2LjV0LTQ3IC04NC41cS0xMiAtMTEgLTMyIC0zMiB0LTc5LjUgLTgxdC0xMTQuNSAtMTE1dC0xMjQuNSAtMTIzLjV0LTEyMyAtMTE5LjV0LTk2LjUgLTg5dC01NyAtNDVxLTU2IC0yNyAtMTIwIC0yN3EtNzAgMCAtMTI5IDMydC05MyA4OXEtNDggNzggLTM1IDE3M3Q4MSAxNjNsNTExIDUxMXE3MSA3MiAxMTEgOTZxOTEgNTUgMTk4IDU1cTgwIDAgMTUyIC0zM3E3OCAtMzYgMTI5LjUgLTEwM3Q2Ni41IC0xNTRxMTcgLTkzIC0xMSAtMTgzLjV0LTk0IC0xNTYuNWwtNDgyIC00NzYgcS0xNSAtMTUgLTM2IC0xNnQtMzcgMTR0LTE3LjUgMzR0MTQuNSAzNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTQzOyIgZD0iTTY0OSA5NDlxNDggNjggMTA5LjUgMTA0dDEyMS41IDM4LjV0MTE4LjUgLTIwdDEwMi41IC02NHQ3MSAtMTAwLjV0MjcgLTEyM3EwIC01NyAtMzMuNSAtMTE3LjV0LTk0IC0xMjQuNXQtMTI2LjUgLTEyNy41dC0xNTAgLTE1Mi41dC0xNDYgLTE3NHEtNjIgODUgLTE0NS41IDE3NHQtMTUwIDE1Mi41dC0xMjYuNSAxMjcuNXQtOTMuNSAxMjQuNXQtMzMuNSAxMTcuNXEwIDY0IDI4IDEyM3Q3MyAxMDAuNXQxMDQgNjR0MTE5IDIwIHQxMjAuNSAtMzguNXQxMDQuNSAtMTA0ek04OTYgOTcycS0zMyAwIC02NC41IC0xOXQtNTYuNSAtNDZ0LTQ3LjUgLTUzLjV0LTQzLjUgLTQ1LjV0LTM3LjUgLTE5dC0zNiAxOXQtNDAgNDUuNXQtNDMgNTMuNXQtNTQgNDZ0LTY1LjUgMTlxLTY3IDAgLTEyMi41IC01NS41dC01NS41IC0xMzIuNXEwIC0yMyAxMy41IC01MXQ0NiAtNjV0NTcuNSAtNjN0NzYgLTc1bDIyIC0yMnExNSAtMTQgNDQgLTQ0dDUwLjUgLTUxdDQ2IC00NHQ0MSAtMzV0MjMgLTEyIHQyMy41IDEydDQyLjUgMzZ0NDYgNDR0NTIuNSA1MnQ0NCA0M3E0IDQgMTIgMTNxNDMgNDEgNjMuNSA2MnQ1MiA1NXQ0NiA1NXQyNiA0NnQxMS41IDQ0cTAgNzkgLTUzIDEzMy41dC0xMjAgNTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTQ0OyIgZD0iTTc3Ni41IDEyMTRxOTMuNSAwIDE1OS41IC02NmwxNDEgLTE0MXE2NiAtNjYgNjYgLTE2MHEwIC00MiAtMjggLTk1LjV0LTYyIC04Ny41bC0yOSAtMjlxLTMxIDUzIC03NyA5OWwtMTggMThsOTUgOTVsLTI0NyAyNDhsLTM4OSAtMzg5bDIxMiAtMjEybC0xMDUgLTEwNmwtMTkgMThsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTl0NjYgMTU5bDI4MyAyODNxNjUgNjYgMTU4LjUgNjZ6TTYwMCA3MDZsMTA1IDEwNXExMCAtOCAxOSAtMTdsMTQxIC0xNDEgcTY2IC02NiA2NiAtMTU5dC02NiAtMTU5bC0yODMgLTI4M3EtNjYgLTY2IC0xNTkgLTY2dC0xNTkgNjZsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTkuNXQ2NiAxNTkuNWw1NSA1NXEyOSAtNTUgNzUgLTEwMmwxOCAtMTdsLTk1IC05NWwyNDcgLTI0OGwzODkgMzg5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDU7IiBkPSJNNjAzIDEyMDBxODUgMCAxNjIgLTE1dDEyNyAtMzh0NzkgLTQ4dDI5IC00NnYtOTUzcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djk1M3EwIDIxIDMwIDQ2LjV0ODEgNDh0MTI5IDM3LjV0MTYzIDE1ek0zMDAgMTAwMHYtNzAwaDYwMHY3MDBoLTYwMHpNNjAwIDI1NHEtNDMgMCAtNzMuNSAtMzAuNXQtMzAuNSAtNzMuNXQzMC41IC03My41dDczLjUgLTMwLjV0NzMuNSAzMC41IHQzMC41IDczLjV0LTMwLjUgNzMuNXQtNzMuNSAzMC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDY7IiBkPSJNOTAyIDExODVsMjgzIC0yODJxMTUgLTE1IDE1IC0zNnQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUgMTVsLTM2IDM1bC0yNzkgLTI2N3YtMzAwbC0yMTIgMjEwbC0zMDggLTMwN2wtMjgwIC0yMDNsMjAzIDI4MGwzMDcgMzA4bC0yMTAgMjEyaDMwMGwyNjcgMjc5bC0zNSAzNnEtMTUgMTQgLTE1IDM1dDE0LjUgMzUuNXQzNS41IDE0LjV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDg7IiBkPSJNNzAwIDEyNDh2LTc4cTM4IC01IDcyLjUgLTE0LjV0NzUuNSAtMzEuNXQ3MSAtNTMuNXQ1MiAtODR0MjQgLTExOC41aC0xNTlxLTQgMzYgLTEwLjUgNTl0LTIxIDQ1dC00MCAzNS41dC02NC41IDIwLjV2LTMwN2w2NCAtMTNxMzQgLTcgNjQgLTE2LjV0NzAgLTMydDY3LjUgLTUyLjV0NDcuNSAtODB0MjAgLTExMnEwIC0xMzkgLTg5IC0yMjR0LTI0NCAtOTd2LTc3aC0xMDB2NzlxLTE1MCAxNiAtMjM3IDEwM3EtNDAgNDAgLTUyLjUgOTMuNSB0LTE1LjUgMTM5LjVoMTM5cTUgLTc3IDQ4LjUgLTEyNnQxMTcuNSAtNjV2MzM1bC0yNyA4cS00NiAxNCAtNzkgMjYuNXQtNzIgMzZ0LTYzIDUydC00MCA3Mi41dC0xNiA5OHEwIDcwIDI1IDEyNnQ2Ny41IDkydDk0LjUgNTd0MTEwIDI3djc3aDEwMHpNNjAwIDc1NHYyNzRxLTI5IC00IC01MCAtMTF0LTQyIC0yMS41dC0zMS41IC00MS41dC0xMC41IC02NXEwIC0yOSA3IC01MC41dDE2LjUgLTM0dDI4LjUgLTIyLjV0MzEuNSAtMTR0MzcuNSAtMTAgcTkgLTMgMTMgLTR6TTcwMCA1NDd2LTMxMHEyMiAyIDQyLjUgNi41dDQ1IDE1LjV0NDEuNSAyN3QyOSA0MnQxMiA1OS41dC0xMi41IDU5LjV0LTM4IDQ0LjV0LTUzIDMxdC02Ni41IDI0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0OTsiIGQ9Ik01NjEgMTE5N3E4NCAwIDE2MC41IC00MHQxMjMuNSAtMTA5LjV0NDcgLTE0Ny41aC0xNTNxMCA0MCAtMTkuNSA3MS41dC00OS41IDQ4LjV0LTU5LjUgMjZ0LTU1LjUgOXEtMzcgMCAtNzkgLTE0LjV0LTYyIC0zNS41cS00MSAtNDQgLTQxIC0xMDFxMCAtMjYgMTMuNSAtNjN0MjYuNSAtNjF0MzcgLTY2cTYgLTkgOSAtMTRoMjQxdi0xMDBoLTE5N3E4IC01MCAtMi41IC0xMTV0LTMxLjUgLTk1cS00NSAtNjIgLTk5IC0xMTIgcTM0IDEwIDgzIDE3LjV0NzEgNy41cTMyIDEgMTAyIC0xNnQxMDQgLTE3cTgzIDAgMTM2IDMwbDUwIC0xNDdxLTMxIC0xOSAtNTggLTMwLjV0LTU1IC0xNS41dC00MiAtNC41dC00NiAtMC41cS0yMyAwIC03NiAxN3QtMTExIDMyLjV0LTk2IDExLjVxLTM5IC0zIC04MiAtMTZ0LTY3IC0yNWwtMjMgLTExbC01NSAxNDVxNCAzIDE2IDExdDE1LjUgMTAuNXQxMyA5dDE1LjUgMTJ0MTQuNSAxNHQxNy41IDE4LjVxNDggNTUgNTQgMTI2LjUgdC0zMCAxNDIuNWgtMjIxdjEwMGgxNjZxLTIzIDQ3IC00NCAxMDRxLTcgMjAgLTEyIDQxLjV0LTYgNTUuNXQ2IDY2LjV0MjkuNSA3MC41dDU4LjUgNzFxOTcgODggMjYzIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTA7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkzNSAxMTg0bDIzMCAtMjQ5cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTE1MHYtOTAwaC0yMDB2OTAwaC0xNTBxLTIxIDAgLTI1IDEwLjV0MTAgMjQuNWwyMzAgMjQ5cTE0IDE1IDM1IDE1dDM1IC0xNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTUxOyIgZD0iTTEwMDAgNzAwaC0xMDB2MTAwaC0xMDB2LTEwMGgtMTAwdjUwMGgzMDB2LTUwMHpNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTgwMSAxMTAwdi0yMDBoMTAwdjIwMGgtMTAwek0xMDAwIDM1MGwtMjAwIC0yNTBoMjAwdi0xMDBoLTMwMHYxNTBsMjAwIDI1MGgtMjAwdjEwMGgzMDB2LTE1MHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1MjsiIGQ9Ik00MDAgMzAwaDE1MHEyMSAwIDI1IC0xMXQtMTAgLTI1bC0yMzAgLTI1MHEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjUwcS0xNCAxNCAtMTAgMjV0MjUgMTFoMTUwdjkwMGgyMDB2LTkwMHpNMTAwMCAxMDUwbC0yMDAgLTI1MGgyMDB2LTEwMGgtMzAwdjE1MGwyMDAgMjUwaC0yMDB2MTAwaDMwMHYtMTUwek0xMDAwIDBoLTEwMHYxMDBoLTEwMHYtMTAwaC0xMDB2NTAwaDMwMHYtNTAwek04MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiAiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTUzOyIgZD0iTTQwMCAzMDBoMTUwcTIxIDAgMjUgLTExdC0xMCAtMjVsLTIzMCAtMjUwcS0xNCAtMTUgLTM1IC0xNXQtMzUgMTVsLTIzMCAyNTBxLTE0IDE0IC0xMCAyNXQyNSAxMWgxNTB2OTAwaDIwMHYtOTAwek0xMDAwIDcwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMTEwMCAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTQ7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTExMDAgNzAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgMTEwMHYtMjAwaDEwMHYyMDBoLTEwMHpNMTAwMCAwaC0xMDB2NDAwaC0xMDB2MTAwaDIwMHYtNTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTU7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkwMCAxMDAwaC0yMDB2MjAwaDIwMHYtMjAwek0xMDAwIDcwMGgtMzAwdjIwMGgzMDB2LTIwMHpNMTEwMCA0MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEyMDAgMTAwaC01MDB2MjAwaDUwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTY7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTEyMDAgMTAwMGgtNTAwdjIwMGg1MDB2LTIwMHpNMTEwMCA3MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEwMDAgNDAwaC0zMDB2MjAwaDMwMHYtMjAwek05MDAgMTAwaC0yMDB2MjAwaDIwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTc7IiBkPSJNMzUwIDExMDBoNDAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTQwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTg7IiBkPSJNMzUwIDExMDBoNDAwcTE2NSAwIDI1Ny41IC05Mi41dDkyLjUgLTI1Ny41di00MDBxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTYzIDAgLTI1Ni41IDkyLjV0LTkzLjUgMjU3LjV2NDAwcTAgMTYzIDk0IDI1Ni41dDI1NiA5My41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek00NDAgNzcwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1OTsiIGQ9Ik0zNTAgMTEwMGg0MDBxMTYzIDAgMjU2LjUgLTk0dDkzLjUgLTI1NnYtNDAwcTAgLTE2NSAtOTIuNSAtMjU3LjV0LTI1Ny41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2MyA5Mi41IDI1Ni41dDI1Ny41IDkzLjV6TTgwMCA5MDBoLTUwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41IHY1MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTM1MCA3MDBoNDAwcTIxIDAgMjYuNSAtMTJ0LTYuNSAtMjhsLTE5MCAtMjUzcS0xMiAtMTcgLTMwIC0xN3QtMzAgMTdsLTE5MCAyNTNxLTEyIDE2IC02LjUgMjh0MjYuNSAxMnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTYwOyIgZD0iTTM1MCAxMTAwaDQwMHExNjUgMCAyNTcuNSAtOTIuNXQ5Mi41IC0yNTcuNXYtNDAwcTAgLTE2MyAtOTIuNSAtMjU2LjV0LTI1Ny41IC05My41aC00MDBxLTE2MyAwIC0yNTYuNSA5NHQtOTMuNSAyNTZ2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXpNODAwIDkwMGgtNTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di01MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjUgdjUwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNNTgwIDY5M2wxOTAgLTI1M3ExMiAtMTYgNi41IC0yOHQtMjYuNSAtMTJoLTQwMHEtMjEgMCAtMjYuNSAxMnQ2LjUgMjhsMTkwIDI1M3ExMiAxNyAzMCAxN3QzMCAtMTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2MTsiIGQ9Ik01NTAgMTEwMGg0MDBxMTY1IDAgMjU3LjUgLTkyLjV0OTIuNSAtMjU3LjV2LTQwMHEwIC0xNjUgLTkyLjUgLTI1Ny41dC0yNTcuNSAtOTIuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC00NTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMzggODY3bDMyNCAtMjg0cTE2IC0xNCAxNiAtMzN0LTE2IC0zM2wtMzI0IC0yODRxLTE2IC0xNCAtMjcgLTl0LTExIDI2djE1MGgtMjUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI1MHYxNTBxMCAyMSAxMSAyNnQyNyAtOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTYyOyIgZD0iTTc5MyAxMTgybDkgLTlxOCAtMTAgNSAtMjdxLTMgLTExIC03OSAtMjI1LjV0LTc4IC0yMjEuNWwzMDAgMXEyNCAwIDMyLjUgLTE3LjV0LTUuNSAtMzUuNXEtMSAwIC0xMzMuNSAtMTU1dC0yNjcgLTMxMi41dC0xMzguNSAtMTYyLjVxLTEyIC0xNSAtMjYgLTE1aC05bC05IDhxLTkgMTEgLTQgMzJxMiA5IDQyIDEyMy41dDc5IDIyNC41bDM5IDExMGgtMzAycS0yMyAwIC0zMSAxOXEtMTAgMjEgNiA0MXE3NSA4NiAyMDkuNSAyMzcuNSB0MjI4IDI1N3Q5OC41IDExMS41cTkgMTYgMjUgMTZoOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTYzOyIgZD0iTTM1MCAxMTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00NTBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwIHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTkzOCA4NjdsMzI0IC0yODRxMTYgLTE0IDE2IC0zM3QtMTYgLTMzbC0zMjQgLTI4NHEtMTYgLTE0IC0yNyAtOXQtMTEgMjZ2MTUwaC0yNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjUwdjE1MHEwIDIxIDExIDI2dDI3IC05eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjQ7IiBkPSJNNzUwIDEyMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTEwLjUgLTI1dC0yNC41IDEwbC0xMDkgMTA5bC0zMTIgLTMxMnEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtMTQxIDE0MXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWwzMTIgMzEybC0xMDkgMTA5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41ek00NTYgOTAwaC0xNTZxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMCBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTQ4bDIwMCAyMDB2LTI5OHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41aDMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTY1OyIgZD0iTTYwMCAxMTg2cTExOSAwIDIyNy41IC00Ni41dDE4NyAtMTI1dDEyNSAtMTg3dDQ2LjUgLTIyNy41dC00Ni41IC0yMjcuNXQtMTI1IC0xODd0LTE4NyAtMTI1dC0yMjcuNSAtNDYuNXQtMjI3LjUgNDYuNXQtMTg3IDEyNXQtMTI1IDE4N3QtNDYuNSAyMjcuNXQ0Ni41IDIyNy41dDEyNSAxODd0MTg3IDEyNXQyMjcuNSA0Ni41ek02MDAgMTAyMnEtMTE1IDAgLTIxMiAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTJ0NTYuNSAtMjEyIHQxNTMuNSAtMTUzLjV0MjEyIC01Ni41dDIxMiA1Ni41dDE1My41IDE1My41dDU2LjUgMjEydC01Ni41IDIxMnQtMTUzLjUgMTUzLjV0LTIxMiA1Ni41ek02MDAgNzk0cTgwIDAgMTM3IC01N3Q1NyAtMTM3dC01NyAtMTM3dC0xMzcgLTU3dC0xMzcgNTd0LTU3IDEzN3Q1NyAxMzd0MTM3IDU3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjY7IiBkPSJNNDUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMjQ1cTIwIDAgMjUgLTExdC05IC0yNmwtMzgzIC00MjZxLTE0IC0xNSAtMzMuNSAtMTV0LTMyLjUgMTVsLTM3OSA0MjZxLTEzIDE1IC04LjUgMjZ0MjUuNSAxMWgyNTB2MzUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMTEwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiBNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2NzsiIGQ9Ik01ODMgMTE4MmwzNzggLTQzNXExNCAtMTUgOSAtMzF0LTI2IC0xNmgtMjQ0di0yNTBxMCAtMjAgLTE3IC0zNXQtMzkgLTE1aC0yMDBxLTIwIDAgLTMyIDE0LjV0LTEyIDM1LjV2MjUwaC0yNTBxLTIwIDAgLTI1LjUgMTYuNXQ4LjUgMzEuNWwzODMgNDMxcTE0IDE2IDMzLjUgMTd0MzMuNSAtMTR6TTUwIDMwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXogTTkwMCAyMDB2LTUwaDEwMHY1MGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjg7IiBkPSJNMzk2IDcyM2wzNjkgMzY5cTcgNyAxNy41IDd0MTcuNSAtN2wxMzkgLTEzOXE3IC04IDcgLTE4LjV0LTcgLTE3LjVsLTUyNSAtNTI1cS03IC04IC0xNy41IC04dC0xNy41IDhsLTI5MiAyOTFxLTcgOCAtNyAxOHQ3IDE4bDEzOSAxMzlxOCA3IDE4LjUgN3QxNy41IC03ek01MCAzMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaC0xMTAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAyMDB2LTUwaDEwMHY1MCBoLTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTY5OyIgZD0iTTEzNSAxMDIzbDE0MiAxNDJxMTQgMTQgMzUgMTR0MzUgLTE0bDc3IC03N2wtMjEyIC0yMTJsLTc3IDc2cS0xNCAxNSAtMTQgMzZ0MTQgMzV6TTY1NSA4NTVsMjEwIDIxMHExNCAxNCAyNC41IDEwdDEwLjUgLTI1bC0yIC01OTlxLTEgLTIwIC0xNS41IC0zNXQtMzUuNSAtMTVsLTU5NyAtMXEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIwOCAyMDhsLTE1NCAxNTVsMjEyIDIxMnpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjUgdi0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MDsiIGQ9Ik0zNTAgMTIwMGw1OTkgLTJxMjAgLTEgMzUgLTE1LjV0MTUgLTM1LjVsMSAtNTk3cTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtMjA4IDIwOGwtMTU1IC0xNTRsLTIxMiAyMTJsMTU1IDE1NGwtMjEwIDIxMHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNNTI0IDUxMmwtNzYgLTc3cS0xNSAtMTQgLTM2IC0xNHQtMzUgMTRsLTE0MiAxNDJxLTE0IDE0IC0xNCAzNXQxNCAzNWw3NyA3N3pNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41IHQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MTsiIGQ9Ik0xMjAwIDEwM2wtNDgzIDI3NmwtMzE0IC0zOTl2NDIzaC0zOTlsMTE5NiA3OTZ2LTEwOTZ6TTQ4MyA0MjR2LTIzMGw2ODMgOTUzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzI7IiBkPSJNMTEwMCAxMDAwdi04NTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTE1MHY0MDBoLTcwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzM7IiBkPSJNMTEwMCAxMDAwbC0yIC0xNDlsLTI5OSAtMjk5bC05NSA5NXEtOSA5IC0yMS41IDl0LTIxLjUgLTlsLTE0OSAtMTQ3aC0zMTJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTEzMiA2MzhsMTA2IC0xMDZxNyAtNyA3IC0xNy41dC03IC0xNy41bC00MjAgLTQyMXEtOCAtNyAtMTggLTcgdC0xOCA3bC0yMDIgMjAzcS04IDcgLTggMTcuNXQ4IDE3LjVsMTA2IDEwNnE3IDggMTcuNSA4dDE3LjUgLThsNzkgLTc5bDI5NyAyOTdxNyA3IDE3LjUgN3QxNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzQ7IiBkPSJNMTEwMCAxMDAwdi0yNjlsLTEwMyAtMTAzbC0xMzQgMTM0cS0xNSAxNSAtMzMuNSAxNi41dC0zNC41IC0xMi41bC0yNjYgLTI2NmgtMzI5di00MDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwMHEwIDIwIDE0LjUgMzV0MzUuNSAxNWgyNTB2LTMwMGg1MDB2MzAwaDEwMHpNNzAwIDEwMDBoLTEwMHYyMDBoMTAwdi0yMDB6TTEyMDIgNTcybDcwIC03MHExNSAtMTUgMTUgLTM1LjV0LTE1IC0zNS41bC0xMzEgLTEzMSBsMTMxIC0xMzFxMTUgLTE1IDE1IC0zNS41dC0xNSAtMzUuNWwtNzAgLTcwcS0xNSAtMTUgLTM1LjUgLTE1dC0zNS41IDE1bC0xMzEgMTMxbC0xMzEgLTEzMXEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtNzAgNzBxLTE1IDE1IC0xNSAzNS41dDE1IDM1LjVsMTMxIDEzMWwtMTMxIDEzMXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWw3MCA3MHExNSAxNSAzNS41IDE1dDM1LjUgLTE1bDEzMSAtMTMxbDEzMSAxMzFxMTUgMTUgMzUuNSAxNSB0MzUuNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NTsiIGQ9Ik0xMTAwIDEwMDB2LTMwMGgtMzUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xNTBoLTUwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAwek04NTAgNjAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNSBsLTIzMCAtMjMwcS0xNCAtMTQgLTM1IC0xNHQtMzUgMTRsLTIzMCAyMzBxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjVoMTUwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NjsiIGQ9Ik0xMTAwIDEwMDB2LTQwMGwtMTY1IDE2NXEtMTQgMTUgLTM1IDE1dC0zNSAtMTVsLTI2MyAtMjY1aC00MDJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNOTM1IDU2NWwyMzAgLTIyOXExNCAtMTUgMTAgLTI1LjV0LTI1IC0xMC41aC0xNTB2LTI1MHEwIC0yMCAtMTQuNSAtMzUgdC0zNS41IC0xNWgtMTAwcS0yMSAwIC0zNS41IDE1dC0xNC41IDM1djI1MGgtMTUwcS0yMSAwIC0yNSAxMC41dDEwIDI1LjVsMjMwIDIyOXExNCAxNSAzNSAxNXQzNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NzsiIGQ9Ik01MCAxMTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtMTIwMHYxNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjAwIDgwMHYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1NTBoMTIwMHpNMTAwIDUwMHYtMjAwaDQwMHYyMDBoLTQwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTc4OyIgZD0iTTkzNSAxMTY1bDI0OCAtMjMwcTE0IC0xNCAxNCAtMzV0LTE0IC0zNWwtMjQ4IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC00MDB2MjAwaDQwMHYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEwek0yMDAgODAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHYtMjAwek00MDAgODAwaC0xMDB2MjAwaDEwMHYtMjAwek0xOCA0MzVsMjQ3IDIzMCBxMTQgMTQgMjQuNSAxMHQxMC41IC0yNXYtMTUwaDQwMHYtMjAwaC00MDB2LTE1MHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTI0NyAyMzBxLTE1IDE0IC0xNSAzNXQxNSAzNXpNOTAwIDMwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTAwMCA1MDBoNTFxMjAgMCAzNC41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzQuNSAtMTQuNWgtNTF2MjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzk7IiBkPSJNODYyIDEwNzNsMjc2IDExNnEyNSAxOCA0My41IDh0MTguNSAtNDF2LTExMDZxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2Mzk3cS00IDEgLTExIDV0LTI0IDE3LjV0LTMwIDI5dC0yNCA0MnQtMTEgNTYuNXYzNTlxMCAzMSAxOC41IDY1dDQzLjUgNTJ6TTU1MCAxMjAwcTIyIDAgMzQuNSAtMTIuNXQxNC41IC0yNC41bDEgLTEzdi00NTBxMCAtMjggLTEwLjUgLTU5LjUgdC0yNSAtNTZ0LTI5IC00NXQtMjUuNSAtMzEuNWwtMTAgLTExdi00NDdxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDQ3cS00IDQgLTExIDExLjV0LTI0IDMwLjV0LTMwIDQ2dC0yNCA1NXQtMTEgNjB2NDUwcTAgMiAwLjUgNS41dDQgMTJ0OC41IDE1dDE0LjUgMTJ0MjIuNSA1LjVxMjAgMCAzMi41IC0xMi41dDE0LjUgLTI0LjVsMyAtMTN2LTM1MGgxMDB2MzUwdjUuNXQyLjUgMTIgdDcgMTV0MTUgMTJ0MjUuNSA1LjVxMjMgMCAzNS41IC0xMi41dDEzLjUgLTI0LjVsMSAtMTN2LTM1MGgxMDB2MzUwcTAgMiAwLjUgNS41dDMgMTJ0NyAxNXQxNSAxMnQyNC41IDUuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTgwOyIgZD0iTTEyMDAgMTEwMHYtNTZxLTQgMCAtMTEgLTAuNXQtMjQgLTN0LTMwIC03LjV0LTI0IC0xNXQtMTEgLTI0di04ODhxMCAtMjIgMjUgLTM0LjV0NTAgLTEzLjVsMjUgLTJ2LTU2aC00MDB2NTZxNzUgMCA4Ny41IDYuNXQxMi41IDQzLjV2Mzk0aC01MDB2LTM5NHEwIC0zNyAxMi41IC00My41dDg3LjUgLTYuNXYtNTZoLTQwMHY1NnE0IDAgMTEgMC41dDI0IDN0MzAgNy41dDI0IDE1dDExIDI0djg4OHEwIDIyIC0yNSAzNC41dC01MCAxMy41IGwtMjUgMnY1Nmg0MDB2LTU2cS03NSAwIC04Ny41IC02LjV0LTEyLjUgLTQzLjV2LTM5NGg1MDB2Mzk0cTAgMzcgLTEyLjUgNDMuNXQtODcuNSA2LjV2NTZoNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODE7IiBkPSJNNjc1IDEwMDBoMzc1cTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTEwNWwtMjk1IC05OHY5OGwtMjAwIDIwMGgtNDAwbDEwMCAxMDBoMzc1ek0xMDAgOTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNTAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0zMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djUwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTEwMCA4MDB2LTIwMGgzMDB2MjAwIGgtMzAwek0xMTAwIDUzNWwtNDAwIC0xMzN2MTYzbDQwMCAxMzN2LTE2M3pNMTAwIDUwMHYtMjAwaDMwMHYyMDBoLTMwMHpNMTEwMCAzOTh2LTI0OHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzc1bC0xMDAgLTEwMGgtMzc1bC0xMDAgMTAwaDQwMGwyMDAgMjAwaDEwNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTgyOyIgZD0iTTE3IDEwMDdsMTYyIDE2MnExNyAxNyA0MCAxNHQzNyAtMjJsMTM5IC0xOTRxMTQgLTIwIDExIC00NC41dC0yMCAtNDEuNWwtMTE5IC0xMThxMTAyIC0xNDIgMjI4IC0yNjh0MjY3IC0yMjdsMTE5IDExOHExNyAxNyA0Mi41IDE5dDQ0LjUgLTEybDE5MiAtMTM2cTE5IC0xNCAyMi41IC0zNy41dC0xMy41IC00MC41bC0xNjMgLTE2MnEtMyAtMSAtOS41IC0xdC0yOS41IDJ0LTQ3LjUgNnQtNjIuNSAxNC41dC03Ny41IDI2LjV0LTkwIDQyLjUgdC0xMDEuNSA2MHQtMTExIDgzdC0xMTkgMTA4LjVxLTc0IDc0IC0xMzMuNSAxNTAuNXQtOTQuNSAxMzguNXQtNjAgMTE5LjV0LTM0LjUgMTAwdC0xNSA3NC41dC00LjUgNDh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4MzsiIGQ9Ik02MDAgMTEwMHE5MiAwIDE3NSAtMTAuNXQxNDEuNSAtMjd0MTA4LjUgLTM2LjV0ODEuNSAtNDB0NTMuNSAtMzd0MzEgLTI3bDkgLTEwdi0yMDBxMCAtMjEgLTE0LjUgLTMzdC0zNC41IC05bC0yMDIgMzRxLTIwIDMgLTM0LjUgMjB0LTE0LjUgMzh2MTQ2cS0xNDEgMjQgLTMwMCAyNHQtMzAwIC0yNHYtMTQ2cTAgLTIxIC0xNC41IC0zOHQtMzQuNSAtMjBsLTIwMiAtMzRxLTIwIC0zIC0zNC41IDl0LTE0LjUgMzN2MjAwcTMgNCA5LjUgMTAuNSB0MzEgMjZ0NTQgMzcuNXQ4MC41IDM5LjV0MTA5IDM3LjV0MTQxIDI2LjV0MTc1IDEwLjV6TTYwMCA3OTVxNTYgMCA5NyAtOS41dDYwIC0yMy41dDMwIC0yOHQxMiAtMjRsMSAtMTB2LTUwbDM2NSAtMzAzcTE0IC0xNSAyNC41IC00MHQxMC41IC00NXYtMjEycTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMTJxMCAyMCAxMC41IDQ1dDI0LjUgNDBsMzY1IDMwM3Y1MCBxMCA0IDEgMTAuNXQxMiAyM3QzMCAyOXQ2MCAyMi41dDk3IDEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODQ7IiBkPSJNMTEwMCA3MDBsLTIwMCAtMjAwaC02MDBsLTIwMCAyMDB2NTAwaDIwMHYtMjAwaDIwMHYyMDBoMjAwdi0yMDBoMjAwdjIwMGgyMDB2LTUwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODU7IiBkPSJNNzAwIDExMDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtMTAwMGgzMDB2MTAwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMTEwMCA4MDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNzAwaDMwMHY3MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTQwMCAwaC0zMDB2NDAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNWgxMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTQwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4NjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDcwMHYtMzAwbC0xMDAgLTEwMGgtMjAwdjUwMGgyMDB6IE03MDAgNzAwdi0zMDBoMTAwdjMwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODc7IiBkPSJNMjAwIDExMDBoNzAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnYtNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OGgtNzAwcS0xMjQgMCAtMjEyIDg4dC04OCAyMTJ2NTAwcTAgMTI0IDg4IDIxMnQyMTIgODh6TTEwMCA5MDB2LTcwMGg5MDB2NzAwaC05MDB6TTUwMCAzMDBoLTEwMHYyMDBoLTEwMHYtMjAwaC0xMDB2NTAwaDEwMHYtMjAwaDEwMHYyMDBoMTAwdi01MDB6TTkwMCA3MDB2LTMwMGwtMTAwIC0xMDBoLTIwMHY1MDBoMjAweiBNNzAwIDcwMHYtMzAwaDEwMHYzMDBoLTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTg4OyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek01MDAgNzAwaC0yMDB2LTMwMGgyMDB2LTEwMGgtMzAwdjUwMGgzMDB2LTEwMHpNOTAwIDcwMGgtMjAwdi0zMDBoMjAwdi0xMDBoLTMwMHY1MDBoMzAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4OTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDQwMGwtMzAwIDE1MGwzMDAgMTUwdi0zMDB6TTkwMCA1NTBsLTMwMCAtMTUwdjMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTkwOyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek05MDAgMzAwaC03MDB2NTAwaDcwMHYtNTAwek04MDAgNzAwaC0xMzBxLTM4IDAgLTY2LjUgLTQzdC0yOC41IC0xMDh0MjcgLTEwN3Q2OCAtNDJoMTMwdjMwMHpNMzAwIDcwMHYtMzAwIGgxMzBxNDEgMCA2OCA0MnQyNyAxMDd0LTI4LjUgMTA4dC02Ni41IDQzaC0xMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNMzAwIDcwMGgyMDB2LTQwMGgtMzAwdjUwMGgxMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMzAwIDYwMHYtMjAwaDEwMHYyMDBoLTEwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MzsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDUwMGwtMTk5IC0yMDBoLTEwMHY1MGwxOTkgMjAwdjE1MGgtMjAwdjEwMGgzMDB2LTMwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNNzAxIDMwMGgtMTAwIHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5NDsiIGQ9Ik02MDAgMTE5MXExMjAgMCAyMjkuNSAtNDd0MTg4LjUgLTEyNnQxMjYgLTE4OC41dDQ3IC0yMjkuNXQtNDcgLTIyOS41dC0xMjYgLTE4OC41dC0xODguNSAtMTI2dC0yMjkuNSAtNDd0LTIyOS41IDQ3dC0xODguNSAxMjZ0LTEyNiAxODguNXQtNDcgMjI5LjV0NDcgMjI5LjV0MTI2IDE4OC41dDE4OC41IDEyNnQyMjkuNSA0N3pNNjAwIDEwMjFxLTExNCAwIC0yMTEgLTU2LjV0LTE1My41IC0xNTMuNXQtNTYuNSAtMjExdDU2LjUgLTIxMSB0MTUzLjUgLTE1My41dDIxMSAtNTYuNXQyMTEgNTYuNXQxNTMuNSAxNTMuNXQ1Ni41IDIxMXQtNTYuNSAyMTF0LTE1My41IDE1My41dC0yMTEgNTYuNXpNODAwIDcwMGgtMzAwdi0yMDBoMzAwdi0xMDBoLTMwMGwtMTAwIDEwMHYyMDBsMTAwIDEwMGgzMDB2LTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTk1OyIgZD0iTTYwMCAxMTkxcTEyMCAwIDIyOS41IC00N3QxODguNSAtMTI2dDEyNiAtMTg4LjV0NDcgLTIyOS41dC00NyAtMjI5LjV0LTEyNiAtMTg4LjV0LTE4OC41IC0xMjZ0LTIyOS41IC00N3QtMjI5LjUgNDd0LTE4OC41IDEyNnQtMTI2IDE4OC41dC00NyAyMjkuNXQ0NyAyMjkuNXQxMjYgMTg4LjV0MTg4LjUgMTI2dDIyOS41IDQ3ek02MDAgMTAyMXEtMTE0IDAgLTIxMSAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTF0NTYuNSAtMjExIHQxNTMuNSAtMTUzLjV0MjExIC01Ni41dDIxMSA1Ni41dDE1My41IDE1My41dDU2LjUgMjExdC01Ni41IDIxMXQtMTUzLjUgMTUzLjV0LTIxMSA1Ni41ek04MDAgNzAwdi0xMDBsLTUwIC01MGwxMDAgLTEwMHYtNTBoLTEwMGwtMTAwIDEwMGgtMTUwdi0xMDBoLTEwMHY0MDBoMzAwek01MDAgNzAwdi0xMDBoMjAwdjEwMGgtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTc7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA3dC04NSAtMjA3dC0yMDUgLTg2LjVoLTEyOHYyNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTMwMHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMjUwaC0yMjJxLTgwIDAgLTEzNiA1Ny41dC01NiAxMzYuNXEwIDY5IDQzIDEyMi41dDEwOCA2Ny41cS0yIDE5IC0yIDM3cTAgMTAwIDQ5IDE4NSB0MTM0IDEzNHQxODUgNDl6TTUyNSA1MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMjc1aDEzN3EyMSAwIDI2IC0xMS41dC04IC0yNy41bC0yMjMgLTI0NHEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC0yMjMgMjQ0cS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMTM3djI3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTg7IiBkPSJNNTAyIDEwODlxMTEwIDAgMjAxIC01OS41dDEzNSAtMTU2LjVxNDMgMTUgODkgMTVxMTIxIDAgMjA2IC04Ni41dDg2IC0yMDYuNXEwIC05OSAtNjAgLTE4MXQtMTUwIC0xMTBsLTM3OCAzNjBxLTEzIDE2IC0zMS41IDE2dC0zMS41IC0xNmwtMzgxIC0zNjVoLTlxLTc5IDAgLTEzNS41IDU3LjV0LTU2LjUgMTM2LjVxMCA2OSA0MyAxMjIuNXQxMDggNjcuNXEtMiAxOSAtMiAzOHEwIDEwMCA0OSAxODQuNXQxMzMuNSAxMzR0MTg0LjUgNDkuNXogTTYzMiA0NjdsMjIzIC0yMjhxMTMgLTE2IDggLTI3LjV0LTI2IC0xMS41aC0xMzd2LTI3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djI3NWgtMTM3cS0yMSAwIC0yNiAxMS41dDggMjcuNXExOTkgMjA0IDIyMyAyMjhxMTkgMTkgMzEuNSAxOXQzMi41IC0xOXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMTk5OyIgZD0iTTcwMCAxMDB2MTAwaDQwMGwtMjcwIDMwMGgxNzBsLTI3MCAzMDBoMTcwbC0zMDAgMzMzbC0zMDAgLTMzM2gxNzBsLTI3MCAtMzAwaDE3MGwtMjcwIC0zMDBoNDAwdi0xMDBoLTUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di01MGg0MDB2NTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDA7IiBkPSJNNjAwIDExNzlxOTQgMCAxNjcuNSAtNTYuNXQ5OS41IC0xNDUuNXE4OSAtNiAxNTAuNSAtNzEuNXQ2MS41IC0xNTUuNXEwIC02MSAtMjkuNSAtMTEyLjV0LTc5LjUgLTgyLjVxOSAtMjkgOSAtNTVxMCAtNzQgLTUyLjUgLTEyNi41dC0xMjYuNSAtNTIuNXEtNTUgMCAtMTAwIDMwdi0yNTFxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaC0zMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41djI1MXEtNDUgLTMwIC0xMDAgLTMwIHEtNzQgMCAtMTI2LjUgNTIuNXQtNTIuNSAxMjYuNXEwIDE4IDQgMzhxLTQ3IDIxIC03NS41IDY1dC0yOC41IDk3cTAgNzQgNTIuNSAxMjYuNXQxMjYuNSA1Mi41cTUgMCAyMyAtMnEwIDIgLTEgMTB0LTEgMTNxMCAxMTYgODEuNSAxOTcuNXQxOTcuNSA4MS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDE7IiBkPSJNMTAxMCAxMDEwcTExMSAtMTExIDE1MC41IC0yNjAuNXQwIC0yOTl0LTE1MC41IC0yNjAuNXEtODMgLTgzIC0xOTEuNSAtMTI2LjV0LTIxOC41IC00My41dC0yMTguNSA0My41dC0xOTEuNSAxMjYuNXEtMTExIDExMSAtMTUwLjUgMjYwLjV0MCAyOTl0MTUwLjUgMjYwLjVxODMgODMgMTkxLjUgMTI2LjV0MjE4LjUgNDMuNXQyMTguNSAtNDMuNXQxOTEuNSAtMTI2LjV6TTQ3NiAxMDY1cS00IDAgLTggLTFxLTEyMSAtMzQgLTIwOS41IC0xMjIuNSB0LTEyMi41IC0yMDkuNXEtNCAtMTIgMi41IC0yM3QxOC41IC0xNGwzNiAtOXEzIC0xIDcgLTFxMjMgMCAyOSAyMnEyNyA5NiA5OCAxNjZxNzAgNzEgMTY2IDk4cTExIDMgMTcuNSAxMy41dDMuNSAyMi41bC05IDM1cS0zIDEzIC0xNCAxOXEtNyA0IC0xNSA0ek01MTIgOTIwcS00IDAgLTkgLTJxLTgwIC0yNCAtMTM4LjUgLTgyLjV0LTgyLjUgLTEzOC41cS00IC0xMyAyIC0yNHQxOSAtMTRsMzQgLTlxNCAtMSA4IC0xcTIyIDAgMjggMjEgcTE4IDU4IDU4LjUgOTguNXQ5Ny41IDU4LjVxMTIgMyAxOCAxMy41dDMgMjEuNWwtOSAzNXEtMyAxMiAtMTQgMTlxLTcgNCAtMTUgNHpNNzE5LjUgNzE5LjVxLTQ5LjUgNDkuNSAtMTE5LjUgNDkuNXQtMTE5LjUgLTQ5LjV0LTQ5LjUgLTExOS41dDQ5LjUgLTExOS41dDExOS41IC00OS41dDExOS41IDQ5LjV0NDkuNSAxMTkuNXQtNDkuNSAxMTkuNXpNODU1IDU1MXEtMjIgMCAtMjggLTIxcS0xOCAtNTggLTU4LjUgLTk4LjV0LTk4LjUgLTU3LjUgcS0xMSAtNCAtMTcgLTE0LjV0LTMgLTIxLjVsOSAtMzVxMyAtMTIgMTQgLTE5cTcgLTQgMTUgLTRxNCAwIDkgMnE4MCAyNCAxMzguNSA4Mi41dDgyLjUgMTM4LjVxNCAxMyAtMi41IDI0dC0xOC41IDE0bC0zNCA5cS00IDEgLTggMXpNMTAwMCA1MTVxLTIzIDAgLTI5IC0yMnEtMjcgLTk2IC05OCAtMTY2cS03MCAtNzEgLTE2NiAtOThxLTExIC0zIC0xNy41IC0xMy41dC0zLjUgLTIyLjVsOSAtMzVxMyAtMTMgMTQgLTE5cTcgLTQgMTUgLTQgcTQgMCA4IDFxMTIxIDM0IDIwOS41IDEyMi41dDEyMi41IDIwOS41cTQgMTIgLTIuNSAyM3QtMTguNSAxNGwtMzYgOXEtMyAxIC03IDF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMjsiIGQ9Ik03MDAgODAwaDMwMHYtMzgwaC0xODB2MjAwaC0zNDB2LTIwMGgtMzgwdjc1NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDU3NXYtNDAwek0xMDAwIDkwMGgtMjAwdjIwMHpNNzAwIDMwMGgxNjJsLTIxMiAtMjEybC0yMTIgMjEyaDE2MnYyMDBoMTAwdi0yMDB6TTUyMCAwaC0zOTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzOTV6TTEwMDAgMjIwdi0xOTVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xOTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMzsiIGQ9Ik03MDAgODAwaDMwMHYtNTIwbC0zNTAgMzUwbC01NTAgLTU1MHYxMDk1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNTc1di00MDB6TTEwMDAgOTAwaC0yMDB2MjAwek04NjIgMjAwaC0xNjJ2LTIwMGgtMTAwdjIwMGgtMTYybDIxMiAyMTJ6TTQ4MCAwaC0zNTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NWgzODB2LTgwek0xMDAwIDgwdi01NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1NXY4MGgxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwNDsiIGQ9Ik0xMTYyIDgwMGgtMTYydi0yMDBoMTAwbDEwMCAtMTAwaC0zMDB2MzAwaC0xNjJsMjEyIDIxMnpNMjAwIDgwMGgyMDBxMjcgMCA0MCAtMnQyOS41IC0xMC41dDIzLjUgLTMwdDcgLTU3LjVoMzAwdi0xMDBoLTYwMGwtMjAwIC0zNTB2NDUwaDEwMHEwIDM2IDcgNTcuNXQyMy41IDMwdDI5LjUgMTAuNXQ0MCAyek04MDAgNDAwaDI0MGwtMjQwIC00MDBoLTgwMGwzMDAgNTAwaDUwMHYtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDU7IiBkPSJNNjUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMDAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTgwMCBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTYwMHEtMSAwIC0yMCA0bDI0NiAyNDZsLTMyNiAzMjZ2MzI0cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXYtMTUwcTAgLTYyIDQ0IC0xMDZ0MTA2IC00NGgzMDBxNjIgMCAxMDYgNDR0NDQgMTA2ek00MTIgMjUwbC0yMTIgLTIxMnYxNjJoLTIwMHYxMDBoMjAwdjE2MnoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjA2OyIgZD0iTTQ1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDUwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTUwMCBoLTIwMHYtMzAwaDIwMHEwIC0zNiAtNyAtNTcuNXQtMjMuNSAtMzB0LTI5LjUgLTEwLjV0LTQwIC0yaC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djgwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV2LTE1MHEwIC02MiA0NCAtMTA2dDEwNiAtNDRoMzAwcTYyIDAgMTA2IDQ0dDQ0IDEwNnpNMTIxMiAyNTBsLTIxMiAtMjEydjE2MmgtMjAwdjEwMGgyMDB2MTYyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDk7IiBkPSJNNjU4IDExOTdsNjM3IC0xMTA0cTIzIC0zOCA3IC02NS41dC02MCAtMjcuNWgtMTI3NnEtNDQgMCAtNjAgMjcuNXQ3IDY1LjVsNjM3IDExMDRxMjIgMzkgNTQgMzl0NTQgLTM5ek03MDQgODAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNXQzNy41IC0xNC41aDU0cTIwIDAgMzcuNSAxNC41dDIxLjUgMzQuNWw1OCAzMDJxNCAyMCAtOCAzNC41dC0zMiAxNC41ek01MDAgMzAwdi0xMDBoMjAwIHYxMDBoLTIwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjEwOyIgZD0iTTQyNSAxMTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgODAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41IHQxNy41IDcuNXpNODI1IDgwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMjUgNTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNODI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNSB2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTgyNSAyMDBoMjUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxMTsiIGQ9Ik03MDAgMTIwMGgxMDB2LTIwMGgtMTAwdi0xMDBoMzUwcTYyIDAgODYuNSAtMzkuNXQtMy41IC05NC41bC02NiAtMTMycS00MSAtODMgLTgxIC0xMzRoLTc3MnEtNDAgNTEgLTgxIDEzNGwtNjYgMTMycS0yOCA1NSAtMy41IDk0LjV0ODYuNSAzOS41aDM1MHYxMDBoLTEwMHYyMDBoMTAwdjEwMGgyMDB2LTEwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwIGgtOTUwbDEzOCAxMDBoLTEzcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTI7IiBkPSJNNjAwIDEzMDBxNDAgMCA2OC41IC0yOS41dDI4LjUgLTcwLjVoLTE5NHEwIDQxIDI4LjUgNzAuNXQ2OC41IDI5LjV6TTQ0MyAxMTAwaDMxNHExOCAtMzcgMTggLTc1cTAgLTggLTMgLTI1aDMyOHE0MSAwIDQ0LjUgLTE2LjV0LTMwLjUgLTM4LjVsLTE3NSAtMTQ1aC02NzhsLTE3OCAxNDVxLTM0IDIyIC0yOSAzOC41dDQ2IDE2LjVoMzI4cS0zIDE3IC0zIDI1cTAgMzggMTggNzV6TTI1MCA3MDBoNzAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTUwdi0yMDBsMjc1IC0yMDBoLTk1MGwyNzUgMjAwdjIwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTM7IiBkPSJNNjAwIDExODFxNzUgMCAxMjggLTUzdDUzIC0xMjh0LTUzIC0xMjh0LTEyOCAtNTN0LTEyOCA1M3QtNTMgMTI4dDUzIDEyOHQxMjggNTN6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTMgbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNDsiIGQ9Ik02MDAgMTMwMHE0NyAwIDkyLjUgLTUzLjV0NzEgLTEyM3QyNS41IC0xMjMuNXEwIC03OCAtNTUuNSAtMTMzLjV0LTEzMy41IC01NS41dC0xMzMuNSA1NS41dC01NS41IDEzMy41cTAgNjIgMzQgMTQzbDE0NCAtMTQzbDExMSAxMTFsLTE2MyAxNjNxMzQgMjYgNjMgMjZ6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1IHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEzbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNTsiIGQ9Ik02MDAgMTIwMGwzMDAgLTE2MXYtMTM5aC0zMDBxMCAtNTcgMTguNSAtMTA4dDUwIC05MS41dDYzIC03MnQ3MCAtNjcuNXQ1Ny41IC02MWgtNTMwcS02MCA4MyAtOTAuNSAxNzcuNXQtMzAuNSAxNzguNXQzMyAxNjQuNXQ4Ny41IDEzOS41dDEyNiA5Ni41dDE0NS41IDQxLjV2LTk4ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTNsMTM4IC0xMDBoLTk1MGwxMzcgMTAwIGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNjsiIGQ9Ik02MDAgMTMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNzhxNDYgLTI2IDczIC03MnQyNyAtMTAwdi01MGgtNDAwdjUwcTAgNTQgMjcgMTAwdDczIDcydjc4cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNDAwIDgwMGg0MDBxNTQgMCAxMDAgLTI3dDcyIC03M2gtMTcydi0xMDBoMjAwdi0xMDBoLTIwMHYtMTAwaDIwMHYtMTAwaC0yMDB2LTEwMGgyMDBxMCAtODMgLTU4LjUgLTE0MS41dC0xNDEuNSAtNTguNWgtNDAwIHEtODMgMCAtMTQxLjUgNTguNXQtNTguNSAxNDEuNXY0MDBxMCA4MyA1OC41IDE0MS41dDE0MS41IDU4LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxODsiIGQ9Ik0xNTAgMTEwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjUgNDAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjgzbDIyNCAtMjI0cTEzIC0xMyAxMyAtMzEuNXQtMTMgLTMyIHQtMzEuNSAtMTMuNXQtMzEuNSAxM2wtODggODhoLTUyNGwtODcgLTg4cS0xMyAtMTMgLTMyIC0xM3QtMzIgMTMuNXQtMTMgMzJ0MTMgMzEuNWwyMjQgMjI0aC0yODlxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01NDEgMzAwbC0xMDAgLTEwMGgzMjRsLTEwMCAxMDBoLTEyNHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjE5OyIgZD0iTTIwMCAxMTAwaDgwMHE4MyAwIDE0MS41IC01OC41dDU4LjUgLTE0MS41di0yMDBoLTEwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNWgtMjUwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41aC0xMDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjVoLTI1MHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNWgtMTAwdjIwMHEwIDgzIDU4LjUgMTQxLjV0MTQxLjUgNTguNXpNMTAwIDYwMGgxMDAwcTQxIDAgNzAuNSAtMjkuNSB0MjkuNSAtNzAuNXYtMzAwaC0xMjAwdjMwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTMwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHpNMTEwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjIxOyIgZD0iTTQ4MCAxMTY1bDY4MiAtNjgzcTMxIC0zMSAzMSAtNzUuNXQtMzEgLTc1LjVsLTEzMSAtMTMxaC00ODFsLTUxNyA1MThxLTMyIDMxIC0zMiA3NS41dDMyIDc1LjVsMjk1IDI5NnEzMSAzMSA3NS41IDMxdDc2LjUgLTMxek0xMDggNzk0bDM0MiAtMzQybDMwMyAzMDRsLTM0MSAzNDF6TTI1MCAxMDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtOTAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjIzOyIgZD0iTTEwNTcgNjQ3bC0xODkgNTA2cS04IDE5IC0yNy41IDMzdC00MC41IDE0aC00MDBxLTIxIDAgLTQwLjUgLTE0dC0yNy41IC0zM2wtMTg5IC01MDZxLTggLTE5IDEuNSAtMzN0MzAuNSAtMTRoNjI1di0xNTBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41dDM1LjUgMTQuNXQxNC41IDM1LjV2MTUwaDEyNXEyMSAwIDMwLjUgMTR0MS41IDMzek04OTcgMGgtNTk1djUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ4djMwMGgyMDB2LTMwMGg0N3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjQ7IiBkPSJNOTAwIDgwMGgzMDB2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTM3NXY1OTFsLTMwMCAzMDB2ODRxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNMTIwMCA5MDBoLTIwMHYyMDB6TTQwMCA2MDBoMzAwdi01NzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC02NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNNzAwIDcwMGgtMjAwdjIwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIyNTsiIGQ9Ik00ODQgMTA5NWgxOTVxNzUgMCAxNDYgLTMyLjV0MTI0IC04NnQ4OS41IC0xMjIuNXQ0OC41IC0xNDJxMTggLTE0IDM1IC0yMHEzMSAtMTAgNjQuNSA2LjV0NDMuNSA0OC41cTEwIDM0IC0xNSA3MXEtMTkgMjcgLTkgNDNxNSA4IDEyLjUgMTF0MTkgLTF0MjMuNSAtMTZxNDEgLTQ0IDM5IC0xMDVxLTMgLTYzIC00NiAtMTA2LjV0LTEwNCAtNDMuNWgtNjJxLTcgLTU1IC0zNSAtMTE3dC01NiAtMTAwbC0zOSAtMjM0cS0zIC0yMCAtMjAgLTM0LjUgdC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMTIgNzBxLTQ5IC0xNCAtOTEgLTE0aC0xOTVxLTI0IDAgLTY1IDhsLTExIC02NHEtMyAtMjAgLTIwIC0zNC41dC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMjYgMTU3cS04NCA3NCAtMTI4IDE3NWwtMTU5IDUzcS0xOSA3IC0zMyAyNnQtMTQgNDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEyNHExMSA4NyA1NiAxNjZsLTExMSA5NSBxLTE2IDE0IC0xMi41IDIzLjV0MjQuNSA5LjVoMjAzcTExNiAxMDEgMjUwIDEwMXpNNjc1IDEwMDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMjUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjY7IiBkPSJNNjQxIDkwMGw0MjMgMjQ3cTE5IDggNDIgMi41dDM3IC0yMS41bDMyIC0zOHExNCAtMTUgMTIuNSAtMzZ0LTE3LjUgLTM0bC0xMzkgLTEyMGgtMzkwek01MCAxMTAwaDEwNnE2NyAwIDEwMyAtMTd0NjYgLTcxbDEwMiAtMjEyaDgyM3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBxMCAtMjEgLTE0IC00MHQtMzMgLTI2bC03MzcgLTEzMnEtMjMgLTQgLTQwIDZ0LTI2IDI1cS00MiA2NyAtMTAwIDY3aC0zMDBxLTYyIDAgLTEwNiA0NCB0LTQ0IDEwNnYyMDBxMCA2MiA0NCAxMDZ0MTA2IDQ0ek0xNzMgOTI4aC04MHEtMTkgMCAtMjggLTE0dC05IC0zNXYtNTZxMCAtNTEgNDIgLTUxaDEzNHExNiAwIDIxLjUgOHQ1LjUgMjRxMCAxMSAtMTYgNDV0LTI3IDUxcS0xOCAyOCAtNDMgMjh6TTU1MCA3MjdxLTMyIDAgLTU0LjUgLTIyLjV0LTIyLjUgLTU0LjV0MjIuNSAtNTQuNXQ1NC41IC0yMi41dDU0LjUgMjIuNXQyMi41IDU0LjV0LTIyLjUgNTQuNXQtNTQuNSAyMi41ek0xMzAgMzg5IGwxNTIgMTMwcTE4IDE5IDM0IDI0dDMxIC0zLjV0MjQuNSAtMTcuNXQyNS41IC0yOHEyOCAtMzUgNTAuNSAtNTF0NDguNSAtMTNsNjMgNWw0OCAtMTc5cTEzIC02MSAtMy41IC05Ny41dC02Ny41IC03OS41bC04MCAtNjlxLTQ3IC00MCAtMTA5IC0zNS41dC0xMDMgNTEuNWwtMTMwIDE1MXEtNDAgNDcgLTM1LjUgMTA5LjV0NTEuNSAxMDIuNXpNMzgwIDM3N2wtMTAyIC04OHEtMzEgLTI3IDIgLTY1bDM3IC00M3ExMyAtMTUgMjcuNSAtMTkuNSB0MzEuNSA2LjVsNjEgNTNxMTkgMTYgMTQgNDlxLTIgMjAgLTEyIDU2dC0xNyA0NXEtMTEgMTIgLTE5IDE0dC0yMyAtOHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjI3OyIgZD0iTTYyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwOXE3OSAtMzMgMTMxIC04Ny41dDUzIC0xMjguNXExIC00NiAtMTUgLTg0LjV0LTM5IC02MXQtNDYgLTM4dC0zOSAtMjEuNWwtMTcgLTZxNiAwIDE1IC0xLjV0MzUgLTl0NTAgLTE3LjV0NTMgLTMwdDUwIC00NXQzNS41IC02NHQxNC41IC04NHEwIC01OSAtMTEuNSAtMTA1LjV0LTI4LjUgLTc2LjV0LTQ0IC01MXQtNDkuNSAtMzEuNXQtNTQuNSAtMTZ0LTQ5LjUgLTYuNSB0LTQzLjUgLTF2LTc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzVoLTEwMHYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtMTc1cS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNzV2NjAwaC03NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNzV2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWgxMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDAwIDkwMHYtMjAwaDI2M3EyOCAwIDQ4LjUgMTAuNXQzMCAyNXQxNSAyOXQ1LjUgMjUuNWwxIDEwcTAgNCAtMC41IDExdC02IDI0dC0xNSAzMHQtMzAgMjR0LTQ4LjUgMTFoLTI2M3pNNDAwIDUwMHYtMjAwaDM2M3EyOCAwIDQ4LjUgMTAuNSB0MzAgMjV0MTUgMjl0NS41IDI1LjVsMSAxMHEwIDQgLTAuNSAxMXQtNiAyNHQtMTUgMzB0LTMwIDI0dC00OC41IDExaC0zNjN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMDsiIGQ9Ik0yMTIgMTE5OGg3ODBxODYgMCAxNDcgLTYxdDYxIC0xNDd2LTQxNnEwIC01MSAtMTggLTE0Mi41dC0zNiAtMTU3LjVsLTE4IC02NnEtMjkgLTg3IC05My41IC0xNDYuNXQtMTQ2LjUgLTU5LjVoLTU3MnEtODIgMCAtMTQ3IDU5dC05MyAxNDdxLTggMjggLTIwIDczdC0zMiAxNDMuNXQtMjAgMTQ5LjV2NDE2cTAgODYgNjEgMTQ3dDE0NyA2MXpNNjAwIDEwNDVxLTcwIDAgLTEzMi41IC0xMS41dC0xMDUuNSAtMzAuNXQtNzguNSAtNDEuNSB0LTU3IC00NXQtMzYgLTQxdC0yMC41IC0zMC41bC02IC0xMmwxNTYgLTI0M2g1NjBsMTU2IDI0M3EtMiA1IC02IDEyLjV0LTIwIDI5LjV0LTM2LjUgNDJ0LTU3IDQ0LjV0LTc5IDQydC0xMDUgMjkuNXQtMTMyLjUgMTJ6TTc2MiA3MDNoLTE1N2wxOTUgMjYxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzE7IiBkPSJNNDc1IDEzMDBoMTUwcTEwMyAwIDE4OSAtODZ0ODYgLTE4OXYtNTAwcTAgLTQxIC00MiAtODN0LTgzIC00MmgtNDUwcS00MSAwIC04MyA0MnQtNDIgODN2NTAwcTAgMTAzIDg2IDE4OXQxODkgODZ6TTcwMCAzMDB2LTIyNXEwIC0yMSAtMjcgLTQ4dC00OCAtMjdoLTE1MHEtMjEgMCAtNDggMjd0LTI3IDQ4djIyNWgzMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMjsiIGQ9Ik00NzUgMTMwMGg5NnEwIC0xNTAgODkuNSAtMjM5LjV0MjM5LjUgLTg5LjV2LTQ0NnEwIC00MSAtNDIgLTgzdC04MyAtNDJoLTQ1MHEtNDEgMCAtODMgNDJ0LTQyIDgzdjUwMHEwIDEwMyA4NiAxODl0MTg5IDg2ek03MDAgMzAwdi0yMjVxMCAtMjEgLTI3IC00OHQtNDggLTI3aC0xNTBxLTIxIDAgLTQ4IDI3dC0yNyA0OHYyMjVoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzM7IiBkPSJNMTI5NCA3NjdsLTYzOCAtMjgzbC0zNzggMTcwbC03OCAtNjB2LTIyNGwxMDAgLTE1MHYtMTk5bC0xNTAgMTQ4bC0xNTAgLTE0OXYyMDBsMTAwIDE1MHYyNTBxMCA0IC0wLjUgMTAuNXQwIDkuNXQxIDh0MyA4dDYuNSA2bDQ3IDQwbC0xNDcgNjVsNjQyIDI4M3pNMTAwMCAzODBsLTM1MCAtMTY2bC0zNTAgMTY2djE0N2wzNTAgLTE2NWwzNTAgMTY1di0xNDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzNDsiIGQ9Ik0yNTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek02NTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek0xMDUwIDgwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnQtNDQgLTEwNnQtMTA2IC00NHQtMTA2IDQ0dC00NCAxMDZ0NDQgMTA2dDEwNiA0NHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjM1OyIgZD0iTTU1MCAxMTAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgNzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgMzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzY7IiBkPSJNMTI1IDExMDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEyNSA3MDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjUgdDE3LjUgNy41ek0xMjUgMzAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTk1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzc7IiBkPSJNMzUwIDEyMDBoNTAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTUwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNTAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY1MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek05MDAgMTAwMGgtNjAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDYwMHE0MSAwIDcwLjUgMjkuNSB0MjkuNSA3MC41djYwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMzUwIDkwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek00MDAgODAwdi0yMDBoNDAwdjIwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzg7IiBkPSJNMTUwIDExMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNSB0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MjAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV0MTQuNSAzNS41dDM1LjUgMTQuNWg1MHYyMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41aDUwdjIwMGgtNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzOTsiIGQ9Ik02NTAgMTE4N3E4NyAtNjcgMTE4LjUgLTE1NnQwIC0xNzh0LTExOC41IC0xNTVxLTg3IDY2IC0xMTguNSAxNTV0MCAxNzh0MTE4LjUgMTU2ek0zMDAgODAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnEtMTI0IDAgLTIxMiA4OHQtODggMjEyek0xMDAwIDgwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhxMCAxMjQgODggMjEydDIxMiA4OHpNMzAwIDUwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnogTTEwMDAgNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek03MDAgMTk5di0xNDRxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djE0MnE0MCAtNCA0MyAtNHExNyAwIDU3IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0MDsiIGQ9Ik03NDUgODc4bDY5IDE5cTI1IDYgNDUgLTEybDI5OCAtMjk1cTExIC0xMSAxNSAtMjYuNXQtMiAtMzAuNXEtNSAtMTQgLTE4IC0yMy41dC0yOCAtOS41aC04cTEgMCAxIC0xM3EwIC0yOSAtMiAtNTZ0LTguNSAtNjJ0LTIwIC02M3QtMzMgLTUzdC01MSAtMzl0LTcyLjUgLTE0aC0xNDZxLTE4NCAwIC0xODQgMjg4cTAgMjQgMTAgNDdxLTIwIDQgLTYyIDR0LTYzIC00cTExIC0yNCAxMSAtNDdxMCAtMjg4IC0xODQgLTI4OGgtMTQyIHEtNDggMCAtODQuNSAyMXQtNTYgNTF0LTMyIDcxLjV0LTE2IDc1dC0zLjUgNjguNXEwIDEzIDIgMTNoLTdxLTE1IDAgLTI3LjUgOS41dC0xOC41IDIzLjVxLTYgMTUgLTIgMzAuNXQxNSAyNS41bDI5OCAyOTZxMjAgMTggNDYgMTFsNzYgLTE5cTIwIC01IDMwLjUgLTIyLjV0NS41IC0zNy41dC0yMi41IC0zMXQtMzcuNSAtNWwtNTEgMTJsLTE4MiAtMTkzaDg5MWwtMTgyIDE5M2wtNDQgLTEycS0yMCAtNSAtMzcuNSA2dC0yMi41IDMxdDYgMzcuNSB0MzEgMjIuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQxOyIgZD0iTTEyMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTUwMCA0NTBoLTI1cTAgMTUgLTQgMjQuNXQtOSAxNC41dC0xNyA3LjV0LTIwIDN0LTI1IDAuNWgtMTAwdi00MjVxMCAtMTEgMTIuNSAtMTcuNXQyNS41IC03LjVoMTJ2LTUwaC0yMDB2NTBxNTAgMCA1MCAyNXY0MjVoLTEwMHEtMTcgMCAtMjUgLTAuNXQtMjAgLTN0LTE3IC03LjV0LTkgLTE0LjV0LTQgLTI0LjVoLTI1djE1MGg1MDB2LTE1MHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQyOyIgZD0iTTEwMDAgMzAwdjUwcS0yNSAwIC01NSAzMnEtMTQgMTQgLTI1IDMxdC0xNiAyN2wtNCAxMWwtMjg5IDc0N2gtNjlsLTMwMCAtNzU0cS0xOCAtMzUgLTM5IC01NnEtOSAtOSAtMjQuNSAtMTguNXQtMjYuNSAtMTQuNWwtMTEgLTV2LTUwaDI3M3Y1MHEtNDkgMCAtNzguNSAyMS41dC0xMS41IDY3LjVsNjkgMTc2aDI5M2w2MSAtMTY2cTEzIC0zNCAtMy41IC02Ni41dC01NS41IC0zMi41di01MGgzMTJ6TTQxMiA2OTFsMTM0IDM0MmwxMjEgLTM0MiBoLTI1NXpNMTEwMCAxNTB2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDM7IiBkPSJNNTAgMTIwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjExIDExMThoLTcwcS0xMyAwIC0xOCAtMTJsLTI5OSAtNzUzcS0xNyAtMzIgLTM1IC01MXEtMTggLTE4IC01NiAtMzRxLTEyIC01IC0xMiAtMTh2LTUwcTAgLTggNS41IC0xNHQxNC41IC02IGgyNzNxOCAwIDE0IDZ0NiAxNHY1MHEwIDggLTYgMTR0LTE0IDZxLTU1IDAgLTcxIDIzcS0xMCAxNCAwIDM5bDYzIDE2M2gyNjZsNTcgLTE1M3ExMSAtMzEgLTYgLTU1cS0xMiAtMTcgLTM2IC0xN3EtOCAwIC0xNCAtNnQtNiAtMTR2LTUwcTAgLTggNiAtMTR0MTQgLTZoMzEzcTggMCAxNCA2dDYgMTR2NTBxMCA3IC01LjUgMTN0LTEzLjUgN3EtMTcgMCAtNDIgMjVxLTI1IDI3IC00MCA2M2gtMWwtMjg4IDc0OHEtNSAxMiAtMTkgMTJ6TTYzOSA2MTEgaC0xOTdsMTAzIDI2NHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQ0OyIgZD0iTTEyMDAgMTEwMGgtMTIwMHYxMDBoMTIwMHYtMTAwek01MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtOTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djkwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDAgcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgOTAwdi0zMDBoMzAwdjMwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDU7IiBkPSJNNTAgMTIwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTkwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY5MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgNzAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgNjAwdi0zMDBoMzAwdjMwMGgtMzAwek0xMjAwIDBoLTEyMDB2MTAwaDEyMDB2LTEwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQ2OyIgZD0iTTUwIDEwMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMTAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoMTAwdi0xMDBoLTEwMHYtMTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djE1MGgtMTAwdi0zNTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA3MDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0NzsiIGQ9Ik0xMDAgMGgtMTAwdjEyMDBoMTAwdi0xMjAwek0yNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMDAgMTAwMHYtMzAwaDMwMHYzMDBoLTMwMHpNMjUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjQ4OyIgZD0iTTYwMCAxMTAwaDE1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTEwMGg0NTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDM1MHYxMDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41IHQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTUwdjEwMGgxMDB2LTEwMHpNNDAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0OTsiIGQ9Ik0xMjAwIDBoLTEwMHYxMjAwaDEwMHYtMTIwMHpNNTUwIDExMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjUwOyIgZD0iTTg2NSA1NjVsLTQ5NCAtNDk0cS0yMyAtMjMgLTQxIC0yM3EtMTQgMCAtMjIgMTMuNXQtOCAzOC41djEwMDBxMCAyNSA4IDM4LjV0MjIgMTMuNXExOCAwIDQxIC0yM2w0OTQgLTQ5NHExNCAtMTQgMTQgLTM1dC0xNCAtMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI1MTsiIGQ9Ik0zMzUgNjM1bDQ5NCA0OTRxMjkgMjkgNTAgMjAuNXQyMSAtNDkuNXYtMTAwMHEwIC00MSAtMjEgLTQ5LjV0LTUwIDIwLjVsLTQ5NCA0OTRxLTE0IDE0IC0xNCAzNXQxNCAzNXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjUyOyIgZD0iTTEwMCA5MDBoMTAwMHE0MSAwIDQ5LjUgLTIxdC0yMC41IC01MGwtNDk0IC00OTRxLTE0IC0xNCAtMzUgLTE0dC0zNSAxNGwtNDk0IDQ5NHEtMjkgMjkgLTIwLjUgNTB0NDkuNSAyMXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjUzOyIgZD0iTTYzNSA4NjVsNDk0IC00OTRxMjkgLTI5IDIwLjUgLTUwdC00OS41IC0yMWgtMTAwMHEtNDEgMCAtNDkuNSAyMXQyMC41IDUwbDQ5NCA0OTRxMTQgMTQgMzUgMTR0MzUgLTE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTQ7IiBkPSJNNzAwIDc0MXYtMTgybC02OTIgLTMyM3YyMjFsNDEzIDE5M2wtNDEzIDE5M3YyMjF6TTEyMDAgMGgtODAwdjIwMGg4MDB2LTIwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU1OyIgZD0iTTEyMDAgOTAwaC0yMDB2LTEwMGgyMDB2LTEwMGgtMzAwdjMwMGgyMDB2MTAwaC0yMDB2MTAwaDMwMHYtMzAwek0wIDcwMGg1MHEwIDIxIDQgMzd0OS41IDI2LjV0MTggMTcuNXQyMiAxMXQyOC41IDUuNXQzMSAydDM3IDAuNWgxMDB2LTU1MHEwIC0yMiAtMjUgLTM0LjV0LTUwIC0xMy41bC0yNSAtMnYtMTAwaDQwMHYxMDBxLTQgMCAtMTEgMC41dC0yNCAzdC0zMCA3dC0yNCAxNXQtMTEgMjQuNXY1NTBoMTAwcTI1IDAgMzcgLTAuNXQzMSAtMiB0MjguNSAtNS41dDIyIC0xMXQxOCAtMTcuNXQ5LjUgLTI2LjV0NCAtMzdoNTB2MzAwaC04MDB2LTMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU2OyIgZD0iTTgwMCA3MDBoLTUwcTAgMjEgLTQgMzd0LTkuNSAyNi41dC0xOCAxNy41dC0yMiAxMXQtMjguNSA1LjV0LTMxIDJ0LTM3IDAuNWgtMTAwdi01NTBxMCAtMjIgMjUgLTM0LjV0NTAgLTE0LjVsMjUgLTF2LTEwMGgtNDAwdjEwMHE0IDAgMTEgMC41dDI0IDN0MzAgN3QyNCAxNXQxMSAyNC41djU1MGgtMTAwcS0yNSAwIC0zNyAtMC41dC0zMSAtMnQtMjguNSAtNS41dC0yMiAtMTF0LTE4IC0xNy41dC05LjUgLTI2LjV0LTQgLTM3aC01MHYzMDAgaDgwMHYtMzAwek0xMTAwIDIwMGgtMjAwdi0xMDBoMjAwdi0xMDBoLTMwMHYzMDBoMjAwdjEwMGgtMjAwdjEwMGgzMDB2LTMwMHoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU3OyIgZD0iTTcwMSAxMDk4aDE2MHExNiAwIDIxIC0xMXQtNyAtMjNsLTQ2NCAtNDY0bDQ2NCAtNDY0cTEyIC0xMiA3IC0yM3QtMjEgLTExaC0xNjBxLTEzIDAgLTIzIDlsLTQ3MSA0NzFxLTcgOCAtNyAxOHQ3IDE4bDQ3MSA0NzFxMTAgOSAyMyA5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTg7IiBkPSJNMzM5IDEwOThoMTYwcTEzIDAgMjMgLTlsNDcxIC00NzFxNyAtOCA3IC0xOHQtNyAtMThsLTQ3MSAtNDcxcS0xMCAtOSAtMjMgLTloLTE2MHEtMTYgMCAtMjEgMTF0NyAyM2w0NjQgNDY0bC00NjQgNDY0cS0xMiAxMiAtNyAyM3QyMSAxMXoiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjU5OyIgZD0iTTEwODcgODgycTExIC01IDExIC0yMXYtMTYwcTAgLTEzIC05IC0yM2wtNDcxIC00NzFxLTggLTcgLTE4IC03dC0xOCA3bC00NzEgNDcxcS05IDEwIC05IDIzdjE2MHEwIDE2IDExIDIxdDIzIC03bDQ2NCAtNDY0bDQ2NCA0NjRxMTIgMTIgMjMgN3oiIC8%2BCjxnbHlwaCB1bmljb2RlPSImI3hlMjYwOyIgZD0iTTYxOCA5OTNsNDcxIC00NzFxOSAtMTAgOSAtMjN2LTE2MHEwIC0xNiAtMTEgLTIxdC0yMyA3bC00NjQgNDY0bC00NjQgLTQ2NHEtMTIgLTEyIC0yMyAtN3QtMTEgMjF2MTYwcTAgMTMgOSAyM2w0NzEgNDcxcTggNyAxOCA3dDE4IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGY4ZmY7IiBkPSJNMTAwMCAxMjAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek00NTAgMTAwMGgxMDBxMjEgMCA0MCAtMTR0MjYgLTMzbDc5IC0xOTRxNSAxIDE2IDNxMzQgNiA1NCA5LjV0NjAgN3Q2NS41IDF0NjEgLTEwdDU2LjUgLTIzdDQyLjUgLTQydDI5IC02NHQ1IC05MnQtMTkuNSAtMTIxLjVxLTEgLTcgLTMgLTE5LjV0LTExIC01MHQtMjAuNSAtNzN0LTMyLjUgLTgxLjV0LTQ2LjUgLTgzdC02NCAtNzAgdC04Mi41IC01MHEtMTMgLTUgLTQyIC01dC02NS41IDIuNXQtNDcuNSAyLjVxLTE0IDAgLTQ5LjUgLTMuNXQtNjMgLTMuNXQtNDMuNSA3cS01NyAyNSAtMTA0LjUgNzguNXQtNzUgMTExLjV0LTQ2LjUgMTEydC0yNiA5MGwtNyAzNXEtMTUgNjMgLTE4IDExNXQ0LjUgODguNXQyNiA2NHQzOS41IDQzLjV0NTIgMjUuNXQ1OC41IDEzdDYyLjUgMnQ1OS41IC00LjV0NTUuNSAtOGwtMTQ3IDE5MnEtMTIgMTggLTUuNSAzMHQyNy41IDEyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNTExOyIgZD0iTTI1MCAxMjAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTUwMGwtMjU1IC0xNzhxLTE5IC05IC0zMiAtMXQtMTMgMjl2NjUwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQwMCAxMTAwdi0xMDBoMzAwdjEwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNmFhOyIgZD0iTTI1MCAxMjAwaDc1MHEzOSAwIDY5LjUgLTQwLjV0MzAuNSAtODQuNXYtOTMzbC03MDAgLTExN3Y5NTBsNjAwIDEyNWgtNzAwdi0xMDAwaC0xMDB2MTAyNXEwIDIzIDE1LjUgNDl0MzQuNSAyNnpNNTAwIDUyNXYtMTAwbDEwMCAyMHYxMDB6IiAvPgo8L2ZvbnQ%2BCjwvZGVmcz48L3N2Zz4g%29%20format%28%27svg%27%29%7D%2Eglyphicon%7Bposition%3Arelative%3Btop%3A1px%3Bdisplay%3Ainline%2Dblock%3Bfont%2Dfamily%3A%27Glyphicons%20Halflings%27%3Bfont%2Dstyle%3Anormal%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%3B%2Dwebkit%2Dfont%2Dsmoothing%3Aantialiased%3B%2Dmoz%2Dosx%2Dfont%2Dsmoothing%3Agrayscale%7D%2Eglyphicon%2Dasterisk%3Abefore%7Bcontent%3A%22%5C2a%22%7D%2Eglyphicon%2Dplus%3Abefore%7Bcontent%3A%22%5C2b%22%7D%2Eglyphicon%2Deur%3Abefore%2C%2Eglyphicon%2Deuro%3Abefore%7Bcontent%3A%22%5C20ac%22%7D%2Eglyphicon%2Dminus%3Abefore%7Bcontent%3A%22%5C2212%22%7D%2Eglyphicon%2Dcloud%3Abefore%7Bcontent%3A%22%5C2601%22%7D%2Eglyphicon%2Denvelope%3Abefore%7Bcontent%3A%22%5C2709%22%7D%2Eglyphicon%2Dpencil%3Abefore%7Bcontent%3A%22%5C270f%22%7D%2Eglyphicon%2Dglass%3Abefore%7Bcontent%3A%22%5Ce001%22%7D%2Eglyphicon%2Dmusic%3Abefore%7Bcontent%3A%22%5Ce002%22%7D%2Eglyphicon%2Dsearch%3Abefore%7Bcontent%3A%22%5Ce003%22%7D%2Eglyphicon%2Dheart%3Abefore%7Bcontent%3A%22%5Ce005%22%7D%2Eglyphicon%2Dstar%3Abefore%7Bcontent%3A%22%5Ce006%22%7D%2Eglyphicon%2Dstar%2Dempty%3Abefore%7Bcontent%3A%22%5Ce007%22%7D%2Eglyphicon%2Duser%3Abefore%7Bcontent%3A%22%5Ce008%22%7D%2Eglyphicon%2Dfilm%3Abefore%7Bcontent%3A%22%5Ce009%22%7D%2Eglyphicon%2Dth%2Dlarge%3Abefore%7Bcontent%3A%22%5Ce010%22%7D%2Eglyphicon%2Dth%3Abefore%7Bcontent%3A%22%5Ce011%22%7D%2Eglyphicon%2Dth%2Dlist%3Abefore%7Bcontent%3A%22%5Ce012%22%7D%2Eglyphicon%2Dok%3Abefore%7Bcontent%3A%22%5Ce013%22%7D%2Eglyphicon%2Dremove%3Abefore%7Bcontent%3A%22%5Ce014%22%7D%2Eglyphicon%2Dzoom%2Din%3Abefore%7Bcontent%3A%22%5Ce015%22%7D%2Eglyphicon%2Dzoom%2Dout%3Abefore%7Bcontent%3A%22%5Ce016%22%7D%2Eglyphicon%2Doff%3Abefore%7Bcontent%3A%22%5Ce017%22%7D%2Eglyphicon%2Dsignal%3Abefore%7Bcontent%3A%22%5Ce018%22%7D%2Eglyphicon%2Dcog%3Abefore%7Bcontent%3A%22%5Ce019%22%7D%2Eglyphicon%2Dtrash%3Abefore%7Bcontent%3A%22%5Ce020%22%7D%2Eglyphicon%2Dhome%3Abefore%7Bcontent%3A%22%5Ce021%22%7D%2Eglyphicon%2Dfile%3Abefore%7Bcontent%3A%22%5Ce022%22%7D%2Eglyphicon%2Dtime%3Abefore%7Bcontent%3A%22%5Ce023%22%7D%2Eglyphicon%2Droad%3Abefore%7Bcontent%3A%22%5Ce024%22%7D%2Eglyphicon%2Ddownload%2Dalt%3Abefore%7Bcontent%3A%22%5Ce025%22%7D%2Eglyphicon%2Ddownload%3Abefore%7Bcontent%3A%22%5Ce026%22%7D%2Eglyphicon%2Dupload%3Abefore%7Bcontent%3A%22%5Ce027%22%7D%2Eglyphicon%2Dinbox%3Abefore%7Bcontent%3A%22%5Ce028%22%7D%2Eglyphicon%2Dplay%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce029%22%7D%2Eglyphicon%2Drepeat%3Abefore%7Bcontent%3A%22%5Ce030%22%7D%2Eglyphicon%2Drefresh%3Abefore%7Bcontent%3A%22%5Ce031%22%7D%2Eglyphicon%2Dlist%2Dalt%3Abefore%7Bcontent%3A%22%5Ce032%22%7D%2Eglyphicon%2Dlock%3Abefore%7Bcontent%3A%22%5Ce033%22%7D%2Eglyphicon%2Dflag%3Abefore%7Bcontent%3A%22%5Ce034%22%7D%2Eglyphicon%2Dheadphones%3Abefore%7Bcontent%3A%22%5Ce035%22%7D%2Eglyphicon%2Dvolume%2Doff%3Abefore%7Bcontent%3A%22%5Ce036%22%7D%2Eglyphicon%2Dvolume%2Ddown%3Abefore%7Bcontent%3A%22%5Ce037%22%7D%2Eglyphicon%2Dvolume%2Dup%3Abefore%7Bcontent%3A%22%5Ce038%22%7D%2Eglyphicon%2Dqrcode%3Abefore%7Bcontent%3A%22%5Ce039%22%7D%2Eglyphicon%2Dbarcode%3Abefore%7Bcontent%3A%22%5Ce040%22%7D%2Eglyphicon%2Dtag%3Abefore%7Bcontent%3A%22%5Ce041%22%7D%2Eglyphicon%2Dtags%3Abefore%7Bcontent%3A%22%5Ce042%22%7D%2Eglyphicon%2Dbook%3Abefore%7Bcontent%3A%22%5Ce043%22%7D%2Eglyphicon%2Dbookmark%3Abefore%7Bcontent%3A%22%5Ce044%22%7D%2Eglyphicon%2Dprint%3Abefore%7Bcontent%3A%22%5Ce045%22%7D%2Eglyphicon%2Dcamera%3Abefore%7Bcontent%3A%22%5Ce046%22%7D%2Eglyphicon%2Dfont%3Abefore%7Bcontent%3A%22%5Ce047%22%7D%2Eglyphicon%2Dbold%3Abefore%7Bcontent%3A%22%5Ce048%22%7D%2Eglyphicon%2Ditalic%3Abefore%7Bcontent%3A%22%5Ce049%22%7D%2Eglyphicon%2Dtext%2Dheight%3Abefore%7Bcontent%3A%22%5Ce050%22%7D%2Eglyphicon%2Dtext%2Dwidth%3Abefore%7Bcontent%3A%22%5Ce051%22%7D%2Eglyphicon%2Dalign%2Dleft%3Abefore%7Bcontent%3A%22%5Ce052%22%7D%2Eglyphicon%2Dalign%2Dcenter%3Abefore%7Bcontent%3A%22%5Ce053%22%7D%2Eglyphicon%2Dalign%2Dright%3Abefore%7Bcontent%3A%22%5Ce054%22%7D%2Eglyphicon%2Dalign%2Djustify%3Abefore%7Bcontent%3A%22%5Ce055%22%7D%2Eglyphicon%2Dlist%3Abefore%7Bcontent%3A%22%5Ce056%22%7D%2Eglyphicon%2Dindent%2Dleft%3Abefore%7Bcontent%3A%22%5Ce057%22%7D%2Eglyphicon%2Dindent%2Dright%3Abefore%7Bcontent%3A%22%5Ce058%22%7D%2Eglyphicon%2Dfacetime%2Dvideo%3Abefore%7Bcontent%3A%22%5Ce059%22%7D%2Eglyphicon%2Dpicture%3Abefore%7Bcontent%3A%22%5Ce060%22%7D%2Eglyphicon%2Dmap%2Dmarker%3Abefore%7Bcontent%3A%22%5Ce062%22%7D%2Eglyphicon%2Dadjust%3Abefore%7Bcontent%3A%22%5Ce063%22%7D%2Eglyphicon%2Dtint%3Abefore%7Bcontent%3A%22%5Ce064%22%7D%2Eglyphicon%2Dedit%3Abefore%7Bcontent%3A%22%5Ce065%22%7D%2Eglyphicon%2Dshare%3Abefore%7Bcontent%3A%22%5Ce066%22%7D%2Eglyphicon%2Dcheck%3Abefore%7Bcontent%3A%22%5Ce067%22%7D%2Eglyphicon%2Dmove%3Abefore%7Bcontent%3A%22%5Ce068%22%7D%2Eglyphicon%2Dstep%2Dbackward%3Abefore%7Bcontent%3A%22%5Ce069%22%7D%2Eglyphicon%2Dfast%2Dbackward%3Abefore%7Bcontent%3A%22%5Ce070%22%7D%2Eglyphicon%2Dbackward%3Abefore%7Bcontent%3A%22%5Ce071%22%7D%2Eglyphicon%2Dplay%3Abefore%7Bcontent%3A%22%5Ce072%22%7D%2Eglyphicon%2Dpause%3Abefore%7Bcontent%3A%22%5Ce073%22%7D%2Eglyphicon%2Dstop%3Abefore%7Bcontent%3A%22%5Ce074%22%7D%2Eglyphicon%2Dforward%3Abefore%7Bcontent%3A%22%5Ce075%22%7D%2Eglyphicon%2Dfast%2Dforward%3Abefore%7Bcontent%3A%22%5Ce076%22%7D%2Eglyphicon%2Dstep%2Dforward%3Abefore%7Bcontent%3A%22%5Ce077%22%7D%2Eglyphicon%2Deject%3Abefore%7Bcontent%3A%22%5Ce078%22%7D%2Eglyphicon%2Dchevron%2Dleft%3Abefore%7Bcontent%3A%22%5Ce079%22%7D%2Eglyphicon%2Dchevron%2Dright%3Abefore%7Bcontent%3A%22%5Ce080%22%7D%2Eglyphicon%2Dplus%2Dsign%3Abefore%7Bcontent%3A%22%5Ce081%22%7D%2Eglyphicon%2Dminus%2Dsign%3Abefore%7Bcontent%3A%22%5Ce082%22%7D%2Eglyphicon%2Dremove%2Dsign%3Abefore%7Bcontent%3A%22%5Ce083%22%7D%2Eglyphicon%2Dok%2Dsign%3Abefore%7Bcontent%3A%22%5Ce084%22%7D%2Eglyphicon%2Dquestion%2Dsign%3Abefore%7Bcontent%3A%22%5Ce085%22%7D%2Eglyphicon%2Dinfo%2Dsign%3Abefore%7Bcontent%3A%22%5Ce086%22%7D%2Eglyphicon%2Dscreenshot%3Abefore%7Bcontent%3A%22%5Ce087%22%7D%2Eglyphicon%2Dremove%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce088%22%7D%2Eglyphicon%2Dok%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce089%22%7D%2Eglyphicon%2Dban%2Dcircle%3Abefore%7Bcontent%3A%22%5Ce090%22%7D%2Eglyphicon%2Darrow%2Dleft%3Abefore%7Bcontent%3A%22%5Ce091%22%7D%2Eglyphicon%2Darrow%2Dright%3Abefore%7Bcontent%3A%22%5Ce092%22%7D%2Eglyphicon%2Darrow%2Dup%3Abefore%7Bcontent%3A%22%5Ce093%22%7D%2Eglyphicon%2Darrow%2Ddown%3Abefore%7Bcontent%3A%22%5Ce094%22%7D%2Eglyphicon%2Dshare%2Dalt%3Abefore%7Bcontent%3A%22%5Ce095%22%7D%2Eglyphicon%2Dresize%2Dfull%3Abefore%7Bcontent%3A%22%5Ce096%22%7D%2Eglyphicon%2Dresize%2Dsmall%3Abefore%7Bcontent%3A%22%5Ce097%22%7D%2Eglyphicon%2Dexclamation%2Dsign%3Abefore%7Bcontent%3A%22%5Ce101%22%7D%2Eglyphicon%2Dgift%3Abefore%7Bcontent%3A%22%5Ce102%22%7D%2Eglyphicon%2Dleaf%3Abefore%7Bcontent%3A%22%5Ce103%22%7D%2Eglyphicon%2Dfire%3Abefore%7Bcontent%3A%22%5Ce104%22%7D%2Eglyphicon%2Deye%2Dopen%3Abefore%7Bcontent%3A%22%5Ce105%22%7D%2Eglyphicon%2Deye%2Dclose%3Abefore%7Bcontent%3A%22%5Ce106%22%7D%2Eglyphicon%2Dwarning%2Dsign%3Abefore%7Bcontent%3A%22%5Ce107%22%7D%2Eglyphicon%2Dplane%3Abefore%7Bcontent%3A%22%5Ce108%22%7D%2Eglyphicon%2Dcalendar%3Abefore%7Bcontent%3A%22%5Ce109%22%7D%2Eglyphicon%2Drandom%3Abefore%7Bcontent%3A%22%5Ce110%22%7D%2Eglyphicon%2Dcomment%3Abefore%7Bcontent%3A%22%5Ce111%22%7D%2Eglyphicon%2Dmagnet%3Abefore%7Bcontent%3A%22%5Ce112%22%7D%2Eglyphicon%2Dchevron%2Dup%3Abefore%7Bcontent%3A%22%5Ce113%22%7D%2Eglyphicon%2Dchevron%2Ddown%3Abefore%7Bcontent%3A%22%5Ce114%22%7D%2Eglyphicon%2Dretweet%3Abefore%7Bcontent%3A%22%5Ce115%22%7D%2Eglyphicon%2Dshopping%2Dcart%3Abefore%7Bcontent%3A%22%5Ce116%22%7D%2Eglyphicon%2Dfolder%2Dclose%3Abefore%7Bcontent%3A%22%5Ce117%22%7D%2Eglyphicon%2Dfolder%2Dopen%3Abefore%7Bcontent%3A%22%5Ce118%22%7D%2Eglyphicon%2Dresize%2Dvertical%3Abefore%7Bcontent%3A%22%5Ce119%22%7D%2Eglyphicon%2Dresize%2Dhorizontal%3Abefore%7Bcontent%3A%22%5Ce120%22%7D%2Eglyphicon%2Dhdd%3Abefore%7Bcontent%3A%22%5Ce121%22%7D%2Eglyphicon%2Dbullhorn%3Abefore%7Bcontent%3A%22%5Ce122%22%7D%2Eglyphicon%2Dbell%3Abefore%7Bcontent%3A%22%5Ce123%22%7D%2Eglyphicon%2Dcertificate%3Abefore%7Bcontent%3A%22%5Ce124%22%7D%2Eglyphicon%2Dthumbs%2Dup%3Abefore%7Bcontent%3A%22%5Ce125%22%7D%2Eglyphicon%2Dthumbs%2Ddown%3Abefore%7Bcontent%3A%22%5Ce126%22%7D%2Eglyphicon%2Dhand%2Dright%3Abefore%7Bcontent%3A%22%5Ce127%22%7D%2Eglyphicon%2Dhand%2Dleft%3Abefore%7Bcontent%3A%22%5Ce128%22%7D%2Eglyphicon%2Dhand%2Dup%3Abefore%7Bcontent%3A%22%5Ce129%22%7D%2Eglyphicon%2Dhand%2Ddown%3Abefore%7Bcontent%3A%22%5Ce130%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Dright%3Abefore%7Bcontent%3A%22%5Ce131%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Dleft%3Abefore%7Bcontent%3A%22%5Ce132%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Dup%3Abefore%7Bcontent%3A%22%5Ce133%22%7D%2Eglyphicon%2Dcircle%2Darrow%2Ddown%3Abefore%7Bcontent%3A%22%5Ce134%22%7D%2Eglyphicon%2Dglobe%3Abefore%7Bcontent%3A%22%5Ce135%22%7D%2Eglyphicon%2Dwrench%3Abefore%7Bcontent%3A%22%5Ce136%22%7D%2Eglyphicon%2Dtasks%3Abefore%7Bcontent%3A%22%5Ce137%22%7D%2Eglyphicon%2Dfilter%3Abefore%7Bcontent%3A%22%5Ce138%22%7D%2Eglyphicon%2Dbriefcase%3Abefore%7Bcontent%3A%22%5Ce139%22%7D%2Eglyphicon%2Dfullscreen%3Abefore%7Bcontent%3A%22%5Ce140%22%7D%2Eglyphicon%2Ddashboard%3Abefore%7Bcontent%3A%22%5Ce141%22%7D%2Eglyphicon%2Dpaperclip%3Abefore%7Bcontent%3A%22%5Ce142%22%7D%2Eglyphicon%2Dheart%2Dempty%3Abefore%7Bcontent%3A%22%5Ce143%22%7D%2Eglyphicon%2Dlink%3Abefore%7Bcontent%3A%22%5Ce144%22%7D%2Eglyphicon%2Dphone%3Abefore%7Bcontent%3A%22%5Ce145%22%7D%2Eglyphicon%2Dpushpin%3Abefore%7Bcontent%3A%22%5Ce146%22%7D%2Eglyphicon%2Dusd%3Abefore%7Bcontent%3A%22%5Ce148%22%7D%2Eglyphicon%2Dgbp%3Abefore%7Bcontent%3A%22%5Ce149%22%7D%2Eglyphicon%2Dsort%3Abefore%7Bcontent%3A%22%5Ce150%22%7D%2Eglyphicon%2Dsort%2Dby%2Dalphabet%3Abefore%7Bcontent%3A%22%5Ce151%22%7D%2Eglyphicon%2Dsort%2Dby%2Dalphabet%2Dalt%3Abefore%7Bcontent%3A%22%5Ce152%22%7D%2Eglyphicon%2Dsort%2Dby%2Dorder%3Abefore%7Bcontent%3A%22%5Ce153%22%7D%2Eglyphicon%2Dsort%2Dby%2Dorder%2Dalt%3Abefore%7Bcontent%3A%22%5Ce154%22%7D%2Eglyphicon%2Dsort%2Dby%2Dattributes%3Abefore%7Bcontent%3A%22%5Ce155%22%7D%2Eglyphicon%2Dsort%2Dby%2Dattributes%2Dalt%3Abefore%7Bcontent%3A%22%5Ce156%22%7D%2Eglyphicon%2Dunchecked%3Abefore%7Bcontent%3A%22%5Ce157%22%7D%2Eglyphicon%2Dexpand%3Abefore%7Bcontent%3A%22%5Ce158%22%7D%2Eglyphicon%2Dcollapse%2Ddown%3Abefore%7Bcontent%3A%22%5Ce159%22%7D%2Eglyphicon%2Dcollapse%2Dup%3Abefore%7Bcontent%3A%22%5Ce160%22%7D%2Eglyphicon%2Dlog%2Din%3Abefore%7Bcontent%3A%22%5Ce161%22%7D%2Eglyphicon%2Dflash%3Abefore%7Bcontent%3A%22%5Ce162%22%7D%2Eglyphicon%2Dlog%2Dout%3Abefore%7Bcontent%3A%22%5Ce163%22%7D%2Eglyphicon%2Dnew%2Dwindow%3Abefore%7Bcontent%3A%22%5Ce164%22%7D%2Eglyphicon%2Drecord%3Abefore%7Bcontent%3A%22%5Ce165%22%7D%2Eglyphicon%2Dsave%3Abefore%7Bcontent%3A%22%5Ce166%22%7D%2Eglyphicon%2Dopen%3Abefore%7Bcontent%3A%22%5Ce167%22%7D%2Eglyphicon%2Dsaved%3Abefore%7Bcontent%3A%22%5Ce168%22%7D%2Eglyphicon%2Dimport%3Abefore%7Bcontent%3A%22%5Ce169%22%7D%2Eglyphicon%2Dexport%3Abefore%7Bcontent%3A%22%5Ce170%22%7D%2Eglyphicon%2Dsend%3Abefore%7Bcontent%3A%22%5Ce171%22%7D%2Eglyphicon%2Dfloppy%2Ddisk%3Abefore%7Bcontent%3A%22%5Ce172%22%7D%2Eglyphicon%2Dfloppy%2Dsaved%3Abefore%7Bcontent%3A%22%5Ce173%22%7D%2Eglyphicon%2Dfloppy%2Dremove%3Abefore%7Bcontent%3A%22%5Ce174%22%7D%2Eglyphicon%2Dfloppy%2Dsave%3Abefore%7Bcontent%3A%22%5Ce175%22%7D%2Eglyphicon%2Dfloppy%2Dopen%3Abefore%7Bcontent%3A%22%5Ce176%22%7D%2Eglyphicon%2Dcredit%2Dcard%3Abefore%7Bcontent%3A%22%5Ce177%22%7D%2Eglyphicon%2Dtransfer%3Abefore%7Bcontent%3A%22%5Ce178%22%7D%2Eglyphicon%2Dcutlery%3Abefore%7Bcontent%3A%22%5Ce179%22%7D%2Eglyphicon%2Dheader%3Abefore%7Bcontent%3A%22%5Ce180%22%7D%2Eglyphicon%2Dcompressed%3Abefore%7Bcontent%3A%22%5Ce181%22%7D%2Eglyphicon%2Dearphone%3Abefore%7Bcontent%3A%22%5Ce182%22%7D%2Eglyphicon%2Dphone%2Dalt%3Abefore%7Bcontent%3A%22%5Ce183%22%7D%2Eglyphicon%2Dtower%3Abefore%7Bcontent%3A%22%5Ce184%22%7D%2Eglyphicon%2Dstats%3Abefore%7Bcontent%3A%22%5Ce185%22%7D%2Eglyphicon%2Dsd%2Dvideo%3Abefore%7Bcontent%3A%22%5Ce186%22%7D%2Eglyphicon%2Dhd%2Dvideo%3Abefore%7Bcontent%3A%22%5Ce187%22%7D%2Eglyphicon%2Dsubtitles%3Abefore%7Bcontent%3A%22%5Ce188%22%7D%2Eglyphicon%2Dsound%2Dstereo%3Abefore%7Bcontent%3A%22%5Ce189%22%7D%2Eglyphicon%2Dsound%2Ddolby%3Abefore%7Bcontent%3A%22%5Ce190%22%7D%2Eglyphicon%2Dsound%2D5%2D1%3Abefore%7Bcontent%3A%22%5Ce191%22%7D%2Eglyphicon%2Dsound%2D6%2D1%3Abefore%7Bcontent%3A%22%5Ce192%22%7D%2Eglyphicon%2Dsound%2D7%2D1%3Abefore%7Bcontent%3A%22%5Ce193%22%7D%2Eglyphicon%2Dcopyright%2Dmark%3Abefore%7Bcontent%3A%22%5Ce194%22%7D%2Eglyphicon%2Dregistration%2Dmark%3Abefore%7Bcontent%3A%22%5Ce195%22%7D%2Eglyphicon%2Dcloud%2Ddownload%3Abefore%7Bcontent%3A%22%5Ce197%22%7D%2Eglyphicon%2Dcloud%2Dupload%3Abefore%7Bcontent%3A%22%5Ce198%22%7D%2Eglyphicon%2Dtree%2Dconifer%3Abefore%7Bcontent%3A%22%5Ce199%22%7D%2Eglyphicon%2Dtree%2Ddeciduous%3Abefore%7Bcontent%3A%22%5Ce200%22%7D%2Eglyphicon%2Dcd%3Abefore%7Bcontent%3A%22%5Ce201%22%7D%2Eglyphicon%2Dsave%2Dfile%3Abefore%7Bcontent%3A%22%5Ce202%22%7D%2Eglyphicon%2Dopen%2Dfile%3Abefore%7Bcontent%3A%22%5Ce203%22%7D%2Eglyphicon%2Dlevel%2Dup%3Abefore%7Bcontent%3A%22%5Ce204%22%7D%2Eglyphicon%2Dcopy%3Abefore%7Bcontent%3A%22%5Ce205%22%7D%2Eglyphicon%2Dpaste%3Abefore%7Bcontent%3A%22%5Ce206%22%7D%2Eglyphicon%2Dalert%3Abefore%7Bcontent%3A%22%5Ce209%22%7D%2Eglyphicon%2Dequalizer%3Abefore%7Bcontent%3A%22%5Ce210%22%7D%2Eglyphicon%2Dking%3Abefore%7Bcontent%3A%22%5Ce211%22%7D%2Eglyphicon%2Dqueen%3Abefore%7Bcontent%3A%22%5Ce212%22%7D%2Eglyphicon%2Dpawn%3Abefore%7Bcontent%3A%22%5Ce213%22%7D%2Eglyphicon%2Dbishop%3Abefore%7Bcontent%3A%22%5Ce214%22%7D%2Eglyphicon%2Dknight%3Abefore%7Bcontent%3A%22%5Ce215%22%7D%2Eglyphicon%2Dbaby%2Dformula%3Abefore%7Bcontent%3A%22%5Ce216%22%7D%2Eglyphicon%2Dtent%3Abefore%7Bcontent%3A%22%5C26fa%22%7D%2Eglyphicon%2Dblackboard%3Abefore%7Bcontent%3A%22%5Ce218%22%7D%2Eglyphicon%2Dbed%3Abefore%7Bcontent%3A%22%5Ce219%22%7D%2Eglyphicon%2Dapple%3Abefore%7Bcontent%3A%22%5Cf8ff%22%7D%2Eglyphicon%2Derase%3Abefore%7Bcontent%3A%22%5Ce221%22%7D%2Eglyphicon%2Dhourglass%3Abefore%7Bcontent%3A%22%5C231b%22%7D%2Eglyphicon%2Dlamp%3Abefore%7Bcontent%3A%22%5Ce223%22%7D%2Eglyphicon%2Dduplicate%3Abefore%7Bcontent%3A%22%5Ce224%22%7D%2Eglyphicon%2Dpiggy%2Dbank%3Abefore%7Bcontent%3A%22%5Ce225%22%7D%2Eglyphicon%2Dscissors%3Abefore%7Bcontent%3A%22%5Ce226%22%7D%2Eglyphicon%2Dbitcoin%3Abefore%7Bcontent%3A%22%5Ce227%22%7D%2Eglyphicon%2Dbtc%3Abefore%7Bcontent%3A%22%5Ce227%22%7D%2Eglyphicon%2Dxbt%3Abefore%7Bcontent%3A%22%5Ce227%22%7D%2Eglyphicon%2Dyen%3Abefore%7Bcontent%3A%22%5C00a5%22%7D%2Eglyphicon%2Djpy%3Abefore%7Bcontent%3A%22%5C00a5%22%7D%2Eglyphicon%2Druble%3Abefore%7Bcontent%3A%22%5C20bd%22%7D%2Eglyphicon%2Drub%3Abefore%7Bcontent%3A%22%5C20bd%22%7D%2Eglyphicon%2Dscale%3Abefore%7Bcontent%3A%22%5Ce230%22%7D%2Eglyphicon%2Dice%2Dlolly%3Abefore%7Bcontent%3A%22%5Ce231%22%7D%2Eglyphicon%2Dice%2Dlolly%2Dtasted%3Abefore%7Bcontent%3A%22%5Ce232%22%7D%2Eglyphicon%2Deducation%3Abefore%7Bcontent%3A%22%5Ce233%22%7D%2Eglyphicon%2Doption%2Dhorizontal%3Abefore%7Bcontent%3A%22%5Ce234%22%7D%2Eglyphicon%2Doption%2Dvertical%3Abefore%7Bcontent%3A%22%5Ce235%22%7D%2Eglyphicon%2Dmenu%2Dhamburger%3Abefore%7Bcontent%3A%22%5Ce236%22%7D%2Eglyphicon%2Dmodal%2Dwindow%3Abefore%7Bcontent%3A%22%5Ce237%22%7D%2Eglyphicon%2Doil%3Abefore%7Bcontent%3A%22%5Ce238%22%7D%2Eglyphicon%2Dgrain%3Abefore%7Bcontent%3A%22%5Ce239%22%7D%2Eglyphicon%2Dsunglasses%3Abefore%7Bcontent%3A%22%5Ce240%22%7D%2Eglyphicon%2Dtext%2Dsize%3Abefore%7Bcontent%3A%22%5Ce241%22%7D%2Eglyphicon%2Dtext%2Dcolor%3Abefore%7Bcontent%3A%22%5Ce242%22%7D%2Eglyphicon%2Dtext%2Dbackground%3Abefore%7Bcontent%3A%22%5Ce243%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dtop%3Abefore%7Bcontent%3A%22%5Ce244%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dbottom%3Abefore%7Bcontent%3A%22%5Ce245%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dhorizontal%3Abefore%7Bcontent%3A%22%5Ce246%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dleft%3Abefore%7Bcontent%3A%22%5Ce247%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dvertical%3Abefore%7Bcontent%3A%22%5Ce248%22%7D%2Eglyphicon%2Dobject%2Dalign%2Dright%3Abefore%7Bcontent%3A%22%5Ce249%22%7D%2Eglyphicon%2Dtriangle%2Dright%3Abefore%7Bcontent%3A%22%5Ce250%22%7D%2Eglyphicon%2Dtriangle%2Dleft%3Abefore%7Bcontent%3A%22%5Ce251%22%7D%2Eglyphicon%2Dtriangle%2Dbottom%3Abefore%7Bcontent%3A%22%5Ce252%22%7D%2Eglyphicon%2Dtriangle%2Dtop%3Abefore%7Bcontent%3A%22%5Ce253%22%7D%2Eglyphicon%2Dconsole%3Abefore%7Bcontent%3A%22%5Ce254%22%7D%2Eglyphicon%2Dsuperscript%3Abefore%7Bcontent%3A%22%5Ce255%22%7D%2Eglyphicon%2Dsubscript%3Abefore%7Bcontent%3A%22%5Ce256%22%7D%2Eglyphicon%2Dmenu%2Dleft%3Abefore%7Bcontent%3A%22%5Ce257%22%7D%2Eglyphicon%2Dmenu%2Dright%3Abefore%7Bcontent%3A%22%5Ce258%22%7D%2Eglyphicon%2Dmenu%2Ddown%3Abefore%7Bcontent%3A%22%5Ce259%22%7D%2Eglyphicon%2Dmenu%2Dup%3Abefore%7Bcontent%3A%22%5Ce260%22%7D%2A%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%7D%3Aafter%2C%3Abefore%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%7Dhtml%7Bfont%2Dsize%3A10px%3B%2Dwebkit%2Dtap%2Dhighlight%2Dcolor%3Argba%280%2C0%2C0%2C0%29%7Dbody%7Bfont%2Dfamily%3A%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans%2Dserif%3Bfont%2Dsize%3A14px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23fff%7Dbutton%2Cinput%2Cselect%2Ctextarea%7Bfont%2Dfamily%3Ainherit%3Bfont%2Dsize%3Ainherit%3Bline%2Dheight%3Ainherit%7Da%7Bcolor%3A%23337ab7%3Btext%2Ddecoration%3Anone%7Da%3Afocus%2Ca%3Ahover%7Bcolor%3A%2323527c%3Btext%2Ddecoration%3Aunderline%7Da%3Afocus%7Boutline%3Athin%20dotted%3Boutline%3A5px%20auto%20%2Dwebkit%2Dfocus%2Dring%2Dcolor%3Boutline%2Doffset%3A%2D2px%7Dfigure%7Bmargin%3A0%7Dimg%7Bvertical%2Dalign%3Amiddle%7D%2Ecarousel%2Dinner%3E%2Eitem%3Ea%3Eimg%2C%2Ecarousel%2Dinner%3E%2Eitem%3Eimg%2C%2Eimg%2Dresponsive%2C%2Ethumbnail%20a%3Eimg%2C%2Ethumbnail%3Eimg%7Bdisplay%3Ablock%3Bmax%2Dwidth%3A100%25%3Bheight%3Aauto%7D%2Eimg%2Drounded%7Bborder%2Dradius%3A6px%7D%2Eimg%2Dthumbnail%7Bdisplay%3Ainline%2Dblock%3Bmax%2Dwidth%3A100%25%3Bheight%3Aauto%3Bpadding%3A4px%3Bline%2Dheight%3A1%2E42857143%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dtransition%3Aall%20%2E2s%20ease%2Din%2Dout%3B%2Do%2Dtransition%3Aall%20%2E2s%20ease%2Din%2Dout%3Btransition%3Aall%20%2E2s%20ease%2Din%2Dout%7D%2Eimg%2Dcircle%7Bborder%2Dradius%3A50%25%7Dhr%7Bmargin%2Dtop%3A20px%3Bmargin%2Dbottom%3A20px%3Bborder%3A0%3Bborder%2Dtop%3A1px%20solid%20%23eee%7D%2Esr%2Donly%7Bposition%3Aabsolute%3Bwidth%3A1px%3Bheight%3A1px%3Bpadding%3A0%3Bmargin%3A%2D1px%3Boverflow%3Ahidden%3Bclip%3Arect%280%2C0%2C0%2C0%29%3Bborder%3A0%7D%2Esr%2Donly%2Dfocusable%3Aactive%2C%2Esr%2Donly%2Dfocusable%3Afocus%7Bposition%3Astatic%3Bwidth%3Aauto%3Bheight%3Aauto%3Bmargin%3A0%3Boverflow%3Avisible%3Bclip%3Aauto%7D%5Brole%3Dbutton%5D%7Bcursor%3Apointer%7D%2Eh1%2C%2Eh2%2C%2Eh3%2C%2Eh4%2C%2Eh5%2C%2Eh6%2Ch1%2Ch2%2Ch3%2Ch4%2Ch5%2Ch6%7Bfont%2Dfamily%3Ainherit%3Bfont%2Dweight%3A500%3Bline%2Dheight%3A1%2E1%3Bcolor%3Ainherit%7D%2Eh1%20%2Esmall%2C%2Eh1%20small%2C%2Eh2%20%2Esmall%2C%2Eh2%20small%2C%2Eh3%20%2Esmall%2C%2Eh3%20small%2C%2Eh4%20%2Esmall%2C%2Eh4%20small%2C%2Eh5%20%2Esmall%2C%2Eh5%20small%2C%2Eh6%20%2Esmall%2C%2Eh6%20small%2Ch1%20%2Esmall%2Ch1%20small%2Ch2%20%2Esmall%2Ch2%20small%2Ch3%20%2Esmall%2Ch3%20small%2Ch4%20%2Esmall%2Ch4%20small%2Ch5%20%2Esmall%2Ch5%20small%2Ch6%20%2Esmall%2Ch6%20small%7Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%3Bcolor%3A%23777%7D%2Eh1%2C%2Eh2%2C%2Eh3%2Ch1%2Ch2%2Ch3%7Bmargin%2Dtop%3A20px%3Bmargin%2Dbottom%3A10px%7D%2Eh1%20%2Esmall%2C%2Eh1%20small%2C%2Eh2%20%2Esmall%2C%2Eh2%20small%2C%2Eh3%20%2Esmall%2C%2Eh3%20small%2Ch1%20%2Esmall%2Ch1%20small%2Ch2%20%2Esmall%2Ch2%20small%2Ch3%20%2Esmall%2Ch3%20small%7Bfont%2Dsize%3A65%25%7D%2Eh4%2C%2Eh5%2C%2Eh6%2Ch4%2Ch5%2Ch6%7Bmargin%2Dtop%3A10px%3Bmargin%2Dbottom%3A10px%7D%2Eh4%20%2Esmall%2C%2Eh4%20small%2C%2Eh5%20%2Esmall%2C%2Eh5%20small%2C%2Eh6%20%2Esmall%2C%2Eh6%20small%2Ch4%20%2Esmall%2Ch4%20small%2Ch5%20%2Esmall%2Ch5%20small%2Ch6%20%2Esmall%2Ch6%20small%7Bfont%2Dsize%3A75%25%7D%2Eh1%2Ch1%7Bfont%2Dsize%3A36px%7D%2Eh2%2Ch2%7Bfont%2Dsize%3A30px%7D%2Eh3%2Ch3%7Bfont%2Dsize%3A24px%7D%2Eh4%2Ch4%7Bfont%2Dsize%3A18px%7D%2Eh5%2Ch5%7Bfont%2Dsize%3A14px%7D%2Eh6%2Ch6%7Bfont%2Dsize%3A12px%7Dp%7Bmargin%3A0%200%2010px%7D%2Elead%7Bmargin%2Dbottom%3A20px%3Bfont%2Dsize%3A16px%3Bfont%2Dweight%3A300%3Bline%2Dheight%3A1%2E4%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Elead%7Bfont%2Dsize%3A21px%7D%7D%2Esmall%2Csmall%7Bfont%2Dsize%3A85%25%7D%2Emark%2Cmark%7Bpadding%3A%2E2em%3Bbackground%2Dcolor%3A%23fcf8e3%7D%2Etext%2Dleft%7Btext%2Dalign%3Aleft%7D%2Etext%2Dright%7Btext%2Dalign%3Aright%7D%2Etext%2Dcenter%7Btext%2Dalign%3Acenter%7D%2Etext%2Djustify%7Btext%2Dalign%3Ajustify%7D%2Etext%2Dnowrap%7Bwhite%2Dspace%3Anowrap%7D%2Etext%2Dlowercase%7Btext%2Dtransform%3Alowercase%7D%2Etext%2Duppercase%7Btext%2Dtransform%3Auppercase%7D%2Etext%2Dcapitalize%7Btext%2Dtransform%3Acapitalize%7D%2Etext%2Dmuted%7Bcolor%3A%23777%7D%2Etext%2Dprimary%7Bcolor%3A%23337ab7%7Da%2Etext%2Dprimary%3Afocus%2Ca%2Etext%2Dprimary%3Ahover%7Bcolor%3A%23286090%7D%2Etext%2Dsuccess%7Bcolor%3A%233c763d%7Da%2Etext%2Dsuccess%3Afocus%2Ca%2Etext%2Dsuccess%3Ahover%7Bcolor%3A%232b542c%7D%2Etext%2Dinfo%7Bcolor%3A%2331708f%7Da%2Etext%2Dinfo%3Afocus%2Ca%2Etext%2Dinfo%3Ahover%7Bcolor%3A%23245269%7D%2Etext%2Dwarning%7Bcolor%3A%238a6d3b%7Da%2Etext%2Dwarning%3Afocus%2Ca%2Etext%2Dwarning%3Ahover%7Bcolor%3A%2366512c%7D%2Etext%2Ddanger%7Bcolor%3A%23a94442%7Da%2Etext%2Ddanger%3Afocus%2Ca%2Etext%2Ddanger%3Ahover%7Bcolor%3A%23843534%7D%2Ebg%2Dprimary%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%7Da%2Ebg%2Dprimary%3Afocus%2Ca%2Ebg%2Dprimary%3Ahover%7Bbackground%2Dcolor%3A%23286090%7D%2Ebg%2Dsuccess%7Bbackground%2Dcolor%3A%23dff0d8%7Da%2Ebg%2Dsuccess%3Afocus%2Ca%2Ebg%2Dsuccess%3Ahover%7Bbackground%2Dcolor%3A%23c1e2b3%7D%2Ebg%2Dinfo%7Bbackground%2Dcolor%3A%23d9edf7%7Da%2Ebg%2Dinfo%3Afocus%2Ca%2Ebg%2Dinfo%3Ahover%7Bbackground%2Dcolor%3A%23afd9ee%7D%2Ebg%2Dwarning%7Bbackground%2Dcolor%3A%23fcf8e3%7Da%2Ebg%2Dwarning%3Afocus%2Ca%2Ebg%2Dwarning%3Ahover%7Bbackground%2Dcolor%3A%23f7ecb5%7D%2Ebg%2Ddanger%7Bbackground%2Dcolor%3A%23f2dede%7Da%2Ebg%2Ddanger%3Afocus%2Ca%2Ebg%2Ddanger%3Ahover%7Bbackground%2Dcolor%3A%23e4b9b9%7D%2Epage%2Dheader%7Bpadding%2Dbottom%3A9px%3Bmargin%3A40px%200%2020px%3Bborder%2Dbottom%3A1px%20solid%20%23eee%7Dol%2Cul%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A10px%7Dol%20ol%2Col%20ul%2Cul%20ol%2Cul%20ul%7Bmargin%2Dbottom%3A0%7D%2Elist%2Dunstyled%7Bpadding%2Dleft%3A0%3Blist%2Dstyle%3Anone%7D%2Elist%2Dinline%7Bpadding%2Dleft%3A0%3Bmargin%2Dleft%3A%2D5px%3Blist%2Dstyle%3Anone%7D%2Elist%2Dinline%3Eli%7Bdisplay%3Ainline%2Dblock%3Bpadding%2Dright%3A5px%3Bpadding%2Dleft%3A5px%7Ddl%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A20px%7Ddd%2Cdt%7Bline%2Dheight%3A1%2E42857143%7Ddt%7Bfont%2Dweight%3A700%7Ddd%7Bmargin%2Dleft%3A0%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Edl%2Dhorizontal%20dt%7Bfloat%3Aleft%3Bwidth%3A160px%3Boverflow%3Ahidden%3Bclear%3Aleft%3Btext%2Dalign%3Aright%3Btext%2Doverflow%3Aellipsis%3Bwhite%2Dspace%3Anowrap%7D%2Edl%2Dhorizontal%20dd%7Bmargin%2Dleft%3A180px%7D%7Dabbr%5Bdata%2Doriginal%2Dtitle%5D%2Cabbr%5Btitle%5D%7Bcursor%3Ahelp%3Bborder%2Dbottom%3A1px%20dotted%20%23777%7D%2Einitialism%7Bfont%2Dsize%3A90%25%3Btext%2Dtransform%3Auppercase%7Dblockquote%7Bpadding%3A10px%2020px%3Bmargin%3A0%200%2020px%3Bfont%2Dsize%3A17%2E5px%3Bborder%2Dleft%3A5px%20solid%20%23eee%7Dblockquote%20ol%3Alast%2Dchild%2Cblockquote%20p%3Alast%2Dchild%2Cblockquote%20ul%3Alast%2Dchild%7Bmargin%2Dbottom%3A0%7Dblockquote%20%2Esmall%2Cblockquote%20footer%2Cblockquote%20small%7Bdisplay%3Ablock%3Bfont%2Dsize%3A80%25%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23777%7Dblockquote%20%2Esmall%3Abefore%2Cblockquote%20footer%3Abefore%2Cblockquote%20small%3Abefore%7Bcontent%3A%27%5C2014%20%5C00A0%27%7D%2Eblockquote%2Dreverse%2Cblockquote%2Epull%2Dright%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A0%3Btext%2Dalign%3Aright%3Bborder%2Dright%3A5px%20solid%20%23eee%3Bborder%2Dleft%3A0%7D%2Eblockquote%2Dreverse%20%2Esmall%3Abefore%2C%2Eblockquote%2Dreverse%20footer%3Abefore%2C%2Eblockquote%2Dreverse%20small%3Abefore%2Cblockquote%2Epull%2Dright%20%2Esmall%3Abefore%2Cblockquote%2Epull%2Dright%20footer%3Abefore%2Cblockquote%2Epull%2Dright%20small%3Abefore%7Bcontent%3A%27%27%7D%2Eblockquote%2Dreverse%20%2Esmall%3Aafter%2C%2Eblockquote%2Dreverse%20footer%3Aafter%2C%2Eblockquote%2Dreverse%20small%3Aafter%2Cblockquote%2Epull%2Dright%20%2Esmall%3Aafter%2Cblockquote%2Epull%2Dright%20footer%3Aafter%2Cblockquote%2Epull%2Dright%20small%3Aafter%7Bcontent%3A%27%5C00A0%20%5C2014%27%7Daddress%7Bmargin%2Dbottom%3A20px%3Bfont%2Dstyle%3Anormal%3Bline%2Dheight%3A1%2E42857143%7Dcode%2Ckbd%2Cpre%2Csamp%7Bfont%2Dfamily%3Amonospace%7Dcode%7Bpadding%3A2px%204px%3Bfont%2Dsize%3A90%25%3Bcolor%3A%23c7254e%3Bbackground%2Dcolor%3A%23f9f2f4%3Bborder%2Dradius%3A4px%7Dkbd%7Bpadding%3A2px%204px%3Bfont%2Dsize%3A90%25%3Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23333%3Bborder%2Dradius%3A3px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E25%29%3Bbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E25%29%7Dkbd%20kbd%7Bpadding%3A0%3Bfont%2Dsize%3A100%25%3Bfont%2Dweight%3A700%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7Dpre%7Bdisplay%3Ablock%3Bpadding%3A9%2E5px%3Bmargin%3A0%200%2010px%3Bfont%2Dsize%3A13px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23333%3Bword%2Dbreak%3Abreak%2Dall%3Bword%2Dwrap%3Abreak%2Dword%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%3A1px%20solid%20%23ccc%3Bborder%2Dradius%3A4px%7Dpre%20code%7Bpadding%3A0%3Bfont%2Dsize%3Ainherit%3Bcolor%3Ainherit%3Bwhite%2Dspace%3Apre%2Dwrap%3Bbackground%2Dcolor%3Atransparent%3Bborder%2Dradius%3A0%7D%2Epre%2Dscrollable%7Bmax%2Dheight%3A340px%3Boverflow%2Dy%3Ascroll%7D%2Econtainer%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%3Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Econtainer%7Bwidth%3A750px%7D%7D%40media%20%28min%2Dwidth%3A992px%29%7B%2Econtainer%7Bwidth%3A970px%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Econtainer%7Bwidth%3A1170px%7D%7D%2Econtainer%2Dfluid%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%3Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7D%2Erow%7Bmargin%2Dright%3A%2D15px%3Bmargin%2Dleft%3A%2D15px%7D%2Ecol%2Dlg%2D1%2C%2Ecol%2Dlg%2D10%2C%2Ecol%2Dlg%2D11%2C%2Ecol%2Dlg%2D12%2C%2Ecol%2Dlg%2D2%2C%2Ecol%2Dlg%2D3%2C%2Ecol%2Dlg%2D4%2C%2Ecol%2Dlg%2D5%2C%2Ecol%2Dlg%2D6%2C%2Ecol%2Dlg%2D7%2C%2Ecol%2Dlg%2D8%2C%2Ecol%2Dlg%2D9%2C%2Ecol%2Dmd%2D1%2C%2Ecol%2Dmd%2D10%2C%2Ecol%2Dmd%2D11%2C%2Ecol%2Dmd%2D12%2C%2Ecol%2Dmd%2D2%2C%2Ecol%2Dmd%2D3%2C%2Ecol%2Dmd%2D4%2C%2Ecol%2Dmd%2D5%2C%2Ecol%2Dmd%2D6%2C%2Ecol%2Dmd%2D7%2C%2Ecol%2Dmd%2D8%2C%2Ecol%2Dmd%2D9%2C%2Ecol%2Dsm%2D1%2C%2Ecol%2Dsm%2D10%2C%2Ecol%2Dsm%2D11%2C%2Ecol%2Dsm%2D12%2C%2Ecol%2Dsm%2D2%2C%2Ecol%2Dsm%2D3%2C%2Ecol%2Dsm%2D4%2C%2Ecol%2Dsm%2D5%2C%2Ecol%2Dsm%2D6%2C%2Ecol%2Dsm%2D7%2C%2Ecol%2Dsm%2D8%2C%2Ecol%2Dsm%2D9%2C%2Ecol%2Dxs%2D1%2C%2Ecol%2Dxs%2D10%2C%2Ecol%2Dxs%2D11%2C%2Ecol%2Dxs%2D12%2C%2Ecol%2Dxs%2D2%2C%2Ecol%2Dxs%2D3%2C%2Ecol%2Dxs%2D4%2C%2Ecol%2Dxs%2D5%2C%2Ecol%2Dxs%2D6%2C%2Ecol%2Dxs%2D7%2C%2Ecol%2Dxs%2D8%2C%2Ecol%2Dxs%2D9%7Bposition%3Arelative%3Bmin%2Dheight%3A1px%3Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%7D%2Ecol%2Dxs%2D1%2C%2Ecol%2Dxs%2D10%2C%2Ecol%2Dxs%2D11%2C%2Ecol%2Dxs%2D12%2C%2Ecol%2Dxs%2D2%2C%2Ecol%2Dxs%2D3%2C%2Ecol%2Dxs%2D4%2C%2Ecol%2Dxs%2D5%2C%2Ecol%2Dxs%2D6%2C%2Ecol%2Dxs%2D7%2C%2Ecol%2Dxs%2D8%2C%2Ecol%2Dxs%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dxs%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dxs%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dxs%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dxs%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dxs%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dxs%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dxs%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dxs%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dxs%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dxs%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dxs%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dxs%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dxs%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dxs%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dxs%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dxs%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dxs%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dxs%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dxs%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dxs%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dxs%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dxs%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dxs%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dxs%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dxs%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dxs%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dxs%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dxs%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dxs%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dxs%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Ecol%2Dsm%2D1%2C%2Ecol%2Dsm%2D10%2C%2Ecol%2Dsm%2D11%2C%2Ecol%2Dsm%2D12%2C%2Ecol%2Dsm%2D2%2C%2Ecol%2Dsm%2D3%2C%2Ecol%2Dsm%2D4%2C%2Ecol%2Dsm%2D5%2C%2Ecol%2Dsm%2D6%2C%2Ecol%2Dsm%2D7%2C%2Ecol%2Dsm%2D8%2C%2Ecol%2Dsm%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dsm%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dsm%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dsm%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dsm%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dsm%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dsm%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dsm%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dsm%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dsm%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dsm%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dsm%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dsm%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dsm%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dsm%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dsm%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dsm%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dsm%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dsm%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dsm%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dsm%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dsm%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dsm%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dsm%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dsm%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dsm%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dsm%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dsm%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dsm%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dsm%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dsm%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%7D%40media%20%28min%2Dwidth%3A992px%29%7B%2Ecol%2Dmd%2D1%2C%2Ecol%2Dmd%2D10%2C%2Ecol%2Dmd%2D11%2C%2Ecol%2Dmd%2D12%2C%2Ecol%2Dmd%2D2%2C%2Ecol%2Dmd%2D3%2C%2Ecol%2Dmd%2D4%2C%2Ecol%2Dmd%2D5%2C%2Ecol%2Dmd%2D6%2C%2Ecol%2Dmd%2D7%2C%2Ecol%2Dmd%2D8%2C%2Ecol%2Dmd%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dmd%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dmd%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dmd%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dmd%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dmd%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dmd%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dmd%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dmd%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dmd%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dmd%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dmd%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dmd%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dmd%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dmd%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dmd%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dmd%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dmd%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dmd%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dmd%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dmd%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dmd%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dmd%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dmd%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dmd%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dmd%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dmd%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dmd%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dmd%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dmd%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dmd%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Ecol%2Dlg%2D1%2C%2Ecol%2Dlg%2D10%2C%2Ecol%2Dlg%2D11%2C%2Ecol%2Dlg%2D12%2C%2Ecol%2Dlg%2D2%2C%2Ecol%2Dlg%2D3%2C%2Ecol%2Dlg%2D4%2C%2Ecol%2Dlg%2D5%2C%2Ecol%2Dlg%2D6%2C%2Ecol%2Dlg%2D7%2C%2Ecol%2Dlg%2D8%2C%2Ecol%2Dlg%2D9%7Bfloat%3Aleft%7D%2Ecol%2Dlg%2D12%7Bwidth%3A100%25%7D%2Ecol%2Dlg%2D11%7Bwidth%3A91%2E66666667%25%7D%2Ecol%2Dlg%2D10%7Bwidth%3A83%2E33333333%25%7D%2Ecol%2Dlg%2D9%7Bwidth%3A75%25%7D%2Ecol%2Dlg%2D8%7Bwidth%3A66%2E66666667%25%7D%2Ecol%2Dlg%2D7%7Bwidth%3A58%2E33333333%25%7D%2Ecol%2Dlg%2D6%7Bwidth%3A50%25%7D%2Ecol%2Dlg%2D5%7Bwidth%3A41%2E66666667%25%7D%2Ecol%2Dlg%2D4%7Bwidth%3A33%2E33333333%25%7D%2Ecol%2Dlg%2D3%7Bwidth%3A25%25%7D%2Ecol%2Dlg%2D2%7Bwidth%3A16%2E66666667%25%7D%2Ecol%2Dlg%2D1%7Bwidth%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D12%7Bright%3A100%25%7D%2Ecol%2Dlg%2Dpull%2D11%7Bright%3A91%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D10%7Bright%3A83%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D9%7Bright%3A75%25%7D%2Ecol%2Dlg%2Dpull%2D8%7Bright%3A66%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D7%7Bright%3A58%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D6%7Bright%3A50%25%7D%2Ecol%2Dlg%2Dpull%2D5%7Bright%3A41%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D4%7Bright%3A33%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D3%7Bright%3A25%25%7D%2Ecol%2Dlg%2Dpull%2D2%7Bright%3A16%2E66666667%25%7D%2Ecol%2Dlg%2Dpull%2D1%7Bright%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Dpull%2D0%7Bright%3Aauto%7D%2Ecol%2Dlg%2Dpush%2D12%7Bleft%3A100%25%7D%2Ecol%2Dlg%2Dpush%2D11%7Bleft%3A91%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D10%7Bleft%3A83%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D9%7Bleft%3A75%25%7D%2Ecol%2Dlg%2Dpush%2D8%7Bleft%3A66%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D7%7Bleft%3A58%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D6%7Bleft%3A50%25%7D%2Ecol%2Dlg%2Dpush%2D5%7Bleft%3A41%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D4%7Bleft%3A33%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D3%7Bleft%3A25%25%7D%2Ecol%2Dlg%2Dpush%2D2%7Bleft%3A16%2E66666667%25%7D%2Ecol%2Dlg%2Dpush%2D1%7Bleft%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Dpush%2D0%7Bleft%3Aauto%7D%2Ecol%2Dlg%2Doffset%2D12%7Bmargin%2Dleft%3A100%25%7D%2Ecol%2Dlg%2Doffset%2D11%7Bmargin%2Dleft%3A91%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D10%7Bmargin%2Dleft%3A83%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D9%7Bmargin%2Dleft%3A75%25%7D%2Ecol%2Dlg%2Doffset%2D8%7Bmargin%2Dleft%3A66%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D7%7Bmargin%2Dleft%3A58%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D6%7Bmargin%2Dleft%3A50%25%7D%2Ecol%2Dlg%2Doffset%2D5%7Bmargin%2Dleft%3A41%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D4%7Bmargin%2Dleft%3A33%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D3%7Bmargin%2Dleft%3A25%25%7D%2Ecol%2Dlg%2Doffset%2D2%7Bmargin%2Dleft%3A16%2E66666667%25%7D%2Ecol%2Dlg%2Doffset%2D1%7Bmargin%2Dleft%3A8%2E33333333%25%7D%2Ecol%2Dlg%2Doffset%2D0%7Bmargin%2Dleft%3A0%7D%7Dtable%7Bbackground%2Dcolor%3Atransparent%7Dcaption%7Bpadding%2Dtop%3A8px%3Bpadding%2Dbottom%3A8px%3Bcolor%3A%23777%3Btext%2Dalign%3Aleft%7Dth%7B%7D%2Etable%7Bwidth%3A100%25%3Bmax%2Dwidth%3A100%25%3Bmargin%2Dbottom%3A20px%7D%2Etable%3Etbody%3Etr%3Etd%2C%2Etable%3Etbody%3Etr%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2C%2Etable%3Etfoot%3Etr%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2C%2Etable%3Ethead%3Etr%3Eth%7Bpadding%3A8px%3Bline%2Dheight%3A1%2E42857143%3Bvertical%2Dalign%3Atop%3Bborder%2Dtop%3A1px%20solid%20%23ddd%7D%2Etable%3Ethead%3Etr%3Eth%7Bvertical%2Dalign%3Abottom%3Bborder%2Dbottom%3A2px%20solid%20%23ddd%7D%2Etable%3Ecaption%2Bthead%3Etr%3Afirst%2Dchild%3Etd%2C%2Etable%3Ecaption%2Bthead%3Etr%3Afirst%2Dchild%3Eth%2C%2Etable%3Ecolgroup%2Bthead%3Etr%3Afirst%2Dchild%3Etd%2C%2Etable%3Ecolgroup%2Bthead%3Etr%3Afirst%2Dchild%3Eth%2C%2Etable%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%3Etd%2C%2Etable%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%3Eth%7Bborder%2Dtop%3A0%7D%2Etable%3Etbody%2Btbody%7Bborder%2Dtop%3A2px%20solid%20%23ddd%7D%2Etable%20%2Etable%7Bbackground%2Dcolor%3A%23fff%7D%2Etable%2Dcondensed%3Etbody%3Etr%3Etd%2C%2Etable%2Dcondensed%3Etbody%3Etr%3Eth%2C%2Etable%2Dcondensed%3Etfoot%3Etr%3Etd%2C%2Etable%2Dcondensed%3Etfoot%3Etr%3Eth%2C%2Etable%2Dcondensed%3Ethead%3Etr%3Etd%2C%2Etable%2Dcondensed%3Ethead%3Etr%3Eth%7Bpadding%3A5px%7D%2Etable%2Dbordered%7Bborder%3A1px%20solid%20%23ddd%7D%2Etable%2Dbordered%3Etbody%3Etr%3Etd%2C%2Etable%2Dbordered%3Etbody%3Etr%3Eth%2C%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%2C%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%2C%2Etable%2Dbordered%3Ethead%3Etr%3Etd%2C%2Etable%2Dbordered%3Ethead%3Etr%3Eth%7Bborder%3A1px%20solid%20%23ddd%7D%2Etable%2Dbordered%3Ethead%3Etr%3Etd%2C%2Etable%2Dbordered%3Ethead%3Etr%3Eth%7Bborder%2Dbottom%2Dwidth%3A2px%7D%2Etable%2Dstriped%3Etbody%3Etr%3Anth%2Dof%2Dtype%28odd%29%7Bbackground%2Dcolor%3A%23f9f9f9%7D%2Etable%2Dhover%3Etbody%3Etr%3Ahover%7Bbackground%2Dcolor%3A%23f5f5f5%7Dtable%20col%5Bclass%2A%3Dcol%2D%5D%7Bposition%3Astatic%3Bdisplay%3Atable%2Dcolumn%3Bfloat%3Anone%7Dtable%20td%5Bclass%2A%3Dcol%2D%5D%2Ctable%20th%5Bclass%2A%3Dcol%2D%5D%7Bposition%3Astatic%3Bdisplay%3Atable%2Dcell%3Bfloat%3Anone%7D%2Etable%3Etbody%3Etr%2Eactive%3Etd%2C%2Etable%3Etbody%3Etr%2Eactive%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Eactive%2C%2Etable%3Etbody%3Etr%3Eth%2Eactive%2C%2Etable%3Etfoot%3Etr%2Eactive%3Etd%2C%2Etable%3Etfoot%3Etr%2Eactive%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Eactive%2C%2Etable%3Etfoot%3Etr%3Eth%2Eactive%2C%2Etable%3Ethead%3Etr%2Eactive%3Etd%2C%2Etable%3Ethead%3Etr%2Eactive%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Eactive%2C%2Etable%3Ethead%3Etr%3Eth%2Eactive%7Bbackground%2Dcolor%3A%23f5f5f5%7D%2Etable%2Dhover%3Etbody%3Etr%2Eactive%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Eactive%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Eactive%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Eactive%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Eactive%3Ahover%7Bbackground%2Dcolor%3A%23e8e8e8%7D%2Etable%3Etbody%3Etr%2Esuccess%3Etd%2C%2Etable%3Etbody%3Etr%2Esuccess%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Esuccess%2C%2Etable%3Etbody%3Etr%3Eth%2Esuccess%2C%2Etable%3Etfoot%3Etr%2Esuccess%3Etd%2C%2Etable%3Etfoot%3Etr%2Esuccess%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Esuccess%2C%2Etable%3Etfoot%3Etr%3Eth%2Esuccess%2C%2Etable%3Ethead%3Etr%2Esuccess%3Etd%2C%2Etable%3Ethead%3Etr%2Esuccess%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Esuccess%2C%2Etable%3Ethead%3Etr%3Eth%2Esuccess%7Bbackground%2Dcolor%3A%23dff0d8%7D%2Etable%2Dhover%3Etbody%3Etr%2Esuccess%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Esuccess%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Esuccess%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Esuccess%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Esuccess%3Ahover%7Bbackground%2Dcolor%3A%23d0e9c6%7D%2Etable%3Etbody%3Etr%2Einfo%3Etd%2C%2Etable%3Etbody%3Etr%2Einfo%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Einfo%2C%2Etable%3Etbody%3Etr%3Eth%2Einfo%2C%2Etable%3Etfoot%3Etr%2Einfo%3Etd%2C%2Etable%3Etfoot%3Etr%2Einfo%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Einfo%2C%2Etable%3Etfoot%3Etr%3Eth%2Einfo%2C%2Etable%3Ethead%3Etr%2Einfo%3Etd%2C%2Etable%3Ethead%3Etr%2Einfo%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Einfo%2C%2Etable%3Ethead%3Etr%3Eth%2Einfo%7Bbackground%2Dcolor%3A%23d9edf7%7D%2Etable%2Dhover%3Etbody%3Etr%2Einfo%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Einfo%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Einfo%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Einfo%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Einfo%3Ahover%7Bbackground%2Dcolor%3A%23c4e3f3%7D%2Etable%3Etbody%3Etr%2Ewarning%3Etd%2C%2Etable%3Etbody%3Etr%2Ewarning%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Ewarning%2C%2Etable%3Etbody%3Etr%3Eth%2Ewarning%2C%2Etable%3Etfoot%3Etr%2Ewarning%3Etd%2C%2Etable%3Etfoot%3Etr%2Ewarning%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Ewarning%2C%2Etable%3Etfoot%3Etr%3Eth%2Ewarning%2C%2Etable%3Ethead%3Etr%2Ewarning%3Etd%2C%2Etable%3Ethead%3Etr%2Ewarning%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Ewarning%2C%2Etable%3Ethead%3Etr%3Eth%2Ewarning%7Bbackground%2Dcolor%3A%23fcf8e3%7D%2Etable%2Dhover%3Etbody%3Etr%2Ewarning%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Ewarning%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Ewarning%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Ewarning%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Ewarning%3Ahover%7Bbackground%2Dcolor%3A%23faf2cc%7D%2Etable%3Etbody%3Etr%2Edanger%3Etd%2C%2Etable%3Etbody%3Etr%2Edanger%3Eth%2C%2Etable%3Etbody%3Etr%3Etd%2Edanger%2C%2Etable%3Etbody%3Etr%3Eth%2Edanger%2C%2Etable%3Etfoot%3Etr%2Edanger%3Etd%2C%2Etable%3Etfoot%3Etr%2Edanger%3Eth%2C%2Etable%3Etfoot%3Etr%3Etd%2Edanger%2C%2Etable%3Etfoot%3Etr%3Eth%2Edanger%2C%2Etable%3Ethead%3Etr%2Edanger%3Etd%2C%2Etable%3Ethead%3Etr%2Edanger%3Eth%2C%2Etable%3Ethead%3Etr%3Etd%2Edanger%2C%2Etable%3Ethead%3Etr%3Eth%2Edanger%7Bbackground%2Dcolor%3A%23f2dede%7D%2Etable%2Dhover%3Etbody%3Etr%2Edanger%3Ahover%3Etd%2C%2Etable%2Dhover%3Etbody%3Etr%2Edanger%3Ahover%3Eth%2C%2Etable%2Dhover%3Etbody%3Etr%3Ahover%3E%2Edanger%2C%2Etable%2Dhover%3Etbody%3Etr%3Etd%2Edanger%3Ahover%2C%2Etable%2Dhover%3Etbody%3Etr%3Eth%2Edanger%3Ahover%7Bbackground%2Dcolor%3A%23ebcccc%7D%2Etable%2Dresponsive%7Bmin%2Dheight%3A%2E01%25%3Boverflow%2Dx%3Aauto%7D%40media%20screen%20and%20%28max%2Dwidth%3A767px%29%7B%2Etable%2Dresponsive%7Bwidth%3A100%25%3Bmargin%2Dbottom%3A15px%3Boverflow%2Dy%3Ahidden%3B%2Dms%2Doverflow%2Dstyle%3A%2Dms%2Dautohiding%2Dscrollbar%3Bborder%3A1px%20solid%20%23ddd%7D%2Etable%2Dresponsive%3E%2Etable%7Bmargin%2Dbottom%3A0%7D%2Etable%2Dresponsive%3E%2Etable%3Etbody%3Etr%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%3Etbody%3Etr%3Eth%2C%2Etable%2Dresponsive%3E%2Etable%3Etfoot%3Etr%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%3Etfoot%3Etr%3Eth%2C%2Etable%2Dresponsive%3E%2Etable%3Ethead%3Etr%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%3Ethead%3Etr%3Eth%7Bwhite%2Dspace%3Anowrap%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%7Bborder%3A0%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Afirst%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Afirst%2Dchild%7Bborder%2Dleft%3A0%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Alast%2Dchild%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Alast%2Dchild%7Bborder%2Dright%3A0%7D%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Eth%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Etd%2C%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Eth%7Bborder%2Dbottom%3A0%7D%7Dfieldset%7Bmin%2Dwidth%3A0%3Bpadding%3A0%3Bmargin%3A0%3Bborder%3A0%7Dlegend%7Bdisplay%3Ablock%3Bwidth%3A100%25%3Bpadding%3A0%3Bmargin%2Dbottom%3A20px%3Bfont%2Dsize%3A21px%3Bline%2Dheight%3Ainherit%3Bcolor%3A%23333%3Bborder%3A0%3Bborder%2Dbottom%3A1px%20solid%20%23e5e5e5%7Dlabel%7Bdisplay%3Ainline%2Dblock%3Bmax%2Dwidth%3A100%25%3Bmargin%2Dbottom%3A5px%3Bfont%2Dweight%3A700%7Dinput%5Btype%3Dsearch%5D%7B%2Dwebkit%2Dbox%2Dsizing%3Aborder%2Dbox%3B%2Dmoz%2Dbox%2Dsizing%3Aborder%2Dbox%3Bbox%2Dsizing%3Aborder%2Dbox%7Dinput%5Btype%3Dcheckbox%5D%2Cinput%5Btype%3Dradio%5D%7Bmargin%3A4px%200%200%3Bmargin%2Dtop%3A1px%5C9%3Bline%2Dheight%3Anormal%7Dinput%5Btype%3Dfile%5D%7Bdisplay%3Ablock%7Dinput%5Btype%3Drange%5D%7Bdisplay%3Ablock%3Bwidth%3A100%25%7Dselect%5Bmultiple%5D%2Cselect%5Bsize%5D%7Bheight%3Aauto%7Dinput%5Btype%3Dfile%5D%3Afocus%2Cinput%5Btype%3Dcheckbox%5D%3Afocus%2Cinput%5Btype%3Dradio%5D%3Afocus%7Boutline%3Athin%20dotted%3Boutline%3A5px%20auto%20%2Dwebkit%2Dfocus%2Dring%2Dcolor%3Boutline%2Doffset%3A%2D2px%7Doutput%7Bdisplay%3Ablock%3Bpadding%2Dtop%3A7px%3Bfont%2Dsize%3A14px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23555%7D%2Eform%2Dcontrol%7Bdisplay%3Ablock%3Bwidth%3A100%25%3Bheight%3A34px%3Bpadding%3A6px%2012px%3Bfont%2Dsize%3A14px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23fff%3Bbackground%2Dimage%3Anone%3Bborder%3A1px%20solid%20%23ccc%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3B%2Dwebkit%2Dtransition%3Aborder%2Dcolor%20ease%2Din%2Dout%20%2E15s%2C%2Dwebkit%2Dbox%2Dshadow%20ease%2Din%2Dout%20%2E15s%3B%2Do%2Dtransition%3Aborder%2Dcolor%20ease%2Din%2Dout%20%2E15s%2Cbox%2Dshadow%20ease%2Din%2Dout%20%2E15s%3Btransition%3Aborder%2Dcolor%20ease%2Din%2Dout%20%2E15s%2Cbox%2Dshadow%20ease%2Din%2Dout%20%2E15s%7D%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%2366afe9%3Boutline%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%208px%20rgba%28102%2C175%2C233%2C%2E6%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%208px%20rgba%28102%2C175%2C233%2C%2E6%29%7D%2Eform%2Dcontrol%3A%3A%2Dmoz%2Dplaceholder%7Bcolor%3A%23999%3Bopacity%3A1%7D%2Eform%2Dcontrol%3A%2Dms%2Dinput%2Dplaceholder%7Bcolor%3A%23999%7D%2Eform%2Dcontrol%3A%3A%2Dwebkit%2Dinput%2Dplaceholder%7Bcolor%3A%23999%7D%2Eform%2Dcontrol%5Bdisabled%5D%2C%2Eform%2Dcontrol%5Breadonly%5D%2Cfieldset%5Bdisabled%5D%20%2Eform%2Dcontrol%7Bbackground%2Dcolor%3A%23eee%3Bopacity%3A1%7D%2Eform%2Dcontrol%5Bdisabled%5D%2Cfieldset%5Bdisabled%5D%20%2Eform%2Dcontrol%7Bcursor%3Anot%2Dallowed%7Dtextarea%2Eform%2Dcontrol%7Bheight%3Aauto%7Dinput%5Btype%3Dsearch%5D%7B%2Dwebkit%2Dappearance%3Anone%7D%40media%20screen%20and%20%28%2Dwebkit%2Dmin%2Ddevice%2Dpixel%2Dratio%3A0%29%7Binput%5Btype%3Ddate%5D%2Eform%2Dcontrol%2Cinput%5Btype%3Dtime%5D%2Eform%2Dcontrol%2Cinput%5Btype%3Ddatetime%2Dlocal%5D%2Eform%2Dcontrol%2Cinput%5Btype%3Dmonth%5D%2Eform%2Dcontrol%7Bline%2Dheight%3A34px%7D%2Einput%2Dgroup%2Dsm%20input%5Btype%3Ddate%5D%2C%2Einput%2Dgroup%2Dsm%20input%5Btype%3Dtime%5D%2C%2Einput%2Dgroup%2Dsm%20input%5Btype%3Ddatetime%2Dlocal%5D%2C%2Einput%2Dgroup%2Dsm%20input%5Btype%3Dmonth%5D%2Cinput%5Btype%3Ddate%5D%2Einput%2Dsm%2Cinput%5Btype%3Dtime%5D%2Einput%2Dsm%2Cinput%5Btype%3Ddatetime%2Dlocal%5D%2Einput%2Dsm%2Cinput%5Btype%3Dmonth%5D%2Einput%2Dsm%7Bline%2Dheight%3A30px%7D%2Einput%2Dgroup%2Dlg%20input%5Btype%3Ddate%5D%2C%2Einput%2Dgroup%2Dlg%20input%5Btype%3Dtime%5D%2C%2Einput%2Dgroup%2Dlg%20input%5Btype%3Ddatetime%2Dlocal%5D%2C%2Einput%2Dgroup%2Dlg%20input%5Btype%3Dmonth%5D%2Cinput%5Btype%3Ddate%5D%2Einput%2Dlg%2Cinput%5Btype%3Dtime%5D%2Einput%2Dlg%2Cinput%5Btype%3Ddatetime%2Dlocal%5D%2Einput%2Dlg%2Cinput%5Btype%3Dmonth%5D%2Einput%2Dlg%7Bline%2Dheight%3A46px%7D%7D%2Eform%2Dgroup%7Bmargin%2Dbottom%3A15px%7D%2Echeckbox%2C%2Eradio%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bmargin%2Dtop%3A10px%3Bmargin%2Dbottom%3A10px%7D%2Echeckbox%20label%2C%2Eradio%20label%7Bmin%2Dheight%3A20px%3Bpadding%2Dleft%3A20px%3Bmargin%2Dbottom%3A0%3Bfont%2Dweight%3A400%3Bcursor%3Apointer%7D%2Echeckbox%20input%5Btype%3Dcheckbox%5D%2C%2Echeckbox%2Dinline%20input%5Btype%3Dcheckbox%5D%2C%2Eradio%20input%5Btype%3Dradio%5D%2C%2Eradio%2Dinline%20input%5Btype%3Dradio%5D%7Bposition%3Aabsolute%3Bmargin%2Dtop%3A4px%5C9%3Bmargin%2Dleft%3A%2D20px%7D%2Echeckbox%2B%2Echeckbox%2C%2Eradio%2B%2Eradio%7Bmargin%2Dtop%3A%2D5px%7D%2Echeckbox%2Dinline%2C%2Eradio%2Dinline%7Bposition%3Arelative%3Bdisplay%3Ainline%2Dblock%3Bpadding%2Dleft%3A20px%3Bmargin%2Dbottom%3A0%3Bfont%2Dweight%3A400%3Bvertical%2Dalign%3Amiddle%3Bcursor%3Apointer%7D%2Echeckbox%2Dinline%2B%2Echeckbox%2Dinline%2C%2Eradio%2Dinline%2B%2Eradio%2Dinline%7Bmargin%2Dtop%3A0%3Bmargin%2Dleft%3A10px%7Dfieldset%5Bdisabled%5D%20input%5Btype%3Dcheckbox%5D%2Cfieldset%5Bdisabled%5D%20input%5Btype%3Dradio%5D%2Cinput%5Btype%3Dcheckbox%5D%2Edisabled%2Cinput%5Btype%3Dcheckbox%5D%5Bdisabled%5D%2Cinput%5Btype%3Dradio%5D%2Edisabled%2Cinput%5Btype%3Dradio%5D%5Bdisabled%5D%7Bcursor%3Anot%2Dallowed%7D%2Echeckbox%2Dinline%2Edisabled%2C%2Eradio%2Dinline%2Edisabled%2Cfieldset%5Bdisabled%5D%20%2Echeckbox%2Dinline%2Cfieldset%5Bdisabled%5D%20%2Eradio%2Dinline%7Bcursor%3Anot%2Dallowed%7D%2Echeckbox%2Edisabled%20label%2C%2Eradio%2Edisabled%20label%2Cfieldset%5Bdisabled%5D%20%2Echeckbox%20label%2Cfieldset%5Bdisabled%5D%20%2Eradio%20label%7Bcursor%3Anot%2Dallowed%7D%2Eform%2Dcontrol%2Dstatic%7Bmin%2Dheight%3A34px%3Bpadding%2Dtop%3A7px%3Bpadding%2Dbottom%3A7px%3Bmargin%2Dbottom%3A0%7D%2Eform%2Dcontrol%2Dstatic%2Einput%2Dlg%2C%2Eform%2Dcontrol%2Dstatic%2Einput%2Dsm%7Bpadding%2Dright%3A0%3Bpadding%2Dleft%3A0%7D%2Einput%2Dsm%7Bheight%3A30px%3Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7Dselect%2Einput%2Dsm%7Bheight%3A30px%3Bline%2Dheight%3A30px%7Dselect%5Bmultiple%5D%2Einput%2Dsm%2Ctextarea%2Einput%2Dsm%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dsm%20%2Eform%2Dcontrol%7Bheight%3A30px%3Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7D%2Eform%2Dgroup%2Dsm%20select%2Eform%2Dcontrol%7Bheight%3A30px%3Bline%2Dheight%3A30px%7D%2Eform%2Dgroup%2Dsm%20select%5Bmultiple%5D%2Eform%2Dcontrol%2C%2Eform%2Dgroup%2Dsm%20textarea%2Eform%2Dcontrol%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dsm%20%2Eform%2Dcontrol%2Dstatic%7Bheight%3A30px%3Bmin%2Dheight%3A32px%3Bpadding%3A6px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%7D%2Einput%2Dlg%7Bheight%3A46px%3Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7Dselect%2Einput%2Dlg%7Bheight%3A46px%3Bline%2Dheight%3A46px%7Dselect%5Bmultiple%5D%2Einput%2Dlg%2Ctextarea%2Einput%2Dlg%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dlg%20%2Eform%2Dcontrol%7Bheight%3A46px%3Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7D%2Eform%2Dgroup%2Dlg%20select%2Eform%2Dcontrol%7Bheight%3A46px%3Bline%2Dheight%3A46px%7D%2Eform%2Dgroup%2Dlg%20select%5Bmultiple%5D%2Eform%2Dcontrol%2C%2Eform%2Dgroup%2Dlg%20textarea%2Eform%2Dcontrol%7Bheight%3Aauto%7D%2Eform%2Dgroup%2Dlg%20%2Eform%2Dcontrol%2Dstatic%7Bheight%3A46px%3Bmin%2Dheight%3A38px%3Bpadding%3A11px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%7D%2Ehas%2Dfeedback%7Bposition%3Arelative%7D%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%7Bpadding%2Dright%3A42%2E5px%7D%2Eform%2Dcontrol%2Dfeedback%7Bposition%3Aabsolute%3Btop%3A0%3Bright%3A0%3Bz%2Dindex%3A2%3Bdisplay%3Ablock%3Bwidth%3A34px%3Bheight%3A34px%3Bline%2Dheight%3A34px%3Btext%2Dalign%3Acenter%3Bpointer%2Devents%3Anone%7D%2Eform%2Dgroup%2Dlg%20%2Eform%2Dcontrol%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dgroup%2Dlg%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dlg%2B%2Eform%2Dcontrol%2Dfeedback%7Bwidth%3A46px%3Bheight%3A46px%3Bline%2Dheight%3A46px%7D%2Eform%2Dgroup%2Dsm%20%2Eform%2Dcontrol%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dgroup%2Dsm%2B%2Eform%2Dcontrol%2Dfeedback%2C%2Einput%2Dsm%2B%2Eform%2Dcontrol%2Dfeedback%7Bwidth%3A30px%3Bheight%3A30px%3Bline%2Dheight%3A30px%7D%2Ehas%2Dsuccess%20%2Echeckbox%2C%2Ehas%2Dsuccess%20%2Echeckbox%2Dinline%2C%2Ehas%2Dsuccess%20%2Econtrol%2Dlabel%2C%2Ehas%2Dsuccess%20%2Ehelp%2Dblock%2C%2Ehas%2Dsuccess%20%2Eradio%2C%2Ehas%2Dsuccess%20%2Eradio%2Dinline%2C%2Ehas%2Dsuccess%2Echeckbox%20label%2C%2Ehas%2Dsuccess%2Echeckbox%2Dinline%20label%2C%2Ehas%2Dsuccess%2Eradio%20label%2C%2Ehas%2Dsuccess%2Eradio%2Dinline%20label%7Bcolor%3A%233c763d%7D%2Ehas%2Dsuccess%20%2Eform%2Dcontrol%7Bborder%2Dcolor%3A%233c763d%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%7D%2Ehas%2Dsuccess%20%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%232b542c%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%2367b168%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%2367b168%7D%2Ehas%2Dsuccess%20%2Einput%2Dgroup%2Daddon%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%3Bborder%2Dcolor%3A%233c763d%7D%2Ehas%2Dsuccess%20%2Eform%2Dcontrol%2Dfeedback%7Bcolor%3A%233c763d%7D%2Ehas%2Dwarning%20%2Echeckbox%2C%2Ehas%2Dwarning%20%2Echeckbox%2Dinline%2C%2Ehas%2Dwarning%20%2Econtrol%2Dlabel%2C%2Ehas%2Dwarning%20%2Ehelp%2Dblock%2C%2Ehas%2Dwarning%20%2Eradio%2C%2Ehas%2Dwarning%20%2Eradio%2Dinline%2C%2Ehas%2Dwarning%2Echeckbox%20label%2C%2Ehas%2Dwarning%2Echeckbox%2Dinline%20label%2C%2Ehas%2Dwarning%2Eradio%20label%2C%2Ehas%2Dwarning%2Eradio%2Dinline%20label%7Bcolor%3A%238a6d3b%7D%2Ehas%2Dwarning%20%2Eform%2Dcontrol%7Bborder%2Dcolor%3A%238a6d3b%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%7D%2Ehas%2Dwarning%20%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%2366512c%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23c0a16b%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23c0a16b%7D%2Ehas%2Dwarning%20%2Einput%2Dgroup%2Daddon%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%3Bborder%2Dcolor%3A%238a6d3b%7D%2Ehas%2Dwarning%20%2Eform%2Dcontrol%2Dfeedback%7Bcolor%3A%238a6d3b%7D%2Ehas%2Derror%20%2Echeckbox%2C%2Ehas%2Derror%20%2Echeckbox%2Dinline%2C%2Ehas%2Derror%20%2Econtrol%2Dlabel%2C%2Ehas%2Derror%20%2Ehelp%2Dblock%2C%2Ehas%2Derror%20%2Eradio%2C%2Ehas%2Derror%20%2Eradio%2Dinline%2C%2Ehas%2Derror%2Echeckbox%20label%2C%2Ehas%2Derror%2Echeckbox%2Dinline%20label%2C%2Ehas%2Derror%2Eradio%20label%2C%2Ehas%2Derror%2Eradio%2Dinline%20label%7Bcolor%3A%23a94442%7D%2Ehas%2Derror%20%2Eform%2Dcontrol%7Bborder%2Dcolor%3A%23a94442%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%7D%2Ehas%2Derror%20%2Eform%2Dcontrol%3Afocus%7Bborder%2Dcolor%3A%23843534%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23ce8483%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E075%29%2C0%200%206px%20%23ce8483%7D%2Ehas%2Derror%20%2Einput%2Dgroup%2Daddon%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%3Bborder%2Dcolor%3A%23a94442%7D%2Ehas%2Derror%20%2Eform%2Dcontrol%2Dfeedback%7Bcolor%3A%23a94442%7D%2Ehas%2Dfeedback%20label%7E%2Eform%2Dcontrol%2Dfeedback%7Btop%3A25px%7D%2Ehas%2Dfeedback%20label%2Esr%2Donly%7E%2Eform%2Dcontrol%2Dfeedback%7Btop%3A0%7D%2Ehelp%2Dblock%7Bdisplay%3Ablock%3Bmargin%2Dtop%3A5px%3Bmargin%2Dbottom%3A10px%3Bcolor%3A%23737373%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dinline%20%2Eform%2Dgroup%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Eform%2Dcontrol%7Bdisplay%3Ainline%2Dblock%3Bwidth%3Aauto%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Eform%2Dcontrol%2Dstatic%7Bdisplay%3Ainline%2Dblock%7D%2Eform%2Dinline%20%2Einput%2Dgroup%7Bdisplay%3Ainline%2Dtable%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Einput%2Dgroup%20%2Eform%2Dcontrol%2C%2Eform%2Dinline%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Daddon%2C%2Eform%2Dinline%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Dbtn%7Bwidth%3Aauto%7D%2Eform%2Dinline%20%2Einput%2Dgroup%3E%2Eform%2Dcontrol%7Bwidth%3A100%25%7D%2Eform%2Dinline%20%2Econtrol%2Dlabel%7Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Echeckbox%2C%2Eform%2Dinline%20%2Eradio%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Eform%2Dinline%20%2Echeckbox%20label%2C%2Eform%2Dinline%20%2Eradio%20label%7Bpadding%2Dleft%3A0%7D%2Eform%2Dinline%20%2Echeckbox%20input%5Btype%3Dcheckbox%5D%2C%2Eform%2Dinline%20%2Eradio%20input%5Btype%3Dradio%5D%7Bposition%3Arelative%3Bmargin%2Dleft%3A0%7D%2Eform%2Dinline%20%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%2Dfeedback%7Btop%3A0%7D%7D%2Eform%2Dhorizontal%20%2Echeckbox%2C%2Eform%2Dhorizontal%20%2Echeckbox%2Dinline%2C%2Eform%2Dhorizontal%20%2Eradio%2C%2Eform%2Dhorizontal%20%2Eradio%2Dinline%7Bpadding%2Dtop%3A7px%3Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%7D%2Eform%2Dhorizontal%20%2Echeckbox%2C%2Eform%2Dhorizontal%20%2Eradio%7Bmin%2Dheight%3A27px%7D%2Eform%2Dhorizontal%20%2Eform%2Dgroup%7Bmargin%2Dright%3A%2D15px%3Bmargin%2Dleft%3A%2D15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dhorizontal%20%2Econtrol%2Dlabel%7Bpadding%2Dtop%3A7px%3Bmargin%2Dbottom%3A0%3Btext%2Dalign%3Aright%7D%7D%2Eform%2Dhorizontal%20%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%2Dfeedback%7Bright%3A15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dhorizontal%20%2Eform%2Dgroup%2Dlg%20%2Econtrol%2Dlabel%7Bpadding%2Dtop%3A14%2E33px%3Bfont%2Dsize%3A18px%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Eform%2Dhorizontal%20%2Eform%2Dgroup%2Dsm%20%2Econtrol%2Dlabel%7Bpadding%2Dtop%3A6px%3Bfont%2Dsize%3A12px%7D%7D%2Ebtn%7Bdisplay%3Ainline%2Dblock%3Bpadding%3A6px%2012px%3Bmargin%2Dbottom%3A0%3Bfont%2Dsize%3A14px%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Btext%2Dalign%3Acenter%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Amiddle%3B%2Dms%2Dtouch%2Daction%3Amanipulation%3Btouch%2Daction%3Amanipulation%3Bcursor%3Apointer%3B%2Dwebkit%2Duser%2Dselect%3Anone%3B%2Dmoz%2Duser%2Dselect%3Anone%3B%2Dms%2Duser%2Dselect%3Anone%3Buser%2Dselect%3Anone%3Bbackground%2Dimage%3Anone%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%7D%2Ebtn%2Eactive%2Efocus%2C%2Ebtn%2Eactive%3Afocus%2C%2Ebtn%2Efocus%2C%2Ebtn%3Aactive%2Efocus%2C%2Ebtn%3Aactive%3Afocus%2C%2Ebtn%3Afocus%7Boutline%3Athin%20dotted%3Boutline%3A5px%20auto%20%2Dwebkit%2Dfocus%2Dring%2Dcolor%3Boutline%2Doffset%3A%2D2px%7D%2Ebtn%2Efocus%2C%2Ebtn%3Afocus%2C%2Ebtn%3Ahover%7Bcolor%3A%23333%3Btext%2Ddecoration%3Anone%7D%2Ebtn%2Eactive%2C%2Ebtn%3Aactive%7Bbackground%2Dimage%3Anone%3Boutline%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%3Bbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%7D%2Ebtn%2Edisabled%2C%2Ebtn%5Bdisabled%5D%2Cfieldset%5Bdisabled%5D%20%2Ebtn%7Bcursor%3Anot%2Dallowed%3Bfilter%3Aalpha%28opacity%3D65%29%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%3Bopacity%3A%2E65%7Da%2Ebtn%2Edisabled%2Cfieldset%5Bdisabled%5D%20a%2Ebtn%7Bpointer%2Devents%3Anone%7D%2Ebtn%2Ddefault%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23fff%3Bborder%2Dcolor%3A%23ccc%7D%2Ebtn%2Ddefault%2Efocus%2C%2Ebtn%2Ddefault%3Afocus%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23e6e6e6%3Bborder%2Dcolor%3A%238c8c8c%7D%2Ebtn%2Ddefault%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23e6e6e6%3Bborder%2Dcolor%3A%23adadad%7D%2Ebtn%2Ddefault%2Eactive%2C%2Ebtn%2Ddefault%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23e6e6e6%3Bborder%2Dcolor%3A%23adadad%7D%2Ebtn%2Ddefault%2Eactive%2Efocus%2C%2Ebtn%2Ddefault%2Eactive%3Afocus%2C%2Ebtn%2Ddefault%2Eactive%3Ahover%2C%2Ebtn%2Ddefault%3Aactive%2Efocus%2C%2Ebtn%2Ddefault%3Aactive%3Afocus%2C%2Ebtn%2Ddefault%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23d4d4d4%3Bborder%2Dcolor%3A%238c8c8c%7D%2Ebtn%2Ddefault%2Eactive%2C%2Ebtn%2Ddefault%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddefault%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Ddefault%2Edisabled%2C%2Ebtn%2Ddefault%2Edisabled%2Eactive%2C%2Ebtn%2Ddefault%2Edisabled%2Efocus%2C%2Ebtn%2Ddefault%2Edisabled%3Aactive%2C%2Ebtn%2Ddefault%2Edisabled%3Afocus%2C%2Ebtn%2Ddefault%2Edisabled%3Ahover%2C%2Ebtn%2Ddefault%5Bdisabled%5D%2C%2Ebtn%2Ddefault%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Ddefault%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Ddefault%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Ddefault%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Ddefault%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddefault%3Ahover%7Bbackground%2Dcolor%3A%23fff%3Bborder%2Dcolor%3A%23ccc%7D%2Ebtn%2Ddefault%20%2Ebadge%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23333%7D%2Ebtn%2Dprimary%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%232e6da4%7D%2Ebtn%2Dprimary%2Efocus%2C%2Ebtn%2Dprimary%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23286090%3Bborder%2Dcolor%3A%23122b40%7D%2Ebtn%2Dprimary%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23286090%3Bborder%2Dcolor%3A%23204d74%7D%2Ebtn%2Dprimary%2Eactive%2C%2Ebtn%2Dprimary%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23286090%3Bborder%2Dcolor%3A%23204d74%7D%2Ebtn%2Dprimary%2Eactive%2Efocus%2C%2Ebtn%2Dprimary%2Eactive%3Afocus%2C%2Ebtn%2Dprimary%2Eactive%3Ahover%2C%2Ebtn%2Dprimary%3Aactive%2Efocus%2C%2Ebtn%2Dprimary%3Aactive%3Afocus%2C%2Ebtn%2Dprimary%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23204d74%3Bborder%2Dcolor%3A%23122b40%7D%2Ebtn%2Dprimary%2Eactive%2C%2Ebtn%2Dprimary%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dprimary%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dprimary%2Edisabled%2C%2Ebtn%2Dprimary%2Edisabled%2Eactive%2C%2Ebtn%2Dprimary%2Edisabled%2Efocus%2C%2Ebtn%2Dprimary%2Edisabled%3Aactive%2C%2Ebtn%2Dprimary%2Edisabled%3Afocus%2C%2Ebtn%2Dprimary%2Edisabled%3Ahover%2C%2Ebtn%2Dprimary%5Bdisabled%5D%2C%2Ebtn%2Dprimary%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dprimary%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dprimary%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dprimary%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dprimary%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dprimary%3Ahover%7Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%232e6da4%7D%2Ebtn%2Dprimary%20%2Ebadge%7Bcolor%3A%23337ab7%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dsuccess%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%235cb85c%3Bborder%2Dcolor%3A%234cae4c%7D%2Ebtn%2Dsuccess%2Efocus%2C%2Ebtn%2Dsuccess%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23449d44%3Bborder%2Dcolor%3A%23255625%7D%2Ebtn%2Dsuccess%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23449d44%3Bborder%2Dcolor%3A%23398439%7D%2Ebtn%2Dsuccess%2Eactive%2C%2Ebtn%2Dsuccess%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23449d44%3Bborder%2Dcolor%3A%23398439%7D%2Ebtn%2Dsuccess%2Eactive%2Efocus%2C%2Ebtn%2Dsuccess%2Eactive%3Afocus%2C%2Ebtn%2Dsuccess%2Eactive%3Ahover%2C%2Ebtn%2Dsuccess%3Aactive%2Efocus%2C%2Ebtn%2Dsuccess%3Aactive%3Afocus%2C%2Ebtn%2Dsuccess%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23398439%3Bborder%2Dcolor%3A%23255625%7D%2Ebtn%2Dsuccess%2Eactive%2C%2Ebtn%2Dsuccess%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dsuccess%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dsuccess%2Edisabled%2C%2Ebtn%2Dsuccess%2Edisabled%2Eactive%2C%2Ebtn%2Dsuccess%2Edisabled%2Efocus%2C%2Ebtn%2Dsuccess%2Edisabled%3Aactive%2C%2Ebtn%2Dsuccess%2Edisabled%3Afocus%2C%2Ebtn%2Dsuccess%2Edisabled%3Ahover%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dsuccess%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dsuccess%3Ahover%7Bbackground%2Dcolor%3A%235cb85c%3Bborder%2Dcolor%3A%234cae4c%7D%2Ebtn%2Dsuccess%20%2Ebadge%7Bcolor%3A%235cb85c%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dinfo%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%235bc0de%3Bborder%2Dcolor%3A%2346b8da%7D%2Ebtn%2Dinfo%2Efocus%2C%2Ebtn%2Dinfo%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331b0d5%3Bborder%2Dcolor%3A%231b6d85%7D%2Ebtn%2Dinfo%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331b0d5%3Bborder%2Dcolor%3A%23269abc%7D%2Ebtn%2Dinfo%2Eactive%2C%2Ebtn%2Dinfo%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331b0d5%3Bborder%2Dcolor%3A%23269abc%7D%2Ebtn%2Dinfo%2Eactive%2Efocus%2C%2Ebtn%2Dinfo%2Eactive%3Afocus%2C%2Ebtn%2Dinfo%2Eactive%3Ahover%2C%2Ebtn%2Dinfo%3Aactive%2Efocus%2C%2Ebtn%2Dinfo%3Aactive%3Afocus%2C%2Ebtn%2Dinfo%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23269abc%3Bborder%2Dcolor%3A%231b6d85%7D%2Ebtn%2Dinfo%2Eactive%2C%2Ebtn%2Dinfo%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dinfo%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dinfo%2Edisabled%2C%2Ebtn%2Dinfo%2Edisabled%2Eactive%2C%2Ebtn%2Dinfo%2Edisabled%2Efocus%2C%2Ebtn%2Dinfo%2Edisabled%3Aactive%2C%2Ebtn%2Dinfo%2Edisabled%3Afocus%2C%2Ebtn%2Dinfo%2Edisabled%3Ahover%2C%2Ebtn%2Dinfo%5Bdisabled%5D%2C%2Ebtn%2Dinfo%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dinfo%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dinfo%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dinfo%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dinfo%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dinfo%3Ahover%7Bbackground%2Dcolor%3A%235bc0de%3Bborder%2Dcolor%3A%2346b8da%7D%2Ebtn%2Dinfo%20%2Ebadge%7Bcolor%3A%235bc0de%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dwarning%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23f0ad4e%3Bborder%2Dcolor%3A%23eea236%7D%2Ebtn%2Dwarning%2Efocus%2C%2Ebtn%2Dwarning%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ec971f%3Bborder%2Dcolor%3A%23985f0d%7D%2Ebtn%2Dwarning%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ec971f%3Bborder%2Dcolor%3A%23d58512%7D%2Ebtn%2Dwarning%2Eactive%2C%2Ebtn%2Dwarning%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ec971f%3Bborder%2Dcolor%3A%23d58512%7D%2Ebtn%2Dwarning%2Eactive%2Efocus%2C%2Ebtn%2Dwarning%2Eactive%3Afocus%2C%2Ebtn%2Dwarning%2Eactive%3Ahover%2C%2Ebtn%2Dwarning%3Aactive%2Efocus%2C%2Ebtn%2Dwarning%3Aactive%3Afocus%2C%2Ebtn%2Dwarning%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23d58512%3Bborder%2Dcolor%3A%23985f0d%7D%2Ebtn%2Dwarning%2Eactive%2C%2Ebtn%2Dwarning%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Dwarning%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Dwarning%2Edisabled%2C%2Ebtn%2Dwarning%2Edisabled%2Eactive%2C%2Ebtn%2Dwarning%2Edisabled%2Efocus%2C%2Ebtn%2Dwarning%2Edisabled%3Aactive%2C%2Ebtn%2Dwarning%2Edisabled%3Afocus%2C%2Ebtn%2Dwarning%2Edisabled%3Ahover%2C%2Ebtn%2Dwarning%5Bdisabled%5D%2C%2Ebtn%2Dwarning%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Dwarning%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Dwarning%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Dwarning%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dwarning%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dwarning%3Ahover%7Bbackground%2Dcolor%3A%23f0ad4e%3Bborder%2Dcolor%3A%23eea236%7D%2Ebtn%2Dwarning%20%2Ebadge%7Bcolor%3A%23f0ad4e%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Ddanger%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23d9534f%3Bborder%2Dcolor%3A%23d43f3a%7D%2Ebtn%2Ddanger%2Efocus%2C%2Ebtn%2Ddanger%3Afocus%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23c9302c%3Bborder%2Dcolor%3A%23761c19%7D%2Ebtn%2Ddanger%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23c9302c%3Bborder%2Dcolor%3A%23ac2925%7D%2Ebtn%2Ddanger%2Eactive%2C%2Ebtn%2Ddanger%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23c9302c%3Bborder%2Dcolor%3A%23ac2925%7D%2Ebtn%2Ddanger%2Eactive%2Efocus%2C%2Ebtn%2Ddanger%2Eactive%3Afocus%2C%2Ebtn%2Ddanger%2Eactive%3Ahover%2C%2Ebtn%2Ddanger%3Aactive%2Efocus%2C%2Ebtn%2Ddanger%3Aactive%3Afocus%2C%2Ebtn%2Ddanger%3Aactive%3Ahover%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%2Efocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%3Afocus%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23ac2925%3Bborder%2Dcolor%3A%23761c19%7D%2Ebtn%2Ddanger%2Eactive%2C%2Ebtn%2Ddanger%3Aactive%2C%2Eopen%3E%2Edropdown%2Dtoggle%2Ebtn%2Ddanger%7Bbackground%2Dimage%3Anone%7D%2Ebtn%2Ddanger%2Edisabled%2C%2Ebtn%2Ddanger%2Edisabled%2Eactive%2C%2Ebtn%2Ddanger%2Edisabled%2Efocus%2C%2Ebtn%2Ddanger%2Edisabled%3Aactive%2C%2Ebtn%2Ddanger%2Edisabled%3Afocus%2C%2Ebtn%2Ddanger%2Edisabled%3Ahover%2C%2Ebtn%2Ddanger%5Bdisabled%5D%2C%2Ebtn%2Ddanger%5Bdisabled%5D%2Eactive%2C%2Ebtn%2Ddanger%5Bdisabled%5D%2Efocus%2C%2Ebtn%2Ddanger%5Bdisabled%5D%3Aactive%2C%2Ebtn%2Ddanger%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Ddanger%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%2Eactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%2Efocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%3Aactive%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Ddanger%3Ahover%7Bbackground%2Dcolor%3A%23d9534f%3Bborder%2Dcolor%3A%23d43f3a%7D%2Ebtn%2Ddanger%20%2Ebadge%7Bcolor%3A%23d9534f%3Bbackground%2Dcolor%3A%23fff%7D%2Ebtn%2Dlink%7Bfont%2Dweight%3A400%3Bcolor%3A%23337ab7%3Bborder%2Dradius%3A0%7D%2Ebtn%2Dlink%2C%2Ebtn%2Dlink%2Eactive%2C%2Ebtn%2Dlink%3Aactive%2C%2Ebtn%2Dlink%5Bdisabled%5D%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dlink%7Bbackground%2Dcolor%3Atransparent%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Ebtn%2Dlink%2C%2Ebtn%2Dlink%3Aactive%2C%2Ebtn%2Dlink%3Afocus%2C%2Ebtn%2Dlink%3Ahover%7Bborder%2Dcolor%3Atransparent%7D%2Ebtn%2Dlink%3Afocus%2C%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%2323527c%3Btext%2Ddecoration%3Aunderline%3Bbackground%2Dcolor%3Atransparent%7D%2Ebtn%2Dlink%5Bdisabled%5D%3Afocus%2C%2Ebtn%2Dlink%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dlink%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23777%3Btext%2Ddecoration%3Anone%7D%2Ebtn%2Dgroup%2Dlg%3E%2Ebtn%2C%2Ebtn%2Dlg%7Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7D%2Ebtn%2Dgroup%2Dsm%3E%2Ebtn%2C%2Ebtn%2Dsm%7Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7D%2Ebtn%2Dgroup%2Dxs%3E%2Ebtn%2C%2Ebtn%2Dxs%7Bpadding%3A1px%205px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7D%2Ebtn%2Dblock%7Bdisplay%3Ablock%3Bwidth%3A100%25%7D%2Ebtn%2Dblock%2B%2Ebtn%2Dblock%7Bmargin%2Dtop%3A5px%7Dinput%5Btype%3Dbutton%5D%2Ebtn%2Dblock%2Cinput%5Btype%3Dreset%5D%2Ebtn%2Dblock%2Cinput%5Btype%3Dsubmit%5D%2Ebtn%2Dblock%7Bwidth%3A100%25%7D%2Efade%7Bopacity%3A0%3B%2Dwebkit%2Dtransition%3Aopacity%20%2E15s%20linear%3B%2Do%2Dtransition%3Aopacity%20%2E15s%20linear%3Btransition%3Aopacity%20%2E15s%20linear%7D%2Efade%2Ein%7Bopacity%3A1%7D%2Ecollapse%7Bdisplay%3Anone%7D%2Ecollapse%2Ein%7Bdisplay%3Ablock%7Dtr%2Ecollapse%2Ein%7Bdisplay%3Atable%2Drow%7Dtbody%2Ecollapse%2Ein%7Bdisplay%3Atable%2Drow%2Dgroup%7D%2Ecollapsing%7Bposition%3Arelative%3Bheight%3A0%3Boverflow%3Ahidden%3B%2Dwebkit%2Dtransition%2Dtiming%2Dfunction%3Aease%3B%2Do%2Dtransition%2Dtiming%2Dfunction%3Aease%3Btransition%2Dtiming%2Dfunction%3Aease%3B%2Dwebkit%2Dtransition%2Dduration%3A%2E35s%3B%2Do%2Dtransition%2Dduration%3A%2E35s%3Btransition%2Dduration%3A%2E35s%3B%2Dwebkit%2Dtransition%2Dproperty%3Aheight%2Cvisibility%3B%2Do%2Dtransition%2Dproperty%3Aheight%2Cvisibility%3Btransition%2Dproperty%3Aheight%2Cvisibility%7D%2Ecaret%7Bdisplay%3Ainline%2Dblock%3Bwidth%3A0%3Bheight%3A0%3Bmargin%2Dleft%3A2px%3Bvertical%2Dalign%3Amiddle%3Bborder%2Dtop%3A4px%20dashed%3Bborder%2Dtop%3A4px%20solid%5C9%3Bborder%2Dright%3A4px%20solid%20transparent%3Bborder%2Dleft%3A4px%20solid%20transparent%7D%2Edropdown%2C%2Edropup%7Bposition%3Arelative%7D%2Edropdown%2Dtoggle%3Afocus%7Boutline%3A0%7D%2Edropdown%2Dmenu%7Bposition%3Aabsolute%3Btop%3A100%25%3Bleft%3A0%3Bz%2Dindex%3A1000%3Bdisplay%3Anone%3Bfloat%3Aleft%3Bmin%2Dwidth%3A160px%3Bpadding%3A5px%200%3Bmargin%3A2px%200%200%3Bfont%2Dsize%3A14px%3Btext%2Dalign%3Aleft%3Blist%2Dstyle%3Anone%3Bbackground%2Dcolor%3A%23fff%3B%2Dwebkit%2Dbackground%2Dclip%3Apadding%2Dbox%3Bbackground%2Dclip%3Apadding%2Dbox%3Bborder%3A1px%20solid%20%23ccc%3Bborder%3A1px%20solid%20rgba%280%2C0%2C0%2C%2E15%29%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3A0%206px%2012px%20rgba%280%2C0%2C0%2C%2E175%29%3Bbox%2Dshadow%3A0%206px%2012px%20rgba%280%2C0%2C0%2C%2E175%29%7D%2Edropdown%2Dmenu%2Epull%2Dright%7Bright%3A0%3Bleft%3Aauto%7D%2Edropdown%2Dmenu%20%2Edivider%7Bheight%3A1px%3Bmargin%3A9px%200%3Boverflow%3Ahidden%3Bbackground%2Dcolor%3A%23e5e5e5%7D%2Edropdown%2Dmenu%3Eli%3Ea%7Bdisplay%3Ablock%3Bpadding%3A3px%2020px%3Bclear%3Aboth%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23333%3Bwhite%2Dspace%3Anowrap%7D%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bcolor%3A%23262626%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23f5f5f5%7D%2Edropdown%2Dmenu%3E%2Eactive%3Ea%2C%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23337ab7%3Boutline%3A0%7D%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%2C%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23777%7D%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Btext%2Ddecoration%3Anone%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3Atransparent%3Bbackground%2Dimage%3Anone%3Bfilter%3Aprogid%3ADXImageTransform%2EMicrosoft%2Egradient%28enabled%3Dfalse%29%7D%2Eopen%3E%2Edropdown%2Dmenu%7Bdisplay%3Ablock%7D%2Eopen%3Ea%7Boutline%3A0%7D%2Edropdown%2Dmenu%2Dright%7Bright%3A0%3Bleft%3Aauto%7D%2Edropdown%2Dmenu%2Dleft%7Bright%3Aauto%3Bleft%3A0%7D%2Edropdown%2Dheader%7Bdisplay%3Ablock%3Bpadding%3A3px%2020px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23777%3Bwhite%2Dspace%3Anowrap%7D%2Edropdown%2Dbackdrop%7Bposition%3Afixed%3Btop%3A0%3Bright%3A0%3Bbottom%3A0%3Bleft%3A0%3Bz%2Dindex%3A990%7D%2Epull%2Dright%3E%2Edropdown%2Dmenu%7Bright%3A0%3Bleft%3Aauto%7D%2Edropup%20%2Ecaret%2C%2Enavbar%2Dfixed%2Dbottom%20%2Edropdown%20%2Ecaret%7Bcontent%3A%22%22%3Bborder%2Dtop%3A0%3Bborder%2Dbottom%3A4px%20dashed%3Bborder%2Dbottom%3A4px%20solid%5C9%7D%2Edropup%20%2Edropdown%2Dmenu%2C%2Enavbar%2Dfixed%2Dbottom%20%2Edropdown%20%2Edropdown%2Dmenu%7Btop%3Aauto%3Bbottom%3A100%25%3Bmargin%2Dbottom%3A2px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dright%20%2Edropdown%2Dmenu%7Bright%3A0%3Bleft%3Aauto%7D%2Enavbar%2Dright%20%2Edropdown%2Dmenu%2Dleft%7Bright%3Aauto%3Bleft%3A0%7D%7D%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%2Dvertical%7Bposition%3Arelative%3Bdisplay%3Ainline%2Dblock%3Bvertical%2Dalign%3Amiddle%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2C%2Ebtn%2Dgroup%3E%2Ebtn%7Bposition%3Arelative%3Bfloat%3Aleft%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Eactive%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Aactive%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Afocus%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Ahover%2C%2Ebtn%2Dgroup%3E%2Ebtn%2Eactive%2C%2Ebtn%2Dgroup%3E%2Ebtn%3Aactive%2C%2Ebtn%2Dgroup%3E%2Ebtn%3Afocus%2C%2Ebtn%2Dgroup%3E%2Ebtn%3Ahover%7Bz%2Dindex%3A2%7D%2Ebtn%2Dgroup%20%2Ebtn%2B%2Ebtn%2C%2Ebtn%2Dgroup%20%2Ebtn%2B%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%20%2Ebtn%2Dgroup%2B%2Ebtn%2C%2Ebtn%2Dgroup%20%2Ebtn%2Dgroup%2B%2Ebtn%2Dgroup%7Bmargin%2Dleft%3A%2D1px%7D%2Ebtn%2Dtoolbar%7Bmargin%2Dleft%3A%2D5px%7D%2Ebtn%2Dtoolbar%20%2Ebtn%2C%2Ebtn%2Dtoolbar%20%2Ebtn%2Dgroup%2C%2Ebtn%2Dtoolbar%20%2Einput%2Dgroup%7Bfloat%3Aleft%7D%2Ebtn%2Dtoolbar%3E%2Ebtn%2C%2Ebtn%2Dtoolbar%3E%2Ebtn%2Dgroup%2C%2Ebtn%2Dtoolbar%3E%2Einput%2Dgroup%7Bmargin%2Dleft%3A5px%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%3Anot%28%2Edropdown%2Dtoggle%29%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Afirst%2Dchild%7Bmargin%2Dleft%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3Anot%28%2Edropdown%2Dtoggle%29%7Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%2C%2Ebtn%2Dgroup%3E%2Edropdown%2Dtoggle%3Anot%28%3Afirst%2Dchild%29%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%7Bfloat%3Aleft%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%3Alast%2Dchild%2C%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Edropdown%2Dtoggle%7Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dgroup%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%3E%2Ebtn%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%20%2Edropdown%2Dtoggle%3Aactive%2C%2Ebtn%2Dgroup%2Eopen%20%2Edropdown%2Dtoggle%7Boutline%3A0%7D%2Ebtn%2Dgroup%3E%2Ebtn%2B%2Edropdown%2Dtoggle%7Bpadding%2Dright%3A8px%3Bpadding%2Dleft%3A8px%7D%2Ebtn%2Dgroup%3E%2Ebtn%2Dlg%2B%2Edropdown%2Dtoggle%7Bpadding%2Dright%3A12px%3Bpadding%2Dleft%3A12px%7D%2Ebtn%2Dgroup%2Eopen%20%2Edropdown%2Dtoggle%7B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%3Bbox%2Dshadow%3Ainset%200%203px%205px%20rgba%280%2C0%2C0%2C%2E125%29%7D%2Ebtn%2Dgroup%2Eopen%20%2Edropdown%2Dtoggle%2Ebtn%2Dlink%7B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Ebtn%20%2Ecaret%7Bmargin%2Dleft%3A0%7D%2Ebtn%2Dlg%20%2Ecaret%7Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dbottom%2Dwidth%3A0%7D%2Edropup%20%2Ebtn%2Dlg%20%2Ecaret%7Bborder%2Dwidth%3A0%205px%205px%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3E%2Ebtn%7Bdisplay%3Ablock%3Bfloat%3Anone%3Bwidth%3A100%25%3Bmax%2Dwidth%3A100%25%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3E%2Ebtn%7Bfloat%3Anone%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2B%2Ebtn%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2B%2Ebtn%2Dgroup%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%2B%2Ebtn%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%2B%2Ebtn%2Dgroup%7Bmargin%2Dtop%3A%2D1px%3Bmargin%2Dleft%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%7Bborder%2Dtop%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A4px%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%7Bborder%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%3Alast%2Dchild%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Afirst%2Dchild%3Anot%28%3Alast%2Dchild%29%3E%2Edropdown%2Dtoggle%7Bborder%2Dbottom%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Alast%2Dchild%3Anot%28%3Afirst%2Dchild%29%3E%2Ebtn%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Ebtn%2Dgroup%2Djustified%7Bdisplay%3Atable%3Bwidth%3A100%25%3Btable%2Dlayout%3Afixed%3Bborder%2Dcollapse%3Aseparate%7D%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2C%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2Dgroup%7Bdisplay%3Atable%2Dcell%3Bfloat%3Anone%3Bwidth%3A1%25%7D%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2Dgroup%20%2Ebtn%7Bwidth%3A100%25%7D%2Ebtn%2Dgroup%2Djustified%3E%2Ebtn%2Dgroup%20%2Edropdown%2Dmenu%7Bleft%3Aauto%7D%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%20input%5Btype%3Dcheckbox%5D%2C%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%20input%5Btype%3Dradio%5D%2C%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%2Dgroup%3E%2Ebtn%20input%5Btype%3Dcheckbox%5D%2C%5Bdata%2Dtoggle%3Dbuttons%5D%3E%2Ebtn%2Dgroup%3E%2Ebtn%20input%5Btype%3Dradio%5D%7Bposition%3Aabsolute%3Bclip%3Arect%280%2C0%2C0%2C0%29%3Bpointer%2Devents%3Anone%7D%2Einput%2Dgroup%7Bposition%3Arelative%3Bdisplay%3Atable%3Bborder%2Dcollapse%3Aseparate%7D%2Einput%2Dgroup%5Bclass%2A%3Dcol%2D%5D%7Bfloat%3Anone%3Bpadding%2Dright%3A0%3Bpadding%2Dleft%3A0%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%7Bposition%3Arelative%3Bz%2Dindex%3A2%3Bfloat%3Aleft%3Bwidth%3A100%25%3Bmargin%2Dbottom%3A0%7D%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2C%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A46px%3Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%3Bborder%2Dradius%3A6px%7Dselect%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2Cselect%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2Cselect%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A46px%3Bline%2Dheight%3A46px%7Dselect%5Bmultiple%5D%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%2Ctextarea%2Einput%2Dgroup%2Dlg%3E%2Eform%2Dcontrol%2Ctextarea%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Daddon%2Ctextarea%2Einput%2Dgroup%2Dlg%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3Aauto%7D%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2C%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A30px%3Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%3Bborder%2Dradius%3A3px%7Dselect%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2Cselect%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2Cselect%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3A30px%3Bline%2Dheight%3A30px%7Dselect%5Bmultiple%5D%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2Cselect%5Bmultiple%5D%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%2Ctextarea%2Einput%2Dgroup%2Dsm%3E%2Eform%2Dcontrol%2Ctextarea%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Daddon%2Ctextarea%2Einput%2Dgroup%2Dsm%3E%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bheight%3Aauto%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%2C%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dbtn%7Bdisplay%3Atable%2Dcell%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%2C%2Einput%2Dgroup%2Daddon%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%2C%2Einput%2Dgroup%2Dbtn%3Anot%28%3Afirst%2Dchild%29%3Anot%28%3Alast%2Dchild%29%7Bborder%2Dradius%3A0%7D%2Einput%2Dgroup%2Daddon%2C%2Einput%2Dgroup%2Dbtn%7Bwidth%3A1%25%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Amiddle%7D%2Einput%2Dgroup%2Daddon%7Bpadding%3A6px%2012px%3Bfont%2Dsize%3A14px%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%3Bcolor%3A%23555%3Btext%2Dalign%3Acenter%3Bbackground%2Dcolor%3A%23eee%3Bborder%3A1px%20solid%20%23ccc%3Bborder%2Dradius%3A4px%7D%2Einput%2Dgroup%2Daddon%2Einput%2Dsm%7Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bborder%2Dradius%3A3px%7D%2Einput%2Dgroup%2Daddon%2Einput%2Dlg%7Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bborder%2Dradius%3A6px%7D%2Einput%2Dgroup%2Daddon%20input%5Btype%3Dcheckbox%5D%2C%2Einput%2Dgroup%2Daddon%20input%5Btype%3Dradio%5D%7Bmargin%2Dtop%3A0%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%3Afirst%2Dchild%2C%2Einput%2Dgroup%2Daddon%3Afirst%2Dchild%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2Dgroup%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Edropdown%2Dtoggle%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2Dgroup%3Anot%28%3Alast%2Dchild%29%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%3Anot%28%3Alast%2Dchild%29%3Anot%28%2Edropdown%2Dtoggle%29%7Bborder%2Dtop%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A0%7D%2Einput%2Dgroup%2Daddon%3Afirst%2Dchild%7Bborder%2Dright%3A0%7D%2Einput%2Dgroup%20%2Eform%2Dcontrol%3Alast%2Dchild%2C%2Einput%2Dgroup%2Daddon%3Alast%2Dchild%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2Dgroup%3Anot%28%3Afirst%2Dchild%29%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%3Anot%28%3Afirst%2Dchild%29%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2Dgroup%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Edropdown%2Dtoggle%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Einput%2Dgroup%2Daddon%3Alast%2Dchild%7Bborder%2Dleft%3A0%7D%2Einput%2Dgroup%2Dbtn%7Bposition%3Arelative%3Bfont%2Dsize%3A0%3Bwhite%2Dspace%3Anowrap%7D%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%7Bposition%3Arelative%7D%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%2B%2Ebtn%7Bmargin%2Dleft%3A%2D1px%7D%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%3Aactive%2C%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%3Afocus%2C%2Einput%2Dgroup%2Dbtn%3E%2Ebtn%3Ahover%7Bz%2Dindex%3A2%7D%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Afirst%2Dchild%3E%2Ebtn%2Dgroup%7Bmargin%2Dright%3A%2D1px%7D%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2C%2Einput%2Dgroup%2Dbtn%3Alast%2Dchild%3E%2Ebtn%2Dgroup%7Bz%2Dindex%3A2%3Bmargin%2Dleft%3A%2D1px%7D%2Enav%7Bpadding%2Dleft%3A0%3Bmargin%2Dbottom%3A0%3Blist%2Dstyle%3Anone%7D%2Enav%3Eli%7Bposition%3Arelative%3Bdisplay%3Ablock%7D%2Enav%3Eli%3Ea%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bpadding%3A10px%2015px%7D%2Enav%3Eli%3Ea%3Afocus%2C%2Enav%3Eli%3Ea%3Ahover%7Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23eee%7D%2Enav%3Eli%2Edisabled%3Ea%7Bcolor%3A%23777%7D%2Enav%3Eli%2Edisabled%3Ea%3Afocus%2C%2Enav%3Eli%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23777%3Btext%2Ddecoration%3Anone%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3Atransparent%7D%2Enav%20%2Eopen%3Ea%2C%2Enav%20%2Eopen%3Ea%3Afocus%2C%2Enav%20%2Eopen%3Ea%3Ahover%7Bbackground%2Dcolor%3A%23eee%3Bborder%2Dcolor%3A%23337ab7%7D%2Enav%20%2Enav%2Ddivider%7Bheight%3A1px%3Bmargin%3A9px%200%3Boverflow%3Ahidden%3Bbackground%2Dcolor%3A%23e5e5e5%7D%2Enav%3Eli%3Ea%3Eimg%7Bmax%2Dwidth%3Anone%7D%2Enav%2Dtabs%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%7D%2Enav%2Dtabs%3Eli%7Bfloat%3Aleft%3Bmargin%2Dbottom%3A%2D1px%7D%2Enav%2Dtabs%3Eli%3Ea%7Bmargin%2Dright%3A2px%3Bline%2Dheight%3A1%2E42857143%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%204px%200%200%7D%2Enav%2Dtabs%3Eli%3Ea%3Ahover%7Bborder%2Dcolor%3A%23eee%20%23eee%20%23ddd%7D%2Enav%2Dtabs%3Eli%2Eactive%3Ea%2C%2Enav%2Dtabs%3Eli%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%3Eli%2Eactive%3Ea%3Ahover%7Bcolor%3A%23555%3Bcursor%3Adefault%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dbottom%2Dcolor%3Atransparent%7D%2Enav%2Dtabs%2Enav%2Djustified%7Bwidth%3A100%25%3Bborder%2Dbottom%3A0%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%7Bfloat%3Anone%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A5px%3Btext%2Dalign%3Acenter%7D%2Enav%2Dtabs%2Enav%2Djustified%3E%2Edropdown%20%2Edropdown%2Dmenu%7Btop%3Aauto%3Bleft%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Dtabs%2Enav%2Djustified%3Eli%7Bdisplay%3Atable%2Dcell%3Bwidth%3A1%25%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A0%7D%7D%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dright%3A0%3Bborder%2Dradius%3A4px%7D%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%3A1px%20solid%20%23ddd%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Dtabs%2Enav%2Djustified%3Eli%3Ea%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%204px%200%200%7D%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Enav%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%2Dbottom%2Dcolor%3A%23fff%7D%7D%2Enav%2Dpills%3Eli%7Bfloat%3Aleft%7D%2Enav%2Dpills%3Eli%3Ea%7Bborder%2Dradius%3A4px%7D%2Enav%2Dpills%3Eli%2Bli%7Bmargin%2Dleft%3A2px%7D%2Enav%2Dpills%3Eli%2Eactive%3Ea%2C%2Enav%2Dpills%3Eli%2Eactive%3Ea%3Afocus%2C%2Enav%2Dpills%3Eli%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%7D%2Enav%2Dstacked%3Eli%7Bfloat%3Anone%7D%2Enav%2Dstacked%3Eli%2Bli%7Bmargin%2Dtop%3A2px%3Bmargin%2Dleft%3A0%7D%2Enav%2Djustified%7Bwidth%3A100%25%7D%2Enav%2Djustified%3Eli%7Bfloat%3Anone%7D%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A5px%3Btext%2Dalign%3Acenter%7D%2Enav%2Djustified%3E%2Edropdown%20%2Edropdown%2Dmenu%7Btop%3Aauto%3Bleft%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Djustified%3Eli%7Bdisplay%3Atable%2Dcell%3Bwidth%3A1%25%7D%2Enav%2Djustified%3Eli%3Ea%7Bmargin%2Dbottom%3A0%7D%7D%2Enav%2Dtabs%2Djustified%7Bborder%2Dbottom%3A0%7D%2Enav%2Dtabs%2Djustified%3Eli%3Ea%7Bmargin%2Dright%3A0%3Bborder%2Dradius%3A4px%7D%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%3A1px%20solid%20%23ddd%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enav%2Dtabs%2Djustified%3Eli%3Ea%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%204px%200%200%7D%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Afocus%2C%2Enav%2Dtabs%2Djustified%3E%2Eactive%3Ea%3Ahover%7Bborder%2Dbottom%2Dcolor%3A%23fff%7D%7D%2Etab%2Dcontent%3E%2Etab%2Dpane%7Bdisplay%3Anone%7D%2Etab%2Dcontent%3E%2Eactive%7Bdisplay%3Ablock%7D%2Enav%2Dtabs%20%2Edropdown%2Dmenu%7Bmargin%2Dtop%3A%2D1px%3Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Enavbar%7Bposition%3Arelative%3Bmin%2Dheight%3A50px%3Bmargin%2Dbottom%3A20px%3Bborder%3A1px%20solid%20transparent%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%7Bborder%2Dradius%3A4px%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dheader%7Bfloat%3Aleft%7D%7D%2Enavbar%2Dcollapse%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%3Boverflow%2Dx%3Avisible%3B%2Dwebkit%2Doverflow%2Dscrolling%3Atouch%3Bborder%2Dtop%3A1px%20solid%20transparent%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%3Bbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%7D%2Enavbar%2Dcollapse%2Ein%7Boverflow%2Dy%3Aauto%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dcollapse%7Bwidth%3Aauto%3Bborder%2Dtop%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Enavbar%2Dcollapse%2Ecollapse%7Bdisplay%3Ablock%21important%3Bheight%3Aauto%21important%3Bpadding%2Dbottom%3A0%3Boverflow%3Avisible%21important%7D%2Enavbar%2Dcollapse%2Ein%7Boverflow%2Dy%3Avisible%7D%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dfixed%2Dtop%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dstatic%2Dtop%20%2Enavbar%2Dcollapse%7Bpadding%2Dright%3A0%3Bpadding%2Dleft%3A0%7D%7D%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dfixed%2Dtop%20%2Enavbar%2Dcollapse%7Bmax%2Dheight%3A340px%7D%40media%20%28max%2Ddevice%2Dwidth%3A480px%29%20and%20%28orientation%3Alandscape%29%7B%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dfixed%2Dtop%20%2Enavbar%2Dcollapse%7Bmax%2Dheight%3A200px%7D%7D%2Econtainer%2Dfluid%3E%2Enavbar%2Dcollapse%2C%2Econtainer%2Dfluid%3E%2Enavbar%2Dheader%2C%2Econtainer%3E%2Enavbar%2Dcollapse%2C%2Econtainer%3E%2Enavbar%2Dheader%7Bmargin%2Dright%3A%2D15px%3Bmargin%2Dleft%3A%2D15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Econtainer%2Dfluid%3E%2Enavbar%2Dcollapse%2C%2Econtainer%2Dfluid%3E%2Enavbar%2Dheader%2C%2Econtainer%3E%2Enavbar%2Dcollapse%2C%2Econtainer%3E%2Enavbar%2Dheader%7Bmargin%2Dright%3A0%3Bmargin%2Dleft%3A0%7D%7D%2Enavbar%2Dstatic%2Dtop%7Bz%2Dindex%3A1000%3Bborder%2Dwidth%3A0%200%201px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dstatic%2Dtop%7Bborder%2Dradius%3A0%7D%7D%2Enavbar%2Dfixed%2Dbottom%2C%2Enavbar%2Dfixed%2Dtop%7Bposition%3Afixed%3Bright%3A0%3Bleft%3A0%3Bz%2Dindex%3A1030%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dfixed%2Dbottom%2C%2Enavbar%2Dfixed%2Dtop%7Bborder%2Dradius%3A0%7D%7D%2Enavbar%2Dfixed%2Dtop%7Btop%3A0%3Bborder%2Dwidth%3A0%200%201px%7D%2Enavbar%2Dfixed%2Dbottom%7Bbottom%3A0%3Bmargin%2Dbottom%3A0%3Bborder%2Dwidth%3A1px%200%200%7D%2Enavbar%2Dbrand%7Bfloat%3Aleft%3Bheight%3A50px%3Bpadding%3A15px%2015px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A20px%7D%2Enavbar%2Dbrand%3Afocus%2C%2Enavbar%2Dbrand%3Ahover%7Btext%2Ddecoration%3Anone%7D%2Enavbar%2Dbrand%3Eimg%7Bdisplay%3Ablock%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%3E%2Econtainer%20%2Enavbar%2Dbrand%2C%2Enavbar%3E%2Econtainer%2Dfluid%20%2Enavbar%2Dbrand%7Bmargin%2Dleft%3A%2D15px%7D%7D%2Enavbar%2Dtoggle%7Bposition%3Arelative%3Bfloat%3Aright%3Bpadding%3A9px%2010px%3Bmargin%2Dtop%3A8px%3Bmargin%2Dright%3A15px%3Bmargin%2Dbottom%3A8px%3Bbackground%2Dcolor%3Atransparent%3Bbackground%2Dimage%3Anone%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%7D%2Enavbar%2Dtoggle%3Afocus%7Boutline%3A0%7D%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%7Bdisplay%3Ablock%3Bwidth%3A22px%3Bheight%3A2px%3Bborder%2Dradius%3A1px%7D%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%2B%2Eicon%2Dbar%7Bmargin%2Dtop%3A4px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dtoggle%7Bdisplay%3Anone%7D%7D%2Enavbar%2Dnav%7Bmargin%3A7%2E5px%20%2D15px%7D%2Enavbar%2Dnav%3Eli%3Ea%7Bpadding%2Dtop%3A10px%3Bpadding%2Dbottom%3A10px%3Bline%2Dheight%3A20px%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%7Bposition%3Astatic%3Bfloat%3Anone%3Bwidth%3Aauto%3Bmargin%2Dtop%3A0%3Bbackground%2Dcolor%3Atransparent%3Bborder%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%20%2Edropdown%2Dheader%2C%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bpadding%3A5px%2015px%205px%2025px%7D%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bline%2Dheight%3A20px%7D%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bbackground%2Dimage%3Anone%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dnav%7Bfloat%3Aleft%3Bmargin%3A0%7D%2Enavbar%2Dnav%3Eli%7Bfloat%3Aleft%7D%2Enavbar%2Dnav%3Eli%3Ea%7Bpadding%2Dtop%3A15px%3Bpadding%2Dbottom%3A15px%7D%7D%2Enavbar%2Dform%7Bpadding%3A10px%2015px%3Bmargin%2Dtop%3A8px%3Bmargin%2Dright%3A%2D15px%3Bmargin%2Dbottom%3A8px%3Bmargin%2Dleft%3A%2D15px%3Bborder%2Dtop%3A1px%20solid%20transparent%3Bborder%2Dbottom%3A1px%20solid%20transparent%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%2C0%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%3Bbox%2Dshadow%3Ainset%200%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%2C0%201px%200%20rgba%28255%2C255%2C255%2C%2E1%29%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dform%20%2Eform%2Dgroup%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Eform%2Dcontrol%7Bdisplay%3Ainline%2Dblock%3Bwidth%3Aauto%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Eform%2Dcontrol%2Dstatic%7Bdisplay%3Ainline%2Dblock%7D%2Enavbar%2Dform%20%2Einput%2Dgroup%7Bdisplay%3Ainline%2Dtable%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Einput%2Dgroup%20%2Eform%2Dcontrol%2C%2Enavbar%2Dform%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Daddon%2C%2Enavbar%2Dform%20%2Einput%2Dgroup%20%2Einput%2Dgroup%2Dbtn%7Bwidth%3Aauto%7D%2Enavbar%2Dform%20%2Einput%2Dgroup%3E%2Eform%2Dcontrol%7Bwidth%3A100%25%7D%2Enavbar%2Dform%20%2Econtrol%2Dlabel%7Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Echeckbox%2C%2Enavbar%2Dform%20%2Eradio%7Bdisplay%3Ainline%2Dblock%3Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%3Bvertical%2Dalign%3Amiddle%7D%2Enavbar%2Dform%20%2Echeckbox%20label%2C%2Enavbar%2Dform%20%2Eradio%20label%7Bpadding%2Dleft%3A0%7D%2Enavbar%2Dform%20%2Echeckbox%20input%5Btype%3Dcheckbox%5D%2C%2Enavbar%2Dform%20%2Eradio%20input%5Btype%3Dradio%5D%7Bposition%3Arelative%3Bmargin%2Dleft%3A0%7D%2Enavbar%2Dform%20%2Ehas%2Dfeedback%20%2Eform%2Dcontrol%2Dfeedback%7Btop%3A0%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Dform%20%2Eform%2Dgroup%7Bmargin%2Dbottom%3A5px%7D%2Enavbar%2Dform%20%2Eform%2Dgroup%3Alast%2Dchild%7Bmargin%2Dbottom%3A0%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dform%7Bwidth%3Aauto%3Bpadding%2Dtop%3A0%3Bpadding%2Dbottom%3A0%3Bmargin%2Dright%3A0%3Bmargin%2Dleft%3A0%3Bborder%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3Anone%3Bbox%2Dshadow%3Anone%7D%7D%2Enavbar%2Dnav%3Eli%3E%2Edropdown%2Dmenu%7Bmargin%2Dtop%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Enavbar%2Dfixed%2Dbottom%20%2Enavbar%2Dnav%3Eli%3E%2Edropdown%2Dmenu%7Bmargin%2Dbottom%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A4px%3Bborder%2Dtop%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dright%2Dradius%3A0%3Bborder%2Dbottom%2Dleft%2Dradius%3A0%7D%2Enavbar%2Dbtn%7Bmargin%2Dtop%3A8px%3Bmargin%2Dbottom%3A8px%7D%2Enavbar%2Dbtn%2Ebtn%2Dsm%7Bmargin%2Dtop%3A10px%3Bmargin%2Dbottom%3A10px%7D%2Enavbar%2Dbtn%2Ebtn%2Dxs%7Bmargin%2Dtop%3A14px%3Bmargin%2Dbottom%3A14px%7D%2Enavbar%2Dtext%7Bmargin%2Dtop%3A15px%3Bmargin%2Dbottom%3A15px%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dtext%7Bfloat%3Aleft%3Bmargin%2Dright%3A15px%3Bmargin%2Dleft%3A15px%7D%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Enavbar%2Dleft%7Bfloat%3Aleft%21important%7D%2Enavbar%2Dright%7Bfloat%3Aright%21important%3Bmargin%2Dright%3A%2D15px%7D%2Enavbar%2Dright%7E%2Enavbar%2Dright%7Bmargin%2Dright%3A0%7D%7D%2Enavbar%2Ddefault%7Bbackground%2Dcolor%3A%23f8f8f8%3Bborder%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dbrand%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dbrand%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dbrand%3Ahover%7Bcolor%3A%235e5e5e%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtext%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3Eli%3Ea%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3Eli%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3Eli%3Ea%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23ccc%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%7Bborder%2Dcolor%3A%23ddd%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%3Ahover%7Bbackground%2Dcolor%3A%23ddd%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%7Bbackground%2Dcolor%3A%23888%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dform%7Bborder%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Ahover%7Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23e7e7e7%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bcolor%3A%23333%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23555%3Bbackground%2Dcolor%3A%23e7e7e7%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Ddefault%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23ccc%3Bbackground%2Dcolor%3Atransparent%7D%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dlink%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Enavbar%2Dlink%3Ahover%7Bcolor%3A%23333%7D%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%7Bcolor%3A%23777%7D%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Afocus%2C%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23333%7D%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%5Bdisabled%5D%3Afocus%2C%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Ddefault%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23ccc%7D%2Enavbar%2Dinverse%7Bbackground%2Dcolor%3A%23222%3Bborder%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dbrand%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dbrand%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dbrand%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtext%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3Eli%3Ea%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3Eli%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3Eli%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23444%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%7Bborder%2Dcolor%3A%23333%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%3Ahover%7Bbackground%2Dcolor%3A%23333%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dtoggle%20%2Eicon%2Dbar%7Bbackground%2Dcolor%3A%23fff%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dcollapse%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dform%7Bborder%2Dcolor%3A%23101010%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%3E%2Eopen%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23080808%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edropdown%2Dheader%7Bborder%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%20%2Edivider%7Bbackground%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3Eli%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3Atransparent%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Eactive%3Ea%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23080808%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Afocus%2C%2Enavbar%2Dinverse%20%2Enavbar%2Dnav%20%2Eopen%20%2Edropdown%2Dmenu%3E%2Edisabled%3Ea%3Ahover%7Bcolor%3A%23444%3Bbackground%2Dcolor%3Atransparent%7D%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dlink%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Enavbar%2Dlink%3Ahover%7Bcolor%3A%23fff%7D%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%7Bcolor%3A%239d9d9d%7D%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Afocus%2C%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23fff%7D%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%5Bdisabled%5D%3Afocus%2C%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%5Bdisabled%5D%3Ahover%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Afocus%2Cfieldset%5Bdisabled%5D%20%2Enavbar%2Dinverse%20%2Ebtn%2Dlink%3Ahover%7Bcolor%3A%23444%7D%2Ebreadcrumb%7Bpadding%3A8px%2015px%3Bmargin%2Dbottom%3A20px%3Blist%2Dstyle%3Anone%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dradius%3A4px%7D%2Ebreadcrumb%3Eli%7Bdisplay%3Ainline%2Dblock%7D%2Ebreadcrumb%3Eli%2Bli%3Abefore%7Bpadding%3A0%205px%3Bcolor%3A%23ccc%3Bcontent%3A%22%2F%5C00a0%22%7D%2Ebreadcrumb%3E%2Eactive%7Bcolor%3A%23777%7D%2Epagination%7Bdisplay%3Ainline%2Dblock%3Bpadding%2Dleft%3A0%3Bmargin%3A20px%200%3Bborder%2Dradius%3A4px%7D%2Epagination%3Eli%7Bdisplay%3Ainline%7D%2Epagination%3Eli%3Ea%2C%2Epagination%3Eli%3Espan%7Bposition%3Arelative%3Bfloat%3Aleft%3Bpadding%3A6px%2012px%3Bmargin%2Dleft%3A%2D1px%3Bline%2Dheight%3A1%2E42857143%3Bcolor%3A%23337ab7%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%7D%2Epagination%3Eli%3Afirst%2Dchild%3Ea%2C%2Epagination%3Eli%3Afirst%2Dchild%3Espan%7Bmargin%2Dleft%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A4px%3Bborder%2Dbottom%2Dleft%2Dradius%3A4px%7D%2Epagination%3Eli%3Alast%2Dchild%3Ea%2C%2Epagination%3Eli%3Alast%2Dchild%3Espan%7Bborder%2Dtop%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dright%2Dradius%3A4px%7D%2Epagination%3Eli%3Ea%3Afocus%2C%2Epagination%3Eli%3Ea%3Ahover%2C%2Epagination%3Eli%3Espan%3Afocus%2C%2Epagination%3Eli%3Espan%3Ahover%7Bz%2Dindex%3A3%3Bcolor%3A%2323527c%3Bbackground%2Dcolor%3A%23eee%3Bborder%2Dcolor%3A%23ddd%7D%2Epagination%3E%2Eactive%3Ea%2C%2Epagination%3E%2Eactive%3Ea%3Afocus%2C%2Epagination%3E%2Eactive%3Ea%3Ahover%2C%2Epagination%3E%2Eactive%3Espan%2C%2Epagination%3E%2Eactive%3Espan%3Afocus%2C%2Epagination%3E%2Eactive%3Espan%3Ahover%7Bz%2Dindex%3A2%3Bcolor%3A%23fff%3Bcursor%3Adefault%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%23337ab7%7D%2Epagination%3E%2Edisabled%3Ea%2C%2Epagination%3E%2Edisabled%3Ea%3Afocus%2C%2Epagination%3E%2Edisabled%3Ea%3Ahover%2C%2Epagination%3E%2Edisabled%3Espan%2C%2Epagination%3E%2Edisabled%3Espan%3Afocus%2C%2Epagination%3E%2Edisabled%3Espan%3Ahover%7Bcolor%3A%23777%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3A%23fff%3Bborder%2Dcolor%3A%23ddd%7D%2Epagination%2Dlg%3Eli%3Ea%2C%2Epagination%2Dlg%3Eli%3Espan%7Bpadding%3A10px%2016px%3Bfont%2Dsize%3A18px%3Bline%2Dheight%3A1%2E3333333%7D%2Epagination%2Dlg%3Eli%3Afirst%2Dchild%3Ea%2C%2Epagination%2Dlg%3Eli%3Afirst%2Dchild%3Espan%7Bborder%2Dtop%2Dleft%2Dradius%3A6px%3Bborder%2Dbottom%2Dleft%2Dradius%3A6px%7D%2Epagination%2Dlg%3Eli%3Alast%2Dchild%3Ea%2C%2Epagination%2Dlg%3Eli%3Alast%2Dchild%3Espan%7Bborder%2Dtop%2Dright%2Dradius%3A6px%3Bborder%2Dbottom%2Dright%2Dradius%3A6px%7D%2Epagination%2Dsm%3Eli%3Ea%2C%2Epagination%2Dsm%3Eli%3Espan%7Bpadding%3A5px%2010px%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A1%2E5%7D%2Epagination%2Dsm%3Eli%3Afirst%2Dchild%3Ea%2C%2Epagination%2Dsm%3Eli%3Afirst%2Dchild%3Espan%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epagination%2Dsm%3Eli%3Alast%2Dchild%3Ea%2C%2Epagination%2Dsm%3Eli%3Alast%2Dchild%3Espan%7Bborder%2Dtop%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dright%2Dradius%3A3px%7D%2Epager%7Bpadding%2Dleft%3A0%3Bmargin%3A20px%200%3Btext%2Dalign%3Acenter%3Blist%2Dstyle%3Anone%7D%2Epager%20li%7Bdisplay%3Ainline%7D%2Epager%20li%3Ea%2C%2Epager%20li%3Espan%7Bdisplay%3Ainline%2Dblock%3Bpadding%3A5px%2014px%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A15px%7D%2Epager%20li%3Ea%3Afocus%2C%2Epager%20li%3Ea%3Ahover%7Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23eee%7D%2Epager%20%2Enext%3Ea%2C%2Epager%20%2Enext%3Espan%7Bfloat%3Aright%7D%2Epager%20%2Eprevious%3Ea%2C%2Epager%20%2Eprevious%3Espan%7Bfloat%3Aleft%7D%2Epager%20%2Edisabled%3Ea%2C%2Epager%20%2Edisabled%3Ea%3Afocus%2C%2Epager%20%2Edisabled%3Ea%3Ahover%2C%2Epager%20%2Edisabled%3Espan%7Bcolor%3A%23777%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3A%23fff%7D%2Elabel%7Bdisplay%3Ainline%3Bpadding%3A%2E2em%20%2E6em%20%2E3em%3Bfont%2Dsize%3A75%25%3Bfont%2Dweight%3A700%3Bline%2Dheight%3A1%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Abaseline%3Bborder%2Dradius%3A%2E25em%7Da%2Elabel%3Afocus%2Ca%2Elabel%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bcursor%3Apointer%7D%2Elabel%3Aempty%7Bdisplay%3Anone%7D%2Ebtn%20%2Elabel%7Bposition%3Arelative%3Btop%3A%2D1px%7D%2Elabel%2Ddefault%7Bbackground%2Dcolor%3A%23777%7D%2Elabel%2Ddefault%5Bhref%5D%3Afocus%2C%2Elabel%2Ddefault%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%235e5e5e%7D%2Elabel%2Dprimary%7Bbackground%2Dcolor%3A%23337ab7%7D%2Elabel%2Dprimary%5Bhref%5D%3Afocus%2C%2Elabel%2Dprimary%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23286090%7D%2Elabel%2Dsuccess%7Bbackground%2Dcolor%3A%235cb85c%7D%2Elabel%2Dsuccess%5Bhref%5D%3Afocus%2C%2Elabel%2Dsuccess%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23449d44%7D%2Elabel%2Dinfo%7Bbackground%2Dcolor%3A%235bc0de%7D%2Elabel%2Dinfo%5Bhref%5D%3Afocus%2C%2Elabel%2Dinfo%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%2331b0d5%7D%2Elabel%2Dwarning%7Bbackground%2Dcolor%3A%23f0ad4e%7D%2Elabel%2Dwarning%5Bhref%5D%3Afocus%2C%2Elabel%2Dwarning%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23ec971f%7D%2Elabel%2Ddanger%7Bbackground%2Dcolor%3A%23d9534f%7D%2Elabel%2Ddanger%5Bhref%5D%3Afocus%2C%2Elabel%2Ddanger%5Bhref%5D%3Ahover%7Bbackground%2Dcolor%3A%23c9302c%7D%2Ebadge%7Bdisplay%3Ainline%2Dblock%3Bmin%2Dwidth%3A10px%3Bpadding%3A3px%207px%3Bfont%2Dsize%3A12px%3Bfont%2Dweight%3A700%3Bline%2Dheight%3A1%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bwhite%2Dspace%3Anowrap%3Bvertical%2Dalign%3Amiddle%3Bbackground%2Dcolor%3A%23777%3Bborder%2Dradius%3A10px%7D%2Ebadge%3Aempty%7Bdisplay%3Anone%7D%2Ebtn%20%2Ebadge%7Bposition%3Arelative%3Btop%3A%2D1px%7D%2Ebtn%2Dgroup%2Dxs%3E%2Ebtn%20%2Ebadge%2C%2Ebtn%2Dxs%20%2Ebadge%7Btop%3A0%3Bpadding%3A1px%205px%7Da%2Ebadge%3Afocus%2Ca%2Ebadge%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bcursor%3Apointer%7D%2Elist%2Dgroup%2Ditem%2Eactive%3E%2Ebadge%2C%2Enav%2Dpills%3E%2Eactive%3Ea%3E%2Ebadge%7Bcolor%3A%23337ab7%3Bbackground%2Dcolor%3A%23fff%7D%2Elist%2Dgroup%2Ditem%3E%2Ebadge%7Bfloat%3Aright%7D%2Elist%2Dgroup%2Ditem%3E%2Ebadge%2B%2Ebadge%7Bmargin%2Dright%3A5px%7D%2Enav%2Dpills%3Eli%3Ea%3E%2Ebadge%7Bmargin%2Dleft%3A3px%7D%2Ejumbotron%7Bpadding%2Dtop%3A30px%3Bpadding%2Dbottom%3A30px%3Bmargin%2Dbottom%3A30px%3Bcolor%3Ainherit%3Bbackground%2Dcolor%3A%23eee%7D%2Ejumbotron%20%2Eh1%2C%2Ejumbotron%20h1%7Bcolor%3Ainherit%7D%2Ejumbotron%20p%7Bmargin%2Dbottom%3A15px%3Bfont%2Dsize%3A21px%3Bfont%2Dweight%3A200%7D%2Ejumbotron%3Ehr%7Bborder%2Dtop%2Dcolor%3A%23d5d5d5%7D%2Econtainer%20%2Ejumbotron%2C%2Econtainer%2Dfluid%20%2Ejumbotron%7Bborder%2Dradius%3A6px%7D%2Ejumbotron%20%2Econtainer%7Bmax%2Dwidth%3A100%25%7D%40media%20screen%20and%20%28min%2Dwidth%3A768px%29%7B%2Ejumbotron%7Bpadding%2Dtop%3A48px%3Bpadding%2Dbottom%3A48px%7D%2Econtainer%20%2Ejumbotron%2C%2Econtainer%2Dfluid%20%2Ejumbotron%7Bpadding%2Dright%3A60px%3Bpadding%2Dleft%3A60px%7D%2Ejumbotron%20%2Eh1%2C%2Ejumbotron%20h1%7Bfont%2Dsize%3A63px%7D%7D%2Ethumbnail%7Bdisplay%3Ablock%3Bpadding%3A4px%3Bmargin%2Dbottom%3A20px%3Bline%2Dheight%3A1%2E42857143%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dtransition%3Aborder%20%2E2s%20ease%2Din%2Dout%3B%2Do%2Dtransition%3Aborder%20%2E2s%20ease%2Din%2Dout%3Btransition%3Aborder%20%2E2s%20ease%2Din%2Dout%7D%2Ethumbnail%20a%3Eimg%2C%2Ethumbnail%3Eimg%7Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7Da%2Ethumbnail%2Eactive%2Ca%2Ethumbnail%3Afocus%2Ca%2Ethumbnail%3Ahover%7Bborder%2Dcolor%3A%23337ab7%7D%2Ethumbnail%20%2Ecaption%7Bpadding%3A9px%3Bcolor%3A%23333%7D%2Ealert%7Bpadding%3A15px%3Bmargin%2Dbottom%3A20px%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%7D%2Ealert%20h4%7Bmargin%2Dtop%3A0%3Bcolor%3Ainherit%7D%2Ealert%20%2Ealert%2Dlink%7Bfont%2Dweight%3A700%7D%2Ealert%3Ep%2C%2Ealert%3Eul%7Bmargin%2Dbottom%3A0%7D%2Ealert%3Ep%2Bp%7Bmargin%2Dtop%3A5px%7D%2Ealert%2Ddismissable%2C%2Ealert%2Ddismissible%7Bpadding%2Dright%3A35px%7D%2Ealert%2Ddismissable%20%2Eclose%2C%2Ealert%2Ddismissible%20%2Eclose%7Bposition%3Arelative%3Btop%3A%2D2px%3Bright%3A%2D21px%3Bcolor%3Ainherit%7D%2Ealert%2Dsuccess%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%3Bborder%2Dcolor%3A%23d6e9c6%7D%2Ealert%2Dsuccess%20hr%7Bborder%2Dtop%2Dcolor%3A%23c9e2b3%7D%2Ealert%2Dsuccess%20%2Ealert%2Dlink%7Bcolor%3A%232b542c%7D%2Ealert%2Dinfo%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23d9edf7%3Bborder%2Dcolor%3A%23bce8f1%7D%2Ealert%2Dinfo%20hr%7Bborder%2Dtop%2Dcolor%3A%23a6e1ec%7D%2Ealert%2Dinfo%20%2Ealert%2Dlink%7Bcolor%3A%23245269%7D%2Ealert%2Dwarning%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%3Bborder%2Dcolor%3A%23faebcc%7D%2Ealert%2Dwarning%20hr%7Bborder%2Dtop%2Dcolor%3A%23f7e1b5%7D%2Ealert%2Dwarning%20%2Ealert%2Dlink%7Bcolor%3A%2366512c%7D%2Ealert%2Ddanger%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%3Bborder%2Dcolor%3A%23ebccd1%7D%2Ealert%2Ddanger%20hr%7Bborder%2Dtop%2Dcolor%3A%23e4b9c0%7D%2Ealert%2Ddanger%20%2Ealert%2Dlink%7Bcolor%3A%23843534%7D%40%2Dwebkit%2Dkeyframes%20progress%2Dbar%2Dstripes%7Bfrom%7Bbackground%2Dposition%3A40px%200%7Dto%7Bbackground%2Dposition%3A0%200%7D%7D%40%2Do%2Dkeyframes%20progress%2Dbar%2Dstripes%7Bfrom%7Bbackground%2Dposition%3A40px%200%7Dto%7Bbackground%2Dposition%3A0%200%7D%7D%40keyframes%20progress%2Dbar%2Dstripes%7Bfrom%7Bbackground%2Dposition%3A40px%200%7Dto%7Bbackground%2Dposition%3A0%200%7D%7D%2Eprogress%7Bheight%3A20px%3Bmargin%2Dbottom%3A20px%3Boverflow%3Ahidden%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%202px%20rgba%280%2C0%2C0%2C%2E1%29%3Bbox%2Dshadow%3Ainset%200%201px%202px%20rgba%280%2C0%2C0%2C%2E1%29%7D%2Eprogress%2Dbar%7Bfloat%3Aleft%3Bwidth%3A0%3Bheight%3A100%25%3Bfont%2Dsize%3A12px%3Bline%2Dheight%3A20px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bbackground%2Dcolor%3A%23337ab7%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E15%29%3Bbox%2Dshadow%3Ainset%200%20%2D1px%200%20rgba%280%2C0%2C0%2C%2E15%29%3B%2Dwebkit%2Dtransition%3Awidth%20%2E6s%20ease%3B%2Do%2Dtransition%3Awidth%20%2E6s%20ease%3Btransition%3Awidth%20%2E6s%20ease%7D%2Eprogress%2Dbar%2Dstriped%2C%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3B%2Dwebkit%2Dbackground%2Dsize%3A40px%2040px%3Bbackground%2Dsize%3A40px%2040px%7D%2Eprogress%2Dbar%2Eactive%2C%2Eprogress%2Eactive%20%2Eprogress%2Dbar%7B%2Dwebkit%2Danimation%3Aprogress%2Dbar%2Dstripes%202s%20linear%20infinite%3B%2Do%2Danimation%3Aprogress%2Dbar%2Dstripes%202s%20linear%20infinite%3Banimation%3Aprogress%2Dbar%2Dstripes%202s%20linear%20infinite%7D%2Eprogress%2Dbar%2Dsuccess%7Bbackground%2Dcolor%3A%235cb85c%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Dsuccess%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Eprogress%2Dbar%2Dinfo%7Bbackground%2Dcolor%3A%235bc0de%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Dinfo%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Eprogress%2Dbar%2Dwarning%7Bbackground%2Dcolor%3A%23f0ad4e%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Dwarning%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Eprogress%2Dbar%2Ddanger%7Bbackground%2Dcolor%3A%23d9534f%7D%2Eprogress%2Dstriped%20%2Eprogress%2Dbar%2Ddanger%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%3Bbackground%2Dimage%3Alinear%2Dgradient%2845deg%2Crgba%28255%2C255%2C255%2C%2E15%29%2025%25%2Ctransparent%2025%25%2Ctransparent%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2050%25%2Crgba%28255%2C255%2C255%2C%2E15%29%2075%25%2Ctransparent%2075%25%2Ctransparent%29%7D%2Emedia%7Bmargin%2Dtop%3A15px%7D%2Emedia%3Afirst%2Dchild%7Bmargin%2Dtop%3A0%7D%2Emedia%2C%2Emedia%2Dbody%7Boverflow%3Ahidden%3Bzoom%3A1%7D%2Emedia%2Dbody%7Bwidth%3A10000px%7D%2Emedia%2Dobject%7Bdisplay%3Ablock%7D%2Emedia%2Dobject%2Eimg%2Dthumbnail%7Bmax%2Dwidth%3Anone%7D%2Emedia%2Dright%2C%2Emedia%3E%2Epull%2Dright%7Bpadding%2Dleft%3A10px%7D%2Emedia%2Dleft%2C%2Emedia%3E%2Epull%2Dleft%7Bpadding%2Dright%3A10px%7D%2Emedia%2Dbody%2C%2Emedia%2Dleft%2C%2Emedia%2Dright%7Bdisplay%3Atable%2Dcell%3Bvertical%2Dalign%3Atop%7D%2Emedia%2Dmiddle%7Bvertical%2Dalign%3Amiddle%7D%2Emedia%2Dbottom%7Bvertical%2Dalign%3Abottom%7D%2Emedia%2Dheading%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A5px%7D%2Emedia%2Dlist%7Bpadding%2Dleft%3A0%3Blist%2Dstyle%3Anone%7D%2Elist%2Dgroup%7Bpadding%2Dleft%3A0%3Bmargin%2Dbottom%3A20px%7D%2Elist%2Dgroup%2Ditem%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bpadding%3A10px%2015px%3Bmargin%2Dbottom%3A%2D1px%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20%23ddd%7D%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A4px%3Bborder%2Dtop%2Dright%2Dradius%3A4px%7D%2Elist%2Dgroup%2Ditem%3Alast%2Dchild%7Bmargin%2Dbottom%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A4px%3Bborder%2Dbottom%2Dleft%2Dradius%3A4px%7Da%2Elist%2Dgroup%2Ditem%2Cbutton%2Elist%2Dgroup%2Ditem%7Bcolor%3A%23555%7Da%2Elist%2Dgroup%2Ditem%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3A%23333%7Da%2Elist%2Dgroup%2Ditem%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%3Ahover%7Bcolor%3A%23555%3Btext%2Ddecoration%3Anone%3Bbackground%2Dcolor%3A%23f5f5f5%7Dbutton%2Elist%2Dgroup%2Ditem%7Bwidth%3A100%25%3Btext%2Dalign%3Aleft%7D%2Elist%2Dgroup%2Ditem%2Edisabled%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Afocus%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Ahover%7Bcolor%3A%23777%3Bcursor%3Anot%2Dallowed%3Bbackground%2Dcolor%3A%23eee%7D%2Elist%2Dgroup%2Ditem%2Edisabled%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7D%2Elist%2Dgroup%2Ditem%2Edisabled%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Edisabled%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dtext%7Bcolor%3A%23777%7D%2Elist%2Dgroup%2Ditem%2Eactive%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%7Bz%2Dindex%3A2%3Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%23337ab7%7D%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dheading%3E%2Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dheading%3Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%3E%2Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dheading%3Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%3E%2Esmall%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dheading%3Esmall%7Bcolor%3Ainherit%7D%2Elist%2Dgroup%2Ditem%2Eactive%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Afocus%20%2Elist%2Dgroup%2Ditem%2Dtext%2C%2Elist%2Dgroup%2Ditem%2Eactive%3Ahover%20%2Elist%2Dgroup%2Ditem%2Dtext%7Bcolor%3A%23c7ddef%7D%2Elist%2Dgroup%2Ditem%2Dsuccess%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%7Bcolor%3A%233c763d%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dsuccess%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%3Ahover%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23d0e9c6%7Da%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dsuccess%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%233c763d%3Bborder%2Dcolor%3A%233c763d%7D%2Elist%2Dgroup%2Ditem%2Dinfo%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23d9edf7%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%7Bcolor%3A%2331708f%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dinfo%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%3Ahover%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23c4e3f3%7Da%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dinfo%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%2331708f%3Bborder%2Dcolor%3A%2331708f%7D%2Elist%2Dgroup%2Ditem%2Dwarning%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%7Bcolor%3A%238a6d3b%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dwarning%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%3Ahover%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23faf2cc%7Da%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Dwarning%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%238a6d3b%3Bborder%2Dcolor%3A%238a6d3b%7D%2Elist%2Dgroup%2Ditem%2Ddanger%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%7Bcolor%3A%23a94442%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%20%2Elist%2Dgroup%2Ditem%2Dheading%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%20%2Elist%2Dgroup%2Ditem%2Dheading%7Bcolor%3Ainherit%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Ddanger%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%3Ahover%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23ebcccc%7Da%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%2Ca%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Afocus%2Ca%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Ahover%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Afocus%2Cbutton%2Elist%2Dgroup%2Ditem%2Ddanger%2Eactive%3Ahover%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23a94442%3Bborder%2Dcolor%3A%23a94442%7D%2Elist%2Dgroup%2Ditem%2Dheading%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A5px%7D%2Elist%2Dgroup%2Ditem%2Dtext%7Bmargin%2Dbottom%3A0%3Bline%2Dheight%3A1%2E3%7D%2Epanel%7Bmargin%2Dbottom%3A20px%3Bbackground%2Dcolor%3A%23fff%3Bborder%3A1px%20solid%20transparent%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3A0%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%3Bbox%2Dshadow%3A0%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%7D%2Epanel%2Dbody%7Bpadding%3A15px%7D%2Epanel%2Dheading%7Bpadding%3A10px%2015px%3Bborder%2Dbottom%3A1px%20solid%20transparent%3Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%2Dheading%3E%2Edropdown%20%2Edropdown%2Dtoggle%7Bcolor%3Ainherit%7D%2Epanel%2Dtitle%7Bmargin%2Dtop%3A0%3Bmargin%2Dbottom%3A0%3Bfont%2Dsize%3A16px%3Bcolor%3Ainherit%7D%2Epanel%2Dtitle%3E%2Esmall%2C%2Epanel%2Dtitle%3E%2Esmall%3Ea%2C%2Epanel%2Dtitle%3Ea%2C%2Epanel%2Dtitle%3Esmall%2C%2Epanel%2Dtitle%3Esmall%3Ea%7Bcolor%3Ainherit%7D%2Epanel%2Dfooter%7Bpadding%3A10px%2015px%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dtop%3A1px%20solid%20%23ddd%3Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Elist%2Dgroup%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%7Bmargin%2Dbottom%3A0%7D%2Epanel%3E%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%7Bborder%2Dwidth%3A1px%200%3Bborder%2Dradius%3A0%7D%2Epanel%3E%2Elist%2Dgroup%3Afirst%2Dchild%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%3Afirst%2Dchild%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%3A0%3Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Elist%2Dgroup%3Alast%2Dchild%20%2Elist%2Dgroup%2Ditem%3Alast%2Dchild%2C%2Epanel%3E%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%3Alast%2Dchild%20%2Elist%2Dgroup%2Ditem%3Alast%2Dchild%7Bborder%2Dbottom%3A0%3Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A0%3Bborder%2Dtop%2Dright%2Dradius%3A0%7D%2Epanel%2Dheading%2B%2Elist%2Dgroup%20%2Elist%2Dgroup%2Ditem%3Afirst%2Dchild%7Bborder%2Dtop%2Dwidth%3A0%7D%2Elist%2Dgroup%2B%2Epanel%2Dfooter%7Bborder%2Dtop%2Dwidth%3A0%7D%2Epanel%3E%2Epanel%2Dcollapse%3E%2Etable%2C%2Epanel%3E%2Etable%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%7Bmargin%2Dbottom%3A0%7D%2Epanel%3E%2Epanel%2Dcollapse%3E%2Etable%20caption%2C%2Epanel%3E%2Etable%20caption%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%20caption%7Bpadding%2Dright%3A15px%3Bpadding%2Dleft%3A15px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%3Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Afirst%2Dchild%7Bborder%2Dtop%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Afirst%2Dchild%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Afirst%2Dchild%3Ethead%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%3Alast%2Dchild%7Bborder%2Dtop%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%7Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%7Bborder%2Dbottom%2Dright%2Dradius%3A3px%3Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Afirst%2Dchild%7Bborder%2Dbottom%2Dleft%2Dradius%3A3px%7D%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3Alast%2Dchild%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etbody%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20td%3Alast%2Dchild%2C%2Epanel%3E%2Etable%3Alast%2Dchild%3Etfoot%3Alast%2Dchild%3Etr%3Alast%2Dchild%20th%3Alast%2Dchild%7Bborder%2Dbottom%2Dright%2Dradius%3A3px%7D%2Epanel%3E%2Epanel%2Dbody%2B%2Etable%2C%2Epanel%3E%2Epanel%2Dbody%2B%2Etable%2Dresponsive%2C%2Epanel%3E%2Etable%2B%2Epanel%2Dbody%2C%2Epanel%3E%2Etable%2Dresponsive%2B%2Epanel%2Dbody%7Bborder%2Dtop%3A1px%20solid%20%23ddd%7D%2Epanel%3E%2Etable%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20td%2C%2Epanel%3E%2Etable%3Etbody%3Afirst%2Dchild%3Etr%3Afirst%2Dchild%20th%7Bborder%2Dtop%3A0%7D%2Epanel%3E%2Etable%2Dbordered%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%7Bborder%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Afirst%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Afirst%2Dchild%7Bborder%2Dleft%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Eth%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Etd%3Alast%2Dchild%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Eth%3Alast%2Dchild%7Bborder%2Dright%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Afirst%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Ethead%3Etr%3Afirst%2Dchild%3Eth%7Bborder%2Dbottom%3A0%7D%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etbody%3Etr%3Alast%2Dchild%3Eth%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Etd%2C%2Epanel%3E%2Etable%2Dresponsive%3E%2Etable%2Dbordered%3Etfoot%3Etr%3Alast%2Dchild%3Eth%7Bborder%2Dbottom%3A0%7D%2Epanel%3E%2Etable%2Dresponsive%7Bmargin%2Dbottom%3A0%3Bborder%3A0%7D%2Epanel%2Dgroup%7Bmargin%2Dbottom%3A20px%7D%2Epanel%2Dgroup%20%2Epanel%7Bmargin%2Dbottom%3A0%3Bborder%2Dradius%3A4px%7D%2Epanel%2Dgroup%20%2Epanel%2B%2Epanel%7Bmargin%2Dtop%3A5px%7D%2Epanel%2Dgroup%20%2Epanel%2Dheading%7Bborder%2Dbottom%3A0%7D%2Epanel%2Dgroup%20%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Elist%2Dgroup%2C%2Epanel%2Dgroup%20%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%3A1px%20solid%20%23ddd%7D%2Epanel%2Dgroup%20%2Epanel%2Dfooter%7Bborder%2Dtop%3A0%7D%2Epanel%2Dgroup%20%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%20%2Epanel%2Dbody%7Bborder%2Dbottom%3A1px%20solid%20%23ddd%7D%2Epanel%2Ddefault%7Bborder%2Dcolor%3A%23ddd%7D%2Epanel%2Ddefault%3E%2Epanel%2Dheading%7Bcolor%3A%23333%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%2Dcolor%3A%23ddd%7D%2Epanel%2Ddefault%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23ddd%7D%2Epanel%2Ddefault%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23f5f5f5%3Bbackground%2Dcolor%3A%23333%7D%2Epanel%2Ddefault%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23ddd%7D%2Epanel%2Dprimary%7Bborder%2Dcolor%3A%23337ab7%7D%2Epanel%2Dprimary%3E%2Epanel%2Dheading%7Bcolor%3A%23fff%3Bbackground%2Dcolor%3A%23337ab7%3Bborder%2Dcolor%3A%23337ab7%7D%2Epanel%2Dprimary%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23337ab7%7D%2Epanel%2Dprimary%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23337ab7%3Bbackground%2Dcolor%3A%23fff%7D%2Epanel%2Dprimary%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23337ab7%7D%2Epanel%2Dsuccess%7Bborder%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dheading%7Bcolor%3A%233c763d%3Bbackground%2Dcolor%3A%23dff0d8%3Bborder%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23dff0d8%3Bbackground%2Dcolor%3A%233c763d%7D%2Epanel%2Dsuccess%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23d6e9c6%7D%2Epanel%2Dinfo%7Bborder%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dinfo%3E%2Epanel%2Dheading%7Bcolor%3A%2331708f%3Bbackground%2Dcolor%3A%23d9edf7%3Bborder%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dinfo%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dinfo%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23d9edf7%3Bbackground%2Dcolor%3A%2331708f%7D%2Epanel%2Dinfo%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23bce8f1%7D%2Epanel%2Dwarning%7Bborder%2Dcolor%3A%23faebcc%7D%2Epanel%2Dwarning%3E%2Epanel%2Dheading%7Bcolor%3A%238a6d3b%3Bbackground%2Dcolor%3A%23fcf8e3%3Bborder%2Dcolor%3A%23faebcc%7D%2Epanel%2Dwarning%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23faebcc%7D%2Epanel%2Dwarning%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23fcf8e3%3Bbackground%2Dcolor%3A%238a6d3b%7D%2Epanel%2Dwarning%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23faebcc%7D%2Epanel%2Ddanger%7Bborder%2Dcolor%3A%23ebccd1%7D%2Epanel%2Ddanger%3E%2Epanel%2Dheading%7Bcolor%3A%23a94442%3Bbackground%2Dcolor%3A%23f2dede%3Bborder%2Dcolor%3A%23ebccd1%7D%2Epanel%2Ddanger%3E%2Epanel%2Dheading%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dtop%2Dcolor%3A%23ebccd1%7D%2Epanel%2Ddanger%3E%2Epanel%2Dheading%20%2Ebadge%7Bcolor%3A%23f2dede%3Bbackground%2Dcolor%3A%23a94442%7D%2Epanel%2Ddanger%3E%2Epanel%2Dfooter%2B%2Epanel%2Dcollapse%3E%2Epanel%2Dbody%7Bborder%2Dbottom%2Dcolor%3A%23ebccd1%7D%2Eembed%2Dresponsive%7Bposition%3Arelative%3Bdisplay%3Ablock%3Bheight%3A0%3Bpadding%3A0%3Boverflow%3Ahidden%7D%2Eembed%2Dresponsive%20%2Eembed%2Dresponsive%2Ditem%2C%2Eembed%2Dresponsive%20embed%2C%2Eembed%2Dresponsive%20iframe%2C%2Eembed%2Dresponsive%20object%2C%2Eembed%2Dresponsive%20video%7Bposition%3Aabsolute%3Btop%3A0%3Bbottom%3A0%3Bleft%3A0%3Bwidth%3A100%25%3Bheight%3A100%25%3Bborder%3A0%7D%2Eembed%2Dresponsive%2D16by9%7Bpadding%2Dbottom%3A56%2E25%25%7D%2Eembed%2Dresponsive%2D4by3%7Bpadding%2Dbottom%3A75%25%7D%2Ewell%7Bmin%2Dheight%3A20px%3Bpadding%3A19px%3Bmargin%2Dbottom%3A20px%3Bbackground%2Dcolor%3A%23f5f5f5%3Bborder%3A1px%20solid%20%23e3e3e3%3Bborder%2Dradius%3A4px%3B%2Dwebkit%2Dbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%3Bbox%2Dshadow%3Ainset%200%201px%201px%20rgba%280%2C0%2C0%2C%2E05%29%7D%2Ewell%20blockquote%7Bborder%2Dcolor%3A%23ddd%3Bborder%2Dcolor%3Argba%280%2C0%2C0%2C%2E15%29%7D%2Ewell%2Dlg%7Bpadding%3A24px%3Bborder%2Dradius%3A6px%7D%2Ewell%2Dsm%7Bpadding%3A9px%3Bborder%2Dradius%3A3px%7D%2Eclose%7Bfloat%3Aright%3Bfont%2Dsize%3A21px%3Bfont%2Dweight%3A700%3Bline%2Dheight%3A1%3Bcolor%3A%23000%3Btext%2Dshadow%3A0%201px%200%20%23fff%3Bfilter%3Aalpha%28opacity%3D20%29%3Bopacity%3A%2E2%7D%2Eclose%3Afocus%2C%2Eclose%3Ahover%7Bcolor%3A%23000%3Btext%2Ddecoration%3Anone%3Bcursor%3Apointer%3Bfilter%3Aalpha%28opacity%3D50%29%3Bopacity%3A%2E5%7Dbutton%2Eclose%7B%2Dwebkit%2Dappearance%3Anone%3Bpadding%3A0%3Bcursor%3Apointer%3Bbackground%3A0%200%3Bborder%3A0%7D%2Emodal%2Dopen%7Boverflow%3Ahidden%7D%2Emodal%7Bposition%3Afixed%3Btop%3A0%3Bright%3A0%3Bbottom%3A0%3Bleft%3A0%3Bz%2Dindex%3A1050%3Bdisplay%3Anone%3Boverflow%3Ahidden%3B%2Dwebkit%2Doverflow%2Dscrolling%3Atouch%3Boutline%3A0%7D%2Emodal%2Efade%20%2Emodal%2Ddialog%7B%2Dwebkit%2Dtransition%3A%2Dwebkit%2Dtransform%20%2E3s%20ease%2Dout%3B%2Do%2Dtransition%3A%2Do%2Dtransform%20%2E3s%20ease%2Dout%3Btransition%3Atransform%20%2E3s%20ease%2Dout%3B%2Dwebkit%2Dtransform%3Atranslate%280%2C%2D25%25%29%3B%2Dms%2Dtransform%3Atranslate%280%2C%2D25%25%29%3B%2Do%2Dtransform%3Atranslate%280%2C%2D25%25%29%3Btransform%3Atranslate%280%2C%2D25%25%29%7D%2Emodal%2Ein%20%2Emodal%2Ddialog%7B%2Dwebkit%2Dtransform%3Atranslate%280%2C0%29%3B%2Dms%2Dtransform%3Atranslate%280%2C0%29%3B%2Do%2Dtransform%3Atranslate%280%2C0%29%3Btransform%3Atranslate%280%2C0%29%7D%2Emodal%2Dopen%20%2Emodal%7Boverflow%2Dx%3Ahidden%3Boverflow%2Dy%3Aauto%7D%2Emodal%2Ddialog%7Bposition%3Arelative%3Bwidth%3Aauto%3Bmargin%3A10px%7D%2Emodal%2Dcontent%7Bposition%3Arelative%3Bbackground%2Dcolor%3A%23fff%3B%2Dwebkit%2Dbackground%2Dclip%3Apadding%2Dbox%3Bbackground%2Dclip%3Apadding%2Dbox%3Bborder%3A1px%20solid%20%23999%3Bborder%3A1px%20solid%20rgba%280%2C0%2C0%2C%2E2%29%3Bborder%2Dradius%3A6px%3Boutline%3A0%3B%2Dwebkit%2Dbox%2Dshadow%3A0%203px%209px%20rgba%280%2C0%2C0%2C%2E5%29%3Bbox%2Dshadow%3A0%203px%209px%20rgba%280%2C0%2C0%2C%2E5%29%7D%2Emodal%2Dbackdrop%7Bposition%3Afixed%3Btop%3A0%3Bright%3A0%3Bbottom%3A0%3Bleft%3A0%3Bz%2Dindex%3A1040%3Bbackground%2Dcolor%3A%23000%7D%2Emodal%2Dbackdrop%2Efade%7Bfilter%3Aalpha%28opacity%3D0%29%3Bopacity%3A0%7D%2Emodal%2Dbackdrop%2Ein%7Bfilter%3Aalpha%28opacity%3D50%29%3Bopacity%3A%2E5%7D%2Emodal%2Dheader%7Bmin%2Dheight%3A16%2E43px%3Bpadding%3A15px%3Bborder%2Dbottom%3A1px%20solid%20%23e5e5e5%7D%2Emodal%2Dheader%20%2Eclose%7Bmargin%2Dtop%3A%2D2px%7D%2Emodal%2Dtitle%7Bmargin%3A0%3Bline%2Dheight%3A1%2E42857143%7D%2Emodal%2Dbody%7Bposition%3Arelative%3Bpadding%3A15px%7D%2Emodal%2Dfooter%7Bpadding%3A15px%3Btext%2Dalign%3Aright%3Bborder%2Dtop%3A1px%20solid%20%23e5e5e5%7D%2Emodal%2Dfooter%20%2Ebtn%2B%2Ebtn%7Bmargin%2Dbottom%3A0%3Bmargin%2Dleft%3A5px%7D%2Emodal%2Dfooter%20%2Ebtn%2Dgroup%20%2Ebtn%2B%2Ebtn%7Bmargin%2Dleft%3A%2D1px%7D%2Emodal%2Dfooter%20%2Ebtn%2Dblock%2B%2Ebtn%2Dblock%7Bmargin%2Dleft%3A0%7D%2Emodal%2Dscrollbar%2Dmeasure%7Bposition%3Aabsolute%3Btop%3A%2D9999px%3Bwidth%3A50px%3Bheight%3A50px%3Boverflow%3Ascroll%7D%40media%20%28min%2Dwidth%3A768px%29%7B%2Emodal%2Ddialog%7Bwidth%3A600px%3Bmargin%3A30px%20auto%7D%2Emodal%2Dcontent%7B%2Dwebkit%2Dbox%2Dshadow%3A0%205px%2015px%20rgba%280%2C0%2C0%2C%2E5%29%3Bbox%2Dshadow%3A0%205px%2015px%20rgba%280%2C0%2C0%2C%2E5%29%7D%2Emodal%2Dsm%7Bwidth%3A300px%7D%7D%40media%20%28min%2Dwidth%3A992px%29%7B%2Emodal%2Dlg%7Bwidth%3A900px%7D%7D%2Etooltip%7Bposition%3Aabsolute%3Bz%2Dindex%3A1070%3Bdisplay%3Ablock%3Bfont%2Dfamily%3A%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans%2Dserif%3Bfont%2Dsize%3A12px%3Bfont%2Dstyle%3Anormal%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Btext%2Dalign%3Aleft%3Btext%2Dalign%3Astart%3Btext%2Ddecoration%3Anone%3Btext%2Dshadow%3Anone%3Btext%2Dtransform%3Anone%3Bletter%2Dspacing%3Anormal%3Bword%2Dbreak%3Anormal%3Bword%2Dspacing%3Anormal%3Bword%2Dwrap%3Anormal%3Bwhite%2Dspace%3Anormal%3Bfilter%3Aalpha%28opacity%3D0%29%3Bopacity%3A0%3Bline%2Dbreak%3Aauto%7D%2Etooltip%2Ein%7Bfilter%3Aalpha%28opacity%3D90%29%3Bopacity%3A%2E9%7D%2Etooltip%2Etop%7Bpadding%3A5px%200%3Bmargin%2Dtop%3A%2D3px%7D%2Etooltip%2Eright%7Bpadding%3A0%205px%3Bmargin%2Dleft%3A3px%7D%2Etooltip%2Ebottom%7Bpadding%3A5px%200%3Bmargin%2Dtop%3A3px%7D%2Etooltip%2Eleft%7Bpadding%3A0%205px%3Bmargin%2Dleft%3A%2D3px%7D%2Etooltip%2Dinner%7Bmax%2Dwidth%3A200px%3Bpadding%3A3px%208px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Bbackground%2Dcolor%3A%23000%3Bborder%2Dradius%3A4px%7D%2Etooltip%2Darrow%7Bposition%3Aabsolute%3Bwidth%3A0%3Bheight%3A0%3Bborder%2Dcolor%3Atransparent%3Bborder%2Dstyle%3Asolid%7D%2Etooltip%2Etop%20%2Etooltip%2Darrow%7Bbottom%3A0%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dtop%2Dcolor%3A%23000%7D%2Etooltip%2Etop%2Dleft%20%2Etooltip%2Darrow%7Bright%3A5px%3Bbottom%3A0%3Bmargin%2Dbottom%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dtop%2Dcolor%3A%23000%7D%2Etooltip%2Etop%2Dright%20%2Etooltip%2Darrow%7Bbottom%3A0%3Bleft%3A5px%3Bmargin%2Dbottom%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%200%3Bborder%2Dtop%2Dcolor%3A%23000%7D%2Etooltip%2Eright%20%2Etooltip%2Darrow%7Btop%3A50%25%3Bleft%3A0%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A5px%205px%205px%200%3Bborder%2Dright%2Dcolor%3A%23000%7D%2Etooltip%2Eleft%20%2Etooltip%2Darrow%7Btop%3A50%25%3Bright%3A0%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A5px%200%205px%205px%3Bborder%2Dleft%2Dcolor%3A%23000%7D%2Etooltip%2Ebottom%20%2Etooltip%2Darrow%7Btop%3A0%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D5px%3Bborder%2Dwidth%3A0%205px%205px%3Bborder%2Dbottom%2Dcolor%3A%23000%7D%2Etooltip%2Ebottom%2Dleft%20%2Etooltip%2Darrow%7Btop%3A0%3Bright%3A5px%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A0%205px%205px%3Bborder%2Dbottom%2Dcolor%3A%23000%7D%2Etooltip%2Ebottom%2Dright%20%2Etooltip%2Darrow%7Btop%3A0%3Bleft%3A5px%3Bmargin%2Dtop%3A%2D5px%3Bborder%2Dwidth%3A0%205px%205px%3Bborder%2Dbottom%2Dcolor%3A%23000%7D%2Epopover%7Bposition%3Aabsolute%3Btop%3A0%3Bleft%3A0%3Bz%2Dindex%3A1060%3Bdisplay%3Anone%3Bmax%2Dwidth%3A276px%3Bpadding%3A1px%3Bfont%2Dfamily%3A%22Helvetica%20Neue%22%2CHelvetica%2CArial%2Csans%2Dserif%3Bfont%2Dsize%3A14px%3Bfont%2Dstyle%3Anormal%3Bfont%2Dweight%3A400%3Bline%2Dheight%3A1%2E42857143%3Btext%2Dalign%3Aleft%3Btext%2Dalign%3Astart%3Btext%2Ddecoration%3Anone%3Btext%2Dshadow%3Anone%3Btext%2Dtransform%3Anone%3Bletter%2Dspacing%3Anormal%3Bword%2Dbreak%3Anormal%3Bword%2Dspacing%3Anormal%3Bword%2Dwrap%3Anormal%3Bwhite%2Dspace%3Anormal%3Bbackground%2Dcolor%3A%23fff%3B%2Dwebkit%2Dbackground%2Dclip%3Apadding%2Dbox%3Bbackground%2Dclip%3Apadding%2Dbox%3Bborder%3A1px%20solid%20%23ccc%3Bborder%3A1px%20solid%20rgba%280%2C0%2C0%2C%2E2%29%3Bborder%2Dradius%3A6px%3B%2Dwebkit%2Dbox%2Dshadow%3A0%205px%2010px%20rgba%280%2C0%2C0%2C%2E2%29%3Bbox%2Dshadow%3A0%205px%2010px%20rgba%280%2C0%2C0%2C%2E2%29%3Bline%2Dbreak%3Aauto%7D%2Epopover%2Etop%7Bmargin%2Dtop%3A%2D10px%7D%2Epopover%2Eright%7Bmargin%2Dleft%3A10px%7D%2Epopover%2Ebottom%7Bmargin%2Dtop%3A10px%7D%2Epopover%2Eleft%7Bmargin%2Dleft%3A%2D10px%7D%2Epopover%2Dtitle%7Bpadding%3A8px%2014px%3Bmargin%3A0%3Bfont%2Dsize%3A14px%3Bbackground%2Dcolor%3A%23f7f7f7%3Bborder%2Dbottom%3A1px%20solid%20%23ebebeb%3Bborder%2Dradius%3A5px%205px%200%200%7D%2Epopover%2Dcontent%7Bpadding%3A9px%2014px%7D%2Epopover%3E%2Earrow%2C%2Epopover%3E%2Earrow%3Aafter%7Bposition%3Aabsolute%3Bdisplay%3Ablock%3Bwidth%3A0%3Bheight%3A0%3Bborder%2Dcolor%3Atransparent%3Bborder%2Dstyle%3Asolid%7D%2Epopover%3E%2Earrow%7Bborder%2Dwidth%3A11px%7D%2Epopover%3E%2Earrow%3Aafter%7Bcontent%3A%22%22%3Bborder%2Dwidth%3A10px%7D%2Epopover%2Etop%3E%2Earrow%7Bbottom%3A%2D11px%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D11px%3Bborder%2Dtop%2Dcolor%3A%23999%3Bborder%2Dtop%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%3Bborder%2Dbottom%2Dwidth%3A0%7D%2Epopover%2Etop%3E%2Earrow%3Aafter%7Bbottom%3A1px%3Bmargin%2Dleft%3A%2D10px%3Bcontent%3A%22%20%22%3Bborder%2Dtop%2Dcolor%3A%23fff%3Bborder%2Dbottom%2Dwidth%3A0%7D%2Epopover%2Eright%3E%2Earrow%7Btop%3A50%25%3Bleft%3A%2D11px%3Bmargin%2Dtop%3A%2D11px%3Bborder%2Dright%2Dcolor%3A%23999%3Bborder%2Dright%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%3Bborder%2Dleft%2Dwidth%3A0%7D%2Epopover%2Eright%3E%2Earrow%3Aafter%7Bbottom%3A%2D10px%3Bleft%3A1px%3Bcontent%3A%22%20%22%3Bborder%2Dright%2Dcolor%3A%23fff%3Bborder%2Dleft%2Dwidth%3A0%7D%2Epopover%2Ebottom%3E%2Earrow%7Btop%3A%2D11px%3Bleft%3A50%25%3Bmargin%2Dleft%3A%2D11px%3Bborder%2Dtop%2Dwidth%3A0%3Bborder%2Dbottom%2Dcolor%3A%23999%3Bborder%2Dbottom%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%7D%2Epopover%2Ebottom%3E%2Earrow%3Aafter%7Btop%3A1px%3Bmargin%2Dleft%3A%2D10px%3Bcontent%3A%22%20%22%3Bborder%2Dtop%2Dwidth%3A0%3Bborder%2Dbottom%2Dcolor%3A%23fff%7D%2Epopover%2Eleft%3E%2Earrow%7Btop%3A50%25%3Bright%3A%2D11px%3Bmargin%2Dtop%3A%2D11px%3Bborder%2Dright%2Dwidth%3A0%3Bborder%2Dleft%2Dcolor%3A%23999%3Bborder%2Dleft%2Dcolor%3Argba%280%2C0%2C0%2C%2E25%29%7D%2Epopover%2Eleft%3E%2Earrow%3Aafter%7Bright%3A1px%3Bbottom%3A%2D10px%3Bcontent%3A%22%20%22%3Bborder%2Dright%2Dwidth%3A0%3Bborder%2Dleft%2Dcolor%3A%23fff%7D%2Ecarousel%7Bposition%3Arelative%7D%2Ecarousel%2Dinner%7Bposition%3Arelative%3Bwidth%3A100%25%3Boverflow%3Ahidden%7D%2Ecarousel%2Dinner%3E%2Eitem%7Bposition%3Arelative%3Bdisplay%3Anone%3B%2Dwebkit%2Dtransition%3A%2E6s%20ease%2Din%2Dout%20left%3B%2Do%2Dtransition%3A%2E6s%20ease%2Din%2Dout%20left%3Btransition%3A%2E6s%20ease%2Din%2Dout%20left%7D%2Ecarousel%2Dinner%3E%2Eitem%3Ea%3Eimg%2C%2Ecarousel%2Dinner%3E%2Eitem%3Eimg%7Bline%2Dheight%3A1%7D%40media%20all%20and%20%28transform%2D3d%29%2C%28%2Dwebkit%2Dtransform%2D3d%29%7B%2Ecarousel%2Dinner%3E%2Eitem%7B%2Dwebkit%2Dtransition%3A%2Dwebkit%2Dtransform%20%2E6s%20ease%2Din%2Dout%3B%2Do%2Dtransition%3A%2Do%2Dtransform%20%2E6s%20ease%2Din%2Dout%3Btransition%3Atransform%20%2E6s%20ease%2Din%2Dout%3B%2Dwebkit%2Dbackface%2Dvisibility%3Ahidden%3Bbackface%2Dvisibility%3Ahidden%3B%2Dwebkit%2Dperspective%3A1000px%3Bperspective%3A1000px%7D%2Ecarousel%2Dinner%3E%2Eitem%2Eactive%2Eright%2C%2Ecarousel%2Dinner%3E%2Eitem%2Enext%7Bleft%3A0%3B%2Dwebkit%2Dtransform%3Atranslate3d%28100%25%2C0%2C0%29%3Btransform%3Atranslate3d%28100%25%2C0%2C0%29%7D%2Ecarousel%2Dinner%3E%2Eitem%2Eactive%2Eleft%2C%2Ecarousel%2Dinner%3E%2Eitem%2Eprev%7Bleft%3A0%3B%2Dwebkit%2Dtransform%3Atranslate3d%28%2D100%25%2C0%2C0%29%3Btransform%3Atranslate3d%28%2D100%25%2C0%2C0%29%7D%2Ecarousel%2Dinner%3E%2Eitem%2Eactive%2C%2Ecarousel%2Dinner%3E%2Eitem%2Enext%2Eleft%2C%2Ecarousel%2Dinner%3E%2Eitem%2Eprev%2Eright%7Bleft%3A0%3B%2Dwebkit%2Dtransform%3Atranslate3d%280%2C0%2C0%29%3Btransform%3Atranslate3d%280%2C0%2C0%29%7D%7D%2Ecarousel%2Dinner%3E%2Eactive%2C%2Ecarousel%2Dinner%3E%2Enext%2C%2Ecarousel%2Dinner%3E%2Eprev%7Bdisplay%3Ablock%7D%2Ecarousel%2Dinner%3E%2Eactive%7Bleft%3A0%7D%2Ecarousel%2Dinner%3E%2Enext%2C%2Ecarousel%2Dinner%3E%2Eprev%7Bposition%3Aabsolute%3Btop%3A0%3Bwidth%3A100%25%7D%2Ecarousel%2Dinner%3E%2Enext%7Bleft%3A100%25%7D%2Ecarousel%2Dinner%3E%2Eprev%7Bleft%3A%2D100%25%7D%2Ecarousel%2Dinner%3E%2Enext%2Eleft%2C%2Ecarousel%2Dinner%3E%2Eprev%2Eright%7Bleft%3A0%7D%2Ecarousel%2Dinner%3E%2Eactive%2Eleft%7Bleft%3A%2D100%25%7D%2Ecarousel%2Dinner%3E%2Eactive%2Eright%7Bleft%3A100%25%7D%2Ecarousel%2Dcontrol%7Bposition%3Aabsolute%3Btop%3A0%3Bbottom%3A0%3Bleft%3A0%3Bwidth%3A15%25%3Bfont%2Dsize%3A20px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Btext%2Dshadow%3A0%201px%202px%20rgba%280%2C0%2C0%2C%2E6%29%3Bfilter%3Aalpha%28opacity%3D50%29%3Bopacity%3A%2E5%7D%2Ecarousel%2Dcontrol%2Eleft%7Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E5%29%200%2Crgba%280%2C0%2C0%2C%2E0001%29%20100%25%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E5%29%200%2Crgba%280%2C0%2C0%2C%2E0001%29%20100%25%29%3Bbackground%2Dimage%3A%2Dwebkit%2Dgradient%28linear%2Cleft%20top%2Cright%20top%2Cfrom%28rgba%280%2C0%2C0%2C%2E5%29%29%2Cto%28rgba%280%2C0%2C0%2C%2E0001%29%29%29%3Bbackground%2Dimage%3Alinear%2Dgradient%28to%20right%2Crgba%280%2C0%2C0%2C%2E5%29%200%2Crgba%280%2C0%2C0%2C%2E0001%29%20100%25%29%3Bfilter%3Aprogid%3ADXImageTransform%2EMicrosoft%2Egradient%28startColorstr%3D%27%2380000000%27%2C%20endColorstr%3D%27%2300000000%27%2C%20GradientType%3D1%29%3Bbackground%2Drepeat%3Arepeat%2Dx%7D%2Ecarousel%2Dcontrol%2Eright%7Bright%3A0%3Bleft%3Aauto%3Bbackground%2Dimage%3A%2Dwebkit%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E0001%29%200%2Crgba%280%2C0%2C0%2C%2E5%29%20100%25%29%3Bbackground%2Dimage%3A%2Do%2Dlinear%2Dgradient%28left%2Crgba%280%2C0%2C0%2C%2E0001%29%200%2Crgba%280%2C0%2C0%2C%2E5%29%20100%25%29%3Bbackground%2Dimage%3A%2Dwebkit%2Dgradient%28linear%2Cleft%20top%2Cright%20top%2Cfrom%28rgba%280%2C0%2C0%2C%2E0001%29%29%2Cto%28rgba%280%2C0%2C0%2C%2E5%29%29%29%3Bbackground%2Dimage%3Alinear%2Dgradient%28to%20right%2Crgba%280%2C0%2C0%2C%2E0001%29%200%2Crgba%280%2C0%2C0%2C%2E5%29%20100%25%29%3Bfilter%3Aprogid%3ADXImageTransform%2EMicrosoft%2Egradient%28startColorstr%3D%27%2300000000%27%2C%20endColorstr%3D%27%2380000000%27%2C%20GradientType%3D1%29%3Bbackground%2Drepeat%3Arepeat%2Dx%7D%2Ecarousel%2Dcontrol%3Afocus%2C%2Ecarousel%2Dcontrol%3Ahover%7Bcolor%3A%23fff%3Btext%2Ddecoration%3Anone%3Bfilter%3Aalpha%28opacity%3D90%29%3Boutline%3A0%3Bopacity%3A%2E9%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bposition%3Aabsolute%3Btop%3A50%25%3Bz%2Dindex%3A5%3Bdisplay%3Ainline%2Dblock%3Bmargin%2Dtop%3A%2D10px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bleft%3A50%25%3Bmargin%2Dleft%3A%2D10px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%7Bright%3A50%25%3Bmargin%2Dright%3A%2D10px%7D%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bwidth%3A20px%3Bheight%3A20px%3Bfont%2Dfamily%3Aserif%3Bline%2Dheight%3A1%7D%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%3Abefore%7Bcontent%3A%27%5C2039%27%7D%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%3Abefore%7Bcontent%3A%27%5C203a%27%7D%2Ecarousel%2Dindicators%7Bposition%3Aabsolute%3Bbottom%3A10px%3Bleft%3A50%25%3Bz%2Dindex%3A15%3Bwidth%3A60%25%3Bpadding%2Dleft%3A0%3Bmargin%2Dleft%3A%2D30%25%3Btext%2Dalign%3Acenter%3Blist%2Dstyle%3Anone%7D%2Ecarousel%2Dindicators%20li%7Bdisplay%3Ainline%2Dblock%3Bwidth%3A10px%3Bheight%3A10px%3Bmargin%3A1px%3Btext%2Dindent%3A%2D999px%3Bcursor%3Apointer%3Bbackground%2Dcolor%3A%23000%5C9%3Bbackground%2Dcolor%3Argba%280%2C0%2C0%2C0%29%3Bborder%3A1px%20solid%20%23fff%3Bborder%2Dradius%3A10px%7D%2Ecarousel%2Dindicators%20%2Eactive%7Bwidth%3A12px%3Bheight%3A12px%3Bmargin%3A0%3Bbackground%2Dcolor%3A%23fff%7D%2Ecarousel%2Dcaption%7Bposition%3Aabsolute%3Bright%3A15%25%3Bbottom%3A20px%3Bleft%3A15%25%3Bz%2Dindex%3A10%3Bpadding%2Dtop%3A20px%3Bpadding%2Dbottom%3A20px%3Bcolor%3A%23fff%3Btext%2Dalign%3Acenter%3Btext%2Dshadow%3A0%201px%202px%20rgba%280%2C0%2C0%2C%2E6%29%7D%2Ecarousel%2Dcaption%20%2Ebtn%7Btext%2Dshadow%3Anone%7D%40media%20screen%20and%20%28min%2Dwidth%3A768px%29%7B%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bwidth%3A30px%3Bheight%3A30px%3Bmargin%2Dtop%3A%2D15px%3Bfont%2Dsize%3A30px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dleft%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dprev%7Bmargin%2Dleft%3A%2D15px%7D%2Ecarousel%2Dcontrol%20%2Eglyphicon%2Dchevron%2Dright%2C%2Ecarousel%2Dcontrol%20%2Eicon%2Dnext%7Bmargin%2Dright%3A%2D15px%7D%2Ecarousel%2Dcaption%7Bright%3A20%25%3Bleft%3A20%25%3Bpadding%2Dbottom%3A30px%7D%2Ecarousel%2Dindicators%7Bbottom%3A20px%7D%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Aafter%2C%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Abefore%2C%2Ebtn%2Dtoolbar%3Aafter%2C%2Ebtn%2Dtoolbar%3Abefore%2C%2Eclearfix%3Aafter%2C%2Eclearfix%3Abefore%2C%2Econtainer%2Dfluid%3Aafter%2C%2Econtainer%2Dfluid%3Abefore%2C%2Econtainer%3Aafter%2C%2Econtainer%3Abefore%2C%2Edl%2Dhorizontal%20dd%3Aafter%2C%2Edl%2Dhorizontal%20dd%3Abefore%2C%2Eform%2Dhorizontal%20%2Eform%2Dgroup%3Aafter%2C%2Eform%2Dhorizontal%20%2Eform%2Dgroup%3Abefore%2C%2Emodal%2Dfooter%3Aafter%2C%2Emodal%2Dfooter%3Abefore%2C%2Enav%3Aafter%2C%2Enav%3Abefore%2C%2Enavbar%2Dcollapse%3Aafter%2C%2Enavbar%2Dcollapse%3Abefore%2C%2Enavbar%2Dheader%3Aafter%2C%2Enavbar%2Dheader%3Abefore%2C%2Enavbar%3Aafter%2C%2Enavbar%3Abefore%2C%2Epager%3Aafter%2C%2Epager%3Abefore%2C%2Epanel%2Dbody%3Aafter%2C%2Epanel%2Dbody%3Abefore%2C%2Erow%3Aafter%2C%2Erow%3Abefore%7Bdisplay%3Atable%3Bcontent%3A%22%20%22%7D%2Ebtn%2Dgroup%2Dvertical%3E%2Ebtn%2Dgroup%3Aafter%2C%2Ebtn%2Dtoolbar%3Aafter%2C%2Eclearfix%3Aafter%2C%2Econtainer%2Dfluid%3Aafter%2C%2Econtainer%3Aafter%2C%2Edl%2Dhorizontal%20dd%3Aafter%2C%2Eform%2Dhorizontal%20%2Eform%2Dgroup%3Aafter%2C%2Emodal%2Dfooter%3Aafter%2C%2Enav%3Aafter%2C%2Enavbar%2Dcollapse%3Aafter%2C%2Enavbar%2Dheader%3Aafter%2C%2Enavbar%3Aafter%2C%2Epager%3Aafter%2C%2Epanel%2Dbody%3Aafter%2C%2Erow%3Aafter%7Bclear%3Aboth%7D%2Ecenter%2Dblock%7Bdisplay%3Ablock%3Bmargin%2Dright%3Aauto%3Bmargin%2Dleft%3Aauto%7D%2Epull%2Dright%7Bfloat%3Aright%21important%7D%2Epull%2Dleft%7Bfloat%3Aleft%21important%7D%2Ehide%7Bdisplay%3Anone%21important%7D%2Eshow%7Bdisplay%3Ablock%21important%7D%2Einvisible%7Bvisibility%3Ahidden%7D%2Etext%2Dhide%7Bfont%3A0%2F0%20a%3Bcolor%3Atransparent%3Btext%2Dshadow%3Anone%3Bbackground%2Dcolor%3Atransparent%3Bborder%3A0%7D%2Ehidden%7Bdisplay%3Anone%21important%7D%2Eaffix%7Bposition%3Afixed%7D%40%2Dms%2Dviewport%7Bwidth%3Adevice%2Dwidth%7D%2Evisible%2Dlg%2C%2Evisible%2Dmd%2C%2Evisible%2Dsm%2C%2Evisible%2Dxs%7Bdisplay%3Anone%21important%7D%2Evisible%2Dlg%2Dblock%2C%2Evisible%2Dlg%2Dinline%2C%2Evisible%2Dlg%2Dinline%2Dblock%2C%2Evisible%2Dmd%2Dblock%2C%2Evisible%2Dmd%2Dinline%2C%2Evisible%2Dmd%2Dinline%2Dblock%2C%2Evisible%2Dsm%2Dblock%2C%2Evisible%2Dsm%2Dinline%2C%2Evisible%2Dsm%2Dinline%2Dblock%2C%2Evisible%2Dxs%2Dblock%2C%2Evisible%2Dxs%2Dinline%2C%2Evisible%2Dxs%2Dinline%2Dblock%7Bdisplay%3Anone%21important%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dxs%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dxs%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dxs%2Cth%2Evisible%2Dxs%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Evisible%2Dxs%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dsm%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dsm%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dsm%2Cth%2Evisible%2Dsm%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Evisible%2Dsm%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dmd%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dmd%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dmd%2Cth%2Evisible%2Dmd%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Evisible%2Dmd%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dlg%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dlg%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dlg%2Cth%2Evisible%2Dlg%7Bdisplay%3Atable%2Dcell%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Evisible%2Dlg%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20%28max%2Dwidth%3A767px%29%7B%2Ehidden%2Dxs%7Bdisplay%3Anone%21important%7D%7D%40media%20%28min%2Dwidth%3A768px%29%20and%20%28max%2Dwidth%3A991px%29%7B%2Ehidden%2Dsm%7Bdisplay%3Anone%21important%7D%7D%40media%20%28min%2Dwidth%3A992px%29%20and%20%28max%2Dwidth%3A1199px%29%7B%2Ehidden%2Dmd%7Bdisplay%3Anone%21important%7D%7D%40media%20%28min%2Dwidth%3A1200px%29%7B%2Ehidden%2Dlg%7Bdisplay%3Anone%21important%7D%7D%2Evisible%2Dprint%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%7Bdisplay%3Ablock%21important%7Dtable%2Evisible%2Dprint%7Bdisplay%3Atable%21important%7Dtr%2Evisible%2Dprint%7Bdisplay%3Atable%2Drow%21important%7Dtd%2Evisible%2Dprint%2Cth%2Evisible%2Dprint%7Bdisplay%3Atable%2Dcell%21important%7D%7D%2Evisible%2Dprint%2Dblock%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%2Dblock%7Bdisplay%3Ablock%21important%7D%7D%2Evisible%2Dprint%2Dinline%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%2Dinline%7Bdisplay%3Ainline%21important%7D%7D%2Evisible%2Dprint%2Dinline%2Dblock%7Bdisplay%3Anone%21important%7D%40media%20print%7B%2Evisible%2Dprint%2Dinline%2Dblock%7Bdisplay%3Ainline%2Dblock%21important%7D%7D%40media%20print%7B%2Ehidden%2Dprint%7Bdisplay%3Anone%21important%7D%7D%0A&quot; rel=&quot;stylesheet&quot; /&gt;
&lt;script src=&quot;data:application/javascript;base64,LyohCiAqIEJvb3RzdHJhcCB2My4zLjUgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKQogKiBDb3B5cmlnaHQgMjAxMS0yMDE1IFR3aXR0ZXIsIEluYy4KICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiAqLwppZigidW5kZWZpbmVkIj09dHlwZW9mIGpRdWVyeSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5Iik7K2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgYj1hLmZuLmpxdWVyeS5zcGxpdCgiICIpWzBdLnNwbGl0KCIuIik7aWYoYlswXTwyJiZiWzFdPDl8fDE9PWJbMF0mJjk9PWJbMV0mJmJbMl08MSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5IHZlcnNpb24gMS45LjEgb3IgaGlnaGVyIil9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9vdHN0cmFwIiksYj17V2Via2l0VHJhbnNpdGlvbjoid2Via2l0VHJhbnNpdGlvbkVuZCIsTW96VHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCIsT1RyYW5zaXRpb246Im9UcmFuc2l0aW9uRW5kIG90cmFuc2l0aW9uZW5kIix0cmFuc2l0aW9uOiJ0cmFuc2l0aW9uZW5kIn07Zm9yKHZhciBjIGluIGIpaWYodm9pZCAwIT09YS5zdHlsZVtjXSlyZXR1cm57ZW5kOmJbY119O3JldHVybiExfWEuZm4uZW11bGF0ZVRyYW5zaXRpb25FbmQ9ZnVuY3Rpb24oYil7dmFyIGM9ITEsZD10aGlzO2EodGhpcykub25lKCJic1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7Yz0hMH0pO3ZhciBlPWZ1bmN0aW9uKCl7Y3x8YShkKS50cmlnZ2VyKGEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCl9O3JldHVybiBzZXRUaW1lb3V0KGUsYiksdGhpc30sYShmdW5jdGlvbigpe2Euc3VwcG9ydC50cmFuc2l0aW9uPWIoKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmKGEuZXZlbnQuc3BlY2lhbC5ic1RyYW5zaXRpb25FbmQ9e2JpbmRUeXBlOmEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxkZWxlZ2F0ZVR5cGU6YS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLGhhbmRsZTpmdW5jdGlvbihiKXtyZXR1cm4gYShiLnRhcmdldCkuaXModGhpcyk/Yi5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfX0pfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLGU9Yy5kYXRhKCJicy5hbGVydCIpO2V8fGMuZGF0YSgiYnMuYWxlcnQiLGU9bmV3IGQodGhpcykpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXS5jYWxsKGMpfSl9dmFyIGM9J1tkYXRhLWRpc21pc3M9ImFsZXJ0Il0nLGQ9ZnVuY3Rpb24oYil7YShiKS5vbigiY2xpY2siLGMsdGhpcy5jbG9zZSl9O2QuVkVSU0lPTj0iMy4zLjUiLGQuVFJBTlNJVElPTl9EVVJBVElPTj0xNTAsZC5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gYygpe2cuZGV0YWNoKCkudHJpZ2dlcigiY2xvc2VkLmJzLmFsZXJ0IikucmVtb3ZlKCl9dmFyIGU9YSh0aGlzKSxmPWUuYXR0cigiZGF0YS10YXJnZXQiKTtmfHwoZj1lLmF0dHIoImhyZWYiKSxmPWYmJmYucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSk7dmFyIGc9YShmKTtiJiZiLnByZXZlbnREZWZhdWx0KCksZy5sZW5ndGh8fChnPWUuY2xvc2VzdCgiLmFsZXJ0IikpLGcudHJpZ2dlcihiPWEuRXZlbnQoImNsb3NlLmJzLmFsZXJ0IikpLGIuaXNEZWZhdWx0UHJldmVudGVkKCl8fChnLnJlbW92ZUNsYXNzKCJpbiIpLGEuc3VwcG9ydC50cmFuc2l0aW9uJiZnLmhhc0NsYXNzKCJmYWRlIik/Zy5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYykuZW11bGF0ZVRyYW5zaXRpb25FbmQoZC5UUkFOU0lUSU9OX0RVUkFUSU9OKTpjKCkpfTt2YXIgZT1hLmZuLmFsZXJ0O2EuZm4uYWxlcnQ9YixhLmZuLmFsZXJ0LkNvbnN0cnVjdG9yPWQsYS5mbi5hbGVydC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYWxlcnQ9ZSx0aGlzfSxhKGRvY3VtZW50KS5vbigiY2xpY2suYnMuYWxlcnQuZGF0YS1hcGkiLGMsZC5wcm90b3R5cGUuY2xvc2UpfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMuYnV0dG9uIiksZj0ib2JqZWN0Ij09dHlwZW9mIGImJmI7ZXx8ZC5kYXRhKCJicy5idXR0b24iLGU9bmV3IGModGhpcyxmKSksInRvZ2dsZSI9PWI/ZS50b2dnbGUoKTpiJiZlLnNldFN0YXRlKGIpfSl9dmFyIGM9ZnVuY3Rpb24oYixkKXt0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZCksdGhpcy5pc0xvYWRpbmc9ITF9O2MuVkVSU0lPTj0iMy4zLjUiLGMuREVGQVVMVFM9e2xvYWRpbmdUZXh0OiJsb2FkaW5nLi4uIn0sYy5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oYil7dmFyIGM9ImRpc2FibGVkIixkPXRoaXMuJGVsZW1lbnQsZT1kLmlzKCJpbnB1dCIpPyJ2YWwiOiJodG1sIixmPWQuZGF0YSgpO2IrPSJUZXh0IixudWxsPT1mLnJlc2V0VGV4dCYmZC5kYXRhKCJyZXNldFRleHQiLGRbZV0oKSksc2V0VGltZW91dChhLnByb3h5KGZ1bmN0aW9uKCl7ZFtlXShudWxsPT1mW2JdP3RoaXMub3B0aW9uc1tiXTpmW2JdKSwibG9hZGluZ1RleHQiPT1iPyh0aGlzLmlzTG9hZGluZz0hMCxkLmFkZENsYXNzKGMpLmF0dHIoYyxjKSk6dGhpcy5pc0xvYWRpbmcmJih0aGlzLmlzTG9hZGluZz0hMSxkLnJlbW92ZUNsYXNzKGMpLnJlbW92ZUF0dHIoYykpfSx0aGlzKSwwKX0sYy5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKCl7dmFyIGE9ITAsYj10aGlzLiRlbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLXRvZ2dsZT0iYnV0dG9ucyJdJyk7aWYoYi5sZW5ndGgpe3ZhciBjPXRoaXMuJGVsZW1lbnQuZmluZCgiaW5wdXQiKTsicmFkaW8iPT1jLnByb3AoInR5cGUiKT8oYy5wcm9wKCJjaGVja2VkIikmJihhPSExKSxiLmZpbmQoIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksdGhpcy4kZWxlbWVudC5hZGRDbGFzcygiYWN0aXZlIikpOiJjaGVja2JveCI9PWMucHJvcCgidHlwZSIpJiYoYy5wcm9wKCJjaGVja2VkIikhPT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJhY3RpdmUiKSYmKGE9ITEpLHRoaXMuJGVsZW1lbnQudG9nZ2xlQ2xhc3MoImFjdGl2ZSIpKSxjLnByb3AoImNoZWNrZWQiLHRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImFjdGl2ZSIpKSxhJiZjLnRyaWdnZXIoImNoYW5nZSIpfWVsc2UgdGhpcy4kZWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLCF0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJhY3RpdmUiKSksdGhpcy4kZWxlbWVudC50b2dnbGVDbGFzcygiYWN0aXZlIil9O3ZhciBkPWEuZm4uYnV0dG9uO2EuZm4uYnV0dG9uPWIsYS5mbi5idXR0b24uQ29uc3RydWN0b3I9YyxhLmZuLmJ1dHRvbi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYnV0dG9uPWQsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLmJ1dHRvbi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZV49ImJ1dHRvbiJdJyxmdW5jdGlvbihjKXt2YXIgZD1hKGMudGFyZ2V0KTtkLmhhc0NsYXNzKCJidG4iKXx8KGQ9ZC5jbG9zZXN0KCIuYnRuIikpLGIuY2FsbChkLCJ0b2dnbGUiKSxhKGMudGFyZ2V0KS5pcygnaW5wdXRbdHlwZT0icmFkaW8iXScpfHxhKGMudGFyZ2V0KS5pcygnaW5wdXRbdHlwZT0iY2hlY2tib3giXScpfHxjLnByZXZlbnREZWZhdWx0KCl9KS5vbigiZm9jdXMuYnMuYnV0dG9uLmRhdGEtYXBpIGJsdXIuYnMuYnV0dG9uLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlXj0iYnV0dG9uIl0nLGZ1bmN0aW9uKGIpe2EoYi50YXJnZXQpLmNsb3Nlc3QoIi5idG4iKS50b2dnbGVDbGFzcygiZm9jdXMiLC9eZm9jdXMoaW4pPyQvLnRlc3QoYi50eXBlKSl9KX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLmNhcm91c2VsIiksZj1hLmV4dGVuZCh7fSxjLkRFRkFVTFRTLGQuZGF0YSgpLCJvYmplY3QiPT10eXBlb2YgYiYmYiksZz0ic3RyaW5nIj09dHlwZW9mIGI/YjpmLnNsaWRlO2V8fGQuZGF0YSgiYnMuY2Fyb3VzZWwiLGU9bmV3IGModGhpcyxmKSksIm51bWJlciI9PXR5cGVvZiBiP2UudG8oYik6Zz9lW2ddKCk6Zi5pbnRlcnZhbCYmZS5wYXVzZSgpLmN5Y2xlKCl9KX12YXIgYz1mdW5jdGlvbihiLGMpe3RoaXMuJGVsZW1lbnQ9YShiKSx0aGlzLiRpbmRpY2F0b3JzPXRoaXMuJGVsZW1lbnQuZmluZCgiLmNhcm91c2VsLWluZGljYXRvcnMiKSx0aGlzLm9wdGlvbnM9Yyx0aGlzLnBhdXNlZD1udWxsLHRoaXMuc2xpZGluZz1udWxsLHRoaXMuaW50ZXJ2YWw9bnVsbCx0aGlzLiRhY3RpdmU9bnVsbCx0aGlzLiRpdGVtcz1udWxsLHRoaXMub3B0aW9ucy5rZXlib2FyZCYmdGhpcy4kZWxlbWVudC5vbigia2V5ZG93bi5icy5jYXJvdXNlbCIsYS5wcm94eSh0aGlzLmtleWRvd24sdGhpcykpLCJob3ZlciI9PXRoaXMub3B0aW9ucy5wYXVzZSYmISgib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkmJnRoaXMuJGVsZW1lbnQub24oIm1vdXNlZW50ZXIuYnMuY2Fyb3VzZWwiLGEucHJveHkodGhpcy5wYXVzZSx0aGlzKSkub24oIm1vdXNlbGVhdmUuYnMuY2Fyb3VzZWwiLGEucHJveHkodGhpcy5jeWNsZSx0aGlzKSl9O2MuVkVSU0lPTj0iMy4zLjUiLGMuVFJBTlNJVElPTl9EVVJBVElPTj02MDAsYy5ERUZBVUxUUz17aW50ZXJ2YWw6NWUzLHBhdXNlOiJob3ZlciIsd3JhcDohMCxrZXlib2FyZDohMH0sYy5wcm90b3R5cGUua2V5ZG93bj1mdW5jdGlvbihhKXtpZighL2lucHV0fHRleHRhcmVhL2kudGVzdChhLnRhcmdldC50YWdOYW1lKSl7c3dpdGNoKGEud2hpY2gpe2Nhc2UgMzc6dGhpcy5wcmV2KCk7YnJlYWs7Y2FzZSAzOTp0aGlzLm5leHQoKTticmVhaztkZWZhdWx0OnJldHVybn1hLnByZXZlbnREZWZhdWx0KCl9fSxjLnByb3RvdHlwZS5jeWNsZT1mdW5jdGlvbihiKXtyZXR1cm4gYnx8KHRoaXMucGF1c2VkPSExKSx0aGlzLmludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpLHRoaXMub3B0aW9ucy5pbnRlcnZhbCYmIXRoaXMucGF1c2VkJiYodGhpcy5pbnRlcnZhbD1zZXRJbnRlcnZhbChhLnByb3h5KHRoaXMubmV4dCx0aGlzKSx0aGlzLm9wdGlvbnMuaW50ZXJ2YWwpKSx0aGlzfSxjLnByb3RvdHlwZS5nZXRJdGVtSW5kZXg9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuJGl0ZW1zPWEucGFyZW50KCkuY2hpbGRyZW4oIi5pdGVtIiksdGhpcy4kaXRlbXMuaW5kZXgoYXx8dGhpcy4kYWN0aXZlKX0sYy5wcm90b3R5cGUuZ2V0SXRlbUZvckRpcmVjdGlvbj1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuZ2V0SXRlbUluZGV4KGIpLGQ9InByZXYiPT1hJiYwPT09Y3x8Im5leHQiPT1hJiZjPT10aGlzLiRpdGVtcy5sZW5ndGgtMTtpZihkJiYhdGhpcy5vcHRpb25zLndyYXApcmV0dXJuIGI7dmFyIGU9InByZXYiPT1hPy0xOjEsZj0oYytlKSV0aGlzLiRpdGVtcy5sZW5ndGg7cmV0dXJuIHRoaXMuJGl0ZW1zLmVxKGYpfSxjLnByb3RvdHlwZS50bz1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9dGhpcy5nZXRJdGVtSW5kZXgodGhpcy4kYWN0aXZlPXRoaXMuJGVsZW1lbnQuZmluZCgiLml0ZW0uYWN0aXZlIikpO3JldHVybiBhPnRoaXMuJGl0ZW1zLmxlbmd0aC0xfHwwPmE/dm9pZCAwOnRoaXMuc2xpZGluZz90aGlzLiRlbGVtZW50Lm9uZSgic2xpZC5icy5jYXJvdXNlbCIsZnVuY3Rpb24oKXtiLnRvKGEpfSk6Yz09YT90aGlzLnBhdXNlKCkuY3ljbGUoKTp0aGlzLnNsaWRlKGE+Yz8ibmV4dCI6InByZXYiLHRoaXMuJGl0ZW1zLmVxKGEpKX0sYy5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oYil7cmV0dXJuIGJ8fCh0aGlzLnBhdXNlZD0hMCksdGhpcy4kZWxlbWVudC5maW5kKCIubmV4dCwgLnByZXYiKS5sZW5ndGgmJmEuc3VwcG9ydC50cmFuc2l0aW9uJiYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCksdGhpcy5jeWNsZSghMCkpLHRoaXMuaW50ZXJ2YWw9Y2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKSx0aGlzfSxjLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2xpZGluZz92b2lkIDA6dGhpcy5zbGlkZSgibmV4dCIpfSxjLnByb3RvdHlwZS5wcmV2PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2xpZGluZz92b2lkIDA6dGhpcy5zbGlkZSgicHJldiIpfSxjLnByb3RvdHlwZS5zbGlkZT1mdW5jdGlvbihiLGQpe3ZhciBlPXRoaXMuJGVsZW1lbnQuZmluZCgiLml0ZW0uYWN0aXZlIiksZj1kfHx0aGlzLmdldEl0ZW1Gb3JEaXJlY3Rpb24oYixlKSxnPXRoaXMuaW50ZXJ2YWwsaD0ibmV4dCI9PWI/ImxlZnQiOiJyaWdodCIsaT10aGlzO2lmKGYuaGFzQ2xhc3MoImFjdGl2ZSIpKXJldHVybiB0aGlzLnNsaWRpbmc9ITE7dmFyIGo9ZlswXSxrPWEuRXZlbnQoInNsaWRlLmJzLmNhcm91c2VsIix7cmVsYXRlZFRhcmdldDpqLGRpcmVjdGlvbjpofSk7aWYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGspLCFrLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtpZih0aGlzLnNsaWRpbmc9ITAsZyYmdGhpcy5wYXVzZSgpLHRoaXMuJGluZGljYXRvcnMubGVuZ3RoKXt0aGlzLiRpbmRpY2F0b3JzLmZpbmQoIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIik7dmFyIGw9YSh0aGlzLiRpbmRpY2F0b3JzLmNoaWxkcmVuKClbdGhpcy5nZXRJdGVtSW5kZXgoZildKTtsJiZsLmFkZENsYXNzKCJhY3RpdmUiKX12YXIgbT1hLkV2ZW50KCJzbGlkLmJzLmNhcm91c2VsIix7cmVsYXRlZFRhcmdldDpqLGRpcmVjdGlvbjpofSk7cmV0dXJuIGEuc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJzbGlkZSIpPyhmLmFkZENsYXNzKGIpLGZbMF0ub2Zmc2V0V2lkdGgsZS5hZGRDbGFzcyhoKSxmLmFkZENsYXNzKGgpLGUub25lKCJic1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7Zi5yZW1vdmVDbGFzcyhbYixoXS5qb2luKCIgIikpLmFkZENsYXNzKCJhY3RpdmUiKSxlLnJlbW92ZUNsYXNzKFsiYWN0aXZlIixoXS5qb2luKCIgIikpLGkuc2xpZGluZz0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS4kZWxlbWVudC50cmlnZ2VyKG0pfSwwKX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTikpOihlLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSxmLmFkZENsYXNzKCJhY3RpdmUiKSx0aGlzLnNsaWRpbmc9ITEsdGhpcy4kZWxlbWVudC50cmlnZ2VyKG0pKSxnJiZ0aGlzLmN5Y2xlKCksdGhpc319O3ZhciBkPWEuZm4uY2Fyb3VzZWw7YS5mbi5jYXJvdXNlbD1iLGEuZm4uY2Fyb3VzZWwuQ29uc3RydWN0b3I9YyxhLmZuLmNhcm91c2VsLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5jYXJvdXNlbD1kLHRoaXN9O3ZhciBlPWZ1bmN0aW9uKGMpe3ZhciBkLGU9YSh0aGlzKSxmPWEoZS5hdHRyKCJkYXRhLXRhcmdldCIpfHwoZD1lLmF0dHIoImhyZWYiKSkmJmQucmVwbGFjZSgvLiooPz0jW15cc10rJCkvLCIiKSk7aWYoZi5oYXNDbGFzcygiY2Fyb3VzZWwiKSl7dmFyIGc9YS5leHRlbmQoe30sZi5kYXRhKCksZS5kYXRhKCkpLGg9ZS5hdHRyKCJkYXRhLXNsaWRlLXRvIik7aCYmKGcuaW50ZXJ2YWw9ITEpLGIuY2FsbChmLGcpLGgmJmYuZGF0YSgiYnMuY2Fyb3VzZWwiKS50byhoKSxjLnByZXZlbnREZWZhdWx0KCl9fTthKGRvY3VtZW50KS5vbigiY2xpY2suYnMuY2Fyb3VzZWwuZGF0YS1hcGkiLCJbZGF0YS1zbGlkZV0iLGUpLm9uKCJjbGljay5icy5jYXJvdXNlbC5kYXRhLWFwaSIsIltkYXRhLXNsaWRlLXRvXSIsZSksYSh3aW5kb3cpLm9uKCJsb2FkIixmdW5jdGlvbigpe2EoJ1tkYXRhLXJpZGU9ImNhcm91c2VsIl0nKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKTtiLmNhbGwoYyxjLmRhdGEoKSl9KX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXt2YXIgYyxkPWIuYXR0cigiZGF0YS10YXJnZXQiKXx8KGM9Yi5hdHRyKCJocmVmIikpJiZjLnJlcGxhY2UoLy4qKD89I1teXHNdKyQpLywiIik7cmV0dXJuIGEoZCl9ZnVuY3Rpb24gYyhiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKSxlPWMuZGF0YSgiYnMuY29sbGFwc2UiKSxmPWEuZXh0ZW5kKHt9LGQuREVGQVVMVFMsYy5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBiJiZiKTshZSYmZi50b2dnbGUmJi9zaG93fGhpZGUvLnRlc3QoYikmJihmLnRvZ2dsZT0hMSksZXx8Yy5kYXRhKCJicy5jb2xsYXBzZSIsZT1uZXcgZCh0aGlzLGYpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0oKX0pfXZhciBkPWZ1bmN0aW9uKGIsYyl7dGhpcy4kZWxlbWVudD1hKGIpLHRoaXMub3B0aW9ucz1hLmV4dGVuZCh7fSxkLkRFRkFVTFRTLGMpLHRoaXMuJHRyaWdnZXI9YSgnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2hyZWY9IiMnK2IuaWQrJyJdLFtkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXRhcmdldD0iIycrYi5pZCsnIl0nKSx0aGlzLnRyYW5zaXRpb25pbmc9bnVsbCx0aGlzLm9wdGlvbnMucGFyZW50P3RoaXMuJHBhcmVudD10aGlzLmdldFBhcmVudCgpOnRoaXMuYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKHRoaXMuJGVsZW1lbnQsdGhpcy4kdHJpZ2dlciksdGhpcy5vcHRpb25zLnRvZ2dsZSYmdGhpcy50b2dnbGUoKX07ZC5WRVJTSU9OPSIzLjMuNSIsZC5UUkFOU0lUSU9OX0RVUkFUSU9OPTM1MCxkLkRFRkFVTFRTPXt0b2dnbGU6ITB9LGQucHJvdG90eXBlLmRpbWVuc2lvbj1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoIndpZHRoIik7cmV0dXJuIGE/IndpZHRoIjoiaGVpZ2h0In0sZC5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe2lmKCF0aGlzLnRyYW5zaXRpb25pbmcmJiF0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJpbiIpKXt2YXIgYixlPXRoaXMuJHBhcmVudCYmdGhpcy4kcGFyZW50LmNoaWxkcmVuKCIucGFuZWwiKS5jaGlsZHJlbigiLmluLCAuY29sbGFwc2luZyIpO2lmKCEoZSYmZS5sZW5ndGgmJihiPWUuZGF0YSgiYnMuY29sbGFwc2UiKSxiJiZiLnRyYW5zaXRpb25pbmcpKSl7dmFyIGY9YS5FdmVudCgic2hvdy5icy5jb2xsYXBzZSIpO2lmKHRoaXMuJGVsZW1lbnQudHJpZ2dlcihmKSwhZi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7ZSYmZS5sZW5ndGgmJihjLmNhbGwoZSwiaGlkZSIpLGJ8fGUuZGF0YSgiYnMuY29sbGFwc2UiLG51bGwpKTt2YXIgZz10aGlzLmRpbWVuc2lvbigpO3RoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImNvbGxhcHNlIikuYWRkQ2xhc3MoImNvbGxhcHNpbmciKVtnXSgwKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksdGhpcy4kdHJpZ2dlci5yZW1vdmVDbGFzcygiY29sbGFwc2VkIikuYXR0cigiYXJpYS1leHBhbmRlZCIsITApLHRoaXMudHJhbnNpdGlvbmluZz0xO3ZhciBoPWZ1bmN0aW9uKCl7dGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiY29sbGFwc2luZyIpLmFkZENsYXNzKCJjb2xsYXBzZSBpbiIpW2ddKCIiKSx0aGlzLnRyYW5zaXRpb25pbmc9MCx0aGlzLiRlbGVtZW50LnRyaWdnZXIoInNob3duLmJzLmNvbGxhcHNlIil9O2lmKCFhLnN1cHBvcnQudHJhbnNpdGlvbilyZXR1cm4gaC5jYWxsKHRoaXMpO3ZhciBpPWEuY2FtZWxDYXNlKFsic2Nyb2xsIixnXS5qb2luKCItIikpO3RoaXMuJGVsZW1lbnQub25lKCJic1RyYW5zaXRpb25FbmQiLGEucHJveHkoaCx0aGlzKSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoZC5UUkFOU0lUSU9OX0RVUkFUSU9OKVtnXSh0aGlzLiRlbGVtZW50WzBdW2ldKX19fX0sZC5wcm90b3R5cGUuaGlkZT1mdW5jdGlvbigpe2lmKCF0aGlzLnRyYW5zaXRpb25pbmcmJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIikpe3ZhciBiPWEuRXZlbnQoImhpZGUuYnMuY29sbGFwc2UiKTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoYiksIWIuaXNEZWZhdWx0UHJldmVudGVkKCkpe3ZhciBjPXRoaXMuZGltZW5zaW9uKCk7dGhpcy4kZWxlbWVudFtjXSh0aGlzLiRlbGVtZW50W2NdKCkpWzBdLm9mZnNldEhlaWdodCx0aGlzLiRlbGVtZW50LmFkZENsYXNzKCJjb2xsYXBzaW5nIikucmVtb3ZlQ2xhc3MoImNvbGxhcHNlIGluIikuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpLHRoaXMuJHRyaWdnZXIuYWRkQ2xhc3MoImNvbGxhcHNlZCIpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCExKSx0aGlzLnRyYW5zaXRpb25pbmc9MTt2YXIgZT1mdW5jdGlvbigpe3RoaXMudHJhbnNpdGlvbmluZz0wLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImNvbGxhcHNpbmciKS5hZGRDbGFzcygiY29sbGFwc2UiKS50cmlnZ2VyKCJoaWRkZW4uYnMuY29sbGFwc2UiKX07cmV0dXJuIGEuc3VwcG9ydC50cmFuc2l0aW9uP3ZvaWQgdGhpcy4kZWxlbWVudFtjXSgwKS5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYS5wcm94eShlLHRoaXMpKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChkLlRSQU5TSVRJT05fRFVSQVRJT04pOmUuY2FsbCh0aGlzKX19fSxkLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oKXt0aGlzW3RoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIik/ImhpZGUiOiJzaG93Il0oKX0sZC5wcm90b3R5cGUuZ2V0UGFyZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGEodGhpcy5vcHRpb25zLnBhcmVudCkuZmluZCgnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2RhdGEtcGFyZW50PSInK3RoaXMub3B0aW9ucy5wYXJlbnQrJyJdJykuZWFjaChhLnByb3h5KGZ1bmN0aW9uKGMsZCl7dmFyIGU9YShkKTt0aGlzLmFkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyhiKGUpLGUpfSx0aGlzKSkuZW5kKCl9LGQucHJvdG90eXBlLmFkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcz1mdW5jdGlvbihhLGIpe3ZhciBjPWEuaGFzQ2xhc3MoImluIik7YS5hdHRyKCJhcmlhLWV4cGFuZGVkIixjKSxiLnRvZ2dsZUNsYXNzKCJjb2xsYXBzZWQiLCFjKS5hdHRyKCJhcmlhLWV4cGFuZGVkIixjKX07dmFyIGU9YS5mbi5jb2xsYXBzZTthLmZuLmNvbGxhcHNlPWMsYS5mbi5jb2xsYXBzZS5Db25zdHJ1Y3Rvcj1kLGEuZm4uY29sbGFwc2Uubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmNvbGxhcHNlPWUsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLmNvbGxhcHNlLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdJyxmdW5jdGlvbihkKXt2YXIgZT1hKHRoaXMpO2UuYXR0cigiZGF0YS10YXJnZXQiKXx8ZC5wcmV2ZW50RGVmYXVsdCgpO3ZhciBmPWIoZSksZz1mLmRhdGEoImJzLmNvbGxhcHNlIiksaD1nPyJ0b2dnbGUiOmUuZGF0YSgpO2MuY2FsbChmLGgpfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3ZhciBjPWIuYXR0cigiZGF0YS10YXJnZXQiKTtjfHwoYz1iLmF0dHIoImhyZWYiKSxjPWMmJi8jW0EtWmEtel0vLnRlc3QoYykmJmMucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSk7dmFyIGQ9YyYmYShjKTtyZXR1cm4gZCYmZC5sZW5ndGg/ZDpiLnBhcmVudCgpfWZ1bmN0aW9uIGMoYyl7YyYmMz09PWMud2hpY2h8fChhKGUpLnJlbW92ZSgpLGEoZikuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1iKGQpLGY9e3JlbGF0ZWRUYXJnZXQ6dGhpc307ZS5oYXNDbGFzcygib3BlbiIpJiYoYyYmImNsaWNrIj09Yy50eXBlJiYvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KGMudGFyZ2V0LnRhZ05hbWUpJiZhLmNvbnRhaW5zKGVbMF0sYy50YXJnZXQpfHwoZS50cmlnZ2VyKGM9YS5FdmVudCgiaGlkZS5icy5kcm9wZG93biIsZikpLGMuaXNEZWZhdWx0UHJldmVudGVkKCl8fChkLmF0dHIoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpLGUucmVtb3ZlQ2xhc3MoIm9wZW4iKS50cmlnZ2VyKCJoaWRkZW4uYnMuZHJvcGRvd24iLGYpKSkpfSkpfWZ1bmN0aW9uIGQoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyksZD1jLmRhdGEoImJzLmRyb3Bkb3duIik7ZHx8Yy5kYXRhKCJicy5kcm9wZG93biIsZD1uZXcgZyh0aGlzKSksInN0cmluZyI9PXR5cGVvZiBiJiZkW2JdLmNhbGwoYyl9KX12YXIgZT0iLmRyb3Bkb3duLWJhY2tkcm9wIixmPSdbZGF0YS10b2dnbGU9ImRyb3Bkb3duIl0nLGc9ZnVuY3Rpb24oYil7YShiKS5vbigiY2xpY2suYnMuZHJvcGRvd24iLHRoaXMudG9nZ2xlKX07Zy5WRVJTSU9OPSIzLjMuNSIsZy5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKGQpe3ZhciBlPWEodGhpcyk7aWYoIWUuaXMoIi5kaXNhYmxlZCwgOmRpc2FibGVkIikpe3ZhciBmPWIoZSksZz1mLmhhc0NsYXNzKCJvcGVuIik7aWYoYygpLCFnKXsib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmIWYuY2xvc2VzdCgiLm5hdmJhci1uYXYiKS5sZW5ndGgmJmEoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLmFkZENsYXNzKCJkcm9wZG93bi1iYWNrZHJvcCIpLmluc2VydEFmdGVyKGEodGhpcykpLm9uKCJjbGljayIsYyk7dmFyIGg9e3JlbGF0ZWRUYXJnZXQ6dGhpc307aWYoZi50cmlnZ2VyKGQ9YS5FdmVudCgic2hvdy5icy5kcm9wZG93biIsaCkpLGQuaXNEZWZhdWx0UHJldmVudGVkKCkpcmV0dXJuO2UudHJpZ2dlcigiZm9jdXMiKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwidHJ1ZSIpLGYudG9nZ2xlQ2xhc3MoIm9wZW4iKS50cmlnZ2VyKCJzaG93bi5icy5kcm9wZG93biIsaCl9cmV0dXJuITF9fSxnLnByb3RvdHlwZS5rZXlkb3duPWZ1bmN0aW9uKGMpe2lmKC8oMzh8NDB8Mjd8MzIpLy50ZXN0KGMud2hpY2gpJiYhL2lucHV0fHRleHRhcmVhL2kudGVzdChjLnRhcmdldC50YWdOYW1lKSl7dmFyIGQ9YSh0aGlzKTtpZihjLnByZXZlbnREZWZhdWx0KCksYy5zdG9wUHJvcGFnYXRpb24oKSwhZC5pcygiLmRpc2FibGVkLCA6ZGlzYWJsZWQiKSl7dmFyIGU9YihkKSxnPWUuaGFzQ2xhc3MoIm9wZW4iKTtpZighZyYmMjchPWMud2hpY2h8fGcmJjI3PT1jLndoaWNoKXJldHVybiAyNz09Yy53aGljaCYmZS5maW5kKGYpLnRyaWdnZXIoImZvY3VzIiksZC50cmlnZ2VyKCJjbGljayIpO3ZhciBoPSIgbGk6bm90KC5kaXNhYmxlZCk6dmlzaWJsZSBhIixpPWUuZmluZCgiLmRyb3Bkb3duLW1lbnUiK2gpO2lmKGkubGVuZ3RoKXt2YXIgaj1pLmluZGV4KGMudGFyZ2V0KTszOD09Yy53aGljaCYmaj4wJiZqLS0sNDA9PWMud2hpY2gmJmo8aS5sZW5ndGgtMSYmaisrLH5qfHwoaj0wKSxpLmVxKGopLnRyaWdnZXIoImZvY3VzIil9fX19O3ZhciBoPWEuZm4uZHJvcGRvd247YS5mbi5kcm9wZG93bj1kLGEuZm4uZHJvcGRvd24uQ29uc3RydWN0b3I9ZyxhLmZuLmRyb3Bkb3duLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5kcm9wZG93bj1oLHRoaXN9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5icy5kcm9wZG93bi5kYXRhLWFwaSIsYykub24oImNsaWNrLmJzLmRyb3Bkb3duLmRhdGEtYXBpIiwiLmRyb3Bkb3duIGZvcm0iLGZ1bmN0aW9uKGEpe2Euc3RvcFByb3BhZ2F0aW9uKCl9KS5vbigiY2xpY2suYnMuZHJvcGRvd24uZGF0YS1hcGkiLGYsZy5wcm90b3R5cGUudG9nZ2xlKS5vbigia2V5ZG93bi5icy5kcm9wZG93bi5kYXRhLWFwaSIsZixnLnByb3RvdHlwZS5rZXlkb3duKS5vbigia2V5ZG93bi5icy5kcm9wZG93bi5kYXRhLWFwaSIsIi5kcm9wZG93bi1tZW51IixnLnByb3RvdHlwZS5rZXlkb3duKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYixkKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9YSh0aGlzKSxmPWUuZGF0YSgiYnMubW9kYWwiKSxnPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZS5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBiJiZiKTtmfHxlLmRhdGEoImJzLm1vZGFsIixmPW5ldyBjKHRoaXMsZykpLCJzdHJpbmciPT10eXBlb2YgYj9mW2JdKGQpOmcuc2hvdyYmZi5zaG93KGQpfSl9dmFyIGM9ZnVuY3Rpb24oYixjKXt0aGlzLm9wdGlvbnM9Yyx0aGlzLiRib2R5PWEoZG9jdW1lbnQuYm9keSksdGhpcy4kZWxlbWVudD1hKGIpLHRoaXMuJGRpYWxvZz10aGlzLiRlbGVtZW50LmZpbmQoIi5tb2RhbC1kaWFsb2ciKSx0aGlzLiRiYWNrZHJvcD1udWxsLHRoaXMuaXNTaG93bj1udWxsLHRoaXMub3JpZ2luYWxCb2R5UGFkPW51bGwsdGhpcy5zY3JvbGxiYXJXaWR0aD0wLHRoaXMuaWdub3JlQmFja2Ryb3BDbGljaz0hMSx0aGlzLm9wdGlvbnMucmVtb3RlJiZ0aGlzLiRlbGVtZW50LmZpbmQoIi5tb2RhbC1jb250ZW50IikubG9hZCh0aGlzLm9wdGlvbnMucmVtb3RlLGEucHJveHkoZnVuY3Rpb24oKXt0aGlzLiRlbGVtZW50LnRyaWdnZXIoImxvYWRlZC5icy5tb2RhbCIpfSx0aGlzKSl9O2MuVkVSU0lPTj0iMy4zLjUiLGMuVFJBTlNJVElPTl9EVVJBVElPTj0zMDAsYy5CQUNLRFJPUF9UUkFOU0lUSU9OX0RVUkFUSU9OPTE1MCxjLkRFRkFVTFRTPXtiYWNrZHJvcDohMCxrZXlib2FyZDohMCxzaG93OiEwfSxjLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaXNTaG93bj90aGlzLmhpZGUoKTp0aGlzLnNob3coYSl9LGMucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oYil7dmFyIGQ9dGhpcyxlPWEuRXZlbnQoInNob3cuYnMubW9kYWwiLHtyZWxhdGVkVGFyZ2V0OmJ9KTt0aGlzLiRlbGVtZW50LnRyaWdnZXIoZSksdGhpcy5pc1Nob3dufHxlLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodGhpcy5pc1Nob3duPSEwLHRoaXMuY2hlY2tTY3JvbGxiYXIoKSx0aGlzLnNldFNjcm9sbGJhcigpLHRoaXMuJGJvZHkuYWRkQ2xhc3MoIm1vZGFsLW9wZW4iKSx0aGlzLmVzY2FwZSgpLHRoaXMucmVzaXplKCksdGhpcy4kZWxlbWVudC5vbigiY2xpY2suZGlzbWlzcy5icy5tb2RhbCIsJ1tkYXRhLWRpc21pc3M9Im1vZGFsIl0nLGEucHJveHkodGhpcy5oaWRlLHRoaXMpKSx0aGlzLiRkaWFsb2cub24oIm1vdXNlZG93bi5kaXNtaXNzLmJzLm1vZGFsIixmdW5jdGlvbigpe2QuJGVsZW1lbnQub25lKCJtb3VzZXVwLmRpc21pc3MuYnMubW9kYWwiLGZ1bmN0aW9uKGIpe2EoYi50YXJnZXQpLmlzKGQuJGVsZW1lbnQpJiYoZC5pZ25vcmVCYWNrZHJvcENsaWNrPSEwKX0pfSksdGhpcy5iYWNrZHJvcChmdW5jdGlvbigpe3ZhciBlPWEuc3VwcG9ydC50cmFuc2l0aW9uJiZkLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik7ZC4kZWxlbWVudC5wYXJlbnQoKS5sZW5ndGh8fGQuJGVsZW1lbnQuYXBwZW5kVG8oZC4kYm9keSksZC4kZWxlbWVudC5zaG93KCkuc2Nyb2xsVG9wKDApLGQuYWRqdXN0RGlhbG9nKCksZSYmZC4kZWxlbWVudFswXS5vZmZzZXRXaWR0aCxkLiRlbGVtZW50LmFkZENsYXNzKCJpbiIpLGQuZW5mb3JjZUZvY3VzKCk7dmFyIGY9YS5FdmVudCgic2hvd24uYnMubW9kYWwiLHtyZWxhdGVkVGFyZ2V0OmJ9KTtlP2QuJGRpYWxvZy5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZnVuY3Rpb24oKXtkLiRlbGVtZW50LnRyaWdnZXIoImZvY3VzIikudHJpZ2dlcihmKX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6ZC4kZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpLnRyaWdnZXIoZil9KSl9LGMucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oYil7YiYmYi5wcmV2ZW50RGVmYXVsdCgpLGI9YS5FdmVudCgiaGlkZS5icy5tb2RhbCIpLHRoaXMuJGVsZW1lbnQudHJpZ2dlcihiKSx0aGlzLmlzU2hvd24mJiFiLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYodGhpcy5pc1Nob3duPSExLHRoaXMuZXNjYXBlKCksdGhpcy5yZXNpemUoKSxhKGRvY3VtZW50KS5vZmYoImZvY3VzaW4uYnMubW9kYWwiKSx0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJpbiIpLm9mZigiY2xpY2suZGlzbWlzcy5icy5tb2RhbCIpLm9mZigibW91c2V1cC5kaXNtaXNzLmJzLm1vZGFsIiksdGhpcy4kZGlhbG9nLm9mZigibW91c2Vkb3duLmRpc21pc3MuYnMubW9kYWwiKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiZmFkZSIpP3RoaXMuJGVsZW1lbnQub25lKCJic1RyYW5zaXRpb25FbmQiLGEucHJveHkodGhpcy5oaWRlTW9kYWwsdGhpcykpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6dGhpcy5oaWRlTW9kYWwoKSl9LGMucHJvdG90eXBlLmVuZm9yY2VGb2N1cz1mdW5jdGlvbigpe2EoZG9jdW1lbnQpLm9mZigiZm9jdXNpbi5icy5tb2RhbCIpLm9uKCJmb2N1c2luLmJzLm1vZGFsIixhLnByb3h5KGZ1bmN0aW9uKGEpe3RoaXMuJGVsZW1lbnRbMF09PT1hLnRhcmdldHx8dGhpcy4kZWxlbWVudC5oYXMoYS50YXJnZXQpLmxlbmd0aHx8dGhpcy4kZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpfSx0aGlzKSl9LGMucHJvdG90eXBlLmVzY2FwZT1mdW5jdGlvbigpe3RoaXMuaXNTaG93biYmdGhpcy5vcHRpb25zLmtleWJvYXJkP3RoaXMuJGVsZW1lbnQub24oImtleWRvd24uZGlzbWlzcy5icy5tb2RhbCIsYS5wcm94eShmdW5jdGlvbihhKXsyNz09YS53aGljaCYmdGhpcy5oaWRlKCl9LHRoaXMpKTp0aGlzLmlzU2hvd258fHRoaXMuJGVsZW1lbnQub2ZmKCJrZXlkb3duLmRpc21pc3MuYnMubW9kYWwiKX0sYy5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKCl7dGhpcy5pc1Nob3duP2Eod2luZG93KS5vbigicmVzaXplLmJzLm1vZGFsIixhLnByb3h5KHRoaXMuaGFuZGxlVXBkYXRlLHRoaXMpKTphKHdpbmRvdykub2ZmKCJyZXNpemUuYnMubW9kYWwiKX0sYy5wcm90b3R5cGUuaGlkZU1vZGFsPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLiRlbGVtZW50LmhpZGUoKSx0aGlzLmJhY2tkcm9wKGZ1bmN0aW9uKCl7YS4kYm9keS5yZW1vdmVDbGFzcygibW9kYWwtb3BlbiIpLGEucmVzZXRBZGp1c3RtZW50cygpLGEucmVzZXRTY3JvbGxiYXIoKSxhLiRlbGVtZW50LnRyaWdnZXIoImhpZGRlbi5icy5tb2RhbCIpfSl9LGMucHJvdG90eXBlLnJlbW92ZUJhY2tkcm9wPWZ1bmN0aW9uKCl7dGhpcy4kYmFja2Ryb3AmJnRoaXMuJGJhY2tkcm9wLnJlbW92ZSgpLHRoaXMuJGJhY2tkcm9wPW51bGx9LGMucHJvdG90eXBlLmJhY2tkcm9wPWZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMsZT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/ImZhZGUiOiIiO2lmKHRoaXMuaXNTaG93biYmdGhpcy5vcHRpb25zLmJhY2tkcm9wKXt2YXIgZj1hLnN1cHBvcnQudHJhbnNpdGlvbiYmZTtpZih0aGlzLiRiYWNrZHJvcD1hKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5hZGRDbGFzcygibW9kYWwtYmFja2Ryb3AgIitlKS5hcHBlbmRUbyh0aGlzLiRib2R5KSx0aGlzLiRlbGVtZW50Lm9uKCJjbGljay5kaXNtaXNzLmJzLm1vZGFsIixhLnByb3h5KGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2s/dm9pZCh0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2s9ITEpOnZvaWQoYS50YXJnZXQ9PT1hLmN1cnJlbnRUYXJnZXQmJigic3RhdGljIj09dGhpcy5vcHRpb25zLmJhY2tkcm9wP3RoaXMuJGVsZW1lbnRbMF0uZm9jdXMoKTp0aGlzLmhpZGUoKSkpfSx0aGlzKSksZiYmdGhpcy4kYmFja2Ryb3BbMF0ub2Zmc2V0V2lkdGgsdGhpcy4kYmFja2Ryb3AuYWRkQ2xhc3MoImluIiksIWIpcmV0dXJuO2Y/dGhpcy4kYmFja2Ryb3Aub25lKCJic1RyYW5zaXRpb25FbmQiLGIpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuQkFDS0RST1BfVFJBTlNJVElPTl9EVVJBVElPTik6YigpfWVsc2UgaWYoIXRoaXMuaXNTaG93biYmdGhpcy4kYmFja2Ryb3Ape3RoaXMuJGJhY2tkcm9wLnJlbW92ZUNsYXNzKCJpbiIpO3ZhciBnPWZ1bmN0aW9uKCl7ZC5yZW1vdmVCYWNrZHJvcCgpLGImJmIoKX07YS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImZhZGUiKT90aGlzLiRiYWNrZHJvcC5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZykuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5CQUNLRFJPUF9UUkFOU0lUSU9OX0RVUkFUSU9OKTpnKCl9ZWxzZSBiJiZiKCl9LGMucHJvdG90eXBlLmhhbmRsZVVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuYWRqdXN0RGlhbG9nKCl9LGMucHJvdG90eXBlLmFkanVzdERpYWxvZz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnRbMF0uc2Nyb2xsSGVpZ2h0PmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7dGhpcy4kZWxlbWVudC5jc3Moe3BhZGRpbmdMZWZ0OiF0aGlzLmJvZHlJc092ZXJmbG93aW5nJiZhP3RoaXMuc2Nyb2xsYmFyV2lkdGg6IiIscGFkZGluZ1JpZ2h0OnRoaXMuYm9keUlzT3ZlcmZsb3dpbmcmJiFhP3RoaXMuc2Nyb2xsYmFyV2lkdGg6IiJ9KX0sYy5wcm90b3R5cGUucmVzZXRBZGp1c3RtZW50cz1mdW5jdGlvbigpe3RoaXMuJGVsZW1lbnQuY3NzKHtwYWRkaW5nTGVmdDoiIixwYWRkaW5nUmlnaHQ6IiJ9KX0sYy5wcm90b3R5cGUuY2hlY2tTY3JvbGxiYXI9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuaW5uZXJXaWR0aDtpZighYSl7dmFyIGI9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2E9Yi5yaWdodC1NYXRoLmFicyhiLmxlZnQpfXRoaXMuYm9keUlzT3ZlcmZsb3dpbmc9ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDxhLHRoaXMuc2Nyb2xsYmFyV2lkdGg9dGhpcy5tZWFzdXJlU2Nyb2xsYmFyKCl9LGMucHJvdG90eXBlLnNldFNjcm9sbGJhcj1mdW5jdGlvbigpe3ZhciBhPXBhcnNlSW50KHRoaXMuJGJvZHkuY3NzKCJwYWRkaW5nLXJpZ2h0Iil8fDAsMTApO3RoaXMub3JpZ2luYWxCb2R5UGFkPWRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0fHwiIix0aGlzLmJvZHlJc092ZXJmbG93aW5nJiZ0aGlzLiRib2R5LmNzcygicGFkZGluZy1yaWdodCIsYSt0aGlzLnNjcm9sbGJhcldpZHRoKX0sYy5wcm90b3R5cGUucmVzZXRTY3JvbGxiYXI9ZnVuY3Rpb24oKXt0aGlzLiRib2R5LmNzcygicGFkZGluZy1yaWdodCIsdGhpcy5vcmlnaW5hbEJvZHlQYWQpfSxjLnByb3RvdHlwZS5tZWFzdXJlU2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5jbGFzc05hbWU9Im1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIix0aGlzLiRib2R5LmFwcGVuZChhKTt2YXIgYj1hLm9mZnNldFdpZHRoLWEuY2xpZW50V2lkdGg7cmV0dXJuIHRoaXMuJGJvZHlbMF0ucmVtb3ZlQ2hpbGQoYSksYn07dmFyIGQ9YS5mbi5tb2RhbDthLmZuLm1vZGFsPWIsYS5mbi5tb2RhbC5Db25zdHJ1Y3Rvcj1jLGEuZm4ubW9kYWwubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLm1vZGFsPWQsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLm1vZGFsLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJtb2RhbCJdJyxmdW5jdGlvbihjKXt2YXIgZD1hKHRoaXMpLGU9ZC5hdHRyKCJocmVmIiksZj1hKGQuYXR0cigiZGF0YS10YXJnZXQiKXx8ZSYmZS5yZXBsYWNlKC8uKig/PSNbXlxzXSskKS8sIiIpKSxnPWYuZGF0YSgiYnMubW9kYWwiKT8idG9nZ2xlIjphLmV4dGVuZCh7cmVtb3RlOiEvIy8udGVzdChlKSYmZX0sZi5kYXRhKCksZC5kYXRhKCkpO2QuaXMoImEiKSYmYy5wcmV2ZW50RGVmYXVsdCgpLGYub25lKCJzaG93LmJzLm1vZGFsIixmdW5jdGlvbihhKXthLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxmLm9uZSgiaGlkZGVuLmJzLm1vZGFsIixmdW5jdGlvbigpe2QuaXMoIjp2aXNpYmxlIikmJmQudHJpZ2dlcigiZm9jdXMiKX0pfSksYi5jYWxsKGYsZyx0aGlzKX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMudG9vbHRpcCIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiOyhlfHwhL2Rlc3Ryb3l8aGlkZS8udGVzdChiKSkmJihlfHxkLmRhdGEoImJzLnRvb2x0aXAiLGU9bmV3IGModGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCkpfSl9dmFyIGM9ZnVuY3Rpb24oYSxiKXt0aGlzLnR5cGU9bnVsbCx0aGlzLm9wdGlvbnM9bnVsbCx0aGlzLmVuYWJsZWQ9bnVsbCx0aGlzLnRpbWVvdXQ9bnVsbCx0aGlzLmhvdmVyU3RhdGU9bnVsbCx0aGlzLiRlbGVtZW50PW51bGwsdGhpcy5pblN0YXRlPW51bGwsdGhpcy5pbml0KCJ0b29sdGlwIixhLGIpfTtjLlZFUlNJT049IjMuMy41IixjLlRSQU5TSVRJT05fRFVSQVRJT049MTUwLGMuREVGQVVMVFM9e2FuaW1hdGlvbjohMCxwbGFjZW1lbnQ6InRvcCIsc2VsZWN0b3I6ITEsdGVtcGxhdGU6JzxkaXYgY2xhc3M9InRvb2x0aXAiIHJvbGU9InRvb2x0aXAiPjxkaXYgY2xhc3M9InRvb2x0aXAtYXJyb3ciPjwvZGl2PjxkaXYgY2xhc3M9InRvb2x0aXAtaW5uZXIiPjwvZGl2PjwvZGl2PicsdHJpZ2dlcjoiaG92ZXIgZm9jdXMiLHRpdGxlOiIiLGRlbGF5OjAsaHRtbDohMSxjb250YWluZXI6ITEsdmlld3BvcnQ6e3NlbGVjdG9yOiJib2R5IixwYWRkaW5nOjB9fSxjLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKGIsYyxkKXtpZih0aGlzLmVuYWJsZWQ9ITAsdGhpcy50eXBlPWIsdGhpcy4kZWxlbWVudD1hKGMpLHRoaXMub3B0aW9ucz10aGlzLmdldE9wdGlvbnMoZCksdGhpcy4kdmlld3BvcnQ9dGhpcy5vcHRpb25zLnZpZXdwb3J0JiZhKGEuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMudmlld3BvcnQpP3RoaXMub3B0aW9ucy52aWV3cG9ydC5jYWxsKHRoaXMsdGhpcy4kZWxlbWVudCk6dGhpcy5vcHRpb25zLnZpZXdwb3J0LnNlbGVjdG9yfHx0aGlzLm9wdGlvbnMudmlld3BvcnQpLHRoaXMuaW5TdGF0ZT17Y2xpY2s6ITEsaG92ZXI6ITEsZm9jdXM6ITF9LHRoaXMuJGVsZW1lbnRbMF1pbnN0YW5jZW9mIGRvY3VtZW50LmNvbnN0cnVjdG9yJiYhdGhpcy5vcHRpb25zLnNlbGVjdG9yKXRocm93IG5ldyBFcnJvcigiYHNlbGVjdG9yYCBvcHRpb24gbXVzdCBiZSBzcGVjaWZpZWQgd2hlbiBpbml0aWFsaXppbmcgIit0aGlzLnR5cGUrIiBvbiB0aGUgd2luZG93LmRvY3VtZW50IG9iamVjdCEiKTtmb3IodmFyIGU9dGhpcy5vcHRpb25zLnRyaWdnZXIuc3BsaXQoIiAiKSxmPWUubGVuZ3RoO2YtLTspe3ZhciBnPWVbZl07aWYoImNsaWNrIj09Zyl0aGlzLiRlbGVtZW50Lm9uKCJjbGljay4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLnRvZ2dsZSx0aGlzKSk7ZWxzZSBpZigibWFudWFsIiE9Zyl7dmFyIGg9ImhvdmVyIj09Zz8ibW91c2VlbnRlciI6ImZvY3VzaW4iLGk9ImhvdmVyIj09Zz8ibW91c2VsZWF2ZSI6ImZvY3Vzb3V0Ijt0aGlzLiRlbGVtZW50Lm9uKGgrIi4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLmVudGVyLHRoaXMpKSx0aGlzLiRlbGVtZW50Lm9uKGkrIi4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLmxlYXZlLHRoaXMpKX19dGhpcy5vcHRpb25zLnNlbGVjdG9yP3RoaXMuX29wdGlvbnM9YS5leHRlbmQoe30sdGhpcy5vcHRpb25zLHt0cmlnZ2VyOiJtYW51YWwiLHNlbGVjdG9yOiIifSk6dGhpcy5maXhUaXRsZSgpfSxjLnByb3RvdHlwZS5nZXREZWZhdWx0cz1mdW5jdGlvbigpe3JldHVybiBjLkRFRkFVTFRTfSxjLnByb3RvdHlwZS5nZXRPcHRpb25zPWZ1bmN0aW9uKGIpe3JldHVybiBiPWEuZXh0ZW5kKHt9LHRoaXMuZ2V0RGVmYXVsdHMoKSx0aGlzLiRlbGVtZW50LmRhdGEoKSxiKSxiLmRlbGF5JiYibnVtYmVyIj09dHlwZW9mIGIuZGVsYXkmJihiLmRlbGF5PXtzaG93OmIuZGVsYXksaGlkZTpiLmRlbGF5fSksYn0sYy5wcm90b3R5cGUuZ2V0RGVsZWdhdGVPcHRpb25zPWZ1bmN0aW9uKCl7dmFyIGI9e30sYz10aGlzLmdldERlZmF1bHRzKCk7cmV0dXJuIHRoaXMuX29wdGlvbnMmJmEuZWFjaCh0aGlzLl9vcHRpb25zLGZ1bmN0aW9uKGEsZCl7Y1thXSE9ZCYmKGJbYV09ZCl9KSxifSxjLnByb3RvdHlwZS5lbnRlcj1mdW5jdGlvbihiKXt2YXIgYz1iIGluc3RhbmNlb2YgdGhpcy5jb25zdHJ1Y3Rvcj9iOmEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSk7cmV0dXJuIGN8fChjPW5ldyB0aGlzLmNvbnN0cnVjdG9yKGIuY3VycmVudFRhcmdldCx0aGlzLmdldERlbGVnYXRlT3B0aW9ucygpKSxhKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUsYykpLGIgaW5zdGFuY2VvZiBhLkV2ZW50JiYoYy5pblN0YXRlWyJmb2N1c2luIj09Yi50eXBlPyJmb2N1cyI6ImhvdmVyIl09ITApLGMudGlwKCkuaGFzQ2xhc3MoImluIil8fCJpbiI9PWMuaG92ZXJTdGF0ZT92b2lkKGMuaG92ZXJTdGF0ZT0iaW4iKTooY2xlYXJUaW1lb3V0KGMudGltZW91dCksYy5ob3ZlclN0YXRlPSJpbiIsYy5vcHRpb25zLmRlbGF5JiZjLm9wdGlvbnMuZGVsYXkuc2hvdz92b2lkKGMudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ImluIj09Yy5ob3ZlclN0YXRlJiZjLnNob3coKX0sYy5vcHRpb25zLmRlbGF5LnNob3cpKTpjLnNob3coKSl9LGMucHJvdG90eXBlLmlzSW5TdGF0ZVRydWU9ZnVuY3Rpb24oKXtmb3IodmFyIGEgaW4gdGhpcy5pblN0YXRlKWlmKHRoaXMuaW5TdGF0ZVthXSlyZXR1cm4hMDtyZXR1cm4hMX0sYy5wcm90b3R5cGUubGVhdmU9ZnVuY3Rpb24oYil7dmFyIGM9YiBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3I/YjphKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUpO3JldHVybiBjfHwoYz1uZXcgdGhpcy5jb25zdHJ1Y3RvcihiLmN1cnJlbnRUYXJnZXQsdGhpcy5nZXREZWxlZ2F0ZU9wdGlvbnMoKSksYShiLmN1cnJlbnRUYXJnZXQpLmRhdGEoImJzLiIrdGhpcy50eXBlLGMpKSxiIGluc3RhbmNlb2YgYS5FdmVudCYmKGMuaW5TdGF0ZVsiZm9jdXNvdXQiPT1iLnR5cGU/ImZvY3VzIjoiaG92ZXIiXT0hMSksYy5pc0luU3RhdGVUcnVlKCk/dm9pZCAwOihjbGVhclRpbWVvdXQoYy50aW1lb3V0KSxjLmhvdmVyU3RhdGU9Im91dCIsYy5vcHRpb25zLmRlbGF5JiZjLm9wdGlvbnMuZGVsYXkuaGlkZT92b2lkKGMudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Im91dCI9PWMuaG92ZXJTdGF0ZSYmYy5oaWRlKCl9LGMub3B0aW9ucy5kZWxheS5oaWRlKSk6Yy5oaWRlKCkpfSxjLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7dmFyIGI9YS5FdmVudCgic2hvdy5icy4iK3RoaXMudHlwZSk7aWYodGhpcy5oYXNDb250ZW50KCkmJnRoaXMuZW5hYmxlZCl7dGhpcy4kZWxlbWVudC50cmlnZ2VyKGIpO3ZhciBkPWEuY29udGFpbnModGhpcy4kZWxlbWVudFswXS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0aGlzLiRlbGVtZW50WzBdKTtpZihiLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwhZClyZXR1cm47dmFyIGU9dGhpcyxmPXRoaXMudGlwKCksZz10aGlzLmdldFVJRCh0aGlzLnR5cGUpO3RoaXMuc2V0Q29udGVudCgpLGYuYXR0cigiaWQiLGcpLHRoaXMuJGVsZW1lbnQuYXR0cigiYXJpYS1kZXNjcmliZWRieSIsZyksdGhpcy5vcHRpb25zLmFuaW1hdGlvbiYmZi5hZGRDbGFzcygiZmFkZSIpO3ZhciBoPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLm9wdGlvbnMucGxhY2VtZW50P3RoaXMub3B0aW9ucy5wbGFjZW1lbnQuY2FsbCh0aGlzLGZbMF0sdGhpcy4kZWxlbWVudFswXSk6dGhpcy5vcHRpb25zLnBsYWNlbWVudCxpPS9ccz9hdXRvP1xzPy9pLGo9aS50ZXN0KGgpO2omJihoPWgucmVwbGFjZShpLCIiKXx8InRvcCIpLGYuZGV0YWNoKCkuY3NzKHt0b3A6MCxsZWZ0OjAsZGlzcGxheToiYmxvY2sifSkuYWRkQ2xhc3MoaCkuZGF0YSgiYnMuIit0aGlzLnR5cGUsdGhpcyksdGhpcy5vcHRpb25zLmNvbnRhaW5lcj9mLmFwcGVuZFRvKHRoaXMub3B0aW9ucy5jb250YWluZXIpOmYuaW5zZXJ0QWZ0ZXIodGhpcy4kZWxlbWVudCksdGhpcy4kZWxlbWVudC50cmlnZ2VyKCJpbnNlcnRlZC5icy4iK3RoaXMudHlwZSk7dmFyIGs9dGhpcy5nZXRQb3NpdGlvbigpLGw9ZlswXS5vZmZzZXRXaWR0aCxtPWZbMF0ub2Zmc2V0SGVpZ2h0O2lmKGope3ZhciBuPWgsbz10aGlzLmdldFBvc2l0aW9uKHRoaXMuJHZpZXdwb3J0KTtoPSJib3R0b20iPT1oJiZrLmJvdHRvbSttPm8uYm90dG9tPyJ0b3AiOiJ0b3AiPT1oJiZrLnRvcC1tPG8udG9wPyJib3R0b20iOiJyaWdodCI9PWgmJmsucmlnaHQrbD5vLndpZHRoPyJsZWZ0IjoibGVmdCI9PWgmJmsubGVmdC1sPG8ubGVmdD8icmlnaHQiOmgsZi5yZW1vdmVDbGFzcyhuKS5hZGRDbGFzcyhoKX12YXIgcD10aGlzLmdldENhbGN1bGF0ZWRPZmZzZXQoaCxrLGwsbSk7dGhpcy5hcHBseVBsYWNlbWVudChwLGgpO3ZhciBxPWZ1bmN0aW9uKCl7dmFyIGE9ZS5ob3ZlclN0YXRlO2UuJGVsZW1lbnQudHJpZ2dlcigic2hvd24uYnMuIitlLnR5cGUpLGUuaG92ZXJTdGF0ZT1udWxsLCJvdXQiPT1hJiZlLmxlYXZlKGUpfTthLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kdGlwLmhhc0NsYXNzKCJmYWRlIik/Zi5vbmUoImJzVHJhbnNpdGlvbkVuZCIscSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5UUkFOU0lUSU9OX0RVUkFUSU9OKTpxKCl9fSxjLnByb3RvdHlwZS5hcHBseVBsYWNlbWVudD1mdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMudGlwKCksZT1kWzBdLm9mZnNldFdpZHRoLGY9ZFswXS5vZmZzZXRIZWlnaHQsZz1wYXJzZUludChkLmNzcygibWFyZ2luLXRvcCIpLDEwKSxoPXBhcnNlSW50KGQuY3NzKCJtYXJnaW4tbGVmdCIpLDEwKTtpc05hTihnKSYmKGc9MCksaXNOYU4oaCkmJihoPTApLGIudG9wKz1nLGIubGVmdCs9aCxhLm9mZnNldC5zZXRPZmZzZXQoZFswXSxhLmV4dGVuZCh7dXNpbmc6ZnVuY3Rpb24oYSl7ZC5jc3Moe3RvcDpNYXRoLnJvdW5kKGEudG9wKSxsZWZ0Ok1hdGgucm91bmQoYS5sZWZ0KX0pfX0sYiksMCksZC5hZGRDbGFzcygiaW4iKTt2YXIgaT1kWzBdLm9mZnNldFdpZHRoLGo9ZFswXS5vZmZzZXRIZWlnaHQ7InRvcCI9PWMmJmohPWYmJihiLnRvcD1iLnRvcCtmLWopO3ZhciBrPXRoaXMuZ2V0Vmlld3BvcnRBZGp1c3RlZERlbHRhKGMsYixpLGopO2subGVmdD9iLmxlZnQrPWsubGVmdDpiLnRvcCs9ay50b3A7dmFyIGw9L3RvcHxib3R0b20vLnRlc3QoYyksbT1sPzIqay5sZWZ0LWUraToyKmsudG9wLWYraixuPWw/Im9mZnNldFdpZHRoIjoib2Zmc2V0SGVpZ2h0IjtkLm9mZnNldChiKSx0aGlzLnJlcGxhY2VBcnJvdyhtLGRbMF1bbl0sbCl9LGMucHJvdG90eXBlLnJlcGxhY2VBcnJvdz1mdW5jdGlvbihhLGIsYyl7dGhpcy5hcnJvdygpLmNzcyhjPyJsZWZ0IjoidG9wIiw1MCooMS1hL2IpKyIlIikuY3NzKGM/InRvcCI6ImxlZnQiLCIiKX0sYy5wcm90b3R5cGUuc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMudGlwKCksYj10aGlzLmdldFRpdGxlKCk7YS5maW5kKCIudG9vbHRpcC1pbm5lciIpW3RoaXMub3B0aW9ucy5odG1sPyJodG1sIjoidGV4dCJdKGIpLGEucmVtb3ZlQ2xhc3MoImZhZGUgaW4gdG9wIGJvdHRvbSBsZWZ0IHJpZ2h0Iil9LGMucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gZCgpeyJpbiIhPWUuaG92ZXJTdGF0ZSYmZi5kZXRhY2goKSxlLiRlbGVtZW50LnJlbW92ZUF0dHIoImFyaWEtZGVzY3JpYmVkYnkiKS50cmlnZ2VyKCJoaWRkZW4uYnMuIitlLnR5cGUpLGImJmIoKX12YXIgZT10aGlzLGY9YSh0aGlzLiR0aXApLGc9YS5FdmVudCgiaGlkZS5icy4iK3RoaXMudHlwZSk7cmV0dXJuIHRoaXMuJGVsZW1lbnQudHJpZ2dlcihnKSxnLmlzRGVmYXVsdFByZXZlbnRlZCgpP3ZvaWQgMDooZi5yZW1vdmVDbGFzcygiaW4iKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmZi5oYXNDbGFzcygiZmFkZSIpP2Yub25lKCJic1RyYW5zaXRpb25FbmQiLGQpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6ZCgpLHRoaXMuaG92ZXJTdGF0ZT1udWxsLHRoaXMpfSxjLnByb3RvdHlwZS5maXhUaXRsZT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQ7KGEuYXR0cigidGl0bGUiKXx8InN0cmluZyIhPXR5cGVvZiBhLmF0dHIoImRhdGEtb3JpZ2luYWwtdGl0bGUiKSkmJmEuYXR0cigiZGF0YS1vcmlnaW5hbC10aXRsZSIsYS5hdHRyKCJ0aXRsZSIpfHwiIikuYXR0cigidGl0bGUiLCIiKX0sYy5wcm90b3R5cGUuaGFzQ29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFRpdGxlKCl9LGMucHJvdG90eXBlLmdldFBvc2l0aW9uPWZ1bmN0aW9uKGIpe2I9Ynx8dGhpcy4kZWxlbWVudDt2YXIgYz1iWzBdLGQ9IkJPRFkiPT1jLnRhZ05hbWUsZT1jLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO251bGw9PWUud2lkdGgmJihlPWEuZXh0ZW5kKHt9LGUse3dpZHRoOmUucmlnaHQtZS5sZWZ0LGhlaWdodDplLmJvdHRvbS1lLnRvcH0pKTt2YXIgZj1kP3t0b3A6MCxsZWZ0OjB9OmIub2Zmc2V0KCksZz17c2Nyb2xsOmQ/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A6Yi5zY3JvbGxUb3AoKX0saD1kP3t3aWR0aDphKHdpbmRvdykud2lkdGgoKSxoZWlnaHQ6YSh3aW5kb3cpLmhlaWdodCgpfTpudWxsO3JldHVybiBhLmV4dGVuZCh7fSxlLGcsaCxmKX0sYy5wcm90b3R5cGUuZ2V0Q2FsY3VsYXRlZE9mZnNldD1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4iYm90dG9tIj09YT97dG9wOmIudG9wK2IuaGVpZ2h0LGxlZnQ6Yi5sZWZ0K2Iud2lkdGgvMi1jLzJ9OiJ0b3AiPT1hP3t0b3A6Yi50b3AtZCxsZWZ0OmIubGVmdCtiLndpZHRoLzItYy8yfToibGVmdCI9PWE/e3RvcDpiLnRvcCtiLmhlaWdodC8yLWQvMixsZWZ0OmIubGVmdC1jfTp7dG9wOmIudG9wK2IuaGVpZ2h0LzItZC8yLGxlZnQ6Yi5sZWZ0K2Iud2lkdGh9fSxjLnByb3RvdHlwZS5nZXRWaWV3cG9ydEFkanVzdGVkRGVsdGE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9e3RvcDowLGxlZnQ6MH07aWYoIXRoaXMuJHZpZXdwb3J0KXJldHVybiBlO3ZhciBmPXRoaXMub3B0aW9ucy52aWV3cG9ydCYmdGhpcy5vcHRpb25zLnZpZXdwb3J0LnBhZGRpbmd8fDAsZz10aGlzLmdldFBvc2l0aW9uKHRoaXMuJHZpZXdwb3J0KTtpZigvcmlnaHR8bGVmdC8udGVzdChhKSl7dmFyIGg9Yi50b3AtZi1nLnNjcm9sbCxpPWIudG9wK2YtZy5zY3JvbGwrZDtoPGcudG9wP2UudG9wPWcudG9wLWg6aT5nLnRvcCtnLmhlaWdodCYmKGUudG9wPWcudG9wK2cuaGVpZ2h0LWkpfWVsc2V7dmFyIGo9Yi5sZWZ0LWYsaz1iLmxlZnQrZitjO2o8Zy5sZWZ0P2UubGVmdD1nLmxlZnQtajprPmcucmlnaHQmJihlLmxlZnQ9Zy5sZWZ0K2cud2lkdGgtayl9cmV0dXJuIGV9LGMucHJvdG90eXBlLmdldFRpdGxlPWZ1bmN0aW9uKCl7dmFyIGEsYj10aGlzLiRlbGVtZW50LGM9dGhpcy5vcHRpb25zO3JldHVybiBhPWIuYXR0cigiZGF0YS1vcmlnaW5hbC10aXRsZSIpfHwoImZ1bmN0aW9uIj09dHlwZW9mIGMudGl0bGU/Yy50aXRsZS5jYWxsKGJbMF0pOmMudGl0bGUpfSxjLnByb3RvdHlwZS5nZXRVSUQ9ZnVuY3Rpb24oYSl7ZG8gYSs9fn4oMWU2Kk1hdGgucmFuZG9tKCkpO3doaWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKTtyZXR1cm4gYX0sYy5wcm90b3R5cGUudGlwPWZ1bmN0aW9uKCl7aWYoIXRoaXMuJHRpcCYmKHRoaXMuJHRpcD1hKHRoaXMub3B0aW9ucy50ZW1wbGF0ZSksMSE9dGhpcy4kdGlwLmxlbmd0aCkpdGhyb3cgbmV3IEVycm9yKHRoaXMudHlwZSsiIGB0ZW1wbGF0ZWAgb3B0aW9uIG11c3QgY29uc2lzdCBvZiBleGFjdGx5IDEgdG9wLWxldmVsIGVsZW1lbnQhIik7cmV0dXJuIHRoaXMuJHRpcH0sYy5wcm90b3R5cGUuYXJyb3c9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kYXJyb3c9dGhpcy4kYXJyb3d8fHRoaXMudGlwKCkuZmluZCgiLnRvb2x0aXAtYXJyb3ciKX0sYy5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSEwfSxjLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSExfSxjLnByb3RvdHlwZS50b2dnbGVFbmFibGVkPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSF0aGlzLmVuYWJsZWR9LGMucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzO2ImJihjPWEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSksY3x8KGM9bmV3IHRoaXMuY29uc3RydWN0b3IoYi5jdXJyZW50VGFyZ2V0LHRoaXMuZ2V0RGVsZWdhdGVPcHRpb25zKCkpLGEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSxjKSkpLGI/KGMuaW5TdGF0ZS5jbGljaz0hYy5pblN0YXRlLmNsaWNrLGMuaXNJblN0YXRlVHJ1ZSgpP2MuZW50ZXIoYyk6Yy5sZWF2ZShjKSk6Yy50aXAoKS5oYXNDbGFzcygiaW4iKT9jLmxlYXZlKGMpOmMuZW50ZXIoYyl9LGMucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2NsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpLHRoaXMuaGlkZShmdW5jdGlvbigpe2EuJGVsZW1lbnQub2ZmKCIuIithLnR5cGUpLnJlbW92ZURhdGEoImJzLiIrYS50eXBlKSxhLiR0aXAmJmEuJHRpcC5kZXRhY2goKSxhLiR0aXA9bnVsbCxhLiRhcnJvdz1udWxsLGEuJHZpZXdwb3J0PW51bGx9KX07dmFyIGQ9YS5mbi50b29sdGlwO2EuZm4udG9vbHRpcD1iLGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvcj1jLGEuZm4udG9vbHRpcC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4udG9vbHRpcD1kLHRoaXN9fShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMucG9wb3ZlciIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiOyhlfHwhL2Rlc3Ryb3l8aGlkZS8udGVzdChiKSkmJihlfHxkLmRhdGEoImJzLnBvcG92ZXIiLGU9bmV3IGModGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCkpfSl9dmFyIGM9ZnVuY3Rpb24oYSxiKXt0aGlzLmluaXQoInBvcG92ZXIiLGEsYil9O2lmKCFhLmZuLnRvb2x0aXApdGhyb3cgbmV3IEVycm9yKCJQb3BvdmVyIHJlcXVpcmVzIHRvb2x0aXAuanMiKTtjLlZFUlNJT049IjMuMy41IixjLkRFRkFVTFRTPWEuZXh0ZW5kKHt9LGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvci5ERUZBVUxUUyx7cGxhY2VtZW50OiJyaWdodCIsdHJpZ2dlcjoiY2xpY2siLGNvbnRlbnQ6IiIsdGVtcGxhdGU6JzxkaXYgY2xhc3M9InBvcG92ZXIiIHJvbGU9InRvb2x0aXAiPjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj48aDMgY2xhc3M9InBvcG92ZXItdGl0bGUiPjwvaDM+PGRpdiBjbGFzcz0icG9wb3Zlci1jb250ZW50Ij48L2Rpdj48L2Rpdj4nfSksYy5wcm90b3R5cGU9YS5leHRlbmQoe30sYS5mbi50b29sdGlwLkNvbnN0cnVjdG9yLnByb3RvdHlwZSksYy5wcm90b3R5cGUuY29uc3RydWN0b3I9YyxjLnByb3RvdHlwZS5nZXREZWZhdWx0cz1mdW5jdGlvbigpe3JldHVybiBjLkRFRkFVTFRTfSxjLnByb3RvdHlwZS5zZXRDb250ZW50PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50aXAoKSxiPXRoaXMuZ2V0VGl0bGUoKSxjPXRoaXMuZ2V0Q29udGVudCgpO2EuZmluZCgiLnBvcG92ZXItdGl0bGUiKVt0aGlzLm9wdGlvbnMuaHRtbD8iaHRtbCI6InRleHQiXShiKSxhLmZpbmQoIi5wb3BvdmVyLWNvbnRlbnQiKS5jaGlsZHJlbigpLmRldGFjaCgpLmVuZCgpW3RoaXMub3B0aW9ucy5odG1sPyJzdHJpbmciPT10eXBlb2YgYz8iaHRtbCI6ImFwcGVuZCI6InRleHQiXShjKSxhLnJlbW92ZUNsYXNzKCJmYWRlIHRvcCBib3R0b20gbGVmdCByaWdodCBpbiIpLGEuZmluZCgiLnBvcG92ZXItdGl0bGUiKS5odG1sKCl8fGEuZmluZCgiLnBvcG92ZXItdGl0bGUiKS5oaWRlKCl9LGMucHJvdG90eXBlLmhhc0NvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaXRsZSgpfHx0aGlzLmdldENvbnRlbnQoKX0sYy5wcm90b3R5cGUuZ2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQsYj10aGlzLm9wdGlvbnM7cmV0dXJuIGEuYXR0cigiZGF0YS1jb250ZW50Iil8fCgiZnVuY3Rpb24iPT10eXBlb2YgYi5jb250ZW50P2IuY29udGVudC5jYWxsKGFbMF0pOmIuY29udGVudCl9LGMucHJvdG90eXBlLmFycm93PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGFycm93PXRoaXMuJGFycm93fHx0aGlzLnRpcCgpLmZpbmQoIi5hcnJvdyIpfTt2YXIgZD1hLmZuLnBvcG92ZXI7YS5mbi5wb3BvdmVyPWIsYS5mbi5wb3BvdmVyLkNvbnN0cnVjdG9yPWMsYS5mbi5wb3BvdmVyLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5wb3BvdmVyPWQsdGhpc319KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGMsZCl7dGhpcy4kYm9keT1hKGRvY3VtZW50LmJvZHkpLHRoaXMuJHNjcm9sbEVsZW1lbnQ9YShhKGMpLmlzKGRvY3VtZW50LmJvZHkpP3dpbmRvdzpjKSx0aGlzLm9wdGlvbnM9YS5leHRlbmQoe30sYi5ERUZBVUxUUyxkKSx0aGlzLnNlbGVjdG9yPSh0aGlzLm9wdGlvbnMudGFyZ2V0fHwiIikrIiAubmF2IGxpID4gYSIsdGhpcy5vZmZzZXRzPVtdLHRoaXMudGFyZ2V0cz1bXSx0aGlzLmFjdGl2ZVRhcmdldD1udWxsLHRoaXMuc2Nyb2xsSGVpZ2h0PTAsdGhpcy4kc2Nyb2xsRWxlbWVudC5vbigic2Nyb2xsLmJzLnNjcm9sbHNweSIsYS5wcm94eSh0aGlzLnByb2Nlc3MsdGhpcykpLHRoaXMucmVmcmVzaCgpLHRoaXMucHJvY2VzcygpfWZ1bmN0aW9uIGMoYyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLnNjcm9sbHNweSIpLGY9Im9iamVjdCI9PXR5cGVvZiBjJiZjO2V8fGQuZGF0YSgiYnMuc2Nyb2xsc3B5IixlPW5ldyBiKHRoaXMsZikpLCJzdHJpbmciPT10eXBlb2YgYyYmZVtjXSgpfSl9Yi5WRVJTSU9OPSIzLjMuNSIsYi5ERUZBVUxUUz17b2Zmc2V0OjEwfSxiLnByb3RvdHlwZS5nZXRTY3JvbGxIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kc2Nyb2xsRWxlbWVudFswXS5zY3JvbGxIZWlnaHR8fE1hdGgubWF4KHRoaXMuJGJvZHlbMF0uc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpfSxiLnByb3RvdHlwZS5yZWZyZXNoPWZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPSJvZmZzZXQiLGQ9MDt0aGlzLm9mZnNldHM9W10sdGhpcy50YXJnZXRzPVtdLHRoaXMuc2Nyb2xsSGVpZ2h0PXRoaXMuZ2V0U2Nyb2xsSGVpZ2h0KCksYS5pc1dpbmRvdyh0aGlzLiRzY3JvbGxFbGVtZW50WzBdKXx8KGM9InBvc2l0aW9uIixkPXRoaXMuJHNjcm9sbEVsZW1lbnQuc2Nyb2xsVG9wKCkpLHRoaXMuJGJvZHkuZmluZCh0aGlzLnNlbGVjdG9yKS5tYXAoZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpLGU9Yi5kYXRhKCJ0YXJnZXQiKXx8Yi5hdHRyKCJocmVmIiksZj0vXiMuLy50ZXN0KGUpJiZhKGUpO3JldHVybiBmJiZmLmxlbmd0aCYmZi5pcygiOnZpc2libGUiKSYmW1tmW2NdKCkudG9wK2QsZV1dfHxudWxsfSkuc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhWzBdLWJbMF19KS5lYWNoKGZ1bmN0aW9uKCl7Yi5vZmZzZXRzLnB1c2godGhpc1swXSksYi50YXJnZXRzLnB1c2godGhpc1sxXSl9KX0sYi5wcm90b3R5cGUucHJvY2Vzcz1mdW5jdGlvbigpe3ZhciBhLGI9dGhpcy4kc2Nyb2xsRWxlbWVudC5zY3JvbGxUb3AoKSt0aGlzLm9wdGlvbnMub2Zmc2V0LGM9dGhpcy5nZXRTY3JvbGxIZWlnaHQoKSxkPXRoaXMub3B0aW9ucy5vZmZzZXQrYy10aGlzLiRzY3JvbGxFbGVtZW50LmhlaWdodCgpLGU9dGhpcy5vZmZzZXRzLGY9dGhpcy50YXJnZXRzLGc9dGhpcy5hY3RpdmVUYXJnZXQ7aWYodGhpcy5zY3JvbGxIZWlnaHQhPWMmJnRoaXMucmVmcmVzaCgpLGI+PWQpcmV0dXJuIGchPShhPWZbZi5sZW5ndGgtMV0pJiZ0aGlzLmFjdGl2YXRlKGEpO2lmKGcmJmI8ZVswXSlyZXR1cm4gdGhpcy5hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLmNsZWFyKCk7Zm9yKGE9ZS5sZW5ndGg7YS0tOylnIT1mW2FdJiZiPj1lW2FdJiYodm9pZCAwPT09ZVthKzFdfHxiPGVbYSsxXSkmJnRoaXMuYWN0aXZhdGUoZlthXSl9LGIucHJvdG90eXBlLmFjdGl2YXRlPWZ1bmN0aW9uKGIpe3RoaXMuYWN0aXZlVGFyZ2V0PWIsdGhpcy5jbGVhcigpO3ZhciBjPXRoaXMuc2VsZWN0b3IrJ1tkYXRhLXRhcmdldD0iJytiKyciXSwnK3RoaXMuc2VsZWN0b3IrJ1tocmVmPSInK2IrJyJdJyxkPWEoYykucGFyZW50cygibGkiKS5hZGRDbGFzcygiYWN0aXZlIik7ZC5wYXJlbnQoIi5kcm9wZG93bi1tZW51IikubGVuZ3RoJiYoZD1kLmNsb3Nlc3QoImxpLmRyb3Bkb3duIikuYWRkQ2xhc3MoImFjdGl2ZSIpKSwKZC50cmlnZ2VyKCJhY3RpdmF0ZS5icy5zY3JvbGxzcHkiKX0sYi5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXthKHRoaXMuc2VsZWN0b3IpLnBhcmVudHNVbnRpbCh0aGlzLm9wdGlvbnMudGFyZ2V0LCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpfTt2YXIgZD1hLmZuLnNjcm9sbHNweTthLmZuLnNjcm9sbHNweT1jLGEuZm4uc2Nyb2xsc3B5LkNvbnN0cnVjdG9yPWIsYS5mbi5zY3JvbGxzcHkubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLnNjcm9sbHNweT1kLHRoaXN9LGEod2luZG93KS5vbigibG9hZC5icy5zY3JvbGxzcHkuZGF0YS1hcGkiLGZ1bmN0aW9uKCl7YSgnW2RhdGEtc3B5PSJzY3JvbGwiXScpLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpO2MuY2FsbChiLGIuZGF0YSgpKX0pfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy50YWIiKTtlfHxkLmRhdGEoImJzLnRhYiIsZT1uZXcgYyh0aGlzKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCl9KX12YXIgYz1mdW5jdGlvbihiKXt0aGlzLmVsZW1lbnQ9YShiKX07Yy5WRVJTSU9OPSIzLjMuNSIsYy5UUkFOU0lUSU9OX0RVUkFUSU9OPTE1MCxjLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5lbGVtZW50LGM9Yi5jbG9zZXN0KCJ1bDpub3QoLmRyb3Bkb3duLW1lbnUpIiksZD1iLmRhdGEoInRhcmdldCIpO2lmKGR8fChkPWIuYXR0cigiaHJlZiIpLGQ9ZCYmZC5yZXBsYWNlKC8uKig/PSNbXlxzXSokKS8sIiIpKSwhYi5wYXJlbnQoImxpIikuaGFzQ2xhc3MoImFjdGl2ZSIpKXt2YXIgZT1jLmZpbmQoIi5hY3RpdmU6bGFzdCBhIiksZj1hLkV2ZW50KCJoaWRlLmJzLnRhYiIse3JlbGF0ZWRUYXJnZXQ6YlswXX0pLGc9YS5FdmVudCgic2hvdy5icy50YWIiLHtyZWxhdGVkVGFyZ2V0OmVbMF19KTtpZihlLnRyaWdnZXIoZiksYi50cmlnZ2VyKGcpLCFnLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYhZi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIGg9YShkKTt0aGlzLmFjdGl2YXRlKGIuY2xvc2VzdCgibGkiKSxjKSx0aGlzLmFjdGl2YXRlKGgsaC5wYXJlbnQoKSxmdW5jdGlvbigpe2UudHJpZ2dlcih7dHlwZToiaGlkZGVuLmJzLnRhYiIscmVsYXRlZFRhcmdldDpiWzBdfSksYi50cmlnZ2VyKHt0eXBlOiJzaG93bi5icy50YWIiLHJlbGF0ZWRUYXJnZXQ6ZVswXX0pfSl9fX0sYy5wcm90b3R5cGUuYWN0aXZhdGU9ZnVuY3Rpb24oYixkLGUpe2Z1bmN0aW9uIGYoKXtnLnJlbW92ZUNsYXNzKCJhY3RpdmUiKS5maW5kKCI+IC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKS5lbmQoKS5maW5kKCdbZGF0YS10b2dnbGU9InRhYiJdJykuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpLGIuYWRkQ2xhc3MoImFjdGl2ZSIpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0idGFiIl0nKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksaD8oYlswXS5vZmZzZXRXaWR0aCxiLmFkZENsYXNzKCJpbiIpKTpiLnJlbW92ZUNsYXNzKCJmYWRlIiksYi5wYXJlbnQoIi5kcm9wZG93bi1tZW51IikubGVuZ3RoJiZiLmNsb3Nlc3QoImxpLmRyb3Bkb3duIikuYWRkQ2xhc3MoImFjdGl2ZSIpLmVuZCgpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0idGFiIl0nKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksZSYmZSgpfXZhciBnPWQuZmluZCgiPiAuYWN0aXZlIiksaD1lJiZhLnN1cHBvcnQudHJhbnNpdGlvbiYmKGcubGVuZ3RoJiZnLmhhc0NsYXNzKCJmYWRlIil8fCEhZC5maW5kKCI+IC5mYWRlIikubGVuZ3RoKTtnLmxlbmd0aCYmaD9nLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixmKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pOmYoKSxnLnJlbW92ZUNsYXNzKCJpbiIpfTt2YXIgZD1hLmZuLnRhYjthLmZuLnRhYj1iLGEuZm4udGFiLkNvbnN0cnVjdG9yPWMsYS5mbi50YWIubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLnRhYj1kLHRoaXN9O3ZhciBlPWZ1bmN0aW9uKGMpe2MucHJldmVudERlZmF1bHQoKSxiLmNhbGwoYSh0aGlzKSwic2hvdyIpfTthKGRvY3VtZW50KS5vbigiY2xpY2suYnMudGFiLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJ0YWIiXScsZSkub24oImNsaWNrLmJzLnRhYi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0icGlsbCJdJyxlKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLmFmZml4IiksZj0ib2JqZWN0Ij09dHlwZW9mIGImJmI7ZXx8ZC5kYXRhKCJicy5hZmZpeCIsZT1uZXcgYyh0aGlzLGYpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0oKX0pfXZhciBjPWZ1bmN0aW9uKGIsZCl7dGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZCksdGhpcy4kdGFyZ2V0PWEodGhpcy5vcHRpb25zLnRhcmdldCkub24oInNjcm9sbC5icy5hZmZpeC5kYXRhLWFwaSIsYS5wcm94eSh0aGlzLmNoZWNrUG9zaXRpb24sdGhpcykpLm9uKCJjbGljay5icy5hZmZpeC5kYXRhLWFwaSIsYS5wcm94eSh0aGlzLmNoZWNrUG9zaXRpb25XaXRoRXZlbnRMb29wLHRoaXMpKSx0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5hZmZpeGVkPW51bGwsdGhpcy51bnBpbj1udWxsLHRoaXMucGlubmVkT2Zmc2V0PW51bGwsdGhpcy5jaGVja1Bvc2l0aW9uKCl9O2MuVkVSU0lPTj0iMy4zLjUiLGMuUkVTRVQ9ImFmZml4IGFmZml4LXRvcCBhZmZpeC1ib3R0b20iLGMuREVGQVVMVFM9e29mZnNldDowLHRhcmdldDp3aW5kb3d9LGMucHJvdG90eXBlLmdldFN0YXRlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRoaXMuJHRhcmdldC5zY3JvbGxUb3AoKSxmPXRoaXMuJGVsZW1lbnQub2Zmc2V0KCksZz10aGlzLiR0YXJnZXQuaGVpZ2h0KCk7aWYobnVsbCE9YyYmInRvcCI9PXRoaXMuYWZmaXhlZClyZXR1cm4gYz5lPyJ0b3AiOiExO2lmKCJib3R0b20iPT10aGlzLmFmZml4ZWQpcmV0dXJuIG51bGwhPWM/ZSt0aGlzLnVucGluPD1mLnRvcD8hMToiYm90dG9tIjphLWQ+PWUrZz8hMToiYm90dG9tIjt2YXIgaD1udWxsPT10aGlzLmFmZml4ZWQsaT1oP2U6Zi50b3Asaj1oP2c6YjtyZXR1cm4gbnVsbCE9YyYmYz49ZT8idG9wIjpudWxsIT1kJiZpK2o+PWEtZD8iYm90dG9tIjohMX0sYy5wcm90b3R5cGUuZ2V0UGlubmVkT2Zmc2V0PWZ1bmN0aW9uKCl7aWYodGhpcy5waW5uZWRPZmZzZXQpcmV0dXJuIHRoaXMucGlubmVkT2Zmc2V0O3RoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoYy5SRVNFVCkuYWRkQ2xhc3MoImFmZml4Iik7dmFyIGE9dGhpcy4kdGFyZ2V0LnNjcm9sbFRvcCgpLGI9dGhpcy4kZWxlbWVudC5vZmZzZXQoKTtyZXR1cm4gdGhpcy5waW5uZWRPZmZzZXQ9Yi50b3AtYX0sYy5wcm90b3R5cGUuY2hlY2tQb3NpdGlvbldpdGhFdmVudExvb3A9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGEucHJveHkodGhpcy5jaGVja1Bvc2l0aW9uLHRoaXMpLDEpfSxjLnByb3RvdHlwZS5jaGVja1Bvc2l0aW9uPWZ1bmN0aW9uKCl7aWYodGhpcy4kZWxlbWVudC5pcygiOnZpc2libGUiKSl7dmFyIGI9dGhpcy4kZWxlbWVudC5oZWlnaHQoKSxkPXRoaXMub3B0aW9ucy5vZmZzZXQsZT1kLnRvcCxmPWQuYm90dG9tLGc9TWF0aC5tYXgoYShkb2N1bWVudCkuaGVpZ2h0KCksYShkb2N1bWVudC5ib2R5KS5oZWlnaHQoKSk7Im9iamVjdCIhPXR5cGVvZiBkJiYoZj1lPWQpLCJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1kLnRvcCh0aGlzLiRlbGVtZW50KSksImZ1bmN0aW9uIj09dHlwZW9mIGYmJihmPWQuYm90dG9tKHRoaXMuJGVsZW1lbnQpKTt2YXIgaD10aGlzLmdldFN0YXRlKGcsYixlLGYpO2lmKHRoaXMuYWZmaXhlZCE9aCl7bnVsbCE9dGhpcy51bnBpbiYmdGhpcy4kZWxlbWVudC5jc3MoInRvcCIsIiIpO3ZhciBpPSJhZmZpeCIrKGg/Ii0iK2g6IiIpLGo9YS5FdmVudChpKyIuYnMuYWZmaXgiKTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoaiksai5pc0RlZmF1bHRQcmV2ZW50ZWQoKSlyZXR1cm47dGhpcy5hZmZpeGVkPWgsdGhpcy51bnBpbj0iYm90dG9tIj09aD90aGlzLmdldFBpbm5lZE9mZnNldCgpOm51bGwsdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyhjLlJFU0VUKS5hZGRDbGFzcyhpKS50cmlnZ2VyKGkucmVwbGFjZSgiYWZmaXgiLCJhZmZpeGVkIikrIi5icy5hZmZpeCIpfSJib3R0b20iPT1oJiZ0aGlzLiRlbGVtZW50Lm9mZnNldCh7dG9wOmctYi1mfSl9fTt2YXIgZD1hLmZuLmFmZml4O2EuZm4uYWZmaXg9YixhLmZuLmFmZml4LkNvbnN0cnVjdG9yPWMsYS5mbi5hZmZpeC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYWZmaXg9ZCx0aGlzfSxhKHdpbmRvdykub24oImxvYWQiLGZ1bmN0aW9uKCl7YSgnW2RhdGEtc3B5PSJhZmZpeCJdJykuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyksZD1jLmRhdGEoKTtkLm9mZnNldD1kLm9mZnNldHx8e30sbnVsbCE9ZC5vZmZzZXRCb3R0b20mJihkLm9mZnNldC5ib3R0b209ZC5vZmZzZXRCb3R0b20pLG51bGwhPWQub2Zmc2V0VG9wJiYoZC5vZmZzZXQudG9wPWQub2Zmc2V0VG9wKSxiLmNhbGwoYyxkKX0pfSl9KGpRdWVyeSk7&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,LyoqCiogQHByZXNlcnZlIEhUTUw1IFNoaXYgMy43LjIgfCBAYWZhcmthcyBAamRhbHRvbiBAam9uX25lYWwgQHJlbSB8IE1JVC9HUEwyIExpY2Vuc2VkCiovCi8vIE9ubHkgcnVuIHRoaXMgY29kZSBpbiBJRSA4CmlmICghIXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKCJNU0lFIDgiKSkgewohZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEsYil7dmFyIGM9YS5jcmVhdGVFbGVtZW50KCJwIiksZD1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGEuZG9jdW1lbnRFbGVtZW50O3JldHVybiBjLmlubmVySFRNTD0ieDxzdHlsZT4iK2IrIjwvc3R5bGU+IixkLmluc2VydEJlZm9yZShjLmxhc3RDaGlsZCxkLmZpcnN0Q2hpbGQpfWZ1bmN0aW9uIGQoKXt2YXIgYT10LmVsZW1lbnRzO3JldHVybiJzdHJpbmciPT10eXBlb2YgYT9hLnNwbGl0KCIgIik6YX1mdW5jdGlvbiBlKGEsYil7dmFyIGM9dC5lbGVtZW50czsic3RyaW5nIiE9dHlwZW9mIGMmJihjPWMuam9pbigiICIpKSwic3RyaW5nIiE9dHlwZW9mIGEmJihhPWEuam9pbigiICIpKSx0LmVsZW1lbnRzPWMrIiAiK2EsaihiKX1mdW5jdGlvbiBmKGEpe3ZhciBiPXNbYVtxXV07cmV0dXJuIGJ8fChiPXt9LHIrKyxhW3FdPXIsc1tyXT1iKSxifWZ1bmN0aW9uIGcoYSxjLGQpe2lmKGN8fChjPWIpLGwpcmV0dXJuIGMuY3JlYXRlRWxlbWVudChhKTtkfHwoZD1mKGMpKTt2YXIgZTtyZXR1cm4gZT1kLmNhY2hlW2FdP2QuY2FjaGVbYV0uY2xvbmVOb2RlKCk6cC50ZXN0KGEpPyhkLmNhY2hlW2FdPWQuY3JlYXRlRWxlbShhKSkuY2xvbmVOb2RlKCk6ZC5jcmVhdGVFbGVtKGEpLCFlLmNhbkhhdmVDaGlsZHJlbnx8by50ZXN0KGEpfHxlLnRhZ1Vybj9lOmQuZnJhZy5hcHBlbmRDaGlsZChlKX1mdW5jdGlvbiBoKGEsYyl7aWYoYXx8KGE9YiksbClyZXR1cm4gYS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Yz1jfHxmKGEpO2Zvcih2YXIgZT1jLmZyYWcuY2xvbmVOb2RlKCksZz0wLGg9ZCgpLGk9aC5sZW5ndGg7aT5nO2crKyllLmNyZWF0ZUVsZW1lbnQoaFtnXSk7cmV0dXJuIGV9ZnVuY3Rpb24gaShhLGIpe2IuY2FjaGV8fChiLmNhY2hlPXt9LGIuY3JlYXRlRWxlbT1hLmNyZWF0ZUVsZW1lbnQsYi5jcmVhdGVGcmFnPWEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCxiLmZyYWc9Yi5jcmVhdGVGcmFnKCkpLGEuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihjKXtyZXR1cm4gdC5zaGl2TWV0aG9kcz9nKGMsYSxiKTpiLmNyZWF0ZUVsZW0oYyl9LGEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudD1GdW5jdGlvbigiaCxmIiwicmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49Zi5jbG9uZU5vZGUoKSxjPW4uY3JlYXRlRWxlbWVudDtoLnNoaXZNZXRob2RzJiYoIitkKCkuam9pbigpLnJlcGxhY2UoL1tcd1wtOl0rL2csZnVuY3Rpb24oYSl7cmV0dXJuIGIuY3JlYXRlRWxlbShhKSxiLmZyYWcuY3JlYXRlRWxlbWVudChhKSwnYygiJythKyciKSd9KSsiKTtyZXR1cm4gbn0iKSh0LGIuZnJhZyl9ZnVuY3Rpb24gaihhKXthfHwoYT1iKTt2YXIgZD1mKGEpO3JldHVybiF0LnNoaXZDU1N8fGt8fGQuaGFzQ1NTfHwoZC5oYXNDU1M9ISFjKGEsImFydGljbGUsYXNpZGUsZGlhbG9nLGZpZ2NhcHRpb24sZmlndXJlLGZvb3RlcixoZWFkZXIsaGdyb3VwLG1haW4sbmF2LHNlY3Rpb257ZGlzcGxheTpibG9ja31tYXJre2JhY2tncm91bmQ6I0ZGMDtjb2xvcjojMDAwfXRlbXBsYXRle2Rpc3BsYXk6bm9uZX0iKSksbHx8aShhLGQpLGF9dmFyIGssbCxtPSIzLjcuMiIsbj1hLmh0bWw1fHx7fSxvPS9ePHxeKD86YnV0dG9ufG1hcHxzZWxlY3R8dGV4dGFyZWF8b2JqZWN0fGlmcmFtZXxvcHRpb258b3B0Z3JvdXApJC9pLHA9L14oPzphfGJ8Y29kZXxkaXZ8ZmllbGRzZXR8aDF8aDJ8aDN8aDR8aDV8aDZ8aXxsYWJlbHxsaXxvbHxwfHF8c3BhbnxzdHJvbmd8c3R5bGV8dGFibGV8dGJvZHl8dGR8dGh8dHJ8dWwpJC9pLHE9Il9odG1sNXNoaXYiLHI9MCxzPXt9OyFmdW5jdGlvbigpe3RyeXt2YXIgYT1iLmNyZWF0ZUVsZW1lbnQoImEiKTthLmlubmVySFRNTD0iPHh5ej48L3h5ej4iLGs9ImhpZGRlbiJpbiBhLGw9MT09YS5jaGlsZE5vZGVzLmxlbmd0aHx8ZnVuY3Rpb24oKXtiLmNyZWF0ZUVsZW1lbnQoImEiKTt2YXIgYT1iLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIGEuY2xvbmVOb2RlfHwidW5kZWZpbmVkIj09dHlwZW9mIGEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudHx8InVuZGVmaW5lZCI9PXR5cGVvZiBhLmNyZWF0ZUVsZW1lbnR9KCl9Y2F0Y2goYyl7az0hMCxsPSEwfX0oKTt2YXIgdD17ZWxlbWVudHM6bi5lbGVtZW50c3x8ImFiYnIgYXJ0aWNsZSBhc2lkZSBhdWRpbyBiZGkgY2FudmFzIGRhdGEgZGF0YWxpc3QgZGV0YWlscyBkaWFsb2cgZmlnY2FwdGlvbiBmaWd1cmUgZm9vdGVyIGhlYWRlciBoZ3JvdXAgbWFpbiBtYXJrIG1ldGVyIG5hdiBvdXRwdXQgcGljdHVyZSBwcm9ncmVzcyBzZWN0aW9uIHN1bW1hcnkgdGVtcGxhdGUgdGltZSB2aWRlbyIsdmVyc2lvbjptLHNoaXZDU1M6bi5zaGl2Q1NTIT09ITEsc3VwcG9ydHNVbmtub3duRWxlbWVudHM6bCxzaGl2TWV0aG9kczpuLnNoaXZNZXRob2RzIT09ITEsdHlwZToiZGVmYXVsdCIsc2hpdkRvY3VtZW50OmosY3JlYXRlRWxlbWVudDpnLGNyZWF0ZURvY3VtZW50RnJhZ21lbnQ6aCxhZGRFbGVtZW50czplfTthLmh0bWw1PXQsaihiKX0odGhpcyxkb2N1bWVudCk7Cn07Cg==&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,LyohIFJlc3BvbmQuanMgdjEuNC4yOiBtaW4vbWF4LXdpZHRoIG1lZGlhIHF1ZXJ5IHBvbHlmaWxsICogQ29weXJpZ2h0IDIwMTMgU2NvdHQgSmVobAogKiBMaWNlbnNlZCB1bmRlciBodHRwczovL2dpdGh1Yi5jb20vc2NvdHRqZWhsL1Jlc3BvbmQvYmxvYi9tYXN0ZXIvTElDRU5TRS1NSVQKICogICovCgovLyBPbmx5IHJ1biB0aGlzIGNvZGUgaW4gSUUgOAppZiAoISF3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgiTVNJRSA4IikpIHsKIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjthLm1hdGNoTWVkaWE9YS5tYXRjaE1lZGlhfHxmdW5jdGlvbihhKXt2YXIgYixjPWEuZG9jdW1lbnRFbGVtZW50LGQ9Yy5maXJzdEVsZW1lbnRDaGlsZHx8Yy5maXJzdENoaWxkLGU9YS5jcmVhdGVFbGVtZW50KCJib2R5IiksZj1hLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBmLmlkPSJtcS10ZXN0LTEiLGYuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7dG9wOi0xMDBlbSIsZS5zdHlsZS5iYWNrZ3JvdW5kPSJub25lIixlLmFwcGVuZENoaWxkKGYpLGZ1bmN0aW9uKGEpe3JldHVybiBmLmlubmVySFRNTD0nJnNoeTs8c3R5bGUgbWVkaWE9IicrYSsnIj4gI21xLXRlc3QtMSB7IHdpZHRoOiA0MnB4OyB9PC9zdHlsZT4nLGMuaW5zZXJ0QmVmb3JlKGUsZCksYj00Mj09PWYub2Zmc2V0V2lkdGgsYy5yZW1vdmVDaGlsZChlKSx7bWF0Y2hlczpiLG1lZGlhOmF9fX0oYS5kb2N1bWVudCl9KHRoaXMpLGZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKCl7dSghMCl9dmFyIGM9e307YS5yZXNwb25kPWMsYy51cGRhdGU9ZnVuY3Rpb24oKXt9O3ZhciBkPVtdLGU9ZnVuY3Rpb24oKXt2YXIgYj0hMTt0cnl7Yj1uZXcgYS5YTUxIdHRwUmVxdWVzdH1jYXRjaChjKXtiPW5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGJ9fSgpLGY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1lKCk7YyYmKGMub3BlbigiR0VUIixhLCEwKSxjLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQhPT1jLnJlYWR5U3RhdGV8fDIwMCE9PWMuc3RhdHVzJiYzMDQhPT1jLnN0YXR1c3x8YihjLnJlc3BvbnNlVGV4dCl9LDQhPT1jLnJlYWR5U3RhdGUmJmMuc2VuZChudWxsKSl9O2lmKGMuYWpheD1mLGMucXVldWU9ZCxjLnJlZ2V4PXttZWRpYTovQG1lZGlhW15ce10rXHsoW15ce1x9XSpce1teXH1ce10qXH0pKy9naSxrZXlmcmFtZXM6L0AoPzpcLSg/Om98bW96fHdlYmtpdClcLSk/a2V5ZnJhbWVzW15ce10rXHsoPzpbXlx7XH1dKlx7W15cfVx7XSpcfSkrW15cfV0qXH0vZ2ksdXJsczovKHVybFwoKVsnIl0/KFteXC9cKSciXVteOlwpJyJdKylbJyJdPyhcKSkvZyxmaW5kU3R5bGVzOi9AbWVkaWEgKihbXlx7XSspXHsoW1xTXHNdKz8pJC8sb25seTovKG9ubHlccyspPyhbYS16QS1aXSspXHM/LyxtaW53Oi9cKFtcc10qbWluXC13aWR0aFxzKjpbXHNdKihbXHNdKlswLTlcLl0rKShweHxlbSlbXHNdKlwpLyxtYXh3Oi9cKFtcc10qbWF4XC13aWR0aFxzKjpbXHNdKihbXHNdKlswLTlcLl0rKShweHxlbSlbXHNdKlwpL30sYy5tZWRpYVF1ZXJpZXNTdXBwb3J0ZWQ9YS5tYXRjaE1lZGlhJiZudWxsIT09YS5tYXRjaE1lZGlhKCJvbmx5IGFsbCIpJiZhLm1hdGNoTWVkaWEoIm9ubHkgYWxsIikubWF0Y2hlcywhYy5tZWRpYVF1ZXJpZXNTdXBwb3J0ZWQpe3ZhciBnLGgsaSxqPWEuZG9jdW1lbnQsaz1qLmRvY3VtZW50RWxlbWVudCxsPVtdLG09W10sbj1bXSxvPXt9LHA9MzAscT1qLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18fGsscj1qLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJiYXNlIilbMF0scz1xLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksdD1mdW5jdGlvbigpe3ZhciBhLGI9ai5jcmVhdGVFbGVtZW50KCJkaXYiKSxjPWouYm9keSxkPWsuc3R5bGUuZm9udFNpemUsZT1jJiZjLnN0eWxlLmZvbnRTaXplLGY9ITE7cmV0dXJuIGIuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Zm9udC1zaXplOjFlbTt3aWR0aDoxZW0iLGN8fChjPWY9ai5jcmVhdGVFbGVtZW50KCJib2R5IiksYy5zdHlsZS5iYWNrZ3JvdW5kPSJub25lIiksay5zdHlsZS5mb250U2l6ZT0iMTAwJSIsYy5zdHlsZS5mb250U2l6ZT0iMTAwJSIsYy5hcHBlbmRDaGlsZChiKSxmJiZrLmluc2VydEJlZm9yZShjLGsuZmlyc3RDaGlsZCksYT1iLm9mZnNldFdpZHRoLGY/ay5yZW1vdmVDaGlsZChjKTpjLnJlbW92ZUNoaWxkKGIpLGsuc3R5bGUuZm9udFNpemU9ZCxlJiYoYy5zdHlsZS5mb250U2l6ZT1lKSxhPWk9cGFyc2VGbG9hdChhKX0sdT1mdW5jdGlvbihiKXt2YXIgYz0iY2xpZW50V2lkdGgiLGQ9a1tjXSxlPSJDU1MxQ29tcGF0Ij09PWouY29tcGF0TW9kZSYmZHx8ai5ib2R5W2NdfHxkLGY9e30sbz1zW3MubGVuZ3RoLTFdLHI9KG5ldyBEYXRlKS5nZXRUaW1lKCk7aWYoYiYmZyYmcD5yLWcpcmV0dXJuIGEuY2xlYXJUaW1lb3V0KGgpLGg9YS5zZXRUaW1lb3V0KHUscCksdm9pZCAwO2c9cjtmb3IodmFyIHYgaW4gbClpZihsLmhhc093blByb3BlcnR5KHYpKXt2YXIgdz1sW3ZdLHg9dy5taW53LHk9dy5tYXh3LHo9bnVsbD09PXgsQT1udWxsPT09eSxCPSJlbSI7eCYmKHg9cGFyc2VGbG9hdCh4KSooeC5pbmRleE9mKEIpPi0xP2l8fHQoKToxKSkseSYmKHk9cGFyc2VGbG9hdCh5KSooeS5pbmRleE9mKEIpPi0xP2l8fHQoKToxKSksdy5oYXNxdWVyeSYmKHomJkF8fCEoenx8ZT49eCl8fCEoQXx8eT49ZSkpfHwoZlt3Lm1lZGlhXXx8KGZbdy5tZWRpYV09W10pLGZbdy5tZWRpYV0ucHVzaChtW3cucnVsZXNdKSl9Zm9yKHZhciBDIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShDKSYmbltDXSYmbltDXS5wYXJlbnROb2RlPT09cSYmcS5yZW1vdmVDaGlsZChuW0NdKTtuLmxlbmd0aD0wO2Zvcih2YXIgRCBpbiBmKWlmKGYuaGFzT3duUHJvcGVydHkoRCkpe3ZhciBFPWouY3JlYXRlRWxlbWVudCgic3R5bGUiKSxGPWZbRF0uam9pbigiXG4iKTtFLnR5cGU9InRleHQvY3NzIixFLm1lZGlhPUQscS5pbnNlcnRCZWZvcmUoRSxvLm5leHRTaWJsaW5nKSxFLnN0eWxlU2hlZXQ/RS5zdHlsZVNoZWV0LmNzc1RleHQ9RjpFLmFwcGVuZENoaWxkKGouY3JlYXRlVGV4dE5vZGUoRikpLG4ucHVzaChFKX19LHY9ZnVuY3Rpb24oYSxiLGQpe3ZhciBlPWEucmVwbGFjZShjLnJlZ2V4LmtleWZyYW1lcywiIikubWF0Y2goYy5yZWdleC5tZWRpYSksZj1lJiZlLmxlbmd0aHx8MDtiPWIuc3Vic3RyaW5nKDAsYi5sYXN0SW5kZXhPZigiLyIpKTt2YXIgZz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKGMucmVnZXgudXJscywiJDEiK2IrIiQyJDMiKX0saD0hZiYmZDtiLmxlbmd0aCYmKGIrPSIvIiksaCYmKGY9MSk7Zm9yKHZhciBpPTA7Zj5pO2krKyl7dmFyIGosayxuLG87aD8oaj1kLG0ucHVzaChnKGEpKSk6KGo9ZVtpXS5tYXRjaChjLnJlZ2V4LmZpbmRTdHlsZXMpJiZSZWdFeHAuJDEsbS5wdXNoKFJlZ0V4cC4kMiYmZyhSZWdFeHAuJDIpKSksbj1qLnNwbGl0KCIsIiksbz1uLmxlbmd0aDtmb3IodmFyIHA9MDtvPnA7cCsrKWs9bltwXSxsLnB1c2goe21lZGlhOmsuc3BsaXQoIigiKVswXS5tYXRjaChjLnJlZ2V4Lm9ubHkpJiZSZWdFeHAuJDJ8fCJhbGwiLHJ1bGVzOm0ubGVuZ3RoLTEsaGFzcXVlcnk6ay5pbmRleE9mKCIoIik+LTEsbWludzprLm1hdGNoKGMucmVnZXgubWludykmJnBhcnNlRmxvYXQoUmVnRXhwLiQxKSsoUmVnRXhwLiQyfHwiIiksbWF4dzprLm1hdGNoKGMucmVnZXgubWF4dykmJnBhcnNlRmxvYXQoUmVnRXhwLiQxKSsoUmVnRXhwLiQyfHwiIil9KX11KCl9LHc9ZnVuY3Rpb24oKXtpZihkLmxlbmd0aCl7dmFyIGI9ZC5zaGlmdCgpO2YoYi5ocmVmLGZ1bmN0aW9uKGMpe3YoYyxiLmhyZWYsYi5tZWRpYSksb1tiLmhyZWZdPSEwLGEuc2V0VGltZW91dChmdW5jdGlvbigpe3coKX0sMCl9KX19LHg9ZnVuY3Rpb24oKXtmb3IodmFyIGI9MDtiPHMubGVuZ3RoO2IrKyl7dmFyIGM9c1tiXSxlPWMuaHJlZixmPWMubWVkaWEsZz1jLnJlbCYmInN0eWxlc2hlZXQiPT09Yy5yZWwudG9Mb3dlckNhc2UoKTtlJiZnJiYhb1tlXSYmKGMuc3R5bGVTaGVldCYmYy5zdHlsZVNoZWV0LnJhd0Nzc1RleHQ/KHYoYy5zdHlsZVNoZWV0LnJhd0Nzc1RleHQsZSxmKSxvW2VdPSEwKTooIS9eKFthLXpBLVo6XSpcL1wvKS8udGVzdChlKSYmIXJ8fGUucmVwbGFjZShSZWdFeHAuJDEsIiIpLnNwbGl0KCIvIilbMF09PT1hLmxvY2F0aW9uLmhvc3QpJiYoIi8vIj09PWUuc3Vic3RyaW5nKDAsMikmJihlPWEubG9jYXRpb24ucHJvdG9jb2wrZSksZC5wdXNoKHtocmVmOmUsbWVkaWE6Zn0pKSl9dygpfTt4KCksYy51cGRhdGU9eCxjLmdldEVtVmFsdWU9dCxhLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGIsITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9ucmVzaXplIixiKX19KHRoaXMpOwp9Owo=&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,CgovKioKICogalF1ZXJ5IFBsdWdpbjogU3RpY2t5IFRhYnMKICoKICogQGF1dGhvciBBaWRhbiBMaXN0ZXIgPGFpZGFuQHBocC5uZXQ+CiAqIGFkYXB0ZWQgYnkgUnViZW4gQXJzbGFuIHRvIGFjdGl2YXRlIHBhcmVudCB0YWJzIHRvbwogKiBodHRwOi8vd3d3LmFpZGFubGlzdGVyLmNvbS8yMDE0LzAzL3BlcnNpc3RpbmctdGhlLXRhYi1zdGF0ZS1pbi1ib290c3RyYXAvCiAqLwooZnVuY3Rpb24oJCkgewogICJ1c2Ugc3RyaWN0IjsKICAkLmZuLnJtYXJrZG93blN0aWNreVRhYnMgPSBmdW5jdGlvbigpIHsKICAgIHZhciBjb250ZXh0ID0gdGhpczsKICAgIC8vIFNob3cgdGhlIHRhYiBjb3JyZXNwb25kaW5nIHdpdGggdGhlIGhhc2ggaW4gdGhlIFVSTCwgb3IgdGhlIGZpcnN0IHRhYgogICAgdmFyIHNob3dTdHVmZkZyb21IYXNoID0gZnVuY3Rpb24oKSB7CiAgICAgIHZhciBoYXNoID0gd2luZG93LmxvY2F0aW9uLmhhc2g7CiAgICAgIHZhciBzZWxlY3RvciA9IGhhc2ggPyAnYVtocmVmPSInICsgaGFzaCArICciXScgOiAnbGkuYWN0aXZlID4gYSc7CiAgICAgIHZhciAkc2VsZWN0b3IgPSAkKHNlbGVjdG9yLCBjb250ZXh0KTsKICAgICAgaWYoJHNlbGVjdG9yLmRhdGEoJ3RvZ2dsZScpID09PSAidGFiIikgewogICAgICAgICRzZWxlY3Rvci50YWIoJ3Nob3cnKTsKICAgICAgICAvLyB3YWxrIHVwIHRoZSBhbmNlc3RvcnMgb2YgdGhpcyBlbGVtZW50LCBzaG93IGFueSBoaWRkZW4gdGFicwogICAgICAgICRzZWxlY3Rvci5wYXJlbnRzKCcuc2VjdGlvbi50YWJzZXQnKS5lYWNoKGZ1bmN0aW9uKGksIGVsbSkgewogICAgICAgICAgdmFyIGxpbmsgPSAkKCdhW2hyZWY9IiMnICsgJChlbG0pLmF0dHIoJ2lkJykgKyAnIl0nKTsKICAgICAgICAgIGlmKGxpbmsuZGF0YSgndG9nZ2xlJykgPT09ICJ0YWIiKSB7CiAgICAgICAgICAgIGxpbmsudGFiKCJzaG93Iik7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH07CgoKICAgIC8vIFNldCB0aGUgY29ycmVjdCB0YWIgd2hlbiB0aGUgcGFnZSBsb2FkcwogICAgc2hvd1N0dWZmRnJvbUhhc2goY29udGV4dCk7CgogICAgLy8gU2V0IHRoZSBjb3JyZWN0IHRhYiB3aGVuIGEgdXNlciB1c2VzIHRoZWlyIGJhY2svZm9yd2FyZCBidXR0b24KICAgICQod2luZG93KS5vbignaGFzaGNoYW5nZScsIGZ1bmN0aW9uKCkgewogICAgICBzaG93U3R1ZmZGcm9tSGFzaChjb250ZXh0KTsKICAgIH0pOwoKICAgIC8vIENoYW5nZSB0aGUgVVJMIHdoZW4gdGFicyBhcmUgY2xpY2tlZAogICAgJCgnYScsIGNvbnRleHQpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgaGlzdG9yeS5wdXNoU3RhdGUobnVsbCwgbnVsbCwgdGhpcy5ocmVmKTsKICAgICAgc2hvd1N0dWZmRnJvbUhhc2goY29udGV4dCk7CiAgICB9KTsKCiAgICByZXR1cm4gdGhpczsKICB9Owp9KGpRdWVyeSkpOwoKd2luZG93LmJ1aWxkVGFic2V0cyA9IGZ1bmN0aW9uKHRvY0lEKSB7CgogIC8vIGJ1aWxkIGEgdGFic2V0IGZyb20gYSBzZWN0aW9uIGRpdiB3aXRoIHRoZSAudGFic2V0IGNsYXNzCiAgZnVuY3Rpb24gYnVpbGRUYWJzZXQodGFic2V0KSB7CgogICAgLy8gY2hlY2sgZm9yIGZhZGUgYW5kIHBpbGxzIG9wdGlvbnMKICAgIHZhciBmYWRlID0gdGFic2V0Lmhhc0NsYXNzKCJ0YWJzZXQtZmFkZSIpOwogICAgdmFyIHBpbGxzID0gdGFic2V0Lmhhc0NsYXNzKCJ0YWJzZXQtcGlsbHMiKTsKICAgIHZhciBuYXZDbGFzcyA9IHBpbGxzID8gIm5hdi1waWxscyIgOiAibmF2LXRhYnMiOwoKICAgIC8vIGRldGVybWluZSB0aGUgaGVhZGluZyBsZXZlbCBvZiB0aGUgdGFic2V0IGFuZCB0YWJzCiAgICB2YXIgbWF0Y2ggPSB0YWJzZXQuYXR0cignY2xhc3MnKS5tYXRjaCgvbGV2ZWwoXGQpIC8pOwogICAgaWYgKG1hdGNoID09PSBudWxsKQogICAgICByZXR1cm47CiAgICB2YXIgdGFic2V0TGV2ZWwgPSBOdW1iZXIobWF0Y2hbMV0pOwogICAgdmFyIHRhYkxldmVsID0gdGFic2V0TGV2ZWwgKyAxOwoKICAgIC8vIGZpbmQgYWxsIHN1YmhlYWRpbmdzIGltbWVkaWF0ZWx5IGJlbG93CiAgICB2YXIgdGFicyA9IHRhYnNldC5maW5kKCJkaXYuc2VjdGlvbi5sZXZlbCIgKyB0YWJMZXZlbCk7CiAgICBpZiAoIXRhYnMubGVuZ3RoKQogICAgICByZXR1cm47CgogICAgLy8gY3JlYXRlIHRhYmxpc3QgYW5kIHRhYi1jb250ZW50IGVsZW1lbnRzCiAgICB2YXIgdGFiTGlzdCA9ICQoJzx1bCBjbGFzcz0ibmF2ICcgKyBuYXZDbGFzcyArICciIHJvbGU9InRhYmxpc3QiPjwvdWw+Jyk7CiAgICAkKHRhYnNbMF0pLmJlZm9yZSh0YWJMaXN0KTsKICAgIHZhciB0YWJDb250ZW50ID0gJCgnPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPjwvZGl2PicpOwogICAgJCh0YWJzWzBdKS5iZWZvcmUodGFiQ29udGVudCk7CgogICAgLy8gYnVpbGQgdGhlIHRhYnNldAogICAgdmFyIGFjdGl2ZVRhYiA9IDA7CiAgICB0YWJzLmVhY2goZnVuY3Rpb24oaSkgewoKICAgICAgLy8gZ2V0IHRoZSB0YWIgZGl2CiAgICAgIHZhciB0YWIgPSAkKHRhYnNbaV0pOwoKICAgICAgLy8gZ2V0IHRoZSBpZCB0aGVuIHNhbml0aXplIGl0IGZvciB1c2Ugd2l0aCBib290c3RyYXAgdGFicwogICAgICB2YXIgaWQgPSB0YWIuYXR0cignaWQnKTsKCiAgICAgIC8vIHNlZSBpZiB0aGlzIGlzIG1hcmtlZCBhcyB0aGUgYWN0aXZlIHRhYgogICAgICBpZiAodGFiLmhhc0NsYXNzKCdhY3RpdmUnKSkKICAgICAgICBhY3RpdmVUYWIgPSBpOwoKICAgICAgLy8gcmVtb3ZlIGFueSB0YWJsZSBvZiBjb250ZW50cyBlbnRyaWVzIGFzc29jaWF0ZWQgd2l0aAogICAgICAvLyB0aGlzIElEIChzaW5jZSB3ZSdsbCBiZSByZW1vdmluZyB0aGUgaGVhZGluZyBlbGVtZW50KQogICAgICAkKCJkaXYjIiArIHRvY0lEICsgIiBsaSBhW2hyZWY9JyMiICsgaWQgKyAiJ10iKS5wYXJlbnQoKS5yZW1vdmUoKTsKCiAgICAgIC8vIHNhbml0aXplIHRoZSBpZCBmb3IgdXNlIHdpdGggYm9vdHN0cmFwIHRhYnMKICAgICAgaWQgPSBpZC5yZXBsYWNlKC9bLlwvPyYhIzw+XS9nLCAnJykucmVwbGFjZSgvXHMvZywgJ18nKTsKICAgICAgdGFiLmF0dHIoJ2lkJywgaWQpOwoKICAgICAgLy8gZ2V0IHRoZSBoZWFkaW5nIGVsZW1lbnQgd2l0aGluIGl0LCBncmFiIGl0J3MgdGV4dCwgdGhlbiByZW1vdmUgaXQKICAgICAgdmFyIGhlYWRpbmcgPSB0YWIuZmluZCgnaCcgKyB0YWJMZXZlbCArICc6Zmlyc3QnKTsKICAgICAgdmFyIGhlYWRpbmdUZXh0ID0gaGVhZGluZy5odG1sKCk7CiAgICAgIGhlYWRpbmcucmVtb3ZlKCk7CgogICAgICAvLyBidWlsZCBhbmQgYXBwZW5kIHRoZSB0YWIgbGlzdCBpdGVtCiAgICAgIHZhciBhID0gJCgnPGEgcm9sZT0idGFiIiBkYXRhLXRvZ2dsZT0idGFiIj4nICsgaGVhZGluZ1RleHQgKyAnPC9hPicpOwogICAgICBhLmF0dHIoJ2hyZWYnLCAnIycgKyBpZCk7CiAgICAgIGEuYXR0cignYXJpYS1jb250cm9scycsIGlkKTsKICAgICAgdmFyIGxpID0gJCgnPGxpIHJvbGU9InByZXNlbnRhdGlvbiI+PC9saT4nKTsKICAgICAgbGkuYXBwZW5kKGEpOwogICAgICB0YWJMaXN0LmFwcGVuZChsaSk7CgogICAgICAvLyBzZXQgaXQncyBhdHRyaWJ1dGVzCiAgICAgIHRhYi5hdHRyKCdyb2xlJywgJ3RhYnBhbmVsJyk7CiAgICAgIHRhYi5hZGRDbGFzcygndGFiLXBhbmUnKTsKICAgICAgdGFiLmFkZENsYXNzKCd0YWJiZWQtcGFuZScpOwogICAgICBpZiAoZmFkZSkKICAgICAgICB0YWIuYWRkQ2xhc3MoJ2ZhZGUnKTsKCiAgICAgIC8vIG1vdmUgaXQgaW50byB0aGUgdGFiIGNvbnRlbnQgZGl2CiAgICAgIHRhYi5kZXRhY2goKS5hcHBlbmRUbyh0YWJDb250ZW50KTsKICAgIH0pOwoKICAgIC8vIHNldCBhY3RpdmUgdGFiCiAgICAkKHRhYkxpc3QuY2hpbGRyZW4oJ2xpJylbYWN0aXZlVGFiXSkuYWRkQ2xhc3MoJ2FjdGl2ZScpOwogICAgdmFyIGFjdGl2ZSA9ICQodGFiQ29udGVudC5jaGlsZHJlbignZGl2LnNlY3Rpb24nKVthY3RpdmVUYWJdKTsKICAgIGFjdGl2ZS5hZGRDbGFzcygnYWN0aXZlJyk7CiAgICBpZiAoZmFkZSkKICAgICAgYWN0aXZlLmFkZENsYXNzKCdpbicpOwoKICAgIGlmICh0YWJzZXQuaGFzQ2xhc3MoInRhYnNldC1zdGlja3kiKSkKICAgICAgdGFic2V0LnJtYXJrZG93blN0aWNreVRhYnMoKTsKICB9CgogIC8vIGNvbnZlcnQgc2VjdGlvbiBkaXZzIHdpdGggdGhlIC50YWJzZXQgY2xhc3MgdG8gdGFic2V0cwogIHZhciB0YWJzZXRzID0gJCgiZGl2LnNlY3Rpb24udGFic2V0Iik7CiAgdGFic2V0cy5lYWNoKGZ1bmN0aW9uKGkpIHsKICAgIGJ1aWxkVGFic2V0KCQodGFic2V0c1tpXSkpOwogIH0pOwp9OwoK&quot;&gt;&lt;/script&gt;
&lt;link href=&quot;data:text/css,%2Ehljs%2Dliteral%20%7B%0Acolor%3A%20%23990073%3B%0A%7D%0A%2Ehljs%2Dnumber%20%7B%0Acolor%3A%20%23099%3B%0A%7D%0A%2Ehljs%2Dcomment%20%7B%0Acolor%3A%20%23998%3B%0Afont%2Dstyle%3A%20italic%3B%0A%7D%0A%2Ehljs%2Dkeyword%20%7B%0Acolor%3A%20%23900%3B%0Afont%2Dweight%3A%20bold%3B%0A%7D%0A%2Ehljs%2Dstring%20%7B%0Acolor%3A%20%23d14%3B%0A%7D%0A&quot; rel=&quot;stylesheet&quot; /&gt;
&lt;script src=&quot;data:application/javascript;base64,LyohIGhpZ2hsaWdodC5qcyB2OS4xMi4wIHwgQlNEMyBMaWNlbnNlIHwgZ2l0LmlvL2hsanNsaWNlbnNlICovCiFmdW5jdGlvbihlKXt2YXIgbj0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93fHwib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGY7InVuZGVmaW5lZCIhPXR5cGVvZiBleHBvcnRzP2UoZXhwb3J0cyk6biYmKG4uaGxqcz1lKHt9KSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoW10sZnVuY3Rpb24oKXtyZXR1cm4gbi5obGpzfSkpfShmdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUpe3JldHVybiBlLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKX1mdW5jdGlvbiB0KGUpe3JldHVybiBlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gcihlLG4pe3ZhciB0PWUmJmUuZXhlYyhuKTtyZXR1cm4gdCYmMD09PXQuaW5kZXh9ZnVuY3Rpb24gYShlKXtyZXR1cm4gay50ZXN0KGUpfWZ1bmN0aW9uIGkoZSl7dmFyIG4sdCxyLGksbz1lLmNsYXNzTmFtZSsiICI7aWYobys9ZS5wYXJlbnROb2RlP2UucGFyZW50Tm9kZS5jbGFzc05hbWU6IiIsdD1CLmV4ZWMobykpcmV0dXJuIHcodFsxXSk/dFsxXToibm8taGlnaGxpZ2h0Ijtmb3Iobz1vLnNwbGl0KC9ccysvKSxuPTAscj1vLmxlbmd0aDtyPm47bisrKWlmKGk9b1tuXSxhKGkpfHx3KGkpKXJldHVybiBpfWZ1bmN0aW9uIG8oZSl7dmFyIG4sdD17fSxyPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtmb3IobiBpbiBlKXRbbl09ZVtuXTtyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKGUpe2ZvcihuIGluIGUpdFtuXT1lW25dfSksdH1mdW5jdGlvbiB1KGUpe3ZhciBuPVtdO3JldHVybiBmdW5jdGlvbiByKGUsYSl7Zm9yKHZhciBpPWUuZmlyc3RDaGlsZDtpO2k9aS5uZXh0U2libGluZykzPT09aS5ub2RlVHlwZT9hKz1pLm5vZGVWYWx1ZS5sZW5ndGg6MT09PWkubm9kZVR5cGUmJihuLnB1c2goe2V2ZW50OiJzdGFydCIsb2Zmc2V0OmEsbm9kZTppfSksYT1yKGksYSksdChpKS5tYXRjaCgvYnJ8aHJ8aW1nfGlucHV0Lyl8fG4ucHVzaCh7ZXZlbnQ6InN0b3AiLG9mZnNldDphLG5vZGU6aX0pKTtyZXR1cm4gYX0oZSwwKSxufWZ1bmN0aW9uIGMoZSxyLGEpe2Z1bmN0aW9uIGkoKXtyZXR1cm4gZS5sZW5ndGgmJnIubGVuZ3RoP2VbMF0ub2Zmc2V0IT09clswXS5vZmZzZXQ/ZVswXS5vZmZzZXQ8clswXS5vZmZzZXQ/ZTpyOiJzdGFydCI9PT1yWzBdLmV2ZW50P2U6cjplLmxlbmd0aD9lOnJ9ZnVuY3Rpb24gbyhlKXtmdW5jdGlvbiByKGUpe3JldHVybiIgIitlLm5vZGVOYW1lKyc9IicrbihlLnZhbHVlKS5yZXBsYWNlKCciJywiJnF1b3Q7IikrJyInfXMrPSI8Iit0KGUpK0UubWFwLmNhbGwoZS5hdHRyaWJ1dGVzLHIpLmpvaW4oIiIpKyI+In1mdW5jdGlvbiB1KGUpe3MrPSI8LyIrdChlKSsiPiJ9ZnVuY3Rpb24gYyhlKXsoInN0YXJ0Ij09PWUuZXZlbnQ/bzp1KShlLm5vZGUpfWZvcih2YXIgbD0wLHM9IiIsZj1bXTtlLmxlbmd0aHx8ci5sZW5ndGg7KXt2YXIgZz1pKCk7aWYocys9bihhLnN1YnN0cmluZyhsLGdbMF0ub2Zmc2V0KSksbD1nWzBdLm9mZnNldCxnPT09ZSl7Zi5yZXZlcnNlKCkuZm9yRWFjaCh1KTtkbyBjKGcuc3BsaWNlKDAsMSlbMF0pLGc9aSgpO3doaWxlKGc9PT1lJiZnLmxlbmd0aCYmZ1swXS5vZmZzZXQ9PT1sKTtmLnJldmVyc2UoKS5mb3JFYWNoKG8pfWVsc2Uic3RhcnQiPT09Z1swXS5ldmVudD9mLnB1c2goZ1swXS5ub2RlKTpmLnBvcCgpLGMoZy5zcGxpY2UoMCwxKVswXSl9cmV0dXJuIHMrbihhLnN1YnN0cihsKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS52JiYhZS5jYWNoZWRfdmFyaWFudHMmJihlLmNhY2hlZF92YXJpYW50cz1lLnYubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBvKGUse3Y6bnVsbH0sbil9KSksZS5jYWNoZWRfdmFyaWFudHN8fGUuZVcmJltvKGUpXXx8W2VdfWZ1bmN0aW9uIHMoZSl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZSYmZS5zb3VyY2V8fGV9ZnVuY3Rpb24gdCh0LHIpe3JldHVybiBuZXcgUmVnRXhwKG4odCksIm0iKyhlLmNJPyJpIjoiIikrKHI/ImciOiIiKSl9ZnVuY3Rpb24gcihhLGkpe2lmKCFhLmNvbXBpbGVkKXtpZihhLmNvbXBpbGVkPSEwLGEuaz1hLmt8fGEuYkssYS5rKXt2YXIgbz17fSx1PWZ1bmN0aW9uKG4sdCl7ZS5jSSYmKHQ9dC50b0xvd2VyQ2FzZSgpKSx0LnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLnNwbGl0KCJ8Iik7b1t0WzBdXT1bbix0WzFdP051bWJlcih0WzFdKToxXX0pfTsic3RyaW5nIj09dHlwZW9mIGEuaz91KCJrZXl3b3JkIixhLmspOngoYS5rKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3UoZSxhLmtbZV0pfSksYS5rPW99YS5sUj10KGEubHx8L1x3Ky8sITApLGkmJihhLmJLJiYoYS5iPSJcXGIoIithLmJLLnNwbGl0KCIgIikuam9pbigifCIpKyIpXFxiIiksYS5ifHwoYS5iPS9cQnxcYi8pLGEuYlI9dChhLmIpLGEuZXx8YS5lV3x8KGEuZT0vXEJ8XGIvKSxhLmUmJihhLmVSPXQoYS5lKSksYS50RT1uKGEuZSl8fCIiLGEuZVcmJmkudEUmJihhLnRFKz0oYS5lPyJ8IjoiIikraS50RSkpLGEuaSYmKGEuaVI9dChhLmkpKSxudWxsPT1hLnImJihhLnI9MSksYS5jfHwoYS5jPVtdKSxhLmM9QXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBsKCJzZWxmIj09PWU/YTplKX0pKSxhLmMuZm9yRWFjaChmdW5jdGlvbihlKXtyKGUsYSl9KSxhLnN0YXJ0cyYmcihhLnN0YXJ0cyxpKTt2YXIgYz1hLmMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLmJLPyJcXC4/KCIrZS5iKyIpXFwuPyI6ZS5ifSkuY29uY2F0KFthLnRFLGEuaV0pLm1hcChuKS5maWx0ZXIoQm9vbGVhbik7YS50PWMubGVuZ3RoP3QoYy5qb2luKCJ8IiksITApOntleGVjOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fX19cihlKX1mdW5jdGlvbiBmKGUsdCxhLGkpe2Z1bmN0aW9uIG8oZSxuKXt2YXIgdCxhO2Zvcih0PTAsYT1uLmMubGVuZ3RoO2E+dDt0KyspaWYocihuLmNbdF0uYlIsZSkpcmV0dXJuIG4uY1t0XX1mdW5jdGlvbiB1KGUsbil7aWYocihlLmVSLG4pKXtmb3IoO2UuZW5kc1BhcmVudCYmZS5wYXJlbnQ7KWU9ZS5wYXJlbnQ7cmV0dXJuIGV9cmV0dXJuIGUuZVc/dShlLnBhcmVudCxuKTp2b2lkIDB9ZnVuY3Rpb24gYyhlLG4pe3JldHVybiFhJiZyKG4uaVIsZSl9ZnVuY3Rpb24gbChlLG4pe3ZhciB0PU4uY0k/blswXS50b0xvd2VyQ2FzZSgpOm5bMF07cmV0dXJuIGUuay5oYXNPd25Qcm9wZXJ0eSh0KSYmZS5rW3RdfWZ1bmN0aW9uIHAoZSxuLHQscil7dmFyIGE9cj8iIjpJLmNsYXNzUHJlZml4LGk9JzxzcGFuIGNsYXNzPSInK2Esbz10PyIiOkM7cmV0dXJuIGkrPWUrJyI+JyxpK24rb31mdW5jdGlvbiBoKCl7dmFyIGUsdCxyLGE7aWYoIUUuaylyZXR1cm4gbihrKTtmb3IoYT0iIix0PTAsRS5sUi5sYXN0SW5kZXg9MCxyPUUubFIuZXhlYyhrKTtyOylhKz1uKGsuc3Vic3RyaW5nKHQsci5pbmRleCkpLGU9bChFLHIpLGU/KEIrPWVbMV0sYSs9cChlWzBdLG4oclswXSkpKTphKz1uKHJbMF0pLHQ9RS5sUi5sYXN0SW5kZXgscj1FLmxSLmV4ZWMoayk7cmV0dXJuIGErbihrLnN1YnN0cih0KSl9ZnVuY3Rpb24gZCgpe3ZhciBlPSJzdHJpbmciPT10eXBlb2YgRS5zTDtpZihlJiYheVtFLnNMXSlyZXR1cm4gbihrKTt2YXIgdD1lP2YoRS5zTCxrLCEwLHhbRS5zTF0pOmcoayxFLnNMLmxlbmd0aD9FLnNMOnZvaWQgMCk7cmV0dXJuIEUucj4wJiYoQis9dC5yKSxlJiYoeFtFLnNMXT10LnRvcCkscCh0Lmxhbmd1YWdlLHQudmFsdWUsITEsITApfWZ1bmN0aW9uIGIoKXtMKz1udWxsIT1FLnNMP2QoKTpoKCksaz0iIn1mdW5jdGlvbiB2KGUpe0wrPWUuY04/cChlLmNOLCIiLCEwKToiIixFPU9iamVjdC5jcmVhdGUoZSx7cGFyZW50Ont2YWx1ZTpFfX0pfWZ1bmN0aW9uIG0oZSxuKXtpZihrKz1lLG51bGw9PW4pcmV0dXJuIGIoKSwwO3ZhciB0PW8obixFKTtpZih0KXJldHVybiB0LnNraXA/ays9bjoodC5lQiYmKGsrPW4pLGIoKSx0LnJCfHx0LmVCfHwoaz1uKSksdih0LG4pLHQuckI/MDpuLmxlbmd0aDt2YXIgcj11KEUsbik7aWYocil7dmFyIGE9RTthLnNraXA/ays9bjooYS5yRXx8YS5lRXx8KGsrPW4pLGIoKSxhLmVFJiYoaz1uKSk7ZG8gRS5jTiYmKEwrPUMpLEUuc2tpcHx8KEIrPUUuciksRT1FLnBhcmVudDt3aGlsZShFIT09ci5wYXJlbnQpO3JldHVybiByLnN0YXJ0cyYmdihyLnN0YXJ0cywiIiksYS5yRT8wOm4ubGVuZ3RofWlmKGMobixFKSl0aHJvdyBuZXcgRXJyb3IoJ0lsbGVnYWwgbGV4ZW1lICInK24rJyIgZm9yIG1vZGUgIicrKEUuY058fCI8dW5uYW1lZD4iKSsnIicpO3JldHVybiBrKz1uLG4ubGVuZ3RofHwxfXZhciBOPXcoZSk7aWYoIU4pdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGxhbmd1YWdlOiAiJytlKyciJyk7cyhOKTt2YXIgUixFPWl8fE4seD17fSxMPSIiO2ZvcihSPUU7UiE9PU47Uj1SLnBhcmVudClSLmNOJiYoTD1wKFIuY04sIiIsITApK0wpO3ZhciBrPSIiLEI9MDt0cnl7Zm9yKHZhciBNLGosTz0wOzspe2lmKEUudC5sYXN0SW5kZXg9TyxNPUUudC5leGVjKHQpLCFNKWJyZWFrO2o9bSh0LnN1YnN0cmluZyhPLE0uaW5kZXgpLE1bMF0pLE89TS5pbmRleCtqfWZvcihtKHQuc3Vic3RyKE8pKSxSPUU7Ui5wYXJlbnQ7Uj1SLnBhcmVudClSLmNOJiYoTCs9Qyk7cmV0dXJue3I6Qix2YWx1ZTpMLGxhbmd1YWdlOmUsdG9wOkV9fWNhdGNoKFQpe2lmKFQubWVzc2FnZSYmLTEhPT1ULm1lc3NhZ2UuaW5kZXhPZigiSWxsZWdhbCIpKXJldHVybntyOjAsdmFsdWU6bih0KX07dGhyb3cgVH19ZnVuY3Rpb24gZyhlLHQpe3Q9dHx8SS5sYW5ndWFnZXN8fHgoeSk7dmFyIHI9e3I6MCx2YWx1ZTpuKGUpfSxhPXI7cmV0dXJuIHQuZmlsdGVyKHcpLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHQ9ZihuLGUsITEpO3QubGFuZ3VhZ2U9bix0LnI+YS5yJiYoYT10KSx0LnI+ci5yJiYoYT1yLHI9dCl9KSxhLmxhbmd1YWdlJiYoci5zZWNvbmRfYmVzdD1hKSxyfWZ1bmN0aW9uIHAoZSl7cmV0dXJuIEkudGFiUmVwbGFjZXx8SS51c2VCUj9lLnJlcGxhY2UoTSxmdW5jdGlvbihlLG4pe3JldHVybiBJLnVzZUJSJiYiXG4iPT09ZT8iPGJyPiI6SS50YWJSZXBsYWNlP24ucmVwbGFjZSgvXHQvZyxJLnRhYlJlcGxhY2UpOiIifSk6ZX1mdW5jdGlvbiBoKGUsbix0KXt2YXIgcj1uP0xbbl06dCxhPVtlLnRyaW0oKV07cmV0dXJuIGUubWF0Y2goL1xiaGxqc1xiLyl8fGEucHVzaCgiaGxqcyIpLC0xPT09ZS5pbmRleE9mKHIpJiZhLnB1c2gociksYS5qb2luKCIgIikudHJpbSgpfWZ1bmN0aW9uIGQoZSl7dmFyIG4sdCxyLG8sbCxzPWkoZSk7YShzKXx8KEkudXNlQlI/KG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiZGl2Iiksbi5pbm5lckhUTUw9ZS5pbm5lckhUTUwucmVwbGFjZSgvXG4vZywiIikucmVwbGFjZSgvPGJyWyBcL10qPi9nLCJcbiIpKTpuPWUsbD1uLnRleHRDb250ZW50LHI9cz9mKHMsbCwhMCk6ZyhsKSx0PXUobiksdC5sZW5ndGgmJihvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImRpdiIpLG8uaW5uZXJIVE1MPXIudmFsdWUsci52YWx1ZT1jKHQsdShvKSxsKSksci52YWx1ZT1wKHIudmFsdWUpLGUuaW5uZXJIVE1MPXIudmFsdWUsZS5jbGFzc05hbWU9aChlLmNsYXNzTmFtZSxzLHIubGFuZ3VhZ2UpLGUucmVzdWx0PXtsYW5ndWFnZTpyLmxhbmd1YWdlLHJlOnIucn0sci5zZWNvbmRfYmVzdCYmKGUuc2Vjb25kX2Jlc3Q9e2xhbmd1YWdlOnIuc2Vjb25kX2Jlc3QubGFuZ3VhZ2UscmU6ci5zZWNvbmRfYmVzdC5yfSkpfWZ1bmN0aW9uIGIoZSl7ST1vKEksZSl9ZnVuY3Rpb24gdigpe2lmKCF2LmNhbGxlZCl7di5jYWxsZWQ9ITA7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgicHJlIGNvZGUiKTtFLmZvckVhY2guY2FsbChlLGQpfX1mdW5jdGlvbiBtKCl7YWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsdiwhMSksYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdiwhMSl9ZnVuY3Rpb24gTihuLHQpe3ZhciByPXlbbl09dChlKTtyLmFsaWFzZXMmJnIuYWxpYXNlcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe0xbZV09bn0pfWZ1bmN0aW9uIFIoKXtyZXR1cm4geCh5KX1mdW5jdGlvbiB3KGUpe3JldHVybiBlPShlfHwiIikudG9Mb3dlckNhc2UoKSx5W2VdfHx5W0xbZV1dfXZhciBFPVtdLHg9T2JqZWN0LmtleXMseT17fSxMPXt9LGs9L14obm8tP2hpZ2hsaWdodHxwbGFpbnx0ZXh0KSQvaSxCPS9cYmxhbmcoPzp1YWdlKT8tKFtcdy1dKylcYi9pLE09LygoXig8W14+XSs+fFx0fCkrfCg/OlxuKSkpL2dtLEM9Ijwvc3Bhbj4iLEk9e2NsYXNzUHJlZml4OiJobGpzLSIsdGFiUmVwbGFjZTpudWxsLHVzZUJSOiExLGxhbmd1YWdlczp2b2lkIDB9O3JldHVybiBlLmhpZ2hsaWdodD1mLGUuaGlnaGxpZ2h0QXV0bz1nLGUuZml4TWFya3VwPXAsZS5oaWdobGlnaHRCbG9jaz1kLGUuY29uZmlndXJlPWIsZS5pbml0SGlnaGxpZ2h0aW5nPXYsZS5pbml0SGlnaGxpZ2h0aW5nT25Mb2FkPW0sZS5yZWdpc3Rlckxhbmd1YWdlPU4sZS5saXN0TGFuZ3VhZ2VzPVIsZS5nZXRMYW5ndWFnZT13LGUuaW5oZXJpdD1vLGUuSVI9IlthLXpBLVpdXFx3KiIsZS5VSVI9IlthLXpBLVpfXVxcdyoiLGUuTlI9IlxcYlxcZCsoXFwuXFxkKyk/IixlLkNOUj0iKC0/KShcXGIwW3hYXVthLWZBLUYwLTldK3woXFxiXFxkKyhcXC5cXGQqKT98XFwuXFxkKykoW2VFXVstK10/XFxkKyk/KSIsZS5CTlI9IlxcYigwYlswMV0rKSIsZS5SU1I9IiF8IT18IT09fCV8JT18JnwmJnwmPXxcXCp8XFwqPXxcXCt8XFwrPXwsfC18LT18Lz18L3w6fDt8PDx8PDw9fDw9fDx8PT09fD09fD18Pj4+PXw+Pj18Pj18Pj4+fD4+fD58XFw/fFxcW3xcXHt8XFwofFxcXnxcXF49fFxcfHxcXHw9fFxcfFxcfHx+IixlLkJFPXtiOiJcXFxcW1xcc1xcU10iLHI6MH0sZS5BU009e2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGk6IlxcbiIsYzpbZS5CRV19LGUuUVNNPXtjTjoic3RyaW5nIixiOiciJyxlOiciJyxpOiJcXG4iLGM6W2UuQkVdfSxlLlBXTT17YjovXGIoYXxhbnx0aGV8YXJlfEknbXxpc24ndHxkb24ndHxkb2Vzbid0fHdvbid0fGJ1dHxqdXN0fHNob3VsZHxwcmV0dHl8c2ltcGx5fGVub3VnaHxnb25uYXxnb2luZ3x3dGZ8c298c3VjaHx3aWxsfHlvdXx5b3VyfHRoZXl8bGlrZXxtb3JlKVxiL30sZS5DPWZ1bmN0aW9uKG4sdCxyKXt2YXIgYT1lLmluaGVyaXQoe2NOOiJjb21tZW50IixiOm4sZTp0LGM6W119LHJ8fHt9KTtyZXR1cm4gYS5jLnB1c2goZS5QV00pLGEuYy5wdXNoKHtjTjoiZG9jdGFnIixiOiIoPzpUT0RPfEZJWE1FfE5PVEV8QlVHfFhYWCk6IixyOjB9KSxhfSxlLkNMQ009ZS5DKCIvLyIsIiQiKSxlLkNCQ009ZS5DKCIvXFwqIiwiXFwqLyIpLGUuSENNPWUuQygiIyIsIiQiKSxlLk5NPXtjTjoibnVtYmVyIixiOmUuTlIscjowfSxlLkNOTT17Y046Im51bWJlciIsYjplLkNOUixyOjB9LGUuQk5NPXtjTjoibnVtYmVyIixiOmUuQk5SLHI6MH0sZS5DU1NOTT17Y046Im51bWJlciIsYjplLk5SKyIoJXxlbXxleHxjaHxyZW18dnd8dmh8dm1pbnx2bWF4fGNtfG1tfGlufHB0fHBjfHB4fGRlZ3xncmFkfHJhZHx0dXJufHN8bXN8SHp8a0h6fGRwaXxkcGNtfGRwcHgpPyIscjowfSxlLlJNPXtjTjoicmVnZXhwIixiOi9cLy8sZTovXC9bZ2ltdXldKi8saTovXG4vLGM6W2UuQkUse2I6L1xbLyxlOi9cXS8scjowLGM6W2UuQkVdfV19LGUuVE09e2NOOiJ0aXRsZSIsYjplLklSLHI6MH0sZS5VVE09e2NOOiJ0aXRsZSIsYjplLlVJUixyOjB9LGUuTUVUSE9EX0dVQVJEPXtiOiJcXC5cXHMqIitlLlVJUixyOjB9LGV9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInNxbCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5DKCItLSIsIiQiKTtyZXR1cm57Y0k6ITAsaTovWzw+e30qI10vLGM6W3tiSzoiYmVnaW4gZW5kIHN0YXJ0IGNvbW1pdCByb2xsYmFjayBzYXZlcG9pbnQgbG9jayBhbHRlciBjcmVhdGUgZHJvcCByZW5hbWUgY2FsbCBkZWxldGUgZG8gaGFuZGxlciBpbnNlcnQgbG9hZCByZXBsYWNlIHNlbGVjdCB0cnVuY2F0ZSB1cGRhdGUgc2V0IHNob3cgcHJhZ21hIGdyYW50IG1lcmdlIGRlc2NyaWJlIHVzZSBleHBsYWluIGhlbHAgZGVjbGFyZSBwcmVwYXJlIGV4ZWN1dGUgZGVhbGxvY2F0ZSByZWxlYXNlIHVubG9jayBwdXJnZSByZXNldCBjaGFuZ2Ugc3RvcCBhbmFseXplIGNhY2hlIGZsdXNoIG9wdGltaXplIHJlcGFpciBraWxsIGluc3RhbGwgdW5pbnN0YWxsIGNoZWNrc3VtIHJlc3RvcmUgY2hlY2sgYmFja3VwIHJldm9rZSBjb21tZW50IixlOi87LyxlVzohMCxsOi9bXHdcLl0rLyxrOntrZXl3b3JkOiJhYm9ydCBhYnMgYWJzb2x1dGUgYWNjIGFjY2UgYWNjZXAgYWNjZXB0IGFjY2VzcyBhY2Nlc3NlZCBhY2Nlc3NpYmxlIGFjY291bnQgYWNvcyBhY3Rpb24gYWN0aXZhdGUgYWRkIGFkZHRpbWUgYWRtaW4gYWRtaW5pc3RlciBhZHZhbmNlZCBhZHZpc2UgYWVzX2RlY3J5cHQgYWVzX2VuY3J5cHQgYWZ0ZXIgYWdlbnQgYWdncmVnYXRlIGFsaSBhbGlhIGFsaWFzIGFsbG9jYXRlIGFsbG93IGFsdGVyIGFsd2F5cyBhbmFseXplIGFuY2lsbGFyeSBhbmQgYW55IGFueWRhdGEgYW55ZGF0YXNldCBhbnlzY2hlbWEgYW55dHlwZSBhcHBseSBhcmNoaXZlIGFyY2hpdmVkIGFyY2hpdmVsb2cgYXJlIGFzIGFzYyBhc2NpaSBhc2luIGFzc2VtYmx5IGFzc2VydGlvbiBhc3NvY2lhdGUgYXN5bmNocm9ub3VzIGF0IGF0YW4gYXRuMiBhdHRyIGF0dHJpIGF0dHJpYiBhdHRyaWJ1IGF0dHJpYnV0IGF0dHJpYnV0ZSBhdHRyaWJ1dGVzIGF1ZGl0IGF1dGhlbnRpY2F0ZWQgYXV0aGVudGljYXRpb24gYXV0aGlkIGF1dGhvcnMgYXV0byBhdXRvYWxsb2NhdGUgYXV0b2RibGluayBhdXRvZXh0ZW5kIGF1dG9tYXRpYyBhdmFpbGFiaWxpdHkgYXZnIGJhY2t1cCBiYWRmaWxlIGJhc2ljZmlsZSBiZWZvcmUgYmVnaW4gYmVnaW5uaW5nIGJlbmNobWFyayBiZXR3ZWVuIGJmaWxlIGJmaWxlX2Jhc2UgYmlnIGJpZ2ZpbGUgYmluIGJpbmFyeV9kb3VibGUgYmluYXJ5X2Zsb2F0IGJpbmxvZyBiaXRfYW5kIGJpdF9jb3VudCBiaXRfbGVuZ3RoIGJpdF9vciBiaXRfeG9yIGJpdG1hcCBibG9iX2Jhc2UgYmxvY2sgYmxvY2tzaXplIGJvZHkgYm90aCBib3VuZCBidWZmZXJfY2FjaGUgYnVmZmVyX3Bvb2wgYnVpbGQgYnVsayBieSBieXRlIGJ5dGVvcmRlcm1hcmsgYnl0ZXMgY2FjaGUgY2FjaGluZyBjYWxsIGNhbGxpbmcgY2FuY2VsIGNhcGFjaXR5IGNhc2NhZGUgY2FzY2FkZWQgY2FzZSBjYXN0IGNhdGFsb2cgY2F0ZWdvcnkgY2VpbCBjZWlsaW5nIGNoYWluIGNoYW5nZSBjaGFuZ2VkIGNoYXJfYmFzZSBjaGFyX2xlbmd0aCBjaGFyYWN0ZXJfbGVuZ3RoIGNoYXJhY3RlcnMgY2hhcmFjdGVyc2V0IGNoYXJpbmRleCBjaGFyc2V0IGNoYXJzZXRmb3JtIGNoYXJzZXRpZCBjaGVjayBjaGVja3N1bSBjaGVja3N1bV9hZ2cgY2hpbGQgY2hvb3NlIGNociBjaHVuayBjbGFzcyBjbGVhbnVwIGNsZWFyIGNsaWVudCBjbG9iIGNsb2JfYmFzZSBjbG9uZSBjbG9zZSBjbHVzdGVyX2lkIGNsdXN0ZXJfcHJvYmFiaWxpdHkgY2x1c3Rlcl9zZXQgY2x1c3RlcmluZyBjb2FsZXNjZSBjb2VyY2liaWxpdHkgY29sIGNvbGxhdGUgY29sbGF0aW9uIGNvbGxlY3QgY29sdSBjb2x1bSBjb2x1bW4gY29sdW1uX3ZhbHVlIGNvbHVtbnMgY29sdW1uc191cGRhdGVkIGNvbW1lbnQgY29tbWl0IGNvbXBhY3QgY29tcGF0aWJpbGl0eSBjb21waWxlZCBjb21wbGV0ZSBjb21wb3NpdGVfbGltaXQgY29tcG91bmQgY29tcHJlc3MgY29tcHV0ZSBjb25jYXQgY29uY2F0X3dzIGNvbmN1cnJlbnQgY29uZmlybSBjb25uIGNvbm5lYyBjb25uZWN0IGNvbm5lY3RfYnlfaXNjeWNsZSBjb25uZWN0X2J5X2lzbGVhZiBjb25uZWN0X2J5X3Jvb3QgY29ubmVjdF90aW1lIGNvbm5lY3Rpb24gY29uc2lkZXIgY29uc2lzdGVudCBjb25zdGFudCBjb25zdHJhaW50IGNvbnN0cmFpbnRzIGNvbnN0cnVjdG9yIGNvbnRhaW5lciBjb250ZW50IGNvbnRlbnRzIGNvbnRleHQgY29udHJpYnV0b3JzIGNvbnRyb2xmaWxlIGNvbnYgY29udmVydCBjb252ZXJ0X3R6IGNvcnIgY29ycl9rIGNvcnJfcyBjb3JyZXNwb25kaW5nIGNvcnJ1cHRpb24gY29zIGNvc3QgY291bnQgY291bnRfYmlnIGNvdW50ZWQgY292YXJfcG9wIGNvdmFyX3NhbXAgY3B1X3Blcl9jYWxsIGNwdV9wZXJfc2Vzc2lvbiBjcmMzMiBjcmVhdGUgY3JlYXRpb24gY3JpdGljYWwgY3Jvc3MgY3ViZSBjdW1lX2Rpc3QgY3VyZGF0ZSBjdXJyZW50IGN1cnJlbnRfZGF0ZSBjdXJyZW50X3RpbWUgY3VycmVudF90aW1lc3RhbXAgY3VycmVudF91c2VyIGN1cnNvciBjdXJ0aW1lIGN1c3RvbWRhdHVtIGN5Y2xlIGRhdGEgZGF0YWJhc2UgZGF0YWJhc2VzIGRhdGFmaWxlIGRhdGFmaWxlcyBkYXRhbGVuZ3RoIGRhdGVfYWRkIGRhdGVfY2FjaGUgZGF0ZV9mb3JtYXQgZGF0ZV9zdWIgZGF0ZWFkZCBkYXRlZGlmZiBkYXRlZnJvbXBhcnRzIGRhdGVuYW1lIGRhdGVwYXJ0IGRhdGV0aW1lMmZyb21wYXJ0cyBkYXkgZGF5X3RvX3NlY29uZCBkYXluYW1lIGRheW9mbW9udGggZGF5b2Z3ZWVrIGRheW9meWVhciBkYXlzIGRiX3JvbGVfY2hhbmdlIGRidGltZXpvbmUgZGRsIGRlYWxsb2NhdGUgZGVjbGFyZSBkZWNvZGUgZGVjb21wb3NlIGRlY3JlbWVudCBkZWNyeXB0IGRlZHVwbGljYXRlIGRlZiBkZWZhIGRlZmF1IGRlZmF1bCBkZWZhdWx0IGRlZmF1bHRzIGRlZmVycmVkIGRlZmkgZGVmaW4gZGVmaW5lIGRlZ3JlZXMgZGVsYXllZCBkZWxlZ2F0ZSBkZWxldGUgZGVsZXRlX2FsbCBkZWxpbWl0ZWQgZGVtYW5kIGRlbnNlX3JhbmsgZGVwdGggZGVxdWV1ZSBkZXNfZGVjcnlwdCBkZXNfZW5jcnlwdCBkZXNfa2V5X2ZpbGUgZGVzYyBkZXNjciBkZXNjcmkgZGVzY3JpYiBkZXNjcmliZSBkZXNjcmlwdG9yIGRldGVybWluaXN0aWMgZGlhZ25vc3RpY3MgZGlmZmVyZW5jZSBkaW1lbnNpb24gZGlyZWN0X2xvYWQgZGlyZWN0b3J5IGRpc2FibGUgZGlzYWJsZV9hbGwgZGlzYWxsb3cgZGlzYXNzb2NpYXRlIGRpc2NhcmRmaWxlIGRpc2Nvbm5lY3QgZGlza2dyb3VwIGRpc3RpbmN0IGRpc3RpbmN0cm93IGRpc3RyaWJ1dGUgZGlzdHJpYnV0ZWQgZGl2IGRvIGRvY3VtZW50IGRvbWFpbiBkb3RuZXQgZG91YmxlIGRvd25ncmFkZSBkcm9wIGR1bXBmaWxlIGR1cGxpY2F0ZSBkdXJhdGlvbiBlYWNoIGVkaXRpb24gZWRpdGlvbmFibGUgZWRpdGlvbnMgZWxlbWVudCBlbGxpcHNpcyBlbHNlIGVsc2lmIGVsdCBlbXB0eSBlbmFibGUgZW5hYmxlX2FsbCBlbmNsb3NlZCBlbmNvZGUgZW5jb2RpbmcgZW5jcnlwdCBlbmQgZW5kLWV4ZWMgZW5kaWFuIGVuZm9yY2VkIGVuZ2luZSBlbmdpbmVzIGVucXVldWUgZW50ZXJwcmlzZSBlbnRpdHllc2NhcGluZyBlb21vbnRoIGVycm9yIGVycm9ycyBlc2NhcGVkIGV2YWxuYW1lIGV2YWx1YXRlIGV2ZW50IGV2ZW50ZGF0YSBldmVudHMgZXhjZXB0IGV4Y2VwdGlvbiBleGNlcHRpb25zIGV4Y2hhbmdlIGV4Y2x1ZGUgZXhjbHVkaW5nIGV4ZWN1IGV4ZWN1dCBleGVjdXRlIGV4ZW1wdCBleGlzdHMgZXhpdCBleHAgZXhwaXJlIGV4cGxhaW4gZXhwb3J0IGV4cG9ydF9zZXQgZXh0ZW5kZWQgZXh0ZW50IGV4dGVybmFsIGV4dGVybmFsXzEgZXh0ZXJuYWxfMiBleHRlcm5hbGx5IGV4dHJhY3QgZmFpbGVkIGZhaWxlZF9sb2dpbl9hdHRlbXB0cyBmYWlsb3ZlciBmYWlsdXJlIGZhciBmYXN0IGZlYXR1cmVfc2V0IGZlYXR1cmVfdmFsdWUgZmV0Y2ggZmllbGQgZmllbGRzIGZpbGUgZmlsZV9uYW1lX2NvbnZlcnQgZmlsZXN5c3RlbV9saWtlX2xvZ2dpbmcgZmluYWwgZmluaXNoIGZpcnN0IGZpcnN0X3ZhbHVlIGZpeGVkIGZsYXNoX2NhY2hlIGZsYXNoYmFjayBmbG9vciBmbHVzaCBmb2xsb3dpbmcgZm9sbG93cyBmb3IgZm9yYWxsIGZvcmNlIGZvcm0gZm9ybWEgZm9ybWF0IGZvdW5kIGZvdW5kX3Jvd3MgZnJlZWxpc3QgZnJlZWxpc3RzIGZyZWVwb29scyBmcmVzaCBmcm9tIGZyb21fYmFzZTY0IGZyb21fZGF5cyBmdHAgZnVsbCBmdW5jdGlvbiBnZW5lcmFsIGdlbmVyYXRlZCBnZXQgZ2V0X2Zvcm1hdCBnZXRfbG9jayBnZXRkYXRlIGdldHV0Y2RhdGUgZ2xvYmFsIGdsb2JhbF9uYW1lIGdsb2JhbGx5IGdvIGdvdG8gZ3JhbnQgZ3JhbnRzIGdyZWF0ZXN0IGdyb3VwIGdyb3VwX2NvbmNhdCBncm91cF9pZCBncm91cGluZyBncm91cGluZ19pZCBncm91cHMgZ3RpZF9zdWJ0cmFjdCBndWFyYW50ZWUgZ3VhcmQgaGFuZGxlciBoYXNoIGhhc2hrZXlzIGhhdmluZyBoZWEgaGVhZCBoZWFkaSBoZWFkaW4gaGVhZGluZyBoZWFwIGhlbHAgaGV4IGhpZXJhcmNoeSBoaWdoIGhpZ2hfcHJpb3JpdHkgaG9zdHMgaG91ciBodHRwIGlkIGlkZW50X2N1cnJlbnQgaWRlbnRfaW5jciBpZGVudF9zZWVkIGlkZW50aWZpZWQgaWRlbnRpdHkgaWRsZV90aW1lIGlmIGlmbnVsbCBpZ25vcmUgaWlmIGlsaWtlIGlsbSBpbW1lZGlhdGUgaW1wb3J0IGluIGluY2x1ZGUgaW5jbHVkaW5nIGluY3JlbWVudCBpbmRleCBpbmRleGVzIGluZGV4aW5nIGluZGV4dHlwZSBpbmRpY2F0b3IgaW5kaWNlcyBpbmV0Nl9hdG9uIGluZXQ2X250b2EgaW5ldF9hdG9uIGluZXRfbnRvYSBpbmZpbGUgaW5pdGlhbCBpbml0aWFsaXplZCBpbml0aWFsbHkgaW5pdHJhbnMgaW5tZW1vcnkgaW5uZXIgaW5ub2RiIGlucHV0IGluc2VydCBpbnN0YWxsIGluc3RhbmNlIGluc3RhbnRpYWJsZSBpbnN0ciBpbnRlcmZhY2UgaW50ZXJsZWF2ZWQgaW50ZXJzZWN0IGludG8gaW52YWxpZGF0ZSBpbnZpc2libGUgaXMgaXNfZnJlZV9sb2NrIGlzX2lwdjQgaXNfaXB2NF9jb21wYXQgaXNfbm90IGlzX25vdF9udWxsIGlzX3VzZWRfbG9jayBpc2RhdGUgaXNudWxsIGlzb2xhdGlvbiBpdGVyYXRlIGphdmEgam9pbiBqc29uIGpzb25fZXhpc3RzIGtlZXAga2VlcF9kdXBsaWNhdGVzIGtleSBrZXlzIGtpbGwgbGFuZ3VhZ2UgbGFyZ2UgbGFzdCBsYXN0X2RheSBsYXN0X2luc2VydF9pZCBsYXN0X3ZhbHVlIGxheCBsY2FzZSBsZWFkIGxlYWRpbmcgbGVhc3QgbGVhdmVzIGxlZnQgbGVuIGxlbmdodCBsZW5ndGggbGVzcyBsZXZlbCBsZXZlbHMgbGlicmFyeSBsaWtlIGxpa2UyIGxpa2U0IGxpa2VjIGxpbWl0IGxpbmVzIGxpbmsgbGlzdCBsaXN0YWdnIGxpdHRsZSBsbiBsb2FkIGxvYWRfZmlsZSBsb2IgbG9icyBsb2NhbCBsb2NhbHRpbWUgbG9jYWx0aW1lc3RhbXAgbG9jYXRlIGxvY2F0b3IgbG9jayBsb2NrZWQgbG9nIGxvZzEwIGxvZzIgbG9nZmlsZSBsb2dmaWxlcyBsb2dnaW5nIGxvZ2ljYWwgbG9naWNhbF9yZWFkc19wZXJfY2FsbCBsb2dvZmYgbG9nb24gbG9ncyBsb25nIGxvb3AgbG93IGxvd19wcmlvcml0eSBsb3dlciBscGFkIGxydHJpbSBsdHJpbSBtYWluIG1ha2Vfc2V0IG1ha2VkYXRlIG1ha2V0aW1lIG1hbmFnZWQgbWFuYWdlbWVudCBtYW51YWwgbWFwIG1hcHBpbmcgbWFzayBtYXN0ZXIgbWFzdGVyX3Bvc193YWl0IG1hdGNoIG1hdGNoZWQgbWF0ZXJpYWxpemVkIG1heCBtYXhleHRlbnRzIG1heGltaXplIG1heGluc3RhbmNlcyBtYXhsZW4gbWF4bG9nZmlsZXMgbWF4bG9naGlzdG9yeSBtYXhsb2dtZW1iZXJzIG1heHNpemUgbWF4dHJhbnMgbWQ1IG1lYXN1cmVzIG1lZGlhbiBtZWRpdW0gbWVtYmVyIG1lbWNvbXByZXNzIG1lbW9yeSBtZXJnZSBtaWNyb3NlY29uZCBtaWQgbWlncmF0aW9uIG1pbiBtaW5leHRlbnRzIG1pbmltdW0gbWluaW5nIG1pbnVzIG1pbnV0ZSBtaW52YWx1ZSBtaXNzaW5nIG1vZCBtb2RlIG1vZGVsIG1vZGlmaWNhdGlvbiBtb2RpZnkgbW9kdWxlIG1vbml0b3JpbmcgbW9udGggbW9udGhzIG1vdW50IG1vdmUgbW92ZW1lbnQgbXVsdGlzZXQgbXV0ZXggbmFtZSBuYW1lX2NvbnN0IG5hbWVzIG5hbiBuYXRpb25hbCBuYXRpdmUgbmF0dXJhbCBuYXYgbmNoYXIgbmNsb2IgbmVzdGVkIG5ldmVyIG5ldyBuZXdsaW5lIG5leHQgbmV4dHZhbCBubyBub193cml0ZV90b19iaW5sb2cgbm9hcmNoaXZlbG9nIG5vYXVkaXQgbm9iYWRmaWxlIG5vY2hlY2sgbm9jb21wcmVzcyBub2NvcHkgbm9jeWNsZSBub2RlbGF5IG5vZGlzY2FyZGZpbGUgbm9lbnRpdHllc2NhcGluZyBub2d1YXJhbnRlZSBub2tlZXAgbm9sb2dmaWxlIG5vbWFwcGluZyBub21heHZhbHVlIG5vbWluaW1pemUgbm9taW52YWx1ZSBub21vbml0b3Jpbmcgbm9uZSBub25lZGl0aW9uYWJsZSBub25zY2hlbWEgbm9vcmRlciBub3ByIG5vcHJvIG5vcHJvbSBub3Byb21wIG5vcHJvbXB0IG5vcmVseSBub3Jlc2V0bG9ncyBub3JldmVyc2Ugbm9ybWFsIG5vcm93ZGVwZW5kZW5jaWVzIG5vc2NoZW1hY2hlY2sgbm9zd2l0Y2ggbm90IG5vdGhpbmcgbm90aWNlIG5vdHJpbSBub3ZhbGlkYXRlIG5vdyBub3dhaXQgbnRoX3ZhbHVlIG51bGxpZiBudWxscyBudW0gbnVtYiBudW1iZSBudmFyY2hhciBudmFyY2hhcjIgb2JqZWN0IG9jaWNvbGwgb2NpZGF0ZSBvY2lkYXRldGltZSBvY2lkdXJhdGlvbiBvY2lpbnRlcnZhbCBvY2lsb2Jsb2NhdG9yIG9jaW51bWJlciBvY2lyZWYgb2NpcmVmY3Vyc29yIG9jaXJvd2lkIG9jaXN0cmluZyBvY2l0eXBlIG9jdCBvY3RldF9sZW5ndGggb2Ygb2ZmIG9mZmxpbmUgb2Zmc2V0IG9pZCBvaWRpbmRleCBvbGQgb24gb25saW5lIG9ubHkgb3BhcXVlIG9wZW4gb3BlcmF0aW9ucyBvcGVyYXRvciBvcHRpbWFsIG9wdGltaXplIG9wdGlvbiBvcHRpb25hbGx5IG9yIG9yYWNsZSBvcmFjbGVfZGF0ZSBvcmFkYXRhIG9yZCBvcmRhdWRpbyBvcmRkaWNvbSBvcmRkb2Mgb3JkZXIgb3JkaW1hZ2Ugb3JkaW5hbGl0eSBvcmR2aWRlbyBvcmdhbml6YXRpb24gb3JsYW55IG9ybHZhcnkgb3V0IG91dGVyIG91dGZpbGUgb3V0bGluZSBvdXRwdXQgb3ZlciBvdmVyZmxvdyBvdmVycmlkaW5nIHBhY2thZ2UgcGFkIHBhcmFsbGVsIHBhcmFsbGVsX2VuYWJsZSBwYXJhbWV0ZXJzIHBhcmVudCBwYXJzZSBwYXJ0aWFsIHBhcnRpdGlvbiBwYXJ0aXRpb25zIHBhc2NhbCBwYXNzaW5nIHBhc3N3b3JkIHBhc3N3b3JkX2dyYWNlX3RpbWUgcGFzc3dvcmRfbG9ja190aW1lIHBhc3N3b3JkX3JldXNlX21heCBwYXNzd29yZF9yZXVzZV90aW1lIHBhc3N3b3JkX3ZlcmlmeV9mdW5jdGlvbiBwYXRjaCBwYXRoIHBhdGluZGV4IHBjdGluY3JlYXNlIHBjdHRocmVzaG9sZCBwY3R1c2VkIHBjdHZlcnNpb24gcGVyY2VudCBwZXJjZW50X3JhbmsgcGVyY2VudGlsZV9jb250IHBlcmNlbnRpbGVfZGlzYyBwZXJmb3JtYW5jZSBwZXJpb2QgcGVyaW9kX2FkZCBwZXJpb2RfZGlmZiBwZXJtYW5lbnQgcGh5c2ljYWwgcGkgcGlwZSBwaXBlbGluZWQgcGl2b3QgcGx1Z2dhYmxlIHBsdWdpbiBwb2xpY3kgcG9zaXRpb24gcG9zdF90cmFuc2FjdGlvbiBwb3cgcG93ZXIgcHJhZ21hIHByZWJ1aWx0IHByZWNlZGVzIHByZWNlZGluZyBwcmVjaXNpb24gcHJlZGljdGlvbiBwcmVkaWN0aW9uX2Nvc3QgcHJlZGljdGlvbl9kZXRhaWxzIHByZWRpY3Rpb25fcHJvYmFiaWxpdHkgcHJlZGljdGlvbl9zZXQgcHJlcGFyZSBwcmVzZW50IHByZXNlcnZlIHByaW9yIHByaW9yaXR5IHByaXZhdGUgcHJpdmF0ZV9zZ2EgcHJpdmlsZWdlcyBwcm9jZWR1cmFsIHByb2NlZHVyZSBwcm9jZWR1cmVfYW5hbHl6ZSBwcm9jZXNzbGlzdCBwcm9maWxlcyBwcm9qZWN0IHByb21wdCBwcm90ZWN0aW9uIHB1YmxpYyBwdWJsaXNoaW5nc2VydmVybmFtZSBwdXJnZSBxdWFydGVyIHF1ZXJ5IHF1aWNrIHF1aWVzY2UgcXVvdGEgcXVvdGVuYW1lIHJhZGlhbnMgcmFpc2UgcmFuZCByYW5nZSByYW5rIHJhdyByZWFkIHJlYWRzIHJlYWRzaXplIHJlYnVpbGQgcmVjb3JkIHJlY29yZHMgcmVjb3ZlciByZWNvdmVyeSByZWN1cnNpdmUgcmVjeWNsZSByZWRvIHJlZHVjZWQgcmVmIHJlZmVyZW5jZSByZWZlcmVuY2VkIHJlZmVyZW5jZXMgcmVmZXJlbmNpbmcgcmVmcmVzaCByZWdleHBfbGlrZSByZWdpc3RlciByZWdyX2F2Z3ggcmVncl9hdmd5IHJlZ3JfY291bnQgcmVncl9pbnRlcmNlcHQgcmVncl9yMiByZWdyX3Nsb3BlIHJlZ3Jfc3h4IHJlZ3Jfc3h5IHJlamVjdCByZWtleSByZWxhdGlvbmFsIHJlbGF0aXZlIHJlbGF5bG9nIHJlbGVhc2UgcmVsZWFzZV9sb2NrIHJlbGllc19vbiByZWxvY2F0ZSByZWx5IHJlbSByZW1haW5kZXIgcmVuYW1lIHJlcGFpciByZXBlYXQgcmVwbGFjZSByZXBsaWNhdGUgcmVwbGljYXRpb24gcmVxdWlyZWQgcmVzZXQgcmVzZXRsb2dzIHJlc2l6ZSByZXNvdXJjZSByZXNwZWN0IHJlc3RvcmUgcmVzdHJpY3RlZCByZXN1bHQgcmVzdWx0X2NhY2hlIHJlc3VtYWJsZSByZXN1bWUgcmV0ZW50aW9uIHJldHVybiByZXR1cm5pbmcgcmV0dXJucyByZXVzZSByZXZlcnNlIHJldm9rZSByaWdodCBybGlrZSByb2xlIHJvbGVzIHJvbGxiYWNrIHJvbGxpbmcgcm9sbHVwIHJvdW5kIHJvdyByb3dfY291bnQgcm93ZGVwZW5kZW5jaWVzIHJvd2lkIHJvd251bSByb3dzIHJ0cmltIHJ1bGVzIHNhZmUgc2FsdCBzYW1wbGUgc2F2ZSBzYXZlcG9pbnQgc2IxIHNiMiBzYjQgc2NhbiBzY2hlbWEgc2NoZW1hY2hlY2sgc2NuIHNjb3BlIHNjcm9sbCBzZG9fZ2VvcmFzdGVyIHNkb190b3BvX2dlb21ldHJ5IHNlYXJjaCBzZWNfdG9fdGltZSBzZWNvbmQgc2VjdGlvbiBzZWN1cmVmaWxlIHNlY3VyaXR5IHNlZWQgc2VnbWVudCBzZWxlY3Qgc2VsZiBzZXF1ZW5jZSBzZXF1ZW50aWFsIHNlcmlhbGl6YWJsZSBzZXJ2ZXIgc2VydmVyZXJyb3Igc2Vzc2lvbiBzZXNzaW9uX3VzZXIgc2Vzc2lvbnNfcGVyX3VzZXIgc2V0IHNldHMgc2V0dGluZ3Mgc2hhIHNoYTEgc2hhMiBzaGFyZSBzaGFyZWQgc2hhcmVkX3Bvb2wgc2hvcnQgc2hvdyBzaHJpbmsgc2h1dGRvd24gc2lfYXZlcmFnZWNvbG9yIHNpX2NvbG9yaGlzdG9ncmFtIHNpX2ZlYXR1cmVsaXN0IHNpX3Bvc2l0aW9uYWxjb2xvciBzaV9zdGlsbGltYWdlIHNpX3RleHR1cmUgc2libGluZ3Mgc2lkIHNpZ24gc2luIHNpemUgc2l6ZV90IHNpemVzIHNraXAgc2xhdmUgc2xlZXAgc21hbGxkYXRldGltZWZyb21wYXJ0cyBzbWFsbGZpbGUgc25hcHNob3Qgc29tZSBzb25hbWUgc29ydCBzb3VuZGV4IHNvdXJjZSBzcGFjZSBzcGFyc2Ugc3BmaWxlIHNwbGl0IHNxbCBzcWxfYmlnX3Jlc3VsdCBzcWxfYnVmZmVyX3Jlc3VsdCBzcWxfY2FjaGUgc3FsX2NhbGNfZm91bmRfcm93cyBzcWxfc21hbGxfcmVzdWx0IHNxbF92YXJpYW50X3Byb3BlcnR5IHNxbGNvZGUgc3FsZGF0YSBzcWxlcnJvciBzcWxuYW1lIHNxbHN0YXRlIHNxcnQgc3F1YXJlIHN0YW5kYWxvbmUgc3RhbmRieSBzdGFydCBzdGFydGluZyBzdGFydHVwIHN0YXRlbWVudCBzdGF0aWMgc3RhdGlzdGljcyBzdGF0c19iaW5vbWlhbF90ZXN0IHN0YXRzX2Nyb3NzdGFiIHN0YXRzX2tzX3Rlc3Qgc3RhdHNfbW9kZSBzdGF0c19td190ZXN0IHN0YXRzX29uZV93YXlfYW5vdmEgc3RhdHNfdF90ZXN0XyBzdGF0c190X3Rlc3RfaW5kZXAgc3RhdHNfdF90ZXN0X29uZSBzdGF0c190X3Rlc3RfcGFpcmVkIHN0YXRzX3dzcl90ZXN0IHN0YXR1cyBzdGQgc3RkZGV2IHN0ZGRldl9wb3Agc3RkZGV2X3NhbXAgc3RkZXYgc3RvcCBzdG9yYWdlIHN0b3JlIHN0b3JlZCBzdHIgc3RyX3RvX2RhdGUgc3RyYWlnaHRfam9pbiBzdHJjbXAgc3RyaWN0IHN0cmluZyBzdHJ1Y3Qgc3R1ZmYgc3R5bGUgc3ViZGF0ZSBzdWJwYXJ0aXRpb24gc3VicGFydGl0aW9ucyBzdWJzdGl0dXRhYmxlIHN1YnN0ciBzdWJzdHJpbmcgc3VidGltZSBzdWJ0cmluZ19pbmRleCBzdWJ0eXBlIHN1Y2Nlc3Mgc3VtIHN1c3BlbmQgc3dpdGNoIHN3aXRjaG9mZnNldCBzd2l0Y2hvdmVyIHN5bmMgc3luY2hyb25vdXMgc3lub255bSBzeXMgc3lzX3htbGFnZyBzeXNhc20gc3lzYXV4IHN5c2RhdGUgc3lzZGF0ZXRpbWVvZmZzZXQgc3lzZGJhIHN5c29wZXIgc3lzdGVtIHN5c3RlbV91c2VyIHN5c3V0Y2RhdGV0aW1lIHRhYmxlIHRhYmxlcyB0YWJsZXNwYWNlIHRhbiB0ZG8gdGVtcGxhdGUgdGVtcG9yYXJ5IHRlcm1pbmF0ZWQgdGVydGlhcnlfd2VpZ2h0cyB0ZXN0IHRoYW4gdGhlbiB0aHJlYWQgdGhyb3VnaCB0aWVyIHRpZXMgdGltZSB0aW1lX2Zvcm1hdCB0aW1lX3pvbmUgdGltZWRpZmYgdGltZWZyb21wYXJ0cyB0aW1lb3V0IHRpbWVzdGFtcCB0aW1lc3RhbXBhZGQgdGltZXN0YW1wZGlmZiB0aW1lem9uZV9hYmJyIHRpbWV6b25lX21pbnV0ZSB0aW1lem9uZV9yZWdpb24gdG8gdG9fYmFzZTY0IHRvX2RhdGUgdG9fZGF5cyB0b19zZWNvbmRzIHRvZGF0ZXRpbWVvZmZzZXQgdHJhY2UgdHJhY2tpbmcgdHJhbnNhY3Rpb24gdHJhbnNhY3Rpb25hbCB0cmFuc2xhdGUgdHJhbnNsYXRpb24gdHJlYXQgdHJpZ2dlciB0cmlnZ2VyX25lc3RsZXZlbCB0cmlnZ2VycyB0cmltIHRydW5jYXRlIHRyeV9jYXN0IHRyeV9jb252ZXJ0IHRyeV9wYXJzZSB0eXBlIHViMSB1YjIgdWI0IHVjYXNlIHVuYXJjaGl2ZWQgdW5ib3VuZGVkIHVuY29tcHJlc3MgdW5kZXIgdW5kbyB1bmhleCB1bmljb2RlIHVuaWZvcm0gdW5pbnN0YWxsIHVuaW9uIHVuaXF1ZSB1bml4X3RpbWVzdGFtcCB1bmtub3duIHVubGltaXRlZCB1bmxvY2sgdW5waXZvdCB1bnJlY292ZXJhYmxlIHVuc2FmZSB1bnNpZ25lZCB1bnRpbCB1bnRydXN0ZWQgdW51c2FibGUgdW51c2VkIHVwZGF0ZSB1cGRhdGVkIHVwZ3JhZGUgdXBwZWQgdXBwZXIgdXBzZXJ0IHVybCB1cm93aWQgdXNhYmxlIHVzYWdlIHVzZSB1c2Vfc3RvcmVkX291dGxpbmVzIHVzZXIgdXNlcl9kYXRhIHVzZXJfcmVzb3VyY2VzIHVzZXJzIHVzaW5nIHV0Y19kYXRlIHV0Y190aW1lc3RhbXAgdXVpZCB1dWlkX3Nob3J0IHZhbGlkYXRlIHZhbGlkYXRlX3Bhc3N3b3JkX3N0cmVuZ3RoIHZhbGlkYXRpb24gdmFsaXN0IHZhbHVlIHZhbHVlcyB2YXIgdmFyX3NhbXAgdmFyY2hhcmMgdmFyaSB2YXJpYSB2YXJpYWIgdmFyaWFibCB2YXJpYWJsZSB2YXJpYWJsZXMgdmFyaWFuY2UgdmFycCB2YXJyYXcgdmFycmF3YyB2YXJyYXkgdmVyaWZ5IHZlcnNpb24gdmVyc2lvbnMgdmlldyB2aXJ0dWFsIHZpc2libGUgdm9pZCB3YWl0IHdhbGxldCB3YXJuaW5nIHdhcm5pbmdzIHdlZWsgd2Vla2RheSB3ZWVrb2Z5ZWFyIHdlbGxmb3JtZWQgd2hlbiB3aGVuZSB3aGVuZXYgd2hlbmV2ZSB3aGVuZXZlciB3aGVyZSB3aGlsZSB3aGl0ZXNwYWNlIHdpdGggd2l0aGluIHdpdGhvdXQgd29yayB3cmFwcGVkIHhkYiB4bWwgeG1sYWdnIHhtbGF0dHJpYnV0ZXMgeG1sY2FzdCB4bWxjb2xhdHR2YWwgeG1sZWxlbWVudCB4bWxleGlzdHMgeG1sZm9yZXN0IHhtbGluZGV4IHhtbG5hbWVzcGFjZXMgeG1scGkgeG1scXVlcnkgeG1scm9vdCB4bWxzY2hlbWEgeG1sc2VyaWFsaXplIHhtbHRhYmxlIHhtbHR5cGUgeG9yIHllYXIgeWVhcl90b19tb250aCB5ZWFycyB5ZWFyd2VlayIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSBudWxsIixidWlsdF9pbjoiYXJyYXkgYmlnaW50IGJpbmFyeSBiaXQgYmxvYiBib29sZWFuIGNoYXIgY2hhcmFjdGVyIGRhdGUgZGVjIGRlY2ltYWwgZmxvYXQgaW50IGludDggaW50ZWdlciBpbnRlcnZhbCBudW1iZXIgbnVtZXJpYyByZWFsIHJlY29yZCBzZXJpYWwgc2VyaWFsOCBzbWFsbGludCB0ZXh0IHZhcmNoYXIgdmFyeWluZyB2b2lkIn0sYzpbe2NOOiJzdHJpbmciLGI6IiciLGU6IiciLGM6W2UuQkUse2I6IicnIn1dfSx7Y046InN0cmluZyIsYjonIicsZTonIicsYzpbZS5CRSx7YjonIiInfV19LHtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFXX0sZS5DTk0sZS5DQkNNLHRdfSxlLkNCQ00sdF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJyIixmdW5jdGlvbihlKXt2YXIgcj0iKFthLXpBLVpdfFxcLlthLXpBLVouXSlbYS16QS1aMC05Ll9dKiI7cmV0dXJue2M6W2UuSENNLHtiOnIsbDpyLGs6e2tleXdvcmQ6ImZ1bmN0aW9uIGlmIGluIGJyZWFrIG5leHQgcmVwZWF0IGVsc2UgZm9yIHJldHVybiBzd2l0Y2ggd2hpbGUgdHJ5IHRyeUNhdGNoIHN0b3Agd2FybmluZyByZXF1aXJlIGxpYnJhcnkgYXR0YWNoIGRldGFjaCBzb3VyY2Ugc2V0TWV0aG9kIHNldEdlbmVyaWMgc2V0R3JvdXBHZW5lcmljIHNldENsYXNzIC4uLiIsbGl0ZXJhbDoiTlVMTCBOQSBUUlVFIEZBTFNFIFQgRiBJbmYgTmFOIE5BX2ludGVnZXJffDEwIE5BX3JlYWxffDEwIE5BX2NoYXJhY3Rlcl98MTAgTkFfY29tcGxleF98MTAifSxyOjB9LHtjTjoibnVtYmVyIixiOiIwW3hYXVswLTlhLWZBLUZdK1tMaV0/XFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86W2VFXVsrXFwtXT9cXGQqKT9MXFxiIixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrXFwuKD8hXFxkKSg/OmlcXGIpPyIscjowfSx7Y046Im51bWJlciIsYjoiXFxkKyg/OlxcLlxcZCopPyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcLlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP2k/XFxiIixyOjB9LHtiOiJgIixlOiJgIixyOjB9LHtjTjoic3RyaW5nIixjOltlLkJFXSx2Olt7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJwZXJsIixmdW5jdGlvbihlKXt2YXIgdD0iZ2V0cHdlbnQgZ2V0c2VydmVudCBxdW90ZW1ldGEgbXNncmN2IHNjYWxhciBraWxsIGRibWNsb3NlIHVuZGVmIGxjIG1hIHN5c3dyaXRlIHRyIHNlbmQgdW1hc2sgc3lzb3BlbiBzaG13cml0ZSB2ZWMgcXggdXRpbWUgbG9jYWwgb2N0IHNlbWN0bCBsb2NhbHRpbWUgcmVhZHBpcGUgZG8gcmV0dXJuIGZvcm1hdCByZWFkIHNwcmludGYgZGJtb3BlbiBwb3AgZ2V0cGdycCBub3QgZ2V0cHduYW0gcmV3aW5kZGlyIHFxZmlsZW5vIHF3IGVuZHByb3RvZW50IHdhaXQgc2V0aG9zdGVudCBibGVzcyBzfDAgb3BlbmRpciBjb250aW51ZSBlYWNoIHNsZWVwIGVuZGdyZW50IHNodXRkb3duIGR1bXAgY2hvbXAgY29ubmVjdCBnZXRzb2NrbmFtZSBkaWUgc29ja2V0cGFpciBjbG9zZSBmbG9jayBleGlzdHMgaW5kZXggc2htZ2V0c3ViIGZvciBlbmRwd2VudCByZWRvIGxzdGF0IG1zZ2N0bCBzZXRwZ3JwIGFicyBleGl0IHNlbGVjdCBwcmludCByZWYgZ2V0aG9zdGJ5YWRkciB1bnNoaWZ0IGZjbnRsIHN5c2NhbGwgZ290byBnZXRuZXRieWFkZHIgam9pbiBnbXRpbWUgc3ltbGluayBzZW1nZXQgc3BsaWNlIHh8MCBnZXRwZWVybmFtZSByZWN2IGxvZyBzZXRzb2Nrb3B0IGNvcyBsYXN0IHJldmVyc2UgZ2V0aG9zdGJ5bmFtZSBnZXRncm5hbSBzdHVkeSBmb3JtbGluZSBlbmRob3N0ZW50IHRpbWVzIGNob3AgbGVuZ3RoIGdldGhvc3RlbnQgZ2V0bmV0ZW50IHBhY2sgZ2V0cHJvdG9lbnQgZ2V0c2VydmJ5bmFtZSByYW5kIG1rZGlyIHBvcyBjaG1vZCB5fDAgc3Vic3RyIGVuZG5ldGVudCBwcmludGYgbmV4dCBvcGVuIG1zZ3NuZCByZWFkZGlyIHVzZSB1bmxpbmsgZ2V0c29ja29wdCBnZXRwcmlvcml0eSByaW5kZXggd2FudGFycmF5IGhleCBzeXN0ZW0gZ2V0c2VydmJ5cG9ydCBlbmRzZXJ2ZW50IGludCBjaHIgdW50aWUgcm1kaXIgcHJvdG90eXBlIHRlbGwgbGlzdGVuIGZvcmsgc2htcmVhZCB1Y2ZpcnN0IHNldHByb3RvZW50IGVsc2Ugc3lzc2VlayBsaW5rIGdldGdyZ2lkIHNobWN0bCB3YWl0cGlkIHVucGFjayBnZXRuZXRieW5hbWUgcmVzZXQgY2hkaXIgZ3JlcCBzcGxpdCByZXF1aXJlIGNhbGxlciBsY2ZpcnN0IHVudGlsIHdhcm4gd2hpbGUgdmFsdWVzIHNoaWZ0IHRlbGxkaXIgZ2V0cHd1aWQgbXkgZ2V0cHJvdG9ieW51bWJlciBkZWxldGUgYW5kIHNvcnQgdWMgZGVmaW5lZCBzcmFuZCBhY2NlcHQgcGFja2FnZSBzZWVrZGlyIGdldHByb3RvYnluYW1lIHNlbW9wIG91ciByZW5hbWUgc2VlayBpZiBxfDAgY2hyb290IHN5c3JlYWQgc2V0cHdlbnQgbm8gY3J5cHQgZ2V0YyBjaG93biBzcXJ0IHdyaXRlIHNldG5ldGVudCBzZXRwcmlvcml0eSBmb3JlYWNoIHRpZSBzaW4gbXNnZ2V0IG1hcCBzdGF0IGdldGxvZ2luIHVubGVzcyBlbHNpZiB0cnVuY2F0ZSBleGVjIGtleXMgZ2xvYiB0aWVkIGNsb3NlZGlyaW9jdGwgc29ja2V0IHJlYWRsaW5rIGV2YWwgeG9yIHJlYWRsaW5lIGJpbm1vZGUgc2V0c2VydmVudCBlb2Ygb3JkIGJpbmQgYWxhcm0gcGlwZSBhdGFuMiBnZXRncmVudCBleHAgdGltZSBwdXNoIHNldGdyZW50IGd0IGx0IG9yIG5lIG18MCBicmVhayBnaXZlbiBzYXkgc3RhdGUgd2hlbiIscj17Y046InN1YnN0IixiOiJbJEBdXFx7IixlOiJcXH0iLGs6dH0scz17YjoiLT57IixlOiJ9In0sbj17djpbe2I6L1wkXGQvfSx7YjovW1wkJUBdKFxeXHdcYnwjXHcrKDo6XHcrKSp8e1x3K318XHcrKDo6XHcqKSopL30se2I6L1tcJCVAXVteXHNcd3tdLyxyOjB9XX0saT1bZS5CRSxyLG5dLG89W24sZS5IQ00sZS5DKCJeXFw9XFx3IiwiXFw9Y3V0Iix7ZVc6ITB9KSxzLHtjTjoic3RyaW5nIixjOmksdjpbe2I6InFbcXd4cl0/XFxzKlxcKCIsZToiXFwpIixyOjV9LHtiOiJxW3F3eHJdP1xccypcXFsiLGU6IlxcXSIscjo1fSx7YjoicVtxd3hyXT9cXHMqXFx7IixlOiJcXH0iLHI6NX0se2I6InFbcXd4cl0/XFxzKlxcfCIsZToiXFx8IixyOjV9LHtiOiJxW3F3eHJdP1xccypcXDwiLGU6IlxcPiIscjo1fSx7YjoicXdcXHMrcSIsZToicSIscjo1fSx7YjoiJyIsZToiJyIsYzpbZS5CRV19LHtiOiciJyxlOiciJ30se2I6ImAiLGU6ImAiLGM6W2UuQkVdfSx7Yjoie1xcdyt9IixjOltdLHI6MH0se2I6Ii0/XFx3K1xccypcXD1cXD4iLGM6W10scjowfV19LHtjTjoibnVtYmVyIixiOiIoXFxiMFswLTdfXSspfChcXGIweFswLTlhLWZBLUZfXSspfChcXGJbMS05XVswLTlfXSooXFwuWzAtOV9dKyk/KXxbMF9dXFxiIixyOjB9LHtiOiIoXFwvXFwvfCIrZS5SU1IrInxcXGIoc3BsaXR8cmV0dXJufHByaW50fHJldmVyc2V8Z3JlcClcXGIpXFxzKiIsazoic3BsaXQgcmV0dXJuIHByaW50IHJldmVyc2UgZ3JlcCIscjowLGM6W2UuSENNLHtjTjoicmVnZXhwIixiOiIoc3x0cnx5KS8oXFxcXC58W14vXSkqLyhcXFxcLnxbXi9dKSovW2Etel0qIixyOjEwfSx7Y046InJlZ2V4cCIsYjoiKG18cXIpPy8iLGU6Ii9bYS16XSoiLGM6W2UuQkVdLHI6MH1dfSx7Y046ImZ1bmN0aW9uIixiSzoic3ViIixlOiIoXFxzKlxcKC4qP1xcKSk/Wzt7XSIsZUU6ITAscjo1LGM6W2UuVE1dfSx7YjoiLVxcd1xcYiIscjowfSx7YjoiXl9fREFUQV9fJCIsZToiXl9fRU5EX18kIixzTDoibW9qb2xpY2lvdXMiLGM6W3tiOiJeQEAuKiIsZToiJCIsY046ImNvbW1lbnQifV19XTtyZXR1cm4gci5jPW8scy5jPW8se2FsaWFzZXM6WyJwbCIsInBtIl0sbDovW1x3XC5dKy8sazp0LGM6b319KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImluaSIsZnVuY3Rpb24oZSl7dmFyIGI9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOiInJyciLGU6IicnJyIscjoxMH0se2I6JyIiIicsZTonIiIiJyxyOjEwfSx7YjonIicsZTonIid9LHtiOiInIixlOiInIn1dfTtyZXR1cm57YWxpYXNlczpbInRvbWwiXSxjSTohMCxpOi9cUy8sYzpbZS5DKCI7IiwiJCIpLGUuSENNLHtjTjoic2VjdGlvbiIsYjovXlxzKlxbKy8sZTovXF0rL30se2I6L15bYS16MC05XFtcXV8tXStccyo9XHMqLyxlOiIkIixyQjohMCxjOlt7Y046ImF0dHIiLGI6L1thLXowLTlcW1xdXy1dKy99LHtiOi89LyxlVzohMCxyOjAsYzpbe2NOOiJsaXRlcmFsIixiOi9cYm9ufG9mZnx0cnVlfGZhbHNlfHllc3xub1xiL30se2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQiXVtcd1xkX10qL30se2I6L1wkXHsoLio/KX0vfV19LGIse2NOOiJudW1iZXIiLGI6LyhbXCtcLV0rKT9bXGRdK19bXGRfXSsvfSxlLk5NXX1dfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJkaWZmIixmdW5jdGlvbihlKXtyZXR1cm57YWxpYXNlczpbInBhdGNoIl0sYzpbe2NOOiJtZXRhIixyOjEwLHY6W3tiOi9eQEAgK1wtXGQrLFxkKyArXCtcZCssXGQrICtAQCQvfSx7YjovXlwqXCpcKiArXGQrLFxkKyArXCpcKlwqXCokL30se2I6L15cLVwtXC0gK1xkKyxcZCsgK1wtXC1cLVwtJC99XX0se2NOOiJjb21tZW50Iix2Olt7YjovSW5kZXg6IC8sZTovJC99LHtiOi89ezMsfS8sZTovJC99LHtiOi9eXC17M30vLGU6LyQvfSx7YjovXlwqezN9IC8sZTovJC99LHtiOi9eXCt7M30vLGU6LyQvfSx7YjovXCp7NX0vLGU6L1wqezV9JC99XX0se2NOOiJhZGRpdGlvbiIsYjoiXlxcKyIsZToiJCJ9LHtjTjoiZGVsZXRpb24iLGI6Il5cXC0iLGU6IiQifSx7Y046ImFkZGl0aW9uIixiOiJeXFwhIixlOiIkIn1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiZ28iLGZ1bmN0aW9uKGUpe3ZhciB0PXtrZXl3b3JkOiJicmVhayBkZWZhdWx0IGZ1bmMgaW50ZXJmYWNlIHNlbGVjdCBjYXNlIG1hcCBzdHJ1Y3QgY2hhbiBlbHNlIGdvdG8gcGFja2FnZSBzd2l0Y2ggY29uc3QgZmFsbHRocm91Z2ggaWYgcmFuZ2UgdHlwZSBjb250aW51ZSBmb3IgaW1wb3J0IHJldHVybiB2YXIgZ28gZGVmZXIgYm9vbCBieXRlIGNvbXBsZXg2NCBjb21wbGV4MTI4IGZsb2F0MzIgZmxvYXQ2NCBpbnQ4IGludDE2IGludDMyIGludDY0IHN0cmluZyB1aW50OCB1aW50MTYgdWludDMyIHVpbnQ2NCBpbnQgdWludCB1aW50cHRyIHJ1bmUiLGxpdGVyYWw6InRydWUgZmFsc2UgaW90YSBuaWwiLGJ1aWx0X2luOiJhcHBlbmQgY2FwIGNsb3NlIGNvbXBsZXggY29weSBpbWFnIGxlbiBtYWtlIG5ldyBwYW5pYyBwcmludCBwcmludGxuIHJlYWwgcmVjb3ZlciBkZWxldGUifTtyZXR1cm57YWxpYXNlczpbImdvbGFuZyJdLGs6dCxpOiI8LyIsYzpbZS5DTENNLGUuQ0JDTSx7Y046InN0cmluZyIsdjpbZS5RU00se2I6IiciLGU6IlteXFxcXF0nIn0se2I6ImAiLGU6ImAifV19LHtjTjoibnVtYmVyIix2Olt7YjplLkNOUisiW2RmbHNpXSIscjoxfSxlLkNOTV19LHtiOi86PS99LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jIixlOi9ccypcey8sZUU6ITAsYzpbZS5UTSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnQsaTovWyInXS99XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiYmFzaCIsZnVuY3Rpb24oZSl7dmFyIHQ9e2NOOiJ2YXJpYWJsZSIsdjpbe2I6L1wkW1x3XGQjQF1bXHdcZF9dKi99LHtiOi9cJFx7KC4qPyl9L31dfSxzPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLHQse2NOOiJ2YXJpYWJsZSIsYjovXCRcKC8sZTovXCkvLGM6W2UuQkVdfV19LGE9e2NOOiJzdHJpbmciLGI6LycvLGU6LycvfTtyZXR1cm57YWxpYXNlczpbInNoIiwienNoIl0sbDovXGItP1thLXpcLl9dK1xiLyxrOntrZXl3b3JkOiJpZiB0aGVuIGVsc2UgZWxpZiBmaSBmb3Igd2hpbGUgaW4gZG8gZG9uZSBjYXNlIGVzYWMgZnVuY3Rpb24iLGxpdGVyYWw6InRydWUgZmFsc2UiLGJ1aWx0X2luOiJicmVhayBjZCBjb250aW51ZSBldmFsIGV4ZWMgZXhpdCBleHBvcnQgZ2V0b3B0cyBoYXNoIHB3ZCByZWFkb25seSByZXR1cm4gc2hpZnQgdGVzdCB0aW1lcyB0cmFwIHVtYXNrIHVuc2V0IGFsaWFzIGJpbmQgYnVpbHRpbiBjYWxsZXIgY29tbWFuZCBkZWNsYXJlIGVjaG8gZW5hYmxlIGhlbHAgbGV0IGxvY2FsIGxvZ291dCBtYXBmaWxlIHByaW50ZiByZWFkIHJlYWRhcnJheSBzb3VyY2UgdHlwZSB0eXBlc2V0IHVsaW1pdCB1bmFsaWFzIHNldCBzaG9wdCBhdXRvbG9hZCBiZyBiaW5ka2V5IGJ5ZSBjYXAgY2hkaXIgY2xvbmUgY29tcGFyZ3VtZW50cyBjb21wY2FsbCBjb21wY3RsIGNvbXBkZXNjcmliZSBjb21wZmlsZXMgY29tcGdyb3VwcyBjb21wcXVvdGUgY29tcHRhZ3MgY29tcHRyeSBjb21wdmFsdWVzIGRpcnMgZGlzYWJsZSBkaXNvd24gZWNob3RjIGVjaG90aSBlbXVsYXRlIGZjIGZnIGZsb2F0IGZ1bmN0aW9ucyBnZXRjYXAgZ2V0bG4gaGlzdG9yeSBpbnRlZ2VyIGpvYnMga2lsbCBsaW1pdCBsb2cgbm9nbG9iIHBvcGQgcHJpbnQgcHVzaGQgcHVzaGxuIHJlaGFzaCBzY2hlZCBzZXRjYXAgc2V0b3B0IHN0YXQgc3VzcGVuZCB0dHljdGwgdW5mdW5jdGlvbiB1bmhhc2ggdW5saW1pdCB1bnNldG9wdCB2YXJlZCB3YWl0IHdoZW5jZSB3aGVyZSB3aGljaCB6Y29tcGlsZSB6Zm9ybWF0IHpmdHAgemxlIHptb2Rsb2FkIHpwYXJzZW9wdHMgenByb2YgenB0eSB6cmVnZXhwYXJzZSB6c29ja2V0IHpzdHlsZSB6dGNwIixfOiItbmUgLWVxIC1sdCAtZ3QgLWYgLWQgLWUgLXMgLWwgLWEifSxjOlt7Y046Im1ldGEiLGI6L14jIVteXG5dK3NoXHMqJC8scjoxMH0se2NOOiJmdW5jdGlvbiIsYjovXHdbXHdcZF9dKlxzKlwoXHMqXClccypcey8sckI6ITAsYzpbZS5pbmhlcml0KGUuVE0se2I6L1x3W1x3XGRfXSovfSldLHI6MH0sZS5IQ00scyxhLHRdfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicHl0aG9uIixmdW5jdGlvbihlKXt2YXIgcj17a2V5d29yZDoiYW5kIGVsaWYgaXMgZ2xvYmFsIGFzIGluIGlmIGZyb20gcmFpc2UgZm9yIGV4Y2VwdCBmaW5hbGx5IHByaW50IGltcG9ydCBwYXNzIHJldHVybiBleGVjIGVsc2UgYnJlYWsgbm90IHdpdGggY2xhc3MgYXNzZXJ0IHlpZWxkIHRyeSB3aGlsZSBjb250aW51ZSBkZWwgb3IgZGVmIGxhbWJkYSBhc3luYyBhd2FpdCBub25sb2NhbHwxMCBOb25lIFRydWUgRmFsc2UiLGJ1aWx0X2luOiJFbGxpcHNpcyBOb3RJbXBsZW1lbnRlZCJ9LGI9e2NOOiJtZXRhIixiOi9eKD4+PnxcLlwuXC4pIC99LGM9e2NOOiJzdWJzdCIsYjovXHsvLGU6L1x9LyxrOnIsaTovIy99LGE9e2NOOiJzdHJpbmciLGM6W2UuQkVdLHY6W3tiOi8odXxiKT9yPycnJy8sZTovJycnLyxjOltiXSxyOjEwfSx7YjovKHV8Yik/cj8iIiIvLGU6LyIiIi8sYzpbYl0scjoxMH0se2I6LyhmcnxyZnxmKScnJy8sZTovJycnLyxjOltiLGNdfSx7YjovKGZyfHJmfGYpIiIiLyxlOi8iIiIvLGM6W2IsY119LHtiOi8odXxyfHVyKScvLGU6LycvLHI6MTB9LHtiOi8odXxyfHVyKSIvLGU6LyIvLHI6MTB9LHtiOi8oYnxiciknLyxlOi8nL30se2I6LyhifGJyKSIvLGU6LyIvfSx7YjovKGZyfHJmfGYpJy8sZTovJy8sYzpbY119LHtiOi8oZnJ8cmZ8ZikiLyxlOi8iLyxjOltjXX0sZS5BU00sZS5RU01dfSxzPXtjTjoibnVtYmVyIixyOjAsdjpbe2I6ZS5CTlIrIltsTGpKXT8ifSx7YjoiXFxiKDBvWzAtN10rKVtsTGpKXT8ifSx7YjplLkNOUisiW2xMakpdPyJ9XX0saT17Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxjOlsic2VsZiIsYixzLGFdfTtyZXR1cm4gYy5jPVthLHMsYl0se2FsaWFzZXM6WyJweSIsImd5cCJdLGs6cixpOi8oPFwvfC0+fFw/KXw9Pi8sYzpbYixzLGEsZS5IQ00se3Y6W3tjTjoiZnVuY3Rpb24iLGJLOiJkZWYifSx7Y046ImNsYXNzIixiSzoiY2xhc3MifV0sZTovOi8saTovWyR7PTtcbixdLyxjOltlLlVUTSxpLHtiOi8tPi8sZVc6ITAsazoiTm9uZSJ9XX0se2NOOiJtZXRhIixiOi9eW1x0IF0qQC8sZTovJC99LHtiOi9cYihwcmludHxleGVjKVwoL31dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianVsaWEiLGZ1bmN0aW9uKGUpe3ZhciByPXtrZXl3b3JkOiJpbiBpc2Egd2hlcmUgYmFyZW1vZHVsZSBiZWdpbiBicmVhayBjYXRjaCBjY2FsbCBjb25zdCBjb250aW51ZSBkbyBlbHNlIGVsc2VpZiBlbmQgZXhwb3J0IGZhbHNlIGZpbmFsbHkgZm9yIGZ1bmN0aW9uIGdsb2JhbCBpZiBpbXBvcnQgaW1wb3J0YWxsIGxldCBsb2NhbCBtYWNybyBtb2R1bGUgcXVvdGUgcmV0dXJuIHRydWUgdHJ5IHVzaW5nIHdoaWxlIHR5cGUgaW1tdXRhYmxlIGFic3RyYWN0IGJpdHN0eXBlIHR5cGVhbGlhcyAiLGxpdGVyYWw6InRydWUgZmFsc2UgQVJHUyBDX05VTEwgRGV2TnVsbCBFTkRJQU5fQk9NIEVOViBJIEluZiBJbmYxNiBJbmYzMiBJbmY2NCBJbnNlcnRpb25Tb3J0IEpVTElBX0hPTUUgTE9BRF9QQVRIIE1lcmdlU29ydCBOYU4gTmFOMTYgTmFOMzIgTmFONjQgUFJPR1JBTV9GSUxFIFF1aWNrU29ydCBSb3VuZERvd24gUm91bmRGcm9tWmVybyBSb3VuZE5lYXJlc3QgUm91bmROZWFyZXN0VGllc0F3YXkgUm91bmROZWFyZXN0VGllc1VwIFJvdW5kVG9aZXJvIFJvdW5kVXAgU1RERVJSIFNURElOIFNURE9VVCBWRVJTSU9OIGNhdGFsYW4gZXwwIGV1fDAgZXVsZXJnYW1tYSBnb2xkZW4gaW0gbm90aGluZyBwaSDOsyDPgCDPhiAiLGJ1aWx0X2luOiJBTlkgQWJzdHJhY3RBcnJheSBBYnN0cmFjdENoYW5uZWwgQWJzdHJhY3RGbG9hdCBBYnN0cmFjdE1hdHJpeCBBYnN0cmFjdFJORyBBYnN0cmFjdFNlcmlhbGl6ZXIgQWJzdHJhY3RTZXQgQWJzdHJhY3RTcGFyc2VBcnJheSBBYnN0cmFjdFNwYXJzZU1hdHJpeCBBYnN0cmFjdFNwYXJzZVZlY3RvciBBYnN0cmFjdFN0cmluZyBBYnN0cmFjdFVuaXRSYW5nZSBBYnN0cmFjdFZlY09yTWF0IEFic3RyYWN0VmVjdG9yIEFueSBBcmd1bWVudEVycm9yIEFycmF5IEFzc2VydGlvbkVycm9yIEFzc29jaWF0aXZlIEJhc2U2NERlY29kZVBpcGUgQmFzZTY0RW5jb2RlUGlwZSBCaWRpYWdvbmFsIEJpZ0Zsb2F0IEJpZ0ludCBCaXRBcnJheSBCaXRNYXRyaXggQml0VmVjdG9yIEJvb2wgQm91bmRzRXJyb3IgQnVmZmVyU3RyZWFtIENhY2hpbmdQb29sIENhcHR1cmVkRXhjZXB0aW9uIENhcnRlc2lhbkluZGV4IENhcnRlc2lhblJhbmdlIENjaGFyIENkb3VibGUgQ2Zsb2F0IENoYW5uZWwgQ2hhciBDaW50IENpbnRtYXhfdCBDbG9uZyBDbG9uZ2xvbmcgQ2x1c3Rlck1hbmFnZXIgQ21kIENvZGVJbmZvIENvbG9uIENvbXBsZXggQ29tcGxleDEyOCBDb21wbGV4MzIgQ29tcGxleDY0IENvbXBvc2l0ZUV4Y2VwdGlvbiBDb25kaXRpb24gQ29uakFycmF5IENvbmpNYXRyaXggQ29ualZlY3RvciBDcHRyZGlmZl90IENzaG9ydCBDc2l6ZV90IENzc2l6ZV90IENzdHJpbmcgQ3VjaGFyIEN1aW50IEN1aW50bWF4X3QgQ3Vsb25nIEN1bG9uZ2xvbmcgQ3VzaG9ydCBDd2NoYXJfdCBDd3N0cmluZyBEYXRhVHlwZSBEYXRlIERhdGVGb3JtYXQgRGF0ZVRpbWUgRGVuc2VBcnJheSBEZW5zZU1hdHJpeCBEZW5zZVZlY09yTWF0IERlbnNlVmVjdG9yIERpYWdvbmFsIERpY3QgRGltZW5zaW9uTWlzbWF0Y2ggRGltcyBEaXJlY3RJbmRleFN0cmluZyBEaXNwbGF5IERpdmlkZUVycm9yIERvbWFpbkVycm9yIEVPRkVycm9yIEVhY2hMaW5lIEVudW0gRW51bWVyYXRlIEVycm9yRXhjZXB0aW9uIEV4Y2VwdGlvbiBFeHBvbmVudGlhbEJhY2tPZmYgRXhwciBGYWN0b3JpemF0aW9uIEZpbGVNb25pdG9yIEZsb2F0MTYgRmxvYXQzMiBGbG9hdDY0IEZ1bmN0aW9uIEZ1dHVyZSBHbG9iYWxSZWYgR290b05vZGUgSFRNTCBIZXJtaXRpYW4gSU8gSU9CdWZmZXIgSU9Db250ZXh0IElPU3RyZWFtIElQQWRkciBJUHY0IElQdjYgSW5kZXhDYXJ0ZXNpYW4gSW5kZXhMaW5lYXIgSW5kZXhTdHlsZSBJbmV4YWN0RXJyb3IgSW5pdEVycm9yIEludCBJbnQxMjggSW50MTYgSW50MzIgSW50NjQgSW50OCBJbnRTZXQgSW50ZWdlciBJbnRlcnJ1cHRFeGNlcHRpb24gSW52YWxpZFN0YXRlRXhjZXB0aW9uIElycmF0aW9uYWwgS2V5RXJyb3IgTGFiZWxOb2RlIExpblNwYWNlIExpbmVOdW1iZXJOb2RlIExvYWRFcnJvciBMb3dlclRyaWFuZ3VsYXIgTUlNRSBNYXRyaXggTWVyc2VubmVUd2lzdGVyIE1ldGhvZCBNZXRob2RFcnJvciBNZXRob2RUYWJsZSBNb2R1bGUgTlR1cGxlIE5ld3Zhck5vZGUgTnVsbEV4Y2VwdGlvbiBOdWxsYWJsZSBOdW1iZXIgT2JqZWN0SWREaWN0IE9yZGluYWxSYW5nZSBPdXRPZk1lbW9yeUVycm9yIE92ZXJmbG93RXJyb3IgUGFpciBQYXJzZUVycm9yIFBhcnRpYWxRdWlja1NvcnQgUGVybXV0ZWREaW1zQXJyYXkgUGlwZSBQb2xsaW5nRmlsZVdhdGNoZXIgUHJvY2Vzc0V4aXRlZEV4Y2VwdGlvbiBQdHIgUXVvdGVOb2RlIFJhbmRvbURldmljZSBSYW5nZSBSYW5nZUluZGV4IFJhdGlvbmFsIFJhd0ZEIFJlYWRPbmx5TWVtb3J5RXJyb3IgUmVhbCBSZWVudHJhbnRMb2NrIFJlZiBSZWdleCBSZWdleE1hdGNoIFJlbW90ZUNoYW5uZWwgUmVtb3RlRXhjZXB0aW9uIFJldlN0cmluZyBSb3VuZGluZ01vZGUgUm93VmVjdG9yIFNTQVZhbHVlIFNlZ21lbnRhdGlvbkZhdWx0IFNlcmlhbGl6YXRpb25TdGF0ZSBTZXQgU2hhcmVkQXJyYXkgU2hhcmVkTWF0cml4IFNoYXJlZFZlY3RvciBTaWduZWQgU2ltcGxlVmVjdG9yIFNsb3QgU2xvdE51bWJlciBTcGFyc2VNYXRyaXhDU0MgU3BhcnNlVmVjdG9yIFN0YWNrRnJhbWUgU3RhY2tPdmVyZmxvd0Vycm9yIFN0YWNrVHJhY2UgU3RlcFJhbmdlIFN0ZXBSYW5nZUxlbiBTdHJpZGVkQXJyYXkgU3RyaWRlZE1hdHJpeCBTdHJpZGVkVmVjT3JNYXQgU3RyaWRlZFZlY3RvciBTdHJpbmcgU3ViQXJyYXkgU3ViU3RyaW5nIFN5bVRyaWRpYWdvbmFsIFN5bWJvbCBTeW1tZXRyaWMgU3lzdGVtRXJyb3IgVENQU29ja2V0IFRhc2sgVGV4dCBUZXh0RGlzcGxheSBUaW1lciBUcmlkaWFnb25hbCBUdXBsZSBUeXBlIFR5cGVFcnJvciBUeXBlTWFwRW50cnkgVHlwZU1hcExldmVsIFR5cGVOYW1lIFR5cGVWYXIgVHlwZWRTbG90IFVEUFNvY2tldCBVSW50IFVJbnQxMjggVUludDE2IFVJbnQzMiBVSW50NjQgVUludDggVW5kZWZSZWZFcnJvciBVbmRlZlZhckVycm9yIFVuaWNvZGVFcnJvciBVbmlmb3JtU2NhbGluZyBVbmlvbiBVbmlvbkFsbCBVbml0UmFuZ2UgVW5zaWduZWQgVXBwZXJUcmlhbmd1bGFyIFZhbCBWYXJhcmcgVmVjRWxlbWVudCBWZWNPck1hdCBWZWN0b3IgVmVyc2lvbk51bWJlciBWb2lkIFdlYWtLZXlEaWN0IFdlYWtSZWYgV29ya2VyQ29uZmlnIFdvcmtlclBvb2wgIn0sdD0iW0EtWmEtel9cXHUwMEExLVxcdUZGRkZdW0EtWmEtel8wLTlcXHUwMEExLVxcdUZGRkZdKiIsYT17bDp0LGs6cixpOi88XC8vfSxuPXtjTjoibnVtYmVyIixiOi8oXGIweFtcZF9dKihcLltcZF9dKik/fDB4XC5cZFtcZF9dKilwWy0rXT9cZCt8XGIwW2JveF1bYS1mQS1GMC05XVthLWZBLUYwLTlfXSp8KFxiXGRbXGRfXSooXC5bXGRfXSopP3xcLlxkW1xkX10qKShbZUVmRl1bLStdP1xkKyk/LyxyOjB9LG89e2NOOiJzdHJpbmciLGI6LycoLnxcXFt4WHVVXVthLXpBLVowLTldKyknL30saT17Y046InN1YnN0IixiOi9cJFwoLyxlOi9cKS8sazpyfSxsPXtjTjoidmFyaWFibGUiLGI6IlxcJCIrdH0sYz17Y046InN0cmluZyIsYzpbZS5CRSxpLGxdLHY6W3tiOi9cdyoiIiIvLGU6LyIiIlx3Ki8scjoxMH0se2I6L1x3KiIvLGU6LyJcdyovfV19LHM9e2NOOiJzdHJpbmciLGM6W2UuQkUsaSxsXSxiOiJgIixlOiJgIn0sZD17Y046Im1ldGEiLGI6IkAiK3R9LHU9e2NOOiJjb21tZW50Iix2Olt7YjoiIz0iLGU6Ij0jIixyOjEwfSx7YjoiIyIsZToiJCJ9XX07cmV0dXJuIGEuYz1bbixvLGMscyxkLHUsZS5IQ00se2NOOiJrZXl3b3JkIixiOiJcXGIoKChhYnN0cmFjdHxwcmltaXRpdmUpXFxzKyl0eXBlfChtdXRhYmxlXFxzKyk/c3RydWN0KVxcYiJ9LHtiOi88Oi99XSxpLmM9YS5jLGF9KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImNvZmZlZXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIGM9e2tleXdvcmQ6ImluIGlmIGZvciB3aGlsZSBmaW5hbGx5IG5ldyBkbyByZXR1cm4gZWxzZSBicmVhayBjYXRjaCBpbnN0YW5jZW9mIHRocm93IHRyeSB0aGlzIHN3aXRjaCBjb250aW51ZSB0eXBlb2YgZGVsZXRlIGRlYnVnZ2VyIHN1cGVyIHlpZWxkIGltcG9ydCBleHBvcnQgZnJvbSBhcyBkZWZhdWx0IGF3YWl0IHRoZW4gdW5sZXNzIHVudGlsIGxvb3Agb2YgYnkgd2hlbiBhbmQgb3IgaXMgaXNudCBub3QiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgeWVzIG5vIG9uIG9mZiIsYnVpbHRfaW46Im5wbSByZXF1aXJlIGNvbnNvbGUgcHJpbnQgbW9kdWxlIGdsb2JhbCB3aW5kb3cgZG9jdW1lbnQifSxuPSJbQS1aYS16JF9dWzAtOUEtWmEteiRfXSoiLHI9e2NOOiJzdWJzdCIsYjovI1x7LyxlOi99LyxrOmN9LGk9W2UuQk5NLGUuaW5oZXJpdChlLkNOTSx7c3RhcnRzOntlOiIoXFxzKi8pPyIscjowfX0pLHtjTjoic3RyaW5nIix2Olt7YjovJycnLyxlOi8nJycvLGM6W2UuQkVdfSx7YjovJy8sZTovJy8sYzpbZS5CRV19LHtiOi8iIiIvLGU6LyIiIi8sYzpbZS5CRSxyXX0se2I6LyIvLGU6LyIvLGM6W2UuQkUscl19XX0se2NOOiJyZWdleHAiLHY6W3tiOiIvLy8iLGU6Ii8vLyIsYzpbcixlLkhDTV19LHtiOiIvL1tnaW1dKiIscjowfSx7YjovXC8oPyFbICpdKShcXFwvfC4pKj9cL1tnaW1dKig/PVxXfCQpL31dfSx7YjoiQCIrbn0se3NMOiJqYXZhc2NyaXB0IixlQjohMCxlRTohMCx2Olt7YjoiYGBgIixlOiJgYGAifSx7YjoiYCIsZToiYCJ9XX1dO3IuYz1pO3ZhciBzPWUuaW5oZXJpdChlLlRNLHtiOm59KSx0PSIoXFwoLipcXCkpP1xccypcXEJbLT1dPiIsbz17Y046InBhcmFtcyIsYjoiXFwoW15cXChdIixyQjohMCxjOlt7YjovXCgvLGU6L1wpLyxrOmMsYzpbInNlbGYiXS5jb25jYXQoaSl9XX07cmV0dXJue2FsaWFzZXM6WyJjb2ZmZWUiLCJjc29uIiwiaWNlZCJdLGs6YyxpOi9cL1wqLyxjOmkuY29uY2F0KFtlLkMoIiMjIyIsIiMjIyIpLGUuSENNLHtjTjoiZnVuY3Rpb24iLGI6Il5cXHMqIituKyJcXHMqPVxccyoiK3QsZToiWy09XT4iLHJCOiEwLGM6W3Msb119LHtiOi9bOlwoLD1dXHMqLyxyOjAsYzpbe2NOOiJmdW5jdGlvbiIsYjp0LGU6IlstPV0+IixyQjohMCxjOltvXX1dfSx7Y046ImNsYXNzIixiSzoiY2xhc3MiLGU6IiQiLGk6L1s6PSJcW1xdXS8sYzpbe2JLOiJleHRlbmRzIixlVzohMCxpOi9bOj0iXFtcXV0vLGM6W3NdfSxzXX0se2I6bisiOiIsZToiOiIsckI6ITAsckU6ITAscjowfV0pfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiY3BwIixmdW5jdGlvbih0KXt2YXIgZT17Y046ImtleXdvcmQiLGI6IlxcYlthLXpcXGRfXSpfdFxcYiJ9LHI9e2NOOiJzdHJpbmciLHY6W3tiOicodTg/fFUpP0w/IicsZTonIicsaToiXFxuIixjOlt0LkJFXX0se2I6Jyh1OD98VSk/UiInLGU6JyInLGM6W3QuQkVdfSx7YjoiJ1xcXFw/LiIsZToiJyIsaToiLiJ9XX0scz17Y046Im51bWJlciIsdjpbe2I6IlxcYigwYlswMSddKykifSx7YjoiKC0/KVxcYihbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKSh1fFV8bHxMfHVsfFVMfGZ8RnxifEIpIn0se2I6IigtPykoXFxiMFt4WF1bYS1mQS1GMC05J10rfChcXGJbXFxkJ10rKFxcLltcXGQnXSopP3xcXC5bXFxkJ10rKShbZUVdWy0rXT9bXFxkJ10rKT8pIn1dLHI6MH0saT17Y046Im1ldGEiLGI6LyNccypbYS16XStcYi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6ImlmIGVsc2UgZWxpZiBlbmRpZiBkZWZpbmUgdW5kZWYgd2FybmluZyBlcnJvciBsaW5lIHByYWdtYSBpZmRlZiBpZm5kZWYgaW5jbHVkZSJ9LGM6W3tiOi9cXFxuLyxyOjB9LHQuaW5oZXJpdChyLHtjTjoibWV0YS1zdHJpbmcifSkse2NOOiJtZXRhLXN0cmluZyIsYjovPFteXG4+XSo+LyxlOi8kLyxpOiJcXG4ifSx0LkNMQ00sdC5DQkNNXX0sYT10LklSKyJcXHMqXFwoIixjPXtrZXl3b3JkOiJpbnQgZmxvYXQgd2hpbGUgcHJpdmF0ZSBjaGFyIGNhdGNoIGltcG9ydCBtb2R1bGUgZXhwb3J0IHZpcnR1YWwgb3BlcmF0b3Igc2l6ZW9mIGR5bmFtaWNfY2FzdHwxMCB0eXBlZGVmIGNvbnN0X2Nhc3R8MTAgY29uc3QgZm9yIHN0YXRpY19jYXN0fDEwIHVuaW9uIG5hbWVzcGFjZSB1bnNpZ25lZCBsb25nIHZvbGF0aWxlIHN0YXRpYyBwcm90ZWN0ZWQgYm9vbCB0ZW1wbGF0ZSBtdXRhYmxlIGlmIHB1YmxpYyBmcmllbmQgZG8gZ290byBhdXRvIHZvaWQgZW51bSBlbHNlIGJyZWFrIGV4dGVybiB1c2luZyBhc20gY2FzZSB0eXBlaWQgc2hvcnQgcmVpbnRlcnByZXRfY2FzdHwxMCBkZWZhdWx0IGRvdWJsZSByZWdpc3RlciBleHBsaWNpdCBzaWduZWQgdHlwZW5hbWUgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIGlubGluZSBkZWxldGUgYWxpZ25vZiBjb25zdGV4cHIgZGVjbHR5cGUgbm9leGNlcHQgc3RhdGljX2Fzc2VydCB0aHJlYWRfbG9jYWwgcmVzdHJpY3QgX0Jvb2wgY29tcGxleCBfQ29tcGxleCBfSW1hZ2luYXJ5IGF0b21pY19ib29sIGF0b21pY19jaGFyIGF0b21pY19zY2hhciBhdG9taWNfdWNoYXIgYXRvbWljX3Nob3J0IGF0b21pY191c2hvcnQgYXRvbWljX2ludCBhdG9taWNfdWludCBhdG9taWNfbG9uZyBhdG9taWNfdWxvbmcgYXRvbWljX2xsb25nIGF0b21pY191bGxvbmcgbmV3IHRocm93IHJldHVybiBhbmQgb3Igbm90IixidWlsdF9pbjoic3RkIHN0cmluZyBjaW4gY291dCBjZXJyIGNsb2cgc3RkaW4gc3Rkb3V0IHN0ZGVyciBzdHJpbmdzdHJlYW0gaXN0cmluZ3N0cmVhbSBvc3RyaW5nc3RyZWFtIGF1dG9fcHRyIGRlcXVlIGxpc3QgcXVldWUgc3RhY2sgdmVjdG9yIG1hcCBzZXQgYml0c2V0IG11bHRpc2V0IG11bHRpbWFwIHVub3JkZXJlZF9zZXQgdW5vcmRlcmVkX21hcCB1bm9yZGVyZWRfbXVsdGlzZXQgdW5vcmRlcmVkX211bHRpbWFwIGFycmF5IHNoYXJlZF9wdHIgYWJvcnQgYWJzIGFjb3MgYXNpbiBhdGFuMiBhdGFuIGNhbGxvYyBjZWlsIGNvc2ggY29zIGV4aXQgZXhwIGZhYnMgZmxvb3IgZm1vZCBmcHJpbnRmIGZwdXRzIGZyZWUgZnJleHAgZnNjYW5mIGlzYWxudW0gaXNhbHBoYSBpc2NudHJsIGlzZGlnaXQgaXNncmFwaCBpc2xvd2VyIGlzcHJpbnQgaXNwdW5jdCBpc3NwYWNlIGlzdXBwZXIgaXN4ZGlnaXQgdG9sb3dlciB0b3VwcGVyIGxhYnMgbGRleHAgbG9nMTAgbG9nIG1hbGxvYyByZWFsbG9jIG1lbWNociBtZW1jbXAgbWVtY3B5IG1lbXNldCBtb2RmIHBvdyBwcmludGYgcHV0Y2hhciBwdXRzIHNjYW5mIHNpbmggc2luIHNucHJpbnRmIHNwcmludGYgc3FydCBzc2NhbmYgc3RyY2F0IHN0cmNociBzdHJjbXAgc3RyY3B5IHN0cmNzcG4gc3RybGVuIHN0cm5jYXQgc3RybmNtcCBzdHJuY3B5IHN0cnBicmsgc3RycmNociBzdHJzcG4gc3Ryc3RyIHRhbmggdGFuIHZmcHJpbnRmIHZwcmludGYgdnNwcmludGYgZW5kbCBpbml0aWFsaXplcl9saXN0IHVuaXF1ZV9wdHIiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbHB0ciBOVUxMIn0sbj1bZSx0LkNMQ00sdC5DQkNNLHMscl07cmV0dXJue2FsaWFzZXM6WyJjIiwiY2MiLCJoIiwiYysrIiwiaCsrIiwiaHBwIl0sazpjLGk6IjwvIixjOm4uY29uY2F0KFtpLHtiOiJcXGIoZGVxdWV8bGlzdHxxdWV1ZXxzdGFja3x2ZWN0b3J8bWFwfHNldHxiaXRzZXR8bXVsdGlzZXR8bXVsdGltYXB8dW5vcmRlcmVkX21hcHx1bm9yZGVyZWRfc2V0fHVub3JkZXJlZF9tdWx0aXNldHx1bm9yZGVyZWRfbXVsdGltYXB8YXJyYXkpXFxzKjwiLGU6Ij4iLGs6YyxjOlsic2VsZiIsZV19LHtiOnQuSVIrIjo6IixrOmN9LHt2Olt7YjovPS8sZTovOy99LHtiOi9cKC8sZTovXCkvfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIsZTovOy99XSxrOmMsYzpuLmNvbmNhdChbe2I6L1woLyxlOi9cKS8sazpjLGM6bi5jb25jYXQoWyJzZWxmIl0pLHI6MH1dKSxyOjB9LHtjTjoiZnVuY3Rpb24iLGI6IigiK3QuSVIrIltcXComXFxzXSspKyIrYSxyQjohMCxlOi9bezs9XS8sZUU6ITAsazpjLGk6L1teXHdcc1wqJl0vLGM6W3tiOmEsckI6ITAsYzpbdC5UTV0scjowfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOmMscjowLGM6W3QuQ0xDTSx0LkNCQ00scixzLGVdfSx0LkNMQ00sdC5DQkNNLGldfSx7Y046ImNsYXNzIixiSzoiY2xhc3Mgc3RydWN0IixlOi9bezs6XS8sYzpbe2I6LzwvLGU6Lz4vLGM6WyJzZWxmIl19LHQuVE1dfV0pLGV4cG9ydHM6e3ByZXByb2Nlc3NvcjppLHN0cmluZ3M6cixrOmN9fX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgicnVieSIsZnVuY3Rpb24oZSl7dmFyIGI9IlthLXpBLVpfXVxcdypbIT89XT98Wy0rfl1cXEB8PDx8Pj58PX58PT09P3w8PT58Wzw+XT0/fFxcKlxcKnxbLS8rJV4mKn5gfF18XFxbXFxdPT8iLHI9e2tleXdvcmQ6ImFuZCB0aGVuIGRlZmluZWQgbW9kdWxlIGluIHJldHVybiByZWRvIGlmIEJFR0lOIHJldHJ5IGVuZCBmb3Igc2VsZiB3aGVuIG5leHQgdW50aWwgZG8gYmVnaW4gdW5sZXNzIEVORCByZXNjdWUgZWxzZSBicmVhayB1bmRlZiBub3Qgc3VwZXIgY2xhc3MgY2FzZSByZXF1aXJlIHlpZWxkIGFsaWFzIHdoaWxlIGVuc3VyZSBlbHNpZiBvciBpbmNsdWRlIGF0dHJfcmVhZGVyIGF0dHJfd3JpdGVyIGF0dHJfYWNjZXNzb3IiLGxpdGVyYWw6InRydWUgZmFsc2UgbmlsIn0sYz17Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9LGE9e2I6IiM8IixlOiI+In0scz1bZS5DKCIjIiwiJCIse2M6W2NdfSksZS5DKCJeXFw9YmVnaW4iLCJeXFw9ZW5kIix7YzpbY10scjoxMH0pLGUuQygiXl9fRU5EX18iLCJcXG4kIildLG49e2NOOiJzdWJzdCIsYjoiI1xceyIsZToifSIsazpyfSx0PXtjTjoic3RyaW5nIixjOltlLkJFLG5dLHY6W3tiOi8nLyxlOi8nL30se2I6LyIvLGU6LyIvfSx7YjovYC8sZTovYC99LHtiOiIlW3FRd1d4XT9cXCgiLGU6IlxcKSJ9LHtiOiIlW3FRd1d4XT9cXFsiLGU6IlxcXSJ9LHtiOiIlW3FRd1d4XT97IixlOiJ9In0se2I6IiVbcVF3V3hdPzwiLGU6Ij4ifSx7YjoiJVtxUXdXeF0/LyIsZToiLyJ9LHtiOiIlW3FRd1d4XT8lIixlOiIlIn0se2I6IiVbcVF3V3hdPy0iLGU6Ii0ifSx7YjoiJVtxUXdXeF0/XFx8IixlOiJcXHwifSx7YjovXEJcPyhcXFxkezEsM318XFx4W0EtRmEtZjAtOV17MSwyfXxcXHVbQS1GYS1mMC05XXs0fXxcXD9cUylcYi99LHtiOi88PCgtPylcdyskLyxlOi9eXHMqXHcrJC99XX0saT17Y046InBhcmFtcyIsYjoiXFwoIixlOiJcXCkiLGVuZHNQYXJlbnQ6ITAsazpyfSxkPVt0LGEse2NOOiJjbGFzcyIsYks6ImNsYXNzIG1vZHVsZSIsZToiJHw7IixpOi89LyxjOltlLmluaGVyaXQoZS5UTSx7YjoiW0EtWmEtel9dXFx3Kig6OlxcdyspKihcXD98XFwhKT8ifSkse2I6IjxcXHMqIixjOlt7YjoiKCIrZS5JUisiOjopPyIrZS5JUn1dfV0uY29uY2F0KHMpfSx7Y046ImZ1bmN0aW9uIixiSzoiZGVmIixlOiIkfDsiLGM6W2UuaW5oZXJpdChlLlRNLHtiOmJ9KSxpXS5jb25jYXQocyl9LHtiOmUuSVIrIjo6In0se2NOOiJzeW1ib2wiLGI6ZS5VSVIrIihcXCF8XFw/KT86IixyOjB9LHtjTjoic3ltYm9sIixiOiI6KD8hXFxzKSIsYzpbdCx7YjpifV0scjowfSx7Y046Im51bWJlciIsYjoiKFxcYjBbMC03X10rKXwoXFxiMHhbMC05YS1mQS1GX10rKXwoXFxiWzEtOV1bMC05X10qKFxcLlswLTlfXSspPyl8WzBfXVxcYiIscjowfSx7YjoiKFxcJFxcVyl8KChcXCR8XFxAXFxAPykoXFx3KykpIn0se2NOOiJwYXJhbXMiLGI6L1x8LyxlOi9cfC8sazpyfSx7YjoiKCIrZS5SU1IrInx1bmxlc3MpXFxzKiIsazoidW5sZXNzIixjOlthLHtjTjoicmVnZXhwIixjOltlLkJFLG5dLGk6L1xuLyx2Olt7YjoiLyIsZToiL1thLXpdKiJ9LHtiOiIlcnsiLGU6In1bYS16XSoifSx7YjoiJXJcXCgiLGU6IlxcKVthLXpdKiJ9LHtiOiIlciEiLGU6IiFbYS16XSoifSx7YjoiJXJcXFsiLGU6IlxcXVthLXpdKiJ9XX1dLmNvbmNhdChzKSxyOjB9XS5jb25jYXQocyk7bi5jPWQsaS5jPWQ7dmFyIGw9Ils+P10+IixvPSJbXFx3I10rXFwoXFx3K1xcKTpcXGQrOlxcZCs+Iix1PSIoXFx3Ky0pP1xcZCtcXC5cXGQrXFwuXFxkKHBcXGQrKT9bXj5dKz4iLHc9W3tiOi9eXHMqPT4vLHN0YXJ0czp7ZToiJCIsYzpkfX0se2NOOiJtZXRhIixiOiJeKCIrbCsifCIrbysifCIrdSsiKSIsc3RhcnRzOntlOiIkIixjOmR9fV07cmV0dXJue2FsaWFzZXM6WyJyYiIsImdlbXNwZWMiLCJwb2RzcGVjIiwidGhvciIsImlyYiJdLGs6cixpOi9cL1wqLyxjOnMuY29uY2F0KHcpLmNvbmNhdChkKX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInlhbWwiLGZ1bmN0aW9uKGUpe3ZhciBiPSJ0cnVlIGZhbHNlIHllcyBubyBudWxsIixhPSJeWyBcXC1dKiIscj0iW2EtekEtWl9dW1xcd1xcLV0qIix0PXtjTjoiYXR0ciIsdjpbe2I6YStyKyI6In0se2I6YSsnIicrcisnIjonfSx7YjphKyInIityKyInOiJ9XX0sYz17Y046InRlbXBsYXRlLXZhcmlhYmxlIix2Olt7Yjoie3siLGU6In19In0se2I6IiV7IixlOiJ9In1dfSxsPXtjTjoic3RyaW5nIixyOjAsdjpbe2I6LycvLGU6LycvfSx7YjovIi8sZTovIi99LHtiOi9cUysvfV0sYzpbZS5CRSxjXX07cmV0dXJue2NJOiEwLGFsaWFzZXM6WyJ5bWwiLCJZQU1MIiwieWFtbCJdLGM6W3Qse2NOOiJtZXRhIixiOiJeLS0tcyokIixyOjEwfSx7Y046InN0cmluZyIsYjoiW1xcfD5dICokIixyRTohMCxjOmwuYyxlOnQudlswXS5ifSx7YjoiPCVbJT0tXT8iLGU6IlslLV0/JT4iLHNMOiJydWJ5IixlQjohMCxlRTohMCxyOjB9LHtjTjoidHlwZSIsYjoiISEiK2UuVUlSfSx7Y046Im1ldGEiLGI6IiYiK2UuVUlSKyIkIn0se2NOOiJtZXRhIixiOiJcXCoiK2UuVUlSKyIkIn0se2NOOiJidWxsZXQiLGI6Il4gKi0iLHI6MH0sZS5IQ00se2JLOmIsazp7bGl0ZXJhbDpifX0sZS5DTk0sbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJjc3MiLGZ1bmN0aW9uKGUpe3ZhciBjPSJbYS16QS1aLV1bYS16QS1aMC05Xy1dKiIsdD17YjovW0EtWlxfXC5cLV0rXHMqOi8sckI6ITAsZToiOyIsZVc6ITAsYzpbe2NOOiJhdHRyaWJ1dGUiLGI6L1xTLyxlOiI6IixlRTohMCxzdGFydHM6e2VXOiEwLGVFOiEwLGM6W3tiOi9bXHctXStcKC8sckI6ITAsYzpbe2NOOiJidWlsdF9pbiIsYjovW1x3LV0rL30se2I6L1woLyxlOi9cKS8sYzpbZS5BU00sZS5RU01dfV19LGUuQ1NTTk0sZS5RU00sZS5BU00sZS5DQkNNLHtjTjoibnVtYmVyIixiOiIjWzAtOUEtRmEtZl0rIn0se2NOOiJtZXRhIixiOiIhaW1wb3J0YW50In1dfX1dfTtyZXR1cm57Y0k6ITAsaTovWz1cL3wnXCRdLyxjOltlLkNCQ00se2NOOiJzZWxlY3Rvci1pZCIsYjovI1tBLVphLXowLTlfLV0rL30se2NOOiJzZWxlY3Rvci1jbGFzcyIsYjovXC5bQS1aYS16MC05Xy1dKy99LHtjTjoic2VsZWN0b3ItYXR0ciIsYjovXFsvLGU6L1xdLyxpOiIkIn0se2NOOiJzZWxlY3Rvci1wc2V1ZG8iLGI6LzooOik/W2EtekEtWjAtOVxfXC1cK1woXCkiJy5dKy99LHtiOiJAKGZvbnQtZmFjZXxwYWdlKSIsbDoiW2Etei1dKyIsazoiZm9udC1mYWNlIHBhZ2UifSx7YjoiQCIsZToiW3s7XSIsaTovOi8sYzpbe2NOOiJrZXl3b3JkIixiOi9cdysvfSx7YjovXHMvLGVXOiEwLGVFOiEwLHI6MCxjOltlLkFTTSxlLlFTTSxlLkNTU05NXX1dfSx7Y046InNlbGVjdG9yLXRhZyIsYjpjLHI6MH0se2I6InsiLGU6In0iLGk6L1xTLyxjOltlLkNCQ00sdF19XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoImZvcnRyYW4iLGZ1bmN0aW9uKGUpe3ZhciB0PXtjTjoicGFyYW1zIixiOiJcXCgiLGU6IlxcKSJ9LG49e2xpdGVyYWw6Ii5GYWxzZS4gLlRydWUuIixrZXl3b3JkOiJraW5kIGRvIHdoaWxlIHByaXZhdGUgY2FsbCBpbnRyaW5zaWMgd2hlcmUgZWxzZXdoZXJlIHR5cGUgZW5kdHlwZSBlbmRtb2R1bGUgZW5kc2VsZWN0IGVuZGludGVyZmFjZSBlbmQgZW5kZG8gZW5kaWYgaWYgZm9yYWxsIGVuZGZvcmFsbCBvbmx5IGNvbnRhaW5zIGRlZmF1bHQgcmV0dXJuIHN0b3AgdGhlbiBwdWJsaWMgc3Vicm91dGluZXwxMCBmdW5jdGlvbiBwcm9ncmFtIC5hbmQuIC5vci4gLm5vdC4gLmxlLiAuZXEuIC5nZS4gLmd0LiAubHQuIGdvdG8gc2F2ZSBlbHNlIHVzZSBtb2R1bGUgc2VsZWN0IGNhc2UgYWNjZXNzIGJsYW5rIGRpcmVjdCBleGlzdCBmaWxlIGZtdCBmb3JtIGZvcm1hdHRlZCBpb3N0YXQgbmFtZSBuYW1lZCBuZXh0cmVjIG51bWJlciBvcGVuZWQgcmVjIHJlY2wgc2VxdWVudGlhbCBzdGF0dXMgdW5mb3JtYXR0ZWQgdW5pdCBjb250aW51ZSBmb3JtYXQgcGF1c2UgY3ljbGUgZXhpdCBjX251bGxfY2hhciBjX2FsZXJ0IGNfYmFja3NwYWNlIGNfZm9ybV9mZWVkIGZsdXNoIHdhaXQgZGVjaW1hbCByb3VuZCBpb21zZyBzeW5jaHJvbm91cyBub3Bhc3Mgbm9uX292ZXJyaWRhYmxlIHBhc3MgcHJvdGVjdGVkIHZvbGF0aWxlIGFic3RyYWN0IGV4dGVuZHMgaW1wb3J0IG5vbl9pbnRyaW5zaWMgdmFsdWUgZGVmZXJyZWQgZ2VuZXJpYyBmaW5hbCBlbnVtZXJhdG9yIGNsYXNzIGFzc29jaWF0ZSBiaW5kIGVudW0gY19pbnQgY19zaG9ydCBjX2xvbmcgY19sb25nX2xvbmcgY19zaWduZWRfY2hhciBjX3NpemVfdCBjX2ludDhfdCBjX2ludDE2X3QgY19pbnQzMl90IGNfaW50NjRfdCBjX2ludF9sZWFzdDhfdCBjX2ludF9sZWFzdDE2X3QgY19pbnRfbGVhc3QzMl90IGNfaW50X2xlYXN0NjRfdCBjX2ludF9mYXN0OF90IGNfaW50X2Zhc3QxNl90IGNfaW50X2Zhc3QzMl90IGNfaW50X2Zhc3Q2NF90IGNfaW50bWF4X3QgQ19pbnRwdHJfdCBjX2Zsb2F0IGNfZG91YmxlIGNfbG9uZ19kb3VibGUgY19mbG9hdF9jb21wbGV4IGNfZG91YmxlX2NvbXBsZXggY19sb25nX2RvdWJsZV9jb21wbGV4IGNfYm9vbCBjX2NoYXIgY19udWxsX3B0ciBjX251bGxfZnVucHRyIGNfbmV3X2xpbmUgY19jYXJyaWFnZV9yZXR1cm4gY19ob3Jpem9udGFsX3RhYiBjX3ZlcnRpY2FsX3RhYiBpc29fY19iaW5kaW5nIGNfbG9jIGNfZnVubG9jIGNfYXNzb2NpYXRlZCAgY19mX3BvaW50ZXIgY19wdHIgY19mdW5wdHIgaXNvX2ZvcnRyYW5fZW52IGNoYXJhY3Rlcl9zdG9yYWdlX3NpemUgZXJyb3JfdW5pdCBmaWxlX3N0b3JhZ2Vfc2l6ZSBpbnB1dF91bml0IGlvc3RhdF9lbmQgaW9zdGF0X2VvciBudW1lcmljX3N0b3JhZ2Vfc2l6ZSBvdXRwdXRfdW5pdCBjX2ZfcHJvY3BvaW50ZXIgaWVlZV9hcml0aG1ldGljIGllZWVfc3VwcG9ydF91bmRlcmZsb3dfY29udHJvbCBpZWVlX2dldF91bmRlcmZsb3dfbW9kZSBpZWVlX3NldF91bmRlcmZsb3dfbW9kZSBuZXd1bml0IGNvbnRpZ3VvdXMgcmVjdXJzaXZlIHBhZCBwb3NpdGlvbiBhY3Rpb24gZGVsaW0gcmVhZHdyaXRlIGVvciBhZHZhbmNlIG5tbCBpbnRlcmZhY2UgcHJvY2VkdXJlIG5hbWVsaXN0IGluY2x1ZGUgc2VxdWVuY2UgZWxlbWVudGFsIHB1cmUgaW50ZWdlciByZWFsIGNoYXJhY3RlciBjb21wbGV4IGxvZ2ljYWwgZGltZW5zaW9uIGFsbG9jYXRhYmxlfDEwIHBhcmFtZXRlciBleHRlcm5hbCBpbXBsaWNpdHwxMCBub25lIGRvdWJsZSBwcmVjaXNpb24gYXNzaWduIGludGVudCBvcHRpb25hbCBwb2ludGVyIHRhcmdldCBpbiBvdXQgY29tbW9uIGVxdWl2YWxlbmNlIGRhdGEiLGJ1aWx0X2luOiJhbG9nIGFsb2cxMCBhbWF4MCBhbWF4MSBhbWluMCBhbWluMSBhbW9kIGNhYnMgY2NvcyBjZXhwIGNsb2cgY3NpbiBjc3FydCBkYWJzIGRhY29zIGRhc2luIGRhdGFuIGRhdGFuMiBkY29zIGRjb3NoIGRkaW0gZGV4cCBkaW50IGRsb2cgZGxvZzEwIGRtYXgxIGRtaW4xIGRtb2QgZG5pbnQgZHNpZ24gZHNpbiBkc2luaCBkc3FydCBkdGFuIGR0YW5oIGZsb2F0IGlhYnMgaWRpbSBpZGludCBpZG5pbnQgaWZpeCBpc2lnbiBtYXgwIG1heDEgbWluMCBtaW4xIHNuZ2wgYWxnYW1hIGNkYWJzIGNkY29zIGNkZXhwIGNkbG9nIGNkc2luIGNkc3FydCBjcWFicyBjcWNvcyBjcWV4cCBjcWxvZyBjcXNpbiBjcXNxcnQgZGNtcGx4IGRjb25qZyBkZXJmIGRlcmZjIGRmbG9hdCBkZ2FtbWEgZGltYWcgZGxnYW1hIGlxaW50IHFhYnMgcWFjb3MgcWFzaW4gcWF0YW4gcWF0YW4yIHFjbXBseCBxY29uamcgcWNvcyBxY29zaCBxZGltIHFlcmYgcWVyZmMgcWV4cCBxZ2FtbWEgcWltYWcgcWxnYW1hIHFsb2cgcWxvZzEwIHFtYXgxIHFtaW4xIHFtb2QgcW5pbnQgcXNpZ24gcXNpbiBxc2luaCBxc3FydCBxdGFuIHF0YW5oIGFicyBhY29zIGFpbWFnIGFpbnQgYW5pbnQgYXNpbiBhdGFuIGF0YW4yIGNoYXIgY21wbHggY29uamcgY29zIGNvc2ggZXhwIGljaGFyIGluZGV4IGludCBsb2cgbG9nMTAgbWF4IG1pbiBuaW50IHNpZ24gc2luIHNpbmggc3FydCB0YW4gdGFuaCBwcmludCB3cml0ZSBkaW0gbGdlIGxndCBsbGUgbGx0IG1vZCBudWxsaWZ5IGFsbG9jYXRlIGRlYWxsb2NhdGUgYWRqdXN0bCBhZGp1c3RyIGFsbCBhbGxvY2F0ZWQgYW55IGFzc29jaWF0ZWQgYml0X3NpemUgYnRlc3QgY2VpbGluZyBjb3VudCBjc2hpZnQgZGF0ZV9hbmRfdGltZSBkaWdpdHMgZG90X3Byb2R1Y3QgZW9zaGlmdCBlcHNpbG9uIGV4cG9uZW50IGZsb29yIGZyYWN0aW9uIGh1Z2UgaWFuZCBpYmNsciBpYml0cyBpYnNldCBpZW9yIGlvciBpc2hmdCBpc2hmdGMgbGJvdW5kIGxlbl90cmltIG1hdG11bCBtYXhleHBvbmVudCBtYXhsb2MgbWF4dmFsIG1lcmdlIG1pbmV4cG9uZW50IG1pbmxvYyBtaW52YWwgbW9kdWxvIG12Yml0cyBuZWFyZXN0IHBhY2sgcHJlc2VudCBwcm9kdWN0IHJhZGl4IHJhbmRvbV9udW1iZXIgcmFuZG9tX3NlZWQgcmFuZ2UgcmVwZWF0IHJlc2hhcGUgcnJzcGFjaW5nIHNjYWxlIHNjYW4gc2VsZWN0ZWRfaW50X2tpbmQgc2VsZWN0ZWRfcmVhbF9raW5kIHNldF9leHBvbmVudCBzaGFwZSBzaXplIHNwYWNpbmcgc3ByZWFkIHN1bSBzeXN0ZW1fY2xvY2sgdGlueSB0cmFuc3Bvc2UgdHJpbSB1Ym91bmQgdW5wYWNrIHZlcmlmeSBhY2hhciBpYWNoYXIgdHJhbnNmZXIgZGJsZSBlbnRyeSBkcHJvZCBjcHVfdGltZSBjb21tYW5kX2FyZ3VtZW50X2NvdW50IGdldF9jb21tYW5kIGdldF9jb21tYW5kX2FyZ3VtZW50IGdldF9lbnZpcm9ubWVudF92YXJpYWJsZSBpc19pb3N0YXRfZW5kIGllZWVfYXJpdGhtZXRpYyBpZWVlX3N1cHBvcnRfdW5kZXJmbG93X2NvbnRyb2wgaWVlZV9nZXRfdW5kZXJmbG93X21vZGUgaWVlZV9zZXRfdW5kZXJmbG93X21vZGUgaXNfaW9zdGF0X2VvciBtb3ZlX2FsbG9jIG5ld19saW5lIHNlbGVjdGVkX2NoYXJfa2luZCBzYW1lX3R5cGVfYXMgZXh0ZW5kc190eXBlX29mYWNvc2ggYXNpbmggYXRhbmggYmVzc2VsX2owIGJlc3NlbF9qMSBiZXNzZWxfam4gYmVzc2VsX3kwIGJlc3NlbF95MSBiZXNzZWxfeW4gZXJmIGVyZmMgZXJmY19zY2FsZWQgZ2FtbWEgbG9nX2dhbW1hIGh5cG90IG5vcm0yIGF0b21pY19kZWZpbmUgYXRvbWljX3JlZiBleGVjdXRlX2NvbW1hbmRfbGluZSBsZWFkeiB0cmFpbHogc3RvcmFnZV9zaXplIG1lcmdlX2JpdHMgYmdlIGJndCBibGUgYmx0IGRzaGlmdGwgZHNoaWZ0ciBmaW5kbG9jIGlhbGwgaWFueSBpcGFyaXR5IGltYWdlX2luZGV4IGxjb2JvdW5kIHVjb2JvdW5kIG1hc2tsIG1hc2tyIG51bV9pbWFnZXMgcGFyaXR5IHBvcGNudCBwb3BwYXIgc2hpZnRhIHNoaWZ0bCBzaGlmdHIgdGhpc19pbWFnZSJ9O3JldHVybntjSTohMCxhbGlhc2VzOlsiZjkwIiwiZjk1Il0sazpuLGk6L1wvXCovLGM6W2UuaW5oZXJpdChlLkFTTSx7Y046InN0cmluZyIscjowfSksZS5pbmhlcml0KGUuUVNNLHtjTjoic3RyaW5nIixyOjB9KSx7Y046ImZ1bmN0aW9uIixiSzoic3Vicm91dGluZSBmdW5jdGlvbiBwcm9ncmFtIixpOiJbJHs9XFxuXSIsYzpbZS5VVE0sdF19LGUuQygiISIsIiQiLHtyOjB9KSx7Y046Im51bWJlciIsYjoiKD89XFxifFxcK3xcXC18XFwuKSg/PVxcLlxcZHxcXGQpKD86XFxkKyk/KD86XFwuP1xcZCopKD86W2RlXVsrLV0/XFxkKyk/XFxiXFwuPyIscjowfV19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJhd2siLGZ1bmN0aW9uKGUpe3ZhciByPXtjTjoidmFyaWFibGUiLHY6W3tiOi9cJFtcd1xkI0BdW1x3XGRfXSovfSx7YjovXCRceyguKj8pfS99XX0sYj0iQkVHSU4gRU5EIGlmIGVsc2Ugd2hpbGUgZG8gZm9yIGluIGJyZWFrIGNvbnRpbnVlIGRlbGV0ZSBuZXh0IG5leHRmaWxlIGZ1bmN0aW9uIGZ1bmMgZXhpdHwxMCIsbj17Y046InN0cmluZyIsYzpbZS5CRV0sdjpbe2I6Lyh1fGIpP3I/JycnLyxlOi8nJycvLHI6MTB9LHtiOi8odXxiKT9yPyIiIi8sZTovIiIiLyxyOjEwfSx7YjovKHV8cnx1ciknLyxlOi8nLyxyOjEwfSx7YjovKHV8cnx1cikiLyxlOi8iLyxyOjEwfSx7YjovKGJ8YnIpJy8sZTovJy99LHtiOi8oYnxicikiLyxlOi8iL30sZS5BU00sZS5RU01dfTtyZXR1cm57azp7a2V5d29yZDpifSxjOltyLG4sZS5STSxlLkhDTSxlLk5NXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoIm1ha2VmaWxlIixmdW5jdGlvbihlKXt2YXIgaT17Y046InZhcmlhYmxlIix2Olt7YjoiXFwkXFwoIitlLlVJUisiXFwpIixjOltlLkJFXX0se2I6L1wkW0AlPD9cXlwrXCpdL31dfSxyPXtjTjoic3RyaW5nIixiOi8iLyxlOi8iLyxjOltlLkJFLGldfSxhPXtjTjoidmFyaWFibGUiLGI6L1wkXChbXHctXStccy8sZTovXCkvLGs6e2J1aWx0X2luOiJzdWJzdCBwYXRzdWJzdCBzdHJpcCBmaW5kc3RyaW5nIGZpbHRlciBmaWx0ZXItb3V0IHNvcnQgd29yZCB3b3JkbGlzdCBmaXJzdHdvcmQgbGFzdHdvcmQgZGlyIG5vdGRpciBzdWZmaXggYmFzZW5hbWUgYWRkc3VmZml4IGFkZHByZWZpeCBqb2luIHdpbGRjYXJkIHJlYWxwYXRoIGFic3BhdGggZXJyb3Igd2FybmluZyBzaGVsbCBvcmlnaW4gZmxhdm9yIGZvcmVhY2ggaWYgb3IgYW5kIGNhbGwgZXZhbCBmaWxlIHZhbHVlIn0sYzpbaV19LG49e2I6Il4iK2UuVUlSKyJcXHMqWzorP10/PSIsaToiXFxuIixyQjohMCxjOlt7YjoiXiIrZS5VSVIsZToiWzorP10/PSIsZUU6ITB9XX0sdD17Y046Im1ldGEiLGI6L15cLlBIT05ZOi8sZTovJC8sazp7Im1ldGEta2V5d29yZCI6Ii5QSE9OWSJ9LGw6L1tcLlx3XSsvfSxsPXtjTjoic2VjdGlvbiIsYjovXlteXHNdKzovLGU6LyQvLGM6W2ldfTtyZXR1cm57YWxpYXNlczpbIm1rIiwibWFrIl0sazoiZGVmaW5lIGVuZGVmIHVuZGVmaW5lIGlmZGVmIGlmbmRlZiBpZmVxIGlmbmVxIGVsc2UgZW5kaWYgaW5jbHVkZSAtaW5jbHVkZSBzaW5jbHVkZSBvdmVycmlkZSBleHBvcnQgdW5leHBvcnQgcHJpdmF0ZSB2cGF0aCIsbDovW1x3LV0rLyxjOltlLkhDTSxpLHIsYSxuLHQsbF19fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJqYXZhIixmdW5jdGlvbihlKXt2YXIgYT0iW8OALcq4YS16QS1aXyRdW8OALcq4YS16QS1aXyQwLTldKiIsdD1hKyIoPCIrYSsiKFxccyosXFxzKiIrYSsiKSo+KT8iLHI9ImZhbHNlIHN5bmNocm9uaXplZCBpbnQgYWJzdHJhY3QgZmxvYXQgcHJpdmF0ZSBjaGFyIGJvb2xlYW4gc3RhdGljIG51bGwgaWYgY29uc3QgZm9yIHRydWUgd2hpbGUgbG9uZyBzdHJpY3RmcCBmaW5hbGx5IHByb3RlY3RlZCBpbXBvcnQgbmF0aXZlIGZpbmFsIHZvaWQgZW51bSBlbHNlIGJyZWFrIHRyYW5zaWVudCBjYXRjaCBpbnN0YW5jZW9mIGJ5dGUgc3VwZXIgdm9sYXRpbGUgY2FzZSBhc3NlcnQgc2hvcnQgcGFja2FnZSBkZWZhdWx0IGRvdWJsZSBwdWJsaWMgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHRocm93cyBwcm90ZWN0ZWQgcHVibGljIHByaXZhdGUgbW9kdWxlIHJlcXVpcmVzIGV4cG9ydHMgZG8iLHM9IlxcYigwW2JCXShbMDFdK1swMV9dK1swMV0rfFswMV0rKXwwW3hYXShbYS1mQS1GMC05XStbYS1mQS1GMC05X10rW2EtZkEtRjAtOV0rfFthLWZBLUYwLTldKyl8KChbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykoXFwuKFtcXGRdK1tcXGRfXStbXFxkXSt8W1xcZF0rKSk/fFxcLihbXFxkXStbXFxkX10rW1xcZF0rfFtcXGRdKykpKFtlRV1bLStdP1xcZCspPylbbExmRl0/IixjPXtjTjoibnVtYmVyIixiOnMscjowfTtyZXR1cm57YWxpYXNlczpbImpzcCJdLGs6cixpOi88XC98Iy8sYzpbZS5DKCIvXFwqXFwqIiwiXFwqLyIse3I6MCxjOlt7YjovXHcrQC8scjowfSx7Y046ImRvY3RhZyIsYjoiQFtBLVphLXpdKyJ9XX0pLGUuQ0xDTSxlLkNCQ00sZS5BU00sZS5RU00se2NOOiJjbGFzcyIsYks6ImNsYXNzIGludGVyZmFjZSIsZTovW3s7PV0vLGVFOiEwLGs6ImNsYXNzIGludGVyZmFjZSIsaTovWzoiXFtcXV0vLGM6W3tiSzoiZXh0ZW5kcyBpbXBsZW1lbnRzIn0sZS5VVE1dfSx7Yks6Im5ldyB0aHJvdyByZXR1cm4gZWxzZSIscjowfSx7Y046ImZ1bmN0aW9uIixiOiIoIit0KyJcXHMrKSsiK2UuVUlSKyJcXHMqXFwoIixyQjohMCxlOi9bezs9XS8sZUU6ITAsazpyLGM6W3tiOmUuVUlSKyJcXHMqXFwoIixyQjohMCxyOjAsYzpbZS5VVE1dfSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxrOnIscjowLGM6W2UuQVNNLGUuUVNNLGUuQ05NLGUuQ0JDTV19LGUuQ0xDTSxlLkNCQ01dfSxjLHtjTjoibWV0YSIsYjoiQFtBLVphLXpdKyJ9XX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInN0YW4iLGZ1bmN0aW9uKGUpe3JldHVybntjOltlLkhDTSxlLkNMQ00sZS5DQkNNLHtiOmUuVUlSLGw6ZS5VSVIsazp7bmFtZToiZm9yIGluIHdoaWxlIHJlcGVhdCB1bnRpbCBpZiB0aGVuIGVsc2UiLHN5bWJvbDoiYmVybm91bGxpIGJlcm5vdWxsaV9sb2dpdCBiaW5vbWlhbCBiaW5vbWlhbF9sb2dpdCBiZXRhX2Jpbm9taWFsIGh5cGVyZ2VvbWV0cmljIGNhdGVnb3JpY2FsIGNhdGVnb3JpY2FsX2xvZ2l0IG9yZGVyZWRfbG9naXN0aWMgbmVnX2Jpbm9taWFsIG5lZ19iaW5vbWlhbF8yIG5lZ19iaW5vbWlhbF8yX2xvZyBwb2lzc29uIHBvaXNzb25fbG9nIG11bHRpbm9taWFsIG5vcm1hbCBleHBfbW9kX25vcm1hbCBza2V3X25vcm1hbCBzdHVkZW50X3QgY2F1Y2h5IGRvdWJsZV9leHBvbmVudGlhbCBsb2dpc3RpYyBndW1iZWwgbG9nbm9ybWFsIGNoaV9zcXVhcmUgaW52X2NoaV9zcXVhcmUgc2NhbGVkX2ludl9jaGlfc3F1YXJlIGV4cG9uZW50aWFsIGludl9nYW1tYSB3ZWlidWxsIGZyZWNoZXQgcmF5bGVpZ2ggd2llbmVyIHBhcmV0byBwYXJldG9fdHlwZV8yIHZvbl9taXNlcyB1bmlmb3JtIG11bHRpX25vcm1hbCBtdWx0aV9ub3JtYWxfcHJlYyBtdWx0aV9ub3JtYWxfY2hvbGVza3kgbXVsdGlfZ3AgbXVsdGlfZ3BfY2hvbGVza3kgbXVsdGlfc3R1ZGVudF90IGdhdXNzaWFuX2RsbV9vYnMgZGlyaWNobGV0IGxral9jb3JyIGxral9jb3JyX2Nob2xlc2t5IHdpc2hhcnQgaW52X3dpc2hhcnQiLCJzZWxlY3Rvci10YWciOiJpbnQgcmVhbCB2ZWN0b3Igc2ltcGxleCB1bml0X3ZlY3RvciBvcmRlcmVkIHBvc2l0aXZlX29yZGVyZWQgcm93X3ZlY3RvciBtYXRyaXggY2hvbGVza3lfZmFjdG9yX2NvcnIgY2hvbGVza3lfZmFjdG9yX2NvdiBjb3JyX21hdHJpeCBjb3ZfbWF0cml4Iix0aXRsZToiZnVuY3Rpb25zIG1vZGVsIGRhdGEgcGFyYW1ldGVycyBxdWFudGl0aWVzIHRyYW5zZm9ybWVkIGdlbmVyYXRlZCIsbGl0ZXJhbDoidHJ1ZSBmYWxzZSJ9LHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IjBbeFhdWzAtOWEtZkEtRl0rW0xpXT9cXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCsoPzpbZUVdWytcXC1dP1xcZCopP0xcXGIiLHI6MH0se2NOOiJudW1iZXIiLGI6IlxcZCtcXC4oPyFcXGQpKD86aVxcYik/IixyOjB9LHtjTjoibnVtYmVyIixiOiJcXGQrKD86XFwuXFxkKik/KD86W2VFXVsrXFwtXT9cXGQqKT9pP1xcYiIscjowfSx7Y046Im51bWJlciIsYjoiXFwuXFxkKyg/OltlRV1bK1xcLV0/XFxkKik/aT9cXGIiLHI6MH1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgiamF2YXNjcmlwdCIsZnVuY3Rpb24oZSl7dmFyIHI9IltBLVphLXokX11bMC05QS1aYS16JF9dKiIsdD17a2V5d29yZDoiaW4gb2YgaWYgZm9yIHdoaWxlIGZpbmFsbHkgdmFyIG5ldyBmdW5jdGlvbiBkbyByZXR1cm4gdm9pZCBlbHNlIGJyZWFrIGNhdGNoIGluc3RhbmNlb2Ygd2l0aCB0aHJvdyBjYXNlIGRlZmF1bHQgdHJ5IHRoaXMgc3dpdGNoIGNvbnRpbnVlIHR5cGVvZiBkZWxldGUgbGV0IHlpZWxkIGNvbnN0IGV4cG9ydCBzdXBlciBkZWJ1Z2dlciBhcyBhc3luYyBhd2FpdCBzdGF0aWMgaW1wb3J0IGZyb20gYXMiLGxpdGVyYWw6InRydWUgZmFsc2UgbnVsbCB1bmRlZmluZWQgTmFOIEluZmluaXR5IixidWlsdF9pbjoiZXZhbCBpc0Zpbml0ZSBpc05hTiBwYXJzZUZsb2F0IHBhcnNlSW50IGRlY29kZVVSSSBkZWNvZGVVUklDb21wb25lbnQgZW5jb2RlVVJJIGVuY29kZVVSSUNvbXBvbmVudCBlc2NhcGUgdW5lc2NhcGUgT2JqZWN0IEZ1bmN0aW9uIEJvb2xlYW4gRXJyb3IgRXZhbEVycm9yIEludGVybmFsRXJyb3IgUmFuZ2VFcnJvciBSZWZlcmVuY2VFcnJvciBTdG9wSXRlcmF0aW9uIFN5bnRheEVycm9yIFR5cGVFcnJvciBVUklFcnJvciBOdW1iZXIgTWF0aCBEYXRlIFN0cmluZyBSZWdFeHAgQXJyYXkgRmxvYXQzMkFycmF5IEZsb2F0NjRBcnJheSBJbnQxNkFycmF5IEludDMyQXJyYXkgSW50OEFycmF5IFVpbnQxNkFycmF5IFVpbnQzMkFycmF5IFVpbnQ4QXJyYXkgVWludDhDbGFtcGVkQXJyYXkgQXJyYXlCdWZmZXIgRGF0YVZpZXcgSlNPTiBJbnRsIGFyZ3VtZW50cyByZXF1aXJlIG1vZHVsZSBjb25zb2xlIHdpbmRvdyBkb2N1bWVudCBTeW1ib2wgU2V0IE1hcCBXZWFrU2V0IFdlYWtNYXAgUHJveHkgUmVmbGVjdCBQcm9taXNlIn0sYT17Y046Im51bWJlciIsdjpbe2I6IlxcYigwW2JCXVswMV0rKSJ9LHtiOiJcXGIoMFtvT11bMC03XSspIn0se2I6ZS5DTlJ9XSxyOjB9LG49e2NOOiJzdWJzdCIsYjoiXFwkXFx7IixlOiJcXH0iLGs6dCxjOltdfSxjPXtjTjoic3RyaW5nIixiOiJgIixlOiJgIixjOltlLkJFLG5dfTtuLmM9W2UuQVNNLGUuUVNNLGMsYSxlLlJNXTt2YXIgcz1uLmMuY29uY2F0KFtlLkNCQ00sZS5DTENNXSk7cmV0dXJue2FsaWFzZXM6WyJqcyIsImpzeCJdLGs6dCxjOlt7Y046Im1ldGEiLHI6MTAsYjovXlxzKlsnIl11c2UgKHN0cmljdHxhc20pWyciXS99LHtjTjoibWV0YSIsYjovXiMhLyxlOi8kL30sZS5BU00sZS5RU00sYyxlLkNMQ00sZS5DQkNNLGEse2I6L1t7LF1ccyovLHI6MCxjOlt7YjpyKyJcXHMqOiIsckI6ITAscjowLGM6W3tjTjoiYXR0ciIsYjpyLHI6MH1dfV19LHtiOiIoIitlLlJTUisifFxcYihjYXNlfHJldHVybnx0aHJvdylcXGIpXFxzKiIsazoicmV0dXJuIHRocm93IGNhc2UiLGM6W2UuQ0xDTSxlLkNCQ00sZS5STSx7Y046ImZ1bmN0aW9uIixiOiIoXFwoLio/XFwpfCIrcisiKVxccyo9PiIsckI6ITAsZToiXFxzKj0+IixjOlt7Y046InBhcmFtcyIsdjpbe2I6cn0se2I6L1woXHMqXCkvfSx7YjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxrOnQsYzpzfV19XX0se2I6LzwvLGU6LyhcL1x3K3xcdytcLyk+LyxzTDoieG1sIixjOlt7YjovPFx3K1xzKlwvPi8sc2tpcDohMH0se2I6LzxcdysvLGU6LyhcL1x3K3xcdytcLyk+Lyxza2lwOiEwLGM6W3tiOi88XHcrXHMqXC8+Lyxza2lwOiEwfSwic2VsZiJdfV19XSxyOjB9LHtjTjoiZnVuY3Rpb24iLGJLOiJmdW5jdGlvbiIsZTovXHsvLGVFOiEwLGM6W2UuaW5oZXJpdChlLlRNLHtiOnJ9KSx7Y046InBhcmFtcyIsYjovXCgvLGU6L1wpLyxlQjohMCxlRTohMCxjOnN9XSxpOi9cW3wlL30se2I6L1wkWyguXS99LGUuTUVUSE9EX0dVQVJELHtjTjoiY2xhc3MiLGJLOiJjbGFzcyIsZTovW3s7PV0vLGVFOiEwLGk6L1s6IlxbXF1dLyxjOlt7Yks6ImV4dGVuZHMifSxlLlVUTV19LHtiSzoiY29uc3RydWN0b3IiLGU6L1x7LyxlRTohMH1dLGk6LyMoPyEhKS99fSk7aGxqcy5yZWdpc3Rlckxhbmd1YWdlKCJ0ZXgiLGZ1bmN0aW9uKGMpe3ZhciBlPXtjTjoidGFnIixiOi9cXC8scjowLGM6W3tjTjoibmFtZSIsdjpbe2I6L1thLXpBLVrQsC3Rj9CQLdGPXStbKl0/L30se2I6L1teYS16QS1a0LAt0Y/QkC3RjzAtOV0vfV0sc3RhcnRzOntlVzohMCxyOjAsYzpbe2NOOiJzdHJpbmciLHY6W3tiOi9cWy8sZTovXF0vfSx7YjovXHsvLGU6L1x9L31dfSx7YjovXHMqPVxzKi8sZVc6ITAscjowLGM6W3tjTjoibnVtYmVyIixiOi8tP1xkKlwuP1xkKyhwdHxwY3xtbXxjbXxpbnxkZHxjY3xleHxlbSk/L31dfV19fV19O3JldHVybntjOltlLHtjTjoiZm9ybXVsYSIsYzpbZV0scjowLHY6W3tiOi9cJFwkLyxlOi9cJFwkL30se2I6L1wkLyxlOi9cJC99XX0sYy5DKCIlIiwiJCIse3I6MH0pXX19KTtobGpzLnJlZ2lzdGVyTGFuZ3VhZ2UoInhtbCIsZnVuY3Rpb24ocyl7dmFyIGU9IltBLVphLXowLTlcXC5fOi1dKyIsdD17ZVc6ITAsaTovPC8scjowLGM6W3tjTjoiYXR0ciIsYjplLHI6MH0se2I6Lz1ccyovLHI6MCxjOlt7Y046InN0cmluZyIsZW5kc1BhcmVudDohMCx2Olt7YjovIi8sZTovIi99LHtiOi8nLyxlOi8nL30se2I6L1teXHMiJz08PmBdKy99XX1dfV19O3JldHVybnthbGlhc2VzOlsiaHRtbCIsInhodG1sIiwicnNzIiwiYXRvbSIsInhqYiIsInhzZCIsInhzbCIsInBsaXN0Il0sY0k6ITAsYzpbe2NOOiJtZXRhIixiOiI8IURPQ1RZUEUiLGU6Ij4iLHI6MTAsYzpbe2I6IlxcWyIsZToiXFxdIn1dfSxzLkMoIjwhLS0iLCItLT4iLHtyOjEwfSkse2I6IjxcXCFcXFtDREFUQVxcWyIsZToiXFxdXFxdPiIscjoxMH0se2I6LzxcPyhwaHApPy8sZTovXD8+LyxzTDoicGhwIixjOlt7YjoiL1xcKiIsZToiXFwqLyIsc2tpcDohMH1dfSx7Y046InRhZyIsYjoiPHN0eWxlKD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InN0eWxlIn0sYzpbdF0sc3RhcnRzOntlOiI8L3N0eWxlPiIsckU6ITAsc0w6WyJjc3MiLCJ4bWwiXX19LHtjTjoidGFnIixiOiI8c2NyaXB0KD89XFxzfD58JCkiLGU6Ij4iLGs6e25hbWU6InNjcmlwdCJ9LGM6W3RdLHN0YXJ0czp7ZToiPC9zY3JpcHQ+IixyRTohMCxzTDpbImFjdGlvbnNjcmlwdCIsImphdmFzY3JpcHQiLCJoYW5kbGViYXJzIiwieG1sIl19fSx7Y046Im1ldGEiLHY6W3tiOi88XD94bWwvLGU6L1w/Pi8scjoxMH0se2I6LzxcP1x3Ky8sZTovXD8+L31dfSx7Y046InRhZyIsYjoiPC8/IixlOiIvPz4iLGM6W3tjTjoibmFtZSIsYjovW15cLz48XHNdKy8scjowfSx0XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgibWFya2Rvd24iLGZ1bmN0aW9uKGUpe3JldHVybnthbGlhc2VzOlsibWQiLCJta2Rvd24iLCJta2QiXSxjOlt7Y046InNlY3Rpb24iLHY6W3tiOiJeI3sxLDZ9IixlOiIkIn0se2I6Il4uKz9cXG5bPS1dezIsfSQifV19LHtiOiI8IixlOiI+IixzTDoieG1sIixyOjB9LHtjTjoiYnVsbGV0IixiOiJeKFsqKy1dfChcXGQrXFwuKSlcXHMrIn0se2NOOiJzdHJvbmciLGI6IlsqX117Mn0uKz9bKl9dezJ9In0se2NOOiJlbXBoYXNpcyIsdjpbe2I6IlxcKi4rP1xcKiJ9LHtiOiJfLis/XyIscjowfV19LHtjTjoicXVvdGUiLGI6Il4+XFxzKyIsZToiJCJ9LHtjTjoiY29kZSIsdjpbe2I6Il5gYGB3KnMqJCIsZToiXmBgYHMqJCJ9LHtiOiJgLis/YCJ9LHtiOiJeKCB7NH18CSkiLGU6IiQiLHI6MH1dfSx7YjoiXlstXFwqXXszLH0iLGU6IiQifSx7YjoiXFxbLis/XFxdW1xcKFxcW10uKj9bXFwpXFxdXSIsckI6ITAsYzpbe2NOOiJzdHJpbmciLGI6IlxcWyIsZToiXFxdIixlQjohMCxyRTohMCxyOjB9LHtjTjoibGluayIsYjoiXFxdXFwoIixlOiJcXCkiLGVCOiEwLGVFOiEwfSx7Y046InN5bWJvbCIsYjoiXFxdXFxbIixlOiJcXF0iLGVCOiEwLGVFOiEwfV0scjoxMH0se2I6L15cW1teXG5dK1xdOi8sckI6ITAsYzpbe2NOOiJzeW1ib2wiLGI6L1xbLyxlOi9cXS8sZUI6ITAsZUU6ITB9LHtjTjoibGluayIsYjovOlxzKi8sZTovJC8sZUI6ITB9XX1dfX0pO2hsanMucmVnaXN0ZXJMYW5ndWFnZSgianNvbiIsZnVuY3Rpb24oZSl7dmFyIGk9e2xpdGVyYWw6InRydWUgZmFsc2UgbnVsbCJ9LG49W2UuUVNNLGUuQ05NXSxyPXtlOiIsIixlVzohMCxlRTohMCxjOm4sazppfSx0PXtiOiJ7IixlOiJ9IixjOlt7Y046ImF0dHIiLGI6LyIvLGU6LyIvLGM6W2UuQkVdLGk6IlxcbiJ9LGUuaW5oZXJpdChyLHtiOi86L30pXSxpOiJcXFMifSxjPXtiOiJcXFsiLGU6IlxcXSIsYzpbZS5pbmhlcml0KHIpXSxpOiJcXFMifTtyZXR1cm4gbi5zcGxpY2Uobi5sZW5ndGgsMCx0LGMpLHtjOm4sazppLGk6IlxcUyJ9fSk7&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,KGZ1bmN0aW9uKCkgewogIC8vIElmIHdpbmRvdy5IVE1MV2lkZ2V0cyBpcyBhbHJlYWR5IGRlZmluZWQsIHRoZW4gdXNlIGl0OyBvdGhlcndpc2UgY3JlYXRlIGEKICAvLyBuZXcgb2JqZWN0LiBUaGlzIGFsbG93cyBwcmVjZWRpbmcgY29kZSB0byBzZXQgb3B0aW9ucyB0aGF0IGFmZmVjdCB0aGUKICAvLyBpbml0aWFsaXphdGlvbiBwcm9jZXNzICh0aG91Z2ggbm9uZSBjdXJyZW50bHkgZXhpc3QpLgogIHdpbmRvdy5IVE1MV2lkZ2V0cyA9IHdpbmRvdy5IVE1MV2lkZ2V0cyB8fCB7fTsKCiAgLy8gU2VlIGlmIHdlJ3JlIHJ1bm5pbmcgaW4gYSB2aWV3ZXIgcGFuZS4gSWYgbm90LCB3ZSdyZSBpbiBhIHdlYiBicm93c2VyLgogIHZhciB2aWV3ZXJNb2RlID0gd2luZG93LkhUTUxXaWRnZXRzLnZpZXdlck1vZGUgPQogICAgICAvXGJ2aWV3ZXJfcGFuZT0xXGIvLnRlc3Qod2luZG93LmxvY2F0aW9uKTsKCiAgLy8gU2VlIGlmIHdlJ3JlIHJ1bm5pbmcgaW4gU2hpbnkgbW9kZS4gSWYgbm90LCBpdCdzIGEgc3RhdGljIGRvY3VtZW50LgogIC8vIE5vdGUgdGhhdCBzdGF0aWMgd2lkZ2V0cyBjYW4gYXBwZWFyIGluIGJvdGggU2hpbnkgYW5kIHN0YXRpYyBtb2RlcywgYnV0CiAgLy8gb2J2aW91c2x5LCBTaGlueSB3aWRnZXRzIGNhbiBvbmx5IGFwcGVhciBpbiBTaGlueSBhcHBzL2RvY3VtZW50cy4KICB2YXIgc2hpbnlNb2RlID0gd2luZG93LkhUTUxXaWRnZXRzLnNoaW55TW9kZSA9CiAgICAgIHR5cGVvZih3aW5kb3cuU2hpbnkpICE9PSAidW5kZWZpbmVkIiAmJiAhIXdpbmRvdy5TaGlueS5vdXRwdXRCaW5kaW5nczsKCiAgLy8gV2UgY2FuJ3QgY291bnQgb24galF1ZXJ5IGJlaW5nIGF2YWlsYWJsZSwgc28gd2UgaW1wbGVtZW50IG91ciBvd24KICAvLyB2ZXJzaW9uIGlmIG5lY2Vzc2FyeS4KICBmdW5jdGlvbiBxdWVyeVNlbGVjdG9yQWxsKHNjb3BlLCBzZWxlY3RvcikgewogICAgaWYgKHR5cGVvZihqUXVlcnkpICE9PSAidW5kZWZpbmVkIiAmJiBzY29wZSBpbnN0YW5jZW9mIGpRdWVyeSkgewogICAgICByZXR1cm4gc2NvcGUuZmluZChzZWxlY3Rvcik7CiAgICB9CiAgICBpZiAoc2NvcGUucXVlcnlTZWxlY3RvckFsbCkgewogICAgICByZXR1cm4gc2NvcGUucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBhc0FycmF5KHZhbHVlKSB7CiAgICBpZiAodmFsdWUgPT09IG51bGwpCiAgICAgIHJldHVybiBbXTsKICAgIGlmICgkLmlzQXJyYXkodmFsdWUpKQogICAgICByZXR1cm4gdmFsdWU7CiAgICByZXR1cm4gW3ZhbHVlXTsKICB9CgogIC8vIEltcGxlbWVudCBqUXVlcnkncyBleHRlbmQKICBmdW5jdGlvbiBleHRlbmQodGFyZ2V0IC8qLCAuLi4gKi8pIHsKICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09IDEpIHsKICAgICAgcmV0dXJuIHRhcmdldDsKICAgIH0KICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07CiAgICAgIGZvciAodmFyIHByb3AgaW4gc291cmNlKSB7CiAgICAgICAgaWYgKHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShwcm9wKSkgewogICAgICAgICAgdGFyZ2V0W3Byb3BdID0gc291cmNlW3Byb3BdOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgcmV0dXJuIHRhcmdldDsKICB9CgogIC8vIElFOCBkb2Vzbid0IHN1cHBvcnQgQXJyYXkuZm9yRWFjaC4KICBmdW5jdGlvbiBmb3JFYWNoKHZhbHVlcywgY2FsbGJhY2ssIHRoaXNBcmcpIHsKICAgIGlmICh2YWx1ZXMuZm9yRWFjaCkgewogICAgICB2YWx1ZXMuZm9yRWFjaChjYWxsYmFjaywgdGhpc0FyZyk7CiAgICB9IGVsc2UgewogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlcy5sZW5ndGg7IGkrKykgewogICAgICAgIGNhbGxiYWNrLmNhbGwodGhpc0FyZywgdmFsdWVzW2ldLCBpLCB2YWx1ZXMpOwogICAgICB9CiAgICB9CiAgfQoKICAvLyBSZXBsYWNlcyB0aGUgc3BlY2lmaWVkIG1ldGhvZCB3aXRoIHRoZSByZXR1cm4gdmFsdWUgb2YgZnVuY1NvdXJjZS4KICAvLwogIC8vIE5vdGUgdGhhdCBmdW5jU291cmNlIHNob3VsZCBub3QgQkUgdGhlIG5ldyBtZXRob2QsIGl0IHNob3VsZCBiZSBhIGZ1bmN0aW9uCiAgLy8gdGhhdCBSRVRVUk5TIHRoZSBuZXcgbWV0aG9kLiBmdW5jU291cmNlIHJlY2VpdmVzIGEgc2luZ2xlIGFyZ3VtZW50IHRoYXQgaXMKICAvLyB0aGUgb3ZlcnJpZGRlbiBtZXRob2QsIGl0IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgbmV3IG1ldGhvZC4gVGhlIG92ZXJyaWRkZW4KICAvLyBtZXRob2QgY2FuIGJlIGNhbGxlZCBsaWtlIGEgcmVndWxhciBmdW5jdGlvbiwgaXQgaGFzIHRoZSB0YXJnZXQgcGVybWFuZW50bHkKICAvLyBib3VuZCB0byBpdCBzbyAidGhpcyIgd2lsbCB3b3JrIGNvcnJlY3RseS4KICBmdW5jdGlvbiBvdmVycmlkZU1ldGhvZCh0YXJnZXQsIG1ldGhvZE5hbWUsIGZ1bmNTb3VyY2UpIHsKICAgIHZhciBzdXBlckZ1bmMgPSB0YXJnZXRbbWV0aG9kTmFtZV0gfHwgZnVuY3Rpb24oKSB7fTsKICAgIHZhciBzdXBlckZ1bmNCb3VuZCA9IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gc3VwZXJGdW5jLmFwcGx5KHRhcmdldCwgYXJndW1lbnRzKTsKICAgIH07CiAgICB0YXJnZXRbbWV0aG9kTmFtZV0gPSBmdW5jU291cmNlKHN1cGVyRnVuY0JvdW5kKTsKICB9CgogIC8vIEFkZCBhIG1ldGhvZCB0byBkZWxlZ2F0b3IgdGhhdCwgd2hlbiBpbnZva2VkLCBjYWxscwogIC8vIGRlbGVnYXRlZS5tZXRob2ROYW1lLiBJZiB0aGVyZSBpcyBubyBzdWNoIG1ldGhvZCBvbgogIC8vIHRoZSBkZWxlZ2F0ZWUsIGJ1dCB0aGVyZSB3YXMgb25lIG9uIGRlbGVnYXRvciBiZWZvcmUKICAvLyBkZWxlZ2F0ZU1ldGhvZCB3YXMgY2FsbGVkLCB0aGVuIHRoZSBvcmlnaW5hbCB2ZXJzaW9uCiAgLy8gaXMgaW52b2tlZCBpbnN0ZWFkLgogIC8vIEZvciBleGFtcGxlOgogIC8vCiAgLy8gdmFyIGEgPSB7CiAgLy8gICBtZXRob2QxOiBmdW5jdGlvbigpIHsgY29uc29sZS5sb2coJ2ExJyk7IH0KICAvLyAgIG1ldGhvZDI6IGZ1bmN0aW9uKCkgeyBjb25zb2xlLmxvZygnYTInKTsgfQogIC8vIH07CiAgLy8gdmFyIGIgPSB7CiAgLy8gICBtZXRob2QxOiBmdW5jdGlvbigpIHsgY29uc29sZS5sb2coJ2IxJyk7IH0KICAvLyB9OwogIC8vIGRlbGVnYXRlTWV0aG9kKGEsIGIsICJtZXRob2QxIik7CiAgLy8gZGVsZWdhdGVNZXRob2QoYSwgYiwgIm1ldGhvZDIiKTsKICAvLyBhLm1ldGhvZDEoKTsKICAvLyBhLm1ldGhvZDIoKTsKICAvLwogIC8vIFRoZSBvdXRwdXQgd291bGQgYmUgImIxIiwgImEyIi4KICBmdW5jdGlvbiBkZWxlZ2F0ZU1ldGhvZChkZWxlZ2F0b3IsIGRlbGVnYXRlZSwgbWV0aG9kTmFtZSkgewogICAgdmFyIGluaGVyaXRlZCA9IGRlbGVnYXRvclttZXRob2ROYW1lXTsKICAgIGRlbGVnYXRvclttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkgewogICAgICB2YXIgdGFyZ2V0ID0gZGVsZWdhdGVlOwogICAgICB2YXIgbWV0aG9kID0gZGVsZWdhdGVlW21ldGhvZE5hbWVdOwoKICAgICAgLy8gVGhlIG1ldGhvZCBkb2Vzbid0IGV4aXN0IG9uIHRoZSBkZWxlZ2F0ZWUuIEluc3RlYWQsCiAgICAgIC8vIGNhbGwgdGhlIG1ldGhvZCBvbiB0aGUgZGVsZWdhdG9yLCBpZiBpdCBleGlzdHMuCiAgICAgIGlmICghbWV0aG9kKSB7CiAgICAgICAgdGFyZ2V0ID0gZGVsZWdhdG9yOwogICAgICAgIG1ldGhvZCA9IGluaGVyaXRlZDsKICAgICAgfQoKICAgICAgaWYgKG1ldGhvZCkgewogICAgICAgIHJldHVybiBtZXRob2QuYXBwbHkodGFyZ2V0LCBhcmd1bWVudHMpOwogICAgICB9CiAgICB9OwogIH0KCiAgLy8gSW1wbGVtZW50IGEgdmFndWUgZmFjc2ltaWxpZSBvZiBqUXVlcnkncyBkYXRhIG1ldGhvZAogIGZ1bmN0aW9uIGVsZW1lbnREYXRhKGVsLCBuYW1lLCB2YWx1ZSkgewogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMikgewogICAgICByZXR1cm4gZWxbImh0bWx3aWRnZXRfZGF0YV8iICsgbmFtZV07CiAgICB9IGVsc2UgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMykgewogICAgICBlbFsiaHRtbHdpZGdldF9kYXRhXyIgKyBuYW1lXSA9IHZhbHVlOwogICAgICByZXR1cm4gZWw7CiAgICB9IGVsc2UgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIldyb25nIG51bWJlciBvZiBhcmd1bWVudHMgZm9yIGVsZW1lbnREYXRhOiAiICsKICAgICAgICBhcmd1bWVudHMubGVuZ3RoKTsKICAgIH0KICB9CgogIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ0NjE3MC9lc2NhcGUtc3RyaW5nLWZvci11c2UtaW4tamF2YXNjcmlwdC1yZWdleAogIGZ1bmN0aW9uIGVzY2FwZVJlZ0V4cChzdHIpIHsKICAgIHJldHVybiBzdHIucmVwbGFjZSgvW1wtXFtcXVwvXHtcfVwoXClcKlwrXD9cLlxcXF5cJFx8XS9nLCAiXFwkJiIpOwogIH0KCiAgZnVuY3Rpb24gaGFzQ2xhc3MoZWwsIGNsYXNzTmFtZSkgewogICAgdmFyIHJlID0gbmV3IFJlZ0V4cCgiXFxiIiArIGVzY2FwZVJlZ0V4cChjbGFzc05hbWUpICsgIlxcYiIpOwogICAgcmV0dXJuIHJlLnRlc3QoZWwuY2xhc3NOYW1lKTsKICB9CgogIC8vIGVsZW1lbnRzIC0gYXJyYXkgKG9yIGFycmF5LWxpa2Ugb2JqZWN0KSBvZiBIVE1MIGVsZW1lbnRzCiAgLy8gY2xhc3NOYW1lIC0gY2xhc3MgbmFtZSB0byB0ZXN0IGZvcgogIC8vIGluY2x1ZGUgLSBpZiB0cnVlLCBvbmx5IHJldHVybiBlbGVtZW50cyB3aXRoIGdpdmVuIGNsYXNzTmFtZTsKICAvLyAgIGlmIGZhbHNlLCBvbmx5IHJldHVybiBlbGVtZW50cyAqd2l0aG91dCogZ2l2ZW4gY2xhc3NOYW1lCiAgZnVuY3Rpb24gZmlsdGVyQnlDbGFzcyhlbGVtZW50cywgY2xhc3NOYW1lLCBpbmNsdWRlKSB7CiAgICB2YXIgcmVzdWx0cyA9IFtdOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykgewogICAgICBpZiAoaGFzQ2xhc3MoZWxlbWVudHNbaV0sIGNsYXNzTmFtZSkgPT0gaW5jbHVkZSkKICAgICAgICByZXN1bHRzLnB1c2goZWxlbWVudHNbaV0pOwogICAgfQogICAgcmV0dXJuIHJlc3VsdHM7CiAgfQoKICBmdW5jdGlvbiBvbihvYmosIGV2ZW50TmFtZSwgZnVuYykgewogICAgaWYgKG9iai5hZGRFdmVudExpc3RlbmVyKSB7CiAgICAgIG9iai5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgZnVuYywgZmFsc2UpOwogICAgfSBlbHNlIGlmIChvYmouYXR0YWNoRXZlbnQpIHsKICAgICAgb2JqLmF0dGFjaEV2ZW50KGV2ZW50TmFtZSwgZnVuYyk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBvZmYob2JqLCBldmVudE5hbWUsIGZ1bmMpIHsKICAgIGlmIChvYmoucmVtb3ZlRXZlbnRMaXN0ZW5lcikKICAgICAgb2JqLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBmdW5jLCBmYWxzZSk7CiAgICBlbHNlIGlmIChvYmouZGV0YWNoRXZlbnQpIHsKICAgICAgb2JqLmRldGFjaEV2ZW50KGV2ZW50TmFtZSwgZnVuYyk7CiAgICB9CiAgfQoKICAvLyBUcmFuc2xhdGUgYXJyYXkgb2YgdmFsdWVzIHRvIHRvcC9yaWdodC9ib3R0b20vbGVmdCwgYXMgdXN1YWwgd2l0aAogIC8vIHRoZSAicGFkZGluZyIgQ1NTIHByb3BlcnR5CiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL3BhZGRpbmcKICBmdW5jdGlvbiB1bnBhY2tQYWRkaW5nKHZhbHVlKSB7CiAgICBpZiAodHlwZW9mKHZhbHVlKSA9PT0gIm51bWJlciIpCiAgICAgIHZhbHVlID0gW3ZhbHVlXTsKICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDEpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMF0sIGJvdHRvbTogdmFsdWVbMF0sIGxlZnQ6IHZhbHVlWzBdfTsKICAgIH0KICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDIpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMV0sIGJvdHRvbTogdmFsdWVbMF0sIGxlZnQ6IHZhbHVlWzFdfTsKICAgIH0KICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDMpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMV0sIGJvdHRvbTogdmFsdWVbMl0sIGxlZnQ6IHZhbHVlWzFdfTsKICAgIH0KICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDQpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMV0sIGJvdHRvbTogdmFsdWVbMl0sIGxlZnQ6IHZhbHVlWzNdfTsKICAgIH0KICB9CgogIC8vIENvbnZlcnQgYW4gdW5wYWNrZWQgcGFkZGluZyBvYmplY3QgdG8gYSBDU1MgdmFsdWUKICBmdW5jdGlvbiBwYWRkaW5nVG9Dc3MocGFkZGluZ09iaikgewogICAgcmV0dXJuIHBhZGRpbmdPYmoudG9wICsgInB4ICIgKyBwYWRkaW5nT2JqLnJpZ2h0ICsgInB4ICIgKyBwYWRkaW5nT2JqLmJvdHRvbSArICJweCAiICsgcGFkZGluZ09iai5sZWZ0ICsgInB4IjsKICB9CgogIC8vIE1ha2VzIGEgbnVtYmVyIHN1aXRhYmxlIGZvciBDU1MKICBmdW5jdGlvbiBweCh4KSB7CiAgICBpZiAodHlwZW9mKHgpID09PSAibnVtYmVyIikKICAgICAgcmV0dXJuIHggKyAicHgiOwogICAgZWxzZQogICAgICByZXR1cm4geDsKICB9CgogIC8vIFJldHJpZXZlcyBydW50aW1lIHdpZGdldCBzaXppbmcgaW5mb3JtYXRpb24gZm9yIGFuIGVsZW1lbnQuCiAgLy8gVGhlIHJldHVybiB2YWx1ZSBpcyBlaXRoZXIgbnVsbCwgb3IgYW4gb2JqZWN0IHdpdGggZmlsbCwgcGFkZGluZywKICAvLyBkZWZhdWx0V2lkdGgsIGRlZmF1bHRIZWlnaHQgZmllbGRzLgogIGZ1bmN0aW9uIHNpemluZ1BvbGljeShlbCkgewogICAgdmFyIHNpemluZ0VsID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W2RhdGEtZm9yPSciICsgZWwuaWQgKyAiJ11bdHlwZT0nYXBwbGljYXRpb24vaHRtbHdpZGdldC1zaXppbmcnXSIpOwogICAgaWYgKCFzaXppbmdFbCkKICAgICAgcmV0dXJuIG51bGw7CiAgICB2YXIgc3AgPSBKU09OLnBhcnNlKHNpemluZ0VsLnRleHRDb250ZW50IHx8IHNpemluZ0VsLnRleHQgfHwgInt9Iik7CiAgICBpZiAodmlld2VyTW9kZSkgewogICAgICByZXR1cm4gc3Audmlld2VyOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIHNwLmJyb3dzZXI7CiAgICB9CiAgfQoKICAvLyBAcGFyYW0gdGFza3MgQXJyYXkgb2Ygc3RyaW5ncyAob3IgZmFsc3kgdmFsdWUsIGluIHdoaWNoIGNhc2Ugbm8tb3ApLgogIC8vICAgRWFjaCBlbGVtZW50IG11c3QgYmUgYSB2YWxpZCBKYXZhU2NyaXB0IGV4cHJlc3Npb24gdGhhdCB5aWVsZHMgYQogIC8vICAgZnVuY3Rpb24uIE9yLCBjYW4gYmUgYW4gYXJyYXkgb2Ygb2JqZWN0cyB3aXRoICJjb2RlIiBhbmQgImRhdGEiCiAgLy8gICBwcm9wZXJ0aWVzOyBpbiB0aGlzIGNhc2UsIHRoZSAiY29kZSIgcHJvcGVydHkgc2hvdWxkIGJlIGEgc3RyaW5nCiAgLy8gICBvZiBKUyB0aGF0J3MgYW4gZXhwciB0aGF0IHlpZWxkcyBhIGZ1bmN0aW9uLCBhbmQgImRhdGEiIHNob3VsZCBiZQogIC8vICAgYW4gb2JqZWN0IHRoYXQgd2lsbCBiZSBhZGRlZCBhcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50IHdoZW4gdGhhdAogIC8vICAgZnVuY3Rpb24gaXMgY2FsbGVkLgogIC8vIEBwYXJhbSB0YXJnZXQgVGhlIG9iamVjdCB0aGF0IHdpbGwgYmUgInRoaXMiIGZvciBlYWNoIGZ1bmN0aW9uCiAgLy8gICBleGVjdXRpb24uCiAgLy8gQHBhcmFtIGFyZ3MgQXJyYXkgb2YgYXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb25zLiAoVGhlCiAgLy8gICBzYW1lIGFyZ3VtZW50cyB3aWxsIGJlIHBhc3NlZCB0byBhbGwgZnVuY3Rpb25zLikKICBmdW5jdGlvbiBldmFsQW5kUnVuKHRhc2tzLCB0YXJnZXQsIGFyZ3MpIHsKICAgIGlmICh0YXNrcykgewogICAgICBmb3JFYWNoKHRhc2tzLCBmdW5jdGlvbih0YXNrKSB7CiAgICAgICAgdmFyIHRoZXNlQXJncyA9IGFyZ3M7CiAgICAgICAgaWYgKHR5cGVvZih0YXNrKSA9PT0gIm9iamVjdCIpIHsKICAgICAgICAgIHRoZXNlQXJncyA9IHRoZXNlQXJncy5jb25jYXQoW3Rhc2suZGF0YV0pOwogICAgICAgICAgdGFzayA9IHRhc2suY29kZTsKICAgICAgICB9CiAgICAgICAgdmFyIHRhc2tGdW5jID0gdHJ5RXZhbCh0YXNrKTsKICAgICAgICBpZiAodHlwZW9mKHRhc2tGdW5jKSAhPT0gImZ1bmN0aW9uIikgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJUYXNrIG11c3QgYmUgYSBmdW5jdGlvbiEgU291cmNlOlxuIiArIHRhc2spOwogICAgICAgIH0KICAgICAgICB0YXNrRnVuYy5hcHBseSh0YXJnZXQsIHRoZXNlQXJncyk7CiAgICAgIH0pOwogICAgfQogIH0KCiAgLy8gQXR0ZW1wdCBldmFsKCkgYm90aCB3aXRoIGFuZCB3aXRob3V0IGVuY2xvc2luZyBpbiBwYXJlbnRoZXNlcy4KICAvLyBOb3RlIHRoYXQgZW5jbG9zaW5nIGNvZXJjZXMgYSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBpbnRvCiAgLy8gYW4gZXhwcmVzc2lvbiB0aGF0IGV2YWwoKSBjYW4gcGFyc2UKICAvLyAob3RoZXJ3aXNlLCBhIFN5bnRheEVycm9yIGlzIHRocm93bikKICBmdW5jdGlvbiB0cnlFdmFsKGNvZGUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgdHJ5IHsKICAgICAgcmVzdWx0ID0gZXZhbCgiKCIgKyBjb2RlICsgIikiKTsKICAgIH0gY2F0Y2goZXJyb3IpIHsKICAgICAgaWYgKCFlcnJvciBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSB7CiAgICAgICAgdGhyb3cgZXJyb3I7CiAgICAgIH0KICAgICAgdHJ5IHsKICAgICAgICByZXN1bHQgPSBldmFsKGNvZGUpOwogICAgICB9IGNhdGNoKGUpIHsKICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSB7CiAgICAgICAgICB0aHJvdyBlcnJvcjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhyb3cgZTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQoKICBmdW5jdGlvbiBpbml0U2l6aW5nKGVsKSB7CiAgICB2YXIgc2l6aW5nID0gc2l6aW5nUG9saWN5KGVsKTsKICAgIGlmICghc2l6aW5nKQogICAgICByZXR1cm47CgogICAgdmFyIGNlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJodG1sd2lkZ2V0X2NvbnRhaW5lciIpOwogICAgaWYgKCFjZWwpCiAgICAgIHJldHVybjsKCiAgICBpZiAodHlwZW9mKHNpemluZy5wYWRkaW5nKSAhPT0gInVuZGVmaW5lZCIpIHsKICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5tYXJnaW4gPSAiMCI7CiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZyA9IHBhZGRpbmdUb0Nzcyh1bnBhY2tQYWRkaW5nKHNpemluZy5wYWRkaW5nKSk7CiAgICB9CgogICAgaWYgKHNpemluZy5maWxsKSB7CiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAiaGlkZGVuIjsKICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS53aWR0aCA9ICIxMDAlIjsKICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5oZWlnaHQgPSAiMTAwJSI7CiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS53aWR0aCA9ICIxMDAlIjsKICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLmhlaWdodCA9ICIxMDAlIjsKICAgICAgaWYgKGNlbCkgewogICAgICAgIGNlbC5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CiAgICAgICAgdmFyIHBhZCA9IHVucGFja1BhZGRpbmcoc2l6aW5nLnBhZGRpbmcpOwogICAgICAgIGNlbC5zdHlsZS50b3AgPSBwYWQudG9wICsgInB4IjsKICAgICAgICBjZWwuc3R5bGUucmlnaHQgPSBwYWQucmlnaHQgKyAicHgiOwogICAgICAgIGNlbC5zdHlsZS5ib3R0b20gPSBwYWQuYm90dG9tICsgInB4IjsKICAgICAgICBjZWwuc3R5bGUubGVmdCA9IHBhZC5sZWZ0ICsgInB4IjsKICAgICAgICBlbC5zdHlsZS53aWR0aCA9ICIxMDAlIjsKICAgICAgICBlbC5zdHlsZS5oZWlnaHQgPSAiMTAwJSI7CiAgICAgIH0KCiAgICAgIHJldHVybiB7CiAgICAgICAgZ2V0V2lkdGg6IGZ1bmN0aW9uKCkgeyByZXR1cm4gY2VsLm9mZnNldFdpZHRoOyB9LAogICAgICAgIGdldEhlaWdodDogZnVuY3Rpb24oKSB7IHJldHVybiBjZWwub2Zmc2V0SGVpZ2h0OyB9CiAgICAgIH07CgogICAgfSBlbHNlIHsKICAgICAgZWwuc3R5bGUud2lkdGggPSBweChzaXppbmcud2lkdGgpOwogICAgICBlbC5zdHlsZS5oZWlnaHQgPSBweChzaXppbmcuaGVpZ2h0KTsKCiAgICAgIHJldHVybiB7CiAgICAgICAgZ2V0V2lkdGg6IGZ1bmN0aW9uKCkgeyByZXR1cm4gZWwub2Zmc2V0V2lkdGg7IH0sCiAgICAgICAgZ2V0SGVpZ2h0OiBmdW5jdGlvbigpIHsgcmV0dXJuIGVsLm9mZnNldEhlaWdodDsgfQogICAgICB9OwogICAgfQogIH0KCiAgLy8gRGVmYXVsdCBpbXBsZW1lbnRhdGlvbnMgZm9yIG1ldGhvZHMKICB2YXIgZGVmYXVsdHMgPSB7CiAgICBmaW5kOiBmdW5jdGlvbihzY29wZSkgewogICAgICByZXR1cm4gcXVlcnlTZWxlY3RvckFsbChzY29wZSwgIi4iICsgdGhpcy5uYW1lKTsKICAgIH0sCiAgICByZW5kZXJFcnJvcjogZnVuY3Rpb24oZWwsIGVycikgewogICAgICB2YXIgJGVsID0gJChlbCk7CgogICAgICB0aGlzLmNsZWFyRXJyb3IoZWwpOwoKICAgICAgLy8gQWRkIGFsbCB0aGVzZSBlcnJvciBjbGFzc2VzLCBhcyBTaGlueSBkb2VzCiAgICAgIHZhciBlcnJDbGFzcyA9ICJzaGlueS1vdXRwdXQtZXJyb3IiOwogICAgICBpZiAoZXJyLnR5cGUgIT09IG51bGwpIHsKICAgICAgICAvLyB1c2UgdGhlIGNsYXNzZXMgb2YgdGhlIGVycm9yIGNvbmRpdGlvbiBhcyBDU1MgY2xhc3MgbmFtZXMKICAgICAgICBlcnJDbGFzcyA9IGVyckNsYXNzICsgIiAiICsgJC5tYXAoYXNBcnJheShlcnIudHlwZSksIGZ1bmN0aW9uKHR5cGUpIHsKICAgICAgICAgIHJldHVybiBlcnJDbGFzcyArICItIiArIHR5cGU7CiAgICAgICAgfSkuam9pbigiICIpOwogICAgICB9CiAgICAgIGVyckNsYXNzID0gZXJyQ2xhc3MgKyAiIGh0bWx3aWRnZXRzLWVycm9yIjsKCiAgICAgIC8vIElzIGVsIGlubGluZSBvciBibG9jaz8gSWYgaW5saW5lIG9yIGlubGluZS1ibG9jaywganVzdCBkaXNwbGF5Om5vbmUgaXQKICAgICAgLy8gYW5kIGFkZCBhbiBpbmxpbmUgZXJyb3IuCiAgICAgIHZhciBkaXNwbGF5ID0gJGVsLmNzcygiZGlzcGxheSIpOwogICAgICAkZWwuZGF0YSgicmVzdG9yZS1kaXNwbGF5LW1vZGUiLCBkaXNwbGF5KTsKCiAgICAgIGlmIChkaXNwbGF5ID09PSAiaW5saW5lIiB8fCBkaXNwbGF5ID09PSAiaW5saW5lLWJsb2NrIikgewogICAgICAgICRlbC5oaWRlKCk7CiAgICAgICAgaWYgKGVyci5tZXNzYWdlICE9PSAiIikgewogICAgICAgICAgdmFyIGVycm9yU3BhbiA9ICQoIjxzcGFuPiIpLmFkZENsYXNzKGVyckNsYXNzKTsKICAgICAgICAgIGVycm9yU3Bhbi50ZXh0KGVyci5tZXNzYWdlKTsKICAgICAgICAgICRlbC5hZnRlcihlcnJvclNwYW4pOwogICAgICAgIH0KICAgICAgfSBlbHNlIGlmIChkaXNwbGF5ID09PSAiYmxvY2siKSB7CiAgICAgICAgLy8gSWYgYmxvY2ssIGFkZCBhbiBlcnJvciBqdXN0IGFmdGVyIHRoZSBlbCwgc2V0IHZpc2liaWxpdHk6bm9uZSBvbiB0aGUKICAgICAgICAvLyBlbCwgYW5kIHBvc2l0aW9uIHRoZSBlcnJvciB0byBiZSBvbiB0b3Agb2YgdGhlIGVsLgogICAgICAgIC8vIE1hcmsgaXQgd2l0aCBhIHVuaXF1ZSBJRCBhbmQgQ1NTIGNsYXNzIHNvIHdlIGNhbiByZW1vdmUgaXQgbGF0ZXIuCiAgICAgICAgJGVsLmNzcygidmlzaWJpbGl0eSIsICJoaWRkZW4iKTsKICAgICAgICBpZiAoZXJyLm1lc3NhZ2UgIT09ICIiKSB7CiAgICAgICAgICB2YXIgZXJyb3JEaXYgPSAkKCI8ZGl2PiIpLmFkZENsYXNzKGVyckNsYXNzKS5jc3MoInBvc2l0aW9uIiwgImFic29sdXRlIikKICAgICAgICAgICAgLmNzcygidG9wIiwgZWwub2Zmc2V0VG9wKQogICAgICAgICAgICAuY3NzKCJsZWZ0IiwgZWwub2Zmc2V0TGVmdCkKICAgICAgICAgICAgLy8gc2V0dGluZyB3aWR0aCBjYW4gcHVzaCBvdXQgdGhlIHBhZ2Ugc2l6ZSwgZm9yY2luZyBvdGhlcndpc2UKICAgICAgICAgICAgLy8gdW5uZWNlc3Nhcnkgc2Nyb2xsYmFycyB0byBhcHBlYXIgYW5kIG1ha2luZyBpdCBpbXBvc3NpYmxlIGZvcgogICAgICAgICAgICAvLyB0aGUgZWxlbWVudCB0byBzaHJpbms7IHNvIHVzZSBtYXgtd2lkdGggaW5zdGVhZAogICAgICAgICAgICAuY3NzKCJtYXhXaWR0aCIsIGVsLm9mZnNldFdpZHRoKQogICAgICAgICAgICAuY3NzKCJoZWlnaHQiLCBlbC5vZmZzZXRIZWlnaHQpOwogICAgICAgICAgZXJyb3JEaXYudGV4dChlcnIubWVzc2FnZSk7CiAgICAgICAgICAkZWwuYWZ0ZXIoZXJyb3JEaXYpOwoKICAgICAgICAgIC8vIFJlYWxseSBkdW1iIHdheSB0byBrZWVwIHRoZSBzaXplL3Bvc2l0aW9uIG9mIHRoZSBlcnJvciBpbiBzeW5jIHdpdGgKICAgICAgICAgIC8vIHRoZSBwYXJlbnQgZWxlbWVudCBhcyB0aGUgd2luZG93IGlzIHJlc2l6ZWQgb3Igd2hhdGV2ZXIuCiAgICAgICAgICB2YXIgaW50SWQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKCFlcnJvckRpdlswXS5wYXJlbnRFbGVtZW50KSB7CiAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRJZCk7CiAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVycm9yRGl2CiAgICAgICAgICAgICAgLmNzcygidG9wIiwgZWwub2Zmc2V0VG9wKQogICAgICAgICAgICAgIC5jc3MoImxlZnQiLCBlbC5vZmZzZXRMZWZ0KQogICAgICAgICAgICAgIC5jc3MoIm1heFdpZHRoIiwgZWwub2Zmc2V0V2lkdGgpCiAgICAgICAgICAgICAgLmNzcygiaGVpZ2h0IiwgZWwub2Zmc2V0SGVpZ2h0KTsKICAgICAgICAgIH0sIDUwMCk7CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgY2xlYXJFcnJvcjogZnVuY3Rpb24oZWwpIHsKICAgICAgdmFyICRlbCA9ICQoZWwpOwogICAgICB2YXIgZGlzcGxheSA9ICRlbC5kYXRhKCJyZXN0b3JlLWRpc3BsYXktbW9kZSIpOwogICAgICAkZWwuZGF0YSgicmVzdG9yZS1kaXNwbGF5LW1vZGUiLCBudWxsKTsKCiAgICAgIGlmIChkaXNwbGF5ID09PSAiaW5saW5lIiB8fCBkaXNwbGF5ID09PSAiaW5saW5lLWJsb2NrIikgewogICAgICAgIGlmIChkaXNwbGF5KQogICAgICAgICAgJGVsLmNzcygiZGlzcGxheSIsIGRpc3BsYXkpOwogICAgICAgICQoZWwubmV4dFNpYmxpbmcpLmZpbHRlcigiLmh0bWx3aWRnZXRzLWVycm9yIikucmVtb3ZlKCk7CiAgICAgIH0gZWxzZSBpZiAoZGlzcGxheSA9PT0gImJsb2NrIil7CiAgICAgICAgJGVsLmNzcygidmlzaWJpbGl0eSIsICJpbmhlcml0Iik7CiAgICAgICAgJChlbC5uZXh0U2libGluZykuZmlsdGVyKCIuaHRtbHdpZGdldHMtZXJyb3IiKS5yZW1vdmUoKTsKICAgICAgfQogICAgfSwKICAgIHNpemluZzoge30KICB9OwoKICAvLyBDYWxsZWQgYnkgd2lkZ2V0IGJpbmRpbmdzIHRvIHJlZ2lzdGVyIGEgbmV3IHR5cGUgb2Ygd2lkZ2V0LiBUaGUgZGVmaW5pdGlvbgogIC8vIG9iamVjdCBjYW4gY29udGFpbiB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6CiAgLy8gLSBuYW1lIChyZXF1aXJlZCkgLSBBIHN0cmluZyBpbmRpY2F0aW5nIHRoZSBiaW5kaW5nIG5hbWUsIHdoaWNoIHdpbGwgYmUKICAvLyAgIHVzZWQgYnkgZGVmYXVsdCBhcyB0aGUgQ1NTIGNsYXNzbmFtZSB0byBsb29rIGZvci4KICAvLyAtIGluaXRpYWxpemUgKG9wdGlvbmFsKSAtIEEgZnVuY3Rpb24oZWwpIHRoYXQgd2lsbCBiZSBjYWxsZWQgb25jZSBwZXIKICAvLyAgIHdpZGdldCBlbGVtZW50OyBpZiBhIHZhbHVlIGlzIHJldHVybmVkLCBpdCB3aWxsIGJlIHBhc3NlZCBhcyB0aGUgdGhpcmQKICAvLyAgIHZhbHVlIHRvIHJlbmRlclZhbHVlLgogIC8vIC0gcmVuZGVyVmFsdWUgKHJlcXVpcmVkKSAtIEEgZnVuY3Rpb24oZWwsIGRhdGEsIGluaXRWYWx1ZSkgdGhhdCB3aWxsIGJlCiAgLy8gICBjYWxsZWQgd2l0aCBkYXRhLiBTdGF0aWMgY29udGV4dHMgd2lsbCBjYXVzZSB0aGlzIHRvIGJlIGNhbGxlZCBvbmNlIHBlcgogIC8vICAgZWxlbWVudDsgU2hpbnkgYXBwcyB3aWxsIGNhdXNlIHRoaXMgdG8gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzIHBlcgogIC8vICAgZWxlbWVudCwgYXMgdGhlIGRhdGEgY2hhbmdlcy4KICB3aW5kb3cuSFRNTFdpZGdldHMud2lkZ2V0ID0gZnVuY3Rpb24oZGVmaW5pdGlvbikgewogICAgaWYgKCFkZWZpbml0aW9uLm5hbWUpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJXaWRnZXQgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAgfQogICAgaWYgKCFkZWZpbml0aW9uLnR5cGUpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJXaWRnZXQgbXVzdCBoYXZlIGEgdHlwZSIpOwogICAgfQogICAgLy8gQ3VycmVudGx5IHdlIG9ubHkgc3VwcG9ydCBvdXRwdXQgd2lkZ2V0cwogICAgaWYgKGRlZmluaXRpb24udHlwZSAhPT0gIm91dHB1dCIpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJVbnJlY29nbml6ZWQgd2lkZ2V0IHR5cGUgJyIgKyBkZWZpbml0aW9uLnR5cGUgKyAiJyIpOwogICAgfQogICAgLy8gVE9ETzogVmVyaWZ5IHRoYXQgLm5hbWUgaXMgYSB2YWxpZCBDU1MgY2xhc3NuYW1lCgogICAgLy8gU3VwcG9ydCBuZXctc3R5bGUgaW5zdGFuY2UtYm91bmQgZGVmaW5pdGlvbnMuIE9sZC1zdHlsZSBjbGFzcy1ib3VuZAogICAgLy8gZGVmaW5pdGlvbnMgaGF2ZSBvbmUgd2lkZ2V0ICJvYmplY3QiIHBlciB3aWRnZXQgcGVyIHR5cGUvY2xhc3Mgb2YKICAgIC8vIHdpZGdldDsgdGhlIHJlbmRlclZhbHVlIGFuZCByZXNpemUgbWV0aG9kcyBvbiBzdWNoIHdpZGdldCBvYmplY3RzCiAgICAvLyB0YWtlIGVsIGFuZCBpbnN0YW5jZSBhcmd1bWVudHMsIGJlY2F1c2UgdGhlIHdpZGdldCBvYmplY3QgY2FuJ3QKICAgIC8vIHN0b3JlIHRoZW0uIE5ldy1zdHlsZSBpbnN0YW5jZS1ib3VuZCBkZWZpbml0aW9ucyBoYXZlIG9uZSB3aWRnZXQKICAgIC8vIG9iamVjdCBwZXIgd2lkZ2V0IGluc3RhbmNlOyB0aGUgZGVmaW5pdGlvbiB0aGF0J3MgcGFzc2VkIGluIGRvZXNuJ3QKICAgIC8vIHByb3ZpZGUgcmVuZGVyVmFsdWUgb3IgcmVzaXplIG1ldGhvZHMgYXQgYWxsLCBqdXN0IHRoZSBzaW5nbGUgbWV0aG9kCiAgICAvLyAgIGZhY3RvcnkoZWwsIHdpZHRoLCBoZWlnaHQpCiAgICAvLyB3aGljaCByZXR1cm5zIGFuIG9iamVjdCB0aGF0IGhhcyByZW5kZXJWYWx1ZSh4KSBhbmQgcmVzaXplKHcsIGgpLgogICAgLy8gVGhpcyBlbmFibGVzIGEgZmFyIG1vcmUgbmF0dXJhbCBwcm9ncmFtbWluZyBzdHlsZSBmb3IgdGhlIHdpZGdldAogICAgLy8gYXV0aG9yLCB3aG8gY2FuIHN0b3JlIHBlci1pbnN0YW5jZSBzdGF0ZSB1c2luZyBlaXRoZXIgT08tc3R5bGUKICAgIC8vIGluc3RhbmNlIGZpZWxkcyBvciBmdW5jdGlvbmFsLXN0eWxlIGNsb3N1cmUgdmFyaWFibGVzIChJIGd1ZXNzIHRoaXMKICAgIC8vIGlzIGluIGNvbnRyYXN0IHRvIHdoYXQgY2FuIG9ubHkgYmUgY2FsbGVkIEMtc3R5bGUgcHNldWRvLU9PIHdoaWNoIGlzCiAgICAvLyB3aGF0IHdlIHJlcXVpcmVkIGJlZm9yZSkuCiAgICBpZiAoZGVmaW5pdGlvbi5mYWN0b3J5KSB7CiAgICAgIGRlZmluaXRpb24gPSBjcmVhdGVMZWdhY3lEZWZpbml0aW9uQWRhcHRlcihkZWZpbml0aW9uKTsKICAgIH0KCiAgICBpZiAoIWRlZmluaXRpb24ucmVuZGVyVmFsdWUpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJXaWRnZXQgbXVzdCBoYXZlIGEgcmVuZGVyVmFsdWUgZnVuY3Rpb24iKTsKICAgIH0KCiAgICAvLyBGb3Igc3RhdGljIHJlbmRlcmluZyAobm9uLVNoaW55KSwgdXNlIGEgc2ltcGxlIHdpZGdldCByZWdpc3RyYXRpb24KICAgIC8vIHNjaGVtZS4gV2UgYWxzbyB1c2UgdGhpcyBzY2hlbWUgZm9yIFNoaW55IGFwcHMvZG9jdW1lbnRzIHRoYXQgYWxzbwogICAgLy8gY29udGFpbiBzdGF0aWMgd2lkZ2V0cy4KICAgIHdpbmRvdy5IVE1MV2lkZ2V0cy53aWRnZXRzID0gd2luZG93LkhUTUxXaWRnZXRzLndpZGdldHMgfHwgW107CiAgICAvLyBNZXJnZSBkZWZhdWx0cyBpbnRvIHRoZSBkZWZpbml0aW9uOyBkb24ndCBtdXRhdGUgdGhlIG9yaWdpbmFsIGRlZmluaXRpb24uCiAgICB2YXIgc3RhdGljQmluZGluZyA9IGV4dGVuZCh7fSwgZGVmYXVsdHMsIGRlZmluaXRpb24pOwogICAgb3ZlcnJpZGVNZXRob2Qoc3RhdGljQmluZGluZywgImZpbmQiLCBmdW5jdGlvbihzdXBlcmZ1bmMpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uKHNjb3BlKSB7CiAgICAgICAgdmFyIHJlc3VsdHMgPSBzdXBlcmZ1bmMoc2NvcGUpOwogICAgICAgIC8vIEZpbHRlciBvdXQgU2hpbnkgb3V0cHV0cywgd2Ugb25seSB3YW50IHRoZSBzdGF0aWMga2luZAogICAgICAgIHJldHVybiBmaWx0ZXJCeUNsYXNzKHJlc3VsdHMsICJodG1sLXdpZGdldC1vdXRwdXQiLCBmYWxzZSk7CiAgICAgIH07CiAgICB9KTsKICAgIHdpbmRvdy5IVE1MV2lkZ2V0cy53aWRnZXRzLnB1c2goc3RhdGljQmluZGluZyk7CgogICAgaWYgKHNoaW55TW9kZSkgewogICAgICAvLyBTaGlueSBpcyBydW5uaW5nLiBSZWdpc3RlciB0aGUgZGVmaW5pdGlvbiB3aXRoIGFuIG91dHB1dCBiaW5kaW5nLgogICAgICAvLyBUaGUgZGVmaW5pdGlvbiBpdHNlbGYgd2lsbCBub3QgYmUgdGhlIG91dHB1dCBiaW5kaW5nLCBpbnN0ZWFkCiAgICAgIC8vIHdlIHdpbGwgbWFrZSBhbiBvdXRwdXQgYmluZGluZyBvYmplY3QgdGhhdCBkZWxlZ2F0ZXMgdG8gdGhlCiAgICAgIC8vIGRlZmluaXRpb24uIFRoaXMgaXMgYmVjYXVzZSB3ZSBmb29saXNobHkgdXNlZCB0aGUgc2FtZSBtZXRob2QKICAgICAgLy8gbmFtZSAocmVuZGVyVmFsdWUpIGZvciBodG1sd2lkZ2V0cyBkZWZpbml0aW9uIGFuZCBTaGlueSBiaW5kaW5ncwogICAgICAvLyBidXQgdGhleSBhY3R1YWxseSBoYXZlIHF1aXRlIGRpZmZlcmVudCBzZW1hbnRpY3MgKHRoZSBTaGlueQogICAgICAvLyBiaW5kaW5ncyByZWNlaXZlIGRhdGEgdGhhdCBpbmNsdWRlcyBsb3RzIG9mIG1ldGFkYXRhIHRoYXQgaXQKICAgICAgLy8gc3RyaXBzIG9mZiBiZWZvcmUgY2FsbGluZyBodG1sd2lkZ2V0cyByZW5kZXJWYWx1ZSkuIFdlIGNhbid0CiAgICAgIC8vIGp1c3QgaWdub3JlIHRoZSBkaWZmZXJlbmNlIGJlY2F1c2UgaW4gc29tZSB3aWRnZXRzIGl0J3MgaGVscGZ1bAogICAgICAvLyB0byBjYWxsIHRoaXMucmVuZGVyVmFsdWUoKSBmcm9tIGluc2lkZSBvZiByZXNpemUoKSwgYW5kIGlmCiAgICAgIC8vIHdlJ3JlIG5vdCBkZWxlZ2F0aW5nLCB0aGVuIHRoYXQgY2FsbCB3aWxsIGdvIHRvIHRoZSBTaGlueQogICAgICAvLyB2ZXJzaW9uIGluc3RlYWQgb2YgdGhlIGh0bWx3aWRnZXRzIHZlcnNpb24uCgogICAgICAvLyBNZXJnZSBkZWZhdWx0cyB3aXRoIGRlZmluaXRpb24sIHdpdGhvdXQgbXV0YXRpbmcgZWl0aGVyLgogICAgICB2YXIgYmluZGluZ0RlZiA9IGV4dGVuZCh7fSwgZGVmYXVsdHMsIGRlZmluaXRpb24pOwoKICAgICAgLy8gVGhpcyBvYmplY3Qgd2lsbCBiZSBvdXIgYWN0dWFsIFNoaW55IGJpbmRpbmcuCiAgICAgIHZhciBzaGlueUJpbmRpbmcgPSBuZXcgU2hpbnkuT3V0cHV0QmluZGluZygpOwoKICAgICAgLy8gV2l0aCBhIGZldyBleGNlcHRpb25zLCB3ZSdsbCB3YW50IHRvIHNpbXBseSB1c2UgdGhlIGJpbmRpbmdEZWYncwogICAgICAvLyB2ZXJzaW9uIG9mIG1ldGhvZHMgaWYgdGhleSBhcmUgYXZhaWxhYmxlLCBvdGhlcndpc2UgZmFsbCBiYWNrIHRvCiAgICAgIC8vIFNoaW55J3MgZGVmYXVsdHMuIE5PVEU6IElmIFNoaW55J3Mgb3V0cHV0IGJpbmRpbmdzIGdhaW4gYWRkaXRpb25hbAogICAgICAvLyBtZXRob2RzIGluIHRoZSBmdXR1cmUsIGFuZCB3ZSB3YW50IHRoZW0gdG8gYmUgb3ZlcnJpZGVhYmxlIGJ5CiAgICAgIC8vIEhUTUxXaWRnZXQgYmluZGluZyBkZWZpbml0aW9ucywgdGhlbiB3ZSdsbCBuZWVkIHRvIGFkZCB0aGVtIHRvIHRoaXMKICAgICAgLy8gbGlzdC4KICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCaW5kaW5nLCBiaW5kaW5nRGVmLCAiZ2V0SWQiKTsKICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCaW5kaW5nLCBiaW5kaW5nRGVmLCAib25WYWx1ZUNoYW5nZSIpOwogICAgICBkZWxlZ2F0ZU1ldGhvZChzaGlueUJpbmRpbmcsIGJpbmRpbmdEZWYsICJvblZhbHVlRXJyb3IiKTsKICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCaW5kaW5nLCBiaW5kaW5nRGVmLCAicmVuZGVyRXJyb3IiKTsKICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCaW5kaW5nLCBiaW5kaW5nRGVmLCAiY2xlYXJFcnJvciIpOwogICAgICBkZWxlZ2F0ZU1ldGhvZChzaGlueUJpbmRpbmcsIGJpbmRpbmdEZWYsICJzaG93UHJvZ3Jlc3MiKTsKCiAgICAgIC8vIFRoZSBmaW5kLCByZW5kZXJWYWx1ZSwgYW5kIHJlc2l6ZSBhcmUgaGFuZGxlZCBkaWZmZXJlbnRseSwgYmVjYXVzZSB3ZQogICAgICAvLyB3YW50IHRvIGFjdHVhbGx5IGRlY29yYXRlIHRoZSBiZWhhdmlvciBvZiB0aGUgYmluZGluZ0RlZiBtZXRob2RzLgoKICAgICAgc2hpbnlCaW5kaW5nLmZpbmQgPSBmdW5jdGlvbihzY29wZSkgewogICAgICAgIHZhciByZXN1bHRzID0gYmluZGluZ0RlZi5maW5kKHNjb3BlKTsKCiAgICAgICAgLy8gT25seSByZXR1cm4gZWxlbWVudHMgdGhhdCBhcmUgU2hpbnkgb3V0cHV0cywgbm90IHN0YXRpYyBvbmVzCiAgICAgICAgdmFyIGR5bmFtaWNSZXN1bHRzID0gcmVzdWx0cy5maWx0ZXIoIi5odG1sLXdpZGdldC1vdXRwdXQiKTsKCiAgICAgICAgLy8gSXQncyBwb3NzaWJsZSB0aGF0IHdoYXRldmVyIGNhdXNlZCBTaGlueSB0byB0aGluayB0aGVyZSBtaWdodCBiZQogICAgICAgIC8vIG5ldyBkeW5hbWljIG91dHB1dHMsIGFsc28gY2F1c2VkIHRoZXJlIHRvIGJlIG5ldyBzdGF0aWMgb3V0cHV0cy4KICAgICAgICAvLyBTaW5jZSB0aGVyZSBtaWdodCBiZSBsb3RzIG9mIGRpZmZlcmVudCBodG1sd2lkZ2V0cyBiaW5kaW5ncywgd2UKICAgICAgICAvLyBzY2hlZHVsZSBleGVjdXRpb24gZm9yIGxhdGVyLS1ubyBuZWVkIHRvIHN0YXRpY1JlbmRlciBtdWx0aXBsZQogICAgICAgIC8vIHRpbWVzLgogICAgICAgIGlmIChyZXN1bHRzLmxlbmd0aCAhPT0gZHluYW1pY1Jlc3VsdHMubGVuZ3RoKQogICAgICAgICAgc2NoZWR1bGVTdGF0aWNSZW5kZXIoKTsKCiAgICAgICAgcmV0dXJuIGR5bmFtaWNSZXN1bHRzOwogICAgICB9OwoKICAgICAgLy8gV3JhcCByZW5kZXJWYWx1ZSB0byBoYW5kbGUgaW5pdGlhbGl6YXRpb24sIHdoaWNoIHVuZm9ydHVuYXRlbHkgaXNuJ3QKICAgICAgLy8gc3VwcG9ydGVkIG5hdGl2ZWx5IGJ5IFNoaW55IGF0IHRoZSB0aW1lIG9mIHRoaXMgd3JpdGluZy4KCiAgICAgIHNoaW55QmluZGluZy5yZW5kZXJWYWx1ZSA9IGZ1bmN0aW9uKGVsLCBkYXRhKSB7CiAgICAgICAgU2hpbnkucmVuZGVyRGVwZW5kZW5jaWVzKGRhdGEuZGVwcyk7CiAgICAgICAgLy8gUmVzb2x2ZSBzdHJpbmdzIG1hcmtlZCBhcyBqYXZhc2NyaXB0IGxpdGVyYWxzIHRvIG9iamVjdHMKICAgICAgICBpZiAoIShkYXRhLmV2YWxzIGluc3RhbmNlb2YgQXJyYXkpKSBkYXRhLmV2YWxzID0gW2RhdGEuZXZhbHNdOwogICAgICAgIGZvciAodmFyIGkgPSAwOyBkYXRhLmV2YWxzICYmIGkgPCBkYXRhLmV2YWxzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICB3aW5kb3cuSFRNTFdpZGdldHMuZXZhbHVhdGVTdHJpbmdNZW1iZXIoZGF0YS54LCBkYXRhLmV2YWxzW2ldKTsKICAgICAgICB9CiAgICAgICAgaWYgKCFiaW5kaW5nRGVmLnJlbmRlck9uTnVsbFZhbHVlKSB7CiAgICAgICAgICBpZiAoZGF0YS54ID09PSBudWxsKSB7CiAgICAgICAgICAgIGVsLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICJpbmhlcml0IjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCFlbGVtZW50RGF0YShlbCwgImluaXRpYWxpemVkIikpIHsKICAgICAgICAgIGluaXRTaXppbmcoZWwpOwoKICAgICAgICAgIGVsZW1lbnREYXRhKGVsLCAiaW5pdGlhbGl6ZWQiLCB0cnVlKTsKICAgICAgICAgIGlmIChiaW5kaW5nRGVmLmluaXRpYWxpemUpIHsKICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGJpbmRpbmdEZWYuaW5pdGlhbGl6ZShlbCwgZWwub2Zmc2V0V2lkdGgsCiAgICAgICAgICAgICAgZWwub2Zmc2V0SGVpZ2h0KTsKICAgICAgICAgICAgZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCIsIHJlc3VsdCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGJpbmRpbmdEZWYucmVuZGVyVmFsdWUoZWwsIGRhdGEueCwgZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCIpKTsKICAgICAgICBldmFsQW5kUnVuKGRhdGEuanNIb29rcy5yZW5kZXIsIGVsZW1lbnREYXRhKGVsLCAiaW5pdF9yZXN1bHQiKSwgW2VsLCBkYXRhLnhdKTsKICAgICAgfTsKCiAgICAgIC8vIE9ubHkgb3ZlcnJpZGUgcmVzaXplIGlmIGJpbmRpbmdEZWYgaW1wbGVtZW50cyBpdAogICAgICBpZiAoYmluZGluZ0RlZi5yZXNpemUpIHsKICAgICAgICBzaGlueUJpbmRpbmcucmVzaXplID0gZnVuY3Rpb24oZWwsIHdpZHRoLCBoZWlnaHQpIHsKICAgICAgICAgIC8vIFNoaW55IGNhbiBjYWxsIHJlc2l6ZSBiZWZvcmUgaW5pdGlhbGl6ZS9yZW5kZXJWYWx1ZSBoYXZlIGJlZW4KICAgICAgICAgIC8vIGNhbGxlZCwgd2hpY2ggZG9lc24ndCBtYWtlIHNlbnNlIGZvciB3aWRnZXRzLgogICAgICAgICAgaWYgKGVsZW1lbnREYXRhKGVsLCAiaW5pdGlhbGl6ZWQiKSkgewogICAgICAgICAgICBiaW5kaW5nRGVmLnJlc2l6ZShlbCwgd2lkdGgsIGhlaWdodCwgZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCIpKTsKICAgICAgICAgIH0KICAgICAgICB9OwogICAgICB9CgogICAgICBTaGlueS5vdXRwdXRCaW5kaW5ncy5yZWdpc3RlcihzaGlueUJpbmRpbmcsIGJpbmRpbmdEZWYubmFtZSk7CiAgICB9CiAgfTsKCiAgdmFyIHNjaGVkdWxlU3RhdGljUmVuZGVyVGltZXJJZCA9IG51bGw7CiAgZnVuY3Rpb24gc2NoZWR1bGVTdGF0aWNSZW5kZXIoKSB7CiAgICBpZiAoIXNjaGVkdWxlU3RhdGljUmVuZGVyVGltZXJJZCkgewogICAgICBzY2hlZHVsZVN0YXRpY1JlbmRlclRpbWVySWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgIHNjaGVkdWxlU3RhdGljUmVuZGVyVGltZXJJZCA9IG51bGw7CiAgICAgICAgd2luZG93LkhUTUxXaWRnZXRzLnN0YXRpY1JlbmRlcigpOwogICAgICB9LCAxKTsKICAgIH0KICB9CgogIC8vIFJlbmRlciBzdGF0aWMgd2lkZ2V0cyBhZnRlciB0aGUgZG9jdW1lbnQgZmluaXNoZXMgbG9hZGluZwogIC8vIFN0YXRpY2FsbHkgcmVuZGVyIGFsbCBlbGVtZW50cyB0aGF0IGFyZSBvZiB0aGlzIHdpZGdldCdzIGNsYXNzCiAgd2luZG93LkhUTUxXaWRnZXRzLnN0YXRpY1JlbmRlciA9IGZ1bmN0aW9uKCkgewogICAgdmFyIGJpbmRpbmdzID0gd2luZG93LkhUTUxXaWRnZXRzLndpZGdldHMgfHwgW107CiAgICBmb3JFYWNoKGJpbmRpbmdzLCBmdW5jdGlvbihiaW5kaW5nKSB7CiAgICAgIHZhciBtYXRjaGVzID0gYmluZGluZy5maW5kKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7CiAgICAgIGZvckVhY2gobWF0Y2hlcywgZnVuY3Rpb24oZWwpIHsKICAgICAgICB2YXIgc2l6ZU9iaiA9IGluaXRTaXppbmcoZWwsIGJpbmRpbmcpOwoKICAgICAgICBpZiAoaGFzQ2xhc3MoZWwsICJodG1sLXdpZGdldC1zdGF0aWMtYm91bmQiKSkKICAgICAgICAgIHJldHVybjsKICAgICAgICBlbC5jbGFzc05hbWUgPSBlbC5jbGFzc05hbWUgKyAiIGh0bWwtd2lkZ2V0LXN0YXRpYy1ib3VuZCI7CgogICAgICAgIHZhciBpbml0UmVzdWx0OwogICAgICAgIGlmIChiaW5kaW5nLmluaXRpYWxpemUpIHsKICAgICAgICAgIGluaXRSZXN1bHQgPSBiaW5kaW5nLmluaXRpYWxpemUoZWwsCiAgICAgICAgICAgIHNpemVPYmogPyBzaXplT2JqLmdldFdpZHRoKCkgOiBlbC5vZmZzZXRXaWR0aCwKICAgICAgICAgICAgc2l6ZU9iaiA/IHNpemVPYmouZ2V0SGVpZ2h0KCkgOiBlbC5vZmZzZXRIZWlnaHQKICAgICAgICAgICk7CiAgICAgICAgICBlbGVtZW50RGF0YShlbCwgImluaXRfcmVzdWx0IiwgaW5pdFJlc3VsdCk7CiAgICAgICAgfQoKICAgICAgICBpZiAoYmluZGluZy5yZXNpemUpIHsKICAgICAgICAgIHZhciBsYXN0U2l6ZSA9IHsKICAgICAgICAgICAgdzogc2l6ZU9iaiA/IHNpemVPYmouZ2V0V2lkdGgoKSA6IGVsLm9mZnNldFdpZHRoLAogICAgICAgICAgICBoOiBzaXplT2JqID8gc2l6ZU9iai5nZXRIZWlnaHQoKSA6IGVsLm9mZnNldEhlaWdodAogICAgICAgICAgfTsKICAgICAgICAgIHZhciByZXNpemVIYW5kbGVyID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgc2l6ZSA9IHsKICAgICAgICAgICAgICB3OiBzaXplT2JqID8gc2l6ZU9iai5nZXRXaWR0aCgpIDogZWwub2Zmc2V0V2lkdGgsCiAgICAgICAgICAgICAgaDogc2l6ZU9iaiA/IHNpemVPYmouZ2V0SGVpZ2h0KCkgOiBlbC5vZmZzZXRIZWlnaHQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgaWYgKHNpemUudyA9PT0gMCAmJiBzaXplLmggPT09IDApCiAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICBpZiAoc2l6ZS53ID09PSBsYXN0U2l6ZS53ICYmIHNpemUuaCA9PT0gbGFzdFNpemUuaCkKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIGxhc3RTaXplID0gc2l6ZTsKICAgICAgICAgICAgYmluZGluZy5yZXNpemUoZWwsIHNpemUudywgc2l6ZS5oLCBpbml0UmVzdWx0KTsKICAgICAgICAgIH07CgogICAgICAgICAgb24od2luZG93LCAicmVzaXplIiwgcmVzaXplSGFuZGxlcik7CgogICAgICAgICAgLy8gVGhpcyBpcyBuZWVkZWQgZm9yIGNhc2VzIHdoZXJlIHdlJ3JlIHJ1bm5pbmcgaW4gYSBTaGlueQogICAgICAgICAgLy8gYXBwLCBidXQgdGhlIHdpZGdldCBpdHNlbGYgaXMgbm90IGEgU2hpbnkgb3V0cHV0LCBidXQKICAgICAgICAgIC8vIHJhdGhlciBhIHNpbXBsZSBzdGF0aWMgd2lkZ2V0LiBPbmUgZXhhbXBsZSBvZiB0aGlzIGlzCiAgICAgICAgICAvLyBhbiBybWFya2Rvd24gZG9jdW1lbnQgdGhhdCBoYXMgcnVudGltZTpzaGlueSBhbmQgd2lkZ2V0CiAgICAgICAgICAvLyB0aGF0IGlzbid0IGluIGEgcmVuZGVyIGZ1bmN0aW9uLiBTaGlueSBvbmx5IGtub3dzIHRvCiAgICAgICAgICAvLyBjYWxsIHJlc2l6ZSBoYW5kbGVycyBmb3IgU2hpbnkgb3V0cHV0cywgbm90IGZvciBzdGF0aWMKICAgICAgICAgIC8vIHdpZGdldHMsIHNvIHdlIGRvIGl0IG91cnNlbHZlcy4KICAgICAgICAgIGlmICh3aW5kb3cualF1ZXJ5KSB7CiAgICAgICAgICAgIHdpbmRvdy5qUXVlcnkoZG9jdW1lbnQpLm9uKAogICAgICAgICAgICAgICJzaG93bi5odG1sd2lkZ2V0cyBzaG93bi5icy50YWIuaHRtbHdpZGdldHMgc2hvd24uYnMuY29sbGFwc2UuaHRtbHdpZGdldHMiLAogICAgICAgICAgICAgIHJlc2l6ZUhhbmRsZXIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgd2luZG93LmpRdWVyeShkb2N1bWVudCkub24oCiAgICAgICAgICAgICAgImhpZGRlbi5odG1sd2lkZ2V0cyBoaWRkZW4uYnMudGFiLmh0bWx3aWRnZXRzIGhpZGRlbi5icy5jb2xsYXBzZS5odG1sd2lkZ2V0cyIsCiAgICAgICAgICAgICAgcmVzaXplSGFuZGxlcgogICAgICAgICAgICApOwogICAgICAgICAgfQoKICAgICAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIGZvciB0aGUgc3BlY2lmaWMgY2FzZSBvZiBpb3NsaWRlcywgd2hpY2gKICAgICAgICAgIC8vIGZsaXBzIHNsaWRlcyBiZXR3ZWVuIGRpc3BsYXk6bm9uZSBhbmQgZGlzcGxheTpibG9jay4KICAgICAgICAgIC8vIElkZWFsbHkgd2Ugd291bGQgbm90IGhhdmUgdG8gaGF2ZSBpb3NsaWRlLXNwZWNpZmljIGNvZGUKICAgICAgICAgIC8vIGhlcmUsIGJ1dCByYXRoZXIgaGF2ZSBpb3NsaWRlcyByYWlzZSBhIGdlbmVyaWMgZXZlbnQsCiAgICAgICAgICAvLyBidXQgdGhlIHJtYXJrZG93biBwYWNrYWdlIGp1c3Qgd2VudCB0byBDUkFOIHNvIHRoZQogICAgICAgICAgLy8gd2luZG93IHRvIGdldHRpbmcgdGhhdCBmaXhlZCBtYXkgYmUgbG9uZy4KICAgICAgICAgIGlmICh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcikgewogICAgICAgICAgICAvLyBJdCdzIE9LIHRvIGxpbWl0IHRoaXMgdG8gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIKICAgICAgICAgICAgLy8gYnJvd3NlcnMgYmVjYXVzZSBpb3NsaWRlcyBpdHNlbGYgb25seSBzdXBwb3J0cwogICAgICAgICAgICAvLyBzdWNoIGJyb3dzZXJzLgogICAgICAgICAgICBvbihkb2N1bWVudCwgInNsaWRlZW50ZXIiLCByZXNpemVIYW5kbGVyKTsKICAgICAgICAgICAgb24oZG9jdW1lbnQsICJzbGlkZWxlYXZlIiwgcmVzaXplSGFuZGxlcik7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgc2NyaXB0RGF0YSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInNjcmlwdFtkYXRhLWZvcj0nIiArIGVsLmlkICsgIiddW3R5cGU9J2FwcGxpY2F0aW9uL2pzb24nXSIpOwogICAgICAgIGlmIChzY3JpcHREYXRhKSB7CiAgICAgICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2Uoc2NyaXB0RGF0YS50ZXh0Q29udGVudCB8fCBzY3JpcHREYXRhLnRleHQpOwogICAgICAgICAgLy8gUmVzb2x2ZSBzdHJpbmdzIG1hcmtlZCBhcyBqYXZhc2NyaXB0IGxpdGVyYWxzIHRvIG9iamVjdHMKICAgICAgICAgIGlmICghKGRhdGEuZXZhbHMgaW5zdGFuY2VvZiBBcnJheSkpIGRhdGEuZXZhbHMgPSBbZGF0YS5ldmFsc107CiAgICAgICAgICBmb3IgKHZhciBrID0gMDsgZGF0YS5ldmFscyAmJiBrIDwgZGF0YS5ldmFscy5sZW5ndGg7IGsrKykgewogICAgICAgICAgICB3aW5kb3cuSFRNTFdpZGdldHMuZXZhbHVhdGVTdHJpbmdNZW1iZXIoZGF0YS54LCBkYXRhLmV2YWxzW2tdKTsKICAgICAgICAgIH0KICAgICAgICAgIGJpbmRpbmcucmVuZGVyVmFsdWUoZWwsIGRhdGEueCwgaW5pdFJlc3VsdCk7CiAgICAgICAgICBldmFsQW5kUnVuKGRhdGEuanNIb29rcy5yZW5kZXIsIGluaXRSZXN1bHQsIFtlbCwgZGF0YS54XSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0pOwoKICAgIGludm9rZVBvc3RSZW5kZXJIYW5kbGVycygpOwogIH0KCgogIGZ1bmN0aW9uIGhhc19qUXVlcnkzKCkgewogICAgaWYgKCF3aW5kb3cualF1ZXJ5KSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHZhciAkdmVyc2lvbiA9IHdpbmRvdy5qUXVlcnkuZm4uanF1ZXJ5OwogICAgdmFyICRtYWpvcl92ZXJzaW9uID0gcGFyc2VJbnQoJHZlcnNpb24uc3BsaXQoIi4iKVswXSk7CiAgICByZXR1cm4gJG1ham9yX3ZlcnNpb24gPj0gMzsKICB9CgogIC8qCiAgLyBTaGlueSAxLjQgYnVtcGVkIGpRdWVyeSBmcm9tIDEueCB0byAzLnggd2hpY2ggbWVhbnMgalF1ZXJ5J3MKICAvIG9uLXJlYWR5IGhhbmRsZXIgKGkuZS4sICQoZm4pKSBpcyBub3cgYXN5bmNyb25vdXMgKGkuZS4sIGl0IG5vdwogIC8gcmVhbGx5IG1lYW5zICQoc2V0VGltZW91dChmbikpLgogIC8gaHR0cHM6Ly9qcXVlcnkuY29tL3VwZ3JhZGUtZ3VpZGUvMy4wLyNicmVha2luZy1jaGFuZ2UtZG9jdW1lbnQtcmVhZHktaGFuZGxlcnMtYXJlLW5vdy1hc3luY2hyb25vdXMKICAvCiAgLyBTaW5jZSBTaGlueSB1c2VzICQoKSB0byBzY2hlZHVsZSBpbml0U2hpbnksIHNoaW55Pj0xLjQgY2FsbHMgaW5pdFNoaW55CiAgLyBvbmUgdGljayBsYXRlciB0aGFuIGl0IGRpZCBiZWZvcmUsIHdoaWNoIG1lYW5zIHN0YXRpY1JlbmRlcigpIGlzCiAgLyBjYWxsZWQgcmVuZGVyVmFsdWUoKSBlYXJsaWVyIHRoYW4gKGFkdmFuY2VkKSB3aWRnZXQgYXV0aG9ycyBtaWdodCBiZSBleHBlY3RpbmcuCiAgLyBodHRwczovL2dpdGh1Yi5jb20vcnN0dWRpby9zaGlueS9pc3N1ZXMvMjYzMAogIC8KICAvIEZvciBhIGNvbmNyZXRlIGV4YW1wbGUsIGxlYWZsZXQgaGFzIHNvbWUgbWV0aG9kcyAoZS5nLiwgdXBkYXRlQm91bmRzKQogIC8gd2hpY2ggcmVmZXJlbmNlIFNoaW55IG1ldGhvZHMgcmVnaXN0ZXJlZCBpbiBpbml0U2hpbnkgKGUuZy4sIHNldElucHV0VmFsdWUpLgogIC8gU2luY2UgbGVhZmxldCBpcyBwcml2eSB0byB0aGlzIGxpZmUtY3ljbGUsIGl0IGtub3dzIHRvIHVzZSBzZXRUaW1lb3V0KCkgdG8KICAvIGRlbGF5IGV4ZWN1dGlvbiBvZiB0aG9zZSBtZXRob2RzICh1bnRpbCBTaGlueSBtZXRob2RzIGFyZSByZWFkeSkKICAvIGh0dHBzOi8vZ2l0aHViLmNvbS9yc3R1ZGlvL2xlYWZsZXQvYmxvYi8xOGVjOTgxL2phdmFzY3JpcHQvc3JjL2luZGV4LmpzI0wyNjYtTDI2OAogIC8KICAvIElkZWFsbHkgd2lkZ2V0IGF1dGhvcnMgd291bGRuJ3QgbmVlZCB0byB1c2UgdGhpcyBzZXRUaW1lb3V0KCkgaGFjayB0aGF0CiAgLyBsZWFmbGV0IHVzZXMgdG8gY2FsbCBTaGlueSBtZXRob2RzIG9uIGEgc3RhdGljUmVuZGVyKCkuIEluIHRoZSBsb25nIHJ1biwKICAvIHRoZSBsb2dpYyBpbml0U2hpbnkgc2hvdWxkIGJlIGJyb2tlbiB1cCBzbyB0aGF0IG1ldGhvZCByZWdpc3RyYXRpb24gaGFwcGVucwogIC8gcmlnaHQgYXdheSwgYnV0IGJpbmRpbmcgaGFwcGVucyBsYXRlci4KICAqLwogIGZ1bmN0aW9uIG1heWJlU3RhdGljUmVuZGVyTGF0ZXIoKSB7CiAgICBpZiAoc2hpbnlNb2RlICYmIGhhc19qUXVlcnkzKCkpIHsKICAgICAgd2luZG93LmpRdWVyeSh3aW5kb3cuSFRNTFdpZGdldHMuc3RhdGljUmVuZGVyKTsKICAgIH0gZWxzZSB7CiAgICAgIHdpbmRvdy5IVE1MV2lkZ2V0cy5zdGF0aWNSZW5kZXIoKTsKICAgIH0KICB9CgogIGlmIChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKSB7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZnVuY3Rpb24oKSB7CiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBhcmd1bWVudHMuY2FsbGVlLCBmYWxzZSk7CiAgICAgIG1heWJlU3RhdGljUmVuZGVyTGF0ZXIoKTsKICAgIH0sIGZhbHNlKTsKICB9IGVsc2UgaWYgKGRvY3VtZW50LmF0dGFjaEV2ZW50KSB7CiAgICBkb2N1bWVudC5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIiwgZnVuY3Rpb24oKSB7CiAgICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAiY29tcGxldGUiKSB7CiAgICAgICAgZG9jdW1lbnQuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsIGFyZ3VtZW50cy5jYWxsZWUpOwogICAgICAgIG1heWJlU3RhdGljUmVuZGVyTGF0ZXIoKTsKICAgICAgfQogICAgfSk7CiAgfQoKCiAgd2luZG93LkhUTUxXaWRnZXRzLmdldEF0dGFjaG1lbnRVcmwgPSBmdW5jdGlvbihkZXBuYW1lLCBrZXkpIHsKICAgIC8vIElmIG5vIGtleSwgZGVmYXVsdCB0byB0aGUgZmlyc3QgaXRlbQogICAgaWYgKHR5cGVvZihrZXkpID09PSAidW5kZWZpbmVkIikKICAgICAga2V5ID0gMTsKCiAgICB2YXIgbGluayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRlcG5hbWUgKyAiLSIgKyBrZXkgKyAiLWF0dGFjaG1lbnQiKTsKICAgIGlmICghbGluaykgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0dGFjaG1lbnQgIiArIGRlcG5hbWUgKyAiLyIgKyBrZXkgKyAiIG5vdCBmb3VuZCBpbiBkb2N1bWVudCIpOwogICAgfQogICAgcmV0dXJuIGxpbmsuZ2V0QXR0cmlidXRlKCJocmVmIik7CiAgfTsKCiAgd2luZG93LkhUTUxXaWRnZXRzLmRhdGFmcmFtZVRvRDMgPSBmdW5jdGlvbihkZikgewogICAgdmFyIG5hbWVzID0gW107CiAgICB2YXIgbGVuZ3RoOwogICAgZm9yICh2YXIgbmFtZSBpbiBkZikgewogICAgICAgIGlmIChkZi5oYXNPd25Qcm9wZXJ0eShuYW1lKSkKICAgICAgICAgICAgbmFtZXMucHVzaChuYW1lKTsKICAgICAgICBpZiAodHlwZW9mKGRmW25hbWVdKSAhPT0gIm9iamVjdCIgfHwgdHlwZW9mKGRmW25hbWVdLmxlbmd0aCkgPT09ICJ1bmRlZmluZWQiKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQWxsIGZpZWxkcyBtdXN0IGJlIGFycmF5cyIpOwogICAgICAgIH0gZWxzZSBpZiAodHlwZW9mKGxlbmd0aCkgIT09ICJ1bmRlZmluZWQiICYmIGxlbmd0aCAhPT0gZGZbbmFtZV0ubGVuZ3RoKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQWxsIGZpZWxkcyBtdXN0IGJlIGFycmF5cyBvZiB0aGUgc2FtZSBsZW5ndGgiKTsKICAgICAgICB9CiAgICAgICAgbGVuZ3RoID0gZGZbbmFtZV0ubGVuZ3RoOwogICAgfQogICAgdmFyIHJlc3VsdHMgPSBbXTsKICAgIHZhciBpdGVtOwogICAgZm9yICh2YXIgcm93ID0gMDsgcm93IDwgbGVuZ3RoOyByb3crKykgewogICAgICAgIGl0ZW0gPSB7fTsKICAgICAgICBmb3IgKHZhciBjb2wgPSAwOyBjb2wgPCBuYW1lcy5sZW5ndGg7IGNvbCsrKSB7CiAgICAgICAgICAgIGl0ZW1bbmFtZXNbY29sXV0gPSBkZltuYW1lc1tjb2xdXVtyb3ddOwogICAgICAgIH0KICAgICAgICByZXN1bHRzLnB1c2goaXRlbSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0czsKICB9OwoKICB3aW5kb3cuSFRNTFdpZGdldHMudHJhbnNwb3NlQXJyYXkyRCA9IGZ1bmN0aW9uKGFycmF5KSB7CiAgICAgIGlmIChhcnJheS5sZW5ndGggPT09IDApIHJldHVybiBhcnJheTsKICAgICAgdmFyIG5ld0FycmF5ID0gYXJyYXlbMF0ubWFwKGZ1bmN0aW9uKGNvbCwgaSkgewogICAgICAgICAgcmV0dXJuIGFycmF5Lm1hcChmdW5jdGlvbihyb3cpIHsKICAgICAgICAgICAgICByZXR1cm4gcm93W2ldCiAgICAgICAgICB9KQogICAgICB9KTsKICAgICAgcmV0dXJuIG5ld0FycmF5OwogIH07CiAgLy8gU3BsaXQgdmFsdWUgYXQgc3BsaXRDaGFyLCBidXQgYWxsb3cgc3BsaXRDaGFyIHRvIGJlIGVzY2FwZWQKICAvLyB1c2luZyBlc2NhcGVDaGFyLiBBbnkgb3RoZXIgY2hhcmFjdGVycyBlc2NhcGVkIGJ5IGVzY2FwZUNoYXIKICAvLyB3aWxsIGJlIGluY2x1ZGVkIGFzIHVzdWFsIChpbmNsdWRpbmcgZXNjYXBlQ2hhciBpdHNlbGYpLgogIGZ1bmN0aW9uIHNwbGl0V2l0aEVzY2FwZSh2YWx1ZSwgc3BsaXRDaGFyLCBlc2NhcGVDaGFyKSB7CiAgICB2YXIgcmVzdWx0cyA9IFtdOwogICAgdmFyIGVzY2FwZU1vZGUgPSBmYWxzZTsKICAgIHZhciBjdXJyZW50UmVzdWx0ID0gIiI7CiAgICBmb3IgKHZhciBwb3MgPSAwOyBwb3MgPCB2YWx1ZS5sZW5ndGg7IHBvcysrKSB7CiAgICAgIGlmICghZXNjYXBlTW9kZSkgewogICAgICAgIGlmICh2YWx1ZVtwb3NdID09PSBzcGxpdENoYXIpIHsKICAgICAgICAgIHJlc3VsdHMucHVzaChjdXJyZW50UmVzdWx0KTsKICAgICAgICAgIGN1cnJlbnRSZXN1bHQgPSAiIjsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlW3Bvc10gPT09IGVzY2FwZUNoYXIpIHsKICAgICAgICAgIGVzY2FwZU1vZGUgPSB0cnVlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjdXJyZW50UmVzdWx0ICs9IHZhbHVlW3Bvc107CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGN1cnJlbnRSZXN1bHQgKz0gdmFsdWVbcG9zXTsKICAgICAgICBlc2NhcGVNb2RlID0gZmFsc2U7CiAgICAgIH0KICAgIH0KICAgIGlmIChjdXJyZW50UmVzdWx0ICE9PSAiIikgewogICAgICByZXN1bHRzLnB1c2goY3VycmVudFJlc3VsdCk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0czsKICB9CiAgLy8gRnVuY3Rpb24gYXV0aG9yZWQgYnkgWWlodWkvSkogQWxsYWlyZQogIHdpbmRvdy5IVE1MV2lkZ2V0cy5ldmFsdWF0ZVN0cmluZ01lbWJlciA9IGZ1bmN0aW9uKG8sIG1lbWJlcikgewogICAgdmFyIHBhcnRzID0gc3BsaXRXaXRoRXNjYXBlKG1lbWJlciwgJy4nLCAnXFwnKTsKICAgIGZvciAodmFyIGkgPSAwLCBsID0gcGFydHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7CiAgICAgIHZhciBwYXJ0ID0gcGFydHNbaV07CiAgICAgIC8vIHBhcnQgbWF5IGJlIGEgY2hhcmFjdGVyIG9yICdudW1lcmljJyBtZW1iZXIgbmFtZQogICAgICBpZiAobyAhPT0gbnVsbCAmJiB0eXBlb2YgbyA9PT0gIm9iamVjdCIgJiYgcGFydCBpbiBvKSB7CiAgICAgICAgaWYgKGkgPT0gKGwgLSAxKSkgeyAvLyBpZiB3ZSBhcmUgYXQgdGhlIGVuZCBvZiB0aGUgbGluZSB0aGVuIGV2YWx1bGF0ZQogICAgICAgICAgaWYgKHR5cGVvZiBvW3BhcnRdID09PSAic3RyaW5nIikKICAgICAgICAgICAgb1twYXJ0XSA9IHRyeUV2YWwob1twYXJ0XSk7CiAgICAgICAgfSBlbHNlIHsgLy8gb3RoZXJ3aXNlIGNvbnRpbnVlIHRvIG5leHQgZW1iZWRkZWQgb2JqZWN0CiAgICAgICAgICBvID0gb1twYXJ0XTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9OwoKICAvLyBSZXRyaWV2ZSB0aGUgSFRNTFdpZGdldCBpbnN0YW5jZSAoaS5lLiB0aGUgcmV0dXJuIHZhbHVlIG9mIGFuCiAgLy8gSFRNTFdpZGdldCBiaW5kaW5nJ3MgaW5pdGlhbGl6ZSgpIG9yIGZhY3RvcnkoKSBmdW5jdGlvbikKICAvLyBhc3NvY2lhdGVkIHdpdGggYW4gZWxlbWVudCwgb3IgbnVsbCBpZiBub25lLgogIHdpbmRvdy5IVE1MV2lkZ2V0cy5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uKGVsKSB7CiAgICByZXR1cm4gZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCIpOwogIH07CgogIC8vIEZpbmRzIHRoZSBmaXJzdCBlbGVtZW50IGluIHRoZSBzY29wZSB0aGF0IG1hdGNoZXMgdGhlIHNlbGVjdG9yLAogIC8vIGFuZCByZXR1cm5zIHRoZSBIVE1MV2lkZ2V0IGluc3RhbmNlIChpLmUuIHRoZSByZXR1cm4gdmFsdWUgb2YKICAvLyBhbiBIVE1MV2lkZ2V0IGJpbmRpbmcncyBpbml0aWFsaXplKCkgb3IgZmFjdG9yeSgpIGZ1bmN0aW9uKQogIC8vIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGVsZW1lbnQsIGlmIGFueS4gSWYgbm8gZWxlbWVudCBtYXRjaGVzIHRoZQogIC8vIHNlbGVjdG9yLCBvciB0aGUgZmlyc3QgbWF0Y2hpbmcgZWxlbWVudCBoYXMgbm8gSFRNTFdpZGdldAogIC8vIGluc3RhbmNlIGFzc29jaWF0ZWQgd2l0aCBpdCwgdGhlbiBudWxsIGlzIHJldHVybmVkLgogIC8vCiAgLy8gVGhlIHNjb3BlIGFyZ3VtZW50IGlzIG9wdGlvbmFsLCBhbmQgZGVmYXVsdHMgdG8gd2luZG93LmRvY3VtZW50LgogIHdpbmRvdy5IVE1MV2lkZ2V0cy5maW5kID0gZnVuY3Rpb24oc2NvcGUsIHNlbGVjdG9yKSB7CiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAxKSB7CiAgICAgIHNlbGVjdG9yID0gc2NvcGU7CiAgICAgIHNjb3BlID0gZG9jdW1lbnQ7CiAgICB9CgogICAgdmFyIGVsID0gc2NvcGUucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7CiAgICBpZiAoZWwgPT09IG51bGwpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd2luZG93LkhUTUxXaWRnZXRzLmdldEluc3RhbmNlKGVsKTsKICAgIH0KICB9OwoKICAvLyBGaW5kcyBhbGwgZWxlbWVudHMgaW4gdGhlIHNjb3BlIHRoYXQgbWF0Y2ggdGhlIHNlbGVjdG9yLCBhbmQKICAvLyByZXR1cm5zIHRoZSBIVE1MV2lkZ2V0IGluc3RhbmNlcyAoaS5lLiB0aGUgcmV0dXJuIHZhbHVlcyBvZgogIC8vIGFuIEhUTUxXaWRnZXQgYmluZGluZydzIGluaXRpYWxpemUoKSBvciBmYWN0b3J5KCkgZnVuY3Rpb24pCiAgLy8gYXNzb2NpYXRlZCB3aXRoIHRoZSBlbGVtZW50cywgaW4gYW4gYXJyYXkuIElmIGVsZW1lbnRzIHRoYXQKICAvLyBtYXRjaCB0aGUgc2VsZWN0b3IgZG9uJ3QgaGF2ZSBhbiBhc3NvY2lhdGVkIEhUTUxXaWRnZXQKICAvLyBpbnN0YW5jZSwgdGhlIHJldHVybmVkIGFycmF5IHdpbGwgY29udGFpbiBudWxscy4KICAvLwogIC8vIFRoZSBzY29wZSBhcmd1bWVudCBpcyBvcHRpb25hbCwgYW5kIGRlZmF1bHRzIHRvIHdpbmRvdy5kb2N1bWVudC4KICB3aW5kb3cuSFRNTFdpZGdldHMuZmluZEFsbCA9IGZ1bmN0aW9uKHNjb3BlLCBzZWxlY3RvcikgewogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMSkgewogICAgICBzZWxlY3RvciA9IHNjb3BlOwogICAgICBzY29wZSA9IGRvY3VtZW50OwogICAgfQoKICAgIHZhciBub2RlcyA9IHNjb3BlLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpOwogICAgdmFyIHJlc3VsdHMgPSBbXTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXMubGVuZ3RoOyBpKyspIHsKICAgICAgcmVzdWx0cy5wdXNoKHdpbmRvdy5IVE1MV2lkZ2V0cy5nZXRJbnN0YW5jZShub2Rlc1tpXSkpOwogICAgfQogICAgcmV0dXJuIHJlc3VsdHM7CiAgfTsKCiAgdmFyIHBvc3RSZW5kZXJIYW5kbGVycyA9IFtdOwogIGZ1bmN0aW9uIGludm9rZVBvc3RSZW5kZXJIYW5kbGVycygpIHsKICAgIHdoaWxlIChwb3N0UmVuZGVySGFuZGxlcnMubGVuZ3RoKSB7CiAgICAgIHZhciBoYW5kbGVyID0gcG9zdFJlbmRlckhhbmRsZXJzLnNoaWZ0KCk7CiAgICAgIGlmIChoYW5kbGVyKSB7CiAgICAgICAgaGFuZGxlcigpOwogICAgICB9CiAgICB9CiAgfQoKICAvLyBSZWdpc3RlciB0aGUgZ2l2ZW4gY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgaW52b2tlZCBhZnRlciB0aGUKICAvLyBuZXh0IHRpbWUgc3RhdGljIHdpZGdldHMgYXJlIHJlbmRlcmVkLgogIHdpbmRvdy5IVE1MV2lkZ2V0cy5hZGRQb3N0UmVuZGVySGFuZGxlciA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7CiAgICBwb3N0UmVuZGVySGFuZGxlcnMucHVzaChjYWxsYmFjayk7CiAgfTsKCiAgLy8gVGFrZXMgYSBuZXctc3R5bGUgaW5zdGFuY2UtYm91bmQgZGVmaW5pdGlvbiwgYW5kIHJldHVybnMgYW4KICAvLyBvbGQtc3R5bGUgY2xhc3MtYm91bmQgZGVmaW5pdGlvbi4gVGhpcyBzYXZlcyB1cyBmcm9tIGhhdmluZwogIC8vIHRvIHJld3JpdGUgYWxsIHRoZSBsb2dpYyBpbiB0aGlzIGZpbGUgdG8gYWNjb21vZGF0ZSBib3RoCiAgLy8gdHlwZXMgb2YgZGVmaW5pdGlvbnMuCiAgZnVuY3Rpb24gY3JlYXRlTGVnYWN5RGVmaW5pdGlvbkFkYXB0ZXIoZGVmbikgewogICAgdmFyIHJlc3VsdCA9IHsKICAgICAgbmFtZTogZGVmbi5uYW1lLAogICAgICB0eXBlOiBkZWZuLnR5cGUsCiAgICAgIGluaXRpYWxpemU6IGZ1bmN0aW9uKGVsLCB3aWR0aCwgaGVpZ2h0KSB7CiAgICAgICAgcmV0dXJuIGRlZm4uZmFjdG9yeShlbCwgd2lkdGgsIGhlaWdodCk7CiAgICAgIH0sCiAgICAgIHJlbmRlclZhbHVlOiBmdW5jdGlvbihlbCwgeCwgaW5zdGFuY2UpIHsKICAgICAgICByZXR1cm4gaW5zdGFuY2UucmVuZGVyVmFsdWUoeCk7CiAgICAgIH0sCiAgICAgIHJlc2l6ZTogZnVuY3Rpb24oZWwsIHdpZHRoLCBoZWlnaHQsIGluc3RhbmNlKSB7CiAgICAgICAgcmV0dXJuIGluc3RhbmNlLnJlc2l6ZSh3aWR0aCwgaGVpZ2h0KTsKICAgICAgfQogICAgfTsKCiAgICBpZiAoZGVmbi5maW5kKQogICAgICByZXN1bHQuZmluZCA9IGRlZm4uZmluZDsKICAgIGlmIChkZWZuLnJlbmRlckVycm9yKQogICAgICByZXN1bHQucmVuZGVyRXJyb3IgPSBkZWZuLnJlbmRlckVycm9yOwogICAgaWYgKGRlZm4uY2xlYXJFcnJvcikKICAgICAgcmVzdWx0LmNsZWFyRXJyb3IgPSBkZWZuLmNsZWFyRXJyb3I7CgogICAgcmV0dXJuIHJlc3VsdDsKICB9Cn0pKCk7Cgo=&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,CkhUTUxXaWRnZXRzLndpZGdldCh7CiAgbmFtZTogInBsb3RseSIsCiAgdHlwZTogIm91dHB1dCIsCgogIGluaXRpYWxpemU6IGZ1bmN0aW9uKGVsLCB3aWR0aCwgaGVpZ2h0KSB7CiAgICByZXR1cm4ge307CiAgfSwKCiAgcmVzaXplOiBmdW5jdGlvbihlbCwgd2lkdGgsIGhlaWdodCwgaW5zdGFuY2UpIHsKICAgIGlmIChpbnN0YW5jZS5hdXRvc2l6ZSkgewogICAgICB2YXIgd2lkdGggPSBpbnN0YW5jZS53aWR0aCB8fCB3aWR0aDsKICAgICAgdmFyIGhlaWdodCA9IGluc3RhbmNlLmhlaWdodCB8fCBoZWlnaHQ7CiAgICAgIFBsb3RseS5yZWxheW91dChlbC5pZCwge3dpZHRoOiB3aWR0aCwgaGVpZ2h0OiBoZWlnaHR9KTsKICAgIH0KICB9LCAgCiAgCiAgcmVuZGVyVmFsdWU6IGZ1bmN0aW9uKGVsLCB4LCBpbnN0YW5jZSkgewogICAgCiAgICAvLyBQbG90bHkucmVsYXlvdXQoKSBtdXRhdGVzIHRoZSBwbG90IGlucHV0IG9iamVjdCwgc28gbWFrZSBzdXJlIHRvIAogICAgLy8ga2VlcCBhIHJlZmVyZW5jZSB0byB0aGUgdXNlci1zdXBwbGllZCB3aWR0aC9oZWlnaHQgKmJlZm9yZSoKICAgIC8vIHdlIGNhbGwgUGxvdGx5LnBsb3QoKTsKICAgIHZhciBsYXkgPSB4LmxheW91dCB8fCB7fTsKICAgIGluc3RhbmNlLndpZHRoID0gbGF5LndpZHRoOwogICAgaW5zdGFuY2UuaGVpZ2h0ID0gbGF5LmhlaWdodDsKICAgIGluc3RhbmNlLmF1dG9zaXplID0gbGF5LmF1dG9zaXplIHx8IHRydWU7CiAgICAKICAgIC8qIAogICAgLyAnaW5mb3JtIHRoZSB3b3JsZCcgYWJvdXQgaGlnaGxpZ2h0aW5nIG9wdGlvbnMgdGhpcyBpcyBzbyBvdGhlcgogICAgLyBjcm9zc3RhbGsgbGlicmFyaWVzIGhhdmUgYSBjaGFuY2UgdG8gcmVzcG9uZCB0byBzcGVjaWFsIHNldHRpbmdzIAogICAgLyBzdWNoIGFzIHBlcnNpc3RlbnQgc2VsZWN0aW9uLiAKICAgIC8gQUZBSUssIGxlYWZsZXQgaXMgdGhlIG9ubHkgbGlicmFyeSB3aXRoIHN1Y2ggaW50ZXJncmF0aW9uCiAgICAvIGh0dHBzOi8vZ2l0aHViLmNvbS9yc3R1ZGlvL2xlYWZsZXQvcHVsbC8zNDYvZmlsZXMjZGlmZi1hZDBjMmQ1MWNlNWZkZjhjOTBjNzM5NWIxMDJmNDI2NVIxNTQKICAgICovCiAgICB2YXIgY3RDb25maWcgPSBjcm9zc3RhbGsudmFyKCdwbG90bHlDcm9zc3RhbGtPcHRzJykuc2V0KHguaGlnaGxpZ2h0KTsKICAgICAgCiAgICBpZiAodHlwZW9mKHdpbmRvdykgIT09ICJ1bmRlZmluZWQiKSB7CiAgICAgIC8vIG1ha2Ugc3VyZSBwbG90cyBkb24ndCBnZXQgY3JlYXRlZCBvdXRzaWRlIHRoZSBuZXR3b3JrIChmb3Igb24tcHJlbSkKICAgICAgd2luZG93LlBMT1RMWUVOViA9IHdpbmRvdy5QTE9UTFlFTlYgfHwge307CiAgICAgIHdpbmRvdy5QTE9UTFlFTlYuQkFTRV9VUkwgPSB4LmJhc2VfdXJsOwogICAgICAKICAgICAgLy8gRW5hYmxlIHBlcnNpc3RlbnQgc2VsZWN0aW9uIHdoZW4gc2hpZnQga2V5IGlzIGRvd24KICAgICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTgyODYxMy9jaGVjay1pZi1hLWtleS1pcy1kb3duCiAgICAgIHZhciBwZXJzaXN0T25TaGlmdCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICBpZiAoIWUpIHdpbmRvdy5ldmVudDsKICAgICAgICBpZiAoZS5zaGlmdEtleSkgeyAKICAgICAgICAgIHguaGlnaGxpZ2h0LnBlcnNpc3RlbnQgPSB0cnVlOyAKICAgICAgICAgIHguaGlnaGxpZ2h0LnBlcnNpc3RlbnRTaGlmdCA9IHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHguaGlnaGxpZ2h0LnBlcnNpc3RlbnQgPSBmYWxzZTsgCiAgICAgICAgICB4LmhpZ2hsaWdodC5wZXJzaXN0ZW50U2hpZnQgPSBmYWxzZTsKICAgICAgICB9CiAgICAgIH07CiAgICAgIAogICAgICAvLyBPbmx5IHJlbGV2YW50IGlmIHdlIGhhdmVuJ3QgZm9yY2VkIHBlcnNpc3RlbnQgbW9kZSBhdCBjb21tYW5kIGxpbmUKICAgICAgaWYgKCF4LmhpZ2hsaWdodC5wZXJzaXN0ZW50KSB7CiAgICAgICAgd2luZG93Lm9ubW91c2Vtb3ZlID0gcGVyc2lzdE9uU2hpZnQ7CiAgICAgIH0KICAgIH0KCiAgICB2YXIgZ3JhcGhEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbC5pZCk7CiAgICAKICAgIC8vIFRPRE86IG1vdmUgdGhlIGNvbnRyb2wgcGFuZWwgaW5qZWN0aW9uIHN0cmF0ZWd5IGluc2lkZSBoZXJlLi4uCiAgICBIVE1MV2lkZ2V0cy5hZGRQb3N0UmVuZGVySGFuZGxlcihmdW5jdGlvbigpIHsKICAgICAgCiAgICAgIC8vIGxvd2VyIHRoZSB6LWluZGV4IG9mIHRoZSBtb2RlYmFyIHRvIHByZXZlbnQgaXQgZnJvbSBoaWdoamFja2luZyBob3ZlcgogICAgICAvLyAoVE9ETzogZG8gdGhpcyB2aWEgQ1NTPykKICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3JvcGVuc2NpL3Bsb3RseS9pc3N1ZXMvOTU2CiAgICAgIC8vIGh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vanNyZWYvcHJvcF9zdHlsZV96aW5kZXguYXNwCiAgICAgIHZhciBtb2RlYmFycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5qcy1wbG90bHktcGxvdCAucGxvdGx5IC5tb2RlYmFyIik7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbW9kZWJhcnMubGVuZ3RoOyBpKyspIHsKICAgICAgICBtb2RlYmFyc1tpXS5zdHlsZS56SW5kZXggPSAxOwogICAgICB9CiAgICB9KTsKICAgICAgCiAgICAgIC8vIGluamVjdCBhICJjb250cm9sIHBhbmVsIiBob2xkaW5nIHNlbGVjdGl6ZS9keW5hbWljIGNvbG9yIHdpZGdldChzKQogICAgaWYgKHguc2VsZWN0aXplIHx8IHguaGlnaGxpZ2h0LmR5bmFtaWMgJiYgIWluc3RhbmNlLnBsb3RseSkgewogICAgICB2YXIgZmxleCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICBmbGV4LmNsYXNzID0gInBsb3RseS1jcm9zc3RhbGstY29udHJvbC1wYW5lbCI7CiAgICAgIGZsZXguc3R5bGUgPSAiZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwIjsKICAgICAgCiAgICAgIC8vIGluamVjdCB0aGUgY29sb3VycGlja2VyIEhUTUwgY29udGFpbmVyIGludG8gdGhlIGZsZXhib3gKICAgICAgaWYgKHguaGlnaGxpZ2h0LmR5bmFtaWMpIHsKICAgICAgICB2YXIgcGlja2VyRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgCiAgICAgICAgdmFyIHBpY2tlcklucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKICAgICAgICBwaWNrZXJJbnB1dC5pZCA9IGVsLmlkICsgIi1jb2xvdXJwaWNrZXIiOwogICAgICAgIHBpY2tlcklucHV0LnBsYWNlaG9sZGVyID0gImFzZGFzZCI7CiAgICAgICAgCiAgICAgICAgdmFyIHBpY2tlckxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKICAgICAgICBwaWNrZXJMYWJlbC5mb3IgPSBwaWNrZXJJbnB1dC5pZDsKICAgICAgICBwaWNrZXJMYWJlbC5pbm5lckhUTUwgPSAiQnJ1c2ggY29sb3ImbmJzcDsmbmJzcDsiOwogICAgICAgIAogICAgICAgIHBpY2tlckRpdi5hcHBlbmRDaGlsZChwaWNrZXJMYWJlbCk7CiAgICAgICAgcGlja2VyRGl2LmFwcGVuZENoaWxkKHBpY2tlcklucHV0KTsKICAgICAgICBmbGV4LmFwcGVuZENoaWxkKHBpY2tlckRpdik7CiAgICAgIH0KICAgICAgCiAgICAgIC8vIGluamVjdCBzZWxlY3RpemUgSFRNTCBjb250YWluZXJzIChvbmUgZm9yIGV2ZXJ5IGNyb3NzdGFsayBncm91cCkKICAgICAgaWYgKHguc2VsZWN0aXplKSB7CiAgICAgICAgdmFyIGlkcyA9IE9iamVjdC5rZXlzKHguc2VsZWN0aXplKTsKICAgICAgICAKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlkcy5sZW5ndGg7IGkrKykgewogICAgICAgICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICAgY29udGFpbmVyLmlkID0gaWRzW2ldOwogICAgICAgICAgY29udGFpbmVyLnN0eWxlID0gIndpZHRoOiA4MCU7IGhlaWdodDogMTAlIjsKICAgICAgICAgIGNvbnRhaW5lci5jbGFzcyA9ICJmb3JtLWdyb3VwIGNyb3NzdGFsay1pbnB1dC1wbG90bHktaGlnaGxpZ2h0IjsKICAgICAgICAgIAogICAgICAgICAgdmFyIGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKICAgICAgICAgIGxhYmVsLmZvciA9IGlkc1tpXTsKICAgICAgICAgIGxhYmVsLmlubmVySFRNTCA9IHguc2VsZWN0aXplW2lkc1tpXV0uZ3JvdXA7CiAgICAgICAgICBsYWJlbC5jbGFzcyA9ICJjb250cm9sLWxhYmVsIjsKICAgICAgICAgIAogICAgICAgICAgdmFyIHNlbGVjdERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICAgdmFyIHNlbGVjdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpOwogICAgICAgICAgc2VsZWN0Lm11bHRpcGxlID0gdHJ1ZTsKICAgICAgICAgIAogICAgICAgICAgc2VsZWN0RGl2LmFwcGVuZENoaWxkKHNlbGVjdCk7CiAgICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobGFiZWwpOwogICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKHNlbGVjdERpdik7CiAgICAgICAgICBmbGV4LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICAvLyBmaW5hbGx5LCBpbnNlcnQgdGhlIGZsZXhib3ggaW5zaWRlIHRoZSBodG1sd2lkZ2V0IGNvbnRhaW5lciwKICAgICAgLy8gYnV0IGJlZm9yZSB0aGUgcGxvdGx5IGdyYXBoIGRpdgogICAgICBncmFwaERpdi5wYXJlbnRFbGVtZW50Lmluc2VydEJlZm9yZShmbGV4LCBncmFwaERpdik7CiAgICAgIAogICAgICBpZiAoeC5oaWdobGlnaHQuZHluYW1pYykgewogICAgICAgIHZhciBwaWNrZXIgPSAkKCIjIiArIHBpY2tlcklucHV0LmlkKTsKICAgICAgICB2YXIgY29sb3JzID0geC5oaWdobGlnaHQuY29sb3IgfHwgW107CiAgICAgICAgLy8gVE9ETzogbGV0IHVzZXJzIHNwZWNpZnkgb3B0aW9ucz8KICAgICAgICB2YXIgb3B0cyA9IHsKICAgICAgICAgIHZhbHVlOiBjb2xvcnNbMF0sCiAgICAgICAgICBzaG93Q29sb3VyOiAiYm90aCIsCiAgICAgICAgICBwYWxldHRlOiAibGltaXRlZCIsCiAgICAgICAgICBhbGxvd2VkQ29sczogY29sb3JzLmpvaW4oIiAiKSwKICAgICAgICAgIHdpZHRoOiAiMjAlIiwKICAgICAgICAgIGhlaWdodDogIjEwJSIKICAgICAgICB9OwogICAgICAgIHBpY2tlci5jb2xvdXJwaWNrZXIoe2NoYW5nZURlbGF5OiAwfSk7CiAgICAgICAgcGlja2VyLmNvbG91cnBpY2tlcigic2V0dGluZ3MiLCBvcHRzKTsKICAgICAgICBwaWNrZXIuY29sb3VycGlja2VyKCJ2YWx1ZSIsIG9wdHMudmFsdWUpOwogICAgICAgIC8vIGluZm9ybSBjcm9zc3RhbGsgYWJvdXQgYSBjaGFuZ2UgaW4gdGhlIGN1cnJlbnQgc2VsZWN0aW9uIGNvbG91cgogICAgICAgIHZhciBncnBzID0geC5oaWdobGlnaHQuY3RHcm91cHMgfHwgW107CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBncnBzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICBjcm9zc3RhbGsuZ3JvdXAoZ3Jwc1tpXSkudmFyKCdwbG90bHlTZWxlY3Rpb25Db2xvdXInKQogICAgICAgICAgICAuc2V0KHBpY2tlci5jb2xvdXJwaWNrZXIoJ3ZhbHVlJykpOwogICAgICAgIH0KICAgICAgICBwaWNrZXIub24oImNoYW5nZSIsIGZ1bmN0aW9uKCkgewogICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBncnBzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGNyb3NzdGFsay5ncm91cChncnBzW2ldKS52YXIoJ3Bsb3RseVNlbGVjdGlvbkNvbG91cicpCiAgICAgICAgICAgICAgLnNldChwaWNrZXIuY29sb3VycGlja2VyKCd2YWx1ZScpKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfQogICAgfQogICAgCiAgICAvLyBpZiBubyBwbG90IGV4aXN0cyB5ZXQsIGNyZWF0ZSBvbmUgd2l0aCBhIHBhcnRpY3VsYXIgY29uZmlndXJhdGlvbgogICAgaWYgKCFpbnN0YW5jZS5wbG90bHkpIHsKICAgICAgCiAgICAgIHZhciBwbG90ID0gUGxvdGx5LnBsb3QoZ3JhcGhEaXYsIHgpOwogICAgICBpbnN0YW5jZS5wbG90bHkgPSB0cnVlOwogICAgICAKICAgIH0gZWxzZSB7CiAgICAgIAogICAgICAvLyB0aGlzIGlzIGVzc2VudGlhbGx5IGVxdWl2YWxlbnQgdG8gUGxvdGx5Lm5ld1Bsb3QoKSwgYnV0IGF2b2lkcyBjcmVhdGluZyAKICAgICAgLy8gYSBuZXcgd2ViZ2wgY29udGV4dAogICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGxvdGx5L3Bsb3RseS5qcy9ibG9iLzJiMjRmOWRlZjkwMTgzMWU2MTI4MjA3NmNmM2Y4MzU1OThkNTZmMGUvc3JjL3Bsb3RfYXBpL3Bsb3RfYXBpLmpzI0w1MzEtTDUzMgoKICAgICAgLy8gVE9ETzogcmVzdG9yZSBjcm9zc3RhbGsgc2VsZWN0aW9ucz8KICAgICAgUGxvdGx5LnB1cmdlKGdyYXBoRGl2KTsKICAgICAgLy8gVE9ETzogd2h5IGlzIHRoaXMgbmVjZXNzYXJ5IHRvIGdldCBjcm9zc3RhbGsgd29ya2luZz8KICAgICAgZ3JhcGhEaXYuZGF0YSA9IHVuZGVmaW5lZDsKICAgICAgZ3JhcGhEaXYubGF5b3V0ID0gdW5kZWZpbmVkOwogICAgICB2YXIgcGxvdCA9IFBsb3RseS5wbG90KGdyYXBoRGl2LCB4KTsKICAgIH0KICAgIAogICAgLy8gVHJpZ2dlciBwbG90bHkuanMgY2FsbHMgZGVmaW5lZCB2aWEgYHBsb3RseVByb3h5KClgCiAgICBwbG90LnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgIGlmIChIVE1MV2lkZ2V0cy5zaGlueU1vZGUpIHsKICAgICAgICBTaGlueS5hZGRDdXN0b21NZXNzYWdlSGFuZGxlcigicGxvdGx5LWNhbGxzIiwgZnVuY3Rpb24obXNnKSB7CiAgICAgICAgICB2YXIgZ2QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtc2cuaWQpOwogICAgICAgICAgaWYgKCFnZCkgewogICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkNvdWxkbid0IGZpbmQgcGxvdGx5IGdyYXBoIHdpdGggaWQ6ICIgKyBtc2cuaWQpOwogICAgICAgICAgfQogICAgICAgICAgLy8gVGhpcyBpc24ndCBhbiBvZmZpY2lhbCBwbG90bHkuanMgbWV0aG9kLCBidXQgaXQncyB0aGUgb25seSBjdXJyZW50IHdheSB0byAKICAgICAgICAgIC8vIGNoYW5nZSBqdXN0IHRoZSBjb25maWd1cmF0aW9uIG9mIGEgcGxvdCAKICAgICAgICAgIC8vIGh0dHBzOi8vY29tbXVuaXR5LnBsb3QubHkvdC91cGRhdGUtY29uZmlnLWZ1bmN0aW9uLzkwNTcKICAgICAgICAgIGlmIChtc2cubWV0aG9kID09ICJyZWNvbmZpZyIpIHsKICAgICAgICAgICAgUGxvdGx5LnJlYWN0KGdkLCBnZC5kYXRhLCBnZC5sYXlvdXQsIG1zZy5hcmdzKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgfQogICAgICAgICAgaWYgKCFQbG90bHlbbXNnLm1ldGhvZF0pIHsKICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIG1ldGhvZCAiICsgbXNnLm1ldGhvZCk7CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgYXJncyA9IFtnZF0uY29uY2F0KG1zZy5hcmdzKTsKICAgICAgICAgIFBsb3RseVttc2cubWV0aG9kXS5hcHBseShudWxsLCBhcmdzKTsKICAgICAgICB9KTsKICAgICAgfQogICAgICAKICAgICAgLy8gcGxvdGx5J3MgbWFwYm94IEFQSSBkb2Vzbid0IGN1cnJlbnRseSBzdXBwb3J0IHNldHRpbmcgYm91bmRpbmcgYm94ZXMKICAgICAgLy8gaHR0cHM6Ly93d3cubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvZXhhbXBsZS9maXRib3VuZHMvCiAgICAgIC8vIHNvIHdlIGRvIHRoaXMgbWFudWFsbHkuLi4KICAgICAgLy8gVE9ETzogbWFrZSBzdXJlIHRoaXMgdHJpZ2dlcnMgb24gYSByZWRyYXcgYW5kIHJlbGF5b3V0IGFzIHdlbGwgYXMgb24gaW5pdGlhbCBkcmF3CiAgICAgIHZhciBtYXBib3hJRHMgPSBncmFwaERpdi5fZnVsbExheW91dC5fc3VicGxvdHMubWFwYm94IHx8IFtdOwogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1hcGJveElEcy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciBpZCA9IG1hcGJveElEc1tpXTsKICAgICAgICB2YXIgbWFwT3B0cyA9IHgubGF5b3V0W2lkXSB8fCB7fTsKICAgICAgICB2YXIgYXJncyA9IG1hcE9wdHMuX2ZpdEJvdW5kcyB8fCB7fTsKICAgICAgICBpZiAoIWFyZ3MpIHsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICB2YXIgbWFwT2JqID0gZ3JhcGhEaXYuX2Z1bGxMYXlvdXRbaWRdLl9zdWJwbG90Lm1hcDsKICAgICAgICBtYXBPYmouZml0Qm91bmRzKGFyZ3MuYm91bmRzLCBhcmdzLm9wdGlvbnMpOwogICAgICB9CiAgICAgIAogICAgfSk7CiAgICAKICAgIC8vIEF0dGFjaCBhdHRyaWJ1dGVzIChlLmcuLCAia2V5IiwgInoiKSB0byBwbG90bHkgZXZlbnQgZGF0YQogICAgZnVuY3Rpb24gZXZlbnREYXRhV2l0aEtleShldmVudERhdGEpIHsKICAgICAgaWYgKGV2ZW50RGF0YSA9PT0gdW5kZWZpbmVkIHx8ICFldmVudERhdGEuaGFzT3duUHJvcGVydHkoInBvaW50cyIpKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KICAgICAgcmV0dXJuIGV2ZW50RGF0YS5wb2ludHMubWFwKGZ1bmN0aW9uKHB0KSB7CiAgICAgICAgdmFyIG9iaiA9IHsKICAgICAgICAgIGN1cnZlTnVtYmVyOiBwdC5jdXJ2ZU51bWJlciwgCiAgICAgICAgICBwb2ludE51bWJlcjogcHQucG9pbnROdW1iZXIsIAogICAgICAgICAgeDogcHQueCwKICAgICAgICAgIHk6IHB0LnkKICAgICAgICB9OwogICAgICAgIAogICAgICAgIC8vIElmICd6JyBpcyByZXBvcnRlZCB3aXRoIHRoZSBldmVudCBkYXRhLCB0aGVuIHVzZSBpdCEKICAgICAgICBpZiAocHQuaGFzT3duUHJvcGVydHkoInoiKSkgewogICAgICAgICAgb2JqLnogPSBwdC56OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpZiAocHQuaGFzT3duUHJvcGVydHkoImN1c3RvbWRhdGEiKSkgewogICAgICAgICAgb2JqLmN1c3RvbWRhdGEgPSBwdC5jdXN0b21kYXRhOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvKiAKICAgICAgICAgIFRMO0RSOiAoSSB0aGluaykgd2UgaGF2ZSB0byBzZWxlY3QgdGhlIGdyYXBoIGRpdiAoYWdhaW4pIHRvIGF0dGFjaCBrZXlzLi4uCiAgICAgICAgICAKICAgICAgICAgIFdoeT8gUmVtZW1iZXIgdGhhdCBjcm9zc3RhbGsgd2lsbCBkeW5hbWljYWxseSBhZGQvZGVsZXRlIHRyYWNlcyAKICAgICAgICAgIChzZWUgdHJhY2VNYW5hZ2VyLnByb3RvdHlwZS51cGRhdGVTZWxlY3Rpb24oKSBiZWxvdykKICAgICAgICAgIEZvciB0aGlzIHJlYXNvbiwgd2UgY2FuJ3Qgc2ltcGx5IGdyYWIga2V5cyBmcm9tIHguZGF0YSAobGlrZSB3ZSBkaWQgcHJldmlvdXNseSkKICAgICAgICAgIE1vcmVvdmVyLCB3ZSBjYW4ndCB1c2UgX2Z1bGxEYXRhLCBzaW5jZSB0aGF0IGRvZXNuJ3QgaW5jbHVkZSAKICAgICAgICAgIHVub2ZmaWNpYWwgYXR0cmlidXRlcy4gSXQncyB0cnVlIHRoYXQgY2xpY2svaG92ZXIgZXZlbnRzIGZpcmUgd2l0aCAKICAgICAgICAgIHB0LmRhdGEsIGJ1dCBkcmFnIGV2ZW50cyBkb24ndC4uLgogICAgICAgICovCiAgICAgICAgdmFyIGdkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWwuaWQpOwogICAgICAgIHZhciB0cmFjZSA9IGdkLmRhdGFbcHQuY3VydmVOdW1iZXJdOwogICAgICAgIAogICAgICAgIGlmICghdHJhY2UuX2lzU2ltcGxlS2V5KSB7CiAgICAgICAgICB2YXIgYXR0cnNUb0F0dGFjaCA9IFsia2V5Il07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8vIHNpbXBsZSBrZXlzIGZpcmUgdGhlIHdob2xlIGtleQogICAgICAgICAgb2JqLmtleSA9IHRyYWNlLmtleTsKICAgICAgICAgIHZhciBhdHRyc1RvQXR0YWNoID0gW107CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXR0cnNUb0F0dGFjaC5sZW5ndGg7IGkrKykgewogICAgICAgICAgdmFyIGF0dHIgPSB0cmFjZVthdHRyc1RvQXR0YWNoW2ldXTsKICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGF0dHIpKSB7CiAgICAgICAgICAgIGlmICh0eXBlb2YgcHQucG9pbnROdW1iZXIgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgb2JqW2F0dHJzVG9BdHRhY2hbaV1dID0gYXR0cltwdC5wb2ludE51bWJlcl07CiAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShwdC5wb2ludE51bWJlcikpIHsKICAgICAgICAgICAgICBvYmpbYXR0cnNUb0F0dGFjaFtpXV0gPSBhdHRyW3B0LnBvaW50TnVtYmVyWzBdXVtwdC5wb2ludE51bWJlclsxXV07CiAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShwdC5wb2ludE51bWJlcnMpKSB7CiAgICAgICAgICAgICAgb2JqW2F0dHJzVG9BdHRhY2hbaV1dID0gcHQucG9pbnROdW1iZXJzLm1hcChmdW5jdGlvbihpZHgpIHsgcmV0dXJuIGF0dHJbaWR4XTsgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIG9iajsKICAgICAgfSk7CiAgICB9CiAgICAKICAgIAogICAgdmFyIGxlZ2VuZEV2ZW50RGF0YSA9IGZ1bmN0aW9uKGQpIHsKICAgICAgLy8gaWYgbGVnZW5kZ3JvdXAgaXMgbm90IHJlbGV2YW50IGp1c3QgcmV0dXJuIHRoZSB0cmFjZQogICAgICB2YXIgdHJhY2UgPSBkLmRhdGFbZC5jdXJ2ZU51bWJlcl07CiAgICAgIGlmICghdHJhY2UubGVnZW5kZ3JvdXApIHJldHVybiB0cmFjZTsKICAgICAgCiAgICAgIC8vIGlmIGxlZ2VuZGdyb3VwIHdhcyBzcGVjaWZpZWQsIHJldHVybiBhbGwgdHJhY2VzIHRoYXQgbWF0Y2ggdGhlIGdyb3VwCiAgICAgIHZhciBsZWdlbmRncnBzID0gZC5kYXRhLm1hcChmdW5jdGlvbih0cmFjZSl7IHJldHVybiB0cmFjZS5sZWdlbmRncm91cDsgfSk7CiAgICAgIHZhciB0cmFjZXMgPSBbXTsKICAgICAgZm9yIChpID0gMDsgaSA8IGxlZ2VuZGdycHMubGVuZ3RoOyBpKyspIHsKICAgICAgICBpZiAobGVnZW5kZ3Jwc1tpXSA9PSB0cmFjZS5sZWdlbmRncm91cCkgewogICAgICAgICAgdHJhY2VzLnB1c2goZC5kYXRhW2ldKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIHJldHVybiB0cmFjZXM7CiAgICB9OwoKICAgIAogICAgLy8gc2VuZCB1c2VyIGlucHV0IGV2ZW50IGRhdGEgdG8gc2hpbnkKICAgIGlmIChIVE1MV2lkZ2V0cy5zaGlueU1vZGUgJiYgU2hpbnkuc2V0SW5wdXRWYWx1ZSkgewogICAgICAKICAgICAgLy8gU29tZSBldmVudHMgY2xlYXIgb3RoZXIgaW5wdXQgdmFsdWVzCiAgICAgIC8vIFRPRE86IGFsd2F5cyByZWdpc3RlciB0aGVzZT8KICAgICAgdmFyIGV2ZW50Q2xlYXJNYXAgPSB7CiAgICAgICAgcGxvdGx5X2Rlc2VsZWN0OiBbInBsb3RseV9zZWxlY3RlZCIsICJwbG90bHlfc2VsZWN0aW5nIiwgInBsb3RseV9icnVzaGVkIiwgInBsb3RseV9icnVzaGluZyIsICJwbG90bHlfY2xpY2siXSwKICAgICAgICBwbG90bHlfdW5ob3ZlcjogWyJwbG90bHlfaG92ZXIiXSwKICAgICAgICBwbG90bHlfZG91YmxlY2xpY2s6IFsicGxvdGx5X2NsaWNrIl0KICAgICAgfTsKICAgIAogICAgICBPYmplY3Qua2V5cyhldmVudENsZWFyTWFwKS5tYXAoZnVuY3Rpb24oZXZ0KSB7CiAgICAgICAgZ3JhcGhEaXYub24oZXZ0LCBmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciBpbnB1dHNUb0NsZWFyID0gZXZlbnRDbGVhck1hcFtldnRdOwogICAgICAgICAgaW5wdXRzVG9DbGVhci5tYXAoZnVuY3Rpb24oaW5wdXQpIHsKICAgICAgICAgICAgU2hpbnkuc2V0SW5wdXRWYWx1ZShpbnB1dCArICItIiArIHguc291cmNlLCBudWxsLCB7cHJpb3JpdHk6ICJldmVudCJ9KTsKICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgICB9KTsKICAgICAgCiAgICAgIHZhciBldmVudERhdGFGdW5jdGlvbk1hcCA9IHsKICAgICAgICBwbG90bHlfY2xpY2s6IGV2ZW50RGF0YVdpdGhLZXksCiAgICAgICAgcGxvdGx5X3N1bmJ1cnN0Y2xpY2s6IGV2ZW50RGF0YVdpdGhLZXksCiAgICAgICAgcGxvdGx5X2hvdmVyOiBldmVudERhdGFXaXRoS2V5LAogICAgICAgIHBsb3RseV91bmhvdmVyOiBldmVudERhdGFXaXRoS2V5LAogICAgICAgIC8vIElmICdwbG90bHlfc2VsZWN0ZWQnIGhhcyBhbHJlYWR5IGJlZW4gZmlyZWQsIGFuZCB5b3UgY2xpY2sKICAgICAgICAvLyBvbiB0aGUgcGxvdCBhZnRlcndhcmRzLCB0aGlzIGV2ZW50IGZpcmVzIGB1bmRlZmluZWRgPyE/CiAgICAgICAgLy8gVGhhdCBtaWdodCBiZSBjb25zaWRlcmVkIGEgcGxvdGx5LmpzIGJ1ZywgYnV0IGl0IGRvZXNuJ3QgbWFrZSAKICAgICAgICAvLyBzZW5zZSBmb3IgdGhpcyBpbnB1dCBjaGFuZ2UgdG8gb2NjdXIgaWYgYGRgIGlzIGZhbHN5IGJlY2F1c2UsCiAgICAgICAgLy8gZXZlbiBpbiB0aGUgZW1wdHkgc2VsZWN0aW9uIGNhc2UsIGBkYCBpcyB0cnV0aHkgKGFuIG9iamVjdCksCiAgICAgICAgLy8gYW5kIHRoZSAncGxvdGx5X2Rlc2VsZWN0JyBldmVudCB3aWxsIHJlc2V0IHRoaXMgaW5wdXQKICAgICAgICBwbG90bHlfc2VsZWN0ZWQ6IGZ1bmN0aW9uKGQpIHsgaWYgKGQpIHsgcmV0dXJuIGV2ZW50RGF0YVdpdGhLZXkoZCk7IH0gfSwKICAgICAgICBwbG90bHlfc2VsZWN0aW5nOiBmdW5jdGlvbihkKSB7IGlmIChkKSB7IHJldHVybiBldmVudERhdGFXaXRoS2V5KGQpOyB9IH0sCiAgICAgICAgcGxvdGx5X2JydXNoZWQ6IGZ1bmN0aW9uKGQpIHsKICAgICAgICAgIGlmIChkKSB7IHJldHVybiBkLnJhbmdlID8gZC5yYW5nZSA6IGQubGFzc29Qb2ludHM7IH0KICAgICAgICB9LAogICAgICAgIHBsb3RseV9icnVzaGluZzogZnVuY3Rpb24oZCkgewogICAgICAgICAgaWYgKGQpIHsgcmV0dXJuIGQucmFuZ2UgPyBkLnJhbmdlIDogZC5sYXNzb1BvaW50czsgfQogICAgICAgIH0sCiAgICAgICAgcGxvdGx5X2xlZ2VuZGNsaWNrOiBsZWdlbmRFdmVudERhdGEsCiAgICAgICAgcGxvdGx5X2xlZ2VuZGRvdWJsZWNsaWNrOiBsZWdlbmRFdmVudERhdGEsCiAgICAgICAgcGxvdGx5X2NsaWNrYW5ub3RhdGlvbjogZnVuY3Rpb24oZCkgeyByZXR1cm4gZC5mdWxsQW5ub3RhdGlvbiB9CiAgICAgIH07CiAgICAgIAogICAgICB2YXIgcmVnaXN0ZXJTaGlueVZhbHVlID0gZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICB2YXIgZXZlbnREYXRhUHJlUHJvY2Vzc29yID0gZXZlbnREYXRhRnVuY3Rpb25NYXBbZXZlbnRdIHx8IGZ1bmN0aW9uKGQpIHsgcmV0dXJuIGQgPyBkIDogZWwuaWQgfTsKICAgICAgICAvLyBzb21lIGV2ZW50cyBhcmUgdW5pcXVlIHRvIHRoZSBSIHBhY2thZ2UKICAgICAgICB2YXIgcGxvdGx5SlNldmVudCA9IChldmVudCA9PSAicGxvdGx5X2JydXNoZWQiKSA/ICJwbG90bHlfc2VsZWN0ZWQiIDogKGV2ZW50ID09ICJwbG90bHlfYnJ1c2hpbmciKSA/ICJwbG90bHlfc2VsZWN0aW5nIiA6IGV2ZW50OwogICAgICAgIC8vIHJlZ2lzdGVyIHRoZSBldmVudAogICAgICAgIGdyYXBoRGl2Lm9uKHBsb3RseUpTZXZlbnQsIGZ1bmN0aW9uKGQpIHsKICAgICAgICAgIFNoaW55LnNldElucHV0VmFsdWUoCiAgICAgICAgICAgIGV2ZW50ICsgIi0iICsgeC5zb3VyY2UsCiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGV2ZW50RGF0YVByZVByb2Nlc3NvcihkKSksCiAgICAgICAgICAgIHtwcmlvcml0eTogImV2ZW50In0KICAgICAgICAgICk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgIAogICAgICB2YXIgc2hpbnlFdmVudHMgPSB4LnNoaW55RXZlbnRzIHx8IFtdOwogICAgICBzaGlueUV2ZW50cy5tYXAocmVnaXN0ZXJTaGlueVZhbHVlKTsKICAgIH0KICAgIAogICAgLy8gR2l2ZW4gYW4gYXJyYXkgb2Yge2N1cnZlTnVtYmVyOiB4LCBwb2ludE51bWJlcjogeX0gb2JqZWN0cywKICAgIC8vIHJldHVybiBhIGhhc2ggb2YgewogICAgLy8gICBzZXQxOiB7dmFsdWU6IFtrZXkxLCBrZXkyLCAuLi5dLCBfaXNTaW1wbGVLZXk6IGZhbHNlfSwgCiAgICAvLyAgIHNldDI6IHt2YWx1ZTogW2tleTMsIGtleTQsIC4uLl0sIF9pc1NpbXBsZUtleTogZmFsc2V9CiAgICAvLyB9CiAgICBmdW5jdGlvbiBwb2ludHNUb0tleXMocG9pbnRzKSB7CiAgICAgIHZhciBrZXlzQnlTZXQgPSB7fTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwb2ludHMubGVuZ3RoOyBpKyspIHsKICAgICAgICAKICAgICAgICB2YXIgdHJhY2UgPSBncmFwaERpdi5kYXRhW3BvaW50c1tpXS5jdXJ2ZU51bWJlcl07CiAgICAgICAgaWYgKCF0cmFjZS5rZXkgfHwgIXRyYWNlLnNldCkgewogICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8vIHNldCBkZWZhdWx0cyBmb3IgdGhpcyBrZXlTZXQKICAgICAgICAvLyBub3RlIHRoYXQgd2UgZG9uJ3QgdHJhY2sgdGhlIG5lc3RlZCBwcm9wZXJ0eSAoeWV0KSBzaW5jZSB3ZSBhbHdheXMgCiAgICAgICAgLy8gZW1pdCB0aGUgdW5pb24gLS0gaHR0cDovL2Nwc2lldmVydC5naXRodWIuaW8vdGFsa3MvMjAxNjEyMTJiLyMyMQogICAgICAgIGtleXNCeVNldFt0cmFjZS5zZXRdID0ga2V5c0J5U2V0W3RyYWNlLnNldF0gfHwgewogICAgICAgICAgdmFsdWU6IFtdLAogICAgICAgICAgX2lzU2ltcGxlS2V5OiB0cmFjZS5faXNTaW1wbGVLZXkKICAgICAgICB9OwogICAgICAgIAogICAgICAgIC8vIFVzZSBwb2ludE51bWJlciBieSBkZWZhdWx0LCBidXQgYWdncmVnYXRlZCB0cmFjZXMgc2hvdWxkIGVtaXQgcG9pbnROdW1iZXJzCiAgICAgICAgdmFyIHB0TnVtID0gcG9pbnRzW2ldLnBvaW50TnVtYmVyOwogICAgICAgIHZhciBoYXNQdE51bSA9IHR5cGVvZiBwdE51bSA9PT0gIm51bWJlciI7CiAgICAgICAgdmFyIHB0TnVtID0gaGFzUHROdW0gPyBwdE51bSA6IHBvaW50c1tpXS5wb2ludE51bWJlcnM7CiAgICAgICAgCiAgICAgICAgLy8gc2VsZWN0aW5nIGEgcG9pbnQgb2YgYSAic2ltcGxlIiB0cmFjZSBtZWFuczogc2VsZWN0IHRoZSAKICAgICAgICAvLyBlbnRpcmUga2V5IGF0dGFjaGVkIHRvIHRoaXMgdHJhY2UsIHdoaWNoIGlzIHVzZWZ1bCBmb3IsCiAgICAgICAgLy8gc2F5IGNsaWNraW5nIG9uIGEgZml0dGVkIGxpbmUgdG8gc2VsZWN0IGNvcnJlc3BvbmRpbmcgb2JzZXJ2YXRpb25zIAogICAgICAgIHZhciBrZXkgPSB0cmFjZS5faXNTaW1wbGVLZXkgPyB0cmFjZS5rZXkgOiBBcnJheS5pc0FycmF5KHB0TnVtKSA/IHB0TnVtLm1hcChmdW5jdGlvbihpZHgpIHsgcmV0dXJuIHRyYWNlLmtleVtpZHhdOyB9KSA6IHRyYWNlLmtleVtwdE51bV07CiAgICAgICAgLy8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMDg2NTAyNS9tZXJnZS1mbGF0dGVuLWFuLWFycmF5LW9mLWFycmF5cy1pbi1qYXZhc2NyaXB0CiAgICAgICAgdmFyIGtleUZsYXQgPSB0cmFjZS5faXNOZXN0ZWRLZXkgPyBbXS5jb25jYXQuYXBwbHkoW10sIGtleSkgOiBrZXk7CiAgICAgICAgCiAgICAgICAgLy8gVE9ETzogYmV0dGVyIHRvIG9ubHkgYWRkIG5ldyB2YWx1ZXM/CiAgICAgICAga2V5c0J5U2V0W3RyYWNlLnNldF0udmFsdWUgPSBrZXlzQnlTZXRbdHJhY2Uuc2V0XS52YWx1ZS5jb25jYXQoa2V5RmxhdCk7CiAgICAgIH0KICAgICAgCiAgICAgIHJldHVybiBrZXlzQnlTZXQ7CiAgICB9CiAgICAKICAgIAogICAgeC5oaWdobGlnaHQuY29sb3IgPSB4LmhpZ2hsaWdodC5jb2xvciB8fCBbXTsKICAgIC8vIG1ha2Ugc3VyZSBoaWdobGlnaHQgY29sb3IgaXMgYW4gYXJyYXkKICAgIGlmICghQXJyYXkuaXNBcnJheSh4LmhpZ2hsaWdodC5jb2xvcikpIHsKICAgICAgeC5oaWdobGlnaHQuY29sb3IgPSBbeC5oaWdobGlnaHQuY29sb3JdOwogICAgfQoKICAgIHZhciB0cmFjZU1hbmFnZXIgPSBuZXcgVHJhY2VNYW5hZ2VyKGdyYXBoRGl2LCB4LmhpZ2hsaWdodCk7CgogICAgLy8gR2F0aGVyIGFsbCAqdW5pcXVlKiBzZXRzLgogICAgdmFyIGFsbFNldHMgPSBbXTsKICAgIGZvciAodmFyIGN1cnZlSWR4ID0gMDsgY3VydmVJZHggPCB4LmRhdGEubGVuZ3RoOyBjdXJ2ZUlkeCsrKSB7CiAgICAgIHZhciBuZXdTZXQgPSB4LmRhdGFbY3VydmVJZHhdLnNldDsKICAgICAgaWYgKG5ld1NldCkgewogICAgICAgIGlmIChhbGxTZXRzLmluZGV4T2YobmV3U2V0KSA9PT0gLTEpIHsKICAgICAgICAgIGFsbFNldHMucHVzaChuZXdTZXQpOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIC8vIHJlZ2lzdGVyIGV2ZW50IGxpc3RlbmVycyBmb3IgYWxsIHNldHMKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWxsU2V0cy5sZW5ndGg7IGkrKykgewogICAgICAKICAgICAgdmFyIHNldCA9IGFsbFNldHNbaV07CiAgICAgIHZhciBzZWxlY3Rpb24gPSBuZXcgY3Jvc3N0YWxrLlNlbGVjdGlvbkhhbmRsZShzZXQpOwogICAgICB2YXIgZmlsdGVyID0gbmV3IGNyb3NzdGFsay5GaWx0ZXJIYW5kbGUoc2V0KTsKICAgICAgCiAgICAgIHZhciBmaWx0ZXJDaGFuZ2UgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgcmVtb3ZlQnJ1c2goZWwpOwogICAgICAgIHRyYWNlTWFuYWdlci51cGRhdGVGaWx0ZXIoc2V0LCBlLnZhbHVlKTsKICAgICAgfTsKICAgICAgZmlsdGVyLm9uKCJjaGFuZ2UiLCBmaWx0ZXJDaGFuZ2UpOwogICAgICAKICAgICAgCiAgICAgIHZhciBzZWxlY3Rpb25DaGFuZ2UgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgCiAgICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgJ3Bsb3RseV9zZWxlY3RlZCcgbm93IGZpcmluZyBwcmV2aW91c2x5IHNlbGVjdGVkCiAgICAgICAgLy8gcG9pbnRzIChpbiBhZGRpdGlvbiB0byBuZXcgb25lcykgd2hlbiBob2xkaW5nIHNoaWZ0IGtleS4gSW4gb3VyIGNhc2UsCiAgICAgICAgLy8gd2UganVzdCB3YW50IHRoZSBuZXcga2V5cyAKICAgICAgICBpZiAoeC5oaWdobGlnaHQub24gPT09ICJwbG90bHlfc2VsZWN0ZWQiICYmIHguaGlnaGxpZ2h0LnBlcnNpc3RlbnRTaGlmdCkgewogICAgICAgICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTE4NzUxOC9ob3ctdG8tZ2V0LXRoZS1kaWZmZXJlbmNlLWJldHdlZW4tdHdvLWFycmF5cy1pbi1qYXZhc2NyaXB0CiAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZGlmZiA9IGZ1bmN0aW9uKGEpIHsKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oaSkge3JldHVybiBhLmluZGV4T2YoaSkgPCAwO30pOwogICAgICAgICAgfTsKICAgICAgICAgIGUudmFsdWUgPSBlLnZhbHVlLmRpZmYoZS5vbGRWYWx1ZSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8vIGFycmF5IG9mICJldmVudCBvYmplY3RzIiB0cmFja2luZyB0aGUgc2VsZWN0aW9uIGhpc3RvcnkKICAgICAgICAvLyB0aGlzIGlzIHVzZWQgdG8gYXZvaWQgYWRkaW5nIHJlZHVuZGFudCBzZWxlY3Rpb25zCiAgICAgICAgdmFyIHNlbGVjdGlvbkhpc3RvcnkgPSBjcm9zc3RhbGsudmFyKCJwbG90bHlTZWxlY3Rpb25IaXN0b3J5IikuZ2V0KCkgfHwgW107CiAgICAgICAgCiAgICAgICAgLy8gQ29uc3RydWN0IGFuIGV2ZW50IG9iamVjdCAiZGVmaW5pbmciIHRoZSBjdXJyZW50IGV2ZW50LiAKICAgICAgICB2YXIgZXZlbnQgPSB7CiAgICAgICAgICByZWNlaXZlcklEOiB0cmFjZU1hbmFnZXIuZ2QuaWQsCiAgICAgICAgICBwbG90bHlTZWxlY3Rpb25Db2xvdXI6IGNyb3NzdGFsay5ncm91cChzZXQpLnZhcigicGxvdGx5U2VsZWN0aW9uQ29sb3VyIikuZ2V0KCkKICAgICAgICB9OwogICAgICAgIGV2ZW50W3NldF0gPSBlLnZhbHVlOwogICAgICAgIC8vIFRPRE86IGlzIHRoZXJlIGEgc21hcnRlciB3YXkgdG8gY2hlY2sgb2JqZWN0IGVxdWFsaXR5PwogICAgICAgIGlmIChzZWxlY3Rpb25IaXN0b3J5Lmxlbmd0aCA+IDApIHsKICAgICAgICAgIHZhciBldiA9IEpTT04uc3RyaW5naWZ5KGV2ZW50KTsKICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VsZWN0aW9uSGlzdG9yeS5sZW5ndGg7IGkrKykgewogICAgICAgICAgICB2YXIgc2VsID0gSlNPTi5zdHJpbmdpZnkoc2VsZWN0aW9uSGlzdG9yeVtpXSk7CiAgICAgICAgICAgIGlmIChzZWwgPT0gZXYpIHsKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy8gYWNjdW11bGF0ZSBoaXN0b3J5IGZvciBwZXJzaXN0ZW50IHNlbGVjdGlvbgogICAgICAgIGlmICgheC5oaWdobGlnaHQucGVyc2lzdGVudCkgewogICAgICAgICAgc2VsZWN0aW9uSGlzdG9yeSA9IFtldmVudF07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHNlbGVjdGlvbkhpc3RvcnkucHVzaChldmVudCk7CiAgICAgICAgfQogICAgICAgIGNyb3NzdGFsay52YXIoInBsb3RseVNlbGVjdGlvbkhpc3RvcnkiKS5zZXQoc2VsZWN0aW9uSGlzdG9yeSk7CiAgICAgICAgCiAgICAgICAgLy8gZG8gdGhlIGFjdHVhbCB1cGRhdGluZyBvZiB0cmFjZXMsIGZyYW1lcywgYW5kIHRoZSBzZWxlY3RpemUgd2lkZ2V0CiAgICAgICAgdHJhY2VNYW5hZ2VyLnVwZGF0ZVNlbGVjdGlvbihzZXQsIGUudmFsdWUpOwogICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zZWxlY3RpemUvc2VsZWN0aXplLmpzL2Jsb2IvbWFzdGVyL2RvY3MvYXBpLm1kI21ldGhvZHNfaXRlbXMKICAgICAgICBpZiAoeC5zZWxlY3RpemUpIHsKICAgICAgICAgIGlmICgheC5oaWdobGlnaHQucGVyc2lzdGVudCB8fCBlLnZhbHVlID09PSBudWxsKSB7CiAgICAgICAgICAgIHNlbGVjdGl6ZS5jbGVhcih0cnVlKTsKICAgICAgICAgIH0KICAgICAgICAgIHNlbGVjdGl6ZS5hZGRJdGVtcyhlLnZhbHVlLCB0cnVlKTsKICAgICAgICAgIHNlbGVjdGl6ZS5jbG9zZSgpOwogICAgICAgIH0KICAgICAgfQogICAgICBzZWxlY3Rpb24ub24oImNoYW5nZSIsIHNlbGVjdGlvbkNoYW5nZSk7CiAgICAgIAogICAgICAvLyBTZXQgYSBjcm9zc3RhbGsgdmFyaWFibGUgc2VsZWN0aW9uIHZhbHVlLCB0cmlnZ2VyaW5nIGFuIHVwZGF0ZQogICAgICB2YXIgdHVybk9uID0gZnVuY3Rpb24oZSkgewogICAgICAgIGlmIChlKSB7CiAgICAgICAgICB2YXIgc2VsZWN0ZWRLZXlzID0gcG9pbnRzVG9LZXlzKGUucG9pbnRzKTsKICAgICAgICAgIC8vIEtleXMgYXJlIGdyb3VwIG5hbWVzLCB2YWx1ZXMgYXJlIGFycmF5IG9mIHNlbGVjdGVkIGtleXMgZnJvbSBncm91cC4KICAgICAgICAgIGZvciAodmFyIHNldCBpbiBzZWxlY3RlZEtleXMpIHsKICAgICAgICAgICAgaWYgKHNlbGVjdGVkS2V5cy5oYXNPd25Qcm9wZXJ0eShzZXQpKSB7CiAgICAgICAgICAgICAgc2VsZWN0aW9uLnNldChzZWxlY3RlZEtleXNbc2V0XS52YWx1ZSwge3NlbmRlcjogZWx9KTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfTsKICAgICAgaWYgKHguaGlnaGxpZ2h0LmRlYm91bmNlID4gMCkgewogICAgICAgIHR1cm5PbiA9IGRlYm91bmNlKHR1cm5PbiwgeC5oaWdobGlnaHQuZGVib3VuY2UpOwogICAgICB9CiAgICAgIGdyYXBoRGl2Lm9uKHguaGlnaGxpZ2h0Lm9uLCB0dXJuT24pOwogICAgICAKICAgICAgZ3JhcGhEaXYub24oeC5oaWdobGlnaHQub2ZmLCBmdW5jdGlvbiB0dXJuT2ZmKGUpIHsKICAgICAgICAvLyByZW1vdmUgYW55IHZpc3VhbCBjbHVlcwogICAgICAgIHJlbW92ZUJydXNoKGVsKTsKICAgICAgICAvLyByZW1vdmUgYW55IHNlbGVjdGlvbiBoaXN0b3J5CiAgICAgICAgY3Jvc3N0YWxrLnZhcigicGxvdGx5U2VsZWN0aW9uSGlzdG9yeSIpLnNldChudWxsKTsKICAgICAgICAvLyB0cmlnZ2VyIHRoZSBhY3R1YWwgcmVtb3ZhbCBvZiBzZWxlY3Rpb24gdHJhY2VzCiAgICAgICAgc2VsZWN0aW9uLnNldChudWxsLCB7c2VuZGVyOiBlbH0pOwogICAgICB9KTsKICAgICAgICAgIAogICAgICAvLyByZWdpc3RlciBhIGNhbGxiYWNrIGZvciBzZWxlY3RpemUgc28gdGhhdCB0aGVyZSBpcyBiaS1kaXJlY3Rpb25hbAogICAgICAvLyBjb21tdW5pY2F0aW9uIGJldHdlZW4gdGhlIHdpZGdldCBhbmQgZGlyZWN0IG1hbmlwdWxhdGlvbiBldmVudHMKICAgICAgaWYgKHguc2VsZWN0aXplKSB7CiAgICAgICAgdmFyIHNlbGVjdGl6ZUlEID0gT2JqZWN0LmtleXMoeC5zZWxlY3RpemUpW2ldOwogICAgICAgIHZhciBpdGVtcyA9IHguc2VsZWN0aXplW3NlbGVjdGl6ZUlEXS5pdGVtczsKICAgICAgICB2YXIgZmlyc3QgPSBbe3ZhbHVlOiAiIiwgbGFiZWw6ICIoQWxsKSJ9XTsKICAgICAgICB2YXIgb3B0cyA9IHsKICAgICAgICAgIG9wdGlvbnM6IGZpcnN0LmNvbmNhdChpdGVtcyksCiAgICAgICAgICBzZWFyY2hGaWVsZDogImxhYmVsIiwKICAgICAgICAgIHZhbHVlRmllbGQ6ICJ2YWx1ZSIsCiAgICAgICAgICBsYWJlbEZpZWxkOiAibGFiZWwiLAogICAgICAgICAgbWF4SXRlbXM6IDUwCiAgICAgICAgfTsKICAgICAgICB2YXIgc2VsZWN0ID0gJCgiIyIgKyBzZWxlY3RpemVJRCkuZmluZCgic2VsZWN0IilbMF07CiAgICAgICAgdmFyIHNlbGVjdGl6ZSA9ICQoc2VsZWN0KS5zZWxlY3RpemUob3B0cylbMF0uc2VsZWN0aXplOwogICAgICAgIC8vIE5PVEU6IHRoaXMgY2FsbGJhY2sgaXMgdHJpZ2dlcmVkIHdoZW4gKmRpcmVjdGx5KiBhbHRlcmluZyAKICAgICAgICAvLyBkcm9wZG93biBpdGVtcwogICAgICAgIHNlbGVjdGl6ZS5vbigiY2hhbmdlIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICB2YXIgY3VycmVudEl0ZW1zID0gdHJhY2VNYW5hZ2VyLmdyb3VwU2VsZWN0aW9uc1tzZXRdIHx8IFtdOwogICAgICAgICAgaWYgKCF4LmhpZ2hsaWdodC5wZXJzaXN0ZW50KSB7CiAgICAgICAgICAgIHJlbW92ZUJydXNoKGVsKTsKICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjdXJyZW50SXRlbXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICBzZWxlY3RpemUucmVtb3ZlSXRlbShjdXJyZW50SXRlbXNbaV0sIHRydWUpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgICB2YXIgbmV3SXRlbXMgPSBzZWxlY3RpemUuaXRlbXMuZmlsdGVyKGZ1bmN0aW9uKGlkeCkgeyAKICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRJdGVtcy5pbmRleE9mKGlkeCkgPCAwOwogICAgICAgICAgfSk7CiAgICAgICAgICBpZiAobmV3SXRlbXMubGVuZ3RoID4gMCkgewogICAgICAgICAgICB0cmFjZU1hbmFnZXIudXBkYXRlU2VsZWN0aW9uKHNldCwgbmV3SXRlbXMpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gSXRlbSBoYXMgYmVlbiByZW1vdmVkLi4uCiAgICAgICAgICAgIC8vIFRPRE86IHRoaXMgbG9naWMgd29uJ3Qgd29yayBmb3IgZHluYW1pY2FsbHkgY2hhbmdpbmcgcGFsZXR0ZSAKICAgICAgICAgICAgdHJhY2VNYW5hZ2VyLnVwZGF0ZVNlbGVjdGlvbihzZXQsIG51bGwpOwogICAgICAgICAgICB0cmFjZU1hbmFnZXIudXBkYXRlU2VsZWN0aW9uKHNldCwgc2VsZWN0aXplLml0ZW1zKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfQogICAgfSAvLyBlbmQgb2Ygc2VsZWN0aW9uQ2hhbmdlCiAgICAKICB9IC8vIGVuZCBvZiByZW5kZXJWYWx1ZQp9KTsgLy8gZW5kIG9mIHdpZGdldCBkZWZpbml0aW9uCgovKioKICogQHBhcmFtIGdyYXBoRGl2IFRoZSBQbG90bHkgZ3JhcGggZGl2CiAqIEBwYXJhbSBoaWdobGlnaHQgQW4gb2JqZWN0IHdpdGggb3B0aW9ucyBmb3IgdXBkYXRpbmcgc2VsZWN0aW9uKHMpCiAqLwpmdW5jdGlvbiBUcmFjZU1hbmFnZXIoZ3JhcGhEaXYsIGhpZ2hsaWdodCkgewogIC8vIFRoZSBQbG90bHkgZ3JhcGggZGl2CiAgdGhpcy5nZCA9IGdyYXBoRGl2OwoKICAvLyBQcmVzZXJ2ZSB0aGUgb3JpZ2luYWwgZGF0YS4KICAvLyBUT0RPOiB0cnkgdXNpbmcgTGliLmV4dGVuZEZsYXQoKSBhcyBkb25lIGluICAKICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGxvdGx5L3Bsb3RseS5qcy9wdWxsLzExMzYgCiAgdGhpcy5vcmlnRGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZ3JhcGhEaXYuZGF0YSkpOwogIAogIC8vIGF2b2lkIGRvaW5nIHRoaXMgb3ZlciBhbmQgb3ZlcgogIHRoaXMub3JpZ09wYWNpdHkgPSBbXTsKICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMub3JpZ0RhdGEubGVuZ3RoOyBpKyspIHsKICAgIHRoaXMub3JpZ09wYWNpdHlbaV0gPSB0aGlzLm9yaWdEYXRhW2ldLm9wYWNpdHkgPT09IDAgPyAwIDogKHRoaXMub3JpZ0RhdGFbaV0ub3BhY2l0eSB8fCAxKTsKICB9CgogIC8vIGtleTogZ3JvdXAgbmFtZSwgdmFsdWU6IG51bGwgb3IgYXJyYXkgb2Yga2V5cyByZXByZXNlbnRpbmcgdGhlCiAgLy8gbW9zdCByZWNlbnRseSByZWNlaXZlZCBzZWxlY3Rpb24gZm9yIHRoYXQgZ3JvdXAuCiAgdGhpcy5ncm91cFNlbGVjdGlvbnMgPSB7fTsKICAKICAvLyBzZWxlY3Rpb24gcGFyYW1ldGVycyAoZS5nLiwgdHJhbnNpZW50IHZlcnN1cyBwZXJzaXN0ZW50IHNlbGVjdGlvbikKICB0aGlzLmhpZ2hsaWdodCA9IGhpZ2hsaWdodDsKfQoKVHJhY2VNYW5hZ2VyLnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKCkgewogIC8vIFRPRE86IFVuaG9vayBhbGwgZXZlbnQgaGFuZGxlcnMKfTsKClRyYWNlTWFuYWdlci5wcm90b3R5cGUudXBkYXRlRmlsdGVyID0gZnVuY3Rpb24oZ3JvdXAsIGtleXMpIHsKCiAgaWYgKHR5cGVvZihrZXlzKSA9PT0gInVuZGVmaW5lZCIgfHwga2V5cyA9PT0gbnVsbCkgewogICAgCiAgICB0aGlzLmdkLmRhdGEgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMub3JpZ0RhdGEpKTsKICAgIAogIH0gZWxzZSB7CiAgCiAgICB2YXIgdHJhY2VzID0gW107CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMub3JpZ0RhdGEubGVuZ3RoOyBpKyspIHsKICAgICAgdmFyIHRyYWNlID0gdGhpcy5vcmlnRGF0YVtpXTsKICAgICAgaWYgKCF0cmFjZS5rZXkgfHwgdHJhY2Uuc2V0ICE9PSBncm91cCkgewogICAgICAgIGNvbnRpbnVlOwogICAgICB9CiAgICAgIHZhciBtYXRjaEZ1bmMgPSBnZXRNYXRjaEZ1bmModHJhY2UpOwogICAgICB2YXIgbWF0Y2hlcyA9IG1hdGNoRnVuYyh0cmFjZS5rZXksIGtleXMpOwogICAgICAKICAgICAgaWYgKG1hdGNoZXMubGVuZ3RoID4gMCkgewogICAgICAgIGlmICghdHJhY2UuX2lzU2ltcGxlS2V5KSB7CiAgICAgICAgICAvLyBzdWJzZXRBcnJheUF0dHJzIGRvZXNuJ3QgbXV0YXRlIHRyYWNlIChpdCBtYWtlcyBhIG1vZGlmaWVkIGNsb25lKQogICAgICAgICAgdHJhY2UgPSBzdWJzZXRBcnJheUF0dHJzKHRyYWNlLCBtYXRjaGVzKTsKICAgICAgICB9CiAgICAgICAgdHJhY2VzLnB1c2godHJhY2UpOwogICAgICB9CiAgICB9CiAgfQogIAogIHRoaXMuZ2QuZGF0YSA9IHRyYWNlczsKICBQbG90bHkucmVkcmF3KHRoaXMuZ2QpOwogIAogIC8vIE5PVEU6IHdlIHB1cnBvc2VseSBkbyBfbm90XyByZXN0b3JlIHNlbGVjdGlvbihzKSwgc2luY2Ugb24gZmlsdGVyLAogIC8vIGF4aXMgbGlrZWx5IHdpbGwgdXBkYXRlLCBjaGFuZ2luZyB0aGUgcGl4ZWwgLT4gZGF0YSBtYXBwaW5nLCBsZWFkaW5nIAogIC8vIHRvIGEgbGlrZWx5IG1pc21hdGNoIGluIHRoZSBicnVzaCBvdXRsaW5lIGFuZCBoaWdobGlnaHRlZCBtYXJrcwogIAp9OwoKVHJhY2VNYW5hZ2VyLnByb3RvdHlwZS51cGRhdGVTZWxlY3Rpb24gPSBmdW5jdGlvbihncm91cCwga2V5cykgewogIAogIGlmIChrZXlzICE9PSBudWxsICYmICFBcnJheS5pc0FycmF5KGtleXMpKSB7CiAgICB0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQga2V5cyBhcmd1bWVudDsgbnVsbCBvciBhcnJheSBleHBlY3RlZCIpOwogIH0KICAKICAvLyBpZiBzZWxlY3Rpb24gaGFzIGJlZW4gY2xlYXJlZCwgb3IgaWYgdGhpcyBpcyB0cmFuc2llbnQKICAvLyBzZWxlY3Rpb24sIGRlbGV0ZSB0aGUgInNlbGVjdGlvbiB0cmFjZXMiCiAgdmFyIG5OZXdUcmFjZXMgPSB0aGlzLmdkLmRhdGEubGVuZ3RoIC0gdGhpcy5vcmlnRGF0YS5sZW5ndGg7CiAgaWYgKGtleXMgPT09IG51bGwgfHwgIXRoaXMuaGlnaGxpZ2h0LnBlcnNpc3RlbnQgJiYgbk5ld1RyYWNlcyA+IDApIHsKICAgIHZhciB0cmFjZXNUb1JlbW92ZSA9IFtdOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmdkLmRhdGEubGVuZ3RoOyBpKyspIHsKICAgICAgaWYgKHRoaXMuZ2QuZGF0YVtpXS5faXNDcm9zc3RhbGtUcmFjZSkgdHJhY2VzVG9SZW1vdmUucHVzaChpKTsKICAgIH0KICAgIFBsb3RseS5kZWxldGVUcmFjZXModGhpcy5nZCwgdHJhY2VzVG9SZW1vdmUpOwogICAgdGhpcy5ncm91cFNlbGVjdGlvbnNbZ3JvdXBdID0ga2V5czsKICB9IGVsc2UgewogICAgLy8gYWRkIHRvIHRoZSBncm91cFNlbGVjdGlvbiwgcmF0aGVyIHRoYW4gb3ZlcndyaXRpbmcgaXQKICAgIC8vIFRPRE86IGNhbiB0aGlzIGJlIHJlbW92ZWQ/CiAgICB0aGlzLmdyb3VwU2VsZWN0aW9uc1tncm91cF0gPSB0aGlzLmdyb3VwU2VsZWN0aW9uc1tncm91cF0gfHwgW107CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHsKICAgICAgdmFyIGsgPSBrZXlzW2ldOwogICAgICBpZiAodGhpcy5ncm91cFNlbGVjdGlvbnNbZ3JvdXBdLmluZGV4T2YoaykgPCAwKSB7CiAgICAgICAgdGhpcy5ncm91cFNlbGVjdGlvbnNbZ3JvdXBdLnB1c2goayk7CiAgICAgIH0KICAgIH0KICB9CiAgCiAgaWYgKGtleXMgPT09IG51bGwpIHsKICAgIAogICAgUGxvdGx5LnJlc3R5bGUodGhpcy5nZCwgeyJvcGFjaXR5IjogdGhpcy5vcmlnT3BhY2l0eX0pOwogICAgCiAgfSBlbHNlIGlmIChrZXlzLmxlbmd0aCA+PSAxKSB7CiAgICAKICAgIC8vIHBsYWNlaG9sZGVyIGZvciBuZXcgInNlbGVjdGlvbiB0cmFjZXMiCiAgICB2YXIgdHJhY2VzID0gW107CiAgICAvLyB0aGlzIHZhcmlhYmxlIGlzIHNldCBpbiBSL2hpZ2hsaWdodC5SCiAgICB2YXIgc2VsZWN0aW9uQ29sb3VyID0gY3Jvc3N0YWxrLmdyb3VwKGdyb3VwKS52YXIoInBsb3RseVNlbGVjdGlvbkNvbG91ciIpLmdldCgpIHx8IAogICAgICB0aGlzLmhpZ2hsaWdodC5jb2xvclswXTsKCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMub3JpZ0RhdGEubGVuZ3RoOyBpKyspIHsKICAgICAgLy8gVE9ETzogdHJ5IHVzaW5nIExpYi5leHRlbmRGbGF0KCkgYXMgZG9uZSBpbiAgCiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9wbG90bHkvcGxvdGx5LmpzL3B1bGwvMTEzNiAKICAgICAgdmFyIHRyYWNlID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmdkLmRhdGFbaV0pKTsKICAgICAgaWYgKCF0cmFjZS5rZXkgfHwgdHJhY2Uuc2V0ICE9PSBncm91cCkgewogICAgICAgIGNvbnRpbnVlOwogICAgICB9CiAgICAgIC8vIEdldCBzb3J0ZWQgYXJyYXkgb2YgbWF0Y2hpbmcgaW5kaWNlcyBpbiB0cmFjZS5rZXkKICAgICAgdmFyIG1hdGNoRnVuYyA9IGdldE1hdGNoRnVuYyh0cmFjZSk7CiAgICAgIHZhciBtYXRjaGVzID0gbWF0Y2hGdW5jKHRyYWNlLmtleSwga2V5cyk7CiAgICAgIAogICAgICBpZiAobWF0Y2hlcy5sZW5ndGggPiAwKSB7CiAgICAgICAgLy8gSWYgdGhpcyBpcyBhICJzaW1wbGUiIGtleSwgdGhhdCBtZWFucyBzZWxlY3QgdGhlIGVudGlyZSB0cmFjZQogICAgICAgIGlmICghdHJhY2UuX2lzU2ltcGxlS2V5KSB7CiAgICAgICAgICB0cmFjZSA9IHN1YnNldEFycmF5QXR0cnModHJhY2UsIG1hdGNoZXMpOwogICAgICAgIH0KICAgICAgICAvLyByZWFjaCBpbnRvIHRoZSBmdWxsIHRyYWNlIG9iamVjdCBzbyB3ZSBjYW4gcHJvcGVybHkgcmVmbGVjdCB0aGUgCiAgICAgICAgLy8gc2VsZWN0aW9uIGF0dHJpYnV0ZXMgaW4gZXZlcnkgdmlldwogICAgICAgIHZhciBkID0gdGhpcy5nZC5fZnVsbERhdGFbaV07CiAgICAgICAgCiAgICAgICAgLyogCiAgICAgICAgLyBSZWN1cnNpdmVseSBpbmhlcml0IHNlbGVjdGlvbiBhdHRyaWJ1dGVzIGZyb20gdmFyaW91cyBzb3VyY2VzLCAKICAgICAgICAvIGluIG9yZGVyIG9mIHByZWZlcmVuY2U6CiAgICAgICAgLyAgKDEpIG9mZmljaWFsIHBsb3RseS5qcyBzZWxlY3RlZCBhdHRyaWJ1dGUKICAgICAgICAvICAoMikgaGlnaGxpZ2h0KHNlbGVjdGVkID0gYXR0cnNfc2VsZWN0ZWQoLi4uKSkKICAgICAgICAqLwogICAgICAgIC8vIFRPRE86IGl0IHdvdWxkIGJlIG5lYXQgdG8gaGF2ZSBhIGRyb3Bkb3duIHRvIGR5bmFtaWNhbGx5IHNwZWNpZnkgdGhlc2UhCiAgICAgICAgJC5leHRlbmQodHJ1ZSwgdHJhY2UsIHRoaXMuaGlnaGxpZ2h0LnNlbGVjdGVkKTsKICAgICAgICAKICAgICAgICAvLyBpZiBpdCBpcyBkZWZpbmVkLCBvdmVycmlkZSBjb2xvciB3aXRoIHRoZSAiZHluYW1pYyBicnVzaCBjb2xvciIiCiAgICAgICAgaWYgKGQubWFya2VyKSB7CiAgICAgICAgICB0cmFjZS5tYXJrZXIgPSB0cmFjZS5tYXJrZXIgfHwge307CiAgICAgICAgICB0cmFjZS5tYXJrZXIuY29sb3IgPSAgc2VsZWN0aW9uQ29sb3VyIHx8IHRyYWNlLm1hcmtlci5jb2xvciB8fCBkLm1hcmtlci5jb2xvcjsKICAgICAgICB9CiAgICAgICAgaWYgKGQubGluZSkgewogICAgICAgICAgdHJhY2UubGluZSA9IHRyYWNlLmxpbmUgfHwge307CiAgICAgICAgICB0cmFjZS5saW5lLmNvbG9yID0gIHNlbGVjdGlvbkNvbG91ciB8fCB0cmFjZS5saW5lLmNvbG9yIHx8IGQubGluZS5jb2xvcjsKICAgICAgICB9CiAgICAgICAgaWYgKGQudGV4dGZvbnQpIHsKICAgICAgICAgIHRyYWNlLnRleHRmb250ID0gdHJhY2UudGV4dGZvbnQgfHwge307CiAgICAgICAgICB0cmFjZS50ZXh0Zm9udC5jb2xvciA9ICBzZWxlY3Rpb25Db2xvdXIgfHwgdHJhY2UudGV4dGZvbnQuY29sb3IgfHwgZC50ZXh0Zm9udC5jb2xvcjsKICAgICAgICB9CiAgICAgICAgaWYgKGQuZmlsbGNvbG9yKSB7CiAgICAgICAgICAvLyBUT0RPOiBzaG91bGQgc2VsZWN0aW9uQ29sb3VyIGluaGVyaXQgYWxwaGEgZnJvbSB0aGUgZXhpc3RpbmcgZmlsbGNvbG9yPwogICAgICAgICAgdHJhY2UuZmlsbGNvbG9yID0gc2VsZWN0aW9uQ29sb3VyIHx8IHRyYWNlLmZpbGxjb2xvciB8fCBkLmZpbGxjb2xvcjsKICAgICAgICB9CiAgICAgICAgLy8gYXR0YWNoIGEgc2Vuc2libGUgbmFtZS9sZWdlbmRncm91cAogICAgICAgIHRyYWNlLm5hbWUgPSB0cmFjZS5uYW1lIHx8IGtleXMuam9pbigiPGJyIC8+Iik7CiAgICAgICAgdHJhY2UubGVnZW5kZ3JvdXAgPSB0cmFjZS5sZWdlbmRncm91cCB8fCBrZXlzLmpvaW4oIjxiciAvPiIpOwogICAgICAgIAogICAgICAgIC8vIGtlZXAgdHJhY2sgb2YgbWFwcGluZyBiZXR3ZWVuIHRoaXMgbmV3IHRyYWNlIGFuZCB0aGUgdHJhY2UgaXQgdGFyZ2V0cwogICAgICAgIC8vIChuZWNlc3NhcnkgZm9yIHVwZGF0aW5nIGZyYW1lcyB0byByZWZsZWN0IHRoZSBzZWxlY3Rpb24gdHJhY2VzKQogICAgICAgIHRyYWNlLl9vcmlnaW5hbEluZGV4ID0gaTsKICAgICAgICB0cmFjZS5fbmV3SW5kZXggPSB0aGlzLmdkLl9mdWxsRGF0YS5sZW5ndGggKyB0cmFjZXMubGVuZ3RoOwogICAgICAgIHRyYWNlLl9pc0Nyb3NzdGFsa1RyYWNlID0gdHJ1ZTsKICAgICAgICB0cmFjZXMucHVzaCh0cmFjZSk7CiAgICAgIH0KICAgIH0KICAgIAogICAgaWYgKHRyYWNlcy5sZW5ndGggPiAwKSB7CiAgICAgIAogICAgICBQbG90bHkuYWRkVHJhY2VzKHRoaXMuZ2QsIHRyYWNlcykudGhlbihmdW5jdGlvbihnZCkgewogICAgICAgIC8vIGluY3JlbWVudGFsbHkgYWRkIHNlbGVjdGlvbiB0cmFjZXMgdG8gZnJhbWVzCiAgICAgICAgLy8gKHRoaXMgaXMgaGVhdmlseSBpbnNwaXJlZCBieSBQbG90bHkuUGxvdHMubW9kaWZ5RnJhbWVzKCkgCiAgICAgICAgLy8gaW4gc3JjL3Bsb3RzL3Bsb3RzLmpzKQogICAgICAgIHZhciBfaGFzaCA9IGdkLl90cmFuc2l0aW9uRGF0YS5fZnJhbWVIYXNoOwogICAgICAgIHZhciBfZnJhbWVzID0gZ2QuX3RyYW5zaXRpb25EYXRhLl9mcmFtZXMgfHwgW107CiAgICAgICAgCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBfZnJhbWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAKICAgICAgICAgIC8vIGFkZCB0byBfZnJhbWVzW2ldLnRyYWNlcyAqaWYqIHRoaXMgZnJhbWUgcmVmZXJlbmNlcyBzZWxlY3RlZCB0cmFjZShzKQogICAgICAgICAgdmFyIG5ld0luZGljZXMgPSBbXTsKICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdHJhY2VzLmxlbmd0aDsgaisrKSB7CiAgICAgICAgICAgIHZhciB0ciA9IHRyYWNlc1tqXTsKICAgICAgICAgICAgaWYgKF9mcmFtZXNbaV0udHJhY2VzLmluZGV4T2YodHIuX29yaWdpbmFsSW5kZXgpID4gLTEpIHsKICAgICAgICAgICAgICBuZXdJbmRpY2VzLnB1c2godHIuX25ld0luZGV4KTsKICAgICAgICAgICAgICBfZnJhbWVzW2ldLnRyYWNlcy5wdXNoKHRyLl9uZXdJbmRleCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgLy8gbm90aGluZyB0byBkby4uLgogICAgICAgICAgaWYgKG5ld0luZGljZXMubGVuZ3RoID09PSAwKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgCiAgICAgICAgICB2YXIgY3RyID0gMDsKICAgICAgICAgIHZhciBuRnJhbWVUcmFjZXMgPSBfZnJhbWVzW2ldLmRhdGEubGVuZ3RoOwogICAgICAgICAgCiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IG5GcmFtZVRyYWNlczsgaisrKSB7CiAgICAgICAgICAgIHZhciBmcmFtZVRyYWNlID0gX2ZyYW1lc1tpXS5kYXRhW2pdOwogICAgICAgICAgICBpZiAoIWZyYW1lVHJhY2Uua2V5IHx8IGZyYW1lVHJhY2Uuc2V0ICE9PSBncm91cCkgewogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgbWF0Y2hGdW5jID0gZ2V0TWF0Y2hGdW5jKGZyYW1lVHJhY2UpOwogICAgICAgICAgICB2YXIgbWF0Y2hlcyA9IG1hdGNoRnVuYyhmcmFtZVRyYWNlLmtleSwga2V5cyk7CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiAobWF0Y2hlcy5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgaWYgKCF0cmFjZS5faXNTaW1wbGVLZXkpIHsKICAgICAgICAgICAgICAgIGZyYW1lVHJhY2UgPSBzdWJzZXRBcnJheUF0dHJzKGZyYW1lVHJhY2UsIG1hdGNoZXMpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB2YXIgZCA9IGdkLl9mdWxsRGF0YVtuZXdJbmRpY2VzW2N0cl1dOwogICAgICAgICAgICAgIGlmIChkLm1hcmtlcikgewogICAgICAgICAgICAgICAgZnJhbWVUcmFjZS5tYXJrZXIgPSBkLm1hcmtlcjsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKGQubGluZSkgewogICAgICAgICAgICAgICAgZnJhbWVUcmFjZS5saW5lID0gZC5saW5lOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoZC50ZXh0Zm9udCkgewogICAgICAgICAgICAgICAgZnJhbWVUcmFjZS50ZXh0Zm9udCA9IGQudGV4dGZvbnQ7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGN0ciA9IGN0ciArIDE7CiAgICAgICAgICAgICAgX2ZyYW1lc1tpXS5kYXRhLnB1c2goZnJhbWVUcmFjZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgLy8gdXBkYXRlIGdkLl90cmFuc2l0aW9uRGF0YS5fZnJhbWVIYXNoCiAgICAgICAgICBfaGFzaFtfZnJhbWVzW2ldLm5hbWVdID0gX2ZyYW1lc1tpXTsKICAgICAgICB9CiAgICAgIAogICAgICB9KTsKICAgICAgCiAgICAgIC8vIGRpbSB0cmFjZXMgdGhhdCBoYXZlIGEgc2V0IG1hdGNoaW5nIHRoZSBzZXQgb2Ygc2VsZWN0aW9uIHNldHMKICAgICAgdmFyIHRyYWNlc1RvRGltID0gW10sCiAgICAgICAgICBvcGFjaXRpZXMgPSBbXSwKICAgICAgICAgIHNldHMgPSBPYmplY3Qua2V5cyh0aGlzLmdyb3VwU2VsZWN0aW9ucyksCiAgICAgICAgICBuID0gdGhpcy5vcmlnRGF0YS5sZW5ndGg7CiAgICAgICAgICAKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICB2YXIgb3BhY2l0eSA9IHRoaXMub3JpZ09wYWNpdHlbaV0gfHwgMTsKICAgICAgICAvLyBoYXZlIHdlIGFscmVhZHkgZGltbWVkIHRoaXMgdHJhY2U/IE9yIGlzIHRoaXMgZXZlbiB3b3J0aCBkb2luZz8KICAgICAgICBpZiAob3BhY2l0eSAhPT0gdGhpcy5nZC5fZnVsbERhdGFbaV0ub3BhY2l0eSB8fCB0aGlzLmhpZ2hsaWdodC5vcGFjaXR5RGltID09PSAxKSB7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgLy8gaXMgdGhpcyBzZXQgYW4gZWxlbWVudCBvZiB0aGUgc2V0IG9mIHNlbGVjdGlvbiBzZXRzPwogICAgICAgIHZhciBtYXRjaGVzID0gZmluZE1hdGNoZXMoc2V0cywgW3RoaXMuZ2QuZGF0YVtpXS5zZXRdKTsKICAgICAgICBpZiAobWF0Y2hlcy5sZW5ndGgpIHsKICAgICAgICAgIHRyYWNlc1RvRGltLnB1c2goaSk7CiAgICAgICAgICBvcGFjaXRpZXMucHVzaChvcGFjaXR5ICogdGhpcy5oaWdobGlnaHQub3BhY2l0eURpbSk7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICBpZiAodHJhY2VzVG9EaW0ubGVuZ3RoID4gMCkgewogICAgICAgIFBsb3RseS5yZXN0eWxlKHRoaXMuZ2QsIHsib3BhY2l0eSI6IG9wYWNpdGllc30sIHRyYWNlc1RvRGltKTsKICAgICAgICAvLyB0dXJuIG9mZiB0aGUgc2VsZWN0ZWQvdW5zZWxlY3RlZCBBUEkKICAgICAgICBQbG90bHkucmVzdHlsZSh0aGlzLmdkLCB7InNlbGVjdGVkcG9pbnRzIjogbnVsbH0pOwogICAgICB9CiAgICAgIAogICAgfQogICAgCiAgfQp9OwoKLyogCk5vdGU6IGluIGFsbCBvZiB0aGVzZSBtYXRjaCBmdW5jdGlvbnMsIHdlIGFzc3VtZSBuZWVkbGVTZXQgKGkuZS4gdGhlIHNlbGVjdGVkIGtleXMpCmlzIGEgMUQgKG9yIGZsYXQpIGFycmF5LiBUaGUgcmVhbCBkaWZmZXJlbmNlIGlzIHRoZSBtZWFuaW5nIG9mIGhheXN0YWNrLgpmaW5kTWF0Y2hlcygpIGRvZXMgdGhlIHVzdWFsIHRoaW5nIHlvdSdkIGV4cGVjdCBmb3IgCmxpbmtlZCBicnVzaGluZyBvbiBhIHNjYXR0ZXJwbG90IG1hdHJpeC4gZmluZFNpbXBsZU1hdGNoZXMoKSByZXR1cm5zIGEgbWF0Y2ggaWZmIApoYXlzdGFjayBpcyBhIHN1YnNldCBvZiB0aGUgbmVlZGxlU2V0LiBmaW5kTmVzdGVkTWF0Y2hlcygpIHJldHVybnMgCiovCgpmdW5jdGlvbiBnZXRNYXRjaEZ1bmModHJhY2UpIHsKICByZXR1cm4gKHRyYWNlLl9pc05lc3RlZEtleSkgPyBmaW5kTmVzdGVkTWF0Y2hlcyA6IAogICAgKHRyYWNlLl9pc1NpbXBsZUtleSkgPyBmaW5kU2ltcGxlTWF0Y2hlcyA6IGZpbmRNYXRjaGVzOwp9CgovLyBmaW5kIG1hdGNoZXMgZm9yICJmbGF0IiBrZXlzCmZ1bmN0aW9uIGZpbmRNYXRjaGVzKGhheXN0YWNrLCBuZWVkbGVTZXQpIHsKICB2YXIgbWF0Y2hlcyA9IFtdOwogIGhheXN0YWNrLmZvckVhY2goZnVuY3Rpb24ob2JqLCBpKSB7CiAgICBpZiAob2JqID09PSBudWxsIHx8IG5lZWRsZVNldC5pbmRleE9mKG9iaikgPj0gMCkgewogICAgICBtYXRjaGVzLnB1c2goaSk7CiAgICB9CiAgfSk7CiAgcmV0dXJuIG1hdGNoZXM7Cn0KCi8vIGZpbmQgbWF0Y2hlcyBmb3IgInNpbXBsZSIga2V5cwpmdW5jdGlvbiBmaW5kU2ltcGxlTWF0Y2hlcyhoYXlzdGFjaywgbmVlZGxlU2V0KSB7CiAgdmFyIG1hdGNoID0gaGF5c3RhY2suZXZlcnkoZnVuY3Rpb24odmFsKSB7CiAgICByZXR1cm4gdmFsID09PSBudWxsIHx8IG5lZWRsZVNldC5pbmRleE9mKHZhbCkgPj0gMDsKICB9KTsKICAvLyB5ZXMsIHRoaXMgZG9lc24ndCBtYWtlIG11Y2ggc2Vuc2Ugb3RoZXIgdGhhbiBjb25mb3JtaW5nIAogIC8vIHRvIHRoZSBvdXRwdXQgdHlwZSBvZiB0aGUgb3RoZXIgbWF0Y2ggZnVuY3Rpb25zCiAgcmV0dXJuIChtYXRjaCkgPyBbMF0gOiBbXQp9CgovLyBmaW5kIG1hdGNoZXMgZm9yIGEgIm5lc3RlZCIgaGF5c3RhY2sgKDJEIGFycmF5cykKZnVuY3Rpb24gZmluZE5lc3RlZE1hdGNoZXMoaGF5c3RhY2ssIG5lZWRsZVNldCkgewogIHZhciBtYXRjaGVzID0gW107CiAgZm9yICh2YXIgaSA9IDA7IGkgPCBoYXlzdGFjay5sZW5ndGg7IGkrKykgewogICAgdmFyIGhheSA9IGhheXN0YWNrW2ldOwogICAgdmFyIG1hdGNoID0gaGF5LmV2ZXJ5KGZ1bmN0aW9uKHZhbCkgeyAKICAgICAgcmV0dXJuIHZhbCA9PT0gbnVsbCB8fCBuZWVkbGVTZXQuaW5kZXhPZih2YWwpID49IDA7IAogICAgfSk7CiAgICBpZiAobWF0Y2gpIHsKICAgICAgbWF0Y2hlcy5wdXNoKGkpOwogICAgfQogIH0KICByZXR1cm4gbWF0Y2hlczsKfQoKZnVuY3Rpb24gaXNQbGFpbk9iamVjdChvYmopIHsKICByZXR1cm4gKAogICAgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikgPT09ICdbb2JqZWN0IE9iamVjdF0nICYmCiAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gT2JqZWN0LnByb3RvdHlwZQogICk7Cn0KCmZ1bmN0aW9uIHN1YnNldEFycmF5QXR0cnMob2JqLCBpbmRpY2VzKSB7CiAgdmFyIG5ld09iaiA9IHt9OwogIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaChmdW5jdGlvbihrKSB7CiAgICB2YXIgdmFsID0gb2JqW2tdOwoKICAgIGlmIChrLmNoYXJBdCgwKSA9PT0gIl8iKSB7CiAgICAgIG5ld09ialtrXSA9IHZhbDsKICAgIH0gZWxzZSBpZiAoayA9PT0gInRyYW5zZm9ybXMiICYmIEFycmF5LmlzQXJyYXkodmFsKSkgewogICAgICBuZXdPYmpba10gPSB2YWwubWFwKGZ1bmN0aW9uKHRyYW5zZm9ybSkgewogICAgICAgIHJldHVybiBzdWJzZXRBcnJheUF0dHJzKHRyYW5zZm9ybSwgaW5kaWNlcyk7CiAgICAgIH0pOwogICAgfSBlbHNlIGlmIChrID09PSAiY29sb3JzY2FsZSIgJiYgQXJyYXkuaXNBcnJheSh2YWwpKSB7CiAgICAgIG5ld09ialtrXSA9IHZhbDsKICAgIH0gZWxzZSBpZiAoaXNQbGFpbk9iamVjdCh2YWwpKSB7CiAgICAgIG5ld09ialtrXSA9IHN1YnNldEFycmF5QXR0cnModmFsLCBpbmRpY2VzKTsKICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7CiAgICAgIG5ld09ialtrXSA9IHN1YnNldEFycmF5KHZhbCwgaW5kaWNlcyk7CiAgICB9IGVsc2UgewogICAgICBuZXdPYmpba10gPSB2YWw7CiAgICB9CiAgfSk7CiAgcmV0dXJuIG5ld09iajsKfQoKZnVuY3Rpb24gc3Vic2V0QXJyYXkoYXJyLCBpbmRpY2VzKSB7CiAgdmFyIHJlc3VsdCA9IFtdOwogIGZvciAodmFyIGkgPSAwOyBpIDwgaW5kaWNlcy5sZW5ndGg7IGkrKykgewogICAgcmVzdWx0LnB1c2goYXJyW2luZGljZXNbaV1dKTsKICB9CiAgcmV0dXJuIHJlc3VsdDsKfQoKLy8gQ29udmVuaWVuY2UgZnVuY3Rpb24gZm9yIHJlbW92aW5nIHBsb3RseSdzIGJydXNoIApmdW5jdGlvbiByZW1vdmVCcnVzaChlbCkgewogIHZhciBvdXRsaW5lcyA9IGVsLnF1ZXJ5U2VsZWN0b3JBbGwoIi5zZWxlY3Qtb3V0bGluZSIpOwogIGZvciAodmFyIGkgPSAwOyBpIDwgb3V0bGluZXMubGVuZ3RoOyBpKyspIHsKICAgIG91dGxpbmVzW2ldLnJlbW92ZSgpOwogIH0KfQoKCi8vIGh0dHBzOi8vZGF2aWR3YWxzaC5uYW1lL2phdmFzY3JpcHQtZGVib3VuY2UtZnVuY3Rpb24KCi8vIFJldHVybnMgYSBmdW5jdGlvbiwgdGhhdCwgYXMgbG9uZyBhcyBpdCBjb250aW51ZXMgdG8gYmUgaW52b2tlZCwgd2lsbCBub3QKLy8gYmUgdHJpZ2dlcmVkLiBUaGUgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgYWZ0ZXIgaXQgc3RvcHMgYmVpbmcgY2FsbGVkIGZvcgovLyBOIG1pbGxpc2Vjb25kcy4gSWYgYGltbWVkaWF0ZWAgaXMgcGFzc2VkLCB0cmlnZ2VyIHRoZSBmdW5jdGlvbiBvbiB0aGUKLy8gbGVhZGluZyBlZGdlLCBpbnN0ZWFkIG9mIHRoZSB0cmFpbGluZy4KZnVuY3Rpb24gZGVib3VuY2UoZnVuYywgd2FpdCwgaW1tZWRpYXRlKSB7Cgl2YXIgdGltZW91dDsKCXJldHVybiBmdW5jdGlvbigpIHsKCQl2YXIgY29udGV4dCA9IHRoaXMsIGFyZ3MgPSBhcmd1bWVudHM7CgkJdmFyIGxhdGVyID0gZnVuY3Rpb24oKSB7CgkJCXRpbWVvdXQgPSBudWxsOwoJCQlpZiAoIWltbWVkaWF0ZSkgZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTsKCQl9OwoJCXZhciBjYWxsTm93ID0gaW1tZWRpYXRlICYmICF0aW1lb3V0OwoJCWNsZWFyVGltZW91dCh0aW1lb3V0KTsKCQl0aW1lb3V0ID0gc2V0VGltZW91dChsYXRlciwgd2FpdCk7CgkJaWYgKGNhbGxOb3cpIGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7Cgl9Owp9Owo=&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;data:application/javascript;base64,KGZ1bmN0aW9uKGdsb2JhbCl7InVzZSBzdHJpY3QiO3ZhciB1bmRlZmluZWQ9dm9pZCAwO3ZhciBNQVhfQVJSQVlfTEVOR1RIPTFlNTtmdW5jdGlvbiBUeXBlKHYpe3N3aXRjaCh0eXBlb2Ygdil7Y2FzZSJ1bmRlZmluZWQiOnJldHVybiJ1bmRlZmluZWQiO2Nhc2UiYm9vbGVhbiI6cmV0dXJuImJvb2xlYW4iO2Nhc2UibnVtYmVyIjpyZXR1cm4ibnVtYmVyIjtjYXNlInN0cmluZyI6cmV0dXJuInN0cmluZyI7ZGVmYXVsdDpyZXR1cm4gdj09PW51bGw/Im51bGwiOiJvYmplY3QifX1mdW5jdGlvbiBDbGFzcyh2KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHYpLnJlcGxhY2UoL15cW29iamVjdCAqfFxdJC9nLCIiKX1mdW5jdGlvbiBJc0NhbGxhYmxlKG8pe3JldHVybiB0eXBlb2Ygbz09PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gVG9PYmplY3Qodil7aWYodj09PW51bGx8fHY9PT11bmRlZmluZWQpdGhyb3cgVHlwZUVycm9yKCk7cmV0dXJuIE9iamVjdCh2KX1mdW5jdGlvbiBUb0ludDMyKHYpe3JldHVybiB2Pj4wfWZ1bmN0aW9uIFRvVWludDMyKHYpe3JldHVybiB2Pj4+MH12YXIgTE4yPU1hdGguTE4yLGFicz1NYXRoLmFicyxmbG9vcj1NYXRoLmZsb29yLGxvZz1NYXRoLmxvZyxtYXg9TWF0aC5tYXgsbWluPU1hdGgubWluLHBvdz1NYXRoLnBvdyxyb3VuZD1NYXRoLnJvdW5kOyhmdW5jdGlvbigpe3ZhciBvcmlnPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgZG9tX29ubHk9IWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sIngiLHt9KX1jYXRjaChfKXtyZXR1cm4gZmFsc2V9fSgpO2lmKCFvcmlnfHxkb21fb25seSl7T2JqZWN0LmRlZmluZVByb3BlcnR5PWZ1bmN0aW9uKG8scHJvcCxkZXNjKXtpZihvcmlnKXRyeXtyZXR1cm4gb3JpZyhvLHByb3AsZGVzYyl9Y2F0Y2goXyl7fWlmKG8hPT1PYmplY3QobykpdGhyb3cgVHlwZUVycm9yKCJPYmplY3QuZGVmaW5lUHJvcGVydHkgY2FsbGVkIG9uIG5vbi1vYmplY3QiKTtpZihPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18mJiJnZXQiaW4gZGVzYylPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18uY2FsbChvLHByb3AsZGVzYy5nZXQpO2lmKE9iamVjdC5wcm90b3R5cGUuX19kZWZpbmVTZXR0ZXJfXyYmInNldCJpbiBkZXNjKU9iamVjdC5wcm90b3R5cGUuX19kZWZpbmVTZXR0ZXJfXy5jYWxsKG8scHJvcCxkZXNjLnNldCk7aWYoInZhbHVlImluIGRlc2Mpb1twcm9wXT1kZXNjLnZhbHVlO3JldHVybiBvfX19KSgpO2Z1bmN0aW9uIG1ha2VBcnJheUFjY2Vzc29ycyhvYmope2lmKG9iai5sZW5ndGg+TUFYX0FSUkFZX0xFTkdUSCl0aHJvdyBSYW5nZUVycm9yKCJBcnJheSB0b28gbGFyZ2UgZm9yIHBvbHlmaWxsIik7ZnVuY3Rpb24gbWFrZUFycmF5QWNjZXNzb3IoaW5kZXgpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosaW5kZXgse2dldDpmdW5jdGlvbigpe3JldHVybiBvYmouX2dldHRlcihpbmRleCl9LHNldDpmdW5jdGlvbih2KXtvYmouX3NldHRlcihpbmRleCx2KX0sZW51bWVyYWJsZTp0cnVlLGNvbmZpZ3VyYWJsZTpmYWxzZX0pfXZhciBpO2ZvcihpPTA7aTxvYmoubGVuZ3RoO2krPTEpe21ha2VBcnJheUFjY2Vzc29yKGkpfX1mdW5jdGlvbiBhc19zaWduZWQodmFsdWUsYml0cyl7dmFyIHM9MzItYml0cztyZXR1cm4gdmFsdWU8PHM+PnN9ZnVuY3Rpb24gYXNfdW5zaWduZWQodmFsdWUsYml0cyl7dmFyIHM9MzItYml0cztyZXR1cm4gdmFsdWU8PHM+Pj5zfWZ1bmN0aW9uIHBhY2tJOChuKXtyZXR1cm5bbiYyNTVdfWZ1bmN0aW9uIHVucGFja0k4KGJ5dGVzKXtyZXR1cm4gYXNfc2lnbmVkKGJ5dGVzWzBdLDgpfWZ1bmN0aW9uIHBhY2tVOChuKXtyZXR1cm5bbiYyNTVdfWZ1bmN0aW9uIHVucGFja1U4KGJ5dGVzKXtyZXR1cm4gYXNfdW5zaWduZWQoYnl0ZXNbMF0sOCl9ZnVuY3Rpb24gcGFja1U4Q2xhbXBlZChuKXtuPXJvdW5kKE51bWJlcihuKSk7cmV0dXJuW248MD8wOm4+MjU1PzI1NTpuJjI1NV19ZnVuY3Rpb24gcGFja0kxNihuKXtyZXR1cm5bbj4+OCYyNTUsbiYyNTVdfWZ1bmN0aW9uIHVucGFja0kxNihieXRlcyl7cmV0dXJuIGFzX3NpZ25lZChieXRlc1swXTw8OHxieXRlc1sxXSwxNil9ZnVuY3Rpb24gcGFja1UxNihuKXtyZXR1cm5bbj4+OCYyNTUsbiYyNTVdfWZ1bmN0aW9uIHVucGFja1UxNihieXRlcyl7cmV0dXJuIGFzX3Vuc2lnbmVkKGJ5dGVzWzBdPDw4fGJ5dGVzWzFdLDE2KX1mdW5jdGlvbiBwYWNrSTMyKG4pe3JldHVybltuPj4yNCYyNTUsbj4+MTYmMjU1LG4+PjgmMjU1LG4mMjU1XX1mdW5jdGlvbiB1bnBhY2tJMzIoYnl0ZXMpe3JldHVybiBhc19zaWduZWQoYnl0ZXNbMF08PDI0fGJ5dGVzWzFdPDwxNnxieXRlc1syXTw8OHxieXRlc1szXSwzMil9ZnVuY3Rpb24gcGFja1UzMihuKXtyZXR1cm5bbj4+MjQmMjU1LG4+PjE2JjI1NSxuPj44JjI1NSxuJjI1NV19ZnVuY3Rpb24gdW5wYWNrVTMyKGJ5dGVzKXtyZXR1cm4gYXNfdW5zaWduZWQoYnl0ZXNbMF08PDI0fGJ5dGVzWzFdPDwxNnxieXRlc1syXTw8OHxieXRlc1szXSwzMil9ZnVuY3Rpb24gcGFja0lFRUU3NTQodixlYml0cyxmYml0cyl7dmFyIGJpYXM9KDE8PGViaXRzLTEpLTEscyxlLGYsbG4saSxiaXRzLHN0cixieXRlcztmdW5jdGlvbiByb3VuZFRvRXZlbihuKXt2YXIgdz1mbG9vcihuKSxmPW4tdztpZihmPC41KXJldHVybiB3O2lmKGY+LjUpcmV0dXJuIHcrMTtyZXR1cm4gdyUyP3crMTp3fWlmKHYhPT12KXtlPSgxPDxlYml0cyktMTtmPXBvdygyLGZiaXRzLTEpO3M9MH1lbHNlIGlmKHY9PT1JbmZpbml0eXx8dj09PS1JbmZpbml0eSl7ZT0oMTw8ZWJpdHMpLTE7Zj0wO3M9djwwPzE6MH1lbHNlIGlmKHY9PT0wKXtlPTA7Zj0wO3M9MS92PT09LUluZmluaXR5PzE6MH1lbHNle3M9djwwO3Y9YWJzKHYpO2lmKHY+PXBvdygyLDEtYmlhcykpe2U9bWluKGZsb29yKGxvZyh2KS9MTjIpLDEwMjMpO2Y9cm91bmRUb0V2ZW4odi9wb3coMixlKSpwb3coMixmYml0cykpO2lmKGYvcG93KDIsZmJpdHMpPj0yKXtlPWUrMTtmPTF9aWYoZT5iaWFzKXtlPSgxPDxlYml0cyktMTtmPTB9ZWxzZXtlPWUrYmlhcztmPWYtcG93KDIsZmJpdHMpfX1lbHNle2U9MDtmPXJvdW5kVG9FdmVuKHYvcG93KDIsMS1iaWFzLWZiaXRzKSl9fWJpdHM9W107Zm9yKGk9ZmJpdHM7aTtpLT0xKXtiaXRzLnB1c2goZiUyPzE6MCk7Zj1mbG9vcihmLzIpfWZvcihpPWViaXRzO2k7aS09MSl7Yml0cy5wdXNoKGUlMj8xOjApO2U9Zmxvb3IoZS8yKX1iaXRzLnB1c2gocz8xOjApO2JpdHMucmV2ZXJzZSgpO3N0cj1iaXRzLmpvaW4oIiIpO2J5dGVzPVtdO3doaWxlKHN0ci5sZW5ndGgpe2J5dGVzLnB1c2gocGFyc2VJbnQoc3RyLnN1YnN0cmluZygwLDgpLDIpKTtzdHI9c3RyLnN1YnN0cmluZyg4KX1yZXR1cm4gYnl0ZXN9ZnVuY3Rpb24gdW5wYWNrSUVFRTc1NChieXRlcyxlYml0cyxmYml0cyl7dmFyIGJpdHM9W10saSxqLGIsc3RyLGJpYXMscyxlLGY7Zm9yKGk9Ynl0ZXMubGVuZ3RoO2k7aS09MSl7Yj1ieXRlc1tpLTFdO2ZvcihqPTg7ajtqLT0xKXtiaXRzLnB1c2goYiUyPzE6MCk7Yj1iPj4xfX1iaXRzLnJldmVyc2UoKTtzdHI9Yml0cy5qb2luKCIiKTtiaWFzPSgxPDxlYml0cy0xKS0xO3M9cGFyc2VJbnQoc3RyLnN1YnN0cmluZygwLDEpLDIpPy0xOjE7ZT1wYXJzZUludChzdHIuc3Vic3RyaW5nKDEsMStlYml0cyksMik7Zj1wYXJzZUludChzdHIuc3Vic3RyaW5nKDErZWJpdHMpLDIpO2lmKGU9PT0oMTw8ZWJpdHMpLTEpe3JldHVybiBmIT09MD9OYU46cypJbmZpbml0eX1lbHNlIGlmKGU+MCl7cmV0dXJuIHMqcG93KDIsZS1iaWFzKSooMStmL3BvdygyLGZiaXRzKSl9ZWxzZSBpZihmIT09MCl7cmV0dXJuIHMqcG93KDIsLShiaWFzLTEpKSooZi9wb3coMixmYml0cykpfWVsc2V7cmV0dXJuIHM8MD8tMDowfX1mdW5jdGlvbiB1bnBhY2tGNjQoYil7cmV0dXJuIHVucGFja0lFRUU3NTQoYiwxMSw1Mil9ZnVuY3Rpb24gcGFja0Y2NCh2KXtyZXR1cm4gcGFja0lFRUU3NTQodiwxMSw1Mil9ZnVuY3Rpb24gdW5wYWNrRjMyKGIpe3JldHVybiB1bnBhY2tJRUVFNzU0KGIsOCwyMyl9ZnVuY3Rpb24gcGFja0YzMih2KXtyZXR1cm4gcGFja0lFRUU3NTQodiw4LDIzKX0oZnVuY3Rpb24oKXtmdW5jdGlvbiBBcnJheUJ1ZmZlcihsZW5ndGgpe2xlbmd0aD1Ub0ludDMyKGxlbmd0aCk7aWYobGVuZ3RoPDApdGhyb3cgUmFuZ2VFcnJvcigiQXJyYXlCdWZmZXIgc2l6ZSBpcyBub3QgYSBzbWFsbCBlbm91Z2ggcG9zaXRpdmUgaW50ZWdlci4iKTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiYnl0ZUxlbmd0aCIse3ZhbHVlOmxlbmd0aH0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJfYnl0ZXMiLHt2YWx1ZTpBcnJheShsZW5ndGgpfSk7Zm9yKHZhciBpPTA7aTxsZW5ndGg7aSs9MSl0aGlzLl9ieXRlc1tpXT0wfWdsb2JhbC5BcnJheUJ1ZmZlcj1nbG9iYWwuQXJyYXlCdWZmZXJ8fEFycmF5QnVmZmVyO2Z1bmN0aW9uICRUeXBlZEFycmF5JCgpe2lmKCFhcmd1bWVudHMubGVuZ3RofHx0eXBlb2YgYXJndW1lbnRzWzBdIT09Im9iamVjdCIpe3JldHVybiBmdW5jdGlvbihsZW5ndGgpe2xlbmd0aD1Ub0ludDMyKGxlbmd0aCk7aWYobGVuZ3RoPDApdGhyb3cgUmFuZ2VFcnJvcigibGVuZ3RoIGlzIG5vdCBhIHNtYWxsIGVub3VnaCBwb3NpdGl2ZSBpbnRlZ2VyLiIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJsZW5ndGgiLHt2YWx1ZTpsZW5ndGh9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiYnl0ZUxlbmd0aCIse3ZhbHVlOmxlbmd0aCp0aGlzLkJZVEVTX1BFUl9FTEVNRU5UfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImJ1ZmZlciIse3ZhbHVlOm5ldyBBcnJheUJ1ZmZlcih0aGlzLmJ5dGVMZW5ndGgpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImJ5dGVPZmZzZXQiLHt2YWx1ZTowfSl9LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1pZihhcmd1bWVudHMubGVuZ3RoPj0xJiZUeXBlKGFyZ3VtZW50c1swXSk9PT0ib2JqZWN0IiYmYXJndW1lbnRzWzBdaW5zdGFuY2VvZiAkVHlwZWRBcnJheSQpe3JldHVybiBmdW5jdGlvbih0eXBlZEFycmF5KXtpZih0aGlzLmNvbnN0cnVjdG9yIT09dHlwZWRBcnJheS5jb25zdHJ1Y3Rvcil0aHJvdyBUeXBlRXJyb3IoKTt2YXIgYnl0ZUxlbmd0aD10eXBlZEFycmF5Lmxlbmd0aCp0aGlzLkJZVEVTX1BFUl9FTEVNRU5UO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJidWZmZXIiLHt2YWx1ZTpuZXcgQXJyYXlCdWZmZXIoYnl0ZUxlbmd0aCl9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiYnl0ZUxlbmd0aCIse3ZhbHVlOmJ5dGVMZW5ndGh9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiYnl0ZU9mZnNldCIse3ZhbHVlOjB9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywibGVuZ3RoIix7dmFsdWU6dHlwZWRBcnJheS5sZW5ndGh9KTtmb3IodmFyIGk9MDtpPHRoaXMubGVuZ3RoO2krPTEpdGhpcy5fc2V0dGVyKGksdHlwZWRBcnJheS5fZ2V0dGVyKGkpKX0uYXBwbHkodGhpcyxhcmd1bWVudHMpfWlmKGFyZ3VtZW50cy5sZW5ndGg+PTEmJlR5cGUoYXJndW1lbnRzWzBdKT09PSJvYmplY3QiJiYhKGFyZ3VtZW50c1swXWluc3RhbmNlb2YgJFR5cGVkQXJyYXkkKSYmIShhcmd1bWVudHNbMF1pbnN0YW5jZW9mIEFycmF5QnVmZmVyfHxDbGFzcyhhcmd1bWVudHNbMF0pPT09IkFycmF5QnVmZmVyIikpe3JldHVybiBmdW5jdGlvbihhcnJheSl7dmFyIGJ5dGVMZW5ndGg9YXJyYXkubGVuZ3RoKnRoaXMuQllURVNfUEVSX0VMRU1FTlQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImJ1ZmZlciIse3ZhbHVlOm5ldyBBcnJheUJ1ZmZlcihieXRlTGVuZ3RoKX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJieXRlTGVuZ3RoIix7dmFsdWU6Ynl0ZUxlbmd0aH0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJieXRlT2Zmc2V0Iix7dmFsdWU6MH0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJsZW5ndGgiLHt2YWx1ZTphcnJheS5sZW5ndGh9KTtmb3IodmFyIGk9MDtpPHRoaXMubGVuZ3RoO2krPTEpe3ZhciBzPWFycmF5W2ldO3RoaXMuX3NldHRlcihpLE51bWJlcihzKSl9fS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9aWYoYXJndW1lbnRzLmxlbmd0aD49MSYmVHlwZShhcmd1bWVudHNbMF0pPT09Im9iamVjdCImJihhcmd1bWVudHNbMF1pbnN0YW5jZW9mIEFycmF5QnVmZmVyfHxDbGFzcyhhcmd1bWVudHNbMF0pPT09IkFycmF5QnVmZmVyIikpe3JldHVybiBmdW5jdGlvbihidWZmZXIsYnl0ZU9mZnNldCxsZW5ndGgpe2J5dGVPZmZzZXQ9VG9VaW50MzIoYnl0ZU9mZnNldCk7aWYoYnl0ZU9mZnNldD5idWZmZXIuYnl0ZUxlbmd0aCl0aHJvdyBSYW5nZUVycm9yKCJieXRlT2Zmc2V0IG91dCBvZiByYW5nZSIpO2lmKGJ5dGVPZmZzZXQldGhpcy5CWVRFU19QRVJfRUxFTUVOVCl0aHJvdyBSYW5nZUVycm9yKCJidWZmZXIgbGVuZ3RoIG1pbnVzIHRoZSBieXRlT2Zmc2V0IGlzIG5vdCBhIG11bHRpcGxlIG9mIHRoZSBlbGVtZW50IHNpemUuIik7aWYobGVuZ3RoPT09dW5kZWZpbmVkKXt2YXIgYnl0ZUxlbmd0aD1idWZmZXIuYnl0ZUxlbmd0aC1ieXRlT2Zmc2V0O2lmKGJ5dGVMZW5ndGgldGhpcy5CWVRFU19QRVJfRUxFTUVOVCl0aHJvdyBSYW5nZUVycm9yKCJsZW5ndGggb2YgYnVmZmVyIG1pbnVzIGJ5dGVPZmZzZXQgbm90IGEgbXVsdGlwbGUgb2YgdGhlIGVsZW1lbnQgc2l6ZSIpO2xlbmd0aD1ieXRlTGVuZ3RoL3RoaXMuQllURVNfUEVSX0VMRU1FTlR9ZWxzZXtsZW5ndGg9VG9VaW50MzIobGVuZ3RoKTtieXRlTGVuZ3RoPWxlbmd0aCp0aGlzLkJZVEVTX1BFUl9FTEVNRU5UfWlmKGJ5dGVPZmZzZXQrYnl0ZUxlbmd0aD5idWZmZXIuYnl0ZUxlbmd0aCl0aHJvdyBSYW5nZUVycm9yKCJieXRlT2Zmc2V0IGFuZCBsZW5ndGggcmVmZXJlbmNlIGFuIGFyZWEgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGJ1ZmZlciIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJidWZmZXIiLHt2YWx1ZTpidWZmZXJ9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiYnl0ZUxlbmd0aCIse3ZhbHVlOmJ5dGVMZW5ndGh9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiYnl0ZU9mZnNldCIse3ZhbHVlOmJ5dGVPZmZzZXR9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywibGVuZ3RoIix7dmFsdWU6bGVuZ3RofSl9LmFwcGx5KHRoaXMsYXJndW1lbnRzKX10aHJvdyBUeXBlRXJyb3IoKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoJFR5cGVkQXJyYXkkLCJmcm9tIix7dmFsdWU6ZnVuY3Rpb24oaXRlcmFibGUpe3JldHVybiBuZXcgdGhpcyhpdGVyYWJsZSl9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JCwib2YiLHt2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBuZXcgdGhpcyhhcmd1bWVudHMpfX0pO3ZhciAkVHlwZWRBcnJheVByb3RvdHlwZSQ9e307JFR5cGVkQXJyYXkkLnByb3RvdHlwZT0kVHlwZWRBcnJheVByb3RvdHlwZSQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JC5wcm90b3R5cGUsIl9nZXR0ZXIiLHt2YWx1ZTpmdW5jdGlvbihpbmRleCl7aWYoYXJndW1lbnRzLmxlbmd0aDwxKXRocm93IFN5bnRheEVycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIpO2luZGV4PVRvVWludDMyKGluZGV4KTtpZihpbmRleD49dGhpcy5sZW5ndGgpcmV0dXJuIHVuZGVmaW5lZDt2YXIgYnl0ZXM9W10saSxvO2ZvcihpPTAsbz10aGlzLmJ5dGVPZmZzZXQraW5kZXgqdGhpcy5CWVRFU19QRVJfRUxFTUVOVDtpPHRoaXMuQllURVNfUEVSX0VMRU1FTlQ7aSs9MSxvKz0xKXtieXRlcy5wdXNoKHRoaXMuYnVmZmVyLl9ieXRlc1tvXSl9cmV0dXJuIHRoaXMuX3VucGFjayhieXRlcyl9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JC5wcm90b3R5cGUsImdldCIse3ZhbHVlOiRUeXBlZEFycmF5JC5wcm90b3R5cGUuX2dldHRlcn0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJfc2V0dGVyIix7dmFsdWU6ZnVuY3Rpb24oaW5kZXgsdmFsdWUpe2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil0aHJvdyBTeW50YXhFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiKTtpbmRleD1Ub1VpbnQzMihpbmRleCk7aWYoaW5kZXg+PXRoaXMubGVuZ3RoKXJldHVybjt2YXIgYnl0ZXM9dGhpcy5fcGFjayh2YWx1ZSksaSxvO2ZvcihpPTAsbz10aGlzLmJ5dGVPZmZzZXQraW5kZXgqdGhpcy5CWVRFU19QRVJfRUxFTUVOVDtpPHRoaXMuQllURVNfUEVSX0VMRU1FTlQ7aSs9MSxvKz0xKXt0aGlzLmJ1ZmZlci5fYnl0ZXNbb109Ynl0ZXNbaV19fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJjb25zdHJ1Y3RvciIse3ZhbHVlOiRUeXBlZEFycmF5JH0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJjb3B5V2l0aGluIix7dmFsdWU6ZnVuY3Rpb24odGFyZ2V0LHN0YXJ0KXt2YXIgZW5kPWFyZ3VtZW50c1syXTt2YXIgbz1Ub09iamVjdCh0aGlzKTt2YXIgbGVuVmFsPW8ubGVuZ3RoO3ZhciBsZW49VG9VaW50MzIobGVuVmFsKTtsZW49bWF4KGxlbiwwKTt2YXIgcmVsYXRpdmVUYXJnZXQ9VG9JbnQzMih0YXJnZXQpO3ZhciB0bztpZihyZWxhdGl2ZVRhcmdldDwwKXRvPW1heChsZW4rcmVsYXRpdmVUYXJnZXQsMCk7ZWxzZSB0bz1taW4ocmVsYXRpdmVUYXJnZXQsbGVuKTt2YXIgcmVsYXRpdmVTdGFydD1Ub0ludDMyKHN0YXJ0KTt2YXIgZnJvbTtpZihyZWxhdGl2ZVN0YXJ0PDApZnJvbT1tYXgobGVuK3JlbGF0aXZlU3RhcnQsMCk7ZWxzZSBmcm9tPW1pbihyZWxhdGl2ZVN0YXJ0LGxlbik7dmFyIHJlbGF0aXZlRW5kO2lmKGVuZD09PXVuZGVmaW5lZClyZWxhdGl2ZUVuZD1sZW47ZWxzZSByZWxhdGl2ZUVuZD1Ub0ludDMyKGVuZCk7dmFyIGZpbmFsO2lmKHJlbGF0aXZlRW5kPDApZmluYWw9bWF4KGxlbityZWxhdGl2ZUVuZCwwKTtlbHNlIGZpbmFsPW1pbihyZWxhdGl2ZUVuZCxsZW4pO3ZhciBjb3VudD1taW4oZmluYWwtZnJvbSxsZW4tdG8pO3ZhciBkaXJlY3Rpb247aWYoZnJvbTx0byYmdG88ZnJvbStjb3VudCl7ZGlyZWN0aW9uPS0xO2Zyb209ZnJvbStjb3VudC0xO3RvPXRvK2NvdW50LTF9ZWxzZXtkaXJlY3Rpb249MX13aGlsZShjb3VudD4wKXtvLl9zZXR0ZXIodG8sby5fZ2V0dGVyKGZyb20pKTtmcm9tPWZyb20rZGlyZWN0aW9uO3RvPXRvK2RpcmVjdGlvbjtjb3VudD1jb3VudC0xfXJldHVybiBvfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJldmVyeSIse3ZhbHVlOmZ1bmN0aW9uKGNhbGxiYWNrZm4pe2lmKHRoaXM9PT11bmRlZmluZWR8fHRoaXM9PT1udWxsKXRocm93IFR5cGVFcnJvcigpO3ZhciB0PU9iamVjdCh0aGlzKTt2YXIgbGVuPVRvVWludDMyKHQubGVuZ3RoKTtpZighSXNDYWxsYWJsZShjYWxsYmFja2ZuKSl0aHJvdyBUeXBlRXJyb3IoKTt2YXIgdGhpc0FyZz1hcmd1bWVudHNbMV07Zm9yKHZhciBpPTA7aTxsZW47aSsrKXtpZighY2FsbGJhY2tmbi5jYWxsKHRoaXNBcmcsdC5fZ2V0dGVyKGkpLGksdCkpcmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJmaWxsIix7dmFsdWU6ZnVuY3Rpb24odmFsdWUpe3ZhciBzdGFydD1hcmd1bWVudHNbMV0sZW5kPWFyZ3VtZW50c1syXTt2YXIgbz1Ub09iamVjdCh0aGlzKTt2YXIgbGVuVmFsPW8ubGVuZ3RoO3ZhciBsZW49VG9VaW50MzIobGVuVmFsKTtsZW49bWF4KGxlbiwwKTt2YXIgcmVsYXRpdmVTdGFydD1Ub0ludDMyKHN0YXJ0KTt2YXIgaztpZihyZWxhdGl2ZVN0YXJ0PDApaz1tYXgobGVuK3JlbGF0aXZlU3RhcnQsMCk7ZWxzZSBrPW1pbihyZWxhdGl2ZVN0YXJ0LGxlbik7dmFyIHJlbGF0aXZlRW5kO2lmKGVuZD09PXVuZGVmaW5lZClyZWxhdGl2ZUVuZD1sZW47ZWxzZSByZWxhdGl2ZUVuZD1Ub0ludDMyKGVuZCk7dmFyIGZpbmFsO2lmKHJlbGF0aXZlRW5kPDApZmluYWw9bWF4KGxlbityZWxhdGl2ZUVuZCwwKTtlbHNlIGZpbmFsPW1pbihyZWxhdGl2ZUVuZCxsZW4pO3doaWxlKGs8ZmluYWwpe28uX3NldHRlcihrLHZhbHVlKTtrKz0xfXJldHVybiBvfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJmaWx0ZXIiLHt2YWx1ZTpmdW5jdGlvbihjYWxsYmFja2ZuKXtpZih0aGlzPT09dW5kZWZpbmVkfHx0aGlzPT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoKTt2YXIgdD1PYmplY3QodGhpcyk7dmFyIGxlbj1Ub1VpbnQzMih0Lmxlbmd0aCk7aWYoIUlzQ2FsbGFibGUoY2FsbGJhY2tmbikpdGhyb3cgVHlwZUVycm9yKCk7dmFyIHJlcz1bXTt2YXIgdGhpc3A9YXJndW1lbnRzWzFdO2Zvcih2YXIgaT0wO2k8bGVuO2krKyl7dmFyIHZhbD10Ll9nZXR0ZXIoaSk7aWYoY2FsbGJhY2tmbi5jYWxsKHRoaXNwLHZhbCxpLHQpKXJlcy5wdXNoKHZhbCl9cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKHJlcyl9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JC5wcm90b3R5cGUsImZpbmQiLHt2YWx1ZTpmdW5jdGlvbihwcmVkaWNhdGUpe3ZhciBvPVRvT2JqZWN0KHRoaXMpO3ZhciBsZW5WYWx1ZT1vLmxlbmd0aDt2YXIgbGVuPVRvVWludDMyKGxlblZhbHVlKTtpZighSXNDYWxsYWJsZShwcmVkaWNhdGUpKXRocm93IFR5cGVFcnJvcigpO3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dW5kZWZpbmVkO3ZhciBrPTA7d2hpbGUoazxsZW4pe3ZhciBrVmFsdWU9by5fZ2V0dGVyKGspO3ZhciB0ZXN0UmVzdWx0PXByZWRpY2F0ZS5jYWxsKHQsa1ZhbHVlLGssbyk7aWYoQm9vbGVhbih0ZXN0UmVzdWx0KSlyZXR1cm4ga1ZhbHVlOysra31yZXR1cm4gdW5kZWZpbmVkfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJmaW5kSW5kZXgiLHt2YWx1ZTpmdW5jdGlvbihwcmVkaWNhdGUpe3ZhciBvPVRvT2JqZWN0KHRoaXMpO3ZhciBsZW5WYWx1ZT1vLmxlbmd0aDt2YXIgbGVuPVRvVWludDMyKGxlblZhbHVlKTtpZighSXNDYWxsYWJsZShwcmVkaWNhdGUpKXRocm93IFR5cGVFcnJvcigpO3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dW5kZWZpbmVkO3ZhciBrPTA7d2hpbGUoazxsZW4pe3ZhciBrVmFsdWU9by5fZ2V0dGVyKGspO3ZhciB0ZXN0UmVzdWx0PXByZWRpY2F0ZS5jYWxsKHQsa1ZhbHVlLGssbyk7aWYoQm9vbGVhbih0ZXN0UmVzdWx0KSlyZXR1cm4gazsrK2t9cmV0dXJuLTF9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JC5wcm90b3R5cGUsImZvckVhY2giLHt2YWx1ZTpmdW5jdGlvbihjYWxsYmFja2ZuKXtpZih0aGlzPT09dW5kZWZpbmVkfHx0aGlzPT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoKTt2YXIgdD1PYmplY3QodGhpcyk7dmFyIGxlbj1Ub1VpbnQzMih0Lmxlbmd0aCk7aWYoIUlzQ2FsbGFibGUoY2FsbGJhY2tmbikpdGhyb3cgVHlwZUVycm9yKCk7dmFyIHRoaXNwPWFyZ3VtZW50c1sxXTtmb3IodmFyIGk9MDtpPGxlbjtpKyspY2FsbGJhY2tmbi5jYWxsKHRoaXNwLHQuX2dldHRlcihpKSxpLHQpfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJpbmRleE9mIix7dmFsdWU6ZnVuY3Rpb24oc2VhcmNoRWxlbWVudCl7aWYodGhpcz09PXVuZGVmaW5lZHx8dGhpcz09PW51bGwpdGhyb3cgVHlwZUVycm9yKCk7dmFyIHQ9T2JqZWN0KHRoaXMpO3ZhciBsZW49VG9VaW50MzIodC5sZW5ndGgpO2lmKGxlbj09PTApcmV0dXJuLTE7dmFyIG49MDtpZihhcmd1bWVudHMubGVuZ3RoPjApe249TnVtYmVyKGFyZ3VtZW50c1sxXSk7aWYobiE9PW4pe249MH1lbHNlIGlmKG4hPT0wJiZuIT09MS8wJiZuIT09LSgxLzApKXtuPShuPjB8fC0xKSpmbG9vcihhYnMobikpfX1pZihuPj1sZW4pcmV0dXJuLTE7dmFyIGs9bj49MD9uOm1heChsZW4tYWJzKG4pLDApO2Zvcig7azxsZW47aysrKXtpZih0Ll9nZXR0ZXIoayk9PT1zZWFyY2hFbGVtZW50KXtyZXR1cm4ga319cmV0dXJuLTF9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JC5wcm90b3R5cGUsImpvaW4iLHt2YWx1ZTpmdW5jdGlvbihzZXBhcmF0b3Ipe2lmKHRoaXM9PT11bmRlZmluZWR8fHRoaXM9PT1udWxsKXRocm93IFR5cGVFcnJvcigpO3ZhciB0PU9iamVjdCh0aGlzKTt2YXIgbGVuPVRvVWludDMyKHQubGVuZ3RoKTt2YXIgdG1wPUFycmF5KGxlbik7Zm9yKHZhciBpPTA7aTxsZW47KytpKXRtcFtpXT10Ll9nZXR0ZXIoaSk7cmV0dXJuIHRtcC5qb2luKHNlcGFyYXRvcj09PXVuZGVmaW5lZD8iLCI6c2VwYXJhdG9yKX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoJFR5cGVkQXJyYXkkLnByb3RvdHlwZSwibGFzdEluZGV4T2YiLHt2YWx1ZTpmdW5jdGlvbihzZWFyY2hFbGVtZW50KXtpZih0aGlzPT09dW5kZWZpbmVkfHx0aGlzPT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoKTt2YXIgdD1PYmplY3QodGhpcyk7dmFyIGxlbj1Ub1VpbnQzMih0Lmxlbmd0aCk7aWYobGVuPT09MClyZXR1cm4tMTt2YXIgbj1sZW47aWYoYXJndW1lbnRzLmxlbmd0aD4xKXtuPU51bWJlcihhcmd1bWVudHNbMV0pO2lmKG4hPT1uKXtuPTB9ZWxzZSBpZihuIT09MCYmbiE9PTEvMCYmbiE9PS0oMS8wKSl7bj0obj4wfHwtMSkqZmxvb3IoYWJzKG4pKX19dmFyIGs9bj49MD9taW4obixsZW4tMSk6bGVuLWFicyhuKTtmb3IoO2s+PTA7ay0tKXtpZih0Ll9nZXR0ZXIoayk9PT1zZWFyY2hFbGVtZW50KXJldHVybiBrfXJldHVybi0xfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJtYXAiLHt2YWx1ZTpmdW5jdGlvbihjYWxsYmFja2ZuKXtpZih0aGlzPT09dW5kZWZpbmVkfHx0aGlzPT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoKTt2YXIgdD1PYmplY3QodGhpcyk7dmFyIGxlbj1Ub1VpbnQzMih0Lmxlbmd0aCk7aWYoIUlzQ2FsbGFibGUoY2FsbGJhY2tmbikpdGhyb3cgVHlwZUVycm9yKCk7dmFyIHJlcz1bXTtyZXMubGVuZ3RoPWxlbjt2YXIgdGhpc3A9YXJndW1lbnRzWzFdO2Zvcih2YXIgaT0wO2k8bGVuO2krKylyZXNbaV09Y2FsbGJhY2tmbi5jYWxsKHRoaXNwLHQuX2dldHRlcihpKSxpLHQpO3JldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3RvcihyZXMpfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkVHlwZWRBcnJheSQucHJvdG90eXBlLCJyZWR1Y2UiLHt2YWx1ZTpmdW5jdGlvbihjYWxsYmFja2ZuKXtpZih0aGlzPT09dW5kZWZpbmVkfHx0aGlzPT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoKTt2YXIgdD1PYmplY3QodGhpcyk7dmFyIGxlbj1Ub1VpbnQzMih0Lmxlbmd0aCk7aWYoIUlzQ2FsbGFibGUoY2FsbGJhY2tmbikpdGhyb3cgVHlwZUVycm9yKCk7aWYobGVuPT09MCYmYXJndW1lbnRzLmxlbmd0aD09PTEpdGhyb3cgVHlwZUVycm9yKCk7dmFyIGs9MDt2YXIgYWNjdW11bGF0b3I7aWYoYXJndW1lbnRzLmxlbmd0aD49Mil7YWNjdW11bGF0b3I9YXJndW1lbnRzWzFdfWVsc2V7YWNjdW11bGF0b3I9dC5fZ2V0dGVyKGsrKyl9d2hpbGUoazxsZW4pe2FjY3VtdWxhdG9yPWNhbGxiYWNrZm4uY2FsbCh1bmRlZmluZWQsYWNjdW11bGF0b3IsdC5fZ2V0dGVyKGspLGssdCk7aysrfXJldHVybiBhY2N1bXVsYXRvcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoJFR5cGVkQXJyYXkkLnByb3RvdHlwZSwicmVkdWNlUmlnaHQiLHt2YWx1ZTpmdW5jdGlvbihjYWxsYmFja2ZuKXtpZih0aGlzPT09dW5kZWZpbmVkfHx0aGlzPT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoKTt2YXIgdD1PYmplY3QodGhpcyk7dmFyIGxlbj1Ub1VpbnQzMih0Lmxlbmd0aCk7aWYoIUlzQ2FsbGFibGUoY2FsbGJhY2tmbikpdGhyb3cgVHlwZUVycm9yKCk7aWYobGVuPT09MCYmYXJndW1lbnRzLmxlbmd0aD09PTEpdGhyb3cgVHlwZUVycm9yKCk7dmFyIGs9bGVuLTE7dmFyIGFjY3VtdWxhdG9yO2lmKGFyZ3VtZW50cy5sZW5ndGg+PTIpe2FjY3VtdWxhdG9yPWFyZ3VtZW50c1sxXX1lbHNle2FjY3VtdWxhdG9yPXQuX2dldHRlcihrLS0pfXdoaWxlKGs+PTApe2FjY3VtdWxhdG9yPWNhbGxiYWNrZm4uY2FsbCh1bmRlZmluZWQsYWNjdW11bGF0b3IsdC5fZ2V0dGVyKGspLGssdCk7ay0tfXJldHVybiBhY2N1bXVsYXRvcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoJFR5cGVkQXJyYXkkLnByb3RvdHlwZSwicmV2ZXJzZSIse3ZhbHVlOmZ1bmN0aW9uKCl7aWYodGhpcz09PXVuZGVmaW5lZHx8dGhpcz09PW51bGwpdGhyb3cgVHlwZUVycm9yKCk7dmFyIHQ9T2JqZWN0KHRoaXMpO3ZhciBsZW49VG9VaW50MzIodC5sZW5ndGgpO3ZhciBoYWxmPWZsb29yKGxlbi8yKTtmb3IodmFyIGk9MCxqPWxlbi0xO2k8aGFsZjsrK2ksLS1qKXt2YXIgdG1wPXQuX2dldHRlcihpKTt0Ll9zZXR0ZXIoaSx0Ll9nZXR0ZXIoaikpO3QuX3NldHRlcihqLHRtcCl9cmV0dXJuIHR9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JC5wcm90b3R5cGUsInNldCIse3ZhbHVlOmZ1bmN0aW9uKGluZGV4LHZhbHVlKXtpZihhcmd1bWVudHMubGVuZ3RoPDEpdGhyb3cgU3ludGF4RXJyb3IoIk5vdCBlbm91Z2ggYXJndW1lbnRzIik7dmFyIGFycmF5LHNlcXVlbmNlLG9mZnNldCxsZW4saSxzLGQsYnl0ZU9mZnNldCxieXRlTGVuZ3RoLHRtcDtpZih0eXBlb2YgYXJndW1lbnRzWzBdPT09Im9iamVjdCImJmFyZ3VtZW50c1swXS5jb25zdHJ1Y3Rvcj09PXRoaXMuY29uc3RydWN0b3Ipe2FycmF5PWFyZ3VtZW50c1swXTtvZmZzZXQ9VG9VaW50MzIoYXJndW1lbnRzWzFdKTtpZihvZmZzZXQrYXJyYXkubGVuZ3RoPnRoaXMubGVuZ3RoKXt0aHJvdyBSYW5nZUVycm9yKCJPZmZzZXQgcGx1cyBsZW5ndGggb2YgYXJyYXkgaXMgb3V0IG9mIHJhbmdlIil9Ynl0ZU9mZnNldD10aGlzLmJ5dGVPZmZzZXQrb2Zmc2V0KnRoaXMuQllURVNfUEVSX0VMRU1FTlQ7Ynl0ZUxlbmd0aD1hcnJheS5sZW5ndGgqdGhpcy5CWVRFU19QRVJfRUxFTUVOVDtpZihhcnJheS5idWZmZXI9PT10aGlzLmJ1ZmZlcil7dG1wPVtdO2ZvcihpPTAscz1hcnJheS5ieXRlT2Zmc2V0O2k8Ynl0ZUxlbmd0aDtpKz0xLHMrPTEpe3RtcFtpXT1hcnJheS5idWZmZXIuX2J5dGVzW3NdfWZvcihpPTAsZD1ieXRlT2Zmc2V0O2k8Ynl0ZUxlbmd0aDtpKz0xLGQrPTEpe3RoaXMuYnVmZmVyLl9ieXRlc1tkXT10bXBbaV19fWVsc2V7Zm9yKGk9MCxzPWFycmF5LmJ5dGVPZmZzZXQsZD1ieXRlT2Zmc2V0O2k8Ynl0ZUxlbmd0aDtpKz0xLHMrPTEsZCs9MSl7dGhpcy5idWZmZXIuX2J5dGVzW2RdPWFycmF5LmJ1ZmZlci5fYnl0ZXNbc119fX1lbHNlIGlmKHR5cGVvZiBhcmd1bWVudHNbMF09PT0ib2JqZWN0IiYmdHlwZW9mIGFyZ3VtZW50c1swXS5sZW5ndGghPT0idW5kZWZpbmVkIil7c2VxdWVuY2U9YXJndW1lbnRzWzBdO2xlbj1Ub1VpbnQzMihzZXF1ZW5jZS5sZW5ndGgpO29mZnNldD1Ub1VpbnQzMihhcmd1bWVudHNbMV0pO2lmKG9mZnNldCtsZW4+dGhpcy5sZW5ndGgpe3Rocm93IFJhbmdlRXJyb3IoIk9mZnNldCBwbHVzIGxlbmd0aCBvZiBhcnJheSBpcyBvdXQgb2YgcmFuZ2UiKX1mb3IoaT0wO2k8bGVuO2krPTEpe3M9c2VxdWVuY2VbaV07dGhpcy5fc2V0dGVyKG9mZnNldCtpLE51bWJlcihzKSl9fWVsc2V7dGhyb3cgVHlwZUVycm9yKCJVbmV4cGVjdGVkIGFyZ3VtZW50IHR5cGUocykiKX19fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JC5wcm90b3R5cGUsInNsaWNlIix7dmFsdWU6ZnVuY3Rpb24oc3RhcnQsZW5kKXt2YXIgbz1Ub09iamVjdCh0aGlzKTt2YXIgbGVuVmFsPW8ubGVuZ3RoO3ZhciBsZW49VG9VaW50MzIobGVuVmFsKTt2YXIgcmVsYXRpdmVTdGFydD1Ub0ludDMyKHN0YXJ0KTt2YXIgaz1yZWxhdGl2ZVN0YXJ0PDA/bWF4KGxlbityZWxhdGl2ZVN0YXJ0LDApOm1pbihyZWxhdGl2ZVN0YXJ0LGxlbik7dmFyIHJlbGF0aXZlRW5kPWVuZD09PXVuZGVmaW5lZD9sZW46VG9JbnQzMihlbmQpO3ZhciBmaW5hbD1yZWxhdGl2ZUVuZDwwP21heChsZW4rcmVsYXRpdmVFbmQsMCk6bWluKHJlbGF0aXZlRW5kLGxlbik7dmFyIGNvdW50PWZpbmFsLWs7dmFyIGM9by5jb25zdHJ1Y3Rvcjt2YXIgYT1uZXcgYyhjb3VudCk7dmFyIG49MDt3aGlsZShrPGZpbmFsKXt2YXIga1ZhbHVlPW8uX2dldHRlcihrKTthLl9zZXR0ZXIobixrVmFsdWUpOysrazsrK259cmV0dXJuIGF9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KCRUeXBlZEFycmF5JC5wcm90b3R5cGUsInNvbWUiLHt2YWx1ZTpmdW5jdGlvbihjYWxsYmFja2ZuKXtpZih0aGlzPT09dW5kZWZpbmVkfHx0aGlzPT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoKTt2YXIgdD1PYmplY3QodGhpcyk7dmFyIGxlbj1Ub1VpbnQzMih0Lmxlbmd0aCk7aWYoIUlzQ2FsbGFibGUoY2FsbGJhY2tmbikpdGhyb3cgVHlwZUVycm9yKCk7dmFyIHRoaXNwPWFyZ3VtZW50c1sxXTtmb3IodmFyIGk9MDtpPGxlbjtpKyspe2lmKGNhbGxiYWNrZm4uY2FsbCh0aGlzcCx0Ll9nZXR0ZXIoaSksaSx0KSl7cmV0dXJuIHRydWV9fXJldHVybiBmYWxzZX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoJFR5cGVkQXJyYXkkLnByb3RvdHlwZSwic29ydCIse3ZhbHVlOmZ1bmN0aW9uKGNvbXBhcmVmbil7aWYodGhpcz09PXVuZGVmaW5lZHx8dGhpcz09PW51bGwpdGhyb3cgVHlwZUVycm9yKCk7dmFyIHQ9T2JqZWN0KHRoaXMpO3ZhciBsZW49VG9VaW50MzIodC5sZW5ndGgpO3ZhciB0bXA9QXJyYXkobGVuKTtmb3IodmFyIGk9MDtpPGxlbjsrK2kpdG1wW2ldPXQuX2dldHRlcihpKTtpZihjb21wYXJlZm4pdG1wLnNvcnQoY29tcGFyZWZuKTtlbHNlIHRtcC5zb3J0KCk7Zm9yKGk9MDtpPGxlbjsrK2kpdC5fc2V0dGVyKGksdG1wW2ldKTtyZXR1cm4gdH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoJFR5cGVkQXJyYXkkLnByb3RvdHlwZSwic3ViYXJyYXkiLHt2YWx1ZTpmdW5jdGlvbihzdGFydCxlbmQpe2Z1bmN0aW9uIGNsYW1wKHYsbWluLG1heCl7cmV0dXJuIHY8bWluP21pbjp2Pm1heD9tYXg6dn1zdGFydD1Ub0ludDMyKHN0YXJ0KTtlbmQ9VG9JbnQzMihlbmQpO2lmKGFyZ3VtZW50cy5sZW5ndGg8MSl7c3RhcnQ9MH1pZihhcmd1bWVudHMubGVuZ3RoPDIpe2VuZD10aGlzLmxlbmd0aH1pZihzdGFydDwwKXtzdGFydD10aGlzLmxlbmd0aCtzdGFydH1pZihlbmQ8MCl7ZW5kPXRoaXMubGVuZ3RoK2VuZH1zdGFydD1jbGFtcChzdGFydCwwLHRoaXMubGVuZ3RoKTtlbmQ9Y2xhbXAoZW5kLDAsdGhpcy5sZW5ndGgpO3ZhciBsZW49ZW5kLXN0YXJ0O2lmKGxlbjwwKXtsZW49MH1yZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5idWZmZXIsdGhpcy5ieXRlT2Zmc2V0K3N0YXJ0KnRoaXMuQllURVNfUEVSX0VMRU1FTlQsbGVuKX19KTtmdW5jdGlvbiBtYWtlVHlwZWRBcnJheShlbGVtZW50U2l6ZSxwYWNrLHVucGFjayl7dmFyIFR5cGVkQXJyYXk9ZnVuY3Rpb24oKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiY29uc3RydWN0b3IiLHt2YWx1ZTpUeXBlZEFycmF5fSk7JFR5cGVkQXJyYXkkLmFwcGx5KHRoaXMsYXJndW1lbnRzKTttYWtlQXJyYXlBY2Nlc3NvcnModGhpcyl9O2lmKCJfX3Byb3RvX18iaW4gVHlwZWRBcnJheSl7VHlwZWRBcnJheS5fX3Byb3RvX189JFR5cGVkQXJyYXkkfWVsc2V7VHlwZWRBcnJheS5mcm9tPSRUeXBlZEFycmF5JC5mcm9tO1R5cGVkQXJyYXkub2Y9JFR5cGVkQXJyYXkkLm9mfVR5cGVkQXJyYXkuQllURVNfUEVSX0VMRU1FTlQ9ZWxlbWVudFNpemU7dmFyIFR5cGVkQXJyYXlQcm90b3R5cGU9ZnVuY3Rpb24oKXt9O1R5cGVkQXJyYXlQcm90b3R5cGUucHJvdG90eXBlPSRUeXBlZEFycmF5UHJvdG90eXBlJDtUeXBlZEFycmF5LnByb3RvdHlwZT1uZXcgVHlwZWRBcnJheVByb3RvdHlwZTtPYmplY3QuZGVmaW5lUHJvcGVydHkoVHlwZWRBcnJheS5wcm90b3R5cGUsIkJZVEVTX1BFUl9FTEVNRU5UIix7dmFsdWU6ZWxlbWVudFNpemV9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoVHlwZWRBcnJheS5wcm90b3R5cGUsIl9wYWNrIix7dmFsdWU6cGFja30pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShUeXBlZEFycmF5LnByb3RvdHlwZSwiX3VucGFjayIse3ZhbHVlOnVucGFja30pO3JldHVybiBUeXBlZEFycmF5fXZhciBJbnQ4QXJyYXk9bWFrZVR5cGVkQXJyYXkoMSxwYWNrSTgsdW5wYWNrSTgpO3ZhciBVaW50OEFycmF5PW1ha2VUeXBlZEFycmF5KDEscGFja1U4LHVucGFja1U4KTt2YXIgVWludDhDbGFtcGVkQXJyYXk9bWFrZVR5cGVkQXJyYXkoMSxwYWNrVThDbGFtcGVkLHVucGFja1U4KTt2YXIgSW50MTZBcnJheT1tYWtlVHlwZWRBcnJheSgyLHBhY2tJMTYsdW5wYWNrSTE2KTt2YXIgVWludDE2QXJyYXk9bWFrZVR5cGVkQXJyYXkoMixwYWNrVTE2LHVucGFja1UxNik7dmFyIEludDMyQXJyYXk9bWFrZVR5cGVkQXJyYXkoNCxwYWNrSTMyLHVucGFja0kzMik7dmFyIFVpbnQzMkFycmF5PW1ha2VUeXBlZEFycmF5KDQscGFja1UzMix1bnBhY2tVMzIpO3ZhciBGbG9hdDMyQXJyYXk9bWFrZVR5cGVkQXJyYXkoNCxwYWNrRjMyLHVucGFja0YzMik7dmFyIEZsb2F0NjRBcnJheT1tYWtlVHlwZWRBcnJheSg4LHBhY2tGNjQsdW5wYWNrRjY0KTtnbG9iYWwuSW50OEFycmF5PWdsb2JhbC5JbnQ4QXJyYXl8fEludDhBcnJheTtnbG9iYWwuVWludDhBcnJheT1nbG9iYWwuVWludDhBcnJheXx8VWludDhBcnJheTtnbG9iYWwuVWludDhDbGFtcGVkQXJyYXk9Z2xvYmFsLlVpbnQ4Q2xhbXBlZEFycmF5fHxVaW50OENsYW1wZWRBcnJheTtnbG9iYWwuSW50MTZBcnJheT1nbG9iYWwuSW50MTZBcnJheXx8SW50MTZBcnJheTtnbG9iYWwuVWludDE2QXJyYXk9Z2xvYmFsLlVpbnQxNkFycmF5fHxVaW50MTZBcnJheTtnbG9iYWwuSW50MzJBcnJheT1nbG9iYWwuSW50MzJBcnJheXx8SW50MzJBcnJheTtnbG9iYWwuVWludDMyQXJyYXk9Z2xvYmFsLlVpbnQzMkFycmF5fHxVaW50MzJBcnJheTtnbG9iYWwuRmxvYXQzMkFycmF5PWdsb2JhbC5GbG9hdDMyQXJyYXl8fEZsb2F0MzJBcnJheTtnbG9iYWwuRmxvYXQ2NEFycmF5PWdsb2JhbC5GbG9hdDY0QXJyYXl8fEZsb2F0NjRBcnJheX0pKCk7KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihhcnJheSxpbmRleCl7cmV0dXJuIElzQ2FsbGFibGUoYXJyYXkuZ2V0KT9hcnJheS5nZXQoaW5kZXgpOmFycmF5W2luZGV4XX12YXIgSVNfQklHX0VORElBTj1mdW5jdGlvbigpe3ZhciB1MTZhcnJheT1uZXcgVWludDE2QXJyYXkoWzQ2NjBdKSx1OGFycmF5PW5ldyBVaW50OEFycmF5KHUxNmFycmF5LmJ1ZmZlcik7cmV0dXJuIHIodThhcnJheSwwKT09PTE4fSgpO2Z1bmN0aW9uIERhdGFWaWV3KGJ1ZmZlcixieXRlT2Zmc2V0LGJ5dGVMZW5ndGgpe2lmKCEoYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fENsYXNzKGJ1ZmZlcik9PT0iQXJyYXlCdWZmZXIiKSl0aHJvdyBUeXBlRXJyb3IoKTtieXRlT2Zmc2V0PVRvVWludDMyKGJ5dGVPZmZzZXQpO2lmKGJ5dGVPZmZzZXQ+YnVmZmVyLmJ5dGVMZW5ndGgpdGhyb3cgUmFuZ2VFcnJvcigiYnl0ZU9mZnNldCBvdXQgb2YgcmFuZ2UiKTtpZihieXRlTGVuZ3RoPT09dW5kZWZpbmVkKWJ5dGVMZW5ndGg9YnVmZmVyLmJ5dGVMZW5ndGgtYnl0ZU9mZnNldDtlbHNlIGJ5dGVMZW5ndGg9VG9VaW50MzIoYnl0ZUxlbmd0aCk7aWYoYnl0ZU9mZnNldCtieXRlTGVuZ3RoPmJ1ZmZlci5ieXRlTGVuZ3RoKXRocm93IFJhbmdlRXJyb3IoImJ5dGVPZmZzZXQgYW5kIGxlbmd0aCByZWZlcmVuY2UgYW4gYXJlYSBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgYnVmZmVyIik7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImJ1ZmZlciIse3ZhbHVlOmJ1ZmZlcn0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJieXRlTGVuZ3RoIix7dmFsdWU6Ynl0ZUxlbmd0aH0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJieXRlT2Zmc2V0Iix7dmFsdWU6Ynl0ZU9mZnNldH0pfWZ1bmN0aW9uIG1ha2VHZXR0ZXIoYXJyYXlUeXBlKXtyZXR1cm4gZnVuY3Rpb24gR2V0Vmlld1ZhbHVlKGJ5dGVPZmZzZXQsbGl0dGxlRW5kaWFuKXtieXRlT2Zmc2V0PVRvVWludDMyKGJ5dGVPZmZzZXQpO2lmKGJ5dGVPZmZzZXQrYXJyYXlUeXBlLkJZVEVTX1BFUl9FTEVNRU5UPnRoaXMuYnl0ZUxlbmd0aCl0aHJvdyBSYW5nZUVycm9yKCJBcnJheSBpbmRleCBvdXQgb2YgcmFuZ2UiKTtieXRlT2Zmc2V0Kz10aGlzLmJ5dGVPZmZzZXQ7dmFyIHVpbnQ4QXJyYXk9bmV3IFVpbnQ4QXJyYXkodGhpcy5idWZmZXIsYnl0ZU9mZnNldCxhcnJheVR5cGUuQllURVNfUEVSX0VMRU1FTlQpLGJ5dGVzPVtdO2Zvcih2YXIgaT0wO2k8YXJyYXlUeXBlLkJZVEVTX1BFUl9FTEVNRU5UO2krPTEpYnl0ZXMucHVzaChyKHVpbnQ4QXJyYXksaSkpO2lmKEJvb2xlYW4obGl0dGxlRW5kaWFuKT09PUJvb2xlYW4oSVNfQklHX0VORElBTikpYnl0ZXMucmV2ZXJzZSgpO3JldHVybiByKG5ldyBhcnJheVR5cGUobmV3IFVpbnQ4QXJyYXkoYnl0ZXMpLmJ1ZmZlciksMCl9fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShEYXRhVmlldy5wcm90b3R5cGUsImdldFVpbnQ4Iix7dmFsdWU6bWFrZUdldHRlcihVaW50OEFycmF5KX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShEYXRhVmlldy5wcm90b3R5cGUsImdldEludDgiLHt2YWx1ZTptYWtlR2V0dGVyKEludDhBcnJheSl9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0YVZpZXcucHJvdG90eXBlLCJnZXRVaW50MTYiLHt2YWx1ZTptYWtlR2V0dGVyKFVpbnQxNkFycmF5KX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShEYXRhVmlldy5wcm90b3R5cGUsImdldEludDE2Iix7dmFsdWU6bWFrZUdldHRlcihJbnQxNkFycmF5KX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShEYXRhVmlldy5wcm90b3R5cGUsImdldFVpbnQzMiIse3ZhbHVlOm1ha2VHZXR0ZXIoVWludDMyQXJyYXkpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGFWaWV3LnByb3RvdHlwZSwiZ2V0SW50MzIiLHt2YWx1ZTptYWtlR2V0dGVyKEludDMyQXJyYXkpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGFWaWV3LnByb3RvdHlwZSwiZ2V0RmxvYXQzMiIse3ZhbHVlOm1ha2VHZXR0ZXIoRmxvYXQzMkFycmF5KX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShEYXRhVmlldy5wcm90b3R5cGUsImdldEZsb2F0NjQiLHt2YWx1ZTptYWtlR2V0dGVyKEZsb2F0NjRBcnJheSl9KTtmdW5jdGlvbiBtYWtlU2V0dGVyKGFycmF5VHlwZSl7cmV0dXJuIGZ1bmN0aW9uIFNldFZpZXdWYWx1ZShieXRlT2Zmc2V0LHZhbHVlLGxpdHRsZUVuZGlhbil7Ynl0ZU9mZnNldD1Ub1VpbnQzMihieXRlT2Zmc2V0KTtpZihieXRlT2Zmc2V0K2FycmF5VHlwZS5CWVRFU19QRVJfRUxFTUVOVD50aGlzLmJ5dGVMZW5ndGgpdGhyb3cgUmFuZ2VFcnJvcigiQXJyYXkgaW5kZXggb3V0IG9mIHJhbmdlIik7dmFyIHR5cGVBcnJheT1uZXcgYXJyYXlUeXBlKFt2YWx1ZV0pLGJ5dGVBcnJheT1uZXcgVWludDhBcnJheSh0eXBlQXJyYXkuYnVmZmVyKSxieXRlcz1bXSxpLGJ5dGVWaWV3O2ZvcihpPTA7aTxhcnJheVR5cGUuQllURVNfUEVSX0VMRU1FTlQ7aSs9MSlieXRlcy5wdXNoKHIoYnl0ZUFycmF5LGkpKTtpZihCb29sZWFuKGxpdHRsZUVuZGlhbik9PT1Cb29sZWFuKElTX0JJR19FTkRJQU4pKWJ5dGVzLnJldmVyc2UoKTtieXRlVmlldz1uZXcgVWludDhBcnJheSh0aGlzLmJ1ZmZlcixieXRlT2Zmc2V0LGFycmF5VHlwZS5CWVRFU19QRVJfRUxFTUVOVCk7Ynl0ZVZpZXcuc2V0KGJ5dGVzKX19T2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGFWaWV3LnByb3RvdHlwZSwic2V0VWludDgiLHt2YWx1ZTptYWtlU2V0dGVyKFVpbnQ4QXJyYXkpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGFWaWV3LnByb3RvdHlwZSwic2V0SW50OCIse3ZhbHVlOm1ha2VTZXR0ZXIoSW50OEFycmF5KX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShEYXRhVmlldy5wcm90b3R5cGUsInNldFVpbnQxNiIse3ZhbHVlOm1ha2VTZXR0ZXIoVWludDE2QXJyYXkpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGFWaWV3LnByb3RvdHlwZSwic2V0SW50MTYiLHt2YWx1ZTptYWtlU2V0dGVyKEludDE2QXJyYXkpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGFWaWV3LnByb3RvdHlwZSwic2V0VWludDMyIix7dmFsdWU6bWFrZVNldHRlcihVaW50MzJBcnJheSl9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0YVZpZXcucHJvdG90eXBlLCJzZXRJbnQzMiIse3ZhbHVlOm1ha2VTZXR0ZXIoSW50MzJBcnJheSl9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0YVZpZXcucHJvdG90eXBlLCJzZXRGbG9hdDMyIix7dmFsdWU6bWFrZVNldHRlcihGbG9hdDMyQXJyYXkpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGFWaWV3LnByb3RvdHlwZSwic2V0RmxvYXQ2NCIse3ZhbHVlOm1ha2VTZXR0ZXIoRmxvYXQ2NEFycmF5KX0pO2dsb2JhbC5EYXRhVmlldz1nbG9iYWwuRGF0YVZpZXd8fERhdGFWaWV3fSkoKX0pKHRoaXMpOw==&quot;&gt;&lt;/script&gt;
&lt;link href=&quot;data:text/css,%0A%2Econtainer%2Dfluid%2Ecrosstalk%2Dbscols%20%7B%0Amargin%2Dleft%3A%20%2D30px%3B%0Amargin%2Dright%3A%20%2D30px%3B%0Awhite%2Dspace%3A%20normal%3B%0A%7D%0A%0Abody%20%3E%20%2Econtainer%2Dfluid%2Ecrosstalk%2Dbscols%20%7B%0Amargin%2Dleft%3A%20auto%3B%0Amargin%2Dright%3A%20auto%3B%0A%7D%0A%2Ecrosstalk%2Dinput%2Dcheckboxgroup%20%2Ecrosstalk%2Doptions%2Dgroup%20%2Ecrosstalk%2Doptions%2Dcolumn%20%7B%0Adisplay%3A%20inline%2Dblock%3B%0Apadding%2Dright%3A%2012px%3B%0Avertical%2Dalign%3A%20top%3B%0A%7D%0A%40media%20only%20screen%20and%20%28max%2Dwidth%3A480px%29%20%7B%0A%2Ecrosstalk%2Dinput%2Dcheckboxgroup%20%2Ecrosstalk%2Doptions%2Dgroup%20%2Ecrosstalk%2Doptions%2Dcolumn%20%7B%0Adisplay%3A%20block%3B%0Apadding%2Dright%3A%20inherit%3B%0A%7D%0A%7D%0A&quot; rel=&quot;stylesheet&quot; /&gt;
&lt;script src=&quot;data:application/javascript;base64,IWZ1bmN0aW9uIG8odSxhLGwpe2Z1bmN0aW9uIHMobixlKXtpZighYVtuXSl7aWYoIXVbbl0pe3ZhciB0PSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFlJiZ0KXJldHVybiB0KG4sITApO2lmKGYpcmV0dXJuIGYobiwhMCk7dmFyIHI9bmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrbisiJyIpO3Rocm93IHIuY29kZT0iTU9EVUxFX05PVF9GT1VORCIscn12YXIgaT1hW25dPXtleHBvcnRzOnt9fTt1W25dWzBdLmNhbGwoaS5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciB0PXVbbl1bMV1bZV07cmV0dXJuIHModHx8ZSl9LGksaS5leHBvcnRzLG8sdSxhLGwpfXJldHVybiBhW25dLmV4cG9ydHN9Zm9yKHZhciBmPSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGU9MDtlPGwubGVuZ3RoO2UrKylzKGxbZV0pO3JldHVybiBzfSh7MTpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsdCl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLmtleSxyKX19cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdCYmcihlLnByb3RvdHlwZSx0KSxuJiZyKGUsbiksZX19KCk7dmFyIGk9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsZSksdGhpcy5fdHlwZXM9e30sdGhpcy5fc2VxPTB9cmV0dXJuIHIoZSxbe2tleToib24iLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5fdHlwZXNbZV07bnx8KG49dGhpcy5fdHlwZXNbZV09e30pO3ZhciByPSJzdWIiK3RoaXMuX3NlcSsrO3JldHVybiBuW3JdPXQscn19LHtrZXk6Im9mZiIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLl90eXBlc1tlXTtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCl7Zm9yKHZhciByIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShyKSYmbltyXT09PXQpcmV0dXJuIGRlbGV0ZSBuW3JdLHI7cmV0dXJuITF9aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiEoIW58fCFuW3RdKSYmKGRlbGV0ZSBuW3RdLHQpO3Rocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCB0eXBlIGZvciBsaXN0ZW5lciIpfX0se2tleToidHJpZ2dlciIsdmFsdWU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXMuX3R5cGVzW2VdO2Zvcih2YXIgaSBpbiByKXIuaGFzT3duUHJvcGVydHkoaSkmJnJbaV0uY2FsbChuLHQpfX1dKSxlfSgpO24uZGVmYXVsdD1pfSx7fV0sMjpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbi5GaWx0ZXJIYW5kbGU9dm9pZCAwO3ZhciByPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLHQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsci5rZXkscil9fXJldHVybiBmdW5jdGlvbihlLHQsbil7cmV0dXJuIHQmJnIoZS5wcm90b3R5cGUsdCksbiYmcihlLG4pLGV9fSgpLGk9bChlKCIuL2V2ZW50cyIpKSxvPWwoZSgiLi9maWx0ZXJzZXQiKSksdT1sKGUoIi4vZ3JvdXAiKSksYT1mdW5jdGlvbihlKXt7aWYoZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO3ZhciB0PXt9O2lmKG51bGwhPWUpZm9yKHZhciBuIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikmJih0W25dPWVbbl0pO3JldHVybiB0LmRlZmF1bHQ9ZSx0fX0oZSgiLi91dGlsIikpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fXZhciBzPTE7bi5GaWx0ZXJIYW5kbGU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBuKGUsdCl7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsbiksdGhpcy5fZXZlbnRSZWxheT1uZXcgaS5kZWZhdWx0LHRoaXMuX2VtaXR0ZXI9bmV3IGEuU3Vic2NyaXB0aW9uVHJhY2tlcih0aGlzLl9ldmVudFJlbGF5KSx0aGlzLl9ncm91cD1udWxsLHRoaXMuX2ZpbHRlclNldD1udWxsLHRoaXMuX2ZpbHRlclZhcj1udWxsLHRoaXMuX3Zhck9uQ2hhbmdlU3ViPW51bGwsdGhpcy5fZXh0cmFJbmZvPWEuZXh0ZW5kKHtzZW5kZXI6dGhpc30sdCksdGhpcy5faWQ9ImZpbHRlciIrcysrLHRoaXMuc2V0R3JvdXAoZSl9cmV0dXJuIHIobixbe2tleToic2V0R3JvdXAiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj10aGlzO2lmKHRoaXMuX2dyb3VwIT09ZSYmKCh0aGlzLl9ncm91cHx8ZSkmJih0aGlzLl9maWx0ZXJWYXImJih0aGlzLl9maWx0ZXJWYXIub2ZmKCJjaGFuZ2UiLHRoaXMuX3Zhck9uQ2hhbmdlU3ViKSx0aGlzLmNsZWFyKCksdGhpcy5fdmFyT25DaGFuZ2VTdWI9bnVsbCx0aGlzLl9maWx0ZXJWYXI9bnVsbCx0aGlzLl9maWx0ZXJTZXQ9bnVsbCksdGhpcy5fZ3JvdXA9ZSkpKXtlPSgwLHUuZGVmYXVsdCkoZSksdGhpcy5fZmlsdGVyU2V0PSh0PWUudmFyKCJmaWx0ZXJzZXQiKSwobj10LmdldCgpKXx8KG49bmV3IG8uZGVmYXVsdCx0LnNldChuKSksbiksdGhpcy5fZmlsdGVyVmFyPSgwLHUuZGVmYXVsdCkoZSkudmFyKCJmaWx0ZXIiKTt2YXIgaT10aGlzLl9maWx0ZXJWYXIub24oImNoYW5nZSIsZnVuY3Rpb24oZSl7ci5fZXZlbnRSZWxheS50cmlnZ2VyKCJjaGFuZ2UiLGUscil9KTt0aGlzLl92YXJPbkNoYW5nZVN1Yj1pfX19LHtrZXk6Il9tZXJnZUV4dHJhSW5mbyIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIGEuZXh0ZW5kKHt9LHRoaXMuX2V4dHJhSW5mbz90aGlzLl9leHRyYUluZm86bnVsbCxlfHxudWxsKX19LHtrZXk6ImNsb3NlIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX2VtaXR0ZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCksdGhpcy5jbGVhcigpLHRoaXMuc2V0R3JvdXAobnVsbCl9fSx7a2V5OiJjbGVhciIsdmFsdWU6ZnVuY3Rpb24oZSl7dGhpcy5fZmlsdGVyU2V0JiYodGhpcy5fZmlsdGVyU2V0LmNsZWFyKHRoaXMuX2lkKSx0aGlzLl9vbkNoYW5nZShlKSl9fSx7a2V5OiJzZXQiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dGhpcy5fZmlsdGVyU2V0JiYodGhpcy5fZmlsdGVyU2V0LnVwZGF0ZSh0aGlzLl9pZCxlKSx0aGlzLl9vbkNoYW5nZSh0KSl9fSx7a2V5OiJvbiIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fZW1pdHRlci5vbihlLHQpfX0se2tleToib2ZmIix2YWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9lbWl0dGVyLm9mZihlLHQpfX0se2tleToiX29uQ2hhbmdlIix2YWx1ZTpmdW5jdGlvbihlKXt0aGlzLl9maWx0ZXJTZXQmJnRoaXMuX2ZpbHRlclZhci5zZXQodGhpcy5fZmlsdGVyU2V0LnZhbHVlLHRoaXMuX21lcmdlRXh0cmFJbmZvKGUpKX19LHtrZXk6ImZpbHRlcmVkS2V5cyIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ZpbHRlclNldD90aGlzLl9maWx0ZXJTZXQudmFsdWU6bnVsbH19XSksbn0oKX0seyIuL2V2ZW50cyI6MSwiLi9maWx0ZXJzZXQiOjMsIi4vZ3JvdXAiOjQsIi4vdXRpbCI6MTF9XSwzOltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj1mdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIua2V5LHIpfX1yZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0JiZyKGUucHJvdG90eXBlLHQpLG4mJnIoZSxuKSxlfX0oKSxhPWUoIi4vdXRpbCIpO2Z1bmN0aW9uIGwoZSx0KXtyZXR1cm4gZT09PXQ/MDplPHQ/LTE6dDxlPzE6dm9pZCAwfXZhciBpPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpeyFmdW5jdGlvbihlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLGUpLHRoaXMucmVzZXQoKX1yZXR1cm4gcihlLFt7a2V5OiJyZXNldCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLl9oYW5kbGVzPXt9LHRoaXMuX2tleXM9e30sdGhpcy5fdmFsdWU9bnVsbCx0aGlzLl9hY3RpdmVIYW5kbGVzPTB9fSx7a2V5OiJ1cGRhdGUiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7bnVsbCE9PXQmJih0PXQuc2xpY2UoMCkpLnNvcnQobCk7dmFyIG49KDAsYS5kaWZmU29ydGVkTGlzdHMpKHRoaXMuX2hhbmRsZXNbZV0sdCkscj1uLmFkZGVkLGk9bi5yZW1vdmVkO3RoaXMuX2hhbmRsZXNbZV09dDtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKyl0aGlzLl9rZXlzW3Jbb11dPSh0aGlzLl9rZXlzW3Jbb11dfHwwKSsxO2Zvcih2YXIgdT0wO3U8aS5sZW5ndGg7dSsrKXRoaXMuX2tleXNbaVt1XV0tLTt0aGlzLl91cGRhdGVWYWx1ZSh0KX19LHtrZXk6Il91cGRhdGVWYWx1ZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT0wPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06dGhpcy5fYWxsS2V5cyx0PU9iamVjdC5rZXlzKHRoaXMuX2hhbmRsZXMpLmxlbmd0aDtpZigwPT09dCl0aGlzLl92YWx1ZT1udWxsO2Vsc2V7dGhpcy5fdmFsdWU9W107Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3RoaXMuX2tleXNbZVtuXV09PT10JiZ0aGlzLl92YWx1ZS5wdXNoKGVbbl0pfX19fSx7a2V5OiJjbGVhciIsdmFsdWU6ZnVuY3Rpb24oZSl7aWYodm9pZCAwIT09dGhpcy5faGFuZGxlc1tlXSl7dmFyIHQ9dGhpcy5faGFuZGxlc1tlXTt0fHwodD1bXSk7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspdGhpcy5fa2V5c1t0W25dXS0tO2RlbGV0ZSB0aGlzLl9oYW5kbGVzW2VdLHRoaXMuX3VwZGF0ZVZhbHVlKCl9fX0se2tleToidmFsdWUiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl92YWx1ZX19LHtrZXk6Il9hbGxLZXlzIixnZXQ6ZnVuY3Rpb24oKXt2YXIgZT1PYmplY3Qua2V5cyh0aGlzLl9rZXlzKTtyZXR1cm4gZS5zb3J0KGwpLGV9fV0pLGV9KCk7bi5kZWZhdWx0PWl9LHsiLi91dGlsIjoxMX1dLDQ6W2Z1bmN0aW9uKGwsZSxzKXsoZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShzLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1mdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIua2V5LHIpfX1yZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0JiZyKGUucHJvdG90eXBlLHQpLG4mJnIoZSxuKSxlfX0oKSxyPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfTtzLmRlZmF1bHQ9ZnVuY3Rpb24gZSh0KXt7aWYodCYmInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB1Lmhhc093blByb3BlcnR5KHQpfHwodVt0XT1uZXcgYSh0KSksdVt0XTtpZigib2JqZWN0Ij09PSh2b2lkIDA9PT10PyJ1bmRlZmluZWQiOnIodCkpJiZ0Ll92YXJzJiZ0LnZhcilyZXR1cm4gdDtpZihBcnJheS5pc0FycmF5KHQpJiYxPT10Lmxlbmd0aCYmInN0cmluZyI9PXR5cGVvZiB0WzBdKXJldHVybiBlKHRbMF0pO3Rocm93IG5ldyBFcnJvcigiSW52YWxpZCBncm91cE5hbWUgYXJndW1lbnQiKX19O3ZhciB0LGk9bCgiLi92YXIiKSxvPSh0PWkpJiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fTtlLl9fY3Jvc3N0YWxrX2dyb3Vwcz1lLl9fY3Jvc3N0YWxrX2dyb3Vwc3x8e307dmFyIHU9ZS5fX2Nyb3NzdGFsa19ncm91cHM7dmFyIGE9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpeyFmdW5jdGlvbihlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLHQpLHRoaXMubmFtZT1lLHRoaXMuX3ZhcnM9e319cmV0dXJuIG4odCxbe2tleToidmFyIix2YWx1ZTpmdW5jdGlvbihlKXtpZighZXx8InN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB2YXIgbmFtZSIpO3JldHVybiB0aGlzLl92YXJzLmhhc093blByb3BlcnR5KGUpfHwodGhpcy5fdmFyc1tlXT1uZXcgby5kZWZhdWx0KHRoaXMsZSkpLHRoaXMuX3ZhcnNbZV19fSx7a2V5OiJoYXMiLHZhbHVlOmZ1bmN0aW9uKGUpe2lmKCFlfHwic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHZhciBuYW1lIik7cmV0dXJuIHRoaXMuX3ZhcnMuaGFzT3duUHJvcGVydHkoZSl9fV0pLHR9KCl9KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHsiLi92YXIiOjEyfV0sNTpbZnVuY3Rpb24oZixlLGMpeyhmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGMsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB0LG49ZigiLi9ncm91cCIpLHI9KHQ9bikmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9LGk9ZigiLi9zZWxlY3Rpb24iKSxvPWYoIi4vZmlsdGVyIiksdT1mKCIuL2lucHV0Iik7ZigiLi9pbnB1dF9zZWxlY3RpemUiKSxmKCIuL2lucHV0X2NoZWNrYm94Z3JvdXAiKSxmKCIuL2lucHV0X3NsaWRlciIpO3ZhciBhPSgwLHIuZGVmYXVsdCkoImRlZmF1bHQiKTtmdW5jdGlvbiBsKGUpe3JldHVybiBhLnZhcihlKX1lLlNoaW55JiZlLlNoaW55LmFkZEN1c3RvbU1lc3NhZ2VIYW5kbGVyKCJ1cGRhdGUtY2xpZW50LXZhbHVlIixmdW5jdGlvbihlKXsic3RyaW5nIj09dHlwZW9mIGUuZ3JvdXA/KDAsci5kZWZhdWx0KShlLmdyb3VwKS52YXIoZS5uYW1lKS5zZXQoZS52YWx1ZSk6bChlLm5hbWUpLnNldChlLnZhbHVlKX0pO3ZhciBzPXtncm91cDpyLmRlZmF1bHQsdmFyOmwsaGFzOmZ1bmN0aW9uKGUpe3JldHVybiBhLmhhcyhlKX0sU2VsZWN0aW9uSGFuZGxlOmkuU2VsZWN0aW9uSGFuZGxlLEZpbHRlckhhbmRsZTpvLkZpbHRlckhhbmRsZSxiaW5kOnUuYmluZH07Yy5kZWZhdWx0PXMsZS5jcm9zc3RhbGs9c30pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0seyIuL2ZpbHRlciI6MiwiLi9ncm91cCI6NCwiLi9pbnB1dCI6NiwiLi9pbnB1dF9jaGVja2JveGdyb3VwIjo3LCIuL2lucHV0X3NlbGVjdGl6ZSI6OCwiLi9pbnB1dF9zbGlkZXIiOjksIi4vc2VsZWN0aW9uIjoxMH1dLDY6W2Z1bmN0aW9uKGUsdCxhKXsoZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLnJlZ2lzdGVyPWZ1bmN0aW9uKGUpe3JbZS5jbGFzc05hbWVdPWUsdC5kb2N1bWVudCYmImNvbXBsZXRlIiE9PXQuZG9jdW1lbnQucmVhZHlTdGF0ZT9vKGZ1bmN0aW9uKCl7bigpfSk6dC5kb2N1bWVudCYmc2V0VGltZW91dChuLDEwMCl9LGEuYmluZD1uO3ZhciBvPXQualF1ZXJ5LHI9e307ZnVuY3Rpb24gbigpe09iamVjdC5rZXlzKHIpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIG49cltlXTtvKCIuIituLmNsYXNzTmFtZSkubm90KCIuY3Jvc3N0YWxrLWlucHV0LWJvdW5kIikuZWFjaChmdW5jdGlvbihlLHQpe2kobix0KX0pfSl9ZnVuY3Rpb24gaShlLHQpe3ZhciBuPW8odCkuZmluZCgic2NyaXB0W3R5cGU9J2FwcGxpY2F0aW9uL2pzb24nXVtkYXRhLWZvcj0nIit0LmlkLnJlcGxhY2UoLyhbISIjJCUmJygpKissLi86Ozw9Pj9AW1xcXF1eYHt8fX5dKS9nLCJcXCQxIikrIiddIikscj1KU09OLnBhcnNlKG5bMF0uaW5uZXJUZXh0KSxpPWUuZmFjdG9yeSh0LHIpO28odCkuZGF0YSgiY3Jvc3N0YWxrLWluc3RhbmNlIixpKSxvKHQpLmFkZENsYXNzKCJjcm9zc3RhbGstaW5wdXQtYm91bmQiKX1pZih0LlNoaW55KXt2YXIgZT1uZXcgdC5TaGlueS5JbnB1dEJpbmRpbmcsdT10LmpRdWVyeTt1LmV4dGVuZChlLHtmaW5kOmZ1bmN0aW9uKGUpe3JldHVybiB1KGUpLmZpbmQoIi5jcm9zc3RhbGstaW5wdXQiKX0saW5pdGlhbGl6ZTpmdW5jdGlvbihlKXt2YXIgdCxuO3UoZSkuaGFzQ2xhc3MoImNyb3NzdGFsay1pbnB1dC1ib3VuZCIpfHwobj1vKHQ9ZSksT2JqZWN0LmtleXMocikuZm9yRWFjaChmdW5jdGlvbihlKXtuLmhhc0NsYXNzKGUpJiYhbi5oYXNDbGFzcygiY3Jvc3N0YWxrLWlucHV0LWJvdW5kIikmJmkocltlXSx0KX0pKX0sZ2V0SWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuaWR9LGdldFZhbHVlOmZ1bmN0aW9uKGUpe30sc2V0VmFsdWU6ZnVuY3Rpb24oZSx0KXt9LHJlY2VpdmVNZXNzYWdlOmZ1bmN0aW9uKGUsdCl7fSxzdWJzY3JpYmU6ZnVuY3Rpb24oZSx0KXt1KGUpLmRhdGEoImNyb3NzdGFsay1pbnN0YW5jZSIpLnJlc3VtZSgpfSx1bnN1YnNjcmliZTpmdW5jdGlvbihlKXt1KGUpLmRhdGEoImNyb3NzdGFsay1pbnN0YW5jZSIpLnN1c3BlbmQoKX19KSx0LlNoaW55LmlucHV0QmluZGluZ3MucmVnaXN0ZXIoZSwiY3Jvc3N0YWxrLmlucHV0QmluZGluZyIpfX0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0se31dLDc6W2Z1bmN0aW9uKHIsZSx0KXsoZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciB0PWZ1bmN0aW9uKGUpe3tpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7dmFyIHQ9e307aWYobnVsbCE9ZSlmb3IodmFyIG4gaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHQuZGVmYXVsdD1lLHR9fShyKCIuL2lucHV0IikpLG49cigiLi9maWx0ZXIiKTt2YXIgYT1lLmpRdWVyeTt0LnJlZ2lzdGVyKHtjbGFzc05hbWU6ImNyb3NzdGFsay1pbnB1dC1jaGVja2JveGdyb3VwIixmYWN0b3J5OmZ1bmN0aW9uKGUscil7dmFyIGk9bmV3IG4uRmlsdGVySGFuZGxlKHIuZ3JvdXApLG89dm9pZCAwLHU9YShlKTtyZXR1cm4gdS5vbigiY2hhbmdlIiwiaW5wdXRbdHlwZT0nY2hlY2tib3gnXSIsZnVuY3Rpb24oKXt2YXIgZT11LmZpbmQoImlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCIpO2lmKDA9PT1lLmxlbmd0aClvPW51bGwsaS5jbGVhcigpO2Vsc2V7dmFyIHQ9e307ZS5lYWNoKGZ1bmN0aW9uKCl7ci5tYXBbdGhpcy52YWx1ZV0uZm9yRWFjaChmdW5jdGlvbihlKXt0W2VdPSEwfSl9KTt2YXIgbj1PYmplY3Qua2V5cyh0KTtuLnNvcnQoKSxvPW4saS5zZXQobil9fSkse3N1c3BlbmQ6ZnVuY3Rpb24oKXtpLmNsZWFyKCl9LHJlc3VtZTpmdW5jdGlvbigpe28mJmkuc2V0KG8pfX19fSl9KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHsiLi9maWx0ZXIiOjIsIi4vaW5wdXQiOjZ9XSw4OltmdW5jdGlvbihyLGUsdCl7KGZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1uKHIoIi4vaW5wdXQiKSksbD1uKHIoIi4vdXRpbCIpKSxzPXIoIi4vZmlsdGVyIik7ZnVuY3Rpb24gbihlKXtpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7dmFyIHQ9e307aWYobnVsbCE9ZSlmb3IodmFyIG4gaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHQuZGVmYXVsdD1lLHR9dmFyIGY9ZS5qUXVlcnk7dC5yZWdpc3Rlcih7Y2xhc3NOYW1lOiJjcm9zc3RhbGstaW5wdXQtc2VsZWN0IixmYWN0b3J5OmZ1bmN0aW9uKGUsbil7dmFyIHQ9bC5kYXRhZnJhbWVUb0QzKG4uaXRlbXMpLHI9e29wdGlvbnM6W3t2YWx1ZToiIixsYWJlbDoiKEFsbCkifV0uY29uY2F0KHQpLHZhbHVlRmllbGQ6InZhbHVlIixsYWJlbEZpZWxkOiJsYWJlbCIsc2VhcmNoRmllbGQ6ImxhYmVsIn0saT1mKGUpLmZpbmQoInNlbGVjdCIpWzBdLG89ZihpKS5zZWxlY3RpemUocilbMF0uc2VsZWN0aXplLHU9bmV3IHMuRmlsdGVySGFuZGxlKG4uZ3JvdXApLGE9dm9pZCAwO3JldHVybiBvLm9uKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7aWYoMD09PW8uaXRlbXMubGVuZ3RoKWE9bnVsbCx1LmNsZWFyKCk7ZWxzZXt2YXIgdD17fTtvLml0ZW1zLmZvckVhY2goZnVuY3Rpb24oZSl7bi5tYXBbZV0uZm9yRWFjaChmdW5jdGlvbihlKXt0W2VdPSEwfSl9KTt2YXIgZT1PYmplY3Qua2V5cyh0KTtlLnNvcnQoKSxhPWUsdS5zZXQoZSl9fSkse3N1c3BlbmQ6ZnVuY3Rpb24oKXt1LmNsZWFyKCl9LHJlc3VtZTpmdW5jdGlvbigpe2EmJnUuc2V0KGEpfX19fSl9KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHsiLi9maWx0ZXIiOjIsIi4vaW5wdXQiOjYsIi4vdXRpbCI6MTF9XSw5OltmdW5jdGlvbihuLGUsdCl7KGZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgZD1mdW5jdGlvbihlLHQpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGU7aWYoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChlKSlyZXR1cm4gZnVuY3Rpb24oZSx0KXt2YXIgbj1bXSxyPSEwLGk9ITEsbz12b2lkIDA7dHJ5e2Zvcih2YXIgdSxhPWVbU3ltYm9sLml0ZXJhdG9yXSgpOyEocj0odT1hLm5leHQoKSkuZG9uZSkmJihuLnB1c2godS52YWx1ZSksIXR8fG4ubGVuZ3RoIT09dCk7cj0hMCk7fWNhdGNoKGUpe2k9ITAsbz1lfWZpbmFsbHl7dHJ5eyFyJiZhLnJldHVybiYmYS5yZXR1cm4oKX1maW5hbGx5e2lmKGkpdGhyb3cgb319cmV0dXJuIG59KGUsdCk7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZSIpfSx0PWZ1bmN0aW9uKGUpe3tpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7dmFyIHQ9e307aWYobnVsbCE9ZSlmb3IodmFyIG4gaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHQuZGVmYXVsdD1lLHR9fShuKCIuL2lucHV0IikpLGE9bigiLi9maWx0ZXIiKTt2YXIgdj1lLmpRdWVyeSxwPWUuc3RyZnRpbWU7ZnVuY3Rpb24geShlLHQpe2Zvcih2YXIgbj1lLnRvU3RyaW5nKCk7bi5sZW5ndGg8dDspbj0iMCIrbjtyZXR1cm4gbn10LnJlZ2lzdGVyKHtjbGFzc05hbWU6ImNyb3NzdGFsay1pbnB1dC1zbGlkZXIiLGZhY3Rvcnk6ZnVuY3Rpb24oZSxsKXt2YXIgcz1uZXcgYS5GaWx0ZXJIYW5kbGUobC5ncm91cCksdD17fSxmPXYoZSkuZmluZCgiaW5wdXQiKSxuPWYuZGF0YSgiZGF0YS10eXBlIikscj1mLmRhdGEoInRpbWUtZm9ybWF0IiksaT1mLmRhdGEoInJvdW5kIiksbz12b2lkIDA7aWYoImRhdGUiPT09bilvPXAudXRjKCksdC5wcmV0dGlmeT1mdW5jdGlvbihlKXtyZXR1cm4gbyhyLG5ldyBEYXRlKGUpKX07ZWxzZSBpZigiZGF0ZXRpbWUiPT09bil7dmFyIHU9Zi5kYXRhKCJ0aW1lem9uZSIpO289dT9wLnRpbWV6b25lKHUpOnAsdC5wcmV0dGlmeT1mdW5jdGlvbihlKXtyZXR1cm4gbyhyLG5ldyBEYXRlKGUpKX19ZWxzZSJudW1iZXIiPT09biYmdm9pZCAwIT09aSYmKHQucHJldHRpZnk9ZnVuY3Rpb24oZSl7dmFyIHQ9TWF0aC5wb3coMTAsaSk7cmV0dXJuIE1hdGgucm91bmQoZSp0KS90fSk7ZnVuY3Rpb24gYygpe3ZhciBlPWYuZGF0YSgiaW9uUmFuZ2VTbGlkZXIiKS5yZXN1bHQsdD12b2lkIDAsbj1mLmRhdGEoImRhdGEtdHlwZSIpO3JldHVybiB0PSJkYXRlIj09PW4/ZnVuY3Rpb24oZSl7cmV0dXJuKHQ9bmV3IERhdGUoK2UpKWluc3RhbmNlb2YgRGF0ZT90LmdldFVUQ0Z1bGxZZWFyKCkrIi0iK3kodC5nZXRVVENNb250aCgpKzEsMikrIi0iK3kodC5nZXRVVENEYXRlKCksMik6bnVsbDt2YXIgdH06ImRhdGV0aW1lIj09PW4/ZnVuY3Rpb24oZSl7cmV0dXJuK2UvMWUzfTpmdW5jdGlvbihlKXtyZXR1cm4rZX0sImRvdWJsZSI9PT1mLmRhdGEoImlvblJhbmdlU2xpZGVyIikub3B0aW9ucy50eXBlP1t0KGUuZnJvbSksdChlLnRvKV06dChlLmZyb20pfWYuaW9uUmFuZ2VTbGlkZXIodCk7dmFyIGg9bnVsbDtyZXR1cm4gZi5vbigiY2hhbmdlLmNyb3NzdGFsa1NsaWRlcklucHV0IixmdW5jdGlvbihlKXtpZighZi5kYXRhKCJ1cGRhdGluZyIpJiYhZi5kYXRhKCJhbmltYXRpbmciKSl7Zm9yKHZhciB0PWMoKSxuPWQodCwyKSxyPW5bMF0saT1uWzFdLG89W10sdT0wO3U8bC52YWx1ZXMubGVuZ3RoO3UrKyl7dmFyIGE9bC52YWx1ZXNbdV07cjw9YSYmYTw9aSYmby5wdXNoKGwua2V5c1t1XSl9by5zb3J0KCkscy5zZXQobyksaD1vfX0pLHtzdXNwZW5kOmZ1bmN0aW9uKCl7cy5jbGVhcigpfSxyZXN1bWU6ZnVuY3Rpb24oKXtoJiZzLnNldChoKX19fX0pfSkuY2FsbCh0aGlzLCJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30pfSx7Ii4vZmlsdGVyIjoyLCIuL2lucHV0Ijo2fV0sMTA6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4uU2VsZWN0aW9uSGFuZGxlPXZvaWQgMDt2YXIgcj1mdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIua2V5LHIpfX1yZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0JiZyKGUucHJvdG90eXBlLHQpLG4mJnIoZSxuKSxlfX0oKSxpPWEoZSgiLi9ldmVudHMiKSksbz1hKGUoIi4vZ3JvdXAiKSksdT1mdW5jdGlvbihlKXt7aWYoZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO3ZhciB0PXt9O2lmKG51bGwhPWUpZm9yKHZhciBuIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikmJih0W25dPWVbbl0pO3JldHVybiB0LmRlZmF1bHQ9ZSx0fX0oZSgiLi91dGlsIikpO2Z1bmN0aW9uIGEoZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fW4uU2VsZWN0aW9uSGFuZGxlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbigpe3ZhciBlPTA8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTpudWxsLHQ9MTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOm51bGw7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsbiksdGhpcy5fZXZlbnRSZWxheT1uZXcgaS5kZWZhdWx0LHRoaXMuX2VtaXR0ZXI9bmV3IHUuU3Vic2NyaXB0aW9uVHJhY2tlcih0aGlzLl9ldmVudFJlbGF5KSx0aGlzLl9ncm91cD1udWxsLHRoaXMuX3Zhcj1udWxsLHRoaXMuX3Zhck9uQ2hhbmdlU3ViPW51bGwsdGhpcy5fZXh0cmFJbmZvPXUuZXh0ZW5kKHtzZW5kZXI6dGhpc30sdCksdGhpcy5zZXRHcm91cChlKX1yZXR1cm4gcihuLFt7a2V5OiJzZXRHcm91cCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztpZih0aGlzLl9ncm91cCE9PWUmJih0aGlzLl9ncm91cHx8ZSkmJih0aGlzLl92YXImJih0aGlzLl92YXIub2ZmKCJjaGFuZ2UiLHRoaXMuX3Zhck9uQ2hhbmdlU3ViKSx0aGlzLl92YXI9bnVsbCx0aGlzLl92YXJPbkNoYW5nZVN1Yj1udWxsKSx0aGlzLl9ncm91cD1lKSl7dGhpcy5fdmFyPSgwLG8uZGVmYXVsdCkoZSkudmFyKCJzZWxlY3Rpb24iKTt2YXIgbj10aGlzLl92YXIub24oImNoYW5nZSIsZnVuY3Rpb24oZSl7dC5fZXZlbnRSZWxheS50cmlnZ2VyKCJjaGFuZ2UiLGUsdCl9KTt0aGlzLl92YXJPbkNoYW5nZVN1Yj1ufX19LHtrZXk6Il9tZXJnZUV4dHJhSW5mbyIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHUuZXh0ZW5kKHt9LHRoaXMuX2V4dHJhSW5mbz90aGlzLl9leHRyYUluZm86bnVsbCxlfHxudWxsKX19LHtrZXk6InNldCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt0aGlzLl92YXImJnRoaXMuX3Zhci5zZXQoZSx0aGlzLl9tZXJnZUV4dHJhSW5mbyh0KSl9fSx7a2V5OiJjbGVhciIsdmFsdWU6ZnVuY3Rpb24oZSl7dGhpcy5fdmFyJiZ0aGlzLnNldCh2b2lkIDAsdGhpcy5fbWVyZ2VFeHRyYUluZm8oZSkpfX0se2tleToib24iLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX2VtaXR0ZXIub24oZSx0KX19LHtrZXk6Im9mZiIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fZW1pdHRlci5vZmYoZSx0KX19LHtrZXk6ImNsb3NlIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX2VtaXR0ZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCksdGhpcy5zZXRHcm91cChudWxsKX19LHtrZXk6InZhbHVlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdmFyP3RoaXMuX3Zhci5nZXQoKTpudWxsfX1dKSxufSgpfSx7Ii4vZXZlbnRzIjoxLCIuL2dyb3VwIjo0LCIuL3V0aWwiOjExfV0sMTE6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLHQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsci5rZXkscil9fXJldHVybiBmdW5jdGlvbihlLHQsbil7cmV0dXJuIHQmJnIoZS5wcm90b3R5cGUsdCksbiYmcihlLG4pLGV9fSgpLGw9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIGV9O2Z1bmN0aW9uIHUoZSl7Zm9yKHZhciB0PTE7dDxlLmxlbmd0aDt0KyspaWYoZVt0XTw9ZVt0LTFdKXRocm93IG5ldyBFcnJvcigiTGlzdCBpcyBub3Qgc29ydGVkIG9yIGNvbnRhaW5zIGR1cGxpY2F0ZSIpfW4uZXh0ZW5kPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLG49QXJyYXkoMTx0P3QtMTowKSxyPTE7cjx0O3IrKyluW3ItMV09YXJndW1lbnRzW3JdO2Zvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKXt2YXIgbz1uW2ldO2lmKG51bGwhPW8pZm9yKHZhciB1IGluIG8pby5oYXNPd25Qcm9wZXJ0eSh1KSYmKGVbdV09b1t1XSl9cmV0dXJuIGV9LG4uY2hlY2tTb3J0ZWQ9dSxuLmRpZmZTb3J0ZWRMaXN0cz1mdW5jdGlvbihlLHQpe3ZhciBuPTAscj0wO2V8fChlPVtdKTt0fHwodD1bXSk7dmFyIGk9W10sbz1bXTt1KGUpLHUodCk7Zm9yKDtuPGUubGVuZ3RoJiZyPHQubGVuZ3RoOyllW25dPT09dFtyXT8obisrLHIrKyk6ZVtuXTx0W3JdP2kucHVzaChlW24rK10pOm8ucHVzaCh0W3IrK10pO248ZS5sZW5ndGgmJihpPWkuY29uY2F0KGUuc2xpY2UobikpKTtyPHQubGVuZ3RoJiYobz1vLmNvbmNhdCh0LnNsaWNlKHIpKSk7cmV0dXJue3JlbW92ZWQ6aSxhZGRlZDpvfX0sbi5kYXRhZnJhbWVUb0QzPWZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49dm9pZCAwO2Zvcih2YXIgciBpbiBlKXtpZihlLmhhc093blByb3BlcnR5KHIpJiZ0LnB1c2gociksIm9iamVjdCIhPT1sKGVbcl0pfHx2b2lkIDA9PT1lW3JdLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkFsbCBmaWVsZHMgbXVzdCBiZSBhcnJheXMiKTtpZih2b2lkIDAhPT1uJiZuIT09ZVtyXS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJBbGwgZmllbGRzIG11c3QgYmUgYXJyYXlzIG9mIHRoZSBzYW1lIGxlbmd0aCIpO249ZVtyXS5sZW5ndGh9Zm9yKHZhciBpPVtdLG89dm9pZCAwLHU9MDt1PG47dSsrKXtvPXt9O2Zvcih2YXIgYT0wO2E8dC5sZW5ndGg7YSsrKW9bdFthXV09ZVt0W2FdXVt1XTtpLnB1c2gobyl9cmV0dXJuIGl9O24uU3Vic2NyaXB0aW9uVHJhY2tlcj1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsdCksdGhpcy5fZW1pdHRlcj1lLHRoaXMuX3N1YnM9e319cmV0dXJuIHIodCxbe2tleToib24iLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5fZW1pdHRlci5vbihlLHQpO3JldHVybiB0aGlzLl9zdWJzW25dPWUsbn19LHtrZXk6Im9mZiIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLl9lbWl0dGVyLm9mZihlLHQpO3JldHVybiBuJiZkZWxldGUgdGhpcy5fc3Vic1tuXSxufX0se2tleToicmVtb3ZlQWxsTGlzdGVuZXJzIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMsbj10aGlzLl9zdWJzO3RoaXMuX3N1YnM9e30sT2JqZWN0LmtleXMobikuZm9yRWFjaChmdW5jdGlvbihlKXt0Ll9lbWl0dGVyLm9mZihuW2VdLGUpfSl9fV0pLHR9KCl9LHt9XSwxMjpbZnVuY3Rpb24oYSxlLGwpeyhmdW5jdGlvbihvKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGwsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlLHU9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIGV9LHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsdCl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLmtleSxyKX19cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdCYmcihlLnByb3RvdHlwZSx0KSxuJiZyKGUsbiksZX19KCksbj1hKCIuL2V2ZW50cyIpLGk9KGU9bikmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9O3ZhciByPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLHQsbil7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsciksdGhpcy5fZ3JvdXA9ZSx0aGlzLl9uYW1lPXQsdGhpcy5fdmFsdWU9bix0aGlzLl9ldmVudHM9bmV3IGkuZGVmYXVsdH1yZXR1cm4gdChyLFt7a2V5OiJnZXQiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3ZhbHVlfX0se2tleToic2V0Iix2YWx1ZTpmdW5jdGlvbihlLHQpe2lmKHRoaXMuX3ZhbHVlIT09ZSl7dmFyIG49dGhpcy5fdmFsdWU7dGhpcy5fdmFsdWU9ZTt2YXIgcj17fTtpZih0JiYib2JqZWN0Ij09PSh2b2lkIDA9PT10PyJ1bmRlZmluZWQiOnUodCkpKWZvcih2YXIgaSBpbiB0KXQuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPXRbaV0pO3Iub2xkVmFsdWU9bixyLnZhbHVlPWUsdGhpcy5fZXZlbnRzLnRyaWdnZXIoImNoYW5nZSIscix0aGlzKSxvLlNoaW55JiZvLlNoaW55Lm9uSW5wdXRDaGFuZ2UmJm8uU2hpbnkub25JbnB1dENoYW5nZSgiLmNsaWVudFZhbHVlLSIrKG51bGwhPT10aGlzLl9ncm91cC5uYW1lP3RoaXMuX2dyb3VwLm5hbWUrIi0iOiIiKSt0aGlzLl9uYW1lLHZvaWQgMD09PWU/bnVsbDplKX19fSx7a2V5OiJvbiIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fZXZlbnRzLm9uKGUsdCl9fSx7a2V5OiJvZmYiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX2V2ZW50cy5vZmYoZSx0KX19XSkscn0oKTtsLmRlZmF1bHQ9cn0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0seyIuL2V2ZW50cyI6MX1dfSx7fSxbNV0pOwovLyMgc291cmNlTWFwcGluZ1VSTD1jcm9zc3RhbGsubWluLmpzLm1hcA==&quot;&gt;&lt;/script&gt;
&lt;link href=&quot;data:text/css,%0Aslide%3Anot%28%2Ecurrent%29%20%2Eplotly%2Ehtml%2Dwidget%7B%0Adisplay%3A%20none%3B%0A%7D%0A&quot; rel=&quot;stylesheet&quot; /&gt;
&lt;script src=&quot;data:application/javascript;base64,LyoqCiogcGxvdGx5LmpzIHYxLjUyLjIKKiBDb3B5cmlnaHQgMjAxMi0yMDIwLCBQbG90bHksIEluYy4KKiBBbGwgcmlnaHRzIHJlc2VydmVkLgoqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZQoqLwohZnVuY3Rpb24odCl7aWYoIm9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSltb2R1bGUuZXhwb3J0cz10KCk7ZWxzZSBpZigiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kKWRlZmluZShbXSx0KTtlbHNleygidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnRoaXMpLlBsb3RseT10KCl9fShmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiB0KGUscixuKXtmdW5jdGlvbiBhKG8scyl7aWYoIXJbb10pe2lmKCFlW29dKXt2YXIgbD0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighcyYmbClyZXR1cm4gbChvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBjPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK28rIiciKTt0aHJvdyBjLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGN9dmFyIHU9cltvXT17ZXhwb3J0czp7fX07ZVtvXVswXS5jYWxsKHUuZXhwb3J0cyxmdW5jdGlvbih0KXtyZXR1cm4gYShlW29dWzFdW3RdfHx0KX0sdSx1LmV4cG9ydHMsdCxlLHIsbil9cmV0dXJuIHJbb10uZXhwb3J0c31mb3IodmFyIGk9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUsbz0wO288bi5sZW5ndGg7bysrKWEobltvXSk7cmV0dXJuIGF9fSgpKHsxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL3NyYy9saWIiKSxhPXsiWCxYIGRpdiI6ImRpcmVjdGlvbjpsdHI7Zm9udC1mYW1pbHk6J09wZW4gU2FucycsIHZlcmRhbmEsIGFyaWFsLCBzYW5zLXNlcmlmO21hcmdpbjowO3BhZGRpbmc6MDsiLCJYIGlucHV0LFggYnV0dG9uIjoiZm9udC1mYW1pbHk6J09wZW4gU2FucycsIHZlcmRhbmEsIGFyaWFsLCBzYW5zLXNlcmlmOyIsIlggaW5wdXQ6Zm9jdXMsWCBidXR0b246Zm9jdXMiOiJvdXRsaW5lOm5vbmU7IiwiWCBhIjoidGV4dC1kZWNvcmF0aW9uOm5vbmU7IiwiWCBhOmhvdmVyIjoidGV4dC1kZWNvcmF0aW9uOm5vbmU7IiwiWCAuY3Jpc3AiOiJzaGFwZS1yZW5kZXJpbmc6Y3Jpc3BFZGdlczsiLCJYIC51c2VyLXNlbGVjdC1ub25lIjoiLXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTstby11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7IiwiWCBzdmciOiJvdmVyZmxvdzpoaWRkZW47IiwiWCBzdmcgYSI6ImZpbGw6IzQ0N2FkYjsiLCJYIHN2ZyBhOmhvdmVyIjoiZmlsbDojM2M2ZGM1OyIsIlggLm1haW4tc3ZnIjoicG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmU7IiwiWCAubWFpbi1zdmcgLmRyYWdsYXllciI6InBvaW50ZXItZXZlbnRzOmFsbDsiLCJYIC5jdXJzb3ItZGVmYXVsdCI6ImN1cnNvcjpkZWZhdWx0OyIsIlggLmN1cnNvci1wb2ludGVyIjoiY3Vyc29yOnBvaW50ZXI7IiwiWCAuY3Vyc29yLWNyb3NzaGFpciI6ImN1cnNvcjpjcm9zc2hhaXI7IiwiWCAuY3Vyc29yLW1vdmUiOiJjdXJzb3I6bW92ZTsiLCJYIC5jdXJzb3ItY29sLXJlc2l6ZSI6ImN1cnNvcjpjb2wtcmVzaXplOyIsIlggLmN1cnNvci1yb3ctcmVzaXplIjoiY3Vyc29yOnJvdy1yZXNpemU7IiwiWCAuY3Vyc29yLW5zLXJlc2l6ZSI6ImN1cnNvcjpucy1yZXNpemU7IiwiWCAuY3Vyc29yLWV3LXJlc2l6ZSI6ImN1cnNvcjpldy1yZXNpemU7IiwiWCAuY3Vyc29yLXN3LXJlc2l6ZSI6ImN1cnNvcjpzdy1yZXNpemU7IiwiWCAuY3Vyc29yLXMtcmVzaXplIjoiY3Vyc29yOnMtcmVzaXplOyIsIlggLmN1cnNvci1zZS1yZXNpemUiOiJjdXJzb3I6c2UtcmVzaXplOyIsIlggLmN1cnNvci13LXJlc2l6ZSI6ImN1cnNvcjp3LXJlc2l6ZTsiLCJYIC5jdXJzb3ItZS1yZXNpemUiOiJjdXJzb3I6ZS1yZXNpemU7IiwiWCAuY3Vyc29yLW53LXJlc2l6ZSI6ImN1cnNvcjpudy1yZXNpemU7IiwiWCAuY3Vyc29yLW4tcmVzaXplIjoiY3Vyc29yOm4tcmVzaXplOyIsIlggLmN1cnNvci1uZS1yZXNpemUiOiJjdXJzb3I6bmUtcmVzaXplOyIsIlggLmN1cnNvci1ncmFiIjoiY3Vyc29yOi13ZWJraXQtZ3JhYjtjdXJzb3I6Z3JhYjsiLCJYIC5tb2RlYmFyIjoicG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDtyaWdodDoycHg7IiwiWCAuZWFzZS1iZyI6Ii13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSAwczstbW96LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UgMHM7LW1zLXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UgMHM7LW8tdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSAwczt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlIDBzOyIsIlggLm1vZGViYXItLWhvdmVyPjpub3QoLndhdGVybWFyaykiOiJvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgMC4zcyBlYXNlIDBzOy1tb3otdHJhbnNpdGlvbjpvcGFjaXR5IDAuM3MgZWFzZSAwczstbXMtdHJhbnNpdGlvbjpvcGFjaXR5IDAuM3MgZWFzZSAwczstby10cmFuc2l0aW9uOm9wYWNpdHkgMC4zcyBlYXNlIDBzO3RyYW5zaXRpb246b3BhY2l0eSAwLjNzIGVhc2UgMHM7IiwiWDpob3ZlciAubW9kZWJhci0taG92ZXIgLm1vZGViYXItZ3JvdXAiOiJvcGFjaXR5OjE7IiwiWCAubW9kZWJhci1ncm91cCI6ImZsb2F0OmxlZnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmctbGVmdDo4cHg7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDsiLCJYIC5tb2RlYmFyLWJ0biI6InBvc2l0aW9uOnJlbGF0aXZlO2ZvbnQtc2l6ZToxNnB4O3BhZGRpbmc6M3B4IDRweDtoZWlnaHQ6MjJweDtjdXJzb3I6cG9pbnRlcjtsaW5lLWhlaWdodDpub3JtYWw7Ym94LXNpemluZzpib3JkZXItYm94OyIsIlggLm1vZGViYXItYnRuIHN2ZyI6InBvc2l0aW9uOnJlbGF0aXZlO3RvcDoycHg7IiwiWCAubW9kZWJhci52ZXJ0aWNhbCI6ImRpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC13cmFwOndyYXA7YWxpZ24tY29udGVudDpmbGV4LWVuZDttYXgtaGVpZ2h0OjEwMCU7IiwiWCAubW9kZWJhci52ZXJ0aWNhbCBzdmciOiJ0b3A6LTFweDsiLCJYIC5tb2RlYmFyLnZlcnRpY2FsIC5tb2RlYmFyLWdyb3VwIjoiZGlzcGxheTpibG9jaztmbG9hdDpub25lO3BhZGRpbmctbGVmdDowcHg7cGFkZGluZy1ib3R0b206OHB4OyIsIlggLm1vZGViYXIudmVydGljYWwgLm1vZGViYXItZ3JvdXAgLm1vZGViYXItYnRuIjoiZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjsiLCJYIFtkYXRhLXRpdGxlXTpiZWZvcmUsWCBbZGF0YS10aXRsZV06YWZ0ZXIiOiJwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLCAwLCAwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLCAwLCAwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIDAsIDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLCAwLCAwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwgMCwgMCk7ZGlzcGxheTpub25lO29wYWNpdHk6MDt6LWluZGV4OjEwMDE7cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MTEwJTtyaWdodDo1MCU7IiwiWCBbZGF0YS10aXRsZV06aG92ZXI6YmVmb3JlLFggW2RhdGEtdGl0bGVdOmhvdmVyOmFmdGVyIjoiZGlzcGxheTpibG9jaztvcGFjaXR5OjE7IiwiWCBbZGF0YS10aXRsZV06YmVmb3JlIjoiY29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjo2cHggc29saWQgdHJhbnNwYXJlbnQ7ei1pbmRleDoxMDAyO21hcmdpbi10b3A6LTEycHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjojNjk3MzhhO21hcmdpbi1yaWdodDotNnB4OyIsIlggW2RhdGEtdGl0bGVdOmFmdGVyIjoiY29udGVudDphdHRyKGRhdGEtdGl0bGUpO2JhY2tncm91bmQ6IzY5NzM4YTtjb2xvcjp3aGl0ZTtwYWRkaW5nOjhweCAxMHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEycHg7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1yaWdodDotMThweDtib3JkZXItcmFkaXVzOjJweDsiLCJYIC52ZXJ0aWNhbCBbZGF0YS10aXRsZV06YmVmb3JlLFggLnZlcnRpY2FsIFtkYXRhLXRpdGxlXTphZnRlciI6InRvcDowJTtyaWdodDoyMDAlOyIsIlggLnZlcnRpY2FsIFtkYXRhLXRpdGxlXTpiZWZvcmUiOiJib3JkZXI6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0LWNvbG9yOiM2OTczOGE7bWFyZ2luLXRvcDo4cHg7bWFyZ2luLXJpZ2h0Oi0zMHB4OyIsIlggLnNlbGVjdC1vdXRsaW5lIjoiZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3NoYXBlLXJlbmRlcmluZzpjcmlzcEVkZ2VzOyIsIlggLnNlbGVjdC1vdXRsaW5lLTEiOiJzdHJva2U6d2hpdGU7IiwiWCAuc2VsZWN0LW91dGxpbmUtMiI6InN0cm9rZTpibGFjaztzdHJva2UtZGFzaGFycmF5OjJweCAycHg7IixZOiJmb250LWZhbWlseTonT3BlbiBTYW5zJztwb3NpdGlvbjpmaXhlZDt0b3A6NTBweDtyaWdodDoyMHB4O3otaW5kZXg6MTAwMDA7Zm9udC1zaXplOjEwcHQ7bWF4LXdpZHRoOjE4MHB4OyIsIlkgcCI6Im1hcmdpbjowOyIsIlkgLm5vdGlmaWVyLW5vdGUiOiJtaW4td2lkdGg6MTgwcHg7bWF4LXdpZHRoOjI1MHB4O2JvcmRlcjoxcHggc29saWQgI2ZmZjt6LWluZGV4OjMwMDA7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojOGM5N2FmO2JhY2tncm91bmQtY29sb3I6cmdiYSgxNDAsMTUxLDE3NSwwLjkpO2NvbG9yOiNmZmY7cGFkZGluZzoxMHB4O292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt3b3JkLXdyYXA6YnJlYWstd29yZDstbXMtaHlwaGVuczphdXRvOy13ZWJraXQtaHlwaGVuczphdXRvO2h5cGhlbnM6YXV0bzsiLCJZIC5ub3RpZmllci1jbG9zZSI6ImNvbG9yOiNmZmY7b3BhY2l0eTowLjg7ZmxvYXQ6cmlnaHQ7cGFkZGluZzowIDVweDtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6Ym9sZDtsaW5lLWhlaWdodDoyMHB4OyIsIlkgLm5vdGlmaWVyLWNsb3NlOmhvdmVyIjoiY29sb3I6IzQ0NDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcjsifTtmb3IodmFyIGkgaW4gYSl7dmFyIG89aS5yZXBsYWNlKC9eLC8sIiAsIikucmVwbGFjZSgvWC9nLCIuanMtcGxvdGx5LXBsb3QgLnBsb3RseSIpLnJlcGxhY2UoL1kvZywiLnBsb3RseS1ub3RpZmllciIpO24uYWRkU3R5bGVSdWxlKG8sYVtpXSl9fSx7Ii4uL3NyYy9saWIiOjcxN31dLDI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFuc2Zvcm1zL2FnZ3JlZ2F0ZSIpfSx7Ii4uL3NyYy90cmFuc2Zvcm1zL2FnZ3JlZ2F0ZSI6MTI5N31dLDM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvYmFyIil9LHsiLi4vc3JjL3RyYWNlcy9iYXIiOjg2NH1dLDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvYmFycG9sYXIiKX0seyIuLi9zcmMvdHJhY2VzL2JhcnBvbGFyIjo4Nzd9XSw1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2JveCIpfSx7Ii4uL3NyYy90cmFjZXMvYm94Ijo4ODd9XSw2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvY29tcG9uZW50cy9jYWxlbmRhcnMiKX0seyIuLi9zcmMvY29tcG9uZW50cy9jYWxlbmRhcnMiOjU5MH1dLDc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvY2FuZGxlc3RpY2siKX0seyIuLi9zcmMvdHJhY2VzL2NhbmRsZXN0aWNrIjo4OTZ9XSw4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2NhcnBldCIpfSx7Ii4uL3NyYy90cmFjZXMvY2FycGV0Ijo5MTV9XSw5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2Nob3JvcGxldGgiKX0seyIuLi9zcmMvdHJhY2VzL2Nob3JvcGxldGgiOjkyOX1dLDEwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2Nob3JvcGxldGhtYXBib3giKX0seyIuLi9zcmMvdHJhY2VzL2Nob3JvcGxldGhtYXBib3giOjkzNn1dLDExOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2NvbmUiKX0seyIuLi9zcmMvdHJhY2VzL2NvbmUiOjk0Mn1dLDEyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2NvbnRvdXIiKX0seyIuLi9zcmMvdHJhY2VzL2NvbnRvdXIiOjk1N31dLDEzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2NvbnRvdXJjYXJwZXQiKX0seyIuLi9zcmMvdHJhY2VzL2NvbnRvdXJjYXJwZXQiOjk2OH1dLDE0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvY29yZSIpfSx7Ii4uL3NyYy9jb3JlIjo2OTV9XSwxNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYWNlcy9kZW5zaXR5bWFwYm94Iil9LHsiLi4vc3JjL3RyYWNlcy9kZW5zaXR5bWFwYm94Ijo5NzZ9XSwxNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYW5zZm9ybXMvZmlsdGVyIil9LHsiLi4vc3JjL3RyYW5zZm9ybXMvZmlsdGVyIjoxMjk4fV0sMTc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvZnVubmVsIil9LHsiLi4vc3JjL3RyYWNlcy9mdW5uZWwiOjk4Nn1dLDE4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2Z1bm5lbGFyZWEiKX0seyIuLi9zcmMvdHJhY2VzL2Z1bm5lbGFyZWEiOjk5NX1dLDE5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhbnNmb3Jtcy9ncm91cGJ5Iil9LHsiLi4vc3JjL3RyYW5zZm9ybXMvZ3JvdXBieSI6MTI5OX1dLDIwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2hlYXRtYXAiKX0seyIuLi9zcmMvdHJhY2VzL2hlYXRtYXAiOjEwMDh9XSwyMTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYWNlcy9oZWF0bWFwZ2wiKX0seyIuLi9zcmMvdHJhY2VzL2hlYXRtYXBnbCI6MTAxN31dLDIyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2hpc3RvZ3JhbSIpfSx7Ii4uL3NyYy90cmFjZXMvaGlzdG9ncmFtIjoxMDI5fV0sMjM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvaGlzdG9ncmFtMmQiKX0seyIuLi9zcmMvdHJhY2VzL2hpc3RvZ3JhbTJkIjoxMDM1fV0sMjQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvaGlzdG9ncmFtMmRjb250b3VyIil9LHsiLi4vc3JjL3RyYWNlcy9oaXN0b2dyYW0yZGNvbnRvdXIiOjEwMzl9XSwyNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYWNlcy9pbWFnZSIpfSx7Ii4uL3NyYy90cmFjZXMvaW1hZ2UiOjEwNDZ9XSwyNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2NvcmUiKTtuLnJlZ2lzdGVyKFt0KCIuL2JhciIpLHQoIi4vYm94IiksdCgiLi9oZWF0bWFwIiksdCgiLi9oaXN0b2dyYW0iKSx0KCIuL2hpc3RvZ3JhbTJkIiksdCgiLi9oaXN0b2dyYW0yZGNvbnRvdXIiKSx0KCIuL2NvbnRvdXIiKSx0KCIuL3NjYXR0ZXJ0ZXJuYXJ5IiksdCgiLi92aW9saW4iKSx0KCIuL2Z1bm5lbCIpLHQoIi4vd2F0ZXJmYWxsIiksdCgiLi9pbWFnZSIpLHQoIi4vcGllIiksdCgiLi9zdW5idXJzdCIpLHQoIi4vdHJlZW1hcCIpLHQoIi4vZnVubmVsYXJlYSIpLHQoIi4vc2NhdHRlcjNkIiksdCgiLi9zdXJmYWNlIiksdCgiLi9pc29zdXJmYWNlIiksdCgiLi92b2x1bWUiKSx0KCIuL21lc2gzZCIpLHQoIi4vY29uZSIpLHQoIi4vc3RyZWFtdHViZSIpLHQoIi4vc2NhdHRlcmdlbyIpLHQoIi4vY2hvcm9wbGV0aCIpLHQoIi4vc2NhdHRlcmdsIiksdCgiLi9zcGxvbSIpLHQoIi4vcG9pbnRjbG91ZCIpLHQoIi4vaGVhdG1hcGdsIiksdCgiLi9wYXJjb29yZHMiKSx0KCIuL3BhcmNhdHMiKSx0KCIuL3NjYXR0ZXJtYXBib3giKSx0KCIuL2Nob3JvcGxldGhtYXBib3giKSx0KCIuL2RlbnNpdHltYXBib3giKSx0KCIuL3NhbmtleSIpLHQoIi4vaW5kaWNhdG9yIiksdCgiLi90YWJsZSIpLHQoIi4vY2FycGV0IiksdCgiLi9zY2F0dGVyY2FycGV0IiksdCgiLi9jb250b3VyY2FycGV0IiksdCgiLi9vaGxjIiksdCgiLi9jYW5kbGVzdGljayIpLHQoIi4vc2NhdHRlcnBvbGFyIiksdCgiLi9zY2F0dGVycG9sYXJnbCIpLHQoIi4vYmFycG9sYXIiKV0pLG4ucmVnaXN0ZXIoW3QoIi4vYWdncmVnYXRlIiksdCgiLi9maWx0ZXIiKSx0KCIuL2dyb3VwYnkiKSx0KCIuL3NvcnQiKV0pLG4ucmVnaXN0ZXIoW3QoIi4vY2FsZW5kYXJzIildKSxlLmV4cG9ydHM9bn0seyIuL2FnZ3JlZ2F0ZSI6MiwiLi9iYXIiOjMsIi4vYmFycG9sYXIiOjQsIi4vYm94Ijo1LCIuL2NhbGVuZGFycyI6NiwiLi9jYW5kbGVzdGljayI6NywiLi9jYXJwZXQiOjgsIi4vY2hvcm9wbGV0aCI6OSwiLi9jaG9yb3BsZXRobWFwYm94IjoxMCwiLi9jb25lIjoxMSwiLi9jb250b3VyIjoxMiwiLi9jb250b3VyY2FycGV0IjoxMywiLi9jb3JlIjoxNCwiLi9kZW5zaXR5bWFwYm94IjoxNSwiLi9maWx0ZXIiOjE2LCIuL2Z1bm5lbCI6MTcsIi4vZnVubmVsYXJlYSI6MTgsIi4vZ3JvdXBieSI6MTksIi4vaGVhdG1hcCI6MjAsIi4vaGVhdG1hcGdsIjoyMSwiLi9oaXN0b2dyYW0iOjIyLCIuL2hpc3RvZ3JhbTJkIjoyMywiLi9oaXN0b2dyYW0yZGNvbnRvdXIiOjI0LCIuL2ltYWdlIjoyNSwiLi9pbmRpY2F0b3IiOjI3LCIuL2lzb3N1cmZhY2UiOjI4LCIuL21lc2gzZCI6MjksIi4vb2hsYyI6MzAsIi4vcGFyY2F0cyI6MzEsIi4vcGFyY29vcmRzIjozMiwiLi9waWUiOjMzLCIuL3BvaW50Y2xvdWQiOjM0LCIuL3NhbmtleSI6MzUsIi4vc2NhdHRlcjNkIjozNiwiLi9zY2F0dGVyY2FycGV0IjozNywiLi9zY2F0dGVyZ2VvIjozOCwiLi9zY2F0dGVyZ2wiOjM5LCIuL3NjYXR0ZXJtYXBib3giOjQwLCIuL3NjYXR0ZXJwb2xhciI6NDEsIi4vc2NhdHRlcnBvbGFyZ2wiOjQyLCIuL3NjYXR0ZXJ0ZXJuYXJ5Ijo0MywiLi9zb3J0Ijo0NCwiLi9zcGxvbSI6NDUsIi4vc3RyZWFtdHViZSI6NDYsIi4vc3VuYnVyc3QiOjQ3LCIuL3N1cmZhY2UiOjQ4LCIuL3RhYmxlIjo0OSwiLi90cmVlbWFwIjo1MCwiLi92aW9saW4iOjUxLCIuL3ZvbHVtZSI6NTIsIi4vd2F0ZXJmYWxsIjo1M31dLDI3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL2luZGljYXRvciIpfSx7Ii4uL3NyYy90cmFjZXMvaW5kaWNhdG9yIjoxMDU0fV0sMjg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvaXNvc3VyZmFjZSIpfSx7Ii4uL3NyYy90cmFjZXMvaXNvc3VyZmFjZSI6MTA2MH1dLDI5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL21lc2gzZCIpfSx7Ii4uL3NyYy90cmFjZXMvbWVzaDNkIjoxMDY1fV0sMzA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvb2hsYyIpfSx7Ii4uL3NyYy90cmFjZXMvb2hsYyI6MTA3MH1dLDMxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL3BhcmNhdHMiKX0seyIuLi9zcmMvdHJhY2VzL3BhcmNhdHMiOjEwNzl9XSwzMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYWNlcy9wYXJjb29yZHMiKX0seyIuLi9zcmMvdHJhY2VzL3BhcmNvb3JkcyI6MTA4OX1dLDMzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL3BpZSIpfSx7Ii4uL3NyYy90cmFjZXMvcGllIjoxMTAwfV0sMzQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvcG9pbnRjbG91ZCIpfSx7Ii4uL3NyYy90cmFjZXMvcG9pbnRjbG91ZCI6MTEwOX1dLDM1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL3NhbmtleSIpfSx7Ii4uL3NyYy90cmFjZXMvc2Fua2V5IjoxMTE1fV0sMzY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvc2NhdHRlcjNkIil9LHsiLi4vc3JjL3RyYWNlcy9zY2F0dGVyM2QiOjExNTJ9XSwzNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYWNlcy9zY2F0dGVyY2FycGV0Iil9LHsiLi4vc3JjL3RyYWNlcy9zY2F0dGVyY2FycGV0IjoxMTU5fV0sMzg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvc2NhdHRlcmdlbyIpfSx7Ii4uL3NyYy90cmFjZXMvc2NhdHRlcmdlbyI6MTE2N31dLDM5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL3NjYXR0ZXJnbCIpfSx7Ii4uL3NyYy90cmFjZXMvc2NhdHRlcmdsIjoxMTgwfV0sNDA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvc2NhdHRlcm1hcGJveCIpfSx7Ii4uL3NyYy90cmFjZXMvc2NhdHRlcm1hcGJveCI6MTE5MH1dLDQxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL3NjYXR0ZXJwb2xhciIpfSx7Ii4uL3NyYy90cmFjZXMvc2NhdHRlcnBvbGFyIjoxMTk4fV0sNDI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvc2NhdHRlcnBvbGFyZ2wiKX0seyIuLi9zcmMvdHJhY2VzL3NjYXR0ZXJwb2xhcmdsIjoxMjA1fV0sNDM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvc2NhdHRlcnRlcm5hcnkiKX0seyIuLi9zcmMvdHJhY2VzL3NjYXR0ZXJ0ZXJuYXJ5IjoxMjEzfV0sNDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFuc2Zvcm1zL3NvcnQiKX0seyIuLi9zcmMvdHJhbnNmb3Jtcy9zb3J0IjoxMzAxfV0sNDU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvc3Bsb20iKX0seyIuLi9zcmMvdHJhY2VzL3NwbG9tIjoxMjIyfV0sNDY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvc3RyZWFtdHViZSIpfSx7Ii4uL3NyYy90cmFjZXMvc3RyZWFtdHViZSI6MTIzMH1dLDQ3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL3N1bmJ1cnN0Iil9LHsiLi4vc3JjL3RyYWNlcy9zdW5idXJzdCI6MTIzOH1dLDQ4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL3N1cmZhY2UiKX0seyIuLi9zcmMvdHJhY2VzL3N1cmZhY2UiOjEyNDd9XSw0OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYWNlcy90YWJsZSIpfSx7Ii4uL3NyYy90cmFjZXMvdGFibGUiOjEyNTV9XSw1MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYWNlcy90cmVlbWFwIil9LHsiLi4vc3JjL3RyYWNlcy90cmVlbWFwIjoxMjY0fV0sNTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4uL3NyYy90cmFjZXMvdmlvbGluIil9LHsiLi4vc3JjL3RyYWNlcy92aW9saW4iOjEyNzZ9XSw1MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi4vc3JjL3RyYWNlcy92b2x1bWUiKX0seyIuLi9zcmMvdHJhY2VzL3ZvbHVtZSI6MTI4NH1dLDUzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuLi9zcmMvdHJhY2VzL3dhdGVyZmFsbCIpfSx7Ii4uL3NyYy90cmFjZXMvd2F0ZXJmYWxsIjoxMjkyfV0sNTQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPSh0PXR8fHt9KS5leWV8fFswLDAsMV0scj10LmNlbnRlcnx8WzAsMCwwXSxzPXQudXB8fFswLDEsMF0sbD10LmRpc3RhbmNlTGltaXRzfHxbMCwxLzBdLGM9dC5tb2RlfHwidHVybnRhYmxlIix1PW4oKSxoPWEoKSxmPWkoKTtyZXR1cm4gdS5zZXREaXN0YW5jZUxpbWl0cyhsWzBdLGxbMV0pLHUubG9va0F0KDAsZSxyLHMpLGguc2V0RGlzdGFuY2VMaW1pdHMobFswXSxsWzFdKSxoLmxvb2tBdCgwLGUscixzKSxmLnNldERpc3RhbmNlTGltaXRzKGxbMF0sbFsxXSksZi5sb29rQXQoMCxlLHIscyksbmV3IG8oe3R1cm50YWJsZTp1LG9yYml0OmgsbWF0cml4OmZ9LGMpfTt2YXIgbj10KCJ0dXJudGFibGUtY2FtZXJhLWNvbnRyb2xsZXIiKSxhPXQoIm9yYml0LWNhbWVyYS1jb250cm9sbGVyIiksaT10KCJtYXRyaXgtY2FtZXJhLWNvbnRyb2xsZXIiKTtmdW5jdGlvbiBvKHQsZSl7dGhpcy5fY29udHJvbGxlck5hbWVzPU9iamVjdC5rZXlzKHQpLHRoaXMuX2NvbnRyb2xsZXJMaXN0PXRoaXMuX2NvbnRyb2xsZXJOYW1lcy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSx0aGlzLl9tb2RlPWUsdGhpcy5fYWN0aXZlPXRbZV0sdGhpcy5fYWN0aXZlfHwodGhpcy5fbW9kZT0idHVybnRhYmxlIix0aGlzLl9hY3RpdmU9dC50dXJudGFibGUpLHRoaXMubW9kZXM9dGhpcy5fY29udHJvbGxlck5hbWVzLHRoaXMuY29tcHV0ZWRNYXRyaXg9dGhpcy5fYWN0aXZlLmNvbXB1dGVkTWF0cml4LHRoaXMuY29tcHV0ZWRFeWU9dGhpcy5fYWN0aXZlLmNvbXB1dGVkRXllLHRoaXMuY29tcHV0ZWRVcD10aGlzLl9hY3RpdmUuY29tcHV0ZWRVcCx0aGlzLmNvbXB1dGVkQ2VudGVyPXRoaXMuX2FjdGl2ZS5jb21wdXRlZENlbnRlcix0aGlzLmNvbXB1dGVkUmFkaXVzPXRoaXMuX2FjdGl2ZS5jb21wdXRlZFJhZGl1c312YXIgcz1vLnByb3RvdHlwZTtbWyJmbHVzaCIsMV0sWyJpZGxlIiwxXSxbImxvb2tBdCIsNF0sWyJyb3RhdGUiLDRdLFsicGFuIiw0XSxbInRyYW5zbGF0ZSIsNF0sWyJzZXRNYXRyaXgiLDJdLFsic2V0RGlzdGFuY2VMaW1pdHMiLDJdLFsic2V0RGlzdGFuY2UiLDJdXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10WzBdLHI9W10sbj0wO248dFsxXTsrK24pci5wdXNoKCJhIituKTt2YXIgYT0idmFyIGNjPXRoaXMuX2NvbnRyb2xsZXJMaXN0O2Zvcih2YXIgaT0wO2k8Y2MubGVuZ3RoOysraSl7Y2NbaV0uIit0WzBdKyIoIityLmpvaW4oKSsiKX0iO3NbZV09RnVuY3Rpb24uYXBwbHkobnVsbCxyLmNvbmNhdChhKSl9KSxzLnJlY2FsY01hdHJpeD1mdW5jdGlvbih0KXt0aGlzLl9hY3RpdmUucmVjYWxjTWF0cml4KHQpfSxzLmdldERpc3RhbmNlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9hY3RpdmUuZ2V0RGlzdGFuY2UodCl9LHMuZ2V0RGlzdGFuY2VMaW1pdHM9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2FjdGl2ZS5nZXREaXN0YW5jZUxpbWl0cyh0KX0scy5sYXN0VD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9hY3RpdmUubGFzdFQoKX0scy5zZXRNb2RlPWZ1bmN0aW9uKHQpe2lmKHQhPT10aGlzLl9tb2RlKXt2YXIgZT10aGlzLl9jb250cm9sbGVyTmFtZXMuaW5kZXhPZih0KTtpZighKGU8MCkpe3ZhciByPXRoaXMuX2FjdGl2ZSxuPXRoaXMuX2NvbnRyb2xsZXJMaXN0W2VdLGE9TWF0aC5tYXgoci5sYXN0VCgpLG4ubGFzdFQoKSk7ci5yZWNhbGNNYXRyaXgoYSksbi5zZXRNYXRyaXgoYSxyLmNvbXB1dGVkTWF0cml4KSx0aGlzLl9hY3RpdmU9bix0aGlzLl9tb2RlPXQsdGhpcy5jb21wdXRlZE1hdHJpeD10aGlzLl9hY3RpdmUuY29tcHV0ZWRNYXRyaXgsdGhpcy5jb21wdXRlZEV5ZT10aGlzLl9hY3RpdmUuY29tcHV0ZWRFeWUsdGhpcy5jb21wdXRlZFVwPXRoaXMuX2FjdGl2ZS5jb21wdXRlZFVwLHRoaXMuY29tcHV0ZWRDZW50ZXI9dGhpcy5fYWN0aXZlLmNvbXB1dGVkQ2VudGVyLHRoaXMuY29tcHV0ZWRSYWRpdXM9dGhpcy5fYWN0aXZlLmNvbXB1dGVkUmFkaXVzfX19LHMuZ2V0TW9kZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9tb2RlfX0seyJtYXRyaXgtY2FtZXJhLWNvbnRyb2xsZXIiOjQzNSwib3JiaXQtY2FtZXJhLWNvbnRyb2xsZXIiOjQ1OCwidHVybnRhYmxlLWNhbWVyYS1jb250cm9sbGVyIjo1NDF9XSw1NTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuLGE7bj10aGlzLGE9ZnVuY3Rpb24odCxlLHIsbixhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdC50YXJnZXQuZGVwdGh9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiB0LnNvdXJjZUxpbmtzLmxlbmd0aD90LmRlcHRoOmUtMX1mdW5jdGlvbiBzKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1hPWEmJmEuaGFzT3duUHJvcGVydHkoImRlZmF1bHQiKT9hLmRlZmF1bHQ6YTt2YXIgbD0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0LmNvbnN0cnVjdG9yPT09U3ltYm9sJiZ0IT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgdH07ZnVuY3Rpb24gYyh0LGUpe3JldHVybiBoKHQuc291cmNlLGUuc291cmNlKXx8dC5pbmRleC1lLmluZGV4fWZ1bmN0aW9uIHUodCxlKXtyZXR1cm4gaCh0LnRhcmdldCxlLnRhcmdldCl8fHQuaW5kZXgtZS5pbmRleH1mdW5jdGlvbiBoKHQsZSl7cmV0dXJuIHQucGFydE9mQ3ljbGU9PT1lLnBhcnRPZkN5Y2xlP3QueTAtZS55MDoidG9wIj09PXQuY2lyY3VsYXJMaW5rVHlwZXx8ImJvdHRvbSI9PT1lLmNpcmN1bGFyTGlua1R5cGU/LTE6MX1mdW5jdGlvbiBmKHQpe3JldHVybiB0LnZhbHVlfWZ1bmN0aW9uIHAodCl7cmV0dXJuKHQueTArdC55MSkvMn1mdW5jdGlvbiBkKHQpe3JldHVybiBwKHQuc291cmNlKX1mdW5jdGlvbiBnKHQpe3JldHVybiBwKHQudGFyZ2V0KX1mdW5jdGlvbiB2KHQpe3JldHVybiB0LmluZGV4fWZ1bmN0aW9uIG0odCl7cmV0dXJuIHQubm9kZXN9ZnVuY3Rpb24geSh0KXtyZXR1cm4gdC5saW5rc31mdW5jdGlvbiB4KHQsZSl7dmFyIHI9dC5nZXQoZSk7aWYoIXIpdGhyb3cgbmV3IEVycm9yKCJtaXNzaW5nOiAiK2UpO3JldHVybiByfWZ1bmN0aW9uIGIodCxlKXtyZXR1cm4gZSh0KX12YXIgXz0yNSx3PTEwLGs9LjM7ZnVuY3Rpb24gVCh0LGUpe3ZhciByPTAsbj0wO3QubGlua3MuZm9yRWFjaChmdW5jdGlvbihhKXthLmNpcmN1bGFyJiYoYS5zb3VyY2UuY2lyY3VsYXJMaW5rVHlwZXx8YS50YXJnZXQuY2lyY3VsYXJMaW5rVHlwZT9hLmNpcmN1bGFyTGlua1R5cGU9YS5zb3VyY2UuY2lyY3VsYXJMaW5rVHlwZT9hLnNvdXJjZS5jaXJjdWxhckxpbmtUeXBlOmEudGFyZ2V0LmNpcmN1bGFyTGlua1R5cGU6YS5jaXJjdWxhckxpbmtUeXBlPXI8bj8idG9wIjoiYm90dG9tIiwidG9wIj09YS5jaXJjdWxhckxpbmtUeXBlP3IrPTE6bis9MSx0Lm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCl7Yih0LGUpIT1iKGEuc291cmNlLGUpJiZiKHQsZSkhPWIoYS50YXJnZXQsZSl8fCh0LmNpcmN1bGFyTGlua1R5cGU9YS5jaXJjdWxhckxpbmtUeXBlKX0pKX0pLHQubGlua3MuZm9yRWFjaChmdW5jdGlvbih0KXt0LmNpcmN1bGFyJiYodC5zb3VyY2UuY2lyY3VsYXJMaW5rVHlwZT09dC50YXJnZXQuY2lyY3VsYXJMaW5rVHlwZSYmKHQuY2lyY3VsYXJMaW5rVHlwZT10LnNvdXJjZS5jaXJjdWxhckxpbmtUeXBlKSxZKHQsZSkmJih0LmNpcmN1bGFyTGlua1R5cGU9dC5zb3VyY2UuY2lyY3VsYXJMaW5rVHlwZSkpfSl9ZnVuY3Rpb24gTSh0KXt2YXIgZT1NYXRoLmFicyh0LnkxLXQueTApLHI9TWF0aC5hYnModC50YXJnZXQueDAtdC5zb3VyY2UueDEpO3JldHVybiBNYXRoLmF0YW4oci9lKX1mdW5jdGlvbiBBKHQsZSl7dmFyIHI9MDt0LnNvdXJjZUxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7cj10LmNpcmN1bGFyJiYhWSh0LGUpP3IrMTpyfSk7dmFyIG49MDtyZXR1cm4gdC50YXJnZXRMaW5rcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe249dC5jaXJjdWxhciYmIVkodCxlKT9uKzE6bn0pLHIrbn1mdW5jdGlvbiBTKHQpe3ZhciBlPXQuc291cmNlLnNvdXJjZUxpbmtzLHI9MDtlLmZvckVhY2goZnVuY3Rpb24odCl7cj10LmNpcmN1bGFyP3IrMTpyfSk7dmFyIG49dC50YXJnZXQudGFyZ2V0TGlua3MsYT0wO3JldHVybiBuLmZvckVhY2goZnVuY3Rpb24odCl7YT10LmNpcmN1bGFyP2ErMTphfSksIShyPjF8fGE+MSl9ZnVuY3Rpb24gRSh0LGUscil7cmV0dXJuIHQuc29ydChDKSx0LmZvckVhY2goZnVuY3Rpb24obixhKXt2YXIgaSxvLHM9MDtpZihZKG4scikmJlMobikpbi5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsQnVmZmVyPXMrbi53aWR0aC8yO2Vsc2V7Zm9yKHZhciBsPTA7bDxhO2wrKylpZihpPXRbYV0sbz10W2xdLCEoaS5zb3VyY2UuY29sdW1uPG8udGFyZ2V0LmNvbHVtbnx8aS50YXJnZXQuY29sdW1uPm8uc291cmNlLmNvbHVtbikpe3ZhciBjPXRbbF0uY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEJ1ZmZlcit0W2xdLndpZHRoLzIrZTtzPWM+cz9jOnN9bi5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsQnVmZmVyPXMrbi53aWR0aC8yfX0pLHR9ZnVuY3Rpb24gTCh0LHIsYSxpKXt2YXIgbz1lLm1pbih0LmxpbmtzLGZ1bmN0aW9uKHQpe3JldHVybiB0LnNvdXJjZS55MH0pO3QubGlua3MuZm9yRWFjaChmdW5jdGlvbih0KXt0LmNpcmN1bGFyJiYodC5jaXJjdWxhclBhdGhEYXRhPXt9KX0pLEUodC5saW5rcy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuInRvcCI9PXQuY2lyY3VsYXJMaW5rVHlwZX0pLHIsaSksRSh0LmxpbmtzLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4iYm90dG9tIj09dC5jaXJjdWxhckxpbmtUeXBlfSkscixpKSx0LmxpbmtzLmZvckVhY2goZnVuY3Rpb24oZSl7aWYoZS5jaXJjdWxhcil7aWYoZS5jaXJjdWxhclBhdGhEYXRhLmFyY1JhZGl1cz1lLndpZHRoK3csZS5jaXJjdWxhclBhdGhEYXRhLmxlZnROb2RlQnVmZmVyPTUsZS5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0Tm9kZUJ1ZmZlcj01LGUuY2lyY3VsYXJQYXRoRGF0YS5zb3VyY2VXaWR0aD1lLnNvdXJjZS54MS1lLnNvdXJjZS54MCxlLmNpcmN1bGFyUGF0aERhdGEuc291cmNlWD1lLnNvdXJjZS54MCtlLmNpcmN1bGFyUGF0aERhdGEuc291cmNlV2lkdGgsZS5jaXJjdWxhclBhdGhEYXRhLnRhcmdldFg9ZS50YXJnZXQueDAsZS5jaXJjdWxhclBhdGhEYXRhLnNvdXJjZVk9ZS55MCxlLmNpcmN1bGFyUGF0aERhdGEudGFyZ2V0WT1lLnkxLFkoZSxpKSYmUyhlKSllLmNpcmN1bGFyUGF0aERhdGEubGVmdFNtYWxsQXJjUmFkaXVzPXcrZS53aWR0aC8yLGUuY2lyY3VsYXJQYXRoRGF0YS5sZWZ0TGFyZ2VBcmNSYWRpdXM9dytlLndpZHRoLzIsZS5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0U21hbGxBcmNSYWRpdXM9dytlLndpZHRoLzIsZS5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0TGFyZ2VBcmNSYWRpdXM9dytlLndpZHRoLzIsImJvdHRvbSI9PWUuY2lyY3VsYXJMaW5rVHlwZT8oZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudD1lLnNvdXJjZS55MStfK2UuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEJ1ZmZlcixlLmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxMZWZ0SW5uZXJFeHRlbnQ9ZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudC1lLmNpcmN1bGFyUGF0aERhdGEubGVmdExhcmdlQXJjUmFkaXVzLGUuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbFJpZ2h0SW5uZXJFeHRlbnQ9ZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudC1lLmNpcmN1bGFyUGF0aERhdGEucmlnaHRMYXJnZUFyY1JhZGl1cyk6KGUuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEZ1bGxFeHRlbnQ9ZS5zb3VyY2UueTAtXy1lLmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxCdWZmZXIsZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsTGVmdElubmVyRXh0ZW50PWUuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEZ1bGxFeHRlbnQrZS5jaXJjdWxhclBhdGhEYXRhLmxlZnRMYXJnZUFyY1JhZGl1cyxlLmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxSaWdodElubmVyRXh0ZW50PWUuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEZ1bGxFeHRlbnQrZS5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0TGFyZ2VBcmNSYWRpdXMpO2Vsc2V7dmFyIHM9ZS5zb3VyY2UuY29sdW1uLGw9ZS5jaXJjdWxhckxpbmtUeXBlLGM9dC5saW5rcy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQuc291cmNlLmNvbHVtbj09cyYmdC5jaXJjdWxhckxpbmtUeXBlPT1sfSk7ImJvdHRvbSI9PWUuY2lyY3VsYXJMaW5rVHlwZT9jLnNvcnQoTyk6Yy5zb3J0KFApO3ZhciB1PTA7Yy5mb3JFYWNoKGZ1bmN0aW9uKHQsbil7dC5jaXJjdWxhckxpbmtJRD09ZS5jaXJjdWxhckxpbmtJRCYmKGUuY2lyY3VsYXJQYXRoRGF0YS5sZWZ0U21hbGxBcmNSYWRpdXM9dytlLndpZHRoLzIrdSxlLmNpcmN1bGFyUGF0aERhdGEubGVmdExhcmdlQXJjUmFkaXVzPXcrZS53aWR0aC8yK24qcit1KSx1Kz10LndpZHRofSkscz1lLnRhcmdldC5jb2x1bW4sYz10LmxpbmtzLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC50YXJnZXQuY29sdW1uPT1zJiZ0LmNpcmN1bGFyTGlua1R5cGU9PWx9KSwiYm90dG9tIj09ZS5jaXJjdWxhckxpbmtUeXBlP2Muc29ydChJKTpjLnNvcnQoeiksdT0wLGMuZm9yRWFjaChmdW5jdGlvbih0LG4pe3QuY2lyY3VsYXJMaW5rSUQ9PWUuY2lyY3VsYXJMaW5rSUQmJihlLmNpcmN1bGFyUGF0aERhdGEucmlnaHRTbWFsbEFyY1JhZGl1cz13K2Uud2lkdGgvMit1LGUuY2lyY3VsYXJQYXRoRGF0YS5yaWdodExhcmdlQXJjUmFkaXVzPXcrZS53aWR0aC8yK24qcit1KSx1Kz10LndpZHRofSksImJvdHRvbSI9PWUuY2lyY3VsYXJMaW5rVHlwZT8oZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudD1NYXRoLm1heChhLGUuc291cmNlLnkxLGUudGFyZ2V0LnkxKStfK2UuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEJ1ZmZlcixlLmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxMZWZ0SW5uZXJFeHRlbnQ9ZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudC1lLmNpcmN1bGFyUGF0aERhdGEubGVmdExhcmdlQXJjUmFkaXVzLGUuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbFJpZ2h0SW5uZXJFeHRlbnQ9ZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudC1lLmNpcmN1bGFyUGF0aERhdGEucmlnaHRMYXJnZUFyY1JhZGl1cyk6KGUuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEZ1bGxFeHRlbnQ9by1fLWUuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEJ1ZmZlcixlLmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxMZWZ0SW5uZXJFeHRlbnQ9ZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudCtlLmNpcmN1bGFyUGF0aERhdGEubGVmdExhcmdlQXJjUmFkaXVzLGUuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbFJpZ2h0SW5uZXJFeHRlbnQ9ZS5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudCtlLmNpcmN1bGFyUGF0aERhdGEucmlnaHRMYXJnZUFyY1JhZGl1cyl9ZS5jaXJjdWxhclBhdGhEYXRhLmxlZnRJbm5lckV4dGVudD1lLmNpcmN1bGFyUGF0aERhdGEuc291cmNlWCtlLmNpcmN1bGFyUGF0aERhdGEubGVmdE5vZGVCdWZmZXIsZS5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0SW5uZXJFeHRlbnQ9ZS5jaXJjdWxhclBhdGhEYXRhLnRhcmdldFgtZS5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0Tm9kZUJ1ZmZlcixlLmNpcmN1bGFyUGF0aERhdGEubGVmdEZ1bGxFeHRlbnQ9ZS5jaXJjdWxhclBhdGhEYXRhLnNvdXJjZVgrZS5jaXJjdWxhclBhdGhEYXRhLmxlZnRMYXJnZUFyY1JhZGl1cytlLmNpcmN1bGFyUGF0aERhdGEubGVmdE5vZGVCdWZmZXIsZS5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0RnVsbEV4dGVudD1lLmNpcmN1bGFyUGF0aERhdGEudGFyZ2V0WC1lLmNpcmN1bGFyUGF0aERhdGEucmlnaHRMYXJnZUFyY1JhZGl1cy1lLmNpcmN1bGFyUGF0aERhdGEucmlnaHROb2RlQnVmZmVyfWlmKGUuY2lyY3VsYXIpZS5wYXRoPWZ1bmN0aW9uKHQpe3ZhciBlPSIiO2U9InRvcCI9PXQuY2lyY3VsYXJMaW5rVHlwZT8iTSIrdC5jaXJjdWxhclBhdGhEYXRhLnNvdXJjZVgrIiAiK3QuY2lyY3VsYXJQYXRoRGF0YS5zb3VyY2VZKyIgTCIrdC5jaXJjdWxhclBhdGhEYXRhLmxlZnRJbm5lckV4dGVudCsiICIrdC5jaXJjdWxhclBhdGhEYXRhLnNvdXJjZVkrIiBBIit0LmNpcmN1bGFyUGF0aERhdGEubGVmdExhcmdlQXJjUmFkaXVzKyIgIit0LmNpcmN1bGFyUGF0aERhdGEubGVmdFNtYWxsQXJjUmFkaXVzKyIgMCAwIDAgIit0LmNpcmN1bGFyUGF0aERhdGEubGVmdEZ1bGxFeHRlbnQrIiAiKyh0LmNpcmN1bGFyUGF0aERhdGEuc291cmNlWS10LmNpcmN1bGFyUGF0aERhdGEubGVmdFNtYWxsQXJjUmFkaXVzKSsiIEwiK3QuY2lyY3VsYXJQYXRoRGF0YS5sZWZ0RnVsbEV4dGVudCsiICIrdC5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsTGVmdElubmVyRXh0ZW50KyIgQSIrdC5jaXJjdWxhclBhdGhEYXRhLmxlZnRMYXJnZUFyY1JhZGl1cysiICIrdC5jaXJjdWxhclBhdGhEYXRhLmxlZnRMYXJnZUFyY1JhZGl1cysiIDAgMCAwICIrdC5jaXJjdWxhclBhdGhEYXRhLmxlZnRJbm5lckV4dGVudCsiICIrdC5jaXJjdWxhclBhdGhEYXRhLnZlcnRpY2FsRnVsbEV4dGVudCsiIEwiK3QuY2lyY3VsYXJQYXRoRGF0YS5yaWdodElubmVyRXh0ZW50KyIgIit0LmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxGdWxsRXh0ZW50KyIgQSIrdC5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0TGFyZ2VBcmNSYWRpdXMrIiAiK3QuY2lyY3VsYXJQYXRoRGF0YS5yaWdodExhcmdlQXJjUmFkaXVzKyIgMCAwIDAgIit0LmNpcmN1bGFyUGF0aERhdGEucmlnaHRGdWxsRXh0ZW50KyIgIit0LmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxSaWdodElubmVyRXh0ZW50KyIgTCIrdC5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0RnVsbEV4dGVudCsiICIrKHQuY2lyY3VsYXJQYXRoRGF0YS50YXJnZXRZLXQuY2lyY3VsYXJQYXRoRGF0YS5yaWdodFNtYWxsQXJjUmFkaXVzKSsiIEEiK3QuY2lyY3VsYXJQYXRoRGF0YS5yaWdodExhcmdlQXJjUmFkaXVzKyIgIit0LmNpcmN1bGFyUGF0aERhdGEucmlnaHRTbWFsbEFyY1JhZGl1cysiIDAgMCAwICIrdC5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0SW5uZXJFeHRlbnQrIiAiK3QuY2lyY3VsYXJQYXRoRGF0YS50YXJnZXRZKyIgTCIrdC5jaXJjdWxhclBhdGhEYXRhLnRhcmdldFgrIiAiK3QuY2lyY3VsYXJQYXRoRGF0YS50YXJnZXRZOiJNIit0LmNpcmN1bGFyUGF0aERhdGEuc291cmNlWCsiICIrdC5jaXJjdWxhclBhdGhEYXRhLnNvdXJjZVkrIiBMIit0LmNpcmN1bGFyUGF0aERhdGEubGVmdElubmVyRXh0ZW50KyIgIit0LmNpcmN1bGFyUGF0aERhdGEuc291cmNlWSsiIEEiK3QuY2lyY3VsYXJQYXRoRGF0YS5sZWZ0TGFyZ2VBcmNSYWRpdXMrIiAiK3QuY2lyY3VsYXJQYXRoRGF0YS5sZWZ0U21hbGxBcmNSYWRpdXMrIiAwIDAgMSAiK3QuY2lyY3VsYXJQYXRoRGF0YS5sZWZ0RnVsbEV4dGVudCsiICIrKHQuY2lyY3VsYXJQYXRoRGF0YS5zb3VyY2VZK3QuY2lyY3VsYXJQYXRoRGF0YS5sZWZ0U21hbGxBcmNSYWRpdXMpKyIgTCIrdC5jaXJjdWxhclBhdGhEYXRhLmxlZnRGdWxsRXh0ZW50KyIgIit0LmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxMZWZ0SW5uZXJFeHRlbnQrIiBBIit0LmNpcmN1bGFyUGF0aERhdGEubGVmdExhcmdlQXJjUmFkaXVzKyIgIit0LmNpcmN1bGFyUGF0aERhdGEubGVmdExhcmdlQXJjUmFkaXVzKyIgMCAwIDEgIit0LmNpcmN1bGFyUGF0aERhdGEubGVmdElubmVyRXh0ZW50KyIgIit0LmNpcmN1bGFyUGF0aERhdGEudmVydGljYWxGdWxsRXh0ZW50KyIgTCIrdC5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0SW5uZXJFeHRlbnQrIiAiK3QuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbEZ1bGxFeHRlbnQrIiBBIit0LmNpcmN1bGFyUGF0aERhdGEucmlnaHRMYXJnZUFyY1JhZGl1cysiICIrdC5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0TGFyZ2VBcmNSYWRpdXMrIiAwIDAgMSAiK3QuY2lyY3VsYXJQYXRoRGF0YS5yaWdodEZ1bGxFeHRlbnQrIiAiK3QuY2lyY3VsYXJQYXRoRGF0YS52ZXJ0aWNhbFJpZ2h0SW5uZXJFeHRlbnQrIiBMIit0LmNpcmN1bGFyUGF0aERhdGEucmlnaHRGdWxsRXh0ZW50KyIgIisodC5jaXJjdWxhclBhdGhEYXRhLnRhcmdldFkrdC5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0U21hbGxBcmNSYWRpdXMpKyIgQSIrdC5jaXJjdWxhclBhdGhEYXRhLnJpZ2h0TGFyZ2VBcmNSYWRpdXMrIiAiK3QuY2lyY3VsYXJQYXRoRGF0YS5yaWdodFNtYWxsQXJjUmFkaXVzKyIgMCAwIDEgIit0LmNpcmN1bGFyUGF0aERhdGEucmlnaHRJbm5lckV4dGVudCsiICIrdC5jaXJjdWxhclBhdGhEYXRhLnRhcmdldFkrIiBMIit0LmNpcmN1bGFyUGF0aERhdGEudGFyZ2V0WCsiICIrdC5jaXJjdWxhclBhdGhEYXRhLnRhcmdldFk7cmV0dXJuIGV9KGUpO2Vsc2V7dmFyIGg9bi5saW5rSG9yaXpvbnRhbCgpLnNvdXJjZShmdW5jdGlvbih0KXtyZXR1cm5bdC5zb3VyY2UueDArKHQuc291cmNlLngxLXQuc291cmNlLngwKSx0LnkwXX0pLnRhcmdldChmdW5jdGlvbih0KXtyZXR1cm5bdC50YXJnZXQueDAsdC55MV19KTtlLnBhdGg9aChlKX19KX1mdW5jdGlvbiBDKHQsZSl7cmV0dXJuIEQodCk9PUQoZSk/ImJvdHRvbSI9PXQuY2lyY3VsYXJMaW5rVHlwZT9PKHQsZSk6UCh0LGUpOkQoZSktRCh0KX1mdW5jdGlvbiBQKHQsZSl7cmV0dXJuIHQueTAtZS55MH1mdW5jdGlvbiBPKHQsZSl7cmV0dXJuIGUueTAtdC55MH1mdW5jdGlvbiB6KHQsZSl7cmV0dXJuIHQueTEtZS55MX1mdW5jdGlvbiBJKHQsZSl7cmV0dXJuIGUueTEtdC55MX1mdW5jdGlvbiBEKHQpe3JldHVybiB0LnRhcmdldC5jb2x1bW4tdC5zb3VyY2UuY29sdW1ufWZ1bmN0aW9uIFIodCl7cmV0dXJuIHQudGFyZ2V0LngwLXQuc291cmNlLngxfWZ1bmN0aW9uIEYodCxlKXt2YXIgcj1NKHQpLG49UihlKS9NYXRoLnRhbihyKTtyZXR1cm4idXAiPT1HKHQpP3QueTErbjp0LnkxLW59ZnVuY3Rpb24gQih0LGUpe3ZhciByPU0odCksbj1SKGUpL01hdGgudGFuKHIpO3JldHVybiJ1cCI9PUcodCk/dC55MS1uOnQueTErbn1mdW5jdGlvbiBOKHQsZSxyLG4pe3QubGlua3MuZm9yRWFjaChmdW5jdGlvbihhKXtpZighYS5jaXJjdWxhciYmYS50YXJnZXQuY29sdW1uLWEuc291cmNlLmNvbHVtbj4xKXt2YXIgaT1hLnNvdXJjZS5jb2x1bW4rMSxvPWEudGFyZ2V0LmNvbHVtbi0xLHM9MSxsPW8taSsxO2ZvcihzPTE7aTw9bztpKysscysrKXQubm9kZXMuZm9yRWFjaChmdW5jdGlvbihvKXtpZihvLmNvbHVtbj09aSl7dmFyIGMsdT1zLyhsKzEpLGg9TWF0aC5wb3coMS11LDMpLGY9Myp1Kk1hdGgucG93KDEtdSwyKSxwPTMqTWF0aC5wb3codSwyKSooMS11KSxkPU1hdGgucG93KHUsMyksZz1oKmEueTArZiphLnkwK3AqYS55MStkKmEueTEsdj1nLWEud2lkdGgvMixtPWcrYS53aWR0aC8yO3Y+by55MCYmdjxvLnkxPyhjPW8ueTEtdisxMCxjPSJib3R0b20iPT1vLmNpcmN1bGFyTGlua1R5cGU/YzotYyxvPVYobyxjLGUsciksdC5ub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe2IodCxuKSE9YihvLG4pJiZ0LmNvbHVtbj09by5jb2x1bW4mJmoobyx0KSYmVih0LGMsZSxyKX0pKTptPm8ueTAmJm08by55MT8oYz1tLW8ueTArMTAsbz1WKG8sYyxlLHIpLHQubm9kZXMuZm9yRWFjaChmdW5jdGlvbih0KXtiKHQsbikhPWIobyxuKSYmdC5jb2x1bW49PW8uY29sdW1uJiZ0LnkwPG8ueTEmJnQueTE+by55MSYmVih0LGMsZSxyKX0pKTp2PG8ueTAmJm0+by55MSYmKGM9bS1vLnkwKzEwLG89VihvLGMsZSxyKSx0Lm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCl7Yih0LG4pIT1iKG8sbikmJnQuY29sdW1uPT1vLmNvbHVtbiYmdC55MDxvLnkxJiZ0LnkxPm8ueTEmJlYodCxjLGUscil9KSl9fSl9fSl9ZnVuY3Rpb24gaih0LGUpe3JldHVybiB0LnkwPmUueTAmJnQueTA8ZS55MXx8KHQueTE+ZS55MCYmdC55MTxlLnkxfHx0LnkwPGUueTAmJnQueTE+ZS55MSl9ZnVuY3Rpb24gVih0LGUscixuKXtyZXR1cm4gdC55MCtlPj1yJiZ0LnkxK2U8PW4mJih0LnkwPXQueTArZSx0LnkxPXQueTErZSx0LnRhcmdldExpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dC55MT10LnkxK2V9KSx0LnNvdXJjZUxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dC55MD10LnkwK2V9KSksdH1mdW5jdGlvbiBVKHQsZSxyLG4pe3Qubm9kZXMuZm9yRWFjaChmdW5jdGlvbihhKXtuJiZhLnkrKGEueTEtYS55MCk+ZSYmKGEueT1hLnktKGEueSsoYS55MS1hLnkwKS1lKSk7dmFyIGk9dC5saW5rcy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIGIodC5zb3VyY2Uscik9PWIoYSxyKX0pLG89aS5sZW5ndGg7bz4xJiZpLnNvcnQoZnVuY3Rpb24odCxlKXtpZighdC5jaXJjdWxhciYmIWUuY2lyY3VsYXIpe2lmKHQudGFyZ2V0LmNvbHVtbj09ZS50YXJnZXQuY29sdW1uKXJldHVybiB0LnkxLWUueTE7aWYoIUgodCxlKSlyZXR1cm4gdC55MS1lLnkxO2lmKHQudGFyZ2V0LmNvbHVtbj5lLnRhcmdldC5jb2x1bW4pe3ZhciByPUIoZSx0KTtyZXR1cm4gdC55MS1yfWlmKGUudGFyZ2V0LmNvbHVtbj50LnRhcmdldC5jb2x1bW4pcmV0dXJuIEIodCxlKS1lLnkxfXJldHVybiB0LmNpcmN1bGFyJiYhZS5jaXJjdWxhcj8idG9wIj09dC5jaXJjdWxhckxpbmtUeXBlPy0xOjE6ZS5jaXJjdWxhciYmIXQuY2lyY3VsYXI/InRvcCI9PWUuY2lyY3VsYXJMaW5rVHlwZT8xOi0xOnQuY2lyY3VsYXImJmUuY2lyY3VsYXI/dC5jaXJjdWxhckxpbmtUeXBlPT09ZS5jaXJjdWxhckxpbmtUeXBlJiYidG9wIj09dC5jaXJjdWxhckxpbmtUeXBlP3QudGFyZ2V0LmNvbHVtbj09PWUudGFyZ2V0LmNvbHVtbj90LnRhcmdldC55MS1lLnRhcmdldC55MTplLnRhcmdldC5jb2x1bW4tdC50YXJnZXQuY29sdW1uOnQuY2lyY3VsYXJMaW5rVHlwZT09PWUuY2lyY3VsYXJMaW5rVHlwZSYmImJvdHRvbSI9PXQuY2lyY3VsYXJMaW5rVHlwZT90LnRhcmdldC5jb2x1bW49PT1lLnRhcmdldC5jb2x1bW4/ZS50YXJnZXQueTEtdC50YXJnZXQueTE6dC50YXJnZXQuY29sdW1uLWUudGFyZ2V0LmNvbHVtbjoidG9wIj09dC5jaXJjdWxhckxpbmtUeXBlPy0xOjE6dm9pZCAwfSk7dmFyIHM9YS55MDtpLmZvckVhY2goZnVuY3Rpb24odCl7dC55MD1zK3Qud2lkdGgvMixzKz10LndpZHRofSksaS5mb3JFYWNoKGZ1bmN0aW9uKHQsZSl7aWYoImJvdHRvbSI9PXQuY2lyY3VsYXJMaW5rVHlwZSl7Zm9yKHZhciByPWUrMSxuPTA7cjxvO3IrKyluKz1pW3JdLndpZHRoO3QueTA9YS55MS1uLXQud2lkdGgvMn19KX0pfWZ1bmN0aW9uIHEodCxlLHIpe3Qubm9kZXMuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgbj10LmxpbmtzLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gYih0LnRhcmdldCxyKT09YihlLHIpfSksYT1uLmxlbmd0aDthPjEmJm4uc29ydChmdW5jdGlvbih0LGUpe2lmKCF0LmNpcmN1bGFyJiYhZS5jaXJjdWxhcil7aWYodC5zb3VyY2UuY29sdW1uPT1lLnNvdXJjZS5jb2x1bW4pcmV0dXJuIHQueTAtZS55MDtpZighSCh0LGUpKXJldHVybiB0LnkwLWUueTA7aWYoZS5zb3VyY2UuY29sdW1uPHQuc291cmNlLmNvbHVtbil7dmFyIHI9RihlLHQpO3JldHVybiB0LnkwLXJ9aWYodC5zb3VyY2UuY29sdW1uPGUuc291cmNlLmNvbHVtbilyZXR1cm4gRih0LGUpLWUueTB9cmV0dXJuIHQuY2lyY3VsYXImJiFlLmNpcmN1bGFyPyJ0b3AiPT10LmNpcmN1bGFyTGlua1R5cGU/LTE6MTplLmNpcmN1bGFyJiYhdC5jaXJjdWxhcj8idG9wIj09ZS5jaXJjdWxhckxpbmtUeXBlPzE6LTE6dC5jaXJjdWxhciYmZS5jaXJjdWxhcj90LmNpcmN1bGFyTGlua1R5cGU9PT1lLmNpcmN1bGFyTGlua1R5cGUmJiJ0b3AiPT10LmNpcmN1bGFyTGlua1R5cGU/dC5zb3VyY2UuY29sdW1uPT09ZS5zb3VyY2UuY29sdW1uP3Quc291cmNlLnkxLWUuc291cmNlLnkxOnQuc291cmNlLmNvbHVtbi1lLnNvdXJjZS5jb2x1bW46dC5jaXJjdWxhckxpbmtUeXBlPT09ZS5jaXJjdWxhckxpbmtUeXBlJiYiYm90dG9tIj09dC5jaXJjdWxhckxpbmtUeXBlP3Quc291cmNlLmNvbHVtbj09PWUuc291cmNlLmNvbHVtbj90LnNvdXJjZS55MS1lLnNvdXJjZS55MTplLnNvdXJjZS5jb2x1bW4tdC5zb3VyY2UuY29sdW1uOiJ0b3AiPT10LmNpcmN1bGFyTGlua1R5cGU/LTE6MTp2b2lkIDB9KTt2YXIgaT1lLnkwO24uZm9yRWFjaChmdW5jdGlvbih0KXt0LnkxPWkrdC53aWR0aC8yLGkrPXQud2lkdGh9KSxuLmZvckVhY2goZnVuY3Rpb24odCxyKXtpZigiYm90dG9tIj09dC5jaXJjdWxhckxpbmtUeXBlKXtmb3IodmFyIGk9cisxLG89MDtpPGE7aSsrKW8rPW5baV0ud2lkdGg7dC55MT1lLnkxLW8tdC53aWR0aC8yfX0pfSl9ZnVuY3Rpb24gSCh0LGUpe3JldHVybiBHKHQpPT1HKGUpfWZ1bmN0aW9uIEcodCl7cmV0dXJuIHQueTAtdC55MT4wPyJ1cCI6ImRvd24ifWZ1bmN0aW9uIFkodCxlKXtyZXR1cm4gYih0LnNvdXJjZSxlKT09Yih0LnRhcmdldCxlKX10LnNhbmtleUNpcmN1bGFyPWZ1bmN0aW9uKCl7dmFyIHQsbixpPTAsYj0wLE09MSxTPTEsRT0yNCxDPXYsUD1vLE89bSx6PXksST0zMixEPTIsUj1udWxsO2Z1bmN0aW9uIEYoKXt2YXIgbz17bm9kZXM6Ty5hcHBseShudWxsLGFyZ3VtZW50cyksbGlua3M6ei5hcHBseShudWxsLGFyZ3VtZW50cyl9OyFmdW5jdGlvbih0KXt0Lm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCxlKXt0LmluZGV4PWUsdC5zb3VyY2VMaW5rcz1bXSx0LnRhcmdldExpbmtzPVtdfSk7dmFyIGU9ci5tYXAodC5ub2RlcyxDKTt0LmxpbmtzLmZvckVhY2goZnVuY3Rpb24odCxyKXt0LmluZGV4PXI7dmFyIG49dC5zb3VyY2UsYT10LnRhcmdldDsib2JqZWN0IiE9PSgidW5kZWZpbmVkIj09dHlwZW9mIG4/InVuZGVmaW5lZCI6bChuKSkmJihuPXQuc291cmNlPXgoZSxuKSksIm9iamVjdCIhPT0oInVuZGVmaW5lZCI9PXR5cGVvZiBhPyJ1bmRlZmluZWQiOmwoYSkpJiYoYT10LnRhcmdldD14KGUsYSkpLG4uc291cmNlTGlua3MucHVzaCh0KSxhLnRhcmdldExpbmtzLnB1c2godCl9KX0obyksZnVuY3Rpb24odCxlLHIpe3ZhciBuPTA7aWYobnVsbD09PXIpe2Zvcih2YXIgaT1bXSxvPTA7bzx0LmxpbmtzLmxlbmd0aDtvKyspe3ZhciBzPXQubGlua3Nbb10sbD1zLnNvdXJjZS5pbmRleCxjPXMudGFyZ2V0LmluZGV4O2lbbF18fChpW2xdPVtdKSxpW2NdfHwoaVtjXT1bXSksLTE9PT1pW2xdLmluZGV4T2YoYykmJmlbbF0ucHVzaChjKX12YXIgdT1hKGkpO3Uuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0Lmxlbmd0aC1lLmxlbmd0aH0pO3ZhciBoPXt9O2ZvcihvPTA7bzx1Lmxlbmd0aDtvKyspe3ZhciBmPXVbb10scD1mLnNsaWNlKC0yKTtoW3BbMF1dfHwoaFtwWzBdXT17fSksaFtwWzBdXVtwWzFdXT0hMH10LmxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dC50YXJnZXQuaW5kZXgscj10LnNvdXJjZS5pbmRleDtlPT09cnx8aFtyXSYmaFtyXVtlXT8odC5jaXJjdWxhcj0hMCx0LmNpcmN1bGFyTGlua0lEPW4sbis9MSk6dC5jaXJjdWxhcj0hMX0pfWVsc2UgdC5saW5rcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3Quc291cmNlW3JdPHQudGFyZ2V0W3JdP3QuY2lyY3VsYXI9ITE6KHQuY2lyY3VsYXI9ITAsdC5jaXJjdWxhckxpbmtJRD1uLG4rPTEpfSl9KG8sMCxSKSxmdW5jdGlvbih0KXt0Lm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCl7dC5wYXJ0T2ZDeWNsZT0hMSx0LnZhbHVlPU1hdGgubWF4KGUuc3VtKHQuc291cmNlTGlua3MsZiksZS5zdW0odC50YXJnZXRMaW5rcyxmKSksdC5zb3VyY2VMaW5rcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuY2lyY3VsYXImJih0LnBhcnRPZkN5Y2xlPSEwLHQuY2lyY3VsYXJMaW5rVHlwZT1lLmNpcmN1bGFyTGlua1R5cGUpfSksdC50YXJnZXRMaW5rcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuY2lyY3VsYXImJih0LnBhcnRPZkN5Y2xlPSEwLHQuY2lyY3VsYXJMaW5rVHlwZT1lLmNpcmN1bGFyTGlua1R5cGUpfSl9KX0obyksZnVuY3Rpb24odCl7dmFyIGUscixuO2ZvcihlPXQubm9kZXMscj1bXSxuPTA7ZS5sZW5ndGg7KytuLGU9cixyPVtdKWUuZm9yRWFjaChmdW5jdGlvbih0KXt0LmRlcHRoPW4sdC5zb3VyY2VMaW5rcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3IuaW5kZXhPZih0LnRhcmdldCk8MCYmIXQuY2lyY3VsYXImJnIucHVzaCh0LnRhcmdldCl9KX0pO2ZvcihlPXQubm9kZXMscj1bXSxuPTA7ZS5sZW5ndGg7KytuLGU9cixyPVtdKWUuZm9yRWFjaChmdW5jdGlvbih0KXt0LmhlaWdodD1uLHQudGFyZ2V0TGlua3MuZm9yRWFjaChmdW5jdGlvbih0KXtyLmluZGV4T2YodC5zb3VyY2UpPDAmJiF0LmNpcmN1bGFyJiZyLnB1c2godC5zb3VyY2UpfSl9KTt0Lm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCl7dC5jb2x1bW49TWF0aC5mbG9vcihQLmNhbGwobnVsbCx0LG4pKX0pfShvKSxUKG8sQyksZnVuY3Rpb24oYSxvLHMpe3ZhciBsPXIubmVzdCgpLmtleShmdW5jdGlvbih0KXtyZXR1cm4gdC5jb2x1bW59KS5zb3J0S2V5cyhlLmFzY2VuZGluZykuZW50cmllcyhhLm5vZGVzKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQudmFsdWVzfSk7KGZ1bmN0aW9uKHIpe2lmKG4pe3ZhciBvPTEvMDtsLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9UypuLyh0Lmxlbmd0aCsxKTtvPWU8bz9lOm99KSx0PW99dmFyIHM9ZS5taW4obCxmdW5jdGlvbihyKXtyZXR1cm4oUy1iLShyLmxlbmd0aC0xKSp0KS9lLnN1bShyLGYpfSk7cyo9ayxhLmxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dC53aWR0aD10LnZhbHVlKnN9KTt2YXIgYz1mdW5jdGlvbih0KXt2YXIgcj0wLG49MCxhPTAsaT0wLG89ZS5tYXgodC5ub2RlcyxmdW5jdGlvbih0KXtyZXR1cm4gdC5jb2x1bW59KTtyZXR1cm4gdC5saW5rcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuY2lyY3VsYXImJigidG9wIj09dC5jaXJjdWxhckxpbmtUeXBlP3IrPXQud2lkdGg6bis9dC53aWR0aCwwPT10LnRhcmdldC5jb2x1bW4mJihpKz10LndpZHRoKSx0LnNvdXJjZS5jb2x1bW49PW8mJihhKz10LndpZHRoKSl9KSx7dG9wOnI9cj4wP3IrXyt3OnIsYm90dG9tOm49bj4wP24rXyt3Om4sbGVmdDppPWk+MD9pK18rdzppLHJpZ2h0OmE9YT4wP2ErXyt3OmF9fShhKSx1PWZ1bmN0aW9uKHQscil7dmFyIG49ZS5tYXgodC5ub2RlcyxmdW5jdGlvbih0KXtyZXR1cm4gdC5jb2x1bW59KSxhPU0taSxvPVMtYixzPWErci5yaWdodCtyLmxlZnQsbD1vK3IudG9wK3IuYm90dG9tLGM9YS9zLHU9by9sO3JldHVybiBpPWkqYytyLmxlZnQsTT0wPT1yLnJpZ2h0P006TSpjLGI9Yip1K3IudG9wLFMqPXUsdC5ub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QueDA9aSt0LmNvbHVtbiooKE0taS1FKS9uKSx0LngxPXQueDArRX0pLHV9KGEsYyk7cyo9dSxhLmxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dC53aWR0aD10LnZhbHVlKnN9KSxsLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7dC5mb3JFYWNoKGZ1bmN0aW9uKHQsbil7dC5kZXB0aD09bC5sZW5ndGgtMSYmMT09ZT8odC55MD1TLzItdC52YWx1ZSpzLHQueTE9dC55MCt0LnZhbHVlKnMpOjA9PXQuZGVwdGgmJjE9PWU/KHQueTA9Uy8yLXQudmFsdWUqcyx0LnkxPXQueTArdC52YWx1ZSpzKTp0LnBhcnRPZkN5Y2xlPzA9PUEodCxyKT8odC55MD1TLzIrbix0LnkxPXQueTArdC52YWx1ZSpzKToidG9wIj09dC5jaXJjdWxhckxpbmtUeXBlPyh0LnkwPWIrbix0LnkxPXQueTArdC52YWx1ZSpzKToodC55MD1TLXQudmFsdWUqcy1uLHQueTE9dC55MCt0LnZhbHVlKnMpOjA9PWMudG9wfHwwPT1jLmJvdHRvbT8odC55MD0oUy1iKS9lKm4sdC55MT10LnkwK3QudmFsdWUqcyk6KHQueTA9KFMtYikvMi1lLzIrbix0LnkxPXQueTArdC52YWx1ZSpzKX0pfSl9KShzKSxtKCk7Zm9yKHZhciBjPTEsdT1vO3U+MDstLXUpdihjKj0uOTkscyksbSgpO2Z1bmN0aW9uIHYodCxyKXt2YXIgbj1sLmxlbmd0aDtsLmZvckVhY2goZnVuY3Rpb24oYSl7dmFyIGk9YS5sZW5ndGgsbz1hWzBdLmRlcHRoO2EuZm9yRWFjaChmdW5jdGlvbihhKXt2YXIgcztpZihhLnNvdXJjZUxpbmtzLmxlbmd0aHx8YS50YXJnZXRMaW5rcy5sZW5ndGgpaWYoYS5wYXJ0T2ZDeWNsZSYmQShhLHIpPjApO2Vsc2UgaWYoMD09byYmMT09aSlzPWEueTEtYS55MCxhLnkwPVMvMi1zLzIsYS55MT1TLzIrcy8yO2Vsc2UgaWYobz09bi0xJiYxPT1pKXM9YS55MS1hLnkwLGEueTA9Uy8yLXMvMixhLnkxPVMvMitzLzI7ZWxzZXt2YXIgbD1lLm1lYW4oYS5zb3VyY2VMaW5rcyxnKSxjPWUubWVhbihhLnRhcmdldExpbmtzLGQpLHU9KChsJiZjPyhsK2MpLzI6bHx8YyktcChhKSkqdDthLnkwKz11LGEueTErPXV9fSl9KX1mdW5jdGlvbiBtKCl7bC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciByLG4sYSxpPWIsbz1lLmxlbmd0aDtmb3IoZS5zb3J0KGgpLGE9MDthPG87KythKXI9ZVthXSwobj1pLXIueTApPjAmJihyLnkwKz1uLHIueTErPW4pLGk9ci55MSt0O2lmKChuPWktdC1TKT4wKWZvcihpPXIueTAtPW4sci55MS09bixhPW8tMjthPj0wOy0tYSlyPWVbYV0sKG49ci55MSt0LWkpPjAmJihyLnkwLT1uLHIueTEtPW4pLGk9ci55MH0pfX0obyxJLEMpLEIobyk7Zm9yKHZhciBzPTA7czw0O3MrKylVKG8sUyxDKSxxKG8sMCxDKSxOKG8sYixTLEMpLFUobyxTLEMpLHEobywwLEMpO3JldHVybiBmdW5jdGlvbih0LHIsbil7dmFyIGE9dC5ub2RlcyxpPXQubGlua3Msbz0hMSxzPSExO2lmKGkuZm9yRWFjaChmdW5jdGlvbih0KXsidG9wIj09dC5jaXJjdWxhckxpbmtUeXBlP289ITA6ImJvdHRvbSI9PXQuY2lyY3VsYXJMaW5rVHlwZSYmKHM9ITApfSksMD09b3x8MD09cyl7dmFyIGw9ZS5taW4oYSxmdW5jdGlvbih0KXtyZXR1cm4gdC55MH0pLGM9ZS5tYXgoYSxmdW5jdGlvbih0KXtyZXR1cm4gdC55MX0pLHU9Yy1sLGg9bi1yLGY9aC91O2EuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT0odC55MS10LnkwKSpmO3QueTA9KHQueTAtbCkqZix0LnkxPXQueTArZX0pLGkuZm9yRWFjaChmdW5jdGlvbih0KXt0LnkwPSh0LnkwLWwpKmYsdC55MT0odC55MS1sKSpmLHQud2lkdGg9dC53aWR0aCpmfSl9fShvLGIsUyksTChvLEQsUyxDKSxvfWZ1bmN0aW9uIEIodCl7dC5ub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3Quc291cmNlTGlua3Muc29ydCh1KSx0LnRhcmdldExpbmtzLnNvcnQoYyl9KSx0Lm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dC55MCxyPWUsbj10LnkxLGE9bjt0LnNvdXJjZUxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dC5jaXJjdWxhcj8odC55MD1uLXQud2lkdGgvMixuLT10LndpZHRoKToodC55MD1lK3Qud2lkdGgvMixlKz10LndpZHRoKX0pLHQudGFyZ2V0TGlua3MuZm9yRWFjaChmdW5jdGlvbih0KXt0LmNpcmN1bGFyPyh0LnkxPWEtdC53aWR0aC8yLGEtPXQud2lkdGgpOih0LnkxPXIrdC53aWR0aC8yLHIrPXQud2lkdGgpfSl9KX1yZXR1cm4gRi5ub2RlSWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KEM9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpzKHQpLEYpOkN9LEYubm9kZUFsaWduPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhQPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cyh0KSxGKTpQfSxGLm5vZGVXaWR0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oRT0rdCxGKTpFfSxGLm5vZGVQYWRkaW5nPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PStlLEYpOnR9LEYubm9kZXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KE89ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpzKHQpLEYpOk99LEYubGlua3M9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHo9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpzKHQpLEYpOnp9LEYuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT1iPTAsTT0rdFswXSxTPSt0WzFdLEYpOltNLWksUy1iXX0sRi5leHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9K3RbMF1bMF0sTT0rdFsxXVswXSxiPSt0WzBdWzFdLFM9K3RbMV1bMV0sRik6W1tpLGJdLFtNLFNdXX0sRi5pdGVyYXRpb25zPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhJPSt0LEYpOkl9LEYuY2lyY3VsYXJMaW5rR2FwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhEPSt0LEYpOkR9LEYubm9kZVBhZGRpbmdSYXRpbz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0rdCxGKTpufSxGLnNvcnROb2Rlcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oUj10LEYpOlJ9LEYudXBkYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBUKHQsQyksQih0KSx0LmxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dC5jaXJjdWxhciYmKHQuY2lyY3VsYXJMaW5rVHlwZT10LnkwK3QueTE8Uz8idG9wIjoiYm90dG9tIix0LnNvdXJjZS5jaXJjdWxhckxpbmtUeXBlPXQuY2lyY3VsYXJMaW5rVHlwZSx0LnRhcmdldC5jaXJjdWxhckxpbmtUeXBlPXQuY2lyY3VsYXJMaW5rVHlwZSl9KSxVKHQsUyxDLCExKSxxKHQsMCxDKSxMKHQsRCxTLEMpLHR9LEZ9LHQuc2Fua2V5Q2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldExpbmtzLmxlbmd0aD90LmRlcHRoOnQuc291cmNlTGlua3MubGVuZ3RoP2UubWluKHQuc291cmNlTGlua3MsaSktMTowfSx0LnNhbmtleUxlZnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZGVwdGh9LHQuc2Fua2V5UmlnaHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZS0xLXQuaGVpZ2h0fSx0LnNhbmtleUp1c3RpZnk9byxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LCJvYmplY3QiPT10eXBlb2YgciYmInVuZGVmaW5lZCIhPXR5cGVvZiBlP2Eocix0KCJkMy1hcnJheSIpLHQoImQzLWNvbGxlY3Rpb24iKSx0KCJkMy1zaGFwZSIpLHQoImVsZW1lbnRhcnktY2lyY3VpdHMtZGlyZWN0ZWQtZ3JhcGgiKSk6YShuLmQzPW4uZDN8fHt9LG4uZDMsbi5kMyxuLmQzLG51bGwpfSx7ImQzLWFycmF5IjoxNTQsImQzLWNvbGxlY3Rpb24iOjE1NSwiZDMtc2hhcGUiOjE2MywiZWxlbWVudGFyeS1jaXJjdWl0cy1kaXJlY3RlZC1ncmFwaCI6MTc1fV0sNTY6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbixhO249dGhpcyxhPWZ1bmN0aW9uKHQsZSxyLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBhKHQpe3JldHVybiB0LnRhcmdldC5kZXB0aH1mdW5jdGlvbiBpKHQsZSl7cmV0dXJuIHQuc291cmNlTGlua3MubGVuZ3RoP3QuZGVwdGg6ZS0xfWZ1bmN0aW9uIG8odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIHModCxlKXtyZXR1cm4gYyh0LnNvdXJjZSxlLnNvdXJjZSl8fHQuaW5kZXgtZS5pbmRleH1mdW5jdGlvbiBsKHQsZSl7cmV0dXJuIGModC50YXJnZXQsZS50YXJnZXQpfHx0LmluZGV4LWUuaW5kZXh9ZnVuY3Rpb24gYyh0LGUpe3JldHVybiB0LnkwLWUueTB9ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdC52YWx1ZX1mdW5jdGlvbiBoKHQpe3JldHVybih0LnkwK3QueTEpLzJ9ZnVuY3Rpb24gZih0KXtyZXR1cm4gaCh0LnNvdXJjZSkqdC52YWx1ZX1mdW5jdGlvbiBwKHQpe3JldHVybiBoKHQudGFyZ2V0KSp0LnZhbHVlfWZ1bmN0aW9uIGQodCl7cmV0dXJuIHQuaW5kZXh9ZnVuY3Rpb24gZyh0KXtyZXR1cm4gdC5ub2Rlc31mdW5jdGlvbiB2KHQpe3JldHVybiB0LmxpbmtzfWZ1bmN0aW9uIG0odCxlKXt2YXIgcj10LmdldChlKTtpZighcil0aHJvdyBuZXcgRXJyb3IoIm1pc3Npbmc6ICIrZSk7cmV0dXJuIHJ9ZnVuY3Rpb24geSh0KXtyZXR1cm5bdC5zb3VyY2UueDEsdC55MF19ZnVuY3Rpb24geCh0KXtyZXR1cm5bdC50YXJnZXQueDAsdC55MV19dC5zYW5rZXk9ZnVuY3Rpb24oKXt2YXIgdD0wLG49MCxhPTEseT0xLHg9MjQsYj04LF89ZCx3PWksaz1nLFQ9dixNPTMyLEE9Mi8zO2Z1bmN0aW9uIFMoKXt2YXIgaT17bm9kZXM6ay5hcHBseShudWxsLGFyZ3VtZW50cyksbGlua3M6VC5hcHBseShudWxsLGFyZ3VtZW50cyl9O3JldHVybiBmdW5jdGlvbih0KXt0Lm5vZGVzLmZvckVhY2goZnVuY3Rpb24odCxlKXt0LmluZGV4PWUsdC5zb3VyY2VMaW5rcz1bXSx0LnRhcmdldExpbmtzPVtdfSk7dmFyIGU9ci5tYXAodC5ub2RlcyxfKTt0LmxpbmtzLmZvckVhY2goZnVuY3Rpb24odCxyKXt0LmluZGV4PXI7dmFyIG49dC5zb3VyY2UsYT10LnRhcmdldDsib2JqZWN0IiE9dHlwZW9mIG4mJihuPXQuc291cmNlPW0oZSxuKSksIm9iamVjdCIhPXR5cGVvZiBhJiYoYT10LnRhcmdldD1tKGUsYSkpLG4uc291cmNlTGlua3MucHVzaCh0KSxhLnRhcmdldExpbmtzLnB1c2godCl9KX0oaSksZnVuY3Rpb24odCl7dC5ub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QudmFsdWU9TWF0aC5tYXgoZS5zdW0odC5zb3VyY2VMaW5rcyx1KSxlLnN1bSh0LnRhcmdldExpbmtzLHUpKX0pfShpKSxmdW5jdGlvbihlKXt2YXIgcixuLGk7Zm9yKHI9ZS5ub2RlcyxuPVtdLGk9MDtyLmxlbmd0aDsrK2kscj1uLG49W10pci5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuZGVwdGg9aSx0LnNvdXJjZUxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7bi5pbmRleE9mKHQudGFyZ2V0KTwwJiZuLnB1c2godC50YXJnZXQpfSl9KTtmb3Iocj1lLm5vZGVzLG49W10saT0wO3IubGVuZ3RoOysraSxyPW4sbj1bXSlyLmZvckVhY2goZnVuY3Rpb24odCl7dC5oZWlnaHQ9aSx0LnRhcmdldExpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7bi5pbmRleE9mKHQuc291cmNlKTwwJiZuLnB1c2godC5zb3VyY2UpfSl9KTt2YXIgbz0oYS10LXgpLyhpLTEpO2Uubm9kZXMuZm9yRWFjaChmdW5jdGlvbihlKXtlLngxPShlLngwPXQrTWF0aC5tYXgoMCxNYXRoLm1pbihpLTEsTWF0aC5mbG9vcih3LmNhbGwobnVsbCxlLGkpKSkpKm8pK3h9KX0oaSksZnVuY3Rpb24odCl7dmFyIGE9ci5uZXN0KCkua2V5KGZ1bmN0aW9uKHQpe3JldHVybiB0LngwfSkuc29ydEtleXMoZS5hc2NlbmRpbmcpLmVudHJpZXModC5ub2RlcykubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnZhbHVlc30pOyhmdW5jdGlvbigpe3ZhciByPWUubWF4KGEsZnVuY3Rpb24odCl7cmV0dXJuIHQubGVuZ3RofSksaT1BKih5LW4pLyhyLTEpO2I+aSYmKGI9aSk7dmFyIG89ZS5taW4oYSxmdW5jdGlvbih0KXtyZXR1cm4oeS1uLSh0Lmxlbmd0aC0xKSpiKS9lLnN1bSh0LHUpfSk7YS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuZm9yRWFjaChmdW5jdGlvbih0LGUpe3QueTE9KHQueTA9ZSkrdC52YWx1ZSpvfSl9KSx0LmxpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dC53aWR0aD10LnZhbHVlKm99KX0pKCksZCgpO2Zvcih2YXIgaT0xLG89TTtvPjA7LS1vKWwoaSo9Ljk5KSxkKCkscyhpKSxkKCk7ZnVuY3Rpb24gcyh0KXthLmZvckVhY2goZnVuY3Rpb24ocil7ci5mb3JFYWNoKGZ1bmN0aW9uKHIpe2lmKHIudGFyZ2V0TGlua3MubGVuZ3RoKXt2YXIgbj0oZS5zdW0oci50YXJnZXRMaW5rcyxmKS9lLnN1bShyLnRhcmdldExpbmtzLHUpLWgocikpKnQ7ci55MCs9bixyLnkxKz1ufX0pfSl9ZnVuY3Rpb24gbCh0KXthLnNsaWNlKCkucmV2ZXJzZSgpLmZvckVhY2goZnVuY3Rpb24ocil7ci5mb3JFYWNoKGZ1bmN0aW9uKHIpe2lmKHIuc291cmNlTGlua3MubGVuZ3RoKXt2YXIgbj0oZS5zdW0oci5zb3VyY2VMaW5rcyxwKS9lLnN1bShyLnNvdXJjZUxpbmtzLHUpLWgocikpKnQ7ci55MCs9bixyLnkxKz1ufX0pfSl9ZnVuY3Rpb24gZCgpe2EuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZSxyLGEsaT1uLG89dC5sZW5ndGg7Zm9yKHQuc29ydChjKSxhPTA7YTxvOysrYSllPXRbYV0sKHI9aS1lLnkwKT4wJiYoZS55MCs9cixlLnkxKz1yKSxpPWUueTErYjtpZigocj1pLWIteSk+MClmb3IoaT1lLnkwLT1yLGUueTEtPXIsYT1vLTI7YT49MDstLWEpZT10W2FdLChyPWUueTErYi1pKT4wJiYoZS55MC09cixlLnkxLT1yKSxpPWUueTB9KX19KGkpLEUoaSksaX1mdW5jdGlvbiBFKHQpe3Qubm9kZXMuZm9yRWFjaChmdW5jdGlvbih0KXt0LnNvdXJjZUxpbmtzLnNvcnQobCksdC50YXJnZXRMaW5rcy5zb3J0KHMpfSksdC5ub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBlPXQueTAscj1lO3Quc291cmNlTGlua3MuZm9yRWFjaChmdW5jdGlvbih0KXt0LnkwPWUrdC53aWR0aC8yLGUrPXQud2lkdGh9KSx0LnRhcmdldExpbmtzLmZvckVhY2goZnVuY3Rpb24odCl7dC55MT1yK3Qud2lkdGgvMixyKz10LndpZHRofSl9KX1yZXR1cm4gUy51cGRhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIEUodCksdH0sUy5ub2RlSWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KF89ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpvKHQpLFMpOl99LFMubm9kZUFsaWduPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh3PSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6byh0KSxTKTp3fSxTLm5vZGVXaWR0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oeD0rdCxTKTp4fSxTLm5vZGVQYWRkaW5nPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhiPSt0LFMpOmJ9LFMubm9kZXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGs9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpvKHQpLFMpOmt9LFMubGlua3M9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KFQ9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpvKHQpLFMpOlR9LFMuc2l6ZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1uPTAsYT0rZVswXSx5PStlWzFdLFMpOlthLXQseS1uXX0sUy5leHRlbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9K2VbMF1bMF0sYT0rZVsxXVswXSxuPStlWzBdWzFdLHk9K2VbMV1bMV0sUyk6W1t0LG5dLFthLHldXX0sUy5pdGVyYXRpb25zPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhNPSt0LFMpOk19LFN9LHQuc2Fua2V5Q2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldExpbmtzLmxlbmd0aD90LmRlcHRoOnQuc291cmNlTGlua3MubGVuZ3RoP2UubWluKHQuc291cmNlTGlua3MsYSktMTowfSx0LnNhbmtleUxlZnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZGVwdGh9LHQuc2Fua2V5UmlnaHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZS0xLXQuaGVpZ2h0fSx0LnNhbmtleUp1c3RpZnk9aSx0LnNhbmtleUxpbmtIb3Jpem9udGFsPWZ1bmN0aW9uKCl7cmV0dXJuIG4ubGlua0hvcml6b250YWwoKS5zb3VyY2UoeSkudGFyZ2V0KHgpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LCJvYmplY3QiPT10eXBlb2YgciYmInVuZGVmaW5lZCIhPXR5cGVvZiBlP2Eocix0KCJkMy1hcnJheSIpLHQoImQzLWNvbGxlY3Rpb24iKSx0KCJkMy1zaGFwZSIpKTphKG4uZDM9bi5kM3x8e30sbi5kMyxuLmQzLG4uZDMpfSx7ImQzLWFycmF5IjoxNTQsImQzLWNvbGxlY3Rpb24iOjE1NSwiZDMtc2hhcGUiOjE2M31dLDU3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj10KCJAdHVyZi9tZXRhIiksYT02Mzc4MTM3O2Z1bmN0aW9uIGkodCl7dmFyIGU9MDtpZih0JiZ0Lmxlbmd0aD4wKXtlKz1NYXRoLmFicyhvKHRbMF0pKTtmb3IodmFyIHI9MTtyPHQubGVuZ3RoO3IrKyllLT1NYXRoLmFicyhvKHRbcl0pKX1yZXR1cm4gZX1mdW5jdGlvbiBvKHQpe3ZhciBlLHIsbixpLG8sbCxjPTAsdT10Lmxlbmd0aDtpZih1PjIpe2ZvcihsPTA7bDx1O2wrKylsPT09dS0yPyhuPXUtMixpPXUtMSxvPTApOmw9PT11LTE/KG49dS0xLGk9MCxvPTEpOihuPWwsaT1sKzEsbz1sKzIpLGU9dFtuXSxyPXRbaV0sYys9KHModFtvXVswXSktcyhlWzBdKSkqTWF0aC5zaW4ocyhyWzFdKSk7Yz1jKmEqYS8yfXJldHVybiBjfWZ1bmN0aW9uIHModCl7cmV0dXJuIHQqTWF0aC5QSS8xODB9ci5kZWZhdWx0PWZ1bmN0aW9uKHQpe3JldHVybiBuLmdlb21SZWR1Y2UodCxmdW5jdGlvbih0LGUpe3JldHVybiB0K2Z1bmN0aW9uKHQpe3ZhciBlLHI9MDtzd2l0Y2godC50eXBlKXtjYXNlIlBvbHlnb24iOnJldHVybiBpKHQuY29vcmRpbmF0ZXMpO2Nhc2UiTXVsdGlQb2x5Z29uIjpmb3IoZT0wO2U8dC5jb29yZGluYXRlcy5sZW5ndGg7ZSsrKXIrPWkodC5jb29yZGluYXRlc1tlXSk7cmV0dXJuIHI7Y2FzZSJQb2ludCI6Y2FzZSJNdWx0aVBvaW50IjpjYXNlIkxpbmVTdHJpbmciOmNhc2UiTXVsdGlMaW5lU3RyaW5nIjpyZXR1cm4gMH1yZXR1cm4gMH0oZSl9LDApfX0seyJAdHVyZi9tZXRhIjo2MX1dLDU4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj10KCJAdHVyZi9tZXRhIik7ci5kZWZhdWx0PWZ1bmN0aW9uKHQpe3ZhciBlPVsxLzAsMS8wLC0xLzAsLTEvMF07cmV0dXJuIG4uY29vcmRFYWNoKHQsZnVuY3Rpb24odCl7ZVswXT50WzBdJiYoZVswXT10WzBdKSxlWzFdPnRbMV0mJihlWzFdPXRbMV0pLGVbMl08dFswXSYmKGVbMl09dFswXSksZVszXTx0WzFdJiYoZVszXT10WzFdKX0pLGV9fSx7IkB0dXJmL21ldGEiOjYxfV0sNTk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXQoIkB0dXJmL21ldGEiKSxhPXQoIkB0dXJmL2hlbHBlcnMiKTtyLmRlZmF1bHQ9ZnVuY3Rpb24odCxlKXt2b2lkIDA9PT1lJiYoZT17fSk7dmFyIHI9MCxpPTAsbz0wO3JldHVybiBuLmNvb3JkRWFjaCh0LGZ1bmN0aW9uKHQpe3IrPXRbMF0saSs9dFsxXSxvKyt9KSxhLnBvaW50KFtyL28saS9vXSxlLnByb3BlcnRpZXMpfX0seyJAdHVyZi9oZWxwZXJzIjo2MCwiQHR1cmYvbWV0YSI6NjF9XSw2MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSxyKXt2b2lkIDA9PT1yJiYocj17fSk7dmFyIG49e3R5cGU6IkZlYXR1cmUifTtyZXR1cm4oMD09PXIuaWR8fHIuaWQpJiYobi5pZD1yLmlkKSxyLmJib3gmJihuLmJib3g9ci5iYm94KSxuLnByb3BlcnRpZXM9ZXx8e30sbi5nZW9tZXRyeT10LG59ZnVuY3Rpb24gYSh0LGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPXt9KSxuKHt0eXBlOiJQb2ludCIsY29vcmRpbmF0ZXM6dH0sZSxyKX1mdW5jdGlvbiBpKHQsZSxyKXt2b2lkIDA9PT1yJiYocj17fSk7Zm9yKHZhciBhPTAsaT10O2E8aS5sZW5ndGg7YSsrKXt2YXIgbz1pW2FdO2lmKG8ubGVuZ3RoPDQpdGhyb3cgbmV3IEVycm9yKCJFYWNoIExpbmVhclJpbmcgb2YgYSBQb2x5Z29uIG11c3QgaGF2ZSA0IG9yIG1vcmUgUG9zaXRpb25zLiIpO2Zvcih2YXIgcz0wO3M8b1tvLmxlbmd0aC0xXS5sZW5ndGg7cysrKWlmKG9bby5sZW5ndGgtMV1bc10hPT1vWzBdW3NdKXRocm93IG5ldyBFcnJvcigiRmlyc3QgYW5kIGxhc3QgUG9zaXRpb24gYXJlIG5vdCBlcXVpdmFsZW50LiIpfXJldHVybiBuKHt0eXBlOiJQb2x5Z29uIixjb29yZGluYXRlczp0fSxlLHIpfWZ1bmN0aW9uIG8odCxlLHIpe2lmKHZvaWQgMD09PXImJihyPXt9KSx0Lmxlbmd0aDwyKXRocm93IG5ldyBFcnJvcigiY29vcmRpbmF0ZXMgbXVzdCBiZSBhbiBhcnJheSBvZiB0d28gb3IgbW9yZSBwb3NpdGlvbnMiKTtyZXR1cm4gbih7dHlwZToiTGluZVN0cmluZyIsY29vcmRpbmF0ZXM6dH0sZSxyKX1mdW5jdGlvbiBzKHQsZSl7dm9pZCAwPT09ZSYmKGU9e30pO3ZhciByPXt0eXBlOiJGZWF0dXJlQ29sbGVjdGlvbiJ9O3JldHVybiBlLmlkJiYoci5pZD1lLmlkKSxlLmJib3gmJihyLmJib3g9ZS5iYm94KSxyLmZlYXR1cmVzPXQscn1mdW5jdGlvbiBsKHQsZSxyKXtyZXR1cm4gdm9pZCAwPT09ciYmKHI9e30pLG4oe3R5cGU6Ik11bHRpTGluZVN0cmluZyIsY29vcmRpbmF0ZXM6dH0sZSxyKX1mdW5jdGlvbiBjKHQsZSxyKXtyZXR1cm4gdm9pZCAwPT09ciYmKHI9e30pLG4oe3R5cGU6Ik11bHRpUG9pbnQiLGNvb3JkaW5hdGVzOnR9LGUscil9ZnVuY3Rpb24gdSh0LGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPXt9KSxuKHt0eXBlOiJNdWx0aVBvbHlnb24iLGNvb3JkaW5hdGVzOnR9LGUscil9ZnVuY3Rpb24gaCh0LGUpe3ZvaWQgMD09PWUmJihlPSJraWxvbWV0ZXJzIik7dmFyIG49ci5mYWN0b3JzW2VdO2lmKCFuKXRocm93IG5ldyBFcnJvcihlKyIgdW5pdHMgaXMgaW52YWxpZCIpO3JldHVybiB0Km59ZnVuY3Rpb24gZih0LGUpe3ZvaWQgMD09PWUmJihlPSJraWxvbWV0ZXJzIik7dmFyIG49ci5mYWN0b3JzW2VdO2lmKCFuKXRocm93IG5ldyBFcnJvcihlKyIgdW5pdHMgaXMgaW52YWxpZCIpO3JldHVybiB0L259ZnVuY3Rpb24gcCh0KXtyZXR1cm4gMTgwKih0JSgyKk1hdGguUEkpKS9NYXRoLlBJfWZ1bmN0aW9uIGQodCl7cmV0dXJuIWlzTmFOKHQpJiZudWxsIT09dCYmIUFycmF5LmlzQXJyYXkodCkmJiEvXlxzKiQvLnRlc3QodCl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHIuZWFydGhSYWRpdXM9NjM3MTAwOC44LHIuZmFjdG9ycz17Y2VudGltZXRlcnM6MTAwKnIuZWFydGhSYWRpdXMsY2VudGltZXRyZXM6MTAwKnIuZWFydGhSYWRpdXMsZGVncmVlczpyLmVhcnRoUmFkaXVzLzExMTMyNSxmZWV0OjMuMjgwODQqci5lYXJ0aFJhZGl1cyxpbmNoZXM6MzkuMzcqci5lYXJ0aFJhZGl1cyxraWxvbWV0ZXJzOnIuZWFydGhSYWRpdXMvMWUzLGtpbG9tZXRyZXM6ci5lYXJ0aFJhZGl1cy8xZTMsbWV0ZXJzOnIuZWFydGhSYWRpdXMsbWV0cmVzOnIuZWFydGhSYWRpdXMsbWlsZXM6ci5lYXJ0aFJhZGl1cy8xNjA5LjM0NCxtaWxsaW1ldGVyczoxZTMqci5lYXJ0aFJhZGl1cyxtaWxsaW1ldHJlczoxZTMqci5lYXJ0aFJhZGl1cyxuYXV0aWNhbG1pbGVzOnIuZWFydGhSYWRpdXMvMTg1MixyYWRpYW5zOjEseWFyZHM6ci5lYXJ0aFJhZGl1cy8xLjA5MzZ9LHIudW5pdHNGYWN0b3JzPXtjZW50aW1ldGVyczoxMDAsY2VudGltZXRyZXM6MTAwLGRlZ3JlZXM6MS8xMTEzMjUsZmVldDozLjI4MDg0LGluY2hlczozOS4zNyxraWxvbWV0ZXJzOi4wMDEsa2lsb21ldHJlczouMDAxLG1ldGVyczoxLG1ldHJlczoxLG1pbGVzOjEvMTYwOS4zNDQsbWlsbGltZXRlcnM6MWUzLG1pbGxpbWV0cmVzOjFlMyxuYXV0aWNhbG1pbGVzOjEvMTg1MixyYWRpYW5zOjEvci5lYXJ0aFJhZGl1cyx5YXJkczoxLzEuMDkzNn0sci5hcmVhRmFjdG9ycz17YWNyZXM6MjQ3MTA1ZS05LGNlbnRpbWV0ZXJzOjFlNCxjZW50aW1ldHJlczoxZTQsZmVldDoxMC43NjM5MTA0MTcsaW5jaGVzOjE1NTAuMDAzMTAwMDA2LGtpbG9tZXRlcnM6MWUtNixraWxvbWV0cmVzOjFlLTYsbWV0ZXJzOjEsbWV0cmVzOjEsbWlsZXM6My44NmUtNyxtaWxsaW1ldGVyczoxZTYsbWlsbGltZXRyZXM6MWU2LHlhcmRzOjEuMTk1OTkwMDQ2fSxyLmZlYXR1cmU9bixyLmdlb21ldHJ5PWZ1bmN0aW9uKHQsZSxyKXtzd2l0Y2godm9pZCAwPT09ciYmKHI9e30pLHQpe2Nhc2UiUG9pbnQiOnJldHVybiBhKGUpLmdlb21ldHJ5O2Nhc2UiTGluZVN0cmluZyI6cmV0dXJuIG8oZSkuZ2VvbWV0cnk7Y2FzZSJQb2x5Z29uIjpyZXR1cm4gaShlKS5nZW9tZXRyeTtjYXNlIk11bHRpUG9pbnQiOnJldHVybiBjKGUpLmdlb21ldHJ5O2Nhc2UiTXVsdGlMaW5lU3RyaW5nIjpyZXR1cm4gbChlKS5nZW9tZXRyeTtjYXNlIk11bHRpUG9seWdvbiI6cmV0dXJuIHUoZSkuZ2VvbWV0cnk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IodCsiIGlzIGludmFsaWQiKX19LHIucG9pbnQ9YSxyLnBvaW50cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPXt9KSxzKHQubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBhKHQsZSl9KSxyKX0sci5wb2x5Z29uPWksci5wb2x5Z29ucz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPXt9KSxzKHQubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBpKHQsZSl9KSxyKX0sci5saW5lU3RyaW5nPW8sci5saW5lU3RyaW5ncz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPXt9KSxzKHQubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBvKHQsZSl9KSxyKX0sci5mZWF0dXJlQ29sbGVjdGlvbj1zLHIubXVsdGlMaW5lU3RyaW5nPWwsci5tdWx0aVBvaW50PWMsci5tdWx0aVBvbHlnb249dSxyLmdlb21ldHJ5Q29sbGVjdGlvbj1mdW5jdGlvbih0LGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPXt9KSxuKHt0eXBlOiJHZW9tZXRyeUNvbGxlY3Rpb24iLGdlb21ldHJpZXM6dH0sZSxyKX0sci5yb3VuZD1mdW5jdGlvbih0LGUpe2lmKHZvaWQgMD09PWUmJihlPTApLGUmJiEoZT49MCkpdGhyb3cgbmV3IEVycm9yKCJwcmVjaXNpb24gbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlciIpO3ZhciByPU1hdGgucG93KDEwLGV8fDApO3JldHVybiBNYXRoLnJvdW5kKHQqcikvcn0sci5yYWRpYW5zVG9MZW5ndGg9aCxyLmxlbmd0aFRvUmFkaWFucz1mLHIubGVuZ3RoVG9EZWdyZWVzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHAoZih0LGUpKX0sci5iZWFyaW5nVG9BemltdXRoPWZ1bmN0aW9uKHQpe3ZhciBlPXQlMzYwO3JldHVybiBlPDAmJihlKz0zNjApLGV9LHIucmFkaWFuc1RvRGVncmVlcz1wLHIuZGVncmVlc1RvUmFkaWFucz1mdW5jdGlvbih0KXtyZXR1cm4gdCUzNjAqTWF0aC5QSS8xODB9LHIuY29udmVydExlbmd0aD1mdW5jdGlvbih0LGUscil7aWYodm9pZCAwPT09ZSYmKGU9ImtpbG9tZXRlcnMiKSx2b2lkIDA9PT1yJiYocj0ia2lsb21ldGVycyIpLCEodD49MCkpdGhyb3cgbmV3IEVycm9yKCJsZW5ndGggbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlciIpO3JldHVybiBoKGYodCxlKSxyKX0sci5jb252ZXJ0QXJlYT1mdW5jdGlvbih0LGUsbil7aWYodm9pZCAwPT09ZSYmKGU9Im1ldGVycyIpLHZvaWQgMD09PW4mJihuPSJraWxvbWV0ZXJzIiksISh0Pj0wKSl0aHJvdyBuZXcgRXJyb3IoImFyZWEgbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlciIpO3ZhciBhPXIuYXJlYUZhY3RvcnNbZV07aWYoIWEpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIG9yaWdpbmFsIHVuaXRzIik7dmFyIGk9ci5hcmVhRmFjdG9yc1tuXTtpZighaSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZmluYWwgdW5pdHMiKTtyZXR1cm4gdC9hKml9LHIuaXNOdW1iZXI9ZCxyLmlzT2JqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiEhdCYmdC5jb25zdHJ1Y3Rvcj09PU9iamVjdH0sci52YWxpZGF0ZUJCb3g9ZnVuY3Rpb24odCl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCJiYm94IGlzIHJlcXVpcmVkIik7aWYoIUFycmF5LmlzQXJyYXkodCkpdGhyb3cgbmV3IEVycm9yKCJiYm94IG11c3QgYmUgYW4gQXJyYXkiKTtpZig0IT09dC5sZW5ndGgmJjYhPT10Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImJib3ggbXVzdCBiZSBhbiBBcnJheSBvZiA0IG9yIDYgbnVtYmVycyIpO3QuZm9yRWFjaChmdW5jdGlvbih0KXtpZighZCh0KSl0aHJvdyBuZXcgRXJyb3IoImJib3ggbXVzdCBvbmx5IGNvbnRhaW4gbnVtYmVycyIpfSl9LHIudmFsaWRhdGVJZD1mdW5jdGlvbih0KXtpZighdCl0aHJvdyBuZXcgRXJyb3IoImlkIGlzIHJlcXVpcmVkIik7aWYoLTE9PT1bInN0cmluZyIsIm51bWJlciJdLmluZGV4T2YodHlwZW9mIHQpKXRocm93IG5ldyBFcnJvcigiaWQgbXVzdCBiZSBhIG51bWJlciBvciBhIHN0cmluZyIpfSxyLnJhZGlhbnMyZGVncmVlcz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigibWV0aG9kIGhhcyBiZWVuIHJlbmFtZWQgdG8gYHJhZGlhbnNUb0RlZ3JlZXNgIil9LHIuZGVncmVlczJyYWRpYW5zPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJtZXRob2QgaGFzIGJlZW4gcmVuYW1lZCB0byBgZGVncmVlc1RvUmFkaWFuc2AiKX0sci5kaXN0YW5jZVRvRGVncmVlcz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigibWV0aG9kIGhhcyBiZWVuIHJlbmFtZWQgdG8gYGxlbmd0aFRvRGVncmVlc2AiKX0sci5kaXN0YW5jZVRvUmFkaWFucz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigibWV0aG9kIGhhcyBiZWVuIHJlbmFtZWQgdG8gYGxlbmd0aFRvUmFkaWFuc2AiKX0sci5yYWRpYW5zVG9EaXN0YW5jZT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigibWV0aG9kIGhhcyBiZWVuIHJlbmFtZWQgdG8gYHJhZGlhbnNUb0xlbmd0aGAiKX0sci5iZWFyaW5nVG9BbmdsZT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigibWV0aG9kIGhhcyBiZWVuIHJlbmFtZWQgdG8gYGJlYXJpbmdUb0F6aW11dGhgIil9LHIuY29udmVydERpc3RhbmNlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJtZXRob2QgaGFzIGJlZW4gcmVuYW1lZCB0byBgY29udmVydExlbmd0aGAiKX19LHt9XSw2MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49dCgiQHR1cmYvaGVscGVycyIpO2Z1bmN0aW9uIGEodCxlLHIpe2lmKG51bGwhPT10KWZvcih2YXIgbixpLG8scyxsLGMsdSxoLGY9MCxwPTAsZD10LnR5cGUsZz0iRmVhdHVyZUNvbGxlY3Rpb24iPT09ZCx2PSJGZWF0dXJlIj09PWQsbT1nP3QuZmVhdHVyZXMubGVuZ3RoOjEseT0wO3k8bTt5Kyspe2w9KGg9ISEodT1nP3QuZmVhdHVyZXNbeV0uZ2VvbWV0cnk6dj90Lmdlb21ldHJ5OnQpJiYiR2VvbWV0cnlDb2xsZWN0aW9uIj09PXUudHlwZSk/dS5nZW9tZXRyaWVzLmxlbmd0aDoxO2Zvcih2YXIgeD0wO3g8bDt4Kyspe3ZhciBiPTAsXz0wO2lmKG51bGwhPT0ocz1oP3UuZ2VvbWV0cmllc1t4XTp1KSl7Yz1zLmNvb3JkaW5hdGVzO3ZhciB3PXMudHlwZTtzd2l0Y2goZj0hcnx8IlBvbHlnb24iIT09dyYmIk11bHRpUG9seWdvbiIhPT13PzA6MSx3KXtjYXNlIG51bGw6YnJlYWs7Y2FzZSJQb2ludCI6aWYoITE9PT1lKGMscCx5LGIsXykpcmV0dXJuITE7cCsrLGIrKzticmVhaztjYXNlIkxpbmVTdHJpbmciOmNhc2UiTXVsdGlQb2ludCI6Zm9yKG49MDtuPGMubGVuZ3RoO24rKyl7aWYoITE9PT1lKGNbbl0scCx5LGIsXykpcmV0dXJuITE7cCsrLCJNdWx0aVBvaW50Ij09PXcmJmIrK30iTGluZVN0cmluZyI9PT13JiZiKys7YnJlYWs7Y2FzZSJQb2x5Z29uIjpjYXNlIk11bHRpTGluZVN0cmluZyI6Zm9yKG49MDtuPGMubGVuZ3RoO24rKyl7Zm9yKGk9MDtpPGNbbl0ubGVuZ3RoLWY7aSsrKXtpZighMT09PWUoY1tuXVtpXSxwLHksYixfKSlyZXR1cm4hMTtwKyt9Ik11bHRpTGluZVN0cmluZyI9PT13JiZiKyssIlBvbHlnb24iPT09dyYmXysrfSJQb2x5Z29uIj09PXcmJmIrKzticmVhaztjYXNlIk11bHRpUG9seWdvbiI6Zm9yKG49MDtuPGMubGVuZ3RoO24rKyl7Zm9yKF89MCxpPTA7aTxjW25dLmxlbmd0aDtpKyspe2ZvcihvPTA7bzxjW25dW2ldLmxlbmd0aC1mO28rKyl7aWYoITE9PT1lKGNbbl1baV1bb10scCx5LGIsXykpcmV0dXJuITE7cCsrfV8rK31iKyt9YnJlYWs7Y2FzZSJHZW9tZXRyeUNvbGxlY3Rpb24iOmZvcihuPTA7bjxzLmdlb21ldHJpZXMubGVuZ3RoO24rKylpZighMT09PWEocy5nZW9tZXRyaWVzW25dLGUscikpcmV0dXJuITE7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gR2VvbWV0cnkgVHlwZSIpfX19fX1mdW5jdGlvbiBpKHQsZSl7dmFyIHI7c3dpdGNoKHQudHlwZSl7Y2FzZSJGZWF0dXJlQ29sbGVjdGlvbiI6Zm9yKHI9MDtyPHQuZmVhdHVyZXMubGVuZ3RoJiYhMSE9PWUodC5mZWF0dXJlc1tyXS5wcm9wZXJ0aWVzLHIpO3IrKyk7YnJlYWs7Y2FzZSJGZWF0dXJlIjplKHQucHJvcGVydGllcywwKX19ZnVuY3Rpb24gbyh0LGUpe2lmKCJGZWF0dXJlIj09PXQudHlwZSllKHQsMCk7ZWxzZSBpZigiRmVhdHVyZUNvbGxlY3Rpb24iPT09dC50eXBlKWZvcih2YXIgcj0wO3I8dC5mZWF0dXJlcy5sZW5ndGgmJiExIT09ZSh0LmZlYXR1cmVzW3JdLHIpO3IrKyk7fWZ1bmN0aW9uIHModCxlKXt2YXIgcixuLGEsaSxvLHMsbCxjLHUsaCxmPTAscD0iRmVhdHVyZUNvbGxlY3Rpb24iPT09dC50eXBlLGQ9IkZlYXR1cmUiPT09dC50eXBlLGc9cD90LmZlYXR1cmVzLmxlbmd0aDoxO2ZvcihyPTA7cjxnO3IrKyl7Zm9yKHM9cD90LmZlYXR1cmVzW3JdLmdlb21ldHJ5OmQ/dC5nZW9tZXRyeTp0LGM9cD90LmZlYXR1cmVzW3JdLnByb3BlcnRpZXM6ZD90LnByb3BlcnRpZXM6e30sdT1wP3QuZmVhdHVyZXNbcl0uYmJveDpkP3QuYmJveDp2b2lkIDAsaD1wP3QuZmVhdHVyZXNbcl0uaWQ6ZD90LmlkOnZvaWQgMCxvPShsPSEhcyYmIkdlb21ldHJ5Q29sbGVjdGlvbiI9PT1zLnR5cGUpP3MuZ2VvbWV0cmllcy5sZW5ndGg6MSxhPTA7YTxvO2ErKylpZihudWxsIT09KGk9bD9zLmdlb21ldHJpZXNbYV06cykpc3dpdGNoKGkudHlwZSl7Y2FzZSJQb2ludCI6Y2FzZSJMaW5lU3RyaW5nIjpjYXNlIk11bHRpUG9pbnQiOmNhc2UiUG9seWdvbiI6Y2FzZSJNdWx0aUxpbmVTdHJpbmciOmNhc2UiTXVsdGlQb2x5Z29uIjppZighMT09PWUoaSxmLGMsdSxoKSlyZXR1cm4hMTticmVhaztjYXNlIkdlb21ldHJ5Q29sbGVjdGlvbiI6Zm9yKG49MDtuPGkuZ2VvbWV0cmllcy5sZW5ndGg7bisrKWlmKCExPT09ZShpLmdlb21ldHJpZXNbbl0sZixjLHUsaCkpcmV0dXJuITE7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gR2VvbWV0cnkgVHlwZSIpfWVsc2UgaWYoITE9PT1lKG51bGwsZixjLHUsaCkpcmV0dXJuITE7ZisrfX1mdW5jdGlvbiBsKHQsZSl7cyh0LGZ1bmN0aW9uKHQscixhLGksbyl7dmFyIHMsbD1udWxsPT09dD9udWxsOnQudHlwZTtzd2l0Y2gobCl7Y2FzZSBudWxsOmNhc2UiUG9pbnQiOmNhc2UiTGluZVN0cmluZyI6Y2FzZSJQb2x5Z29uIjpyZXR1cm4hMSE9PWUobi5mZWF0dXJlKHQsYSx7YmJveDppLGlkOm99KSxyLDApJiZ2b2lkIDB9c3dpdGNoKGwpe2Nhc2UiTXVsdGlQb2ludCI6cz0iUG9pbnQiO2JyZWFrO2Nhc2UiTXVsdGlMaW5lU3RyaW5nIjpzPSJMaW5lU3RyaW5nIjticmVhaztjYXNlIk11bHRpUG9seWdvbiI6cz0iUG9seWdvbiJ9Zm9yKHZhciBjPTA7Yzx0LmNvb3JkaW5hdGVzLmxlbmd0aDtjKyspe3ZhciB1PXt0eXBlOnMsY29vcmRpbmF0ZXM6dC5jb29yZGluYXRlc1tjXX07aWYoITE9PT1lKG4uZmVhdHVyZSh1LGEpLHIsYykpcmV0dXJuITF9fSl9ZnVuY3Rpb24gYyh0LGUpe2wodCxmdW5jdGlvbih0LHIsaSl7dmFyIG89MDtpZih0Lmdlb21ldHJ5KXt2YXIgcz10Lmdlb21ldHJ5LnR5cGU7aWYoIlBvaW50IiE9PXMmJiJNdWx0aVBvaW50IiE9PXMpe3ZhciBsLGM9MCx1PTAsaD0wO3JldHVybiExIT09YSh0LGZ1bmN0aW9uKGEscyxmLHAsZCl7aWYodm9pZCAwPT09bHx8cj5jfHxwPnV8fGQ+aClyZXR1cm4gbD1hLGM9cix1PXAsaD1kLHZvaWQobz0wKTt2YXIgZz1uLmxpbmVTdHJpbmcoW2wsYV0sdC5wcm9wZXJ0aWVzKTtpZighMT09PWUoZyxyLGksZCxvKSlyZXR1cm4hMTtvKyssbD1hfSkmJnZvaWQgMH19fSl9ZnVuY3Rpb24gdSh0LGUpe2lmKCF0KXRocm93IG5ldyBFcnJvcigiZ2VvanNvbiBpcyByZXF1aXJlZCIpO2wodCxmdW5jdGlvbih0LHIsYSl7aWYobnVsbCE9PXQuZ2VvbWV0cnkpe3ZhciBpPXQuZ2VvbWV0cnkudHlwZSxvPXQuZ2VvbWV0cnkuY29vcmRpbmF0ZXM7c3dpdGNoKGkpe2Nhc2UiTGluZVN0cmluZyI6aWYoITE9PT1lKHQscixhLDAsMCkpcmV0dXJuITE7YnJlYWs7Y2FzZSJQb2x5Z29uIjpmb3IodmFyIHM9MDtzPG8ubGVuZ3RoO3MrKylpZighMT09PWUobi5saW5lU3RyaW5nKG9bc10sdC5wcm9wZXJ0aWVzKSxyLGEscykpcmV0dXJuITF9fX0pfXIuY29vcmRFYWNoPWEsci5jb29yZFJlZHVjZT1mdW5jdGlvbih0LGUscixuKXt2YXIgaT1yO3JldHVybiBhKHQsZnVuY3Rpb24odCxuLGEsbyxzKXtpPTA9PT1uJiZ2b2lkIDA9PT1yP3Q6ZShpLHQsbixhLG8scyl9LG4pLGl9LHIucHJvcEVhY2g9aSxyLnByb3BSZWR1Y2U9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXI7cmV0dXJuIGkodCxmdW5jdGlvbih0LGEpe249MD09PWEmJnZvaWQgMD09PXI/dDplKG4sdCxhKX0pLG59LHIuZmVhdHVyZUVhY2g9byxyLmZlYXR1cmVSZWR1Y2U9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXI7cmV0dXJuIG8odCxmdW5jdGlvbih0LGEpe249MD09PWEmJnZvaWQgMD09PXI/dDplKG4sdCxhKX0pLG59LHIuY29vcmRBbGw9ZnVuY3Rpb24odCl7dmFyIGU9W107cmV0dXJuIGEodCxmdW5jdGlvbih0KXtlLnB1c2godCl9KSxlfSxyLmdlb21FYWNoPXMsci5nZW9tUmVkdWNlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yO3JldHVybiBzKHQsZnVuY3Rpb24odCxhLGksbyxzKXtuPTA9PT1hJiZ2b2lkIDA9PT1yP3Q6ZShuLHQsYSxpLG8scyl9KSxufSxyLmZsYXR0ZW5FYWNoPWwsci5mbGF0dGVuUmVkdWNlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yO3JldHVybiBsKHQsZnVuY3Rpb24odCxhLGkpe249MD09PWEmJjA9PT1pJiZ2b2lkIDA9PT1yP3Q6ZShuLHQsYSxpKX0pLG59LHIuc2VnbWVudEVhY2g9YyxyLnNlZ21lbnRSZWR1Y2U9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIsYT0hMTtyZXR1cm4gYyh0LGZ1bmN0aW9uKHQsaSxvLHMsbCl7bj0hMT09PWEmJnZvaWQgMD09PXI/dDplKG4sdCxpLG8scyxsKSxhPSEwfSksbn0sci5saW5lRWFjaD11LHIubGluZVJlZHVjZT1mdW5jdGlvbih0LGUscil7dmFyIG49cjtyZXR1cm4gdSh0LGZ1bmN0aW9uKHQsYSxpLG8pe249MD09PWEmJnZvaWQgMD09PXI/dDplKG4sdCxhLGksbyl9KSxufSxyLmZpbmRTZWdtZW50PWZ1bmN0aW9uKHQsZSl7aWYoZT1lfHx7fSwhbi5pc09iamVjdChlKSl0aHJvdyBuZXcgRXJyb3IoIm9wdGlvbnMgaXMgaW52YWxpZCIpO3ZhciByLGE9ZS5mZWF0dXJlSW5kZXh8fDAsaT1lLm11bHRpRmVhdHVyZUluZGV4fHwwLG89ZS5nZW9tZXRyeUluZGV4fHwwLHM9ZS5zZWdtZW50SW5kZXh8fDAsbD1lLnByb3BlcnRpZXM7c3dpdGNoKHQudHlwZSl7Y2FzZSJGZWF0dXJlQ29sbGVjdGlvbiI6YTwwJiYoYT10LmZlYXR1cmVzLmxlbmd0aCthKSxsPWx8fHQuZmVhdHVyZXNbYV0ucHJvcGVydGllcyxyPXQuZmVhdHVyZXNbYV0uZ2VvbWV0cnk7YnJlYWs7Y2FzZSJGZWF0dXJlIjpsPWx8fHQucHJvcGVydGllcyxyPXQuZ2VvbWV0cnk7YnJlYWs7Y2FzZSJQb2ludCI6Y2FzZSJNdWx0aVBvaW50IjpyZXR1cm4gbnVsbDtjYXNlIkxpbmVTdHJpbmciOmNhc2UiUG9seWdvbiI6Y2FzZSJNdWx0aUxpbmVTdHJpbmciOmNhc2UiTXVsdGlQb2x5Z29uIjpyPXQ7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImdlb2pzb24gaXMgaW52YWxpZCIpfWlmKG51bGw9PT1yKXJldHVybiBudWxsO3ZhciBjPXIuY29vcmRpbmF0ZXM7c3dpdGNoKHIudHlwZSl7Y2FzZSJQb2ludCI6Y2FzZSJNdWx0aVBvaW50IjpyZXR1cm4gbnVsbDtjYXNlIkxpbmVTdHJpbmciOnJldHVybiBzPDAmJihzPWMubGVuZ3RoK3MtMSksbi5saW5lU3RyaW5nKFtjW3NdLGNbcysxXV0sbCxlKTtjYXNlIlBvbHlnb24iOnJldHVybiBvPDAmJihvPWMubGVuZ3RoK28pLHM8MCYmKHM9Y1tvXS5sZW5ndGgrcy0xKSxuLmxpbmVTdHJpbmcoW2Nbb11bc10sY1tvXVtzKzFdXSxsLGUpO2Nhc2UiTXVsdGlMaW5lU3RyaW5nIjpyZXR1cm4gaTwwJiYoaT1jLmxlbmd0aCtpKSxzPDAmJihzPWNbaV0ubGVuZ3RoK3MtMSksbi5saW5lU3RyaW5nKFtjW2ldW3NdLGNbaV1bcysxXV0sbCxlKTtjYXNlIk11bHRpUG9seWdvbiI6cmV0dXJuIGk8MCYmKGk9Yy5sZW5ndGgraSksbzwwJiYobz1jW2ldLmxlbmd0aCtvKSxzPDAmJihzPWNbaV1bb10ubGVuZ3RoLXMtMSksbi5saW5lU3RyaW5nKFtjW2ldW29dW3NdLGNbaV1bb11bcysxXV0sbCxlKX10aHJvdyBuZXcgRXJyb3IoImdlb2pzb24gaXMgaW52YWxpZCIpfSxyLmZpbmRQb2ludD1mdW5jdGlvbih0LGUpe2lmKGU9ZXx8e30sIW4uaXNPYmplY3QoZSkpdGhyb3cgbmV3IEVycm9yKCJvcHRpb25zIGlzIGludmFsaWQiKTt2YXIgcixhPWUuZmVhdHVyZUluZGV4fHwwLGk9ZS5tdWx0aUZlYXR1cmVJbmRleHx8MCxvPWUuZ2VvbWV0cnlJbmRleHx8MCxzPWUuY29vcmRJbmRleHx8MCxsPWUucHJvcGVydGllcztzd2l0Y2godC50eXBlKXtjYXNlIkZlYXR1cmVDb2xsZWN0aW9uIjphPDAmJihhPXQuZmVhdHVyZXMubGVuZ3RoK2EpLGw9bHx8dC5mZWF0dXJlc1thXS5wcm9wZXJ0aWVzLHI9dC5mZWF0dXJlc1thXS5nZW9tZXRyeTticmVhaztjYXNlIkZlYXR1cmUiOmw9bHx8dC5wcm9wZXJ0aWVzLHI9dC5nZW9tZXRyeTticmVhaztjYXNlIlBvaW50IjpjYXNlIk11bHRpUG9pbnQiOnJldHVybiBudWxsO2Nhc2UiTGluZVN0cmluZyI6Y2FzZSJQb2x5Z29uIjpjYXNlIk11bHRpTGluZVN0cmluZyI6Y2FzZSJNdWx0aVBvbHlnb24iOnI9dDticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiZ2VvanNvbiBpcyBpbnZhbGlkIil9aWYobnVsbD09PXIpcmV0dXJuIG51bGw7dmFyIGM9ci5jb29yZGluYXRlcztzd2l0Y2goci50eXBlKXtjYXNlIlBvaW50IjpyZXR1cm4gbi5wb2ludChjLGwsZSk7Y2FzZSJNdWx0aVBvaW50IjpyZXR1cm4gaTwwJiYoaT1jLmxlbmd0aCtpKSxuLnBvaW50KGNbaV0sbCxlKTtjYXNlIkxpbmVTdHJpbmciOnJldHVybiBzPDAmJihzPWMubGVuZ3RoK3MpLG4ucG9pbnQoY1tzXSxsLGUpO2Nhc2UiUG9seWdvbiI6cmV0dXJuIG88MCYmKG89Yy5sZW5ndGgrbyksczwwJiYocz1jW29dLmxlbmd0aCtzKSxuLnBvaW50KGNbb11bc10sbCxlKTtjYXNlIk11bHRpTGluZVN0cmluZyI6cmV0dXJuIGk8MCYmKGk9Yy5sZW5ndGgraSksczwwJiYocz1jW2ldLmxlbmd0aCtzKSxuLnBvaW50KGNbaV1bc10sbCxlKTtjYXNlIk11bHRpUG9seWdvbiI6cmV0dXJuIGk8MCYmKGk9Yy5sZW5ndGgraSksbzwwJiYobz1jW2ldLmxlbmd0aCtvKSxzPDAmJihzPWNbaV1bb10ubGVuZ3RoLXMpLG4ucG9pbnQoY1tpXVtvXVtzXSxsLGUpfXRocm93IG5ldyBFcnJvcigiZ2VvanNvbiBpcyBpbnZhbGlkIil9fSx7IkB0dXJmL2hlbHBlcnMiOjYwfV0sNjI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49InVuZGVmaW5lZCI9PXR5cGVvZiBXZWFrTWFwP3QoIndlYWstbWFwIik6V2Vha01hcCxhPXQoImdsLWJ1ZmZlciIpLGk9dCgiZ2wtdmFvIiksbz1uZXcgbjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9by5nZXQodCkscj1lJiYoZS5fdHJpYW5nbGVCdWZmZXIuaGFuZGxlfHxlLl90cmlhbmdsZUJ1ZmZlci5idWZmZXIpO2lmKCFyfHwhdC5pc0J1ZmZlcihyKSl7dmFyIG49YSh0LG5ldyBGbG9hdDMyQXJyYXkoWy0xLC0xLC0xLDQsNCwtMV0pKTsoZT1pKHQsW3tidWZmZXI6bix0eXBlOnQuRkxPQVQsc2l6ZToyfV0pKS5fdHJpYW5nbGVCdWZmZXI9bixvLnNldCh0LGUpfWUuYmluZCgpLHQuZHJhd0FycmF5cyh0LlRSSUFOR0xFUywwLDMpLGUudW5iaW5kKCl9fSx7ImdsLWJ1ZmZlciI6MjQ0LCJnbC12YW8iOjMyOSwid2Vhay1tYXAiOjU1MX1dLDYzOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPTAscj0wLG49MCxhPTA7cmV0dXJuIHQubWFwKGZ1bmN0aW9uKHQpe3ZhciBpPSh0PXQuc2xpY2UoKSlbMF0sbz1pLnRvVXBwZXJDYXNlKCk7aWYoaSE9bylzd2l0Y2godFswXT1vLGkpe2Nhc2UiYSI6dFs2XSs9bix0WzddKz1hO2JyZWFrO2Nhc2UidiI6dFsxXSs9YTticmVhaztjYXNlImgiOnRbMV0rPW47YnJlYWs7ZGVmYXVsdDpmb3IodmFyIHM9MTtzPHQubGVuZ3RoOyl0W3MrK10rPW4sdFtzKytdKz1hfXN3aXRjaChvKXtjYXNlIloiOm49ZSxhPXI7YnJlYWs7Y2FzZSJIIjpuPXRbMV07YnJlYWs7Y2FzZSJWIjphPXRbMV07YnJlYWs7Y2FzZSJNIjpuPWU9dFsxXSxhPXI9dFsyXTticmVhaztkZWZhdWx0Om49dFt0Lmxlbmd0aC0yXSxhPXRbdC5sZW5ndGgtMV19cmV0dXJuIHR9KX19LHt9XSw2NDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoInBhZC1sZWZ0Iik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtlPSJudW1iZXIiPT10eXBlb2YgZT9lOjEscj1yfHwiOiAiO3ZhciBhPXQuc3BsaXQoL1xyP1xuLyksaT1TdHJpbmcoYS5sZW5ndGgrZS0xKS5sZW5ndGg7cmV0dXJuIGEubWFwKGZ1bmN0aW9uKHQsYSl7dmFyIG89YStlLHM9U3RyaW5nKG8pLmxlbmd0aCxsPW4obyxpLXMpO3JldHVybiBsK3IrdH0pLmpvaW4oIlxuIil9fSx7InBhZC1sZWZ0Ijo0NTl9XSw2NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7aWYoMD09PWUpcmV0dXJuW107aWYoMT09PWUpcmV0dXJuWzBdO2Zvcih2YXIgcj10WzBdLmxlbmd0aCxuPVt0WzBdXSxpPVswXSxvPTE7bzxlOysrbylpZihuLnB1c2godFtvXSksYShuLHIpKXtpZihpLnB1c2gobyksaS5sZW5ndGg9PT1yKzEpcmV0dXJuIGl9ZWxzZSBuLnBvcCgpO3JldHVybiBpfTt2YXIgbj10KCJyb2J1c3Qtb3JpZW50YXRpb24iKTtmdW5jdGlvbiBhKHQsZSl7Zm9yKHZhciByPW5ldyBBcnJheShlKzEpLGE9MDthPHQubGVuZ3RoOysrYSlyW2FdPXRbYV07Zm9yKGE9MDthPD10Lmxlbmd0aDsrK2Epe2Zvcih2YXIgaT10Lmxlbmd0aDtpPD1lOysraSl7Zm9yKHZhciBvPW5ldyBBcnJheShlKSxzPTA7czxlOysrcylvW3NdPU1hdGgucG93KGkrMS1hLHMpO3JbaV09b31pZihuLmFwcGx5KHZvaWQgMCxyKSlyZXR1cm4hMH1yZXR1cm4hMX19LHsicm9idXN0LW9yaWVudGF0aW9uIjo1MDl9XSw2NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbihlKS5maWx0ZXIoZnVuY3Rpb24ocil7Zm9yKHZhciBuPW5ldyBBcnJheShyLmxlbmd0aCksaT0wO2k8ci5sZW5ndGg7KytpKW5baV09ZVtyW2ldXTtyZXR1cm4gYShuKSp0PDF9KX07dmFyIG49dCgiZGVsYXVuYXktdHJpYW5ndWxhdGUiKSxhPXQoImNpcmN1bXJhZGl1cyIpfSx7Y2lyY3VtcmFkaXVzOjExNiwiZGVsYXVuYXktdHJpYW5ndWxhdGUiOjE2N31dLDY3OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGEobih0LGUpKX07dmFyIG49dCgiYWxwaGEtY29tcGxleCIpLGE9dCgic2ltcGxpY2lhbC1jb21wbGV4LWJvdW5kYXJ5Iil9LHsiYWxwaGEtY29tcGxleCI6NjYsInNpbXBsaWNpYWwtY29tcGxleC1ib3VuZGFyeSI6NTE2fV0sNjg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYoIXR8fG51bGw9PXQubGVuZ3RoKXRocm93IEVycm9yKCJBcmd1bWVudCBzaG91bGQgYmUgYW4gYXJyYXkiKTtlPW51bGw9PWU/MTpNYXRoLmZsb29yKGUpO2Zvcih2YXIgcj1BcnJheSgyKmUpLG49MDtuPGU7bisrKXtmb3IodmFyIGE9LTEvMCxpPTEvMCxvPW4scz10Lmxlbmd0aDtvPHM7bys9ZSl0W29dPmEmJihhPXRbb10pLHRbb108aSYmKGk9dFtvXSk7cltuXT1pLHJbZStuXT1hfXJldHVybiByfX0se31dLDY5OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9Im51bWJlciI9PXR5cGVvZiB0LG49Im51bWJlciI9PXR5cGVvZiBlO3ImJiFuPyhlPXQsdD0wKTpyfHxufHwodD0wLGU9MCk7dmFyIGE9KGV8PTApLSh0fD0wKTtpZihhPDApdGhyb3cgbmV3IEVycm9yKCJhcnJheSBsZW5ndGggbXVzdCBiZSBwb3NpdGl2ZSIpO2Zvcih2YXIgaT1uZXcgQXJyYXkoYSksbz0wLHM9dDtvPGE7bysrLHMrKylpW29dPXM7cmV0dXJuIGl9fSx7fV0sNzA6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIm9iamVjdC1hc3NpZ24iKTtmdW5jdGlvbiBhKHQsZSl7aWYodD09PWUpcmV0dXJuIDA7Zm9yKHZhciByPXQubGVuZ3RoLG49ZS5sZW5ndGgsYT0wLGk9TWF0aC5taW4ocixuKTthPGk7KythKWlmKHRbYV0hPT1lW2FdKXtyPXRbYV0sbj1lW2FdO2JyZWFrfXJldHVybiByPG4/LTE6bjxyPzE6MH1mdW5jdGlvbiBpKHQpe3JldHVybiByLkJ1ZmZlciYmImZ1bmN0aW9uIj09dHlwZW9mIHIuQnVmZmVyLmlzQnVmZmVyP3IuQnVmZmVyLmlzQnVmZmVyKHQpOiEobnVsbD09dHx8IXQuX2lzQnVmZmVyKX12YXIgbz10KCJ1dGlsLyIpLHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxsPUFycmF5LnByb3RvdHlwZS5zbGljZSxjPSJmb28iPT09ZnVuY3Rpb24oKXt9Lm5hbWU7ZnVuY3Rpb24gdSh0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfWZ1bmN0aW9uIGgodCl7cmV0dXJuIWkodCkmJigiZnVuY3Rpb24iPT10eXBlb2Ygci5BcnJheUJ1ZmZlciYmKCJmdW5jdGlvbiI9PXR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXc/QXJyYXlCdWZmZXIuaXNWaWV3KHQpOiEhdCYmKHQgaW5zdGFuY2VvZiBEYXRhVmlld3x8ISEodC5idWZmZXImJnQuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKSkpfXZhciBmPWUuZXhwb3J0cz15LHA9L1xzKmZ1bmN0aW9uXHMrKFteXChcc10qKVxzKi87ZnVuY3Rpb24gZCh0KXtpZihvLmlzRnVuY3Rpb24odCkpe2lmKGMpcmV0dXJuIHQubmFtZTt2YXIgZT10LnRvU3RyaW5nKCkubWF0Y2gocCk7cmV0dXJuIGUmJmVbMV19fWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/dC5sZW5ndGg8ZT90OnQuc2xpY2UoMCxlKTp0fWZ1bmN0aW9uIHYodCl7aWYoY3x8IW8uaXNGdW5jdGlvbih0KSlyZXR1cm4gby5pbnNwZWN0KHQpO3ZhciBlPWQodCk7cmV0dXJuIltGdW5jdGlvbiIrKGU/IjogIitlOiIiKSsiXSJ9ZnVuY3Rpb24gbSh0LGUscixuLGEpe3Rocm93IG5ldyBmLkFzc2VydGlvbkVycm9yKHttZXNzYWdlOnIsYWN0dWFsOnQsZXhwZWN0ZWQ6ZSxvcGVyYXRvcjpuLHN0YWNrU3RhcnRGdW5jdGlvbjphfSl9ZnVuY3Rpb24geSh0LGUpe3R8fG0odCwhMCxlLCI9PSIsZi5vayl9ZnVuY3Rpb24geCh0LGUscixuKXtpZih0PT09ZSlyZXR1cm4hMDtpZihpKHQpJiZpKGUpKXJldHVybiAwPT09YSh0LGUpO2lmKG8uaXNEYXRlKHQpJiZvLmlzRGF0ZShlKSlyZXR1cm4gdC5nZXRUaW1lKCk9PT1lLmdldFRpbWUoKTtpZihvLmlzUmVnRXhwKHQpJiZvLmlzUmVnRXhwKGUpKXJldHVybiB0LnNvdXJjZT09PWUuc291cmNlJiZ0Lmdsb2JhbD09PWUuZ2xvYmFsJiZ0Lm11bHRpbGluZT09PWUubXVsdGlsaW5lJiZ0Lmxhc3RJbmRleD09PWUubGFzdEluZGV4JiZ0Lmlnbm9yZUNhc2U9PT1lLmlnbm9yZUNhc2U7aWYobnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdHx8bnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSl7aWYoaCh0KSYmaChlKSYmdSh0KT09PXUoZSkmJiEodCBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheXx8dCBpbnN0YW5jZW9mIEZsb2F0NjRBcnJheSkpcmV0dXJuIDA9PT1hKG5ldyBVaW50OEFycmF5KHQuYnVmZmVyKSxuZXcgVWludDhBcnJheShlLmJ1ZmZlcikpO2lmKGkodCkhPT1pKGUpKXJldHVybiExO3ZhciBzPShuPW58fHthY3R1YWw6W10sZXhwZWN0ZWQ6W119KS5hY3R1YWwuaW5kZXhPZih0KTtyZXR1cm4tMSE9PXMmJnM9PT1uLmV4cGVjdGVkLmluZGV4T2YoZSl8fChuLmFjdHVhbC5wdXNoKHQpLG4uZXhwZWN0ZWQucHVzaChlKSxmdW5jdGlvbih0LGUscixuKXtpZihudWxsPT10fHxudWxsPT1lKXJldHVybiExO2lmKG8uaXNQcmltaXRpdmUodCl8fG8uaXNQcmltaXRpdmUoZSkpcmV0dXJuIHQ9PT1lO2lmKHImJk9iamVjdC5nZXRQcm90b3R5cGVPZih0KSE9PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKSlyZXR1cm4hMTt2YXIgYT1iKHQpLGk9YihlKTtpZihhJiYhaXx8IWEmJmkpcmV0dXJuITE7aWYoYSlyZXR1cm4gdD1sLmNhbGwodCksZT1sLmNhbGwoZSkseCh0LGUscik7dmFyIHMsYyx1PWsodCksaD1rKGUpO2lmKHUubGVuZ3RoIT09aC5sZW5ndGgpcmV0dXJuITE7Zm9yKHUuc29ydCgpLGguc29ydCgpLGM9dS5sZW5ndGgtMTtjPj0wO2MtLSlpZih1W2NdIT09aFtjXSlyZXR1cm4hMTtmb3IoYz11Lmxlbmd0aC0xO2M+PTA7Yy0tKWlmKHM9dVtjXSwheCh0W3NdLGVbc10scixuKSlyZXR1cm4hMTtyZXR1cm4hMH0odCxlLHIsbikpfXJldHVybiByP3Q9PT1lOnQ9PWV9ZnVuY3Rpb24gYih0KXtyZXR1cm4iW29iamVjdCBBcmd1bWVudHNdIj09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfWZ1bmN0aW9uIF8odCxlKXtpZighdHx8IWUpcmV0dXJuITE7aWYoIltvYmplY3QgUmVnRXhwXSI9PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSlyZXR1cm4gZS50ZXN0KHQpO3RyeXtpZih0IGluc3RhbmNlb2YgZSlyZXR1cm4hMH1jYXRjaCh0KXt9cmV0dXJuIUVycm9yLmlzUHJvdG90eXBlT2YoZSkmJiEwPT09ZS5jYWxsKHt9LHQpfWZ1bmN0aW9uIHcodCxlLHIsbil7dmFyIGE7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignImJsb2NrIiBhcmd1bWVudCBtdXN0IGJlIGEgZnVuY3Rpb24nKTsic3RyaW5nIj09dHlwZW9mIHImJihuPXIscj1udWxsKSxhPWZ1bmN0aW9uKHQpe3ZhciBlO3RyeXt0KCl9Y2F0Y2godCl7ZT10fXJldHVybiBlfShlKSxuPShyJiZyLm5hbWU/IiAoIityLm5hbWUrIikuIjoiLiIpKyhuPyIgIituOiIuIiksdCYmIWEmJm0oYSxyLCJNaXNzaW5nIGV4cGVjdGVkIGV4Y2VwdGlvbiIrbik7dmFyIGk9InN0cmluZyI9PXR5cGVvZiBuLHM9IXQmJmEmJiFyO2lmKCghdCYmby5pc0Vycm9yKGEpJiZpJiZfKGEscil8fHMpJiZtKGEsciwiR290IHVud2FudGVkIGV4Y2VwdGlvbiIrbiksdCYmYSYmciYmIV8oYSxyKXx8IXQmJmEpdGhyb3cgYX1mLkFzc2VydGlvbkVycm9yPWZ1bmN0aW9uKHQpe3ZhciBlO3RoaXMubmFtZT0iQXNzZXJ0aW9uRXJyb3IiLHRoaXMuYWN0dWFsPXQuYWN0dWFsLHRoaXMuZXhwZWN0ZWQ9dC5leHBlY3RlZCx0aGlzLm9wZXJhdG9yPXQub3BlcmF0b3IsdC5tZXNzYWdlPyh0aGlzLm1lc3NhZ2U9dC5tZXNzYWdlLHRoaXMuZ2VuZXJhdGVkTWVzc2FnZT0hMSk6KHRoaXMubWVzc2FnZT1nKHYoKGU9dGhpcykuYWN0dWFsKSwxMjgpKyIgIitlLm9wZXJhdG9yKyIgIitnKHYoZS5leHBlY3RlZCksMTI4KSx0aGlzLmdlbmVyYXRlZE1lc3NhZ2U9ITApO3ZhciByPXQuc3RhY2tTdGFydEZ1bmN0aW9ufHxtO2lmKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKUVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMscik7ZWxzZXt2YXIgbj1uZXcgRXJyb3I7aWYobi5zdGFjayl7dmFyIGE9bi5zdGFjayxpPWQociksbz1hLmluZGV4T2YoIlxuIitpKTtpZihvPj0wKXt2YXIgcz1hLmluZGV4T2YoIlxuIixvKzEpO2E9YS5zdWJzdHJpbmcocysxKX10aGlzLnN0YWNrPWF9fX0sby5pbmhlcml0cyhmLkFzc2VydGlvbkVycm9yLEVycm9yKSxmLmZhaWw9bSxmLm9rPXksZi5lcXVhbD1mdW5jdGlvbih0LGUscil7dCE9ZSYmbSh0LGUsciwiPT0iLGYuZXF1YWwpfSxmLm5vdEVxdWFsPWZ1bmN0aW9uKHQsZSxyKXt0PT1lJiZtKHQsZSxyLCIhPSIsZi5ub3RFcXVhbCl9LGYuZGVlcEVxdWFsPWZ1bmN0aW9uKHQsZSxyKXt4KHQsZSwhMSl8fG0odCxlLHIsImRlZXBFcXVhbCIsZi5kZWVwRXF1YWwpfSxmLmRlZXBTdHJpY3RFcXVhbD1mdW5jdGlvbih0LGUscil7eCh0LGUsITApfHxtKHQsZSxyLCJkZWVwU3RyaWN0RXF1YWwiLGYuZGVlcFN0cmljdEVxdWFsKX0sZi5ub3REZWVwRXF1YWw9ZnVuY3Rpb24odCxlLHIpe3godCxlLCExKSYmbSh0LGUsciwibm90RGVlcEVxdWFsIixmLm5vdERlZXBFcXVhbCl9LGYubm90RGVlcFN0cmljdEVxdWFsPWZ1bmN0aW9uIHQoZSxyLG4pe3goZSxyLCEwKSYmbShlLHIsbiwibm90RGVlcFN0cmljdEVxdWFsIix0KX0sZi5zdHJpY3RFcXVhbD1mdW5jdGlvbih0LGUscil7dCE9PWUmJm0odCxlLHIsIj09PSIsZi5zdHJpY3RFcXVhbCl9LGYubm90U3RyaWN0RXF1YWw9ZnVuY3Rpb24odCxlLHIpe3Q9PT1lJiZtKHQsZSxyLCIhPT0iLGYubm90U3RyaWN0RXF1YWwpfSxmLnRocm93cz1mdW5jdGlvbih0LGUscil7dyghMCx0LGUscil9LGYuZG9lc05vdFRocm93PWZ1bmN0aW9uKHQsZSxyKXt3KCExLHQsZSxyKX0sZi5pZkVycm9yPWZ1bmN0aW9uKHQpe2lmKHQpdGhyb3cgdH0sZi5zdHJpY3Q9bihmdW5jdGlvbiB0KGUscil7ZXx8bShlLCEwLHIsIj09Iix0KX0sZix7ZXF1YWw6Zi5zdHJpY3RFcXVhbCxkZWVwRXF1YWw6Zi5kZWVwU3RyaWN0RXF1YWwsbm90RXF1YWw6Zi5ub3RTdHJpY3RFcXVhbCxub3REZWVwRXF1YWw6Zi5ub3REZWVwU3RyaWN0RXF1YWx9KSxmLnN0cmljdC5zdHJpY3Q9Zi5zdHJpY3Q7dmFyIGs9T2JqZWN0LmtleXN8fGZ1bmN0aW9uKHQpe3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0KXMuY2FsbCh0LHIpJiZlLnB1c2gocik7cmV0dXJuIGV9fSkuY2FsbCh0aGlzLCJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30pfSx7Im9iamVjdC1hc3NpZ24iOjQ1NiwidXRpbC8iOjczfV0sNzE6W2Z1bmN0aW9uKHQsZSxyKXsiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmNyZWF0ZT9lLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt0LnN1cGVyXz1lLHQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pfTplLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt0LnN1cGVyXz1lO3ZhciByPWZ1bmN0aW9uKCl7fTtyLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgcix0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10fX0se31dLDcyOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0JiYib2JqZWN0Ij09dHlwZW9mIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmNvcHkmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmZpbGwmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnJlYWRVSW50OH19LHt9XSw3MzpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihlLG4pe3ZhciBhPS8lW3NkaiVdL2c7ci5mb3JtYXQ9ZnVuY3Rpb24odCl7aWYoIW0odCkpe2Zvcih2YXIgZT1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyllLnB1c2gocyhhcmd1bWVudHNbcl0pKTtyZXR1cm4gZS5qb2luKCIgIil9cj0xO2Zvcih2YXIgbj1hcmd1bWVudHMsaT1uLmxlbmd0aCxvPVN0cmluZyh0KS5yZXBsYWNlKGEsZnVuY3Rpb24odCl7aWYoIiUlIj09PXQpcmV0dXJuIiUiO2lmKHI+PWkpcmV0dXJuIHQ7c3dpdGNoKHQpe2Nhc2UiJXMiOnJldHVybiBTdHJpbmcobltyKytdKTtjYXNlIiVkIjpyZXR1cm4gTnVtYmVyKG5bcisrXSk7Y2FzZSIlaiI6dHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShuW3IrK10pfWNhdGNoKHQpe3JldHVybiJbQ2lyY3VsYXJdIn1kZWZhdWx0OnJldHVybiB0fX0pLGw9bltyXTtyPGk7bD1uWysrcl0pZyhsKXx8IWIobCk/bys9IiAiK2w6bys9IiAiK3MobCk7cmV0dXJuIG99LHIuZGVwcmVjYXRlPWZ1bmN0aW9uKHQsYSl7aWYoeShuLnByb2Nlc3MpKXJldHVybiBmdW5jdGlvbigpe3JldHVybiByLmRlcHJlY2F0ZSh0LGEpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07aWYoITA9PT1lLm5vRGVwcmVjYXRpb24pcmV0dXJuIHQ7dmFyIGk9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIWkpe2lmKGUudGhyb3dEZXByZWNhdGlvbil0aHJvdyBuZXcgRXJyb3IoYSk7ZS50cmFjZURlcHJlY2F0aW9uP2NvbnNvbGUudHJhY2UoYSk6Y29uc29sZS5lcnJvcihhKSxpPSEwfXJldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19O3ZhciBpLG89e307ZnVuY3Rpb24gcyh0LGUpe3ZhciBuPXtzZWVuOltdLHN0eWxpemU6Y307cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+PTMmJihuLmRlcHRoPWFyZ3VtZW50c1syXSksYXJndW1lbnRzLmxlbmd0aD49NCYmKG4uY29sb3JzPWFyZ3VtZW50c1szXSksZChlKT9uLnNob3dIaWRkZW49ZTplJiZyLl9leHRlbmQobixlKSx5KG4uc2hvd0hpZGRlbikmJihuLnNob3dIaWRkZW49ITEpLHkobi5kZXB0aCkmJihuLmRlcHRoPTIpLHkobi5jb2xvcnMpJiYobi5jb2xvcnM9ITEpLHkobi5jdXN0b21JbnNwZWN0KSYmKG4uY3VzdG9tSW5zcGVjdD0hMCksbi5jb2xvcnMmJihuLnN0eWxpemU9bCksdShuLHQsbi5kZXB0aCl9ZnVuY3Rpb24gbCh0LGUpe3ZhciByPXMuc3R5bGVzW2VdO3JldHVybiByPyJceDFiWyIrcy5jb2xvcnNbcl1bMF0rIm0iK3QrIlx4MWJbIitzLmNvbG9yc1tyXVsxXSsibSI6dH1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIHR9ZnVuY3Rpb24gdSh0LGUsbil7aWYodC5jdXN0b21JbnNwZWN0JiZlJiZrKGUuaW5zcGVjdCkmJmUuaW5zcGVjdCE9PXIuaW5zcGVjdCYmKCFlLmNvbnN0cnVjdG9yfHxlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSE9PWUpKXt2YXIgYT1lLmluc3BlY3Qobix0KTtyZXR1cm4gbShhKXx8KGE9dSh0LGEsbikpLGF9dmFyIGk9ZnVuY3Rpb24odCxlKXtpZih5KGUpKXJldHVybiB0LnN0eWxpemUoInVuZGVmaW5lZCIsInVuZGVmaW5lZCIpO2lmKG0oZSkpe3ZhciByPSInIitKU09OLnN0cmluZ2lmeShlKS5yZXBsYWNlKC9eInwiJC9nLCIiKS5yZXBsYWNlKC8nL2csIlxcJyIpLnJlcGxhY2UoL1xcIi9nLCciJykrIiciO3JldHVybiB0LnN0eWxpemUociwic3RyaW5nIil9aWYodihlKSlyZXR1cm4gdC5zdHlsaXplKCIiK2UsIm51bWJlciIpO2lmKGQoZSkpcmV0dXJuIHQuc3R5bGl6ZSgiIitlLCJib29sZWFuIik7aWYoZyhlKSlyZXR1cm4gdC5zdHlsaXplKCJudWxsIiwibnVsbCIpfSh0LGUpO2lmKGkpcmV0dXJuIGk7dmFyIG89T2JqZWN0LmtleXMoZSkscz1mdW5jdGlvbih0KXt2YXIgZT17fTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHQscil7ZVt0XT0hMH0pLGV9KG8pO2lmKHQuc2hvd0hpZGRlbiYmKG89T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSkpLHcoZSkmJihvLmluZGV4T2YoIm1lc3NhZ2UiKT49MHx8by5pbmRleE9mKCJkZXNjcmlwdGlvbiIpPj0wKSlyZXR1cm4gaChlKTtpZigwPT09by5sZW5ndGgpe2lmKGsoZSkpe3ZhciBsPWUubmFtZT8iOiAiK2UubmFtZToiIjtyZXR1cm4gdC5zdHlsaXplKCJbRnVuY3Rpb24iK2wrIl0iLCJzcGVjaWFsIil9aWYoeChlKSlyZXR1cm4gdC5zdHlsaXplKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSwicmVnZXhwIik7aWYoXyhlKSlyZXR1cm4gdC5zdHlsaXplKERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSksImRhdGUiKTtpZih3KGUpKXJldHVybiBoKGUpfXZhciBjLGI9IiIsVD0hMSxNPVsieyIsIn0iXTsocChlKSYmKFQ9ITAsTT1bIlsiLCJdIl0pLGsoZSkpJiYoYj0iIFtGdW5jdGlvbiIrKGUubmFtZT8iOiAiK2UubmFtZToiIikrIl0iKTtyZXR1cm4geChlKSYmKGI9IiAiK1JlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSksXyhlKSYmKGI9IiAiK0RhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nLmNhbGwoZSkpLHcoZSkmJihiPSIgIitoKGUpKSwwIT09by5sZW5ndGh8fFQmJjAhPWUubGVuZ3RoP248MD94KGUpP3Quc3R5bGl6ZShSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSksInJlZ2V4cCIpOnQuc3R5bGl6ZSgiW09iamVjdF0iLCJzcGVjaWFsIik6KHQuc2Vlbi5wdXNoKGUpLGM9VD9mdW5jdGlvbih0LGUscixuLGEpe2Zvcih2YXIgaT1bXSxvPTAscz1lLmxlbmd0aDtvPHM7KytvKVMoZSxTdHJpbmcobykpP2kucHVzaChmKHQsZSxyLG4sU3RyaW5nKG8pLCEwKSk6aS5wdXNoKCIiKTtyZXR1cm4gYS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2EubWF0Y2goL15cZCskLyl8fGkucHVzaChmKHQsZSxyLG4sYSwhMCkpfSksaX0odCxlLG4scyxvKTpvLm1hcChmdW5jdGlvbihyKXtyZXR1cm4gZih0LGUsbixzLHIsVCl9KSx0LnNlZW4ucG9wKCksZnVuY3Rpb24odCxlLHIpe2lmKHQucmVkdWNlKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIDAsZS5pbmRleE9mKCJcbiIpPj0wJiYwLHQrZS5yZXBsYWNlKC9cdTAwMWJcW1xkXGQ/bS9nLCIiKS5sZW5ndGgrMX0sMCk+NjApcmV0dXJuIHJbMF0rKCIiPT09ZT8iIjplKyJcbiAiKSsiICIrdC5qb2luKCIsXG4gICIpKyIgIityWzFdO3JldHVybiByWzBdK2UrIiAiK3Quam9pbigiLCAiKSsiICIrclsxXX0oYyxiLE0pKTpNWzBdK2IrTVsxXX1mdW5jdGlvbiBoKHQpe3JldHVybiJbIitFcnJvci5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSsiXSJ9ZnVuY3Rpb24gZih0LGUscixuLGEsaSl7dmFyIG8scyxsO2lmKChsPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxhKXx8e3ZhbHVlOmVbYV19KS5nZXQ/cz1sLnNldD90LnN0eWxpemUoIltHZXR0ZXIvU2V0dGVyXSIsInNwZWNpYWwiKTp0LnN0eWxpemUoIltHZXR0ZXJdIiwic3BlY2lhbCIpOmwuc2V0JiYocz10LnN0eWxpemUoIltTZXR0ZXJdIiwic3BlY2lhbCIpKSxTKG4sYSl8fChvPSJbIithKyJdIiksc3x8KHQuc2Vlbi5pbmRleE9mKGwudmFsdWUpPDA/KHM9ZyhyKT91KHQsbC52YWx1ZSxudWxsKTp1KHQsbC52YWx1ZSxyLTEpKS5pbmRleE9mKCJcbiIpPi0xJiYocz1pP3Muc3BsaXQoIlxuIikubWFwKGZ1bmN0aW9uKHQpe3JldHVybiIgICIrdH0pLmpvaW4oIlxuIikuc3Vic3RyKDIpOiJcbiIrcy5zcGxpdCgiXG4iKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIiAgICIrdH0pLmpvaW4oIlxuIikpOnM9dC5zdHlsaXplKCJbQ2lyY3VsYXJdIiwic3BlY2lhbCIpKSx5KG8pKXtpZihpJiZhLm1hdGNoKC9eXGQrJC8pKXJldHVybiBzOyhvPUpTT04uc3RyaW5naWZ5KCIiK2EpKS5tYXRjaCgvXiIoW2EtekEtWl9dW2EtekEtWl8wLTldKikiJC8pPyhvPW8uc3Vic3RyKDEsby5sZW5ndGgtMiksbz10LnN0eWxpemUobywibmFtZSIpKToobz1vLnJlcGxhY2UoLycvZywiXFwnIikucmVwbGFjZSgvXFwiL2csJyInKS5yZXBsYWNlKC8oXiJ8IiQpL2csIiciKSxvPXQuc3R5bGl6ZShvLCJzdHJpbmciKSl9cmV0dXJuIG8rIjogIitzfWZ1bmN0aW9uIHAodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCl9ZnVuY3Rpb24gZCh0KXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiB0fWZ1bmN0aW9uIGcodCl7cmV0dXJuIG51bGw9PT10fWZ1bmN0aW9uIHYodCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0fWZ1bmN0aW9uIG0odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fWZ1bmN0aW9uIHkodCl7cmV0dXJuIHZvaWQgMD09PXR9ZnVuY3Rpb24geCh0KXtyZXR1cm4gYih0KSYmIltvYmplY3QgUmVnRXhwXSI9PT1UKHQpfWZ1bmN0aW9uIGIodCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dH1mdW5jdGlvbiBfKHQpe3JldHVybiBiKHQpJiYiW29iamVjdCBEYXRlXSI9PT1UKHQpfWZ1bmN0aW9uIHcodCl7cmV0dXJuIGIodCkmJigiW29iamVjdCBFcnJvcl0iPT09VCh0KXx8dCBpbnN0YW5jZW9mIEVycm9yKX1mdW5jdGlvbiBrKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0fWZ1bmN0aW9uIFQodCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiBNKHQpe3JldHVybiB0PDEwPyIwIit0LnRvU3RyaW5nKDEwKTp0LnRvU3RyaW5nKDEwKX1yLmRlYnVnbG9nPWZ1bmN0aW9uKHQpe2lmKHkoaSkmJihpPWUuZW52Lk5PREVfREVCVUd8fCIiKSx0PXQudG9VcHBlckNhc2UoKSwhb1t0XSlpZihuZXcgUmVnRXhwKCJcXGIiK3QrIlxcYiIsImkiKS50ZXN0KGkpKXt2YXIgbj1lLnBpZDtvW3RdPWZ1bmN0aW9uKCl7dmFyIGU9ci5mb3JtYXQuYXBwbHkocixhcmd1bWVudHMpO2NvbnNvbGUuZXJyb3IoIiVzICVkOiAlcyIsdCxuLGUpfX1lbHNlIG9bdF09ZnVuY3Rpb24oKXt9O3JldHVybiBvW3RdfSxyLmluc3BlY3Q9cyxzLmNvbG9ycz17Ym9sZDpbMSwyMl0saXRhbGljOlszLDIzXSx1bmRlcmxpbmU6WzQsMjRdLGludmVyc2U6WzcsMjddLHdoaXRlOlszNywzOV0sZ3JleTpbOTAsMzldLGJsYWNrOlszMCwzOV0sYmx1ZTpbMzQsMzldLGN5YW46WzM2LDM5XSxncmVlbjpbMzIsMzldLG1hZ2VudGE6WzM1LDM5XSxyZWQ6WzMxLDM5XSx5ZWxsb3c6WzMzLDM5XX0scy5zdHlsZXM9e3NwZWNpYWw6ImN5YW4iLG51bWJlcjoieWVsbG93Iixib29sZWFuOiJ5ZWxsb3ciLHVuZGVmaW5lZDoiZ3JleSIsbnVsbDoiYm9sZCIsc3RyaW5nOiJncmVlbiIsZGF0ZToibWFnZW50YSIscmVnZXhwOiJyZWQifSxyLmlzQXJyYXk9cCxyLmlzQm9vbGVhbj1kLHIuaXNOdWxsPWcsci5pc051bGxPclVuZGVmaW5lZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dH0sci5pc051bWJlcj12LHIuaXNTdHJpbmc9bSxyLmlzU3ltYm9sPWZ1bmN0aW9uKHQpe3JldHVybiJzeW1ib2wiPT10eXBlb2YgdH0sci5pc1VuZGVmaW5lZD15LHIuaXNSZWdFeHA9eCxyLmlzT2JqZWN0PWIsci5pc0RhdGU9XyxyLmlzRXJyb3I9dyxyLmlzRnVuY3Rpb249ayxyLmlzUHJpbWl0aXZlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dHx8ImJvb2xlYW4iPT10eXBlb2YgdHx8Im51bWJlciI9PXR5cGVvZiB0fHwic3RyaW5nIj09dHlwZW9mIHR8fCJzeW1ib2wiPT10eXBlb2YgdHx8InVuZGVmaW5lZCI9PXR5cGVvZiB0fSxyLmlzQnVmZmVyPXQoIi4vc3VwcG9ydC9pc0J1ZmZlciIpO3ZhciBBPVsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl07ZnVuY3Rpb24gUyh0LGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlKX1yLmxvZz1mdW5jdGlvbigpe3ZhciB0LGU7Y29uc29sZS5sb2coIiVzIC0gJXMiLCh0PW5ldyBEYXRlLGU9W00odC5nZXRIb3VycygpKSxNKHQuZ2V0TWludXRlcygpKSxNKHQuZ2V0U2Vjb25kcygpKV0uam9pbigiOiIpLFt0LmdldERhdGUoKSxBW3QuZ2V0TW9udGgoKV0sZV0uam9pbigiICIpKSxyLmZvcm1hdC5hcHBseShyLGFyZ3VtZW50cykpfSxyLmluaGVyaXRzPXQoImluaGVyaXRzIiksci5fZXh0ZW5kPWZ1bmN0aW9uKHQsZSl7aWYoIWV8fCFiKGUpKXJldHVybiB0O2Zvcih2YXIgcj1PYmplY3Qua2V5cyhlKSxuPXIubGVuZ3RoO24tLTspdFtyW25dXT1lW3Jbbl1dO3JldHVybiB0fX0pLmNhbGwodGhpcyx0KCJfcHJvY2VzcyIpLCJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30pfSx7Ii4vc3VwcG9ydC9pc0J1ZmZlciI6NzIsX3Byb2Nlc3M6NDg0LGluaGVyaXRzOjcxfV0sNzQ6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGF0b2IodCl9fSx7fV0sNzU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPWUubGVuZ3RoLGk9bmV3IEFycmF5KHIrMSksbz0wO288cjsrK28pe2Zvcih2YXIgcz1uZXcgQXJyYXkocisxKSxsPTA7bDw9cjsrK2wpc1tsXT10W2xdW29dO2lbb109c31pW3JdPW5ldyBBcnJheShyKzEpO2Zvcih2YXIgbz0wO288PXI7KytvKWlbcl1bb109MTtmb3IodmFyIGM9bmV3IEFycmF5KHIrMSksbz0wO288cjsrK28pY1tvXT1lW29dO2Nbcl09MTt2YXIgdT1uKGksYyksaD1hKHVbcisxXSk7MD09PWgmJihoPTEpO2Zvcih2YXIgZj1uZXcgQXJyYXkocisxKSxvPTA7bzw9cjsrK28pZltvXT1hKHVbb10pL2g7cmV0dXJuIGZ9O3ZhciBuPXQoInJvYnVzdC1saW5lYXItc29sdmUiKTtmdW5jdGlvbiBhKHQpe2Zvcih2YXIgZT0wLHI9MDtyPHQubGVuZ3RoOysrcillKz10W3JdO3JldHVybiBlfX0seyJyb2J1c3QtbGluZWFyLXNvbHZlIjo1MDh9XSw3NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmJ5dGVMZW5ndGg9ZnVuY3Rpb24odCl7dmFyIGU9Yyh0KSxyPWVbMF0sbj1lWzFdO3JldHVybiAzKihyK24pLzQtbn0sci50b0J5dGVBcnJheT1mdW5jdGlvbih0KXt2YXIgZSxyLG49Yyh0KSxvPW5bMF0scz1uWzFdLGw9bmV3IGkoZnVuY3Rpb24odCxlLHIpe3JldHVybiAzKihlK3IpLzQtcn0oMCxvLHMpKSx1PTAsaD1zPjA/by00Om87Zm9yKHI9MDtyPGg7cis9NCllPWFbdC5jaGFyQ29kZUF0KHIpXTw8MTh8YVt0LmNoYXJDb2RlQXQocisxKV08PDEyfGFbdC5jaGFyQ29kZUF0KHIrMildPDw2fGFbdC5jaGFyQ29kZUF0KHIrMyldLGxbdSsrXT1lPj4xNiYyNTUsbFt1KytdPWU+PjgmMjU1LGxbdSsrXT0yNTUmZTsyPT09cyYmKGU9YVt0LmNoYXJDb2RlQXQocildPDwyfGFbdC5jaGFyQ29kZUF0KHIrMSldPj40LGxbdSsrXT0yNTUmZSk7MT09PXMmJihlPWFbdC5jaGFyQ29kZUF0KHIpXTw8MTB8YVt0LmNoYXJDb2RlQXQocisxKV08PDR8YVt0LmNoYXJDb2RlQXQocisyKV0+PjIsbFt1KytdPWU+PjgmMjU1LGxbdSsrXT0yNTUmZSk7cmV0dXJuIGx9LHIuZnJvbUJ5dGVBcnJheT1mdW5jdGlvbih0KXtmb3IodmFyIGUscj10Lmxlbmd0aCxhPXIlMyxpPVtdLG89MCxzPXItYTtvPHM7bys9MTYzODMpaS5wdXNoKHUodCxvLG8rMTYzODM+cz9zOm8rMTYzODMpKTsxPT09YT8oZT10W3ItMV0saS5wdXNoKG5bZT4+Ml0rbltlPDw0JjYzXSsiPT0iKSk6Mj09PWEmJihlPSh0W3ItMl08PDgpK3Rbci0xXSxpLnB1c2gobltlPj4xMF0rbltlPj40JjYzXStuW2U8PDImNjNdKyI9IikpO3JldHVybiBpLmpvaW4oIiIpfTtmb3IodmFyIG49W10sYT1bXSxpPSJ1bmRlZmluZWQiIT10eXBlb2YgVWludDhBcnJheT9VaW50OEFycmF5OkFycmF5LG89IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iLHM9MCxsPW8ubGVuZ3RoO3M8bDsrK3MpbltzXT1vW3NdLGFbby5jaGFyQ29kZUF0KHMpXT1zO2Z1bmN0aW9uIGModCl7dmFyIGU9dC5sZW5ndGg7aWYoZSU0PjApdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHN0cmluZy4gTGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA0Iik7dmFyIHI9dC5pbmRleE9mKCI9Iik7cmV0dXJuLTE9PT1yJiYocj1lKSxbcixyPT09ZT8wOjQtciU0XX1mdW5jdGlvbiB1KHQsZSxyKXtmb3IodmFyIGEsaSxvPVtdLHM9ZTtzPHI7cys9MylhPSh0W3NdPDwxNiYxNjcxMTY4MCkrKHRbcysxXTw8OCY2NTI4MCkrKDI1NSZ0W3MrMl0pLG8ucHVzaChuWyhpPWEpPj4xOCY2M10rbltpPj4xMiY2M10rbltpPj42JjYzXStuWzYzJmldKTtyZXR1cm4gby5qb2luKCIiKX1hWyItIi5jaGFyQ29kZUF0KDApXT02MixhWyJfIi5jaGFyQ29kZUF0KDApXT02M30se31dLDc3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vbGliL3JhdGlvbmFsaXplIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odFswXS5tdWwoZVsxXSkuYWRkKGVbMF0ubXVsKHRbMV0pKSx0WzFdLm11bChlWzFdKSl9fSx7Ii4vbGliL3JhdGlvbmFsaXplIjo4N31dLDc4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiB0WzBdLm11bChlWzFdKS5jbXAoZVswXS5tdWwodFsxXSkpfX0se31dLDc5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vbGliL3JhdGlvbmFsaXplIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odFswXS5tdWwoZVsxXSksdFsxXS5tdWwoZVswXSkpfX0seyIuL2xpYi9yYXRpb25hbGl6ZSI6ODd9XSw4MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2lzLXJhdCIpLGE9dCgiLi9saWIvaXMtYm4iKSxpPXQoIi4vbGliL251bS10by1ibiIpLG89dCgiLi9saWIvc3RyLXRvLWJuIikscz10KCIuL2xpYi9yYXRpb25hbGl6ZSIpLGw9dCgiLi9kaXYiKTtlLmV4cG9ydHM9ZnVuY3Rpb24gdChlLHIpe2lmKG4oZSkpcmV0dXJuIHI/bChlLHQocikpOltlWzBdLmNsb25lKCksZVsxXS5jbG9uZSgpXTt2YXIgYz0wO3ZhciB1LGg7aWYoYShlKSl1PWUuY2xvbmUoKTtlbHNlIGlmKCJzdHJpbmciPT10eXBlb2YgZSl1PW8oZSk7ZWxzZXtpZigwPT09ZSlyZXR1cm5baSgwKSxpKDEpXTtpZihlPT09TWF0aC5mbG9vcihlKSl1PWkoZSk7ZWxzZXtmb3IoO2UhPT1NYXRoLmZsb29yKGUpOyllKj1NYXRoLnBvdygyLDI1NiksYy09MjU2O3U9aShlKX19aWYobihyKSl1Lm11bChyWzFdKSxoPXJbMF0uY2xvbmUoKTtlbHNlIGlmKGEocikpaD1yLmNsb25lKCk7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIHIpaD1vKHIpO2Vsc2UgaWYocilpZihyPT09TWF0aC5mbG9vcihyKSloPWkocik7ZWxzZXtmb3IoO3IhPT1NYXRoLmZsb29yKHIpOylyKj1NYXRoLnBvdygyLDI1NiksYys9MjU2O2g9aShyKX1lbHNlIGg9aSgxKTtjPjA/dT11LnVzaGxuKGMpOmM8MCYmKGg9aC51c2hsbigtYykpO3JldHVybiBzKHUsaCl9fSx7Ii4vZGl2Ijo3OSwiLi9pcy1yYXQiOjgxLCIuL2xpYi9pcy1ibiI6ODUsIi4vbGliL251bS10by1ibiI6ODYsIi4vbGliL3JhdGlvbmFsaXplIjo4NywiLi9saWIvc3RyLXRvLWJuIjo4OH1dLDgxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vbGliL2lzLWJuIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpJiYyPT09dC5sZW5ndGgmJm4odFswXSkmJm4odFsxXSl9fSx7Ii4vbGliL2lzLWJuIjo4NX1dLDgyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImJuLmpzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0LmNtcChuZXcgbigwKSl9fSx7ImJuLmpzIjo5Nn1dLDgzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vYm4tc2lnbiIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10Lmxlbmd0aCxyPXQud29yZHMsYT0wO2lmKDE9PT1lKWE9clswXTtlbHNlIGlmKDI9PT1lKWE9clswXSs2NzEwODg2NCpyWzFdO2Vsc2UgZm9yKHZhciBpPTA7aTxlO2krKyl7dmFyIG89cltpXTthKz1vKk1hdGgucG93KDY3MTA4ODY0LGkpfXJldHVybiBuKHQpKmF9fSx7Ii4vYm4tc2lnbiI6ODJ9XSw4NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJkb3VibGUtYml0cyIpLGE9dCgiYml0LXR3aWRkbGUiKS5jb3VudFRyYWlsaW5nWmVyb3M7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPWEobi5sbyh0KSk7aWYoZTwzMilyZXR1cm4gZTt2YXIgcj1hKG4uaGkodCkpO2lmKHI+MjApcmV0dXJuIDUyO3JldHVybiByKzMyfX0seyJiaXQtdHdpZGRsZSI6OTQsImRvdWJsZS1iaXRzIjoxNjl9XSw4NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt0KCJibi5qcyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gdCYmIm9iamVjdCI9PXR5cGVvZiB0JiZCb29sZWFuKHQud29yZHMpfX0seyJibi5qcyI6OTZ9XSw4NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJibi5qcyIpLGE9dCgiZG91YmxlLWJpdHMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9YS5leHBvbmVudCh0KTtyZXR1cm4gZTw1Mj9uZXcgbih0KTpuZXcgbih0Kk1hdGgucG93KDIsNTItZSkpLnVzaGxuKGUtNTIpfX0seyJibi5qcyI6OTYsImRvdWJsZS1iaXRzIjoxNjl9XSw4NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL251bS10by1ibiIpLGE9dCgiLi9ibi1zaWduIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9YSh0KSxpPWEoZSk7aWYoMD09PXIpcmV0dXJuW24oMCksbigxKV07aWYoMD09PWkpcmV0dXJuW24oMCksbigwKV07aTwwJiYodD10Lm5lZygpLGU9ZS5uZWcoKSk7dmFyIG89dC5nY2QoZSk7aWYoby5jbXBuKDEpKXJldHVyblt0LmRpdihvKSxlLmRpdihvKV07cmV0dXJuW3QsZV19fSx7Ii4vYm4tc2lnbiI6ODIsIi4vbnVtLXRvLWJuIjo4Nn1dLDg4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImJuLmpzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbih0KX19LHsiYm4uanMiOjk2fV0sODk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9saWIvcmF0aW9uYWxpemUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbih0WzBdLm11bChlWzBdKSx0WzFdLm11bChlWzFdKSl9fSx7Ii4vbGliL3JhdGlvbmFsaXplIjo4N31dLDkwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vbGliL2JuLXNpZ24iKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG4odFswXSkqbih0WzFdKX19LHsiLi9saWIvYm4tc2lnbiI6ODJ9XSw5MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2xpYi9yYXRpb25hbGl6ZSIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBuKHRbMF0ubXVsKGVbMV0pLnN1Yih0WzFdLm11bChlWzBdKSksdFsxXS5tdWwoZVsxXSkpfX0seyIuL2xpYi9yYXRpb25hbGl6ZSI6ODd9XSw5MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2xpYi9ibi10by1udW0iKSxhPXQoIi4vbGliL2N0eiIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10WzBdLHI9dFsxXTtpZigwPT09ZS5jbXBuKDApKXJldHVybiAwO3ZhciBpPWUuYWJzKCkuZGl2bW9kKHIuYWJzKCkpLG89aS5kaXYscz1uKG8pLGw9aS5tb2QsYz1lLm5lZ2F0aXZlIT09ci5uZWdhdGl2ZT8tMToxO2lmKDA9PT1sLmNtcG4oMCkpcmV0dXJuIGMqcztpZihzKXt2YXIgdT1hKHMpKzQsaD1uKGwudXNobG4odSkuZGl2Um91bmQocikpO3JldHVybiBjKihzK2gqTWF0aC5wb3coMiwtdSkpfXZhciBmPXIuYml0TGVuZ3RoKCktbC5iaXRMZW5ndGgoKSs1MyxoPW4obC51c2hsbihmKS5kaXZSb3VuZChyKSk7cmV0dXJuIGY8MTAyMz9jKmgqTWF0aC5wb3coMiwtZik6KGgqPU1hdGgucG93KDIsLTEwMjMpLGMqaCpNYXRoLnBvdygyLDEwMjMtZikpfX0seyIuL2xpYi9ibi10by1udW0iOjgzLCIuL2xpYi9jdHoiOjg0fV0sOTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0LGUscixuLGEsaSl7dmFyIG89WyJmdW5jdGlvbiAiLHQsIihhLGwsaCwiLG4uam9pbigiLCIpLCIpeyIsaT8iIjoidmFyIGk9IixyPyJsLTEiOiJoKzEiLCI7d2hpbGUobDw9aCl7dmFyIG09KGwraCk+Pj4xLHg9YSIsYT8iLmdldChtKSI6IlttXSJdO3JldHVybiBpP2UuaW5kZXhPZigiYyIpPDA/by5wdXNoKCI7aWYoeD09PXkpe3JldHVybiBtfWVsc2UgaWYoeDw9eSl7Iik6by5wdXNoKCI7dmFyIHA9Yyh4LHkpO2lmKHA9PT0wKXtyZXR1cm4gbX1lbHNlIGlmKHA8PTApeyIpOm8ucHVzaCgiO2lmKCIsZSwiKXtpPW07Iikscj9vLnB1c2goImw9bSsxfWVsc2V7aD1tLTF9Iik6by5wdXNoKCJoPW0tMX1lbHNle2w9bSsxfSIpLG8ucHVzaCgifSIpLGk/by5wdXNoKCJyZXR1cm4gLTF9OyIpOm8ucHVzaCgicmV0dXJuIGl9OyIpLG8uam9pbigiIil9ZnVuY3Rpb24gYSh0LGUscixhKXtyZXR1cm4gbmV3IEZ1bmN0aW9uKFtuKCJBIiwieCIrdCsieSIsZSxbInkiXSwhMSxhKSxuKCJCIiwieCIrdCsieSIsZSxbInkiXSwhMCxhKSxuKCJQIiwiYyh4LHkpIit0KyIwIixlLFsieSIsImMiXSwhMSxhKSxuKCJRIiwiYyh4LHkpIit0KyIwIixlLFsieSIsImMiXSwhMCxhKSwiZnVuY3Rpb24gZGlzcGF0Y2hCc2VhcmNoIixyLCIoYSx5LGMsbCxoKXtpZihhLnNoYXBlKXtpZih0eXBlb2YoYyk9PT0nZnVuY3Rpb24nKXtyZXR1cm4gUShhLChsPT09dW5kZWZpbmVkKT8wOmx8MCwoaD09PXVuZGVmaW5lZCk/YS5zaGFwZVswXS0xOmh8MCx5LGMpfWVsc2V7cmV0dXJuIEIoYSwoYz09PXVuZGVmaW5lZCk/MDpjfDAsKGw9PT11bmRlZmluZWQpP2Euc2hhcGVbMF0tMTpsfDAseSl9fWVsc2V7aWYodHlwZW9mKGMpPT09J2Z1bmN0aW9uJyl7cmV0dXJuIFAoYSwobD09PXVuZGVmaW5lZCk/MDpsfDAsKGg9PT11bmRlZmluZWQpP2EubGVuZ3RoLTE6aHwwLHksYyl9ZWxzZXtyZXR1cm4gQShhLChjPT09dW5kZWZpbmVkKT8wOmN8MCwobD09PXVuZGVmaW5lZCk/YS5sZW5ndGgtMTpsfDAseSl9fX1yZXR1cm4gZGlzcGF0Y2hCc2VhcmNoIixyXS5qb2luKCIiKSkoKX1lLmV4cG9ydHM9e2dlOmEoIj49IiwhMSwiR0UiKSxndDphKCI+IiwhMSwiR1QiKSxsdDphKCI8IiwhMCwiTFQiKSxsZTphKCI8PSIsITAsIkxFIiksZXE6YSgiLSIsITAsIkVRIiwhMCl9fSx7fV0sOTQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0KXt2YXIgZT0zMjtyZXR1cm4odCY9LXQpJiZlLS0sNjU1MzUmdCYmKGUtPTE2KSwxNjcxMTkzNSZ0JiYoZS09OCksMjUyNjQ1MTM1JnQmJihlLT00KSw4NTg5OTM0NTkmdCYmKGUtPTIpLDE0MzE2NTU3NjUmdCYmKGUtPTEpLGV9ci5JTlRfQklUUz0zMixyLklOVF9NQVg9MjE0NzQ4MzY0NyxyLklOVF9NSU49LTE8PDMxLHIuc2lnbj1mdW5jdGlvbih0KXtyZXR1cm4odD4wKS0odDwwKX0sci5hYnM9ZnVuY3Rpb24odCl7dmFyIGU9dD4+MzE7cmV0dXJuKHReZSktZX0sci5taW49ZnVuY3Rpb24odCxlKXtyZXR1cm4gZV4odF5lKSYtKHQ8ZSl9LHIubWF4PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHReKHReZSkmLSh0PGUpfSxyLmlzUG93Mj1mdW5jdGlvbih0KXtyZXR1cm4hKHQmdC0xfHwhdCl9LHIubG9nMj1mdW5jdGlvbih0KXt2YXIgZSxyO3JldHVybiBlPSh0PjY1NTM1KTw8NCxlfD1yPSgodD4+Pj1lKT4yNTUpPDwzLGV8PXI9KCh0Pj4+PXIpPjE1KTw8MiwoZXw9cj0oKHQ+Pj49cik+Myk8PDEpfCh0Pj4+PXIpPj4xfSxyLmxvZzEwPWZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xZTk/OTp0Pj0xZTg/ODp0Pj0xZTc/Nzp0Pj0xZTY/Njp0Pj0xZTU/NTp0Pj0xZTQ/NDp0Pj0xZTM/Mzp0Pj0xMDA/Mjp0Pj0xMD8xOjB9LHIucG9wQ291bnQ9ZnVuY3Rpb24odCl7cmV0dXJuIDE2ODQzMDA5KigodD0oODU4OTkzNDU5Jih0LT10Pj4+MSYxNDMxNjU1NzY1KSkrKHQ+Pj4yJjg1ODk5MzQ1OSkpKyh0Pj4+NCkmMjUyNjQ1MTM1KT4+PjI0fSxyLmNvdW50VHJhaWxpbmdaZXJvcz1uLHIubmV4dFBvdzI9ZnVuY3Rpb24odCl7cmV0dXJuIHQrPTA9PT10LC0tdCx0fD10Pj4+MSx0fD10Pj4+Mix0fD10Pj4+NCx0fD10Pj4+OCwodHw9dD4+PjE2KSsxfSxyLnByZXZQb3cyPWZ1bmN0aW9uKHQpe3JldHVybiB0fD10Pj4+MSx0fD10Pj4+Mix0fD10Pj4+NCx0fD10Pj4+OCwodHw9dD4+PjE2KS0odD4+PjEpfSxyLnBhcml0eT1mdW5jdGlvbih0KXtyZXR1cm4gdF49dD4+PjE2LHRePXQ+Pj44LHRePXQ+Pj40LDI3MDMwPj4+KHQmPTE1KSYxfTt2YXIgYT1uZXcgQXJyYXkoMjU2KTshZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTwyNTY7KytlKXt2YXIgcj1lLG49ZSxhPTc7Zm9yKHI+Pj49MTtyO3I+Pj49MSluPDw9MSxufD0xJnIsLS1hO3RbZV09bjw8YSYyNTV9fShhKSxyLnJldmVyc2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFbMjU1JnRdPDwyNHxhW3Q+Pj44JjI1NV08PDE2fGFbdD4+PjE2JjI1NV08PDh8YVt0Pj4+MjQmMjU1XX0sci5pbnRlcmxlYXZlMj1mdW5jdGlvbih0LGUpe3JldHVybih0PTE0MzE2NTU3NjUmKCh0PTg1ODk5MzQ1OSYoKHQ9MjUyNjQ1MTM1JigodD0xNjcxMTkzNSYoKHQmPTY1NTM1KXx0PDw4KSl8dDw8NCkpfHQ8PDIpKXx0PDwxKSl8KGU9MTQzMTY1NTc2NSYoKGU9ODU4OTkzNDU5JigoZT0yNTI2NDUxMzUmKChlPTE2NzExOTM1JigoZSY9NjU1MzUpfGU8PDgpKXxlPDw0KSl8ZTw8MikpfGU8PDEpKTw8MX0sci5kZWludGVybGVhdmUyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuKHQ9NjU1MzUmKCh0PTE2NzExOTM1JigodD0yNTI2NDUxMzUmKCh0PTg1ODk5MzQ1OSYoKHQ9dD4+PmUmMTQzMTY1NTc2NSl8dD4+PjEpKXx0Pj4+MikpfHQ+Pj40KSl8dD4+PjE2KSk8PDE2Pj4xNn0sci5pbnRlcmxlYXZlMz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9MTIyNzEzMzUxMyYoKHQ9MzI3MjM1NjAzNSYoKHQ9MjUxNzE5Njk1JigodD00Mjc4MTkwMzM1JigodCY9MTAyMyl8dDw8MTYpKXx0PDw4KSl8dDw8NCkpfHQ8PDIpLCh0fD0oZT0xMjI3MTMzNTEzJigoZT0zMjcyMzU2MDM1JigoZT0yNTE3MTk2OTUmKChlPTQyNzgxOTAzMzUmKChlJj0xMDIzKXxlPDwxNikpfGU8PDgpKXxlPDw0KSl8ZTw8MikpPDwxKXwocj0xMjI3MTMzNTEzJigocj0zMjcyMzU2MDM1Jigocj0yNTE3MTk2OTUmKChyPTQyNzgxOTAzMzUmKChyJj0xMDIzKXxyPDwxNikpfHI8PDgpKXxyPDw0KSl8cjw8MikpPDwyfSxyLmRlaW50ZXJsZWF2ZTM9ZnVuY3Rpb24odCxlKXtyZXR1cm4odD0xMDIzJigodD00Mjc4MTkwMzM1JigodD0yNTE3MTk2OTUmKCh0PTMyNzIzNTYwMzUmKCh0PXQ+Pj5lJjEyMjcxMzM1MTMpfHQ+Pj4yKSl8dD4+PjQpKXx0Pj4+OCkpfHQ+Pj4xNikpPDwyMj4+MjJ9LHIubmV4dENvbWJpbmF0aW9uPWZ1bmN0aW9uKHQpe3ZhciBlPXR8dC0xO3JldHVybiBlKzF8KH5lJi1+ZSktMT4+Pm4odCkrMX19LHt9XSw5NTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJjbGFtcCIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2V8fChlPXt9KTt2YXIgcixvLHMsbCxjLHUsaCxmLHAsZCxnLHY9bnVsbD09ZS5jdXRvZmY/LjI1OmUuY3V0b2ZmLG09bnVsbD09ZS5yYWRpdXM/ODplLnJhZGl1cyx5PWUuY2hhbm5lbHx8MDtpZihBcnJheUJ1ZmZlci5pc1ZpZXcodCl8fEFycmF5LmlzQXJyYXkodCkpe2lmKCFlLndpZHRofHwhZS5oZWlnaHQpdGhyb3cgRXJyb3IoIkZvciByYXcgZGF0YSB3aWR0aCBhbmQgaGVpZ2h0IHNob3VsZCBiZSBwcm92aWRlZCBieSBvcHRpb25zIik7cj1lLndpZHRoLG89ZS5oZWlnaHQsbD10LHU9ZS5zdHJpZGU/ZS5zdHJpZGU6TWF0aC5mbG9vcih0Lmxlbmd0aC9yL28pfWVsc2Ugd2luZG93LkhUTUxDYW52YXNFbGVtZW50JiZ0IGluc3RhbmNlb2Ygd2luZG93LkhUTUxDYW52YXNFbGVtZW50PyhoPShmPXQpLmdldENvbnRleHQoIjJkIikscj1mLndpZHRoLG89Zi5oZWlnaHQscD1oLmdldEltYWdlRGF0YSgwLDAscixvKSxsPXAuZGF0YSx1PTQpOndpbmRvdy5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQmJnQgaW5zdGFuY2VvZiB3aW5kb3cuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEPyhmPXQuY2FudmFzLGg9dCxyPWYud2lkdGgsbz1mLmhlaWdodCxwPWguZ2V0SW1hZ2VEYXRhKDAsMCxyLG8pLGw9cC5kYXRhLHU9NCk6d2luZG93LkltYWdlRGF0YSYmdCBpbnN0YW5jZW9mIHdpbmRvdy5JbWFnZURhdGEmJihwPXQscj10LndpZHRoLG89dC5oZWlnaHQsbD1wLmRhdGEsdT00KTtpZihzPU1hdGgubWF4KHIsbyksd2luZG93LlVpbnQ4Q2xhbXBlZEFycmF5JiZsIGluc3RhbmNlb2Ygd2luZG93LlVpbnQ4Q2xhbXBlZEFycmF5fHx3aW5kb3cuVWludDhBcnJheSYmbCBpbnN0YW5jZW9mIHdpbmRvdy5VaW50OEFycmF5KWZvcihjPWwsbD1BcnJheShyKm8pLGQ9MCxnPWMubGVuZ3RoO2Q8ZztkKyspbFtkXT1jW2QqdSt5XS8yNTU7ZWxzZSBpZigxIT09dSl0aHJvdyBFcnJvcigiUmF3IGRhdGEgY2FuIGhhdmUgb25seSAxIHZhbHVlIHBlciBwaXhlbCIpO3ZhciB4PUFycmF5KHIqbyksYj1BcnJheShyKm8pLF89QXJyYXkocyksdz1BcnJheShzKSxrPUFycmF5KHMrMSksVD1BcnJheShzKTtmb3IoZD0wLGc9cipvO2Q8ZztkKyspe3ZhciBNPWxbZF07eFtkXT0xPT09TT8wOjA9PT1NP2E6TWF0aC5wb3coTWF0aC5tYXgoMCwuNS1NKSwyKSxiW2RdPTE9PT1NP2E6MD09PU0/MDpNYXRoLnBvdyhNYXRoLm1heCgwLE0tLjUpLDIpfWkoeCxyLG8sXyx3LFQsayksaShiLHIsbyxfLHcsVCxrKTt2YXIgQT13aW5kb3cuRmxvYXQzMkFycmF5P25ldyBGbG9hdDMyQXJyYXkocipvKTpuZXcgQXJyYXkocipvKTtmb3IoZD0wLGc9cipvO2Q8ZztkKyspQVtkXT1uKDEtKCh4W2RdLWJbZF0pL20rdiksMCwxKTtyZXR1cm4gQX07dmFyIGE9MWUyMDtmdW5jdGlvbiBpKHQsZSxyLG4sYSxpLHMpe2Zvcih2YXIgbD0wO2w8ZTtsKyspe2Zvcih2YXIgYz0wO2M8cjtjKyspbltjXT10W2MqZStsXTtmb3IobyhuLGEsaSxzLHIpLGM9MDtjPHI7YysrKXRbYyplK2xdPWFbY119Zm9yKGM9MDtjPHI7YysrKXtmb3IobD0wO2w8ZTtsKyspbltsXT10W2MqZStsXTtmb3IobyhuLGEsaSxzLGUpLGw9MDtsPGU7bCsrKXRbYyplK2xdPU1hdGguc3FydChhW2xdKX19ZnVuY3Rpb24gbyh0LGUscixuLGkpe3JbMF09MCxuWzBdPS1hLG5bMV09K2E7Zm9yKHZhciBvPTEscz0wO288aTtvKyspe2Zvcih2YXIgbD0odFtvXStvKm8tKHRbcltzXV0rcltzXSpyW3NdKSkvKDIqby0yKnJbc10pO2w8PW5bc107KXMtLSxsPSh0W29dK28qby0odFtyW3NdXStyW3NdKnJbc10pKS8oMipvLTIqcltzXSk7clsrK3NdPW8sbltzXT1sLG5bcysxXT0rYX1mb3Iobz0wLHM9MDtvPGk7bysrKXtmb3IoO25bcysxXTxvOylzKys7ZVtvXT0oby1yW3NdKSooby1yW3NdKSt0W3Jbc11dfX19LHtjbGFtcDoxMTd9XSw5NjpbZnVuY3Rpb24odCxlLHIpeyFmdW5jdGlvbihlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKGV8fCJBc3NlcnRpb24gZmFpbGVkIil9ZnVuY3Rpb24gYSh0LGUpe3Quc3VwZXJfPWU7dmFyIHI9ZnVuY3Rpb24oKXt9O3IucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyByLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXR9ZnVuY3Rpb24gaSh0LGUscil7aWYoaS5pc0JOKHQpKXJldHVybiB0O3RoaXMubmVnYXRpdmU9MCx0aGlzLndvcmRzPW51bGwsdGhpcy5sZW5ndGg9MCx0aGlzLnJlZD1udWxsLG51bGwhPT10JiYoImxlIiE9PWUmJiJiZSIhPT1lfHwocj1lLGU9MTApLHRoaXMuX2luaXQodHx8MCxlfHwxMCxyfHwiYmUiKSl9dmFyIG87Im9iamVjdCI9PXR5cGVvZiBlP2UuZXhwb3J0cz1pOnIuQk49aSxpLkJOPWksaS53b3JkU2l6ZT0yNjt0cnl7bz10KCJidWZmZXIiKS5CdWZmZXJ9Y2F0Y2godCl7fWZ1bmN0aW9uIHModCxlLHIpe2Zvcih2YXIgbj0wLGE9TWF0aC5taW4odC5sZW5ndGgsciksaT1lO2k8YTtpKyspe3ZhciBvPXQuY2hhckNvZGVBdChpKS00ODtuPDw9NCxufD1vPj00OSYmbzw9NTQ/by00OSsxMDpvPj0xNyYmbzw9MjI/by0xNysxMDoxNSZvfXJldHVybiBufWZ1bmN0aW9uIGwodCxlLHIsbil7Zm9yKHZhciBhPTAsaT1NYXRoLm1pbih0Lmxlbmd0aCxyKSxvPWU7bzxpO28rKyl7dmFyIHM9dC5jaGFyQ29kZUF0KG8pLTQ4O2EqPW4sYSs9cz49NDk/cy00OSsxMDpzPj0xNz9zLTE3KzEwOnN9cmV0dXJuIGF9aS5pc0JOPWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgaXx8bnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3Rvci53b3JkU2l6ZT09PWkud29yZFNpemUmJkFycmF5LmlzQXJyYXkodC53b3Jkcyl9LGkubWF4PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuY21wKGUpPjA/dDplfSxpLm1pbj1mdW5jdGlvbih0LGUpe3JldHVybiB0LmNtcChlKTwwP3Q6ZX0saS5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24odCxlLHIpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdGhpcy5faW5pdE51bWJlcih0LGUscik7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXJldHVybiB0aGlzLl9pbml0QXJyYXkodCxlLHIpOyJoZXgiPT09ZSYmKGU9MTYpLG4oZT09PSgwfGUpJiZlPj0yJiZlPD0zNik7dmFyIGE9MDsiLSI9PT0odD10LnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIiIpKVswXSYmYSsrLDE2PT09ZT90aGlzLl9wYXJzZUhleCh0LGEpOnRoaXMuX3BhcnNlQmFzZSh0LGUsYSksIi0iPT09dFswXSYmKHRoaXMubmVnYXRpdmU9MSksdGhpcy5zdHJpcCgpLCJsZSI9PT1yJiZ0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksZSxyKX0saS5wcm90b3R5cGUuX2luaXROdW1iZXI9ZnVuY3Rpb24odCxlLHIpe3Q8MCYmKHRoaXMubmVnYXRpdmU9MSx0PS10KSx0PDY3MTA4ODY0Pyh0aGlzLndvcmRzPVs2NzEwODg2MyZ0XSx0aGlzLmxlbmd0aD0xKTp0PDQ1MDM1OTk2MjczNzA0OTY/KHRoaXMud29yZHM9WzY3MTA4ODYzJnQsdC82NzEwODg2NCY2NzEwODg2M10sdGhpcy5sZW5ndGg9Mik6KG4odDw5MDA3MTk5MjU0NzQwOTkyKSx0aGlzLndvcmRzPVs2NzEwODg2MyZ0LHQvNjcxMDg4NjQmNjcxMDg4NjMsMV0sdGhpcy5sZW5ndGg9MyksImxlIj09PXImJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSxlLHIpfSxpLnByb3RvdHlwZS5faW5pdEFycmF5PWZ1bmN0aW9uKHQsZSxyKXtpZihuKCJudW1iZXIiPT10eXBlb2YgdC5sZW5ndGgpLHQubGVuZ3RoPD0wKXJldHVybiB0aGlzLndvcmRzPVswXSx0aGlzLmxlbmd0aD0xLHRoaXM7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKHQubGVuZ3RoLzMpLHRoaXMud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIGE9MDthPHRoaXMubGVuZ3RoO2ErKyl0aGlzLndvcmRzW2FdPTA7dmFyIGksbyxzPTA7aWYoImJlIj09PXIpZm9yKGE9dC5sZW5ndGgtMSxpPTA7YT49MDthLT0zKW89dFthXXx0W2EtMV08PDh8dFthLTJdPDwxNix0aGlzLndvcmRzW2ldfD1vPDxzJjY3MTA4ODYzLHRoaXMud29yZHNbaSsxXT1vPj4+MjYtcyY2NzEwODg2Mywocys9MjQpPj0yNiYmKHMtPTI2LGkrKyk7ZWxzZSBpZigibGUiPT09cilmb3IoYT0wLGk9MDthPHQubGVuZ3RoO2ErPTMpbz10W2FdfHRbYSsxXTw8OHx0W2ErMl08PDE2LHRoaXMud29yZHNbaV18PW88PHMmNjcxMDg4NjMsdGhpcy53b3Jkc1tpKzFdPW8+Pj4yNi1zJjY3MTA4ODYzLChzKz0yNCk+PTI2JiYocy09MjYsaSsrKTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5fcGFyc2VIZXg9ZnVuY3Rpb24odCxlKXt0aGlzLmxlbmd0aD1NYXRoLmNlaWwoKHQubGVuZ3RoLWUpLzYpLHRoaXMud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIHI9MDtyPHRoaXMubGVuZ3RoO3IrKyl0aGlzLndvcmRzW3JdPTA7dmFyIG4sYSxpPTA7Zm9yKHI9dC5sZW5ndGgtNixuPTA7cj49ZTtyLT02KWE9cyh0LHIscis2KSx0aGlzLndvcmRzW25dfD1hPDxpJjY3MTA4ODYzLHRoaXMud29yZHNbbisxXXw9YT4+PjI2LWkmNDE5NDMwMywoaSs9MjQpPj0yNiYmKGktPTI2LG4rKyk7cis2IT09ZSYmKGE9cyh0LGUscis2KSx0aGlzLndvcmRzW25dfD1hPDxpJjY3MTA4ODYzLHRoaXMud29yZHNbbisxXXw9YT4+PjI2LWkmNDE5NDMwMyksdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5fcGFyc2VCYXNlPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLndvcmRzPVswXSx0aGlzLmxlbmd0aD0xO2Zvcih2YXIgbj0wLGE9MTthPD02NzEwODg2MzthKj1lKW4rKztuLS0sYT1hL2V8MDtmb3IodmFyIGk9dC5sZW5ndGgtcixvPWklbixzPU1hdGgubWluKGksaS1vKStyLGM9MCx1PXI7dTxzO3UrPW4pYz1sKHQsdSx1K24sZSksdGhpcy5pbXVsbihhKSx0aGlzLndvcmRzWzBdK2M8NjcxMDg4NjQ/dGhpcy53b3Jkc1swXSs9Yzp0aGlzLl9pYWRkbihjKTtpZigwIT09byl7dmFyIGg9MTtmb3IoYz1sKHQsdSx0Lmxlbmd0aCxlKSx1PTA7dTxvO3UrKyloKj1lO3RoaXMuaW11bG4oaCksdGhpcy53b3Jkc1swXStjPDY3MTA4ODY0P3RoaXMud29yZHNbMF0rPWM6dGhpcy5faWFkZG4oYyl9fSxpLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKHQpe3Qud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIGU9MDtlPHRoaXMubGVuZ3RoO2UrKyl0LndvcmRzW2VdPXRoaXMud29yZHNbZV07dC5sZW5ndGg9dGhpcy5sZW5ndGgsdC5uZWdhdGl2ZT10aGlzLm5lZ2F0aXZlLHQucmVkPXRoaXMucmVkfSxpLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3ZhciB0PW5ldyBpKG51bGwpO3JldHVybiB0aGlzLmNvcHkodCksdH0saS5wcm90b3R5cGUuX2V4cGFuZD1mdW5jdGlvbih0KXtmb3IoO3RoaXMubGVuZ3RoPHQ7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtyZXR1cm4gdGhpc30saS5wcm90b3R5cGUuc3RyaXA9ZnVuY3Rpb24oKXtmb3IoO3RoaXMubGVuZ3RoPjEmJjA9PT10aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdOyl0aGlzLmxlbmd0aC0tO3JldHVybiB0aGlzLl9ub3JtU2lnbigpfSxpLnByb3RvdHlwZS5fbm9ybVNpZ249ZnVuY3Rpb24oKXtyZXR1cm4gMT09PXRoaXMubGVuZ3RoJiYwPT09dGhpcy53b3Jkc1swXSYmKHRoaXMubmVnYXRpdmU9MCksdGhpc30saS5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybih0aGlzLnJlZD8iPEJOLVI6ICI6IjxCTjogIikrdGhpcy50b1N0cmluZygxNikrIj4ifTt2YXIgYz1bIiIsIjAiLCIwMCIsIjAwMCIsIjAwMDAiLCIwMDAwMCIsIjAwMDAwMCIsIjAwMDAwMDAiLCIwMDAwMDAwMCIsIjAwMDAwMDAwMCIsIjAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiXSx1PVswLDAsMjUsMTYsMTIsMTEsMTAsOSw4LDgsNyw3LDcsNyw2LDYsNiw2LDYsNiw2LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDVdLGg9WzAsMCwzMzU1NDQzMiw0MzA0NjcyMSwxNjc3NzIxNiw0ODgyODEyNSw2MDQ2NjE3Niw0MDM1MzYwNywxNjc3NzIxNiw0MzA0NjcyMSwxZTcsMTk0ODcxNzEsMzU4MzE4MDgsNjI3NDg1MTcsNzUyOTUzNiwxMTM5MDYyNSwxNjc3NzIxNiwyNDEzNzU2OSwzNDAxMjIyNCw0NzA0NTg4MSw2NGU2LDQwODQxMDEsNTE1MzYzMiw2NDM2MzQzLDc5NjI2MjQsOTc2NTYyNSwxMTg4MTM3NiwxNDM0ODkwNywxNzIxMDM2OCwyMDUxMTE0OSwyNDNlNSwyODYyOTE1MSwzMzU1NDQzMiwzOTEzNTM5Myw0NTQzNTQyNCw1MjUyMTg3NSw2MDQ2NjE3Nl07ZnVuY3Rpb24gZih0LGUscil7ci5uZWdhdGl2ZT1lLm5lZ2F0aXZlXnQubmVnYXRpdmU7dmFyIG49dC5sZW5ndGgrZS5sZW5ndGh8MDtyLmxlbmd0aD1uLG49bi0xfDA7dmFyIGE9MHx0LndvcmRzWzBdLGk9MHxlLndvcmRzWzBdLG89YSppLHM9NjcxMDg4NjMmbyxsPW8vNjcxMDg4NjR8MDtyLndvcmRzWzBdPXM7Zm9yKHZhciBjPTE7YzxuO2MrKyl7Zm9yKHZhciB1PWw+Pj4yNixoPTY3MTA4ODYzJmwsZj1NYXRoLm1pbihjLGUubGVuZ3RoLTEpLHA9TWF0aC5tYXgoMCxjLXQubGVuZ3RoKzEpO3A8PWY7cCsrKXt2YXIgZD1jLXB8MDt1Kz0obz0oYT0wfHQud29yZHNbZF0pKihpPTB8ZS53b3Jkc1twXSkraCkvNjcxMDg4NjR8MCxoPTY3MTA4ODYzJm99ci53b3Jkc1tjXT0wfGgsbD0wfHV9cmV0dXJuIDAhPT1sP3Iud29yZHNbY109MHxsOnIubGVuZ3RoLS0sci5zdHJpcCgpfWkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQsZSl7dmFyIHI7aWYoZT0wfGV8fDEsMTY9PT0odD10fHwxMCl8fCJoZXgiPT09dCl7cj0iIjtmb3IodmFyIGE9MCxpPTAsbz0wO288dGhpcy5sZW5ndGg7bysrKXt2YXIgcz10aGlzLndvcmRzW29dLGw9KDE2Nzc3MjE1JihzPDxhfGkpKS50b1N0cmluZygxNik7cj0wIT09KGk9cz4+PjI0LWEmMTY3NzcyMTUpfHxvIT09dGhpcy5sZW5ndGgtMT9jWzYtbC5sZW5ndGhdK2wrcjpsK3IsKGErPTIpPj0yNiYmKGEtPTI2LG8tLSl9Zm9yKDAhPT1pJiYocj1pLnRvU3RyaW5nKDE2KStyKTtyLmxlbmd0aCVlIT0wOylyPSIwIityO3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZSYmKHI9Ii0iK3IpLHJ9aWYodD09PSgwfHQpJiZ0Pj0yJiZ0PD0zNil7dmFyIGY9dVt0XSxwPWhbdF07cj0iIjt2YXIgZD10aGlzLmNsb25lKCk7Zm9yKGQubmVnYXRpdmU9MDshZC5pc1plcm8oKTspe3ZhciBnPWQubW9kbihwKS50b1N0cmluZyh0KTtyPShkPWQuaWRpdm4ocCkpLmlzWmVybygpP2crcjpjW2YtZy5sZW5ndGhdK2crcn1mb3IodGhpcy5pc1plcm8oKSYmKHI9IjAiK3IpO3IubGVuZ3RoJWUhPTA7KXI9IjAiK3I7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlJiYocj0iLSIrcikscn1uKCExLCJCYXNlIHNob3VsZCBiZSBiZXR3ZWVuIDIgYW5kIDM2Iil9LGkucHJvdG90eXBlLnRvTnVtYmVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53b3Jkc1swXTtyZXR1cm4gMj09PXRoaXMubGVuZ3RoP3QrPTY3MTA4ODY0KnRoaXMud29yZHNbMV06Mz09PXRoaXMubGVuZ3RoJiYxPT09dGhpcy53b3Jkc1syXT90Kz00NTAzNTk5NjI3MzcwNDk2KzY3MTA4ODY0KnRoaXMud29yZHNbMV06dGhpcy5sZW5ndGg+MiYmbighMSwiTnVtYmVyIGNhbiBvbmx5IHNhZmVseSBzdG9yZSB1cCB0byA1MyBiaXRzIiksMCE9PXRoaXMubmVnYXRpdmU/LXQ6dH0saS5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9TdHJpbmcoMTYpfSxpLnByb3RvdHlwZS50b0J1ZmZlcj1mdW5jdGlvbih0LGUpe3JldHVybiBuKCJ1bmRlZmluZWQiIT10eXBlb2YgbyksdGhpcy50b0FycmF5TGlrZShvLHQsZSl9LGkucHJvdG90eXBlLnRvQXJyYXk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy50b0FycmF5TGlrZShBcnJheSx0LGUpfSxpLnByb3RvdHlwZS50b0FycmF5TGlrZT1mdW5jdGlvbih0LGUscil7dmFyIGE9dGhpcy5ieXRlTGVuZ3RoKCksaT1yfHxNYXRoLm1heCgxLGEpO24oYTw9aSwiYnl0ZSBhcnJheSBsb25nZXIgdGhhbiBkZXNpcmVkIGxlbmd0aCIpLG4oaT4wLCJSZXF1ZXN0ZWQgYXJyYXkgbGVuZ3RoIDw9IDAiKSx0aGlzLnN0cmlwKCk7dmFyIG8scyxsPSJsZSI9PT1lLGM9bmV3IHQoaSksdT10aGlzLmNsb25lKCk7aWYobCl7Zm9yKHM9MDshdS5pc1plcm8oKTtzKyspbz11LmFuZGxuKDI1NSksdS5pdXNocm4oOCksY1tzXT1vO2Zvcig7czxpO3MrKyljW3NdPTB9ZWxzZXtmb3Iocz0wO3M8aS1hO3MrKyljW3NdPTA7Zm9yKHM9MDshdS5pc1plcm8oKTtzKyspbz11LmFuZGxuKDI1NSksdS5pdXNocm4oOCksY1tpLXMtMV09b31yZXR1cm4gY30sTWF0aC5jbHozMj9pLnByb3RvdHlwZS5fY291bnRCaXRzPWZ1bmN0aW9uKHQpe3JldHVybiAzMi1NYXRoLmNsejMyKHQpfTppLnByb3RvdHlwZS5fY291bnRCaXRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQscj0wO3JldHVybiBlPj00MDk2JiYocis9MTMsZT4+Pj0xMyksZT49NjQmJihyKz03LGU+Pj49NyksZT49OCYmKHIrPTQsZT4+Pj00KSxlPj0yJiYocis9MixlPj4+PTIpLHIrZX0saS5wcm90b3R5cGUuX3plcm9CaXRzPWZ1bmN0aW9uKHQpe2lmKDA9PT10KXJldHVybiAyNjt2YXIgZT10LHI9MDtyZXR1cm4gMD09KDgxOTEmZSkmJihyKz0xMyxlPj4+PTEzKSwwPT0oMTI3JmUpJiYocis9NyxlPj4+PTcpLDA9PSgxNSZlKSYmKHIrPTQsZT4+Pj00KSwwPT0oMyZlKSYmKHIrPTIsZT4+Pj0yKSwwPT0oMSZlKSYmcisrLHJ9LGkucHJvdG90eXBlLmJpdExlbmd0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV0sZT10aGlzLl9jb3VudEJpdHModCk7cmV0dXJuIDI2Kih0aGlzLmxlbmd0aC0xKStlfSxpLnByb3RvdHlwZS56ZXJvQml0cz1mdW5jdGlvbigpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIDA7Zm9yKHZhciB0PTAsZT0wO2U8dGhpcy5sZW5ndGg7ZSsrKXt2YXIgcj10aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW2VdKTtpZih0Kz1yLDI2IT09cilicmVha31yZXR1cm4gdH0saS5wcm90b3R5cGUuYnl0ZUxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgoKS84KX0saS5wcm90b3R5cGUudG9Ud29zPWZ1bmN0aW9uKHQpe3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT90aGlzLmFicygpLmlub3RuKHQpLmlhZGRuKDEpOnRoaXMuY2xvbmUoKX0saS5wcm90b3R5cGUuZnJvbVR3b3M9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGVzdG4odC0xKT90aGlzLm5vdG4odCkuaWFkZG4oMSkuaW5lZygpOnRoaXMuY2xvbmUoKX0saS5wcm90b3R5cGUuaXNOZWc9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmV9LGkucHJvdG90eXBlLm5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaW5lZygpfSxpLnByb3RvdHlwZS5pbmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNaZXJvKCl8fCh0aGlzLm5lZ2F0aXZlXj0xKSx0aGlzfSxpLnByb3RvdHlwZS5pdW9yPWZ1bmN0aW9uKHQpe2Zvcig7dGhpcy5sZW5ndGg8dC5sZW5ndGg7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl0aGlzLndvcmRzW2VdPXRoaXMud29yZHNbZV18dC53b3Jkc1tlXTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5pb3I9ZnVuY3Rpb24odCl7cmV0dXJuIG4oMD09KHRoaXMubmVnYXRpdmV8dC5uZWdhdGl2ZSkpLHRoaXMuaXVvcih0KX0saS5wcm90b3R5cGUub3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pb3IodCk6dC5jbG9uZSgpLmlvcih0aGlzKX0saS5wcm90b3R5cGUudW9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaXVvcih0KTp0LmNsb25lKCkuaXVvcih0aGlzKX0saS5wcm90b3R5cGUuaXVhbmQ9ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLmxlbmd0aD50Lmxlbmd0aD90OnRoaXM7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspdGhpcy53b3Jkc1tyXT10aGlzLndvcmRzW3JdJnQud29yZHNbcl07cmV0dXJuIHRoaXMubGVuZ3RoPWUubGVuZ3RoLHRoaXMuc3RyaXAoKX0saS5wcm90b3R5cGUuaWFuZD1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT0odGhpcy5uZWdhdGl2ZXx0Lm5lZ2F0aXZlKSksdGhpcy5pdWFuZCh0KX0saS5wcm90b3R5cGUuYW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaWFuZCh0KTp0LmNsb25lKCkuaWFuZCh0aGlzKX0saS5wcm90b3R5cGUudWFuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1YW5kKHQpOnQuY2xvbmUoKS5pdWFuZCh0aGlzKX0saS5wcm90b3R5cGUuaXV4b3I9ZnVuY3Rpb24odCl7dmFyIGUscjt0aGlzLmxlbmd0aD50Lmxlbmd0aD8oZT10aGlzLHI9dCk6KGU9dCxyPXRoaXMpO2Zvcih2YXIgbj0wO248ci5sZW5ndGg7bisrKXRoaXMud29yZHNbbl09ZS53b3Jkc1tuXV5yLndvcmRzW25dO2lmKHRoaXMhPT1lKWZvcig7bjxlLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT1lLndvcmRzW25dO3JldHVybiB0aGlzLmxlbmd0aD1lLmxlbmd0aCx0aGlzLnN0cmlwKCl9LGkucHJvdG90eXBlLml4b3I9ZnVuY3Rpb24odCl7cmV0dXJuIG4oMD09KHRoaXMubmVnYXRpdmV8dC5uZWdhdGl2ZSkpLHRoaXMuaXV4b3IodCl9LGkucHJvdG90eXBlLnhvcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLml4b3IodCk6dC5jbG9uZSgpLml4b3IodGhpcyl9LGkucHJvdG90eXBlLnV4b3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdXhvcih0KTp0LmNsb25lKCkuaXV4b3IodGhpcyl9LGkucHJvdG90eXBlLmlub3RuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgZT0wfE1hdGguY2VpbCh0LzI2KSxyPXQlMjY7dGhpcy5fZXhwYW5kKGUpLHI+MCYmZS0tO2Zvcih2YXIgYT0wO2E8ZTthKyspdGhpcy53b3Jkc1thXT02NzEwODg2MyZ+dGhpcy53b3Jkc1thXTtyZXR1cm4gcj4wJiYodGhpcy53b3Jkc1thXT1+dGhpcy53b3Jkc1thXSY2NzEwODg2Mz4+MjYtciksdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5ub3RuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaW5vdG4odCl9LGkucHJvdG90eXBlLnNldG49ZnVuY3Rpb24odCxlKXtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIHI9dC8yNnwwLGE9dCUyNjtyZXR1cm4gdGhpcy5fZXhwYW5kKHIrMSksdGhpcy53b3Jkc1tyXT1lP3RoaXMud29yZHNbcl18MTw8YTp0aGlzLndvcmRzW3JdJn4oMTw8YSksdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5pYWRkPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbjtpZigwIT09dGhpcy5uZWdhdGl2ZSYmMD09PXQubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCxlPXRoaXMuaXN1Yih0KSx0aGlzLm5lZ2F0aXZlXj0xLHRoaXMuX25vcm1TaWduKCk7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlKXJldHVybiB0Lm5lZ2F0aXZlPTAsZT10aGlzLmlzdWIodCksdC5uZWdhdGl2ZT0xLGUuX25vcm1TaWduKCk7dGhpcy5sZW5ndGg+dC5sZW5ndGg/KHI9dGhpcyxuPXQpOihyPXQsbj10aGlzKTtmb3IodmFyIGE9MCxpPTA7aTxuLmxlbmd0aDtpKyspZT0oMHxyLndvcmRzW2ldKSsoMHxuLndvcmRzW2ldKSthLHRoaXMud29yZHNbaV09NjcxMDg4NjMmZSxhPWU+Pj4yNjtmb3IoOzAhPT1hJiZpPHIubGVuZ3RoO2krKyllPSgwfHIud29yZHNbaV0pK2EsdGhpcy53b3Jkc1tpXT02NzEwODg2MyZlLGE9ZT4+PjI2O2lmKHRoaXMubGVuZ3RoPXIubGVuZ3RoLDAhPT1hKXRoaXMud29yZHNbdGhpcy5sZW5ndGhdPWEsdGhpcy5sZW5ndGgrKztlbHNlIGlmKHIhPT10aGlzKWZvcig7aTxyLmxlbmd0aDtpKyspdGhpcy53b3Jkc1tpXT1yLndvcmRzW2ldO3JldHVybiB0aGlzfSxpLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIDAhPT10Lm5lZ2F0aXZlJiYwPT09dGhpcy5uZWdhdGl2ZT8odC5uZWdhdGl2ZT0wLGU9dGhpcy5zdWIodCksdC5uZWdhdGl2ZV49MSxlKTowPT09dC5uZWdhdGl2ZSYmMCE9PXRoaXMubmVnYXRpdmU/KHRoaXMubmVnYXRpdmU9MCxlPXQuc3ViKHRoaXMpLHRoaXMubmVnYXRpdmU9MSxlKTp0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaWFkZCh0KTp0LmNsb25lKCkuaWFkZCh0aGlzKX0saS5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbih0KXtpZigwIT09dC5uZWdhdGl2ZSl7dC5uZWdhdGl2ZT0wO3ZhciBlPXRoaXMuaWFkZCh0KTtyZXR1cm4gdC5uZWdhdGl2ZT0xLGUuX25vcm1TaWduKCl9aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGQodCksdGhpcy5uZWdhdGl2ZT0xLHRoaXMuX25vcm1TaWduKCk7dmFyIHIsbixhPXRoaXMuY21wKHQpO2lmKDA9PT1hKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpcy5sZW5ndGg9MSx0aGlzLndvcmRzWzBdPTAsdGhpczthPjA/KHI9dGhpcyxuPXQpOihyPXQsbj10aGlzKTtmb3IodmFyIGk9MCxvPTA7bzxuLmxlbmd0aDtvKyspaT0oZT0oMHxyLndvcmRzW29dKS0oMHxuLndvcmRzW29dKStpKT4+MjYsdGhpcy53b3Jkc1tvXT02NzEwODg2MyZlO2Zvcig7MCE9PWkmJm88ci5sZW5ndGg7bysrKWk9KGU9KDB8ci53b3Jkc1tvXSkraSk+PjI2LHRoaXMud29yZHNbb109NjcxMDg4NjMmZTtpZigwPT09aSYmbzxyLmxlbmd0aCYmciE9PXRoaXMpZm9yKDtvPHIubGVuZ3RoO28rKyl0aGlzLndvcmRzW29dPXIud29yZHNbb107cmV0dXJuIHRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLG8pLHIhPT10aGlzJiYodGhpcy5uZWdhdGl2ZT0xKSx0aGlzLnN0cmlwKCl9LGkucHJvdG90eXBlLnN1Yj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWIodCl9O3ZhciBwPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhLGksbz10LndvcmRzLHM9ZS53b3JkcyxsPXIud29yZHMsYz0wLHU9MHxvWzBdLGg9ODE5MSZ1LGY9dT4+PjEzLHA9MHxvWzFdLGQ9ODE5MSZwLGc9cD4+PjEzLHY9MHxvWzJdLG09ODE5MSZ2LHk9dj4+PjEzLHg9MHxvWzNdLGI9ODE5MSZ4LF89eD4+PjEzLHc9MHxvWzRdLGs9ODE5MSZ3LFQ9dz4+PjEzLE09MHxvWzVdLEE9ODE5MSZNLFM9TT4+PjEzLEU9MHxvWzZdLEw9ODE5MSZFLEM9RT4+PjEzLFA9MHxvWzddLE89ODE5MSZQLHo9UD4+PjEzLEk9MHxvWzhdLEQ9ODE5MSZJLFI9ST4+PjEzLEY9MHxvWzldLEI9ODE5MSZGLE49Rj4+PjEzLGo9MHxzWzBdLFY9ODE5MSZqLFU9aj4+PjEzLHE9MHxzWzFdLEg9ODE5MSZxLEc9cT4+PjEzLFk9MHxzWzJdLFc9ODE5MSZZLFg9WT4+PjEzLFo9MHxzWzNdLEo9ODE5MSZaLEs9Wj4+PjEzLFE9MHxzWzRdLCQ9ODE5MSZRLHR0PVE+Pj4xMyxldD0wfHNbNV0scnQ9ODE5MSZldCxudD1ldD4+PjEzLGF0PTB8c1s2XSxpdD04MTkxJmF0LG90PWF0Pj4+MTMsc3Q9MHxzWzddLGx0PTgxOTEmc3QsY3Q9c3Q+Pj4xMyx1dD0wfHNbOF0saHQ9ODE5MSZ1dCxmdD11dD4+PjEzLHB0PTB8c1s5XSxkdD04MTkxJnB0LGd0PXB0Pj4+MTM7ci5uZWdhdGl2ZT10Lm5lZ2F0aXZlXmUubmVnYXRpdmUsci5sZW5ndGg9MTk7dmFyIHZ0PShjKyhuPU1hdGguaW11bChoLFYpKXwwKSsoKDgxOTEmKGE9KGE9TWF0aC5pbXVsKGgsVSkpK01hdGguaW11bChmLFYpfDApKTw8MTMpfDA7Yz0oKGk9TWF0aC5pbXVsKGYsVSkpKyhhPj4+MTMpfDApKyh2dD4+PjI2KXwwLHZ0Jj02NzEwODg2MyxuPU1hdGguaW11bChkLFYpLGE9KGE9TWF0aC5pbXVsKGQsVSkpK01hdGguaW11bChnLFYpfDAsaT1NYXRoLmltdWwoZyxVKTt2YXIgbXQ9KGMrKG49bitNYXRoLmltdWwoaCxIKXwwKXwwKSsoKDgxOTEmKGE9KGE9YStNYXRoLmltdWwoaCxHKXwwKStNYXRoLmltdWwoZixIKXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKGYsRyl8MCkrKGE+Pj4xMyl8MCkrKG10Pj4+MjYpfDAsbXQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKG0sViksYT0oYT1NYXRoLmltdWwobSxVKSkrTWF0aC5pbXVsKHksVil8MCxpPU1hdGguaW11bCh5LFUpLG49bitNYXRoLmltdWwoZCxIKXwwLGE9KGE9YStNYXRoLmltdWwoZCxHKXwwKStNYXRoLmltdWwoZyxIKXwwLGk9aStNYXRoLmltdWwoZyxHKXwwO3ZhciB5dD0oYysobj1uK01hdGguaW11bChoLFcpfDApfDApKygoODE5MSYoYT0oYT1hK01hdGguaW11bChoLFgpfDApK01hdGguaW11bChmLFcpfDApKTw8MTMpfDA7Yz0oKGk9aStNYXRoLmltdWwoZixYKXwwKSsoYT4+PjEzKXwwKSsoeXQ+Pj4yNil8MCx5dCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoYixWKSxhPShhPU1hdGguaW11bChiLFUpKStNYXRoLmltdWwoXyxWKXwwLGk9TWF0aC5pbXVsKF8sVSksbj1uK01hdGguaW11bChtLEgpfDAsYT0oYT1hK01hdGguaW11bChtLEcpfDApK01hdGguaW11bCh5LEgpfDAsaT1pK01hdGguaW11bCh5LEcpfDAsbj1uK01hdGguaW11bChkLFcpfDAsYT0oYT1hK01hdGguaW11bChkLFgpfDApK01hdGguaW11bChnLFcpfDAsaT1pK01hdGguaW11bChnLFgpfDA7dmFyIHh0PShjKyhuPW4rTWF0aC5pbXVsKGgsSil8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKGgsSyl8MCkrTWF0aC5pbXVsKGYsSil8MCkpPDwxMyl8MDtjPSgoaT1pK01hdGguaW11bChmLEspfDApKyhhPj4+MTMpfDApKyh4dD4+PjI2KXwwLHh0Jj02NzEwODg2MyxuPU1hdGguaW11bChrLFYpLGE9KGE9TWF0aC5pbXVsKGssVSkpK01hdGguaW11bChULFYpfDAsaT1NYXRoLmltdWwoVCxVKSxuPW4rTWF0aC5pbXVsKGIsSCl8MCxhPShhPWErTWF0aC5pbXVsKGIsRyl8MCkrTWF0aC5pbXVsKF8sSCl8MCxpPWkrTWF0aC5pbXVsKF8sRyl8MCxuPW4rTWF0aC5pbXVsKG0sVyl8MCxhPShhPWErTWF0aC5pbXVsKG0sWCl8MCkrTWF0aC5pbXVsKHksVyl8MCxpPWkrTWF0aC5pbXVsKHksWCl8MCxuPW4rTWF0aC5pbXVsKGQsSil8MCxhPShhPWErTWF0aC5pbXVsKGQsSyl8MCkrTWF0aC5pbXVsKGcsSil8MCxpPWkrTWF0aC5pbXVsKGcsSyl8MDt2YXIgYnQ9KGMrKG49bitNYXRoLmltdWwoaCwkKXwwKXwwKSsoKDgxOTEmKGE9KGE9YStNYXRoLmltdWwoaCx0dCl8MCkrTWF0aC5pbXVsKGYsJCl8MCkpPDwxMyl8MDtjPSgoaT1pK01hdGguaW11bChmLHR0KXwwKSsoYT4+PjEzKXwwKSsoYnQ+Pj4yNil8MCxidCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoQSxWKSxhPShhPU1hdGguaW11bChBLFUpKStNYXRoLmltdWwoUyxWKXwwLGk9TWF0aC5pbXVsKFMsVSksbj1uK01hdGguaW11bChrLEgpfDAsYT0oYT1hK01hdGguaW11bChrLEcpfDApK01hdGguaW11bChULEgpfDAsaT1pK01hdGguaW11bChULEcpfDAsbj1uK01hdGguaW11bChiLFcpfDAsYT0oYT1hK01hdGguaW11bChiLFgpfDApK01hdGguaW11bChfLFcpfDAsaT1pK01hdGguaW11bChfLFgpfDAsbj1uK01hdGguaW11bChtLEopfDAsYT0oYT1hK01hdGguaW11bChtLEspfDApK01hdGguaW11bCh5LEopfDAsaT1pK01hdGguaW11bCh5LEspfDAsbj1uK01hdGguaW11bChkLCQpfDAsYT0oYT1hK01hdGguaW11bChkLHR0KXwwKStNYXRoLmltdWwoZywkKXwwLGk9aStNYXRoLmltdWwoZyx0dCl8MDt2YXIgX3Q9KGMrKG49bitNYXRoLmltdWwoaCxydCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKGgsbnQpfDApK01hdGguaW11bChmLHJ0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKGYsbnQpfDApKyhhPj4+MTMpfDApKyhfdD4+PjI2KXwwLF90Jj02NzEwODg2MyxuPU1hdGguaW11bChMLFYpLGE9KGE9TWF0aC5pbXVsKEwsVSkpK01hdGguaW11bChDLFYpfDAsaT1NYXRoLmltdWwoQyxVKSxuPW4rTWF0aC5pbXVsKEEsSCl8MCxhPShhPWErTWF0aC5pbXVsKEEsRyl8MCkrTWF0aC5pbXVsKFMsSCl8MCxpPWkrTWF0aC5pbXVsKFMsRyl8MCxuPW4rTWF0aC5pbXVsKGssVyl8MCxhPShhPWErTWF0aC5pbXVsKGssWCl8MCkrTWF0aC5pbXVsKFQsVyl8MCxpPWkrTWF0aC5pbXVsKFQsWCl8MCxuPW4rTWF0aC5pbXVsKGIsSil8MCxhPShhPWErTWF0aC5pbXVsKGIsSyl8MCkrTWF0aC5pbXVsKF8sSil8MCxpPWkrTWF0aC5pbXVsKF8sSyl8MCxuPW4rTWF0aC5pbXVsKG0sJCl8MCxhPShhPWErTWF0aC5pbXVsKG0sdHQpfDApK01hdGguaW11bCh5LCQpfDAsaT1pK01hdGguaW11bCh5LHR0KXwwLG49bitNYXRoLmltdWwoZCxydCl8MCxhPShhPWErTWF0aC5pbXVsKGQsbnQpfDApK01hdGguaW11bChnLHJ0KXwwLGk9aStNYXRoLmltdWwoZyxudCl8MDt2YXIgd3Q9KGMrKG49bitNYXRoLmltdWwoaCxpdCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKGgsb3QpfDApK01hdGguaW11bChmLGl0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKGYsb3QpfDApKyhhPj4+MTMpfDApKyh3dD4+PjI2KXwwLHd0Jj02NzEwODg2MyxuPU1hdGguaW11bChPLFYpLGE9KGE9TWF0aC5pbXVsKE8sVSkpK01hdGguaW11bCh6LFYpfDAsaT1NYXRoLmltdWwoeixVKSxuPW4rTWF0aC5pbXVsKEwsSCl8MCxhPShhPWErTWF0aC5pbXVsKEwsRyl8MCkrTWF0aC5pbXVsKEMsSCl8MCxpPWkrTWF0aC5pbXVsKEMsRyl8MCxuPW4rTWF0aC5pbXVsKEEsVyl8MCxhPShhPWErTWF0aC5pbXVsKEEsWCl8MCkrTWF0aC5pbXVsKFMsVyl8MCxpPWkrTWF0aC5pbXVsKFMsWCl8MCxuPW4rTWF0aC5pbXVsKGssSil8MCxhPShhPWErTWF0aC5pbXVsKGssSyl8MCkrTWF0aC5pbXVsKFQsSil8MCxpPWkrTWF0aC5pbXVsKFQsSyl8MCxuPW4rTWF0aC5pbXVsKGIsJCl8MCxhPShhPWErTWF0aC5pbXVsKGIsdHQpfDApK01hdGguaW11bChfLCQpfDAsaT1pK01hdGguaW11bChfLHR0KXwwLG49bitNYXRoLmltdWwobSxydCl8MCxhPShhPWErTWF0aC5pbXVsKG0sbnQpfDApK01hdGguaW11bCh5LHJ0KXwwLGk9aStNYXRoLmltdWwoeSxudCl8MCxuPW4rTWF0aC5pbXVsKGQsaXQpfDAsYT0oYT1hK01hdGguaW11bChkLG90KXwwKStNYXRoLmltdWwoZyxpdCl8MCxpPWkrTWF0aC5pbXVsKGcsb3QpfDA7dmFyIGt0PShjKyhuPW4rTWF0aC5pbXVsKGgsbHQpfDApfDApKygoODE5MSYoYT0oYT1hK01hdGguaW11bChoLGN0KXwwKStNYXRoLmltdWwoZixsdCl8MCkpPDwxMyl8MDtjPSgoaT1pK01hdGguaW11bChmLGN0KXwwKSsoYT4+PjEzKXwwKSsoa3Q+Pj4yNil8MCxrdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoRCxWKSxhPShhPU1hdGguaW11bChELFUpKStNYXRoLmltdWwoUixWKXwwLGk9TWF0aC5pbXVsKFIsVSksbj1uK01hdGguaW11bChPLEgpfDAsYT0oYT1hK01hdGguaW11bChPLEcpfDApK01hdGguaW11bCh6LEgpfDAsaT1pK01hdGguaW11bCh6LEcpfDAsbj1uK01hdGguaW11bChMLFcpfDAsYT0oYT1hK01hdGguaW11bChMLFgpfDApK01hdGguaW11bChDLFcpfDAsaT1pK01hdGguaW11bChDLFgpfDAsbj1uK01hdGguaW11bChBLEopfDAsYT0oYT1hK01hdGguaW11bChBLEspfDApK01hdGguaW11bChTLEopfDAsaT1pK01hdGguaW11bChTLEspfDAsbj1uK01hdGguaW11bChrLCQpfDAsYT0oYT1hK01hdGguaW11bChrLHR0KXwwKStNYXRoLmltdWwoVCwkKXwwLGk9aStNYXRoLmltdWwoVCx0dCl8MCxuPW4rTWF0aC5pbXVsKGIscnQpfDAsYT0oYT1hK01hdGguaW11bChiLG50KXwwKStNYXRoLmltdWwoXyxydCl8MCxpPWkrTWF0aC5pbXVsKF8sbnQpfDAsbj1uK01hdGguaW11bChtLGl0KXwwLGE9KGE9YStNYXRoLmltdWwobSxvdCl8MCkrTWF0aC5pbXVsKHksaXQpfDAsaT1pK01hdGguaW11bCh5LG90KXwwLG49bitNYXRoLmltdWwoZCxsdCl8MCxhPShhPWErTWF0aC5pbXVsKGQsY3QpfDApK01hdGguaW11bChnLGx0KXwwLGk9aStNYXRoLmltdWwoZyxjdCl8MDt2YXIgVHQ9KGMrKG49bitNYXRoLmltdWwoaCxodCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKGgsZnQpfDApK01hdGguaW11bChmLGh0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKGYsZnQpfDApKyhhPj4+MTMpfDApKyhUdD4+PjI2KXwwLFR0Jj02NzEwODg2MyxuPU1hdGguaW11bChCLFYpLGE9KGE9TWF0aC5pbXVsKEIsVSkpK01hdGguaW11bChOLFYpfDAsaT1NYXRoLmltdWwoTixVKSxuPW4rTWF0aC5pbXVsKEQsSCl8MCxhPShhPWErTWF0aC5pbXVsKEQsRyl8MCkrTWF0aC5pbXVsKFIsSCl8MCxpPWkrTWF0aC5pbXVsKFIsRyl8MCxuPW4rTWF0aC5pbXVsKE8sVyl8MCxhPShhPWErTWF0aC5pbXVsKE8sWCl8MCkrTWF0aC5pbXVsKHosVyl8MCxpPWkrTWF0aC5pbXVsKHosWCl8MCxuPW4rTWF0aC5pbXVsKEwsSil8MCxhPShhPWErTWF0aC5pbXVsKEwsSyl8MCkrTWF0aC5pbXVsKEMsSil8MCxpPWkrTWF0aC5pbXVsKEMsSyl8MCxuPW4rTWF0aC5pbXVsKEEsJCl8MCxhPShhPWErTWF0aC5pbXVsKEEsdHQpfDApK01hdGguaW11bChTLCQpfDAsaT1pK01hdGguaW11bChTLHR0KXwwLG49bitNYXRoLmltdWwoayxydCl8MCxhPShhPWErTWF0aC5pbXVsKGssbnQpfDApK01hdGguaW11bChULHJ0KXwwLGk9aStNYXRoLmltdWwoVCxudCl8MCxuPW4rTWF0aC5pbXVsKGIsaXQpfDAsYT0oYT1hK01hdGguaW11bChiLG90KXwwKStNYXRoLmltdWwoXyxpdCl8MCxpPWkrTWF0aC5pbXVsKF8sb3QpfDAsbj1uK01hdGguaW11bChtLGx0KXwwLGE9KGE9YStNYXRoLmltdWwobSxjdCl8MCkrTWF0aC5pbXVsKHksbHQpfDAsaT1pK01hdGguaW11bCh5LGN0KXwwLG49bitNYXRoLmltdWwoZCxodCl8MCxhPShhPWErTWF0aC5pbXVsKGQsZnQpfDApK01hdGguaW11bChnLGh0KXwwLGk9aStNYXRoLmltdWwoZyxmdCl8MDt2YXIgTXQ9KGMrKG49bitNYXRoLmltdWwoaCxkdCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKGgsZ3QpfDApK01hdGguaW11bChmLGR0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKGYsZ3QpfDApKyhhPj4+MTMpfDApKyhNdD4+PjI2KXwwLE10Jj02NzEwODg2MyxuPU1hdGguaW11bChCLEgpLGE9KGE9TWF0aC5pbXVsKEIsRykpK01hdGguaW11bChOLEgpfDAsaT1NYXRoLmltdWwoTixHKSxuPW4rTWF0aC5pbXVsKEQsVyl8MCxhPShhPWErTWF0aC5pbXVsKEQsWCl8MCkrTWF0aC5pbXVsKFIsVyl8MCxpPWkrTWF0aC5pbXVsKFIsWCl8MCxuPW4rTWF0aC5pbXVsKE8sSil8MCxhPShhPWErTWF0aC5pbXVsKE8sSyl8MCkrTWF0aC5pbXVsKHosSil8MCxpPWkrTWF0aC5pbXVsKHosSyl8MCxuPW4rTWF0aC5pbXVsKEwsJCl8MCxhPShhPWErTWF0aC5pbXVsKEwsdHQpfDApK01hdGguaW11bChDLCQpfDAsaT1pK01hdGguaW11bChDLHR0KXwwLG49bitNYXRoLmltdWwoQSxydCl8MCxhPShhPWErTWF0aC5pbXVsKEEsbnQpfDApK01hdGguaW11bChTLHJ0KXwwLGk9aStNYXRoLmltdWwoUyxudCl8MCxuPW4rTWF0aC5pbXVsKGssaXQpfDAsYT0oYT1hK01hdGguaW11bChrLG90KXwwKStNYXRoLmltdWwoVCxpdCl8MCxpPWkrTWF0aC5pbXVsKFQsb3QpfDAsbj1uK01hdGguaW11bChiLGx0KXwwLGE9KGE9YStNYXRoLmltdWwoYixjdCl8MCkrTWF0aC5pbXVsKF8sbHQpfDAsaT1pK01hdGguaW11bChfLGN0KXwwLG49bitNYXRoLmltdWwobSxodCl8MCxhPShhPWErTWF0aC5pbXVsKG0sZnQpfDApK01hdGguaW11bCh5LGh0KXwwLGk9aStNYXRoLmltdWwoeSxmdCl8MDt2YXIgQXQ9KGMrKG49bitNYXRoLmltdWwoZCxkdCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKGQsZ3QpfDApK01hdGguaW11bChnLGR0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKGcsZ3QpfDApKyhhPj4+MTMpfDApKyhBdD4+PjI2KXwwLEF0Jj02NzEwODg2MyxuPU1hdGguaW11bChCLFcpLGE9KGE9TWF0aC5pbXVsKEIsWCkpK01hdGguaW11bChOLFcpfDAsaT1NYXRoLmltdWwoTixYKSxuPW4rTWF0aC5pbXVsKEQsSil8MCxhPShhPWErTWF0aC5pbXVsKEQsSyl8MCkrTWF0aC5pbXVsKFIsSil8MCxpPWkrTWF0aC5pbXVsKFIsSyl8MCxuPW4rTWF0aC5pbXVsKE8sJCl8MCxhPShhPWErTWF0aC5pbXVsKE8sdHQpfDApK01hdGguaW11bCh6LCQpfDAsaT1pK01hdGguaW11bCh6LHR0KXwwLG49bitNYXRoLmltdWwoTCxydCl8MCxhPShhPWErTWF0aC5pbXVsKEwsbnQpfDApK01hdGguaW11bChDLHJ0KXwwLGk9aStNYXRoLmltdWwoQyxudCl8MCxuPW4rTWF0aC5pbXVsKEEsaXQpfDAsYT0oYT1hK01hdGguaW11bChBLG90KXwwKStNYXRoLmltdWwoUyxpdCl8MCxpPWkrTWF0aC5pbXVsKFMsb3QpfDAsbj1uK01hdGguaW11bChrLGx0KXwwLGE9KGE9YStNYXRoLmltdWwoayxjdCl8MCkrTWF0aC5pbXVsKFQsbHQpfDAsaT1pK01hdGguaW11bChULGN0KXwwLG49bitNYXRoLmltdWwoYixodCl8MCxhPShhPWErTWF0aC5pbXVsKGIsZnQpfDApK01hdGguaW11bChfLGh0KXwwLGk9aStNYXRoLmltdWwoXyxmdCl8MDt2YXIgU3Q9KGMrKG49bitNYXRoLmltdWwobSxkdCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKG0sZ3QpfDApK01hdGguaW11bCh5LGR0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKHksZ3QpfDApKyhhPj4+MTMpfDApKyhTdD4+PjI2KXwwLFN0Jj02NzEwODg2MyxuPU1hdGguaW11bChCLEopLGE9KGE9TWF0aC5pbXVsKEIsSykpK01hdGguaW11bChOLEopfDAsaT1NYXRoLmltdWwoTixLKSxuPW4rTWF0aC5pbXVsKEQsJCl8MCxhPShhPWErTWF0aC5pbXVsKEQsdHQpfDApK01hdGguaW11bChSLCQpfDAsaT1pK01hdGguaW11bChSLHR0KXwwLG49bitNYXRoLmltdWwoTyxydCl8MCxhPShhPWErTWF0aC5pbXVsKE8sbnQpfDApK01hdGguaW11bCh6LHJ0KXwwLGk9aStNYXRoLmltdWwoeixudCl8MCxuPW4rTWF0aC5pbXVsKEwsaXQpfDAsYT0oYT1hK01hdGguaW11bChMLG90KXwwKStNYXRoLmltdWwoQyxpdCl8MCxpPWkrTWF0aC5pbXVsKEMsb3QpfDAsbj1uK01hdGguaW11bChBLGx0KXwwLGE9KGE9YStNYXRoLmltdWwoQSxjdCl8MCkrTWF0aC5pbXVsKFMsbHQpfDAsaT1pK01hdGguaW11bChTLGN0KXwwLG49bitNYXRoLmltdWwoayxodCl8MCxhPShhPWErTWF0aC5pbXVsKGssZnQpfDApK01hdGguaW11bChULGh0KXwwLGk9aStNYXRoLmltdWwoVCxmdCl8MDt2YXIgRXQ9KGMrKG49bitNYXRoLmltdWwoYixkdCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKGIsZ3QpfDApK01hdGguaW11bChfLGR0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKF8sZ3QpfDApKyhhPj4+MTMpfDApKyhFdD4+PjI2KXwwLEV0Jj02NzEwODg2MyxuPU1hdGguaW11bChCLCQpLGE9KGE9TWF0aC5pbXVsKEIsdHQpKStNYXRoLmltdWwoTiwkKXwwLGk9TWF0aC5pbXVsKE4sdHQpLG49bitNYXRoLmltdWwoRCxydCl8MCxhPShhPWErTWF0aC5pbXVsKEQsbnQpfDApK01hdGguaW11bChSLHJ0KXwwLGk9aStNYXRoLmltdWwoUixudCl8MCxuPW4rTWF0aC5pbXVsKE8saXQpfDAsYT0oYT1hK01hdGguaW11bChPLG90KXwwKStNYXRoLmltdWwoeixpdCl8MCxpPWkrTWF0aC5pbXVsKHosb3QpfDAsbj1uK01hdGguaW11bChMLGx0KXwwLGE9KGE9YStNYXRoLmltdWwoTCxjdCl8MCkrTWF0aC5pbXVsKEMsbHQpfDAsaT1pK01hdGguaW11bChDLGN0KXwwLG49bitNYXRoLmltdWwoQSxodCl8MCxhPShhPWErTWF0aC5pbXVsKEEsZnQpfDApK01hdGguaW11bChTLGh0KXwwLGk9aStNYXRoLmltdWwoUyxmdCl8MDt2YXIgTHQ9KGMrKG49bitNYXRoLmltdWwoayxkdCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKGssZ3QpfDApK01hdGguaW11bChULGR0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKFQsZ3QpfDApKyhhPj4+MTMpfDApKyhMdD4+PjI2KXwwLEx0Jj02NzEwODg2MyxuPU1hdGguaW11bChCLHJ0KSxhPShhPU1hdGguaW11bChCLG50KSkrTWF0aC5pbXVsKE4scnQpfDAsaT1NYXRoLmltdWwoTixudCksbj1uK01hdGguaW11bChELGl0KXwwLGE9KGE9YStNYXRoLmltdWwoRCxvdCl8MCkrTWF0aC5pbXVsKFIsaXQpfDAsaT1pK01hdGguaW11bChSLG90KXwwLG49bitNYXRoLmltdWwoTyxsdCl8MCxhPShhPWErTWF0aC5pbXVsKE8sY3QpfDApK01hdGguaW11bCh6LGx0KXwwLGk9aStNYXRoLmltdWwoeixjdCl8MCxuPW4rTWF0aC5pbXVsKEwsaHQpfDAsYT0oYT1hK01hdGguaW11bChMLGZ0KXwwKStNYXRoLmltdWwoQyxodCl8MCxpPWkrTWF0aC5pbXVsKEMsZnQpfDA7dmFyIEN0PShjKyhuPW4rTWF0aC5pbXVsKEEsZHQpfDApfDApKygoODE5MSYoYT0oYT1hK01hdGguaW11bChBLGd0KXwwKStNYXRoLmltdWwoUyxkdCl8MCkpPDwxMyl8MDtjPSgoaT1pK01hdGguaW11bChTLGd0KXwwKSsoYT4+PjEzKXwwKSsoQ3Q+Pj4yNil8MCxDdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoQixpdCksYT0oYT1NYXRoLmltdWwoQixvdCkpK01hdGguaW11bChOLGl0KXwwLGk9TWF0aC5pbXVsKE4sb3QpLG49bitNYXRoLmltdWwoRCxsdCl8MCxhPShhPWErTWF0aC5pbXVsKEQsY3QpfDApK01hdGguaW11bChSLGx0KXwwLGk9aStNYXRoLmltdWwoUixjdCl8MCxuPW4rTWF0aC5pbXVsKE8saHQpfDAsYT0oYT1hK01hdGguaW11bChPLGZ0KXwwKStNYXRoLmltdWwoeixodCl8MCxpPWkrTWF0aC5pbXVsKHosZnQpfDA7dmFyIFB0PShjKyhuPW4rTWF0aC5pbXVsKEwsZHQpfDApfDApKygoODE5MSYoYT0oYT1hK01hdGguaW11bChMLGd0KXwwKStNYXRoLmltdWwoQyxkdCl8MCkpPDwxMyl8MDtjPSgoaT1pK01hdGguaW11bChDLGd0KXwwKSsoYT4+PjEzKXwwKSsoUHQ+Pj4yNil8MCxQdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoQixsdCksYT0oYT1NYXRoLmltdWwoQixjdCkpK01hdGguaW11bChOLGx0KXwwLGk9TWF0aC5pbXVsKE4sY3QpLG49bitNYXRoLmltdWwoRCxodCl8MCxhPShhPWErTWF0aC5pbXVsKEQsZnQpfDApK01hdGguaW11bChSLGh0KXwwLGk9aStNYXRoLmltdWwoUixmdCl8MDt2YXIgT3Q9KGMrKG49bitNYXRoLmltdWwoTyxkdCl8MCl8MCkrKCg4MTkxJihhPShhPWErTWF0aC5pbXVsKE8sZ3QpfDApK01hdGguaW11bCh6LGR0KXwwKSk8PDEzKXwwO2M9KChpPWkrTWF0aC5pbXVsKHosZ3QpfDApKyhhPj4+MTMpfDApKyhPdD4+PjI2KXwwLE90Jj02NzEwODg2MyxuPU1hdGguaW11bChCLGh0KSxhPShhPU1hdGguaW11bChCLGZ0KSkrTWF0aC5pbXVsKE4saHQpfDAsaT1NYXRoLmltdWwoTixmdCk7dmFyIHp0PShjKyhuPW4rTWF0aC5pbXVsKEQsZHQpfDApfDApKygoODE5MSYoYT0oYT1hK01hdGguaW11bChELGd0KXwwKStNYXRoLmltdWwoUixkdCl8MCkpPDwxMyl8MDtjPSgoaT1pK01hdGguaW11bChSLGd0KXwwKSsoYT4+PjEzKXwwKSsoenQ+Pj4yNil8MCx6dCY9NjcxMDg4NjM7dmFyIEl0PShjKyhuPU1hdGguaW11bChCLGR0KSl8MCkrKCg4MTkxJihhPShhPU1hdGguaW11bChCLGd0KSkrTWF0aC5pbXVsKE4sZHQpfDApKTw8MTMpfDA7cmV0dXJuIGM9KChpPU1hdGguaW11bChOLGd0KSkrKGE+Pj4xMyl8MCkrKEl0Pj4+MjYpfDAsSXQmPTY3MTA4ODYzLGxbMF09dnQsbFsxXT1tdCxsWzJdPXl0LGxbM109eHQsbFs0XT1idCxsWzVdPV90LGxbNl09d3QsbFs3XT1rdCxsWzhdPVR0LGxbOV09TXQsbFsxMF09QXQsbFsxMV09U3QsbFsxMl09RXQsbFsxM109THQsbFsxNF09Q3QsbFsxNV09UHQsbFsxNl09T3QsbFsxN109enQsbFsxOF09SXQsMCE9PWMmJihsWzE5XT1jLHIubGVuZ3RoKyspLHJ9O2Z1bmN0aW9uIGQodCxlLHIpe3JldHVybihuZXcgZykubXVscCh0LGUscil9ZnVuY3Rpb24gZyh0LGUpe3RoaXMueD10LHRoaXMueT1lfU1hdGguaW11bHx8KHA9ZiksaS5wcm90b3R5cGUubXVsVG89ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmxlbmd0aCt0Lmxlbmd0aDtyZXR1cm4gMTA9PT10aGlzLmxlbmd0aCYmMTA9PT10Lmxlbmd0aD9wKHRoaXMsdCxlKTpyPDYzP2YodGhpcyx0LGUpOnI8MTAyND9mdW5jdGlvbih0LGUscil7ci5uZWdhdGl2ZT1lLm5lZ2F0aXZlXnQubmVnYXRpdmUsci5sZW5ndGg9dC5sZW5ndGgrZS5sZW5ndGg7Zm9yKHZhciBuPTAsYT0wLGk9MDtpPHIubGVuZ3RoLTE7aSsrKXt2YXIgbz1hO2E9MDtmb3IodmFyIHM9NjcxMDg4NjMmbixsPU1hdGgubWluKGksZS5sZW5ndGgtMSksYz1NYXRoLm1heCgwLGktdC5sZW5ndGgrMSk7Yzw9bDtjKyspe3ZhciB1PWktYyxoPSgwfHQud29yZHNbdV0pKigwfGUud29yZHNbY10pLGY9NjcxMDg4NjMmaDtzPTY3MTA4ODYzJihmPWYrc3wwKSxhKz0obz0obz1vKyhoLzY3MTA4ODY0fDApfDApKyhmPj4+MjYpfDApPj4+MjYsbyY9NjcxMDg4NjN9ci53b3Jkc1tpXT1zLG49byxvPWF9cmV0dXJuIDAhPT1uP3Iud29yZHNbaV09bjpyLmxlbmd0aC0tLHIuc3RyaXAoKX0odGhpcyx0LGUpOmQodGhpcyx0LGUpfSxnLnByb3RvdHlwZS5tYWtlUkJUPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodCkscj1pLnByb3RvdHlwZS5fY291bnRCaXRzKHQpLTEsbj0wO248dDtuKyspZVtuXT10aGlzLnJldkJpbihuLHIsdCk7cmV0dXJuIGV9LGcucHJvdG90eXBlLnJldkJpbj1mdW5jdGlvbih0LGUscil7aWYoMD09PXR8fHQ9PT1yLTEpcmV0dXJuIHQ7Zm9yKHZhciBuPTAsYT0wO2E8ZTthKyspbnw9KDEmdCk8PGUtYS0xLHQ+Pj0xO3JldHVybiBufSxnLnByb3RvdHlwZS5wZXJtdXRlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXtmb3IodmFyIG89MDtvPGk7bysrKW5bb109ZVt0W29dXSxhW29dPXJbdFtvXV19LGcucHJvdG90eXBlLnRyYW5zZm9ybT1mdW5jdGlvbih0LGUscixuLGEsaSl7dGhpcy5wZXJtdXRlKGksdCxlLHIsbixhKTtmb3IodmFyIG89MTtvPGE7bzw8PTEpZm9yKHZhciBzPW88PDEsbD1NYXRoLmNvcygyKk1hdGguUEkvcyksYz1NYXRoLnNpbigyKk1hdGguUEkvcyksdT0wO3U8YTt1Kz1zKWZvcih2YXIgaD1sLGY9YyxwPTA7cDxvO3ArKyl7dmFyIGQ9clt1K3BdLGc9blt1K3BdLHY9clt1K3Arb10sbT1uW3UrcCtvXSx5PWgqdi1mKm07bT1oKm0rZip2LHY9eSxyW3UrcF09ZCt2LG5bdStwXT1nK20sclt1K3Arb109ZC12LG5bdStwK29dPWctbSxwIT09cyYmKHk9bCpoLWMqZixmPWwqZitjKmgsaD15KX19LGcucHJvdG90eXBlLmd1ZXNzTGVuMTNiPWZ1bmN0aW9uKHQsZSl7dmFyIHI9MXxNYXRoLm1heChlLHQpLG49MSZyLGE9MDtmb3Iocj1yLzJ8MDtyO3I+Pj49MSlhKys7cmV0dXJuIDE8PGErMStufSxnLnByb3RvdHlwZS5jb25qdWdhdGU9ZnVuY3Rpb24odCxlLHIpe2lmKCEocjw9MSkpZm9yKHZhciBuPTA7bjxyLzI7bisrKXt2YXIgYT10W25dO3Rbbl09dFtyLW4tMV0sdFtyLW4tMV09YSxhPWVbbl0sZVtuXT0tZVtyLW4tMV0sZVtyLW4tMV09LWF9fSxnLnByb3RvdHlwZS5ub3JtYWxpemUxM2I9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MCxuPTA7bjxlLzI7bisrKXt2YXIgYT04MTkyKk1hdGgucm91bmQodFsyKm4rMV0vZSkrTWF0aC5yb3VuZCh0WzIqbl0vZSkrcjt0W25dPTY3MTA4ODYzJmEscj1hPDY3MTA4ODY0PzA6YS82NzEwODg2NHwwfXJldHVybiB0fSxnLnByb3RvdHlwZS5jb252ZXJ0MTNiPWZ1bmN0aW9uKHQsZSxyLGEpe2Zvcih2YXIgaT0wLG89MDtvPGU7bysrKWkrPTB8dFtvXSxyWzIqb109ODE5MSZpLGk+Pj49MTMsclsyKm8rMV09ODE5MSZpLGk+Pj49MTM7Zm9yKG89MiplO288YTsrK28pcltvXT0wO24oMD09PWkpLG4oMD09KC04MTkyJmkpKX0sZy5wcm90b3R5cGUuc3R1Yj1mdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQpLHI9MDtyPHQ7cisrKWVbcl09MDtyZXR1cm4gZX0sZy5wcm90b3R5cGUubXVscD1mdW5jdGlvbih0LGUscil7dmFyIG49Mip0aGlzLmd1ZXNzTGVuMTNiKHQubGVuZ3RoLGUubGVuZ3RoKSxhPXRoaXMubWFrZVJCVChuKSxpPXRoaXMuc3R1YihuKSxvPW5ldyBBcnJheShuKSxzPW5ldyBBcnJheShuKSxsPW5ldyBBcnJheShuKSxjPW5ldyBBcnJheShuKSx1PW5ldyBBcnJheShuKSxoPW5ldyBBcnJheShuKSxmPXIud29yZHM7Zi5sZW5ndGg9bix0aGlzLmNvbnZlcnQxM2IodC53b3Jkcyx0Lmxlbmd0aCxvLG4pLHRoaXMuY29udmVydDEzYihlLndvcmRzLGUubGVuZ3RoLGMsbiksdGhpcy50cmFuc2Zvcm0obyxpLHMsbCxuLGEpLHRoaXMudHJhbnNmb3JtKGMsaSx1LGgsbixhKTtmb3IodmFyIHA9MDtwPG47cCsrKXt2YXIgZD1zW3BdKnVbcF0tbFtwXSpoW3BdO2xbcF09c1twXSpoW3BdK2xbcF0qdVtwXSxzW3BdPWR9cmV0dXJuIHRoaXMuY29uanVnYXRlKHMsbCxuKSx0aGlzLnRyYW5zZm9ybShzLGwsZixpLG4sYSksdGhpcy5jb25qdWdhdGUoZixpLG4pLHRoaXMubm9ybWFsaXplMTNiKGYsbiksci5uZWdhdGl2ZT10Lm5lZ2F0aXZlXmUubmVnYXRpdmUsci5sZW5ndGg9dC5sZW5ndGgrZS5sZW5ndGgsci5zdHJpcCgpfSxpLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGkobnVsbCk7cmV0dXJuIGUud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoK3QubGVuZ3RoKSx0aGlzLm11bFRvKHQsZSl9LGkucHJvdG90eXBlLm11bGY9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGkobnVsbCk7cmV0dXJuIGUud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoK3QubGVuZ3RoKSxkKHRoaXMsdCxlKX0saS5wcm90b3R5cGUuaW11bD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLm11bFRvKHQsdGhpcyl9LGkucHJvdG90eXBlLmltdWxuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0KSxuKHQ8NjcxMDg4NjQpO2Zvcih2YXIgZT0wLHI9MDtyPHRoaXMubGVuZ3RoO3IrKyl7dmFyIGE9KDB8dGhpcy53b3Jkc1tyXSkqdCxpPSg2NzEwODg2MyZhKSsoNjcxMDg4NjMmZSk7ZT4+PTI2LGUrPWEvNjcxMDg4NjR8MCxlKz1pPj4+MjYsdGhpcy53b3Jkc1tyXT02NzEwODg2MyZpfXJldHVybiAwIT09ZSYmKHRoaXMud29yZHNbcl09ZSx0aGlzLmxlbmd0aCsrKSx0aGlzfSxpLnByb3RvdHlwZS5tdWxuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaW11bG4odCl9LGkucHJvdG90eXBlLnNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLm11bCh0aGlzKX0saS5wcm90b3R5cGUuaXNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmltdWwodGhpcy5jbG9uZSgpKX0saS5wcm90b3R5cGUucG93PWZ1bmN0aW9uKHQpe3ZhciBlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodC5iaXRMZW5ndGgoKSkscj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj1yLzI2fDAsYT1yJTI2O2Vbcl09KHQud29yZHNbbl0mMTw8YSk+Pj5hfXJldHVybiBlfSh0KTtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG5ldyBpKDEpO2Zvcih2YXIgcj10aGlzLG49MDtuPGUubGVuZ3RoJiYwPT09ZVtuXTtuKysscj1yLnNxcigpKTtpZigrK248ZS5sZW5ndGgpZm9yKHZhciBhPXIuc3FyKCk7bjxlLmxlbmd0aDtuKyssYT1hLnNxcigpKTAhPT1lW25dJiYocj1yLm11bChhKSk7cmV0dXJuIHJ9LGkucHJvdG90eXBlLml1c2hsbj1mdW5jdGlvbih0KXtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIGUscj10JTI2LGE9KHQtcikvMjYsaT02NzEwODg2Mz4+PjI2LXI8PDI2LXI7aWYoMCE9PXIpe3ZhciBvPTA7Zm9yKGU9MDtlPHRoaXMubGVuZ3RoO2UrKyl7dmFyIHM9dGhpcy53b3Jkc1tlXSZpLGw9KDB8dGhpcy53b3Jkc1tlXSktczw8cjt0aGlzLndvcmRzW2VdPWx8byxvPXM+Pj4yNi1yfW8mJih0aGlzLndvcmRzW2VdPW8sdGhpcy5sZW5ndGgrKyl9aWYoMCE9PWEpe2ZvcihlPXRoaXMubGVuZ3RoLTE7ZT49MDtlLS0pdGhpcy53b3Jkc1tlK2FdPXRoaXMud29yZHNbZV07Zm9yKGU9MDtlPGE7ZSsrKXRoaXMud29yZHNbZV09MDt0aGlzLmxlbmd0aCs9YX1yZXR1cm4gdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5pc2hsbj1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT09dGhpcy5uZWdhdGl2ZSksdGhpcy5pdXNobG4odCl9LGkucHJvdG90eXBlLml1c2hybj1mdW5jdGlvbih0LGUscil7dmFyIGE7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApLGE9ZT8oZS1lJTI2KS8yNjowO3ZhciBpPXQlMjYsbz1NYXRoLm1pbigodC1pKS8yNix0aGlzLmxlbmd0aCkscz02NzEwODg2M142NzEwODg2Mz4+Pmk8PGksbD1yO2lmKGEtPW8sYT1NYXRoLm1heCgwLGEpLGwpe2Zvcih2YXIgYz0wO2M8bztjKyspbC53b3Jkc1tjXT10aGlzLndvcmRzW2NdO2wubGVuZ3RoPW99aWYoMD09PW8pO2Vsc2UgaWYodGhpcy5sZW5ndGg+bylmb3IodGhpcy5sZW5ndGgtPW8sYz0wO2M8dGhpcy5sZW5ndGg7YysrKXRoaXMud29yZHNbY109dGhpcy53b3Jkc1tjK29dO2Vsc2UgdGhpcy53b3Jkc1swXT0wLHRoaXMubGVuZ3RoPTE7dmFyIHU9MDtmb3IoYz10aGlzLmxlbmd0aC0xO2M+PTAmJigwIT09dXx8Yz49YSk7Yy0tKXt2YXIgaD0wfHRoaXMud29yZHNbY107dGhpcy53b3Jkc1tjXT11PDwyNi1pfGg+Pj5pLHU9aCZzfXJldHVybiBsJiYwIT09dSYmKGwud29yZHNbbC5sZW5ndGgrK109dSksMD09PXRoaXMubGVuZ3RoJiYodGhpcy53b3Jkc1swXT0wLHRoaXMubGVuZ3RoPTEpLHRoaXMuc3RyaXAoKX0saS5wcm90b3R5cGUuaXNocm49ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuKDA9PT10aGlzLm5lZ2F0aXZlKSx0aGlzLml1c2hybih0LGUscil9LGkucHJvdG90eXBlLnNobG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbih0KX0saS5wcm90b3R5cGUudXNobG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNobG4odCl9LGkucHJvdG90eXBlLnNocm49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hybih0KX0saS5wcm90b3R5cGUudXNocm49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4odCl9LGkucHJvdG90eXBlLnRlc3RuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgZT10JTI2LHI9KHQtZSkvMjYsYT0xPDxlO3JldHVybiEodGhpcy5sZW5ndGg8PXIpJiYhISh0aGlzLndvcmRzW3JdJmEpfSxpLnByb3RvdHlwZS5pbWFza249ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciBlPXQlMjYscj0odC1lKS8yNjtpZihuKDA9PT10aGlzLm5lZ2F0aXZlLCJpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnMiKSx0aGlzLmxlbmd0aDw9cilyZXR1cm4gdGhpcztpZigwIT09ZSYmcisrLHRoaXMubGVuZ3RoPU1hdGgubWluKHIsdGhpcy5sZW5ndGgpLDAhPT1lKXt2YXIgYT02NzEwODg2M142NzEwODg2Mz4+PmU8PGU7dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXSY9YX1yZXR1cm4gdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5tYXNrbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmltYXNrbih0KX0saS5wcm90b3R5cGUuaWFkZG49ZnVuY3Rpb24odCl7cmV0dXJuIG4oIm51bWJlciI9PXR5cGVvZiB0KSxuKHQ8NjcxMDg4NjQpLHQ8MD90aGlzLmlzdWJuKC10KTowIT09dGhpcy5uZWdhdGl2ZT8xPT09dGhpcy5sZW5ndGgmJigwfHRoaXMud29yZHNbMF0pPHQ/KHRoaXMud29yZHNbMF09dC0oMHx0aGlzLndvcmRzWzBdKSx0aGlzLm5lZ2F0aXZlPTAsdGhpcyk6KHRoaXMubmVnYXRpdmU9MCx0aGlzLmlzdWJuKHQpLHRoaXMubmVnYXRpdmU9MSx0aGlzKTp0aGlzLl9pYWRkbih0KX0saS5wcm90b3R5cGUuX2lhZGRuPWZ1bmN0aW9uKHQpe3RoaXMud29yZHNbMF0rPXQ7Zm9yKHZhciBlPTA7ZTx0aGlzLmxlbmd0aCYmdGhpcy53b3Jkc1tlXT49NjcxMDg4NjQ7ZSsrKXRoaXMud29yZHNbZV0tPTY3MTA4ODY0LGU9PT10aGlzLmxlbmd0aC0xP3RoaXMud29yZHNbZSsxXT0xOnRoaXMud29yZHNbZSsxXSsrO3JldHVybiB0aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCxlKzEpLHRoaXN9LGkucHJvdG90eXBlLmlzdWJuPWZ1bmN0aW9uKHQpe2lmKG4oIm51bWJlciI9PXR5cGVvZiB0KSxuKHQ8NjcxMDg4NjQpLHQ8MClyZXR1cm4gdGhpcy5pYWRkbigtdCk7aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGRuKHQpLHRoaXMubmVnYXRpdmU9MSx0aGlzO2lmKHRoaXMud29yZHNbMF0tPXQsMT09PXRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzWzBdPDApdGhpcy53b3Jkc1swXT0tdGhpcy53b3Jkc1swXSx0aGlzLm5lZ2F0aXZlPTE7ZWxzZSBmb3IodmFyIGU9MDtlPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2VdPDA7ZSsrKXRoaXMud29yZHNbZV0rPTY3MTA4ODY0LHRoaXMud29yZHNbZSsxXS09MTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5hZGRuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaWFkZG4odCl9LGkucHJvdG90eXBlLnN1Ym49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc3Vibih0KX0saS5wcm90b3R5cGUuaWFicz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpc30saS5wcm90b3R5cGUuYWJzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pYWJzKCl9LGkucHJvdG90eXBlLl9pc2hsbnN1Ym11bD1mdW5jdGlvbih0LGUscil7dmFyIGEsaSxvPXQubGVuZ3RoK3I7dGhpcy5fZXhwYW5kKG8pO3ZhciBzPTA7Zm9yKGE9MDthPHQubGVuZ3RoO2ErKyl7aT0oMHx0aGlzLndvcmRzW2Ercl0pK3M7dmFyIGw9KDB8dC53b3Jkc1thXSkqZTtzPSgoaS09NjcxMDg4NjMmbCk+PjI2KS0obC82NzEwODg2NHwwKSx0aGlzLndvcmRzW2Ercl09NjcxMDg4NjMmaX1mb3IoO2E8dGhpcy5sZW5ndGgtcjthKyspcz0oaT0oMHx0aGlzLndvcmRzW2Ercl0pK3MpPj4yNix0aGlzLndvcmRzW2Ercl09NjcxMDg4NjMmaTtpZigwPT09cylyZXR1cm4gdGhpcy5zdHJpcCgpO2ZvcihuKC0xPT09cykscz0wLGE9MDthPHRoaXMubGVuZ3RoO2ErKylzPShpPS0oMHx0aGlzLndvcmRzW2FdKStzKT4+MjYsdGhpcy53b3Jkc1thXT02NzEwODg2MyZpO3JldHVybiB0aGlzLm5lZ2F0aXZlPTEsdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5fd29yZERpdj1mdW5jdGlvbih0LGUpe3ZhciByPSh0aGlzLmxlbmd0aCx0Lmxlbmd0aCksbj10aGlzLmNsb25lKCksYT10LG89MHxhLndvcmRzW2EubGVuZ3RoLTFdOzAhPT0ocj0yNi10aGlzLl9jb3VudEJpdHMobykpJiYoYT1hLnVzaGxuKHIpLG4uaXVzaGxuKHIpLG89MHxhLndvcmRzW2EubGVuZ3RoLTFdKTt2YXIgcyxsPW4ubGVuZ3RoLWEubGVuZ3RoO2lmKCJtb2QiIT09ZSl7KHM9bmV3IGkobnVsbCkpLmxlbmd0aD1sKzEscy53b3Jkcz1uZXcgQXJyYXkocy5sZW5ndGgpO2Zvcih2YXIgYz0wO2M8cy5sZW5ndGg7YysrKXMud29yZHNbY109MH12YXIgdT1uLmNsb25lKCkuX2lzaGxuc3VibXVsKGEsMSxsKTswPT09dS5uZWdhdGl2ZSYmKG49dSxzJiYocy53b3Jkc1tsXT0xKSk7Zm9yKHZhciBoPWwtMTtoPj0wO2gtLSl7dmFyIGY9NjcxMDg4NjQqKDB8bi53b3Jkc1thLmxlbmd0aCtoXSkrKDB8bi53b3Jkc1thLmxlbmd0aCtoLTFdKTtmb3IoZj1NYXRoLm1pbihmL298MCw2NzEwODg2Myksbi5faXNobG5zdWJtdWwoYSxmLGgpOzAhPT1uLm5lZ2F0aXZlOylmLS0sbi5uZWdhdGl2ZT0wLG4uX2lzaGxuc3VibXVsKGEsMSxoKSxuLmlzWmVybygpfHwobi5uZWdhdGl2ZV49MSk7cyYmKHMud29yZHNbaF09Zil9cmV0dXJuIHMmJnMuc3RyaXAoKSxuLnN0cmlwKCksImRpdiIhPT1lJiYwIT09ciYmbi5pdXNocm4ocikse2RpdjpzfHxudWxsLG1vZDpufX0saS5wcm90b3R5cGUuZGl2bW9kPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbighdC5pc1plcm8oKSksdGhpcy5pc1plcm8oKT97ZGl2Om5ldyBpKDApLG1vZDpuZXcgaSgwKX06MCE9PXRoaXMubmVnYXRpdmUmJjA9PT10Lm5lZ2F0aXZlPyhzPXRoaXMubmVnKCkuZGl2bW9kKHQsZSksIm1vZCIhPT1lJiYoYT1zLmRpdi5uZWcoKSksImRpdiIhPT1lJiYobz1zLm1vZC5uZWcoKSxyJiYwIT09by5uZWdhdGl2ZSYmby5pYWRkKHQpKSx7ZGl2OmEsbW9kOm99KTowPT09dGhpcy5uZWdhdGl2ZSYmMCE9PXQubmVnYXRpdmU/KHM9dGhpcy5kaXZtb2QodC5uZWcoKSxlKSwibW9kIiE9PWUmJihhPXMuZGl2Lm5lZygpKSx7ZGl2OmEsbW9kOnMubW9kfSk6MCE9KHRoaXMubmVnYXRpdmUmdC5uZWdhdGl2ZSk/KHM9dGhpcy5uZWcoKS5kaXZtb2QodC5uZWcoKSxlKSwiZGl2IiE9PWUmJihvPXMubW9kLm5lZygpLHImJjAhPT1vLm5lZ2F0aXZlJiZvLmlzdWIodCkpLHtkaXY6cy5kaXYsbW9kOm99KTp0Lmxlbmd0aD50aGlzLmxlbmd0aHx8dGhpcy5jbXAodCk8MD97ZGl2Om5ldyBpKDApLG1vZDp0aGlzfToxPT09dC5sZW5ndGg/ImRpdiI9PT1lP3tkaXY6dGhpcy5kaXZuKHQud29yZHNbMF0pLG1vZDpudWxsfToibW9kIj09PWU/e2RpdjpudWxsLG1vZDpuZXcgaSh0aGlzLm1vZG4odC53b3Jkc1swXSkpfTp7ZGl2OnRoaXMuZGl2bih0LndvcmRzWzBdKSxtb2Q6bmV3IGkodGhpcy5tb2RuKHQud29yZHNbMF0pKX06dGhpcy5fd29yZERpdih0LGUpO3ZhciBhLG8sc30saS5wcm90b3R5cGUuZGl2PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJkaXYiLCExKS5kaXZ9LGkucHJvdG90eXBlLm1vZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kaXZtb2QodCwibW9kIiwhMSkubW9kfSxpLnByb3RvdHlwZS51bW9kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJtb2QiLCEwKS5tb2R9LGkucHJvdG90eXBlLmRpdlJvdW5kPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZGl2bW9kKHQpO2lmKGUubW9kLmlzWmVybygpKXJldHVybiBlLmRpdjt2YXIgcj0wIT09ZS5kaXYubmVnYXRpdmU/ZS5tb2QuaXN1Yih0KTplLm1vZCxuPXQudXNocm4oMSksYT10LmFuZGxuKDEpLGk9ci5jbXAobik7cmV0dXJuIGk8MHx8MT09PWEmJjA9PT1pP2UuZGl2OjAhPT1lLmRpdi5uZWdhdGl2ZT9lLmRpdi5pc3VibigxKTplLmRpdi5pYWRkbigxKX0saS5wcm90b3R5cGUubW9kbj1mdW5jdGlvbih0KXtuKHQ8PTY3MTA4ODYzKTtmb3IodmFyIGU9KDE8PDI2KSV0LHI9MCxhPXRoaXMubGVuZ3RoLTE7YT49MDthLS0pcj0oZSpyKygwfHRoaXMud29yZHNbYV0pKSV0O3JldHVybiByfSxpLnByb3RvdHlwZS5pZGl2bj1mdW5jdGlvbih0KXtuKHQ8PTY3MTA4ODYzKTtmb3IodmFyIGU9MCxyPXRoaXMubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBhPSgwfHRoaXMud29yZHNbcl0pKzY3MTA4ODY0KmU7dGhpcy53b3Jkc1tyXT1hL3R8MCxlPWEldH1yZXR1cm4gdGhpcy5zdHJpcCgpfSxpLnByb3RvdHlwZS5kaXZuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaWRpdm4odCl9LGkucHJvdG90eXBlLmVnY2Q9ZnVuY3Rpb24odCl7bigwPT09dC5uZWdhdGl2ZSksbighdC5pc1plcm8oKSk7dmFyIGU9dGhpcyxyPXQuY2xvbmUoKTtlPTAhPT1lLm5lZ2F0aXZlP2UudW1vZCh0KTplLmNsb25lKCk7Zm9yKHZhciBhPW5ldyBpKDEpLG89bmV3IGkoMCkscz1uZXcgaSgwKSxsPW5ldyBpKDEpLGM9MDtlLmlzRXZlbigpJiZyLmlzRXZlbigpOyllLml1c2hybigxKSxyLml1c2hybigxKSwrK2M7Zm9yKHZhciB1PXIuY2xvbmUoKSxoPWUuY2xvbmUoKTshZS5pc1plcm8oKTspe2Zvcih2YXIgZj0wLHA9MTswPT0oZS53b3Jkc1swXSZwKSYmZjwyNjsrK2YscDw8PTEpO2lmKGY+MClmb3IoZS5pdXNocm4oZik7Zi0tID4wOykoYS5pc09kZCgpfHxvLmlzT2RkKCkpJiYoYS5pYWRkKHUpLG8uaXN1YihoKSksYS5pdXNocm4oMSksby5pdXNocm4oMSk7Zm9yKHZhciBkPTAsZz0xOzA9PShyLndvcmRzWzBdJmcpJiZkPDI2OysrZCxnPDw9MSk7aWYoZD4wKWZvcihyLml1c2hybihkKTtkLS0gPjA7KShzLmlzT2RkKCl8fGwuaXNPZGQoKSkmJihzLmlhZGQodSksbC5pc3ViKGgpKSxzLml1c2hybigxKSxsLml1c2hybigxKTtlLmNtcChyKT49MD8oZS5pc3ViKHIpLGEuaXN1YihzKSxvLmlzdWIobCkpOihyLmlzdWIoZSkscy5pc3ViKGEpLGwuaXN1YihvKSl9cmV0dXJue2E6cyxiOmwsZ2NkOnIuaXVzaGxuKGMpfX0saS5wcm90b3R5cGUuX2ludm1wPWZ1bmN0aW9uKHQpe24oMD09PXQubmVnYXRpdmUpLG4oIXQuaXNaZXJvKCkpO3ZhciBlPXRoaXMscj10LmNsb25lKCk7ZT0wIT09ZS5uZWdhdGl2ZT9lLnVtb2QodCk6ZS5jbG9uZSgpO2Zvcih2YXIgYSxvPW5ldyBpKDEpLHM9bmV3IGkoMCksbD1yLmNsb25lKCk7ZS5jbXBuKDEpPjAmJnIuY21wbigxKT4wOyl7Zm9yKHZhciBjPTAsdT0xOzA9PShlLndvcmRzWzBdJnUpJiZjPDI2OysrYyx1PDw9MSk7aWYoYz4wKWZvcihlLml1c2hybihjKTtjLS0gPjA7KW8uaXNPZGQoKSYmby5pYWRkKGwpLG8uaXVzaHJuKDEpO2Zvcih2YXIgaD0wLGY9MTswPT0oci53b3Jkc1swXSZmKSYmaDwyNjsrK2gsZjw8PTEpO2lmKGg+MClmb3Ioci5pdXNocm4oaCk7aC0tID4wOylzLmlzT2RkKCkmJnMuaWFkZChsKSxzLml1c2hybigxKTtlLmNtcChyKT49MD8oZS5pc3ViKHIpLG8uaXN1YihzKSk6KHIuaXN1YihlKSxzLmlzdWIobykpfXJldHVybihhPTA9PT1lLmNtcG4oMSk/bzpzKS5jbXBuKDApPDAmJmEuaWFkZCh0KSxhfSxpLnByb3RvdHlwZS5nY2Q9ZnVuY3Rpb24odCl7aWYodGhpcy5pc1plcm8oKSlyZXR1cm4gdC5hYnMoKTtpZih0LmlzWmVybygpKXJldHVybiB0aGlzLmFicygpO3ZhciBlPXRoaXMuY2xvbmUoKSxyPXQuY2xvbmUoKTtlLm5lZ2F0aXZlPTAsci5uZWdhdGl2ZT0wO2Zvcih2YXIgbj0wO2UuaXNFdmVuKCkmJnIuaXNFdmVuKCk7bisrKWUuaXVzaHJuKDEpLHIuaXVzaHJuKDEpO2Zvcig7Oyl7Zm9yKDtlLmlzRXZlbigpOyllLml1c2hybigxKTtmb3IoO3IuaXNFdmVuKCk7KXIuaXVzaHJuKDEpO3ZhciBhPWUuY21wKHIpO2lmKGE8MCl7dmFyIGk9ZTtlPXIscj1pfWVsc2UgaWYoMD09PWF8fDA9PT1yLmNtcG4oMSkpYnJlYWs7ZS5pc3ViKHIpfXJldHVybiByLml1c2hsbihuKX0saS5wcm90b3R5cGUuaW52bT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lZ2NkKHQpLmEudW1vZCh0KX0saS5wcm90b3R5cGUuaXNFdmVuPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PSgxJnRoaXMud29yZHNbMF0pfSxpLnByb3RvdHlwZS5pc09kZD1mdW5jdGlvbigpe3JldHVybiAxPT0oMSZ0aGlzLndvcmRzWzBdKX0saS5wcm90b3R5cGUuYW5kbG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMud29yZHNbMF0mdH0saS5wcm90b3R5cGUuYmluY249ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQpO3ZhciBlPXQlMjYscj0odC1lKS8yNixhPTE8PGU7aWYodGhpcy5sZW5ndGg8PXIpcmV0dXJuIHRoaXMuX2V4cGFuZChyKzEpLHRoaXMud29yZHNbcl18PWEsdGhpcztmb3IodmFyIGk9YSxvPXI7MCE9PWkmJm88dGhpcy5sZW5ndGg7bysrKXt2YXIgcz0wfHRoaXMud29yZHNbb107aT0ocys9aSk+Pj4yNixzJj02NzEwODg2Myx0aGlzLndvcmRzW29dPXN9cmV0dXJuIDAhPT1pJiYodGhpcy53b3Jkc1tvXT1pLHRoaXMubGVuZ3RoKyspLHRoaXN9LGkucHJvdG90eXBlLmlzWmVybz1mdW5jdGlvbigpe3JldHVybiAxPT09dGhpcy5sZW5ndGgmJjA9PT10aGlzLndvcmRzWzBdfSxpLnByb3RvdHlwZS5jbXBuPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dDwwO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYhcilyZXR1cm4tMTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmcilyZXR1cm4gMTtpZih0aGlzLnN0cmlwKCksdGhpcy5sZW5ndGg+MSllPTE7ZWxzZXtyJiYodD0tdCksbih0PD02NzEwODg2MywiTnVtYmVyIGlzIHRvbyBiaWciKTt2YXIgYT0wfHRoaXMud29yZHNbMF07ZT1hPT09dD8wOmE8dD8tMToxfXJldHVybiAwIT09dGhpcy5uZWdhdGl2ZT8wfC1lOmV9LGkucHJvdG90eXBlLmNtcD1mdW5jdGlvbih0KXtpZigwIT09dGhpcy5uZWdhdGl2ZSYmMD09PXQubmVnYXRpdmUpcmV0dXJuLTE7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlKXJldHVybiAxO3ZhciBlPXRoaXMudWNtcCh0KTtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/MHwtZTplfSxpLnByb3RvdHlwZS51Y21wPWZ1bmN0aW9uKHQpe2lmKHRoaXMubGVuZ3RoPnQubGVuZ3RoKXJldHVybiAxO2lmKHRoaXMubGVuZ3RoPHQubGVuZ3RoKXJldHVybi0xO2Zvcih2YXIgZT0wLHI9dGhpcy5sZW5ndGgtMTtyPj0wO3ItLSl7dmFyIG49MHx0aGlzLndvcmRzW3JdLGE9MHx0LndvcmRzW3JdO2lmKG4hPT1hKXtuPGE/ZT0tMTpuPmEmJihlPTEpO2JyZWFrfX1yZXR1cm4gZX0saS5wcm90b3R5cGUuZ3RuPWZ1bmN0aW9uKHQpe3JldHVybiAxPT09dGhpcy5jbXBuKHQpfSxpLnByb3RvdHlwZS5ndD1mdW5jdGlvbih0KXtyZXR1cm4gMT09PXRoaXMuY21wKHQpfSxpLnByb3RvdHlwZS5ndGVuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcG4odCk+PTB9LGkucHJvdG90eXBlLmd0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXAodCk+PTB9LGkucHJvdG90eXBlLmx0bj1mdW5jdGlvbih0KXtyZXR1cm4tMT09PXRoaXMuY21wbih0KX0saS5wcm90b3R5cGUubHQ9ZnVuY3Rpb24odCl7cmV0dXJuLTE9PT10aGlzLmNtcCh0KX0saS5wcm90b3R5cGUubHRlbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXBuKHQpPD0wfSxpLnByb3RvdHlwZS5sdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wKHQpPD0wfSxpLnByb3RvdHlwZS5lcW49ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10aGlzLmNtcG4odCl9LGkucHJvdG90eXBlLmVxPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09dGhpcy5jbXAodCl9LGkucmVkPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgdyh0KX0saS5wcm90b3R5cGUudG9SZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG4oIXRoaXMucmVkLCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0IiksbigwPT09dGhpcy5uZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSx0LmNvbnZlcnRUbyh0aGlzKS5fZm9yY2VSZWQodCl9LGkucHJvdG90eXBlLmZyb21SZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwiZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCIpLHRoaXMucmVkLmNvbnZlcnRGcm9tKHRoaXMpfSxpLnByb3RvdHlwZS5fZm9yY2VSZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmVkPXQsdGhpc30saS5wcm90b3R5cGUuZm9yY2VSZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG4oIXRoaXMucmVkLCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0IiksdGhpcy5fZm9yY2VSZWQodCl9LGkucHJvdG90eXBlLnJlZEFkZD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmFkZCh0aGlzLHQpfSxpLnByb3RvdHlwZS5yZWRJQWRkPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmlhZGQodGhpcyx0KX0saS5wcm90b3R5cGUucmVkU3ViPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuc3ViKHRoaXMsdCl9LGkucHJvdG90eXBlLnJlZElTdWI9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZElTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuaXN1Yih0aGlzLHQpfSxpLnByb3RvdHlwZS5yZWRTaGw9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZFNobCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5zaGwodGhpcyx0KX0saS5wcm90b3R5cGUucmVkTXVsPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTIodGhpcyx0KSx0aGlzLnJlZC5tdWwodGhpcyx0KX0saS5wcm90b3R5cGUucmVkSU11bD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsdCksdGhpcy5yZWQuaW11bCh0aGlzLHQpfSxpLnByb3RvdHlwZS5yZWRTcXI9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnNxcih0aGlzKX0saS5wcm90b3R5cGUucmVkSVNxcj1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJyZWRJU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLmlzcXIodGhpcyl9LGkucHJvdG90eXBlLnJlZFNxcnQ9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkU3FydCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5zcXJ0KHRoaXMpfSxpLnByb3RvdHlwZS5yZWRJbnZtPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZEludm0gd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuaW52bSh0aGlzKX0saS5wcm90b3R5cGUucmVkTmVnPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5uZWcodGhpcyl9LGkucHJvdG90eXBlLnJlZFBvdz1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCYmIXQucmVkLCJyZWRQb3cobm9ybWFsTnVtKSIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnBvdyh0aGlzLHQpfTt2YXIgdj17azI1NjpudWxsLHAyMjQ6bnVsbCxwMTkyOm51bGwscDI1NTE5Om51bGx9O2Z1bmN0aW9uIG0odCxlKXt0aGlzLm5hbWU9dCx0aGlzLnA9bmV3IGkoZSwxNiksdGhpcy5uPXRoaXMucC5iaXRMZW5ndGgoKSx0aGlzLms9bmV3IGkoMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApLHRoaXMudG1wPXRoaXMuX3RtcCgpfWZ1bmN0aW9uIHkoKXttLmNhbGwodGhpcywiazI1NiIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmYzJmIil9ZnVuY3Rpb24geCgpe20uY2FsbCh0aGlzLCJwMjI0IiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEiKX1mdW5jdGlvbiBiKCl7bS5jYWxsKHRoaXMsInAxOTIiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZiIpfWZ1bmN0aW9uIF8oKXttLmNhbGwodGhpcywiMjU1MTkiLCI3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkIil9ZnVuY3Rpb24gdyh0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBlPWkuX3ByaW1lKHQpO3RoaXMubT1lLnAsdGhpcy5wcmltZT1lfWVsc2Ugbih0Lmd0bigxKSwibW9kdWx1cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxIiksdGhpcy5tPXQsdGhpcy5wcmltZT1udWxsfWZ1bmN0aW9uIGsodCl7dy5jYWxsKHRoaXMsdCksdGhpcy5zaGlmdD10aGlzLm0uYml0TGVuZ3RoKCksdGhpcy5zaGlmdCUyNiE9MCYmKHRoaXMuc2hpZnQrPTI2LXRoaXMuc2hpZnQlMjYpLHRoaXMucj1uZXcgaSgxKS5pdXNobG4odGhpcy5zaGlmdCksdGhpcy5yMj10aGlzLmltb2QodGhpcy5yLnNxcigpKSx0aGlzLnJpbnY9dGhpcy5yLl9pbnZtcCh0aGlzLm0pLHRoaXMubWludj10aGlzLnJpbnYubXVsKHRoaXMucikuaXN1Ym4oMSkuZGl2KHRoaXMubSksdGhpcy5taW52PXRoaXMubWludi51bW9kKHRoaXMuciksdGhpcy5taW52PXRoaXMuci5zdWIodGhpcy5taW52KX1tLnByb3RvdHlwZS5fdG1wPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IGkobnVsbCk7cmV0dXJuIHQud29yZHM9bmV3IEFycmF5KE1hdGguY2VpbCh0aGlzLm4vMTMpKSx0fSxtLnByb3RvdHlwZS5pcmVkdWNlPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dDtkb3t0aGlzLnNwbGl0KHIsdGhpcy50bXApLGU9KHI9KHI9dGhpcy5pbXVsSyhyKSkuaWFkZCh0aGlzLnRtcCkpLmJpdExlbmd0aCgpfXdoaWxlKGU+dGhpcy5uKTt2YXIgbj1lPHRoaXMubj8tMTpyLnVjbXAodGhpcy5wKTtyZXR1cm4gMD09PW4/KHIud29yZHNbMF09MCxyLmxlbmd0aD0xKTpuPjA/ci5pc3ViKHRoaXMucCk6ci5zdHJpcCgpLHJ9LG0ucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKHQsZSl7dC5pdXNocm4odGhpcy5uLDAsZSl9LG0ucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKHQpe3JldHVybiB0LmltdWwodGhpcy5rKX0sYSh5LG0pLHkucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPU1hdGgubWluKHQubGVuZ3RoLDkpLG49MDtuPHI7bisrKWUud29yZHNbbl09dC53b3Jkc1tuXTtpZihlLmxlbmd0aD1yLHQubGVuZ3RoPD05KXJldHVybiB0LndvcmRzWzBdPTAsdm9pZCh0Lmxlbmd0aD0xKTt2YXIgYT10LndvcmRzWzldO2ZvcihlLndvcmRzW2UubGVuZ3RoKytdPTQxOTQzMDMmYSxuPTEwO248dC5sZW5ndGg7bisrKXt2YXIgaT0wfHQud29yZHNbbl07dC53b3Jkc1tuLTEwXT0oNDE5NDMwMyZpKTw8NHxhPj4+MjIsYT1pfWE+Pj49MjIsdC53b3Jkc1tuLTEwXT1hLDA9PT1hJiZ0Lmxlbmd0aD4xMD90Lmxlbmd0aC09MTA6dC5sZW5ndGgtPTl9LHkucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKHQpe3Qud29yZHNbdC5sZW5ndGhdPTAsdC53b3Jkc1t0Lmxlbmd0aCsxXT0wLHQubGVuZ3RoKz0yO2Zvcih2YXIgZT0wLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49MHx0LndvcmRzW3JdO2UrPTk3NypuLHQud29yZHNbcl09NjcxMDg4NjMmZSxlPTY0Km4rKGUvNjcxMDg4NjR8MCl9cmV0dXJuIDA9PT10LndvcmRzW3QubGVuZ3RoLTFdJiYodC5sZW5ndGgtLSwwPT09dC53b3Jkc1t0Lmxlbmd0aC0xXSYmdC5sZW5ndGgtLSksdH0sYSh4LG0pLGEoYixtKSxhKF8sbSksXy5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj0xOSooMHx0LndvcmRzW3JdKStlLGE9NjcxMDg4NjMmbjtuPj4+PTI2LHQud29yZHNbcl09YSxlPW59cmV0dXJuIDAhPT1lJiYodC53b3Jkc1t0Lmxlbmd0aCsrXT1lKSx0fSxpLl9wcmltZT1mdW5jdGlvbih0KXtpZih2W3RdKXJldHVybiB2W3RdO3ZhciBlO2lmKCJrMjU2Ij09PXQpZT1uZXcgeTtlbHNlIGlmKCJwMjI0Ij09PXQpZT1uZXcgeDtlbHNlIGlmKCJwMTkyIj09PXQpZT1uZXcgYjtlbHNle2lmKCJwMjU1MTkiIT09dCl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gcHJpbWUgIit0KTtlPW5ldyBffXJldHVybiB2W3RdPWUsZX0sdy5wcm90b3R5cGUuX3ZlcmlmeTE9ZnVuY3Rpb24odCl7bigwPT09dC5uZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxuKHQucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LHcucHJvdG90eXBlLl92ZXJpZnkyPWZ1bmN0aW9uKHQsZSl7bigwPT0odC5uZWdhdGl2ZXxlLm5lZ2F0aXZlKSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxuKHQucmVkJiZ0LnJlZD09PWUucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LHcucHJvdG90eXBlLmltb2Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucHJpbWU/dGhpcy5wcmltZS5pcmVkdWNlKHQpLl9mb3JjZVJlZCh0aGlzKTp0LnVtb2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcyl9LHcucHJvdG90eXBlLm5lZz1mdW5jdGlvbih0KXtyZXR1cm4gdC5pc1plcm8oKT90LmNsb25lKCk6dGhpcy5tLnN1Yih0KS5fZm9yY2VSZWQodGhpcyl9LHcucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LmFkZChlKTtyZXR1cm4gci5jbXAodGhpcy5tKT49MCYmci5pc3ViKHRoaXMubSksci5fZm9yY2VSZWQodGhpcyl9LHcucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24odCxlKXt0aGlzLl92ZXJpZnkyKHQsZSk7dmFyIHI9dC5pYWRkKGUpO3JldHVybiByLmNtcCh0aGlzLm0pPj0wJiZyLmlzdWIodGhpcy5tKSxyfSx3LnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24odCxlKXt0aGlzLl92ZXJpZnkyKHQsZSk7dmFyIHI9dC5zdWIoZSk7cmV0dXJuIHIuY21wbigwKTwwJiZyLmlhZGQodGhpcy5tKSxyLl9mb3JjZVJlZCh0aGlzKX0sdy5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LmlzdWIoZSk7cmV0dXJuIHIuY21wbigwKTwwJiZyLmlhZGQodGhpcy5tKSxyfSx3LnByb3RvdHlwZS5zaGw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5MSh0KSx0aGlzLmltb2QodC51c2hsbihlKSl9LHcucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5Mih0LGUpLHRoaXMuaW1vZCh0LmltdWwoZSkpfSx3LnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5Mih0LGUpLHRoaXMuaW1vZCh0Lm11bChlKSl9LHcucHJvdG90eXBlLmlzcXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaW11bCh0LHQuY2xvbmUoKSl9LHcucHJvdG90eXBlLnNxcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5tdWwodCx0KX0sdy5wcm90b3R5cGUuc3FydD1mdW5jdGlvbih0KXtpZih0LmlzWmVybygpKXJldHVybiB0LmNsb25lKCk7dmFyIGU9dGhpcy5tLmFuZGxuKDMpO2lmKG4oZSUyPT0xKSwzPT09ZSl7dmFyIHI9dGhpcy5tLmFkZChuZXcgaSgxKSkuaXVzaHJuKDIpO3JldHVybiB0aGlzLnBvdyh0LHIpfWZvcih2YXIgYT10aGlzLm0uc3VibigxKSxvPTA7IWEuaXNaZXJvKCkmJjA9PT1hLmFuZGxuKDEpOylvKyssYS5pdXNocm4oMSk7bighYS5pc1plcm8oKSk7dmFyIHM9bmV3IGkoMSkudG9SZWQodGhpcyksbD1zLnJlZE5lZygpLGM9dGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpLHU9dGhpcy5tLmJpdExlbmd0aCgpO2Zvcih1PW5ldyBpKDIqdSp1KS50b1JlZCh0aGlzKTswIT09dGhpcy5wb3codSxjKS5jbXAobCk7KXUucmVkSUFkZChsKTtmb3IodmFyIGg9dGhpcy5wb3codSxhKSxmPXRoaXMucG93KHQsYS5hZGRuKDEpLml1c2hybigxKSkscD10aGlzLnBvdyh0LGEpLGQ9bzswIT09cC5jbXAocyk7KXtmb3IodmFyIGc9cCx2PTA7MCE9PWcuY21wKHMpO3YrKylnPWcucmVkU3FyKCk7bih2PGQpO3ZhciBtPXRoaXMucG93KGgsbmV3IGkoMSkuaXVzaGxuKGQtdi0xKSk7Zj1mLnJlZE11bChtKSxoPW0ucmVkU3FyKCkscD1wLnJlZE11bChoKSxkPXZ9cmV0dXJuIGZ9LHcucHJvdG90eXBlLmludm09ZnVuY3Rpb24odCl7dmFyIGU9dC5faW52bXAodGhpcy5tKTtyZXR1cm4gMCE9PWUubmVnYXRpdmU/KGUubmVnYXRpdmU9MCx0aGlzLmltb2QoZSkucmVkTmVnKCkpOnRoaXMuaW1vZChlKX0sdy5wcm90b3R5cGUucG93PWZ1bmN0aW9uKHQsZSl7aWYoZS5pc1plcm8oKSlyZXR1cm4gbmV3IGkoMSkudG9SZWQodGhpcyk7aWYoMD09PWUuY21wbigxKSlyZXR1cm4gdC5jbG9uZSgpO3ZhciByPW5ldyBBcnJheSgxNik7clswXT1uZXcgaSgxKS50b1JlZCh0aGlzKSxyWzFdPXQ7Zm9yKHZhciBuPTI7bjxyLmxlbmd0aDtuKyspcltuXT10aGlzLm11bChyW24tMV0sdCk7dmFyIGE9clswXSxvPTAscz0wLGw9ZS5iaXRMZW5ndGgoKSUyNjtmb3IoMD09PWwmJihsPTI2KSxuPWUubGVuZ3RoLTE7bj49MDtuLS0pe2Zvcih2YXIgYz1lLndvcmRzW25dLHU9bC0xO3U+PTA7dS0tKXt2YXIgaD1jPj51JjE7YSE9PXJbMF0mJihhPXRoaXMuc3FyKGEpKSwwIT09aHx8MCE9PW8/KG88PD0xLG98PWgsKDQ9PT0rK3N8fDA9PT1uJiYwPT09dSkmJihhPXRoaXMubXVsKGEscltvXSkscz0wLG89MCkpOnM9MH1sPTI2fXJldHVybiBhfSx3LnByb3RvdHlwZS5jb252ZXJ0VG89ZnVuY3Rpb24odCl7dmFyIGU9dC51bW9kKHRoaXMubSk7cmV0dXJuIGU9PT10P2UuY2xvbmUoKTplfSx3LnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbih0KXt2YXIgZT10LmNsb25lKCk7cmV0dXJuIGUucmVkPW51bGwsZX0saS5tb250PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgayh0KX0sYShrLHcpLGsucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbW9kKHQudXNobG4odGhpcy5zaGlmdCkpfSxrLnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmltb2QodC5tdWwodGhpcy5yaW52KSk7cmV0dXJuIGUucmVkPW51bGwsZX0say5wcm90b3R5cGUuaW11bD1mdW5jdGlvbih0LGUpe2lmKHQuaXNaZXJvKCl8fGUuaXNaZXJvKCkpcmV0dXJuIHQud29yZHNbMF09MCx0Lmxlbmd0aD0xLHQ7dmFyIHI9dC5pbXVsKGUpLG49ci5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSksYT1yLmlzdWIobikuaXVzaHJuKHRoaXMuc2hpZnQpLGk9YTtyZXR1cm4gYS5jbXAodGhpcy5tKT49MD9pPWEuaXN1Yih0aGlzLm0pOmEuY21wbigwKTwwJiYoaT1hLmlhZGQodGhpcy5tKSksaS5fZm9yY2VSZWQodGhpcyl9LGsucHJvdG90eXBlLm11bD1mdW5jdGlvbih0LGUpe2lmKHQuaXNaZXJvKCl8fGUuaXNaZXJvKCkpcmV0dXJuIG5ldyBpKDApLl9mb3JjZVJlZCh0aGlzKTt2YXIgcj10Lm11bChlKSxuPXIubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pLGE9ci5pc3ViKG4pLml1c2hybih0aGlzLnNoaWZ0KSxvPWE7cmV0dXJuIGEuY21wKHRoaXMubSk+PTA/bz1hLmlzdWIodGhpcy5tKTphLmNtcG4oMCk8MCYmKG89YS5pYWRkKHRoaXMubSkpLG8uX2ZvcmNlUmVkKHRoaXMpfSxrLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmltb2QodC5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpLl9mb3JjZVJlZCh0aGlzKX19KCJ1bmRlZmluZWQiPT10eXBlb2YgZXx8ZSx0aGlzKX0se2J1ZmZlcjoxMDV9XSw5NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGUscixuLGE9dC5sZW5ndGgsaT0wO2ZvcihlPTA7ZTxhOysrZSlpKz10W2VdLmxlbmd0aDt2YXIgbz1uZXcgQXJyYXkoaSkscz0wO2ZvcihlPTA7ZTxhOysrZSl7dmFyIGw9dFtlXSxjPWwubGVuZ3RoO2ZvcihyPTA7cjxjOysrcil7dmFyIHU9b1tzKytdPW5ldyBBcnJheShjLTEpLGg9MDtmb3Iobj0wO248YzsrK24pbiE9PXImJih1W2grK109bFtuXSk7aWYoMSZyKXt2YXIgZj11WzFdO3VbMV09dVswXSx1WzBdPWZ9fX1yZXR1cm4gb319LHt9XSw5ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3N3aXRjaChhcmd1bWVudHMubGVuZ3RoKXtjYXNlIDE6cmV0dXJuIG49W10sYyhhPXQsYSx1LCEwKSxuO2Nhc2UgMjpyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT9jKHQsdCxlLCEwKTpmdW5jdGlvbih0LGUpe3JldHVybiBuPVtdLGModCxlLHUsITEpLG59KHQsZSk7Y2FzZSAzOnJldHVybiBjKHQsZSxyLCExKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiYm94LWludGVyc2VjdDogSW52YWxpZCBhcmd1bWVudHMiKX12YXIgYX07dmFyIG4sYT10KCJ0eXBlZGFycmF5LXBvb2wiKSxpPXQoIi4vbGliL3N3ZWVwIiksbz10KCIuL2xpYi9pbnRlcnNlY3QiKTtmdW5jdGlvbiBzKHQsZSl7Zm9yKHZhciByPTA7cjx0OysrcilpZighKGVbcl08PWVbcit0XSkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gbCh0LGUscixuKXtmb3IodmFyIGE9MCxpPTAsbz0wLGw9dC5sZW5ndGg7bzxsOysrbyl7dmFyIGM9dFtvXTtpZighcyhlLGMpKXtmb3IodmFyIHU9MDt1PDIqZTsrK3UpclthKytdPWNbdV07bltpKytdPW99fXJldHVybiBpfWZ1bmN0aW9uIGModCxlLHIsbil7dmFyIHM9dC5sZW5ndGgsYz1lLmxlbmd0aDtpZighKHM8PTB8fGM8PTApKXt2YXIgdT10WzBdLmxlbmd0aD4+PjE7aWYoISh1PD0wKSl7dmFyIGgsZj1hLm1hbGxvY0RvdWJsZSgyKnUqcykscD1hLm1hbGxvY0ludDMyKHMpO2lmKChzPWwodCx1LGYscCkpPjApe2lmKDE9PT11JiZuKWkuaW5pdChzKSxoPWkuc3dlZXBDb21wbGV0ZSh1LHIsMCxzLGYscCwwLHMsZixwKTtlbHNle3ZhciBkPWEubWFsbG9jRG91YmxlKDIqdSpjKSxnPWEubWFsbG9jSW50MzIoYyk7KGM9bChlLHUsZCxnKSk+MCYmKGkuaW5pdChzK2MpLGg9MT09PXU/aS5zd2VlcEJpcGFydGl0ZSh1LHIsMCxzLGYscCwwLGMsZCxnKTpvKHUscixuLHMsZixwLGMsZCxnKSxhLmZyZWUoZCksYS5mcmVlKGcpKX1hLmZyZWUoZiksYS5mcmVlKHApfXJldHVybiBofX19ZnVuY3Rpb24gdSh0LGUpe24ucHVzaChbdCxlXSl9fSx7Ii4vbGliL2ludGVyc2VjdCI6MTAwLCIuL2xpYi9zd2VlcCI6MTA0LCJ0eXBlZGFycmF5LXBvb2wiOjU0NH1dLDk5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPSJkIixhPSJheCIsaT0idnYiLG89ImZwIixzPSJlcyIsbD0icnMiLGM9InJlIix1PSJyYiIsaD0icmkiLGY9InJwIixwPSJicyIsZD0iYmUiLGc9ImJiIix2PSJiaSIsbT0iYnAiLHk9InJ2Iix4PSJRIixiPVtuLGEsaSxsLGMsdSxoLHAsZCxnLHZdO2Z1bmN0aW9uIF8odCl7dmFyIGU9ImJydXRlRm9yY2UiKyh0PyJGdWxsIjoiUGFydGlhbCIpLHI9W10sXz1iLnNsaWNlKCk7dHx8Xy5zcGxpY2UoMywwLG8pO3ZhciB3PVsiZnVuY3Rpb24gIitlKyIoIitfLmpvaW4oKSsiKXsiXTtmdW5jdGlvbiBrKGUsbyl7dmFyIF89ZnVuY3Rpb24odCxlLHIpe3ZhciBvPSJicnV0ZUZvcmNlIisodD8iUmVkIjoiQmx1ZSIpKyhlPyJGbGlwIjoiIikrKHI/IkZ1bGwiOiIiKSxfPVsiZnVuY3Rpb24gIixvLCIoIixiLmpvaW4oKSwiKXsiLCJ2YXIgIixzLCI9MioiLG4sIjsiXSx3PSJmb3IodmFyIGk9IitsKyIsIitmKyI9IitzKyIqIitsKyI7aTwiK2MrIjsrK2ksIitmKyIrPSIrcysiKXt2YXIgeDA9Iit1KyJbIithKyIrIitmKyJdLHgxPSIrdSsiWyIrYSsiKyIrZisiKyIrbisiXSx4aT0iK2grIltpXTsiLGs9ImZvcih2YXIgaj0iK3ArIiwiK20rIj0iK3MrIioiK3ArIjtqPCIrZCsiOysraiwiK20rIis9IitzKyIpe3ZhciB5MD0iK2crIlsiK2ErIisiK20rIl0sIisocj8ieTE9IitnKyJbIithKyIrIittKyIrIituKyJdLCI6IiIpKyJ5aT0iK3YrIltqXTsiO3JldHVybiB0P18ucHVzaCh3LHgsIjoiLGspOl8ucHVzaChrLHgsIjoiLHcpLHI/Xy5wdXNoKCJpZih5MTx4MHx8eDE8eTApY29udGludWU7Iik6ZT9fLnB1c2goImlmKHkwPD14MHx8eDE8eTApY29udGludWU7Iik6Xy5wdXNoKCJpZih5MDx4MHx8eDE8eTApY29udGludWU7IiksXy5wdXNoKCJmb3IodmFyIGs9IithKyIrMTtrPCIrbisiOysrayl7dmFyIHIwPSIrdSsiW2srIitmKyJdLHIxPSIrdSsiW2srIituKyIrIitmKyJdLGIwPSIrZysiW2srIittKyJdLGIxPSIrZysiW2srIituKyIrIittKyJdO2lmKHIxPGIwfHxiMTxyMCljb250aW51ZSAiK3grIjt9dmFyICIreSsiPSIraSsiKCIpLGU/Xy5wdXNoKCJ5aSx4aSIpOl8ucHVzaCgieGkseWkiKSxfLnB1c2goIik7aWYoIit5KyIhPT12b2lkIDApcmV0dXJuICIreSsiO319fSIpLHtuYW1lOm8sY29kZTpfLmpvaW4oIiIpfX0oZSxvLHQpO3IucHVzaChfLmNvZGUpLHcucHVzaCgicmV0dXJuICIrXy5uYW1lKyIoIitiLmpvaW4oKSsiKTsiKX13LnB1c2goImlmKCIrYysiLSIrbCsiPiIrZCsiLSIrcCsiKXsiKSx0PyhrKCEwLCExKSx3LnB1c2goIn1lbHNleyIpLGsoITEsITEpKToody5wdXNoKCJpZigiK28rIil7IiksayghMCwhMCksdy5wdXNoKCJ9ZWxzZXsiKSxrKCEwLCExKSx3LnB1c2goIn19ZWxzZXtpZigiK28rIil7IiksayghMSwhMCksdy5wdXNoKCJ9ZWxzZXsiKSxrKCExLCExKSx3LnB1c2goIn0iKSksdy5wdXNoKCJ9fXJldHVybiAiK2UpO3ZhciBUPXIuam9pbigiIikrdy5qb2luKCIiKTtyZXR1cm4gbmV3IEZ1bmN0aW9uKFQpKCl9ci5wYXJ0aWFsPV8oITEpLHIuZnVsbD1fKCEwKX0se31dLDEwMDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsaSx1LFMsRSxMLEMpeyFmdW5jdGlvbih0LGUpe3ZhciByPTgqYS5sb2cyKGUrMSkqKHQrMSl8MCxpPWEubmV4dFBvdzIoYipyKTt3Lmxlbmd0aDxpJiYobi5mcmVlKHcpLHc9bi5tYWxsb2NJbnQzMihpKSk7dmFyIG89YS5uZXh0UG93MihfKnIpO2s8byYmKG4uZnJlZShrKSxrPW4ubWFsbG9jRG91YmxlKG8pKX0odCxpK0UpO3ZhciBQLE89MCx6PTIqdDtUKE8rKywwLDAsaSwwLEUscj8xNjowLC0xLzAsMS8wKSxyfHxUKE8rKywwLDAsRSwwLGksMSwtMS8wLDEvMCk7Zm9yKDtPPjA7KXt2YXIgST0oTy09MSkqYixEPXdbSV0sUj13W0krMV0sRj13W0krMl0sQj13W0krM10sTj13W0krNF0saj13W0krNV0sVj1PKl8sVT1rW1ZdLHE9a1tWKzFdLEg9MSZqLEc9ISEoMTYmaiksWT11LFc9UyxYPUwsWj1DO2lmKEgmJihZPUwsVz1DLFg9dSxaPVMpLCEoMiZqJiYoRj12KHQsRCxSLEYsWSxXLHEpLFI+PUYpfHw0JmomJihSPW0odCxELFIsRixZLFcsVSkpPj1GKSl7dmFyIEo9Ri1SLEs9Ti1CO2lmKEcpe2lmKHQqSiooSitLKTxwKXtpZih2b2lkIDAhPT0oUD1sLnNjYW5Db21wbGV0ZSh0LEQsZSxSLEYsWSxXLEIsTixYLFopKSlyZXR1cm4gUDtjb250aW51ZX19ZWxzZXtpZih0Kk1hdGgubWluKEosSyk8aCl7aWYodm9pZCAwIT09KFA9byh0LEQsZSxILFIsRixZLFcsQixOLFgsWikpKXJldHVybiBQO2NvbnRpbnVlfWlmKHQqSipLPGYpe2lmKHZvaWQgMCE9PShQPWwuc2NhbkJpcGFydGl0ZSh0LEQsZSxILFIsRixZLFcsQixOLFgsWikpKXJldHVybiBQO2NvbnRpbnVlfX12YXIgUT1kKHQsRCxSLEYsWSxXLFUscSk7aWYoUjxRKWlmKHQqKFEtUik8aCl7aWYodm9pZCAwIT09KFA9cyh0LEQrMSxlLFIsUSxZLFcsQixOLFgsWikpKXJldHVybiBQfWVsc2UgaWYoRD09PXQtMil7aWYodm9pZCAwIT09KFA9SD9sLnN3ZWVwQmlwYXJ0aXRlKHQsZSxCLE4sWCxaLFIsUSxZLFcpOmwuc3dlZXBCaXBhcnRpdGUodCxlLFIsUSxZLFcsQixOLFgsWikpKXJldHVybiBQfWVsc2UgVChPKyssRCsxLFIsUSxCLE4sSCwtMS8wLDEvMCksVChPKyssRCsxLEIsTixSLFEsMV5ILC0xLzAsMS8wKTtpZihRPEYpe3ZhciAkPWModCxELEIsTixYLFopLHR0PVhbeiokK0RdLGV0PWcodCxELCQsTixYLFosdHQpO2lmKGV0PE4mJlQoTysrLEQsUSxGLGV0LE4sKDR8SCkrKEc/MTY6MCksdHQscSksQjwkJiZUKE8rKyxELFEsRixCLCQsKDJ8SCkrKEc/MTY6MCksVSx0dCksJCsxPT09ZXQpe2lmKHZvaWQgMCE9PShQPUc/QSh0LEQsZSxRLEYsWSxXLCQsWCxaWyRdKTpNKHQsRCxlLEgsUSxGLFksVywkLFgsWlskXSkpKXJldHVybiBQfWVsc2UgaWYoJDxldCl7dmFyIHJ0O2lmKEcpe2lmKHJ0PXkodCxELFEsRixZLFcsdHQpLFE8cnQpe3ZhciBudD1nKHQsRCxRLHJ0LFksVyx0dCk7aWYoRD09PXQtMil7aWYoUTxudCYmdm9pZCAwIT09KFA9bC5zd2VlcENvbXBsZXRlKHQsZSxRLG50LFksVywkLGV0LFgsWikpKXJldHVybiBQO2lmKG50PHJ0JiZ2b2lkIDAhPT0oUD1sLnN3ZWVwQmlwYXJ0aXRlKHQsZSxudCxydCxZLFcsJCxldCxYLFopKSlyZXR1cm4gUH1lbHNlIFE8bnQmJlQoTysrLEQrMSxRLG50LCQsZXQsMTYsLTEvMCwxLzApLG50PHJ0JiYoVChPKyssRCsxLG50LHJ0LCQsZXQsMCwtMS8wLDEvMCksVChPKyssRCsxLCQsZXQsbnQscnQsMSwtMS8wLDEvMCkpfX1lbHNlIHJ0PUg/eCh0LEQsUSxGLFksVyx0dCk6eSh0LEQsUSxGLFksVyx0dCksUTxydCYmKEQ9PT10LTI/UD1IP2wuc3dlZXBCaXBhcnRpdGUodCxlLCQsZXQsWCxaLFEscnQsWSxXKTpsLnN3ZWVwQmlwYXJ0aXRlKHQsZSxRLHJ0LFksVywkLGV0LFgsWik6KFQoTysrLEQrMSxRLHJ0LCQsZXQsSCwtMS8wLDEvMCksVChPKyssRCsxLCQsZXQsUSxydCwxXkgsLTEvMCwxLzApKSl9fX19fTt2YXIgbj10KCJ0eXBlZGFycmF5LXBvb2wiKSxhPXQoImJpdC10d2lkZGxlIiksaT10KCIuL2JydXRlIiksbz1pLnBhcnRpYWwscz1pLmZ1bGwsbD10KCIuL3N3ZWVwIiksYz10KCIuL21lZGlhbiIpLHU9dCgiLi9wYXJ0aXRpb24iKSxoPTEyOCxmPTE8PDIyLHA9MTw8MjIsZD11KCIhKGxvPj1wMCkmJiEocDE+PWhpKSIsWyJwMCIsInAxIl0pLGc9dSgibG89PT1wMCIsWyJwMCJdKSx2PXUoImxvPHAwIixbInAwIl0pLG09dSgiaGk8PXAwIixbInAwIl0pLHk9dSgibG88PXAwJiZwMDw9aGkiLFsicDAiXSkseD11KCJsbzxwMCYmcDA8PWhpIixbInAwIl0pLGI9NixfPTIsdz1uLm1hbGxvY0ludDMyKDEwMjQpLGs9bi5tYWxsb2NEb3VibGUoMTAyNCk7ZnVuY3Rpb24gVCh0LGUscixuLGEsaSxvLHMsbCl7dmFyIGM9Yip0O3dbY109ZSx3W2MrMV09cix3W2MrMl09bix3W2MrM109YSx3W2MrNF09aSx3W2MrNV09bzt2YXIgdT1fKnQ7a1t1XT1zLGtbdSsxXT1sfWZ1bmN0aW9uIE0odCxlLHIsbixhLGksbyxzLGwsYyx1KXt2YXIgaD0yKnQsZj1sKmgscD1jW2YrZV07dDpmb3IodmFyIGQ9YSxnPWEqaDtkPGk7KytkLGcrPWgpe3ZhciB2PW9bZytlXSxtPW9bZytlK3RdO2lmKCEocDx2fHxtPHApJiYoIW58fHAhPT12KSl7Zm9yKHZhciB5LHg9c1tkXSxiPWUrMTtiPHQ7KytiKXt2PW9bZytiXSxtPW9bZytiK3RdO3ZhciBfPWNbZitiXSx3PWNbZitiK3RdO2lmKG08X3x8dzx2KWNvbnRpbnVlIHR9aWYodm9pZCAwIT09KHk9bj9yKHUseCk6cih4LHUpKSlyZXR1cm4geX19fWZ1bmN0aW9uIEEodCxlLHIsbixhLGksbyxzLGwsYyl7dmFyIHU9Mip0LGg9cyp1LGY9bFtoK2VdO3Q6Zm9yKHZhciBwPW4sZD1uKnU7cDxhOysrcCxkKz11KXt2YXIgZz1vW3BdO2lmKGchPT1jKXt2YXIgdj1pW2QrZV0sbT1pW2QrZSt0XTtpZighKGY8dnx8bTxmKSl7Zm9yKHZhciB5PWUrMTt5PHQ7Kyt5KXt2PWlbZCt5XSxtPWlbZCt5K3RdO3ZhciB4PWxbaCt5XSxiPWxbaCt5K3RdO2lmKG08eHx8Yjx2KWNvbnRpbnVlIHR9dmFyIF89cihnLGMpO2lmKHZvaWQgMCE9PV8pcmV0dXJuIF99fX19fSx7Ii4vYnJ1dGUiOjk5LCIuL21lZGlhbiI6MTAxLCIuL3BhcnRpdGlvbiI6MTAyLCIuL3N3ZWVwIjoxMDQsImJpdC10d2lkZGxlIjo5NCwidHlwZWRhcnJheS1wb29sIjo1NDR9XSwxMDE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG8scyxsKXtpZihvPD1yKzEpcmV0dXJuIHI7dmFyIGM9cix1PW8saD1vK3I+Pj4xLGY9Mip0LHA9aCxkPXNbZipoK2VdO2Zvcig7Yzx1Oyl7aWYodS1jPGEpe2kodCxlLGMsdSxzLGwpLGQ9c1tmKmgrZV07YnJlYWt9dmFyIGc9dS1jLHY9TWF0aC5yYW5kb20oKSpnK2N8MCxtPXNbZip2K2VdLHk9TWF0aC5yYW5kb20oKSpnK2N8MCx4PXNbZip5K2VdLGI9TWF0aC5yYW5kb20oKSpnK2N8MCxfPXNbZipiK2VdO208PXg/Xz49eD8ocD15LGQ9eCk6bT49Xz8ocD12LGQ9bSk6KHA9YixkPV8pOng+PV8/KHA9eSxkPXgpOl8+PW0/KHA9dixkPW0pOihwPWIsZD1fKTtmb3IodmFyIHc9ZioodS0xKSxrPWYqcCxUPTA7VDxmOysrVCwrK3csKytrKXt2YXIgTT1zW3ddO3Nbd109c1trXSxzW2tdPU19dmFyIEE9bFt1LTFdO2xbdS0xXT1sW3BdLGxbcF09QSxwPW4odCxlLGMsdS0xLHMsbCxkKTtmb3IodmFyIHc9ZioodS0xKSxrPWYqcCxUPTA7VDxmOysrVCwrK3csKytrKXt2YXIgTT1zW3ddO3Nbd109c1trXSxzW2tdPU19dmFyIEE9bFt1LTFdO2lmKGxbdS0xXT1sW3BdLGxbcF09QSxoPHApe2Zvcih1PXAtMTtjPHUmJnNbZioodS0xKStlXT09PWQ7KXUtPTE7dSs9MX1lbHNle2lmKCEocDxoKSlicmVhaztmb3IoYz1wKzE7Yzx1JiZzW2YqYytlXT09PWQ7KWMrPTF9fXJldHVybiBuKHQsZSxyLGgscyxsLHNbZipoK2VdKX07dmFyIG49dCgiLi9wYXJ0aXRpb24iKSgibG88cDAiLFsicDAiXSksYT04O2Z1bmN0aW9uIGkodCxlLHIsbixhLGkpe2Zvcih2YXIgbz0yKnQscz1vKihyKzEpK2UsbD1yKzE7bDxuOysrbCxzKz1vKWZvcih2YXIgYz1hW3NdLHU9bCxoPW8qKGwtMSk7dT5yJiZhW2grZV0+YzstLXUsaC09byl7Zm9yKHZhciBmPWgscD1oK28sZD0wO2Q8bzsrK2QsKytmLCsrcCl7dmFyIGc9YVtmXTthW2ZdPWFbcF0sYVtwXT1nfXZhciB2PWlbdV07aVt1XT1pW3UtMV0saVt1LTFdPXZ9fX0seyIuL3BhcnRpdGlvbiI6MTAyfV0sMTAyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPSJhYmNkZWYiLnNwbGl0KCIiKS5jb25jYXQoZSksYT1bXTt0LmluZGV4T2YoImxvIik+PTAmJmEucHVzaCgibG89ZVtrK25dIik7dC5pbmRleE9mKCJoaSIpPj0wJiZhLnB1c2goImhpPWVbaytvXSIpO3JldHVybiByLnB1c2gobi5yZXBsYWNlKCJfIixhLmpvaW4oKSkucmVwbGFjZSgiJCIsdCkpLEZ1bmN0aW9uLmFwcGx5KHZvaWQgMCxyKX07dmFyIG49ImZvcih2YXIgaj0yKmEsaz1qKmMsbD1rLG09YyxuPWIsbz1hK2IscD1jO2Q+cDsrK3Asays9ail7dmFyIF87aWYoJClpZihtPT09cCltKz0xLGwrPWo7ZWxzZXtmb3IodmFyIHM9MDtqPnM7KytzKXt2YXIgdD1lW2src107ZVtrK3NdPWVbbF0sZVtsKytdPXR9dmFyIHU9ZltwXTtmW3BdPWZbbV0sZlttKytdPXV9fXJldHVybiBtIn0se31dLDEwMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtlPD00Km4/YSgwLGUtMSx0KTpmdW5jdGlvbiB0KGUscixoKXt2YXIgZj0oci1lKzEpLzZ8MCxwPWUrZixkPXItZixnPWUrcj4+MSx2PWctZixtPWcrZix5PXAseD12LGI9ZyxfPW0sdz1kLGs9ZSsxLFQ9ci0xLE09MDtjKHkseCxoKSYmKE09eSx5PXgseD1NKTtjKF8sdyxoKSYmKE09XyxfPXcsdz1NKTtjKHksYixoKSYmKE09eSx5PWIsYj1NKTtjKHgsYixoKSYmKE09eCx4PWIsYj1NKTtjKHksXyxoKSYmKE09eSx5PV8sXz1NKTtjKGIsXyxoKSYmKE09YixiPV8sXz1NKTtjKHgsdyxoKSYmKE09eCx4PXcsdz1NKTtjKHgsYixoKSYmKE09eCx4PWIsYj1NKTtjKF8sdyxoKSYmKE09XyxfPXcsdz1NKTt2YXIgQT1oWzIqeF07dmFyIFM9aFsyKngrMV07dmFyIEU9aFsyKl9dO3ZhciBMPWhbMipfKzFdO3ZhciBDPTIqeTt2YXIgUD0yKmI7dmFyIE89Mip3O3ZhciB6PTIqcDt2YXIgST0yKmc7dmFyIEQ9MipkO2Zvcih2YXIgUj0wO1I8MjsrK1Ipe3ZhciBGPWhbQytSXSxCPWhbUCtSXSxOPWhbTytSXTtoW3orUl09RixoW0krUl09QixoW0QrUl09Tn1vKHYsZSxoKTtvKG0scixoKTtmb3IodmFyIGo9aztqPD1UOysrailpZih1KGosQSxTLGgpKWohPT1rJiZpKGosayxoKSwrK2s7ZWxzZSBpZighdShqLEUsTCxoKSlmb3IoOzspe2lmKHUoVCxFLEwsaCkpe3UoVCxBLFMsaCk/KHMoaixrLFQsaCksKytrLC0tVCk6KGkoaixULGgpLC0tVCk7YnJlYWt9aWYoLS1UPGopYnJlYWt9bChlLGstMSxBLFMsaCk7bChyLFQrMSxFLEwsaCk7ay0yLWU8PW4/YShlLGstMixoKTp0KGUsay0yLGgpO3ItKFQrMik8PW4/YShUKzIscixoKTp0KFQrMixyLGgpO1Qtazw9bj9hKGssVCxoKTp0KGssVCxoKX0oMCxlLTEsdCl9O3ZhciBuPTMyO2Z1bmN0aW9uIGEodCxlLHIpe2Zvcih2YXIgbj0yKih0KzEpLGE9dCsxO2E8PWU7KythKXtmb3IodmFyIGk9cltuKytdLG89cltuKytdLHM9YSxsPW4tMjtzLS0gPnQ7KXt2YXIgYz1yW2wtMl0sdT1yW2wtMV07aWYoYzxpKWJyZWFrO2lmKGM9PT1pJiZ1PG8pYnJlYWs7cltsXT1jLHJbbCsxXT11LGwtPTJ9cltsXT1pLHJbbCsxXT1vfX1mdW5jdGlvbiBpKHQsZSxyKXtlKj0yO3ZhciBuPXJbdCo9Ml0sYT1yW3QrMV07clt0XT1yW2VdLHJbdCsxXT1yW2UrMV0scltlXT1uLHJbZSsxXT1hfWZ1bmN0aW9uIG8odCxlLHIpe2UqPTIsclt0Kj0yXT1yW2VdLHJbdCsxXT1yW2UrMV19ZnVuY3Rpb24gcyh0LGUscixuKXtlKj0yLHIqPTI7dmFyIGE9blt0Kj0yXSxpPW5bdCsxXTtuW3RdPW5bZV0sblt0KzFdPW5bZSsxXSxuW2VdPW5bcl0sbltlKzFdPW5bcisxXSxuW3JdPWEsbltyKzFdPWl9ZnVuY3Rpb24gbCh0LGUscixuLGEpe2UqPTIsYVt0Kj0yXT1hW2VdLGFbZV09cixhW3QrMV09YVtlKzFdLGFbZSsxXT1ufWZ1bmN0aW9uIGModCxlLHIpe2UqPTI7dmFyIG49clt0Kj0yXSxhPXJbZV07cmV0dXJuIShuPGEpJiYobiE9PWF8fHJbdCsxXT5yW2UrMV0pfWZ1bmN0aW9uIHUodCxlLHIsbil7dmFyIGE9blt0Kj0yXTtyZXR1cm4gYTxlfHxhPT09ZSYmblt0KzFdPHJ9fSx7fV0sMTA0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17aW5pdDpmdW5jdGlvbih0KXt2YXIgZT1hLm5leHRQb3cyKHQpO3MubGVuZ3RoPGUmJihuLmZyZWUocykscz1uLm1hbGxvY0ludDMyKGUpKTtsLmxlbmd0aDxlJiYobi5mcmVlKGwpLGw9bi5tYWxsb2NJbnQzMihlKSk7Yy5sZW5ndGg8ZSYmKG4uZnJlZShjKSxjPW4ubWFsbG9jSW50MzIoZSkpO3UubGVuZ3RoPGUmJihuLmZyZWUodSksdT1uLm1hbGxvY0ludDMyKGUpKTtoLmxlbmd0aDxlJiYobi5mcmVlKGgpLGg9bi5tYWxsb2NJbnQzMihlKSk7Zi5sZW5ndGg8ZSYmKG4uZnJlZShmKSxmPW4ubWFsbG9jSW50MzIoZSkpO3ZhciByPTgqZTtwLmxlbmd0aDxyJiYobi5mcmVlKHApLHA9bi5tYWxsb2NEb3VibGUocikpfSxzd2VlcEJpcGFydGl0ZTpmdW5jdGlvbih0LGUscixuLGEsaCxmLHYsbSx5KXtmb3IodmFyIHg9MCxiPTIqdCxfPXQtMSx3PWItMSxrPXI7azxuOysrayl7dmFyIFQ9aFtrXSxNPWIqaztwW3grK109YVtNK19dLHBbeCsrXT0tKFQrMSkscFt4KytdPWFbTSt3XSxwW3grK109VH1mb3IodmFyIGs9ZjtrPHY7KytrKXt2YXIgVD15W2tdK28sQT1iKms7cFt4KytdPW1bQStfXSxwW3grK109LVQscFt4KytdPW1bQSt3XSxwW3grK109VH12YXIgUz14Pj4+MTtpKHAsUyk7Zm9yKHZhciBFPTAsTD0wLGs9MDtrPFM7KytrKXt2YXIgQz0wfHBbMiprKzFdO2lmKEM+PW8pZChjLHUsTC0tLEM9Qy1vfDApO2Vsc2UgaWYoQz49MClkKHMsbCxFLS0sQyk7ZWxzZSBpZihDPD0tbyl7Qz0tQy1vfDA7Zm9yKHZhciBQPTA7UDxFOysrUCl7dmFyIE89ZShzW1BdLEMpO2lmKHZvaWQgMCE9PU8pcmV0dXJuIE99ZyhjLHUsTCsrLEMpfWVsc2V7Qz0tQy0xfDA7Zm9yKHZhciBQPTA7UDxMOysrUCl7dmFyIE89ZShDLGNbUF0pO2lmKHZvaWQgMCE9PU8pcmV0dXJuIE99ZyhzLGwsRSsrLEMpfX19LHN3ZWVwQ29tcGxldGU6ZnVuY3Rpb24odCxlLHIsbixhLG8sdixtLHkseCl7Zm9yKHZhciBiPTAsXz0yKnQsdz10LTEsaz1fLTEsVD1yO1Q8bjsrK1Qpe3ZhciBNPW9bVF0rMTw8MSxBPV8qVDtwW2IrK109YVtBK3ddLHBbYisrXT0tTSxwW2IrK109YVtBK2tdLHBbYisrXT1NfWZvcih2YXIgVD12O1Q8bTsrK1Qpe3ZhciBNPXhbVF0rMTw8MSxTPV8qVDtwW2IrK109eVtTK3ddLHBbYisrXT0xfC1NLHBbYisrXT15W1Mra10scFtiKytdPTF8TX12YXIgRT1iPj4+MTtpKHAsRSk7Zm9yKHZhciBMPTAsQz0wLFA9MCxUPTA7VDxFOysrVCl7dmFyIE89MHxwWzIqVCsxXSx6PTEmTztpZihUPEUtMSYmTz4+MT09cFsyKlQrM10+PjEmJih6PTIsVCs9MSksTzwwKXtmb3IodmFyIEk9LShPPj4xKS0xLEQ9MDtEPFA7KytEKXt2YXIgUj1lKGhbRF0sSSk7aWYodm9pZCAwIT09UilyZXR1cm4gUn1pZigwIT09eilmb3IodmFyIEQ9MDtEPEw7KytEKXt2YXIgUj1lKHNbRF0sSSk7aWYodm9pZCAwIT09UilyZXR1cm4gUn1pZigxIT09eilmb3IodmFyIEQ9MDtEPEM7KytEKXt2YXIgUj1lKGNbRF0sSSk7aWYodm9pZCAwIT09UilyZXR1cm4gUn0wPT09ej9nKHMsbCxMKyssSSk6MT09PXo/ZyhjLHUsQysrLEkpOjI9PT16JiZnKGgsZixQKyssSSl9ZWxzZXt2YXIgST0oTz4+MSktMTswPT09ej9kKHMsbCxMLS0sSSk6MT09PXo/ZChjLHUsQy0tLEkpOjI9PT16JiZkKGgsZixQLS0sSSl9fX0sc2NhbkJpcGFydGl0ZTpmdW5jdGlvbih0LGUscixuLGEsYyx1LGgsZix2LG0seSl7dmFyIHg9MCxiPTIqdCxfPWUsdz1lK3Qsaz0xLFQ9MTtuP1Q9bzprPW87Zm9yKHZhciBNPWE7TTxjOysrTSl7dmFyIEE9TStrLFM9YipNO3BbeCsrXT11W1MrX10scFt4KytdPS1BLHBbeCsrXT11W1Mrd10scFt4KytdPUF9Zm9yKHZhciBNPWY7TTx2OysrTSl7dmFyIEE9TStULEU9YipNO3BbeCsrXT1tW0UrX10scFt4KytdPS1BfXZhciBMPXg+Pj4xO2kocCxMKTtmb3IodmFyIEM9MCxNPTA7TTxMOysrTSl7dmFyIFA9MHxwWzIqTSsxXTtpZihQPDApe3ZhciBBPS1QLE89ITE7aWYoQT49bz8oTz0hbixBLT1vKTooTz0hIW4sQS09MSksTylnKHMsbCxDKyssQSk7ZWxzZXt2YXIgej15W0FdLEk9YipBLEQ9bVtJK2UrMV0sUj1tW0krZSsxK3RdO3Q6Zm9yKHZhciBGPTA7RjxDOysrRil7dmFyIEI9c1tGXSxOPWIqQjtpZighKFI8dVtOK2UrMV18fHVbTitlKzErdF08RCkpe2Zvcih2YXIgaj1lKzI7ajx0OysrailpZihtW0krait0XTx1W04ral18fHVbTitqK3RdPG1bSStqXSljb250aW51ZSB0O3ZhciBWLFU9aFtCXTtpZih2b2lkIDAhPT0oVj1uP3IoeixVKTpyKFUseikpKXJldHVybiBWfX19fWVsc2UgZChzLGwsQy0tLFAtayl9fSxzY2FuQ29tcGxldGU6ZnVuY3Rpb24odCxlLHIsbixhLGwsYyx1LGgsZixkKXtmb3IodmFyIGc9MCx2PTIqdCxtPWUseT1lK3QseD1uO3g8YTsrK3gpe3ZhciBiPXgrbyxfPXYqeDtwW2crK109bFtfK21dLHBbZysrXT0tYixwW2crK109bFtfK3ldLHBbZysrXT1ifWZvcih2YXIgeD11O3g8aDsrK3gpe3ZhciBiPXgrMSx3PXYqeDtwW2crK109Zlt3K21dLHBbZysrXT0tYn12YXIgaz1nPj4+MTtpKHAsayk7Zm9yKHZhciBUPTAseD0wO3g8azsrK3gpe3ZhciBNPTB8cFsyKngrMV07aWYoTTwwKXt2YXIgYj0tTTtpZihiPj1vKXNbVCsrXT1iLW87ZWxzZXt2YXIgQT1kW2ItPTFdLFM9dipiLEU9ZltTK2UrMV0sTD1mW1MrZSsxK3RdO3Q6Zm9yKHZhciBDPTA7QzxUOysrQyl7dmFyIFA9c1tDXSxPPWNbUF07aWYoTz09PUEpYnJlYWs7dmFyIHo9dipQO2lmKCEoTDxsW3orZSsxXXx8bFt6K2UrMSt0XTxFKSl7Zm9yKHZhciBJPWUrMjtJPHQ7KytJKWlmKGZbUytJK3RdPGxbeitJXXx8bFt6K0krdF08ZltTK0ldKWNvbnRpbnVlIHQ7dmFyIEQ9cihPLEEpO2lmKHZvaWQgMCE9PUQpcmV0dXJuIER9fX19ZWxzZXtmb3IodmFyIGI9TS1vLEM9VC0xO0M+PTA7LS1DKWlmKHNbQ109PT1iKXtmb3IodmFyIEk9QysxO0k8VDsrK0kpc1tJLTFdPXNbSV07YnJlYWt9LS1UfX19fTt2YXIgbj10KCJ0eXBlZGFycmF5LXBvb2wiKSxhPXQoImJpdC10d2lkZGxlIiksaT10KCIuL3NvcnQiKSxvPTE8PDI4LHM9bi5tYWxsb2NJbnQzMigxMDI0KSxsPW4ubWFsbG9jSW50MzIoMTAyNCksYz1uLm1hbGxvY0ludDMyKDEwMjQpLHU9bi5tYWxsb2NJbnQzMigxMDI0KSxoPW4ubWFsbG9jSW50MzIoMTAyNCksZj1uLm1hbGxvY0ludDMyKDEwMjQpLHA9bi5tYWxsb2NEb3VibGUoODE5Mik7ZnVuY3Rpb24gZCh0LGUscixuKXt2YXIgYT1lW25dLGk9dFtyLTFdO3RbYV09aSxlW2ldPWF9ZnVuY3Rpb24gZyh0LGUscixuKXt0W3JdPW4sZVtuXT1yfX0seyIuL3NvcnQiOjEwMywiYml0LXR3aWRkbGUiOjk0LCJ0eXBlZGFycmF5LXBvb2wiOjU0NH1dLDEwNTpbZnVuY3Rpb24odCxlLHIpe30se31dLDEwNjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPU9iamVjdC5jcmVhdGV8fGZ1bmN0aW9uKHQpe3ZhciBlPWZ1bmN0aW9uKCl7fTtyZXR1cm4gZS5wcm90b3R5cGU9dCxuZXcgZX0sYT1PYmplY3Qua2V5c3x8ZnVuY3Rpb24odCl7dmFyIGU9W107Zm9yKHZhciByIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJmUucHVzaChyKTtyZXR1cm4gcn0saT1GdW5jdGlvbi5wcm90b3R5cGUuYmluZHx8ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0LGFyZ3VtZW50cyl9fTtmdW5jdGlvbiBvKCl7dGhpcy5fZXZlbnRzJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcywiX2V2ZW50cyIpfHwodGhpcy5fZXZlbnRzPW4obnVsbCksdGhpcy5fZXZlbnRzQ291bnQ9MCksdGhpcy5fbWF4TGlzdGVuZXJzPXRoaXMuX21heExpc3RlbmVyc3x8dm9pZCAwfWUuZXhwb3J0cz1vLG8uRXZlbnRFbWl0dGVyPW8sby5wcm90b3R5cGUuX2V2ZW50cz12b2lkIDAsby5wcm90b3R5cGUuX21heExpc3RlbmVycz12b2lkIDA7dmFyIHMsbD0xMDt0cnl7dmFyIGM9e307T2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYywieCIse3ZhbHVlOjB9KSxzPTA9PT1jLnh9Y2F0Y2godCl7cz0hMX1mdW5jdGlvbiB1KHQpe3JldHVybiB2b2lkIDA9PT10Ll9tYXhMaXN0ZW5lcnM/by5kZWZhdWx0TWF4TGlzdGVuZXJzOnQuX21heExpc3RlbmVyc31mdW5jdGlvbiBoKHQsZSxyLGEpe3ZhciBpLG8scztpZigiZnVuY3Rpb24iIT10eXBlb2Ygcil0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdGVuZXIiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpO2lmKChvPXQuX2V2ZW50cyk/KG8ubmV3TGlzdGVuZXImJih0LmVtaXQoIm5ld0xpc3RlbmVyIixlLHIubGlzdGVuZXI/ci5saXN0ZW5lcjpyKSxvPXQuX2V2ZW50cykscz1vW2VdKToobz10Ll9ldmVudHM9bihudWxsKSx0Ll9ldmVudHNDb3VudD0wKSxzKXtpZigiZnVuY3Rpb24iPT10eXBlb2Ygcz9zPW9bZV09YT9bcixzXTpbcyxyXTphP3MudW5zaGlmdChyKTpzLnB1c2gociksIXMud2FybmVkJiYoaT11KHQpKSYmaT4wJiZzLmxlbmd0aD5pKXtzLndhcm5lZD0hMDt2YXIgbD1uZXcgRXJyb3IoIlBvc3NpYmxlIEV2ZW50RW1pdHRlciBtZW1vcnkgbGVhayBkZXRlY3RlZC4gIitzLmxlbmd0aCsnICInK1N0cmluZyhlKSsnIiBsaXN0ZW5lcnMgYWRkZWQuIFVzZSBlbWl0dGVyLnNldE1heExpc3RlbmVycygpIHRvIGluY3JlYXNlIGxpbWl0LicpO2wubmFtZT0iTWF4TGlzdGVuZXJzRXhjZWVkZWRXYXJuaW5nIixsLmVtaXR0ZXI9dCxsLnR5cGU9ZSxsLmNvdW50PXMubGVuZ3RoLCJvYmplY3QiPT10eXBlb2YgY29uc29sZSYmY29uc29sZS53YXJuJiZjb25zb2xlLndhcm4oIiVzOiAlcyIsbC5uYW1lLGwubWVzc2FnZSl9fWVsc2Ugcz1vW2VdPXIsKyt0Ll9ldmVudHNDb3VudDtyZXR1cm4gdH1mdW5jdGlvbiBmKCl7aWYoIXRoaXMuZmlyZWQpc3dpdGNoKHRoaXMudGFyZ2V0LnJlbW92ZUxpc3RlbmVyKHRoaXMudHlwZSx0aGlzLndyYXBGbiksdGhpcy5maXJlZD0hMCxhcmd1bWVudHMubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHRoaXMubGlzdGVuZXIuY2FsbCh0aGlzLnRhcmdldCk7Y2FzZSAxOnJldHVybiB0aGlzLmxpc3RlbmVyLmNhbGwodGhpcy50YXJnZXQsYXJndW1lbnRzWzBdKTtjYXNlIDI6cmV0dXJuIHRoaXMubGlzdGVuZXIuY2FsbCh0aGlzLnRhcmdldCxhcmd1bWVudHNbMF0sYXJndW1lbnRzWzFdKTtjYXNlIDM6cmV0dXJuIHRoaXMubGlzdGVuZXIuY2FsbCh0aGlzLnRhcmdldCxhcmd1bWVudHNbMF0sYXJndW1lbnRzWzFdLGFyZ3VtZW50c1syXSk7ZGVmYXVsdDpmb3IodmFyIHQ9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpLGU9MDtlPHQubGVuZ3RoOysrZSl0W2VdPWFyZ3VtZW50c1tlXTt0aGlzLmxpc3RlbmVyLmFwcGx5KHRoaXMudGFyZ2V0LHQpfX1mdW5jdGlvbiBwKHQsZSxyKXt2YXIgbj17ZmlyZWQ6ITEsd3JhcEZuOnZvaWQgMCx0YXJnZXQ6dCx0eXBlOmUsbGlzdGVuZXI6cn0sYT1pLmNhbGwoZixuKTtyZXR1cm4gYS5saXN0ZW5lcj1yLG4ud3JhcEZuPWEsYX1mdW5jdGlvbiBkKHQsZSxyKXt2YXIgbj10Ll9ldmVudHM7aWYoIW4pcmV0dXJuW107dmFyIGE9bltlXTtyZXR1cm4gYT8iZnVuY3Rpb24iPT10eXBlb2YgYT9yP1thLmxpc3RlbmVyfHxhXTpbYV06cj9mdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQubGVuZ3RoKSxyPTA7cjxlLmxlbmd0aDsrK3IpZVtyXT10W3JdLmxpc3RlbmVyfHx0W3JdO3JldHVybiBlfShhKTp2KGEsYS5sZW5ndGgpOltdfWZ1bmN0aW9uIGcodCl7dmFyIGU9dGhpcy5fZXZlbnRzO2lmKGUpe3ZhciByPWVbdF07aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpcmV0dXJuIDE7aWYocilyZXR1cm4gci5sZW5ndGh9cmV0dXJuIDB9ZnVuY3Rpb24gdih0LGUpe2Zvcih2YXIgcj1uZXcgQXJyYXkoZSksbj0wO248ZTsrK24pcltuXT10W25dO3JldHVybiByfXM/T2JqZWN0LmRlZmluZVByb3BlcnR5KG8sImRlZmF1bHRNYXhMaXN0ZW5lcnMiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfSxzZXQ6ZnVuY3Rpb24odCl7aWYoIm51bWJlciIhPXR5cGVvZiB0fHx0PDB8fHQhPXQpdGhyb3cgbmV3IFR5cGVFcnJvcignImRlZmF1bHRNYXhMaXN0ZW5lcnMiIG11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXInKTtsPXR9fSk6by5kZWZhdWx0TWF4TGlzdGVuZXJzPWwsby5wcm90b3R5cGUuc2V0TWF4TGlzdGVuZXJzPWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiIT10eXBlb2YgdHx8dDwwfHxpc05hTih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibiIgYXJndW1lbnQgbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlcicpO3JldHVybiB0aGlzLl9tYXhMaXN0ZW5lcnM9dCx0aGlzfSxvLnByb3RvdHlwZS5nZXRNYXhMaXN0ZW5lcnM9ZnVuY3Rpb24oKXtyZXR1cm4gdSh0aGlzKX0sby5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpLG8scz0iZXJyb3IiPT09dDtpZihvPXRoaXMuX2V2ZW50cylzPXMmJm51bGw9PW8uZXJyb3I7ZWxzZSBpZighcylyZXR1cm4hMTtpZihzKXtpZihhcmd1bWVudHMubGVuZ3RoPjEmJihlPWFyZ3VtZW50c1sxXSksZSBpbnN0YW5jZW9mIEVycm9yKXRocm93IGU7dmFyIGw9bmV3IEVycm9yKCdVbmhhbmRsZWQgImVycm9yIiBldmVudC4gKCcrZSsiKSIpO3Rocm93IGwuY29udGV4dD1lLGx9aWYoIShyPW9bdF0pKXJldHVybiExO3ZhciBjPSJmdW5jdGlvbiI9PXR5cGVvZiByO3N3aXRjaChuPWFyZ3VtZW50cy5sZW5ndGgpe2Nhc2UgMTohZnVuY3Rpb24odCxlLHIpe2lmKGUpdC5jYWxsKHIpO2Vsc2UgZm9yKHZhciBuPXQubGVuZ3RoLGE9dih0LG4pLGk9MDtpPG47KytpKWFbaV0uY2FsbChyKX0ocixjLHRoaXMpO2JyZWFrO2Nhc2UgMjohZnVuY3Rpb24odCxlLHIsbil7aWYoZSl0LmNhbGwocixuKTtlbHNlIGZvcih2YXIgYT10Lmxlbmd0aCxpPXYodCxhKSxvPTA7bzxhOysrbylpW29dLmNhbGwocixuKX0ocixjLHRoaXMsYXJndW1lbnRzWzFdKTticmVhaztjYXNlIDM6IWZ1bmN0aW9uKHQsZSxyLG4sYSl7aWYoZSl0LmNhbGwocixuLGEpO2Vsc2UgZm9yKHZhciBpPXQubGVuZ3RoLG89dih0LGkpLHM9MDtzPGk7KytzKW9bc10uY2FsbChyLG4sYSl9KHIsYyx0aGlzLGFyZ3VtZW50c1sxXSxhcmd1bWVudHNbMl0pO2JyZWFrO2Nhc2UgNDohZnVuY3Rpb24odCxlLHIsbixhLGkpe2lmKGUpdC5jYWxsKHIsbixhLGkpO2Vsc2UgZm9yKHZhciBvPXQubGVuZ3RoLHM9dih0LG8pLGw9MDtsPG87KytsKXNbbF0uY2FsbChyLG4sYSxpKX0ocixjLHRoaXMsYXJndW1lbnRzWzFdLGFyZ3VtZW50c1syXSxhcmd1bWVudHNbM10pO2JyZWFrO2RlZmF1bHQ6Zm9yKGE9bmV3IEFycmF5KG4tMSksaT0xO2k8bjtpKyspYVtpLTFdPWFyZ3VtZW50c1tpXTshZnVuY3Rpb24odCxlLHIsbil7aWYoZSl0LmFwcGx5KHIsbik7ZWxzZSBmb3IodmFyIGE9dC5sZW5ndGgsaT12KHQsYSksbz0wO288YTsrK28paVtvXS5hcHBseShyLG4pfShyLGMsdGhpcyxhKX1yZXR1cm4hMH0sby5wcm90b3R5cGUuYWRkTGlzdGVuZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gaCh0aGlzLHQsZSwhMSl9LG8ucHJvdG90eXBlLm9uPW8ucHJvdG90eXBlLmFkZExpc3RlbmVyLG8ucHJvdG90eXBlLnByZXBlbmRMaXN0ZW5lcj1mdW5jdGlvbih0LGUpe3JldHVybiBoKHRoaXMsdCxlLCEwKX0sby5wcm90b3R5cGUub25jZT1mdW5jdGlvbih0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJyJsaXN0ZW5lciIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7cmV0dXJuIHRoaXMub24odCxwKHRoaXMsdCxlKSksdGhpc30sby5wcm90b3R5cGUucHJlcGVuZE9uY2VMaXN0ZW5lcj1mdW5jdGlvbih0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJyJsaXN0ZW5lciIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7cmV0dXJuIHRoaXMucHJlcGVuZExpc3RlbmVyKHQscCh0aGlzLHQsZSkpLHRoaXN9LG8ucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKHQsZSl7dmFyIHIsYSxpLG8scztpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdGVuZXIiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpO2lmKCEoYT10aGlzLl9ldmVudHMpKXJldHVybiB0aGlzO2lmKCEocj1hW3RdKSlyZXR1cm4gdGhpcztpZihyPT09ZXx8ci5saXN0ZW5lcj09PWUpMD09LS10aGlzLl9ldmVudHNDb3VudD90aGlzLl9ldmVudHM9bihudWxsKTooZGVsZXRlIGFbdF0sYS5yZW1vdmVMaXN0ZW5lciYmdGhpcy5lbWl0KCJyZW1vdmVMaXN0ZW5lciIsdCxyLmxpc3RlbmVyfHxlKSk7ZWxzZSBpZigiZnVuY3Rpb24iIT10eXBlb2Ygcil7Zm9yKGk9LTEsbz1yLmxlbmd0aC0xO28+PTA7by0tKWlmKHJbb109PT1lfHxyW29dLmxpc3RlbmVyPT09ZSl7cz1yW29dLmxpc3RlbmVyLGk9bzticmVha31pZihpPDApcmV0dXJuIHRoaXM7MD09PWk/ci5zaGlmdCgpOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPWUsbj1yKzEsYT10Lmxlbmd0aDtuPGE7cis9MSxuKz0xKXRbcl09dFtuXTt0LnBvcCgpfShyLGkpLDE9PT1yLmxlbmd0aCYmKGFbdF09clswXSksYS5yZW1vdmVMaXN0ZW5lciYmdGhpcy5lbWl0KCJyZW1vdmVMaXN0ZW5lciIsdCxzfHxlKX1yZXR1cm4gdGhpc30sby5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3ZhciBlLHIsaTtpZighKHI9dGhpcy5fZXZlbnRzKSlyZXR1cm4gdGhpcztpZighci5yZW1vdmVMaXN0ZW5lcilyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX2V2ZW50cz1uKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTApOnJbdF0mJigwPT0tLXRoaXMuX2V2ZW50c0NvdW50P3RoaXMuX2V2ZW50cz1uKG51bGwpOmRlbGV0ZSByW3RdKSx0aGlzO2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXt2YXIgbyxzPWEocik7Zm9yKGk9MDtpPHMubGVuZ3RoOysraSkicmVtb3ZlTGlzdGVuZXIiIT09KG89c1tpXSkmJnRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKG8pO3JldHVybiB0aGlzLnJlbW92ZUFsbExpc3RlbmVycygicmVtb3ZlTGlzdGVuZXIiKSx0aGlzLl9ldmVudHM9bihudWxsKSx0aGlzLl9ldmVudHNDb3VudD0wLHRoaXN9aWYoImZ1bmN0aW9uIj09dHlwZW9mKGU9clt0XSkpdGhpcy5yZW1vdmVMaXN0ZW5lcih0LGUpO2Vsc2UgaWYoZSlmb3IoaT1lLmxlbmd0aC0xO2k+PTA7aS0tKXRoaXMucmVtb3ZlTGlzdGVuZXIodCxlW2ldKTtyZXR1cm4gdGhpc30sby5wcm90b3R5cGUubGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3JldHVybiBkKHRoaXMsdCwhMCl9LG8ucHJvdG90eXBlLnJhd0xpc3RlbmVycz1mdW5jdGlvbih0KXtyZXR1cm4gZCh0aGlzLHQsITEpfSxvLmxpc3RlbmVyQ291bnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdC5saXN0ZW5lckNvdW50P3QubGlzdGVuZXJDb3VudChlKTpnLmNhbGwodCxlKX0sby5wcm90b3R5cGUubGlzdGVuZXJDb3VudD1nLG8ucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZXZlbnRzQ291bnQ+MD9SZWZsZWN0Lm93bktleXModGhpcy5fZXZlbnRzKTpbXX19LHt9XSwxMDc6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciBuPXQoImJhc2U2NC1qcyIpLGE9dCgiaWVlZTc1NCIpLGk9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbC5mb3I/U3ltYm9sLmZvcigibm9kZWpzLnV0aWwuaW5zcGVjdC5jdXN0b20iKTpudWxsO3IuQnVmZmVyPWUsci5TbG93QnVmZmVyPWZ1bmN0aW9uKHQpeyt0IT10JiYodD0wKTtyZXR1cm4gZS5hbGxvYygrdCl9LHIuSU5TUEVDVF9NQVhfQllURVM9NTA7dmFyIG89MjE0NzQ4MzY0NztmdW5jdGlvbiBzKHQpe2lmKHQ+byl0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlICInK3QrJyIgaXMgaW52YWxpZCBmb3Igb3B0aW9uICJzaXplIicpO3ZhciByPW5ldyBVaW50OEFycmF5KHQpO3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YocixlLnByb3RvdHlwZSkscn1mdW5jdGlvbiBlKHQsZSxyKXtpZigibnVtYmVyIj09dHlwZW9mIHQpe2lmKCJzdHJpbmciPT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgInN0cmluZyIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIHN0cmluZy4gUmVjZWl2ZWQgdHlwZSBudW1iZXInKTtyZXR1cm4gdSh0KX1yZXR1cm4gbCh0LGUscil9ZnVuY3Rpb24gbCh0LHIsbil7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBmdW5jdGlvbih0LHIpeyJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwocj0idXRmOCIpO2lmKCFlLmlzRW5jb2RpbmcocikpdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzogIityKTt2YXIgbj0wfHAodCxyKSxhPXMobiksaT1hLndyaXRlKHQscik7aSE9PW4mJihhPWEuc2xpY2UoMCxpKSk7cmV0dXJuIGF9KHQscik7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KHQpKXJldHVybiBoKHQpO2lmKG51bGw9PXQpdGhyb3cgbmV3IFR5cGVFcnJvcigiVGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIEFycmF5QnVmZmVyLCBBcnJheSwgb3IgQXJyYXktbGlrZSBPYmplY3QuIFJlY2VpdmVkIHR5cGUgIit0eXBlb2YgdCk7aWYoaih0LEFycmF5QnVmZmVyKXx8dCYmaih0LmJ1ZmZlcixBcnJheUJ1ZmZlcikpcmV0dXJuIGZ1bmN0aW9uKHQscixuKXtpZihyPDB8fHQuYnl0ZUxlbmd0aDxyKXRocm93IG5ldyBSYW5nZUVycm9yKCcib2Zmc2V0IiBpcyBvdXRzaWRlIG9mIGJ1ZmZlciBib3VuZHMnKTtpZih0LmJ5dGVMZW5ndGg8cisobnx8MCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJyJsZW5ndGgiIGlzIG91dHNpZGUgb2YgYnVmZmVyIGJvdW5kcycpO3ZhciBhO2E9dm9pZCAwPT09ciYmdm9pZCAwPT09bj9uZXcgVWludDhBcnJheSh0KTp2b2lkIDA9PT1uP25ldyBVaW50OEFycmF5KHQscik6bmV3IFVpbnQ4QXJyYXkodCxyLG4pO3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YoYSxlLnByb3RvdHlwZSksYX0odCxyLG4pO2lmKCJudW1iZXIiPT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgInZhbHVlIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBvZiB0eXBlIG51bWJlci4gUmVjZWl2ZWQgdHlwZSBudW1iZXInKTt2YXIgYT10LnZhbHVlT2YmJnQudmFsdWVPZigpO2lmKG51bGwhPWEmJmEhPT10KXJldHVybiBlLmZyb20oYSxyLG4pO3ZhciBpPWZ1bmN0aW9uKHQpe2lmKGUuaXNCdWZmZXIodCkpe3ZhciByPTB8Zih0Lmxlbmd0aCksbj1zKHIpO3JldHVybiAwPT09bi5sZW5ndGg/bjoodC5jb3B5KG4sMCwwLHIpLG4pfWlmKHZvaWQgMCE9PXQubGVuZ3RoKXJldHVybiJudW1iZXIiIT10eXBlb2YgdC5sZW5ndGh8fFYodC5sZW5ndGgpP3MoMCk6aCh0KTtpZigiQnVmZmVyIj09PXQudHlwZSYmQXJyYXkuaXNBcnJheSh0LmRhdGEpKXJldHVybiBoKHQuZGF0YSl9KHQpO2lmKGkpcmV0dXJuIGk7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJm51bGwhPVN5bWJvbC50b1ByaW1pdGl2ZSYmImZ1bmN0aW9uIj09dHlwZW9mIHRbU3ltYm9sLnRvUHJpbWl0aXZlXSlyZXR1cm4gZS5mcm9tKHRbU3ltYm9sLnRvUHJpbWl0aXZlXSgic3RyaW5nIikscixuKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBzdHJpbmcsIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEFycmF5LCBvciBBcnJheS1saWtlIE9iamVjdC4gUmVjZWl2ZWQgdHlwZSAiK3R5cGVvZiB0KX1mdW5jdGlvbiBjKHQpe2lmKCJudW1iZXIiIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCcic2l6ZSIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIG51bWJlcicpO2lmKHQ8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlICInK3QrJyIgaXMgaW52YWxpZCBmb3Igb3B0aW9uICJzaXplIicpfWZ1bmN0aW9uIHUodCl7cmV0dXJuIGModCkscyh0PDA/MDowfGYodCkpfWZ1bmN0aW9uIGgodCl7Zm9yKHZhciBlPXQubGVuZ3RoPDA/MDowfGYodC5sZW5ndGgpLHI9cyhlKSxuPTA7bjxlO24rPTEpcltuXT0yNTUmdFtuXTtyZXR1cm4gcn1mdW5jdGlvbiBmKHQpe2lmKHQ+PW8pdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkF0dGVtcHQgdG8gYWxsb2NhdGUgQnVmZmVyIGxhcmdlciB0aGFuIG1heGltdW0gc2l6ZTogMHgiK28udG9TdHJpbmcoMTYpKyIgYnl0ZXMiKTtyZXR1cm4gMHx0fWZ1bmN0aW9uIHAodCxyKXtpZihlLmlzQnVmZmVyKHQpKXJldHVybiB0Lmxlbmd0aDtpZihBcnJheUJ1ZmZlci5pc1ZpZXcodCl8fGoodCxBcnJheUJ1ZmZlcikpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlICJzdHJpbmciIGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIG9yIEFycmF5QnVmZmVyLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIHQpO3ZhciBuPXQubGVuZ3RoLGE9YXJndW1lbnRzLmxlbmd0aD4yJiYhMD09PWFyZ3VtZW50c1syXTtpZighYSYmMD09PW4pcmV0dXJuIDA7Zm9yKHZhciBpPSExOzspc3dpdGNoKHIpe2Nhc2UiYXNjaWkiOmNhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6cmV0dXJuIG47Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpyZXR1cm4gRih0KS5sZW5ndGg7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiAyKm47Y2FzZSJoZXgiOnJldHVybiBuPj4+MTtjYXNlImJhc2U2NCI6cmV0dXJuIEIodCkubGVuZ3RoO2RlZmF1bHQ6aWYoaSlyZXR1cm4gYT8tMTpGKHQpLmxlbmd0aDtyPSgiIityKS50b0xvd2VyQ2FzZSgpLGk9ITB9fWZ1bmN0aW9uIGQodCxlLHIpe3ZhciBuPXRbZV07dFtlXT10W3JdLHRbcl09bn1mdW5jdGlvbiBnKHQscixuLGEsaSl7aWYoMD09PXQubGVuZ3RoKXJldHVybi0xO2lmKCJzdHJpbmciPT10eXBlb2Ygbj8oYT1uLG49MCk6bj4yMTQ3NDgzNjQ3P249MjE0NzQ4MzY0NzpuPC0yMTQ3NDgzNjQ4JiYobj0tMjE0NzQ4MzY0OCksVihuPStuKSYmKG49aT8wOnQubGVuZ3RoLTEpLG48MCYmKG49dC5sZW5ndGgrbiksbj49dC5sZW5ndGgpe2lmKGkpcmV0dXJuLTE7bj10Lmxlbmd0aC0xfWVsc2UgaWYobjwwKXtpZighaSlyZXR1cm4tMTtuPTB9aWYoInN0cmluZyI9PXR5cGVvZiByJiYocj1lLmZyb20ocixhKSksZS5pc0J1ZmZlcihyKSlyZXR1cm4gMD09PXIubGVuZ3RoPy0xOnYodCxyLG4sYSxpKTtpZigibnVtYmVyIj09dHlwZW9mIHIpcmV0dXJuIHImPTI1NSwiZnVuY3Rpb24iPT10eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuaW5kZXhPZj9pP1VpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh0LHIsbik6VWludDhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh0LHIsbik6dih0LFtyXSxuLGEsaSk7dGhyb3cgbmV3IFR5cGVFcnJvcigidmFsIG11c3QgYmUgc3RyaW5nLCBudW1iZXIgb3IgQnVmZmVyIil9ZnVuY3Rpb24gdih0LGUscixuLGEpe3ZhciBpLG89MSxzPXQubGVuZ3RoLGw9ZS5sZW5ndGg7aWYodm9pZCAwIT09biYmKCJ1Y3MyIj09PShuPVN0cmluZyhuKS50b0xvd2VyQ2FzZSgpKXx8InVjcy0yIj09PW58fCJ1dGYxNmxlIj09PW58fCJ1dGYtMTZsZSI9PT1uKSl7aWYodC5sZW5ndGg8Mnx8ZS5sZW5ndGg8MilyZXR1cm4tMTtvPTIscy89MixsLz0yLHIvPTJ9ZnVuY3Rpb24gYyh0LGUpe3JldHVybiAxPT09bz90W2VdOnQucmVhZFVJbnQxNkJFKGUqbyl9aWYoYSl7dmFyIHU9LTE7Zm9yKGk9cjtpPHM7aSsrKWlmKGModCxpKT09PWMoZSwtMT09PXU/MDppLXUpKXtpZigtMT09PXUmJih1PWkpLGktdSsxPT09bClyZXR1cm4gdSpvfWVsc2UtMSE9PXUmJihpLT1pLXUpLHU9LTF9ZWxzZSBmb3IocitsPnMmJihyPXMtbCksaT1yO2k+PTA7aS0tKXtmb3IodmFyIGg9ITAsZj0wO2Y8bDtmKyspaWYoYyh0LGkrZikhPT1jKGUsZikpe2g9ITE7YnJlYWt9aWYoaClyZXR1cm4gaX1yZXR1cm4tMX1mdW5jdGlvbiBtKHQsZSxyLG4pe3I9TnVtYmVyKHIpfHwwO3ZhciBhPXQubGVuZ3RoLXI7bj8obj1OdW1iZXIobikpPmEmJihuPWEpOm49YTt2YXIgaT1lLmxlbmd0aDtuPmkvMiYmKG49aS8yKTtmb3IodmFyIG89MDtvPG47KytvKXt2YXIgcz1wYXJzZUludChlLnN1YnN0cigyKm8sMiksMTYpO2lmKFYocykpcmV0dXJuIG87dFtyK29dPXN9cmV0dXJuIG99ZnVuY3Rpb24geSh0LGUscixuKXtyZXR1cm4gTihGKGUsdC5sZW5ndGgtciksdCxyLG4pfWZ1bmN0aW9uIHgodCxlLHIsbil7cmV0dXJuIE4oZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLHI9MDtyPHQubGVuZ3RoOysrcillLnB1c2goMjU1JnQuY2hhckNvZGVBdChyKSk7cmV0dXJuIGV9KGUpLHQscixuKX1mdW5jdGlvbiBiKHQsZSxyLG4pe3JldHVybiB4KHQsZSxyLG4pfWZ1bmN0aW9uIF8odCxlLHIsbil7cmV0dXJuIE4oQihlKSx0LHIsbil9ZnVuY3Rpb24gdyh0LGUscixuKXtyZXR1cm4gTihmdW5jdGlvbih0LGUpe2Zvcih2YXIgcixuLGEsaT1bXSxvPTA7bzx0Lmxlbmd0aCYmISgoZS09Mik8MCk7KytvKXI9dC5jaGFyQ29kZUF0KG8pLG49cj4+OCxhPXIlMjU2LGkucHVzaChhKSxpLnB1c2gobik7cmV0dXJuIGl9KGUsdC5sZW5ndGgtciksdCxyLG4pfWZ1bmN0aW9uIGsodCxlLHIpe3JldHVybiAwPT09ZSYmcj09PXQubGVuZ3RoP24uZnJvbUJ5dGVBcnJheSh0KTpuLmZyb21CeXRlQXJyYXkodC5zbGljZShlLHIpKX1mdW5jdGlvbiBUKHQsZSxyKXtyPU1hdGgubWluKHQubGVuZ3RoLHIpO2Zvcih2YXIgbj1bXSxhPWU7YTxyOyl7dmFyIGksbyxzLGwsYz10W2FdLHU9bnVsbCxoPWM+MjM5PzQ6Yz4yMjM/MzpjPjE5MT8yOjE7aWYoYStoPD1yKXN3aXRjaChoKXtjYXNlIDE6YzwxMjgmJih1PWMpO2JyZWFrO2Nhc2UgMjoxMjg9PSgxOTImKGk9dFthKzFdKSkmJihsPSgzMSZjKTw8Nnw2MyZpKT4xMjcmJih1PWwpO2JyZWFrO2Nhc2UgMzppPXRbYSsxXSxvPXRbYSsyXSwxMjg9PSgxOTImaSkmJjEyOD09KDE5MiZvKSYmKGw9KDE1JmMpPDwxMnwoNjMmaSk8PDZ8NjMmbyk+MjA0NyYmKGw8NTUyOTZ8fGw+NTczNDMpJiYodT1sKTticmVhaztjYXNlIDQ6aT10W2ErMV0sbz10W2ErMl0scz10W2ErM10sMTI4PT0oMTkyJmkpJiYxMjg9PSgxOTImbykmJjEyOD09KDE5MiZzKSYmKGw9KDE1JmMpPDwxOHwoNjMmaSk8PDEyfCg2MyZvKTw8Nnw2MyZzKT42NTUzNSYmbDwxMTE0MTEyJiYodT1sKX1udWxsPT09dT8odT02NTUzMyxoPTEpOnU+NjU1MzUmJih1LT02NTUzNixuLnB1c2godT4+PjEwJjEwMjN8NTUyOTYpLHU9NTYzMjB8MTAyMyZ1KSxuLnB1c2godSksYSs9aH1yZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7aWYoZTw9TSlyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsdCk7dmFyIHI9IiIsbj0wO2Zvcig7bjxlOylyKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyx0LnNsaWNlKG4sbis9TSkpO3JldHVybiByfShuKX1yLmtNYXhMZW5ndGg9byxlLlRZUEVEX0FSUkFZX1NVUFBPUlQ9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9bmV3IFVpbnQ4QXJyYXkoMSksZT17Zm9vOmZ1bmN0aW9uKCl7cmV0dXJuIDQyfX07cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZihlLFVpbnQ4QXJyYXkucHJvdG90eXBlKSxPYmplY3Quc2V0UHJvdG90eXBlT2YodCxlKSw0Mj09PXQuZm9vKCl9Y2F0Y2godCl7cmV0dXJuITF9fSgpLGUuVFlQRURfQVJSQVlfU1VQUE9SVHx8InVuZGVmaW5lZCI9PXR5cGVvZiBjb25zb2xlfHwiZnVuY3Rpb24iIT10eXBlb2YgY29uc29sZS5lcnJvcnx8Y29uc29sZS5lcnJvcigiVGhpcyBicm93c2VyIGxhY2tzIHR5cGVkIGFycmF5IChVaW50OEFycmF5KSBzdXBwb3J0IHdoaWNoIGlzIHJlcXVpcmVkIGJ5IGBidWZmZXJgIHY1LnguIFVzZSBgYnVmZmVyYCB2NC54IGlmIHlvdSByZXF1aXJlIG9sZCBicm93c2VyIHN1cHBvcnQuIiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJwYXJlbnQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe2lmKGUuaXNCdWZmZXIodGhpcykpcmV0dXJuIHRoaXMuYnVmZmVyfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwib2Zmc2V0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtpZihlLmlzQnVmZmVyKHRoaXMpKXJldHVybiB0aGlzLmJ5dGVPZmZzZXR9fSksInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJm51bGwhPVN5bWJvbC5zcGVjaWVzJiZlW1N5bWJvbC5zcGVjaWVzXT09PWUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC5zcGVjaWVzLHt2YWx1ZTpudWxsLGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiExfSksZS5wb29sU2l6ZT04MTkyLGUuZnJvbT1mdW5jdGlvbih0LGUscil7cmV0dXJuIGwodCxlLHIpfSxPYmplY3Quc2V0UHJvdG90eXBlT2YoZS5wcm90b3R5cGUsVWludDhBcnJheS5wcm90b3R5cGUpLE9iamVjdC5zZXRQcm90b3R5cGVPZihlLFVpbnQ4QXJyYXkpLGUuYWxsb2M9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBmdW5jdGlvbih0LGUscil7cmV0dXJuIGModCksdDw9MD9zKHQpOnZvaWQgMCE9PWU/InN0cmluZyI9PXR5cGVvZiByP3ModCkuZmlsbChlLHIpOnModCkuZmlsbChlKTpzKHQpfSh0LGUscil9LGUuYWxsb2NVbnNhZmU9ZnVuY3Rpb24odCl7cmV0dXJuIHUodCl9LGUuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKHQpe3JldHVybiB1KHQpfSxlLmlzQnVmZmVyPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT10JiYhMD09PXQuX2lzQnVmZmVyJiZ0IT09ZS5wcm90b3R5cGV9LGUuY29tcGFyZT1mdW5jdGlvbih0LHIpe2lmKGoodCxVaW50OEFycmF5KSYmKHQ9ZS5mcm9tKHQsdC5vZmZzZXQsdC5ieXRlTGVuZ3RoKSksaihyLFVpbnQ4QXJyYXkpJiYocj1lLmZyb20ocixyLm9mZnNldCxyLmJ5dGVMZW5ndGgpKSwhZS5pc0J1ZmZlcih0KXx8IWUuaXNCdWZmZXIocikpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlICJidWYxIiwgImJ1ZjIiIGFyZ3VtZW50cyBtdXN0IGJlIG9uZSBvZiB0eXBlIEJ1ZmZlciBvciBVaW50OEFycmF5Jyk7aWYodD09PXIpcmV0dXJuIDA7Zm9yKHZhciBuPXQubGVuZ3RoLGE9ci5sZW5ndGgsaT0wLG89TWF0aC5taW4obixhKTtpPG87KytpKWlmKHRbaV0hPT1yW2ldKXtuPXRbaV0sYT1yW2ldO2JyZWFrfXJldHVybiBuPGE/LTE6YTxuPzE6MH0sZS5pc0VuY29kaW5nPWZ1bmN0aW9uKHQpe3N3aXRjaChTdHJpbmcodCkudG9Mb3dlckNhc2UoKSl7Y2FzZSJoZXgiOmNhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6Y2FzZSJhc2NpaSI6Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpjYXNlImJhc2U2NCI6Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fSxlLmNvbmNhdD1mdW5jdGlvbih0LHIpe2lmKCFBcnJheS5pc0FycmF5KHQpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJsaXN0IiBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIEJ1ZmZlcnMnKTtpZigwPT09dC5sZW5ndGgpcmV0dXJuIGUuYWxsb2MoMCk7dmFyIG47aWYodm9pZCAwPT09cilmb3Iocj0wLG49MDtuPHQubGVuZ3RoOysrbilyKz10W25dLmxlbmd0aDt2YXIgYT1lLmFsbG9jVW5zYWZlKHIpLGk9MDtmb3Iobj0wO248dC5sZW5ndGg7KytuKXt2YXIgbz10W25dO2lmKGoobyxVaW50OEFycmF5KSYmKG89ZS5mcm9tKG8pKSwhZS5pc0J1ZmZlcihvKSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7by5jb3B5KGEsaSksaSs9by5sZW5ndGh9cmV0dXJuIGF9LGUuYnl0ZUxlbmd0aD1wLGUucHJvdG90eXBlLl9pc0J1ZmZlcj0hMCxlLnByb3RvdHlwZS5zd2FwMTY9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxlbmd0aDtpZih0JTIhPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi1iaXRzIik7Zm9yKHZhciBlPTA7ZTx0O2UrPTIpZCh0aGlzLGUsZSsxKTtyZXR1cm4gdGhpc30sZS5wcm90b3R5cGUuc3dhcDMyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5sZW5ndGg7aWYodCU0IT0wKXRocm93IG5ldyBSYW5nZUVycm9yKCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzItYml0cyIpO2Zvcih2YXIgZT0wO2U8dDtlKz00KWQodGhpcyxlLGUrMyksZCh0aGlzLGUrMSxlKzIpO3JldHVybiB0aGlzfSxlLnByb3RvdHlwZS5zd2FwNjQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxlbmd0aDtpZih0JTghPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA2NC1iaXRzIik7Zm9yKHZhciBlPTA7ZTx0O2UrPTgpZCh0aGlzLGUsZSs3KSxkKHRoaXMsZSsxLGUrNiksZCh0aGlzLGUrMixlKzUpLGQodGhpcyxlKzMsZSs0KTtyZXR1cm4gdGhpc30sZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxlbmd0aDtyZXR1cm4gMD09PXQ/IiI6MD09PWFyZ3VtZW50cy5sZW5ndGg/VCh0aGlzLDAsdCk6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPSExO2lmKCh2b2lkIDA9PT1lfHxlPDApJiYoZT0wKSxlPnRoaXMubGVuZ3RoKXJldHVybiIiO2lmKCh2b2lkIDA9PT1yfHxyPnRoaXMubGVuZ3RoKSYmKHI9dGhpcy5sZW5ndGgpLHI8PTApcmV0dXJuIiI7aWYoKHI+Pj49MCk8PShlPj4+PTApKXJldHVybiIiO2Zvcih0fHwodD0idXRmOCIpOzspc3dpdGNoKHQpe2Nhc2UiaGV4IjpyZXR1cm4gRSh0aGlzLGUscik7Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpyZXR1cm4gVCh0aGlzLGUscik7Y2FzZSJhc2NpaSI6cmV0dXJuIEEodGhpcyxlLHIpO2Nhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6cmV0dXJuIFModGhpcyxlLHIpO2Nhc2UiYmFzZTY0IjpyZXR1cm4gayh0aGlzLGUscik7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiBMKHRoaXMsZSxyKTtkZWZhdWx0OmlmKG4pdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzogIit0KTt0PSh0KyIiKS50b0xvd2VyQ2FzZSgpLG49ITB9fS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nPWUucHJvdG90eXBlLnRvU3RyaW5nLGUucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtpZighZS5pc0J1ZmZlcih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIik7cmV0dXJuIHRoaXM9PT10fHwwPT09ZS5jb21wYXJlKHRoaXMsdCl9LGUucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXt2YXIgdD0iIixlPXIuSU5TUEVDVF9NQVhfQllURVM7cmV0dXJuIHQ9dGhpcy50b1N0cmluZygiaGV4IiwwLGUpLnJlcGxhY2UoLyguezJ9KS9nLCIkMSAiKS50cmltKCksdGhpcy5sZW5ndGg+ZSYmKHQrPSIgLi4uICIpLCI8QnVmZmVyICIrdCsiPiJ9LGkmJihlLnByb3RvdHlwZVtpXT1lLnByb3RvdHlwZS5pbnNwZWN0KSxlLnByb3RvdHlwZS5jb21wYXJlPWZ1bmN0aW9uKHQscixuLGEsaSl7aWYoaih0LFVpbnQ4QXJyYXkpJiYodD1lLmZyb20odCx0Lm9mZnNldCx0LmJ5dGVMZW5ndGgpKSwhZS5pc0J1ZmZlcih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgInRhcmdldCIgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBCdWZmZXIgb3IgVWludDhBcnJheS4gUmVjZWl2ZWQgdHlwZSAnK3R5cGVvZiB0KTtpZih2b2lkIDA9PT1yJiYocj0wKSx2b2lkIDA9PT1uJiYobj10P3QubGVuZ3RoOjApLHZvaWQgMD09PWEmJihhPTApLHZvaWQgMD09PWkmJihpPXRoaXMubGVuZ3RoKSxyPDB8fG4+dC5sZW5ndGh8fGE8MHx8aT50aGlzLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigib3V0IG9mIHJhbmdlIGluZGV4Iik7aWYoYT49aSYmcj49bilyZXR1cm4gMDtpZihhPj1pKXJldHVybi0xO2lmKHI+PW4pcmV0dXJuIDE7aWYodGhpcz09PXQpcmV0dXJuIDA7Zm9yKHZhciBvPShpPj4+PTApLShhPj4+PTApLHM9KG4+Pj49MCktKHI+Pj49MCksbD1NYXRoLm1pbihvLHMpLGM9dGhpcy5zbGljZShhLGkpLHU9dC5zbGljZShyLG4pLGg9MDtoPGw7KytoKWlmKGNbaF0hPT11W2hdKXtvPWNbaF0scz11W2hdO2JyZWFrfXJldHVybiBvPHM/LTE6czxvPzE6MH0sZS5wcm90b3R5cGUuaW5jbHVkZXM9ZnVuY3Rpb24odCxlLHIpe3JldHVybi0xIT09dGhpcy5pbmRleE9mKHQsZSxyKX0sZS5wcm90b3R5cGUuaW5kZXhPZj1mdW5jdGlvbih0LGUscil7cmV0dXJuIGcodGhpcyx0LGUsciwhMCl9LGUucHJvdG90eXBlLmxhc3RJbmRleE9mPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZyh0aGlzLHQsZSxyLCExKX0sZS5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCxlLHIsbil7aWYodm9pZCAwPT09ZSluPSJ1dGY4IixyPXRoaXMubGVuZ3RoLGU9MDtlbHNlIGlmKHZvaWQgMD09PXImJiJzdHJpbmciPT10eXBlb2YgZSluPWUscj10aGlzLmxlbmd0aCxlPTA7ZWxzZXtpZighaXNGaW5pdGUoZSkpdGhyb3cgbmV3IEVycm9yKCJCdWZmZXIud3JpdGUoc3RyaW5nLCBlbmNvZGluZywgb2Zmc2V0WywgbGVuZ3RoXSkgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCIpO2U+Pj49MCxpc0Zpbml0ZShyKT8ocj4+Pj0wLHZvaWQgMD09PW4mJihuPSJ1dGY4IikpOihuPXIscj12b2lkIDApfXZhciBhPXRoaXMubGVuZ3RoLWU7aWYoKHZvaWQgMD09PXJ8fHI+YSkmJihyPWEpLHQubGVuZ3RoPjAmJihyPDB8fGU8MCl8fGU+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkF0dGVtcHQgdG8gd3JpdGUgb3V0c2lkZSBidWZmZXIgYm91bmRzIik7bnx8KG49InV0ZjgiKTtmb3IodmFyIGk9ITE7Oylzd2l0Y2gobil7Y2FzZSJoZXgiOnJldHVybiBtKHRoaXMsdCxlLHIpO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6cmV0dXJuIHkodGhpcyx0LGUscik7Y2FzZSJhc2NpaSI6cmV0dXJuIHgodGhpcyx0LGUscik7Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gYih0aGlzLHQsZSxyKTtjYXNlImJhc2U2NCI6cmV0dXJuIF8odGhpcyx0LGUscik7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiB3KHRoaXMsdCxlLHIpO2RlZmF1bHQ6aWYoaSl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK24pO249KCIiK24pLnRvTG93ZXJDYXNlKCksaT0hMH19LGUucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnt0eXBlOiJCdWZmZXIiLGRhdGE6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5fYXJyfHx0aGlzLDApfX07dmFyIE09NDA5NjtmdW5jdGlvbiBBKHQsZSxyKXt2YXIgbj0iIjtyPU1hdGgubWluKHQubGVuZ3RoLHIpO2Zvcih2YXIgYT1lO2E8cjsrK2Epbis9U3RyaW5nLmZyb21DaGFyQ29kZSgxMjcmdFthXSk7cmV0dXJuIG59ZnVuY3Rpb24gUyh0LGUscil7dmFyIG49IiI7cj1NYXRoLm1pbih0Lmxlbmd0aCxyKTtmb3IodmFyIGE9ZTthPHI7KythKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUodFthXSk7cmV0dXJuIG59ZnVuY3Rpb24gRSh0LGUscil7dmFyIG49dC5sZW5ndGg7KCFlfHxlPDApJiYoZT0wKSwoIXJ8fHI8MHx8cj5uKSYmKHI9bik7Zm9yKHZhciBhPSIiLGk9ZTtpPHI7KytpKWErPVIodFtpXSk7cmV0dXJuIGF9ZnVuY3Rpb24gTCh0LGUscil7Zm9yKHZhciBuPXQuc2xpY2UoZSxyKSxhPSIiLGk9MDtpPG4ubGVuZ3RoO2krPTIpYSs9U3RyaW5nLmZyb21DaGFyQ29kZShuW2ldKzI1NipuW2krMV0pO3JldHVybiBhfWZ1bmN0aW9uIEModCxlLHIpe2lmKHQlMSE9MHx8dDwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJvZmZzZXQgaXMgbm90IHVpbnQiKTtpZih0K2U+cil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiVHJ5aW5nIHRvIGFjY2VzcyBiZXlvbmQgYnVmZmVyIGxlbmd0aCIpfWZ1bmN0aW9uIFAodCxyLG4sYSxpLG8pe2lmKCFlLmlzQnVmZmVyKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJidWZmZXIiIGFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIgaW5zdGFuY2UnKTtpZihyPml8fHI8byl0aHJvdyBuZXcgUmFuZ2VFcnJvcignInZhbHVlIiBhcmd1bWVudCBpcyBvdXQgb2YgYm91bmRzJyk7aWYobithPnQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbmRleCBvdXQgb2YgcmFuZ2UiKX1mdW5jdGlvbiBPKHQsZSxyLG4sYSxpKXtpZihyK24+dC5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkluZGV4IG91dCBvZiByYW5nZSIpO2lmKHI8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5kZXggb3V0IG9mIHJhbmdlIil9ZnVuY3Rpb24geih0LGUscixuLGkpe3JldHVybiBlPStlLHI+Pj49MCxpfHxPKHQsMCxyLDQpLGEud3JpdGUodCxlLHIsbiwyMyw0KSxyKzR9ZnVuY3Rpb24gSSh0LGUscixuLGkpe3JldHVybiBlPStlLHI+Pj49MCxpfHxPKHQsMCxyLDgpLGEud3JpdGUodCxlLHIsbiw1Miw4KSxyKzh9ZS5wcm90b3R5cGUuc2xpY2U9ZnVuY3Rpb24odCxyKXt2YXIgbj10aGlzLmxlbmd0aDsodD1+fnQpPDA/KHQrPW4pPDAmJih0PTApOnQ+biYmKHQ9biksKHI9dm9pZCAwPT09cj9uOn5+cik8MD8ocis9bik8MCYmKHI9MCk6cj5uJiYocj1uKSxyPHQmJihyPXQpO3ZhciBhPXRoaXMuc3ViYXJyYXkodCxyKTtyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKGEsZS5wcm90b3R5cGUpLGF9LGUucHJvdG90eXBlLnJlYWRVSW50TEU9ZnVuY3Rpb24odCxlLHIpe3Q+Pj49MCxlPj4+PTAscnx8Qyh0LGUsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10aGlzW3RdLGE9MSxpPTA7KytpPGUmJihhKj0yNTYpOyluKz10aGlzW3QraV0qYTtyZXR1cm4gbn0sZS5wcm90b3R5cGUucmVhZFVJbnRCRT1mdW5jdGlvbih0LGUscil7dD4+Pj0wLGU+Pj49MCxyfHxDKHQsZSx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXRoaXNbdCstLWVdLGE9MTtlPjAmJihhKj0yNTYpOyluKz10aGlzW3QrLS1lXSphO3JldHVybiBufSxlLnByb3RvdHlwZS5yZWFkVUludDg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD4+Pj0wLGV8fEModCwxLHRoaXMubGVuZ3RoKSx0aGlzW3RdfSxlLnByb3RvdHlwZS5yZWFkVUludDE2TEU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD4+Pj0wLGV8fEModCwyLHRoaXMubGVuZ3RoKSx0aGlzW3RdfHRoaXNbdCsxXTw8OH0sZS5wcm90b3R5cGUucmVhZFVJbnQxNkJFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ+Pj49MCxlfHxDKHQsMix0aGlzLmxlbmd0aCksdGhpc1t0XTw8OHx0aGlzW3QrMV19LGUucHJvdG90eXBlLnJlYWRVSW50MzJMRT1mdW5jdGlvbih0LGUpe3JldHVybiB0Pj4+PTAsZXx8Qyh0LDQsdGhpcy5sZW5ndGgpLCh0aGlzW3RdfHRoaXNbdCsxXTw8OHx0aGlzW3QrMl08PDE2KSsxNjc3NzIxNip0aGlzW3QrM119LGUucHJvdG90eXBlLnJlYWRVSW50MzJCRT1mdW5jdGlvbih0LGUpe3JldHVybiB0Pj4+PTAsZXx8Qyh0LDQsdGhpcy5sZW5ndGgpLDE2Nzc3MjE2KnRoaXNbdF0rKHRoaXNbdCsxXTw8MTZ8dGhpc1t0KzJdPDw4fHRoaXNbdCszXSl9LGUucHJvdG90eXBlLnJlYWRJbnRMRT1mdW5jdGlvbih0LGUscil7dD4+Pj0wLGU+Pj49MCxyfHxDKHQsZSx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXRoaXNbdF0sYT0xLGk9MDsrK2k8ZSYmKGEqPTI1Nik7KW4rPXRoaXNbdCtpXSphO3JldHVybiBuPj0oYSo9MTI4KSYmKG4tPU1hdGgucG93KDIsOCplKSksbn0sZS5wcm90b3R5cGUucmVhZEludEJFPWZ1bmN0aW9uKHQsZSxyKXt0Pj4+PTAsZT4+Pj0wLHJ8fEModCxlLHRoaXMubGVuZ3RoKTtmb3IodmFyIG49ZSxhPTEsaT10aGlzW3QrLS1uXTtuPjAmJihhKj0yNTYpOylpKz10aGlzW3QrLS1uXSphO3JldHVybiBpPj0oYSo9MTI4KSYmKGktPU1hdGgucG93KDIsOCplKSksaX0sZS5wcm90b3R5cGUucmVhZEludDg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD4+Pj0wLGV8fEModCwxLHRoaXMubGVuZ3RoKSwxMjgmdGhpc1t0XT8tMSooMjU1LXRoaXNbdF0rMSk6dGhpc1t0XX0sZS5wcm90b3R5cGUucmVhZEludDE2TEU9ZnVuY3Rpb24odCxlKXt0Pj4+PTAsZXx8Qyh0LDIsdGhpcy5sZW5ndGgpO3ZhciByPXRoaXNbdF18dGhpc1t0KzFdPDw4O3JldHVybiAzMjc2OCZyPzQyOTQ5MDE3NjB8cjpyfSxlLnByb3RvdHlwZS5yZWFkSW50MTZCRT1mdW5jdGlvbih0LGUpe3Q+Pj49MCxlfHxDKHQsMix0aGlzLmxlbmd0aCk7dmFyIHI9dGhpc1t0KzFdfHRoaXNbdF08PDg7cmV0dXJuIDMyNzY4JnI/NDI5NDkwMTc2MHxyOnJ9LGUucHJvdG90eXBlLnJlYWRJbnQzMkxFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ+Pj49MCxlfHxDKHQsNCx0aGlzLmxlbmd0aCksdGhpc1t0XXx0aGlzW3QrMV08PDh8dGhpc1t0KzJdPDwxNnx0aGlzW3QrM108PDI0fSxlLnByb3RvdHlwZS5yZWFkSW50MzJCRT1mdW5jdGlvbih0LGUpe3JldHVybiB0Pj4+PTAsZXx8Qyh0LDQsdGhpcy5sZW5ndGgpLHRoaXNbdF08PDI0fHRoaXNbdCsxXTw8MTZ8dGhpc1t0KzJdPDw4fHRoaXNbdCszXX0sZS5wcm90b3R5cGUucmVhZEZsb2F0TEU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD4+Pj0wLGV8fEModCw0LHRoaXMubGVuZ3RoKSxhLnJlYWQodGhpcyx0LCEwLDIzLDQpfSxlLnByb3RvdHlwZS5yZWFkRmxvYXRCRT1mdW5jdGlvbih0LGUpe3JldHVybiB0Pj4+PTAsZXx8Qyh0LDQsdGhpcy5sZW5ndGgpLGEucmVhZCh0aGlzLHQsITEsMjMsNCl9LGUucHJvdG90eXBlLnJlYWREb3VibGVMRT1mdW5jdGlvbih0LGUpe3JldHVybiB0Pj4+PTAsZXx8Qyh0LDgsdGhpcy5sZW5ndGgpLGEucmVhZCh0aGlzLHQsITAsNTIsOCl9LGUucHJvdG90eXBlLnJlYWREb3VibGVCRT1mdW5jdGlvbih0LGUpe3JldHVybiB0Pj4+PTAsZXx8Qyh0LDgsdGhpcy5sZW5ndGgpLGEucmVhZCh0aGlzLHQsITEsNTIsOCl9LGUucHJvdG90eXBlLndyaXRlVUludExFPWZ1bmN0aW9uKHQsZSxyLG4peyh0PSt0LGU+Pj49MCxyPj4+PTAsbil8fFAodGhpcyx0LGUscixNYXRoLnBvdygyLDgqciktMSwwKTt2YXIgYT0xLGk9MDtmb3IodGhpc1tlXT0yNTUmdDsrK2k8ciYmKGEqPTI1Nik7KXRoaXNbZStpXT10L2EmMjU1O3JldHVybiBlK3J9LGUucHJvdG90eXBlLndyaXRlVUludEJFPWZ1bmN0aW9uKHQsZSxyLG4peyh0PSt0LGU+Pj49MCxyPj4+PTAsbil8fFAodGhpcyx0LGUscixNYXRoLnBvdygyLDgqciktMSwwKTt2YXIgYT1yLTEsaT0xO2Zvcih0aGlzW2UrYV09MjU1JnQ7LS1hPj0wJiYoaSo9MjU2KTspdGhpc1tlK2FdPXQvaSYyNTU7cmV0dXJuIGUrcn0sZS5wcm90b3R5cGUud3JpdGVVSW50OD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZT4+Pj0wLHJ8fFAodGhpcyx0LGUsMSwyNTUsMCksdGhpc1tlXT0yNTUmdCxlKzF9LGUucHJvdG90eXBlLndyaXRlVUludDE2TEU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PSt0LGU+Pj49MCxyfHxQKHRoaXMsdCxlLDIsNjU1MzUsMCksdGhpc1tlXT0yNTUmdCx0aGlzW2UrMV09dD4+PjgsZSsyfSxlLnByb3RvdHlwZS53cml0ZVVJbnQxNkJFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdD0rdCxlPj4+PTAscnx8UCh0aGlzLHQsZSwyLDY1NTM1LDApLHRoaXNbZV09dD4+PjgsdGhpc1tlKzFdPTI1NSZ0LGUrMn0sZS5wcm90b3R5cGUud3JpdGVVSW50MzJMRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZT4+Pj0wLHJ8fFAodGhpcyx0LGUsNCw0Mjk0OTY3Mjk1LDApLHRoaXNbZSszXT10Pj4+MjQsdGhpc1tlKzJdPXQ+Pj4xNix0aGlzW2UrMV09dD4+PjgsdGhpc1tlXT0yNTUmdCxlKzR9LGUucHJvdG90eXBlLndyaXRlVUludDMyQkU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PSt0LGU+Pj49MCxyfHxQKHRoaXMsdCxlLDQsNDI5NDk2NzI5NSwwKSx0aGlzW2VdPXQ+Pj4yNCx0aGlzW2UrMV09dD4+PjE2LHRoaXNbZSsyXT10Pj4+OCx0aGlzW2UrM109MjU1JnQsZSs0fSxlLnByb3RvdHlwZS53cml0ZUludExFPWZ1bmN0aW9uKHQsZSxyLG4pe2lmKHQ9K3QsZT4+Pj0wLCFuKXt2YXIgYT1NYXRoLnBvdygyLDgqci0xKTtQKHRoaXMsdCxlLHIsYS0xLC1hKX12YXIgaT0wLG89MSxzPTA7Zm9yKHRoaXNbZV09MjU1JnQ7KytpPHImJihvKj0yNTYpOyl0PDAmJjA9PT1zJiYwIT09dGhpc1tlK2ktMV0mJihzPTEpLHRoaXNbZStpXT0odC9vPj4wKS1zJjI1NTtyZXR1cm4gZStyfSxlLnByb3RvdHlwZS53cml0ZUludEJFPWZ1bmN0aW9uKHQsZSxyLG4pe2lmKHQ9K3QsZT4+Pj0wLCFuKXt2YXIgYT1NYXRoLnBvdygyLDgqci0xKTtQKHRoaXMsdCxlLHIsYS0xLC1hKX12YXIgaT1yLTEsbz0xLHM9MDtmb3IodGhpc1tlK2ldPTI1NSZ0Oy0taT49MCYmKG8qPTI1Nik7KXQ8MCYmMD09PXMmJjAhPT10aGlzW2UraSsxXSYmKHM9MSksdGhpc1tlK2ldPSh0L28+PjApLXMmMjU1O3JldHVybiBlK3J9LGUucHJvdG90eXBlLndyaXRlSW50OD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZT4+Pj0wLHJ8fFAodGhpcyx0LGUsMSwxMjcsLTEyOCksdDwwJiYodD0yNTUrdCsxKSx0aGlzW2VdPTI1NSZ0LGUrMX0sZS5wcm90b3R5cGUud3JpdGVJbnQxNkxFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdD0rdCxlPj4+PTAscnx8UCh0aGlzLHQsZSwyLDMyNzY3LC0zMjc2OCksdGhpc1tlXT0yNTUmdCx0aGlzW2UrMV09dD4+PjgsZSsyfSxlLnByb3RvdHlwZS53cml0ZUludDE2QkU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PSt0LGU+Pj49MCxyfHxQKHRoaXMsdCxlLDIsMzI3NjcsLTMyNzY4KSx0aGlzW2VdPXQ+Pj44LHRoaXNbZSsxXT0yNTUmdCxlKzJ9LGUucHJvdG90eXBlLndyaXRlSW50MzJMRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZT4+Pj0wLHJ8fFAodGhpcyx0LGUsNCwyMTQ3NDgzNjQ3LC0yMTQ3NDgzNjQ4KSx0aGlzW2VdPTI1NSZ0LHRoaXNbZSsxXT10Pj4+OCx0aGlzW2UrMl09dD4+PjE2LHRoaXNbZSszXT10Pj4+MjQsZSs0fSxlLnByb3RvdHlwZS53cml0ZUludDMyQkU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PSt0LGU+Pj49MCxyfHxQKHRoaXMsdCxlLDQsMjE0NzQ4MzY0NywtMjE0NzQ4MzY0OCksdDwwJiYodD00Mjk0OTY3Mjk1K3QrMSksdGhpc1tlXT10Pj4+MjQsdGhpc1tlKzFdPXQ+Pj4xNix0aGlzW2UrMl09dD4+PjgsdGhpc1tlKzNdPTI1NSZ0LGUrNH0sZS5wcm90b3R5cGUud3JpdGVGbG9hdExFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4geih0aGlzLHQsZSwhMCxyKX0sZS5wcm90b3R5cGUud3JpdGVGbG9hdEJFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4geih0aGlzLHQsZSwhMSxyKX0sZS5wcm90b3R5cGUud3JpdGVEb3VibGVMRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIEkodGhpcyx0LGUsITAscil9LGUucHJvdG90eXBlLndyaXRlRG91YmxlQkU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBJKHRoaXMsdCxlLCExLHIpfSxlLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKHQscixuLGEpe2lmKCFlLmlzQnVmZmVyKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoImFyZ3VtZW50IHNob3VsZCBiZSBhIEJ1ZmZlciIpO2lmKG58fChuPTApLGF8fDA9PT1hfHwoYT10aGlzLmxlbmd0aCkscj49dC5sZW5ndGgmJihyPXQubGVuZ3RoKSxyfHwocj0wKSxhPjAmJmE8biYmKGE9biksYT09PW4pcmV0dXJuIDA7aWYoMD09PXQubGVuZ3RofHwwPT09dGhpcy5sZW5ndGgpcmV0dXJuIDA7aWYocjwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJ0YXJnZXRTdGFydCBvdXQgb2YgYm91bmRzIik7aWYobjwwfHxuPj10aGlzLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5kZXggb3V0IG9mIHJhbmdlIik7aWYoYTwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VFbmQgb3V0IG9mIGJvdW5kcyIpO2E+dGhpcy5sZW5ndGgmJihhPXRoaXMubGVuZ3RoKSx0Lmxlbmd0aC1yPGEtbiYmKGE9dC5sZW5ndGgtcituKTt2YXIgaT1hLW47aWYodGhpcz09PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluKXRoaXMuY29weVdpdGhpbihyLG4sYSk7ZWxzZSBpZih0aGlzPT09dCYmbjxyJiZyPGEpZm9yKHZhciBvPWktMTtvPj0wOy0tbyl0W28rcl09dGhpc1tvK25dO2Vsc2UgVWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwodCx0aGlzLnN1YmFycmF5KG4sYSkscik7cmV0dXJuIGl9LGUucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24odCxyLG4sYSl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtpZigic3RyaW5nIj09dHlwZW9mIHI/KGE9cixyPTAsbj10aGlzLmxlbmd0aCk6InN0cmluZyI9PXR5cGVvZiBuJiYoYT1uLG49dGhpcy5sZW5ndGgpLHZvaWQgMCE9PWEmJiJzdHJpbmciIT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJlbmNvZGluZyBtdXN0IGJlIGEgc3RyaW5nIik7aWYoInN0cmluZyI9PXR5cGVvZiBhJiYhZS5pc0VuY29kaW5nKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIrYSk7aWYoMT09PXQubGVuZ3RoKXt2YXIgaT10LmNoYXJDb2RlQXQoMCk7KCJ1dGY4Ij09PWEmJmk8MTI4fHwibGF0aW4xIj09PWEpJiYodD1pKX19ZWxzZSJudW1iZXIiPT10eXBlb2YgdD90Jj0yNTU6ImJvb2xlYW4iPT10eXBlb2YgdCYmKHQ9TnVtYmVyKHQpKTtpZihyPDB8fHRoaXMubGVuZ3RoPHJ8fHRoaXMubGVuZ3RoPG4pdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk91dCBvZiByYW5nZSBpbmRleCIpO2lmKG48PXIpcmV0dXJuIHRoaXM7dmFyIG87aWYocj4+Pj0wLG49dm9pZCAwPT09bj90aGlzLmxlbmd0aDpuPj4+MCx0fHwodD0wKSwibnVtYmVyIj09dHlwZW9mIHQpZm9yKG89cjtvPG47KytvKXRoaXNbb109dDtlbHNle3ZhciBzPWUuaXNCdWZmZXIodCk/dDplLmZyb20odCxhKSxsPXMubGVuZ3RoO2lmKDA9PT1sKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSB2YWx1ZSAiJyt0KyciIGlzIGludmFsaWQgZm9yIGFyZ3VtZW50ICJ2YWx1ZSInKTtmb3Iobz0wO288bi1yOysrbyl0aGlzW28rcl09c1tvJWxdfXJldHVybiB0aGlzfTt2YXIgRD0vW14rLzAtOUEtWmEtei1fXS9nO2Z1bmN0aW9uIFIodCl7cmV0dXJuIHQ8MTY/IjAiK3QudG9TdHJpbmcoMTYpOnQudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIEYodCxlKXt2YXIgcjtlPWV8fDEvMDtmb3IodmFyIG49dC5sZW5ndGgsYT1udWxsLGk9W10sbz0wO288bjsrK28pe2lmKChyPXQuY2hhckNvZGVBdChvKSk+NTUyOTUmJnI8NTczNDQpe2lmKCFhKXtpZihyPjU2MzE5KXsoZS09Myk+LTEmJmkucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9aWYobysxPT09bil7KGUtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfWE9cjtjb250aW51ZX1pZihyPDU2MzIwKXsoZS09Myk+LTEmJmkucHVzaCgyMzksMTkxLDE4OSksYT1yO2NvbnRpbnVlfXI9NjU1MzYrKGEtNTUyOTY8PDEwfHItNTYzMjApfWVsc2UgYSYmKGUtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpO2lmKGE9bnVsbCxyPDEyOCl7aWYoKGUtPTEpPDApYnJlYWs7aS5wdXNoKHIpfWVsc2UgaWYocjwyMDQ4KXtpZigoZS09Mik8MClicmVhaztpLnB1c2gocj4+NnwxOTIsNjMmcnwxMjgpfWVsc2UgaWYocjw2NTUzNil7aWYoKGUtPTMpPDApYnJlYWs7aS5wdXNoKHI+PjEyfDIyNCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9ZWxzZXtpZighKHI8MTExNDExMikpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGNvZGUgcG9pbnQiKTtpZigoZS09NCk8MClicmVhaztpLnB1c2gocj4+MTh8MjQwLHI+PjEyJjYzfDEyOCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9fXJldHVybiBpfWZ1bmN0aW9uIEIodCl7cmV0dXJuIG4udG9CeXRlQXJyYXkoZnVuY3Rpb24odCl7aWYoKHQ9KHQ9dC5zcGxpdCgiPSIpWzBdKS50cmltKCkucmVwbGFjZShELCIiKSkubGVuZ3RoPDIpcmV0dXJuIiI7Zm9yKDt0Lmxlbmd0aCU0IT0wOyl0Kz0iPSI7cmV0dXJuIHR9KHQpKX1mdW5jdGlvbiBOKHQsZSxyLG4pe2Zvcih2YXIgYT0wO2E8biYmIShhK3I+PWUubGVuZ3RofHxhPj10Lmxlbmd0aCk7KythKWVbYStyXT10W2FdO3JldHVybiBhfWZ1bmN0aW9uIGoodCxlKXtyZXR1cm4gdCBpbnN0YW5jZW9mIGV8fG51bGwhPXQmJm51bGwhPXQuY29uc3RydWN0b3ImJm51bGwhPXQuY29uc3RydWN0b3IubmFtZSYmdC5jb25zdHJ1Y3Rvci5uYW1lPT09ZS5uYW1lfWZ1bmN0aW9uIFYodCl7cmV0dXJuIHQhPXR9fSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHsiYmFzZTY0LWpzIjo3NixidWZmZXI6MTA3LGllZWU3NTQ6NDE0fV0sMTA4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vbGliL21vbm90b25lIiksYT10KCIuL2xpYi90cmlhbmd1bGF0aW9uIiksaT10KCIuL2xpYi9kZWxhdW5heSIpLG89dCgiLi9saWIvZmlsdGVyIik7ZnVuY3Rpb24gcyh0KXtyZXR1cm5bTWF0aC5taW4odFswXSx0WzFdKSxNYXRoLm1heCh0WzBdLHRbMV0pXX1mdW5jdGlvbiBsKHQsZSl7cmV0dXJuIHRbMF0tZVswXXx8dFsxXS1lWzFdfWZ1bmN0aW9uIGModCxlLHIpe3JldHVybiBlIGluIHQ/dFtlXTpyfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7QXJyYXkuaXNBcnJheShlKT8ocj1yfHx7fSxlPWV8fFtdKToocj1lfHx7fSxlPVtdKTt2YXIgdT0hIWMociwiZGVsYXVuYXkiLCEwKSxoPSEhYyhyLCJpbnRlcmlvciIsITApLGY9ISFjKHIsImV4dGVyaW9yIiwhMCkscD0hIWMociwiaW5maW5pdHkiLCExKTtpZighaCYmIWZ8fDA9PT10Lmxlbmd0aClyZXR1cm5bXTt2YXIgZD1uKHQsZSk7aWYodXx8aCE9PWZ8fHApe2Zvcih2YXIgZz1hKHQubGVuZ3RoLGZ1bmN0aW9uKHQpe3JldHVybiB0Lm1hcChzKS5zb3J0KGwpfShlKSksdj0wO3Y8ZC5sZW5ndGg7Kyt2KXt2YXIgbT1kW3ZdO2cuYWRkVHJpYW5nbGUobVswXSxtWzFdLG1bMl0pfXJldHVybiB1JiZpKHQsZyksZj9oP3A/byhnLDAscCk6Zy5jZWxscygpOm8oZywxLHApOm8oZywtMSl9cmV0dXJuIGR9fSx7Ii4vbGliL2RlbGF1bmF5IjoxMDksIi4vbGliL2ZpbHRlciI6MTEwLCIuL2xpYi9tb25vdG9uZSI6MTExLCIuL2xpYi90cmlhbmd1bGF0aW9uIjoxMTJ9XSwxMDk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgicm9idXN0LWluLXNwaGVyZSIpWzRdO3QoImJpbmFyeS1zZWFyY2gtYm91bmRzIik7ZnVuY3Rpb24gYSh0LGUscixhLGksbyl7dmFyIHM9ZS5vcHBvc2l0ZShhLGkpO2lmKCEoczwwKSl7aWYoaTxhKXt2YXIgbD1hO2E9aSxpPWwsbD1vLG89cyxzPWx9ZS5pc0NvbnN0cmFpbnQoYSxpKXx8bih0W2FdLHRbaV0sdFtvXSx0W3NdKTwwJiZyLnB1c2goYSxpKX19ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPVtdLGk9dC5sZW5ndGgsbz1lLnN0YXJzLHM9MDtzPGk7KytzKWZvcih2YXIgbD1vW3NdLGM9MTtjPGwubGVuZ3RoO2MrPTIpe3ZhciB1PWxbY107aWYoISh1PHMpJiYhZS5pc0NvbnN0cmFpbnQocyx1KSl7Zm9yKHZhciBoPWxbYy0xXSxmPS0xLHA9MTtwPGwubGVuZ3RoO3ArPTIpaWYobFtwLTFdPT09dSl7Zj1sW3BdO2JyZWFrfWY8MHx8bih0W3NdLHRbdV0sdFtoXSx0W2ZdKTwwJiZyLnB1c2gocyx1KX19Zm9yKDtyLmxlbmd0aD4wOyl7Zm9yKHZhciB1PXIucG9wKCkscz1yLnBvcCgpLGg9LTEsZj0tMSxsPW9bc10sZD0xO2Q8bC5sZW5ndGg7ZCs9Mil7dmFyIGc9bFtkLTFdLHY9bFtkXTtnPT09dT9mPXY6dj09PXUmJihoPWcpfWg8MHx8ZjwwfHwobih0W3NdLHRbdV0sdFtoXSx0W2ZdKT49MHx8KGUuZmxpcChzLHUpLGEodCxlLHIsaCxzLGYpLGEodCxlLHIscyxmLGgpLGEodCxlLHIsZix1LGgpLGEodCxlLHIsdSxoLGYpKSl9fX0seyJiaW5hcnktc2VhcmNoLWJvdW5kcyI6MTEzLCJyb2J1c3QtaW4tc3BoZXJlIjo1MDd9XSwxMTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG4sYT10KCJiaW5hcnktc2VhcmNoLWJvdW5kcyIpO2Z1bmN0aW9uIGkodCxlLHIsbixhLGksbyl7dGhpcy5jZWxscz10LHRoaXMubmVpZ2hib3I9ZSx0aGlzLmZsYWdzPW4sdGhpcy5jb25zdHJhaW50PXIsdGhpcy5hY3RpdmU9YSx0aGlzLm5leHQ9aSx0aGlzLmJvdW5kYXJ5PW99ZnVuY3Rpb24gbyh0LGUpe3JldHVybiB0WzBdLWVbMF18fHRbMV0tZVsxXXx8dFsyXS1lWzJdfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5jZWxscygpLG49ci5sZW5ndGgsYT0wO2E8bjsrK2Epe3ZhciBzPXJbYV0sbD1zWzBdLGM9c1sxXSx1PXNbMl07Yzx1P2M8bCYmKHNbMF09YyxzWzFdPXUsc1syXT1sKTp1PGwmJihzWzBdPXUsc1sxXT1sLHNbMl09Yyl9ci5zb3J0KG8pO2Zvcih2YXIgaD1uZXcgQXJyYXkobiksYT0wO2E8aC5sZW5ndGg7KythKWhbYV09MDt2YXIgZj1bXSxwPVtdLGQ9bmV3IEFycmF5KDMqbiksZz1uZXcgQXJyYXkoMypuKSx2PW51bGw7ZSYmKHY9W10pO2Zvcih2YXIgbT1uZXcgaShyLGQsZyxoLGYscCx2KSxhPTA7YTxuOysrYSlmb3IodmFyIHM9clthXSx5PTA7eTwzOysreSl7dmFyIGw9c1t5XSxjPXNbKHkrMSklM10seD1kWzMqYSt5XT1tLmxvY2F0ZShjLGwsdC5vcHBvc2l0ZShjLGwpKSxiPWdbMyphK3ldPXQuaXNDb25zdHJhaW50KGwsYyk7eDwwJiYoYj9wLnB1c2goYSk6KGYucHVzaChhKSxoW2FdPTEpLGUmJnYucHVzaChbYyxsLC0xXSkpfXJldHVybiBtfSh0LHIpO2lmKDA9PT1lKXJldHVybiByP24uY2VsbHMuY29uY2F0KG4uYm91bmRhcnkpOm4uY2VsbHM7dmFyIGE9MSxzPW4uYWN0aXZlLGw9bi5uZXh0LGM9bi5mbGFncyx1PW4uY2VsbHMsaD1uLmNvbnN0cmFpbnQsZj1uLm5laWdoYm9yO2Zvcig7cy5sZW5ndGg+MHx8bC5sZW5ndGg+MDspe2Zvcig7cy5sZW5ndGg+MDspe3ZhciBwPXMucG9wKCk7aWYoY1twXSE9PS1hKXtjW3BdPWE7dVtwXTtmb3IodmFyIGQ9MDtkPDM7KytkKXt2YXIgZz1mWzMqcCtkXTtnPj0wJiYwPT09Y1tnXSYmKGhbMypwK2RdP2wucHVzaChnKToocy5wdXNoKGcpLGNbZ109YSkpfX19dmFyIHY9bDtsPXMscz12LGwubGVuZ3RoPTAsYT0tYX12YXIgbT1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPTAsYT0wO2E8dC5sZW5ndGg7KythKWVbYV09PT1yJiYodFtuKytdPXRbYV0pO3JldHVybiB0Lmxlbmd0aD1uLHR9KHUsYyxlKTtpZihyKXJldHVybiBtLmNvbmNhdChuLmJvdW5kYXJ5KTtyZXR1cm4gbX0saS5wcm90b3R5cGUubG9jYXRlPShuPVswLDAsMF0sZnVuY3Rpb24odCxlLHIpe3ZhciBpPXQscz1lLGw9cjtyZXR1cm4gZTxyP2U8dCYmKGk9ZSxzPXIsbD10KTpyPHQmJihpPXIscz10LGw9ZSksaTwwPy0xOihuWzBdPWksblsxXT1zLG5bMl09bCxhLmVxKHRoaXMuY2VsbHMsbixvKSl9KX0seyJiaW5hcnktc2VhcmNoLWJvdW5kcyI6MTEzfV0sMTExOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImJpbmFyeS1zZWFyY2gtYm91bmRzIiksYT10KCJyb2J1c3Qtb3JpZW50YXRpb24iKVszXSxpPTAsbz0xLHM9MjtmdW5jdGlvbiBsKHQsZSxyLG4sYSl7dGhpcy5hPXQsdGhpcy5iPWUsdGhpcy5pZHg9cix0aGlzLmxvd2VySWRzPW4sdGhpcy51cHBlcklkcz1hfWZ1bmN0aW9uIGModCxlLHIsbil7dGhpcy5hPXQsdGhpcy5iPWUsdGhpcy50eXBlPXIsdGhpcy5pZHg9bn1mdW5jdGlvbiB1KHQsZSl7dmFyIHI9dC5hWzBdLWUuYVswXXx8dC5hWzFdLWUuYVsxXXx8dC50eXBlLWUudHlwZTtyZXR1cm4gcnx8KHQudHlwZSE9PWkmJihyPWEodC5hLHQuYixlLmIpKT9yOnQuaWR4LWUuaWR4KX1mdW5jdGlvbiBoKHQsZSl7cmV0dXJuIGEodC5hLHQuYixlKX1mdW5jdGlvbiBmKHQsZSxyLGksbyl7Zm9yKHZhciBzPW4ubHQoZSxpLGgpLGw9bi5ndChlLGksaCksYz1zO2M8bDsrK2Mpe2Zvcih2YXIgdT1lW2NdLGY9dS5sb3dlcklkcyxwPWYubGVuZ3RoO3A+MSYmYShyW2ZbcC0yXV0scltmW3AtMV1dLGkpPjA7KXQucHVzaChbZltwLTFdLGZbcC0yXSxvXSkscC09MTtmLmxlbmd0aD1wLGYucHVzaChvKTt2YXIgZD11LnVwcGVySWRzO2ZvcihwPWQubGVuZ3RoO3A+MSYmYShyW2RbcC0yXV0scltkW3AtMV1dLGkpPDA7KXQucHVzaChbZFtwLTJdLGRbcC0xXSxvXSkscC09MTtkLmxlbmd0aD1wLGQucHVzaChvKX19ZnVuY3Rpb24gcCh0LGUpe3ZhciByO3JldHVybihyPXQuYVswXTxlLmFbMF0/YSh0LmEsdC5iLGUuYSk6YShlLmIsZS5hLHQuYSkpP3I6KHI9ZS5iWzBdPHQuYlswXT9hKHQuYSx0LmIsZS5iKTphKGUuYixlLmEsdC5iKSl8fHQuaWR4LWUuaWR4fWZ1bmN0aW9uIGQodCxlLHIpe3ZhciBhPW4ubGUodCxyLHApLGk9dFthXSxvPWkudXBwZXJJZHMscz1vW28ubGVuZ3RoLTFdO2kudXBwZXJJZHM9W3NdLHQuc3BsaWNlKGErMSwwLG5ldyBsKHIuYSxyLmIsci5pZHgsW3NdLG8pKX1mdW5jdGlvbiBnKHQsZSxyKXt2YXIgYT1yLmE7ci5hPXIuYixyLmI9YTt2YXIgaT1uLmVxKHQscixwKSxvPXRbaV07dFtpLTFdLnVwcGVySWRzPW8udXBwZXJJZHMsdC5zcGxpY2UoaSwxKX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5sZW5ndGgsbj1lLmxlbmd0aCxhPVtdLGg9MDtoPHI7KytoKWEucHVzaChuZXcgYyh0W2hdLG51bGwsaSxoKSk7Zm9yKHZhciBoPTA7aDxuOysraCl7dmFyIHA9ZVtoXSx2PXRbcFswXV0sbT10W3BbMV1dO3ZbMF08bVswXT9hLnB1c2gobmV3IGModixtLHMsaCksbmV3IGMobSx2LG8saCkpOnZbMF0+bVswXSYmYS5wdXNoKG5ldyBjKG0sdixzLGgpLG5ldyBjKHYsbSxvLGgpKX1hLnNvcnQodSk7Zm9yKHZhciB5PWFbMF0uYVswXS0oMStNYXRoLmFicyhhWzBdLmFbMF0pKSpNYXRoLnBvdygyLC01MikseD1bbmV3IGwoW3ksMV0sW3ksMF0sLTEsW10sW10sW10sW10pXSxiPVtdLGg9MCxfPWEubGVuZ3RoO2g8XzsrK2gpe3ZhciB3PWFbaF0saz13LnR5cGU7az09PWk/ZihiLHgsdCx3LmEsdy5pZHgpOms9PT1zP2QoeCx0LHcpOmcoeCx0LHcpfXJldHVybiBifX0seyJiaW5hcnktc2VhcmNoLWJvdW5kcyI6MTEzLCJyb2J1c3Qtb3JpZW50YXRpb24iOjUwOX1dLDExMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJiaW5hcnktc2VhcmNoLWJvdW5kcyIpO2Z1bmN0aW9uIGEodCxlKXt0aGlzLnN0YXJzPXQsdGhpcy5lZGdlcz1lfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1uZXcgQXJyYXkodCksbj0wO248dDsrK24pcltuXT1bXTtyZXR1cm4gbmV3IGEocixlKX07dmFyIGk9YS5wcm90b3R5cGU7ZnVuY3Rpb24gbyh0LGUscil7Zm9yKHZhciBuPTEsYT10Lmxlbmd0aDtuPGE7bis9MilpZih0W24tMV09PT1lJiZ0W25dPT09cilyZXR1cm4gdFtuLTFdPXRbYS0yXSx0W25dPXRbYS0xXSx2b2lkKHQubGVuZ3RoPWEtMil9aS5pc0NvbnN0cmFpbnQ9ZnVuY3Rpb24oKXt2YXIgdD1bMCwwXTtmdW5jdGlvbiBlKHQsZSl7cmV0dXJuIHRbMF0tZVswXXx8dFsxXS1lWzFdfXJldHVybiBmdW5jdGlvbihyLGEpe3JldHVybiB0WzBdPU1hdGgubWluKHIsYSksdFsxXT1NYXRoLm1heChyLGEpLG4uZXEodGhpcy5lZGdlcyx0LGUpPj0wfX0oKSxpLnJlbW92ZVRyaWFuZ2xlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLnN0YXJzO28oblt0XSxlLHIpLG8obltlXSxyLHQpLG8obltyXSx0LGUpfSxpLmFkZFRyaWFuZ2xlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLnN0YXJzO25bdF0ucHVzaChlLHIpLG5bZV0ucHVzaChyLHQpLG5bcl0ucHVzaCh0LGUpfSxpLm9wcG9zaXRlPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXRoaXMuc3RhcnNbZV0sbj0xLGE9ci5sZW5ndGg7bjxhO24rPTIpaWYocltuXT09PXQpcmV0dXJuIHJbbi0xXTtyZXR1cm4tMX0saS5mbGlwPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5vcHBvc2l0ZSh0LGUpLG49dGhpcy5vcHBvc2l0ZShlLHQpO3RoaXMucmVtb3ZlVHJpYW5nbGUodCxlLHIpLHRoaXMucmVtb3ZlVHJpYW5nbGUoZSx0LG4pLHRoaXMuYWRkVHJpYW5nbGUodCxuLHIpLHRoaXMuYWRkVHJpYW5nbGUoZSxyLG4pfSxpLmVkZ2VzPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuc3RhcnMsZT1bXSxyPTAsbj10Lmxlbmd0aDtyPG47KytyKWZvcih2YXIgYT10W3JdLGk9MCxvPWEubGVuZ3RoO2k8bztpKz0yKWUucHVzaChbYVtpXSxhW2krMV1dKTtyZXR1cm4gZX0saS5jZWxscz1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLnN0YXJzLGU9W10scj0wLG49dC5sZW5ndGg7cjxuOysrcilmb3IodmFyIGE9dFtyXSxpPTAsbz1hLmxlbmd0aDtpPG87aSs9Mil7dmFyIHM9YVtpXSxsPWFbaSsxXTtyPE1hdGgubWluKHMsbCkmJmUucHVzaChbcixzLGxdKX1yZXR1cm4gZX19LHsiYmluYXJ5LXNlYXJjaC1ib3VuZHMiOjExM31dLDExMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSxyLG4sYSl7dmFyIGk9WyJmdW5jdGlvbiAiLHQsIihhLGwsaCwiLG4uam9pbigiLCIpLCIpeyIsYT8iIjoidmFyIGk9IixyPyJsLTEiOiJoKzEiLCI7d2hpbGUobDw9aCl7dmFyIG09KGwraCk+Pj4xLHg9YVttXSJdO3JldHVybiBhP2UuaW5kZXhPZigiYyIpPDA/aS5wdXNoKCI7aWYoeD09PXkpe3JldHVybiBtfWVsc2UgaWYoeDw9eSl7Iik6aS5wdXNoKCI7dmFyIHA9Yyh4LHkpO2lmKHA9PT0wKXtyZXR1cm4gbX1lbHNlIGlmKHA8PTApeyIpOmkucHVzaCgiO2lmKCIsZSwiKXtpPW07Iikscj9pLnB1c2goImw9bSsxfWVsc2V7aD1tLTF9Iik6aS5wdXNoKCJoPW0tMX1lbHNle2w9bSsxfSIpLGkucHVzaCgifSIpLGE/aS5wdXNoKCJyZXR1cm4gLTF9OyIpOmkucHVzaCgicmV0dXJuIGl9OyIpLGkuam9pbigiIil9ZnVuY3Rpb24gYSh0LGUscixhKXtyZXR1cm4gbmV3IEZ1bmN0aW9uKFtuKCJBIiwieCIrdCsieSIsZSxbInkiXSxhKSxuKCJQIiwiYyh4LHkpIit0KyIwIixlLFsieSIsImMiXSxhKSwiZnVuY3Rpb24gZGlzcGF0Y2hCc2VhcmNoIixyLCIoYSx5LGMsbCxoKXtpZih0eXBlb2YoYyk9PT0nZnVuY3Rpb24nKXtyZXR1cm4gUChhLChsPT09dm9pZCAwKT8wOmx8MCwoaD09PXZvaWQgMCk/YS5sZW5ndGgtMTpofDAseSxjKX1lbHNle3JldHVybiBBKGEsKGM9PT12b2lkIDApPzA6Y3wwLChsPT09dm9pZCAwKT9hLmxlbmd0aC0xOmx8MCx5KX19cmV0dXJuIGRpc3BhdGNoQnNlYXJjaCIscl0uam9pbigiIikpKCl9ZS5leHBvcnRzPXtnZTphKCI+PSIsITEsIkdFIiksZ3Q6YSgiPiIsITEsIkdUIiksbHQ6YSgiPCIsITAsIkxUIiksbGU6YSgiPD0iLCEwLCJMRSIpLGVxOmEoIi0iLCEwLCJFUSIsITApfX0se31dLDExNDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTEscj0xO3I8dC5sZW5ndGg7KytyKWZvcih2YXIgbj0wO248cjsrK24paWYodFtyXTx0W25dKWU9LWU7ZWxzZSBpZih0W25dPT09dFtyXSlyZXR1cm4gMDtyZXR1cm4gZX19LHt9XSwxMTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZHVwIiksYT10KCJyb2J1c3QtbGluZWFyLXNvbHZlIik7ZnVuY3Rpb24gaSh0LGUpe2Zvcih2YXIgcj0wLG49dC5sZW5ndGgsYT0wO2E8bjsrK2Epcis9dFthXSplW2FdO3JldHVybiByfWZ1bmN0aW9uIG8odCl7dmFyIGU9dC5sZW5ndGg7aWYoMD09PWUpcmV0dXJuW107dFswXS5sZW5ndGg7dmFyIHI9bihbdC5sZW5ndGgrMSx0Lmxlbmd0aCsxXSwxKSxvPW4oW3QubGVuZ3RoKzFdLDEpO3JbZV1bZV09MDtmb3IodmFyIHM9MDtzPGU7KytzKXtmb3IodmFyIGw9MDtsPD1zOysrbClyW2xdW3NdPXJbc11bbF09MippKHRbc10sdFtsXSk7b1tzXT1pKHRbc10sdFtzXSl9dmFyIGM9YShyLG8pLHU9MCxoPWNbZSsxXTtmb3Iocz0wO3M8aC5sZW5ndGg7KytzKXUrPWhbc107dmFyIGY9bmV3IEFycmF5KGUpO2ZvcihzPTA7czxlOysrcyl7aD1jW3NdO3ZhciBwPTA7Zm9yKGw9MDtsPGgubGVuZ3RoOysrbClwKz1oW2xdO2Zbc109cC91fXJldHVybiBmfWZ1bmN0aW9uIHModCl7aWYoMD09PXQubGVuZ3RoKXJldHVybltdO2Zvcih2YXIgZT10WzBdLmxlbmd0aCxyPW4oW2VdKSxhPW8odCksaT0wO2k8dC5sZW5ndGg7KytpKWZvcih2YXIgcz0wO3M8ZTsrK3MpcltzXSs9dFtpXVtzXSphW2ldO3JldHVybiByfXMuYmFyeWNlbmV0cmljPW8sZS5leHBvcnRzPXN9LHtkdXA6MTcyLCJyb2J1c3QtbGluZWFyLXNvbHZlIjo1MDh9XSwxMTY6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW4odCkscj0wLGE9MDthPHQubGVuZ3RoOysrYSlmb3IodmFyIGk9dFthXSxvPTA7bzxlLmxlbmd0aDsrK28pcis9TWF0aC5wb3coaVtvXS1lW29dLDIpO3JldHVybiBNYXRoLnNxcnQoci90Lmxlbmd0aCl9O3ZhciBuPXQoImNpcmN1bWNlbnRlciIpfSx7Y2lyY3VtY2VudGVyOjExNX1dLDExNzpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGU8cj90PGU/ZTp0PnI/cjp0OnQ8cj9yOnQ+ZT9lOnR9fSx7fV0sMTE4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG47aWYocil7bj1lO2Zvcih2YXIgYT1uZXcgQXJyYXkoZS5sZW5ndGgpLGk9MDtpPGUubGVuZ3RoOysraSl7dmFyIG89ZVtpXTthW2ldPVtvWzBdLG9bMV0scltpXV19ZT1hfXZhciBzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1kKHQsW10scCh0KSk7cmV0dXJuIG0oZSxuLHIpLCEhbn0odCxlLCEhcik7Zm9yKDt5KHQsZSwhIXIpOylzPSEwO2lmKHImJnMpe24ubGVuZ3RoPTAsci5sZW5ndGg9MDtmb3IodmFyIGk9MDtpPGUubGVuZ3RoOysraSl7dmFyIG89ZVtpXTtuLnB1c2goW29bMF0sb1sxXV0pLHIucHVzaChvWzJdKX19cmV0dXJuIHN9O3ZhciBuPXQoInVuaW9uLWZpbmQiKSxhPXQoImJveC1pbnRlcnNlY3QiKSxpPXQoInJvYnVzdC1zZWdtZW50LWludGVyc2VjdCIpLG89dCgiYmlnLXJhdCIpLHM9dCgiYmlnLXJhdC9jbXAiKSxsPXQoImJpZy1yYXQvdG8tZmxvYXQiKSxjPXQoInJhdC12ZWMiKSx1PXQoIm5leHRhZnRlciIpLGg9dCgiLi9saWIvcmF0LXNlZy1pbnRlcnNlY3QiKTtmdW5jdGlvbiBmKHQpe3ZhciBlPWwodCk7cmV0dXJuW3UoZSwtMS8wKSx1KGUsMS8wKV19ZnVuY3Rpb24gcCh0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQubGVuZ3RoKSxyPTA7cjx0Lmxlbmd0aDsrK3Ipe3ZhciBuPXRbcl07ZVtyXT1bdShuWzBdLC0xLzApLHUoblsxXSwtMS8wKSx1KG5bMF0sMS8wKSx1KG5bMV0sMS8wKV19cmV0dXJuIGV9ZnVuY3Rpb24gZCh0LGUscil7Zm9yKHZhciBpPWUubGVuZ3RoLG89bmV3IG4oaSkscz1bXSxsPTA7bDxlLmxlbmd0aDsrK2wpe3ZhciBjPWVbbF0saD1mKGNbMF0pLHA9ZihjWzFdKTtzLnB1c2goW3UoaFswXSwtMS8wKSx1KHBbMF0sLTEvMCksdShoWzFdLDEvMCksdShwWzFdLDEvMCldKX1hKHMsZnVuY3Rpb24odCxlKXtvLmxpbmsodCxlKX0pO3ZhciBkPSEwLGc9bmV3IEFycmF5KGkpO2ZvcihsPTA7bDxpOysrbCl7KG09by5maW5kKGwpKSE9PWwmJihkPSExLHRbbV09W01hdGgubWluKHRbbF1bMF0sdFttXVswXSksTWF0aC5taW4odFtsXVsxXSx0W21dWzFdKV0pfWlmKGQpcmV0dXJuIG51bGw7dmFyIHY9MDtmb3IobD0wO2w8aTsrK2wpe3ZhciBtOyhtPW8uZmluZChsKSk9PT1sPyhnW2xdPXYsdFt2KytdPXRbbF0pOmdbbF09LTF9dC5sZW5ndGg9djtmb3IobD0wO2w8aTsrK2wpZ1tsXTwwJiYoZ1tsXT1nW28uZmluZChsKV0pO3JldHVybiBnfWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4gdFswXS1lWzBdfHx0WzFdLWVbMV19ZnVuY3Rpb24gdih0LGUpe3ZhciByPXRbMF0tZVswXXx8dFsxXS1lWzFdO3JldHVybiByfHwodFsyXTxlWzJdPy0xOnRbMl0+ZVsyXT8xOjApfWZ1bmN0aW9uIG0odCxlLHIpe2lmKDAhPT10Lmxlbmd0aCl7aWYoZSlmb3IodmFyIG49MDtuPHQubGVuZ3RoOysrbil7dmFyIGE9ZVsobz10W25dKVswXV0saT1lW29bMV1dO29bMF09TWF0aC5taW4oYSxpKSxvWzFdPU1hdGgubWF4KGEsaSl9ZWxzZSBmb3Iobj0wO248dC5sZW5ndGg7KytuKXt2YXIgbzthPShvPXRbbl0pWzBdLGk9b1sxXTtvWzBdPU1hdGgubWluKGEsaSksb1sxXT1NYXRoLm1heChhLGkpfXI/dC5zb3J0KHYpOnQuc29ydChnKTt2YXIgcz0xO2ZvcihuPTE7bjx0Lmxlbmd0aDsrK24pe3ZhciBsPXRbbi0xXSxjPXRbbl07KGNbMF0hPT1sWzBdfHxjWzFdIT09bFsxXXx8ciYmY1syXSE9PWxbMl0pJiYodFtzKytdPWMpfXQubGVuZ3RoPXN9fWZ1bmN0aW9uIHkodCxlLHIpe3ZhciBuPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPW5ldyBBcnJheShlLmxlbmd0aCksbj0wO248ZS5sZW5ndGg7KytuKXt2YXIgYT1lW25dLGk9dFthWzBdXSxvPXRbYVsxXV07cltuXT1bdShNYXRoLm1pbihpWzBdLG9bMF0pLC0xLzApLHUoTWF0aC5taW4oaVsxXSxvWzFdKSwtMS8wKSx1KE1hdGgubWF4KGlbMF0sb1swXSksMS8wKSx1KE1hdGgubWF4KGlbMV0sb1sxXSksMS8wKV19cmV0dXJuIHJ9KHQsZSksZj1mdW5jdGlvbih0LGUscil7dmFyIG49W107cmV0dXJuIGEocixmdW5jdGlvbihyLGEpe3ZhciBvPWVbcl0scz1lW2FdO2lmKG9bMF0hPT1zWzBdJiZvWzBdIT09c1sxXSYmb1sxXSE9PXNbMF0mJm9bMV0hPT1zWzFdKXt2YXIgbD10W29bMF1dLGM9dFtvWzFdXSx1PXRbc1swXV0saD10W3NbMV1dO2kobCxjLHUsaCkmJm4ucHVzaChbcixhXSl9fSksbn0odCxlLG4pLGc9cCh0KSx2PWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBvPVtdO3JldHVybiBhKHIsbixmdW5jdGlvbihyLG4pe3ZhciBhPWVbcl07aWYoYVswXSE9PW4mJmFbMV0hPT1uKXt2YXIgcz10W25dLGw9dFthWzBdXSxjPXRbYVsxXV07aShsLGMscyxzKSYmby5wdXNoKFtyLG5dKX19KSxvfSh0LGUsbixnKSx5PWQodCxmdW5jdGlvbih0LGUscixuLGEpe3ZhciBpLHUsZj10Lm1hcChmdW5jdGlvbih0KXtyZXR1cm5bbyh0WzBdKSxvKHRbMV0pXX0pO2ZvcihpPTA7aTxyLmxlbmd0aDsrK2kpe3ZhciBwPXJbaV07dT1wWzBdO3ZhciBkPXBbMV0sZz1lW3VdLHY9ZVtkXSxtPWgoYyh0W2dbMF1dKSxjKHRbZ1sxXV0pLGModFt2WzBdXSksYyh0W3ZbMV1dKSk7aWYobSl7dmFyIHk9dC5sZW5ndGg7dC5wdXNoKFtsKG1bMF0pLGwobVsxXSldKSxmLnB1c2gobSksbi5wdXNoKFt1LHldLFtkLHldKX19Zm9yKG4uc29ydChmdW5jdGlvbih0LGUpe2lmKHRbMF0hPT1lWzBdKXJldHVybiB0WzBdLWVbMF07dmFyIHI9Zlt0WzFdXSxuPWZbZVsxXV07cmV0dXJuIHMoclswXSxuWzBdKXx8cyhyWzFdLG5bMV0pfSksaT1uLmxlbmd0aC0xO2k+PTA7LS1pKXt2YXIgeD1lW3U9KFM9bltpXSlbMF1dLGI9eFswXSxfPXhbMV0sdz10W2JdLGs9dFtfXTtpZigod1swXS1rWzBdfHx3WzFdLWtbMV0pPDApe3ZhciBUPWI7Yj1fLF89VH14WzBdPWI7dmFyIE0sQT14WzFdPVNbMV07Zm9yKGEmJihNPXhbMl0pO2k+MCYmbltpLTFdWzBdPT09dTspe3ZhciBTLEU9KFM9blstLWldKVsxXTthP2UucHVzaChbQSxFLE1dKTplLnB1c2goW0EsRV0pLEE9RX1hP2UucHVzaChbQSxfLE1dKTplLnB1c2goW0EsX10pfXJldHVybiBmfSh0LGUsZix2LHIpKTtyZXR1cm4gbShlLHksciksISF5fHwoZi5sZW5ndGg+MHx8di5sZW5ndGg+MCl9fSx7Ii4vbGliL3JhdC1zZWctaW50ZXJzZWN0IjoxMTksImJpZy1yYXQiOjgwLCJiaWctcmF0L2NtcCI6NzgsImJpZy1yYXQvdG8tZmxvYXQiOjkyLCJib3gtaW50ZXJzZWN0Ijo5OCxuZXh0YWZ0ZXI6NDUzLCJyYXQtdmVjIjo0ODgsInJvYnVzdC1zZWdtZW50LWludGVyc2VjdCI6NTEyLCJ1bmlvbi1maW5kIjo1NDV9XSwxMTk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpPXMoZSx0KSxoPXMobixyKSxmPXUoaSxoKTtpZigwPT09byhmKSlyZXR1cm4gbnVsbDt2YXIgcD1zKHQsciksZD11KGgscCksZz1hKGQsZiksdj1jKGksZyk7cmV0dXJuIGwodCx2KX07dmFyIG49dCgiYmlnLXJhdC9tdWwiKSxhPXQoImJpZy1yYXQvZGl2IiksaT10KCJiaWctcmF0L3N1YiIpLG89dCgiYmlnLXJhdC9zaWduIikscz10KCJyYXQtdmVjL3N1YiIpLGw9dCgicmF0LXZlYy9hZGQiKSxjPXQoInJhdC12ZWMvbXVscyIpO2Z1bmN0aW9uIHUodCxlKXtyZXR1cm4gaShuKHRbMF0sZVsxXSksbih0WzFdLGVbMF0pKX19LHsiYmlnLXJhdC9kaXYiOjc5LCJiaWctcmF0L211bCI6ODksImJpZy1yYXQvc2lnbiI6OTAsImJpZy1yYXQvc3ViIjo5MSwicmF0LXZlYy9hZGQiOjQ4NywicmF0LXZlYy9tdWxzIjo0ODksInJhdC12ZWMvc3ViIjo0OTB9XSwxMjA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiY2xhbXAiKTtmdW5jdGlvbiBhKHQsZSl7bnVsbD09ZSYmKGU9ITApO3ZhciByPXRbMF0sYT10WzFdLGk9dFsyXSxvPXRbM107cmV0dXJuIG51bGw9PW8mJihvPWU/MToyNTUpLGUmJihyKj0yNTUsYSo9MjU1LGkqPTI1NSxvKj0yNTUpLDE2Nzc3MjE2KihyPTI1NSZuKHIsMCwyNTUpKSsoKGE9MjU1Jm4oYSwwLDI1NSkpPDwxNikrKChpPTI1NSZuKGksMCwyNTUpKTw8OCkrKG89MjU1Jm4obywwLDI1NSkpfWUuZXhwb3J0cz1hLGUuZXhwb3J0cy50bz1hLGUuZXhwb3J0cy5mcm9tPWZ1bmN0aW9uKHQsZSl7dmFyIHI9KHQ9K3QpPj4+MjQsbj0oMTY3MTE2ODAmdCk+Pj4xNixhPSg2NTI4MCZ0KT4+PjgsaT0yNTUmdDtyZXR1cm4hMT09PWU/W3IsbixhLGldOltyLzI1NSxuLzI1NSxhLzI1NSxpLzI1NV19fSx7Y2xhbXA6MTE3fV0sMTIxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17YWxpY2VibHVlOlsyNDAsMjQ4LDI1NV0sYW50aXF1ZXdoaXRlOlsyNTAsMjM1LDIxNV0sYXF1YTpbMCwyNTUsMjU1XSxhcXVhbWFyaW5lOlsxMjcsMjU1LDIxMl0sYXp1cmU6WzI0MCwyNTUsMjU1XSxiZWlnZTpbMjQ1LDI0NSwyMjBdLGJpc3F1ZTpbMjU1LDIyOCwxOTZdLGJsYWNrOlswLDAsMF0sYmxhbmNoZWRhbG1vbmQ6WzI1NSwyMzUsMjA1XSxibHVlOlswLDAsMjU1XSxibHVldmlvbGV0OlsxMzgsNDMsMjI2XSxicm93bjpbMTY1LDQyLDQyXSxidXJseXdvb2Q6WzIyMiwxODQsMTM1XSxjYWRldGJsdWU6Wzk1LDE1OCwxNjBdLGNoYXJ0cmV1c2U6WzEyNywyNTUsMF0sY2hvY29sYXRlOlsyMTAsMTA1LDMwXSxjb3JhbDpbMjU1LDEyNyw4MF0sY29ybmZsb3dlcmJsdWU6WzEwMCwxNDksMjM3XSxjb3Juc2lsazpbMjU1LDI0OCwyMjBdLGNyaW1zb246WzIyMCwyMCw2MF0sY3lhbjpbMCwyNTUsMjU1XSxkYXJrYmx1ZTpbMCwwLDEzOV0sZGFya2N5YW46WzAsMTM5LDEzOV0sZGFya2dvbGRlbnJvZDpbMTg0LDEzNCwxMV0sZGFya2dyYXk6WzE2OSwxNjksMTY5XSxkYXJrZ3JlZW46WzAsMTAwLDBdLGRhcmtncmV5OlsxNjksMTY5LDE2OV0sZGFya2toYWtpOlsxODksMTgzLDEwN10sZGFya21hZ2VudGE6WzEzOSwwLDEzOV0sZGFya29saXZlZ3JlZW46Wzg1LDEwNyw0N10sZGFya29yYW5nZTpbMjU1LDE0MCwwXSxkYXJrb3JjaGlkOlsxNTMsNTAsMjA0XSxkYXJrcmVkOlsxMzksMCwwXSxkYXJrc2FsbW9uOlsyMzMsMTUwLDEyMl0sZGFya3NlYWdyZWVuOlsxNDMsMTg4LDE0M10sZGFya3NsYXRlYmx1ZTpbNzIsNjEsMTM5XSxkYXJrc2xhdGVncmF5Ols0Nyw3OSw3OV0sZGFya3NsYXRlZ3JleTpbNDcsNzksNzldLGRhcmt0dXJxdW9pc2U6WzAsMjA2LDIwOV0sZGFya3Zpb2xldDpbMTQ4LDAsMjExXSxkZWVwcGluazpbMjU1LDIwLDE0N10sZGVlcHNreWJsdWU6WzAsMTkxLDI1NV0sZGltZ3JheTpbMTA1LDEwNSwxMDVdLGRpbWdyZXk6WzEwNSwxMDUsMTA1XSxkb2RnZXJibHVlOlszMCwxNDQsMjU1XSxmaXJlYnJpY2s6WzE3OCwzNCwzNF0sZmxvcmFsd2hpdGU6WzI1NSwyNTAsMjQwXSxmb3Jlc3RncmVlbjpbMzQsMTM5LDM0XSxmdWNoc2lhOlsyNTUsMCwyNTVdLGdhaW5zYm9ybzpbMjIwLDIyMCwyMjBdLGdob3N0d2hpdGU6WzI0OCwyNDgsMjU1XSxnb2xkOlsyNTUsMjE1LDBdLGdvbGRlbnJvZDpbMjE4LDE2NSwzMl0sZ3JheTpbMTI4LDEyOCwxMjhdLGdyZWVuOlswLDEyOCwwXSxncmVlbnllbGxvdzpbMTczLDI1NSw0N10sZ3JleTpbMTI4LDEyOCwxMjhdLGhvbmV5ZGV3OlsyNDAsMjU1LDI0MF0saG90cGluazpbMjU1LDEwNSwxODBdLGluZGlhbnJlZDpbMjA1LDkyLDkyXSxpbmRpZ286Wzc1LDAsMTMwXSxpdm9yeTpbMjU1LDI1NSwyNDBdLGtoYWtpOlsyNDAsMjMwLDE0MF0sbGF2ZW5kZXI6WzIzMCwyMzAsMjUwXSxsYXZlbmRlcmJsdXNoOlsyNTUsMjQwLDI0NV0sbGF3bmdyZWVuOlsxMjQsMjUyLDBdLGxlbW9uY2hpZmZvbjpbMjU1LDI1MCwyMDVdLGxpZ2h0Ymx1ZTpbMTczLDIxNiwyMzBdLGxpZ2h0Y29yYWw6WzI0MCwxMjgsMTI4XSxsaWdodGN5YW46WzIyNCwyNTUsMjU1XSxsaWdodGdvbGRlbnJvZHllbGxvdzpbMjUwLDI1MCwyMTBdLGxpZ2h0Z3JheTpbMjExLDIxMSwyMTFdLGxpZ2h0Z3JlZW46WzE0NCwyMzgsMTQ0XSxsaWdodGdyZXk6WzIxMSwyMTEsMjExXSxsaWdodHBpbms6WzI1NSwxODIsMTkzXSxsaWdodHNhbG1vbjpbMjU1LDE2MCwxMjJdLGxpZ2h0c2VhZ3JlZW46WzMyLDE3OCwxNzBdLGxpZ2h0c2t5Ymx1ZTpbMTM1LDIwNiwyNTBdLGxpZ2h0c2xhdGVncmF5OlsxMTksMTM2LDE1M10sbGlnaHRzbGF0ZWdyZXk6WzExOSwxMzYsMTUzXSxsaWdodHN0ZWVsYmx1ZTpbMTc2LDE5NiwyMjJdLGxpZ2h0eWVsbG93OlsyNTUsMjU1LDIyNF0sbGltZTpbMCwyNTUsMF0sbGltZWdyZWVuOls1MCwyMDUsNTBdLGxpbmVuOlsyNTAsMjQwLDIzMF0sbWFnZW50YTpbMjU1LDAsMjU1XSxtYXJvb246WzEyOCwwLDBdLG1lZGl1bWFxdWFtYXJpbmU6WzEwMiwyMDUsMTcwXSxtZWRpdW1ibHVlOlswLDAsMjA1XSxtZWRpdW1vcmNoaWQ6WzE4Niw4NSwyMTFdLG1lZGl1bXB1cnBsZTpbMTQ3LDExMiwyMTldLG1lZGl1bXNlYWdyZWVuOls2MCwxNzksMTEzXSxtZWRpdW1zbGF0ZWJsdWU6WzEyMywxMDQsMjM4XSxtZWRpdW1zcHJpbmdncmVlbjpbMCwyNTAsMTU0XSxtZWRpdW10dXJxdW9pc2U6WzcyLDIwOSwyMDRdLG1lZGl1bXZpb2xldHJlZDpbMTk5LDIxLDEzM10sbWlkbmlnaHRibHVlOlsyNSwyNSwxMTJdLG1pbnRjcmVhbTpbMjQ1LDI1NSwyNTBdLG1pc3R5cm9zZTpbMjU1LDIyOCwyMjVdLG1vY2Nhc2luOlsyNTUsMjI4LDE4MV0sbmF2YWpvd2hpdGU6WzI1NSwyMjIsMTczXSxuYXZ5OlswLDAsMTI4XSxvbGRsYWNlOlsyNTMsMjQ1LDIzMF0sb2xpdmU6WzEyOCwxMjgsMF0sb2xpdmVkcmFiOlsxMDcsMTQyLDM1XSxvcmFuZ2U6WzI1NSwxNjUsMF0sb3JhbmdlcmVkOlsyNTUsNjksMF0sb3JjaGlkOlsyMTgsMTEyLDIxNF0scGFsZWdvbGRlbnJvZDpbMjM4LDIzMiwxNzBdLHBhbGVncmVlbjpbMTUyLDI1MSwxNTJdLHBhbGV0dXJxdW9pc2U6WzE3NSwyMzgsMjM4XSxwYWxldmlvbGV0cmVkOlsyMTksMTEyLDE0N10scGFwYXlhd2hpcDpbMjU1LDIzOSwyMTNdLHBlYWNocHVmZjpbMjU1LDIxOCwxODVdLHBlcnU6WzIwNSwxMzMsNjNdLHBpbms6WzI1NSwxOTIsMjAzXSxwbHVtOlsyMjEsMTYwLDIyMV0scG93ZGVyYmx1ZTpbMTc2LDIyNCwyMzBdLHB1cnBsZTpbMTI4LDAsMTI4XSxyZWJlY2NhcHVycGxlOlsxMDIsNTEsMTUzXSxyZWQ6WzI1NSwwLDBdLHJvc3licm93bjpbMTg4LDE0MywxNDNdLHJveWFsYmx1ZTpbNjUsMTA1LDIyNV0sc2FkZGxlYnJvd246WzEzOSw2OSwxOV0sc2FsbW9uOlsyNTAsMTI4LDExNF0sc2FuZHlicm93bjpbMjQ0LDE2NCw5Nl0sc2VhZ3JlZW46WzQ2LDEzOSw4N10sc2Vhc2hlbGw6WzI1NSwyNDUsMjM4XSxzaWVubmE6WzE2MCw4Miw0NV0sc2lsdmVyOlsxOTIsMTkyLDE5Ml0sc2t5Ymx1ZTpbMTM1LDIwNiwyMzVdLHNsYXRlYmx1ZTpbMTA2LDkwLDIwNV0sc2xhdGVncmF5OlsxMTIsMTI4LDE0NF0sc2xhdGVncmV5OlsxMTIsMTI4LDE0NF0sc25vdzpbMjU1LDI1MCwyNTBdLHNwcmluZ2dyZWVuOlswLDI1NSwxMjddLHN0ZWVsYmx1ZTpbNzAsMTMwLDE4MF0sdGFuOlsyMTAsMTgwLDE0MF0sdGVhbDpbMCwxMjgsMTI4XSx0aGlzdGxlOlsyMTYsMTkxLDIxNl0sdG9tYXRvOlsyNTUsOTksNzFdLHR1cnF1b2lzZTpbNjQsMjI0LDIwOF0sdmlvbGV0OlsyMzgsMTMwLDIzOF0sd2hlYXQ6WzI0NSwyMjIsMTc5XSx3aGl0ZTpbMjU1LDI1NSwyNTVdLHdoaXRlc21va2U6WzI0NSwyNDUsMjQ1XSx5ZWxsb3c6WzI1NSwyNTUsMF0seWVsbG93Z3JlZW46WzE1NCwyMDUsNTBdfX0se31dLDEyMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJjb2xvci1yZ2JhIiksYT10KCJjbGFtcCIpLGk9dCgiZHR5cGUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXsiZmxvYXQiIT09ZSYmZXx8KGU9ImFycmF5IiksInVpbnQiPT09ZSYmKGU9InVpbnQ4IiksInVpbnRfY2xhbXBlZCI9PT1lJiYoZT0idWludDhfY2xhbXBlZCIpO3ZhciByPW5ldyhpKGUpKSg0KSxvPSJ1aW50OCIhPT1lJiYidWludDhfY2xhbXBlZCIhPT1lO3JldHVybiB0Lmxlbmd0aCYmInN0cmluZyIhPXR5cGVvZiB0fHwoKHQ9bih0KSlbMF0vPTI1NSx0WzFdLz0yNTUsdFsyXS89MjU1KSxmdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fHQgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheXx8ISEoQXJyYXkuaXNBcnJheSh0KSYmKHRbMF0+MXx8MD09PXRbMF0pJiYodFsxXT4xfHwwPT09dFsxXSkmJih0WzJdPjF8fDA9PT10WzJdKSYmKCF0WzNdfHx0WzNdPjEpKX0odCk/KHJbMF09dFswXSxyWzFdPXRbMV0sclsyXT10WzJdLHJbM109bnVsbCE9dFszXT90WzNdOjI1NSxvJiYoclswXS89MjU1LHJbMV0vPTI1NSxyWzJdLz0yNTUsclszXS89MjU1KSxyKToobz8oclswXT10WzBdLHJbMV09dFsxXSxyWzJdPXRbMl0sclszXT1udWxsIT10WzNdP3RbM106MSk6KHJbMF09YShNYXRoLmZsb29yKDI1NSp0WzBdKSwwLDI1NSksclsxXT1hKE1hdGguZmxvb3IoMjU1KnRbMV0pLDAsMjU1KSxyWzJdPWEoTWF0aC5mbG9vcigyNTUqdFsyXSksMCwyNTUpLHJbM109bnVsbD09dFszXT8yNTU6YShNYXRoLmZsb29yKDI1NSp0WzNdKSwwLDI1NSkpLHIpfX0se2NsYW1wOjExNywiY29sb3ItcmdiYSI6MTI0LGR0eXBlOjE3MX1dLDEyMzpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiY29sb3ItbmFtZSIpLGE9dCgiaXMtcGxhaW4tb2JqIiksaT10KCJkZWZpbmVkIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLHMsbD1bXSxjPTE7aWYoInN0cmluZyI9PXR5cGVvZiB0KWlmKG5bdF0pbD1uW3RdLnNsaWNlKCkscz0icmdiIjtlbHNlIGlmKCJ0cmFuc3BhcmVudCI9PT10KWM9MCxzPSJyZ2IiLGw9WzAsMCwwXTtlbHNlIGlmKC9eI1tBLUZhLWYwLTldKyQvLnRlc3QodCkpe3ZhciB1PXQuc2xpY2UoMSksaD11Lmxlbmd0aCxmPWg8PTQ7Yz0xLGY/KGw9W3BhcnNlSW50KHVbMF0rdVswXSwxNikscGFyc2VJbnQodVsxXSt1WzFdLDE2KSxwYXJzZUludCh1WzJdK3VbMl0sMTYpXSw0PT09aCYmKGM9cGFyc2VJbnQodVszXSt1WzNdLDE2KS8yNTUpKToobD1bcGFyc2VJbnQodVswXSt1WzFdLDE2KSxwYXJzZUludCh1WzJdK3VbM10sMTYpLHBhcnNlSW50KHVbNF0rdVs1XSwxNildLDg9PT1oJiYoYz1wYXJzZUludCh1WzZdK3VbN10sMTYpLzI1NSkpLGxbMF18fChsWzBdPTApLGxbMV18fChsWzFdPTApLGxbMl18fChsWzJdPTApLHM9InJnYiJ9ZWxzZSBpZihlPS9eKCg/OnJnYnxoc1tsdmJdfGh3YnxjbXlrP3x4eVt6eV18Z3JheXxsYWJ8bGNodT92P3xbbHlddXZ8bG1zKWE/KVxzKlwoKFteXCldKilcKS8uZXhlYyh0KSl7dmFyIHA9ZVsxXSxkPSJyZ2IiPT09cCx1PXAucmVwbGFjZSgvYSQvLCIiKTtzPXU7dmFyIGg9ImNteWsiPT09dT80OiJncmF5Ij09PXU/MTozO2w9ZVsyXS50cmltKCkuc3BsaXQoL1xzKixccyovKS5tYXAoZnVuY3Rpb24odCxlKXtpZigvJSQvLnRlc3QodCkpcmV0dXJuIGU9PT1oP3BhcnNlRmxvYXQodCkvMTAwOiJyZ2IiPT09dT8yNTUqcGFyc2VGbG9hdCh0KS8xMDA6cGFyc2VGbG9hdCh0KTtpZigiaCI9PT11W2VdKXtpZigvZGVnJC8udGVzdCh0KSlyZXR1cm4gcGFyc2VGbG9hdCh0KTtpZih2b2lkIDAhPT1vW3RdKXJldHVybiBvW3RdfXJldHVybiBwYXJzZUZsb2F0KHQpfSkscD09PXUmJmwucHVzaCgxKSxjPWQ/MTp2b2lkIDA9PT1sW2hdPzE6bFtoXSxsPWwuc2xpY2UoMCxoKX1lbHNlIHQubGVuZ3RoPjEwJiYvWzAtOV0oPzpcc3xcLykvLnRlc3QodCkmJihsPXQubWF0Y2goLyhbMC05XSspL2cpLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gcGFyc2VGbG9hdCh0KX0pLHM9dC5tYXRjaCgvKFthLXpdKS9naSkuam9pbigiIikudG9Mb3dlckNhc2UoKSk7ZWxzZSBpZihpc05hTih0KSlpZihhKHQpKXt2YXIgZz1pKHQucix0LnJlZCx0LlIsbnVsbCk7bnVsbCE9PWc/KHM9InJnYiIsbD1bZyxpKHQuZyx0LmdyZWVuLHQuRyksaSh0LmIsdC5ibHVlLHQuQildKToocz0iaHNsIixsPVtpKHQuaCx0Lmh1ZSx0LkgpLGkodC5zLHQuc2F0dXJhdGlvbix0LlMpLGkodC5sLHQubGlnaHRuZXNzLHQuTCx0LmIsdC5icmlnaHRuZXNzKV0pLGM9aSh0LmEsdC5hbHBoYSx0Lm9wYWNpdHksMSksbnVsbCE9dC5vcGFjaXR5JiYoYy89MTAwKX1lbHNlKEFycmF5LmlzQXJyYXkodCl8fHIuQXJyYXlCdWZmZXImJkFycmF5QnVmZmVyLmlzVmlldyYmQXJyYXlCdWZmZXIuaXNWaWV3KHQpKSYmKGw9W3RbMF0sdFsxXSx0WzJdXSxzPSJyZ2IiLGM9ND09PXQubGVuZ3RoP3RbM106MSk7ZWxzZSBzPSJyZ2IiLGw9W3Q+Pj4xNiwoNjUyODAmdCk+Pj44LDI1NSZ0XTtyZXR1cm57c3BhY2U6cyx2YWx1ZXM6bCxhbHBoYTpjfX07dmFyIG89e3JlZDowLG9yYW5nZTo2MCx5ZWxsb3c6MTIwLGdyZWVuOjE4MCxibHVlOjI0MCxwdXJwbGU6MzAwfX0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0seyJjb2xvci1uYW1lIjoxMjEsZGVmaW5lZDoxNjYsImlzLXBsYWluLW9iaiI6NDI0fV0sMTI0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImNvbG9yLXBhcnNlIiksYT10KCJjb2xvci1zcGFjZS9oc2wiKSxpPXQoImNsYW1wIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLHI9bih0KTtyZXR1cm4gci5zcGFjZT8oKGU9QXJyYXkoMykpWzBdPWkoci52YWx1ZXNbMF0sMCwyNTUpLGVbMV09aShyLnZhbHVlc1sxXSwwLDI1NSksZVsyXT1pKHIudmFsdWVzWzJdLDAsMjU1KSwiaCI9PT1yLnNwYWNlWzBdJiYoZT1hLnJnYihlKSksZS5wdXNoKGkoci5hbHBoYSwwLDEpKSxlKTpbXX19LHtjbGFtcDoxMTcsImNvbG9yLXBhcnNlIjoxMjMsImNvbG9yLXNwYWNlL2hzbCI6MTI1fV0sMTI1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vcmdiIik7ZS5leHBvcnRzPXtuYW1lOiJoc2wiLG1pbjpbMCwwLDBdLG1heDpbMzYwLDEwMCwxMDBdLGNoYW5uZWw6WyJodWUiLCJzYXR1cmF0aW9uIiwibGlnaHRuZXNzIl0sYWxpYXM6WyJIU0wiXSxyZ2I6ZnVuY3Rpb24odCl7dmFyIGUscixuLGEsaSxvPXRbMF0vMzYwLHM9dFsxXS8xMDAsbD10WzJdLzEwMDtpZigwPT09cylyZXR1cm5baT0yNTUqbCxpLGldO2U9MipsLShyPWw8LjU/bCooMStzKTpsK3MtbCpzKSxhPVswLDAsMF07Zm9yKHZhciBjPTA7YzwzO2MrKykobj1vKzEvMyotKGMtMSkpPDA/bisrOm4+MSYmbi0tLGk9NipuPDE/ZSs2KihyLWUpKm46MipuPDE/cjozKm48Mj9lKyhyLWUpKigyLzMtbikqNjplLGFbY109MjU1Kmk7cmV0dXJuIGF9fSxuLmhzbD1mdW5jdGlvbih0KXt2YXIgZSxyLG49dFswXS8yNTUsYT10WzFdLzI1NSxpPXRbMl0vMjU1LG89TWF0aC5taW4obixhLGkpLHM9TWF0aC5tYXgobixhLGkpLGw9cy1vO3JldHVybiBzPT09bz9lPTA6bj09PXM/ZT0oYS1pKS9sOmE9PT1zP2U9MisoaS1uKS9sOmk9PT1zJiYoZT00KyhuLWEpL2wpLChlPU1hdGgubWluKDYwKmUsMzYwKSk8MCYmKGUrPTM2MCkscj0obytzKS8yLFtlLDEwMCoocz09PW8/MDpyPD0uNT9sLyhzK28pOmwvKDItcy1vKSksMTAwKnJdfX0seyIuL3JnYiI6MTI2fV0sMTI2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz17bmFtZToicmdiIixtaW46WzAsMCwwXSxtYXg6WzI1NSwyNTUsMjU1XSxjaGFubmVsOlsicmVkIiwiZ3JlZW4iLCJibHVlIl0sYWxpYXM6WyJSR0IiXX19LHt9XSwxMjc6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9e2pldDpbe2luZGV4OjAscmdiOlswLDAsMTMxXX0se2luZGV4Oi4xMjUscmdiOlswLDYwLDE3MF19LHtpbmRleDouMzc1LHJnYjpbNSwyNTUsMjU1XX0se2luZGV4Oi42MjUscmdiOlsyNTUsMjU1LDBdfSx7aW5kZXg6Ljg3NSxyZ2I6WzI1MCwwLDBdfSx7aW5kZXg6MSxyZ2I6WzEyOCwwLDBdfV0saHN2Olt7aW5kZXg6MCxyZ2I6WzI1NSwwLDBdfSx7aW5kZXg6LjE2OSxyZ2I6WzI1MywyNTUsMl19LHtpbmRleDouMTczLHJnYjpbMjQ3LDI1NSwyXX0se2luZGV4Oi4zMzcscmdiOlswLDI1Miw0XX0se2luZGV4Oi4zNDEscmdiOlswLDI1MiwxMF19LHtpbmRleDouNTA2LHJnYjpbMSwyNDksMjU1XX0se2luZGV4Oi42NzEscmdiOlsyLDAsMjUzXX0se2luZGV4Oi42NzUscmdiOls4LDAsMjUzXX0se2luZGV4Oi44MzkscmdiOlsyNTUsMCwyNTFdfSx7aW5kZXg6Ljg0MyxyZ2I6WzI1NSwwLDI0NV19LHtpbmRleDoxLHJnYjpbMjU1LDAsNl19XSxob3Q6W3tpbmRleDowLHJnYjpbMCwwLDBdfSx7aW5kZXg6LjMscmdiOlsyMzAsMCwwXX0se2luZGV4Oi42LHJnYjpbMjU1LDIxMCwwXX0se2luZGV4OjEscmdiOlsyNTUsMjU1LDI1NV19XSxjb29sOlt7aW5kZXg6MCxyZ2I6WzAsMjU1LDI1NV19LHtpbmRleDoxLHJnYjpbMjU1LDAsMjU1XX1dLHNwcmluZzpbe2luZGV4OjAscmdiOlsyNTUsMCwyNTVdfSx7aW5kZXg6MSxyZ2I6WzI1NSwyNTUsMF19XSxzdW1tZXI6W3tpbmRleDowLHJnYjpbMCwxMjgsMTAyXX0se2luZGV4OjEscmdiOlsyNTUsMjU1LDEwMl19XSxhdXR1bW46W3tpbmRleDowLHJnYjpbMjU1LDAsMF19LHtpbmRleDoxLHJnYjpbMjU1LDI1NSwwXX1dLHdpbnRlcjpbe2luZGV4OjAscmdiOlswLDAsMjU1XX0se2luZGV4OjEscmdiOlswLDI1NSwxMjhdfV0sYm9uZTpbe2luZGV4OjAscmdiOlswLDAsMF19LHtpbmRleDouMzc2LHJnYjpbODQsODQsMTE2XX0se2luZGV4Oi43NTMscmdiOlsxNjksMjAwLDIwMF19LHtpbmRleDoxLHJnYjpbMjU1LDI1NSwyNTVdfV0sY29wcGVyOlt7aW5kZXg6MCxyZ2I6WzAsMCwwXX0se2luZGV4Oi44MDQscmdiOlsyNTUsMTYwLDEwMl19LHtpbmRleDoxLHJnYjpbMjU1LDE5OSwxMjddfV0sZ3JleXM6W3tpbmRleDowLHJnYjpbMCwwLDBdfSx7aW5kZXg6MSxyZ2I6WzI1NSwyNTUsMjU1XX1dLHlpZ25idTpbe2luZGV4OjAscmdiOls4LDI5LDg4XX0se2luZGV4Oi4xMjUscmdiOlszNyw1MiwxNDhdfSx7aW5kZXg6LjI1LHJnYjpbMzQsOTQsMTY4XX0se2luZGV4Oi4zNzUscmdiOlsyOSwxNDUsMTkyXX0se2luZGV4Oi41LHJnYjpbNjUsMTgyLDE5Nl19LHtpbmRleDouNjI1LHJnYjpbMTI3LDIwNSwxODddfSx7aW5kZXg6Ljc1LHJnYjpbMTk5LDIzMywxODBdfSx7aW5kZXg6Ljg3NSxyZ2I6WzIzNywyNDgsMjE3XX0se2luZGV4OjEscmdiOlsyNTUsMjU1LDIxN119XSxncmVlbnM6W3tpbmRleDowLHJnYjpbMCw2OCwyN119LHtpbmRleDouMTI1LHJnYjpbMCwxMDksNDRdfSx7aW5kZXg6LjI1LHJnYjpbMzUsMTM5LDY5XX0se2luZGV4Oi4zNzUscmdiOls2NSwxNzEsOTNdfSx7aW5kZXg6LjUscmdiOlsxMTYsMTk2LDExOF19LHtpbmRleDouNjI1LHJnYjpbMTYxLDIxNywxNTVdfSx7aW5kZXg6Ljc1LHJnYjpbMTk5LDIzMywxOTJdfSx7aW5kZXg6Ljg3NSxyZ2I6WzIyOSwyNDUsMjI0XX0se2luZGV4OjEscmdiOlsyNDcsMjUyLDI0NV19XSx5aW9ycmQ6W3tpbmRleDowLHJnYjpbMTI4LDAsMzhdfSx7aW5kZXg6LjEyNSxyZ2I6WzE4OSwwLDM4XX0se2luZGV4Oi4yNSxyZ2I6WzIyNywyNiwyOF19LHtpbmRleDouMzc1LHJnYjpbMjUyLDc4LDQyXX0se2luZGV4Oi41LHJnYjpbMjUzLDE0MSw2MF19LHtpbmRleDouNjI1LHJnYjpbMjU0LDE3OCw3Nl19LHtpbmRleDouNzUscmdiOlsyNTQsMjE3LDExOF19LHtpbmRleDouODc1LHJnYjpbMjU1LDIzNywxNjBdfSx7aW5kZXg6MSxyZ2I6WzI1NSwyNTUsMjA0XX1dLGJsdWVyZWQ6W3tpbmRleDowLHJnYjpbMCwwLDI1NV19LHtpbmRleDoxLHJnYjpbMjU1LDAsMF19XSxyZGJ1Olt7aW5kZXg6MCxyZ2I6WzUsMTAsMTcyXX0se2luZGV4Oi4zNSxyZ2I6WzEwNiwxMzcsMjQ3XX0se2luZGV4Oi41LHJnYjpbMTkwLDE5MCwxOTBdfSx7aW5kZXg6LjYscmdiOlsyMjAsMTcwLDEzMl19LHtpbmRleDouNyxyZ2I6WzIzMCwxNDUsOTBdfSx7aW5kZXg6MSxyZ2I6WzE3OCwxMCwyOF19XSxwaWNuaWM6W3tpbmRleDowLHJnYjpbMCwwLDI1NV19LHtpbmRleDouMSxyZ2I6WzUxLDE1MywyNTVdfSx7aW5kZXg6LjIscmdiOlsxMDIsMjA0LDI1NV19LHtpbmRleDouMyxyZ2I6WzE1MywyMDQsMjU1XX0se2luZGV4Oi40LHJnYjpbMjA0LDIwNCwyNTVdfSx7aW5kZXg6LjUscmdiOlsyNTUsMjU1LDI1NV19LHtpbmRleDouNixyZ2I6WzI1NSwyMDQsMjU1XX0se2luZGV4Oi43LHJnYjpbMjU1LDE1MywyNTVdfSx7aW5kZXg6LjgscmdiOlsyNTUsMTAyLDIwNF19LHtpbmRleDouOSxyZ2I6WzI1NSwxMDIsMTAyXX0se2luZGV4OjEscmdiOlsyNTUsMCwwXX1dLHJhaW5ib3c6W3tpbmRleDowLHJnYjpbMTUwLDAsOTBdfSx7aW5kZXg6LjEyNSxyZ2I6WzAsMCwyMDBdfSx7aW5kZXg6LjI1LHJnYjpbMCwyNSwyNTVdfSx7aW5kZXg6LjM3NSxyZ2I6WzAsMTUyLDI1NV19LHtpbmRleDouNSxyZ2I6WzQ0LDI1NSwxNTBdfSx7aW5kZXg6LjYyNSxyZ2I6WzE1MSwyNTUsMF19LHtpbmRleDouNzUscmdiOlsyNTUsMjM0LDBdfSx7aW5kZXg6Ljg3NSxyZ2I6WzI1NSwxMTEsMF19LHtpbmRleDoxLHJnYjpbMjU1LDAsMF19XSxwb3J0bGFuZDpbe2luZGV4OjAscmdiOlsxMiw1MSwxMzFdfSx7aW5kZXg6LjI1LHJnYjpbMTAsMTM2LDE4Nl19LHtpbmRleDouNSxyZ2I6WzI0MiwyMTEsNTZdfSx7aW5kZXg6Ljc1LHJnYjpbMjQyLDE0Myw1Nl19LHtpbmRleDoxLHJnYjpbMjE3LDMwLDMwXX1dLGJsYWNrYm9keTpbe2luZGV4OjAscmdiOlswLDAsMF19LHtpbmRleDouMixyZ2I6WzIzMCwwLDBdfSx7aW5kZXg6LjQscmdiOlsyMzAsMjEwLDBdfSx7aW5kZXg6LjcscmdiOlsyNTUsMjU1LDI1NV19LHtpbmRleDoxLHJnYjpbMTYwLDIwMCwyNTVdfV0sZWFydGg6W3tpbmRleDowLHJnYjpbMCwwLDEzMF19LHtpbmRleDouMSxyZ2I6WzAsMTgwLDE4MF19LHtpbmRleDouMixyZ2I6WzQwLDIxMCw0MF19LHtpbmRleDouNCxyZ2I6WzIzMCwyMzAsNTBdfSx7aW5kZXg6LjYscmdiOlsxMjAsNzAsMjBdfSx7aW5kZXg6MSxyZ2I6WzI1NSwyNTUsMjU1XX1dLGVsZWN0cmljOlt7aW5kZXg6MCxyZ2I6WzAsMCwwXX0se2luZGV4Oi4xNSxyZ2I6WzMwLDAsMTAwXX0se2luZGV4Oi40LHJnYjpbMTIwLDAsMTAwXX0se2luZGV4Oi42LHJnYjpbMTYwLDkwLDBdfSx7aW5kZXg6LjgscmdiOlsyMzAsMjAwLDBdfSx7aW5kZXg6MSxyZ2I6WzI1NSwyNTAsMjIwXX1dLGFscGhhOlt7aW5kZXg6MCxyZ2I6WzI1NSwyNTUsMjU1LDBdfSx7aW5kZXg6MSxyZ2I6WzI1NSwyNTUsMjU1LDFdfV0sdmlyaWRpczpbe2luZGV4OjAscmdiOls2OCwxLDg0XX0se2luZGV4Oi4xMyxyZ2I6WzcxLDQ0LDEyMl19LHtpbmRleDouMjUscmdiOls1OSw4MSwxMzldfSx7aW5kZXg6LjM4LHJnYjpbNDQsMTEzLDE0Ml19LHtpbmRleDouNSxyZ2I6WzMzLDE0NCwxNDFdfSx7aW5kZXg6LjYzLHJnYjpbMzksMTczLDEyOV19LHtpbmRleDouNzUscmdiOls5MiwyMDAsOTldfSx7aW5kZXg6Ljg4LHJnYjpbMTcwLDIyMCw1MF19LHtpbmRleDoxLHJnYjpbMjUzLDIzMSwzN119XSxpbmZlcm5vOlt7aW5kZXg6MCxyZ2I6WzAsMCw0XX0se2luZGV4Oi4xMyxyZ2I6WzMxLDEyLDcyXX0se2luZGV4Oi4yNSxyZ2I6Wzg1LDE1LDEwOV19LHtpbmRleDouMzgscmdiOlsxMzYsMzQsMTA2XX0se2luZGV4Oi41LHJnYjpbMTg2LDU0LDg1XX0se2luZGV4Oi42MyxyZ2I6WzIyNyw4OSw1MV19LHtpbmRleDouNzUscmdiOlsyNDksMTQwLDEwXX0se2luZGV4Oi44OCxyZ2I6WzI0OSwyMDEsNTBdfSx7aW5kZXg6MSxyZ2I6WzI1MiwyNTUsMTY0XX1dLG1hZ21hOlt7aW5kZXg6MCxyZ2I6WzAsMCw0XX0se2luZGV4Oi4xMyxyZ2I6WzI4LDE2LDY4XX0se2luZGV4Oi4yNSxyZ2I6Wzc5LDE4LDEyM119LHtpbmRleDouMzgscmdiOlsxMjksMzcsMTI5XX0se2luZGV4Oi41LHJnYjpbMTgxLDU0LDEyMl19LHtpbmRleDouNjMscmdiOlsyMjksODAsMTAwXX0se2luZGV4Oi43NSxyZ2I6WzI1MSwxMzUsOTddfSx7aW5kZXg6Ljg4LHJnYjpbMjU0LDE5NCwxMzVdfSx7aW5kZXg6MSxyZ2I6WzI1MiwyNTMsMTkxXX1dLHBsYXNtYTpbe2luZGV4OjAscmdiOlsxMyw4LDEzNV19LHtpbmRleDouMTMscmdiOls3NSwzLDE2MV19LHtpbmRleDouMjUscmdiOlsxMjUsMywxNjhdfSx7aW5kZXg6LjM4LHJnYjpbMTY4LDM0LDE1MF19LHtpbmRleDouNSxyZ2I6WzIwMyw3MCwxMjFdfSx7aW5kZXg6LjYzLHJnYjpbMjI5LDEwNyw5M119LHtpbmRleDouNzUscmdiOlsyNDgsMTQ4LDY1XX0se2luZGV4Oi44OCxyZ2I6WzI1MywxOTUsNDBdfSx7aW5kZXg6MSxyZ2I6WzI0MCwyNDksMzNdfV0sd2FybTpbe2luZGV4OjAscmdiOlsxMjUsMCwxNzldfSx7aW5kZXg6LjEzLHJnYjpbMTcyLDAsMTg3XX0se2luZGV4Oi4yNSxyZ2I6WzIxOSwwLDE3MF19LHtpbmRleDouMzgscmdiOlsyNTUsMCwxMzBdfSx7aW5kZXg6LjUscmdiOlsyNTUsNjMsNzRdfSx7aW5kZXg6LjYzLHJnYjpbMjU1LDEyMywwXX0se2luZGV4Oi43NSxyZ2I6WzIzNCwxNzYsMF19LHtpbmRleDouODgscmdiOlsxOTAsMjI4LDBdfSx7aW5kZXg6MSxyZ2I6WzE0NywyNTUsMF19XSxjb29sOlt7aW5kZXg6MCxyZ2I6WzEyNSwwLDE3OV19LHtpbmRleDouMTMscmdiOlsxMTYsMCwyMThdfSx7aW5kZXg6LjI1LHJnYjpbOTgsNzQsMjM3XX0se2luZGV4Oi4zOCxyZ2I6WzY4LDE0NiwyMzFdfSx7aW5kZXg6LjUscmdiOlswLDIwNCwxOTddfSx7aW5kZXg6LjYzLHJnYjpbMCwyNDcsMTQ2XX0se2luZGV4Oi43NSxyZ2I6WzAsMjU1LDg4XX0se2luZGV4Oi44OCxyZ2I6WzQwLDI1NSw4XX0se2luZGV4OjEscmdiOlsxNDcsMjU1LDBdfV0sInJhaW5ib3ctc29mdCI6W3tpbmRleDowLHJnYjpbMTI1LDAsMTc5XX0se2luZGV4Oi4xLHJnYjpbMTk5LDAsMTgwXX0se2luZGV4Oi4yLHJnYjpbMjU1LDAsMTIxXX0se2luZGV4Oi4zLHJnYjpbMjU1LDEwOCwwXX0se2luZGV4Oi40LHJnYjpbMjIyLDE5NCwwXX0se2luZGV4Oi41LHJnYjpbMTUwLDI1NSwwXX0se2luZGV4Oi42LHJnYjpbMCwyNTUsNTVdfSx7aW5kZXg6LjcscmdiOlswLDI0NiwxNTBdfSx7aW5kZXg6LjgscmdiOls1MCwxNjcsMjIyXX0se2luZGV4Oi45LHJnYjpbMTAzLDUxLDIzNV19LHtpbmRleDoxLHJnYjpbMTI0LDAsMTg2XX1dLGJhdGh5bWV0cnk6W3tpbmRleDowLHJnYjpbNDAsMjYsNDRdfSx7aW5kZXg6LjEzLHJnYjpbNTksNDksOTBdfSx7aW5kZXg6LjI1LHJnYjpbNjQsNzYsMTM5XX0se2luZGV4Oi4zOCxyZ2I6WzYzLDExMCwxNTFdfSx7aW5kZXg6LjUscmdiOls3MiwxNDIsMTU4XX0se2luZGV4Oi42MyxyZ2I6Wzg1LDE3NCwxNjNdfSx7aW5kZXg6Ljc1LHJnYjpbMTIwLDIwNiwxNjNdfSx7aW5kZXg6Ljg4LHJnYjpbMTg3LDIzMCwxNzJdfSx7aW5kZXg6MSxyZ2I6WzI1MywyNTQsMjA0XX1dLGNkb206W3tpbmRleDowLHJnYjpbNDcsMTUsNjJdfSx7aW5kZXg6LjEzLHJnYjpbODcsMjMsODZdfSx7aW5kZXg6LjI1LHJnYjpbMTMwLDI4LDk5XX0se2luZGV4Oi4zOCxyZ2I6WzE3MSw0MSw5Nl19LHtpbmRleDouNSxyZ2I6WzIwNiw2Nyw4Nl19LHtpbmRleDouNjMscmdiOlsyMzAsMTA2LDg0XX0se2luZGV4Oi43NSxyZ2I6WzI0MiwxNDksMTAzXX0se2luZGV4Oi44OCxyZ2I6WzI0OSwxOTMsMTM1XX0se2luZGV4OjEscmdiOlsyNTQsMjM3LDE3Nl19XSxjaGxvcm9waHlsbDpbe2luZGV4OjAscmdiOlsxOCwzNiwyMF19LHtpbmRleDouMTMscmdiOlsyNSw2Myw0MV19LHtpbmRleDouMjUscmdiOlsyNCw5MSw1OV19LHtpbmRleDouMzgscmdiOlsxMywxMTksNzJdfSx7aW5kZXg6LjUscmdiOlsxOCwxNDgsODBdfSx7aW5kZXg6LjYzLHJnYjpbODAsMTczLDg5XX0se2luZGV4Oi43NSxyZ2I6WzEzMiwxOTYsMTIyXX0se2luZGV4Oi44OCxyZ2I6WzE3NSwyMjEsMTYyXX0se2luZGV4OjEscmdiOlsyMTUsMjQ5LDIwOF19XSxkZW5zaXR5Olt7aW5kZXg6MCxyZ2I6WzU0LDE0LDM2XX0se2luZGV4Oi4xMyxyZ2I6Wzg5LDIzLDgwXX0se2luZGV4Oi4yNSxyZ2I6WzExMCw0NSwxMzJdfSx7aW5kZXg6LjM4LHJnYjpbMTIwLDc3LDE3OF19LHtpbmRleDouNSxyZ2I6WzEyMCwxMTMsMjEzXX0se2luZGV4Oi42MyxyZ2I6WzExNSwxNTEsMjI4XX0se2luZGV4Oi43NSxyZ2I6WzEzNCwxODUsMjI3XX0se2luZGV4Oi44OCxyZ2I6WzE3NywyMTQsMjI3XX0se2luZGV4OjEscmdiOlsyMzAsMjQxLDI0MV19XSwiZnJlZXN1cmZhY2UtYmx1ZSI6W3tpbmRleDowLHJnYjpbMzAsNCwxMTBdfSx7aW5kZXg6LjEzLHJnYjpbNDcsMTQsMTc2XX0se2luZGV4Oi4yNSxyZ2I6WzQxLDQ1LDIzNl19LHtpbmRleDouMzgscmdiOlsyNSw5OSwyMTJdfSx7aW5kZXg6LjUscmdiOls2OCwxMzEsMjAwXX0se2luZGV4Oi42MyxyZ2I6WzExNCwxNTYsMTk3XX0se2luZGV4Oi43NSxyZ2I6WzE1NywxODEsMjAzXX0se2luZGV4Oi44OCxyZ2I6WzIwMCwyMDgsMjE2XX0se2luZGV4OjEscmdiOlsyNDEsMjM3LDIzNl19XSwiZnJlZXN1cmZhY2UtcmVkIjpbe2luZGV4OjAscmdiOls2MCw5LDE4XX0se2luZGV4Oi4xMyxyZ2I6WzEwMCwxNywyN119LHtpbmRleDouMjUscmdiOlsxNDIsMjAsMjldfSx7aW5kZXg6LjM4LHJnYjpbMTc3LDQzLDI3XX0se2luZGV4Oi41LHJnYjpbMTkyLDg3LDYzXX0se2luZGV4Oi42MyxyZ2I6WzIwNSwxMjUsMTA1XX0se2luZGV4Oi43NSxyZ2I6WzIxNiwxNjIsMTQ4XX0se2luZGV4Oi44OCxyZ2I6WzIyNywxOTksMTkzXX0se2luZGV4OjEscmdiOlsyNDEsMjM3LDIzNl19XSxveHlnZW46W3tpbmRleDowLHJnYjpbNjQsNSw1XX0se2luZGV4Oi4xMyxyZ2I6WzEwNiw2LDE1XX0se2luZGV4Oi4yNSxyZ2I6WzE0NCwyNiw3XX0se2luZGV4Oi4zOCxyZ2I6WzE2OCw2NCwzXX0se2luZGV4Oi41LHJnYjpbMTg4LDEwMCw0XX0se2luZGV4Oi42MyxyZ2I6WzIwNiwxMzYsMTFdfSx7aW5kZXg6Ljc1LHJnYjpbMjIwLDE3NCwyNV19LHtpbmRleDouODgscmdiOlsyMzEsMjE1LDQ0XX0se2luZGV4OjEscmdiOlsyNDgsMjU0LDEwNV19XSxwYXI6W3tpbmRleDowLHJnYjpbNTEsMjAsMjRdfSx7aW5kZXg6LjEzLHJnYjpbOTAsMzIsMzVdfSx7aW5kZXg6LjI1LHJnYjpbMTI5LDQ0LDM0XX0se2luZGV4Oi4zOCxyZ2I6WzE1OSw2OCwyNV19LHtpbmRleDouNSxyZ2I6WzE4Miw5OSwxOV19LHtpbmRleDouNjMscmdiOlsxOTksMTM0LDIyXX0se2luZGV4Oi43NSxyZ2I6WzIxMiwxNzEsMzVdfSx7aW5kZXg6Ljg4LHJnYjpbMjIxLDIxMCw1NF19LHtpbmRleDoxLHJnYjpbMjI1LDI1Myw3NV19XSxwaGFzZTpbe2luZGV4OjAscmdiOlsxNDUsMTA1LDE4XX0se2luZGV4Oi4xMyxyZ2I6WzE4NCw3MSwzOF19LHtpbmRleDouMjUscmdiOlsxODYsNTgsMTE1XX0se2luZGV4Oi4zOCxyZ2I6WzE2MCw3MSwxODVdfSx7aW5kZXg6LjUscmdiOlsxMTAsOTcsMjE4XX0se2luZGV4Oi42MyxyZ2I6WzUwLDEyMywxNjRdfSx7aW5kZXg6Ljc1LHJnYjpbMzEsMTMxLDExMF19LHtpbmRleDouODgscmdiOls3NywxMjksMzRdfSx7aW5kZXg6MSxyZ2I6WzE0NSwxMDUsMThdfV0sc2FsaW5pdHk6W3tpbmRleDowLHJnYjpbNDIsMjQsMTA4XX0se2luZGV4Oi4xMyxyZ2I6WzMzLDUwLDE2Ml19LHtpbmRleDouMjUscmdiOlsxNSw5MCwxNDVdfSx7aW5kZXg6LjM4LHJnYjpbNDAsMTE4LDEzN119LHtpbmRleDouNSxyZ2I6WzU5LDE0NiwxMzVdfSx7aW5kZXg6LjYzLHJnYjpbNzksMTc1LDEyNl19LHtpbmRleDouNzUscmdiOlsxMjAsMjAzLDEwNF19LHtpbmRleDouODgscmdiOlsxOTMsMjIxLDEwMF19LHtpbmRleDoxLHJnYjpbMjUzLDIzOSwxNTRdfV0sdGVtcGVyYXR1cmU6W3tpbmRleDowLHJnYjpbNCwzNSw1MV19LHtpbmRleDouMTMscmdiOlsyMyw1MSwxMjJdfSx7aW5kZXg6LjI1LHJnYjpbODUsNTksMTU3XX0se2luZGV4Oi4zOCxyZ2I6WzEyOSw3OSwxNDNdfSx7aW5kZXg6LjUscmdiOlsxNzUsOTUsMTMwXX0se2luZGV4Oi42MyxyZ2I6WzIyMiwxMTIsMTAxXX0se2luZGV4Oi43NSxyZ2I6WzI0OSwxNDYsNjZdfSx7aW5kZXg6Ljg4LHJnYjpbMjQ5LDE5Niw2NV19LHtpbmRleDoxLHJnYjpbMjMyLDI1MCw5MV19XSx0dXJiaWRpdHk6W3tpbmRleDowLHJnYjpbMzQsMzEsMjddfSx7aW5kZXg6LjEzLHJnYjpbNjUsNTAsNDFdfSx7aW5kZXg6LjI1LHJnYjpbOTgsNjksNTJdfSx7aW5kZXg6LjM4LHJnYjpbMTMxLDg5LDU3XX0se2luZGV4Oi41LHJnYjpbMTYxLDExMiw1OV19LHtpbmRleDouNjMscmdiOlsxODUsMTQwLDY2XX0se2luZGV4Oi43NSxyZ2I6WzIwMiwxNzQsODhdfSx7aW5kZXg6Ljg4LHJnYjpbMjE2LDIwOSwxMjZdfSx7aW5kZXg6MSxyZ2I6WzIzMywyNDYsMTcxXX1dLCJ2ZWxvY2l0eS1ibHVlIjpbe2luZGV4OjAscmdiOlsxNywzMiw2NF19LHtpbmRleDouMTMscmdiOlszNSw1MiwxMTZdfSx7aW5kZXg6LjI1LHJnYjpbMjksODEsMTU2XX0se2luZGV4Oi4zOCxyZ2I6WzMxLDExMywxNjJdfSx7aW5kZXg6LjUscmdiOls1MCwxNDQsMTY5XX0se2luZGV4Oi42MyxyZ2I6Wzg3LDE3MywxNzZdfSx7aW5kZXg6Ljc1LHJnYjpbMTQ5LDE5NiwxODldfSx7aW5kZXg6Ljg4LHJnYjpbMjAzLDIyMSwyMTFdfSx7aW5kZXg6MSxyZ2I6WzI1NCwyNTEsMjMwXX1dLCJ2ZWxvY2l0eS1ncmVlbiI6W3tpbmRleDowLHJnYjpbMjMsMzUsMTldfSx7aW5kZXg6LjEzLHJnYjpbMjQsNjQsMzhdfSx7aW5kZXg6LjI1LHJnYjpbMTEsOTUsNDVdfSx7aW5kZXg6LjM4LHJnYjpbMzksMTIzLDM1XX0se2luZGV4Oi41LHJnYjpbOTUsMTQ2LDEyXX0se2luZGV4Oi42MyxyZ2I6WzE1MiwxNjUsMThdfSx7aW5kZXg6Ljc1LHJnYjpbMjAxLDE4Niw2OV19LHtpbmRleDouODgscmdiOlsyMzMsMjE2LDEzN119LHtpbmRleDoxLHJnYjpbMjU1LDI1MywyMDVdfV0sY3ViZWhlbGl4Olt7aW5kZXg6MCxyZ2I6WzAsMCwwXX0se2luZGV4Oi4wNyxyZ2I6WzIyLDUsNTldfSx7aW5kZXg6LjEzLHJnYjpbNjAsNCwxMDVdfSx7aW5kZXg6LjIscmdiOlsxMDksMSwxMzVdfSx7aW5kZXg6LjI3LHJnYjpbMTYxLDAsMTQ3XX0se2luZGV4Oi4zMyxyZ2I6WzIxMCwyLDE0Ml19LHtpbmRleDouNCxyZ2I6WzI1MSwxMSwxMjNdfSx7aW5kZXg6LjQ3LHJnYjpbMjU1LDI5LDk3XX0se2luZGV4Oi41MyxyZ2I6WzI1NSw1NCw2OV19LHtpbmRleDouNixyZ2I6WzI1NSw4NSw0Nl19LHtpbmRleDouNjcscmdiOlsyNTUsMTIwLDM0XX0se2luZGV4Oi43MyxyZ2I6WzI1NSwxNTcsMzddfSx7aW5kZXg6LjgscmdiOlsyNDEsMTkxLDU3XX0se2luZGV4Oi44NyxyZ2I6WzIyNCwyMjAsOTNdfSx7aW5kZXg6LjkzLHJnYjpbMjE4LDI0MSwxNDJdfSx7aW5kZXg6MSxyZ2I6WzIyNywyNTMsMTk4XX1dfX0se31dLDEyODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2NvbG9yU2NhbGUiKSxhPXQoImxlcnAiKTtmdW5jdGlvbiBpKHQpe3JldHVyblt0WzBdLzI1NSx0WzFdLzI1NSx0WzJdLzI1NSx0WzNdXX1mdW5jdGlvbiBvKHQpe2Zvcih2YXIgZSxyPSIjIixuPTA7bjwzOysrbilyKz0oIjAwIisoZT0oZT10W25dKS50b1N0cmluZygxNikpKS5zdWJzdHIoZS5sZW5ndGgpO3JldHVybiByfWZ1bmN0aW9uIHModCl7cmV0dXJuInJnYmEoIit0LmpvaW4oIiwiKSsiKSJ9ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbCxjLHUsaCxmLHAsZCxnO3R8fCh0PXt9KTtwPSh0Lm5zaGFkZXN8fDcyKS0xLGY9dC5mb3JtYXR8fCJoZXgiLChoPXQuY29sb3JtYXApfHwoaD0iamV0Iik7aWYoInN0cmluZyI9PXR5cGVvZiBoKXtpZihoPWgudG9Mb3dlckNhc2UoKSwhbltoXSl0aHJvdyBFcnJvcihoKyIgbm90IGEgc3VwcG9ydGVkIGNvbG9yc2NhbGUiKTt1PW5baF19ZWxzZXtpZighQXJyYXkuaXNBcnJheShoKSl0aHJvdyBFcnJvcigidW5zdXBwb3J0ZWQgY29sb3JtYXAgb3B0aW9uIixoKTt1PWguc2xpY2UoKX1pZih1Lmxlbmd0aD5wKzEpdGhyb3cgbmV3IEVycm9yKGgrIiBtYXAgcmVxdWlyZXMgbnNoYWRlcyB0byBiZSBhdCBsZWFzdCBzaXplICIrdS5sZW5ndGgpO2Q9QXJyYXkuaXNBcnJheSh0LmFscGhhKT8yIT09dC5hbHBoYS5sZW5ndGg/WzEsMV06dC5hbHBoYS5zbGljZSgpOiJudW1iZXIiPT10eXBlb2YgdC5hbHBoYT9bdC5hbHBoYSx0LmFscGhhXTpbMSwxXTtlPXUubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQuaW5kZXgqcCl9KSxkWzBdPU1hdGgubWluKE1hdGgubWF4KGRbMF0sMCksMSksZFsxXT1NYXRoLm1pbihNYXRoLm1heChkWzFdLDApLDEpO3ZhciB2PXUubWFwKGZ1bmN0aW9uKHQsZSl7dmFyIHI9dVtlXS5pbmRleCxuPXVbZV0ucmdiLnNsaWNlKCk7cmV0dXJuIDQ9PT1uLmxlbmd0aCYmblszXT49MCYmblszXTw9MT9uOihuWzNdPWRbMF0rKGRbMV0tZFswXSkqcixuKX0pLG09W107Zm9yKGc9MDtnPGUubGVuZ3RoLTE7KytnKXtjPWVbZysxXS1lW2ddLHI9dltnXSxsPXZbZysxXTtmb3IodmFyIHk9MDt5PGM7eSsrKXt2YXIgeD15L2M7bS5wdXNoKFtNYXRoLnJvdW5kKGEoclswXSxsWzBdLHgpKSxNYXRoLnJvdW5kKGEoclsxXSxsWzFdLHgpKSxNYXRoLnJvdW5kKGEoclsyXSxsWzJdLHgpKSxhKHJbM10sbFszXSx4KV0pfX1tLnB1c2godVt1Lmxlbmd0aC0xXS5yZ2IuY29uY2F0KGRbMV0pKSwiaGV4Ij09PWY/bT1tLm1hcChvKToicmdiYVN0cmluZyI9PT1mP209bS5tYXAocyk6ImZsb2F0Ij09PWYmJihtPW0ubWFwKGkpKTtyZXR1cm4gbX19LHsiLi9jb2xvclNjYWxlIjoxMjcsbGVycDo0Mjd9XSwxMjk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGkpe3ZhciBvPW4oZSxyLGkpO2lmKDA9PT1vKXt2YXIgcz1hKG4odCxlLHIpKSxjPWEobih0LGUsaSkpO2lmKHM9PT1jKXtpZigwPT09cyl7dmFyIHU9bCh0LGUsciksaD1sKHQsZSxpKTtyZXR1cm4gdT09PWg/MDp1PzE6LTF9cmV0dXJuIDB9cmV0dXJuIDA9PT1jP3M+MD8tMTpsKHQsZSxpKT8tMToxOjA9PT1zP2M+MD8xOmwodCxlLHIpPzE6LTE6YShjLXMpfXZhciBmPW4odCxlLHIpO2lmKGY+MClyZXR1cm4gbz4wJiZuKHQsZSxpKT4wPzE6LTE7aWYoZjwwKXJldHVybiBvPjB8fG4odCxlLGkpPjA/MTotMTt2YXIgcD1uKHQsZSxpKTtyZXR1cm4gcD4wPzE6bCh0LGUscik/MTotMX07dmFyIG49dCgicm9idXN0LW9yaWVudGF0aW9uIiksYT10KCJzaWdudW0iKSxpPXQoInR3by1zdW0iKSxvPXQoInJvYnVzdC1wcm9kdWN0Iikscz10KCJyb2J1c3Qtc3VtIik7ZnVuY3Rpb24gbCh0LGUscil7dmFyIG49aSh0WzBdLC1lWzBdKSxhPWkodFsxXSwtZVsxXSksbD1pKHJbMF0sLWVbMF0pLGM9aShyWzFdLC1lWzFdKSx1PXMobyhuLGwpLG8oYSxjKSk7cmV0dXJuIHVbdS5sZW5ndGgtMV0+PTB9fSx7InJvYnVzdC1vcmllbnRhdGlvbiI6NTA5LCJyb2J1c3QtcHJvZHVjdCI6NTEwLCJyb2J1c3Qtc3VtIjo1MTQsc2lnbnVtOjUxNSwidHdvLXN1bSI6NTQzfV0sMTMwOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5sZW5ndGgsaT10Lmxlbmd0aC1lLmxlbmd0aDtpZihpKXJldHVybiBpO3N3aXRjaChyKXtjYXNlIDA6cmV0dXJuIDA7Y2FzZSAxOnJldHVybiB0WzBdLWVbMF07Y2FzZSAyOnJldHVybiB0WzBdK3RbMV0tZVswXS1lWzFdfHxuKHRbMF0sdFsxXSktbihlWzBdLGVbMV0pO2Nhc2UgMzp2YXIgbz10WzBdK3RbMV0scz1lWzBdK2VbMV07aWYoaT1vK3RbMl0tKHMrZVsyXSkpcmV0dXJuIGk7dmFyIGw9bih0WzBdLHRbMV0pLGM9bihlWzBdLGVbMV0pO3JldHVybiBuKGwsdFsyXSktbihjLGVbMl0pfHxuKGwrdFsyXSxvKS1uKGMrZVsyXSxzKTtjYXNlIDQ6dmFyIHU9dFswXSxoPXRbMV0sZj10WzJdLHA9dFszXSxkPWVbMF0sZz1lWzFdLHY9ZVsyXSxtPWVbM107cmV0dXJuIHUraCtmK3AtKGQrZyt2K20pfHxuKHUsaCxmLHApLW4oZCxnLHYsbSxkKXx8bih1K2gsdStmLHUrcCxoK2YsaCtwLGYrcCktbihkK2csZCt2LGQrbSxnK3YsZyttLHYrbSl8fG4odStoK2YsdStoK3AsdStmK3AsaCtmK3ApLW4oZCtnK3YsZCtnK20sZCt2K20sZyt2K20pO2RlZmF1bHQ6Zm9yKHZhciB5PXQuc2xpY2UoKS5zb3J0KGEpLHg9ZS5zbGljZSgpLnNvcnQoYSksYj0wO2I8cjsrK2IpaWYoaT15W2JdLXhbYl0pcmV0dXJuIGk7cmV0dXJuIDB9fTt2YXIgbj1NYXRoLm1pbjtmdW5jdGlvbiBhKHQsZSl7cmV0dXJuIHQtZX19LHt9XSwxMzE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiY29tcGFyZS1jZWxsIiksYT10KCJjZWxsLW9yaWVudGF0aW9uIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odCxlKXx8YSh0KS1hKGUpfX0seyJjZWxsLW9yaWVudGF0aW9uIjoxMTQsImNvbXBhcmUtY2VsbCI6MTMwfV0sMTMyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vbGliL2NoMWQiKSxhPXQoIi4vbGliL2NoMmQiKSxpPXQoIi4vbGliL2NobmQiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7aWYoMD09PWUpcmV0dXJuW107aWYoMT09PWUpcmV0dXJuW1swXV07dmFyIHI9dFswXS5sZW5ndGg7aWYoMD09PXIpcmV0dXJuW107aWYoMT09PXIpcmV0dXJuIG4odCk7aWYoMj09PXIpcmV0dXJuIGEodCk7cmV0dXJuIGkodCxyKX19LHsiLi9saWIvY2gxZCI6MTMzLCIuL2xpYi9jaDJkIjoxMzQsIi4vbGliL2NobmQiOjEzNX1dLDEzMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj0wLG49MTtuPHQubGVuZ3RoOysrbil0W25dWzBdPHRbZV1bMF0mJihlPW4pLHRbbl1bMF0+dFtyXVswXSYmKHI9bik7cmV0dXJuIGU8cj9bW2VdLFtyXV06ZT5yP1tbcl0sW2VdXTpbW2VdXX19LHt9XSwxMzQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPW4odCkscj1lLmxlbmd0aDtpZihyPD0yKXJldHVybltdO2Zvcih2YXIgYT1uZXcgQXJyYXkociksaT1lW3ItMV0sbz0wO288cjsrK28pe3ZhciBzPWVbb107YVtvXT1baSxzXSxpPXN9cmV0dXJuIGF9O3ZhciBuPXQoIm1vbm90b25lLWNvbnZleC1odWxsLTJkIil9LHsibW9ub3RvbmUtY29udmV4LWh1bGwtMmQiOjQzNn1dLDEzNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIG4odCwhMCl9Y2F0Y2gocyl7dmFyIHI9YSh0KTtpZihyLmxlbmd0aDw9ZSlyZXR1cm5bXTt2YXIgaT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10Lmxlbmd0aCxuPW5ldyBBcnJheShyKSxhPTA7YTxlLmxlbmd0aDsrK2EpblthXT10W2VbYV1dO2Zvcih2YXIgaT1lLmxlbmd0aCxhPTA7YTxyOysrYSllLmluZGV4T2YoYSk8MCYmKG5baSsrXT10W2FdKTtyZXR1cm4gbn0odCxyKSxvPW4oaSwhMCk7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQubGVuZ3RoLG49ZS5sZW5ndGgsYT0wO2E8cjsrK2EpZm9yKHZhciBpPXRbYV0sbz0wO288aS5sZW5ndGg7KytvKXt2YXIgcz1pW29dO2lmKHM8bilpW29dPWVbc107ZWxzZXtzLT1uO2Zvcih2YXIgbD0wO2w8bjsrK2wpcz49ZVtsXSYmKHMrPTEpO2lbb109c319cmV0dXJuIHR9KG8scil9fTt2YXIgbj10KCJpbmNyZW1lbnRhbC1jb252ZXgtaHVsbCIpLGE9dCgiYWZmaW5lLWh1bGwiKX0seyJhZmZpbmUtaHVsbCI6NjUsImluY3JlbWVudGFsLWNvbnZleC1odWxsIjo0MTV9XSwxMzY6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9e0FGRzoiYWZnaGFuIixBTEE6IlxcYlxcd2xhbmQiLEFMQjoiYWxiYW5pYSIsRFpBOiJhbGdlcmlhIixBU006Il4oPz0uKmFtZXJpYykuKnNhbW9hIixBTkQ6ImFuZG9ycmEiLEFHTzoiYW5nb2xhIixBSUE6ImFuZ3VpbGw/YSIsQVRBOiJhbnRhcmN0aWNhIixBVEc6ImFudGlndWEiLEFSRzoiYXJnZW50aW4iLEFSTToiYXJtZW5pYSIsQUJXOiJeKD8hLipib25haXJlKS4qXFxiYXJ1YmEiLEFVUzoiYXVzdHJhbGlhIixBVVQ6Il4oPyEuKmh1bmdhcnkpLiphdXN0cmlhfFxcYmF1c3RyaS4qXFxiZW1wIixBWkU6ImF6ZXJiYWlqYW4iLEJIUzoiYmFoYW1hcyIsQkhSOiJiYWhyYWluIixCR0Q6ImJhbmdsYWRlc2h8Xig/PS4qZWFzdCkuKnBha2k/c3RhbiIsQlJCOiJiYXJiYWRvcyIsQkxSOiJiZWxhcnVzfGJ5ZWxvIixCRUw6Il4oPyEuKmx1eGVtKS4qYmVsZ2l1bSIsQkxaOiJiZWxpemV8Xig/PS4qYnJpdGlzaCkuKmhvbmR1cmFzIixCRU46ImJlbmlufGRhaG9tZSIsQk1VOiJiZXJtdWRhIixCVE46ImJodXRhbiIsQk9MOiJib2xpdmlhIixCRVM6Il4oPz0uKmJvbmFpcmUpLipldXN0YXRpdXN8Xig/PS4qY2FyaWIpLipuZXRoZXJsYW5kc3xcXGJiZXMuP2lzbGFuZHMiLEJJSDoiaGVyemVnb3ZpbmF8Ym9zbmlhIixCV0E6ImJvdHN3YW5hfGJlY2h1YW5hIixCVlQ6ImJvdXZldCIsQlJBOiJicmF6aWwiLElPVDoiYnJpdGlzaC4/aW5kaWFuLj9vY2VhbiIsQlJOOiJicnVuZWkiLEJHUjoiYnVsZ2FyaWEiLEJGQToiYnVya2luYXxcXGJmYXNvfHVwcGVyLj92b2x0YSIsQkRJOiJidXJ1bmRpIixDUFY6InZlcmRlIixLSE06ImNhbWJvZGlhfGthbXB1Y2hlYXxraG1lciIsQ01SOiJjYW1lcm9vbiIsQ0FOOiJjYW5hZGEiLENZTToiY2F5bWFuIixDQUY6IlxcYmNlbnRyYWwuYWZyaWNhbi5yZXB1YmxpYyIsVENEOiJcXGJjaGFkIixDSEw6IlxcYmNoaWxlIixDSE46Il4oPyEuKlxcYm1hYykoPyEuKlxcYmhvbmcpKD8hLipcXGJ0YWkpKD8hLipcXGJyZXApLipjaGluYXxeKD89LipwZW8pKD89LipyZXApLipjaGluYSIsQ1hSOiJjaHJpc3RtYXMiLENDSzoiXFxiY29jb3N8a2VlbGluZyIsQ09MOiJjb2xvbWJpYSIsQ09NOiJjb21vcm8iLENPRzoiXig/IS4qXFxiZGVtKSg/IS4qXFxiZFtcXC5dP3IpKD8hLipraW5zaGFzYSkoPyEuKnphaXJlKSg/IS4qYmVsZykoPyEuKmwub3BvbGR2aWxsZSkoPyEuKmZyZWUpLipcXGJjb25nbyIsQ09LOiJcXGJjb29rIixDUkk6ImNvc3RhLj9yaWNhIixDSVY6Iml2b2lyZXxpdm9yeSIsSFJWOiJjcm9hdGlhIixDVUI6IlxcYmN1YmEiLENVVzoiXig/IS4qYm9uYWlyZSkuKlxcYmN1cmEoY3xceGU3KWFvIixDWVA6ImN5cHJ1cyIsQ1NLOiJjemVjaG9zbG92YWtpYSIsQ1pFOiJeKD89LipyZXApLipjemVjaHxjemVjaGlhfGJvaGVtaWEiLENPRDoiXFxiZGVtLipjb25nb3xjb25nby4qXFxiZGVtfGNvbmdvLipcXGJkW1xcLl0/cnxcXGJkW1xcLl0/ci4qY29uZ298YmVsZ2lhbi4/Y29uZ298Y29uZ28uP2ZyZWUuP3N0YXRlfGtpbnNoYXNhfHphaXJlfGwub3BvbGR2aWxsZXxkcmN8ZHJvY3xyZGMiLEROSzoiZGVubWFyayIsREpJOiJkamlib3V0aSIsRE1BOiJkb21pbmljYSg/IW4pIixET006ImRvbWluaWNhbi5yZXAiLEVDVToiZWN1YWRvciIsRUdZOiJlZ3lwdCIsU0xWOiJlbC4/c2FsdmFkb3IiLEdOUToiZ3VpbmUuKmVxfGVxLipndWluZXxeKD89LipzcGFuKS4qZ3VpbmVhIixFUkk6ImVyaXRyZWEiLEVTVDoiZXN0b25pYSIsRVRIOiJldGhpb3BpYXxhYnlzc2luaWEiLEZMSzoiZmFsa2xhbmR8bWFsdmluYXMiLEZSTzoiZmFyb2V8ZmFlcm9lIixGSkk6ImZpamkiLEZJTjoiZmlubGFuZCIsRlJBOiJeKD8hLipcXGJkZXApKD8hLiptYXJ0aW5pcXVlKS4qZnJhbmNlfGZyZW5jaC4/cmVwdWJsaWN8XFxiZ2F1bCIsR1VGOiJeKD89LipmcmVuY2gpLipndWlhbmEiLFBZRjoiZnJlbmNoLj9wb2x5bmVzaWF8dGFoaXRpIixBVEY6ImZyZW5jaC4/c291dGhlcm4iLEdBQjoiZ2Fib24iLEdNQjoiZ2FtYmlhIixHRU86Il4oPyEuKnNvdXRoKS4qZ2VvcmdpYSIsRERSOiJnZXJtYW4uP2RlbW9jcmF0aWMuP3JlcHVibGljfGRlbW9jcmF0aWMuP3JlcHVibGljLipnZXJtYW55fGVhc3QuZ2VybWFueSIsREVVOiJeKD8hLiplYXN0KS4qZ2VybWFueXxeKD89LipcXGJmZWQuKlxcYnJlcCkuKmdlcm1hbiIsR0hBOiJnaGFuYXxnb2xkLj9jb2FzdCIsR0lCOiJnaWJyYWx0YXIiLEdSQzoiZ3JlZWNlfGhlbGxlbmljfGhlbGxhcyIsR1JMOiJncmVlbmxhbmQiLEdSRDoiZ3JlbmFkYSIsR0xQOiJndWFkZWxvdXBlIixHVU06IlxcYmd1YW0iLEdUTToiZ3VhdGVtYWxhIixHR1k6Imd1ZXJuc2V5IixHSU46Il4oPyEuKmVxKSg/IS4qc3BhbikoPyEuKmJpc3NhdSkoPyEuKnBvcnR1KSg/IS4qbmV3KS4qZ3VpbmVhIixHTkI6ImJpc3NhdXxeKD89Lipwb3J0dSkuKmd1aW5lYSIsR1VZOiJndXlhbmF8YnJpdGlzaC4/Z3VpYW5hIixIVEk6ImhhaXRpIixITUQ6ImhlYXJkLiptY2RvbmFsZCIsVkFUOiJob2x5Lj9zZWV8dmF0aWNhbnxwYXBhbC4/c3QiLEhORDoiXig/IS4qYnJpdCkuKmhvbmR1cmFzIixIS0c6ImhvbmcuP2tvbmciLEhVTjoiXig/IS4qYXVzdHIpLipodW5nYXJ5IixJU0w6ImljZWxhbmQiLElORDoiaW5kaWEoPyEuKm9jZWEpIixJRE46ImluZG9uZXNpYSIsSVJOOiJcXGJpcmFufHBlcnNpYSIsSVJROiJcXGJpcmFxfG1lc29wb3RhbWlhIixJUkw6IiheaXJlbGFuZCl8KF5yZXB1YmxpYy4qaXJlbGFuZCkiLElNTjoiXig/PS4qaXNsZSkuKlxcYm1hbiIsSVNSOiJpc3JhZWwiLElUQToiaXRhbHkiLEpBTToiamFtYWljYSIsSlBOOiJqYXBhbiIsSkVZOiJqZXJzZXkiLEpPUjoiam9yZGFuIixLQVo6ImthemFrIixLRU46ImtlbnlhfGJyaXRpc2guP2Vhc3QuP2FmcmljYXxlYXN0Lj9hZnJpY2EuP3Byb3QiLEtJUjoia2lyaWJhdGkiLFBSSzoiXig/PS4qZGVtb2NyYXR8cGVvcGxlfG5vcnRofGQuKnAuKi5yKS4qXFxia29yZWF8ZHBya3xrb3JlYS4qKGQuKnAuKnIpIixLV1Q6Imt1d2FpdCIsS0daOiJreXJneXp8a2lyZ2hpeiIsTEFPOiJcXGJsYW9zP1xcYiIsTFZBOiJsYXR2aWEiLExCTjoibGViYW5vbiIsTFNPOiJsZXNvdGhvfGJhc3V0byIsTEJSOiJsaWJlcmlhIixMQlk6ImxpYnlhIixMSUU6ImxpZWNodGVuc3RlaW4iLExUVToibGl0aHVhbmlhIixMVVg6Il4oPyEuKmJlbGcpLipsdXhlbSIsTUFDOiJtYWNhKG98dSkiLE1ERzoibWFkYWdhc2NhcnxtYWxhZ2FzeSIsTVdJOiJtYWxhd2l8bnlhc2EiLE1ZUzoibWFsYXlzaWEiLE1EVjoibWFsZGl2ZSIsTUxJOiJcXGJtYWxpXFxiIixNTFQ6IlxcYm1hbHRhIixNSEw6Im1hcnNoYWxsIixNVFE6Im1hcnRpbmlxdWUiLE1SVDoibWF1cml0YW5pYSIsTVVTOiJtYXVyaXRpdXMiLE1ZVDoiXFxibWF5b3R0ZSIsTUVYOiJcXGJtZXhpYyIsRlNNOiJmZWQuKm1pY3JvbmVzaWF8bWljcm9uZXNpYS4qZmVkIixNQ086Im1vbmFjbyIsTU5HOiJtb25nb2xpYSIsTU5FOiJeKD8hLipzZXJiaWEpLiptb250ZW5lZ3JvIixNU1I6Im1vbnRzZXJyYXQiLE1BUjoibW9yb2Njb3xcXGJtYXJvYyIsTU9aOiJtb3phbWJpcXVlIixNTVI6Im15YW5tYXJ8YnVybWEiLE5BTToibmFtaWJpYSIsTlJVOiJuYXVydSIsTlBMOiJuZXBhbCIsTkxEOiJeKD8hLipcXGJhbnQpKD8hLipcXGJjYXJpYikuKm5ldGhlcmxhbmRzIixBTlQ6Il4oPz0uKlxcYmFudCkuKihuZXRoZXJ8ZHV0Y2gpIixOQ0w6Im5ldy4/Y2FsZWRvbmlhIixOWkw6Im5ldy4/emVhbGFuZCIsTklDOiJuaWNhcmFndWEiLE5FUjoiXFxibmlnZXIoPyFpYSkiLE5HQToibmlnZXJpYSIsTklVOiJuaXVlIixORks6Im5vcmZvbGsiLE1OUDoibWFyaWFuYSIsTk9SOiJub3J3YXkiLE9NTjoiXFxib21hbnx0cnVjaWFsIixQQUs6Il4oPyEuKmVhc3QpLipwYWtpP3N0YW4iLFBMVzoicGFsYXUiLFBTRToicGFsZXN0aW58XFxiZ2F6YXx3ZXN0Lj9iYW5rIixQQU46InBhbmFtYSIsUE5HOiJwYXB1YXxuZXcuP2d1aW5lYSIsUFJZOiJwYXJhZ3VheSIsUEVSOiJwZXJ1IixQSEw6InBoaWxpcHBpbmVzIixQQ046InBpdGNhaXJuIixQT0w6InBvbGFuZCIsUFJUOiJwb3J0dWdhbCIsUFJJOiJwdWVydG8uP3JpY28iLFFBVDoicWF0YXIiLEtPUjoiXig/IS4qZC4qcC4qcikoPyEuKmRlbW9jcmF0KSg/IS4qcGVvcGxlKSg/IS4qbm9ydGgpLipcXGJrb3JlYSg/IS4qZC4qcC4qcikiLE1EQToibW9sZG92fGIoYXxlKXNzYXJhYmlhIixSRVU6InIoZXxceGU5KXVuaW9uIixST1U6InIob3x1fG91KW1hbmlhIixSVVM6IlxcYnJ1c3NpYXxzb3ZpZXQuP3VuaW9ufHVcXC4/c1xcLj9zXFwuP3J8c29jaWFsaXN0Lj9yZXB1YmxpY3MiLFJXQToicndhbmRhIixCTE06ImJhcnRoKGV8XHhlOSlsZW15IixTSE46ImhlbGVuYSIsS05BOiJraXR0c3xcXGJuZXZpcyIsTENBOiJcXGJsdWNpYSIsTUFGOiJeKD89Lipjb2xsZWN0aXZpdHkpLiptYXJ0aW58Xig/PS4qZnJhbmNlKS4qbWFydGluKD8haXF1ZSl8Xig/PS4qZnJlbmNoKS4qbWFydGluKD8haXF1ZSkiLFNQTToibWlxdWVsb24iLFZDVDoidmluY2VudCIsV1NNOiJeKD8hLiphbWVyKS4qc2Ftb2EiLFNNUjoic2FuLj9tYXJpbm8iLFNUUDoiXFxicyhhfFx4ZTMpby4/dG9tKGV8XHhlOSkiLFNBVToiXFxic2FcXHcqLj9hcmFiaWEiLFNFTjoic2VuZWdhbCIsU1JCOiJeKD8hLiptb250ZSkuKnNlcmJpYSIsU1lDOiJzZXljaGVsbCIsU0xFOiJzaWVycmEiLFNHUDoic2luZ2Fwb3JlIixTWE06Il4oPyEuKm1hcnRpbikoPyEuKnNhYmEpLiptYWFydGVuIixTVks6Il4oPyEuKmN6ZSkuKnNsb3ZhayIsU1ZOOiJzbG92ZW5pYSIsU0xCOiJzb2xvbW9uIixTT006InNvbWFsaSIsWkFGOiJzb3V0aC5hZnJpY2F8c1xcXFwuLj9hZnJpY2EiLFNHUzoic291dGguP2dlb3JnaWF8c2FuZHdpY2giLFNTRDoiXFxic1xcdyouP3N1ZGFuIixFU1A6InNwYWluIixMS0E6InNyaS4/bGFua2F8Y2V5bG9uIixTRE46Il4oPyEuKlxcYnMoPyF1KSkuKnN1ZGFuIixTVVI6InN1cmluYW18ZHV0Y2guP2d1aWFuYSIsU0pNOiJzdmFsYmFyZCIsU1daOiJzd2F6aWxhbmQiLFNXRToic3dlZGVuIixDSEU6InN3aXR6fHN3aXNzIixTWVI6InN5cmlhIixUV046InRhaXdhbnx0YWlwZWl8Zm9ybW9zYXxeKD8hLipwZW8pKD89LipyZXApLipjaGluYSIsVEpLOiJ0YWppayIsVEhBOiJ0aGFpbGFuZHxcXGJzaWFtIixNS0Q6Im1hY2Vkb25pYXxmeXJvbSIsVExTOiJeKD89LipsZXN0ZSkuKnRpbW9yfF4oPz0uKmVhc3QpLip0aW1vciIsVEdPOiJ0b2dvIixUS0w6InRva2VsYXUiLFRPTjoidG9uZ2EiLFRUTzoidHJpbmlkYWR8dG9iYWdvIixUVU46InR1bmlzaWEiLFRVUjoidHVya2V5IixUS006InR1cmttZW4iLFRDQToidHVya3MiLFRVVjoidHV2YWx1IixVR0E6InVnYW5kYSIsVUtSOiJ1a3JhaW4iLEFSRToiZW1pcmF0ZXN8XnVcXC4/YVxcLj9lXFwuPyR8dW5pdGVkLj9hcmFiLj9lbSIsR0JSOiJ1bml0ZWQuP2tpbmdkb218YnJpdGFpbnxedVxcLj9rXFwuPyQiLFRaQToidGFuemFuaWEiLFVTQToidW5pdGVkLj9zdGF0ZXNcXGIoPyEuKmlzbGFuZHMpfFxcYnVcXC4/c1xcLj9hXFwuP1xcYnxeXFxzKnVcXC4/c1xcLj9cXGIoPyEuKmlzbGFuZHMpIixVTUk6Im1pbm9yLj9vdXRseWluZy4/aXMiLFVSWToidXJ1Z3VheSIsVVpCOiJ1emJlayIsVlVUOiJ2YW51YXR1fG5ldy4/aGVicmlkZXMiLFZFTjoidmVuZXp1ZWxhIixWTk06Il4oPyEuKnJlcHVibGljKS4qdmlldC4/bmFtfF4oPz0uKnNvY2lhbGlzdCkuKnZpZXQuP25hbSIsVkdCOiJeKD89LipcXGJ1XFwuP1xccz9rKS4qdmlyZ2lufF4oPz0uKmJyaXQpLip2aXJnaW58Xig/PS4qa2luZ2RvbSkuKnZpcmdpbiIsVklSOiJeKD89LipcXGJ1XFwuP1xccz9zKS4qdmlyZ2lufF4oPz0uKnN0YXRlcykuKnZpcmdpbiIsV0xGOiJmdXR1bmF8d2FsbGlzIixFU0g6Indlc3Rlcm4uc2FoYXJhIixZRU06Il4oPyEuKmFyYWIpKD8hLipub3J0aCkoPyEuKnNhbmEpKD8hLipwZW8pKD8hLipkZW0pKD8hLipzb3V0aCkoPyEuKmFkZW4pKD8hLipcXGJwXFwuP2RcXC4/cikuKnllbWVuIixZTUQ6Il4oPz0uKnBlbykuKnllbWVufF4oPyEuKnJlcCkoPz0uKmRlbSkuKnllbWVufF4oPz0uKnNvdXRoKS4qeWVtZW58Xig/PS4qYWRlbikuKnllbWVufF4oPz0uKlxcYnBcXC4/ZFxcLj9yKS4qeWVtZW4iLFlVRzoieXVnb3NsYXZpYSIsWk1COiJ6YW1iaWF8bm9ydGhlcm4uP3Job2Rlc2lhIixFQVo6InphbnppYmFyIixaV0U6InppbWJhYndlfF4oPyEuKm5vcnRoZXJuKS4qcmhvZGVzaWEifX0se31dLDEzNzpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1bInh4LXNtYWxsIiwieC1zbWFsbCIsInNtYWxsIiwibWVkaXVtIiwibGFyZ2UiLCJ4LWxhcmdlIiwieHgtbGFyZ2UiLCJsYXJnZXIiLCJzbWFsbGVyIl19LHt9XSwxMzg6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9WyJub3JtYWwiLCJjb25kZW5zZWQiLCJzZW1pLWNvbmRlbnNlZCIsImV4dHJhLWNvbmRlbnNlZCIsInVsdHJhLWNvbmRlbnNlZCIsImV4cGFuZGVkIiwic2VtaS1leHBhbmRlZCIsImV4dHJhLWV4cGFuZGVkIiwidWx0cmEtZXhwYW5kZWQiXX0se31dLDEzOTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1bIm5vcm1hbCIsIml0YWxpYyIsIm9ibGlxdWUiXX0se31dLDE0MDpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1bIm5vcm1hbCIsImJvbGQiLCJib2xkZXIiLCJsaWdodGVyIiwiMTAwIiwiMjAwIiwiMzAwIiwiNDAwIiwiNTAwIiwiNjAwIiwiNzAwIiwiODAwIiwiOTAwIl19LHt9XSwxNDE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXtwYXJzZTp0KCIuL3BhcnNlIiksc3RyaW5naWZ5OnQoIi4vc3RyaW5naWZ5Iil9fSx7Ii4vcGFyc2UiOjE0MywiLi9zdHJpbmdpZnkiOjE0NH1dLDE0MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJjc3MtZm9udC1zaXplLWtleXdvcmRzIik7ZS5leHBvcnRzPXtpc1NpemU6ZnVuY3Rpb24odCl7cmV0dXJuL15bXGRcLl0vLnRlc3QodCl8fC0xIT09dC5pbmRleE9mKCIvIil8fC0xIT09bi5pbmRleE9mKHQpfX19LHsiY3NzLWZvbnQtc2l6ZS1rZXl3b3JkcyI6MTM3fV0sMTQzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInVucXVvdGUiKSxhPXQoImNzcy1nbG9iYWwta2V5d29yZHMiKSxpPXQoImNzcy1zeXN0ZW0tZm9udC1rZXl3b3JkcyIpLG89dCgiY3NzLWZvbnQtd2VpZ2h0LWtleXdvcmRzIikscz10KCJjc3MtZm9udC1zdHlsZS1rZXl3b3JkcyIpLGw9dCgiY3NzLWZvbnQtc3RyZXRjaC1rZXl3b3JkcyIpLGM9dCgic3RyaW5nLXNwbGl0LWJ5IiksdT10KCIuL2xpYi91dGlsIikuaXNTaXplO2UuZXhwb3J0cz1mO3ZhciBoPWYuY2FjaGU9e307ZnVuY3Rpb24gZih0KXtpZigic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJGb250IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcuIik7aWYoaFt0XSlyZXR1cm4gaFt0XTtpZigiIj09PXQpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgcGFyc2UgYW4gZW1wdHkgc3RyaW5nLiIpO2lmKC0xIT09aS5pbmRleE9mKHQpKXJldHVybiBoW3RdPXtzeXN0ZW06dH07Zm9yKHZhciBlLHI9e3N0eWxlOiJub3JtYWwiLHZhcmlhbnQ6Im5vcm1hbCIsd2VpZ2h0OiJub3JtYWwiLHN0cmV0Y2g6Im5vcm1hbCIsbGluZUhlaWdodDoibm9ybWFsIixzaXplOiIxcmVtIixmYW1pbHk6WyJzZXJpZiJdfSxmPWModCwvXHMrLyk7ZT1mLnNoaWZ0KCk7KXtpZigtMSE9PWEuaW5kZXhPZihlKSlyZXR1cm5bInN0eWxlIiwidmFyaWFudCIsIndlaWdodCIsInN0cmV0Y2giXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JbdF09ZX0pLGhbdF09cjtpZigtMT09PXMuaW5kZXhPZihlKSlpZigibm9ybWFsIiE9PWUmJiJzbWFsbC1jYXBzIiE9PWUpaWYoLTE9PT1sLmluZGV4T2YoZSkpe2lmKC0xPT09by5pbmRleE9mKGUpKXtpZih1KGUpKXt2YXIgZD1jKGUsIi8iKTtpZihyLnNpemU9ZFswXSxudWxsIT1kWzFdP3IubGluZUhlaWdodD1wKGRbMV0pOiIvIj09PWZbMF0mJihmLnNoaWZ0KCksci5saW5lSGVpZ2h0PXAoZi5zaGlmdCgpKSksIWYubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyByZXF1aXJlZCBmb250LWZhbWlseS4iKTtyZXR1cm4gci5mYW1pbHk9YyhmLmpvaW4oIiAiKSwvXHMqLFxzKi8pLm1hcChuKSxoW3RdPXJ9dGhyb3cgbmV3IEVycm9yKCJVbmtub3duIG9yIHVuc3VwcG9ydGVkIGZvbnQgdG9rZW46ICIrZSl9ci53ZWlnaHQ9ZX1lbHNlIHIuc3RyZXRjaD1lO2Vsc2Ugci52YXJpYW50PWU7ZWxzZSByLnN0eWxlPWV9dGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIHJlcXVpcmVkIGZvbnQtc2l6ZS4iKX1mdW5jdGlvbiBwKHQpe3ZhciBlPXBhcnNlRmxvYXQodCk7cmV0dXJuIGUudG9TdHJpbmcoKT09PXQ/ZTp0fX0seyIuL2xpYi91dGlsIjoxNDIsImNzcy1mb250LXN0cmV0Y2gta2V5d29yZHMiOjEzOCwiY3NzLWZvbnQtc3R5bGUta2V5d29yZHMiOjEzOSwiY3NzLWZvbnQtd2VpZ2h0LWtleXdvcmRzIjoxNDAsImNzcy1nbG9iYWwta2V5d29yZHMiOjE0NSwiY3NzLXN5c3RlbS1mb250LWtleXdvcmRzIjoxNDYsInN0cmluZy1zcGxpdC1ieSI6NTI4LHVucXVvdGU6NTQ3fV0sMTQ0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInBpY2stYnktYWxpYXMiKSxhPXQoIi4vbGliL3V0aWwiKS5pc1NpemUsaT1nKHQoImNzcy1nbG9iYWwta2V5d29yZHMiKSksbz1nKHQoImNzcy1zeXN0ZW0tZm9udC1rZXl3b3JkcyIpKSxzPWcodCgiY3NzLWZvbnQtd2VpZ2h0LWtleXdvcmRzIikpLGw9Zyh0KCJjc3MtZm9udC1zdHlsZS1rZXl3b3JkcyIpKSxjPWcodCgiY3NzLWZvbnQtc3RyZXRjaC1rZXl3b3JkcyIpKSx1PXtub3JtYWw6MSwic21hbGwtY2FwcyI6MX0saD17c2VyaWY6MSwic2Fucy1zZXJpZiI6MSxtb25vc3BhY2U6MSxjdXJzaXZlOjEsZmFudGFzeToxLCJzeXN0ZW0tdWkiOjF9LGY9IjFyZW0iLHA9InNlcmlmIjtmdW5jdGlvbiBkKHQsZSl7aWYodCYmIWVbdF0mJiFpW3RdKXRocm93IEVycm9yKCJVbmtub3duIGtleXdvcmQgYCIrdCsiYCIpO3JldHVybiB0fWZ1bmN0aW9uIGcodCl7Zm9yKHZhciBlPXt9LHI9MDtyPHQubGVuZ3RoO3IrKyllW3Rbcl1dPTE7cmV0dXJuIGV9ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCh0PW4odCx7c3R5bGU6InN0eWxlIGZvbnRzdHlsZSBmb250U3R5bGUgZm9udC1zdHlsZSBzbG9wZSBkaXN0aW5jdGlvbiIsdmFyaWFudDoidmFyaWFudCBmb250LXZhcmlhbnQgZm9udFZhcmlhbnQgZm9udHZhcmlhbnQgdmFyIGNhcGl0YWxpemF0aW9uIix3ZWlnaHQ6IndlaWdodCB3IGZvbnQtd2VpZ2h0IGZvbnRXZWlnaHQgZm9udHdlaWdodCIsc3RyZXRjaDoic3RyZXRjaCBmb250LXN0cmV0Y2ggZm9udFN0cmV0Y2ggZm9udHN0cmV0Y2ggd2lkdGgiLHNpemU6InNpemUgcyBmb250LXNpemUgZm9udFNpemUgZm9udHNpemUgaGVpZ2h0IGVtIGVtU2l6ZSIsbGluZUhlaWdodDoibGggbGluZS1oZWlnaHQgbGluZUhlaWdodCBsaW5laGVpZ2h0IGxlYWRpbmciLGZhbWlseToiZm9udCBmYW1pbHkgZm9udEZhbWlseSBmb250LWZhbWlseSBmb250ZmFtaWx5IHR5cGUgdHlwZWZhY2UgZmFjZSIsc3lzdGVtOiJzeXN0ZW0gcmVzZXJ2ZWQgZGVmYXVsdCBnbG9iYWwifSkpLnN5c3RlbSlyZXR1cm4gdC5zeXN0ZW0mJmQodC5zeXN0ZW0sbyksdC5zeXN0ZW07aWYoZCh0LnN0eWxlLGwpLGQodC52YXJpYW50LHUpLGQodC53ZWlnaHQscyksZCh0LnN0cmV0Y2gsYyksbnVsbD09dC5zaXplJiYodC5zaXplPWYpLCJudW1iZXIiPT10eXBlb2YgdC5zaXplJiYodC5zaXplKz0icHgiKSwhYSl0aHJvdyBFcnJvcigiQmFkIHNpemUgdmFsdWUgYCIrdC5zaXplKyJgIik7dC5mYW1pbHl8fCh0LmZhbWlseT1wKSxBcnJheS5pc0FycmF5KHQuZmFtaWx5KSYmKHQuZmFtaWx5Lmxlbmd0aHx8KHQuZmFtaWx5PVtwXSksdC5mYW1pbHk9dC5mYW1pbHkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBoW3RdP3Q6JyInK3QrJyInfSkuam9pbigiLCAiKSk7dmFyIGU9W107cmV0dXJuIGUucHVzaCh0LnN0eWxlKSx0LnZhcmlhbnQhPT10LnN0eWxlJiZlLnB1c2godC52YXJpYW50KSx0LndlaWdodCE9PXQudmFyaWFudCYmdC53ZWlnaHQhPT10LnN0eWxlJiZlLnB1c2godC53ZWlnaHQpLHQuc3RyZXRjaCE9PXQud2VpZ2h0JiZ0LnN0cmV0Y2ghPT10LnZhcmlhbnQmJnQuc3RyZXRjaCE9PXQuc3R5bGUmJmUucHVzaCh0LnN0cmV0Y2gpLGUucHVzaCh0LnNpemUrKG51bGw9PXQubGluZUhlaWdodHx8Im5vcm1hbCI9PT10LmxpbmVIZWlnaHR8fHQubGluZUhlaWdodCsiIj09IjEiPyIiOiIvIit0LmxpbmVIZWlnaHQpKSxlLnB1c2godC5mYW1pbHkpLGUuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAiKX19LHsiLi9saWIvdXRpbCI6MTQyLCJjc3MtZm9udC1zdHJldGNoLWtleXdvcmRzIjoxMzgsImNzcy1mb250LXN0eWxlLWtleXdvcmRzIjoxMzksImNzcy1mb250LXdlaWdodC1rZXl3b3JkcyI6MTQwLCJjc3MtZ2xvYmFsLWtleXdvcmRzIjoxNDUsImNzcy1zeXN0ZW0tZm9udC1rZXl3b3JkcyI6MTQ2LCJwaWNrLWJ5LWFsaWFzIjo0Njd9XSwxNDU6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9WyJpbmhlcml0IiwiaW5pdGlhbCIsInVuc2V0Il19LHt9XSwxNDY6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9WyJjYXB0aW9uIiwiaWNvbiIsIm1lbnUiLCJtZXNzYWdlLWJveCIsInNtYWxsLWNhcHRpb24iLCJzdGF0dXMtYmFyIl19LHt9XSwxNDc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt2YXIgbz1hLTEscz1hKmEsbD1vKm8sYz0oMSsyKmEpKmwsdT1hKmwsaD1zKigzLTIqYSksZj1zKm87aWYodC5sZW5ndGgpe2l8fChpPW5ldyBBcnJheSh0Lmxlbmd0aCkpO2Zvcih2YXIgcD10Lmxlbmd0aC0xO3A+PTA7LS1wKWlbcF09Yyp0W3BdK3UqZVtwXStoKnJbcF0rZipuW3BdO3JldHVybiBpfXJldHVybiBjKnQrdSplK2gqcitmKm59LGUuZXhwb3J0cy5kZXJpdmF0aXZlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt2YXIgbz02KmEqYS02KmEscz0zKmEqYS00KmErMSxsPS02KmEqYSs2KmEsYz0zKmEqYS0yKmE7aWYodC5sZW5ndGgpe2l8fChpPW5ldyBBcnJheSh0Lmxlbmd0aCkpO2Zvcih2YXIgdT10Lmxlbmd0aC0xO3U+PTA7LS11KWlbdV09byp0W3VdK3MqZVt1XStsKnJbdV0rYypuW3VdO3JldHVybiBpfXJldHVybiBvKnQrcyplK2wqclt1XStjKm59fSx7fV0sMTQ4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vbGliL3RodW5rLmpzIik7ZnVuY3Rpb24gYSgpe3RoaXMuYXJnVHlwZXM9W10sdGhpcy5zaGltQXJncz1bXSx0aGlzLmFycmF5QXJncz1bXSx0aGlzLmFycmF5QmxvY2tJbmRpY2VzPVtdLHRoaXMuc2NhbGFyQXJncz1bXSx0aGlzLm9mZnNldEFyZ3M9W10sdGhpcy5vZmZzZXRBcmdJbmRleD1bXSx0aGlzLmluZGV4QXJncz1bXSx0aGlzLnNoYXBlQXJncz1bXSx0aGlzLmZ1bmNOYW1lPSIiLHRoaXMucHJlPW51bGwsdGhpcy5ib2R5PW51bGwsdGhpcy5wb3N0PW51bGwsdGhpcy5kZWJ1Zz0hMX1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IGE7ZS5wcmU9dC5wcmUsZS5ib2R5PXQuYm9keSxlLnBvc3Q9dC5wb3N0O3ZhciByPXQuYXJncy5zbGljZSgwKTtlLmFyZ1R5cGVzPXI7Zm9yKHZhciBpPTA7aTxyLmxlbmd0aDsrK2kpe3ZhciBvPXJbaV07aWYoImFycmF5Ij09PW98fCJvYmplY3QiPT10eXBlb2YgbyYmby5ibG9ja0luZGljZXMpe2lmKGUuYXJnVHlwZXNbaV09ImFycmF5IixlLmFycmF5QXJncy5wdXNoKGkpLGUuYXJyYXlCbG9ja0luZGljZXMucHVzaChvLmJsb2NrSW5kaWNlcz9vLmJsb2NrSW5kaWNlczowKSxlLnNoaW1BcmdzLnB1c2goImFycmF5IitpKSxpPGUucHJlLmFyZ3MubGVuZ3RoJiZlLnByZS5hcmdzW2ldLmNvdW50PjApdGhyb3cgbmV3IEVycm9yKCJjd2lzZTogcHJlKCkgYmxvY2sgbWF5IG5vdCByZWZlcmVuY2UgYXJyYXkgYXJncyIpO2lmKGk8ZS5wb3N0LmFyZ3MubGVuZ3RoJiZlLnBvc3QuYXJnc1tpXS5jb3VudD4wKXRocm93IG5ldyBFcnJvcigiY3dpc2U6IHBvc3QoKSBibG9jayBtYXkgbm90IHJlZmVyZW5jZSBhcnJheSBhcmdzIil9ZWxzZSBpZigic2NhbGFyIj09PW8pZS5zY2FsYXJBcmdzLnB1c2goaSksZS5zaGltQXJncy5wdXNoKCJzY2FsYXIiK2kpO2Vsc2UgaWYoImluZGV4Ij09PW8pe2lmKGUuaW5kZXhBcmdzLnB1c2goaSksaTxlLnByZS5hcmdzLmxlbmd0aCYmZS5wcmUuYXJnc1tpXS5jb3VudD4wKXRocm93IG5ldyBFcnJvcigiY3dpc2U6IHByZSgpIGJsb2NrIG1heSBub3QgcmVmZXJlbmNlIGFycmF5IGluZGV4Iik7aWYoaTxlLmJvZHkuYXJncy5sZW5ndGgmJmUuYm9keS5hcmdzW2ldLmx2YWx1ZSl0aHJvdyBuZXcgRXJyb3IoImN3aXNlOiBib2R5KCkgYmxvY2sgbWF5IG5vdCB3cml0ZSB0byBhcnJheSBpbmRleCIpO2lmKGk8ZS5wb3N0LmFyZ3MubGVuZ3RoJiZlLnBvc3QuYXJnc1tpXS5jb3VudD4wKXRocm93IG5ldyBFcnJvcigiY3dpc2U6IHBvc3QoKSBibG9jayBtYXkgbm90IHJlZmVyZW5jZSBhcnJheSBpbmRleCIpfWVsc2UgaWYoInNoYXBlIj09PW8pe2lmKGUuc2hhcGVBcmdzLnB1c2goaSksaTxlLnByZS5hcmdzLmxlbmd0aCYmZS5wcmUuYXJnc1tpXS5sdmFsdWUpdGhyb3cgbmV3IEVycm9yKCJjd2lzZTogcHJlKCkgYmxvY2sgbWF5IG5vdCB3cml0ZSB0byBhcnJheSBzaGFwZSIpO2lmKGk8ZS5ib2R5LmFyZ3MubGVuZ3RoJiZlLmJvZHkuYXJnc1tpXS5sdmFsdWUpdGhyb3cgbmV3IEVycm9yKCJjd2lzZTogYm9keSgpIGJsb2NrIG1heSBub3Qgd3JpdGUgdG8gYXJyYXkgc2hhcGUiKTtpZihpPGUucG9zdC5hcmdzLmxlbmd0aCYmZS5wb3N0LmFyZ3NbaV0ubHZhbHVlKXRocm93IG5ldyBFcnJvcigiY3dpc2U6IHBvc3QoKSBibG9jayBtYXkgbm90IHdyaXRlIHRvIGFycmF5IHNoYXBlIil9ZWxzZXtpZigib2JqZWN0IiE9dHlwZW9mIG98fCFvLm9mZnNldCl0aHJvdyBuZXcgRXJyb3IoImN3aXNlOiBVbmtub3duIGFyZ3VtZW50IHR5cGUgIityW2ldKTtlLmFyZ1R5cGVzW2ldPSJvZmZzZXQiLGUub2Zmc2V0QXJncy5wdXNoKHthcnJheTpvLmFycmF5LG9mZnNldDpvLm9mZnNldH0pLGUub2Zmc2V0QXJnSW5kZXgucHVzaChpKX19aWYoZS5hcnJheUFyZ3MubGVuZ3RoPD0wKXRocm93IG5ldyBFcnJvcigiY3dpc2U6IE5vIGFycmF5IGFyZ3VtZW50cyBzcGVjaWZpZWQiKTtpZihlLnByZS5hcmdzLmxlbmd0aD5yLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImN3aXNlOiBUb28gbWFueSBhcmd1bWVudHMgaW4gcHJlKCkgYmxvY2siKTtpZihlLmJvZHkuYXJncy5sZW5ndGg+ci5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJjd2lzZTogVG9vIG1hbnkgYXJndW1lbnRzIGluIGJvZHkoKSBibG9jayIpO2lmKGUucG9zdC5hcmdzLmxlbmd0aD5yLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImN3aXNlOiBUb28gbWFueSBhcmd1bWVudHMgaW4gcG9zdCgpIGJsb2NrIik7cmV0dXJuIGUuZGVidWc9ISF0LnByaW50Q29kZXx8ISF0LmRlYnVnLGUuZnVuY05hbWU9dC5mdW5jTmFtZXx8ImN3aXNlIixlLmJsb2NrU2l6ZT10LmJsb2NrU2l6ZXx8NjQsbihlKX19LHsiLi9saWIvdGh1bmsuanMiOjE1MH1dLDE0OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJ1bmlxIik7ZnVuY3Rpb24gYSh0LGUscil7dmFyIG4sYSxpPXQubGVuZ3RoLG89ZS5hcnJheUFyZ3MubGVuZ3RoLHM9ZS5pbmRleEFyZ3MubGVuZ3RoPjAsbD1bXSxjPVtdLHU9MCxoPTA7Zm9yKG49MDtuPGk7KytuKWMucHVzaChbImkiLG4sIj0wIl0uam9pbigiIikpO2ZvcihhPTA7YTxvOysrYSlmb3Iobj0wO248aTsrK24paD11LHU9dFtuXSwwPT09bj9jLnB1c2goWyJkIixhLCJzIixuLCI9dCIsYSwicCIsdV0uam9pbigiIikpOmMucHVzaChbImQiLGEsInMiLG4sIj0odCIsYSwicCIsdSwiLXMiLGgsIip0IixhLCJwIixoLCIpIl0uam9pbigiIikpO2ZvcihjLmxlbmd0aD4wJiZsLnB1c2goInZhciAiK2Muam9pbigiLCIpKSxuPWktMTtuPj0wOy0tbil1PXRbbl0sbC5wdXNoKFsiZm9yKGkiLG4sIj0wO2kiLG4sIjxzIix1LCI7KytpIixuLCIpeyJdLmpvaW4oIiIpKTtmb3IobC5wdXNoKHIpLG49MDtuPGk7KytuKXtmb3IoaD11LHU9dFtuXSxhPTA7YTxvOysrYSlsLnB1c2goWyJwIixhLCIrPWQiLGEsInMiLG5dLmpvaW4oIiIpKTtzJiYobj4wJiZsLnB1c2goWyJpbmRleFsiLGgsIl0tPXMiLGhdLmpvaW4oIiIpKSxsLnB1c2goWyIrK2luZGV4WyIsdSwiXSJdLmpvaW4oIiIpKSksbC5wdXNoKCJ9Iil9cmV0dXJuIGwuam9pbigiXG4iKX1mdW5jdGlvbiBpKHQsZSxyKXtmb3IodmFyIG49dC5ib2R5LGE9W10saT1bXSxvPTA7bzx0LmFyZ3MubGVuZ3RoOysrbyl7dmFyIHM9dC5hcmdzW29dO2lmKCEocy5jb3VudDw9MCkpe3ZhciBsPW5ldyBSZWdFeHAocy5uYW1lLCJnIiksYz0iIix1PWUuYXJyYXlBcmdzLmluZGV4T2Yobyk7c3dpdGNoKGUuYXJnVHlwZXNbb10pe2Nhc2Uib2Zmc2V0Ijp2YXIgaD1lLm9mZnNldEFyZ0luZGV4LmluZGV4T2Yobyk7dT1lLm9mZnNldEFyZ3NbaF0uYXJyYXksYz0iK3EiK2g7Y2FzZSJhcnJheSI6Yz0icCIrdStjO3ZhciBmPSJsIitvLHA9ImEiK3U7aWYoMD09PWUuYXJyYXlCbG9ja0luZGljZXNbdV0pMT09PXMuY291bnQ/ImdlbmVyaWMiPT09clt1XT9zLmx2YWx1ZT8oYS5wdXNoKFsidmFyICIsZiwiPSIscCwiLmdldCgiLGMsIikiXS5qb2luKCIiKSksbj1uLnJlcGxhY2UobCxmKSxpLnB1c2goW3AsIi5zZXQoIixjLCIsIixmLCIpIl0uam9pbigiIikpKTpuPW4ucmVwbGFjZShsLFtwLCIuZ2V0KCIsYywiKSJdLmpvaW4oIiIpKTpuPW4ucmVwbGFjZShsLFtwLCJbIixjLCJdIl0uam9pbigiIikpOiJnZW5lcmljIj09PXJbdV0/KGEucHVzaChbInZhciAiLGYsIj0iLHAsIi5nZXQoIixjLCIpIl0uam9pbigiIikpLG49bi5yZXBsYWNlKGwsZikscy5sdmFsdWUmJmkucHVzaChbcCwiLnNldCgiLGMsIiwiLGYsIikiXS5qb2luKCIiKSkpOihhLnB1c2goWyJ2YXIgIixmLCI9IixwLCJbIixjLCJdIl0uam9pbigiIikpLG49bi5yZXBsYWNlKGwsZikscy5sdmFsdWUmJmkucHVzaChbcCwiWyIsYywiXT0iLGZdLmpvaW4oIiIpKSk7ZWxzZXtmb3IodmFyIGQ9W3MubmFtZV0sZz1bY10sdj0wO3Y8TWF0aC5hYnMoZS5hcnJheUJsb2NrSW5kaWNlc1t1XSk7disrKWQucHVzaCgiXFxzKlxcWyhbXlxcXV0rKVxcXSIpLGcucHVzaCgiJCIrKHYrMSkrIip0Iit1KyJiIit2KTtpZihsPW5ldyBSZWdFeHAoZC5qb2luKCIiKSwiZyIpLGM9Zy5qb2luKCIrIiksImdlbmVyaWMiPT09clt1XSl0aHJvdyBuZXcgRXJyb3IoImN3aXNlOiBHZW5lcmljIGFycmF5cyBub3Qgc3VwcG9ydGVkIGluIGNvbWJpbmF0aW9uIHdpdGggYmxvY2tzISIpO249bi5yZXBsYWNlKGwsW3AsIlsiLGMsIl0iXS5qb2luKCIiKSl9YnJlYWs7Y2FzZSJzY2FsYXIiOm49bi5yZXBsYWNlKGwsIlkiK2Uuc2NhbGFyQXJncy5pbmRleE9mKG8pKTticmVhaztjYXNlImluZGV4IjpuPW4ucmVwbGFjZShsLCJpbmRleCIpO2JyZWFrO2Nhc2Uic2hhcGUiOm49bi5yZXBsYWNlKGwsInNoYXBlIil9fX1yZXR1cm5bYS5qb2luKCJcbiIpLG4saS5qb2luKCJcbiIpXS5qb2luKCJcbiIpLnRyaW0oKX1mdW5jdGlvbiBvKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodC5sZW5ndGgpLHI9ITAsbj0wO248dC5sZW5ndGg7KytuKXt2YXIgYT10W25dLGk9YS5tYXRjaCgvXGQrLyk7aT1pP2lbMF06IiIsMD09PWEuY2hhckF0KDApP2Vbbl09InUiK2EuY2hhckF0KDEpK2k6ZVtuXT1hLmNoYXJBdCgwKStpLG4+MCYmKHI9ciYmZVtuXT09PWVbbi0xXSl9cmV0dXJuIHI/ZVswXTplLmpvaW4oIiIpfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1lWzFdLmxlbmd0aC1NYXRoLmFicyh0LmFycmF5QmxvY2tJbmRpY2VzWzBdKXwwLHM9bmV3IEFycmF5KHQuYXJyYXlBcmdzLmxlbmd0aCksbD1uZXcgQXJyYXkodC5hcnJheUFyZ3MubGVuZ3RoKSxjPTA7Yzx0LmFycmF5QXJncy5sZW5ndGg7KytjKWxbY109ZVsyKmNdLHNbY109ZVsyKmMrMV07dmFyIHU9W10saD1bXSxmPVtdLHA9W10sZD1bXTtmb3IoYz0wO2M8dC5hcnJheUFyZ3MubGVuZ3RoOysrYyl7dC5hcnJheUJsb2NrSW5kaWNlc1tjXTwwPyhmLnB1c2goMCkscC5wdXNoKHIpLHUucHVzaChyKSxoLnB1c2gocit0LmFycmF5QmxvY2tJbmRpY2VzW2NdKSk6KGYucHVzaCh0LmFycmF5QmxvY2tJbmRpY2VzW2NdKSxwLnB1c2godC5hcnJheUJsb2NrSW5kaWNlc1tjXStyKSx1LnB1c2goMCksaC5wdXNoKHQuYXJyYXlCbG9ja0luZGljZXNbY10pKTtmb3IodmFyIGc9W10sdj0wO3Y8c1tjXS5sZW5ndGg7disrKWZbY108PXNbY11bdl0mJnNbY11bdl08cFtjXSYmZy5wdXNoKHNbY11bdl0tZltjXSk7ZC5wdXNoKGcpfXZhciBtPVsiU1MiXSx5PVsiJ3VzZSBzdHJpY3QnIl0seD1bXTtmb3Iodj0wO3Y8cjsrK3YpeC5wdXNoKFsicyIsdiwiPVNTWyIsdiwiXSJdLmpvaW4oIiIpKTtmb3IoYz0wO2M8dC5hcnJheUFyZ3MubGVuZ3RoOysrYyl7Zm9yKG0ucHVzaCgiYSIrYyksbS5wdXNoKCJ0IitjKSxtLnB1c2goInAiK2MpLHY9MDt2PHI7Kyt2KXgucHVzaChbInQiLGMsInAiLHYsIj10IixjLCJbIixmW2NdK3YsIl0iXS5qb2luKCIiKSk7Zm9yKHY9MDt2PE1hdGguYWJzKHQuYXJyYXlCbG9ja0luZGljZXNbY10pOysrdil4LnB1c2goWyJ0IixjLCJiIix2LCI9dCIsYywiWyIsdVtjXSt2LCJdIl0uam9pbigiIikpfWZvcihjPTA7Yzx0LnNjYWxhckFyZ3MubGVuZ3RoOysrYyltLnB1c2goIlkiK2MpO2lmKHQuc2hhcGVBcmdzLmxlbmd0aD4wJiZ4LnB1c2goInNoYXBlPVNTLnNsaWNlKDApIiksdC5pbmRleEFyZ3MubGVuZ3RoPjApe3ZhciBiPW5ldyBBcnJheShyKTtmb3IoYz0wO2M8cjsrK2MpYltjXT0iMCI7eC5wdXNoKFsiaW5kZXg9WyIsYi5qb2luKCIsIiksIl0iXS5qb2luKCIiKSl9Zm9yKGM9MDtjPHQub2Zmc2V0QXJncy5sZW5ndGg7KytjKXt2YXIgXz10Lm9mZnNldEFyZ3NbY10sdz1bXTtmb3Iodj0wO3Y8Xy5vZmZzZXQubGVuZ3RoOysrdikwIT09Xy5vZmZzZXRbdl0mJigxPT09Xy5vZmZzZXRbdl0/dy5wdXNoKFsidCIsXy5hcnJheSwicCIsdl0uam9pbigiIikpOncucHVzaChbXy5vZmZzZXRbdl0sIip0IixfLmFycmF5LCJwIix2XS5qb2luKCIiKSkpOzA9PT13Lmxlbmd0aD94LnB1c2goInEiK2MrIj0wIik6eC5wdXNoKFsicSIsYywiPSIsdy5qb2luKCIrIildLmpvaW4oIiIpKX12YXIgaz1uKFtdLmNvbmNhdCh0LnByZS50aGlzVmFycykuY29uY2F0KHQuYm9keS50aGlzVmFycykuY29uY2F0KHQucG9zdC50aGlzVmFycykpO2ZvcigoeD14LmNvbmNhdChrKSkubGVuZ3RoPjAmJnkucHVzaCgidmFyICIreC5qb2luKCIsIikpLGM9MDtjPHQuYXJyYXlBcmdzLmxlbmd0aDsrK2MpeS5wdXNoKCJwIitjKyJ8PTAiKTt0LnByZS5ib2R5Lmxlbmd0aD4zJiZ5LnB1c2goaSh0LnByZSx0LGwpKTt2YXIgVD1pKHQuYm9keSx0LGwpLE09ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj10WzBdLmxlbmd0aDtlPHI7KXtmb3IodmFyIG49MTtuPHQubGVuZ3RoOysrbilpZih0W25dW2VdIT09dFswXVtlXSlyZXR1cm4gZTsrK2V9cmV0dXJuIGV9KGQpO008cj95LnB1c2goZnVuY3Rpb24odCxlLHIsbil7Zm9yKHZhciBpPWUubGVuZ3RoLG89ci5hcnJheUFyZ3MubGVuZ3RoLHM9ci5ibG9ja1NpemUsbD1yLmluZGV4QXJncy5sZW5ndGg+MCxjPVtdLHU9MDt1PG87Kyt1KWMucHVzaChbInZhciBvZmZzZXQiLHUsIj1wIix1XS5qb2luKCIiKSk7Zm9yKHU9dDt1PGk7Kyt1KWMucHVzaChbImZvcih2YXIgaiIrdSsiPVNTWyIsZVt1XSwiXXwwO2oiLHUsIj4wOyl7Il0uam9pbigiIikpLGMucHVzaChbImlmKGoiLHUsIjwiLHMsIil7Il0uam9pbigiIikpLGMucHVzaChbInMiLGVbdV0sIj1qIix1XS5qb2luKCIiKSksYy5wdXNoKFsiaiIsdSwiPTAiXS5qb2luKCIiKSksYy5wdXNoKFsifWVsc2V7cyIsZVt1XSwiPSIsc10uam9pbigiIikpLGMucHVzaChbImoiLHUsIi09IixzLCJ9Il0uam9pbigiIikpLGwmJmMucHVzaChbImluZGV4WyIsZVt1XSwiXT1qIix1XS5qb2luKCIiKSk7Zm9yKHU9MDt1PG87Kyt1KXtmb3IodmFyIGg9WyJvZmZzZXQiK3VdLGY9dDtmPGk7KytmKWgucHVzaChbImoiLGYsIip0Iix1LCJwIixlW2ZdXS5qb2luKCIiKSk7Yy5wdXNoKFsicCIsdSwiPSgiLGguam9pbigiKyIpLCIpIl0uam9pbigiIikpfWZvcihjLnB1c2goYShlLHIsbikpLHU9dDt1PGk7Kyt1KWMucHVzaCgifSIpO3JldHVybiBjLmpvaW4oIlxuIil9KE0sZFswXSx0LFQpKTp5LnB1c2goYShkWzBdLHQsVCkpLHQucG9zdC5ib2R5Lmxlbmd0aD4zJiZ5LnB1c2goaSh0LnBvc3QsdCxsKSksdC5kZWJ1ZyYmY29uc29sZS5sb2coIi0tLS0tR2VuZXJhdGVkIGN3aXNlIHJvdXRpbmUgZm9yICIsZSwiOlxuIit5LmpvaW4oIlxuIikrIlxuLS0tLS0tLS0tLSIpO3ZhciBBPVt0LmZ1bmNOYW1lfHwidW5uYW1lZCIsIl9jd2lzZV9sb29wXyIsc1swXS5qb2luKCJzIiksIm0iLE0sbyhsKV0uam9pbigiIik7cmV0dXJuIG5ldyBGdW5jdGlvbihbImZ1bmN0aW9uICIsQSwiKCIsbS5qb2luKCIsIiksIil7Iix5LmpvaW4oIlxuIiksIn0gcmV0dXJuICIsQV0uam9pbigiIikpKCl9fSx7dW5pcTo1NDZ9XSwxNTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9jb21waWxlLmpzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPVsiJ3VzZSBzdHJpY3QnIiwidmFyIENBQ0hFRD17fSJdLHI9W10sYT10LmZ1bmNOYW1lKyJfY3dpc2VfdGh1bmsiO2UucHVzaChbInJldHVybiBmdW5jdGlvbiAiLGEsIigiLHQuc2hpbUFyZ3Muam9pbigiLCIpLCIpeyJdLmpvaW4oIiIpKTtmb3IodmFyIGk9W10sbz1bXSxzPVtbImFycmF5Iix0LmFycmF5QXJnc1swXSwiLnNoYXBlLnNsaWNlKCIsTWF0aC5tYXgoMCx0LmFycmF5QmxvY2tJbmRpY2VzWzBdKSx0LmFycmF5QmxvY2tJbmRpY2VzWzBdPDA/IiwiK3QuYXJyYXlCbG9ja0luZGljZXNbMF0rIikiOiIpIl0uam9pbigiIildLGw9W10sYz1bXSx1PTA7dTx0LmFycmF5QXJncy5sZW5ndGg7Kyt1KXt2YXIgaD10LmFycmF5QXJnc1t1XTtyLnB1c2goWyJ0IixoLCI9YXJyYXkiLGgsIi5kdHlwZSwiLCJyIixoLCI9YXJyYXkiLGgsIi5vcmRlciJdLmpvaW4oIiIpKSxpLnB1c2goInQiK2gpLGkucHVzaCgiciIraCksby5wdXNoKCJ0IitoKSxvLnB1c2goInIiK2grIi5qb2luKCkiKSxzLnB1c2goImFycmF5IitoKyIuZGF0YSIpLHMucHVzaCgiYXJyYXkiK2grIi5zdHJpZGUiKSxzLnB1c2goImFycmF5IitoKyIub2Zmc2V0fDAiKSx1PjAmJihsLnB1c2goImFycmF5Iit0LmFycmF5QXJnc1swXSsiLnNoYXBlLmxlbmd0aD09PWFycmF5IitoKyIuc2hhcGUubGVuZ3RoKyIrKE1hdGguYWJzKHQuYXJyYXlCbG9ja0luZGljZXNbMF0pLU1hdGguYWJzKHQuYXJyYXlCbG9ja0luZGljZXNbdV0pKSksYy5wdXNoKCJhcnJheSIrdC5hcnJheUFyZ3NbMF0rIi5zaGFwZVtzaGFwZUluZGV4KyIrTWF0aC5tYXgoMCx0LmFycmF5QmxvY2tJbmRpY2VzWzBdKSsiXT09PWFycmF5IitoKyIuc2hhcGVbc2hhcGVJbmRleCsiK01hdGgubWF4KDAsdC5hcnJheUJsb2NrSW5kaWNlc1t1XSkrIl0iKSl9Zm9yKHQuYXJyYXlBcmdzLmxlbmd0aD4xJiYoZS5wdXNoKCJpZiAoISgiK2wuam9pbigiICYmICIpKyIpKSB0aHJvdyBuZXcgRXJyb3IoJ2N3aXNlOiBBcnJheXMgZG8gbm90IGFsbCBoYXZlIHRoZSBzYW1lIGRpbWVuc2lvbmFsaXR5IScpIiksZS5wdXNoKCJmb3IodmFyIHNoYXBlSW5kZXg9YXJyYXkiK3QuYXJyYXlBcmdzWzBdKyIuc2hhcGUubGVuZ3RoLSIrTWF0aC5hYnModC5hcnJheUJsb2NrSW5kaWNlc1swXSkrIjsgc2hhcGVJbmRleC0tXHgzZTA7KSB7IiksZS5wdXNoKCJpZiAoISgiK2Muam9pbigiICYmICIpKyIpKSB0aHJvdyBuZXcgRXJyb3IoJ2N3aXNlOiBBcnJheXMgZG8gbm90IGFsbCBoYXZlIHRoZSBzYW1lIHNoYXBlIScpIiksZS5wdXNoKCJ9IikpLHU9MDt1PHQuc2NhbGFyQXJncy5sZW5ndGg7Kyt1KXMucHVzaCgic2NhbGFyIit0LnNjYWxhckFyZ3NbdV0pO3JldHVybiByLnB1c2goWyJ0eXBlPVsiLG8uam9pbigiLCIpLCJdLmpvaW4oKSJdLmpvaW4oIiIpKSxyLnB1c2goInByb2M9Q0FDSEVEW3R5cGVdIiksZS5wdXNoKCJ2YXIgIityLmpvaW4oIiwiKSksZS5wdXNoKFsiaWYoIXByb2MpeyIsIkNBQ0hFRFt0eXBlXT1wcm9jPWNvbXBpbGUoWyIsaS5qb2luKCIsIiksIl0pfSIsInJldHVybiBwcm9jKCIscy5qb2luKCIsIiksIil9Il0uam9pbigiIikpLHQuZGVidWcmJmNvbnNvbGUubG9nKCItLS0tLUdlbmVyYXRlZCB0aHVuazpcbiIrZS5qb2luKCJcbiIpKyJcbi0tLS0tLS0tLS0iKSxuZXcgRnVuY3Rpb24oImNvbXBpbGUiLGUuam9pbigiXG4iKSkobi5iaW5kKHZvaWQgMCx0KSl9fSx7Ii4vY29tcGlsZS5qcyI6MTQ5fV0sMTUxOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXQoImN3aXNlLWNvbXBpbGVyIil9LHsiY3dpc2UtY29tcGlsZXIiOjE0OH1dLDE1MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixhPXQoImVzNS1leHQvb2JqZWN0L2NvcHkiKSxpPXQoImVzNS1leHQvb2JqZWN0L25vcm1hbGl6ZS1vcHRpb25zIiksbz10KCJlczUtZXh0L29iamVjdC92YWxpZC1jYWxsYWJsZSIpLHM9dCgiZXM1LWV4dC9vYmplY3QvbWFwIiksbD10KCJlczUtZXh0L29iamVjdC92YWxpZC1jYWxsYWJsZSIpLGM9dCgiZXM1LWV4dC9vYmplY3QvdmFsaWQtdmFsdWUiKSx1PUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLGg9T2JqZWN0LmRlZmluZVByb3BlcnR5LGY9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtuPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixpPWMoZSkmJmwoZS52YWx1ZSk7cmV0dXJuIGRlbGV0ZShuPWEoZSkpLndyaXRhYmxlLGRlbGV0ZSBuLnZhbHVlLG4uZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIXIub3ZlcndyaXRlRGVmaW5pdGlvbiYmZi5jYWxsKHRoaXMsdCk/aTooZS52YWx1ZT11LmNhbGwoaSxyLnJlc29sdmVDb250ZXh0P3IucmVzb2x2ZUNvbnRleHQodGhpcyk6dGhpcyksaCh0aGlzLHQsZSksdGhpc1t0XSl9LG59LGUuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1pKGFyZ3VtZW50c1sxXSk7cmV0dXJuIG51bGwhPWUucmVzb2x2ZUNvbnRleHQmJm8oZS5yZXNvbHZlQ29udGV4dCkscyh0LGZ1bmN0aW9uKHQscil7cmV0dXJuIG4ocix0LGUpfSl9fSx7ImVzNS1leHQvb2JqZWN0L2NvcHkiOjE5MiwiZXM1LWV4dC9vYmplY3QvbWFwIjoyMDEsImVzNS1leHQvb2JqZWN0L25vcm1hbGl6ZS1vcHRpb25zIjoyMDIsImVzNS1leHQvb2JqZWN0L3ZhbGlkLWNhbGxhYmxlIjoyMDYsImVzNS1leHQvb2JqZWN0L3ZhbGlkLXZhbHVlIjoyMDh9XSwxNTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZXM1LWV4dC9vYmplY3QvYXNzaWduIiksYT10KCJlczUtZXh0L29iamVjdC9ub3JtYWxpemUtb3B0aW9ucyIpLGk9dCgiZXM1LWV4dC9vYmplY3QvaXMtY2FsbGFibGUiKSxvPXQoImVzNS1leHQvc3RyaW5nLyMvY29udGFpbnMiKTsoZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsaSxzLGwsYztyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyfHwic3RyaW5nIiE9dHlwZW9mIHQ/KGw9ZSxlPXQsdD1udWxsKTpsPWFyZ3VtZW50c1syXSxudWxsPT10PyhyPXM9ITAsaT0hMSk6KHI9by5jYWxsKHQsImMiKSxpPW8uY2FsbCh0LCJlIikscz1vLmNhbGwodCwidyIpKSxjPXt2YWx1ZTplLGNvbmZpZ3VyYWJsZTpyLGVudW1lcmFibGU6aSx3cml0YWJsZTpzfSxsP24oYShsKSxjKTpjfSkuZ3M9ZnVuY3Rpb24odCxlLHIpe3ZhciBzLGwsYyx1O3JldHVybiJzdHJpbmciIT10eXBlb2YgdD8oYz1yLHI9ZSxlPXQsdD1udWxsKTpjPWFyZ3VtZW50c1szXSxudWxsPT1lP2U9dm9pZCAwOmkoZSk/bnVsbD09cj9yPXZvaWQgMDppKHIpfHwoYz1yLHI9dm9pZCAwKTooYz1lLGU9cj12b2lkIDApLG51bGw9PXQ/KHM9ITAsbD0hMSk6KHM9by5jYWxsKHQsImMiKSxsPW8uY2FsbCh0LCJlIikpLHU9e2dldDplLHNldDpyLGNvbmZpZ3VyYWJsZTpzLGVudW1lcmFibGU6bH0sYz9uKGEoYyksdSk6dX19LHsiZXM1LWV4dC9vYmplY3QvYXNzaWduIjoxODksImVzNS1leHQvb2JqZWN0L2lzLWNhbGxhYmxlIjoxOTUsImVzNS1leHQvb2JqZWN0L25vcm1hbGl6ZS1vcHRpb25zIjoyMDIsImVzNS1leHQvc3RyaW5nLyMvY29udGFpbnMiOjIwOX1dLDE1NDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuO249dGhpcyxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZSh0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiByKHQpe3ZhciByO3JldHVybiAxPT09dC5sZW5ndGgmJihyPXQsdD1mdW5jdGlvbih0LG4pe3JldHVybiBlKHIodCksbil9KSx7bGVmdDpmdW5jdGlvbihlLHIsbixhKXtmb3IobnVsbD09biYmKG49MCksbnVsbD09YSYmKGE9ZS5sZW5ndGgpO248YTspe3ZhciBpPW4rYT4+PjE7dChlW2ldLHIpPDA/bj1pKzE6YT1pfXJldHVybiBufSxyaWdodDpmdW5jdGlvbihlLHIsbixhKXtmb3IobnVsbD09biYmKG49MCksbnVsbD09YSYmKGE9ZS5sZW5ndGgpO248YTspe3ZhciBpPW4rYT4+PjE7dChlW2ldLHIpPjA/YT1pOm49aSsxfXJldHVybiBufX19dmFyIG49cihlKSxhPW4ucmlnaHQsaT1uLmxlZnQ7ZnVuY3Rpb24gbyh0LGUpe3JldHVyblt0LGVdfWZ1bmN0aW9uIHModCl7cmV0dXJuIG51bGw9PT10P05hTjordH1mdW5jdGlvbiBsKHQsZSl7dmFyIHIsbixhPXQubGVuZ3RoLGk9MCxvPS0xLGw9MCxjPTA7aWYobnVsbD09ZSlmb3IoOysrbzxhOylpc05hTihyPXModFtvXSkpfHwoYys9KG49ci1sKSooci0obCs9bi8rK2kpKSk7ZWxzZSBmb3IoOysrbzxhOylpc05hTihyPXMoZSh0W29dLG8sdCkpKXx8KGMrPShuPXItbCkqKHItKGwrPW4vKytpKSkpO2lmKGk+MSlyZXR1cm4gYy8oaS0xKX1mdW5jdGlvbiBjKHQsZSl7dmFyIHI9bCh0LGUpO3JldHVybiByP01hdGguc3FydChyKTpyfWZ1bmN0aW9uIHUodCxlKXt2YXIgcixuLGEsaT10Lmxlbmd0aCxvPS0xO2lmKG51bGw9PWUpe2Zvcig7KytvPGk7KWlmKG51bGwhPShyPXRbb10pJiZyPj1yKWZvcihuPWE9cjsrK288aTspbnVsbCE9KHI9dFtvXSkmJihuPnImJihuPXIpLGE8ciYmKGE9cikpfWVsc2UgZm9yKDsrK288aTspaWYobnVsbCE9KHI9ZSh0W29dLG8sdCkpJiZyPj1yKWZvcihuPWE9cjsrK288aTspbnVsbCE9KHI9ZSh0W29dLG8sdCkpJiYobj5yJiYobj1yKSxhPHImJihhPXIpKTtyZXR1cm5bbixhXX12YXIgaD1BcnJheS5wcm90b3R5cGUsZj1oLnNsaWNlLHA9aC5tYXA7ZnVuY3Rpb24gZCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gZyh0KXtyZXR1cm4gdH1mdW5jdGlvbiB2KHQsZSxyKXt0PSt0LGU9K2Uscj0oYT1hcmd1bWVudHMubGVuZ3RoKTwyPyhlPXQsdD0wLDEpOmE8Mz8xOityO2Zvcih2YXIgbj0tMSxhPTB8TWF0aC5tYXgoMCxNYXRoLmNlaWwoKGUtdCkvcikpLGk9bmV3IEFycmF5KGEpOysrbjxhOylpW25dPXQrbipyO3JldHVybiBpfXZhciBtPU1hdGguc3FydCg1MCkseT1NYXRoLnNxcnQoMTApLHg9TWF0aC5zcXJ0KDIpO2Z1bmN0aW9uIGIodCxlLHIpe3ZhciBuPShlLXQpL01hdGgubWF4KDAsciksYT1NYXRoLmZsb29yKE1hdGgubG9nKG4pL01hdGguTE4xMCksaT1uL01hdGgucG93KDEwLGEpO3JldHVybiBhPj0wPyhpPj1tPzEwOmk+PXk/NTppPj14PzI6MSkqTWF0aC5wb3coMTAsYSk6LU1hdGgucG93KDEwLC1hKS8oaT49bT8xMDppPj15PzU6aT49eD8yOjEpfWZ1bmN0aW9uIF8odCxlLHIpe3ZhciBuPU1hdGguYWJzKGUtdCkvTWF0aC5tYXgoMCxyKSxhPU1hdGgucG93KDEwLE1hdGguZmxvb3IoTWF0aC5sb2cobikvTWF0aC5MTjEwKSksaT1uL2E7cmV0dXJuIGk+PW0/YSo9MTA6aT49eT9hKj01Omk+PXgmJihhKj0yKSxlPHQ/LWE6YX1mdW5jdGlvbiB3KHQpe3JldHVybiBNYXRoLmNlaWwoTWF0aC5sb2codC5sZW5ndGgpL01hdGguTE4yKSsxfWZ1bmN0aW9uIGsodCxlLHIpe2lmKG51bGw9PXImJihyPXMpLG49dC5sZW5ndGgpe2lmKChlPStlKTw9MHx8bjwyKXJldHVybityKHRbMF0sMCx0KTtpZihlPj0xKXJldHVybityKHRbbi0xXSxuLTEsdCk7dmFyIG4sYT0obi0xKSplLGk9TWF0aC5mbG9vcihhKSxvPStyKHRbaV0saSx0KTtyZXR1cm4gbysoK3IodFtpKzFdLGkrMSx0KS1vKSooYS1pKX19ZnVuY3Rpb24gVCh0LGUpe3ZhciByLG4sYT10Lmxlbmd0aCxpPS0xO2lmKG51bGw9PWUpe2Zvcig7KytpPGE7KWlmKG51bGwhPShyPXRbaV0pJiZyPj1yKWZvcihuPXI7KytpPGE7KW51bGwhPShyPXRbaV0pJiZuPnImJihuPXIpfWVsc2UgZm9yKDsrK2k8YTspaWYobnVsbCE9KHI9ZSh0W2ldLGksdCkpJiZyPj1yKWZvcihuPXI7KytpPGE7KW51bGwhPShyPWUodFtpXSxpLHQpKSYmbj5yJiYobj1yKTtyZXR1cm4gbn1mdW5jdGlvbiBNKHQpe2lmKCEoYT10Lmxlbmd0aCkpcmV0dXJuW107Zm9yKHZhciBlPS0xLHI9VCh0LEEpLG49bmV3IEFycmF5KHIpOysrZTxyOylmb3IodmFyIGEsaT0tMSxvPW5bZV09bmV3IEFycmF5KGEpOysraTxhOylvW2ldPXRbaV1bZV07cmV0dXJuIG59ZnVuY3Rpb24gQSh0KXtyZXR1cm4gdC5sZW5ndGh9dC5iaXNlY3Q9YSx0LmJpc2VjdFJpZ2h0PWEsdC5iaXNlY3RMZWZ0PWksdC5hc2NlbmRpbmc9ZSx0LmJpc2VjdG9yPXIsdC5jcm9zcz1mdW5jdGlvbih0LGUscil7dmFyIG4sYSxpLHMsbD10Lmxlbmd0aCxjPWUubGVuZ3RoLHU9bmV3IEFycmF5KGwqYyk7Zm9yKG51bGw9PXImJihyPW8pLG49aT0wO248bDsrK24pZm9yKHM9dFtuXSxhPTA7YTxjOysrYSwrK2kpdVtpXT1yKHMsZVthXSk7cmV0dXJuIHV9LHQuZGVzY2VuZGluZz1mdW5jdGlvbih0LGUpe3JldHVybiBlPHQ/LTE6ZT50PzE6ZT49dD8wOk5hTn0sdC5kZXZpYXRpb249Yyx0LmV4dGVudD11LHQuaGlzdG9ncmFtPWZ1bmN0aW9uKCl7dmFyIHQ9ZyxlPXUscj13O2Z1bmN0aW9uIG4obil7dmFyIGksbyxzPW4ubGVuZ3RoLGw9bmV3IEFycmF5KHMpO2ZvcihpPTA7aTxzOysraSlsW2ldPXQobltpXSxpLG4pO3ZhciBjPWUobCksdT1jWzBdLGg9Y1sxXSxmPXIobCx1LGgpO0FycmF5LmlzQXJyYXkoZil8fChmPV8odSxoLGYpLGY9dihNYXRoLmNlaWwodS9mKSpmLGgsZikpO2Zvcih2YXIgcD1mLmxlbmd0aDtmWzBdPD11OylmLnNoaWZ0KCksLS1wO2Zvcig7ZltwLTFdPmg7KWYucG9wKCksLS1wO3ZhciBkLGc9bmV3IEFycmF5KHArMSk7Zm9yKGk9MDtpPD1wOysraSkoZD1nW2ldPVtdKS54MD1pPjA/ZltpLTFdOnUsZC54MT1pPHA/ZltpXTpoO2ZvcihpPTA7aTxzOysraSl1PD0obz1sW2ldKSYmbzw9aCYmZ1thKGYsbywwLHApXS5wdXNoKG5baV0pO3JldHVybiBnfXJldHVybiBuLnZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6ZChlKSxuKTp0fSxuLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmQoW3RbMF0sdFsxXV0pLG4pOmV9LG4udGhyZXNob2xkcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkFycmF5LmlzQXJyYXkodCk/ZChmLmNhbGwodCkpOmQodCksbik6cn0sbn0sdC50aHJlc2hvbGRGcmVlZG1hbkRpYWNvbmlzPWZ1bmN0aW9uKHQscixuKXtyZXR1cm4gdD1wLmNhbGwodCxzKS5zb3J0KGUpLE1hdGguY2VpbCgobi1yKS8oMiooayh0LC43NSktayh0LC4yNSkpKk1hdGgucG93KHQubGVuZ3RoLC0xLzMpKSl9LHQudGhyZXNob2xkU2NvdHQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBNYXRoLmNlaWwoKHItZSkvKDMuNSpjKHQpKk1hdGgucG93KHQubGVuZ3RoLC0xLzMpKSl9LHQudGhyZXNob2xkU3R1cmdlcz13LHQubWF4PWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhPXQubGVuZ3RoLGk9LTE7aWYobnVsbD09ZSl7Zm9yKDsrK2k8YTspaWYobnVsbCE9KHI9dFtpXSkmJnI+PXIpZm9yKG49cjsrK2k8YTspbnVsbCE9KHI9dFtpXSkmJnI+biYmKG49cil9ZWxzZSBmb3IoOysraTxhOylpZihudWxsIT0ocj1lKHRbaV0saSx0KSkmJnI+PXIpZm9yKG49cjsrK2k8YTspbnVsbCE9KHI9ZSh0W2ldLGksdCkpJiZyPm4mJihuPXIpO3JldHVybiBufSx0Lm1lYW49ZnVuY3Rpb24odCxlKXt2YXIgcixuPXQubGVuZ3RoLGE9bixpPS0xLG89MDtpZihudWxsPT1lKWZvcig7KytpPG47KWlzTmFOKHI9cyh0W2ldKSk/LS1hOm8rPXI7ZWxzZSBmb3IoOysraTxuOylpc05hTihyPXMoZSh0W2ldLGksdCkpKT8tLWE6bys9cjtpZihhKXJldHVybiBvL2F9LHQubWVkaWFuPWZ1bmN0aW9uKHQscil7dmFyIG4sYT10Lmxlbmd0aCxpPS0xLG89W107aWYobnVsbD09cilmb3IoOysraTxhOylpc05hTihuPXModFtpXSkpfHxvLnB1c2gobik7ZWxzZSBmb3IoOysraTxhOylpc05hTihuPXMocih0W2ldLGksdCkpKXx8by5wdXNoKG4pO3JldHVybiBrKG8uc29ydChlKSwuNSl9LHQubWVyZ2U9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHIsbixhPXQubGVuZ3RoLGk9LTEsbz0wOysraTxhOylvKz10W2ldLmxlbmd0aDtmb3Iocj1uZXcgQXJyYXkobyk7LS1hPj0wOylmb3IoZT0obj10W2FdKS5sZW5ndGg7LS1lPj0wOylyWy0tb109bltlXTtyZXR1cm4gcn0sdC5taW49VCx0LnBhaXJzPWZ1bmN0aW9uKHQsZSl7bnVsbD09ZSYmKGU9byk7Zm9yKHZhciByPTAsbj10Lmxlbmd0aC0xLGE9dFswXSxpPW5ldyBBcnJheShuPDA/MDpuKTtyPG47KWlbcl09ZShhLGE9dFsrK3JdKTtyZXR1cm4gaX0sdC5wZXJtdXRlPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPWUubGVuZ3RoLG49bmV3IEFycmF5KHIpO3ItLTspbltyXT10W2Vbcl1dO3JldHVybiBufSx0LnF1YW50aWxlPWssdC5yYW5nZT12LHQuc2Nhbj1mdW5jdGlvbih0LHIpe2lmKG49dC5sZW5ndGgpe3ZhciBuLGEsaT0wLG89MCxzPXRbb107Zm9yKG51bGw9PXImJihyPWUpOysraTxuOykocihhPXRbaV0scyk8MHx8MCE9PXIocyxzKSkmJihzPWEsbz1pKTtyZXR1cm4gMD09PXIocyxzKT9vOnZvaWQgMH19LHQuc2h1ZmZsZT1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuLGEsaT0obnVsbD09cj90Lmxlbmd0aDpyKS0oZT1udWxsPT1lPzA6K2UpO2k7KWE9TWF0aC5yYW5kb20oKSppLS18MCxuPXRbaStlXSx0W2krZV09dFthK2VdLHRbYStlXT1uO3JldHVybiB0fSx0LnN1bT1mdW5jdGlvbih0LGUpe3ZhciByLG49dC5sZW5ndGgsYT0tMSxpPTA7aWYobnVsbD09ZSlmb3IoOysrYTxuOykocj0rdFthXSkmJihpKz1yKTtlbHNlIGZvcig7KythPG47KShyPStlKHRbYV0sYSx0KSkmJihpKz1yKTtyZXR1cm4gaX0sdC50aWNrcz1mdW5jdGlvbih0LGUscil7dmFyIG4sYSxpLG8scz0tMTtpZihyPStyLCh0PSt0KT09KGU9K2UpJiZyPjApcmV0dXJuW3RdO2lmKChuPWU8dCkmJihhPXQsdD1lLGU9YSksMD09PShvPWIodCxlLHIpKXx8IWlzRmluaXRlKG8pKXJldHVybltdO2lmKG8+MClmb3IodD1NYXRoLmNlaWwodC9vKSxlPU1hdGguZmxvb3IoZS9vKSxpPW5ldyBBcnJheShhPU1hdGguY2VpbChlLXQrMSkpOysrczxhOylpW3NdPSh0K3MpKm87ZWxzZSBmb3IodD1NYXRoLmZsb29yKHQqbyksZT1NYXRoLmNlaWwoZSpvKSxpPW5ldyBBcnJheShhPU1hdGguY2VpbCh0LWUrMSkpOysrczxhOylpW3NdPSh0LXMpL287cmV0dXJuIG4mJmkucmV2ZXJzZSgpLGl9LHQudGlja0luY3JlbWVudD1iLHQudGlja1N0ZXA9Xyx0LnRyYW5zcG9zZT1NLHQudmFyaWFuY2U9bCx0LnppcD1mdW5jdGlvbigpe3JldHVybiBNKGFyZ3VtZW50cyl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0oIm9iamVjdCI9PXR5cGVvZiByJiYidW5kZWZpbmVkIiE9dHlwZW9mIGU/cjpuLmQzPW4uZDN8fHt9KX0se31dLDE1NTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuO249dGhpcyxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZSgpe31mdW5jdGlvbiByKHQscil7dmFyIG49bmV3IGU7aWYodCBpbnN0YW5jZW9mIGUpdC5lYWNoKGZ1bmN0aW9uKHQsZSl7bi5zZXQoZSx0KX0pO2Vsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSl7dmFyIGEsaT0tMSxvPXQubGVuZ3RoO2lmKG51bGw9PXIpZm9yKDsrK2k8bzspbi5zZXQoaSx0W2ldKTtlbHNlIGZvcig7KytpPG87KW4uc2V0KHIoYT10W2ldLGksdCksYSl9ZWxzZSBpZih0KWZvcih2YXIgcyBpbiB0KW4uc2V0KHMsdFtzXSk7cmV0dXJuIG59ZnVuY3Rpb24gbigpe3JldHVybnt9fWZ1bmN0aW9uIGEodCxlLHIpe3RbZV09cn1mdW5jdGlvbiBpKCl7cmV0dXJuIHIoKX1mdW5jdGlvbiBvKHQsZSxyKXt0LnNldChlLHIpfWZ1bmN0aW9uIHMoKXt9ZS5wcm90b3R5cGU9ci5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmUsaGFzOmZ1bmN0aW9uKHQpe3JldHVybiIkIit0IGluIHRoaXN9LGdldDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpc1siJCIrdF19LHNldDpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzWyIkIit0XT1lLHRoaXN9LHJlbW92ZTpmdW5jdGlvbih0KXt2YXIgZT0iJCIrdDtyZXR1cm4gZSBpbiB0aGlzJiZkZWxldGUgdGhpc1tlXX0sY2xlYXI6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcykiJCI9PT10WzBdJiZkZWxldGUgdGhpc1t0XX0sa2V5czpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzKSIkIj09PWVbMF0mJnQucHVzaChlLnNsaWNlKDEpKTtyZXR1cm4gdH0sdmFsdWVzOmZ1bmN0aW9uKCl7dmFyIHQ9W107Zm9yKHZhciBlIGluIHRoaXMpIiQiPT09ZVswXSYmdC5wdXNoKHRoaXNbZV0pO3JldHVybiB0fSxlbnRyaWVzOmZ1bmN0aW9uKCl7dmFyIHQ9W107Zm9yKHZhciBlIGluIHRoaXMpIiQiPT09ZVswXSYmdC5wdXNoKHtrZXk6ZS5zbGljZSgxKSx2YWx1ZTp0aGlzW2VdfSk7cmV0dXJuIHR9LHNpemU6ZnVuY3Rpb24oKXt2YXIgdD0wO2Zvcih2YXIgZSBpbiB0aGlzKSIkIj09PWVbMF0mJisrdDtyZXR1cm4gdH0sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcylpZigiJCI9PT10WzBdKXJldHVybiExO3JldHVybiEwfSxlYWNoOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0aGlzKSIkIj09PWVbMF0mJnQodGhpc1tlXSxlLnNsaWNlKDEpLHRoaXMpfX07dmFyIGw9ci5wcm90b3R5cGU7ZnVuY3Rpb24gYyh0LGUpe3ZhciByPW5ldyBzO2lmKHQgaW5zdGFuY2VvZiBzKXQuZWFjaChmdW5jdGlvbih0KXtyLmFkZCh0KX0pO2Vsc2UgaWYodCl7dmFyIG49LTEsYT10Lmxlbmd0aDtpZihudWxsPT1lKWZvcig7KytuPGE7KXIuYWRkKHRbbl0pO2Vsc2UgZm9yKDsrK248YTspci5hZGQoZSh0W25dLG4sdCkpfXJldHVybiByfXMucHJvdG90eXBlPWMucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpzLGhhczpsLmhhcyxhZGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbIiQiKyh0Kz0iIildPXQsdGhpc30scmVtb3ZlOmwucmVtb3ZlLGNsZWFyOmwuY2xlYXIsdmFsdWVzOmwua2V5cyxzaXplOmwuc2l6ZSxlbXB0eTpsLmVtcHR5LGVhY2g6bC5lYWNofSx0Lm5lc3Q9ZnVuY3Rpb24oKXt2YXIgdCxlLHMsbD1bXSxjPVtdO2Z1bmN0aW9uIHUobixhLGksbyl7aWYoYT49bC5sZW5ndGgpcmV0dXJuIG51bGwhPXQmJm4uc29ydCh0KSxudWxsIT1lP2Uobik6bjtmb3IodmFyIHMsYyxoLGY9LTEscD1uLmxlbmd0aCxkPWxbYSsrXSxnPXIoKSx2PWkoKTsrK2Y8cDspKGg9Zy5nZXQocz1kKGM9bltmXSkrIiIpKT9oLnB1c2goYyk6Zy5zZXQocyxbY10pO3JldHVybiBnLmVhY2goZnVuY3Rpb24odCxlKXtvKHYsZSx1KHQsYSxpLG8pKX0pLHZ9cmV0dXJuIHM9e29iamVjdDpmdW5jdGlvbih0KXtyZXR1cm4gdSh0LDAsbixhKX0sbWFwOmZ1bmN0aW9uKHQpe3JldHVybiB1KHQsMCxpLG8pfSxlbnRyaWVzOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbiB0KHIsbil7aWYoKytuPmwubGVuZ3RoKXJldHVybiByO3ZhciBhLGk9Y1tuLTFdO3JldHVybiBudWxsIT1lJiZuPj1sLmxlbmd0aD9hPXIuZW50cmllcygpOihhPVtdLHIuZWFjaChmdW5jdGlvbihlLHIpe2EucHVzaCh7a2V5OnIsdmFsdWVzOnQoZSxuKX0pfSkpLG51bGwhPWk/YS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGkodC5rZXksZS5rZXkpfSk6YX0odSh0LDAsaSxvKSwwKX0sa2V5OmZ1bmN0aW9uKHQpe3JldHVybiBsLnB1c2godCksc30sc29ydEtleXM6ZnVuY3Rpb24odCl7cmV0dXJuIGNbbC5sZW5ndGgtMV09dCxzfSxzb3J0VmFsdWVzOmZ1bmN0aW9uKGUpe3JldHVybiB0PWUsc30scm9sbHVwOmZ1bmN0aW9uKHQpe3JldHVybiBlPXQsc319fSx0LnNldD1jLHQubWFwPXIsdC5rZXlzPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0KWUucHVzaChyKTtyZXR1cm4gZX0sdC52YWx1ZXM9ZnVuY3Rpb24odCl7dmFyIGU9W107Zm9yKHZhciByIGluIHQpZS5wdXNoKHRbcl0pO3JldHVybiBlfSx0LmVudHJpZXM9ZnVuY3Rpb24odCl7dmFyIGU9W107Zm9yKHZhciByIGluIHQpZS5wdXNoKHtrZXk6cix2YWx1ZTp0W3JdfSk7cmV0dXJuIGV9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0oIm9iamVjdCI9PXR5cGVvZiByJiYidW5kZWZpbmVkIiE9dHlwZW9mIGU/cjpuLmQzPW4uZDN8fHt9KX0se31dLDE1NjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuO249dGhpcyxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZSh0LGUscil7dC5wcm90b3R5cGU9ZS5wcm90b3R5cGU9cixyLmNvbnN0cnVjdG9yPXR9ZnVuY3Rpb24gcih0LGUpe3ZhciByPU9iamVjdC5jcmVhdGUodC5wcm90b3R5cGUpO2Zvcih2YXIgbiBpbiBlKXJbbl09ZVtuXTtyZXR1cm4gcn1mdW5jdGlvbiBuKCl7fXZhciBhPSJcXHMqKFsrLV0/XFxkKylcXHMqIixpPSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KVxccyoiLG89IlxccyooWystXT9cXGQqXFwuP1xcZCsoPzpbZUVdWystXT9cXGQrKT8pJVxccyoiLHM9L14jKFswLTlhLWZdezMsOH0pJC8sbD1uZXcgUmVnRXhwKCJecmdiXFwoIitbYSxhLGFdKyJcXCkkIiksYz1uZXcgUmVnRXhwKCJecmdiXFwoIitbbyxvLG9dKyJcXCkkIiksdT1uZXcgUmVnRXhwKCJecmdiYVxcKCIrW2EsYSxhLGldKyJcXCkkIiksaD1uZXcgUmVnRXhwKCJecmdiYVxcKCIrW28sbyxvLGldKyJcXCkkIiksZj1uZXcgUmVnRXhwKCJeaHNsXFwoIitbaSxvLG9dKyJcXCkkIikscD1uZXcgUmVnRXhwKCJeaHNsYVxcKCIrW2ksbyxvLGldKyJcXCkkIiksZD17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSxibHVlOjI1NSxibHVldmlvbGV0OjkwNTUyMDIsYnJvd246MTA4MjQyMzQsYnVybHl3b29kOjE0NTk2MjMxLGNhZGV0Ymx1ZTo2MjY2NTI4LGNoYXJ0cmV1c2U6ODM4ODM1MixjaG9jb2xhdGU6MTM3ODk0NzAsY29yYWw6MTY3NDQyNzIsY29ybmZsb3dlcmJsdWU6NjU5MTk4MSxjb3Juc2lsazoxNjc3NTM4OCxjcmltc29uOjE0NDIzMTAwLGN5YW46NjU1MzUsZGFya2JsdWU6MTM5LGRhcmtjeWFuOjM1NzIzLGRhcmtnb2xkZW5yb2Q6MTIwOTI5MzksZGFya2dyYXk6MTExMTkwMTcsZGFya2dyZWVuOjI1NjAwLGRhcmtncmV5OjExMTE5MDE3LGRhcmtraGFraToxMjQzMzI1OSxkYXJrbWFnZW50YTo5MTA5NjQzLGRhcmtvbGl2ZWdyZWVuOjU1OTc5OTksZGFya29yYW5nZToxNjc0NzUyMCxkYXJrb3JjaGlkOjEwMDQwMDEyLGRhcmtyZWQ6OTEwOTUwNCxkYXJrc2FsbW9uOjE1MzA4NDEwLGRhcmtzZWFncmVlbjo5NDE5OTE5LGRhcmtzbGF0ZWJsdWU6NDczNDM0NyxkYXJrc2xhdGVncmF5OjMxMDA0OTUsZGFya3NsYXRlZ3JleTozMTAwNDk1LGRhcmt0dXJxdW9pc2U6NTI5NDUsZGFya3Zpb2xldDo5Njk5NTM5LGRlZXBwaW5rOjE2NzE2OTQ3LGRlZXBza3libHVlOjQ5MTUxLGRpbWdyYXk6NjkwODI2NSxkaW1ncmV5OjY5MDgyNjUsZG9kZ2VyYmx1ZToyMDAzMTk5LGZpcmVicmljazoxMTY3NDE0NixmbG9yYWx3aGl0ZToxNjc3NTkyMCxmb3Jlc3RncmVlbjoyMjYzODQyLGZ1Y2hzaWE6MTY3MTE5MzUsZ2FpbnNib3JvOjE0NDc0NDYwLGdob3N0d2hpdGU6MTYzMTY2NzEsZ29sZDoxNjc2NjcyMCxnb2xkZW5yb2Q6MTQzMjkxMjAsZ3JheTo4NDIxNTA0LGdyZWVuOjMyNzY4LGdyZWVueWVsbG93OjExNDAzMDU1LGdyZXk6ODQyMTUwNCxob25leWRldzoxNTc5NDE2MCxob3RwaW5rOjE2NzM4NzQwLGluZGlhbnJlZDoxMzQ1ODUyNCxpbmRpZ286NDkxNTMzMCxpdm9yeToxNjc3NzIwMCxraGFraToxNTc4NzY2MCxsYXZlbmRlcjoxNTEzMjQxMCxsYXZlbmRlcmJsdXNoOjE2NzczMzY1LGxhd25ncmVlbjo4MTkwOTc2LGxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NyxtZWRpdW1zbGF0ZWJsdWU6ODA4Nzc5MCxtZWRpdW1zcHJpbmdncmVlbjo2NDE1NCxtZWRpdW10dXJxdW9pc2U6NDc3MjMwMCxtZWRpdW12aW9sZXRyZWQ6MTMwNDcxNzMsbWlkbmlnaHRibHVlOjE2NDQ5MTIsbWludGNyZWFtOjE2MTIxODUwLG1pc3R5cm9zZToxNjc3MDI3Myxtb2NjYXNpbjoxNjc3MDIyOSxuYXZham93aGl0ZToxNjc2ODY4NSxuYXZ5OjEyOCxvbGRsYWNlOjE2NjQzNTU4LG9saXZlOjg0MjEzNzYsb2xpdmVkcmFiOjcwNDg3Mzksb3JhbmdlOjE2NzUzOTIwLG9yYW5nZXJlZDoxNjcyOTM0NCxvcmNoaWQ6MTQzMTU3MzQscGFsZWdvbGRlbnJvZDoxNTY1NzEzMCxwYWxlZ3JlZW46MTAwMjU4ODAscGFsZXR1cnF1b2lzZToxMTUyOTk2NixwYWxldmlvbGV0cmVkOjE0MzgxMjAzLHBhcGF5YXdoaXA6MTY3NzMwNzcscGVhY2hwdWZmOjE2NzY3NjczLHBlcnU6MTM0Njg5OTEscGluazoxNjc2MTAzNSxwbHVtOjE0NTI0NjM3LHBvd2RlcmJsdWU6MTE1OTE5MTAscHVycGxlOjgzODg3MzYscmViZWNjYXB1cnBsZTo2Njk3ODgxLHJlZDoxNjcxMTY4MCxyb3N5YnJvd246MTIzNTc1MTkscm95YWxibHVlOjQyODY5NDUsc2FkZGxlYnJvd246OTEyNzE4NyxzYWxtb246MTY0MTY4ODIsc2FuZHlicm93bjoxNjAzMjg2NCxzZWFncmVlbjozMDUwMzI3LHNlYXNoZWxsOjE2Nzc0NjM4LHNpZW5uYToxMDUwNjc5NyxzaWx2ZXI6MTI2MzIyNTYsc2t5Ymx1ZTo4OTAwMzMxLHNsYXRlYmx1ZTo2OTcwMDYxLHNsYXRlZ3JheTo3MzcyOTQ0LHNsYXRlZ3JleTo3MzcyOTQ0LHNub3c6MTY3NzU5MzAsc3ByaW5nZ3JlZW46NjU0MDcsc3RlZWxibHVlOjQ2MjA5ODAsdGFuOjEzODA4NzgwLHRlYWw6MzI4OTYsdGhpc3RsZToxNDIwNDg4OCx0b21hdG86MTY3MzcwOTUsdHVycXVvaXNlOjQyNTE4NTYsdmlvbGV0OjE1NjMxMDg2LHdoZWF0OjE2MTEzMzMxLHdoaXRlOjE2Nzc3MjE1LHdoaXRlc21va2U6MTYxMTkyODUseWVsbG93OjE2Nzc2OTYwLHllbGxvd2dyZWVuOjEwMTQ1MDc0fTtmdW5jdGlvbiBnKCl7cmV0dXJuIHRoaXMucmdiKCkuZm9ybWF0SGV4KCl9ZnVuY3Rpb24gdigpe3JldHVybiB0aGlzLnJnYigpLmZvcm1hdFJnYigpfWZ1bmN0aW9uIG0odCl7dmFyIGUscjtyZXR1cm4gdD0odCsiIikudHJpbSgpLnRvTG93ZXJDYXNlKCksKGU9cy5leGVjKHQpKT8ocj1lWzFdLmxlbmd0aCxlPXBhcnNlSW50KGVbMV0sMTYpLDY9PT1yP3koZSk6Mz09PXI/bmV3IHcoZT4+OCYxNXxlPj40JjI0MCxlPj40JjE1fDI0MCZlLCgxNSZlKTw8NHwxNSZlLDEpOjg9PT1yP25ldyB3KGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsKDI1NSZlKS8yNTUpOjQ9PT1yP25ldyB3KGU+PjEyJjE1fGU+PjgmMjQwLGU+PjgmMTV8ZT4+NCYyNDAsZT4+NCYxNXwyNDAmZSwoKDE1JmUpPDw0fDE1JmUpLzI1NSk6bnVsbCk6KGU9bC5leGVjKHQpKT9uZXcgdyhlWzFdLGVbMl0sZVszXSwxKTooZT1jLmV4ZWModCkpP25ldyB3KDI1NSplWzFdLzEwMCwyNTUqZVsyXS8xMDAsMjU1KmVbM10vMTAwLDEpOihlPXUuZXhlYyh0KSk/eChlWzFdLGVbMl0sZVszXSxlWzRdKTooZT1oLmV4ZWModCkpP3goMjU1KmVbMV0vMTAwLDI1NSplWzJdLzEwMCwyNTUqZVszXS8xMDAsZVs0XSk6KGU9Zi5leGVjKHQpKT9BKGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsMSk6KGU9cC5leGVjKHQpKT9BKGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsZVs0XSk6ZC5oYXNPd25Qcm9wZXJ0eSh0KT95KGRbdF0pOiJ0cmFuc3BhcmVudCI9PT10P25ldyB3KE5hTixOYU4sTmFOLDApOm51bGx9ZnVuY3Rpb24geSh0KXtyZXR1cm4gbmV3IHcodD4+MTYmMjU1LHQ+PjgmMjU1LDI1NSZ0LDEpfWZ1bmN0aW9uIHgodCxlLHIsbil7cmV0dXJuIG48PTAmJih0PWU9cj1OYU4pLG5ldyB3KHQsZSxyLG4pfWZ1bmN0aW9uIGIodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBufHwodD1tKHQpKSx0P25ldyB3KCh0PXQucmdiKCkpLnIsdC5nLHQuYix0Lm9wYWNpdHkpOm5ldyB3fWZ1bmN0aW9uIF8odCxlLHIsbil7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP2IodCk6bmV3IHcodCxlLHIsbnVsbD09bj8xOm4pfWZ1bmN0aW9uIHcodCxlLHIsbil7dGhpcy5yPSt0LHRoaXMuZz0rZSx0aGlzLmI9K3IsdGhpcy5vcGFjaXR5PStufWZ1bmN0aW9uIGsoKXtyZXR1cm4iIyIrTSh0aGlzLnIpK00odGhpcy5nKStNKHRoaXMuYil9ZnVuY3Rpb24gVCgpe3ZhciB0PXRoaXMub3BhY2l0eTtyZXR1cm4oMT09PSh0PWlzTmFOKHQpPzE6TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKSk/InJnYigiOiJyZ2JhKCIpK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5yKXx8MCkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLmcpfHwwKSkrIiwgIitNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMuYil8fDApKSsoMT09PXQ/IikiOiIsICIrdCsiKSIpfWZ1bmN0aW9uIE0odCl7cmV0dXJuKCh0PU1hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodCl8fDApKSk8MTY/IjAiOiIiKSt0LnRvU3RyaW5nKDE2KX1mdW5jdGlvbiBBKHQsZSxyLG4pe3JldHVybiBuPD0wP3Q9ZT1yPU5hTjpyPD0wfHxyPj0xP3Q9ZT1OYU46ZTw9MCYmKHQ9TmFOKSxuZXcgTCh0LGUscixuKX1mdW5jdGlvbiBTKHQpe2lmKHQgaW5zdGFuY2VvZiBMKXJldHVybiBuZXcgTCh0LmgsdC5zLHQubCx0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiBufHwodD1tKHQpKSwhdClyZXR1cm4gbmV3IEw7aWYodCBpbnN0YW5jZW9mIEwpcmV0dXJuIHQ7dmFyIGU9KHQ9dC5yZ2IoKSkuci8yNTUscj10LmcvMjU1LGE9dC5iLzI1NSxpPU1hdGgubWluKGUscixhKSxvPU1hdGgubWF4KGUscixhKSxzPU5hTixsPW8taSxjPShvK2kpLzI7cmV0dXJuIGw/KHM9ZT09PW8/KHItYSkvbCs2KihyPGEpOnI9PT1vPyhhLWUpL2wrMjooZS1yKS9sKzQsbC89YzwuNT9vK2k6Mi1vLWkscyo9NjApOmw9Yz4wJiZjPDE/MDpzLG5ldyBMKHMsbCxjLHQub3BhY2l0eSl9ZnVuY3Rpb24gRSh0LGUscixuKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/Uyh0KTpuZXcgTCh0LGUscixudWxsPT1uPzE6bil9ZnVuY3Rpb24gTCh0LGUscixuKXt0aGlzLmg9K3QsdGhpcy5zPStlLHRoaXMubD0rcix0aGlzLm9wYWNpdHk9K259ZnVuY3Rpb24gQyh0LGUscil7cmV0dXJuIDI1NSoodDw2MD9lKyhyLWUpKnQvNjA6dDwxODA/cjp0PDI0MD9lKyhyLWUpKigyNDAtdCkvNjA6ZSl9ZShuLG0se2NvcHk6ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IHRoaXMuY29uc3RydWN0b3IsdGhpcyx0KX0sZGlzcGxheWFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZ2IoKS5kaXNwbGF5YWJsZSgpfSxoZXg6Zyxmb3JtYXRIZXg6Zyxmb3JtYXRIc2w6ZnVuY3Rpb24oKXtyZXR1cm4gUyh0aGlzKS5mb3JtYXRIc2woKX0sZm9ybWF0UmdiOnYsdG9TdHJpbmc6dn0pLGUodyxfLHIobix7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD8xLy43Ok1hdGgucG93KDEvLjcsdCksbmV3IHcodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/Ljc6TWF0aC5wb3coLjcsdCksbmV3IHcodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGRpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuLS41PD10aGlzLnImJnRoaXMucjwyNTUuNSYmLS41PD10aGlzLmcmJnRoaXMuZzwyNTUuNSYmLS41PD10aGlzLmImJnRoaXMuYjwyNTUuNSYmMDw9dGhpcy5vcGFjaXR5JiZ0aGlzLm9wYWNpdHk8PTF9LGhleDprLGZvcm1hdEhleDprLGZvcm1hdFJnYjpULHRvU3RyaW5nOlR9KSksZShMLEUscihuLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10PzEvLjc6TWF0aC5wb3coMS8uNyx0KSxuZXcgTCh0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10Py43Ok1hdGgucG93KC43LHQpLG5ldyBMKHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5oJTM2MCszNjAqKHRoaXMuaDwwKSxlPWlzTmFOKHQpfHxpc05hTih0aGlzLnMpPzA6dGhpcy5zLHI9dGhpcy5sLG49cisocjwuNT9yOjEtcikqZSxhPTIqci1uO3JldHVybiBuZXcgdyhDKHQ+PTI0MD90LTI0MDp0KzEyMCxhLG4pLEModCxhLG4pLEModDwxMjA/dCsyNDA6dC0xMjAsYSxuKSx0aGlzLm9wYWNpdHkpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybigwPD10aGlzLnMmJnRoaXMuczw9MXx8aXNOYU4odGhpcy5zKSkmJjA8PXRoaXMubCYmdGhpcy5sPD0xJiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0sZm9ybWF0SHNsOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcGFjaXR5O3JldHVybigxPT09KHQ9aXNOYU4odCk/MTpNYXRoLm1heCgwLE1hdGgubWluKDEsdCkpKT8iaHNsKCI6ImhzbGEoIikrKHRoaXMuaHx8MCkrIiwgIisxMDAqKHRoaXMuc3x8MCkrIiUsICIrMTAwKih0aGlzLmx8fDApKyIlIisoMT09PXQ/IikiOiIsICIrdCsiKSIpfX0pKTt2YXIgUD1NYXRoLlBJLzE4MCxPPTE4MC9NYXRoLlBJLHo9Ljk2NDIyLEk9MSxEPS44MjUyMSxSPTQvMjksRj02LzI5LEI9MypGKkYsTj1GKkYqRjtmdW5jdGlvbiBqKHQpe2lmKHQgaW5zdGFuY2VvZiBVKXJldHVybiBuZXcgVSh0LmwsdC5hLHQuYix0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiBaKXJldHVybiBKKHQpO3QgaW5zdGFuY2VvZiB3fHwodD1iKHQpKTt2YXIgZSxyLG49WSh0LnIpLGE9WSh0LmcpLGk9WSh0LmIpLG89cSgoLjIyMjUwNDUqbisuNzE2ODc4NiphKy4wNjA2MTY5KmkpL0kpO3JldHVybiBuPT09YSYmYT09PWk/ZT1yPW86KGU9cSgoLjQzNjA3NDcqbisuMzg1MDY0OSphKy4xNDMwODA0KmkpL3opLHI9cSgoLjAxMzkzMjIqbisuMDk3MTA0NSphKy43MTQxNzMzKmkpL0QpKSxuZXcgVSgxMTYqby0xNiw1MDAqKGUtbyksMjAwKihvLXIpLHQub3BhY2l0eSl9ZnVuY3Rpb24gVih0LGUscixuKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/aih0KTpuZXcgVSh0LGUscixudWxsPT1uPzE6bil9ZnVuY3Rpb24gVSh0LGUscixuKXt0aGlzLmw9K3QsdGhpcy5hPStlLHRoaXMuYj0rcix0aGlzLm9wYWNpdHk9K259ZnVuY3Rpb24gcSh0KXtyZXR1cm4gdD5OP01hdGgucG93KHQsMS8zKTp0L0IrUn1mdW5jdGlvbiBIKHQpe3JldHVybiB0PkY/dCp0KnQ6QioodC1SKX1mdW5jdGlvbiBHKHQpe3JldHVybiAyNTUqKHQ8PS4wMDMxMzA4PzEyLjkyKnQ6MS4wNTUqTWF0aC5wb3codCwxLzIuNCktLjA1NSl9ZnVuY3Rpb24gWSh0KXtyZXR1cm4odC89MjU1KTw9LjA0MDQ1P3QvMTIuOTI6TWF0aC5wb3coKHQrLjA1NSkvMS4wNTUsMi40KX1mdW5jdGlvbiBXKHQpe2lmKHQgaW5zdGFuY2VvZiBaKXJldHVybiBuZXcgWih0LmgsdC5jLHQubCx0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiBVfHwodD1qKHQpKSwwPT09dC5hJiYwPT09dC5iKXJldHVybiBuZXcgWihOYU4sMDx0LmwmJnQubDwxMDA/MDpOYU4sdC5sLHQub3BhY2l0eSk7dmFyIGU9TWF0aC5hdGFuMih0LmIsdC5hKSpPO3JldHVybiBuZXcgWihlPDA/ZSszNjA6ZSxNYXRoLnNxcnQodC5hKnQuYSt0LmIqdC5iKSx0LmwsdC5vcGFjaXR5KX1mdW5jdGlvbiBYKHQsZSxyLG4pe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD9XKHQpOm5ldyBaKHQsZSxyLG51bGw9PW4/MTpuKX1mdW5jdGlvbiBaKHQsZSxyLG4pe3RoaXMuaD0rdCx0aGlzLmM9K2UsdGhpcy5sPStyLHRoaXMub3BhY2l0eT0rbn1mdW5jdGlvbiBKKHQpe2lmKGlzTmFOKHQuaCkpcmV0dXJuIG5ldyBVKHQubCwwLDAsdC5vcGFjaXR5KTt2YXIgZT10LmgqUDtyZXR1cm4gbmV3IFUodC5sLE1hdGguY29zKGUpKnQuYyxNYXRoLnNpbihlKSp0LmMsdC5vcGFjaXR5KX1lKFUsVixyKG4se2JyaWdodGVyOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgVSh0aGlzLmwrMTgqKG51bGw9PXQ/MTp0KSx0aGlzLmEsdGhpcy5iLHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IFUodGhpcy5sLTE4KihudWxsPT10PzE6dCksdGhpcy5hLHRoaXMuYix0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXt2YXIgdD0odGhpcy5sKzE2KS8xMTYsZT1pc05hTih0aGlzLmEpP3Q6dCt0aGlzLmEvNTAwLHI9aXNOYU4odGhpcy5iKT90OnQtdGhpcy5iLzIwMDtyZXR1cm4gbmV3IHcoRygzLjEzMzg1NjEqKGU9eipIKGUpKS0xLjYxNjg2NjcqKHQ9SSpIKHQpKS0uNDkwNjE0Nioocj1EKkgocikpKSxHKC0uOTc4NzY4NCplKzEuOTE2MTQxNSp0Ky4wMzM0NTQqciksRyguMDcxOTQ1MyplLS4yMjg5OTE0KnQrMS40MDUyNDI3KnIpLHRoaXMub3BhY2l0eSl9fSkpLGUoWixYLHIobix7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBaKHRoaXMuaCx0aGlzLmMsdGhpcy5sKzE4KihudWxsPT10PzE6dCksdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgWih0aGlzLmgsdGhpcy5jLHRoaXMubC0xOCoobnVsbD09dD8xOnQpLHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3JldHVybiBKKHRoaXMpLnJnYigpfX0pKTt2YXIgSz0tLjE0ODYxLFE9MS43ODI3NywkPS0uMjkyMjcsdHQ9LS45MDY0OSxldD0xLjk3Mjk0LHJ0PWV0KnR0LG50PWV0KlEsYXQ9USokLXR0Kks7ZnVuY3Rpb24gaXQodCxlLHIsbil7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP2Z1bmN0aW9uKHQpe2lmKHQgaW5zdGFuY2VvZiBvdClyZXR1cm4gbmV3IG90KHQuaCx0LnMsdC5sLHQub3BhY2l0eSk7dCBpbnN0YW5jZW9mIHd8fCh0PWIodCkpO3ZhciBlPXQuci8yNTUscj10LmcvMjU1LG49dC5iLzI1NSxhPShhdCpuK3J0KmUtbnQqcikvKGF0K3J0LW50KSxpPW4tYSxvPShldCooci1hKS0kKmkpL3R0LHM9TWF0aC5zcXJ0KG8qbytpKmkpLyhldCphKigxLWEpKSxsPXM/TWF0aC5hdGFuMihvLGkpKk8tMTIwOk5hTjtyZXR1cm4gbmV3IG90KGw8MD9sKzM2MDpsLHMsYSx0Lm9wYWNpdHkpfSh0KTpuZXcgb3QodCxlLHIsbnVsbD09bj8xOm4pfWZ1bmN0aW9uIG90KHQsZSxyLG4pe3RoaXMuaD0rdCx0aGlzLnM9K2UsdGhpcy5sPStyLHRoaXMub3BhY2l0eT0rbn1lKG90LGl0LHIobix7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD8xLy43Ok1hdGgucG93KDEvLjcsdCksbmV3IG90KHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/Ljc6TWF0aC5wb3coLjcsdCksbmV3IG90KHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7dmFyIHQ9aXNOYU4odGhpcy5oKT8wOih0aGlzLmgrMTIwKSpQLGU9K3RoaXMubCxyPWlzTmFOKHRoaXMucyk/MDp0aGlzLnMqZSooMS1lKSxuPU1hdGguY29zKHQpLGE9TWF0aC5zaW4odCk7cmV0dXJuIG5ldyB3KDI1NSooZStyKihLKm4rUSphKSksMjU1KihlK3IqKCQqbit0dCphKSksMjU1KihlK3IqKGV0Km4pKSx0aGlzLm9wYWNpdHkpfX0pKSx0LmNvbG9yPW0sdC5jdWJlaGVsaXg9aXQsdC5ncmF5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBVKHQsMCwwLG51bGw9PWU/MTplKX0sdC5oY2w9WCx0LmhzbD1FLHQubGFiPVYsdC5sY2g9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP1codCk6bmV3IFoocixlLHQsbnVsbD09bj8xOm4pfSx0LnJnYj1fLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0oIm9iamVjdCI9PXR5cGVvZiByJiYidW5kZWZpbmVkIiE9dHlwZW9mIGU/cjoobj1ufHxzZWxmKS5kMz1uLmQzfHx7fSl9LHt9XSwxNTc6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbjtuPXRoaXMsZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO3ZhciBlPXt2YWx1ZTpmdW5jdGlvbigpe319O2Z1bmN0aW9uIHIoKXtmb3IodmFyIHQsZT0wLHI9YXJndW1lbnRzLmxlbmd0aCxhPXt9O2U8cjsrK2Upe2lmKCEodD1hcmd1bWVudHNbZV0rIiIpfHx0IGluIGEpdGhyb3cgbmV3IEVycm9yKCJpbGxlZ2FsIHR5cGU6ICIrdCk7YVt0XT1bXX1yZXR1cm4gbmV3IG4oYSl9ZnVuY3Rpb24gbih0KXt0aGlzLl89dH1mdW5jdGlvbiBhKHQsZSl7Zm9yKHZhciByLG49MCxhPXQubGVuZ3RoO248YTsrK24paWYoKHI9dFtuXSkubmFtZT09PWUpcmV0dXJuIHIudmFsdWV9ZnVuY3Rpb24gaSh0LHIsbil7Zm9yKHZhciBhPTAsaT10Lmxlbmd0aDthPGk7KythKWlmKHRbYV0ubmFtZT09PXIpe3RbYV09ZSx0PXQuc2xpY2UoMCxhKS5jb25jYXQodC5zbGljZShhKzEpKTticmVha31yZXR1cm4gbnVsbCE9biYmdC5wdXNoKHtuYW1lOnIsdmFsdWU6bn0pLHR9bi5wcm90b3R5cGU9ci5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOm4sb246ZnVuY3Rpb24odCxlKXt2YXIgcixuLG89dGhpcy5fLHM9KG49bywodCsiIikudHJpbSgpLnNwbGl0KC9efFxzKy8pLm1hcChmdW5jdGlvbih0KXt2YXIgZT0iIixyPXQuaW5kZXhPZigiLiIpO2lmKHI+PTAmJihlPXQuc2xpY2UocisxKSx0PXQuc2xpY2UoMCxyKSksdCYmIW4uaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7cmV0dXJue3R5cGU6dCxuYW1lOmV9fSkpLGw9LTEsYz1zLmxlbmd0aDtpZighKGFyZ3VtZW50cy5sZW5ndGg8Mikpe2lmKG51bGwhPWUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBjYWxsYmFjazogIitlKTtmb3IoOysrbDxjOylpZihyPSh0PXNbbF0pLnR5cGUpb1tyXT1pKG9bcl0sdC5uYW1lLGUpO2Vsc2UgaWYobnVsbD09ZSlmb3IociBpbiBvKW9bcl09aShvW3JdLHQubmFtZSxudWxsKTtyZXR1cm4gdGhpc31mb3IoOysrbDxjOylpZigocj0odD1zW2xdKS50eXBlKSYmKHI9YShvW3JdLHQubmFtZSkpKXJldHVybiByfSxjb3B5OmZ1bmN0aW9uKCl7dmFyIHQ9e30sZT10aGlzLl87Zm9yKHZhciByIGluIGUpdFtyXT1lW3JdLnNsaWNlKCk7cmV0dXJuIG5ldyBuKHQpfSxjYWxsOmZ1bmN0aW9uKHQsZSl7aWYoKHI9YXJndW1lbnRzLmxlbmd0aC0yKT4wKWZvcih2YXIgcixuLGE9bmV3IEFycmF5KHIpLGk9MDtpPHI7KytpKWFbaV09YXJndW1lbnRzW2krMl07aWYoIXRoaXMuXy5oYXNPd25Qcm9wZXJ0eSh0KSl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIit0KTtmb3IoaT0wLHI9KG49dGhpcy5fW3RdKS5sZW5ndGg7aTxyOysraSluW2ldLnZhbHVlLmFwcGx5KGUsYSl9LGFwcGx5OmZ1bmN0aW9uKHQsZSxyKXtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2Zvcih2YXIgbj10aGlzLl9bdF0sYT0wLGk9bi5sZW5ndGg7YTxpOysrYSluW2FdLnZhbHVlLmFwcGx5KGUscil9fSx0LmRpc3BhdGNoPXIsT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSgib2JqZWN0Ij09dHlwZW9mIHImJiJ1bmRlZmluZWQiIT10eXBlb2YgZT9yOm4uZDM9bi5kM3x8e30pfSx7fV0sMTU4OltmdW5jdGlvbih0LGUscil7dmFyIG4sYTtuPXRoaXMsYT1mdW5jdGlvbih0LGUscixuLGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgaT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19LG89ZnVuY3Rpb24oKXtyZXR1cm4gMWUtNiooTWF0aC5yYW5kb20oKS0uNSl9O2Z1bmN0aW9uIHModCl7cmV0dXJuIHQueCt0LnZ4fWZ1bmN0aW9uIGwodCl7cmV0dXJuIHQueSt0LnZ5fWZ1bmN0aW9uIGModCl7cmV0dXJuIHQuaW5kZXh9ZnVuY3Rpb24gdSh0LGUpe3ZhciByPXQuZ2V0KGUpO2lmKCFyKXRocm93IG5ldyBFcnJvcigibWlzc2luZzogIitlKTtyZXR1cm4gcn1mdW5jdGlvbiBoKHQpe3JldHVybiB0Lnh9ZnVuY3Rpb24gZih0KXtyZXR1cm4gdC55fXZhciBwPTEwLGQ9TWF0aC5QSSooMy1NYXRoLnNxcnQoNSkpO3QuZm9yY2VDZW50ZXI9ZnVuY3Rpb24odCxlKXt2YXIgcjtmdW5jdGlvbiBuKCl7dmFyIG4sYSxpPXIubGVuZ3RoLG89MCxzPTA7Zm9yKG49MDtuPGk7KytuKW8rPShhPXJbbl0pLngscys9YS55O2ZvcihvPW8vaS10LHM9cy9pLWUsbj0wO248aTsrK24pKGE9cltuXSkueC09byxhLnktPXN9cmV0dXJuIG51bGw9PXQmJih0PTApLG51bGw9PWUmJihlPTApLG4uaW5pdGlhbGl6ZT1mdW5jdGlvbih0KXtyPXR9LG4ueD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0rZSxuKTp0fSxuLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9K3Qsbik6ZX0sbn0sdC5mb3JjZUNvbGxpZGU9ZnVuY3Rpb24odCl7dmFyIHIsbixhPTEsYz0xO2Z1bmN0aW9uIHUoKXtmb3IodmFyIHQsaSx1LGYscCxkLGcsdj1yLmxlbmd0aCxtPTA7bTxjOysrbSlmb3IoaT1lLnF1YWR0cmVlKHIscyxsKS52aXNpdEFmdGVyKGgpLHQ9MDt0PHY7Kyt0KXU9clt0XSxkPW5bdS5pbmRleF0sZz1kKmQsZj11LngrdS52eCxwPXUueSt1LnZ5LGkudmlzaXQoeSk7ZnVuY3Rpb24geSh0LGUscixuLGkpe3ZhciBzPXQuZGF0YSxsPXQucixjPWQrbDtpZighcylyZXR1cm4gZT5mK2N8fG48Zi1jfHxyPnArY3x8aTxwLWM7aWYocy5pbmRleD51LmluZGV4KXt2YXIgaD1mLXMueC1zLnZ4LHY9cC1zLnktcy52eSxtPWgqaCt2KnY7bTxjKmMmJigwPT09aCYmKG0rPShoPW8oKSkqaCksMD09PXYmJihtKz0odj1vKCkpKnYpLG09KGMtKG09TWF0aC5zcXJ0KG0pKSkvbSphLHUudngrPShoKj1tKSooYz0obCo9bCkvKGcrbCkpLHUudnkrPSh2Kj1tKSpjLHMudngtPWgqKGM9MS1jKSxzLnZ5LT12KmMpfX19ZnVuY3Rpb24gaCh0KXtpZih0LmRhdGEpcmV0dXJuIHQucj1uW3QuZGF0YS5pbmRleF07Zm9yKHZhciBlPXQucj0wO2U8NDsrK2UpdFtlXSYmdFtlXS5yPnQuciYmKHQucj10W2VdLnIpfWZ1bmN0aW9uIGYoKXtpZihyKXt2YXIgZSxhLGk9ci5sZW5ndGg7Zm9yKG49bmV3IEFycmF5KGkpLGU9MDtlPGk7KytlKWE9cltlXSxuW2EuaW5kZXhdPSt0KGEsZSxyKX19cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PWkobnVsbD09dD8xOit0KSksdS5pbml0aWFsaXplPWZ1bmN0aW9uKHQpe3I9dCxmKCl9LHUuaXRlcmF0aW9ucz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz0rdCx1KTpjfSx1LnN0cmVuZ3RoPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSt0LHUpOmF9LHUucmFkaXVzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6aSgrZSksZigpLHUpOnR9LHV9LHQuZm9yY2VMaW5rPWZ1bmN0aW9uKHQpe3ZhciBlLG4sYSxzLGwsaD1jLGY9ZnVuY3Rpb24odCl7cmV0dXJuIDEvTWF0aC5taW4oc1t0LnNvdXJjZS5pbmRleF0sc1t0LnRhcmdldC5pbmRleF0pfSxwPWkoMzApLGQ9MTtmdW5jdGlvbiBnKHIpe2Zvcih2YXIgYT0wLGk9dC5sZW5ndGg7YTxkOysrYSlmb3IodmFyIHMsYyx1LGgsZixwLGcsdj0wO3Y8aTsrK3YpYz0ocz10W3ZdKS5zb3VyY2UsaD0odT1zLnRhcmdldCkueCt1LnZ4LWMueC1jLnZ4fHxvKCksZj11LnkrdS52eS1jLnktYy52eXx8bygpLGgqPXA9KChwPU1hdGguc3FydChoKmgrZipmKSktblt2XSkvcCpyKmVbdl0sZio9cCx1LnZ4LT1oKihnPWxbdl0pLHUudnktPWYqZyxjLnZ4Kz1oKihnPTEtZyksYy52eSs9ZipnfWZ1bmN0aW9uIHYoKXtpZihhKXt2YXIgaSxvLGM9YS5sZW5ndGgsZj10Lmxlbmd0aCxwPXIubWFwKGEsaCk7Zm9yKGk9MCxzPW5ldyBBcnJheShjKTtpPGY7KytpKShvPXRbaV0pLmluZGV4PWksIm9iamVjdCIhPXR5cGVvZiBvLnNvdXJjZSYmKG8uc291cmNlPXUocCxvLnNvdXJjZSkpLCJvYmplY3QiIT10eXBlb2Ygby50YXJnZXQmJihvLnRhcmdldD11KHAsby50YXJnZXQpKSxzW28uc291cmNlLmluZGV4XT0oc1tvLnNvdXJjZS5pbmRleF18fDApKzEsc1tvLnRhcmdldC5pbmRleF09KHNbby50YXJnZXQuaW5kZXhdfHwwKSsxO2ZvcihpPTAsbD1uZXcgQXJyYXkoZik7aTxmOysraSlvPXRbaV0sbFtpXT1zW28uc291cmNlLmluZGV4XS8oc1tvLnNvdXJjZS5pbmRleF0rc1tvLnRhcmdldC5pbmRleF0pO2U9bmV3IEFycmF5KGYpLG0oKSxuPW5ldyBBcnJheShmKSx5KCl9fWZ1bmN0aW9uIG0oKXtpZihhKWZvcih2YXIgcj0wLG49dC5sZW5ndGg7cjxuOysrcillW3JdPStmKHRbcl0scix0KX1mdW5jdGlvbiB5KCl7aWYoYSlmb3IodmFyIGU9MCxyPXQubGVuZ3RoO2U8cjsrK2UpbltlXT0rcCh0W2VdLGUsdCl9cmV0dXJuIG51bGw9PXQmJih0PVtdKSxnLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7YT10LHYoKX0sZy5saW5rcz1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1lLHYoKSxnKTp0fSxnLmlkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhoPXQsZyk6aH0sZy5pdGVyYXRpb25zPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhkPSt0LGcpOmR9LGcuc3RyZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGY9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDppKCt0KSxtKCksZyk6Zn0sZy5kaXN0YW5jZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocD0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmkoK3QpLHkoKSxnKTpwfSxnfSx0LmZvcmNlTWFueUJvZHk9ZnVuY3Rpb24oKXt2YXIgdCxyLG4sYSxzPWkoLTMwKSxsPTEsYz0xLzAsdT0uODE7ZnVuY3Rpb24gcChhKXt2YXIgaSxvPXQubGVuZ3RoLHM9ZS5xdWFkdHJlZSh0LGgsZikudmlzaXRBZnRlcihnKTtmb3Iobj1hLGk9MDtpPG87KytpKXI9dFtpXSxzLnZpc2l0KHYpfWZ1bmN0aW9uIGQoKXtpZih0KXt2YXIgZSxyLG49dC5sZW5ndGg7Zm9yKGE9bmV3IEFycmF5KG4pLGU9MDtlPG47KytlKXI9dFtlXSxhW3IuaW5kZXhdPStzKHIsZSx0KX19ZnVuY3Rpb24gZyh0KXt2YXIgZSxyLG4saSxvLHM9MCxsPTA7aWYodC5sZW5ndGgpe2ZvcihuPWk9bz0wO288NDsrK28pKGU9dFtvXSkmJihyPU1hdGguYWJzKGUudmFsdWUpKSYmKHMrPWUudmFsdWUsbCs9cixuKz1yKmUueCxpKz1yKmUueSk7dC54PW4vbCx0Lnk9aS9sfWVsc2V7KGU9dCkueD1lLmRhdGEueCxlLnk9ZS5kYXRhLnk7ZG97cys9YVtlLmRhdGEuaW5kZXhdfXdoaWxlKGU9ZS5uZXh0KX10LnZhbHVlPXN9ZnVuY3Rpb24gdih0LGUsaSxzKXtpZighdC52YWx1ZSlyZXR1cm4hMDt2YXIgaD10Lngtci54LGY9dC55LXIueSxwPXMtZSxkPWgqaCtmKmY7aWYocCpwL3U8ZClyZXR1cm4gZDxjJiYoMD09PWgmJihkKz0oaD1vKCkpKmgpLDA9PT1mJiYoZCs9KGY9bygpKSpmKSxkPGwmJihkPU1hdGguc3FydChsKmQpKSxyLnZ4Kz1oKnQudmFsdWUqbi9kLHIudnkrPWYqdC52YWx1ZSpuL2QpLCEwO2lmKCEodC5sZW5ndGh8fGQ+PWMpKXsodC5kYXRhIT09cnx8dC5uZXh0KSYmKDA9PT1oJiYoZCs9KGg9bygpKSpoKSwwPT09ZiYmKGQrPShmPW8oKSkqZiksZDxsJiYoZD1NYXRoLnNxcnQobCpkKSkpO2Rve3QuZGF0YSE9PXImJihwPWFbdC5kYXRhLmluZGV4XSpuL2Qsci52eCs9aCpwLHIudnkrPWYqcCl9d2hpbGUodD10Lm5leHQpfX1yZXR1cm4gcC5pbml0aWFsaXplPWZ1bmN0aW9uKGUpe3Q9ZSxkKCl9LHAuc3RyZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDppKCt0KSxkKCkscCk6c30scC5kaXN0YW5jZU1pbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD10KnQscCk6TWF0aC5zcXJ0KGwpfSxwLmRpc3RhbmNlTWF4PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPXQqdCxwKTpNYXRoLnNxcnQoYyl9LHAudGhldGE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHU9dCp0LHApOk1hdGguc3FydCh1KX0scH0sdC5mb3JjZVJhZGlhbD1mdW5jdGlvbih0LGUscil7dmFyIG4sYSxvLHM9aSguMSk7ZnVuY3Rpb24gbCh0KXtmb3IodmFyIGk9MCxzPW4ubGVuZ3RoO2k8czsrK2kpe3ZhciBsPW5baV0sYz1sLngtZXx8MWUtNix1PWwueS1yfHwxZS02LGg9TWF0aC5zcXJ0KGMqYyt1KnUpLGY9KG9baV0taCkqYVtpXSp0L2g7bC52eCs9YypmLGwudnkrPXUqZn19ZnVuY3Rpb24gYygpe2lmKG4pe3ZhciBlLHI9bi5sZW5ndGg7Zm9yKGE9bmV3IEFycmF5KHIpLG89bmV3IEFycmF5KHIpLGU9MDtlPHI7KytlKW9bZV09K3QobltlXSxlLG4pLGFbZV09aXNOYU4ob1tlXSk/MDorcyhuW2VdLGUsbil9fXJldHVybiJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1pKCt0KSksbnVsbD09ZSYmKGU9MCksbnVsbD09ciYmKHI9MCksbC5pbml0aWFsaXplPWZ1bmN0aW9uKHQpe249dCxjKCl9LGwuc3RyZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDppKCt0KSxjKCksbCk6c30sbC5yYWRpdXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTppKCtlKSxjKCksbCk6dH0sbC54PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSt0LGwpOmV9LGwueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0rdCxsKTpyfSxsfSx0LmZvcmNlU2ltdWxhdGlvbj1mdW5jdGlvbih0KXt2YXIgZSxpPTEsbz0uMDAxLHM9MS1NYXRoLnBvdyhvLDEvMzAwKSxsPTAsYz0uNix1PXIubWFwKCksaD1hLnRpbWVyKGcpLGY9bi5kaXNwYXRjaCgidGljayIsImVuZCIpO2Z1bmN0aW9uIGcoKXt2KCksZi5jYWxsKCJ0aWNrIixlKSxpPG8mJihoLnN0b3AoKSxmLmNhbGwoImVuZCIsZSkpfWZ1bmN0aW9uIHYoKXt2YXIgZSxyLG49dC5sZW5ndGg7Zm9yKGkrPShsLWkpKnMsdS5lYWNoKGZ1bmN0aW9uKHQpe3QoaSl9KSxlPTA7ZTxuOysrZSludWxsPT0ocj10W2VdKS5meD9yLngrPXIudngqPWM6KHIueD1yLmZ4LHIudng9MCksbnVsbD09ci5meT9yLnkrPXIudnkqPWM6KHIueT1yLmZ5LHIudnk9MCl9ZnVuY3Rpb24gbSgpe2Zvcih2YXIgZSxyPTAsbj10Lmxlbmd0aDtyPG47KytyKXtpZigoZT10W3JdKS5pbmRleD1yLGlzTmFOKGUueCl8fGlzTmFOKGUueSkpe3ZhciBhPXAqTWF0aC5zcXJ0KHIpLGk9cipkO2UueD1hKk1hdGguY29zKGkpLGUueT1hKk1hdGguc2luKGkpfShpc05hTihlLnZ4KXx8aXNOYU4oZS52eSkpJiYoZS52eD1lLnZ5PTApfX1mdW5jdGlvbiB5KGUpe3JldHVybiBlLmluaXRpYWxpemUmJmUuaW5pdGlhbGl6ZSh0KSxlfXJldHVybiBudWxsPT10JiYodD1bXSksbSgpLGU9e3RpY2s6dixyZXN0YXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIGgucmVzdGFydChnKSxlfSxzdG9wOmZ1bmN0aW9uKCl7cmV0dXJuIGguc3RvcCgpLGV9LG5vZGVzOmZ1bmN0aW9uKHIpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PXIsbSgpLHUuZWFjaCh5KSxlKTp0fSxhbHBoYTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rdCxlKTppfSxhbHBoYU1pbjpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0rdCxlKTpvfSxhbHBoYURlY2F5OmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPSt0LGUpOitzfSxhbHBoYVRhcmdldDpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD0rdCxlKTpsfSx2ZWxvY2l0eURlY2F5OmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPTEtdCxlKToxLWN9LGZvcmNlOmZ1bmN0aW9uKHQscil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT8obnVsbD09cj91LnJlbW92ZSh0KTp1LnNldCh0LHkocikpLGUpOnUuZ2V0KHQpfSxmaW5kOmZ1bmN0aW9uKGUscixuKXt2YXIgYSxpLG8scyxsLGM9MCx1PXQubGVuZ3RoO2ZvcihudWxsPT1uP249MS8wOm4qPW4sYz0wO2M8dTsrK2MpKG89KGE9ZS0ocz10W2NdKS54KSphKyhpPXItcy55KSppKTxuJiYobD1zLG49byk7cmV0dXJuIGx9LG9uOmZ1bmN0aW9uKHQscil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT8oZi5vbih0LHIpLGUpOmYub24odCl9fX0sdC5mb3JjZVg9ZnVuY3Rpb24odCl7dmFyIGUscixuLGE9aSguMSk7ZnVuY3Rpb24gbyh0KXtmb3IodmFyIGEsaT0wLG89ZS5sZW5ndGg7aTxvOysraSkoYT1lW2ldKS52eCs9KG5baV0tYS54KSpyW2ldKnR9ZnVuY3Rpb24gcygpe2lmKGUpe3ZhciBpLG89ZS5sZW5ndGg7Zm9yKHI9bmV3IEFycmF5KG8pLG49bmV3IEFycmF5KG8pLGk9MDtpPG87KytpKXJbaV09aXNOYU4obltpXT0rdChlW2ldLGksZSkpPzA6K2EoZVtpXSxpLGUpfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9aShudWxsPT10PzA6K3QpKSxvLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7ZT10LHMoKX0sby5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmkoK3QpLHMoKSxvKTphfSxvLng9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTppKCtlKSxzKCksbyk6dH0sb30sdC5mb3JjZVk9ZnVuY3Rpb24odCl7dmFyIGUscixuLGE9aSguMSk7ZnVuY3Rpb24gbyh0KXtmb3IodmFyIGEsaT0wLG89ZS5sZW5ndGg7aTxvOysraSkoYT1lW2ldKS52eSs9KG5baV0tYS55KSpyW2ldKnR9ZnVuY3Rpb24gcygpe2lmKGUpe3ZhciBpLG89ZS5sZW5ndGg7Zm9yKHI9bmV3IEFycmF5KG8pLG49bmV3IEFycmF5KG8pLGk9MDtpPG87KytpKXJbaV09aXNOYU4obltpXT0rdChlW2ldLGksZSkpPzA6K2EoZVtpXSxpLGUpfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9aShudWxsPT10PzA6K3QpKSxvLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7ZT10LHMoKX0sby5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmkoK3QpLHMoKSxvKTphfSxvLnk9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTppKCtlKSxzKCksbyk6dH0sb30sT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSwib2JqZWN0Ij09dHlwZW9mIHImJiJ1bmRlZmluZWQiIT10eXBlb2YgZT9hKHIsdCgiZDMtcXVhZHRyZWUiKSx0KCJkMy1jb2xsZWN0aW9uIiksdCgiZDMtZGlzcGF0Y2giKSx0KCJkMy10aW1lciIpKTphKG4uZDM9bi5kM3x8e30sbi5kMyxuLmQzLG4uZDMsbi5kMyl9LHsiZDMtY29sbGVjdGlvbiI6MTU1LCJkMy1kaXNwYXRjaCI6MTU3LCJkMy1xdWFkdHJlZSI6MTYyLCJkMy10aW1lciI6MTY0fV0sMTU5OltmdW5jdGlvbih0LGUscil7dmFyIG47bj10aGlzLGZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKHQsZSl7cmV0dXJuIHQucGFyZW50PT09ZS5wYXJlbnQ/MToyfWZ1bmN0aW9uIHIodCxlKXtyZXR1cm4gdCtlLnh9ZnVuY3Rpb24gbih0LGUpe3JldHVybiBNYXRoLm1heCh0LGUueSl9ZnVuY3Rpb24gYSh0KXt2YXIgZT0wLHI9dC5jaGlsZHJlbixuPXImJnIubGVuZ3RoO2lmKG4pZm9yKDstLW4+PTA7KWUrPXJbbl0udmFsdWU7ZWxzZSBlPTE7dC52YWx1ZT1lfWZ1bmN0aW9uIGkodCxlKXt2YXIgcixuLGEsaSxzLHU9bmV3IGModCksaD0rdC52YWx1ZSYmKHUudmFsdWU9dC52YWx1ZSksZj1bdV07Zm9yKG51bGw9PWUmJihlPW8pO3I9Zi5wb3AoKTspaWYoaCYmKHIudmFsdWU9K3IuZGF0YS52YWx1ZSksKGE9ZShyLmRhdGEpKSYmKHM9YS5sZW5ndGgpKWZvcihyLmNoaWxkcmVuPW5ldyBBcnJheShzKSxpPXMtMTtpPj0wOy0taSlmLnB1c2gobj1yLmNoaWxkcmVuW2ldPW5ldyBjKGFbaV0pKSxuLnBhcmVudD1yLG4uZGVwdGg9ci5kZXB0aCsxO3JldHVybiB1LmVhY2hCZWZvcmUobCl9ZnVuY3Rpb24gbyh0KXtyZXR1cm4gdC5jaGlsZHJlbn1mdW5jdGlvbiBzKHQpe3QuZGF0YT10LmRhdGEuZGF0YX1mdW5jdGlvbiBsKHQpe3ZhciBlPTA7ZG97dC5oZWlnaHQ9ZX13aGlsZSgodD10LnBhcmVudCkmJnQuaGVpZ2h0PCsrZSl9ZnVuY3Rpb24gYyh0KXt0aGlzLmRhdGE9dCx0aGlzLmRlcHRoPXRoaXMuaGVpZ2h0PTAsdGhpcy5wYXJlbnQ9bnVsbH1jLnByb3RvdHlwZT1pLnByb3RvdHlwZT17Y29uc3RydWN0b3I6Yyxjb3VudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2hBZnRlcihhKX0sZWFjaDpmdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpPXRoaXMsbz1baV07ZG97Zm9yKGU9by5yZXZlcnNlKCksbz1bXTtpPWUucG9wKCk7KWlmKHQoaSkscj1pLmNoaWxkcmVuKWZvcihuPTAsYT1yLmxlbmd0aDtuPGE7KytuKW8ucHVzaChyW25dKX13aGlsZShvLmxlbmd0aCk7cmV0dXJuIHRoaXN9LGVhY2hBZnRlcjpmdW5jdGlvbih0KXtmb3IodmFyIGUscixuLGE9dGhpcyxpPVthXSxvPVtdO2E9aS5wb3AoKTspaWYoby5wdXNoKGEpLGU9YS5jaGlsZHJlbilmb3Iocj0wLG49ZS5sZW5ndGg7cjxuOysrcilpLnB1c2goZVtyXSk7Zm9yKDthPW8ucG9wKCk7KXQoYSk7cmV0dXJuIHRoaXN9LGVhY2hCZWZvcmU6ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHIsbj10aGlzLGE9W25dO249YS5wb3AoKTspaWYodChuKSxlPW4uY2hpbGRyZW4pZm9yKHI9ZS5sZW5ndGgtMTtyPj0wOy0tcilhLnB1c2goZVtyXSk7cmV0dXJuIHRoaXN9LHN1bTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lYWNoQWZ0ZXIoZnVuY3Rpb24oZSl7Zm9yKHZhciByPSt0KGUuZGF0YSl8fDAsbj1lLmNoaWxkcmVuLGE9biYmbi5sZW5ndGg7LS1hPj0wOylyKz1uW2FdLnZhbHVlO2UudmFsdWU9cn0pfSxzb3J0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmVhY2hCZWZvcmUoZnVuY3Rpb24oZSl7ZS5jaGlsZHJlbiYmZS5jaGlsZHJlbi5zb3J0KHQpfSl9LHBhdGg6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMscj1mdW5jdGlvbih0LGUpe2lmKHQ9PT1lKXJldHVybiB0O3ZhciByPXQuYW5jZXN0b3JzKCksbj1lLmFuY2VzdG9ycygpLGE9bnVsbDtmb3IodD1yLnBvcCgpLGU9bi5wb3AoKTt0PT09ZTspYT10LHQ9ci5wb3AoKSxlPW4ucG9wKCk7cmV0dXJuIGF9KGUsdCksbj1bZV07ZSE9PXI7KWU9ZS5wYXJlbnQsbi5wdXNoKGUpO2Zvcih2YXIgYT1uLmxlbmd0aDt0IT09cjspbi5zcGxpY2UoYSwwLHQpLHQ9dC5wYXJlbnQ7cmV0dXJuIG59LGFuY2VzdG9yczpmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLGU9W3RdO3Q9dC5wYXJlbnQ7KWUucHVzaCh0KTtyZXR1cm4gZX0sZGVzY2VuZGFudHM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUpe3QucHVzaChlKX0pLHR9LGxlYXZlczpmdW5jdGlvbigpe3ZhciB0PVtdO3JldHVybiB0aGlzLmVhY2hCZWZvcmUoZnVuY3Rpb24oZSl7ZS5jaGlsZHJlbnx8dC5wdXNoKGUpfSksdH0sbGlua3M6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9W107cmV0dXJuIHQuZWFjaChmdW5jdGlvbihyKXtyIT09dCYmZS5wdXNoKHtzb3VyY2U6ci5wYXJlbnQsdGFyZ2V0OnJ9KX0pLGV9LGNvcHk6ZnVuY3Rpb24oKXtyZXR1cm4gaSh0aGlzKS5lYWNoQmVmb3JlKHMpfX07dmFyIHU9QXJyYXkucHJvdG90eXBlLnNsaWNlO2Z1bmN0aW9uIGgodCl7Zm9yKHZhciBlLHIsbj0wLGE9KHQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHIsbj10Lmxlbmd0aDtuOylyPU1hdGgucmFuZG9tKCkqbi0tfDAsZT10W25dLHRbbl09dFtyXSx0W3JdPWU7cmV0dXJuIHR9KHUuY2FsbCh0KSkpLmxlbmd0aCxpPVtdO248YTspZT10W25dLHImJmQocixlKT8rK246KHI9dihpPWYoaSxlKSksbj0wKTtyZXR1cm4gcn1mdW5jdGlvbiBmKHQsZSl7dmFyIHIsbjtpZihnKGUsdCkpcmV0dXJuW2VdO2ZvcihyPTA7cjx0Lmxlbmd0aDsrK3IpaWYocChlLHRbcl0pJiZnKG0odFtyXSxlKSx0KSlyZXR1cm5bdFtyXSxlXTtmb3Iocj0wO3I8dC5sZW5ndGgtMTsrK3IpZm9yKG49cisxO248dC5sZW5ndGg7KytuKWlmKHAobSh0W3JdLHRbbl0pLGUpJiZwKG0odFtyXSxlKSx0W25dKSYmcChtKHRbbl0sZSksdFtyXSkmJmcoeSh0W3JdLHRbbl0sZSksdCkpcmV0dXJuW3Rbcl0sdFtuXSxlXTt0aHJvdyBuZXcgRXJyb3J9ZnVuY3Rpb24gcCh0LGUpe3ZhciByPXQuci1lLnIsbj1lLngtdC54LGE9ZS55LXQueTtyZXR1cm4gcjwwfHxyKnI8bipuK2EqYX1mdW5jdGlvbiBkKHQsZSl7dmFyIHI9dC5yLWUucisxZS02LG49ZS54LXQueCxhPWUueS10Lnk7cmV0dXJuIHI+MCYmcipyPm4qbithKmF9ZnVuY3Rpb24gZyh0LGUpe2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7KytyKWlmKCFkKHQsZVtyXSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gdih0KXtzd2l0Y2godC5sZW5ndGgpe2Nhc2UgMTpyZXR1cm57eDooZT10WzBdKS54LHk6ZS55LHI6ZS5yfTtjYXNlIDI6cmV0dXJuIG0odFswXSx0WzFdKTtjYXNlIDM6cmV0dXJuIHkodFswXSx0WzFdLHRbMl0pfXZhciBlfWZ1bmN0aW9uIG0odCxlKXt2YXIgcj10Lngsbj10LnksYT10LnIsaT1lLngsbz1lLnkscz1lLnIsbD1pLXIsYz1vLW4sdT1zLWEsaD1NYXRoLnNxcnQobCpsK2MqYyk7cmV0dXJue3g6KHIraStsL2gqdSkvMix5OihuK28rYy9oKnUpLzIscjooaCthK3MpLzJ9fWZ1bmN0aW9uIHkodCxlLHIpe3ZhciBuPXQueCxhPXQueSxpPXQucixvPWUueCxzPWUueSxsPWUucixjPXIueCx1PXIueSxoPXIucixmPW4tbyxwPW4tYyxkPWEtcyxnPWEtdSx2PWwtaSxtPWgtaSx5PW4qbithKmEtaSppLHg9eS1vKm8tcypzK2wqbCxiPXktYypjLXUqdStoKmgsXz1wKmQtZipnLHc9KGQqYi1nKngpLygyKl8pLW4saz0oZyp2LWQqbSkvXyxUPShwKngtZipiKS8oMipfKS1hLE09KGYqbS1wKnYpL18sQT1rKmsrTSpNLTEsUz0yKihpK3cqaytUKk0pLEU9dyp3K1QqVC1pKmksTD0tKEE/KFMrTWF0aC5zcXJ0KFMqUy00KkEqRSkpLygyKkEpOkUvUyk7cmV0dXJue3g6bit3K2sqTCx5OmErVCtNKkwscjpMfX1mdW5jdGlvbiB4KHQsZSxyKXt2YXIgbixhLGksbyxzPXQueC1lLngsbD10LnktZS55LGM9cypzK2wqbDtjPyhhPWUucityLnIsYSo9YSxvPXQucityLnIsYT4obyo9byk/KG49KGMrby1hKS8oMipjKSxpPU1hdGguc3FydChNYXRoLm1heCgwLG8vYy1uKm4pKSxyLng9dC54LW4qcy1pKmwsci55PXQueS1uKmwraSpzKToobj0oYythLW8pLygyKmMpLGk9TWF0aC5zcXJ0KE1hdGgubWF4KDAsYS9jLW4qbikpLHIueD1lLngrbipzLWkqbCxyLnk9ZS55K24qbCtpKnMpKTooci54PWUueCtyLnIsci55PWUueSl9ZnVuY3Rpb24gYih0LGUpe3ZhciByPXQucitlLnItMWUtNixuPWUueC10LngsYT1lLnktdC55O3JldHVybiByPjAmJnIqcj5uKm4rYSphfWZ1bmN0aW9uIF8odCl7dmFyIGU9dC5fLHI9dC5uZXh0Ll8sbj1lLnIrci5yLGE9KGUueCpyLnIrci54KmUucikvbixpPShlLnkqci5yK3IueSplLnIpL247cmV0dXJuIGEqYStpKml9ZnVuY3Rpb24gdyh0KXt0aGlzLl89dCx0aGlzLm5leHQ9bnVsbCx0aGlzLnByZXZpb3VzPW51bGx9ZnVuY3Rpb24gayh0KXtpZighKGE9dC5sZW5ndGgpKXJldHVybiAwO3ZhciBlLHIsbixhLGksbyxzLGwsYyx1LGY7aWYoKGU9dFswXSkueD0wLGUueT0wLCEoYT4xKSlyZXR1cm4gZS5yO2lmKHI9dFsxXSxlLng9LXIucixyLng9ZS5yLHIueT0wLCEoYT4yKSlyZXR1cm4gZS5yK3Iucjt4KHIsZSxuPXRbMl0pLGU9bmV3IHcoZSkscj1uZXcgdyhyKSxuPW5ldyB3KG4pLGUubmV4dD1uLnByZXZpb3VzPXIsci5uZXh0PWUucHJldmlvdXM9bixuLm5leHQ9ci5wcmV2aW91cz1lO3Q6Zm9yKHM9MztzPGE7KytzKXt4KGUuXyxyLl8sbj10W3NdKSxuPW5ldyB3KG4pLGw9ci5uZXh0LGM9ZS5wcmV2aW91cyx1PXIuXy5yLGY9ZS5fLnI7ZG97aWYodTw9Zil7aWYoYihsLl8sbi5fKSl7cj1sLGUubmV4dD1yLHIucHJldmlvdXM9ZSwtLXM7Y29udGludWUgdH11Kz1sLl8ucixsPWwubmV4dH1lbHNle2lmKGIoYy5fLG4uXykpeyhlPWMpLm5leHQ9cixyLnByZXZpb3VzPWUsLS1zO2NvbnRpbnVlIHR9Zis9Yy5fLnIsYz1jLnByZXZpb3VzfX13aGlsZShsIT09Yy5uZXh0KTtmb3Iobi5wcmV2aW91cz1lLG4ubmV4dD1yLGUubmV4dD1yLnByZXZpb3VzPXI9bixpPV8oZSk7KG49bi5uZXh0KSE9PXI7KShvPV8obikpPGkmJihlPW4saT1vKTtyPWUubmV4dH1mb3IoZT1bci5fXSxuPXI7KG49bi5uZXh0KSE9PXI7KWUucHVzaChuLl8pO2ZvcihuPWgoZSkscz0wO3M8YTsrK3MpKGU9dFtzXSkueC09bi54LGUueS09bi55O3JldHVybiBuLnJ9ZnVuY3Rpb24gVCh0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHR9ZnVuY3Rpb24gTSgpe3JldHVybiAwfWZ1bmN0aW9uIEEodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIFModCl7cmV0dXJuIE1hdGguc3FydCh0LnZhbHVlKX1mdW5jdGlvbiBFKHQpe3JldHVybiBmdW5jdGlvbihlKXtlLmNoaWxkcmVufHwoZS5yPU1hdGgubWF4KDAsK3QoZSl8fDApKX19ZnVuY3Rpb24gTCh0LGUpe3JldHVybiBmdW5jdGlvbihyKXtpZihuPXIuY2hpbGRyZW4pe3ZhciBuLGEsaSxvPW4ubGVuZ3RoLHM9dChyKSplfHwwO2lmKHMpZm9yKGE9MDthPG87KythKW5bYV0ucis9cztpZihpPWsobikscylmb3IoYT0wO2E8bzsrK2EpblthXS5yLT1zO3Iucj1pK3N9fX1mdW5jdGlvbiBDKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgcj1lLnBhcmVudDtlLnIqPXQsciYmKGUueD1yLngrdCplLngsZS55PXIueSt0KmUueSl9fWZ1bmN0aW9uIFAodCl7dC54MD1NYXRoLnJvdW5kKHQueDApLHQueTA9TWF0aC5yb3VuZCh0LnkwKSx0LngxPU1hdGgucm91bmQodC54MSksdC55MT1NYXRoLnJvdW5kKHQueTEpfWZ1bmN0aW9uIE8odCxlLHIsbixhKXtmb3IodmFyIGksbz10LmNoaWxkcmVuLHM9LTEsbD1vLmxlbmd0aCxjPXQudmFsdWUmJihuLWUpL3QudmFsdWU7KytzPGw7KShpPW9bc10pLnkwPXIsaS55MT1hLGkueDA9ZSxpLngxPWUrPWkudmFsdWUqY312YXIgej0iJCIsST17ZGVwdGg6LTF9LEQ9e307ZnVuY3Rpb24gUih0KXtyZXR1cm4gdC5pZH1mdW5jdGlvbiBGKHQpe3JldHVybiB0LnBhcmVudElkfWZ1bmN0aW9uIEIodCxlKXtyZXR1cm4gdC5wYXJlbnQ9PT1lLnBhcmVudD8xOjJ9ZnVuY3Rpb24gTih0KXt2YXIgZT10LmNoaWxkcmVuO3JldHVybiBlP2VbMF06dC50fWZ1bmN0aW9uIGoodCl7dmFyIGU9dC5jaGlsZHJlbjtyZXR1cm4gZT9lW2UubGVuZ3RoLTFdOnQudH1mdW5jdGlvbiBWKHQsZSxyKXt2YXIgbj1yLyhlLmktdC5pKTtlLmMtPW4sZS5zKz1yLHQuYys9bixlLnorPXIsZS5tKz1yfWZ1bmN0aW9uIFUodCxlLHIpe3JldHVybiB0LmEucGFyZW50PT09ZS5wYXJlbnQ/dC5hOnJ9ZnVuY3Rpb24gcSh0LGUpe3RoaXMuXz10LHRoaXMucGFyZW50PW51bGwsdGhpcy5jaGlsZHJlbj1udWxsLHRoaXMuQT1udWxsLHRoaXMuYT10aGlzLHRoaXMuej0wLHRoaXMubT0wLHRoaXMuYz0wLHRoaXMucz0wLHRoaXMudD1udWxsLHRoaXMuaT1lfWZ1bmN0aW9uIEgodCxlLHIsbixhKXtmb3IodmFyIGksbz10LmNoaWxkcmVuLHM9LTEsbD1vLmxlbmd0aCxjPXQudmFsdWUmJihhLXIpL3QudmFsdWU7KytzPGw7KShpPW9bc10pLngwPWUsaS54MT1uLGkueTA9cixpLnkxPXIrPWkudmFsdWUqY31xLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGMucHJvdG90eXBlKTt2YXIgRz0oMStNYXRoLnNxcnQoNSkpLzI7ZnVuY3Rpb24gWSh0LGUscixuLGEsaSl7Zm9yKHZhciBvLHMsbCxjLHUsaCxmLHAsZCxnLHYsbT1bXSx5PWUuY2hpbGRyZW4seD0wLGI9MCxfPXkubGVuZ3RoLHc9ZS52YWx1ZTt4PF87KXtsPWEtcixjPWktbjtkb3t1PXlbYisrXS52YWx1ZX13aGlsZSghdSYmYjxfKTtmb3IoaD1mPXUsdj11KnUqKGc9TWF0aC5tYXgoYy9sLGwvYykvKHcqdCkpLGQ9TWF0aC5tYXgoZi92LHYvaCk7YjxfOysrYil7aWYodSs9cz15W2JdLnZhbHVlLHM8aCYmKGg9cykscz5mJiYoZj1zKSx2PXUqdSpnLChwPU1hdGgubWF4KGYvdix2L2gpKT5kKXt1LT1zO2JyZWFrfWQ9cH1tLnB1c2gobz17dmFsdWU6dSxkaWNlOmw8YyxjaGlsZHJlbjp5LnNsaWNlKHgsYil9KSxvLmRpY2U/TyhvLHIsbixhLHc/bis9Yyp1L3c6aSk6SChvLHIsbix3P3IrPWwqdS93OmEsaSksdy09dSx4PWJ9cmV0dXJuIG19dmFyIFc9ZnVuY3Rpb24gdChlKXtmdW5jdGlvbiByKHQscixuLGEsaSl7WShlLHQscixuLGEsaSl9cmV0dXJuIHIucmF0aW89ZnVuY3Rpb24oZSl7cmV0dXJuIHQoKGU9K2UpPjE/ZToxKX0scn0oRyksWD1mdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIHIodCxyLG4sYSxpKXtpZigobz10Ll9zcXVhcmlmeSkmJm8ucmF0aW89PT1lKWZvcih2YXIgbyxzLGwsYyx1LGg9LTEsZj1vLmxlbmd0aCxwPXQudmFsdWU7KytoPGY7KXtmb3IobD0ocz1vW2hdKS5jaGlsZHJlbixjPXMudmFsdWU9MCx1PWwubGVuZ3RoO2M8dTsrK2Mpcy52YWx1ZSs9bFtjXS52YWx1ZTtzLmRpY2U/TyhzLHIsbixhLG4rPShpLW4pKnMudmFsdWUvcCk6SChzLHIsbixyKz0oYS1yKSpzLnZhbHVlL3AsaSkscC09cy52YWx1ZX1lbHNlIHQuX3NxdWFyaWZ5PW89WShlLHQscixuLGEsaSksby5yYXRpbz1lfXJldHVybiByLnJhdGlvPWZ1bmN0aW9uKGUpe3JldHVybiB0KChlPStlKT4xP2U6MSl9LHJ9KEcpO3QuY2x1c3Rlcj1mdW5jdGlvbigpe3ZhciB0PWUsYT0xLGk9MSxvPSExO2Z1bmN0aW9uIHMoZSl7dmFyIHMsbD0wO2UuZWFjaEFmdGVyKGZ1bmN0aW9uKGUpe3ZhciBhPWUuY2hpbGRyZW47YT8oZS54PWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlZHVjZShyLDApL3QubGVuZ3RofShhKSxlLnk9ZnVuY3Rpb24odCl7cmV0dXJuIDErdC5yZWR1Y2UobiwwKX0oYSkpOihlLng9cz9sKz10KGUscyk6MCxlLnk9MCxzPWUpfSk7dmFyIGM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlO2U9dC5jaGlsZHJlbjspdD1lWzBdO3JldHVybiB0fShlKSx1PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZTtlPXQuY2hpbGRyZW47KXQ9ZVtlLmxlbmd0aC0xXTtyZXR1cm4gdH0oZSksaD1jLngtdChjLHUpLzIsZj11LngrdCh1LGMpLzI7cmV0dXJuIGUuZWFjaEFmdGVyKG8/ZnVuY3Rpb24odCl7dC54PSh0LngtZS54KSphLHQueT0oZS55LXQueSkqaX06ZnVuY3Rpb24odCl7dC54PSh0LngtaCkvKGYtaCkqYSx0Lnk9KDEtKGUueT90LnkvZS55OjEpKSppfSl9cmV0dXJuIHMuc2VwYXJhdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1lLHMpOnR9LHMuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0hMSxhPSt0WzBdLGk9K3RbMV0scyk6bz9udWxsOlthLGldfSxzLm5vZGVTaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSEwLGE9K3RbMF0saT0rdFsxXSxzKTpvP1thLGldOm51bGx9LHN9LHQuaGllcmFyY2h5PWksdC5wYWNrPWZ1bmN0aW9uKCl7dmFyIHQ9bnVsbCxlPTEscj0xLG49TTtmdW5jdGlvbiBhKGEpe3JldHVybiBhLng9ZS8yLGEueT1yLzIsdD9hLmVhY2hCZWZvcmUoRSh0KSkuZWFjaEFmdGVyKEwobiwuNSkpLmVhY2hCZWZvcmUoQygxKSk6YS5lYWNoQmVmb3JlKEUoUykpLmVhY2hBZnRlcihMKE0sMSkpLmVhY2hBZnRlcihMKG4sYS5yL01hdGgubWluKGUscikpKS5lYWNoQmVmb3JlKEMoTWF0aC5taW4oZSxyKS8oMiphLnIpKSksYX1yZXR1cm4gYS5yYWRpdXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9bnVsbD09KHI9ZSk/bnVsbDpUKHIpLGEpOnQ7dmFyIHJ9LGEuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0rdFswXSxyPSt0WzFdLGEpOltlLHJdfSxhLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpBKCt0KSxhKTpufSxhfSx0LnBhY2tFbmNsb3NlPWgsdC5wYWNrU2libGluZ3M9ZnVuY3Rpb24odCl7cmV0dXJuIGsodCksdH0sdC5wYXJ0aXRpb249ZnVuY3Rpb24oKXt2YXIgdD0xLGU9MSxyPTAsbj0hMTtmdW5jdGlvbiBhKGEpe3ZhciBpPWEuaGVpZ2h0KzE7cmV0dXJuIGEueDA9YS55MD1yLGEueDE9dCxhLnkxPWUvaSxhLmVhY2hCZWZvcmUoZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24obil7bi5jaGlsZHJlbiYmTyhuLG4ueDAsdCoobi5kZXB0aCsxKS9lLG4ueDEsdCoobi5kZXB0aCsyKS9lKTt2YXIgYT1uLngwLGk9bi55MCxvPW4ueDEtcixzPW4ueTEtcjtvPGEmJihhPW89KGErbykvMiksczxpJiYoaT1zPShpK3MpLzIpLG4ueDA9YSxuLnkwPWksbi54MT1vLG4ueTE9c319KGUsaSkpLG4mJmEuZWFjaEJlZm9yZShQKSxhfXJldHVybiBhLnJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSEhdCxhKTpufSxhLnNpemU9ZnVuY3Rpb24ocil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9K3JbMF0sZT0rclsxXSxhKTpbdCxlXX0sYS5wYWRkaW5nPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSt0LGEpOnJ9LGF9LHQuc3RyYXRpZnk9ZnVuY3Rpb24oKXt2YXIgdD1SLGU9RjtmdW5jdGlvbiByKHIpe3ZhciBuLGEsaSxvLHMsdSxoLGY9ci5sZW5ndGgscD1uZXcgQXJyYXkoZiksZD17fTtmb3IoYT0wO2E8ZjsrK2Epbj1yW2FdLHM9cFthXT1uZXcgYyhuKSxudWxsIT0odT10KG4sYSxyKSkmJih1Kz0iIikmJihkW2g9eisocy5pZD11KV09aCBpbiBkP0Q6cyk7Zm9yKGE9MDthPGY7KythKWlmKHM9cFthXSxudWxsIT0odT1lKHJbYV0sYSxyKSkmJih1Kz0iIikpe2lmKCEobz1kW3ordV0pKXRocm93IG5ldyBFcnJvcigibWlzc2luZzogIit1KTtpZihvPT09RCl0aHJvdyBuZXcgRXJyb3IoImFtYmlndW91czogIit1KTtvLmNoaWxkcmVuP28uY2hpbGRyZW4ucHVzaChzKTpvLmNoaWxkcmVuPVtzXSxzLnBhcmVudD1vfWVsc2V7aWYoaSl0aHJvdyBuZXcgRXJyb3IoIm11bHRpcGxlIHJvb3RzIik7aT1zfWlmKCFpKXRocm93IG5ldyBFcnJvcigibm8gcm9vdCIpO2lmKGkucGFyZW50PUksaS5lYWNoQmVmb3JlKGZ1bmN0aW9uKHQpe3QuZGVwdGg9dC5wYXJlbnQuZGVwdGgrMSwtLWZ9KS5lYWNoQmVmb3JlKGwpLGkucGFyZW50PW51bGwsZj4wKXRocm93IG5ldyBFcnJvcigiY3ljbGUiKTtyZXR1cm4gaX1yZXR1cm4gci5pZD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1UKGUpLHIpOnR9LHIucGFyZW50SWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9VCh0KSxyKTplfSxyfSx0LnRyZWU9ZnVuY3Rpb24oKXt2YXIgdD1CLGU9MSxyPTEsbj1udWxsO2Z1bmN0aW9uIGEoYSl7dmFyIGw9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHIsbixhLGksbz1uZXcgcSh0LDApLHM9W29dO2U9cy5wb3AoKTspaWYobj1lLl8uY2hpbGRyZW4pZm9yKGUuY2hpbGRyZW49bmV3IEFycmF5KGk9bi5sZW5ndGgpLGE9aS0xO2E+PTA7LS1hKXMucHVzaChyPWUuY2hpbGRyZW5bYV09bmV3IHEoblthXSxhKSksci5wYXJlbnQ9ZTtyZXR1cm4oby5wYXJlbnQ9bmV3IHEobnVsbCwwKSkuY2hpbGRyZW49W29dLG99KGEpO2lmKGwuZWFjaEFmdGVyKGkpLGwucGFyZW50Lm09LWwueixsLmVhY2hCZWZvcmUobyksbilhLmVhY2hCZWZvcmUocyk7ZWxzZXt2YXIgYz1hLHU9YSxoPWE7YS5lYWNoQmVmb3JlKGZ1bmN0aW9uKHQpe3QueDxjLngmJihjPXQpLHQueD51LngmJih1PXQpLHQuZGVwdGg+aC5kZXB0aCYmKGg9dCl9KTt2YXIgZj1jPT09dT8xOnQoYyx1KS8yLHA9Zi1jLngsZD1lLyh1LngrZitwKSxnPXIvKGguZGVwdGh8fDEpO2EuZWFjaEJlZm9yZShmdW5jdGlvbih0KXt0Lng9KHQueCtwKSpkLHQueT10LmRlcHRoKmd9KX1yZXR1cm4gYX1mdW5jdGlvbiBpKGUpe3ZhciByPWUuY2hpbGRyZW4sbj1lLnBhcmVudC5jaGlsZHJlbixhPWUuaT9uW2UuaS0xXTpudWxsO2lmKHIpeyFmdW5jdGlvbih0KXtmb3IodmFyIGUscj0wLG49MCxhPXQuY2hpbGRyZW4saT1hLmxlbmd0aDstLWk+PTA7KShlPWFbaV0pLnorPXIsZS5tKz1yLHIrPWUucysobis9ZS5jKX0oZSk7dmFyIGk9KHJbMF0ueityW3IubGVuZ3RoLTFdLnopLzI7YT8oZS56PWEueit0KGUuXyxhLl8pLGUubT1lLnotaSk6ZS56PWl9ZWxzZSBhJiYoZS56PWEueit0KGUuXyxhLl8pKTtlLnBhcmVudC5BPWZ1bmN0aW9uKGUscixuKXtpZihyKXtmb3IodmFyIGEsaT1lLG89ZSxzPXIsbD1pLnBhcmVudC5jaGlsZHJlblswXSxjPWkubSx1PW8ubSxoPXMubSxmPWwubTtzPWoocyksaT1OKGkpLHMmJmk7KWw9TihsKSwobz1qKG8pKS5hPWUsKGE9cy56K2gtaS56LWMrdChzLl8saS5fKSk+MCYmKFYoVShzLGUsbiksZSxhKSxjKz1hLHUrPWEpLGgrPXMubSxjKz1pLm0sZis9bC5tLHUrPW8ubTtzJiYhaihvKSYmKG8udD1zLG8ubSs9aC11KSxpJiYhTihsKSYmKGwudD1pLGwubSs9Yy1mLG49ZSl9cmV0dXJuIG59KGUsYSxlLnBhcmVudC5BfHxuWzBdKX1mdW5jdGlvbiBvKHQpe3QuXy54PXQueit0LnBhcmVudC5tLHQubSs9dC5wYXJlbnQubX1mdW5jdGlvbiBzKHQpe3QueCo9ZSx0Lnk9dC5kZXB0aCpyfXJldHVybiBhLnNlcGFyYXRpb249ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ZSxhKTp0fSxhLnNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ITEsZT0rdFswXSxyPSt0WzFdLGEpOm4/bnVsbDpbZSxyXX0sYS5ub2RlU2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0hMCxlPSt0WzBdLHI9K3RbMV0sYSk6bj9bZSxyXTpudWxsfSxhfSx0LnRyZWVtYXA9ZnVuY3Rpb24oKXt2YXIgdD1XLGU9ITEscj0xLG49MSxhPVswXSxpPU0sbz1NLHM9TSxsPU0sYz1NO2Z1bmN0aW9uIHUodCl7cmV0dXJuIHQueDA9dC55MD0wLHQueDE9cix0LnkxPW4sdC5lYWNoQmVmb3JlKGgpLGE9WzBdLGUmJnQuZWFjaEJlZm9yZShQKSx0fWZ1bmN0aW9uIGgoZSl7dmFyIHI9YVtlLmRlcHRoXSxuPWUueDArcix1PWUueTArcixoPWUueDEtcixmPWUueTEtcjtoPG4mJihuPWg9KG4raCkvMiksZjx1JiYodT1mPSh1K2YpLzIpLGUueDA9bixlLnkwPXUsZS54MT1oLGUueTE9ZixlLmNoaWxkcmVuJiYocj1hW2UuZGVwdGgrMV09aShlKS8yLG4rPWMoZSktcix1Kz1vKGUpLXIsKGgtPXMoZSktcik8biYmKG49aD0obitoKS8yKSwoZi09bChlKS1yKTx1JiYodT1mPSh1K2YpLzIpLHQoZSxuLHUsaCxmKSl9cmV0dXJuIHUucm91bmQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ISF0LHUpOmV9LHUuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0rdFswXSxuPSt0WzFdLHUpOltyLG5dfSx1LnRpbGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9VChlKSx1KTp0fSx1LnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dS5wYWRkaW5nSW5uZXIodCkucGFkZGluZ091dGVyKHQpOnUucGFkZGluZ0lubmVyKCl9LHUucGFkZGluZ0lubmVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6QSgrdCksdSk6aX0sdS5wYWRkaW5nT3V0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dS5wYWRkaW5nVG9wKHQpLnBhZGRpbmdSaWdodCh0KS5wYWRkaW5nQm90dG9tKHQpLnBhZGRpbmdMZWZ0KHQpOnUucGFkZGluZ1RvcCgpfSx1LnBhZGRpbmdUb3A9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpBKCt0KSx1KTpvfSx1LnBhZGRpbmdSaWdodD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkEoK3QpLHUpOnN9LHUucGFkZGluZ0JvdHRvbT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkEoK3QpLHUpOmx9LHUucGFkZGluZ0xlZnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGM9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpBKCt0KSx1KTpjfSx1fSx0LnRyZWVtYXBCaW5hcnk9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaSxvLHM9dC5jaGlsZHJlbixsPXMubGVuZ3RoLGM9bmV3IEFycmF5KGwrMSk7Zm9yKGNbMF09bz1pPTA7aTxsOysraSljW2krMV09bys9c1tpXS52YWx1ZTshZnVuY3Rpb24gdChlLHIsbixhLGksbyxsKXtpZihlPj1yLTEpe3ZhciB1PXNbZV07cmV0dXJuIHUueDA9YSx1LnkwPWksdS54MT1vLHZvaWQodS55MT1sKX1mb3IodmFyIGg9Y1tlXSxmPW4vMitoLHA9ZSsxLGQ9ci0xO3A8ZDspe3ZhciBnPXArZD4+PjE7Y1tnXTxmP3A9ZysxOmQ9Z31mLWNbcC0xXTxjW3BdLWYmJmUrMTxwJiYtLXA7dmFyIHY9Y1twXS1oLG09bi12O2lmKG8tYT5sLWkpe3ZhciB5PShhKm0rbyp2KS9uO3QoZSxwLHYsYSxpLHksbCksdChwLHIsbSx5LGksbyxsKX1lbHNle3ZhciB4PShpKm0rbCp2KS9uO3QoZSxwLHYsYSxpLG8seCksdChwLHIsbSxhLHgsbyxsKX19KDAsbCx0LnZhbHVlLGUscixuLGEpfSx0LnRyZWVtYXBEaWNlPU8sdC50cmVlbWFwUmVzcXVhcmlmeT1YLHQudHJlZW1hcFNsaWNlPUgsdC50cmVlbWFwU2xpY2VEaWNlPWZ1bmN0aW9uKHQsZSxyLG4sYSl7KDEmdC5kZXB0aD9IOk8pKHQsZSxyLG4sYSl9LHQudHJlZW1hcFNxdWFyaWZ5PVcsT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSgib2JqZWN0Ij09dHlwZW9mIHImJiJ1bmRlZmluZWQiIT10eXBlb2YgZT9yOihuPW58fHNlbGYpLmQzPW4uZDN8fHt9KX0se31dLDE2MDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuLGE7bj10aGlzLGE9ZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcih0LGUscixuLGEpe3ZhciBpPXQqdCxvPWkqdDtyZXR1cm4oKDEtMyp0KzMqaS1vKSplKyg0LTYqaSszKm8pKnIrKDErMyp0KzMqaS0zKm8pKm4rbyphKS82fWZ1bmN0aW9uIG4odCl7dmFyIGU9dC5sZW5ndGgtMTtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGE9bjw9MD9uPTA6bj49MT8obj0xLGUtMSk6TWF0aC5mbG9vcihuKmUpLGk9dFthXSxvPXRbYSsxXSxzPWE+MD90W2EtMV06MippLW8sbD1hPGUtMT90W2ErMl06MipvLWk7cmV0dXJuIHIoKG4tYS9lKSplLHMsaSxvLGwpfX1mdW5jdGlvbiBhKHQpe3ZhciBlPXQubGVuZ3RoO3JldHVybiBmdW5jdGlvbihuKXt2YXIgYT1NYXRoLmZsb29yKCgobiU9MSk8MD8rK246bikqZSksaT10WyhhK2UtMSklZV0sbz10W2ElZV0scz10WyhhKzEpJWVdLGw9dFsoYSsyKSVlXTtyZXR1cm4gcigobi1hL2UpKmUsaSxvLHMsbCl9fWZ1bmN0aW9uIGkodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIG8odCxlKXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHQrciplfX1mdW5jdGlvbiBzKHQsZSl7dmFyIHI9ZS10O3JldHVybiByP28odCxyPjE4MHx8cjwtMTgwP3ItMzYwKk1hdGgucm91bmQoci8zNjApOnIpOmkoaXNOYU4odCk/ZTp0KX1mdW5jdGlvbiBsKHQpe3JldHVybiAxPT0odD0rdCk/YzpmdW5jdGlvbihlLHIpe3JldHVybiByLWU/ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PU1hdGgucG93KHQsciksZT1NYXRoLnBvdyhlLHIpLXQscj0xL3IsZnVuY3Rpb24obil7cmV0dXJuIE1hdGgucG93KHQrbiplLHIpfX0oZSxyLHQpOmkoaXNOYU4oZSk/cjplKX19ZnVuY3Rpb24gYyh0LGUpe3ZhciByPWUtdDtyZXR1cm4gcj9vKHQscik6aShpc05hTih0KT9lOnQpfXZhciB1PWZ1bmN0aW9uIHQocil7dmFyIG49bChyKTtmdW5jdGlvbiBhKHQscil7dmFyIGE9bigodD1lLnJnYih0KSkuciwocj1lLnJnYihyKSkuciksaT1uKHQuZyxyLmcpLG89bih0LmIsci5iKSxzPWModC5vcGFjaXR5LHIub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LnI9YShlKSx0Lmc9aShlKSx0LmI9byhlKSx0Lm9wYWNpdHk9cyhlKSx0KyIifX1yZXR1cm4gYS5nYW1tYT10LGF9KDEpO2Z1bmN0aW9uIGgodCl7cmV0dXJuIGZ1bmN0aW9uKHIpe3ZhciBuLGEsaT1yLmxlbmd0aCxvPW5ldyBBcnJheShpKSxzPW5ldyBBcnJheShpKSxsPW5ldyBBcnJheShpKTtmb3Iobj0wO248aTsrK24pYT1lLnJnYihyW25dKSxvW25dPWEucnx8MCxzW25dPWEuZ3x8MCxsW25dPWEuYnx8MDtyZXR1cm4gbz10KG8pLHM9dChzKSxsPXQobCksYS5vcGFjaXR5PTEsZnVuY3Rpb24odCl7cmV0dXJuIGEucj1vKHQpLGEuZz1zKHQpLGEuYj1sKHQpLGErIiJ9fX12YXIgZj1oKG4pLHA9aChhKTtmdW5jdGlvbiBkKHQsZSl7ZXx8KGU9W10pO3ZhciByLG49dD9NYXRoLm1pbihlLmxlbmd0aCx0Lmxlbmd0aCk6MCxhPWUuc2xpY2UoKTtyZXR1cm4gZnVuY3Rpb24oaSl7Zm9yKHI9MDtyPG47KytyKWFbcl09dFtyXSooMS1pKStlW3JdKmk7cmV0dXJuIGF9fWZ1bmN0aW9uIGcodCl7cmV0dXJuIEFycmF5QnVmZmVyLmlzVmlldyh0KSYmISh0IGluc3RhbmNlb2YgRGF0YVZpZXcpfWZ1bmN0aW9uIHYodCxlKXt2YXIgcixuPWU/ZS5sZW5ndGg6MCxhPXQ/TWF0aC5taW4obix0Lmxlbmd0aCk6MCxpPW5ldyBBcnJheShhKSxvPW5ldyBBcnJheShuKTtmb3Iocj0wO3I8YTsrK3IpaVtyXT1rKHRbcl0sZVtyXSk7Zm9yKDtyPG47KytyKW9bcl09ZVtyXTtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKHI9MDtyPGE7KytyKW9bcl09aVtyXSh0KTtyZXR1cm4gb319ZnVuY3Rpb24gbSh0LGUpe3ZhciByPW5ldyBEYXRlO3JldHVybiB0PSt0LGU9K2UsZnVuY3Rpb24obil7cmV0dXJuIHIuc2V0VGltZSh0KigxLW4pK2Uqbikscn19ZnVuY3Rpb24geSh0LGUpe3JldHVybiB0PSt0LGU9K2UsZnVuY3Rpb24ocil7cmV0dXJuIHQqKDEtcikrZSpyfX1mdW5jdGlvbiB4KHQsZSl7dmFyIHIsbj17fSxhPXt9O2ZvcihyIGluIG51bGwhPT10JiYib2JqZWN0Ij09dHlwZW9mIHR8fCh0PXt9KSxudWxsIT09ZSYmIm9iamVjdCI9PXR5cGVvZiBlfHwoZT17fSksZSlyIGluIHQ/bltyXT1rKHRbcl0sZVtyXSk6YVtyXT1lW3JdO3JldHVybiBmdW5jdGlvbih0KXtmb3IociBpbiBuKWFbcl09bltyXSh0KTtyZXR1cm4gYX19dmFyIGI9L1stK10/KD86XGQrXC4/XGQqfFwuP1xkKykoPzpbZUVdWy0rXT9cZCspPy9nLF89bmV3IFJlZ0V4cChiLnNvdXJjZSwiZyIpO2Z1bmN0aW9uIHcodCxlKXt2YXIgcixuLGEsaT1iLmxhc3RJbmRleD1fLmxhc3RJbmRleD0wLG89LTEscz1bXSxsPVtdO2Zvcih0Kz0iIixlKz0iIjsocj1iLmV4ZWModCkpJiYobj1fLmV4ZWMoZSkpOykoYT1uLmluZGV4KT5pJiYoYT1lLnNsaWNlKGksYSksc1tvXT9zW29dKz1hOnNbKytvXT1hKSwocj1yWzBdKT09PShuPW5bMF0pP3Nbb10/c1tvXSs9bjpzWysrb109bjooc1srK29dPW51bGwsbC5wdXNoKHtpOm8seDp5KHIsbil9KSksaT1fLmxhc3RJbmRleDtyZXR1cm4gaTxlLmxlbmd0aCYmKGE9ZS5zbGljZShpKSxzW29dP3Nbb10rPWE6c1srK29dPWEpLHMubGVuZ3RoPDI/bFswXT9mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSkrIiJ9fShsWzBdLngpOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX0oZSk6KGU9bC5sZW5ndGgsZnVuY3Rpb24odCl7Zm9yKHZhciByLG49MDtuPGU7KytuKXNbKHI9bFtuXSkuaV09ci54KHQpO3JldHVybiBzLmpvaW4oIiIpfSl9ZnVuY3Rpb24gayh0LHIpe3ZhciBuLGE9dHlwZW9mIHI7cmV0dXJuIG51bGw9PXJ8fCJib29sZWFuIj09PWE/aShyKTooIm51bWJlciI9PT1hP3k6InN0cmluZyI9PT1hPyhuPWUuY29sb3IocikpPyhyPW4sdSk6dzpyIGluc3RhbmNlb2YgZS5jb2xvcj91OnIgaW5zdGFuY2VvZiBEYXRlP206ZyhyKT9kOkFycmF5LmlzQXJyYXkocik/djoiZnVuY3Rpb24iIT10eXBlb2Ygci52YWx1ZU9mJiYiZnVuY3Rpb24iIT10eXBlb2Ygci50b1N0cmluZ3x8aXNOYU4ocik/eDp5KSh0LHIpfXZhciBULE0sQSxTLEU9MTgwL01hdGguUEksTD17dHJhbnNsYXRlWDowLHRyYW5zbGF0ZVk6MCxyb3RhdGU6MCxza2V3WDowLHNjYWxlWDoxLHNjYWxlWToxfTtmdW5jdGlvbiBDKHQsZSxyLG4sYSxpKXt2YXIgbyxzLGw7cmV0dXJuKG89TWF0aC5zcXJ0KHQqdCtlKmUpKSYmKHQvPW8sZS89byksKGw9dCpyK2UqbikmJihyLT10Kmwsbi09ZSpsKSwocz1NYXRoLnNxcnQocipyK24qbikpJiYoci89cyxuLz1zLGwvPXMpLHQqbjxlKnImJih0PS10LGU9LWUsbD0tbCxvPS1vKSx7dHJhbnNsYXRlWDphLHRyYW5zbGF0ZVk6aSxyb3RhdGU6TWF0aC5hdGFuMihlLHQpKkUsc2tld1g6TWF0aC5hdGFuKGwpKkUsc2NhbGVYOm8sc2NhbGVZOnN9fWZ1bmN0aW9uIFAodCxlLHIsbil7ZnVuY3Rpb24gYSh0KXtyZXR1cm4gdC5sZW5ndGg/dC5wb3AoKSsiICI6IiJ9cmV0dXJuIGZ1bmN0aW9uKGksbyl7dmFyIHM9W10sbD1bXTtyZXR1cm4gaT10KGkpLG89dChvKSxmdW5jdGlvbih0LG4sYSxpLG8scyl7aWYodCE9PWF8fG4hPT1pKXt2YXIgbD1vLnB1c2goInRyYW5zbGF0ZSgiLG51bGwsZSxudWxsLHIpO3MucHVzaCh7aTpsLTQseDp5KHQsYSl9LHtpOmwtMix4OnkobixpKX0pfWVsc2UoYXx8aSkmJm8ucHVzaCgidHJhbnNsYXRlKCIrYStlK2krcil9KGkudHJhbnNsYXRlWCxpLnRyYW5zbGF0ZVksby50cmFuc2xhdGVYLG8udHJhbnNsYXRlWSxzLGwpLGZ1bmN0aW9uKHQsZSxyLGkpe3QhPT1lPyh0LWU+MTgwP2UrPTM2MDplLXQ+MTgwJiYodCs9MzYwKSxpLnB1c2goe2k6ci5wdXNoKGEocikrInJvdGF0ZSgiLG51bGwsbiktMix4OnkodCxlKX0pKTplJiZyLnB1c2goYShyKSsicm90YXRlKCIrZStuKX0oaS5yb3RhdGUsby5yb3RhdGUscyxsKSxmdW5jdGlvbih0LGUscixpKXt0IT09ZT9pLnB1c2goe2k6ci5wdXNoKGEocikrInNrZXdYKCIsbnVsbCxuKS0yLHg6eSh0LGUpfSk6ZSYmci5wdXNoKGEocikrInNrZXdYKCIrZStuKX0oaS5za2V3WCxvLnNrZXdYLHMsbCksZnVuY3Rpb24odCxlLHIsbixpLG8pe2lmKHQhPT1yfHxlIT09bil7dmFyIHM9aS5wdXNoKGEoaSkrInNjYWxlKCIsbnVsbCwiLCIsbnVsbCwiKSIpO28ucHVzaCh7aTpzLTQseDp5KHQscil9LHtpOnMtMix4OnkoZSxuKX0pfWVsc2UgMT09PXImJjE9PT1ufHxpLnB1c2goYShpKSsic2NhbGUoIityKyIsIituKyIpIil9KGkuc2NhbGVYLGkuc2NhbGVZLG8uc2NhbGVYLG8uc2NhbGVZLHMsbCksaT1vPW51bGwsZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9LTEsbj1sLmxlbmd0aDsrK3I8bjspc1soZT1sW3JdKS5pXT1lLngodCk7cmV0dXJuIHMuam9pbigiIil9fX12YXIgTz1QKGZ1bmN0aW9uKHQpe3JldHVybiJub25lIj09PXQ/TDooVHx8KFQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiRElWIiksTT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsQT1kb2N1bWVudC5kZWZhdWx0VmlldyksVC5zdHlsZS50cmFuc2Zvcm09dCx0PUEuZ2V0Q29tcHV0ZWRTdHlsZShNLmFwcGVuZENoaWxkKFQpLG51bGwpLmdldFByb3BlcnR5VmFsdWUoInRyYW5zZm9ybSIpLE0ucmVtb3ZlQ2hpbGQoVCksQygrKHQ9dC5zbGljZSg3LC0xKS5zcGxpdCgiLCIpKVswXSwrdFsxXSwrdFsyXSwrdFszXSwrdFs0XSwrdFs1XSkpfSwicHgsICIsInB4KSIsImRlZykiKSx6PVAoZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/TDooU3x8KFM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImciKSksUy5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsdCksKHQ9Uy50cmFuc2Zvcm0uYmFzZVZhbC5jb25zb2xpZGF0ZSgpKT9DKCh0PXQubWF0cml4KS5hLHQuYix0LmMsdC5kLHQuZSx0LmYpOkwpfSwiLCAiLCIpIiwiKSIpLEk9TWF0aC5TUVJUMixEPTIsUj00LEY9MWUtMTI7ZnVuY3Rpb24gQih0KXtyZXR1cm4oKHQ9TWF0aC5leHAodCkpKzEvdCkvMn1mdW5jdGlvbiBOKHQpe3JldHVybiBmdW5jdGlvbihyLG4pe3ZhciBhPXQoKHI9ZS5oc2wocikpLmgsKG49ZS5oc2wobikpLmgpLGk9YyhyLnMsbi5zKSxvPWMoci5sLG4ubCkscz1jKHIub3BhY2l0eSxuLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gci5oPWEodCksci5zPWkodCksci5sPW8odCksci5vcGFjaXR5PXModCkscisiIn19fXZhciBqPU4ocyksVj1OKGMpO2Z1bmN0aW9uIFUodCl7cmV0dXJuIGZ1bmN0aW9uKHIsbil7dmFyIGE9dCgocj1lLmhjbChyKSkuaCwobj1lLmhjbChuKSkuaCksaT1jKHIuYyxuLmMpLG89YyhyLmwsbi5sKSxzPWMoci5vcGFjaXR5LG4ub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiByLmg9YSh0KSxyLmM9aSh0KSxyLmw9byh0KSxyLm9wYWNpdHk9cyh0KSxyKyIifX19dmFyIHE9VShzKSxIPVUoYyk7ZnVuY3Rpb24gRyh0KXtyZXR1cm4gZnVuY3Rpb24gcihuKXtmdW5jdGlvbiBhKHIsYSl7dmFyIGk9dCgocj1lLmN1YmVoZWxpeChyKSkuaCwoYT1lLmN1YmVoZWxpeChhKSkuaCksbz1jKHIucyxhLnMpLHM9YyhyLmwsYS5sKSxsPWMoci5vcGFjaXR5LGEub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiByLmg9aSh0KSxyLnM9byh0KSxyLmw9cyhNYXRoLnBvdyh0LG4pKSxyLm9wYWNpdHk9bCh0KSxyKyIifX1yZXR1cm4gbj0rbixhLmdhbW1hPXIsYX0oMSl9dmFyIFk9RyhzKSxXPUcoYyk7dC5pbnRlcnBvbGF0ZT1rLHQuaW50ZXJwb2xhdGVBcnJheT1mdW5jdGlvbih0LGUpe3JldHVybihnKGUpP2Q6dikodCxlKX0sdC5pbnRlcnBvbGF0ZUJhc2lzPW4sdC5pbnRlcnBvbGF0ZUJhc2lzQ2xvc2VkPWEsdC5pbnRlcnBvbGF0ZUN1YmVoZWxpeD1ZLHQuaW50ZXJwb2xhdGVDdWJlaGVsaXhMb25nPVcsdC5pbnRlcnBvbGF0ZURhdGU9bSx0LmludGVycG9sYXRlRGlzY3JldGU9ZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiB0W01hdGgubWF4KDAsTWF0aC5taW4oZS0xLE1hdGguZmxvb3IociplKSkpXX19LHQuaW50ZXJwb2xhdGVIY2w9cSx0LmludGVycG9sYXRlSGNsTG9uZz1ILHQuaW50ZXJwb2xhdGVIc2w9aix0LmludGVycG9sYXRlSHNsTG9uZz1WLHQuaW50ZXJwb2xhdGVIdWU9ZnVuY3Rpb24odCxlKXt2YXIgcj1zKCt0LCtlKTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9cih0KTtyZXR1cm4gZS0zNjAqTWF0aC5mbG9vcihlLzM2MCl9fSx0LmludGVycG9sYXRlTGFiPWZ1bmN0aW9uKHQscil7dmFyIG49YygodD1lLmxhYih0KSkubCwocj1lLmxhYihyKSkubCksYT1jKHQuYSxyLmEpLGk9Yyh0LmIsci5iKSxvPWModC5vcGFjaXR5LHIub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0Lmw9bihlKSx0LmE9YShlKSx0LmI9aShlKSx0Lm9wYWNpdHk9byhlKSx0KyIifX0sdC5pbnRlcnBvbGF0ZU51bWJlcj15LHQuaW50ZXJwb2xhdGVOdW1iZXJBcnJheT1kLHQuaW50ZXJwb2xhdGVPYmplY3Q9eCx0LmludGVycG9sYXRlUmdiPXUsdC5pbnRlcnBvbGF0ZVJnYkJhc2lzPWYsdC5pbnRlcnBvbGF0ZVJnYkJhc2lzQ2xvc2VkPXAsdC5pbnRlcnBvbGF0ZVJvdW5kPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9K3QsZT0rZSxmdW5jdGlvbihyKXtyZXR1cm4gTWF0aC5yb3VuZCh0KigxLXIpK2Uqcil9fSx0LmludGVycG9sYXRlU3RyaW5nPXcsdC5pbnRlcnBvbGF0ZVRyYW5zZm9ybUNzcz1PLHQuaW50ZXJwb2xhdGVUcmFuc2Zvcm1Tdmc9eix0LmludGVycG9sYXRlWm9vbT1mdW5jdGlvbih0LGUpe3ZhciByLG4sYT10WzBdLGk9dFsxXSxvPXRbMl0scz1lWzBdLGw9ZVsxXSxjPWVbMl0sdT1zLWEsaD1sLWksZj11KnUraCpoO2lmKGY8RiluPU1hdGgubG9nKGMvbykvSSxyPWZ1bmN0aW9uKHQpe3JldHVyblthK3QqdSxpK3QqaCxvKk1hdGguZXhwKEkqdCpuKV19O2Vsc2V7dmFyIHA9TWF0aC5zcXJ0KGYpLGQ9KGMqYy1vKm8rUipmKS8oMipvKkQqcCksZz0oYypjLW8qby1SKmYpLygyKmMqRCpwKSx2PU1hdGgubG9nKE1hdGguc3FydChkKmQrMSktZCksbT1NYXRoLmxvZyhNYXRoLnNxcnQoZypnKzEpLWcpO249KG0tdikvSSxyPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dCpuLHM9Qih2KSxsPW8vKEQqcCkqKHMqKGU9SSpyK3YsKChlPU1hdGguZXhwKDIqZSkpLTEpLyhlKzEpKS1mdW5jdGlvbih0KXtyZXR1cm4oKHQ9TWF0aC5leHAodCkpLTEvdCkvMn0odikpO3JldHVyblthK2wqdSxpK2wqaCxvKnMvQihJKnIrdildfX1yZXR1cm4gci5kdXJhdGlvbj0xZTMqbixyfSx0LnBpZWNld2lzZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49ZS5sZW5ndGgtMSxhPWVbMF0saT1uZXcgQXJyYXkobjwwPzA6bik7cjxuOylpW3JdPXQoYSxhPWVbKytyXSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPU1hdGgubWF4KDAsTWF0aC5taW4obi0xLE1hdGguZmxvb3IodCo9bikpKTtyZXR1cm4gaVtlXSh0LWUpfX0sdC5xdWFudGl6ZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1uZXcgQXJyYXkoZSksbj0wO248ZTsrK24pcltuXT10KG4vKGUtMSkpO3JldHVybiByfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LCJvYmplY3QiPT10eXBlb2YgciYmInVuZGVmaW5lZCIhPXR5cGVvZiBlP2Eocix0KCJkMy1jb2xvciIpKTphKChuPW58fHNlbGYpLmQzPW4uZDN8fHt9LG4uZDMpfSx7ImQzLWNvbG9yIjoxNTZ9XSwxNjE6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbjtuPXRoaXMsZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO3ZhciBlPU1hdGguUEkscj0yKmUsbj1yLTFlLTY7ZnVuY3Rpb24gYSgpe3RoaXMuX3gwPXRoaXMuX3kwPXRoaXMuX3gxPXRoaXMuX3kxPW51bGwsdGhpcy5fPSIifWZ1bmN0aW9uIGkoKXtyZXR1cm4gbmV3IGF9YS5wcm90b3R5cGU9aS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmEsbW92ZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fKz0iTSIrKHRoaXMuX3gwPXRoaXMuX3gxPSt0KSsiLCIrKHRoaXMuX3kwPXRoaXMuX3kxPStlKX0sY2xvc2VQYXRoOmZ1bmN0aW9uKCl7bnVsbCE9PXRoaXMuX3gxJiYodGhpcy5feDE9dGhpcy5feDAsdGhpcy5feTE9dGhpcy5feTAsdGhpcy5fKz0iWiIpfSxsaW5lVG86ZnVuY3Rpb24odCxlKXt0aGlzLl8rPSJMIisodGhpcy5feDE9K3QpKyIsIisodGhpcy5feTE9K2UpfSxxdWFkcmF0aWNDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMuXys9IlEiKyArdCsiLCIrICtlKyIsIisodGhpcy5feDE9K3IpKyIsIisodGhpcy5feTE9K24pfSxiZXppZXJDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt0aGlzLl8rPSJDIisgK3QrIiwiKyArZSsiLCIrICtyKyIsIisgK24rIiwiKyh0aGlzLl94MT0rYSkrIiwiKyh0aGlzLl95MT0raSl9LGFyY1RvOmZ1bmN0aW9uKHQscixuLGEsaSl7dD0rdCxyPStyLG49K24sYT0rYSxpPStpO3ZhciBvPXRoaXMuX3gxLHM9dGhpcy5feTEsbD1uLXQsYz1hLXIsdT1vLXQsaD1zLXIsZj11KnUraCpoO2lmKGk8MCl0aHJvdyBuZXcgRXJyb3IoIm5lZ2F0aXZlIHJhZGl1czogIitpKTtpZihudWxsPT09dGhpcy5feDEpdGhpcy5fKz0iTSIrKHRoaXMuX3gxPXQpKyIsIisodGhpcy5feTE9cik7ZWxzZSBpZihmPjFlLTYpaWYoTWF0aC5hYnMoaCpsLWMqdSk+MWUtNiYmaSl7dmFyIHA9bi1vLGQ9YS1zLGc9bCpsK2MqYyx2PXAqcCtkKmQsbT1NYXRoLnNxcnQoZykseT1NYXRoLnNxcnQoZikseD1pKk1hdGgudGFuKChlLU1hdGguYWNvcygoZytmLXYpLygyKm0qeSkpKS8yKSxiPXgveSxfPXgvbTtNYXRoLmFicyhiLTEpPjFlLTYmJih0aGlzLl8rPSJMIisodCtiKnUpKyIsIisocitiKmgpKSx0aGlzLl8rPSJBIitpKyIsIitpKyIsMCwwLCIrICsoaCpwPnUqZCkrIiwiKyh0aGlzLl94MT10K18qbCkrIiwiKyh0aGlzLl95MT1yK18qYyl9ZWxzZSB0aGlzLl8rPSJMIisodGhpcy5feDE9dCkrIiwiKyh0aGlzLl95MT1yKTtlbHNlO30sYXJjOmZ1bmN0aW9uKHQsYSxpLG8scyxsKXt0PSt0LGE9K2E7dmFyIGM9KGk9K2kpKk1hdGguY29zKG8pLHU9aSpNYXRoLnNpbihvKSxoPXQrYyxmPWErdSxwPTFebCxkPWw/by1zOnMtbztpZihpPDApdGhyb3cgbmV3IEVycm9yKCJuZWdhdGl2ZSByYWRpdXM6ICIraSk7bnVsbD09PXRoaXMuX3gxP3RoaXMuXys9Ik0iK2grIiwiK2Y6KE1hdGguYWJzKHRoaXMuX3gxLWgpPjFlLTZ8fE1hdGguYWJzKHRoaXMuX3kxLWYpPjFlLTYpJiYodGhpcy5fKz0iTCIraCsiLCIrZiksaSYmKGQ8MCYmKGQ9ZCVyK3IpLGQ+bj90aGlzLl8rPSJBIitpKyIsIitpKyIsMCwxLCIrcCsiLCIrKHQtYykrIiwiKyhhLXUpKyJBIitpKyIsIitpKyIsMCwxLCIrcCsiLCIrKHRoaXMuX3gxPWgpKyIsIisodGhpcy5feTE9Zik6ZD4xZS02JiYodGhpcy5fKz0iQSIraSsiLCIraSsiLDAsIisgKyhkPj1lKSsiLCIrcCsiLCIrKHRoaXMuX3gxPXQraSpNYXRoLmNvcyhzKSkrIiwiKyh0aGlzLl95MT1hK2kqTWF0aC5zaW4ocykpKSl9LHJlY3Q6ZnVuY3Rpb24odCxlLHIsbil7dGhpcy5fKz0iTSIrKHRoaXMuX3gwPXRoaXMuX3gxPSt0KSsiLCIrKHRoaXMuX3kwPXRoaXMuX3kxPStlKSsiaCIrICtyKyJ2IisgK24rImgiKy1yKyJaIn0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ffX0sdC5wYXRoPWksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSgib2JqZWN0Ij09dHlwZW9mIHImJiJ1bmRlZmluZWQiIT10eXBlb2YgZT9yOm4uZDM9bi5kM3x8e30pfSx7fV0sMTYyOltmdW5jdGlvbih0LGUscil7dmFyIG47bj10aGlzLGZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKHQsZSxyLG4pe2lmKGlzTmFOKGUpfHxpc05hTihyKSlyZXR1cm4gdDt2YXIgYSxpLG8scyxsLGMsdSxoLGYscD10Ll9yb290LGQ9e2RhdGE6bn0sZz10Ll94MCx2PXQuX3kwLG09dC5feDEseT10Ll95MTtpZighcClyZXR1cm4gdC5fcm9vdD1kLHQ7Zm9yKDtwLmxlbmd0aDspaWYoKGM9ZT49KGk9KGcrbSkvMikpP2c9aTptPWksKHU9cj49KG89KHYreSkvMikpP3Y9bzp5PW8sYT1wLCEocD1wW2g9dTw8MXxjXSkpcmV0dXJuIGFbaF09ZCx0O2lmKHM9K3QuX3guY2FsbChudWxsLHAuZGF0YSksbD0rdC5feS5jYWxsKG51bGwscC5kYXRhKSxlPT09cyYmcj09PWwpcmV0dXJuIGQubmV4dD1wLGE/YVtoXT1kOnQuX3Jvb3Q9ZCx0O2Rve2E9YT9hW2hdPW5ldyBBcnJheSg0KTp0Ll9yb290PW5ldyBBcnJheSg0KSwoYz1lPj0oaT0oZyttKS8yKSk/Zz1pOm09aSwodT1yPj0obz0odit5KS8yKSk/dj1vOnk9b313aGlsZSgoaD11PDwxfGMpPT0oZj0obD49byk8PDF8cz49aSkpO3JldHVybiBhW2ZdPXAsYVtoXT1kLHR9dmFyIHI9ZnVuY3Rpb24odCxlLHIsbixhKXt0aGlzLm5vZGU9dCx0aGlzLngwPWUsdGhpcy55MD1yLHRoaXMueDE9bix0aGlzLnkxPWF9O2Z1bmN0aW9uIG4odCl7cmV0dXJuIHRbMF19ZnVuY3Rpb24gYSh0KXtyZXR1cm4gdFsxXX1mdW5jdGlvbiBpKHQsZSxyKXt2YXIgaT1uZXcgbyhudWxsPT1lP246ZSxudWxsPT1yP2E6cixOYU4sTmFOLE5hTixOYU4pO3JldHVybiBudWxsPT10P2k6aS5hZGRBbGwodCl9ZnVuY3Rpb24gbyh0LGUscixuLGEsaSl7dGhpcy5feD10LHRoaXMuX3k9ZSx0aGlzLl94MD1yLHRoaXMuX3kwPW4sdGhpcy5feDE9YSx0aGlzLl95MT1pLHRoaXMuX3Jvb3Q9dm9pZCAwfWZ1bmN0aW9uIHModCl7Zm9yKHZhciBlPXtkYXRhOnQuZGF0YX0scj1lO3Q9dC5uZXh0OylyPXIubmV4dD17ZGF0YTp0LmRhdGF9O3JldHVybiBlfXZhciBsPWkucHJvdG90eXBlPW8ucHJvdG90eXBlO2wuY29weT1mdW5jdGlvbigpe3ZhciB0LGUscj1uZXcgbyh0aGlzLl94LHRoaXMuX3ksdGhpcy5feDAsdGhpcy5feTAsdGhpcy5feDEsdGhpcy5feTEpLG49dGhpcy5fcm9vdDtpZighbilyZXR1cm4gcjtpZighbi5sZW5ndGgpcmV0dXJuIHIuX3Jvb3Q9cyhuKSxyO2Zvcih0PVt7c291cmNlOm4sdGFyZ2V0OnIuX3Jvb3Q9bmV3IEFycmF5KDQpfV07bj10LnBvcCgpOylmb3IodmFyIGE9MDthPDQ7KythKShlPW4uc291cmNlW2FdKSYmKGUubGVuZ3RoP3QucHVzaCh7c291cmNlOmUsdGFyZ2V0Om4udGFyZ2V0W2FdPW5ldyBBcnJheSg0KX0pOm4udGFyZ2V0W2FdPXMoZSkpO3JldHVybiByfSxsLmFkZD1mdW5jdGlvbih0KXt2YXIgcj0rdGhpcy5feC5jYWxsKG51bGwsdCksbj0rdGhpcy5feS5jYWxsKG51bGwsdCk7cmV0dXJuIGUodGhpcy5jb3ZlcihyLG4pLHIsbix0KX0sbC5hZGRBbGw9ZnVuY3Rpb24odCl7dmFyIHIsbixhLGksbz10Lmxlbmd0aCxzPW5ldyBBcnJheShvKSxsPW5ldyBBcnJheShvKSxjPTEvMCx1PTEvMCxoPS0xLzAsZj0tMS8wO2ZvcihuPTA7bjxvOysrbilpc05hTihhPSt0aGlzLl94LmNhbGwobnVsbCxyPXRbbl0pKXx8aXNOYU4oaT0rdGhpcy5feS5jYWxsKG51bGwscikpfHwoc1tuXT1hLGxbbl09aSxhPGMmJihjPWEpLGE+aCYmKGg9YSksaTx1JiYodT1pKSxpPmYmJihmPWkpKTtmb3IoaDxjJiYoYz10aGlzLl94MCxoPXRoaXMuX3gxKSxmPHUmJih1PXRoaXMuX3kwLGY9dGhpcy5feTEpLHRoaXMuY292ZXIoYyx1KS5jb3ZlcihoLGYpLG49MDtuPG87KytuKWUodGhpcyxzW25dLGxbbl0sdFtuXSk7cmV0dXJuIHRoaXN9LGwuY292ZXI9ZnVuY3Rpb24odCxlKXtpZihpc05hTih0PSt0KXx8aXNOYU4oZT0rZSkpcmV0dXJuIHRoaXM7dmFyIHI9dGhpcy5feDAsbj10aGlzLl95MCxhPXRoaXMuX3gxLGk9dGhpcy5feTE7aWYoaXNOYU4ocikpYT0ocj1NYXRoLmZsb29yKHQpKSsxLGk9KG49TWF0aC5mbG9vcihlKSkrMTtlbHNle2lmKCEocj50fHx0PmF8fG4+ZXx8ZT5pKSlyZXR1cm4gdGhpczt2YXIgbyxzLGw9YS1yLGM9dGhpcy5fcm9vdDtzd2l0Y2gocz0oZTwobitpKS8yKTw8MXx0PChyK2EpLzIpe2Nhc2UgMDpkb3sobz1uZXcgQXJyYXkoNCkpW3NdPWMsYz1vfXdoaWxlKGk9bisobCo9MiksdD4oYT1yK2wpfHxlPmkpO2JyZWFrO2Nhc2UgMTpkb3sobz1uZXcgQXJyYXkoNCkpW3NdPWMsYz1vfXdoaWxlKGk9bisobCo9MiksKHI9YS1sKT50fHxlPmkpO2JyZWFrO2Nhc2UgMjpkb3sobz1uZXcgQXJyYXkoNCkpW3NdPWMsYz1vfXdoaWxlKG49aS0obCo9MiksdD4oYT1yK2wpfHxuPmUpO2JyZWFrO2Nhc2UgMzpkb3sobz1uZXcgQXJyYXkoNCkpW3NdPWMsYz1vfXdoaWxlKG49aS0obCo9MiksKHI9YS1sKT50fHxuPmUpfXRoaXMuX3Jvb3QmJnRoaXMuX3Jvb3QubGVuZ3RoJiYodGhpcy5fcm9vdD1jKX1yZXR1cm4gdGhpcy5feDA9cix0aGlzLl95MD1uLHRoaXMuX3gxPWEsdGhpcy5feTE9aSx0aGlzfSxsLmRhdGE9ZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy52aXNpdChmdW5jdGlvbihlKXtpZighZS5sZW5ndGgpZG97dC5wdXNoKGUuZGF0YSl9d2hpbGUoZT1lLm5leHQpfSksdH0sbC5leHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5jb3ZlcigrdFswXVswXSwrdFswXVsxXSkuY292ZXIoK3RbMV1bMF0sK3RbMV1bMV0pOmlzTmFOKHRoaXMuX3gwKT92b2lkIDA6W1t0aGlzLl94MCx0aGlzLl95MF0sW3RoaXMuX3gxLHRoaXMuX3kxXV19LGwuZmluZD1mdW5jdGlvbih0LGUsbil7dmFyIGEsaSxvLHMsbCxjLHUsaD10aGlzLl94MCxmPXRoaXMuX3kwLHA9dGhpcy5feDEsZD10aGlzLl95MSxnPVtdLHY9dGhpcy5fcm9vdDtmb3IodiYmZy5wdXNoKG5ldyByKHYsaCxmLHAsZCkpLG51bGw9PW4/bj0xLzA6KGg9dC1uLGY9ZS1uLHA9dCtuLGQ9ZStuLG4qPW4pO2M9Zy5wb3AoKTspaWYoISghKHY9Yy5ub2RlKXx8KGk9Yy54MCk+cHx8KG89Yy55MCk+ZHx8KHM9Yy54MSk8aHx8KGw9Yy55MSk8ZikpaWYodi5sZW5ndGgpe3ZhciBtPShpK3MpLzIseT0obytsKS8yO2cucHVzaChuZXcgcih2WzNdLG0seSxzLGwpLG5ldyByKHZbMl0saSx5LG0sbCksbmV3IHIodlsxXSxtLG8scyx5KSxuZXcgcih2WzBdLGksbyxtLHkpKSwodT0oZT49eSk8PDF8dD49bSkmJihjPWdbZy5sZW5ndGgtMV0sZ1tnLmxlbmd0aC0xXT1nW2cubGVuZ3RoLTEtdV0sZ1tnLmxlbmd0aC0xLXVdPWMpfWVsc2V7dmFyIHg9dC0rdGhpcy5feC5jYWxsKG51bGwsdi5kYXRhKSxiPWUtK3RoaXMuX3kuY2FsbChudWxsLHYuZGF0YSksXz14KngrYipiO2lmKF88bil7dmFyIHc9TWF0aC5zcXJ0KG49Xyk7aD10LXcsZj1lLXcscD10K3csZD1lK3csYT12LmRhdGF9fXJldHVybiBhfSxsLnJlbW92ZT1mdW5jdGlvbih0KXtpZihpc05hTihpPSt0aGlzLl94LmNhbGwobnVsbCx0KSl8fGlzTmFOKG89K3RoaXMuX3kuY2FsbChudWxsLHQpKSlyZXR1cm4gdGhpczt2YXIgZSxyLG4sYSxpLG8scyxsLGMsdSxoLGYscD10aGlzLl9yb290LGQ9dGhpcy5feDAsZz10aGlzLl95MCx2PXRoaXMuX3gxLG09dGhpcy5feTE7aWYoIXApcmV0dXJuIHRoaXM7aWYocC5sZW5ndGgpZm9yKDs7KXtpZigoYz1pPj0ocz0oZCt2KS8yKSk/ZD1zOnY9cywodT1vPj0obD0oZyttKS8yKSk/Zz1sOm09bCxlPXAsIShwPXBbaD11PDwxfGNdKSlyZXR1cm4gdGhpcztpZighcC5sZW5ndGgpYnJlYWs7KGVbaCsxJjNdfHxlW2grMiYzXXx8ZVtoKzMmM10pJiYocj1lLGY9aCl9Zm9yKDtwLmRhdGEhPT10OylpZihuPXAsIShwPXAubmV4dCkpcmV0dXJuIHRoaXM7cmV0dXJuKGE9cC5uZXh0KSYmZGVsZXRlIHAubmV4dCxuPyhhP24ubmV4dD1hOmRlbGV0ZSBuLm5leHQsdGhpcyk6ZT8oYT9lW2hdPWE6ZGVsZXRlIGVbaF0sKHA9ZVswXXx8ZVsxXXx8ZVsyXXx8ZVszXSkmJnA9PT0oZVszXXx8ZVsyXXx8ZVsxXXx8ZVswXSkmJiFwLmxlbmd0aCYmKHI/cltmXT1wOnRoaXMuX3Jvb3Q9cCksdGhpcyk6KHRoaXMuX3Jvb3Q9YSx0aGlzKX0sbC5yZW1vdmVBbGw9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj10Lmxlbmd0aDtlPHI7KytlKXRoaXMucmVtb3ZlKHRbZV0pO3JldHVybiB0aGlzfSxsLnJvb3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcm9vdH0sbC5zaXplPWZ1bmN0aW9uKCl7dmFyIHQ9MDtyZXR1cm4gdGhpcy52aXNpdChmdW5jdGlvbihlKXtpZighZS5sZW5ndGgpZG97Kyt0fXdoaWxlKGU9ZS5uZXh0KX0pLHR9LGwudmlzaXQ9ZnVuY3Rpb24odCl7dmFyIGUsbixhLGksbyxzLGw9W10sYz10aGlzLl9yb290O2ZvcihjJiZsLnB1c2gobmV3IHIoYyx0aGlzLl94MCx0aGlzLl95MCx0aGlzLl94MSx0aGlzLl95MSkpO2U9bC5wb3AoKTspaWYoIXQoYz1lLm5vZGUsYT1lLngwLGk9ZS55MCxvPWUueDEscz1lLnkxKSYmYy5sZW5ndGgpe3ZhciB1PShhK28pLzIsaD0oaStzKS8yOyhuPWNbM10pJiZsLnB1c2gobmV3IHIobix1LGgsbyxzKSksKG49Y1syXSkmJmwucHVzaChuZXcgcihuLGEsaCx1LHMpKSwobj1jWzFdKSYmbC5wdXNoKG5ldyByKG4sdSxpLG8saCkpLChuPWNbMF0pJiZsLnB1c2gobmV3IHIobixhLGksdSxoKSl9cmV0dXJuIHRoaXN9LGwudmlzaXRBZnRlcj1mdW5jdGlvbih0KXt2YXIgZSxuPVtdLGE9W107Zm9yKHRoaXMuX3Jvb3QmJm4ucHVzaChuZXcgcih0aGlzLl9yb290LHRoaXMuX3gwLHRoaXMuX3kwLHRoaXMuX3gxLHRoaXMuX3kxKSk7ZT1uLnBvcCgpOyl7dmFyIGk9ZS5ub2RlO2lmKGkubGVuZ3RoKXt2YXIgbyxzPWUueDAsbD1lLnkwLGM9ZS54MSx1PWUueTEsaD0ocytjKS8yLGY9KGwrdSkvMjsobz1pWzBdKSYmbi5wdXNoKG5ldyByKG8scyxsLGgsZikpLChvPWlbMV0pJiZuLnB1c2gobmV3IHIobyxoLGwsYyxmKSksKG89aVsyXSkmJm4ucHVzaChuZXcgcihvLHMsZixoLHUpKSwobz1pWzNdKSYmbi5wdXNoKG5ldyByKG8saCxmLGMsdSkpfWEucHVzaChlKX1mb3IoO2U9YS5wb3AoKTspdChlLm5vZGUsZS54MCxlLnkwLGUueDEsZS55MSk7cmV0dXJuIHRoaXN9LGwueD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5feD10LHRoaXMpOnRoaXMuX3h9LGwueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5feT10LHRoaXMpOnRoaXMuX3l9LHQucXVhZHRyZWU9aSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9KCJvYmplY3QiPT10eXBlb2YgciYmInVuZGVmaW5lZCIhPXR5cGVvZiBlP3I6bi5kMz1uLmQzfHx7fSl9LHt9XSwxNjM6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbixhO249dGhpcyxhPWZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fXZhciBuPU1hdGguYWJzLGE9TWF0aC5hdGFuMixpPU1hdGguY29zLG89TWF0aC5tYXgscz1NYXRoLm1pbixsPU1hdGguc2luLGM9TWF0aC5zcXJ0LHU9MWUtMTIsaD1NYXRoLlBJLGY9aC8yLHA9MipoO2Z1bmN0aW9uIGQodCl7cmV0dXJuIHQ+PTE/Zjp0PD0tMT8tZjpNYXRoLmFzaW4odCl9ZnVuY3Rpb24gZyh0KXtyZXR1cm4gdC5pbm5lclJhZGl1c31mdW5jdGlvbiB2KHQpe3JldHVybiB0Lm91dGVyUmFkaXVzfWZ1bmN0aW9uIG0odCl7cmV0dXJuIHQuc3RhcnRBbmdsZX1mdW5jdGlvbiB5KHQpe3JldHVybiB0LmVuZEFuZ2xlfWZ1bmN0aW9uIHgodCl7cmV0dXJuIHQmJnQucGFkQW5nbGV9ZnVuY3Rpb24gYih0LGUscixuLGEsaSxzKXt2YXIgbD10LXIsdT1lLW4saD0ocz9pOi1pKS9jKGwqbCt1KnUpLGY9aCp1LHA9LWgqbCxkPXQrZixnPWUrcCx2PXIrZixtPW4rcCx5PShkK3YpLzIseD0oZyttKS8yLGI9di1kLF89bS1nLHc9YipiK18qXyxrPWEtaSxUPWQqbS12KmcsTT0oXzwwPy0xOjEpKmMobygwLGsqayp3LVQqVCkpLEE9KFQqXy1iKk0pL3csUz0oLVQqYi1fKk0pL3csRT0oVCpfK2IqTSkvdyxMPSgtVCpiK18qTSkvdyxDPUEteSxQPVMteCxPPUUteSx6PUwteDtyZXR1cm4gQypDK1AqUD5PKk8reip6JiYoQT1FLFM9TCkse2N4OkEsY3k6Uyx4MDE6LWYseTAxOi1wLHgxMTpBKihhL2stMSkseTExOlMqKGEvay0xKX19ZnVuY3Rpb24gXyh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gdyh0KXtyZXR1cm4gbmV3IF8odCl9ZnVuY3Rpb24gayh0KXtyZXR1cm4gdFswXX1mdW5jdGlvbiBUKHQpe3JldHVybiB0WzFdfWZ1bmN0aW9uIE0oKXt2YXIgdD1rLG49VCxhPXIoITApLGk9bnVsbCxvPXcscz1udWxsO2Z1bmN0aW9uIGwocil7dmFyIGwsYyx1LGg9ci5sZW5ndGgsZj0hMTtmb3IobnVsbD09aSYmKHM9byh1PWUucGF0aCgpKSksbD0wO2w8PWg7KytsKSEobDxoJiZhKGM9cltsXSxsLHIpKT09PWYmJigoZj0hZik/cy5saW5lU3RhcnQoKTpzLmxpbmVFbmQoKSksZiYmcy5wb2ludCgrdChjLGwsciksK24oYyxsLHIpKTtpZih1KXJldHVybiBzPW51bGwsdSsiInx8bnVsbH1yZXR1cm4gbC54PWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6cigrZSksbCk6dH0sbC55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCksbCk6bn0sbC5kZWZpbmVkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cighIXQpLGwpOmF9LGwuY3VydmU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89dCxudWxsIT1pJiYocz1vKGkpKSxsKTpvfSxsLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG51bGw9PXQ/aT1zPW51bGw6cz1vKGk9dCksbCk6aX0sbH1mdW5jdGlvbiBBKCl7dmFyIHQ9ayxuPW51bGwsYT1yKDApLGk9VCxvPXIoITApLHM9bnVsbCxsPXcsYz1udWxsO2Z1bmN0aW9uIHUocil7dmFyIHUsaCxmLHAsZCxnPXIubGVuZ3RoLHY9ITEsbT1uZXcgQXJyYXkoZykseT1uZXcgQXJyYXkoZyk7Zm9yKG51bGw9PXMmJihjPWwoZD1lLnBhdGgoKSkpLHU9MDt1PD1nOysrdSl7aWYoISh1PGcmJm8ocD1yW3VdLHUscikpPT09dilpZih2PSF2KWg9dSxjLmFyZWFTdGFydCgpLGMubGluZVN0YXJ0KCk7ZWxzZXtmb3IoYy5saW5lRW5kKCksYy5saW5lU3RhcnQoKSxmPXUtMTtmPj1oOy0tZiljLnBvaW50KG1bZl0seVtmXSk7Yy5saW5lRW5kKCksYy5hcmVhRW5kKCl9diYmKG1bdV09K3QocCx1LHIpLHlbdV09K2EocCx1LHIpLGMucG9pbnQobj8rbihwLHUscik6bVt1XSxpPytpKHAsdSxyKTp5W3VdKSl9aWYoZClyZXR1cm4gYz1udWxsLGQrIiJ8fG51bGx9ZnVuY3Rpb24gaCgpe3JldHVybiBNKCkuZGVmaW5lZChvKS5jdXJ2ZShsKS5jb250ZXh0KHMpfXJldHVybiB1Lng9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpyKCtlKSxuPW51bGwsdSk6dH0sdS54MD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOnIoK2UpLHUpOnR9LHUueDE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49bnVsbD09dD9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCksdSk6bn0sdS55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCksaT1udWxsLHUpOmF9LHUueTA9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpyKCt0KSx1KTphfSx1LnkxPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPW51bGw9PXQ/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OnIoK3QpLHUpOml9LHUubGluZVgwPXUubGluZVkwPWZ1bmN0aW9uKCl7cmV0dXJuIGgoKS54KHQpLnkoYSl9LHUubGluZVkxPWZ1bmN0aW9uKCl7cmV0dXJuIGgoKS54KHQpLnkoaSl9LHUubGluZVgxPWZ1bmN0aW9uKCl7cmV0dXJuIGgoKS54KG4pLnkoYSl9LHUuZGVmaW5lZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OnIoISF0KSx1KTpvfSx1LmN1cnZlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhsPXQsbnVsbCE9cyYmKGM9bChzKSksdSk6bH0sdS5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhudWxsPT10P3M9Yz1udWxsOmM9bChzPXQpLHUpOnN9LHV9ZnVuY3Rpb24gUyh0LGUpe3JldHVybiBlPHQ/LTE6ZT50PzE6ZT49dD8wOk5hTn1mdW5jdGlvbiBFKHQpe3JldHVybiB0fV8ucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpeyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtzd2l0Y2godD0rdCxlPStlLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsZSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjtkZWZhdWx0OnRoaXMuX2NvbnRleHQubGluZVRvKHQsZSl9fX07dmFyIEw9UCh3KTtmdW5jdGlvbiBDKHQpe3RoaXMuX2N1cnZlPXR9ZnVuY3Rpb24gUCh0KXtmdW5jdGlvbiBlKGUpe3JldHVybiBuZXcgQyh0KGUpKX1yZXR1cm4gZS5fY3VydmU9dCxlfWZ1bmN0aW9uIE8odCl7dmFyIGU9dC5jdXJ2ZTtyZXR1cm4gdC5hbmdsZT10LngsZGVsZXRlIHQueCx0LnJhZGl1cz10LnksZGVsZXRlIHQueSx0LmN1cnZlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP2UoUCh0KSk6ZSgpLl9jdXJ2ZX0sdH1mdW5jdGlvbiB6KCl7cmV0dXJuIE8oTSgpLmN1cnZlKEwpKX1mdW5jdGlvbiBJKCl7dmFyIHQ9QSgpLmN1cnZlKEwpLGU9dC5jdXJ2ZSxyPXQubGluZVgwLG49dC5saW5lWDEsYT10LmxpbmVZMCxpPXQubGluZVkxO3JldHVybiB0LmFuZ2xlPXQueCxkZWxldGUgdC54LHQuc3RhcnRBbmdsZT10LngwLGRlbGV0ZSB0LngwLHQuZW5kQW5nbGU9dC54MSxkZWxldGUgdC54MSx0LnJhZGl1cz10LnksZGVsZXRlIHQueSx0LmlubmVyUmFkaXVzPXQueTAsZGVsZXRlIHQueTAsdC5vdXRlclJhZGl1cz10LnkxLGRlbGV0ZSB0LnkxLHQubGluZVN0YXJ0QW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gTyhyKCkpfSxkZWxldGUgdC5saW5lWDAsdC5saW5lRW5kQW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gTyhuKCkpfSxkZWxldGUgdC5saW5lWDEsdC5saW5lSW5uZXJSYWRpdXM9ZnVuY3Rpb24oKXtyZXR1cm4gTyhhKCkpfSxkZWxldGUgdC5saW5lWTAsdC5saW5lT3V0ZXJSYWRpdXM9ZnVuY3Rpb24oKXtyZXR1cm4gTyhpKCkpfSxkZWxldGUgdC5saW5lWTEsdC5jdXJ2ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9lKFAodCkpOmUoKS5fY3VydmV9LHR9ZnVuY3Rpb24gRCh0LGUpe3JldHVyblsoZT0rZSkqTWF0aC5jb3ModC09TWF0aC5QSS8yKSxlKk1hdGguc2luKHQpXX1DLnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fY3VydmUuYXJlYVN0YXJ0KCl9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9jdXJ2ZS5hcmVhRW5kKCl9LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX2N1cnZlLmxpbmVTdGFydCgpfSxsaW5lRW5kOmZ1bmN0aW9uKCl7dGhpcy5fY3VydmUubGluZUVuZCgpfSxwb2ludDpmdW5jdGlvbih0LGUpe3RoaXMuX2N1cnZlLnBvaW50KGUqTWF0aC5zaW4odCksZSotTWF0aC5jb3ModCkpfX07dmFyIFI9QXJyYXkucHJvdG90eXBlLnNsaWNlO2Z1bmN0aW9uIEYodCl7cmV0dXJuIHQuc291cmNlfWZ1bmN0aW9uIEIodCl7cmV0dXJuIHQudGFyZ2V0fWZ1bmN0aW9uIE4odCl7dmFyIG49RixhPUIsaT1rLG89VCxzPW51bGw7ZnVuY3Rpb24gbCgpe3ZhciByLGw9Ui5jYWxsKGFyZ3VtZW50cyksYz1uLmFwcGx5KHRoaXMsbCksdT1hLmFwcGx5KHRoaXMsbCk7aWYoc3x8KHM9cj1lLnBhdGgoKSksdChzLCtpLmFwcGx5KHRoaXMsKGxbMF09YyxsKSksK28uYXBwbHkodGhpcyxsKSwraS5hcHBseSh0aGlzLChsWzBdPXUsbCkpLCtvLmFwcGx5KHRoaXMsbCkpLHIpcmV0dXJuIHM9bnVsbCxyKyIifHxudWxsfXJldHVybiBsLnNvdXJjZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10LGwpOm59LGwudGFyZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXQsbCk6YX0sbC54PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCksbCk6aX0sbC55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCksbCk6b30sbC5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPW51bGw9PXQ/bnVsbDp0LGwpOnN9LGx9ZnVuY3Rpb24gaih0LGUscixuLGEpe3QubW92ZVRvKGUsciksdC5iZXppZXJDdXJ2ZVRvKGU9KGUrbikvMixyLGUsYSxuLGEpfWZ1bmN0aW9uIFYodCxlLHIsbixhKXt0Lm1vdmVUbyhlLHIpLHQuYmV6aWVyQ3VydmVUbyhlLHI9KHIrYSkvMixuLHIsbixhKX1mdW5jdGlvbiBVKHQsZSxyLG4sYSl7dmFyIGk9RChlLHIpLG89RChlLHI9KHIrYSkvMikscz1EKG4sciksbD1EKG4sYSk7dC5tb3ZlVG8oaVswXSxpWzFdKSx0LmJlemllckN1cnZlVG8ob1swXSxvWzFdLHNbMF0sc1sxXSxsWzBdLGxbMV0pfXZhciBxPXtkcmF3OmZ1bmN0aW9uKHQsZSl7dmFyIHI9TWF0aC5zcXJ0KGUvaCk7dC5tb3ZlVG8ociwwKSx0LmFyYygwLDAsciwwLHApfX0sSD17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciByPU1hdGguc3FydChlLzUpLzI7dC5tb3ZlVG8oLTMqciwtciksdC5saW5lVG8oLXIsLXIpLHQubGluZVRvKC1yLC0zKnIpLHQubGluZVRvKHIsLTMqciksdC5saW5lVG8ociwtciksdC5saW5lVG8oMypyLC1yKSx0LmxpbmVUbygzKnIsciksdC5saW5lVG8ocixyKSx0LmxpbmVUbyhyLDMqciksdC5saW5lVG8oLXIsMypyKSx0LmxpbmVUbygtcixyKSx0LmxpbmVUbygtMypyLHIpLHQuY2xvc2VQYXRoKCl9fSxHPU1hdGguc3FydCgxLzMpLFk9MipHLFc9e2RyYXc6ZnVuY3Rpb24odCxlKXt2YXIgcj1NYXRoLnNxcnQoZS9ZKSxuPXIqRzt0Lm1vdmVUbygwLC1yKSx0LmxpbmVUbyhuLDApLHQubGluZVRvKDAsciksdC5saW5lVG8oLW4sMCksdC5jbG9zZVBhdGgoKX19LFg9TWF0aC5zaW4oaC8xMCkvTWF0aC5zaW4oNypoLzEwKSxaPU1hdGguc2luKHAvMTApKlgsSj0tTWF0aC5jb3MocC8xMCkqWCxLPXtkcmF3OmZ1bmN0aW9uKHQsZSl7dmFyIHI9TWF0aC5zcXJ0KC44OTA4MTMwOTE1MjkyODUyKmUpLG49WipyLGE9SipyO3QubW92ZVRvKDAsLXIpLHQubGluZVRvKG4sYSk7Zm9yKHZhciBpPTE7aTw1OysraSl7dmFyIG89cCppLzUscz1NYXRoLmNvcyhvKSxsPU1hdGguc2luKG8pO3QubGluZVRvKGwqciwtcypyKSx0LmxpbmVUbyhzKm4tbCphLGwqbitzKmEpfXQuY2xvc2VQYXRoKCl9fSxRPXtkcmF3OmZ1bmN0aW9uKHQsZSl7dmFyIHI9TWF0aC5zcXJ0KGUpLG49LXIvMjt0LnJlY3QobixuLHIscil9fSwkPU1hdGguc3FydCgzKSx0dD17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciByPS1NYXRoLnNxcnQoZS8oMyokKSk7dC5tb3ZlVG8oMCwyKnIpLHQubGluZVRvKC0kKnIsLXIpLHQubGluZVRvKCQqciwtciksdC5jbG9zZVBhdGgoKX19LGV0PS0uNSxydD1NYXRoLnNxcnQoMykvMixudD0xL01hdGguc3FydCgxMiksYXQ9MyoobnQvMisxKSxpdD17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciByPU1hdGguc3FydChlL2F0KSxuPXIvMixhPXIqbnQsaT1uLG89cipudCtyLHM9LWksbD1vO3QubW92ZVRvKG4sYSksdC5saW5lVG8oaSxvKSx0LmxpbmVUbyhzLGwpLHQubGluZVRvKGV0Km4tcnQqYSxydCpuK2V0KmEpLHQubGluZVRvKGV0KmktcnQqbyxydCppK2V0Km8pLHQubGluZVRvKGV0KnMtcnQqbCxydCpzK2V0KmwpLHQubGluZVRvKGV0Km4rcnQqYSxldCphLXJ0Km4pLHQubGluZVRvKGV0KmkrcnQqbyxldCpvLXJ0KmkpLHQubGluZVRvKGV0KnMrcnQqbCxldCpsLXJ0KnMpLHQuY2xvc2VQYXRoKCl9fSxvdD1bcSxILFcsUSxLLHR0LGl0XTtmdW5jdGlvbiBzdCgpe31mdW5jdGlvbiBsdCh0LGUscil7dC5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKCgyKnQuX3gwK3QuX3gxKS8zLCgyKnQuX3kwK3QuX3kxKS8zLCh0Ll94MCsyKnQuX3gxKS8zLCh0Ll95MCsyKnQuX3kxKS8zLCh0Ll94MCs0KnQuX3gxK2UpLzYsKHQuX3kwKzQqdC5feTErcikvNil9ZnVuY3Rpb24gY3QodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIHV0KHQpe3RoaXMuX2NvbnRleHQ9dH1mdW5jdGlvbiBodCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gZnQodCxlKXt0aGlzLl9iYXNpcz1uZXcgY3QodCksdGhpcy5fYmV0YT1lfWN0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3kwPXRoaXMuX3kxPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDM6bHQodGhpcyx0aGlzLl94MSx0aGlzLl95MSk7Y2FzZSAyOnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gxLHRoaXMuX3kxKX0odGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjE9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0LGUpOnRoaXMuX2NvbnRleHQubW92ZVRvKHQsZSk7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTI7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5fY29udGV4dC5saW5lVG8oKDUqdGhpcy5feDArdGhpcy5feDEpLzYsKDUqdGhpcy5feTArdGhpcy5feTEpLzYpO2RlZmF1bHQ6bHQodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9ZX19LHV0LnByb3RvdHlwZT17YXJlYVN0YXJ0OnN0LGFyZWFFbmQ6c3QsbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feDM9dGhpcy5feDQ9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9dGhpcy5feTM9dGhpcy5feTQ9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94Mix0aGlzLl95MiksdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTticmVhaztjYXNlIDI6dGhpcy5fY29udGV4dC5tb3ZlVG8oKHRoaXMuX3gyKzIqdGhpcy5feDMpLzMsKHRoaXMuX3kyKzIqdGhpcy5feTMpLzMpLHRoaXMuX2NvbnRleHQubGluZVRvKCh0aGlzLl94MysyKnRoaXMuX3gyKS8zLCh0aGlzLl95MysyKnRoaXMuX3kyKS8zKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMzp0aGlzLnBvaW50KHRoaXMuX3gyLHRoaXMuX3kyKSx0aGlzLnBvaW50KHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLnBvaW50KHRoaXMuX3g0LHRoaXMuX3k0KX19LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5feDI9dCx0aGlzLl95Mj1lO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yLHRoaXMuX3gzPXQsdGhpcy5feTM9ZTticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9Myx0aGlzLl94ND10LHRoaXMuX3k0PWUsdGhpcy5fY29udGV4dC5tb3ZlVG8oKHRoaXMuX3gwKzQqdGhpcy5feDErdCkvNiwodGhpcy5feTArNCp0aGlzLl95MStlKS82KTticmVhaztkZWZhdWx0Omx0KHRoaXMsdCxlKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPWV9fSxodC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl95MD10aGlzLl95MT1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpeyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMz09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtzd2l0Y2godD0rdCxlPStlLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9Mzt2YXIgcj0odGhpcy5feDArNCp0aGlzLl94MSt0KS82LG49KHRoaXMuX3kwKzQqdGhpcy5feTErZSkvNjt0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHIsbik6dGhpcy5fY29udGV4dC5tb3ZlVG8ocixuKTticmVhaztjYXNlIDM6dGhpcy5fcG9pbnQ9NDtkZWZhdWx0Omx0KHRoaXMsdCxlKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPWV9fSxmdC5wcm90b3R5cGU9e2xpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3g9W10sdGhpcy5feT1bXSx0aGlzLl9iYXNpcy5saW5lU3RhcnQoKX0sbGluZUVuZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3gsZT10aGlzLl95LHI9dC5sZW5ndGgtMTtpZihyPjApZm9yKHZhciBuLGE9dFswXSxpPWVbMF0sbz10W3JdLWEscz1lW3JdLWksbD0tMTsrK2w8PXI7KW49bC9yLHRoaXMuX2Jhc2lzLnBvaW50KHRoaXMuX2JldGEqdFtsXSsoMS10aGlzLl9iZXRhKSooYStuKm8pLHRoaXMuX2JldGEqZVtsXSsoMS10aGlzLl9iZXRhKSooaStuKnMpKTt0aGlzLl94PXRoaXMuX3k9bnVsbCx0aGlzLl9iYXNpcy5saW5lRW5kKCl9LHBvaW50OmZ1bmN0aW9uKHQsZSl7dGhpcy5feC5wdXNoKCt0KSx0aGlzLl95LnB1c2goK2UpfX07dmFyIHB0PWZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gcih0KXtyZXR1cm4gMT09PWU/bmV3IGN0KHQpOm5ldyBmdCh0LGUpfXJldHVybiByLmJldGE9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxyfSguODUpO2Z1bmN0aW9uIGR0KHQsZSxyKXt0Ll9jb250ZXh0LmJlemllckN1cnZlVG8odC5feDErdC5fayoodC5feDItdC5feDApLHQuX3kxK3QuX2sqKHQuX3kyLXQuX3kwKSx0Ll94Mit0Ll9rKih0Ll94MS1lKSx0Ll95Mit0Ll9rKih0Ll95MS1yKSx0Ll94Mix0Ll95Mil9ZnVuY3Rpb24gZ3QodCxlKXt0aGlzLl9jb250ZXh0PXQsdGhpcy5faz0oMS1lKS82fWd0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDIsdGhpcy5feTIpO2JyZWFrO2Nhc2UgMzpkdCh0aGlzLHRoaXMuX3gxLHRoaXMuX3kxKX0odGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjE9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0LGUpOnRoaXMuX2NvbnRleHQubW92ZVRvKHQsZSk7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTIsdGhpcy5feDE9dCx0aGlzLl95MT1lO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zO2RlZmF1bHQ6ZHQodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9ZX19O3ZhciB2dD1mdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIHIodCl7cmV0dXJuIG5ldyBndCh0LGUpfXJldHVybiByLnRlbnNpb249ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxyfSgwKTtmdW5jdGlvbiBtdCh0LGUpe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9rPSgxLWUpLzZ9bXQucHJvdG90eXBlPXthcmVhU3RhcnQ6c3QsYXJlYUVuZDpzdCxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl94Mz10aGlzLl94ND10aGlzLl94NT10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj10aGlzLl95Mz10aGlzLl95ND10aGlzLl95NT1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAxOnRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMjp0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Myx0aGlzLl95MyksdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTticmVhaztjYXNlIDM6dGhpcy5wb2ludCh0aGlzLl94Myx0aGlzLl95MyksdGhpcy5wb2ludCh0aGlzLl94NCx0aGlzLl95NCksdGhpcy5wb2ludCh0aGlzLl94NSx0aGlzLl95NSl9fSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX3gzPXQsdGhpcy5feTM9ZTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9Mix0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94ND10LHRoaXMuX3k0PWUpO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLHRoaXMuX3g1PXQsdGhpcy5feTU9ZTticmVhaztkZWZhdWx0OmR0KHRoaXMsdCxlKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10aGlzLl94Mix0aGlzLl94Mj10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPXRoaXMuX3kyLHRoaXMuX3kyPWV9fTt2YXIgeXQ9ZnVuY3Rpb24gdChlKXtmdW5jdGlvbiByKHQpe3JldHVybiBuZXcgbXQodCxlKX1yZXR1cm4gci50ZW5zaW9uPWZ1bmN0aW9uKGUpe3JldHVybiB0KCtlKX0scn0oMCk7ZnVuY3Rpb24geHQodCxlKXt0aGlzLl9jb250ZXh0PXQsdGhpcy5faz0oMS1lKS82fXh0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYzPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDIsdGhpcy5feTIpOnRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gyLHRoaXMuX3kyKTticmVhaztjYXNlIDM6dGhpcy5fcG9pbnQ9NDtkZWZhdWx0OmR0KHRoaXMsdCxlKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10aGlzLl94Mix0aGlzLl94Mj10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPXRoaXMuX3kyLHRoaXMuX3kyPWV9fTt2YXIgYnQ9ZnVuY3Rpb24gdChlKXtmdW5jdGlvbiByKHQpe3JldHVybiBuZXcgeHQodCxlKX1yZXR1cm4gci50ZW5zaW9uPWZ1bmN0aW9uKGUpe3JldHVybiB0KCtlKX0scn0oMCk7ZnVuY3Rpb24gX3QodCxlLHIpe3ZhciBuPXQuX3gxLGE9dC5feTEsaT10Ll94MixvPXQuX3kyO2lmKHQuX2wwMV9hPnUpe3ZhciBzPTIqdC5fbDAxXzJhKzMqdC5fbDAxX2EqdC5fbDEyX2ErdC5fbDEyXzJhLGw9Myp0Ll9sMDFfYSoodC5fbDAxX2ErdC5fbDEyX2EpO249KG4qcy10Ll94MCp0Ll9sMTJfMmErdC5feDIqdC5fbDAxXzJhKS9sLGE9KGEqcy10Ll95MCp0Ll9sMTJfMmErdC5feTIqdC5fbDAxXzJhKS9sfWlmKHQuX2wyM19hPnUpe3ZhciBjPTIqdC5fbDIzXzJhKzMqdC5fbDIzX2EqdC5fbDEyX2ErdC5fbDEyXzJhLGg9Myp0Ll9sMjNfYSoodC5fbDIzX2ErdC5fbDEyX2EpO2k9KGkqYyt0Ll94MSp0Ll9sMjNfMmEtZSp0Ll9sMTJfMmEpL2gsbz0obypjK3QuX3kxKnQuX2wyM18yYS1yKnQuX2wxMl8yYSkvaH10Ll9jb250ZXh0LmJlemllckN1cnZlVG8obixhLGksbyx0Ll94Mix0Ll95Mil9ZnVuY3Rpb24gd3QodCxlKXt0aGlzLl9jb250ZXh0PXQsdGhpcy5fYWxwaGE9ZX13dC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj1OYU4sdGhpcy5fbDAxX2E9dGhpcy5fbDEyX2E9dGhpcy5fbDIzX2E9dGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmE9dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAyOnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLHRoaXMuX3kyKTticmVhaztjYXNlIDM6dGhpcy5wb2ludCh0aGlzLl94Mix0aGlzLl95Mil9KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYxPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe2lmKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7dmFyIHI9dGhpcy5feDItdCxuPXRoaXMuX3kyLWU7dGhpcy5fbDIzX2E9TWF0aC5zcXJ0KHRoaXMuX2wyM18yYT1NYXRoLnBvdyhyKnIrbipuLHRoaXMuX2FscGhhKSl9c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsZSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9MztkZWZhdWx0Ol90KHRoaXMsdCxlKX10aGlzLl9sMDFfYT10aGlzLl9sMTJfYSx0aGlzLl9sMTJfYT10aGlzLl9sMjNfYSx0aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhLHRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmEsdGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1lfX07dmFyIGt0PWZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gcih0KXtyZXR1cm4gZT9uZXcgd3QodCxlKTpuZXcgZ3QodCwwKX1yZXR1cm4gci5hbHBoYT1mdW5jdGlvbihlKXtyZXR1cm4gdCgrZSl9LHJ9KC41KTtmdW5jdGlvbiBUdCh0LGUpe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9hbHBoYT1lfVR0LnByb3RvdHlwZT17YXJlYVN0YXJ0OnN0LGFyZWFFbmQ6c3QsbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feDM9dGhpcy5feDQ9dGhpcy5feDU9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9dGhpcy5feTM9dGhpcy5feTQ9dGhpcy5feTU9TmFOLHRoaXMuX2wwMV9hPXRoaXMuX2wxMl9hPXRoaXMuX2wyM19hPXRoaXMuX2wwMV8yYT10aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhPXRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94Myx0aGlzLl95MyksdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTticmVhaztjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDMsdGhpcy5feTMpLHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7YnJlYWs7Y2FzZSAzOnRoaXMucG9pbnQodGhpcy5feDMsdGhpcy5feTMpLHRoaXMucG9pbnQodGhpcy5feDQsdGhpcy5feTQpLHRoaXMucG9pbnQodGhpcy5feDUsdGhpcy5feTUpfX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtpZih0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe3ZhciByPXRoaXMuX3gyLXQsbj10aGlzLl95Mi1lO3RoaXMuX2wyM19hPU1hdGguc3FydCh0aGlzLl9sMjNfMmE9TWF0aC5wb3cocipyK24qbix0aGlzLl9hbHBoYSkpfXN3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5feDM9dCx0aGlzLl95Mz1lO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yLHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3g0PXQsdGhpcy5feTQ9ZSk7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5feDU9dCx0aGlzLl95NT1lO2JyZWFrO2RlZmF1bHQ6X3QodGhpcyx0LGUpfXRoaXMuX2wwMV9hPXRoaXMuX2wxMl9hLHRoaXMuX2wxMl9hPXRoaXMuX2wyM19hLHRoaXMuX2wwMV8yYT10aGlzLl9sMTJfMmEsdGhpcy5fbDEyXzJhPXRoaXMuX2wyM18yYSx0aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10aGlzLl94Mix0aGlzLl94Mj10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPXRoaXMuX3kyLHRoaXMuX3kyPWV9fTt2YXIgTXQ9ZnVuY3Rpb24gdChlKXtmdW5jdGlvbiByKHQpe3JldHVybiBlP25ldyBUdCh0LGUpOm5ldyBtdCh0LDApfXJldHVybiByLmFscGhhPWZ1bmN0aW9uKGUpe3JldHVybiB0KCtlKX0scn0oLjUpO2Z1bmN0aW9uIEF0KHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX2FscGhhPWV9QXQucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9TmFOLHRoaXMuX2wwMV9hPXRoaXMuX2wxMl9hPXRoaXMuX2wyM19hPXRoaXMuX2wwMV8yYT10aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhPXRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXsodGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjM9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsZSl7aWYodD0rdCxlPStlLHRoaXMuX3BvaW50KXt2YXIgcj10aGlzLl94Mi10LG49dGhpcy5feTItZTt0aGlzLl9sMjNfYT1NYXRoLnNxcnQodGhpcy5fbDIzXzJhPU1hdGgucG93KHIqcituKm4sdGhpcy5fYWxwaGEpKX1zd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDIsdGhpcy5feTIpOnRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gyLHRoaXMuX3kyKTticmVhaztjYXNlIDM6dGhpcy5fcG9pbnQ9NDtkZWZhdWx0Ol90KHRoaXMsdCxlKX10aGlzLl9sMDFfYT10aGlzLl9sMTJfYSx0aGlzLl9sMTJfYT10aGlzLl9sMjNfYSx0aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhLHRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmEsdGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1lfX07dmFyIFN0PWZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gcih0KXtyZXR1cm4gZT9uZXcgQXQodCxlKTpuZXcgeHQodCwwKX1yZXR1cm4gci5hbHBoYT1mdW5jdGlvbihlKXtyZXR1cm4gdCgrZSl9LHJ9KC41KTtmdW5jdGlvbiBFdCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gTHQodCl7cmV0dXJuIHQ8MD8tMToxfWZ1bmN0aW9uIEN0KHQsZSxyKXt2YXIgbj10Ll94MS10Ll94MCxhPWUtdC5feDEsaT0odC5feTEtdC5feTApLyhufHxhPDAmJi0wKSxvPShyLXQuX3kxKS8oYXx8bjwwJiYtMCkscz0oaSphK28qbikvKG4rYSk7cmV0dXJuKEx0KGkpK0x0KG8pKSpNYXRoLm1pbihNYXRoLmFicyhpKSxNYXRoLmFicyhvKSwuNSpNYXRoLmFicyhzKSl8fDB9ZnVuY3Rpb24gUHQodCxlKXt2YXIgcj10Ll94MS10Ll94MDtyZXR1cm4gcj8oMyoodC5feTEtdC5feTApL3ItZSkvMjplfWZ1bmN0aW9uIE90KHQsZSxyKXt2YXIgbj10Ll94MCxhPXQuX3kwLGk9dC5feDEsbz10Ll95MSxzPShpLW4pLzM7dC5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKG4rcyxhK3MqZSxpLXMsby1zKnIsaSxvKX1mdW5jdGlvbiB6dCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gSXQodCl7dGhpcy5fY29udGV4dD1uZXcgRHQodCl9ZnVuY3Rpb24gRHQodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIFJ0KHQpe3RoaXMuX2NvbnRleHQ9dH1mdW5jdGlvbiBGdCh0KXt2YXIgZSxyLG49dC5sZW5ndGgtMSxhPW5ldyBBcnJheShuKSxpPW5ldyBBcnJheShuKSxvPW5ldyBBcnJheShuKTtmb3IoYVswXT0wLGlbMF09MixvWzBdPXRbMF0rMip0WzFdLGU9MTtlPG4tMTsrK2UpYVtlXT0xLGlbZV09NCxvW2VdPTQqdFtlXSsyKnRbZSsxXTtmb3IoYVtuLTFdPTIsaVtuLTFdPTcsb1tuLTFdPTgqdFtuLTFdK3Rbbl0sZT0xO2U8bjsrK2Upcj1hW2VdL2lbZS0xXSxpW2VdLT1yLG9bZV0tPXIqb1tlLTFdO2ZvcihhW24tMV09b1tuLTFdL2lbbi0xXSxlPW4tMjtlPj0wOy0tZSlhW2VdPShvW2VdLWFbZSsxXSkvaVtlXTtmb3IoaVtuLTFdPSh0W25dK2Fbbi0xXSkvMixlPTA7ZTxuLTE7KytlKWlbZV09Mip0W2UrMV0tYVtlKzFdO3JldHVyblthLGldfWZ1bmN0aW9uIEJ0KHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX3Q9ZX1mdW5jdGlvbiBOdCh0LGUpe2lmKChhPXQubGVuZ3RoKT4xKWZvcih2YXIgcixuLGEsaT0xLG89dFtlWzBdXSxzPW8ubGVuZ3RoO2k8YTsrK2kpZm9yKG49byxvPXRbZVtpXV0scj0wO3I8czsrK3Ipb1tyXVsxXSs9b1tyXVswXT1pc05hTihuW3JdWzFdKT9uW3JdWzBdOm5bcl1bMV19ZnVuY3Rpb24ganQodCl7Zm9yKHZhciBlPXQubGVuZ3RoLHI9bmV3IEFycmF5KGUpOy0tZT49MDspcltlXT1lO3JldHVybiByfWZ1bmN0aW9uIFZ0KHQsZSl7cmV0dXJuIHRbZV19ZnVuY3Rpb24gVXQodCl7dmFyIGU9dC5tYXAocXQpO3JldHVybiBqdCh0KS5zb3J0KGZ1bmN0aW9uKHQscil7cmV0dXJuIGVbdF0tZVtyXX0pfWZ1bmN0aW9uIHF0KHQpe2Zvcih2YXIgZSxyPS0xLG49MCxhPXQubGVuZ3RoLGk9LTEvMDsrK3I8YTspKGU9K3Rbcl1bMV0pPmkmJihpPWUsbj1yKTtyZXR1cm4gbn1mdW5jdGlvbiBIdCh0KXt2YXIgZT10Lm1hcChHdCk7cmV0dXJuIGp0KHQpLnNvcnQoZnVuY3Rpb24odCxyKXtyZXR1cm4gZVt0XS1lW3JdfSl9ZnVuY3Rpb24gR3QodCl7Zm9yKHZhciBlLHI9MCxuPS0xLGE9dC5sZW5ndGg7KytuPGE7KShlPSt0W25dWzFdKSYmKHIrPWUpO3JldHVybiByfUV0LnByb3RvdHlwZT17YXJlYVN0YXJ0OnN0LGFyZWFFbmQ6c3QsbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3RoaXMuX3BvaW50JiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpfSxwb2ludDpmdW5jdGlvbih0LGUpe3Q9K3QsZT0rZSx0aGlzLl9wb2ludD90aGlzLl9jb250ZXh0LmxpbmVUbyh0LGUpOih0aGlzLl9wb2ludD0xLHRoaXMuX2NvbnRleHQubW92ZVRvKHQsZSkpfX0senQucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5fdDA9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMjp0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94MSx0aGlzLl95MSk7YnJlYWs7Y2FzZSAzOk90KHRoaXMsdGhpcy5fdDAsUHQodGhpcyx0aGlzLl90MCkpfSh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXt2YXIgcj1OYU47aWYoZT0rZSwodD0rdCkhPT10aGlzLl94MXx8ZSE9PXRoaXMuX3kxKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLE90KHRoaXMsUHQodGhpcyxyPUN0KHRoaXMsdCxlKSkscik7YnJlYWs7ZGVmYXVsdDpPdCh0aGlzLHRoaXMuX3QwLHI9Q3QodGhpcyx0LGUpKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPWUsdGhpcy5fdDA9cn19fSwoSXQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoenQucHJvdG90eXBlKSkucG9pbnQ9ZnVuY3Rpb24odCxlKXt6dC5wcm90b3R5cGUucG9pbnQuY2FsbCh0aGlzLGUsdCl9LER0LnByb3RvdHlwZT17bW92ZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fY29udGV4dC5tb3ZlVG8oZSx0KX0sY2xvc2VQYXRoOmZ1bmN0aW9uKCl7dGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKX0sbGluZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fY29udGV4dC5saW5lVG8oZSx0KX0sYmV6aWVyQ3VydmVUbzpmdW5jdGlvbih0LGUscixuLGEsaSl7dGhpcy5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKGUsdCxuLHIsaSxhKX19LFJ0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3g9W10sdGhpcy5feT1bXX0sbGluZUVuZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3gsZT10aGlzLl95LHI9dC5sZW5ndGg7aWYocilpZih0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHRbMF0sZVswXSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odFswXSxlWzBdKSwyPT09cil0aGlzLl9jb250ZXh0LmxpbmVUbyh0WzFdLGVbMV0pO2Vsc2UgZm9yKHZhciBuPUZ0KHQpLGE9RnQoZSksaT0wLG89MTtvPHI7KytpLCsrbyl0aGlzLl9jb250ZXh0LmJlemllckN1cnZlVG8oblswXVtpXSxhWzBdW2ldLG5bMV1baV0sYVsxXVtpXSx0W29dLGVbb10pOyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXIpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lLHRoaXMuX3g9dGhpcy5feT1udWxsfSxwb2ludDpmdW5jdGlvbih0LGUpe3RoaXMuX3gucHVzaCgrdCksdGhpcy5feS5wdXNoKCtlKX19LEJ0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3g9dGhpcy5feT1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpezA8dGhpcy5fdCYmdGhpcy5fdDwxJiYyPT09dGhpcy5fcG9pbnQmJnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gsdGhpcy5feSksKHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYxPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU+PTAmJih0aGlzLl90PTEtdGhpcy5fdCx0aGlzLl9saW5lPTEtdGhpcy5fbGluZSl9LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0LGUpOnRoaXMuX2NvbnRleHQubW92ZVRvKHQsZSk7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTI7ZGVmYXVsdDppZih0aGlzLl90PD0wKXRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gsZSksdGhpcy5fY29udGV4dC5saW5lVG8odCxlKTtlbHNle3ZhciByPXRoaXMuX3gqKDEtdGhpcy5fdCkrdCp0aGlzLl90O3RoaXMuX2NvbnRleHQubGluZVRvKHIsdGhpcy5feSksdGhpcy5fY29udGV4dC5saW5lVG8ocixlKX19dGhpcy5feD10LHRoaXMuX3k9ZX19LHQuYXJjPWZ1bmN0aW9uKCl7dmFyIHQ9ZyxvPXYsXz1yKDApLHc9bnVsbCxrPW0sVD15LE09eCxBPW51bGw7ZnVuY3Rpb24gUygpe3ZhciByLGcsdixtPSt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSx5PStvLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx4PWsuYXBwbHkodGhpcyxhcmd1bWVudHMpLWYsUz1ULmFwcGx5KHRoaXMsYXJndW1lbnRzKS1mLEU9bihTLXgpLEw9Uz54O2lmKEF8fChBPXI9ZS5wYXRoKCkpLHk8bSYmKGc9eSx5PW0sbT1nKSx5PnUpaWYoRT5wLXUpQS5tb3ZlVG8oeSppKHgpLHkqbCh4KSksQS5hcmMoMCwwLHkseCxTLCFMKSxtPnUmJihBLm1vdmVUbyhtKmkoUyksbSpsKFMpKSxBLmFyYygwLDAsbSxTLHgsTCkpO2Vsc2V7dmFyIEMsUCxPPXgsej1TLEk9eCxEPVMsUj1FLEY9RSxCPU0uYXBwbHkodGhpcyxhcmd1bWVudHMpLzIsTj1CPnUmJih3Pyt3LmFwcGx5KHRoaXMsYXJndW1lbnRzKTpjKG0qbSt5KnkpKSxqPXMobih5LW0pLzIsK18uYXBwbHkodGhpcyxhcmd1bWVudHMpKSxWPWosVT1qO2lmKE4+dSl7dmFyIHE9ZChOL20qbChCKSksSD1kKE4veSpsKEIpKTsoUi09MipxKT51PyhJKz1xKj1MPzE6LTEsRC09cSk6KFI9MCxJPUQ9KHgrUykvMiksKEYtPTIqSCk+dT8oTys9SCo9TD8xOi0xLHotPUgpOihGPTAsTz16PSh4K1MpLzIpfXZhciBHPXkqaShPKSxZPXkqbChPKSxXPW0qaShEKSxYPW0qbChEKTtpZihqPnUpe3ZhciBaLEo9eSppKHopLEs9eSpsKHopLFE9bSppKEkpLCQ9bSpsKEkpO2lmKEU8aCYmKFo9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzKXt2YXIgbD1yLXQsYz1uLWUsaD1vLWEsZj1zLWkscD1mKmwtaCpjO2lmKCEocCpwPHUpKXJldHVyblt0KyhwPShoKihlLWkpLWYqKHQtYSkpL3ApKmwsZStwKmNdfShHLFksUSwkLEosSyxXLFgpKSl7dmFyIHR0PUctWlswXSxldD1ZLVpbMV0scnQ9Si1aWzBdLG50PUstWlsxXSxhdD0xL2woKCh2PSh0dCpydCtldCpudCkvKGModHQqdHQrZXQqZXQpKmMocnQqcnQrbnQqbnQpKSk+MT8wOnY8LTE/aDpNYXRoLmFjb3ModikpLzIpLGl0PWMoWlswXSpaWzBdK1pbMV0qWlsxXSk7Vj1zKGosKG0taXQpLyhhdC0xKSksVT1zKGosKHktaXQpLyhhdCsxKSl9fUY+dT9VPnU/KEM9YihRLCQsRyxZLHksVSxMKSxQPWIoSixLLFcsWCx5LFUsTCksQS5tb3ZlVG8oQy5jeCtDLngwMSxDLmN5K0MueTAxKSxVPGo/QS5hcmMoQy5jeCxDLmN5LFUsYShDLnkwMSxDLngwMSksYShQLnkwMSxQLngwMSksIUwpOihBLmFyYyhDLmN4LEMuY3ksVSxhKEMueTAxLEMueDAxKSxhKEMueTExLEMueDExKSwhTCksQS5hcmMoMCwwLHksYShDLmN5K0MueTExLEMuY3grQy54MTEpLGEoUC5jeStQLnkxMSxQLmN4K1AueDExKSwhTCksQS5hcmMoUC5jeCxQLmN5LFUsYShQLnkxMSxQLngxMSksYShQLnkwMSxQLngwMSksIUwpKSk6KEEubW92ZVRvKEcsWSksQS5hcmMoMCwwLHksTyx6LCFMKSk6QS5tb3ZlVG8oRyxZKSxtPnUmJlI+dT9WPnU/KEM9YihXLFgsSixLLG0sLVYsTCksUD1iKEcsWSxRLCQsbSwtVixMKSxBLmxpbmVUbyhDLmN4K0MueDAxLEMuY3krQy55MDEpLFY8aj9BLmFyYyhDLmN4LEMuY3ksVixhKEMueTAxLEMueDAxKSxhKFAueTAxLFAueDAxKSwhTCk6KEEuYXJjKEMuY3gsQy5jeSxWLGEoQy55MDEsQy54MDEpLGEoQy55MTEsQy54MTEpLCFMKSxBLmFyYygwLDAsbSxhKEMuY3krQy55MTEsQy5jeCtDLngxMSksYShQLmN5K1AueTExLFAuY3grUC54MTEpLEwpLEEuYXJjKFAuY3gsUC5jeSxWLGEoUC55MTEsUC54MTEpLGEoUC55MDEsUC54MDEpLCFMKSkpOkEuYXJjKDAsMCxtLEQsSSxMKTpBLmxpbmVUbyhXLFgpfWVsc2UgQS5tb3ZlVG8oMCwwKTtpZihBLmNsb3NlUGF0aCgpLHIpcmV0dXJuIEE9bnVsbCxyKyIifHxudWxsfXJldHVybiBTLmNlbnRyb2lkPWZ1bmN0aW9uKCl7dmFyIGU9KCt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSsgK28uYXBwbHkodGhpcyxhcmd1bWVudHMpKS8yLHI9KCtrLmFwcGx5KHRoaXMsYXJndW1lbnRzKSsgK1QuYXBwbHkodGhpcyxhcmd1bWVudHMpKS8yLWgvMjtyZXR1cm5baShyKSplLGwocikqZV19LFMuaW5uZXJSYWRpdXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpyKCtlKSxTKTp0fSxTLm91dGVyUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCksUyk6b30sUy5jb3JuZXJSYWRpdXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KF89ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpyKCt0KSxTKTpffSxTLnBhZFJhZGl1cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odz1udWxsPT10P251bGw6ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpyKCt0KSxTKTp3fSxTLnN0YXJ0QW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGs9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpyKCt0KSxTKTprfSxTLmVuZEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhUPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCksUyk6VH0sUy5wYWRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oTT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OnIoK3QpLFMpOk19LFMuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oQT1udWxsPT10P251bGw6dCxTKTpBfSxTfSx0LmFyZWE9QSx0LmxpbmU9TSx0LnBpZT1mdW5jdGlvbigpe3ZhciB0PUUsZT1TLG49bnVsbCxhPXIoMCksaT1yKHApLG89cigwKTtmdW5jdGlvbiBzKHIpe3ZhciBzLGwsYyx1LGgsZj1yLmxlbmd0aCxkPTAsZz1uZXcgQXJyYXkoZiksdj1uZXcgQXJyYXkoZiksbT0rYS5hcHBseSh0aGlzLGFyZ3VtZW50cykseT1NYXRoLm1pbihwLE1hdGgubWF4KC1wLGkuYXBwbHkodGhpcyxhcmd1bWVudHMpLW0pKSx4PU1hdGgubWluKE1hdGguYWJzKHkpL2Ysby5hcHBseSh0aGlzLGFyZ3VtZW50cykpLGI9eCooeTwwPy0xOjEpO2ZvcihzPTA7czxmOysrcykoaD12W2dbc109c109K3QocltzXSxzLHIpKT4wJiYoZCs9aCk7Zm9yKG51bGwhPWU/Zy5zb3J0KGZ1bmN0aW9uKHQscil7cmV0dXJuIGUodlt0XSx2W3JdKX0pOm51bGwhPW4mJmcuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBuKHJbdF0scltlXSl9KSxzPTAsYz1kPyh5LWYqYikvZDowO3M8ZjsrK3MsbT11KWw9Z1tzXSx1PW0rKChoPXZbbF0pPjA/aCpjOjApK2IsdltsXT17ZGF0YTpyW2xdLGluZGV4OnMsdmFsdWU6aCxzdGFydEFuZ2xlOm0sZW5kQW5nbGU6dSxwYWRBbmdsZTp4fTtyZXR1cm4gdn1yZXR1cm4gcy52YWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOnIoK2UpLHMpOnR9LHMuc29ydFZhbHVlcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LG49bnVsbCxzKTplfSxzLnNvcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxlPW51bGwscyk6bn0scy5zdGFydEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCkscyk6YX0scy5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OnIoK3QpLHMpOml9LHMucGFkQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpyKCt0KSxzKTpvfSxzfSx0LmFyZWFSYWRpYWw9SSx0LnJhZGlhbEFyZWE9SSx0LmxpbmVSYWRpYWw9eix0LnJhZGlhbExpbmU9eix0LnBvaW50UmFkaWFsPUQsdC5saW5rSG9yaXpvbnRhbD1mdW5jdGlvbigpe3JldHVybiBOKGopfSx0LmxpbmtWZXJ0aWNhbD1mdW5jdGlvbigpe3JldHVybiBOKFYpfSx0LmxpbmtSYWRpYWw9ZnVuY3Rpb24oKXt2YXIgdD1OKFUpO3JldHVybiB0LmFuZ2xlPXQueCxkZWxldGUgdC54LHQucmFkaXVzPXQueSxkZWxldGUgdC55LHR9LHQuc3ltYm9sPWZ1bmN0aW9uKCl7dmFyIHQ9cihxKSxuPXIoNjQpLGE9bnVsbDtmdW5jdGlvbiBpKCl7dmFyIHI7aWYoYXx8KGE9cj1lLnBhdGgoKSksdC5hcHBseSh0aGlzLGFyZ3VtZW50cykuZHJhdyhhLCtuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSkscilyZXR1cm4gYT1udWxsLHIrIiJ8fG51bGx9cmV0dXJuIGkudHlwZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOnIoZSksaSk6dH0saS5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6cigrdCksaSk6bn0saS5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPW51bGw9PXQ/bnVsbDp0LGkpOmF9LGl9LHQuc3ltYm9scz1vdCx0LnN5bWJvbENpcmNsZT1xLHQuc3ltYm9sQ3Jvc3M9SCx0LnN5bWJvbERpYW1vbmQ9Vyx0LnN5bWJvbFNxdWFyZT1RLHQuc3ltYm9sU3Rhcj1LLHQuc3ltYm9sVHJpYW5nbGU9dHQsdC5zeW1ib2xXeWU9aXQsdC5jdXJ2ZUJhc2lzQ2xvc2VkPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgdXQodCl9LHQuY3VydmVCYXNpc09wZW49ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBodCh0KX0sdC5jdXJ2ZUJhc2lzPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgY3QodCl9LHQuY3VydmVCdW5kbGU9cHQsdC5jdXJ2ZUNhcmRpbmFsQ2xvc2VkPXl0LHQuY3VydmVDYXJkaW5hbE9wZW49YnQsdC5jdXJ2ZUNhcmRpbmFsPXZ0LHQuY3VydmVDYXRtdWxsUm9tQ2xvc2VkPU10LHQuY3VydmVDYXRtdWxsUm9tT3Blbj1TdCx0LmN1cnZlQ2F0bXVsbFJvbT1rdCx0LmN1cnZlTGluZWFyQ2xvc2VkPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRXQodCl9LHQuY3VydmVMaW5lYXI9dyx0LmN1cnZlTW9ub3RvbmVYPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgenQodCl9LHQuY3VydmVNb25vdG9uZVk9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBJdCh0KX0sdC5jdXJ2ZU5hdHVyYWw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBSdCh0KX0sdC5jdXJ2ZVN0ZXA9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBCdCh0LC41KX0sdC5jdXJ2ZVN0ZXBBZnRlcj1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IEJ0KHQsMSl9LHQuY3VydmVTdGVwQmVmb3JlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgQnQodCwwKX0sdC5zdGFjaz1mdW5jdGlvbigpe3ZhciB0PXIoW10pLGU9anQsbj1OdCxhPVZ0O2Z1bmN0aW9uIGkocil7dmFyIGksbyxzPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpLGw9ci5sZW5ndGgsYz1zLmxlbmd0aCx1PW5ldyBBcnJheShjKTtmb3IoaT0wO2k8YzsrK2kpe2Zvcih2YXIgaCxmPXNbaV0scD11W2ldPW5ldyBBcnJheShsKSxkPTA7ZDxsOysrZClwW2RdPWg9WzAsK2EocltkXSxmLGQscildLGguZGF0YT1yW2RdO3Aua2V5PWZ9Zm9yKGk9MCxvPWUodSk7aTxjOysraSl1W29baV1dLmluZGV4PWk7cmV0dXJuIG4odSxvKSx1fXJldHVybiBpLmtleXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpyKFIuY2FsbChlKSksaSk6dH0saS52YWx1ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OnIoK3QpLGkpOmF9LGkub3JkZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9bnVsbD09dD9qdDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OnIoUi5jYWxsKHQpKSxpKTplfSxpLm9mZnNldD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1udWxsPT10P050OnQsaSk6bn0saX0sdC5zdGFja09mZnNldEV4cGFuZD1mdW5jdGlvbih0LGUpe2lmKChuPXQubGVuZ3RoKT4wKXtmb3IodmFyIHIsbixhLGk9MCxvPXRbMF0ubGVuZ3RoO2k8bzsrK2kpe2ZvcihhPXI9MDtyPG47KytyKWErPXRbcl1baV1bMV18fDA7aWYoYSlmb3Iocj0wO3I8bjsrK3IpdFtyXVtpXVsxXS89YX1OdCh0LGUpfX0sdC5zdGFja09mZnNldERpdmVyZ2luZz1mdW5jdGlvbih0LGUpe2lmKChzPXQubGVuZ3RoKT4xKWZvcih2YXIgcixuLGEsaSxvLHMsbD0wLGM9dFtlWzBdXS5sZW5ndGg7bDxjOysrbClmb3IoaT1vPTAscj0wO3I8czsrK3IpKGE9KG49dFtlW3JdXVtsXSlbMV0tblswXSk+PTA/KG5bMF09aSxuWzFdPWkrPWEpOmE8MD8oblsxXT1vLG5bMF09bys9YSk6blswXT1pfSx0LnN0YWNrT2Zmc2V0Tm9uZT1OdCx0LnN0YWNrT2Zmc2V0U2lsaG91ZXR0ZT1mdW5jdGlvbih0LGUpe2lmKChyPXQubGVuZ3RoKT4wKXtmb3IodmFyIHIsbj0wLGE9dFtlWzBdXSxpPWEubGVuZ3RoO248aTsrK24pe2Zvcih2YXIgbz0wLHM9MDtvPHI7KytvKXMrPXRbb11bbl1bMV18fDA7YVtuXVsxXSs9YVtuXVswXT0tcy8yfU50KHQsZSl9fSx0LnN0YWNrT2Zmc2V0V2lnZ2xlPWZ1bmN0aW9uKHQsZSl7aWYoKGE9dC5sZW5ndGgpPjAmJihuPShyPXRbZVswXV0pLmxlbmd0aCk+MCl7Zm9yKHZhciByLG4sYSxpPTAsbz0xO288bjsrK28pe2Zvcih2YXIgcz0wLGw9MCxjPTA7czxhOysrcyl7Zm9yKHZhciB1PXRbZVtzXV0saD11W29dWzFdfHwwLGY9KGgtKHVbby0xXVsxXXx8MCkpLzIscD0wO3A8czsrK3Ape3ZhciBkPXRbZVtwXV07Zis9KGRbb11bMV18fDApLShkW28tMV1bMV18fDApfWwrPWgsYys9ZipofXJbby0xXVsxXSs9cltvLTFdWzBdPWksbCYmKGktPWMvbCl9cltvLTFdWzFdKz1yW28tMV1bMF09aSxOdCh0LGUpfX0sdC5zdGFja09yZGVyQXBwZWFyYW5jZT1VdCx0LnN0YWNrT3JkZXJBc2NlbmRpbmc9SHQsdC5zdGFja09yZGVyRGVzY2VuZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gSHQodCkucmV2ZXJzZSgpfSx0LnN0YWNrT3JkZXJJbnNpZGVPdXQ9ZnVuY3Rpb24odCl7dmFyIGUscixuPXQubGVuZ3RoLGE9dC5tYXAoR3QpLGk9VXQodCksbz0wLHM9MCxsPVtdLGM9W107Zm9yKGU9MDtlPG47KytlKXI9aVtlXSxvPHM/KG8rPWFbcl0sbC5wdXNoKHIpKToocys9YVtyXSxjLnB1c2gocikpO3JldHVybiBjLnJldmVyc2UoKS5jb25jYXQobCl9LHQuc3RhY2tPcmRlck5vbmU9anQsdC5zdGFja09yZGVyUmV2ZXJzZT1mdW5jdGlvbih0KXtyZXR1cm4ganQodCkucmV2ZXJzZSgpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LCJvYmplY3QiPT10eXBlb2YgciYmInVuZGVmaW5lZCIhPXR5cGVvZiBlP2Eocix0KCJkMy1wYXRoIikpOmEobi5kMz1uLmQzfHx7fSxuLmQzKX0seyJkMy1wYXRoIjoxNjF9XSwxNjQ6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbjtuPXRoaXMsZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO3ZhciBlLHIsbj0wLGE9MCxpPTAsbz0xZTMscz0wLGw9MCxjPTAsdT0ib2JqZWN0Ij09dHlwZW9mIHBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5ub3c/cGVyZm9ybWFuY2U6RGF0ZSxoPSJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lP3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpOmZ1bmN0aW9uKHQpe3NldFRpbWVvdXQodCwxNyl9O2Z1bmN0aW9uIGYoKXtyZXR1cm4gbHx8KGgocCksbD11Lm5vdygpK2MpfWZ1bmN0aW9uIHAoKXtsPTB9ZnVuY3Rpb24gZCgpe3RoaXMuX2NhbGw9dGhpcy5fdGltZT10aGlzLl9uZXh0PW51bGx9ZnVuY3Rpb24gZyh0LGUscil7dmFyIG49bmV3IGQ7cmV0dXJuIG4ucmVzdGFydCh0LGUsciksbn1mdW5jdGlvbiB2KCl7ZigpLCsrbjtmb3IodmFyIHQscj1lO3I7KSh0PWwtci5fdGltZSk+PTAmJnIuX2NhbGwuY2FsbChudWxsLHQpLHI9ci5fbmV4dDstLW59ZnVuY3Rpb24gbSgpe2w9KHM9dS5ub3coKSkrYyxuPWE9MDt0cnl7digpfWZpbmFsbHl7bj0wLGZ1bmN0aW9uKCl7dmFyIHQsbixhPWUsaT0xLzA7Zm9yKDthOylhLl9jYWxsPyhpPmEuX3RpbWUmJihpPWEuX3RpbWUpLHQ9YSxhPWEuX25leHQpOihuPWEuX25leHQsYS5fbmV4dD1udWxsLGE9dD90Ll9uZXh0PW46ZT1uKTtyPXQseChpKX0oKSxsPTB9fWZ1bmN0aW9uIHkoKXt2YXIgdD11Lm5vdygpLGU9dC1zO2U+byYmKGMtPWUscz10KX1mdW5jdGlvbiB4KHQpe258fChhJiYoYT1jbGVhclRpbWVvdXQoYSkpLHQtbD4yND8odDwxLzAmJihhPXNldFRpbWVvdXQobSx0LXUubm93KCktYykpLGkmJihpPWNsZWFySW50ZXJ2YWwoaSkpKTooaXx8KHM9dS5ub3coKSxpPXNldEludGVydmFsKHksbykpLG49MSxoKG0pKSl9ZC5wcm90b3R5cGU9Zy5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmQscmVzdGFydDpmdW5jdGlvbih0LG4sYSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiY2FsbGJhY2sgaXMgbm90IGEgZnVuY3Rpb24iKTthPShudWxsPT1hP2YoKTorYSkrKG51bGw9PW4/MDorbiksdGhpcy5fbmV4dHx8cj09PXRoaXN8fChyP3IuX25leHQ9dGhpczplPXRoaXMscj10aGlzKSx0aGlzLl9jYWxsPXQsdGhpcy5fdGltZT1hLHgoKX0sc3RvcDpmdW5jdGlvbigpe3RoaXMuX2NhbGwmJih0aGlzLl9jYWxsPW51bGwsdGhpcy5fdGltZT0xLzAseCgpKX19LHQubm93PWYsdC50aW1lcj1nLHQudGltZXJGbHVzaD12LHQudGltZW91dD1mdW5jdGlvbih0LGUscil7dmFyIG49bmV3IGQ7cmV0dXJuIGU9bnVsbD09ZT8wOitlLG4ucmVzdGFydChmdW5jdGlvbihyKXtuLnN0b3AoKSx0KHIrZSl9LGUsciksbn0sdC5pbnRlcnZhbD1mdW5jdGlvbih0LGUscil7dmFyIG49bmV3IGQsYT1lO3JldHVybiBudWxsPT1lPyhuLnJlc3RhcnQodCxlLHIpLG4pOihlPStlLHI9bnVsbD09cj9mKCk6K3Isbi5yZXN0YXJ0KGZ1bmN0aW9uIGkobyl7bys9YSxuLnJlc3RhcnQoaSxhKz1lLHIpLHQobyl9LGUsciksbil9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0oIm9iamVjdCI9PXR5cGVvZiByJiYidW5kZWZpbmVkIiE9dHlwZW9mIGU/cjpuLmQzPW4uZDN8fHt9KX0se31dLDE2NTpbZnVuY3Rpb24odCxlLHIpeyFmdW5jdGlvbigpe3ZhciB0PXt2ZXJzaW9uOiIzLjUuMTcifSxyPVtdLnNsaWNlLG49ZnVuY3Rpb24odCl7cmV0dXJuIHIuY2FsbCh0KX0sYT10aGlzLmRvY3VtZW50O2Z1bmN0aW9uIGkodCl7cmV0dXJuIHQmJih0Lm93bmVyRG9jdW1lbnR8fHQuZG9jdW1lbnR8fHQpLmRvY3VtZW50RWxlbWVudH1mdW5jdGlvbiBvKHQpe3JldHVybiB0JiYodC5vd25lckRvY3VtZW50JiZ0Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd8fHQuZG9jdW1lbnQmJnR8fHQuZGVmYXVsdFZpZXcpfWlmKGEpdHJ5e24oYS5kb2N1bWVudEVsZW1lbnQuY2hpbGROb2RlcylbMF0ubm9kZVR5cGV9Y2F0Y2godCl7bj1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC5sZW5ndGgscj1uZXcgQXJyYXkoZSk7ZS0tOylyW2VdPXRbZV07cmV0dXJuIHJ9fWlmKERhdGUubm93fHwoRGF0ZS5ub3c9ZnVuY3Rpb24oKXtyZXR1cm4rbmV3IERhdGV9KSxhKXRyeXthLmNyZWF0ZUVsZW1lbnQoIkRJViIpLnN0eWxlLnNldFByb3BlcnR5KCJvcGFjaXR5IiwwLCIiKX1jYXRjaCh0KXt2YXIgcz10aGlzLkVsZW1lbnQucHJvdG90eXBlLGw9cy5zZXRBdHRyaWJ1dGUsYz1zLnNldEF0dHJpYnV0ZU5TLHU9dGhpcy5DU1NTdHlsZURlY2xhcmF0aW9uLnByb3RvdHlwZSxoPXUuc2V0UHJvcGVydHk7cy5zZXRBdHRyaWJ1dGU9ZnVuY3Rpb24odCxlKXtsLmNhbGwodGhpcyx0LGUrIiIpfSxzLnNldEF0dHJpYnV0ZU5TPWZ1bmN0aW9uKHQsZSxyKXtjLmNhbGwodGhpcyx0LGUscisiIil9LHUuc2V0UHJvcGVydHk9ZnVuY3Rpb24odCxlLHIpe2guY2FsbCh0aGlzLHQsZSsiIixyKX19ZnVuY3Rpb24gZih0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiBwKHQpe3JldHVybiBudWxsPT09dD9OYU46K3R9ZnVuY3Rpb24gZCh0KXtyZXR1cm4haXNOYU4odCl9ZnVuY3Rpb24gZyh0KXtyZXR1cm57bGVmdDpmdW5jdGlvbihlLHIsbixhKXtmb3IoYXJndW1lbnRzLmxlbmd0aDwzJiYobj0wKSxhcmd1bWVudHMubGVuZ3RoPDQmJihhPWUubGVuZ3RoKTtuPGE7KXt2YXIgaT1uK2E+Pj4xO3QoZVtpXSxyKTwwP249aSsxOmE9aX1yZXR1cm4gbn0scmlnaHQ6ZnVuY3Rpb24oZSxyLG4sYSl7Zm9yKGFyZ3VtZW50cy5sZW5ndGg8MyYmKG49MCksYXJndW1lbnRzLmxlbmd0aDw0JiYoYT1lLmxlbmd0aCk7bjxhOyl7dmFyIGk9bithPj4+MTt0KGVbaV0scik+MD9hPWk6bj1pKzF9cmV0dXJuIG59fX10LmFzY2VuZGluZz1mLHQuZGVzY2VuZGluZz1mdW5jdGlvbih0LGUpe3JldHVybiBlPHQ/LTE6ZT50PzE6ZT49dD8wOk5hTn0sdC5taW49ZnVuY3Rpb24odCxlKXt2YXIgcixuLGE9LTEsaT10Lmxlbmd0aDtpZigxPT09YXJndW1lbnRzLmxlbmd0aCl7Zm9yKDsrK2E8aTspaWYobnVsbCE9KG49dFthXSkmJm4+PW4pe3I9bjticmVha31mb3IoOysrYTxpOyludWxsIT0obj10W2FdKSYmcj5uJiYocj1uKX1lbHNle2Zvcig7KythPGk7KWlmKG51bGwhPShuPWUuY2FsbCh0LHRbYV0sYSkpJiZuPj1uKXtyPW47YnJlYWt9Zm9yKDsrK2E8aTspbnVsbCE9KG49ZS5jYWxsKHQsdFthXSxhKSkmJnI+biYmKHI9bil9cmV0dXJuIHJ9LHQubWF4PWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhPS0xLGk9dC5sZW5ndGg7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgpe2Zvcig7KythPGk7KWlmKG51bGwhPShuPXRbYV0pJiZuPj1uKXtyPW47YnJlYWt9Zm9yKDsrK2E8aTspbnVsbCE9KG49dFthXSkmJm4+ciYmKHI9bil9ZWxzZXtmb3IoOysrYTxpOylpZihudWxsIT0obj1lLmNhbGwodCx0W2FdLGEpKSYmbj49bil7cj1uO2JyZWFrfWZvcig7KythPGk7KW51bGwhPShuPWUuY2FsbCh0LHRbYV0sYSkpJiZuPnImJihyPW4pfXJldHVybiByfSx0LmV4dGVudD1mdW5jdGlvbih0LGUpe3ZhciByLG4sYSxpPS0xLG89dC5sZW5ndGg7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgpe2Zvcig7KytpPG87KWlmKG51bGwhPShuPXRbaV0pJiZuPj1uKXtyPWE9bjticmVha31mb3IoOysraTxvOyludWxsIT0obj10W2ldKSYmKHI+biYmKHI9biksYTxuJiYoYT1uKSl9ZWxzZXtmb3IoOysraTxvOylpZihudWxsIT0obj1lLmNhbGwodCx0W2ldLGkpKSYmbj49bil7cj1hPW47YnJlYWt9Zm9yKDsrK2k8bzspbnVsbCE9KG49ZS5jYWxsKHQsdFtpXSxpKSkmJihyPm4mJihyPW4pLGE8biYmKGE9bikpfXJldHVybltyLGFdfSx0LnN1bT1mdW5jdGlvbih0LGUpe3ZhciByLG49MCxhPXQubGVuZ3RoLGk9LTE7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgpZm9yKDsrK2k8YTspZChyPSt0W2ldKSYmKG4rPXIpO2Vsc2UgZm9yKDsrK2k8YTspZChyPStlLmNhbGwodCx0W2ldLGkpKSYmKG4rPXIpO3JldHVybiBufSx0Lm1lYW49ZnVuY3Rpb24odCxlKXt2YXIgcixuPTAsYT10Lmxlbmd0aCxpPS0xLG89YTtpZigxPT09YXJndW1lbnRzLmxlbmd0aClmb3IoOysraTxhOylkKHI9cCh0W2ldKSk/bis9cjotLW87ZWxzZSBmb3IoOysraTxhOylkKHI9cChlLmNhbGwodCx0W2ldLGkpKSk/bis9cjotLW87aWYobylyZXR1cm4gbi9vfSx0LnF1YW50aWxlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9KHQubGVuZ3RoLTEpKmUrMSxuPU1hdGguZmxvb3IociksYT0rdFtuLTFdLGk9ci1uO3JldHVybiBpP2EraSoodFtuXS1hKTphfSx0Lm1lZGlhbj1mdW5jdGlvbihlLHIpe3ZhciBuLGE9W10saT1lLmxlbmd0aCxvPS0xO2lmKDE9PT1hcmd1bWVudHMubGVuZ3RoKWZvcig7KytvPGk7KWQobj1wKGVbb10pKSYmYS5wdXNoKG4pO2Vsc2UgZm9yKDsrK288aTspZChuPXAoci5jYWxsKGUsZVtvXSxvKSkpJiZhLnB1c2gobik7aWYoYS5sZW5ndGgpcmV0dXJuIHQucXVhbnRpbGUoYS5zb3J0KGYpLC41KX0sdC52YXJpYW5jZT1mdW5jdGlvbih0LGUpe3ZhciByLG4sYT10Lmxlbmd0aCxpPTAsbz0wLHM9LTEsbD0wO2lmKDE9PT1hcmd1bWVudHMubGVuZ3RoKWZvcig7KytzPGE7KWQocj1wKHRbc10pKSYmKG8rPShuPXItaSkqKHItKGkrPW4vKytsKSkpO2Vsc2UgZm9yKDsrK3M8YTspZChyPXAoZS5jYWxsKHQsdFtzXSxzKSkpJiYobys9KG49ci1pKSooci0oaSs9bi8rK2wpKSk7aWYobD4xKXJldHVybiBvLyhsLTEpfSx0LmRldmlhdGlvbj1mdW5jdGlvbigpe3ZhciBlPXQudmFyaWFuY2UuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBlP01hdGguc3FydChlKTplfTt2YXIgdj1nKGYpO2Z1bmN0aW9uIG0odCl7cmV0dXJuIHQubGVuZ3RofXQuYmlzZWN0TGVmdD12LmxlZnQsdC5iaXNlY3Q9dC5iaXNlY3RSaWdodD12LnJpZ2h0LHQuYmlzZWN0b3I9ZnVuY3Rpb24odCl7cmV0dXJuIGcoMT09PXQubGVuZ3RoP2Z1bmN0aW9uKGUscil7cmV0dXJuIGYodChlKSxyKX06dCl9LHQuc2h1ZmZsZT1mdW5jdGlvbih0LGUscil7KGk9YXJndW1lbnRzLmxlbmd0aCk8MyYmKHI9dC5sZW5ndGgsaTwyJiYoZT0wKSk7Zm9yKHZhciBuLGEsaT1yLWU7aTspYT1NYXRoLnJhbmRvbSgpKmktLXwwLG49dFtpK2VdLHRbaStlXT10W2ErZV0sdFthK2VdPW47cmV0dXJuIHR9LHQucGVybXV0ZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1lLmxlbmd0aCxuPW5ldyBBcnJheShyKTtyLS07KW5bcl09dFtlW3JdXTtyZXR1cm4gbn0sdC5wYWlycz1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPXQubGVuZ3RoLTEsbj10WzBdLGE9bmV3IEFycmF5KHI8MD8wOnIpO2U8cjspYVtlXT1bbixuPXRbKytlXV07cmV0dXJuIGF9LHQudHJhbnNwb3NlPWZ1bmN0aW9uKGUpe2lmKCEoaT1lLmxlbmd0aCkpcmV0dXJuW107Zm9yKHZhciByPS0xLG49dC5taW4oZSxtKSxhPW5ldyBBcnJheShuKTsrK3I8bjspZm9yKHZhciBpLG89LTEscz1hW3JdPW5ldyBBcnJheShpKTsrK288aTspc1tvXT1lW29dW3JdO3JldHVybiBhfSx0LnppcD1mdW5jdGlvbigpe3JldHVybiB0LnRyYW5zcG9zZShhcmd1bWVudHMpfSx0LmtleXM9ZnVuY3Rpb24odCl7dmFyIGU9W107Zm9yKHZhciByIGluIHQpZS5wdXNoKHIpO3JldHVybiBlfSx0LnZhbHVlcz1mdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIHIgaW4gdCllLnB1c2godFtyXSk7cmV0dXJuIGV9LHQuZW50cmllcz1mdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIHIgaW4gdCllLnB1c2goe2tleTpyLHZhbHVlOnRbcl19KTtyZXR1cm4gZX0sdC5tZXJnZT1mdW5jdGlvbih0KXtmb3IodmFyIGUscixuLGE9dC5sZW5ndGgsaT0tMSxvPTA7KytpPGE7KW8rPXRbaV0ubGVuZ3RoO2ZvcihyPW5ldyBBcnJheShvKTstLWE+PTA7KWZvcihlPShuPXRbYV0pLmxlbmd0aDstLWU+PTA7KXJbLS1vXT1uW2VdO3JldHVybiByfTt2YXIgeT1NYXRoLmFicztmdW5jdGlvbiB4KHQsZSl7Zm9yKHZhciByIGluIGUpT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLHIse3ZhbHVlOmVbcl0sZW51bWVyYWJsZTohMX0pfWZ1bmN0aW9uIGIoKXt0aGlzLl89T2JqZWN0LmNyZWF0ZShudWxsKX10LnJhbmdlPWZ1bmN0aW9uKHQsZSxyKXtpZihhcmd1bWVudHMubGVuZ3RoPDMmJihyPTEsYXJndW1lbnRzLmxlbmd0aDwyJiYoZT10LHQ9MCkpLChlLXQpL3I9PTEvMCl0aHJvdyBuZXcgRXJyb3IoImluZmluaXRlIHJhbmdlIik7dmFyIG4sYT1bXSxpPWZ1bmN0aW9uKHQpe3ZhciBlPTE7Zm9yKDt0KmUlMTspZSo9MTA7cmV0dXJuIGV9KHkocikpLG89LTE7aWYodCo9aSxlKj1pLChyKj1pKTwwKWZvcig7KG49dCtyKisrbyk+ZTspYS5wdXNoKG4vaSk7ZWxzZSBmb3IoOyhuPXQrciorK28pPGU7KWEucHVzaChuL2kpO3JldHVybiBhfSx0Lm1hcD1mdW5jdGlvbih0LGUpe3ZhciByPW5ldyBiO2lmKHQgaW5zdGFuY2VvZiBiKXQuZm9yRWFjaChmdW5jdGlvbih0LGUpe3Iuc2V0KHQsZSl9KTtlbHNlIGlmKEFycmF5LmlzQXJyYXkodCkpe3ZhciBuLGE9LTEsaT10Lmxlbmd0aDtpZigxPT09YXJndW1lbnRzLmxlbmd0aClmb3IoOysrYTxpOylyLnNldChhLHRbYV0pO2Vsc2UgZm9yKDsrK2E8aTspci5zZXQoZS5jYWxsKHQsbj10W2FdLGEpLG4pfWVsc2UgZm9yKHZhciBvIGluIHQpci5zZXQobyx0W29dKTtyZXR1cm4gcn07dmFyIF89Il9fcHJvdG9fXyIsdz0iXDAiO2Z1bmN0aW9uIGsodCl7cmV0dXJuKHQrPSIiKT09PV98fHRbMF09PT13P3crdDp0fWZ1bmN0aW9uIFQodCl7cmV0dXJuKHQrPSIiKVswXT09PXc/dC5zbGljZSgxKTp0fWZ1bmN0aW9uIE0odCl7cmV0dXJuIGsodClpbiB0aGlzLl99ZnVuY3Rpb24gQSh0KXtyZXR1cm4odD1rKHQpKWluIHRoaXMuXyYmZGVsZXRlIHRoaXMuX1t0XX1mdW5jdGlvbiBTKCl7dmFyIHQ9W107Zm9yKHZhciBlIGluIHRoaXMuXyl0LnB1c2goVChlKSk7cmV0dXJuIHR9ZnVuY3Rpb24gRSgpe3ZhciB0PTA7Zm9yKHZhciBlIGluIHRoaXMuXykrK3Q7cmV0dXJuIHR9ZnVuY3Rpb24gTCgpe2Zvcih2YXIgdCBpbiB0aGlzLl8pcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gQygpe3RoaXMuXz1PYmplY3QuY3JlYXRlKG51bGwpfWZ1bmN0aW9uIFAodCl7cmV0dXJuIHR9ZnVuY3Rpb24gTyh0LGUscil7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49ci5hcHBseShlLGFyZ3VtZW50cyk7cmV0dXJuIG49PT1lP3Q6bn19ZnVuY3Rpb24geih0LGUpe2lmKGUgaW4gdClyZXR1cm4gZTtlPWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKTtmb3IodmFyIHI9MCxuPUkubGVuZ3RoO3I8bjsrK3Ipe3ZhciBhPUlbcl0rZTtpZihhIGluIHQpcmV0dXJuIGF9fXgoYix7aGFzOk0sZ2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9bayh0KV19LHNldDpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9bayh0KV09ZX0scmVtb3ZlOkEsa2V5czpTLHZhbHVlczpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzLl8pdC5wdXNoKHRoaXMuX1tlXSk7cmV0dXJuIHR9LGVudHJpZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIGUgaW4gdGhpcy5fKXQucHVzaCh7a2V5OlQoZSksdmFsdWU6dGhpcy5fW2VdfSk7cmV0dXJuIHR9LHNpemU6RSxlbXB0eTpMLGZvckVhY2g6ZnVuY3Rpb24odCl7Zm9yKHZhciBlIGluIHRoaXMuXyl0LmNhbGwodGhpcyxUKGUpLHRoaXMuX1tlXSl9fSksdC5uZXN0PWZ1bmN0aW9uKCl7dmFyIGUscixuPXt9LGE9W10saT1bXTtmdW5jdGlvbiBvKHQsaSxzKXtpZihzPj1hLmxlbmd0aClyZXR1cm4gcj9yLmNhbGwobixpKTplP2kuc29ydChlKTppO2Zvcih2YXIgbCxjLHUsaCxmPS0xLHA9aS5sZW5ndGgsZD1hW3MrK10sZz1uZXcgYjsrK2Y8cDspKGg9Zy5nZXQobD1kKGM9aVtmXSkpKT9oLnB1c2goYyk6Zy5zZXQobCxbY10pO3JldHVybiB0PyhjPXQoKSx1PWZ1bmN0aW9uKGUscil7Yy5zZXQoZSxvKHQscixzKSl9KTooYz17fSx1PWZ1bmN0aW9uKGUscil7Y1tlXT1vKHQscixzKX0pLGcuZm9yRWFjaCh1KSxjfXJldHVybiBuLm1hcD1mdW5jdGlvbih0LGUpe3JldHVybiBvKGUsdCwwKX0sbi5lbnRyaWVzPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbiB0KGUscil7aWYocj49YS5sZW5ndGgpcmV0dXJuIGU7dmFyIG49W10sbz1pW3IrK107cmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbihlLGEpe24ucHVzaCh7a2V5OmUsdmFsdWVzOnQoYSxyKX0pfSksbz9uLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gbyh0LmtleSxlLmtleSl9KTpufShvKHQubWFwLGUsMCksMCl9LG4ua2V5PWZ1bmN0aW9uKHQpe3JldHVybiBhLnB1c2godCksbn0sbi5zb3J0S2V5cz1mdW5jdGlvbih0KXtyZXR1cm4gaVthLmxlbmd0aC0xXT10LG59LG4uc29ydFZhbHVlcz1mdW5jdGlvbih0KXtyZXR1cm4gZT10LG59LG4ucm9sbHVwPWZ1bmN0aW9uKHQpe3JldHVybiByPXQsbn0sbn0sdC5zZXQ9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IEM7aWYodClmb3IodmFyIHI9MCxuPXQubGVuZ3RoO3I8bjsrK3IpZS5hZGQodFtyXSk7cmV0dXJuIGV9LHgoQyx7aGFzOk0sYWRkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9bayh0Kz0iIildPSEwLHR9LHJlbW92ZTpBLHZhbHVlczpTLHNpemU6RSxlbXB0eTpMLGZvckVhY2g6ZnVuY3Rpb24odCl7Zm9yKHZhciBlIGluIHRoaXMuXyl0LmNhbGwodGhpcyxUKGUpKX19KSx0LmJlaGF2aW9yPXt9LHQucmViaW5kPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByLG49MSxhPWFyZ3VtZW50cy5sZW5ndGg7KytuPGE7KXRbcj1hcmd1bWVudHNbbl1dPU8odCxlLGVbcl0pO3JldHVybiB0fTt2YXIgST1bIndlYmtpdCIsIm1zIiwibW96IiwiTW96IiwibyIsIk8iXTtmdW5jdGlvbiBEKCl7fWZ1bmN0aW9uIFIoKXt9ZnVuY3Rpb24gRih0KXt2YXIgZT1bXSxyPW5ldyBiO2Z1bmN0aW9uIG4oKXtmb3IodmFyIHIsbj1lLGE9LTEsaT1uLmxlbmd0aDsrK2E8aTspKHI9blthXS5vbikmJnIuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiB0fXJldHVybiBuLm9uPWZ1bmN0aW9uKG4sYSl7dmFyIGksbz1yLmdldChuKTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyP28mJm8ub246KG8mJihvLm9uPW51bGwsZT1lLnNsaWNlKDAsaT1lLmluZGV4T2YobykpLmNvbmNhdChlLnNsaWNlKGkrMSkpLHIucmVtb3ZlKG4pKSxhJiZlLnB1c2goci5zZXQobix7b246YX0pKSx0KX0sbn1mdW5jdGlvbiBCKCl7dC5ldmVudC5wcmV2ZW50RGVmYXVsdCgpfWZ1bmN0aW9uIE4oKXtmb3IodmFyIGUscj10LmV2ZW50O2U9ci5zb3VyY2VFdmVudDspcj1lO3JldHVybiByfWZ1bmN0aW9uIGooZSl7Zm9yKHZhciByPW5ldyBSLG49MCxhPWFyZ3VtZW50cy5sZW5ndGg7KytuPGE7KXJbYXJndW1lbnRzW25dXT1GKHIpO3JldHVybiByLm9mPWZ1bmN0aW9uKG4sYSl7cmV0dXJuIGZ1bmN0aW9uKGkpe3RyeXt2YXIgbz1pLnNvdXJjZUV2ZW50PXQuZXZlbnQ7aS50YXJnZXQ9ZSx0LmV2ZW50PWkscltpLnR5cGVdLmFwcGx5KG4sYSl9ZmluYWxseXt0LmV2ZW50PW99fX0scn10LmRpc3BhdGNoPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PW5ldyBSLGU9LTEscj1hcmd1bWVudHMubGVuZ3RoOysrZTxyOyl0W2FyZ3VtZW50c1tlXV09Rih0KTtyZXR1cm4gdH0sUi5wcm90b3R5cGUub249ZnVuY3Rpb24odCxlKXt2YXIgcj10LmluZGV4T2YoIi4iKSxuPSIiO2lmKHI+PTAmJihuPXQuc2xpY2UocisxKSx0PXQuc2xpY2UoMCxyKSksdClyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyP3RoaXNbdF0ub24obik6dGhpc1t0XS5vbihuLGUpO2lmKDI9PT1hcmd1bWVudHMubGVuZ3RoKXtpZihudWxsPT1lKWZvcih0IGluIHRoaXMpdGhpcy5oYXNPd25Qcm9wZXJ0eSh0KSYmdGhpc1t0XS5vbihuLG51bGwpO3JldHVybiB0aGlzfX0sdC5ldmVudD1udWxsLHQucmVxdW90ZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKFYsIlxcJCYiKX07dmFyIFY9L1tcXFxeXCRcKlwrXD9cfFxbXF1cKFwpXC5ce1x9XS9nLFU9e30uX19wcm90b19fP2Z1bmN0aW9uKHQsZSl7dC5fX3Byb3RvX189ZX06ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gZSl0W3JdPWVbcl19O2Z1bmN0aW9uIHEodCl7cmV0dXJuIFUodCxXKSx0fXZhciBIPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUucXVlcnlTZWxlY3Rvcih0KX0sRz1mdW5jdGlvbih0LGUpe3JldHVybiBlLnF1ZXJ5U2VsZWN0b3JBbGwodCl9LFk9ZnVuY3Rpb24odCxlKXt2YXIgcj10Lm1hdGNoZXN8fHRbeih0LCJtYXRjaGVzU2VsZWN0b3IiKV07cmV0dXJuKFk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gci5jYWxsKHQsZSl9KSh0LGUpfTsiZnVuY3Rpb24iPT10eXBlb2YgU2l6emxlJiYoSD1mdW5jdGlvbih0LGUpe3JldHVybiBTaXp6bGUodCxlKVswXXx8bnVsbH0sRz1TaXp6bGUsWT1TaXp6bGUubWF0Y2hlc1NlbGVjdG9yKSx0LnNlbGVjdGlvbj1mdW5jdGlvbigpe3JldHVybiB0LnNlbGVjdChhLmRvY3VtZW50RWxlbWVudCl9O3ZhciBXPXQuc2VsZWN0aW9uLnByb3RvdHlwZT1bXTtmdW5jdGlvbiBYKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZnVuY3Rpb24oKXtyZXR1cm4gSCh0LHRoaXMpfX1mdW5jdGlvbiBaKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZnVuY3Rpb24oKXtyZXR1cm4gRyh0LHRoaXMpfX1XLnNlbGVjdD1mdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpPVtdO3Q9WCh0KTtmb3IodmFyIG89LTEscz10aGlzLmxlbmd0aDsrK288czspe2kucHVzaChlPVtdKSxlLnBhcmVudE5vZGU9KG49dGhpc1tvXSkucGFyZW50Tm9kZTtmb3IodmFyIGw9LTEsYz1uLmxlbmd0aDsrK2w8YzspKGE9bltsXSk/KGUucHVzaChyPXQuY2FsbChhLGEuX19kYXRhX18sbCxvKSksciYmIl9fZGF0YV9fImluIGEmJihyLl9fZGF0YV9fPWEuX19kYXRhX18pKTplLnB1c2gobnVsbCl9cmV0dXJuIHEoaSl9LFcuc2VsZWN0QWxsPWZ1bmN0aW9uKHQpe3ZhciBlLHIsYT1bXTt0PVoodCk7Zm9yKHZhciBpPS0xLG89dGhpcy5sZW5ndGg7KytpPG87KWZvcih2YXIgcz10aGlzW2ldLGw9LTEsYz1zLmxlbmd0aDsrK2w8YzspKHI9c1tsXSkmJihhLnB1c2goZT1uKHQuY2FsbChyLHIuX19kYXRhX18sbCxpKSkpLGUucGFyZW50Tm9kZT1yKTtyZXR1cm4gcShhKX07dmFyIEo9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLEs9e3N2ZzoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhodG1sOkoseGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLHhtbDoiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8ifTtmdW5jdGlvbiBRKGUscil7cmV0dXJuIGU9dC5ucy5xdWFsaWZ5KGUpLG51bGw9PXI/ZS5sb2NhbD9mdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlTlMoZS5zcGFjZSxlLmxvY2FsKX06ZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZShlKX06ImZ1bmN0aW9uIj09dHlwZW9mIHI/ZS5sb2NhbD9mdW5jdGlvbigpe3ZhciB0PXIuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PXQ/dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyhlLnNwYWNlLGUubG9jYWwpOnRoaXMuc2V0QXR0cmlidXRlTlMoZS5zcGFjZSxlLmxvY2FsLHQpfTpmdW5jdGlvbigpe3ZhciB0PXIuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PXQ/dGhpcy5yZW1vdmVBdHRyaWJ1dGUoZSk6dGhpcy5zZXRBdHRyaWJ1dGUoZSx0KX06ZS5sb2NhbD9mdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlTlMoZS5zcGFjZSxlLmxvY2FsLHIpfTpmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlKGUscil9fWZ1bmN0aW9uICQodCl7cmV0dXJuIHQudHJpbSgpLnJlcGxhY2UoL1xzKy9nLCIgIil9ZnVuY3Rpb24gdHQoZSl7cmV0dXJuIG5ldyBSZWdFeHAoIig/Ol58XFxzKykiK3QucmVxdW90ZShlKSsiKD86XFxzK3wkKSIsImciKX1mdW5jdGlvbiBldCh0KXtyZXR1cm4odCsiIikudHJpbSgpLnNwbGl0KC9efFxzKy8pfWZ1bmN0aW9uIHJ0KHQsZSl7dmFyIHI9KHQ9ZXQodCkubWFwKG50KSkubGVuZ3RoO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlP2Z1bmN0aW9uKCl7Zm9yKHZhciBuPS0xLGE9ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7KytuPHI7KXRbbl0odGhpcyxhKX06ZnVuY3Rpb24oKXtmb3IodmFyIG49LTE7KytuPHI7KXRbbl0odGhpcyxlKX19ZnVuY3Rpb24gbnQodCl7dmFyIGU9dHQodCk7cmV0dXJuIGZ1bmN0aW9uKHIsbil7aWYoYT1yLmNsYXNzTGlzdClyZXR1cm4gbj9hLmFkZCh0KTphLnJlbW92ZSh0KTt2YXIgYT1yLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiI7bj8oZS5sYXN0SW5kZXg9MCxlLnRlc3QoYSl8fHIuc2V0QXR0cmlidXRlKCJjbGFzcyIsJChhKyIgIit0KSkpOnIuc2V0QXR0cmlidXRlKCJjbGFzcyIsJChhLnJlcGxhY2UoZSwiICIpKSl9fWZ1bmN0aW9uIGF0KHQsZSxyKXtyZXR1cm4gbnVsbD09ZT9mdW5jdGlvbigpe3RoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9OiJmdW5jdGlvbiI9PXR5cGVvZiBlP2Z1bmN0aW9uKCl7dmFyIG49ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bnVsbD09bj90aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpOnRoaXMuc3R5bGUuc2V0UHJvcGVydHkodCxuLHIpfTpmdW5jdGlvbigpe3RoaXMuc3R5bGUuc2V0UHJvcGVydHkodCxlLHIpfX1mdW5jdGlvbiBpdCh0LGUpe3JldHVybiBudWxsPT1lP2Z1bmN0aW9uKCl7ZGVsZXRlIHRoaXNbdF19OiJmdW5jdGlvbiI9PXR5cGVvZiBlP2Z1bmN0aW9uKCl7dmFyIHI9ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bnVsbD09cj9kZWxldGUgdGhpc1t0XTp0aGlzW3RdPXJ9OmZ1bmN0aW9uKCl7dGhpc1t0XT1lfX1mdW5jdGlvbiBvdChlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT9lOihlPXQubnMucXVhbGlmeShlKSkubG9jYWw/ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhlLnNwYWNlLGUubG9jYWwpfTpmdW5jdGlvbigpe3ZhciB0PXRoaXMub3duZXJEb2N1bWVudCxyPXRoaXMubmFtZXNwYWNlVVJJO3JldHVybiByPT09SiYmdC5kb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJPT09Sj90LmNyZWF0ZUVsZW1lbnQoZSk6dC5jcmVhdGVFbGVtZW50TlMocixlKX19ZnVuY3Rpb24gc3QoKXt2YXIgdD10aGlzLnBhcmVudE5vZGU7dCYmdC5yZW1vdmVDaGlsZCh0aGlzKX1mdW5jdGlvbiBsdCh0KXtyZXR1cm57X19kYXRhX186dH19ZnVuY3Rpb24gY3QodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIFkodGhpcyx0KX19ZnVuY3Rpb24gdXQodCxlKXtmb3IodmFyIHI9MCxuPXQubGVuZ3RoO3I8bjtyKyspZm9yKHZhciBhLGk9dFtyXSxvPTAscz1pLmxlbmd0aDtvPHM7bysrKShhPWlbb10pJiZlKGEsbyxyKTtyZXR1cm4gdH1mdW5jdGlvbiBodCh0KXtyZXR1cm4gVSh0LGZ0KSx0fXQubnM9e3ByZWZpeDpLLHF1YWxpZnk6ZnVuY3Rpb24odCl7dmFyIGU9dC5pbmRleE9mKCI6Iikscj10O3JldHVybiBlPj0wJiYieG1sbnMiIT09KHI9dC5zbGljZSgwLGUpKSYmKHQ9dC5zbGljZShlKzEpKSxLLmhhc093blByb3BlcnR5KHIpP3tzcGFjZTpLW3JdLGxvY2FsOnR9OnR9fSxXLmF0dHI9ZnVuY3Rpb24oZSxyKXtpZihhcmd1bWVudHMubGVuZ3RoPDIpe2lmKCJzdHJpbmciPT10eXBlb2YgZSl7dmFyIG49dGhpcy5ub2RlKCk7cmV0dXJuKGU9dC5ucy5xdWFsaWZ5KGUpKS5sb2NhbD9uLmdldEF0dHJpYnV0ZU5TKGUuc3BhY2UsZS5sb2NhbCk6bi5nZXRBdHRyaWJ1dGUoZSl9Zm9yKHIgaW4gZSl0aGlzLmVhY2goUShyLGVbcl0pKTtyZXR1cm4gdGhpc31yZXR1cm4gdGhpcy5lYWNoKFEoZSxyKSl9LFcuY2xhc3NlZD1mdW5jdGlvbih0LGUpe2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil7aWYoInN0cmluZyI9PXR5cGVvZiB0KXt2YXIgcj10aGlzLm5vZGUoKSxuPSh0PWV0KHQpKS5sZW5ndGgsYT0tMTtpZihlPXIuY2xhc3NMaXN0KXtmb3IoOysrYTxuOylpZighZS5jb250YWlucyh0W2FdKSlyZXR1cm4hMX1lbHNlIGZvcihlPXIuZ2V0QXR0cmlidXRlKCJjbGFzcyIpOysrYTxuOylpZighdHQodFthXSkudGVzdChlKSlyZXR1cm4hMTtyZXR1cm4hMH1mb3IoZSBpbiB0KXRoaXMuZWFjaChydChlLHRbZV0pKTtyZXR1cm4gdGhpc31yZXR1cm4gdGhpcy5lYWNoKHJ0KHQsZSkpfSxXLnN0eWxlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoO2lmKG48Myl7aWYoInN0cmluZyIhPXR5cGVvZiB0KXtmb3IociBpbiBuPDImJihlPSIiKSx0KXRoaXMuZWFjaChhdChyLHRbcl0sZSkpO3JldHVybiB0aGlzfWlmKG48Mil7dmFyIGE9dGhpcy5ub2RlKCk7cmV0dXJuIG8oYSkuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpLmdldFByb3BlcnR5VmFsdWUodCl9cj0iIn1yZXR1cm4gdGhpcy5lYWNoKGF0KHQsZSxyKSl9LFcucHJvcGVydHk9ZnVuY3Rpb24odCxlKXtpZihhcmd1bWVudHMubGVuZ3RoPDIpe2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gdGhpcy5ub2RlKClbdF07Zm9yKGUgaW4gdCl0aGlzLmVhY2goaXQoZSx0W2VdKSk7cmV0dXJuIHRoaXN9cmV0dXJuIHRoaXMuZWFjaChpdCh0LGUpKX0sVy50ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCgiZnVuY3Rpb24iPT10eXBlb2YgdD9mdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMudGV4dENvbnRlbnQ9bnVsbD09ZT8iIjplfTpudWxsPT10P2Z1bmN0aW9uKCl7dGhpcy50ZXh0Q29udGVudD0iIn06ZnVuY3Rpb24oKXt0aGlzLnRleHRDb250ZW50PXR9KTp0aGlzLm5vZGUoKS50ZXh0Q29udGVudH0sVy5odG1sPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCgiZnVuY3Rpb24iPT10eXBlb2YgdD9mdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMuaW5uZXJIVE1MPW51bGw9PWU/IiI6ZX06bnVsbD09dD9mdW5jdGlvbigpe3RoaXMuaW5uZXJIVE1MPSIifTpmdW5jdGlvbigpe3RoaXMuaW5uZXJIVE1MPXR9KTp0aGlzLm5vZGUoKS5pbm5lckhUTUx9LFcuYXBwZW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0PW90KHQpLHRoaXMuc2VsZWN0KGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXBwZW5kQ2hpbGQodC5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSl9LFcuaW5zZXJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9b3QodCksZT1YKGUpLHRoaXMuc2VsZWN0KGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5zZXJ0QmVmb3JlKHQuYXBwbHkodGhpcyxhcmd1bWVudHMpLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfHxudWxsKX0pfSxXLnJlbW92ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goc3QpfSxXLmRhdGE9ZnVuY3Rpb24odCxlKXt2YXIgcixuLGE9LTEsaT10aGlzLmxlbmd0aDtpZighYXJndW1lbnRzLmxlbmd0aCl7Zm9yKHQ9bmV3IEFycmF5KGk9KHI9dGhpc1swXSkubGVuZ3RoKTsrK2E8aTspKG49clthXSkmJih0W2FdPW4uX19kYXRhX18pO3JldHVybiB0fWZ1bmN0aW9uIG8odCxyKXt2YXIgbixhLGksbz10Lmxlbmd0aCx1PXIubGVuZ3RoLGg9TWF0aC5taW4obyx1KSxmPW5ldyBBcnJheSh1KSxwPW5ldyBBcnJheSh1KSxkPW5ldyBBcnJheShvKTtpZihlKXt2YXIgZyx2PW5ldyBiLG09bmV3IEFycmF5KG8pO2ZvcihuPS0xOysrbjxvOykoYT10W25dKSYmKHYuaGFzKGc9ZS5jYWxsKGEsYS5fX2RhdGFfXyxuKSk/ZFtuXT1hOnYuc2V0KGcsYSksbVtuXT1nKTtmb3Iobj0tMTsrK248dTspKGE9di5nZXQoZz1lLmNhbGwocixpPXJbbl0sbikpKT8hMCE9PWEmJihmW25dPWEsYS5fX2RhdGFfXz1pKTpwW25dPWx0KGkpLHYuc2V0KGcsITApO2ZvcihuPS0xOysrbjxvOyluIGluIG0mJiEwIT09di5nZXQobVtuXSkmJihkW25dPXRbbl0pfWVsc2V7Zm9yKG49LTE7KytuPGg7KWE9dFtuXSxpPXJbbl0sYT8oYS5fX2RhdGFfXz1pLGZbbl09YSk6cFtuXT1sdChpKTtmb3IoO248dTsrK24pcFtuXT1sdChyW25dKTtmb3IoO248bzsrK24pZFtuXT10W25dfXAudXBkYXRlPWYscC5wYXJlbnROb2RlPWYucGFyZW50Tm9kZT1kLnBhcmVudE5vZGU9dC5wYXJlbnROb2RlLHMucHVzaChwKSxsLnB1c2goZiksYy5wdXNoKGQpfXZhciBzPWh0KFtdKSxsPXEoW10pLGM9cShbXSk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpZm9yKDsrK2E8aTspbyhyPXRoaXNbYV0sdC5jYWxsKHIsci5wYXJlbnROb2RlLl9fZGF0YV9fLGEpKTtlbHNlIGZvcig7KythPGk7KW8ocj10aGlzW2FdLHQpO3JldHVybiBsLmVudGVyPWZ1bmN0aW9uKCl7cmV0dXJuIHN9LGwuZXhpdD1mdW5jdGlvbigpe3JldHVybiBjfSxsfSxXLmRhdHVtPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMucHJvcGVydHkoIl9fZGF0YV9fIix0KTp0aGlzLnByb3BlcnR5KCJfX2RhdGFfXyIpfSxXLmZpbHRlcj1mdW5jdGlvbih0KXt2YXIgZSxyLG4sYT1bXTsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9Y3QodCkpO2Zvcih2YXIgaT0wLG89dGhpcy5sZW5ndGg7aTxvO2krKyl7YS5wdXNoKGU9W10pLGUucGFyZW50Tm9kZT0ocj10aGlzW2ldKS5wYXJlbnROb2RlO2Zvcih2YXIgcz0wLGw9ci5sZW5ndGg7czxsO3MrKykobj1yW3NdKSYmdC5jYWxsKG4sbi5fX2RhdGFfXyxzLGkpJiZlLnB1c2gobil9cmV0dXJuIHEoYSl9LFcub3JkZXI9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9LTEsZT10aGlzLmxlbmd0aDsrK3Q8ZTspZm9yKHZhciByLG49dGhpc1t0XSxhPW4ubGVuZ3RoLTEsaT1uW2FdOy0tYT49MDspKHI9blthXSkmJihpJiZpIT09ci5uZXh0U2libGluZyYmaS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGkpLGk9cik7cmV0dXJuIHRoaXN9LFcuc29ydD1mdW5jdGlvbih0KXt0PWZ1bmN0aW9uKHQpe2FyZ3VtZW50cy5sZW5ndGh8fCh0PWYpO3JldHVybiBmdW5jdGlvbihlLHIpe3JldHVybiBlJiZyP3QoZS5fX2RhdGFfXyxyLl9fZGF0YV9fKTohZS0hcn19LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtmb3IodmFyIGU9LTEscj10aGlzLmxlbmd0aDsrK2U8cjspdGhpc1tlXS5zb3J0KHQpO3JldHVybiB0aGlzLm9yZGVyKCl9LFcuZWFjaD1mdW5jdGlvbih0KXtyZXR1cm4gdXQodGhpcyxmdW5jdGlvbihlLHIsbil7dC5jYWxsKGUsZS5fX2RhdGFfXyxyLG4pfSl9LFcuY2FsbD1mdW5jdGlvbih0KXt2YXIgZT1uKGFyZ3VtZW50cyk7cmV0dXJuIHQuYXBwbHkoZVswXT10aGlzLGUpLHRoaXN9LFcuZW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5ub2RlKCl9LFcubm9kZT1mdW5jdGlvbigpe2Zvcih2YXIgdD0wLGU9dGhpcy5sZW5ndGg7dDxlO3QrKylmb3IodmFyIHI9dGhpc1t0XSxuPTAsYT1yLmxlbmd0aDtuPGE7bisrKXt2YXIgaT1yW25dO2lmKGkpcmV0dXJuIGl9cmV0dXJuIG51bGx9LFcuc2l6ZT1mdW5jdGlvbigpe3ZhciB0PTA7cmV0dXJuIHV0KHRoaXMsZnVuY3Rpb24oKXsrK3R9KSx0fTt2YXIgZnQ9W107ZnVuY3Rpb24gcHQoZSxyLGEpe3ZhciBpPSJfX29uIitlLG89ZS5pbmRleE9mKCIuIikscz1ndDtvPjAmJihlPWUuc2xpY2UoMCxvKSk7dmFyIGw9ZHQuZ2V0KGUpO2Z1bmN0aW9uIGMoKXt2YXIgdD10aGlzW2ldO3QmJih0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSx0LHQuJCksZGVsZXRlIHRoaXNbaV0pfXJldHVybiBsJiYoZT1sLHM9dnQpLG8/cj9mdW5jdGlvbigpe3ZhciB0PXMocixuKGFyZ3VtZW50cykpO2MuY2FsbCh0aGlzKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZSx0aGlzW2ldPXQsdC4kPWEpLHQuXz1yfTpjOnI/RDpmdW5jdGlvbigpe3ZhciByLG49bmV3IFJlZ0V4cCgiXl9fb24oW14uXSspIit0LnJlcXVvdGUoZSkrIiQiKTtmb3IodmFyIGEgaW4gdGhpcylpZihyPWEubWF0Y2gobikpe3ZhciBpPXRoaXNbYV07dGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKHJbMV0saSxpLiQpLGRlbGV0ZSB0aGlzW2FdfX19dC5zZWxlY3Rpb24uZW50ZXI9aHQsdC5zZWxlY3Rpb24uZW50ZXIucHJvdG90eXBlPWZ0LGZ0LmFwcGVuZD1XLmFwcGVuZCxmdC5lbXB0eT1XLmVtcHR5LGZ0Lm5vZGU9Vy5ub2RlLGZ0LmNhbGw9Vy5jYWxsLGZ0LnNpemU9Vy5zaXplLGZ0LnNlbGVjdD1mdW5jdGlvbih0KXtmb3IodmFyIGUscixuLGEsaSxvPVtdLHM9LTEsbD10aGlzLmxlbmd0aDsrK3M8bDspe249KGE9dGhpc1tzXSkudXBkYXRlLG8ucHVzaChlPVtdKSxlLnBhcmVudE5vZGU9YS5wYXJlbnROb2RlO2Zvcih2YXIgYz0tMSx1PWEubGVuZ3RoOysrYzx1OykoaT1hW2NdKT8oZS5wdXNoKG5bY109cj10LmNhbGwoYS5wYXJlbnROb2RlLGkuX19kYXRhX18sYyxzKSksci5fX2RhdGFfXz1pLl9fZGF0YV9fKTplLnB1c2gobnVsbCl9cmV0dXJuIHEobyl9LGZ0Lmluc2VydD1mdW5jdGlvbih0LGUpe3ZhciByLG4sYTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyJiYocj10aGlzLGU9ZnVuY3Rpb24odCxlLGkpe3ZhciBvLHM9cltpXS51cGRhdGUsbD1zLmxlbmd0aDtmb3IoaSE9YSYmKGE9aSxuPTApLGU+PW4mJihuPWUrMSk7IShvPXNbbl0pJiYrK248bDspO3JldHVybiBvfSksVy5pbnNlcnQuY2FsbCh0aGlzLHQsZSl9LHQuc2VsZWN0PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiJzdHJpbmciPT10eXBlb2YgdD8oZT1bSCh0LGEpXSkucGFyZW50Tm9kZT1hLmRvY3VtZW50RWxlbWVudDooZT1bdF0pLnBhcmVudE5vZGU9aSh0KSxxKFtlXSl9LHQuc2VsZWN0QWxsPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiJzdHJpbmciPT10eXBlb2YgdD8oZT1uKEcodCxhKSkpLnBhcmVudE5vZGU9YS5kb2N1bWVudEVsZW1lbnQ6KGU9bih0KSkucGFyZW50Tm9kZT1udWxsLHEoW2VdKX0sVy5vbj1mdW5jdGlvbih0LGUscil7dmFyIG49YXJndW1lbnRzLmxlbmd0aDtpZihuPDMpe2lmKCJzdHJpbmciIT10eXBlb2YgdCl7Zm9yKHIgaW4gbjwyJiYoZT0hMSksdCl0aGlzLmVhY2gocHQocix0W3JdLGUpKTtyZXR1cm4gdGhpc31pZihuPDIpcmV0dXJuKG49dGhpcy5ub2RlKClbIl9fb24iK3RdKSYmbi5fO3I9ITF9cmV0dXJuIHRoaXMuZWFjaChwdCh0LGUscikpfTt2YXIgZHQ9dC5tYXAoe21vdXNlZW50ZXI6Im1vdXNlb3ZlciIsbW91c2VsZWF2ZToibW91c2VvdXQifSk7ZnVuY3Rpb24gZ3QoZSxyKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGE9dC5ldmVudDt0LmV2ZW50PW4sclswXT10aGlzLl9fZGF0YV9fO3RyeXtlLmFwcGx5KHRoaXMscil9ZmluYWxseXt0LmV2ZW50PWF9fX1mdW5jdGlvbiB2dCh0LGUpe3ZhciByPWd0KHQsZSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPXQucmVsYXRlZFRhcmdldDtlJiYoZT09PXRoaXN8fDgmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzKSl8fHIuY2FsbCh0aGlzLHQpfX1hJiZkdC5mb3JFYWNoKGZ1bmN0aW9uKHQpeyJvbiIrdCBpbiBhJiZkdC5yZW1vdmUodCl9KTt2YXIgbXQseXQ9MDtmdW5jdGlvbiB4dChlKXt2YXIgcj0iLmRyYWdzdXBwcmVzcy0iKyArK3l0LG49ImNsaWNrIityLGE9dC5zZWxlY3QobyhlKSkub24oInRvdWNobW92ZSIrcixCKS5vbigiZHJhZ3N0YXJ0IityLEIpLm9uKCJzZWxlY3RzdGFydCIrcixCKTtpZihudWxsPT1tdCYmKG10PSEoIm9uc2VsZWN0c3RhcnQiaW4gZSkmJnooZS5zdHlsZSwidXNlclNlbGVjdCIpKSxtdCl7dmFyIHM9aShlKS5zdHlsZSxsPXNbbXRdO3NbbXRdPSJub25lIn1yZXR1cm4gZnVuY3Rpb24odCl7aWYoYS5vbihyLG51bGwpLG10JiYoc1ttdF09bCksdCl7dmFyIGU9ZnVuY3Rpb24oKXthLm9uKG4sbnVsbCl9O2Eub24obixmdW5jdGlvbigpe0IoKSxlKCl9LCEwKSxzZXRUaW1lb3V0KGUsMCl9fX10Lm1vdXNlPWZ1bmN0aW9uKHQpe3JldHVybiBfdCh0LE4oKSl9O3ZhciBidD10aGlzLm5hdmlnYXRvciYmL1dlYktpdC8udGVzdCh0aGlzLm5hdmlnYXRvci51c2VyQWdlbnQpPy0xOjA7ZnVuY3Rpb24gX3QoZSxyKXtyLmNoYW5nZWRUb3VjaGVzJiYocj1yLmNoYW5nZWRUb3VjaGVzWzBdKTt2YXIgbj1lLm93bmVyU1ZHRWxlbWVudHx8ZTtpZihuLmNyZWF0ZVNWR1BvaW50KXt2YXIgYT1uLmNyZWF0ZVNWR1BvaW50KCk7aWYoYnQ8MCl7dmFyIGk9byhlKTtpZihpLnNjcm9sbFh8fGkuc2Nyb2xsWSl7dmFyIHM9KG49dC5zZWxlY3QoImJvZHkiKS5hcHBlbmQoInN2ZyIpLnN0eWxlKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDowLGxlZnQ6MCxtYXJnaW46MCxwYWRkaW5nOjAsYm9yZGVyOiJub25lIn0sImltcG9ydGFudCIpKVswXVswXS5nZXRTY3JlZW5DVE0oKTtidD0hKHMuZnx8cy5lKSxuLnJlbW92ZSgpfX1yZXR1cm4gYnQ/KGEueD1yLnBhZ2VYLGEueT1yLnBhZ2VZKTooYS54PXIuY2xpZW50WCxhLnk9ci5jbGllbnRZKSxbKGE9YS5tYXRyaXhUcmFuc2Zvcm0oZS5nZXRTY3JlZW5DVE0oKS5pbnZlcnNlKCkpKS54LGEueV19dmFyIGw9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm5bci5jbGllbnRYLWwubGVmdC1lLmNsaWVudExlZnQsci5jbGllbnRZLWwudG9wLWUuY2xpZW50VG9wXX1mdW5jdGlvbiB3dCgpe3JldHVybiB0LmV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmlkZW50aWZpZXJ9dC50b3VjaD1mdW5jdGlvbih0LGUscil7aWYoYXJndW1lbnRzLmxlbmd0aDwzJiYocj1lLGU9TigpLmNoYW5nZWRUb3VjaGVzKSxlKWZvcih2YXIgbixhPTAsaT1lLmxlbmd0aDthPGk7KythKWlmKChuPWVbYV0pLmlkZW50aWZpZXI9PT1yKXJldHVybiBfdCh0LG4pfSx0LmJlaGF2aW9yLmRyYWc9ZnVuY3Rpb24oKXt2YXIgZT1qKGksImRyYWciLCJkcmFnc3RhcnQiLCJkcmFnZW5kIikscj1udWxsLG49cyhELHQubW91c2UsbywibW91c2Vtb3ZlIiwibW91c2V1cCIpLGE9cyh3dCx0LnRvdWNoLFAsInRvdWNobW92ZSIsInRvdWNoZW5kIik7ZnVuY3Rpb24gaSgpe3RoaXMub24oIm1vdXNlZG93bi5kcmFnIixuKS5vbigidG91Y2hzdGFydC5kcmFnIixhKX1mdW5jdGlvbiBzKG4sYSxpLG8scyl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGwsYz10LmV2ZW50LnRhcmdldC5jb3JyZXNwb25kaW5nRWxlbWVudHx8dC5ldmVudC50YXJnZXQsdT10aGlzLnBhcmVudE5vZGUsaD1lLm9mKHRoaXMsYXJndW1lbnRzKSxmPTAscD1uKCksZD0iLmRyYWciKyhudWxsPT1wPyIiOiItIitwKSxnPXQuc2VsZWN0KGkoYykpLm9uKG8rZCxmdW5jdGlvbigpe3ZhciB0LGUscj1hKHUscCk7aWYoIXIpcmV0dXJuO3Q9clswXS1tWzBdLGU9clsxXS1tWzFdLGZ8PXR8ZSxtPXIsaCh7dHlwZToiZHJhZyIseDpyWzBdK2xbMF0seTpyWzFdK2xbMV0sZHg6dCxkeTplfSl9KS5vbihzK2QsZnVuY3Rpb24oKXtpZighYSh1LHApKXJldHVybjtnLm9uKG8rZCxudWxsKS5vbihzK2QsbnVsbCksdihmKSxoKHt0eXBlOiJkcmFnZW5kIn0pfSksdj14dChjKSxtPWEodSxwKTtsPXI/WyhsPXIuYXBwbHkodGhpcyxhcmd1bWVudHMpKS54LW1bMF0sbC55LW1bMV1dOlswLDBdLGgoe3R5cGU6ImRyYWdzdGFydCJ9KX19cmV0dXJuIGkub3JpZ2luPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPXQsaSk6cn0sdC5yZWJpbmQoaSxlLCJvbiIpfSx0LnRvdWNoZXM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyJiYoZT1OKCkudG91Y2hlcyksZT9uKGUpLm1hcChmdW5jdGlvbihlKXt2YXIgcj1fdCh0LGUpO3JldHVybiByLmlkZW50aWZpZXI9ZS5pZGVudGlmaWVyLHJ9KTpbXX07dmFyIGt0PTFlLTYsVHQ9a3Qqa3QsTXQ9TWF0aC5QSSxBdD0yKk10LFN0PUF0LWt0LEV0PU10LzIsTHQ9TXQvMTgwLEN0PTE4MC9NdDtmdW5jdGlvbiBQdCh0KXtyZXR1cm4gdD4wPzE6dDwwPy0xOjB9ZnVuY3Rpb24gT3QodCxlLHIpe3JldHVybihlWzBdLXRbMF0pKihyWzFdLXRbMV0pLShlWzFdLXRbMV0pKihyWzBdLXRbMF0pfWZ1bmN0aW9uIHp0KHQpe3JldHVybiB0PjE/MDp0PC0xP010Ok1hdGguYWNvcyh0KX1mdW5jdGlvbiBJdCh0KXtyZXR1cm4gdD4xP0V0OnQ8LTE/LUV0Ok1hdGguYXNpbih0KX1mdW5jdGlvbiBEdCh0KXtyZXR1cm4oKHQ9TWF0aC5leHAodCkpKzEvdCkvMn1mdW5jdGlvbiBSdCh0KXtyZXR1cm4odD1NYXRoLnNpbih0LzIpKSp0fXZhciBGdD1NYXRoLlNRUlQyO3QuaW50ZXJwb2xhdGVab29tPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhPXRbMF0saT10WzFdLG89dFsyXSxzPWVbMF0sbD1lWzFdLGM9ZVsyXSx1PXMtYSxoPWwtaSxmPXUqdStoKmg7aWYoZjxUdCluPU1hdGgubG9nKGMvbykvRnQscj1mdW5jdGlvbih0KXtyZXR1cm5bYSt0KnUsaSt0KmgsbypNYXRoLmV4cChGdCp0Km4pXX07ZWxzZXt2YXIgcD1NYXRoLnNxcnQoZiksZD0oYypjLW8qbys0KmYpLygyKm8qMipwKSxnPShjKmMtbypvLTQqZikvKDIqYyoyKnApLHY9TWF0aC5sb2coTWF0aC5zcXJ0KGQqZCsxKS1kKSxtPU1hdGgubG9nKE1hdGguc3FydChnKmcrMSktZyk7bj0obS12KS9GdCxyPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dCpuLHM9RHQodiksbD1vLygyKnApKihzKihlPUZ0KnIrdiwoKGU9TWF0aC5leHAoMiplKSktMSkvKGUrMSkpLWZ1bmN0aW9uKHQpe3JldHVybigodD1NYXRoLmV4cCh0KSktMS90KS8yfSh2KSk7cmV0dXJuW2ErbCp1LGkrbCpoLG8qcy9EdChGdCpyK3YpXX19cmV0dXJuIHIuZHVyYXRpb249MWUzKm4scn0sdC5iZWhhdmlvci56b29tPWZ1bmN0aW9uKCl7dmFyIGUscixuLGkscyxsLGMsdSxoLGY9e3g6MCx5OjAsazoxfSxwPVs5NjAsNTAwXSxkPWp0LGc9MjUwLHY9MCxtPSJtb3VzZWRvd24uem9vbSIseT0ibW91c2Vtb3ZlLnpvb20iLHg9Im1vdXNldXAuem9vbSIsYj0idG91Y2hzdGFydC56b29tIixfPWoodywiem9vbXN0YXJ0Iiwiem9vbSIsInpvb21lbmQiKTtmdW5jdGlvbiB3KHQpe3Qub24obSxQKS5vbihOdCsiLnpvb20iLHopLm9uKCJkYmxjbGljay56b29tIixJKS5vbihiLE8pfWZ1bmN0aW9uIGsodCl7cmV0dXJuWyh0WzBdLWYueCkvZi5rLCh0WzFdLWYueSkvZi5rXX1mdW5jdGlvbiBUKHQpe2Yuaz1NYXRoLm1heChkWzBdLE1hdGgubWluKGRbMV0sdCkpfWZ1bmN0aW9uIE0odCxlKXtlPWZ1bmN0aW9uKHQpe3JldHVyblt0WzBdKmYuaytmLngsdFsxXSpmLmsrZi55XX0oZSksZi54Kz10WzBdLWVbMF0sZi55Kz10WzFdLWVbMV19ZnVuY3Rpb24gQShlLG4sYSxpKXtlLl9fY2hhcnRfXz17eDpmLngseTpmLnksazpmLmt9LFQoTWF0aC5wb3coMixpKSksTShyPW4sYSksZT10LnNlbGVjdChlKSxnPjAmJihlPWUudHJhbnNpdGlvbigpLmR1cmF0aW9uKGcpKSxlLmNhbGwody5ldmVudCl9ZnVuY3Rpb24gUygpe2MmJmMuZG9tYWluKGwucmFuZ2UoKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuKHQtZi54KS9mLmt9KS5tYXAobC5pbnZlcnQpKSxoJiZoLmRvbWFpbih1LnJhbmdlKCkubWFwKGZ1bmN0aW9uKHQpe3JldHVybih0LWYueSkvZi5rfSkubWFwKHUuaW52ZXJ0KSl9ZnVuY3Rpb24gRSh0KXt2Kyt8fHQoe3R5cGU6Inpvb21zdGFydCJ9KX1mdW5jdGlvbiBMKHQpe1MoKSx0KHt0eXBlOiJ6b29tIixzY2FsZTpmLmssdHJhbnNsYXRlOltmLngsZi55XX0pfWZ1bmN0aW9uIEModCl7LS12fHwodCh7dHlwZToiem9vbWVuZCJ9KSxyPW51bGwpfWZ1bmN0aW9uIFAoKXt2YXIgZT10aGlzLHI9Xy5vZihlLGFyZ3VtZW50cyksbj0wLGE9dC5zZWxlY3QobyhlKSkub24oeSxmdW5jdGlvbigpe249MSxNKHQubW91c2UoZSksaSksTChyKX0pLm9uKHgsZnVuY3Rpb24oKXthLm9uKHksbnVsbCkub24oeCxudWxsKSxzKG4pLEMocil9KSxpPWsodC5tb3VzZShlKSkscz14dChlKTtwcy5jYWxsKGUpLEUocil9ZnVuY3Rpb24gTygpe3ZhciBlLHI9dGhpcyxuPV8ub2Yocixhcmd1bWVudHMpLGE9e30saT0wLG89Ii56b29tLSIrdC5ldmVudC5jaGFuZ2VkVG91Y2hlc1swXS5pZGVudGlmaWVyLGw9InRvdWNobW92ZSIrbyxjPSJ0b3VjaGVuZCIrbyx1PVtdLGg9dC5zZWxlY3QocikscD14dChyKTtmdW5jdGlvbiBkKCl7dmFyIG49dC50b3VjaGVzKHIpO3JldHVybiBlPWYuayxuLmZvckVhY2goZnVuY3Rpb24odCl7dC5pZGVudGlmaWVyIGluIGEmJihhW3QuaWRlbnRpZmllcl09ayh0KSl9KSxufWZ1bmN0aW9uIGcoKXt2YXIgZT10LmV2ZW50LnRhcmdldDt0LnNlbGVjdChlKS5vbihsLHYpLm9uKGMseSksdS5wdXNoKGUpO2Zvcih2YXIgbj10LmV2ZW50LmNoYW5nZWRUb3VjaGVzLG89MCxoPW4ubGVuZ3RoO288aDsrK28pYVtuW29dLmlkZW50aWZpZXJdPW51bGw7dmFyIHA9ZCgpLGc9RGF0ZS5ub3coKTtpZigxPT09cC5sZW5ndGgpe2lmKGctczw1MDApe3ZhciBtPXBbMF07QShyLG0sYVttLmlkZW50aWZpZXJdLE1hdGguZmxvb3IoTWF0aC5sb2coZi5rKS9NYXRoLkxOMikrMSksQigpfXM9Z31lbHNlIGlmKHAubGVuZ3RoPjEpe209cFswXTt2YXIgeD1wWzFdLGI9bVswXS14WzBdLF89bVsxXS14WzFdO2k9YipiK18qX319ZnVuY3Rpb24gdigpe3ZhciBvLGwsYyx1LGg9dC50b3VjaGVzKHIpO3BzLmNhbGwocik7Zm9yKHZhciBmPTAscD1oLmxlbmd0aDtmPHA7KytmLHU9bnVsbClpZihjPWhbZl0sdT1hW2MuaWRlbnRpZmllcl0pe2lmKGwpYnJlYWs7bz1jLGw9dX1pZih1KXt2YXIgZD0oZD1jWzBdLW9bMF0pKmQrKGQ9Y1sxXS1vWzFdKSpkLGc9aSYmTWF0aC5zcXJ0KGQvaSk7bz1bKG9bMF0rY1swXSkvMiwob1sxXStjWzFdKS8yXSxsPVsobFswXSt1WzBdKS8yLChsWzFdK3VbMV0pLzJdLFQoZyplKX1zPW51bGwsTShvLGwpLEwobil9ZnVuY3Rpb24geSgpe2lmKHQuZXZlbnQudG91Y2hlcy5sZW5ndGgpe2Zvcih2YXIgZT10LmV2ZW50LmNoYW5nZWRUb3VjaGVzLHI9MCxpPWUubGVuZ3RoO3I8aTsrK3IpZGVsZXRlIGFbZVtyXS5pZGVudGlmaWVyXTtmb3IodmFyIHMgaW4gYSlyZXR1cm4gdm9pZCBkKCl9dC5zZWxlY3RBbGwodSkub24obyxudWxsKSxoLm9uKG0sUCkub24oYixPKSxwKCksQyhuKX1nKCksRShuKSxoLm9uKG0sbnVsbCkub24oYixnKX1mdW5jdGlvbiB6KCl7dmFyIGE9Xy5vZih0aGlzLGFyZ3VtZW50cyk7aT9jbGVhclRpbWVvdXQoaSk6KHBzLmNhbGwodGhpcyksZT1rKHI9bnx8dC5tb3VzZSh0aGlzKSksRShhKSksaT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aT1udWxsLEMoYSl9LDUwKSxCKCksVChNYXRoLnBvdygyLC4wMDIqQnQoKSkqZi5rKSxNKHIsZSksTChhKX1mdW5jdGlvbiBJKCl7dmFyIGU9dC5tb3VzZSh0aGlzKSxyPU1hdGgubG9nKGYuaykvTWF0aC5MTjI7QSh0aGlzLGUsayhlKSx0LmV2ZW50LnNoaWZ0S2V5P01hdGguY2VpbChyKS0xOk1hdGguZmxvb3IocikrMSl9cmV0dXJuIE50fHwoTnQ9Im9ud2hlZWwiaW4gYT8oQnQ9ZnVuY3Rpb24oKXtyZXR1cm4tdC5ldmVudC5kZWx0YVkqKHQuZXZlbnQuZGVsdGFNb2RlPzEyMDoxKX0sIndoZWVsIik6Im9ubW91c2V3aGVlbCJpbiBhPyhCdD1mdW5jdGlvbigpe3JldHVybiB0LmV2ZW50LndoZWVsRGVsdGF9LCJtb3VzZXdoZWVsIik6KEJ0PWZ1bmN0aW9uKCl7cmV0dXJuLXQuZXZlbnQuZGV0YWlsfSwiTW96TW91c2VQaXhlbFNjcm9sbCIpKSx3LmV2ZW50PWZ1bmN0aW9uKGUpe2UuZWFjaChmdW5jdGlvbigpe3ZhciBlPV8ub2YodGhpcyxhcmd1bWVudHMpLG49Zjt2cz90LnNlbGVjdCh0aGlzKS50cmFuc2l0aW9uKCkuZWFjaCgic3RhcnQuem9vbSIsZnVuY3Rpb24oKXtmPXRoaXMuX19jaGFydF9ffHx7eDowLHk6MCxrOjF9LEUoZSl9KS50d2Vlbigiem9vbTp6b29tIixmdW5jdGlvbigpe3ZhciBhPXBbMF0saT1wWzFdLG89cj9yWzBdOmEvMixzPXI/clsxXTppLzIsbD10LmludGVycG9sYXRlWm9vbShbKG8tZi54KS9mLmssKHMtZi55KS9mLmssYS9mLmtdLFsoby1uLngpL24uaywocy1uLnkpL24uayxhL24ua10pO3JldHVybiBmdW5jdGlvbih0KXt2YXIgcj1sKHQpLG49YS9yWzJdO3RoaXMuX19jaGFydF9fPWY9e3g6by1yWzBdKm4seTpzLXJbMV0qbixrOm59LEwoZSl9fSkuZWFjaCgiaW50ZXJydXB0Lnpvb20iLGZ1bmN0aW9uKCl7QyhlKX0pLmVhY2goImVuZC56b29tIixmdW5jdGlvbigpe0MoZSl9KToodGhpcy5fX2NoYXJ0X189ZixFKGUpLEwoZSksQyhlKSl9KX0sdy50cmFuc2xhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGY9e3g6K3RbMF0seTordFsxXSxrOmYua30sUygpLHcpOltmLngsZi55XX0sdy5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZj17eDpmLngseTpmLnksazpudWxsfSxUKCt0KSxTKCksdyk6Zi5rfSx3LnNjYWxlRXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhkPW51bGw9PXQ/anQ6Wyt0WzBdLCt0WzFdXSx3KTpkfSx3LmNlbnRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10JiZbK3RbMF0sK3RbMV1dLHcpOm59LHcuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocD10JiZbK3RbMF0sK3RbMV1dLHcpOnB9LHcuZHVyYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGc9K3Qsdyk6Z30sdy54PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPXQsbD10LmNvcHkoKSxmPXt4OjAseTowLGs6MX0sdyk6Y30sdy55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhoPXQsdT10LmNvcHkoKSxmPXt4OjAseTowLGs6MX0sdyk6aH0sdC5yZWJpbmQodyxfLCJvbiIpfTt2YXIgQnQsTnQsanQ9WzAsMS8wXTtmdW5jdGlvbiBWdCgpe31mdW5jdGlvbiBVdCh0LGUscil7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBVdD8odGhpcy5oPSt0LHRoaXMucz0rZSx2b2lkKHRoaXMubD0rcikpOmFyZ3VtZW50cy5sZW5ndGg8Mj90IGluc3RhbmNlb2YgVXQ/bmV3IFV0KHQuaCx0LnMsdC5sKTp1ZSgiIit0LGhlLFV0KTpuZXcgVXQodCxlLHIpfXQuY29sb3I9VnQsVnQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmdiKCkrIiJ9LHQuaHNsPVV0O3ZhciBxdD1VdC5wcm90b3R5cGU9bmV3IFZ0O2Z1bmN0aW9uIEh0KHQsZSxyKXt2YXIgbixhO2Z1bmN0aW9uIGkodCl7cmV0dXJuIE1hdGgucm91bmQoMjU1KmZ1bmN0aW9uKHQpe3JldHVybiB0PjM2MD90LT0zNjA6dDwwJiYodCs9MzYwKSx0PDYwP24rKGEtbikqdC82MDp0PDE4MD9hOnQ8MjQwP24rKGEtbikqKDI0MC10KS82MDpufSh0KSl9cmV0dXJuIHQ9aXNOYU4odCk/MDoodCU9MzYwKTwwP3QrMzYwOnQsZT1pc05hTihlKT8wOmU8MD8wOmU+MT8xOmUsbj0yKihyPXI8MD8wOnI+MT8xOnIpLShhPXI8PS41P3IqKDErZSk6citlLXIqZSksbmV3IGllKGkodCsxMjApLGkodCksaSh0LTEyMCkpfWZ1bmN0aW9uIEd0KGUscixuKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIEd0Pyh0aGlzLmg9K2UsdGhpcy5jPStyLHZvaWQodGhpcy5sPStuKSk6YXJndW1lbnRzLmxlbmd0aDwyP2UgaW5zdGFuY2VvZiBHdD9uZXcgR3QoZS5oLGUuYyxlLmwpOmVlKGUgaW5zdGFuY2VvZiBYdD9lLmw6KGU9ZmUoKGU9dC5yZ2IoZSkpLnIsZS5nLGUuYikpLmwsZS5hLGUuYik6bmV3IEd0KGUscixuKX1xdC5icmlnaHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gdD1NYXRoLnBvdyguNyxhcmd1bWVudHMubGVuZ3RoP3Q6MSksbmV3IFV0KHRoaXMuaCx0aGlzLnMsdGhpcy5sL3QpfSxxdC5kYXJrZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9TWF0aC5wb3coLjcsYXJndW1lbnRzLmxlbmd0aD90OjEpLG5ldyBVdCh0aGlzLmgsdGhpcy5zLHQqdGhpcy5sKX0scXQucmdiPWZ1bmN0aW9uKCl7cmV0dXJuIEh0KHRoaXMuaCx0aGlzLnMsdGhpcy5sKX0sdC5oY2w9R3Q7dmFyIFl0PUd0LnByb3RvdHlwZT1uZXcgVnQ7ZnVuY3Rpb24gV3QodCxlLHIpe3JldHVybiBpc05hTih0KSYmKHQ9MCksaXNOYU4oZSkmJihlPTApLG5ldyBYdChyLE1hdGguY29zKHQqPUx0KSplLE1hdGguc2luKHQpKmUpfWZ1bmN0aW9uIFh0KHQsZSxyKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIFh0Pyh0aGlzLmw9K3QsdGhpcy5hPStlLHZvaWQodGhpcy5iPStyKSk6YXJndW1lbnRzLmxlbmd0aDwyP3QgaW5zdGFuY2VvZiBYdD9uZXcgWHQodC5sLHQuYSx0LmIpOnQgaW5zdGFuY2VvZiBHdD9XdCh0LmgsdC5jLHQubCk6ZmUoKHQ9aWUodCkpLnIsdC5nLHQuYik6bmV3IFh0KHQsZSxyKX1ZdC5icmlnaHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IEd0KHRoaXMuaCx0aGlzLmMsTWF0aC5taW4oMTAwLHRoaXMubCtadCooYXJndW1lbnRzLmxlbmd0aD90OjEpKSl9LFl0LmRhcmtlcj1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IEd0KHRoaXMuaCx0aGlzLmMsTWF0aC5tYXgoMCx0aGlzLmwtWnQqKGFyZ3VtZW50cy5sZW5ndGg/dDoxKSkpfSxZdC5yZ2I9ZnVuY3Rpb24oKXtyZXR1cm4gV3QodGhpcy5oLHRoaXMuYyx0aGlzLmwpLnJnYigpfSx0LmxhYj1YdDt2YXIgWnQ9MTgsSnQ9Ljk1MDQ3LEt0PTEsUXQ9MS4wODg4MywkdD1YdC5wcm90b3R5cGU9bmV3IFZ0O2Z1bmN0aW9uIHRlKHQsZSxyKXt2YXIgbj0odCsxNikvMTE2LGE9bitlLzUwMCxpPW4tci8yMDA7cmV0dXJuIG5ldyBpZShhZSgzLjI0MDQ1NDIqKGE9cmUoYSkqSnQpLTEuNTM3MTM4NSoobj1yZShuKSpLdCktLjQ5ODUzMTQqKGk9cmUoaSkqUXQpKSxhZSgtLjk2OTI2NiphKzEuODc2MDEwOCpuKy4wNDE1NTYqaSksYWUoLjA1NTY0MzQqYS0uMjA0MDI1OSpuKzEuMDU3MjI1MippKSl9ZnVuY3Rpb24gZWUodCxlLHIpe3JldHVybiB0PjA/bmV3IEd0KE1hdGguYXRhbjIocixlKSpDdCxNYXRoLnNxcnQoZSplK3IqciksdCk6bmV3IEd0KE5hTixOYU4sdCl9ZnVuY3Rpb24gcmUodCl7cmV0dXJuIHQ+LjIwNjg5MzAzND90KnQqdDoodC00LzI5KS83Ljc4NzAzN31mdW5jdGlvbiBuZSh0KXtyZXR1cm4gdD4uMDA4ODU2P01hdGgucG93KHQsMS8zKTo3Ljc4NzAzNyp0KzQvMjl9ZnVuY3Rpb24gYWUodCl7cmV0dXJuIE1hdGgucm91bmQoMjU1Kih0PD0uMDAzMDQ/MTIuOTIqdDoxLjA1NSpNYXRoLnBvdyh0LDEvMi40KS0uMDU1KSl9ZnVuY3Rpb24gaWUodCxlLHIpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgaWU/KHRoaXMucj1+fnQsdGhpcy5nPX5+ZSx2b2lkKHRoaXMuYj1+fnIpKTphcmd1bWVudHMubGVuZ3RoPDI/dCBpbnN0YW5jZW9mIGllP25ldyBpZSh0LnIsdC5nLHQuYik6dWUoIiIrdCxpZSxIdCk6bmV3IGllKHQsZSxyKX1mdW5jdGlvbiBvZSh0KXtyZXR1cm4gbmV3IGllKHQ+PjE2LHQ+PjgmMjU1LDI1NSZ0KX1mdW5jdGlvbiBzZSh0KXtyZXR1cm4gb2UodCkrIiJ9JHQuYnJpZ2h0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBYdChNYXRoLm1pbigxMDAsdGhpcy5sK1p0Kihhcmd1bWVudHMubGVuZ3RoP3Q6MSkpLHRoaXMuYSx0aGlzLmIpfSwkdC5kYXJrZXI9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBYdChNYXRoLm1heCgwLHRoaXMubC1adCooYXJndW1lbnRzLmxlbmd0aD90OjEpKSx0aGlzLmEsdGhpcy5iKX0sJHQucmdiPWZ1bmN0aW9uKCl7cmV0dXJuIHRlKHRoaXMubCx0aGlzLmEsdGhpcy5iKX0sdC5yZ2I9aWU7dmFyIGxlPWllLnByb3RvdHlwZT1uZXcgVnQ7ZnVuY3Rpb24gY2UodCl7cmV0dXJuIHQ8MTY/IjAiK01hdGgubWF4KDAsdCkudG9TdHJpbmcoMTYpOk1hdGgubWluKDI1NSx0KS50b1N0cmluZygxNil9ZnVuY3Rpb24gdWUodCxlLHIpe3ZhciBuLGEsaSxvPTAscz0wLGw9MDtpZihuPS8oW2Etel0rKVwoKC4qKVwpLy5leGVjKHQ9dC50b0xvd2VyQ2FzZSgpKSlzd2l0Y2goYT1uWzJdLnNwbGl0KCIsIiksblsxXSl7Y2FzZSJoc2wiOnJldHVybiByKHBhcnNlRmxvYXQoYVswXSkscGFyc2VGbG9hdChhWzFdKS8xMDAscGFyc2VGbG9hdChhWzJdKS8xMDApO2Nhc2UicmdiIjpyZXR1cm4gZShkZShhWzBdKSxkZShhWzFdKSxkZShhWzJdKSl9cmV0dXJuKGk9Z2UuZ2V0KHQpKT9lKGkucixpLmcsaS5iKToobnVsbD09dHx8IiMiIT09dC5jaGFyQXQoMCl8fGlzTmFOKGk9cGFyc2VJbnQodC5zbGljZSgxKSwxNikpfHwoND09PXQubGVuZ3RoPyhvPSgzODQwJmkpPj40LG98PW8+PjQscz0yNDAmaSxzfD1zPj40LGw9MTUmaSxsfD1sPDw0KTo3PT09dC5sZW5ndGgmJihvPSgxNjcxMTY4MCZpKT4+MTYscz0oNjUyODAmaSk+PjgsbD0yNTUmaSkpLGUobyxzLGwpKX1mdW5jdGlvbiBoZSh0LGUscil7dmFyIG4sYSxpPU1hdGgubWluKHQvPTI1NSxlLz0yNTUsci89MjU1KSxvPU1hdGgubWF4KHQsZSxyKSxzPW8taSxsPShvK2kpLzI7cmV0dXJuIHM/KGE9bDwuNT9zLyhvK2kpOnMvKDItby1pKSxuPXQ9PW8/KGUtcikvcysoZTxyPzY6MCk6ZT09bz8oci10KS9zKzI6KHQtZSkvcys0LG4qPTYwKToobj1OYU4sYT1sPjAmJmw8MT8wOm4pLG5ldyBVdChuLGEsbCl9ZnVuY3Rpb24gZmUodCxlLHIpe3ZhciBuPW5lKCguNDEyNDU2NCoodD1wZSh0KSkrLjM1NzU3NjEqKGU9cGUoZSkpKy4xODA0Mzc1KihyPXBlKHIpKSkvSnQpLGE9bmUoKC4yMTI2NzI5KnQrLjcxNTE1MjIqZSsuMDcyMTc1KnIpL0t0KTtyZXR1cm4gWHQoMTE2KmEtMTYsNTAwKihuLWEpLDIwMCooYS1uZSgoLjAxOTMzMzkqdCsuMTE5MTkyKmUrLjk1MDMwNDEqcikvUXQpKSl9ZnVuY3Rpb24gcGUodCl7cmV0dXJuKHQvPTI1NSk8PS4wNDA0NT90LzEyLjkyOk1hdGgucG93KCh0Ky4wNTUpLzEuMDU1LDIuNCl9ZnVuY3Rpb24gZGUodCl7dmFyIGU9cGFyc2VGbG9hdCh0KTtyZXR1cm4iJSI9PT10LmNoYXJBdCh0Lmxlbmd0aC0xKT9NYXRoLnJvdW5kKDIuNTUqZSk6ZX1sZS5icmlnaHRlcj1mdW5jdGlvbih0KXt0PU1hdGgucG93KC43LGFyZ3VtZW50cy5sZW5ndGg/dDoxKTt2YXIgZT10aGlzLnIscj10aGlzLmcsbj10aGlzLmIsYT0zMDtyZXR1cm4gZXx8cnx8bj8oZSYmZTxhJiYoZT1hKSxyJiZyPGEmJihyPWEpLG4mJm48YSYmKG49YSksbmV3IGllKE1hdGgubWluKDI1NSxlL3QpLE1hdGgubWluKDI1NSxyL3QpLE1hdGgubWluKDI1NSxuL3QpKSk6bmV3IGllKGEsYSxhKX0sbGUuZGFya2VyPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgaWUoKHQ9TWF0aC5wb3coLjcsYXJndW1lbnRzLmxlbmd0aD90OjEpKSp0aGlzLnIsdCp0aGlzLmcsdCp0aGlzLmIpfSxsZS5oc2w9ZnVuY3Rpb24oKXtyZXR1cm4gaGUodGhpcy5yLHRoaXMuZyx0aGlzLmIpfSxsZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIjIitjZSh0aGlzLnIpK2NlKHRoaXMuZykrY2UodGhpcy5iKX07dmFyIGdlPXQubWFwKHthbGljZWJsdWU6MTU3OTIzODMsYW50aXF1ZXdoaXRlOjE2NDQ0Mzc1LGFxdWE6NjU1MzUsYXF1YW1hcmluZTo4Mzg4NTY0LGF6dXJlOjE1Nzk0MTc1LGJlaWdlOjE2MTE5MjYwLGJpc3F1ZToxNjc3MDI0NCxibGFjazowLGJsYW5jaGVkYWxtb25kOjE2NzcyMDQ1LGJsdWU6MjU1LGJsdWV2aW9sZXQ6OTA1NTIwMixicm93bjoxMDgyNDIzNCxidXJseXdvb2Q6MTQ1OTYyMzEsY2FkZXRibHVlOjYyNjY1MjgsY2hhcnRyZXVzZTo4Mzg4MzUyLGNob2NvbGF0ZToxMzc4OTQ3MCxjb3JhbDoxNjc0NDI3Mixjb3JuZmxvd2VyYmx1ZTo2NTkxOTgxLGNvcm5zaWxrOjE2Nzc1Mzg4LGNyaW1zb246MTQ0MjMxMDAsY3lhbjo2NTUzNSxkYXJrYmx1ZToxMzksZGFya2N5YW46MzU3MjMsZGFya2dvbGRlbnJvZDoxMjA5MjkzOSxkYXJrZ3JheToxMTExOTAxNyxkYXJrZ3JlZW46MjU2MDAsZGFya2dyZXk6MTExMTkwMTcsZGFya2toYWtpOjEyNDMzMjU5LGRhcmttYWdlbnRhOjkxMDk2NDMsZGFya29saXZlZ3JlZW46NTU5Nzk5OSxkYXJrb3JhbmdlOjE2NzQ3NTIwLGRhcmtvcmNoaWQ6MTAwNDAwMTIsZGFya3JlZDo5MTA5NTA0LGRhcmtzYWxtb246MTUzMDg0MTAsZGFya3NlYWdyZWVuOjk0MTk5MTksZGFya3NsYXRlYmx1ZTo0NzM0MzQ3LGRhcmtzbGF0ZWdyYXk6MzEwMDQ5NSxkYXJrc2xhdGVncmV5OjMxMDA0OTUsZGFya3R1cnF1b2lzZTo1Mjk0NSxkYXJrdmlvbGV0Ojk2OTk1MzksZGVlcHBpbms6MTY3MTY5NDcsZGVlcHNreWJsdWU6NDkxNTEsZGltZ3JheTo2OTA4MjY1LGRpbWdyZXk6NjkwODI2NSxkb2RnZXJibHVlOjIwMDMxOTksZmlyZWJyaWNrOjExNjc0MTQ2LGZsb3JhbHdoaXRlOjE2Nzc1OTIwLGZvcmVzdGdyZWVuOjIyNjM4NDIsZnVjaHNpYToxNjcxMTkzNSxnYWluc2Jvcm86MTQ0NzQ0NjAsZ2hvc3R3aGl0ZToxNjMxNjY3MSxnb2xkOjE2NzY2NzIwLGdvbGRlbnJvZDoxNDMyOTEyMCxncmF5Ojg0MjE1MDQsZ3JlZW46MzI3NjgsZ3JlZW55ZWxsb3c6MTE0MDMwNTUsZ3JleTo4NDIxNTA0LGhvbmV5ZGV3OjE1Nzk0MTYwLGhvdHBpbms6MTY3Mzg3NDAsaW5kaWFucmVkOjEzNDU4NTI0LGluZGlnbzo0OTE1MzMwLGl2b3J5OjE2Nzc3MjAwLGtoYWtpOjE1Nzg3NjYwLGxhdmVuZGVyOjE1MTMyNDEwLGxhdmVuZGVyYmx1c2g6MTY3NzMzNjUsbGF3bmdyZWVuOjgxOTA5NzYsbGVtb25jaGlmZm9uOjE2Nzc1ODg1LGxpZ2h0Ymx1ZToxMTM5MzI1NCxsaWdodGNvcmFsOjE1NzYxNTM2LGxpZ2h0Y3lhbjoxNDc0NTU5OSxsaWdodGdvbGRlbnJvZHllbGxvdzoxNjQ0ODIxMCxsaWdodGdyYXk6MTM4ODIzMjMsbGlnaHRncmVlbjo5NDk4MjU2LGxpZ2h0Z3JleToxMzg4MjMyMyxsaWdodHBpbms6MTY3NTg0NjUsbGlnaHRzYWxtb246MTY3NTI3NjIsbGlnaHRzZWFncmVlbjoyMTQyODkwLGxpZ2h0c2t5Ymx1ZTo4OTAwMzQ2LGxpZ2h0c2xhdGVncmF5Ojc4MzM3NTMsbGlnaHRzbGF0ZWdyZXk6NzgzMzc1MyxsaWdodHN0ZWVsYmx1ZToxMTU4NDczNCxsaWdodHllbGxvdzoxNjc3NzE4NCxsaW1lOjY1MjgwLGxpbWVncmVlbjozMzI5MzMwLGxpbmVuOjE2NDQ1NjcwLG1hZ2VudGE6MTY3MTE5MzUsbWFyb29uOjgzODg2MDgsbWVkaXVtYXF1YW1hcmluZTo2NzM3MzIyLG1lZGl1bWJsdWU6MjA1LG1lZGl1bW9yY2hpZDoxMjIxMTY2NyxtZWRpdW1wdXJwbGU6OTY2MjY4MyxtZWRpdW1zZWFncmVlbjozOTc4MDk3LG1lZGl1bXNsYXRlYmx1ZTo4MDg3NzkwLG1lZGl1bXNwcmluZ2dyZWVuOjY0MTU0LG1lZGl1bXR1cnF1b2lzZTo0NzcyMzAwLG1lZGl1bXZpb2xldHJlZDoxMzA0NzE3MyxtaWRuaWdodGJsdWU6MTY0NDkxMixtaW50Y3JlYW06MTYxMjE4NTAsbWlzdHlyb3NlOjE2NzcwMjczLG1vY2Nhc2luOjE2NzcwMjI5LG5hdmFqb3doaXRlOjE2NzY4Njg1LG5hdnk6MTI4LG9sZGxhY2U6MTY2NDM1NTgsb2xpdmU6ODQyMTM3NixvbGl2ZWRyYWI6NzA0ODczOSxvcmFuZ2U6MTY3NTM5MjAsb3JhbmdlcmVkOjE2NzI5MzQ0LG9yY2hpZDoxNDMxNTczNCxwYWxlZ29sZGVucm9kOjE1NjU3MTMwLHBhbGVncmVlbjoxMDAyNTg4MCxwYWxldHVycXVvaXNlOjExNTI5OTY2LHBhbGV2aW9sZXRyZWQ6MTQzODEyMDMscGFwYXlhd2hpcDoxNjc3MzA3NyxwZWFjaHB1ZmY6MTY3Njc2NzMscGVydToxMzQ2ODk5MSxwaW5rOjE2NzYxMDM1LHBsdW06MTQ1MjQ2MzcscG93ZGVyYmx1ZToxMTU5MTkxMCxwdXJwbGU6ODM4ODczNixyZWJlY2NhcHVycGxlOjY2OTc4ODEscmVkOjE2NzExNjgwLHJvc3licm93bjoxMjM1NzUxOSxyb3lhbGJsdWU6NDI4Njk0NSxzYWRkbGVicm93bjo5MTI3MTg3LHNhbG1vbjoxNjQxNjg4MixzYW5keWJyb3duOjE2MDMyODY0LHNlYWdyZWVuOjMwNTAzMjcsc2Vhc2hlbGw6MTY3NzQ2Mzgsc2llbm5hOjEwNTA2Nzk3LHNpbHZlcjoxMjYzMjI1Nixza3libHVlOjg5MDAzMzEsc2xhdGVibHVlOjY5NzAwNjEsc2xhdGVncmF5OjczNzI5NDQsc2xhdGVncmV5OjczNzI5NDQsc25vdzoxNjc3NTkzMCxzcHJpbmdncmVlbjo2NTQwNyxzdGVlbGJsdWU6NDYyMDk4MCx0YW46MTM4MDg3ODAsdGVhbDozMjg5Nix0aGlzdGxlOjE0MjA0ODg4LHRvbWF0bzoxNjczNzA5NSx0dXJxdW9pc2U6NDI1MTg1Nix2aW9sZXQ6MTU2MzEwODYsd2hlYXQ6MTYxMTMzMzEsd2hpdGU6MTY3NzcyMTUsd2hpdGVzbW9rZToxNjExOTI4NSx5ZWxsb3c6MTY3NzY5NjAseWVsbG93Z3JlZW46MTAxNDUwNzR9KTtmdW5jdGlvbiB2ZSh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90OmZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIG1lKHQpe3JldHVybiBmdW5jdGlvbihlLHIsbil7cmV0dXJuIDI9PT1hcmd1bWVudHMubGVuZ3RoJiYiZnVuY3Rpb24iPT10eXBlb2YgciYmKG49cixyPW51bGwpLHllKGUscix0LG4pfX1mdW5jdGlvbiB5ZShlLHIsYSxpKXt2YXIgbz17fSxzPXQuZGlzcGF0Y2goImJlZm9yZXNlbmQiLCJwcm9ncmVzcyIsImxvYWQiLCJlcnJvciIpLGw9e30sYz1uZXcgWE1MSHR0cFJlcXVlc3QsdT1udWxsO2Z1bmN0aW9uIGgoKXt2YXIgdCxlPWMuc3RhdHVzO2lmKCFlJiZmdW5jdGlvbih0KXt2YXIgZT10LnJlc3BvbnNlVHlwZTtyZXR1cm4gZSYmInRleHQiIT09ZT90LnJlc3BvbnNlOnQucmVzcG9uc2VUZXh0fShjKXx8ZT49MjAwJiZlPDMwMHx8MzA0PT09ZSl7dHJ5e3Q9YS5jYWxsKG8sYyl9Y2F0Y2godCl7cmV0dXJuIHZvaWQgcy5lcnJvci5jYWxsKG8sdCl9cy5sb2FkLmNhbGwobyx0KX1lbHNlIHMuZXJyb3IuY2FsbChvLGMpfXJldHVybiF0aGlzLlhEb21haW5SZXF1ZXN0fHwid2l0aENyZWRlbnRpYWxzImluIGN8fCEvXihodHRwKHMpPzopP1wvXC8vLnRlc3QoZSl8fChjPW5ldyBYRG9tYWluUmVxdWVzdCksIm9ubG9hZCJpbiBjP2Mub25sb2FkPWMub25lcnJvcj1oOmMub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7Yy5yZWFkeVN0YXRlPjMmJmgoKX0sYy5vbnByb2dyZXNzPWZ1bmN0aW9uKGUpe3ZhciByPXQuZXZlbnQ7dC5ldmVudD1lO3RyeXtzLnByb2dyZXNzLmNhbGwobyxjKX1maW5hbGx5e3QuZXZlbnQ9cn19LG8uaGVhZGVyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9KHQrIiIpLnRvTG93ZXJDYXNlKCksYXJndW1lbnRzLmxlbmd0aDwyP2xbdF06KG51bGw9PWU/ZGVsZXRlIGxbdF06bFt0XT1lKyIiLG8pfSxvLm1pbWVUeXBlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPW51bGw9PXQ/bnVsbDp0KyIiLG8pOnJ9LG8ucmVzcG9uc2VUeXBlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PXQsbyk6dX0sby5yZXNwb25zZT1mdW5jdGlvbih0KXtyZXR1cm4gYT10LG99LFsiZ2V0IiwicG9zdCJdLmZvckVhY2goZnVuY3Rpb24odCl7b1t0XT1mdW5jdGlvbigpe3JldHVybiBvLnNlbmQuYXBwbHkobyxbdF0uY29uY2F0KG4oYXJndW1lbnRzKSkpfX0pLG8uc2VuZD1mdW5jdGlvbih0LG4sYSl7aWYoMj09PWFyZ3VtZW50cy5sZW5ndGgmJiJmdW5jdGlvbiI9PXR5cGVvZiBuJiYoYT1uLG49bnVsbCksYy5vcGVuKHQsZSwhMCksbnVsbD09cnx8ImFjY2VwdCJpbiBsfHwobC5hY2NlcHQ9cisiLCovKiIpLGMuc2V0UmVxdWVzdEhlYWRlcilmb3IodmFyIGkgaW4gbCljLnNldFJlcXVlc3RIZWFkZXIoaSxsW2ldKTtyZXR1cm4gbnVsbCE9ciYmYy5vdmVycmlkZU1pbWVUeXBlJiZjLm92ZXJyaWRlTWltZVR5cGUociksbnVsbCE9dSYmKGMucmVzcG9uc2VUeXBlPXUpLG51bGwhPWEmJm8ub24oImVycm9yIixhKS5vbigibG9hZCIsZnVuY3Rpb24odCl7YShudWxsLHQpfSkscy5iZWZvcmVzZW5kLmNhbGwobyxjKSxjLnNlbmQobnVsbD09bj9udWxsOm4pLG99LG8uYWJvcnQ9ZnVuY3Rpb24oKXtyZXR1cm4gYy5hYm9ydCgpLG99LHQucmViaW5kKG8scywib24iKSxudWxsPT1pP286by5nZXQoZnVuY3Rpb24odCl7cmV0dXJuIDE9PT10Lmxlbmd0aD9mdW5jdGlvbihlLHIpe3QobnVsbD09ZT9yOm51bGwpfTp0fShpKSl9Z2UuZm9yRWFjaChmdW5jdGlvbih0LGUpe2dlLnNldCh0LG9lKGUpKX0pLHQuZnVuY3Rvcj12ZSx0Lnhocj1tZShQKSx0LmRzdj1mdW5jdGlvbih0LGUpe3ZhciByPW5ldyBSZWdFeHAoJ1siJyt0KyJcbl0iKSxuPXQuY2hhckNvZGVBdCgwKTtmdW5jdGlvbiBhKHQscixuKXthcmd1bWVudHMubGVuZ3RoPDMmJihuPXIscj1udWxsKTt2YXIgYT15ZSh0LGUsbnVsbD09cj9pOm8ociksbik7cmV0dXJuIGEucm93PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP2EucmVzcG9uc2UobnVsbD09KHI9dCk/aTpvKHQpKTpyfSxhfWZ1bmN0aW9uIGkodCl7cmV0dXJuIGEucGFyc2UodC5yZXNwb25zZVRleHQpfWZ1bmN0aW9uIG8odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBhLnBhcnNlKGUucmVzcG9uc2VUZXh0LHQpfX1mdW5jdGlvbiBzKGUpe3JldHVybiBlLm1hcChsKS5qb2luKHQpfWZ1bmN0aW9uIGwodCl7cmV0dXJuIHIudGVzdCh0KT8nIicrdC5yZXBsYWNlKC9cIi9nLCciIicpKyciJzp0fXJldHVybiBhLnBhcnNlPWZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIGEucGFyc2VSb3dzKHQsZnVuY3Rpb24odCxuKXtpZihyKXJldHVybiByKHQsbi0xKTt2YXIgYT1uZXcgRnVuY3Rpb24oImQiLCJyZXR1cm4geyIrdC5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCkrIjogZFsiK2UrIl0ifSkuam9pbigiLCIpKyJ9Iik7cj1lP2Z1bmN0aW9uKHQscil7cmV0dXJuIGUoYSh0KSxyKX06YX0pfSxhLnBhcnNlUm93cz1mdW5jdGlvbih0LGUpe3ZhciByLGEsaT17fSxvPXt9LHM9W10sbD10Lmxlbmd0aCxjPTAsdT0wO2Z1bmN0aW9uIGgoKXtpZihjPj1sKXJldHVybiBvO2lmKGEpcmV0dXJuIGE9ITEsaTt2YXIgZT1jO2lmKDM0PT09dC5jaGFyQ29kZUF0KGUpKXtmb3IodmFyIHI9ZTtyKys8bDspaWYoMzQ9PT10LmNoYXJDb2RlQXQocikpe2lmKDM0IT09dC5jaGFyQ29kZUF0KHIrMSkpYnJlYWs7KytyfXJldHVybiBjPXIrMiwxMz09PShzPXQuY2hhckNvZGVBdChyKzEpKT8oYT0hMCwxMD09PXQuY2hhckNvZGVBdChyKzIpJiYrK2MpOjEwPT09cyYmKGE9ITApLHQuc2xpY2UoZSsxLHIpLnJlcGxhY2UoLyIiL2csJyInKX1mb3IoO2M8bDspe3ZhciBzLHU9MTtpZigxMD09PShzPXQuY2hhckNvZGVBdChjKyspKSlhPSEwO2Vsc2UgaWYoMTM9PT1zKWE9ITAsMTA9PT10LmNoYXJDb2RlQXQoYykmJigrK2MsKyt1KTtlbHNlIGlmKHMhPT1uKWNvbnRpbnVlO3JldHVybiB0LnNsaWNlKGUsYy11KX1yZXR1cm4gdC5zbGljZShlKX1mb3IoOyhyPWgoKSkhPT1vOyl7Zm9yKHZhciBmPVtdO3IhPT1pJiZyIT09bzspZi5wdXNoKHIpLHI9aCgpO2UmJm51bGw9PShmPWUoZix1KyspKXx8cy5wdXNoKGYpfXJldHVybiBzfSxhLmZvcm1hdD1mdW5jdGlvbihlKXtpZihBcnJheS5pc0FycmF5KGVbMF0pKXJldHVybiBhLmZvcm1hdFJvd3MoZSk7dmFyIHI9bmV3IEMsbj1bXTtyZXR1cm4gZS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0KXIuaGFzKGUpfHxuLnB1c2goci5hZGQoZSkpfSksW24ubWFwKGwpLmpvaW4odCldLmNvbmNhdChlLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gbi5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIGwoZVt0XSl9KS5qb2luKHQpfSkpLmpvaW4oIlxuIil9LGEuZm9ybWF0Um93cz1mdW5jdGlvbih0KXtyZXR1cm4gdC5tYXAocykuam9pbigiXG4iKX0sYX0sdC5jc3Y9dC5kc3YoIiwiLCJ0ZXh0L2NzdiIpLHQudHN2PXQuZHN2KCJcdCIsInRleHQvdGFiLXNlcGFyYXRlZC12YWx1ZXMiKTt2YXIgeGUsYmUsX2Usd2Usa2U9dGhpc1t6KHRoaXMsInJlcXVlc3RBbmltYXRpb25GcmFtZSIpXXx8ZnVuY3Rpb24odCl7c2V0VGltZW91dCh0LDE3KX07ZnVuY3Rpb24gVGUodCxlLHIpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg7bjwyJiYoZT0wKSxuPDMmJihyPURhdGUubm93KCkpO3ZhciBhPXtjOnQsdDpyK2UsbjpudWxsfTtyZXR1cm4gYmU/YmUubj1hOnhlPWEsYmU9YSxfZXx8KHdlPWNsZWFyVGltZW91dCh3ZSksX2U9MSxrZShNZSkpLGF9ZnVuY3Rpb24gTWUoKXt2YXIgdD1BZSgpLGU9U2UoKS10O2U+MjQ/KGlzRmluaXRlKGUpJiYoY2xlYXJUaW1lb3V0KHdlKSx3ZT1zZXRUaW1lb3V0KE1lLGUpKSxfZT0wKTooX2U9MSxrZShNZSkpfWZ1bmN0aW9uIEFlKCl7Zm9yKHZhciB0PURhdGUubm93KCksZT14ZTtlOyl0Pj1lLnQmJmUuYyh0LWUudCkmJihlLmM9bnVsbCksZT1lLm47cmV0dXJuIHR9ZnVuY3Rpb24gU2UoKXtmb3IodmFyIHQsZT14ZSxyPTEvMDtlOyllLmM/KGUudDxyJiYocj1lLnQpLGU9KHQ9ZSkubik6ZT10P3Qubj1lLm46eGU9ZS5uO3JldHVybiBiZT10LHJ9ZnVuY3Rpb24gRWUodCxlKXtyZXR1cm4gZS0odD9NYXRoLmNlaWwoTWF0aC5sb2codCkvTWF0aC5MTjEwKToxKX10LnRpbWVyPWZ1bmN0aW9uKCl7VGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfSx0LnRpbWVyLmZsdXNoPWZ1bmN0aW9uKCl7QWUoKSxTZSgpfSx0LnJvdW5kPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU/TWF0aC5yb3VuZCh0KihlPU1hdGgucG93KDEwLGUpKSkvZTpNYXRoLnJvdW5kKHQpfTt2YXIgTGU9WyJ5IiwieiIsImEiLCJmIiwicCIsIm4iLCJceGI1IiwibSIsIiIsImsiLCJNIiwiRyIsIlQiLCJQIiwiRSIsIloiLCJZIl0ubWFwKGZ1bmN0aW9uKHQsZSl7dmFyIHI9TWF0aC5wb3coMTAsMyp5KDgtZSkpO3JldHVybntzY2FsZTplPjg/ZnVuY3Rpb24odCl7cmV0dXJuIHQvcn06ZnVuY3Rpb24odCl7cmV0dXJuIHQqcn0sc3ltYm9sOnR9fSk7ZnVuY3Rpb24gQ2UoZSl7dmFyIHI9ZS5kZWNpbWFsLG49ZS50aG91c2FuZHMsYT1lLmdyb3VwaW5nLGk9ZS5jdXJyZW5jeSxvPWEmJm4/ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5sZW5ndGgsaT1bXSxvPTAscz1hWzBdLGw9MDtyPjAmJnM+MCYmKGwrcysxPmUmJihzPU1hdGgubWF4KDEsZS1sKSksaS5wdXNoKHQuc3Vic3RyaW5nKHItPXMscitzKSksISgobCs9cysxKT5lKSk7KXM9YVtvPShvKzEpJWEubGVuZ3RoXTtyZXR1cm4gaS5yZXZlcnNlKCkuam9pbihuKX06UDtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG49UGUuZXhlYyhlKSxhPW5bMV18fCIgIixzPW5bMl18fCI+IixsPW5bM118fCItIixjPW5bNF18fCIiLHU9bls1XSxoPStuWzZdLGY9bls3XSxwPW5bOF0sZD1uWzldLGc9MSx2PSIiLG09IiIseT0hMSx4PSEwO3N3aXRjaChwJiYocD0rcC5zdWJzdHJpbmcoMSkpLCh1fHwiMCI9PT1hJiYiPSI9PT1zKSYmKHU9YT0iMCIscz0iPSIpLGQpe2Nhc2UibiI6Zj0hMCxkPSJnIjticmVhaztjYXNlIiUiOmc9MTAwLG09IiUiLGQ9ImYiO2JyZWFrO2Nhc2UicCI6Zz0xMDAsbT0iJSIsZD0iciI7YnJlYWs7Y2FzZSJiIjpjYXNlIm8iOmNhc2UieCI6Y2FzZSJYIjoiIyI9PT1jJiYodj0iMCIrZC50b0xvd2VyQ2FzZSgpKTtjYXNlImMiOng9ITE7Y2FzZSJkIjp5PSEwLHA9MDticmVhaztjYXNlInMiOmc9LTEsZD0iciJ9IiQiPT09YyYmKHY9aVswXSxtPWlbMV0pLCJyIiE9ZHx8cHx8KGQ9ImciKSxudWxsIT1wJiYoImciPT1kP3A9TWF0aC5tYXgoMSxNYXRoLm1pbigyMSxwKSk6ImUiIT1kJiYiZiIhPWR8fChwPU1hdGgubWF4KDAsTWF0aC5taW4oMjAscCkpKSksZD1PZS5nZXQoZCl8fHplO3ZhciBiPXUmJmY7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPW07aWYoeSYmZSUxKXJldHVybiIiO3ZhciBpPWU8MHx8MD09PWUmJjEvZTwwPyhlPS1lLCItIik6Ii0iPT09bD8iIjpsO2lmKGc8MCl7dmFyIGM9dC5mb3JtYXRQcmVmaXgoZSxwKTtlPWMuc2NhbGUoZSksbj1jLnN5bWJvbCttfWVsc2UgZSo9Zzt2YXIgXyx3LGs9KGU9ZChlLHApKS5sYXN0SW5kZXhPZigiLiIpO2lmKGs8MCl7dmFyIFQ9eD9lLmxhc3RJbmRleE9mKCJlIik6LTE7VDwwPyhfPWUsdz0iIik6KF89ZS5zdWJzdHJpbmcoMCxUKSx3PWUuc3Vic3RyaW5nKFQpKX1lbHNlIF89ZS5zdWJzdHJpbmcoMCxrKSx3PXIrZS5zdWJzdHJpbmcoaysxKTshdSYmZiYmKF89byhfLDEvMCkpO3ZhciBNPXYubGVuZ3RoK18ubGVuZ3RoK3cubGVuZ3RoKyhiPzA6aS5sZW5ndGgpLEE9TTxoP25ldyBBcnJheShNPWgtTSsxKS5qb2luKGEpOiIiO3JldHVybiBiJiYoXz1vKEErXyxBLmxlbmd0aD9oLXcubGVuZ3RoOjEvMCkpLGkrPXYsZT1fK3csKCI8Ij09PXM/aStlK0E6Ij4iPT09cz9BK2krZToiXiI9PT1zP0Euc3Vic3RyaW5nKDAsTT4+PTEpK2krZStBLnN1YnN0cmluZyhNKTppKyhiP2U6QStlKSkrbn19fXQuZm9ybWF0UHJlZml4PWZ1bmN0aW9uKGUscil7dmFyIG49MDtyZXR1cm4oZT0rZSkmJihlPDAmJihlKj0tMSksciYmKGU9dC5yb3VuZChlLEVlKGUscikpKSxuPTErTWF0aC5mbG9vcigxZS0xMitNYXRoLmxvZyhlKS9NYXRoLkxOMTApLG49TWF0aC5tYXgoLTI0LE1hdGgubWluKDI0LDMqTWF0aC5mbG9vcigobi0xKS8zKSkpKSxMZVs4K24vM119O3ZhciBQZT0vKD86KFtee10pPyhbPD49Xl0pKT8oWytcLSBdKT8oWyQjXSk/KDApPyhcZCspPygsKT8oXC4tP1xkKyk/KFthLXolXSk/L2ksT2U9dC5tYXAoe2I6ZnVuY3Rpb24odCl7cmV0dXJuIHQudG9TdHJpbmcoMil9LGM6ZnVuY3Rpb24odCl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUodCl9LG86ZnVuY3Rpb24odCl7cmV0dXJuIHQudG9TdHJpbmcoOCl9LHg6ZnVuY3Rpb24odCl7cmV0dXJuIHQudG9TdHJpbmcoMTYpfSxYOmZ1bmN0aW9uKHQpe3JldHVybiB0LnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpfSxnOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQudG9QcmVjaXNpb24oZSl9LGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC50b0V4cG9uZW50aWFsKGUpfSxmOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQudG9GaXhlZChlKX0scjpmdW5jdGlvbihlLHIpe3JldHVybihlPXQucm91bmQoZSxFZShlLHIpKSkudG9GaXhlZChNYXRoLm1heCgwLE1hdGgubWluKDIwLEVlKGUqKDErMWUtMTUpLHIpKSkpfX0pO2Z1bmN0aW9uIHplKHQpe3JldHVybiB0KyIifXZhciBJZT10LnRpbWU9e30sRGU9RGF0ZTtmdW5jdGlvbiBSZSgpe3RoaXMuXz1uZXcgRGF0ZShhcmd1bWVudHMubGVuZ3RoPjE/RGF0ZS5VVEMuYXBwbHkodGhpcyxhcmd1bWVudHMpOmFyZ3VtZW50c1swXSl9UmUucHJvdG90eXBlPXtnZXREYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuXy5nZXRVVENEYXRlKCl9LGdldERheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl8uZ2V0VVRDRGF5KCl9LGdldEZ1bGxZZWFyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuXy5nZXRVVENGdWxsWWVhcigpfSxnZXRIb3VyczpmdW5jdGlvbigpe3JldHVybiB0aGlzLl8uZ2V0VVRDSG91cnMoKX0sZ2V0TWlsbGlzZWNvbmRzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuXy5nZXRVVENNaWxsaXNlY29uZHMoKX0sZ2V0TWludXRlczpmdW5jdGlvbigpe3JldHVybiB0aGlzLl8uZ2V0VVRDTWludXRlcygpfSxnZXRNb250aDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl8uZ2V0VVRDTW9udGgoKX0sZ2V0U2Vjb25kczpmdW5jdGlvbigpe3JldHVybiB0aGlzLl8uZ2V0VVRDU2Vjb25kcygpfSxnZXRUaW1lOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuXy5nZXRUaW1lKCl9LGdldFRpbWV6b25lT2Zmc2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDB9LHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fLnZhbHVlT2YoKX0sc2V0RGF0ZTpmdW5jdGlvbigpe0ZlLnNldFVUQ0RhdGUuYXBwbHkodGhpcy5fLGFyZ3VtZW50cyl9LHNldERheTpmdW5jdGlvbigpe0ZlLnNldFVUQ0RheS5hcHBseSh0aGlzLl8sYXJndW1lbnRzKX0sc2V0RnVsbFllYXI6ZnVuY3Rpb24oKXtGZS5zZXRVVENGdWxsWWVhci5hcHBseSh0aGlzLl8sYXJndW1lbnRzKX0sc2V0SG91cnM6ZnVuY3Rpb24oKXtGZS5zZXRVVENIb3Vycy5hcHBseSh0aGlzLl8sYXJndW1lbnRzKX0sc2V0TWlsbGlzZWNvbmRzOmZ1bmN0aW9uKCl7RmUuc2V0VVRDTWlsbGlzZWNvbmRzLmFwcGx5KHRoaXMuXyxhcmd1bWVudHMpfSxzZXRNaW51dGVzOmZ1bmN0aW9uKCl7RmUuc2V0VVRDTWludXRlcy5hcHBseSh0aGlzLl8sYXJndW1lbnRzKX0sc2V0TW9udGg6ZnVuY3Rpb24oKXtGZS5zZXRVVENNb250aC5hcHBseSh0aGlzLl8sYXJndW1lbnRzKX0sc2V0U2Vjb25kczpmdW5jdGlvbigpe0ZlLnNldFVUQ1NlY29uZHMuYXBwbHkodGhpcy5fLGFyZ3VtZW50cyl9LHNldFRpbWU6ZnVuY3Rpb24oKXtGZS5zZXRUaW1lLmFwcGx5KHRoaXMuXyxhcmd1bWVudHMpfX07dmFyIEZlPURhdGUucHJvdG90eXBlO2Z1bmN0aW9uIEJlKHQsZSxyKXtmdW5jdGlvbiBuKGUpe3ZhciByPXQoZSksbj1pKHIsMSk7cmV0dXJuIGUtcjxuLWU/cjpufWZ1bmN0aW9uIGEocil7cmV0dXJuIGUocj10KG5ldyBEZShyLTEpKSwxKSxyfWZ1bmN0aW9uIGkodCxyKXtyZXR1cm4gZSh0PW5ldyBEZSgrdCksciksdH1mdW5jdGlvbiBvKHQsbixpKXt2YXIgbz1hKHQpLHM9W107aWYoaT4xKWZvcig7bzxuOylyKG8pJWl8fHMucHVzaChuZXcgRGF0ZSgrbykpLGUobywxKTtlbHNlIGZvcig7bzxuOylzLnB1c2gobmV3IERhdGUoK28pKSxlKG8sMSk7cmV0dXJuIHN9dC5mbG9vcj10LHQucm91bmQ9bix0LmNlaWw9YSx0Lm9mZnNldD1pLHQucmFuZ2U9bzt2YXIgcz10LnV0Yz1OZSh0KTtyZXR1cm4gcy5mbG9vcj1zLHMucm91bmQ9TmUobikscy5jZWlsPU5lKGEpLHMub2Zmc2V0PU5lKGkpLHMucmFuZ2U9ZnVuY3Rpb24odCxlLHIpe3RyeXtEZT1SZTt2YXIgbj1uZXcgUmU7cmV0dXJuIG4uXz10LG8obixlLHIpfWZpbmFsbHl7RGU9RGF0ZX19LHR9ZnVuY3Rpb24gTmUodCl7cmV0dXJuIGZ1bmN0aW9uKGUscil7dHJ5e0RlPVJlO3ZhciBuPW5ldyBSZTtyZXR1cm4gbi5fPWUsdChuLHIpLl99ZmluYWxseXtEZT1EYXRlfX19ZnVuY3Rpb24gamUoZSl7dmFyIHI9ZS5kYXRlVGltZSxuPWUuZGF0ZSxhPWUudGltZSxpPWUucGVyaW9kcyxvPWUuZGF5cyxzPWUuc2hvcnREYXlzLGw9ZS5tb250aHMsYz1lLnNob3J0TW9udGhzO2Z1bmN0aW9uIHUodCl7dmFyIGU9dC5sZW5ndGg7ZnVuY3Rpb24gcihyKXtmb3IodmFyIG4sYSxpLG89W10scz0tMSxsPTA7KytzPGU7KTM3PT09dC5jaGFyQ29kZUF0KHMpJiYoby5wdXNoKHQuc2xpY2UobCxzKSksbnVsbCE9KGE9VmVbbj10LmNoYXJBdCgrK3MpXSkmJihuPXQuY2hhckF0KCsrcykpLChpPV9bbl0pJiYobj1pKHIsbnVsbD09YT8iZSI9PT1uPyIgIjoiMCI6YSkpLG8ucHVzaChuKSxsPXMrMSk7cmV0dXJuIG8ucHVzaCh0LnNsaWNlKGwscykpLG8uam9pbigiIil9cmV0dXJuIHIucGFyc2U9ZnVuY3Rpb24oZSl7dmFyIHI9e3k6MTkwMCxtOjAsZDoxLEg6MCxNOjAsUzowLEw6MCxaOm51bGx9O2lmKGgocix0LGUsMCkhPWUubGVuZ3RoKXJldHVybiBudWxsOyJwImluIHImJihyLkg9ci5IJTEyKzEyKnIucCk7dmFyIG49bnVsbCE9ci5aJiZEZSE9PVJlLGE9bmV3KG4/UmU6RGUpO3JldHVybiJqImluIHI/YS5zZXRGdWxsWWVhcihyLnksMCxyLmopOiJXImluIHJ8fCJVImluIHI/KCJ3ImluIHJ8fChyLnc9IlciaW4gcj8xOjApLGEuc2V0RnVsbFllYXIoci55LDAsMSksYS5zZXRGdWxsWWVhcihyLnksMCwiVyJpbiByPyhyLncrNiklNys3KnIuVy0oYS5nZXREYXkoKSs1KSU3OnIudys3KnIuVS0oYS5nZXREYXkoKSs2KSU3KSk6YS5zZXRGdWxsWWVhcihyLnksci5tLHIuZCksYS5zZXRIb3VycyhyLkgrKHIuWi8xMDB8MCksci5NK3IuWiUxMDAsci5TLHIuTCksbj9hLl86YX0sci50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0fSxyfWZ1bmN0aW9uIGgodCxlLHIsbil7Zm9yKHZhciBhLGksbyxzPTAsbD1lLmxlbmd0aCxjPXIubGVuZ3RoO3M8bDspe2lmKG4+PWMpcmV0dXJuLTE7aWYoMzc9PT0oYT1lLmNoYXJDb2RlQXQocysrKSkpe2lmKG89ZS5jaGFyQXQocysrKSwhKGk9d1tvIGluIFZlP2UuY2hhckF0KHMrKyk6b10pfHwobj1pKHQscixuKSk8MClyZXR1cm4tMX1lbHNlIGlmKGEhPXIuY2hhckNvZGVBdChuKyspKXJldHVybi0xfXJldHVybiBufXUudXRjPWZ1bmN0aW9uKHQpe3ZhciBlPXUodCk7ZnVuY3Rpb24gcih0KXt0cnl7dmFyIHI9bmV3KERlPVJlKTtyZXR1cm4gci5fPXQsZShyKX1maW5hbGx5e0RlPURhdGV9fXJldHVybiByLnBhcnNlPWZ1bmN0aW9uKHQpe3RyeXtEZT1SZTt2YXIgcj1lLnBhcnNlKHQpO3JldHVybiByJiZyLl99ZmluYWxseXtEZT1EYXRlfX0sci50b1N0cmluZz1lLnRvU3RyaW5nLHJ9LHUubXVsdGk9dS51dGMubXVsdGk9bHI7dmFyIGY9dC5tYXAoKSxwPUdlKG8pLGQ9WWUobyksZz1HZShzKSx2PVllKHMpLG09R2UobCkseT1ZZShsKSx4PUdlKGMpLGI9WWUoYyk7aS5mb3JFYWNoKGZ1bmN0aW9uKHQsZSl7Zi5zZXQodC50b0xvd2VyQ2FzZSgpLGUpfSk7dmFyIF89e2E6ZnVuY3Rpb24odCl7cmV0dXJuIHNbdC5nZXREYXkoKV19LEE6ZnVuY3Rpb24odCl7cmV0dXJuIG9bdC5nZXREYXkoKV19LGI6ZnVuY3Rpb24odCl7cmV0dXJuIGNbdC5nZXRNb250aCgpXX0sQjpmdW5jdGlvbih0KXtyZXR1cm4gbFt0LmdldE1vbnRoKCldfSxjOnUociksZDpmdW5jdGlvbih0LGUpe3JldHVybiBIZSh0LmdldERhdGUoKSxlLDIpfSxlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIEhlKHQuZ2V0RGF0ZSgpLGUsMil9LEg6ZnVuY3Rpb24odCxlKXtyZXR1cm4gSGUodC5nZXRIb3VycygpLGUsMil9LEk6ZnVuY3Rpb24odCxlKXtyZXR1cm4gSGUodC5nZXRIb3VycygpJTEyfHwxMixlLDIpfSxqOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIEhlKDErSWUuZGF5T2ZZZWFyKHQpLGUsMyl9LEw6ZnVuY3Rpb24odCxlKXtyZXR1cm4gSGUodC5nZXRNaWxsaXNlY29uZHMoKSxlLDMpfSxtOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIEhlKHQuZ2V0TW9udGgoKSsxLGUsMil9LE06ZnVuY3Rpb24odCxlKXtyZXR1cm4gSGUodC5nZXRNaW51dGVzKCksZSwyKX0scDpmdW5jdGlvbih0KXtyZXR1cm4gaVsrKHQuZ2V0SG91cnMoKT49MTIpXX0sUzpmdW5jdGlvbih0LGUpe3JldHVybiBIZSh0LmdldFNlY29uZHMoKSxlLDIpfSxVOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIEhlKEllLnN1bmRheU9mWWVhcih0KSxlLDIpfSx3OmZ1bmN0aW9uKHQpe3JldHVybiB0LmdldERheSgpfSxXOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIEhlKEllLm1vbmRheU9mWWVhcih0KSxlLDIpfSx4OnUobiksWDp1KGEpLHk6ZnVuY3Rpb24odCxlKXtyZXR1cm4gSGUodC5nZXRGdWxsWWVhcigpJTEwMCxlLDIpfSxZOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIEhlKHQuZ2V0RnVsbFllYXIoKSUxZTQsZSw0KX0sWjpvciwiJSI6ZnVuY3Rpb24oKXtyZXR1cm4iJSJ9fSx3PXthOmZ1bmN0aW9uKHQsZSxyKXtnLmxhc3RJbmRleD0wO3ZhciBuPWcuZXhlYyhlLnNsaWNlKHIpKTtyZXR1cm4gbj8odC53PXYuZ2V0KG5bMF0udG9Mb3dlckNhc2UoKSkscituWzBdLmxlbmd0aCk6LTF9LEE6ZnVuY3Rpb24odCxlLHIpe3AubGFzdEluZGV4PTA7dmFyIG49cC5leGVjKGUuc2xpY2UocikpO3JldHVybiBuPyh0Lnc9ZC5nZXQoblswXS50b0xvd2VyQ2FzZSgpKSxyK25bMF0ubGVuZ3RoKTotMX0sYjpmdW5jdGlvbih0LGUscil7eC5sYXN0SW5kZXg9MDt2YXIgbj14LmV4ZWMoZS5zbGljZShyKSk7cmV0dXJuIG4/KHQubT1iLmdldChuWzBdLnRvTG93ZXJDYXNlKCkpLHIrblswXS5sZW5ndGgpOi0xfSxCOmZ1bmN0aW9uKHQsZSxyKXttLmxhc3RJbmRleD0wO3ZhciBuPW0uZXhlYyhlLnNsaWNlKHIpKTtyZXR1cm4gbj8odC5tPXkuZ2V0KG5bMF0udG9Mb3dlckNhc2UoKSkscituWzBdLmxlbmd0aCk6LTF9LGM6ZnVuY3Rpb24odCxlLHIpe3JldHVybiBoKHQsXy5jLnRvU3RyaW5nKCksZSxyKX0sZDp0cixlOnRyLEg6cnIsSTpycixqOmVyLEw6aXIsbTokZSxNOm5yLHA6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPWYuZ2V0KGUuc2xpY2UocixyKz0yKS50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gbnVsbD09bj8tMToodC5wPW4scil9LFM6YXIsVTpYZSx3OldlLFc6WmUseDpmdW5jdGlvbih0LGUscil7cmV0dXJuIGgodCxfLngudG9TdHJpbmcoKSxlLHIpfSxYOmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gaCh0LF8uWC50b1N0cmluZygpLGUscil9LHk6S2UsWTpKZSxaOlFlLCIlIjpzcn07cmV0dXJuIHV9SWUueWVhcj1CZShmdW5jdGlvbih0KXtyZXR1cm4odD1JZS5kYXkodCkpLnNldE1vbnRoKDAsMSksdH0sZnVuY3Rpb24odCxlKXt0LnNldEZ1bGxZZWFyKHQuZ2V0RnVsbFllYXIoKStlKX0sZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0RnVsbFllYXIoKX0pLEllLnllYXJzPUllLnllYXIucmFuZ2UsSWUueWVhcnMudXRjPUllLnllYXIudXRjLnJhbmdlLEllLmRheT1CZShmdW5jdGlvbih0KXt2YXIgZT1uZXcgRGUoMmUzLDApO3JldHVybiBlLnNldEZ1bGxZZWFyKHQuZ2V0RnVsbFllYXIoKSx0LmdldE1vbnRoKCksdC5nZXREYXRlKCkpLGV9LGZ1bmN0aW9uKHQsZSl7dC5zZXREYXRlKHQuZ2V0RGF0ZSgpK2UpfSxmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXREYXRlKCktMX0pLEllLmRheXM9SWUuZGF5LnJhbmdlLEllLmRheXMudXRjPUllLmRheS51dGMucmFuZ2UsSWUuZGF5T2ZZZWFyPWZ1bmN0aW9uKHQpe3ZhciBlPUllLnllYXIodCk7cmV0dXJuIE1hdGguZmxvb3IoKHQtZS02ZTQqKHQuZ2V0VGltZXpvbmVPZmZzZXQoKS1lLmdldFRpbWV6b25lT2Zmc2V0KCkpKS84NjRlNSl9LFsic3VuZGF5IiwibW9uZGF5IiwidHVlc2RheSIsIndlZG5lc2RheSIsInRodXJzZGF5IiwiZnJpZGF5Iiwic2F0dXJkYXkiXS5mb3JFYWNoKGZ1bmN0aW9uKHQsZSl7ZT03LWU7dmFyIHI9SWVbdF09QmUoZnVuY3Rpb24odCl7cmV0dXJuKHQ9SWUuZGF5KHQpKS5zZXREYXRlKHQuZ2V0RGF0ZSgpLSh0LmdldERheSgpK2UpJTcpLHR9LGZ1bmN0aW9uKHQsZSl7dC5zZXREYXRlKHQuZ2V0RGF0ZSgpKzcqTWF0aC5mbG9vcihlKSl9LGZ1bmN0aW9uKHQpe3ZhciByPUllLnllYXIodCkuZ2V0RGF5KCk7cmV0dXJuIE1hdGguZmxvb3IoKEllLmRheU9mWWVhcih0KSsocitlKSU3KS83KS0ociE9PWUpfSk7SWVbdCsicyJdPXIucmFuZ2UsSWVbdCsicyJdLnV0Yz1yLnV0Yy5yYW5nZSxJZVt0KyJPZlllYXIiXT1mdW5jdGlvbih0KXt2YXIgcj1JZS55ZWFyKHQpLmdldERheSgpO3JldHVybiBNYXRoLmZsb29yKChJZS5kYXlPZlllYXIodCkrKHIrZSklNykvNyl9fSksSWUud2Vlaz1JZS5zdW5kYXksSWUud2Vla3M9SWUuc3VuZGF5LnJhbmdlLEllLndlZWtzLnV0Yz1JZS5zdW5kYXkudXRjLnJhbmdlLEllLndlZWtPZlllYXI9SWUuc3VuZGF5T2ZZZWFyO3ZhciBWZT17Ii0iOiIiLF86IiAiLDA6IjAifSxVZT0vXlxzKlxkKy8scWU9L14lLztmdW5jdGlvbiBIZSh0LGUscil7dmFyIG49dDwwPyItIjoiIixhPShuPy10OnQpKyIiLGk9YS5sZW5ndGg7cmV0dXJuIG4rKGk8cj9uZXcgQXJyYXkoci1pKzEpLmpvaW4oZSkrYTphKX1mdW5jdGlvbiBHZShlKXtyZXR1cm4gbmV3IFJlZ0V4cCgiXig/OiIrZS5tYXAodC5yZXF1b3RlKS5qb2luKCJ8IikrIikiLCJpIil9ZnVuY3Rpb24gWWUodCl7Zm9yKHZhciBlPW5ldyBiLHI9LTEsbj10Lmxlbmd0aDsrK3I8bjspZS5zZXQodFtyXS50b0xvd2VyQ2FzZSgpLHIpO3JldHVybiBlfWZ1bmN0aW9uIFdlKHQsZSxyKXtVZS5sYXN0SW5kZXg9MDt2YXIgbj1VZS5leGVjKGUuc2xpY2UocixyKzEpKTtyZXR1cm4gbj8odC53PStuWzBdLHIrblswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIFhlKHQsZSxyKXtVZS5sYXN0SW5kZXg9MDt2YXIgbj1VZS5leGVjKGUuc2xpY2UocikpO3JldHVybiBuPyh0LlU9K25bMF0scituWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gWmUodCxlLHIpe1VlLmxhc3RJbmRleD0wO3ZhciBuPVVlLmV4ZWMoZS5zbGljZShyKSk7cmV0dXJuIG4/KHQuVz0rblswXSxyK25bMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBKZSh0LGUscil7VWUubGFzdEluZGV4PTA7dmFyIG49VWUuZXhlYyhlLnNsaWNlKHIscis0KSk7cmV0dXJuIG4/KHQueT0rblswXSxyK25bMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBLZSh0LGUscil7VWUubGFzdEluZGV4PTA7dmFyIG4sYT1VZS5leGVjKGUuc2xpY2UocixyKzIpKTtyZXR1cm4gYT8odC55PShuPSthWzBdKSsobj42OD8xOTAwOjJlMykscithWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gUWUodCxlLHIpe3JldHVybi9eWystXVxkezR9JC8udGVzdChlPWUuc2xpY2UocixyKzUpKT8odC5aPS1lLHIrNSk6LTF9ZnVuY3Rpb24gJGUodCxlLHIpe1VlLmxhc3RJbmRleD0wO3ZhciBuPVVlLmV4ZWMoZS5zbGljZShyLHIrMikpO3JldHVybiBuPyh0Lm09blswXS0xLHIrblswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHRyKHQsZSxyKXtVZS5sYXN0SW5kZXg9MDt2YXIgbj1VZS5leGVjKGUuc2xpY2UocixyKzIpKTtyZXR1cm4gbj8odC5kPStuWzBdLHIrblswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIGVyKHQsZSxyKXtVZS5sYXN0SW5kZXg9MDt2YXIgbj1VZS5leGVjKGUuc2xpY2UocixyKzMpKTtyZXR1cm4gbj8odC5qPStuWzBdLHIrblswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHJyKHQsZSxyKXtVZS5sYXN0SW5kZXg9MDt2YXIgbj1VZS5leGVjKGUuc2xpY2UocixyKzIpKTtyZXR1cm4gbj8odC5IPStuWzBdLHIrblswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIG5yKHQsZSxyKXtVZS5sYXN0SW5kZXg9MDt2YXIgbj1VZS5leGVjKGUuc2xpY2UocixyKzIpKTtyZXR1cm4gbj8odC5NPStuWzBdLHIrblswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIGFyKHQsZSxyKXtVZS5sYXN0SW5kZXg9MDt2YXIgbj1VZS5leGVjKGUuc2xpY2UocixyKzIpKTtyZXR1cm4gbj8odC5TPStuWzBdLHIrblswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIGlyKHQsZSxyKXtVZS5sYXN0SW5kZXg9MDt2YXIgbj1VZS5leGVjKGUuc2xpY2UocixyKzMpKTtyZXR1cm4gbj8odC5MPStuWzBdLHIrblswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIG9yKHQpe3ZhciBlPXQuZ2V0VGltZXpvbmVPZmZzZXQoKSxyPWU+MD8iLSI6IisiLG49eShlKS82MHwwLGE9eShlKSU2MDtyZXR1cm4gcitIZShuLCIwIiwyKStIZShhLCIwIiwyKX1mdW5jdGlvbiBzcih0LGUscil7cWUubGFzdEluZGV4PTA7dmFyIG49cWUuZXhlYyhlLnNsaWNlKHIscisxKSk7cmV0dXJuIG4/cituWzBdLmxlbmd0aDotMX1mdW5jdGlvbiBscih0KXtmb3IodmFyIGU9dC5sZW5ndGgscj0tMTsrK3I8ZTspdFtyXVswXT10aGlzKHRbcl1bMF0pO3JldHVybiBmdW5jdGlvbihlKXtmb3IodmFyIHI9MCxuPXRbcl07IW5bMV0oZSk7KW49dFsrK3JdO3JldHVybiBuWzBdKGUpfX10LmxvY2FsZT1mdW5jdGlvbih0KXtyZXR1cm57bnVtYmVyRm9ybWF0OkNlKHQpLHRpbWVGb3JtYXQ6amUodCl9fTt2YXIgY3I9dC5sb2NhbGUoe2RlY2ltYWw6Ii4iLHRob3VzYW5kczoiLCIsZ3JvdXBpbmc6WzNdLGN1cnJlbmN5OlsiJCIsIiJdLGRhdGVUaW1lOiIlYSAlYiAlZSAlWCAlWSIsZGF0ZToiJW0vJWQvJVkiLHRpbWU6IiVIOiVNOiVTIixwZXJpb2RzOlsiQU0iLCJQTSJdLGRheXM6WyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLHNob3J0RGF5czpbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLG1vbnRoczpbIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwiLCJNYXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl0sc2hvcnRNb250aHM6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXX0pO2Z1bmN0aW9uIHVyKCl7fXQuZm9ybWF0PWNyLm51bWJlckZvcm1hdCx0Lmdlbz17fSx1ci5wcm90b3R5cGU9e3M6MCx0OjAsYWRkOmZ1bmN0aW9uKHQpe2ZyKHQsdGhpcy50LGhyKSxmcihoci5zLHRoaXMucyx0aGlzKSx0aGlzLnM/dGhpcy50Kz1oci50OnRoaXMucz1oci50fSxyZXNldDpmdW5jdGlvbigpe3RoaXMucz10aGlzLnQ9MH0sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN9fTt2YXIgaHI9bmV3IHVyO2Z1bmN0aW9uIGZyKHQsZSxyKXt2YXIgbj1yLnM9dCtlLGE9bi10LGk9bi1hO3IudD10LWkrKGUtYSl9ZnVuY3Rpb24gcHIodCxlKXt0JiZnci5oYXNPd25Qcm9wZXJ0eSh0LnR5cGUpJiZnclt0LnR5cGVdKHQsZSl9dC5nZW8uc3RyZWFtPWZ1bmN0aW9uKHQsZSl7dCYmZHIuaGFzT3duUHJvcGVydHkodC50eXBlKT9kclt0LnR5cGVdKHQsZSk6cHIodCxlKX07dmFyIGRyPXtGZWF0dXJlOmZ1bmN0aW9uKHQsZSl7cHIodC5nZW9tZXRyeSxlKX0sRmVhdHVyZUNvbGxlY3Rpb246ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5mZWF0dXJlcyxuPS0xLGE9ci5sZW5ndGg7KytuPGE7KXByKHJbbl0uZ2VvbWV0cnksZSl9fSxncj17U3BoZXJlOmZ1bmN0aW9uKHQsZSl7ZS5zcGhlcmUoKX0sUG9pbnQ6ZnVuY3Rpb24odCxlKXt0PXQuY29vcmRpbmF0ZXMsZS5wb2ludCh0WzBdLHRbMV0sdFsyXSl9LE11bHRpUG9pbnQ6ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5jb29yZGluYXRlcyxuPS0xLGE9ci5sZW5ndGg7KytuPGE7KXQ9cltuXSxlLnBvaW50KHRbMF0sdFsxXSx0WzJdKX0sTGluZVN0cmluZzpmdW5jdGlvbih0LGUpe3ZyKHQuY29vcmRpbmF0ZXMsZSwwKX0sTXVsdGlMaW5lU3RyaW5nOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuY29vcmRpbmF0ZXMsbj0tMSxhPXIubGVuZ3RoOysrbjxhOyl2cihyW25dLGUsMCl9LFBvbHlnb246ZnVuY3Rpb24odCxlKXttcih0LmNvb3JkaW5hdGVzLGUpfSxNdWx0aVBvbHlnb246ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5jb29yZGluYXRlcyxuPS0xLGE9ci5sZW5ndGg7KytuPGE7KW1yKHJbbl0sZSl9LEdlb21ldHJ5Q29sbGVjdGlvbjpmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10Lmdlb21ldHJpZXMsbj0tMSxhPXIubGVuZ3RoOysrbjxhOylwcihyW25dLGUpfX07ZnVuY3Rpb24gdnIodCxlLHIpe3ZhciBuLGE9LTEsaT10Lmxlbmd0aC1yO2ZvcihlLmxpbmVTdGFydCgpOysrYTxpOyluPXRbYV0sZS5wb2ludChuWzBdLG5bMV0sblsyXSk7ZS5saW5lRW5kKCl9ZnVuY3Rpb24gbXIodCxlKXt2YXIgcj0tMSxuPXQubGVuZ3RoO2ZvcihlLnBvbHlnb25TdGFydCgpOysrcjxuOyl2cih0W3JdLGUsMSk7ZS5wb2x5Z29uRW5kKCl9dC5nZW8uYXJlYT1mdW5jdGlvbihlKXtyZXR1cm4geXI9MCx0Lmdlby5zdHJlYW0oZSxQcikseXJ9O3ZhciB5cix4cixicixfcix3cixrcixUcixNcixBcixTcixFcixMcixDcj1uZXcgdXIsUHI9e3NwaGVyZTpmdW5jdGlvbigpe3lyKz00Kk10fSxwb2ludDpELGxpbmVTdGFydDpELGxpbmVFbmQ6RCxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtDci5yZXNldCgpLFByLmxpbmVTdGFydD1Pcn0scG9seWdvbkVuZDpmdW5jdGlvbigpe3ZhciB0PTIqQ3I7eXIrPXQ8MD80Kk10K3Q6dCxQci5saW5lU3RhcnQ9UHIubGluZUVuZD1Qci5wb2ludD1EfX07ZnVuY3Rpb24gT3IoKXt2YXIgdCxlLHIsbixhO2Z1bmN0aW9uIGkodCxlKXtlPWUqTHQvMitNdC80O3ZhciBpPSh0Kj1MdCktcixvPWk+PTA/MTotMSxzPW8qaSxsPU1hdGguY29zKGUpLGM9TWF0aC5zaW4oZSksdT1hKmMsaD1uKmwrdSpNYXRoLmNvcyhzKSxmPXUqbypNYXRoLnNpbihzKTtDci5hZGQoTWF0aC5hdGFuMihmLGgpKSxyPXQsbj1sLGE9Y31Qci5wb2ludD1mdW5jdGlvbihvLHMpe1ByLnBvaW50PWkscj0odD1vKSpMdCxuPU1hdGguY29zKHM9KGU9cykqTHQvMitNdC80KSxhPU1hdGguc2luKHMpfSxQci5saW5lRW5kPWZ1bmN0aW9uKCl7aSh0LGUpfX1mdW5jdGlvbiB6cih0KXt2YXIgZT10WzBdLHI9dFsxXSxuPU1hdGguY29zKHIpO3JldHVybltuKk1hdGguY29zKGUpLG4qTWF0aC5zaW4oZSksTWF0aC5zaW4ocildfWZ1bmN0aW9uIElyKHQsZSl7cmV0dXJuIHRbMF0qZVswXSt0WzFdKmVbMV0rdFsyXSplWzJdfWZ1bmN0aW9uIERyKHQsZSl7cmV0dXJuW3RbMV0qZVsyXS10WzJdKmVbMV0sdFsyXSplWzBdLXRbMF0qZVsyXSx0WzBdKmVbMV0tdFsxXSplWzBdXX1mdW5jdGlvbiBScih0LGUpe3RbMF0rPWVbMF0sdFsxXSs9ZVsxXSx0WzJdKz1lWzJdfWZ1bmN0aW9uIEZyKHQsZSl7cmV0dXJuW3RbMF0qZSx0WzFdKmUsdFsyXSplXX1mdW5jdGlvbiBCcih0KXt2YXIgZT1NYXRoLnNxcnQodFswXSp0WzBdK3RbMV0qdFsxXSt0WzJdKnRbMl0pO3RbMF0vPWUsdFsxXS89ZSx0WzJdLz1lfWZ1bmN0aW9uIE5yKHQpe3JldHVybltNYXRoLmF0YW4yKHRbMV0sdFswXSksSXQodFsyXSldfWZ1bmN0aW9uIGpyKHQsZSl7cmV0dXJuIHkodFswXS1lWzBdKTxrdCYmeSh0WzFdLWVbMV0pPGt0fXQuZ2VvLmJvdW5kcz1mdW5jdGlvbigpe3ZhciBlLHIsbixhLGksbyxzLGwsYyx1LGgsZj17cG9pbnQ6cCxsaW5lU3RhcnQ6ZyxsaW5lRW5kOnYscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7Zi5wb2ludD1tLGYubGluZVN0YXJ0PXgsZi5saW5lRW5kPWIsYz0wLFByLnBvbHlnb25TdGFydCgpfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7UHIucG9seWdvbkVuZCgpLGYucG9pbnQ9cCxmLmxpbmVTdGFydD1nLGYubGluZUVuZD12LENyPDA/KGU9LShuPTE4MCkscj0tKGE9OTApKTpjPmt0P2E9OTA6Yzwta3QmJihyPS05MCksaFswXT1lLGhbMV09bn19O2Z1bmN0aW9uIHAodCxpKXt1LnB1c2goaD1bZT10LG49dF0pLGk8ciYmKHI9aSksaT5hJiYoYT1pKX1mdW5jdGlvbiBkKHQsbyl7dmFyIHM9enIoW3QqTHQsbypMdF0pO2lmKGwpe3ZhciBjPURyKGwscyksdT1EcihbY1sxXSwtY1swXSwwXSxjKTtCcih1KSx1PU5yKHUpO3ZhciBoPXQtaSxmPWg+MD8xOi0xLGQ9dVswXSpDdCpmLGc9eShoKT4xODA7aWYoZ14oZippPGQmJmQ8Zip0KSkodj11WzFdKkN0KT5hJiYoYT12KTtlbHNlIGlmKGdeKGYqaTwoZD0oZCszNjApJTM2MC0xODApJiZkPGYqdCkpe3ZhciB2Oyh2PS11WzFdKkN0KTxyJiYocj12KX1lbHNlIG88ciYmKHI9byksbz5hJiYoYT1vKTtnP3Q8aT9fKGUsdCk+XyhlLG4pJiYobj10KTpfKHQsbik+XyhlLG4pJiYoZT10KTpuPj1lPyh0PGUmJihlPXQpLHQ+biYmKG49dCkpOnQ+aT9fKGUsdCk+XyhlLG4pJiYobj10KTpfKHQsbik+XyhlLG4pJiYoZT10KX1lbHNlIHAodCxvKTtsPXMsaT10fWZ1bmN0aW9uIGcoKXtmLnBvaW50PWR9ZnVuY3Rpb24gdigpe2hbMF09ZSxoWzFdPW4sZi5wb2ludD1wLGw9bnVsbH1mdW5jdGlvbiBtKHQsZSl7aWYobCl7dmFyIHI9dC1pO2MrPXkocik+MTgwP3IrKHI+MD8zNjA6LTM2MCk6cn1lbHNlIG89dCxzPWU7UHIucG9pbnQodCxlKSxkKHQsZSl9ZnVuY3Rpb24geCgpe1ByLmxpbmVTdGFydCgpfWZ1bmN0aW9uIGIoKXttKG8scyksUHIubGluZUVuZCgpLHkoYyk+a3QmJihlPS0obj0xODApKSxoWzBdPWUsaFsxXT1uLGw9bnVsbH1mdW5jdGlvbiBfKHQsZSl7cmV0dXJuKGUtPXQpPDA/ZSszNjA6ZX1mdW5jdGlvbiB3KHQsZSl7cmV0dXJuIHRbMF0tZVswXX1mdW5jdGlvbiBrKHQsZSl7cmV0dXJuIGVbMF08PWVbMV0/ZVswXTw9dCYmdDw9ZVsxXTp0PGVbMF18fGVbMV08dH1yZXR1cm4gZnVuY3Rpb24oaSl7aWYoYT1uPS0oZT1yPTEvMCksdT1bXSx0Lmdlby5zdHJlYW0oaSxmKSxjPXUubGVuZ3RoKXt1LnNvcnQodyk7Zm9yKHZhciBvPTEscz1bZz11WzBdXTtvPGM7KytvKWsoKHA9dVtvXSlbMF0sZyl8fGsocFsxXSxnKT8oXyhnWzBdLHBbMV0pPl8oZ1swXSxnWzFdKSYmKGdbMV09cFsxXSksXyhwWzBdLGdbMV0pPl8oZ1swXSxnWzFdKSYmKGdbMF09cFswXSkpOnMucHVzaChnPXApO2Zvcih2YXIgbCxjLHAsZD0tMS8wLGc9KG89MCxzW2M9cy5sZW5ndGgtMV0pO288PWM7Zz1wLCsrbylwPXNbb10sKGw9XyhnWzFdLHBbMF0pKT5kJiYoZD1sLGU9cFswXSxuPWdbMV0pfXJldHVybiB1PWg9bnVsbCxlPT09MS8wfHxyPT09MS8wP1tbTmFOLE5hTl0sW05hTixOYU5dXTpbW2Uscl0sW24sYV1dfX0oKSx0Lmdlby5jZW50cm9pZD1mdW5jdGlvbihlKXt4cj1icj1fcj13cj1rcj1Ucj1Ncj1Bcj1Tcj1Fcj1Mcj0wLHQuZ2VvLnN0cmVhbShlLFZyKTt2YXIgcj1TcixuPUVyLGE9THIsaT1yKnIrbipuK2EqYTtyZXR1cm4gaTxUdCYmKHI9VHIsbj1NcixhPUFyLGJyPGt0JiYocj1fcixuPXdyLGE9a3IpLChpPXIqcituKm4rYSphKTxUdCk/W05hTixOYU5dOltNYXRoLmF0YW4yKG4scikqQ3QsSXQoYS9NYXRoLnNxcnQoaSkpKkN0XX07dmFyIFZyPXtzcGhlcmU6RCxwb2ludDpVcixsaW5lU3RhcnQ6SHIsbGluZUVuZDpHcixwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtWci5saW5lU3RhcnQ9WXJ9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtWci5saW5lU3RhcnQ9SHJ9fTtmdW5jdGlvbiBVcih0LGUpe3QqPUx0O3ZhciByPU1hdGguY29zKGUqPUx0KTtxcihyKk1hdGguY29zKHQpLHIqTWF0aC5zaW4odCksTWF0aC5zaW4oZSkpfWZ1bmN0aW9uIHFyKHQsZSxyKXtfcis9KHQtX3IpLysreHIsd3IrPShlLXdyKS94cixrcis9KHIta3IpL3hyfWZ1bmN0aW9uIEhyKCl7dmFyIHQsZSxyO2Z1bmN0aW9uIG4obixhKXtuKj1MdDt2YXIgaT1NYXRoLmNvcyhhKj1MdCksbz1pKk1hdGguY29zKG4pLHM9aSpNYXRoLnNpbihuKSxsPU1hdGguc2luKGEpLGM9TWF0aC5hdGFuMihNYXRoLnNxcnQoKGM9ZSpsLXIqcykqYysoYz1yKm8tdCpsKSpjKyhjPXQqcy1lKm8pKmMpLHQqbytlKnMrcipsKTticis9YyxUcis9YyoodCsodD1vKSksTXIrPWMqKGUrKGU9cykpLEFyKz1jKihyKyhyPWwpKSxxcih0LGUscil9VnIucG9pbnQ9ZnVuY3Rpb24oYSxpKXthKj1MdDt2YXIgbz1NYXRoLmNvcyhpKj1MdCk7dD1vKk1hdGguY29zKGEpLGU9bypNYXRoLnNpbihhKSxyPU1hdGguc2luKGkpLFZyLnBvaW50PW4scXIodCxlLHIpfX1mdW5jdGlvbiBHcigpe1ZyLnBvaW50PVVyfWZ1bmN0aW9uIFlyKCl7dmFyIHQsZSxyLG4sYTtmdW5jdGlvbiBpKHQsZSl7dCo9THQ7dmFyIGk9TWF0aC5jb3MoZSo9THQpLG89aSpNYXRoLmNvcyh0KSxzPWkqTWF0aC5zaW4odCksbD1NYXRoLnNpbihlKSxjPW4qbC1hKnMsdT1hKm8tcipsLGg9cipzLW4qbyxmPU1hdGguc3FydChjKmMrdSp1K2gqaCkscD1yKm8rbipzK2EqbCxkPWYmJi16dChwKS9mLGc9TWF0aC5hdGFuMihmLHApO1NyKz1kKmMsRXIrPWQqdSxMcis9ZCpoLGJyKz1nLFRyKz1nKihyKyhyPW8pKSxNcis9Zyoobisobj1zKSksQXIrPWcqKGErKGE9bCkpLHFyKHIsbixhKX1Wci5wb2ludD1mdW5jdGlvbihvLHMpe3Q9byxlPXMsVnIucG9pbnQ9aSxvKj1MdDt2YXIgbD1NYXRoLmNvcyhzKj1MdCk7cj1sKk1hdGguY29zKG8pLG49bCpNYXRoLnNpbihvKSxhPU1hdGguc2luKHMpLHFyKHIsbixhKX0sVnIubGluZUVuZD1mdW5jdGlvbigpe2kodCxlKSxWci5saW5lRW5kPUdyLFZyLnBvaW50PVVyfX1mdW5jdGlvbiBXcih0LGUpe2Z1bmN0aW9uIHIocixuKXtyZXR1cm4gcj10KHIsbiksZShyWzBdLHJbMV0pfXJldHVybiB0LmludmVydCYmZS5pbnZlcnQmJihyLmludmVydD1mdW5jdGlvbihyLG4pe3JldHVybihyPWUuaW52ZXJ0KHIsbikpJiZ0LmludmVydChyWzBdLHJbMV0pfSkscn1mdW5jdGlvbiBYcigpe3JldHVybiEwfWZ1bmN0aW9uIFpyKHQsZSxyLG4sYSl7dmFyIGk9W10sbz1bXTtpZih0LmZvckVhY2goZnVuY3Rpb24odCl7aWYoISgoZT10Lmxlbmd0aC0xKTw9MCkpe3ZhciBlLHI9dFswXSxuPXRbZV07aWYoanIocixuKSl7YS5saW5lU3RhcnQoKTtmb3IodmFyIHM9MDtzPGU7KytzKWEucG9pbnQoKHI9dFtzXSlbMF0sclsxXSk7YS5saW5lRW5kKCl9ZWxzZXt2YXIgbD1uZXcgS3Iocix0LG51bGwsITApLGM9bmV3IEtyKHIsbnVsbCxsLCExKTtsLm89YyxpLnB1c2gobCksby5wdXNoKGMpLGw9bmV3IEtyKG4sdCxudWxsLCExKSxjPW5ldyBLcihuLG51bGwsbCwhMCksbC5vPWMsaS5wdXNoKGwpLG8ucHVzaChjKX19fSksby5zb3J0KGUpLEpyKGkpLEpyKG8pLGkubGVuZ3RoKXtmb3IodmFyIHM9MCxsPXIsYz1vLmxlbmd0aDtzPGM7KytzKW9bc10uZT1sPSFsO2Zvcih2YXIgdSxoLGY9aVswXTs7KXtmb3IodmFyIHA9ZixkPSEwO3AudjspaWYoKHA9cC5uKT09PWYpcmV0dXJuO3U9cC56LGEubGluZVN0YXJ0KCk7ZG97aWYocC52PXAuby52PSEwLHAuZSl7aWYoZClmb3Iocz0wLGM9dS5sZW5ndGg7czxjOysrcylhLnBvaW50KChoPXVbc10pWzBdLGhbMV0pO2Vsc2UgbihwLngscC5uLngsMSxhKTtwPXAubn1lbHNle2lmKGQpZm9yKHM9KHU9cC5wLnopLmxlbmd0aC0xO3M+PTA7LS1zKWEucG9pbnQoKGg9dVtzXSlbMF0saFsxXSk7ZWxzZSBuKHAueCxwLnAueCwtMSxhKTtwPXAucH11PShwPXAubykueixkPSFkfXdoaWxlKCFwLnYpO2EubGluZUVuZCgpfX19ZnVuY3Rpb24gSnIodCl7aWYoZT10Lmxlbmd0aCl7Zm9yKHZhciBlLHIsbj0wLGE9dFswXTsrK248ZTspYS5uPXI9dFtuXSxyLnA9YSxhPXI7YS5uPXI9dFswXSxyLnA9YX19ZnVuY3Rpb24gS3IodCxlLHIsbil7dGhpcy54PXQsdGhpcy56PWUsdGhpcy5vPXIsdGhpcy5lPW4sdGhpcy52PSExLHRoaXMubj10aGlzLnA9bnVsbH1mdW5jdGlvbiBRcihlLHIsbixhKXtyZXR1cm4gZnVuY3Rpb24oaSxvKXt2YXIgcyxsPXIobyksYz1pLmludmVydChhWzBdLGFbMV0pLHU9e3BvaW50OmgsbGluZVN0YXJ0OnAsbGluZUVuZDpkLHBvbHlnb25TdGFydDpmdW5jdGlvbigpe3UucG9pbnQ9Yix1LmxpbmVTdGFydD1fLHUubGluZUVuZD13LHM9W10sZz1bXX0scG9seWdvbkVuZDpmdW5jdGlvbigpe3UucG9pbnQ9aCx1LmxpbmVTdGFydD1wLHUubGluZUVuZD1kLHM9dC5tZXJnZShzKTt2YXIgZT1mdW5jdGlvbih0LGUpe3ZhciByPXRbMF0sbj10WzFdLGE9W01hdGguc2luKHIpLC1NYXRoLmNvcyhyKSwwXSxpPTAsbz0wO0NyLnJlc2V0KCk7Zm9yKHZhciBzPTAsbD1lLmxlbmd0aDtzPGw7KytzKXt2YXIgYz1lW3NdLHU9Yy5sZW5ndGg7aWYodSlmb3IodmFyIGg9Y1swXSxmPWhbMF0scD1oWzFdLzIrTXQvNCxkPU1hdGguc2luKHApLGc9TWF0aC5jb3MocCksdj0xOzspe3Y9PT11JiYodj0wKTt2YXIgbT0odD1jW3ZdKVswXSx5PXRbMV0vMitNdC80LHg9TWF0aC5zaW4oeSksYj1NYXRoLmNvcyh5KSxfPW0tZix3PV8+PTA/MTotMSxrPXcqXyxUPWs+TXQsTT1kKng7aWYoQ3IuYWRkKE1hdGguYXRhbjIoTSp3Kk1hdGguc2luKGspLGcqYitNKk1hdGguY29zKGspKSksaSs9VD9fK3cqQXQ6XyxUXmY+PXJebT49cil7dmFyIEE9RHIoenIoaCksenIodCkpO0JyKEEpO3ZhciBTPURyKGEsQSk7QnIoUyk7dmFyIEU9KFReXz49MD8tMToxKSpJdChTWzJdKTsobj5FfHxuPT09RSYmKEFbMF18fEFbMV0pKSYmKG8rPVReXz49MD8xOi0xKX1pZighdisrKWJyZWFrO2Y9bSxkPXgsZz1iLGg9dH19cmV0dXJuKGk8LWt0fHxpPGt0JiZDcjwta3QpXjEmb30oYyxnKTtzLmxlbmd0aD8oeHx8KG8ucG9seWdvblN0YXJ0KCkseD0hMCksWnIocyxlbixlLG4sbykpOmUmJih4fHwoby5wb2x5Z29uU3RhcnQoKSx4PSEwKSxvLmxpbmVTdGFydCgpLG4obnVsbCxudWxsLDEsbyksby5saW5lRW5kKCkpLHgmJihvLnBvbHlnb25FbmQoKSx4PSExKSxzPWc9bnVsbH0sc3BoZXJlOmZ1bmN0aW9uKCl7by5wb2x5Z29uU3RhcnQoKSxvLmxpbmVTdGFydCgpLG4obnVsbCxudWxsLDEsbyksby5saW5lRW5kKCksby5wb2x5Z29uRW5kKCl9fTtmdW5jdGlvbiBoKHQscil7dmFyIG49aSh0LHIpO2UodD1uWzBdLHI9blsxXSkmJm8ucG9pbnQodCxyKX1mdW5jdGlvbiBmKHQsZSl7dmFyIHI9aSh0LGUpO2wucG9pbnQoclswXSxyWzFdKX1mdW5jdGlvbiBwKCl7dS5wb2ludD1mLGwubGluZVN0YXJ0KCl9ZnVuY3Rpb24gZCgpe3UucG9pbnQ9aCxsLmxpbmVFbmQoKX12YXIgZyx2LG09dG4oKSx5PXIobSkseD0hMTtmdW5jdGlvbiBiKHQsZSl7di5wdXNoKFt0LGVdKTt2YXIgcj1pKHQsZSk7eS5wb2ludChyWzBdLHJbMV0pfWZ1bmN0aW9uIF8oKXt5LmxpbmVTdGFydCgpLHY9W119ZnVuY3Rpb24gdygpe2IodlswXVswXSx2WzBdWzFdKSx5LmxpbmVFbmQoKTt2YXIgdCxlPXkuY2xlYW4oKSxyPW0uYnVmZmVyKCksbj1yLmxlbmd0aDtpZih2LnBvcCgpLGcucHVzaCh2KSx2PW51bGwsbilpZigxJmUpe3ZhciBhLGk9LTE7aWYoKG49KHQ9clswXSkubGVuZ3RoLTEpPjApe2Zvcih4fHwoby5wb2x5Z29uU3RhcnQoKSx4PSEwKSxvLmxpbmVTdGFydCgpOysraTxuOylvLnBvaW50KChhPXRbaV0pWzBdLGFbMV0pO28ubGluZUVuZCgpfX1lbHNlIG4+MSYmMiZlJiZyLnB1c2goci5wb3AoKS5jb25jYXQoci5zaGlmdCgpKSkscy5wdXNoKHIuZmlsdGVyKCRyKSl9cmV0dXJuIHV9fWZ1bmN0aW9uICRyKHQpe3JldHVybiB0Lmxlbmd0aD4xfWZ1bmN0aW9uIHRuKCl7dmFyIHQsZT1bXTtyZXR1cm57bGluZVN0YXJ0OmZ1bmN0aW9uKCl7ZS5wdXNoKHQ9W10pfSxwb2ludDpmdW5jdGlvbihlLHIpe3QucHVzaChbZSxyXSl9LGxpbmVFbmQ6RCxidWZmZXI6ZnVuY3Rpb24oKXt2YXIgcj1lO3JldHVybiBlPVtdLHQ9bnVsbCxyfSxyZWpvaW46ZnVuY3Rpb24oKXtlLmxlbmd0aD4xJiZlLnB1c2goZS5wb3AoKS5jb25jYXQoZS5zaGlmdCgpKSl9fX1mdW5jdGlvbiBlbih0LGUpe3JldHVybigodD10LngpWzBdPDA/dFsxXS1FdC1rdDpFdC10WzFdKS0oKGU9ZS54KVswXTwwP2VbMV0tRXQta3Q6RXQtZVsxXSl9dmFyIHJuPVFyKFhyLGZ1bmN0aW9uKHQpe3ZhciBlLHI9TmFOLG49TmFOLGE9TmFOO3JldHVybntsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0LmxpbmVTdGFydCgpLGU9MX0scG9pbnQ6ZnVuY3Rpb24oaSxvKXt2YXIgcz1pPjA/TXQ6LU10LGw9eShpLXIpO3kobC1NdCk8a3Q/KHQucG9pbnQocixuPShuK28pLzI+MD9FdDotRXQpLHQucG9pbnQoYSxuKSx0LmxpbmVFbmQoKSx0LmxpbmVTdGFydCgpLHQucG9pbnQocyxuKSx0LnBvaW50KGksbiksZT0wKTphIT09cyYmbD49TXQmJih5KHItYSk8a3QmJihyLT1hKmt0KSx5KGktcyk8a3QmJihpLT1zKmt0KSxuPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhLGksbz1NYXRoLnNpbih0LXIpO3JldHVybiB5KG8pPmt0P01hdGguYXRhbigoTWF0aC5zaW4oZSkqKGk9TWF0aC5jb3MobikpKk1hdGguc2luKHIpLU1hdGguc2luKG4pKihhPU1hdGguY29zKGUpKSpNYXRoLnNpbih0KSkvKGEqaSpvKSk6KGUrbikvMn0ocixuLGksbyksdC5wb2ludChhLG4pLHQubGluZUVuZCgpLHQubGluZVN0YXJ0KCksdC5wb2ludChzLG4pLGU9MCksdC5wb2ludChyPWksbj1vKSxhPXN9LGxpbmVFbmQ6ZnVuY3Rpb24oKXt0LmxpbmVFbmQoKSxyPW49TmFOfSxjbGVhbjpmdW5jdGlvbigpe3JldHVybiAyLWV9fX0sZnVuY3Rpb24odCxlLHIsbil7dmFyIGE7aWYobnVsbD09dClhPXIqRXQsbi5wb2ludCgtTXQsYSksbi5wb2ludCgwLGEpLG4ucG9pbnQoTXQsYSksbi5wb2ludChNdCwwKSxuLnBvaW50KE10LC1hKSxuLnBvaW50KDAsLWEpLG4ucG9pbnQoLU10LC1hKSxuLnBvaW50KC1NdCwwKSxuLnBvaW50KC1NdCxhKTtlbHNlIGlmKHkodFswXS1lWzBdKT5rdCl7dmFyIGk9dFswXTxlWzBdP010Oi1NdDthPXIqaS8yLG4ucG9pbnQoLWksYSksbi5wb2ludCgwLGEpLG4ucG9pbnQoaSxhKX1lbHNlIG4ucG9pbnQoZVswXSxlWzFdKX0sWy1NdCwtTXQvMl0pO2Z1bmN0aW9uIG5uKHQsZSxyLG4pe3JldHVybiBmdW5jdGlvbihhKXt2YXIgaSxvPWEuYSxzPWEuYixsPW8ueCxjPW8ueSx1PTAsaD0xLGY9cy54LWwscD1zLnktYztpZihpPXQtbCxmfHwhKGk+MCkpe2lmKGkvPWYsZjwwKXtpZihpPHUpcmV0dXJuO2k8aCYmKGg9aSl9ZWxzZSBpZihmPjApe2lmKGk+aClyZXR1cm47aT51JiYodT1pKX1pZihpPXItbCxmfHwhKGk8MCkpe2lmKGkvPWYsZjwwKXtpZihpPmgpcmV0dXJuO2k+dSYmKHU9aSl9ZWxzZSBpZihmPjApe2lmKGk8dSlyZXR1cm47aTxoJiYoaD1pKX1pZihpPWUtYyxwfHwhKGk+MCkpe2lmKGkvPXAscDwwKXtpZihpPHUpcmV0dXJuO2k8aCYmKGg9aSl9ZWxzZSBpZihwPjApe2lmKGk+aClyZXR1cm47aT51JiYodT1pKX1pZihpPW4tYyxwfHwhKGk8MCkpe2lmKGkvPXAscDwwKXtpZihpPmgpcmV0dXJuO2k+dSYmKHU9aSl9ZWxzZSBpZihwPjApe2lmKGk8dSlyZXR1cm47aTxoJiYoaD1pKX1yZXR1cm4gdT4wJiYoYS5hPXt4OmwrdSpmLHk6Yyt1KnB9KSxoPDEmJihhLmI9e3g6bCtoKmYseTpjK2gqcH0pLGF9fX19fX12YXIgYW49MWU5O2Z1bmN0aW9uIG9uKGUscixuLGEpe3JldHVybiBmdW5jdGlvbihsKXt2YXIgYyx1LGgsZixwLGQsZyx2LG0seSx4LGI9bCxfPXRuKCksdz1ubihlLHIsbixhKSxrPXtwb2ludDpBLGxpbmVTdGFydDpmdW5jdGlvbigpe2sucG9pbnQ9Uyx1JiZ1LnB1c2goaD1bXSk7eT0hMCxtPSExLGc9dj1OYU59LGxpbmVFbmQ6ZnVuY3Rpb24oKXtjJiYoUyhmLHApLGQmJm0mJl8ucmVqb2luKCksYy5wdXNoKF8uYnVmZmVyKCkpKTtrLnBvaW50PUEsbSYmbC5saW5lRW5kKCl9LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe2w9XyxjPVtdLHU9W10seD0hMH0scG9seWdvbkVuZDpmdW5jdGlvbigpe2w9YixjPXQubWVyZ2UoYyk7dmFyIHI9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj11Lmxlbmd0aCxuPXRbMV0sYT0wO2E8cjsrK2EpZm9yKHZhciBpLG89MSxzPXVbYV0sbD1zLmxlbmd0aCxjPXNbMF07bzxsOysrbylpPXNbb10sY1sxXTw9bj9pWzFdPm4mJk90KGMsaSx0KT4wJiYrK2U6aVsxXTw9biYmT3QoYyxpLHQpPDAmJi0tZSxjPWk7cmV0dXJuIDAhPT1lfShbZSxhXSksbj14JiZyLGk9Yy5sZW5ndGg7KG58fGkpJiYobC5wb2x5Z29uU3RhcnQoKSxuJiYobC5saW5lU3RhcnQoKSxUKG51bGwsbnVsbCwxLGwpLGwubGluZUVuZCgpKSxpJiZacihjLG8scixULGwpLGwucG9seWdvbkVuZCgpKSxjPXU9aD1udWxsfX07ZnVuY3Rpb24gVCh0LG8sbCxjKXt2YXIgdT0wLGg9MDtpZihudWxsPT10fHwodT1pKHQsbCkpIT09KGg9aShvLGwpKXx8cyh0LG8pPDBebD4wKWRve2MucG9pbnQoMD09PXV8fDM9PT11P2U6bix1PjE/YTpyKX13aGlsZSgodT0odStsKzQpJTQpIT09aCk7ZWxzZSBjLnBvaW50KG9bMF0sb1sxXSl9ZnVuY3Rpb24gTSh0LGkpe3JldHVybiBlPD10JiZ0PD1uJiZyPD1pJiZpPD1hfWZ1bmN0aW9uIEEodCxlKXtNKHQsZSkmJmwucG9pbnQodCxlKX1mdW5jdGlvbiBTKHQsZSl7dmFyIHI9TSh0PU1hdGgubWF4KC1hbixNYXRoLm1pbihhbix0KSksZT1NYXRoLm1heCgtYW4sTWF0aC5taW4oYW4sZSkpKTtpZih1JiZoLnB1c2goW3QsZV0pLHkpZj10LHA9ZSxkPXIseT0hMSxyJiYobC5saW5lU3RhcnQoKSxsLnBvaW50KHQsZSkpO2Vsc2UgaWYociYmbSlsLnBvaW50KHQsZSk7ZWxzZXt2YXIgbj17YTp7eDpnLHk6dn0sYjp7eDp0LHk6ZX19O3cobik/KG18fChsLmxpbmVTdGFydCgpLGwucG9pbnQobi5hLngsbi5hLnkpKSxsLnBvaW50KG4uYi54LG4uYi55KSxyfHxsLmxpbmVFbmQoKSx4PSExKTpyJiYobC5saW5lU3RhcnQoKSxsLnBvaW50KHQsZSkseD0hMSl9Zz10LHY9ZSxtPXJ9cmV0dXJuIGt9O2Z1bmN0aW9uIGkodCxhKXtyZXR1cm4geSh0WzBdLWUpPGt0P2E+MD8wOjM6eSh0WzBdLW4pPGt0P2E+MD8yOjE6eSh0WzFdLXIpPGt0P2E+MD8xOjA6YT4wPzM6Mn1mdW5jdGlvbiBvKHQsZSl7cmV0dXJuIHModC54LGUueCl9ZnVuY3Rpb24gcyh0LGUpe3ZhciByPWkodCwxKSxuPWkoZSwxKTtyZXR1cm4gciE9PW4/ci1uOjA9PT1yP2VbMV0tdFsxXToxPT09cj90WzBdLWVbMF06Mj09PXI/dFsxXS1lWzFdOmVbMF0tdFswXX19ZnVuY3Rpb24gc24odCl7dmFyIGU9MCxyPU10LzMsbj1Qbih0KSxhPW4oZSxyKTtyZXR1cm4gYS5wYXJhbGxlbHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/bihlPXRbMF0qTXQvMTgwLHI9dFsxXSpNdC8xODApOltlL010KjE4MCxyL010KjE4MF19LGF9ZnVuY3Rpb24gbG4odCxlKXt2YXIgcj1NYXRoLnNpbih0KSxuPShyK01hdGguc2luKGUpKS8yLGE9MStyKigyKm4tciksaT1NYXRoLnNxcnQoYSkvbjtmdW5jdGlvbiBvKHQsZSl7dmFyIHI9TWF0aC5zcXJ0KGEtMipuKk1hdGguc2luKGUpKS9uO3JldHVybltyKk1hdGguc2luKHQqPW4pLGktcipNYXRoLmNvcyh0KV19cmV0dXJuIG8uaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7dmFyIHI9aS1lO3JldHVybltNYXRoLmF0YW4yKHQscikvbixJdCgoYS0odCp0K3IqcikqbipuKS8oMipuKSldfSxvfXQuZ2VvLmNsaXBFeHRlbnQ9ZnVuY3Rpb24oKXt2YXIgdCxlLHIsbixhLGksbz17c3RyZWFtOmZ1bmN0aW9uKHQpe3JldHVybiBhJiYoYS52YWxpZD0hMSksKGE9aSh0KSkudmFsaWQ9ITAsYX0sZXh0ZW50OmZ1bmN0aW9uKHMpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPW9uKHQ9K3NbMF1bMF0sZT0rc1swXVsxXSxyPStzWzFdWzBdLG49K3NbMV1bMV0pLGEmJihhLnZhbGlkPSExLGE9bnVsbCksbyk6W1t0LGVdLFtyLG5dXX19O3JldHVybiBvLmV4dGVudChbWzAsMF0sWzk2MCw1MDBdXSl9LCh0Lmdlby5jb25pY0VxdWFsQXJlYT1mdW5jdGlvbigpe3JldHVybiBzbihsbil9KS5yYXc9bG4sdC5nZW8uYWxiZXJzPWZ1bmN0aW9uKCl7cmV0dXJuIHQuZ2VvLmNvbmljRXF1YWxBcmVhKCkucm90YXRlKFs5NiwwXSkuY2VudGVyKFstLjYsMzguN10pLnBhcmFsbGVscyhbMjkuNSw0NS41XSkuc2NhbGUoMTA3MCl9LHQuZ2VvLmFsYmVyc1VzYT1mdW5jdGlvbigpe3ZhciBlLHIsbixhLGk9dC5nZW8uYWxiZXJzKCksbz10Lmdlby5jb25pY0VxdWFsQXJlYSgpLnJvdGF0ZShbMTU0LDBdKS5jZW50ZXIoWy0yLDU4LjVdKS5wYXJhbGxlbHMoWzU1LDY1XSkscz10Lmdlby5jb25pY0VxdWFsQXJlYSgpLnJvdGF0ZShbMTU3LDBdKS5jZW50ZXIoWy0zLDE5LjldKS5wYXJhbGxlbHMoWzgsMThdKSxsPXtwb2ludDpmdW5jdGlvbih0LHIpe2U9W3Qscl19fTtmdW5jdGlvbiBjKHQpe3ZhciBpPXRbMF0sbz10WzFdO3JldHVybiBlPW51bGwscihpLG8pLGV8fChuKGksbyksZSl8fGEoaSxvKSxlfXJldHVybiBjLmludmVydD1mdW5jdGlvbih0KXt2YXIgZT1pLnNjYWxlKCkscj1pLnRyYW5zbGF0ZSgpLG49KHRbMF0tclswXSkvZSxhPSh0WzFdLXJbMV0pL2U7cmV0dXJuKGE+PS4xMiYmYTwuMjM0JiZuPj0tLjQyNSYmbjwtLjIxND9vOmE+PS4xNjYmJmE8LjIzNCYmbj49LS4yMTQmJm48LS4xMTU/czppKS5pbnZlcnQodCl9LGMuc3RyZWFtPWZ1bmN0aW9uKHQpe3ZhciBlPWkuc3RyZWFtKHQpLHI9by5zdHJlYW0odCksbj1zLnN0cmVhbSh0KTtyZXR1cm57cG9pbnQ6ZnVuY3Rpb24odCxhKXtlLnBvaW50KHQsYSksci5wb2ludCh0LGEpLG4ucG9pbnQodCxhKX0sc3BoZXJlOmZ1bmN0aW9uKCl7ZS5zcGhlcmUoKSxyLnNwaGVyZSgpLG4uc3BoZXJlKCl9LGxpbmVTdGFydDpmdW5jdGlvbigpe2UubGluZVN0YXJ0KCksci5saW5lU3RhcnQoKSxuLmxpbmVTdGFydCgpfSxsaW5lRW5kOmZ1bmN0aW9uKCl7ZS5saW5lRW5kKCksci5saW5lRW5kKCksbi5saW5lRW5kKCl9LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe2UucG9seWdvblN0YXJ0KCksci5wb2x5Z29uU3RhcnQoKSxuLnBvbHlnb25TdGFydCgpfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7ZS5wb2x5Z29uRW5kKCksci5wb2x5Z29uRW5kKCksbi5wb2x5Z29uRW5kKCl9fX0sYy5wcmVjaXNpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGkucHJlY2lzaW9uKHQpLG8ucHJlY2lzaW9uKHQpLHMucHJlY2lzaW9uKHQpLGMpOmkucHJlY2lzaW9uKCl9LGMuc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGkuc2NhbGUodCksby5zY2FsZSguMzUqdCkscy5zY2FsZSh0KSxjLnRyYW5zbGF0ZShpLnRyYW5zbGF0ZSgpKSk6aS5zY2FsZSgpfSxjLnRyYW5zbGF0ZT1mdW5jdGlvbih0KXtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gaS50cmFuc2xhdGUoKTt2YXIgZT1pLnNjYWxlKCksdT0rdFswXSxoPSt0WzFdO3JldHVybiByPWkudHJhbnNsYXRlKHQpLmNsaXBFeHRlbnQoW1t1LS40NTUqZSxoLS4yMzgqZV0sW3UrLjQ1NSplLGgrLjIzOCplXV0pLnN0cmVhbShsKS5wb2ludCxuPW8udHJhbnNsYXRlKFt1LS4zMDcqZSxoKy4yMDEqZV0pLmNsaXBFeHRlbnQoW1t1LS40MjUqZStrdCxoKy4xMiplK2t0XSxbdS0uMjE0KmUta3QsaCsuMjM0KmUta3RdXSkuc3RyZWFtKGwpLnBvaW50LGE9cy50cmFuc2xhdGUoW3UtLjIwNSplLGgrLjIxMiplXSkuY2xpcEV4dGVudChbW3UtLjIxNCplK2t0LGgrLjE2NiplK2t0XSxbdS0uMTE1KmUta3QsaCsuMjM0KmUta3RdXSkuc3RyZWFtKGwpLnBvaW50LGN9LGMuc2NhbGUoMTA3MCl9O3ZhciBjbix1bixobixmbixwbixkbixnbj17cG9pbnQ6RCxsaW5lU3RhcnQ6RCxsaW5lRW5kOkQscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7dW49MCxnbi5saW5lU3RhcnQ9dm59LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtnbi5saW5lU3RhcnQ9Z24ubGluZUVuZD1nbi5wb2ludD1ELGNuKz15KHVuLzIpfX07ZnVuY3Rpb24gdm4oKXt2YXIgdCxlLHIsbjtmdW5jdGlvbiBhKHQsZSl7dW4rPW4qdC1yKmUscj10LG49ZX1nbi5wb2ludD1mdW5jdGlvbihpLG8pe2duLnBvaW50PWEsdD1yPWksZT1uPW99LGduLmxpbmVFbmQ9ZnVuY3Rpb24oKXthKHQsZSl9fXZhciBtbj17cG9pbnQ6ZnVuY3Rpb24odCxlKXt0PGhuJiYoaG49dCk7dD5wbiYmKHBuPXQpO2U8Zm4mJihmbj1lKTtlPmRuJiYoZG49ZSl9LGxpbmVTdGFydDpELGxpbmVFbmQ6RCxwb2x5Z29uU3RhcnQ6RCxwb2x5Z29uRW5kOkR9O2Z1bmN0aW9uIHluKCl7dmFyIHQ9eG4oNC41KSxlPVtdLHI9e3BvaW50Om4sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7ci5wb2ludD1hfSxsaW5lRW5kOm8scG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7ci5saW5lRW5kPXN9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtyLmxpbmVFbmQ9byxyLnBvaW50PW59LHBvaW50UmFkaXVzOmZ1bmN0aW9uKGUpe3JldHVybiB0PXhuKGUpLHJ9LHJlc3VsdDpmdW5jdGlvbigpe2lmKGUubGVuZ3RoKXt2YXIgdD1lLmpvaW4oIiIpO3JldHVybiBlPVtdLHR9fX07ZnVuY3Rpb24gbihyLG4pe2UucHVzaCgiTSIsciwiLCIsbix0KX1mdW5jdGlvbiBhKHQsbil7ZS5wdXNoKCJNIix0LCIsIixuKSxyLnBvaW50PWl9ZnVuY3Rpb24gaSh0LHIpe2UucHVzaCgiTCIsdCwiLCIscil9ZnVuY3Rpb24gbygpe3IucG9pbnQ9bn1mdW5jdGlvbiBzKCl7ZS5wdXNoKCJaIil9cmV0dXJuIHJ9ZnVuY3Rpb24geG4odCl7cmV0dXJuIm0wLCIrdCsiYSIrdCsiLCIrdCsiIDAgMSwxIDAsIistMip0KyJhIit0KyIsIit0KyIgMCAxLDEgMCwiKzIqdCsieiJ9dmFyIGJuLF9uPXtwb2ludDp3bixsaW5lU3RhcnQ6a24sbGluZUVuZDpUbixwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtfbi5saW5lU3RhcnQ9TW59LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtfbi5wb2ludD13bixfbi5saW5lU3RhcnQ9a24sX24ubGluZUVuZD1Ubn19O2Z1bmN0aW9uIHduKHQsZSl7X3IrPXQsd3IrPWUsKytrcn1mdW5jdGlvbiBrbigpe3ZhciB0LGU7ZnVuY3Rpb24gcihyLG4pe3ZhciBhPXItdCxpPW4tZSxvPU1hdGguc3FydChhKmEraSppKTtUcis9byoodCtyKS8yLE1yKz1vKihlK24pLzIsQXIrPW8sd24odD1yLGU9bil9X24ucG9pbnQ9ZnVuY3Rpb24obixhKXtfbi5wb2ludD1yLHduKHQ9bixlPWEpfX1mdW5jdGlvbiBUbigpe19uLnBvaW50PXdufWZ1bmN0aW9uIE1uKCl7dmFyIHQsZSxyLG47ZnVuY3Rpb24gYSh0LGUpe3ZhciBhPXQtcixpPWUtbixvPU1hdGguc3FydChhKmEraSppKTtUcis9byoocit0KS8yLE1yKz1vKihuK2UpLzIsQXIrPW8sU3IrPShvPW4qdC1yKmUpKihyK3QpLEVyKz1vKihuK2UpLExyKz0zKm8sd24ocj10LG49ZSl9X24ucG9pbnQ9ZnVuY3Rpb24oaSxvKXtfbi5wb2ludD1hLHduKHQ9cj1pLGU9bj1vKX0sX24ubGluZUVuZD1mdW5jdGlvbigpe2EodCxlKX19ZnVuY3Rpb24gQW4odCl7dmFyIGU9NC41LHI9e3BvaW50Om4sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7ci5wb2ludD1hfSxsaW5lRW5kOm8scG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7ci5saW5lRW5kPXN9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtyLmxpbmVFbmQ9byxyLnBvaW50PW59LHBvaW50UmFkaXVzOmZ1bmN0aW9uKHQpe3JldHVybiBlPXQscn0scmVzdWx0OkR9O2Z1bmN0aW9uIG4ocixuKXt0Lm1vdmVUbyhyK2UsbiksdC5hcmMocixuLGUsMCxBdCl9ZnVuY3Rpb24gYShlLG4pe3QubW92ZVRvKGUsbiksci5wb2ludD1pfWZ1bmN0aW9uIGkoZSxyKXt0LmxpbmVUbyhlLHIpfWZ1bmN0aW9uIG8oKXtyLnBvaW50PW59ZnVuY3Rpb24gcygpe3QuY2xvc2VQYXRoKCl9cmV0dXJuIHJ9ZnVuY3Rpb24gU24odCl7dmFyIGU9LjUscj1NYXRoLmNvcygzMCpMdCksbj0xNjtmdW5jdGlvbiBhKGUpe3JldHVybihuP2Z1bmN0aW9uKGUpe3ZhciByLGEsbyxzLGwsYyx1LGgsZixwLGQsZyx2PXtwb2ludDptLGxpbmVTdGFydDp5LGxpbmVFbmQ6Yixwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtlLnBvbHlnb25TdGFydCgpLHYubGluZVN0YXJ0PV99LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtlLnBvbHlnb25FbmQoKSx2LmxpbmVTdGFydD15fX07ZnVuY3Rpb24gbShyLG4pe3I9dChyLG4pLGUucG9pbnQoclswXSxyWzFdKX1mdW5jdGlvbiB5KCl7aD1OYU4sdi5wb2ludD14LGUubGluZVN0YXJ0KCl9ZnVuY3Rpb24geChyLGEpe3ZhciBvPXpyKFtyLGFdKSxzPXQocixhKTtpKGgsZix1LHAsZCxnLGg9c1swXSxmPXNbMV0sdT1yLHA9b1swXSxkPW9bMV0sZz1vWzJdLG4sZSksZS5wb2ludChoLGYpfWZ1bmN0aW9uIGIoKXt2LnBvaW50PW0sZS5saW5lRW5kKCl9ZnVuY3Rpb24gXygpe3koKSx2LnBvaW50PXcsdi5saW5lRW5kPWt9ZnVuY3Rpb24gdyh0LGUpe3gocj10LGUpLGE9aCxvPWYscz1wLGw9ZCxjPWcsdi5wb2ludD14fWZ1bmN0aW9uIGsoKXtpKGgsZix1LHAsZCxnLGEsbyxyLHMsbCxjLG4sZSksdi5saW5lRW5kPWIsYigpfXJldHVybiB2fTpmdW5jdGlvbihlKXtyZXR1cm4gTG4oZSxmdW5jdGlvbihyLG4pe3I9dChyLG4pLGUucG9pbnQoclswXSxyWzFdKX0pfSkoZSl9ZnVuY3Rpb24gaShuLGEsbyxzLGwsYyx1LGgsZixwLGQsZyx2LG0pe3ZhciB4PXUtbixiPWgtYSxfPXgqeCtiKmI7aWYoXz40KmUmJnYtLSl7dmFyIHc9cytwLGs9bCtkLFQ9YytnLE09TWF0aC5zcXJ0KHcqdytrKmsrVCpUKSxBPU1hdGguYXNpbihULz1NKSxTPXkoeShUKS0xKTxrdHx8eShvLWYpPGt0PyhvK2YpLzI6TWF0aC5hdGFuMihrLHcpLEU9dChTLEEpLEw9RVswXSxDPUVbMV0sUD1MLW4sTz1DLWEsej1iKlAteCpPOyh6KnovXz5lfHx5KCh4KlArYipPKS9fLS41KT4uM3x8cypwK2wqZCtjKmc8cikmJihpKG4sYSxvLHMsbCxjLEwsQyxTLHcvPU0say89TSxULHYsbSksbS5wb2ludChMLEMpLGkoTCxDLFMsdyxrLFQsdSxoLGYscCxkLGcsdixtKSl9fXJldHVybiBhLnByZWNpc2lvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0oZT10KnQpPjAmJjE2LGEpOk1hdGguc3FydChlKX0sYX1mdW5jdGlvbiBFbih0KXt0aGlzLnN0cmVhbT10fWZ1bmN0aW9uIExuKHQsZSl7cmV0dXJue3BvaW50OmUsc3BoZXJlOmZ1bmN0aW9uKCl7dC5zcGhlcmUoKX0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dC5saW5lU3RhcnQoKX0sbGluZUVuZDpmdW5jdGlvbigpe3QubGluZUVuZCgpfSxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXt0LnBvbHlnb25TdGFydCgpfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7dC5wb2x5Z29uRW5kKCl9fX1mdW5jdGlvbiBDbih0KXtyZXR1cm4gUG4oZnVuY3Rpb24oKXtyZXR1cm4gdH0pKCl9ZnVuY3Rpb24gUG4oZSl7dmFyIHIsbixhLGksbyxzLGw9U24oZnVuY3Rpb24odCxlKXtyZXR1cm5bKHQ9cih0LGUpKVswXSpjK2ksby10WzFdKmNdfSksYz0xNTAsdT00ODAsaD0yNTAsZj0wLHA9MCxkPTAsZz0wLHY9MCxtPXJuLHg9UCxiPW51bGwsXz1udWxsO2Z1bmN0aW9uIHcodCl7cmV0dXJuWyh0PWEodFswXSpMdCx0WzFdKkx0KSlbMF0qYytpLG8tdFsxXSpjXX1mdW5jdGlvbiBrKHQpe3JldHVybih0PWEuaW52ZXJ0KCh0WzBdLWkpL2MsKG8tdFsxXSkvYykpJiZbdFswXSpDdCx0WzFdKkN0XX1mdW5jdGlvbiBUKCl7YT1XcihuPURuKGQsZyx2KSxyKTt2YXIgdD1yKGYscCk7cmV0dXJuIGk9dS10WzBdKmMsbz1oK3RbMV0qYyxNKCl9ZnVuY3Rpb24gTSgpe3JldHVybiBzJiYocy52YWxpZD0hMSxzPW51bGwpLHd9cmV0dXJuIHcuc3RyZWFtPWZ1bmN0aW9uKHQpe3JldHVybiBzJiYocy52YWxpZD0hMSksKHM9T24obShuLGwoeCh0KSkpKSkudmFsaWQ9ITAsc30sdy5jbGlwQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG09bnVsbD09dD8oYj10LHJuKTpmdW5jdGlvbih0KXt2YXIgZT1NYXRoLmNvcyh0KSxyPWU+MCxuPXkoZSk+a3Q7cmV0dXJuIFFyKGEsZnVuY3Rpb24odCl7dmFyIGUscyxsLGMsdTtyZXR1cm57bGluZVN0YXJ0OmZ1bmN0aW9uKCl7Yz1sPSExLHU9MX0scG9pbnQ6ZnVuY3Rpb24oaCxmKXt2YXIgcCxkPVtoLGZdLGc9YShoLGYpLHY9cj9nPzA6byhoLGYpOmc/byhoKyhoPDA/TXQ6LU10KSxmKTowO2lmKCFlJiYoYz1sPWcpJiZ0LmxpbmVTdGFydCgpLGchPT1sJiYocD1pKGUsZCksKGpyKGUscCl8fGpyKGQscCkpJiYoZFswXSs9a3QsZFsxXSs9a3QsZz1hKGRbMF0sZFsxXSkpKSxnIT09bCl1PTAsZz8odC5saW5lU3RhcnQoKSxwPWkoZCxlKSx0LnBvaW50KHBbMF0scFsxXSkpOihwPWkoZSxkKSx0LnBvaW50KHBbMF0scFsxXSksdC5saW5lRW5kKCkpLGU9cDtlbHNlIGlmKG4mJmUmJnJeZyl7dmFyIG07diZzfHwhKG09aShkLGUsITApKXx8KHU9MCxyPyh0LmxpbmVTdGFydCgpLHQucG9pbnQobVswXVswXSxtWzBdWzFdKSx0LnBvaW50KG1bMV1bMF0sbVsxXVsxXSksdC5saW5lRW5kKCkpOih0LnBvaW50KG1bMV1bMF0sbVsxXVsxXSksdC5saW5lRW5kKCksdC5saW5lU3RhcnQoKSx0LnBvaW50KG1bMF1bMF0sbVswXVsxXSkpKX0hZ3x8ZSYmanIoZSxkKXx8dC5wb2ludChkWzBdLGRbMV0pLGU9ZCxsPWcscz12fSxsaW5lRW5kOmZ1bmN0aW9uKCl7bCYmdC5saW5lRW5kKCksZT1udWxsfSxjbGVhbjpmdW5jdGlvbigpe3JldHVybiB1fChjJiZsKTw8MX19fSxObih0LDYqTHQpLHI/WzAsLXRdOlstTXQsdC1NdF0pO2Z1bmN0aW9uIGEodCxyKXtyZXR1cm4gTWF0aC5jb3ModCkqTWF0aC5jb3Mocik+ZX1mdW5jdGlvbiBpKHQscixuKXt2YXIgYT1bMSwwLDBdLGk9RHIoenIodCksenIocikpLG89SXIoaSxpKSxzPWlbMF0sbD1vLXMqcztpZighbClyZXR1cm4hbiYmdDt2YXIgYz1lKm8vbCx1PS1lKnMvbCxoPURyKGEsaSksZj1GcihhLGMpO1JyKGYsRnIoaSx1KSk7dmFyIHA9aCxkPUlyKGYscCksZz1JcihwLHApLHY9ZCpkLWcqKElyKGYsZiktMSk7aWYoISh2PDApKXt2YXIgbT1NYXRoLnNxcnQodikseD1GcihwLCgtZC1tKS9nKTtpZihScih4LGYpLHg9TnIoeCksIW4pcmV0dXJuIHg7dmFyIGIsXz10WzBdLHc9clswXSxrPXRbMV0sVD1yWzFdO3c8XyYmKGI9XyxfPXcsdz1iKTt2YXIgTT13LV8sQT15KE0tTXQpPGt0O2lmKCFBJiZUPGsmJihiPWssaz1ULFQ9YiksQXx8TTxrdD9BP2srVD4wXnhbMV08KHkoeFswXS1fKTxrdD9rOlQpOms8PXhbMV0mJnhbMV08PVQ6TT5NdF4oXzw9eFswXSYmeFswXTw9dykpe3ZhciBTPUZyKHAsKC1kK20pL2cpO3JldHVybiBScihTLGYpLFt4LE5yKFMpXX19fWZ1bmN0aW9uIG8oZSxuKXt2YXIgYT1yP3Q6TXQtdCxpPTA7cmV0dXJuIGU8LWE/aXw9MTplPmEmJihpfD0yKSxuPC1hP2l8PTQ6bj5hJiYoaXw9OCksaX19KChiPSt0KSpMdCksTSgpKTpifSx3LmNsaXBFeHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KF89dCx4PXQ/b24odFswXVswXSx0WzBdWzFdLHRbMV1bMF0sdFsxXVsxXSk6UCxNKCkpOl99LHcuc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGM9K3QsVCgpKTpjfSx3LnRyYW5zbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odT0rdFswXSxoPSt0WzFdLFQoKSk6W3UsaF19LHcuY2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhmPXRbMF0lMzYwKkx0LHA9dFsxXSUzNjAqTHQsVCgpKTpbZipDdCxwKkN0XX0sdy5yb3RhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGQ9dFswXSUzNjAqTHQsZz10WzFdJTM2MCpMdCx2PXQubGVuZ3RoPjI/dFsyXSUzNjAqTHQ6MCxUKCkpOltkKkN0LGcqQ3QsdipDdF19LHQucmViaW5kKHcsbCwicHJlY2lzaW9uIiksZnVuY3Rpb24oKXtyZXR1cm4gcj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx3LmludmVydD1yLmludmVydCYmayxUKCl9fWZ1bmN0aW9uIE9uKHQpe3JldHVybiBMbih0LGZ1bmN0aW9uKGUscil7dC5wb2ludChlKkx0LHIqTHQpfSl9ZnVuY3Rpb24gem4odCxlKXtyZXR1cm5bdCxlXX1mdW5jdGlvbiBJbih0LGUpe3JldHVyblt0Pk10P3QtQXQ6dDwtTXQ/dCtBdDp0LGVdfWZ1bmN0aW9uIERuKHQsZSxyKXtyZXR1cm4gdD9lfHxyP1dyKEZuKHQpLEJuKGUscikpOkZuKHQpOmV8fHI/Qm4oZSxyKTpJbn1mdW5jdGlvbiBSbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyKXtyZXR1cm5bKGUrPXQpPk10P2UtQXQ6ZTwtTXQ/ZStBdDplLHJdfX1mdW5jdGlvbiBGbih0KXt2YXIgZT1Sbih0KTtyZXR1cm4gZS5pbnZlcnQ9Um4oLXQpLGV9ZnVuY3Rpb24gQm4odCxlKXt2YXIgcj1NYXRoLmNvcyh0KSxuPU1hdGguc2luKHQpLGE9TWF0aC5jb3MoZSksaT1NYXRoLnNpbihlKTtmdW5jdGlvbiBvKHQsZSl7dmFyIG89TWF0aC5jb3MoZSkscz1NYXRoLmNvcyh0KSpvLGw9TWF0aC5zaW4odCkqbyxjPU1hdGguc2luKGUpLHU9YypyK3MqbjtyZXR1cm5bTWF0aC5hdGFuMihsKmEtdSppLHMqci1jKm4pLEl0KHUqYStsKmkpXX1yZXR1cm4gby5pbnZlcnQ9ZnVuY3Rpb24odCxlKXt2YXIgbz1NYXRoLmNvcyhlKSxzPU1hdGguY29zKHQpKm8sbD1NYXRoLnNpbih0KSpvLGM9TWF0aC5zaW4oZSksdT1jKmEtbCppO3JldHVybltNYXRoLmF0YW4yKGwqYStjKmkscypyK3UqbiksSXQodSpyLXMqbildfSxvfWZ1bmN0aW9uIE5uKHQsZSl7dmFyIHI9TWF0aC5jb3ModCksbj1NYXRoLnNpbih0KTtyZXR1cm4gZnVuY3Rpb24oYSxpLG8scyl7dmFyIGw9byplO251bGwhPWE/KGE9am4ocixhKSxpPWpuKHIsaSksKG8+MD9hPGk6YT5pKSYmKGErPW8qQXQpKTooYT10K28qQXQsaT10LS41KmwpO2Zvcih2YXIgYyx1PWE7bz4wP3U+aTp1PGk7dS09bClzLnBvaW50KChjPU5yKFtyLC1uKk1hdGguY29zKHUpLC1uKk1hdGguc2luKHUpXSkpWzBdLGNbMV0pfX1mdW5jdGlvbiBqbih0LGUpe3ZhciByPXpyKGUpO3JbMF0tPXQsQnIocik7dmFyIG49enQoLXJbMV0pO3JldHVybigoLXJbMl08MD8tbjpuKSsyKk1hdGguUEkta3QpJSgyKk1hdGguUEkpfWZ1bmN0aW9uIFZuKGUscixuKXt2YXIgYT10LnJhbmdlKGUsci1rdCxuKS5jb25jYXQocik7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBhLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bdCxlXX0pfX1mdW5jdGlvbiBVbihlLHIsbil7dmFyIGE9dC5yYW5nZShlLHIta3QsbikuY29uY2F0KHIpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gYS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuW2UsdF19KX19ZnVuY3Rpb24gcW4odCl7cmV0dXJuIHQuc291cmNlfWZ1bmN0aW9uIEhuKHQpe3JldHVybiB0LnRhcmdldH10Lmdlby5wYXRoPWZ1bmN0aW9uKCl7dmFyIGUscixuLGEsaSxvPTQuNTtmdW5jdGlvbiBzKGUpe3JldHVybiBlJiYoImZ1bmN0aW9uIj09dHlwZW9mIG8mJmEucG9pbnRSYWRpdXMoK28uYXBwbHkodGhpcyxhcmd1bWVudHMpKSxpJiZpLnZhbGlkfHwoaT1uKGEpKSx0Lmdlby5zdHJlYW0oZSxpKSksYS5yZXN1bHQoKX1mdW5jdGlvbiBsKCl7cmV0dXJuIGk9bnVsbCxzfXJldHVybiBzLmFyZWE9ZnVuY3Rpb24oZSl7cmV0dXJuIGNuPTAsdC5nZW8uc3RyZWFtKGUsbihnbikpLGNufSxzLmNlbnRyb2lkPWZ1bmN0aW9uKGUpe3JldHVybiBfcj13cj1rcj1Ucj1Ncj1Bcj1Tcj1Fcj1Mcj0wLHQuZ2VvLnN0cmVhbShlLG4oX24pKSxMcj9bU3IvTHIsRXIvTHJdOkFyP1tUci9BcixNci9Bcl06a3I/W19yL2tyLHdyL2tyXTpbTmFOLE5hTl19LHMuYm91bmRzPWZ1bmN0aW9uKGUpe3JldHVybiBwbj1kbj0tKGhuPWZuPTEvMCksdC5nZW8uc3RyZWFtKGUsbihtbikpLFtbaG4sZm5dLFtwbixkbl1dfSxzLnByb2plY3Rpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49KGU9dCk/dC5zdHJlYW18fChyPXQsYT1TbihmdW5jdGlvbih0LGUpe3JldHVybiByKFt0KkN0LGUqQ3RdKX0pLGZ1bmN0aW9uKHQpe3JldHVybiBPbihhKHQpKX0pOlAsbCgpKTplO3ZhciByLGF9LHMuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT1udWxsPT0ocj10KT9uZXcgeW46bmV3IEFuKHQpLCJmdW5jdGlvbiIhPXR5cGVvZiBvJiZhLnBvaW50UmFkaXVzKG8pLGwoKSk6cn0scy5wb2ludFJhZGl1cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OihhLnBvaW50UmFkaXVzKCt0KSwrdCkscyk6b30scy5wcm9qZWN0aW9uKHQuZ2VvLmFsYmVyc1VzYSgpKS5jb250ZXh0KG51bGwpfSx0Lmdlby50cmFuc2Zvcm09ZnVuY3Rpb24odCl7cmV0dXJue3N0cmVhbTpmdW5jdGlvbihlKXt2YXIgcj1uZXcgRW4oZSk7Zm9yKHZhciBuIGluIHQpcltuXT10W25dO3JldHVybiByfX19LEVuLnByb3RvdHlwZT17cG9pbnQ6ZnVuY3Rpb24odCxlKXt0aGlzLnN0cmVhbS5wb2ludCh0LGUpfSxzcGhlcmU6ZnVuY3Rpb24oKXt0aGlzLnN0cmVhbS5zcGhlcmUoKX0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5zdHJlYW0ubGluZVN0YXJ0KCl9LGxpbmVFbmQ6ZnVuY3Rpb24oKXt0aGlzLnN0cmVhbS5saW5lRW5kKCl9LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe3RoaXMuc3RyZWFtLnBvbHlnb25TdGFydCgpfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7dGhpcy5zdHJlYW0ucG9seWdvbkVuZCgpfX0sdC5nZW8ucHJvamVjdGlvbj1Dbix0Lmdlby5wcm9qZWN0aW9uTXV0YXRvcj1QbiwodC5nZW8uZXF1aXJlY3Rhbmd1bGFyPWZ1bmN0aW9uKCl7cmV0dXJuIENuKHpuKX0pLnJhdz16bi5pbnZlcnQ9em4sdC5nZW8ucm90YXRpb249ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4oZT10KGVbMF0qTHQsZVsxXSpMdCkpWzBdKj1DdCxlWzFdKj1DdCxlfXJldHVybiB0PURuKHRbMF0lMzYwKkx0LHRbMV0qTHQsdC5sZW5ndGg+Mj90WzJdKkx0OjApLGUuaW52ZXJ0PWZ1bmN0aW9uKGUpe3JldHVybihlPXQuaW52ZXJ0KGVbMF0qTHQsZVsxXSpMdCkpWzBdKj1DdCxlWzFdKj1DdCxlfSxlfSxJbi5pbnZlcnQ9em4sdC5nZW8uY2lyY2xlPWZ1bmN0aW9uKCl7dmFyIHQsZSxyPVswLDBdLG49NjtmdW5jdGlvbiBhKCl7dmFyIHQ9ImZ1bmN0aW9uIj09dHlwZW9mIHI/ci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6cixuPURuKC10WzBdKkx0LC10WzFdKkx0LDApLmludmVydCxhPVtdO3JldHVybiBlKG51bGwsbnVsbCwxLHtwb2ludDpmdW5jdGlvbih0LGUpe2EucHVzaCh0PW4odCxlKSksdFswXSo9Q3QsdFsxXSo9Q3R9fSkse3R5cGU6IlBvbHlnb24iLGNvb3JkaW5hdGVzOlthXX19cmV0dXJuIGEub3JpZ2luPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPXQsYSk6cn0sYS5hbmdsZT1mdW5jdGlvbihyKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT1ObigodD0rcikqTHQsbipMdCksYSk6dH0sYS5wcmVjaXNpb249ZnVuY3Rpb24ocil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9Tm4odCpMdCwobj0rcikqTHQpLGEpOm59LGEuYW5nbGUoOTApfSx0Lmdlby5kaXN0YW5jZT1mdW5jdGlvbih0LGUpe3ZhciByLG49KGVbMF0tdFswXSkqTHQsYT10WzFdKkx0LGk9ZVsxXSpMdCxvPU1hdGguc2luKG4pLHM9TWF0aC5jb3MobiksbD1NYXRoLnNpbihhKSxjPU1hdGguY29zKGEpLHU9TWF0aC5zaW4oaSksaD1NYXRoLmNvcyhpKTtyZXR1cm4gTWF0aC5hdGFuMihNYXRoLnNxcnQoKHI9aCpvKSpyKyhyPWMqdS1sKmgqcykqciksbCp1K2MqaCpzKX0sdC5nZW8uZ3JhdGljdWxlPWZ1bmN0aW9uKCl7dmFyIGUscixuLGEsaSxvLHMsbCxjLHUsaCxmLHA9MTAsZD1wLGc9OTAsdj0zNjAsbT0yLjU7ZnVuY3Rpb24geCgpe3JldHVybnt0eXBlOiJNdWx0aUxpbmVTdHJpbmciLGNvb3JkaW5hdGVzOmIoKX19ZnVuY3Rpb24gYigpe3JldHVybiB0LnJhbmdlKE1hdGguY2VpbChhL2cpKmcsbixnKS5tYXAoaCkuY29uY2F0KHQucmFuZ2UoTWF0aC5jZWlsKGwvdikqdixzLHYpLm1hcChmKSkuY29uY2F0KHQucmFuZ2UoTWF0aC5jZWlsKHIvcCkqcCxlLHApLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4geSh0JWcpPmt0fSkubWFwKGMpKS5jb25jYXQodC5yYW5nZShNYXRoLmNlaWwoby9kKSpkLGksZCkuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB5KHQldik+a3R9KS5tYXAodSkpfXJldHVybiB4LmxpbmVzPWZ1bmN0aW9uKCl7cmV0dXJuIGIoKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJue3R5cGU6IkxpbmVTdHJpbmciLGNvb3JkaW5hdGVzOnR9fSl9LHgub3V0bGluZT1mdW5jdGlvbigpe3JldHVybnt0eXBlOiJQb2x5Z29uIixjb29yZGluYXRlczpbaChhKS5jb25jYXQoZihzKS5zbGljZSgxKSxoKG4pLnJldmVyc2UoKS5zbGljZSgxKSxmKGwpLnJldmVyc2UoKS5zbGljZSgxKSldfX0seC5leHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/eC5tYWpvckV4dGVudCh0KS5taW5vckV4dGVudCh0KTp4Lm1pbm9yRXh0ZW50KCl9LHgubWFqb3JFeHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9K3RbMF1bMF0sbj0rdFsxXVswXSxsPSt0WzBdWzFdLHM9K3RbMV1bMV0sYT5uJiYodD1hLGE9bixuPXQpLGw+cyYmKHQ9bCxsPXMscz10KSx4LnByZWNpc2lvbihtKSk6W1thLGxdLFtuLHNdXX0seC5taW5vckV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0rdFswXVswXSxlPSt0WzFdWzBdLG89K3RbMF1bMV0saT0rdFsxXVsxXSxyPmUmJih0PXIscj1lLGU9dCksbz5pJiYodD1vLG89aSxpPXQpLHgucHJlY2lzaW9uKG0pKTpbW3Isb10sW2UsaV1dfSx4LnN0ZXA9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/eC5tYWpvclN0ZXAodCkubWlub3JTdGVwKHQpOngubWlub3JTdGVwKCl9LHgubWFqb3JTdGVwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhnPSt0WzBdLHY9K3RbMV0seCk6W2csdl19LHgubWlub3JTdGVwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhwPSt0WzBdLGQ9K3RbMV0seCk6W3AsZF19LHgucHJlY2lzaW9uPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhtPSt0LGM9Vm4obyxpLDkwKSx1PVVuKHIsZSxtKSxoPVZuKGwscyw5MCksZj1VbihhLG4sbSkseCk6bX0seC5tYWpvckV4dGVudChbWy0xODAsLTkwK2t0XSxbMTgwLDkwLWt0XV0pLm1pbm9yRXh0ZW50KFtbLTE4MCwtODAta3RdLFsxODAsODAra3RdXSl9LHQuZ2VvLmdyZWF0QXJjPWZ1bmN0aW9uKCl7dmFyIGUscixuPXFuLGE9SG47ZnVuY3Rpb24gaSgpe3JldHVybnt0eXBlOiJMaW5lU3RyaW5nIixjb29yZGluYXRlczpbZXx8bi5hcHBseSh0aGlzLGFyZ3VtZW50cykscnx8YS5hcHBseSh0aGlzLGFyZ3VtZW50cyldfX1yZXR1cm4gaS5kaXN0YW5jZT1mdW5jdGlvbigpe3JldHVybiB0Lmdlby5kaXN0YW5jZShlfHxuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxyfHxhLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGkuc291cmNlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQsZT0iZnVuY3Rpb24iPT10eXBlb2YgdD9udWxsOnQsaSk6bn0saS50YXJnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dCxyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P251bGw6dCxpKTphfSxpLnByZWNpc2lvbj1mdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP2k6MH0saX0sdC5nZW8uaW50ZXJwb2xhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gcj10WzBdKkx0LG49dFsxXSpMdCxhPWVbMF0qTHQsaT1lWzFdKkx0LG89TWF0aC5jb3Mobikscz1NYXRoLnNpbihuKSxsPU1hdGguY29zKGkpLGM9TWF0aC5zaW4oaSksdT1vKk1hdGguY29zKHIpLGg9bypNYXRoLnNpbihyKSxmPWwqTWF0aC5jb3MoYSkscD1sKk1hdGguc2luKGEpLGQ9MipNYXRoLmFzaW4oTWF0aC5zcXJ0KFJ0KGktbikrbypsKlJ0KGEtcikpKSxnPTEvTWF0aC5zaW4oZCksKHY9ZD9mdW5jdGlvbih0KXt2YXIgZT1NYXRoLnNpbih0Kj1kKSpnLHI9TWF0aC5zaW4oZC10KSpnLG49cip1K2UqZixhPXIqaCtlKnAsaT1yKnMrZSpjO3JldHVybltNYXRoLmF0YW4yKGEsbikqQ3QsTWF0aC5hdGFuMihpLE1hdGguc3FydChuKm4rYSphKSkqQ3RdfTpmdW5jdGlvbigpe3JldHVybltyKkN0LG4qQ3RdfSkuZGlzdGFuY2U9ZCx2O3ZhciByLG4sYSxpLG8scyxsLGMsdSxoLGYscCxkLGcsdn0sdC5nZW8ubGVuZ3RoPWZ1bmN0aW9uKGUpe3JldHVybiBibj0wLHQuZ2VvLnN0cmVhbShlLEduKSxibn07dmFyIEduPXtzcGhlcmU6RCxwb2ludDpELGxpbmVTdGFydDpmdW5jdGlvbigpe3ZhciB0LGUscjtmdW5jdGlvbiBuKG4sYSl7dmFyIGk9TWF0aC5zaW4oYSo9THQpLG89TWF0aC5jb3MoYSkscz15KChuKj1MdCktdCksbD1NYXRoLmNvcyhzKTtibis9TWF0aC5hdGFuMihNYXRoLnNxcnQoKHM9bypNYXRoLnNpbihzKSkqcysocz1yKmktZSpvKmwpKnMpLGUqaStyKm8qbCksdD1uLGU9aSxyPW99R24ucG9pbnQ9ZnVuY3Rpb24oYSxpKXt0PWEqTHQsZT1NYXRoLnNpbihpKj1MdCkscj1NYXRoLmNvcyhpKSxHbi5wb2ludD1ufSxHbi5saW5lRW5kPWZ1bmN0aW9uKCl7R24ucG9pbnQ9R24ubGluZUVuZD1EfX0sbGluZUVuZDpELHBvbHlnb25TdGFydDpELHBvbHlnb25FbmQ6RH07ZnVuY3Rpb24gWW4odCxlKXtmdW5jdGlvbiByKGUscil7dmFyIG49TWF0aC5jb3MoZSksYT1NYXRoLmNvcyhyKSxpPXQobiphKTtyZXR1cm5baSphKk1hdGguc2luKGUpLGkqTWF0aC5zaW4ocildfXJldHVybiByLmludmVydD1mdW5jdGlvbih0LHIpe3ZhciBuPU1hdGguc3FydCh0KnQrcipyKSxhPWUobiksaT1NYXRoLnNpbihhKSxvPU1hdGguY29zKGEpO3JldHVybltNYXRoLmF0YW4yKHQqaSxuKm8pLE1hdGguYXNpbihuJiZyKmkvbildfSxyfXZhciBXbj1ZbihmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5zcXJ0KDIvKDErdCkpfSxmdW5jdGlvbih0KXtyZXR1cm4gMipNYXRoLmFzaW4odC8yKX0pOyh0Lmdlby5hemltdXRoYWxFcXVhbEFyZWE9ZnVuY3Rpb24oKXtyZXR1cm4gQ24oV24pfSkucmF3PVduO3ZhciBYbj1ZbihmdW5jdGlvbih0KXt2YXIgZT1NYXRoLmFjb3ModCk7cmV0dXJuIGUmJmUvTWF0aC5zaW4oZSl9LFApO2Z1bmN0aW9uIFpuKHQsZSl7dmFyIHI9TWF0aC5jb3ModCksbj1mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC50YW4oTXQvNCt0LzIpfSxhPXQ9PT1lP01hdGguc2luKHQpOk1hdGgubG9nKHIvTWF0aC5jb3MoZSkpL01hdGgubG9nKG4oZSkvbih0KSksaT1yKk1hdGgucG93KG4odCksYSkvYTtpZighYSlyZXR1cm4gUW47ZnVuY3Rpb24gbyh0LGUpe2k+MD9lPC1FdCtrdCYmKGU9LUV0K2t0KTplPkV0LWt0JiYoZT1FdC1rdCk7dmFyIHI9aS9NYXRoLnBvdyhuKGUpLGEpO3JldHVybltyKk1hdGguc2luKGEqdCksaS1yKk1hdGguY29zKGEqdCldfXJldHVybiBvLmludmVydD1mdW5jdGlvbih0LGUpe3ZhciByPWktZSxuPVB0KGEpKk1hdGguc3FydCh0KnQrcipyKTtyZXR1cm5bTWF0aC5hdGFuMih0LHIpL2EsMipNYXRoLmF0YW4oTWF0aC5wb3coaS9uLDEvYSkpLUV0XX0sb31mdW5jdGlvbiBKbih0LGUpe3ZhciByPU1hdGguY29zKHQpLG49dD09PWU/TWF0aC5zaW4odCk6KHItTWF0aC5jb3MoZSkpLyhlLXQpLGE9ci9uK3Q7aWYoeShuKTxrdClyZXR1cm4gem47ZnVuY3Rpb24gaSh0LGUpe3ZhciByPWEtZTtyZXR1cm5bcipNYXRoLnNpbihuKnQpLGEtcipNYXRoLmNvcyhuKnQpXX1yZXR1cm4gaS5pbnZlcnQ9ZnVuY3Rpb24odCxlKXt2YXIgcj1hLWU7cmV0dXJuW01hdGguYXRhbjIodCxyKS9uLGEtUHQobikqTWF0aC5zcXJ0KHQqdCtyKnIpXX0saX0odC5nZW8uYXppbXV0aGFsRXF1aWRpc3RhbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gQ24oWG4pfSkucmF3PVhuLCh0Lmdlby5jb25pY0NvbmZvcm1hbD1mdW5jdGlvbigpe3JldHVybiBzbihabil9KS5yYXc9Wm4sKHQuZ2VvLmNvbmljRXF1aWRpc3RhbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gc24oSm4pfSkucmF3PUpuO3ZhciBLbj1ZbihmdW5jdGlvbih0KXtyZXR1cm4gMS90fSxNYXRoLmF0YW4pO2Z1bmN0aW9uIFFuKHQsZSl7cmV0dXJuW3QsTWF0aC5sb2coTWF0aC50YW4oTXQvNCtlLzIpKV19ZnVuY3Rpb24gJG4odCl7dmFyIGUscj1Dbih0KSxuPXIuc2NhbGUsYT1yLnRyYW5zbGF0ZSxpPXIuY2xpcEV4dGVudDtyZXR1cm4gci5zY2FsZT1mdW5jdGlvbigpe3ZhciB0PW4uYXBwbHkocixhcmd1bWVudHMpO3JldHVybiB0PT09cj9lP3IuY2xpcEV4dGVudChudWxsKTpyOnR9LHIudHJhbnNsYXRlPWZ1bmN0aW9uKCl7dmFyIHQ9YS5hcHBseShyLGFyZ3VtZW50cyk7cmV0dXJuIHQ9PT1yP2U/ci5jbGlwRXh0ZW50KG51bGwpOnI6dH0sci5jbGlwRXh0ZW50PWZ1bmN0aW9uKHQpe3ZhciBvPWkuYXBwbHkocixhcmd1bWVudHMpO2lmKG89PT1yKXtpZihlPW51bGw9PXQpe3ZhciBzPU10Km4oKSxsPWEoKTtpKFtbbFswXS1zLGxbMV0tc10sW2xbMF0rcyxsWzFdK3NdXSl9fWVsc2UgZSYmKG89bnVsbCk7cmV0dXJuIG99LHIuY2xpcEV4dGVudChudWxsKX0odC5nZW8uZ25vbW9uaWM9ZnVuY3Rpb24oKXtyZXR1cm4gQ24oS24pfSkucmF3PUtuLFFuLmludmVydD1mdW5jdGlvbih0LGUpe3JldHVyblt0LDIqTWF0aC5hdGFuKE1hdGguZXhwKGUpKS1FdF19LCh0Lmdlby5tZXJjYXRvcj1mdW5jdGlvbigpe3JldHVybiAkbihRbil9KS5yYXc9UW47dmFyIHRhPVluKGZ1bmN0aW9uKCl7cmV0dXJuIDF9LE1hdGguYXNpbik7KHQuZ2VvLm9ydGhvZ3JhcGhpYz1mdW5jdGlvbigpe3JldHVybiBDbih0YSl9KS5yYXc9dGE7dmFyIGVhPVluKGZ1bmN0aW9uKHQpe3JldHVybiAxLygxK3QpfSxmdW5jdGlvbih0KXtyZXR1cm4gMipNYXRoLmF0YW4odCl9KTtmdW5jdGlvbiByYSh0LGUpe3JldHVybltNYXRoLmxvZyhNYXRoLnRhbihNdC80K2UvMikpLC10XX1mdW5jdGlvbiBuYSh0KXtyZXR1cm4gdFswXX1mdW5jdGlvbiBhYSh0KXtyZXR1cm4gdFsxXX1mdW5jdGlvbiBpYSh0KXtmb3IodmFyIGU9dC5sZW5ndGgscj1bMCwxXSxuPTIsYT0yO2E8ZTthKyspe2Zvcig7bj4xJiZPdCh0W3Jbbi0yXV0sdFtyW24tMV1dLHRbYV0pPD0wOyktLW47cltuKytdPWF9cmV0dXJuIHIuc2xpY2UoMCxuKX1mdW5jdGlvbiBvYSh0LGUpe3JldHVybiB0WzBdLWVbMF18fHRbMV0tZVsxXX0odC5nZW8uc3RlcmVvZ3JhcGhpYz1mdW5jdGlvbigpe3JldHVybiBDbihlYSl9KS5yYXc9ZWEscmEuaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuWy1lLDIqTWF0aC5hdGFuKE1hdGguZXhwKHQpKS1FdF19LCh0Lmdlby50cmFuc3ZlcnNlTWVyY2F0b3I9ZnVuY3Rpb24oKXt2YXIgdD0kbihyYSksZT10LmNlbnRlcixyPXQucm90YXRlO3JldHVybiB0LmNlbnRlcj1mdW5jdGlvbih0KXtyZXR1cm4gdD9lKFstdFsxXSx0WzBdXSk6Wyh0PWUoKSlbMV0sLXRbMF1dfSx0LnJvdGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdD9yKFt0WzBdLHRbMV0sdC5sZW5ndGg+Mj90WzJdKzkwOjkwXSk6Wyh0PXIoKSlbMF0sdFsxXSx0WzJdLTkwXX0scihbMCwwLDkwXSl9KS5yYXc9cmEsdC5nZW9tPXt9LHQuZ2VvbS5odWxsPWZ1bmN0aW9uKHQpe3ZhciBlPW5hLHI9YWE7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gbih0KTtmdW5jdGlvbiBuKHQpe2lmKHQubGVuZ3RoPDMpcmV0dXJuW107dmFyIG4sYT12ZShlKSxpPXZlKHIpLG89dC5sZW5ndGgscz1bXSxsPVtdO2ZvcihuPTA7bjxvO24rKylzLnB1c2goWythLmNhbGwodGhpcyx0W25dLG4pLCtpLmNhbGwodGhpcyx0W25dLG4pLG5dKTtmb3Iocy5zb3J0KG9hKSxuPTA7bjxvO24rKylsLnB1c2goW3Nbbl1bMF0sLXNbbl1bMV1dKTt2YXIgYz1pYShzKSx1PWlhKGwpLGg9dVswXT09PWNbMF0sZj11W3UubGVuZ3RoLTFdPT09Y1tjLmxlbmd0aC0xXSxwPVtdO2ZvcihuPWMubGVuZ3RoLTE7bj49MDstLW4pcC5wdXNoKHRbc1tjW25dXVsyXV0pO2ZvcihuPStoO248dS5sZW5ndGgtZjsrK24pcC5wdXNoKHRbc1t1W25dXVsyXV0pO3JldHVybiBwfXJldHVybiBuLng9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxuKTplfSxuLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9dCxuKTpyfSxufSx0Lmdlb20ucG9seWdvbj1mdW5jdGlvbih0KXtyZXR1cm4gVSh0LHNhKSx0fTt2YXIgc2E9dC5nZW9tLnBvbHlnb24ucHJvdG90eXBlPVtdO2Z1bmN0aW9uIGxhKHQsZSxyKXtyZXR1cm4oclswXS1lWzBdKSoodFsxXS1lWzFdKTwoclsxXS1lWzFdKSoodFswXS1lWzBdKX1mdW5jdGlvbiBjYSh0LGUscixuKXt2YXIgYT10WzBdLGk9clswXSxvPWVbMF0tYSxzPW5bMF0taSxsPXRbMV0sYz1yWzFdLHU9ZVsxXS1sLGg9blsxXS1jLGY9KHMqKGwtYyktaCooYS1pKSkvKGgqby1zKnUpO3JldHVyblthK2YqbyxsK2YqdV19ZnVuY3Rpb24gdWEodCl7dmFyIGU9dFswXSxyPXRbdC5sZW5ndGgtMV07cmV0dXJuIShlWzBdLXJbMF18fGVbMV0tclsxXSl9c2EuYXJlYT1mdW5jdGlvbigpe2Zvcih2YXIgdCxlPS0xLHI9dGhpcy5sZW5ndGgsbj10aGlzW3ItMV0sYT0wOysrZTxyOyl0PW4sbj10aGlzW2VdLGErPXRbMV0qblswXS10WzBdKm5bMV07cmV0dXJuLjUqYX0sc2EuY2VudHJvaWQ9ZnVuY3Rpb24odCl7dmFyIGUscixuPS0xLGE9dGhpcy5sZW5ndGgsaT0wLG89MCxzPXRoaXNbYS0xXTtmb3IoYXJndW1lbnRzLmxlbmd0aHx8KHQ9LTEvKDYqdGhpcy5hcmVhKCkpKTsrK248YTspZT1zLHM9dGhpc1tuXSxyPWVbMF0qc1sxXS1zWzBdKmVbMV0saSs9KGVbMF0rc1swXSkqcixvKz0oZVsxXStzWzFdKSpyO3JldHVybltpKnQsbyp0XX0sc2EuY2xpcD1mdW5jdGlvbih0KXtmb3IodmFyIGUscixuLGEsaSxvLHM9dWEodCksbD0tMSxjPXRoaXMubGVuZ3RoLXVhKHRoaXMpLHU9dGhpc1tjLTFdOysrbDxjOyl7Zm9yKGU9dC5zbGljZSgpLHQubGVuZ3RoPTAsYT10aGlzW2xdLGk9ZVsobj1lLmxlbmd0aC1zKS0xXSxyPS0xOysrcjxuOylsYShvPWVbcl0sdSxhKT8obGEoaSx1LGEpfHx0LnB1c2goY2EoaSxvLHUsYSkpLHQucHVzaChvKSk6bGEoaSx1LGEpJiZ0LnB1c2goY2EoaSxvLHUsYSkpLGk9bztzJiZ0LnB1c2godFswXSksdT1hfXJldHVybiB0fTt2YXIgaGEsZmEscGEsZGEsZ2EsdmE9W10sbWE9W107ZnVuY3Rpb24geWEoKXtSYSh0aGlzKSx0aGlzLmVkZ2U9dGhpcy5zaXRlPXRoaXMuY2lyY2xlPW51bGx9ZnVuY3Rpb24geGEodCl7dmFyIGU9dmEucG9wKCl8fG5ldyB5YTtyZXR1cm4gZS5zaXRlPXQsZX1mdW5jdGlvbiBiYSh0KXtMYSh0KSxwYS5yZW1vdmUodCksdmEucHVzaCh0KSxSYSh0KX1mdW5jdGlvbiBfYSh0KXt2YXIgZT10LmNpcmNsZSxyPWUueCxuPWUuY3ksYT17eDpyLHk6bn0saT10LlAsbz10Lk4scz1bdF07YmEodCk7Zm9yKHZhciBsPWk7bC5jaXJjbGUmJnkoci1sLmNpcmNsZS54KTxrdCYmeShuLWwuY2lyY2xlLmN5KTxrdDspaT1sLlAscy51bnNoaWZ0KGwpLGJhKGwpLGw9aTtzLnVuc2hpZnQobCksTGEobCk7Zm9yKHZhciBjPW87Yy5jaXJjbGUmJnkoci1jLmNpcmNsZS54KTxrdCYmeShuLWMuY2lyY2xlLmN5KTxrdDspbz1jLk4scy5wdXNoKGMpLGJhKGMpLGM9bztzLnB1c2goYyksTGEoYyk7dmFyIHUsaD1zLmxlbmd0aDtmb3IodT0xO3U8aDsrK3UpYz1zW3VdLGw9c1t1LTFdLHphKGMuZWRnZSxsLnNpdGUsYy5zaXRlLGEpO2w9c1swXSwoYz1zW2gtMV0pLmVkZ2U9T2EobC5zaXRlLGMuc2l0ZSxudWxsLGEpLEVhKGwpLEVhKGMpfWZ1bmN0aW9uIHdhKHQpe2Zvcih2YXIgZSxyLG4sYSxpPXQueCxvPXQueSxzPXBhLl87czspaWYoKG49a2EocyxvKS1pKT5rdClzPXMuTDtlbHNle2lmKCEoKGE9aS1UYShzLG8pKT5rdCkpe24+LWt0PyhlPXMuUCxyPXMpOmE+LWt0PyhlPXMscj1zLk4pOmU9cj1zO2JyZWFrfWlmKCFzLlIpe2U9czticmVha31zPXMuUn12YXIgbD14YSh0KTtpZihwYS5pbnNlcnQoZSxsKSxlfHxyKXtpZihlPT09cilyZXR1cm4gTGEoZSkscj14YShlLnNpdGUpLHBhLmluc2VydChsLHIpLGwuZWRnZT1yLmVkZ2U9T2EoZS5zaXRlLGwuc2l0ZSksRWEoZSksdm9pZCBFYShyKTtpZihyKXtMYShlKSxMYShyKTt2YXIgYz1lLnNpdGUsdT1jLngsaD1jLnksZj10LngtdSxwPXQueS1oLGQ9ci5zaXRlLGc9ZC54LXUsdj1kLnktaCxtPTIqKGYqdi1wKmcpLHk9ZipmK3AqcCx4PWcqZyt2KnYsYj17eDoodip5LXAqeCkvbSt1LHk6KGYqeC1nKnkpL20raH07emEoci5lZGdlLGMsZCxiKSxsLmVkZ2U9T2EoYyx0LG51bGwsYiksci5lZGdlPU9hKHQsZCxudWxsLGIpLEVhKGUpLEVhKHIpfWVsc2UgbC5lZGdlPU9hKGUuc2l0ZSxsLnNpdGUpfX1mdW5jdGlvbiBrYSh0LGUpe3ZhciByPXQuc2l0ZSxuPXIueCxhPXIueSxpPWEtZTtpZighaSlyZXR1cm4gbjt2YXIgbz10LlA7aWYoIW8pcmV0dXJuLTEvMDt2YXIgcz0ocj1vLnNpdGUpLngsbD1yLnksYz1sLWU7aWYoIWMpcmV0dXJuIHM7dmFyIHU9cy1uLGg9MS9pLTEvYyxmPXUvYztyZXR1cm4gaD8oLWYrTWF0aC5zcXJ0KGYqZi0yKmgqKHUqdS8oLTIqYyktbCtjLzIrYS1pLzIpKSkvaCtuOihuK3MpLzJ9ZnVuY3Rpb24gVGEodCxlKXt2YXIgcj10Lk47aWYocilyZXR1cm4ga2EocixlKTt2YXIgbj10LnNpdGU7cmV0dXJuIG4ueT09PWU/bi54OjEvMH1mdW5jdGlvbiBNYSh0KXt0aGlzLnNpdGU9dCx0aGlzLmVkZ2VzPVtdfWZ1bmN0aW9uIEFhKHQsZSl7cmV0dXJuIGUuYW5nbGUtdC5hbmdsZX1mdW5jdGlvbiBTYSgpe1JhKHRoaXMpLHRoaXMueD10aGlzLnk9dGhpcy5hcmM9dGhpcy5zaXRlPXRoaXMuY3k9bnVsbH1mdW5jdGlvbiBFYSh0KXt2YXIgZT10LlAscj10Lk47aWYoZSYmcil7dmFyIG49ZS5zaXRlLGE9dC5zaXRlLGk9ci5zaXRlO2lmKG4hPT1pKXt2YXIgbz1hLngscz1hLnksbD1uLngtbyxjPW4ueS1zLHU9aS54LW8saD0yKihsKih2PWkueS1zKS1jKnUpO2lmKCEoaD49LVR0KSl7dmFyIGY9bCpsK2MqYyxwPXUqdSt2KnYsZD0odipmLWMqcCkvaCxnPShsKnAtdSpmKS9oLHY9ZytzLG09bWEucG9wKCl8fG5ldyBTYTttLmFyYz10LG0uc2l0ZT1hLG0ueD1kK28sbS55PXYrTWF0aC5zcXJ0KGQqZCtnKmcpLG0uY3k9dix0LmNpcmNsZT1tO2Zvcih2YXIgeT1udWxsLHg9Z2EuXzt4OylpZihtLnk8eC55fHxtLnk9PT14LnkmJm0ueDw9eC54KXtpZigheC5MKXt5PXguUDticmVha314PXguTH1lbHNle2lmKCF4LlIpe3k9eDticmVha314PXguUn1nYS5pbnNlcnQoeSxtKSx5fHwoZGE9bSl9fX19ZnVuY3Rpb24gTGEodCl7dmFyIGU9dC5jaXJjbGU7ZSYmKGUuUHx8KGRhPWUuTiksZ2EucmVtb3ZlKGUpLG1hLnB1c2goZSksUmEoZSksdC5jaXJjbGU9bnVsbCl9ZnVuY3Rpb24gQ2EodCxlKXt2YXIgcj10LmI7aWYocilyZXR1cm4hMDt2YXIgbixhLGk9dC5hLG89ZVswXVswXSxzPWVbMV1bMF0sbD1lWzBdWzFdLGM9ZVsxXVsxXSx1PXQubCxoPXQucixmPXUueCxwPXUueSxkPWgueCxnPWgueSx2PShmK2QpLzIsbT0ocCtnKS8yO2lmKGc9PT1wKXtpZih2PG98fHY+PXMpcmV0dXJuO2lmKGY+ZCl7aWYoaSl7aWYoaS55Pj1jKXJldHVybn1lbHNlIGk9e3g6dix5Omx9O3I9e3g6dix5OmN9fWVsc2V7aWYoaSl7aWYoaS55PGwpcmV0dXJufWVsc2UgaT17eDp2LHk6Y307cj17eDp2LHk6bH19fWVsc2UgaWYoYT1tLShuPShmLWQpLyhnLXApKSp2LG48LTF8fG4+MSlpZihmPmQpe2lmKGkpe2lmKGkueT49YylyZXR1cm59ZWxzZSBpPXt4OihsLWEpL24seTpsfTtyPXt4OihjLWEpL24seTpjfX1lbHNle2lmKGkpe2lmKGkueTxsKXJldHVybn1lbHNlIGk9e3g6KGMtYSkvbix5OmN9O3I9e3g6KGwtYSkvbix5Omx9fWVsc2UgaWYocDxnKXtpZihpKXtpZihpLng+PXMpcmV0dXJufWVsc2UgaT17eDpvLHk6bipvK2F9O3I9e3g6cyx5Om4qcythfX1lbHNle2lmKGkpe2lmKGkueDxvKXJldHVybn1lbHNlIGk9e3g6cyx5Om4qcythfTtyPXt4Om8seTpuKm8rYX19cmV0dXJuIHQuYT1pLHQuYj1yLCEwfWZ1bmN0aW9uIFBhKHQsZSl7dGhpcy5sPXQsdGhpcy5yPWUsdGhpcy5hPXRoaXMuYj1udWxsfWZ1bmN0aW9uIE9hKHQsZSxyLG4pe3ZhciBhPW5ldyBQYSh0LGUpO3JldHVybiBoYS5wdXNoKGEpLHImJnphKGEsdCxlLHIpLG4mJnphKGEsZSx0LG4pLGZhW3QuaV0uZWRnZXMucHVzaChuZXcgSWEoYSx0LGUpKSxmYVtlLmldLmVkZ2VzLnB1c2gobmV3IElhKGEsZSx0KSksYX1mdW5jdGlvbiB6YSh0LGUscixuKXt0LmF8fHQuYj90Lmw9PT1yP3QuYj1uOnQuYT1uOih0LmE9bix0Lmw9ZSx0LnI9cil9ZnVuY3Rpb24gSWEodCxlLHIpe3ZhciBuPXQuYSxhPXQuYjt0aGlzLmVkZ2U9dCx0aGlzLnNpdGU9ZSx0aGlzLmFuZ2xlPXI/TWF0aC5hdGFuMihyLnktZS55LHIueC1lLngpOnQubD09PWU/TWF0aC5hdGFuMihhLngtbi54LG4ueS1hLnkpOk1hdGguYXRhbjIobi54LWEueCxhLnktbi55KX1mdW5jdGlvbiBEYSgpe3RoaXMuXz1udWxsfWZ1bmN0aW9uIFJhKHQpe3QuVT10LkM9dC5MPXQuUj10LlA9dC5OPW51bGx9ZnVuY3Rpb24gRmEodCxlKXt2YXIgcj1lLG49ZS5SLGE9ci5VO2E/YS5MPT09cj9hLkw9bjphLlI9bjp0Ll89bixuLlU9YSxyLlU9bixyLlI9bi5MLHIuUiYmKHIuUi5VPXIpLG4uTD1yfWZ1bmN0aW9uIEJhKHQsZSl7dmFyIHI9ZSxuPWUuTCxhPXIuVTthP2EuTD09PXI/YS5MPW46YS5SPW46dC5fPW4sbi5VPWEsci5VPW4sci5MPW4uUixyLkwmJihyLkwuVT1yKSxuLlI9cn1mdW5jdGlvbiBOYSh0KXtmb3IoO3QuTDspdD10Lkw7cmV0dXJuIHR9ZnVuY3Rpb24gamEodCxlKXt2YXIgcixuLGEsaT10LnNvcnQoVmEpLnBvcCgpO2ZvcihoYT1bXSxmYT1uZXcgQXJyYXkodC5sZW5ndGgpLHBhPW5ldyBEYSxnYT1uZXcgRGE7OylpZihhPWRhLGkmJighYXx8aS55PGEueXx8aS55PT09YS55JiZpLng8YS54KSlpLng9PT1yJiZpLnk9PT1ufHwoZmFbaS5pXT1uZXcgTWEoaSksd2EoaSkscj1pLngsbj1pLnkpLGk9dC5wb3AoKTtlbHNle2lmKCFhKWJyZWFrO19hKGEuYXJjKX1lJiYoZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9aGEsbj1ubih0WzBdWzBdLHRbMF1bMV0sdFsxXVswXSx0WzFdWzFdKSxhPXIubGVuZ3RoO2EtLTspKCFDYShlPXJbYV0sdCl8fCFuKGUpfHx5KGUuYS54LWUuYi54KTxrdCYmeShlLmEueS1lLmIueSk8a3QpJiYoZS5hPWUuYj1udWxsLHIuc3BsaWNlKGEsMSkpfShlKSxmdW5jdGlvbih0KXtmb3IodmFyIGUscixuLGEsaSxvLHMsbCxjLHUsaD10WzBdWzBdLGY9dFsxXVswXSxwPXRbMF1bMV0sZD10WzFdWzFdLGc9ZmEsdj1nLmxlbmd0aDt2LS07KWlmKChpPWdbdl0pJiZpLnByZXBhcmUoKSlmb3IobD0ocz1pLmVkZ2VzKS5sZW5ndGgsbz0wO288bDspbj0odT1zW29dLmVuZCgpKS54LGE9dS55LGU9KGM9c1srK28lbF0uc3RhcnQoKSkueCxyPWMueSwoeShuLWUpPmt0fHx5KGEtcik+a3QpJiYocy5zcGxpY2UobywwLG5ldyBJYSgobT1pLnNpdGUseD11LGI9eShuLWgpPGt0JiZkLWE+a3Q/e3g6aCx5OnkoZS1oKTxrdD9yOmR9OnkoYS1kKTxrdCYmZi1uPmt0P3t4Onkoci1kKTxrdD9lOmYseTpkfTp5KG4tZik8a3QmJmEtcD5rdD97eDpmLHk6eShlLWYpPGt0P3I6cH06eShhLXApPGt0JiZuLWg+a3Q/e3g6eShyLXApPGt0P2U6aCx5OnB9Om51bGwsXz12b2lkIDAsXz1uZXcgUGEobSxudWxsKSxfLmE9eCxfLmI9YixoYS5wdXNoKF8pLF8pLGkuc2l0ZSxudWxsKSksKytsKTt2YXIgbSx4LGIsX30oZSkpO3ZhciBvPXtjZWxsczpmYSxlZGdlczpoYX07cmV0dXJuIHBhPWdhPWhhPWZhPW51bGwsb31mdW5jdGlvbiBWYSh0LGUpe3JldHVybiBlLnktdC55fHxlLngtdC54fU1hLnByb3RvdHlwZS5wcmVwYXJlPWZ1bmN0aW9uKCl7Zm9yKHZhciB0LGU9dGhpcy5lZGdlcyxyPWUubGVuZ3RoO3ItLTspKHQ9ZVtyXS5lZGdlKS5iJiZ0LmF8fGUuc3BsaWNlKHIsMSk7cmV0dXJuIGUuc29ydChBYSksZS5sZW5ndGh9LElhLnByb3RvdHlwZT17c3RhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGdlLmw9PT10aGlzLnNpdGU/dGhpcy5lZGdlLmE6dGhpcy5lZGdlLmJ9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZ2UubD09PXRoaXMuc2l0ZT90aGlzLmVkZ2UuYjp0aGlzLmVkZ2UuYX19LERhLnByb3RvdHlwZT17aW5zZXJ0OmZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhO2lmKHQpe2lmKGUuUD10LGUuTj10Lk4sdC5OJiYodC5OLlA9ZSksdC5OPWUsdC5SKXtmb3IodD10LlI7dC5MOyl0PXQuTDt0Lkw9ZX1lbHNlIHQuUj1lO3I9dH1lbHNlIHRoaXMuXz8odD1OYSh0aGlzLl8pLGUuUD1udWxsLGUuTj10LHQuUD10Lkw9ZSxyPXQpOihlLlA9ZS5OPW51bGwsdGhpcy5fPWUscj1udWxsKTtmb3IoZS5MPWUuUj1udWxsLGUuVT1yLGUuQz0hMCx0PWU7ciYmci5DOylyPT09KG49ci5VKS5MPyhhPW4uUikmJmEuQz8oci5DPWEuQz0hMSxuLkM9ITAsdD1uKToodD09PXIuUiYmKEZhKHRoaXMscikscj0odD1yKS5VKSxyLkM9ITEsbi5DPSEwLEJhKHRoaXMsbikpOihhPW4uTCkmJmEuQz8oci5DPWEuQz0hMSxuLkM9ITAsdD1uKToodD09PXIuTCYmKEJhKHRoaXMscikscj0odD1yKS5VKSxyLkM9ITEsbi5DPSEwLEZhKHRoaXMsbikpLHI9dC5VO3RoaXMuXy5DPSExfSxyZW1vdmU6ZnVuY3Rpb24odCl7dC5OJiYodC5OLlA9dC5QKSx0LlAmJih0LlAuTj10Lk4pLHQuTj10LlA9bnVsbDt2YXIgZSxyLG4sYT10LlUsaT10Lkwsbz10LlI7aWYocj1pP28/TmEobyk6aTpvLGE/YS5MPT09dD9hLkw9cjphLlI9cjp0aGlzLl89cixpJiZvPyhuPXIuQyxyLkM9dC5DLHIuTD1pLGkuVT1yLHIhPT1vPyhhPXIuVSxyLlU9dC5VLHQ9ci5SLGEuTD10LHIuUj1vLG8uVT1yKTooci5VPWEsYT1yLHQ9ci5SKSk6KG49dC5DLHQ9ciksdCYmKHQuVT1hKSwhbilpZih0JiZ0LkMpdC5DPSExO2Vsc2V7ZG97aWYodD09PXRoaXMuXylicmVhaztpZih0PT09YS5MKXtpZigoZT1hLlIpLkMmJihlLkM9ITEsYS5DPSEwLEZhKHRoaXMsYSksZT1hLlIpLGUuTCYmZS5MLkN8fGUuUiYmZS5SLkMpe2UuUiYmZS5SLkN8fChlLkwuQz0hMSxlLkM9ITAsQmEodGhpcyxlKSxlPWEuUiksZS5DPWEuQyxhLkM9ZS5SLkM9ITEsRmEodGhpcyxhKSx0PXRoaXMuXzticmVha319ZWxzZSBpZigoZT1hLkwpLkMmJihlLkM9ITEsYS5DPSEwLEJhKHRoaXMsYSksZT1hLkwpLGUuTCYmZS5MLkN8fGUuUiYmZS5SLkMpe2UuTCYmZS5MLkN8fChlLlIuQz0hMSxlLkM9ITAsRmEodGhpcyxlKSxlPWEuTCksZS5DPWEuQyxhLkM9ZS5MLkM9ITEsQmEodGhpcyxhKSx0PXRoaXMuXzticmVha31lLkM9ITAsdD1hLGE9YS5VfXdoaWxlKCF0LkMpO3QmJih0LkM9ITEpfX19LHQuZ2VvbS52b3Jvbm9pPWZ1bmN0aW9uKHQpe3ZhciBlPW5hLHI9YWEsbj1lLGE9cixpPVVhO2lmKHQpcmV0dXJuIG8odCk7ZnVuY3Rpb24gbyh0KXt2YXIgZT1uZXcgQXJyYXkodC5sZW5ndGgpLHI9aVswXVswXSxuPWlbMF1bMV0sYT1pWzFdWzBdLG89aVsxXVsxXTtyZXR1cm4gamEocyh0KSxpKS5jZWxscy5mb3JFYWNoKGZ1bmN0aW9uKGkscyl7dmFyIGw9aS5lZGdlcyxjPWkuc2l0ZTsoZVtzXT1sLmxlbmd0aD9sLm1hcChmdW5jdGlvbih0KXt2YXIgZT10LnN0YXJ0KCk7cmV0dXJuW2UueCxlLnldfSk6Yy54Pj1yJiZjLng8PWEmJmMueT49biYmYy55PD1vP1tbcixvXSxbYSxvXSxbYSxuXSxbcixuXV06W10pLnBvaW50PXRbc119KSxlfWZ1bmN0aW9uIHModCl7cmV0dXJuIHQubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJue3g6TWF0aC5yb3VuZChuKHQsZSkva3QpKmt0LHk6TWF0aC5yb3VuZChhKHQsZSkva3QpKmt0LGk6ZX19KX1yZXR1cm4gby5saW5rcz1mdW5jdGlvbih0KXtyZXR1cm4gamEocyh0KSkuZWRnZXMuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0LmwmJnQucn0pLm1hcChmdW5jdGlvbihlKXtyZXR1cm57c291cmNlOnRbZS5sLmldLHRhcmdldDp0W2Uuci5pXX19KX0sby50cmlhbmdsZXM9ZnVuY3Rpb24odCl7dmFyIGU9W107cmV0dXJuIGphKHModCkpLmNlbGxzLmZvckVhY2goZnVuY3Rpb24ocixuKXtmb3IodmFyIGEsaSxvLHMsbD1yLnNpdGUsYz1yLmVkZ2VzLnNvcnQoQWEpLHU9LTEsaD1jLmxlbmd0aCxmPWNbaC0xXS5lZGdlLHA9Zi5sPT09bD9mLnI6Zi5sOysrdTxoOylmLGE9cCxwPShmPWNbdV0uZWRnZSkubD09PWw/Zi5yOmYubCxuPGEuaSYmbjxwLmkmJihvPWEscz1wLCgoaT1sKS54LXMueCkqKG8ueS1pLnkpLShpLngtby54KSoocy55LWkueSk8MCkmJmUucHVzaChbdFtuXSx0W2EuaV0sdFtwLmldXSl9KSxlfSxvLng9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dmUoZT10KSxvKTplfSxvLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dmUocj10KSxvKTpyfSxvLmNsaXBFeHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9bnVsbD09dD9VYTp0LG8pOmk9PT1VYT9udWxsOml9LG8uc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9vLmNsaXBFeHRlbnQodCYmW1swLDBdLHRdKTppPT09VWE/bnVsbDppJiZpWzFdfSxvfTt2YXIgVWE9W1stMWU2LC0xZTZdLFsxZTYsMWU2XV07ZnVuY3Rpb24gcWEodCl7cmV0dXJuIHQueH1mdW5jdGlvbiBIYSh0KXtyZXR1cm4gdC55fWZ1bmN0aW9uIEdhKGUscil7ZT10LnJnYihlKSxyPXQucmdiKHIpO3ZhciBuPWUucixhPWUuZyxpPWUuYixvPXIuci1uLHM9ci5nLWEsbD1yLmItaTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIiMiK2NlKE1hdGgucm91bmQobitvKnQpKStjZShNYXRoLnJvdW5kKGErcyp0KSkrY2UoTWF0aC5yb3VuZChpK2wqdCkpfX1mdW5jdGlvbiBZYSh0LGUpe3ZhciByLG49e30sYT17fTtmb3IociBpbiB0KXIgaW4gZT9uW3JdPUthKHRbcl0sZVtyXSk6YVtyXT10W3JdO2ZvcihyIGluIGUpciBpbiB0fHwoYVtyXT1lW3JdKTtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKHIgaW4gbilhW3JdPW5bcl0odCk7cmV0dXJuIGF9fWZ1bmN0aW9uIFdhKHQsZSl7cmV0dXJuIHQ9K3QsZT0rZSxmdW5jdGlvbihyKXtyZXR1cm4gdCooMS1yKStlKnJ9fWZ1bmN0aW9uIFhhKHQsZSl7dmFyIHIsbixhLGk9WmEubGFzdEluZGV4PUphLmxhc3RJbmRleD0wLG89LTEscz1bXSxsPVtdO2Zvcih0Kz0iIixlKz0iIjsocj1aYS5leGVjKHQpKSYmKG49SmEuZXhlYyhlKSk7KShhPW4uaW5kZXgpPmkmJihhPWUuc2xpY2UoaSxhKSxzW29dP3Nbb10rPWE6c1srK29dPWEpLChyPXJbMF0pPT09KG49blswXSk/c1tvXT9zW29dKz1uOnNbKytvXT1uOihzWysrb109bnVsbCxsLnB1c2goe2k6byx4OldhKHIsbil9KSksaT1KYS5sYXN0SW5kZXg7cmV0dXJuIGk8ZS5sZW5ndGgmJihhPWUuc2xpY2UoaSksc1tvXT9zW29dKz1hOnNbKytvXT1hKSxzLmxlbmd0aDwyP2xbMF0/KGU9bFswXS54LGZ1bmN0aW9uKHQpe3JldHVybiBlKHQpKyIifSk6ZnVuY3Rpb24oKXtyZXR1cm4gZX06KGU9bC5sZW5ndGgsZnVuY3Rpb24odCl7Zm9yKHZhciByLG49MDtuPGU7KytuKXNbKHI9bFtuXSkuaV09ci54KHQpO3JldHVybiBzLmpvaW4oIiIpfSl9dC5nZW9tLmRlbGF1bmF5PWZ1bmN0aW9uKGUpe3JldHVybiB0Lmdlb20udm9yb25vaSgpLnRyaWFuZ2xlcyhlKX0sdC5nZW9tLnF1YWR0cmVlPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGksbz1uYSxzPWFhO2lmKGk9YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gbz1xYSxzPUhhLDM9PT1pJiYoYT1yLG49ZSxyPWU9MCksbCh0KTtmdW5jdGlvbiBsKHQpe3ZhciBsLGMsdSxoLGYscCxkLGcsdixtPXZlKG8pLHg9dmUocyk7aWYobnVsbCE9ZSlwPWUsZD1yLGc9bix2PWE7ZWxzZSBpZihnPXY9LShwPWQ9MS8wKSxjPVtdLHU9W10sZj10Lmxlbmd0aCxpKWZvcihoPTA7aDxmOysraCkobD10W2hdKS54PHAmJihwPWwueCksbC55PGQmJihkPWwueSksbC54PmcmJihnPWwueCksbC55PnYmJih2PWwueSksYy5wdXNoKGwueCksdS5wdXNoKGwueSk7ZWxzZSBmb3IoaD0wO2g8ZjsrK2gpe3ZhciBiPSttKGw9dFtoXSxoKSxfPSt4KGwsaCk7YjxwJiYocD1iKSxfPGQmJihkPV8pLGI+ZyYmKGc9YiksXz52JiYodj1fKSxjLnB1c2goYiksdS5wdXNoKF8pfXZhciB3PWctcCxrPXYtZDtmdW5jdGlvbiBUKHQsZSxyLG4sYSxpLG8scyl7aWYoIWlzTmFOKHIpJiYhaXNOYU4obikpaWYodC5sZWFmKXt2YXIgbD10LngsYz10Lnk7aWYobnVsbCE9bClpZih5KGwtcikreShjLW4pPC4wMSlNKHQsZSxyLG4sYSxpLG8scyk7ZWxzZXt2YXIgdT10LnBvaW50O3QueD10Lnk9dC5wb2ludD1udWxsLE0odCx1LGwsYyxhLGksbyxzKSxNKHQsZSxyLG4sYSxpLG8scyl9ZWxzZSB0Lng9cix0Lnk9bix0LnBvaW50PWV9ZWxzZSBNKHQsZSxyLG4sYSxpLG8scyl9ZnVuY3Rpb24gTSh0LGUscixuLGEsaSxvLHMpe3ZhciBsPS41KihhK28pLGM9LjUqKGkrcyksdT1yPj1sLGg9bj49YyxmPWg8PDF8dTt0LmxlYWY9ITEsdT9hPWw6bz1sLGg/aT1jOnM9YyxUKHQ9dC5ub2Rlc1tmXXx8KHQubm9kZXNbZl09e2xlYWY6ITAsbm9kZXM6W10scG9pbnQ6bnVsbCx4Om51bGwseTpudWxsfSksZSxyLG4sYSxpLG8scyl9dz5rP3Y9ZCt3Omc9cCtrO3ZhciBBPXtsZWFmOiEwLG5vZGVzOltdLHBvaW50Om51bGwseDpudWxsLHk6bnVsbCxhZGQ6ZnVuY3Rpb24odCl7VChBLHQsK20odCwrK2gpLCt4KHQsaCkscCxkLGcsdil9fTtpZihBLnZpc2l0PWZ1bmN0aW9uKHQpeyFmdW5jdGlvbiB0KGUscixuLGEsaSxvKXtpZighZShyLG4sYSxpLG8pKXt2YXIgcz0uNSoobitpKSxsPS41KihhK28pLGM9ci5ub2RlcztjWzBdJiZ0KGUsY1swXSxuLGEscyxsKSxjWzFdJiZ0KGUsY1sxXSxzLGEsaSxsKSxjWzJdJiZ0KGUsY1syXSxuLGwscyxvKSxjWzNdJiZ0KGUsY1szXSxzLGwsaSxvKX19KHQsQSxwLGQsZyx2KX0sQS5maW5kPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0LGUscixuLGEsaSxvKXt2YXIgcyxsPTEvMDtyZXR1cm4gZnVuY3Rpb24gdChjLHUsaCxmLHApe2lmKCEodT5pfHxoPm98fGY8bnx8cDxhKSl7aWYoZD1jLnBvaW50KXt2YXIgZCxnPWUtYy54LHY9ci1jLnksbT1nKmcrdip2O2lmKG08bCl7dmFyIHk9TWF0aC5zcXJ0KGw9bSk7bj1lLXksYT1yLXksaT1lK3ksbz1yK3kscz1kfX1mb3IodmFyIHg9Yy5ub2RlcyxiPS41Kih1K2YpLF89LjUqKGgrcCksdz0ocj49Xyk8PDF8ZT49YixrPXcrNDt3PGs7Kyt3KWlmKGM9eFszJnddKXN3aXRjaCgzJncpe2Nhc2UgMDp0KGMsdSxoLGIsXyk7YnJlYWs7Y2FzZSAxOnQoYyxiLGgsZixfKTticmVhaztjYXNlIDI6dChjLHUsXyxiLHApO2JyZWFrO2Nhc2UgMzp0KGMsYixfLGYscCl9fX0odCxuLGEsaSxvKSxzfShBLHRbMF0sdFsxXSxwLGQsZyx2KX0saD0tMSxudWxsPT1lKXtmb3IoOysraDxmOylUKEEsdFtoXSxjW2hdLHVbaF0scCxkLGcsdik7LS1ofWVsc2UgdC5mb3JFYWNoKEEuYWRkKTtyZXR1cm4gYz11PXQ9bD1udWxsLEF9cmV0dXJuIGwueD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz10LGwpOm99LGwueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz10LGwpOnN9LGwuZXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhudWxsPT10P2U9cj1uPWE9bnVsbDooZT0rdFswXVswXSxyPSt0WzBdWzFdLG49K3RbMV1bMF0sYT0rdFsxXVsxXSksbCk6bnVsbD09ZT9udWxsOltbZSxyXSxbbixhXV19LGwuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obnVsbD09dD9lPXI9bj1hPW51bGw6KGU9cj0wLG49K3RbMF0sYT0rdFsxXSksbCk6bnVsbD09ZT9udWxsOltuLWUsYS1yXX0sbH0sdC5pbnRlcnBvbGF0ZVJnYj1HYSx0LmludGVycG9sYXRlT2JqZWN0PVlhLHQuaW50ZXJwb2xhdGVOdW1iZXI9V2EsdC5pbnRlcnBvbGF0ZVN0cmluZz1YYTt2YXIgWmE9L1stK10/KD86XGQrXC4/XGQqfFwuP1xkKykoPzpbZUVdWy0rXT9cZCspPy9nLEphPW5ldyBSZWdFeHAoWmEuc291cmNlLCJnIik7ZnVuY3Rpb24gS2EoZSxyKXtmb3IodmFyIG4sYT10LmludGVycG9sYXRvcnMubGVuZ3RoOy0tYT49MCYmIShuPXQuaW50ZXJwb2xhdG9yc1thXShlLHIpKTspO3JldHVybiBufWZ1bmN0aW9uIFFhKHQsZSl7dmFyIHIsbj1bXSxhPVtdLGk9dC5sZW5ndGgsbz1lLmxlbmd0aCxzPU1hdGgubWluKHQubGVuZ3RoLGUubGVuZ3RoKTtmb3Iocj0wO3I8czsrK3Ipbi5wdXNoKEthKHRbcl0sZVtyXSkpO2Zvcig7cjxpOysrcilhW3JdPXRbcl07Zm9yKDtyPG87KytyKWFbcl09ZVtyXTtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKHI9MDtyPHM7KytyKWFbcl09bltyXSh0KTtyZXR1cm4gYX19dC5pbnRlcnBvbGF0ZT1LYSx0LmludGVycG9sYXRvcnM9W2Z1bmN0aW9uKHQsZSl7dmFyIHI9dHlwZW9mIGU7cmV0dXJuKCJzdHJpbmciPT09cj9nZS5oYXMoZS50b0xvd2VyQ2FzZSgpKXx8L14oI3xyZ2JcKHxoc2xcKCkvaS50ZXN0KGUpP0dhOlhhOmUgaW5zdGFuY2VvZiBWdD9HYTpBcnJheS5pc0FycmF5KGUpP1FhOiJvYmplY3QiPT09ciYmaXNOYU4oZSk/WWE6V2EpKHQsZSl9XSx0LmludGVycG9sYXRlQXJyYXk9UWE7dmFyICRhPWZ1bmN0aW9uKCl7cmV0dXJuIFB9LHRpPXQubWFwKHtsaW5lYXI6JGEscG9seTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGgucG93KGUsdCl9fSxxdWFkOmZ1bmN0aW9uKCl7cmV0dXJuIGFpfSxjdWJpYzpmdW5jdGlvbigpe3JldHVybiBpaX0sc2luOmZ1bmN0aW9uKCl7cmV0dXJuIHNpfSxleHA6ZnVuY3Rpb24oKXtyZXR1cm4gbGl9LGNpcmNsZTpmdW5jdGlvbigpe3JldHVybiBjaX0sZWxhc3RpYzpmdW5jdGlvbih0LGUpe3ZhciByO2FyZ3VtZW50cy5sZW5ndGg8MiYmKGU9LjQ1KTthcmd1bWVudHMubGVuZ3RoP3I9ZS9BdCpNYXRoLmFzaW4oMS90KToodD0xLHI9ZS80KTtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIDErdCpNYXRoLnBvdygyLC0xMCpuKSpNYXRoLnNpbigobi1yKSpBdC9lKX19LGJhY2s6ZnVuY3Rpb24odCl7dHx8KHQ9MS43MDE1OCk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlKmUqKCh0KzEpKmUtdCl9fSxib3VuY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdWl9fSksZWk9dC5tYXAoe2luOlAsb3V0OnJpLCJpbi1vdXQiOm5pLCJvdXQtaW4iOmZ1bmN0aW9uKHQpe3JldHVybiBuaShyaSh0KSl9fSk7ZnVuY3Rpb24gcmkodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiAxLXQoMS1lKX19ZnVuY3Rpb24gbmkodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybi41KihlPC41P3QoMiplKToyLXQoMi0yKmUpKX19ZnVuY3Rpb24gYWkodCl7cmV0dXJuIHQqdH1mdW5jdGlvbiBpaSh0KXtyZXR1cm4gdCp0KnR9ZnVuY3Rpb24gb2kodCl7aWYodDw9MClyZXR1cm4gMDtpZih0Pj0xKXJldHVybiAxO3ZhciBlPXQqdCxyPWUqdDtyZXR1cm4gNCoodDwuNT9yOjMqKHQtZSkrci0uNzUpfWZ1bmN0aW9uIHNpKHQpe3JldHVybiAxLU1hdGguY29zKHQqRXQpfWZ1bmN0aW9uIGxpKHQpe3JldHVybiBNYXRoLnBvdygyLDEwKih0LTEpKX1mdW5jdGlvbiBjaSh0KXtyZXR1cm4gMS1NYXRoLnNxcnQoMS10KnQpfWZ1bmN0aW9uIHVpKHQpe3JldHVybiB0PDEvMi43NT83LjU2MjUqdCp0OnQ8Mi8yLjc1PzcuNTYyNSoodC09MS41LzIuNzUpKnQrLjc1OnQ8Mi41LzIuNzU/Ny41NjI1Kih0LT0yLjI1LzIuNzUpKnQrLjkzNzU6Ny41NjI1Kih0LT0yLjYyNS8yLjc1KSp0Ky45ODQzNzV9ZnVuY3Rpb24gaGkodCxlKXtyZXR1cm4gZS09dCxmdW5jdGlvbihyKXtyZXR1cm4gTWF0aC5yb3VuZCh0K2Uqcil9fWZ1bmN0aW9uIGZpKHQpe3ZhciBlLHIsbixhPVt0LmEsdC5iXSxpPVt0LmMsdC5kXSxvPWRpKGEpLHM9cGkoYSxpKSxsPWRpKCgoZT1pKVswXSs9KG49LXMpKihyPWEpWzBdLGVbMV0rPW4qclsxXSxlKSl8fDA7YVswXSppWzFdPGlbMF0qYVsxXSYmKGFbMF0qPS0xLGFbMV0qPS0xLG8qPS0xLHMqPS0xKSx0aGlzLnJvdGF0ZT0obz9NYXRoLmF0YW4yKGFbMV0sYVswXSk6TWF0aC5hdGFuMigtaVswXSxpWzFdKSkqQ3QsdGhpcy50cmFuc2xhdGU9W3QuZSx0LmZdLHRoaXMuc2NhbGU9W28sbF0sdGhpcy5za2V3PWw/TWF0aC5hdGFuMihzLGwpKkN0OjB9ZnVuY3Rpb24gcGkodCxlKXtyZXR1cm4gdFswXSplWzBdK3RbMV0qZVsxXX1mdW5jdGlvbiBkaSh0KXt2YXIgZT1NYXRoLnNxcnQocGkodCx0KSk7cmV0dXJuIGUmJih0WzBdLz1lLHRbMV0vPWUpLGV9dC5lYXNlPWZ1bmN0aW9uKHQpe3ZhciBlLG49dC5pbmRleE9mKCItIiksYT1uPj0wP3Quc2xpY2UoMCxuKTp0LGk9bj49MD90LnNsaWNlKG4rMSk6ImluIjtyZXR1cm4gYT10aS5nZXQoYSl8fCRhLGk9ZWkuZ2V0KGkpfHxQLGU9aShhLmFwcGx5KG51bGwsci5jYWxsKGFyZ3VtZW50cywxKSkpLGZ1bmN0aW9uKHQpe3JldHVybiB0PD0wPzA6dD49MT8xOmUodCl9fSx0LmludGVycG9sYXRlSGNsPWZ1bmN0aW9uKGUscil7ZT10LmhjbChlKSxyPXQuaGNsKHIpO3ZhciBuPWUuaCxhPWUuYyxpPWUubCxvPXIuaC1uLHM9ci5jLWEsbD1yLmwtaTtpc05hTihzKSYmKHM9MCxhPWlzTmFOKGEpP3IuYzphKTtpc05hTihvKT8obz0wLG49aXNOYU4obik/ci5oOm4pOm8+MTgwP28tPTM2MDpvPC0xODAmJihvKz0zNjApO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gV3QobitvKnQsYStzKnQsaStsKnQpKyIifX0sdC5pbnRlcnBvbGF0ZUhzbD1mdW5jdGlvbihlLHIpe2U9dC5oc2woZSkscj10LmhzbChyKTt2YXIgbj1lLmgsYT1lLnMsaT1lLmwsbz1yLmgtbixzPXIucy1hLGw9ci5sLWk7aXNOYU4ocykmJihzPTAsYT1pc05hTihhKT9yLnM6YSk7aXNOYU4obyk/KG89MCxuPWlzTmFOKG4pP3IuaDpuKTpvPjE4MD9vLT0zNjA6bzwtMTgwJiYobys9MzYwKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIEh0KG4rbyp0LGErcyp0LGkrbCp0KSsiIn19LHQuaW50ZXJwb2xhdGVMYWI9ZnVuY3Rpb24oZSxyKXtlPXQubGFiKGUpLHI9dC5sYWIocik7dmFyIG49ZS5sLGE9ZS5hLGk9ZS5iLG89ci5sLW4scz1yLmEtYSxsPXIuYi1pO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gdGUobitvKnQsYStzKnQsaStsKnQpKyIifX0sdC5pbnRlcnBvbGF0ZVJvdW5kPWhpLHQudHJhbnNmb3JtPWZ1bmN0aW9uKGUpe3ZhciByPWEuY3JlYXRlRWxlbWVudE5TKHQubnMucHJlZml4LnN2ZywiZyIpO3JldHVybih0LnRyYW5zZm9ybT1mdW5jdGlvbih0KXtpZihudWxsIT10KXtyLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIix0KTt2YXIgZT1yLnRyYW5zZm9ybS5iYXNlVmFsLmNvbnNvbGlkYXRlKCl9cmV0dXJuIG5ldyBmaShlP2UubWF0cml4OmdpKX0pKGUpfSxmaS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4idHJhbnNsYXRlKCIrdGhpcy50cmFuc2xhdGUrIilyb3RhdGUoIit0aGlzLnJvdGF0ZSsiKXNrZXdYKCIrdGhpcy5za2V3KyIpc2NhbGUoIit0aGlzLnNjYWxlKyIpIn07dmFyIGdpPXthOjEsYjowLGM6MCxkOjEsZTowLGY6MH07ZnVuY3Rpb24gdmkodCl7cmV0dXJuIHQubGVuZ3RoP3QucG9wKCkrIiwiOiIifWZ1bmN0aW9uIG1pKGUscil7dmFyIG49W10sYT1bXTtyZXR1cm4gZT10LnRyYW5zZm9ybShlKSxyPXQudHJhbnNmb3JtKHIpLGZ1bmN0aW9uKHQsZSxyLG4pe2lmKHRbMF0hPT1lWzBdfHx0WzFdIT09ZVsxXSl7dmFyIGE9ci5wdXNoKCJ0cmFuc2xhdGUoIixudWxsLCIsIixudWxsLCIpIik7bi5wdXNoKHtpOmEtNCx4OldhKHRbMF0sZVswXSl9LHtpOmEtMix4OldhKHRbMV0sZVsxXSl9KX1lbHNlKGVbMF18fGVbMV0pJiZyLnB1c2goInRyYW5zbGF0ZSgiK2UrIikiKX0oZS50cmFuc2xhdGUsci50cmFuc2xhdGUsbixhKSxmdW5jdGlvbih0LGUscixuKXt0IT09ZT8odC1lPjE4MD9lKz0zNjA6ZS10PjE4MCYmKHQrPTM2MCksbi5wdXNoKHtpOnIucHVzaCh2aShyKSsicm90YXRlKCIsbnVsbCwiKSIpLTIseDpXYSh0LGUpfSkpOmUmJnIucHVzaCh2aShyKSsicm90YXRlKCIrZSsiKSIpfShlLnJvdGF0ZSxyLnJvdGF0ZSxuLGEpLGZ1bmN0aW9uKHQsZSxyLG4pe3QhPT1lP24ucHVzaCh7aTpyLnB1c2godmkocikrInNrZXdYKCIsbnVsbCwiKSIpLTIseDpXYSh0LGUpfSk6ZSYmci5wdXNoKHZpKHIpKyJza2V3WCgiK2UrIikiKX0oZS5za2V3LHIuc2tldyxuLGEpLGZ1bmN0aW9uKHQsZSxyLG4pe2lmKHRbMF0hPT1lWzBdfHx0WzFdIT09ZVsxXSl7dmFyIGE9ci5wdXNoKHZpKHIpKyJzY2FsZSgiLG51bGwsIiwiLG51bGwsIikiKTtuLnB1c2goe2k6YS00LHg6V2EodFswXSxlWzBdKX0se2k6YS0yLHg6V2EodFsxXSxlWzFdKX0pfWVsc2UgMT09PWVbMF0mJjE9PT1lWzFdfHxyLnB1c2godmkocikrInNjYWxlKCIrZSsiKSIpfShlLnNjYWxlLHIuc2NhbGUsbixhKSxlPXI9bnVsbCxmdW5jdGlvbih0KXtmb3IodmFyIGUscj0tMSxpPWEubGVuZ3RoOysrcjxpOyluWyhlPWFbcl0pLmldPWUueCh0KTtyZXR1cm4gbi5qb2luKCIiKX19ZnVuY3Rpb24geWkodCxlKXtyZXR1cm4gZT0oZS09dD0rdCl8fDEvZSxmdW5jdGlvbihyKXtyZXR1cm4oci10KS9lfX1mdW5jdGlvbiB4aSh0LGUpe3JldHVybiBlPShlLT10PSt0KXx8MS9lLGZ1bmN0aW9uKHIpe3JldHVybiBNYXRoLm1heCgwLE1hdGgubWluKDEsKHItdCkvZSkpfX1mdW5jdGlvbiBiaSh0KXtmb3IodmFyIGU9dC5zb3VyY2Uscj10LnRhcmdldCxuPWZ1bmN0aW9uKHQsZSl7aWYodD09PWUpcmV0dXJuIHQ7dmFyIHI9X2kodCksbj1faShlKSxhPXIucG9wKCksaT1uLnBvcCgpLG89bnVsbDtmb3IoO2E9PT1pOylvPWEsYT1yLnBvcCgpLGk9bi5wb3AoKTtyZXR1cm4gb30oZSxyKSxhPVtlXTtlIT09bjspZT1lLnBhcmVudCxhLnB1c2goZSk7Zm9yKHZhciBpPWEubGVuZ3RoO3IhPT1uOylhLnNwbGljZShpLDAscikscj1yLnBhcmVudDtyZXR1cm4gYX1mdW5jdGlvbiBfaSh0KXtmb3IodmFyIGU9W10scj10LnBhcmVudDtudWxsIT1yOyllLnB1c2godCksdD1yLHI9ci5wYXJlbnQ7cmV0dXJuIGUucHVzaCh0KSxlfWZ1bmN0aW9uIHdpKHQpe3QuZml4ZWR8PTJ9ZnVuY3Rpb24ga2kodCl7dC5maXhlZCY9LTd9ZnVuY3Rpb24gVGkodCl7dC5maXhlZHw9NCx0LnB4PXQueCx0LnB5PXQueX1mdW5jdGlvbiBNaSh0KXt0LmZpeGVkJj0tNX10LmludGVycG9sYXRlVHJhbnNmb3JtPW1pLHQubGF5b3V0PXt9LHQubGF5b3V0LmJ1bmRsZT1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0KXtmb3IodmFyIGU9W10scj0tMSxuPXQubGVuZ3RoOysrcjxuOyllLnB1c2goYmkodFtyXSkpO3JldHVybiBlfX0sdC5sYXlvdXQuY2hvcmQ9ZnVuY3Rpb24oKXt2YXIgZSxyLG4sYSxpLG8scyxsPXt9LGM9MDtmdW5jdGlvbiB1KCl7dmFyIGwsdSxmLHAsZCxnPXt9LHY9W10sbT10LnJhbmdlKGEpLHk9W107Zm9yKGU9W10scj1bXSxsPTAscD0tMTsrK3A8YTspe2Zvcih1PTAsZD0tMTsrK2Q8YTspdSs9bltwXVtkXTt2LnB1c2godSkseS5wdXNoKHQucmFuZ2UoYSkpLGwrPXV9Zm9yKGkmJm0uc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBpKHZbdF0sdltlXSl9KSxvJiZ5LmZvckVhY2goZnVuY3Rpb24odCxlKXt0LnNvcnQoZnVuY3Rpb24odCxyKXtyZXR1cm4gbyhuW2VdW3RdLG5bZV1bcl0pfSl9KSxsPShBdC1jKmEpL2wsdT0wLHA9LTE7KytwPGE7KXtmb3IoZj11LGQ9LTE7KytkPGE7KXt2YXIgeD1tW3BdLGI9eVt4XVtkXSxfPW5beF1bYl0sdz11LGs9dSs9XypsO2dbeCsiLSIrYl09e2luZGV4Ongsc3ViaW5kZXg6YixzdGFydEFuZ2xlOncsZW5kQW5nbGU6ayx2YWx1ZTpffX1yW3hdPXtpbmRleDp4LHN0YXJ0QW5nbGU6ZixlbmRBbmdsZTp1LHZhbHVlOnZbeF19LHUrPWN9Zm9yKHA9LTE7KytwPGE7KWZvcihkPXAtMTsrK2Q8YTspe3ZhciBUPWdbcCsiLSIrZF0sTT1nW2QrIi0iK3BdOyhULnZhbHVlfHxNLnZhbHVlKSYmZS5wdXNoKFQudmFsdWU8TS52YWx1ZT97c291cmNlOk0sdGFyZ2V0OlR9Ontzb3VyY2U6VCx0YXJnZXQ6TX0pfXMmJmgoKX1mdW5jdGlvbiBoKCl7ZS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHMoKHQuc291cmNlLnZhbHVlK3QudGFyZ2V0LnZhbHVlKS8yLChlLnNvdXJjZS52YWx1ZStlLnRhcmdldC52YWx1ZSkvMil9KX1yZXR1cm4gbC5tYXRyaXg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9KG49dCkmJm4ubGVuZ3RoLGU9cj1udWxsLGwpOm59LGwucGFkZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz10LGU9cj1udWxsLGwpOmN9LGwuc29ydEdyb3Vwcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT10LGU9cj1udWxsLGwpOml9LGwuc29ydFN1Ymdyb3Vwcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz10LGU9bnVsbCxsKTpvfSxsLnNvcnRDaG9yZHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9dCxlJiZoKCksbCk6c30sbC5jaG9yZHM9ZnVuY3Rpb24oKXtyZXR1cm4gZXx8dSgpLGV9LGwuZ3JvdXBzPWZ1bmN0aW9uKCl7cmV0dXJuIHJ8fHUoKSxyfSxsfSx0LmxheW91dC5mb3JjZT1mdW5jdGlvbigpe3ZhciBlLHIsbixhLGksbyxzPXt9LGw9dC5kaXNwYXRjaCgic3RhcnQiLCJ0aWNrIiwiZW5kIiksYz1bMSwxXSx1PS45LGg9QWksZj1TaSxwPS0zMCxkPUVpLGc9LjEsdj0uNjQsbT1bXSx5PVtdO2Z1bmN0aW9uIHgodCl7cmV0dXJuIGZ1bmN0aW9uKGUscixuLGEpe2lmKGUucG9pbnQhPT10KXt2YXIgaT1lLmN4LXQueCxvPWUuY3ktdC55LHM9YS1yLGw9aSppK28qbztpZihzKnMvdjxsKXtpZihsPGQpe3ZhciBjPWUuY2hhcmdlL2w7dC5weC09aSpjLHQucHktPW8qY31yZXR1cm4hMH1pZihlLnBvaW50JiZsJiZsPGQpe2M9ZS5wb2ludENoYXJnZS9sO3QucHgtPWkqYyx0LnB5LT1vKmN9fXJldHVybiFlLmNoYXJnZX19ZnVuY3Rpb24gYihlKXtlLnB4PXQuZXZlbnQueCxlLnB5PXQuZXZlbnQueSxzLnJlc3VtZSgpfXJldHVybiBzLnRpY2s9ZnVuY3Rpb24oKXtpZigobio9Ljk5KTwuMDA1KXJldHVybiBlPW51bGwsbC5lbmQoe3R5cGU6ImVuZCIsYWxwaGE6bj0wfSksITA7dmFyIHIscyxoLGYsZCx2LGIsXyx3LGs9bS5sZW5ndGgsVD15Lmxlbmd0aDtmb3Iocz0wO3M8VDsrK3MpZj0oaD15W3NdKS5zb3VyY2UsKHY9KF89KGQ9aC50YXJnZXQpLngtZi54KSpfKyh3PWQueS1mLnkpKncpJiYoXyo9dj1uKmlbc10qKCh2PU1hdGguc3FydCh2KSktYVtzXSkvdix3Kj12LGQueC09XyooYj1mLndlaWdodCtkLndlaWdodD9mLndlaWdodC8oZi53ZWlnaHQrZC53ZWlnaHQpOi41KSxkLnktPXcqYixmLngrPV8qKGI9MS1iKSxmLnkrPXcqYik7aWYoKGI9bipnKSYmKF89Y1swXS8yLHc9Y1sxXS8yLHM9LTEsYikpZm9yKDsrK3M8azspKGg9bVtzXSkueCs9KF8taC54KSpiLGgueSs9KHctaC55KSpiO2lmKHApZm9yKCFmdW5jdGlvbiB0KGUscixuKXt2YXIgYT0wLGk9MDtlLmNoYXJnZT0wO2lmKCFlLmxlYWYpZm9yKHZhciBvLHM9ZS5ub2RlcyxsPXMubGVuZ3RoLGM9LTE7KytjPGw7KW51bGwhPShvPXNbY10pJiYodChvLHIsbiksZS5jaGFyZ2UrPW8uY2hhcmdlLGErPW8uY2hhcmdlKm8uY3gsaSs9by5jaGFyZ2Uqby5jeSk7aWYoZS5wb2ludCl7ZS5sZWFmfHwoZS5wb2ludC54Kz1NYXRoLnJhbmRvbSgpLS41LGUucG9pbnQueSs9TWF0aC5yYW5kb20oKS0uNSk7dmFyIHU9cipuW2UucG9pbnQuaW5kZXhdO2UuY2hhcmdlKz1lLnBvaW50Q2hhcmdlPXUsYSs9dSplLnBvaW50LngsaSs9dSplLnBvaW50Lnl9ZS5jeD1hL2UuY2hhcmdlO2UuY3k9aS9lLmNoYXJnZX0ocj10Lmdlb20ucXVhZHRyZWUobSksbixvKSxzPS0xOysrczxrOykoaD1tW3NdKS5maXhlZHx8ci52aXNpdCh4KGgpKTtmb3Iocz0tMTsrK3M8azspKGg9bVtzXSkuZml4ZWQ/KGgueD1oLnB4LGgueT1oLnB5KTooaC54LT0oaC5weC0oaC5weD1oLngpKSp1LGgueS09KGgucHktKGgucHk9aC55KSkqdSk7bC50aWNrKHt0eXBlOiJ0aWNrIixhbHBoYTpufSl9LHMubm9kZXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG09dCxzKTptfSxzLmxpbmtzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh5PXQscyk6eX0scy5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPXQscyk6Y30scy5saW5rRGlzdGFuY2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGg9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDordCxzKTpofSxzLmRpc3RhbmNlPXMubGlua0Rpc3RhbmNlLHMubGlua1N0cmVuZ3RoPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhmPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6K3Qscyk6Zn0scy5mcmljdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odT0rdCxzKTp1fSxzLmNoYXJnZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocD0iZnVuY3Rpb24iPT10eXBlb2YgdD90Oit0LHMpOnB9LHMuY2hhcmdlRGlzdGFuY2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGQ9dCp0LHMpOk1hdGguc3FydChkKX0scy5ncmF2aXR5PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhnPSt0LHMpOmd9LHMudGhldGE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHY9dCp0LHMpOk1hdGguc3FydCh2KX0scy5hbHBoYT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0rdCxuP3Q+MD9uPXQ6KGUuYz1udWxsLGUudD1OYU4sZT1udWxsLGwuZW5kKHt0eXBlOiJlbmQiLGFscGhhOm49MH0pKTp0PjAmJihsLnN0YXJ0KHt0eXBlOiJzdGFydCIsYWxwaGE6bj10fSksZT1UZShzLnRpY2spKSxzKTpufSxzLnN0YXJ0PWZ1bmN0aW9uKCl7dmFyIHQsZSxyLG49bS5sZW5ndGgsbD15Lmxlbmd0aCx1PWNbMF0sZD1jWzFdO2Zvcih0PTA7dDxuOysrdCkocj1tW3RdKS5pbmRleD10LHIud2VpZ2h0PTA7Zm9yKHQ9MDt0PGw7Kyt0KSJudW1iZXIiPT10eXBlb2Yocj15W3RdKS5zb3VyY2UmJihyLnNvdXJjZT1tW3Iuc291cmNlXSksIm51bWJlciI9PXR5cGVvZiByLnRhcmdldCYmKHIudGFyZ2V0PW1bci50YXJnZXRdKSwrK3Iuc291cmNlLndlaWdodCwrK3IudGFyZ2V0LndlaWdodDtmb3IodD0wO3Q8bjsrK3Qpcj1tW3RdLGlzTmFOKHIueCkmJihyLng9ZygieCIsdSkpLGlzTmFOKHIueSkmJihyLnk9ZygieSIsZCkpLGlzTmFOKHIucHgpJiYoci5weD1yLngpLGlzTmFOKHIucHkpJiYoci5weT1yLnkpO2lmKGE9W10sImZ1bmN0aW9uIj09dHlwZW9mIGgpZm9yKHQ9MDt0PGw7Kyt0KWFbdF09K2guY2FsbCh0aGlzLHlbdF0sdCk7ZWxzZSBmb3IodD0wO3Q8bDsrK3QpYVt0XT1oO2lmKGk9W10sImZ1bmN0aW9uIj09dHlwZW9mIGYpZm9yKHQ9MDt0PGw7Kyt0KWlbdF09K2YuY2FsbCh0aGlzLHlbdF0sdCk7ZWxzZSBmb3IodD0wO3Q8bDsrK3QpaVt0XT1mO2lmKG89W10sImZ1bmN0aW9uIj09dHlwZW9mIHApZm9yKHQ9MDt0PG47Kyt0KW9bdF09K3AuY2FsbCh0aGlzLG1bdF0sdCk7ZWxzZSBmb3IodD0wO3Q8bjsrK3Qpb1t0XT1wO2Z1bmN0aW9uIGcocixhKXtpZighZSl7Zm9yKGU9bmV3IEFycmF5KG4pLGM9MDtjPG47KytjKWVbY109W107Zm9yKGM9MDtjPGw7KytjKXt2YXIgaT15W2NdO2VbaS5zb3VyY2UuaW5kZXhdLnB1c2goaS50YXJnZXQpLGVbaS50YXJnZXQuaW5kZXhdLnB1c2goaS5zb3VyY2UpfX1mb3IodmFyIG8scz1lW3RdLGM9LTEsdT1zLmxlbmd0aDsrK2M8dTspaWYoIWlzTmFOKG89c1tjXVtyXSkpcmV0dXJuIG87cmV0dXJuIE1hdGgucmFuZG9tKCkqYX1yZXR1cm4gcy5yZXN1bWUoKX0scy5yZXN1bWU9ZnVuY3Rpb24oKXtyZXR1cm4gcy5hbHBoYSguMSl9LHMuc3RvcD1mdW5jdGlvbigpe3JldHVybiBzLmFscGhhKDApfSxzLmRyYWc9ZnVuY3Rpb24oKXtpZihyfHwocj10LmJlaGF2aW9yLmRyYWcoKS5vcmlnaW4oUCkub24oImRyYWdzdGFydC5mb3JjZSIsd2kpLm9uKCJkcmFnLmZvcmNlIixiKS5vbigiZHJhZ2VuZC5mb3JjZSIsa2kpKSwhYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gcjt0aGlzLm9uKCJtb3VzZW92ZXIuZm9yY2UiLFRpKS5vbigibW91c2VvdXQuZm9yY2UiLE1pKS5jYWxsKHIpfSx0LnJlYmluZChzLGwsIm9uIil9O3ZhciBBaT0yMCxTaT0xLEVpPTEvMDtmdW5jdGlvbiBMaShlLHIpe3JldHVybiB0LnJlYmluZChlLHIsInNvcnQiLCJjaGlsZHJlbiIsInZhbHVlIiksZS5ub2Rlcz1lLGUubGlua3M9RGksZX1mdW5jdGlvbiBDaSh0LGUpe2Zvcih2YXIgcj1bdF07bnVsbCE9KHQ9ci5wb3AoKSk7KWlmKGUodCksKGE9dC5jaGlsZHJlbikmJihuPWEubGVuZ3RoKSlmb3IodmFyIG4sYTstLW4+PTA7KXIucHVzaChhW25dKX1mdW5jdGlvbiBQaSh0LGUpe2Zvcih2YXIgcj1bdF0sbj1bXTtudWxsIT0odD1yLnBvcCgpKTspaWYobi5wdXNoKHQpLChpPXQuY2hpbGRyZW4pJiYoYT1pLmxlbmd0aCkpZm9yKHZhciBhLGksbz0tMTsrK288YTspci5wdXNoKGlbb10pO2Zvcig7bnVsbCE9KHQ9bi5wb3AoKSk7KWUodCl9ZnVuY3Rpb24gT2kodCl7cmV0dXJuIHQuY2hpbGRyZW59ZnVuY3Rpb24gemkodCl7cmV0dXJuIHQudmFsdWV9ZnVuY3Rpb24gSWkodCxlKXtyZXR1cm4gZS52YWx1ZS10LnZhbHVlfWZ1bmN0aW9uIERpKGUpe3JldHVybiB0Lm1lcmdlKGUubWFwKGZ1bmN0aW9uKHQpe3JldHVybih0LmNoaWxkcmVufHxbXSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybntzb3VyY2U6dCx0YXJnZXQ6ZX19KX0pKX10LmxheW91dC5oaWVyYXJjaHk9ZnVuY3Rpb24oKXt2YXIgdD1JaSxlPU9pLHI9emk7ZnVuY3Rpb24gbihhKXt2YXIgaSxvPVthXSxzPVtdO2ZvcihhLmRlcHRoPTA7bnVsbCE9KGk9by5wb3AoKSk7KWlmKHMucHVzaChpKSwoYz1lLmNhbGwobixpLGkuZGVwdGgpKSYmKGw9Yy5sZW5ndGgpKXtmb3IodmFyIGwsYyx1Oy0tbD49MDspby5wdXNoKHU9Y1tsXSksdS5wYXJlbnQ9aSx1LmRlcHRoPWkuZGVwdGgrMTtyJiYoaS52YWx1ZT0wKSxpLmNoaWxkcmVuPWN9ZWxzZSByJiYoaS52YWx1ZT0rci5jYWxsKG4saSxpLmRlcHRoKXx8MCksZGVsZXRlIGkuY2hpbGRyZW47cmV0dXJuIFBpKGEsZnVuY3Rpb24oZSl7dmFyIG4sYTt0JiYobj1lLmNoaWxkcmVuKSYmbi5zb3J0KHQpLHImJihhPWUucGFyZW50KSYmKGEudmFsdWUrPWUudmFsdWUpfSksc31yZXR1cm4gbi5zb3J0PWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PWUsbik6dH0sbi5jaGlsZHJlbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LG4pOmV9LG4udmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9dCxuKTpyfSxuLnJldmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHImJihDaSh0LGZ1bmN0aW9uKHQpe3QuY2hpbGRyZW4mJih0LnZhbHVlPTApfSksUGkodCxmdW5jdGlvbih0KXt2YXIgZTt0LmNoaWxkcmVufHwodC52YWx1ZT0rci5jYWxsKG4sdCx0LmRlcHRoKXx8MCksKGU9dC5wYXJlbnQpJiYoZS52YWx1ZSs9dC52YWx1ZSl9KSksdH0sbn0sdC5sYXlvdXQucGFydGl0aW9uPWZ1bmN0aW9uKCl7dmFyIGU9dC5sYXlvdXQuaGllcmFyY2h5KCkscj1bMSwxXTtmdW5jdGlvbiBuKHQsbil7dmFyIGE9ZS5jYWxsKHRoaXMsdCxuKTtyZXR1cm4gZnVuY3Rpb24gdChlLHIsbixhKXt2YXIgaT1lLmNoaWxkcmVuO2lmKGUueD1yLGUueT1lLmRlcHRoKmEsZS5keD1uLGUuZHk9YSxpJiYobz1pLmxlbmd0aCkpe3ZhciBvLHMsbCxjPS0xO2ZvcihuPWUudmFsdWU/bi9lLnZhbHVlOjA7KytjPG87KXQocz1pW2NdLHIsbD1zLnZhbHVlKm4sYSkscis9bH19KGFbMF0sMCxyWzBdLHJbMV0vZnVuY3Rpb24gdChlKXt2YXIgcj1lLmNoaWxkcmVuLG49MDtpZihyJiYoYT1yLmxlbmd0aCkpZm9yKHZhciBhLGk9LTE7KytpPGE7KW49TWF0aC5tYXgobix0KHJbaV0pKTtyZXR1cm4gMStufShhWzBdKSksYX1yZXR1cm4gbi5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPXQsbik6cn0sTGkobixlKX0sdC5sYXlvdXQucGllPWZ1bmN0aW9uKCl7dmFyIGU9TnVtYmVyLHI9Umksbj0wLGE9QXQsaT0wO2Z1bmN0aW9uIG8ocyl7dmFyIGwsYz1zLmxlbmd0aCx1PXMubWFwKGZ1bmN0aW9uKHQscil7cmV0dXJuK2UuY2FsbChvLHQscil9KSxoPSsoImZ1bmN0aW9uIj09dHlwZW9mIG4/bi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6biksZj0oImZ1bmN0aW9uIj09dHlwZW9mIGE/YS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6YSktaCxwPU1hdGgubWluKE1hdGguYWJzKGYpL2MsKygiZnVuY3Rpb24iPT10eXBlb2YgaT9pLmFwcGx5KHRoaXMsYXJndW1lbnRzKTppKSksZD1wKihmPDA/LTE6MSksZz10LnN1bSh1KSx2PWc/KGYtYypkKS9nOjAsbT10LnJhbmdlKGMpLHk9W107cmV0dXJuIG51bGwhPXImJm0uc29ydChyPT09Umk/ZnVuY3Rpb24odCxlKXtyZXR1cm4gdVtlXS11W3RdfTpmdW5jdGlvbih0LGUpe3JldHVybiByKHNbdF0sc1tlXSl9KSxtLmZvckVhY2goZnVuY3Rpb24odCl7eVt0XT17ZGF0YTpzW3RdLHZhbHVlOmw9dVt0XSxzdGFydEFuZ2xlOmgsZW5kQW5nbGU6aCs9bCp2K2QscGFkQW5nbGU6cH19KSx5fXJldHVybiBvLnZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXQsbyk6ZX0sby5zb3J0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPXQsbyk6cn0sby5zdGFydEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQsbyk6bn0sby5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT10LG8pOmF9LG8ucGFkQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9dCxvKTppfSxvfTt2YXIgUmk9e307ZnVuY3Rpb24gRmkodCl7cmV0dXJuIHQueH1mdW5jdGlvbiBCaSh0KXtyZXR1cm4gdC55fWZ1bmN0aW9uIE5pKHQsZSxyKXt0LnkwPWUsdC55PXJ9dC5sYXlvdXQuc3RhY2s9ZnVuY3Rpb24oKXt2YXIgZT1QLHI9VWksbj1xaSxhPU5pLGk9Rmksbz1CaTtmdW5jdGlvbiBzKGwsYyl7aWYoIShwPWwubGVuZ3RoKSlyZXR1cm4gbDt2YXIgdT1sLm1hcChmdW5jdGlvbih0LHIpe3JldHVybiBlLmNhbGwocyx0LHIpfSksaD11Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5tYXAoZnVuY3Rpb24odCxlKXtyZXR1cm5baS5jYWxsKHMsdCxlKSxvLmNhbGwocyx0LGUpXX0pfSksZj1yLmNhbGwocyxoLGMpO3U9dC5wZXJtdXRlKHUsZiksaD10LnBlcm11dGUoaCxmKTt2YXIgcCxkLGcsdixtPW4uY2FsbChzLGgsYykseT11WzBdLmxlbmd0aDtmb3IoZz0wO2c8eTsrK2cpZm9yKGEuY2FsbChzLHVbMF1bZ10sdj1tW2ddLGhbMF1bZ11bMV0pLGQ9MTtkPHA7KytkKWEuY2FsbChzLHVbZF1bZ10sdis9aFtkLTFdW2ddWzFdLGhbZF1bZ11bMV0pO3JldHVybiBsfXJldHVybiBzLnZhbHVlcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LHMpOmV9LHMub3JkZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpqaS5nZXQodCl8fFVpLHMpOnJ9LHMub2Zmc2V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6VmkuZ2V0KHQpfHxxaSxzKTpufSxzLng9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9dCxzKTppfSxzLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89dCxzKTpvfSxzLm91dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT10LHMpOmF9LHN9O3ZhciBqaT10Lm1hcCh7Imluc2lkZS1vdXQiOmZ1bmN0aW9uKGUpe3ZhciByLG4sYT1lLmxlbmd0aCxpPWUubWFwKEhpKSxvPWUubWFwKEdpKSxzPXQucmFuZ2UoYSkuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBpW3RdLWlbZV19KSxsPTAsYz0wLHU9W10saD1bXTtmb3Iocj0wO3I8YTsrK3Ipbj1zW3JdLGw8Yz8obCs9b1tuXSx1LnB1c2gobikpOihjKz1vW25dLGgucHVzaChuKSk7cmV0dXJuIGgucmV2ZXJzZSgpLmNvbmNhdCh1KX0scmV2ZXJzZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5yYW5nZShlLmxlbmd0aCkucmV2ZXJzZSgpfSxkZWZhdWx0OlVpfSksVmk9dC5tYXAoe3NpbGhvdWV0dGU6ZnVuY3Rpb24odCl7dmFyIGUscixuLGE9dC5sZW5ndGgsaT10WzBdLmxlbmd0aCxvPVtdLHM9MCxsPVtdO2ZvcihyPTA7cjxpOysrcil7Zm9yKGU9MCxuPTA7ZTxhO2UrKyluKz10W2VdW3JdWzFdO24+cyYmKHM9biksby5wdXNoKG4pfWZvcihyPTA7cjxpOysrcilsW3JdPShzLW9bcl0pLzI7cmV0dXJuIGx9LHdpZ2dsZTpmdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpLG8scyxsLGMsdT10Lmxlbmd0aCxoPXRbMF0sZj1oLmxlbmd0aCxwPVtdO2ZvcihwWzBdPWw9Yz0wLHI9MTtyPGY7KytyKXtmb3IoZT0wLGE9MDtlPHU7KytlKWErPXRbZV1bcl1bMV07Zm9yKGU9MCxpPTAscz1oW3JdWzBdLWhbci0xXVswXTtlPHU7KytlKXtmb3Iobj0wLG89KHRbZV1bcl1bMV0tdFtlXVtyLTFdWzFdKS8oMipzKTtuPGU7KytuKW8rPSh0W25dW3JdWzFdLXRbbl1bci0xXVsxXSkvcztpKz1vKnRbZV1bcl1bMV19cFtyXT1sLT1hP2kvYSpzOjAsbDxjJiYoYz1sKX1mb3Iocj0wO3I8ZjsrK3IpcFtyXS09YztyZXR1cm4gcH0sZXhwYW5kOmZ1bmN0aW9uKHQpe3ZhciBlLHIsbixhPXQubGVuZ3RoLGk9dFswXS5sZW5ndGgsbz0xL2Escz1bXTtmb3Iocj0wO3I8aTsrK3Ipe2ZvcihlPTAsbj0wO2U8YTtlKyspbis9dFtlXVtyXVsxXTtpZihuKWZvcihlPTA7ZTxhO2UrKyl0W2VdW3JdWzFdLz1uO2Vsc2UgZm9yKGU9MDtlPGE7ZSsrKXRbZV1bcl1bMV09b31mb3Iocj0wO3I8aTsrK3Ipc1tyXT0wO3JldHVybiBzfSx6ZXJvOnFpfSk7ZnVuY3Rpb24gVWkoZSl7cmV0dXJuIHQucmFuZ2UoZS5sZW5ndGgpfWZ1bmN0aW9uIHFpKHQpe2Zvcih2YXIgZT0tMSxyPXRbMF0ubGVuZ3RoLG49W107KytlPHI7KW5bZV09MDtyZXR1cm4gbn1mdW5jdGlvbiBIaSh0KXtmb3IodmFyIGUscj0xLG49MCxhPXRbMF1bMV0saT10Lmxlbmd0aDtyPGk7KytyKShlPXRbcl1bMV0pPmEmJihuPXIsYT1lKTtyZXR1cm4gbn1mdW5jdGlvbiBHaSh0KXtyZXR1cm4gdC5yZWR1Y2UoWWksMCl9ZnVuY3Rpb24gWWkodCxlKXtyZXR1cm4gdCtlWzFdfWZ1bmN0aW9uIFdpKHQsZSl7cmV0dXJuIFhpKHQsTWF0aC5jZWlsKE1hdGgubG9nKGUubGVuZ3RoKS9NYXRoLkxOMisxKSl9ZnVuY3Rpb24gWGkodCxlKXtmb3IodmFyIHI9LTEsbj0rdFswXSxhPSh0WzFdLW4pL2UsaT1bXTsrK3I8PWU7KWlbcl09YSpyK247cmV0dXJuIGl9ZnVuY3Rpb24gWmkoZSl7cmV0dXJuW3QubWluKGUpLHQubWF4KGUpXX1mdW5jdGlvbiBKaSh0LGUpe3JldHVybiB0LnZhbHVlLWUudmFsdWV9ZnVuY3Rpb24gS2kodCxlKXt2YXIgcj10Ll9wYWNrX25leHQ7dC5fcGFja19uZXh0PWUsZS5fcGFja19wcmV2PXQsZS5fcGFja19uZXh0PXIsci5fcGFja19wcmV2PWV9ZnVuY3Rpb24gUWkodCxlKXt0Ll9wYWNrX25leHQ9ZSxlLl9wYWNrX3ByZXY9dH1mdW5jdGlvbiAkaSh0LGUpe3ZhciByPWUueC10Lngsbj1lLnktdC55LGE9dC5yK2UucjtyZXR1cm4uOTk5KmEqYT5yKnIrbipufWZ1bmN0aW9uIHRvKHQpe2lmKChlPXQuY2hpbGRyZW4pJiYobD1lLmxlbmd0aCkpe3ZhciBlLHIsbixhLGksbyxzLGwsYz0xLzAsdT0tMS8wLGg9MS8wLGY9LTEvMDtpZihlLmZvckVhY2goZW8pLChyPWVbMF0pLng9LXIucixyLnk9MCx4KHIpLGw+MSYmKChuPWVbMV0pLng9bi5yLG4ueT0wLHgobiksbD4yKSlmb3Iobm8ocixuLGE9ZVsyXSkseChhKSxLaShyLGEpLHIuX3BhY2tfcHJldj1hLEtpKGEsbiksbj1yLl9wYWNrX25leHQsaT0zO2k8bDtpKyspe25vKHIsbixhPWVbaV0pO3ZhciBwPTAsZD0xLGc9MTtmb3Iobz1uLl9wYWNrX25leHQ7byE9PW47bz1vLl9wYWNrX25leHQsZCsrKWlmKCRpKG8sYSkpe3A9MTticmVha31pZigxPT1wKWZvcihzPXIuX3BhY2tfcHJldjtzIT09by5fcGFja19wcmV2JiYhJGkocyxhKTtzPXMuX3BhY2tfcHJldixnKyspO3A/KGQ8Z3x8ZD09ZyYmbi5yPHIucj9RaShyLG49byk6UWkocj1zLG4pLGktLSk6KEtpKHIsYSksbj1hLHgoYSkpfXZhciB2PShjK3UpLzIsbT0oaCtmKS8yLHk9MDtmb3IoaT0wO2k8bDtpKyspKGE9ZVtpXSkueC09dixhLnktPW0seT1NYXRoLm1heCh5LGEucitNYXRoLnNxcnQoYS54KmEueCthLnkqYS55KSk7dC5yPXksZS5mb3JFYWNoKHJvKX1mdW5jdGlvbiB4KHQpe2M9TWF0aC5taW4odC54LXQucixjKSx1PU1hdGgubWF4KHQueCt0LnIsdSksaD1NYXRoLm1pbih0LnktdC5yLGgpLGY9TWF0aC5tYXgodC55K3QucixmKX19ZnVuY3Rpb24gZW8odCl7dC5fcGFja19uZXh0PXQuX3BhY2tfcHJldj10fWZ1bmN0aW9uIHJvKHQpe2RlbGV0ZSB0Ll9wYWNrX25leHQsZGVsZXRlIHQuX3BhY2tfcHJldn1mdW5jdGlvbiBubyh0LGUscil7dmFyIG49dC5yK3IucixhPWUueC10LngsaT1lLnktdC55O2lmKG4mJihhfHxpKSl7dmFyIG89ZS5yK3IucixzPWEqYStpKmksbD0uNSsoKG4qPW4pLShvKj1vKSkvKDIqcyksYz1NYXRoLnNxcnQoTWF0aC5tYXgoMCwyKm8qKG4rcyktKG4tPXMpKm4tbypvKSkvKDIqcyk7ci54PXQueCtsKmErYyppLHIueT10LnkrbCppLWMqYX1lbHNlIHIueD10LngrbixyLnk9dC55fWZ1bmN0aW9uIGFvKHQsZSl7cmV0dXJuIHQucGFyZW50PT1lLnBhcmVudD8xOjJ9ZnVuY3Rpb24gaW8odCl7dmFyIGU9dC5jaGlsZHJlbjtyZXR1cm4gZS5sZW5ndGg/ZVswXTp0LnR9ZnVuY3Rpb24gb28odCl7dmFyIGUscj10LmNoaWxkcmVuO3JldHVybihlPXIubGVuZ3RoKT9yW2UtMV06dC50fWZ1bmN0aW9uIHNvKHQsZSxyKXt2YXIgbj1yLyhlLmktdC5pKTtlLmMtPW4sZS5zKz1yLHQuYys9bixlLnorPXIsZS5tKz1yfWZ1bmN0aW9uIGxvKHQsZSxyKXtyZXR1cm4gdC5hLnBhcmVudD09PWUucGFyZW50P3QuYTpyfWZ1bmN0aW9uIGNvKHQpe3JldHVybnt4OnQueCx5OnQueSxkeDp0LmR4LGR5OnQuZHl9fWZ1bmN0aW9uIHVvKHQsZSl7dmFyIHI9dC54K2VbM10sbj10LnkrZVswXSxhPXQuZHgtZVsxXS1lWzNdLGk9dC5keS1lWzBdLWVbMl07cmV0dXJuIGE8MCYmKHIrPWEvMixhPTApLGk8MCYmKG4rPWkvMixpPTApLHt4OnIseTpuLGR4OmEsZHk6aX19ZnVuY3Rpb24gaG8odCl7dmFyIGU9dFswXSxyPXRbdC5sZW5ndGgtMV07cmV0dXJuIGU8cj9bZSxyXTpbcixlXX1mdW5jdGlvbiBmbyh0KXtyZXR1cm4gdC5yYW5nZUV4dGVudD90LnJhbmdlRXh0ZW50KCk6aG8odC5yYW5nZSgpKX1mdW5jdGlvbiBwbyh0LGUscixuKXt2YXIgYT1yKHRbMF0sdFsxXSksaT1uKGVbMF0sZVsxXSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBpKGEodCkpfX1mdW5jdGlvbiBnbyh0LGUpe3ZhciByLG49MCxhPXQubGVuZ3RoLTEsaT10W25dLG89dFthXTtyZXR1cm4gbzxpJiYocj1uLG49YSxhPXIscj1pLGk9byxvPXIpLHRbbl09ZS5mbG9vcihpKSx0W2FdPWUuY2VpbChvKSx0fWZ1bmN0aW9uIHZvKHQpe3JldHVybiB0P3tmbG9vcjpmdW5jdGlvbihlKXtyZXR1cm4gTWF0aC5mbG9vcihlL3QpKnR9LGNlaWw6ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGguY2VpbChlL3QpKnR9fTptb310LmxheW91dC5oaXN0b2dyYW09ZnVuY3Rpb24oKXt2YXIgZT0hMCxyPU51bWJlcixuPVppLGE9V2k7ZnVuY3Rpb24gaShpLG8pe2Zvcih2YXIgcyxsLGM9W10sdT1pLm1hcChyLHRoaXMpLGg9bi5jYWxsKHRoaXMsdSxvKSxmPWEuY2FsbCh0aGlzLGgsdSxvKSxwPShvPS0xLHUubGVuZ3RoKSxkPWYubGVuZ3RoLTEsZz1lPzE6MS9wOysrbzxkOykocz1jW29dPVtdKS5keD1mW28rMV0tKHMueD1mW29dKSxzLnk9MDtpZihkPjApZm9yKG89LTE7KytvPHA7KShsPXVbb10pPj1oWzBdJiZsPD1oWzFdJiYoKHM9Y1t0LmJpc2VjdChmLGwsMSxkKS0xXSkueSs9ZyxzLnB1c2goaVtvXSkpO3JldHVybiBjfXJldHVybiBpLnZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPXQsaSk6cn0saS5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj12ZSh0KSxpKTpufSxpLmJpbnM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9Im51bWJlciI9PXR5cGVvZiB0P2Z1bmN0aW9uKGUpe3JldHVybiBYaShlLHQpfTp2ZSh0KSxpKTphfSxpLmZyZXF1ZW5jeT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0hIXQsaSk6ZX0saX0sdC5sYXlvdXQucGFjaz1mdW5jdGlvbigpe3ZhciBlLHI9dC5sYXlvdXQuaGllcmFyY2h5KCkuc29ydChKaSksbj0wLGE9WzEsMV07ZnVuY3Rpb24gaSh0LGkpe3ZhciBvPXIuY2FsbCh0aGlzLHQsaSkscz1vWzBdLGw9YVswXSxjPWFbMV0sdT1udWxsPT1lP01hdGguc3FydDoiZnVuY3Rpb24iPT10eXBlb2YgZT9lOmZ1bmN0aW9uKCl7cmV0dXJuIGV9O2lmKHMueD1zLnk9MCxQaShzLGZ1bmN0aW9uKHQpe3Qucj0rdSh0LnZhbHVlKX0pLFBpKHMsdG8pLG4pe3ZhciBoPW4qKGU/MTpNYXRoLm1heCgyKnMuci9sLDIqcy5yL2MpKS8yO1BpKHMsZnVuY3Rpb24odCl7dC5yKz1ofSksUGkocyx0byksUGkocyxmdW5jdGlvbih0KXt0LnItPWh9KX1yZXR1cm4gZnVuY3Rpb24gdChlLHIsbixhKXt2YXIgaT1lLmNoaWxkcmVuO2UueD1yKz1hKmUueDtlLnk9bis9YSplLnk7ZS5yKj1hO2lmKGkpZm9yKHZhciBvPS0xLHM9aS5sZW5ndGg7KytvPHM7KXQoaVtvXSxyLG4sYSl9KHMsbC8yLGMvMixlPzE6MS9NYXRoLm1heCgyKnMuci9sLDIqcy5yL2MpKSxvfXJldHVybiBpLnNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dCxpKTphfSxpLnJhZGl1cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT1udWxsPT10fHwiZnVuY3Rpb24iPT10eXBlb2YgdD90Oit0LGkpOmV9LGkucGFkZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0rdCxpKTpufSxMaShpLHIpfSx0LmxheW91dC50cmVlPWZ1bmN0aW9uKCl7dmFyIGU9dC5sYXlvdXQuaGllcmFyY2h5KCkuc29ydChudWxsKS52YWx1ZShudWxsKSxyPWFvLG49WzEsMV0sYT1udWxsO2Z1bmN0aW9uIGkodCxpKXt2YXIgYz1lLmNhbGwodGhpcyx0LGkpLHU9Y1swXSxoPWZ1bmN0aW9uKHQpe3ZhciBlLHI9e0E6bnVsbCxjaGlsZHJlbjpbdF19LG49W3JdO2Zvcig7bnVsbCE9KGU9bi5wb3AoKSk7KWZvcih2YXIgYSxpPWUuY2hpbGRyZW4sbz0wLHM9aS5sZW5ndGg7bzxzOysrbyluLnB1c2goKGlbb109YT17XzppW29dLHBhcmVudDplLGNoaWxkcmVuOihhPWlbb10uY2hpbGRyZW4pJiZhLnNsaWNlKCl8fFtdLEE6bnVsbCxhOm51bGwsejowLG06MCxjOjAsczowLHQ6bnVsbCxpOm99KS5hPWEpO3JldHVybiByLmNoaWxkcmVuWzBdfSh1KTtpZihQaShoLG8pLGgucGFyZW50Lm09LWgueixDaShoLHMpLGEpQ2kodSxsKTtlbHNle3ZhciBmPXUscD11LGQ9dTtDaSh1LGZ1bmN0aW9uKHQpe3QueDxmLngmJihmPXQpLHQueD5wLngmJihwPXQpLHQuZGVwdGg+ZC5kZXB0aCYmKGQ9dCl9KTt2YXIgZz1yKGYscCkvMi1mLngsdj1uWzBdLyhwLngrcihwLGYpLzIrZyksbT1uWzFdLyhkLmRlcHRofHwxKTtDaSh1LGZ1bmN0aW9uKHQpe3QueD0odC54K2cpKnYsdC55PXQuZGVwdGgqbX0pfXJldHVybiBjfWZ1bmN0aW9uIG8odCl7dmFyIGU9dC5jaGlsZHJlbixuPXQucGFyZW50LmNoaWxkcmVuLGE9dC5pP25bdC5pLTFdOm51bGw7aWYoZS5sZW5ndGgpeyFmdW5jdGlvbih0KXt2YXIgZSxyPTAsbj0wLGE9dC5jaGlsZHJlbixpPWEubGVuZ3RoO2Zvcig7LS1pPj0wOykoZT1hW2ldKS56Kz1yLGUubSs9cixyKz1lLnMrKG4rPWUuYyl9KHQpO3ZhciBpPShlWzBdLnorZVtlLmxlbmd0aC0xXS56KS8yO2E/KHQuej1hLnorcih0Ll8sYS5fKSx0Lm09dC56LWkpOnQuej1pfWVsc2UgYSYmKHQuej1hLnorcih0Ll8sYS5fKSk7dC5wYXJlbnQuQT1mdW5jdGlvbih0LGUsbil7aWYoZSl7Zm9yKHZhciBhLGk9dCxvPXQscz1lLGw9aS5wYXJlbnQuY2hpbGRyZW5bMF0sYz1pLm0sdT1vLm0saD1zLm0sZj1sLm07cz1vbyhzKSxpPWlvKGkpLHMmJmk7KWw9aW8obCksKG89b28obykpLmE9dCwoYT1zLnoraC1pLnotYytyKHMuXyxpLl8pKT4wJiYoc28obG8ocyx0LG4pLHQsYSksYys9YSx1Kz1hKSxoKz1zLm0sYys9aS5tLGYrPWwubSx1Kz1vLm07cyYmIW9vKG8pJiYoby50PXMsby5tKz1oLXUpLGkmJiFpbyhsKSYmKGwudD1pLGwubSs9Yy1mLG49dCl9cmV0dXJuIG59KHQsYSx0LnBhcmVudC5BfHxuWzBdKX1mdW5jdGlvbiBzKHQpe3QuXy54PXQueit0LnBhcmVudC5tLHQubSs9dC5wYXJlbnQubX1mdW5jdGlvbiBsKHQpe3QueCo9blswXSx0Lnk9dC5kZXB0aCpuWzFdfXJldHVybiBpLnNlcGFyYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9dCxpKTpyfSxpLnNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9bnVsbD09KG49dCk/bDpudWxsLGkpOmE/bnVsbDpufSxpLm5vZGVTaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPW51bGw9PShuPXQpP251bGw6bCxpKTphP246bnVsbH0sTGkoaSxlKX0sdC5sYXlvdXQuY2x1c3Rlcj1mdW5jdGlvbigpe3ZhciBlPXQubGF5b3V0LmhpZXJhcmNoeSgpLnNvcnQobnVsbCkudmFsdWUobnVsbCkscj1hbyxuPVsxLDFdLGE9ITE7ZnVuY3Rpb24gaShpLG8pe3ZhciBzLGw9ZS5jYWxsKHRoaXMsaSxvKSxjPWxbMF0sdT0wO1BpKGMsZnVuY3Rpb24oZSl7dmFyIG49ZS5jaGlsZHJlbjtuJiZuLmxlbmd0aD8oZS54PWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlZHVjZShmdW5jdGlvbih0LGUpe3JldHVybiB0K2UueH0sMCkvdC5sZW5ndGh9KG4pLGUueT1mdW5jdGlvbihlKXtyZXR1cm4gMSt0Lm1heChlLGZ1bmN0aW9uKHQpe3JldHVybiB0Lnl9KX0obikpOihlLng9cz91Kz1yKGUscyk6MCxlLnk9MCxzPWUpfSk7dmFyIGg9ZnVuY3Rpb24gdChlKXt2YXIgcj1lLmNoaWxkcmVuO3JldHVybiByJiZyLmxlbmd0aD90KHJbMF0pOmV9KGMpLGY9ZnVuY3Rpb24gdChlKXt2YXIgcixuPWUuY2hpbGRyZW47cmV0dXJuIG4mJihyPW4ubGVuZ3RoKT90KG5bci0xXSk6ZX0oYykscD1oLngtcihoLGYpLzIsZD1mLngrcihmLGgpLzI7cmV0dXJuIFBpKGMsYT9mdW5jdGlvbih0KXt0Lng9KHQueC1jLngpKm5bMF0sdC55PShjLnktdC55KSpuWzFdfTpmdW5jdGlvbih0KXt0Lng9KHQueC1wKS8oZC1wKSpuWzBdLHQueT0oMS0oYy55P3QueS9jLnk6MSkpKm5bMV19KSxsfXJldHVybiBpLnNlcGFyYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9dCxpKTpyfSxpLnNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9bnVsbD09KG49dCksaSk6YT9udWxsOm59LGkubm9kZVNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9bnVsbCE9KG49dCksaSk6YT9uOm51bGx9LExpKGksZSl9LHQubGF5b3V0LnRyZWVtYXA9ZnVuY3Rpb24oKXt2YXIgZSxyPXQubGF5b3V0LmhpZXJhcmNoeSgpLG49TWF0aC5yb3VuZCxhPVsxLDFdLGk9bnVsbCxvPWNvLHM9ITEsbD0ic3F1YXJpZnkiLGM9LjUqKDErTWF0aC5zcXJ0KDUpKTtmdW5jdGlvbiB1KHQsZSl7Zm9yKHZhciByLG4sYT0tMSxpPXQubGVuZ3RoOysrYTxpOyluPShyPXRbYV0pLnZhbHVlKihlPDA/MDplKSxyLmFyZWE9aXNOYU4obil8fG48PTA/MDpufWZ1bmN0aW9uIGgodCl7dmFyIGU9dC5jaGlsZHJlbjtpZihlJiZlLmxlbmd0aCl7dmFyIHIsbixhLGk9byh0KSxzPVtdLGM9ZS5zbGljZSgpLGY9MS8wLGc9InNsaWNlIj09PWw/aS5keDoiZGljZSI9PT1sP2kuZHk6InNsaWNlLWRpY2UiPT09bD8xJnQuZGVwdGg/aS5keTppLmR4Ok1hdGgubWluKGkuZHgsaS5keSk7Zm9yKHUoYyxpLmR4KmkuZHkvdC52YWx1ZSkscy5hcmVhPTA7KGE9Yy5sZW5ndGgpPjA7KXMucHVzaChyPWNbYS0xXSkscy5hcmVhKz1yLmFyZWEsInNxdWFyaWZ5IiE9PWx8fChuPXAocyxnKSk8PWY/KGMucG9wKCksZj1uKToocy5hcmVhLT1zLnBvcCgpLmFyZWEsZChzLGcsaSwhMSksZz1NYXRoLm1pbihpLmR4LGkuZHkpLHMubGVuZ3RoPXMuYXJlYT0wLGY9MS8wKTtzLmxlbmd0aCYmKGQocyxnLGksITApLHMubGVuZ3RoPXMuYXJlYT0wKSxlLmZvckVhY2goaCl9fWZ1bmN0aW9uIGYodCl7dmFyIGU9dC5jaGlsZHJlbjtpZihlJiZlLmxlbmd0aCl7dmFyIHIsbj1vKHQpLGE9ZS5zbGljZSgpLGk9W107Zm9yKHUoYSxuLmR4Km4uZHkvdC52YWx1ZSksaS5hcmVhPTA7cj1hLnBvcCgpOylpLnB1c2gociksaS5hcmVhKz1yLmFyZWEsbnVsbCE9ci56JiYoZChpLHIuej9uLmR4Om4uZHksbiwhYS5sZW5ndGgpLGkubGVuZ3RoPWkuYXJlYT0wKTtlLmZvckVhY2goZil9fWZ1bmN0aW9uIHAodCxlKXtmb3IodmFyIHIsbj10LmFyZWEsYT0wLGk9MS8wLG89LTEscz10Lmxlbmd0aDsrK288czspKHI9dFtvXS5hcmVhKSYmKHI8aSYmKGk9cikscj5hJiYoYT1yKSk7cmV0dXJuIGUqPWUsKG4qPW4pP01hdGgubWF4KGUqYSpjL24sbi8oZSppKmMpKToxLzB9ZnVuY3Rpb24gZCh0LGUscixhKXt2YXIgaSxvPS0xLHM9dC5sZW5ndGgsbD1yLngsYz1yLnksdT1lP24odC5hcmVhL2UpOjA7aWYoZT09ci5keCl7Zm9yKChhfHx1PnIuZHkpJiYodT1yLmR5KTsrK288czspKGk9dFtvXSkueD1sLGkueT1jLGkuZHk9dSxsKz1pLmR4PU1hdGgubWluKHIueCtyLmR4LWwsdT9uKGkuYXJlYS91KTowKTtpLno9ITAsaS5keCs9ci54K3IuZHgtbCxyLnkrPXUsci5keS09dX1lbHNle2ZvcigoYXx8dT5yLmR4KSYmKHU9ci5keCk7KytvPHM7KShpPXRbb10pLng9bCxpLnk9YyxpLmR4PXUsYys9aS5keT1NYXRoLm1pbihyLnkrci5keS1jLHU/bihpLmFyZWEvdSk6MCk7aS56PSExLGkuZHkrPXIueStyLmR5LWMsci54Kz11LHIuZHgtPXV9fWZ1bmN0aW9uIGcodCl7dmFyIG49ZXx8cih0KSxpPW5bMF07cmV0dXJuIGkueD1pLnk9MCxpLnZhbHVlPyhpLmR4PWFbMF0saS5keT1hWzFdKTppLmR4PWkuZHk9MCxlJiZyLnJldmFsdWUoaSksdShbaV0saS5keCppLmR5L2kudmFsdWUpLChlP2Y6aCkoaSkscyYmKGU9biksbn1yZXR1cm4gZy5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXQsZyk6YX0sZy5wYWRkaW5nPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBpO2Z1bmN0aW9uIGUoZSl7cmV0dXJuIHVvKGUsdCl9dmFyIHI7cmV0dXJuIG89bnVsbD09KGk9dCk/Y286ImZ1bmN0aW9uIj09KHI9dHlwZW9mIHQpP2Z1bmN0aW9uKGUpe3ZhciByPXQuY2FsbChnLGUsZS5kZXB0aCk7cmV0dXJuIG51bGw9PXI/Y28oZSk6dW8oZSwibnVtYmVyIj09dHlwZW9mIHI/W3IscixyLHJdOnIpfToibnVtYmVyIj09PXI/KHQ9W3QsdCx0LHRdLGUpOmUsZ30sZy5yb3VuZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10P01hdGgucm91bmQ6TnVtYmVyLGcpOm4hPU51bWJlcn0sZy5zdGlja3k9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9dCxlPW51bGwsZyk6c30sZy5yYXRpbz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz10LGcpOmN9LGcubW9kZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD10KyIiLGcpOmx9LExpKGcscil9LHQucmFuZG9tPXtub3JtYWw6ZnVuY3Rpb24odCxlKXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoO3JldHVybiByPDImJihlPTEpLHI8MSYmKHQ9MCksZnVuY3Rpb24oKXt2YXIgcixuLGE7ZG97YT0ocj0yKk1hdGgucmFuZG9tKCktMSkqcisobj0yKk1hdGgucmFuZG9tKCktMSkqbn13aGlsZSghYXx8YT4xKTtyZXR1cm4gdCtlKnIqTWF0aC5zcXJ0KC0yKk1hdGgubG9nKGEpL2EpfX0sbG9nTm9ybWFsOmZ1bmN0aW9uKCl7dmFyIGU9dC5yYW5kb20ubm9ybWFsLmFwcGx5KHQsYXJndW1lbnRzKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5leHAoZSgpKX19LGJhdGVzOmZ1bmN0aW9uKGUpe3ZhciByPXQucmFuZG9tLmlyd2luSGFsbChlKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gcigpL2V9fSxpcndpbkhhbGw6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTAscj0wO3I8dDtyKyspZSs9TWF0aC5yYW5kb20oKTtyZXR1cm4gZX19fSx0LnNjYWxlPXt9O3ZhciBtbz17Zmxvb3I6UCxjZWlsOlB9O2Z1bmN0aW9uIHlvKGUscixuLGEpe3ZhciBpPVtdLG89W10scz0wLGw9TWF0aC5taW4oZS5sZW5ndGgsci5sZW5ndGgpLTE7Zm9yKGVbbF08ZVswXSYmKGU9ZS5zbGljZSgpLnJldmVyc2UoKSxyPXIuc2xpY2UoKS5yZXZlcnNlKCkpOysrczw9bDspaS5wdXNoKG4oZVtzLTFdLGVbc10pKSxvLnB1c2goYShyW3MtMV0scltzXSkpO3JldHVybiBmdW5jdGlvbihyKXt2YXIgbj10LmJpc2VjdChlLHIsMSxsKS0xO3JldHVybiBvW25dKGlbbl0ocikpfX1mdW5jdGlvbiB4byhlLHIpe3JldHVybiB0LnJlYmluZChlLHIsInJhbmdlIiwicmFuZ2VSb3VuZCIsImludGVycG9sYXRlIiwiY2xhbXAiKX1mdW5jdGlvbiBibyh0LGUpe3JldHVybiBnbyh0LHZvKF9vKHQsZSlbMl0pKSxnbyh0LHZvKF9vKHQsZSlbMl0pKSx0fWZ1bmN0aW9uIF9vKHQsZSl7bnVsbD09ZSYmKGU9MTApO3ZhciByPWhvKHQpLG49clsxXS1yWzBdLGE9TWF0aC5wb3coMTAsTWF0aC5mbG9vcihNYXRoLmxvZyhuL2UpL01hdGguTE4xMCkpLGk9ZS9uKmE7cmV0dXJuIGk8PS4xNT9hKj0xMDppPD0uMzU/YSo9NTppPD0uNzUmJihhKj0yKSxyWzBdPU1hdGguY2VpbChyWzBdL2EpKmEsclsxXT1NYXRoLmZsb29yKHJbMV0vYSkqYSsuNSphLHJbMl09YSxyfWZ1bmN0aW9uIHdvKGUscil7cmV0dXJuIHQucmFuZ2UuYXBwbHkodCxfbyhlLHIpKX1mdW5jdGlvbiBrbyhlLHIsbil7dmFyIGE9X28oZSxyKTtpZihuKXt2YXIgaT1QZS5leGVjKG4pO2lmKGkuc2hpZnQoKSwicyI9PT1pWzhdKXt2YXIgbz10LmZvcm1hdFByZWZpeChNYXRoLm1heCh5KGFbMF0pLHkoYVsxXSkpKTtyZXR1cm4gaVs3XXx8KGlbN109Ii4iK01vKG8uc2NhbGUoYVsyXSkpKSxpWzhdPSJmIixuPXQuZm9ybWF0KGkuam9pbigiIikpLGZ1bmN0aW9uKHQpe3JldHVybiBuKG8uc2NhbGUodCkpK28uc3ltYm9sfX1pWzddfHwoaVs3XT0iLiIrZnVuY3Rpb24odCxlKXt2YXIgcj1NbyhlWzJdKTtyZXR1cm4gdCBpbiBUbz9NYXRoLmFicyhyLU1vKE1hdGgubWF4KHkoZVswXSkseShlWzFdKSkpKSsgKygiZSIhPT10KTpyLTIqKCIlIj09PXQpfShpWzhdLGEpKSxuPWkuam9pbigiIil9ZWxzZSBuPSIsLiIrTW8oYVsyXSkrImYiO3JldHVybiB0LmZvcm1hdChuKX10LnNjYWxlLmxpbmVhcj1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiB0KGUscixuLGEpe3ZhciBpLG87ZnVuY3Rpb24gcygpe3ZhciB0PU1hdGgubWluKGUubGVuZ3RoLHIubGVuZ3RoKT4yP3lvOnBvLHM9YT94aTp5aTtyZXR1cm4gaT10KGUscixzLG4pLG89dChyLGUscyxLYSksbH1mdW5jdGlvbiBsKHQpe3JldHVybiBpKHQpfWwuaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiBvKHQpfTtsLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10Lm1hcChOdW1iZXIpLHMoKSk6ZX07bC5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LHMoKSk6cn07bC5yYW5nZVJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBsLnJhbmdlKHQpLmludGVycG9sYXRlKGhpKX07bC5jbGFtcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT10LHMoKSk6YX07bC5pbnRlcnBvbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10LHMoKSk6bn07bC50aWNrcz1mdW5jdGlvbih0KXtyZXR1cm4gd28oZSx0KX07bC50aWNrRm9ybWF0PWZ1bmN0aW9uKHQscil7cmV0dXJuIGtvKGUsdCxyKX07bC5uaWNlPWZ1bmN0aW9uKHQpe3JldHVybiBibyhlLHQpLHMoKX07bC5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoZSxyLG4sYSl9O3JldHVybiBzKCl9KFswLDFdLFswLDFdLEthLCExKX07dmFyIFRvPXtzOjEsZzoxLHA6MSxyOjEsZToxfTtmdW5jdGlvbiBNbyh0KXtyZXR1cm4tTWF0aC5mbG9vcihNYXRoLmxvZyh0KS9NYXRoLkxOMTArLjAxKX10LnNjYWxlLmxvZz1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHIsbixhLGkpe2Z1bmN0aW9uIG8odCl7cmV0dXJuKGE/TWF0aC5sb2codDwwPzA6dCk6LU1hdGgubG9nKHQ+MD8wOi10KSkvTWF0aC5sb2cobil9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gYT9NYXRoLnBvdyhuLHQpOi1NYXRoLnBvdyhuLC10KX1mdW5jdGlvbiBsKHQpe3JldHVybiByKG8odCkpfWwuaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiBzKHIuaW52ZXJ0KHQpKX07bC5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dFswXT49MCxyLmRvbWFpbigoaT10Lm1hcChOdW1iZXIpKS5tYXAobykpLGwpOml9O2wuYmFzZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0rdCxyLmRvbWFpbihpLm1hcChvKSksbCk6bn07bC5uaWNlPWZ1bmN0aW9uKCl7dmFyIHQ9Z28oaS5tYXAobyksYT9NYXRoOlNvKTtyZXR1cm4gci5kb21haW4odCksaT10Lm1hcChzKSxsfTtsLnRpY2tzPWZ1bmN0aW9uKCl7dmFyIHQ9aG8oaSksZT1bXSxyPXRbMF0sbD10WzFdLGM9TWF0aC5mbG9vcihvKHIpKSx1PU1hdGguY2VpbChvKGwpKSxoPW4lMT8yOm47aWYoaXNGaW5pdGUodS1jKSl7aWYoYSl7Zm9yKDtjPHU7YysrKWZvcih2YXIgZj0xO2Y8aDtmKyspZS5wdXNoKHMoYykqZik7ZS5wdXNoKHMoYykpfWVsc2UgZm9yKGUucHVzaChzKGMpKTtjKys8dTspZm9yKHZhciBmPWgtMTtmPjA7Zi0tKWUucHVzaChzKGMpKmYpO2ZvcihjPTA7ZVtjXTxyO2MrKyk7Zm9yKHU9ZS5sZW5ndGg7ZVt1LTFdPmw7dS0tKTtlPWUuc2xpY2UoYyx1KX1yZXR1cm4gZX07bC50aWNrRm9ybWF0PWZ1bmN0aW9uKGUscil7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIEFvO2FyZ3VtZW50cy5sZW5ndGg8Mj9yPUFvOiJmdW5jdGlvbiIhPXR5cGVvZiByJiYocj10LmZvcm1hdChyKSk7dmFyIGE9TWF0aC5tYXgoMSxuKmUvbC50aWNrcygpLmxlbmd0aCk7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPXQvcyhNYXRoLnJvdW5kKG8odCkpKTtyZXR1cm4gZSpuPG4tLjUmJihlKj1uKSxlPD1hP3IodCk6IiJ9fTtsLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gZShyLmNvcHkoKSxuLGEsaSl9O3JldHVybiB4byhsLHIpfSh0LnNjYWxlLmxpbmVhcigpLmRvbWFpbihbMCwxXSksMTAsITAsWzEsMTBdKX07dmFyIEFvPXQuZm9ybWF0KCIuMGUiKSxTbz17Zmxvb3I6ZnVuY3Rpb24odCl7cmV0dXJuLU1hdGguY2VpbCgtdCl9LGNlaWw6ZnVuY3Rpb24odCl7cmV0dXJuLU1hdGguZmxvb3IoLXQpfX07ZnVuY3Rpb24gRW8odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlPDA/LU1hdGgucG93KC1lLHQpOk1hdGgucG93KGUsdCl9fXQuc2NhbGUucG93PWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIHQoZSxyLG4pe3ZhciBhPUVvKHIpLGk9RW8oMS9yKTtmdW5jdGlvbiBvKHQpe3JldHVybiBlKGEodCkpfW8uaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiBpKGUuaW52ZXJ0KHQpKX07by5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGUuZG9tYWluKChuPXQubWFwKE51bWJlcikpLm1hcChhKSksbyk6bn07by50aWNrcz1mdW5jdGlvbih0KXtyZXR1cm4gd28obix0KX07by50aWNrRm9ybWF0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGtvKG4sdCxlKX07by5uaWNlPWZ1bmN0aW9uKHQpe3JldHVybiBvLmRvbWFpbihibyhuLHQpKX07by5leHBvbmVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT1FbyhyPXQpLGk9RW8oMS9yKSxlLmRvbWFpbihuLm1hcChhKSksbyk6cn07by5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoZS5jb3B5KCkscixuKX07cmV0dXJuIHhvKG8sZSl9KHQuc2NhbGUubGluZWFyKCksMSxbMCwxXSl9LHQuc2NhbGUuc3FydD1mdW5jdGlvbigpe3JldHVybiB0LnNjYWxlLnBvdygpLmV4cG9uZW50KC41KX0sdC5zY2FsZS5vcmRpbmFsPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUocixuKXt2YXIgYSxpLG87ZnVuY3Rpb24gcyh0KXtyZXR1cm4gaVsoKGEuZ2V0KHQpfHwoInJhbmdlIj09PW4udD9hLnNldCh0LHIucHVzaCh0KSk6TmFOKSktMSklaS5sZW5ndGhdfWZ1bmN0aW9uIGwoZSxuKXtyZXR1cm4gdC5yYW5nZShyLmxlbmd0aCkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlK24qdH0pfXMuZG9tYWluPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiByO3I9W10sYT1uZXcgYjtmb3IodmFyIGUsaT0tMSxvPXQubGVuZ3RoOysraTxvOylhLmhhcyhlPXRbaV0pfHxhLnNldChlLHIucHVzaChlKSk7cmV0dXJuIHNbbi50XS5hcHBseShzLG4uYSl9O3MucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9dCxvPTAsbj17dDoicmFuZ2UiLGE6YXJndW1lbnRzfSxzKTppfTtzLnJhbmdlUG9pbnRzPWZ1bmN0aW9uKHQsZSl7YXJndW1lbnRzLmxlbmd0aDwyJiYoZT0wKTt2YXIgYT10WzBdLGM9dFsxXSx1PXIubGVuZ3RoPDI/KGE9KGErYykvMiwwKTooYy1hKS8oci5sZW5ndGgtMStlKTtyZXR1cm4gaT1sKGErdSplLzIsdSksbz0wLG49e3Q6InJhbmdlUG9pbnRzIixhOmFyZ3VtZW50c30sc307cy5yYW5nZVJvdW5kUG9pbnRzPWZ1bmN0aW9uKHQsZSl7YXJndW1lbnRzLmxlbmd0aDwyJiYoZT0wKTt2YXIgYT10WzBdLGM9dFsxXSx1PXIubGVuZ3RoPDI/KGE9Yz1NYXRoLnJvdW5kKChhK2MpLzIpLDApOihjLWEpLyhyLmxlbmd0aC0xK2UpfDA7cmV0dXJuIGk9bChhK01hdGgucm91bmQodSplLzIrKGMtYS0oci5sZW5ndGgtMStlKSp1KS8yKSx1KSxvPTAsbj17dDoicmFuZ2VSb3VuZFBvaW50cyIsYTphcmd1bWVudHN9LHN9O3MucmFuZ2VCYW5kcz1mdW5jdGlvbih0LGUsYSl7YXJndW1lbnRzLmxlbmd0aDwyJiYoZT0wKSxhcmd1bWVudHMubGVuZ3RoPDMmJihhPWUpO3ZhciBjPXRbMV08dFswXSx1PXRbYy0wXSxoPXRbMS1jXSxmPShoLXUpLyhyLmxlbmd0aC1lKzIqYSk7cmV0dXJuIGk9bCh1K2YqYSxmKSxjJiZpLnJldmVyc2UoKSxvPWYqKDEtZSksbj17dDoicmFuZ2VCYW5kcyIsYTphcmd1bWVudHN9LHN9O3MucmFuZ2VSb3VuZEJhbmRzPWZ1bmN0aW9uKHQsZSxhKXthcmd1bWVudHMubGVuZ3RoPDImJihlPTApLGFyZ3VtZW50cy5sZW5ndGg8MyYmKGE9ZSk7dmFyIGM9dFsxXTx0WzBdLHU9dFtjLTBdLGg9dFsxLWNdLGY9TWF0aC5mbG9vcigoaC11KS8oci5sZW5ndGgtZSsyKmEpKTtyZXR1cm4gaT1sKHUrTWF0aC5yb3VuZCgoaC11LShyLmxlbmd0aC1lKSpmKS8yKSxmKSxjJiZpLnJldmVyc2UoKSxvPU1hdGgucm91bmQoZiooMS1lKSksbj17dDoicmFuZ2VSb3VuZEJhbmRzIixhOmFyZ3VtZW50c30sc307cy5yYW5nZUJhbmQ9ZnVuY3Rpb24oKXtyZXR1cm4gb307cy5yYW5nZUV4dGVudD1mdW5jdGlvbigpe3JldHVybiBobyhuLmFbMF0pfTtzLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gZShyLG4pfTtyZXR1cm4gcy5kb21haW4ocil9KFtdLHt0OiJyYW5nZSIsYTpbW11dfSl9LHQuc2NhbGUuY2F0ZWdvcnkxMD1mdW5jdGlvbigpe3JldHVybiB0LnNjYWxlLm9yZGluYWwoKS5yYW5nZShMbyl9LHQuc2NhbGUuY2F0ZWdvcnkyMD1mdW5jdGlvbigpe3JldHVybiB0LnNjYWxlLm9yZGluYWwoKS5yYW5nZShDbyl9LHQuc2NhbGUuY2F0ZWdvcnkyMGI9ZnVuY3Rpb24oKXtyZXR1cm4gdC5zY2FsZS5vcmRpbmFsKCkucmFuZ2UoUG8pfSx0LnNjYWxlLmNhdGVnb3J5MjBjPWZ1bmN0aW9uKCl7cmV0dXJuIHQuc2NhbGUub3JkaW5hbCgpLnJhbmdlKE9vKX07dmFyIExvPVsyMDYyMjYwLDE2NzQ0MjA2LDI5MjQ1ODgsMTQwMzQ3MjgsOTcyNTg4NSw5MTk3MTMxLDE0OTA3MzMwLDgzNTU3MTEsMTIzNjkxODYsMTU1NjE3NV0ubWFwKHNlKSxDbz1bMjA2MjI2MCwxMTQ1NDQ0MCwxNjc0NDIwNiwxNjc1OTY3MiwyOTI0NTg4LDEwMDE4Njk4LDE0MDM0NzI4LDE2NzUwNzQyLDk3MjU4ODUsMTI5NTU4NjEsOTE5NzEzMSwxMjg4NTE0MCwxNDkwNzMzMCwxNjIzNDE5NCw4MzU1NzExLDEzMDkyODA3LDEyMzY5MTg2LDE0NDA4NTg5LDE1NTYxNzUsMTA0MTA3MjVdLm1hcChzZSksUG89WzM3NTA3NzcsNTM5NTYxOSw3MDQwNzE5LDEwMjY0Mjg2LDY1MTkwOTcsOTIxNjU5NCwxMTkxNTExNSwxMzU1NjYzNiw5MjAyOTkzLDEyNDI2ODA5LDE1MTg2NTE0LDE1MTkwOTMyLDg2NjYxNjksMTEzNTY0OTAsMTQwNDk2NDMsMTUxNzczNzIsODA3NzY4MywxMDgzNDMyNCwxMzUyODUwOSwxNDU4OTY1NF0ubWFwKHNlKSxPbz1bMzI0NDczMyw3MDU3MTEwLDEwNDA2NjI1LDEzMDMyNDMxLDE1MDk1MDUzLDE2NjE2NzY0LDE2NjI1MjU5LDE2NjM0MDE4LDMyNTMwNzYsNzY1MjQ3MCwxMDYwNzAwMywxMzEwMTUwNCw3Njk1MjgxLDEwMzk0MzEyLDEyMzY5MzcyLDE0MzQyODkxLDY1MTM1MDcsOTg2ODk1MCwxMjQzNDg3NywxNDI3NzA4MV0ubWFwKHNlKTtmdW5jdGlvbiB6bygpe3JldHVybiAwfXQuc2NhbGUucXVhbnRpbGU9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gZShyLG4pe3ZhciBhO2Z1bmN0aW9uIGkoKXt2YXIgZT0wLGk9bi5sZW5ndGg7Zm9yKGE9W107KytlPGk7KWFbZS0xXT10LnF1YW50aWxlKHIsZS9pKTtyZXR1cm4gb31mdW5jdGlvbiBvKGUpe2lmKCFpc05hTihlPStlKSlyZXR1cm4gblt0LmJpc2VjdChhLGUpXX1vLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10Lm1hcChwKS5maWx0ZXIoZCkuc29ydChmKSxpKCkpOnJ9O28ucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxpKCkpOm59O28ucXVhbnRpbGVzPWZ1bmN0aW9uKCl7cmV0dXJuIGF9O28uaW52ZXJ0RXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybih0PW4uaW5kZXhPZih0KSk8MD9bTmFOLE5hTl06W3Q+MD9hW3QtMV06clswXSx0PGEubGVuZ3RoP2FbdF06cltyLmxlbmd0aC0xXV19O28uY29weT1mdW5jdGlvbigpe3JldHVybiBlKHIsbil9O3JldHVybiBpKCl9KFtdLFtdKX0sdC5zY2FsZS5xdWFudGl6ZT1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiB0KGUscixuKXt2YXIgYSxpO2Z1bmN0aW9uIG8odCl7cmV0dXJuIG5bTWF0aC5tYXgoMCxNYXRoLm1pbihpLE1hdGguZmxvb3IoYSoodC1lKSkpKV19ZnVuY3Rpb24gcygpe3JldHVybiBhPW4ubGVuZ3RoLyhyLWUpLGk9bi5sZW5ndGgtMSxvfW8uZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSt0WzBdLHI9K3RbdC5sZW5ndGgtMV0scygpKTpbZSxyXX07by5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10LHMoKSk6bn07by5pbnZlcnRFeHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuW3Q9KHQ9bi5pbmRleE9mKHQpKTwwP05hTjp0L2ErZSx0KzEvYV19O28uY29weT1mdW5jdGlvbigpe3JldHVybiB0KGUscixuKX07cmV0dXJuIHMoKX0oMCwxLFswLDFdKX0sdC5zY2FsZS50aHJlc2hvbGQ9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gZShyLG4pe2Z1bmN0aW9uIGEoZSl7aWYoZTw9ZSlyZXR1cm4gblt0LmJpc2VjdChyLGUpXX1hLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LGEpOnJ9O2EucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxhKTpufTthLmludmVydEV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gdD1uLmluZGV4T2YodCksW3JbdC0xXSxyW3RdXX07YS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIGUocixuKX07cmV0dXJuIGF9KFsuNV0sWzAsMV0pfSx0LnNjYWxlLmlkZW50aXR5PWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gcih0KXtyZXR1cm4rdH1yLmludmVydD1yO3IuZG9tYWluPXIucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dC5tYXAocikscik6ZX07ci50aWNrcz1mdW5jdGlvbih0KXtyZXR1cm4gd28oZSx0KX07ci50aWNrRm9ybWF0PWZ1bmN0aW9uKHQscil7cmV0dXJuIGtvKGUsdCxyKX07ci5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoZSl9O3JldHVybiByfShbMCwxXSl9LHQuc3ZnPXt9LHQuc3ZnLmFyYz1mdW5jdGlvbigpe3ZhciB0PURvLGU9Um8scj16byxuPUlvLGE9Rm8saT1CbyxvPU5vO2Z1bmN0aW9uIHMoKXt2YXIgcz1NYXRoLm1heCgwLCt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSksYz1NYXRoLm1heCgwLCtlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksdT1hLmFwcGx5KHRoaXMsYXJndW1lbnRzKS1FdCxoPWkuYXBwbHkodGhpcyxhcmd1bWVudHMpLUV0LGY9TWF0aC5hYnMoaC11KSxwPXU+aD8wOjE7aWYoYzxzJiYoZD1jLGM9cyxzPWQpLGY+PVN0KXJldHVybiBsKGMscCkrKHM/bChzLDEtcCk6IiIpKyJaIjt2YXIgZCxnLHYsbSx5LHgsYixfLHcsayxULE0sQT0wLFM9MCxFPVtdO2lmKChtPSgrby5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fDApLzIpJiYodj1uPT09SW8/TWF0aC5zcXJ0KHMqcytjKmMpOituLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxwfHwoUyo9LTEpLGMmJihTPUl0KHYvYypNYXRoLnNpbihtKSkpLHMmJihBPUl0KHYvcypNYXRoLnNpbihtKSkpKSxjKXt5PWMqTWF0aC5jb3ModStTKSx4PWMqTWF0aC5zaW4odStTKSxiPWMqTWF0aC5jb3MoaC1TKSxfPWMqTWF0aC5zaW4oaC1TKTt2YXIgTD1NYXRoLmFicyhoLXUtMipTKTw9TXQ/MDoxO2lmKFMmJmpvKHkseCxiLF8pPT09cF5MKXt2YXIgQz0odStoKS8yO3k9YypNYXRoLmNvcyhDKSx4PWMqTWF0aC5zaW4oQyksYj1fPW51bGx9fWVsc2UgeT14PTA7aWYocyl7dz1zKk1hdGguY29zKGgtQSksaz1zKk1hdGguc2luKGgtQSksVD1zKk1hdGguY29zKHUrQSksTT1zKk1hdGguc2luKHUrQSk7dmFyIFA9TWF0aC5hYnModS1oKzIqQSk8PU10PzA6MTtpZihBJiZqbyh3LGssVCxNKT09PTEtcF5QKXt2YXIgTz0odStoKS8yO3c9cypNYXRoLmNvcyhPKSxrPXMqTWF0aC5zaW4oTyksVD1NPW51bGx9fWVsc2Ugdz1rPTA7aWYoZj5rdCYmKGQ9TWF0aC5taW4oTWF0aC5hYnMoYy1zKS8yLCtyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSkpPi4wMDEpe2c9czxjXnA/MDoxO3ZhciB6PWQsST1kO2lmKGY8TXQpe3ZhciBEPW51bGw9PVQ/W3csa106bnVsbD09Yj9beSx4XTpjYShbeSx4XSxbVCxNXSxbYixfXSxbdyxrXSksUj15LURbMF0sRj14LURbMV0sQj1iLURbMF0sTj1fLURbMV0saj0xL01hdGguc2luKE1hdGguYWNvcygoUipCK0YqTikvKE1hdGguc3FydChSKlIrRipGKSpNYXRoLnNxcnQoQipCK04qTikpKS8yKSxWPU1hdGguc3FydChEWzBdKkRbMF0rRFsxXSpEWzFdKTtJPU1hdGgubWluKGQsKHMtVikvKGotMSkpLHo9TWF0aC5taW4oZCwoYy1WKS8oaisxKSl9aWYobnVsbCE9Yil7dmFyIFU9Vm8obnVsbD09VD9bdyxrXTpbVCxNXSxbeSx4XSxjLHoscCkscT1WbyhbYixfXSxbdyxrXSxjLHoscCk7ZD09PXo/RS5wdXNoKCJNIixVWzBdLCJBIix6LCIsIix6LCIgMCAwLCIsZywiICIsVVsxXSwiQSIsYywiLCIsYywiIDAgIiwxLXBeam8oVVsxXVswXSxVWzFdWzFdLHFbMV1bMF0scVsxXVsxXSksIiwiLHAsIiAiLHFbMV0sIkEiLHosIiwiLHosIiAwIDAsIixnLCIgIixxWzBdKTpFLnB1c2goIk0iLFVbMF0sIkEiLHosIiwiLHosIiAwIDEsIixnLCIgIixxWzBdKX1lbHNlIEUucHVzaCgiTSIseSwiLCIseCk7aWYobnVsbCE9VCl7dmFyIEg9Vm8oW3kseF0sW1QsTV0scywtSSxwKSxHPVZvKFt3LGtdLG51bGw9PWI/W3kseF06W2IsX10scywtSSxwKTtkPT09ST9FLnB1c2goIkwiLEdbMF0sIkEiLEksIiwiLEksIiAwIDAsIixnLCIgIixHWzFdLCJBIixzLCIsIixzLCIgMCAiLHBeam8oR1sxXVswXSxHWzFdWzFdLEhbMV1bMF0sSFsxXVsxXSksIiwiLDEtcCwiICIsSFsxXSwiQSIsSSwiLCIsSSwiIDAgMCwiLGcsIiAiLEhbMF0pOkUucHVzaCgiTCIsR1swXSwiQSIsSSwiLCIsSSwiIDAgMCwiLGcsIiAiLEhbMF0pfWVsc2UgRS5wdXNoKCJMIix3LCIsIixrKX1lbHNlIEUucHVzaCgiTSIseSwiLCIseCksbnVsbCE9YiYmRS5wdXNoKCJBIixjLCIsIixjLCIgMCAiLEwsIiwiLHAsIiAiLGIsIiwiLF8pLEUucHVzaCgiTCIsdywiLCIsayksbnVsbCE9VCYmRS5wdXNoKCJBIixzLCIsIixzLCIgMCAiLFAsIiwiLDEtcCwiICIsVCwiLCIsTSk7cmV0dXJuIEUucHVzaCgiWiIpLEUuam9pbigiIil9ZnVuY3Rpb24gbCh0LGUpe3JldHVybiJNMCwiK3QrIkEiK3QrIiwiK3QrIiAwIDEsIitlKyIgMCwiKy10KyJBIit0KyIsIit0KyIgMCAxLCIrZSsiIDAsIit0fXJldHVybiBzLmlubmVyUmFkaXVzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PXZlKGUpLHMpOnR9LHMub3V0ZXJSYWRpdXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dmUodCkscyk6ZX0scy5jb3JuZXJSYWRpdXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9dmUodCkscyk6cn0scy5wYWRSYWRpdXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dD09SW8/SW86dmUodCkscyk6bn0scy5zdGFydEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXZlKHQpLHMpOmF9LHMuZW5kQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9dmUodCkscyk6aX0scy5wYWRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz12ZSh0KSxzKTpvfSxzLmNlbnRyb2lkPWZ1bmN0aW9uKCl7dmFyIHI9KCt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSsgK2UuYXBwbHkodGhpcyxhcmd1bWVudHMpKS8yLG49KCthLmFwcGx5KHRoaXMsYXJndW1lbnRzKSsgK2kuYXBwbHkodGhpcyxhcmd1bWVudHMpKS8yLUV0O3JldHVybltNYXRoLmNvcyhuKSpyLE1hdGguc2luKG4pKnJdfSxzfTt2YXIgSW89ImF1dG8iO2Z1bmN0aW9uIERvKHQpe3JldHVybiB0LmlubmVyUmFkaXVzfWZ1bmN0aW9uIFJvKHQpe3JldHVybiB0Lm91dGVyUmFkaXVzfWZ1bmN0aW9uIEZvKHQpe3JldHVybiB0LnN0YXJ0QW5nbGV9ZnVuY3Rpb24gQm8odCl7cmV0dXJuIHQuZW5kQW5nbGV9ZnVuY3Rpb24gTm8odCl7cmV0dXJuIHQmJnQucGFkQW5nbGV9ZnVuY3Rpb24gam8odCxlLHIsbil7cmV0dXJuKHQtcikqZS0oZS1uKSp0PjA/MDoxfWZ1bmN0aW9uIFZvKHQsZSxyLG4sYSl7dmFyIGk9dFswXS1lWzBdLG89dFsxXS1lWzFdLHM9KGE/bjotbikvTWF0aC5zcXJ0KGkqaStvKm8pLGw9cypvLGM9LXMqaSx1PXRbMF0rbCxoPXRbMV0rYyxmPWVbMF0rbCxwPWVbMV0rYyxkPSh1K2YpLzIsZz0oaCtwKS8yLHY9Zi11LG09cC1oLHk9dip2K20qbSx4PXItbixiPXUqcC1mKmgsXz0obTwwPy0xOjEpKk1hdGguc3FydChNYXRoLm1heCgwLHgqeCp5LWIqYikpLHc9KGIqbS12Kl8pL3ksaz0oLWIqdi1tKl8pL3ksVD0oYiptK3YqXykveSxNPSgtYip2K20qXykveSxBPXctZCxTPWstZyxFPVQtZCxMPU0tZztyZXR1cm4gQSpBK1MqUz5FKkUrTCpMJiYodz1ULGs9TSksW1t3LWwsay1jXSxbdypyL3gsaypyL3hdXX1mdW5jdGlvbiBVbyh0KXt2YXIgZT1uYSxyPWFhLG49WHIsYT1IbyxpPWEua2V5LG89Ljc7ZnVuY3Rpb24gcyhpKXt2YXIgcyxsPVtdLGM9W10sdT0tMSxoPWkubGVuZ3RoLGY9dmUoZSkscD12ZShyKTtmdW5jdGlvbiBkKCl7bC5wdXNoKCJNIixhKHQoYyksbykpfWZvcig7Kyt1PGg7KW4uY2FsbCh0aGlzLHM9aVt1XSx1KT9jLnB1c2goWytmLmNhbGwodGhpcyxzLHUpLCtwLmNhbGwodGhpcyxzLHUpXSk6Yy5sZW5ndGgmJihkKCksYz1bXSk7cmV0dXJuIGMubGVuZ3RoJiZkKCksbC5sZW5ndGg/bC5qb2luKCIiKTpudWxsfXJldHVybiBzLng9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxzKTplfSxzLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9dCxzKTpyfSxzLmRlZmluZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxzKTpufSxzLmludGVycG9sYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P2E9dDooYT1xby5nZXQodCl8fEhvKS5rZXkscyk6aX0scy50ZW5zaW9uPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPXQscyk6b30sc310LnN2Zy5saW5lPWZ1bmN0aW9uKCl7cmV0dXJuIFVvKFApfTt2YXIgcW89dC5tYXAoe2xpbmVhcjpIbywibGluZWFyLWNsb3NlZCI6R28sc3RlcDpmdW5jdGlvbih0KXt2YXIgZT0wLHI9dC5sZW5ndGgsbj10WzBdLGE9W25bMF0sIiwiLG5bMV1dO2Zvcig7KytlPHI7KWEucHVzaCgiSCIsKG5bMF0rKG49dFtlXSlbMF0pLzIsIlYiLG5bMV0pO3I+MSYmYS5wdXNoKCJIIixuWzBdKTtyZXR1cm4gYS5qb2luKCIiKX0sInN0ZXAtYmVmb3JlIjpZbywic3RlcC1hZnRlciI6V28sYmFzaXM6Sm8sImJhc2lzLW9wZW4iOmZ1bmN0aW9uKHQpe2lmKHQubGVuZ3RoPDQpcmV0dXJuIEhvKHQpO3ZhciBlLHI9W10sbj0tMSxhPXQubGVuZ3RoLGk9WzBdLG89WzBdO2Zvcig7KytuPDM7KWU9dFtuXSxpLnB1c2goZVswXSksby5wdXNoKGVbMV0pO3IucHVzaChLbyh0cyxpKSsiLCIrS28odHMsbykpLC0tbjtmb3IoOysrbjxhOyllPXRbbl0saS5zaGlmdCgpLGkucHVzaChlWzBdKSxvLnNoaWZ0KCksby5wdXNoKGVbMV0pLGVzKHIsaSxvKTtyZXR1cm4gci5qb2luKCIiKX0sImJhc2lzLWNsb3NlZCI6ZnVuY3Rpb24odCl7dmFyIGUscixuPS0xLGE9dC5sZW5ndGgsaT1hKzQsbz1bXSxzPVtdO2Zvcig7KytuPDQ7KXI9dFtuJWFdLG8ucHVzaChyWzBdKSxzLnB1c2goclsxXSk7ZT1bS28odHMsbyksIiwiLEtvKHRzLHMpXSwtLW47Zm9yKDsrK248aTspcj10W24lYV0sby5zaGlmdCgpLG8ucHVzaChyWzBdKSxzLnNoaWZ0KCkscy5wdXNoKHJbMV0pLGVzKGUsbyxzKTtyZXR1cm4gZS5qb2luKCIiKX0sYnVuZGxlOmZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5sZW5ndGgtMTtpZihyKWZvcih2YXIgbixhLGk9dFswXVswXSxvPXRbMF1bMV0scz10W3JdWzBdLWksbD10W3JdWzFdLW8sYz0tMTsrK2M8PXI7KW49dFtjXSxhPWMvcixuWzBdPWUqblswXSsoMS1lKSooaSthKnMpLG5bMV09ZSpuWzFdKygxLWUpKihvK2EqbCk7cmV0dXJuIEpvKHQpfSxjYXJkaW5hbDpmdW5jdGlvbih0LGUpe3JldHVybiB0Lmxlbmd0aDwzP0hvKHQpOnRbMF0rWG8odCxabyh0LGUpKX0sImNhcmRpbmFsLW9wZW4iOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQubGVuZ3RoPDQ/SG8odCk6dFsxXStYbyh0LnNsaWNlKDEsLTEpLFpvKHQsZSkpfSwiY2FyZGluYWwtY2xvc2VkIjpmdW5jdGlvbih0LGUpe3JldHVybiB0Lmxlbmd0aDwzP0dvKHQpOnRbMF0rWG8oKHQucHVzaCh0WzBdKSx0KSxabyhbdFt0Lmxlbmd0aC0yXV0uY29uY2F0KHQsW3RbMV1dKSxlKSl9LG1vbm90b25lOmZ1bmN0aW9uKHQpe3JldHVybiB0Lmxlbmd0aDwzP0hvKHQpOnRbMF0rWG8odCxmdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpPVtdLG89ZnVuY3Rpb24odCl7dmFyIGU9MCxyPXQubGVuZ3RoLTEsbj1bXSxhPXRbMF0saT10WzFdLG89blswXT1ycyhhLGkpO2Zvcig7KytlPHI7KW5bZV09KG8rKG89cnMoYT1pLGk9dFtlKzFdKSkpLzI7cmV0dXJuIG5bZV09byxufSh0KSxzPS0xLGw9dC5sZW5ndGgtMTtmb3IoOysrczxsOyllPXJzKHRbc10sdFtzKzFdKSx5KGUpPGt0P29bc109b1tzKzFdPTA6KHI9b1tzXS9lLG49b1tzKzFdL2UsKGE9cipyK24qbik+OSYmKGE9MyplL01hdGguc3FydChhKSxvW3NdPWEqcixvW3MrMV09YSpuKSk7cz0tMTtmb3IoOysrczw9bDspYT0odFtNYXRoLm1pbihsLHMrMSldWzBdLXRbTWF0aC5tYXgoMCxzLTEpXVswXSkvKDYqKDErb1tzXSpvW3NdKSksaS5wdXNoKFthfHwwLG9bc10qYXx8MF0pO3JldHVybiBpfSh0KSl9fSk7ZnVuY3Rpb24gSG8odCl7cmV0dXJuIHQubGVuZ3RoPjE/dC5qb2luKCJMIik6dCsiWiJ9ZnVuY3Rpb24gR28odCl7cmV0dXJuIHQuam9pbigiTCIpKyJaIn1mdW5jdGlvbiBZbyh0KXtmb3IodmFyIGU9MCxyPXQubGVuZ3RoLG49dFswXSxhPVtuWzBdLCIsIixuWzFdXTsrK2U8cjspYS5wdXNoKCJWIiwobj10W2VdKVsxXSwiSCIsblswXSk7cmV0dXJuIGEuam9pbigiIil9ZnVuY3Rpb24gV28odCl7Zm9yKHZhciBlPTAscj10Lmxlbmd0aCxuPXRbMF0sYT1bblswXSwiLCIsblsxXV07KytlPHI7KWEucHVzaCgiSCIsKG49dFtlXSlbMF0sIlYiLG5bMV0pO3JldHVybiBhLmpvaW4oIiIpfWZ1bmN0aW9uIFhvKHQsZSl7aWYoZS5sZW5ndGg8MXx8dC5sZW5ndGghPWUubGVuZ3RoJiZ0Lmxlbmd0aCE9ZS5sZW5ndGgrMilyZXR1cm4gSG8odCk7dmFyIHI9dC5sZW5ndGghPWUubGVuZ3RoLG49IiIsYT10WzBdLGk9dFsxXSxvPWVbMF0scz1vLGw9MTtpZihyJiYobis9IlEiKyhpWzBdLTIqb1swXS8zKSsiLCIrKGlbMV0tMipvWzFdLzMpKyIsIitpWzBdKyIsIitpWzFdLGE9dFsxXSxsPTIpLGUubGVuZ3RoPjEpe3M9ZVsxXSxpPXRbbF0sbCsrLG4rPSJDIisoYVswXStvWzBdKSsiLCIrKGFbMV0rb1sxXSkrIiwiKyhpWzBdLXNbMF0pKyIsIisoaVsxXS1zWzFdKSsiLCIraVswXSsiLCIraVsxXTtmb3IodmFyIGM9MjtjPGUubGVuZ3RoO2MrKyxsKyspaT10W2xdLHM9ZVtjXSxuKz0iUyIrKGlbMF0tc1swXSkrIiwiKyhpWzFdLXNbMV0pKyIsIitpWzBdKyIsIitpWzFdfWlmKHIpe3ZhciB1PXRbbF07bis9IlEiKyhpWzBdKzIqc1swXS8zKSsiLCIrKGlbMV0rMipzWzFdLzMpKyIsIit1WzBdKyIsIit1WzFdfXJldHVybiBufWZ1bmN0aW9uIFpvKHQsZSl7Zm9yKHZhciByLG49W10sYT0oMS1lKS8yLGk9dFswXSxvPXRbMV0scz0xLGw9dC5sZW5ndGg7KytzPGw7KXI9aSxpPW8sbz10W3NdLG4ucHVzaChbYSoob1swXS1yWzBdKSxhKihvWzFdLXJbMV0pXSk7cmV0dXJuIG59ZnVuY3Rpb24gSm8odCl7aWYodC5sZW5ndGg8MylyZXR1cm4gSG8odCk7dmFyIGU9MSxyPXQubGVuZ3RoLG49dFswXSxhPW5bMF0saT1uWzFdLG89W2EsYSxhLChuPXRbMV0pWzBdXSxzPVtpLGksaSxuWzFdXSxsPVthLCIsIixpLCJMIixLbyh0cyxvKSwiLCIsS28odHMscyldO2Zvcih0LnB1c2godFtyLTFdKTsrK2U8PXI7KW49dFtlXSxvLnNoaWZ0KCksby5wdXNoKG5bMF0pLHMuc2hpZnQoKSxzLnB1c2goblsxXSksZXMobCxvLHMpO3JldHVybiB0LnBvcCgpLGwucHVzaCgiTCIsbiksbC5qb2luKCIiKX1mdW5jdGlvbiBLbyh0LGUpe3JldHVybiB0WzBdKmVbMF0rdFsxXSplWzFdK3RbMl0qZVsyXSt0WzNdKmVbM119cW8uZm9yRWFjaChmdW5jdGlvbih0LGUpe2Uua2V5PXQsZS5jbG9zZWQ9Ly1jbG9zZWQkLy50ZXN0KHQpfSk7dmFyIFFvPVswLDIvMywxLzMsMF0sJG89WzAsMS8zLDIvMywwXSx0cz1bMCwxLzYsMi8zLDEvNl07ZnVuY3Rpb24gZXModCxlLHIpe3QucHVzaCgiQyIsS28oUW8sZSksIiwiLEtvKFFvLHIpLCIsIixLbygkbyxlKSwiLCIsS28oJG8sciksIiwiLEtvKHRzLGUpLCIsIixLbyh0cyxyKSl9ZnVuY3Rpb24gcnModCxlKXtyZXR1cm4oZVsxXS10WzFdKS8oZVswXS10WzBdKX1mdW5jdGlvbiBucyh0KXtmb3IodmFyIGUscixuLGE9LTEsaT10Lmxlbmd0aDsrK2E8aTspcj0oZT10W2FdKVswXSxuPWVbMV0tRXQsZVswXT1yKk1hdGguY29zKG4pLGVbMV09cipNYXRoLnNpbihuKTtyZXR1cm4gdH1mdW5jdGlvbiBhcyh0KXt2YXIgZT1uYSxyPW5hLG49MCxhPWFhLGk9WHIsbz1IbyxzPW8ua2V5LGw9byxjPSJMIix1PS43O2Z1bmN0aW9uIGgocyl7dmFyIGgsZixwLGQ9W10sZz1bXSx2PVtdLG09LTEseT1zLmxlbmd0aCx4PXZlKGUpLGI9dmUobiksXz1lPT09cj9mdW5jdGlvbigpe3JldHVybiBmfTp2ZShyKSx3PW49PT1hP2Z1bmN0aW9uKCl7cmV0dXJuIHB9OnZlKGEpO2Z1bmN0aW9uIGsoKXtkLnB1c2goIk0iLG8odCh2KSx1KSxjLGwodChnLnJldmVyc2UoKSksdSksIloiKX1mb3IoOysrbTx5OylpLmNhbGwodGhpcyxoPXNbbV0sbSk/KGcucHVzaChbZj0reC5jYWxsKHRoaXMsaCxtKSxwPStiLmNhbGwodGhpcyxoLG0pXSksdi5wdXNoKFsrXy5jYWxsKHRoaXMsaCxtKSwrdy5jYWxsKHRoaXMsaCxtKV0pKTpnLmxlbmd0aCYmKGsoKSxnPVtdLHY9W10pO3JldHVybiBnLmxlbmd0aCYmaygpLGQubGVuZ3RoP2Quam9pbigiIik6bnVsbH1yZXR1cm4gaC54PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXI9dCxoKTpyfSxoLngwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXQsaCk6ZX0saC54MT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LGgpOnJ9LGgueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1hPXQsaCk6YX0saC55MD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10LGgpOm59LGgueTE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dCxoKTphfSxoLmRlZmluZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9dCxoKTppfSxoLmludGVycG9sYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPSJmdW5jdGlvbiI9PXR5cGVvZiB0P289dDoobz1xby5nZXQodCl8fEhvKS5rZXksbD1vLnJldmVyc2V8fG8sYz1vLmNsb3NlZD8iTSI6IkwiLGgpOnN9LGgudGVuc2lvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odT10LGgpOnV9LGh9ZnVuY3Rpb24gaXModCl7cmV0dXJuIHQucmFkaXVzfWZ1bmN0aW9uIG9zKHQpe3JldHVyblt0LngsdC55XX1mdW5jdGlvbiBzcygpe3JldHVybiA2NH1mdW5jdGlvbiBscygpe3JldHVybiJjaXJjbGUifWZ1bmN0aW9uIGNzKHQpe3ZhciBlPU1hdGguc3FydCh0L010KTtyZXR1cm4iTTAsIitlKyJBIitlKyIsIitlKyIgMCAxLDEgMCwiKy1lKyJBIitlKyIsIitlKyIgMCAxLDEgMCwiK2UrIloifXQuc3ZnLmxpbmUucmFkaWFsPWZ1bmN0aW9uKCl7dmFyIHQ9VW8obnMpO3JldHVybiB0LnJhZGl1cz10LngsZGVsZXRlIHQueCx0LmFuZ2xlPXQueSxkZWxldGUgdC55LHR9LFlvLnJldmVyc2U9V28sV28ucmV2ZXJzZT1Zbyx0LnN2Zy5hcmVhPWZ1bmN0aW9uKCl7cmV0dXJuIGFzKFApfSx0LnN2Zy5hcmVhLnJhZGlhbD1mdW5jdGlvbigpe3ZhciB0PWFzKG5zKTtyZXR1cm4gdC5yYWRpdXM9dC54LGRlbGV0ZSB0LngsdC5pbm5lclJhZGl1cz10LngwLGRlbGV0ZSB0LngwLHQub3V0ZXJSYWRpdXM9dC54MSxkZWxldGUgdC54MSx0LmFuZ2xlPXQueSxkZWxldGUgdC55LHQuc3RhcnRBbmdsZT10LnkwLGRlbGV0ZSB0LnkwLHQuZW5kQW5nbGU9dC55MSxkZWxldGUgdC55MSx0fSx0LnN2Zy5jaG9yZD1mdW5jdGlvbigpe3ZhciB0PXFuLGU9SG4scj1pcyxuPUZvLGE9Qm87ZnVuY3Rpb24gaShyLG4pe3ZhciBhLGksYz1vKHRoaXMsdCxyLG4pLHU9byh0aGlzLGUscixuKTtyZXR1cm4iTSIrYy5wMCtzKGMucixjLnAxLGMuYTEtYy5hMCkrKGk9dSwoYT1jKS5hMD09aS5hMCYmYS5hMT09aS5hMT9sKGMucixjLnAxLGMucixjLnAwKTpsKGMucixjLnAxLHUucix1LnAwKStzKHUucix1LnAxLHUuYTEtdS5hMCkrbCh1LnIsdS5wMSxjLnIsYy5wMCkpKyJaIn1mdW5jdGlvbiBvKHQsZSxpLG8pe3ZhciBzPWUuY2FsbCh0LGksbyksbD1yLmNhbGwodCxzLG8pLGM9bi5jYWxsKHQscyxvKS1FdCx1PWEuY2FsbCh0LHMsbyktRXQ7cmV0dXJue3I6bCxhMDpjLGExOnUscDA6W2wqTWF0aC5jb3MoYyksbCpNYXRoLnNpbihjKV0scDE6W2wqTWF0aC5jb3ModSksbCpNYXRoLnNpbih1KV19fWZ1bmN0aW9uIHModCxlLHIpe3JldHVybiJBIit0KyIsIit0KyIgMCAiKyArKHI+TXQpKyIsMSAiK2V9ZnVuY3Rpb24gbCh0LGUscixuKXtyZXR1cm4iUSAwLDAgIitufXJldHVybiBpLnJhZGl1cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj12ZSh0KSxpKTpyfSxpLnNvdXJjZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD12ZShlKSxpKTp0fSxpLnRhcmdldD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT12ZSh0KSxpKTplfSxpLnN0YXJ0QW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dmUodCksaSk6bn0saS5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT12ZSh0KSxpKTphfSxpfSx0LnN2Zy5kaWFnb25hbD1mdW5jdGlvbigpe3ZhciB0PXFuLGU9SG4scj1vcztmdW5jdGlvbiBuKG4sYSl7dmFyIGk9dC5jYWxsKHRoaXMsbixhKSxvPWUuY2FsbCh0aGlzLG4sYSkscz0oaS55K28ueSkvMixsPVtpLHt4OmkueCx5OnN9LHt4Om8ueCx5OnN9LG9dO3JldHVybiJNIisobD1sLm1hcChyKSlbMF0rIkMiK2xbMV0rIiAiK2xbMl0rIiAiK2xbM119cmV0dXJuIG4uc291cmNlPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PXZlKGUpLG4pOnR9LG4udGFyZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXZlKHQpLG4pOmV9LG4ucHJvamVjdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LG4pOnJ9LG59LHQuc3ZnLmRpYWdvbmFsLnJhZGlhbD1mdW5jdGlvbigpe3ZhciBlPXQuc3ZnLmRpYWdvbmFsKCkscj1vcyxuPWUucHJvamVjdGlvbjtyZXR1cm4gZS5wcm9qZWN0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP24oZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dC5hcHBseSh0aGlzLGFyZ3VtZW50cykscj1lWzBdLG49ZVsxXS1FdDtyZXR1cm5bcipNYXRoLmNvcyhuKSxyKk1hdGguc2luKG4pXX19KHI9dCkpOnJ9LGV9LHQuc3ZnLnN5bWJvbD1mdW5jdGlvbigpe3ZhciB0PWxzLGU9c3M7ZnVuY3Rpb24gcihyLG4pe3JldHVybih1cy5nZXQodC5jYWxsKHRoaXMscixuKSl8fGNzKShlLmNhbGwodGhpcyxyLG4pKX1yZXR1cm4gci50eXBlPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PXZlKGUpLHIpOnR9LHIuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT12ZSh0KSxyKTplfSxyfTt2YXIgdXM9dC5tYXAoe2NpcmNsZTpjcyxjcm9zczpmdW5jdGlvbih0KXt2YXIgZT1NYXRoLnNxcnQodC81KS8yO3JldHVybiJNIistMyplKyIsIistZSsiSCIrLWUrIlYiKy0zKmUrIkgiK2UrIlYiKy1lKyJIIiszKmUrIlYiK2UrIkgiK2UrIlYiKzMqZSsiSCIrLWUrIlYiK2UrIkgiKy0zKmUrIloifSxkaWFtb25kOmZ1bmN0aW9uKHQpe3ZhciBlPU1hdGguc3FydCh0LygyKmZzKSkscj1lKmZzO3JldHVybiJNMCwiKy1lKyJMIityKyIsMCAwLCIrZSsiICIrLXIrIiwwWiJ9LHNxdWFyZTpmdW5jdGlvbih0KXt2YXIgZT1NYXRoLnNxcnQodCkvMjtyZXR1cm4iTSIrLWUrIiwiKy1lKyJMIitlKyIsIistZSsiICIrZSsiLCIrZSsiICIrLWUrIiwiK2UrIloifSwidHJpYW5nbGUtZG93biI6ZnVuY3Rpb24odCl7dmFyIGU9TWF0aC5zcXJ0KHQvaHMpLHI9ZSpocy8yO3JldHVybiJNMCwiK3IrIkwiK2UrIiwiKy1yKyIgIistZSsiLCIrLXIrIloifSwidHJpYW5nbGUtdXAiOmZ1bmN0aW9uKHQpe3ZhciBlPU1hdGguc3FydCh0L2hzKSxyPWUqaHMvMjtyZXR1cm4iTTAsIistcisiTCIrZSsiLCIrcisiICIrLWUrIiwiK3IrIloifX0pO3Quc3ZnLnN5bWJvbFR5cGVzPXVzLmtleXMoKTt2YXIgaHM9TWF0aC5zcXJ0KDMpLGZzPU1hdGgudGFuKDMwKkx0KTtXLnRyYW5zaXRpb249ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHIsbj12c3x8Kyt4cyxhPXdzKHQpLGk9W10sbz1tc3x8e3RpbWU6RGF0ZS5ub3coKSxlYXNlOm9pLGRlbGF5OjAsZHVyYXRpb246MjUwfSxzPS0xLGw9dGhpcy5sZW5ndGg7KytzPGw7KXtpLnB1c2goZT1bXSk7Zm9yKHZhciBjPXRoaXNbc10sdT0tMSxoPWMubGVuZ3RoOysrdTxoOykocj1jW3VdKSYma3Mocix1LGEsbixvKSxlLnB1c2gocil9cmV0dXJuIGdzKGksYSxuKX0sVy5pbnRlcnJ1cHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZWFjaChudWxsPT10P3BzOmRzKHdzKHQpKSl9O3ZhciBwcz1kcyh3cygpKTtmdW5jdGlvbiBkcyh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZSxyLG47KGU9dGhpc1t0XSkmJihuPWVbcj1lLmFjdGl2ZV0pJiYobi50aW1lci5jPW51bGwsbi50aW1lci50PU5hTiwtLWUuY291bnQ/ZGVsZXRlIGVbcl06ZGVsZXRlIHRoaXNbdF0sZS5hY3RpdmUrPS41LG4uZXZlbnQmJm4uZXZlbnQuaW50ZXJydXB0LmNhbGwodGhpcyx0aGlzLl9fZGF0YV9fLG4uaW5kZXgpKX19ZnVuY3Rpb24gZ3ModCxlLHIpe3JldHVybiBVKHQseXMpLHQubmFtZXNwYWNlPWUsdC5pZD1yLHR9dmFyIHZzLG1zLHlzPVtdLHhzPTA7ZnVuY3Rpb24gYnModCxlLHIsbil7dmFyIGE9dC5pZCxpPXQubmFtZXNwYWNlO3JldHVybiB1dCh0LCJmdW5jdGlvbiI9PXR5cGVvZiByP2Z1bmN0aW9uKHQsbyxzKXt0W2ldW2FdLnR3ZWVuLnNldChlLG4oci5jYWxsKHQsdC5fX2RhdGFfXyxvLHMpKSl9OihyPW4ociksZnVuY3Rpb24odCl7dFtpXVthXS50d2Vlbi5zZXQoZSxyKX0pKX1mdW5jdGlvbiBfcyh0KXtyZXR1cm4gbnVsbD09dCYmKHQ9IiIpLGZ1bmN0aW9uKCl7dGhpcy50ZXh0Q29udGVudD10fX1mdW5jdGlvbiB3cyh0KXtyZXR1cm4gbnVsbD09dD8iX190cmFuc2l0aW9uX18iOiJfX3RyYW5zaXRpb25fIit0KyJfXyJ9ZnVuY3Rpb24ga3ModCxlLHIsbixhKXt2YXIgaSxvLHMsbCxjLHU9dFtyXXx8KHRbcl09e2FjdGl2ZTowLGNvdW50OjB9KSxoPXVbbl07ZnVuY3Rpb24gZihyKXt2YXIgYT11LmFjdGl2ZSxmPXVbYV07Zm9yKHZhciBkIGluIGYmJihmLnRpbWVyLmM9bnVsbCxmLnRpbWVyLnQ9TmFOLC0tdS5jb3VudCxkZWxldGUgdVthXSxmLmV2ZW50JiZmLmV2ZW50LmludGVycnVwdC5jYWxsKHQsdC5fX2RhdGFfXyxmLmluZGV4KSksdSlpZigrZDxuKXt2YXIgZz11W2RdO2cudGltZXIuYz1udWxsLGcudGltZXIudD1OYU4sLS11LmNvdW50LGRlbGV0ZSB1W2RdfW8uYz1wLFRlKGZ1bmN0aW9uKCl7cmV0dXJuIG8uYyYmcChyfHwxKSYmKG8uYz1udWxsLG8udD1OYU4pLDF9LDAsaSksdS5hY3RpdmU9bixoLmV2ZW50JiZoLmV2ZW50LnN0YXJ0LmNhbGwodCx0Ll9fZGF0YV9fLGUpLGM9W10saC50d2Vlbi5mb3JFYWNoKGZ1bmN0aW9uKHIsbil7KG49bi5jYWxsKHQsdC5fX2RhdGFfXyxlKSkmJmMucHVzaChuKX0pLGw9aC5lYXNlLHM9aC5kdXJhdGlvbn1mdW5jdGlvbiBwKGEpe2Zvcih2YXIgaT1hL3Msbz1sKGkpLGY9Yy5sZW5ndGg7Zj4wOyljWy0tZl0uY2FsbCh0LG8pO2lmKGk+PTEpcmV0dXJuIGguZXZlbnQmJmguZXZlbnQuZW5kLmNhbGwodCx0Ll9fZGF0YV9fLGUpLC0tdS5jb3VudD9kZWxldGUgdVtuXTpkZWxldGUgdFtyXSwxfWh8fChpPWEudGltZSxvPVRlKGZ1bmN0aW9uKHQpe3ZhciBlPWguZGVsYXk7aWYoby50PWUraSxlPD10KXJldHVybiBmKHQtZSk7by5jPWZ9LDAsaSksaD11W25dPXt0d2VlbjpuZXcgYix0aW1lOmksdGltZXI6byxkZWxheTphLmRlbGF5LGR1cmF0aW9uOmEuZHVyYXRpb24sZWFzZTphLmVhc2UsaW5kZXg6ZX0sYT1udWxsLCsrdS5jb3VudCl9eXMuY2FsbD1XLmNhbGwseXMuZW1wdHk9Vy5lbXB0eSx5cy5ub2RlPVcubm9kZSx5cy5zaXplPVcuc2l6ZSx0LnRyYW5zaXRpb249ZnVuY3Rpb24oZSxyKXtyZXR1cm4gZSYmZS50cmFuc2l0aW9uP3ZzP2UudHJhbnNpdGlvbihyKTplOnQuc2VsZWN0aW9uKCkudHJhbnNpdGlvbihlKX0sdC50cmFuc2l0aW9uLnByb3RvdHlwZT15cyx5cy5zZWxlY3Q9ZnVuY3Rpb24odCl7dmFyIGUscixuLGE9dGhpcy5pZCxpPXRoaXMubmFtZXNwYWNlLG89W107dD1YKHQpO2Zvcih2YXIgcz0tMSxsPXRoaXMubGVuZ3RoOysrczxsOyl7by5wdXNoKGU9W10pO2Zvcih2YXIgYz10aGlzW3NdLHU9LTEsaD1jLmxlbmd0aDsrK3U8aDspKG49Y1t1XSkmJihyPXQuY2FsbChuLG4uX19kYXRhX18sdSxzKSk/KCJfX2RhdGFfXyJpbiBuJiYoci5fX2RhdGFfXz1uLl9fZGF0YV9fKSxrcyhyLHUsaSxhLG5baV1bYV0pLGUucHVzaChyKSk6ZS5wdXNoKG51bGwpfXJldHVybiBncyhvLGksYSl9LHlzLnNlbGVjdEFsbD1mdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpLG89dGhpcy5pZCxzPXRoaXMubmFtZXNwYWNlLGw9W107dD1aKHQpO2Zvcih2YXIgYz0tMSx1PXRoaXMubGVuZ3RoOysrYzx1Oylmb3IodmFyIGg9dGhpc1tjXSxmPS0xLHA9aC5sZW5ndGg7KytmPHA7KWlmKG49aFtmXSl7aT1uW3NdW29dLHI9dC5jYWxsKG4sbi5fX2RhdGFfXyxmLGMpLGwucHVzaChlPVtdKTtmb3IodmFyIGQ9LTEsZz1yLmxlbmd0aDsrK2Q8ZzspKGE9cltkXSkmJmtzKGEsZCxzLG8saSksZS5wdXNoKGEpfXJldHVybiBncyhsLHMsbyl9LHlzLmZpbHRlcj1mdW5jdGlvbih0KXt2YXIgZSxyLG49W107ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PWN0KHQpKTtmb3IodmFyIGE9MCxpPXRoaXMubGVuZ3RoO2E8aTthKyspe24ucHVzaChlPVtdKTtmb3IodmFyIG8scz0wLGw9KG89dGhpc1thXSkubGVuZ3RoO3M8bDtzKyspKHI9b1tzXSkmJnQuY2FsbChyLHIuX19kYXRhX18scyxhKSYmZS5wdXNoKHIpfXJldHVybiBncyhuLHRoaXMubmFtZXNwYWNlLHRoaXMuaWQpfSx5cy50d2Vlbj1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuaWQsbj10aGlzLm5hbWVzcGFjZTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwyP3RoaXMubm9kZSgpW25dW3JdLnR3ZWVuLmdldCh0KTp1dCh0aGlzLG51bGw9PWU/ZnVuY3Rpb24oZSl7ZVtuXVtyXS50d2Vlbi5yZW1vdmUodCl9OmZ1bmN0aW9uKGEpe2Fbbl1bcl0udHdlZW4uc2V0KHQsZSl9KX0seXMuYXR0cj1mdW5jdGlvbihlLHIpe2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil7Zm9yKHIgaW4gZSl0aGlzLmF0dHIocixlW3JdKTtyZXR1cm4gdGhpc312YXIgbj0idHJhbnNmb3JtIj09ZT9taTpLYSxhPXQubnMucXVhbGlmeShlKTtmdW5jdGlvbiBpKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUoYSl9ZnVuY3Rpb24gbygpe3RoaXMucmVtb3ZlQXR0cmlidXRlTlMoYS5zcGFjZSxhLmxvY2FsKX1yZXR1cm4gYnModGhpcywiYXR0ci4iK2UscixhLmxvY2FsP2Z1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P286KHQrPSIiLGZ1bmN0aW9uKCl7dmFyIGUscj10aGlzLmdldEF0dHJpYnV0ZU5TKGEuc3BhY2UsYS5sb2NhbCk7cmV0dXJuIHIhPT10JiYoZT1uKHIsdCksZnVuY3Rpb24odCl7dGhpcy5zZXRBdHRyaWJ1dGVOUyhhLnNwYWNlLGEubG9jYWwsZSh0KSl9KX0pfTpmdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD9pOih0Kz0iIixmdW5jdGlvbigpe3ZhciBlLHI9dGhpcy5nZXRBdHRyaWJ1dGUoYSk7cmV0dXJuIHIhPT10JiYoZT1uKHIsdCksZnVuY3Rpb24odCl7dGhpcy5zZXRBdHRyaWJ1dGUoYSxlKHQpKX0pfSl9KX0seXMuYXR0clR3ZWVuPWZ1bmN0aW9uKGUscil7dmFyIG49dC5ucy5xdWFsaWZ5KGUpO3JldHVybiB0aGlzLnR3ZWVuKCJhdHRyLiIrZSxuLmxvY2FsP2Z1bmN0aW9uKHQsZSl7dmFyIGE9ci5jYWxsKHRoaXMsdCxlLHRoaXMuZ2V0QXR0cmlidXRlTlMobi5zcGFjZSxuLmxvY2FsKSk7cmV0dXJuIGEmJmZ1bmN0aW9uKHQpe3RoaXMuc2V0QXR0cmlidXRlTlMobi5zcGFjZSxuLmxvY2FsLGEodCkpfX06ZnVuY3Rpb24odCxlKXt2YXIgYT1yLmNhbGwodGhpcyx0LGUsdGhpcy5nZXRBdHRyaWJ1dGUobikpO3JldHVybiBhJiZmdW5jdGlvbih0KXt0aGlzLnNldEF0dHJpYnV0ZShuLGEodCkpfX0pfSx5cy5zdHlsZT1mdW5jdGlvbih0LGUscil7dmFyIG49YXJndW1lbnRzLmxlbmd0aDtpZihuPDMpe2lmKCJzdHJpbmciIT10eXBlb2YgdCl7Zm9yKHIgaW4gbjwyJiYoZT0iIiksdCl0aGlzLnN0eWxlKHIsdFtyXSxlKTtyZXR1cm4gdGhpc31yPSIifWZ1bmN0aW9uIGEoKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfXJldHVybiBicyh0aGlzLCJzdHlsZS4iK3QsZSxmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT9hOihlKz0iIixmdW5jdGlvbigpe3ZhciBuLGE9byh0aGlzKS5nZXRDb21wdXRlZFN0eWxlKHRoaXMsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSh0KTtyZXR1cm4gYSE9PWUmJihuPUthKGEsZSksZnVuY3Rpb24oZSl7dGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSh0LG4oZSkscil9KX0pfSl9LHlzLnN0eWxlVHdlZW49ZnVuY3Rpb24odCxlLHIpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDMmJihyPSIiKSx0aGlzLnR3ZWVuKCJzdHlsZS4iK3QsZnVuY3Rpb24obixhKXt2YXIgaT1lLmNhbGwodGhpcyxuLGEsbyh0aGlzKS5nZXRDb21wdXRlZFN0eWxlKHRoaXMsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSh0KSk7cmV0dXJuIGkmJmZ1bmN0aW9uKGUpe3RoaXMuc3R5bGUuc2V0UHJvcGVydHkodCxpKGUpLHIpfX0pfSx5cy50ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBicyh0aGlzLCJ0ZXh0Iix0LF9zKX0seXMucmVtb3ZlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5uYW1lc3BhY2U7cmV0dXJuIHRoaXMuZWFjaCgiZW5kLnRyYW5zaXRpb24iLGZ1bmN0aW9uKCl7dmFyIGU7dGhpc1t0XS5jb3VudDwyJiYoZT10aGlzLnBhcmVudE5vZGUpJiZlLnJlbW92ZUNoaWxkKHRoaXMpfSl9LHlzLmVhc2U9ZnVuY3Rpb24oZSl7dmFyIHI9dGhpcy5pZCxuPXRoaXMubmFtZXNwYWNlO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDE/dGhpcy5ub2RlKClbbl1bcl0uZWFzZTooImZ1bmN0aW9uIiE9dHlwZW9mIGUmJihlPXQuZWFzZS5hcHBseSh0LGFyZ3VtZW50cykpLHV0KHRoaXMsZnVuY3Rpb24odCl7dFtuXVtyXS5lYXNlPWV9KSl9LHlzLmRlbGF5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuaWQscj10aGlzLm5hbWVzcGFjZTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDwxP3RoaXMubm9kZSgpW3JdW2VdLmRlbGF5OnV0KHRoaXMsImZ1bmN0aW9uIj09dHlwZW9mIHQ/ZnVuY3Rpb24obixhLGkpe25bcl1bZV0uZGVsYXk9K3QuY2FsbChuLG4uX19kYXRhX18sYSxpKX06KHQ9K3QsZnVuY3Rpb24obil7bltyXVtlXS5kZWxheT10fSkpfSx5cy5kdXJhdGlvbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmlkLHI9dGhpcy5uYW1lc3BhY2U7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8MT90aGlzLm5vZGUoKVtyXVtlXS5kdXJhdGlvbjp1dCh0aGlzLCJmdW5jdGlvbiI9PXR5cGVvZiB0P2Z1bmN0aW9uKG4sYSxpKXtuW3JdW2VdLmR1cmF0aW9uPU1hdGgubWF4KDEsdC5jYWxsKG4sbi5fX2RhdGFfXyxhLGkpKX06KHQ9TWF0aC5tYXgoMSx0KSxmdW5jdGlvbihuKXtuW3JdW2VdLmR1cmF0aW9uPXR9KSl9LHlzLmVhY2g9ZnVuY3Rpb24oZSxyKXt2YXIgbj10aGlzLmlkLGE9dGhpcy5uYW1lc3BhY2U7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXt2YXIgaT1tcyxvPXZzO3RyeXt2cz1uLHV0KHRoaXMsZnVuY3Rpb24odCxyLGkpe21zPXRbYV1bbl0sZS5jYWxsKHQsdC5fX2RhdGFfXyxyLGkpfSl9ZmluYWxseXttcz1pLHZzPW99fWVsc2UgdXQodGhpcyxmdW5jdGlvbihpKXt2YXIgbz1pW2FdW25dOyhvLmV2ZW50fHwoby5ldmVudD10LmRpc3BhdGNoKCJzdGFydCIsImVuZCIsImludGVycnVwdCIpKSkub24oZSxyKX0pO3JldHVybiB0aGlzfSx5cy50cmFuc2l0aW9uPWZ1bmN0aW9uKCl7Zm9yKHZhciB0LGUscixuPXRoaXMuaWQsYT0rK3hzLGk9dGhpcy5uYW1lc3BhY2Usbz1bXSxzPTAsbD10aGlzLmxlbmd0aDtzPGw7cysrKXtvLnB1c2godD1bXSk7Zm9yKHZhciBjLHU9MCxoPShjPXRoaXNbc10pLmxlbmd0aDt1PGg7dSsrKShlPWNbdV0pJiZrcyhlLHUsaSxhLHt0aW1lOihyPWVbaV1bbl0pLnRpbWUsZWFzZTpyLmVhc2UsZGVsYXk6ci5kZWxheStyLmR1cmF0aW9uLGR1cmF0aW9uOnIuZHVyYXRpb259KSx0LnB1c2goZSl9cmV0dXJuIGdzKG8saSxhKX0sdC5zdmcuYXhpcz1mdW5jdGlvbigpe3ZhciBlLHI9dC5zY2FsZS5saW5lYXIoKSxhPVRzLGk9NixvPTYscz0zLGw9WzEwXSxjPW51bGw7ZnVuY3Rpb24gdShuKXtuLmVhY2goZnVuY3Rpb24oKXt2YXIgbix1PXQuc2VsZWN0KHRoaXMpLGg9dGhpcy5fX2NoYXJ0X198fHIsZj10aGlzLl9fY2hhcnRfXz1yLmNvcHkoKSxwPW51bGw9PWM/Zi50aWNrcz9mLnRpY2tzLmFwcGx5KGYsbCk6Zi5kb21haW4oKTpjLGQ9bnVsbD09ZT9mLnRpY2tGb3JtYXQ/Zi50aWNrRm9ybWF0LmFwcGx5KGYsbCk6UDplLGc9dS5zZWxlY3RBbGwoIi50aWNrIikuZGF0YShwLGYpLHY9Zy5lbnRlcigpLmluc2VydCgiZyIsIi5kb21haW4iKS5hdHRyKCJjbGFzcyIsInRpY2siKS5zdHlsZSgib3BhY2l0eSIsa3QpLG09dC50cmFuc2l0aW9uKGcuZXhpdCgpKS5zdHlsZSgib3BhY2l0eSIsa3QpLnJlbW92ZSgpLHk9dC50cmFuc2l0aW9uKGcub3JkZXIoKSkuc3R5bGUoIm9wYWNpdHkiLDEpLHg9TWF0aC5tYXgoaSwwKStzLGI9Zm8oZiksXz11LnNlbGVjdEFsbCgiLmRvbWFpbiIpLmRhdGEoWzBdKSx3PShfLmVudGVyKCkuYXBwZW5kKCJwYXRoIikuYXR0cigiY2xhc3MiLCJkb21haW4iKSx0LnRyYW5zaXRpb24oXykpO3YuYXBwZW5kKCJsaW5lIiksdi5hcHBlbmQoInRleHQiKTt2YXIgayxULE0sQSxTPXYuc2VsZWN0KCJsaW5lIiksRT15LnNlbGVjdCgibGluZSIpLEw9Zy5zZWxlY3QoInRleHQiKS50ZXh0KGQpLEM9di5zZWxlY3QoInRleHQiKSxPPXkuc2VsZWN0KCJ0ZXh0Iiksej0idG9wIj09PWF8fCJsZWZ0Ij09PWE/LTE6MTtpZigiYm90dG9tIj09PWF8fCJ0b3AiPT09YT8obj1BcyxrPSJ4IixNPSJ5IixUPSJ4MiIsQT0ieTIiLEwuYXR0cigiZHkiLHo8MD8iMGVtIjoiLjcxZW0iKS5zdHlsZSgidGV4dC1hbmNob3IiLCJtaWRkbGUiKSx3LmF0dHIoImQiLCJNIitiWzBdKyIsIit6Km8rIlYwSCIrYlsxXSsiViIreipvKSk6KG49U3Msaz0ieSIsTT0ieCIsVD0ieTIiLEE9IngyIixMLmF0dHIoImR5IiwiLjMyZW0iKS5zdHlsZSgidGV4dC1hbmNob3IiLHo8MD8iZW5kIjoic3RhcnQiKSx3LmF0dHIoImQiLCJNIit6Km8rIiwiK2JbMF0rIkgwViIrYlsxXSsiSCIreipvKSksUy5hdHRyKEEseippKSxDLmF0dHIoTSx6KngpLEUuYXR0cihULDApLmF0dHIoQSx6KmkpLE8uYXR0cihrLDApLmF0dHIoTSx6KngpLGYucmFuZ2VCYW5kKXt2YXIgST1mLEQ9SS5yYW5nZUJhbmQoKS8yO2g9Zj1mdW5jdGlvbih0KXtyZXR1cm4gSSh0KStEfX1lbHNlIGgucmFuZ2VCYW5kP2g9ZjptLmNhbGwobixmLGgpO3YuY2FsbChuLGgsZikseS5jYWxsKG4sZixmKX0pfXJldHVybiB1LnNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPXQsdSk6cn0sdS5vcmllbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dCBpbiBNcz90KyIiOlRzLHUpOmF9LHUudGlja3M9ZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD1uKGFyZ3VtZW50cyksdSk6bH0sdS50aWNrVmFsdWVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPXQsdSk6Y30sdS50aWNrRm9ybWF0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXQsdSk6ZX0sdS50aWNrU2l6ZT1mdW5jdGlvbih0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoO3JldHVybiBlPyhpPSt0LG89K2FyZ3VtZW50c1tlLTFdLHUpOml9LHUuaW5uZXJUaWNrU2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rdCx1KTppfSx1Lm91dGVyVGlja1NpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89K3QsdSk6b30sdS50aWNrUGFkZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz0rdCx1KTpzfSx1LnRpY2tTdWJkaXZpZGU9ZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aCYmdX0sdX07dmFyIFRzPSJib3R0b20iLE1zPXt0b3A6MSxyaWdodDoxLGJvdHRvbToxLGxlZnQ6MX07ZnVuY3Rpb24gQXModCxlLHIpe3QuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih0KXt2YXIgbj1lKHQpO3JldHVybiJ0cmFuc2xhdGUoIisoaXNGaW5pdGUobik/bjpyKHQpKSsiLDApIn0pfWZ1bmN0aW9uIFNzKHQsZSxyKXt0LmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7dmFyIG49ZSh0KTtyZXR1cm4idHJhbnNsYXRlKDAsIisoaXNGaW5pdGUobik/bjpyKHQpKSsiKSJ9KX10LnN2Zy5icnVzaD1mdW5jdGlvbigpe3ZhciBlLHIsbj1qKGYsImJydXNoc3RhcnQiLCJicnVzaCIsImJydXNoZW5kIiksYT1udWxsLGk9bnVsbCxzPVswLDBdLGw9WzAsMF0sYz0hMCx1PSEwLGg9THNbMF07ZnVuY3Rpb24gZihlKXtlLmVhY2goZnVuY3Rpb24oKXt2YXIgZT10LnNlbGVjdCh0aGlzKS5zdHlsZSgicG9pbnRlci1ldmVudHMiLCJhbGwiKS5zdHlsZSgiLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIiwicmdiYSgwLDAsMCwwKSIpLm9uKCJtb3VzZWRvd24uYnJ1c2giLHYpLm9uKCJ0b3VjaHN0YXJ0LmJydXNoIix2KSxyPWUuc2VsZWN0QWxsKCIuYmFja2dyb3VuZCIpLmRhdGEoWzBdKTtyLmVudGVyKCkuYXBwZW5kKCJyZWN0IikuYXR0cigiY2xhc3MiLCJiYWNrZ3JvdW5kIikuc3R5bGUoInZpc2liaWxpdHkiLCJoaWRkZW4iKS5zdHlsZSgiY3Vyc29yIiwiY3Jvc3NoYWlyIiksZS5zZWxlY3RBbGwoIi5leHRlbnQiKS5kYXRhKFswXSkuZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJjbGFzcyIsImV4dGVudCIpLnN0eWxlKCJjdXJzb3IiLCJtb3ZlIik7dmFyIG49ZS5zZWxlY3RBbGwoIi5yZXNpemUiKS5kYXRhKGgsUCk7bi5leGl0KCkucmVtb3ZlKCksbi5lbnRlcigpLmFwcGVuZCgiZyIpLmF0dHIoImNsYXNzIixmdW5jdGlvbih0KXtyZXR1cm4icmVzaXplICIrdH0pLnN0eWxlKCJjdXJzb3IiLGZ1bmN0aW9uKHQpe3JldHVybiBFc1t0XX0pLmFwcGVuZCgicmVjdCIpLmF0dHIoIngiLGZ1bmN0aW9uKHQpe3JldHVybi9bZXddJC8udGVzdCh0KT8tMzpudWxsfSkuYXR0cigieSIsZnVuY3Rpb24odCl7cmV0dXJuL15bbnNdLy50ZXN0KHQpPy0zOm51bGx9KS5hdHRyKCJ3aWR0aCIsNikuYXR0cigiaGVpZ2h0Iiw2KS5zdHlsZSgidmlzaWJpbGl0eSIsImhpZGRlbiIpLG4uc3R5bGUoImRpc3BsYXkiLGYuZW1wdHkoKT8ibm9uZSI6bnVsbCk7dmFyIG8scz10LnRyYW5zaXRpb24oZSksbD10LnRyYW5zaXRpb24ocik7YSYmKG89Zm8oYSksbC5hdHRyKCJ4IixvWzBdKS5hdHRyKCJ3aWR0aCIsb1sxXS1vWzBdKSxkKHMpKSxpJiYobz1mbyhpKSxsLmF0dHIoInkiLG9bMF0pLmF0dHIoImhlaWdodCIsb1sxXS1vWzBdKSxnKHMpKSxwKHMpfSl9ZnVuY3Rpb24gcCh0KXt0LnNlbGVjdEFsbCgiLnJlc2l6ZSIpLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuInRyYW5zbGF0ZSgiK3NbKy9lJC8udGVzdCh0KV0rIiwiK2xbKy9ecy8udGVzdCh0KV0rIikifSl9ZnVuY3Rpb24gZCh0KXt0LnNlbGVjdCgiLmV4dGVudCIpLmF0dHIoIngiLHNbMF0pLHQuc2VsZWN0QWxsKCIuZXh0ZW50LC5uPnJlY3QsLnM+cmVjdCIpLmF0dHIoIndpZHRoIixzWzFdLXNbMF0pfWZ1bmN0aW9uIGcodCl7dC5zZWxlY3QoIi5leHRlbnQiKS5hdHRyKCJ5IixsWzBdKSx0LnNlbGVjdEFsbCgiLmV4dGVudCwuZT5yZWN0LC53PnJlY3QiKS5hdHRyKCJoZWlnaHQiLGxbMV0tbFswXSl9ZnVuY3Rpb24gdigpe3ZhciBoLHYsbT10aGlzLHk9dC5zZWxlY3QodC5ldmVudC50YXJnZXQpLHg9bi5vZihtLGFyZ3VtZW50cyksYj10LnNlbGVjdChtKSxfPXkuZGF0dW0oKSx3PSEvXihufHMpJC8udGVzdChfKSYmYSxrPSEvXihlfHcpJC8udGVzdChfKSYmaSxUPXkuY2xhc3NlZCgiZXh0ZW50IiksTT14dChtKSxBPXQubW91c2UobSksUz10LnNlbGVjdChvKG0pKS5vbigia2V5ZG93bi5icnVzaCIsZnVuY3Rpb24oKXszMj09dC5ldmVudC5rZXlDb2RlJiYoVHx8KGg9bnVsbCxBWzBdLT1zWzFdLEFbMV0tPWxbMV0sVD0yKSxCKCkpfSkub24oImtleXVwLmJydXNoIixmdW5jdGlvbigpezMyPT10LmV2ZW50LmtleUNvZGUmJjI9PVQmJihBWzBdKz1zWzFdLEFbMV0rPWxbMV0sVD0wLEIoKSl9KTtpZih0LmV2ZW50LmNoYW5nZWRUb3VjaGVzP1Mub24oInRvdWNobW92ZS5icnVzaCIsQykub24oInRvdWNoZW5kLmJydXNoIixPKTpTLm9uKCJtb3VzZW1vdmUuYnJ1c2giLEMpLm9uKCJtb3VzZXVwLmJydXNoIixPKSxiLmludGVycnVwdCgpLnNlbGVjdEFsbCgiKiIpLmludGVycnVwdCgpLFQpQVswXT1zWzBdLUFbMF0sQVsxXT1sWzBdLUFbMV07ZWxzZSBpZihfKXt2YXIgRT0rL3ckLy50ZXN0KF8pLEw9Ky9ebi8udGVzdChfKTt2PVtzWzEtRV0tQVswXSxsWzEtTF0tQVsxXV0sQVswXT1zW0VdLEFbMV09bFtMXX1lbHNlIHQuZXZlbnQuYWx0S2V5JiYoaD1BLnNsaWNlKCkpO2Z1bmN0aW9uIEMoKXt2YXIgZT10Lm1vdXNlKG0pLHI9ITE7diYmKGVbMF0rPXZbMF0sZVsxXSs9dlsxXSksVHx8KHQuZXZlbnQuYWx0S2V5PyhofHwoaD1bKHNbMF0rc1sxXSkvMiwobFswXStsWzFdKS8yXSksQVswXT1zWysoZVswXTxoWzBdKV0sQVsxXT1sWysoZVsxXTxoWzFdKV0pOmg9bnVsbCksdyYmUChlLGEsMCkmJihkKGIpLHI9ITApLGsmJlAoZSxpLDEpJiYoZyhiKSxyPSEwKSxyJiYocChiKSx4KHt0eXBlOiJicnVzaCIsbW9kZTpUPyJtb3ZlIjoicmVzaXplIn0pKX1mdW5jdGlvbiBQKHQsbixhKXt2YXIgaSxvLGY9Zm8obikscD1mWzBdLGQ9ZlsxXSxnPUFbYV0sdj1hP2w6cyxtPXZbMV0tdlswXTtpZihUJiYocC09ZyxkLT1tK2cpLGk9KGE/dTpjKT9NYXRoLm1heChwLE1hdGgubWluKGQsdFthXSkpOnRbYV0sVD9vPShpKz1nKSttOihoJiYoZz1NYXRoLm1heChwLE1hdGgubWluKGQsMipoW2FdLWkpKSksZzxpPyhvPWksaT1nKTpvPWcpLHZbMF0hPWl8fHZbMV0hPW8pcmV0dXJuIGE/cj1udWxsOmU9bnVsbCx2WzBdPWksdlsxXT1vLCEwfWZ1bmN0aW9uIE8oKXtDKCksYi5zdHlsZSgicG9pbnRlci1ldmVudHMiLCJhbGwiKS5zZWxlY3RBbGwoIi5yZXNpemUiKS5zdHlsZSgiZGlzcGxheSIsZi5lbXB0eSgpPyJub25lIjpudWxsKSx0LnNlbGVjdCgiYm9keSIpLnN0eWxlKCJjdXJzb3IiLG51bGwpLFMub24oIm1vdXNlbW92ZS5icnVzaCIsbnVsbCkub24oIm1vdXNldXAuYnJ1c2giLG51bGwpLm9uKCJ0b3VjaG1vdmUuYnJ1c2giLG51bGwpLm9uKCJ0b3VjaGVuZC5icnVzaCIsbnVsbCkub24oImtleWRvd24uYnJ1c2giLG51bGwpLm9uKCJrZXl1cC5icnVzaCIsbnVsbCksTSgpLHgoe3R5cGU6ImJydXNoZW5kIn0pfWIuc3R5bGUoInBvaW50ZXItZXZlbnRzIiwibm9uZSIpLnNlbGVjdEFsbCgiLnJlc2l6ZSIpLnN0eWxlKCJkaXNwbGF5IixudWxsKSx0LnNlbGVjdCgiYm9keSIpLnN0eWxlKCJjdXJzb3IiLHkuc3R5bGUoImN1cnNvciIpKSx4KHt0eXBlOiJicnVzaHN0YXJ0In0pLEMoKX1yZXR1cm4gZi5ldmVudD1mdW5jdGlvbihhKXthLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1uLm9mKHRoaXMsYXJndW1lbnRzKSxpPXt4OnMseTpsLGk6ZSxqOnJ9LG89dGhpcy5fX2NoYXJ0X198fGk7dGhpcy5fX2NoYXJ0X189aSx2cz90LnNlbGVjdCh0aGlzKS50cmFuc2l0aW9uKCkuZWFjaCgic3RhcnQuYnJ1c2giLGZ1bmN0aW9uKCl7ZT1vLmkscj1vLmoscz1vLngsbD1vLnksYSh7dHlwZToiYnJ1c2hzdGFydCJ9KX0pLnR3ZWVuKCJicnVzaDpicnVzaCIsZnVuY3Rpb24oKXt2YXIgdD1RYShzLGkueCksbj1RYShsLGkueSk7cmV0dXJuIGU9cj1udWxsLGZ1bmN0aW9uKGUpe3M9aS54PXQoZSksbD1pLnk9bihlKSxhKHt0eXBlOiJicnVzaCIsbW9kZToicmVzaXplIn0pfX0pLmVhY2goImVuZC5icnVzaCIsZnVuY3Rpb24oKXtlPWkuaSxyPWkuaixhKHt0eXBlOiJicnVzaCIsbW9kZToicmVzaXplIn0pLGEoe3R5cGU6ImJydXNoZW5kIn0pfSk6KGEoe3R5cGU6ImJydXNoc3RhcnQifSksYSh7dHlwZToiYnJ1c2giLG1vZGU6InJlc2l6ZSJ9KSxhKHt0eXBlOiJicnVzaGVuZCJ9KSl9KX0sZi54PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhoPUxzWyEoYT10KTw8MXwhaV0sZik6YX0sZi55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhoPUxzWyFhPDwxfCEoaT10KV0sZik6aX0sZi5jbGFtcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYSYmaT8oYz0hIXRbMF0sdT0hIXRbMV0pOmE/Yz0hIXQ6aSYmKHU9ISF0KSxmKTphJiZpP1tjLHVdOmE/YzppP3U6bnVsbH0sZi5leHRlbnQ9ZnVuY3Rpb24odCl7dmFyIG4sbyxjLHUsaDtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYSYmKG49dFswXSxvPXRbMV0saSYmKG49blswXSxvPW9bMF0pLGU9W24sb10sYS5pbnZlcnQmJihuPWEobiksbz1hKG8pKSxvPG4mJihoPW4sbj1vLG89aCksbj09c1swXSYmbz09c1sxXXx8KHM9W24sb10pKSxpJiYoYz10WzBdLHU9dFsxXSxhJiYoYz1jWzFdLHU9dVsxXSkscj1bYyx1XSxpLmludmVydCYmKGM9aShjKSx1PWkodSkpLHU8YyYmKGg9YyxjPXUsdT1oKSxjPT1sWzBdJiZ1PT1sWzFdfHwobD1bYyx1XSkpLGYpOihhJiYoZT8obj1lWzBdLG89ZVsxXSk6KG49c1swXSxvPXNbMV0sYS5pbnZlcnQmJihuPWEuaW52ZXJ0KG4pLG89YS5pbnZlcnQobykpLG88biYmKGg9bixuPW8sbz1oKSkpLGkmJihyPyhjPXJbMF0sdT1yWzFdKTooYz1sWzBdLHU9bFsxXSxpLmludmVydCYmKGM9aS5pbnZlcnQoYyksdT1pLmludmVydCh1KSksdTxjJiYoaD1jLGM9dSx1PWgpKSksYSYmaT9bW24sY10sW28sdV1dOmE/W24sb106aSYmW2MsdV0pfSxmLmNsZWFyPWZ1bmN0aW9uKCl7cmV0dXJuIGYuZW1wdHkoKXx8KHM9WzAsMF0sbD1bMCwwXSxlPXI9bnVsbCksZn0sZi5lbXB0eT1mdW5jdGlvbigpe3JldHVybiEhYSYmc1swXT09c1sxXXx8ISFpJiZsWzBdPT1sWzFdfSx0LnJlYmluZChmLG4sIm9uIil9O3ZhciBFcz17bjoibnMtcmVzaXplIixlOiJldy1yZXNpemUiLHM6Im5zLXJlc2l6ZSIsdzoiZXctcmVzaXplIixudzoibndzZS1yZXNpemUiLG5lOiJuZXN3LXJlc2l6ZSIsc2U6Im53c2UtcmVzaXplIixzdzoibmVzdy1yZXNpemUifSxMcz1bWyJuIiwiZSIsInMiLCJ3IiwibnciLCJuZSIsInNlIiwic3ciXSxbImUiLCJ3Il0sWyJuIiwicyJdLFtdXSxDcz1JZS5mb3JtYXQ9Y3IudGltZUZvcm1hdCxQcz1Dcy51dGMsT3M9UHMoIiVZLSVtLSVkVCVIOiVNOiVTLiVMWiIpO2Z1bmN0aW9uIHpzKHQpe3JldHVybiB0LnRvSVNPU3RyaW5nKCl9ZnVuY3Rpb24gSXMoZSxyLG4pe2Z1bmN0aW9uIGEodCl7cmV0dXJuIGUodCl9ZnVuY3Rpb24gaShlLG4pe3ZhciBhPShlWzFdLWVbMF0pL24saT10LmJpc2VjdChScyxhKTtyZXR1cm4gaT09UnMubGVuZ3RoP1tyLnllYXIsX28oZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQvMzE1MzZlNn0pLG4pWzJdXTppP3JbYS9Sc1tpLTFdPFJzW2ldL2E/aS0xOmldOltOcyxfbyhlLG4pWzJdXX1yZXR1cm4gYS5pbnZlcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIERzKGUuaW52ZXJ0KHQpKX0sYS5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGUuZG9tYWluKHQpLGEpOmUuZG9tYWluKCkubWFwKERzKX0sYS5uaWNlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9YS5kb21haW4oKSxuPWhvKHIpLG89bnVsbD09dD9pKG4sMTApOiJudW1iZXIiPT10eXBlb2YgdCYmaShuLHQpO2Z1bmN0aW9uIHMocil7cmV0dXJuIWlzTmFOKHIpJiYhdC5yYW5nZShyLERzKCtyKzEpLGUpLmxlbmd0aH1yZXR1cm4gbyYmKHQ9b1swXSxlPW9bMV0pLGEuZG9tYWluKGdvKHIsZT4xP3tmbG9vcjpmdW5jdGlvbihlKXtmb3IoO3MoZT10LmZsb29yKGUpKTspZT1EcyhlLTEpO3JldHVybiBlfSxjZWlsOmZ1bmN0aW9uKGUpe2Zvcig7cyhlPXQuY2VpbChlKSk7KWU9RHMoK2UrMSk7cmV0dXJuIGV9fTp0KSl9LGEudGlja3M9ZnVuY3Rpb24odCxlKXt2YXIgcj1obyhhLmRvbWFpbigpKSxuPW51bGw9PXQ/aShyLDEwKToibnVtYmVyIj09dHlwZW9mIHQ/aShyLHQpOiF0LnJhbmdlJiZbe3JhbmdlOnR9LGVdO3JldHVybiBuJiYodD1uWzBdLGU9blsxXSksdC5yYW5nZShyWzBdLERzKCtyWzFdKzEpLGU8MT8xOmUpfSxhLnRpY2tGb3JtYXQ9ZnVuY3Rpb24oKXtyZXR1cm4gbn0sYS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIElzKGUuY29weSgpLHIsbil9LHhvKGEsZSl9ZnVuY3Rpb24gRHModCl7cmV0dXJuIG5ldyBEYXRlKHQpfUNzLmlzbz1EYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyYmK25ldyBEYXRlKCIyMDAwLTAxLTAxVDAwOjAwOjAwLjAwMFoiKT96czpPcyx6cy5wYXJzZT1mdW5jdGlvbih0KXt2YXIgZT1uZXcgRGF0ZSh0KTtyZXR1cm4gaXNOYU4oZSk/bnVsbDplfSx6cy50b1N0cmluZz1Pcy50b1N0cmluZyxJZS5zZWNvbmQ9QmUoZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBEZSgxZTMqTWF0aC5mbG9vcih0LzFlMykpfSxmdW5jdGlvbih0LGUpe3Quc2V0VGltZSh0LmdldFRpbWUoKSsxZTMqTWF0aC5mbG9vcihlKSl9LGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFNlY29uZHMoKX0pLEllLnNlY29uZHM9SWUuc2Vjb25kLnJhbmdlLEllLnNlY29uZHMudXRjPUllLnNlY29uZC51dGMucmFuZ2UsSWUubWludXRlPUJlKGZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRGUoNmU0Kk1hdGguZmxvb3IodC82ZTQpKX0sZnVuY3Rpb24odCxlKXt0LnNldFRpbWUodC5nZXRUaW1lKCkrNmU0Kk1hdGguZmxvb3IoZSkpfSxmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRNaW51dGVzKCl9KSxJZS5taW51dGVzPUllLm1pbnV0ZS5yYW5nZSxJZS5taW51dGVzLnV0Yz1JZS5taW51dGUudXRjLnJhbmdlLEllLmhvdXI9QmUoZnVuY3Rpb24odCl7dmFyIGU9dC5nZXRUaW1lem9uZU9mZnNldCgpLzYwO3JldHVybiBuZXcgRGUoMzZlNSooTWF0aC5mbG9vcih0LzM2ZTUtZSkrZSkpfSxmdW5jdGlvbih0LGUpe3Quc2V0VGltZSh0LmdldFRpbWUoKSszNmU1Kk1hdGguZmxvb3IoZSkpfSxmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRIb3VycygpfSksSWUuaG91cnM9SWUuaG91ci5yYW5nZSxJZS5ob3Vycy51dGM9SWUuaG91ci51dGMucmFuZ2UsSWUubW9udGg9QmUoZnVuY3Rpb24odCl7cmV0dXJuKHQ9SWUuZGF5KHQpKS5zZXREYXRlKDEpLHR9LGZ1bmN0aW9uKHQsZSl7dC5zZXRNb250aCh0LmdldE1vbnRoKCkrZSl9LGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldE1vbnRoKCl9KSxJZS5tb250aHM9SWUubW9udGgucmFuZ2UsSWUubW9udGhzLnV0Yz1JZS5tb250aC51dGMucmFuZ2U7dmFyIFJzPVsxZTMsNWUzLDE1ZTMsM2U0LDZlNCwzZTUsOWU1LDE4ZTUsMzZlNSwxMDhlNSwyMTZlNSw0MzJlNSw4NjRlNSwxNzI4ZTUsNjA0OGU1LDI1OTJlNiw3Nzc2ZTYsMzE1MzZlNl0sRnM9W1tJZS5zZWNvbmQsMV0sW0llLnNlY29uZCw1XSxbSWUuc2Vjb25kLDE1XSxbSWUuc2Vjb25kLDMwXSxbSWUubWludXRlLDFdLFtJZS5taW51dGUsNV0sW0llLm1pbnV0ZSwxNV0sW0llLm1pbnV0ZSwzMF0sW0llLmhvdXIsMV0sW0llLmhvdXIsM10sW0llLmhvdXIsNl0sW0llLmhvdXIsMTJdLFtJZS5kYXksMV0sW0llLmRheSwyXSxbSWUud2VlaywxXSxbSWUubW9udGgsMV0sW0llLm1vbnRoLDNdLFtJZS55ZWFyLDFdXSxCcz1Dcy5tdWx0aShbWyIuJUwiLGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldE1pbGxpc2Vjb25kcygpfV0sWyI6JVMiLGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFNlY29uZHMoKX1dLFsiJUk6JU0iLGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldE1pbnV0ZXMoKX1dLFsiJUkgJXAiLGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldEhvdXJzKCl9XSxbIiVhICVkIixmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXREYXkoKSYmMSE9dC5nZXREYXRlKCl9XSxbIiViICVkIixmdW5jdGlvbih0KXtyZXR1cm4gMSE9dC5nZXREYXRlKCl9XSxbIiVCIixmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRNb250aCgpfV0sWyIlWSIsWHJdXSksTnM9e3JhbmdlOmZ1bmN0aW9uKGUscixuKXtyZXR1cm4gdC5yYW5nZShNYXRoLmNlaWwoZS9uKSpuLCtyLG4pLm1hcChEcyl9LGZsb29yOlAsY2VpbDpQfTtGcy55ZWFyPUllLnllYXIsSWUuc2NhbGU9ZnVuY3Rpb24oKXtyZXR1cm4gSXModC5zY2FsZS5saW5lYXIoKSxGcyxCcyl9O3ZhciBqcz1Gcy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuW3RbMF0udXRjLHRbMV1dfSksVnM9UHMubXVsdGkoW1siLiVMIixmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENNaWxsaXNlY29uZHMoKX1dLFsiOiVTIixmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENTZWNvbmRzKCl9XSxbIiVJOiVNIixmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENNaW51dGVzKCl9XSxbIiVJICVwIixmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENIb3VycygpfV0sWyIlYSAlZCIsZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDRGF5KCkmJjEhPXQuZ2V0VVRDRGF0ZSgpfV0sWyIlYiAlZCIsZnVuY3Rpb24odCl7cmV0dXJuIDEhPXQuZ2V0VVRDRGF0ZSgpfV0sWyIlQiIsZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDTW9udGgoKX1dLFsiJVkiLFhyXV0pO2Z1bmN0aW9uIFVzKHQpe3JldHVybiBKU09OLnBhcnNlKHQucmVzcG9uc2VUZXh0KX1mdW5jdGlvbiBxcyh0KXt2YXIgZT1hLmNyZWF0ZVJhbmdlKCk7cmV0dXJuIGUuc2VsZWN0Tm9kZShhLmJvZHkpLGUuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KHQucmVzcG9uc2VUZXh0KX1qcy55ZWFyPUllLnllYXIudXRjLEllLnNjYWxlLnV0Yz1mdW5jdGlvbigpe3JldHVybiBJcyh0LnNjYWxlLmxpbmVhcigpLGpzLFZzKX0sdC50ZXh0PW1lKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlc3BvbnNlVGV4dH0pLHQuanNvbj1mdW5jdGlvbih0LGUpe3JldHVybiB5ZSh0LCJhcHBsaWNhdGlvbi9qc29uIixVcyxlKX0sdC5odG1sPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHllKHQsInRleHQvaHRtbCIscXMsZSl9LHQueG1sPW1lKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlc3BvbnNlWE1MfSksIm9iamVjdCI9PXR5cGVvZiBlJiZlLmV4cG9ydHM/ZS5leHBvcnRzPXQ6dGhpcy5kMz10fSgpfSx7fV0sMTY2OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDxhcmd1bWVudHMubGVuZ3RoO3QrKylpZih2b2lkIDAhPT1hcmd1bWVudHNbdF0pcmV0dXJuIGFyZ3VtZW50c1t0XX19LHt9XSwxNjc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiaW5jcmVtZW50YWwtY29udmV4LWh1bGwiKSxhPXQoInVuaXEiKTtmdW5jdGlvbiBpKHQsZSl7dGhpcy5wb2ludD10LHRoaXMuaW5kZXg9ZX1mdW5jdGlvbiBvKHQsZSl7Zm9yKHZhciByPXQucG9pbnQsbj1lLnBvaW50LGE9ci5sZW5ndGgsaT0wO2k8YTsrK2kpe3ZhciBvPW5baV0tcltpXTtpZihvKXJldHVybiBvfXJldHVybiAwfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXQubGVuZ3RoO2lmKDA9PT1yKXJldHVybltdO3ZhciBzPXRbMF0ubGVuZ3RoO2lmKHM8MSlyZXR1cm5bXTtpZigxPT09cylyZXR1cm4gZnVuY3Rpb24odCxlLHIpe2lmKDE9PT10KXJldHVybiByP1tbLTEsMF1dOltdO3ZhciBuPWUubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJuW3RbMF0sZV19KTtuLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXS1lWzBdfSk7Zm9yKHZhciBhPW5ldyBBcnJheSh0LTEpLGk9MTtpPHQ7KytpKXt2YXIgbz1uW2ktMV0scz1uW2ldO2FbaS0xXT1bb1sxXSxzWzFdXX1yJiZhLnB1c2goWy0xLGFbMF1bMV1dLFthW3QtMV1bMV0sLTFdKTtyZXR1cm4gYX0ocix0LGUpO2Zvcih2YXIgbD1uZXcgQXJyYXkociksYz0xLHU9MDt1PHI7Kyt1KXtmb3IodmFyIGg9dFt1XSxmPW5ldyBBcnJheShzKzEpLHA9MCxkPTA7ZDxzOysrZCl7dmFyIGc9aFtkXTtmW2RdPWcscCs9ZypnfWZbc109cCxsW3VdPW5ldyBpKGYsdSksYz1NYXRoLm1heChwLGMpfWEobCxvKSxyPWwubGVuZ3RoO2Zvcih2YXIgdj1uZXcgQXJyYXkocitzKzEpLG09bmV3IEFycmF5KHIrcysxKSx5PShzKzEpKihzKzEpKmMseD1uZXcgQXJyYXkocysxKSx1PTA7dTw9czsrK3UpeFt1XT0wO3hbc109eSx2WzBdPXguc2xpY2UoKSxtWzBdPS0xO2Zvcih2YXIgdT0wO3U8PXM7Kyt1KXt2YXIgZj14LnNsaWNlKCk7Zlt1XT0xLHZbdSsxXT1mLG1bdSsxXT0tMX1mb3IodmFyIHU9MDt1PHI7Kyt1KXt2YXIgYj1sW3VdO3ZbdStzKzFdPWIucG9pbnQsbVt1K3MrMV09Yi5pbmRleH12YXIgXz1uKHYsITEpO189ZT9fLmZpbHRlcihmdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPTA7cjw9czsrK3Ipe3ZhciBuPW1bdFtyXV07aWYobjwwJiYrK2U+PTIpcmV0dXJuITE7dFtyXT1ufXJldHVybiEwfSk6Xy5maWx0ZXIoZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTw9czsrK2Upe3ZhciByPW1bdFtlXV07aWYocjwwKXJldHVybiExO3RbZV09cn1yZXR1cm4hMH0pO2lmKDEmcylmb3IodmFyIHU9MDt1PF8ubGVuZ3RoOysrdSl7dmFyIGI9X1t1XSxmPWJbMF07YlswXT1iWzFdLGJbMV09Zn1yZXR1cm4gX319LHsiaW5jcmVtZW50YWwtY29udmV4LWh1bGwiOjQxNSx1bmlxOjU0Nn1dLDE2ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9aTt2YXIgbj0oaS5jYW52YXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikpLmdldENvbnRleHQoIjJkIiksYT1vKFszMiwxMjZdKTtmdW5jdGlvbiBpKHQsZSl7QXJyYXkuaXNBcnJheSh0KSYmKHQ9dC5qb2luKCIsICIpKTt2YXIgcixpPXt9LHM9MTYsbD0uMDU7ZSYmKDI9PT1lLmxlbmd0aCYmIm51bWJlciI9PXR5cGVvZiBlWzBdP3I9byhlKTpBcnJheS5pc0FycmF5KGUpP3I9ZTooZS5vP3I9byhlLm8pOmUucGFpcnMmJihyPWUucGFpcnMpLGUuZm9udFNpemUmJihzPWUuZm9udFNpemUpLG51bGwhPWUudGhyZXNob2xkJiYobD1lLnRocmVzaG9sZCkpKSxyfHwocj1hKSxuLmZvbnQ9cysicHggIit0O2Zvcih2YXIgYz0wO2M8ci5sZW5ndGg7YysrKXt2YXIgdT1yW2NdLGg9bi5tZWFzdXJlVGV4dCh1WzBdKS53aWR0aCtuLm1lYXN1cmVUZXh0KHVbMV0pLndpZHRoLGY9bi5tZWFzdXJlVGV4dCh1KS53aWR0aDtpZihNYXRoLmFicyhoLWYpPnMqbCl7dmFyIHA9KGYtaCkvcztpW3VdPTFlMypwfX1yZXR1cm4gaX1mdW5jdGlvbiBvKHQpe2Zvcih2YXIgZT1bXSxyPXRbMF07cjw9dFsxXTtyKyspZm9yKHZhciBuPVN0cmluZy5mcm9tQ2hhckNvZGUociksYT10WzBdO2E8dFsxXTthKyspe3ZhciBpPW4rU3RyaW5nLmZyb21DaGFyQ29kZShhKTtlLnB1c2goaSl9cmV0dXJuIGV9aS5jcmVhdGVQYWlycz1vLGkuYXNjaWk9YX0se31dLDE2OTpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXt2YXIgcj0hMTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEZsb2F0NjRBcnJheSl7dmFyIG49bmV3IEZsb2F0NjRBcnJheSgxKSxhPW5ldyBVaW50MzJBcnJheShuLmJ1ZmZlcik7aWYoblswXT0xLHI9ITAsMTA3MjY5MzI0OD09PWFbMV0pe2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gblswXT10LFthWzBdLGFbMV1dfSxlLmV4cG9ydHMucGFjaz1mdW5jdGlvbih0LGUpe3JldHVybiBhWzBdPXQsYVsxXT1lLG5bMF19LGUuZXhwb3J0cy5sbz1mdW5jdGlvbih0KXtyZXR1cm4gblswXT10LGFbMF19LGUuZXhwb3J0cy5oaT1mdW5jdGlvbih0KXtyZXR1cm4gblswXT10LGFbMV19fWVsc2UgaWYoMTA3MjY5MzI0OD09PWFbMF0pe2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gblswXT10LFthWzFdLGFbMF1dfSxlLmV4cG9ydHMucGFjaz1mdW5jdGlvbih0LGUpe3JldHVybiBhWzFdPXQsYVswXT1lLG5bMF19LGUuZXhwb3J0cy5sbz1mdW5jdGlvbih0KXtyZXR1cm4gblswXT10LGFbMV19LGUuZXhwb3J0cy5oaT1mdW5jdGlvbih0KXtyZXR1cm4gblswXT10LGFbMF19fWVsc2Ugcj0hMX1pZighcil7dmFyIGk9bmV3IHQoOCk7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBpLndyaXRlRG91YmxlTEUodCwwLCEwKSxbaS5yZWFkVUludDMyTEUoMCwhMCksaS5yZWFkVUludDMyTEUoNCwhMCldfSxlLmV4cG9ydHMucGFjaz1mdW5jdGlvbih0LGUpe3JldHVybiBpLndyaXRlVUludDMyTEUodCwwLCEwKSxpLndyaXRlVUludDMyTEUoZSw0LCEwKSxpLnJlYWREb3VibGVMRSgwLCEwKX0sZS5leHBvcnRzLmxvPWZ1bmN0aW9uKHQpe3JldHVybiBpLndyaXRlRG91YmxlTEUodCwwLCEwKSxpLnJlYWRVSW50MzJMRSgwLCEwKX0sZS5leHBvcnRzLmhpPWZ1bmN0aW9uKHQpe3JldHVybiBpLndyaXRlRG91YmxlTEUodCwwLCEwKSxpLnJlYWRVSW50MzJMRSg0LCEwKX19ZS5leHBvcnRzLnNpZ249ZnVuY3Rpb24odCl7cmV0dXJuIGUuZXhwb3J0cy5oaSh0KT4+PjMxfSxlLmV4cG9ydHMuZXhwb25lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuKGUuZXhwb3J0cy5oaSh0KTw8MT4+PjIxKS0xMDIzfSxlLmV4cG9ydHMuZnJhY3Rpb249ZnVuY3Rpb24odCl7dmFyIHI9ZS5leHBvcnRzLmxvKHQpLG49ZS5leHBvcnRzLmhpKHQpLGE9MTA0ODU3NSZuO3JldHVybiAyMTQ2NDM1MDcyJm4mJihhKz0xPDwyMCksW3IsYV19LGUuZXhwb3J0cy5kZW5vcm1hbGl6ZWQ9ZnVuY3Rpb24odCl7cmV0dXJuISgyMTQ2NDM1MDcyJmUuZXhwb3J0cy5oaSh0KSl9fSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHtidWZmZXI6MTA3fV0sMTcwOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiYWJzLXN2Zy1wYXRoIiksYT10KCJub3JtYWxpemUtc3ZnLXBhdGgiKSxpPXtNOiJtb3ZlVG8iLEM6ImJlemllckN1cnZlVG8ifTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt0LmJlZ2luUGF0aCgpLGEobihlKSkuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgcj1lWzBdLG49ZS5zbGljZSgxKTt0W2lbcl1dLmFwcGx5KHQsbil9KSx0LmNsb3NlUGF0aCgpfX0seyJhYnMtc3ZnLXBhdGgiOjYzLCJub3JtYWxpemUtc3ZnLXBhdGgiOjQ1NH1dLDE3MTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0KXtzd2l0Y2godCl7Y2FzZSJpbnQ4IjpyZXR1cm4gSW50OEFycmF5O2Nhc2UiaW50MTYiOnJldHVybiBJbnQxNkFycmF5O2Nhc2UiaW50MzIiOnJldHVybiBJbnQzMkFycmF5O2Nhc2UidWludDgiOnJldHVybiBVaW50OEFycmF5O2Nhc2UidWludDE2IjpyZXR1cm4gVWludDE2QXJyYXk7Y2FzZSJ1aW50MzIiOnJldHVybiBVaW50MzJBcnJheTtjYXNlImZsb2F0MzIiOnJldHVybiBGbG9hdDMyQXJyYXk7Y2FzZSJmbG9hdDY0IjpyZXR1cm4gRmxvYXQ2NEFycmF5O2Nhc2UiYXJyYXkiOnJldHVybiBBcnJheTtjYXNlInVpbnQ4X2NsYW1wZWQiOnJldHVybiBVaW50OENsYW1wZWRBcnJheX19fSx7fV0sMTcyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3N3aXRjaCgidW5kZWZpbmVkIj09dHlwZW9mIGUmJihlPTApLHR5cGVvZiB0KXtjYXNlIm51bWJlciI6aWYodD4wKXJldHVybiBmdW5jdGlvbih0LGUpe3ZhciByLG47Zm9yKHI9bmV3IEFycmF5KHQpLG49MDtuPHQ7KytuKXJbbl09ZTtyZXR1cm4gcn0oMHx0LGUpO2JyZWFrO2Nhc2Uib2JqZWN0IjppZigibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKXJldHVybiBmdW5jdGlvbiB0KGUscixuKXt2YXIgYT0wfGVbbl07aWYoYTw9MClyZXR1cm5bXTt2YXIgaSxvPW5ldyBBcnJheShhKTtpZihuPT09ZS5sZW5ndGgtMSlmb3IoaT0wO2k8YTsrK2kpb1tpXT1yO2Vsc2UgZm9yKGk9MDtpPGE7KytpKW9baV09dChlLHIsbisxKTtyZXR1cm4gb30odCxlLDApfXJldHVybltdfX0se31dLDE3MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSxyKXtyPXJ8fDI7dmFyIG4scyxsLGMsdSxwLGQsdj1lJiZlLmxlbmd0aCxtPXY/ZVswXSpyOnQubGVuZ3RoLHk9YSh0LDAsbSxyLCEwKSx4PVtdO2lmKCF5fHx5Lm5leHQ9PT15LnByZXYpcmV0dXJuIHg7aWYodiYmKHk9ZnVuY3Rpb24odCxlLHIsbil7dmFyIG8scyxsLGMsdSxwPVtdO2ZvcihvPTAscz1lLmxlbmd0aDtvPHM7bysrKWw9ZVtvXSpuLGM9bzxzLTE/ZVtvKzFdKm46dC5sZW5ndGgsKHU9YSh0LGwsYyxuLCExKSk9PT11Lm5leHQmJih1LnN0ZWluZXI9ITApLHAucHVzaChnKHUpKTtmb3IocC5zb3J0KGgpLG89MDtvPHAubGVuZ3RoO28rKylmKHBbb10scikscj1pKHIsci5uZXh0KTtyZXR1cm4gcn0odCxlLHkscikpLHQubGVuZ3RoPjgwKnIpe249bD10WzBdLHM9Yz10WzFdO2Zvcih2YXIgYj1yO2I8bTtiKz1yKSh1PXRbYl0pPG4mJihuPXUpLChwPXRbYisxXSk8cyYmKHM9cCksdT5sJiYobD11KSxwPmMmJihjPXApO2Q9MCE9PShkPU1hdGgubWF4KGwtbixjLXMpKT8xL2Q6MH1yZXR1cm4gbyh5LHgscixuLHMsZCkseH1mdW5jdGlvbiBhKHQsZSxyLG4sYSl7dmFyIGksbztpZihhPT09RSh0LGUscixuKT4wKWZvcihpPWU7aTxyO2krPW4pbz1NKGksdFtpXSx0W2krMV0sbyk7ZWxzZSBmb3IoaT1yLW47aT49ZTtpLT1uKW89TShpLHRbaV0sdFtpKzFdLG8pO3JldHVybiBvJiZ4KG8sby5uZXh0KSYmKEEobyksbz1vLm5leHQpLG99ZnVuY3Rpb24gaSh0LGUpe2lmKCF0KXJldHVybiB0O2V8fChlPXQpO3ZhciByLG49dDtkb3tpZihyPSExLG4uc3RlaW5lcnx8IXgobixuLm5leHQpJiYwIT09eShuLnByZXYsbixuLm5leHQpKW49bi5uZXh0O2Vsc2V7aWYoQShuKSwobj1lPW4ucHJldik9PT1uLm5leHQpYnJlYWs7cj0hMH19d2hpbGUocnx8biE9PWUpO3JldHVybiBlfWZ1bmN0aW9uIG8odCxlLHIsbixhLGgsZil7aWYodCl7IWYmJmgmJmZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXQ7ZG97bnVsbD09PWEueiYmKGEuej1kKGEueCxhLnksZSxyLG4pKSxhLnByZXZaPWEucHJldixhLm5leHRaPWEubmV4dCxhPWEubmV4dH13aGlsZShhIT09dCk7YS5wcmV2Wi5uZXh0Wj1udWxsLGEucHJldlo9bnVsbCxmdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxpLG8scyxsLGM9MTtkb3tmb3Iocj10LHQ9bnVsbCxpPW51bGwsbz0wO3I7KXtmb3IobysrLG49cixzPTAsZT0wO2U8YyYmKHMrKyxuPW4ubmV4dFopO2UrKyk7Zm9yKGw9YztzPjB8fGw+MCYmbjspMCE9PXMmJigwPT09bHx8IW58fHIuejw9bi56KT8oYT1yLHI9ci5uZXh0WixzLS0pOihhPW4sbj1uLm5leHRaLGwtLSksaT9pLm5leHRaPWE6dD1hLGEucHJldlo9aSxpPWE7cj1ufWkubmV4dFo9bnVsbCxjKj0yfXdoaWxlKG8+MSl9KGEpfSh0LG4sYSxoKTtmb3IodmFyIHAsZyx2PXQ7dC5wcmV2IT09dC5uZXh0OylpZihwPXQucHJldixnPXQubmV4dCxoP2wodCxuLGEsaCk6cyh0KSllLnB1c2gocC5pL3IpLGUucHVzaCh0LmkvciksZS5wdXNoKGcuaS9yKSxBKHQpLHQ9Zy5uZXh0LHY9Zy5uZXh0O2Vsc2UgaWYoKHQ9Zyk9PT12KXtmPzE9PT1mP28odD1jKGkodCksZSxyKSxlLHIsbixhLGgsMik6Mj09PWYmJnUodCxlLHIsbixhLGgpOm8oaSh0KSxlLHIsbixhLGgsMSk7YnJlYWt9fX1mdW5jdGlvbiBzKHQpe3ZhciBlPXQucHJldixyPXQsbj10Lm5leHQ7aWYoeShlLHIsbik+PTApcmV0dXJuITE7Zm9yKHZhciBhPXQubmV4dC5uZXh0O2EhPT10LnByZXY7KXtpZih2KGUueCxlLnksci54LHIueSxuLngsbi55LGEueCxhLnkpJiZ5KGEucHJldixhLGEubmV4dCk+PTApcmV0dXJuITE7YT1hLm5leHR9cmV0dXJuITB9ZnVuY3Rpb24gbCh0LGUscixuKXt2YXIgYT10LnByZXYsaT10LG89dC5uZXh0O2lmKHkoYSxpLG8pPj0wKXJldHVybiExO2Zvcih2YXIgcz1hLng8aS54P2EueDxvLng/YS54Om8ueDppLng8by54P2kueDpvLngsbD1hLnk8aS55P2EueTxvLnk/YS55Om8ueTppLnk8by55P2kueTpvLnksYz1hLng+aS54P2EueD5vLng/YS54Om8ueDppLng+by54P2kueDpvLngsdT1hLnk+aS55P2EueT5vLnk/YS55Om8ueTppLnk+by55P2kueTpvLnksaD1kKHMsbCxlLHIsbiksZj1kKGMsdSxlLHIsbikscD10LnByZXZaLGc9dC5uZXh0WjtwJiZwLno+PWgmJmcmJmcuejw9Zjspe2lmKHAhPT10LnByZXYmJnAhPT10Lm5leHQmJnYoYS54LGEueSxpLngsaS55LG8ueCxvLnkscC54LHAueSkmJnkocC5wcmV2LHAscC5uZXh0KT49MClyZXR1cm4hMTtpZihwPXAucHJldlosZyE9PXQucHJldiYmZyE9PXQubmV4dCYmdihhLngsYS55LGkueCxpLnksby54LG8ueSxnLngsZy55KSYmeShnLnByZXYsZyxnLm5leHQpPj0wKXJldHVybiExO2c9Zy5uZXh0Wn1mb3IoO3AmJnAuej49aDspe2lmKHAhPT10LnByZXYmJnAhPT10Lm5leHQmJnYoYS54LGEueSxpLngsaS55LG8ueCxvLnkscC54LHAueSkmJnkocC5wcmV2LHAscC5uZXh0KT49MClyZXR1cm4hMTtwPXAucHJldlp9Zm9yKDtnJiZnLno8PWY7KXtpZihnIT09dC5wcmV2JiZnIT09dC5uZXh0JiZ2KGEueCxhLnksaS54LGkueSxvLngsby55LGcueCxnLnkpJiZ5KGcucHJldixnLGcubmV4dCk+PTApcmV0dXJuITE7Zz1nLm5leHRafXJldHVybiEwfWZ1bmN0aW9uIGModCxlLHIpe3ZhciBuPXQ7ZG97dmFyIGE9bi5wcmV2LG89bi5uZXh0Lm5leHQ7IXgoYSxvKSYmYihhLG4sbi5uZXh0LG8pJiZrKGEsbykmJmsobyxhKSYmKGUucHVzaChhLmkvciksZS5wdXNoKG4uaS9yKSxlLnB1c2goby5pL3IpLEEobiksQShuLm5leHQpLG49dD1vKSxuPW4ubmV4dH13aGlsZShuIT09dCk7cmV0dXJuIGkobil9ZnVuY3Rpb24gdSh0LGUscixuLGEscyl7dmFyIGw9dDtkb3tmb3IodmFyIGM9bC5uZXh0Lm5leHQ7YyE9PWwucHJldjspe2lmKGwuaSE9PWMuaSYmbShsLGMpKXt2YXIgdT1UKGwsYyk7cmV0dXJuIGw9aShsLGwubmV4dCksdT1pKHUsdS5uZXh0KSxvKGwsZSxyLG4sYSxzKSx2b2lkIG8odSxlLHIsbixhLHMpfWM9Yy5uZXh0fWw9bC5uZXh0fXdoaWxlKGwhPT10KX1mdW5jdGlvbiBoKHQsZSl7cmV0dXJuIHQueC1lLnh9ZnVuY3Rpb24gZih0LGUpe2lmKGU9ZnVuY3Rpb24odCxlKXt2YXIgcixuPWUsYT10LngsaT10Lnksbz0tMS8wO2Rve2lmKGk8PW4ueSYmaT49bi5uZXh0LnkmJm4ubmV4dC55IT09bi55KXt2YXIgcz1uLngrKGktbi55KSoobi5uZXh0Lngtbi54KS8obi5uZXh0Lnktbi55KTtpZihzPD1hJiZzPm8pe2lmKG89cyxzPT09YSl7aWYoaT09PW4ueSlyZXR1cm4gbjtpZihpPT09bi5uZXh0LnkpcmV0dXJuIG4ubmV4dH1yPW4ueDxuLm5leHQueD9uOm4ubmV4dH19bj1uLm5leHR9d2hpbGUobiE9PWUpO2lmKCFyKXJldHVybiBudWxsO2lmKGE9PT1vKXJldHVybiByO3ZhciBsLGM9cix1PXIueCxoPXIueSxmPTEvMDtuPXI7ZG97YT49bi54JiZuLng+PXUmJmEhPT1uLngmJnYoaTxoP2E6byxpLHUsaCxpPGg/bzphLGksbi54LG4ueSkmJihsPU1hdGguYWJzKGktbi55KS8oYS1uLngpLGsobix0KSYmKGw8Znx8bD09PWYmJihuLng+ci54fHxuLng9PT1yLngmJnAocixuKSkpJiYocj1uLGY9bCkpLG49bi5uZXh0fXdoaWxlKG4hPT1jKTtyZXR1cm4gcn0odCxlKSl7dmFyIHI9VChlLHQpO2kocixyLm5leHQpfX1mdW5jdGlvbiBwKHQsZSl7cmV0dXJuIHkodC5wcmV2LHQsZS5wcmV2KTwwJiZ5KGUubmV4dCx0LHQubmV4dCk8MH1mdW5jdGlvbiBkKHQsZSxyLG4sYSl7cmV0dXJuKHQ9MTQzMTY1NTc2NSYoKHQ9ODU4OTkzNDU5JigodD0yNTI2NDUxMzUmKCh0PTE2NzExOTM1JigodD0zMjc2NyoodC1yKSphKXx0PDw4KSl8dDw8NCkpfHQ8PDIpKXx0PDwxKSl8KGU9MTQzMTY1NTc2NSYoKGU9ODU4OTkzNDU5JigoZT0yNTI2NDUxMzUmKChlPTE2NzExOTM1JigoZT0zMjc2NyooZS1uKSphKXxlPDw4KSl8ZTw8NCkpfGU8PDIpKXxlPDwxKSk8PDF9ZnVuY3Rpb24gZyh0KXt2YXIgZT10LHI9dDtkb3soZS54PHIueHx8ZS54PT09ci54JiZlLnk8ci55KSYmKHI9ZSksZT1lLm5leHR9d2hpbGUoZSE9PXQpO3JldHVybiByfWZ1bmN0aW9uIHYodCxlLHIsbixhLGksbyxzKXtyZXR1cm4oYS1vKSooZS1zKS0odC1vKSooaS1zKT49MCYmKHQtbykqKG4tcyktKHItbykqKGUtcyk+PTAmJihyLW8pKihpLXMpLShhLW8pKihuLXMpPj0wfWZ1bmN0aW9uIG0odCxlKXtyZXR1cm4gdC5uZXh0LmkhPT1lLmkmJnQucHJldi5pIT09ZS5pJiYhZnVuY3Rpb24odCxlKXt2YXIgcj10O2Rve2lmKHIuaSE9PXQuaSYmci5uZXh0LmkhPT10LmkmJnIuaSE9PWUuaSYmci5uZXh0LmkhPT1lLmkmJmIocixyLm5leHQsdCxlKSlyZXR1cm4hMDtyPXIubmV4dH13aGlsZShyIT09dCk7cmV0dXJuITF9KHQsZSkmJihrKHQsZSkmJmsoZSx0KSYmZnVuY3Rpb24odCxlKXt2YXIgcj10LG49ITEsYT0odC54K2UueCkvMixpPSh0LnkrZS55KS8yO2Rve3IueT5pIT1yLm5leHQueT5pJiZyLm5leHQueSE9PXIueSYmYTwoci5uZXh0Lngtci54KSooaS1yLnkpLyhyLm5leHQueS1yLnkpK3IueCYmKG49IW4pLHI9ci5uZXh0fXdoaWxlKHIhPT10KTtyZXR1cm4gbn0odCxlKSYmKHkodC5wcmV2LHQsZS5wcmV2KXx8eSh0LGUucHJldixlKSl8fHgodCxlKSYmeSh0LnByZXYsdCx0Lm5leHQpPjAmJnkoZS5wcmV2LGUsZS5uZXh0KT4wKX1mdW5jdGlvbiB5KHQsZSxyKXtyZXR1cm4oZS55LXQueSkqKHIueC1lLngpLShlLngtdC54KSooci55LWUueSl9ZnVuY3Rpb24geCh0LGUpe3JldHVybiB0Lng9PT1lLngmJnQueT09PWUueX1mdW5jdGlvbiBiKHQsZSxyLG4pe3ZhciBhPXcoeSh0LGUscikpLGk9dyh5KHQsZSxuKSksbz13KHkocixuLHQpKSxzPXcoeShyLG4sZSkpO3JldHVybiBhIT09aSYmbyE9PXN8fCghKDAhPT1hfHwhXyh0LHIsZSkpfHwoISgwIT09aXx8IV8odCxuLGUpKXx8KCEoMCE9PW98fCFfKHIsdCxuKSl8fCEoMCE9PXN8fCFfKHIsZSxuKSkpKSl9ZnVuY3Rpb24gXyh0LGUscil7cmV0dXJuIGUueDw9TWF0aC5tYXgodC54LHIueCkmJmUueD49TWF0aC5taW4odC54LHIueCkmJmUueTw9TWF0aC5tYXgodC55LHIueSkmJmUueT49TWF0aC5taW4odC55LHIueSl9ZnVuY3Rpb24gdyh0KXtyZXR1cm4gdD4wPzE6dDwwPy0xOjB9ZnVuY3Rpb24gayh0LGUpe3JldHVybiB5KHQucHJldix0LHQubmV4dCk8MD95KHQsZSx0Lm5leHQpPj0wJiZ5KHQsdC5wcmV2LGUpPj0wOnkodCxlLHQucHJldik8MHx8eSh0LHQubmV4dCxlKTwwfWZ1bmN0aW9uIFQodCxlKXt2YXIgcj1uZXcgUyh0LmksdC54LHQueSksbj1uZXcgUyhlLmksZS54LGUueSksYT10Lm5leHQsaT1lLnByZXY7cmV0dXJuIHQubmV4dD1lLGUucHJldj10LHIubmV4dD1hLGEucHJldj1yLG4ubmV4dD1yLHIucHJldj1uLGkubmV4dD1uLG4ucHJldj1pLG59ZnVuY3Rpb24gTSh0LGUscixuKXt2YXIgYT1uZXcgUyh0LGUscik7cmV0dXJuIG4/KGEubmV4dD1uLm5leHQsYS5wcmV2PW4sbi5uZXh0LnByZXY9YSxuLm5leHQ9YSk6KGEucHJldj1hLGEubmV4dD1hKSxhfWZ1bmN0aW9uIEEodCl7dC5uZXh0LnByZXY9dC5wcmV2LHQucHJldi5uZXh0PXQubmV4dCx0LnByZXZaJiYodC5wcmV2Wi5uZXh0Wj10Lm5leHRaKSx0Lm5leHRaJiYodC5uZXh0Wi5wcmV2Wj10LnByZXZaKX1mdW5jdGlvbiBTKHQsZSxyKXt0aGlzLmk9dCx0aGlzLng9ZSx0aGlzLnk9cix0aGlzLnByZXY9bnVsbCx0aGlzLm5leHQ9bnVsbCx0aGlzLno9bnVsbCx0aGlzLnByZXZaPW51bGwsdGhpcy5uZXh0Wj1udWxsLHRoaXMuc3RlaW5lcj0hMX1mdW5jdGlvbiBFKHQsZSxyLG4pe2Zvcih2YXIgYT0wLGk9ZSxvPXItbjtpPHI7aSs9bilhKz0odFtvXS10W2ldKSoodFtpKzFdK3RbbysxXSksbz1pO3JldHVybiBhfWUuZXhwb3J0cz1uLGUuZXhwb3J0cy5kZWZhdWx0PW4sbi5kZXZpYXRpb249ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9ZSYmZS5sZW5ndGgsaT1hP2VbMF0qcjp0Lmxlbmd0aCxvPU1hdGguYWJzKEUodCwwLGkscikpO2lmKGEpZm9yKHZhciBzPTAsbD1lLmxlbmd0aDtzPGw7cysrKXt2YXIgYz1lW3NdKnIsdT1zPGwtMT9lW3MrMV0qcjp0Lmxlbmd0aDtvLT1NYXRoLmFicyhFKHQsYyx1LHIpKX12YXIgaD0wO2ZvcihzPTA7czxuLmxlbmd0aDtzKz0zKXt2YXIgZj1uW3NdKnIscD1uW3MrMV0qcixkPW5bcysyXSpyO2grPU1hdGguYWJzKCh0W2ZdLXRbZF0pKih0W3ArMV0tdFtmKzFdKS0odFtmXS10W3BdKSoodFtkKzFdLXRbZisxXSkpfXJldHVybiAwPT09byYmMD09PWg/MDpNYXRoLmFicygoaC1vKS9vKX0sbi5mbGF0dGVuPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10WzBdWzBdLmxlbmd0aCxyPXt2ZXJ0aWNlczpbXSxob2xlczpbXSxkaW1lbnNpb25zOmV9LG49MCxhPTA7YTx0Lmxlbmd0aDthKyspe2Zvcih2YXIgaT0wO2k8dFthXS5sZW5ndGg7aSsrKWZvcih2YXIgbz0wO288ZTtvKyspci52ZXJ0aWNlcy5wdXNoKHRbYV1baV1bb10pO2E+MCYmKG4rPXRbYS0xXS5sZW5ndGgsci5ob2xlcy5wdXNoKG4pKX1yZXR1cm4gcn19LHt9XSwxNzQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5sZW5ndGg7aWYoIm51bWJlciIhPXR5cGVvZiBlKXtlPTA7Zm9yKHZhciBhPTA7YTxyOysrYSl7dmFyIGk9dFthXTtlPU1hdGgubWF4KGUsaVswXSxpWzFdKX1lPTErKDB8ZSl9ZXw9MDtmb3IodmFyIG89bmV3IEFycmF5KGUpLGE9MDthPGU7KythKW9bYV09W107Zm9yKHZhciBhPTA7YTxyOysrYSl7dmFyIGk9dFthXTtvW2lbMF1dLnB1c2goaVsxXSksb1tpWzFdXS5wdXNoKGlbMF0pfWZvcih2YXIgcz0wO3M8ZTsrK3MpbihvW3NdLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQtZX0pO3JldHVybiBvfTt2YXIgbj10KCJ1bmlxIil9LHt1bmlxOjU0Nn1dLDE3NTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoInN0cm9uZ2x5LWNvbm5lY3RlZC1jb21wb25lbnRzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLHI9W10sYT1bXSxpPVtdLG89e30scz1bXTtmdW5jdGlvbiBsKHQpe3ZhciByLG4sdT0hMTtmb3IoYS5wdXNoKHQpLGlbdF09ITAscj0wO3I8c1t0XS5sZW5ndGg7cisrKShuPXNbdF1bcl0pPT09ZT8oYyhlLGEpLHU9ITApOmlbbl18fCh1PWwobikpO2lmKHUpIWZ1bmN0aW9uIHQoZSl7aVtlXT0hMSxvLmhhc093blByb3BlcnR5KGUpJiZPYmplY3Qua2V5cyhvW2VdKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe2RlbGV0ZSBvW2VdW3JdLGlbcl0mJnQocil9KX0odCk7ZWxzZSBmb3Iocj0wO3I8c1t0XS5sZW5ndGg7cisrKXtuPXNbdF1bcl07dmFyIGg9b1tuXTtofHwoaD17fSxvW25dPWgpLGhbbl09ITB9cmV0dXJuIGEucG9wKCksdX1mdW5jdGlvbiBjKHQsZSl7dmFyIG49W10uY29uY2F0KGUpLmNvbmNhdCh0KTtyLnB1c2gobil9ZnVuY3Rpb24gdShlKXshZnVuY3Rpb24oZSl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspcjxlJiYodFtyXT1bXSksdFtyXT10W3JdLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdD49ZX0pfShlKTtmb3IodmFyIHIsYT1uKHQpLmNvbXBvbmVudHMuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmxlbmd0aD4xfSksaT0xLzAsbz0wO288YS5sZW5ndGg7bysrKWZvcih2YXIgcz0wO3M8YVtvXS5sZW5ndGg7cysrKWFbb11bc108aSYmKGk9YVtvXVtzXSxyPW8pO3ZhciBsPWFbcl07cmV0dXJuISFsJiZ7bGVhc3RWZXJ0ZXg6aSxhZGpMaXN0OnQubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJuLTE9PT1sLmluZGV4T2YoZSk/W106dC5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuLTEhPT1sLmluZGV4T2YodCl9KX0pfX1lPTA7Zm9yKHZhciBoPXQubGVuZ3RoO2U8aDspe3ZhciBmPXUoZSk7aWYoZT1mLmxlYXN0VmVydGV4LHM9Zi5hZGpMaXN0KXtmb3IodmFyIHA9MDtwPHMubGVuZ3RoO3ArKylmb3IodmFyIGQ9MDtkPHNbcF0ubGVuZ3RoO2QrKyl7dmFyIGc9c1twXVtkXTtpWytnXT0hMSxvW2ddPXt9fWwoZSksZSs9MX1lbHNlIGU9aH1yZXR1cm4gcn19LHsic3Ryb25nbHktY29ubmVjdGVkLWNvbXBvbmVudHMiOjUyOX1dLDE3NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi8uLi9vYmplY3QvdmFsaWQtdmFsdWUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzKS5sZW5ndGg9MCx0aGlzfX0seyIuLi8uLi9vYmplY3QvdmFsaWQtdmFsdWUiOjIwOH1dLDE3NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi9pcy1pbXBsZW1lbnRlZCIpKCk/QXJyYXkuZnJvbTp0KCIuL3NoaW0iKX0seyIuL2lzLWltcGxlbWVudGVkIjoxNzgsIi4vc2hpbSI6MTc5fV0sMTc4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbigpe3ZhciB0LGUscj1BcnJheS5mcm9tO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiByJiYoZT1yKHQ9WyJyYXoiLCJkd2EiXSksQm9vbGVhbihlJiZlIT09dCYmImR3YSI9PT1lWzFdKSl9fSx7fV0sMTc5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImVzNi1zeW1ib2wiKS5pdGVyYXRvcixhPXQoIi4uLy4uL2Z1bmN0aW9uL2lzLWFyZ3VtZW50cyIpLGk9dCgiLi4vLi4vZnVuY3Rpb24vaXMtZnVuY3Rpb24iKSxvPXQoIi4uLy4uL251bWJlci90by1wb3MtaW50ZWdlciIpLHM9dCgiLi4vLi4vb2JqZWN0L3ZhbGlkLWNhbGxhYmxlIiksbD10KCIuLi8uLi9vYmplY3QvdmFsaWQtdmFsdWUiKSxjPXQoIi4uLy4uL29iamVjdC9pcy12YWx1ZSIpLHU9dCgiLi4vLi4vc3RyaW5nL2lzLXN0cmluZyIpLGg9QXJyYXkuaXNBcnJheSxmPUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLHA9e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm51bGx9LGQ9T2JqZWN0LmRlZmluZVByb3BlcnR5O2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZSxyLGcsdixtLHkseCxiLF8sdyxrPWFyZ3VtZW50c1sxXSxUPWFyZ3VtZW50c1syXTtpZih0PU9iamVjdChsKHQpKSxjKGspJiZzKGspLHRoaXMmJnRoaXMhPT1BcnJheSYmaSh0aGlzKSllPXRoaXM7ZWxzZXtpZighayl7aWYoYSh0KSlyZXR1cm4gMSE9PShtPXQubGVuZ3RoKT9BcnJheS5hcHBseShudWxsLHQpOigodj1uZXcgQXJyYXkoMSkpWzBdPXRbMF0sdik7aWYoaCh0KSl7Zm9yKHY9bmV3IEFycmF5KG09dC5sZW5ndGgpLHI9MDtyPG07KytyKXZbcl09dFtyXTtyZXR1cm4gdn19dj1bXX1pZighaCh0KSlpZih2b2lkIDAhPT0oXz10W25dKSl7Zm9yKHg9cyhfKS5jYWxsKHQpLGUmJih2PW5ldyBlKSxiPXgubmV4dCgpLHI9MDshYi5kb25lOyl3PWs/Zi5jYWxsKGssVCxiLnZhbHVlLHIpOmIudmFsdWUsZT8ocC52YWx1ZT13LGQodixyLHApKTp2W3JdPXcsYj14Lm5leHQoKSwrK3I7bT1yfWVsc2UgaWYodSh0KSl7Zm9yKG09dC5sZW5ndGgsZSYmKHY9bmV3IGUpLHI9MCxnPTA7cjxtOysrcil3PXRbcl0scisxPG0mJih5PXcuY2hhckNvZGVBdCgwKSk+PTU1Mjk2JiZ5PD01NjMxOSYmKHcrPXRbKytyXSksdz1rP2YuY2FsbChrLFQsdyxnKTp3LGU/KHAudmFsdWU9dyxkKHYsZyxwKSk6dltnXT13LCsrZzttPWd9aWYodm9pZCAwPT09bSlmb3IobT1vKHQubGVuZ3RoKSxlJiYodj1uZXcgZShtKSkscj0wO3I8bTsrK3Ipdz1rP2YuY2FsbChrLFQsdFtyXSxyKTp0W3JdLGU/KHAudmFsdWU9dyxkKHYscixwKSk6dltyXT13O3JldHVybiBlJiYocC52YWx1ZT1udWxsLHYubGVuZ3RoPW0pLHZ9fSx7Ii4uLy4uL2Z1bmN0aW9uL2lzLWFyZ3VtZW50cyI6MTgwLCIuLi8uLi9mdW5jdGlvbi9pcy1mdW5jdGlvbiI6MTgxLCIuLi8uLi9udW1iZXIvdG8tcG9zLWludGVnZXIiOjE4NywiLi4vLi4vb2JqZWN0L2lzLXZhbHVlIjoxOTcsIi4uLy4uL29iamVjdC92YWxpZC1jYWxsYWJsZSI6MjA2LCIuLi8uLi9vYmplY3QvdmFsaWQtdmFsdWUiOjIwOCwiLi4vLi4vc3RyaW5nL2lzLXN0cmluZyI6MjEyLCJlczYtc3ltYm9sIjoyMjJ9XSwxODA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxhPW4uY2FsbChmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KCkpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbi5jYWxsKHQpPT09YX19LHt9XSwxODE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxhPW4uY2FsbCh0KCIuL25vb3AiKSk7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0JiZuLmNhbGwodCk9PT1hfX0seyIuL25vb3AiOjE4Mn1dLDE4MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt9fSx7fV0sMTgzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuL2lzLWltcGxlbWVudGVkIikoKT9NYXRoLnNpZ246dCgiLi9zaGltIil9LHsiLi9pcy1pbXBsZW1lbnRlZCI6MTg0LCIuL3NoaW0iOjE4NX1dLDE4NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdD1NYXRoLnNpZ247cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQmJigxPT09dCgxMCkmJi0xPT09dCgtMjApKX19LHt9XSwxODU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0PU51bWJlcih0KSxpc05hTih0KXx8MD09PXQ/dDp0PjA/MTotMX19LHt9XSwxODY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vbWF0aC9zaWduIiksYT1NYXRoLmFicyxpPU1hdGguZmxvb3I7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBpc05hTih0KT8wOjAhPT0odD1OdW1iZXIodCkpJiZpc0Zpbml0ZSh0KT9uKHQpKmkoYSh0KSk6dH19LHsiLi4vbWF0aC9zaWduIjoxODN9XSwxODc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi90by1pbnRlZ2VyIiksYT1NYXRoLm1heDtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGEoMCxuKHQpKX19LHsiLi90by1pbnRlZ2VyIjoxODZ9XSwxODg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi92YWxpZC1jYWxsYWJsZSIpLGE9dCgiLi92YWxpZC12YWx1ZSIpLGk9RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsbz1GdW5jdGlvbi5wcm90b3R5cGUuY2FsbCxzPU9iamVjdC5rZXlzLGw9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocixjKXt2YXIgdSxoPWFyZ3VtZW50c1syXSxmPWFyZ3VtZW50c1szXTtyZXR1cm4gcj1PYmplY3QoYShyKSksbihjKSx1PXMociksZiYmdS5zb3J0KCJmdW5jdGlvbiI9PXR5cGVvZiBmP2kuY2FsbChmLHIpOnZvaWQgMCksImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PXVbdF0pLG8uY2FsbCh0LHUsZnVuY3Rpb24odCxuKXtyZXR1cm4gbC5jYWxsKHIsdCk/by5jYWxsKGMsaCxyW3RdLHQscixuKTplfSl9fX0seyIuL3ZhbGlkLWNhbGxhYmxlIjoyMDYsIi4vdmFsaWQtdmFsdWUiOjIwOH1dLDE4OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi9pcy1pbXBsZW1lbnRlZCIpKCk/T2JqZWN0LmFzc2lnbjp0KCIuL3NoaW0iKX0seyIuL2lzLWltcGxlbWVudGVkIjoxOTAsIi4vc2hpbSI6MTkxfV0sMTkwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbigpe3ZhciB0LGU9T2JqZWN0LmFzc2lnbjtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmKGUodD17Zm9vOiJyYXoifSx7YmFyOiJkd2EifSx7dHJ6eToidHJ6eSJ9KSx0LmZvbyt0LmJhcit0LnRyenk9PT0icmF6ZHdhdHJ6eSIpfX0se31dLDE5MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9rZXlzIiksYT10KCIuLi92YWxpZC12YWx1ZSIpLGk9TWF0aC5tYXg7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbyxzLGw9aShhcmd1bWVudHMubGVuZ3RoLDIpO2Zvcih0PU9iamVjdChhKHQpKSxzPWZ1bmN0aW9uKG4pe3RyeXt0W25dPWVbbl19Y2F0Y2godCl7cnx8KHI9dCl9fSxvPTE7bzxsOysrbyllPWFyZ3VtZW50c1tvXSxuKGUpLmZvckVhY2gocyk7aWYodm9pZCAwIT09cil0aHJvdyByO3JldHVybiB0fX0seyIuLi9rZXlzIjoxOTgsIi4uL3ZhbGlkLXZhbHVlIjoyMDh9XSwxOTI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi4vYXJyYXkvZnJvbSIpLGE9dCgiLi9hc3NpZ24iKSxpPXQoIi4vdmFsaWQtdmFsdWUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9T2JqZWN0KGkodCkpLHI9YXJndW1lbnRzWzFdLG89T2JqZWN0KGFyZ3VtZW50c1syXSk7aWYoZSE9PXQmJiFyKXJldHVybiBlO3ZhciBzPXt9O3JldHVybiByP24ocixmdW5jdGlvbihlKXsoby5lbnN1cmV8fGUgaW4gdCkmJihzW2VdPXRbZV0pfSk6YShzLHQpLHN9fSx7Ii4uL2FycmF5L2Zyb20iOjE3NywiLi9hc3NpZ24iOjE4OSwiLi92YWxpZC12YWx1ZSI6MjA4fV0sMTkzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuLGEsaSxvLHM9T2JqZWN0LmNyZWF0ZTt0KCIuL3NldC1wcm90b3R5cGUtb2YvaXMtaW1wbGVtZW50ZWQiKSgpfHwobj10KCIuL3NldC1wcm90b3R5cGUtb2Yvc2hpbSIpKSxlLmV4cG9ydHM9bj8xIT09bi5sZXZlbD9zOihhPXt9LGk9e30sbz17Y29uZmlndXJhYmxlOiExLGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsdmFsdWU6dm9pZCAwfSxPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhPYmplY3QucHJvdG90eXBlKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lbdF09Il9fcHJvdG9fXyIhPT10P286e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLHZhbHVlOnZvaWQgMH19KSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhLGkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJudWxsUG9seWZpbGwiLHtjb25maWd1cmFibGU6ITEsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMSx2YWx1ZTphfSksZnVuY3Rpb24odCxlKXtyZXR1cm4gcyhudWxsPT09dD9hOnQsZSl9KTpzfSx7Ii4vc2V0LXByb3RvdHlwZS1vZi9pcy1pbXBsZW1lbnRlZCI6MjA0LCIuL3NldC1wcm90b3R5cGUtb2Yvc2hpbSI6MjA1fV0sMTk0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuL19pdGVyYXRlIikoImZvckVhY2giKX0seyIuL19pdGVyYXRlIjoxODh9XSwxOTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0fX0se31dLDE5NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2lzLXZhbHVlIiksYT17ZnVuY3Rpb246ITAsb2JqZWN0OiEwfTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG4odCkmJmFbdHlwZW9mIHRdfHwhMX19LHsiLi9pcy12YWx1ZSI6MTk3fV0sMTk3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4uL2Z1bmN0aW9uL25vb3AiKSgpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gdCE9PW4mJm51bGwhPT10fX0seyIuLi9mdW5jdGlvbi9ub29wIjoxODJ9XSwxOTg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4vaXMtaW1wbGVtZW50ZWQiKSgpP09iamVjdC5rZXlzOnQoIi4vc2hpbSIpfSx7Ii4vaXMtaW1wbGVtZW50ZWQiOjE5OSwiLi9zaGltIjoyMDB9XSwxOTk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBPYmplY3Qua2V5cygicHJpbWl0aXZlIiksITB9Y2F0Y2godCl7cmV0dXJuITF9fX0se31dLDIwMDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuLi9pcy12YWx1ZSIpLGE9T2JqZWN0LmtleXM7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBhKG4odCk/T2JqZWN0KHQpOnQpfX0seyIuLi9pcy12YWx1ZSI6MTk3fV0sMjAxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vdmFsaWQtY2FsbGFibGUiKSxhPXQoIi4vZm9yLWVhY2giKSxpPUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXt9LG89YXJndW1lbnRzWzJdO3JldHVybiBuKGUpLGEodCxmdW5jdGlvbih0LG4sYSxzKXtyW25dPWkuY2FsbChlLG8sdCxuLGEscyl9KSxyfX0seyIuL2Zvci1lYWNoIjoxOTQsIi4vdmFsaWQtY2FsbGFibGUiOjIwNn1dLDIwMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2lzLXZhbHVlIiksYT1BcnJheS5wcm90b3R5cGUuZm9yRWFjaCxpPU9iamVjdC5jcmVhdGU7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPWkobnVsbCk7cmV0dXJuIGEuY2FsbChhcmd1bWVudHMsZnVuY3Rpb24odCl7bih0KSYmZnVuY3Rpb24odCxlKXt2YXIgcjtmb3IociBpbiB0KWVbcl09dFtyXX0oT2JqZWN0KHQpLGUpfSksZX19LHsiLi9pcy12YWx1ZSI6MTk3fV0sMjAzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuL2lzLWltcGxlbWVudGVkIikoKT9PYmplY3Quc2V0UHJvdG90eXBlT2Y6dCgiLi9zaGltIil9LHsiLi9pcy1pbXBsZW1lbnRlZCI6MjA0LCIuL3NoaW0iOjIwNX1dLDIwNDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1PYmplY3QuY3JlYXRlLGE9T2JqZWN0LmdldFByb3RvdHlwZU9mLGk9e307ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQ9T2JqZWN0LnNldFByb3RvdHlwZU9mLGU9YXJndW1lbnRzWzBdfHxuO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0JiZhKHQoZShudWxsKSxpKSk9PT1pfX0se31dLDIwNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixhLGksbyxzPXQoIi4uL2lzLW9iamVjdCIpLGw9dCgiLi4vdmFsaWQtdmFsdWUiKSxjPU9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZix1PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxoPXtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCx2YWx1ZTp2b2lkIDB9O249ZnVuY3Rpb24odCxlKXtpZihsKHQpLG51bGw9PT1lfHxzKGUpKXJldHVybiB0O3Rocm93IG5ldyBUeXBlRXJyb3IoIlByb3RvdHlwZSBtdXN0IGJlIG51bGwgb3IgYW4gb2JqZWN0Iil9LGUuZXhwb3J0cz0oYT1mdW5jdGlvbigpe3ZhciB0LGU9T2JqZWN0LmNyZWF0ZShudWxsKSxyPXt9LG49T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCJfX3Byb3RvX18iKTtpZihuKXt0cnl7KHQ9bi5zZXQpLmNhbGwoZSxyKX1jYXRjaCh0KXt9aWYoT2JqZWN0LmdldFByb3RvdHlwZU9mKGUpPT09cilyZXR1cm57c2V0OnQsbGV2ZWw6Mn19cmV0dXJuIGUuX19wcm90b19fPXIsT2JqZWN0LmdldFByb3RvdHlwZU9mKGUpPT09cj97bGV2ZWw6Mn06KChlPXt9KS5fX3Byb3RvX189cixPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk9PT1yJiZ7bGV2ZWw6MX0pfSgpKT8oMj09PWEubGV2ZWw/YS5zZXQ/KG89YS5zZXQsaT1mdW5jdGlvbih0LGUpe3JldHVybiBvLmNhbGwobih0LGUpLGUpLHR9KTppPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odCxlKS5fX3Byb3RvX189ZSx0fTppPWZ1bmN0aW9uIHQoZSxyKXt2YXIgYTtyZXR1cm4gbihlLHIpLChhPWMuY2FsbCh0Lm51bGxQb2x5ZmlsbCxlKSkmJmRlbGV0ZSB0Lm51bGxQb2x5ZmlsbC5fX3Byb3RvX18sbnVsbD09PXImJihyPXQubnVsbFBvbHlmaWxsKSxlLl9fcHJvdG9fXz1yLGEmJnUodC5udWxsUG9seWZpbGwsIl9fcHJvdG9fXyIsaCksZX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGksImxldmVsIix7Y29uZmlndXJhYmxlOiExLGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITEsdmFsdWU6YS5sZXZlbH0pKTpudWxsLHQoIi4uL2NyZWF0ZSIpfSx7Ii4uL2NyZWF0ZSI6MTkzLCIuLi9pcy1vYmplY3QiOjE5NiwiLi4vdmFsaWQtdmFsdWUiOjIwOH1dLDIwNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcih0KyIgaXMgbm90IGEgZnVuY3Rpb24iKTtyZXR1cm4gdH19LHt9XSwyMDc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9pcy1vYmplY3QiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoIW4odCkpdGhyb3cgbmV3IFR5cGVFcnJvcih0KyIgaXMgbm90IGFuIE9iamVjdCIpO3JldHVybiB0fX0seyIuL2lzLW9iamVjdCI6MTk2fV0sMjA4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vaXMtdmFsdWUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoIW4odCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHVzZSBudWxsIG9yIHVuZGVmaW5lZCIpO3JldHVybiB0fX0seyIuL2lzLXZhbHVlIjoxOTd9XSwyMDk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXQoIi4vaXMtaW1wbGVtZW50ZWQiKSgpP1N0cmluZy5wcm90b3R5cGUuY29udGFpbnM6dCgiLi9zaGltIil9LHsiLi9pcy1pbXBsZW1lbnRlZCI6MjEwLCIuL3NoaW0iOjIxMX1dLDIxMDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj0icmF6ZHdhdHJ6eSI7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIG4uY29udGFpbnMmJighMD09PW4uY29udGFpbnMoImR3YSIpJiYhMT09PW4uY29udGFpbnMoImZvbyIpKX19LHt9XSwyMTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49U3RyaW5nLnByb3RvdHlwZS5pbmRleE9mO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbi5jYWxsKHRoaXMsdCxhcmd1bWVudHNbMV0pPi0xfX0se31dLDIxMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGE9bi5jYWxsKCIiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fHx0JiYib2JqZWN0Ij09dHlwZW9mIHQmJih0IGluc3RhbmNlb2YgU3RyaW5nfHxuLmNhbGwodCk9PT1hKXx8ITF9fSx7fV0sMjEzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPU9iamVjdC5jcmVhdGUobnVsbCksYT1NYXRoLnJhbmRvbTtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdDtkb3t0PWEoKS50b1N0cmluZygzNikuc2xpY2UoMil9d2hpbGUoblt0XSk7cmV0dXJuIHR9fSx7fV0sMjE0OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuLGE9dCgiZXM1LWV4dC9vYmplY3Qvc2V0LXByb3RvdHlwZS1vZiIpLGk9dCgiZXM1LWV4dC9zdHJpbmcvIy9jb250YWlucyIpLG89dCgiZCIpLHM9dCgiZXM2LXN5bWJvbCIpLGw9dCgiLi8iKSxjPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTtuPWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIG4pKXRocm93IG5ldyBUeXBlRXJyb3IoIkNvbnN0cnVjdG9yIHJlcXVpcmVzICduZXcnIik7bC5jYWxsKHRoaXMsdCksZT1lP2kuY2FsbChlLCJrZXkrdmFsdWUiKT8ia2V5K3ZhbHVlIjppLmNhbGwoZSwia2V5Iik/ImtleSI6InZhbHVlIjoidmFsdWUiLGModGhpcywiX19raW5kX18iLG8oIiIsZSkpfSxhJiZhKG4sbCksZGVsZXRlIG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yLG4ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobC5wcm90b3R5cGUse19yZXNvbHZlOm8oZnVuY3Rpb24odCl7cmV0dXJuInZhbHVlIj09PXRoaXMuX19raW5kX18/dGhpcy5fX2xpc3RfX1t0XToia2V5K3ZhbHVlIj09PXRoaXMuX19raW5kX18/W3QsdGhpcy5fX2xpc3RfX1t0XV06dH0pfSksYyhuLnByb3RvdHlwZSxzLnRvU3RyaW5nVGFnLG8oImMiLCJBcnJheSBJdGVyYXRvciIpKX0seyIuLyI6MjE3LGQ6MTUzLCJlczUtZXh0L29iamVjdC9zZXQtcHJvdG90eXBlLW9mIjoyMDMsImVzNS1leHQvc3RyaW5nLyMvY29udGFpbnMiOjIwOSwiZXM2LXN5bWJvbCI6MjIyfV0sMjE1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImVzNS1leHQvZnVuY3Rpb24vaXMtYXJndW1lbnRzIiksYT10KCJlczUtZXh0L29iamVjdC92YWxpZC1jYWxsYWJsZSIpLGk9dCgiZXM1LWV4dC9zdHJpbmcvaXMtc3RyaW5nIiksbz10KCIuL2dldCIpLHM9QXJyYXkuaXNBcnJheSxsPUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLGM9QXJyYXkucHJvdG90eXBlLnNvbWU7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsdSxoLGYscCxkLGcsdixtPWFyZ3VtZW50c1syXTtpZihzKHQpfHxuKHQpP3I9ImFycmF5IjppKHQpP3I9InN0cmluZyI6dD1vKHQpLGEoZSksaD1mdW5jdGlvbigpe2Y9ITB9LCJhcnJheSIhPT1yKWlmKCJzdHJpbmciIT09cilmb3IodT10Lm5leHQoKTshdS5kb25lOyl7aWYobC5jYWxsKGUsbSx1LnZhbHVlLGgpLGYpcmV0dXJuO3U9dC5uZXh0KCl9ZWxzZSBmb3IoZD10Lmxlbmd0aCxwPTA7cDxkJiYoZz10W3BdLHArMTxkJiYodj1nLmNoYXJDb2RlQXQoMCkpPj01NTI5NiYmdjw9NTYzMTkmJihnKz10WysrcF0pLGwuY2FsbChlLG0sZyxoKSwhZik7KytwKTtlbHNlIGMuY2FsbCh0LGZ1bmN0aW9uKHQpe3JldHVybiBsLmNhbGwoZSxtLHQsaCksZn0pfX0seyIuL2dldCI6MjE2LCJlczUtZXh0L2Z1bmN0aW9uL2lzLWFyZ3VtZW50cyI6MTgwLCJlczUtZXh0L29iamVjdC92YWxpZC1jYWxsYWJsZSI6MjA2LCJlczUtZXh0L3N0cmluZy9pcy1zdHJpbmciOjIxMn1dLDIxNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJlczUtZXh0L2Z1bmN0aW9uL2lzLWFyZ3VtZW50cyIpLGE9dCgiZXM1LWV4dC9zdHJpbmcvaXMtc3RyaW5nIiksaT10KCIuL2FycmF5Iiksbz10KCIuL3N0cmluZyIpLHM9dCgiLi92YWxpZC1pdGVyYWJsZSIpLGw9dCgiZXM2LXN5bWJvbCIpLml0ZXJhdG9yO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygcyh0KVtsXT90W2xdKCk6bih0KT9uZXcgaSh0KTphKHQpP25ldyBvKHQpOm5ldyBpKHQpfX0seyIuL2FycmF5IjoyMTQsIi4vc3RyaW5nIjoyMTksIi4vdmFsaWQtaXRlcmFibGUiOjIyMCwiZXM1LWV4dC9mdW5jdGlvbi9pcy1hcmd1bWVudHMiOjE4MCwiZXM1LWV4dC9zdHJpbmcvaXMtc3RyaW5nIjoyMTIsImVzNi1zeW1ib2wiOjIyMn1dLDIxNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixhPXQoImVzNS1leHQvYXJyYXkvIy9jbGVhciIpLGk9dCgiZXM1LWV4dC9vYmplY3QvYXNzaWduIiksbz10KCJlczUtZXh0L29iamVjdC92YWxpZC1jYWxsYWJsZSIpLHM9dCgiZXM1LWV4dC9vYmplY3QvdmFsaWQtdmFsdWUiKSxsPXQoImQiKSxjPXQoImQvYXV0by1iaW5kIiksdT10KCJlczYtc3ltYm9sIiksaD1PYmplY3QuZGVmaW5lUHJvcGVydHksZj1PYmplY3QuZGVmaW5lUHJvcGVydGllcztlLmV4cG9ydHM9bj1mdW5jdGlvbih0LGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIG4pKXRocm93IG5ldyBUeXBlRXJyb3IoIkNvbnN0cnVjdG9yIHJlcXVpcmVzICduZXcnIik7Zih0aGlzLHtfX2xpc3RfXzpsKCJ3IixzKHQpKSxfX2NvbnRleHRfXzpsKCJ3IixlKSxfX25leHRJbmRleF9fOmwoInciLDApfSksZSYmKG8oZS5vbiksZS5vbigiX2FkZCIsdGhpcy5fb25BZGQpLGUub24oIl9kZWxldGUiLHRoaXMuX29uRGVsZXRlKSxlLm9uKCJfY2xlYXIiLHRoaXMuX29uQ2xlYXIpKX0sZGVsZXRlIG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yLGYobi5wcm90b3R5cGUsaSh7X25leHQ6bChmdW5jdGlvbigpe3ZhciB0O2lmKHRoaXMuX19saXN0X18pcmV0dXJuIHRoaXMuX19yZWRvX18mJnZvaWQgMCE9PSh0PXRoaXMuX19yZWRvX18uc2hpZnQoKSk/dDp0aGlzLl9fbmV4dEluZGV4X188dGhpcy5fX2xpc3RfXy5sZW5ndGg/dGhpcy5fX25leHRJbmRleF9fKys6dm9pZCB0aGlzLl91bkJpbmQoKX0pLG5leHQ6bChmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jcmVhdGVSZXN1bHQodGhpcy5fbmV4dCgpKX0pLF9jcmVhdGVSZXN1bHQ6bChmdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwPT09dD97ZG9uZTohMCx2YWx1ZTp2b2lkIDB9Ontkb25lOiExLHZhbHVlOnRoaXMuX3Jlc29sdmUodCl9fSksX3Jlc29sdmU6bChmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2xpc3RfX1t0XX0pLF91bkJpbmQ6bChmdW5jdGlvbigpe3RoaXMuX19saXN0X189bnVsbCxkZWxldGUgdGhpcy5fX3JlZG9fXyx0aGlzLl9fY29udGV4dF9fJiYodGhpcy5fX2NvbnRleHRfXy5vZmYoIl9hZGQiLHRoaXMuX29uQWRkKSx0aGlzLl9fY29udGV4dF9fLm9mZigiX2RlbGV0ZSIsdGhpcy5fb25EZWxldGUpLHRoaXMuX19jb250ZXh0X18ub2ZmKCJfY2xlYXIiLHRoaXMuX29uQ2xlYXIpLHRoaXMuX19jb250ZXh0X189bnVsbCl9KSx0b1N0cmluZzpsKGZ1bmN0aW9uKCl7cmV0dXJuIltvYmplY3QgIisodGhpc1t1LnRvU3RyaW5nVGFnXXx8Ik9iamVjdCIpKyJdIn0pfSxjKHtfb25BZGQ6bChmdW5jdGlvbih0KXt0Pj10aGlzLl9fbmV4dEluZGV4X198fCgrK3RoaXMuX19uZXh0SW5kZXhfXyx0aGlzLl9fcmVkb19fPyh0aGlzLl9fcmVkb19fLmZvckVhY2goZnVuY3Rpb24oZSxyKXtlPj10JiYodGhpcy5fX3JlZG9fX1tyXT0rK2UpfSx0aGlzKSx0aGlzLl9fcmVkb19fLnB1c2godCkpOmgodGhpcywiX19yZWRvX18iLGwoImMiLFt0XSkpKX0pLF9vbkRlbGV0ZTpsKGZ1bmN0aW9uKHQpe3ZhciBlO3Q+PXRoaXMuX19uZXh0SW5kZXhfX3x8KC0tdGhpcy5fX25leHRJbmRleF9fLHRoaXMuX19yZWRvX18mJigtMSE9PShlPXRoaXMuX19yZWRvX18uaW5kZXhPZih0KSkmJnRoaXMuX19yZWRvX18uc3BsaWNlKGUsMSksdGhpcy5fX3JlZG9fXy5mb3JFYWNoKGZ1bmN0aW9uKGUscil7ZT50JiYodGhpcy5fX3JlZG9fX1tyXT0tLWUpfSx0aGlzKSkpfSksX29uQ2xlYXI6bChmdW5jdGlvbigpe3RoaXMuX19yZWRvX18mJmEuY2FsbCh0aGlzLl9fcmVkb19fKSx0aGlzLl9fbmV4dEluZGV4X189MH0pfSkpKSxoKG4ucHJvdG90eXBlLHUuaXRlcmF0b3IsbChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpfSx7ZDoxNTMsImQvYXV0by1iaW5kIjoxNTIsImVzNS1leHQvYXJyYXkvIy9jbGVhciI6MTc2LCJlczUtZXh0L29iamVjdC9hc3NpZ24iOjE4OSwiZXM1LWV4dC9vYmplY3QvdmFsaWQtY2FsbGFibGUiOjIwNiwiZXM1LWV4dC9vYmplY3QvdmFsaWQtdmFsdWUiOjIwOCwiZXM2LXN5bWJvbCI6MjIyfV0sMjE4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImVzNS1leHQvZnVuY3Rpb24vaXMtYXJndW1lbnRzIiksYT10KCJlczUtZXh0L29iamVjdC9pcy12YWx1ZSIpLGk9dCgiZXM1LWV4dC9zdHJpbmcvaXMtc3RyaW5nIiksbz10KCJlczYtc3ltYm9sIikuaXRlcmF0b3Iscz1BcnJheS5pc0FycmF5O2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4hIWEodCkmJighIXModCl8fCghIWkodCl8fCghIW4odCl8fCJmdW5jdGlvbiI9PXR5cGVvZiB0W29dKSkpfX0seyJlczUtZXh0L2Z1bmN0aW9uL2lzLWFyZ3VtZW50cyI6MTgwLCJlczUtZXh0L29iamVjdC9pcy12YWx1ZSI6MTk3LCJlczUtZXh0L3N0cmluZy9pcy1zdHJpbmciOjIxMiwiZXM2LXN5bWJvbCI6MjIyfV0sMjE5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuLGE9dCgiZXM1LWV4dC9vYmplY3Qvc2V0LXByb3RvdHlwZS1vZiIpLGk9dCgiZCIpLG89dCgiZXM2LXN5bWJvbCIpLHM9dCgiLi8iKSxsPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTtuPWUuZXhwb3J0cz1mdW5jdGlvbih0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBuKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDb25zdHJ1Y3RvciByZXF1aXJlcyAnbmV3JyIpO3Q9U3RyaW5nKHQpLHMuY2FsbCh0aGlzLHQpLGwodGhpcywiX19sZW5ndGhfXyIsaSgiIix0Lmxlbmd0aCkpfSxhJiZhKG4scyksZGVsZXRlIG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yLG4ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUocy5wcm90b3R5cGUse19uZXh0OmkoZnVuY3Rpb24oKXtpZih0aGlzLl9fbGlzdF9fKXJldHVybiB0aGlzLl9fbmV4dEluZGV4X188dGhpcy5fX2xlbmd0aF9fP3RoaXMuX19uZXh0SW5kZXhfXysrOnZvaWQgdGhpcy5fdW5CaW5kKCl9KSxfcmVzb2x2ZTppKGZ1bmN0aW9uKHQpe3ZhciBlLHI9dGhpcy5fX2xpc3RfX1t0XTtyZXR1cm4gdGhpcy5fX25leHRJbmRleF9fPT09dGhpcy5fX2xlbmd0aF9fP3I6KGU9ci5jaGFyQ29kZUF0KDApKT49NTUyOTYmJmU8PTU2MzE5P3IrdGhpcy5fX2xpc3RfX1t0aGlzLl9fbmV4dEluZGV4X18rK106cn0pfSksbChuLnByb3RvdHlwZSxvLnRvU3RyaW5nVGFnLGkoImMiLCJTdHJpbmcgSXRlcmF0b3IiKSl9LHsiLi8iOjIxNyxkOjE1MywiZXM1LWV4dC9vYmplY3Qvc2V0LXByb3RvdHlwZS1vZiI6MjAzLCJlczYtc3ltYm9sIjoyMjJ9XSwyMjA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9pcy1pdGVyYWJsZSIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZighbih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKHQrIiBpcyBub3QgaXRlcmFibGUiKTtyZXR1cm4gdH19LHsiLi9pcy1pdGVyYWJsZSI6MjE4fV0sMjIxOltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKG4sYSl7IWZ1bmN0aW9uKHQsbil7Im9iamVjdCI9PXR5cGVvZiByJiYidW5kZWZpbmVkIiE9dHlwZW9mIGU/ZS5leHBvcnRzPW4oKTp0LkVTNlByb21pc2U9bigpfSh0aGlzLGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUodCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHR9dmFyIHI9QXJyYXkuaXNBcnJheT9BcnJheS5pc0FycmF5OmZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9LGk9MCxvPXZvaWQgMCxzPXZvaWQgMCxsPWZ1bmN0aW9uKHQsZSl7Z1tpXT10LGdbaSsxXT1lLDI9PT0oaSs9MikmJihzP3Modik6XygpKX07dmFyIGM9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OnZvaWQgMCx1PWN8fHt9LGg9dS5NdXRhdGlvbk9ic2VydmVyfHx1LldlYktpdE11dGF0aW9uT2JzZXJ2ZXIsZj0idW5kZWZpbmVkIj09dHlwZW9mIHNlbGYmJiJ1bmRlZmluZWQiIT10eXBlb2YgbiYmIltvYmplY3QgcHJvY2Vzc10iPT09e30udG9TdHJpbmcuY2FsbChuKSxwPSJ1bmRlZmluZWQiIT10eXBlb2YgVWludDhDbGFtcGVkQXJyYXkmJiJ1bmRlZmluZWQiIT10eXBlb2YgaW1wb3J0U2NyaXB0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBNZXNzYWdlQ2hhbm5lbDtmdW5jdGlvbiBkKCl7dmFyIHQ9c2V0VGltZW91dDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdCh2LDEpfX12YXIgZz1uZXcgQXJyYXkoMWUzKTtmdW5jdGlvbiB2KCl7Zm9yKHZhciB0PTA7dDxpO3QrPTIpeygwLGdbdF0pKGdbdCsxXSksZ1t0XT12b2lkIDAsZ1t0KzFdPXZvaWQgMH1pPTB9dmFyIG0seSx4LGIsXz12b2lkIDA7ZnVuY3Rpb24gdyh0LGUpe3ZhciByPWFyZ3VtZW50cyxuPXRoaXMsYT1uZXcgdGhpcy5jb25zdHJ1Y3RvcihNKTt2b2lkIDA9PT1hW1RdJiZVKGEpO3ZhciBpLG89bi5fc3RhdGU7cmV0dXJuIG8/KGk9cltvLTFdLGwoZnVuY3Rpb24oKXtyZXR1cm4gaihvLGEsaSxuLl9yZXN1bHQpfSkpOlIobixhLHQsZSksYX1mdW5jdGlvbiBrKHQpe2lmKHQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3Rvcj09PXRoaXMpcmV0dXJuIHQ7dmFyIGU9bmV3IHRoaXMoTSk7cmV0dXJuIE8oZSx0KSxlfWY/Xz1mdW5jdGlvbigpe3JldHVybiBuLm5leHRUaWNrKHYpfTpoPyh5PTAseD1uZXcgaCh2KSxiPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKSx4Lm9ic2VydmUoYix7Y2hhcmFjdGVyRGF0YTohMH0pLF89ZnVuY3Rpb24oKXtiLmRhdGE9eT0rK3klMn0pOnA/KChtPW5ldyBNZXNzYWdlQ2hhbm5lbCkucG9ydDEub25tZXNzYWdlPXYsXz1mdW5jdGlvbigpe3JldHVybiBtLnBvcnQyLnBvc3RNZXNzYWdlKDApfSk6Xz12b2lkIDA9PT1jJiYiZnVuY3Rpb24iPT10eXBlb2YgdD9mdW5jdGlvbigpe3RyeXt2YXIgZT10KCJ2ZXJ0eCIpO3JldHVybiBvPWUucnVuT25Mb29wfHxlLnJ1bk9uQ29udGV4dCxmdW5jdGlvbigpe28odil9fWNhdGNoKHQpe3JldHVybiBkKCl9fSgpOmQoKTt2YXIgVD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMTYpO2Z1bmN0aW9uIE0oKXt9dmFyIEE9dm9pZCAwLFM9MSxFPTIsTD1uZXcgQjtmdW5jdGlvbiBDKHQpe3RyeXtyZXR1cm4gdC50aGVufWNhdGNoKHQpe3JldHVybiBMLmVycm9yPXQsTH19ZnVuY3Rpb24gUCh0LHIsbil7ci5jb25zdHJ1Y3Rvcj09PXQuY29uc3RydWN0b3ImJm49PT13JiZyLmNvbnN0cnVjdG9yLnJlc29sdmU9PT1rP2Z1bmN0aW9uKHQsZSl7ZS5fc3RhdGU9PT1TP0kodCxlLl9yZXN1bHQpOmUuX3N0YXRlPT09RT9EKHQsZS5fcmVzdWx0KTpSKGUsdm9pZCAwLGZ1bmN0aW9uKGUpe3JldHVybiBPKHQsZSl9LGZ1bmN0aW9uKGUpe3JldHVybiBEKHQsZSl9KX0odCxyKTpuPT09TD9EKHQsTC5lcnJvcik6dm9pZCAwPT09bj9JKHQscik6ZShuKT9mdW5jdGlvbih0LGUscil7bChmdW5jdGlvbih0KXt2YXIgbj0hMSxhPWZ1bmN0aW9uKHQsZSxyLG4pe3RyeXt0LmNhbGwoZSxyLG4pfWNhdGNoKHQpe3JldHVybiB0fX0ocixlLGZ1bmN0aW9uKHIpe258fChuPSEwLGUhPT1yP08odCxyKTpJKHQscikpfSxmdW5jdGlvbihlKXtufHwobj0hMCxEKHQsZSkpfSx0Ll9sYWJlbCk7IW4mJmEmJihuPSEwLEQodCxhKSl9LHQpfSh0LHIsbik6SSh0LHIpfWZ1bmN0aW9uIE8odCxlKXt2YXIgcjt0PT09ZT9EKHQsbmV3IFR5cGVFcnJvcigiWW91IGNhbm5vdCByZXNvbHZlIGEgcHJvbWlzZSB3aXRoIGl0c2VsZiIpKToiZnVuY3Rpb24iPT10eXBlb2Yocj1lKXx8Im9iamVjdCI9PXR5cGVvZiByJiZudWxsIT09cj9QKHQsZSxDKGUpKTpJKHQsZSl9ZnVuY3Rpb24geih0KXt0Ll9vbmVycm9yJiZ0Ll9vbmVycm9yKHQuX3Jlc3VsdCksRih0KX1mdW5jdGlvbiBJKHQsZSl7dC5fc3RhdGU9PT1BJiYodC5fcmVzdWx0PWUsdC5fc3RhdGU9UywwIT09dC5fc3Vic2NyaWJlcnMubGVuZ3RoJiZsKEYsdCkpfWZ1bmN0aW9uIEQodCxlKXt0Ll9zdGF0ZT09PUEmJih0Ll9zdGF0ZT1FLHQuX3Jlc3VsdD1lLGwoeix0KSl9ZnVuY3Rpb24gUih0LGUscixuKXt2YXIgYT10Ll9zdWJzY3JpYmVycyxpPWEubGVuZ3RoO3QuX29uZXJyb3I9bnVsbCxhW2ldPWUsYVtpK1NdPXIsYVtpK0VdPW4sMD09PWkmJnQuX3N0YXRlJiZsKEYsdCl9ZnVuY3Rpb24gRih0KXt2YXIgZT10Ll9zdWJzY3JpYmVycyxyPXQuX3N0YXRlO2lmKDAhPT1lLmxlbmd0aCl7Zm9yKHZhciBuPXZvaWQgMCxhPXZvaWQgMCxpPXQuX3Jlc3VsdCxvPTA7bzxlLmxlbmd0aDtvKz0zKW49ZVtvXSxhPWVbbytyXSxuP2oocixuLGEsaSk6YShpKTt0Ll9zdWJzY3JpYmVycy5sZW5ndGg9MH19ZnVuY3Rpb24gQigpe3RoaXMuZXJyb3I9bnVsbH12YXIgTj1uZXcgQjtmdW5jdGlvbiBqKHQscixuLGEpe3ZhciBpPWUobiksbz12b2lkIDAscz12b2lkIDAsbD12b2lkIDAsYz12b2lkIDA7aWYoaSl7aWYoKG89ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHQoZSl9Y2F0Y2godCl7cmV0dXJuIE4uZXJyb3I9dCxOfX0obixhKSk9PT1OPyhjPSEwLHM9by5lcnJvcixvPW51bGwpOmw9ITAscj09PW8pcmV0dXJuIHZvaWQgRChyLG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZXMgY2FsbGJhY2sgY2Fubm90IHJldHVybiB0aGF0IHNhbWUgcHJvbWlzZS4iKSl9ZWxzZSBvPWEsbD0hMDtyLl9zdGF0ZSE9PUF8fChpJiZsP08ocixvKTpjP0QocixzKTp0PT09Uz9JKHIsbyk6dD09PUUmJkQocixvKSl9dmFyIFY9MDtmdW5jdGlvbiBVKHQpe3RbVF09VisrLHQuX3N0YXRlPXZvaWQgMCx0Ll9yZXN1bHQ9dm9pZCAwLHQuX3N1YnNjcmliZXJzPVtdfWZ1bmN0aW9uIHEodCxlKXt0aGlzLl9pbnN0YW5jZUNvbnN0cnVjdG9yPXQsdGhpcy5wcm9taXNlPW5ldyB0KE0pLHRoaXMucHJvbWlzZVtUXXx8VSh0aGlzLnByb21pc2UpLHIoZSk/KHRoaXMuX2lucHV0PWUsdGhpcy5sZW5ndGg9ZS5sZW5ndGgsdGhpcy5fcmVtYWluaW5nPWUubGVuZ3RoLHRoaXMuX3Jlc3VsdD1uZXcgQXJyYXkodGhpcy5sZW5ndGgpLDA9PT10aGlzLmxlbmd0aD9JKHRoaXMucHJvbWlzZSx0aGlzLl9yZXN1bHQpOih0aGlzLmxlbmd0aD10aGlzLmxlbmd0aHx8MCx0aGlzLl9lbnVtZXJhdGUoKSwwPT09dGhpcy5fcmVtYWluaW5nJiZJKHRoaXMucHJvbWlzZSx0aGlzLl9yZXN1bHQpKSk6RCh0aGlzLnByb21pc2UsbmV3IEVycm9yKCJBcnJheSBNZXRob2RzIG11c3QgYmUgcHJvdmlkZWQgYW4gQXJyYXkiKSl9ZnVuY3Rpb24gSCh0KXt0aGlzW1RdPVYrKyx0aGlzLl9yZXN1bHQ9dGhpcy5fc3RhdGU9dm9pZCAwLHRoaXMuX3N1YnNjcmliZXJzPVtdLE0hPT10JiYoImZ1bmN0aW9uIiE9dHlwZW9mIHQmJmZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiWW91IG11c3QgcGFzcyBhIHJlc29sdmVyIGZ1bmN0aW9uIGFzIHRoZSBmaXJzdCBhcmd1bWVudCB0byB0aGUgcHJvbWlzZSBjb25zdHJ1Y3RvciIpfSgpLHRoaXMgaW5zdGFuY2VvZiBIP2Z1bmN0aW9uKHQsZSl7dHJ5e2UoZnVuY3Rpb24oZSl7Tyh0LGUpfSxmdW5jdGlvbihlKXtEKHQsZSl9KX1jYXRjaChlKXtEKHQsZSl9fSh0aGlzLHQpOmZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiRmFpbGVkIHRvIGNvbnN0cnVjdCAnUHJvbWlzZSc6IFBsZWFzZSB1c2UgdGhlICduZXcnIG9wZXJhdG9yLCB0aGlzIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uIil9KCkpfWZ1bmN0aW9uIEcoKXt2YXIgdD12b2lkIDA7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBhKXQ9YTtlbHNlIGlmKCJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZil0PXNlbGY7ZWxzZSB0cnl7dD1GdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKHQpe3Rocm93IG5ldyBFcnJvcigicG9seWZpbGwgZmFpbGVkIGJlY2F1c2UgZ2xvYmFsIG9iamVjdCBpcyB1bmF2YWlsYWJsZSBpbiB0aGlzIGVudmlyb25tZW50Iil9dmFyIGU9dC5Qcm9taXNlO2lmKGUpe3ZhciByPW51bGw7dHJ5e3I9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUucmVzb2x2ZSgpKX1jYXRjaCh0KXt9aWYoIltvYmplY3QgUHJvbWlzZV0iPT09ciYmIWUuY2FzdClyZXR1cm59dC5Qcm9taXNlPUh9cmV0dXJuIHEucHJvdG90eXBlLl9lbnVtZXJhdGU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5sZW5ndGgsZT10aGlzLl9pbnB1dCxyPTA7dGhpcy5fc3RhdGU9PT1BJiZyPHQ7cisrKXRoaXMuX2VhY2hFbnRyeShlW3JdLHIpfSxxLnByb3RvdHlwZS5fZWFjaEVudHJ5PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5faW5zdGFuY2VDb25zdHJ1Y3RvcixuPXIucmVzb2x2ZTtpZihuPT09ayl7dmFyIGE9Qyh0KTtpZihhPT09dyYmdC5fc3RhdGUhPT1BKXRoaXMuX3NldHRsZWRBdCh0Ll9zdGF0ZSxlLHQuX3Jlc3VsdCk7ZWxzZSBpZigiZnVuY3Rpb24iIT10eXBlb2YgYSl0aGlzLl9yZW1haW5pbmctLSx0aGlzLl9yZXN1bHRbZV09dDtlbHNlIGlmKHI9PT1IKXt2YXIgaT1uZXcgcihNKTtQKGksdCxhKSx0aGlzLl93aWxsU2V0dGxlQXQoaSxlKX1lbHNlIHRoaXMuX3dpbGxTZXR0bGVBdChuZXcgcihmdW5jdGlvbihlKXtyZXR1cm4gZSh0KX0pLGUpfWVsc2UgdGhpcy5fd2lsbFNldHRsZUF0KG4odCksZSl9LHEucHJvdG90eXBlLl9zZXR0bGVkQXQ9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMucHJvbWlzZTtuLl9zdGF0ZT09PUEmJih0aGlzLl9yZW1haW5pbmctLSx0PT09RT9EKG4scik6dGhpcy5fcmVzdWx0W2VdPXIpLDA9PT10aGlzLl9yZW1haW5pbmcmJkkobix0aGlzLl9yZXN1bHQpfSxxLnByb3RvdHlwZS5fd2lsbFNldHRsZUF0PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcztSKHQsdm9pZCAwLGZ1bmN0aW9uKHQpe3JldHVybiByLl9zZXR0bGVkQXQoUyxlLHQpfSxmdW5jdGlvbih0KXtyZXR1cm4gci5fc2V0dGxlZEF0KEUsZSx0KX0pfSxILmFsbD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHEodGhpcyx0KS5wcm9taXNlfSxILnJhY2U9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gcih0KT9uZXcgZShmdW5jdGlvbihyLG4pe2Zvcih2YXIgYT10Lmxlbmd0aCxpPTA7aTxhO2krKyllLnJlc29sdmUodFtpXSkudGhlbihyLG4pfSk6bmV3IGUoZnVuY3Rpb24odCxlKXtyZXR1cm4gZShuZXcgVHlwZUVycm9yKCJZb3UgbXVzdCBwYXNzIGFuIGFycmF5IHRvIHJhY2UuIikpfSl9LEgucmVzb2x2ZT1rLEgucmVqZWN0PWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyB0aGlzKE0pO3JldHVybiBEKGUsdCksZX0sSC5fc2V0U2NoZWR1bGVyPWZ1bmN0aW9uKHQpe3M9dH0sSC5fc2V0QXNhcD1mdW5jdGlvbih0KXtsPXR9LEguX2FzYXA9bCxILnByb3RvdHlwZT17Y29uc3RydWN0b3I6SCx0aGVuOncsY2F0Y2g6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfX0sRygpLEgucG9seWZpbGw9RyxILlByb21pc2U9SCxIfSl9KS5jYWxsKHRoaXMsdCgiX3Byb2Nlc3MiKSwidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0se19wcm9jZXNzOjQ4NH1dLDIyMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi9pcy1pbXBsZW1lbnRlZCIpKCk/U3ltYm9sOnQoIi4vcG9seWZpbGwiKX0seyIuL2lzLWltcGxlbWVudGVkIjoyMjMsIi4vcG9seWZpbGwiOjIyNX1dLDIyMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj17b2JqZWN0OiEwLHN5bWJvbDohMH07ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQ7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFN5bWJvbClyZXR1cm4hMTt0PVN5bWJvbCgidGVzdCBzeW1ib2wiKTt0cnl7U3RyaW5nKHQpfWNhdGNoKHQpe3JldHVybiExfXJldHVybiEhblt0eXBlb2YgU3ltYm9sLml0ZXJhdG9yXSYmKCEhblt0eXBlb2YgU3ltYm9sLnRvUHJpbWl0aXZlXSYmISFuW3R5cGVvZiBTeW1ib2wudG9TdHJpbmdUYWddKX19LHt9XSwyMjQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiEhdCYmKCJzeW1ib2wiPT10eXBlb2YgdHx8ISF0LmNvbnN0cnVjdG9yJiYoIlN5bWJvbCI9PT10LmNvbnN0cnVjdG9yLm5hbWUmJiJTeW1ib2wiPT09dFt0LmNvbnN0cnVjdG9yLnRvU3RyaW5nVGFnXSkpfX0se31dLDIyNTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixhLGksbyxzPXQoImQiKSxsPXQoIi4vdmFsaWRhdGUtc3ltYm9sIiksYz1PYmplY3QuY3JlYXRlLHU9T2JqZWN0LmRlZmluZVByb3BlcnRpZXMsaD1PYmplY3QuZGVmaW5lUHJvcGVydHksZj1PYmplY3QucHJvdG90eXBlLHA9YyhudWxsKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sKXtuPVN5bWJvbDt0cnl7U3RyaW5nKG4oKSksbz0hMH1jYXRjaCh0KXt9fXZhciBkLGc9KGQ9YyhudWxsKSxmdW5jdGlvbih0KXtmb3IodmFyIGUscixuPTA7ZFt0KyhufHwiIildOykrK247cmV0dXJuIGRbdCs9bnx8IiJdPSEwLGgoZixlPSJAQCIrdCxzLmdzKG51bGwsZnVuY3Rpb24odCl7cnx8KHI9ITAsaCh0aGlzLGUscyh0KSkscj0hMSl9KSksZX0pO2k9ZnVuY3Rpb24odCl7aWYodGhpcyBpbnN0YW5jZW9mIGkpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sIGlzIG5vdCBhIGNvbnN0cnVjdG9yIik7cmV0dXJuIGEodCl9LGUuZXhwb3J0cz1hPWZ1bmN0aW9uIHQoZSl7dmFyIHI7aWYodGhpcyBpbnN0YW5jZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sIGlzIG5vdCBhIGNvbnN0cnVjdG9yIik7cmV0dXJuIG8/bihlKToocj1jKGkucHJvdG90eXBlKSxlPXZvaWQgMD09PWU/IiI6U3RyaW5nKGUpLHUocix7X19kZXNjcmlwdGlvbl9fOnMoIiIsZSksX19uYW1lX186cygiIixnKGUpKX0pKX0sdShhLHtmb3I6cyhmdW5jdGlvbih0KXtyZXR1cm4gcFt0XT9wW3RdOnBbdF09YShTdHJpbmcodCkpfSksa2V5Rm9yOnMoZnVuY3Rpb24odCl7dmFyIGU7Zm9yKGUgaW4gbCh0KSxwKWlmKHBbZV09PT10KXJldHVybiBlfSksaGFzSW5zdGFuY2U6cygiIixuJiZuLmhhc0luc3RhbmNlfHxhKCJoYXNJbnN0YW5jZSIpKSxpc0NvbmNhdFNwcmVhZGFibGU6cygiIixuJiZuLmlzQ29uY2F0U3ByZWFkYWJsZXx8YSgiaXNDb25jYXRTcHJlYWRhYmxlIikpLGl0ZXJhdG9yOnMoIiIsbiYmbi5pdGVyYXRvcnx8YSgiaXRlcmF0b3IiKSksbWF0Y2g6cygiIixuJiZuLm1hdGNofHxhKCJtYXRjaCIpKSxyZXBsYWNlOnMoIiIsbiYmbi5yZXBsYWNlfHxhKCJyZXBsYWNlIikpLHNlYXJjaDpzKCIiLG4mJm4uc2VhcmNofHxhKCJzZWFyY2giKSksc3BlY2llczpzKCIiLG4mJm4uc3BlY2llc3x8YSgic3BlY2llcyIpKSxzcGxpdDpzKCIiLG4mJm4uc3BsaXR8fGEoInNwbGl0IikpLHRvUHJpbWl0aXZlOnMoIiIsbiYmbi50b1ByaW1pdGl2ZXx8YSgidG9QcmltaXRpdmUiKSksdG9TdHJpbmdUYWc6cygiIixuJiZuLnRvU3RyaW5nVGFnfHxhKCJ0b1N0cmluZ1RhZyIpKSx1bnNjb3BhYmxlczpzKCIiLG4mJm4udW5zY29wYWJsZXN8fGEoInVuc2NvcGFibGVzIikpfSksdShpLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6cyhhKSx0b1N0cmluZzpzKCIiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX19uYW1lX199KX0pLHUoYS5wcm90b3R5cGUse3RvU3RyaW5nOnMoZnVuY3Rpb24oKXtyZXR1cm4iU3ltYm9sICgiK2wodGhpcykuX19kZXNjcmlwdGlvbl9fKyIpIn0pLHZhbHVlT2Y6cyhmdW5jdGlvbigpe3JldHVybiBsKHRoaXMpfSl9KSxoKGEucHJvdG90eXBlLGEudG9QcmltaXRpdmUscygiIixmdW5jdGlvbigpe3ZhciB0PWwodGhpcyk7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0P3Q6dC50b1N0cmluZygpfSkpLGgoYS5wcm90b3R5cGUsYS50b1N0cmluZ1RhZyxzKCJjIiwiU3ltYm9sIikpLGgoaS5wcm90b3R5cGUsYS50b1N0cmluZ1RhZyxzKCJjIixhLnByb3RvdHlwZVthLnRvU3RyaW5nVGFnXSkpLGgoaS5wcm90b3R5cGUsYS50b1ByaW1pdGl2ZSxzKCJjIixhLnByb3RvdHlwZVthLnRvUHJpbWl0aXZlXSkpfSx7Ii4vdmFsaWRhdGUtc3ltYm9sIjoyMjYsZDoxNTN9XSwyMjY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9pcy1zeW1ib2wiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoIW4odCkpdGhyb3cgbmV3IFR5cGVFcnJvcih0KyIgaXMgbm90IGEgc3ltYm9sIik7cmV0dXJuIHR9fSx7Ii4vaXMtc3ltYm9sIjoyMjR9XSwyMjc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1lfHwwLGE9cnx8MTtyZXR1cm5bW3RbMTJdK3RbMF0sdFsxM10rdFsxXSx0WzE0XSt0WzJdLHRbMTVdK3RbM11dLFt0WzEyXS10WzBdLHRbMTNdLXRbMV0sdFsxNF0tdFsyXSx0WzE1XS10WzNdXSxbdFsxMl0rdFs0XSx0WzEzXSt0WzVdLHRbMTRdK3RbNl0sdFsxNV0rdFs3XV0sW3RbMTJdLXRbNF0sdFsxM10tdFs1XSx0WzE0XS10WzZdLHRbMTVdLXRbN11dLFtuKnRbMTJdK3RbOF0sbip0WzEzXSt0WzldLG4qdFsxNF0rdFsxMF0sbip0WzE1XSt0WzExXV0sW2EqdFsxMl0tdFs4XSxhKnRbMTNdLXRbOV0sYSp0WzE0XS10WzEwXSxhKnRbMTVdLXRbMTFdXV19fSx7fV0sMjI4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImlzLXN0cmluZy1ibGFuayIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10eXBlb2YgdDtpZigic3RyaW5nIj09PWUpe3ZhciByPXQ7aWYoMD09PSh0PSt0KSYmbihyKSlyZXR1cm4hMX1lbHNlIGlmKCJudW1iZXIiIT09ZSlyZXR1cm4hMTtyZXR1cm4gdC10PDF9fSx7ImlzLXN0cmluZy1ibGFuayI6NDI1fV0sMjI5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7c3dpdGNoKGFyZ3VtZW50cy5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4gbmV3IG8oWzBdLFswXSwwKTtjYXNlIDE6aWYoIm51bWJlciI9PXR5cGVvZiB0KXt2YXIgbj1sKHQpO3JldHVybiBuZXcgbyhuLG4sMCl9cmV0dXJuIG5ldyBvKHQsbCh0Lmxlbmd0aCksMCk7Y2FzZSAyOmlmKCJudW1iZXIiPT10eXBlb2YgZSl7dmFyIG49bCh0Lmxlbmd0aCk7cmV0dXJuIG5ldyBvKHQsbiwrZSl9cj0wO2Nhc2UgMzppZih0Lmxlbmd0aCE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigic3RhdGUgYW5kIHZlbG9jaXR5IGxlbmd0aHMgbXVzdCBtYXRjaCIpO3JldHVybiBuZXcgbyh0LGUscil9fTt2YXIgbj10KCJjdWJpYy1oZXJtaXRlIiksYT10KCJiaW5hcnktc2VhcmNoLWJvdW5kcyIpO2Z1bmN0aW9uIGkodCxlLHIpe3JldHVybiBNYXRoLm1pbihlLE1hdGgubWF4KHQscikpfWZ1bmN0aW9uIG8odCxlLHIpe3RoaXMuZGltZW5zaW9uPXQubGVuZ3RoLHRoaXMuYm91bmRzPVtuZXcgQXJyYXkodGhpcy5kaW1lbnNpb24pLG5ldyBBcnJheSh0aGlzLmRpbWVuc2lvbildO2Zvcih2YXIgbj0wO248dGhpcy5kaW1lbnNpb247KytuKXRoaXMuYm91bmRzWzBdW25dPS0xLzAsdGhpcy5ib3VuZHNbMV1bbl09MS8wO3RoaXMuX3N0YXRlPXQuc2xpY2UoKS5yZXZlcnNlKCksdGhpcy5fdmVsb2NpdHk9ZS5zbGljZSgpLnJldmVyc2UoKSx0aGlzLl90aW1lPVtyXSx0aGlzLl9zY3JhdGNoPVt0LnNsaWNlKCksdC5zbGljZSgpLHQuc2xpY2UoKSx0LnNsaWNlKCksdC5zbGljZSgpXX12YXIgcz1vLnByb3RvdHlwZTtmdW5jdGlvbiBsKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodCkscj0wO3I8dDsrK3IpZVtyXT0wO3JldHVybiBlfXMuZmx1c2g9ZnVuY3Rpb24odCl7dmFyIGU9YS5ndCh0aGlzLl90aW1lLHQpLTE7ZTw9MHx8KHRoaXMuX3RpbWUuc3BsaWNlKDAsZSksdGhpcy5fc3RhdGUuc3BsaWNlKDAsZSp0aGlzLmRpbWVuc2lvbiksdGhpcy5fdmVsb2NpdHkuc3BsaWNlKDAsZSp0aGlzLmRpbWVuc2lvbikpfSxzLmN1cnZlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3RpbWUscj1lLmxlbmd0aCxvPWEubGUoZSx0KSxzPXRoaXMuX3NjcmF0Y2hbMF0sbD10aGlzLl9zdGF0ZSxjPXRoaXMuX3ZlbG9jaXR5LHU9dGhpcy5kaW1lbnNpb24saD10aGlzLmJvdW5kcztpZihvPDApZm9yKHZhciBmPXUtMSxwPTA7cDx1OysrcCwtLWYpc1twXT1sW2ZdO2Vsc2UgaWYobz49ci0xKXtmPWwubGVuZ3RoLTE7dmFyIGQ9dC1lW3ItMV07Zm9yKHA9MDtwPHU7KytwLC0tZilzW3BdPWxbZl0rZCpjW2ZdfWVsc2V7Zj11KihvKzEpLTE7dmFyIGc9ZVtvXSx2PWVbbysxXS1nfHwxLG09dGhpcy5fc2NyYXRjaFsxXSx5PXRoaXMuX3NjcmF0Y2hbMl0seD10aGlzLl9zY3JhdGNoWzNdLGI9dGhpcy5fc2NyYXRjaFs0XSxfPSEwO2ZvcihwPTA7cDx1OysrcCwtLWYpbVtwXT1sW2ZdLHhbcF09Y1tmXSp2LHlbcF09bFtmK3VdLGJbcF09Y1tmK3VdKnYsXz1fJiZtW3BdPT09eVtwXSYmeFtwXT09PWJbcF0mJjA9PT14W3BdO2lmKF8pZm9yKHA9MDtwPHU7KytwKXNbcF09bVtwXTtlbHNlIG4obSx4LHksYiwodC1nKS92LHMpfXZhciB3PWhbMF0saz1oWzFdO2ZvcihwPTA7cDx1OysrcClzW3BdPWkod1twXSxrW3BdLHNbcF0pO3JldHVybiBzfSxzLmRjdXJ2ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl90aW1lLHI9ZS5sZW5ndGgsaT1hLmxlKGUsdCksbz10aGlzLl9zY3JhdGNoWzBdLHM9dGhpcy5fc3RhdGUsbD10aGlzLl92ZWxvY2l0eSxjPXRoaXMuZGltZW5zaW9uO2lmKGk+PXItMSlmb3IodmFyIHU9cy5sZW5ndGgtMSxoPShlW3ItMV0sMCk7aDxjOysraCwtLXUpb1toXT1sW3VdO2Vsc2V7dT1jKihpKzEpLTE7dmFyIGY9ZVtpXSxwPWVbaSsxXS1mfHwxLGQ9dGhpcy5fc2NyYXRjaFsxXSxnPXRoaXMuX3NjcmF0Y2hbMl0sdj10aGlzLl9zY3JhdGNoWzNdLG09dGhpcy5fc2NyYXRjaFs0XSx5PSEwO2ZvcihoPTA7aDxjOysraCwtLXUpZFtoXT1zW3VdLHZbaF09bFt1XSpwLGdbaF09c1t1K2NdLG1baF09bFt1K2NdKnAseT15JiZkW2hdPT09Z1toXSYmdltoXT09PW1baF0mJjA9PT12W2hdO2lmKHkpZm9yKGg9MDtoPGM7KytoKW9baF09MDtlbHNle24uZGVyaXZhdGl2ZShkLHYsZyxtLCh0LWYpL3Asbyk7Zm9yKGg9MDtoPGM7KytoKW9baF0vPXB9fXJldHVybiBvfSxzLmxhc3RUPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fdGltZTtyZXR1cm4gdFt0Lmxlbmd0aC0xXX0scy5zdGFibGU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5fdmVsb2NpdHksZT10Lmxlbmd0aCxyPXRoaXMuZGltZW5zaW9uLTE7cj49MDstLXIpaWYodFstLWVdKXJldHVybiExO3JldHVybiEwfSxzLmp1bXA9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5sYXN0VCgpLHI9dGhpcy5kaW1lbnNpb247aWYoISh0PGV8fGFyZ3VtZW50cy5sZW5ndGghPT1yKzEpKXt2YXIgbj10aGlzLl9zdGF0ZSxhPXRoaXMuX3ZlbG9jaXR5LG89bi5sZW5ndGgtdGhpcy5kaW1lbnNpb24scz10aGlzLmJvdW5kcyxsPXNbMF0sYz1zWzFdO3RoaXMuX3RpbWUucHVzaChlLHQpO2Zvcih2YXIgdT0wO3U8MjsrK3UpZm9yKHZhciBoPTA7aDxyOysraCluLnB1c2gobltvKytdKSxhLnB1c2goMCk7dGhpcy5fdGltZS5wdXNoKHQpO2ZvcihoPXI7aD4wOy0taCluLnB1c2goaShsW2gtMV0sY1toLTFdLGFyZ3VtZW50c1toXSkpLGEucHVzaCgwKX19LHMucHVzaD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmxhc3RUKCkscj10aGlzLmRpbWVuc2lvbjtpZighKHQ8ZXx8YXJndW1lbnRzLmxlbmd0aCE9PXIrMSkpe3ZhciBuPXRoaXMuX3N0YXRlLGE9dGhpcy5fdmVsb2NpdHksbz1uLmxlbmd0aC10aGlzLmRpbWVuc2lvbixzPXQtZSxsPXRoaXMuYm91bmRzLGM9bFswXSx1PWxbMV0saD1zPjFlLTY/MS9zOjA7dGhpcy5fdGltZS5wdXNoKHQpO2Zvcih2YXIgZj1yO2Y+MDstLWYpe3ZhciBwPWkoY1tmLTFdLHVbZi0xXSxhcmd1bWVudHNbZl0pO24ucHVzaChwKSxhLnB1c2goKHAtbltvKytdKSpoKX19fSxzLnNldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmRpbWVuc2lvbjtpZighKHQ8dGhpcy5sYXN0VCgpfHxhcmd1bWVudHMubGVuZ3RoIT09ZSsxKSl7dmFyIHI9dGhpcy5fc3RhdGUsbj10aGlzLl92ZWxvY2l0eSxhPXRoaXMuYm91bmRzLG89YVswXSxzPWFbMV07dGhpcy5fdGltZS5wdXNoKHQpO2Zvcih2YXIgbD1lO2w+MDstLWwpci5wdXNoKGkob1tsLTFdLHNbbC0xXSxhcmd1bWVudHNbbF0pKSxuLnB1c2goMCl9fSxzLm1vdmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5sYXN0VCgpLHI9dGhpcy5kaW1lbnNpb247aWYoISh0PD1lfHxhcmd1bWVudHMubGVuZ3RoIT09cisxKSl7dmFyIG49dGhpcy5fc3RhdGUsYT10aGlzLl92ZWxvY2l0eSxvPW4ubGVuZ3RoLXRoaXMuZGltZW5zaW9uLHM9dGhpcy5ib3VuZHMsbD1zWzBdLGM9c1sxXSx1PXQtZSxoPXU+MWUtNj8xL3U6MDt0aGlzLl90aW1lLnB1c2godCk7Zm9yKHZhciBmPXI7Zj4wOy0tZil7dmFyIHA9YXJndW1lbnRzW2ZdO24ucHVzaChpKGxbZi0xXSxjW2YtMV0sbltvKytdK3ApKSxhLnB1c2gocCpoKX19fSxzLmlkbGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5sYXN0VCgpO2lmKCEodDxlKSl7dmFyIHI9dGhpcy5kaW1lbnNpb24sbj10aGlzLl9zdGF0ZSxhPXRoaXMuX3ZlbG9jaXR5LG89bi5sZW5ndGgtcixzPXRoaXMuYm91bmRzLGw9c1swXSxjPXNbMV0sdT10LWU7dGhpcy5fdGltZS5wdXNoKHQpO2Zvcih2YXIgaD1yLTE7aD49MDstLWgpbi5wdXNoKGkobFtoXSxjW2hdLG5bb10rdSphW29dKSksYS5wdXNoKDApLG8rPTF9fX0seyJiaW5hcnktc2VhcmNoLWJvdW5kcyI6OTMsImN1YmljLWhlcm1pdGUiOjE0N31dLDIzMDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImR0eXBlIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtpZighdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJtdXN0IHNwZWNpZnkgZGF0YSBhcyBmaXJzdCBwYXJhbWV0ZXIiKTtpZihyPTB8KyhyfHwwKSxBcnJheS5pc0FycmF5KHQpJiZ0WzBdJiYibnVtYmVyIj09dHlwZW9mIHRbMF1bMF0pe3ZhciBhLGksbyxzLGw9dFswXS5sZW5ndGgsYz10Lmxlbmd0aCpsO2UmJiJzdHJpbmciIT10eXBlb2YgZXx8KGU9bmV3KG4oZXx8ImZsb2F0MzIiKSkoYytyKSk7dmFyIHU9ZS5sZW5ndGgtcjtpZihjIT09dSl0aHJvdyBuZXcgRXJyb3IoInNvdXJjZSBsZW5ndGggIitjKyIgKCIrbCsieCIrdC5sZW5ndGgrIikgZG9lcyBub3QgbWF0Y2ggZGVzdGluYXRpb24gbGVuZ3RoICIrdSk7Zm9yKGE9MCxvPXI7YTx0Lmxlbmd0aDthKyspZm9yKGk9MDtpPGw7aSsrKWVbbysrXT1udWxsPT09dFthXVtpXT9OYU46dFthXVtpXX1lbHNlIGlmKGUmJiJzdHJpbmciIT10eXBlb2YgZSllLnNldCh0LHIpO2Vsc2V7dmFyIGg9bihlfHwiZmxvYXQzMiIpO2lmKEFycmF5LmlzQXJyYXkodCl8fCJhcnJheSI9PT1lKWZvcihlPW5ldyBoKHQubGVuZ3RoK3IpLGE9MCxvPXIscz1lLmxlbmd0aDtvPHM7bysrLGErKyllW29dPW51bGw9PT10W2FdP05hTjp0W2FdO2Vsc2UgMD09PXI/ZT1uZXcgaCh0KTooZT1uZXcgaCh0Lmxlbmd0aCtyKSkuc2V0KHQscil9cmV0dXJuIGV9fSx7ZHR5cGU6MTcxfV0sMjMxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImNzcy1mb250L3N0cmluZ2lmeSIpLGE9WzMyLDEyNl07ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPSh0PXR8fHt9KS5zaGFwZT90LnNoYXBlOnQuY2FudmFzP1t0LmNhbnZhcy53aWR0aCx0LmNhbnZhcy5oZWlnaHRdOls1MTIsNTEyXSxyPXQuY2FudmFzfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSxpPXQuZm9udCxvPSJudW1iZXIiPT10eXBlb2YgdC5zdGVwP1t0LnN0ZXAsdC5zdGVwXTp0LnN0ZXB8fFszMiwzMl0scz10LmNoYXJzfHxhO2kmJiJzdHJpbmciIT10eXBlb2YgaSYmKGk9bihpKSk7aWYoQXJyYXkuaXNBcnJheShzKSl7aWYoMj09PXMubGVuZ3RoJiYibnVtYmVyIj09dHlwZW9mIHNbMF0mJiJudW1iZXIiPT10eXBlb2Ygc1sxXSl7Zm9yKHZhciBsPVtdLGM9c1swXSx1PTA7Yzw9c1sxXTtjKyspbFt1KytdPVN0cmluZy5mcm9tQ2hhckNvZGUoYyk7cz1sfX1lbHNlIHM9U3RyaW5nKHMpLnNwbGl0KCIiKTtlPWUuc2xpY2UoKSxyLndpZHRoPWVbMF0sci5oZWlnaHQ9ZVsxXTt2YXIgaD1yLmdldENvbnRleHQoIjJkIik7aC5maWxsU3R5bGU9IiMwMDAiLGguZmlsbFJlY3QoMCwwLHIud2lkdGgsci5oZWlnaHQpLGguZm9udD1pLGgudGV4dEFsaWduPSJjZW50ZXIiLGgudGV4dEJhc2VsaW5lPSJtaWRkbGUiLGguZmlsbFN0eWxlPSIjZmZmIjtmb3IodmFyIGY9b1swXS8yLHA9b1sxXS8yLGM9MDtjPHMubGVuZ3RoO2MrKyloLmZpbGxUZXh0KHNbY10sZixwKSwoZis9b1swXSk+ZVswXS1vWzBdLzImJihmPW9bMF0vMixwKz1vWzFdKTtyZXR1cm4gcn19LHsiY3NzLWZvbnQvc3RyaW5naWZ5IjoxNDR9XSwyMzI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0LGUpe2V8fChlPXt9KSwoInN0cmluZyI9PXR5cGVvZiB0fHxBcnJheS5pc0FycmF5KHQpKSYmKGUuZmFtaWx5PXQpO3ZhciByPUFycmF5LmlzQXJyYXkoZS5mYW1pbHkpP2UuZmFtaWx5LmpvaW4oIiwgIik6ZS5mYW1pbHk7aWYoIXIpdGhyb3cgRXJyb3IoImBmYW1pbHlgIG11c3QgYmUgZGVmaW5lZCIpO3ZhciBzPWUuc2l6ZXx8ZS5mb250U2l6ZXx8ZS5lbXx8NDgsbD1lLndlaWdodHx8ZS5mb250V2VpZ2h0fHwiIixjPSh0PVtlLnN0eWxlfHxlLmZvbnRTdHlsZXx8IiIsbCxzXS5qb2luKCIgIikrInB4ICIrcixlLm9yaWdpbnx8InRvcCIpO2lmKG4uY2FjaGVbcl0mJnM8PW4uY2FjaGVbcl0uZW0pcmV0dXJuIGEobi5jYWNoZVtyXSxjKTt2YXIgdT1lLmNhbnZhc3x8bi5jYW52YXMsaD11LmdldENvbnRleHQoIjJkIiksZj17dXBwZXI6dm9pZCAwIT09ZS51cHBlcj9lLnVwcGVyOiJIIixsb3dlcjp2b2lkIDAhPT1lLmxvd2VyP2UubG93ZXI6IngiLGRlc2NlbnQ6dm9pZCAwIT09ZS5kZXNjZW50P2UuZGVzY2VudDoicCIsYXNjZW50OnZvaWQgMCE9PWUuYXNjZW50P2UuYXNjZW50OiJoIix0aXR0bGU6dm9pZCAwIT09ZS50aXR0bGU/ZS50aXR0bGU6ImkiLG92ZXJzaG9vdDp2b2lkIDAhPT1lLm92ZXJzaG9vdD9lLm92ZXJzaG9vdDoiTyJ9LHA9TWF0aC5jZWlsKDEuNSpzKTt1LmhlaWdodD1wLHUud2lkdGg9LjUqcCxoLmZvbnQ9dDt2YXIgZD17dG9wOjB9O2guY2xlYXJSZWN0KDAsMCxwLHApLGgudGV4dEJhc2VsaW5lPSJ0b3AiLGguZmlsbFN0eWxlPSJibGFjayIsaC5maWxsVGV4dCgiSCIsMCwwKTt2YXIgZz1pKGguZ2V0SW1hZ2VEYXRhKDAsMCxwLHApKTtoLmNsZWFyUmVjdCgwLDAscCxwKSxoLnRleHRCYXNlbGluZT0iYm90dG9tIixoLmZpbGxUZXh0KCJIIiwwLHApO3ZhciB2PWkoaC5nZXRJbWFnZURhdGEoMCwwLHAscCkpO2QubGluZUhlaWdodD1kLmJvdHRvbT1wLXYrZyxoLmNsZWFyUmVjdCgwLDAscCxwKSxoLnRleHRCYXNlbGluZT0iYWxwaGFiZXRpYyIsaC5maWxsVGV4dCgiSCIsMCxwKTt2YXIgbT1wLWkoaC5nZXRJbWFnZURhdGEoMCwwLHAscCkpLTErZztkLmJhc2VsaW5lPWQuYWxwaGFiZXRpYz1tLGguY2xlYXJSZWN0KDAsMCxwLHApLGgudGV4dEJhc2VsaW5lPSJtaWRkbGUiLGguZmlsbFRleHQoIkgiLDAsLjUqcCk7dmFyIHk9aShoLmdldEltYWdlRGF0YSgwLDAscCxwKSk7ZC5tZWRpYW49ZC5taWRkbGU9cC15LTErZy0uNSpwLGguY2xlYXJSZWN0KDAsMCxwLHApLGgudGV4dEJhc2VsaW5lPSJoYW5naW5nIixoLmZpbGxUZXh0KCJIIiwwLC41KnApO3ZhciB4PWkoaC5nZXRJbWFnZURhdGEoMCwwLHAscCkpO2QuaGFuZ2luZz1wLXgtMStnLS41KnAsaC5jbGVhclJlY3QoMCwwLHAscCksaC50ZXh0QmFzZWxpbmU9ImlkZW9ncmFwaGljIixoLmZpbGxUZXh0KCJIIiwwLHApO3ZhciBiPWkoaC5nZXRJbWFnZURhdGEoMCwwLHAscCkpO2lmKGQuaWRlb2dyYXBoaWM9cC1iLTErZyxmLnVwcGVyJiYoaC5jbGVhclJlY3QoMCwwLHAscCksaC50ZXh0QmFzZWxpbmU9InRvcCIsaC5maWxsVGV4dChmLnVwcGVyLDAsMCksZC51cHBlcj1pKGguZ2V0SW1hZ2VEYXRhKDAsMCxwLHApKSxkLmNhcEhlaWdodD1kLmJhc2VsaW5lLWQudXBwZXIpLGYubG93ZXImJihoLmNsZWFyUmVjdCgwLDAscCxwKSxoLnRleHRCYXNlbGluZT0idG9wIixoLmZpbGxUZXh0KGYubG93ZXIsMCwwKSxkLmxvd2VyPWkoaC5nZXRJbWFnZURhdGEoMCwwLHAscCkpLGQueEhlaWdodD1kLmJhc2VsaW5lLWQubG93ZXIpLGYudGl0dGxlJiYoaC5jbGVhclJlY3QoMCwwLHAscCksaC50ZXh0QmFzZWxpbmU9InRvcCIsaC5maWxsVGV4dChmLnRpdHRsZSwwLDApLGQudGl0dGxlPWkoaC5nZXRJbWFnZURhdGEoMCwwLHAscCkpKSxmLmFzY2VudCYmKGguY2xlYXJSZWN0KDAsMCxwLHApLGgudGV4dEJhc2VsaW5lPSJ0b3AiLGguZmlsbFRleHQoZi5hc2NlbnQsMCwwKSxkLmFzY2VudD1pKGguZ2V0SW1hZ2VEYXRhKDAsMCxwLHApKSksZi5kZXNjZW50JiYoaC5jbGVhclJlY3QoMCwwLHAscCksaC50ZXh0QmFzZWxpbmU9InRvcCIsaC5maWxsVGV4dChmLmRlc2NlbnQsMCwwKSxkLmRlc2NlbnQ9byhoLmdldEltYWdlRGF0YSgwLDAscCxwKSkpLGYub3ZlcnNob290KXtoLmNsZWFyUmVjdCgwLDAscCxwKSxoLnRleHRCYXNlbGluZT0idG9wIixoLmZpbGxUZXh0KGYub3ZlcnNob290LDAsMCk7dmFyIF89byhoLmdldEltYWdlRGF0YSgwLDAscCxwKSk7ZC5vdmVyc2hvb3Q9Xy1tfWZvcih2YXIgdyBpbiBkKWRbd10vPXM7cmV0dXJuIGQuZW09cyxuLmNhY2hlW3JdPWQsYShkLGMpfWZ1bmN0aW9uIGEodCxlKXt2YXIgcj17fTtmb3IodmFyIG4gaW4ic3RyaW5nIj09dHlwZW9mIGUmJihlPXRbZV0pLHQpImVtIiE9PW4mJihyW25dPXRbbl0tZSk7cmV0dXJuIHJ9ZnVuY3Rpb24gaSh0KXtmb3IodmFyIGU9dC5oZWlnaHQscj10LmRhdGEsbj0zO248ci5sZW5ndGg7bis9NClpZigwIT09cltuXSlyZXR1cm4gTWF0aC5mbG9vciguMjUqKG4tMykvZSl9ZnVuY3Rpb24gbyh0KXtmb3IodmFyIGU9dC5oZWlnaHQscj10LmRhdGEsbj1yLmxlbmd0aC0xO24+MDtuLT00KWlmKDAhPT1yW25dKXJldHVybiBNYXRoLmZsb29yKC4yNSoobi0zKS9lKX1lLmV4cG9ydHM9bixuLmNhbnZhcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSxuLmNhY2hlPXt9fSx7fV0sMjMzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGModHx8ZCxudWxsKX07dmFyIG49MCxhPTE7ZnVuY3Rpb24gaSh0LGUscixuLGEsaSl7dGhpcy5fY29sb3I9dCx0aGlzLmtleT1lLHRoaXMudmFsdWU9cix0aGlzLmxlZnQ9bix0aGlzLnJpZ2h0PWEsdGhpcy5fY291bnQ9aX1mdW5jdGlvbiBvKHQpe3JldHVybiBuZXcgaSh0Ll9jb2xvcix0LmtleSx0LnZhbHVlLHQubGVmdCx0LnJpZ2h0LHQuX2NvdW50KX1mdW5jdGlvbiBzKHQsZSl7cmV0dXJuIG5ldyBpKHQsZS5rZXksZS52YWx1ZSxlLmxlZnQsZS5yaWdodCxlLl9jb3VudCl9ZnVuY3Rpb24gbCh0KXt0Ll9jb3VudD0xKyh0LmxlZnQ/dC5sZWZ0Ll9jb3VudDowKSsodC5yaWdodD90LnJpZ2h0Ll9jb3VudDowKX1mdW5jdGlvbiBjKHQsZSl7dGhpcy5fY29tcGFyZT10LHRoaXMucm9vdD1lfXZhciB1PWMucHJvdG90eXBlO2Z1bmN0aW9uIGgodCxlKXt0aGlzLnRyZWU9dCx0aGlzLl9zdGFjaz1lfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LCJrZXlzIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIHRoaXMuZm9yRWFjaChmdW5jdGlvbihlLHIpe3QucHVzaChlKX0pLHR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsInZhbHVlcyIse2dldDpmdW5jdGlvbigpe3ZhciB0PVtdO3JldHVybiB0aGlzLmZvckVhY2goZnVuY3Rpb24oZSxyKXt0LnB1c2gocil9KSx0fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LCJsZW5ndGgiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yb290P3RoaXMucm9vdC5fY291bnQ6MH19KSx1Lmluc2VydD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10aGlzLl9jb21wYXJlLG89dGhpcy5yb290LHU9W10saD1bXTtvOyl7dmFyIGY9cih0LG8ua2V5KTt1LnB1c2gobyksaC5wdXNoKGYpLG89Zjw9MD9vLmxlZnQ6by5yaWdodH11LnB1c2gobmV3IGkobix0LGUsbnVsbCxudWxsLDEpKTtmb3IodmFyIHA9dS5sZW5ndGgtMjtwPj0wOy0tcCl7bz11W3BdO2hbcF08PTA/dVtwXT1uZXcgaShvLl9jb2xvcixvLmtleSxvLnZhbHVlLHVbcCsxXSxvLnJpZ2h0LG8uX2NvdW50KzEpOnVbcF09bmV3IGkoby5fY29sb3Isby5rZXksby52YWx1ZSxvLmxlZnQsdVtwKzFdLG8uX2NvdW50KzEpfWZvcihwPXUubGVuZ3RoLTE7cD4xOy0tcCl7dmFyIGQ9dVtwLTFdO289dVtwXTtpZihkLl9jb2xvcj09PWF8fG8uX2NvbG9yPT09YSlicmVhazt2YXIgZz11W3AtMl07aWYoZy5sZWZ0PT09ZClpZihkLmxlZnQ9PT1vKXtpZighKHY9Zy5yaWdodCl8fHYuX2NvbG9yIT09bil7aWYoZy5fY29sb3I9bixnLmxlZnQ9ZC5yaWdodCxkLl9jb2xvcj1hLGQucmlnaHQ9Zyx1W3AtMl09ZCx1W3AtMV09byxsKGcpLGwoZCkscD49MykobT11W3AtM10pLmxlZnQ9PT1nP20ubGVmdD1kOm0ucmlnaHQ9ZDticmVha31kLl9jb2xvcj1hLGcucmlnaHQ9cyhhLHYpLGcuX2NvbG9yPW4scC09MX1lbHNle2lmKCEodj1nLnJpZ2h0KXx8di5fY29sb3IhPT1uKXtpZihkLnJpZ2h0PW8ubGVmdCxnLl9jb2xvcj1uLGcubGVmdD1vLnJpZ2h0LG8uX2NvbG9yPWEsby5sZWZ0PWQsby5yaWdodD1nLHVbcC0yXT1vLHVbcC0xXT1kLGwoZyksbChkKSxsKG8pLHA+PTMpKG09dVtwLTNdKS5sZWZ0PT09Zz9tLmxlZnQ9bzptLnJpZ2h0PW87YnJlYWt9ZC5fY29sb3I9YSxnLnJpZ2h0PXMoYSx2KSxnLl9jb2xvcj1uLHAtPTF9ZWxzZSBpZihkLnJpZ2h0PT09byl7aWYoISh2PWcubGVmdCl8fHYuX2NvbG9yIT09bil7aWYoZy5fY29sb3I9bixnLnJpZ2h0PWQubGVmdCxkLl9jb2xvcj1hLGQubGVmdD1nLHVbcC0yXT1kLHVbcC0xXT1vLGwoZyksbChkKSxwPj0zKShtPXVbcC0zXSkucmlnaHQ9PT1nP20ucmlnaHQ9ZDptLmxlZnQ9ZDticmVha31kLl9jb2xvcj1hLGcubGVmdD1zKGEsdiksZy5fY29sb3I9bixwLT0xfWVsc2V7dmFyIHY7aWYoISh2PWcubGVmdCl8fHYuX2NvbG9yIT09bil7dmFyIG07aWYoZC5sZWZ0PW8ucmlnaHQsZy5fY29sb3I9bixnLnJpZ2h0PW8ubGVmdCxvLl9jb2xvcj1hLG8ucmlnaHQ9ZCxvLmxlZnQ9Zyx1W3AtMl09byx1W3AtMV09ZCxsKGcpLGwoZCksbChvKSxwPj0zKShtPXVbcC0zXSkucmlnaHQ9PT1nP20ucmlnaHQ9bzptLmxlZnQ9bzticmVha31kLl9jb2xvcj1hLGcubGVmdD1zKGEsdiksZy5fY29sb3I9bixwLT0xfX1yZXR1cm4gdVswXS5fY29sb3I9YSxuZXcgYyhyLHVbMF0pfSx1LmZvckVhY2g9ZnVuY3Rpb24odCxlLHIpe2lmKHRoaXMucm9vdClzd2l0Y2goYXJndW1lbnRzLmxlbmd0aCl7Y2FzZSAxOnJldHVybiBmdW5jdGlvbiB0KGUscil7dmFyIG47aWYoci5sZWZ0JiYobj10KGUsci5sZWZ0KSkpcmV0dXJuIG47cmV0dXJuKG49ZShyLmtleSxyLnZhbHVlKSl8fChyLnJpZ2h0P3QoZSxyLnJpZ2h0KTp2b2lkIDApfSh0LHRoaXMucm9vdCk7Y2FzZSAyOnJldHVybiBmdW5jdGlvbiB0KGUscixuLGEpe2lmKHIoZSxhLmtleSk8PTApe3ZhciBpO2lmKGEubGVmdCYmKGk9dChlLHIsbixhLmxlZnQpKSlyZXR1cm4gaTtpZihpPW4oYS5rZXksYS52YWx1ZSkpcmV0dXJuIGl9aWYoYS5yaWdodClyZXR1cm4gdChlLHIsbixhLnJpZ2h0KX0oZSx0aGlzLl9jb21wYXJlLHQsdGhpcy5yb290KTtjYXNlIDM6aWYodGhpcy5fY29tcGFyZShlLHIpPj0wKXJldHVybjtyZXR1cm4gZnVuY3Rpb24gdChlLHIsbixhLGkpe3ZhciBvLHM9bihlLGkua2V5KSxsPW4ocixpLmtleSk7aWYoczw9MCl7aWYoaS5sZWZ0JiYobz10KGUscixuLGEsaS5sZWZ0KSkpcmV0dXJuIG87aWYobD4wJiYobz1hKGkua2V5LGkudmFsdWUpKSlyZXR1cm4gb31pZihsPjAmJmkucmlnaHQpcmV0dXJuIHQoZSxyLG4sYSxpLnJpZ2h0KX0oZSxyLHRoaXMuX2NvbXBhcmUsdCx0aGlzLnJvb3QpfX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsImJlZ2luIix7Z2V0OmZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9dGhpcy5yb290O2U7KXQucHVzaChlKSxlPWUubGVmdDtyZXR1cm4gbmV3IGgodGhpcyx0KX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodSwiZW5kIix7Z2V0OmZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9dGhpcy5yb290O2U7KXQucHVzaChlKSxlPWUucmlnaHQ7cmV0dXJuIG5ldyBoKHRoaXMsdCl9fSksdS5hdD1mdW5jdGlvbih0KXtpZih0PDApcmV0dXJuIG5ldyBoKHRoaXMsW10pO2Zvcih2YXIgZT10aGlzLnJvb3Qscj1bXTs7KXtpZihyLnB1c2goZSksZS5sZWZ0KXtpZih0PGUubGVmdC5fY291bnQpe2U9ZS5sZWZ0O2NvbnRpbnVlfXQtPWUubGVmdC5fY291bnR9aWYoIXQpcmV0dXJuIG5ldyBoKHRoaXMscik7aWYodC09MSwhZS5yaWdodClicmVhaztpZih0Pj1lLnJpZ2h0Ll9jb3VudClicmVhaztlPWUucmlnaHR9cmV0dXJuIG5ldyBoKHRoaXMsW10pfSx1LmdlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLl9jb21wYXJlLHI9dGhpcy5yb290LG49W10sYT0wO3I7KXt2YXIgaT1lKHQsci5rZXkpO24ucHVzaChyKSxpPD0wJiYoYT1uLmxlbmd0aCkscj1pPD0wP3IubGVmdDpyLnJpZ2h0fXJldHVybiBuLmxlbmd0aD1hLG5ldyBoKHRoaXMsbil9LHUuZ3Q9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMuX2NvbXBhcmUscj10aGlzLnJvb3Qsbj1bXSxhPTA7cjspe3ZhciBpPWUodCxyLmtleSk7bi5wdXNoKHIpLGk8MCYmKGE9bi5sZW5ndGgpLHI9aTwwP3IubGVmdDpyLnJpZ2h0fXJldHVybiBuLmxlbmd0aD1hLG5ldyBoKHRoaXMsbil9LHUubHQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMuX2NvbXBhcmUscj10aGlzLnJvb3Qsbj1bXSxhPTA7cjspe3ZhciBpPWUodCxyLmtleSk7bi5wdXNoKHIpLGk+MCYmKGE9bi5sZW5ndGgpLHI9aTw9MD9yLmxlZnQ6ci5yaWdodH1yZXR1cm4gbi5sZW5ndGg9YSxuZXcgaCh0aGlzLG4pfSx1LmxlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLl9jb21wYXJlLHI9dGhpcy5yb290LG49W10sYT0wO3I7KXt2YXIgaT1lKHQsci5rZXkpO24ucHVzaChyKSxpPj0wJiYoYT1uLmxlbmd0aCkscj1pPDA/ci5sZWZ0OnIucmlnaHR9cmV0dXJuIG4ubGVuZ3RoPWEsbmV3IGgodGhpcyxuKX0sdS5maW5kPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLl9jb21wYXJlLHI9dGhpcy5yb290LG49W107cjspe3ZhciBhPWUodCxyLmtleSk7aWYobi5wdXNoKHIpLDA9PT1hKXJldHVybiBuZXcgaCh0aGlzLG4pO3I9YTw9MD9yLmxlZnQ6ci5yaWdodH1yZXR1cm4gbmV3IGgodGhpcyxbXSl9LHUucmVtb3ZlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZmluZCh0KTtyZXR1cm4gZT9lLnJlbW92ZSgpOnRoaXN9LHUuZ2V0PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLl9jb21wYXJlLHI9dGhpcy5yb290O3I7KXt2YXIgbj1lKHQsci5rZXkpO2lmKDA9PT1uKXJldHVybiByLnZhbHVlO3I9bjw9MD9yLmxlZnQ6ci5yaWdodH19O3ZhciBmPWgucHJvdG90eXBlO2Z1bmN0aW9uIHAodCxlKXt0LmtleT1lLmtleSx0LnZhbHVlPWUudmFsdWUsdC5sZWZ0PWUubGVmdCx0LnJpZ2h0PWUucmlnaHQsdC5fY29sb3I9ZS5fY29sb3IsdC5fY291bnQ9ZS5fY291bnR9ZnVuY3Rpb24gZCh0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6MH1PYmplY3QuZGVmaW5lUHJvcGVydHkoZiwidmFsaWQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RhY2subGVuZ3RoPjB9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGYsIm5vZGUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RhY2subGVuZ3RoPjA/dGhpcy5fc3RhY2tbdGhpcy5fc3RhY2subGVuZ3RoLTFdOm51bGx9LGVudW1lcmFibGU6ITB9KSxmLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBoKHRoaXMudHJlZSx0aGlzLl9zdGFjay5zbGljZSgpKX0sZi5yZW1vdmU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9zdGFjaztpZigwPT09dC5sZW5ndGgpcmV0dXJuIHRoaXMudHJlZTt2YXIgZT1uZXcgQXJyYXkodC5sZW5ndGgpLHI9dFt0Lmxlbmd0aC0xXTtlW2UubGVuZ3RoLTFdPW5ldyBpKHIuX2NvbG9yLHIua2V5LHIudmFsdWUsci5sZWZ0LHIucmlnaHQsci5fY291bnQpO2Zvcih2YXIgdT10Lmxlbmd0aC0yO3U+PTA7LS11KXsocj10W3VdKS5sZWZ0PT09dFt1KzFdP2VbdV09bmV3IGkoci5fY29sb3Isci5rZXksci52YWx1ZSxlW3UrMV0sci5yaWdodCxyLl9jb3VudCk6ZVt1XT1uZXcgaShyLl9jb2xvcixyLmtleSxyLnZhbHVlLHIubGVmdCxlW3UrMV0sci5fY291bnQpfWlmKChyPWVbZS5sZW5ndGgtMV0pLmxlZnQmJnIucmlnaHQpe3ZhciBoPWUubGVuZ3RoO2ZvcihyPXIubGVmdDtyLnJpZ2h0OyllLnB1c2gocikscj1yLnJpZ2h0O3ZhciBmPWVbaC0xXTtlLnB1c2gobmV3IGkoci5fY29sb3IsZi5rZXksZi52YWx1ZSxyLmxlZnQsci5yaWdodCxyLl9jb3VudCkpLGVbaC0xXS5rZXk9ci5rZXksZVtoLTFdLnZhbHVlPXIudmFsdWU7Zm9yKHU9ZS5sZW5ndGgtMjt1Pj1oOy0tdSlyPWVbdV0sZVt1XT1uZXcgaShyLl9jb2xvcixyLmtleSxyLnZhbHVlLHIubGVmdCxlW3UrMV0sci5fY291bnQpO2VbaC0xXS5sZWZ0PWVbaF19aWYoKHI9ZVtlLmxlbmd0aC0xXSkuX2NvbG9yPT09bil7dmFyIGQ9ZVtlLmxlbmd0aC0yXTtkLmxlZnQ9PT1yP2QubGVmdD1udWxsOmQucmlnaHQ9PT1yJiYoZC5yaWdodD1udWxsKSxlLnBvcCgpO2Zvcih1PTA7dTxlLmxlbmd0aDsrK3UpZVt1XS5fY291bnQtLTtyZXR1cm4gbmV3IGModGhpcy50cmVlLl9jb21wYXJlLGVbMF0pfWlmKHIubGVmdHx8ci5yaWdodCl7ci5sZWZ0P3AocixyLmxlZnQpOnIucmlnaHQmJnAocixyLnJpZ2h0KSxyLl9jb2xvcj1hO2Zvcih1PTA7dTxlLmxlbmd0aC0xOysrdSllW3VdLl9jb3VudC0tO3JldHVybiBuZXcgYyh0aGlzLnRyZWUuX2NvbXBhcmUsZVswXSl9aWYoMT09PWUubGVuZ3RoKXJldHVybiBuZXcgYyh0aGlzLnRyZWUuX2NvbXBhcmUsbnVsbCk7Zm9yKHU9MDt1PGUubGVuZ3RoOysrdSllW3VdLl9jb3VudC0tO3ZhciBnPWVbZS5sZW5ndGgtMl07cmV0dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxyLGksYyx1PXQubGVuZ3RoLTE7dT49MDstLXUpe2lmKGU9dFt1XSwwPT09dSlyZXR1cm4gdm9pZChlLl9jb2xvcj1hKTtpZigocj10W3UtMV0pLmxlZnQ9PT1lKXtpZigoaT1yLnJpZ2h0KS5yaWdodCYmaS5yaWdodC5fY29sb3I9PT1uKXJldHVybiBjPShpPXIucmlnaHQ9byhpKSkucmlnaHQ9byhpLnJpZ2h0KSxyLnJpZ2h0PWkubGVmdCxpLmxlZnQ9cixpLnJpZ2h0PWMsaS5fY29sb3I9ci5fY29sb3IsZS5fY29sb3I9YSxyLl9jb2xvcj1hLGMuX2NvbG9yPWEsbChyKSxsKGkpLHU+MSYmKChoPXRbdS0yXSkubGVmdD09PXI/aC5sZWZ0PWk6aC5yaWdodD1pKSx2b2lkKHRbdS0xXT1pKTtpZihpLmxlZnQmJmkubGVmdC5fY29sb3I9PT1uKXJldHVybiBjPShpPXIucmlnaHQ9byhpKSkubGVmdD1vKGkubGVmdCksci5yaWdodD1jLmxlZnQsaS5sZWZ0PWMucmlnaHQsYy5sZWZ0PXIsYy5yaWdodD1pLGMuX2NvbG9yPXIuX2NvbG9yLHIuX2NvbG9yPWEsaS5fY29sb3I9YSxlLl9jb2xvcj1hLGwociksbChpKSxsKGMpLHU+MSYmKChoPXRbdS0yXSkubGVmdD09PXI/aC5sZWZ0PWM6aC5yaWdodD1jKSx2b2lkKHRbdS0xXT1jKTtpZihpLl9jb2xvcj09PWEpe2lmKHIuX2NvbG9yPT09bilyZXR1cm4gci5fY29sb3I9YSx2b2lkKHIucmlnaHQ9cyhuLGkpKTtyLnJpZ2h0PXMobixpKTtjb250aW51ZX1pPW8oaSksci5yaWdodD1pLmxlZnQsaS5sZWZ0PXIsaS5fY29sb3I9ci5fY29sb3Isci5fY29sb3I9bixsKHIpLGwoaSksdT4xJiYoKGg9dFt1LTJdKS5sZWZ0PT09cj9oLmxlZnQ9aTpoLnJpZ2h0PWkpLHRbdS0xXT1pLHRbdV09cix1KzE8dC5sZW5ndGg/dFt1KzFdPWU6dC5wdXNoKGUpLHUrPTJ9ZWxzZXtpZigoaT1yLmxlZnQpLmxlZnQmJmkubGVmdC5fY29sb3I9PT1uKXJldHVybiBjPShpPXIubGVmdD1vKGkpKS5sZWZ0PW8oaS5sZWZ0KSxyLmxlZnQ9aS5yaWdodCxpLnJpZ2h0PXIsaS5sZWZ0PWMsaS5fY29sb3I9ci5fY29sb3IsZS5fY29sb3I9YSxyLl9jb2xvcj1hLGMuX2NvbG9yPWEsbChyKSxsKGkpLHU+MSYmKChoPXRbdS0yXSkucmlnaHQ9PT1yP2gucmlnaHQ9aTpoLmxlZnQ9aSksdm9pZCh0W3UtMV09aSk7aWYoaS5yaWdodCYmaS5yaWdodC5fY29sb3I9PT1uKXJldHVybiBjPShpPXIubGVmdD1vKGkpKS5yaWdodD1vKGkucmlnaHQpLHIubGVmdD1jLnJpZ2h0LGkucmlnaHQ9Yy5sZWZ0LGMucmlnaHQ9cixjLmxlZnQ9aSxjLl9jb2xvcj1yLl9jb2xvcixyLl9jb2xvcj1hLGkuX2NvbG9yPWEsZS5fY29sb3I9YSxsKHIpLGwoaSksbChjKSx1PjEmJigoaD10W3UtMl0pLnJpZ2h0PT09cj9oLnJpZ2h0PWM6aC5sZWZ0PWMpLHZvaWQodFt1LTFdPWMpO2lmKGkuX2NvbG9yPT09YSl7aWYoci5fY29sb3I9PT1uKXJldHVybiByLl9jb2xvcj1hLHZvaWQoci5sZWZ0PXMobixpKSk7ci5sZWZ0PXMobixpKTtjb250aW51ZX12YXIgaDtpPW8oaSksci5sZWZ0PWkucmlnaHQsaS5yaWdodD1yLGkuX2NvbG9yPXIuX2NvbG9yLHIuX2NvbG9yPW4sbChyKSxsKGkpLHU+MSYmKChoPXRbdS0yXSkucmlnaHQ9PT1yP2gucmlnaHQ9aTpoLmxlZnQ9aSksdFt1LTFdPWksdFt1XT1yLHUrMTx0Lmxlbmd0aD90W3UrMV09ZTp0LnB1c2goZSksdSs9Mn19fShlKSxnLmxlZnQ9PT1yP2cubGVmdD1udWxsOmcucmlnaHQ9bnVsbCxuZXcgYyh0aGlzLnRyZWUuX2NvbXBhcmUsZVswXSl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCJrZXkiLHtnZXQ6ZnVuY3Rpb24oKXtpZih0aGlzLl9zdGFjay5sZW5ndGg+MClyZXR1cm4gdGhpcy5fc3RhY2tbdGhpcy5fc3RhY2subGVuZ3RoLTFdLmtleX0sZW51bWVyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCJ2YWx1ZSIse2dldDpmdW5jdGlvbigpe2lmKHRoaXMuX3N0YWNrLmxlbmd0aD4wKXJldHVybiB0aGlzLl9zdGFja1t0aGlzLl9zdGFjay5sZW5ndGgtMV0udmFsdWV9LGVudW1lcmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwiaW5kZXgiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgdD0wLGU9dGhpcy5fc3RhY2s7aWYoMD09PWUubGVuZ3RoKXt2YXIgcj10aGlzLnRyZWUucm9vdDtyZXR1cm4gcj9yLl9jb3VudDowfWVbZS5sZW5ndGgtMV0ubGVmdCYmKHQ9ZVtlLmxlbmd0aC0xXS5sZWZ0Ll9jb3VudCk7Zm9yKHZhciBuPWUubGVuZ3RoLTI7bj49MDstLW4pZVtuKzFdPT09ZVtuXS5yaWdodCYmKCsrdCxlW25dLmxlZnQmJih0Kz1lW25dLmxlZnQuX2NvdW50KSk7cmV0dXJuIHR9LGVudW1lcmFibGU6ITB9KSxmLm5leHQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9zdGFjaztpZigwIT09dC5sZW5ndGgpe3ZhciBlPXRbdC5sZW5ndGgtMV07aWYoZS5yaWdodClmb3IoZT1lLnJpZ2h0O2U7KXQucHVzaChlKSxlPWUubGVmdDtlbHNlIGZvcih0LnBvcCgpO3QubGVuZ3RoPjAmJnRbdC5sZW5ndGgtMV0ucmlnaHQ9PT1lOyllPXRbdC5sZW5ndGgtMV0sdC5wb3AoKX19LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCJoYXNOZXh0Iix7Z2V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fc3RhY2s7aWYoMD09PXQubGVuZ3RoKXJldHVybiExO2lmKHRbdC5sZW5ndGgtMV0ucmlnaHQpcmV0dXJuITA7Zm9yKHZhciBlPXQubGVuZ3RoLTE7ZT4wOy0tZSlpZih0W2UtMV0ubGVmdD09PXRbZV0pcmV0dXJuITA7cmV0dXJuITF9fSksZi51cGRhdGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fc3RhY2s7aWYoMD09PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiQ2FuJ3QgdXBkYXRlIGVtcHR5IG5vZGUhIik7dmFyIHI9bmV3IEFycmF5KGUubGVuZ3RoKSxuPWVbZS5sZW5ndGgtMV07cltyLmxlbmd0aC0xXT1uZXcgaShuLl9jb2xvcixuLmtleSx0LG4ubGVmdCxuLnJpZ2h0LG4uX2NvdW50KTtmb3IodmFyIGE9ZS5sZW5ndGgtMjthPj0wOy0tYSkobj1lW2FdKS5sZWZ0PT09ZVthKzFdP3JbYV09bmV3IGkobi5fY29sb3Isbi5rZXksbi52YWx1ZSxyW2ErMV0sbi5yaWdodCxuLl9jb3VudCk6clthXT1uZXcgaShuLl9jb2xvcixuLmtleSxuLnZhbHVlLG4ubGVmdCxyW2ErMV0sbi5fY291bnQpO3JldHVybiBuZXcgYyh0aGlzLnRyZWUuX2NvbXBhcmUsclswXSl9LGYucHJldj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3N0YWNrO2lmKDAhPT10Lmxlbmd0aCl7dmFyIGU9dFt0Lmxlbmd0aC0xXTtpZihlLmxlZnQpZm9yKGU9ZS5sZWZ0O2U7KXQucHVzaChlKSxlPWUucmlnaHQ7ZWxzZSBmb3IodC5wb3AoKTt0Lmxlbmd0aD4wJiZ0W3QubGVuZ3RoLTFdLmxlZnQ9PT1lOyllPXRbdC5sZW5ndGgtMV0sdC5wb3AoKX19LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCJoYXNQcmV2Iix7Z2V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fc3RhY2s7aWYoMD09PXQubGVuZ3RoKXJldHVybiExO2lmKHRbdC5sZW5ndGgtMV0ubGVmdClyZXR1cm4hMDtmb3IodmFyIGU9dC5sZW5ndGgtMTtlPjA7LS1lKWlmKHRbZS0xXS5yaWdodD09PXRbZV0pcmV0dXJuITA7cmV0dXJuITF9fSl9LHt9XSwyMzQ6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj1bLjk5OTk5OTk5OTk5OTgwOTksNjc2LjUyMDM2ODEyMTg4NTEsLTEyNTkuMTM5MjE2NzIyNDAyOCw3NzEuMzIzNDI4Nzc3NjUzMSwtMTc2LjYxNTAyOTE2MjE0MDYsMTIuNTA3MzQzMjc4Njg2OTA1LC0uMTM4NTcxMDk1MjY1NzIwMTIsOTk4NDM2OTU3ODAxOTU3MmUtMjEsMS41MDU2MzI3MzUxNDkzMTE2ZS03XSxhPTYwNy8xMjgsaT1bLjk5OTk5OTk5OTk5OTk5NzEsNTcuMTU2MjM1NjY1ODYyOTIsLTU5LjU5Nzk2MDM1NTQ3NTQ5LDE0LjEzNjA5Nzk3NDc0MTc0NiwtLjQ5MTkxMzgxNjA5NzYyMDIsMzM5OTQ2NDk5ODQ4MTE4OWUtMjAsNDY1MjM2Mjg5MjcwNDg1OGUtMjAsLTk4Mzc0NDc1MzA0ODc5NTZlLTIwLC4wMDAxNTgwODg3MDMyMjQ5MTI1LC0uMDAwMjEwMjY0NDQxNzI0MTA0ODgsLjAwMDIxNzQzOTYxODExNTIxMjY1LC0uMDAwMTY0MzE4MTA2NTM2NzYzOSw4NDQxODIyMzk4Mzg1Mjc1ZS0yMCwtMjYxOTA4Mzg0MDE1ODE0MDhlLTIxLDM2ODk5MTgyNjU5NTMxNjI1ZS0yMl07ZnVuY3Rpb24gbyh0KXtpZih0PDApcmV0dXJuIE51bWJlcigiMC8wIik7Zm9yKHZhciBlPWlbMF0scj1pLmxlbmd0aC0xO3I+MDstLXIpZSs9aVtyXS8odCtyKTt2YXIgbj10K2ErLjU7cmV0dXJuLjUqTWF0aC5sb2coMipNYXRoLlBJKSsodCsuNSkqTWF0aC5sb2cobiktbitNYXRoLmxvZyhlKS1NYXRoLmxvZyh0KX1lLmV4cG9ydHM9ZnVuY3Rpb24gdChlKXtpZihlPC41KXJldHVybiBNYXRoLlBJLyhNYXRoLnNpbihNYXRoLlBJKmUpKnQoMS1lKSk7aWYoZT4xMDApcmV0dXJuIE1hdGguZXhwKG8oZSkpO2UtPTE7Zm9yKHZhciByPW5bMF0sYT0xO2E8OTthKyspcis9blthXS8oZSthKTt2YXIgaT1lKzcrLjU7cmV0dXJuIE1hdGguc3FydCgyKk1hdGguUEkpKk1hdGgucG93KGksZSsuNSkqTWF0aC5leHAoLWkpKnJ9LGUuZXhwb3J0cy5sb2c9b30se31dLDIzNTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKCJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJtdXN0IHNwZWNpZnkgdHlwZSBzdHJpbmciKTtpZihlPWV8fHt9LCJ1bmRlZmluZWQiPT10eXBlb2YgZG9jdW1lbnQmJiFlLmNhbnZhcylyZXR1cm4gbnVsbDt2YXIgcj1lLmNhbnZhc3x8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7Im51bWJlciI9PXR5cGVvZiBlLndpZHRoJiYoci53aWR0aD1lLndpZHRoKTsibnVtYmVyIj09dHlwZW9mIGUuaGVpZ2h0JiYoci5oZWlnaHQ9ZS5oZWlnaHQpO3ZhciBuLGE9ZTt0cnl7dmFyIGk9W3RdOzA9PT10LmluZGV4T2YoIndlYmdsIikmJmkucHVzaCgiZXhwZXJpbWVudGFsLSIrdCk7Zm9yKHZhciBvPTA7bzxpLmxlbmd0aDtvKyspaWYobj1yLmdldENvbnRleHQoaVtvXSxhKSlyZXR1cm4gbn1jYXRjaCh0KXtuPW51bGx9cmV0dXJuIG58fG51bGx9fSx7fV0sMjM2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPW5ldyB1KHQpO3JldHVybiByLnVwZGF0ZShlKSxyfTt2YXIgbj10KCIuL2xpYi90ZXh0LmpzIiksYT10KCIuL2xpYi9saW5lcy5qcyIpLGk9dCgiLi9saWIvYmFja2dyb3VuZC5qcyIpLG89dCgiLi9saWIvY3ViZS5qcyIpLHM9dCgiLi9saWIvdGlja3MuanMiKSxsPW5ldyBGbG9hdDMyQXJyYXkoWzEsMCwwLDAsMCwxLDAsMCwwLDAsMSwwLDAsMCwwLDFdKTtmdW5jdGlvbiBjKHQsZSl7cmV0dXJuIHRbMF09ZVswXSx0WzFdPWVbMV0sdFsyXT1lWzJdLHR9ZnVuY3Rpb24gdSh0KXt0aGlzLmdsPXQsdGhpcy5waXhlbFJhdGlvPTEsdGhpcy5ib3VuZHM9W1stMTAsLTEwLC0xMF0sWzEwLDEwLDEwXV0sdGhpcy50aWNrcz1bW10sW10sW11dLHRoaXMuYXV0b1RpY2tzPSEwLHRoaXMudGlja1NwYWNpbmc9WzEsMSwxXSx0aGlzLnRpY2tFbmFibGU9WyEwLCEwLCEwXSx0aGlzLnRpY2tGb250PVsic2Fucy1zZXJpZiIsInNhbnMtc2VyaWYiLCJzYW5zLXNlcmlmIl0sdGhpcy50aWNrU2l6ZT1bMTIsMTIsMTJdLHRoaXMudGlja0FuZ2xlPVswLDAsMF0sdGhpcy50aWNrQWxpZ249WyJhdXRvIiwiYXV0byIsImF1dG8iXSx0aGlzLnRpY2tDb2xvcj1bWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMudGlja1BhZD1bMTAsMTAsMTBdLHRoaXMubGFzdEN1YmVQcm9wcz17Y3ViZUVkZ2VzOlswLDAsMF0sYXhpczpbMCwwLDBdfSx0aGlzLmxhYmVscz1bIngiLCJ5IiwieiJdLHRoaXMubGFiZWxFbmFibGU9WyEwLCEwLCEwXSx0aGlzLmxhYmVsRm9udD0ic2Fucy1zZXJpZiIsdGhpcy5sYWJlbFNpemU9WzIwLDIwLDIwXSx0aGlzLmxhYmVsQW5nbGU9WzAsMCwwXSx0aGlzLmxhYmVsQWxpZ249WyJhdXRvIiwiYXV0byIsImF1dG8iXSx0aGlzLmxhYmVsQ29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLmxhYmVsUGFkPVsxMCwxMCwxMF0sdGhpcy5saW5lRW5hYmxlPVshMCwhMCwhMF0sdGhpcy5saW5lTWlycm9yPVshMSwhMSwhMV0sdGhpcy5saW5lV2lkdGg9WzEsMSwxXSx0aGlzLmxpbmVDb2xvcj1bWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMubGluZVRpY2tFbmFibGU9WyEwLCEwLCEwXSx0aGlzLmxpbmVUaWNrTWlycm9yPVshMSwhMSwhMV0sdGhpcy5saW5lVGlja0xlbmd0aD1bMCwwLDBdLHRoaXMubGluZVRpY2tXaWR0aD1bMSwxLDFdLHRoaXMubGluZVRpY2tDb2xvcj1bWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMuZ3JpZEVuYWJsZT1bITAsITAsITBdLHRoaXMuZ3JpZFdpZHRoPVsxLDEsMV0sdGhpcy5ncmlkQ29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLnplcm9FbmFibGU9WyEwLCEwLCEwXSx0aGlzLnplcm9MaW5lQ29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLnplcm9MaW5lV2lkdGg9WzIsMiwyXSx0aGlzLmJhY2tncm91bmRFbmFibGU9WyExLCExLCExXSx0aGlzLmJhY2tncm91bmRDb2xvcj1bWy44LC44LC44LC41XSxbLjgsLjgsLjgsLjVdLFsuOCwuOCwuOCwuNV1dLHRoaXMuX2ZpcnN0SW5pdD0hMCx0aGlzLl90ZXh0PW51bGwsdGhpcy5fbGluZXM9bnVsbCx0aGlzLl9iYWNrZ3JvdW5kPWkodCl9dmFyIGg9dS5wcm90b3R5cGU7ZnVuY3Rpb24gZigpe3RoaXMucHJpbWFsT2Zmc2V0PVswLDAsMF0sdGhpcy5wcmltYWxNaW5vcj1bMCwwLDBdLHRoaXMubWlycm9yT2Zmc2V0PVswLDAsMF0sdGhpcy5taXJyb3JNaW5vcj1bMCwwLDBdfWgudXBkYXRlPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSxyLG4pe2lmKG4gaW4gdCl7dmFyIGEsaT10W25dLG89dGhpc1tuXTsoZT9BcnJheS5pc0FycmF5KGkpJiZBcnJheS5pc0FycmF5KGlbMF0pOkFycmF5LmlzQXJyYXkoaSkpP3RoaXNbbl09YT1bcihpWzBdKSxyKGlbMV0pLHIoaVsyXSldOnRoaXNbbl09YT1bcihpKSxyKGkpLHIoaSldO2Zvcih2YXIgcz0wO3M8MzsrK3MpaWYoYVtzXSE9PW9bc10pcmV0dXJuITB9cmV0dXJuITF9dD10fHx7fTt2YXIgcixpPWUuYmluZCh0aGlzLCExLE51bWJlciksbz1lLmJpbmQodGhpcywhMSxCb29sZWFuKSxsPWUuYmluZCh0aGlzLCExLFN0cmluZyksYz1lLmJpbmQodGhpcywhMCxmdW5jdGlvbih0KXtpZihBcnJheS5pc0FycmF5KHQpKXtpZigzPT09dC5sZW5ndGgpcmV0dXJuWyt0WzBdLCt0WzFdLCt0WzJdLDFdO2lmKDQ9PT10Lmxlbmd0aClyZXR1cm5bK3RbMF0sK3RbMV0sK3RbMl0sK3RbM11dfXJldHVyblswLDAsMCwxXX0pLHU9ITEsaD0hMTtpZigiYm91bmRzImluIHQpZm9yKHZhciBmPXQuYm91bmRzLHA9MDtwPDI7KytwKWZvcih2YXIgZD0wO2Q8MzsrK2QpZltwXVtkXSE9PXRoaXMuYm91bmRzW3BdW2RdJiYoaD0hMCksdGhpcy5ib3VuZHNbcF1bZF09ZltwXVtkXTtpZigidGlja3MiaW4gdCl7cj10LnRpY2tzLHU9ITAsdGhpcy5hdXRvVGlja3M9ITE7Zm9yKHA9MDtwPDM7KytwKXRoaXMudGlja1NwYWNpbmdbcF09MH1lbHNlIGkoInRpY2tTcGFjaW5nIikmJih0aGlzLmF1dG9UaWNrcz0hMCxoPSEwKTtpZih0aGlzLl9maXJzdEluaXQmJigidGlja3MiaW4gdHx8InRpY2tTcGFjaW5nImluIHR8fCh0aGlzLmF1dG9UaWNrcz0hMCksaD0hMCx1PSEwLHRoaXMuX2ZpcnN0SW5pdD0hMSksaCYmdGhpcy5hdXRvVGlja3MmJihyPXMuY3JlYXRlKHRoaXMuYm91bmRzLHRoaXMudGlja1NwYWNpbmcpLHU9ITApLHUpe2ZvcihwPTA7cDwzOysrcClyW3BdLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC54LWUueH0pO3MuZXF1YWwocix0aGlzLnRpY2tzKT91PSExOnRoaXMudGlja3M9cn1vKCJ0aWNrRW5hYmxlIiksbCgidGlja0ZvbnQiKSYmKHU9ITApLGkoInRpY2tTaXplIiksaSgidGlja0FuZ2xlIiksaSgidGlja1BhZCIpLGMoInRpY2tDb2xvciIpO3ZhciBnPWwoImxhYmVscyIpO2woImxhYmVsRm9udCIpJiYoZz0hMCksbygibGFiZWxFbmFibGUiKSxpKCJsYWJlbFNpemUiKSxpKCJsYWJlbFBhZCIpLGMoImxhYmVsQ29sb3IiKSxvKCJsaW5lRW5hYmxlIiksbygibGluZU1pcnJvciIpLGkoImxpbmVXaWR0aCIpLGMoImxpbmVDb2xvciIpLG8oImxpbmVUaWNrRW5hYmxlIiksbygibGluZVRpY2tNaXJyb3IiKSxpKCJsaW5lVGlja0xlbmd0aCIpLGkoImxpbmVUaWNrV2lkdGgiKSxjKCJsaW5lVGlja0NvbG9yIiksbygiZ3JpZEVuYWJsZSIpLGkoImdyaWRXaWR0aCIpLGMoImdyaWRDb2xvciIpLG8oInplcm9FbmFibGUiKSxjKCJ6ZXJvTGluZUNvbG9yIiksaSgiemVyb0xpbmVXaWR0aCIpLG8oImJhY2tncm91bmRFbmFibGUiKSxjKCJiYWNrZ3JvdW5kQ29sb3IiKSx0aGlzLl90ZXh0P3RoaXMuX3RleHQmJihnfHx1KSYmdGhpcy5fdGV4dC51cGRhdGUodGhpcy5ib3VuZHMsdGhpcy5sYWJlbHMsdGhpcy5sYWJlbEZvbnQsdGhpcy50aWNrcyx0aGlzLnRpY2tGb250KTp0aGlzLl90ZXh0PW4odGhpcy5nbCx0aGlzLmJvdW5kcyx0aGlzLmxhYmVscyx0aGlzLmxhYmVsRm9udCx0aGlzLnRpY2tzLHRoaXMudGlja0ZvbnQpLHRoaXMuX2xpbmVzJiZ1JiYodGhpcy5fbGluZXMuZGlzcG9zZSgpLHRoaXMuX2xpbmVzPW51bGwpLHRoaXMuX2xpbmVzfHwodGhpcy5fbGluZXM9YSh0aGlzLmdsLHRoaXMuYm91bmRzLHRoaXMudGlja3MpKX07dmFyIHA9W25ldyBmLG5ldyBmLG5ldyBmXTtmdW5jdGlvbiBkKHQsZSxyLG4sYSl7Zm9yKHZhciBpPXQucHJpbWFsT2Zmc2V0LG89dC5wcmltYWxNaW5vcixzPXQubWlycm9yT2Zmc2V0LGw9dC5taXJyb3JNaW5vcixjPW5bZV0sdT0wO3U8MzsrK3UpaWYoZSE9PXUpe3ZhciBoPWksZj1zLHA9byxkPWw7YyYxPDx1JiYoaD1zLGY9aSxwPWwsZD1vKSxoW3VdPXJbMF1bdV0sZlt1XT1yWzFdW3VdLGFbdV0+MD8ocFt1XT0tMSxkW3VdPTApOihwW3VdPTAsZFt1XT0xKX19dmFyIGc9WzAsMCwwXSx2PXttb2RlbDpsLHZpZXc6bCxwcm9qZWN0aW9uOmwsX29ydGhvOiExfTtoLmlzT3BhcXVlPWZ1bmN0aW9uKCl7cmV0dXJuITB9LGguaXNUcmFuc3BhcmVudD1mdW5jdGlvbigpe3JldHVybiExfSxoLmRyYXdUcmFuc3BhcmVudD1mdW5jdGlvbih0KXt9O3ZhciBtPVswLDAsMF0seT1bMCwwLDBdLHg9WzAsMCwwXTtoLmRyYXc9ZnVuY3Rpb24odCl7dD10fHx2O2Zvcih2YXIgZT10aGlzLmdsLHI9dC5tb2RlbHx8bCxuPXQudmlld3x8bCxhPXQucHJvamVjdGlvbnx8bCxpPXRoaXMuYm91bmRzLHM9dC5fb3J0aG98fCExLHU9byhyLG4sYSxpLHMpLGg9dS5jdWJlRWRnZXMsZj11LmF4aXMsYj1uWzEyXSxfPW5bMTNdLHc9blsxNF0saz1uWzE1XSxUPShzPzI6MSkqdGhpcy5waXhlbFJhdGlvKihhWzNdKmIrYVs3XSpfK2FbMTFdKncrYVsxNV0qaykvZS5kcmF3aW5nQnVmZmVySGVpZ2h0LE09MDtNPDM7KytNKXRoaXMubGFzdEN1YmVQcm9wcy5jdWJlRWRnZXNbTV09aFtNXSx0aGlzLmxhc3RDdWJlUHJvcHMuYXhpc1tNXT1mW01dO3ZhciBBPXA7Zm9yKE09MDtNPDM7KytNKWQocFtNXSxNLHRoaXMuYm91bmRzLGgsZik7ZT10aGlzLmdsO3ZhciBTLEU9Zztmb3IoTT0wO008MzsrK00pdGhpcy5iYWNrZ3JvdW5kRW5hYmxlW01dP0VbTV09ZltNXTpFW01dPTA7dGhpcy5fYmFja2dyb3VuZC5kcmF3KHIsbixhLGksRSx0aGlzLmJhY2tncm91bmRDb2xvciksdGhpcy5fbGluZXMuYmluZChyLG4sYSx0aGlzKTtmb3IoTT0wO008MzsrK00pe3ZhciBMPVswLDAsMF07ZltNXT4wP0xbTV09aVsxXVtNXTpMW01dPWlbMF1bTV07Zm9yKHZhciBDPTA7QzwyOysrQyl7dmFyIFA9KE0rMStDKSUzLE89KE0rMSsoMV5DKSklMzt0aGlzLmdyaWRFbmFibGVbUF0mJnRoaXMuX2xpbmVzLmRyYXdHcmlkKFAsTyx0aGlzLmJvdW5kcyxMLHRoaXMuZ3JpZENvbG9yW1BdLHRoaXMuZ3JpZFdpZHRoW1BdKnRoaXMucGl4ZWxSYXRpbyl9Zm9yKEM9MDtDPDI7KytDKXtQPShNKzErQyklMyxPPShNKzErKDFeQykpJTM7dGhpcy56ZXJvRW5hYmxlW09dJiZNYXRoLm1pbihpWzBdW09dLGlbMV1bT10pPD0wJiZNYXRoLm1heChpWzBdW09dLGlbMV1bT10pPj0wJiZ0aGlzLl9saW5lcy5kcmF3WmVybyhQLE8sdGhpcy5ib3VuZHMsTCx0aGlzLnplcm9MaW5lQ29sb3JbT10sdGhpcy56ZXJvTGluZVdpZHRoW09dKnRoaXMucGl4ZWxSYXRpbyl9fWZvcihNPTA7TTwzOysrTSl7dGhpcy5saW5lRW5hYmxlW01dJiZ0aGlzLl9saW5lcy5kcmF3QXhpc0xpbmUoTSx0aGlzLmJvdW5kcyxBW01dLnByaW1hbE9mZnNldCx0aGlzLmxpbmVDb2xvcltNXSx0aGlzLmxpbmVXaWR0aFtNXSp0aGlzLnBpeGVsUmF0aW8pLHRoaXMubGluZU1pcnJvcltNXSYmdGhpcy5fbGluZXMuZHJhd0F4aXNMaW5lKE0sdGhpcy5ib3VuZHMsQVtNXS5taXJyb3JPZmZzZXQsdGhpcy5saW5lQ29sb3JbTV0sdGhpcy5saW5lV2lkdGhbTV0qdGhpcy5waXhlbFJhdGlvKTt2YXIgej1jKG0sQVtNXS5wcmltYWxNaW5vciksST1jKHksQVtNXS5taXJyb3JNaW5vciksRD10aGlzLmxpbmVUaWNrTGVuZ3RoO2ZvcihDPTA7QzwzOysrQyl7dmFyIFI9VC9yWzUqQ107eltDXSo9RFtDXSpSLElbQ10qPURbQ10qUn10aGlzLmxpbmVUaWNrRW5hYmxlW01dJiZ0aGlzLl9saW5lcy5kcmF3QXhpc1RpY2tzKE0sQVtNXS5wcmltYWxPZmZzZXQseix0aGlzLmxpbmVUaWNrQ29sb3JbTV0sdGhpcy5saW5lVGlja1dpZHRoW01dKnRoaXMucGl4ZWxSYXRpbyksdGhpcy5saW5lVGlja01pcnJvcltNXSYmdGhpcy5fbGluZXMuZHJhd0F4aXNUaWNrcyhNLEFbTV0ubWlycm9yT2Zmc2V0LEksdGhpcy5saW5lVGlja0NvbG9yW01dLHRoaXMubGluZVRpY2tXaWR0aFtNXSp0aGlzLnBpeGVsUmF0aW8pfXRoaXMuX2xpbmVzLnVuYmluZCgpLHRoaXMuX3RleHQuYmluZChyLG4sYSx0aGlzLnBpeGVsUmF0aW8pO3ZhciBGLEI7ZnVuY3Rpb24gTih0KXsoQj1bMCwwLDBdKVt0XT0xfWZ1bmN0aW9uIGoodCxlLHIpe3ZhciBuPSh0KzEpJTMsYT0odCsyKSUzLGk9ZVtuXSxvPWVbYV0scz1yW25dLGw9clthXTtpPjAmJmw+MD9OKG4pOmk+MCYmbDwwP04obik6aTwwJiZsPjA/TihuKTppPDAmJmw8MD9OKG4pOm8+MCYmcz4wP04oYSk6bz4wJiZzPDA/TihhKTpvPDAmJnM+MD9OKGEpOm88MCYmczwwJiZOKGEpfWZvcihNPTA7TTwzOysrTSl7dmFyIFY9QVtNXS5wcmltYWxNaW5vcixVPUFbTV0ubWlycm9yTWlub3IscT1jKHgsQVtNXS5wcmltYWxPZmZzZXQpO2ZvcihDPTA7QzwzOysrQyl0aGlzLmxpbmVUaWNrRW5hYmxlW01dJiYocVtDXSs9VCpWW0NdKk1hdGgubWF4KHRoaXMubGluZVRpY2tMZW5ndGhbQ10sMCkvcls1KkNdKTt2YXIgSD1bMCwwLDBdO2lmKEhbTV09MSx0aGlzLnRpY2tFbmFibGVbTV0pey0zNjAwPT09dGhpcy50aWNrQW5nbGVbTV0/KHRoaXMudGlja0FuZ2xlW01dPTAsdGhpcy50aWNrQWxpZ25bTV09ImF1dG8iKTp0aGlzLnRpY2tBbGlnbltNXT0tMSxGPTEsImF1dG8iPT09KFM9W3RoaXMudGlja0FsaWduW01dLC41LEZdKVswXT9TWzBdPTA6U1swXT1wYXJzZUludCgiIitTWzBdKSxCPVswLDAsMF0saihNLFYsVSk7Zm9yKEM9MDtDPDM7KytDKXFbQ10rPVQqVltDXSp0aGlzLnRpY2tQYWRbQ10vcls1KkNdO3RoaXMuX3RleHQuZHJhd1RpY2tzKE0sdGhpcy50aWNrU2l6ZVtNXSx0aGlzLnRpY2tBbmdsZVtNXSxxLHRoaXMudGlja0NvbG9yW01dLEgsQixTKX1pZih0aGlzLmxhYmVsRW5hYmxlW01dKXtGPTAsQj1bMCwwLDBdLHRoaXMubGFiZWxzW01dLmxlbmd0aD40JiYoTihNKSxGPTEpLCJhdXRvIj09PShTPVt0aGlzLmxhYmVsQWxpZ25bTV0sLjUsRl0pWzBdP1NbMF09MDpTWzBdPXBhcnNlSW50KCIiK1NbMF0pO2ZvcihDPTA7QzwzOysrQylxW0NdKz1UKlZbQ10qdGhpcy5sYWJlbFBhZFtDXS9yWzUqQ107cVtNXSs9LjUqKGlbMF1bTV0raVsxXVtNXSksdGhpcy5fdGV4dC5kcmF3TGFiZWwoTSx0aGlzLmxhYmVsU2l6ZVtNXSx0aGlzLmxhYmVsQW5nbGVbTV0scSx0aGlzLmxhYmVsQ29sb3JbTV0sWzAsMCwwXSxCLFMpfX10aGlzLl90ZXh0LnVuYmluZCgpfSxoLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLl90ZXh0LmRpc3Bvc2UoKSx0aGlzLl9saW5lcy5kaXNwb3NlKCksdGhpcy5fYmFja2dyb3VuZC5kaXNwb3NlKCksdGhpcy5fbGluZXM9bnVsbCx0aGlzLl90ZXh0PW51bGwsdGhpcy5fYmFja2dyb3VuZD1udWxsLHRoaXMuZ2w9bnVsbH19LHsiLi9saWIvYmFja2dyb3VuZC5qcyI6MjM3LCIuL2xpYi9jdWJlLmpzIjoyMzgsIi4vbGliL2xpbmVzLmpzIjoyMzksIi4vbGliL3RleHQuanMiOjI0MSwiLi9saWIvdGlja3MuanMiOjI0Mn1dLDIzNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLHI9W10scz0wLGw9MDtsPDM7KytsKWZvcih2YXIgYz0obCsxKSUzLHU9KGwrMiklMyxoPVswLDAsMF0sZj1bMCwwLDBdLHA9LTE7cDw9MTtwKz0yKXtyLnB1c2gocyxzKzIscysxLHMrMSxzKzIscyszKSxoW2xdPXAsZltsXT1wO2Zvcih2YXIgZD0tMTtkPD0xO2QrPTIpe2hbY109ZDtmb3IodmFyIGc9LTE7Zzw9MTtnKz0yKWhbdV09ZyxlLnB1c2goaFswXSxoWzFdLGhbMl0sZlswXSxmWzFdLGZbMl0pLHMrPTF9dmFyIHY9YztjPXUsdT12fXZhciBtPW4odCxuZXcgRmxvYXQzMkFycmF5KGUpKSx5PW4odCxuZXcgVWludDE2QXJyYXkociksdC5FTEVNRU5UX0FSUkFZX0JVRkZFUikseD1hKHQsW3tidWZmZXI6bSx0eXBlOnQuRkxPQVQsc2l6ZTozLG9mZnNldDowLHN0cmlkZToyNH0se2J1ZmZlcjptLHR5cGU6dC5GTE9BVCxzaXplOjMsb2Zmc2V0OjEyLHN0cmlkZToyNH1dLHkpLGI9aSh0KTtyZXR1cm4gYi5hdHRyaWJ1dGVzLnBvc2l0aW9uLmxvY2F0aW9uPTAsYi5hdHRyaWJ1dGVzLm5vcm1hbC5sb2NhdGlvbj0xLG5ldyBvKHQsbSx4LGIpfTt2YXIgbj10KCJnbC1idWZmZXIiKSxhPXQoImdsLXZhbyIpLGk9dCgiLi9zaGFkZXJzIikuYmc7ZnVuY3Rpb24gbyh0LGUscixuKXt0aGlzLmdsPXQsdGhpcy5idWZmZXI9ZSx0aGlzLnZhbz1yLHRoaXMuc2hhZGVyPW59dmFyIHM9by5wcm90b3R5cGU7cy5kcmF3PWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXtmb3IodmFyIG89ITEscz0wO3M8MzsrK3Mpbz1vfHxhW3NdO2lmKG8pe3ZhciBsPXRoaXMuZ2w7bC5lbmFibGUobC5QT0xZR09OX09GRlNFVF9GSUxMKSxsLnBvbHlnb25PZmZzZXQoMSwyKSx0aGlzLnNoYWRlci5iaW5kKCksdGhpcy5zaGFkZXIudW5pZm9ybXM9e21vZGVsOnQsdmlldzplLHByb2plY3Rpb246cixib3VuZHM6bixlbmFibGU6YSxjb2xvcnM6aX0sdGhpcy52YW8uYmluZCgpLHRoaXMudmFvLmRyYXcodGhpcy5nbC5UUklBTkdMRVMsMzYpLHRoaXMudmFvLnVuYmluZCgpLGwuZGlzYWJsZShsLlBPTFlHT05fT0ZGU0VUX0ZJTEwpfX0scy5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy52YW8uZGlzcG9zZSgpLHRoaXMuYnVmZmVyLmRpc3Bvc2UoKSx0aGlzLnNoYWRlci5kaXNwb3NlKCl9fSx7Ii4vc2hhZGVycyI6MjQwLCJnbC1idWZmZXIiOjI0NCwiZ2wtdmFvIjozMjl9XSwyMzg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGkscCl7YShzLGUsdCksYShzLHIscyk7Zm9yKHZhciB5PTAseD0wO3g8MjsrK3gpe3VbMl09aVt4XVsyXTtmb3IodmFyIGI9MDtiPDI7KytiKXt1WzFdPWlbYl1bMV07Zm9yKHZhciBfPTA7XzwyOysrXyl1WzBdPWlbX11bMF0sZihsW3ldLHUscykseSs9MX19Zm9yKHZhciB3PS0xLHg9MDt4PDg7Kyt4KXtmb3IodmFyIGs9bFt4XVszXSxUPTA7VDwzOysrVCljW3hdW1RdPWxbeF1bVF0vaztwJiYoY1t4XVsyXSo9LTEpLGs8MCYmKHc8MD93PXg6Y1t4XVsyXTxjW3ddWzJdJiYodz14KSl9aWYodzwwKXt3PTA7Zm9yKHZhciBNPTA7TTwzOysrTSl7Zm9yKHZhciBBPShNKzIpJTMsUz0oTSsxKSUzLEU9LTEsTD0tMSxDPTA7QzwyOysrQyl7dmFyIFA9Qzw8TSxPPVArKEM8PEEpKygxLUM8PFMpLHo9UCsoMS1DPDxBKSsoQzw8Uyk7byhjW1BdLGNbT10sY1t6XSxoKTwwfHwoQz9FPTE6TD0xKX1pZihFPDB8fEw8MClMPkUmJih3fD0xPDxNKTtlbHNle2Zvcih2YXIgQz0wO0M8MjsrK0Mpe3ZhciBQPUM8PE0sTz1QKyhDPDxBKSsoMS1DPDxTKSx6PVArKDEtQzw8QSkrKEM8PFMpLEk9ZChbbFtQXSxsW09dLGxbel0sbFtQKygxPDxBKSsoMTw8UyldXSk7Qz9FPUk6TD1JfUw+RSYmKHd8PTE8PE0pfX19Zm9yKHZhciBEPTdedyxSPS0xLHg9MDt4PDg7Kyt4KXghPT13JiZ4IT09RCYmKFI8MD9SPXg6Y1tSXVsxXT5jW3hdWzFdJiYoUj14KSk7Zm9yKHZhciBGPS0xLHg9MDt4PDM7Kyt4KXt2YXIgQj1SXjE8PHg7aWYoQiE9PXcmJkIhPT1EKXtGPDAmJihGPUIpO3ZhciBTPWNbQl07U1swXTxjW0ZdWzBdJiYoRj1CKX19Zm9yKHZhciBOPS0xLHg9MDt4PDM7Kyt4KXt2YXIgQj1SXjE8PHg7aWYoQiE9PXcmJkIhPT1EJiZCIT09Ril7TjwwJiYoTj1CKTt2YXIgUz1jW0JdO1NbMF0+Y1tOXVswXSYmKE49Qil9fXZhciBqPWc7alswXT1qWzFdPWpbMl09MCxqW24ubG9nMihGXlIpXT1SJkYsaltuLmxvZzIoUl5OKV09UiZOO3ZhciBWPTdeTjtWPT09d3x8Vj09PUQ/KFY9N15GLGpbbi5sb2cyKE5eVildPVYmTik6altuLmxvZzIoRl5WKV09ViZGO2Zvcih2YXIgVT12LHE9dyxNPTA7TTwzOysrTSlVW01dPXEmMTw8TT8tMToxO3JldHVybiBtfTt2YXIgbj10KCJiaXQtdHdpZGRsZSIpLGE9dCgiZ2wtbWF0NC9tdWx0aXBseSIpLGk9dCgic3BsaXQtcG9seWdvbiIpLG89dCgicm9idXN0LW9yaWVudGF0aW9uIikscz1uZXcgQXJyYXkoMTYpLGw9bmV3IEFycmF5KDgpLGM9bmV3IEFycmF5KDgpLHU9bmV3IEFycmF5KDMpLGg9WzAsMCwwXTtmdW5jdGlvbiBmKHQsZSxyKXtmb3IodmFyIG49MDtuPDQ7KytuKXt0W25dPXJbMTIrbl07Zm9yKHZhciBhPTA7YTwzOysrYSl0W25dKz1lW2FdKnJbNCphK25dfX0hZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PDg7Kyt0KWxbdF09WzEsMSwxLDFdLGNbdF09WzEsMSwxXX0oKTt2YXIgcD1bWzAsMCwxLDAsMF0sWzAsMCwtMSwxLDBdLFswLC0xLDAsMSwwXSxbMCwxLDAsMSwwXSxbLTEsMCwwLDEsMF0sWzEsMCwwLDEsMF1dO2Z1bmN0aW9uIGQodCl7Zm9yKHZhciBlPTA7ZTxwLmxlbmd0aDsrK2UpaWYoKHQ9aS5wb3NpdGl2ZSh0LHBbZV0pKS5sZW5ndGg8MylyZXR1cm4gMDt2YXIgcj10WzBdLG49clswXS9yWzNdLGE9clsxXS9yWzNdLG89MDtmb3IoZT0xO2UrMTx0Lmxlbmd0aDsrK2Upe3ZhciBzPXRbZV0sbD10W2UrMV0sYz1zWzBdL3NbM10tbix1PXNbMV0vc1szXS1hLGg9bFswXS9sWzNdLW4sZj1sWzFdL2xbM10tYTtvKz1NYXRoLmFicyhjKmYtdSpoKX1yZXR1cm4gb312YXIgZz1bMSwxLDFdLHY9WzAsMCwwXSxtPXtjdWJlRWRnZXM6ZyxheGlzOnZ9fSx7ImJpdC10d2lkZGxlIjo5NCwiZ2wtbWF0NC9tdWx0aXBseSI6MjcwLCJyb2J1c3Qtb3JpZW50YXRpb24iOjUwOSwic3BsaXQtcG9seWdvbiI6NTI2fV0sMjM5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG89W10scz1bMCwwLDBdLGw9WzAsMCwwXSxjPVswLDAsMF0sdT1bMCwwLDBdO28ucHVzaCgwLDAsMSwwLDEsMSwwLDAsLTEsMCwwLC0xLDAsMSwxLDAsMSwtMSk7Zm9yKHZhciBoPTA7aDwzOysraCl7Zm9yKHZhciBmPW8ubGVuZ3RoLzN8MCxkPTA7ZDxyW2hdLmxlbmd0aDsrK2Qpe3ZhciBnPStyW2hdW2RdLng7by5wdXNoKGcsMCwxLGcsMSwxLGcsMCwtMSxnLDAsLTEsZywxLDEsZywxLC0xKX12YXIgdj1vLmxlbmd0aC8zfDA7c1toXT1mLGxbaF09di1mO2Zvcih2YXIgZj1vLmxlbmd0aC8zfDAsbT0wO208cltoXS5sZW5ndGg7KyttKXt2YXIgZz0rcltoXVttXS54O28ucHVzaChnLDAsMSxnLDEsMSxnLDAsLTEsZywwLC0xLGcsMSwxLGcsMSwtMSl9dmFyIHY9by5sZW5ndGgvM3wwO2NbaF09Zix1W2hdPXYtZn12YXIgeT1uKHQsbmV3IEZsb2F0MzJBcnJheShvKSkseD1hKHQsW3tidWZmZXI6eSx0eXBlOnQuRkxPQVQsc2l6ZTozLHN0cmlkZTowLG9mZnNldDowfV0pLGI9aSh0KTtyZXR1cm4gYi5hdHRyaWJ1dGVzLnBvc2l0aW9uLmxvY2F0aW9uPTAsbmV3IHAodCx5LHgsYixsLHMsdSxjKX07dmFyIG49dCgiZ2wtYnVmZmVyIiksYT10KCJnbC12YW8iKSxpPXQoIi4vc2hhZGVycyIpLmxpbmUsbz1bMCwwLDBdLHM9WzAsMCwwXSxsPVswLDAsMF0sYz1bMCwwLDBdLHU9WzEsMV07ZnVuY3Rpb24gaCh0KXtyZXR1cm4gdFswXT10WzFdPXRbMl09MCx0fWZ1bmN0aW9uIGYodCxlKXtyZXR1cm4gdFswXT1lWzBdLHRbMV09ZVsxXSx0WzJdPWVbMl0sdH1mdW5jdGlvbiBwKHQsZSxyLG4sYSxpLG8scyl7dGhpcy5nbD10LHRoaXMudmVydEJ1ZmZlcj1lLHRoaXMudmFvPXIsdGhpcy5zaGFkZXI9bix0aGlzLnRpY2tDb3VudD1hLHRoaXMudGlja09mZnNldD1pLHRoaXMuZ3JpZENvdW50PW8sdGhpcy5ncmlkT2Zmc2V0PXN9dmFyIGQ9cC5wcm90b3R5cGU7ZC5iaW5kPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLnNoYWRlci5iaW5kKCksdGhpcy5zaGFkZXIudW5pZm9ybXMubW9kZWw9dCx0aGlzLnNoYWRlci51bmlmb3Jtcy52aWV3PWUsdGhpcy5zaGFkZXIudW5pZm9ybXMucHJvamVjdGlvbj1yLHVbMF09dGhpcy5nbC5kcmF3aW5nQnVmZmVyV2lkdGgsdVsxXT10aGlzLmdsLmRyYXdpbmdCdWZmZXJIZWlnaHQsdGhpcy5zaGFkZXIudW5pZm9ybXMuc2NyZWVuU2hhcGU9dSx0aGlzLnZhby5iaW5kKCl9LGQudW5iaW5kPWZ1bmN0aW9uKCl7dGhpcy52YW8udW5iaW5kKCl9LGQuZHJhd0F4aXNMaW5lPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGk9aChzKTt0aGlzLnNoYWRlci51bmlmb3Jtcy5tYWpvckF4aXM9cyxpW3RdPWVbMV1bdF0tZVswXVt0XSx0aGlzLnNoYWRlci51bmlmb3Jtcy5taW5vckF4aXM9aTt2YXIgbyx1PWYoYyxyKTt1W3RdKz1lWzBdW3RdLHRoaXMuc2hhZGVyLnVuaWZvcm1zLm9mZnNldD11LHRoaXMuc2hhZGVyLnVuaWZvcm1zLmxpbmVXaWR0aD1hLHRoaXMuc2hhZGVyLnVuaWZvcm1zLmNvbG9yPW4sKG89aChsKSlbKHQrMiklM109MSx0aGlzLnNoYWRlci51bmlmb3Jtcy5zY3JlZW5BeGlzPW8sdGhpcy52YW8uZHJhdyh0aGlzLmdsLlRSSUFOR0xFUyw2KSwobz1oKGwpKVsodCsxKSUzXT0xLHRoaXMuc2hhZGVyLnVuaWZvcm1zLnNjcmVlbkF4aXM9byx0aGlzLnZhby5kcmF3KHRoaXMuZ2wuVFJJQU5HTEVTLDYpfSxkLmRyYXdBeGlzVGlja3M9ZnVuY3Rpb24odCxlLHIsbixhKXtpZih0aGlzLnRpY2tDb3VudFt0XSl7dmFyIGk9aChvKTtpW3RdPTEsdGhpcy5zaGFkZXIudW5pZm9ybXMubWFqb3JBeGlzPWksdGhpcy5zaGFkZXIudW5pZm9ybXMub2Zmc2V0PWUsdGhpcy5zaGFkZXIudW5pZm9ybXMubWlub3JBeGlzPXIsdGhpcy5zaGFkZXIudW5pZm9ybXMuY29sb3I9bix0aGlzLnNoYWRlci51bmlmb3Jtcy5saW5lV2lkdGg9YTt2YXIgcz1oKGwpO3NbdF09MSx0aGlzLnNoYWRlci51bmlmb3Jtcy5zY3JlZW5BeGlzPXMsdGhpcy52YW8uZHJhdyh0aGlzLmdsLlRSSUFOR0xFUyx0aGlzLnRpY2tDb3VudFt0XSx0aGlzLnRpY2tPZmZzZXRbdF0pfX0sZC5kcmF3R3JpZD1mdW5jdGlvbih0LGUscixuLGEsaSl7aWYodGhpcy5ncmlkQ291bnRbdF0pe3ZhciB1PWgocyk7dVtlXT1yWzFdW2VdLXJbMF1bZV0sdGhpcy5zaGFkZXIudW5pZm9ybXMubWlub3JBeGlzPXU7dmFyIHA9ZihjLG4pO3BbZV0rPXJbMF1bZV0sdGhpcy5zaGFkZXIudW5pZm9ybXMub2Zmc2V0PXA7dmFyIGQ9aChvKTtkW3RdPTEsdGhpcy5zaGFkZXIudW5pZm9ybXMubWFqb3JBeGlzPWQ7dmFyIGc9aChsKTtnW3RdPTEsdGhpcy5zaGFkZXIudW5pZm9ybXMuc2NyZWVuQXhpcz1nLHRoaXMuc2hhZGVyLnVuaWZvcm1zLmxpbmVXaWR0aD1pLHRoaXMuc2hhZGVyLnVuaWZvcm1zLmNvbG9yPWEsdGhpcy52YW8uZHJhdyh0aGlzLmdsLlRSSUFOR0xFUyx0aGlzLmdyaWRDb3VudFt0XSx0aGlzLmdyaWRPZmZzZXRbdF0pfX0sZC5kcmF3WmVybz1mdW5jdGlvbih0LGUscixuLGEsaSl7dmFyIG89aChzKTt0aGlzLnNoYWRlci51bmlmb3Jtcy5tYWpvckF4aXM9byxvW3RdPXJbMV1bdF0tclswXVt0XSx0aGlzLnNoYWRlci51bmlmb3Jtcy5taW5vckF4aXM9bzt2YXIgdT1mKGMsbik7dVt0XSs9clswXVt0XSx0aGlzLnNoYWRlci51bmlmb3Jtcy5vZmZzZXQ9dTt2YXIgcD1oKGwpO3BbZV09MSx0aGlzLnNoYWRlci51bmlmb3Jtcy5zY3JlZW5BeGlzPXAsdGhpcy5zaGFkZXIudW5pZm9ybXMubGluZVdpZHRoPWksdGhpcy5zaGFkZXIudW5pZm9ybXMuY29sb3I9YSx0aGlzLnZhby5kcmF3KHRoaXMuZ2wuVFJJQU5HTEVTLDYpfSxkLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLnZhby5kaXNwb3NlKCksdGhpcy52ZXJ0QnVmZmVyLmRpc3Bvc2UoKSx0aGlzLnNoYWRlci5kaXNwb3NlKCl9fSx7Ii4vc2hhZGVycyI6MjQwLCJnbC1idWZmZXIiOjI0NCwiZ2wtdmFvIjozMjl9XSwyNDA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZ2xzbGlmeSIpLGE9dCgiZ2wtc2hhZGVyIiksaT1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzMgcG9zaXRpb247XG5cbnVuaWZvcm0gbWF0NCBtb2RlbCwgdmlldywgcHJvamVjdGlvbjtcbnVuaWZvcm0gdmVjMyBvZmZzZXQsIG1ham9yQXhpcywgbWlub3JBeGlzLCBzY3JlZW5BeGlzO1xudW5pZm9ybSBmbG9hdCBsaW5lV2lkdGg7XG51bmlmb3JtIHZlYzIgc2NyZWVuU2hhcGU7XG5cbnZlYzMgcHJvamVjdCh2ZWMzIHApIHtcbiAgdmVjNCBwcCA9IHByb2plY3Rpb24gKiB2aWV3ICogbW9kZWwgKiB2ZWM0KHAsIDEuMCk7XG4gIHJldHVybiBwcC54eXogLyBtYXgocHAudywgMC4wMDAxKTtcbn1cblxudm9pZCBtYWluKCkge1xuICB2ZWMzIG1ham9yID0gcG9zaXRpb24ueCAqIG1ham9yQXhpcztcbiAgdmVjMyBtaW5vciA9IHBvc2l0aW9uLnkgKiBtaW5vckF4aXM7XG5cbiAgdmVjMyB2UG9zaXRpb24gPSBtYWpvciArIG1pbm9yICsgb2Zmc2V0O1xuICB2ZWMzIHBQb3NpdGlvbiA9IHByb2plY3QodlBvc2l0aW9uKTtcbiAgdmVjMyBvZmZzZXQgPSBwcm9qZWN0KHZQb3NpdGlvbiArIHNjcmVlbkF4aXMgKiBwb3NpdGlvbi56KTtcblxuICB2ZWMyIHNjcmVlbiA9IG5vcm1hbGl6ZSgob2Zmc2V0IC0gcFBvc2l0aW9uKS54eSAqIHNjcmVlblNoYXBlKSAvIHNjcmVlblNoYXBlO1xuXG4gIGdsX1Bvc2l0aW9uID0gdmVjNChwUG9zaXRpb24gKyB2ZWMzKDAuNSAqIHNjcmVlbiAqIGxpbmVXaWR0aCwgMCksIDEuMCk7XG59XG4iXSksbz1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxudW5pZm9ybSB2ZWM0IGNvbG9yO1xudm9pZCBtYWluKCkge1xuICBnbF9GcmFnQ29sb3IgPSBjb2xvcjtcbn0iXSk7ci5saW5lPWZ1bmN0aW9uKHQpe3JldHVybiBhKHQsaSxvLG51bGwsW3tuYW1lOiJwb3NpdGlvbiIsdHlwZToidmVjMyJ9XSl9O3ZhciBzPW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5hdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjtcblxudW5pZm9ybSBtYXQ0IG1vZGVsLCB2aWV3LCBwcm9qZWN0aW9uO1xudW5pZm9ybSB2ZWMzIG9mZnNldCwgYXhpcywgYWxpZ25EaXIsIGFsaWduT3B0O1xudW5pZm9ybSBmbG9hdCBzY2FsZSwgYW5nbGUsIHBpeGVsU2NhbGU7XG51bmlmb3JtIHZlYzIgcmVzb2x1dGlvbjtcblxudmVjMyBwcm9qZWN0KHZlYzMgcCkge1xuICB2ZWM0IHBwID0gcHJvamVjdGlvbiAqIHZpZXcgKiBtb2RlbCAqIHZlYzQocCwgMS4wKTtcbiAgcmV0dXJuIHBwLnh5eiAvIG1heChwcC53LCAwLjAwMDEpO1xufVxuXG5mbG9hdCBjb21wdXRlVmlld0FuZ2xlKHZlYzMgYSwgdmVjMyBiKSB7XG4gIHZlYzMgQSA9IHByb2plY3QoYSk7XG4gIHZlYzMgQiA9IHByb2plY3QoYik7XG5cbiAgcmV0dXJuIGF0YW4oXG4gICAgKEIueSAtIEEueSkgKiByZXNvbHV0aW9uLnksXG4gICAgKEIueCAtIEEueCkgKiByZXNvbHV0aW9uLnhcbiAgKTtcbn1cblxuY29uc3QgZmxvYXQgUEkgPSAzLjE0MTU5MjtcbmNvbnN0IGZsb2F0IFRXT19QSSA9IDIuMCAqIFBJO1xuY29uc3QgZmxvYXQgSEFMRl9QSSA9IDAuNSAqIFBJO1xuY29uc3QgZmxvYXQgT05FX0FORF9IQUxGX1BJID0gMS41ICogUEk7XG5cbmludCBvcHRpb24gPSBpbnQoZmxvb3IoYWxpZ25PcHQueCArIDAuMDAxKSk7XG5mbG9hdCBodl9yYXRpbyA9ICAgICAgIGFsaWduT3B0Lnk7XG5ib29sIGVuYWJsZUFsaWduID0gICAgKGFsaWduT3B0LnogIT0gMC4wKTtcblxuZmxvYXQgbW9kX2FuZ2xlKGZsb2F0IGEpIHtcbiAgcmV0dXJuIG1vZChhLCBQSSk7XG59XG5cbmZsb2F0IHBvc2l0aXZlX2FuZ2xlKGZsb2F0IGEpIHtcbiAgcmV0dXJuIG1vZF9hbmdsZSgoYSA8IDAuMCkgP1xuICAgIGEgKyBUV09fUEkgOlxuICAgIGFcbiAgKTtcbn1cblxuZmxvYXQgbG9va191cHdhcmRzKGZsb2F0IGEpIHtcbiAgZmxvYXQgYiA9IHBvc2l0aXZlX2FuZ2xlKGEpO1xuICByZXR1cm4gKChiID4gSEFMRl9QSSkgJiYgKGIgPD0gT05FX0FORF9IQUxGX1BJKSkgP1xuICAgIGIgLSBQSSA6XG4gICAgYjtcbn1cblxuZmxvYXQgbG9va19ob3Jpem9udGFsX29yX3ZlcnRpY2FsKGZsb2F0IGEsIGZsb2F0IHJhdGlvKSB7XG4gIC8vIHJhdGlvIGNvbnRyb2xzIHRoZSByYXRpbyBiZXR3ZWVuIGJlaW5nIGhvcml6b250YWwgdG8gKHZlcnRpY2FsICsgaG9yaXpvbnRhbClcbiAgLy8gaWYgcmF0aW8gaXMgc2V0IHRvIDAuNSB0aGVuIGl0IGlzIDUwJSwgNTAlLlxuICAvLyB3aGVuIHVzaW5nIGEgaGlnaGVyIHJhdGlvIGUuZy4gMC43NSB0aGUgcmVzdWx0IHdvdWxkXG4gIC8vIGxpa2VseSBiZSBtb3JlIGhvcml6b250YWwgdGhhbiB2ZXJ0aWNhbC5cblxuICBmbG9hdCBiID0gcG9zaXRpdmVfYW5nbGUoYSk7XG5cbiAgcmV0dXJuXG4gICAgKGIgPCAoICAgICAgcmF0aW8pICogSEFMRl9QSSkgPyAwLjAgOlxuICAgIChiIDwgKDIuMCAtIHJhdGlvKSAqIEhBTEZfUEkpID8gLUhBTEZfUEkgOlxuICAgIChiIDwgKDIuMCArIHJhdGlvKSAqIEhBTEZfUEkpID8gMC4wIDpcbiAgICAoYiA8ICg0LjAgLSByYXRpbykgKiBIQUxGX1BJKSA/IEhBTEZfUEkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wO1xufVxuXG5mbG9hdCByb3VuZFRvKGZsb2F0IGEsIGZsb2F0IGIpIHtcbiAgcmV0dXJuIGZsb2F0KGIgKiBmbG9vcigoYSArIDAuNSAqIGIpIC8gYikpO1xufVxuXG5mbG9hdCBsb29rX3JvdW5kX25fZGlyZWN0aW9ucyhmbG9hdCBhLCBpbnQgbikge1xuICBmbG9hdCBiID0gcG9zaXRpdmVfYW5nbGUoYSk7XG4gIGZsb2F0IGRpdiA9IFRXT19QSSAvIGZsb2F0KG4pO1xuICBmbG9hdCBjID0gcm91bmRUbyhiLCBkaXYpO1xuICByZXR1cm4gbG9va191cHdhcmRzKGMpO1xufVxuXG5mbG9hdCBhcHBseUFsaWduT3B0aW9uKGZsb2F0IHJhd0FuZ2xlLCBmbG9hdCBkZWx0YSkge1xuICByZXR1cm5cbiAgICAob3B0aW9uID4gIDIpID8gbG9va19yb3VuZF9uX2RpcmVjdGlvbnMocmF3QW5nbGUgKyBkZWx0YSwgb3B0aW9uKSA6ICAgICAgIC8vIG9wdGlvbiAzLW46IHJvdW5kIHRvIG4gZGlyZWN0aW9uc1xuICAgIChvcHRpb24gPT0gMikgPyBsb29rX2hvcml6b250YWxfb3JfdmVydGljYWwocmF3QW5nbGUgKyBkZWx0YSwgaHZfcmF0aW8pIDogLy8gaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbFxuICAgIChvcHRpb24gPT0gMSkgPyByYXdBbmdsZSArIGRlbHRhIDogICAgICAgLy8gdXNlIGZyZWUgYW5nbGUsIGFuZCBmbGlwIHRvIGFsaWduIHdpdGggb25lIGRpcmVjdGlvbiBvZiB0aGUgYXhpc1xuICAgIChvcHRpb24gPT0gMCkgPyBsb29rX3Vwd2FyZHMocmF3QW5nbGUpIDogLy8gdXNlIGZyZWUgYW5nbGUsIGFuZCBzdGF5IHVwd2FyZHNcbiAgICAob3B0aW9uID09LTEpID8gMC4wIDogICAgICAgICAgICAgICAgICAgIC8vIHVzZWZ1bCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgYWxsIHRleHRzIHJlbWFpbnMgaG9yaXpvbnRhbFxuICAgICAgICAgICAgICAgICAgICByYXdBbmdsZTsgICAgICAgICAgICAgICAgLy8gb3RoZXJ3aXNlIHJldHVybiBiYWNrIHJhdyBpbnB1dCBhbmdsZVxufVxuXG5ib29sIGlzQXhpc1RpdGxlID0gKGF4aXMueCA9PSAwLjApICYmXG4gICAgICAgICAgICAgICAgICAgKGF4aXMueSA9PSAwLjApICYmXG4gICAgICAgICAgICAgICAgICAgKGF4aXMueiA9PSAwLjApO1xuXG52b2lkIG1haW4oKSB7XG4gIC8vQ29tcHV0ZSB3b3JsZCBvZmZzZXRcbiAgZmxvYXQgYXhpc0Rpc3RhbmNlID0gcG9zaXRpb24uejtcbiAgdmVjMyBkYXRhUG9zaXRpb24gPSBheGlzRGlzdGFuY2UgKiBheGlzICsgb2Zmc2V0O1xuXG4gIGZsb2F0IGJldGEgPSBhbmdsZTsgLy8gaS5lLiB1c2VyIGRlZmluZWQgYXR0cmlidXRlcyBmb3IgZWFjaCB0aWNrXG5cbiAgZmxvYXQgYXhpc0FuZ2xlO1xuICBmbG9hdCBjbGlwQW5nbGU7XG4gIGZsb2F0IGZsaXA7XG5cbiAgaWYgKGVuYWJsZUFsaWduKSB7XG4gICAgYXhpc0FuZ2xlID0gKGlzQXhpc1RpdGxlKSA/IEhBTEZfUEkgOlxuICAgICAgICAgICAgICAgICAgICAgIGNvbXB1dGVWaWV3QW5nbGUoZGF0YVBvc2l0aW9uLCBkYXRhUG9zaXRpb24gKyBheGlzKTtcbiAgICBjbGlwQW5nbGUgPSBjb21wdXRlVmlld0FuZ2xlKGRhdGFQb3NpdGlvbiwgZGF0YVBvc2l0aW9uICsgYWxpZ25EaXIpO1xuXG4gICAgYXhpc0FuZ2xlICs9IChzaW4oYXhpc0FuZ2xlKSA8IDAuMCkgPyBQSSA6IDAuMDtcbiAgICBjbGlwQW5nbGUgKz0gKHNpbihjbGlwQW5nbGUpIDwgMC4wKSA/IFBJIDogMC4wO1xuXG4gICAgZmxpcCA9IChkb3QodmVjMihjb3MoYXhpc0FuZ2xlKSwgc2luKGF4aXNBbmdsZSkpLFxuICAgICAgICAgICAgICAgIHZlYzIoc2luKGNsaXBBbmdsZSksLWNvcyhjbGlwQW5nbGUpKSkgPiAwLjApID8gMS4wIDogMC4wO1xuXG4gICAgYmV0YSArPSBhcHBseUFsaWduT3B0aW9uKGNsaXBBbmdsZSwgZmxpcCAqIFBJKTtcbiAgfVxuXG4gIC8vQ29tcHV0ZSBwbGFuZSBvZmZzZXRcbiAgdmVjMiBwbGFuZUNvb3JkID0gcG9zaXRpb24ueHkgKiBwaXhlbFNjYWxlO1xuXG4gIG1hdDIgcGxhbmVYZm9ybSA9IHNjYWxlICogbWF0MihcbiAgICAgY29zKGJldGEpLCBzaW4oYmV0YSksXG4gICAgLXNpbihiZXRhKSwgY29zKGJldGEpXG4gICk7XG5cbiAgdmVjMiB2aWV3T2Zmc2V0ID0gMi4wICogcGxhbmVYZm9ybSAqIHBsYW5lQ29vcmQgLyByZXNvbHV0aW9uO1xuXG4gIC8vQ29tcHV0ZSBjbGlwIHBvc2l0aW9uXG4gIHZlYzMgY2xpcFBvc2l0aW9uID0gcHJvamVjdChkYXRhUG9zaXRpb24pO1xuXG4gIC8vQXBwbHkgdGV4dCBvZmZzZXQgaW4gY2xpcCBjb29yZGluYXRlc1xuICBjbGlwUG9zaXRpb24gKz0gdmVjMyh2aWV3T2Zmc2V0LCAwLjApO1xuXG4gIC8vRG9uZVxuICBnbF9Qb3NpdGlvbiA9IHZlYzQoY2xpcFBvc2l0aW9uLCAxLjApO1xufSJdKSxsPW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG51bmlmb3JtIHZlYzQgY29sb3I7XG52b2lkIG1haW4oKSB7XG4gIGdsX0ZyYWdDb2xvciA9IGNvbG9yO1xufSJdKTtyLnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGEodCxzLGwsbnVsbCxbe25hbWU6InBvc2l0aW9uIix0eXBlOiJ2ZWMzIn1dKX07dmFyIGM9bihbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSB2ZWMzIHBvc2l0aW9uO1xuYXR0cmlidXRlIHZlYzMgbm9ybWFsO1xuXG51bmlmb3JtIG1hdDQgbW9kZWwsIHZpZXcsIHByb2plY3Rpb247XG51bmlmb3JtIHZlYzMgZW5hYmxlO1xudW5pZm9ybSB2ZWMzIGJvdW5kc1syXTtcblxudmFyeWluZyB2ZWMzIGNvbG9yQ2hhbm5lbDtcblxudm9pZCBtYWluKCkge1xuXG4gIHZlYzMgc2lnbkF4aXMgPSBzaWduKGJvdW5kc1sxXSAtIGJvdW5kc1swXSk7XG5cbiAgdmVjMyByZWFsTm9ybWFsID0gc2lnbkF4aXMgKiBub3JtYWw7XG5cbiAgaWYoZG90KHJlYWxOb3JtYWwsIGVuYWJsZSkgPiAwLjApIHtcbiAgICB2ZWMzIG1pblJhbmdlID0gbWluKGJvdW5kc1swXSwgYm91bmRzWzFdKTtcbiAgICB2ZWMzIG1heFJhbmdlID0gbWF4KGJvdW5kc1swXSwgYm91bmRzWzFdKTtcbiAgICB2ZWMzIG5Qb3NpdGlvbiA9IG1peChtaW5SYW5nZSwgbWF4UmFuZ2UsIDAuNSAqIChwb3NpdGlvbiArIDEuMCkpO1xuICAgIGdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbiAqIHZpZXcgKiBtb2RlbCAqIHZlYzQoblBvc2l0aW9uLCAxLjApO1xuICB9IGVsc2Uge1xuICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgwLDAsMCwwKTtcbiAgfVxuXG4gIGNvbG9yQ2hhbm5lbCA9IGFicyhyZWFsTm9ybWFsKTtcbn0iXSksdT1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxudW5pZm9ybSB2ZWM0IGNvbG9yc1szXTtcblxudmFyeWluZyB2ZWMzIGNvbG9yQ2hhbm5lbDtcblxudm9pZCBtYWluKCkge1xuICBnbF9GcmFnQ29sb3IgPSBjb2xvckNoYW5uZWwueCAqIGNvbG9yc1swXSArXG4gICAgICAgICAgICAgICAgIGNvbG9yQ2hhbm5lbC55ICogY29sb3JzWzFdICtcbiAgICAgICAgICAgICAgICAgY29sb3JDaGFubmVsLnogKiBjb2xvcnNbMl07XG59Il0pO3IuYmc9ZnVuY3Rpb24odCl7cmV0dXJuIGEodCxjLHUsbnVsbCxbe25hbWU6InBvc2l0aW9uIix0eXBlOiJ2ZWMzIn0se25hbWU6Im5vcm1hbCIsdHlwZToidmVjMyJ9XSl9fSx7ImdsLXNoYWRlciI6MzA0LGdsc2xpZnk6NDExfV0sMjQxOltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsaSxzLGwpe3ZhciB1PW4odCksaD1hKHQsW3tidWZmZXI6dSxzaXplOjN9XSksZj1vKHQpO2YuYXR0cmlidXRlcy5wb3NpdGlvbi5sb2NhdGlvbj0wO3ZhciBwPW5ldyBjKHQsZix1LGgpO3JldHVybiBwLnVwZGF0ZShlLHIsaSxzLGwpLHB9O3ZhciBuPXQoImdsLWJ1ZmZlciIpLGE9dCgiZ2wtdmFvIiksaT10KCJ2ZWN0b3JpemUtdGV4dCIpLG89dCgiLi9zaGFkZXJzIikudGV4dCxzPXdpbmRvd3x8ci5nbG9iYWx8fHt9LGw9cy5fX1RFWFRfQ0FDSEV8fHt9O3MuX19URVhUX0NBQ0hFPXt9O2Z1bmN0aW9uIGModCxlLHIsbil7dGhpcy5nbD10LHRoaXMuc2hhZGVyPWUsdGhpcy5idWZmZXI9cix0aGlzLnZhbz1uLHRoaXMudGlja09mZnNldD10aGlzLnRpY2tDb3VudD10aGlzLmxhYmVsT2Zmc2V0PXRoaXMubGFiZWxDb3VudD1udWxsfXZhciB1PWMucHJvdG90eXBlLGg9WzAsMF07dS5iaW5kPWZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMudmFvLmJpbmQoKSx0aGlzLnNoYWRlci5iaW5kKCk7dmFyIGE9dGhpcy5zaGFkZXIudW5pZm9ybXM7YS5tb2RlbD10LGEudmlldz1lLGEucHJvamVjdGlvbj1yLGEucGl4ZWxTY2FsZT1uLGhbMF09dGhpcy5nbC5kcmF3aW5nQnVmZmVyV2lkdGgsaFsxXT10aGlzLmdsLmRyYXdpbmdCdWZmZXJIZWlnaHQsdGhpcy5zaGFkZXIudW5pZm9ybXMucmVzb2x1dGlvbj1ofSx1LnVuYmluZD1mdW5jdGlvbigpe3RoaXMudmFvLnVuYmluZCgpfSx1LnVwZGF0ZT1mdW5jdGlvbih0LGUscixuLGEpe3ZhciBvPVtdO2Z1bmN0aW9uIHModCxlLHIsbixhLHMpe3ZhciBjPWxbcl07Y3x8KGM9bFtyXT17fSk7dmFyIHU9Y1tlXTt1fHwodT1jW2VdPWZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiBpKHQsZSl9Y2F0Y2goZSl7cmV0dXJuIGNvbnNvbGUud2FybignZXJyb3IgdmVjdG9yaXppbmcgdGV4dDoiJyt0KyciIGVycm9yOicsZSkse2NlbGxzOltdLHBvc2l0aW9uczpbXX19fShlLHt0cmlhbmdsZXM6ITAsZm9udDpyLHRleHRBbGlnbjoiY2VudGVyIix0ZXh0QmFzZWxpbmU6Im1pZGRsZSIsbGluZVNwYWNpbmc6YSxzdHlsZXRhZ3M6c30pKTtmb3IodmFyIGg9KG58fDEyKS8xMixmPXUucG9zaXRpb25zLHA9dS5jZWxscyxkPTAsZz1wLmxlbmd0aDtkPGc7KytkKWZvcih2YXIgdj1wW2RdLG09MjttPj0wOy0tbSl7dmFyIHk9Zlt2W21dXTtvLnB1c2goaCp5WzBdLC1oKnlbMV0sdCl9fWZvcih2YXIgYz1bMCwwLDBdLHU9WzAsMCwwXSxoPVswLDAsMF0sZj1bMCwwLDBdLHA9e2JyZWFrbGluZXM6ITAsYm9sZHM6ITAsaXRhbGljczohMCxzdWJzY3JpcHRzOiEwLHN1cGVyc2NyaXB0czohMH0sZD0wO2Q8MzsrK2Qpe2hbZF09by5sZW5ndGgvM3wwLHMoLjUqKHRbMF1bZF0rdFsxXVtkXSksZVtkXSxyW2RdLDEyLDEuMjUscCksZltkXT0oby5sZW5ndGgvM3wwKS1oW2RdLGNbZF09by5sZW5ndGgvM3wwO2Zvcih2YXIgZz0wO2c8bltkXS5sZW5ndGg7KytnKW5bZF1bZ10udGV4dCYmcyhuW2RdW2ddLngsbltkXVtnXS50ZXh0LG5bZF1bZ10uZm9udHx8YSxuW2RdW2ddLmZvbnRTaXplfHwxMiwxLjI1LHApO3VbZF09KG8ubGVuZ3RoLzN8MCktY1tkXX10aGlzLmJ1ZmZlci51cGRhdGUobyksdGhpcy50aWNrT2Zmc2V0PWMsdGhpcy50aWNrQ291bnQ9dSx0aGlzLmxhYmVsT2Zmc2V0PWgsdGhpcy5sYWJlbENvdW50PWZ9LHUuZHJhd1RpY2tzPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyl7dGhpcy50aWNrQ291bnRbdF0mJih0aGlzLnNoYWRlci51bmlmb3Jtcy5heGlzPWksdGhpcy5zaGFkZXIudW5pZm9ybXMuY29sb3I9YSx0aGlzLnNoYWRlci51bmlmb3Jtcy5hbmdsZT1yLHRoaXMuc2hhZGVyLnVuaWZvcm1zLnNjYWxlPWUsdGhpcy5zaGFkZXIudW5pZm9ybXMub2Zmc2V0PW4sdGhpcy5zaGFkZXIudW5pZm9ybXMuYWxpZ25EaXI9byx0aGlzLnNoYWRlci51bmlmb3Jtcy5hbGlnbk9wdD1zLHRoaXMudmFvLmRyYXcodGhpcy5nbC5UUklBTkdMRVMsdGhpcy50aWNrQ291bnRbdF0sdGhpcy50aWNrT2Zmc2V0W3RdKSl9LHUuZHJhd0xhYmVsPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyl7dGhpcy5sYWJlbENvdW50W3RdJiYodGhpcy5zaGFkZXIudW5pZm9ybXMuYXhpcz1pLHRoaXMuc2hhZGVyLnVuaWZvcm1zLmNvbG9yPWEsdGhpcy5zaGFkZXIudW5pZm9ybXMuYW5nbGU9cix0aGlzLnNoYWRlci51bmlmb3Jtcy5zY2FsZT1lLHRoaXMuc2hhZGVyLnVuaWZvcm1zLm9mZnNldD1uLHRoaXMuc2hhZGVyLnVuaWZvcm1zLmFsaWduRGlyPW8sdGhpcy5zaGFkZXIudW5pZm9ybXMuYWxpZ25PcHQ9cyx0aGlzLnZhby5kcmF3KHRoaXMuZ2wuVFJJQU5HTEVTLHRoaXMubGFiZWxDb3VudFt0XSx0aGlzLmxhYmVsT2Zmc2V0W3RdKSl9LHUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuc2hhZGVyLmRpc3Bvc2UoKSx0aGlzLnZhby5kaXNwb3NlKCksdGhpcy5idWZmZXIuZGlzcG9zZSgpfX0pLmNhbGwodGhpcyx0KCJfcHJvY2VzcyIpKX0seyIuL3NoYWRlcnMiOjI0MCxfcHJvY2Vzczo0ODQsImdsLWJ1ZmZlciI6MjQ0LCJnbC12YW8iOjMyOSwidmVjdG9yaXplLXRleHQiOjU0OX1dLDI0MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSl7dmFyIHI9dCsiIixuPXIuaW5kZXhPZigiLiIpLGE9MDtuPj0wJiYoYT1yLmxlbmd0aC1uLTEpO3ZhciBpPU1hdGgucG93KDEwLGEpLG89TWF0aC5yb3VuZCh0KmUqaSkscz1vKyIiO2lmKHMuaW5kZXhPZigiZSIpPj0wKXJldHVybiBzO3ZhciBsPW8vaSxjPW8laTtvPDA/KGw9MHwtTWF0aC5jZWlsKGwpLGM9MHwtYyk6KGw9MHxNYXRoLmZsb29yKGwpLGN8PTApO3ZhciB1PSIiK2w7aWYobzwwJiYodT0iLSIrdSksYSl7Zm9yKHZhciBoPSIiK2M7aC5sZW5ndGg8YTspaD0iMCIraDtyZXR1cm4gdSsiLiIraH1yZXR1cm4gdX1yLmNyZWF0ZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1bXSxhPTA7YTwzOysrYSl7Zm9yKHZhciBpPVtdLG89KHRbMF1bYV0sdFsxXVthXSwwKTtvKmVbYV08PXRbMV1bYV07KytvKWkucHVzaCh7eDpvKmVbYV0sdGV4dDpuKGVbYV0sbyl9KTtmb3IodmFyIG89LTE7byplW2FdPj10WzBdW2FdOy0tbylpLnB1c2goe3g6byplW2FdLHRleHQ6bihlW2FdLG8pfSk7ci5wdXNoKGkpfXJldHVybiByfSxyLmVxdWFsPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTA7cjwzOysrcil7aWYodFtyXS5sZW5ndGghPT1lW3JdLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIG49MDtuPHRbcl0ubGVuZ3RoOysrbil7dmFyIGE9dFtyXVtuXSxpPWVbcl1bbl07aWYoYS54IT09aS54fHxhLnRleHQhPT1pLnRleHR8fGEuZm9udCE9PWkuZm9udHx8YS5mb250Q29sb3IhPT1pLmZvbnRDb2xvcnx8YS5mb250U2l6ZSE9PWkuZm9udFNpemV8fGEuZHghPT1pLmR4fHxhLmR5IT09aS5keSlyZXR1cm4hMX19cmV0dXJuITB9fSx7fV0sMjQzOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixsLGgpe3ZhciBmPWUubW9kZWx8fGMscD1lLnZpZXd8fGMsbT1lLnByb2plY3Rpb258fGMseT1lLl9vcnRob3x8ITEseD10LmJvdW5kcyxiPShoPWh8fGkoZixwLG0seCx5KSkuYXhpcztvKHUscCxmKSxvKHUsbSx1KTtmb3IodmFyIF89Zyx3PTA7dzwzOysrdylfW3ddLmxvPTEvMCxfW3ddLmhpPS0xLzAsX1t3XS5waXhlbHNQZXJEYXRhVW5pdD0xLzA7dmFyIGs9bihzKHUsdSkpO3ModSx1KTtmb3IodmFyIFQ9MDtUPDM7KytUKXt2YXIgTT0oVCsxKSUzLEE9KFQrMiklMyxTPXY7dDpmb3IodmFyIHc9MDt3PDI7Kyt3KXt2YXIgRT1bXTtpZihiW1RdPDAhPSEhdyl7U1tUXT14W3ddW1RdO2Zvcih2YXIgTD0wO0w8MjsrK0wpe1NbTV09eFtMXnddW01dO2Zvcih2YXIgQz0wO0M8MjsrK0MpU1tBXT14W0NeTF53XVtBXSxFLnB1c2goUy5zbGljZSgpKX1mb3IodmFyIFA9eT81OjQsTD1QO0w9PT1QOysrTCl7aWYoMD09PUUubGVuZ3RoKWNvbnRpbnVlIHQ7RT1hLnBvc2l0aXZlKEUsa1tMXSl9Zm9yKHZhciBMPTA7TDxFLmxlbmd0aDsrK0wpZm9yKHZhciBBPUVbTF0sTz1kKHYsdSxBLHIsbCksQz0wO0M8MzsrK0MpX1tDXS5sbz1NYXRoLm1pbihfW0NdLmxvLEFbQ10pLF9bQ10uaGk9TWF0aC5tYXgoX1tDXS5oaSxBW0NdKSxDIT09VCYmKF9bQ10ucGl4ZWxzUGVyRGF0YVVuaXQ9TWF0aC5taW4oX1tDXS5waXhlbHNQZXJEYXRhVW5pdCxNYXRoLmFicyhPW0NdKSkpfX19cmV0dXJuIF99O3ZhciBuPXQoImV4dHJhY3QtZnJ1c3R1bS1wbGFuZXMiKSxhPXQoInNwbGl0LXBvbHlnb24iKSxpPXQoIi4vbGliL2N1YmUuanMiKSxvPXQoImdsLW1hdDQvbXVsdGlwbHkiKSxzPXQoImdsLW1hdDQvdHJhbnNwb3NlIiksbD10KCJnbC12ZWM0L3RyYW5zZm9ybU1hdDQiKSxjPW5ldyBGbG9hdDMyQXJyYXkoWzEsMCwwLDAsMCwxLDAsMCwwLDAsMSwwLDAsMCwwLDFdKSx1PW5ldyBGbG9hdDMyQXJyYXkoMTYpO2Z1bmN0aW9uIGgodCxlLHIpe3RoaXMubG89dCx0aGlzLmhpPWUsdGhpcy5waXhlbHNQZXJEYXRhVW5pdD1yfXZhciBmPVswLDAsMCwxXSxwPVswLDAsMCwxXTtmdW5jdGlvbiBkKHQsZSxyLG4sYSl7Zm9yKHZhciBpPTA7aTwzOysraSl7Zm9yKHZhciBvPWYscz1wLGM9MDtjPDM7KytjKXNbY109b1tjXT1yW2NdO3NbM109b1szXT0xLHNbaV0rPTEsbChzLHMsZSksc1szXTwwJiYodFtpXT0xLzApLG9baV0tPTEsbChvLG8sZSksb1szXTwwJiYodFtpXT0xLzApO3ZhciB1PShvWzBdL29bM10tc1swXS9zWzNdKSpuLGg9KG9bMV0vb1szXS1zWzFdL3NbM10pKmE7dFtpXT0uMjUqTWF0aC5zcXJ0KHUqdStoKmgpfXJldHVybiB0fXZhciBnPVtuZXcgaCgxLzAsLTEvMCwxLzApLG5ldyBoKDEvMCwtMS8wLDEvMCksbmV3IGgoMS8wLC0xLzAsMS8wKV0sdj1bMCwwLDBdfSx7Ii4vbGliL2N1YmUuanMiOjIzOCwiZXh0cmFjdC1mcnVzdHVtLXBsYW5lcyI6MjI3LCJnbC1tYXQ0L211bHRpcGx5IjoyNzAsImdsLW1hdDQvdHJhbnNwb3NlIjoyNzksImdsLXZlYzQvdHJhbnNmb3JtTWF0NCI6NDAwLCJzcGxpdC1wb2x5Z29uIjo1MjZ9XSwyNDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgidHlwZWRhcnJheS1wb29sIiksYT10KCJuZGFycmF5LW9wcyIpLGk9dCgibmRhcnJheSIpLG89WyJ1aW50OCIsInVpbnQ4X2NsYW1wZWQiLCJ1aW50MTYiLCJ1aW50MzIiLCJpbnQ4IiwiaW50MTYiLCJpbnQzMiIsImZsb2F0MzIiXTtmdW5jdGlvbiBzKHQsZSxyLG4sYSl7dGhpcy5nbD10LHRoaXMudHlwZT1lLHRoaXMuaGFuZGxlPXIsdGhpcy5sZW5ndGg9bix0aGlzLnVzYWdlPWF9dmFyIGw9cy5wcm90b3R5cGU7ZnVuY3Rpb24gYyh0LGUscixuLGEsaSl7dmFyIG89YS5sZW5ndGgqYS5CWVRFU19QRVJfRUxFTUVOVDtpZihpPDApcmV0dXJuIHQuYnVmZmVyRGF0YShlLGEsbiksbztpZihvK2k+cil0aHJvdyBuZXcgRXJyb3IoImdsLWJ1ZmZlcjogSWYgcmVzaXppbmcgYnVmZmVyLCBtdXN0IG5vdCBzcGVjaWZ5IG9mZnNldCIpO3JldHVybiB0LmJ1ZmZlclN1YkRhdGEoZSxpLGEpLHJ9ZnVuY3Rpb24gdSh0LGUpe2Zvcih2YXIgcj1uLm1hbGxvYyh0Lmxlbmd0aCxlKSxhPXQubGVuZ3RoLGk9MDtpPGE7KytpKXJbaV09dFtpXTtyZXR1cm4gcn1sLmJpbmQ9ZnVuY3Rpb24oKXt0aGlzLmdsLmJpbmRCdWZmZXIodGhpcy50eXBlLHRoaXMuaGFuZGxlKX0sbC51bmJpbmQ9ZnVuY3Rpb24oKXt0aGlzLmdsLmJpbmRCdWZmZXIodGhpcy50eXBlLG51bGwpfSxsLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLmdsLmRlbGV0ZUJ1ZmZlcih0aGlzLmhhbmRsZSl9LGwudXBkYXRlPWZ1bmN0aW9uKHQsZSl7aWYoIm51bWJlciIhPXR5cGVvZiBlJiYoZT0tMSksdGhpcy5iaW5kKCksIm9iamVjdCI9PXR5cGVvZiB0JiYidW5kZWZpbmVkIiE9dHlwZW9mIHQuc2hhcGUpe3ZhciByPXQuZHR5cGU7aWYoby5pbmRleE9mKHIpPDAmJihyPSJmbG9hdDMyIiksdGhpcy50eXBlPT09dGhpcy5nbC5FTEVNRU5UX0FSUkFZX0JVRkZFUilyPWdsLmdldEV4dGVuc2lvbigiT0VTX2VsZW1lbnRfaW5kZXhfdWludCIpJiYidWludDE2IiE9PXI/InVpbnQzMiI6InVpbnQxNiI7aWYocj09PXQuZHR5cGUmJmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTEsbj1lLmxlbmd0aC0xO24+PTA7LS1uKXtpZihlW25dIT09cilyZXR1cm4hMTtyKj10W25dfXJldHVybiEwfSh0LnNoYXBlLHQuc3RyaWRlKSkwPT09dC5vZmZzZXQmJnQuZGF0YS5sZW5ndGg9PT10LnNoYXBlWzBdP3RoaXMubGVuZ3RoPWModGhpcy5nbCx0aGlzLnR5cGUsdGhpcy5sZW5ndGgsdGhpcy51c2FnZSx0LmRhdGEsZSk6dGhpcy5sZW5ndGg9Yyh0aGlzLmdsLHRoaXMudHlwZSx0aGlzLmxlbmd0aCx0aGlzLnVzYWdlLHQuZGF0YS5zdWJhcnJheSh0Lm9mZnNldCx0LnNoYXBlWzBdKSxlKTtlbHNle3ZhciBzPW4ubWFsbG9jKHQuc2l6ZSxyKSxsPWkocyx0LnNoYXBlKTthLmFzc2lnbihsLHQpLHRoaXMubGVuZ3RoPWModGhpcy5nbCx0aGlzLnR5cGUsdGhpcy5sZW5ndGgsdGhpcy51c2FnZSxlPDA/czpzLnN1YmFycmF5KDAsdC5zaXplKSxlKSxuLmZyZWUocyl9fWVsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSl7dmFyIGg7aD10aGlzLnR5cGU9PT10aGlzLmdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSP3UodCwidWludDE2Iik6dSh0LCJmbG9hdDMyIiksdGhpcy5sZW5ndGg9Yyh0aGlzLmdsLHRoaXMudHlwZSx0aGlzLmxlbmd0aCx0aGlzLnVzYWdlLGU8MD9oOmguc3ViYXJyYXkoMCx0Lmxlbmd0aCksZSksbi5mcmVlKGgpfWVsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiB0JiYibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKXRoaXMubGVuZ3RoPWModGhpcy5nbCx0aGlzLnR5cGUsdGhpcy5sZW5ndGgsdGhpcy51c2FnZSx0LGUpO2Vsc2V7aWYoIm51bWJlciIhPXR5cGVvZiB0JiZ2b2lkIDAhPT10KXRocm93IG5ldyBFcnJvcigiZ2wtYnVmZmVyOiBJbnZhbGlkIGRhdGEgdHlwZSIpO2lmKGU+PTApdGhyb3cgbmV3IEVycm9yKCJnbC1idWZmZXI6IENhbm5vdCBzcGVjaWZ5IG9mZnNldCB3aGVuIHJlc2l6aW5nIGJ1ZmZlciIpOyh0fD0wKTw9MCYmKHQ9MSksdGhpcy5nbC5idWZmZXJEYXRhKHRoaXMudHlwZSwwfHQsdGhpcy51c2FnZSksdGhpcy5sZW5ndGg9dH19LGUuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuKXtpZihyPXJ8fHQuQVJSQVlfQlVGRkVSLG49bnx8dC5EWU5BTUlDX0RSQVcsciE9PXQuQVJSQVlfQlVGRkVSJiZyIT09dC5FTEVNRU5UX0FSUkFZX0JVRkZFUil0aHJvdyBuZXcgRXJyb3IoImdsLWJ1ZmZlcjogSW52YWxpZCB0eXBlIGZvciB3ZWJnbCBidWZmZXIsIG11c3QgYmUgZWl0aGVyIGdsLkFSUkFZX0JVRkZFUiBvciBnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUiIpO2lmKG4hPT10LkRZTkFNSUNfRFJBVyYmbiE9PXQuU1RBVElDX0RSQVcmJm4hPT10LlNUUkVBTV9EUkFXKXRocm93IG5ldyBFcnJvcigiZ2wtYnVmZmVyOiBJbnZhbGlkIHVzYWdlIGZvciBidWZmZXIsIG11c3QgYmUgZWl0aGVyIGdsLkRZTkFNSUNfRFJBVywgZ2wuU1RBVElDX0RSQVcgb3IgZ2wuU1RSRUFNX0RSQVciKTt2YXIgYT10LmNyZWF0ZUJ1ZmZlcigpLGk9bmV3IHModCxyLGEsMCxuKTtyZXR1cm4gaS51cGRhdGUoZSksaX19LHtuZGFycmF5OjQ1MiwibmRhcnJheS1vcHMiOjQ0NiwidHlwZWRhcnJheS1wb29sIjo1NDR9XSwyNDU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZ2wtdmVjMyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXQucG9zaXRpb25zLGE9dC52ZWN0b3JzLGk9e3Bvc2l0aW9uczpbXSx2ZXJ0ZXhJbnRlbnNpdHk6W10sdmVydGV4SW50ZW5zaXR5Qm91bmRzOnQudmVydGV4SW50ZW5zaXR5Qm91bmRzLHZlY3RvcnM6W10sY2VsbHM6W10sY29uZU9mZnNldDp0LmNvbmVPZmZzZXQsY29sb3JtYXA6dC5jb2xvcm1hcH07aWYoMD09PXQucG9zaXRpb25zLmxlbmd0aClyZXR1cm4gZSYmKGVbMF09WzAsMCwwXSxlWzFdPVswLDAsMF0pLGk7Zm9yKHZhciBvPTAscz0xLzAsbD0tMS8wLGM9MS8wLHU9LTEvMCxoPTEvMCxmPS0xLzAscD1udWxsLGQ9bnVsbCxnPVtdLHY9MS8wLG09ITEseT0wO3k8ci5sZW5ndGg7eSsrKXt2YXIgeD1yW3ldO3M9TWF0aC5taW4oeFswXSxzKSxsPU1hdGgubWF4KHhbMF0sbCksYz1NYXRoLm1pbih4WzFdLGMpLHU9TWF0aC5tYXgoeFsxXSx1KSxoPU1hdGgubWluKHhbMl0saCksZj1NYXRoLm1heCh4WzJdLGYpO3ZhciBiPWFbeV07aWYobi5sZW5ndGgoYik+byYmKG89bi5sZW5ndGgoYikpLHkpe3ZhciBfPTIqbi5kaXN0YW5jZShwLHgpLyhuLmxlbmd0aChkKStuLmxlbmd0aChiKSk7Xz8odj1NYXRoLm1pbih2LF8pLG09ITEpOm09ITB9bXx8KHA9eCxkPWIpLGcucHVzaChiKX12YXIgdz1bcyxjLGhdLGs9W2wsdSxmXTtlJiYoZVswXT13LGVbMV09ayksMD09PW8mJihvPTEpO3ZhciBUPTEvbztpc0Zpbml0ZSh2KXx8KHY9MSksaS52ZWN0b3JTY2FsZT12O3ZhciBNPXQuY29uZVNpemV8fC41O3QuYWJzb2x1dGVDb25lU2l6ZSYmKE09dC5hYnNvbHV0ZUNvbmVTaXplKlQpLGkuY29uZVNjYWxlPU07eT0wO2Zvcih2YXIgQT0wO3k8ci5sZW5ndGg7eSsrKWZvcih2YXIgUz0oeD1yW3ldKVswXSxFPXhbMV0sTD14WzJdLEM9Z1t5XSxQPW4ubGVuZ3RoKEMpKlQsTz0wO088ODtPKyspe2kucG9zaXRpb25zLnB1c2goW1MsRSxMLEErK10pLGkucG9zaXRpb25zLnB1c2goW1MsRSxMLEErK10pLGkucG9zaXRpb25zLnB1c2goW1MsRSxMLEErK10pLGkucG9zaXRpb25zLnB1c2goW1MsRSxMLEErK10pLGkucG9zaXRpb25zLnB1c2goW1MsRSxMLEErK10pLGkucG9zaXRpb25zLnB1c2goW1MsRSxMLEErK10pLGkudmVjdG9ycy5wdXNoKEMpLGkudmVjdG9ycy5wdXNoKEMpLGkudmVjdG9ycy5wdXNoKEMpLGkudmVjdG9ycy5wdXNoKEMpLGkudmVjdG9ycy5wdXNoKEMpLGkudmVjdG9ycy5wdXNoKEMpLGkudmVydGV4SW50ZW5zaXR5LnB1c2goUCxQLFApLGkudmVydGV4SW50ZW5zaXR5LnB1c2goUCxQLFApO3ZhciB6PWkucG9zaXRpb25zLmxlbmd0aDtpLmNlbGxzLnB1c2goW3otNix6LTUsei00XSxbei0zLHotMix6LTFdKX1yZXR1cm4gaX07dmFyIGE9dCgiLi9saWIvc2hhZGVycyIpO2UuZXhwb3J0cy5jcmVhdGVNZXNoPXQoIi4vY3JlYXRlX21lc2giKSxlLmV4cG9ydHMuY3JlYXRlQ29uZU1lc2g9ZnVuY3Rpb24odCxyKXtyZXR1cm4gZS5leHBvcnRzLmNyZWF0ZU1lc2godCxyLHtzaGFkZXJzOmEsdHJhY2VUeXBlOiJjb25lIn0pfX0seyIuL2NyZWF0ZV9tZXNoIjoyNDYsIi4vbGliL3NoYWRlcnMiOjI0NywiZ2wtdmVjMyI6MzQ4fV0sMjQ2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImdsLXNoYWRlciIpLGE9dCgiZ2wtYnVmZmVyIiksaT10KCJnbC12YW8iKSxvPXQoImdsLXRleHR1cmUyZCIpLHM9dCgiZ2wtbWF0NC9tdWx0aXBseSIpLGw9dCgiZ2wtbWF0NC9pbnZlcnQiKSxjPXQoIm5kYXJyYXkiKSx1PXQoImNvbG9ybWFwIiksaD1bMSwwLDAsMCwwLDEsMCwwLDAsMCwxLDAsMCwwLDAsMV07ZnVuY3Rpb24gZih0LGUscixuLGEsaSxvLHMsbCxjLHUpe3RoaXMuZ2w9dCx0aGlzLnBpeGVsUmF0aW89MSx0aGlzLmNlbGxzPVtdLHRoaXMucG9zaXRpb25zPVtdLHRoaXMuaW50ZW5zaXR5PVtdLHRoaXMudGV4dHVyZT1lLHRoaXMuZGlydHk9ITAsdGhpcy50cmlTaGFkZXI9cix0aGlzLnBpY2tTaGFkZXI9bix0aGlzLnRyaWFuZ2xlUG9zaXRpb25zPWEsdGhpcy50cmlhbmdsZVZlY3RvcnM9aSx0aGlzLnRyaWFuZ2xlQ29sb3JzPXMsdGhpcy50cmlhbmdsZVVWcz1sLHRoaXMudHJpYW5nbGVJZHM9byx0aGlzLnRyaWFuZ2xlVkFPPWMsdGhpcy50cmlhbmdsZUNvdW50PTAsdGhpcy5waWNrSWQ9MSx0aGlzLmJvdW5kcz1bWzEvMCwxLzAsMS8wXSxbLTEvMCwtMS8wLC0xLzBdXSx0aGlzLmNsaXBCb3VuZHM9W1stMS8wLC0xLzAsLTEvMF0sWzEvMCwxLzAsMS8wXV0sdGhpcy5saWdodFBvc2l0aW9uPVsxZTUsMWU1LDBdLHRoaXMuYW1iaWVudExpZ2h0PS44LHRoaXMuZGlmZnVzZUxpZ2h0PS44LHRoaXMuc3BlY3VsYXJMaWdodD0yLHRoaXMucm91Z2huZXNzPS41LHRoaXMuZnJlc25lbD0xLjUsdGhpcy5vcGFjaXR5PTEsdGhpcy50cmFjZVR5cGU9dSx0aGlzLnR1YmVTY2FsZT0xLHRoaXMuY29uZVNjYWxlPTIsdGhpcy52ZWN0b3JTY2FsZT0xLHRoaXMuY29uZU9mZnNldD0uMjUsdGhpcy5fbW9kZWw9aCx0aGlzLl92aWV3PWgsdGhpcy5fcHJvamVjdGlvbj1oLHRoaXMuX3Jlc29sdXRpb249WzEsMV19dmFyIHA9Zi5wcm90b3R5cGU7cC5pc09wYXF1ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9wYWNpdHk+PTF9LHAuaXNUcmFuc3BhcmVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9wYWNpdHk8MX0scC5waWNrU2xvdHM9MSxwLnNldFBpY2tCYXNlPWZ1bmN0aW9uKHQpe3RoaXMucGlja0lkPXR9LHAudXBkYXRlPWZ1bmN0aW9uKHQpe3Q9dHx8e307dmFyIGU9dGhpcy5nbDt0aGlzLmRpcnR5PSEwLCJsaWdodFBvc2l0aW9uImluIHQmJih0aGlzLmxpZ2h0UG9zaXRpb249dC5saWdodFBvc2l0aW9uKSwib3BhY2l0eSJpbiB0JiYodGhpcy5vcGFjaXR5PXQub3BhY2l0eSksImFtYmllbnQiaW4gdCYmKHRoaXMuYW1iaWVudExpZ2h0PXQuYW1iaWVudCksImRpZmZ1c2UiaW4gdCYmKHRoaXMuZGlmZnVzZUxpZ2h0PXQuZGlmZnVzZSksInNwZWN1bGFyImluIHQmJih0aGlzLnNwZWN1bGFyTGlnaHQ9dC5zcGVjdWxhciksInJvdWdobmVzcyJpbiB0JiYodGhpcy5yb3VnaG5lc3M9dC5yb3VnaG5lc3MpLCJmcmVzbmVsImluIHQmJih0aGlzLmZyZXNuZWw9dC5mcmVzbmVsKSx2b2lkIDAhPT10LnR1YmVTY2FsZSYmKHRoaXMudHViZVNjYWxlPXQudHViZVNjYWxlKSx2b2lkIDAhPT10LnZlY3RvclNjYWxlJiYodGhpcy52ZWN0b3JTY2FsZT10LnZlY3RvclNjYWxlKSx2b2lkIDAhPT10LmNvbmVTY2FsZSYmKHRoaXMuY29uZVNjYWxlPXQuY29uZVNjYWxlKSx2b2lkIDAhPT10LmNvbmVPZmZzZXQmJih0aGlzLmNvbmVPZmZzZXQ9dC5jb25lT2Zmc2V0KSx0LmNvbG9ybWFwJiYodGhpcy50ZXh0dXJlLnNoYXBlPVsyNTYsMjU2XSx0aGlzLnRleHR1cmUubWluRmlsdGVyPWUuTElORUFSX01JUE1BUF9MSU5FQVIsdGhpcy50ZXh0dXJlLm1hZ0ZpbHRlcj1lLkxJTkVBUix0aGlzLnRleHR1cmUuc2V0UGl4ZWxzKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT11KHtjb2xvcm1hcDp0LG5zaGFkZXM6MjU2LGZvcm1hdDoicmdiYSJ9KSxyPW5ldyBVaW50OEFycmF5KDEwMjQpLG49MDtuPDI1NjsrK24pe2Zvcih2YXIgYT1lW25dLGk9MDtpPDM7KytpKXJbNCpuK2ldPWFbaV07cls0Km4rM109MjU1KmFbM119cmV0dXJuIGMocixbMjU2LDI1Niw0XSxbNCwwLDFdKX0odC5jb2xvcm1hcCkpLHRoaXMudGV4dHVyZS5nZW5lcmF0ZU1pcG1hcCgpKTt2YXIgcj10LmNlbGxzLG49dC5wb3NpdGlvbnMsYT10LnZlY3RvcnM7aWYobiYmciYmYSl7dmFyIGk9W10sbz1bXSxzPVtdLGw9W10saD1bXTt0aGlzLmNlbGxzPXIsdGhpcy5wb3NpdGlvbnM9bix0aGlzLnZlY3RvcnM9YTt2YXIgZj10Lm1lc2hDb2xvcnx8WzEsMSwxLDFdLHA9dC52ZXJ0ZXhJbnRlbnNpdHksZD0xLzAsZz0tMS8wO2lmKHApaWYodC52ZXJ0ZXhJbnRlbnNpdHlCb3VuZHMpZD0rdC52ZXJ0ZXhJbnRlbnNpdHlCb3VuZHNbMF0sZz0rdC52ZXJ0ZXhJbnRlbnNpdHlCb3VuZHNbMV07ZWxzZSBmb3IodmFyIHY9MDt2PHAubGVuZ3RoOysrdil7dmFyIG09cFt2XTtkPU1hdGgubWluKGQsbSksZz1NYXRoLm1heChnLG0pfWVsc2UgZm9yKHY9MDt2PG4ubGVuZ3RoOysrdil7bT1uW3ZdWzJdO2Q9TWF0aC5taW4oZCxtKSxnPU1hdGgubWF4KGcsbSl9dGhpcy5pbnRlbnNpdHk9cHx8ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQubGVuZ3RoLHI9bmV3IEFycmF5KGUpLG49MDtuPGU7KytuKXJbbl09dFtuXVsyXTtyZXR1cm4gcn0obiksdGhpcy5ib3VuZHM9W1sxLzAsMS8wLDEvMF0sWy0xLzAsLTEvMCwtMS8wXV07Zm9yKHY9MDt2PG4ubGVuZ3RoOysrdilmb3IodmFyIHk9blt2XSx4PTA7eDwzOysreCkhaXNOYU4oeVt4XSkmJmlzRmluaXRlKHlbeF0pJiYodGhpcy5ib3VuZHNbMF1beF09TWF0aC5taW4odGhpcy5ib3VuZHNbMF1beF0seVt4XSksdGhpcy5ib3VuZHNbMV1beF09TWF0aC5tYXgodGhpcy5ib3VuZHNbMV1beF0seVt4XSkpO3ZhciBiPTA7dDpmb3Iodj0wO3Y8ci5sZW5ndGg7Kyt2KXt2YXIgXz1yW3ZdO3N3aXRjaChfLmxlbmd0aCl7Y2FzZSAzOmZvcih4PTA7eDwzOysreCl7eT1uW2s9X1t4XV07Zm9yKHZhciB3PTA7dzwzOysrdylpZihpc05hTih5W3ddKXx8IWlzRmluaXRlKHlbd10pKWNvbnRpbnVlIHR9Zm9yKHg9MDt4PDM7Kyt4KXt2YXIgazt5PW5baz1fWzIteF1dO2kucHVzaCh5WzBdLHlbMV0seVsyXSx5WzNdKTt2YXIgVD1hW2tdO28ucHVzaChUWzBdLFRbMV0sVFsyXSxUWzNdfHwwKTt2YXIgTSxBPWY7Mz09PUEubGVuZ3RoP3MucHVzaChBWzBdLEFbMV0sQVsyXSwxKTpzLnB1c2goQVswXSxBWzFdLEFbMl0sQVszXSksTT1wP1socFtrXS1kKS8oZy1kKSwwXTpbKHlbMl0tZCkvKGctZCksMF0sbC5wdXNoKE1bMF0sTVsxXSksaC5wdXNoKHYpfWIrPTF9fXRoaXMudHJpYW5nbGVDb3VudD1iLHRoaXMudHJpYW5nbGVQb3NpdGlvbnMudXBkYXRlKGkpLHRoaXMudHJpYW5nbGVWZWN0b3JzLnVwZGF0ZShvKSx0aGlzLnRyaWFuZ2xlQ29sb3JzLnVwZGF0ZShzKSx0aGlzLnRyaWFuZ2xlVVZzLnVwZGF0ZShsKSx0aGlzLnRyaWFuZ2xlSWRzLnVwZGF0ZShuZXcgVWludDMyQXJyYXkoaCkpfX0scC5kcmF3VHJhbnNwYXJlbnQ9cC5kcmF3PWZ1bmN0aW9uKHQpe3Q9dHx8e307Zm9yKHZhciBlPXRoaXMuZ2wscj10Lm1vZGVsfHxoLG49dC52aWV3fHxoLGE9dC5wcm9qZWN0aW9ufHxoLGk9W1stMWU2LC0xZTYsLTFlNl0sWzFlNiwxZTYsMWU2XV0sbz0wO288MzsrK28paVswXVtvXT1NYXRoLm1heChpWzBdW29dLHRoaXMuY2xpcEJvdW5kc1swXVtvXSksaVsxXVtvXT1NYXRoLm1pbihpWzFdW29dLHRoaXMuY2xpcEJvdW5kc1sxXVtvXSk7dmFyIGM9e21vZGVsOnIsdmlldzpuLHByb2plY3Rpb246YSxpbnZlcnNlTW9kZWw6aC5zbGljZSgpLGNsaXBCb3VuZHM6aSxrYW1iaWVudDp0aGlzLmFtYmllbnRMaWdodCxrZGlmZnVzZTp0aGlzLmRpZmZ1c2VMaWdodCxrc3BlY3VsYXI6dGhpcy5zcGVjdWxhckxpZ2h0LHJvdWdobmVzczp0aGlzLnJvdWdobmVzcyxmcmVzbmVsOnRoaXMuZnJlc25lbCxleWVQb3NpdGlvbjpbMCwwLDBdLGxpZ2h0UG9zaXRpb246WzAsMCwwXSxvcGFjaXR5OnRoaXMub3BhY2l0eSx0dWJlU2NhbGU6dGhpcy50dWJlU2NhbGUsdmVjdG9yU2NhbGU6dGhpcy52ZWN0b3JTY2FsZSxjb25lU2NhbGU6dGhpcy5jb25lU2NhbGUsY29uZU9mZnNldDp0aGlzLmNvbmVPZmZzZXQsdGV4dHVyZTowfTtjLmludmVyc2VNb2RlbD1sKGMuaW52ZXJzZU1vZGVsLGMubW9kZWwpLGUuZGlzYWJsZShlLkNVTExfRkFDRSksdGhpcy50ZXh0dXJlLmJpbmQoMCk7dmFyIHU9bmV3IEFycmF5KDE2KTtzKHUsYy52aWV3LGMubW9kZWwpLHModSxjLnByb2plY3Rpb24sdSksbCh1LHUpO2ZvcihvPTA7bzwzOysrbyljLmV5ZVBvc2l0aW9uW29dPXVbMTIrb10vdVsxNV07dmFyIGY9dVsxNV07Zm9yKG89MDtvPDM7KytvKWYrPXRoaXMubGlnaHRQb3NpdGlvbltvXSp1WzQqbyszXTtmb3Iobz0wO288MzsrK28pe2Zvcih2YXIgcD11WzEyK29dLGQ9MDtkPDM7KytkKXArPXVbNCpkK29dKnRoaXMubGlnaHRQb3NpdGlvbltkXTtjLmxpZ2h0UG9zaXRpb25bb109cC9mfWlmKHRoaXMudHJpYW5nbGVDb3VudD4wKXt2YXIgZz10aGlzLnRyaVNoYWRlcjtnLmJpbmQoKSxnLnVuaWZvcm1zPWMsdGhpcy50cmlhbmdsZVZBTy5iaW5kKCksZS5kcmF3QXJyYXlzKGUuVFJJQU5HTEVTLDAsMyp0aGlzLnRyaWFuZ2xlQ291bnQpLHRoaXMudHJpYW5nbGVWQU8udW5iaW5kKCl9fSxwLmRyYXdQaWNrPWZ1bmN0aW9uKHQpe3Q9dHx8e307Zm9yKHZhciBlPXRoaXMuZ2wscj10Lm1vZGVsfHxoLG49dC52aWV3fHxoLGE9dC5wcm9qZWN0aW9ufHxoLGk9W1stMWU2LC0xZTYsLTFlNl0sWzFlNiwxZTYsMWU2XV0sbz0wO288MzsrK28paVswXVtvXT1NYXRoLm1heChpWzBdW29dLHRoaXMuY2xpcEJvdW5kc1swXVtvXSksaVsxXVtvXT1NYXRoLm1pbihpWzFdW29dLHRoaXMuY2xpcEJvdW5kc1sxXVtvXSk7dGhpcy5fbW9kZWw9W10uc2xpY2UuY2FsbChyKSx0aGlzLl92aWV3PVtdLnNsaWNlLmNhbGwobiksdGhpcy5fcHJvamVjdGlvbj1bXS5zbGljZS5jYWxsKGEpLHRoaXMuX3Jlc29sdXRpb249W2UuZHJhd2luZ0J1ZmZlcldpZHRoLGUuZHJhd2luZ0J1ZmZlckhlaWdodF07dmFyIHM9e21vZGVsOnIsdmlldzpuLHByb2plY3Rpb246YSxjbGlwQm91bmRzOmksdHViZVNjYWxlOnRoaXMudHViZVNjYWxlLHZlY3RvclNjYWxlOnRoaXMudmVjdG9yU2NhbGUsY29uZVNjYWxlOnRoaXMuY29uZVNjYWxlLGNvbmVPZmZzZXQ6dGhpcy5jb25lT2Zmc2V0LHBpY2tJZDp0aGlzLnBpY2tJZC8yNTV9LGw9dGhpcy5waWNrU2hhZGVyO2wuYmluZCgpLGwudW5pZm9ybXM9cyx0aGlzLnRyaWFuZ2xlQ291bnQ+MCYmKHRoaXMudHJpYW5nbGVWQU8uYmluZCgpLGUuZHJhd0FycmF5cyhlLlRSSUFOR0xFUywwLDMqdGhpcy50cmlhbmdsZUNvdW50KSx0aGlzLnRyaWFuZ2xlVkFPLnVuYmluZCgpKX0scC5waWNrPWZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybiBudWxsO2lmKHQuaWQhPT10aGlzLnBpY2tJZClyZXR1cm4gbnVsbDt2YXIgZT10LnZhbHVlWzBdKzI1Nip0LnZhbHVlWzFdKzY1NTM2KnQudmFsdWVbMl0scj10aGlzLmNlbGxzW2VdLG49dGhpcy5wb3NpdGlvbnNbclsxXV0uc2xpY2UoMCwzKSxhPXtwb3NpdGlvbjpuLGRhdGFDb29yZGluYXRlOm4saW5kZXg6TWF0aC5mbG9vcihyWzFdLzQ4KX07cmV0dXJuImNvbmUiPT09dGhpcy50cmFjZVR5cGU/YS5pbmRleD1NYXRoLmZsb29yKHJbMV0vNDgpOiJzdHJlYW10dWJlIj09PXRoaXMudHJhY2VUeXBlJiYoYS5pbnRlbnNpdHk9dGhpcy5pbnRlbnNpdHlbclsxXV0sYS52ZWxvY2l0eT10aGlzLnZlY3RvcnNbclsxXV0uc2xpY2UoMCwzKSxhLmRpdmVyZ2VuY2U9dGhpcy52ZWN0b3JzW3JbMV1dWzNdLGEuaW5kZXg9ZSksYX0scC5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy50ZXh0dXJlLmRpc3Bvc2UoKSx0aGlzLnRyaVNoYWRlci5kaXNwb3NlKCksdGhpcy5waWNrU2hhZGVyLmRpc3Bvc2UoKSx0aGlzLnRyaWFuZ2xlVkFPLmRpc3Bvc2UoKSx0aGlzLnRyaWFuZ2xlUG9zaXRpb25zLmRpc3Bvc2UoKSx0aGlzLnRyaWFuZ2xlVmVjdG9ycy5kaXNwb3NlKCksdGhpcy50cmlhbmdsZUNvbG9ycy5kaXNwb3NlKCksdGhpcy50cmlhbmdsZVVWcy5kaXNwb3NlKCksdGhpcy50cmlhbmdsZUlkcy5kaXNwb3NlKCl9LGUuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIHM9ci5zaGFkZXJzOzE9PT1hcmd1bWVudHMubGVuZ3RoJiYodD0oZT10KS5nbCk7dmFyIGw9ZnVuY3Rpb24odCxlKXt2YXIgcj1uKHQsZS5tZXNoU2hhZGVyLnZlcnRleCxlLm1lc2hTaGFkZXIuZnJhZ21lbnQsbnVsbCxlLm1lc2hTaGFkZXIuYXR0cmlidXRlcyk7cmV0dXJuIHIuYXR0cmlidXRlcy5wb3NpdGlvbi5sb2NhdGlvbj0wLHIuYXR0cmlidXRlcy5jb2xvci5sb2NhdGlvbj0yLHIuYXR0cmlidXRlcy51di5sb2NhdGlvbj0zLHIuYXR0cmlidXRlcy52ZWN0b3IubG9jYXRpb249NCxyfSh0LHMpLHU9ZnVuY3Rpb24odCxlKXt2YXIgcj1uKHQsZS5waWNrU2hhZGVyLnZlcnRleCxlLnBpY2tTaGFkZXIuZnJhZ21lbnQsbnVsbCxlLnBpY2tTaGFkZXIuYXR0cmlidXRlcyk7cmV0dXJuIHIuYXR0cmlidXRlcy5wb3NpdGlvbi5sb2NhdGlvbj0wLHIuYXR0cmlidXRlcy5pZC5sb2NhdGlvbj0xLHIuYXR0cmlidXRlcy52ZWN0b3IubG9jYXRpb249NCxyfSh0LHMpLGg9byh0LGMobmV3IFVpbnQ4QXJyYXkoWzI1NSwyNTUsMjU1LDI1NV0pLFsxLDEsNF0pKTtoLmdlbmVyYXRlTWlwbWFwKCksaC5taW5GaWx0ZXI9dC5MSU5FQVJfTUlQTUFQX0xJTkVBUixoLm1hZ0ZpbHRlcj10LkxJTkVBUjt2YXIgcD1hKHQpLGQ9YSh0KSxnPWEodCksdj1hKHQpLG09YSh0KSx5PW5ldyBmKHQsaCxsLHUscCxkLG0sZyx2LGkodCxbe2J1ZmZlcjpwLHR5cGU6dC5GTE9BVCxzaXplOjR9LHtidWZmZXI6bSx0eXBlOnQuVU5TSUdORURfQllURSxzaXplOjQsbm9ybWFsaXplZDohMH0se2J1ZmZlcjpnLHR5cGU6dC5GTE9BVCxzaXplOjR9LHtidWZmZXI6dix0eXBlOnQuRkxPQVQsc2l6ZToyfSx7YnVmZmVyOmQsdHlwZTp0LkZMT0FULHNpemU6NH1dKSxyLnRyYWNlVHlwZXx8ImNvbmUiKTtyZXR1cm4geS51cGRhdGUoZSkseX19LHtjb2xvcm1hcDoxMjgsImdsLWJ1ZmZlciI6MjQ0LCJnbC1tYXQ0L2ludmVydCI6MjY4LCJnbC1tYXQ0L211bHRpcGx5IjoyNzAsImdsLXNoYWRlciI6MzA0LCJnbC10ZXh0dXJlMmQiOjMyNCwiZ2wtdmFvIjozMjksbmRhcnJheTo0NTJ9XSwyNDc6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJnbHNsaWZ5IiksYT1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuXG5wcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG52ZWMzIGdldE9ydGhvZ29uYWxWZWN0b3IodmVjMyB2KSB7XG4gIC8vIFJldHVybiB1cC12ZWN0b3IgZm9yIG9ubHkteiB2ZWN0b3IuXG4gIC8vIFJldHVybiBheCArIGJ5ICsgY3ogPSAwLCBhIHBvaW50IHRoYXQgbGllcyBvbiB0aGUgcGxhbmUgdGhhdCBoYXMgdiBhcyBhIG5vcm1hbCBhbmQgdGhhdCBpc24ndCAoMCwwLDApLlxuICAvLyBGcm9tIHRoZSBhYm92ZSBpZi1zdGF0ZW1lbnQgd2UgaGF2ZSB8fGF8fCA+IDAgIFUgIHx8Ynx8ID4gMC5cbiAgLy8gQXNzaWduIHogPSAwLCB4ID0gLWIsIHkgPSBhOlxuICAvLyBhKi1iICsgYiphICsgYyowID0gLWJhICsgYmEgKyAwID0gMFxuICBpZiAodi54KnYueCA+IHYueip2LnogfHwgdi55KnYueSA+IHYueip2LnopIHtcbiAgICByZXR1cm4gbm9ybWFsaXplKHZlYzMoLXYueSwgdi54LCAwLjApKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbm9ybWFsaXplKHZlYzMoMC4wLCB2LnosIC12LnkpKTtcbiAgfVxufVxuXG4vLyBDYWxjdWxhdGUgdGhlIGNvbmUgdmVydGV4IGFuZCBub3JtYWwgYXQgdGhlIGdpdmVuIGluZGV4LlxuLy9cbi8vIFRoZSByZXR1cm5lZCB2ZXJ0ZXggaXMgZm9yIGEgY29uZSB3aXRoIGl0cyB0b3AgYXQgb3JpZ2luIGFuZCBoZWlnaHQgb2YgMS4wLFxuLy8gcG9pbnRpbmcgaW4gdGhlIGRpcmVjdGlvbiBvZiB0aGUgdmVjdG9yIGF0dHJpYnV0ZS5cbi8vXG4vLyBFYWNoIGNvbmUgaXMgbWFkZSB1cCBvZiBhIHRvcCB2ZXJ0ZXgsIGEgY2VudGVyIGJhc2UgdmVydGV4IGFuZCBiYXNlIHBlcmltZXRlciB2ZXJ0aWNlcy5cbi8vIFRoZXNlIHZlcnRpY2VzIGFyZSB1c2VkIHRvIG1ha2UgdXAgdGhlIHRyaWFuZ2xlcyBvZiB0aGUgY29uZSBieSB0aGUgZm9sbG93aW5nOlxuLy8gICBzZWdtZW50ICsgMCB0b3AgdmVydGV4XG4vLyAgIHNlZ21lbnQgKyAxIHBlcmltZXRlciB2ZXJ0ZXggYSsxXG4vLyAgIHNlZ21lbnQgKyAyIHBlcmltZXRlciB2ZXJ0ZXggYVxuLy8gICBzZWdtZW50ICsgMyBjZW50ZXIgYmFzZSB2ZXJ0ZXhcbi8vICAgc2VnbWVudCArIDQgcGVyaW1ldGVyIHZlcnRleCBhXG4vLyAgIHNlZ21lbnQgKyA1IHBlcmltZXRlciB2ZXJ0ZXggYSsxXG4vLyBXaGVyZSBzZWdtZW50IGlzIHRoZSBudW1iZXIgb2YgdGhlIHJhZGlhbCBzZWdtZW50ICogNiBhbmQgYSBpcyB0aGUgYW5nbGUgYXQgdGhhdCByYWRpYWwgc2VnbWVudC5cbi8vIFRvIGdvIGZyb20gaW5kZXggdG8gc2VnbWVudCwgZmxvb3IoaW5kZXggLyA2KVxuLy8gVG8gZ28gZnJvbSBzZWdtZW50IHRvIGFuZ2xlLCAyKnBpICogKHNlZ21lbnQvc2VnbWVudENvdW50KVxuLy8gVG8gZ28gZnJvbSBpbmRleCB0byBzZWdtZW50IGluZGV4LCBpbmRleCAtIChzZWdtZW50KjYpXG4vL1xudmVjMyBnZXRDb25lUG9zaXRpb24odmVjMyBkLCBmbG9hdCByYXdJbmRleCwgZmxvYXQgY29uZU9mZnNldCwgb3V0IHZlYzMgbm9ybWFsKSB7XG5cbiAgY29uc3QgZmxvYXQgc2VnbWVudENvdW50ID0gOC4wO1xuXG4gIGZsb2F0IGluZGV4ID0gcmF3SW5kZXggLSBmbG9vcihyYXdJbmRleCAvXG4gICAgKHNlZ21lbnRDb3VudCAqIDYuMCkpICpcbiAgICAoc2VnbWVudENvdW50ICogNi4wKTtcblxuICBmbG9hdCBzZWdtZW50ID0gZmxvb3IoMC4wMDEgKyBpbmRleC82LjApO1xuICBmbG9hdCBzZWdtZW50SW5kZXggPSBpbmRleCAtIChzZWdtZW50KjYuMCk7XG5cbiAgbm9ybWFsID0gLW5vcm1hbGl6ZShkKTtcblxuICBpZiAoc2VnbWVudEluZGV4ID4gMi45OSAmJiBzZWdtZW50SW5kZXggPCAzLjAxKSB7XG4gICAgcmV0dXJuIG1peCh2ZWMzKDAuMCksIC1kLCBjb25lT2Zmc2V0KTtcbiAgfVxuXG4gIGZsb2F0IG5leHRBbmdsZSA9IChcbiAgICAoc2VnbWVudEluZGV4ID4gMC45OSAmJiAgc2VnbWVudEluZGV4IDwgMS4wMSkgfHxcbiAgICAoc2VnbWVudEluZGV4ID4gNC45OSAmJiAgc2VnbWVudEluZGV4IDwgNS4wMSlcbiAgKSA/IDEuMCA6IDAuMDtcbiAgZmxvYXQgYW5nbGUgPSAyLjAgKiAzLjE0MTU5ICogKChzZWdtZW50ICsgbmV4dEFuZ2xlKSAvIHNlZ21lbnRDb3VudCk7XG5cbiAgdmVjMyB2MSA9IG1peChkLCB2ZWMzKDAuMCksIGNvbmVPZmZzZXQpO1xuICB2ZWMzIHYyID0gdjEgLSBkO1xuXG4gIHZlYzMgdSA9IGdldE9ydGhvZ29uYWxWZWN0b3IoZCk7XG4gIHZlYzMgdiA9IG5vcm1hbGl6ZShjcm9zcyh1LCBkKSk7XG5cbiAgdmVjMyB4ID0gdSAqIGNvcyhhbmdsZSkgKiBsZW5ndGgoZCkqMC4yNTtcbiAgdmVjMyB5ID0gdiAqIHNpbihhbmdsZSkgKiBsZW5ndGgoZCkqMC4yNTtcbiAgdmVjMyB2MyA9IHYyICsgeCArIHk7XG4gIGlmIChzZWdtZW50SW5kZXggPCAzLjApIHtcbiAgICB2ZWMzIHR4ID0gdSAqIHNpbihhbmdsZSk7XG4gICAgdmVjMyB0eSA9IHYgKiAtY29zKGFuZ2xlKTtcbiAgICB2ZWMzIHRhbmdlbnQgPSB0eCArIHR5O1xuICAgIG5vcm1hbCA9IG5vcm1hbGl6ZShjcm9zcyh2MyAtIHYxLCB0YW5nZW50KSk7XG4gIH1cblxuICBpZiAoc2VnbWVudEluZGV4ID09IDAuMCkge1xuICAgIHJldHVybiBtaXgoZCwgdmVjMygwLjApLCBjb25lT2Zmc2V0KTtcbiAgfVxuICByZXR1cm4gdjM7XG59XG5cbmF0dHJpYnV0ZSB2ZWMzIHZlY3RvcjtcbmF0dHJpYnV0ZSB2ZWM0IGNvbG9yLCBwb3NpdGlvbjtcbmF0dHJpYnV0ZSB2ZWMyIHV2O1xuXG51bmlmb3JtIGZsb2F0IHZlY3RvclNjYWxlLCBjb25lU2NhbGUsIGNvbmVPZmZzZXQ7XG51bmlmb3JtIG1hdDQgbW9kZWwsIHZpZXcsIHByb2plY3Rpb24sIGludmVyc2VNb2RlbDtcbnVuaWZvcm0gdmVjMyBleWVQb3NpdGlvbiwgbGlnaHRQb3NpdGlvbjtcblxudmFyeWluZyB2ZWMzIGZfbm9ybWFsLCBmX2xpZ2h0RGlyZWN0aW9uLCBmX2V5ZURpcmVjdGlvbiwgZl9kYXRhLCBmX3Bvc2l0aW9uO1xudmFyeWluZyB2ZWM0IGZfY29sb3I7XG52YXJ5aW5nIHZlYzIgZl91djtcblxudm9pZCBtYWluKCkge1xuICAvLyBTY2FsZSB0aGUgdmVjdG9yIG1hZ25pdHVkZSB0byBzdGF5IGNvbnN0YW50IHdpdGhcbiAgLy8gbW9kZWwgJiB2aWV3IGNoYW5nZXMuXG4gIHZlYzMgbm9ybWFsO1xuICB2ZWMzIFhZWiA9IGdldENvbmVQb3NpdGlvbihtYXQzKG1vZGVsKSAqICgodmVjdG9yU2NhbGUgKiBjb25lU2NhbGUpICogdmVjdG9yKSwgcG9zaXRpb24udywgY29uZU9mZnNldCwgbm9ybWFsKTtcbiAgdmVjNCBjb25lUG9zaXRpb24gPSBtb2RlbCAqIHZlYzQocG9zaXRpb24ueHl6LCAxLjApICsgdmVjNChYWVosIDAuMCk7XG5cbiAgLy9MaWdodGluZyBnZW9tZXRyeSBwYXJhbWV0ZXJzXG4gIHZlYzQgY2FtZXJhQ29vcmRpbmF0ZSA9IHZpZXcgKiBjb25lUG9zaXRpb247XG4gIGNhbWVyYUNvb3JkaW5hdGUueHl6IC89IGNhbWVyYUNvb3JkaW5hdGUudztcbiAgZl9saWdodERpcmVjdGlvbiA9IGxpZ2h0UG9zaXRpb24gLSBjYW1lcmFDb29yZGluYXRlLnh5ejtcbiAgZl9leWVEaXJlY3Rpb24gICA9IGV5ZVBvc2l0aW9uIC0gY2FtZXJhQ29vcmRpbmF0ZS54eXo7XG4gIGZfbm9ybWFsID0gbm9ybWFsaXplKCh2ZWM0KG5vcm1hbCwgMC4wKSAqIGludmVyc2VNb2RlbCkueHl6KTtcblxuICAvLyB2ZWM0IG1fcG9zaXRpb24gID0gbW9kZWwgKiB2ZWM0KGNvbmVQb3NpdGlvbiwgMS4wKTtcbiAgdmVjNCB0X3Bvc2l0aW9uICA9IHZpZXcgKiBjb25lUG9zaXRpb247XG4gIGdsX1Bvc2l0aW9uICAgICAgPSBwcm9qZWN0aW9uICogdF9wb3NpdGlvbjtcblxuICBmX2NvbG9yICAgICAgICAgID0gY29sb3I7XG4gIGZfZGF0YSAgICAgICAgICAgPSBjb25lUG9zaXRpb24ueHl6O1xuICBmX3Bvc2l0aW9uICAgICAgID0gcG9zaXRpb24ueHl6O1xuICBmX3V2ICAgICAgICAgICAgID0gdXY7XG59XG4iXSksaT1uKFsiI2V4dGVuc2lvbiBHTF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMgOiBlbmFibGVcblxucHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuZmxvYXQgYmVja21hbm5EaXN0cmlidXRpb24oZmxvYXQgeCwgZmxvYXQgcm91Z2huZXNzKSB7XG4gIGZsb2F0IE5kb3RIID0gbWF4KHgsIDAuMDAwMSk7XG4gIGZsb2F0IGNvczJBbHBoYSA9IE5kb3RIICogTmRvdEg7XG4gIGZsb2F0IHRhbjJBbHBoYSA9IChjb3MyQWxwaGEgLSAxLjApIC8gY29zMkFscGhhO1xuICBmbG9hdCByb3VnaG5lc3MyID0gcm91Z2huZXNzICogcm91Z2huZXNzO1xuICBmbG9hdCBkZW5vbSA9IDMuMTQxNTkyNjUzNTg5NzkzICogcm91Z2huZXNzMiAqIGNvczJBbHBoYSAqIGNvczJBbHBoYTtcbiAgcmV0dXJuIGV4cCh0YW4yQWxwaGEgLyByb3VnaG5lc3MyKSAvIGRlbm9tO1xufVxuXG5mbG9hdCBjb29rVG9ycmFuY2VTcGVjdWxhcihcbiAgdmVjMyBsaWdodERpcmVjdGlvbixcbiAgdmVjMyB2aWV3RGlyZWN0aW9uLFxuICB2ZWMzIHN1cmZhY2VOb3JtYWwsXG4gIGZsb2F0IHJvdWdobmVzcyxcbiAgZmxvYXQgZnJlc25lbCkge1xuXG4gIGZsb2F0IFZkb3ROID0gbWF4KGRvdCh2aWV3RGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsKSwgMC4wKTtcbiAgZmxvYXQgTGRvdE4gPSBtYXgoZG90KGxpZ2h0RGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsKSwgMC4wKTtcblxuICAvL0hhbGYgYW5nbGUgdmVjdG9yXG4gIHZlYzMgSCA9IG5vcm1hbGl6ZShsaWdodERpcmVjdGlvbiArIHZpZXdEaXJlY3Rpb24pO1xuXG4gIC8vR2VvbWV0cmljIHRlcm1cbiAgZmxvYXQgTmRvdEggPSBtYXgoZG90KHN1cmZhY2VOb3JtYWwsIEgpLCAwLjApO1xuICBmbG9hdCBWZG90SCA9IG1heChkb3Qodmlld0RpcmVjdGlvbiwgSCksIDAuMDAwMDAxKTtcbiAgZmxvYXQgTGRvdEggPSBtYXgoZG90KGxpZ2h0RGlyZWN0aW9uLCBIKSwgMC4wMDAwMDEpO1xuICBmbG9hdCBHMSA9ICgyLjAgKiBOZG90SCAqIFZkb3ROKSAvIFZkb3RIO1xuICBmbG9hdCBHMiA9ICgyLjAgKiBOZG90SCAqIExkb3ROKSAvIExkb3RIO1xuICBmbG9hdCBHID0gbWluKDEuMCwgbWluKEcxLCBHMikpO1xuICBcbiAgLy9EaXN0cmlidXRpb24gdGVybVxuICBmbG9hdCBEID0gYmVja21hbm5EaXN0cmlidXRpb24oTmRvdEgsIHJvdWdobmVzcyk7XG5cbiAgLy9GcmVzbmVsIHRlcm1cbiAgZmxvYXQgRiA9IHBvdygxLjAgLSBWZG90TiwgZnJlc25lbCk7XG5cbiAgLy9NdWx0aXBseSB0ZXJtcyBhbmQgZG9uZVxuICByZXR1cm4gIEcgKiBGICogRCAvIG1heCgzLjE0MTU5MjY1ICogVmRvdE4sIDAuMDAwMDAxKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKGZsb2F0IGEsIGZsb2F0IGIsIGZsb2F0IHApIHtcbiAgcmV0dXJuICgocCA+IG1heChhLCBiKSkgfHwgXG4gICAgICAgICAgKHAgPCBtaW4oYSwgYikpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzIgYSwgdmVjMiBiLCB2ZWMyIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMzIGEsIHZlYzMgYiwgdmVjMyBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueiwgYi56LCBwLnopKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzQgYSwgdmVjNCBiLCB2ZWM0IHApIHtcbiAgcmV0dXJuIG91dE9mUmFuZ2UoYS54eXosIGIueHl6LCBwLnh5eik7XG59XG5cbnVuaWZvcm0gdmVjMyBjbGlwQm91bmRzWzJdO1xudW5pZm9ybSBmbG9hdCByb3VnaG5lc3MsIGZyZXNuZWwsIGthbWJpZW50LCBrZGlmZnVzZSwga3NwZWN1bGFyLCBvcGFjaXR5O1xudW5pZm9ybSBzYW1wbGVyMkQgdGV4dHVyZTtcblxudmFyeWluZyB2ZWMzIGZfbm9ybWFsLCBmX2xpZ2h0RGlyZWN0aW9uLCBmX2V5ZURpcmVjdGlvbiwgZl9kYXRhLCBmX3Bvc2l0aW9uO1xudmFyeWluZyB2ZWM0IGZfY29sb3I7XG52YXJ5aW5nIHZlYzIgZl91djtcblxudm9pZCBtYWluKCkge1xuICBpZiAob3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCBmX3Bvc2l0aW9uKSkgZGlzY2FyZDtcbiAgdmVjMyBOID0gbm9ybWFsaXplKGZfbm9ybWFsKTtcbiAgdmVjMyBMID0gbm9ybWFsaXplKGZfbGlnaHREaXJlY3Rpb24pO1xuICB2ZWMzIFYgPSBub3JtYWxpemUoZl9leWVEaXJlY3Rpb24pO1xuXG4gIGlmKGdsX0Zyb250RmFjaW5nKSB7XG4gICAgTiA9IC1OO1xuICB9XG5cbiAgZmxvYXQgc3BlY3VsYXIgPSBtaW4oMS4wLCBtYXgoMC4wLCBjb29rVG9ycmFuY2VTcGVjdWxhcihMLCBWLCBOLCByb3VnaG5lc3MsIGZyZXNuZWwpKSk7XG4gIGZsb2F0IGRpZmZ1c2UgID0gbWluKGthbWJpZW50ICsga2RpZmZ1c2UgKiBtYXgoZG90KE4sIEwpLCAwLjApLCAxLjApO1xuXG4gIHZlYzQgc3VyZmFjZUNvbG9yID0gZl9jb2xvciAqIHRleHR1cmUyRCh0ZXh0dXJlLCBmX3V2KTtcbiAgdmVjNCBsaXRDb2xvciA9IHN1cmZhY2VDb2xvci5hICogdmVjNChkaWZmdXNlICogc3VyZmFjZUNvbG9yLnJnYiArIGtzcGVjdWxhciAqIHZlYzMoMSwxLDEpICogc3BlY3VsYXIsICAxLjApO1xuXG4gIGdsX0ZyYWdDb2xvciA9IGxpdENvbG9yICogb3BhY2l0eTtcbn1cbiJdKSxvPW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG5cbnByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbnZlYzMgZ2V0T3J0aG9nb25hbFZlY3Rvcih2ZWMzIHYpIHtcbiAgLy8gUmV0dXJuIHVwLXZlY3RvciBmb3Igb25seS16IHZlY3Rvci5cbiAgLy8gUmV0dXJuIGF4ICsgYnkgKyBjeiA9IDAsIGEgcG9pbnQgdGhhdCBsaWVzIG9uIHRoZSBwbGFuZSB0aGF0IGhhcyB2IGFzIGEgbm9ybWFsIGFuZCB0aGF0IGlzbid0ICgwLDAsMCkuXG4gIC8vIEZyb20gdGhlIGFib3ZlIGlmLXN0YXRlbWVudCB3ZSBoYXZlIHx8YXx8ID4gMCAgVSAgfHxifHwgPiAwLlxuICAvLyBBc3NpZ24geiA9IDAsIHggPSAtYiwgeSA9IGE6XG4gIC8vIGEqLWIgKyBiKmEgKyBjKjAgPSAtYmEgKyBiYSArIDAgPSAwXG4gIGlmICh2Lngqdi54ID4gdi56KnYueiB8fCB2Lnkqdi55ID4gdi56KnYueikge1xuICAgIHJldHVybiBub3JtYWxpemUodmVjMygtdi55LCB2LngsIDAuMCkpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBub3JtYWxpemUodmVjMygwLjAsIHYueiwgLXYueSkpO1xuICB9XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgY29uZSB2ZXJ0ZXggYW5kIG5vcm1hbCBhdCB0aGUgZ2l2ZW4gaW5kZXguXG4vL1xuLy8gVGhlIHJldHVybmVkIHZlcnRleCBpcyBmb3IgYSBjb25lIHdpdGggaXRzIHRvcCBhdCBvcmlnaW4gYW5kIGhlaWdodCBvZiAxLjAsXG4vLyBwb2ludGluZyBpbiB0aGUgZGlyZWN0aW9uIG9mIHRoZSB2ZWN0b3IgYXR0cmlidXRlLlxuLy9cbi8vIEVhY2ggY29uZSBpcyBtYWRlIHVwIG9mIGEgdG9wIHZlcnRleCwgYSBjZW50ZXIgYmFzZSB2ZXJ0ZXggYW5kIGJhc2UgcGVyaW1ldGVyIHZlcnRpY2VzLlxuLy8gVGhlc2UgdmVydGljZXMgYXJlIHVzZWQgdG8gbWFrZSB1cCB0aGUgdHJpYW5nbGVzIG9mIHRoZSBjb25lIGJ5IHRoZSBmb2xsb3dpbmc6XG4vLyAgIHNlZ21lbnQgKyAwIHRvcCB2ZXJ0ZXhcbi8vICAgc2VnbWVudCArIDEgcGVyaW1ldGVyIHZlcnRleCBhKzFcbi8vICAgc2VnbWVudCArIDIgcGVyaW1ldGVyIHZlcnRleCBhXG4vLyAgIHNlZ21lbnQgKyAzIGNlbnRlciBiYXNlIHZlcnRleFxuLy8gICBzZWdtZW50ICsgNCBwZXJpbWV0ZXIgdmVydGV4IGFcbi8vICAgc2VnbWVudCArIDUgcGVyaW1ldGVyIHZlcnRleCBhKzFcbi8vIFdoZXJlIHNlZ21lbnQgaXMgdGhlIG51bWJlciBvZiB0aGUgcmFkaWFsIHNlZ21lbnQgKiA2IGFuZCBhIGlzIHRoZSBhbmdsZSBhdCB0aGF0IHJhZGlhbCBzZWdtZW50LlxuLy8gVG8gZ28gZnJvbSBpbmRleCB0byBzZWdtZW50LCBmbG9vcihpbmRleCAvIDYpXG4vLyBUbyBnbyBmcm9tIHNlZ21lbnQgdG8gYW5nbGUsIDIqcGkgKiAoc2VnbWVudC9zZWdtZW50Q291bnQpXG4vLyBUbyBnbyBmcm9tIGluZGV4IHRvIHNlZ21lbnQgaW5kZXgsIGluZGV4IC0gKHNlZ21lbnQqNilcbi8vXG52ZWMzIGdldENvbmVQb3NpdGlvbih2ZWMzIGQsIGZsb2F0IHJhd0luZGV4LCBmbG9hdCBjb25lT2Zmc2V0LCBvdXQgdmVjMyBub3JtYWwpIHtcblxuICBjb25zdCBmbG9hdCBzZWdtZW50Q291bnQgPSA4LjA7XG5cbiAgZmxvYXQgaW5kZXggPSByYXdJbmRleCAtIGZsb29yKHJhd0luZGV4IC9cbiAgICAoc2VnbWVudENvdW50ICogNi4wKSkgKlxuICAgIChzZWdtZW50Q291bnQgKiA2LjApO1xuXG4gIGZsb2F0IHNlZ21lbnQgPSBmbG9vcigwLjAwMSArIGluZGV4LzYuMCk7XG4gIGZsb2F0IHNlZ21lbnRJbmRleCA9IGluZGV4IC0gKHNlZ21lbnQqNi4wKTtcblxuICBub3JtYWwgPSAtbm9ybWFsaXplKGQpO1xuXG4gIGlmIChzZWdtZW50SW5kZXggPiAyLjk5ICYmIHNlZ21lbnRJbmRleCA8IDMuMDEpIHtcbiAgICByZXR1cm4gbWl4KHZlYzMoMC4wKSwgLWQsIGNvbmVPZmZzZXQpO1xuICB9XG5cbiAgZmxvYXQgbmV4dEFuZ2xlID0gKFxuICAgIChzZWdtZW50SW5kZXggPiAwLjk5ICYmICBzZWdtZW50SW5kZXggPCAxLjAxKSB8fFxuICAgIChzZWdtZW50SW5kZXggPiA0Ljk5ICYmICBzZWdtZW50SW5kZXggPCA1LjAxKVxuICApID8gMS4wIDogMC4wO1xuICBmbG9hdCBhbmdsZSA9IDIuMCAqIDMuMTQxNTkgKiAoKHNlZ21lbnQgKyBuZXh0QW5nbGUpIC8gc2VnbWVudENvdW50KTtcblxuICB2ZWMzIHYxID0gbWl4KGQsIHZlYzMoMC4wKSwgY29uZU9mZnNldCk7XG4gIHZlYzMgdjIgPSB2MSAtIGQ7XG5cbiAgdmVjMyB1ID0gZ2V0T3J0aG9nb25hbFZlY3RvcihkKTtcbiAgdmVjMyB2ID0gbm9ybWFsaXplKGNyb3NzKHUsIGQpKTtcblxuICB2ZWMzIHggPSB1ICogY29zKGFuZ2xlKSAqIGxlbmd0aChkKSowLjI1O1xuICB2ZWMzIHkgPSB2ICogc2luKGFuZ2xlKSAqIGxlbmd0aChkKSowLjI1O1xuICB2ZWMzIHYzID0gdjIgKyB4ICsgeTtcbiAgaWYgKHNlZ21lbnRJbmRleCA8IDMuMCkge1xuICAgIHZlYzMgdHggPSB1ICogc2luKGFuZ2xlKTtcbiAgICB2ZWMzIHR5ID0gdiAqIC1jb3MoYW5nbGUpO1xuICAgIHZlYzMgdGFuZ2VudCA9IHR4ICsgdHk7XG4gICAgbm9ybWFsID0gbm9ybWFsaXplKGNyb3NzKHYzIC0gdjEsIHRhbmdlbnQpKTtcbiAgfVxuXG4gIGlmIChzZWdtZW50SW5kZXggPT0gMC4wKSB7XG4gICAgcmV0dXJuIG1peChkLCB2ZWMzKDAuMCksIGNvbmVPZmZzZXQpO1xuICB9XG4gIHJldHVybiB2Mztcbn1cblxuYXR0cmlidXRlIHZlYzQgdmVjdG9yO1xuYXR0cmlidXRlIHZlYzQgcG9zaXRpb247XG5hdHRyaWJ1dGUgdmVjNCBpZDtcblxudW5pZm9ybSBtYXQ0IG1vZGVsLCB2aWV3LCBwcm9qZWN0aW9uO1xudW5pZm9ybSBmbG9hdCB2ZWN0b3JTY2FsZSwgY29uZVNjYWxlLCBjb25lT2Zmc2V0O1xuXG52YXJ5aW5nIHZlYzMgZl9wb3NpdGlvbjtcbnZhcnlpbmcgdmVjNCBmX2lkO1xuXG52b2lkIG1haW4oKSB7XG4gIHZlYzMgbm9ybWFsO1xuICB2ZWMzIFhZWiA9IGdldENvbmVQb3NpdGlvbihtYXQzKG1vZGVsKSAqICgodmVjdG9yU2NhbGUgKiBjb25lU2NhbGUpICogdmVjdG9yLnh5eiksIHBvc2l0aW9uLncsIGNvbmVPZmZzZXQsIG5vcm1hbCk7XG4gIHZlYzQgY29uZVBvc2l0aW9uID0gbW9kZWwgKiB2ZWM0KHBvc2l0aW9uLnh5eiwgMS4wKSArIHZlYzQoWFlaLCAwLjApO1xuICBnbF9Qb3NpdGlvbiA9IHByb2plY3Rpb24gKiB2aWV3ICogY29uZVBvc2l0aW9uO1xuICBmX2lkICAgICAgICA9IGlkO1xuICBmX3Bvc2l0aW9uICA9IHBvc2l0aW9uLnh5ejtcbn1cbiJdKSxzPW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5ib29sIG91dE9mUmFuZ2UoZmxvYXQgYSwgZmxvYXQgYiwgZmxvYXQgcCkge1xuICByZXR1cm4gKChwID4gbWF4KGEsIGIpKSB8fCBcbiAgICAgICAgICAocCA8IG1pbihhLCBiKSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMiBhLCB2ZWMyIGIsIHZlYzIgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzMgYSwgdmVjMyBiLCB2ZWMzIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS56LCBiLnosIHAueikpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjNCBhLCB2ZWM0IGIsIHZlYzQgcCkge1xuICByZXR1cm4gb3V0T2ZSYW5nZShhLnh5eiwgYi54eXosIHAueHl6KTtcbn1cblxudW5pZm9ybSB2ZWMzICBjbGlwQm91bmRzWzJdO1xudW5pZm9ybSBmbG9hdCBwaWNrSWQ7XG5cbnZhcnlpbmcgdmVjMyBmX3Bvc2l0aW9uO1xudmFyeWluZyB2ZWM0IGZfaWQ7XG5cbnZvaWQgbWFpbigpIHtcbiAgaWYgKG91dE9mUmFuZ2UoY2xpcEJvdW5kc1swXSwgY2xpcEJvdW5kc1sxXSwgZl9wb3NpdGlvbikpIGRpc2NhcmQ7XG5cbiAgZ2xfRnJhZ0NvbG9yID0gdmVjNChwaWNrSWQsIGZfaWQueHl6KTtcbn0iXSk7ci5tZXNoU2hhZGVyPXt2ZXJ0ZXg6YSxmcmFnbWVudDppLGF0dHJpYnV0ZXM6W3tuYW1lOiJwb3NpdGlvbiIsdHlwZToidmVjNCJ9LHtuYW1lOiJjb2xvciIsdHlwZToidmVjNCJ9LHtuYW1lOiJ1diIsdHlwZToidmVjMiJ9LHtuYW1lOiJ2ZWN0b3IiLHR5cGU6InZlYzMifV19LHIucGlja1NoYWRlcj17dmVydGV4Om8sZnJhZ21lbnQ6cyxhdHRyaWJ1dGVzOlt7bmFtZToicG9zaXRpb24iLHR5cGU6InZlYzQifSx7bmFtZToiaWQiLHR5cGU6InZlYzQifSx7bmFtZToidmVjdG9yIix0eXBlOiJ2ZWMzIn1dfX0se2dsc2xpZnk6NDExfV0sMjQ4OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXswOiJOT05FIiwxOiJPTkUiLDI6IkxJTkVfTE9PUCIsMzoiTElORV9TVFJJUCIsNDoiVFJJQU5HTEVTIiw1OiJUUklBTkdMRV9TVFJJUCIsNjoiVFJJQU5HTEVfRkFOIiwyNTY6IkRFUFRIX0JVRkZFUl9CSVQiLDUxMjoiTkVWRVIiLDUxMzoiTEVTUyIsNTE0OiJFUVVBTCIsNTE1OiJMRVFVQUwiLDUxNjoiR1JFQVRFUiIsNTE3OiJOT1RFUVVBTCIsNTE4OiJHRVFVQUwiLDUxOToiQUxXQVlTIiw3Njg6IlNSQ19DT0xPUiIsNzY5OiJPTkVfTUlOVVNfU1JDX0NPTE9SIiw3NzA6IlNSQ19BTFBIQSIsNzcxOiJPTkVfTUlOVVNfU1JDX0FMUEhBIiw3NzI6IkRTVF9BTFBIQSIsNzczOiJPTkVfTUlOVVNfRFNUX0FMUEhBIiw3NzQ6IkRTVF9DT0xPUiIsNzc1OiJPTkVfTUlOVVNfRFNUX0NPTE9SIiw3NzY6IlNSQ19BTFBIQV9TQVRVUkFURSIsMTAyNDoiU1RFTkNJTF9CVUZGRVJfQklUIiwxMDI4OiJGUk9OVCIsMTAyOToiQkFDSyIsMTAzMjoiRlJPTlRfQU5EX0JBQ0siLDEyODA6IklOVkFMSURfRU5VTSIsMTI4MToiSU5WQUxJRF9WQUxVRSIsMTI4MjoiSU5WQUxJRF9PUEVSQVRJT04iLDEyODU6Ik9VVF9PRl9NRU1PUlkiLDEyODY6IklOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OIiwyMzA0OiJDVyIsMjMwNToiQ0NXIiwyODQ5OiJMSU5FX1dJRFRIIiwyODg0OiJDVUxMX0ZBQ0UiLDI4ODU6IkNVTExfRkFDRV9NT0RFIiwyODg2OiJGUk9OVF9GQUNFIiwyOTI4OiJERVBUSF9SQU5HRSIsMjkyOToiREVQVEhfVEVTVCIsMjkzMDoiREVQVEhfV1JJVEVNQVNLIiwyOTMxOiJERVBUSF9DTEVBUl9WQUxVRSIsMjkzMjoiREVQVEhfRlVOQyIsMjk2MDoiU1RFTkNJTF9URVNUIiwyOTYxOiJTVEVOQ0lMX0NMRUFSX1ZBTFVFIiwyOTYyOiJTVEVOQ0lMX0ZVTkMiLDI5NjM6IlNURU5DSUxfVkFMVUVfTUFTSyIsMjk2NDoiU1RFTkNJTF9GQUlMIiwyOTY1OiJTVEVOQ0lMX1BBU1NfREVQVEhfRkFJTCIsMjk2NjoiU1RFTkNJTF9QQVNTX0RFUFRIX1BBU1MiLDI5Njc6IlNURU5DSUxfUkVGIiwyOTY4OiJTVEVOQ0lMX1dSSVRFTUFTSyIsMjk3ODoiVklFV1BPUlQiLDMwMjQ6IkRJVEhFUiIsMzA0MjoiQkxFTkQiLDMwODg6IlNDSVNTT1JfQk9YIiwzMDg5OiJTQ0lTU09SX1RFU1QiLDMxMDY6IkNPTE9SX0NMRUFSX1ZBTFVFIiwzMTA3OiJDT0xPUl9XUklURU1BU0siLDMzMTc6IlVOUEFDS19BTElHTk1FTlQiLDMzMzM6IlBBQ0tfQUxJR05NRU5UIiwzMzc5OiJNQVhfVEVYVFVSRV9TSVpFIiwzMzg2OiJNQVhfVklFV1BPUlRfRElNUyIsMzQwODoiU1VCUElYRUxfQklUUyIsMzQxMDoiUkVEX0JJVFMiLDM0MTE6IkdSRUVOX0JJVFMiLDM0MTI6IkJMVUVfQklUUyIsMzQxMzoiQUxQSEFfQklUUyIsMzQxNDoiREVQVEhfQklUUyIsMzQxNToiU1RFTkNJTF9CSVRTIiwzNTUzOiJURVhUVVJFXzJEIiw0MzUyOiJET05UX0NBUkUiLDQzNTM6IkZBU1RFU1QiLDQzNTQ6Ik5JQ0VTVCIsNTEyMDoiQllURSIsNTEyMToiVU5TSUdORURfQllURSIsNTEyMjoiU0hPUlQiLDUxMjM6IlVOU0lHTkVEX1NIT1JUIiw1MTI0OiJJTlQiLDUxMjU6IlVOU0lHTkVEX0lOVCIsNTEyNjoiRkxPQVQiLDUzODY6IklOVkVSVCIsNTg5MDoiVEVYVFVSRSIsNjQwMToiU1RFTkNJTF9JTkRFWCIsNjQwMjoiREVQVEhfQ09NUE9ORU5UIiw2NDA2OiJBTFBIQSIsNjQwNzoiUkdCIiw2NDA4OiJSR0JBIiw2NDA5OiJMVU1JTkFOQ0UiLDY0MTA6IkxVTUlOQU5DRV9BTFBIQSIsNzY4MDoiS0VFUCIsNzY4MToiUkVQTEFDRSIsNzY4MjoiSU5DUiIsNzY4MzoiREVDUiIsNzkzNjoiVkVORE9SIiw3OTM3OiJSRU5ERVJFUiIsNzkzODoiVkVSU0lPTiIsOTcyODoiTkVBUkVTVCIsOTcyOToiTElORUFSIiw5OTg0OiJORUFSRVNUX01JUE1BUF9ORUFSRVNUIiw5OTg1OiJMSU5FQVJfTUlQTUFQX05FQVJFU1QiLDk5ODY6Ik5FQVJFU1RfTUlQTUFQX0xJTkVBUiIsOTk4NzoiTElORUFSX01JUE1BUF9MSU5FQVIiLDEwMjQwOiJURVhUVVJFX01BR19GSUxURVIiLDEwMjQxOiJURVhUVVJFX01JTl9GSUxURVIiLDEwMjQyOiJURVhUVVJFX1dSQVBfUyIsMTAyNDM6IlRFWFRVUkVfV1JBUF9UIiwxMDQ5NzoiUkVQRUFUIiwxMDc1MjoiUE9MWUdPTl9PRkZTRVRfVU5JVFMiLDE2Mzg0OiJDT0xPUl9CVUZGRVJfQklUIiwzMjc2OToiQ09OU1RBTlRfQ09MT1IiLDMyNzcwOiJPTkVfTUlOVVNfQ09OU1RBTlRfQ09MT1IiLDMyNzcxOiJDT05TVEFOVF9BTFBIQSIsMzI3NzI6Ik9ORV9NSU5VU19DT05TVEFOVF9BTFBIQSIsMzI3NzM6IkJMRU5EX0NPTE9SIiwzMjc3NDoiRlVOQ19BREQiLDMyNzc3OiJCTEVORF9FUVVBVElPTl9SR0IiLDMyNzc4OiJGVU5DX1NVQlRSQUNUIiwzMjc3OToiRlVOQ19SRVZFUlNFX1NVQlRSQUNUIiwzMjgxOToiVU5TSUdORURfU0hPUlRfNF80XzRfNCIsMzI4MjA6IlVOU0lHTkVEX1NIT1JUXzVfNV81XzEiLDMyODIzOiJQT0xZR09OX09GRlNFVF9GSUxMIiwzMjgyNDoiUE9MWUdPTl9PRkZTRVRfRkFDVE9SIiwzMjg1NDoiUkdCQTQiLDMyODU1OiJSR0I1X0ExIiwzMjg3MzoiVEVYVFVSRV9CSU5ESU5HXzJEIiwzMjkyNjoiU0FNUExFX0FMUEhBX1RPX0NPVkVSQUdFIiwzMjkyODoiU0FNUExFX0NPVkVSQUdFIiwzMjkzNjoiU0FNUExFX0JVRkZFUlMiLDMyOTM3OiJTQU1QTEVTIiwzMjkzODoiU0FNUExFX0NPVkVSQUdFX1ZBTFVFIiwzMjkzOToiU0FNUExFX0NPVkVSQUdFX0lOVkVSVCIsMzI5Njg6IkJMRU5EX0RTVF9SR0IiLDMyOTY5OiJCTEVORF9TUkNfUkdCIiwzMjk3MDoiQkxFTkRfRFNUX0FMUEhBIiwzMjk3MToiQkxFTkRfU1JDX0FMUEhBIiwzMzA3MToiQ0xBTVBfVE9fRURHRSIsMzMxNzA6IkdFTkVSQVRFX01JUE1BUF9ISU5UIiwzMzE4OToiREVQVEhfQ09NUE9ORU5UMTYiLDMzMzA2OiJERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQiLDMzNjM1OiJVTlNJR05FRF9TSE9SVF81XzZfNSIsMzM2NDg6Ik1JUlJPUkVEX1JFUEVBVCIsMzM5MDE6IkFMSUFTRURfUE9JTlRfU0laRV9SQU5HRSIsMzM5MDI6IkFMSUFTRURfTElORV9XSURUSF9SQU5HRSIsMzM5ODQ6IlRFWFRVUkUwIiwzMzk4NToiVEVYVFVSRTEiLDMzOTg2OiJURVhUVVJFMiIsMzM5ODc6IlRFWFRVUkUzIiwzMzk4ODoiVEVYVFVSRTQiLDMzOTg5OiJURVhUVVJFNSIsMzM5OTA6IlRFWFRVUkU2IiwzMzk5MToiVEVYVFVSRTciLDMzOTkyOiJURVhUVVJFOCIsMzM5OTM6IlRFWFRVUkU5IiwzMzk5NDoiVEVYVFVSRTEwIiwzMzk5NToiVEVYVFVSRTExIiwzMzk5NjoiVEVYVFVSRTEyIiwzMzk5NzoiVEVYVFVSRTEzIiwzMzk5ODoiVEVYVFVSRTE0IiwzMzk5OToiVEVYVFVSRTE1IiwzNDAwMDoiVEVYVFVSRTE2IiwzNDAwMToiVEVYVFVSRTE3IiwzNDAwMjoiVEVYVFVSRTE4IiwzNDAwMzoiVEVYVFVSRTE5IiwzNDAwNDoiVEVYVFVSRTIwIiwzNDAwNToiVEVYVFVSRTIxIiwzNDAwNjoiVEVYVFVSRTIyIiwzNDAwNzoiVEVYVFVSRTIzIiwzNDAwODoiVEVYVFVSRTI0IiwzNDAwOToiVEVYVFVSRTI1IiwzNDAxMDoiVEVYVFVSRTI2IiwzNDAxMToiVEVYVFVSRTI3IiwzNDAxMjoiVEVYVFVSRTI4IiwzNDAxMzoiVEVYVFVSRTI5IiwzNDAxNDoiVEVYVFVSRTMwIiwzNDAxNToiVEVYVFVSRTMxIiwzNDAxNjoiQUNUSVZFX1RFWFRVUkUiLDM0MDI0OiJNQVhfUkVOREVSQlVGRkVSX1NJWkUiLDM0MDQxOiJERVBUSF9TVEVOQ0lMIiwzNDA1NToiSU5DUl9XUkFQIiwzNDA1NjoiREVDUl9XUkFQIiwzNDA2NzoiVEVYVFVSRV9DVUJFX01BUCIsMzQwNjg6IlRFWFRVUkVfQklORElOR19DVUJFX01BUCIsMzQwNjk6IlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWCIsMzQwNzA6IlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWCIsMzQwNzE6IlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWSIsMzQwNzI6IlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWSIsMzQwNzM6IlRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWiIsMzQwNzQ6IlRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWiIsMzQwNzY6Ik1BWF9DVUJFX01BUF9URVhUVVJFX1NJWkUiLDM0MzM4OiJWRVJURVhfQVRUUklCX0FSUkFZX0VOQUJMRUQiLDM0MzM5OiJWRVJURVhfQVRUUklCX0FSUkFZX1NJWkUiLDM0MzQwOiJWRVJURVhfQVRUUklCX0FSUkFZX1NUUklERSIsMzQzNDE6IlZFUlRFWF9BVFRSSUJfQVJSQVlfVFlQRSIsMzQzNDI6IkNVUlJFTlRfVkVSVEVYX0FUVFJJQiIsMzQzNzM6IlZFUlRFWF9BVFRSSUJfQVJSQVlfUE9JTlRFUiIsMzQ0NjY6Ik5VTV9DT01QUkVTU0VEX1RFWFRVUkVfRk9STUFUUyIsMzQ0Njc6IkNPTVBSRVNTRURfVEVYVFVSRV9GT1JNQVRTIiwzNDY2MDoiQlVGRkVSX1NJWkUiLDM0NjYxOiJCVUZGRVJfVVNBR0UiLDM0ODE2OiJTVEVOQ0lMX0JBQ0tfRlVOQyIsMzQ4MTc6IlNURU5DSUxfQkFDS19GQUlMIiwzNDgxODoiU1RFTkNJTF9CQUNLX1BBU1NfREVQVEhfRkFJTCIsMzQ4MTk6IlNURU5DSUxfQkFDS19QQVNTX0RFUFRIX1BBU1MiLDM0ODc3OiJCTEVORF9FUVVBVElPTl9BTFBIQSIsMzQ5MjE6Ik1BWF9WRVJURVhfQVRUUklCUyIsMzQ5MjI6IlZFUlRFWF9BVFRSSUJfQVJSQVlfTk9STUFMSVpFRCIsMzQ5MzA6Ik1BWF9URVhUVVJFX0lNQUdFX1VOSVRTIiwzNDk2MjoiQVJSQVlfQlVGRkVSIiwzNDk2MzoiRUxFTUVOVF9BUlJBWV9CVUZGRVIiLDM0OTY0OiJBUlJBWV9CVUZGRVJfQklORElORyIsMzQ5NjU6IkVMRU1FTlRfQVJSQVlfQlVGRkVSX0JJTkRJTkciLDM0OTc1OiJWRVJURVhfQVRUUklCX0FSUkFZX0JVRkZFUl9CSU5ESU5HIiwzNTA0MDoiU1RSRUFNX0RSQVciLDM1MDQ0OiJTVEFUSUNfRFJBVyIsMzUwNDg6IkRZTkFNSUNfRFJBVyIsMzU2MzI6IkZSQUdNRU5UX1NIQURFUiIsMzU2MzM6IlZFUlRFWF9TSEFERVIiLDM1NjYwOiJNQVhfVkVSVEVYX1RFWFRVUkVfSU1BR0VfVU5JVFMiLDM1NjYxOiJNQVhfQ09NQklORURfVEVYVFVSRV9JTUFHRV9VTklUUyIsMzU2NjM6IlNIQURFUl9UWVBFIiwzNTY2NDoiRkxPQVRfVkVDMiIsMzU2NjU6IkZMT0FUX1ZFQzMiLDM1NjY2OiJGTE9BVF9WRUM0IiwzNTY2NzoiSU5UX1ZFQzIiLDM1NjY4OiJJTlRfVkVDMyIsMzU2Njk6IklOVF9WRUM0IiwzNTY3MDoiQk9PTCIsMzU2NzE6IkJPT0xfVkVDMiIsMzU2NzI6IkJPT0xfVkVDMyIsMzU2NzM6IkJPT0xfVkVDNCIsMzU2NzQ6IkZMT0FUX01BVDIiLDM1Njc1OiJGTE9BVF9NQVQzIiwzNTY3NjoiRkxPQVRfTUFUNCIsMzU2Nzg6IlNBTVBMRVJfMkQiLDM1NjgwOiJTQU1QTEVSX0NVQkUiLDM1NzEyOiJERUxFVEVfU1RBVFVTIiwzNTcxMzoiQ09NUElMRV9TVEFUVVMiLDM1NzE0OiJMSU5LX1NUQVRVUyIsMzU3MTU6IlZBTElEQVRFX1NUQVRVUyIsMzU3MTY6IklORk9fTE9HX0xFTkdUSCIsMzU3MTc6IkFUVEFDSEVEX1NIQURFUlMiLDM1NzE4OiJBQ1RJVkVfVU5JRk9STVMiLDM1NzE5OiJBQ1RJVkVfVU5JRk9STV9NQVhfTEVOR1RIIiwzNTcyMDoiU0hBREVSX1NPVVJDRV9MRU5HVEgiLDM1NzIxOiJBQ1RJVkVfQVRUUklCVVRFUyIsMzU3MjI6IkFDVElWRV9BVFRSSUJVVEVfTUFYX0xFTkdUSCIsMzU3MjQ6IlNIQURJTkdfTEFOR1VBR0VfVkVSU0lPTiIsMzU3MjU6IkNVUlJFTlRfUFJPR1JBTSIsMzYwMDM6IlNURU5DSUxfQkFDS19SRUYiLDM2MDA0OiJTVEVOQ0lMX0JBQ0tfVkFMVUVfTUFTSyIsMzYwMDU6IlNURU5DSUxfQkFDS19XUklURU1BU0siLDM2MDA2OiJGUkFNRUJVRkZFUl9CSU5ESU5HIiwzNjAwNzoiUkVOREVSQlVGRkVSX0JJTkRJTkciLDM2MDQ4OiJGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFIiwzNjA0OToiRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfTkFNRSIsMzYwNTA6IkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9MRVZFTCIsMzYwNTE6IkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9DVUJFX01BUF9GQUNFIiwzNjA1MzoiRlJBTUVCVUZGRVJfQ09NUExFVEUiLDM2MDU0OiJGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQiLDM2MDU1OiJGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX01JU1NJTkdfQVRUQUNITUVOVCIsMzYwNTc6IkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfRElNRU5TSU9OUyIsMzYwNjE6IkZSQU1FQlVGRkVSX1VOU1VQUE9SVEVEIiwzNjA2NDoiQ09MT1JfQVRUQUNITUVOVDAiLDM2MDk2OiJERVBUSF9BVFRBQ0hNRU5UIiwzNjEyODoiU1RFTkNJTF9BVFRBQ0hNRU5UIiwzNjE2MDoiRlJBTUVCVUZGRVIiLDM2MTYxOiJSRU5ERVJCVUZGRVIiLDM2MTYyOiJSRU5ERVJCVUZGRVJfV0lEVEgiLDM2MTYzOiJSRU5ERVJCVUZGRVJfSEVJR0hUIiwzNjE2NDoiUkVOREVSQlVGRkVSX0lOVEVSTkFMX0ZPUk1BVCIsMzYxNjg6IlNURU5DSUxfSU5ERVg4IiwzNjE3NjoiUkVOREVSQlVGRkVSX1JFRF9TSVpFIiwzNjE3NzoiUkVOREVSQlVGRkVSX0dSRUVOX1NJWkUiLDM2MTc4OiJSRU5ERVJCVUZGRVJfQkxVRV9TSVpFIiwzNjE3OToiUkVOREVSQlVGRkVSX0FMUEhBX1NJWkUiLDM2MTgwOiJSRU5ERVJCVUZGRVJfREVQVEhfU0laRSIsMzYxODE6IlJFTkRFUkJVRkZFUl9TVEVOQ0lMX1NJWkUiLDM2MTk0OiJSR0I1NjUiLDM2MzM2OiJMT1dfRkxPQVQiLDM2MzM3OiJNRURJVU1fRkxPQVQiLDM2MzM4OiJISUdIX0ZMT0FUIiwzNjMzOToiTE9XX0lOVCIsMzYzNDA6Ik1FRElVTV9JTlQiLDM2MzQxOiJISUdIX0lOVCIsMzYzNDY6IlNIQURFUl9DT01QSUxFUiIsMzYzNDc6Ik1BWF9WRVJURVhfVU5JRk9STV9WRUNUT1JTIiwzNjM0ODoiTUFYX1ZBUllJTkdfVkVDVE9SUyIsMzYzNDk6Ik1BWF9GUkFHTUVOVF9VTklGT1JNX1ZFQ1RPUlMiLDM3NDQwOiJVTlBBQ0tfRkxJUF9ZX1dFQkdMIiwzNzQ0MToiVU5QQUNLX1BSRU1VTFRJUExZX0FMUEhBX1dFQkdMIiwzNzQ0MjoiQ09OVEVYVF9MT1NUX1dFQkdMIiwzNzQ0MzoiVU5QQUNLX0NPTE9SU1BBQ0VfQ09OVkVSU0lPTl9XRUJHTCIsMzc0NDQ6IkJST1dTRVJfREVGQVVMVF9XRUJHTCJ9fSx7fV0sMjQ5OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi8xLjAvbnVtYmVycyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gblt0XX19LHsiLi8xLjAvbnVtYmVycyI6MjQ4fV0sMjUwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10LmdsLHI9bihlKSxvPWEoZSxbe2J1ZmZlcjpyLHR5cGU6ZS5GTE9BVCxzaXplOjMsb2Zmc2V0OjAsc3RyaWRlOjQwfSx7YnVmZmVyOnIsdHlwZTplLkZMT0FULHNpemU6NCxvZmZzZXQ6MTIsc3RyaWRlOjQwfSx7YnVmZmVyOnIsdHlwZTplLkZMT0FULHNpemU6MyxvZmZzZXQ6Mjgsc3RyaWRlOjQwfV0pLGw9aShlKTtsLmF0dHJpYnV0ZXMucG9zaXRpb24ubG9jYXRpb249MCxsLmF0dHJpYnV0ZXMuY29sb3IubG9jYXRpb249MSxsLmF0dHJpYnV0ZXMub2Zmc2V0LmxvY2F0aW9uPTI7dmFyIGM9bmV3IHMoZSxyLG8sbCk7cmV0dXJuIGMudXBkYXRlKHQpLGN9O3ZhciBuPXQoImdsLWJ1ZmZlciIpLGE9dCgiZ2wtdmFvIiksaT10KCIuL3NoYWRlcnMvaW5kZXgiKSxvPVsxLDAsMCwwLDAsMSwwLDAsMCwwLDEsMCwwLDAsMCwxXTtmdW5jdGlvbiBzKHQsZSxyLG4pe3RoaXMuZ2w9dCx0aGlzLnNoYWRlcj1uLHRoaXMuYnVmZmVyPWUsdGhpcy52YW89cix0aGlzLnBpeGVsUmF0aW89MSx0aGlzLmJvdW5kcz1bWzEvMCwxLzAsMS8wXSxbLTEvMCwtMS8wLC0xLzBdXSx0aGlzLmNsaXBCb3VuZHM9W1stMS8wLC0xLzAsLTEvMF0sWzEvMCwxLzAsMS8wXV0sdGhpcy5saW5lV2lkdGg9WzEsMSwxXSx0aGlzLmNhcFNpemU9WzEwLDEwLDEwXSx0aGlzLmxpbmVDb3VudD1bMCwwLDBdLHRoaXMubGluZU9mZnNldD1bMCwwLDBdLHRoaXMub3BhY2l0eT0xLHRoaXMuaGFzQWxwaGE9ITF9dmFyIGw9cy5wcm90b3R5cGU7ZnVuY3Rpb24gYyh0LGUpe2Zvcih2YXIgcj0wO3I8MzsrK3IpdFswXVtyXT1NYXRoLm1pbih0WzBdW3JdLGVbcl0pLHRbMV1bcl09TWF0aC5tYXgodFsxXVtyXSxlW3JdKX1sLmlzT3BhcXVlPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaGFzQWxwaGF9LGwuaXNUcmFuc3BhcmVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmhhc0FscGhhfSxsLmRyYXdUcmFuc3BhcmVudD1sLmRyYXc9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5nbCxyPXRoaXMuc2hhZGVyLnVuaWZvcm1zO3RoaXMuc2hhZGVyLmJpbmQoKTt2YXIgbj1yLnZpZXc9dC52aWV3fHxvLGE9ci5wcm9qZWN0aW9uPXQucHJvamVjdGlvbnx8bztyLm1vZGVsPXQubW9kZWx8fG8sci5jbGlwQm91bmRzPXRoaXMuY2xpcEJvdW5kcyxyLm9wYWNpdHk9dGhpcy5vcGFjaXR5O3ZhciBpPW5bMTJdLHM9blsxM10sbD1uWzE0XSxjPW5bMTVdLHU9KHQuX29ydGhvfHwhMT8yOjEpKnRoaXMucGl4ZWxSYXRpbyooYVszXSppK2FbN10qcythWzExXSpsK2FbMTVdKmMpL2UuZHJhd2luZ0J1ZmZlckhlaWdodDt0aGlzLnZhby5iaW5kKCk7Zm9yKHZhciBoPTA7aDwzOysraCllLmxpbmVXaWR0aCh0aGlzLmxpbmVXaWR0aFtoXSp0aGlzLnBpeGVsUmF0aW8pLHIuY2FwU2l6ZT10aGlzLmNhcFNpemVbaF0qdSx0aGlzLmxpbmVDb3VudFtoXSYmZS5kcmF3QXJyYXlzKGUuTElORVMsdGhpcy5saW5lT2Zmc2V0W2hdLHRoaXMubGluZUNvdW50W2hdKTt0aGlzLnZhby51bmJpbmQoKX07dmFyIHU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9bmV3IEFycmF5KDMpLGU9MDtlPDM7KytlKXtmb3IodmFyIHI9W10sbj0xO248PTI7KytuKWZvcih2YXIgYT0tMTthPD0xO2ErPTIpe3ZhciBpPVswLDAsMF07aVsobitlKSUzXT1hLHIucHVzaChpKX10W2VdPXJ9cmV0dXJuIHR9KCk7ZnVuY3Rpb24gaCh0LGUscixuKXtmb3IodmFyIGE9dVtuXSxpPTA7aTxhLmxlbmd0aDsrK2kpe3ZhciBvPWFbaV07dC5wdXNoKGVbMF0sZVsxXSxlWzJdLHJbMF0sclsxXSxyWzJdLHJbM10sb1swXSxvWzFdLG9bMl0pfXJldHVybiBhLmxlbmd0aH1sLnVwZGF0ZT1mdW5jdGlvbih0KXsibGluZVdpZHRoImluKHQ9dHx8e30pJiYodGhpcy5saW5lV2lkdGg9dC5saW5lV2lkdGgsQXJyYXkuaXNBcnJheSh0aGlzLmxpbmVXaWR0aCl8fCh0aGlzLmxpbmVXaWR0aD1bdGhpcy5saW5lV2lkdGgsdGhpcy5saW5lV2lkdGgsdGhpcy5saW5lV2lkdGhdKSksImNhcFNpemUiaW4gdCYmKHRoaXMuY2FwU2l6ZT10LmNhcFNpemUsQXJyYXkuaXNBcnJheSh0aGlzLmNhcFNpemUpfHwodGhpcy5jYXBTaXplPVt0aGlzLmNhcFNpemUsdGhpcy5jYXBTaXplLHRoaXMuY2FwU2l6ZV0pKSx0aGlzLmhhc0FscGhhPSExLCJvcGFjaXR5ImluIHQmJih0aGlzLm9wYWNpdHk9K3Qub3BhY2l0eSx0aGlzLm9wYWNpdHk8MSYmKHRoaXMuaGFzQWxwaGE9ITApKTt2YXIgZT10LmNvbG9yfHxbWzAsMCwwXSxbMCwwLDBdLFswLDAsMF1dLHI9dC5wb3NpdGlvbixuPXQuZXJyb3I7aWYoQXJyYXkuaXNBcnJheShlWzBdKXx8KGU9W2UsZSxlXSksciYmbil7dmFyIGE9W10saT1yLmxlbmd0aCxvPTA7dGhpcy5ib3VuZHM9W1sxLzAsMS8wLDEvMF0sWy0xLzAsLTEvMCwtMS8wXV0sdGhpcy5saW5lQ291bnQ9WzAsMCwwXTtmb3IodmFyIHM9MDtzPDM7KytzKXt0aGlzLmxpbmVPZmZzZXRbc109bzt0OmZvcih2YXIgbD0wO2w8aTsrK2wpe2Zvcih2YXIgdT1yW2xdLGY9MDtmPDM7KytmKWlmKGlzTmFOKHVbZl0pfHwhaXNGaW5pdGUodVtmXSkpY29udGludWUgdDt2YXIgcD1uW2xdLGQ9ZVtzXTtpZihBcnJheS5pc0FycmF5KGRbMF0pJiYoZD1lW2xdKSwzPT09ZC5sZW5ndGg/ZD1bZFswXSxkWzFdLGRbMl0sMV06ND09PWQubGVuZ3RoJiYoZD1bZFswXSxkWzFdLGRbMl0sZFszXV0sIXRoaXMuaGFzQWxwaGEmJmRbM108MSYmKHRoaXMuaGFzQWxwaGE9ITApKSwhaXNOYU4ocFswXVtzXSkmJiFpc05hTihwWzFdW3NdKSl7dmFyIGc7aWYocFswXVtzXTwwKShnPXUuc2xpY2UoKSlbc10rPXBbMF1bc10sYS5wdXNoKHVbMF0sdVsxXSx1WzJdLGRbMF0sZFsxXSxkWzJdLGRbM10sMCwwLDAsZ1swXSxnWzFdLGdbMl0sZFswXSxkWzFdLGRbMl0sZFszXSwwLDAsMCksYyh0aGlzLmJvdW5kcyxnKSxvKz0yK2goYSxnLGQscyk7aWYocFsxXVtzXT4wKShnPXUuc2xpY2UoKSlbc10rPXBbMV1bc10sYS5wdXNoKHVbMF0sdVsxXSx1WzJdLGRbMF0sZFsxXSxkWzJdLGRbM10sMCwwLDAsZ1swXSxnWzFdLGdbMl0sZFswXSxkWzFdLGRbMl0sZFszXSwwLDAsMCksYyh0aGlzLmJvdW5kcyxnKSxvKz0yK2goYSxnLGQscyl9fXRoaXMubGluZUNvdW50W3NdPW8tdGhpcy5saW5lT2Zmc2V0W3NdfXRoaXMuYnVmZmVyLnVwZGF0ZShhKX19LGwuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuc2hhZGVyLmRpc3Bvc2UoKSx0aGlzLmJ1ZmZlci5kaXNwb3NlKCksdGhpcy52YW8uZGlzcG9zZSgpfX0seyIuL3NoYWRlcnMvaW5kZXgiOjI1MSwiZ2wtYnVmZmVyIjoyNDQsImdsLXZhbyI6MzI5fV0sMjUxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImdsc2xpZnkiKSxhPXQoImdsLXNoYWRlciIpLGk9bihbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSB2ZWMzIHBvc2l0aW9uLCBvZmZzZXQ7XG5hdHRyaWJ1dGUgdmVjNCBjb2xvcjtcbnVuaWZvcm0gbWF0NCBtb2RlbCwgdmlldywgcHJvamVjdGlvbjtcbnVuaWZvcm0gZmxvYXQgY2FwU2l6ZTtcbnZhcnlpbmcgdmVjNCBmcmFnQ29sb3I7XG52YXJ5aW5nIHZlYzMgZnJhZ1Bvc2l0aW9uO1xuXG52b2lkIG1haW4oKSB7XG4gIHZlYzQgd29ybGRQb3NpdGlvbiAgPSBtb2RlbCAqIHZlYzQocG9zaXRpb24sIDEuMCk7XG4gIHdvcmxkUG9zaXRpb24gICAgICAgPSAod29ybGRQb3NpdGlvbiAvIHdvcmxkUG9zaXRpb24udykgKyB2ZWM0KGNhcFNpemUgKiBvZmZzZXQsIDAuMCk7XG4gIGdsX1Bvc2l0aW9uICAgICAgICAgPSBwcm9qZWN0aW9uICogdmlldyAqIHdvcmxkUG9zaXRpb247XG4gIGZyYWdDb2xvciAgICAgICAgICAgPSBjb2xvcjtcbiAgZnJhZ1Bvc2l0aW9uICAgICAgICA9IHBvc2l0aW9uO1xufSJdKSxvPW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5ib29sIG91dE9mUmFuZ2UoZmxvYXQgYSwgZmxvYXQgYiwgZmxvYXQgcCkge1xuICByZXR1cm4gKChwID4gbWF4KGEsIGIpKSB8fCBcbiAgICAgICAgICAocCA8IG1pbihhLCBiKSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMiBhLCB2ZWMyIGIsIHZlYzIgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzMgYSwgdmVjMyBiLCB2ZWMzIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS56LCBiLnosIHAueikpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjNCBhLCB2ZWM0IGIsIHZlYzQgcCkge1xuICByZXR1cm4gb3V0T2ZSYW5nZShhLnh5eiwgYi54eXosIHAueHl6KTtcbn1cblxudW5pZm9ybSB2ZWMzIGNsaXBCb3VuZHNbMl07XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG52YXJ5aW5nIHZlYzMgZnJhZ1Bvc2l0aW9uO1xudmFyeWluZyB2ZWM0IGZyYWdDb2xvcjtcblxudm9pZCBtYWluKCkge1xuICBpZiAoXG4gICAgb3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCBmcmFnUG9zaXRpb24pIHx8XG4gICAgZnJhZ0NvbG9yLmEgKiBvcGFjaXR5ID09IDAuXG4gICkgZGlzY2FyZDtcblxuICBnbF9GcmFnQ29sb3IgPSBvcGFjaXR5ICogZnJhZ0NvbG9yO1xufSJdKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGEodCxpLG8sbnVsbCxbe25hbWU6InBvc2l0aW9uIix0eXBlOiJ2ZWMzIn0se25hbWU6ImNvbG9yIix0eXBlOiJ2ZWM0In0se25hbWU6Im9mZnNldCIsdHlwZToidmVjMyJ9XSl9fSx7ImdsLXNoYWRlciI6MzA0LGdsc2xpZnk6NDExfV0sMjUyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImdsLXRleHR1cmUyZCIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuKXthfHwoYT10LkZSQU1FQlVGRkVSX1VOU1VQUE9SVEVELGk9dC5GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQsbz10LkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfRElNRU5TSU9OUyxzPXQuRlJBTUVCVUZGRVJfSU5DT01QTEVURV9NSVNTSU5HX0FUVEFDSE1FTlQpO3ZhciBjPXQuZ2V0RXh0ZW5zaW9uKCJXRUJHTF9kcmF3X2J1ZmZlcnMiKTshbCYmYyYmZnVuY3Rpb24odCxlKXt2YXIgcj10LmdldFBhcmFtZXRlcihlLk1BWF9DT0xPUl9BVFRBQ0hNRU5UU19XRUJHTCk7bD1uZXcgQXJyYXkocisxKTtmb3IodmFyIG49MDtuPD1yOysrbil7Zm9yKHZhciBhPW5ldyBBcnJheShyKSxpPTA7aTxuOysraSlhW2ldPXQuQ09MT1JfQVRUQUNITUVOVDAraTtmb3IodmFyIGk9bjtpPHI7KytpKWFbaV09dC5OT05FO2xbbl09YX19KHQsYyk7QXJyYXkuaXNBcnJheShlKSYmKG49cixyPTB8ZVsxXSxlPTB8ZVswXSk7aWYoIm51bWJlciIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiZ2wtZmJvOiBNaXNzaW5nIHNoYXBlIHBhcmFtZXRlciIpO3ZhciB1PXQuZ2V0UGFyYW1ldGVyKHQuTUFYX1JFTkRFUkJVRkZFUl9TSVpFKTtpZihlPDB8fGU+dXx8cjwwfHxyPnUpdGhyb3cgbmV3IEVycm9yKCJnbC1mYm86IFBhcmFtZXRlcnMgYXJlIHRvbyBsYXJnZSBmb3IgRkJPIik7dmFyIGg9MTtpZigiY29sb3IiaW4obj1ufHx7fSkpe2lmKChoPU1hdGgubWF4KDB8bi5jb2xvciwwKSk8MCl0aHJvdyBuZXcgRXJyb3IoImdsLWZibzogTXVzdCBzcGVjaWZ5IGEgbm9ubmVnYXRpdmUgbnVtYmVyIG9mIGNvbG9ycyIpO2lmKGg+MSl7aWYoIWMpdGhyb3cgbmV3IEVycm9yKCJnbC1mYm86IE11bHRpcGxlIGRyYXcgYnVmZmVyIGV4dGVuc2lvbiBub3Qgc3VwcG9ydGVkIik7aWYoaD50LmdldFBhcmFtZXRlcihjLk1BWF9DT0xPUl9BVFRBQ0hNRU5UU19XRUJHTCkpdGhyb3cgbmV3IEVycm9yKCJnbC1mYm86IENvbnRleHQgZG9lcyBub3Qgc3VwcG9ydCAiK2grIiBkcmF3IGJ1ZmZlcnMiKX19dmFyIGY9dC5VTlNJR05FRF9CWVRFLHA9dC5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJlX2Zsb2F0Iik7aWYobi5mbG9hdCYmaD4wKXtpZighcCl0aHJvdyBuZXcgRXJyb3IoImdsLWZibzogQ29udGV4dCBkb2VzIG5vdCBzdXBwb3J0IGZsb2F0aW5nIHBvaW50IHRleHR1cmVzIik7Zj10LkZMT0FUfWVsc2Ugbi5wcmVmZXJGbG9hdCYmaD4wJiZwJiYoZj10LkZMT0FUKTt2YXIgZz0hMDsiZGVwdGgiaW4gbiYmKGc9ISFuLmRlcHRoKTt2YXIgdj0hMTsic3RlbmNpbCJpbiBuJiYodj0hIW4uc3RlbmNpbCk7cmV0dXJuIG5ldyBkKHQsZSxyLGYsaCxnLHYsYyl9O3ZhciBhLGksbyxzLGw9bnVsbDtmdW5jdGlvbiBjKHQpe3JldHVyblt0LmdldFBhcmFtZXRlcih0LkZSQU1FQlVGRkVSX0JJTkRJTkcpLHQuZ2V0UGFyYW1ldGVyKHQuUkVOREVSQlVGRkVSX0JJTkRJTkcpLHQuZ2V0UGFyYW1ldGVyKHQuVEVYVFVSRV9CSU5ESU5HXzJEKV19ZnVuY3Rpb24gdSh0LGUpe3QuYmluZEZyYW1lYnVmZmVyKHQuRlJBTUVCVUZGRVIsZVswXSksdC5iaW5kUmVuZGVyYnVmZmVyKHQuUkVOREVSQlVGRkVSLGVbMV0pLHQuYmluZFRleHR1cmUodC5URVhUVVJFXzJELGVbMl0pfWZ1bmN0aW9uIGgodCl7c3dpdGNoKHQpe2Nhc2UgYTp0aHJvdyBuZXcgRXJyb3IoImdsLWZibzogRnJhbWVidWZmZXIgdW5zdXBwb3J0ZWQiKTtjYXNlIGk6dGhyb3cgbmV3IEVycm9yKCJnbC1mYm86IEZyYW1lYnVmZmVyIGluY29tcGxldGUgYXR0YWNobWVudCIpO2Nhc2Ugbzp0aHJvdyBuZXcgRXJyb3IoImdsLWZibzogRnJhbWVidWZmZXIgaW5jb21wbGV0ZSBkaW1lbnNpb25zIik7Y2FzZSBzOnRocm93IG5ldyBFcnJvcigiZ2wtZmJvOiBGcmFtZWJ1ZmZlciBpbmNvbXBsZXRlIG1pc3NpbmcgYXR0YWNobWVudCIpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJnbC1mYm86IEZyYW1lYnVmZmVyIGZhaWxlZCBmb3IgdW5zcGVjaWZpZWQgcmVhc29uIil9fWZ1bmN0aW9uIGYodCxlLHIsYSxpLG8pe2lmKCFhKXJldHVybiBudWxsO3ZhciBzPW4odCxlLHIsaSxhKTtyZXR1cm4gcy5tYWdGaWx0ZXI9dC5ORUFSRVNULHMubWluRmlsdGVyPXQuTkVBUkVTVCxzLm1pcFNhbXBsZXM9MSxzLmJpbmQoKSx0LmZyYW1lYnVmZmVyVGV4dHVyZTJEKHQuRlJBTUVCVUZGRVIsbyx0LlRFWFRVUkVfMkQscy5oYW5kbGUsMCksc31mdW5jdGlvbiBwKHQsZSxyLG4sYSl7dmFyIGk9dC5jcmVhdGVSZW5kZXJidWZmZXIoKTtyZXR1cm4gdC5iaW5kUmVuZGVyYnVmZmVyKHQuUkVOREVSQlVGRkVSLGkpLHQucmVuZGVyYnVmZmVyU3RvcmFnZSh0LlJFTkRFUkJVRkZFUixuLGUsciksdC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcih0LkZSQU1FQlVGRkVSLGEsdC5SRU5ERVJCVUZGRVIsaSksaX1mdW5jdGlvbiBkKHQsZSxyLG4sYSxpLG8scyl7dGhpcy5nbD10LHRoaXMuX3NoYXBlPVswfGUsMHxyXSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fZXh0PXMsdGhpcy5jb2xvcj1uZXcgQXJyYXkoYSk7Zm9yKHZhciBkPTA7ZDxhOysrZCl0aGlzLmNvbG9yW2RdPW51bGw7dGhpcy5fY29sb3JfcmI9bnVsbCx0aGlzLmRlcHRoPW51bGwsdGhpcy5fZGVwdGhfcmI9bnVsbCx0aGlzLl9jb2xvclR5cGU9bix0aGlzLl91c2VEZXB0aD1pLHRoaXMuX3VzZVN0ZW5jaWw9bzt2YXIgZz10aGlzLHY9WzB8ZSwwfHJdO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHYsezA6e2dldDpmdW5jdGlvbigpe3JldHVybiBnLl9zaGFwZVswXX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBnLndpZHRoPXR9fSwxOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZy5fc2hhcGVbMV19LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gZy5oZWlnaHQ9dH19fSksdGhpcy5fc2hhcGVWZWN0b3I9dixmdW5jdGlvbih0KXt2YXIgZT1jKHQuZ2wpLHI9dC5nbCxuPXQuaGFuZGxlPXIuY3JlYXRlRnJhbWVidWZmZXIoKSxhPXQuX3NoYXBlWzBdLGk9dC5fc2hhcGVbMV0sbz10LmNvbG9yLmxlbmd0aCxzPXQuX2V4dCxkPXQuX3VzZVN0ZW5jaWwsZz10Ll91c2VEZXB0aCx2PXQuX2NvbG9yVHlwZTtyLmJpbmRGcmFtZWJ1ZmZlcihyLkZSQU1FQlVGRkVSLG4pO2Zvcih2YXIgbT0wO208bzsrK20pdC5jb2xvclttXT1mKHIsYSxpLHYsci5SR0JBLHIuQ09MT1JfQVRUQUNITUVOVDArbSk7MD09PW8/KHQuX2NvbG9yX3JiPXAocixhLGksci5SR0JBNCxyLkNPTE9SX0FUVEFDSE1FTlQwKSxzJiZzLmRyYXdCdWZmZXJzV0VCR0wobFswXSkpOm8+MSYmcy5kcmF3QnVmZmVyc1dFQkdMKGxbb10pO3ZhciB5PXIuZ2V0RXh0ZW5zaW9uKCJXRUJHTF9kZXB0aF90ZXh0dXJlIik7eT9kP3QuZGVwdGg9ZihyLGEsaSx5LlVOU0lHTkVEX0lOVF8yNF84X1dFQkdMLHIuREVQVEhfU1RFTkNJTCxyLkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCk6ZyYmKHQuZGVwdGg9ZihyLGEsaSxyLlVOU0lHTkVEX1NIT1JULHIuREVQVEhfQ09NUE9ORU5ULHIuREVQVEhfQVRUQUNITUVOVCkpOmcmJmQ/dC5fZGVwdGhfcmI9cChyLGEsaSxyLkRFUFRIX1NURU5DSUwsci5ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQpOmc/dC5fZGVwdGhfcmI9cChyLGEsaSxyLkRFUFRIX0NPTVBPTkVOVDE2LHIuREVQVEhfQVRUQUNITUVOVCk6ZCYmKHQuX2RlcHRoX3JiPXAocixhLGksci5TVEVOQ0lMX0lOREVYLHIuU1RFTkNJTF9BVFRBQ0hNRU5UKSk7dmFyIHg9ci5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKHIuRlJBTUVCVUZGRVIpO2lmKHghPT1yLkZSQU1FQlVGRkVSX0NPTVBMRVRFKXtmb3IodC5fZGVzdHJveWVkPSEwLHIuYmluZEZyYW1lYnVmZmVyKHIuRlJBTUVCVUZGRVIsbnVsbCksci5kZWxldGVGcmFtZWJ1ZmZlcih0LmhhbmRsZSksdC5oYW5kbGU9bnVsbCx0LmRlcHRoJiYodC5kZXB0aC5kaXNwb3NlKCksdC5kZXB0aD1udWxsKSx0Ll9kZXB0aF9yYiYmKHIuZGVsZXRlUmVuZGVyYnVmZmVyKHQuX2RlcHRoX3JiKSx0Ll9kZXB0aF9yYj1udWxsKSxtPTA7bTx0LmNvbG9yLmxlbmd0aDsrK20pdC5jb2xvclttXS5kaXNwb3NlKCksdC5jb2xvclttXT1udWxsO3QuX2NvbG9yX3JiJiYoci5kZWxldGVSZW5kZXJidWZmZXIodC5fY29sb3JfcmIpLHQuX2NvbG9yX3JiPW51bGwpLHUocixlKSxoKHgpfXUocixlKX0odGhpcyl9dmFyIGc9ZC5wcm90b3R5cGU7ZnVuY3Rpb24gdih0LGUscil7aWYodC5fZGVzdHJveWVkKXRocm93IG5ldyBFcnJvcigiZ2wtZmJvOiBDYW4ndCByZXNpemUgZGVzdHJveWVkIEZCTyIpO2lmKHQuX3NoYXBlWzBdIT09ZXx8dC5fc2hhcGVbMV0hPT1yKXt2YXIgbj10LmdsLGE9bi5nZXRQYXJhbWV0ZXIobi5NQVhfUkVOREVSQlVGRkVSX1NJWkUpO2lmKGU8MHx8ZT5hfHxyPDB8fHI+YSl0aHJvdyBuZXcgRXJyb3IoImdsLWZibzogQ2FuJ3QgcmVzaXplIEZCTywgaW52YWxpZCBkaW1lbnNpb25zIik7dC5fc2hhcGVbMF09ZSx0Ll9zaGFwZVsxXT1yO2Zvcih2YXIgaT1jKG4pLG89MDtvPHQuY29sb3IubGVuZ3RoOysrbyl0LmNvbG9yW29dLnNoYXBlPXQuX3NoYXBlO3QuX2NvbG9yX3JiJiYobi5iaW5kUmVuZGVyYnVmZmVyKG4uUkVOREVSQlVGRkVSLHQuX2NvbG9yX3JiKSxuLnJlbmRlcmJ1ZmZlclN0b3JhZ2Uobi5SRU5ERVJCVUZGRVIsbi5SR0JBNCx0Ll9zaGFwZVswXSx0Ll9zaGFwZVsxXSkpLHQuZGVwdGgmJih0LmRlcHRoLnNoYXBlPXQuX3NoYXBlKSx0Ll9kZXB0aF9yYiYmKG4uYmluZFJlbmRlcmJ1ZmZlcihuLlJFTkRFUkJVRkZFUix0Ll9kZXB0aF9yYiksdC5fdXNlRGVwdGgmJnQuX3VzZVN0ZW5jaWw/bi5yZW5kZXJidWZmZXJTdG9yYWdlKG4uUkVOREVSQlVGRkVSLG4uREVQVEhfU1RFTkNJTCx0Ll9zaGFwZVswXSx0Ll9zaGFwZVsxXSk6dC5fdXNlRGVwdGg/bi5yZW5kZXJidWZmZXJTdG9yYWdlKG4uUkVOREVSQlVGRkVSLG4uREVQVEhfQ09NUE9ORU5UMTYsdC5fc2hhcGVbMF0sdC5fc2hhcGVbMV0pOnQuX3VzZVN0ZW5jaWwmJm4ucmVuZGVyYnVmZmVyU3RvcmFnZShuLlJFTkRFUkJVRkZFUixuLlNURU5DSUxfSU5ERVgsdC5fc2hhcGVbMF0sdC5fc2hhcGVbMV0pKSxuLmJpbmRGcmFtZWJ1ZmZlcihuLkZSQU1FQlVGRkVSLHQuaGFuZGxlKTt2YXIgcz1uLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMobi5GUkFNRUJVRkZFUik7cyE9PW4uRlJBTUVCVUZGRVJfQ09NUExFVEUmJih0LmRpc3Bvc2UoKSx1KG4saSksaChzKSksdShuLGkpfX1PYmplY3QuZGVmaW5lUHJvcGVydGllcyhnLHtzaGFwZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZD9bMCwwXTp0aGlzLl9zaGFwZVZlY3Rvcn0sc2V0OmZ1bmN0aW9uKHQpe2lmKEFycmF5LmlzQXJyYXkodCl8fCh0PVswfHQsMHx0XSksMiE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiZ2wtZmJvOiBTaGFwZSB2ZWN0b3IgbXVzdCBiZSBsZW5ndGggMiIpO3ZhciBlPTB8dFswXSxyPTB8dFsxXTtyZXR1cm4gdih0aGlzLGUsciksW2Uscl19LGVudW1lcmFibGU6ITF9LHdpZHRoOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGVzdHJveWVkPzA6dGhpcy5fc2hhcGVbMF19LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gdih0aGlzLHR8PTAsdGhpcy5fc2hhcGVbMV0pLHR9LGVudW1lcmFibGU6ITF9LGhlaWdodDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZD8wOnRoaXMuX3NoYXBlWzFdfSxzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHR8PTAsdih0aGlzLHRoaXMuX3NoYXBlWzBdLHQpLHR9LGVudW1lcmFibGU6ITF9fSksZy5iaW5kPWZ1bmN0aW9uKCl7aWYoIXRoaXMuX2Rlc3Ryb3llZCl7dmFyIHQ9dGhpcy5nbDt0LmJpbmRGcmFtZWJ1ZmZlcih0LkZSQU1FQlVGRkVSLHRoaXMuaGFuZGxlKSx0LnZpZXdwb3J0KDAsMCx0aGlzLl9zaGFwZVswXSx0aGlzLl9zaGFwZVsxXSl9fSxnLmRpc3Bvc2U9ZnVuY3Rpb24oKXtpZighdGhpcy5fZGVzdHJveWVkKXt0aGlzLl9kZXN0cm95ZWQ9ITA7dmFyIHQ9dGhpcy5nbDt0LmRlbGV0ZUZyYW1lYnVmZmVyKHRoaXMuaGFuZGxlKSx0aGlzLmhhbmRsZT1udWxsLHRoaXMuZGVwdGgmJih0aGlzLmRlcHRoLmRpc3Bvc2UoKSx0aGlzLmRlcHRoPW51bGwpLHRoaXMuX2RlcHRoX3JiJiYodC5kZWxldGVSZW5kZXJidWZmZXIodGhpcy5fZGVwdGhfcmIpLHRoaXMuX2RlcHRoX3JiPW51bGwpO2Zvcih2YXIgZT0wO2U8dGhpcy5jb2xvci5sZW5ndGg7KytlKXRoaXMuY29sb3JbZV0uZGlzcG9zZSgpLHRoaXMuY29sb3JbZV09bnVsbDt0aGlzLl9jb2xvcl9yYiYmKHQuZGVsZXRlUmVuZGVyYnVmZmVyKHRoaXMuX2NvbG9yX3JiKSx0aGlzLl9jb2xvcl9yYj1udWxsKX19fSx7ImdsLXRleHR1cmUyZCI6MzI0fV0sMjUzOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgic3ByaW50Zi1qcyIpLnNwcmludGYsYT10KCJnbC1jb25zdGFudHMvbG9va3VwIiksaT10KCJnbHNsLXNoYWRlci1uYW1lIiksbz10KCJhZGQtbGluZS1udW1iZXJzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIHM9aShlKXx8Im9mIHVua25vd24gbmFtZSAoc2VlIG5wbSBnbHNsLXNoYWRlci1uYW1lKSIsbD0idW5rbm93biB0eXBlIjt2b2lkIDAhPT1yJiYobD1yPT09YS5GUkFHTUVOVF9TSEFERVI/ImZyYWdtZW50IjoidmVydGV4Iik7Zm9yKHZhciBjPW4oIkVycm9yIGNvbXBpbGluZyAlcyBzaGFkZXIgJXM6XG4iLGwscyksdT1uKCIlcyVzIixjLHQpLGg9dC5zcGxpdCgiXG4iKSxmPXt9LHA9MDtwPGgubGVuZ3RoO3ArKyl7dmFyIGQ9aFtwXTtpZigiIiE9PWQmJiJcMCIhPT1kKXt2YXIgZz1wYXJzZUludChkLnNwbGl0KCI6IilbMl0pO2lmKGlzTmFOKGcpKXRocm93IG5ldyBFcnJvcihuKCJDb3VsZCBub3QgcGFyc2UgZXJyb3I6ICVzIixkKSk7ZltnXT1kfX1mb3IodmFyIHY9byhlKS5zcGxpdCgiXG4iKSxwPTA7cDx2Lmxlbmd0aDtwKyspaWYoZltwKzNdfHxmW3ArMl18fGZbcCsxXSl7dmFyIG09dltwXTtpZihjKz1tKyJcbiIsZltwKzFdKXt2YXIgeT1mW3ArMV07eT15LnN1YnN0cih5LnNwbGl0KCI6IiwzKS5qb2luKCI6IikubGVuZ3RoKzEpLnRyaW0oKSxjKz1uKCJeXl4gJXNcblxuIix5KX19cmV0dXJue2xvbmc6Yy50cmltKCksc2hvcnQ6dS50cmltKCl9fX0seyJhZGQtbGluZS1udW1iZXJzIjo2NCwiZ2wtY29uc3RhbnRzL2xvb2t1cCI6MjQ5LCJnbHNsLXNoYWRlci1uYW1lIjo0MDMsInNwcmludGYtanMiOjUyN31dLDI1NDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj10LmdsLG49byhyLGwudmVydGV4LGwuZnJhZ21lbnQpLGE9byhyLGwucGlja1ZlcnRleCxsLnBpY2tGcmFnbWVudCksaT1zKHIpLHU9cyhyKSxoPXMociksZj1zKHIpLHA9bmV3IGModCxuLGEsaSx1LGgsZik7cmV0dXJuIHAudXBkYXRlKGUpLHQuYWRkT2JqZWN0KHApLHB9O3ZhciBuPXQoImJpbmFyeS1zZWFyY2gtYm91bmRzIiksYT10KCJpb3RhLWFycmF5IiksaT10KCJ0eXBlZGFycmF5LXBvb2wiKSxvPXQoImdsLXNoYWRlciIpLHM9dCgiZ2wtYnVmZmVyIiksbD10KCIuL2xpYi9zaGFkZXJzIik7ZnVuY3Rpb24gYyh0LGUscixuLGEsaSxvKXt0aGlzLnBsb3Q9dCx0aGlzLnNoYWRlcj1lLHRoaXMucGlja1NoYWRlcj1yLHRoaXMucG9zaXRpb25CdWZmZXI9bix0aGlzLndlaWdodEJ1ZmZlcj1hLHRoaXMuY29sb3JCdWZmZXI9aSx0aGlzLmlkQnVmZmVyPW8sdGhpcy54RGF0YT1bXSx0aGlzLnlEYXRhPVtdLHRoaXMuc2hhcGU9WzAsMF0sdGhpcy5ib3VuZHM9WzEvMCwxLzAsLTEvMCwtMS8wXSx0aGlzLnBpY2tPZmZzZXQ9MH12YXIgdSxoPWMucHJvdG90eXBlLGY9WzAsMCwxLDAsMCwxLDEsMCwxLDEsMCwxXTtoLmRyYXc9KHU9WzEsMCwwLDAsMSwwLDAsMCwxXSxmdW5jdGlvbigpe3ZhciB0PXRoaXMucGxvdCxlPXRoaXMuc2hhZGVyLHI9dGhpcy5ib3VuZHMsbj10aGlzLm51bVZlcnRpY2VzO2lmKCEobjw9MCkpe3ZhciBhPXQuZ2wsaT10LmRhdGFCb3gsbz1yWzJdLXJbMF0scz1yWzNdLXJbMV0sbD1pWzJdLWlbMF0sYz1pWzNdLWlbMV07dVswXT0yKm8vbCx1WzRdPTIqcy9jLHVbNl09MiooclswXS1pWzBdKS9sLTEsdVs3XT0yKihyWzFdLWlbMV0pL2MtMSxlLmJpbmQoKTt2YXIgaD1lLnVuaWZvcm1zO2gudmlld1RyYW5zZm9ybT11LGguc2hhcGU9dGhpcy5zaGFwZTt2YXIgZj1lLmF0dHJpYnV0ZXM7dGhpcy5wb3NpdGlvbkJ1ZmZlci5iaW5kKCksZi5wb3NpdGlvbi5wb2ludGVyKCksdGhpcy53ZWlnaHRCdWZmZXIuYmluZCgpLGYud2VpZ2h0LnBvaW50ZXIoYS5VTlNJR05FRF9CWVRFLCExKSx0aGlzLmNvbG9yQnVmZmVyLmJpbmQoKSxmLmNvbG9yLnBvaW50ZXIoYS5VTlNJR05FRF9CWVRFLCEwKSxhLmRyYXdBcnJheXMoYS5UUklBTkdMRVMsMCxuKX19KSxoLmRyYXdQaWNrPWZ1bmN0aW9uKCl7dmFyIHQ9WzEsMCwwLDAsMSwwLDAsMCwxXSxlPVswLDAsMCwwXTtyZXR1cm4gZnVuY3Rpb24ocil7dmFyIG49dGhpcy5wbG90LGE9dGhpcy5waWNrU2hhZGVyLGk9dGhpcy5ib3VuZHMsbz10aGlzLm51bVZlcnRpY2VzO2lmKCEobzw9MCkpe3ZhciBzPW4uZ2wsbD1uLmRhdGFCb3gsYz1pWzJdLWlbMF0sdT1pWzNdLWlbMV0saD1sWzJdLWxbMF0sZj1sWzNdLWxbMV07dFswXT0yKmMvaCx0WzRdPTIqdS9mLHRbNl09MiooaVswXS1sWzBdKS9oLTEsdFs3XT0yKihpWzFdLWxbMV0pL2YtMTtmb3IodmFyIHA9MDtwPDQ7KytwKWVbcF09cj4+OCpwJjI1NTt0aGlzLnBpY2tPZmZzZXQ9cixhLmJpbmQoKTt2YXIgZD1hLnVuaWZvcm1zO2Qudmlld1RyYW5zZm9ybT10LGQucGlja09mZnNldD1lLGQuc2hhcGU9dGhpcy5zaGFwZTt2YXIgZz1hLmF0dHJpYnV0ZXM7cmV0dXJuIHRoaXMucG9zaXRpb25CdWZmZXIuYmluZCgpLGcucG9zaXRpb24ucG9pbnRlcigpLHRoaXMud2VpZ2h0QnVmZmVyLmJpbmQoKSxnLndlaWdodC5wb2ludGVyKHMuVU5TSUdORURfQllURSwhMSksdGhpcy5pZEJ1ZmZlci5iaW5kKCksZy5waWNrSWQucG9pbnRlcihzLlVOU0lHTkVEX0JZVEUsITEpLHMuZHJhd0FycmF5cyhzLlRSSUFOR0xFUywwLG8pLHIrdGhpcy5zaGFwZVswXSp0aGlzLnNoYXBlWzFdfX19KCksaC5waWNrPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLnBpY2tPZmZzZXQsYT10aGlzLnNoYXBlWzBdKnRoaXMuc2hhcGVbMV07aWYocjxufHxyPj1uK2EpcmV0dXJuIG51bGw7dmFyIGk9ci1uLG89dGhpcy54RGF0YSxzPXRoaXMueURhdGE7cmV0dXJue29iamVjdDp0aGlzLHBvaW50SWQ6aSxkYXRhQ29vcmQ6W29baSV0aGlzLnNoYXBlWzBdXSxzW2kvdGhpcy5zaGFwZVswXXwwXV19fSxoLnVwZGF0ZT1mdW5jdGlvbih0KXt2YXIgZT0odD10fHx7fSkuc2hhcGV8fFswLDBdLHI9dC54fHxhKGVbMF0pLG89dC55fHxhKGVbMV0pLHM9dC56fHxuZXcgRmxvYXQzMkFycmF5KGVbMF0qZVsxXSk7dGhpcy54RGF0YT1yLHRoaXMueURhdGE9bzt2YXIgbD10LmNvbG9yTGV2ZWxzfHxbMF0sYz10LmNvbG9yVmFsdWVzfHxbMCwwLDAsMV0sdT1sLmxlbmd0aCxoPXRoaXMuYm91bmRzLHA9aFswXT1yWzBdLGQ9aFsxXT1vWzBdLGc9MS8oKGhbMl09cltyLmxlbmd0aC0xXSktcCksdj0xLygoaFszXT1vW28ubGVuZ3RoLTFdKS1kKSxtPWVbMF0seT1lWzFdO3RoaXMuc2hhcGU9W20seV07dmFyIHg9KG0tMSkqKHktMSkqKGYubGVuZ3RoPj4+MSk7dGhpcy5udW1WZXJ0aWNlcz14O2Zvcih2YXIgYj1pLm1hbGxvY1VpbnQ4KDQqeCksXz1pLm1hbGxvY0Zsb2F0MzIoMip4KSx3PWkubWFsbG9jVWludDgoMip4KSxrPWkubWFsbG9jVWludDMyKHgpLFQ9MCxNPTA7TTx5LTE7KytNKWZvcih2YXIgQT12KihvW01dLWQpLFM9dioob1tNKzFdLWQpLEU9MDtFPG0tMTsrK0UpZm9yKHZhciBMPWcqKHJbRV0tcCksQz1nKihyW0UrMV0tcCksUD0wO1A8Zi5sZW5ndGg7UCs9Mil7dmFyIE8seixJLEQsUj1mW1BdLEY9ZltQKzFdLEI9c1soTStGKSptKyhFK1IpXSxOPW4ubGUobCxCKTtpZihOPDApTz1jWzBdLHo9Y1sxXSxJPWNbMl0sRD1jWzNdO2Vsc2UgaWYoTj09PXUtMSlPPWNbNCp1LTRdLHo9Y1s0KnUtM10sST1jWzQqdS0yXSxEPWNbNCp1LTFdO2Vsc2V7dmFyIGo9KEItbFtOXSkvKGxbTisxXS1sW05dKSxWPTEtaixVPTQqTixxPTQqKE4rMSk7Tz1WKmNbVV0raipjW3FdLHo9VipjW1UrMV0raipjW3ErMV0sST1WKmNbVSsyXStqKmNbcSsyXSxEPVYqY1tVKzNdK2oqY1txKzNdfWJbNCpUXT0yNTUqTyxiWzQqVCsxXT0yNTUqeixiWzQqVCsyXT0yNTUqSSxiWzQqVCszXT0yNTUqRCxfWzIqVF09LjUqTCsuNSpDLF9bMipUKzFdPS41KkErLjUqUyx3WzIqVF09Uix3WzIqVCsxXT1GLGtbVF09TSptK0UsVCs9MX10aGlzLnBvc2l0aW9uQnVmZmVyLnVwZGF0ZShfKSx0aGlzLndlaWdodEJ1ZmZlci51cGRhdGUodyksdGhpcy5jb2xvckJ1ZmZlci51cGRhdGUoYiksdGhpcy5pZEJ1ZmZlci51cGRhdGUoayksaS5mcmVlKF8pLGkuZnJlZShiKSxpLmZyZWUodyksaS5mcmVlKGspfSxoLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLnNoYWRlci5kaXNwb3NlKCksdGhpcy5waWNrU2hhZGVyLmRpc3Bvc2UoKSx0aGlzLnBvc2l0aW9uQnVmZmVyLmRpc3Bvc2UoKSx0aGlzLndlaWdodEJ1ZmZlci5kaXNwb3NlKCksdGhpcy5jb2xvckJ1ZmZlci5kaXNwb3NlKCksdGhpcy5pZEJ1ZmZlci5kaXNwb3NlKCksdGhpcy5wbG90LnJlbW92ZU9iamVjdCh0aGlzKX19LHsiLi9saWIvc2hhZGVycyI6MjU1LCJiaW5hcnktc2VhcmNoLWJvdW5kcyI6MjU2LCJnbC1idWZmZXIiOjI0NCwiZ2wtc2hhZGVyIjozMDQsImlvdGEtYXJyYXkiOjQxOCwidHlwZWRhcnJheS1wb29sIjo1NDR9XSwyNTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZ2xzbGlmeSIpO2UuZXhwb3J0cz17ZnJhZ21lbnQ6bihbInByZWNpc2lvbiBsb3dwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcbnZhcnlpbmcgdmVjNCBmcmFnQ29sb3I7XG52b2lkIG1haW4oKSB7XG4gIGdsX0ZyYWdDb2xvciA9IHZlYzQoZnJhZ0NvbG9yLnJnYiAqIGZyYWdDb2xvci5hLCBmcmFnQ29sb3IuYSk7XG59XG4iXSksdmVydGV4Om4oWyJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSB2ZWMyIHBvc2l0aW9uO1xuYXR0cmlidXRlIHZlYzQgY29sb3I7XG5hdHRyaWJ1dGUgdmVjMiB3ZWlnaHQ7XG5cbnVuaWZvcm0gdmVjMiBzaGFwZTtcbnVuaWZvcm0gbWF0MyB2aWV3VHJhbnNmb3JtO1xuXG52YXJ5aW5nIHZlYzQgZnJhZ0NvbG9yO1xuXG52b2lkIG1haW4oKSB7XG4gIHZlYzMgdlBvc2l0aW9uID0gdmlld1RyYW5zZm9ybSAqIHZlYzMoIHBvc2l0aW9uICsgKHdlaWdodC0uNSkvKHNoYXBlLTEuKSAsIDEuMCk7XG4gIGZyYWdDb2xvciA9IGNvbG9yO1xuICBnbF9Qb3NpdGlvbiA9IHZlYzQodlBvc2l0aW9uLnh5LCAwLCB2UG9zaXRpb24ueik7XG59XG4iXSkscGlja0ZyYWdtZW50Om4oWyJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbnZhcnlpbmcgdmVjNCBmcmFnSWQ7XG52YXJ5aW5nIHZlYzIgdldlaWdodDtcblxudW5pZm9ybSB2ZWMyIHNoYXBlO1xudW5pZm9ybSB2ZWM0IHBpY2tPZmZzZXQ7XG5cbnZvaWQgbWFpbigpIHtcbiAgdmVjMiBkID0gc3RlcCguNSwgdldlaWdodCk7XG4gIHZlYzQgaWQgPSBmcmFnSWQgKyBwaWNrT2Zmc2V0O1xuICBpZC54ICs9IGQueCArIGQueSpzaGFwZS54O1xuXG4gIGlkLnkgKz0gZmxvb3IoaWQueCAvIDI1Ni4wKTtcbiAgaWQueCAtPSBmbG9vcihpZC54IC8gMjU2LjApICogMjU2LjA7XG5cbiAgaWQueiArPSBmbG9vcihpZC55IC8gMjU2LjApO1xuICBpZC55IC09IGZsb29yKGlkLnkgLyAyNTYuMCkgKiAyNTYuMDtcblxuICBpZC53ICs9IGZsb29yKGlkLnogLyAyNTYuMCk7XG4gIGlkLnogLT0gZmxvb3IoaWQueiAvIDI1Ni4wKSAqIDI1Ni4wO1xuXG4gIGdsX0ZyYWdDb2xvciA9IGlkLzI1NS47XG59XG4iXSkscGlja1ZlcnRleDpuKFsicHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5hdHRyaWJ1dGUgdmVjMiBwb3NpdGlvbjtcbmF0dHJpYnV0ZSB2ZWM0IHBpY2tJZDtcbmF0dHJpYnV0ZSB2ZWMyIHdlaWdodDtcblxudW5pZm9ybSB2ZWMyIHNoYXBlO1xudW5pZm9ybSBtYXQzIHZpZXdUcmFuc2Zvcm07XG5cbnZhcnlpbmcgdmVjNCBmcmFnSWQ7XG52YXJ5aW5nIHZlYzIgdldlaWdodDtcblxudm9pZCBtYWluKCkge1xuICB2V2VpZ2h0ID0gd2VpZ2h0O1xuXG4gIGZyYWdJZCA9IHBpY2tJZDtcblxuICB2ZWMzIHZQb3NpdGlvbiA9IHZpZXdUcmFuc2Zvcm0gKiB2ZWMzKCBwb3NpdGlvbiArICh3ZWlnaHQtLjUpLyhzaGFwZS0xLikgLCAxLjApO1xuICBnbF9Qb3NpdGlvbiA9IHZlYzQodlBvc2l0aW9uLnh5LCAwLCB2UG9zaXRpb24ueik7XG59XG4iXSl9fSx7Z2xzbGlmeTo0MTF9XSwyNTY6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTEzXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MTEzfV0sMjU3OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiZ2xzbGlmeSIpLGE9dCgiZ2wtc2hhZGVyIiksaT1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzMgcG9zaXRpb24sIG5leHRQb3NpdGlvbjtcbmF0dHJpYnV0ZSBmbG9hdCBhcmNMZW5ndGgsIGxpbmVXaWR0aDtcbmF0dHJpYnV0ZSB2ZWM0IGNvbG9yO1xuXG51bmlmb3JtIHZlYzIgc2NyZWVuU2hhcGU7XG51bmlmb3JtIGZsb2F0IHBpeGVsUmF0aW87XG51bmlmb3JtIG1hdDQgbW9kZWwsIHZpZXcsIHByb2plY3Rpb247XG5cbnZhcnlpbmcgdmVjNCBmcmFnQ29sb3I7XG52YXJ5aW5nIHZlYzMgd29ybGRQb3NpdGlvbjtcbnZhcnlpbmcgZmxvYXQgcGl4ZWxBcmNMZW5ndGg7XG5cbnZlYzQgcHJvamVjdCh2ZWMzIHApIHtcbiAgcmV0dXJuIHByb2plY3Rpb24gKiB2aWV3ICogbW9kZWwgKiB2ZWM0KHAsIDEuMCk7XG59XG5cbnZvaWQgbWFpbigpIHtcbiAgdmVjNCBzdGFydFBvaW50ID0gcHJvamVjdChwb3NpdGlvbik7XG4gIHZlYzQgZW5kUG9pbnQgICA9IHByb2plY3QobmV4dFBvc2l0aW9uKTtcblxuICB2ZWMyIEEgPSBzdGFydFBvaW50Lnh5IC8gc3RhcnRQb2ludC53O1xuICB2ZWMyIEIgPSAgIGVuZFBvaW50Lnh5IC8gICBlbmRQb2ludC53O1xuXG4gIGZsb2F0IGNsaXBBbmdsZSA9IGF0YW4oXG4gICAgKEIueSAtIEEueSkgKiBzY3JlZW5TaGFwZS55LFxuICAgIChCLnggLSBBLngpICogc2NyZWVuU2hhcGUueFxuICApO1xuXG4gIHZlYzIgb2Zmc2V0ID0gMC41ICogcGl4ZWxSYXRpbyAqIGxpbmVXaWR0aCAqIHZlYzIoXG4gICAgc2luKGNsaXBBbmdsZSksXG4gICAgLWNvcyhjbGlwQW5nbGUpXG4gICkgLyBzY3JlZW5TaGFwZTtcblxuICBnbF9Qb3NpdGlvbiA9IHZlYzQoc3RhcnRQb2ludC54eSArIHN0YXJ0UG9pbnQudyAqIG9mZnNldCwgc3RhcnRQb2ludC56dyk7XG5cbiAgd29ybGRQb3NpdGlvbiA9IHBvc2l0aW9uO1xuICBwaXhlbEFyY0xlbmd0aCA9IGFyY0xlbmd0aDtcbiAgZnJhZ0NvbG9yID0gY29sb3I7XG59XG4iXSksbz1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYm9vbCBvdXRPZlJhbmdlKGZsb2F0IGEsIGZsb2F0IGIsIGZsb2F0IHApIHtcbiAgcmV0dXJuICgocCA+IG1heChhLCBiKSkgfHwgXG4gICAgICAgICAgKHAgPCBtaW4oYSwgYikpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzIgYSwgdmVjMiBiLCB2ZWMyIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMzIGEsIHZlYzMgYiwgdmVjMyBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueiwgYi56LCBwLnopKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzQgYSwgdmVjNCBiLCB2ZWM0IHApIHtcbiAgcmV0dXJuIG91dE9mUmFuZ2UoYS54eXosIGIueHl6LCBwLnh5eik7XG59XG5cbnVuaWZvcm0gdmVjMyAgICAgIGNsaXBCb3VuZHNbMl07XG51bmlmb3JtIHNhbXBsZXIyRCBkYXNoVGV4dHVyZTtcbnVuaWZvcm0gZmxvYXQgICAgIGRhc2hTY2FsZTtcbnVuaWZvcm0gZmxvYXQgICAgIG9wYWNpdHk7XG5cbnZhcnlpbmcgdmVjMyAgICB3b3JsZFBvc2l0aW9uO1xudmFyeWluZyBmbG9hdCAgIHBpeGVsQXJjTGVuZ3RoO1xudmFyeWluZyB2ZWM0ICAgIGZyYWdDb2xvcjtcblxudm9pZCBtYWluKCkge1xuICBpZiAoXG4gICAgb3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCB3b3JsZFBvc2l0aW9uKSB8fFxuICAgIGZyYWdDb2xvci5hICogb3BhY2l0eSA9PSAwLlxuICApIGRpc2NhcmQ7XG5cbiAgZmxvYXQgZGFzaFdlaWdodCA9IHRleHR1cmUyRChkYXNoVGV4dHVyZSwgdmVjMihkYXNoU2NhbGUgKiBwaXhlbEFyY0xlbmd0aCwgMCkpLnI7XG4gIGlmKGRhc2hXZWlnaHQgPCAwLjUpIHtcbiAgICBkaXNjYXJkO1xuICB9XG4gIGdsX0ZyYWdDb2xvciA9IGZyYWdDb2xvciAqIG9wYWNpdHk7XG59XG4iXSkscz1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuI2RlZmluZSBGTE9BVF9NQVggIDEuNzAxNDExODRlMzhcbiNkZWZpbmUgRkxPQVRfTUlOICAxLjE3NTQ5NDM1ZS0zOFxuXG5sb3dwIHZlYzQgZW5jb2RlX2Zsb2F0XzE1NDAyNTkxMzAoaGlnaHAgZmxvYXQgdikge1xuICBoaWdocCBmbG9hdCBhdiA9IGFicyh2KTtcblxuICAvL0hhbmRsZSBzcGVjaWFsIGNhc2VzXG4gIGlmKGF2IDwgRkxPQVRfTUlOKSB7XG4gICAgcmV0dXJuIHZlYzQoMC4wLCAwLjAsIDAuMCwgMC4wKTtcbiAgfSBlbHNlIGlmKHYgPiBGTE9BVF9NQVgpIHtcbiAgICByZXR1cm4gdmVjNCgxMjcuMCwgMTI4LjAsIDAuMCwgMC4wKSAvIDI1NS4wO1xuICB9IGVsc2UgaWYodiA8IC1GTE9BVF9NQVgpIHtcbiAgICByZXR1cm4gdmVjNCgyNTUuMCwgMTI4LjAsIDAuMCwgMC4wKSAvIDI1NS4wO1xuICB9XG5cbiAgaGlnaHAgdmVjNCBjID0gdmVjNCgwLDAsMCwwKTtcblxuICAvL0NvbXB1dGUgZXhwb25lbnQgYW5kIG1hbnRpc3NhXG4gIGhpZ2hwIGZsb2F0IGUgPSBmbG9vcihsb2cyKGF2KSk7XG4gIGhpZ2hwIGZsb2F0IG0gPSBhdiAqIHBvdygyLjAsIC1lKSAtIDEuMDtcbiAgXG4gIC8vVW5wYWNrIG1hbnRpc3NhXG4gIGNbMV0gPSBmbG9vcigxMjguMCAqIG0pO1xuICBtIC09IGNbMV0gLyAxMjguMDtcbiAgY1syXSA9IGZsb29yKDMyNzY4LjAgKiBtKTtcbiAgbSAtPSBjWzJdIC8gMzI3NjguMDtcbiAgY1szXSA9IGZsb29yKDgzODg2MDguMCAqIG0pO1xuICBcbiAgLy9VbnBhY2sgZXhwb25lbnRcbiAgaGlnaHAgZmxvYXQgZWJpYXMgPSBlICsgMTI3LjA7XG4gIGNbMF0gPSBmbG9vcihlYmlhcyAvIDIuMCk7XG4gIGViaWFzIC09IGNbMF0gKiAyLjA7XG4gIGNbMV0gKz0gZmxvb3IoZWJpYXMpICogMTI4LjA7IFxuXG4gIC8vVW5wYWNrIHNpZ24gYml0XG4gIGNbMF0gKz0gMTI4LjAgKiBzdGVwKDAuMCwgLXYpO1xuXG4gIC8vU2NhbGUgYmFjayB0byByYW5nZVxuICByZXR1cm4gYyAvIDI1NS4wO1xufVxuXG5ib29sIG91dE9mUmFuZ2UoZmxvYXQgYSwgZmxvYXQgYiwgZmxvYXQgcCkge1xuICByZXR1cm4gKChwID4gbWF4KGEsIGIpKSB8fCBcbiAgICAgICAgICAocCA8IG1pbihhLCBiKSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMiBhLCB2ZWMyIGIsIHZlYzIgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzMgYSwgdmVjMyBiLCB2ZWMzIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS56LCBiLnosIHAueikpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjNCBhLCB2ZWM0IGIsIHZlYzQgcCkge1xuICByZXR1cm4gb3V0T2ZSYW5nZShhLnh5eiwgYi54eXosIHAueHl6KTtcbn1cblxudW5pZm9ybSBmbG9hdCBwaWNrSWQ7XG51bmlmb3JtIHZlYzMgY2xpcEJvdW5kc1syXTtcblxudmFyeWluZyB2ZWMzIHdvcmxkUG9zaXRpb247XG52YXJ5aW5nIGZsb2F0IHBpeGVsQXJjTGVuZ3RoO1xudmFyeWluZyB2ZWM0IGZyYWdDb2xvcjtcblxudm9pZCBtYWluKCkge1xuICBpZiAob3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCB3b3JsZFBvc2l0aW9uKSkgZGlzY2FyZDtcblxuICBnbF9GcmFnQ29sb3IgPSB2ZWM0KHBpY2tJZC8yNTUuMCwgZW5jb2RlX2Zsb2F0XzE1NDAyNTkxMzAocGl4ZWxBcmNMZW5ndGgpLnh5eik7XG59Il0pLGw9W3tuYW1lOiJwb3NpdGlvbiIsdHlwZToidmVjMyJ9LHtuYW1lOiJuZXh0UG9zaXRpb24iLHR5cGU6InZlYzMifSx7bmFtZToiYXJjTGVuZ3RoIix0eXBlOiJmbG9hdCJ9LHtuYW1lOiJsaW5lV2lkdGgiLHR5cGU6ImZsb2F0In0se25hbWU6ImNvbG9yIix0eXBlOiJ2ZWM0In1dO3IuY3JlYXRlU2hhZGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhKHQsaSxvLG51bGwsbCl9LHIuY3JlYXRlUGlja1NoYWRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYSh0LGkscyxudWxsLGwpfX0seyJnbC1zaGFkZXIiOjMwNCxnbHNsaWZ5OjQxMX1dLDI1ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5nbHx8dC5zY2VuZSYmdC5zY2VuZS5nbCxyPXUoZSk7ci5hdHRyaWJ1dGVzLnBvc2l0aW9uLmxvY2F0aW9uPTAsci5hdHRyaWJ1dGVzLm5leHRQb3NpdGlvbi5sb2NhdGlvbj0xLHIuYXR0cmlidXRlcy5hcmNMZW5ndGgubG9jYXRpb249MixyLmF0dHJpYnV0ZXMubGluZVdpZHRoLmxvY2F0aW9uPTMsci5hdHRyaWJ1dGVzLmNvbG9yLmxvY2F0aW9uPTQ7dmFyIG89aChlKTtvLmF0dHJpYnV0ZXMucG9zaXRpb24ubG9jYXRpb249MCxvLmF0dHJpYnV0ZXMubmV4dFBvc2l0aW9uLmxvY2F0aW9uPTEsby5hdHRyaWJ1dGVzLmFyY0xlbmd0aC5sb2NhdGlvbj0yLG8uYXR0cmlidXRlcy5saW5lV2lkdGgubG9jYXRpb249MyxvLmF0dHJpYnV0ZXMuY29sb3IubG9jYXRpb249NDtmb3IodmFyIHM9bihlKSxjPWEoZSxbe2J1ZmZlcjpzLHNpemU6MyxvZmZzZXQ6MCxzdHJpZGU6NDh9LHtidWZmZXI6cyxzaXplOjMsb2Zmc2V0OjEyLHN0cmlkZTo0OH0se2J1ZmZlcjpzLHNpemU6MSxvZmZzZXQ6MjQsc3RyaWRlOjQ4fSx7YnVmZmVyOnMsc2l6ZToxLG9mZnNldDoyOCxzdHJpZGU6NDh9LHtidWZmZXI6cyxzaXplOjQsb2Zmc2V0OjMyLHN0cmlkZTo0OH1dKSxmPWwobmV3IEFycmF5KDEwMjQpLFsyNTYsMSw0XSkscD0wO3A8MTAyNDsrK3ApZi5kYXRhW3BdPTI1NTt2YXIgZD1pKGUsZik7ZC53cmFwPWUuUkVQRUFUO3ZhciBnPW5ldyB2KGUscixvLHMsYyxkKTtyZXR1cm4gZy51cGRhdGUodCksZ307dmFyIG49dCgiZ2wtYnVmZmVyIiksYT10KCJnbC12YW8iKSxpPXQoImdsLXRleHR1cmUyZCIpLG89dCgiZ2xzbC1yZWFkLWZsb2F0Iikscz10KCJiaW5hcnktc2VhcmNoLWJvdW5kcyIpLGw9dCgibmRhcnJheSIpLGM9dCgiLi9saWIvc2hhZGVycyIpLHU9Yy5jcmVhdGVTaGFkZXIsaD1jLmNyZWF0ZVBpY2tTaGFkZXIsZj1bMSwwLDAsMCwwLDEsMCwwLDAsMCwxLDAsMCwwLDAsMV07ZnVuY3Rpb24gcCh0LGUpe2Zvcih2YXIgcj0wLG49MDtuPDM7KytuKXt2YXIgYT10W25dLWVbbl07cis9YSphfXJldHVybiBNYXRoLnNxcnQocil9ZnVuY3Rpb24gZCh0KXtmb3IodmFyIGU9W1stMWU2LC0xZTYsLTFlNl0sWzFlNiwxZTYsMWU2XV0scj0wO3I8MzsrK3IpZVswXVtyXT1NYXRoLm1heCh0WzBdW3JdLGVbMF1bcl0pLGVbMV1bcl09TWF0aC5taW4odFsxXVtyXSxlWzFdW3JdKTtyZXR1cm4gZX1mdW5jdGlvbiBnKHQsZSxyLG4pe3RoaXMuYXJjTGVuZ3RoPXQsdGhpcy5wb3NpdGlvbj1lLHRoaXMuaW5kZXg9cix0aGlzLmRhdGFDb29yZGluYXRlPW59ZnVuY3Rpb24gdih0LGUscixuLGEsaSl7dGhpcy5nbD10LHRoaXMuc2hhZGVyPWUsdGhpcy5waWNrU2hhZGVyPXIsdGhpcy5idWZmZXI9bix0aGlzLnZhbz1hLHRoaXMuY2xpcEJvdW5kcz1bWy0xLzAsLTEvMCwtMS8wXSxbMS8wLDEvMCwxLzBdXSx0aGlzLnBvaW50cz1bXSx0aGlzLmFyY0xlbmd0aD1bXSx0aGlzLnZlcnRleENvdW50PTAsdGhpcy5ib3VuZHM9W1swLDAsMF0sWzAsMCwwXV0sdGhpcy5waWNrSWQ9MCx0aGlzLmxpbmVXaWR0aD0xLHRoaXMudGV4dHVyZT1pLHRoaXMuZGFzaFNjYWxlPTEsdGhpcy5vcGFjaXR5PTEsdGhpcy5oYXNBbHBoYT0hMSx0aGlzLmRpcnR5PSEwLHRoaXMucGl4ZWxSYXRpbz0xfXZhciBtPXYucHJvdG90eXBlO20uaXNUcmFuc3BhcmVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmhhc0FscGhhfSxtLmlzT3BhcXVlPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaGFzQWxwaGF9LG0ucGlja1Nsb3RzPTEsbS5zZXRQaWNrQmFzZT1mdW5jdGlvbih0KXt0aGlzLnBpY2tJZD10fSxtLmRyYXdUcmFuc3BhcmVudD1tLmRyYXc9ZnVuY3Rpb24odCl7aWYodGhpcy52ZXJ0ZXhDb3VudCl7dmFyIGU9dGhpcy5nbCxyPXRoaXMuc2hhZGVyLG49dGhpcy52YW87ci5iaW5kKCksci51bmlmb3Jtcz17bW9kZWw6dC5tb2RlbHx8Zix2aWV3OnQudmlld3x8Zixwcm9qZWN0aW9uOnQucHJvamVjdGlvbnx8ZixjbGlwQm91bmRzOmQodGhpcy5jbGlwQm91bmRzKSxkYXNoVGV4dHVyZTp0aGlzLnRleHR1cmUuYmluZCgpLGRhc2hTY2FsZTp0aGlzLmRhc2hTY2FsZS90aGlzLmFyY0xlbmd0aFt0aGlzLmFyY0xlbmd0aC5sZW5ndGgtMV0sb3BhY2l0eTp0aGlzLm9wYWNpdHksc2NyZWVuU2hhcGU6W2UuZHJhd2luZ0J1ZmZlcldpZHRoLGUuZHJhd2luZ0J1ZmZlckhlaWdodF0scGl4ZWxSYXRpbzp0aGlzLnBpeGVsUmF0aW99LG4uYmluZCgpLG4uZHJhdyhlLlRSSUFOR0xFX1NUUklQLHRoaXMudmVydGV4Q291bnQpLG4udW5iaW5kKCl9fSxtLmRyYXdQaWNrPWZ1bmN0aW9uKHQpe2lmKHRoaXMudmVydGV4Q291bnQpe3ZhciBlPXRoaXMuZ2wscj10aGlzLnBpY2tTaGFkZXIsbj10aGlzLnZhbztyLmJpbmQoKSxyLnVuaWZvcm1zPXttb2RlbDp0Lm1vZGVsfHxmLHZpZXc6dC52aWV3fHxmLHByb2plY3Rpb246dC5wcm9qZWN0aW9ufHxmLHBpY2tJZDp0aGlzLnBpY2tJZCxjbGlwQm91bmRzOmQodGhpcy5jbGlwQm91bmRzKSxzY3JlZW5TaGFwZTpbZS5kcmF3aW5nQnVmZmVyV2lkdGgsZS5kcmF3aW5nQnVmZmVySGVpZ2h0XSxwaXhlbFJhdGlvOnRoaXMucGl4ZWxSYXRpb30sbi5iaW5kKCksbi5kcmF3KGUuVFJJQU5HTEVfU1RSSVAsdGhpcy52ZXJ0ZXhDb3VudCksbi51bmJpbmQoKX19LG0udXBkYXRlPWZ1bmN0aW9uKHQpe3ZhciBlLHI7dGhpcy5kaXJ0eT0hMDt2YXIgbj0hIXQuY29ubmVjdEdhcHM7ImRhc2hTY2FsZSJpbiB0JiYodGhpcy5kYXNoU2NhbGU9dC5kYXNoU2NhbGUpLHRoaXMuaGFzQWxwaGE9ITEsIm9wYWNpdHkiaW4gdCYmKHRoaXMub3BhY2l0eT0rdC5vcGFjaXR5LHRoaXMub3BhY2l0eTwxJiYodGhpcy5oYXNBbHBoYT0hMCkpO3ZhciBhPVtdLGk9W10sbz1bXSxjPTAsdT0wLGg9W1sxLzAsMS8wLDEvMF0sWy0xLzAsLTEvMCwtMS8wXV0sZj10LnBvc2l0aW9ufHx0LnBvc2l0aW9ucztpZihmKXt2YXIgZD10LmNvbG9yfHx0LmNvbG9yc3x8WzAsMCwwLDFdLGc9dC5saW5lV2lkdGh8fDEsdj0hMTt0OmZvcihlPTE7ZTxmLmxlbmd0aDsrK2Upe3ZhciBtLHkseCxiPWZbZS0xXSxfPWZbZV07Zm9yKGkucHVzaChjKSxvLnB1c2goYi5zbGljZSgpKSxyPTA7cjwzOysrcil7aWYoaXNOYU4oYltyXSl8fGlzTmFOKF9bcl0pfHwhaXNGaW5pdGUoYltyXSl8fCFpc0Zpbml0ZShfW3JdKSl7aWYoIW4mJmEubGVuZ3RoPjApe2Zvcih2YXIgdz0wO3c8MjQ7Kyt3KWEucHVzaChhW2EubGVuZ3RoLTEyXSk7dSs9Mix2PSEwfWNvbnRpbnVlIHR9aFswXVtyXT1NYXRoLm1pbihoWzBdW3JdLGJbcl0sX1tyXSksaFsxXVtyXT1NYXRoLm1heChoWzFdW3JdLGJbcl0sX1tyXSl9QXJyYXkuaXNBcnJheShkWzBdKT8obT1kLmxlbmd0aD5lLTE/ZFtlLTFdOmQubGVuZ3RoPjA/ZFtkLmxlbmd0aC0xXTpbMCwwLDAsMV0seT1kLmxlbmd0aD5lP2RbZV06ZC5sZW5ndGg+MD9kW2QubGVuZ3RoLTFdOlswLDAsMCwxXSk6bT15PWQsMz09PW0ubGVuZ3RoJiYobT1bbVswXSxtWzFdLG1bMl0sMV0pLDM9PT15Lmxlbmd0aCYmKHk9W3lbMF0seVsxXSx5WzJdLDFdKSwhdGhpcy5oYXNBbHBoYSYmbVszXTwxJiYodGhpcy5oYXNBbHBoYT0hMCkseD1BcnJheS5pc0FycmF5KGcpP2cubGVuZ3RoPmUtMT9nW2UtMV06Zy5sZW5ndGg+MD9nW2cubGVuZ3RoLTFdOlswLDAsMCwxXTpnO3ZhciBrPWM7aWYoYys9cChiLF8pLHYpe2ZvcihyPTA7cjwyOysrcilhLnB1c2goYlswXSxiWzFdLGJbMl0sX1swXSxfWzFdLF9bMl0sayx4LG1bMF0sbVsxXSxtWzJdLG1bM10pO3UrPTIsdj0hMX1hLnB1c2goYlswXSxiWzFdLGJbMl0sX1swXSxfWzFdLF9bMl0sayx4LG1bMF0sbVsxXSxtWzJdLG1bM10sYlswXSxiWzFdLGJbMl0sX1swXSxfWzFdLF9bMl0saywteCxtWzBdLG1bMV0sbVsyXSxtWzNdLF9bMF0sX1sxXSxfWzJdLGJbMF0sYlsxXSxiWzJdLGMsLXgseVswXSx5WzFdLHlbMl0seVszXSxfWzBdLF9bMV0sX1syXSxiWzBdLGJbMV0sYlsyXSxjLHgseVswXSx5WzFdLHlbMl0seVszXSksdSs9NH19aWYodGhpcy5idWZmZXIudXBkYXRlKGEpLGkucHVzaChjKSxvLnB1c2goZltmLmxlbmd0aC0xXS5zbGljZSgpKSx0aGlzLmJvdW5kcz1oLHRoaXMudmVydGV4Q291bnQ9dSx0aGlzLnBvaW50cz1vLHRoaXMuYXJjTGVuZ3RoPWksImRhc2hlcyJpbiB0KXt2YXIgVD10LmRhc2hlcy5zbGljZSgpO2ZvcihULnVuc2hpZnQoMCksZT0xO2U8VC5sZW5ndGg7KytlKVRbZV09VFtlLTFdK1RbZV07dmFyIE09bChuZXcgQXJyYXkoMTAyNCksWzI1NiwxLDRdKTtmb3IoZT0wO2U8MjU2OysrZSl7Zm9yKHI9MDtyPDQ7KytyKU0uc2V0KGUsMCxyLDApOzEmcy5sZShULFRbVC5sZW5ndGgtMV0qZS8yNTUpP00uc2V0KGUsMCwwLDApOk0uc2V0KGUsMCwwLDI1NSl9dGhpcy50ZXh0dXJlLnNldFBpeGVscyhNKX19LG0uZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuc2hhZGVyLmRpc3Bvc2UoKSx0aGlzLnZhby5kaXNwb3NlKCksdGhpcy5idWZmZXIuZGlzcG9zZSgpfSxtLnBpY2s9ZnVuY3Rpb24odCl7aWYoIXQpcmV0dXJuIG51bGw7aWYodC5pZCE9PXRoaXMucGlja0lkKXJldHVybiBudWxsO3ZhciBlPW8odC52YWx1ZVswXSx0LnZhbHVlWzFdLHQudmFsdWVbMl0sMCkscj1zLmxlKHRoaXMuYXJjTGVuZ3RoLGUpO2lmKHI8MClyZXR1cm4gbnVsbDtpZihyPT09dGhpcy5hcmNMZW5ndGgubGVuZ3RoLTEpcmV0dXJuIG5ldyBnKHRoaXMuYXJjTGVuZ3RoW3RoaXMuYXJjTGVuZ3RoLmxlbmd0aC0xXSx0aGlzLnBvaW50c1t0aGlzLnBvaW50cy5sZW5ndGgtMV0uc2xpY2UoKSxyKTtmb3IodmFyIG49dGhpcy5wb2ludHNbcl0sYT10aGlzLnBvaW50c1tNYXRoLm1pbihyKzEsdGhpcy5wb2ludHMubGVuZ3RoLTEpXSxpPShlLXRoaXMuYXJjTGVuZ3RoW3JdKS8odGhpcy5hcmNMZW5ndGhbcisxXS10aGlzLmFyY0xlbmd0aFtyXSksbD0xLWksYz1bMCwwLDBdLHU9MDt1PDM7Kyt1KWNbdV09bCpuW3VdK2kqYVt1XTt2YXIgaD1NYXRoLm1pbihpPC41P3I6cisxLHRoaXMucG9pbnRzLmxlbmd0aC0xKTtyZXR1cm4gbmV3IGcoZSxjLGgsdGhpcy5wb2ludHNbaF0pfX0seyIuL2xpYi9zaGFkZXJzIjoyNTcsImJpbmFyeS1zZWFyY2gtYm91bmRzIjoyNTksImdsLWJ1ZmZlciI6MjQ0LCJnbC10ZXh0dXJlMmQiOjMyNCwiZ2wtdmFvIjozMjksImdsc2wtcmVhZC1mbG9hdCI6NDAyLG5kYXJyYXk6NDUyfV0sMjU5OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzExM11bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjExM31dLDI2MDpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj1lWzFdLGE9ZVsyXSxpPWVbM10sbz1yKmktYSpuO3JldHVybiBvPyhvPTEvbyx0WzBdPWkqbyx0WzFdPS1uKm8sdFsyXT0tYSpvLHRbM109cipvLHQpOm51bGx9fSx7fV0sMjYxOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV0sYT1lWzJdLGk9ZVszXSxvPWVbNF0scz1lWzVdLGw9ZVs2XSxjPWVbN10sdT1lWzhdLGg9dSpvLXMqYyxmPS11KmkrcypsLHA9YyppLW8qbCxkPXIqaCtuKmYrYSpwO3JldHVybiBkPyhkPTEvZCx0WzBdPWgqZCx0WzFdPSgtdSpuK2EqYykqZCx0WzJdPShzKm4tYSpvKSpkLHRbM109ZipkLHRbNF09KHUqci1hKmwpKmQsdFs1XT0oLXMqcithKmkpKmQsdFs2XT1wKmQsdFs3XT0oLWMqcituKmwpKmQsdFs4XT0obypyLW4qaSkqZCx0KTpudWxsfX0se31dLDI2MjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1uZXcgRmxvYXQzMkFycmF5KDE2KTtyZXR1cm4gZVswXT10WzBdLGVbMV09dFsxXSxlWzJdPXRbMl0sZVszXT10WzNdLGVbNF09dFs0XSxlWzVdPXRbNV0sZVs2XT10WzZdLGVbN109dFs3XSxlWzhdPXRbOF0sZVs5XT10WzldLGVbMTBdPXRbMTBdLGVbMTFdPXRbMTFdLGVbMTJdPXRbMTJdLGVbMTNdPXRbMTNdLGVbMTRdPXRbMTRdLGVbMTVdPXRbMTVdLGV9fSx7fV0sMjYzOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IEZsb2F0MzJBcnJheSgxNik7cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs1XT0xLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0WzEwXT0xLHRbMTFdPTAsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09MSx0fX0se31dLDI2NDpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10WzBdLHI9dFsxXSxuPXRbMl0sYT10WzNdLGk9dFs0XSxvPXRbNV0scz10WzZdLGw9dFs3XSxjPXRbOF0sdT10WzldLGg9dFsxMF0sZj10WzExXSxwPXRbMTJdLGQ9dFsxM10sZz10WzE0XSx2PXRbMTVdO3JldHVybihlKm8tcippKSooaCp2LWYqZyktKGUqcy1uKmkpKih1KnYtZipkKSsoZSpsLWEqaSkqKHUqZy1oKmQpKyhyKnMtbipvKSooYyp2LWYqcCktKHIqbC1hKm8pKihjKmctaCpwKSsobipsLWEqcykqKGMqZC11KnApfX0se31dLDI2NTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj1lWzFdLGE9ZVsyXSxpPWVbM10sbz1yK3Iscz1uK24sbD1hK2EsYz1yKm8sdT1uKm8saD1uKnMsZj1hKm8scD1hKnMsZD1hKmwsZz1pKm8sdj1pKnMsbT1pKmw7cmV0dXJuIHRbMF09MS1oLWQsdFsxXT11K20sdFsyXT1mLXYsdFszXT0wLHRbNF09dS1tLHRbNV09MS1jLWQsdFs2XT1wK2csdFs3XT0wLHRbOF09Zit2LHRbOV09cC1nLHRbMTBdPTEtYy1oLHRbMTFdPTAsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09MSx0fX0se31dLDI2NjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49ZVswXSxhPWVbMV0saT1lWzJdLG89ZVszXSxzPW4rbixsPWErYSxjPWkraSx1PW4qcyxoPW4qbCxmPW4qYyxwPWEqbCxkPWEqYyxnPWkqYyx2PW8qcyxtPW8qbCx5PW8qYztyZXR1cm4gdFswXT0xLShwK2cpLHRbMV09aCt5LHRbMl09Zi1tLHRbM109MCx0WzRdPWgteSx0WzVdPTEtKHUrZyksdFs2XT1kK3YsdFs3XT0wLHRbOF09ZittLHRbOV09ZC12LHRbMTBdPTEtKHUrcCksdFsxMV09MCx0WzEyXT1yWzBdLHRbMTNdPXJbMV0sdFsxNF09clsyXSx0WzE1XT0xLHR9fSx7fV0sMjY3OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0wLHRbNV09MSx0WzZdPTAsdFs3XT0wLHRbOF09MCx0WzldPTAsdFsxMF09MSx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0XT0wLHRbMTVdPTEsdH19LHt9XSwyNjg6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLG49ZVsxXSxhPWVbMl0saT1lWzNdLG89ZVs0XSxzPWVbNV0sbD1lWzZdLGM9ZVs3XSx1PWVbOF0saD1lWzldLGY9ZVsxMF0scD1lWzExXSxkPWVbMTJdLGc9ZVsxM10sdj1lWzE0XSxtPWVbMTVdLHk9cipzLW4qbyx4PXIqbC1hKm8sYj1yKmMtaSpvLF89bipsLWEqcyx3PW4qYy1pKnMsaz1hKmMtaSpsLFQ9dSpnLWgqZCxNPXUqdi1mKmQsQT11Km0tcCpkLFM9aCp2LWYqZyxFPWgqbS1wKmcsTD1mKm0tcCp2LEM9eSpMLXgqRStiKlMrXypBLXcqTStrKlQ7aWYoIUMpcmV0dXJuIG51bGw7cmV0dXJuIEM9MS9DLHRbMF09KHMqTC1sKkUrYypTKSpDLHRbMV09KGEqRS1uKkwtaSpTKSpDLHRbMl09KGcqay12KncrbSpfKSpDLHRbM109KGYqdy1oKmstcCpfKSpDLHRbNF09KGwqQS1vKkwtYypNKSpDLHRbNV09KHIqTC1hKkEraSpNKSpDLHRbNl09KHYqYi1kKmstbSp4KSpDLHRbN109KHUqay1mKmIrcCp4KSpDLHRbOF09KG8qRS1zKkErYypUKSpDLHRbOV09KG4qQS1yKkUtaSpUKSpDLHRbMTBdPShkKnctZypiK20qeSkqQyx0WzExXT0oaCpiLXUqdy1wKnkpKkMsdFsxMl09KHMqTS1vKlMtbCpUKSpDLHRbMTNdPShyKlMtbipNK2EqVCkqQyx0WzE0XT0oZyp4LWQqXy12KnkpKkMsdFsxNV09KHUqXy1oKngrZip5KSpDLHR9fSx7fV0sMjY5OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi9pZGVudGl0eSIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixhKXt2YXIgaSxvLHMsbCxjLHUsaCxmLHAsZCxnPWVbMF0sdj1lWzFdLG09ZVsyXSx5PWFbMF0seD1hWzFdLGI9YVsyXSxfPXJbMF0sdz1yWzFdLGs9clsyXTtpZihNYXRoLmFicyhnLV8pPDFlLTYmJk1hdGguYWJzKHYtdyk8MWUtNiYmTWF0aC5hYnMobS1rKTwxZS02KXJldHVybiBuKHQpO2g9Zy1fLGY9di13LHA9bS1rLGQ9MS9NYXRoLnNxcnQoaCpoK2YqZitwKnApLGk9eCoocCo9ZCktYiooZio9ZCksbz1iKihoKj1kKS15KnAscz15KmYteCpoLChkPU1hdGguc3FydChpKmkrbypvK3MqcykpPyhpKj1kPTEvZCxvKj1kLHMqPWQpOihpPTAsbz0wLHM9MCk7bD1mKnMtcCpvLGM9cCppLWgqcyx1PWgqby1mKmksKGQ9TWF0aC5zcXJ0KGwqbCtjKmMrdSp1KSk/KGwqPWQ9MS9kLGMqPWQsdSo9ZCk6KGw9MCxjPTAsdT0wKTtyZXR1cm4gdFswXT1pLHRbMV09bCx0WzJdPWgsdFszXT0wLHRbNF09byx0WzVdPWMsdFs2XT1mLHRbN109MCx0WzhdPXMsdFs5XT11LHRbMTBdPXAsdFsxMV09MCx0WzEyXT0tKGkqZytvKnYrcyptKSx0WzEzXT0tKGwqZytjKnYrdSptKSx0WzE0XT0tKGgqZytmKnYrcCptKSx0WzE1XT0xLHR9fSx7Ii4vaWRlbnRpdHkiOjI2N31dLDI3MDpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49ZVswXSxhPWVbMV0saT1lWzJdLG89ZVszXSxzPWVbNF0sbD1lWzVdLGM9ZVs2XSx1PWVbN10saD1lWzhdLGY9ZVs5XSxwPWVbMTBdLGQ9ZVsxMV0sZz1lWzEyXSx2PWVbMTNdLG09ZVsxNF0seT1lWzE1XSx4PXJbMF0sYj1yWzFdLF89clsyXSx3PXJbM107cmV0dXJuIHRbMF09eCpuK2IqcytfKmgrdypnLHRbMV09eCphK2IqbCtfKmYrdyp2LHRbMl09eCppK2IqYytfKnArdyptLHRbM109eCpvK2IqdStfKmQrdyp5LHg9cls0XSxiPXJbNV0sXz1yWzZdLHc9cls3XSx0WzRdPXgqbitiKnMrXypoK3cqZyx0WzVdPXgqYStiKmwrXypmK3cqdix0WzZdPXgqaStiKmMrXypwK3cqbSx0WzddPXgqbytiKnUrXypkK3cqeSx4PXJbOF0sYj1yWzldLF89clsxMF0sdz1yWzExXSx0WzhdPXgqbitiKnMrXypoK3cqZyx0WzldPXgqYStiKmwrXypmK3cqdix0WzEwXT14KmkrYipjK18qcCt3Km0sdFsxMV09eCpvK2IqdStfKmQrdyp5LHg9clsxMl0sYj1yWzEzXSxfPXJbMTRdLHc9clsxNV0sdFsxMl09eCpuK2IqcytfKmgrdypnLHRbMTNdPXgqYStiKmwrXypmK3cqdix0WzE0XT14KmkrYipjK18qcCt3Km0sdFsxNV09eCpvK2IqdStfKmQrdyp5LHR9fSx7fV0sMjcxOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8pe3ZhciBzPTEvKGUtciksbD0xLyhuLWEpLGM9MS8oaS1vKTtyZXR1cm4gdFswXT0tMipzLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09MCx0WzVdPS0yKmwsdFs2XT0wLHRbN109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPTIqYyx0WzExXT0wLHRbMTJdPShlK3IpKnMsdFsxM109KGErbikqbCx0WzE0XT0obytpKSpjLHRbMTVdPTEsdH19LHt9XSwyNzI6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT0xL01hdGgudGFuKGUvMiksbz0xLyhuLWEpO3JldHVybiB0WzBdPWkvcix0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs1XT1pLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0WzEwXT0oYStuKSpvLHRbMTFdPS0xLHRbMTJdPTAsdFsxM109MCx0WzE0XT0yKmEqbipvLHRbMTVdPTAsdH19LHt9XSwyNzM6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGEsaSxvLHMsbCxjLHUsaCxmLHAsZCxnLHYsbSx5LHgsYixfLHcsayxULE0sQSxTLEU9blswXSxMPW5bMV0sQz1uWzJdLFA9TWF0aC5zcXJ0KEUqRStMKkwrQypDKTtpZihNYXRoLmFicyhQKTwxZS02KXJldHVybiBudWxsO0UqPVA9MS9QLEwqPVAsQyo9UCxhPU1hdGguc2luKHIpLGk9TWF0aC5jb3Mociksbz0xLWkscz1lWzBdLGw9ZVsxXSxjPWVbMl0sdT1lWzNdLGg9ZVs0XSxmPWVbNV0scD1lWzZdLGQ9ZVs3XSxnPWVbOF0sdj1lWzldLG09ZVsxMF0seT1lWzExXSx4PUUqRSpvK2ksYj1MKkUqbytDKmEsXz1DKkUqby1MKmEsdz1FKkwqby1DKmEsaz1MKkwqbytpLFQ9QypMKm8rRSphLE09RSpDKm8rTCphLEE9TCpDKm8tRSphLFM9QypDKm8raSx0WzBdPXMqeCtoKmIrZypfLHRbMV09bCp4K2YqYit2Kl8sdFsyXT1jKngrcCpiK20qXyx0WzNdPXUqeCtkKmIreSpfLHRbNF09cyp3K2gqaytnKlQsdFs1XT1sKncrZiprK3YqVCx0WzZdPWMqdytwKmsrbSpULHRbN109dSp3K2Qqayt5KlQsdFs4XT1zKk0raCpBK2cqUyx0WzldPWwqTStmKkErdipTLHRbMTBdPWMqTStwKkErbSpTLHRbMTFdPXUqTStkKkEreSpTLGUhPT10JiYodFsxMl09ZVsxMl0sdFsxM109ZVsxM10sdFsxNF09ZVsxNF0sdFsxNV09ZVsxNV0pO3JldHVybiB0fX0se31dLDI3NDpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49TWF0aC5zaW4ociksYT1NYXRoLmNvcyhyKSxpPWVbNF0sbz1lWzVdLHM9ZVs2XSxsPWVbN10sYz1lWzhdLHU9ZVs5XSxoPWVbMTBdLGY9ZVsxMV07ZSE9PXQmJih0WzBdPWVbMF0sdFsxXT1lWzFdLHRbMl09ZVsyXSx0WzNdPWVbM10sdFsxMl09ZVsxMl0sdFsxM109ZVsxM10sdFsxNF09ZVsxNF0sdFsxNV09ZVsxNV0pO3JldHVybiB0WzRdPWkqYStjKm4sdFs1XT1vKmErdSpuLHRbNl09cyphK2gqbix0WzddPWwqYStmKm4sdFs4XT1jKmEtaSpuLHRbOV09dSphLW8qbix0WzEwXT1oKmEtcypuLHRbMTFdPWYqYS1sKm4sdH19LHt9XSwyNzU6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPU1hdGguc2luKHIpLGE9TWF0aC5jb3MociksaT1lWzBdLG89ZVsxXSxzPWVbMl0sbD1lWzNdLGM9ZVs4XSx1PWVbOV0saD1lWzEwXSxmPWVbMTFdO2UhPT10JiYodFs0XT1lWzRdLHRbNV09ZVs1XSx0WzZdPWVbNl0sdFs3XT1lWzddLHRbMTJdPWVbMTJdLHRbMTNdPWVbMTNdLHRbMTRdPWVbMTRdLHRbMTVdPWVbMTVdKTtyZXR1cm4gdFswXT1pKmEtYypuLHRbMV09byphLXUqbix0WzJdPXMqYS1oKm4sdFszXT1sKmEtZipuLHRbOF09aSpuK2MqYSx0WzldPW8qbit1KmEsdFsxMF09cypuK2gqYSx0WzExXT1sKm4rZiphLHR9fSx7fV0sMjc2OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1NYXRoLnNpbihyKSxhPU1hdGguY29zKHIpLGk9ZVswXSxvPWVbMV0scz1lWzJdLGw9ZVszXSxjPWVbNF0sdT1lWzVdLGg9ZVs2XSxmPWVbN107ZSE9PXQmJih0WzhdPWVbOF0sdFs5XT1lWzldLHRbMTBdPWVbMTBdLHRbMTFdPWVbMTFdLHRbMTJdPWVbMTJdLHRbMTNdPWVbMTNdLHRbMTRdPWVbMTRdLHRbMTVdPWVbMTVdKTtyZXR1cm4gdFswXT1pKmErYypuLHRbMV09byphK3Uqbix0WzJdPXMqYStoKm4sdFszXT1sKmErZipuLHRbNF09YyphLWkqbix0WzVdPXUqYS1vKm4sdFs2XT1oKmEtcypuLHRbN109ZiphLWwqbix0fX0se31dLDI3NzpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49clswXSxhPXJbMV0saT1yWzJdO3JldHVybiB0WzBdPWVbMF0qbix0WzFdPWVbMV0qbix0WzJdPWVbMl0qbix0WzNdPWVbM10qbix0WzRdPWVbNF0qYSx0WzVdPWVbNV0qYSx0WzZdPWVbNl0qYSx0WzddPWVbN10qYSx0WzhdPWVbOF0qaSx0WzldPWVbOV0qaSx0WzEwXT1lWzEwXSppLHRbMTFdPWVbMTFdKmksdFsxMl09ZVsxMl0sdFsxM109ZVsxM10sdFsxNF09ZVsxNF0sdFsxNV09ZVsxNV0sdH19LHt9XSwyNzg6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGEsaSxvLHMsbCxjLHUsaCxmLHAsZCxnPXJbMF0sdj1yWzFdLG09clsyXTtlPT09dD8odFsxMl09ZVswXSpnK2VbNF0qditlWzhdKm0rZVsxMl0sdFsxM109ZVsxXSpnK2VbNV0qditlWzldKm0rZVsxM10sdFsxNF09ZVsyXSpnK2VbNl0qditlWzEwXSptK2VbMTRdLHRbMTVdPWVbM10qZytlWzddKnYrZVsxMV0qbStlWzE1XSk6KG49ZVswXSxhPWVbMV0saT1lWzJdLG89ZVszXSxzPWVbNF0sbD1lWzVdLGM9ZVs2XSx1PWVbN10saD1lWzhdLGY9ZVs5XSxwPWVbMTBdLGQ9ZVsxMV0sdFswXT1uLHRbMV09YSx0WzJdPWksdFszXT1vLHRbNF09cyx0WzVdPWwsdFs2XT1jLHRbN109dSx0WzhdPWgsdFs5XT1mLHRbMTBdPXAsdFsxMV09ZCx0WzEyXT1uKmcrcyp2K2gqbStlWzEyXSx0WzEzXT1hKmcrbCp2K2YqbStlWzEzXSx0WzE0XT1pKmcrYyp2K3AqbStlWzE0XSx0WzE1XT1vKmcrdSp2K2QqbStlWzE1XSk7cmV0dXJuIHR9fSx7fV0sMjc5OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYodD09PWUpe3ZhciByPWVbMV0sbj1lWzJdLGE9ZVszXSxpPWVbNl0sbz1lWzddLHM9ZVsxMV07dFsxXT1lWzRdLHRbMl09ZVs4XSx0WzNdPWVbMTJdLHRbNF09cix0WzZdPWVbOV0sdFs3XT1lWzEzXSx0WzhdPW4sdFs5XT1pLHRbMTFdPWVbMTRdLHRbMTJdPWEsdFsxM109byx0WzE0XT1zfWVsc2UgdFswXT1lWzBdLHRbMV09ZVs0XSx0WzJdPWVbOF0sdFszXT1lWzEyXSx0WzRdPWVbMV0sdFs1XT1lWzVdLHRbNl09ZVs5XSx0WzddPWVbMTNdLHRbOF09ZVsyXSx0WzldPWVbNl0sdFsxMF09ZVsxMF0sdFsxMV09ZVsxNF0sdFsxMl09ZVszXSx0WzEzXT1lWzddLHRbMTRdPWVbMTFdLHRbMTVdPWVbMTVdO3JldHVybiB0fX0se31dLDI4MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMDpicmVhaztjYXNlIDE6dFswXT0xL2VbMF07YnJlYWs7Y2FzZSA0Om4odCxlKTticmVhaztjYXNlIDk6YSh0LGUpO2JyZWFrO2Nhc2UgMTY6aSh0LGUpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJjdXJyZW50bHkgc3VwcG9ydHMgbWF0cmljZXMgdXAgdG8gNHg0Iil9cmV0dXJuIHR9O3ZhciBuPXQoImdsLW1hdDIvaW52ZXJ0IiksYT10KCJnbC1tYXQzL2ludmVydCIpLGk9dCgiZ2wtbWF0NC9pbnZlcnQiKX0seyJnbC1tYXQyL2ludmVydCI6MjYwLCJnbC1tYXQzL2ludmVydCI6MjYxLCJnbC1tYXQ0L2ludmVydCI6MjY4fV0sMjgxOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImJhcnljZW50cmljIiksYT10KCJwb2x5dG9wZS1jbG9zZXN0LXBvaW50L2xpYi9jbG9zZXN0X3BvaW50XzJkLmpzIik7ZnVuY3Rpb24gaSh0LGUpe2Zvcih2YXIgcj1bMCwwLDAsMF0sbj0wO248NDsrK24pZm9yKHZhciBhPTA7YTw0OysrYSlyW2FdKz10WzQqbithXSplW25dO3JldHVybiByfWZ1bmN0aW9uIG8odCxlLHIsbixhKXtmb3IodmFyIG89aShuLGkocixpKGUsW3RbMF0sdFsxXSx0WzJdLDFdKSkpLHM9MDtzPDM7KytzKW9bc10vPW9bM107cmV0dXJuWy41KmFbMF0qKDErb1swXSksLjUqYVsxXSooMS1vWzFdKV19ZnVuY3Rpb24gcyh0LGUpe2Zvcih2YXIgcj1bMCwwLDBdLG49MDtuPHQubGVuZ3RoOysrbilmb3IodmFyIGE9dFtuXSxpPWVbbl0sbz0wO288MzsrK28pcltvXSs9aSphW29dO3JldHVybiByfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscixpLGwsYyl7aWYoMT09PXQubGVuZ3RoKXJldHVyblswLHRbMF0uc2xpY2UoKV07Zm9yKHZhciB1PW5ldyBBcnJheSh0Lmxlbmd0aCksaD0wO2g8dC5sZW5ndGg7KytoKXVbaF09byh0W2hdLHIsaSxsLGMpO2Zvcih2YXIgZj0wLHA9MS8wLGg9MDtoPHUubGVuZ3RoOysraCl7Zm9yKHZhciBkPTAsZz0wO2c8MjsrK2cpZCs9TWF0aC5wb3codVtoXVtnXS1lW2ddLDIpO2Q8cCYmKHA9ZCxmPWgpfWZvcih2YXIgdj1mdW5jdGlvbih0LGUpe2lmKDI9PT10Lmxlbmd0aCl7Zm9yKHZhciByPTAsaT0wLG89MDtvPDI7KytvKXIrPU1hdGgucG93KGVbb10tdFswXVtvXSwyKSxpKz1NYXRoLnBvdyhlW29dLXRbMV1bb10sMik7cmV0dXJuIHI9TWF0aC5zcXJ0KHIpLGk9TWF0aC5zcXJ0KGkpLHIraTwxZS02P1sxLDBdOltpLyhyK2kpLHIvKGkrcildfWlmKDM9PT10Lmxlbmd0aCl7dmFyIHM9WzAsMF07cmV0dXJuIGEodFswXSx0WzFdLHRbMl0sZSxzKSxuKHQscyl9cmV0dXJuW119KHUsZSksbT0wLGg9MDtoPDM7KytoKXtpZih2W2hdPC0uMDAxfHx2W2hdPjEuMDAwMSlyZXR1cm4gbnVsbDttKz12W2hdfWlmKE1hdGguYWJzKG0tMSk+LjAwMSlyZXR1cm4gbnVsbDtyZXR1cm5bZixzKHQsdiksdl19fSx7YmFyeWNlbnRyaWM6NzUsInBvbHl0b3BlLWNsb3Nlc3QtcG9pbnQvbGliL2Nsb3Nlc3RfcG9pbnRfMmQuanMiOjQ4M31dLDI4MjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImdsc2xpZnkiKSxhPW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5hdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbiwgbm9ybWFsO1xuYXR0cmlidXRlIHZlYzQgY29sb3I7XG5hdHRyaWJ1dGUgdmVjMiB1djtcblxudW5pZm9ybSBtYXQ0IG1vZGVsXG4gICAgICAgICAgICwgdmlld1xuICAgICAgICAgICAsIHByb2plY3Rpb25cbiAgICAgICAgICAgLCBpbnZlcnNlTW9kZWw7XG51bmlmb3JtIHZlYzMgZXllUG9zaXRpb25cbiAgICAgICAgICAgLCBsaWdodFBvc2l0aW9uO1xuXG52YXJ5aW5nIHZlYzMgZl9ub3JtYWxcbiAgICAgICAgICAgLCBmX2xpZ2h0RGlyZWN0aW9uXG4gICAgICAgICAgICwgZl9leWVEaXJlY3Rpb25cbiAgICAgICAgICAgLCBmX2RhdGE7XG52YXJ5aW5nIHZlYzQgZl9jb2xvcjtcbnZhcnlpbmcgdmVjMiBmX3V2O1xuXG52ZWM0IHByb2plY3QodmVjMyBwKSB7XG4gIHJldHVybiBwcm9qZWN0aW9uICogdmlldyAqIG1vZGVsICogdmVjNChwLCAxLjApO1xufVxuXG52b2lkIG1haW4oKSB7XG4gIGdsX1Bvc2l0aW9uICAgICAgPSBwcm9qZWN0KHBvc2l0aW9uKTtcblxuICAvL0xpZ2h0aW5nIGdlb21ldHJ5IHBhcmFtZXRlcnNcbiAgdmVjNCBjYW1lcmFDb29yZGluYXRlID0gdmlldyAqIHZlYzQocG9zaXRpb24gLCAxLjApO1xuICBjYW1lcmFDb29yZGluYXRlLnh5eiAvPSBjYW1lcmFDb29yZGluYXRlLnc7XG4gIGZfbGlnaHREaXJlY3Rpb24gPSBsaWdodFBvc2l0aW9uIC0gY2FtZXJhQ29vcmRpbmF0ZS54eXo7XG4gIGZfZXllRGlyZWN0aW9uICAgPSBleWVQb3NpdGlvbiAtIGNhbWVyYUNvb3JkaW5hdGUueHl6O1xuICBmX25vcm1hbCAgPSBub3JtYWxpemUoKHZlYzQobm9ybWFsLCAwLjApICogaW52ZXJzZU1vZGVsKS54eXopO1xuXG4gIGZfY29sb3IgICAgICAgICAgPSBjb2xvcjtcbiAgZl9kYXRhICAgICAgICAgICA9IHBvc2l0aW9uO1xuICBmX3V2ICAgICAgICAgICAgID0gdXY7XG59XG4iXSksaT1uKFsiI2V4dGVuc2lvbiBHTF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMgOiBlbmFibGVcblxucHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuZmxvYXQgYmVja21hbm5EaXN0cmlidXRpb24oZmxvYXQgeCwgZmxvYXQgcm91Z2huZXNzKSB7XG4gIGZsb2F0IE5kb3RIID0gbWF4KHgsIDAuMDAwMSk7XG4gIGZsb2F0IGNvczJBbHBoYSA9IE5kb3RIICogTmRvdEg7XG4gIGZsb2F0IHRhbjJBbHBoYSA9IChjb3MyQWxwaGEgLSAxLjApIC8gY29zMkFscGhhO1xuICBmbG9hdCByb3VnaG5lc3MyID0gcm91Z2huZXNzICogcm91Z2huZXNzO1xuICBmbG9hdCBkZW5vbSA9IDMuMTQxNTkyNjUzNTg5NzkzICogcm91Z2huZXNzMiAqIGNvczJBbHBoYSAqIGNvczJBbHBoYTtcbiAgcmV0dXJuIGV4cCh0YW4yQWxwaGEgLyByb3VnaG5lc3MyKSAvIGRlbm9tO1xufVxuXG5mbG9hdCBjb29rVG9ycmFuY2VTcGVjdWxhcihcbiAgdmVjMyBsaWdodERpcmVjdGlvbixcbiAgdmVjMyB2aWV3RGlyZWN0aW9uLFxuICB2ZWMzIHN1cmZhY2VOb3JtYWwsXG4gIGZsb2F0IHJvdWdobmVzcyxcbiAgZmxvYXQgZnJlc25lbCkge1xuXG4gIGZsb2F0IFZkb3ROID0gbWF4KGRvdCh2aWV3RGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsKSwgMC4wKTtcbiAgZmxvYXQgTGRvdE4gPSBtYXgoZG90KGxpZ2h0RGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsKSwgMC4wKTtcblxuICAvL0hhbGYgYW5nbGUgdmVjdG9yXG4gIHZlYzMgSCA9IG5vcm1hbGl6ZShsaWdodERpcmVjdGlvbiArIHZpZXdEaXJlY3Rpb24pO1xuXG4gIC8vR2VvbWV0cmljIHRlcm1cbiAgZmxvYXQgTmRvdEggPSBtYXgoZG90KHN1cmZhY2VOb3JtYWwsIEgpLCAwLjApO1xuICBmbG9hdCBWZG90SCA9IG1heChkb3Qodmlld0RpcmVjdGlvbiwgSCksIDAuMDAwMDAxKTtcbiAgZmxvYXQgTGRvdEggPSBtYXgoZG90KGxpZ2h0RGlyZWN0aW9uLCBIKSwgMC4wMDAwMDEpO1xuICBmbG9hdCBHMSA9ICgyLjAgKiBOZG90SCAqIFZkb3ROKSAvIFZkb3RIO1xuICBmbG9hdCBHMiA9ICgyLjAgKiBOZG90SCAqIExkb3ROKSAvIExkb3RIO1xuICBmbG9hdCBHID0gbWluKDEuMCwgbWluKEcxLCBHMikpO1xuICBcbiAgLy9EaXN0cmlidXRpb24gdGVybVxuICBmbG9hdCBEID0gYmVja21hbm5EaXN0cmlidXRpb24oTmRvdEgsIHJvdWdobmVzcyk7XG5cbiAgLy9GcmVzbmVsIHRlcm1cbiAgZmxvYXQgRiA9IHBvdygxLjAgLSBWZG90TiwgZnJlc25lbCk7XG5cbiAgLy9NdWx0aXBseSB0ZXJtcyBhbmQgZG9uZVxuICByZXR1cm4gIEcgKiBGICogRCAvIG1heCgzLjE0MTU5MjY1ICogVmRvdE4sIDAuMDAwMDAxKTtcbn1cblxuLy8jcHJhZ21hIGdsc2xpZnk6IGJlY2ttYW5uID0gcmVxdWlyZShnbHNsLXNwZWN1bGFyLWJlY2ttYW5uKSAvLyB1c2VkIGluIGdsLXN1cmZhY2UzZFxuXG5ib29sIG91dE9mUmFuZ2UoZmxvYXQgYSwgZmxvYXQgYiwgZmxvYXQgcCkge1xuICByZXR1cm4gKChwID4gbWF4KGEsIGIpKSB8fCBcbiAgICAgICAgICAocCA8IG1pbihhLCBiKSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMiBhLCB2ZWMyIGIsIHZlYzIgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzMgYSwgdmVjMyBiLCB2ZWMzIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS56LCBiLnosIHAueikpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjNCBhLCB2ZWM0IGIsIHZlYzQgcCkge1xuICByZXR1cm4gb3V0T2ZSYW5nZShhLnh5eiwgYi54eXosIHAueHl6KTtcbn1cblxudW5pZm9ybSB2ZWMzIGNsaXBCb3VuZHNbMl07XG51bmlmb3JtIGZsb2F0IHJvdWdobmVzc1xuICAgICAgICAgICAgLCBmcmVzbmVsXG4gICAgICAgICAgICAsIGthbWJpZW50XG4gICAgICAgICAgICAsIGtkaWZmdXNlXG4gICAgICAgICAgICAsIGtzcGVjdWxhcjtcbnVuaWZvcm0gc2FtcGxlcjJEIHRleHR1cmU7XG5cbnZhcnlpbmcgdmVjMyBmX25vcm1hbFxuICAgICAgICAgICAsIGZfbGlnaHREaXJlY3Rpb25cbiAgICAgICAgICAgLCBmX2V5ZURpcmVjdGlvblxuICAgICAgICAgICAsIGZfZGF0YTtcbnZhcnlpbmcgdmVjNCBmX2NvbG9yO1xudmFyeWluZyB2ZWMyIGZfdXY7XG5cbnZvaWQgbWFpbigpIHtcbiAgaWYgKGZfY29sb3IuYSA9PSAwLjAgfHxcbiAgICBvdXRPZlJhbmdlKGNsaXBCb3VuZHNbMF0sIGNsaXBCb3VuZHNbMV0sIGZfZGF0YSlcbiAgKSBkaXNjYXJkO1xuXG4gIHZlYzMgTiA9IG5vcm1hbGl6ZShmX25vcm1hbCk7XG4gIHZlYzMgTCA9IG5vcm1hbGl6ZShmX2xpZ2h0RGlyZWN0aW9uKTtcbiAgdmVjMyBWID0gbm9ybWFsaXplKGZfZXllRGlyZWN0aW9uKTtcblxuICBpZihnbF9Gcm9udEZhY2luZykge1xuICAgIE4gPSAtTjtcbiAgfVxuXG4gIGZsb2F0IHNwZWN1bGFyID0gbWluKDEuMCwgbWF4KDAuMCwgY29va1RvcnJhbmNlU3BlY3VsYXIoTCwgViwgTiwgcm91Z2huZXNzLCBmcmVzbmVsKSkpO1xuICAvL2Zsb2F0IHNwZWN1bGFyID0gbWF4KDAuMCwgYmVja21hbm4oTCwgViwgTiwgcm91Z2huZXNzKSk7IC8vIHVzZWQgaW4gZ2wtc3VyZmFjZTNkXG5cbiAgZmxvYXQgZGlmZnVzZSAgPSBtaW4oa2FtYmllbnQgKyBrZGlmZnVzZSAqIG1heChkb3QoTiwgTCksIDAuMCksIDEuMCk7XG5cbiAgdmVjNCBzdXJmYWNlQ29sb3IgPSB2ZWM0KGZfY29sb3IucmdiLCAxLjApICogdGV4dHVyZTJEKHRleHR1cmUsIGZfdXYpO1xuICB2ZWM0IGxpdENvbG9yID0gc3VyZmFjZUNvbG9yLmEgKiB2ZWM0KGRpZmZ1c2UgKiBzdXJmYWNlQ29sb3IucmdiICsga3NwZWN1bGFyICogdmVjMygxLDEsMSkgKiBzcGVjdWxhciwgIDEuMCk7XG5cbiAgZ2xfRnJhZ0NvbG9yID0gbGl0Q29sb3IgKiBmX2NvbG9yLmE7XG59XG4iXSksbz1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzMgcG9zaXRpb247XG5hdHRyaWJ1dGUgdmVjNCBjb2xvcjtcbmF0dHJpYnV0ZSB2ZWMyIHV2O1xuXG51bmlmb3JtIG1hdDQgbW9kZWwsIHZpZXcsIHByb2plY3Rpb247XG5cbnZhcnlpbmcgdmVjNCBmX2NvbG9yO1xudmFyeWluZyB2ZWMzIGZfZGF0YTtcbnZhcnlpbmcgdmVjMiBmX3V2O1xuXG52b2lkIG1haW4oKSB7XG4gIGdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbiAqIHZpZXcgKiBtb2RlbCAqIHZlYzQocG9zaXRpb24sIDEuMCk7XG4gIGZfY29sb3IgPSBjb2xvcjtcbiAgZl9kYXRhICA9IHBvc2l0aW9uO1xuICBmX3V2ICAgID0gdXY7XG59Il0pLHM9bihbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmJvb2wgb3V0T2ZSYW5nZShmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBwKSB7XG4gIHJldHVybiAoKHAgPiBtYXgoYSwgYikpIHx8IFxuICAgICAgICAgIChwIDwgbWluKGEsIGIpKSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMyIGEsIHZlYzIgYiwgdmVjMiBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMyBhLCB2ZWMzIGIsIHZlYzMgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnosIGIueiwgcC56KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWM0IGEsIHZlYzQgYiwgdmVjNCBwKSB7XG4gIHJldHVybiBvdXRPZlJhbmdlKGEueHl6LCBiLnh5eiwgcC54eXopO1xufVxuXG51bmlmb3JtIHZlYzMgY2xpcEJvdW5kc1syXTtcbnVuaWZvcm0gc2FtcGxlcjJEIHRleHR1cmU7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG5cbnZhcnlpbmcgdmVjNCBmX2NvbG9yO1xudmFyeWluZyB2ZWMzIGZfZGF0YTtcbnZhcnlpbmcgdmVjMiBmX3V2O1xuXG52b2lkIG1haW4oKSB7XG4gIGlmIChvdXRPZlJhbmdlKGNsaXBCb3VuZHNbMF0sIGNsaXBCb3VuZHNbMV0sIGZfZGF0YSkpIGRpc2NhcmQ7XG5cbiAgZ2xfRnJhZ0NvbG9yID0gZl9jb2xvciAqIHRleHR1cmUyRCh0ZXh0dXJlLCBmX3V2KSAqIG9wYWNpdHk7XG59Il0pLGw9bihbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmJvb2wgb3V0T2ZSYW5nZShmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBwKSB7XG4gIHJldHVybiAoKHAgPiBtYXgoYSwgYikpIHx8IFxuICAgICAgICAgIChwIDwgbWluKGEsIGIpKSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMyIGEsIHZlYzIgYiwgdmVjMiBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMyBhLCB2ZWMzIGIsIHZlYzMgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnosIGIueiwgcC56KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWM0IGEsIHZlYzQgYiwgdmVjNCBwKSB7XG4gIHJldHVybiBvdXRPZlJhbmdlKGEueHl6LCBiLnh5eiwgcC54eXopO1xufVxuXG5hdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjtcbmF0dHJpYnV0ZSB2ZWM0IGNvbG9yO1xuYXR0cmlidXRlIHZlYzIgdXY7XG5hdHRyaWJ1dGUgZmxvYXQgcG9pbnRTaXplO1xuXG51bmlmb3JtIG1hdDQgbW9kZWwsIHZpZXcsIHByb2plY3Rpb247XG51bmlmb3JtIHZlYzMgY2xpcEJvdW5kc1syXTtcblxudmFyeWluZyB2ZWM0IGZfY29sb3I7XG52YXJ5aW5nIHZlYzIgZl91djtcblxudm9pZCBtYWluKCkge1xuICBpZiAob3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCBwb3NpdGlvbikpIHtcblxuICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgwLjAsIDAuMCAsMC4wICwwLjApO1xuICB9IGVsc2Uge1xuICAgIGdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbiAqIHZpZXcgKiBtb2RlbCAqIHZlYzQocG9zaXRpb24sIDEuMCk7XG4gIH1cbiAgZ2xfUG9pbnRTaXplID0gcG9pbnRTaXplO1xuICBmX2NvbG9yID0gY29sb3I7XG4gIGZfdXYgPSB1djtcbn0iXSksYz1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxudW5pZm9ybSBzYW1wbGVyMkQgdGV4dHVyZTtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcblxudmFyeWluZyB2ZWM0IGZfY29sb3I7XG52YXJ5aW5nIHZlYzIgZl91djtcblxudm9pZCBtYWluKCkge1xuICB2ZWMyIHBvaW50UiA9IGdsX1BvaW50Q29vcmQueHkgLSB2ZWMyKDAuNSwgMC41KTtcbiAgaWYoZG90KHBvaW50UiwgcG9pbnRSKSA+IDAuMjUpIHtcbiAgICBkaXNjYXJkO1xuICB9XG4gIGdsX0ZyYWdDb2xvciA9IGZfY29sb3IgKiB0ZXh0dXJlMkQodGV4dHVyZSwgZl91dikgKiBvcGFjaXR5O1xufSJdKSx1PW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5hdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjtcbmF0dHJpYnV0ZSB2ZWM0IGlkO1xuXG51bmlmb3JtIG1hdDQgbW9kZWwsIHZpZXcsIHByb2plY3Rpb247XG5cbnZhcnlpbmcgdmVjMyBmX3Bvc2l0aW9uO1xudmFyeWluZyB2ZWM0IGZfaWQ7XG5cbnZvaWQgbWFpbigpIHtcbiAgZ2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uICogdmlldyAqIG1vZGVsICogdmVjNChwb3NpdGlvbiwgMS4wKTtcbiAgZl9pZCAgICAgICAgPSBpZDtcbiAgZl9wb3NpdGlvbiAgPSBwb3NpdGlvbjtcbn0iXSksaD1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYm9vbCBvdXRPZlJhbmdlKGZsb2F0IGEsIGZsb2F0IGIsIGZsb2F0IHApIHtcbiAgcmV0dXJuICgocCA+IG1heChhLCBiKSkgfHwgXG4gICAgICAgICAgKHAgPCBtaW4oYSwgYikpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzIgYSwgdmVjMiBiLCB2ZWMyIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMzIGEsIHZlYzMgYiwgdmVjMyBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueiwgYi56LCBwLnopKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzQgYSwgdmVjNCBiLCB2ZWM0IHApIHtcbiAgcmV0dXJuIG91dE9mUmFuZ2UoYS54eXosIGIueHl6LCBwLnh5eik7XG59XG5cbnVuaWZvcm0gdmVjMyAgY2xpcEJvdW5kc1syXTtcbnVuaWZvcm0gZmxvYXQgcGlja0lkO1xuXG52YXJ5aW5nIHZlYzMgZl9wb3NpdGlvbjtcbnZhcnlpbmcgdmVjNCBmX2lkO1xuXG52b2lkIG1haW4oKSB7XG4gIGlmIChvdXRPZlJhbmdlKGNsaXBCb3VuZHNbMF0sIGNsaXBCb3VuZHNbMV0sIGZfcG9zaXRpb24pKSBkaXNjYXJkO1xuXG4gIGdsX0ZyYWdDb2xvciA9IHZlYzQocGlja0lkLCBmX2lkLnh5eik7XG59Il0pLGY9bihbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmJvb2wgb3V0T2ZSYW5nZShmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBwKSB7XG4gIHJldHVybiAoKHAgPiBtYXgoYSwgYikpIHx8IFxuICAgICAgICAgIChwIDwgbWluKGEsIGIpKSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMyIGEsIHZlYzIgYiwgdmVjMiBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMyBhLCB2ZWMzIGIsIHZlYzMgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnosIGIueiwgcC56KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWM0IGEsIHZlYzQgYiwgdmVjNCBwKSB7XG4gIHJldHVybiBvdXRPZlJhbmdlKGEueHl6LCBiLnh5eiwgcC54eXopO1xufVxuXG5hdHRyaWJ1dGUgdmVjMyAgcG9zaXRpb247XG5hdHRyaWJ1dGUgZmxvYXQgcG9pbnRTaXplO1xuYXR0cmlidXRlIHZlYzQgIGlkO1xuXG51bmlmb3JtIG1hdDQgbW9kZWwsIHZpZXcsIHByb2plY3Rpb247XG51bmlmb3JtIHZlYzMgY2xpcEJvdW5kc1syXTtcblxudmFyeWluZyB2ZWMzIGZfcG9zaXRpb247XG52YXJ5aW5nIHZlYzQgZl9pZDtcblxudm9pZCBtYWluKCkge1xuICBpZiAob3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCBwb3NpdGlvbikpIHtcblxuICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgwLjAsIDAuMCwgMC4wLCAwLjApO1xuICB9IGVsc2Uge1xuICAgIGdsX1Bvc2l0aW9uICA9IHByb2plY3Rpb24gKiB2aWV3ICogbW9kZWwgKiB2ZWM0KHBvc2l0aW9uLCAxLjApO1xuICAgIGdsX1BvaW50U2l6ZSA9IHBvaW50U2l6ZTtcbiAgfVxuICBmX2lkICAgICAgICAgPSBpZDtcbiAgZl9wb3NpdGlvbiAgID0gcG9zaXRpb247XG59Il0pLHA9bihbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSB2ZWMzIHBvc2l0aW9uO1xuXG51bmlmb3JtIG1hdDQgbW9kZWwsIHZpZXcsIHByb2plY3Rpb247XG5cbnZvaWQgbWFpbigpIHtcbiAgZ2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uICogdmlldyAqIG1vZGVsICogdmVjNChwb3NpdGlvbiwgMS4wKTtcbn0iXSksZD1uKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxudW5pZm9ybSB2ZWMzIGNvbnRvdXJDb2xvcjtcblxudm9pZCBtYWluKCkge1xuICBnbF9GcmFnQ29sb3IgPSB2ZWM0KGNvbnRvdXJDb2xvciwgMS4wKTtcbn1cbiJdKTtyLm1lc2hTaGFkZXI9e3ZlcnRleDphLGZyYWdtZW50OmksYXR0cmlidXRlczpbe25hbWU6InBvc2l0aW9uIix0eXBlOiJ2ZWMzIn0se25hbWU6Im5vcm1hbCIsdHlwZToidmVjMyJ9LHtuYW1lOiJjb2xvciIsdHlwZToidmVjNCJ9LHtuYW1lOiJ1diIsdHlwZToidmVjMiJ9XX0sci53aXJlU2hhZGVyPXt2ZXJ0ZXg6byxmcmFnbWVudDpzLGF0dHJpYnV0ZXM6W3tuYW1lOiJwb3NpdGlvbiIsdHlwZToidmVjMyJ9LHtuYW1lOiJjb2xvciIsdHlwZToidmVjNCJ9LHtuYW1lOiJ1diIsdHlwZToidmVjMiJ9XX0sci5wb2ludFNoYWRlcj17dmVydGV4OmwsZnJhZ21lbnQ6YyxhdHRyaWJ1dGVzOlt7bmFtZToicG9zaXRpb24iLHR5cGU6InZlYzMifSx7bmFtZToiY29sb3IiLHR5cGU6InZlYzQifSx7bmFtZToidXYiLHR5cGU6InZlYzIifSx7bmFtZToicG9pbnRTaXplIix0eXBlOiJmbG9hdCJ9XX0sci5waWNrU2hhZGVyPXt2ZXJ0ZXg6dSxmcmFnbWVudDpoLGF0dHJpYnV0ZXM6W3tuYW1lOiJwb3NpdGlvbiIsdHlwZToidmVjMyJ9LHtuYW1lOiJpZCIsdHlwZToidmVjNCJ9XX0sci5wb2ludFBpY2tTaGFkZXI9e3ZlcnRleDpmLGZyYWdtZW50OmgsYXR0cmlidXRlczpbe25hbWU6InBvc2l0aW9uIix0eXBlOiJ2ZWMzIn0se25hbWU6InBvaW50U2l6ZSIsdHlwZToiZmxvYXQifSx7bmFtZToiaWQiLHR5cGU6InZlYzQifV19LHIuY29udG91clNoYWRlcj17dmVydGV4OnAsZnJhZ21lbnQ6ZCxhdHRyaWJ1dGVzOlt7bmFtZToicG9zaXRpb24iLHR5cGU6InZlYzMifV19fSx7Z2xzbGlmeTo0MTF9XSwyODM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZ2wtc2hhZGVyIiksYT10KCJnbC1idWZmZXIiKSxpPXQoImdsLXZhbyIpLG89dCgiZ2wtdGV4dHVyZTJkIikscz10KCJub3JtYWxzIiksbD10KCJnbC1tYXQ0L211bHRpcGx5IiksYz10KCJnbC1tYXQ0L2ludmVydCIpLHU9dCgibmRhcnJheSIpLGg9dCgiY29sb3JtYXAiKSxmPXQoInNpbXBsaWNpYWwtY29tcGxleC1jb250b3VyIikscD10KCJ0eXBlZGFycmF5LXBvb2wiKSxkPXQoIi4vbGliL3NoYWRlcnMiKSxnPXQoIi4vbGliL2Nsb3Nlc3QtcG9pbnQiKSx2PWQubWVzaFNoYWRlcixtPWQud2lyZVNoYWRlcix5PWQucG9pbnRTaGFkZXIseD1kLnBpY2tTaGFkZXIsYj1kLnBvaW50UGlja1NoYWRlcixfPWQuY29udG91clNoYWRlcix3PVsxLDAsMCwwLDAsMSwwLDAsMCwwLDEsMCwwLDAsMCwxXTtmdW5jdGlvbiBrKHQsZSxyLG4sYSxpLG8scyxsLGMsdSxoLGYscCxkLGcsdixtLHkseCxiLF8sayxULE0sQSxTKXt0aGlzLmdsPXQsdGhpcy5waXhlbFJhdGlvPTEsdGhpcy5jZWxscz1bXSx0aGlzLnBvc2l0aW9ucz1bXSx0aGlzLmludGVuc2l0eT1bXSx0aGlzLnRleHR1cmU9ZSx0aGlzLmRpcnR5PSEwLHRoaXMudHJpU2hhZGVyPXIsdGhpcy5saW5lU2hhZGVyPW4sdGhpcy5wb2ludFNoYWRlcj1hLHRoaXMucGlja1NoYWRlcj1pLHRoaXMucG9pbnRQaWNrU2hhZGVyPW8sdGhpcy5jb250b3VyU2hhZGVyPXMsdGhpcy50cmlhbmdsZVBvc2l0aW9ucz1sLHRoaXMudHJpYW5nbGVDb2xvcnM9dSx0aGlzLnRyaWFuZ2xlTm9ybWFscz1mLHRoaXMudHJpYW5nbGVVVnM9aCx0aGlzLnRyaWFuZ2xlSWRzPWMsdGhpcy50cmlhbmdsZVZBTz1wLHRoaXMudHJpYW5nbGVDb3VudD0wLHRoaXMubGluZVdpZHRoPTEsdGhpcy5lZGdlUG9zaXRpb25zPWQsdGhpcy5lZGdlQ29sb3JzPXYsdGhpcy5lZGdlVVZzPW0sdGhpcy5lZGdlSWRzPWcsdGhpcy5lZGdlVkFPPXksdGhpcy5lZGdlQ291bnQ9MCx0aGlzLnBvaW50UG9zaXRpb25zPXgsdGhpcy5wb2ludENvbG9ycz1fLHRoaXMucG9pbnRVVnM9ayx0aGlzLnBvaW50U2l6ZXM9VCx0aGlzLnBvaW50SWRzPWIsdGhpcy5wb2ludFZBTz1NLHRoaXMucG9pbnRDb3VudD0wLHRoaXMuY29udG91ckxpbmVXaWR0aD0xLHRoaXMuY29udG91clBvc2l0aW9ucz1BLHRoaXMuY29udG91clZBTz1TLHRoaXMuY29udG91ckNvdW50PTAsdGhpcy5jb250b3VyQ29sb3I9WzAsMCwwXSx0aGlzLmNvbnRvdXJFbmFibGU9ITAsdGhpcy5waWNrVmVydGV4PSEwLHRoaXMucGlja0lkPTEsdGhpcy5ib3VuZHM9W1sxLzAsMS8wLDEvMF0sWy0xLzAsLTEvMCwtMS8wXV0sdGhpcy5jbGlwQm91bmRzPVtbLTEvMCwtMS8wLC0xLzBdLFsxLzAsMS8wLDEvMF1dLHRoaXMubGlnaHRQb3NpdGlvbj1bMWU1LDFlNSwwXSx0aGlzLmFtYmllbnRMaWdodD0uOCx0aGlzLmRpZmZ1c2VMaWdodD0uOCx0aGlzLnNwZWN1bGFyTGlnaHQ9Mix0aGlzLnJvdWdobmVzcz0uNSx0aGlzLmZyZXNuZWw9MS41LHRoaXMub3BhY2l0eT0xLHRoaXMuaGFzQWxwaGE9ITEsdGhpcy5vcGFjaXR5c2NhbGU9ITEsdGhpcy5fbW9kZWw9dyx0aGlzLl92aWV3PXcsdGhpcy5fcHJvamVjdGlvbj13LHRoaXMuX3Jlc29sdXRpb249WzEsMV19dmFyIFQ9ay5wcm90b3R5cGU7ZnVuY3Rpb24gTSh0LGUpe2lmKCFlKXJldHVybiAxO2lmKCFlLmxlbmd0aClyZXR1cm4gMTtmb3IodmFyIHI9MDtyPGUubGVuZ3RoOysrcil7aWYoZS5sZW5ndGg8MilyZXR1cm4gMTtpZihlW3JdWzBdPT09dClyZXR1cm4gZVtyXVsxXTtpZihlW3JdWzBdPnQmJnI+MCl7dmFyIG49KGVbcl1bMF0tdCkvKGVbcl1bMF0tZVtyLTFdWzBdKTtyZXR1cm4gZVtyXVsxXSooMS1uKStuKmVbci0xXVsxXX19cmV0dXJuIDF9ZnVuY3Rpb24gQSh0KXt2YXIgZT1uKHQseS52ZXJ0ZXgseS5mcmFnbWVudCk7cmV0dXJuIGUuYXR0cmlidXRlcy5wb3NpdGlvbi5sb2NhdGlvbj0wLGUuYXR0cmlidXRlcy5jb2xvci5sb2NhdGlvbj0yLGUuYXR0cmlidXRlcy51di5sb2NhdGlvbj0zLGUuYXR0cmlidXRlcy5wb2ludFNpemUubG9jYXRpb249NCxlfWZ1bmN0aW9uIFModCl7dmFyIGU9bih0LHgudmVydGV4LHguZnJhZ21lbnQpO3JldHVybiBlLmF0dHJpYnV0ZXMucG9zaXRpb24ubG9jYXRpb249MCxlLmF0dHJpYnV0ZXMuaWQubG9jYXRpb249MSxlfWZ1bmN0aW9uIEUodCl7dmFyIGU9bih0LGIudmVydGV4LGIuZnJhZ21lbnQpO3JldHVybiBlLmF0dHJpYnV0ZXMucG9zaXRpb24ubG9jYXRpb249MCxlLmF0dHJpYnV0ZXMuaWQubG9jYXRpb249MSxlLmF0dHJpYnV0ZXMucG9pbnRTaXplLmxvY2F0aW9uPTQsZX1mdW5jdGlvbiBMKHQpe3ZhciBlPW4odCxfLnZlcnRleCxfLmZyYWdtZW50KTtyZXR1cm4gZS5hdHRyaWJ1dGVzLnBvc2l0aW9uLmxvY2F0aW9uPTAsZX1ULmlzT3BhcXVlPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaGFzQWxwaGF9LFQuaXNUcmFuc3BhcmVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmhhc0FscGhhfSxULnBpY2tTbG90cz0xLFQuc2V0UGlja0Jhc2U9ZnVuY3Rpb24odCl7dGhpcy5waWNrSWQ9dH0sVC5oaWdobGlnaHQ9ZnVuY3Rpb24odCl7aWYodCYmdGhpcy5jb250b3VyRW5hYmxlKXtmb3IodmFyIGU9Zih0aGlzLmNlbGxzLHRoaXMuaW50ZW5zaXR5LHQuaW50ZW5zaXR5KSxyPWUuY2VsbHMsbj1lLnZlcnRleElkcyxhPWUudmVydGV4V2VpZ2h0cyxpPXIubGVuZ3RoLG89cC5tYWxsb2NGbG9hdDMyKDYqaSkscz0wLGw9MDtsPGk7KytsKWZvcih2YXIgYz1yW2xdLHU9MDt1PDI7Kyt1KXt2YXIgaD1jWzBdOzI9PT1jLmxlbmd0aCYmKGg9Y1t1XSk7Zm9yKHZhciBkPW5baF1bMF0sZz1uW2hdWzFdLHY9YVtoXSxtPTEtdix5PXRoaXMucG9zaXRpb25zW2RdLHg9dGhpcy5wb3NpdGlvbnNbZ10sYj0wO2I8MzsrK2Ipb1tzKytdPXYqeVtiXSttKnhbYl19dGhpcy5jb250b3VyQ291bnQ9cy8zfDAsdGhpcy5jb250b3VyUG9zaXRpb25zLnVwZGF0ZShvLnN1YmFycmF5KDAscykpLHAuZnJlZShvKX1lbHNlIHRoaXMuY29udG91ckNvdW50PTB9LFQudXBkYXRlPWZ1bmN0aW9uKHQpe3Q9dHx8e307dmFyIGU9dGhpcy5nbDt0aGlzLmRpcnR5PSEwLCJjb250b3VyRW5hYmxlImluIHQmJih0aGlzLmNvbnRvdXJFbmFibGU9dC5jb250b3VyRW5hYmxlKSwiY29udG91ckNvbG9yImluIHQmJih0aGlzLmNvbnRvdXJDb2xvcj10LmNvbnRvdXJDb2xvciksImxpbmVXaWR0aCJpbiB0JiYodGhpcy5saW5lV2lkdGg9dC5saW5lV2lkdGgpLCJsaWdodFBvc2l0aW9uImluIHQmJih0aGlzLmxpZ2h0UG9zaXRpb249dC5saWdodFBvc2l0aW9uKSx0aGlzLmhhc0FscGhhPSExLCJvcGFjaXR5ImluIHQmJih0aGlzLm9wYWNpdHk9dC5vcGFjaXR5LHRoaXMub3BhY2l0eTwxJiYodGhpcy5oYXNBbHBoYT0hMCkpLCJvcGFjaXR5c2NhbGUiaW4gdCYmKHRoaXMub3BhY2l0eXNjYWxlPXQub3BhY2l0eXNjYWxlLHRoaXMuaGFzQWxwaGE9ITApLCJhbWJpZW50ImluIHQmJih0aGlzLmFtYmllbnRMaWdodD10LmFtYmllbnQpLCJkaWZmdXNlImluIHQmJih0aGlzLmRpZmZ1c2VMaWdodD10LmRpZmZ1c2UpLCJzcGVjdWxhciJpbiB0JiYodGhpcy5zcGVjdWxhckxpZ2h0PXQuc3BlY3VsYXIpLCJyb3VnaG5lc3MiaW4gdCYmKHRoaXMucm91Z2huZXNzPXQucm91Z2huZXNzKSwiZnJlc25lbCJpbiB0JiYodGhpcy5mcmVzbmVsPXQuZnJlc25lbCksdC50ZXh0dXJlPyh0aGlzLnRleHR1cmUuZGlzcG9zZSgpLHRoaXMudGV4dHVyZT1vKGUsdC50ZXh0dXJlKSk6dC5jb2xvcm1hcCYmKHRoaXMudGV4dHVyZS5zaGFwZT1bMjU2LDI1Nl0sdGhpcy50ZXh0dXJlLm1pbkZpbHRlcj1lLkxJTkVBUl9NSVBNQVBfTElORUFSLHRoaXMudGV4dHVyZS5tYWdGaWx0ZXI9ZS5MSU5FQVIsdGhpcy50ZXh0dXJlLnNldFBpeGVscyhmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1oKHtjb2xvcm1hcDp0LG5zaGFkZXM6MjU2LGZvcm1hdDoicmdiYSJ9KSxuPW5ldyBVaW50OEFycmF5KDEwMjQpLGE9MDthPDI1NjsrK2Epe2Zvcih2YXIgaT1yW2FdLG89MDtvPDM7KytvKW5bNCphK29dPWlbb107bls0KmErM109ZT8yNTUqTShhLzI1NSxlKToyNTUqaVszXX1yZXR1cm4gdShuLFsyNTYsMjU2LDRdLFs0LDAsMV0pfSh0LmNvbG9ybWFwLHRoaXMub3BhY2l0eXNjYWxlKSksdGhpcy50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwKCkpO3ZhciByPXQuY2VsbHMsbj10LnBvc2l0aW9ucztpZihuJiZyKXt2YXIgYT1bXSxpPVtdLGw9W10sYz1bXSxmPVtdLHA9W10sZD1bXSxnPVtdLHY9W10sbT1bXSx5PVtdLHg9W10sYj1bXSxfPVtdO3RoaXMuY2VsbHM9cix0aGlzLnBvc2l0aW9ucz1uO3ZhciB3PXQudmVydGV4Tm9ybWFscyxrPXQuY2VsbE5vcm1hbHMsVD12b2lkIDA9PT10LnZlcnRleE5vcm1hbHNFcHNpbG9uPzFlLTY6dC52ZXJ0ZXhOb3JtYWxzRXBzaWxvbixBPXZvaWQgMD09PXQuZmFjZU5vcm1hbHNFcHNpbG9uPzFlLTY6dC5mYWNlTm9ybWFsc0Vwc2lsb247dC51c2VGYWNldE5vcm1hbHMmJiFrJiYoaz1zLmZhY2VOb3JtYWxzKHIsbixBKSksa3x8d3x8KHc9cy52ZXJ0ZXhOb3JtYWxzKHIsbixUKSk7dmFyIFM9dC52ZXJ0ZXhDb2xvcnMsRT10LmNlbGxDb2xvcnMsTD10Lm1lc2hDb2xvcnx8WzEsMSwxLDFdLEM9dC52ZXJ0ZXhVVnMsUD10LnZlcnRleEludGVuc2l0eSxPPXQuY2VsbFVWcyx6PXQuY2VsbEludGVuc2l0eSxJPTEvMCxEPS0xLzA7aWYoIUMmJiFPKWlmKFApaWYodC52ZXJ0ZXhJbnRlbnNpdHlCb3VuZHMpST0rdC52ZXJ0ZXhJbnRlbnNpdHlCb3VuZHNbMF0sRD0rdC52ZXJ0ZXhJbnRlbnNpdHlCb3VuZHNbMV07ZWxzZSBmb3IodmFyIFI9MDtSPFAubGVuZ3RoOysrUil7dmFyIEY9UFtSXTtJPU1hdGgubWluKEksRiksRD1NYXRoLm1heChELEYpfWVsc2UgaWYoeilpZih0LmNlbGxJbnRlbnNpdHlCb3VuZHMpST0rdC5jZWxsSW50ZW5zaXR5Qm91bmRzWzBdLEQ9K3QuY2VsbEludGVuc2l0eUJvdW5kc1sxXTtlbHNlIGZvcihSPTA7Ujx6Lmxlbmd0aDsrK1Ipe0Y9eltSXTtJPU1hdGgubWluKEksRiksRD1NYXRoLm1heChELEYpfWVsc2UgZm9yKFI9MDtSPG4ubGVuZ3RoOysrUil7Rj1uW1JdWzJdO0k9TWF0aC5taW4oSSxGKSxEPU1hdGgubWF4KEQsRil9dGhpcy5pbnRlbnNpdHk9UHx8KHp8fGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aCxyPW5ldyBBcnJheShlKSxuPTA7bjxlOysrbilyW25dPXRbbl1bMl07cmV0dXJuIHJ9KG4pKSx0aGlzLnBpY2tWZXJ0ZXg9ISh6fHxFKTt2YXIgQj10LnBvaW50U2l6ZXMsTj10LnBvaW50U2l6ZXx8MTt0aGlzLmJvdW5kcz1bWzEvMCwxLzAsMS8wXSxbLTEvMCwtMS8wLC0xLzBdXTtmb3IoUj0wO1I8bi5sZW5ndGg7KytSKWZvcih2YXIgaj1uW1JdLFY9MDtWPDM7KytWKSFpc05hTihqW1ZdKSYmaXNGaW5pdGUoaltWXSkmJih0aGlzLmJvdW5kc1swXVtWXT1NYXRoLm1pbih0aGlzLmJvdW5kc1swXVtWXSxqW1ZdKSx0aGlzLmJvdW5kc1sxXVtWXT1NYXRoLm1heCh0aGlzLmJvdW5kc1sxXVtWXSxqW1ZdKSk7dmFyIFU9MCxxPTAsSD0wO3Q6Zm9yKFI9MDtSPHIubGVuZ3RoOysrUil7dmFyIEc9cltSXTtzd2l0Y2goRy5sZW5ndGgpe2Nhc2UgMTpmb3Ioaj1uW1c9R1swXV0sVj0wO1Y8MzsrK1YpaWYoaXNOYU4oaltWXSl8fCFpc0Zpbml0ZShqW1ZdKSljb250aW51ZSB0O20ucHVzaChqWzBdLGpbMV0salsyXSksWD1TP1NbV106RT9FW1JdOkwsdGhpcy5vcGFjaXR5c2NhbGUmJlA/aS5wdXNoKFhbMF0sWFsxXSxYWzJdLHRoaXMub3BhY2l0eSpNKChQW1ddLUkpLyhELUkpLHRoaXMub3BhY2l0eXNjYWxlKSk6Mz09PVgubGVuZ3RoP3kucHVzaChYWzBdLFhbMV0sWFsyXSx0aGlzLm9wYWNpdHkpOih5LnB1c2goWFswXSxYWzFdLFhbMl0sWFszXSp0aGlzLm9wYWNpdHkpLFhbM108MSYmKHRoaXMuaGFzQWxwaGE9ITApKSxaPUM/Q1tXXTpQP1soUFtXXS1JKS8oRC1JKSwwXTpPP09bUl06ej9bKHpbUl0tSSkvKEQtSSksMF06WyhqWzJdLUkpLyhELUkpLDBdLHgucHVzaChaWzBdLFpbMV0pLEI/Yi5wdXNoKEJbV10pOmIucHVzaChOKSxfLnB1c2goUiksSCs9MTticmVhaztjYXNlIDI6Zm9yKFY9MDtWPDI7KytWKXtqPW5bVz1HW1ZdXTtmb3IodmFyIFk9MDtZPDM7KytZKWlmKGlzTmFOKGpbWV0pfHwhaXNGaW5pdGUoaltZXSkpY29udGludWUgdH1mb3IoVj0wO1Y8MjsrK1Ype2o9bltXPUdbVl1dO3AucHVzaChqWzBdLGpbMV0salsyXSksWD1TP1NbV106RT9FW1JdOkwsdGhpcy5vcGFjaXR5c2NhbGUmJlA/aS5wdXNoKFhbMF0sWFsxXSxYWzJdLHRoaXMub3BhY2l0eSpNKChQW1ddLUkpLyhELUkpLHRoaXMub3BhY2l0eXNjYWxlKSk6Mz09PVgubGVuZ3RoP2QucHVzaChYWzBdLFhbMV0sWFsyXSx0aGlzLm9wYWNpdHkpOihkLnB1c2goWFswXSxYWzFdLFhbMl0sWFszXSp0aGlzLm9wYWNpdHkpLFhbM108MSYmKHRoaXMuaGFzQWxwaGE9ITApKSxaPUM/Q1tXXTpQP1soUFtXXS1JKS8oRC1JKSwwXTpPP09bUl06ej9bKHpbUl0tSSkvKEQtSSksMF06WyhqWzJdLUkpLyhELUkpLDBdLGcucHVzaChaWzBdLFpbMV0pLHYucHVzaChSKX1xKz0xO2JyZWFrO2Nhc2UgMzpmb3IoVj0wO1Y8MzsrK1YpZm9yKGo9bltXPUdbVl1dLFk9MDtZPDM7KytZKWlmKGlzTmFOKGpbWV0pfHwhaXNGaW5pdGUoaltZXSkpY29udGludWUgdDtmb3IoVj0wO1Y8MzsrK1Ype3ZhciBXLFgsWixKO2o9bltXPUdbMi1WXV07YS5wdXNoKGpbMF0salsxXSxqWzJdKSwoWD1TP1NbV106RT9FW1JdOkwpP3RoaXMub3BhY2l0eXNjYWxlJiZQP2kucHVzaChYWzBdLFhbMV0sWFsyXSx0aGlzLm9wYWNpdHkqTSgoUFtXXS1JKS8oRC1JKSx0aGlzLm9wYWNpdHlzY2FsZSkpOjM9PT1YLmxlbmd0aD9pLnB1c2goWFswXSxYWzFdLFhbMl0sdGhpcy5vcGFjaXR5KTooaS5wdXNoKFhbMF0sWFsxXSxYWzJdLFhbM10qdGhpcy5vcGFjaXR5KSxYWzNdPDEmJih0aGlzLmhhc0FscGhhPSEwKSk6aS5wdXNoKC41LC41LC41LDEpLFo9Qz9DW1ddOlA/WyhQW1ddLUkpLyhELUkpLDBdOk8/T1tSXTp6P1soeltSXS1JKS8oRC1JKSwwXTpbKGpbMl0tSSkvKEQtSSksMF0sYy5wdXNoKFpbMF0sWlsxXSksSj13P3dbV106a1tSXSxsLnB1c2goSlswXSxKWzFdLEpbMl0pLGYucHVzaChSKX1VKz0xfX10aGlzLnBvaW50Q291bnQ9SCx0aGlzLmVkZ2VDb3VudD1xLHRoaXMudHJpYW5nbGVDb3VudD1VLHRoaXMucG9pbnRQb3NpdGlvbnMudXBkYXRlKG0pLHRoaXMucG9pbnRDb2xvcnMudXBkYXRlKHkpLHRoaXMucG9pbnRVVnMudXBkYXRlKHgpLHRoaXMucG9pbnRTaXplcy51cGRhdGUoYiksdGhpcy5wb2ludElkcy51cGRhdGUobmV3IFVpbnQzMkFycmF5KF8pKSx0aGlzLmVkZ2VQb3NpdGlvbnMudXBkYXRlKHApLHRoaXMuZWRnZUNvbG9ycy51cGRhdGUoZCksdGhpcy5lZGdlVVZzLnVwZGF0ZShnKSx0aGlzLmVkZ2VJZHMudXBkYXRlKG5ldyBVaW50MzJBcnJheSh2KSksdGhpcy50cmlhbmdsZVBvc2l0aW9ucy51cGRhdGUoYSksdGhpcy50cmlhbmdsZUNvbG9ycy51cGRhdGUoaSksdGhpcy50cmlhbmdsZVVWcy51cGRhdGUoYyksdGhpcy50cmlhbmdsZU5vcm1hbHMudXBkYXRlKGwpLHRoaXMudHJpYW5nbGVJZHMudXBkYXRlKG5ldyBVaW50MzJBcnJheShmKSl9fSxULmRyYXdUcmFuc3BhcmVudD1ULmRyYXc9ZnVuY3Rpb24odCl7dD10fHx7fTtmb3IodmFyIGU9dGhpcy5nbCxyPXQubW9kZWx8fHcsbj10LnZpZXd8fHcsYT10LnByb2plY3Rpb258fHcsaT1bWy0xZTYsLTFlNiwtMWU2XSxbMWU2LDFlNiwxZTZdXSxvPTA7bzwzOysrbylpWzBdW29dPU1hdGgubWF4KGlbMF1bb10sdGhpcy5jbGlwQm91bmRzWzBdW29dKSxpWzFdW29dPU1hdGgubWluKGlbMV1bb10sdGhpcy5jbGlwQm91bmRzWzFdW29dKTt2YXIgcz17bW9kZWw6cix2aWV3Om4scHJvamVjdGlvbjphLGludmVyc2VNb2RlbDp3LnNsaWNlKCksY2xpcEJvdW5kczppLGthbWJpZW50OnRoaXMuYW1iaWVudExpZ2h0LGtkaWZmdXNlOnRoaXMuZGlmZnVzZUxpZ2h0LGtzcGVjdWxhcjp0aGlzLnNwZWN1bGFyTGlnaHQscm91Z2huZXNzOnRoaXMucm91Z2huZXNzLGZyZXNuZWw6dGhpcy5mcmVzbmVsLGV5ZVBvc2l0aW9uOlswLDAsMF0sbGlnaHRQb3NpdGlvbjpbMCwwLDBdLGNvbnRvdXJDb2xvcjp0aGlzLmNvbnRvdXJDb2xvcix0ZXh0dXJlOjB9O3MuaW52ZXJzZU1vZGVsPWMocy5pbnZlcnNlTW9kZWwscy5tb2RlbCksZS5kaXNhYmxlKGUuQ1VMTF9GQUNFKSx0aGlzLnRleHR1cmUuYmluZCgwKTt2YXIgdT1uZXcgQXJyYXkoMTYpO2wodSxzLnZpZXcscy5tb2RlbCksbCh1LHMucHJvamVjdGlvbix1KSxjKHUsdSk7Zm9yKG89MDtvPDM7KytvKXMuZXllUG9zaXRpb25bb109dVsxMitvXS91WzE1XTt2YXIgaCxmPXVbMTVdO2ZvcihvPTA7bzwzOysrbylmKz10aGlzLmxpZ2h0UG9zaXRpb25bb10qdVs0Km8rM107Zm9yKG89MDtvPDM7KytvKXtmb3IodmFyIHA9dVsxMitvXSxkPTA7ZDwzOysrZClwKz11WzQqZCtvXSp0aGlzLmxpZ2h0UG9zaXRpb25bZF07cy5saWdodFBvc2l0aW9uW29dPXAvZn10aGlzLnRyaWFuZ2xlQ291bnQ+MCYmKChoPXRoaXMudHJpU2hhZGVyKS5iaW5kKCksaC51bmlmb3Jtcz1zLHRoaXMudHJpYW5nbGVWQU8uYmluZCgpLGUuZHJhd0FycmF5cyhlLlRSSUFOR0xFUywwLDMqdGhpcy50cmlhbmdsZUNvdW50KSx0aGlzLnRyaWFuZ2xlVkFPLnVuYmluZCgpKTt0aGlzLmVkZ2VDb3VudD4wJiZ0aGlzLmxpbmVXaWR0aD4wJiYoKGg9dGhpcy5saW5lU2hhZGVyKS5iaW5kKCksaC51bmlmb3Jtcz1zLHRoaXMuZWRnZVZBTy5iaW5kKCksZS5saW5lV2lkdGgodGhpcy5saW5lV2lkdGgqdGhpcy5waXhlbFJhdGlvKSxlLmRyYXdBcnJheXMoZS5MSU5FUywwLDIqdGhpcy5lZGdlQ291bnQpLHRoaXMuZWRnZVZBTy51bmJpbmQoKSk7dGhpcy5wb2ludENvdW50PjAmJigoaD10aGlzLnBvaW50U2hhZGVyKS5iaW5kKCksaC51bmlmb3Jtcz1zLHRoaXMucG9pbnRWQU8uYmluZCgpLGUuZHJhd0FycmF5cyhlLlBPSU5UUywwLHRoaXMucG9pbnRDb3VudCksdGhpcy5wb2ludFZBTy51bmJpbmQoKSk7dGhpcy5jb250b3VyRW5hYmxlJiZ0aGlzLmNvbnRvdXJDb3VudD4wJiZ0aGlzLmNvbnRvdXJMaW5lV2lkdGg+MCYmKChoPXRoaXMuY29udG91clNoYWRlcikuYmluZCgpLGgudW5pZm9ybXM9cyx0aGlzLmNvbnRvdXJWQU8uYmluZCgpLGUuZHJhd0FycmF5cyhlLkxJTkVTLDAsdGhpcy5jb250b3VyQ291bnQpLHRoaXMuY29udG91clZBTy51bmJpbmQoKSl9LFQuZHJhd1BpY2s9ZnVuY3Rpb24odCl7dD10fHx7fTtmb3IodmFyIGU9dGhpcy5nbCxyPXQubW9kZWx8fHcsbj10LnZpZXd8fHcsYT10LnByb2plY3Rpb258fHcsaT1bWy0xZTYsLTFlNiwtMWU2XSxbMWU2LDFlNiwxZTZdXSxvPTA7bzwzOysrbylpWzBdW29dPU1hdGgubWF4KGlbMF1bb10sdGhpcy5jbGlwQm91bmRzWzBdW29dKSxpWzFdW29dPU1hdGgubWluKGlbMV1bb10sdGhpcy5jbGlwQm91bmRzWzFdW29dKTt0aGlzLl9tb2RlbD1bXS5zbGljZS5jYWxsKHIpLHRoaXMuX3ZpZXc9W10uc2xpY2UuY2FsbChuKSx0aGlzLl9wcm9qZWN0aW9uPVtdLnNsaWNlLmNhbGwoYSksdGhpcy5fcmVzb2x1dGlvbj1bZS5kcmF3aW5nQnVmZmVyV2lkdGgsZS5kcmF3aW5nQnVmZmVySGVpZ2h0XTt2YXIgcyxsPXttb2RlbDpyLHZpZXc6bixwcm9qZWN0aW9uOmEsY2xpcEJvdW5kczppLHBpY2tJZDp0aGlzLnBpY2tJZC8yNTV9Oygocz10aGlzLnBpY2tTaGFkZXIpLmJpbmQoKSxzLnVuaWZvcm1zPWwsdGhpcy50cmlhbmdsZUNvdW50PjAmJih0aGlzLnRyaWFuZ2xlVkFPLmJpbmQoKSxlLmRyYXdBcnJheXMoZS5UUklBTkdMRVMsMCwzKnRoaXMudHJpYW5nbGVDb3VudCksdGhpcy50cmlhbmdsZVZBTy51bmJpbmQoKSksdGhpcy5lZGdlQ291bnQ+MCYmKHRoaXMuZWRnZVZBTy5iaW5kKCksZS5saW5lV2lkdGgodGhpcy5saW5lV2lkdGgqdGhpcy5waXhlbFJhdGlvKSxlLmRyYXdBcnJheXMoZS5MSU5FUywwLDIqdGhpcy5lZGdlQ291bnQpLHRoaXMuZWRnZVZBTy51bmJpbmQoKSksdGhpcy5wb2ludENvdW50PjApJiYoKHM9dGhpcy5wb2ludFBpY2tTaGFkZXIpLmJpbmQoKSxzLnVuaWZvcm1zPWwsdGhpcy5wb2ludFZBTy5iaW5kKCksZS5kcmF3QXJyYXlzKGUuUE9JTlRTLDAsdGhpcy5wb2ludENvdW50KSx0aGlzLnBvaW50VkFPLnVuYmluZCgpKX0sVC5waWNrPWZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybiBudWxsO2lmKHQuaWQhPT10aGlzLnBpY2tJZClyZXR1cm4gbnVsbDtmb3IodmFyIGU9dC52YWx1ZVswXSsyNTYqdC52YWx1ZVsxXSs2NTUzNip0LnZhbHVlWzJdLHI9dGhpcy5jZWxsc1tlXSxuPXRoaXMucG9zaXRpb25zLGE9bmV3IEFycmF5KHIubGVuZ3RoKSxpPTA7aTxyLmxlbmd0aDsrK2kpYVtpXT1uW3JbaV1dO3ZhciBvPXQuY29vcmRbMF0scz10LmNvb3JkWzFdO2lmKCF0aGlzLnBpY2tWZXJ0ZXgpe3ZhciBsPXRoaXMucG9zaXRpb25zW3JbMF1dLGM9dGhpcy5wb3NpdGlvbnNbclsxXV0sdT10aGlzLnBvc2l0aW9uc1tyWzJdXSxoPVsobFswXStjWzBdK3VbMF0pLzMsKGxbMV0rY1sxXSt1WzFdKS8zLChsWzJdK2NbMl0rdVsyXSkvM107cmV0dXJue19jZWxsQ2VudGVyOiEwLHBvc2l0aW9uOltvLHNdLGluZGV4OmUsY2VsbDpyLGNlbGxJZDplLGludGVuc2l0eTp0aGlzLmludGVuc2l0eVtlXSxkYXRhQ29vcmRpbmF0ZTpofX12YXIgZj1nKGEsW28qdGhpcy5waXhlbFJhdGlvLHRoaXMuX3Jlc29sdXRpb25bMV0tcyp0aGlzLnBpeGVsUmF0aW9dLHRoaXMuX21vZGVsLHRoaXMuX3ZpZXcsdGhpcy5fcHJvamVjdGlvbix0aGlzLl9yZXNvbHV0aW9uKTtpZighZilyZXR1cm4gbnVsbDt2YXIgcD1mWzJdLGQ9MDtmb3IoaT0wO2k8ci5sZW5ndGg7KytpKWQrPXBbaV0qdGhpcy5pbnRlbnNpdHlbcltpXV07cmV0dXJue3Bvc2l0aW9uOmZbMV0saW5kZXg6cltmWzBdXSxjZWxsOnIsY2VsbElkOmUsaW50ZW5zaXR5OmQsZGF0YUNvb3JkaW5hdGU6dGhpcy5wb3NpdGlvbnNbcltmWzBdXV19fSxULmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLnRleHR1cmUuZGlzcG9zZSgpLHRoaXMudHJpU2hhZGVyLmRpc3Bvc2UoKSx0aGlzLmxpbmVTaGFkZXIuZGlzcG9zZSgpLHRoaXMucG9pbnRTaGFkZXIuZGlzcG9zZSgpLHRoaXMucGlja1NoYWRlci5kaXNwb3NlKCksdGhpcy5wb2ludFBpY2tTaGFkZXIuZGlzcG9zZSgpLHRoaXMudHJpYW5nbGVWQU8uZGlzcG9zZSgpLHRoaXMudHJpYW5nbGVQb3NpdGlvbnMuZGlzcG9zZSgpLHRoaXMudHJpYW5nbGVDb2xvcnMuZGlzcG9zZSgpLHRoaXMudHJpYW5nbGVVVnMuZGlzcG9zZSgpLHRoaXMudHJpYW5nbGVOb3JtYWxzLmRpc3Bvc2UoKSx0aGlzLnRyaWFuZ2xlSWRzLmRpc3Bvc2UoKSx0aGlzLmVkZ2VWQU8uZGlzcG9zZSgpLHRoaXMuZWRnZVBvc2l0aW9ucy5kaXNwb3NlKCksdGhpcy5lZGdlQ29sb3JzLmRpc3Bvc2UoKSx0aGlzLmVkZ2VVVnMuZGlzcG9zZSgpLHRoaXMuZWRnZUlkcy5kaXNwb3NlKCksdGhpcy5wb2ludFZBTy5kaXNwb3NlKCksdGhpcy5wb2ludFBvc2l0aW9ucy5kaXNwb3NlKCksdGhpcy5wb2ludENvbG9ycy5kaXNwb3NlKCksdGhpcy5wb2ludFVWcy5kaXNwb3NlKCksdGhpcy5wb2ludFNpemVzLmRpc3Bvc2UoKSx0aGlzLnBvaW50SWRzLmRpc3Bvc2UoKSx0aGlzLmNvbnRvdXJWQU8uZGlzcG9zZSgpLHRoaXMuY29udG91clBvc2l0aW9ucy5kaXNwb3NlKCksdGhpcy5jb250b3VyU2hhZGVyLmRpc3Bvc2UoKX0sZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYoMT09PWFyZ3VtZW50cy5sZW5ndGgmJih0PShlPXQpLmdsKSwhKHQuZ2V0RXh0ZW5zaW9uKCJPRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMiKXx8dC5nZXRFeHRlbnNpb24oIk1PWl9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMiKXx8dC5nZXRFeHRlbnNpb24oIldFQktJVF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMiKSkpdGhyb3cgbmV3IEVycm9yKCJkZXJpdmF0aXZlcyBub3Qgc3VwcG9ydGVkIik7dmFyIHI9ZnVuY3Rpb24odCl7dmFyIGU9bih0LHYudmVydGV4LHYuZnJhZ21lbnQpO3JldHVybiBlLmF0dHJpYnV0ZXMucG9zaXRpb24ubG9jYXRpb249MCxlLmF0dHJpYnV0ZXMuY29sb3IubG9jYXRpb249MixlLmF0dHJpYnV0ZXMudXYubG9jYXRpb249MyxlLmF0dHJpYnV0ZXMubm9ybWFsLmxvY2F0aW9uPTQsZX0odCkscz1mdW5jdGlvbih0KXt2YXIgZT1uKHQsbS52ZXJ0ZXgsbS5mcmFnbWVudCk7cmV0dXJuIGUuYXR0cmlidXRlcy5wb3NpdGlvbi5sb2NhdGlvbj0wLGUuYXR0cmlidXRlcy5jb2xvci5sb2NhdGlvbj0yLGUuYXR0cmlidXRlcy51di5sb2NhdGlvbj0zLGV9KHQpLGw9QSh0KSxjPVModCksaD1FKHQpLGY9TCh0KSxwPW8odCx1KG5ldyBVaW50OEFycmF5KFsyNTUsMjU1LDI1NSwyNTVdKSxbMSwxLDRdKSk7cC5nZW5lcmF0ZU1pcG1hcCgpLHAubWluRmlsdGVyPXQuTElORUFSX01JUE1BUF9MSU5FQVIscC5tYWdGaWx0ZXI9dC5MSU5FQVI7dmFyIGQ9YSh0KSxnPWEodCkseT1hKHQpLHg9YSh0KSxiPWEodCksXz1pKHQsW3tidWZmZXI6ZCx0eXBlOnQuRkxPQVQsc2l6ZTozfSx7YnVmZmVyOmIsdHlwZTp0LlVOU0lHTkVEX0JZVEUsc2l6ZTo0LG5vcm1hbGl6ZWQ6ITB9LHtidWZmZXI6Zyx0eXBlOnQuRkxPQVQsc2l6ZTo0fSx7YnVmZmVyOnksdHlwZTp0LkZMT0FULHNpemU6Mn0se2J1ZmZlcjp4LHR5cGU6dC5GTE9BVCxzaXplOjN9XSksdz1hKHQpLFQ9YSh0KSxNPWEodCksQz1hKHQpLFA9aSh0LFt7YnVmZmVyOncsdHlwZTp0LkZMT0FULHNpemU6M30se2J1ZmZlcjpDLHR5cGU6dC5VTlNJR05FRF9CWVRFLHNpemU6NCxub3JtYWxpemVkOiEwfSx7YnVmZmVyOlQsdHlwZTp0LkZMT0FULHNpemU6NH0se2J1ZmZlcjpNLHR5cGU6dC5GTE9BVCxzaXplOjJ9XSksTz1hKHQpLHo9YSh0KSxJPWEodCksRD1hKHQpLFI9YSh0KSxGPWkodCxbe2J1ZmZlcjpPLHR5cGU6dC5GTE9BVCxzaXplOjN9LHtidWZmZXI6Uix0eXBlOnQuVU5TSUdORURfQllURSxzaXplOjQsbm9ybWFsaXplZDohMH0se2J1ZmZlcjp6LHR5cGU6dC5GTE9BVCxzaXplOjR9LHtidWZmZXI6SSx0eXBlOnQuRkxPQVQsc2l6ZToyfSx7YnVmZmVyOkQsdHlwZTp0LkZMT0FULHNpemU6MX1dKSxCPWEodCksTj1uZXcgayh0LHAscixzLGwsYyxoLGYsZCxiLGcseSx4LF8sdyxDLFQsTSxQLE8sUix6LEksRCxGLEIsaSh0LFt7YnVmZmVyOkIsdHlwZTp0LkZMT0FULHNpemU6M31dKSk7cmV0dXJuIE4udXBkYXRlKGUpLE59fSx7Ii4vbGliL2Nsb3Nlc3QtcG9pbnQiOjI4MSwiLi9saWIvc2hhZGVycyI6MjgyLGNvbG9ybWFwOjEyOCwiZ2wtYnVmZmVyIjoyNDQsImdsLW1hdDQvaW52ZXJ0IjoyNjgsImdsLW1hdDQvbXVsdGlwbHkiOjI3MCwiZ2wtc2hhZGVyIjozMDQsImdsLXRleHR1cmUyZCI6MzI0LCJnbC12YW8iOjMyOSxuZGFycmF5OjQ1Mixub3JtYWxzOjQ1NSwic2ltcGxpY2lhbC1jb21wbGV4LWNvbnRvdXIiOjUxNywidHlwZWRhcnJheS1wb29sIjo1NDR9XSwyODQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQuZ2wscj1uKGUsWzAsMCwwLDEsMSwwLDEsMV0pLHM9YShlLGkuYm94VmVydCxpLmxpbmVGcmFnKTtyZXR1cm4gbmV3IG8odCxyLHMpfTt2YXIgbj10KCJnbC1idWZmZXIiKSxhPXQoImdsLXNoYWRlciIpLGk9dCgiLi9zaGFkZXJzIik7ZnVuY3Rpb24gbyh0LGUscil7dGhpcy5wbG90PXQsdGhpcy52Ym89ZSx0aGlzLnNoYWRlcj1yfXZhciBzLGwsYz1vLnByb3RvdHlwZTtjLmJpbmQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnNoYWRlcjt0aGlzLnZiby5iaW5kKCksdGhpcy5zaGFkZXIuYmluZCgpLHQuYXR0cmlidXRlcy5jb29yZC5wb2ludGVyKCksdC51bmlmb3Jtcy5zY3JlZW5Cb3g9dGhpcy5wbG90LnNjcmVlbkJveH0sYy5kcmF3Qm94PShzPVswLDBdLGw9WzAsMF0sZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT10aGlzLnBsb3Qsbz10aGlzLnNoYWRlcixjPWkuZ2w7c1swXT10LHNbMV09ZSxsWzBdPXIsbFsxXT1uLG8udW5pZm9ybXMubG89cyxvLnVuaWZvcm1zLmhpPWwsby51bmlmb3Jtcy5jb2xvcj1hLGMuZHJhd0FycmF5cyhjLlRSSUFOR0xFX1NUUklQLDAsNCl9KSxjLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLnZiby5kaXNwb3NlKCksdGhpcy5zaGFkZXIuZGlzcG9zZSgpfX0seyIuL3NoYWRlcnMiOjI4NywiZ2wtYnVmZmVyIjoyNDQsImdsLXNoYWRlciI6MzA0fV0sMjg1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10LmdsLHI9bihlKSxpPWEoZSxvLmdyaWRWZXJ0LG8uZ3JpZEZyYWcpLGw9YShlLG8udGlja1ZlcnQsby5ncmlkRnJhZyk7cmV0dXJuIG5ldyBzKHQscixpLGwpfTt2YXIgbj10KCJnbC1idWZmZXIiKSxhPXQoImdsLXNoYWRlciIpLGk9dCgiYmluYXJ5LXNlYXJjaC1ib3VuZHMiKSxvPXQoIi4vc2hhZGVycyIpO2Z1bmN0aW9uIHModCxlLHIsbil7dGhpcy5wbG90PXQsdGhpcy52Ym89ZSx0aGlzLnNoYWRlcj1yLHRoaXMudGlja1NoYWRlcj1uLHRoaXMudGlja3M9W1tdLFtdXX1mdW5jdGlvbiBsKHQsZSl7cmV0dXJuIHQtZX12YXIgYyx1LGgsZixwLGQ9cy5wcm90b3R5cGU7ZC5kcmF3PShjPVswLDBdLHU9WzAsMF0saD1bMCwwXSxmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLnBsb3QsZT10aGlzLnZibyxyPXRoaXMuc2hhZGVyLG49dGhpcy50aWNrcyxhPXQuZ2wsaT10Ll90aWNrQm91bmRzLG89dC5kYXRhQm94LHM9dC52aWV3Qm94LGw9dC5ncmlkTGluZVdpZHRoLGY9dC5ncmlkTGluZUNvbG9yLHA9dC5ncmlkTGluZUVuYWJsZSxkPXQucGl4ZWxSYXRpbyxnPTA7ZzwyOysrZyl7dmFyIHY9aVtnXSxtPWlbZysyXS12LHk9LjUqKG9bZysyXStvW2ddKSx4PW9bZysyXS1vW2ddO3VbZ109MiptL3gsY1tnXT0yKih2LXkpL3h9ci5iaW5kKCksZS5iaW5kKCksci5hdHRyaWJ1dGVzLmRhdGFDb29yZC5wb2ludGVyKCksci51bmlmb3Jtcy5kYXRhU2hpZnQ9YyxyLnVuaWZvcm1zLmRhdGFTY2FsZT11O3ZhciBiPTA7Zm9yKGc9MDtnPDI7KytnKXtoWzBdPWhbMV09MCxoW2ddPTEsci51bmlmb3Jtcy5kYXRhQXhpcz1oLHIudW5pZm9ybXMubGluZVdpZHRoPWxbZ10vKHNbZysyXS1zW2ddKSpkLHIudW5pZm9ybXMuY29sb3I9ZltnXTt2YXIgXz02Km5bZ10ubGVuZ3RoO3BbZ10mJl8mJmEuZHJhd0FycmF5cyhhLlRSSUFOR0xFUyxiLF8pLGIrPV99fSksZC5kcmF3VGlja01hcmtzPWZ1bmN0aW9uKCl7dmFyIHQ9WzAsMF0sZT1bMCwwXSxyPVsxLDBdLG49WzAsMV0sYT1bMCwwXSxvPVswLDBdO3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgcz10aGlzLnBsb3QsYz10aGlzLnZibyx1PXRoaXMudGlja1NoYWRlcixoPXRoaXMudGlja3MsZj1zLmdsLHA9cy5fdGlja0JvdW5kcyxkPXMuZGF0YUJveCxnPXMudmlld0JveCx2PXMucGl4ZWxSYXRpbyxtPXMuc2NyZWVuQm94LHk9bVsyXS1tWzBdLHg9bVszXS1tWzFdLGI9Z1syXS1nWzBdLF89Z1szXS1nWzFdLHc9MDt3PDI7Kyt3KXt2YXIgaz1wW3ddLFQ9cFt3KzJdLWssTT0uNSooZFt3KzJdK2Rbd10pLEE9ZFt3KzJdLWRbd107ZVt3XT0yKlQvQSx0W3ddPTIqKGstTSkvQX1lWzBdKj1iL3ksdFswXSo9Yi95LGVbMV0qPV8veCx0WzFdKj1fL3gsdS5iaW5kKCksYy5iaW5kKCksdS5hdHRyaWJ1dGVzLmRhdGFDb29yZC5wb2ludGVyKCk7dmFyIFM9dS51bmlmb3JtcztTLmRhdGFTaGlmdD10LFMuZGF0YVNjYWxlPWU7dmFyIEU9cy50aWNrTWFya0xlbmd0aCxMPXMudGlja01hcmtXaWR0aCxDPXMudGlja01hcmtDb2xvcixQPTYqaFswXS5sZW5ndGgsTz1NYXRoLm1pbihpLmdlKGhbMF0sKGRbMF0tcFswXSkvKHBbMl0tcFswXSksbCksaFswXS5sZW5ndGgpLHo9TWF0aC5taW4oaS5ndChoWzBdLChkWzJdLXBbMF0pLyhwWzJdLXBbMF0pLGwpLGhbMF0ubGVuZ3RoKSxJPTArNipPLEQ9NipNYXRoLm1heCgwLHotTyksUj1NYXRoLm1pbihpLmdlKGhbMV0sKGRbMV0tcFsxXSkvKHBbM10tcFsxXSksbCksaFsxXS5sZW5ndGgpLEY9TWF0aC5taW4oaS5ndChoWzFdLChkWzNdLXBbMV0pLyhwWzNdLXBbMV0pLGwpLGhbMV0ubGVuZ3RoKSxCPVArNipSLE49NipNYXRoLm1heCgwLEYtUik7YVswXT0yKihnWzBdLUVbMV0pL3ktMSxhWzFdPShnWzNdK2dbMV0pL3gtMSxvWzBdPUVbMV0qdi95LG9bMV09TFsxXSp2L3gsTiYmKFMuY29sb3I9Q1sxXSxTLnRpY2tTY2FsZT1vLFMuZGF0YUF4aXM9bixTLnNjcmVlbk9mZnNldD1hLGYuZHJhd0FycmF5cyhmLlRSSUFOR0xFUyxCLE4pKSxhWzBdPShnWzJdK2dbMF0pL3ktMSxhWzFdPTIqKGdbMV0tRVswXSkveC0xLG9bMF09TFswXSp2L3ksb1sxXT1FWzBdKnYveCxEJiYoUy5jb2xvcj1DWzBdLFMudGlja1NjYWxlPW8sUy5kYXRhQXhpcz1yLFMuc2NyZWVuT2Zmc2V0PWEsZi5kcmF3QXJyYXlzKGYuVFJJQU5HTEVTLEksRCkpLGFbMF09MiooZ1syXStFWzNdKS95LTEsYVsxXT0oZ1szXStnWzFdKS94LTEsb1swXT1FWzNdKnYveSxvWzFdPUxbM10qdi94LE4mJihTLmNvbG9yPUNbM10sUy50aWNrU2NhbGU9byxTLmRhdGFBeGlzPW4sUy5zY3JlZW5PZmZzZXQ9YSxmLmRyYXdBcnJheXMoZi5UUklBTkdMRVMsQixOKSksYVswXT0oZ1syXStnWzBdKS95LTEsYVsxXT0yKihnWzNdK0VbMl0pL3gtMSxvWzBdPUxbMl0qdi95LG9bMV09RVsyXSp2L3gsRCYmKFMuY29sb3I9Q1syXSxTLnRpY2tTY2FsZT1vLFMuZGF0YUF4aXM9cixTLnNjcmVlbk9mZnNldD1hLGYuZHJhd0FycmF5cyhmLlRSSUFOR0xFUyxJLEQpKX19KCksZC51cGRhdGU9KGY9WzEsMSwtMSwtMSwxLC0xXSxwPVsxLC0xLDEsMSwtMSwtMV0sZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQudGlja3Mscj10LmJvdW5kcyxuPW5ldyBGbG9hdDMyQXJyYXkoMTgqKGVbMF0ubGVuZ3RoK2VbMV0ubGVuZ3RoKSksYT0odGhpcy5wbG90Lnplcm9MaW5lRW5hYmxlLDApLGk9W1tdLFtdXSxvPTA7bzwyOysrbylmb3IodmFyIHM9aVtvXSxsPWVbb10sYz1yW29dLHU9cltvKzJdLGg9MDtoPGwubGVuZ3RoOysraCl7dmFyIGQ9KGxbaF0ueC1jKS8odS1jKTtzLnB1c2goZCk7Zm9yKHZhciBnPTA7Zzw2OysrZyluW2ErK109ZCxuW2ErK109ZltnXSxuW2ErK109cFtnXX10aGlzLnRpY2tzPWksdGhpcy52Ym8udXBkYXRlKG4pfSksZC5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy52Ym8uZGlzcG9zZSgpLHRoaXMuc2hhZGVyLmRpc3Bvc2UoKSx0aGlzLnRpY2tTaGFkZXIuZGlzcG9zZSgpfX0seyIuL3NoYWRlcnMiOjI4NywiYmluYXJ5LXNlYXJjaC1ib3VuZHMiOjI4OSwiZ2wtYnVmZmVyIjoyNDQsImdsLXNoYWRlciI6MzA0fV0sMjg2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10LmdsLHI9bihlLFstMSwtMSwtMSwxLDEsLTEsMSwxXSkscz1hKGUsaS5saW5lVmVydCxpLmxpbmVGcmFnKTtyZXR1cm4gbmV3IG8odCxyLHMpfTt2YXIgbj10KCJnbC1idWZmZXIiKSxhPXQoImdsLXNoYWRlciIpLGk9dCgiLi9zaGFkZXJzIik7ZnVuY3Rpb24gbyh0LGUscil7dGhpcy5wbG90PXQsdGhpcy52Ym89ZSx0aGlzLnNoYWRlcj1yfXZhciBzLGwsYz1vLnByb3RvdHlwZTtjLmJpbmQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnNoYWRlcjt0aGlzLnZiby5iaW5kKCksdGhpcy5zaGFkZXIuYmluZCgpLHQuYXR0cmlidXRlcy5jb29yZC5wb2ludGVyKCksdC51bmlmb3Jtcy5zY3JlZW5Cb3g9dGhpcy5wbG90LnNjcmVlbkJveH0sYy5kcmF3TGluZT0ocz1bMCwwXSxsPVswLDBdLGZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt2YXIgbz10aGlzLnBsb3QsYz10aGlzLnNoYWRlcix1PW8uZ2w7c1swXT10LHNbMV09ZSxsWzBdPXIsbFsxXT1uLGMudW5pZm9ybXMuc3RhcnQ9cyxjLnVuaWZvcm1zLmVuZD1sLGMudW5pZm9ybXMud2lkdGg9YSpvLnBpeGVsUmF0aW8sYy51bmlmb3Jtcy5jb2xvcj1pLHUuZHJhd0FycmF5cyh1LlRSSUFOR0xFX1NUUklQLDAsNCl9KSxjLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLnZiby5kaXNwb3NlKCksdGhpcy5zaGFkZXIuZGlzcG9zZSgpfX0seyIuL3NoYWRlcnMiOjI4NywiZ2wtYnVmZmVyIjoyNDQsImdsLXNoYWRlciI6MzA0fV0sMjg3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImdsc2xpZnkiKSxhPW4oWyJwcmVjaXNpb24gbG93cCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG51bmlmb3JtIHZlYzQgY29sb3I7XG52b2lkIG1haW4oKSB7XG4gIGdsX0ZyYWdDb2xvciA9IHZlYzQoY29sb3IueHl6ICogY29sb3IudywgY29sb3Iudyk7XG59XG4iXSk7ZS5leHBvcnRzPXtsaW5lVmVydDpuKFsicHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5hdHRyaWJ1dGUgdmVjMiBjb29yZDtcblxudW5pZm9ybSB2ZWM0IHNjcmVlbkJveDtcbnVuaWZvcm0gdmVjMiBzdGFydCwgZW5kO1xudW5pZm9ybSBmbG9hdCB3aWR0aDtcblxudmVjMiBwZXJwKHZlYzIgdikge1xuICByZXR1cm4gdmVjMih2LnksIC12LngpO1xufVxuXG52ZWMyIHNjcmVlbih2ZWMyIHYpIHtcbiAgcmV0dXJuIDIuMCAqICh2IC0gc2NyZWVuQm94Lnh5KSAvIChzY3JlZW5Cb3guencgLSBzY3JlZW5Cb3gueHkpIC0gMS4wO1xufVxuXG52b2lkIG1haW4oKSB7XG4gIHZlYzIgZGVsdGEgPSBub3JtYWxpemUocGVycChzdGFydCAtIGVuZCkpO1xuICB2ZWMyIG9mZnNldCA9IG1peChzdGFydCwgZW5kLCAwLjUgKiAoY29vcmQueSsxLjApKTtcbiAgZ2xfUG9zaXRpb24gPSB2ZWM0KHNjcmVlbihvZmZzZXQgKyAwLjUgKiB3aWR0aCAqIGRlbHRhICogY29vcmQueCksIDAsIDEpO1xufVxuIl0pLGxpbmVGcmFnOmEsdGV4dFZlcnQ6bihbIiNkZWZpbmUgR0xTTElGWSAxXG5hdHRyaWJ1dGUgdmVjMyB0ZXh0Q29vcmRpbmF0ZTtcblxudW5pZm9ybSB2ZWMyIGRhdGFTY2FsZSwgZGF0YVNoaWZ0LCBkYXRhQXhpcywgc2NyZWVuT2Zmc2V0LCB0ZXh0U2NhbGU7XG51bmlmb3JtIGZsb2F0IGFuZ2xlO1xuXG52b2lkIG1haW4oKSB7XG4gIGZsb2F0IGRhdGFPZmZzZXQgID0gdGV4dENvb3JkaW5hdGUuejtcbiAgdmVjMiBnbHlwaE9mZnNldCAgPSB0ZXh0Q29vcmRpbmF0ZS54eTtcbiAgbWF0MiBnbHlwaE1hdHJpeCA9IG1hdDIoY29zKGFuZ2xlKSwgc2luKGFuZ2xlKSwgLXNpbihhbmdsZSksIGNvcyhhbmdsZSkpO1xuICB2ZWMyIHNjcmVlbkNvb3JkaW5hdGUgPSBkYXRhQXhpcyAqIChkYXRhU2NhbGUgKiBkYXRhT2Zmc2V0ICsgZGF0YVNoaWZ0KSArXG4gICAgZ2x5cGhNYXRyaXggKiBnbHlwaE9mZnNldCAqIHRleHRTY2FsZSArIHNjcmVlbk9mZnNldDtcbiAgZ2xfUG9zaXRpb24gPSB2ZWM0KHNjcmVlbkNvb3JkaW5hdGUsIDAsIDEpO1xufVxuIl0pLHRleHRGcmFnOmEsZ3JpZFZlcnQ6bihbInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzMgZGF0YUNvb3JkO1xuXG51bmlmb3JtIHZlYzIgZGF0YUF4aXMsIGRhdGFTaGlmdCwgZGF0YVNjYWxlO1xudW5pZm9ybSBmbG9hdCBsaW5lV2lkdGg7XG5cbnZvaWQgbWFpbigpIHtcbiAgdmVjMiBwb3MgPSBkYXRhQXhpcyAqIChkYXRhU2NhbGUgKiBkYXRhQ29vcmQueCArIGRhdGFTaGlmdCk7XG4gIHBvcyArPSAxMC4wICogZGF0YUNvb3JkLnkgKiB2ZWMyKGRhdGFBeGlzLnksIC1kYXRhQXhpcy54KSArIGRhdGFDb29yZC56ICogbGluZVdpZHRoO1xuICBnbF9Qb3NpdGlvbiA9IHZlYzQocG9zLCAwLCAxKTtcbn1cbiJdKSxncmlkRnJhZzphLGJveFZlcnQ6bihbInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzIgY29vcmQ7XG5cbnVuaWZvcm0gdmVjNCBzY3JlZW5Cb3g7XG51bmlmb3JtIHZlYzIgbG8sIGhpO1xuXG52ZWMyIHNjcmVlbih2ZWMyIHYpIHtcbiAgcmV0dXJuIDIuMCAqICh2IC0gc2NyZWVuQm94Lnh5KSAvIChzY3JlZW5Cb3guencgLSBzY3JlZW5Cb3gueHkpIC0gMS4wO1xufVxuXG52b2lkIG1haW4oKSB7XG4gIGdsX1Bvc2l0aW9uID0gdmVjNChzY3JlZW4obWl4KGxvLCBoaSwgY29vcmQpKSwgMCwgMSk7XG59XG4iXSksdGlja1ZlcnQ6bihbInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzMgZGF0YUNvb3JkO1xuXG51bmlmb3JtIHZlYzIgZGF0YUF4aXMsIGRhdGFTaGlmdCwgZGF0YVNjYWxlLCBzY3JlZW5PZmZzZXQsIHRpY2tTY2FsZTtcblxudm9pZCBtYWluKCkge1xuICB2ZWMyIHBvcyA9IGRhdGFBeGlzICogKGRhdGFTY2FsZSAqIGRhdGFDb29yZC54ICsgZGF0YVNoaWZ0KTtcbiAgZ2xfUG9zaXRpb24gPSB2ZWM0KHBvcyArIHRpY2tTY2FsZSpkYXRhQ29vcmQueXogKyBzY3JlZW5PZmZzZXQsIDAsIDEpO1xufVxuIl0pfX0se2dsc2xpZnk6NDExfV0sMjg4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10LmdsLHI9bihlKSxpPWEoZSxzLnRleHRWZXJ0LHMudGV4dEZyYWcpO3JldHVybiBuZXcgbCh0LHIsaSl9O3ZhciBuPXQoImdsLWJ1ZmZlciIpLGE9dCgiZ2wtc2hhZGVyIiksaT10KCJ0ZXh0LWNhY2hlIiksbz10KCJiaW5hcnktc2VhcmNoLWJvdW5kcyIpLHM9dCgiLi9zaGFkZXJzIik7ZnVuY3Rpb24gbCh0LGUscil7dGhpcy5wbG90PXQsdGhpcy52Ym89ZSx0aGlzLnNoYWRlcj1yLHRoaXMudGlja09mZnNldD1bW10sW11dLHRoaXMudGlja1g9W1tdLFtdXSx0aGlzLmxhYmVsT2Zmc2V0PVswLDBdLHRoaXMubGFiZWxDb3VudD1bMCwwXX12YXIgYyx1LGgsZixwLGQsZz1sLnByb3RvdHlwZTtnLmRyYXdUaWNrcz0oYz1bMCwwXSx1PVswLDBdLGg9WzAsMF0sZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5wbG90LHI9dGhpcy5zaGFkZXIsbj10aGlzLnRpY2tYW3RdLGE9dGhpcy50aWNrT2Zmc2V0W3RdLGk9ZS5nbCxzPWUudmlld0JveCxsPWUuZGF0YUJveCxmPWUuc2NyZWVuQm94LHA9ZS5waXhlbFJhdGlvLGQ9ZS50aWNrRW5hYmxlLGc9ZS50aWNrUGFkLHY9ZS50aWNrQ29sb3IsbT1lLnRpY2tBbmdsZSx5PWUubGFiZWxFbmFibGUseD1lLmxhYmVsUGFkLGI9ZS5sYWJlbENvbG9yLF89ZS5sYWJlbEFuZ2xlLHc9dGhpcy5sYWJlbE9mZnNldFt0XSxrPXRoaXMubGFiZWxDb3VudFt0XSxUPW8ubHQobixsW3RdKSxNPW8ubGUobixsW3QrMl0pO2NbMF09Y1sxXT0wLGNbdF09MSx1W3RdPShzWzIrdF0rc1t0XSkvKGZbMit0XS1mW3RdKS0xO3ZhciBBPTIvZlsyKygxXnQpXS1mWzFedF07dVsxXnRdPUEqc1sxXnRdLTEsZFt0XSYmKHVbMV50XS09QSpwKmdbdF0sVDxNJiZhW01dPmFbVF0mJihyLnVuaWZvcm1zLmRhdGFBeGlzPWMsci51bmlmb3Jtcy5zY3JlZW5PZmZzZXQ9dSxyLnVuaWZvcm1zLmNvbG9yPXZbdF0sci51bmlmb3Jtcy5hbmdsZT1tW3RdLGkuZHJhd0FycmF5cyhpLlRSSUFOR0xFUyxhW1RdLGFbTV0tYVtUXSkpKSx5W3RdJiZrJiYodVsxXnRdLT1BKnAqeFt0XSxyLnVuaWZvcm1zLmRhdGFBeGlzPWgsci51bmlmb3Jtcy5zY3JlZW5PZmZzZXQ9dSxyLnVuaWZvcm1zLmNvbG9yPWJbdF0sci51bmlmb3Jtcy5hbmdsZT1fW3RdLGkuZHJhd0FycmF5cyhpLlRSSUFOR0xFUyx3LGspKSx1WzFedF09QSpzWzIrKDFedCldLTEsZFt0KzJdJiYodVsxXnRdKz1BKnAqZ1t0KzJdLFQ8TSYmYVtNXT5hW1RdJiYoci51bmlmb3Jtcy5kYXRhQXhpcz1jLHIudW5pZm9ybXMuc2NyZWVuT2Zmc2V0PXUsci51bmlmb3Jtcy5jb2xvcj12W3QrMl0sci51bmlmb3Jtcy5hbmdsZT1tW3QrMl0saS5kcmF3QXJyYXlzKGkuVFJJQU5HTEVTLGFbVF0sYVtNXS1hW1RdKSkpLHlbdCsyXSYmayYmKHVbMV50XSs9QSpwKnhbdCsyXSxyLnVuaWZvcm1zLmRhdGFBeGlzPWgsci51bmlmb3Jtcy5zY3JlZW5PZmZzZXQ9dSxyLnVuaWZvcm1zLmNvbG9yPWJbdCsyXSxyLnVuaWZvcm1zLmFuZ2xlPV9bdCsyXSxpLmRyYXdBcnJheXMoaS5UUklBTkdMRVMsdyxrKSl9KSxnLmRyYXdUaXRsZT1mdW5jdGlvbigpe3ZhciB0PVswLDBdLGU9WzAsMF07cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9dGhpcy5wbG90LG49dGhpcy5zaGFkZXIsYT1yLmdsLGk9ci5zY3JlZW5Cb3gsbz1yLnRpdGxlQ2VudGVyLHM9ci50aXRsZUFuZ2xlLGw9ci50aXRsZUNvbG9yLGM9ci5waXhlbFJhdGlvO2lmKHRoaXMudGl0bGVDb3VudCl7Zm9yKHZhciB1PTA7dTwyOysrdSllW3VdPTIqKG9bdV0qYy1pW3VdKS8oaVsyK3VdLWlbdV0pLTE7bi5iaW5kKCksbi51bmlmb3Jtcy5kYXRhQXhpcz10LG4udW5pZm9ybXMuc2NyZWVuT2Zmc2V0PWUsbi51bmlmb3Jtcy5hbmdsZT1zLG4udW5pZm9ybXMuY29sb3I9bCxhLmRyYXdBcnJheXMoYS5UUklBTkdMRVMsdGhpcy50aXRsZU9mZnNldCx0aGlzLnRpdGxlQ291bnQpfX19KCksZy5iaW5kPShmPVswLDBdLHA9WzAsMF0sZD1bMCwwXSxmdW5jdGlvbigpe3ZhciB0PXRoaXMucGxvdCxlPXRoaXMuc2hhZGVyLHI9dC5fdGlja0JvdW5kcyxuPXQuZGF0YUJveCxhPXQuc2NyZWVuQm94LGk9dC52aWV3Qm94O2UuYmluZCgpO2Zvcih2YXIgbz0wO288MjsrK28pe3ZhciBzPXJbb10sbD1yW28rMl0tcyxjPS41KihuW28rMl0rbltvXSksdT1uW28rMl0tbltvXSxoPWlbb10sZz1pW28rMl0taCx2PWFbb10sbT1hW28rMl0tdjtwW29dPTIqbC91KmcvbSxmW29dPTIqKHMtYykvdSpnL219ZFsxXT0yKnQucGl4ZWxSYXRpby8oYVszXS1hWzFdKSxkWzBdPWRbMV0qKGFbM10tYVsxXSkvKGFbMl0tYVswXSksZS51bmlmb3Jtcy5kYXRhU2NhbGU9cCxlLnVuaWZvcm1zLmRhdGFTaGlmdD1mLGUudW5pZm9ybXMudGV4dFNjYWxlPWQsdGhpcy52Ym8uYmluZCgpLGUuYXR0cmlidXRlcy50ZXh0Q29vcmRpbmF0ZS5wb2ludGVyKCl9KSxnLnVwZGF0ZT1mdW5jdGlvbih0KXt2YXIgZSxyLG4sYSxvLHM9W10sbD10LnRpY2tzLGM9dC5ib3VuZHM7Zm9yKG89MDtvPDI7KytvKXt2YXIgdT1bTWF0aC5mbG9vcihzLmxlbmd0aC8zKV0saD1bLTEvMF0sZj1sW29dO2ZvcihlPTA7ZTxmLmxlbmd0aDsrK2Upe3ZhciBwPWZbZV0sZD1wLngsZz1wLnRleHQsdj1wLmZvbnR8fCJzYW5zLXNlcmlmIjthPXAuZm9udFNpemV8fDEyO2Zvcih2YXIgbT0xLyhjW28rMl0tY1tvXSkseT1jW29dLHg9Zy5zcGxpdCgiXG4iKSxiPTA7Yjx4Lmxlbmd0aDtiKyspZm9yKG49aSh2LHhbYl0pLmRhdGEscj0wO3I8bi5sZW5ndGg7cis9MilzLnB1c2gobltyXSphLC1uW3IrMV0qYS1iKmEqMS4yLChkLXkpKm0pO3UucHVzaChNYXRoLmZsb29yKHMubGVuZ3RoLzMpKSxoLnB1c2goZCl9dGhpcy50aWNrT2Zmc2V0W29dPXUsdGhpcy50aWNrWFtvXT1ofWZvcihvPTA7bzwyOysrbyl7Zm9yKHRoaXMubGFiZWxPZmZzZXRbb109TWF0aC5mbG9vcihzLmxlbmd0aC8zKSxuPWkodC5sYWJlbEZvbnRbb10sdC5sYWJlbHNbb10se3RleHRBbGlnbjoiY2VudGVyIn0pLmRhdGEsYT10LmxhYmVsU2l6ZVtvXSxlPTA7ZTxuLmxlbmd0aDtlKz0yKXMucHVzaChuW2VdKmEsLW5bZSsxXSphLDApO3RoaXMubGFiZWxDb3VudFtvXT1NYXRoLmZsb29yKHMubGVuZ3RoLzMpLXRoaXMubGFiZWxPZmZzZXRbb119Zm9yKHRoaXMudGl0bGVPZmZzZXQ9TWF0aC5mbG9vcihzLmxlbmd0aC8zKSxuPWkodC50aXRsZUZvbnQsdC50aXRsZSkuZGF0YSxhPXQudGl0bGVTaXplLGU9MDtlPG4ubGVuZ3RoO2UrPTIpcy5wdXNoKG5bZV0qYSwtbltlKzFdKmEsMCk7dGhpcy50aXRsZUNvdW50PU1hdGguZmxvb3Iocy5sZW5ndGgvMyktdGhpcy50aXRsZU9mZnNldCx0aGlzLnZiby51cGRhdGUocyl9LGcuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMudmJvLmRpc3Bvc2UoKSx0aGlzLnNoYWRlci5kaXNwb3NlKCl9fSx7Ii4vc2hhZGVycyI6Mjg3LCJiaW5hcnktc2VhcmNoLWJvdW5kcyI6Mjg5LCJnbC1idWZmZXIiOjI0NCwiZ2wtc2hhZGVyIjozMDQsInRleHQtY2FjaGUiOjUzNX1dLDI4OTpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsxMTNdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0se2R1cDoxMTN9XSwyOTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQuZ2wscj1uKGUsW2UuZHJhd2luZ0J1ZmZlcldpZHRoLGUuZHJhd2luZ0J1ZmZlckhlaWdodF0pLGM9bmV3IGwoZSxyKTtyZXR1cm4gYy5ncmlkPWEoYyksYy50ZXh0PWkoYyksYy5saW5lPW8oYyksYy5ib3g9cyhjKSxjLnVwZGF0ZSh0KSxjfTt2YXIgbj10KCJnbC1zZWxlY3Qtc3RhdGljIiksYT10KCIuL2xpYi9ncmlkIiksaT10KCIuL2xpYi90ZXh0Iiksbz10KCIuL2xpYi9saW5lIikscz10KCIuL2xpYi9ib3giKTtmdW5jdGlvbiBsKHQsZSl7dGhpcy5nbD10LHRoaXMucGlja0J1ZmZlcj1lLHRoaXMuc2NyZWVuQm94PVswLDAsdC5kcmF3aW5nQnVmZmVyV2lkdGgsdC5kcmF3aW5nQnVmZmVySGVpZ2h0XSx0aGlzLnZpZXdCb3g9WzAsMCwwLDBdLHRoaXMuZGF0YUJveD1bLTEwLC0xMCwxMCwxMF0sdGhpcy5ncmlkTGluZUVuYWJsZT1bITAsITBdLHRoaXMuZ3JpZExpbmVXaWR0aD1bMSwxXSx0aGlzLmdyaWRMaW5lQ29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMucGl4ZWxSYXRpbz0xLHRoaXMudGlja01hcmtMZW5ndGg9WzAsMCwwLDBdLHRoaXMudGlja01hcmtXaWR0aD1bMCwwLDAsMF0sdGhpcy50aWNrTWFya0NvbG9yPVtbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMudGlja1BhZD1bMTUsMTUsMTUsMTVdLHRoaXMudGlja0FuZ2xlPVswLDAsMCwwXSx0aGlzLnRpY2tFbmFibGU9WyEwLCEwLCEwLCEwXSx0aGlzLnRpY2tDb2xvcj1bWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLmxhYmVsUGFkPVsxNSwxNSwxNSwxNV0sdGhpcy5sYWJlbEFuZ2xlPVswLE1hdGguUEkvMiwwLDMqTWF0aC5QSS8yXSx0aGlzLmxhYmVsRW5hYmxlPVshMCwhMCwhMCwhMF0sdGhpcy5sYWJlbENvbG9yPVtbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMudGl0bGVDZW50ZXI9WzAsMF0sdGhpcy50aXRsZUVuYWJsZT0hMCx0aGlzLnRpdGxlQW5nbGU9MCx0aGlzLnRpdGxlQ29sb3I9WzAsMCwwLDFdLHRoaXMuYm9yZGVyQ29sb3I9WzAsMCwwLDBdLHRoaXMuYmFja2dyb3VuZENvbG9yPVswLDAsMCwwXSx0aGlzLnplcm9MaW5lRW5hYmxlPVshMCwhMF0sdGhpcy56ZXJvTGluZVdpZHRoPVs0LDRdLHRoaXMuemVyb0xpbmVDb2xvcj1bWzAsMCwwLDFdLFswLDAsMCwxXV0sdGhpcy5ib3JkZXJMaW5lRW5hYmxlPVshMCwhMCwhMCwhMF0sdGhpcy5ib3JkZXJMaW5lV2lkdGg9WzIsMiwyLDJdLHRoaXMuYm9yZGVyTGluZUNvbG9yPVtbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMuZ3JpZD1udWxsLHRoaXMudGV4dD1udWxsLHRoaXMubGluZT1udWxsLHRoaXMuYm94PW51bGwsdGhpcy5vYmplY3RzPVtdLHRoaXMub3ZlcmxheXM9W10sdGhpcy5fdGlja0JvdW5kcz1bMS8wLDEvMCwtMS8wLC0xLzBdLHRoaXMuc3RhdGljPSExLHRoaXMuZGlydHk9ITEsdGhpcy5waWNrRGlydHk9ITEsdGhpcy5waWNrRGVsYXk9MTIwLHRoaXMucGlja1JhZGl1cz0xMCx0aGlzLl9waWNrVGltZW91dD1udWxsLHRoaXMuX2RyYXdQaWNrPXRoaXMuZHJhd1BpY2suYmluZCh0aGlzKSx0aGlzLl9kZXB0aENvdW50ZXI9MH12YXIgYz1sLnByb3RvdHlwZTtmdW5jdGlvbiB1KHQpe2Zvcih2YXIgZT10LnNsaWNlKCkscj0wO3I8ZS5sZW5ndGg7KytyKWVbcl09ZVtyXS5zbGljZSgpO3JldHVybiBlfWZ1bmN0aW9uIGgodCxlKXtyZXR1cm4gdC54LWUueH1jLnNldERpcnR5PWZ1bmN0aW9uKCl7dGhpcy5kaXJ0eT10aGlzLnBpY2tEaXJ0eT0hMH0sYy5zZXRPdmVybGF5RGlydHk9ZnVuY3Rpb24oKXt0aGlzLmRpcnR5PSEwfSxjLm5leHREZXB0aFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RlcHRoQ291bnRlcisrLzY1NTM2fSxjLmRyYXc9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdsLGU9dGhpcy5zY3JlZW5Cb3gscj10aGlzLnZpZXdCb3gsbj10aGlzLmRhdGFCb3gsYT10aGlzLnBpeGVsUmF0aW8saT10aGlzLmdyaWQsbz10aGlzLmxpbmUscz10aGlzLnRleHQsbD10aGlzLm9iamVjdHM7aWYodGhpcy5fZGVwdGhDb3VudGVyPTAsdGhpcy5waWNrRGlydHkmJih0aGlzLl9waWNrVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuX3BpY2tUaW1lb3V0KSx0aGlzLnBpY2tEaXJ0eT0hMSx0aGlzLl9waWNrVGltZW91dD1zZXRUaW1lb3V0KHRoaXMuX2RyYXdQaWNrLHRoaXMucGlja0RlbGF5KSksdGhpcy5kaXJ0eSl7aWYodGhpcy5kaXJ0eT0hMSx0LmJpbmRGcmFtZWJ1ZmZlcih0LkZSQU1FQlVGRkVSLG51bGwpLHQuZW5hYmxlKHQuU0NJU1NPUl9URVNUKSx0LmRpc2FibGUodC5ERVBUSF9URVNUKSx0LmRlcHRoRnVuYyh0LkxFU1MpLHQuZGVwdGhNYXNrKCExKSx0LmVuYWJsZSh0LkJMRU5EKSx0LmJsZW5kRXF1YXRpb24odC5GVU5DX0FERCx0LkZVTkNfQUREKSx0LmJsZW5kRnVuYyh0Lk9ORSx0Lk9ORV9NSU5VU19TUkNfQUxQSEEpLHRoaXMuYm9yZGVyQ29sb3Ipe3Quc2Npc3NvcihlWzBdLGVbMV0sZVsyXS1lWzBdLGVbM10tZVsxXSk7dmFyIGM9dGhpcy5ib3JkZXJDb2xvcjt0LmNsZWFyQ29sb3IoY1swXSpjWzNdLGNbMV0qY1szXSxjWzJdKmNbM10sY1szXSksdC5jbGVhcih0LkNPTE9SX0JVRkZFUl9CSVR8dC5ERVBUSF9CVUZGRVJfQklUKX10LnNjaXNzb3IoclswXSxyWzFdLHJbMl0tclswXSxyWzNdLXJbMV0pLHQudmlld3BvcnQoclswXSxyWzFdLHJbMl0tclswXSxyWzNdLXJbMV0pO3ZhciB1PXRoaXMuYmFja2dyb3VuZENvbG9yO3QuY2xlYXJDb2xvcih1WzBdKnVbM10sdVsxXSp1WzNdLHVbMl0qdVszXSx1WzNdKSx0LmNsZWFyKHQuQ09MT1JfQlVGRkVSX0JJVCksaS5kcmF3KCk7dmFyIGg9dGhpcy56ZXJvTGluZUVuYWJsZSxmPXRoaXMuemVyb0xpbmVDb2xvcixwPXRoaXMuemVyb0xpbmVXaWR0aDtpZihoWzBdfHxoWzFdKXtvLmJpbmQoKTtmb3IodmFyIGQ9MDtkPDI7KytkKWlmKGhbZF0mJm5bZF08PTAmJm5bZCsyXT49MCl7dmFyIGc9ZVtkXS1uW2RdKihlW2QrMl0tZVtkXSkvKG5bZCsyXS1uW2RdKTswPT09ZD9vLmRyYXdMaW5lKGcsZVsxXSxnLGVbM10scFtkXSxmW2RdKTpvLmRyYXdMaW5lKGVbMF0sZyxlWzJdLGcscFtkXSxmW2RdKX19Zm9yKGQ9MDtkPGwubGVuZ3RoOysrZClsW2RdLmRyYXcoKTt0LnZpZXdwb3J0KGVbMF0sZVsxXSxlWzJdLWVbMF0sZVszXS1lWzFdKSx0LnNjaXNzb3IoZVswXSxlWzFdLGVbMl0tZVswXSxlWzNdLWVbMV0pLHRoaXMuZ3JpZC5kcmF3VGlja01hcmtzKCksby5iaW5kKCk7dmFyIHY9dGhpcy5ib3JkZXJMaW5lRW5hYmxlLG09dGhpcy5ib3JkZXJMaW5lV2lkdGgseT10aGlzLmJvcmRlckxpbmVDb2xvcjtmb3IodlsxXSYmby5kcmF3TGluZShyWzBdLHJbMV0tLjUqbVsxXSphLHJbMF0sclszXSsuNSptWzNdKmEsbVsxXSx5WzFdKSx2WzBdJiZvLmRyYXdMaW5lKHJbMF0tLjUqbVswXSphLHJbMV0sclsyXSsuNSptWzJdKmEsclsxXSxtWzBdLHlbMF0pLHZbM10mJm8uZHJhd0xpbmUoclsyXSxyWzFdLS41Km1bMV0qYSxyWzJdLHJbM10rLjUqbVszXSphLG1bM10seVszXSksdlsyXSYmby5kcmF3TGluZShyWzBdLS41Km1bMF0qYSxyWzNdLHJbMl0rLjUqbVsyXSphLHJbM10sbVsyXSx5WzJdKSxzLmJpbmQoKSxkPTA7ZDwyOysrZClzLmRyYXdUaWNrcyhkKTt0aGlzLnRpdGxlRW5hYmxlJiZzLmRyYXdUaXRsZSgpO3ZhciB4PXRoaXMub3ZlcmxheXM7Zm9yKGQ9MDtkPHgubGVuZ3RoOysrZCl4W2RdLmRyYXcoKTt0LmRpc2FibGUodC5TQ0lTU09SX1RFU1QpLHQuZGlzYWJsZSh0LkJMRU5EKSx0LmRlcHRoTWFzayghMCl9fSxjLmRyYXdQaWNrPWZ1bmN0aW9uKCl7aWYoIXRoaXMuc3RhdGljKXt2YXIgdD10aGlzLnBpY2tCdWZmZXI7dGhpcy5nbCx0aGlzLl9waWNrVGltZW91dD1udWxsLHQuYmVnaW4oKTtmb3IodmFyIGU9MSxyPXRoaXMub2JqZWN0cyxuPTA7bjxyLmxlbmd0aDsrK24pZT1yW25dLmRyYXdQaWNrKGUpO3QuZW5kKCl9fSxjLnBpY2s9ZnVuY3Rpb24odCxlKXtpZighdGhpcy5zdGF0aWMpe3ZhciByPXRoaXMucGl4ZWxSYXRpbyxuPXRoaXMucGlja1BpeGVsUmF0aW8sYT10aGlzLnZpZXdCb3gsaT0wfE1hdGgucm91bmQoKHQtYVswXS9yKSpuKSxvPTB8TWF0aC5yb3VuZCgoZS1hWzFdL3IpKm4pLHM9dGhpcy5waWNrQnVmZmVyLnF1ZXJ5KGksbyx0aGlzLnBpY2tSYWRpdXMpO2lmKCFzKXJldHVybiBudWxsO2Zvcih2YXIgbD1zLmlkKyhzLnZhbHVlWzBdPDw4KSsocy52YWx1ZVsxXTw8MTYpKyhzLnZhbHVlWzJdPDwyNCksYz10aGlzLm9iamVjdHMsdT0wO3U8Yy5sZW5ndGg7Kyt1KXt2YXIgaD1jW3VdLnBpY2soaSxvLGwpO2lmKGgpcmV0dXJuIGh9cmV0dXJuIG51bGx9fSxjLnNldFNjcmVlbkJveD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnNjcmVlbkJveCxyPXRoaXMucGl4ZWxSYXRpbztlWzBdPTB8TWF0aC5yb3VuZCh0WzBdKnIpLGVbMV09MHxNYXRoLnJvdW5kKHRbMV0qciksZVsyXT0wfE1hdGgucm91bmQodFsyXSpyKSxlWzNdPTB8TWF0aC5yb3VuZCh0WzNdKnIpLHRoaXMuc2V0RGlydHkoKX0sYy5zZXREYXRhQm94PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZGF0YUJveDsoZVswXSE9PXRbMF18fGVbMV0hPT10WzFdfHxlWzJdIT09dFsyXXx8ZVszXSE9PXRbM10pJiYoZVswXT10WzBdLGVbMV09dFsxXSxlWzJdPXRbMl0sZVszXT10WzNdLHRoaXMuc2V0RGlydHkoKSl9LGMuc2V0Vmlld0JveD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnBpeGVsUmF0aW8scj10aGlzLnZpZXdCb3g7clswXT0wfE1hdGgucm91bmQodFswXSplKSxyWzFdPTB8TWF0aC5yb3VuZCh0WzFdKmUpLHJbMl09MHxNYXRoLnJvdW5kKHRbMl0qZSksclszXT0wfE1hdGgucm91bmQodFszXSplKTt2YXIgbj10aGlzLnBpY2tQaXhlbFJhdGlvO3RoaXMucGlja0J1ZmZlci5zaGFwZT1bMHxNYXRoLnJvdW5kKCh0WzJdLXRbMF0pKm4pLDB8TWF0aC5yb3VuZCgodFszXS10WzFdKSpuKV0sdGhpcy5zZXREaXJ0eSgpfSxjLnVwZGF0ZT1mdW5jdGlvbih0KXt0PXR8fHt9O3ZhciBlPXRoaXMuZ2w7dGhpcy5waXhlbFJhdGlvPXQucGl4ZWxSYXRpb3x8MTt2YXIgcj10aGlzLnBpeGVsUmF0aW87dGhpcy5waWNrUGl4ZWxSYXRpbz1NYXRoLm1heChyLDEpLHRoaXMuc2V0U2NyZWVuQm94KHQuc2NyZWVuQm94fHxbMCwwLGUuZHJhd2luZ0J1ZmZlcldpZHRoL3IsZS5kcmF3aW5nQnVmZmVySGVpZ2h0L3JdKTt0aGlzLnNjcmVlbkJveDt0aGlzLnNldFZpZXdCb3godC52aWV3Qm94fHxbLjEyNSoodGhpcy5zY3JlZW5Cb3hbMl0tdGhpcy5zY3JlZW5Cb3hbMF0pL3IsLjEyNSoodGhpcy5zY3JlZW5Cb3hbM10tdGhpcy5zY3JlZW5Cb3hbMV0pL3IsLjg3NSoodGhpcy5zY3JlZW5Cb3hbMl0tdGhpcy5zY3JlZW5Cb3hbMF0pL3IsLjg3NSoodGhpcy5zY3JlZW5Cb3hbM10tdGhpcy5zY3JlZW5Cb3hbMV0pL3JdKTt2YXIgbj10aGlzLnZpZXdCb3gsYT0oblsyXS1uWzBdKS8oblszXS1uWzFdKTt0aGlzLnNldERhdGFCb3godC5kYXRhQm94fHxbLTEwLC0xMC9hLDEwLDEwL2FdKSx0aGlzLmJvcmRlckNvbG9yPSExIT09dC5ib3JkZXJDb2xvciYmKHQuYm9yZGVyQ29sb3J8fFswLDAsMCwwXSkuc2xpY2UoKSx0aGlzLmJhY2tncm91bmRDb2xvcj0odC5iYWNrZ3JvdW5kQ29sb3J8fFswLDAsMCwwXSkuc2xpY2UoKSx0aGlzLmdyaWRMaW5lRW5hYmxlPSh0LmdyaWRMaW5lRW5hYmxlfHxbITAsITBdKS5zbGljZSgpLHRoaXMuZ3JpZExpbmVXaWR0aD0odC5ncmlkTGluZVdpZHRofHxbMSwxXSkuc2xpY2UoKSx0aGlzLmdyaWRMaW5lQ29sb3I9dSh0LmdyaWRMaW5lQ29sb3J8fFtbLjUsLjUsLjUsMV0sWy41LC41LC41LDFdXSksdGhpcy56ZXJvTGluZUVuYWJsZT0odC56ZXJvTGluZUVuYWJsZXx8WyEwLCEwXSkuc2xpY2UoKSx0aGlzLnplcm9MaW5lV2lkdGg9KHQuemVyb0xpbmVXaWR0aHx8WzQsNF0pLnNsaWNlKCksdGhpcy56ZXJvTGluZUNvbG9yPXUodC56ZXJvTGluZUNvbG9yfHxbWzAsMCwwLDFdLFswLDAsMCwxXV0pLHRoaXMudGlja01hcmtMZW5ndGg9KHQudGlja01hcmtMZW5ndGh8fFswLDAsMCwwXSkuc2xpY2UoKSx0aGlzLnRpY2tNYXJrV2lkdGg9KHQudGlja01hcmtXaWR0aHx8WzAsMCwwLDBdKS5zbGljZSgpLHRoaXMudGlja01hcmtDb2xvcj11KHQudGlja01hcmtDb2xvcnx8W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXV0pLHRoaXMudGl0bGVDZW50ZXI9KHQudGl0bGVDZW50ZXJ8fFsuNSooblswXStuWzJdKS9yLChuWzNdKzEyMCkvcl0pLnNsaWNlKCksdGhpcy50aXRsZUVuYWJsZT0hKCJ0aXRsZUVuYWJsZSJpbiB0JiYhdC50aXRsZUVuYWJsZSksdGhpcy50aXRsZUFuZ2xlPXQudGl0bGVBbmdsZXx8MCx0aGlzLnRpdGxlQ29sb3I9KHQudGl0bGVDb2xvcnx8WzAsMCwwLDFdKS5zbGljZSgpLHRoaXMubGFiZWxQYWQ9KHQubGFiZWxQYWR8fFsxNSwxNSwxNSwxNV0pLnNsaWNlKCksdGhpcy5sYWJlbEFuZ2xlPSh0LmxhYmVsQW5nbGV8fFswLE1hdGguUEkvMiwwLDMqTWF0aC5QSS8yXSkuc2xpY2UoKSx0aGlzLmxhYmVsRW5hYmxlPSh0LmxhYmVsRW5hYmxlfHxbITAsITAsITAsITBdKS5zbGljZSgpLHRoaXMubGFiZWxDb2xvcj11KHQubGFiZWxDb2xvcnx8W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXV0pLHRoaXMudGlja1BhZD0odC50aWNrUGFkfHxbMTUsMTUsMTUsMTVdKS5zbGljZSgpLHRoaXMudGlja0FuZ2xlPSh0LnRpY2tBbmdsZXx8WzAsMCwwLDBdKS5zbGljZSgpLHRoaXMudGlja0VuYWJsZT0odC50aWNrRW5hYmxlfHxbITAsITAsITAsITBdKS5zbGljZSgpLHRoaXMudGlja0NvbG9yPXUodC50aWNrQ29sb3J8fFtbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dKSx0aGlzLmJvcmRlckxpbmVFbmFibGU9KHQuYm9yZGVyTGluZUVuYWJsZXx8WyEwLCEwLCEwLCEwXSkuc2xpY2UoKSx0aGlzLmJvcmRlckxpbmVXaWR0aD0odC5ib3JkZXJMaW5lV2lkdGh8fFsyLDIsMiwyXSkuc2xpY2UoKSx0aGlzLmJvcmRlckxpbmVDb2xvcj11KHQuYm9yZGVyTGluZUNvbG9yfHxbWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSk7dmFyIGk9dC50aWNrc3x8W1tdLFtdXSxvPXRoaXMuX3RpY2tCb3VuZHM7b1swXT1vWzFdPTEvMCxvWzJdPW9bM109LTEvMDtmb3IodmFyIHM9MDtzPDI7KytzKXt2YXIgbD1pW3NdLnNsaWNlKDApOzAhPT1sLmxlbmd0aCYmKGwuc29ydChoKSxvW3NdPU1hdGgubWluKG9bc10sbFswXS54KSxvW3MrMl09TWF0aC5tYXgob1tzKzJdLGxbbC5sZW5ndGgtMV0ueCkpfXRoaXMuZ3JpZC51cGRhdGUoe2JvdW5kczpvLHRpY2tzOml9KSx0aGlzLnRleHQudXBkYXRlKHtib3VuZHM6byx0aWNrczppLGxhYmVsczp0LmxhYmVsc3x8WyJ4IiwieSJdLGxhYmVsU2l6ZTp0LmxhYmVsU2l6ZXx8WzEyLDEyXSxsYWJlbEZvbnQ6dC5sYWJlbEZvbnR8fFsic2Fucy1zZXJpZiIsInNhbnMtc2VyaWYiXSx0aXRsZTp0LnRpdGxlfHwiIix0aXRsZVNpemU6dC50aXRsZVNpemV8fDE4LHRpdGxlRm9udDp0LnRpdGxlRm9udHx8InNhbnMtc2VyaWYifSksdGhpcy5zdGF0aWM9ISF0LnN0YXRpYyx0aGlzLnNldERpcnR5KCl9LGMuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuYm94LmRpc3Bvc2UoKSx0aGlzLmdyaWQuZGlzcG9zZSgpLHRoaXMudGV4dC5kaXNwb3NlKCksdGhpcy5saW5lLmRpc3Bvc2UoKTtmb3IodmFyIHQ9dGhpcy5vYmplY3RzLmxlbmd0aC0xO3Q+PTA7LS10KXRoaXMub2JqZWN0c1t0XS5kaXNwb3NlKCk7dGhpcy5vYmplY3RzLmxlbmd0aD0wO2Zvcih0PXRoaXMub3ZlcmxheXMubGVuZ3RoLTE7dD49MDstLXQpdGhpcy5vdmVybGF5c1t0XS5kaXNwb3NlKCk7dGhpcy5vdmVybGF5cy5sZW5ndGg9MCx0aGlzLmdsPW51bGx9LGMuYWRkT2JqZWN0PWZ1bmN0aW9uKHQpe3RoaXMub2JqZWN0cy5pbmRleE9mKHQpPDAmJih0aGlzLm9iamVjdHMucHVzaCh0KSx0aGlzLnNldERpcnR5KCkpfSxjLnJlbW92ZU9iamVjdD1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5vYmplY3RzLHI9MDtyPGUubGVuZ3RoOysrcilpZihlW3JdPT09dCl7ZS5zcGxpY2UociwxKSx0aGlzLnNldERpcnR5KCk7YnJlYWt9fSxjLmFkZE92ZXJsYXk9ZnVuY3Rpb24odCl7dGhpcy5vdmVybGF5cy5pbmRleE9mKHQpPDAmJih0aGlzLm92ZXJsYXlzLnB1c2godCksdGhpcy5zZXRPdmVybGF5RGlydHkoKSl9LGMucmVtb3ZlT3ZlcmxheT1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5vdmVybGF5cyxyPTA7cjxlLmxlbmd0aDsrK3IpaWYoZVtyXT09PXQpe2Uuc3BsaWNlKHIsMSksdGhpcy5zZXRPdmVybGF5RGlydHkoKTticmVha319fSx7Ii4vbGliL2JveCI6Mjg0LCIuL2xpYi9ncmlkIjoyODUsIi4vbGliL2xpbmUiOjI4NiwiLi9saWIvdGV4dCI6Mjg4LCJnbC1zZWxlY3Qtc3RhdGljIjozMDN9XSwyOTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dD10fHxkb2N1bWVudC5ib2R5LGU9ZXx8e307dmFyIHI9Wy4wMSwxLzBdOyJkaXN0YW5jZUxpbWl0cyJpbiBlJiYoclswXT1lLmRpc3RhbmNlTGltaXRzWzBdLHJbMV09ZS5kaXN0YW5jZUxpbWl0c1sxXSk7Inpvb21NaW4iaW4gZSYmKHJbMF09ZS56b29tTWluKTsiem9vbU1heCJpbiBlJiYoclsxXT1lLnpvb21NYXgpO3ZhciBjPWEoe2NlbnRlcjplLmNlbnRlcnx8WzAsMCwwXSx1cDplLnVwfHxbMCwxLDBdLGV5ZTplLmV5ZXx8WzAsMCwxMF0sbW9kZTplLm1vZGV8fCJvcmJpdCIsZGlzdGFuY2VMaW1pdHM6cn0pLHU9WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdLGg9MCxmPXQuY2xpZW50V2lkdGgscD10LmNsaWVudEhlaWdodCxkPXtrZXlCaW5kaW5nTW9kZToicm90YXRlIixlbmFibGVXaGVlbDohMCx2aWV3OmMsZWxlbWVudDp0LGRlbGF5OmUuZGVsYXl8fDE2LHJvdGF0ZVNwZWVkOmUucm90YXRlU3BlZWR8fDEsem9vbVNwZWVkOmUuem9vbVNwZWVkfHwxLHRyYW5zbGF0ZVNwZWVkOmUudHJhbnNsYXRlU3BlZWR8fDEsZmxpcFg6ISFlLmZsaXBYLGZsaXBZOiEhZS5mbGlwWSxtb2RlczpjLm1vZGVzLF9vcnRobzplLl9vcnRob3x8ZS5wcm9qZWN0aW9uJiYib3J0aG9ncmFwaGljIj09PWUucHJvamVjdGlvbi50eXBlfHwhMSx0aWNrOmZ1bmN0aW9uKCl7dmFyIGU9bigpLHI9dGhpcy5kZWxheSxhPWUtMipyO2MuaWRsZShlLXIpLGMucmVjYWxjTWF0cml4KGEpLGMuZmx1c2goZS0oMTAwKzIqcikpO2Zvcih2YXIgaT0hMCxvPWMuY29tcHV0ZWRNYXRyaXgscz0wO3M8MTY7KytzKWk9aSYmdVtzXT09PW9bc10sdVtzXT1vW3NdO3ZhciBsPXQuY2xpZW50V2lkdGg9PT1mJiZ0LmNsaWVudEhlaWdodD09PXA7cmV0dXJuIGY9dC5jbGllbnRXaWR0aCxwPXQuY2xpZW50SGVpZ2h0LGk/IWw6KGg9TWF0aC5leHAoYy5jb21wdXRlZFJhZGl1c1swXSksITApfSxsb29rQXQ6ZnVuY3Rpb24odCxlLHIpe2MubG9va0F0KGMubGFzdFQoKSx0LGUscil9LHJvdGF0ZTpmdW5jdGlvbih0LGUscil7Yy5yb3RhdGUoYy5sYXN0VCgpLHQsZSxyKX0scGFuOmZ1bmN0aW9uKHQsZSxyKXtjLnBhbihjLmxhc3RUKCksdCxlLHIpfSx0cmFuc2xhdGU6ZnVuY3Rpb24odCxlLHIpe2MudHJhbnNsYXRlKGMubGFzdFQoKSx0LGUscil9fTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZCx7bWF0cml4OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYy5jb21wdXRlZE1hdHJpeH0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBjLnNldE1hdHJpeChjLmxhc3RUKCksdCksYy5jb21wdXRlZE1hdHJpeH0sZW51bWVyYWJsZTohMH0sbW9kZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGMuZ2V0TW9kZSgpfSxzZXQ6ZnVuY3Rpb24odCl7dmFyIGU9Yy5jb21wdXRlZFVwLnNsaWNlKCkscj1jLmNvbXB1dGVkRXllLnNsaWNlKCksYT1jLmNvbXB1dGVkQ2VudGVyLnNsaWNlKCk7aWYoYy5zZXRNb2RlKHQpLCJ0dXJudGFibGUiPT09dCl7dmFyIGk9bigpO2MuX2FjdGl2ZS5sb29rQXQoaSxyLGEsZSksYy5fYWN0aXZlLmxvb2tBdChpKzUwMCxyLGEsWzAsMCwxXSksYy5fYWN0aXZlLmZsdXNoKGkpfXJldHVybiBjLmdldE1vZGUoKX0sZW51bWVyYWJsZTohMH0sY2VudGVyOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYy5jb21wdXRlZENlbnRlcn0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBjLmxvb2tBdChjLmxhc3RUKCksbnVsbCx0KSxjLmNvbXB1dGVkQ2VudGVyfSxlbnVtZXJhYmxlOiEwfSxleWU6e2dldDpmdW5jdGlvbigpe3JldHVybiBjLmNvbXB1dGVkRXllfSxzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIGMubG9va0F0KGMubGFzdFQoKSx0KSxjLmNvbXB1dGVkRXllfSxlbnVtZXJhYmxlOiEwfSx1cDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGMuY29tcHV0ZWRVcH0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBjLmxvb2tBdChjLmxhc3RUKCksbnVsbCxudWxsLHQpLGMuY29tcHV0ZWRVcH0sZW51bWVyYWJsZTohMH0sZGlzdGFuY2U6e2dldDpmdW5jdGlvbigpe3JldHVybiBofSxzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIGMuc2V0RGlzdGFuY2UoYy5sYXN0VCgpLHQpLHR9LGVudW1lcmFibGU6ITB9LGRpc3RhbmNlTGltaXRzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYy5nZXREaXN0YW5jZUxpbWl0cyhyKX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBjLnNldERpc3RhbmNlTGltaXRzKHQpLHR9LGVudW1lcmFibGU6ITB9fSksdC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsZnVuY3Rpb24odCl7cmV0dXJuIHQucHJldmVudERlZmF1bHQoKSwhMX0pLGQuX2xhc3RYPS0xLGQuX2xhc3RZPS0xLGQuX2xhc3RNb2RzPXtzaGlmdDohMSxjb250cm9sOiExLGFsdDohMSxtZXRhOiExfSxkLmVuYWJsZU1vdXNlTGlzdGVuZXJzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHIsYSxpKXt2YXIgbz1kLmtleUJpbmRpbmdNb2RlO2lmKCExIT09byl7dmFyIHM9InJvdGF0ZSI9PT1vLGw9InBhbiI9PT1vLHU9Inpvb20iPT09byxmPSEhaS5jb250cm9sLHA9ISFpLmFsdCxnPSEhaS5zaGlmdCx2PSEhKDEmZSksbT0hISgyJmUpLHk9ISEoNCZlKSx4PTEvdC5jbGllbnRIZWlnaHQsYj14KihyLWQuX2xhc3RYKSxfPXgqKGEtZC5fbGFzdFkpLHc9ZC5mbGlwWD8xOi0xLGs9ZC5mbGlwWT8xOi0xLFQ9TWF0aC5QSSpkLnJvdGF0ZVNwZWVkLE09bigpO2lmKC0xIT09ZC5fbGFzdFgmJi0xIT09ZC5fbGFzdFkmJigocyYmdiYmIWYmJiFwJiYhZ3x8diYmIWYmJiFwJiZnKSYmYy5yb3RhdGUoTSx3KlQqYiwtaypUKl8sMCksKGwmJnYmJiFmJiYhcCYmIWd8fG18fHYmJmYmJiFwJiYhZykmJmMucGFuKE0sLWQudHJhbnNsYXRlU3BlZWQqYipoLGQudHJhbnNsYXRlU3BlZWQqXypoLDApLHUmJnYmJiFmJiYhcCYmIWd8fHl8fHYmJiFmJiZwJiYhZykpe3ZhciBBPS1kLnpvb21TcGVlZCpfL3dpbmRvdy5pbm5lckhlaWdodCooTS1jLmxhc3RUKCkpKjEwMDtjLnBhbihNLDAsMCxoKihNYXRoLmV4cChBKS0xKSl9cmV0dXJuIGQuX2xhc3RYPXIsZC5fbGFzdFk9YSxkLl9sYXN0TW9kcz1pLCEwfX1kLm1vdXNlTGlzdGVuZXI9aSh0LGUpLHQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZnVuY3Rpb24ocil7dmFyIG49cyhyLmNoYW5nZWRUb3VjaGVzWzBdLHQpO2UoMCxuWzBdLG5bMV0sZC5fbGFzdE1vZHMpLGUoMSxuWzBdLG5bMV0sZC5fbGFzdE1vZHMpLHIucHJldmVudERlZmF1bHQoKX0sISFsJiZ7cGFzc2l2ZTohMX0pLHQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixmdW5jdGlvbihyKXt2YXIgbj1zKHIuY2hhbmdlZFRvdWNoZXNbMF0sdCk7ZSgxLG5bMF0sblsxXSxkLl9sYXN0TW9kcyksci5wcmV2ZW50RGVmYXVsdCgpfSwhIWwmJntwYXNzaXZlOiExfSksdC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsZnVuY3Rpb24odCl7ZSgwLGQuX2xhc3RYLGQuX2xhc3RZLGQuX2xhc3RNb2RzKSx0LnByZXZlbnREZWZhdWx0KCl9LCEhbCYme3Bhc3NpdmU6ITF9KSxkLndoZWVsTGlzdGVuZXI9byh0LGZ1bmN0aW9uKHQsZSl7aWYoITEhPT1kLmtleUJpbmRpbmdNb2RlJiZkLmVuYWJsZVdoZWVsKXt2YXIgcj1kLmZsaXBYPzE6LTEsYT1kLmZsaXBZPzE6LTEsaT1uKCk7aWYoTWF0aC5hYnModCk+TWF0aC5hYnMoZSkpYy5yb3RhdGUoaSwwLDAsLXQqcipNYXRoLlBJKmQucm90YXRlU3BlZWQvd2luZG93LmlubmVyV2lkdGgpO2Vsc2UgaWYoIWQuX29ydGhvKXt2YXIgbz0tZC56b29tU3BlZWQqYSplL3dpbmRvdy5pbm5lckhlaWdodCooaS1jLmxhc3RUKCkpLzIwO2MucGFuKGksMCwwLGgqKE1hdGguZXhwKG8pLTEpKX19fSwhMCl9LGQuZW5hYmxlTW91c2VMaXN0ZW5lcnMoKSxkfTt2YXIgbj10KCJyaWdodC1ub3ciKSxhPXQoIjNkLXZpZXciKSxpPXQoIm1vdXNlLWNoYW5nZSIpLG89dCgibW91c2Utd2hlZWwiKSxzPXQoIm1vdXNlLWV2ZW50LW9mZnNldCIpLGw9dCgiaGFzLXBhc3NpdmUtZXZlbnRzIil9LHsiM2QtdmlldyI6NTQsImhhcy1wYXNzaXZlLWV2ZW50cyI6NDEzLCJtb3VzZS1jaGFuZ2UiOjQzNywibW91c2UtZXZlbnQtb2Zmc2V0Ijo0MzgsIm1vdXNlLXdoZWVsIjo0NDAsInJpZ2h0LW5vdyI6NTAzfV0sMjkyOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiZ2xzbGlmeSIpLGE9dCgiZ2wtc2hhZGVyIiksaT1uKFsicHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuYXR0cmlidXRlIHZlYzIgcG9zaXRpb247XG52YXJ5aW5nIHZlYzIgdXY7XG52b2lkIG1haW4oKSB7XG4gIHV2ID0gcG9zaXRpb247XG4gIGdsX1Bvc2l0aW9uID0gdmVjNChwb3NpdGlvbiwgMCwgMSk7XG59Il0pLG89bihbInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxudW5pZm9ybSBzYW1wbGVyMkQgYWNjdW1CdWZmZXI7XG52YXJ5aW5nIHZlYzIgdXY7XG5cbnZvaWQgbWFpbigpIHtcbiAgdmVjNCBhY2N1bSA9IHRleHR1cmUyRChhY2N1bUJ1ZmZlciwgMC41ICogKHV2ICsgMS4wKSk7XG4gIGdsX0ZyYWdDb2xvciA9IG1pbih2ZWM0KDEsMSwxLDEpLCBhY2N1bSk7XG59Il0pO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gYSh0LGksbyxudWxsLFt7bmFtZToicG9zaXRpb24iLHR5cGU6InZlYzIifV0pfX0seyJnbC1zaGFkZXIiOjMwNCxnbHNsaWZ5OjQxMX1dLDI5MzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCIuL2NhbWVyYS5qcyIpLGE9dCgiZ2wtYXhlczNkIiksaT10KCJnbC1heGVzM2QvcHJvcGVydGllcyIpLG89dCgiZ2wtc3Bpa2VzM2QiKSxzPXQoImdsLXNlbGVjdC1zdGF0aWMiKSxsPXQoImdsLWZibyIpLGM9dCgiYS1iaWctdHJpYW5nbGUiKSx1PXQoIm1vdXNlLWNoYW5nZSIpLGg9dCgiZ2wtbWF0NC9wZXJzcGVjdGl2ZSIpLGY9dCgiZ2wtbWF0NC9vcnRobyIpLHA9dCgiLi9saWIvc2hhZGVyIiksZD10KCJpcy1tb2JpbGUiKSh7dGFibGV0OiEwfSk7ZnVuY3Rpb24gZygpe3RoaXMubW91c2U9Wy0xLC0xXSx0aGlzLnNjcmVlbj1udWxsLHRoaXMuZGlzdGFuY2U9MS8wLHRoaXMuaW5kZXg9bnVsbCx0aGlzLmRhdGFDb29yZGluYXRlPW51bGwsdGhpcy5kYXRhUG9zaXRpb249bnVsbCx0aGlzLm9iamVjdD1udWxsLHRoaXMuZGF0YT1udWxsfWZ1bmN0aW9uIHYodCl7dmFyIGU9TWF0aC5yb3VuZChNYXRoLmxvZyhNYXRoLmFicyh0KSkvTWF0aC5sb2coMTApKTtpZihlPDApe3ZhciByPU1hdGgucm91bmQoTWF0aC5wb3coMTAsLWUpKTtyZXR1cm4gTWF0aC5jZWlsKHQqcikvcn1pZihlPjApe3I9TWF0aC5yb3VuZChNYXRoLnBvdygxMCxlKSk7cmV0dXJuIE1hdGguY2VpbCh0L3IpKnJ9cmV0dXJuIE1hdGguY2VpbCh0KX1mdW5jdGlvbiBtKHQpe3JldHVybiJib29sZWFuIiE9dHlwZW9mIHR8fHR9ZS5leHBvcnRzPXtjcmVhdGVTY2VuZTpmdW5jdGlvbih0KXsodD10fHx7fSkuY2FtZXJhPXQuY2FtZXJhfHx7fTt2YXIgZT10LmNhbnZhcztpZighZSlpZihlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHQuY29udGFpbmVyKXt2YXIgcj10LmNvbnRhaW5lcjtyLmFwcGVuZENoaWxkKGUpfWVsc2UgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKTt2YXIgeT10LmdsO3l8fCh0LmdsT3B0aW9ucyYmKGQ9ISF0LmdsT3B0aW9ucy5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIpLHk9ZnVuY3Rpb24odCxlKXt2YXIgcj1udWxsO3RyeXsocj10LmdldENvbnRleHQoIndlYmdsIixlKSl8fChyPXQuZ2V0Q29udGV4dCgiZXhwZXJpbWVudGFsLXdlYmdsIixlKSl9Y2F0Y2godCl7cmV0dXJuIG51bGx9cmV0dXJuIHJ9KGUsdC5nbE9wdGlvbnN8fHtwcmVtdWx0aXBsaWVkQWxwaGE6ITAsYW50aWFsaWFzOiEwLHByZXNlcnZlRHJhd2luZ0J1ZmZlcjpkfSkpO2lmKCF5KXRocm93IG5ldyBFcnJvcigid2ViZ2wgbm90IHN1cHBvcnRlZCIpO3ZhciB4PXQuYm91bmRzfHxbWy0xMCwtMTAsLTEwXSxbMTAsMTAsMTBdXSxiPW5ldyBnLF89bCh5LHkuZHJhd2luZ0J1ZmZlcldpZHRoLHkuZHJhd2luZ0J1ZmZlckhlaWdodCx7cHJlZmVyRmxvYXQ6IWR9KSx3PXAoeSksaz10LmNhbWVyYU9iamVjdCYmITA9PT10LmNhbWVyYU9iamVjdC5fb3J0aG98fHQuY2FtZXJhLnByb2plY3Rpb24mJiJvcnRob2dyYXBoaWMiPT09dC5jYW1lcmEucHJvamVjdGlvbi50eXBlfHwhMSxUPXtleWU6dC5jYW1lcmEuZXllfHxbMiwwLDBdLGNlbnRlcjp0LmNhbWVyYS5jZW50ZXJ8fFswLDAsMF0sdXA6dC5jYW1lcmEudXB8fFswLDEsMF0sem9vbU1pbjp0LmNhbWVyYS56b29tTWF4fHwuMSx6b29tTWF4OnQuY2FtZXJhLnpvb21NaW58fDEwMCxtb2RlOnQuY2FtZXJhLm1vZGV8fCJ0dXJudGFibGUiLF9vcnRobzprfSxNPXQuYXhlc3x8e30sQT1hKHksTSk7QS5lbmFibGU9IU0uZGlzYWJsZTt2YXIgUz10LnNwaWtlc3x8e30sRT1vKHksUyksTD1bXSxDPVtdLFA9W10sTz1bXSx6PSEwLEk9ITAsRD1uZXcgQXJyYXkoMTYpLFI9bmV3IEFycmF5KDE2KSxGPXt2aWV3Om51bGwscHJvamVjdGlvbjpELG1vZGVsOlIsX29ydGhvOiExfSxJPSEwLEI9W3kuZHJhd2luZ0J1ZmZlcldpZHRoLHkuZHJhd2luZ0J1ZmZlckhlaWdodF0sTj10LmNhbWVyYU9iamVjdHx8bihlLFQpLGo9e2dsOnksY29udGV4dExvc3Q6ITEscGl4ZWxSYXRpbzp0LnBpeGVsUmF0aW98fDEsY2FudmFzOmUsc2VsZWN0aW9uOmIsY2FtZXJhOk4sYXhlczpBLGF4ZXNQaXhlbHM6bnVsbCxzcGlrZXM6RSxib3VuZHM6eCxvYmplY3RzOkwsc2hhcGU6Qixhc3BlY3Q6dC5hc3BlY3RSYXRpb3x8WzEsMSwxXSxwaWNrUmFkaXVzOnQucGlja1JhZGl1c3x8MTAsek5lYXI6dC56TmVhcnx8LjAxLHpGYXI6dC56RmFyfHwxZTMsZm92eTp0LmZvdnl8fE1hdGguUEkvNCxjbGVhckNvbG9yOnQuY2xlYXJDb2xvcnx8WzAsMCwwLDBdLGF1dG9SZXNpemU6bSh0LmF1dG9SZXNpemUpLGF1dG9Cb3VuZHM6bSh0LmF1dG9Cb3VuZHMpLGF1dG9TY2FsZTohIXQuYXV0b1NjYWxlLGF1dG9DZW50ZXI6bSh0LmF1dG9DZW50ZXIpLGNsaXBUb0JvdW5kczptKHQuY2xpcFRvQm91bmRzKSxzbmFwVG9EYXRhOiEhdC5zbmFwVG9EYXRhLG9uc2VsZWN0OnQub25zZWxlY3R8fG51bGwsb25yZW5kZXI6dC5vbnJlbmRlcnx8bnVsbCxvbmNsaWNrOnQub25jbGlja3x8bnVsbCxjYW1lcmFQYXJhbXM6RixvbmNvbnRleHRsb3NzOm51bGwsbW91c2VMaXN0ZW5lcjpudWxsLF9zdG9wcGVkOiExLGdldEFzcGVjdHJhdGlvOmZ1bmN0aW9uKCl7cmV0dXJue3g6dGhpcy5hc3BlY3RbMF0seTp0aGlzLmFzcGVjdFsxXSx6OnRoaXMuYXNwZWN0WzJdfX0sc2V0QXNwZWN0cmF0aW86ZnVuY3Rpb24odCl7dGhpcy5hc3BlY3RbMF09dC54LHRoaXMuYXNwZWN0WzFdPXQueSx0aGlzLmFzcGVjdFsyXT10Lnp9LHNldEJvdW5kczpmdW5jdGlvbih0LGUpe3RoaXMuYm91bmRzWzBdW3RdPWUubWluLHRoaXMuYm91bmRzWzFdW3RdPWUubWF4fSxzZXRDbGVhckNvbG9yOmZ1bmN0aW9uKHQpe3RoaXMuY2xlYXJDb2xvcj10fSxjbGVhclJHQkE6ZnVuY3Rpb24oKXt0aGlzLmdsLmNsZWFyQ29sb3IodGhpcy5jbGVhckNvbG9yWzBdLHRoaXMuY2xlYXJDb2xvclsxXSx0aGlzLmNsZWFyQ29sb3JbMl0sdGhpcy5jbGVhckNvbG9yWzNdKSx0aGlzLmdsLmNsZWFyKHRoaXMuZ2wuQ09MT1JfQlVGRkVSX0JJVHx0aGlzLmdsLkRFUFRIX0JVRkZFUl9CSVQpfX0sVj1beS5kcmF3aW5nQnVmZmVyV2lkdGgvai5waXhlbFJhdGlvfDAseS5kcmF3aW5nQnVmZmVySGVpZ2h0L2oucGl4ZWxSYXRpb3wwXTtmdW5jdGlvbiBVKCl7aWYoIWouX3N0b3BwZWQmJmouYXV0b1Jlc2l6ZSl7dmFyIHQ9ZS5wYXJlbnROb2RlLHI9MSxuPTE7dCYmdCE9PWRvY3VtZW50LmJvZHk/KHI9dC5jbGllbnRXaWR0aCxuPXQuY2xpZW50SGVpZ2h0KToocj13aW5kb3cuaW5uZXJXaWR0aCxuPXdpbmRvdy5pbm5lckhlaWdodCk7dmFyIGE9MHxNYXRoLmNlaWwocipqLnBpeGVsUmF0aW8pLGk9MHxNYXRoLmNlaWwobipqLnBpeGVsUmF0aW8pO2lmKGEhPT1lLndpZHRofHxpIT09ZS5oZWlnaHQpe2Uud2lkdGg9YSxlLmhlaWdodD1pO3ZhciBvPWUuc3R5bGU7by5wb3NpdGlvbj1vLnBvc2l0aW9ufHwiYWJzb2x1dGUiLG8ubGVmdD0iMHB4IixvLnRvcD0iMHB4IixvLndpZHRoPXIrInB4IixvLmhlaWdodD1uKyJweCIsej0hMH19fWouYXV0b1Jlc2l6ZSYmVSgpO2Z1bmN0aW9uIHEoKXtmb3IodmFyIHQ9TC5sZW5ndGgsZT1PLmxlbmd0aCxyPTA7cjxlOysrcilQW3JdPTA7dDpmb3IodmFyIHI9MDtyPHQ7KytyKXt2YXIgbj1MW3JdLGE9bi5waWNrU2xvdHM7aWYoYSl7Zm9yKHZhciBpPTA7aTxlOysraSlpZihQW2ldK2E8MjU1KXtDW3JdPWksbi5zZXRQaWNrQmFzZShQW2ldKzEpLFBbaV0rPWE7Y29udGludWUgdH12YXIgbz1zKHksQik7Q1tyXT1lLE8ucHVzaChvKSxQLnB1c2goYSksbi5zZXRQaWNrQmFzZSgxKSxlKz0xfWVsc2UgQ1tyXT0tMX1mb3IoO2U+MCYmMD09PVBbZS0xXTspUC5wb3AoKSxPLnBvcCgpLmRpc3Bvc2UoKX1mdW5jdGlvbiBIKCl7aWYoai5jb250ZXh0TG9zdClyZXR1cm4hMDt5LmlzQ29udGV4dExvc3QoKSYmKGouY29udGV4dExvc3Q9ITAsai5tb3VzZUxpc3RlbmVyLmVuYWJsZWQ9ITEsai5zZWxlY3Rpb24ub2JqZWN0PW51bGwsai5vbmNvbnRleHRsb3NzJiZqLm9uY29udGV4dGxvc3MoKSl9d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsVSksai51cGRhdGU9ZnVuY3Rpb24odCl7ai5fc3RvcHBlZHx8KHQ9dHx8e30sej0hMCxJPSEwKX0sai5hZGQ9ZnVuY3Rpb24odCl7ai5fc3RvcHBlZHx8KHQuYXhlcz1BLEwucHVzaCh0KSxDLnB1c2goLTEpLHo9ITAsST0hMCxxKCkpfSxqLnJlbW92ZT1mdW5jdGlvbih0KXtpZighai5fc3RvcHBlZCl7dmFyIGU9TC5pbmRleE9mKHQpO2U8MHx8KEwuc3BsaWNlKGUsMSksQy5wb3AoKSx6PSEwLEk9ITAscSgpKX19LGouZGlzcG9zZT1mdW5jdGlvbigpe2lmKCFqLl9zdG9wcGVkJiYoai5fc3RvcHBlZD0hMCx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixVKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLEgpLGoubW91c2VMaXN0ZW5lci5lbmFibGVkPSExLCFqLmNvbnRleHRMb3N0KSl7QS5kaXNwb3NlKCksRS5kaXNwb3NlKCk7Zm9yKHZhciB0PTA7dDxMLmxlbmd0aDsrK3QpTFt0XS5kaXNwb3NlKCk7Xy5kaXNwb3NlKCk7Zm9yKHZhciB0PTA7dDxPLmxlbmd0aDsrK3QpT1t0XS5kaXNwb3NlKCk7dy5kaXNwb3NlKCkseT1udWxsLEE9bnVsbCxFPW51bGwsTD1bXX19LGouX21vdXNlUm90YXRpbmc9ITEsai5fcHJldkJ1dHRvbnM9MCxqLmVuYWJsZU1vdXNlTGlzdGVuZXJzPWZ1bmN0aW9uKCl7ai5tb3VzZUxpc3RlbmVyPXUoZSxmdW5jdGlvbih0LGUscil7aWYoIWouX3N0b3BwZWQpe3ZhciBuPU8ubGVuZ3RoLGE9TC5sZW5ndGgsaT1iLm9iamVjdDtiLmRpc3RhbmNlPTEvMCxiLm1vdXNlWzBdPWUsYi5tb3VzZVsxXT1yLGIub2JqZWN0PW51bGwsYi5zY3JlZW49bnVsbCxiLmRhdGFDb29yZGluYXRlPWIuZGF0YVBvc2l0aW9uPW51bGw7dmFyIG89ITE7aWYodCYmai5fcHJldkJ1dHRvbnMpai5fbW91c2VSb3RhdGluZz0hMDtlbHNle2ouX21vdXNlUm90YXRpbmcmJihJPSEwKSxqLl9tb3VzZVJvdGF0aW5nPSExO2Zvcih2YXIgcz0wO3M8bjsrK3Mpe3ZhciBsPU9bc10ucXVlcnkoZSxWWzFdLXItMSxqLnBpY2tSYWRpdXMpO2lmKGwpe2lmKGwuZGlzdGFuY2U+Yi5kaXN0YW5jZSljb250aW51ZTtmb3IodmFyIGM9MDtjPGE7KytjKXt2YXIgdT1MW2NdO2lmKENbY109PT1zKXt2YXIgaD11LnBpY2sobCk7aCYmKGIuYnV0dG9ucz10LGIuc2NyZWVuPWwuY29vcmQsYi5kaXN0YW5jZT1sLmRpc3RhbmNlLGIub2JqZWN0PXUsYi5pbmRleD1oLmRpc3RhbmNlLGIuZGF0YVBvc2l0aW9uPWgucG9zaXRpb24sYi5kYXRhQ29vcmRpbmF0ZT1oLmRhdGFDb29yZGluYXRlLGIuZGF0YT1oLG89ITApfX19fX1pJiZpIT09Yi5vYmplY3QmJihpLmhpZ2hsaWdodCYmaS5oaWdobGlnaHQobnVsbCksej0hMCksYi5vYmplY3QmJihiLm9iamVjdC5oaWdobGlnaHQmJmIub2JqZWN0LmhpZ2hsaWdodChiLmRhdGEpLHo9ITApLChvPW98fGIub2JqZWN0IT09aSkmJmoub25zZWxlY3QmJmoub25zZWxlY3QoYiksMSZ0JiYhKDEmai5fcHJldkJ1dHRvbnMpJiZqLm9uY2xpY2smJmoub25jbGljayhiKSxqLl9wcmV2QnV0dG9ucz10fX0pfSxlLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLEgpO3ZhciBHPVtbMS8wLDEvMCwxLzBdLFstMS8wLC0xLzAsLTEvMF1dLFk9W0dbMF0uc2xpY2UoKSxHWzFdLnNsaWNlKCldO2Z1bmN0aW9uIFcoKXtpZighSCgpKXtVKCk7dmFyIHQ9ai5jYW1lcmEudGljaygpO0Yudmlldz1qLmNhbWVyYS5tYXRyaXgsej16fHx0LEk9SXx8dCxBLnBpeGVsUmF0aW89ai5waXhlbFJhdGlvLEUucGl4ZWxSYXRpbz1qLnBpeGVsUmF0aW87dmFyIGU9TC5sZW5ndGgscj1HWzBdLG49R1sxXTtyWzBdPXJbMV09clsyXT0xLzAsblswXT1uWzFdPW5bMl09LTEvMDtmb3IodmFyIGE9MDthPGU7KythKXt2YXIgbz1MW2FdO28ucGl4ZWxSYXRpbz1qLnBpeGVsUmF0aW8sby5heGVzPWouYXhlcyx6PXp8fCEhby5kaXJ0eSxJPUl8fCEhby5kaXJ0eTt2YXIgcz1vLmJvdW5kcztpZihzKWZvcih2YXIgbD1zWzBdLHU9c1sxXSxwPTA7cDwzOysrcClyW3BdPU1hdGgubWluKHJbcF0sbFtwXSksbltwXT1NYXRoLm1heChuW3BdLHVbcF0pfXZhciBkPWouYm91bmRzO2lmKGouYXV0b0JvdW5kcylmb3IodmFyIHA9MDtwPDM7KytwKXtpZihuW3BdPHJbcF0pcltwXT0tMSxuW3BdPTE7ZWxzZXtyW3BdPT09bltwXSYmKHJbcF0tPTEsbltwXSs9MSk7dmFyIGc9LjA1KihuW3BdLXJbcF0pO3JbcF09cltwXS1nLG5bcF09bltwXStnfWRbMF1bcF09cltwXSxkWzFdW3BdPW5bcF19Zm9yKHZhciBtPSExLHA9MDtwPDM7KytwKW09bXx8WVswXVtwXSE9PWRbMF1bcF18fFlbMV1bcF0hPT1kWzFdW3BdLFlbMF1bcF09ZFswXVtwXSxZWzFdW3BdPWRbMV1bcF07aWYoST1JfHxtLHo9enx8bSl7aWYobSl7Zm9yKHZhciB4PVswLDAsMF0sYT0wO2E8MzsrK2EpeFthXT12KChkWzFdW2FdLWRbMF1bYV0pLzEwKTtBLmF1dG9UaWNrcz9BLnVwZGF0ZSh7Ym91bmRzOmQsdGlja1NwYWNpbmc6eH0pOkEudXBkYXRlKHtib3VuZHM6ZH0pfXZhciBUPXkuZHJhd2luZ0J1ZmZlcldpZHRoLE09eS5kcmF3aW5nQnVmZmVySGVpZ2h0O0JbMF09VCxCWzFdPU0sVlswXT0wfE1hdGgubWF4KFQvai5waXhlbFJhdGlvLDEpLFZbMV09MHxNYXRoLm1heChNL2oucGl4ZWxSYXRpbywxKSxmdW5jdGlvbih0LGUpe3ZhciByPXQuYm91bmRzLG49dC5jYW1lcmFQYXJhbXMsYT1uLnByb2plY3Rpb24saT1uLm1vZGVsLG89dC5nbC5kcmF3aW5nQnVmZmVyV2lkdGgscz10LmdsLmRyYXdpbmdCdWZmZXJIZWlnaHQsbD10LnpOZWFyLGM9dC56RmFyLHU9dC5mb3Z5LHA9by9zO2U/KGYoYSwtcCxwLC0xLDEsbCxjKSxuLl9vcnRobz0hMCk6KGgoYSx1LHAsbCxjKSxuLl9vcnRobz0hMSk7Zm9yKHZhciBkPTA7ZDwxNjsrK2QpaVtkXT0wO2lbMTVdPTE7Zm9yKHZhciBnPTAsZD0wO2Q8MzsrK2QpZz1NYXRoLm1heChnLHJbMV1bZF0tclswXVtkXSk7Zm9yKHZhciBkPTA7ZDwzOysrZCl0LmF1dG9TY2FsZT9pWzUqZF09dC5hc3BlY3RbZF0vKHJbMV1bZF0tclswXVtkXSk6aVs1KmRdPTEvZyx0LmF1dG9DZW50ZXImJihpWzEyK2RdPS41Ki1pWzUqZF0qKHJbMF1bZF0rclsxXVtkXSkpfShqLGspO2Zvcih2YXIgYT0wO2E8ZTsrK2Epe3ZhciBvPUxbYV07by5heGVzQm91bmRzPWQsai5jbGlwVG9Cb3VuZHMmJihvLmNsaXBCb3VuZHM9ZCl9Yi5vYmplY3QmJihqLnNuYXBUb0RhdGE/RS5wb3NpdGlvbj1iLmRhdGFDb29yZGluYXRlOkUucG9zaXRpb249Yi5kYXRhUG9zaXRpb24sRS5ib3VuZHM9ZCksSSYmKEk9ITEsZnVuY3Rpb24oKXtpZihIKCkpcmV0dXJuO3kuY29sb3JNYXNrKCEwLCEwLCEwLCEwKSx5LmRlcHRoTWFzayghMCkseS5kaXNhYmxlKHkuQkxFTkQpLHkuZW5hYmxlKHkuREVQVEhfVEVTVCkseS5kZXB0aEZ1bmMoeS5MRVFVQUwpO2Zvcih2YXIgdD1MLmxlbmd0aCxlPU8ubGVuZ3RoLHI9MDtyPGU7KytyKXt2YXIgbj1PW3JdO24uc2hhcGU9VixuLmJlZ2luKCk7Zm9yKHZhciBhPTA7YTx0OysrYSlpZihDW2FdPT09cil7dmFyIGk9TFthXTtpLmRyYXdQaWNrJiYoaS5waXhlbFJhdGlvPTEsaS5kcmF3UGljayhGKSl9bi5lbmQoKX19KCkpLGouYXhlc1BpeGVscz1pKGouYXhlcyxGLFQsTSksai5vbnJlbmRlciYmai5vbnJlbmRlcigpLHkuYmluZEZyYW1lYnVmZmVyKHkuRlJBTUVCVUZGRVIsbnVsbCkseS52aWV3cG9ydCgwLDAsVCxNKSxqLmNsZWFyUkdCQSgpLHkuZGVwdGhNYXNrKCEwKSx5LmNvbG9yTWFzayghMCwhMCwhMCwhMCkseS5lbmFibGUoeS5ERVBUSF9URVNUKSx5LmRlcHRoRnVuYyh5LkxFUVVBTCkseS5kaXNhYmxlKHkuQkxFTkQpLHkuZGlzYWJsZSh5LkNVTExfRkFDRSk7dmFyIFM9ITE7QS5lbmFibGUmJihTPVN8fEEuaXNUcmFuc3BhcmVudCgpLEEuZHJhdyhGKSksRS5heGVzPUEsYi5vYmplY3QmJkUuZHJhdyhGKSx5LmRpc2FibGUoeS5DVUxMX0ZBQ0UpO2Zvcih2YXIgYT0wO2E8ZTsrK2Epe3ZhciBvPUxbYV07by5heGVzPUEsby5waXhlbFJhdGlvPWoucGl4ZWxSYXRpbyxvLmlzT3BhcXVlJiZvLmlzT3BhcXVlKCkmJm8uZHJhdyhGKSxvLmlzVHJhbnNwYXJlbnQmJm8uaXNUcmFuc3BhcmVudCgpJiYoUz0hMCl9aWYoUyl7Xy5zaGFwZT1CLF8uYmluZCgpLHkuY2xlYXIoeS5ERVBUSF9CVUZGRVJfQklUKSx5LmNvbG9yTWFzayghMSwhMSwhMSwhMSkseS5kZXB0aE1hc2soITApLHkuZGVwdGhGdW5jKHkuTEVTUyksQS5lbmFibGUmJkEuaXNUcmFuc3BhcmVudCgpJiZBLmRyYXdUcmFuc3BhcmVudChGKTtmb3IodmFyIGE9MDthPGU7KythKXt2YXIgbz1MW2FdO28uaXNPcGFxdWUmJm8uaXNPcGFxdWUoKSYmby5kcmF3KEYpfXkuZW5hYmxlKHkuQkxFTkQpLHkuYmxlbmRFcXVhdGlvbih5LkZVTkNfQUREKSx5LmJsZW5kRnVuYyh5Lk9ORSx5Lk9ORV9NSU5VU19TUkNfQUxQSEEpLHkuY29sb3JNYXNrKCEwLCEwLCEwLCEwKSx5LmRlcHRoTWFzayghMSkseS5jbGVhckNvbG9yKDAsMCwwLDApLHkuY2xlYXIoeS5DT0xPUl9CVUZGRVJfQklUKSxBLmlzVHJhbnNwYXJlbnQoKSYmQS5kcmF3VHJhbnNwYXJlbnQoRik7Zm9yKHZhciBhPTA7YTxlOysrYSl7dmFyIG89TFthXTtvLmlzVHJhbnNwYXJlbnQmJm8uaXNUcmFuc3BhcmVudCgpJiZvLmRyYXdUcmFuc3BhcmVudChGKX15LmJpbmRGcmFtZWJ1ZmZlcih5LkZSQU1FQlVGRkVSLG51bGwpLHkuYmxlbmRGdW5jKHkuT05FLHkuT05FX01JTlVTX1NSQ19BTFBIQSkseS5kaXNhYmxlKHkuREVQVEhfVEVTVCksdy5iaW5kKCksXy5jb2xvclswXS5iaW5kKDApLHcudW5pZm9ybXMuYWNjdW1CdWZmZXI9MCxjKHkpLHkuZGlzYWJsZSh5LkJMRU5EKX16PSExO2Zvcih2YXIgYT0wO2E8ZTsrK2EpTFthXS5kaXJ0eT0hMX19fXJldHVybiBqLmVuYWJsZU1vdXNlTGlzdGVuZXJzKCksZnVuY3Rpb24gdCgpe2ouX3N0b3BwZWR8fGouY29udGV4dExvc3R8fChXKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpKX0oKSxqLnJlZHJhdz1mdW5jdGlvbigpe2ouX3N0b3BwZWR8fCh6PSEwLFcoKSl9LGp9LGNyZWF0ZUNhbWVyYTpufX0seyIuL2NhbWVyYS5qcyI6MjkxLCIuL2xpYi9zaGFkZXIiOjI5MiwiYS1iaWctdHJpYW5nbGUiOjYyLCJnbC1heGVzM2QiOjIzNiwiZ2wtYXhlczNkL3Byb3BlcnRpZXMiOjI0MywiZ2wtZmJvIjoyNTIsImdsLW1hdDQvb3J0aG8iOjI3MSwiZ2wtbWF0NC9wZXJzcGVjdGl2ZSI6MjcyLCJnbC1zZWxlY3Qtc3RhdGljIjozMDMsImdsLXNwaWtlczNkIjozMTMsImlzLW1vYmlsZSI6NDIyLCJtb3VzZS1jaGFuZ2UiOjQzN31dLDI5NDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImdsc2xpZnkiKTtyLnBvaW50VmVydGV4PW4oWyJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSB2ZWMyIHBvc2l0aW9uO1xuXG51bmlmb3JtIG1hdDMgbWF0cml4O1xudW5pZm9ybSBmbG9hdCBwb2ludFNpemU7XG51bmlmb3JtIGZsb2F0IHBvaW50Q2xvdWQ7XG5cbmhpZ2hwIGZsb2F0IHJhbmQodmVjMiBjbykge1xuICBoaWdocCBmbG9hdCBhID0gMTIuOTg5ODtcbiAgaGlnaHAgZmxvYXQgYiA9IDc4LjIzMztcbiAgaGlnaHAgZmxvYXQgYyA9IDQzNzU4LjU0NTM7XG4gIGhpZ2hwIGZsb2F0IGQgPSBkb3QoY28ueHksIHZlYzIoYSwgYikpO1xuICBoaWdocCBmbG9hdCBlID0gbW9kKGQsIDMuMTQpO1xuICByZXR1cm4gZnJhY3Qoc2luKGUpICogYyk7XG59XG5cbnZvaWQgbWFpbigpIHtcbiAgdmVjMyBoZ1Bvc2l0aW9uID0gbWF0cml4ICogdmVjMyhwb3NpdGlvbiwgMSk7XG4gIGdsX1Bvc2l0aW9uICA9IHZlYzQoaGdQb3NpdGlvbi54eSwgMCwgaGdQb3NpdGlvbi56KTtcbiAgICAvLyBpZiB3ZSBkb24ndCBqaXR0ZXIgdGhlIHBvaW50IHNpemUgYSBiaXQsIG92ZXJhbGwgcG9pbnQgY2xvdWRcbiAgICAvLyBzYXR1cmF0aW9uICdqdW1wcycgb24gem9vbWluZywgd2hpY2ggaXMgZGlzdHVyYmluZyBhbmQgY29uZnVzaW5nXG4gIGdsX1BvaW50U2l6ZSA9IHBvaW50U2l6ZSAqICgoMTkuNSArIHJhbmQocG9zaXRpb24pKSAvIDIwLjApO1xuICBpZihwb2ludENsb3VkICE9IDAuMCkgeyAvLyBwb2ludENsb3VkIGlzIHRydXRoeVxuICAgIC8vIGdldCB0aGUgc2FtZSBzcXVhcmUgc3VyZmFjZSBhcyBjaXJjbGUgd291bGQgYmVcbiAgICBnbF9Qb2ludFNpemUgKj0gMC44ODY7XG4gIH1cbn0iXSksci5wb2ludEZyYWdtZW50PW4oWyJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbnVuaWZvcm0gdmVjNCBjb2xvciwgYm9yZGVyQ29sb3I7XG51bmlmb3JtIGZsb2F0IGNlbnRlckZyYWN0aW9uO1xudW5pZm9ybSBmbG9hdCBwb2ludENsb3VkO1xuXG52b2lkIG1haW4oKSB7XG4gIGZsb2F0IHJhZGl1cztcbiAgdmVjNCBiYXNlQ29sb3I7XG4gIGlmKHBvaW50Q2xvdWQgIT0gMC4wKSB7IC8vIHBvaW50Q2xvdWQgaXMgdHJ1dGh5XG4gICAgaWYoY2VudGVyRnJhY3Rpb24gPT0gMS4wKSB7XG4gICAgICBnbF9GcmFnQ29sb3IgPSBjb2xvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgZ2xfRnJhZ0NvbG9yID0gbWl4KGJvcmRlckNvbG9yLCBjb2xvciwgY2VudGVyRnJhY3Rpb24pO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByYWRpdXMgPSBsZW5ndGgoMi4wICogZ2xfUG9pbnRDb29yZC54eSAtIDEuMCk7XG4gICAgaWYocmFkaXVzID4gMS4wKSB7XG4gICAgICBkaXNjYXJkO1xuICAgIH1cbiAgICBiYXNlQ29sb3IgPSBtaXgoYm9yZGVyQ29sb3IsIGNvbG9yLCBzdGVwKHJhZGl1cywgY2VudGVyRnJhY3Rpb24pKTtcbiAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KGJhc2VDb2xvci5yZ2IgKiBiYXNlQ29sb3IuYSwgYmFzZUNvbG9yLmEpO1xuICB9XG59XG4iXSksci5waWNrVmVydGV4PW4oWyJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSB2ZWMyIHBvc2l0aW9uO1xuYXR0cmlidXRlIHZlYzQgcGlja0lkO1xuXG51bmlmb3JtIG1hdDMgbWF0cml4O1xudW5pZm9ybSBmbG9hdCBwb2ludFNpemU7XG51bmlmb3JtIHZlYzQgcGlja09mZnNldDtcblxudmFyeWluZyB2ZWM0IGZyYWdJZDtcblxudm9pZCBtYWluKCkge1xuICB2ZWMzIGhnUG9zaXRpb24gPSBtYXRyaXggKiB2ZWMzKHBvc2l0aW9uLCAxKTtcbiAgZ2xfUG9zaXRpb24gID0gdmVjNChoZ1Bvc2l0aW9uLnh5LCAwLCBoZ1Bvc2l0aW9uLnopO1xuICBnbF9Qb2ludFNpemUgPSBwb2ludFNpemU7XG5cbiAgdmVjNCBpZCA9IHBpY2tJZCArIHBpY2tPZmZzZXQ7XG4gIGlkLnkgKz0gZmxvb3IoaWQueCAvIDI1Ni4wKTtcbiAgaWQueCAtPSBmbG9vcihpZC54IC8gMjU2LjApICogMjU2LjA7XG5cbiAgaWQueiArPSBmbG9vcihpZC55IC8gMjU2LjApO1xuICBpZC55IC09IGZsb29yKGlkLnkgLyAyNTYuMCkgKiAyNTYuMDtcblxuICBpZC53ICs9IGZsb29yKGlkLnogLyAyNTYuMCk7XG4gIGlkLnogLT0gZmxvb3IoaWQueiAvIDI1Ni4wKSAqIDI1Ni4wO1xuXG4gIGZyYWdJZCA9IGlkO1xufVxuIl0pLHIucGlja0ZyYWdtZW50PW4oWyJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbnZhcnlpbmcgdmVjNCBmcmFnSWQ7XG5cbnZvaWQgbWFpbigpIHtcbiAgZmxvYXQgcmFkaXVzID0gbGVuZ3RoKDIuMCAqIGdsX1BvaW50Q29vcmQueHkgLSAxLjApO1xuICBpZihyYWRpdXMgPiAxLjApIHtcbiAgICBkaXNjYXJkO1xuICB9XG4gIGdsX0ZyYWdDb2xvciA9IGZyYWdJZCAvIDI1NS4wO1xufVxuIl0pfSx7Z2xzbGlmeTo0MTF9XSwyOTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZ2wtc2hhZGVyIiksYT10KCJnbC1idWZmZXIiKSxpPXQoInR5cGVkYXJyYXktcG9vbCIpLG89dCgiLi9saWIvc2hhZGVyIik7ZnVuY3Rpb24gcyh0LGUscixuLGEpe3RoaXMucGxvdD10LHRoaXMub2Zmc2V0QnVmZmVyPWUsdGhpcy5waWNrQnVmZmVyPXIsdGhpcy5zaGFkZXI9bix0aGlzLnBpY2tTaGFkZXI9YSx0aGlzLnNpemVNaW49LjUsdGhpcy5zaXplTWluQ2FwPTIsdGhpcy5zaXplTWF4PTIwLHRoaXMuYXJlYVJhdGlvPTEsdGhpcy5wb2ludENvdW50PTAsdGhpcy5jb2xvcj1bMSwwLDAsMV0sdGhpcy5ib3JkZXJDb2xvcj1bMCwwLDAsMV0sdGhpcy5ibGVuZD0hMSx0aGlzLnBpY2tPZmZzZXQ9MCx0aGlzLnBvaW50cz1udWxsfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXQuZ2wsaT1hKHIpLGw9YShyKSxjPW4ocixvLnBvaW50VmVydGV4LG8ucG9pbnRGcmFnbWVudCksdT1uKHIsby5waWNrVmVydGV4LG8ucGlja0ZyYWdtZW50KSxoPW5ldyBzKHQsaSxsLGMsdSk7cmV0dXJuIGgudXBkYXRlKGUpLHQuYWRkT2JqZWN0KGgpLGh9O3ZhciBsLGMsdT1zLnByb3RvdHlwZTt1LmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLnNoYWRlci5kaXNwb3NlKCksdGhpcy5waWNrU2hhZGVyLmRpc3Bvc2UoKSx0aGlzLm9mZnNldEJ1ZmZlci5kaXNwb3NlKCksdGhpcy5waWNrQnVmZmVyLmRpc3Bvc2UoKSx0aGlzLnBsb3QucmVtb3ZlT2JqZWN0KHRoaXMpfSx1LnVwZGF0ZT1mdW5jdGlvbih0KXt2YXIgZTtmdW5jdGlvbiByKGUscil7cmV0dXJuIGUgaW4gdD90W2VdOnJ9dD10fHx7fSx0aGlzLnNpemVNaW49cigic2l6ZU1pbiIsLjUpLHRoaXMuc2l6ZU1heD1yKCJzaXplTWF4IiwyMCksdGhpcy5jb2xvcj1yKCJjb2xvciIsWzEsMCwwLDFdKS5zbGljZSgpLHRoaXMuYXJlYVJhdGlvPXIoImFyZWFSYXRpbyIsMSksdGhpcy5ib3JkZXJDb2xvcj1yKCJib3JkZXJDb2xvciIsWzAsMCwwLDFdKS5zbGljZSgpLHRoaXMuYmxlbmQ9cigiYmxlbmQiLCExKTt2YXIgbj10LnBvc2l0aW9ucy5sZW5ndGg+Pj4xLGE9dC5wb3NpdGlvbnMgaW5zdGFuY2VvZiBGbG9hdDMyQXJyYXksbz10LmlkVG9JbmRleCBpbnN0YW5jZW9mIEludDMyQXJyYXkmJnQuaWRUb0luZGV4Lmxlbmd0aD49bixzPXQucG9zaXRpb25zLGw9YT9zOmkubWFsbG9jRmxvYXQzMihzLmxlbmd0aCksYz1vP3QuaWRUb0luZGV4OmkubWFsbG9jSW50MzIobik7aWYoYXx8bC5zZXQocyksIW8pZm9yKGwuc2V0KHMpLGU9MDtlPG47ZSsrKWNbZV09ZTt0aGlzLnBvaW50cz1zLHRoaXMub2Zmc2V0QnVmZmVyLnVwZGF0ZShsKSx0aGlzLnBpY2tCdWZmZXIudXBkYXRlKGMpLGF8fGkuZnJlZShsKSxvfHxpLmZyZWUoYyksdGhpcy5wb2ludENvdW50PW4sdGhpcy5waWNrT2Zmc2V0PTB9LHUudW5pZmllZERyYXc9KGw9WzEsMCwwLDAsMSwwLDAsMCwxXSxjPVswLDAsMCwwXSxmdW5jdGlvbih0KXt2YXIgZT12b2lkIDAhPT10LHI9ZT90aGlzLnBpY2tTaGFkZXI6dGhpcy5zaGFkZXIsbj10aGlzLnBsb3QuZ2wsYT10aGlzLnBsb3QuZGF0YUJveDtpZigwPT09dGhpcy5wb2ludENvdW50KXJldHVybiB0O3ZhciBpPWFbMl0tYVswXSxvPWFbM10tYVsxXSxzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbj0wLGE9dC5sZW5ndGg+Pj4xO2ZvcihyPTA7cjxhO3IrKyl7dmFyIGk9dFsyKnJdLG89dFsyKnIrMV07aT49ZVswXSYmaTw9ZVsyXSYmbz49ZVsxXSYmbzw9ZVszXSYmbisrfXJldHVybiBufSh0aGlzLnBvaW50cyxhKSx1PXRoaXMucGxvdC5waWNrUGl4ZWxSYXRpbypNYXRoLm1heChNYXRoLm1pbih0aGlzLnNpemVNaW5DYXAsdGhpcy5zaXplTWluKSxNYXRoLm1pbih0aGlzLnNpemVNYXgsdGhpcy5zaXplTWF4L01hdGgucG93KHMsLjMzMzMzKSkpO2xbMF09Mi9pLGxbNF09Mi9vLGxbNl09LTIqYVswXS9pLTEsbFs3XT0tMiphWzFdL28tMSx0aGlzLm9mZnNldEJ1ZmZlci5iaW5kKCksci5iaW5kKCksci5hdHRyaWJ1dGVzLnBvc2l0aW9uLnBvaW50ZXIoKSxyLnVuaWZvcm1zLm1hdHJpeD1sLHIudW5pZm9ybXMuY29sb3I9dGhpcy5jb2xvcixyLnVuaWZvcm1zLmJvcmRlckNvbG9yPXRoaXMuYm9yZGVyQ29sb3Isci51bmlmb3Jtcy5wb2ludENsb3VkPXU8NSxyLnVuaWZvcm1zLnBvaW50U2l6ZT11LHIudW5pZm9ybXMuY2VudGVyRnJhY3Rpb249TWF0aC5taW4oMSxNYXRoLm1heCgwLE1hdGguc3FydCgxLXRoaXMuYXJlYVJhdGlvKSkpLGUmJihjWzBdPTI1NSZ0LGNbMV09dD4+OCYyNTUsY1syXT10Pj4xNiYyNTUsY1szXT10Pj4yNCYyNTUsdGhpcy5waWNrQnVmZmVyLmJpbmQoKSxyLmF0dHJpYnV0ZXMucGlja0lkLnBvaW50ZXIobi5VTlNJR05FRF9CWVRFKSxyLnVuaWZvcm1zLnBpY2tPZmZzZXQ9Yyx0aGlzLnBpY2tPZmZzZXQ9dCk7dmFyIGg9bi5nZXRQYXJhbWV0ZXIobi5CTEVORCksZj1uLmdldFBhcmFtZXRlcihuLkRJVEhFUik7cmV0dXJuIGgmJiF0aGlzLmJsZW5kJiZuLmRpc2FibGUobi5CTEVORCksZiYmbi5kaXNhYmxlKG4uRElUSEVSKSxuLmRyYXdBcnJheXMobi5QT0lOVFMsMCx0aGlzLnBvaW50Q291bnQpLGgmJiF0aGlzLmJsZW5kJiZuLmVuYWJsZShuLkJMRU5EKSxmJiZuLmVuYWJsZShuLkRJVEhFUiksdCt0aGlzLnBvaW50Q291bnR9KSx1LmRyYXc9dS51bmlmaWVkRHJhdyx1LmRyYXdQaWNrPXUudW5pZmllZERyYXcsdS5waWNrPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLnBpY2tPZmZzZXQsYT10aGlzLnBvaW50Q291bnQ7aWYocjxufHxyPj1uK2EpcmV0dXJuIG51bGw7dmFyIGk9ci1uLG89dGhpcy5wb2ludHM7cmV0dXJue29iamVjdDp0aGlzLHBvaW50SWQ6aSxkYXRhQ29vcmQ6W29bMippXSxvWzIqaSsxXV19fX0seyIuL2xpYi9zaGFkZXIiOjI5NCwiZ2wtYnVmZmVyIjoyNDQsImdsLXNoYWRlciI6MzA0LCJ0eXBlZGFycmF5LXBvb2wiOjU0NH1dLDI5NjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuKXt2YXIgYSxpLG8scyxsLGM9ZVswXSx1PWVbMV0saD1lWzJdLGY9ZVszXSxwPXJbMF0sZD1yWzFdLGc9clsyXSx2PXJbM107KGk9YypwK3UqZCtoKmcrZip2KTwwJiYoaT0taSxwPS1wLGQ9LWQsZz0tZyx2PS12KTsxLWk+MWUtNj8oYT1NYXRoLmFjb3MoaSksbz1NYXRoLnNpbihhKSxzPU1hdGguc2luKCgxLW4pKmEpL28sbD1NYXRoLnNpbihuKmEpL28pOihzPTEtbixsPW4pO3JldHVybiB0WzBdPXMqYytsKnAsdFsxXT1zKnUrbCpkLHRbMl09cypoK2wqZyx0WzNdPXMqZitsKnYsdH19LHt9XSwyOTc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0fHwwPT09dD90LnRvU3RyaW5nKCk6IiJ9fSx7fV0sMjk4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInZlY3Rvcml6ZS10ZXh0Iik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaT1hW2VdO2l8fChpPWFbZV09e30pO2lmKHQgaW4gaSlyZXR1cm4gaVt0XTt2YXIgbz17dGV4dEFsaWduOiJjZW50ZXIiLHRleHRCYXNlbGluZToibWlkZGxlIixsaW5lSGVpZ2h0OjEsZm9udDplLGxpbmVTcGFjaW5nOjEuMjUsc3R5bGV0YWdzOnticmVha2xpbmVzOiEwLGJvbGRzOiEwLGl0YWxpY3M6ITAsc3Vic2NyaXB0czohMCxzdXBlcnNjcmlwdHM6ITB9LHRyaWFuZ2xlczohMH0scz1uKHQsbyk7by50cmlhbmdsZXM9ITE7dmFyIGwsYyx1PW4odCxvKTtpZihyJiYxIT09cil7Zm9yKGw9MDtsPHMucG9zaXRpb25zLmxlbmd0aDsrK2wpZm9yKGM9MDtjPHMucG9zaXRpb25zW2xdLmxlbmd0aDsrK2Mpcy5wb3NpdGlvbnNbbF1bY10vPXI7Zm9yKGw9MDtsPHUucG9zaXRpb25zLmxlbmd0aDsrK2wpZm9yKGM9MDtjPHUucG9zaXRpb25zW2xdLmxlbmd0aDsrK2MpdS5wb3NpdGlvbnNbbF1bY10vPXJ9dmFyIGg9W1sxLzAsMS8wXSxbLTEvMCwtMS8wXV0sZj11LnBvc2l0aW9ucy5sZW5ndGg7Zm9yKGw9MDtsPGY7KytsKXt2YXIgcD11LnBvc2l0aW9uc1tsXTtmb3IoYz0wO2M8MjsrK2MpaFswXVtjXT1NYXRoLm1pbihoWzBdW2NdLHBbY10pLGhbMV1bY109TWF0aC5tYXgoaFsxXVtjXSxwW2NdKX1yZXR1cm4gaVt0XT1bcyx1LGhdfTt2YXIgYT17fX0seyJ2ZWN0b3JpemUtdGV4dCI6NTQ5fV0sMjk5OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiZ2wtc2hhZGVyIiksYT10KCJnbHNsaWZ5IiksaT1hKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYm9vbCBvdXRPZlJhbmdlKGZsb2F0IGEsIGZsb2F0IGIsIGZsb2F0IHApIHtcbiAgcmV0dXJuICgocCA+IG1heChhLCBiKSkgfHwgXG4gICAgICAgICAgKHAgPCBtaW4oYSwgYikpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzIgYSwgdmVjMiBiLCB2ZWMyIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMzIGEsIHZlYzMgYiwgdmVjMyBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueiwgYi56LCBwLnopKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzQgYSwgdmVjNCBiLCB2ZWM0IHApIHtcbiAgcmV0dXJuIG91dE9mUmFuZ2UoYS54eXosIGIueHl6LCBwLnh5eik7XG59XG5cbmF0dHJpYnV0ZSB2ZWMzIHBvc2l0aW9uO1xuYXR0cmlidXRlIHZlYzQgY29sb3I7XG5hdHRyaWJ1dGUgdmVjMiBnbHlwaDtcbmF0dHJpYnV0ZSB2ZWM0IGlkO1xuXG51bmlmb3JtIHZlYzQgaGlnaGxpZ2h0SWQ7XG51bmlmb3JtIGZsb2F0IGhpZ2hsaWdodFNjYWxlO1xudW5pZm9ybSBtYXQ0IG1vZGVsLCB2aWV3LCBwcm9qZWN0aW9uO1xudW5pZm9ybSB2ZWMzIGNsaXBCb3VuZHNbMl07XG5cbnZhcnlpbmcgdmVjNCBpbnRlcnBDb2xvcjtcbnZhcnlpbmcgdmVjNCBwaWNrSWQ7XG52YXJ5aW5nIHZlYzMgZGF0YUNvb3JkaW5hdGU7XG5cbnZvaWQgbWFpbigpIHtcbiAgaWYgKG91dE9mUmFuZ2UoY2xpcEJvdW5kc1swXSwgY2xpcEJvdW5kc1sxXSwgcG9zaXRpb24pKSB7XG5cbiAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoMCwwLDAsMCk7XG4gIH0gZWxzZSB7XG4gICAgZmxvYXQgc2NhbGUgPSAxLjA7XG4gICAgaWYoZGlzdGFuY2UoaGlnaGxpZ2h0SWQsIGlkKSA8IDAuMDAwMSkge1xuICAgICAgc2NhbGUgPSBoaWdobGlnaHRTY2FsZTtcbiAgICB9XG5cbiAgICB2ZWM0IHdvcmxkUG9zaXRpb24gPSBtb2RlbCAqIHZlYzQocG9zaXRpb24sIDEpO1xuICAgIHZlYzQgdmlld1Bvc2l0aW9uID0gdmlldyAqIHdvcmxkUG9zaXRpb247XG4gICAgdmlld1Bvc2l0aW9uID0gdmlld1Bvc2l0aW9uIC8gdmlld1Bvc2l0aW9uLnc7XG4gICAgdmVjNCBjbGlwUG9zaXRpb24gPSBwcm9qZWN0aW9uICogKHZpZXdQb3NpdGlvbiArIHNjYWxlICogdmVjNChnbHlwaC54LCAtZ2x5cGgueSwgMCwgMCkpO1xuXG4gICAgZ2xfUG9zaXRpb24gPSBjbGlwUG9zaXRpb247XG4gICAgaW50ZXJwQ29sb3IgPSBjb2xvcjtcbiAgICBwaWNrSWQgPSBpZDtcbiAgICBkYXRhQ29vcmRpbmF0ZSA9IHBvc2l0aW9uO1xuICB9XG59Il0pLG89YShbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmJvb2wgb3V0T2ZSYW5nZShmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBwKSB7XG4gIHJldHVybiAoKHAgPiBtYXgoYSwgYikpIHx8IFxuICAgICAgICAgIChwIDwgbWluKGEsIGIpKSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMyIGEsIHZlYzIgYiwgdmVjMiBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMyBhLCB2ZWMzIGIsIHZlYzMgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnosIGIueiwgcC56KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWM0IGEsIHZlYzQgYiwgdmVjNCBwKSB7XG4gIHJldHVybiBvdXRPZlJhbmdlKGEueHl6LCBiLnh5eiwgcC54eXopO1xufVxuXG5hdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjtcbmF0dHJpYnV0ZSB2ZWM0IGNvbG9yO1xuYXR0cmlidXRlIHZlYzIgZ2x5cGg7XG5hdHRyaWJ1dGUgdmVjNCBpZDtcblxudW5pZm9ybSBtYXQ0IG1vZGVsLCB2aWV3LCBwcm9qZWN0aW9uO1xudW5pZm9ybSB2ZWMyIHNjcmVlblNpemU7XG51bmlmb3JtIHZlYzMgY2xpcEJvdW5kc1syXTtcbnVuaWZvcm0gZmxvYXQgaGlnaGxpZ2h0U2NhbGUsIHBpeGVsUmF0aW87XG51bmlmb3JtIHZlYzQgaGlnaGxpZ2h0SWQ7XG5cbnZhcnlpbmcgdmVjNCBpbnRlcnBDb2xvcjtcbnZhcnlpbmcgdmVjNCBwaWNrSWQ7XG52YXJ5aW5nIHZlYzMgZGF0YUNvb3JkaW5hdGU7XG5cbnZvaWQgbWFpbigpIHtcbiAgaWYgKG91dE9mUmFuZ2UoY2xpcEJvdW5kc1swXSwgY2xpcEJvdW5kc1sxXSwgcG9zaXRpb24pKSB7XG5cbiAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoMCwwLDAsMCk7XG4gIH0gZWxzZSB7XG4gICAgZmxvYXQgc2NhbGUgPSBwaXhlbFJhdGlvO1xuICAgIGlmKGRpc3RhbmNlKGhpZ2hsaWdodElkLmJnciwgaWQuYmdyKSA8IDAuMDAxKSB7XG4gICAgICBzY2FsZSAqPSBoaWdobGlnaHRTY2FsZTtcbiAgICB9XG5cbiAgICB2ZWM0IHdvcmxkUG9zaXRpb24gPSBtb2RlbCAqIHZlYzQocG9zaXRpb24sIDEuMCk7XG4gICAgdmVjNCB2aWV3UG9zaXRpb24gPSB2aWV3ICogd29ybGRQb3NpdGlvbjtcbiAgICB2ZWM0IGNsaXBQb3NpdGlvbiA9IHByb2plY3Rpb24gKiB2aWV3UG9zaXRpb247XG4gICAgY2xpcFBvc2l0aW9uIC89IGNsaXBQb3NpdGlvbi53O1xuXG4gICAgZ2xfUG9zaXRpb24gPSBjbGlwUG9zaXRpb24gKyB2ZWM0KHNjcmVlblNpemUgKiBzY2FsZSAqIHZlYzIoZ2x5cGgueCwgLWdseXBoLnkpLCAwLjAsIDAuMCk7XG4gICAgaW50ZXJwQ29sb3IgPSBjb2xvcjtcbiAgICBwaWNrSWQgPSBpZDtcbiAgICBkYXRhQ29vcmRpbmF0ZSA9IHBvc2l0aW9uO1xuICB9XG59Il0pLHM9YShbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmJvb2wgb3V0T2ZSYW5nZShmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBwKSB7XG4gIHJldHVybiAoKHAgPiBtYXgoYSwgYikpIHx8IFxuICAgICAgICAgIChwIDwgbWluKGEsIGIpKSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMyIGEsIHZlYzIgYiwgdmVjMiBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMyBhLCB2ZWMzIGIsIHZlYzMgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnosIGIueiwgcC56KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWM0IGEsIHZlYzQgYiwgdmVjNCBwKSB7XG4gIHJldHVybiBvdXRPZlJhbmdlKGEueHl6LCBiLnh5eiwgcC54eXopO1xufVxuXG5hdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjtcbmF0dHJpYnV0ZSB2ZWM0IGNvbG9yO1xuYXR0cmlidXRlIHZlYzIgZ2x5cGg7XG5hdHRyaWJ1dGUgdmVjNCBpZDtcblxudW5pZm9ybSBmbG9hdCBoaWdobGlnaHRTY2FsZTtcbnVuaWZvcm0gdmVjNCBoaWdobGlnaHRJZDtcbnVuaWZvcm0gdmVjMyBheGVzWzJdO1xudW5pZm9ybSBtYXQ0IG1vZGVsLCB2aWV3LCBwcm9qZWN0aW9uO1xudW5pZm9ybSB2ZWMyIHNjcmVlblNpemU7XG51bmlmb3JtIHZlYzMgY2xpcEJvdW5kc1syXTtcbnVuaWZvcm0gZmxvYXQgc2NhbGUsIHBpeGVsUmF0aW87XG5cbnZhcnlpbmcgdmVjNCBpbnRlcnBDb2xvcjtcbnZhcnlpbmcgdmVjNCBwaWNrSWQ7XG52YXJ5aW5nIHZlYzMgZGF0YUNvb3JkaW5hdGU7XG5cbnZvaWQgbWFpbigpIHtcbiAgaWYgKG91dE9mUmFuZ2UoY2xpcEJvdW5kc1swXSwgY2xpcEJvdW5kc1sxXSwgcG9zaXRpb24pKSB7XG5cbiAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoMCwwLDAsMCk7XG4gIH0gZWxzZSB7XG4gICAgZmxvYXQgbHNjYWxlID0gcGl4ZWxSYXRpbyAqIHNjYWxlO1xuICAgIGlmKGRpc3RhbmNlKGhpZ2hsaWdodElkLCBpZCkgPCAwLjAwMDEpIHtcbiAgICAgIGxzY2FsZSAqPSBoaWdobGlnaHRTY2FsZTtcbiAgICB9XG5cbiAgICB2ZWM0IGNsaXBDZW50ZXIgICA9IHByb2plY3Rpb24gKiB2aWV3ICogbW9kZWwgKiB2ZWM0KHBvc2l0aW9uLCAxKTtcbiAgICB2ZWMzIGRhdGFQb3NpdGlvbiA9IHBvc2l0aW9uICsgMC41KmxzY2FsZSooYXhlc1swXSAqIGdseXBoLnggKyBheGVzWzFdICogZ2x5cGgueSkgKiBjbGlwQ2VudGVyLncgKiBzY3JlZW5TaXplLnk7XG4gICAgdmVjNCBjbGlwUG9zaXRpb24gPSBwcm9qZWN0aW9uICogdmlldyAqIG1vZGVsICogdmVjNChkYXRhUG9zaXRpb24sIDEpO1xuXG4gICAgZ2xfUG9zaXRpb24gPSBjbGlwUG9zaXRpb247XG4gICAgaW50ZXJwQ29sb3IgPSBjb2xvcjtcbiAgICBwaWNrSWQgPSBpZDtcbiAgICBkYXRhQ29vcmRpbmF0ZSA9IGRhdGFQb3NpdGlvbjtcbiAgfVxufVxuIl0pLGw9YShbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmJvb2wgb3V0T2ZSYW5nZShmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBwKSB7XG4gIHJldHVybiAoKHAgPiBtYXgoYSwgYikpIHx8IFxuICAgICAgICAgIChwIDwgbWluKGEsIGIpKSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMyIGEsIHZlYzIgYiwgdmVjMiBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMyBhLCB2ZWMzIGIsIHZlYzMgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnosIGIueiwgcC56KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWM0IGEsIHZlYzQgYiwgdmVjNCBwKSB7XG4gIHJldHVybiBvdXRPZlJhbmdlKGEueHl6LCBiLnh5eiwgcC54eXopO1xufVxuXG51bmlmb3JtIHZlYzMgZnJhZ0NsaXBCb3VuZHNbMl07XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG5cbnZhcnlpbmcgdmVjNCBpbnRlcnBDb2xvcjtcbnZhcnlpbmcgdmVjMyBkYXRhQ29vcmRpbmF0ZTtcblxudm9pZCBtYWluKCkge1xuICBpZiAoXG4gICAgb3V0T2ZSYW5nZShmcmFnQ2xpcEJvdW5kc1swXSwgZnJhZ0NsaXBCb3VuZHNbMV0sIGRhdGFDb29yZGluYXRlKSB8fFxuICAgIGludGVycENvbG9yLmEgKiBvcGFjaXR5ID09IDAuXG4gICkgZGlzY2FyZDtcbiAgZ2xfRnJhZ0NvbG9yID0gaW50ZXJwQ29sb3IgKiBvcGFjaXR5O1xufVxuIl0pLGM9YShbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmJvb2wgb3V0T2ZSYW5nZShmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBwKSB7XG4gIHJldHVybiAoKHAgPiBtYXgoYSwgYikpIHx8IFxuICAgICAgICAgIChwIDwgbWluKGEsIGIpKSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMyIGEsIHZlYzIgYiwgdmVjMiBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMyBhLCB2ZWMzIGIsIHZlYzMgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnosIGIueiwgcC56KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWM0IGEsIHZlYzQgYiwgdmVjNCBwKSB7XG4gIHJldHVybiBvdXRPZlJhbmdlKGEueHl6LCBiLnh5eiwgcC54eXopO1xufVxuXG51bmlmb3JtIHZlYzMgZnJhZ0NsaXBCb3VuZHNbMl07XG51bmlmb3JtIGZsb2F0IHBpY2tHcm91cDtcblxudmFyeWluZyB2ZWM0IHBpY2tJZDtcbnZhcnlpbmcgdmVjMyBkYXRhQ29vcmRpbmF0ZTtcblxudm9pZCBtYWluKCkge1xuICBpZiAob3V0T2ZSYW5nZShmcmFnQ2xpcEJvdW5kc1swXSwgZnJhZ0NsaXBCb3VuZHNbMV0sIGRhdGFDb29yZGluYXRlKSkgZGlzY2FyZDtcblxuICBnbF9GcmFnQ29sb3IgPSB2ZWM0KHBpY2tHcm91cCwgcGlja0lkLmJncik7XG59Il0pLHU9W3tuYW1lOiJwb3NpdGlvbiIsdHlwZToidmVjMyJ9LHtuYW1lOiJjb2xvciIsdHlwZToidmVjNCJ9LHtuYW1lOiJnbHlwaCIsdHlwZToidmVjMiJ9LHtuYW1lOiJpZCIsdHlwZToidmVjNCJ9XSxoPXt2ZXJ0ZXg6aSxmcmFnbWVudDpsLGF0dHJpYnV0ZXM6dX0sZj17dmVydGV4Om8sZnJhZ21lbnQ6bCxhdHRyaWJ1dGVzOnV9LHA9e3ZlcnRleDpzLGZyYWdtZW50OmwsYXR0cmlidXRlczp1fSxkPXt2ZXJ0ZXg6aSxmcmFnbWVudDpjLGF0dHJpYnV0ZXM6dX0sZz17dmVydGV4Om8sZnJhZ21lbnQ6YyxhdHRyaWJ1dGVzOnV9LHY9e3ZlcnRleDpzLGZyYWdtZW50OmMsYXR0cmlidXRlczp1fTtmdW5jdGlvbiBtKHQsZSl7dmFyIHI9bih0LGUpLGE9ci5hdHRyaWJ1dGVzO3JldHVybiBhLnBvc2l0aW9uLmxvY2F0aW9uPTAsYS5jb2xvci5sb2NhdGlvbj0xLGEuZ2x5cGgubG9jYXRpb249MixhLmlkLmxvY2F0aW9uPTMscn1yLmNyZWF0ZVBlcnNwZWN0aXZlPWZ1bmN0aW9uKHQpe3JldHVybiBtKHQsaCl9LHIuY3JlYXRlT3J0aG89ZnVuY3Rpb24odCl7cmV0dXJuIG0odCxmKX0sci5jcmVhdGVQcm9qZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBtKHQscCl9LHIuY3JlYXRlUGlja1BlcnNwZWN0aXZlPWZ1bmN0aW9uKHQpe3JldHVybiBtKHQsZCl9LHIuY3JlYXRlUGlja09ydGhvPWZ1bmN0aW9uKHQpe3JldHVybiBtKHQsZyl9LHIuY3JlYXRlUGlja1Byb2plY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIG0odCx2KX19LHsiZ2wtc2hhZGVyIjozMDQsZ2xzbGlmeTo0MTF9XSwzMDA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiaXMtc3RyaW5nLWJsYW5rIiksYT10KCJnbC1idWZmZXIiKSxpPXQoImdsLXZhbyIpLG89dCgidHlwZWRhcnJheS1wb29sIikscz10KCJnbC1tYXQ0L211bHRpcGx5IiksbD10KCIuL2xpYi9zaGFkZXJzIiksYz10KCIuL2xpYi9nbHlwaHMiKSx1PXQoIi4vbGliL2dldC1zaW1wbGUtc3RyaW5nIiksaD1bMSwwLDAsMCwwLDEsMCwwLDAsMCwxLDAsMCwwLDAsMV07ZnVuY3Rpb24gZih0LGUpe3ZhciByPXRbMF0sbj10WzFdLGE9dFsyXSxpPXRbM107cmV0dXJuIHRbMF09ZVswXSpyK2VbNF0qbitlWzhdKmErZVsxMl0qaSx0WzFdPWVbMV0qcitlWzVdKm4rZVs5XSphK2VbMTNdKmksdFsyXT1lWzJdKnIrZVs2XSpuK2VbMTBdKmErZVsxNF0qaSx0WzNdPWVbM10qcitlWzddKm4rZVsxMV0qYStlWzE1XSppLHR9ZnVuY3Rpb24gcCh0LGUscixuKXtyZXR1cm4gZihuLG4pLGYobixuKSxmKG4sbil9ZnVuY3Rpb24gZCh0LGUpe3RoaXMuaW5kZXg9dCx0aGlzLmRhdGFDb29yZGluYXRlPXRoaXMucG9zaXRpb249ZX1mdW5jdGlvbiBnKHQpe3JldHVybiEwPT09dD8xOnQ+MT8xOnR9ZnVuY3Rpb24gdih0LGUscixuLGEsaSxvLHMsbCxjLHUsaCl7dGhpcy5nbD10LHRoaXMucGl4ZWxSYXRpbz0xLHRoaXMuc2hhZGVyPWUsdGhpcy5vcnRob1NoYWRlcj1yLHRoaXMucHJvamVjdFNoYWRlcj1uLHRoaXMucG9pbnRCdWZmZXI9YSx0aGlzLmNvbG9yQnVmZmVyPWksdGhpcy5nbHlwaEJ1ZmZlcj1vLHRoaXMuaWRCdWZmZXI9cyx0aGlzLnZhbz1sLHRoaXMudmVydGV4Q291bnQ9MCx0aGlzLmxpbmVWZXJ0ZXhDb3VudD0wLHRoaXMub3BhY2l0eT0xLHRoaXMuaGFzQWxwaGE9ITEsdGhpcy5saW5lV2lkdGg9MCx0aGlzLnByb2plY3RTY2FsZT1bMi8zLDIvMywyLzNdLHRoaXMucHJvamVjdE9wYWNpdHk9WzEsMSwxXSx0aGlzLnByb2plY3RIYXNBbHBoYT0hMSx0aGlzLnBpY2tJZD0wLHRoaXMucGlja1BlcnNwZWN0aXZlU2hhZGVyPWMsdGhpcy5waWNrT3J0aG9TaGFkZXI9dSx0aGlzLnBpY2tQcm9qZWN0U2hhZGVyPWgsdGhpcy5wb2ludHM9W10sdGhpcy5fc2VsZWN0UmVzdWx0PW5ldyBkKDAsWzAsMCwwXSksdGhpcy51c2VPcnRobz0hMCx0aGlzLmJvdW5kcz1bWzEvMCwxLzAsMS8wXSxbLTEvMCwtMS8wLC0xLzBdXSx0aGlzLmF4ZXNQcm9qZWN0PVshMCwhMCwhMF0sdGhpcy5heGVzQm91bmRzPVtbLTEvMCwtMS8wLC0xLzBdLFsxLzAsMS8wLDEvMF1dLHRoaXMuaGlnaGxpZ2h0SWQ9WzEsMSwxLDFdLHRoaXMuaGlnaGxpZ2h0U2NhbGU9Mix0aGlzLmNsaXBCb3VuZHM9W1stMS8wLC0xLzAsLTEvMF0sWzEvMCwxLzAsMS8wXV0sdGhpcy5kaXJ0eT0hMH1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5nbCxyPWwuY3JlYXRlUGVyc3BlY3RpdmUoZSksbj1sLmNyZWF0ZU9ydGhvKGUpLG89bC5jcmVhdGVQcm9qZWN0KGUpLHM9bC5jcmVhdGVQaWNrUGVyc3BlY3RpdmUoZSksYz1sLmNyZWF0ZVBpY2tPcnRobyhlKSx1PWwuY3JlYXRlUGlja1Byb2plY3QoZSksaD1hKGUpLGY9YShlKSxwPWEoZSksZD1hKGUpLGc9aShlLFt7YnVmZmVyOmgsc2l6ZTozLHR5cGU6ZS5GTE9BVH0se2J1ZmZlcjpmLHNpemU6NCx0eXBlOmUuRkxPQVR9LHtidWZmZXI6cCxzaXplOjIsdHlwZTplLkZMT0FUfSx7YnVmZmVyOmQsc2l6ZTo0LHR5cGU6ZS5VTlNJR05FRF9CWVRFLG5vcm1hbGl6ZWQ6ITB9XSksbT1uZXcgdihlLHIsbixvLGgsZixwLGQsZyxzLGMsdSk7cmV0dXJuIG0udXBkYXRlKHQpLG19O3ZhciBtPXYucHJvdG90eXBlO20ucGlja1Nsb3RzPTEsbS5zZXRQaWNrQmFzZT1mdW5jdGlvbih0KXt0aGlzLnBpY2tJZD10fSxtLmlzVHJhbnNwYXJlbnQ9ZnVuY3Rpb24oKXtpZih0aGlzLmhhc0FscGhhKXJldHVybiEwO2Zvcih2YXIgdD0wO3Q8MzsrK3QpaWYodGhpcy5heGVzUHJvamVjdFt0XSYmdGhpcy5wcm9qZWN0SGFzQWxwaGEpcmV0dXJuITA7cmV0dXJuITF9LG0uaXNPcGFxdWU9ZnVuY3Rpb24oKXtpZighdGhpcy5oYXNBbHBoYSlyZXR1cm4hMDtmb3IodmFyIHQ9MDt0PDM7Kyt0KWlmKHRoaXMuYXhlc1Byb2plY3RbdF0mJiF0aGlzLnByb2plY3RIYXNBbHBoYSlyZXR1cm4hMDtyZXR1cm4hMX07dmFyIHk9WzAsMF0seD1bMCwwLDBdLGI9WzAsMCwwXSxfPVswLDAsMCwxXSx3PVswLDAsMCwxXSxrPWguc2xpY2UoKSxUPVswLDAsMF0sTT1bWzAsMCwwXSxbMCwwLDBdXTtmdW5jdGlvbiBBKHQpe3JldHVybiB0WzBdPXRbMV09dFsyXT0wLHR9ZnVuY3Rpb24gUyh0LGUpe3JldHVybiB0WzBdPWVbMF0sdFsxXT1lWzFdLHRbMl09ZVsyXSx0WzNdPTEsdH1mdW5jdGlvbiBFKHQsZSxyLG4pe3JldHVybiB0WzBdPWVbMF0sdFsxXT1lWzFdLHRbMl09ZVsyXSx0W3JdPW4sdH1mdW5jdGlvbiBMKHQsZSxyLG4pe3ZhciBhLGk9ZS5heGVzUHJvamVjdCxvPWUuZ2wsbD10LnVuaWZvcm1zLGM9ci5tb2RlbHx8aCx1PXIudmlld3x8aCxmPXIucHJvamVjdGlvbnx8aCxkPWUuYXhlc0JvdW5kcyxnPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1NLHI9MDtyPDI7KytyKWZvcih2YXIgbj0wO248MzsrK24pZVtyXVtuXT1NYXRoLm1heChNYXRoLm1pbih0W3JdW25dLDFlOCksLTFlOCk7cmV0dXJuIGV9KGUuY2xpcEJvdW5kcyk7YT1lLmF4ZXMmJmUuYXhlcy5sYXN0Q3ViZVByb3BzP2UuYXhlcy5sYXN0Q3ViZVByb3BzLmF4aXM6WzEsMSwxXSx5WzBdPTIvby5kcmF3aW5nQnVmZmVyV2lkdGgseVsxXT0yL28uZHJhd2luZ0J1ZmZlckhlaWdodCx0LmJpbmQoKSxsLnZpZXc9dSxsLnByb2plY3Rpb249ZixsLnNjcmVlblNpemU9eSxsLmhpZ2hsaWdodElkPWUuaGlnaGxpZ2h0SWQsbC5oaWdobGlnaHRTY2FsZT1lLmhpZ2hsaWdodFNjYWxlLGwuY2xpcEJvdW5kcz1nLGwucGlja0dyb3VwPWUucGlja0lkLzI1NSxsLnBpeGVsUmF0aW89bjtmb3IodmFyIHY9MDt2PDM7Kyt2KWlmKGlbdl0pe2wuc2NhbGU9ZS5wcm9qZWN0U2NhbGVbdl0sbC5vcGFjaXR5PWUucHJvamVjdE9wYWNpdHlbdl07Zm9yKHZhciBtPWssTD0wO0w8MTY7KytMKW1bTF09MDtmb3IoTD0wO0w8NDsrK0wpbVs1KkxdPTE7bVs1KnZdPTAsYVt2XTwwP21bMTIrdl09ZFswXVt2XTptWzEyK3ZdPWRbMV1bdl0scyhtLGMsbSksbC5tb2RlbD1tO3ZhciBDPSh2KzEpJTMsUD0odisyKSUzLE89QSh4KSx6PUEoYik7T1tDXT0xLHpbUF09MTt2YXIgST1wKDAsMCwwLFMoXyxPKSksRD1wKDAsMCwwLFModyx6KSk7aWYoTWF0aC5hYnMoSVsxXSk+TWF0aC5hYnMoRFsxXSkpe3ZhciBSPUk7ST1ELEQ9UixSPU8sTz16LHo9Ujt2YXIgRj1DO0M9UCxQPUZ9SVswXTwwJiYoT1tDXT0tMSksRFsxXT4wJiYoeltQXT0tMSk7dmFyIEI9MCxOPTA7Zm9yKEw9MDtMPDQ7KytMKUIrPU1hdGgucG93KGNbNCpDK0xdLDIpLE4rPU1hdGgucG93KGNbNCpQK0xdLDIpO09bQ10vPU1hdGguc3FydChCKSx6W1BdLz1NYXRoLnNxcnQoTiksbC5heGVzWzBdPU8sbC5heGVzWzFdPXosbC5mcmFnQ2xpcEJvdW5kc1swXT1FKFQsZ1swXSx2LC0xZTgpLGwuZnJhZ0NsaXBCb3VuZHNbMV09RShULGdbMV0sdiwxZTgpLGUudmFvLmJpbmQoKSxlLnZhby5kcmF3KG8uVFJJQU5HTEVTLGUudmVydGV4Q291bnQpLGUubGluZVdpZHRoPjAmJihvLmxpbmVXaWR0aChlLmxpbmVXaWR0aCpuKSxlLnZhby5kcmF3KG8uTElORVMsZS5saW5lVmVydGV4Q291bnQsZS52ZXJ0ZXhDb3VudCkpLGUudmFvLnVuYmluZCgpfX12YXIgQz1bWy0xZTgsLTFlOCwtMWU4XSxbMWU4LDFlOCwxZThdXTtmdW5jdGlvbiBQKHQsZSxyLG4sYSxpLG8pe3ZhciBzPXIuZ2w7aWYoKGk9PT1yLnByb2plY3RIYXNBbHBoYXx8bykmJkwoZSxyLG4sYSksaT09PXIuaGFzQWxwaGF8fG8pe3QuYmluZCgpO3ZhciBsPXQudW5pZm9ybXM7bC5tb2RlbD1uLm1vZGVsfHxoLGwudmlldz1uLnZpZXd8fGgsbC5wcm9qZWN0aW9uPW4ucHJvamVjdGlvbnx8aCx5WzBdPTIvcy5kcmF3aW5nQnVmZmVyV2lkdGgseVsxXT0yL3MuZHJhd2luZ0J1ZmZlckhlaWdodCxsLnNjcmVlblNpemU9eSxsLmhpZ2hsaWdodElkPXIuaGlnaGxpZ2h0SWQsbC5oaWdobGlnaHRTY2FsZT1yLmhpZ2hsaWdodFNjYWxlLGwuZnJhZ0NsaXBCb3VuZHM9QyxsLmNsaXBCb3VuZHM9ci5heGVzLmJvdW5kcyxsLm9wYWNpdHk9ci5vcGFjaXR5LGwucGlja0dyb3VwPXIucGlja0lkLzI1NSxsLnBpeGVsUmF0aW89YSxyLnZhby5iaW5kKCksci52YW8uZHJhdyhzLlRSSUFOR0xFUyxyLnZlcnRleENvdW50KSxyLmxpbmVXaWR0aD4wJiYocy5saW5lV2lkdGgoci5saW5lV2lkdGgqYSksci52YW8uZHJhdyhzLkxJTkVTLHIubGluZVZlcnRleENvdW50LHIudmVydGV4Q291bnQpKSxyLnZhby51bmJpbmQoKX19ZnVuY3Rpb24gTyh0LGUscixhKXt2YXIgaTtpPUFycmF5LmlzQXJyYXkodCk/ZTx0Lmxlbmd0aD90W2VdOnZvaWQgMDp0LGk9dShpKTt2YXIgbz0hMDtuKGkpJiYoaT0iXHUyNWJjIixvPSExKTt2YXIgcz1jKGkscixhKTtyZXR1cm57bWVzaDpzWzBdLGxpbmVzOnNbMV0sYm91bmRzOnNbMl0sdmlzaWJsZTpvfX1tLmRyYXc9ZnVuY3Rpb24odCl7UCh0aGlzLnVzZU9ydGhvP3RoaXMub3J0aG9TaGFkZXI6dGhpcy5zaGFkZXIsdGhpcy5wcm9qZWN0U2hhZGVyLHRoaXMsdCx0aGlzLnBpeGVsUmF0aW8sITEsITEpfSxtLmRyYXdUcmFuc3BhcmVudD1mdW5jdGlvbih0KXtQKHRoaXMudXNlT3J0aG8/dGhpcy5vcnRob1NoYWRlcjp0aGlzLnNoYWRlcix0aGlzLnByb2plY3RTaGFkZXIsdGhpcyx0LHRoaXMucGl4ZWxSYXRpbywhMCwhMSl9LG0uZHJhd1BpY2s9ZnVuY3Rpb24odCl7UCh0aGlzLnVzZU9ydGhvP3RoaXMucGlja09ydGhvU2hhZGVyOnRoaXMucGlja1BlcnNwZWN0aXZlU2hhZGVyLHRoaXMucGlja1Byb2plY3RTaGFkZXIsdGhpcyx0LDEsITAsITApfSxtLnBpY2s9ZnVuY3Rpb24odCl7aWYoIXQpcmV0dXJuIG51bGw7aWYodC5pZCE9PXRoaXMucGlja0lkKXJldHVybiBudWxsO3ZhciBlPXQudmFsdWVbMl0rKHQudmFsdWVbMV08PDgpKyh0LnZhbHVlWzBdPDwxNik7aWYoZT49dGhpcy5wb2ludENvdW50fHxlPDApcmV0dXJuIG51bGw7dmFyIHI9dGhpcy5wb2ludHNbZV0sbj10aGlzLl9zZWxlY3RSZXN1bHQ7bi5pbmRleD1lO2Zvcih2YXIgYT0wO2E8MzsrK2Epbi5wb3NpdGlvblthXT1uLmRhdGFDb29yZGluYXRlW2FdPXJbYV07cmV0dXJuIG59LG0uaGlnaGxpZ2h0PWZ1bmN0aW9uKHQpe2lmKHQpe3ZhciBlPXQuaW5kZXgscj0yNTUmZSxuPWU+PjgmMjU1LGE9ZT4+MTYmMjU1O3RoaXMuaGlnaGxpZ2h0SWQ9W3IvMjU1LG4vMjU1LGEvMjU1LDBdfWVsc2UgdGhpcy5oaWdobGlnaHRJZD1bMSwxLDEsMV19LG0udXBkYXRlPWZ1bmN0aW9uKHQpe2lmKCJwZXJzcGVjdGl2ZSJpbih0PXR8fHt9KSYmKHRoaXMudXNlT3J0aG89IXQucGVyc3BlY3RpdmUpLCJvcnRob2dyYXBoaWMiaW4gdCYmKHRoaXMudXNlT3J0aG89ISF0Lm9ydGhvZ3JhcGhpYyksImxpbmVXaWR0aCJpbiB0JiYodGhpcy5saW5lV2lkdGg9dC5saW5lV2lkdGgpLCJwcm9qZWN0ImluIHQpaWYoQXJyYXkuaXNBcnJheSh0LnByb2plY3QpKXRoaXMuYXhlc1Byb2plY3Q9dC5wcm9qZWN0O2Vsc2V7dmFyIGU9ISF0LnByb2plY3Q7dGhpcy5heGVzUHJvamVjdD1bZSxlLGVdfWlmKCJwcm9qZWN0U2NhbGUiaW4gdClpZihBcnJheS5pc0FycmF5KHQucHJvamVjdFNjYWxlKSl0aGlzLnByb2plY3RTY2FsZT10LnByb2plY3RTY2FsZS5zbGljZSgpO2Vsc2V7dmFyIHI9K3QucHJvamVjdFNjYWxlO3RoaXMucHJvamVjdFNjYWxlPVtyLHIscl19aWYodGhpcy5wcm9qZWN0SGFzQWxwaGE9ITEsInByb2plY3RPcGFjaXR5ImluIHQpe2lmKEFycmF5LmlzQXJyYXkodC5wcm9qZWN0T3BhY2l0eSkpdGhpcy5wcm9qZWN0T3BhY2l0eT10LnByb2plY3RPcGFjaXR5LnNsaWNlKCk7ZWxzZXtyPSt0LnByb2plY3RPcGFjaXR5O3RoaXMucHJvamVjdE9wYWNpdHk9W3IscixyXX1mb3IodmFyIG49MDtuPDM7KytuKXRoaXMucHJvamVjdE9wYWNpdHlbbl09Zyh0aGlzLnByb2plY3RPcGFjaXR5W25dKSx0aGlzLnByb2plY3RPcGFjaXR5W25dPDEmJih0aGlzLnByb2plY3RIYXNBbHBoYT0hMCl9dGhpcy5oYXNBbHBoYT0hMSwib3BhY2l0eSJpbiB0JiYodGhpcy5vcGFjaXR5PWcodC5vcGFjaXR5KSx0aGlzLm9wYWNpdHk8MSYmKHRoaXMuaGFzQWxwaGE9ITApKSx0aGlzLmRpcnR5PSEwO3ZhciBhLGkscz10LnBvc2l0aW9uLGw9dC5mb250fHwibm9ybWFsIixjPXQuYWxpZ25tZW50fHxbMCwwXTtpZigyPT09Yy5sZW5ndGgpYT1jWzBdLGk9Y1sxXTtlbHNle2E9W10saT1bXTtmb3Iobj0wO248Yy5sZW5ndGg7KytuKWFbbl09Y1tuXVswXSxpW25dPWNbbl1bMV19dmFyIHU9WzEvMCwxLzAsMS8wXSxoPVstMS8wLC0xLzAsLTEvMF0sZj10LmdseXBoLHA9dC5jb2xvcixkPXQuc2l6ZSx2PXQuYW5nbGUsbT10LmxpbmVDb2xvcix5PS0xLHg9MCxiPTAsXz0wO2lmKHMubGVuZ3RoKXtfPXMubGVuZ3RoO3Q6Zm9yKG49MDtuPF87KytuKXtmb3IodmFyIHc9c1tuXSxrPTA7azwzOysraylpZihpc05hTih3W2tdKXx8IWlzRmluaXRlKHdba10pKWNvbnRpbnVlIHQ7dmFyIFQ9KE49TyhmLG4sbCx0aGlzLnBpeGVsUmF0aW8pKS5tZXNoLE09Ti5saW5lcyxBPU4uYm91bmRzO3grPTMqVC5jZWxscy5sZW5ndGgsYis9MipNLmVkZ2VzLmxlbmd0aH19dmFyIFM9eCtiLEU9by5tYWxsb2NGbG9hdCgzKlMpLEw9by5tYWxsb2NGbG9hdCg0KlMpLEM9by5tYWxsb2NGbG9hdCgyKlMpLFA9by5tYWxsb2NVaW50MzIoUyk7aWYoUz4wKXt2YXIgej0wLEk9eCxEPVswLDAsMCwxXSxSPVswLDAsMCwxXSxGPUFycmF5LmlzQXJyYXkocCkmJkFycmF5LmlzQXJyYXkocFswXSksQj1BcnJheS5pc0FycmF5KG0pJiZBcnJheS5pc0FycmF5KG1bMF0pO3Q6Zm9yKG49MDtuPF87KytuKXt5Kz0xO2Zvcih3PXNbbl0saz0wO2s8MzsrK2spe2lmKGlzTmFOKHdba10pfHwhaXNGaW5pdGUod1trXSkpY29udGludWUgdDtoW2tdPU1hdGgubWF4KGhba10sd1trXSksdVtrXT1NYXRoLm1pbih1W2tdLHdba10pfVQ9KE49TyhmLG4sbCx0aGlzLnBpeGVsUmF0aW8pKS5tZXNoLE09Ti5saW5lcyxBPU4uYm91bmRzO3ZhciBOLGo9Ti52aXNpYmxlO2lmKGopaWYoQXJyYXkuaXNBcnJheShwKSl7aWYoMz09PShWPUY/bjxwLmxlbmd0aD9wW25dOlswLDAsMCwwXTpwKS5sZW5ndGgpe2ZvcihrPTA7azwzOysraylEW2tdPVZba107RFszXT0xfWVsc2UgaWYoND09PVYubGVuZ3RoKXtmb3Ioaz0wO2s8NDsrK2spRFtrXT1WW2tdOyF0aGlzLmhhc0FscGhhJiZWWzNdPDEmJih0aGlzLmhhc0FscGhhPSEwKX19ZWxzZSBEWzBdPURbMV09RFsyXT0wLERbM109MTtlbHNlIEQ9WzEsMSwxLDBdO2lmKGopaWYoQXJyYXkuaXNBcnJheShtKSl7dmFyIFY7aWYoMz09PShWPUI/bjxtLmxlbmd0aD9tW25dOlswLDAsMCwwXTptKS5sZW5ndGgpe2ZvcihrPTA7azwzOysraylSW2tdPVZba107UltrXT0xfWVsc2UgaWYoND09PVYubGVuZ3RoKXtmb3Ioaz0wO2s8NDsrK2spUltrXT1WW2tdOyF0aGlzLmhhc0FscGhhJiZWWzNdPDEmJih0aGlzLmhhc0FscGhhPSEwKX19ZWxzZSBSWzBdPVJbMV09UlsyXT0wLFJbM109MTtlbHNlIFI9WzEsMSwxLDBdO3ZhciBVPS41O2o/QXJyYXkuaXNBcnJheShkKT9VPW48ZC5sZW5ndGg/K2Rbbl06MTI6ZD9VPStkOnRoaXMudXNlT3J0aG8mJihVPTEyKTpVPTA7dmFyIHE9MDtBcnJheS5pc0FycmF5KHYpP3E9bjx2Lmxlbmd0aD8rdltuXTowOnYmJihxPSt2KTt2YXIgSD1NYXRoLmNvcyhxKSxHPU1hdGguc2luKHEpO2Zvcih3PXNbbl0saz0wO2s8MzsrK2spaFtrXT1NYXRoLm1heChoW2tdLHdba10pLHVba109TWF0aC5taW4odVtrXSx3W2tdKTt2YXIgWT1hLFc9aTtZPTA7QXJyYXkuaXNBcnJheShhKT9ZPW48YS5sZW5ndGg/YVtuXTowOmEmJihZPWEpO1c9MDtBcnJheS5pc0FycmF5KGkpP1c9bjxpLmxlbmd0aD9pW25dOjA6aSYmKFc9aSk7dmFyIFg9W1kqPVk+MD8xLUFbMF1bMF06WTwwPzErQVsxXVswXToxLFcqPVc+MD8xLUFbMF1bMV06VzwwPzErQVsxXVsxXToxXSxaPVQuY2VsbHN8fFtdLEo9VC5wb3NpdGlvbnN8fFtdO2ZvcihrPTA7azxaLmxlbmd0aDsrK2spZm9yKHZhciBLPVpba10sUT0wO1E8MzsrK1Epe2Zvcih2YXIgJD0wOyQ8MzsrKyQpRVszKnorJF09d1skXTtmb3IoJD0wOyQ8NDsrKyQpTFs0KnorJF09RFskXTtQW3pdPXk7dmFyIHR0PUpbS1tRXV07Q1syKnpdPVUqKEgqdHRbMF0tRyp0dFsxXStYWzBdKSxDWzIqeisxXT1VKihHKnR0WzBdK0gqdHRbMV0rWFsxXSkseis9MX1mb3IoWj1NLmVkZ2VzLEo9TS5wb3NpdGlvbnMsaz0wO2s8Wi5sZW5ndGg7KytrKWZvcihLPVpba10sUT0wO1E8MjsrK1Epe2ZvcigkPTA7JDwzOysrJClFWzMqSSskXT13WyRdO2ZvcigkPTA7JDw0OysrJClMWzQqSSskXT1SWyRdO1BbSV09eTt0dD1KW0tbUV1dO0NbMipJXT1VKihIKnR0WzBdLUcqdHRbMV0rWFswXSksQ1syKkkrMV09VSooRyp0dFswXStIKnR0WzFdK1hbMV0pLEkrPTF9fX10aGlzLmJvdW5kcz1bdSxoXSx0aGlzLnBvaW50cz1zLHRoaXMucG9pbnRDb3VudD1zLmxlbmd0aCx0aGlzLnZlcnRleENvdW50PXgsdGhpcy5saW5lVmVydGV4Q291bnQ9Yix0aGlzLnBvaW50QnVmZmVyLnVwZGF0ZShFKSx0aGlzLmNvbG9yQnVmZmVyLnVwZGF0ZShMKSx0aGlzLmdseXBoQnVmZmVyLnVwZGF0ZShDKSx0aGlzLmlkQnVmZmVyLnVwZGF0ZShQKSxvLmZyZWUoRSksby5mcmVlKEwpLG8uZnJlZShDKSxvLmZyZWUoUCl9LG0uZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuc2hhZGVyLmRpc3Bvc2UoKSx0aGlzLm9ydGhvU2hhZGVyLmRpc3Bvc2UoKSx0aGlzLnBpY2tQZXJzcGVjdGl2ZVNoYWRlci5kaXNwb3NlKCksdGhpcy5waWNrT3J0aG9TaGFkZXIuZGlzcG9zZSgpLHRoaXMudmFvLmRpc3Bvc2UoKSx0aGlzLnBvaW50QnVmZmVyLmRpc3Bvc2UoKSx0aGlzLmNvbG9yQnVmZmVyLmRpc3Bvc2UoKSx0aGlzLmdseXBoQnVmZmVyLmRpc3Bvc2UoKSx0aGlzLmlkQnVmZmVyLmRpc3Bvc2UoKX19LHsiLi9saWIvZ2V0LXNpbXBsZS1zdHJpbmciOjI5NywiLi9saWIvZ2x5cGhzIjoyOTgsIi4vbGliL3NoYWRlcnMiOjI5OSwiZ2wtYnVmZmVyIjoyNDQsImdsLW1hdDQvbXVsdGlwbHkiOjI3MCwiZ2wtdmFvIjozMjksImlzLXN0cmluZy1ibGFuayI6NDI1LCJ0eXBlZGFycmF5LXBvb2wiOjU0NH1dLDMwMTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJnbHNsaWZ5Iik7ci5ib3hWZXJ0ZXg9bihbInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzIgdmVydGV4O1xuXG51bmlmb3JtIHZlYzIgY29ybmVyQSwgY29ybmVyQjtcblxudm9pZCBtYWluKCkge1xuICBnbF9Qb3NpdGlvbiA9IHZlYzQobWl4KGNvcm5lckEsIGNvcm5lckIsIHZlcnRleCksIDAsIDEpO1xufVxuIl0pLHIuYm94RnJhZ21lbnQ9bihbInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxudW5pZm9ybSB2ZWM0IGNvbG9yO1xuXG52b2lkIG1haW4oKSB7XG4gIGdsX0ZyYWdDb2xvciA9IGNvbG9yO1xufVxuIl0pfSx7Z2xzbGlmeTo0MTF9XSwzMDI6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZ2wtc2hhZGVyIiksYT10KCJnbC1idWZmZXIiKSxpPXQoIi4vbGliL3NoYWRlcnMiKTtmdW5jdGlvbiBvKHQsZSxyKXt0aGlzLnBsb3Q9dCx0aGlzLmJveEJ1ZmZlcj1lLHRoaXMuYm94U2hhZGVyPXIsdGhpcy5lbmFibGVkPSEwLHRoaXMuc2VsZWN0Qm94PVsxLzAsMS8wLC0xLzAsLTEvMF0sdGhpcy5ib3JkZXJDb2xvcj1bMCwwLDAsMV0sdGhpcy5pbm5lckZpbGw9ITEsdGhpcy5pbm5lckNvbG9yPVswLDAsMCwuMjVdLHRoaXMub3V0ZXJGaWxsPSEwLHRoaXMub3V0ZXJDb2xvcj1bMCwwLDAsLjVdLHRoaXMuYm9yZGVyV2lkdGg9MTB9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5nbCxzPWEocixbMCwwLDAsMSwxLDAsMSwxXSksbD1uKHIsaS5ib3hWZXJ0ZXgsaS5ib3hGcmFnbWVudCksYz1uZXcgbyh0LHMsbCk7cmV0dXJuIGMudXBkYXRlKGUpLHQuYWRkT3ZlcmxheShjKSxjfTt2YXIgcz1vLnByb3RvdHlwZTtzLmRyYXc9ZnVuY3Rpb24oKXtpZih0aGlzLmVuYWJsZWQpe3ZhciB0PXRoaXMucGxvdCxlPXRoaXMuc2VsZWN0Qm94LHI9dGhpcy5ib3JkZXJXaWR0aCxuPSh0aGlzLmlubmVyRmlsbCx0aGlzLmlubmVyQ29sb3IpLGE9KHRoaXMub3V0ZXJGaWxsLHRoaXMub3V0ZXJDb2xvciksaT10aGlzLmJvcmRlckNvbG9yLG89dC5ib3gscz10LnNjcmVlbkJveCxsPXQuZGF0YUJveCxjPXQudmlld0JveCx1PXQucGl4ZWxSYXRpbyxoPShlWzBdLWxbMF0pKihjWzJdLWNbMF0pLyhsWzJdLWxbMF0pK2NbMF0sZj0oZVsxXS1sWzFdKSooY1szXS1jWzFdKS8obFszXS1sWzFdKStjWzFdLHA9KGVbMl0tbFswXSkqKGNbMl0tY1swXSkvKGxbMl0tbFswXSkrY1swXSxkPShlWzNdLWxbMV0pKihjWzNdLWNbMV0pLyhsWzNdLWxbMV0pK2NbMV07aWYoaD1NYXRoLm1heChoLGNbMF0pLGY9TWF0aC5tYXgoZixjWzFdKSxwPU1hdGgubWluKHAsY1syXSksZD1NYXRoLm1pbihkLGNbM10pLCEocDxofHxkPGYpKXtvLmJpbmQoKTt2YXIgZz1zWzJdLXNbMF0sdj1zWzNdLXNbMV07aWYodGhpcy5vdXRlckZpbGwmJihvLmRyYXdCb3goMCwwLGcsZixhKSxvLmRyYXdCb3goMCxmLGgsZCxhKSxvLmRyYXdCb3goMCxkLGcsdixhKSxvLmRyYXdCb3gocCxmLGcsZCxhKSksdGhpcy5pbm5lckZpbGwmJm8uZHJhd0JveChoLGYscCxkLG4pLHI+MCl7dmFyIG09cip1O28uZHJhd0JveChoLW0sZi1tLHArbSxmK20saSksby5kcmF3Qm94KGgtbSxkLW0scCttLGQrbSxpKSxvLmRyYXdCb3goaC1tLGYtbSxoK20sZCttLGkpLG8uZHJhd0JveChwLW0sZi1tLHArbSxkK20saSl9fX19LHMudXBkYXRlPWZ1bmN0aW9uKHQpe3Q9dHx8e30sdGhpcy5pbm5lckZpbGw9ISF0LmlubmVyRmlsbCx0aGlzLm91dGVyRmlsbD0hIXQub3V0ZXJGaWxsLHRoaXMuaW5uZXJDb2xvcj0odC5pbm5lckNvbG9yfHxbMCwwLDAsLjVdKS5zbGljZSgpLHRoaXMub3V0ZXJDb2xvcj0odC5vdXRlckNvbG9yfHxbMCwwLDAsLjVdKS5zbGljZSgpLHRoaXMuYm9yZGVyQ29sb3I9KHQuYm9yZGVyQ29sb3J8fFswLDAsMCwxXSkuc2xpY2UoKSx0aGlzLmJvcmRlcldpZHRoPXQuYm9yZGVyV2lkdGh8fDAsdGhpcy5zZWxlY3RCb3g9KHQuc2VsZWN0Qm94fHx0aGlzLnNlbGVjdEJveCkuc2xpY2UoKX0scy5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5ib3hCdWZmZXIuZGlzcG9zZSgpLHRoaXMuYm94U2hhZGVyLmRpc3Bvc2UoKSx0aGlzLnBsb3QucmVtb3ZlT3ZlcmxheSh0aGlzKX19LHsiLi9saWIvc2hhZGVycyI6MzAxLCJnbC1idWZmZXIiOjI0NCwiZ2wtc2hhZGVyIjozMDR9XSwzMDM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxpPWVbMV0sbz1uKHQscixpLHt9KSxzPWEubWFsbG9jVWludDgocippKjQpO3JldHVybiBuZXcgYyh0LG8scyl9O3ZhciBuPXQoImdsLWZibyIpLGE9dCgidHlwZWRhcnJheS1wb29sIiksaT10KCJuZGFycmF5Iiksbz10KCJiaXQtdHdpZGRsZSIpLm5leHRQb3cyLHM9dCgiY3dpc2UvbGliL3dyYXBwZXIiKSh7YXJnczpbImFycmF5Iix7b2Zmc2V0OlswLDAsMV0sYXJyYXk6MH0se29mZnNldDpbMCwwLDJdLGFycmF5OjB9LHtvZmZzZXQ6WzAsMCwzXSxhcnJheTowfSwic2NhbGFyIiwic2NhbGFyIiwiaW5kZXgiXSxwcmU6e2JvZHk6Int0aGlzX2Nsb3Nlc3REMj0xZTgsdGhpc19jbG9zZXN0WD0tMSx0aGlzX2Nsb3Nlc3RZPS0xfSIsYXJnczpbXSx0aGlzVmFyczpbInRoaXNfY2xvc2VzdEQyIiwidGhpc19jbG9zZXN0WCIsInRoaXNfY2xvc2VzdFkiXSxsb2NhbFZhcnM6W119LGJvZHk6e2JvZHk6IntpZihfaW5saW5lXzE2X2FyZzBfPDI1NXx8X2lubGluZV8xNl9hcmcxXzwyNTV8fF9pbmxpbmVfMTZfYXJnMl88MjU1fHxfaW5saW5lXzE2X2FyZzNfPDI1NSl7dmFyIF9pbmxpbmVfMTZfbD1faW5saW5lXzE2X2FyZzRfLV9pbmxpbmVfMTZfYXJnNl9bMF0sX2lubGluZV8xNl9hPV9pbmxpbmVfMTZfYXJnNV8tX2lubGluZV8xNl9hcmc2X1sxXSxfaW5saW5lXzE2X2Y9X2lubGluZV8xNl9sKl9pbmxpbmVfMTZfbCtfaW5saW5lXzE2X2EqX2lubGluZV8xNl9hO19pbmxpbmVfMTZfZjx0aGlzX2Nsb3Nlc3REMiYmKHRoaXNfY2xvc2VzdEQyPV9pbmxpbmVfMTZfZix0aGlzX2Nsb3Nlc3RYPV9pbmxpbmVfMTZfYXJnNl9bMF0sdGhpc19jbG9zZXN0WT1faW5saW5lXzE2X2FyZzZfWzFdKX19IixhcmdzOlt7bmFtZToiX2lubGluZV8xNl9hcmcwXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xNl9hcmcxXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xNl9hcmcyXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xNl9hcmczXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xNl9hcmc0XyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xNl9hcmc1XyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xNl9hcmc2XyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDo0fV0sdGhpc1ZhcnM6WyJ0aGlzX2Nsb3Nlc3REMiIsInRoaXNfY2xvc2VzdFgiLCJ0aGlzX2Nsb3Nlc3RZIl0sbG9jYWxWYXJzOlsiX2lubGluZV8xNl9hIiwiX2lubGluZV8xNl9mIiwiX2lubGluZV8xNl9sIl19LHBvc3Q6e2JvZHk6IntyZXR1cm5bdGhpc19jbG9zZXN0WCx0aGlzX2Nsb3Nlc3RZLHRoaXNfY2xvc2VzdEQyXX0iLGFyZ3M6W10sdGhpc1ZhcnM6WyJ0aGlzX2Nsb3Nlc3REMiIsInRoaXNfY2xvc2VzdFgiLCJ0aGlzX2Nsb3Nlc3RZIl0sbG9jYWxWYXJzOltdfSxkZWJ1ZzohMSxmdW5jTmFtZToiY3dpc2UiLGJsb2NrU2l6ZTo2NH0pO2Z1bmN0aW9uIGwodCxlLHIsbixhKXt0aGlzLmNvb3JkPVt0LGVdLHRoaXMuaWQ9cix0aGlzLnZhbHVlPW4sdGhpcy5kaXN0YW5jZT1hfWZ1bmN0aW9uIGModCxlLHIpe3RoaXMuZ2w9dCx0aGlzLmZibz1lLHRoaXMuYnVmZmVyPXIsdGhpcy5fcmVhZFRpbWVvdXQ9bnVsbDt2YXIgbj10aGlzO3RoaXMuX3JlYWRDYWxsYmFjaz1mdW5jdGlvbigpe24uZ2wmJihlLmJpbmQoKSx0LnJlYWRQaXhlbHMoMCwwLGUuc2hhcGVbMF0sZS5zaGFwZVsxXSx0LlJHQkEsdC5VTlNJR05FRF9CWVRFLG4uYnVmZmVyKSxuLl9yZWFkVGltZW91dD1udWxsKX19dmFyIHU9Yy5wcm90b3R5cGU7T2JqZWN0LmRlZmluZVByb3BlcnR5KHUsInNoYXBlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2w/dGhpcy5mYm8uc2hhcGUuc2xpY2UoKTpbMCwwXX0sc2V0OmZ1bmN0aW9uKHQpe2lmKHRoaXMuZ2wpe3RoaXMuZmJvLnNoYXBlPXQ7dmFyIGU9dGhpcy5mYm8uc2hhcGVbMF0scj10aGlzLmZiby5zaGFwZVsxXTtpZihyKmUqND50aGlzLmJ1ZmZlci5sZW5ndGgpe2EuZnJlZSh0aGlzLmJ1ZmZlcik7Zm9yKHZhciBuPXRoaXMuYnVmZmVyPWEubWFsbG9jVWludDgobyhyKmUqNCkpLGk9MDtpPHIqZSo0OysraSluW2ldPTI1NX1yZXR1cm4gdH19fSksdS5iZWdpbj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2w7dGhpcy5zaGFwZTt0JiYodGhpcy5mYm8uYmluZCgpLHQuY2xlYXJDb2xvcigxLDEsMSwxKSx0LmNsZWFyKHQuQ09MT1JfQlVGRkVSX0JJVHx0LkRFUFRIX0JVRkZFUl9CSVQpKX0sdS5lbmQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdsO3QmJih0LmJpbmRGcmFtZWJ1ZmZlcih0LkZSQU1FQlVGRkVSLG51bGwpLHRoaXMuX3JlYWRUaW1lb3V0fHxjbGVhclRpbWVvdXQodGhpcy5fcmVhZFRpbWVvdXQpLHRoaXMuX3JlYWRUaW1lb3V0PXNldFRpbWVvdXQodGhpcy5fcmVhZENhbGxiYWNrLDEpKX0sdS5xdWVyeT1mdW5jdGlvbih0LGUscil7aWYoIXRoaXMuZ2wpcmV0dXJuIG51bGw7dmFyIG49dGhpcy5mYm8uc2hhcGUuc2xpY2UoKTt0fD0wLGV8PTAsIm51bWJlciIhPXR5cGVvZiByJiYocj0xKTt2YXIgYT0wfE1hdGgubWluKE1hdGgubWF4KHQtciwwKSxuWzBdKSxvPTB8TWF0aC5taW4oTWF0aC5tYXgodCtyLDApLG5bMF0pLGM9MHxNYXRoLm1pbihNYXRoLm1heChlLXIsMCksblsxXSksdT0wfE1hdGgubWluKE1hdGgubWF4KGUrciwwKSxuWzFdKTtpZihvPD1hfHx1PD1jKXJldHVybiBudWxsO3ZhciBoPVtvLWEsdS1jXSxmPWkodGhpcy5idWZmZXIsW2hbMF0saFsxXSw0XSxbNCw0Km5bMF0sMV0sNCooYStuWzBdKmMpKSxwPXMoZi5oaShoWzBdLGhbMV0sMSkscixyKSxkPXBbMF0sZz1wWzFdO3JldHVybiBkPDB8fE1hdGgucG93KHRoaXMucmFkaXVzLDIpPHBbMl0/bnVsbDpuZXcgbChkK2F8MCxnK2N8MCxmLmdldChkLGcsMCksW2YuZ2V0KGQsZywxKSxmLmdldChkLGcsMiksZi5nZXQoZCxnLDMpXSxNYXRoLnNxcnQocFsyXSkpfSx1LmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLmdsJiYodGhpcy5mYm8uZGlzcG9zZSgpLGEuZnJlZSh0aGlzLmJ1ZmZlciksdGhpcy5nbD1udWxsLHRoaXMuX3JlYWRUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fcmVhZFRpbWVvdXQpKX19LHsiYml0LXR3aWRkbGUiOjk0LCJjd2lzZS9saWIvd3JhcHBlciI6MTUxLCJnbC1mYm8iOjI1MixuZGFycmF5OjQ1MiwidHlwZWRhcnJheS1wb29sIjo1NDR9XSwzMDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9saWIvY3JlYXRlLXVuaWZvcm1zIiksYT10KCIuL2xpYi9jcmVhdGUtYXR0cmlidXRlcyIpLGk9dCgiLi9saWIvcmVmbGVjdCIpLG89dCgiLi9saWIvc2hhZGVyLWNhY2hlIikscz10KCIuL2xpYi9ydW50aW1lLXJlZmxlY3QiKSxsPXQoIi4vbGliL0dMRXJyb3IiKTtmdW5jdGlvbiBjKHQpe3RoaXMuZ2w9dCx0aGlzLmdsLmxhc3RBdHRyaWJDb3VudD0wLHRoaXMuX3ZyZWY9dGhpcy5fZnJlZj10aGlzLl9yZWxpbms9dGhpcy52ZXJ0U2hhZGVyPXRoaXMuZnJhZ1NoYWRlcj10aGlzLnByb2dyYW09dGhpcy5hdHRyaWJ1dGVzPXRoaXMudW5pZm9ybXM9dGhpcy50eXBlcz1udWxsfXZhciB1PWMucHJvdG90eXBlO2Z1bmN0aW9uIGgodCxlKXtyZXR1cm4gdC5uYW1lPGUubmFtZT8tMToxfXUuYmluZD1mdW5jdGlvbigpe3ZhciB0O3RoaXMucHJvZ3JhbXx8dGhpcy5fcmVsaW5rKCk7dmFyIGU9dGhpcy5nbC5nZXRQcm9ncmFtUGFyYW1ldGVyKHRoaXMucHJvZ3JhbSx0aGlzLmdsLkFDVElWRV9BVFRSSUJVVEVTKSxyPXRoaXMuZ2wubGFzdEF0dHJpYkNvdW50O2lmKGU+cilmb3IodD1yO3Q8ZTt0KyspdGhpcy5nbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSh0KTtlbHNlIGlmKHI+ZSlmb3IodD1lO3Q8cjt0KyspdGhpcy5nbC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkodCk7dGhpcy5nbC5sYXN0QXR0cmliQ291bnQ9ZSx0aGlzLmdsLnVzZVByb2dyYW0odGhpcy5wcm9ncmFtKX0sdS5kaXNwb3NlPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuZ2wubGFzdEF0dHJpYkNvdW50LGU9MDtlPHQ7ZSsrKXRoaXMuZ2wuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KGUpO3RoaXMuZ2wubGFzdEF0dHJpYkNvdW50PTAsdGhpcy5fZnJlZiYmdGhpcy5fZnJlZi5kaXNwb3NlKCksdGhpcy5fdnJlZiYmdGhpcy5fdnJlZi5kaXNwb3NlKCksdGhpcy5hdHRyaWJ1dGVzPXRoaXMudHlwZXM9dGhpcy52ZXJ0U2hhZGVyPXRoaXMuZnJhZ1NoYWRlcj10aGlzLnByb2dyYW09dGhpcy5fcmVsaW5rPXRoaXMuX2ZyZWY9dGhpcy5fdnJlZj1udWxsfSx1LnVwZGF0ZT1mdW5jdGlvbih0LGUscixjKXtpZighZXx8MT09PWFyZ3VtZW50cy5sZW5ndGgpe3ZhciB1PXQ7dD11LnZlcnRleCxlPXUuZnJhZ21lbnQscj11LnVuaWZvcm1zLGM9dS5hdHRyaWJ1dGVzfXZhciBmPXRoaXMscD1mLmdsLGQ9Zi5fdnJlZjtmLl92cmVmPW8uc2hhZGVyKHAscC5WRVJURVhfU0hBREVSLHQpLGQmJmQuZGlzcG9zZSgpLGYudmVydFNoYWRlcj1mLl92cmVmLnNoYWRlcjt2YXIgZz10aGlzLl9mcmVmO2lmKGYuX2ZyZWY9by5zaGFkZXIocCxwLkZSQUdNRU5UX1NIQURFUixlKSxnJiZnLmRpc3Bvc2UoKSxmLmZyYWdTaGFkZXI9Zi5fZnJlZi5zaGFkZXIsIXJ8fCFjKXt2YXIgdj1wLmNyZWF0ZVByb2dyYW0oKTtpZihwLmF0dGFjaFNoYWRlcih2LGYuZnJhZ1NoYWRlcikscC5hdHRhY2hTaGFkZXIodixmLnZlcnRTaGFkZXIpLHAubGlua1Byb2dyYW0odiksIXAuZ2V0UHJvZ3JhbVBhcmFtZXRlcih2LHAuTElOS19TVEFUVVMpKXt2YXIgbT1wLmdldFByb2dyYW1JbmZvTG9nKHYpO3Rocm93IG5ldyBsKG0sIkVycm9yIGxpbmtpbmcgcHJvZ3JhbToiK20pfXI9cnx8cy51bmlmb3JtcyhwLHYpLGM9Y3x8cy5hdHRyaWJ1dGVzKHAsdikscC5kZWxldGVQcm9ncmFtKHYpfShjPWMuc2xpY2UoKSkuc29ydChoKTt2YXIgeSx4PVtdLGI9W10sXz1bXTtmb3IoeT0wO3k8Yy5sZW5ndGg7Kyt5KXt2YXIgdz1jW3ldO2lmKHcudHlwZS5pbmRleE9mKCJtYXQiKT49MCl7Zm9yKHZhciBrPTB8dy50eXBlLmNoYXJBdCh3LnR5cGUubGVuZ3RoLTEpLFQ9bmV3IEFycmF5KGspLE09MDtNPGs7KytNKVRbTV09Xy5sZW5ndGgsYi5wdXNoKHcubmFtZSsiWyIrTSsiXSIpLCJudW1iZXIiPT10eXBlb2Ygdy5sb2NhdGlvbj9fLnB1c2gody5sb2NhdGlvbitNKTpBcnJheS5pc0FycmF5KHcubG9jYXRpb24pJiZ3LmxvY2F0aW9uLmxlbmd0aD09PWsmJiJudW1iZXIiPT10eXBlb2Ygdy5sb2NhdGlvbltNXT9fLnB1c2goMHx3LmxvY2F0aW9uW01dKTpfLnB1c2goLTEpO3gucHVzaCh7bmFtZTp3Lm5hbWUsdHlwZTp3LnR5cGUsbG9jYXRpb25zOlR9KX1lbHNlIHgucHVzaCh7bmFtZTp3Lm5hbWUsdHlwZTp3LnR5cGUsbG9jYXRpb25zOltfLmxlbmd0aF19KSxiLnB1c2gody5uYW1lKSwibnVtYmVyIj09dHlwZW9mIHcubG9jYXRpb24/Xy5wdXNoKDB8dy5sb2NhdGlvbik6Xy5wdXNoKC0xKX12YXIgQT0wO2Zvcih5PTA7eTxfLmxlbmd0aDsrK3kpaWYoX1t5XTwwKXtmb3IoO18uaW5kZXhPZihBKT49MDspQSs9MTtfW3ldPUF9dmFyIFM9bmV3IEFycmF5KHIubGVuZ3RoKTtmdW5jdGlvbiBFKCl7Zi5wcm9ncmFtPW8ucHJvZ3JhbShwLGYuX3ZyZWYsZi5fZnJlZixiLF8pO2Zvcih2YXIgdD0wO3Q8ci5sZW5ndGg7Kyt0KVNbdF09cC5nZXRVbmlmb3JtTG9jYXRpb24oZi5wcm9ncmFtLHJbdF0ubmFtZSl9RSgpLGYuX3JlbGluaz1FLGYudHlwZXM9e3VuaWZvcm1zOmkociksYXR0cmlidXRlczppKGMpfSxmLmF0dHJpYnV0ZXM9YShwLGYseCxfKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwidW5pZm9ybXMiLG4ocCxmLHIsUykpfSxlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT1uZXcgYyh0KTtyZXR1cm4gaS51cGRhdGUoZSxyLG4sYSksaX19LHsiLi9saWIvR0xFcnJvciI6MzA1LCIuL2xpYi9jcmVhdGUtYXR0cmlidXRlcyI6MzA2LCIuL2xpYi9jcmVhdGUtdW5pZm9ybXMiOjMwNywiLi9saWIvcmVmbGVjdCI6MzA4LCIuL2xpYi9ydW50aW1lLXJlZmxlY3QiOjMwOSwiLi9saWIvc2hhZGVyLWNhY2hlIjozMTB9XSwzMDU6W2Z1bmN0aW9uKHQsZSxyKXtmdW5jdGlvbiBuKHQsZSxyKXt0aGlzLnNob3J0TWVzc2FnZT1lfHwiIix0aGlzLmxvbmdNZXNzYWdlPXJ8fCIiLHRoaXMucmF3RXJyb3I9dHx8IiIsdGhpcy5tZXNzYWdlPSJnbC1zaGFkZXI6ICIrKGV8fHR8fCIiKSsocj8iXG4iK3I6IiIpLHRoaXMuc3RhY2s9KG5ldyBFcnJvcikuc3RhY2t9bi5wcm90b3R5cGU9bmV3IEVycm9yLG4ucHJvdG90eXBlLm5hbWU9IkdMRXJyb3IiLG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yPW4sZS5leHBvcnRzPW59LHt9XSwzMDY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGEpe2Zvcih2YXIgaT17fSxsPTAsYz1yLmxlbmd0aDtsPGM7KytsKXt2YXIgdT1yW2xdLGg9dS5uYW1lLGY9dS50eXBlLHA9dS5sb2NhdGlvbnM7c3dpdGNoKGYpe2Nhc2UiYm9vbCI6Y2FzZSJpbnQiOmNhc2UiZmxvYXQiOm8odCxlLHBbMF0sYSwxLGksaCk7YnJlYWs7ZGVmYXVsdDppZihmLmluZGV4T2YoInZlYyIpPj0wKXt2YXIgZD1mLmNoYXJDb2RlQXQoZi5sZW5ndGgtMSktNDg7aWYoZDwyfHxkPjQpdGhyb3cgbmV3IG4oIiIsIkludmFsaWQgZGF0YSB0eXBlIGZvciBhdHRyaWJ1dGUgIitoKyI6ICIrZik7byh0LGUscFswXSxhLGQsaSxoKX1lbHNle2lmKCEoZi5pbmRleE9mKCJtYXQiKT49MCkpdGhyb3cgbmV3IG4oIiIsIlVua25vd24gZGF0YSB0eXBlIGZvciBhdHRyaWJ1dGUgIitoKyI6ICIrZik7dmFyIGQ9Zi5jaGFyQ29kZUF0KGYubGVuZ3RoLTEpLTQ4O2lmKGQ8Mnx8ZD40KXRocm93IG5ldyBuKCIiLCJJbnZhbGlkIGRhdGEgdHlwZSBmb3IgYXR0cmlidXRlICIraCsiOiAiK2YpO3ModCxlLHAsYSxkLGksaCl9fX1yZXR1cm4gaX07dmFyIG49dCgiLi9HTEVycm9yIik7ZnVuY3Rpb24gYSh0LGUscixuLGEsaSl7dGhpcy5fZ2w9dCx0aGlzLl93cmFwcGVyPWUsdGhpcy5faW5kZXg9cix0aGlzLl9sb2NhdGlvbnM9bix0aGlzLl9kaW1lbnNpb249YSx0aGlzLl9jb25zdEZ1bmM9aX12YXIgaT1hLnByb3RvdHlwZTtmdW5jdGlvbiBvKHQsZSxyLG4saSxvLHMpe2Zvcih2YXIgbD1bImdsIiwidiJdLGM9W10sdT0wO3U8aTsrK3UpbC5wdXNoKCJ4Iit1KSxjLnB1c2goIngiK3UpO2wucHVzaCgiaWYoeDAubGVuZ3RoPT09dm9pZCAwKXtyZXR1cm4gZ2wudmVydGV4QXR0cmliIitpKyJmKHYsIitjLmpvaW4oKSsiKX1lbHNle3JldHVybiBnbC52ZXJ0ZXhBdHRyaWIiK2krImZ2KHYseDApfSIpO3ZhciBoPUZ1bmN0aW9uLmFwcGx5KG51bGwsbCksZj1uZXcgYSh0LGUscixuLGksaCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KG8scyx7c2V0OmZ1bmN0aW9uKGUpe3JldHVybiB0LmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShuW3JdKSxoKHQsbltyXSxlKSxlfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sZW51bWVyYWJsZTohMH0pfWZ1bmN0aW9uIHModCxlLHIsbixhLGkscyl7Zm9yKHZhciBsPW5ldyBBcnJheShhKSxjPW5ldyBBcnJheShhKSx1PTA7dTxhOysrdSlvKHQsZSxyW3VdLG4sYSxsLHUpLGNbdV09bFt1XTtPYmplY3QuZGVmaW5lUHJvcGVydHkobCwibG9jYXRpb24iLHtzZXQ6ZnVuY3Rpb24odCl7aWYoQXJyYXkuaXNBcnJheSh0KSlmb3IodmFyIGU9MDtlPGE7KytlKWNbZV0ubG9jYXRpb249dFtlXTtlbHNlIGZvcihlPTA7ZTxhOysrZSljW2VdLmxvY2F0aW9uPXQrZTtyZXR1cm4gdH0sZ2V0OmZ1bmN0aW9uKCl7Zm9yKHZhciB0PW5ldyBBcnJheShhKSxlPTA7ZTxhOysrZSl0W2VdPW5bcltlXV07cmV0dXJuIHR9LGVudW1lcmFibGU6ITB9KSxsLnBvaW50ZXI9ZnVuY3Rpb24oZSxpLG8scyl7ZT1lfHx0LkZMT0FULGk9ISFpLG89b3x8YSphLHM9c3x8MDtmb3IodmFyIGw9MDtsPGE7KytsKXt2YXIgYz1uW3JbbF1dO3QudmVydGV4QXR0cmliUG9pbnRlcihjLGEsZSxpLG8scytsKmEpLHQuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoYyl9fTt2YXIgaD1uZXcgQXJyYXkoYSksZj10WyJ2ZXJ0ZXhBdHRyaWIiK2ErImZ2Il07T2JqZWN0LmRlZmluZVByb3BlcnR5KGkscyx7c2V0OmZ1bmN0aW9uKGUpe2Zvcih2YXIgaT0wO2k8YTsrK2kpe3ZhciBvPW5bcltpXV07aWYodC5kaXNhYmxlVmVydGV4QXR0cmliQXJyYXkobyksQXJyYXkuaXNBcnJheShlWzBdKSlmLmNhbGwodCxvLGVbaV0pO2Vsc2V7Zm9yKHZhciBzPTA7czxhOysrcyloW3NdPWVbYSppK3NdO2YuY2FsbCh0LG8saCl9fXJldHVybiBlfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sZW51bWVyYWJsZTohMH0pfWkucG9pbnRlcj1mdW5jdGlvbih0LGUscixuKXt2YXIgYT10aGlzLl9nbCxpPXRoaXMuX2xvY2F0aW9uc1t0aGlzLl9pbmRleF07YS52ZXJ0ZXhBdHRyaWJQb2ludGVyKGksdGhpcy5fZGltZW5zaW9uLHR8fGEuRkxPQVQsISFlLHJ8fDAsbnx8MCksYS5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShpKX0saS5zZXQ9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIHRoaXMuX2NvbnN0RnVuYyh0aGlzLl9sb2NhdGlvbnNbdGhpcy5faW5kZXhdLHQsZSxyLG4pfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoaSwibG9jYXRpb24iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbG9jYXRpb25zW3RoaXMuX2luZGV4XX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0IT09dGhpcy5fbG9jYXRpb25zW3RoaXMuX2luZGV4XSYmKHRoaXMuX2xvY2F0aW9uc1t0aGlzLl9pbmRleF09MHx0LHRoaXMuX3dyYXBwZXIucHJvZ3JhbT1udWxsKSwwfHR9fSl9LHsiLi9HTEVycm9yIjozMDV9XSwzMDc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9yZWZsZWN0IiksYT10KCIuL0dMRXJyb3IiKTtmdW5jdGlvbiBpKHQpe3JldHVybiBuZXcgRnVuY3Rpb24oInkiLCJyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4geX0iKSh0KX1mdW5jdGlvbiBvKHQsZSl7Zm9yKHZhciByPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbilyW25dPWU7cmV0dXJuIHJ9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLHMpe2Z1bmN0aW9uIGwodCxlLHIpe3N3aXRjaChyKXtjYXNlImJvb2wiOmNhc2UiaW50IjpjYXNlInNhbXBsZXIyRCI6Y2FzZSJzYW1wbGVyQ3ViZSI6cmV0dXJuImdsLnVuaWZvcm0xaShsb2NhdGlvbnNbIitlKyJdLG9iaiIrdCsiKSI7Y2FzZSJmbG9hdCI6cmV0dXJuImdsLnVuaWZvcm0xZihsb2NhdGlvbnNbIitlKyJdLG9iaiIrdCsiKSI7ZGVmYXVsdDp2YXIgbj1yLmluZGV4T2YoInZlYyIpO2lmKCEoMDw9biYmbjw9MSYmci5sZW5ndGg9PT00K24pKXtpZigwPT09ci5pbmRleE9mKCJtYXQiKSYmND09PXIubGVuZ3RoKXt2YXIgaT1yLmNoYXJDb2RlQXQoci5sZW5ndGgtMSktNDg7aWYoaTwyfHxpPjQpdGhyb3cgbmV3IGEoIiIsIkludmFsaWQgdW5pZm9ybSBkaW1lbnNpb24gdHlwZSBmb3IgbWF0cml4ICIrbmFtZSsiOiAiK3IpO3JldHVybiJnbC51bmlmb3JtTWF0cml4IitpKyJmdihsb2NhdGlvbnNbIitlKyJdLGZhbHNlLG9iaiIrdCsiKSJ9dGhyb3cgbmV3IGEoIiIsIlVua25vd24gdW5pZm9ybSBkYXRhIHR5cGUgZm9yICIrbmFtZSsiOiAiK3IpfXZhciBpPXIuY2hhckNvZGVBdChyLmxlbmd0aC0xKS00ODtpZihpPDJ8fGk+NCl0aHJvdyBuZXcgYSgiIiwiSW52YWxpZCBkYXRhIHR5cGUiKTtzd2l0Y2goci5jaGFyQXQoMCkpe2Nhc2UiYiI6Y2FzZSJpIjpyZXR1cm4iZ2wudW5pZm9ybSIraSsiaXYobG9jYXRpb25zWyIrZSsiXSxvYmoiK3QrIikiO2Nhc2UidiI6cmV0dXJuImdsLnVuaWZvcm0iK2krImZ2KGxvY2F0aW9uc1siK2UrIl0sb2JqIit0KyIpIjtkZWZhdWx0OnRocm93IG5ldyBhKCIiLCJVbnJlY29nbml6ZWQgZGF0YSB0eXBlIGZvciB2ZWN0b3IgIituYW1lKyI6ICIrcil9fX1mdW5jdGlvbiBjKGUpe2Zvcih2YXIgbj1bInJldHVybiBmdW5jdGlvbiB1cGRhdGVQcm9wZXJ0eShvYmopeyJdLGE9ZnVuY3Rpb24gdChlLHIpe2lmKCJvYmplY3QiIT10eXBlb2YgcilyZXR1cm5bW2Uscl1dO3ZhciBuPVtdO2Zvcih2YXIgYSBpbiByKXt2YXIgaT1yW2FdLG89ZTtwYXJzZUludChhKSsiIj09PWE/bys9IlsiK2ErIl0iOm8rPSIuIithLCJvYmplY3QiPT10eXBlb2YgaT9uLnB1c2guYXBwbHkobix0KG8saSkpOm4ucHVzaChbbyxpXSl9cmV0dXJuIG59KCIiLGUpLGk9MDtpPGEubGVuZ3RoOysraSl7dmFyIG89YVtpXSxjPW9bMF0sdT1vWzFdO3NbdV0mJm4ucHVzaChsKGMsdSxyW3VdLnR5cGUpKX1uLnB1c2goInJldHVybiBvYmp9Iik7dmFyIGg9bmV3IEZ1bmN0aW9uKCJnbCIsImxvY2F0aW9ucyIsbi5qb2luKCJcbiIpKTtyZXR1cm4gaCh0LHMpfWZ1bmN0aW9uIHUobixsLHUpe2lmKCJvYmplY3QiPT10eXBlb2YgdSl7dmFyIGY9aCh1KTtPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtnZXQ6aShmKSxzZXQ6Yyh1KSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMX0pfWVsc2Ugc1t1XT9PYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtnZXQ6KHA9dSxkPW5ldyBGdW5jdGlvbigiZ2wiLCJ3cmFwcGVyIiwibG9jYXRpb25zIiwicmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGdsLmdldFVuaWZvcm0od3JhcHBlci5wcm9ncmFtLGxvY2F0aW9uc1siK3ArIl0pfSIpLGQodCxlLHMpKSxzZXQ6Yyh1KSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMX0pOm5bbF09ZnVuY3Rpb24odCl7c3dpdGNoKHQpe2Nhc2UiYm9vbCI6cmV0dXJuITE7Y2FzZSJpbnQiOmNhc2Uic2FtcGxlcjJEIjpjYXNlInNhbXBsZXJDdWJlIjpjYXNlImZsb2F0IjpyZXR1cm4gMDtkZWZhdWx0OnZhciBlPXQuaW5kZXhPZigidmVjIik7aWYoMDw9ZSYmZTw9MSYmdC5sZW5ndGg9PT00K2Upe3ZhciByPXQuY2hhckNvZGVBdCh0Lmxlbmd0aC0xKS00ODtpZihyPDJ8fHI+NCl0aHJvdyBuZXcgYSgiIiwiSW52YWxpZCBkYXRhIHR5cGUiKTtyZXR1cm4iYiI9PT10LmNoYXJBdCgwKT9vKHIsITEpOm8ociwwKX1pZigwPT09dC5pbmRleE9mKCJtYXQiKSYmND09PXQubGVuZ3RoKXt2YXIgcj10LmNoYXJDb2RlQXQodC5sZW5ndGgtMSktNDg7aWYocjwyfHxyPjQpdGhyb3cgbmV3IGEoIiIsIkludmFsaWQgdW5pZm9ybSBkaW1lbnNpb24gdHlwZSBmb3IgbWF0cml4ICIrbmFtZSsiOiAiK3QpO3JldHVybiBvKHIqciwwKX10aHJvdyBuZXcgYSgiIiwiVW5rbm93biB1bmlmb3JtIGRhdGEgdHlwZSBmb3IgIituYW1lKyI6ICIrdCl9fShyW3VdLnR5cGUpO3ZhciBwLGR9ZnVuY3Rpb24gaCh0KXt2YXIgZTtpZihBcnJheS5pc0FycmF5KHQpKXtlPW5ldyBBcnJheSh0Lmxlbmd0aCk7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDsrK3IpdShlLHIsdFtyXSl9ZWxzZSBmb3IodmFyIG4gaW4gZT17fSx0KXUoZSxuLHRbbl0pO3JldHVybiBlfXZhciBmPW4ociwhMCk7cmV0dXJue2dldDppKGgoZikpLHNldDpjKGYpLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfX19LHsiLi9HTEVycm9yIjozMDUsIi4vcmVmbGVjdCI6MzA4fV0sMzA4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj17fSxuPTA7bjx0Lmxlbmd0aDsrK24pZm9yKHZhciBhPXRbbl0ubmFtZSxpPWEuc3BsaXQoIi4iKSxvPXIscz0wO3M8aS5sZW5ndGg7KytzKXt2YXIgbD1pW3NdLnNwbGl0KCJbIik7aWYobC5sZW5ndGg+MSl7bFswXWluIG98fChvW2xbMF1dPVtdKSxvPW9bbFswXV07Zm9yKHZhciBjPTE7YzxsLmxlbmd0aDsrK2Mpe3ZhciB1PXBhcnNlSW50KGxbY10pO2M8bC5sZW5ndGgtMXx8czxpLmxlbmd0aC0xPyh1IGluIG98fChjPGwubGVuZ3RoLTE/b1t1XT1bXTpvW3VdPXt9KSxvPW9bdV0pOm9bdV09ZT9uOnRbbl0udHlwZX19ZWxzZSBzPGkubGVuZ3RoLTE/KGxbMF1pbiBvfHwob1tsWzBdXT17fSksbz1vW2xbMF1dKTpvW2xbMF1dPWU/bjp0W25dLnR5cGV9cmV0dXJuIHJ9fSx7fV0sMzA5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3IudW5pZm9ybXM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5nZXRQcm9ncmFtUGFyYW1ldGVyKGUsdC5BQ1RJVkVfVU5JRk9STVMpLG49W10sYT0wO2E8cjsrK2Epe3ZhciBvPXQuZ2V0QWN0aXZlVW5pZm9ybShlLGEpO2lmKG8pe3ZhciBzPWkodCxvLnR5cGUpO2lmKG8uc2l6ZT4xKWZvcih2YXIgbD0wO2w8by5zaXplOysrbCluLnB1c2goe25hbWU6by5uYW1lLnJlcGxhY2UoIlswXSIsIlsiK2wrIl0iKSx0eXBlOnN9KTtlbHNlIG4ucHVzaCh7bmFtZTpvLm5hbWUsdHlwZTpzfSl9fXJldHVybiBufSxyLmF0dHJpYnV0ZXM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5nZXRQcm9ncmFtUGFyYW1ldGVyKGUsdC5BQ1RJVkVfQVRUUklCVVRFUyksbj1bXSxhPTA7YTxyOysrYSl7dmFyIG89dC5nZXRBY3RpdmVBdHRyaWIoZSxhKTtvJiZuLnB1c2goe25hbWU6by5uYW1lLHR5cGU6aSh0LG8udHlwZSl9KX1yZXR1cm4gbn07dmFyIG49e0ZMT0FUOiJmbG9hdCIsRkxPQVRfVkVDMjoidmVjMiIsRkxPQVRfVkVDMzoidmVjMyIsRkxPQVRfVkVDNDoidmVjNCIsSU5UOiJpbnQiLElOVF9WRUMyOiJpdmVjMiIsSU5UX1ZFQzM6Iml2ZWMzIixJTlRfVkVDNDoiaXZlYzQiLEJPT0w6ImJvb2wiLEJPT0xfVkVDMjoiYnZlYzIiLEJPT0xfVkVDMzoiYnZlYzMiLEJPT0xfVkVDNDoiYnZlYzQiLEZMT0FUX01BVDI6Im1hdDIiLEZMT0FUX01BVDM6Im1hdDMiLEZMT0FUX01BVDQ6Im1hdDQiLFNBTVBMRVJfMkQ6InNhbXBsZXIyRCIsU0FNUExFUl9DVUJFOiJzYW1wbGVyQ3ViZSJ9LGE9bnVsbDtmdW5jdGlvbiBpKHQsZSl7aWYoIWEpe3ZhciByPU9iamVjdC5rZXlzKG4pO2E9e307Zm9yKHZhciBpPTA7aTxyLmxlbmd0aDsrK2kpe3ZhciBvPXJbaV07YVt0W29dXT1uW29dfX1yZXR1cm4gYVtlXX19LHt9XSwzMTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5zaGFkZXI9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB1KHQpLmdldFNoYWRlclJlZmVyZW5jZShlLHIpfSxyLnByb2dyYW09ZnVuY3Rpb24odCxlLHIsbixhKXtyZXR1cm4gdSh0KS5nZXRQcm9ncmFtKGUscixuLGEpfTt2YXIgbj10KCIuL0dMRXJyb3IiKSxhPXQoImdsLWZvcm1hdC1jb21waWxlci1lcnJvciIpLGk9bmV3KCJ1bmRlZmluZWQiPT10eXBlb2YgV2Vha01hcD90KCJ3ZWFrbWFwLXNoaW0iKTpXZWFrTWFwKSxvPTA7ZnVuY3Rpb24gcyh0LGUscixuLGEsaSxvKXt0aGlzLmlkPXQsdGhpcy5zcmM9ZSx0aGlzLnR5cGU9cix0aGlzLnNoYWRlcj1uLHRoaXMuY291bnQ9aSx0aGlzLnByb2dyYW1zPVtdLHRoaXMuY2FjaGU9b31mdW5jdGlvbiBsKHQpe3RoaXMuZ2w9dCx0aGlzLnNoYWRlcnM9W3t9LHt9XSx0aGlzLnByb2dyYW1zPXt9fXMucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24oKXtpZigwPT0tLXRoaXMuY291bnQpe2Zvcih2YXIgdD10aGlzLmNhY2hlLGU9dC5nbCxyPXRoaXMucHJvZ3JhbXMsbj0wLGE9ci5sZW5ndGg7bjxhOysrbil7dmFyIGk9dC5wcm9ncmFtc1tyW25dXTtpJiYoZGVsZXRlIHQucHJvZ3JhbXNbbl0sZS5kZWxldGVQcm9ncmFtKGkpKX1lLmRlbGV0ZVNoYWRlcih0aGlzLnNoYWRlciksZGVsZXRlIHQuc2hhZGVyc1t0aGlzLnR5cGU9PT1lLkZSQUdNRU5UX1NIQURFUnwwXVt0aGlzLnNyY119fTt2YXIgYz1sLnByb3RvdHlwZTtmdW5jdGlvbiB1KHQpe3ZhciBlPWkuZ2V0KHQpO3JldHVybiBlfHwoZT1uZXcgbCh0KSxpLnNldCh0LGUpKSxlfWMuZ2V0U2hhZGVyUmVmZXJlbmNlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5nbCxpPXRoaXMuc2hhZGVyc1t0PT09ci5GUkFHTUVOVF9TSEFERVJ8MF0sbD1pW2VdO2lmKGwmJnIuaXNTaGFkZXIobC5zaGFkZXIpKWwuY291bnQrPTE7ZWxzZXt2YXIgYz1mdW5jdGlvbih0LGUscil7dmFyIGk9dC5jcmVhdGVTaGFkZXIoZSk7aWYodC5zaGFkZXJTb3VyY2UoaSxyKSx0LmNvbXBpbGVTaGFkZXIoaSksIXQuZ2V0U2hhZGVyUGFyYW1ldGVyKGksdC5DT01QSUxFX1NUQVRVUykpe3ZhciBvPXQuZ2V0U2hhZGVySW5mb0xvZyhpKTt0cnl7dmFyIHM9YShvLHIsZSl9Y2F0Y2godCl7dGhyb3cgY29uc29sZS53YXJuKCJGYWlsZWQgdG8gZm9ybWF0IGNvbXBpbGVyIGVycm9yOiAiK3QpLG5ldyBuKG8sIkVycm9yIGNvbXBpbGluZyBzaGFkZXI6XG4iK28pfXRocm93IG5ldyBuKG8scy5zaG9ydCxzLmxvbmcpfXJldHVybiBpfShyLHQsZSk7bD1pW2VdPW5ldyBzKG8rKyxlLHQsYyxbXSwxLHRoaXMpfXJldHVybiBsfSxjLmdldFByb2dyYW09ZnVuY3Rpb24odCxlLHIsYSl7dmFyIGk9W3QuaWQsZS5pZCxyLmpvaW4oIjoiKSxhLmpvaW4oIjoiKV0uam9pbigiQCIpLG89dGhpcy5wcm9ncmFtc1tpXTtyZXR1cm4gbyYmdGhpcy5nbC5pc1Byb2dyYW0obyl8fCh0aGlzLnByb2dyYW1zW2ldPW89ZnVuY3Rpb24odCxlLHIsYSxpKXt2YXIgbz10LmNyZWF0ZVByb2dyYW0oKTt0LmF0dGFjaFNoYWRlcihvLGUpLHQuYXR0YWNoU2hhZGVyKG8scik7Zm9yKHZhciBzPTA7czxhLmxlbmd0aDsrK3MpdC5iaW5kQXR0cmliTG9jYXRpb24obyxpW3NdLGFbc10pO2lmKHQubGlua1Byb2dyYW0obyksIXQuZ2V0UHJvZ3JhbVBhcmFtZXRlcihvLHQuTElOS19TVEFUVVMpKXt2YXIgbD10LmdldFByb2dyYW1JbmZvTG9nKG8pO3Rocm93IG5ldyBuKGwsIkVycm9yIGxpbmtpbmcgcHJvZ3JhbTogIitsKX1yZXR1cm4gb30odGhpcy5nbCx0LnNoYWRlcixlLnNoYWRlcixyLGEpLHQucHJvZ3JhbXMucHVzaChpKSxlLnByb2dyYW1zLnB1c2goaSkpLG99fSx7Ii4vR0xFcnJvciI6MzA1LCJnbC1mb3JtYXQtY29tcGlsZXItZXJyb3IiOjI1Mywid2Vha21hcC1zaGltIjo1NTR9XSwzMTE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0KXt0aGlzLnBsb3Q9dCx0aGlzLmVuYWJsZT1bITAsITAsITEsITFdLHRoaXMud2lkdGg9WzEsMSwxLDFdLHRoaXMuY29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXV0sdGhpcy5jZW50ZXI9WzEvMCwxLzBdfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPW5ldyBuKHQpO3JldHVybiByLnVwZGF0ZShlKSx0LmFkZE92ZXJsYXkocikscn07dmFyIGE9bi5wcm90b3R5cGU7YS51cGRhdGU9ZnVuY3Rpb24odCl7dD10fHx7fSx0aGlzLmVuYWJsZT0odC5lbmFibGV8fFshMCwhMCwhMSwhMV0pLnNsaWNlKCksdGhpcy53aWR0aD0odC53aWR0aHx8WzEsMSwxLDFdKS5zbGljZSgpLHRoaXMuY29sb3I9KHQuY29sb3J8fFtbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuc2xpY2UoKX0pLHRoaXMuY2VudGVyPSh0LmNlbnRlcnx8WzEvMCwxLzBdKS5zbGljZSgpLHRoaXMucGxvdC5zZXRPdmVybGF5RGlydHkoKX0sYS5kcmF3PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lbmFibGUsZT10aGlzLndpZHRoLHI9dGhpcy5jb2xvcixuPXRoaXMuY2VudGVyLGE9dGhpcy5wbG90LGk9YS5saW5lLG89YS5kYXRhQm94LHM9YS52aWV3Qm94O2lmKGkuYmluZCgpLG9bMF08PW5bMF0mJm5bMF08PW9bMl0mJm9bMV08PW5bMV0mJm5bMV08PW9bM10pe3ZhciBsPXNbMF0rKG5bMF0tb1swXSkvKG9bMl0tb1swXSkqKHNbMl0tc1swXSksYz1zWzFdKyhuWzFdLW9bMV0pLyhvWzNdLW9bMV0pKihzWzNdLXNbMV0pO3RbMF0mJmkuZHJhd0xpbmUobCxjLHNbMF0sYyxlWzBdLHJbMF0pLHRbMV0mJmkuZHJhd0xpbmUobCxjLGwsc1sxXSxlWzFdLHJbMV0pLHRbMl0mJmkuZHJhd0xpbmUobCxjLHNbMl0sYyxlWzJdLHJbMl0pLHRbM10mJmkuZHJhd0xpbmUobCxjLGwsc1szXSxlWzNdLHJbM10pfX0sYS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5wbG90LnJlbW92ZU92ZXJsYXkodGhpcyl9fSx7fV0sMzEyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImdsc2xpZnkiKSxhPXQoImdsLXNoYWRlciIpLGk9bihbInByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzMgcG9zaXRpb24sIGNvbG9yO1xuYXR0cmlidXRlIGZsb2F0IHdlaWdodDtcblxudW5pZm9ybSBtYXQ0IG1vZGVsLCB2aWV3LCBwcm9qZWN0aW9uO1xudW5pZm9ybSB2ZWMzIGNvb3JkaW5hdGVzWzNdO1xudW5pZm9ybSB2ZWM0IGNvbG9yc1szXTtcbnVuaWZvcm0gdmVjMiBzY3JlZW5TaGFwZTtcbnVuaWZvcm0gZmxvYXQgbGluZVdpZHRoO1xuXG52YXJ5aW5nIHZlYzQgZnJhZ0NvbG9yO1xuXG52b2lkIG1haW4oKSB7XG4gIHZlYzMgdmVydGV4UG9zaXRpb24gPSBtaXgoY29vcmRpbmF0ZXNbMF0sXG4gICAgbWl4KGNvb3JkaW5hdGVzWzJdLCBjb29yZGluYXRlc1sxXSwgMC41ICogKHBvc2l0aW9uICsgMS4wKSksIGFicyhwb3NpdGlvbikpO1xuXG4gIHZlYzQgY2xpcFBvcyA9IHByb2plY3Rpb24gKiB2aWV3ICogbW9kZWwgKiB2ZWM0KHZlcnRleFBvc2l0aW9uLCAxLjApO1xuICB2ZWMyIGNsaXBPZmZzZXQgPSAocHJvamVjdGlvbiAqIHZpZXcgKiBtb2RlbCAqIHZlYzQoY29sb3IsIDAuMCkpLnh5O1xuICB2ZWMyIGRlbHRhID0gd2VpZ2h0ICogY2xpcE9mZnNldCAqIHNjcmVlblNoYXBlO1xuICB2ZWMyIGxpbmVPZmZzZXQgPSBub3JtYWxpemUodmVjMihkZWx0YS55LCAtZGVsdGEueCkpIC8gc2NyZWVuU2hhcGU7XG5cbiAgZ2xfUG9zaXRpb24gICA9IHZlYzQoY2xpcFBvcy54eSArIGNsaXBQb3MudyAqIDAuNSAqIGxpbmVXaWR0aCAqIGxpbmVPZmZzZXQsIGNsaXBQb3MueiwgY2xpcFBvcy53KTtcbiAgZnJhZ0NvbG9yICAgICA9IGNvbG9yLnggKiBjb2xvcnNbMF0gKyBjb2xvci55ICogY29sb3JzWzFdICsgY29sb3IueiAqIGNvbG9yc1syXTtcbn1cbiJdKSxvPW4oWyJwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbnZhcnlpbmcgdmVjNCBmcmFnQ29sb3I7XG5cbnZvaWQgbWFpbigpIHtcbiAgZ2xfRnJhZ0NvbG9yID0gZnJhZ0NvbG9yO1xufSJdKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGEodCxpLG8sbnVsbCxbe25hbWU6InBvc2l0aW9uIix0eXBlOiJ2ZWMzIn0se25hbWU6ImNvbG9yIix0eXBlOiJ2ZWMzIn0se25hbWU6IndlaWdodCIsdHlwZToiZmxvYXQifV0pfX0seyJnbC1zaGFkZXIiOjMwNCxnbHNsaWZ5OjQxMX1dLDMxMzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJnbC1idWZmZXIiKSxhPXQoImdsLXZhbyIpLGk9dCgiLi9zaGFkZXJzL2luZGV4Iik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9W107ZnVuY3Rpb24gbyh0LGUsbixhLGksbyl7dmFyIHM9W3QsZSxuLDAsMCwwLDFdO3NbYSszXT0xLHNbYV09aSxyLnB1c2guYXBwbHkocixzKSxzWzZdPS0xLHIucHVzaC5hcHBseShyLHMpLHNbYV09byxyLnB1c2guYXBwbHkocixzKSxyLnB1c2guYXBwbHkocixzKSxzWzZdPTEsci5wdXNoLmFwcGx5KHIscyksc1thXT1pLHIucHVzaC5hcHBseShyLHMpfW8oMCwwLDAsMCwwLDEpLG8oMCwwLDAsMSwwLDEpLG8oMCwwLDAsMiwwLDEpLG8oMSwwLDAsMSwtMSwxKSxvKDEsMCwwLDIsLTEsMSksbygwLDEsMCwwLC0xLDEpLG8oMCwxLDAsMiwtMSwxKSxvKDAsMCwxLDAsLTEsMSksbygwLDAsMSwxLC0xLDEpO3ZhciBsPW4odCxyKSxjPWEodCxbe3R5cGU6dC5GTE9BVCxidWZmZXI6bCxzaXplOjMsb2Zmc2V0OjAsc3RyaWRlOjI4fSx7dHlwZTp0LkZMT0FULGJ1ZmZlcjpsLHNpemU6MyxvZmZzZXQ6MTIsc3RyaWRlOjI4fSx7dHlwZTp0LkZMT0FULGJ1ZmZlcjpsLHNpemU6MSxvZmZzZXQ6MjQsc3RyaWRlOjI4fV0pLHU9aSh0KTt1LmF0dHJpYnV0ZXMucG9zaXRpb24ubG9jYXRpb249MCx1LmF0dHJpYnV0ZXMuY29sb3IubG9jYXRpb249MSx1LmF0dHJpYnV0ZXMud2VpZ2h0LmxvY2F0aW9uPTI7dmFyIGg9bmV3IHModCxsLGMsdSk7cmV0dXJuIGgudXBkYXRlKGUpLGh9O3ZhciBvPVsxLDAsMCwwLDAsMSwwLDAsMCwwLDEsMCwwLDAsMCwxXTtmdW5jdGlvbiBzKHQsZSxyLG4pe3RoaXMuZ2w9dCx0aGlzLmJ1ZmZlcj1lLHRoaXMudmFvPXIsdGhpcy5zaGFkZXI9bix0aGlzLnBpeGVsUmF0aW89MSx0aGlzLmJvdW5kcz1bWy0xZTMsLTFlMywtMWUzXSxbMWUzLDFlMywxZTNdXSx0aGlzLnBvc2l0aW9uPVswLDAsMF0sdGhpcy5saW5lV2lkdGg9WzIsMiwyXSx0aGlzLmNvbG9ycz1bWzAsMCwwLDFdLFswLDAsMCwxXSxbMCwwLDAsMV1dLHRoaXMuZW5hYmxlZD1bITAsITAsITBdLHRoaXMuZHJhd1NpZGVzPVshMCwhMCwhMF0sdGhpcy5heGVzPW51bGx9dmFyIGw9cy5wcm90b3R5cGUsYz1bMCwwLDBdLHU9WzAsMCwwXSxoPVswLDBdO2wuaXNUcmFuc3BhcmVudD1mdW5jdGlvbigpe3JldHVybiExfSxsLmRyYXdUcmFuc3BhcmVudD1mdW5jdGlvbih0KXt9LGwuZHJhdz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmdsLHI9dGhpcy52YW8sbj10aGlzLnNoYWRlcjtyLmJpbmQoKSxuLmJpbmQoKTt2YXIgYSxpPXQubW9kZWx8fG8scz10LnZpZXd8fG8sbD10LnByb2plY3Rpb258fG87dGhpcy5heGVzJiYoYT10aGlzLmF4ZXMubGFzdEN1YmVQcm9wcy5heGlzKTtmb3IodmFyIGY9YyxwPXUsZD0wO2Q8MzsrK2QpYSYmYVtkXTwwPyhmW2RdPXRoaXMuYm91bmRzWzBdW2RdLHBbZF09dGhpcy5ib3VuZHNbMV1bZF0pOihmW2RdPXRoaXMuYm91bmRzWzFdW2RdLHBbZF09dGhpcy5ib3VuZHNbMF1bZF0pO2hbMF09ZS5kcmF3aW5nQnVmZmVyV2lkdGgsaFsxXT1lLmRyYXdpbmdCdWZmZXJIZWlnaHQsbi51bmlmb3Jtcy5tb2RlbD1pLG4udW5pZm9ybXMudmlldz1zLG4udW5pZm9ybXMucHJvamVjdGlvbj1sLG4udW5pZm9ybXMuY29vcmRpbmF0ZXM9W3RoaXMucG9zaXRpb24sZixwXSxuLnVuaWZvcm1zLmNvbG9ycz10aGlzLmNvbG9ycyxuLnVuaWZvcm1zLnNjcmVlblNoYXBlPWg7Zm9yKGQ9MDtkPDM7KytkKW4udW5pZm9ybXMubGluZVdpZHRoPXRoaXMubGluZVdpZHRoW2RdKnRoaXMucGl4ZWxSYXRpbyx0aGlzLmVuYWJsZWRbZF0mJihyLmRyYXcoZS5UUklBTkdMRVMsNiw2KmQpLHRoaXMuZHJhd1NpZGVzW2RdJiZyLmRyYXcoZS5UUklBTkdMRVMsMTIsMTgrMTIqZCkpO3IudW5iaW5kKCl9LGwudXBkYXRlPWZ1bmN0aW9uKHQpe3QmJigiYm91bmRzImluIHQmJih0aGlzLmJvdW5kcz10LmJvdW5kcyksInBvc2l0aW9uImluIHQmJih0aGlzLnBvc2l0aW9uPXQucG9zaXRpb24pLCJsaW5lV2lkdGgiaW4gdCYmKHRoaXMubGluZVdpZHRoPXQubGluZVdpZHRoKSwiY29sb3JzImluIHQmJih0aGlzLmNvbG9ycz10LmNvbG9ycyksImVuYWJsZWQiaW4gdCYmKHRoaXMuZW5hYmxlZD10LmVuYWJsZWQpLCJkcmF3U2lkZXMiaW4gdCYmKHRoaXMuZHJhd1NpZGVzPXQuZHJhd1NpZGVzKSl9LGwuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMudmFvLmRpc3Bvc2UoKSx0aGlzLmJ1ZmZlci5kaXNwb3NlKCksdGhpcy5zaGFkZXIuZGlzcG9zZSgpfX0seyIuL3NoYWRlcnMvaW5kZXgiOjMxMiwiZ2wtYnVmZmVyIjoyNDQsImdsLXZhbyI6MzI5fV0sMzE0OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiZ2xzbGlmeSIpLGE9bihbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcblxucHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxudmVjMyBnZXRPcnRob2dvbmFsVmVjdG9yKHZlYzMgdikge1xuICAvLyBSZXR1cm4gdXAtdmVjdG9yIGZvciBvbmx5LXogdmVjdG9yLlxuICAvLyBSZXR1cm4gYXggKyBieSArIGN6ID0gMCwgYSBwb2ludCB0aGF0IGxpZXMgb24gdGhlIHBsYW5lIHRoYXQgaGFzIHYgYXMgYSBub3JtYWwgYW5kIHRoYXQgaXNuJ3QgKDAsMCwwKS5cbiAgLy8gRnJvbSB0aGUgYWJvdmUgaWYtc3RhdGVtZW50IHdlIGhhdmUgfHxhfHwgPiAwICBVICB8fGJ8fCA+IDAuXG4gIC8vIEFzc2lnbiB6ID0gMCwgeCA9IC1iLCB5ID0gYTpcbiAgLy8gYSotYiArIGIqYSArIGMqMCA9IC1iYSArIGJhICsgMCA9IDBcbiAgaWYgKHYueCp2LnggPiB2Lnoqdi56IHx8IHYueSp2LnkgPiB2Lnoqdi56KSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZSh2ZWMzKC12LnksIHYueCwgMC4wKSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZSh2ZWMzKDAuMCwgdi56LCAtdi55KSk7XG4gIH1cbn1cblxuLy8gQ2FsY3VsYXRlIHRoZSB0dWJlIHZlcnRleCBhbmQgbm9ybWFsIGF0IHRoZSBnaXZlbiBpbmRleC5cbi8vXG4vLyBUaGUgcmV0dXJuZWQgdmVydGV4IGlzIGZvciBhIHR1YmUgcmluZyB3aXRoIGl0cyBjZW50ZXIgYXQgb3JpZ2luLCByYWRpdXMgb2YgbGVuZ3RoKGQpLCBwb2ludGluZyBpbiB0aGUgZGlyZWN0aW9uIG9mIGQuXG4vL1xuLy8gRWFjaCB0dWJlIHNlZ21lbnQgaXMgbWFkZSB1cCBvZiBhIHJpbmcgb2YgdmVydGljZXMuXG4vLyBUaGVzZSB2ZXJ0aWNlcyBhcmUgdXNlZCB0byBtYWtlIHVwIHRoZSB0cmlhbmdsZXMgb2YgdGhlIHR1YmUgYnkgY29ubmVjdGluZyB0aGVtIHRvZ2V0aGVyIGluIHRoZSB2ZXJ0ZXggYXJyYXkuXG4vLyBUaGUgaW5kZXhlcyBvZiB0dWJlIHNlZ21lbnRzIHJ1biBmcm9tIDAgdG8gOC5cbi8vXG52ZWMzIGdldFR1YmVQb3NpdGlvbih2ZWMzIGQsIGZsb2F0IGluZGV4LCBvdXQgdmVjMyBub3JtYWwpIHtcbiAgZmxvYXQgc2VnbWVudENvdW50ID0gOC4wO1xuXG4gIGZsb2F0IGFuZ2xlID0gMi4wICogMy4xNDE1OSAqIChpbmRleCAvIHNlZ21lbnRDb3VudCk7XG5cbiAgdmVjMyB1ID0gZ2V0T3J0aG9nb25hbFZlY3RvcihkKTtcbiAgdmVjMyB2ID0gbm9ybWFsaXplKGNyb3NzKHUsIGQpKTtcblxuICB2ZWMzIHggPSB1ICogY29zKGFuZ2xlKSAqIGxlbmd0aChkKTtcbiAgdmVjMyB5ID0gdiAqIHNpbihhbmdsZSkgKiBsZW5ndGgoZCk7XG4gIHZlYzMgdjMgPSB4ICsgeTtcblxuICBub3JtYWwgPSBub3JtYWxpemUodjMpO1xuXG4gIHJldHVybiB2Mztcbn1cblxuYXR0cmlidXRlIHZlYzQgdmVjdG9yO1xuYXR0cmlidXRlIHZlYzQgY29sb3IsIHBvc2l0aW9uO1xuYXR0cmlidXRlIHZlYzIgdXY7XG5cbnVuaWZvcm0gZmxvYXQgdmVjdG9yU2NhbGUsIHR1YmVTY2FsZTtcbnVuaWZvcm0gbWF0NCBtb2RlbCwgdmlldywgcHJvamVjdGlvbiwgaW52ZXJzZU1vZGVsO1xudW5pZm9ybSB2ZWMzIGV5ZVBvc2l0aW9uLCBsaWdodFBvc2l0aW9uO1xuXG52YXJ5aW5nIHZlYzMgZl9ub3JtYWwsIGZfbGlnaHREaXJlY3Rpb24sIGZfZXllRGlyZWN0aW9uLCBmX2RhdGEsIGZfcG9zaXRpb247XG52YXJ5aW5nIHZlYzQgZl9jb2xvcjtcbnZhcnlpbmcgdmVjMiBmX3V2O1xuXG52b2lkIG1haW4oKSB7XG4gIC8vIFNjYWxlIHRoZSB2ZWN0b3IgbWFnbml0dWRlIHRvIHN0YXkgY29uc3RhbnQgd2l0aFxuICAvLyBtb2RlbCAmIHZpZXcgY2hhbmdlcy5cbiAgdmVjMyBub3JtYWw7XG4gIHZlYzMgWFlaID0gZ2V0VHViZVBvc2l0aW9uKG1hdDMobW9kZWwpICogKHR1YmVTY2FsZSAqIHZlY3Rvci53ICogbm9ybWFsaXplKHZlY3Rvci54eXopKSwgcG9zaXRpb24udywgbm9ybWFsKTtcbiAgdmVjNCB0dWJlUG9zaXRpb24gPSBtb2RlbCAqIHZlYzQocG9zaXRpb24ueHl6LCAxLjApICsgdmVjNChYWVosIDAuMCk7XG5cbiAgLy9MaWdodGluZyBnZW9tZXRyeSBwYXJhbWV0ZXJzXG4gIHZlYzQgY2FtZXJhQ29vcmRpbmF0ZSA9IHZpZXcgKiB0dWJlUG9zaXRpb247XG4gIGNhbWVyYUNvb3JkaW5hdGUueHl6IC89IGNhbWVyYUNvb3JkaW5hdGUudztcbiAgZl9saWdodERpcmVjdGlvbiA9IGxpZ2h0UG9zaXRpb24gLSBjYW1lcmFDb29yZGluYXRlLnh5ejtcbiAgZl9leWVEaXJlY3Rpb24gICA9IGV5ZVBvc2l0aW9uIC0gY2FtZXJhQ29vcmRpbmF0ZS54eXo7XG4gIGZfbm9ybWFsID0gbm9ybWFsaXplKCh2ZWM0KG5vcm1hbCwgMC4wKSAqIGludmVyc2VNb2RlbCkueHl6KTtcblxuICAvLyB2ZWM0IG1fcG9zaXRpb24gID0gbW9kZWwgKiB2ZWM0KHR1YmVQb3NpdGlvbiwgMS4wKTtcbiAgdmVjNCB0X3Bvc2l0aW9uICA9IHZpZXcgKiB0dWJlUG9zaXRpb247XG4gIGdsX1Bvc2l0aW9uICAgICAgPSBwcm9qZWN0aW9uICogdF9wb3NpdGlvbjtcblxuICBmX2NvbG9yICAgICAgICAgID0gY29sb3I7XG4gIGZfZGF0YSAgICAgICAgICAgPSB0dWJlUG9zaXRpb24ueHl6O1xuICBmX3Bvc2l0aW9uICAgICAgID0gcG9zaXRpb24ueHl6O1xuICBmX3V2ICAgICAgICAgICAgID0gdXY7XG59XG4iXSksaT1uKFsiI2V4dGVuc2lvbiBHTF9PRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMgOiBlbmFibGVcblxucHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuZmxvYXQgYmVja21hbm5EaXN0cmlidXRpb24oZmxvYXQgeCwgZmxvYXQgcm91Z2huZXNzKSB7XG4gIGZsb2F0IE5kb3RIID0gbWF4KHgsIDAuMDAwMSk7XG4gIGZsb2F0IGNvczJBbHBoYSA9IE5kb3RIICogTmRvdEg7XG4gIGZsb2F0IHRhbjJBbHBoYSA9IChjb3MyQWxwaGEgLSAxLjApIC8gY29zMkFscGhhO1xuICBmbG9hdCByb3VnaG5lc3MyID0gcm91Z2huZXNzICogcm91Z2huZXNzO1xuICBmbG9hdCBkZW5vbSA9IDMuMTQxNTkyNjUzNTg5NzkzICogcm91Z2huZXNzMiAqIGNvczJBbHBoYSAqIGNvczJBbHBoYTtcbiAgcmV0dXJuIGV4cCh0YW4yQWxwaGEgLyByb3VnaG5lc3MyKSAvIGRlbm9tO1xufVxuXG5mbG9hdCBjb29rVG9ycmFuY2VTcGVjdWxhcihcbiAgdmVjMyBsaWdodERpcmVjdGlvbixcbiAgdmVjMyB2aWV3RGlyZWN0aW9uLFxuICB2ZWMzIHN1cmZhY2VOb3JtYWwsXG4gIGZsb2F0IHJvdWdobmVzcyxcbiAgZmxvYXQgZnJlc25lbCkge1xuXG4gIGZsb2F0IFZkb3ROID0gbWF4KGRvdCh2aWV3RGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsKSwgMC4wKTtcbiAgZmxvYXQgTGRvdE4gPSBtYXgoZG90KGxpZ2h0RGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsKSwgMC4wKTtcblxuICAvL0hhbGYgYW5nbGUgdmVjdG9yXG4gIHZlYzMgSCA9IG5vcm1hbGl6ZShsaWdodERpcmVjdGlvbiArIHZpZXdEaXJlY3Rpb24pO1xuXG4gIC8vR2VvbWV0cmljIHRlcm1cbiAgZmxvYXQgTmRvdEggPSBtYXgoZG90KHN1cmZhY2VOb3JtYWwsIEgpLCAwLjApO1xuICBmbG9hdCBWZG90SCA9IG1heChkb3Qodmlld0RpcmVjdGlvbiwgSCksIDAuMDAwMDAxKTtcbiAgZmxvYXQgTGRvdEggPSBtYXgoZG90KGxpZ2h0RGlyZWN0aW9uLCBIKSwgMC4wMDAwMDEpO1xuICBmbG9hdCBHMSA9ICgyLjAgKiBOZG90SCAqIFZkb3ROKSAvIFZkb3RIO1xuICBmbG9hdCBHMiA9ICgyLjAgKiBOZG90SCAqIExkb3ROKSAvIExkb3RIO1xuICBmbG9hdCBHID0gbWluKDEuMCwgbWluKEcxLCBHMikpO1xuICBcbiAgLy9EaXN0cmlidXRpb24gdGVybVxuICBmbG9hdCBEID0gYmVja21hbm5EaXN0cmlidXRpb24oTmRvdEgsIHJvdWdobmVzcyk7XG5cbiAgLy9GcmVzbmVsIHRlcm1cbiAgZmxvYXQgRiA9IHBvdygxLjAgLSBWZG90TiwgZnJlc25lbCk7XG5cbiAgLy9NdWx0aXBseSB0ZXJtcyBhbmQgZG9uZVxuICByZXR1cm4gIEcgKiBGICogRCAvIG1heCgzLjE0MTU5MjY1ICogVmRvdE4sIDAuMDAwMDAxKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKGZsb2F0IGEsIGZsb2F0IGIsIGZsb2F0IHApIHtcbiAgcmV0dXJuICgocCA+IG1heChhLCBiKSkgfHwgXG4gICAgICAgICAgKHAgPCBtaW4oYSwgYikpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzIgYSwgdmVjMiBiLCB2ZWMyIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMzIGEsIHZlYzMgYiwgdmVjMyBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueiwgYi56LCBwLnopKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzQgYSwgdmVjNCBiLCB2ZWM0IHApIHtcbiAgcmV0dXJuIG91dE9mUmFuZ2UoYS54eXosIGIueHl6LCBwLnh5eik7XG59XG5cbnVuaWZvcm0gdmVjMyBjbGlwQm91bmRzWzJdO1xudW5pZm9ybSBmbG9hdCByb3VnaG5lc3MsIGZyZXNuZWwsIGthbWJpZW50LCBrZGlmZnVzZSwga3NwZWN1bGFyLCBvcGFjaXR5O1xudW5pZm9ybSBzYW1wbGVyMkQgdGV4dHVyZTtcblxudmFyeWluZyB2ZWMzIGZfbm9ybWFsLCBmX2xpZ2h0RGlyZWN0aW9uLCBmX2V5ZURpcmVjdGlvbiwgZl9kYXRhLCBmX3Bvc2l0aW9uO1xudmFyeWluZyB2ZWM0IGZfY29sb3I7XG52YXJ5aW5nIHZlYzIgZl91djtcblxudm9pZCBtYWluKCkge1xuICBpZiAob3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCBmX3Bvc2l0aW9uKSkgZGlzY2FyZDtcbiAgdmVjMyBOID0gbm9ybWFsaXplKGZfbm9ybWFsKTtcbiAgdmVjMyBMID0gbm9ybWFsaXplKGZfbGlnaHREaXJlY3Rpb24pO1xuICB2ZWMzIFYgPSBub3JtYWxpemUoZl9leWVEaXJlY3Rpb24pO1xuXG4gIGlmKGdsX0Zyb250RmFjaW5nKSB7XG4gICAgTiA9IC1OO1xuICB9XG5cbiAgZmxvYXQgc3BlY3VsYXIgPSBtaW4oMS4wLCBtYXgoMC4wLCBjb29rVG9ycmFuY2VTcGVjdWxhcihMLCBWLCBOLCByb3VnaG5lc3MsIGZyZXNuZWwpKSk7XG4gIGZsb2F0IGRpZmZ1c2UgID0gbWluKGthbWJpZW50ICsga2RpZmZ1c2UgKiBtYXgoZG90KE4sIEwpLCAwLjApLCAxLjApO1xuXG4gIHZlYzQgc3VyZmFjZUNvbG9yID0gZl9jb2xvciAqIHRleHR1cmUyRCh0ZXh0dXJlLCBmX3V2KTtcbiAgdmVjNCBsaXRDb2xvciA9IHN1cmZhY2VDb2xvci5hICogdmVjNChkaWZmdXNlICogc3VyZmFjZUNvbG9yLnJnYiArIGtzcGVjdWxhciAqIHZlYzMoMSwxLDEpICogc3BlY3VsYXIsICAxLjApO1xuXG4gIGdsX0ZyYWdDb2xvciA9IGxpdENvbG9yICogb3BhY2l0eTtcbn1cbiJdKSxvPW4oWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG5cbnByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbnZlYzMgZ2V0T3J0aG9nb25hbFZlY3Rvcih2ZWMzIHYpIHtcbiAgLy8gUmV0dXJuIHVwLXZlY3RvciBmb3Igb25seS16IHZlY3Rvci5cbiAgLy8gUmV0dXJuIGF4ICsgYnkgKyBjeiA9IDAsIGEgcG9pbnQgdGhhdCBsaWVzIG9uIHRoZSBwbGFuZSB0aGF0IGhhcyB2IGFzIGEgbm9ybWFsIGFuZCB0aGF0IGlzbid0ICgwLDAsMCkuXG4gIC8vIEZyb20gdGhlIGFib3ZlIGlmLXN0YXRlbWVudCB3ZSBoYXZlIHx8YXx8ID4gMCAgVSAgfHxifHwgPiAwLlxuICAvLyBBc3NpZ24geiA9IDAsIHggPSAtYiwgeSA9IGE6XG4gIC8vIGEqLWIgKyBiKmEgKyBjKjAgPSAtYmEgKyBiYSArIDAgPSAwXG4gIGlmICh2Lngqdi54ID4gdi56KnYueiB8fCB2Lnkqdi55ID4gdi56KnYueikge1xuICAgIHJldHVybiBub3JtYWxpemUodmVjMygtdi55LCB2LngsIDAuMCkpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBub3JtYWxpemUodmVjMygwLjAsIHYueiwgLXYueSkpO1xuICB9XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgdHViZSB2ZXJ0ZXggYW5kIG5vcm1hbCBhdCB0aGUgZ2l2ZW4gaW5kZXguXG4vL1xuLy8gVGhlIHJldHVybmVkIHZlcnRleCBpcyBmb3IgYSB0dWJlIHJpbmcgd2l0aCBpdHMgY2VudGVyIGF0IG9yaWdpbiwgcmFkaXVzIG9mIGxlbmd0aChkKSwgcG9pbnRpbmcgaW4gdGhlIGRpcmVjdGlvbiBvZiBkLlxuLy9cbi8vIEVhY2ggdHViZSBzZWdtZW50IGlzIG1hZGUgdXAgb2YgYSByaW5nIG9mIHZlcnRpY2VzLlxuLy8gVGhlc2UgdmVydGljZXMgYXJlIHVzZWQgdG8gbWFrZSB1cCB0aGUgdHJpYW5nbGVzIG9mIHRoZSB0dWJlIGJ5IGNvbm5lY3RpbmcgdGhlbSB0b2dldGhlciBpbiB0aGUgdmVydGV4IGFycmF5LlxuLy8gVGhlIGluZGV4ZXMgb2YgdHViZSBzZWdtZW50cyBydW4gZnJvbSAwIHRvIDguXG4vL1xudmVjMyBnZXRUdWJlUG9zaXRpb24odmVjMyBkLCBmbG9hdCBpbmRleCwgb3V0IHZlYzMgbm9ybWFsKSB7XG4gIGZsb2F0IHNlZ21lbnRDb3VudCA9IDguMDtcblxuICBmbG9hdCBhbmdsZSA9IDIuMCAqIDMuMTQxNTkgKiAoaW5kZXggLyBzZWdtZW50Q291bnQpO1xuXG4gIHZlYzMgdSA9IGdldE9ydGhvZ29uYWxWZWN0b3IoZCk7XG4gIHZlYzMgdiA9IG5vcm1hbGl6ZShjcm9zcyh1LCBkKSk7XG5cbiAgdmVjMyB4ID0gdSAqIGNvcyhhbmdsZSkgKiBsZW5ndGgoZCk7XG4gIHZlYzMgeSA9IHYgKiBzaW4oYW5nbGUpICogbGVuZ3RoKGQpO1xuICB2ZWMzIHYzID0geCArIHk7XG5cbiAgbm9ybWFsID0gbm9ybWFsaXplKHYzKTtcblxuICByZXR1cm4gdjM7XG59XG5cbmF0dHJpYnV0ZSB2ZWM0IHZlY3RvcjtcbmF0dHJpYnV0ZSB2ZWM0IHBvc2l0aW9uO1xuYXR0cmlidXRlIHZlYzQgaWQ7XG5cbnVuaWZvcm0gbWF0NCBtb2RlbCwgdmlldywgcHJvamVjdGlvbjtcbnVuaWZvcm0gZmxvYXQgdHViZVNjYWxlO1xuXG52YXJ5aW5nIHZlYzMgZl9wb3NpdGlvbjtcbnZhcnlpbmcgdmVjNCBmX2lkO1xuXG52b2lkIG1haW4oKSB7XG4gIHZlYzMgbm9ybWFsO1xuICB2ZWMzIFhZWiA9IGdldFR1YmVQb3NpdGlvbihtYXQzKG1vZGVsKSAqICh0dWJlU2NhbGUgKiB2ZWN0b3IudyAqIG5vcm1hbGl6ZSh2ZWN0b3IueHl6KSksIHBvc2l0aW9uLncsIG5vcm1hbCk7XG4gIHZlYzQgdHViZVBvc2l0aW9uID0gbW9kZWwgKiB2ZWM0KHBvc2l0aW9uLnh5eiwgMS4wKSArIHZlYzQoWFlaLCAwLjApO1xuXG4gIGdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbiAqIHZpZXcgKiB0dWJlUG9zaXRpb247XG4gIGZfaWQgICAgICAgID0gaWQ7XG4gIGZfcG9zaXRpb24gID0gcG9zaXRpb24ueHl6O1xufVxuIl0pLHM9bihbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmJvb2wgb3V0T2ZSYW5nZShmbG9hdCBhLCBmbG9hdCBiLCBmbG9hdCBwKSB7XG4gIHJldHVybiAoKHAgPiBtYXgoYSwgYikpIHx8IFxuICAgICAgICAgIChwIDwgbWluKGEsIGIpKSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWMyIGEsIHZlYzIgYiwgdmVjMiBwKSB7XG4gIHJldHVybiAob3V0T2ZSYW5nZShhLngsIGIueCwgcC54KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS55LCBiLnksIHAueSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMyBhLCB2ZWMzIGIsIHZlYzMgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnosIGIueiwgcC56KSk7XG59XG5cbmJvb2wgb3V0T2ZSYW5nZSh2ZWM0IGEsIHZlYzQgYiwgdmVjNCBwKSB7XG4gIHJldHVybiBvdXRPZlJhbmdlKGEueHl6LCBiLnh5eiwgcC54eXopO1xufVxuXG51bmlmb3JtIHZlYzMgIGNsaXBCb3VuZHNbMl07XG51bmlmb3JtIGZsb2F0IHBpY2tJZDtcblxudmFyeWluZyB2ZWMzIGZfcG9zaXRpb247XG52YXJ5aW5nIHZlYzQgZl9pZDtcblxudm9pZCBtYWluKCkge1xuICBpZiAob3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCBmX3Bvc2l0aW9uKSkgZGlzY2FyZDtcblxuICBnbF9GcmFnQ29sb3IgPSB2ZWM0KHBpY2tJZCwgZl9pZC54eXopO1xufSJdKTtyLm1lc2hTaGFkZXI9e3ZlcnRleDphLGZyYWdtZW50OmksYXR0cmlidXRlczpbe25hbWU6InBvc2l0aW9uIix0eXBlOiJ2ZWM0In0se25hbWU6ImNvbG9yIix0eXBlOiJ2ZWM0In0se25hbWU6InV2Iix0eXBlOiJ2ZWMyIn0se25hbWU6InZlY3RvciIsdHlwZToidmVjNCJ9XX0sci5waWNrU2hhZGVyPXt2ZXJ0ZXg6byxmcmFnbWVudDpzLGF0dHJpYnV0ZXM6W3tuYW1lOiJwb3NpdGlvbiIsdHlwZToidmVjNCJ9LHtuYW1lOiJpZCIsdHlwZToidmVjNCJ9LHtuYW1lOiJ2ZWN0b3IiLHR5cGU6InZlYzQifV19fSx7Z2xzbGlmeTo0MTF9XSwzMTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZ2wtdmVjMyIpLGE9dCgiZ2wtdmVjNCIpLGk9WyJ4eXoiLCJ4enkiLCJ5eHoiLCJ5engiLCJ6eHkiLCJ6eXgiXSxvPWZ1bmN0aW9uKHQsZSxyLGkpe2Zvcih2YXIgbz0wLHM9MDtzPHQubGVuZ3RoO3MrKylmb3IodmFyIGw9dFtzXS52ZWxvY2l0aWVzLGM9MDtjPGwubGVuZ3RoO2MrKylvPU1hdGgubWF4KG8sbi5sZW5ndGgobFtjXSkpO3ZhciB1PXQubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0LGUscixpKXtmb3IodmFyIG89dC5wb2ludHMscz10LnZlbG9jaXRpZXMsbD10LmRpdmVyZ2VuY2VzLGM9W10sdT1bXSxoPVtdLGY9W10scD1bXSxkPVtdLGc9MCx2PTAsbT1hLmNyZWF0ZSgpLHk9YS5jcmVhdGUoKSx4PTA7eDxvLmxlbmd0aDt4Kyspe3ZhciBiPW9beF0sXz1zW3hdLHc9bFt4XTswPT09ZSYmKHc9LjA1KnIpLHY9bi5sZW5ndGgoXykvaSxtPWEuY3JlYXRlKCksbi5jb3B5KG0sXyksbVszXT13O2Zvcih2YXIgaz0wO2s8ODtrKyspcFtrXT1bYlswXSxiWzFdLGJbMl0sa107aWYoZi5sZW5ndGg+MClmb3Ioaz0wO2s8ODtrKyspe3ZhciBUPShrKzEpJTg7Yy5wdXNoKGZba10scFtrXSxwW1RdLHBbVF0sZltUXSxmW2tdKSxoLnB1c2goeSxtLG0sbSx5LHkpLGQucHVzaChnLHYsdix2LGcsZyk7dmFyIE09Yy5sZW5ndGg7dS5wdXNoKFtNLTYsTS01LE0tNF0sW00tMyxNLTIsTS0xXSl9dmFyIEE9ZjtmPXAscD1BO3ZhciBTPXk7eT1tLG09Uzt2YXIgRT1nO2c9dix2PUV9cmV0dXJue3Bvc2l0aW9uczpjLGNlbGxzOnUsdmVjdG9yczpoLHZlcnRleEludGVuc2l0eTpkfX0odCxyLGksbyl9KSxoPVtdLGY9W10scD1bXSxkPVtdO2ZvcihzPTA7czx1Lmxlbmd0aDtzKyspe3ZhciBnPXVbc10sdj1oLmxlbmd0aDtoPWguY29uY2F0KGcucG9zaXRpb25zKSxwPXAuY29uY2F0KGcudmVjdG9ycyksZD1kLmNvbmNhdChnLnZlcnRleEludGVuc2l0eSk7Zm9yKGM9MDtjPGcuY2VsbHMubGVuZ3RoO2MrKyl7dmFyIG09Zy5jZWxsc1tjXSx5PVtdO2YucHVzaCh5KTtmb3IodmFyIHg9MDt4PG0ubGVuZ3RoO3grKyl5LnB1c2gobVt4XSt2KX19cmV0dXJue3Bvc2l0aW9uczpoLGNlbGxzOmYsdmVjdG9yczpwLHZlcnRleEludGVuc2l0eTpkLGNvbG9ybWFwOmV9fSxzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbj10Lmxlbmd0aDtmb3Iocj0wO3I8bjtyKyspe3ZhciBhPXRbcl07aWYoYT09PWUpcmV0dXJuIHI7aWYoYT5lKXJldHVybiByLTF9cmV0dXJuIHJ9LGw9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PGU/ZTp0PnI/cjp0fSxjPWZ1bmN0aW9uKHQpe3ZhciBlPTEvMDt0LnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC1lfSk7Zm9yKHZhciByPXQubGVuZ3RoLG49MTtuPHI7bisrKXt2YXIgYT1NYXRoLmFicyh0W25dLXRbbi0xXSk7YTxlJiYoZT1hKX1yZXR1cm4gZX07ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5zdGFydGluZ1Bvc2l0aW9ucyxhPXQubWF4TGVuZ3RofHwxZTMsdT10LnR1YmVTaXplfHwxLGg9dC5hYnNvbHV0ZVR1YmVTaXplLGY9dC5ncmlkRmlsbHx8Iit4K3kreiIscD17fTstMSE9PWYuaW5kZXhPZigiLXgiKSYmKHAucmV2ZXJzZWRYPSEwKSwtMSE9PWYuaW5kZXhPZigiLXkiKSYmKHAucmV2ZXJzZWRZPSEwKSwtMSE9PWYuaW5kZXhPZigiLXoiKSYmKHAucmV2ZXJzZWRaPSEwKSxwLmZpbGxlZD1pLmluZGV4T2YoZi5yZXBsYWNlKC8tL2csIiIpLnJlcGxhY2UoL1wrL2csIiIpKTt2YXIgZD10LmdldFZlbG9jaXR5fHxmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCxlLHIpe3ZhciBhPWUudmVjdG9ycyxpPWUubWVzaGdyaWQsbz10WzBdLGM9dFsxXSx1PXRbMl0saD1pWzBdLmxlbmd0aCxmPWlbMV0ubGVuZ3RoLHA9aVsyXS5sZW5ndGgsZD1zKGlbMF0sbyksZz1zKGlbMV0sYyksdj1zKGlbMl0sdSksbT1kKzEseT1nKzEseD12KzE7aWYoZD1sKGQsMCxoLTEpLG09bChtLDAsaC0xKSxnPWwoZywwLGYtMSkseT1sKHksMCxmLTEpLHY9bCh2LDAscC0xKSx4PWwoeCwwLHAtMSksZDwwfHxnPDB8fHY8MHx8bT5oLTF8fHk+Zi0xfHx4PnAtMSlyZXR1cm4gbi5jcmVhdGUoKTt2YXIgYixfLHcsayxULE0sQT1pWzBdW2RdLFM9aVswXVttXSxFPWlbMV1bZ10sTD1pWzFdW3ldLEM9aVsyXVt2XSxQPShvLUEpLyhTLUEpLE89KGMtRSkvKEwtRSksej0odS1DKS8oaVsyXVt4XS1DKTtzd2l0Y2goaXNGaW5pdGUoUCl8fChQPS41KSxpc0Zpbml0ZShPKXx8KE89LjUpLGlzRmluaXRlKHopfHwoej0uNSksci5yZXZlcnNlZFgmJihkPWgtMS1kLG09aC0xLW0pLHIucmV2ZXJzZWRZJiYoZz1mLTEtZyx5PWYtMS15KSxyLnJldmVyc2VkWiYmKHY9cC0xLXYseD1wLTEteCksci5maWxsZWQpe2Nhc2UgNTpUPXYsTT14LHc9ZypwLGs9eSpwLGI9ZCpwKmYsXz1tKnAqZjticmVhaztjYXNlIDQ6VD12LE09eCxiPWQqcCxfPW0qcCx3PWcqcCpoLGs9eSpwKmg7YnJlYWs7Y2FzZSAzOnc9ZyxrPXksVD12KmYsTT14KmYsYj1kKmYqcCxfPW0qZipwO2JyZWFrO2Nhc2UgMjp3PWcsaz15LGI9ZCpmLF89bSpmLFQ9dipmKmgsTT14KmYqaDticmVhaztjYXNlIDE6Yj1kLF89bSxUPXYqaCxNPXgqaCx3PWcqaCpwLGs9eSpoKnA7YnJlYWs7ZGVmYXVsdDpiPWQsXz1tLHc9ZypoLGs9eSpoLFQ9dipoKmYsTT14KmgqZn12YXIgST1hW2IrdytUXSxEPWFbYit3K01dLFI9YVtiK2srVF0sRj1hW2IraytNXSxCPWFbXyt3K1RdLE49YVtfK3crTV0saj1hW18raytUXSxWPWFbXytrK01dLFU9bi5jcmVhdGUoKSxxPW4uY3JlYXRlKCksSD1uLmNyZWF0ZSgpLEc9bi5jcmVhdGUoKTtuLmxlcnAoVSxJLEIsUCksbi5sZXJwKHEsRCxOLFApLG4ubGVycChILFIsaixQKSxuLmxlcnAoRyxGLFYsUCk7dmFyIFk9bi5jcmVhdGUoKSxXPW4uY3JlYXRlKCk7bi5sZXJwKFksVSxILE8pLG4ubGVycChXLHEsRyxPKTt2YXIgWD1uLmNyZWF0ZSgpO3JldHVybiBuLmxlcnAoWCxZLFcseiksWH0oZSx0LHApfSxnPXQuZ2V0RGl2ZXJnZW5jZXx8ZnVuY3Rpb24odCxlKXt2YXIgcj1uLmNyZWF0ZSgpLGE9MWUtNDtuLmFkZChyLHQsW2EsMCwwXSk7dmFyIGk9ZChyKTtuLnN1YnRyYWN0KGksaSxlKSxuLnNjYWxlKGksaSwxZTQpLG4uYWRkKHIsdCxbMCxhLDBdKTt2YXIgbz1kKHIpO24uc3VidHJhY3QobyxvLGUpLG4uc2NhbGUobyxvLDFlNCksbi5hZGQocix0LFswLDAsYV0pO3ZhciBzPWQocik7cmV0dXJuIG4uc3VidHJhY3QocyxzLGUpLG4uc2NhbGUocyxzLDFlNCksbi5hZGQocixpLG8pLG4uYWRkKHIscixzKSxyfSx2PVtdLG09ZVswXVswXSx5PWVbMF1bMV0seD1lWzBdWzJdLGI9ZVsxXVswXSxfPWVbMV1bMV0sdz1lWzFdWzJdLGs9ZnVuY3Rpb24odCl7dmFyIGU9dFswXSxyPXRbMV0sbj10WzJdO3JldHVybiEoZTxtfHxlPmJ8fHI8eXx8cj5ffHxuPHh8fG4+dyl9LFQ9MTAqbi5kaXN0YW5jZShlWzBdLGVbMV0pL2EsTT1UKlQsQT0xLFM9MCxFPXIubGVuZ3RoO0U+MSYmKEE9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLHI9W10sbj1bXSxhPXt9LGk9e30sbz17fSxzPXQubGVuZ3RoLGw9MDtsPHM7bCsrKXt2YXIgdT10W2xdLGg9dVswXSxmPXVbMV0scD11WzJdO2FbaF18fChlLnB1c2goaCksYVtoXT0hMCksaVtmXXx8KHIucHVzaChmKSxpW2ZdPSEwKSxvW3BdfHwobi5wdXNoKHApLG9bcF09ITApfXZhciBkPWMoZSksZz1jKHIpLHY9YyhuKSxtPU1hdGgubWluKGQsZyx2KTtyZXR1cm4gaXNGaW5pdGUobSk/bToxfShyKSk7Zm9yKHZhciBMPTA7TDxFO0wrKyl7dmFyIEM9bi5jcmVhdGUoKTtuLmNvcHkoQyxyW0xdKTt2YXIgUD1bQ10sTz1bXSx6PWQoQyksST1DO08ucHVzaCh6KTt2YXIgRD1bXSxSPWcoQyx6KSxGPW4ubGVuZ3RoKFIpO2lzRmluaXRlKEYpJiZGPlMmJihTPUYpLEQucHVzaChGKSx2LnB1c2goe3BvaW50czpQLHZlbG9jaXRpZXM6TyxkaXZlcmdlbmNlczpEfSk7Zm9yKHZhciBCPTA7QjwxMDAqYSYmUC5sZW5ndGg8YSYmayhDKTspe0IrKzt2YXIgTj1uLmNsb25lKHopLGo9bi5zcXVhcmVkTGVuZ3RoKE4pO2lmKDA9PT1qKWJyZWFrO2lmKGo+TSYmbi5zY2FsZShOLE4sVC9NYXRoLnNxcnQoaikpLG4uYWRkKE4sTixDKSx6PWQoTiksbi5zcXVhcmVkRGlzdGFuY2UoSSxOKS1NPi0xZS00Kk0pe1AucHVzaChOKSxJPU4sTy5wdXNoKHopO1I9ZyhOLHopLEY9bi5sZW5ndGgoUik7aXNGaW5pdGUoRikmJkY+UyYmKFM9RiksRC5wdXNoKEYpfUM9Tn19dmFyIFY9byh2LHQuY29sb3JtYXAsUyxBKTtyZXR1cm4gaD9WLnR1YmVTY2FsZT1oOigwPT09UyYmKFM9MSksVi50dWJlU2NhbGU9LjUqdSpBL1MpLFZ9O3ZhciB1PXQoIi4vbGliL3NoYWRlcnMiKSxoPXQoImdsLWNvbmUzZCIpLmNyZWF0ZU1lc2g7ZS5leHBvcnRzLmNyZWF0ZVR1YmVNZXNoPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGgodCxlLHtzaGFkZXJzOnUsdHJhY2VUeXBlOiJzdHJlYW10dWJlIn0pfX0seyIuL2xpYi9zaGFkZXJzIjozMTQsImdsLWNvbmUzZCI6MjQ1LCJnbC12ZWMzIjozNDgsImdsLXZlYzQiOjM4NH1dLDMxNjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImdsLXNoYWRlciIpLGE9dCgiZ2xzbGlmeSIpLGk9YShbInByZWNpc2lvbiBoaWdocCBmbG9hdDtcbiNkZWZpbmUgR0xTTElGWSAxXG5cbmF0dHJpYnV0ZSB2ZWM0IHV2O1xuYXR0cmlidXRlIHZlYzMgZjtcbmF0dHJpYnV0ZSB2ZWMzIG5vcm1hbDtcblxudW5pZm9ybSB2ZWMzIG9iamVjdE9mZnNldDtcbnVuaWZvcm0gbWF0NCBtb2RlbCwgdmlldywgcHJvamVjdGlvbiwgaW52ZXJzZU1vZGVsO1xudW5pZm9ybSB2ZWMzIGxpZ2h0UG9zaXRpb24sIGV5ZVBvc2l0aW9uO1xudW5pZm9ybSBzYW1wbGVyMkQgY29sb3JtYXA7XG5cbnZhcnlpbmcgZmxvYXQgdmFsdWUsIGtpbGw7XG52YXJ5aW5nIHZlYzMgd29ybGRDb29yZGluYXRlO1xudmFyeWluZyB2ZWMyIHBsYW5lQ29vcmRpbmF0ZTtcbnZhcnlpbmcgdmVjMyBsaWdodERpcmVjdGlvbiwgZXllRGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsO1xudmFyeWluZyB2ZWM0IHZDb2xvcjtcblxudm9pZCBtYWluKCkge1xuICB2ZWMzIGxvY2FsQ29vcmRpbmF0ZSA9IHZlYzModXYuencsIGYueCk7XG4gIHdvcmxkQ29vcmRpbmF0ZSA9IG9iamVjdE9mZnNldCArIGxvY2FsQ29vcmRpbmF0ZTtcbiAgdmVjNCB3b3JsZFBvc2l0aW9uID0gbW9kZWwgKiB2ZWM0KHdvcmxkQ29vcmRpbmF0ZSwgMS4wKTtcbiAgdmVjNCBjbGlwUG9zaXRpb24gPSBwcm9qZWN0aW9uICogdmlldyAqIHdvcmxkUG9zaXRpb247XG4gIGdsX1Bvc2l0aW9uID0gY2xpcFBvc2l0aW9uO1xuICBraWxsID0gZi55O1xuICB2YWx1ZSA9IGYuejtcbiAgcGxhbmVDb29yZGluYXRlID0gdXYueHk7XG5cbiAgdkNvbG9yID0gdGV4dHVyZTJEKGNvbG9ybWFwLCB2ZWMyKHZhbHVlLCB2YWx1ZSkpO1xuXG4gIC8vTGlnaHRpbmcgZ2VvbWV0cnkgcGFyYW1ldGVyc1xuICB2ZWM0IGNhbWVyYUNvb3JkaW5hdGUgPSB2aWV3ICogd29ybGRQb3NpdGlvbjtcbiAgY2FtZXJhQ29vcmRpbmF0ZS54eXogLz0gY2FtZXJhQ29vcmRpbmF0ZS53O1xuICBsaWdodERpcmVjdGlvbiA9IGxpZ2h0UG9zaXRpb24gLSBjYW1lcmFDb29yZGluYXRlLnh5ejtcbiAgZXllRGlyZWN0aW9uICAgPSBleWVQb3NpdGlvbiAtIGNhbWVyYUNvb3JkaW5hdGUueHl6O1xuICBzdXJmYWNlTm9ybWFsICA9IG5vcm1hbGl6ZSgodmVjNChub3JtYWwsMCkgKiBpbnZlcnNlTW9kZWwpLnh5eik7XG59XG4iXSksbz1hKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuZmxvYXQgYmVja21hbm5EaXN0cmlidXRpb24oZmxvYXQgeCwgZmxvYXQgcm91Z2huZXNzKSB7XG4gIGZsb2F0IE5kb3RIID0gbWF4KHgsIDAuMDAwMSk7XG4gIGZsb2F0IGNvczJBbHBoYSA9IE5kb3RIICogTmRvdEg7XG4gIGZsb2F0IHRhbjJBbHBoYSA9IChjb3MyQWxwaGEgLSAxLjApIC8gY29zMkFscGhhO1xuICBmbG9hdCByb3VnaG5lc3MyID0gcm91Z2huZXNzICogcm91Z2huZXNzO1xuICBmbG9hdCBkZW5vbSA9IDMuMTQxNTkyNjUzNTg5NzkzICogcm91Z2huZXNzMiAqIGNvczJBbHBoYSAqIGNvczJBbHBoYTtcbiAgcmV0dXJuIGV4cCh0YW4yQWxwaGEgLyByb3VnaG5lc3MyKSAvIGRlbm9tO1xufVxuXG5mbG9hdCBiZWNrbWFublNwZWN1bGFyKFxuICB2ZWMzIGxpZ2h0RGlyZWN0aW9uLFxuICB2ZWMzIHZpZXdEaXJlY3Rpb24sXG4gIHZlYzMgc3VyZmFjZU5vcm1hbCxcbiAgZmxvYXQgcm91Z2huZXNzKSB7XG4gIHJldHVybiBiZWNrbWFubkRpc3RyaWJ1dGlvbihkb3Qoc3VyZmFjZU5vcm1hbCwgbm9ybWFsaXplKGxpZ2h0RGlyZWN0aW9uICsgdmlld0RpcmVjdGlvbikpLCByb3VnaG5lc3MpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UoZmxvYXQgYSwgZmxvYXQgYiwgZmxvYXQgcCkge1xuICByZXR1cm4gKChwID4gbWF4KGEsIGIpKSB8fCBcbiAgICAgICAgICAocCA8IG1pbihhLCBiKSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMiBhLCB2ZWMyIGIsIHZlYzIgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzMgYSwgdmVjMyBiLCB2ZWMzIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS56LCBiLnosIHAueikpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjNCBhLCB2ZWM0IGIsIHZlYzQgcCkge1xuICByZXR1cm4gb3V0T2ZSYW5nZShhLnh5eiwgYi54eXosIHAueHl6KTtcbn1cblxudW5pZm9ybSB2ZWMzIGxvd2VyQm91bmQsIHVwcGVyQm91bmQ7XG51bmlmb3JtIGZsb2F0IGNvbnRvdXJUaW50O1xudW5pZm9ybSB2ZWM0IGNvbnRvdXJDb2xvcjtcbnVuaWZvcm0gc2FtcGxlcjJEIGNvbG9ybWFwO1xudW5pZm9ybSB2ZWMzIGNsaXBCb3VuZHNbMl07XG51bmlmb3JtIGZsb2F0IHJvdWdobmVzcywgZnJlc25lbCwga2FtYmllbnQsIGtkaWZmdXNlLCBrc3BlY3VsYXIsIG9wYWNpdHk7XG51bmlmb3JtIGZsb2F0IHZlcnRleENvbG9yO1xuXG52YXJ5aW5nIGZsb2F0IHZhbHVlLCBraWxsO1xudmFyeWluZyB2ZWMzIHdvcmxkQ29vcmRpbmF0ZTtcbnZhcnlpbmcgdmVjMyBsaWdodERpcmVjdGlvbiwgZXllRGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsO1xudmFyeWluZyB2ZWM0IHZDb2xvcjtcblxudm9pZCBtYWluKCkge1xuICBpZiAoKGtpbGwgPiAwLjApIHx8XG4gICAgICAob3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCB3b3JsZENvb3JkaW5hdGUpKSkgZGlzY2FyZDtcblxuICB2ZWMzIE4gPSBub3JtYWxpemUoc3VyZmFjZU5vcm1hbCk7XG4gIHZlYzMgViA9IG5vcm1hbGl6ZShleWVEaXJlY3Rpb24pO1xuICB2ZWMzIEwgPSBub3JtYWxpemUobGlnaHREaXJlY3Rpb24pO1xuXG4gIGlmKGdsX0Zyb250RmFjaW5nKSB7XG4gICAgTiA9IC1OO1xuICB9XG5cbiAgZmxvYXQgc3BlY3VsYXIgPSBtYXgoYmVja21hbm5TcGVjdWxhcihMLCBWLCBOLCByb3VnaG5lc3MpLCAwLik7XG4gIGZsb2F0IGRpZmZ1c2UgID0gbWluKGthbWJpZW50ICsga2RpZmZ1c2UgKiBtYXgoZG90KE4sIEwpLCAwLjApLCAxLjApO1xuXG4gIC8vZGVjaWRlIGhvdyB0byBpbnRlcnBvbGF0ZSBjb2xvciBcdTIwMTQgaW4gdmVydGV4IG9yIGluIGZyYWdtZW50XG4gIHZlYzQgc3VyZmFjZUNvbG9yID1cbiAgICBzdGVwKHZlcnRleENvbG9yLCAuNSkgKiB0ZXh0dXJlMkQoY29sb3JtYXAsIHZlYzIodmFsdWUsIHZhbHVlKSkgK1xuICAgIHN0ZXAoLjUsIHZlcnRleENvbG9yKSAqIHZDb2xvcjtcblxuICB2ZWM0IGxpdENvbG9yID0gc3VyZmFjZUNvbG9yLmEgKiB2ZWM0KGRpZmZ1c2UgKiBzdXJmYWNlQ29sb3IucmdiICsga3NwZWN1bGFyICogdmVjMygxLDEsMSkgKiBzcGVjdWxhciwgIDEuMCk7XG5cbiAgZ2xfRnJhZ0NvbG9yID0gbWl4KGxpdENvbG9yLCBjb250b3VyQ29sb3IsIGNvbnRvdXJUaW50KSAqIG9wYWNpdHk7XG59XG4iXSkscz1hKFsicHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2RlZmluZSBHTFNMSUZZIDFcblxuYXR0cmlidXRlIHZlYzQgdXY7XG5hdHRyaWJ1dGUgZmxvYXQgZjtcblxudW5pZm9ybSB2ZWMzIG9iamVjdE9mZnNldDtcbnVuaWZvcm0gbWF0MyBwZXJtdXRhdGlvbjtcbnVuaWZvcm0gbWF0NCBtb2RlbCwgdmlldywgcHJvamVjdGlvbjtcbnVuaWZvcm0gZmxvYXQgaGVpZ2h0LCB6T2Zmc2V0O1xudW5pZm9ybSBzYW1wbGVyMkQgY29sb3JtYXA7XG5cbnZhcnlpbmcgZmxvYXQgdmFsdWUsIGtpbGw7XG52YXJ5aW5nIHZlYzMgd29ybGRDb29yZGluYXRlO1xudmFyeWluZyB2ZWMyIHBsYW5lQ29vcmRpbmF0ZTtcbnZhcnlpbmcgdmVjMyBsaWdodERpcmVjdGlvbiwgZXllRGlyZWN0aW9uLCBzdXJmYWNlTm9ybWFsO1xudmFyeWluZyB2ZWM0IHZDb2xvcjtcblxudm9pZCBtYWluKCkge1xuICB2ZWMzIGRhdGFDb29yZGluYXRlID0gcGVybXV0YXRpb24gKiB2ZWMzKHV2Lnh5LCBoZWlnaHQpO1xuICB3b3JsZENvb3JkaW5hdGUgPSBvYmplY3RPZmZzZXQgKyBkYXRhQ29vcmRpbmF0ZTtcbiAgdmVjNCB3b3JsZFBvc2l0aW9uID0gbW9kZWwgKiB2ZWM0KHdvcmxkQ29vcmRpbmF0ZSwgMS4wKTtcblxuICB2ZWM0IGNsaXBQb3NpdGlvbiA9IHByb2plY3Rpb24gKiB2aWV3ICogd29ybGRQb3NpdGlvbjtcbiAgY2xpcFBvc2l0aW9uLnogKz0gek9mZnNldDtcblxuICBnbF9Qb3NpdGlvbiA9IGNsaXBQb3NpdGlvbjtcbiAgdmFsdWUgPSBmICsgb2JqZWN0T2Zmc2V0Lno7XG4gIGtpbGwgPSAtMS4wO1xuICBwbGFuZUNvb3JkaW5hdGUgPSB1di56dztcblxuICB2Q29sb3IgPSB0ZXh0dXJlMkQoY29sb3JtYXAsIHZlYzIodmFsdWUsIHZhbHVlKSk7XG5cbiAgLy9Eb24ndCBkbyBsaWdodGluZyBmb3IgY29udG91cnNcbiAgc3VyZmFjZU5vcm1hbCAgID0gdmVjMygxLDAsMCk7XG4gIGV5ZURpcmVjdGlvbiAgICA9IHZlYzMoMCwxLDApO1xuICBsaWdodERpcmVjdGlvbiAgPSB2ZWMzKDAsMCwxKTtcbn1cbiJdKSxsPWEoWyJwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZGVmaW5lIEdMU0xJRlkgMVxuXG5ib29sIG91dE9mUmFuZ2UoZmxvYXQgYSwgZmxvYXQgYiwgZmxvYXQgcCkge1xuICByZXR1cm4gKChwID4gbWF4KGEsIGIpKSB8fCBcbiAgICAgICAgICAocCA8IG1pbihhLCBiKSkpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjMiBhLCB2ZWMyIGIsIHZlYzIgcCkge1xuICByZXR1cm4gKG91dE9mUmFuZ2UoYS54LCBiLngsIHAueCkgfHxcbiAgICAgICAgICBvdXRPZlJhbmdlKGEueSwgYi55LCBwLnkpKTtcbn1cblxuYm9vbCBvdXRPZlJhbmdlKHZlYzMgYSwgdmVjMyBiLCB2ZWMzIHApIHtcbiAgcmV0dXJuIChvdXRPZlJhbmdlKGEueCwgYi54LCBwLngpIHx8XG4gICAgICAgICAgb3V0T2ZSYW5nZShhLnksIGIueSwgcC55KSB8fFxuICAgICAgICAgIG91dE9mUmFuZ2UoYS56LCBiLnosIHAueikpO1xufVxuXG5ib29sIG91dE9mUmFuZ2UodmVjNCBhLCB2ZWM0IGIsIHZlYzQgcCkge1xuICByZXR1cm4gb3V0T2ZSYW5nZShhLnh5eiwgYi54eXosIHAueHl6KTtcbn1cblxudW5pZm9ybSB2ZWMyIHNoYXBlO1xudW5pZm9ybSB2ZWMzIGNsaXBCb3VuZHNbMl07XG51bmlmb3JtIGZsb2F0IHBpY2tJZDtcblxudmFyeWluZyBmbG9hdCB2YWx1ZSwga2lsbDtcbnZhcnlpbmcgdmVjMyB3b3JsZENvb3JkaW5hdGU7XG52YXJ5aW5nIHZlYzIgcGxhbmVDb29yZGluYXRlO1xudmFyeWluZyB2ZWMzIHN1cmZhY2VOb3JtYWw7XG5cbnZlYzIgc3BsaXRGbG9hdChmbG9hdCB2KSB7XG4gIGZsb2F0IHZoID0gMjU1LjAgKiB2O1xuICBmbG9hdCB1cHBlciA9IGZsb29yKHZoKTtcbiAgZmxvYXQgbG93ZXIgPSBmcmFjdCh2aCk7XG4gIHJldHVybiB2ZWMyKHVwcGVyIC8gMjU1LjAsIGZsb29yKGxvd2VyICogMTYuMCkgLyAxNi4wKTtcbn1cblxudm9pZCBtYWluKCkge1xuICBpZiAoKGtpbGwgPiAwLjApIHx8XG4gICAgICAob3V0T2ZSYW5nZShjbGlwQm91bmRzWzBdLCBjbGlwQm91bmRzWzFdLCB3b3JsZENvb3JkaW5hdGUpKSkgZGlzY2FyZDtcblxuICB2ZWMyIHV4ID0gc3BsaXRGbG9hdChwbGFuZUNvb3JkaW5hdGUueCAvIHNoYXBlLngpO1xuICB2ZWMyIHV5ID0gc3BsaXRGbG9hdChwbGFuZUNvb3JkaW5hdGUueSAvIHNoYXBlLnkpO1xuICBnbF9GcmFnQ29sb3IgPSB2ZWM0KHBpY2tJZCwgdXgueCwgdXkueCwgdXgueSArICh1eS55LzE2LjApKTtcbn1cbiJdKTtyLmNyZWF0ZVNoYWRlcj1mdW5jdGlvbih0KXt2YXIgZT1uKHQsaSxvLG51bGwsW3tuYW1lOiJ1diIsdHlwZToidmVjNCJ9LHtuYW1lOiJmIix0eXBlOiJ2ZWMzIn0se25hbWU6Im5vcm1hbCIsdHlwZToidmVjMyJ9XSk7cmV0dXJuIGUuYXR0cmlidXRlcy51di5sb2NhdGlvbj0wLGUuYXR0cmlidXRlcy5mLmxvY2F0aW9uPTEsZS5hdHRyaWJ1dGVzLm5vcm1hbC5sb2NhdGlvbj0yLGV9LHIuY3JlYXRlUGlja1NoYWRlcj1mdW5jdGlvbih0KXt2YXIgZT1uKHQsaSxsLG51bGwsW3tuYW1lOiJ1diIsdHlwZToidmVjNCJ9LHtuYW1lOiJmIix0eXBlOiJ2ZWMzIn0se25hbWU6Im5vcm1hbCIsdHlwZToidmVjMyJ9XSk7cmV0dXJuIGUuYXR0cmlidXRlcy51di5sb2NhdGlvbj0wLGUuYXR0cmlidXRlcy5mLmxvY2F0aW9uPTEsZS5hdHRyaWJ1dGVzLm5vcm1hbC5sb2NhdGlvbj0yLGV9LHIuY3JlYXRlQ29udG91clNoYWRlcj1mdW5jdGlvbih0KXt2YXIgZT1uKHQscyxvLG51bGwsW3tuYW1lOiJ1diIsdHlwZToidmVjNCJ9LHtuYW1lOiJmIix0eXBlOiJmbG9hdCJ9XSk7cmV0dXJuIGUuYXR0cmlidXRlcy51di5sb2NhdGlvbj0wLGUuYXR0cmlidXRlcy5mLmxvY2F0aW9uPTEsZX0sci5jcmVhdGVQaWNrQ29udG91clNoYWRlcj1mdW5jdGlvbih0KXt2YXIgZT1uKHQscyxsLG51bGwsW3tuYW1lOiJ1diIsdHlwZToidmVjNCJ9LHtuYW1lOiJmIix0eXBlOiJmbG9hdCJ9XSk7cmV0dXJuIGUuYXR0cmlidXRlcy51di5sb2NhdGlvbj0wLGUuYXR0cmlidXRlcy5mLmxvY2F0aW9uPTEsZX19LHsiZ2wtc2hhZGVyIjozMDQsZ2xzbGlmeTo0MTF9XSwzMTc6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTEzXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MTEzfV0sMzE4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10LmdsLHI9eShlKSxuPWIoZSkscz14KGUpLGw9XyhlKSxjPWEoZSksdT1pKGUsW3tidWZmZXI6YyxzaXplOjQsc3RyaWRlOncsb2Zmc2V0OjB9LHtidWZmZXI6YyxzaXplOjMsc3RyaWRlOncsb2Zmc2V0OjE2fSx7YnVmZmVyOmMsc2l6ZTozLHN0cmlkZTp3LG9mZnNldDoyOH1dKSxoPWEoZSksZj1pKGUsW3tidWZmZXI6aCxzaXplOjQsc3RyaWRlOjIwLG9mZnNldDowfSx7YnVmZmVyOmgsc2l6ZToxLHN0cmlkZToyMCxvZmZzZXQ6MTZ9XSkscD1hKGUpLGQ9aShlLFt7YnVmZmVyOnAsc2l6ZToyLHR5cGU6ZS5GTE9BVH1dKSxnPW8oZSwxLFMsZS5SR0JBLGUuVU5TSUdORURfQllURSk7Zy5taW5GaWx0ZXI9ZS5MSU5FQVIsZy5tYWdGaWx0ZXI9ZS5MSU5FQVI7dmFyIHY9bmV3IEUoZSxbMCwwXSxbWzAsMCwwXSxbMCwwLDBdXSxyLG4sYyx1LGcscyxsLGgsZixwLGQsWzAsMCwwXSksbT17bGV2ZWxzOltbXSxbXSxbXV19O2Zvcih2YXIgayBpbiB0KW1ba109dFtrXTtyZXR1cm4gbS5jb2xvcm1hcD1tLmNvbG9ybWFwfHwiamV0Iix2LnVwZGF0ZShtKSx2fTt2YXIgbj10KCJiaXQtdHdpZGRsZSIpLGE9dCgiZ2wtYnVmZmVyIiksaT10KCJnbC12YW8iKSxvPXQoImdsLXRleHR1cmUyZCIpLHM9dCgidHlwZWRhcnJheS1wb29sIiksbD10KCJjb2xvcm1hcCIpLGM9dCgibmRhcnJheS1vcHMiKSx1PXQoIm5kYXJyYXktcGFjayIpLGg9dCgibmRhcnJheSIpLGY9dCgic3VyZmFjZS1uZXRzIikscD10KCJnbC1tYXQ0L211bHRpcGx5IiksZD10KCJnbC1tYXQ0L2ludmVydCIpLGc9dCgiYmluYXJ5LXNlYXJjaC1ib3VuZHMiKSx2PXQoIm5kYXJyYXktZ3JhZGllbnQiKSxtPXQoIi4vbGliL3NoYWRlcnMiKSx5PW0uY3JlYXRlU2hhZGVyLHg9bS5jcmVhdGVDb250b3VyU2hhZGVyLGI9bS5jcmVhdGVQaWNrU2hhZGVyLF89bS5jcmVhdGVQaWNrQ29udG91clNoYWRlcix3PTQwLGs9WzEsMCwwLDAsMCwxLDAsMCwwLDAsMSwwLDAsMCwwLDFdLFQ9W1swLDBdLFswLDFdLFsxLDBdLFsxLDFdLFsxLDBdLFswLDFdXSxNPVtbMCwwLDAsMCwwLDAsMCwwLDBdLFswLDAsMCwwLDAsMCwwLDAsMF0sWzAsMCwwLDAsMCwwLDAsMCwwXV07ZnVuY3Rpb24gQSh0LGUscixuLGEpe3RoaXMucG9zaXRpb249dCx0aGlzLmluZGV4PWUsdGhpcy51dj1yLHRoaXMubGV2ZWw9bix0aGlzLmRhdGFDb29yZGluYXRlPWF9IWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDwzOysrdCl7dmFyIGU9TVt0XSxyPSh0KzIpJTM7ZVsodCsxKSUzKzBdPTEsZVtyKzNdPTEsZVt0KzZdPTF9fSgpO3ZhciBTPTI1NjtmdW5jdGlvbiBFKHQsZSxyLG4sYSxpLG8sbCxjLHUsZixwLGQsZyx2KXt0aGlzLmdsPXQsdGhpcy5zaGFwZT1lLHRoaXMuYm91bmRzPXIsdGhpcy5vYmplY3RPZmZzZXQ9dix0aGlzLmludGVuc2l0eUJvdW5kcz1bXSx0aGlzLl9zaGFkZXI9bix0aGlzLl9waWNrU2hhZGVyPWEsdGhpcy5fY29vcmRpbmF0ZUJ1ZmZlcj1pLHRoaXMuX3Zhbz1vLHRoaXMuX2NvbG9yTWFwPWwsdGhpcy5fY29udG91clNoYWRlcj1jLHRoaXMuX2NvbnRvdXJQaWNrU2hhZGVyPXUsdGhpcy5fY29udG91ckJ1ZmZlcj1mLHRoaXMuX2NvbnRvdXJWQU89cCx0aGlzLl9jb250b3VyT2Zmc2V0cz1bW10sW10sW11dLHRoaXMuX2NvbnRvdXJDb3VudHM9W1tdLFtdLFtdXSx0aGlzLl92ZXJ0ZXhDb3VudD0wLHRoaXMuX3BpY2tSZXN1bHQ9bmV3IEEoWzAsMCwwXSxbMCwwXSxbMCwwXSxbMCwwLDBdLFswLDAsMF0pLHRoaXMuX2R5bmFtaWNCdWZmZXI9ZCx0aGlzLl9keW5hbWljVkFPPWcsdGhpcy5fZHluYW1pY09mZnNldHM9WzAsMCwwXSx0aGlzLl9keW5hbWljQ291bnRzPVswLDAsMF0sdGhpcy5jb250b3VyV2lkdGg9WzEsMSwxXSx0aGlzLmNvbnRvdXJMZXZlbHM9W1sxXSxbMV0sWzFdXSx0aGlzLmNvbnRvdXJUaW50PVswLDAsMF0sdGhpcy5jb250b3VyQ29sb3I9W1suNSwuNSwuNSwxXSxbLjUsLjUsLjUsMV0sWy41LC41LC41LDFdXSx0aGlzLnNob3dDb250b3VyPSEwLHRoaXMuc2hvd1N1cmZhY2U9ITAsdGhpcy5lbmFibGVIaWdobGlnaHQ9WyEwLCEwLCEwXSx0aGlzLmhpZ2hsaWdodENvbG9yPVtbMCwwLDAsMV0sWzAsMCwwLDFdLFswLDAsMCwxXV0sdGhpcy5oaWdobGlnaHRUaW50PVsxLDEsMV0sdGhpcy5oaWdobGlnaHRMZXZlbD1bLTEsLTEsLTFdLHRoaXMuZW5hYmxlRHluYW1pYz1bITAsITAsITBdLHRoaXMuZHluYW1pY0xldmVsPVtOYU4sTmFOLE5hTl0sdGhpcy5keW5hbWljQ29sb3I9W1swLDAsMCwxXSxbMCwwLDAsMV0sWzAsMCwwLDFdXSx0aGlzLmR5bmFtaWNUaW50PVsxLDEsMV0sdGhpcy5keW5hbWljV2lkdGg9WzEsMSwxXSx0aGlzLmF4ZXNCb3VuZHM9W1sxLzAsMS8wLDEvMF0sWy0xLzAsLTEvMCwtMS8wXV0sdGhpcy5zdXJmYWNlUHJvamVjdD1bITEsITEsITFdLHRoaXMuY29udG91clByb2plY3Q9W1shMSwhMSwhMV0sWyExLCExLCExXSxbITEsITEsITFdXSx0aGlzLmNvbG9yQm91bmRzPVshMSwhMV0sdGhpcy5fZmllbGQ9W2gocy5tYWxsb2NGbG9hdCgxMDI0KSxbMCwwXSksaChzLm1hbGxvY0Zsb2F0KDEwMjQpLFswLDBdKSxoKHMubWFsbG9jRmxvYXQoMTAyNCksWzAsMF0pXSx0aGlzLnBpY2tJZD0xLHRoaXMuY2xpcEJvdW5kcz1bWy0xLzAsLTEvMCwtMS8wXSxbMS8wLDEvMCwxLzBdXSx0aGlzLnNuYXBUb0RhdGE9ITEsdGhpcy5waXhlbFJhdGlvPTEsdGhpcy5vcGFjaXR5PTEsdGhpcy5saWdodFBvc2l0aW9uPVsxMCwxZTQsMF0sdGhpcy5hbWJpZW50TGlnaHQ9LjgsdGhpcy5kaWZmdXNlTGlnaHQ9LjgsdGhpcy5zcGVjdWxhckxpZ2h0PTIsdGhpcy5yb3VnaG5lc3M9LjUsdGhpcy5mcmVzbmVsPTEuNSx0aGlzLnZlcnRleENvbG9yPTAsdGhpcy5kaXJ0eT0hMH12YXIgTD1FLnByb3RvdHlwZTtMLmlzVHJhbnNwYXJlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcGFjaXR5PDF9LEwuaXNPcGFxdWU9ZnVuY3Rpb24oKXtpZih0aGlzLm9wYWNpdHk+PTEpcmV0dXJuITA7Zm9yKHZhciB0PTA7dDwzOysrdClpZih0aGlzLl9jb250b3VyQ291bnRzW3RdLmxlbmd0aD4wfHx0aGlzLl9keW5hbWljQ291bnRzW3RdPjApcmV0dXJuITA7cmV0dXJuITF9LEwucGlja1Nsb3RzPTEsTC5zZXRQaWNrQmFzZT1mdW5jdGlvbih0KXt0aGlzLnBpY2tJZD10fTt2YXIgQz1bMCwwLDBdLFA9e3Nob3dTdXJmYWNlOiExLHNob3dDb250b3VyOiExLHByb2plY3Rpb25zOltrLnNsaWNlKCksay5zbGljZSgpLGsuc2xpY2UoKV0sY2xpcEJvdW5kczpbW1swLDAsMF0sWzAsMCwwXV0sW1swLDAsMF0sWzAsMCwwXV0sW1swLDAsMF0sWzAsMCwwXV1dfTtmdW5jdGlvbiBPKHQsZSl7dmFyIHIsbixhLGk9ZS5heGVzJiZlLmF4ZXMubGFzdEN1YmVQcm9wcy5heGlzfHxDLG89ZS5zaG93U3VyZmFjZSxzPWUuc2hvd0NvbnRvdXI7Zm9yKHI9MDtyPDM7KytyKWZvcihvPW98fGUuc3VyZmFjZVByb2plY3Rbcl0sbj0wO248MzsrK24pcz1zfHxlLmNvbnRvdXJQcm9qZWN0W3JdW25dO2ZvcihyPTA7cjwzOysrcil7dmFyIGw9UC5wcm9qZWN0aW9uc1tyXTtmb3Iobj0wO248MTY7KytuKWxbbl09MDtmb3Iobj0wO248NDsrK24pbFs1Km5dPTE7bFs1KnJdPTAsbFsxMityXT1lLmF4ZXNCb3VuZHNbKyhpW3JdPjApXVtyXSxwKGwsdC5tb2RlbCxsKTt2YXIgYz1QLmNsaXBCb3VuZHNbcl07Zm9yKGE9MDthPDI7KythKWZvcihuPTA7bjwzOysrbiljW2FdW25dPXQuY2xpcEJvdW5kc1thXVtuXTtjWzBdW3JdPS0xZTgsY1sxXVtyXT0xZTh9cmV0dXJuIFAuc2hvd1N1cmZhY2U9byxQLnNob3dDb250b3VyPXMsUH12YXIgej17bW9kZWw6ayx2aWV3OmsscHJvamVjdGlvbjprLGludmVyc2VNb2RlbDprLnNsaWNlKCksbG93ZXJCb3VuZDpbMCwwLDBdLHVwcGVyQm91bmQ6WzAsMCwwXSxjb2xvck1hcDowLGNsaXBCb3VuZHM6W1swLDAsMF0sWzAsMCwwXV0saGVpZ2h0OjAsY29udG91clRpbnQ6MCxjb250b3VyQ29sb3I6WzAsMCwwLDFdLHBlcm11dGF0aW9uOlsxLDAsMCwwLDEsMCwwLDAsMV0sek9mZnNldDotMWUtNCxvYmplY3RPZmZzZXQ6WzAsMCwwXSxrYW1iaWVudDoxLGtkaWZmdXNlOjEsa3NwZWN1bGFyOjEsbGlnaHRQb3NpdGlvbjpbMWUzLDFlMywxZTNdLGV5ZVBvc2l0aW9uOlswLDAsMF0scm91Z2huZXNzOjEsZnJlc25lbDoxLG9wYWNpdHk6MSx2ZXJ0ZXhDb2xvcjowfSxJPWsuc2xpY2UoKSxEPVsxLDAsMCwwLDEsMCwwLDAsMV07ZnVuY3Rpb24gUih0LGUpe3Q9dHx8e307dmFyIHI9dGhpcy5nbDtyLmRpc2FibGUoci5DVUxMX0ZBQ0UpLHRoaXMuX2NvbG9yTWFwLmJpbmQoMCk7dmFyIG49ejtuLm1vZGVsPXQubW9kZWx8fGssbi52aWV3PXQudmlld3x8ayxuLnByb2plY3Rpb249dC5wcm9qZWN0aW9ufHxrLG4ubG93ZXJCb3VuZD1bdGhpcy5ib3VuZHNbMF1bMF0sdGhpcy5ib3VuZHNbMF1bMV0sdGhpcy5jb2xvckJvdW5kc1swXXx8dGhpcy5ib3VuZHNbMF1bMl1dLG4udXBwZXJCb3VuZD1bdGhpcy5ib3VuZHNbMV1bMF0sdGhpcy5ib3VuZHNbMV1bMV0sdGhpcy5jb2xvckJvdW5kc1sxXXx8dGhpcy5ib3VuZHNbMV1bMl1dLG4ub2JqZWN0T2Zmc2V0PXRoaXMub2JqZWN0T2Zmc2V0LG4uY29udG91ckNvbG9yPXRoaXMuY29udG91ckNvbG9yWzBdLG4uaW52ZXJzZU1vZGVsPWQobi5pbnZlcnNlTW9kZWwsbi5tb2RlbCk7Zm9yKHZhciBhPTA7YTwyOysrYSlmb3IodmFyIGk9bi5jbGlwQm91bmRzW2FdLG89MDtvPDM7KytvKWlbb109TWF0aC5taW4oTWF0aC5tYXgodGhpcy5jbGlwQm91bmRzW2FdW29dLC0xZTgpLDFlOCk7bi5rYW1iaWVudD10aGlzLmFtYmllbnRMaWdodCxuLmtkaWZmdXNlPXRoaXMuZGlmZnVzZUxpZ2h0LG4ua3NwZWN1bGFyPXRoaXMuc3BlY3VsYXJMaWdodCxuLnJvdWdobmVzcz10aGlzLnJvdWdobmVzcyxuLmZyZXNuZWw9dGhpcy5mcmVzbmVsLG4ub3BhY2l0eT10aGlzLm9wYWNpdHksbi5oZWlnaHQ9MCxuLnBlcm11dGF0aW9uPUQsbi52ZXJ0ZXhDb2xvcj10aGlzLnZlcnRleENvbG9yO3ZhciBzPUk7Zm9yKHAocyxuLnZpZXcsbi5tb2RlbCkscChzLG4ucHJvamVjdGlvbixzKSxkKHMscyksYT0wO2E8MzsrK2Epbi5leWVQb3NpdGlvblthXT1zWzEyK2FdL3NbMTVdO3ZhciBsPXNbMTVdO2ZvcihhPTA7YTwzOysrYSlsKz10aGlzLmxpZ2h0UG9zaXRpb25bYV0qc1s0KmErM107Zm9yKGE9MDthPDM7KythKXt2YXIgYz1zWzEyK2FdO2ZvcihvPTA7bzwzOysrbyljKz1zWzQqbythXSp0aGlzLmxpZ2h0UG9zaXRpb25bb107bi5saWdodFBvc2l0aW9uW2FdPWMvbH12YXIgdT1PKG4sdGhpcyk7aWYodS5zaG93U3VyZmFjZSYmZT09PXRoaXMub3BhY2l0eTwxKXtmb3IodGhpcy5fc2hhZGVyLmJpbmQoKSx0aGlzLl9zaGFkZXIudW5pZm9ybXM9bix0aGlzLl92YW8uYmluZCgpLHRoaXMuc2hvd1N1cmZhY2UmJnRoaXMuX3ZlcnRleENvdW50JiZ0aGlzLl92YW8uZHJhdyhyLlRSSUFOR0xFUyx0aGlzLl92ZXJ0ZXhDb3VudCksYT0wO2E8MzsrK2EpdGhpcy5zdXJmYWNlUHJvamVjdFthXSYmdGhpcy52ZXJ0ZXhDb3VudCYmKHRoaXMuX3NoYWRlci51bmlmb3Jtcy5tb2RlbD11LnByb2plY3Rpb25zW2FdLHRoaXMuX3NoYWRlci51bmlmb3Jtcy5jbGlwQm91bmRzPXUuY2xpcEJvdW5kc1thXSx0aGlzLl92YW8uZHJhdyhyLlRSSUFOR0xFUyx0aGlzLl92ZXJ0ZXhDb3VudCkpO3RoaXMuX3Zhby51bmJpbmQoKX1pZih1LnNob3dDb250b3VyJiYhZSl7dmFyIGg9dGhpcy5fY29udG91clNoYWRlcjtuLmthbWJpZW50PTEsbi5rZGlmZnVzZT0wLG4ua3NwZWN1bGFyPTAsbi5vcGFjaXR5PTEsaC5iaW5kKCksaC51bmlmb3Jtcz1uO3ZhciBmPXRoaXMuX2NvbnRvdXJWQU87Zm9yKGYuYmluZCgpLGE9MDthPDM7KythKWZvcihoLnVuaWZvcm1zLnBlcm11dGF0aW9uPU1bYV0sci5saW5lV2lkdGgodGhpcy5jb250b3VyV2lkdGhbYV0qdGhpcy5waXhlbFJhdGlvKSxvPTA7bzx0aGlzLmNvbnRvdXJMZXZlbHNbYV0ubGVuZ3RoOysrbylvPT09dGhpcy5oaWdobGlnaHRMZXZlbFthXT8oaC51bmlmb3Jtcy5jb250b3VyQ29sb3I9dGhpcy5oaWdobGlnaHRDb2xvclthXSxoLnVuaWZvcm1zLmNvbnRvdXJUaW50PXRoaXMuaGlnaGxpZ2h0VGludFthXSk6MCE9PW8mJm8tMSE9PXRoaXMuaGlnaGxpZ2h0TGV2ZWxbYV18fChoLnVuaWZvcm1zLmNvbnRvdXJDb2xvcj10aGlzLmNvbnRvdXJDb2xvclthXSxoLnVuaWZvcm1zLmNvbnRvdXJUaW50PXRoaXMuY29udG91clRpbnRbYV0pLHRoaXMuX2NvbnRvdXJDb3VudHNbYV1bb10mJihoLnVuaWZvcm1zLmhlaWdodD10aGlzLmNvbnRvdXJMZXZlbHNbYV1bb10sZi5kcmF3KHIuTElORVMsdGhpcy5fY29udG91ckNvdW50c1thXVtvXSx0aGlzLl9jb250b3VyT2Zmc2V0c1thXVtvXSkpO2ZvcihhPTA7YTwzOysrYSlmb3IoaC51bmlmb3Jtcy5tb2RlbD11LnByb2plY3Rpb25zW2FdLGgudW5pZm9ybXMuY2xpcEJvdW5kcz11LmNsaXBCb3VuZHNbYV0sbz0wO288MzsrK28paWYodGhpcy5jb250b3VyUHJvamVjdFthXVtvXSl7aC51bmlmb3Jtcy5wZXJtdXRhdGlvbj1NW29dLHIubGluZVdpZHRoKHRoaXMuY29udG91cldpZHRoW29dKnRoaXMucGl4ZWxSYXRpbyk7Zm9yKHZhciBnPTA7Zzx0aGlzLmNvbnRvdXJMZXZlbHNbb10ubGVuZ3RoOysrZylnPT09dGhpcy5oaWdobGlnaHRMZXZlbFtvXT8oaC51bmlmb3Jtcy5jb250b3VyQ29sb3I9dGhpcy5oaWdobGlnaHRDb2xvcltvXSxoLnVuaWZvcm1zLmNvbnRvdXJUaW50PXRoaXMuaGlnaGxpZ2h0VGludFtvXSk6MCE9PWcmJmctMSE9PXRoaXMuaGlnaGxpZ2h0TGV2ZWxbb118fChoLnVuaWZvcm1zLmNvbnRvdXJDb2xvcj10aGlzLmNvbnRvdXJDb2xvcltvXSxoLnVuaWZvcm1zLmNvbnRvdXJUaW50PXRoaXMuY29udG91clRpbnRbb10pLHRoaXMuX2NvbnRvdXJDb3VudHNbb11bZ10mJihoLnVuaWZvcm1zLmhlaWdodD10aGlzLmNvbnRvdXJMZXZlbHNbb11bZ10sZi5kcmF3KHIuTElORVMsdGhpcy5fY29udG91ckNvdW50c1tvXVtnXSx0aGlzLl9jb250b3VyT2Zmc2V0c1tvXVtnXSkpfWZvcihmLnVuYmluZCgpLChmPXRoaXMuX2R5bmFtaWNWQU8pLmJpbmQoKSxhPTA7YTwzOysrYSlpZigwIT09dGhpcy5fZHluYW1pY0NvdW50c1thXSlmb3IoaC51bmlmb3Jtcy5tb2RlbD1uLm1vZGVsLGgudW5pZm9ybXMuY2xpcEJvdW5kcz1uLmNsaXBCb3VuZHMsaC51bmlmb3Jtcy5wZXJtdXRhdGlvbj1NW2FdLHIubGluZVdpZHRoKHRoaXMuZHluYW1pY1dpZHRoW2FdKnRoaXMucGl4ZWxSYXRpbyksaC51bmlmb3Jtcy5jb250b3VyQ29sb3I9dGhpcy5keW5hbWljQ29sb3JbYV0saC51bmlmb3Jtcy5jb250b3VyVGludD10aGlzLmR5bmFtaWNUaW50W2FdLGgudW5pZm9ybXMuaGVpZ2h0PXRoaXMuZHluYW1pY0xldmVsW2FdLGYuZHJhdyhyLkxJTkVTLHRoaXMuX2R5bmFtaWNDb3VudHNbYV0sdGhpcy5fZHluYW1pY09mZnNldHNbYV0pLG89MDtvPDM7KytvKXRoaXMuY29udG91clByb2plY3Rbb11bYV0mJihoLnVuaWZvcm1zLm1vZGVsPXUucHJvamVjdGlvbnNbb10saC51bmlmb3Jtcy5jbGlwQm91bmRzPXUuY2xpcEJvdW5kc1tvXSxmLmRyYXcoci5MSU5FUyx0aGlzLl9keW5hbWljQ291bnRzW2FdLHRoaXMuX2R5bmFtaWNPZmZzZXRzW2FdKSk7Zi51bmJpbmQoKX19TC5kcmF3PWZ1bmN0aW9uKHQpe3JldHVybiBSLmNhbGwodGhpcyx0LCExKX0sTC5kcmF3VHJhbnNwYXJlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIFIuY2FsbCh0aGlzLHQsITApfTt2YXIgRj17bW9kZWw6ayx2aWV3OmsscHJvamVjdGlvbjprLGludmVyc2VNb2RlbDprLGNsaXBCb3VuZHM6W1swLDAsMF0sWzAsMCwwXV0saGVpZ2h0OjAsc2hhcGU6WzAsMF0scGlja0lkOjAsbG93ZXJCb3VuZDpbMCwwLDBdLHVwcGVyQm91bmQ6WzAsMCwwXSx6T2Zmc2V0OjAsb2JqZWN0T2Zmc2V0OlswLDAsMF0scGVybXV0YXRpb246WzEsMCwwLDAsMSwwLDAsMCwxXSxsaWdodFBvc2l0aW9uOlswLDAsMF0sZXllUG9zaXRpb246WzAsMCwwXX07ZnVuY3Rpb24gQih0LGUpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP1tlKHRbMF0pLGUodFsxXSksZSh0WzJdKV06W2UodCksZSh0KSxlKHQpXX1mdW5jdGlvbiBOKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpPzM9PT10Lmxlbmd0aD9bdFswXSx0WzFdLHRbMl0sMV06W3RbMF0sdFsxXSx0WzJdLHRbM11dOlswLDAsMCwxXX1mdW5jdGlvbiBqKHQpe2lmKEFycmF5LmlzQXJyYXkodCkpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuW04odFswXSksTih0WzFdKSxOKHRbMl0pXTt2YXIgZT1OKHQpO3JldHVybltlLnNsaWNlKCksZS5zbGljZSgpLGUuc2xpY2UoKV19fUwuZHJhd1BpY2s9ZnVuY3Rpb24odCl7dD10fHx7fTt2YXIgZT10aGlzLmdsO2UuZGlzYWJsZShlLkNVTExfRkFDRSk7dmFyIHI9RjtyLm1vZGVsPXQubW9kZWx8fGssci52aWV3PXQudmlld3x8ayxyLnByb2plY3Rpb249dC5wcm9qZWN0aW9ufHxrLHIuc2hhcGU9dGhpcy5fZmllbGRbMl0uc2hhcGUsci5waWNrSWQ9dGhpcy5waWNrSWQvMjU1LHIubG93ZXJCb3VuZD10aGlzLmJvdW5kc1swXSxyLnVwcGVyQm91bmQ9dGhpcy5ib3VuZHNbMV0sci5vYmplY3RPZmZzZXQ9dGhpcy5vYmplY3RPZmZzZXQsci5wZXJtdXRhdGlvbj1EO2Zvcih2YXIgbj0wO248MjsrK24pZm9yKHZhciBhPXIuY2xpcEJvdW5kc1tuXSxpPTA7aTwzOysraSlhW2ldPU1hdGgubWluKE1hdGgubWF4KHRoaXMuY2xpcEJvdW5kc1tuXVtpXSwtMWU4KSwxZTgpO3ZhciBvPU8ocix0aGlzKTtpZihvLnNob3dTdXJmYWNlKXtmb3IodGhpcy5fcGlja1NoYWRlci5iaW5kKCksdGhpcy5fcGlja1NoYWRlci51bmlmb3Jtcz1yLHRoaXMuX3Zhby5iaW5kKCksdGhpcy5fdmFvLmRyYXcoZS5UUklBTkdMRVMsdGhpcy5fdmVydGV4Q291bnQpLG49MDtuPDM7KytuKXRoaXMuc3VyZmFjZVByb2plY3Rbbl0mJih0aGlzLl9waWNrU2hhZGVyLnVuaWZvcm1zLm1vZGVsPW8ucHJvamVjdGlvbnNbbl0sdGhpcy5fcGlja1NoYWRlci51bmlmb3Jtcy5jbGlwQm91bmRzPW8uY2xpcEJvdW5kc1tuXSx0aGlzLl92YW8uZHJhdyhlLlRSSUFOR0xFUyx0aGlzLl92ZXJ0ZXhDb3VudCkpO3RoaXMuX3Zhby51bmJpbmQoKX1pZihvLnNob3dDb250b3VyKXt2YXIgcz10aGlzLl9jb250b3VyUGlja1NoYWRlcjtzLmJpbmQoKSxzLnVuaWZvcm1zPXI7dmFyIGw9dGhpcy5fY29udG91clZBTztmb3IobC5iaW5kKCksaT0wO2k8MzsrK2kpZm9yKGUubGluZVdpZHRoKHRoaXMuY29udG91cldpZHRoW2ldKnRoaXMucGl4ZWxSYXRpbykscy51bmlmb3Jtcy5wZXJtdXRhdGlvbj1NW2ldLG49MDtuPHRoaXMuY29udG91ckxldmVsc1tpXS5sZW5ndGg7KytuKXRoaXMuX2NvbnRvdXJDb3VudHNbaV1bbl0mJihzLnVuaWZvcm1zLmhlaWdodD10aGlzLmNvbnRvdXJMZXZlbHNbaV1bbl0sbC5kcmF3KGUuTElORVMsdGhpcy5fY29udG91ckNvdW50c1tpXVtuXSx0aGlzLl9jb250b3VyT2Zmc2V0c1tpXVtuXSkpO2ZvcihuPTA7bjwzOysrbilmb3Iocy51bmlmb3Jtcy5tb2RlbD1vLnByb2plY3Rpb25zW25dLHMudW5pZm9ybXMuY2xpcEJvdW5kcz1vLmNsaXBCb3VuZHNbbl0saT0wO2k8MzsrK2kpaWYodGhpcy5jb250b3VyUHJvamVjdFtuXVtpXSl7cy51bmlmb3Jtcy5wZXJtdXRhdGlvbj1NW2ldLGUubGluZVdpZHRoKHRoaXMuY29udG91cldpZHRoW2ldKnRoaXMucGl4ZWxSYXRpbyk7Zm9yKHZhciBjPTA7Yzx0aGlzLmNvbnRvdXJMZXZlbHNbaV0ubGVuZ3RoOysrYyl0aGlzLl9jb250b3VyQ291bnRzW2ldW2NdJiYocy51bmlmb3Jtcy5oZWlnaHQ9dGhpcy5jb250b3VyTGV2ZWxzW2ldW2NdLGwuZHJhdyhlLkxJTkVTLHRoaXMuX2NvbnRvdXJDb3VudHNbaV1bY10sdGhpcy5fY29udG91ck9mZnNldHNbaV1bY10pKX1sLnVuYmluZCgpfX0sTC5waWNrPWZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybiBudWxsO2lmKHQuaWQhPT10aGlzLnBpY2tJZClyZXR1cm4gbnVsbDt2YXIgZT10aGlzLl9maWVsZFsyXS5zaGFwZSxyPXRoaXMuX3BpY2tSZXN1bHQsbj1lWzBdKih0LnZhbHVlWzBdKyh0LnZhbHVlWzJdPj40KS8xNikvMjU1LGE9TWF0aC5mbG9vcihuKSxpPW4tYSxvPWVbMV0qKHQudmFsdWVbMV0rKDE1JnQudmFsdWVbMl0pLzE2KS8yNTUscz1NYXRoLmZsb29yKG8pLGw9by1zO2ErPTEscys9MTt2YXIgYz1yLnBvc2l0aW9uO2NbMF09Y1sxXT1jWzJdPTA7Zm9yKHZhciB1PTA7dTwyOysrdSlmb3IodmFyIGg9dT9pOjEtaSxmPTA7ZjwyOysrZilmb3IodmFyIHA9YSt1LGQ9cytmLHY9aCooZj9sOjEtbCksbT0wO208MzsrK20pY1ttXSs9dGhpcy5fZmllbGRbbV0uZ2V0KHAsZCkqdjtmb3IodmFyIHk9dGhpcy5fcGlja1Jlc3VsdC5sZXZlbCx4PTA7eDwzOysreClpZih5W3hdPWcubGUodGhpcy5jb250b3VyTGV2ZWxzW3hdLGNbeF0pLHlbeF08MCl0aGlzLmNvbnRvdXJMZXZlbHNbeF0ubGVuZ3RoPjAmJih5W3hdPTApO2Vsc2UgaWYoeVt4XTx0aGlzLmNvbnRvdXJMZXZlbHNbeF0ubGVuZ3RoLTEpe3ZhciBiPXRoaXMuY29udG91ckxldmVsc1t4XVt5W3hdXSxfPXRoaXMuY29udG91ckxldmVsc1t4XVt5W3hdKzFdO01hdGguYWJzKGItY1t4XSk+TWF0aC5hYnMoXy1jW3hdKSYmKHlbeF0rPTEpfWZvcihyLmluZGV4WzBdPWk8LjU/YTphKzEsci5pbmRleFsxXT1sPC41P3M6cysxLHIudXZbMF09bi9lWzBdLHIudXZbMV09by9lWzFdLG09MDttPDM7KyttKXIuZGF0YUNvb3JkaW5hdGVbbV09dGhpcy5fZmllbGRbbV0uZ2V0KHIuaW5kZXhbMF0sci5pbmRleFsxXSk7cmV0dXJuIHJ9LEwucGFkRmllbGQ9ZnVuY3Rpb24odCxlKXt2YXIgcj1lLnNoYXBlLnNsaWNlKCksbj10LnNoYXBlLnNsaWNlKCk7Yy5hc3NpZ24odC5sbygxLDEpLmhpKHJbMF0sclsxXSksZSksYy5hc3NpZ24odC5sbygxKS5oaShyWzBdLDEpLGUuaGkoclswXSwxKSksYy5hc3NpZ24odC5sbygxLG5bMV0tMSkuaGkoclswXSwxKSxlLmxvKDAsclsxXS0xKS5oaShyWzBdLDEpKSxjLmFzc2lnbih0LmxvKDAsMSkuaGkoMSxyWzFdKSxlLmhpKDEpKSxjLmFzc2lnbih0LmxvKG5bMF0tMSwxKS5oaSgxLHJbMV0pLGUubG8oclswXS0xKSksdC5zZXQoMCwwLGUuZ2V0KDAsMCkpLHQuc2V0KDAsblsxXS0xLGUuZ2V0KDAsclsxXS0xKSksdC5zZXQoblswXS0xLDAsZS5nZXQoclswXS0xLDApKSx0LnNldChuWzBdLTEsblsxXS0xLGUuZ2V0KHJbMF0tMSxyWzFdLTEpKX0sTC51cGRhdGU9ZnVuY3Rpb24odCl7dD10fHx7fSx0aGlzLm9iamVjdE9mZnNldD10Lm9iamVjdE9mZnNldHx8dGhpcy5vYmplY3RPZmZzZXQsdGhpcy5kaXJ0eT0hMCwiY29udG91cldpZHRoImluIHQmJih0aGlzLmNvbnRvdXJXaWR0aD1CKHQuY29udG91cldpZHRoLE51bWJlcikpLCJzaG93Q29udG91ciJpbiB0JiYodGhpcy5zaG93Q29udG91cj1CKHQuc2hvd0NvbnRvdXIsQm9vbGVhbikpLCJzaG93U3VyZmFjZSJpbiB0JiYodGhpcy5zaG93U3VyZmFjZT0hIXQuc2hvd1N1cmZhY2UpLCJjb250b3VyVGludCJpbiB0JiYodGhpcy5jb250b3VyVGludD1CKHQuY29udG91clRpbnQsQm9vbGVhbikpLCJjb250b3VyQ29sb3IiaW4gdCYmKHRoaXMuY29udG91ckNvbG9yPWoodC5jb250b3VyQ29sb3IpKSwiY29udG91clByb2plY3QiaW4gdCYmKHRoaXMuY29udG91clByb2plY3Q9Qih0LmNvbnRvdXJQcm9qZWN0LGZ1bmN0aW9uKHQpe3JldHVybiBCKHQsQm9vbGVhbil9KSksInN1cmZhY2VQcm9qZWN0ImluIHQmJih0aGlzLnN1cmZhY2VQcm9qZWN0PXQuc3VyZmFjZVByb2plY3QpLCJkeW5hbWljQ29sb3IiaW4gdCYmKHRoaXMuZHluYW1pY0NvbG9yPWoodC5keW5hbWljQ29sb3IpKSwiZHluYW1pY1RpbnQiaW4gdCYmKHRoaXMuZHluYW1pY1RpbnQ9Qih0LmR5bmFtaWNUaW50LE51bWJlcikpLCJkeW5hbWljV2lkdGgiaW4gdCYmKHRoaXMuZHluYW1pY1dpZHRoPUIodC5keW5hbWljV2lkdGgsTnVtYmVyKSksIm9wYWNpdHkiaW4gdCYmKHRoaXMub3BhY2l0eT10Lm9wYWNpdHkpLCJjb2xvckJvdW5kcyJpbiB0JiYodGhpcy5jb2xvckJvdW5kcz10LmNvbG9yQm91bmRzKSwidmVydGV4Q29sb3IiaW4gdCYmKHRoaXMudmVydGV4Q29sb3I9dC52ZXJ0ZXhDb2xvcj8xOjApO3ZhciBlPXQuZmllbGR8fHQuY29vcmRzJiZ0LmNvb3Jkc1syXXx8bnVsbCxyPSExO2lmKGV8fChlPXRoaXMuX2ZpZWxkWzJdLnNoYXBlWzBdfHx0aGlzLl9maWVsZFsyXS5zaGFwZVsyXT90aGlzLl9maWVsZFsyXS5sbygxLDEpLmhpKHRoaXMuX2ZpZWxkWzJdLnNoYXBlWzBdLTIsdGhpcy5fZmllbGRbMl0uc2hhcGVbMV0tMik6dGhpcy5fZmllbGRbMl0uaGkoMCwwKSksImZpZWxkImluIHR8fCJjb29yZHMiaW4gdCl7dmFyIGE9KGUuc2hhcGVbMF0rMikqKGUuc2hhcGVbMV0rMik7YT50aGlzLl9maWVsZFsyXS5kYXRhLmxlbmd0aCYmKHMuZnJlZUZsb2F0KHRoaXMuX2ZpZWxkWzJdLmRhdGEpLHRoaXMuX2ZpZWxkWzJdLmRhdGE9cy5tYWxsb2NGbG9hdChuLm5leHRQb3cyKGEpKSksdGhpcy5fZmllbGRbMl09aCh0aGlzLl9maWVsZFsyXS5kYXRhLFtlLnNoYXBlWzBdKzIsZS5zaGFwZVsxXSsyXSksdGhpcy5wYWRGaWVsZCh0aGlzLl9maWVsZFsyXSxlKSx0aGlzLnNoYXBlPWUuc2hhcGUuc2xpY2UoKTtmb3IodmFyIGk9dGhpcy5zaGFwZSxvPTA7bzwyOysrbyl0aGlzLl9maWVsZFsyXS5zaXplPnRoaXMuX2ZpZWxkW29dLmRhdGEubGVuZ3RoJiYocy5mcmVlRmxvYXQodGhpcy5fZmllbGRbb10uZGF0YSksdGhpcy5fZmllbGRbb10uZGF0YT1zLm1hbGxvY0Zsb2F0KHRoaXMuX2ZpZWxkWzJdLnNpemUpKSx0aGlzLl9maWVsZFtvXT1oKHRoaXMuX2ZpZWxkW29dLmRhdGEsW2lbMF0rMixpWzFdKzJdKTtpZih0LmNvb3Jkcyl7dmFyIHA9dC5jb29yZHM7aWYoIUFycmF5LmlzQXJyYXkocCl8fDMhPT1wLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImdsLXN1cmZhY2U6IGludmFsaWQgY29vcmRpbmF0ZXMgZm9yIHgveSIpO2ZvcihvPTA7bzwyOysrbyl7dmFyIGQ9cFtvXTtmb3IoYj0wO2I8MjsrK2IpaWYoZC5zaGFwZVtiXSE9PWlbYl0pdGhyb3cgbmV3IEVycm9yKCJnbC1zdXJmYWNlOiBjb29yZHMgaGF2ZSBpbmNvcnJlY3Qgc2hhcGUiKTt0aGlzLnBhZEZpZWxkKHRoaXMuX2ZpZWxkW29dLGQpfX1lbHNlIGlmKHQudGlja3Mpe3ZhciBnPXQudGlja3M7aWYoIUFycmF5LmlzQXJyYXkoZyl8fDIhPT1nLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImdsLXN1cmZhY2U6IGludmFsaWQgdGlja3MiKTtmb3Iobz0wO288MjsrK28pe3ZhciBtPWdbb107aWYoKEFycmF5LmlzQXJyYXkobSl8fG0ubGVuZ3RoKSYmKG09aChtKSksbS5zaGFwZVswXSE9PWlbb10pdGhyb3cgbmV3IEVycm9yKCJnbC1zdXJmYWNlOiBpbnZhbGlkIHRpY2sgbGVuZ3RoIik7dmFyIHk9aChtLmRhdGEsaSk7eS5zdHJpZGVbb109bS5zdHJpZGVbMF0seS5zdHJpZGVbMV5vXT0wLHRoaXMucGFkRmllbGQodGhpcy5fZmllbGRbb10seSl9fWVsc2V7Zm9yKG89MDtvPDI7KytvKXt2YXIgeD1bMCwwXTt4W29dPTEsdGhpcy5fZmllbGRbb109aCh0aGlzLl9maWVsZFtvXS5kYXRhLFtpWzBdKzIsaVsxXSsyXSx4LDApfXRoaXMuX2ZpZWxkWzBdLnNldCgwLDAsMCk7Zm9yKHZhciBiPTA7YjxpWzBdOysrYil0aGlzLl9maWVsZFswXS5zZXQoYisxLDAsYik7Zm9yKHRoaXMuX2ZpZWxkWzBdLnNldChpWzBdKzEsMCxpWzBdLTEpLHRoaXMuX2ZpZWxkWzFdLnNldCgwLDAsMCksYj0wO2I8aVsxXTsrK2IpdGhpcy5fZmllbGRbMV0uc2V0KDAsYisxLGIpO3RoaXMuX2ZpZWxkWzFdLnNldCgwLGlbMV0rMSxpWzFdLTEpfXZhciBfPXRoaXMuX2ZpZWxkLHc9aChzLm1hbGxvY0Zsb2F0KDMqX1syXS5zaXplKjIpLFszLGlbMF0rMixpWzFdKzIsMl0pO2ZvcihvPTA7bzwzOysrbyl2KHcucGljayhvKSxfW29dLCJtaXJyb3IiKTt2YXIgaz1oKHMubWFsbG9jRmxvYXQoMypfWzJdLnNpemUpLFtpWzBdKzIsaVsxXSsyLDNdKTtmb3Iobz0wO288aVswXSsyOysrbylmb3IoYj0wO2I8aVsxXSsyOysrYil7dmFyIE09dy5nZXQoMCxvLGIsMCksQT13LmdldCgwLG8sYiwxKSxFPXcuZ2V0KDEsbyxiLDApLEw9dy5nZXQoMSxvLGIsMSksQz13LmdldCgyLG8sYiwwKSxQPXcuZ2V0KDIsbyxiLDEpLE89RSpQLUwqQyx6PUMqQS1QKk0sST1NKkwtQSpFLEQ9TWF0aC5zcXJ0KE8qTyt6KnorSSpJKTtEPDFlLTg/KEQ9TWF0aC5tYXgoTWF0aC5hYnMoTyksTWF0aC5hYnMoeiksTWF0aC5hYnMoSSkpKTwxZS04PyhJPTEsej1PPTAsRD0xKTpEPTEvRDpEPTEvTWF0aC5zcXJ0KEQpLGsuc2V0KG8sYiwwLE8qRCksay5zZXQobyxiLDEseipEKSxrLnNldChvLGIsMixJKkQpfXMuZnJlZSh3LmRhdGEpO3ZhciBSPVsxLzAsMS8wLDEvMF0sRj1bLTEvMCwtMS8wLC0xLzBdLE49MS8wLFY9LTEvMCxVPShpWzBdLTEpKihpWzFdLTEpKjYscT1zLm1hbGxvY0Zsb2F0KG4ubmV4dFBvdzIoMTAqVSkpLEg9MCxHPTA7Zm9yKG89MDtvPGlbMF0tMTsrK28pdDpmb3IoYj0wO2I8aVsxXS0xOysrYil7Zm9yKHZhciBZPTA7WTwyOysrWSlmb3IodmFyIFc9MDtXPDI7KytXKWZvcih2YXIgWD0wO1g8MzsrK1gpe3ZhciBaPXRoaXMuX2ZpZWxkW1hdLmdldCgxK28rWSwxK2IrVyk7aWYoaXNOYU4oWil8fCFpc0Zpbml0ZShaKSljb250aW51ZSB0fWZvcihYPTA7WDw2OysrWCl7dmFyIEo9bytUW1hdWzBdLEs9YitUW1hdWzFdLFE9dGhpcy5fZmllbGRbMF0uZ2V0KEorMSxLKzEpLCQ9dGhpcy5fZmllbGRbMV0uZ2V0KEorMSxLKzEpO1o9dGhpcy5fZmllbGRbMl0uZ2V0KEorMSxLKzEpLE89ay5nZXQoSisxLEsrMSwwKSx6PWsuZ2V0KEorMSxLKzEsMSksST1rLmdldChKKzEsSysxLDIpLHQuaW50ZW5zaXR5JiYodHQ9dC5pbnRlbnNpdHkuZ2V0KEosSykpO3ZhciB0dD10LmludGVuc2l0eT90LmludGVuc2l0eS5nZXQoSixLKTpaK3RoaXMub2JqZWN0T2Zmc2V0WzJdO3FbSCsrXT1KLHFbSCsrXT1LLHFbSCsrXT1RLHFbSCsrXT0kLHFbSCsrXT1aLHFbSCsrXT0wLHFbSCsrXT10dCxxW0grK109TyxxW0grK109eixxW0grK109SSxSWzBdPU1hdGgubWluKFJbMF0sUSt0aGlzLm9iamVjdE9mZnNldFswXSksUlsxXT1NYXRoLm1pbihSWzFdLCQrdGhpcy5vYmplY3RPZmZzZXRbMV0pLFJbMl09TWF0aC5taW4oUlsyXSxaK3RoaXMub2JqZWN0T2Zmc2V0WzJdKSxOPU1hdGgubWluKE4sdHQpLEZbMF09TWF0aC5tYXgoRlswXSxRK3RoaXMub2JqZWN0T2Zmc2V0WzBdKSxGWzFdPU1hdGgubWF4KEZbMV0sJCt0aGlzLm9iamVjdE9mZnNldFsxXSksRlsyXT1NYXRoLm1heChGWzJdLFordGhpcy5vYmplY3RPZmZzZXRbMl0pLFY9TWF0aC5tYXgoVix0dCksRys9MX19Zm9yKHQuaW50ZW5zaXR5Qm91bmRzJiYoTj0rdC5pbnRlbnNpdHlCb3VuZHNbMF0sVj0rdC5pbnRlbnNpdHlCb3VuZHNbMV0pLG89NjtvPEg7bys9MTApcVtvXT0ocVtvXS1OKS8oVi1OKTt0aGlzLl92ZXJ0ZXhDb3VudD1HLHRoaXMuX2Nvb3JkaW5hdGVCdWZmZXIudXBkYXRlKHEuc3ViYXJyYXkoMCxIKSkscy5mcmVlRmxvYXQocSkscy5mcmVlKGsuZGF0YSksdGhpcy5ib3VuZHM9W1IsRl0sdGhpcy5pbnRlbnNpdHk9dC5pbnRlbnNpdHl8fHRoaXMuX2ZpZWxkWzJdLHRoaXMuaW50ZW5zaXR5Qm91bmRzWzBdPT09TiYmdGhpcy5pbnRlbnNpdHlCb3VuZHNbMV09PT1WfHwocj0hMCksdGhpcy5pbnRlbnNpdHlCb3VuZHM9W04sVl19aWYoImxldmVscyJpbiB0KXt2YXIgZXQ9dC5sZXZlbHM7Zm9yKGV0PUFycmF5LmlzQXJyYXkoZXRbMF0pP2V0LnNsaWNlKCk6W1tdLFtdLGV0XSxvPTA7bzwzOysrbylldFtvXT1ldFtvXS5zbGljZSgpLGV0W29dLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC1lfSk7Zm9yKG89MDtvPDM7KytvKWZvcihiPTA7YjxldFtvXS5sZW5ndGg7KytiKWV0W29dW2JdLT10aGlzLm9iamVjdE9mZnNldFtvXTt0OmZvcihvPTA7bzwzOysrbyl7aWYoZXRbb10ubGVuZ3RoIT09dGhpcy5jb250b3VyTGV2ZWxzW29dLmxlbmd0aCl7cj0hMDticmVha31mb3IoYj0wO2I8ZXRbb10ubGVuZ3RoOysrYilpZihldFtvXVtiXSE9PXRoaXMuY29udG91ckxldmVsc1tvXVtiXSl7cj0hMDticmVhayB0fX10aGlzLmNvbnRvdXJMZXZlbHM9ZXR9aWYocil7Xz10aGlzLl9maWVsZCxpPXRoaXMuc2hhcGU7Zm9yKHZhciBydD1bXSxudD0wO250PDM7KytudCl7dmFyIGF0PXRoaXMuY29udG91ckxldmVsc1tudF0saXQ9W10sb3Q9W10sc3Q9WzAsMCwwXTtmb3Iobz0wO288YXQubGVuZ3RoOysrbyl7dmFyIGx0PWYodGhpcy5fZmllbGRbbnRdLGF0W29dKTtpdC5wdXNoKHJ0Lmxlbmd0aC81fDApLEc9MDt0OmZvcihiPTA7YjxsdC5jZWxscy5sZW5ndGg7KytiKXt2YXIgY3Q9bHQuY2VsbHNbYl07Zm9yKFg9MDtYPDI7KytYKXt2YXIgdXQ9bHQucG9zaXRpb25zW2N0W1hdXSxodD11dFswXSxmdD0wfE1hdGguZmxvb3IoaHQpLHB0PWh0LWZ0LGR0PXV0WzFdLGd0PTB8TWF0aC5mbG9vcihkdCksdnQ9ZHQtZ3QsbXQ9ITE7ZTpmb3IodmFyIHl0PTA7eXQ8MzsrK3l0KXtzdFt5dF09MDt2YXIgeHQ9KG50K3l0KzEpJTM7Zm9yKFk9MDtZPDI7KytZKXt2YXIgYnQ9WT9wdDoxLXB0O2ZvcihKPTB8TWF0aC5taW4oTWF0aC5tYXgoZnQrWSwwKSxpWzBdKSxXPTA7VzwyOysrVyl7dmFyIF90PVc/dnQ6MS12dDtpZihLPTB8TWF0aC5taW4oTWF0aC5tYXgoZ3QrVywwKSxpWzFdKSxaPXl0PDI/dGhpcy5fZmllbGRbeHRdLmdldChKLEspOih0aGlzLmludGVuc2l0eS5nZXQoSixLKS10aGlzLmludGVuc2l0eUJvdW5kc1swXSkvKHRoaXMuaW50ZW5zaXR5Qm91bmRzWzFdLXRoaXMuaW50ZW5zaXR5Qm91bmRzWzBdKSwhaXNGaW5pdGUoWil8fGlzTmFOKFopKXttdD0hMDticmVhayBlfXZhciB3dD1idCpfdDtzdFt5dF0rPXd0Klp9fX1pZihtdCl7aWYoWD4wKXtmb3IodmFyIGt0PTA7a3Q8NTsrK2t0KXJ0LnBvcCgpO0ctPTF9Y29udGludWUgdH1ydC5wdXNoKHN0WzBdLHN0WzFdLHV0WzBdLHV0WzFdLHN0WzJdKSxHKz0xfX1vdC5wdXNoKEcpfXRoaXMuX2NvbnRvdXJPZmZzZXRzW250XT1pdCx0aGlzLl9jb250b3VyQ291bnRzW250XT1vdH12YXIgVHQ9cy5tYWxsb2NGbG9hdChydC5sZW5ndGgpO2ZvcihvPTA7bzxydC5sZW5ndGg7KytvKVR0W29dPXJ0W29dO3RoaXMuX2NvbnRvdXJCdWZmZXIudXBkYXRlKFR0KSxzLmZyZWVGbG9hdChUdCl9dC5jb2xvcm1hcCYmdGhpcy5fY29sb3JNYXAuc2V0UGl4ZWxzKGZ1bmN0aW9uKHQpe3ZhciBlPXUoW2woe2NvbG9ybWFwOnQsbnNoYWRlczpTLGZvcm1hdDoicmdiYSJ9KS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuW3RbMF0sdFsxXSx0WzJdLDI1NSp0WzNdXX0pXSk7cmV0dXJuIGMuZGl2c2VxKGUsMjU1KSxlfSh0LmNvbG9ybWFwKSl9LEwuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuX3NoYWRlci5kaXNwb3NlKCksdGhpcy5fdmFvLmRpc3Bvc2UoKSx0aGlzLl9jb29yZGluYXRlQnVmZmVyLmRpc3Bvc2UoKSx0aGlzLl9jb2xvck1hcC5kaXNwb3NlKCksdGhpcy5fY29udG91ckJ1ZmZlci5kaXNwb3NlKCksdGhpcy5fY29udG91clZBTy5kaXNwb3NlKCksdGhpcy5fY29udG91clNoYWRlci5kaXNwb3NlKCksdGhpcy5fY29udG91clBpY2tTaGFkZXIuZGlzcG9zZSgpLHRoaXMuX2R5bmFtaWNCdWZmZXIuZGlzcG9zZSgpLHRoaXMuX2R5bmFtaWNWQU8uZGlzcG9zZSgpO2Zvcih2YXIgdD0wO3Q8MzsrK3Qpcy5mcmVlRmxvYXQodGhpcy5fZmllbGRbdF0uZGF0YSl9LEwuaGlnaGxpZ2h0PWZ1bmN0aW9uKHQpe3ZhciBlLHI7aWYoIXQpcmV0dXJuIHRoaXMuX2R5bmFtaWNDb3VudHM9WzAsMCwwXSx0aGlzLmR5YW5hbWljTGV2ZWw9W05hTixOYU4sTmFOXSx2b2lkKHRoaXMuaGlnaGxpZ2h0TGV2ZWw9Wy0xLC0xLC0xXSk7Zm9yKGU9MDtlPDM7KytlKXRoaXMuZW5hYmxlSGlnaGxpZ2h0W2VdP3RoaXMuaGlnaGxpZ2h0TGV2ZWxbZV09dC5sZXZlbFtlXTp0aGlzLmhpZ2hsaWdodExldmVsW2VdPS0xO2ZvcihyPXRoaXMuc25hcFRvRGF0YT90LmRhdGFDb29yZGluYXRlOnQucG9zaXRpb24sZT0wO2U8MzsrK2UpcltlXS09dGhpcy5vYmplY3RPZmZzZXRbZV07aWYodGhpcy5lbmFibGVEeW5hbWljWzBdJiZyWzBdIT09dGhpcy5keW5hbWljTGV2ZWxbMF18fHRoaXMuZW5hYmxlRHluYW1pY1sxXSYmclsxXSE9PXRoaXMuZHluYW1pY0xldmVsWzFdfHx0aGlzLmVuYWJsZUR5bmFtaWNbMl0mJnJbMl0hPT10aGlzLmR5bmFtaWNMZXZlbFsyXSl7Zm9yKHZhciBuPTAsYT10aGlzLnNoYXBlLGk9cy5tYWxsb2NGbG9hdCgxMiphWzBdKmFbMV0pLG89MDtvPDM7KytvKWlmKHRoaXMuZW5hYmxlRHluYW1pY1tvXSl7dGhpcy5keW5hbWljTGV2ZWxbb109cltvXTt2YXIgbD0obysxKSUzLGM9KG8rMiklMyx1PXRoaXMuX2ZpZWxkW29dLGg9dGhpcy5fZmllbGRbbF0scD10aGlzLl9maWVsZFtjXSxkPWYodSxyW29dKSxnPWQuY2VsbHMsdj1kLnBvc2l0aW9ucztmb3IodGhpcy5fZHluYW1pY09mZnNldHNbb109bixlPTA7ZTxnLmxlbmd0aDsrK2UpZm9yKHZhciBtPWdbZV0seT0wO3k8MjsrK3kpe3ZhciB4PXZbbVt5XV0sYj0reFswXSxfPTB8Yix3PTB8TWF0aC5taW4oXysxLGFbMF0pLGs9Yi1fLFQ9MS1rLE09K3hbMV0sQT0wfE0sUz0wfE1hdGgubWluKEErMSxhWzFdKSxFPU0tQSxMPTEtRSxDPVQqTCxQPVQqRSxPPWsqTCx6PWsqRSxJPUMqaC5nZXQoXyxBKStQKmguZ2V0KF8sUykrTypoLmdldCh3LEEpK3oqaC5nZXQodyxTKSxEPUMqcC5nZXQoXyxBKStQKnAuZ2V0KF8sUykrTypwLmdldCh3LEEpK3oqcC5nZXQodyxTKTtpZihpc05hTihJKXx8aXNOYU4oRCkpe3kmJihuLT0xKTticmVha31pWzIqbiswXT1JLGlbMipuKzFdPUQsbis9MX10aGlzLl9keW5hbWljQ291bnRzW29dPW4tdGhpcy5fZHluYW1pY09mZnNldHNbb119ZWxzZSB0aGlzLmR5bmFtaWNMZXZlbFtvXT1OYU4sdGhpcy5fZHluYW1pY0NvdW50c1tvXT0wO3RoaXMuX2R5bmFtaWNCdWZmZXIudXBkYXRlKGkuc3ViYXJyYXkoMCwyKm4pKSxzLmZyZWVGbG9hdChpKX19fSx7Ii4vbGliL3NoYWRlcnMiOjMxNiwiYmluYXJ5LXNlYXJjaC1ib3VuZHMiOjMxNywiYml0LXR3aWRkbGUiOjk0LGNvbG9ybWFwOjEyOCwiZ2wtYnVmZmVyIjoyNDQsImdsLW1hdDQvaW52ZXJ0IjoyNjgsImdsLW1hdDQvbXVsdGlwbHkiOjI3MCwiZ2wtdGV4dHVyZTJkIjozMjQsImdsLXZhbyI6MzI5LG5kYXJyYXk6NDUyLCJuZGFycmF5LWdyYWRpZW50Ijo0NDMsIm5kYXJyYXktb3BzIjo0NDYsIm5kYXJyYXktcGFjayI6NDQ3LCJzdXJmYWNlLW5ldHMiOjUzMCwidHlwZWRhcnJheS1wb29sIjo1NDR9XSwzMTk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiY3NzLWZvbnQiKSxhPXQoInBpY2stYnktYWxpYXMiKSxpPXQoInJlZ2wiKSxvPXQoImdsLXV0aWwvY29udGV4dCIpLHM9dCgiZXM2LXdlYWstbWFwIiksbD10KCJjb2xvci1ub3JtYWxpemUiKSxjPXQoImZvbnQtYXRsYXMiKSx1PXQoInR5cGVkYXJyYXktcG9vbCIpLGg9dCgicGFyc2UtcmVjdCIpLGY9dCgiaXMtcGxhaW4tb2JqIikscD10KCJwYXJzZS11bml0IiksZD10KCJ0by1weCIpLGc9dCgiZGV0ZWN0LWtlcm5pbmciKSx2PXQoIm9iamVjdC1hc3NpZ24iKSxtPXQoImZvbnQtbWVhc3VyZSIpLHk9dCgiZmxhdHRlbi12ZXJ0ZXgtZGF0YSIpLHg9dCgiYml0LXR3aWRkbGUiKS5uZXh0UG93MixiPW5ldyBzLF89ITE7aWYoZG9jdW1lbnQuYm9keSl7dmFyIHc9ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7dy5zdHlsZS5mb250PSJpdGFsaWMgc21hbGwtY2FwcyBib2xkIGNvbmRlbnNlZCAxNnB4LzIgY3Vyc2l2ZSIsZ2V0Q29tcHV0ZWRTdHlsZSh3KS5mb250U3RyZXRjaCYmKF89ITApLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodyl9dmFyIGs9ZnVuY3Rpb24odCl7IWZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0JiZ0Ll9nbCYmdC5wcm9wJiZ0LnRleHR1cmUmJnQuYnVmZmVyfSh0KT90aGlzLmdsPW8odCk6KHQ9e3JlZ2w6dH0sdGhpcy5nbD10LnJlZ2wuX2dsKSx0aGlzLnNoYWRlcj1iLmdldCh0aGlzLmdsKSx0aGlzLnNoYWRlcj90aGlzLnJlZ2w9dGhpcy5zaGFkZXIucmVnbDp0aGlzLnJlZ2w9dC5yZWdsfHxpKHtnbDp0aGlzLmdsfSksdGhpcy5jaGFyQnVmZmVyPXRoaXMucmVnbC5idWZmZXIoe3R5cGU6InVpbnQ4Iix1c2FnZToic3RyZWFtIn0pLHRoaXMuc2l6ZUJ1ZmZlcj10aGlzLnJlZ2wuYnVmZmVyKHt0eXBlOiJmbG9hdCIsdXNhZ2U6InN0cmVhbSJ9KSx0aGlzLnNoYWRlcnx8KHRoaXMuc2hhZGVyPXRoaXMuY3JlYXRlU2hhZGVyKCksYi5zZXQodGhpcy5nbCx0aGlzLnNoYWRlcikpLHRoaXMuYmF0Y2g9W10sdGhpcy5mb250U2l6ZT1bXSx0aGlzLmZvbnQ9W10sdGhpcy5mb250QXRsYXM9W10sdGhpcy5kcmF3PXRoaXMuc2hhZGVyLmRyYXcuYmluZCh0aGlzKSx0aGlzLnJlbmRlcj1mdW5jdGlvbigpe3RoaXMucmVnbC5fcmVmcmVzaCgpLHRoaXMuZHJhdyh0aGlzLmJhdGNoKX0sdGhpcy5jYW52YXM9dGhpcy5nbC5jYW52YXMsdGhpcy51cGRhdGUoZih0KT90Ont9KX07ay5wcm90b3R5cGUuY3JlYXRlU2hhZGVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5yZWdsLGU9dCh7YmxlbmQ6e2VuYWJsZTohMCxjb2xvcjpbMCwwLDAsMV0sZnVuYzp7c3JjUkdCOiJzcmMgYWxwaGEiLGRzdFJHQjoib25lIG1pbnVzIHNyYyBhbHBoYSIsc3JjQWxwaGE6Im9uZSBtaW51cyBkc3QgYWxwaGEiLGRzdEFscGhhOiJvbmUifX0sc3RlbmNpbDp7ZW5hYmxlOiExfSxkZXB0aDp7ZW5hYmxlOiExfSxjb3VudDp0LnByb3AoImNvdW50Iiksb2Zmc2V0OnQucHJvcCgib2Zmc2V0IiksYXR0cmlidXRlczp7Y2hhck9mZnNldDp7b2Zmc2V0OjQsc3RyaWRlOjgsYnVmZmVyOnQudGhpcygic2l6ZUJ1ZmZlciIpfSx3aWR0aDp7b2Zmc2V0OjAsc3RyaWRlOjgsYnVmZmVyOnQudGhpcygic2l6ZUJ1ZmZlciIpfSxjaGFyOnQudGhpcygiY2hhckJ1ZmZlciIpLHBvc2l0aW9uOnQudGhpcygicG9zaXRpb24iKX0sdW5pZm9ybXM6e2F0bGFzU2l6ZTpmdW5jdGlvbih0LGUpe3JldHVybltlLmF0bGFzLndpZHRoLGUuYXRsYXMuaGVpZ2h0XX0sYXRsYXNEaW06ZnVuY3Rpb24odCxlKXtyZXR1cm5bZS5hdGxhcy5jb2xzLGUuYXRsYXMucm93c119LGF0bGFzOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuYXRsYXMudGV4dHVyZX0sY2hhclN0ZXA6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5hdGxhcy5zdGVwfSxlbTpmdW5jdGlvbih0LGUpe3JldHVybiBlLmF0bGFzLmVtfSxjb2xvcjp0LnByb3AoImNvbG9yIiksb3BhY2l0eTp0LnByb3AoIm9wYWNpdHkiKSx2aWV3cG9ydDp0LnRoaXMoInZpZXdwb3J0QXJyYXkiKSxzY2FsZTp0LnRoaXMoInNjYWxlIiksYWxpZ246dC5wcm9wKCJhbGlnbiIpLGJhc2VsaW5lOnQucHJvcCgiYmFzZWxpbmUiKSx0cmFuc2xhdGU6dC50aGlzKCJ0cmFuc2xhdGUiKSxwb3NpdGlvbk9mZnNldDp0LnByb3AoInBvc2l0aW9uT2Zmc2V0Iil9LHByaW1pdGl2ZToicG9pbnRzIix2aWV3cG9ydDp0LnRoaXMoInZpZXdwb3J0IiksdmVydDoiXG5cdFx0XHRwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG5cdFx0XHRhdHRyaWJ1dGUgZmxvYXQgd2lkdGgsIGNoYXJPZmZzZXQsIGNoYXI7XG5cdFx0XHRhdHRyaWJ1dGUgdmVjMiBwb3NpdGlvbjtcblx0XHRcdHVuaWZvcm0gZmxvYXQgZm9udFNpemUsIGNoYXJTdGVwLCBlbSwgYWxpZ24sIGJhc2VsaW5lO1xuXHRcdFx0dW5pZm9ybSB2ZWM0IHZpZXdwb3J0O1xuXHRcdFx0dW5pZm9ybSB2ZWM0IGNvbG9yO1xuXHRcdFx0dW5pZm9ybSB2ZWMyIGF0bGFzU2l6ZSwgYXRsYXNEaW0sIHNjYWxlLCB0cmFuc2xhdGUsIHBvc2l0aW9uT2Zmc2V0O1xuXHRcdFx0dmFyeWluZyB2ZWMyIGNoYXJDb29yZCwgY2hhcklkO1xuXHRcdFx0dmFyeWluZyBmbG9hdCBjaGFyV2lkdGg7XG5cdFx0XHR2YXJ5aW5nIHZlYzQgZm9udENvbG9yO1xuXHRcdFx0dm9pZCBtYWluICgpIHtcblx0XHRcdFx0Iisoay5ub3JtYWxWaWV3cG9ydD8iIjoidmVjMiBwb3NpdGlvbk9mZnNldCA9IHZlYzIocG9zaXRpb25PZmZzZXQueCwtIHBvc2l0aW9uT2Zmc2V0LnkpOyIpKyJcblxuXHRcdFx0XHR2ZWMyIG9mZnNldCA9IGZsb29yKGVtICogKHZlYzIoYWxpZ24gKyBjaGFyT2Zmc2V0LCBiYXNlbGluZSlcblx0XHRcdFx0XHQrIHBvc2l0aW9uT2Zmc2V0KSlcblx0XHRcdFx0XHQvICh2aWV3cG9ydC56dyAqIHNjYWxlLnh5KTtcblxuXHRcdFx0XHR2ZWMyIHBvc2l0aW9uID0gKHBvc2l0aW9uICsgdHJhbnNsYXRlKSAqIHNjYWxlO1xuXHRcdFx0XHRwb3NpdGlvbiArPSBvZmZzZXQgKiBzY2FsZTtcblxuXHRcdFx0XHQiKyhrLm5vcm1hbFZpZXdwb3J0PyJwb3NpdGlvbi55ID0gMS4gLSBwb3NpdGlvbi55OyI6IiIpKyJcblxuXHRcdFx0XHRjaGFyQ29vcmQgPSBwb3NpdGlvbiAqIHZpZXdwb3J0Lnp3ICsgdmlld3BvcnQueHk7XG5cblx0XHRcdFx0Z2xfUG9zaXRpb24gPSB2ZWM0KHBvc2l0aW9uICogMi4gLSAxLiwgMCwgMSk7XG5cblx0XHRcdFx0Z2xfUG9pbnRTaXplID0gY2hhclN0ZXA7XG5cblx0XHRcdFx0Y2hhcklkLnggPSBtb2QoY2hhciwgYXRsYXNEaW0ueCk7XG5cdFx0XHRcdGNoYXJJZC55ID0gZmxvb3IoY2hhciAvIGF0bGFzRGltLngpO1xuXG5cdFx0XHRcdGNoYXJXaWR0aCA9IHdpZHRoICogZW07XG5cblx0XHRcdFx0Zm9udENvbG9yID0gY29sb3IgLyAyNTUuO1xuXHRcdFx0fSIsZnJhZzoiXG5cdFx0XHRwcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG5cdFx0XHR1bmlmb3JtIHNhbXBsZXIyRCBhdGxhcztcblx0XHRcdHVuaWZvcm0gZmxvYXQgZm9udFNpemUsIGNoYXJTdGVwLCBvcGFjaXR5O1xuXHRcdFx0dW5pZm9ybSB2ZWMyIGF0bGFzU2l6ZTtcblx0XHRcdHVuaWZvcm0gdmVjNCB2aWV3cG9ydDtcblx0XHRcdHZhcnlpbmcgdmVjNCBmb250Q29sb3I7XG5cdFx0XHR2YXJ5aW5nIHZlYzIgY2hhckNvb3JkLCBjaGFySWQ7XG5cdFx0XHR2YXJ5aW5nIGZsb2F0IGNoYXJXaWR0aDtcblxuXHRcdFx0ZmxvYXQgbGlnaHRuZXNzKHZlYzQgY29sb3IpIHtcblx0XHRcdFx0cmV0dXJuIGNvbG9yLnIgKiAwLjI5OSArIGNvbG9yLmcgKiAwLjU4NyArIGNvbG9yLmIgKiAwLjExNDtcblx0XHRcdH1cblxuXHRcdFx0dm9pZCBtYWluICgpIHtcblx0XHRcdFx0dmVjMiB1diA9IGdsX0ZyYWdDb29yZC54eSAtIGNoYXJDb29yZCArIGNoYXJTdGVwICogLjU7XG5cdFx0XHRcdGZsb2F0IGhhbGZDaGFyU3RlcCA9IGZsb29yKGNoYXJTdGVwICogLjUgKyAuNSk7XG5cblx0XHRcdFx0Ly8gaW52ZXJ0IHkgYW5kIHNoaWZ0IGJ5IDFweCAoRkYgZXhwZWNpYWxseSBuZWVkcyB0aGF0KVxuXHRcdFx0XHR1di55ID0gY2hhclN0ZXAgLSB1di55O1xuXG5cdFx0XHRcdC8vIGlnbm9yZSBwb2ludHMgb3V0c2lkZSBvZiBjaGFyYWN0ZXIgYm91bmRpbmcgYm94XG5cdFx0XHRcdGZsb2F0IGhhbGZDaGFyV2lkdGggPSBjZWlsKGNoYXJXaWR0aCAqIC41KTtcblx0XHRcdFx0aWYgKGZsb29yKHV2LngpID4gaGFsZkNoYXJTdGVwICsgaGFsZkNoYXJXaWR0aCB8fFxuXHRcdFx0XHRcdGZsb29yKHV2LngpIDwgaGFsZkNoYXJTdGVwIC0gaGFsZkNoYXJXaWR0aCkgcmV0dXJuO1xuXG5cdFx0XHRcdHV2ICs9IGNoYXJJZCAqIGNoYXJTdGVwO1xuXHRcdFx0XHR1diA9IHV2IC8gYXRsYXNTaXplO1xuXG5cdFx0XHRcdHZlYzQgY29sb3IgPSBmb250Q29sb3I7XG5cdFx0XHRcdHZlYzQgbWFzayA9IHRleHR1cmUyRChhdGxhcywgdXYpO1xuXG5cdFx0XHRcdGZsb2F0IG1hc2tZID0gbGlnaHRuZXNzKG1hc2spO1xuXHRcdFx0XHQvLyBmbG9hdCBjb2xvclkgPSBsaWdodG5lc3MoY29sb3IpO1xuXHRcdFx0XHRjb2xvci5hICo9IG1hc2tZO1xuXHRcdFx0XHRjb2xvci5hICo9IG9wYWNpdHk7XG5cblx0XHRcdFx0Ly8gY29sb3IuYSArPSAuMTtcblxuXHRcdFx0XHQvLyBhbnRpYWxpYXNpbmcsIHNlZSB5aXEgY29sb3Igc3BhY2UgeS1jaGFubmVsIGZvcm11bGFcblx0XHRcdFx0Ly8gY29sb3IucmdiICs9ICgxLiAtIGNvbG9yLnJnYikgKiAoMS4gLSBtYXNrLnJnYik7XG5cblx0XHRcdFx0Z2xfRnJhZ0NvbG9yID0gY29sb3I7XG5cdFx0XHR9In0pO3JldHVybntyZWdsOnQsZHJhdzplLGF0bGFzOnt9fX0say5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYoInN0cmluZyI9PXR5cGVvZiB0KXQ9e3RleHQ6dH07ZWxzZSBpZighdClyZXR1cm47bnVsbCE9KHQ9YSh0LHtwb3NpdGlvbjoicG9zaXRpb24gcG9zaXRpb25zIGNvb3JkIGNvb3JkcyBjb29yZGluYXRlcyIsZm9udDoiZm9udCBmb250RmFjZSBmb250ZmFjZSB0eXBlZmFjZSBjc3NGb250IGNzcy1mb250IGZhbWlseSBmb250RmFtaWx5Iixmb250U2l6ZToiZm9udFNpemUgZm9udHNpemUgc2l6ZSBmb250LXNpemUiLHRleHQ6InRleHQgdGV4dHMgY2hhcnMgY2hhcmFjdGVycyB2YWx1ZSB2YWx1ZXMgc3ltYm9scyIsYWxpZ246ImFsaWduIGFsaWdubWVudCB0ZXh0QWxpZ24gdGV4dGJhc2VsaW5lIixiYXNlbGluZToiYmFzZWxpbmUgdGV4dEJhc2VsaW5lIHRleHRiYXNlbGluZSIsZGlyZWN0aW9uOiJkaXIgZGlyZWN0aW9uIHRleHREaXJlY3Rpb24iLGNvbG9yOiJjb2xvciBjb2xvdXIgZmlsbCBmaWxsLWNvbG9yIGZpbGxDb2xvciB0ZXh0Q29sb3IgdGV4dGNvbG9yIixrZXJuaW5nOiJrZXJuaW5nIGtlcm4iLHJhbmdlOiJyYW5nZSBkYXRhQm94Iix2aWV3cG9ydDoidnAgdmlld3BvcnQgdmlld0JveCB2aWV3Ym94IHZpZXdQb3J0IixvcGFjaXR5OiJvcGFjaXR5IGFscGhhIHRyYW5zcGFyZW5jeSB2aXNpYmxlIHZpc2liaWxpdHkgb3BhcXVlIixvZmZzZXQ6Im9mZnNldCBwb3NpdGlvbk9mZnNldCBwYWRkaW5nIHNoaWZ0IGluZGVudCBpbmRlbnRhdGlvbiJ9LCEwKSkub3BhY2l0eSYmKEFycmF5LmlzQXJyYXkodC5vcGFjaXR5KT90aGlzLm9wYWNpdHk9dC5vcGFjaXR5Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4gcGFyc2VGbG9hdCh0KX0pOnRoaXMub3BhY2l0eT1wYXJzZUZsb2F0KHQub3BhY2l0eSkpLG51bGwhPXQudmlld3BvcnQmJih0aGlzLnZpZXdwb3J0PWgodC52aWV3cG9ydCksay5ub3JtYWxWaWV3cG9ydCYmKHRoaXMudmlld3BvcnQueT10aGlzLmNhbnZhcy5oZWlnaHQtdGhpcy52aWV3cG9ydC55LXRoaXMudmlld3BvcnQuaGVpZ2h0KSx0aGlzLnZpZXdwb3J0QXJyYXk9W3RoaXMudmlld3BvcnQueCx0aGlzLnZpZXdwb3J0LnksdGhpcy52aWV3cG9ydC53aWR0aCx0aGlzLnZpZXdwb3J0LmhlaWdodF0pLG51bGw9PXRoaXMudmlld3BvcnQmJih0aGlzLnZpZXdwb3J0PXt4OjAseTowLHdpZHRoOnRoaXMuZ2wuZHJhd2luZ0J1ZmZlcldpZHRoLGhlaWdodDp0aGlzLmdsLmRyYXdpbmdCdWZmZXJIZWlnaHR9LHRoaXMudmlld3BvcnRBcnJheT1bdGhpcy52aWV3cG9ydC54LHRoaXMudmlld3BvcnQueSx0aGlzLnZpZXdwb3J0LndpZHRoLHRoaXMudmlld3BvcnQuaGVpZ2h0XSksbnVsbCE9dC5rZXJuaW5nJiYodGhpcy5rZXJuaW5nPXQua2VybmluZyksbnVsbCE9dC5vZmZzZXQmJigibnVtYmVyIj09dHlwZW9mIHQub2Zmc2V0JiYodC5vZmZzZXQ9W3Qub2Zmc2V0LDBdKSx0aGlzLnBvc2l0aW9uT2Zmc2V0PXkodC5vZmZzZXQpKSx0LmRpcmVjdGlvbiYmKHRoaXMuZGlyZWN0aW9uPXQuZGlyZWN0aW9uKSx0LnJhbmdlJiYodGhpcy5yYW5nZT10LnJhbmdlLHRoaXMuc2NhbGU9WzEvKHQucmFuZ2VbMl0tdC5yYW5nZVswXSksMS8odC5yYW5nZVszXS10LnJhbmdlWzFdKV0sdGhpcy50cmFuc2xhdGU9Wy10LnJhbmdlWzBdLC10LnJhbmdlWzFdXSksdC5zY2FsZSYmKHRoaXMuc2NhbGU9dC5zY2FsZSksdC50cmFuc2xhdGUmJih0aGlzLnRyYW5zbGF0ZT10LnRyYW5zbGF0ZSksdGhpcy5zY2FsZXx8KHRoaXMuc2NhbGU9WzEvdGhpcy52aWV3cG9ydC53aWR0aCwxL3RoaXMudmlld3BvcnQuaGVpZ2h0XSksdGhpcy50cmFuc2xhdGV8fCh0aGlzLnRyYW5zbGF0ZT1bMCwwXSksdGhpcy5mb250Lmxlbmd0aHx8dC5mb250fHwodC5mb250PWsuYmFzZUZvbnRTaXplKyJweCBzYW5zLXNlcmlmIik7dmFyIHIsaT0hMSxvPSExO2lmKHQuZm9udCYmKEFycmF5LmlzQXJyYXkodC5mb250KT90LmZvbnQ6W3QuZm9udF0pLmZvckVhY2goZnVuY3Rpb24odCxyKXtpZigic3RyaW5nIj09dHlwZW9mIHQpdHJ5e3Q9bi5wYXJzZSh0KX1jYXRjaChlKXt0PW4ucGFyc2Uoay5iYXNlRm9udFNpemUrInB4ICIrdCl9ZWxzZSB0PW4ucGFyc2Uobi5zdHJpbmdpZnkodCkpO3ZhciBhPW4uc3RyaW5naWZ5KHtzaXplOmsuYmFzZUZvbnRTaXplLGZhbWlseTp0LmZhbWlseSxzdHJldGNoOl8/dC5zdHJldGNoOnZvaWQgMCx2YXJpYW50OnQudmFyaWFudCx3ZWlnaHQ6dC53ZWlnaHQsc3R5bGU6dC5zdHlsZX0pLHM9cCh0LnNpemUpLGw9TWF0aC5yb3VuZChzWzBdKmQoc1sxXSkpO2lmKGwhPT1lLmZvbnRTaXplW3JdJiYobz0hMCxlLmZvbnRTaXplW3JdPWwpLCEoZS5mb250W3JdJiZhPT1lLmZvbnRbcl0uYmFzZVN0cmluZ3x8KGk9ITAsZS5mb250W3JdPWsuZm9udHNbYV0sZS5mb250W3JdKSkpe3ZhciBjPXQuZmFtaWx5LmpvaW4oIiwgIiksdT1bdC5zdHlsZV07dC5zdHlsZSE9dC52YXJpYW50JiZ1LnB1c2godC52YXJpYW50KSx0LnZhcmlhbnQhPXQud2VpZ2h0JiZ1LnB1c2godC53ZWlnaHQpLF8mJnQud2VpZ2h0IT10LnN0cmV0Y2gmJnUucHVzaCh0LnN0cmV0Y2gpLGUuZm9udFtyXT17YmFzZVN0cmluZzphLGZhbWlseTpjLHdlaWdodDp0LndlaWdodCxzdHJldGNoOnQuc3RyZXRjaCxzdHlsZTp0LnN0eWxlLHZhcmlhbnQ6dC52YXJpYW50LHdpZHRoOnt9LGtlcm5pbmc6e30sbWV0cmljczptKGMse29yaWdpbjoidG9wIixmb250U2l6ZTprLmJhc2VGb250U2l6ZSxmb250U3R5bGU6dS5qb2luKCIgIil9KX0say5mb250c1thXT1lLmZvbnRbcl19fSksKGl8fG8pJiZ0aGlzLmZvbnQuZm9yRWFjaChmdW5jdGlvbihyLGEpe3ZhciBpPW4uc3RyaW5naWZ5KHtzaXplOmUuZm9udFNpemVbYV0sZmFtaWx5OnIuZmFtaWx5LHN0cmV0Y2g6Xz9yLnN0cmV0Y2g6dm9pZCAwLHZhcmlhbnQ6ci52YXJpYW50LHdlaWdodDpyLndlaWdodCxzdHlsZTpyLnN0eWxlfSk7aWYoZS5mb250QXRsYXNbYV09ZS5zaGFkZXIuYXRsYXNbaV0sIWUuZm9udEF0bGFzW2FdKXt2YXIgbz1yLm1ldHJpY3M7ZS5zaGFkZXIuYXRsYXNbaV09ZS5mb250QXRsYXNbYV09e2ZvbnRTdHJpbmc6aSxzdGVwOjIqTWF0aC5jZWlsKGUuZm9udFNpemVbYV0qby5ib3R0b20qLjUpLGVtOmUuZm9udFNpemVbYV0sY29sczowLHJvd3M6MCxoZWlnaHQ6MCx3aWR0aDowLGNoYXJzOltdLGlkczp7fSx0ZXh0dXJlOmUucmVnbC50ZXh0dXJlKCl9fW51bGw9PXQudGV4dCYmKHQudGV4dD1lLnRleHQpfSksInN0cmluZyI9PXR5cGVvZiB0LnRleHQmJnQucG9zaXRpb24mJnQucG9zaXRpb24ubGVuZ3RoPjIpe2Zvcih2YXIgcz1BcnJheSguNSp0LnBvc2l0aW9uLmxlbmd0aCksZj0wO2Y8cy5sZW5ndGg7ZisrKXNbZl09dC50ZXh0O3QudGV4dD1zfWlmKG51bGwhPXQudGV4dHx8aSl7aWYodGhpcy50ZXh0T2Zmc2V0cz1bMF0sQXJyYXkuaXNBcnJheSh0LnRleHQpKXt0aGlzLmNvdW50PXQudGV4dFswXS5sZW5ndGgsdGhpcy5jb3VudHM9W3RoaXMuY291bnRdO2Zvcih2YXIgYj0xO2I8dC50ZXh0Lmxlbmd0aDtiKyspdGhpcy50ZXh0T2Zmc2V0c1tiXT10aGlzLnRleHRPZmZzZXRzW2ItMV0rdC50ZXh0W2ItMV0ubGVuZ3RoLHRoaXMuY291bnQrPXQudGV4dFtiXS5sZW5ndGgsdGhpcy5jb3VudHMucHVzaCh0LnRleHRbYl0ubGVuZ3RoKTt0aGlzLnRleHQ9dC50ZXh0LmpvaW4oIiIpfWVsc2UgdGhpcy50ZXh0PXQudGV4dCx0aGlzLmNvdW50PXRoaXMudGV4dC5sZW5ndGgsdGhpcy5jb3VudHM9W3RoaXMuY291bnRdO3I9W10sdGhpcy5mb250LmZvckVhY2goZnVuY3Rpb24odCxuKXtrLmF0bGFzQ29udGV4dC5mb250PXQuYmFzZVN0cmluZztmb3IodmFyIGE9ZS5mb250QXRsYXNbbl0saT0wO2k8ZS50ZXh0Lmxlbmd0aDtpKyspe3ZhciBvPWUudGV4dC5jaGFyQXQoaSk7aWYobnVsbD09YS5pZHNbb10mJihhLmlkc1tvXT1hLmNoYXJzLmxlbmd0aCxhLmNoYXJzLnB1c2gobyksci5wdXNoKG8pKSxudWxsPT10LndpZHRoW29dJiYodC53aWR0aFtvXT1rLmF0bGFzQ29udGV4dC5tZWFzdXJlVGV4dChvKS53aWR0aC9rLmJhc2VGb250U2l6ZSxlLmtlcm5pbmcpKXt2YXIgcz1bXTtmb3IodmFyIGwgaW4gdC53aWR0aClzLnB1c2gobCtvLG8rbCk7dih0Lmtlcm5pbmcsZyh0LmZhbWlseSx7cGFpcnM6c30pKX19fSl9aWYodC5wb3NpdGlvbilpZih0LnBvc2l0aW9uLmxlbmd0aD4yKXtmb3IodmFyIHc9IXQucG9zaXRpb25bMF0ubGVuZ3RoLFQ9dS5tYWxsb2NGbG9hdCgyKnRoaXMuY291bnQpLE09MCxBPTA7TTx0aGlzLmNvdW50cy5sZW5ndGg7TSsrKXt2YXIgUz10aGlzLmNvdW50c1tNXTtpZih3KWZvcih2YXIgRT0wO0U8UztFKyspVFtBKytdPXQucG9zaXRpb25bMipNXSxUW0ErK109dC5wb3NpdGlvblsyKk0rMV07ZWxzZSBmb3IodmFyIEw9MDtMPFM7TCsrKVRbQSsrXT10LnBvc2l0aW9uW01dWzBdLFRbQSsrXT10LnBvc2l0aW9uW01dWzFdfXRoaXMucG9zaXRpb24uY2FsbD90aGlzLnBvc2l0aW9uKHt0eXBlOiJmbG9hdCIsZGF0YTpUfSk6dGhpcy5wb3NpdGlvbj10aGlzLnJlZ2wuYnVmZmVyKHt0eXBlOiJmbG9hdCIsZGF0YTpUfSksdS5mcmVlRmxvYXQoVCl9ZWxzZSB0aGlzLnBvc2l0aW9uLmRlc3Ryb3kmJnRoaXMucG9zaXRpb24uZGVzdHJveSgpLHRoaXMucG9zaXRpb249e2NvbnN0YW50OnQucG9zaXRpb259O2lmKHQudGV4dHx8aSl7dmFyIEM9dS5tYWxsb2NVaW50OCh0aGlzLmNvdW50KSxQPXUubWFsbG9jRmxvYXQoMip0aGlzLmNvdW50KTt0aGlzLnRleHRXaWR0aD1bXTtmb3IodmFyIE89MCx6PTA7Tzx0aGlzLmNvdW50cy5sZW5ndGg7TysrKXtmb3IodmFyIEk9dGhpcy5jb3VudHNbT10sRD10aGlzLmZvbnRbT118fHRoaXMuZm9udFswXSxSPXRoaXMuZm9udEF0bGFzW09dfHx0aGlzLmZvbnRBdGxhc1swXSxGPTA7RjxJO0YrKyl7dmFyIEI9dGhpcy50ZXh0LmNoYXJBdCh6KSxOPXRoaXMudGV4dC5jaGFyQXQoei0xKTtpZihDW3pdPVIuaWRzW0JdLFBbMip6XT1ELndpZHRoW0JdLEYpe3ZhciBqPVBbMip6LTJdLFY9UFsyKnpdLFU9UFsyKnotMV0rLjUqaisuNSpWO2lmKHRoaXMua2VybmluZyl7dmFyIHE9RC5rZXJuaW5nW04rQl07cSYmKFUrPS4wMDEqcSl9UFsyKnorMV09VX1lbHNlIFBbMip6KzFdPS41KlBbMip6XTt6Kyt9dGhpcy50ZXh0V2lkdGgucHVzaChQLmxlbmd0aD8uNSpQWzIqei0yXStQWzIqei0xXTowKX10LmFsaWdufHwodC5hbGlnbj10aGlzLmFsaWduKSx0aGlzLmNoYXJCdWZmZXIoe2RhdGE6Qyx0eXBlOiJ1aW50OCIsdXNhZ2U6InN0cmVhbSJ9KSx0aGlzLnNpemVCdWZmZXIoe2RhdGE6UCx0eXBlOiJmbG9hdCIsdXNhZ2U6InN0cmVhbSJ9KSx1LmZyZWVVaW50OChDKSx1LmZyZWVGbG9hdChQKSxyLmxlbmd0aCYmdGhpcy5mb250LmZvckVhY2goZnVuY3Rpb24odCxyKXt2YXIgbj1lLmZvbnRBdGxhc1tyXSxhPW4uc3RlcCxpPU1hdGguZmxvb3Ioay5tYXhBdGxhc1NpemUvYSksbz1NYXRoLm1pbihpLG4uY2hhcnMubGVuZ3RoKSxzPU1hdGguY2VpbChuLmNoYXJzLmxlbmd0aC9vKSxsPXgobyphKSx1PXgocyphKTtuLndpZHRoPWwsbi5oZWlnaHQ9dSxuLnJvd3M9cyxuLmNvbHM9byxuLmVtJiZuLnRleHR1cmUoe2RhdGE6Yyh7Y2FudmFzOmsuYXRsYXNDYW52YXMsZm9udDpuLmZvbnRTdHJpbmcsY2hhcnM6bi5jaGFycyxzaGFwZTpbbCx1XSxzdGVwOlthLGFdfSl9KX0pfWlmKHQuYWxpZ24mJih0aGlzLmFsaWduPXQuYWxpZ24sdGhpcy5hbGlnbk9mZnNldD10aGlzLnRleHRXaWR0aC5tYXAoZnVuY3Rpb24odCxyKXt2YXIgbj1BcnJheS5pc0FycmF5KGUuYWxpZ24pP2UuYWxpZ24ubGVuZ3RoPjE/ZS5hbGlnbltyXTplLmFsaWduWzBdOmUuYWxpZ247aWYoIm51bWJlciI9PXR5cGVvZiBuKXJldHVybiBuO3N3aXRjaChuKXtjYXNlInJpZ2h0IjpjYXNlImVuZCI6cmV0dXJuLXQ7Y2FzZSJjZW50ZXIiOmNhc2UiY2VudHJlIjpjYXNlIm1pZGRsZSI6cmV0dXJuLjUqLXR9cmV0dXJuIDB9KSksbnVsbD09dGhpcy5iYXNlbGluZSYmbnVsbD09dC5iYXNlbGluZSYmKHQuYmFzZWxpbmU9MCksbnVsbCE9dC5iYXNlbGluZSYmKHRoaXMuYmFzZWxpbmU9dC5iYXNlbGluZSxBcnJheS5pc0FycmF5KHRoaXMuYmFzZWxpbmUpfHwodGhpcy5iYXNlbGluZT1bdGhpcy5iYXNlbGluZV0pLHRoaXMuYmFzZWxpbmVPZmZzZXQ9dGhpcy5iYXNlbGluZS5tYXAoZnVuY3Rpb24odCxyKXt2YXIgbj0oZS5mb250W3JdfHxlLmZvbnRbMF0pLm1ldHJpY3MsYT0wO3JldHVybiBhKz0uNSpuLmJvdHRvbSxhKz0ibnVtYmVyIj09dHlwZW9mIHQ/dC1uLmJhc2VsaW5lOi1uW3RdLGsubm9ybWFsVmlld3BvcnR8fChhKj0tMSksYX0pKSxudWxsIT10LmNvbG9yKWlmKHQuY29sb3J8fCh0LmNvbG9yPSJ0cmFuc3BhcmVudCIpLCJzdHJpbmciIT10eXBlb2YgdC5jb2xvciYmaXNOYU4odC5jb2xvcikpe3ZhciBIO2lmKCJudW1iZXIiPT10eXBlb2YgdC5jb2xvclswXSYmdC5jb2xvci5sZW5ndGg+dGhpcy5jb3VudHMubGVuZ3RoKXt2YXIgRz10LmNvbG9yLmxlbmd0aDtIPXUubWFsbG9jVWludDgoRyk7Zm9yKHZhciBZPSh0LmNvbG9yLnN1YmFycmF5fHx0LmNvbG9yLnNsaWNlKS5iaW5kKHQuY29sb3IpLFc9MDtXPEc7Vys9NClILnNldChsKFkoVyxXKzQpLCJ1aW50OCIpLFcpfWVsc2V7dmFyIFg9dC5jb2xvci5sZW5ndGg7SD11Lm1hbGxvY1VpbnQ4KDQqWCk7Zm9yKHZhciBaPTA7WjxYO1orKylILnNldChsKHQuY29sb3JbWl18fDAsInVpbnQ4IiksNCpaKX10aGlzLmNvbG9yPUh9ZWxzZSB0aGlzLmNvbG9yPWwodC5jb2xvciwidWludDgiKTtpZih0LnBvc2l0aW9ufHx0LnRleHR8fHQuY29sb3J8fHQuYmFzZWxpbmV8fHQuYWxpZ258fHQuZm9udHx8dC5vZmZzZXR8fHQub3BhY2l0eSlpZih0aGlzLmNvbG9yLmxlbmd0aD40fHx0aGlzLmJhc2VsaW5lT2Zmc2V0Lmxlbmd0aD4xfHx0aGlzLmFsaWduJiZ0aGlzLmFsaWduLmxlbmd0aD4xfHx0aGlzLmZvbnRBdGxhcy5sZW5ndGg+MXx8dGhpcy5wb3NpdGlvbk9mZnNldC5sZW5ndGg+Mil7dmFyIEo9TWF0aC5tYXgoLjUqdGhpcy5wb3NpdGlvbi5sZW5ndGh8fDAsLjI1KnRoaXMuY29sb3IubGVuZ3RofHwwLHRoaXMuYmFzZWxpbmVPZmZzZXQubGVuZ3RofHwwLHRoaXMuYWxpZ25PZmZzZXQubGVuZ3RofHwwLHRoaXMuZm9udC5sZW5ndGh8fDAsdGhpcy5vcGFjaXR5Lmxlbmd0aHx8MCwuNSp0aGlzLnBvc2l0aW9uT2Zmc2V0Lmxlbmd0aHx8MCk7dGhpcy5iYXRjaD1BcnJheShKKTtmb3IodmFyIEs9MDtLPHRoaXMuYmF0Y2gubGVuZ3RoO0srKyl0aGlzLmJhdGNoW0tdPXtjb3VudDp0aGlzLmNvdW50cy5sZW5ndGg+MT90aGlzLmNvdW50c1tLXTp0aGlzLmNvdW50c1swXSxvZmZzZXQ6dGhpcy50ZXh0T2Zmc2V0cy5sZW5ndGg+MT90aGlzLnRleHRPZmZzZXRzW0tdOnRoaXMudGV4dE9mZnNldHNbMF0sY29sb3I6dGhpcy5jb2xvcj90aGlzLmNvbG9yLmxlbmd0aDw9ND90aGlzLmNvbG9yOnRoaXMuY29sb3Iuc3ViYXJyYXkoNCpLLDQqSys0KTpbMCwwLDAsMjU1XSxvcGFjaXR5OkFycmF5LmlzQXJyYXkodGhpcy5vcGFjaXR5KT90aGlzLm9wYWNpdHlbS106dGhpcy5vcGFjaXR5LGJhc2VsaW5lOm51bGwhPXRoaXMuYmFzZWxpbmVPZmZzZXRbS10/dGhpcy5iYXNlbGluZU9mZnNldFtLXTp0aGlzLmJhc2VsaW5lT2Zmc2V0WzBdLGFsaWduOnRoaXMuYWxpZ24/bnVsbCE9dGhpcy5hbGlnbk9mZnNldFtLXT90aGlzLmFsaWduT2Zmc2V0W0tdOnRoaXMuYWxpZ25PZmZzZXRbMF06MCxhdGxhczp0aGlzLmZvbnRBdGxhc1tLXXx8dGhpcy5mb250QXRsYXNbMF0scG9zaXRpb25PZmZzZXQ6dGhpcy5wb3NpdGlvbk9mZnNldC5sZW5ndGg+Mj90aGlzLnBvc2l0aW9uT2Zmc2V0LnN1YmFycmF5KDIqSywyKksrMik6dGhpcy5wb3NpdGlvbk9mZnNldH19ZWxzZSB0aGlzLmNvdW50P3RoaXMuYmF0Y2g9W3tjb3VudDp0aGlzLmNvdW50LG9mZnNldDowLGNvbG9yOnRoaXMuY29sb3J8fFswLDAsMCwyNTVdLG9wYWNpdHk6QXJyYXkuaXNBcnJheSh0aGlzLm9wYWNpdHkpP3RoaXMub3BhY2l0eVswXTp0aGlzLm9wYWNpdHksYmFzZWxpbmU6dGhpcy5iYXNlbGluZU9mZnNldFswXSxhbGlnbjp0aGlzLmFsaWduT2Zmc2V0P3RoaXMuYWxpZ25PZmZzZXRbMF06MCxhdGxhczp0aGlzLmZvbnRBdGxhc1swXSxwb3NpdGlvbk9mZnNldDp0aGlzLnBvc2l0aW9uT2Zmc2V0fV06dGhpcy5iYXRjaD1bXX0say5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe30say5wcm90b3R5cGUua2VybmluZz0hMCxrLnByb3RvdHlwZS5wb3NpdGlvbj17Y29uc3RhbnQ6bmV3IEZsb2F0MzJBcnJheSgyKX0say5wcm90b3R5cGUudHJhbnNsYXRlPW51bGwsay5wcm90b3R5cGUuc2NhbGU9bnVsbCxrLnByb3RvdHlwZS5mb250PW51bGwsay5wcm90b3R5cGUudGV4dD0iIixrLnByb3RvdHlwZS5wb3NpdGlvbk9mZnNldD1bMCwwXSxrLnByb3RvdHlwZS5vcGFjaXR5PTEsay5wcm90b3R5cGUuY29sb3I9bmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDI1NV0pLGsucHJvdG90eXBlLmFsaWduT2Zmc2V0PVswLDBdLGsubm9ybWFsVmlld3BvcnQ9ITEsay5tYXhBdGxhc1NpemU9MTAyNCxrLmF0bGFzQ2FudmFzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLGsuYXRsYXNDb250ZXh0PWsuYXRsYXNDYW52YXMuZ2V0Q29udGV4dCgiMmQiLHthbHBoYTohMX0pLGsuYmFzZUZvbnRTaXplPTY0LGsuZm9udHM9e30sZS5leHBvcnRzPWt9LHsiYml0LXR3aWRkbGUiOjk0LCJjb2xvci1ub3JtYWxpemUiOjEyMiwiY3NzLWZvbnQiOjE0MSwiZGV0ZWN0LWtlcm5pbmciOjE2OCwiZXM2LXdlYWstbWFwIjozMjAsImZsYXR0ZW4tdmVydGV4LWRhdGEiOjIzMCwiZm9udC1hdGxhcyI6MjMxLCJmb250LW1lYXN1cmUiOjIzMiwiZ2wtdXRpbC9jb250ZXh0IjozMjUsImlzLXBsYWluLW9iaiI6NDI0LCJvYmplY3QtYXNzaWduIjo0NTYsInBhcnNlLXJlY3QiOjQ2MSwicGFyc2UtdW5pdCI6NDYzLCJwaWNrLWJ5LWFsaWFzIjo0NjcscmVnbDo1MDEsInRvLXB4Ijo1MzgsInR5cGVkYXJyYXktcG9vbCI6NTQ0fV0sMzIwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz10KCIuL2lzLWltcGxlbWVudGVkIikoKT9XZWFrTWFwOnQoIi4vcG9seWZpbGwiKX0seyIuL2lzLWltcGxlbWVudGVkIjozMjEsIi4vcG9seWZpbGwiOjMyM31dLDMyMTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdCxlO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBXZWFrTWFwKXJldHVybiExO3RyeXt0PW5ldyBXZWFrTWFwKFtbZT17fSwib25lIl0sW3t9LCJ0d28iXSxbe30sInRocmVlIl1dKX1jYXRjaCh0KXtyZXR1cm4hMX1yZXR1cm4iW29iamVjdCBXZWFrTWFwXSI9PT1TdHJpbmcodCkmJigiZnVuY3Rpb24iPT10eXBlb2YgdC5zZXQmJih0LnNldCh7fSwxKT09PXQmJigiZnVuY3Rpb24iPT10eXBlb2YgdC5kZWxldGUmJigiZnVuY3Rpb24iPT10eXBlb2YgdC5oYXMmJiJvbmUiPT09dC5nZXQoZSkpKSkpfX0se31dLDMyMjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtNYXAmJiJbb2JqZWN0IFdlYWtNYXBdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXcgV2Vha01hcCl9LHt9XSwzMjM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG4sYT10KCJlczUtZXh0L29iamVjdC9pcy12YWx1ZSIpLGk9dCgiZXM1LWV4dC9vYmplY3Qvc2V0LXByb3RvdHlwZS1vZiIpLG89dCgiZXM1LWV4dC9vYmplY3QvdmFsaWQtb2JqZWN0Iikscz10KCJlczUtZXh0L29iamVjdC92YWxpZC12YWx1ZSIpLGw9dCgiZXM1LWV4dC9zdHJpbmcvcmFuZG9tLXVuaXEiKSxjPXQoImQiKSx1PXQoImVzNi1pdGVyYXRvci9nZXQiKSxoPXQoImVzNi1pdGVyYXRvci9mb3Itb2YiKSxmPXQoImVzNi1zeW1ib2wiKS50b1N0cmluZ1RhZyxwPXQoIi4vaXMtbmF0aXZlLWltcGxlbWVudGVkIiksZD1BcnJheS5pc0FycmF5LGc9T2JqZWN0LmRlZmluZVByb3BlcnR5LHY9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxtPU9iamVjdC5nZXRQcm90b3R5cGVPZjtlLmV4cG9ydHM9bj1mdW5jdGlvbigpe3ZhciB0LGU9YXJndW1lbnRzWzBdO2lmKCEodGhpcyBpbnN0YW5jZW9mIG4pKXRocm93IG5ldyBUeXBlRXJyb3IoIkNvbnN0cnVjdG9yIHJlcXVpcmVzICduZXcnIik7cmV0dXJuIHQ9cCYmaSYmV2Vha01hcCE9PW4/aShuZXcgV2Vha01hcCxtKHRoaXMpKTp0aGlzLGEoZSkmJihkKGUpfHwoZT11KGUpKSksZyh0LCJfX3dlYWtNYXBEYXRhX18iLGMoImMiLCIkd2Vha01hcCQiK2woKSkpLGU/KGgoZSxmdW5jdGlvbihlKXtzKGUpLHQuc2V0KGVbMF0sZVsxXSl9KSx0KTp0fSxwJiYoaSYmaShuLFdlYWtNYXApLG4ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoV2Vha01hcC5wcm90b3R5cGUse2NvbnN0cnVjdG9yOmMobil9KSksT2JqZWN0LmRlZmluZVByb3BlcnRpZXMobi5wcm90b3R5cGUse2RlbGV0ZTpjKGZ1bmN0aW9uKHQpe3JldHVybiEhdi5jYWxsKG8odCksdGhpcy5fX3dlYWtNYXBEYXRhX18pJiYoZGVsZXRlIHRbdGhpcy5fX3dlYWtNYXBEYXRhX19dLCEwKX0pLGdldDpjKGZ1bmN0aW9uKHQpe2lmKHYuY2FsbChvKHQpLHRoaXMuX193ZWFrTWFwRGF0YV9fKSlyZXR1cm4gdFt0aGlzLl9fd2Vha01hcERhdGFfX119KSxoYXM6YyhmdW5jdGlvbih0KXtyZXR1cm4gdi5jYWxsKG8odCksdGhpcy5fX3dlYWtNYXBEYXRhX18pfSksc2V0OmMoZnVuY3Rpb24odCxlKXtyZXR1cm4gZyhvKHQpLHRoaXMuX193ZWFrTWFwRGF0YV9fLGMoImMiLGUpKSx0aGlzfSksdG9TdHJpbmc6YyhmdW5jdGlvbigpe3JldHVybiJbb2JqZWN0IFdlYWtNYXBdIn0pfSksZyhuLnByb3RvdHlwZSxmLGMoImMiLCJXZWFrTWFwIikpfSx7Ii4vaXMtbmF0aXZlLWltcGxlbWVudGVkIjozMjIsZDoxNTMsImVzNS1leHQvb2JqZWN0L2lzLXZhbHVlIjoxOTcsImVzNS1leHQvb2JqZWN0L3NldC1wcm90b3R5cGUtb2YiOjIwMywiZXM1LWV4dC9vYmplY3QvdmFsaWQtb2JqZWN0IjoyMDcsImVzNS1leHQvb2JqZWN0L3ZhbGlkLXZhbHVlIjoyMDgsImVzNS1leHQvc3RyaW5nL3JhbmRvbS11bmlxIjoyMTMsImVzNi1pdGVyYXRvci9mb3Itb2YiOjIxNSwiZXM2LWl0ZXJhdG9yL2dldCI6MjE2LCJlczYtc3ltYm9sIjoyMjJ9XSwzMjQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgibmRhcnJheSIpLGE9dCgibmRhcnJheS1vcHMiKSxpPXQoInR5cGVkYXJyYXktcG9vbCIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZihhcmd1bWVudHMubGVuZ3RoPD0xKXRocm93IG5ldyBFcnJvcigiZ2wtdGV4dHVyZTJkOiBNaXNzaW5nIGFyZ3VtZW50cyBmb3IgdGV4dHVyZTJkIGNvbnN0cnVjdG9yIik7b3x8ZnVuY3Rpb24odCl7bz1bdC5MSU5FQVIsdC5ORUFSRVNUX01JUE1BUF9MSU5FQVIsdC5MSU5FQVJfTUlQTUFQX05FQVJFU1QsdC5MSU5FQVJfTUlQTUFQX05FQVJFU1RdLHM9W3QuTkVBUkVTVCx0LkxJTkVBUix0Lk5FQVJFU1RfTUlQTUFQX05FQVJFU1QsdC5ORUFSRVNUX01JUE1BUF9MSU5FQVIsdC5MSU5FQVJfTUlQTUFQX05FQVJFU1QsdC5MSU5FQVJfTUlQTUFQX0xJTkVBUl0sbD1bdC5SRVBFQVQsdC5DTEFNUF9UT19FREdFLHQuTUlSUk9SRURfUkVQRUFUXX0odCk7aWYoIm51bWJlciI9PXR5cGVvZiBhcmd1bWVudHNbMV0pcmV0dXJuIHYodCxhcmd1bWVudHNbMV0sYXJndW1lbnRzWzJdLGFyZ3VtZW50c1szXXx8dC5SR0JBLGFyZ3VtZW50c1s0XXx8dC5VTlNJR05FRF9CWVRFKTtpZihBcnJheS5pc0FycmF5KGFyZ3VtZW50c1sxXSkpcmV0dXJuIHYodCwwfGFyZ3VtZW50c1sxXVswXSwwfGFyZ3VtZW50c1sxXVsxXSxhcmd1bWVudHNbMl18fHQuUkdCQSxhcmd1bWVudHNbM118fHQuVU5TSUdORURfQllURSk7aWYoIm9iamVjdCI9PXR5cGVvZiBhcmd1bWVudHNbMV0pe3ZhciBlPWFyZ3VtZW50c1sxXSxyPWMoZSk/ZTplLnJhdztpZihyKXJldHVybiBmdW5jdGlvbih0LGUscixuLGEsaSl7dmFyIG89Zyh0KTtyZXR1cm4gdC50ZXhJbWFnZTJEKHQuVEVYVFVSRV8yRCwwLGEsYSxpLGUpLG5ldyBmKHQsbyxyLG4sYSxpKX0odCxyLDB8ZS53aWR0aCwwfGUuaGVpZ2h0LGFyZ3VtZW50c1syXXx8dC5SR0JBLGFyZ3VtZW50c1szXXx8dC5VTlNJR05FRF9CWVRFKTtpZihlLnNoYXBlJiZlLmRhdGEmJmUuc3RyaWRlKXJldHVybiBmdW5jdGlvbih0LGUpe3ZhciByPWUuZHR5cGUsbz1lLnNoYXBlLnNsaWNlKCkscz10LmdldFBhcmFtZXRlcih0Lk1BWF9URVhUVVJFX1NJWkUpO2lmKG9bMF08MHx8b1swXT5zfHxvWzFdPDB8fG9bMV0+cyl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogSW52YWxpZCB0ZXh0dXJlIHNpemUiKTt2YXIgbD1kKG8sZS5zdHJpZGUuc2xpY2UoKSksYz0wOyJmbG9hdDMyIj09PXI/Yz10LkZMT0FUOiJmbG9hdDY0Ij09PXI/KGM9dC5GTE9BVCxsPSExLHI9ImZsb2F0MzIiKToidWludDgiPT09cj9jPXQuVU5TSUdORURfQllURTooYz10LlVOU0lHTkVEX0JZVEUsbD0hMSxyPSJ1aW50OCIpO3ZhciBoLHAsdj0wO2lmKDI9PT1vLmxlbmd0aCl2PXQuTFVNSU5BTkNFLG89W29bMF0sb1sxXSwxXSxlPW4oZS5kYXRhLG8sW2Uuc3RyaWRlWzBdLGUuc3RyaWRlWzFdLDFdLGUub2Zmc2V0KTtlbHNle2lmKDMhPT1vLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogSW52YWxpZCBzaGFwZSBmb3IgdGV4dHVyZSIpO2lmKDE9PT1vWzJdKXY9dC5BTFBIQTtlbHNlIGlmKDI9PT1vWzJdKXY9dC5MVU1JTkFOQ0VfQUxQSEE7ZWxzZSBpZigzPT09b1syXSl2PXQuUkdCO2Vsc2V7aWYoNCE9PW9bMl0pdGhyb3cgbmV3IEVycm9yKCJnbC10ZXh0dXJlMmQ6IEludmFsaWQgc2hhcGUgZm9yIHBpeGVsIGNvb3JkcyIpO3Y9dC5SR0JBfX1jIT09dC5GTE9BVHx8dC5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJlX2Zsb2F0Iil8fChjPXQuVU5TSUdORURfQllURSxsPSExKTt2YXIgbT1lLnNpemU7aWYobCloPTA9PT1lLm9mZnNldCYmZS5kYXRhLmxlbmd0aD09PW0/ZS5kYXRhOmUuZGF0YS5zdWJhcnJheShlLm9mZnNldCxlLm9mZnNldCttKTtlbHNle3ZhciB5PVtvWzJdLG9bMl0qb1swXSwxXTtwPWkubWFsbG9jKG0scik7dmFyIHg9bihwLG8seSwwKTsiZmxvYXQzMiIhPT1yJiYiZmxvYXQ2NCIhPT1yfHxjIT09dC5VTlNJR05FRF9CWVRFP2EuYXNzaWduKHgsZSk6dSh4LGUpLGg9cC5zdWJhcnJheSgwLG0pfXZhciBiPWcodCk7dC50ZXhJbWFnZTJEKHQuVEVYVFVSRV8yRCwwLHYsb1swXSxvWzFdLDAsdixjLGgpLGx8fGkuZnJlZShwKTtyZXR1cm4gbmV3IGYodCxiLG9bMF0sb1sxXSx2LGMpfSh0LGUpfXRocm93IG5ldyBFcnJvcigiZ2wtdGV4dHVyZTJkOiBJbnZhbGlkIGFyZ3VtZW50cyBmb3IgdGV4dHVyZTJkIGNvbnN0cnVjdG9yIil9O3ZhciBvPW51bGwscz1udWxsLGw9bnVsbDtmdW5jdGlvbiBjKHQpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgSFRNTENhbnZhc0VsZW1lbnQmJnQgaW5zdGFuY2VvZiBIVE1MQ2FudmFzRWxlbWVudHx8InVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MSW1hZ2VFbGVtZW50JiZ0IGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudHx8InVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MVmlkZW9FbGVtZW50JiZ0IGluc3RhbmNlb2YgSFRNTFZpZGVvRWxlbWVudHx8InVuZGVmaW5lZCIhPXR5cGVvZiBJbWFnZURhdGEmJnQgaW5zdGFuY2VvZiBJbWFnZURhdGF9dmFyIHU9ZnVuY3Rpb24odCxlKXthLm11bHModCxlLDI1NSl9O2Z1bmN0aW9uIGgodCxlLHIpe3ZhciBuPXQuZ2wsYT1uLmdldFBhcmFtZXRlcihuLk1BWF9URVhUVVJFX1NJWkUpO2lmKGU8MHx8ZT5hfHxyPDB8fHI+YSl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogSW52YWxpZCB0ZXh0dXJlIHNpemUiKTtyZXR1cm4gdC5fc2hhcGU9W2Uscl0sdC5iaW5kKCksbi50ZXhJbWFnZTJEKG4uVEVYVFVSRV8yRCwwLHQuZm9ybWF0LGUsciwwLHQuZm9ybWF0LHQudHlwZSxudWxsKSx0Ll9taXBMZXZlbHM9WzBdLHR9ZnVuY3Rpb24gZih0LGUscixuLGEsaSl7dGhpcy5nbD10LHRoaXMuaGFuZGxlPWUsdGhpcy5mb3JtYXQ9YSx0aGlzLnR5cGU9aSx0aGlzLl9zaGFwZT1bcixuXSx0aGlzLl9taXBMZXZlbHM9WzBdLHRoaXMuX21hZ0ZpbHRlcj10Lk5FQVJFU1QsdGhpcy5fbWluRmlsdGVyPXQuTkVBUkVTVCx0aGlzLl93cmFwUz10LkNMQU1QX1RPX0VER0UsdGhpcy5fd3JhcFQ9dC5DTEFNUF9UT19FREdFLHRoaXMuX2FuaXNvU2FtcGxlcz0xO3ZhciBvPXRoaXMscz1bdGhpcy5fd3JhcFMsdGhpcy5fd3JhcFRdO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHMsW3tnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gby5fd3JhcFN9LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gby53cmFwUz10fX0se2dldDpmdW5jdGlvbigpe3JldHVybiBvLl93cmFwVH0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBvLndyYXBUPXR9fV0pLHRoaXMuX3dyYXBWZWN0b3I9czt2YXIgbD1bdGhpcy5fc2hhcGVbMF0sdGhpcy5fc2hhcGVbMV1dO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGwsW3tnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gby5fc2hhcGVbMF19LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gby53aWR0aD10fX0se2dldDpmdW5jdGlvbigpe3JldHVybiBvLl9zaGFwZVsxXX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBvLmhlaWdodD10fX1dKSx0aGlzLl9zaGFwZVZlY3Rvcj1sfXZhciBwPWYucHJvdG90eXBlO2Z1bmN0aW9uIGQodCxlKXtyZXR1cm4gMz09PXQubGVuZ3RoPzE9PT1lWzJdJiZlWzFdPT09dFswXSp0WzJdJiZlWzBdPT09dFsyXToxPT09ZVswXSYmZVsxXT09PXRbMF19ZnVuY3Rpb24gZyh0KXt2YXIgZT10LmNyZWF0ZVRleHR1cmUoKTtyZXR1cm4gdC5iaW5kVGV4dHVyZSh0LlRFWFRVUkVfMkQsZSksdC50ZXhQYXJhbWV0ZXJpKHQuVEVYVFVSRV8yRCx0LlRFWFRVUkVfTUlOX0ZJTFRFUix0Lk5FQVJFU1QpLHQudGV4UGFyYW1ldGVyaSh0LlRFWFRVUkVfMkQsdC5URVhUVVJFX01BR19GSUxURVIsdC5ORUFSRVNUKSx0LnRleFBhcmFtZXRlcmkodC5URVhUVVJFXzJELHQuVEVYVFVSRV9XUkFQX1MsdC5DTEFNUF9UT19FREdFKSx0LnRleFBhcmFtZXRlcmkodC5URVhUVVJFXzJELHQuVEVYVFVSRV9XUkFQX1QsdC5DTEFNUF9UT19FREdFKSxlfWZ1bmN0aW9uIHYodCxlLHIsbixhKXt2YXIgaT10LmdldFBhcmFtZXRlcih0Lk1BWF9URVhUVVJFX1NJWkUpO2lmKGU8MHx8ZT5pfHxyPDB8fHI+aSl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogSW52YWxpZCB0ZXh0dXJlIHNoYXBlIik7aWYoYT09PXQuRkxPQVQmJiF0LmdldEV4dGVuc2lvbigiT0VTX3RleHR1cmVfZmxvYXQiKSl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogRmxvYXRpbmcgcG9pbnQgdGV4dHVyZXMgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtIik7dmFyIG89Zyh0KTtyZXR1cm4gdC50ZXhJbWFnZTJEKHQuVEVYVFVSRV8yRCwwLG4sZSxyLDAsbixhLG51bGwpLG5ldyBmKHQsbyxlLHIsbixhKX1PYmplY3QuZGVmaW5lUHJvcGVydGllcyhwLHttaW5GaWx0ZXI6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9taW5GaWx0ZXJ9LHNldDpmdW5jdGlvbih0KXt0aGlzLmJpbmQoKTt2YXIgZT10aGlzLmdsO2lmKHRoaXMudHlwZT09PWUuRkxPQVQmJm8uaW5kZXhPZih0KT49MCYmKGUuZ2V0RXh0ZW5zaW9uKCJPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIiKXx8KHQ9ZS5ORUFSRVNUKSkscy5pbmRleE9mKHQpPDApdGhyb3cgbmV3IEVycm9yKCJnbC10ZXh0dXJlMmQ6IFVua25vd24gZmlsdGVyIG1vZGUgIit0KTtyZXR1cm4gZS50ZXhQYXJhbWV0ZXJpKGUuVEVYVFVSRV8yRCxlLlRFWFRVUkVfTUlOX0ZJTFRFUix0KSx0aGlzLl9taW5GaWx0ZXI9dH19LG1hZ0ZpbHRlcjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21hZ0ZpbHRlcn0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMuYmluZCgpO3ZhciBlPXRoaXMuZ2w7aWYodGhpcy50eXBlPT09ZS5GTE9BVCYmby5pbmRleE9mKHQpPj0wJiYoZS5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIpfHwodD1lLk5FQVJFU1QpKSxzLmluZGV4T2YodCk8MCl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogVW5rbm93biBmaWx0ZXIgbW9kZSAiK3QpO3JldHVybiBlLnRleFBhcmFtZXRlcmkoZS5URVhUVVJFXzJELGUuVEVYVFVSRV9NQUdfRklMVEVSLHQpLHRoaXMuX21hZ0ZpbHRlcj10fX0sbWlwU2FtcGxlczp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FuaXNvU2FtcGxlc30sc2V0OmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2FuaXNvU2FtcGxlcztpZih0aGlzLl9hbmlzb1NhbXBsZXM9MHxNYXRoLm1heCh0LDEpLGUhPT10aGlzLl9hbmlzb1NhbXBsZXMpe3ZhciByPXRoaXMuZ2wuZ2V0RXh0ZW5zaW9uKCJFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKTtyJiZ0aGlzLmdsLnRleFBhcmFtZXRlcmYodGhpcy5nbC5URVhUVVJFXzJELHIuVEVYVFVSRV9NQVhfQU5JU09UUk9QWV9FWFQsdGhpcy5fYW5pc29TYW1wbGVzKX1yZXR1cm4gdGhpcy5fYW5pc29TYW1wbGVzfX0sd3JhcFM6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cmFwU30sc2V0OmZ1bmN0aW9uKHQpe2lmKHRoaXMuYmluZCgpLGwuaW5kZXhPZih0KTwwKXRocm93IG5ldyBFcnJvcigiZ2wtdGV4dHVyZTJkOiBVbmtub3duIHdyYXAgbW9kZSAiK3QpO3JldHVybiB0aGlzLmdsLnRleFBhcmFtZXRlcmkodGhpcy5nbC5URVhUVVJFXzJELHRoaXMuZ2wuVEVYVFVSRV9XUkFQX1MsdCksdGhpcy5fd3JhcFM9dH19LHdyYXBUOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JhcFR9LHNldDpmdW5jdGlvbih0KXtpZih0aGlzLmJpbmQoKSxsLmluZGV4T2YodCk8MCl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogVW5rbm93biB3cmFwIG1vZGUgIit0KTtyZXR1cm4gdGhpcy5nbC50ZXhQYXJhbWV0ZXJpKHRoaXMuZ2wuVEVYVFVSRV8yRCx0aGlzLmdsLlRFWFRVUkVfV1JBUF9ULHQpLHRoaXMuX3dyYXBUPXR9fSx3cmFwOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JhcFZlY3Rvcn0sc2V0OmZ1bmN0aW9uKHQpe2lmKEFycmF5LmlzQXJyYXkodCl8fCh0PVt0LHRdKSwyIT09dC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJnbC10ZXh0dXJlMmQ6IE11c3Qgc3BlY2lmeSB3cmFwIG1vZGUgZm9yIHJvd3MgYW5kIGNvbHVtbnMiKTtmb3IodmFyIGU9MDtlPDI7KytlKWlmKGwuaW5kZXhPZih0W2VdKTwwKXRocm93IG5ldyBFcnJvcigiZ2wtdGV4dHVyZTJkOiBVbmtub3duIHdyYXAgbW9kZSAiK3QpO3RoaXMuX3dyYXBTPXRbMF0sdGhpcy5fd3JhcFQ9dFsxXTt2YXIgcj10aGlzLmdsO3JldHVybiB0aGlzLmJpbmQoKSxyLnRleFBhcmFtZXRlcmkoci5URVhUVVJFXzJELHIuVEVYVFVSRV9XUkFQX1MsdGhpcy5fd3JhcFMpLHIudGV4UGFyYW1ldGVyaShyLlRFWFRVUkVfMkQsci5URVhUVVJFX1dSQVBfVCx0aGlzLl93cmFwVCksdH19LHNoYXBlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2hhcGVWZWN0b3J9LHNldDpmdW5jdGlvbih0KXtpZihBcnJheS5pc0FycmF5KHQpKXtpZigyIT09dC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJnbC10ZXh0dXJlMmQ6IEludmFsaWQgdGV4dHVyZSBzaGFwZSIpfWVsc2UgdD1bMHx0LDB8dF07cmV0dXJuIGgodGhpcywwfHRbMF0sMHx0WzFdKSxbMHx0WzBdLDB8dFsxXV19fSx3aWR0aDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NoYXBlWzBdfSxzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIGgodGhpcyx0fD0wLHRoaXMuX3NoYXBlWzFdKSx0fX0saGVpZ2h0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2hhcGVbMV19LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gdHw9MCxoKHRoaXMsdGhpcy5fc2hhcGVbMF0sdCksdH19fSkscC5iaW5kPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2w7cmV0dXJuIHZvaWQgMCE9PXQmJmUuYWN0aXZlVGV4dHVyZShlLlRFWFRVUkUwKygwfHQpKSxlLmJpbmRUZXh0dXJlKGUuVEVYVFVSRV8yRCx0aGlzLmhhbmRsZSksdm9pZCAwIT09dD8wfHQ6ZS5nZXRQYXJhbWV0ZXIoZS5BQ1RJVkVfVEVYVFVSRSktZS5URVhUVVJFMH0scC5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5nbC5kZWxldGVUZXh0dXJlKHRoaXMuaGFuZGxlKX0scC5nZW5lcmF0ZU1pcG1hcD1mdW5jdGlvbigpe3RoaXMuYmluZCgpLHRoaXMuZ2wuZ2VuZXJhdGVNaXBtYXAodGhpcy5nbC5URVhUVVJFXzJEKTtmb3IodmFyIHQ9TWF0aC5taW4odGhpcy5fc2hhcGVbMF0sdGhpcy5fc2hhcGVbMV0pLGU9MDt0PjA7KytlLHQ+Pj49MSl0aGlzLl9taXBMZXZlbHMuaW5kZXhPZihlKTwwJiZ0aGlzLl9taXBMZXZlbHMucHVzaChlKX0scC5zZXRQaXhlbHM9ZnVuY3Rpb24odCxlLHIsbyl7dmFyIHM9dGhpcy5nbDt0aGlzLmJpbmQoKSxBcnJheS5pc0FycmF5KGUpPyhvPXIscj0wfGVbMV0sZT0wfGVbMF0pOihlPWV8fDAscj1yfHwwKSxvPW98fDA7dmFyIGw9Yyh0KT90OnQucmF3O2lmKGwpe3RoaXMuX21pcExldmVscy5pbmRleE9mKG8pPDA/KHMudGV4SW1hZ2UyRChzLlRFWFRVUkVfMkQsMCx0aGlzLmZvcm1hdCx0aGlzLmZvcm1hdCx0aGlzLnR5cGUsbCksdGhpcy5fbWlwTGV2ZWxzLnB1c2gobykpOnMudGV4U3ViSW1hZ2UyRChzLlRFWFRVUkVfMkQsbyxlLHIsdGhpcy5mb3JtYXQsdGhpcy50eXBlLGwpfWVsc2V7aWYoISh0LnNoYXBlJiZ0LnN0cmlkZSYmdC5kYXRhKSl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogVW5zdXBwb3J0ZWQgZGF0YSB0eXBlIik7aWYodC5zaGFwZS5sZW5ndGg8Mnx8ZSt0LnNoYXBlWzFdPnRoaXMuX3NoYXBlWzFdPj4+b3x8cit0LnNoYXBlWzBdPnRoaXMuX3NoYXBlWzBdPj4+b3x8ZTwwfHxyPDApdGhyb3cgbmV3IEVycm9yKCJnbC10ZXh0dXJlMmQ6IFRleHR1cmUgZGltZW5zaW9ucyBhcmUgb3V0IG9mIGJvdW5kcyIpOyFmdW5jdGlvbih0LGUscixvLHMsbCxjLGgpe3ZhciBmPWguZHR5cGUscD1oLnNoYXBlLnNsaWNlKCk7aWYocC5sZW5ndGg8Mnx8cC5sZW5ndGg+Myl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogSW52YWxpZCBuZGFycmF5LCBtdXN0IGJlIDJkIG9yIDNkIik7dmFyIGc9MCx2PTAsbT1kKHAsaC5zdHJpZGUuc2xpY2UoKSk7ImZsb2F0MzIiPT09Zj9nPXQuRkxPQVQ6ImZsb2F0NjQiPT09Zj8oZz10LkZMT0FULG09ITEsZj0iZmxvYXQzMiIpOiJ1aW50OCI9PT1mP2c9dC5VTlNJR05FRF9CWVRFOihnPXQuVU5TSUdORURfQllURSxtPSExLGY9InVpbnQ4Iik7aWYoMj09PXAubGVuZ3RoKXY9dC5MVU1JTkFOQ0UscD1bcFswXSxwWzFdLDFdLGg9bihoLmRhdGEscCxbaC5zdHJpZGVbMF0saC5zdHJpZGVbMV0sMV0saC5vZmZzZXQpO2Vsc2V7aWYoMyE9PXAubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiZ2wtdGV4dHVyZTJkOiBJbnZhbGlkIHNoYXBlIGZvciB0ZXh0dXJlIik7aWYoMT09PXBbMl0pdj10LkFMUEhBO2Vsc2UgaWYoMj09PXBbMl0pdj10LkxVTUlOQU5DRV9BTFBIQTtlbHNlIGlmKDM9PT1wWzJdKXY9dC5SR0I7ZWxzZXtpZig0IT09cFsyXSl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogSW52YWxpZCBzaGFwZSBmb3IgcGl4ZWwgY29vcmRzIik7dj10LlJHQkF9cFsyXX12IT09dC5MVU1JTkFOQ0UmJnYhPT10LkFMUEhBfHxzIT09dC5MVU1JTkFOQ0UmJnMhPT10LkFMUEhBfHwodj1zKTtpZih2IT09cyl0aHJvdyBuZXcgRXJyb3IoImdsLXRleHR1cmUyZDogSW5jb21wYXRpYmxlIHRleHR1cmUgZm9ybWF0IGZvciBzZXRQaXhlbHMiKTt2YXIgeT1oLnNpemUseD1jLmluZGV4T2Yobyk8MDt4JiZjLnB1c2gobyk7aWYoZz09PWwmJm0pMD09PWgub2Zmc2V0JiZoLmRhdGEubGVuZ3RoPT09eT94P3QudGV4SW1hZ2UyRCh0LlRFWFRVUkVfMkQsbyxzLHBbMF0scFsxXSwwLHMsbCxoLmRhdGEpOnQudGV4U3ViSW1hZ2UyRCh0LlRFWFRVUkVfMkQsbyxlLHIscFswXSxwWzFdLHMsbCxoLmRhdGEpOng/dC50ZXhJbWFnZTJEKHQuVEVYVFVSRV8yRCxvLHMscFswXSxwWzFdLDAscyxsLGguZGF0YS5zdWJhcnJheShoLm9mZnNldCxoLm9mZnNldCt5KSk6dC50ZXhTdWJJbWFnZTJEKHQuVEVYVFVSRV8yRCxvLGUscixwWzBdLHBbMV0scyxsLGguZGF0YS5zdWJhcnJheShoLm9mZnNldCxoLm9mZnNldCt5KSk7ZWxzZXt2YXIgYjtiPWw9PT10LkZMT0FUP2kubWFsbG9jRmxvYXQzMih5KTppLm1hbGxvY1VpbnQ4KHkpO3ZhciBfPW4oYixwLFtwWzJdLHBbMl0qcFswXSwxXSk7Zz09PXQuRkxPQVQmJmw9PT10LlVOU0lHTkVEX0JZVEU/dShfLGgpOmEuYXNzaWduKF8saCkseD90LnRleEltYWdlMkQodC5URVhUVVJFXzJELG8scyxwWzBdLHBbMV0sMCxzLGwsYi5zdWJhcnJheSgwLHkpKTp0LnRleFN1YkltYWdlMkQodC5URVhUVVJFXzJELG8sZSxyLHBbMF0scFsxXSxzLGwsYi5zdWJhcnJheSgwLHkpKSxsPT09dC5GTE9BVD9pLmZyZWVGbG9hdDMyKGIpOmkuZnJlZVVpbnQ4KGIpfX0ocyxlLHIsbyx0aGlzLmZvcm1hdCx0aGlzLnR5cGUsdGhpcy5fbWlwTGV2ZWxzLHQpfX19LHtuZGFycmF5OjQ1MiwibmRhcnJheS1vcHMiOjQ0NiwidHlwZWRhcnJheS1wb29sIjo1NDR9XSwzMjU6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInBpY2stYnktYWxpYXMiKTtmdW5jdGlvbiBhKHQpe2lmKHQuY29udGFpbmVyKWlmKHQuY29udGFpbmVyPT1kb2N1bWVudC5ib2R5KWRvY3VtZW50LmJvZHkuc3R5bGUud2lkdGh8fCh0LmNhbnZhcy53aWR0aD10LndpZHRofHx0LnBpeGVsUmF0aW8qci5pbm5lcldpZHRoKSxkb2N1bWVudC5ib2R5LnN0eWxlLmhlaWdodHx8KHQuY2FudmFzLmhlaWdodD10LmhlaWdodHx8dC5waXhlbFJhdGlvKnIuaW5uZXJIZWlnaHQpO2Vsc2V7dmFyIGU9dC5jb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dC5jYW52YXMud2lkdGg9dC53aWR0aHx8ZS5yaWdodC1lLmxlZnQsdC5jYW52YXMuaGVpZ2h0PXQuaGVpZ2h0fHxlLmJvdHRvbS1lLnRvcH19ZnVuY3Rpb24gaSh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdC5nZXRDb250ZXh0JiYid2lkdGgiaW4gdCYmImhlaWdodCJpbiB0fWZ1bmN0aW9uIG8oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHQuc3R5bGUudG9wPTAsdC5zdHlsZS5sZWZ0PTAsdH1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU7aWYodD8ic3RyaW5nIj09dHlwZW9mIHQmJih0PXtjb250YWluZXI6dH0pOnQ9e30saSh0KT90PXtjb250YWluZXI6dH06dD0ic3RyaW5nIj09dHlwZW9mKGU9dCkubm9kZU5hbWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLmFwcGVuZENoaWxkJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5nZXRCb3VuZGluZ0NsaWVudFJlY3Q/e2NvbnRhaW5lcjp0fTpmdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdC5kcmF3QXJyYXlzfHwiZnVuY3Rpb24iPT10eXBlb2YgdC5kcmF3RWxlbWVudHN9KHQpP3tnbDp0fTpuKHQse2NvbnRhaW5lcjoiY29udGFpbmVyIHRhcmdldCBlbGVtZW50IGVsIGNhbnZhcyBob2xkZXIgcGFyZW50IHBhcmVudE5vZGUgd3JhcHBlciB1c2UgcmVmIHJvb3Qgbm9kZSIsZ2w6ImdsIGNvbnRleHQgd2ViZ2wgZ2xDb250ZXh0IixhdHRyczoiYXR0cmlidXRlcyBhdHRycyBjb250ZXh0QXR0cmlidXRlcyIscGl4ZWxSYXRpbzoicGl4ZWxSYXRpbyBweFJhdGlvIHB4IHJhdGlvIHB4cmF0aW8gcGl4ZWxyYXRpbyIsd2lkdGg6Incgd2lkdGgiLGhlaWdodDoiaCBoZWlnaHQifSwhMCksdC5waXhlbFJhdGlvfHwodC5waXhlbFJhdGlvPXIucGl4ZWxSYXRpb3x8MSksdC5nbClyZXR1cm4gdC5nbDtpZih0LmNhbnZhcyYmKHQuY29udGFpbmVyPXQuY2FudmFzLnBhcmVudE5vZGUpLHQuY29udGFpbmVyKXtpZigic3RyaW5nIj09dHlwZW9mIHQuY29udGFpbmVyKXt2YXIgcz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQuY29udGFpbmVyKTtpZighcyl0aHJvdyBFcnJvcigiRWxlbWVudCAiK3QuY29udGFpbmVyKyIgaXMgbm90IGZvdW5kIik7dC5jb250YWluZXI9c31pKHQuY29udGFpbmVyKT8odC5jYW52YXM9dC5jb250YWluZXIsdC5jb250YWluZXI9dC5jYW52YXMucGFyZW50Tm9kZSk6dC5jYW52YXN8fCh0LmNhbnZhcz1vKCksdC5jb250YWluZXIuYXBwZW5kQ2hpbGQodC5jYW52YXMpLGEodCkpfWVsc2UgaWYoIXQuY2FudmFzKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIGRvY3VtZW50KXRocm93IEVycm9yKCJOb3QgRE9NIGVudmlyb25tZW50LiBVc2UgaGVhZGxlc3MtZ2wuIik7dC5jb250YWluZXI9ZG9jdW1lbnQuYm9keXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHQuY2FudmFzPW8oKSx0LmNvbnRhaW5lci5hcHBlbmRDaGlsZCh0LmNhbnZhcyksYSh0KX1pZighdC5nbCl0cnl7dC5nbD10LmNhbnZhcy5nZXRDb250ZXh0KCJ3ZWJnbCIsdC5hdHRycyl9Y2F0Y2goZSl7dHJ5e3QuZ2w9dC5jYW52YXMuZ2V0Q29udGV4dCgiZXhwZXJpbWVudGFsLXdlYmdsIix0LmF0dHJzKX1jYXRjaChlKXt0LmdsPXQuY2FudmFzLmdldENvbnRleHQoIndlYmdsLWV4cGVyaW1lbnRhbCIsdC5hdHRycyl9fXJldHVybiB0LmdsfX0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0seyJwaWNrLWJ5LWFsaWFzIjo0Njd9XSwzMjY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtlP2UuYmluZCgpOnQuYmluZEJ1ZmZlcih0LkVMRU1FTlRfQVJSQVlfQlVGRkVSLG51bGwpO3ZhciBuPTB8dC5nZXRQYXJhbWV0ZXIodC5NQVhfVkVSVEVYX0FUVFJJQlMpO2lmKHIpe2lmKHIubGVuZ3RoPm4pdGhyb3cgbmV3IEVycm9yKCJnbC12YW86IFRvbyBtYW55IHZlcnRleCBhdHRyaWJ1dGVzIik7Zm9yKHZhciBhPTA7YTxyLmxlbmd0aDsrK2Epe3ZhciBpPXJbYV07aWYoaS5idWZmZXIpe3ZhciBvPWkuYnVmZmVyLHM9aS5zaXplfHw0LGw9aS50eXBlfHx0LkZMT0FULGM9ISFpLm5vcm1hbGl6ZWQsdT1pLnN0cmlkZXx8MCxoPWkub2Zmc2V0fHwwO28uYmluZCgpLHQuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoYSksdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGEscyxsLGMsdSxoKX1lbHNle2lmKCJudW1iZXIiPT10eXBlb2YgaSl0LnZlcnRleEF0dHJpYjFmKGEsaSk7ZWxzZSBpZigxPT09aS5sZW5ndGgpdC52ZXJ0ZXhBdHRyaWIxZihhLGlbMF0pO2Vsc2UgaWYoMj09PWkubGVuZ3RoKXQudmVydGV4QXR0cmliMmYoYSxpWzBdLGlbMV0pO2Vsc2UgaWYoMz09PWkubGVuZ3RoKXQudmVydGV4QXR0cmliM2YoYSxpWzBdLGlbMV0saVsyXSk7ZWxzZXtpZig0IT09aS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJnbC12YW86IEludmFsaWQgdmVydGV4IGF0dHJpYnV0ZSIpO3QudmVydGV4QXR0cmliNGYoYSxpWzBdLGlbMV0saVsyXSxpWzNdKX10LmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShhKX19Zm9yKDthPG47KythKXQuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KGEpfWVsc2UgZm9yKHQuYmluZEJ1ZmZlcih0LkFSUkFZX0JVRkZFUixudWxsKSxhPTA7YTxuOysrYSl0LmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShhKX19LHt9XSwzMjc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9kby1iaW5kLmpzIik7ZnVuY3Rpb24gYSh0KXt0aGlzLmdsPXQsdGhpcy5fZWxlbWVudHM9bnVsbCx0aGlzLl9hdHRyaWJ1dGVzPW51bGwsdGhpcy5fZWxlbWVudHNUeXBlPXQuVU5TSUdORURfU0hPUlR9YS5wcm90b3R5cGUuYmluZD1mdW5jdGlvbigpe24odGhpcy5nbCx0aGlzLl9lbGVtZW50cyx0aGlzLl9hdHRyaWJ1dGVzKX0sYS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLl9lbGVtZW50cz1lLHRoaXMuX2F0dHJpYnV0ZXM9dCx0aGlzLl9lbGVtZW50c1R5cGU9cnx8dGhpcy5nbC5VTlNJR05FRF9TSE9SVH0sYS5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe30sYS5wcm90b3R5cGUudW5iaW5kPWZ1bmN0aW9uKCl7fSxhLnByb3RvdHlwZS5kcmF3PWZ1bmN0aW9uKHQsZSxyKXtyPXJ8fDA7dmFyIG49dGhpcy5nbDt0aGlzLl9lbGVtZW50cz9uLmRyYXdFbGVtZW50cyh0LGUsdGhpcy5fZWxlbWVudHNUeXBlLHIpOm4uZHJhd0FycmF5cyh0LHIsZSl9LGUuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGEodCl9fSx7Ii4vZG8tYmluZC5qcyI6MzI2fV0sMzI4OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIi4vZG8tYmluZC5qcyIpO2Z1bmN0aW9uIGEodCxlLHIsbixhLGkpe3RoaXMubG9jYXRpb249dCx0aGlzLmRpbWVuc2lvbj1lLHRoaXMuYT1yLHRoaXMuYj1uLHRoaXMuYz1hLHRoaXMuZD1pfWZ1bmN0aW9uIGkodCxlLHIpe3RoaXMuZ2w9dCx0aGlzLl9leHQ9ZSx0aGlzLmhhbmRsZT1yLHRoaXMuX2F0dHJpYnM9W10sdGhpcy5fdXNlRWxlbWVudHM9ITEsdGhpcy5fZWxlbWVudHNUeXBlPXQuVU5TSUdORURfU0hPUlR9YS5wcm90b3R5cGUuYmluZD1mdW5jdGlvbih0KXtzd2l0Y2godGhpcy5kaW1lbnNpb24pe2Nhc2UgMTp0LnZlcnRleEF0dHJpYjFmKHRoaXMubG9jYXRpb24sdGhpcy5hKTticmVhaztjYXNlIDI6dC52ZXJ0ZXhBdHRyaWIyZih0aGlzLmxvY2F0aW9uLHRoaXMuYSx0aGlzLmIpO2JyZWFrO2Nhc2UgMzp0LnZlcnRleEF0dHJpYjNmKHRoaXMubG9jYXRpb24sdGhpcy5hLHRoaXMuYix0aGlzLmMpO2JyZWFrO2Nhc2UgNDp0LnZlcnRleEF0dHJpYjRmKHRoaXMubG9jYXRpb24sdGhpcy5hLHRoaXMuYix0aGlzLmMsdGhpcy5kKX19LGkucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt0aGlzLl9leHQuYmluZFZlcnRleEFycmF5T0VTKHRoaXMuaGFuZGxlKTtmb3IodmFyIHQ9MDt0PHRoaXMuX2F0dHJpYnMubGVuZ3RoOysrdCl0aGlzLl9hdHRyaWJzW3RdLmJpbmQodGhpcy5nbCl9LGkucHJvdG90eXBlLnVuYmluZD1mdW5jdGlvbigpe3RoaXMuX2V4dC5iaW5kVmVydGV4QXJyYXlPRVMobnVsbCl9LGkucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLl9leHQuZGVsZXRlVmVydGV4QXJyYXlPRVModGhpcy5oYW5kbGUpfSxpLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlLHIpe2lmKHRoaXMuYmluZCgpLG4odGhpcy5nbCxlLHQpLHRoaXMudW5iaW5kKCksdGhpcy5fYXR0cmlicy5sZW5ndGg9MCx0KWZvcih2YXIgaT0wO2k8dC5sZW5ndGg7KytpKXt2YXIgbz10W2ldOyJudW1iZXIiPT10eXBlb2Ygbz90aGlzLl9hdHRyaWJzLnB1c2gobmV3IGEoaSwxLG8pKTpBcnJheS5pc0FycmF5KG8pJiZ0aGlzLl9hdHRyaWJzLnB1c2gobmV3IGEoaSxvLmxlbmd0aCxvWzBdLG9bMV0sb1syXSxvWzNdKSl9dGhpcy5fdXNlRWxlbWVudHM9ISFlLHRoaXMuX2VsZW1lbnRzVHlwZT1yfHx0aGlzLmdsLlVOU0lHTkVEX1NIT1JUfSxpLnByb3RvdHlwZS5kcmF3PWZ1bmN0aW9uKHQsZSxyKXtyPXJ8fDA7dmFyIG49dGhpcy5nbDt0aGlzLl91c2VFbGVtZW50cz9uLmRyYXdFbGVtZW50cyh0LGUsdGhpcy5fZWxlbWVudHNUeXBlLHIpOm4uZHJhd0FycmF5cyh0LHIsZSl9LGUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgaSh0LGUsZS5jcmVhdGVWZXJ0ZXhBcnJheU9FUygpKX19LHsiLi9kby1iaW5kLmpzIjozMjZ9XSwzMjk6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9saWIvdmFvLW5hdGl2ZS5qcyIpLGE9dCgiLi9saWIvdmFvLWVtdWxhdGVkLmpzIik7ZnVuY3Rpb24gaSh0KXt0aGlzLmJpbmRWZXJ0ZXhBcnJheU9FUz10LmJpbmRWZXJ0ZXhBcnJheS5iaW5kKHQpLHRoaXMuY3JlYXRlVmVydGV4QXJyYXlPRVM9dC5jcmVhdGVWZXJ0ZXhBcnJheS5iaW5kKHQpLHRoaXMuZGVsZXRlVmVydGV4QXJyYXlPRVM9dC5kZWxldGVWZXJ0ZXhBcnJheS5iaW5kKHQpfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscixvKXt2YXIgcyxsPXQuY3JlYXRlVmVydGV4QXJyYXk/bmV3IGkodCk6dC5nZXRFeHRlbnNpb24oIk9FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0Iik7cmV0dXJuKHM9bD9uKHQsbCk6YSh0KSkudXBkYXRlKGUscixvKSxzfX0seyIuL2xpYi92YW8tZW11bGF0ZWQuanMiOjMyNywiLi9saWIvdmFvLW5hdGl2ZS5qcyI6MzI4fV0sMzMwOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdFswXT1lWzBdK3JbMF0sdFsxXT1lWzFdK3JbMV0sdFsyXT1lWzJdK3JbMl0sdH19LHt9XSwzMzE6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1uKHRbMF0sdFsxXSx0WzJdKSxvPW4oZVswXSxlWzFdLGVbMl0pO2EocixyKSxhKG8sbyk7dmFyIHM9aShyLG8pO3JldHVybiBzPjE/MDpNYXRoLmFjb3Mocyl9O3ZhciBuPXQoIi4vZnJvbVZhbHVlcyIpLGE9dCgiLi9ub3JtYWxpemUiKSxpPXQoIi4vZG90Iil9LHsiLi9kb3QiOjM0MSwiLi9mcm9tVmFsdWVzIjozNDcsIi4vbm9ybWFsaXplIjozNTh9XSwzMzI6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXT1NYXRoLmNlaWwoZVswXSksdFsxXT1NYXRoLmNlaWwoZVsxXSksdFsyXT1NYXRoLmNlaWwoZVsyXSksdH19LHt9XSwzMzM6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IEZsb2F0MzJBcnJheSgzKTtyZXR1cm4gZVswXT10WzBdLGVbMV09dFsxXSxlWzJdPXRbMl0sZX19LHt9XSwzMzQ6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXT1lWzBdLHRbMV09ZVsxXSx0WzJdPWVbMl0sdH19LHt9XSwzMzU6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdD1uZXcgRmxvYXQzMkFycmF5KDMpO3JldHVybiB0WzBdPTAsdFsxXT0wLHRbMl09MCx0fX0se31dLDMzNjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49ZVswXSxhPWVbMV0saT1lWzJdLG89clswXSxzPXJbMV0sbD1yWzJdO3JldHVybiB0WzBdPWEqbC1pKnMsdFsxXT1pKm8tbipsLHRbMl09bipzLWEqbyx0fX0se31dLDMzNzpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz10KCIuL2Rpc3RhbmNlIil9LHsiLi9kaXN0YW5jZSI6MzM4fV0sMzM4OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXS10WzBdLG49ZVsxXS10WzFdLGE9ZVsyXS10WzJdO3JldHVybiBNYXRoLnNxcnQocipyK24qbithKmEpfX0se31dLDMzOTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz10KCIuL2RpdmlkZSIpfSx7Ii4vZGl2aWRlIjozNDB9XSwzNDA6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0WzBdPWVbMF0vclswXSx0WzFdPWVbMV0vclsxXSx0WzJdPWVbMl0vclsyXSx0fX0se31dLDM0MTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiB0WzBdKmVbMF0rdFsxXSplWzFdK3RbMl0qZVsyXX19LHt9XSwzNDI6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9MWUtNn0se31dLDM0MzpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPXRbMF0sYT10WzFdLGk9dFsyXSxvPWVbMF0scz1lWzFdLGw9ZVsyXTtyZXR1cm4gTWF0aC5hYnMoci1vKTw9bipNYXRoLm1heCgxLE1hdGguYWJzKHIpLE1hdGguYWJzKG8pKSYmTWF0aC5hYnMoYS1zKTw9bipNYXRoLm1heCgxLE1hdGguYWJzKGEpLE1hdGguYWJzKHMpKSYmTWF0aC5hYnMoaS1sKTw9bipNYXRoLm1heCgxLE1hdGguYWJzKGkpLE1hdGguYWJzKGwpKX07dmFyIG49dCgiLi9lcHNpbG9uIil9LHsiLi9lcHNpbG9uIjozNDJ9XSwzNDQ6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXT09PWVbMF0mJnRbMV09PT1lWzFdJiZ0WzJdPT09ZVsyXX19LHt9XSwzNDU6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXT1NYXRoLmZsb29yKGVbMF0pLHRbMV09TWF0aC5mbG9vcihlWzFdKSx0WzJdPU1hdGguZmxvb3IoZVsyXSksdH19LHt9XSwzNDY6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsYSxpLG8pe3ZhciBzLGw7ZXx8KGU9Myk7cnx8KHI9MCk7bD1hP01hdGgubWluKGEqZStyLHQubGVuZ3RoKTp0Lmxlbmd0aDtmb3Iocz1yO3M8bDtzKz1lKW5bMF09dFtzXSxuWzFdPXRbcysxXSxuWzJdPXRbcysyXSxpKG4sbixvKSx0W3NdPW5bMF0sdFtzKzFdPW5bMV0sdFtzKzJdPW5bMl07cmV0dXJuIHR9O3ZhciBuPXQoIi4vY3JlYXRlIikoKX0seyIuL2NyZWF0ZSI6MzM1fV0sMzQ3OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1uZXcgRmxvYXQzMkFycmF5KDMpO3JldHVybiBuWzBdPXQsblsxXT1lLG5bMl09cixufX0se31dLDM0ODpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz17RVBTSUxPTjp0KCIuL2Vwc2lsb24iKSxjcmVhdGU6dCgiLi9jcmVhdGUiKSxjbG9uZTp0KCIuL2Nsb25lIiksYW5nbGU6dCgiLi9hbmdsZSIpLGZyb21WYWx1ZXM6dCgiLi9mcm9tVmFsdWVzIiksY29weTp0KCIuL2NvcHkiKSxzZXQ6dCgiLi9zZXQiKSxlcXVhbHM6dCgiLi9lcXVhbHMiKSxleGFjdEVxdWFsczp0KCIuL2V4YWN0RXF1YWxzIiksYWRkOnQoIi4vYWRkIiksc3VidHJhY3Q6dCgiLi9zdWJ0cmFjdCIpLHN1Yjp0KCIuL3N1YiIpLG11bHRpcGx5OnQoIi4vbXVsdGlwbHkiKSxtdWw6dCgiLi9tdWwiKSxkaXZpZGU6dCgiLi9kaXZpZGUiKSxkaXY6dCgiLi9kaXYiKSxtaW46dCgiLi9taW4iKSxtYXg6dCgiLi9tYXgiKSxmbG9vcjp0KCIuL2Zsb29yIiksY2VpbDp0KCIuL2NlaWwiKSxyb3VuZDp0KCIuL3JvdW5kIiksc2NhbGU6dCgiLi9zY2FsZSIpLHNjYWxlQW5kQWRkOnQoIi4vc2NhbGVBbmRBZGQiKSxkaXN0YW5jZTp0KCIuL2Rpc3RhbmNlIiksZGlzdDp0KCIuL2Rpc3QiKSxzcXVhcmVkRGlzdGFuY2U6dCgiLi9zcXVhcmVkRGlzdGFuY2UiKSxzcXJEaXN0OnQoIi4vc3FyRGlzdCIpLGxlbmd0aDp0KCIuL2xlbmd0aCIpLGxlbjp0KCIuL2xlbiIpLHNxdWFyZWRMZW5ndGg6dCgiLi9zcXVhcmVkTGVuZ3RoIiksc3FyTGVuOnQoIi4vc3FyTGVuIiksbmVnYXRlOnQoIi4vbmVnYXRlIiksaW52ZXJzZTp0KCIuL2ludmVyc2UiKSxub3JtYWxpemU6dCgiLi9ub3JtYWxpemUiKSxkb3Q6dCgiLi9kb3QiKSxjcm9zczp0KCIuL2Nyb3NzIiksbGVycDp0KCIuL2xlcnAiKSxyYW5kb206dCgiLi9yYW5kb20iKSx0cmFuc2Zvcm1NYXQ0OnQoIi4vdHJhbnNmb3JtTWF0NCIpLHRyYW5zZm9ybU1hdDM6dCgiLi90cmFuc2Zvcm1NYXQzIiksdHJhbnNmb3JtUXVhdDp0KCIuL3RyYW5zZm9ybVF1YXQiKSxyb3RhdGVYOnQoIi4vcm90YXRlWCIpLHJvdGF0ZVk6dCgiLi9yb3RhdGVZIikscm90YXRlWjp0KCIuL3JvdGF0ZVoiKSxmb3JFYWNoOnQoIi4vZm9yRWFjaCIpfX0seyIuL2FkZCI6MzMwLCIuL2FuZ2xlIjozMzEsIi4vY2VpbCI6MzMyLCIuL2Nsb25lIjozMzMsIi4vY29weSI6MzM0LCIuL2NyZWF0ZSI6MzM1LCIuL2Nyb3NzIjozMzYsIi4vZGlzdCI6MzM3LCIuL2Rpc3RhbmNlIjozMzgsIi4vZGl2IjozMzksIi4vZGl2aWRlIjozNDAsIi4vZG90IjozNDEsIi4vZXBzaWxvbiI6MzQyLCIuL2VxdWFscyI6MzQzLCIuL2V4YWN0RXF1YWxzIjozNDQsIi4vZmxvb3IiOjM0NSwiLi9mb3JFYWNoIjozNDYsIi4vZnJvbVZhbHVlcyI6MzQ3LCIuL2ludmVyc2UiOjM0OSwiLi9sZW4iOjM1MCwiLi9sZW5ndGgiOjM1MSwiLi9sZXJwIjozNTIsIi4vbWF4IjozNTMsIi4vbWluIjozNTQsIi4vbXVsIjozNTUsIi4vbXVsdGlwbHkiOjM1NiwiLi9uZWdhdGUiOjM1NywiLi9ub3JtYWxpemUiOjM1OCwiLi9yYW5kb20iOjM1OSwiLi9yb3RhdGVYIjozNjAsIi4vcm90YXRlWSI6MzYxLCIuL3JvdGF0ZVoiOjM2MiwiLi9yb3VuZCI6MzYzLCIuL3NjYWxlIjozNjQsIi4vc2NhbGVBbmRBZGQiOjM2NSwiLi9zZXQiOjM2NiwiLi9zcXJEaXN0IjozNjcsIi4vc3FyTGVuIjozNjgsIi4vc3F1YXJlZERpc3RhbmNlIjozNjksIi4vc3F1YXJlZExlbmd0aCI6MzcwLCIuL3N1YiI6MzcxLCIuL3N1YnRyYWN0IjozNzIsIi4vdHJhbnNmb3JtTWF0MyI6MzczLCIuL3RyYW5zZm9ybU1hdDQiOjM3NCwiLi90cmFuc2Zvcm1RdWF0IjozNzV9XSwzNDk6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXT0xL2VbMF0sdFsxXT0xL2VbMV0sdFsyXT0xL2VbMl0sdH19LHt9XSwzNTA6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9dCgiLi9sZW5ndGgiKX0seyIuL2xlbmd0aCI6MzUxfV0sMzUxOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRbMF0scj10WzFdLG49dFsyXTtyZXR1cm4gTWF0aC5zcXJ0KGUqZStyKnIrbipuKX19LHt9XSwzNTI6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9ZVswXSxpPWVbMV0sbz1lWzJdO3JldHVybiB0WzBdPWErbiooclswXS1hKSx0WzFdPWkrbiooclsxXS1pKSx0WzJdPW8rbiooclsyXS1vKSx0fX0se31dLDM1MzpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRbMF09TWF0aC5tYXgoZVswXSxyWzBdKSx0WzFdPU1hdGgubWF4KGVbMV0sclsxXSksdFsyXT1NYXRoLm1heChlWzJdLHJbMl0pLHR9fSx7fV0sMzU0OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdFswXT1NYXRoLm1pbihlWzBdLHJbMF0pLHRbMV09TWF0aC5taW4oZVsxXSxyWzFdKSx0WzJdPU1hdGgubWluKGVbMl0sclsyXSksdH19LHt9XSwzNTU6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9dCgiLi9tdWx0aXBseSIpfSx7Ii4vbXVsdGlwbHkiOjM1Nn1dLDM1NjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRbMF09ZVswXSpyWzBdLHRbMV09ZVsxXSpyWzFdLHRbMl09ZVsyXSpyWzJdLHR9fSx7fV0sMzU3OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRbMF09LWVbMF0sdFsxXT0tZVsxXSx0WzJdPS1lWzJdLHR9fSx7fV0sMzU4OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV0sYT1lWzJdLGk9cipyK24qbithKmE7aT4wJiYoaT0xL01hdGguc3FydChpKSx0WzBdPWVbMF0qaSx0WzFdPWVbMV0qaSx0WzJdPWVbMl0qaSk7cmV0dXJuIHR9fSx7fV0sMzU5OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7ZT1lfHwxO3ZhciByPTIqTWF0aC5yYW5kb20oKSpNYXRoLlBJLG49MipNYXRoLnJhbmRvbSgpLTEsYT1NYXRoLnNxcnQoMS1uKm4pKmU7cmV0dXJuIHRbMF09TWF0aC5jb3MocikqYSx0WzFdPU1hdGguc2luKHIpKmEsdFsyXT1uKmUsdH19LHt9XSwzNjA6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9clsxXSxpPXJbMl0sbz1lWzFdLWEscz1lWzJdLWksbD1NYXRoLnNpbihuKSxjPU1hdGguY29zKG4pO3JldHVybiB0WzBdPWVbMF0sdFsxXT1hK28qYy1zKmwsdFsyXT1pK28qbCtzKmMsdH19LHt9XSwzNjE6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9clswXSxpPXJbMl0sbz1lWzBdLWEscz1lWzJdLWksbD1NYXRoLnNpbihuKSxjPU1hdGguY29zKG4pO3JldHVybiB0WzBdPWErcypsK28qYyx0WzFdPWVbMV0sdFsyXT1pK3MqYy1vKmwsdH19LHt9XSwzNjI6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9clswXSxpPXJbMV0sbz1lWzBdLWEscz1lWzFdLWksbD1NYXRoLnNpbihuKSxjPU1hdGguY29zKG4pO3JldHVybiB0WzBdPWErbypjLXMqbCx0WzFdPWkrbypsK3MqYyx0WzJdPWVbMl0sdH19LHt9XSwzNjM6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXT1NYXRoLnJvdW5kKGVbMF0pLHRbMV09TWF0aC5yb3VuZChlWzFdKSx0WzJdPU1hdGgucm91bmQoZVsyXSksdH19LHt9XSwzNjQ6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0WzBdPWVbMF0qcix0WzFdPWVbMV0qcix0WzJdPWVbMl0qcix0fX0se31dLDM2NTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdFswXT1lWzBdK3JbMF0qbix0WzFdPWVbMV0rclsxXSpuLHRbMl09ZVsyXStyWzJdKm4sdH19LHt9XSwzNjY6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIHRbMF09ZSx0WzFdPXIsdFsyXT1uLHR9fSx7fV0sMzY3OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXQoIi4vc3F1YXJlZERpc3RhbmNlIil9LHsiLi9zcXVhcmVkRGlzdGFuY2UiOjM2OX1dLDM2ODpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz10KCIuL3NxdWFyZWRMZW5ndGgiKX0seyIuL3NxdWFyZWRMZW5ndGgiOjM3MH1dLDM2OTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPWVbMF0tdFswXSxuPWVbMV0tdFsxXSxhPWVbMl0tdFsyXTtyZXR1cm4gcipyK24qbithKmF9fSx7fV0sMzcwOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRbMF0scj10WzFdLG49dFsyXTtyZXR1cm4gZSplK3IqcituKm59fSx7fV0sMzcxOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXQoIi4vc3VidHJhY3QiKX0seyIuL3N1YnRyYWN0IjozNzJ9XSwzNzI6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0WzBdPWVbMF0tclswXSx0WzFdPWVbMV0tclsxXSx0WzJdPWVbMl0tclsyXSx0fX0se31dLDM3MzpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49ZVswXSxhPWVbMV0saT1lWzJdO3JldHVybiB0WzBdPW4qclswXSthKnJbM10raSpyWzZdLHRbMV09bipyWzFdK2Eqcls0XStpKnJbN10sdFsyXT1uKnJbMl0rYSpyWzVdK2kqcls4XSx0fX0se31dLDM3NDpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49ZVswXSxhPWVbMV0saT1lWzJdLG89clszXSpuK3JbN10qYStyWzExXSppK3JbMTVdO3JldHVybiBvPW98fDEsdFswXT0oclswXSpuK3JbNF0qYStyWzhdKmkrclsxMl0pL28sdFsxXT0oclsxXSpuK3JbNV0qYStyWzldKmkrclsxM10pL28sdFsyXT0oclsyXSpuK3JbNl0qYStyWzEwXSppK3JbMTRdKS9vLHR9fSx7fV0sMzc1OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1lWzBdLGE9ZVsxXSxpPWVbMl0sbz1yWzBdLHM9clsxXSxsPXJbMl0sYz1yWzNdLHU9YypuK3MqaS1sKmEsaD1jKmErbCpuLW8qaSxmPWMqaStvKmEtcypuLHA9LW8qbi1zKmEtbCppO3JldHVybiB0WzBdPXUqYytwKi1vK2gqLWwtZiotcyx0WzFdPWgqYytwKi1zK2YqLW8tdSotbCx0WzJdPWYqYytwKi1sK3UqLXMtaCotbyx0fX0se31dLDM3NjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRbMF09ZVswXStyWzBdLHRbMV09ZVsxXStyWzFdLHRbMl09ZVsyXStyWzJdLHRbM109ZVszXStyWzNdLHR9fSx7fV0sMzc3OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBGbG9hdDMyQXJyYXkoNCk7cmV0dXJuIGVbMF09dFswXSxlWzFdPXRbMV0sZVsyXT10WzJdLGVbM109dFszXSxlfX0se31dLDM3ODpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiB0WzBdPWVbMF0sdFsxXT1lWzFdLHRbMl09ZVsyXSx0WzNdPWVbM10sdH19LHt9XSwzNzk6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdD1uZXcgRmxvYXQzMkFycmF5KDQpO3JldHVybiB0WzBdPTAsdFsxXT0wLHRbMl09MCx0WzNdPTAsdH19LHt9XSwzODA6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLXRbMF0sbj1lWzFdLXRbMV0sYT1lWzJdLXRbMl0saT1lWzNdLXRbM107cmV0dXJuIE1hdGguc3FydChyKnIrbipuK2EqYStpKmkpfX0se31dLDM4MTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRbMF09ZVswXS9yWzBdLHRbMV09ZVsxXS9yWzFdLHRbMl09ZVsyXS9yWzJdLHRbM109ZVszXS9yWzNdLHR9fSx7fV0sMzgyOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRbMF0qZVswXSt0WzFdKmVbMV0rdFsyXSplWzJdK3RbM10qZVszXX19LHt9XSwzODM6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9bmV3IEZsb2F0MzJBcnJheSg0KTtyZXR1cm4gYVswXT10LGFbMV09ZSxhWzJdPXIsYVszXT1uLGF9fSx7fV0sMzg0OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXtjcmVhdGU6dCgiLi9jcmVhdGUiKSxjbG9uZTp0KCIuL2Nsb25lIiksZnJvbVZhbHVlczp0KCIuL2Zyb21WYWx1ZXMiKSxjb3B5OnQoIi4vY29weSIpLHNldDp0KCIuL3NldCIpLGFkZDp0KCIuL2FkZCIpLHN1YnRyYWN0OnQoIi4vc3VidHJhY3QiKSxtdWx0aXBseTp0KCIuL211bHRpcGx5IiksZGl2aWRlOnQoIi4vZGl2aWRlIiksbWluOnQoIi4vbWluIiksbWF4OnQoIi4vbWF4Iiksc2NhbGU6dCgiLi9zY2FsZSIpLHNjYWxlQW5kQWRkOnQoIi4vc2NhbGVBbmRBZGQiKSxkaXN0YW5jZTp0KCIuL2Rpc3RhbmNlIiksc3F1YXJlZERpc3RhbmNlOnQoIi4vc3F1YXJlZERpc3RhbmNlIiksbGVuZ3RoOnQoIi4vbGVuZ3RoIiksc3F1YXJlZExlbmd0aDp0KCIuL3NxdWFyZWRMZW5ndGgiKSxuZWdhdGU6dCgiLi9uZWdhdGUiKSxpbnZlcnNlOnQoIi4vaW52ZXJzZSIpLG5vcm1hbGl6ZTp0KCIuL25vcm1hbGl6ZSIpLGRvdDp0KCIuL2RvdCIpLGxlcnA6dCgiLi9sZXJwIikscmFuZG9tOnQoIi4vcmFuZG9tIiksdHJhbnNmb3JtTWF0NDp0KCIuL3RyYW5zZm9ybU1hdDQiKSx0cmFuc2Zvcm1RdWF0OnQoIi4vdHJhbnNmb3JtUXVhdCIpfX0seyIuL2FkZCI6Mzc2LCIuL2Nsb25lIjozNzcsIi4vY29weSI6Mzc4LCIuL2NyZWF0ZSI6Mzc5LCIuL2Rpc3RhbmNlIjozODAsIi4vZGl2aWRlIjozODEsIi4vZG90IjozODIsIi4vZnJvbVZhbHVlcyI6MzgzLCIuL2ludmVyc2UiOjM4NSwiLi9sZW5ndGgiOjM4NiwiLi9sZXJwIjozODcsIi4vbWF4IjozODgsIi4vbWluIjozODksIi4vbXVsdGlwbHkiOjM5MCwiLi9uZWdhdGUiOjM5MSwiLi9ub3JtYWxpemUiOjM5MiwiLi9yYW5kb20iOjM5MywiLi9zY2FsZSI6Mzk0LCIuL3NjYWxlQW5kQWRkIjozOTUsIi4vc2V0IjozOTYsIi4vc3F1YXJlZERpc3RhbmNlIjozOTcsIi4vc3F1YXJlZExlbmd0aCI6Mzk4LCIuL3N1YnRyYWN0IjozOTksIi4vdHJhbnNmb3JtTWF0NCI6NDAwLCIuL3RyYW5zZm9ybVF1YXQiOjQwMX1dLDM4NTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiB0WzBdPTEvZVswXSx0WzFdPTEvZVsxXSx0WzJdPTEvZVsyXSx0WzNdPTEvZVszXSx0fX0se31dLDM4NjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10WzBdLHI9dFsxXSxuPXRbMl0sYT10WzNdO3JldHVybiBNYXRoLnNxcnQoZSplK3IqcituKm4rYSphKX19LHt9XSwzODc6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9ZVswXSxpPWVbMV0sbz1lWzJdLHM9ZVszXTtyZXR1cm4gdFswXT1hK24qKHJbMF0tYSksdFsxXT1pK24qKHJbMV0taSksdFsyXT1vK24qKHJbMl0tbyksdFszXT1zK24qKHJbM10tcyksdH19LHt9XSwzODg6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0WzBdPU1hdGgubWF4KGVbMF0sclswXSksdFsxXT1NYXRoLm1heChlWzFdLHJbMV0pLHRbMl09TWF0aC5tYXgoZVsyXSxyWzJdKSx0WzNdPU1hdGgubWF4KGVbM10sclszXSksdH19LHt9XSwzODk6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0WzBdPU1hdGgubWluKGVbMF0sclswXSksdFsxXT1NYXRoLm1pbihlWzFdLHJbMV0pLHRbMl09TWF0aC5taW4oZVsyXSxyWzJdKSx0WzNdPU1hdGgubWluKGVbM10sclszXSksdH19LHt9XSwzOTA6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0WzBdPWVbMF0qclswXSx0WzFdPWVbMV0qclsxXSx0WzJdPWVbMl0qclsyXSx0WzNdPWVbM10qclszXSx0fX0se31dLDM5MTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiB0WzBdPS1lWzBdLHRbMV09LWVbMV0sdFsyXT0tZVsyXSx0WzNdPS1lWzNdLHR9fSx7fV0sMzkyOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV0sYT1lWzJdLGk9ZVszXSxvPXIqcituKm4rYSphK2kqaTtvPjAmJihvPTEvTWF0aC5zcXJ0KG8pLHRbMF09cipvLHRbMV09bipvLHRbMl09YSpvLHRbM109aSpvKTtyZXR1cm4gdH19LHt9XSwzOTM6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuL25vcm1hbGl6ZSIpLGE9dCgiLi9zY2FsZSIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBlPWV8fDEsdFswXT1NYXRoLnJhbmRvbSgpLHRbMV09TWF0aC5yYW5kb20oKSx0WzJdPU1hdGgucmFuZG9tKCksdFszXT1NYXRoLnJhbmRvbSgpLG4odCx0KSxhKHQsdCxlKSx0fX0seyIuL25vcm1hbGl6ZSI6MzkyLCIuL3NjYWxlIjozOTR9XSwzOTQ6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0WzBdPWVbMF0qcix0WzFdPWVbMV0qcix0WzJdPWVbMl0qcix0WzNdPWVbM10qcix0fX0se31dLDM5NTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdFswXT1lWzBdK3JbMF0qbix0WzFdPWVbMV0rclsxXSpuLHRbMl09ZVsyXStyWzJdKm4sdFszXT1lWzNdK3JbM10qbix0fX0se31dLDM5NjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixuLGEpe3JldHVybiB0WzBdPWUsdFsxXT1yLHRbMl09bix0WzNdPWEsdH19LHt9XSwzOTc6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLXRbMF0sbj1lWzFdLXRbMV0sYT1lWzJdLXRbMl0saT1lWzNdLXRbM107cmV0dXJuIHIqcituKm4rYSphK2kqaX19LHt9XSwzOTg6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dFswXSxyPXRbMV0sbj10WzJdLGE9dFszXTtyZXR1cm4gZSplK3IqcituKm4rYSphfX0se31dLDM5OTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRbMF09ZVswXS1yWzBdLHRbMV09ZVsxXS1yWzFdLHRbMl09ZVsyXS1yWzJdLHRbM109ZVszXS1yWzNdLHR9fSx7fV0sNDAwOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1lWzBdLGE9ZVsxXSxpPWVbMl0sbz1lWzNdO3JldHVybiB0WzBdPXJbMF0qbityWzRdKmErcls4XSppK3JbMTJdKm8sdFsxXT1yWzFdKm4rcls1XSphK3JbOV0qaStyWzEzXSpvLHRbMl09clsyXSpuK3JbNl0qYStyWzEwXSppK3JbMTRdKm8sdFszXT1yWzNdKm4rcls3XSphK3JbMTFdKmkrclsxNV0qbyx0fX0se31dLDQwMTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7dmFyIG49ZVswXSxhPWVbMV0saT1lWzJdLG89clswXSxzPXJbMV0sbD1yWzJdLGM9clszXSx1PWMqbitzKmktbCphLGg9YyphK2wqbi1vKmksZj1jKmkrbyphLXMqbixwPS1vKm4tcyphLWwqaTtyZXR1cm4gdFswXT11KmMrcCotbytoKi1sLWYqLXMsdFsxXT1oKmMrcCotcytmKi1vLXUqLWwsdFsyXT1mKmMrcCotbCt1Ki1zLWgqLW8sdFszXT1lWzNdLHR9fSx7fV0sNDAyOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGkpe3JldHVybiBuWzBdPWksblsxXT1yLG5bMl09ZSxuWzNdPXQsYVswXX07dmFyIG49bmV3IFVpbnQ4QXJyYXkoNCksYT1uZXcgRmxvYXQzMkFycmF5KG4uYnVmZmVyKX0se31dLDQwMzpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImdsc2wtdG9rZW5pemVyIiksYT10KCJhdG9iLWxpdGUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPUFycmF5LmlzQXJyYXkodCk/dDpuKHQpLHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIGk9ZVtyXTtpZigicHJlcHJvY2Vzc29yIj09PWkudHlwZSl7dmFyIG89aS5kYXRhLm1hdGNoKC9cI2RlZmluZVxzK1NIQURFUl9OQU1FKF9CNjQpP1xzKyguKykkLyk7aWYobyYmb1syXSl7dmFyIHM9b1sxXSxsPW9bMl07cmV0dXJuKHM/YShsKTpsKS50cmltKCl9fX19fSx7ImF0b2ItbGl0ZSI6NzQsImdsc2wtdG9rZW5pemVyIjo0MTB9XSw0MDQ6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGUscixrLFQ9MCxNPTAsQT1sLFM9W10sRT1bXSxMPTEsQz0wLFA9MCxPPSExLHo9ITEsST0iIixEPWksUj1uOyIzMDAgZXMiPT09KHQ9dHx8e30pLnZlcnNpb24mJihEPXMsUj1vKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIEU9W10sbnVsbCE9PXQ/ZnVuY3Rpb24odCl7dmFyIHI7VD0wLGs9KEkrPXQpLmxlbmd0aDtmb3IoO2U9SVtUXSxUPGs7KXtzd2l0Y2gocj1ULEEpe2Nhc2UgdTpUPVYoKTticmVhaztjYXNlIGg6Y2FzZSBmOlQ9aigpO2JyZWFrO2Nhc2UgcDpUPVUoKTticmVhaztjYXNlIGQ6VD1HKCk7YnJlYWs7Y2FzZSBfOlQ9SCgpO2JyZWFrO2Nhc2UgZzpUPVkoKTticmVhaztjYXNlIGM6VD1XKCk7YnJlYWs7Y2FzZSB4OlQ9TigpO2JyZWFrO2Nhc2UgbDpUPUIoKX1pZihyIT09VClzd2l0Y2goSVtyXSl7Y2FzZSJcbiI6Qz0wLCsrTDticmVhaztkZWZhdWx0OisrQ319cmV0dXJuIE0rPVQsST1JLnNsaWNlKFQpLEV9KHQucmVwbGFjZT90LnJlcGxhY2UoL1xyXG4vZywiXG4iKTp0KTpmdW5jdGlvbih0KXtTLmxlbmd0aCYmRihTLmpvaW4oIiIpKTtyZXR1cm4gQT1iLEYoIihlb2YpIiksRX0oKX07ZnVuY3Rpb24gRih0KXt0Lmxlbmd0aCYmRS5wdXNoKHt0eXBlOndbQV0sZGF0YTp0LHBvc2l0aW9uOlAsbGluZTpMLGNvbHVtbjpDfSl9ZnVuY3Rpb24gQigpe3JldHVybiBTPVMubGVuZ3RoP1tdOlMsIi8iPT09ciYmIioiPT09ZT8oUD1NK1QtMSxBPXUscj1lLFQrMSk6Ii8iPT09ciYmIi8iPT09ZT8oUD1NK1QtMSxBPWgscj1lLFQrMSk6IiMiPT09ZT8oQT1mLFA9TStULFQpOi9ccy8udGVzdChlKT8oQT14LFA9TStULFQpOihPPS9cZC8udGVzdChlKSx6PS9bXlx3X10vLnRlc3QoZSksUD1NK1QsQT1PP2Q6ej9wOmMsVCl9ZnVuY3Rpb24gTigpe3JldHVybi9bXlxzXS9nLnRlc3QoZSk/KEYoUy5qb2luKCIiKSksQT1sLFQpOihTLnB1c2goZSkscj1lLFQrMSl9ZnVuY3Rpb24gaigpe3JldHVybiJcciIhPT1lJiYiXG4iIT09ZXx8IlxcIj09PXI/KFMucHVzaChlKSxyPWUsVCsxKTooRihTLmpvaW4oIiIpKSxBPWwsVCl9ZnVuY3Rpb24gVigpe3JldHVybiIvIj09PWUmJiIqIj09PXI/KFMucHVzaChlKSxGKFMuam9pbigiIikpLEE9bCxUKzEpOihTLnB1c2goZSkscj1lLFQrMSl9ZnVuY3Rpb24gVSgpe2lmKCIuIj09PXImJi9cZC8udGVzdChlKSlyZXR1cm4gQT1nLFQ7aWYoIi8iPT09ciYmIioiPT09ZSlyZXR1cm4gQT11LFQ7aWYoIi8iPT09ciYmIi8iPT09ZSlyZXR1cm4gQT1oLFQ7aWYoIi4iPT09ZSYmUy5sZW5ndGgpe2Zvcig7cShTKTspO3JldHVybiBBPWcsVH1pZigiOyI9PT1lfHwiKSI9PT1lfHwiKCI9PT1lKXtpZihTLmxlbmd0aClmb3IoO3EoUyk7KTtyZXR1cm4gRihlKSxBPWwsVCsxfXZhciB0PTI9PT1TLmxlbmd0aCYmIj0iIT09ZTtpZigvW1x3X1xkXHNdLy50ZXN0KGUpfHx0KXtmb3IoO3EoUyk7KTtyZXR1cm4gQT1sLFR9cmV0dXJuIFMucHVzaChlKSxyPWUsVCsxfWZ1bmN0aW9uIHEodCl7Zm9yKHZhciBlLHIsbj0wOzspe2lmKGU9YS5pbmRleE9mKHQuc2xpY2UoMCx0Lmxlbmd0aCtuKS5qb2luKCIiKSkscj1hW2VdLC0xPT09ZSl7aWYobi0tK3QubGVuZ3RoPjApY29udGludWU7cj10LnNsaWNlKDAsMSkuam9pbigiIil9cmV0dXJuIEYociksUCs9ci5sZW5ndGgsKFM9Uy5zbGljZShyLmxlbmd0aCkpLmxlbmd0aH19ZnVuY3Rpb24gSCgpe3JldHVybi9bXmEtZkEtRjAtOV0vLnRlc3QoZSk/KEYoUy5qb2luKCIiKSksQT1sLFQpOihTLnB1c2goZSkscj1lLFQrMSl9ZnVuY3Rpb24gRygpe3JldHVybiIuIj09PWU/KFMucHVzaChlKSxBPWcscj1lLFQrMSk6L1tlRV0vLnRlc3QoZSk/KFMucHVzaChlKSxBPWcscj1lLFQrMSk6IngiPT09ZSYmMT09PVMubGVuZ3RoJiYiMCI9PT1TWzBdPyhBPV8sUy5wdXNoKGUpLHI9ZSxUKzEpOi9bXlxkXS8udGVzdChlKT8oRihTLmpvaW4oIiIpKSxBPWwsVCk6KFMucHVzaChlKSxyPWUsVCsxKX1mdW5jdGlvbiBZKCl7cmV0dXJuImYiPT09ZSYmKFMucHVzaChlKSxyPWUsVCs9MSksL1tlRV0vLnRlc3QoZSk/KFMucHVzaChlKSxyPWUsVCsxKToiLSI9PT1lJiYvW2VFXS8udGVzdChyKT8oUy5wdXNoKGUpLHI9ZSxUKzEpOi9bXlxkXS8udGVzdChlKT8oRihTLmpvaW4oIiIpKSxBPWwsVCk6KFMucHVzaChlKSxyPWUsVCsxKX1mdW5jdGlvbiBXKCl7aWYoL1teXGRcd19dLy50ZXN0KGUpKXt2YXIgdD1TLmpvaW4oIiIpO3JldHVybiBBPVIuaW5kZXhPZih0KT4tMT95OkQuaW5kZXhPZih0KT4tMT9tOnYsRihTLmpvaW4oIiIpKSxBPWwsVH1yZXR1cm4gUy5wdXNoKGUpLHI9ZSxUKzF9fTt2YXIgbj10KCIuL2xpYi9saXRlcmFscyIpLGE9dCgiLi9saWIvb3BlcmF0b3JzIiksaT10KCIuL2xpYi9idWlsdGlucyIpLG89dCgiLi9saWIvbGl0ZXJhbHMtMzAwZXMiKSxzPXQoIi4vbGliL2J1aWx0aW5zLTMwMGVzIiksbD05OTksYz05OTk5LHU9MCxoPTEsZj0yLHA9MyxkPTQsZz01LHY9NixtPTcseT04LHg9OSxiPTEwLF89MTEsdz1bImJsb2NrLWNvbW1lbnQiLCJsaW5lLWNvbW1lbnQiLCJwcmVwcm9jZXNzb3IiLCJvcGVyYXRvciIsImludGVnZXIiLCJmbG9hdCIsImlkZW50IiwiYnVpbHRpbiIsImtleXdvcmQiLCJ3aGl0ZXNwYWNlIiwiZW9mIiwiaW50ZWdlciJdfSx7Ii4vbGliL2J1aWx0aW5zIjo0MDYsIi4vbGliL2J1aWx0aW5zLTMwMGVzIjo0MDUsIi4vbGliL2xpdGVyYWxzIjo0MDgsIi4vbGliL2xpdGVyYWxzLTMwMGVzIjo0MDcsIi4vbGliL29wZXJhdG9ycyI6NDA5fV0sNDA1OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi9idWlsdGlucyIpO249bi5zbGljZSgpLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4hL14oZ2xcX3x0ZXh0dXJlKS8udGVzdCh0KX0pLGUuZXhwb3J0cz1uLmNvbmNhdChbImdsX1ZlcnRleElEIiwiZ2xfSW5zdGFuY2VJRCIsImdsX1Bvc2l0aW9uIiwiZ2xfUG9pbnRTaXplIiwiZ2xfRnJhZ0Nvb3JkIiwiZ2xfRnJvbnRGYWNpbmciLCJnbF9GcmFnRGVwdGgiLCJnbF9Qb2ludENvb3JkIiwiZ2xfTWF4VmVydGV4QXR0cmlicyIsImdsX01heFZlcnRleFVuaWZvcm1WZWN0b3JzIiwiZ2xfTWF4VmVydGV4T3V0cHV0VmVjdG9ycyIsImdsX01heEZyYWdtZW50SW5wdXRWZWN0b3JzIiwiZ2xfTWF4VmVydGV4VGV4dHVyZUltYWdlVW5pdHMiLCJnbF9NYXhDb21iaW5lZFRleHR1cmVJbWFnZVVuaXRzIiwiZ2xfTWF4VGV4dHVyZUltYWdlVW5pdHMiLCJnbF9NYXhGcmFnbWVudFVuaWZvcm1WZWN0b3JzIiwiZ2xfTWF4RHJhd0J1ZmZlcnMiLCJnbF9NaW5Qcm9ncmFtVGV4ZWxPZmZzZXQiLCJnbF9NYXhQcm9ncmFtVGV4ZWxPZmZzZXQiLCJnbF9EZXB0aFJhbmdlUGFyYW1ldGVycyIsImdsX0RlcHRoUmFuZ2UiLCJ0cnVuYyIsInJvdW5kIiwicm91bmRFdmVuIiwiaXNuYW4iLCJpc2luZiIsImZsb2F0Qml0c1RvSW50IiwiZmxvYXRCaXRzVG9VaW50IiwiaW50Qml0c1RvRmxvYXQiLCJ1aW50Qml0c1RvRmxvYXQiLCJwYWNrU25vcm0yeDE2IiwidW5wYWNrU25vcm0yeDE2IiwicGFja1Vub3JtMngxNiIsInVucGFja1Vub3JtMngxNiIsInBhY2tIYWxmMngxNiIsInVucGFja0hhbGYyeDE2Iiwib3V0ZXJQcm9kdWN0IiwidHJhbnNwb3NlIiwiZGV0ZXJtaW5hbnQiLCJpbnZlcnNlIiwidGV4dHVyZSIsInRleHR1cmVTaXplIiwidGV4dHVyZVByb2oiLCJ0ZXh0dXJlTG9kIiwidGV4dHVyZU9mZnNldCIsInRleGVsRmV0Y2giLCJ0ZXhlbEZldGNoT2Zmc2V0IiwidGV4dHVyZVByb2pPZmZzZXQiLCJ0ZXh0dXJlTG9kT2Zmc2V0IiwidGV4dHVyZVByb2pMb2QiLCJ0ZXh0dXJlUHJvakxvZE9mZnNldCIsInRleHR1cmVHcmFkIiwidGV4dHVyZUdyYWRPZmZzZXQiLCJ0ZXh0dXJlUHJvakdyYWQiLCJ0ZXh0dXJlUHJvakdyYWRPZmZzZXQiXSl9LHsiLi9idWlsdGlucyI6NDA2fV0sNDA2OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPVsiYWJzIiwiYWNvcyIsImFsbCIsImFueSIsImFzaW4iLCJhdGFuIiwiY2VpbCIsImNsYW1wIiwiY29zIiwiY3Jvc3MiLCJkRmR4IiwiZEZkeSIsImRlZ3JlZXMiLCJkaXN0YW5jZSIsImRvdCIsImVxdWFsIiwiZXhwIiwiZXhwMiIsImZhY2Vmb3J3YXJkIiwiZmxvb3IiLCJmcmFjdCIsImdsX0JhY2tDb2xvciIsImdsX0JhY2tMaWdodE1vZGVsUHJvZHVjdCIsImdsX0JhY2tMaWdodFByb2R1Y3QiLCJnbF9CYWNrTWF0ZXJpYWwiLCJnbF9CYWNrU2Vjb25kYXJ5Q29sb3IiLCJnbF9DbGlwUGxhbmUiLCJnbF9DbGlwVmVydGV4IiwiZ2xfQ29sb3IiLCJnbF9EZXB0aFJhbmdlIiwiZ2xfRGVwdGhSYW5nZVBhcmFtZXRlcnMiLCJnbF9FeWVQbGFuZVEiLCJnbF9FeWVQbGFuZVIiLCJnbF9FeWVQbGFuZVMiLCJnbF9FeWVQbGFuZVQiLCJnbF9Gb2ciLCJnbF9Gb2dDb29yZCIsImdsX0ZvZ0ZyYWdDb29yZCIsImdsX0ZvZ1BhcmFtZXRlcnMiLCJnbF9GcmFnQ29sb3IiLCJnbF9GcmFnQ29vcmQiLCJnbF9GcmFnRGF0YSIsImdsX0ZyYWdEZXB0aCIsImdsX0ZyYWdEZXB0aEVYVCIsImdsX0Zyb250Q29sb3IiLCJnbF9Gcm9udEZhY2luZyIsImdsX0Zyb250TGlnaHRNb2RlbFByb2R1Y3QiLCJnbF9Gcm9udExpZ2h0UHJvZHVjdCIsImdsX0Zyb250TWF0ZXJpYWwiLCJnbF9Gcm9udFNlY29uZGFyeUNvbG9yIiwiZ2xfTGlnaHRNb2RlbCIsImdsX0xpZ2h0TW9kZWxQYXJhbWV0ZXJzIiwiZ2xfTGlnaHRNb2RlbFByb2R1Y3RzIiwiZ2xfTGlnaHRQcm9kdWN0cyIsImdsX0xpZ2h0U291cmNlIiwiZ2xfTGlnaHRTb3VyY2VQYXJhbWV0ZXJzIiwiZ2xfTWF0ZXJpYWxQYXJhbWV0ZXJzIiwiZ2xfTWF4Q2xpcFBsYW5lcyIsImdsX01heENvbWJpbmVkVGV4dHVyZUltYWdlVW5pdHMiLCJnbF9NYXhEcmF3QnVmZmVycyIsImdsX01heEZyYWdtZW50VW5pZm9ybUNvbXBvbmVudHMiLCJnbF9NYXhMaWdodHMiLCJnbF9NYXhUZXh0dXJlQ29vcmRzIiwiZ2xfTWF4VGV4dHVyZUltYWdlVW5pdHMiLCJnbF9NYXhUZXh0dXJlVW5pdHMiLCJnbF9NYXhWYXJ5aW5nRmxvYXRzIiwiZ2xfTWF4VmVydGV4QXR0cmlicyIsImdsX01heFZlcnRleFRleHR1cmVJbWFnZVVuaXRzIiwiZ2xfTWF4VmVydGV4VW5pZm9ybUNvbXBvbmVudHMiLCJnbF9Nb2RlbFZpZXdNYXRyaXgiLCJnbF9Nb2RlbFZpZXdNYXRyaXhJbnZlcnNlIiwiZ2xfTW9kZWxWaWV3TWF0cml4SW52ZXJzZVRyYW5zcG9zZSIsImdsX01vZGVsVmlld01hdHJpeFRyYW5zcG9zZSIsImdsX01vZGVsVmlld1Byb2plY3Rpb25NYXRyaXgiLCJnbF9Nb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4SW52ZXJzZSIsImdsX01vZGVsVmlld1Byb2plY3Rpb25NYXRyaXhJbnZlcnNlVHJhbnNwb3NlIiwiZ2xfTW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeFRyYW5zcG9zZSIsImdsX011bHRpVGV4Q29vcmQwIiwiZ2xfTXVsdGlUZXhDb29yZDEiLCJnbF9NdWx0aVRleENvb3JkMiIsImdsX011bHRpVGV4Q29vcmQzIiwiZ2xfTXVsdGlUZXhDb29yZDQiLCJnbF9NdWx0aVRleENvb3JkNSIsImdsX011bHRpVGV4Q29vcmQ2IiwiZ2xfTXVsdGlUZXhDb29yZDciLCJnbF9Ob3JtYWwiLCJnbF9Ob3JtYWxNYXRyaXgiLCJnbF9Ob3JtYWxTY2FsZSIsImdsX09iamVjdFBsYW5lUSIsImdsX09iamVjdFBsYW5lUiIsImdsX09iamVjdFBsYW5lUyIsImdsX09iamVjdFBsYW5lVCIsImdsX1BvaW50IiwiZ2xfUG9pbnRDb29yZCIsImdsX1BvaW50UGFyYW1ldGVycyIsImdsX1BvaW50U2l6ZSIsImdsX1Bvc2l0aW9uIiwiZ2xfUHJvamVjdGlvbk1hdHJpeCIsImdsX1Byb2plY3Rpb25NYXRyaXhJbnZlcnNlIiwiZ2xfUHJvamVjdGlvbk1hdHJpeEludmVyc2VUcmFuc3Bvc2UiLCJnbF9Qcm9qZWN0aW9uTWF0cml4VHJhbnNwb3NlIiwiZ2xfU2Vjb25kYXJ5Q29sb3IiLCJnbF9UZXhDb29yZCIsImdsX1RleHR1cmVFbnZDb2xvciIsImdsX1RleHR1cmVNYXRyaXgiLCJnbF9UZXh0dXJlTWF0cml4SW52ZXJzZSIsImdsX1RleHR1cmVNYXRyaXhJbnZlcnNlVHJhbnNwb3NlIiwiZ2xfVGV4dHVyZU1hdHJpeFRyYW5zcG9zZSIsImdsX1ZlcnRleCIsImdyZWF0ZXJUaGFuIiwiZ3JlYXRlclRoYW5FcXVhbCIsImludmVyc2VzcXJ0IiwibGVuZ3RoIiwibGVzc1RoYW4iLCJsZXNzVGhhbkVxdWFsIiwibG9nIiwibG9nMiIsIm1hdHJpeENvbXBNdWx0IiwibWF4IiwibWluIiwibWl4IiwibW9kIiwibm9ybWFsaXplIiwibm90Iiwibm90RXF1YWwiLCJwb3ciLCJyYWRpYW5zIiwicmVmbGVjdCIsInJlZnJhY3QiLCJzaWduIiwic2luIiwic21vb3Roc3RlcCIsInNxcnQiLCJzdGVwIiwidGFuIiwidGV4dHVyZTJEIiwidGV4dHVyZTJETG9kIiwidGV4dHVyZTJEUHJvaiIsInRleHR1cmUyRFByb2pMb2QiLCJ0ZXh0dXJlQ3ViZSIsInRleHR1cmVDdWJlTG9kIiwidGV4dHVyZTJETG9kRVhUIiwidGV4dHVyZTJEUHJvakxvZEVYVCIsInRleHR1cmVDdWJlTG9kRVhUIiwidGV4dHVyZTJER3JhZEVYVCIsInRleHR1cmUyRFByb2pHcmFkRVhUIiwidGV4dHVyZUN1YmVHcmFkRVhUIl19LHt9XSw0MDc6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuL2xpdGVyYWxzIik7ZS5leHBvcnRzPW4uc2xpY2UoKS5jb25jYXQoWyJsYXlvdXQiLCJjZW50cm9pZCIsInNtb290aCIsImNhc2UiLCJtYXQyeDIiLCJtYXQyeDMiLCJtYXQyeDQiLCJtYXQzeDIiLCJtYXQzeDMiLCJtYXQzeDQiLCJtYXQ0eDIiLCJtYXQ0eDMiLCJtYXQ0eDQiLCJ1aW50IiwidXZlYzIiLCJ1dmVjMyIsInV2ZWM0Iiwic2FtcGxlckN1YmVTaGFkb3ciLCJzYW1wbGVyMkRBcnJheSIsInNhbXBsZXIyREFycmF5U2hhZG93IiwiaXNhbXBsZXIyRCIsImlzYW1wbGVyM0QiLCJpc2FtcGxlckN1YmUiLCJpc2FtcGxlcjJEQXJyYXkiLCJ1c2FtcGxlcjJEIiwidXNhbXBsZXIzRCIsInVzYW1wbGVyQ3ViZSIsInVzYW1wbGVyMkRBcnJheSIsImNvaGVyZW50IiwicmVzdHJpY3QiLCJyZWFkb25seSIsIndyaXRlb25seSIsInJlc291cmNlIiwiYXRvbWljX3VpbnQiLCJub3BlcnNwZWN0aXZlIiwicGF0Y2giLCJzYW1wbGUiLCJzdWJyb3V0aW5lIiwiY29tbW9uIiwicGFydGl0aW9uIiwiYWN0aXZlIiwiZmlsdGVyIiwiaW1hZ2UxRCIsImltYWdlMkQiLCJpbWFnZTNEIiwiaW1hZ2VDdWJlIiwiaWltYWdlMUQiLCJpaW1hZ2UyRCIsImlpbWFnZTNEIiwiaWltYWdlQ3ViZSIsInVpbWFnZTFEIiwidWltYWdlMkQiLCJ1aW1hZ2UzRCIsInVpbWFnZUN1YmUiLCJpbWFnZTFEQXJyYXkiLCJpbWFnZTJEQXJyYXkiLCJpaW1hZ2UxREFycmF5IiwiaWltYWdlMkRBcnJheSIsInVpbWFnZTFEQXJyYXkiLCJ1aW1hZ2UyREFycmF5IiwiaW1hZ2UxRFNoYWRvdyIsImltYWdlMkRTaGFkb3ciLCJpbWFnZTFEQXJyYXlTaGFkb3ciLCJpbWFnZTJEQXJyYXlTaGFkb3ciLCJpbWFnZUJ1ZmZlciIsImlpbWFnZUJ1ZmZlciIsInVpbWFnZUJ1ZmZlciIsInNhbXBsZXIxREFycmF5Iiwic2FtcGxlcjFEQXJyYXlTaGFkb3ciLCJpc2FtcGxlcjFEIiwiaXNhbXBsZXIxREFycmF5IiwidXNhbXBsZXIxRCIsInVzYW1wbGVyMURBcnJheSIsImlzYW1wbGVyMkRSZWN0IiwidXNhbXBsZXIyRFJlY3QiLCJzYW1wbGVyQnVmZmVyIiwiaXNhbXBsZXJCdWZmZXIiLCJ1c2FtcGxlckJ1ZmZlciIsInNhbXBsZXIyRE1TIiwiaXNhbXBsZXIyRE1TIiwidXNhbXBsZXIyRE1TIiwic2FtcGxlcjJETVNBcnJheSIsImlzYW1wbGVyMkRNU0FycmF5IiwidXNhbXBsZXIyRE1TQXJyYXkiXSl9LHsiLi9saXRlcmFscyI6NDA4fV0sNDA4OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPVsicHJlY2lzaW9uIiwiaGlnaHAiLCJtZWRpdW1wIiwibG93cCIsImF0dHJpYnV0ZSIsImNvbnN0IiwidW5pZm9ybSIsInZhcnlpbmciLCJicmVhayIsImNvbnRpbnVlIiwiZG8iLCJmb3IiLCJ3aGlsZSIsImlmIiwiZWxzZSIsImluIiwib3V0IiwiaW5vdXQiLCJmbG9hdCIsImludCIsInZvaWQiLCJib29sIiwidHJ1ZSIsImZhbHNlIiwiZGlzY2FyZCIsInJldHVybiIsIm1hdDIiLCJtYXQzIiwibWF0NCIsInZlYzIiLCJ2ZWMzIiwidmVjNCIsIml2ZWMyIiwiaXZlYzMiLCJpdmVjNCIsImJ2ZWMyIiwiYnZlYzMiLCJidmVjNCIsInNhbXBsZXIxRCIsInNhbXBsZXIyRCIsInNhbXBsZXIzRCIsInNhbXBsZXJDdWJlIiwic2FtcGxlcjFEU2hhZG93Iiwic2FtcGxlcjJEU2hhZG93Iiwic3RydWN0IiwiYXNtIiwiY2xhc3MiLCJ1bmlvbiIsImVudW0iLCJ0eXBlZGVmIiwidGVtcGxhdGUiLCJ0aGlzIiwicGFja2VkIiwiZ290byIsInN3aXRjaCIsImRlZmF1bHQiLCJpbmxpbmUiLCJub2lubGluZSIsInZvbGF0aWxlIiwicHVibGljIiwic3RhdGljIiwiZXh0ZXJuIiwiZXh0ZXJuYWwiLCJpbnRlcmZhY2UiLCJsb25nIiwic2hvcnQiLCJkb3VibGUiLCJoYWxmIiwiZml4ZWQiLCJ1bnNpZ25lZCIsImlucHV0Iiwib3V0cHV0IiwiaHZlYzIiLCJodmVjMyIsImh2ZWM0IiwiZHZlYzIiLCJkdmVjMyIsImR2ZWM0IiwiZnZlYzIiLCJmdmVjMyIsImZ2ZWM0Iiwic2FtcGxlcjJEUmVjdCIsInNhbXBsZXIzRFJlY3QiLCJzYW1wbGVyMkRSZWN0U2hhZG93Iiwic2l6ZW9mIiwiY2FzdCIsIm5hbWVzcGFjZSIsInVzaW5nIl19LHt9XSw0MDk6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9WyI8PD0iLCI+Pj0iLCIrKyIsIi0tIiwiPDwiLCI+PiIsIjw9IiwiPj0iLCI9PSIsIiE9IiwiJiYiLCJ8fCIsIis9IiwiLT0iLCIqPSIsIi89IiwiJT0iLCImPSIsIl5eIiwiXj0iLCJ8PSIsIigiLCIpIiwiWyIsIl0iLCIuIiwiISIsIn4iLCIqIiwiLyIsIiUiLCIrIiwiLSIsIjwiLCI+IiwiJiIsIl4iLCJ8IiwiPyIsIjoiLCI9IiwiLCIsIjsiLCJ7IiwifSJdfSx7fV0sNDEwOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi9pbmRleCIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPW4oZSksYT1bXTtyZXR1cm4gYT0oYT1hLmNvbmNhdChyKHQpKSkuY29uY2F0KHIobnVsbCkpfX0seyIuL2luZGV4Ijo0MDR9XSw0MTE6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7InN0cmluZyI9PXR5cGVvZiB0JiYodD1bdF0pO2Zvcih2YXIgZT1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxyPVtdLG49MDtuPHQubGVuZ3RoLTE7bisrKXIucHVzaCh0W25dLGVbbl18fCIiKTtyZXR1cm4gci5wdXNoKHRbbl0pLHIuam9pbigiIil9fSx7fV0sNDEyOltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixhPXQoImlzLWJyb3dzZXIiKTtuPSJmdW5jdGlvbiI9PXR5cGVvZiByLm1hdGNoTWVkaWE/IXIubWF0Y2hNZWRpYSgiKGhvdmVyOiBub25lKSIpLm1hdGNoZXM6YSxlLmV4cG9ydHM9bn0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0seyJpcy1icm93c2VyIjo0MTl9XSw0MTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiaXMtYnJvd3NlciIpO2UuZXhwb3J0cz1uJiZmdW5jdGlvbigpe3ZhciB0PSExO3RyeXt2YXIgZT1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXt0PSEwfX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLGUpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLGUpfWNhdGNoKGUpe3Q9ITF9cmV0dXJuIHR9KCl9LHsiaXMtYnJvd3NlciI6NDE5fV0sNDE0OltmdW5jdGlvbih0LGUscil7ci5yZWFkPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGksbyxzPTgqYS1uLTEsbD0oMTw8cyktMSxjPWw+PjEsdT0tNyxoPXI/YS0xOjAsZj1yPy0xOjEscD10W2UraF07Zm9yKGgrPWYsaT1wJigxPDwtdSktMSxwPj49LXUsdSs9czt1PjA7aT0yNTYqaSt0W2UraF0saCs9Zix1LT04KTtmb3Iobz1pJigxPDwtdSktMSxpPj49LXUsdSs9bjt1PjA7bz0yNTYqbyt0W2UraF0saCs9Zix1LT04KTtpZigwPT09aSlpPTEtYztlbHNle2lmKGk9PT1sKXJldHVybiBvP05hTjoxLzAqKHA/LTE6MSk7bys9TWF0aC5wb3coMixuKSxpLT1jfXJldHVybihwPy0xOjEpKm8qTWF0aC5wb3coMixpLW4pfSxyLndyaXRlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt2YXIgbyxzLGwsYz04KmktYS0xLHU9KDE8PGMpLTEsaD11Pj4xLGY9MjM9PT1hP01hdGgucG93KDIsLTI0KS1NYXRoLnBvdygyLC03Nyk6MCxwPW4/MDppLTEsZD1uPzE6LTEsZz1lPDB8fDA9PT1lJiYxL2U8MD8xOjA7Zm9yKGU9TWF0aC5hYnMoZSksaXNOYU4oZSl8fGU9PT0xLzA/KHM9aXNOYU4oZSk/MTowLG89dSk6KG89TWF0aC5mbG9vcihNYXRoLmxvZyhlKS9NYXRoLkxOMiksZSoobD1NYXRoLnBvdygyLC1vKSk8MSYmKG8tLSxsKj0yKSwoZSs9bytoPj0xP2YvbDpmKk1hdGgucG93KDIsMS1oKSkqbD49MiYmKG8rKyxsLz0yKSxvK2g+PXU/KHM9MCxvPXUpOm8raD49MT8ocz0oZSpsLTEpKk1hdGgucG93KDIsYSksbys9aCk6KHM9ZSpNYXRoLnBvdygyLGgtMSkqTWF0aC5wb3coMixhKSxvPTApKTthPj04O3RbcitwXT0yNTUmcyxwKz1kLHMvPTI1NixhLT04KTtmb3Iobz1vPDxhfHMsYys9YTtjPjA7dFtyK3BdPTI1NSZvLHArPWQsby89MjU2LGMtPTgpO3RbcitwLWRdfD0xMjgqZ319LHt9XSw0MTU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5sZW5ndGg7aWYoMD09PXIpdGhyb3cgbmV3IEVycm9yKCJNdXN0IGhhdmUgYXQgbGVhc3QgZCsxIHBvaW50cyIpO3ZhciBhPXRbMF0ubGVuZ3RoO2lmKHI8PWEpdGhyb3cgbmV3IEVycm9yKCJNdXN0IGlucHV0IGF0IGxlYXN0IGQrMSBwb2ludHMiKTt2YXIgbz10LnNsaWNlKDAsYSsxKSxzPW4uYXBwbHkodm9pZCAwLG8pO2lmKDA9PT1zKXRocm93IG5ldyBFcnJvcigiSW5wdXQgbm90IGluIGdlbmVyYWwgcG9zaXRpb24iKTtmb3IodmFyIGw9bmV3IEFycmF5KGErMSksdT0wO3U8PWE7Kyt1KWxbdV09dTtzPDAmJihsWzBdPTEsbFsxXT0wKTtmb3IodmFyIGg9bmV3IGkobCxuZXcgQXJyYXkoYSsxKSwhMSksZj1oLmFkamFjZW50LHA9bmV3IEFycmF5KGErMiksdT0wO3U8PWE7Kyt1KXtmb3IodmFyIGQ9bC5zbGljZSgpLGc9MDtnPD1hOysrZylnPT09dSYmKGRbZ109LTEpO3ZhciB2PWRbMF07ZFswXT1kWzFdLGRbMV09djt2YXIgbT1uZXcgaShkLG5ldyBBcnJheShhKzEpLCEwKTtmW3VdPW0scFt1XT1tfXBbYSsxXT1oO2Zvcih2YXIgdT0wO3U8PWE7Kyt1KWZvcih2YXIgZD1mW3VdLnZlcnRpY2VzLHk9Zlt1XS5hZGphY2VudCxnPTA7Zzw9YTsrK2cpe3ZhciB4PWRbZ107aWYoeDwwKXlbZ109aDtlbHNlIGZvcih2YXIgYj0wO2I8PWE7KytiKWZbYl0udmVydGljZXMuaW5kZXhPZih4KTwwJiYoeVtnXT1mW2JdKX1mb3IodmFyIF89bmV3IGMoYSxvLHApLHc9ISFlLHU9YSsxO3U8cjsrK3UpXy5pbnNlcnQodFt1XSx3KTtyZXR1cm4gXy5ib3VuZGFyeSgpfTt2YXIgbj10KCJyb2J1c3Qtb3JpZW50YXRpb24iKSxhPXQoInNpbXBsaWNpYWwtY29tcGxleCIpLmNvbXBhcmVDZWxscztmdW5jdGlvbiBpKHQsZSxyKXt0aGlzLnZlcnRpY2VzPXQsdGhpcy5hZGphY2VudD1lLHRoaXMuYm91bmRhcnk9cix0aGlzLmxhc3RWaXNpdGVkPS0xfWZ1bmN0aW9uIG8odCxlLHIpe3RoaXMudmVydGljZXM9dCx0aGlzLmNlbGw9ZSx0aGlzLmluZGV4PXJ9ZnVuY3Rpb24gcyh0LGUpe3JldHVybiBhKHQudmVydGljZXMsZS52ZXJ0aWNlcyl9aS5wcm90b3R5cGUuZmxpcD1mdW5jdGlvbigpe3ZhciB0PXRoaXMudmVydGljZXNbMF07dGhpcy52ZXJ0aWNlc1swXT10aGlzLnZlcnRpY2VzWzFdLHRoaXMudmVydGljZXNbMV09dDt2YXIgZT10aGlzLmFkamFjZW50WzBdO3RoaXMuYWRqYWNlbnRbMF09dGhpcy5hZGphY2VudFsxXSx0aGlzLmFkamFjZW50WzFdPWV9O3ZhciBsPVtdO2Z1bmN0aW9uIGModCxlLHIpe3RoaXMuZGltZW5zaW9uPXQsdGhpcy52ZXJ0aWNlcz1lLHRoaXMuc2ltcGxpY2VzPXIsdGhpcy5pbnRlcmlvcj1yLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4hdC5ib3VuZGFyeX0pLHRoaXMudHVwbGU9bmV3IEFycmF5KHQrMSk7Zm9yKHZhciBhPTA7YTw9dDsrK2EpdGhpcy50dXBsZVthXT10aGlzLnZlcnRpY2VzW2FdO3ZhciBpPWxbdF07aXx8KGk9bFt0XT1mdW5jdGlvbih0KXtmb3IodmFyIGU9WyJmdW5jdGlvbiBvcmllbnQoKXt2YXIgdHVwbGU9dGhpcy50dXBsZTtyZXR1cm4gdGVzdCgiXSxyPTA7cjw9dDsrK3Ipcj4wJiZlLnB1c2goIiwiKSxlLnB1c2goInR1cGxlWyIsciwiXSIpO2UucHVzaCgiKX1yZXR1cm4gb3JpZW50Iik7dmFyIGE9bmV3IEZ1bmN0aW9uKCJ0ZXN0IixlLmpvaW4oIiIpKSxpPW5bdCsxXTtyZXR1cm4gaXx8KGk9biksYShpKX0odCkpLHRoaXMub3JpZW50PWl9dmFyIHU9Yy5wcm90b3R5cGU7dS5oYW5kbGVCb3VuZGFyeURlZ2VuZXJhY3k9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmRpbWVuc2lvbixuPXRoaXMudmVydGljZXMubGVuZ3RoLTEsYT10aGlzLnR1cGxlLGk9dGhpcy52ZXJ0aWNlcyxvPVt0XTtmb3IodC5sYXN0VmlzaXRlZD0tbjtvLmxlbmd0aD4wOyl7KHQ9by5wb3AoKSkudmVydGljZXM7Zm9yKHZhciBzPXQuYWRqYWNlbnQsbD0wO2w8PXI7KytsKXt2YXIgYz1zW2xdO2lmKGMuYm91bmRhcnkmJiEoYy5sYXN0VmlzaXRlZDw9LW4pKXtmb3IodmFyIHU9Yy52ZXJ0aWNlcyxoPTA7aDw9cjsrK2gpe3ZhciBmPXVbaF07YVtoXT1mPDA/ZTppW2ZdfXZhciBwPXRoaXMub3JpZW50KCk7aWYocD4wKXJldHVybiBjO2MubGFzdFZpc2l0ZWQ9LW4sMD09PXAmJm8ucHVzaChjKX19fXJldHVybiBudWxsfSx1LndhbGs9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLnZlcnRpY2VzLmxlbmd0aC0xLG49dGhpcy5kaW1lbnNpb24sYT10aGlzLnZlcnRpY2VzLGk9dGhpcy50dXBsZSxvPWU/dGhpcy5pbnRlcmlvci5sZW5ndGgqTWF0aC5yYW5kb20oKXwwOnRoaXMuaW50ZXJpb3IubGVuZ3RoLTEscz10aGlzLmludGVyaW9yW29dO3Q6Zm9yKDshcy5ib3VuZGFyeTspe2Zvcih2YXIgbD1zLnZlcnRpY2VzLGM9cy5hZGphY2VudCx1PTA7dTw9bjsrK3UpaVt1XT1hW2xbdV1dO3MubGFzdFZpc2l0ZWQ9cjtmb3IodT0wO3U8PW47Kyt1KXt2YXIgaD1jW3VdO2lmKCEoaC5sYXN0VmlzaXRlZD49cikpe3ZhciBmPWlbdV07aVt1XT10O3ZhciBwPXRoaXMub3JpZW50KCk7aWYoaVt1XT1mLHA8MCl7cz1oO2NvbnRpbnVlIHR9aC5ib3VuZGFyeT9oLmxhc3RWaXNpdGVkPS1yOmgubGFzdFZpc2l0ZWQ9cn19cmV0dXJufXJldHVybiBzfSx1LmFkZFBlYWtzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy52ZXJ0aWNlcy5sZW5ndGgtMSxuPXRoaXMuZGltZW5zaW9uLGE9dGhpcy52ZXJ0aWNlcyxsPXRoaXMudHVwbGUsYz10aGlzLmludGVyaW9yLHU9dGhpcy5zaW1wbGljZXMsaD1bZV07ZS5sYXN0VmlzaXRlZD1yLGUudmVydGljZXNbZS52ZXJ0aWNlcy5pbmRleE9mKC0xKV09cixlLmJvdW5kYXJ5PSExLGMucHVzaChlKTtmb3IodmFyIGY9W107aC5sZW5ndGg+MDspe3ZhciBwPShlPWgucG9wKCkpLnZlcnRpY2VzLGQ9ZS5hZGphY2VudCxnPXAuaW5kZXhPZihyKTtpZighKGc8MCkpZm9yKHZhciB2PTA7djw9bjsrK3YpaWYodiE9PWcpe3ZhciBtPWRbdl07aWYobS5ib3VuZGFyeSYmIShtLmxhc3RWaXNpdGVkPj1yKSl7dmFyIHk9bS52ZXJ0aWNlcztpZihtLmxhc3RWaXNpdGVkIT09LXIpe2Zvcih2YXIgeD0wLGI9MDtiPD1uOysrYil5W2JdPDA/KHg9YixsW2JdPXQpOmxbYl09YVt5W2JdXTtpZih0aGlzLm9yaWVudCgpPjApe3lbeF09cixtLmJvdW5kYXJ5PSExLGMucHVzaChtKSxoLnB1c2gobSksbS5sYXN0VmlzaXRlZD1yO2NvbnRpbnVlfW0ubGFzdFZpc2l0ZWQ9LXJ9dmFyIF89bS5hZGphY2VudCx3PXAuc2xpY2UoKSxrPWQuc2xpY2UoKSxUPW5ldyBpKHcsaywhMCk7dS5wdXNoKFQpO3ZhciBNPV8uaW5kZXhPZihlKTtpZighKE08MCkpe19bTV09VCxrW2ddPW0sd1t2XT0tMSxrW3ZdPWUsZFt2XT1ULFQuZmxpcCgpO2ZvcihiPTA7Yjw9bjsrK2Ipe3ZhciBBPXdbYl07aWYoIShBPDB8fEE9PT1yKSl7Zm9yKHZhciBTPW5ldyBBcnJheShuLTEpLEU9MCxMPTA7TDw9bjsrK0wpe3ZhciBDPXdbTF07QzwwfHxMPT09Ynx8KFNbRSsrXT1DKX1mLnB1c2gobmV3IG8oUyxULGIpKX19fX19fWYuc29ydChzKTtmb3Iodj0wO3YrMTxmLmxlbmd0aDt2Kz0yKXt2YXIgUD1mW3ZdLE89Zlt2KzFdLHo9UC5pbmRleCxJPU8uaW5kZXg7ejwwfHxJPDB8fChQLmNlbGwuYWRqYWNlbnRbUC5pbmRleF09Ty5jZWxsLE8uY2VsbC5hZGphY2VudFtPLmluZGV4XT1QLmNlbGwpfX0sdS5pbnNlcnQ9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLnZlcnRpY2VzO3IucHVzaCh0KTt2YXIgbj10aGlzLndhbGsodCxlKTtpZihuKXtmb3IodmFyIGE9dGhpcy5kaW1lbnNpb24saT10aGlzLnR1cGxlLG89MDtvPD1hOysrbyl7dmFyIHM9bi52ZXJ0aWNlc1tvXTtpW29dPXM8MD90OnJbc119dmFyIGw9dGhpcy5vcmllbnQoaSk7bDwwfHwoMCE9PWx8fChuPXRoaXMuaGFuZGxlQm91bmRhcnlEZWdlbmVyYWN5KG4sdCkpKSYmdGhpcy5hZGRQZWFrcyh0LG4pfX0sdS5ib3VuZGFyeT1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLmRpbWVuc2lvbixlPVtdLHI9dGhpcy5zaW1wbGljZXMsbj1yLmxlbmd0aCxhPTA7YTxuOysrYSl7dmFyIGk9clthXTtpZihpLmJvdW5kYXJ5KXtmb3IodmFyIG89bmV3IEFycmF5KHQpLHM9aS52ZXJ0aWNlcyxsPTAsYz0wLHU9MDt1PD10OysrdSlzW3VdPj0wP29bbCsrXT1zW3VdOmM9MSZ1O2lmKGM9PT0oMSZ0KSl7dmFyIGg9b1swXTtvWzBdPW9bMV0sb1sxXT1ofWUucHVzaChvKX19cmV0dXJuIGV9fSx7InJvYnVzdC1vcmllbnRhdGlvbiI6NTA5LCJzaW1wbGljaWFsLWNvbXBsZXgiOjUxOX1dLDQxNjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJiaW5hcnktc2VhcmNoLWJvdW5kcyIpLGE9MCxpPTE7ZnVuY3Rpb24gbyh0LGUscixuLGEpe3RoaXMubWlkPXQsdGhpcy5sZWZ0PWUsdGhpcy5yaWdodD1yLHRoaXMubGVmdFBvaW50cz1uLHRoaXMucmlnaHRQb2ludHM9YSx0aGlzLmNvdW50PShlP2UuY291bnQ6MCkrKHI/ci5jb3VudDowKStuLmxlbmd0aH1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoIXR8fDA9PT10Lmxlbmd0aClyZXR1cm4gbmV3IHgobnVsbCk7cmV0dXJuIG5ldyB4KHkodCkpfTt2YXIgcz1vLnByb3RvdHlwZTtmdW5jdGlvbiBsKHQsZSl7dC5taWQ9ZS5taWQsdC5sZWZ0PWUubGVmdCx0LnJpZ2h0PWUucmlnaHQsdC5sZWZ0UG9pbnRzPWUubGVmdFBvaW50cyx0LnJpZ2h0UG9pbnRzPWUucmlnaHRQb2ludHMsdC5jb3VudD1lLmNvdW50fWZ1bmN0aW9uIGModCxlKXt2YXIgcj15KGUpO3QubWlkPXIubWlkLHQubGVmdD1yLmxlZnQsdC5yaWdodD1yLnJpZ2h0LHQubGVmdFBvaW50cz1yLmxlZnRQb2ludHMsdC5yaWdodFBvaW50cz1yLnJpZ2h0UG9pbnRzLHQuY291bnQ9ci5jb3VudH1mdW5jdGlvbiB1KHQsZSl7dmFyIHI9dC5pbnRlcnZhbHMoW10pO3IucHVzaChlKSxjKHQscil9ZnVuY3Rpb24gaCh0LGUpe3ZhciByPXQuaW50ZXJ2YWxzKFtdKSxuPXIuaW5kZXhPZihlKTtyZXR1cm4gbjwwP2E6KHIuc3BsaWNlKG4sMSksYyh0LHIpLGkpfWZ1bmN0aW9uIGYodCxlLHIpe2Zvcih2YXIgbj0wO248dC5sZW5ndGgmJnRbbl1bMF08PWU7KytuKXt2YXIgYT1yKHRbbl0pO2lmKGEpcmV0dXJuIGF9fWZ1bmN0aW9uIHAodCxlLHIpe2Zvcih2YXIgbj10Lmxlbmd0aC0xO24+PTAmJnRbbl1bMV0+PWU7LS1uKXt2YXIgYT1yKHRbbl0pO2lmKGEpcmV0dXJuIGF9fWZ1bmN0aW9uIGQodCxlKXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoOysrcil7dmFyIG49ZSh0W3JdKTtpZihuKXJldHVybiBufX1mdW5jdGlvbiBnKHQsZSl7cmV0dXJuIHQtZX1mdW5jdGlvbiB2KHQsZSl7dmFyIHI9dFswXS1lWzBdO3JldHVybiByfHx0WzFdLWVbMV19ZnVuY3Rpb24gbSh0LGUpe3ZhciByPXRbMV0tZVsxXTtyZXR1cm4gcnx8dFswXS1lWzBdfWZ1bmN0aW9uIHkodCl7aWYoMD09PXQubGVuZ3RoKXJldHVybiBudWxsO2Zvcih2YXIgZT1bXSxyPTA7cjx0Lmxlbmd0aDsrK3IpZS5wdXNoKHRbcl1bMF0sdFtyXVsxXSk7ZS5zb3J0KGcpO3ZhciBuPWVbZS5sZW5ndGg+PjFdLGE9W10saT1bXSxzPVtdO2ZvcihyPTA7cjx0Lmxlbmd0aDsrK3Ipe3ZhciBsPXRbcl07bFsxXTxuP2EucHVzaChsKTpuPGxbMF0/aS5wdXNoKGwpOnMucHVzaChsKX12YXIgYz1zLHU9cy5zbGljZSgpO3JldHVybiBjLnNvcnQodiksdS5zb3J0KG0pLG5ldyBvKG4seShhKSx5KGkpLGMsdSl9ZnVuY3Rpb24geCh0KXt0aGlzLnJvb3Q9dH1zLmludGVydmFscz1mdW5jdGlvbih0KXtyZXR1cm4gdC5wdXNoLmFwcGx5KHQsdGhpcy5sZWZ0UG9pbnRzKSx0aGlzLmxlZnQmJnRoaXMubGVmdC5pbnRlcnZhbHModCksdGhpcy5yaWdodCYmdGhpcy5yaWdodC5pbnRlcnZhbHModCksdH0scy5pbnNlcnQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jb3VudC10aGlzLmxlZnRQb2ludHMubGVuZ3RoO2lmKHRoaXMuY291bnQrPTEsdFsxXTx0aGlzLm1pZCl0aGlzLmxlZnQ/NCoodGhpcy5sZWZ0LmNvdW50KzEpPjMqKGUrMSk/dSh0aGlzLHQpOnRoaXMubGVmdC5pbnNlcnQodCk6dGhpcy5sZWZ0PXkoW3RdKTtlbHNlIGlmKHRbMF0+dGhpcy5taWQpdGhpcy5yaWdodD80Kih0aGlzLnJpZ2h0LmNvdW50KzEpPjMqKGUrMSk/dSh0aGlzLHQpOnRoaXMucmlnaHQuaW5zZXJ0KHQpOnRoaXMucmlnaHQ9eShbdF0pO2Vsc2V7dmFyIHI9bi5nZSh0aGlzLmxlZnRQb2ludHMsdCx2KSxhPW4uZ2UodGhpcy5yaWdodFBvaW50cyx0LG0pO3RoaXMubGVmdFBvaW50cy5zcGxpY2UociwwLHQpLHRoaXMucmlnaHRQb2ludHMuc3BsaWNlKGEsMCx0KX19LHMucmVtb3ZlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY291bnQtdGhpcy5sZWZ0UG9pbnRzO2lmKHRbMV08dGhpcy5taWQpcmV0dXJuIHRoaXMubGVmdD80Kih0aGlzLnJpZ2h0P3RoaXMucmlnaHQuY291bnQ6MCk+MyooZS0xKT9oKHRoaXMsdCk6Mj09PShjPXRoaXMubGVmdC5yZW1vdmUodCkpPyh0aGlzLmxlZnQ9bnVsbCx0aGlzLmNvdW50LT0xLGkpOihjPT09aSYmKHRoaXMuY291bnQtPTEpLGMpOmE7aWYodFswXT50aGlzLm1pZClyZXR1cm4gdGhpcy5yaWdodD80Kih0aGlzLmxlZnQ/dGhpcy5sZWZ0LmNvdW50OjApPjMqKGUtMSk/aCh0aGlzLHQpOjI9PT0oYz10aGlzLnJpZ2h0LnJlbW92ZSh0KSk/KHRoaXMucmlnaHQ9bnVsbCx0aGlzLmNvdW50LT0xLGkpOihjPT09aSYmKHRoaXMuY291bnQtPTEpLGMpOmE7aWYoMT09PXRoaXMuY291bnQpcmV0dXJuIHRoaXMubGVmdFBvaW50c1swXT09PXQ/MjphO2lmKDE9PT10aGlzLmxlZnRQb2ludHMubGVuZ3RoJiZ0aGlzLmxlZnRQb2ludHNbMF09PT10KXtpZih0aGlzLmxlZnQmJnRoaXMucmlnaHQpe2Zvcih2YXIgcj10aGlzLG89dGhpcy5sZWZ0O28ucmlnaHQ7KXI9byxvPW8ucmlnaHQ7aWYocj09PXRoaXMpby5yaWdodD10aGlzLnJpZ2h0O2Vsc2V7dmFyIHM9dGhpcy5sZWZ0LGM9dGhpcy5yaWdodDtyLmNvdW50LT1vLmNvdW50LHIucmlnaHQ9by5sZWZ0LG8ubGVmdD1zLG8ucmlnaHQ9Y31sKHRoaXMsbyksdGhpcy5jb3VudD0odGhpcy5sZWZ0P3RoaXMubGVmdC5jb3VudDowKSsodGhpcy5yaWdodD90aGlzLnJpZ2h0LmNvdW50OjApK3RoaXMubGVmdFBvaW50cy5sZW5ndGh9ZWxzZSB0aGlzLmxlZnQ/bCh0aGlzLHRoaXMubGVmdCk6bCh0aGlzLHRoaXMucmlnaHQpO3JldHVybiBpfWZvcihzPW4uZ2UodGhpcy5sZWZ0UG9pbnRzLHQsdik7czx0aGlzLmxlZnRQb2ludHMubGVuZ3RoJiZ0aGlzLmxlZnRQb2ludHNbc11bMF09PT10WzBdOysrcylpZih0aGlzLmxlZnRQb2ludHNbc109PT10KXt0aGlzLmNvdW50LT0xLHRoaXMubGVmdFBvaW50cy5zcGxpY2UocywxKTtmb3IoYz1uLmdlKHRoaXMucmlnaHRQb2ludHMsdCxtKTtjPHRoaXMucmlnaHRQb2ludHMubGVuZ3RoJiZ0aGlzLnJpZ2h0UG9pbnRzW2NdWzFdPT09dFsxXTsrK2MpaWYodGhpcy5yaWdodFBvaW50c1tjXT09PXQpcmV0dXJuIHRoaXMucmlnaHRQb2ludHMuc3BsaWNlKGMsMSksaX1yZXR1cm4gYX0scy5xdWVyeVBvaW50PWZ1bmN0aW9uKHQsZSl7aWYodDx0aGlzLm1pZCl7aWYodGhpcy5sZWZ0KWlmKHI9dGhpcy5sZWZ0LnF1ZXJ5UG9pbnQodCxlKSlyZXR1cm4gcjtyZXR1cm4gZih0aGlzLmxlZnRQb2ludHMsdCxlKX1pZih0PnRoaXMubWlkKXt2YXIgcjtpZih0aGlzLnJpZ2h0KWlmKHI9dGhpcy5yaWdodC5xdWVyeVBvaW50KHQsZSkpcmV0dXJuIHI7cmV0dXJuIHAodGhpcy5yaWdodFBvaW50cyx0LGUpfXJldHVybiBkKHRoaXMubGVmdFBvaW50cyxlKX0scy5xdWVyeUludGVydmFsPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbjtpZih0PHRoaXMubWlkJiZ0aGlzLmxlZnQmJihuPXRoaXMubGVmdC5xdWVyeUludGVydmFsKHQsZSxyKSkpcmV0dXJuIG47aWYoZT50aGlzLm1pZCYmdGhpcy5yaWdodCYmKG49dGhpcy5yaWdodC5xdWVyeUludGVydmFsKHQsZSxyKSkpcmV0dXJuIG47cmV0dXJuIGU8dGhpcy5taWQ/Zih0aGlzLmxlZnRQb2ludHMsZSxyKTp0PnRoaXMubWlkP3AodGhpcy5yaWdodFBvaW50cyx0LHIpOmQodGhpcy5sZWZ0UG9pbnRzLHIpfTt2YXIgYj14LnByb3RvdHlwZTtiLmluc2VydD1mdW5jdGlvbih0KXt0aGlzLnJvb3Q/dGhpcy5yb290Lmluc2VydCh0KTp0aGlzLnJvb3Q9bmV3IG8odFswXSxudWxsLG51bGwsW3RdLFt0XSl9LGIucmVtb3ZlPWZ1bmN0aW9uKHQpe2lmKHRoaXMucm9vdCl7dmFyIGU9dGhpcy5yb290LnJlbW92ZSh0KTtyZXR1cm4gMj09PWUmJih0aGlzLnJvb3Q9bnVsbCksZSE9PWF9cmV0dXJuITF9LGIucXVlcnlQb2ludD1mdW5jdGlvbih0LGUpe2lmKHRoaXMucm9vdClyZXR1cm4gdGhpcy5yb290LnF1ZXJ5UG9pbnQodCxlKX0sYi5xdWVyeUludGVydmFsPWZ1bmN0aW9uKHQsZSxyKXtpZih0PD1lJiZ0aGlzLnJvb3QpcmV0dXJuIHRoaXMucm9vdC5xdWVyeUludGVydmFsKHQsZSxyKX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGIsImNvdW50Iix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucm9vdD90aGlzLnJvb3QuY291bnQ6MH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYiwiaW50ZXJ2YWxzIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucm9vdD90aGlzLnJvb3QuaW50ZXJ2YWxzKFtdKTpbXX19KX0seyJiaW5hcnktc2VhcmNoLWJvdW5kcyI6OTN9XSw0MTc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7ZT1lfHxuZXcgQXJyYXkodC5sZW5ndGgpO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7KytyKWVbdFtyXV09cjtyZXR1cm4gZX19LHt9XSw0MTg6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodCkscj0wO3I8dDsrK3IpZVtyXT1yO3JldHVybiBlfX0se31dLDQxOTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz0hMH0se31dLDQyMDpbZnVuY3Rpb24odCxlLHIpe2Z1bmN0aW9uIG4odCl7cmV0dXJuISF0LmNvbnN0cnVjdG9yJiYiZnVuY3Rpb24iPT10eXBlb2YgdC5jb25zdHJ1Y3Rvci5pc0J1ZmZlciYmdC5jb25zdHJ1Y3Rvci5pc0J1ZmZlcih0KX1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJihuKHQpfHxmdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdC5yZWFkRmxvYXRMRSYmImZ1bmN0aW9uIj09dHlwZW9mIHQuc2xpY2UmJm4odC5zbGljZSgwLDApKX0odCl8fCEhdC5faXNCdWZmZXIpfX0se31dLDQyMTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9InVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3ImJigvTVNJRS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KXx8L1RyaWRlbnRcLy8udGVzdChuYXZpZ2F0b3IuYXBwVmVyc2lvbikpfSx7fV0sNDIyOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1pLGUuZXhwb3J0cy5pc01vYmlsZT1pLGUuZXhwb3J0cy5kZWZhdWx0PWk7dmFyIG49LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcmlzfGtpbmRsZXxsZ2UgfG1hZW1vfG1pZHB8bW1wfG1vYmlsZS4rZmlyZWZveHxuZXRmcm9udHxvcGVyYSBtKG9ifGluKWl8cGFsbSggb3MpP3xwaG9uZXxwKGl4aXxyZSlcL3xwbHVja2VyfHBvY2tldHxwc3B8c2VyaWVzWzQ2XTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWluby9pLGE9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcmlzfGtpbmRsZXxsZ2UgfG1hZW1vfG1pZHB8bW1wfG1vYmlsZS4rZmlyZWZveHxuZXRmcm9udHxvcGVyYSBtKG9ifGluKWl8cGFsbSggb3MpP3xwaG9uZXxwKGl4aXxyZSlcL3xwbHVja2VyfHBvY2tldHxwc3B8c2VyaWVzWzQ2XTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyAoY2V8cGhvbmUpfHhkYXx4aWlub3xhbmRyb2lkfGlwYWR8cGxheWJvb2t8c2lsay9pO2Z1bmN0aW9uIGkodCl7dHx8KHQ9e30pO3ZhciBlPXQudWE7cmV0dXJuIGV8fCJ1bmRlZmluZWQiPT10eXBlb2YgbmF2aWdhdG9yfHwoZT1uYXZpZ2F0b3IudXNlckFnZW50KSxlJiZlLmhlYWRlcnMmJiJzdHJpbmciPT10eXBlb2YgZS5oZWFkZXJzWyJ1c2VyLWFnZW50Il0mJihlPWUuaGVhZGVyc1sidXNlci1hZ2VudCJdKSwic3RyaW5nIj09dHlwZW9mIGUmJih0LnRhYmxldD9hLnRlc3QoZSk6bi50ZXN0KGUpKX19LHt9XSw0MjM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT09dCYmKCJvYmplY3QiPT09ZXx8ImZ1bmN0aW9uIj09PWUpfX0se31dLDQyNDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PW4uY2FsbCh0KSYmKG51bGw9PT0oZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpfHxlPT09T2JqZWN0LmdldFByb3RvdHlwZU9mKHt9KSl9fSx7fV0sNDI1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtmb3IodmFyIGUscj10Lmxlbmd0aCxuPTA7bjxyO24rKylpZigoKGU9dC5jaGFyQ29kZUF0KG4pKTw5fHxlPjEzKSYmMzIhPT1lJiYxMzMhPT1lJiYxNjAhPT1lJiY1NzYwIT09ZSYmNjE1OCE9PWUmJihlPDgxOTJ8fGU+ODIwNSkmJjgyMzIhPT1lJiY4MjMzIT09ZSYmODIzOSE9PWUmJjgyODchPT1lJiY4Mjg4IT09ZSYmMTIyODghPT1lJiY2NTI3OSE9PWUpcmV0dXJuITE7cmV0dXJuITB9fSx7fV0sNDI2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQmJih0PXQudHJpbSgpLCEhKC9eW216bGh2Y3NxdGFdXHMqWy0rLjAtOV1bXm1saHZ6Y3NxdGFdKy9pLnRlc3QodCkmJi9bXGR6XSQvaS50ZXN0KHQpJiZ0Lmxlbmd0aD40KSl9fSx7fV0sNDI3OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdCooMS1yKStlKnJ9fSx7fV0sNDI4OltmdW5jdGlvbih0LGUscil7dmFyIG4sYTtuPXRoaXMsYT1mdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgdCxlLHI7ZnVuY3Rpb24gbihuLGEpe2lmKHQpaWYoZSl7dmFyIGk9InZhciBzaGFyZWRDaHVuayA9IHt9OyAoIit0KyIpKHNoYXJlZENodW5rKTsgKCIrZSsiKShzaGFyZWRDaHVuayk7IixvPXt9O3QobyksKHI9YShvKSkud29ya2VyVXJsPXdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtpXSx7dHlwZToidGV4dC9qYXZhc2NyaXB0In0pKX1lbHNlIGU9YTtlbHNlIHQ9YX1yZXR1cm4gbigwLGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUodCxlKXtyZXR1cm4gdChlPXtleHBvcnRzOnt9fSxlLmV4cG9ydHMpLGUuZXhwb3J0c312YXIgcj1uO2Z1bmN0aW9uIG4odCxlLHIsbil7dGhpcy5jeD0zKnQsdGhpcy5ieD0zKihyLXQpLXRoaXMuY3gsdGhpcy5heD0xLXRoaXMuY3gtdGhpcy5ieCx0aGlzLmN5PTMqZSx0aGlzLmJ5PTMqKG4tZSktdGhpcy5jeSx0aGlzLmF5PTEtdGhpcy5jeS10aGlzLmJ5LHRoaXMucDF4PXQsdGhpcy5wMXk9bix0aGlzLnAyeD1yLHRoaXMucDJ5PW59bi5wcm90b3R5cGUuc2FtcGxlQ3VydmVYPWZ1bmN0aW9uKHQpe3JldHVybigodGhpcy5heCp0K3RoaXMuYngpKnQrdGhpcy5jeCkqdH0sbi5wcm90b3R5cGUuc2FtcGxlQ3VydmVZPWZ1bmN0aW9uKHQpe3JldHVybigodGhpcy5heSp0K3RoaXMuYnkpKnQrdGhpcy5jeSkqdH0sbi5wcm90b3R5cGUuc2FtcGxlQ3VydmVEZXJpdmF0aXZlWD1mdW5jdGlvbih0KXtyZXR1cm4oMyp0aGlzLmF4KnQrMip0aGlzLmJ4KSp0K3RoaXMuY3h9LG4ucHJvdG90eXBlLnNvbHZlQ3VydmVYPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhLGksbztmb3Iodm9pZCAwPT09ZSYmKGU9MWUtNiksYT10LG89MDtvPDg7bysrKXtpZihpPXRoaXMuc2FtcGxlQ3VydmVYKGEpLXQsTWF0aC5hYnMoaSk8ZSlyZXR1cm4gYTt2YXIgcz10aGlzLnNhbXBsZUN1cnZlRGVyaXZhdGl2ZVgoYSk7aWYoTWF0aC5hYnMocyk8MWUtNilicmVhazthLT1pL3N9aWYoKGE9dCk8KHI9MCkpcmV0dXJuIHI7aWYoYT4obj0xKSlyZXR1cm4gbjtmb3IoO3I8bjspe2lmKGk9dGhpcy5zYW1wbGVDdXJ2ZVgoYSksTWF0aC5hYnMoaS10KTxlKXJldHVybiBhO3Q+aT9yPWE6bj1hLGE9LjUqKG4tcikrcn1yZXR1cm4gYX0sbi5wcm90b3R5cGUuc29sdmU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5zYW1wbGVDdXJ2ZVkodGhpcy5zb2x2ZUN1cnZlWCh0LGUpKX07dmFyIGE9aTtmdW5jdGlvbiBpKHQsZSl7dGhpcy54PXQsdGhpcy55PWV9ZnVuY3Rpb24gbyh0LGUpe2lmKEFycmF5LmlzQXJyYXkodCkpe2lmKCFBcnJheS5pc0FycmF5KGUpfHx0Lmxlbmd0aCE9PWUubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKWlmKCFvKHRbcl0sZVtyXSkpcmV0dXJuITE7cmV0dXJuITB9aWYoIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCYmbnVsbCE9PWUpe2lmKCJvYmplY3QiIT10eXBlb2YgZSlyZXR1cm4hMTtpZihPYmplY3Qua2V5cyh0KS5sZW5ndGghPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciBuIGluIHQpaWYoIW8odFtuXSxlW25dKSlyZXR1cm4hMTtyZXR1cm4hMH1yZXR1cm4gdD09PWV9ZnVuY3Rpb24gcyh0LGUsbixhKXt2YXIgaT1uZXcgcih0LGUsbixhKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGkuc29sdmUodCl9fWkucHJvdG90eXBlPXtjbG9uZTpmdW5jdGlvbigpe3JldHVybiBuZXcgaSh0aGlzLngsdGhpcy55KX0sYWRkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuX2FkZCh0KX0sc3ViOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuX3N1Yih0KX0sbXVsdEJ5UG9pbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fbXVsdEJ5UG9pbnQodCl9LGRpdkJ5UG9pbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fZGl2QnlQb2ludCh0KX0sbXVsdDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9tdWx0KHQpfSxkaXY6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fZGl2KHQpfSxyb3RhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fcm90YXRlKHQpfSxyb3RhdGVBcm91bmQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9yb3RhdGVBcm91bmQodCxlKX0sbWF0TXVsdDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9tYXRNdWx0KHQpfSx1bml0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fdW5pdCgpfSxwZXJwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fcGVycCgpfSxyb3VuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuX3JvdW5kKCl9LG1hZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLnNxcnQodGhpcy54KnRoaXMueCt0aGlzLnkqdGhpcy55KX0sZXF1YWxzOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLng9PT10LngmJnRoaXMueT09PXQueX0sZGlzdDpmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMuZGlzdFNxcih0KSl9LGRpc3RTcXI6ZnVuY3Rpb24odCl7dmFyIGU9dC54LXRoaXMueCxyPXQueS10aGlzLnk7cmV0dXJuIGUqZStyKnJ9LGFuZ2xlOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguYXRhbjIodGhpcy55LHRoaXMueCl9LGFuZ2xlVG86ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGguYXRhbjIodGhpcy55LXQueSx0aGlzLngtdC54KX0sYW5nbGVXaXRoOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmFuZ2xlV2l0aFNlcCh0LngsdC55KX0sYW5nbGVXaXRoU2VwOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGguYXRhbjIodGhpcy54KmUtdGhpcy55KnQsdGhpcy54KnQrdGhpcy55KmUpfSxfbWF0TXVsdDpmdW5jdGlvbih0KXt2YXIgZT10WzBdKnRoaXMueCt0WzFdKnRoaXMueSxyPXRbMl0qdGhpcy54K3RbM10qdGhpcy55O3JldHVybiB0aGlzLng9ZSx0aGlzLnk9cix0aGlzfSxfYWRkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngrPXQueCx0aGlzLnkrPXQueSx0aGlzfSxfc3ViOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngtPXQueCx0aGlzLnktPXQueSx0aGlzfSxfbXVsdDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Kj10LHRoaXMueSo9dCx0aGlzfSxfZGl2OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngvPXQsdGhpcy55Lz10LHRoaXN9LF9tdWx0QnlQb2ludDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Kj10LngsdGhpcy55Kj10LnksdGhpc30sX2RpdkJ5UG9pbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueC89dC54LHRoaXMueS89dC55LHRoaXN9LF91bml0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Rpdih0aGlzLm1hZygpKSx0aGlzfSxfcGVycDpmdW5jdGlvbigpe3ZhciB0PXRoaXMueTtyZXR1cm4gdGhpcy55PXRoaXMueCx0aGlzLng9LXQsdGhpc30sX3JvdGF0ZTpmdW5jdGlvbih0KXt2YXIgZT1NYXRoLmNvcyh0KSxyPU1hdGguc2luKHQpLG49ZSp0aGlzLngtcip0aGlzLnksYT1yKnRoaXMueCtlKnRoaXMueTtyZXR1cm4gdGhpcy54PW4sdGhpcy55PWEsdGhpc30sX3JvdGF0ZUFyb3VuZDpmdW5jdGlvbih0LGUpe3ZhciByPU1hdGguY29zKHQpLG49TWF0aC5zaW4odCksYT1lLngrcioodGhpcy54LWUueCktbioodGhpcy55LWUueSksaT1lLnkrbioodGhpcy54LWUueCkrcioodGhpcy55LWUueSk7cmV0dXJuIHRoaXMueD1hLHRoaXMueT1pLHRoaXN9LF9yb3VuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpLHRoaXMueT1NYXRoLnJvdW5kKHRoaXMueSksdGhpc319LGkuY29udmVydD1mdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIGk/dDpBcnJheS5pc0FycmF5KHQpP25ldyBpKHRbMF0sdFsxXSk6dH07dmFyIGw9cyguMjUsLjEsLjI1LDEpO2Z1bmN0aW9uIGModCxlLHIpe3JldHVybiBNYXRoLm1pbihyLE1hdGgubWF4KGUsdCkpfWZ1bmN0aW9uIHUodCxlLHIpe3ZhciBuPXItZSxhPSgodC1lKSVuK24pJW4rZTtyZXR1cm4gYT09PWU/cjphfWZ1bmN0aW9uIGgodCl7Zm9yKHZhciBlPVtdLHI9YXJndW1lbnRzLmxlbmd0aC0xO3ItLSA+MDspZVtyXT1hcmd1bWVudHNbcisxXTtmb3IodmFyIG49MCxhPWU7bjxhLmxlbmd0aDtuKz0xKXt2YXIgaT1hW25dO2Zvcih2YXIgbyBpbiBpKXRbb109aVtvXX1yZXR1cm4gdH12YXIgZj0xO2Z1bmN0aW9uIHAoKXtyZXR1cm4gZisrfWZ1bmN0aW9uIGQoKXtyZXR1cm4gZnVuY3Rpb24gdChlKXtyZXR1cm4gZT8oZV4xNipNYXRoLnJhbmRvbSgpPj5lLzQpLnRvU3RyaW5nKDE2KTooWzFlN10rLVsxZTNdKy00ZTMrLThlMystMWUxMSkucmVwbGFjZSgvWzAxOF0vZyx0KX0oKX1mdW5jdGlvbiBnKHQpe3JldHVybiEhdCYmL15bMC05YS1mXXs4fS1bMC05YS1mXXs0fS1bNF1bMC05YS1mXXszfS1bODlhYl1bMC05YS1mXXszfS1bMC05YS1mXXsxMn0kL2kudGVzdCh0KX1mdW5jdGlvbiB2KHQsZSl7dC5mb3JFYWNoKGZ1bmN0aW9uKHQpe2VbdF0mJihlW3RdPWVbdF0uYmluZChlKSl9KX1mdW5jdGlvbiBtKHQsZSl7cmV0dXJuLTEhPT10LmluZGV4T2YoZSx0Lmxlbmd0aC1lLmxlbmd0aCl9ZnVuY3Rpb24geSh0LGUscil7dmFyIG49e307Zm9yKHZhciBhIGluIHQpblthXT1lLmNhbGwocnx8dGhpcyx0W2FdLGEsdCk7cmV0dXJuIG59ZnVuY3Rpb24geCh0LGUscil7dmFyIG49e307Zm9yKHZhciBhIGluIHQpZS5jYWxsKHJ8fHRoaXMsdFthXSxhLHQpJiYoblthXT10W2FdKTtyZXR1cm4gbn1mdW5jdGlvbiBiKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP3QubWFwKGIpOiJvYmplY3QiPT10eXBlb2YgdCYmdD95KHQsYik6dH12YXIgXz17fTtmdW5jdGlvbiB3KHQpe19bdF18fCgidW5kZWZpbmVkIiE9dHlwZW9mIGNvbnNvbGUmJmNvbnNvbGUud2Fybih0KSxfW3RdPSEwKX1mdW5jdGlvbiBrKHQsZSxyKXtyZXR1cm4oci55LXQueSkqKGUueC10LngpPihlLnktdC55KSooci54LXQueCl9ZnVuY3Rpb24gVCh0KXtmb3IodmFyIGU9MCxyPTAsbj10Lmxlbmd0aCxhPW4tMSxpPXZvaWQgMCxvPXZvaWQgMDtyPG47YT1yKyspaT10W3JdLGUrPSgobz10W2FdKS54LWkueCkqKGkueStvLnkpO3JldHVybiBlfWZ1bmN0aW9uIE0odCl7dmFyIGU9e307aWYodC5yZXBsYWNlKC8oPzpefCg/OlxzKlwsXHMqKSkoW15ceDAwLVx4MjBcKFwpPD5AXCw7XDpcXCJcL1xbXF1cP1w9XHtcfVx4N0ZdKykoPzpcPSg/OihbXlx4MDAtXHgyMFwoXCk8PkBcLDtcOlxcIlwvXFtcXVw/XD1ce1x9XHg3Rl0rKXwoPzpcIigoPzpbXiJcXF18XFwuKSopXCIpKSk/L2csZnVuY3Rpb24odCxyLG4sYSl7dmFyIGk9bnx8YTtyZXR1cm4gZVtyXT0haXx8aS50b0xvd2VyQ2FzZSgpLCIifSksZVsibWF4LWFnZSJdKXt2YXIgcj1wYXJzZUludChlWyJtYXgtYWdlIl0sMTApO2lzTmFOKHIpP2RlbGV0ZSBlWyJtYXgtYWdlIl06ZVsibWF4LWFnZSJdPXJ9cmV0dXJuIGV9ZnVuY3Rpb24gQSh0KXt0cnl7dmFyIGU9c2VsZlt0XTtyZXR1cm4gZS5zZXRJdGVtKCJfbWFwYm94X3Rlc3RfIiwxKSxlLnJlbW92ZUl0ZW0oIl9tYXBib3hfdGVzdF8iKSwhMH1jYXRjaCh0KXtyZXR1cm4hMX19dmFyIFMsRSxMLEMsUD1zZWxmLnBlcmZvcm1hbmNlJiZzZWxmLnBlcmZvcm1hbmNlLm5vdz9zZWxmLnBlcmZvcm1hbmNlLm5vdy5iaW5kKHNlbGYucGVyZm9ybWFuY2UpOkRhdGUubm93LmJpbmQoRGF0ZSksTz1zZWxmLnJlcXVlc3RBbmltYXRpb25GcmFtZXx8c2VsZi5tb3pSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHNlbGYud2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxzZWxmLm1zUmVxdWVzdEFuaW1hdGlvbkZyYW1lLHo9c2VsZi5jYW5jZWxBbmltYXRpb25GcmFtZXx8c2VsZi5tb3pDYW5jZWxBbmltYXRpb25GcmFtZXx8c2VsZi53ZWJraXRDYW5jZWxBbmltYXRpb25GcmFtZXx8c2VsZi5tc0NhbmNlbEFuaW1hdGlvbkZyYW1lLEk9e25vdzpQLGZyYW1lOmZ1bmN0aW9uKHQpe3ZhciBlPU8odCk7cmV0dXJue2NhbmNlbDpmdW5jdGlvbigpe3JldHVybiB6KGUpfX19LGdldEltYWdlRGF0YTpmdW5jdGlvbih0KXt2YXIgZT1zZWxmLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHI9ZS5nZXRDb250ZXh0KCIyZCIpO2lmKCFyKXRocm93IG5ldyBFcnJvcigiZmFpbGVkIHRvIGNyZWF0ZSBjYW52YXMgMmQgY29udGV4dCIpO3JldHVybiBlLndpZHRoPXQud2lkdGgsZS5oZWlnaHQ9dC5oZWlnaHQsci5kcmF3SW1hZ2UodCwwLDAsdC53aWR0aCx0LmhlaWdodCksci5nZXRJbWFnZURhdGEoMCwwLHQud2lkdGgsdC5oZWlnaHQpfSxyZXNvbHZlVVJMOmZ1bmN0aW9uKHQpe3JldHVybiBTfHwoUz1zZWxmLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSksUy5ocmVmPXQsUy5ocmVmfSxoYXJkd2FyZUNvbmN1cnJlbmN5OnNlbGYubmF2aWdhdG9yLmhhcmR3YXJlQ29uY3VycmVuY3l8fDQsZ2V0IGRldmljZVBpeGVsUmF0aW8oKXtyZXR1cm4gc2VsZi5kZXZpY2VQaXhlbFJhdGlvfSxnZXQgcHJlZmVyc1JlZHVjZWRNb3Rpb24oKXtyZXR1cm4hIXNlbGYubWF0Y2hNZWRpYSYmKG51bGw9PUUmJihFPXNlbGYubWF0Y2hNZWRpYSgiKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkiKSksRS5tYXRjaGVzKX19LEQ9e0FQSV9VUkw6Imh0dHBzOi8vYXBpLm1hcGJveC5jb20iLGdldCBFVkVOVFNfVVJMKCl7cmV0dXJuIHRoaXMuQVBJX1VSTD8wPT09dGhpcy5BUElfVVJMLmluZGV4T2YoImh0dHBzOi8vYXBpLm1hcGJveC5jbiIpPyJodHRwczovL2V2ZW50cy5tYXBib3guY24vZXZlbnRzL3YyIjowPT09dGhpcy5BUElfVVJMLmluZGV4T2YoImh0dHBzOi8vYXBpLm1hcGJveC5jb20iKT8iaHR0cHM6Ly9ldmVudHMubWFwYm94LmNvbS9ldmVudHMvdjIiOm51bGw6bnVsbH0sRkVFREJBQ0tfVVJMOiJodHRwczovL2FwcHMubWFwYm94LmNvbS9mZWVkYmFjayIsUkVRVUlSRV9BQ0NFU1NfVE9LRU46ITAsQUNDRVNTX1RPS0VOOm51bGwsTUFYX1BBUkFMTEVMX0lNQUdFX1JFUVVFU1RTOjE2fSxSPXtzdXBwb3J0ZWQ6ITEsdGVzdFN1cHBvcnQ6ZnVuY3Rpb24odCl7IUYmJkMmJihCP04odCk6TD10KX19LEY9ITEsQj0hMTtmdW5jdGlvbiBOKHQpe3ZhciBlPXQuY3JlYXRlVGV4dHVyZSgpO3QuYmluZFRleHR1cmUodC5URVhUVVJFXzJELGUpO3RyeXtpZih0LnRleEltYWdlMkQodC5URVhUVVJFXzJELDAsdC5SR0JBLHQuUkdCQSx0LlVOU0lHTkVEX0JZVEUsQyksdC5pc0NvbnRleHRMb3N0KCkpcmV0dXJuO1Iuc3VwcG9ydGVkPSEwfWNhdGNoKHQpe310LmRlbGV0ZVRleHR1cmUoZSksRj0hMH1zZWxmLmRvY3VtZW50JiYoKEM9c2VsZi5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSkub25sb2FkPWZ1bmN0aW9uKCl7TCYmTihMKSxMPW51bGwsQj0hMH0sQy5vbmVycm9yPWZ1bmN0aW9uKCl7Rj0hMCxMPW51bGx9LEMuc3JjPSJkYXRhOmltYWdlL3dlYnA7YmFzZTY0LFVrbEdSaDRBQUFCWFJVSlFWbEE0VEJFQUFBQXZBUUFBQUFmUS8vNzN2LytCaU9oL0FBQT0iKTt2YXIgaj0iMDEiLFY9ZnVuY3Rpb24odCxlKXt0aGlzLl90cmFuc2Zvcm1SZXF1ZXN0Rm49dCx0aGlzLl9jdXN0b21BY2Nlc3NUb2tlbj1lLHRoaXMuX2NyZWF0ZVNrdVRva2VuKCl9O2Z1bmN0aW9uIFUodCl7cmV0dXJuIDA9PT10LmluZGV4T2YoIm1hcGJveDoiKX1WLnByb3RvdHlwZS5fY3JlYXRlU2t1VG9rZW49ZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbigpe2Zvcih2YXIgdD0iIixlPTA7ZTwxMDtlKyspdCs9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIltNYXRoLmZsb29yKDYyKk1hdGgucmFuZG9tKCkpXTtyZXR1cm57dG9rZW46WyIxIixqLHRdLmpvaW4oIiIpLHRva2VuRXhwaXJlc0F0OkRhdGUubm93KCkrNDMyZTV9fSgpO3RoaXMuX3NrdVRva2VuPXQudG9rZW4sdGhpcy5fc2t1VG9rZW5FeHBpcmVzQXQ9dC50b2tlbkV4cGlyZXNBdH0sVi5wcm90b3R5cGUuX2lzU2t1VG9rZW5FeHBpcmVkPWZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCk+dGhpcy5fc2t1VG9rZW5FeHBpcmVzQXR9LFYucHJvdG90eXBlLnRyYW5zZm9ybVJlcXVlc3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdHJhbnNmb3JtUmVxdWVzdEZuJiZ0aGlzLl90cmFuc2Zvcm1SZXF1ZXN0Rm4odCxlKXx8e3VybDp0fX0sVi5wcm90b3R5cGUubm9ybWFsaXplU3R5bGVVUkw9ZnVuY3Rpb24odCxlKXtpZighVSh0KSlyZXR1cm4gdDt2YXIgcj1ZKHQpO3JldHVybiByLnBhdGg9Ii9zdHlsZXMvdjEiK3IucGF0aCx0aGlzLl9tYWtlQVBJVVJMKHIsdGhpcy5fY3VzdG9tQWNjZXNzVG9rZW58fGUpfSxWLnByb3RvdHlwZS5ub3JtYWxpemVHbHlwaHNVUkw9ZnVuY3Rpb24odCxlKXtpZighVSh0KSlyZXR1cm4gdDt2YXIgcj1ZKHQpO3JldHVybiByLnBhdGg9Ii9mb250cy92MSIrci5wYXRoLHRoaXMuX21ha2VBUElVUkwocix0aGlzLl9jdXN0b21BY2Nlc3NUb2tlbnx8ZSl9LFYucHJvdG90eXBlLm5vcm1hbGl6ZVNvdXJjZVVSTD1mdW5jdGlvbih0LGUpe2lmKCFVKHQpKXJldHVybiB0O3ZhciByPVkodCk7cmV0dXJuIHIucGF0aD0iL3Y0LyIrci5hdXRob3JpdHkrIi5qc29uIixyLnBhcmFtcy5wdXNoKCJzZWN1cmUiKSx0aGlzLl9tYWtlQVBJVVJMKHIsdGhpcy5fY3VzdG9tQWNjZXNzVG9rZW58fGUpfSxWLnByb3RvdHlwZS5ub3JtYWxpemVTcHJpdGVVUkw9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9WSh0KTtyZXR1cm4gVSh0KT8oYS5wYXRoPSIvc3R5bGVzL3YxIithLnBhdGgrIi9zcHJpdGUiK2Urcix0aGlzLl9tYWtlQVBJVVJMKGEsdGhpcy5fY3VzdG9tQWNjZXNzVG9rZW58fG4pKTooYS5wYXRoKz0iIitlK3IsVyhhKSl9LFYucHJvdG90eXBlLm5vcm1hbGl6ZVRpbGVVUkw9ZnVuY3Rpb24odCxlLHIpe2lmKHRoaXMuX2lzU2t1VG9rZW5FeHBpcmVkKCkmJnRoaXMuX2NyZWF0ZVNrdVRva2VuKCksIWV8fCFVKGUpKXJldHVybiB0O3ZhciBuPVkodCksYT1JLmRldmljZVBpeGVsUmF0aW8+PTJ8fDUxMj09PXI/IkAyeCI6IiIsaT1SLnN1cHBvcnRlZD8iLndlYnAiOiIkMSI7cmV0dXJuIG4ucGF0aD1uLnBhdGgucmVwbGFjZSgvKFwuKHBuZ3xqcGcpXGQqKSg/PSQpLywiIithK2kpLG4ucGF0aD1uLnBhdGgucmVwbGFjZSgvXi4rXC92NFwvLywiLyIpLG4ucGF0aD0iL3Y0IituLnBhdGgsRC5SRVFVSVJFX0FDQ0VTU19UT0tFTiYmKEQuQUNDRVNTX1RPS0VOfHx0aGlzLl9jdXN0b21BY2Nlc3NUb2tlbikmJnRoaXMuX3NrdVRva2VuJiZuLnBhcmFtcy5wdXNoKCJza3U9Iit0aGlzLl9za3VUb2tlbiksdGhpcy5fbWFrZUFQSVVSTChuLHRoaXMuX2N1c3RvbUFjY2Vzc1Rva2VuKX0sVi5wcm90b3R5cGUuY2Fub25pY2FsaXplVGlsZVVSTD1mdW5jdGlvbih0KXt2YXIgZT1ZKHQpO2lmKCFlLnBhdGgubWF0Y2goLyheXC92NFwvKS8pfHwhZS5wYXRoLm1hdGNoKC9cLltcd10rJC8pKXJldHVybiB0O3ZhciByPSJtYXBib3g6Ly90aWxlcy8iO3IrPWUucGF0aC5yZXBsYWNlKCIvdjQvIiwiIik7dmFyIG49ZS5wYXJhbXMuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiF0Lm1hdGNoKC9eYWNjZXNzX3Rva2VuPS8pfSk7cmV0dXJuIG4ubGVuZ3RoJiYocis9Ij8iK24uam9pbigiJiIpKSxyfSxWLnByb3RvdHlwZS5jYW5vbmljYWxpemVUaWxlc2V0PWZ1bmN0aW9uKHQsZSl7aWYoIVUoZSkpcmV0dXJuIHQudGlsZXN8fFtdO2Zvcih2YXIgcj1bXSxuPTAsYT10LnRpbGVzO248YS5sZW5ndGg7bis9MSl7dmFyIGk9YVtuXSxvPXRoaXMuY2Fub25pY2FsaXplVGlsZVVSTChpKTtyLnB1c2gobyl9cmV0dXJuIHJ9LFYucHJvdG90eXBlLl9tYWtlQVBJVVJMPWZ1bmN0aW9uKHQsZSl7dmFyIHI9IlNlZSBodHRwczovL3d3dy5tYXBib3guY29tL2FwaS1kb2N1bWVudGF0aW9uLyNhY2Nlc3MtdG9rZW5zLWFuZC10b2tlbi1zY29wZXMiLG49WShELkFQSV9VUkwpO2lmKHQucHJvdG9jb2w9bi5wcm90b2NvbCx0LmF1dGhvcml0eT1uLmF1dGhvcml0eSwiLyIhPT1uLnBhdGgmJih0LnBhdGg9IiIrbi5wYXRoK3QucGF0aCksIUQuUkVRVUlSRV9BQ0NFU1NfVE9LRU4pcmV0dXJuIFcodCk7aWYoIShlPWV8fEQuQUNDRVNTX1RPS0VOKSl0aHJvdyBuZXcgRXJyb3IoIkFuIEFQSSBhY2Nlc3MgdG9rZW4gaXMgcmVxdWlyZWQgdG8gdXNlIE1hcGJveCBHTC4gIityKTtpZigicyI9PT1lWzBdKXRocm93IG5ldyBFcnJvcigiVXNlIGEgcHVibGljIGFjY2VzcyB0b2tlbiAocGsuKikgd2l0aCBNYXBib3ggR0wsIG5vdCBhIHNlY3JldCBhY2Nlc3MgdG9rZW4gKHNrLiopLiAiK3IpO3JldHVybiB0LnBhcmFtcz10LnBhcmFtcy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuLTE9PT10LmluZGV4T2YoImFjY2Vzc190b2tlbiIpfSksdC5wYXJhbXMucHVzaCgiYWNjZXNzX3Rva2VuPSIrZSksVyh0KX07dmFyIHE9L14oKGh0dHBzPzopP1wvXC8pPyhbXlwvXStcLik/bWFwYm94XC5jKG58b20pKFwvfFw/fCQpL2k7ZnVuY3Rpb24gSCh0KXtyZXR1cm4gcS50ZXN0KHQpfXZhciBHPS9eKFx3Kyk6XC9cLyhbXlwvP10qKShcL1teP10rKT9cPz8oLispPy87ZnVuY3Rpb24gWSh0KXt2YXIgZT10Lm1hdGNoKEcpO2lmKCFlKXRocm93IG5ldyBFcnJvcigiVW5hYmxlIHRvIHBhcnNlIFVSTCBvYmplY3QiKTtyZXR1cm57cHJvdG9jb2w6ZVsxXSxhdXRob3JpdHk6ZVsyXSxwYXRoOmVbM118fCIvIixwYXJhbXM6ZVs0XT9lWzRdLnNwbGl0KCImIik6W119fWZ1bmN0aW9uIFcodCl7dmFyIGU9dC5wYXJhbXMubGVuZ3RoPyI/Iit0LnBhcmFtcy5qb2luKCImIik6IiI7cmV0dXJuIHQucHJvdG9jb2wrIjovLyIrdC5hdXRob3JpdHkrdC5wYXRoK2V9ZnVuY3Rpb24gWCh0KXtpZighdClyZXR1cm4gbnVsbDt2YXIgZSxyPXQuc3BsaXQoIi4iKTtpZighcnx8MyE9PXIubGVuZ3RoKXJldHVybiBudWxsO3RyeXtyZXR1cm4gSlNPTi5wYXJzZSgoZT1yWzFdLGRlY29kZVVSSUNvbXBvbmVudChzZWxmLmF0b2IoZSkuc3BsaXQoIiIpLm1hcChmdW5jdGlvbih0KXtyZXR1cm4iJSIrKCIwMCIrdC5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTIpfSkuam9pbigiIikpKSl9Y2F0Y2godCl7cmV0dXJuIG51bGx9fXZhciBaPWZ1bmN0aW9uKHQpe3RoaXMudHlwZT10LHRoaXMuYW5vbklkPW51bGwsdGhpcy5ldmVudERhdGE9e30sdGhpcy5xdWV1ZT1bXSx0aGlzLnBlbmRpbmdSZXF1ZXN0PW51bGx9O1oucHJvdG90eXBlLmdldFN0b3JhZ2VLZXk9ZnVuY3Rpb24odCl7dmFyIGUscj1YKEQuQUNDRVNTX1RPS0VOKSxuPSIiO3JldHVybiByJiZyLnU/KGU9ci51LG49c2VsZi5idG9hKGVuY29kZVVSSUNvbXBvbmVudChlKS5yZXBsYWNlKC8lKFswLTlBLUZdezJ9KS9nLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoTnVtYmVyKCIweCIrZSkpfSkpKTpuPUQuQUNDRVNTX1RPS0VOfHwiIix0PyJtYXBib3guZXZlbnREYXRhLiIrdCsiOiIrbjoibWFwYm94LmV2ZW50RGF0YToiK259LFoucHJvdG90eXBlLmZldGNoRXZlbnREYXRhPWZ1bmN0aW9uKCl7dmFyIHQ9QSgibG9jYWxTdG9yYWdlIiksZT10aGlzLmdldFN0b3JhZ2VLZXkoKSxyPXRoaXMuZ2V0U3RvcmFnZUtleSgidXVpZCIpO2lmKHQpdHJ5e3ZhciBuPXNlbGYubG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk7biYmKHRoaXMuZXZlbnREYXRhPUpTT04ucGFyc2UobikpO3ZhciBhPXNlbGYubG9jYWxTdG9yYWdlLmdldEl0ZW0ocik7YSYmKHRoaXMuYW5vbklkPWEpfWNhdGNoKHQpe3coIlVuYWJsZSB0byByZWFkIGZyb20gTG9jYWxTdG9yYWdlIil9fSxaLnByb3RvdHlwZS5zYXZlRXZlbnREYXRhPWZ1bmN0aW9uKCl7dmFyIHQ9QSgibG9jYWxTdG9yYWdlIiksZT10aGlzLmdldFN0b3JhZ2VLZXkoKSxyPXRoaXMuZ2V0U3RvcmFnZUtleSgidXVpZCIpO2lmKHQpdHJ5e3NlbGYubG9jYWxTdG9yYWdlLnNldEl0ZW0ocix0aGlzLmFub25JZCksT2JqZWN0LmtleXModGhpcy5ldmVudERhdGEpLmxlbmd0aD49MSYmc2VsZi5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLEpTT04uc3RyaW5naWZ5KHRoaXMuZXZlbnREYXRhKSl9Y2F0Y2godCl7dygiVW5hYmxlIHRvIHdyaXRlIHRvIExvY2FsU3RvcmFnZSIpfX0sWi5wcm90b3R5cGUucHJvY2Vzc1JlcXVlc3RzPWZ1bmN0aW9uKHQpe30sWi5wcm90b3R5cGUucG9zdEV2ZW50PWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXRoaXM7aWYoRC5FVkVOVFNfVVJMKXt2YXIgaT1ZKEQuRVZFTlRTX1VSTCk7aS5wYXJhbXMucHVzaCgiYWNjZXNzX3Rva2VuPSIrKG58fEQuQUNDRVNTX1RPS0VOfHwiIikpO3ZhciBvPXtldmVudDp0aGlzLnR5cGUsY3JlYXRlZDpuZXcgRGF0ZSh0KS50b0lTT1N0cmluZygpLHNka0lkZW50aWZpZXI6Im1hcGJveC1nbC1qcyIsc2RrVmVyc2lvbjoiMS4zLjIiLHNrdUlkOmosdXNlcklkOnRoaXMuYW5vbklkfSxzPWU/aChvLGUpOm8sbD17dXJsOlcoaSksaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6InRleHQvcGxhaW4ifSxib2R5OkpTT04uc3RyaW5naWZ5KFtzXSl9O3RoaXMucGVuZGluZ1JlcXVlc3Q9bXQobCxmdW5jdGlvbih0KXthLnBlbmRpbmdSZXF1ZXN0PW51bGwscih0KSxhLnNhdmVFdmVudERhdGEoKSxhLnByb2Nlc3NSZXF1ZXN0cyhuKX0pfX0sWi5wcm90b3R5cGUucXVldWVSZXF1ZXN0PWZ1bmN0aW9uKHQsZSl7dGhpcy5xdWV1ZS5wdXNoKHQpLHRoaXMucHJvY2Vzc1JlcXVlc3RzKGUpfTt2YXIgSixLPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmNhbGwodGhpcywibWFwLmxvYWQiKSx0aGlzLnN1Y2Nlc3M9e30sdGhpcy5za3VUb2tlbj0iIn1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUucG9zdE1hcExvYWRFdmVudD1mdW5jdGlvbih0LGUscixuKXt0aGlzLnNrdVRva2VuPXIsKEQuRVZFTlRTX1VSTCYmbnx8RC5BQ0NFU1NfVE9LRU4mJkFycmF5LmlzQXJyYXkodCkmJnQuc29tZShmdW5jdGlvbih0KXtyZXR1cm4gVSh0KXx8SCh0KX0pKSYmdGhpcy5xdWV1ZVJlcXVlc3Qoe2lkOmUsdGltZXN0YW1wOkRhdGUubm93KCl9LG4pfSxlLnByb3RvdHlwZS5wcm9jZXNzUmVxdWVzdHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZighdGhpcy5wZW5kaW5nUmVxdWVzdCYmMCE9PXRoaXMucXVldWUubGVuZ3RoKXt2YXIgcj10aGlzLnF1ZXVlLnNoaWZ0KCksbj1yLmlkLGE9ci50aW1lc3RhbXA7biYmdGhpcy5zdWNjZXNzW25dfHwodGhpcy5hbm9uSWR8fHRoaXMuZmV0Y2hFdmVudERhdGEoKSxnKHRoaXMuYW5vbklkKXx8KHRoaXMuYW5vbklkPWQoKSksdGhpcy5wb3N0RXZlbnQoYSx7c2t1VG9rZW46dGhpcy5za3VUb2tlbn0sZnVuY3Rpb24odCl7dHx8biYmKGUuc3VjY2Vzc1tuXT0hMCl9LHQpKX19LGV9KFopLFE9bmV3KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dC5jYWxsKHRoaXMsImFwcFVzZXJUdXJuc3RpbGUiKSx0aGlzLl9jdXN0b21BY2Nlc3NUb2tlbj1lfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5wb3N0VHVybnN0aWxlRXZlbnQ9ZnVuY3Rpb24odCxlKXtELkVWRU5UU19VUkwmJkQuQUNDRVNTX1RPS0VOJiZBcnJheS5pc0FycmF5KHQpJiZ0LnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuIFUodCl8fEgodCl9KSYmdGhpcy5xdWV1ZVJlcXVlc3QoRGF0ZS5ub3coKSxlKX0sZS5wcm90b3R5cGUucHJvY2Vzc1JlcXVlc3RzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYoIXRoaXMucGVuZGluZ1JlcXVlc3QmJjAhPT10aGlzLnF1ZXVlLmxlbmd0aCl7dGhpcy5hbm9uSWQmJnRoaXMuZXZlbnREYXRhLmxhc3RTdWNjZXNzJiZ0aGlzLmV2ZW50RGF0YS50b2tlblV8fHRoaXMuZmV0Y2hFdmVudERhdGEoKTt2YXIgcj1YKEQuQUNDRVNTX1RPS0VOKSxuPXI/ci51OkQuQUNDRVNTX1RPS0VOLGE9biE9PXRoaXMuZXZlbnREYXRhLnRva2VuVTtnKHRoaXMuYW5vbklkKXx8KHRoaXMuYW5vbklkPWQoKSxhPSEwKTt2YXIgaT10aGlzLnF1ZXVlLnNoaWZ0KCk7aWYodGhpcy5ldmVudERhdGEubGFzdFN1Y2Nlc3Mpe3ZhciBvPW5ldyBEYXRlKHRoaXMuZXZlbnREYXRhLmxhc3RTdWNjZXNzKSxzPW5ldyBEYXRlKGkpLGw9KGktdGhpcy5ldmVudERhdGEubGFzdFN1Y2Nlc3MpLzg2NGU1O2E9YXx8bD49MXx8bDwtMXx8by5nZXREYXRlKCkhPT1zLmdldERhdGUoKX1lbHNlIGE9ITA7aWYoIWEpcmV0dXJuIHRoaXMucHJvY2Vzc1JlcXVlc3RzKCk7dGhpcy5wb3N0RXZlbnQoaSx7ImVuYWJsZWQudGVsZW1ldHJ5IjohMX0sZnVuY3Rpb24odCl7dHx8KGUuZXZlbnREYXRhLmxhc3RTdWNjZXNzPWksZS5ldmVudERhdGEudG9rZW5VPW4pfSx0KX19LGV9KFopKSwkPVEucG9zdFR1cm5zdGlsZUV2ZW50LmJpbmQoUSksdHQ9bmV3IEssZXQ9dHQucG9zdE1hcExvYWRFdmVudC5iaW5kKHR0KSxydD0ibWFwYm94LXRpbGVzIixudD01MDAsYXQ9NTAsaXQ9NDJlNDtmdW5jdGlvbiBvdCh0KXt2YXIgZT10LmluZGV4T2YoIj8iKTtyZXR1cm4gZTwwP3Q6dC5zbGljZSgwLGUpfXZhciBzdD0xLzAsbHQ9e1Vua25vd246IlVua25vd24iLFN0eWxlOiJTdHlsZSIsU291cmNlOiJTb3VyY2UiLFRpbGU6IlRpbGUiLEdseXBoczoiR2x5cGhzIixTcHJpdGVJbWFnZToiU3ByaXRlSW1hZ2UiLFNwcml0ZUpTT046IlNwcml0ZUpTT04iLEltYWdlOiJJbWFnZSJ9OyJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZnJlZXplJiZPYmplY3QuZnJlZXplKGx0KTt2YXIgY3Q9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLHIsbil7NDAxPT09ciYmSChuKSYmKGUrPSI6IHlvdSBtYXkgaGF2ZSBwcm92aWRlZCBhbiBpbnZhbGlkIE1hcGJveCBhY2Nlc3MgdG9rZW4uIFNlZSBodHRwczovL3d3dy5tYXBib3guY29tL2FwaS1kb2N1bWVudGF0aW9uLyNhY2Nlc3MtdG9rZW5zLWFuZC10b2tlbi1zY29wZXMiKSx0LmNhbGwodGhpcyxlKSx0aGlzLnN0YXR1cz1yLHRoaXMudXJsPW4sdGhpcy5uYW1lPXRoaXMuY29uc3RydWN0b3IubmFtZSx0aGlzLm1lc3NhZ2U9ZX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYW1lKyI6ICIrdGhpcy5tZXNzYWdlKyIgKCIrdGhpcy5zdGF0dXMrIik6ICIrdGhpcy51cmx9LGV9KEVycm9yKTtmdW5jdGlvbiB1dCgpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgV29ya2VyR2xvYmFsU2NvcGUmJiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZiYmc2VsZiBpbnN0YW5jZW9mIFdvcmtlckdsb2JhbFNjb3BlfXZhciBodD11dCgpP2Z1bmN0aW9uKCl7cmV0dXJuIHNlbGYud29ya2VyJiZzZWxmLndvcmtlci5yZWZlcnJlcn06ZnVuY3Rpb24oKXtyZXR1cm4oImJsb2I6Ij09PXNlbGYubG9jYXRpb24ucHJvdG9jb2w/c2VsZi5wYXJlbnQ6c2VsZikubG9jYXRpb24uaHJlZn07ZnVuY3Rpb24gZnQodCxlKXt2YXIgcixuPW5ldyBzZWxmLkFib3J0Q29udHJvbGxlcixhPW5ldyBzZWxmLlJlcXVlc3QodC51cmwse21ldGhvZDp0Lm1ldGhvZHx8IkdFVCIsYm9keTp0LmJvZHksY3JlZGVudGlhbHM6dC5jcmVkZW50aWFscyxoZWFkZXJzOnQuaGVhZGVycyxyZWZlcnJlcjpodCgpLHNpZ25hbDpuLnNpZ25hbH0pLGk9ITEsbz0hMSxzPShyPWEudXJsKS5pbmRleE9mKCJza3U9Iik+MCYmSChyKTsianNvbiI9PT10LnR5cGUmJmEuaGVhZGVycy5zZXQoIkFjY2VwdCIsImFwcGxpY2F0aW9uL2pzb24iKTt2YXIgbD1mdW5jdGlvbihyLG4saSl7aWYoIW8pe2lmKHImJiJTZWN1cml0eUVycm9yIiE9PXIubWVzc2FnZSYmdyhyKSxuJiZpKXJldHVybiBjKG4pO3ZhciBsPURhdGUubm93KCk7c2VsZi5mZXRjaChhKS50aGVuKGZ1bmN0aW9uKHIpe2lmKHIub2spe3ZhciBuPXM/ci5jbG9uZSgpOm51bGw7cmV0dXJuIGMocixuLGwpfXJldHVybiBlKG5ldyBjdChyLnN0YXR1c1RleHQsci5zdGF0dXMsdC51cmwpKX0pLmNhdGNoKGZ1bmN0aW9uKHQpezIwIT09dC5jb2RlJiZlKG5ldyBFcnJvcih0Lm1lc3NhZ2UpKX0pfX0sYz1mdW5jdGlvbihyLG4scyl7KCJhcnJheUJ1ZmZlciI9PT10LnR5cGU/ci5hcnJheUJ1ZmZlcigpOiJqc29uIj09PXQudHlwZT9yLmpzb24oKTpyLnRleHQoKSkudGhlbihmdW5jdGlvbih0KXtvfHwobiYmcyYmZnVuY3Rpb24odCxlLHIpe2lmKHNlbGYuY2FjaGVzKXt2YXIgbj17c3RhdHVzOmUuc3RhdHVzLHN0YXR1c1RleHQ6ZS5zdGF0dXNUZXh0LGhlYWRlcnM6bmV3IHNlbGYuSGVhZGVyc307ZS5oZWFkZXJzLmZvckVhY2goZnVuY3Rpb24odCxlKXtyZXR1cm4gbi5oZWFkZXJzLnNldChlLHQpfSk7dmFyIGE9TShlLmhlYWRlcnMuZ2V0KCJDYWNoZS1Db250cm9sIil8fCIiKTthWyJuby1zdG9yZSJdfHwoYVsibWF4LWFnZSJdJiZuLmhlYWRlcnMuc2V0KCJFeHBpcmVzIixuZXcgRGF0ZShyKzFlMyphWyJtYXgtYWdlIl0pLnRvVVRDU3RyaW5nKCkpLG5ldyBEYXRlKG4uaGVhZGVycy5nZXQoIkV4cGlyZXMiKSkuZ2V0VGltZSgpLXI8aXR8fGZ1bmN0aW9uKHQsZSl7aWYodm9pZCAwPT09Sil0cnl7bmV3IFJlc3BvbnNlKG5ldyBSZWFkYWJsZVN0cmVhbSksSj0hMH1jYXRjaCh0KXtKPSExfUo/ZSh0LmJvZHkpOnQuYmxvYigpLnRoZW4oZSl9KGUsZnVuY3Rpb24oZSl7dmFyIHI9bmV3IHNlbGYuUmVzcG9uc2UoZSxuKTtzZWxmLmNhY2hlcy5vcGVuKHJ0KS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLnB1dChvdCh0LnVybCkscil9KS5jYXRjaChmdW5jdGlvbih0KXtyZXR1cm4gdyh0Lm1lc3NhZ2UpfSl9KSl9fShhLG4scyksaT0hMCxlKG51bGwsdCxyLmhlYWRlcnMuZ2V0KCJDYWNoZS1Db250cm9sIiksci5oZWFkZXJzLmdldCgiRXhwaXJlcyIpKSl9KS5jYXRjaChmdW5jdGlvbih0KXtyZXR1cm4gZShuZXcgRXJyb3IodC5tZXNzYWdlKSl9KX07cmV0dXJuIHM/ZnVuY3Rpb24odCxlKXtpZighc2VsZi5jYWNoZXMpcmV0dXJuIGUobnVsbCk7dmFyIHI9b3QodC51cmwpO3NlbGYuY2FjaGVzLm9wZW4ocnQpLnRoZW4oZnVuY3Rpb24odCl7dC5tYXRjaChyKS50aGVuKGZ1bmN0aW9uKG4pe3ZhciBhPWZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybiExO3ZhciBlPW5ldyBEYXRlKHQuaGVhZGVycy5nZXQoIkV4cGlyZXMiKSkscj1NKHQuaGVhZGVycy5nZXQoIkNhY2hlLUNvbnRyb2wiKXx8IiIpO3JldHVybiBlPkRhdGUubm93KCkmJiFyWyJuby1jYWNoZSJdfShuKTt0LmRlbGV0ZShyKSxhJiZ0LnB1dChyLG4uY2xvbmUoKSksZShudWxsLG4sYSl9KS5jYXRjaChlKX0pLmNhdGNoKGUpfShhLGwpOmwobnVsbCxudWxsKSx7Y2FuY2VsOmZ1bmN0aW9uKCl7bz0hMCxpfHxuLmFib3J0KCl9fX12YXIgcHQsZHQsZ3Q9ZnVuY3Rpb24odCxlKXtpZihyPXQudXJsLCEoL15maWxlOi8udGVzdChyKXx8L15maWxlOi8udGVzdChodCgpKSYmIS9eXHcrOi8udGVzdChyKSkpe2lmKHNlbGYuZmV0Y2gmJnNlbGYuUmVxdWVzdCYmc2VsZi5BYm9ydENvbnRyb2xsZXImJnNlbGYuUmVxdWVzdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNpZ25hbCIpKXJldHVybiBmdCh0LGUpO2lmKHV0KCkmJnNlbGYud29ya2VyJiZzZWxmLndvcmtlci5hY3RvcilyZXR1cm4gc2VsZi53b3JrZXIuYWN0b3Iuc2VuZCgiZ2V0UmVzb3VyY2UiLHQsZSl9dmFyIHI7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7dmFyIHI9bmV3IHNlbGYuWE1MSHR0cFJlcXVlc3Q7Zm9yKHZhciBuIGluIHIub3Blbih0Lm1ldGhvZHx8IkdFVCIsdC51cmwsITApLCJhcnJheUJ1ZmZlciI9PT10LnR5cGUmJihyLnJlc3BvbnNlVHlwZT0iYXJyYXlidWZmZXIiKSx0LmhlYWRlcnMpci5zZXRSZXF1ZXN0SGVhZGVyKG4sdC5oZWFkZXJzW25dKTtyZXR1cm4ianNvbiI9PT10LnR5cGUmJihyLnJlc3BvbnNlVHlwZT0idGV4dCIsci5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLCJhcHBsaWNhdGlvbi9qc29uIikpLHIud2l0aENyZWRlbnRpYWxzPSJpbmNsdWRlIj09PXQuY3JlZGVudGlhbHMsci5vbmVycm9yPWZ1bmN0aW9uKCl7ZShuZXcgRXJyb3Ioci5zdGF0dXNUZXh0KSl9LHIub25sb2FkPWZ1bmN0aW9uKCl7aWYoKHIuc3RhdHVzPj0yMDAmJnIuc3RhdHVzPDMwMHx8MD09PXIuc3RhdHVzKSYmbnVsbCE9PXIucmVzcG9uc2Upe3ZhciBuPXIucmVzcG9uc2U7aWYoImpzb24iPT09dC50eXBlKXRyeXtuPUpTT04ucGFyc2Uoci5yZXNwb25zZSl9Y2F0Y2godCl7cmV0dXJuIGUodCl9ZShudWxsLG4sci5nZXRSZXNwb25zZUhlYWRlcigiQ2FjaGUtQ29udHJvbCIpLHIuZ2V0UmVzcG9uc2VIZWFkZXIoIkV4cGlyZXMiKSl9ZWxzZSBlKG5ldyBjdChyLnN0YXR1c1RleHQsci5zdGF0dXMsdC51cmwpKX0sci5zZW5kKHQuYm9keSkse2NhbmNlbDpmdW5jdGlvbigpe3JldHVybiByLmFib3J0KCl9fX0odCxlKX0sdnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZ3QoaCh0LHt0eXBlOiJhcnJheUJ1ZmZlciJ9KSxlKX0sbXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZ3QoaCh0LHttZXRob2Q6IlBPU1QifSksZSl9O3B0PVtdLGR0PTA7dmFyIHl0PWZ1bmN0aW9uKHQsZSl7aWYoZHQ+PUQuTUFYX1BBUkFMTEVMX0lNQUdFX1JFUVVFU1RTKXt2YXIgcj17cmVxdWVzdFBhcmFtZXRlcnM6dCxjYWxsYmFjazplLGNhbmNlbGxlZDohMSxjYW5jZWw6ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbGxlZD0hMH19O3JldHVybiBwdC5wdXNoKHIpLHJ9ZHQrKzt2YXIgbj0hMSxhPWZ1bmN0aW9uKCl7aWYoIW4pZm9yKG49ITAsZHQtLTtwdC5sZW5ndGgmJmR0PEQuTUFYX1BBUkFMTEVMX0lNQUdFX1JFUVVFU1RTOyl7dmFyIHQ9cHQuc2hpZnQoKSxlPXQucmVxdWVzdFBhcmFtZXRlcnMscj10LmNhbGxiYWNrO3QuY2FuY2VsbGVkfHwodC5jYW5jZWw9eXQoZSxyKS5jYW5jZWwpfX0saT12dCh0LGZ1bmN0aW9uKHQscixuLGkpe2lmKGEoKSx0KWUodCk7ZWxzZSBpZihyKXt2YXIgbz1uZXcgc2VsZi5JbWFnZSxzPXNlbGYuVVJMfHxzZWxmLndlYmtpdFVSTDtvLm9ubG9hZD1mdW5jdGlvbigpe2UobnVsbCxvKSxzLnJldm9rZU9iamVjdFVSTChvLnNyYyl9LG8ub25lcnJvcj1mdW5jdGlvbigpe3JldHVybiBlKG5ldyBFcnJvcigiQ291bGQgbm90IGxvYWQgaW1hZ2UuIFBsZWFzZSBtYWtlIHN1cmUgdG8gdXNlIGEgc3VwcG9ydGVkIGltYWdlIHR5cGUgc3VjaCBhcyBQTkcgb3IgSlBFRy4gTm90ZSB0aGF0IFNWR3MgYXJlIG5vdCBzdXBwb3J0ZWQuIikpfTt2YXIgbD1uZXcgc2VsZi5CbG9iKFtuZXcgVWludDhBcnJheShyKV0se3R5cGU6ImltYWdlL3BuZyJ9KTtvLmNhY2hlQ29udHJvbD1uLG8uZXhwaXJlcz1pLG8uc3JjPXIuYnl0ZUxlbmd0aD9zLmNyZWF0ZU9iamVjdFVSTChsKToiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQUFCQ0FZQUFBQWZGY1NKQUFBQUMwbEVRVlFZVjJOZ0FBSUFBQVVBQWFyVnlGRUFBQUFBU1VWT1JLNUNZSUk9In19KTtyZXR1cm57Y2FuY2VsOmZ1bmN0aW9uKCl7aS5jYW5jZWwoKSxhKCl9fX07ZnVuY3Rpb24geHQodCxlLHIpe3JbdF0mJi0xIT09clt0XS5pbmRleE9mKGUpfHwoclt0XT1yW3RdfHxbXSxyW3RdLnB1c2goZSkpfWZ1bmN0aW9uIGJ0KHQsZSxyKXtpZihyJiZyW3RdKXt2YXIgbj1yW3RdLmluZGV4T2YoZSk7LTEhPT1uJiZyW3RdLnNwbGljZShuLDEpfX12YXIgX3Q9ZnVuY3Rpb24odCxlKXt2b2lkIDA9PT1lJiYoZT17fSksaCh0aGlzLGUpLHRoaXMudHlwZT10fSx3dD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUscil7dm9pZCAwPT09ciYmKHI9e30pLHQuY2FsbCh0aGlzLCJlcnJvciIsaCh7ZXJyb3I6ZX0scikpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlfShfdCksa3Q9ZnVuY3Rpb24oKXt9O2t0LnByb3RvdHlwZS5vbj1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9saXN0ZW5lcnM9dGhpcy5fbGlzdGVuZXJzfHx7fSx4dCh0LGUsdGhpcy5fbGlzdGVuZXJzKSx0aGlzfSxrdC5wcm90b3R5cGUub2ZmPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGJ0KHQsZSx0aGlzLl9saXN0ZW5lcnMpLGJ0KHQsZSx0aGlzLl9vbmVUaW1lTGlzdGVuZXJzKSx0aGlzfSxrdC5wcm90b3R5cGUub25jZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9vbmVUaW1lTGlzdGVuZXJzPXRoaXMuX29uZVRpbWVMaXN0ZW5lcnN8fHt9LHh0KHQsZSx0aGlzLl9vbmVUaW1lTGlzdGVuZXJzKSx0aGlzfSxrdC5wcm90b3R5cGUuZmlyZT1mdW5jdGlvbih0LGUpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IF90KHQsZXx8e30pKTt2YXIgcj10LnR5cGU7aWYodGhpcy5saXN0ZW5zKHIpKXt0LnRhcmdldD10aGlzO2Zvcih2YXIgbj0wLGE9dGhpcy5fbGlzdGVuZXJzJiZ0aGlzLl9saXN0ZW5lcnNbcl0/dGhpcy5fbGlzdGVuZXJzW3JdLnNsaWNlKCk6W107bjxhLmxlbmd0aDtuKz0xKWFbbl0uY2FsbCh0aGlzLHQpO2Zvcih2YXIgaT0wLG89dGhpcy5fb25lVGltZUxpc3RlbmVycyYmdGhpcy5fb25lVGltZUxpc3RlbmVyc1tyXT90aGlzLl9vbmVUaW1lTGlzdGVuZXJzW3JdLnNsaWNlKCk6W107aTxvLmxlbmd0aDtpKz0xKXt2YXIgcz1vW2ldO2J0KHIscyx0aGlzLl9vbmVUaW1lTGlzdGVuZXJzKSxzLmNhbGwodGhpcyx0KX12YXIgbD10aGlzLl9ldmVudGVkUGFyZW50O2wmJihoKHQsImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX2V2ZW50ZWRQYXJlbnREYXRhP3RoaXMuX2V2ZW50ZWRQYXJlbnREYXRhKCk6dGhpcy5fZXZlbnRlZFBhcmVudERhdGEpLGwuZmlyZSh0KSl9ZWxzZSB0IGluc3RhbmNlb2Ygd3QmJmNvbnNvbGUuZXJyb3IodC5lcnJvcik7cmV0dXJuIHRoaXN9LGt0LnByb3RvdHlwZS5saXN0ZW5zPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9saXN0ZW5lcnMmJnRoaXMuX2xpc3RlbmVyc1t0XSYmdGhpcy5fbGlzdGVuZXJzW3RdLmxlbmd0aD4wfHx0aGlzLl9vbmVUaW1lTGlzdGVuZXJzJiZ0aGlzLl9vbmVUaW1lTGlzdGVuZXJzW3RdJiZ0aGlzLl9vbmVUaW1lTGlzdGVuZXJzW3RdLmxlbmd0aD4wfHx0aGlzLl9ldmVudGVkUGFyZW50JiZ0aGlzLl9ldmVudGVkUGFyZW50Lmxpc3RlbnModCl9LGt0LnByb3RvdHlwZS5zZXRFdmVudGVkUGFyZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX2V2ZW50ZWRQYXJlbnQ9dCx0aGlzLl9ldmVudGVkUGFyZW50RGF0YT1lLHRoaXN9O3ZhciBUdD17JHZlcnNpb246OCwkcm9vdDp7dmVyc2lvbjp7cmVxdWlyZWQ6ITAsdHlwZToiZW51bSIsdmFsdWVzOls4XX0sbmFtZTp7dHlwZToic3RyaW5nIn0sbWV0YWRhdGE6e3R5cGU6IioifSxjZW50ZXI6e3R5cGU6ImFycmF5Iix2YWx1ZToibnVtYmVyIn0sem9vbTp7dHlwZToibnVtYmVyIn0sYmVhcmluZzp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAscGVyaW9kOjM2MCx1bml0czoiZGVncmVlcyJ9LHBpdGNoOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MCx1bml0czoiZGVncmVlcyJ9LGxpZ2h0Ont0eXBlOiJsaWdodCJ9LHNvdXJjZXM6e3JlcXVpcmVkOiEwLHR5cGU6InNvdXJjZXMifSxzcHJpdGU6e3R5cGU6InN0cmluZyJ9LGdseXBoczp7dHlwZToic3RyaW5nIn0sdHJhbnNpdGlvbjp7dHlwZToidHJhbnNpdGlvbiJ9LGxheWVyczp7cmVxdWlyZWQ6ITAsdHlwZToiYXJyYXkiLHZhbHVlOiJsYXllciJ9fSxzb3VyY2VzOnsiKiI6e3R5cGU6InNvdXJjZSJ9fSxzb3VyY2U6WyJzb3VyY2VfdmVjdG9yIiwic291cmNlX3Jhc3RlciIsInNvdXJjZV9yYXN0ZXJfZGVtIiwic291cmNlX2dlb2pzb24iLCJzb3VyY2VfdmlkZW8iLCJzb3VyY2VfaW1hZ2UiXSxzb3VyY2VfdmVjdG9yOnt0eXBlOntyZXF1aXJlZDohMCx0eXBlOiJlbnVtIix2YWx1ZXM6e3ZlY3Rvcjp7fX19LHVybDp7dHlwZToic3RyaW5nIn0sdGlsZXM6e3R5cGU6ImFycmF5Iix2YWx1ZToic3RyaW5nIn0sYm91bmRzOnt0eXBlOiJhcnJheSIsdmFsdWU6Im51bWJlciIsbGVuZ3RoOjQsZGVmYXVsdDpbLTE4MCwtODUuMDUxMTI5LDE4MCw4NS4wNTExMjldfSxzY2hlbWU6e3R5cGU6ImVudW0iLHZhbHVlczp7eHl6Ont9LHRtczp7fX0sZGVmYXVsdDoieHl6In0sbWluem9vbTp7dHlwZToibnVtYmVyIixkZWZhdWx0OjB9LG1heHpvb206e3R5cGU6Im51bWJlciIsZGVmYXVsdDoyMn0sYXR0cmlidXRpb246e3R5cGU6InN0cmluZyJ9LCIqIjp7dHlwZToiKiJ9fSxzb3VyY2VfcmFzdGVyOnt0eXBlOntyZXF1aXJlZDohMCx0eXBlOiJlbnVtIix2YWx1ZXM6e3Jhc3Rlcjp7fX19LHVybDp7dHlwZToic3RyaW5nIn0sdGlsZXM6e3R5cGU6ImFycmF5Iix2YWx1ZToic3RyaW5nIn0sYm91bmRzOnt0eXBlOiJhcnJheSIsdmFsdWU6Im51bWJlciIsbGVuZ3RoOjQsZGVmYXVsdDpbLTE4MCwtODUuMDUxMTI5LDE4MCw4NS4wNTExMjldfSxtaW56b29tOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MH0sbWF4em9vbTp7dHlwZToibnVtYmVyIixkZWZhdWx0OjIyfSx0aWxlU2l6ZTp7dHlwZToibnVtYmVyIixkZWZhdWx0OjUxMix1bml0czoicGl4ZWxzIn0sc2NoZW1lOnt0eXBlOiJlbnVtIix2YWx1ZXM6e3h5ejp7fSx0bXM6e319LGRlZmF1bHQ6Inh5eiJ9LGF0dHJpYnV0aW9uOnt0eXBlOiJzdHJpbmcifSwiKiI6e3R5cGU6IioifX0sc291cmNlX3Jhc3Rlcl9kZW06e3R5cGU6e3JlcXVpcmVkOiEwLHR5cGU6ImVudW0iLHZhbHVlczp7InJhc3Rlci1kZW0iOnt9fX0sdXJsOnt0eXBlOiJzdHJpbmcifSx0aWxlczp7dHlwZToiYXJyYXkiLHZhbHVlOiJzdHJpbmcifSxib3VuZHM6e3R5cGU6ImFycmF5Iix2YWx1ZToibnVtYmVyIixsZW5ndGg6NCxkZWZhdWx0OlstMTgwLC04NS4wNTExMjksMTgwLDg1LjA1MTEyOV19LG1pbnpvb206e3R5cGU6Im51bWJlciIsZGVmYXVsdDowfSxtYXh6b29tOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MjJ9LHRpbGVTaXplOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6NTEyLHVuaXRzOiJwaXhlbHMifSxhdHRyaWJ1dGlvbjp7dHlwZToic3RyaW5nIn0sZW5jb2Rpbmc6e3R5cGU6ImVudW0iLHZhbHVlczp7dGVycmFyaXVtOnt9LG1hcGJveDp7fX0sZGVmYXVsdDoibWFwYm94In0sIioiOnt0eXBlOiIqIn19LHNvdXJjZV9nZW9qc29uOnt0eXBlOntyZXF1aXJlZDohMCx0eXBlOiJlbnVtIix2YWx1ZXM6e2dlb2pzb246e319fSxkYXRhOnt0eXBlOiIqIn0sbWF4em9vbTp7dHlwZToibnVtYmVyIixkZWZhdWx0OjE4fSxhdHRyaWJ1dGlvbjp7dHlwZToic3RyaW5nIn0sYnVmZmVyOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MTI4LG1heGltdW06NTEyLG1pbmltdW06MH0sdG9sZXJhbmNlOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6LjM3NX0sY2x1c3Rlcjp7dHlwZToiYm9vbGVhbiIsZGVmYXVsdDohMX0sY2x1c3RlclJhZGl1czp7dHlwZToibnVtYmVyIixkZWZhdWx0OjUwLG1pbmltdW06MH0sY2x1c3Rlck1heFpvb206e3R5cGU6Im51bWJlciJ9LGNsdXN0ZXJQcm9wZXJ0aWVzOnt0eXBlOiIqIn0sbGluZU1ldHJpY3M6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITF9LGdlbmVyYXRlSWQ6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITF9fSxzb3VyY2VfdmlkZW86e3R5cGU6e3JlcXVpcmVkOiEwLHR5cGU6ImVudW0iLHZhbHVlczp7dmlkZW86e319fSx1cmxzOntyZXF1aXJlZDohMCx0eXBlOiJhcnJheSIsdmFsdWU6InN0cmluZyJ9LGNvb3JkaW5hdGVzOntyZXF1aXJlZDohMCx0eXBlOiJhcnJheSIsbGVuZ3RoOjQsdmFsdWU6e3R5cGU6ImFycmF5IixsZW5ndGg6Mix2YWx1ZToibnVtYmVyIn19fSxzb3VyY2VfaW1hZ2U6e3R5cGU6e3JlcXVpcmVkOiEwLHR5cGU6ImVudW0iLHZhbHVlczp7aW1hZ2U6e319fSx1cmw6e3JlcXVpcmVkOiEwLHR5cGU6InN0cmluZyJ9LGNvb3JkaW5hdGVzOntyZXF1aXJlZDohMCx0eXBlOiJhcnJheSIsbGVuZ3RoOjQsdmFsdWU6e3R5cGU6ImFycmF5IixsZW5ndGg6Mix2YWx1ZToibnVtYmVyIn19fSxsYXllcjp7aWQ6e3R5cGU6InN0cmluZyIscmVxdWlyZWQ6ITB9LHR5cGU6e3R5cGU6ImVudW0iLHZhbHVlczp7ZmlsbDp7fSxsaW5lOnt9LHN5bWJvbDp7fSxjaXJjbGU6e30saGVhdG1hcDp7fSwiZmlsbC1leHRydXNpb24iOnt9LHJhc3Rlcjp7fSxoaWxsc2hhZGU6e30sYmFja2dyb3VuZDp7fX0scmVxdWlyZWQ6ITB9LG1ldGFkYXRhOnt0eXBlOiIqIn0sc291cmNlOnt0eXBlOiJzdHJpbmcifSwic291cmNlLWxheWVyIjp7dHlwZToic3RyaW5nIn0sbWluem9vbTp7dHlwZToibnVtYmVyIixtaW5pbXVtOjAsbWF4aW11bToyNH0sbWF4em9vbTp7dHlwZToibnVtYmVyIixtaW5pbXVtOjAsbWF4aW11bToyNH0sZmlsdGVyOnt0eXBlOiJmaWx0ZXIifSxsYXlvdXQ6e3R5cGU6ImxheW91dCJ9LHBhaW50Ont0eXBlOiJwYWludCJ9fSxsYXlvdXQ6WyJsYXlvdXRfZmlsbCIsImxheW91dF9saW5lIiwibGF5b3V0X2NpcmNsZSIsImxheW91dF9oZWF0bWFwIiwibGF5b3V0X2ZpbGwtZXh0cnVzaW9uIiwibGF5b3V0X3N5bWJvbCIsImxheW91dF9yYXN0ZXIiLCJsYXlvdXRfaGlsbHNoYWRlIiwibGF5b3V0X2JhY2tncm91bmQiXSxsYXlvdXRfYmFja2dyb3VuZDp7dmlzaWJpbGl0eTp7dHlwZToiZW51bSIsdmFsdWVzOnt2aXNpYmxlOnt9LG5vbmU6e319LGRlZmF1bHQ6InZpc2libGUiLCJwcm9wZXJ0eS10eXBlIjoiY29uc3RhbnQifX0sbGF5b3V0X2ZpbGw6eyJmaWxsLXNvcnQta2V5Ijp7dHlwZToibnVtYmVyIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSx2aXNpYmlsaXR5Ont0eXBlOiJlbnVtIix2YWx1ZXM6e3Zpc2libGU6e30sbm9uZTp7fX0sZGVmYXVsdDoidmlzaWJsZSIsInByb3BlcnR5LXR5cGUiOiJjb25zdGFudCJ9fSxsYXlvdXRfY2lyY2xlOnsiY2lyY2xlLXNvcnQta2V5Ijp7dHlwZToibnVtYmVyIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSx2aXNpYmlsaXR5Ont0eXBlOiJlbnVtIix2YWx1ZXM6e3Zpc2libGU6e30sbm9uZTp7fX0sZGVmYXVsdDoidmlzaWJsZSIsInByb3BlcnR5LXR5cGUiOiJjb25zdGFudCJ9fSxsYXlvdXRfaGVhdG1hcDp7dmlzaWJpbGl0eTp7dHlwZToiZW51bSIsdmFsdWVzOnt2aXNpYmxlOnt9LG5vbmU6e319LGRlZmF1bHQ6InZpc2libGUiLCJwcm9wZXJ0eS10eXBlIjoiY29uc3RhbnQifX0sImxheW91dF9maWxsLWV4dHJ1c2lvbiI6e3Zpc2liaWxpdHk6e3R5cGU6ImVudW0iLHZhbHVlczp7dmlzaWJsZTp7fSxub25lOnt9fSxkZWZhdWx0OiJ2aXNpYmxlIiwicHJvcGVydHktdHlwZSI6ImNvbnN0YW50In19LGxheW91dF9saW5lOnsibGluZS1jYXAiOnt0eXBlOiJlbnVtIix2YWx1ZXM6e2J1dHQ6e30scm91bmQ6e30sc3F1YXJlOnt9fSxkZWZhdWx0OiJidXR0IixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImxpbmUtam9pbiI6e3R5cGU6ImVudW0iLHZhbHVlczp7YmV2ZWw6e30scm91bmQ6e30sbWl0ZXI6e319LGRlZmF1bHQ6Im1pdGVyIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwibGluZS1taXRlci1saW1pdCI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoyLHJlcXVpcmVzOlt7ImxpbmUtam9pbiI6Im1pdGVyIn1dLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwibGluZS1yb3VuZC1saW1pdCI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLjA1LHJlcXVpcmVzOlt7ImxpbmUtam9pbiI6InJvdW5kIn1dLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwibGluZS1zb3J0LWtleSI6e3R5cGU6Im51bWJlciIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sdmlzaWJpbGl0eTp7dHlwZToiZW51bSIsdmFsdWVzOnt2aXNpYmxlOnt9LG5vbmU6e319LGRlZmF1bHQ6InZpc2libGUiLCJwcm9wZXJ0eS10eXBlIjoiY29uc3RhbnQifX0sbGF5b3V0X3N5bWJvbDp7InN5bWJvbC1wbGFjZW1lbnQiOnt0eXBlOiJlbnVtIix2YWx1ZXM6e3BvaW50Ont9LGxpbmU6e30sImxpbmUtY2VudGVyIjp7fX0sZGVmYXVsdDoicG9pbnQiLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwic3ltYm9sLXNwYWNpbmciOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MjUwLG1pbmltdW06MSx1bml0czoicGl4ZWxzIixyZXF1aXJlczpbeyJzeW1ib2wtcGxhY2VtZW50IjoibGluZSJ9XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInN5bWJvbC1hdm9pZC1lZGdlcyI6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITEsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJzeW1ib2wtc29ydC1rZXkiOnt0eXBlOiJudW1iZXIiLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJzeW1ib2wtei1vcmRlciI6e3R5cGU6ImVudW0iLHZhbHVlczp7YXV0bzp7fSwidmlld3BvcnQteSI6e30sc291cmNlOnt9fSxkZWZhdWx0OiJhdXRvIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImljb24tYWxsb3ctb3ZlcmxhcCI6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITEscmVxdWlyZXM6WyJpY29uLWltYWdlIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJpY29uLWlnbm9yZS1wbGFjZW1lbnQiOnt0eXBlOiJib29sZWFuIixkZWZhdWx0OiExLHJlcXVpcmVzOlsiaWNvbi1pbWFnZSJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiaWNvbi1vcHRpb25hbCI6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITEscmVxdWlyZXM6WyJpY29uLWltYWdlIiwidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiaWNvbi1yb3RhdGlvbi1hbGlnbm1lbnQiOnt0eXBlOiJlbnVtIix2YWx1ZXM6e21hcDp7fSx2aWV3cG9ydDp7fSxhdXRvOnt9fSxkZWZhdWx0OiJhdXRvIixyZXF1aXJlczpbImljb24taW1hZ2UiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImljb24tc2l6ZSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MCx1bml0czoiZmFjdG9yIG9mIHRoZSBvcmlnaW5hbCBpY29uIHNpemUiLHJlcXVpcmVzOlsiaWNvbi1pbWFnZSJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJpY29uLXRleHQtZml0Ijp7dHlwZToiZW51bSIsdmFsdWVzOntub25lOnt9LHdpZHRoOnt9LGhlaWdodDp7fSxib3RoOnt9fSxkZWZhdWx0OiJub25lIixyZXF1aXJlczpbImljb24taW1hZ2UiLCJ0ZXh0LWZpZWxkIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJpY29uLXRleHQtZml0LXBhZGRpbmciOnt0eXBlOiJhcnJheSIsdmFsdWU6Im51bWJlciIsbGVuZ3RoOjQsZGVmYXVsdDpbMCwwLDAsMF0sdW5pdHM6InBpeGVscyIscmVxdWlyZXM6WyJpY29uLWltYWdlIiwidGV4dC1maWVsZCIseyJpY29uLXRleHQtZml0IjpbImJvdGgiLCJ3aWR0aCIsImhlaWdodCJdfV0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJpY29uLWltYWdlIjp7dHlwZToic3RyaW5nIix0b2tlbnM6ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImljb24tcm90YXRlIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAscGVyaW9kOjM2MCx1bml0czoiZGVncmVlcyIscmVxdWlyZXM6WyJpY29uLWltYWdlIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImljb24tcGFkZGluZyI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoyLG1pbmltdW06MCx1bml0czoicGl4ZWxzIixyZXF1aXJlczpbImljb24taW1hZ2UiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImljb24ta2VlcC11cHJpZ2h0Ijp7dHlwZToiYm9vbGVhbiIsZGVmYXVsdDohMSxyZXF1aXJlczpbImljb24taW1hZ2UiLHsiaWNvbi1yb3RhdGlvbi1hbGlnbm1lbnQiOiJtYXAifSx7InN5bWJvbC1wbGFjZW1lbnQiOlsibGluZSIsImxpbmUtY2VudGVyIl19XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImljb24tb2Zmc2V0Ijp7dHlwZToiYXJyYXkiLHZhbHVlOiJudW1iZXIiLGxlbmd0aDoyLGRlZmF1bHQ6WzAsMF0scmVxdWlyZXM6WyJpY29uLWltYWdlIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImljb24tYW5jaG9yIjp7dHlwZToiZW51bSIsdmFsdWVzOntjZW50ZXI6e30sbGVmdDp7fSxyaWdodDp7fSx0b3A6e30sYm90dG9tOnt9LCJ0b3AtbGVmdCI6e30sInRvcC1yaWdodCI6e30sImJvdHRvbS1sZWZ0Ijp7fSwiYm90dG9tLXJpZ2h0Ijp7fX0sZGVmYXVsdDoiY2VudGVyIixyZXF1aXJlczpbImljb24taW1hZ2UiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwiaWNvbi1waXRjaC1hbGlnbm1lbnQiOnt0eXBlOiJlbnVtIix2YWx1ZXM6e21hcDp7fSx2aWV3cG9ydDp7fSxhdXRvOnt9fSxkZWZhdWx0OiJhdXRvIixyZXF1aXJlczpbImljb24taW1hZ2UiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInRleHQtcGl0Y2gtYWxpZ25tZW50Ijp7dHlwZToiZW51bSIsdmFsdWVzOnttYXA6e30sdmlld3BvcnQ6e30sYXV0bzp7fX0sZGVmYXVsdDoiYXV0byIscmVxdWlyZXM6WyJ0ZXh0LWZpZWxkIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJ0ZXh0LXJvdGF0aW9uLWFsaWdubWVudCI6e3R5cGU6ImVudW0iLHZhbHVlczp7bWFwOnt9LHZpZXdwb3J0Ont9LGF1dG86e319LGRlZmF1bHQ6ImF1dG8iLHJlcXVpcmVzOlsidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwidGV4dC1maWVsZCI6e3R5cGU6ImZvcm1hdHRlZCIsZGVmYXVsdDoiIix0b2tlbnM6ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sInRleHQtZm9udCI6e3R5cGU6ImFycmF5Iix2YWx1ZToic3RyaW5nIixkZWZhdWx0OlsiT3BlbiBTYW5zIFJlZ3VsYXIiLCJBcmlhbCBVbmljb2RlIE1TIFJlZ3VsYXIiXSxyZXF1aXJlczpbInRleHQtZmllbGQiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwidGV4dC1zaXplIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjE2LG1pbmltdW06MCx1bml0czoicGl4ZWxzIixyZXF1aXJlczpbInRleHQtZmllbGQiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwidGV4dC1tYXgtd2lkdGgiOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MTAsbWluaW11bTowLHVuaXRzOiJlbXMiLHJlcXVpcmVzOlsidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJ0ZXh0LWxpbmUtaGVpZ2h0Ijp7dHlwZToibnVtYmVyIixkZWZhdWx0OjEuMix1bml0czoiZW1zIixyZXF1aXJlczpbInRleHQtZmllbGQiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInRleHQtbGV0dGVyLXNwYWNpbmciOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MCx1bml0czoiZW1zIixyZXF1aXJlczpbInRleHQtZmllbGQiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwidGV4dC1qdXN0aWZ5Ijp7dHlwZToiZW51bSIsdmFsdWVzOnthdXRvOnt9LGxlZnQ6e30sY2VudGVyOnt9LHJpZ2h0Ont9fSxkZWZhdWx0OiJjZW50ZXIiLHJlcXVpcmVzOlsidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJ0ZXh0LXJhZGlhbC1vZmZzZXQiOnt0eXBlOiJudW1iZXIiLHVuaXRzOiJlbXMiLGRlZmF1bHQ6MCxyZXF1aXJlczpbInRleHQtZmllbGQiXSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIl19fSwidGV4dC12YXJpYWJsZS1hbmNob3IiOnt0eXBlOiJhcnJheSIsdmFsdWU6ImVudW0iLHZhbHVlczp7Y2VudGVyOnt9LGxlZnQ6e30scmlnaHQ6e30sdG9wOnt9LGJvdHRvbTp7fSwidG9wLWxlZnQiOnt9LCJ0b3AtcmlnaHQiOnt9LCJib3R0b20tbGVmdCI6e30sImJvdHRvbS1yaWdodCI6e319LHJlcXVpcmVzOlsidGV4dC1maWVsZCIseyJzeW1ib2wtcGxhY2VtZW50IjpbInBvaW50Il19XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInRleHQtYW5jaG9yIjp7dHlwZToiZW51bSIsdmFsdWVzOntjZW50ZXI6e30sbGVmdDp7fSxyaWdodDp7fSx0b3A6e30sYm90dG9tOnt9LCJ0b3AtbGVmdCI6e30sInRvcC1yaWdodCI6e30sImJvdHRvbS1sZWZ0Ijp7fSwiYm90dG9tLXJpZ2h0Ijp7fX0sZGVmYXVsdDoiY2VudGVyIixyZXF1aXJlczpbInRleHQtZmllbGQiLHsiISI6InRleHQtdmFyaWFibGUtYW5jaG9yIn1dLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJ0ZXh0LW1heC1hbmdsZSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDo0NSx1bml0czoiZGVncmVlcyIscmVxdWlyZXM6WyJ0ZXh0LWZpZWxkIix7InN5bWJvbC1wbGFjZW1lbnQiOlsibGluZSIsImxpbmUtY2VudGVyIl19XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInRleHQtd3JpdGluZy1tb2RlIjp7dHlwZToiYXJyYXkiLHZhbHVlOiJlbnVtIix2YWx1ZXM6e2hvcml6b250YWw6e30sdmVydGljYWw6e319LHJlcXVpcmVzOlsidGV4dC1maWVsZCIseyJzeW1ib2wtcGxhY2VtZW50IjpbInBvaW50Il19XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInRleHQtcm90YXRlIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAscGVyaW9kOjM2MCx1bml0czoiZGVncmVlcyIscmVxdWlyZXM6WyJ0ZXh0LWZpZWxkIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sInRleHQtcGFkZGluZyI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoyLG1pbmltdW06MCx1bml0czoicGl4ZWxzIixyZXF1aXJlczpbInRleHQtZmllbGQiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInRleHQta2VlcC11cHJpZ2h0Ijp7dHlwZToiYm9vbGVhbiIsZGVmYXVsdDohMCxyZXF1aXJlczpbInRleHQtZmllbGQiLHsidGV4dC1yb3RhdGlvbi1hbGlnbm1lbnQiOiJtYXAifSx7InN5bWJvbC1wbGFjZW1lbnQiOlsibGluZSIsImxpbmUtY2VudGVyIl19XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInRleHQtdHJhbnNmb3JtIjp7dHlwZToiZW51bSIsdmFsdWVzOntub25lOnt9LHVwcGVyY2FzZTp7fSxsb3dlcmNhc2U6e319LGRlZmF1bHQ6Im5vbmUiLHJlcXVpcmVzOlsidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJ0ZXh0LW9mZnNldCI6e3R5cGU6ImFycmF5Iix2YWx1ZToibnVtYmVyIix1bml0czoiZW1zIixsZW5ndGg6MixkZWZhdWx0OlswLDBdLHJlcXVpcmVzOlsidGV4dC1maWVsZCIseyIhIjoidGV4dC1yYWRpYWwtb2Zmc2V0In0seyIhIjoidGV4dC12YXJpYWJsZS1hbmNob3IifV0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sInRleHQtYWxsb3ctb3ZlcmxhcCI6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITEscmVxdWlyZXM6WyJ0ZXh0LWZpZWxkIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJ0ZXh0LWlnbm9yZS1wbGFjZW1lbnQiOnt0eXBlOiJib29sZWFuIixkZWZhdWx0OiExLHJlcXVpcmVzOlsidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwidGV4dC1vcHRpb25hbCI6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITEscmVxdWlyZXM6WyJ0ZXh0LWZpZWxkIiwiaWNvbi1pbWFnZSJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSx2aXNpYmlsaXR5Ont0eXBlOiJlbnVtIix2YWx1ZXM6e3Zpc2libGU6e30sbm9uZTp7fX0sZGVmYXVsdDoidmlzaWJsZSIsInByb3BlcnR5LXR5cGUiOiJjb25zdGFudCJ9fSxsYXlvdXRfcmFzdGVyOnt2aXNpYmlsaXR5Ont0eXBlOiJlbnVtIix2YWx1ZXM6e3Zpc2libGU6e30sbm9uZTp7fX0sZGVmYXVsdDoidmlzaWJsZSIsInByb3BlcnR5LXR5cGUiOiJjb25zdGFudCJ9fSxsYXlvdXRfaGlsbHNoYWRlOnt2aXNpYmlsaXR5Ont0eXBlOiJlbnVtIix2YWx1ZXM6e3Zpc2libGU6e30sbm9uZTp7fX0sZGVmYXVsdDoidmlzaWJsZSIsInByb3BlcnR5LXR5cGUiOiJjb25zdGFudCJ9fSxmaWx0ZXI6e3R5cGU6ImFycmF5Iix2YWx1ZToiKiJ9LGZpbHRlcl9vcGVyYXRvcjp7dHlwZToiZW51bSIsdmFsdWVzOnsiPT0iOnt9LCIhPSI6e30sIj4iOnt9LCI+PSI6e30sIjwiOnt9LCI8PSI6e30saW46e30sIiFpbiI6e30sYWxsOnt9LGFueTp7fSxub25lOnt9LGhhczp7fSwiIWhhcyI6e319fSxnZW9tZXRyeV90eXBlOnt0eXBlOiJlbnVtIix2YWx1ZXM6e1BvaW50Ont9LExpbmVTdHJpbmc6e30sUG9seWdvbjp7fX19LGZ1bmN0aW9uOntleHByZXNzaW9uOnt0eXBlOiJleHByZXNzaW9uIn0sc3RvcHM6e3R5cGU6ImFycmF5Iix2YWx1ZToiZnVuY3Rpb25fc3RvcCJ9LGJhc2U6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MH0scHJvcGVydHk6e3R5cGU6InN0cmluZyIsZGVmYXVsdDoiJHpvb20ifSx0eXBlOnt0eXBlOiJlbnVtIix2YWx1ZXM6e2lkZW50aXR5Ont9LGV4cG9uZW50aWFsOnt9LGludGVydmFsOnt9LGNhdGVnb3JpY2FsOnt9fSxkZWZhdWx0OiJleHBvbmVudGlhbCJ9LGNvbG9yU3BhY2U6e3R5cGU6ImVudW0iLHZhbHVlczp7cmdiOnt9LGxhYjp7fSxoY2w6e319LGRlZmF1bHQ6InJnYiJ9LGRlZmF1bHQ6e3R5cGU6IioiLHJlcXVpcmVkOiExfX0sZnVuY3Rpb25fc3RvcDp7dHlwZToiYXJyYXkiLG1pbmltdW06MCxtYXhpbXVtOjIyLHZhbHVlOlsibnVtYmVyIiwiY29sb3IiXSxsZW5ndGg6Mn0sZXhwcmVzc2lvbjp7dHlwZToiYXJyYXkiLHZhbHVlOiIqIixtaW5pbXVtOjF9LGV4cHJlc3Npb25fbmFtZTp7dHlwZToiZW51bSIsdmFsdWVzOntsZXQ6e2dyb3VwOiJWYXJpYWJsZSBiaW5kaW5nIn0sdmFyOntncm91cDoiVmFyaWFibGUgYmluZGluZyJ9LGxpdGVyYWw6e2dyb3VwOiJUeXBlcyJ9LGFycmF5Ontncm91cDoiVHlwZXMifSxhdDp7Z3JvdXA6Ikxvb2t1cCJ9LGNhc2U6e2dyb3VwOiJEZWNpc2lvbiJ9LG1hdGNoOntncm91cDoiRGVjaXNpb24ifSxjb2FsZXNjZTp7Z3JvdXA6IkRlY2lzaW9uIn0sc3RlcDp7Z3JvdXA6IlJhbXBzLCBzY2FsZXMsIGN1cnZlcyJ9LGludGVycG9sYXRlOntncm91cDoiUmFtcHMsIHNjYWxlcywgY3VydmVzIn0sImludGVycG9sYXRlLWhjbCI6e2dyb3VwOiJSYW1wcywgc2NhbGVzLCBjdXJ2ZXMifSwiaW50ZXJwb2xhdGUtbGFiIjp7Z3JvdXA6IlJhbXBzLCBzY2FsZXMsIGN1cnZlcyJ9LGxuMjp7Z3JvdXA6Ik1hdGgifSxwaTp7Z3JvdXA6Ik1hdGgifSxlOntncm91cDoiTWF0aCJ9LHR5cGVvZjp7Z3JvdXA6IlR5cGVzIn0sc3RyaW5nOntncm91cDoiVHlwZXMifSxudW1iZXI6e2dyb3VwOiJUeXBlcyJ9LGJvb2xlYW46e2dyb3VwOiJUeXBlcyJ9LG9iamVjdDp7Z3JvdXA6IlR5cGVzIn0sY29sbGF0b3I6e2dyb3VwOiJUeXBlcyJ9LGZvcm1hdDp7Z3JvdXA6IlR5cGVzIn0sIm51bWJlci1mb3JtYXQiOntncm91cDoiVHlwZXMifSwidG8tc3RyaW5nIjp7Z3JvdXA6IlR5cGVzIn0sInRvLW51bWJlciI6e2dyb3VwOiJUeXBlcyJ9LCJ0by1ib29sZWFuIjp7Z3JvdXA6IlR5cGVzIn0sInRvLXJnYmEiOntncm91cDoiQ29sb3IifSwidG8tY29sb3IiOntncm91cDoiVHlwZXMifSxyZ2I6e2dyb3VwOiJDb2xvciJ9LHJnYmE6e2dyb3VwOiJDb2xvciJ9LGdldDp7Z3JvdXA6Ikxvb2t1cCJ9LGhhczp7Z3JvdXA6Ikxvb2t1cCJ9LGxlbmd0aDp7Z3JvdXA6Ikxvb2t1cCJ9LHByb3BlcnRpZXM6e2dyb3VwOiJGZWF0dXJlIGRhdGEifSwiZmVhdHVyZS1zdGF0ZSI6e2dyb3VwOiJGZWF0dXJlIGRhdGEifSwiZ2VvbWV0cnktdHlwZSI6e2dyb3VwOiJGZWF0dXJlIGRhdGEifSxpZDp7Z3JvdXA6IkZlYXR1cmUgZGF0YSJ9LHpvb206e2dyb3VwOiJab29tIn0sImhlYXRtYXAtZGVuc2l0eSI6e2dyb3VwOiJIZWF0bWFwIn0sImxpbmUtcHJvZ3Jlc3MiOntncm91cDoiRmVhdHVyZSBkYXRhIn0sYWNjdW11bGF0ZWQ6e2dyb3VwOiJGZWF0dXJlIGRhdGEifSwiKyI6e2dyb3VwOiJNYXRoIn0sIioiOntncm91cDoiTWF0aCJ9LCItIjp7Z3JvdXA6Ik1hdGgifSwiLyI6e2dyb3VwOiJNYXRoIn0sIiUiOntncm91cDoiTWF0aCJ9LCJeIjp7Z3JvdXA6Ik1hdGgifSxzcXJ0Ontncm91cDoiTWF0aCJ9LGxvZzEwOntncm91cDoiTWF0aCJ9LGxuOntncm91cDoiTWF0aCJ9LGxvZzI6e2dyb3VwOiJNYXRoIn0sc2luOntncm91cDoiTWF0aCJ9LGNvczp7Z3JvdXA6Ik1hdGgifSx0YW46e2dyb3VwOiJNYXRoIn0sYXNpbjp7Z3JvdXA6Ik1hdGgifSxhY29zOntncm91cDoiTWF0aCJ9LGF0YW46e2dyb3VwOiJNYXRoIn0sbWluOntncm91cDoiTWF0aCJ9LG1heDp7Z3JvdXA6Ik1hdGgifSxyb3VuZDp7Z3JvdXA6Ik1hdGgifSxhYnM6e2dyb3VwOiJNYXRoIn0sY2VpbDp7Z3JvdXA6Ik1hdGgifSxmbG9vcjp7Z3JvdXA6Ik1hdGgifSwiPT0iOntncm91cDoiRGVjaXNpb24ifSwiIT0iOntncm91cDoiRGVjaXNpb24ifSwiPiI6e2dyb3VwOiJEZWNpc2lvbiJ9LCI8Ijp7Z3JvdXA6IkRlY2lzaW9uIn0sIj49Ijp7Z3JvdXA6IkRlY2lzaW9uIn0sIjw9Ijp7Z3JvdXA6IkRlY2lzaW9uIn0sYWxsOntncm91cDoiRGVjaXNpb24ifSxhbnk6e2dyb3VwOiJEZWNpc2lvbiJ9LCIhIjp7Z3JvdXA6IkRlY2lzaW9uIn0sImlzLXN1cHBvcnRlZC1zY3JpcHQiOntncm91cDoiU3RyaW5nIn0sdXBjYXNlOntncm91cDoiU3RyaW5nIn0sZG93bmNhc2U6e2dyb3VwOiJTdHJpbmcifSxjb25jYXQ6e2dyb3VwOiJTdHJpbmcifSwicmVzb2x2ZWQtbG9jYWxlIjp7Z3JvdXA6IlN0cmluZyJ9fX0sbGlnaHQ6e2FuY2hvcjp7dHlwZToiZW51bSIsZGVmYXVsdDoidmlld3BvcnQiLHZhbHVlczp7bWFwOnt9LHZpZXdwb3J0Ont9fSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQiLHRyYW5zaXRpb246ITEsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIl19fSxwb3NpdGlvbjp7dHlwZToiYXJyYXkiLGRlZmF1bHQ6WzEuMTUsMjEwLDMwXSxsZW5ndGg6Myx2YWx1ZToibnVtYmVyIiwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQiLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIl19fSxjb2xvcjp7dHlwZToiY29sb3IiLCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCIsZGVmYXVsdDoiI2ZmZmZmZiIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIl19LHRyYW5zaXRpb246ITB9LGludGVuc2l0eTp7dHlwZToibnVtYmVyIiwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQiLGRlZmF1bHQ6LjUsbWluaW11bTowLG1heGltdW06MSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sdHJhbnNpdGlvbjohMH19LHBhaW50OlsicGFpbnRfZmlsbCIsInBhaW50X2xpbmUiLCJwYWludF9jaXJjbGUiLCJwYWludF9oZWF0bWFwIiwicGFpbnRfZmlsbC1leHRydXNpb24iLCJwYWludF9zeW1ib2wiLCJwYWludF9yYXN0ZXIiLCJwYWludF9oaWxsc2hhZGUiLCJwYWludF9iYWNrZ3JvdW5kIl0scGFpbnRfZmlsbDp7ImZpbGwtYW50aWFsaWFzIjp7dHlwZToiYm9vbGVhbiIsZGVmYXVsdDohMCxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImZpbGwtb3BhY2l0eSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MCxtYXhpbXVtOjEsdHJhbnNpdGlvbjohMCxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImZpbGwtY29sb3IiOnt0eXBlOiJjb2xvciIsZGVmYXVsdDoiIzAwMDAwMCIsdHJhbnNpdGlvbjohMCxyZXF1aXJlczpbeyIhIjoiZmlsbC1wYXR0ZXJuIn1dLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiLCJmZWF0dXJlLXN0YXRlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwiZmlsbC1vdXRsaW5lLWNvbG9yIjp7dHlwZToiY29sb3IiLHRyYW5zaXRpb246ITAscmVxdWlyZXM6W3siISI6ImZpbGwtcGF0dGVybiJ9LHsiZmlsbC1hbnRpYWxpYXMiOiEwfV0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJmaWxsLXRyYW5zbGF0ZSI6e3R5cGU6ImFycmF5Iix2YWx1ZToibnVtYmVyIixsZW5ndGg6MixkZWZhdWx0OlswLDBdLHRyYW5zaXRpb246ITAsdW5pdHM6InBpeGVscyIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJmaWxsLXRyYW5zbGF0ZS1hbmNob3IiOnt0eXBlOiJlbnVtIix2YWx1ZXM6e21hcDp7fSx2aWV3cG9ydDp7fX0sZGVmYXVsdDoibWFwIixyZXF1aXJlczpbImZpbGwtdHJhbnNsYXRlIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJmaWxsLXBhdHRlcm4iOnt0eXBlOiJzdHJpbmciLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImNyb3NzLWZhZGVkLWRhdGEtZHJpdmVuIn19LCJwYWludF9maWxsLWV4dHJ1c2lvbiI6eyJmaWxsLWV4dHJ1c2lvbi1vcGFjaXR5Ijp7dHlwZToibnVtYmVyIixkZWZhdWx0OjEsbWluaW11bTowLG1heGltdW06MSx0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiZmlsbC1leHRydXNpb24tY29sb3IiOnt0eXBlOiJjb2xvciIsZGVmYXVsdDoiIzAwMDAwMCIsdHJhbnNpdGlvbjohMCxyZXF1aXJlczpbeyIhIjoiZmlsbC1leHRydXNpb24tcGF0dGVybiJ9XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImZpbGwtZXh0cnVzaW9uLXRyYW5zbGF0ZSI6e3R5cGU6ImFycmF5Iix2YWx1ZToibnVtYmVyIixsZW5ndGg6MixkZWZhdWx0OlswLDBdLHRyYW5zaXRpb246ITAsdW5pdHM6InBpeGVscyIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJmaWxsLWV4dHJ1c2lvbi10cmFuc2xhdGUtYW5jaG9yIjp7dHlwZToiZW51bSIsdmFsdWVzOnttYXA6e30sdmlld3BvcnQ6e319LGRlZmF1bHQ6Im1hcCIscmVxdWlyZXM6WyJmaWxsLWV4dHJ1c2lvbi10cmFuc2xhdGUiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImZpbGwtZXh0cnVzaW9uLXBhdHRlcm4iOnt0eXBlOiJzdHJpbmciLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImNyb3NzLWZhZGVkLWRhdGEtZHJpdmVuIn0sImZpbGwtZXh0cnVzaW9uLWhlaWdodCI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDowLG1pbmltdW06MCx1bml0czoibWV0ZXJzIix0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiLCJmZWF0dXJlLXN0YXRlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwiZmlsbC1leHRydXNpb24tYmFzZSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDowLG1pbmltdW06MCx1bml0czoibWV0ZXJzIix0cmFuc2l0aW9uOiEwLHJlcXVpcmVzOlsiZmlsbC1leHRydXNpb24taGVpZ2h0Il0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJmaWxsLWV4dHJ1c2lvbi12ZXJ0aWNhbC1ncmFkaWVudCI6e3R5cGU6ImJvb2xlYW4iLGRlZmF1bHQ6ITAsdHJhbnNpdGlvbjohMSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In19LHBhaW50X2xpbmU6eyJsaW5lLW9wYWNpdHkiOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MSxtaW5pbXVtOjAsbWF4aW11bToxLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJsaW5lLWNvbG9yIjp7dHlwZToiY29sb3IiLGRlZmF1bHQ6IiMwMDAwMDAiLHRyYW5zaXRpb246ITAscmVxdWlyZXM6W3siISI6ImxpbmUtcGF0dGVybiJ9XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImxpbmUtdHJhbnNsYXRlIjp7dHlwZToiYXJyYXkiLHZhbHVlOiJudW1iZXIiLGxlbmd0aDoyLGRlZmF1bHQ6WzAsMF0sdHJhbnNpdGlvbjohMCx1bml0czoicGl4ZWxzIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImxpbmUtdHJhbnNsYXRlLWFuY2hvciI6e3R5cGU6ImVudW0iLHZhbHVlczp7bWFwOnt9LHZpZXdwb3J0Ont9fSxkZWZhdWx0OiJtYXAiLHJlcXVpcmVzOlsibGluZS10cmFuc2xhdGUiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImxpbmUtd2lkdGgiOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MSxtaW5pbXVtOjAsdHJhbnNpdGlvbjohMCx1bml0czoicGl4ZWxzIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImxpbmUtZ2FwLXdpZHRoIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAsbWluaW11bTowLHRyYW5zaXRpb246ITAsdW5pdHM6InBpeGVscyIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJsaW5lLW9mZnNldCI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDowLHRyYW5zaXRpb246ITAsdW5pdHM6InBpeGVscyIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJsaW5lLWJsdXIiOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MCxtaW5pbXVtOjAsdHJhbnNpdGlvbjohMCx1bml0czoicGl4ZWxzIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImxpbmUtZGFzaGFycmF5Ijp7dHlwZToiYXJyYXkiLHZhbHVlOiJudW1iZXIiLG1pbmltdW06MCx0cmFuc2l0aW9uOiEwLHVuaXRzOiJsaW5lIHdpZHRocyIscmVxdWlyZXM6W3siISI6ImxpbmUtcGF0dGVybiJ9XSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJjcm9zcy1mYWRlZCJ9LCJsaW5lLXBhdHRlcm4iOnt0eXBlOiJzdHJpbmciLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSJdfSwicHJvcGVydHktdHlwZSI6ImNyb3NzLWZhZGVkLWRhdGEtZHJpdmVuIn0sImxpbmUtZ3JhZGllbnQiOnt0eXBlOiJjb2xvciIsdHJhbnNpdGlvbjohMSxyZXF1aXJlczpbeyIhIjoibGluZS1kYXNoYXJyYXkifSx7IiEiOiJsaW5lLXBhdHRlcm4ifSx7c291cmNlOiJnZW9qc29uIixoYXM6e2xpbmVNZXRyaWNzOiEwfX1dLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsibGluZS1wcm9ncmVzcyJdfSwicHJvcGVydHktdHlwZSI6ImNvbG9yLXJhbXAifX0scGFpbnRfY2lyY2xlOnsiY2lyY2xlLXJhZGl1cyI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDo1LG1pbmltdW06MCx0cmFuc2l0aW9uOiEwLHVuaXRzOiJwaXhlbHMiLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiLCJmZWF0dXJlLXN0YXRlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwiY2lyY2xlLWNvbG9yIjp7dHlwZToiY29sb3IiLGRlZmF1bHQ6IiMwMDAwMDAiLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJjaXJjbGUtYmx1ciI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDowLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJjaXJjbGUtb3BhY2l0eSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MCxtYXhpbXVtOjEsdHJhbnNpdGlvbjohMCxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImNpcmNsZS10cmFuc2xhdGUiOnt0eXBlOiJhcnJheSIsdmFsdWU6Im51bWJlciIsbGVuZ3RoOjIsZGVmYXVsdDpbMCwwXSx0cmFuc2l0aW9uOiEwLHVuaXRzOiJwaXhlbHMiLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiY2lyY2xlLXRyYW5zbGF0ZS1hbmNob3IiOnt0eXBlOiJlbnVtIix2YWx1ZXM6e21hcDp7fSx2aWV3cG9ydDp7fX0sZGVmYXVsdDoibWFwIixyZXF1aXJlczpbImNpcmNsZS10cmFuc2xhdGUiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImNpcmNsZS1waXRjaC1zY2FsZSI6e3R5cGU6ImVudW0iLHZhbHVlczp7bWFwOnt9LHZpZXdwb3J0Ont9fSxkZWZhdWx0OiJtYXAiLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiY2lyY2xlLXBpdGNoLWFsaWdubWVudCI6e3R5cGU6ImVudW0iLHZhbHVlczp7bWFwOnt9LHZpZXdwb3J0Ont9fSxkZWZhdWx0OiJ2aWV3cG9ydCIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiExLHBhcmFtZXRlcnM6WyJ6b29tIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1jb25zdGFudCJ9LCJjaXJjbGUtc3Ryb2tlLXdpZHRoIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAsbWluaW11bTowLHRyYW5zaXRpb246ITAsdW5pdHM6InBpeGVscyIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJjaXJjbGUtc3Ryb2tlLWNvbG9yIjp7dHlwZToiY29sb3IiLGRlZmF1bHQ6IiMwMDAwMDAiLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJjaXJjbGUtc3Ryb2tlLW9wYWNpdHkiOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MSxtaW5pbXVtOjAsbWF4aW11bToxLHRyYW5zaXRpb246ITAsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9fSxwYWludF9oZWF0bWFwOnsiaGVhdG1hcC1yYWRpdXMiOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MzAsbWluaW11bToxLHRyYW5zaXRpb246ITAsdW5pdHM6InBpeGVscyIsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJoZWF0bWFwLXdlaWdodCI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MCx0cmFuc2l0aW9uOiExLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiLCJmZWF0dXJlLXN0YXRlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwiaGVhdG1hcC1pbnRlbnNpdHkiOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MSxtaW5pbXVtOjAsdHJhbnNpdGlvbjohMCxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImhlYXRtYXAtY29sb3IiOnt0eXBlOiJjb2xvciIsZGVmYXVsdDpbImludGVycG9sYXRlIixbImxpbmVhciJdLFsiaGVhdG1hcC1kZW5zaXR5Il0sMCwicmdiYSgwLCAwLCAyNTUsIDApIiwuMSwicm95YWxibHVlIiwuMywiY3lhbiIsLjUsImxpbWUiLC43LCJ5ZWxsb3ciLDEsInJlZCJdLHRyYW5zaXRpb246ITEsZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJoZWF0bWFwLWRlbnNpdHkiXX0sInByb3BlcnR5LXR5cGUiOiJjb2xvci1yYW1wIn0sImhlYXRtYXAtb3BhY2l0eSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MCxtYXhpbXVtOjEsdHJhbnNpdGlvbjohMCxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In19LHBhaW50X3N5bWJvbDp7Imljb24tb3BhY2l0eSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MCxtYXhpbXVtOjEsdHJhbnNpdGlvbjohMCxyZXF1aXJlczpbImljb24taW1hZ2UiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImljb24tY29sb3IiOnt0eXBlOiJjb2xvciIsZGVmYXVsdDoiIzAwMDAwMCIsdHJhbnNpdGlvbjohMCxyZXF1aXJlczpbImljb24taW1hZ2UiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sImljb24taGFsby1jb2xvciI6e3R5cGU6ImNvbG9yIixkZWZhdWx0OiJyZ2JhKDAsIDAsIDAsIDApIix0cmFuc2l0aW9uOiEwLHJlcXVpcmVzOlsiaWNvbi1pbWFnZSJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiLCJmZWF0dXJlLXN0YXRlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwiaWNvbi1oYWxvLXdpZHRoIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAsbWluaW11bTowLHRyYW5zaXRpb246ITAsdW5pdHM6InBpeGVscyIscmVxdWlyZXM6WyJpY29uLWltYWdlIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJpY29uLWhhbG8tYmx1ciI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDowLG1pbmltdW06MCx0cmFuc2l0aW9uOiEwLHVuaXRzOiJwaXhlbHMiLHJlcXVpcmVzOlsiaWNvbi1pbWFnZSJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiLCJmZWF0dXJlLXN0YXRlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwiaWNvbi10cmFuc2xhdGUiOnt0eXBlOiJhcnJheSIsdmFsdWU6Im51bWJlciIsbGVuZ3RoOjIsZGVmYXVsdDpbMCwwXSx0cmFuc2l0aW9uOiEwLHVuaXRzOiJwaXhlbHMiLHJlcXVpcmVzOlsiaWNvbi1pbWFnZSJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiaWNvbi10cmFuc2xhdGUtYW5jaG9yIjp7dHlwZToiZW51bSIsdmFsdWVzOnttYXA6e30sdmlld3BvcnQ6e319LGRlZmF1bHQ6Im1hcCIscmVxdWlyZXM6WyJpY29uLWltYWdlIiwiaWNvbi10cmFuc2xhdGUiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInRleHQtb3BhY2l0eSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MCxtYXhpbXVtOjEsdHJhbnNpdGlvbjohMCxyZXF1aXJlczpbInRleHQtZmllbGQiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sInRleHQtY29sb3IiOnt0eXBlOiJjb2xvciIsZGVmYXVsdDoiIzAwMDAwMCIsdHJhbnNpdGlvbjohMCxvdmVycmlkYWJsZTohMCxyZXF1aXJlczpbInRleHQtZmllbGQiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iLCJmZWF0dXJlIiwiZmVhdHVyZS1zdGF0ZSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtZHJpdmVuIn0sInRleHQtaGFsby1jb2xvciI6e3R5cGU6ImNvbG9yIixkZWZhdWx0OiJyZ2JhKDAsIDAsIDAsIDApIix0cmFuc2l0aW9uOiEwLHJlcXVpcmVzOlsidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiLCJmZWF0dXJlLXN0YXRlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwidGV4dC1oYWxvLXdpZHRoIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAsbWluaW11bTowLHRyYW5zaXRpb246ITAsdW5pdHM6InBpeGVscyIscmVxdWlyZXM6WyJ0ZXh0LWZpZWxkIl0sZXhwcmVzc2lvbjp7aW50ZXJwb2xhdGVkOiEwLHBhcmFtZXRlcnM6WyJ6b29tIiwiZmVhdHVyZSIsImZlYXR1cmUtc3RhdGUiXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWRyaXZlbiJ9LCJ0ZXh0LWhhbG8tYmx1ciI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDowLG1pbmltdW06MCx0cmFuc2l0aW9uOiEwLHVuaXRzOiJwaXhlbHMiLHJlcXVpcmVzOlsidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiLCJmZWF0dXJlLXN0YXRlIl19LCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4ifSwidGV4dC10cmFuc2xhdGUiOnt0eXBlOiJhcnJheSIsdmFsdWU6Im51bWJlciIsbGVuZ3RoOjIsZGVmYXVsdDpbMCwwXSx0cmFuc2l0aW9uOiEwLHVuaXRzOiJwaXhlbHMiLHJlcXVpcmVzOlsidGV4dC1maWVsZCJdLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwidGV4dC10cmFuc2xhdGUtYW5jaG9yIjp7dHlwZToiZW51bSIsdmFsdWVzOnttYXA6e30sdmlld3BvcnQ6e319LGRlZmF1bHQ6Im1hcCIscmVxdWlyZXM6WyJ0ZXh0LWZpZWxkIiwidGV4dC10cmFuc2xhdGUiXSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In19LHBhaW50X3Jhc3Rlcjp7InJhc3Rlci1vcGFjaXR5Ijp7dHlwZToibnVtYmVyIixkZWZhdWx0OjEsbWluaW11bTowLG1heGltdW06MSx0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwicmFzdGVyLWh1ZS1yb3RhdGUiOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MCxwZXJpb2Q6MzYwLHRyYW5zaXRpb246ITAsdW5pdHM6ImRlZ3JlZXMiLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwicmFzdGVyLWJyaWdodG5lc3MtbWluIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAsbWluaW11bTowLG1heGltdW06MSx0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwicmFzdGVyLWJyaWdodG5lc3MtbWF4Ijp7dHlwZToibnVtYmVyIixkZWZhdWx0OjEsbWluaW11bTowLG1heGltdW06MSx0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwicmFzdGVyLXNhdHVyYXRpb24iOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MCxtaW5pbXVtOi0xLG1heGltdW06MSx0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwicmFzdGVyLWNvbnRyYXN0Ijp7dHlwZToibnVtYmVyIixkZWZhdWx0OjAsbWluaW11bTotMSxtYXhpbXVtOjEsdHJhbnNpdGlvbjohMCxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInJhc3Rlci1yZXNhbXBsaW5nIjp7dHlwZToiZW51bSIsdmFsdWVzOntsaW5lYXI6e30sbmVhcmVzdDp7fX0sZGVmYXVsdDoibGluZWFyIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sInJhc3Rlci1mYWRlLWR1cmF0aW9uIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjMwMCxtaW5pbXVtOjAsdHJhbnNpdGlvbjohMSx1bml0czoibWlsbGlzZWNvbmRzIixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In19LHBhaW50X2hpbGxzaGFkZTp7ImhpbGxzaGFkZS1pbGx1bWluYXRpb24tZGlyZWN0aW9uIjp7dHlwZToibnVtYmVyIixkZWZhdWx0OjMzNSxtaW5pbXVtOjAsbWF4aW11bTozNTksdHJhbnNpdGlvbjohMSxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImhpbGxzaGFkZS1pbGx1bWluYXRpb24tYW5jaG9yIjp7dHlwZToiZW51bSIsdmFsdWVzOnttYXA6e30sdmlld3BvcnQ6e319LGRlZmF1bHQ6InZpZXdwb3J0IixleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITEscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In0sImhpbGxzaGFkZS1leGFnZ2VyYXRpb24iOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6LjUsbWluaW11bTowLG1heGltdW06MSx0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiaGlsbHNoYWRlLXNoYWRvdy1jb2xvciI6e3R5cGU6ImNvbG9yIixkZWZhdWx0OiIjMDAwMDAwIix0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiaGlsbHNoYWRlLWhpZ2hsaWdodC1jb2xvciI6e3R5cGU6ImNvbG9yIixkZWZhdWx0OiIjRkZGRkZGIix0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiaGlsbHNoYWRlLWFjY2VudC1jb2xvciI6e3R5cGU6ImNvbG9yIixkZWZhdWx0OiIjMDAwMDAwIix0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifX0scGFpbnRfYmFja2dyb3VuZDp7ImJhY2tncm91bmQtY29sb3IiOnt0eXBlOiJjb2xvciIsZGVmYXVsdDoiIzAwMDAwMCIsdHJhbnNpdGlvbjohMCxyZXF1aXJlczpbeyIhIjoiYmFja2dyb3VuZC1wYXR0ZXJuIn1dLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMCxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImRhdGEtY29uc3RhbnQifSwiYmFja2dyb3VuZC1wYXR0ZXJuIjp7dHlwZToic3RyaW5nIix0cmFuc2l0aW9uOiEwLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSJdfSwicHJvcGVydHktdHlwZSI6ImNyb3NzLWZhZGVkIn0sImJhY2tncm91bmQtb3BhY2l0eSI6e3R5cGU6Im51bWJlciIsZGVmYXVsdDoxLG1pbmltdW06MCxtYXhpbXVtOjEsdHJhbnNpdGlvbjohMCxleHByZXNzaW9uOntpbnRlcnBvbGF0ZWQ6ITAscGFyYW1ldGVyczpbInpvb20iXX0sInByb3BlcnR5LXR5cGUiOiJkYXRhLWNvbnN0YW50In19LHRyYW5zaXRpb246e2R1cmF0aW9uOnt0eXBlOiJudW1iZXIiLGRlZmF1bHQ6MzAwLG1pbmltdW06MCx1bml0czoibWlsbGlzZWNvbmRzIn0sZGVsYXk6e3R5cGU6Im51bWJlciIsZGVmYXVsdDowLG1pbmltdW06MCx1bml0czoibWlsbGlzZWNvbmRzIn19LCJwcm9wZXJ0eS10eXBlIjp7ImRhdGEtZHJpdmVuIjp7dHlwZToicHJvcGVydHktdHlwZSJ9LCJjcm9zcy1mYWRlZCI6e3R5cGU6InByb3BlcnR5LXR5cGUifSwiY3Jvc3MtZmFkZWQtZGF0YS1kcml2ZW4iOnt0eXBlOiJwcm9wZXJ0eS10eXBlIn0sImNvbG9yLXJhbXAiOnt0eXBlOiJwcm9wZXJ0eS10eXBlIn0sImRhdGEtY29uc3RhbnQiOnt0eXBlOiJwcm9wZXJ0eS10eXBlIn0sY29uc3RhbnQ6e3R5cGU6InByb3BlcnR5LXR5cGUifX19LE10PWZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMubWVzc2FnZT0odD90KyI6ICI6IiIpK3IsbiYmKHRoaXMuaWRlbnRpZmllcj1uKSxudWxsIT1lJiZlLl9fbGluZV9fJiYodGhpcy5saW5lPWUuX19saW5lX18pfTtmdW5jdGlvbiBBdCh0KXt2YXIgZT10LmtleSxyPXQudmFsdWU7cmV0dXJuIHI/W25ldyBNdChlLHIsImNvbnN0YW50cyBoYXZlIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiB2OCIpXTpbXX1mdW5jdGlvbiBTdCh0KXtmb3IodmFyIGU9W10scj1hcmd1bWVudHMubGVuZ3RoLTE7ci0tID4wOyllW3JdPWFyZ3VtZW50c1tyKzFdO2Zvcih2YXIgbj0wLGE9ZTtuPGEubGVuZ3RoO24rPTEpe3ZhciBpPWFbbl07Zm9yKHZhciBvIGluIGkpdFtvXT1pW29dfXJldHVybiB0fWZ1bmN0aW9uIEV0KHQpe3JldHVybiB0IGluc3RhbmNlb2YgTnVtYmVyfHx0IGluc3RhbmNlb2YgU3RyaW5nfHx0IGluc3RhbmNlb2YgQm9vbGVhbn1mdW5jdGlvbiBMdCh0KXtyZXR1cm4gRXQodCk/dC52YWx1ZU9mKCk6dH1mdW5jdGlvbiBDdCh0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiB0Lm1hcChDdCk7aWYodCBpbnN0YW5jZW9mIE9iamVjdCYmIUV0KHQpKXt2YXIgZT17fTtmb3IodmFyIHIgaW4gdCllW3JdPUN0KHRbcl0pO3JldHVybiBlfXJldHVybiBMdCh0KX12YXIgUHQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLHIpe3QuY2FsbCh0aGlzLHIpLHRoaXMubWVzc2FnZT1yLHRoaXMua2V5PWV9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGV9KEVycm9yKSxPdD1mdW5jdGlvbih0LGUpe3ZvaWQgMD09PWUmJihlPVtdKSx0aGlzLnBhcmVudD10LHRoaXMuYmluZGluZ3M9e307Zm9yKHZhciByPTAsbj1lO3I8bi5sZW5ndGg7cis9MSl7dmFyIGE9bltyXSxpPWFbMF0sbz1hWzFdO3RoaXMuYmluZGluZ3NbaV09b319O090LnByb3RvdHlwZS5jb25jYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBPdCh0aGlzLHQpfSxPdC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe2lmKHRoaXMuYmluZGluZ3NbdF0pcmV0dXJuIHRoaXMuYmluZGluZ3NbdF07aWYodGhpcy5wYXJlbnQpcmV0dXJuIHRoaXMucGFyZW50LmdldCh0KTt0aHJvdyBuZXcgRXJyb3IodCsiIG5vdCBmb3VuZCBpbiBzY29wZS4iKX0sT3QucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4hIXRoaXMuYmluZGluZ3NbdF18fCEhdGhpcy5wYXJlbnQmJnRoaXMucGFyZW50Lmhhcyh0KX07dmFyIHp0PXtraW5kOiJudWxsIn0sSXQ9e2tpbmQ6Im51bWJlciJ9LER0PXtraW5kOiJzdHJpbmcifSxSdD17a2luZDoiYm9vbGVhbiJ9LEZ0PXtraW5kOiJjb2xvciJ9LEJ0PXtraW5kOiJvYmplY3QifSxOdD17a2luZDoidmFsdWUifSxqdD17a2luZDoiY29sbGF0b3IifSxWdD17a2luZDoiZm9ybWF0dGVkIn07ZnVuY3Rpb24gVXQodCxlKXtyZXR1cm57a2luZDoiYXJyYXkiLGl0ZW1UeXBlOnQsTjplfX1mdW5jdGlvbiBxdCh0KXtpZigiYXJyYXkiPT09dC5raW5kKXt2YXIgZT1xdCh0Lml0ZW1UeXBlKTtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQuTj8iYXJyYXk8IitlKyIsICIrdC5OKyI+IjoidmFsdWUiPT09dC5pdGVtVHlwZS5raW5kPyJhcnJheSI6ImFycmF5PCIrZSsiPiJ9cmV0dXJuIHQua2luZH12YXIgSHQ9W3p0LEl0LER0LFJ0LEZ0LFZ0LEJ0LFV0KE50KV07ZnVuY3Rpb24gR3QodCxlKXtpZigiZXJyb3IiPT09ZS5raW5kKXJldHVybiBudWxsO2lmKCJhcnJheSI9PT10LmtpbmQpe2lmKCJhcnJheSI9PT1lLmtpbmQmJigwPT09ZS5OJiYidmFsdWUiPT09ZS5pdGVtVHlwZS5raW5kfHwhR3QodC5pdGVtVHlwZSxlLml0ZW1UeXBlKSkmJigibnVtYmVyIiE9dHlwZW9mIHQuTnx8dC5OPT09ZS5OKSlyZXR1cm4gbnVsbH1lbHNle2lmKHQua2luZD09PWUua2luZClyZXR1cm4gbnVsbDtpZigidmFsdWUiPT09dC5raW5kKWZvcih2YXIgcj0wLG49SHQ7cjxuLmxlbmd0aDtyKz0xKWlmKCFHdChuW3JdLGUpKXJldHVybiBudWxsfXJldHVybiJFeHBlY3RlZCAiK3F0KHQpKyIgYnV0IGZvdW5kICIrcXQoZSkrIiBpbnN0ZWFkLiJ9dmFyIFl0PWUoZnVuY3Rpb24odCxlKXt2YXIgcj17dHJhbnNwYXJlbnQ6WzAsMCwwLDBdLGFsaWNlYmx1ZTpbMjQwLDI0OCwyNTUsMV0sYW50aXF1ZXdoaXRlOlsyNTAsMjM1LDIxNSwxXSxhcXVhOlswLDI1NSwyNTUsMV0sYXF1YW1hcmluZTpbMTI3LDI1NSwyMTIsMV0sYXp1cmU6WzI0MCwyNTUsMjU1LDFdLGJlaWdlOlsyNDUsMjQ1LDIyMCwxXSxiaXNxdWU6WzI1NSwyMjgsMTk2LDFdLGJsYWNrOlswLDAsMCwxXSxibGFuY2hlZGFsbW9uZDpbMjU1LDIzNSwyMDUsMV0sYmx1ZTpbMCwwLDI1NSwxXSxibHVldmlvbGV0OlsxMzgsNDMsMjI2LDFdLGJyb3duOlsxNjUsNDIsNDIsMV0sYnVybHl3b29kOlsyMjIsMTg0LDEzNSwxXSxjYWRldGJsdWU6Wzk1LDE1OCwxNjAsMV0sY2hhcnRyZXVzZTpbMTI3LDI1NSwwLDFdLGNob2NvbGF0ZTpbMjEwLDEwNSwzMCwxXSxjb3JhbDpbMjU1LDEyNyw4MCwxXSxjb3JuZmxvd2VyYmx1ZTpbMTAwLDE0OSwyMzcsMV0sY29ybnNpbGs6WzI1NSwyNDgsMjIwLDFdLGNyaW1zb246WzIyMCwyMCw2MCwxXSxjeWFuOlswLDI1NSwyNTUsMV0sZGFya2JsdWU6WzAsMCwxMzksMV0sZGFya2N5YW46WzAsMTM5LDEzOSwxXSxkYXJrZ29sZGVucm9kOlsxODQsMTM0LDExLDFdLGRhcmtncmF5OlsxNjksMTY5LDE2OSwxXSxkYXJrZ3JlZW46WzAsMTAwLDAsMV0sZGFya2dyZXk6WzE2OSwxNjksMTY5LDFdLGRhcmtraGFraTpbMTg5LDE4MywxMDcsMV0sZGFya21hZ2VudGE6WzEzOSwwLDEzOSwxXSxkYXJrb2xpdmVncmVlbjpbODUsMTA3LDQ3LDFdLGRhcmtvcmFuZ2U6WzI1NSwxNDAsMCwxXSxkYXJrb3JjaGlkOlsxNTMsNTAsMjA0LDFdLGRhcmtyZWQ6WzEzOSwwLDAsMV0sZGFya3NhbG1vbjpbMjMzLDE1MCwxMjIsMV0sZGFya3NlYWdyZWVuOlsxNDMsMTg4LDE0MywxXSxkYXJrc2xhdGVibHVlOls3Miw2MSwxMzksMV0sZGFya3NsYXRlZ3JheTpbNDcsNzksNzksMV0sZGFya3NsYXRlZ3JleTpbNDcsNzksNzksMV0sZGFya3R1cnF1b2lzZTpbMCwyMDYsMjA5LDFdLGRhcmt2aW9sZXQ6WzE0OCwwLDIxMSwxXSxkZWVwcGluazpbMjU1LDIwLDE0NywxXSxkZWVwc2t5Ymx1ZTpbMCwxOTEsMjU1LDFdLGRpbWdyYXk6WzEwNSwxMDUsMTA1LDFdLGRpbWdyZXk6WzEwNSwxMDUsMTA1LDFdLGRvZGdlcmJsdWU6WzMwLDE0NCwyNTUsMV0sZmlyZWJyaWNrOlsxNzgsMzQsMzQsMV0sZmxvcmFsd2hpdGU6WzI1NSwyNTAsMjQwLDFdLGZvcmVzdGdyZWVuOlszNCwxMzksMzQsMV0sZnVjaHNpYTpbMjU1LDAsMjU1LDFdLGdhaW5zYm9ybzpbMjIwLDIyMCwyMjAsMV0sZ2hvc3R3aGl0ZTpbMjQ4LDI0OCwyNTUsMV0sZ29sZDpbMjU1LDIxNSwwLDFdLGdvbGRlbnJvZDpbMjE4LDE2NSwzMiwxXSxncmF5OlsxMjgsMTI4LDEyOCwxXSxncmVlbjpbMCwxMjgsMCwxXSxncmVlbnllbGxvdzpbMTczLDI1NSw0NywxXSxncmV5OlsxMjgsMTI4LDEyOCwxXSxob25leWRldzpbMjQwLDI1NSwyNDAsMV0saG90cGluazpbMjU1LDEwNSwxODAsMV0saW5kaWFucmVkOlsyMDUsOTIsOTIsMV0saW5kaWdvOls3NSwwLDEzMCwxXSxpdm9yeTpbMjU1LDI1NSwyNDAsMV0sa2hha2k6WzI0MCwyMzAsMTQwLDFdLGxhdmVuZGVyOlsyMzAsMjMwLDI1MCwxXSxsYXZlbmRlcmJsdXNoOlsyNTUsMjQwLDI0NSwxXSxsYXduZ3JlZW46WzEyNCwyNTIsMCwxXSxsZW1vbmNoaWZmb246WzI1NSwyNTAsMjA1LDFdLGxpZ2h0Ymx1ZTpbMTczLDIxNiwyMzAsMV0sbGlnaHRjb3JhbDpbMjQwLDEyOCwxMjgsMV0sbGlnaHRjeWFuOlsyMjQsMjU1LDI1NSwxXSxsaWdodGdvbGRlbnJvZHllbGxvdzpbMjUwLDI1MCwyMTAsMV0sbGlnaHRncmF5OlsyMTEsMjExLDIxMSwxXSxsaWdodGdyZWVuOlsxNDQsMjM4LDE0NCwxXSxsaWdodGdyZXk6WzIxMSwyMTEsMjExLDFdLGxpZ2h0cGluazpbMjU1LDE4MiwxOTMsMV0sbGlnaHRzYWxtb246WzI1NSwxNjAsMTIyLDFdLGxpZ2h0c2VhZ3JlZW46WzMyLDE3OCwxNzAsMV0sbGlnaHRza3libHVlOlsxMzUsMjA2LDI1MCwxXSxsaWdodHNsYXRlZ3JheTpbMTE5LDEzNiwxNTMsMV0sbGlnaHRzbGF0ZWdyZXk6WzExOSwxMzYsMTUzLDFdLGxpZ2h0c3RlZWxibHVlOlsxNzYsMTk2LDIyMiwxXSxsaWdodHllbGxvdzpbMjU1LDI1NSwyMjQsMV0sbGltZTpbMCwyNTUsMCwxXSxsaW1lZ3JlZW46WzUwLDIwNSw1MCwxXSxsaW5lbjpbMjUwLDI0MCwyMzAsMV0sbWFnZW50YTpbMjU1LDAsMjU1LDFdLG1hcm9vbjpbMTI4LDAsMCwxXSxtZWRpdW1hcXVhbWFyaW5lOlsxMDIsMjA1LDE3MCwxXSxtZWRpdW1ibHVlOlswLDAsMjA1LDFdLG1lZGl1bW9yY2hpZDpbMTg2LDg1LDIxMSwxXSxtZWRpdW1wdXJwbGU6WzE0NywxMTIsMjE5LDFdLG1lZGl1bXNlYWdyZWVuOls2MCwxNzksMTEzLDFdLG1lZGl1bXNsYXRlYmx1ZTpbMTIzLDEwNCwyMzgsMV0sbWVkaXVtc3ByaW5nZ3JlZW46WzAsMjUwLDE1NCwxXSxtZWRpdW10dXJxdW9pc2U6WzcyLDIwOSwyMDQsMV0sbWVkaXVtdmlvbGV0cmVkOlsxOTksMjEsMTMzLDFdLG1pZG5pZ2h0Ymx1ZTpbMjUsMjUsMTEyLDFdLG1pbnRjcmVhbTpbMjQ1LDI1NSwyNTAsMV0sbWlzdHlyb3NlOlsyNTUsMjI4LDIyNSwxXSxtb2NjYXNpbjpbMjU1LDIyOCwxODEsMV0sbmF2YWpvd2hpdGU6WzI1NSwyMjIsMTczLDFdLG5hdnk6WzAsMCwxMjgsMV0sb2xkbGFjZTpbMjUzLDI0NSwyMzAsMV0sb2xpdmU6WzEyOCwxMjgsMCwxXSxvbGl2ZWRyYWI6WzEwNywxNDIsMzUsMV0sb3JhbmdlOlsyNTUsMTY1LDAsMV0sb3JhbmdlcmVkOlsyNTUsNjksMCwxXSxvcmNoaWQ6WzIxOCwxMTIsMjE0LDFdLHBhbGVnb2xkZW5yb2Q6WzIzOCwyMzIsMTcwLDFdLHBhbGVncmVlbjpbMTUyLDI1MSwxNTIsMV0scGFsZXR1cnF1b2lzZTpbMTc1LDIzOCwyMzgsMV0scGFsZXZpb2xldHJlZDpbMjE5LDExMiwxNDcsMV0scGFwYXlhd2hpcDpbMjU1LDIzOSwyMTMsMV0scGVhY2hwdWZmOlsyNTUsMjE4LDE4NSwxXSxwZXJ1OlsyMDUsMTMzLDYzLDFdLHBpbms6WzI1NSwxOTIsMjAzLDFdLHBsdW06WzIyMSwxNjAsMjIxLDFdLHBvd2RlcmJsdWU6WzE3NiwyMjQsMjMwLDFdLHB1cnBsZTpbMTI4LDAsMTI4LDFdLHJlYmVjY2FwdXJwbGU6WzEwMiw1MSwxNTMsMV0scmVkOlsyNTUsMCwwLDFdLHJvc3licm93bjpbMTg4LDE0MywxNDMsMV0scm95YWxibHVlOls2NSwxMDUsMjI1LDFdLHNhZGRsZWJyb3duOlsxMzksNjksMTksMV0sc2FsbW9uOlsyNTAsMTI4LDExNCwxXSxzYW5keWJyb3duOlsyNDQsMTY0LDk2LDFdLHNlYWdyZWVuOls0NiwxMzksODcsMV0sc2Vhc2hlbGw6WzI1NSwyNDUsMjM4LDFdLHNpZW5uYTpbMTYwLDgyLDQ1LDFdLHNpbHZlcjpbMTkyLDE5MiwxOTIsMV0sc2t5Ymx1ZTpbMTM1LDIwNiwyMzUsMV0sc2xhdGVibHVlOlsxMDYsOTAsMjA1LDFdLHNsYXRlZ3JheTpbMTEyLDEyOCwxNDQsMV0sc2xhdGVncmV5OlsxMTIsMTI4LDE0NCwxXSxzbm93OlsyNTUsMjUwLDI1MCwxXSxzcHJpbmdncmVlbjpbMCwyNTUsMTI3LDFdLHN0ZWVsYmx1ZTpbNzAsMTMwLDE4MCwxXSx0YW46WzIxMCwxODAsMTQwLDFdLHRlYWw6WzAsMTI4LDEyOCwxXSx0aGlzdGxlOlsyMTYsMTkxLDIxNiwxXSx0b21hdG86WzI1NSw5OSw3MSwxXSx0dXJxdW9pc2U6WzY0LDIyNCwyMDgsMV0sdmlvbGV0OlsyMzgsMTMwLDIzOCwxXSx3aGVhdDpbMjQ1LDIyMiwxNzksMV0sd2hpdGU6WzI1NSwyNTUsMjU1LDFdLHdoaXRlc21va2U6WzI0NSwyNDUsMjQ1LDFdLHllbGxvdzpbMjU1LDI1NSwwLDFdLHllbGxvd2dyZWVuOlsxNTQsMjA1LDUwLDFdfTtmdW5jdGlvbiBuKHQpe3JldHVybih0PU1hdGgucm91bmQodCkpPDA/MDp0PjI1NT8yNTU6dH1mdW5jdGlvbiBhKHQpe3JldHVybiB0PDA/MDp0PjE/MTp0fWZ1bmN0aW9uIGkodCl7cmV0dXJuIiUiPT09dFt0Lmxlbmd0aC0xXT9uKHBhcnNlRmxvYXQodCkvMTAwKjI1NSk6bihwYXJzZUludCh0KSl9ZnVuY3Rpb24gbyh0KXtyZXR1cm4iJSI9PT10W3QubGVuZ3RoLTFdP2EocGFyc2VGbG9hdCh0KS8xMDApOmEocGFyc2VGbG9hdCh0KSl9ZnVuY3Rpb24gcyh0LGUscil7cmV0dXJuIHI8MD9yKz0xOnI+MSYmKHItPTEpLDYqcjwxP3QrKGUtdCkqcio2OjIqcjwxP2U6MypyPDI/dCsoZS10KSooMi8zLXIpKjY6dH10cnl7ZS5wYXJzZUNTU0NvbG9yPWZ1bmN0aW9uKHQpe3ZhciBlLGE9dC5yZXBsYWNlKC8gL2csIiIpLnRvTG93ZXJDYXNlKCk7aWYoYSBpbiByKXJldHVybiByW2FdLnNsaWNlKCk7aWYoIiMiPT09YVswXSlyZXR1cm4gND09PWEubGVuZ3RoPyhlPXBhcnNlSW50KGEuc3Vic3RyKDEpLDE2KSk+PTAmJmU8PTQwOTU/WygzODQwJmUpPj40fCgzODQwJmUpPj44LDI0MCZlfCgyNDAmZSk+PjQsMTUmZXwoMTUmZSk8PDQsMV06bnVsbDo3PT09YS5sZW5ndGgmJihlPXBhcnNlSW50KGEuc3Vic3RyKDEpLDE2KSk+PTAmJmU8PTE2Nzc3MjE1P1soMTY3MTE2ODAmZSk+PjE2LCg2NTI4MCZlKT4+OCwyNTUmZSwxXTpudWxsO3ZhciBsPWEuaW5kZXhPZigiKCIpLGM9YS5pbmRleE9mKCIpIik7aWYoLTEhPT1sJiZjKzE9PT1hLmxlbmd0aCl7dmFyIHU9YS5zdWJzdHIoMCxsKSxoPWEuc3Vic3RyKGwrMSxjLShsKzEpKS5zcGxpdCgiLCIpLGY9MTtzd2l0Y2godSl7Y2FzZSJyZ2JhIjppZig0IT09aC5sZW5ndGgpcmV0dXJuIG51bGw7Zj1vKGgucG9wKCkpO2Nhc2UicmdiIjpyZXR1cm4gMyE9PWgubGVuZ3RoP251bGw6W2koaFswXSksaShoWzFdKSxpKGhbMl0pLGZdO2Nhc2UiaHNsYSI6aWYoNCE9PWgubGVuZ3RoKXJldHVybiBudWxsO2Y9byhoLnBvcCgpKTtjYXNlImhzbCI6aWYoMyE9PWgubGVuZ3RoKXJldHVybiBudWxsO3ZhciBwPShwYXJzZUZsb2F0KGhbMF0pJTM2MCszNjApJTM2MC8zNjAsZD1vKGhbMV0pLGc9byhoWzJdKSx2PWc8PS41P2cqKGQrMSk6ZytkLWcqZCxtPTIqZy12O3JldHVybltuKDI1NSpzKG0sdixwKzEvMykpLG4oMjU1KnMobSx2LHApKSxuKDI1NSpzKG0sdixwLTEvMykpLGZdO2RlZmF1bHQ6cmV0dXJuIG51bGx9fXJldHVybiBudWxsfX1jYXRjaCh0KXt9fSkucGFyc2VDU1NDb2xvcixXdD1mdW5jdGlvbih0LGUscixuKXt2b2lkIDA9PT1uJiYobj0xKSx0aGlzLnI9dCx0aGlzLmc9ZSx0aGlzLmI9cix0aGlzLmE9bn07V3QucGFyc2U9ZnVuY3Rpb24odCl7aWYodCl7aWYodCBpbnN0YW5jZW9mIFd0KXJldHVybiB0O2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIGU9WXQodCk7aWYoZSlyZXR1cm4gbmV3IFd0KGVbMF0vMjU1KmVbM10sZVsxXS8yNTUqZVszXSxlWzJdLzI1NSplWzNdLGVbM10pfX19LFd0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3ZhciB0PXRoaXMudG9BcnJheSgpLGU9dFswXSxyPXRbMV0sbj10WzJdLGE9dFszXTtyZXR1cm4icmdiYSgiK01hdGgucm91bmQoZSkrIiwiK01hdGgucm91bmQocikrIiwiK01hdGgucm91bmQobikrIiwiK2ErIikifSxXdC5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbigpe3ZhciB0PXRoaXMucixlPXRoaXMuZyxyPXRoaXMuYixuPXRoaXMuYTtyZXR1cm4gMD09PW4/WzAsMCwwLDBdOlsyNTUqdC9uLDI1NSplL24sMjU1KnIvbixuXX0sV3QuYmxhY2s9bmV3IFd0KDAsMCwwLDEpLFd0LndoaXRlPW5ldyBXdCgxLDEsMSwxKSxXdC50cmFuc3BhcmVudD1uZXcgV3QoMCwwLDAsMCksV3QucmVkPW5ldyBXdCgxLDAsMCwxKTt2YXIgWHQ9ZnVuY3Rpb24odCxlLHIpe3RoaXMuc2Vuc2l0aXZpdHk9dD9lPyJ2YXJpYW50IjoiY2FzZSI6ZT8iYWNjZW50IjoiYmFzZSIsdGhpcy5sb2NhbGU9cix0aGlzLmNvbGxhdG9yPW5ldyBJbnRsLkNvbGxhdG9yKHRoaXMubG9jYWxlP3RoaXMubG9jYWxlOltdLHtzZW5zaXRpdml0eTp0aGlzLnNlbnNpdGl2aXR5LHVzYWdlOiJzZWFyY2gifSl9O1h0LnByb3RvdHlwZS5jb21wYXJlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuY29sbGF0b3IuY29tcGFyZSh0LGUpfSxYdC5wcm90b3R5cGUucmVzb2x2ZWRMb2NhbGU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEludGwuQ29sbGF0b3IodGhpcy5sb2NhbGU/dGhpcy5sb2NhbGU6W10pLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZX07dmFyIFp0PWZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMudGV4dD10LHRoaXMuc2NhbGU9ZSx0aGlzLmZvbnRTdGFjaz1yLHRoaXMudGV4dENvbG9yPW59LEp0PWZ1bmN0aW9uKHQpe3RoaXMuc2VjdGlvbnM9dH07ZnVuY3Rpb24gS3QodCxlLHIsbil7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wJiZ0PD0yNTUmJiJudW1iZXIiPT10eXBlb2YgZSYmZT49MCYmZTw9MjU1JiYibnVtYmVyIj09dHlwZW9mIHImJnI+PTAmJnI8PTI1NT92b2lkIDA9PT1ufHwibnVtYmVyIj09dHlwZW9mIG4mJm4+PTAmJm48PTE/bnVsbDoiSW52YWxpZCByZ2JhIHZhbHVlIFsiK1t0LGUscixuXS5qb2luKCIsICIpKyJdOiAnYScgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDEuIjoiSW52YWxpZCByZ2JhIHZhbHVlIFsiKygibnVtYmVyIj09dHlwZW9mIG4/W3QsZSxyLG5dOlt0LGUscl0pLmpvaW4oIiwgIikrIl06ICdyJywgJ2cnLCBhbmQgJ2InIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNTUuIn1mdW5jdGlvbiBRdCh0KXtpZihudWxsPT09dClyZXR1cm4genQ7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBEdDtpZigiYm9vbGVhbiI9PXR5cGVvZiB0KXJldHVybiBSdDtpZigibnVtYmVyIj09dHlwZW9mIHQpcmV0dXJuIEl0O2lmKHQgaW5zdGFuY2VvZiBXdClyZXR1cm4gRnQ7aWYodCBpbnN0YW5jZW9mIFh0KXJldHVybiBqdDtpZih0IGluc3RhbmNlb2YgSnQpcmV0dXJuIFZ0O2lmKEFycmF5LmlzQXJyYXkodCkpe2Zvcih2YXIgZSxyPXQubGVuZ3RoLG49MCxhPXQ7bjxhLmxlbmd0aDtuKz0xKXt2YXIgaT1RdChhW25dKTtpZihlKXtpZihlPT09aSljb250aW51ZTtlPU50O2JyZWFrfWU9aX1yZXR1cm4gVXQoZXx8TnQscil9cmV0dXJuIEJ0fWZ1bmN0aW9uICR0KHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsPT09dD8iIjoic3RyaW5nIj09PWV8fCJudW1iZXIiPT09ZXx8ImJvb2xlYW4iPT09ZT9TdHJpbmcodCk6dCBpbnN0YW5jZW9mIFd0fHx0IGluc3RhbmNlb2YgSnQ/dC50b1N0cmluZygpOkpTT04uc3RyaW5naWZ5KHQpfUp0LmZyb21TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBKdChbbmV3IFp0KHQsbnVsbCxudWxsLG51bGwpXSl9LEp0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNlY3Rpb25zLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC50ZXh0fSkuam9pbigiIil9LEp0LnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9WyJmb3JtYXQiXSxlPTAscj10aGlzLnNlY3Rpb25zO2U8ci5sZW5ndGg7ZSs9MSl7dmFyIG49cltlXTt0LnB1c2gobi50ZXh0KTt2YXIgYT17fTtuLmZvbnRTdGFjayYmKGFbInRleHQtZm9udCJdPVsibGl0ZXJhbCIsbi5mb250U3RhY2suc3BsaXQoIiwiKV0pLG4uc2NhbGUmJihhWyJmb250LXNjYWxlIl09bi5zY2FsZSksbi50ZXh0Q29sb3ImJihhWyJ0ZXh0LWNvbG9yIl09WyJyZ2JhIl0uY29uY2F0KG4udGV4dENvbG9yLnRvQXJyYXkoKSkpLHQucHVzaChhKX1yZXR1cm4gdH07dmFyIHRlPWZ1bmN0aW9uKHQsZSl7dGhpcy50eXBlPXQsdGhpcy52YWx1ZT1lfTt0ZS5wYXJzZT1mdW5jdGlvbih0LGUpe2lmKDIhPT10Lmxlbmd0aClyZXR1cm4gZS5lcnJvcigiJ2xpdGVyYWwnIGV4cHJlc3Npb24gcmVxdWlyZXMgZXhhY3RseSBvbmUgYXJndW1lbnQsIGJ1dCBmb3VuZCAiKyh0Lmxlbmd0aC0xKSsiIGluc3RlYWQuIik7aWYoIWZ1bmN0aW9uIHQoZSl7aWYobnVsbD09PWUpcmV0dXJuITA7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiEwO2lmKCJib29sZWFuIj09dHlwZW9mIGUpcmV0dXJuITA7aWYoIm51bWJlciI9PXR5cGVvZiBlKXJldHVybiEwO2lmKGUgaW5zdGFuY2VvZiBXdClyZXR1cm4hMDtpZihlIGluc3RhbmNlb2YgWHQpcmV0dXJuITA7aWYoZSBpbnN0YW5jZW9mIEp0KXJldHVybiEwO2lmKEFycmF5LmlzQXJyYXkoZSkpe2Zvcih2YXIgcj0wLG49ZTtyPG4ubGVuZ3RoO3IrPTEpaWYoIXQobltyXSkpcmV0dXJuITE7cmV0dXJuITB9aWYoIm9iamVjdCI9PXR5cGVvZiBlKXtmb3IodmFyIGEgaW4gZSlpZighdChlW2FdKSlyZXR1cm4hMTtyZXR1cm4hMH1yZXR1cm4hMX0odFsxXSkpcmV0dXJuIGUuZXJyb3IoImludmFsaWQgdmFsdWUiKTt2YXIgcj10WzFdLG49UXQociksYT1lLmV4cGVjdGVkVHlwZTtyZXR1cm4iYXJyYXkiIT09bi5raW5kfHwwIT09bi5OfHwhYXx8ImFycmF5IiE9PWEua2luZHx8Im51bWJlciI9PXR5cGVvZiBhLk4mJjAhPT1hLk58fChuPWEpLG5ldyB0ZShuLHIpfSx0ZS5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0sdGUucHJvdG90eXBlLmVhY2hDaGlsZD1mdW5jdGlvbigpe30sdGUucHJvdG90eXBlLnBvc3NpYmxlT3V0cHV0cz1mdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlXX0sdGUucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiJhcnJheSI9PT10aGlzLnR5cGUua2luZHx8Im9iamVjdCI9PT10aGlzLnR5cGUua2luZD9bImxpdGVyYWwiLHRoaXMudmFsdWVdOnRoaXMudmFsdWUgaW5zdGFuY2VvZiBXdD9bInJnYmEiXS5jb25jYXQodGhpcy52YWx1ZS50b0FycmF5KCkpOnRoaXMudmFsdWUgaW5zdGFuY2VvZiBKdD90aGlzLnZhbHVlLnNlcmlhbGl6ZSgpOnRoaXMudmFsdWV9O3ZhciBlZT1mdW5jdGlvbih0KXt0aGlzLm5hbWU9IkV4cHJlc3Npb25FdmFsdWF0aW9uRXJyb3IiLHRoaXMubWVzc2FnZT10fTtlZS5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWVzc2FnZX07dmFyIHJlPXtzdHJpbmc6RHQsbnVtYmVyOkl0LGJvb2xlYW46UnQsb2JqZWN0OkJ0fSxuZT1mdW5jdGlvbih0LGUpe3RoaXMudHlwZT10LHRoaXMuYXJncz1lfTtuZS5wYXJzZT1mdW5jdGlvbih0LGUpe2lmKHQubGVuZ3RoPDIpcmV0dXJuIGUuZXJyb3IoIkV4cGVjdGVkIGF0IGxlYXN0IG9uZSBhcmd1bWVudC4iKTt2YXIgcixuPTEsYT10WzBdO2lmKCJhcnJheSI9PT1hKXt2YXIgaSxvO2lmKHQubGVuZ3RoPjIpe3ZhciBzPXRbMV07aWYoInN0cmluZyIhPXR5cGVvZiBzfHwhKHMgaW4gcmUpfHwib2JqZWN0Ij09PXMpcmV0dXJuIGUuZXJyb3IoJ1RoZSBpdGVtIHR5cGUgYXJndW1lbnQgb2YgImFycmF5IiBtdXN0IGJlIG9uZSBvZiBzdHJpbmcsIG51bWJlciwgYm9vbGVhbicsMSk7aT1yZVtzXSxuKyt9ZWxzZSBpPU50O2lmKHQubGVuZ3RoPjMpe2lmKG51bGwhPT10WzJdJiYoIm51bWJlciIhPXR5cGVvZiB0WzJdfHx0WzJdPDB8fHRbMl0hPT1NYXRoLmZsb29yKHRbMl0pKSlyZXR1cm4gZS5lcnJvcignVGhlIGxlbmd0aCBhcmd1bWVudCB0byAiYXJyYXkiIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIGxpdGVyYWwnLDIpO289dFsyXSxuKyt9cj1VdChpLG8pfWVsc2Ugcj1yZVthXTtmb3IodmFyIGw9W107bjx0Lmxlbmd0aDtuKyspe3ZhciBjPWUucGFyc2UodFtuXSxuLE50KTtpZighYylyZXR1cm4gbnVsbDtsLnB1c2goYyl9cmV0dXJuIG5ldyBuZShyLGwpfSxuZS5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTx0aGlzLmFyZ3MubGVuZ3RoO2UrKyl7dmFyIHI9dGhpcy5hcmdzW2VdLmV2YWx1YXRlKHQpO2lmKCFHdCh0aGlzLnR5cGUsUXQocikpKXJldHVybiByO2lmKGU9PT10aGlzLmFyZ3MubGVuZ3RoLTEpdGhyb3cgbmV3IGVlKCJFeHBlY3RlZCB2YWx1ZSB0byBiZSBvZiB0eXBlICIrcXQodGhpcy50eXBlKSsiLCBidXQgZm91bmQgIitxdChRdChyKSkrIiBpbnN0ZWFkLiIpfXJldHVybiBudWxsfSxuZS5wcm90b3R5cGUuZWFjaENoaWxkPWZ1bmN0aW9uKHQpe3RoaXMuYXJncy5mb3JFYWNoKHQpfSxuZS5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuKHQ9W10pLmNvbmNhdC5hcHBseSh0LHRoaXMuYXJncy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQucG9zc2libGVPdXRwdXRzKCl9KSl9LG5lLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnR5cGUsZT1bdC5raW5kXTtpZigiYXJyYXkiPT09dC5raW5kKXt2YXIgcj10Lml0ZW1UeXBlO2lmKCJzdHJpbmciPT09ci5raW5kfHwibnVtYmVyIj09PXIua2luZHx8ImJvb2xlYW4iPT09ci5raW5kKXtlLnB1c2goci5raW5kKTt2YXIgbj10Lk47KCJudW1iZXIiPT10eXBlb2Ygbnx8dGhpcy5hcmdzLmxlbmd0aD4xKSYmZS5wdXNoKG4pfX1yZXR1cm4gZS5jb25jYXQodGhpcy5hcmdzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5zZXJpYWxpemUoKX0pKX07dmFyIGFlPWZ1bmN0aW9uKHQpe3RoaXMudHlwZT1WdCx0aGlzLnNlY3Rpb25zPXR9O2FlLnBhcnNlPWZ1bmN0aW9uKHQsZSl7aWYodC5sZW5ndGg8MylyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgYXQgbGVhc3QgdHdvIGFyZ3VtZW50cy4iKTtpZigodC5sZW5ndGgtMSklMiE9MClyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgYW4gZXZlbiBudW1iZXIgb2YgYXJndW1lbnRzLiIpO2Zvcih2YXIgcj1bXSxuPTE7bjx0Lmxlbmd0aC0xO24rPTIpe3ZhciBhPWUucGFyc2UodFtuXSwxLE50KTtpZighYSlyZXR1cm4gbnVsbDt2YXIgaT1hLnR5cGUua2luZDtpZigic3RyaW5nIiE9PWkmJiJ2YWx1ZSIhPT1pJiYibnVsbCIhPT1pKXJldHVybiBlLmVycm9yKCJGb3JtYXR0ZWQgdGV4dCB0eXBlIG11c3QgYmUgJ3N0cmluZycsICd2YWx1ZScsIG9yICdudWxsJy4iKTt2YXIgbz10W24rMV07aWYoIm9iamVjdCIhPXR5cGVvZiBvfHxBcnJheS5pc0FycmF5KG8pKXJldHVybiBlLmVycm9yKCJGb3JtYXQgb3B0aW9ucyBhcmd1bWVudCBtdXN0IGJlIGFuIG9iamVjdC4iKTt2YXIgcz1udWxsO2lmKG9bImZvbnQtc2NhbGUiXSYmIShzPWUucGFyc2Uob1siZm9udC1zY2FsZSJdLDEsSXQpKSlyZXR1cm4gbnVsbDt2YXIgbD1udWxsO2lmKG9bInRleHQtZm9udCJdJiYhKGw9ZS5wYXJzZShvWyJ0ZXh0LWZvbnQiXSwxLFV0KER0KSkpKXJldHVybiBudWxsO3ZhciBjPW51bGw7aWYob1sidGV4dC1jb2xvciJdJiYhKGM9ZS5wYXJzZShvWyJ0ZXh0LWNvbG9yIl0sMSxGdCkpKXJldHVybiBudWxsO3IucHVzaCh7dGV4dDphLHNjYWxlOnMsZm9udDpsLHRleHRDb2xvcjpjfSl9cmV0dXJuIG5ldyBhZShyKX0sYWUucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgSnQodGhpcy5zZWN0aW9ucy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBadCgkdChlLnRleHQuZXZhbHVhdGUodCkpLGUuc2NhbGU/ZS5zY2FsZS5ldmFsdWF0ZSh0KTpudWxsLGUuZm9udD9lLmZvbnQuZXZhbHVhdGUodCkuam9pbigiLCIpOm51bGwsZS50ZXh0Q29sb3I/ZS50ZXh0Q29sb3IuZXZhbHVhdGUodCk6bnVsbCl9KSl9LGFlLnByb3RvdHlwZS5lYWNoQ2hpbGQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj10aGlzLnNlY3Rpb25zO2U8ci5sZW5ndGg7ZSs9MSl7dmFyIG49cltlXTt0KG4udGV4dCksbi5zY2FsZSYmdChuLnNjYWxlKSxuLmZvbnQmJnQobi5mb250KSxuLnRleHRDb2xvciYmdChuLnRleHRDb2xvcil9fSxhZS5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7cmV0dXJuW3ZvaWQgMF19LGFlLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9WyJmb3JtYXQiXSxlPTAscj10aGlzLnNlY3Rpb25zO2U8ci5sZW5ndGg7ZSs9MSl7dmFyIG49cltlXTt0LnB1c2gobi50ZXh0LnNlcmlhbGl6ZSgpKTt2YXIgYT17fTtuLnNjYWxlJiYoYVsiZm9udC1zY2FsZSJdPW4uc2NhbGUuc2VyaWFsaXplKCkpLG4uZm9udCYmKGFbInRleHQtZm9udCJdPW4uZm9udC5zZXJpYWxpemUoKSksbi50ZXh0Q29sb3ImJihhWyJ0ZXh0LWNvbG9yIl09bi50ZXh0Q29sb3Iuc2VyaWFsaXplKCkpLHQucHVzaChhKX1yZXR1cm4gdH07dmFyIGllPXsidG8tYm9vbGVhbiI6UnQsInRvLWNvbG9yIjpGdCwidG8tbnVtYmVyIjpJdCwidG8tc3RyaW5nIjpEdH0sb2U9ZnVuY3Rpb24odCxlKXt0aGlzLnR5cGU9dCx0aGlzLmFyZ3M9ZX07b2UucGFyc2U9ZnVuY3Rpb24odCxlKXtpZih0Lmxlbmd0aDwyKXJldHVybiBlLmVycm9yKCJFeHBlY3RlZCBhdCBsZWFzdCBvbmUgYXJndW1lbnQuIik7dmFyIHI9dFswXTtpZigoInRvLWJvb2xlYW4iPT09cnx8InRvLXN0cmluZyI9PT1yKSYmMiE9PXQubGVuZ3RoKXJldHVybiBlLmVycm9yKCJFeHBlY3RlZCBvbmUgYXJndW1lbnQuIik7Zm9yKHZhciBuPWllW3JdLGE9W10saT0xO2k8dC5sZW5ndGg7aSsrKXt2YXIgbz1lLnBhcnNlKHRbaV0saSxOdCk7aWYoIW8pcmV0dXJuIG51bGw7YS5wdXNoKG8pfXJldHVybiBuZXcgb2UobixhKX0sb2UucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQpe2lmKCJib29sZWFuIj09PXRoaXMudHlwZS5raW5kKXJldHVybiBCb29sZWFuKHRoaXMuYXJnc1swXS5ldmFsdWF0ZSh0KSk7aWYoImNvbG9yIj09PXRoaXMudHlwZS5raW5kKXtmb3IodmFyIGUscixuPTAsYT10aGlzLmFyZ3M7bjxhLmxlbmd0aDtuKz0xKXtpZihyPW51bGwsKGU9YVtuXS5ldmFsdWF0ZSh0KSlpbnN0YW5jZW9mIFd0KXJldHVybiBlO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7dmFyIGk9dC5wYXJzZUNvbG9yKGUpO2lmKGkpcmV0dXJuIGl9ZWxzZSBpZihBcnJheS5pc0FycmF5KGUpJiYhKHI9ZS5sZW5ndGg8M3x8ZS5sZW5ndGg+ND8iSW52YWxpZCByYmdhIHZhbHVlICIrSlNPTi5zdHJpbmdpZnkoZSkrIjogZXhwZWN0ZWQgYW4gYXJyYXkgY29udGFpbmluZyBlaXRoZXIgdGhyZWUgb3IgZm91ciBudW1lcmljIHZhbHVlcy4iOkt0KGVbMF0sZVsxXSxlWzJdLGVbM10pKSlyZXR1cm4gbmV3IFd0KGVbMF0vMjU1LGVbMV0vMjU1LGVbMl0vMjU1LGVbM10pfXRocm93IG5ldyBlZShyfHwiQ291bGQgbm90IHBhcnNlIGNvbG9yIGZyb20gdmFsdWUgJyIrKCJzdHJpbmciPT10eXBlb2YgZT9lOlN0cmluZyhKU09OLnN0cmluZ2lmeShlKSkpKyInIil9aWYoIm51bWJlciI9PT10aGlzLnR5cGUua2luZCl7Zm9yKHZhciBvPW51bGwscz0wLGw9dGhpcy5hcmdzO3M8bC5sZW5ndGg7cys9MSl7aWYobnVsbD09PShvPWxbc10uZXZhbHVhdGUodCkpKXJldHVybiAwO3ZhciBjPU51bWJlcihvKTtpZighaXNOYU4oYykpcmV0dXJuIGN9dGhyb3cgbmV3IGVlKCJDb3VsZCBub3QgY29udmVydCAiK0pTT04uc3RyaW5naWZ5KG8pKyIgdG8gbnVtYmVyLiIpfXJldHVybiJmb3JtYXR0ZWQiPT09dGhpcy50eXBlLmtpbmQ/SnQuZnJvbVN0cmluZygkdCh0aGlzLmFyZ3NbMF0uZXZhbHVhdGUodCkpKTokdCh0aGlzLmFyZ3NbMF0uZXZhbHVhdGUodCkpfSxvZS5wcm90b3R5cGUuZWFjaENoaWxkPWZ1bmN0aW9uKHQpe3RoaXMuYXJncy5mb3JFYWNoKHQpfSxvZS5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuKHQ9W10pLmNvbmNhdC5hcHBseSh0LHRoaXMuYXJncy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQucG9zc2libGVPdXRwdXRzKCl9KSl9LG9lLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtpZigiZm9ybWF0dGVkIj09PXRoaXMudHlwZS5raW5kKXJldHVybiBuZXcgYWUoW3t0ZXh0OnRoaXMuYXJnc1swXSxzY2FsZTpudWxsLGZvbnQ6bnVsbCx0ZXh0Q29sb3I6bnVsbH1dKS5zZXJpYWxpemUoKTt2YXIgdD1bInRvLSIrdGhpcy50eXBlLmtpbmRdO3JldHVybiB0aGlzLmVhY2hDaGlsZChmdW5jdGlvbihlKXt0LnB1c2goZS5zZXJpYWxpemUoKSl9KSx0fTt2YXIgc2U9WyJVbmtub3duIiwiUG9pbnQiLCJMaW5lU3RyaW5nIiwiUG9seWdvbiJdLGxlPWZ1bmN0aW9uKCl7dGhpcy5nbG9iYWxzPW51bGwsdGhpcy5mZWF0dXJlPW51bGwsdGhpcy5mZWF0dXJlU3RhdGU9bnVsbCx0aGlzLmZvcm1hdHRlZFNlY3Rpb249bnVsbCx0aGlzLl9wYXJzZUNvbG9yQ2FjaGU9e319O2xlLnByb3RvdHlwZS5pZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZlYXR1cmUmJiJpZCJpbiB0aGlzLmZlYXR1cmU/dGhpcy5mZWF0dXJlLmlkOm51bGx9LGxlLnByb3RvdHlwZS5nZW9tZXRyeVR5cGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5mZWF0dXJlPyJudW1iZXIiPT10eXBlb2YgdGhpcy5mZWF0dXJlLnR5cGU/c2VbdGhpcy5mZWF0dXJlLnR5cGVdOnRoaXMuZmVhdHVyZS50eXBlOm51bGx9LGxlLnByb3RvdHlwZS5wcm9wZXJ0aWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmVhdHVyZSYmdGhpcy5mZWF0dXJlLnByb3BlcnRpZXN8fHt9fSxsZS5wcm90b3R5cGUucGFyc2VDb2xvcj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9wYXJzZUNvbG9yQ2FjaGVbdF07cmV0dXJuIGV8fChlPXRoaXMuX3BhcnNlQ29sb3JDYWNoZVt0XT1XdC5wYXJzZSh0KSksZX07dmFyIGNlPWZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMubmFtZT10LHRoaXMudHlwZT1lLHRoaXMuX2V2YWx1YXRlPXIsdGhpcy5hcmdzPW59O2NlLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZXZhbHVhdGUodCx0aGlzLmFyZ3MpfSxjZS5wcm90b3R5cGUuZWFjaENoaWxkPWZ1bmN0aW9uKHQpe3RoaXMuYXJncy5mb3JFYWNoKHQpfSxjZS5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7cmV0dXJuW3ZvaWQgMF19LGNlLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy5uYW1lXS5jb25jYXQodGhpcy5hcmdzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5zZXJpYWxpemUoKX0pKX0sY2UucGFyc2U9ZnVuY3Rpb24odCxlKXt2YXIgcixuPXRbMF0sYT1jZS5kZWZpbml0aW9uc1tuXTtpZighYSlyZXR1cm4gZS5lcnJvcignVW5rbm93biBleHByZXNzaW9uICInK24rJyIuIElmIHlvdSB3YW50ZWQgYSBsaXRlcmFsIGFycmF5LCB1c2UgWyJsaXRlcmFsIiwgWy4uLl1dLicsMCk7Zm9yKHZhciBpPUFycmF5LmlzQXJyYXkoYSk/YVswXTphLnR5cGUsbz1BcnJheS5pc0FycmF5KGEpP1tbYVsxXSxhWzJdXV06YS5vdmVybG9hZHMscz1vLmZpbHRlcihmdW5jdGlvbihlKXt2YXIgcj1lWzBdO3JldHVybiFBcnJheS5pc0FycmF5KHIpfHxyLmxlbmd0aD09PXQubGVuZ3RoLTF9KSxsPW51bGwsYz0wLHU9cztjPHUubGVuZ3RoO2MrPTEpe3ZhciBoPXVbY10sZj1oWzBdLHA9aFsxXTtsPW5ldyBnZShlLnJlZ2lzdHJ5LGUucGF0aCxudWxsLGUuc2NvcGUpO2Zvcih2YXIgZD1bXSxnPSExLHY9MTt2PHQubGVuZ3RoO3YrKyl7dmFyIG09dFt2XSx5PUFycmF5LmlzQXJyYXkoZik/Zlt2LTFdOmYudHlwZSx4PWwucGFyc2UobSwxK2QubGVuZ3RoLHkpO2lmKCF4KXtnPSEwO2JyZWFrfWQucHVzaCh4KX1pZighZylpZihBcnJheS5pc0FycmF5KGYpJiZmLmxlbmd0aCE9PWQubGVuZ3RoKWwuZXJyb3IoIkV4cGVjdGVkICIrZi5sZW5ndGgrIiBhcmd1bWVudHMsIGJ1dCBmb3VuZCAiK2QubGVuZ3RoKyIgaW5zdGVhZC4iKTtlbHNle2Zvcih2YXIgYj0wO2I8ZC5sZW5ndGg7YisrKXt2YXIgXz1BcnJheS5pc0FycmF5KGYpP2ZbYl06Zi50eXBlLHc9ZFtiXTtsLmNvbmNhdChiKzEpLmNoZWNrU3VidHlwZShfLHcudHlwZSl9aWYoMD09PWwuZXJyb3JzLmxlbmd0aClyZXR1cm4gbmV3IGNlKG4saSxwLGQpfX1pZigxPT09cy5sZW5ndGgpKHI9ZS5lcnJvcnMpLnB1c2guYXBwbHkocixsLmVycm9ycyk7ZWxzZXtmb3IodmFyIGs9KHMubGVuZ3RoP3M6bykubWFwKGZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBlPXRbMF0sQXJyYXkuaXNBcnJheShlKT8iKCIrZS5tYXAocXQpLmpvaW4oIiwgIikrIikiOiIoIitxdChlLnR5cGUpKyIuLi4pIn0pLmpvaW4oIiB8ICIpLFQ9W10sTT0xO008dC5sZW5ndGg7TSsrKXt2YXIgQT1lLnBhcnNlKHRbTV0sMStULmxlbmd0aCk7aWYoIUEpcmV0dXJuIG51bGw7VC5wdXNoKHF0KEEudHlwZSkpfWUuZXJyb3IoIkV4cGVjdGVkIGFyZ3VtZW50cyBvZiB0eXBlICIraysiLCBidXQgZm91bmQgKCIrVC5qb2luKCIsICIpKyIpIGluc3RlYWQuIil9cmV0dXJuIG51bGx9LGNlLnJlZ2lzdGVyPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGNlLmRlZmluaXRpb25zPWUsZSl0W3JdPWNlfTt2YXIgdWU9ZnVuY3Rpb24odCxlLHIpe3RoaXMudHlwZT1qdCx0aGlzLmxvY2FsZT1yLHRoaXMuY2FzZVNlbnNpdGl2ZT10LHRoaXMuZGlhY3JpdGljU2Vuc2l0aXZlPWV9O2Z1bmN0aW9uIGhlKHQpe2lmKHQgaW5zdGFuY2VvZiBjZSl7aWYoImdldCI9PT10Lm5hbWUmJjE9PT10LmFyZ3MubGVuZ3RoKXJldHVybiExO2lmKCJmZWF0dXJlLXN0YXRlIj09PXQubmFtZSlyZXR1cm4hMTtpZigiaGFzIj09PXQubmFtZSYmMT09PXQuYXJncy5sZW5ndGgpcmV0dXJuITE7aWYoInByb3BlcnRpZXMiPT09dC5uYW1lfHwiZ2VvbWV0cnktdHlwZSI9PT10Lm5hbWV8fCJpZCI9PT10Lm5hbWUpcmV0dXJuITE7aWYoL15maWx0ZXItLy50ZXN0KHQubmFtZSkpcmV0dXJuITF9dmFyIGU9ITA7cmV0dXJuIHQuZWFjaENoaWxkKGZ1bmN0aW9uKHQpe2UmJiFoZSh0KSYmKGU9ITEpfSksZX1mdW5jdGlvbiBmZSh0KXtpZih0IGluc3RhbmNlb2YgY2UmJiJmZWF0dXJlLXN0YXRlIj09PXQubmFtZSlyZXR1cm4hMTt2YXIgZT0hMDtyZXR1cm4gdC5lYWNoQ2hpbGQoZnVuY3Rpb24odCl7ZSYmIWZlKHQpJiYoZT0hMSl9KSxlfWZ1bmN0aW9uIHBlKHQsZSl7aWYodCBpbnN0YW5jZW9mIGNlJiZlLmluZGV4T2YodC5uYW1lKT49MClyZXR1cm4hMTt2YXIgcj0hMDtyZXR1cm4gdC5lYWNoQ2hpbGQoZnVuY3Rpb24odCl7ciYmIXBlKHQsZSkmJihyPSExKX0pLHJ9dWUucGFyc2U9ZnVuY3Rpb24odCxlKXtpZigyIT09dC5sZW5ndGgpcmV0dXJuIGUuZXJyb3IoIkV4cGVjdGVkIG9uZSBhcmd1bWVudC4iKTt2YXIgcj10WzFdO2lmKCJvYmplY3QiIT10eXBlb2Ygcnx8QXJyYXkuaXNBcnJheShyKSlyZXR1cm4gZS5lcnJvcigiQ29sbGF0b3Igb3B0aW9ucyBhcmd1bWVudCBtdXN0IGJlIGFuIG9iamVjdC4iKTt2YXIgbj1lLnBhcnNlKHZvaWQgMCE9PXJbImNhc2Utc2Vuc2l0aXZlIl0mJnJbImNhc2Utc2Vuc2l0aXZlIl0sMSxSdCk7aWYoIW4pcmV0dXJuIG51bGw7dmFyIGE9ZS5wYXJzZSh2b2lkIDAhPT1yWyJkaWFjcml0aWMtc2Vuc2l0aXZlIl0mJnJbImRpYWNyaXRpYy1zZW5zaXRpdmUiXSwxLFJ0KTtpZighYSlyZXR1cm4gbnVsbDt2YXIgaT1udWxsO3JldHVybiByLmxvY2FsZSYmIShpPWUucGFyc2Uoci5sb2NhbGUsMSxEdCkpP251bGw6bmV3IHVlKG4sYSxpKX0sdWUucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgWHQodGhpcy5jYXNlU2Vuc2l0aXZlLmV2YWx1YXRlKHQpLHRoaXMuZGlhY3JpdGljU2Vuc2l0aXZlLmV2YWx1YXRlKHQpLHRoaXMubG9jYWxlP3RoaXMubG9jYWxlLmV2YWx1YXRlKHQpOm51bGwpfSx1ZS5wcm90b3R5cGUuZWFjaENoaWxkPWZ1bmN0aW9uKHQpe3QodGhpcy5jYXNlU2Vuc2l0aXZlKSx0KHRoaXMuZGlhY3JpdGljU2Vuc2l0aXZlKSx0aGlzLmxvY2FsZSYmdCh0aGlzLmxvY2FsZSl9LHVlLnByb3RvdHlwZS5wb3NzaWJsZU91dHB1dHM9ZnVuY3Rpb24oKXtyZXR1cm5bdm9pZCAwXX0sdWUucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3ZhciB0PXt9O3JldHVybiB0WyJjYXNlLXNlbnNpdGl2ZSJdPXRoaXMuY2FzZVNlbnNpdGl2ZS5zZXJpYWxpemUoKSx0WyJkaWFjcml0aWMtc2Vuc2l0aXZlIl09dGhpcy5kaWFjcml0aWNTZW5zaXRpdmUuc2VyaWFsaXplKCksdGhpcy5sb2NhbGUmJih0LmxvY2FsZT10aGlzLmxvY2FsZS5zZXJpYWxpemUoKSksWyJjb2xsYXRvciIsdF19O3ZhciBkZT1mdW5jdGlvbih0LGUpe3RoaXMudHlwZT1lLnR5cGUsdGhpcy5uYW1lPXQsdGhpcy5ib3VuZEV4cHJlc3Npb249ZX07ZGUucGFyc2U9ZnVuY3Rpb24odCxlKXtpZigyIT09dC5sZW5ndGh8fCJzdHJpbmciIT10eXBlb2YgdFsxXSlyZXR1cm4gZS5lcnJvcigiJ3ZhcicgZXhwcmVzc2lvbiByZXF1aXJlcyBleGFjdGx5IG9uZSBzdHJpbmcgbGl0ZXJhbCBhcmd1bWVudC4iKTt2YXIgcj10WzFdO3JldHVybiBlLnNjb3BlLmhhcyhyKT9uZXcgZGUocixlLnNjb3BlLmdldChyKSk6ZS5lcnJvcignVW5rbm93biB2YXJpYWJsZSAiJytyKyciLiBNYWtlIHN1cmUgIicrcisnIiBoYXMgYmVlbiBib3VuZCBpbiBhbiBlbmNsb3NpbmcgImxldCIgZXhwcmVzc2lvbiBiZWZvcmUgdXNpbmcgaXQuJywxKX0sZGUucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmJvdW5kRXhwcmVzc2lvbi5ldmFsdWF0ZSh0KX0sZGUucHJvdG90eXBlLmVhY2hDaGlsZD1mdW5jdGlvbigpe30sZGUucHJvdG90eXBlLnBvc3NpYmxlT3V0cHV0cz1mdW5jdGlvbigpe3JldHVyblt2b2lkIDBdfSxkZS5wcm90b3R5cGUuc2VyaWFsaXplPWZ1bmN0aW9uKCl7cmV0dXJuWyJ2YXIiLHRoaXMubmFtZV19O3ZhciBnZT1mdW5jdGlvbih0LGUscixuLGEpe3ZvaWQgMD09PWUmJihlPVtdKSx2b2lkIDA9PT1uJiYobj1uZXcgT3QpLHZvaWQgMD09PWEmJihhPVtdKSx0aGlzLnJlZ2lzdHJ5PXQsdGhpcy5wYXRoPWUsdGhpcy5rZXk9ZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIlsiK3QrIl0ifSkuam9pbigiIiksdGhpcy5zY29wZT1uLHRoaXMuZXJyb3JzPWEsdGhpcy5leHBlY3RlZFR5cGU9cn07ZnVuY3Rpb24gdmUodCxlKXtmb3IodmFyIHIsbixhPXQubGVuZ3RoLTEsaT0wLG89YSxzPTA7aTw9bzspaWYocj10W3M9TWF0aC5mbG9vcigoaStvKS8yKV0sbj10W3MrMV0scjw9ZSl7aWYocz09PWF8fGU8bilyZXR1cm4gcztpPXMrMX1lbHNle2lmKCEocj5lKSl0aHJvdyBuZXcgZWUoIklucHV0IGlzIG5vdCBhIG51bWJlci4iKTtvPXMtMX1yZXR1cm4gMH1nZS5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24odCxlLHIsbixhKXtyZXR1cm4gdm9pZCAwPT09YSYmKGE9e30pLGU/dGhpcy5jb25jYXQoZSxyLG4pLl9wYXJzZSh0LGEpOnRoaXMuX3BhcnNlKHQsYSl9LGdlLnByb3RvdHlwZS5fcGFyc2U9ZnVuY3Rpb24odCxlKXtmdW5jdGlvbiByKHQsZSxyKXtyZXR1cm4iYXNzZXJ0Ij09PXI/bmV3IG5lKGUsW3RdKToiY29lcmNlIj09PXI/bmV3IG9lKGUsW3RdKTp0fWlmKG51bGwhPT10JiYic3RyaW5nIiE9dHlwZW9mIHQmJiJib29sZWFuIiE9dHlwZW9mIHQmJiJudW1iZXIiIT10eXBlb2YgdHx8KHQ9WyJsaXRlcmFsIix0XSksQXJyYXkuaXNBcnJheSh0KSl7aWYoMD09PXQubGVuZ3RoKXJldHVybiB0aGlzLmVycm9yKCdFeHBlY3RlZCBhbiBhcnJheSB3aXRoIGF0IGxlYXN0IG9uZSBlbGVtZW50LiBJZiB5b3Ugd2FudGVkIGEgbGl0ZXJhbCBhcnJheSwgdXNlIFsibGl0ZXJhbCIsIFtdXS4nKTt2YXIgbj10WzBdO2lmKCJzdHJpbmciIT10eXBlb2YgbilyZXR1cm4gdGhpcy5lcnJvcigiRXhwcmVzc2lvbiBuYW1lIG11c3QgYmUgYSBzdHJpbmcsIGJ1dCBmb3VuZCAiK3R5cGVvZiBuKycgaW5zdGVhZC4gSWYgeW91IHdhbnRlZCBhIGxpdGVyYWwgYXJyYXksIHVzZSBbImxpdGVyYWwiLCBbLi4uXV0uJywwKSxudWxsO3ZhciBhPXRoaXMucmVnaXN0cnlbbl07aWYoYSl7dmFyIGk9YS5wYXJzZSh0LHRoaXMpO2lmKCFpKXJldHVybiBudWxsO2lmKHRoaXMuZXhwZWN0ZWRUeXBlKXt2YXIgbz10aGlzLmV4cGVjdGVkVHlwZSxzPWkudHlwZTtpZigic3RyaW5nIiE9PW8ua2luZCYmIm51bWJlciIhPT1vLmtpbmQmJiJib29sZWFuIiE9PW8ua2luZCYmIm9iamVjdCIhPT1vLmtpbmQmJiJhcnJheSIhPT1vLmtpbmR8fCJ2YWx1ZSIhPT1zLmtpbmQpaWYoImNvbG9yIiE9PW8ua2luZCYmImZvcm1hdHRlZCIhPT1vLmtpbmR8fCJ2YWx1ZSIhPT1zLmtpbmQmJiJzdHJpbmciIT09cy5raW5kKXtpZih0aGlzLmNoZWNrU3VidHlwZShvLHMpKXJldHVybiBudWxsfWVsc2UgaT1yKGksbyxlLnR5cGVBbm5vdGF0aW9ufHwiY29lcmNlIik7ZWxzZSBpPXIoaSxvLGUudHlwZUFubm90YXRpb258fCJhc3NlcnQiKX1pZighKGkgaW5zdGFuY2VvZiB0ZSkmJmZ1bmN0aW9uIHQoZSl7aWYoZSBpbnN0YW5jZW9mIGRlKXJldHVybiB0KGUuYm91bmRFeHByZXNzaW9uKTtpZihlIGluc3RhbmNlb2YgY2UmJiJlcnJvciI9PT1lLm5hbWUpcmV0dXJuITE7aWYoZSBpbnN0YW5jZW9mIHVlKXJldHVybiExO3ZhciByPWUgaW5zdGFuY2VvZiBvZXx8ZSBpbnN0YW5jZW9mIG5lLG49ITA7cmV0dXJuIGUuZWFjaENoaWxkKGZ1bmN0aW9uKGUpe249cj9uJiZ0KGUpOm4mJmUgaW5zdGFuY2VvZiB0ZX0pLCEhbiYmKGhlKGUpJiZwZShlLFsiem9vbSIsImhlYXRtYXAtZGVuc2l0eSIsImxpbmUtcHJvZ3Jlc3MiLCJhY2N1bXVsYXRlZCIsImlzLXN1cHBvcnRlZC1zY3JpcHQiXSkpfShpKSl7dmFyIGw9bmV3IGxlO3RyeXtpPW5ldyB0ZShpLnR5cGUsaS5ldmFsdWF0ZShsKSl9Y2F0Y2godCl7cmV0dXJuIHRoaXMuZXJyb3IodC5tZXNzYWdlKSxudWxsfX1yZXR1cm4gaX1yZXR1cm4gdGhpcy5lcnJvcignVW5rbm93biBleHByZXNzaW9uICInK24rJyIuIElmIHlvdSB3YW50ZWQgYSBsaXRlcmFsIGFycmF5LCB1c2UgWyJsaXRlcmFsIiwgWy4uLl1dLicsMCl9cmV0dXJuIHZvaWQgMD09PXQ/dGhpcy5lcnJvcigiJ3VuZGVmaW5lZCcgdmFsdWUgaW52YWxpZC4gVXNlIG51bGwgaW5zdGVhZC4iKToib2JqZWN0Ij09dHlwZW9mIHQ/dGhpcy5lcnJvcignQmFyZSBvYmplY3RzIGludmFsaWQuIFVzZSBbImxpdGVyYWwiLCB7Li4ufV0gaW5zdGVhZC4nKTp0aGlzLmVycm9yKCJFeHBlY3RlZCBhbiBhcnJheSwgYnV0IGZvdW5kICIrdHlwZW9mIHQrIiBpbnN0ZWFkLiIpfSxnZS5wcm90b3R5cGUuY29uY2F0PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj0ibnVtYmVyIj09dHlwZW9mIHQ/dGhpcy5wYXRoLmNvbmNhdCh0KTp0aGlzLnBhdGgsYT1yP3RoaXMuc2NvcGUuY29uY2F0KHIpOnRoaXMuc2NvcGU7cmV0dXJuIG5ldyBnZSh0aGlzLnJlZ2lzdHJ5LG4sZXx8bnVsbCxhLHRoaXMuZXJyb3JzKX0sZ2UucHJvdG90eXBlLmVycm9yPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPWFyZ3VtZW50cy5sZW5ndGgtMTtyLS0gPjA7KWVbcl09YXJndW1lbnRzW3IrMV07dmFyIG49IiIrdGhpcy5rZXkrZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIlsiK3QrIl0ifSkuam9pbigiIik7dGhpcy5lcnJvcnMucHVzaChuZXcgUHQobix0KSl9LGdlLnByb3RvdHlwZS5jaGVja1N1YnR5cGU9ZnVuY3Rpb24odCxlKXt2YXIgcj1HdCh0LGUpO3JldHVybiByJiZ0aGlzLmVycm9yKHIpLHJ9O3ZhciBtZT1mdW5jdGlvbih0LGUscil7dGhpcy50eXBlPXQsdGhpcy5pbnB1dD1lLHRoaXMubGFiZWxzPVtdLHRoaXMub3V0cHV0cz1bXTtmb3IodmFyIG49MCxhPXI7bjxhLmxlbmd0aDtuKz0xKXt2YXIgaT1hW25dLG89aVswXSxzPWlbMV07dGhpcy5sYWJlbHMucHVzaChvKSx0aGlzLm91dHB1dHMucHVzaChzKX19O2Z1bmN0aW9uIHllKHQsZSxyKXtyZXR1cm4gdCooMS1yKStlKnJ9bWUucGFyc2U9ZnVuY3Rpb24odCxlKXtpZih0Lmxlbmd0aC0xPDQpcmV0dXJuIGUuZXJyb3IoIkV4cGVjdGVkIGF0IGxlYXN0IDQgYXJndW1lbnRzLCBidXQgZm91bmQgb25seSAiKyh0Lmxlbmd0aC0xKSsiLiIpO2lmKCh0Lmxlbmd0aC0xKSUyIT0wKXJldHVybiBlLmVycm9yKCJFeHBlY3RlZCBhbiBldmVuIG51bWJlciBvZiBhcmd1bWVudHMuIik7dmFyIHI9ZS5wYXJzZSh0WzFdLDEsSXQpO2lmKCFyKXJldHVybiBudWxsO3ZhciBuPVtdLGE9bnVsbDtlLmV4cGVjdGVkVHlwZSYmInZhbHVlIiE9PWUuZXhwZWN0ZWRUeXBlLmtpbmQmJihhPWUuZXhwZWN0ZWRUeXBlKTtmb3IodmFyIGk9MTtpPHQubGVuZ3RoO2krPTIpe3ZhciBvPTE9PT1pPy0xLzA6dFtpXSxzPXRbaSsxXSxsPWksYz1pKzE7aWYoIm51bWJlciIhPXR5cGVvZiBvKXJldHVybiBlLmVycm9yKCdJbnB1dC9vdXRwdXQgcGFpcnMgZm9yICJzdGVwIiBleHByZXNzaW9ucyBtdXN0IGJlIGRlZmluZWQgdXNpbmcgbGl0ZXJhbCBudW1lcmljIHZhbHVlcyAobm90IGNvbXB1dGVkIGV4cHJlc3Npb25zKSBmb3IgdGhlIGlucHV0IHZhbHVlcy4nLGwpO2lmKG4ubGVuZ3RoJiZuW24ubGVuZ3RoLTFdWzBdPj1vKXJldHVybiBlLmVycm9yKCdJbnB1dC9vdXRwdXQgcGFpcnMgZm9yICJzdGVwIiBleHByZXNzaW9ucyBtdXN0IGJlIGFycmFuZ2VkIHdpdGggaW5wdXQgdmFsdWVzIGluIHN0cmljdGx5IGFzY2VuZGluZyBvcmRlci4nLGwpO3ZhciB1PWUucGFyc2UocyxjLGEpO2lmKCF1KXJldHVybiBudWxsO2E9YXx8dS50eXBlLG4ucHVzaChbbyx1XSl9cmV0dXJuIG5ldyBtZShhLHIsbil9LG1lLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmxhYmVscyxyPXRoaXMub3V0cHV0cztpZigxPT09ZS5sZW5ndGgpcmV0dXJuIHJbMF0uZXZhbHVhdGUodCk7dmFyIG49dGhpcy5pbnB1dC5ldmFsdWF0ZSh0KTtpZihuPD1lWzBdKXJldHVybiByWzBdLmV2YWx1YXRlKHQpO3ZhciBhPWUubGVuZ3RoO3JldHVybiBuPj1lW2EtMV0/clthLTFdLmV2YWx1YXRlKHQpOnJbdmUoZSxuKV0uZXZhbHVhdGUodCl9LG1lLnByb3RvdHlwZS5lYWNoQ2hpbGQ9ZnVuY3Rpb24odCl7dCh0aGlzLmlucHV0KTtmb3IodmFyIGU9MCxyPXRoaXMub3V0cHV0cztlPHIubGVuZ3RoO2UrPTEpdChyW2VdKX0sbWUucHJvdG90eXBlLnBvc3NpYmxlT3V0cHV0cz1mdW5jdGlvbigpe3ZhciB0O3JldHVybih0PVtdKS5jb25jYXQuYXBwbHkodCx0aGlzLm91dHB1dHMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnBvc3NpYmxlT3V0cHV0cygpfSkpfSxtZS5wcm90b3R5cGUuc2VyaWFsaXplPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVsic3RlcCIsdGhpcy5pbnB1dC5zZXJpYWxpemUoKV0sZT0wO2U8dGhpcy5sYWJlbHMubGVuZ3RoO2UrKyllPjAmJnQucHVzaCh0aGlzLmxhYmVsc1tlXSksdC5wdXNoKHRoaXMub3V0cHV0c1tlXS5zZXJpYWxpemUoKSk7cmV0dXJuIHR9O3ZhciB4ZT1PYmplY3QuZnJlZXplKHtudW1iZXI6eWUsY29sb3I6ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuZXcgV3QoeWUodC5yLGUucixyKSx5ZSh0LmcsZS5nLHIpLHllKHQuYixlLmIscikseWUodC5hLGUuYSxyKSl9LGFycmF5OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdC5tYXAoZnVuY3Rpb24odCxuKXtyZXR1cm4geWUodCxlW25dLHIpfSl9fSksYmU9Ljk1MDQ3LF9lPTEsd2U9MS4wODg4MyxrZT00LzI5LFRlPTYvMjksTWU9MypUZSpUZSxBZT1UZSpUZSpUZSxTZT1NYXRoLlBJLzE4MCxFZT0xODAvTWF0aC5QSTtmdW5jdGlvbiBMZSh0KXtyZXR1cm4gdD5BZT9NYXRoLnBvdyh0LDEvMyk6dC9NZStrZX1mdW5jdGlvbiBDZSh0KXtyZXR1cm4gdD5UZT90KnQqdDpNZSoodC1rZSl9ZnVuY3Rpb24gUGUodCl7cmV0dXJuIDI1NSoodDw9LjAwMzEzMDg/MTIuOTIqdDoxLjA1NSpNYXRoLnBvdyh0LDEvMi40KS0uMDU1KX1mdW5jdGlvbiBPZSh0KXtyZXR1cm4odC89MjU1KTw9LjA0MDQ1P3QvMTIuOTI6TWF0aC5wb3coKHQrLjA1NSkvMS4wNTUsMi40KX1mdW5jdGlvbiB6ZSh0KXt2YXIgZT1PZSh0LnIpLHI9T2UodC5nKSxuPU9lKHQuYiksYT1MZSgoLjQxMjQ1NjQqZSsuMzU3NTc2MSpyKy4xODA0Mzc1Km4pL2JlKSxpPUxlKCguMjEyNjcyOSplKy43MTUxNTIyKnIrLjA3MjE3NSpuKS9fZSk7cmV0dXJue2w6MTE2KmktMTYsYTo1MDAqKGEtaSksYjoyMDAqKGktTGUoKC4wMTkzMzM5KmUrLjExOTE5MipyKy45NTAzMDQxKm4pL3dlKSksYWxwaGE6dC5hfX1mdW5jdGlvbiBJZSh0KXt2YXIgZT0odC5sKzE2KS8xMTYscj1pc05hTih0LmEpP2U6ZSt0LmEvNTAwLG49aXNOYU4odC5iKT9lOmUtdC5iLzIwMDtyZXR1cm4gZT1fZSpDZShlKSxyPWJlKkNlKHIpLG49d2UqQ2UobiksbmV3IFd0KFBlKDMuMjQwNDU0MipyLTEuNTM3MTM4NSplLS40OTg1MzE0Km4pLFBlKC0uOTY5MjY2KnIrMS44NzYwMTA4KmUrLjA0MTU1NipuKSxQZSguMDU1NjQzNCpyLS4yMDQwMjU5KmUrMS4wNTcyMjUyKm4pLHQuYWxwaGEpfWZ1bmN0aW9uIERlKHQsZSxyKXt2YXIgbj1lLXQ7cmV0dXJuIHQrcioobj4xODB8fG48LTE4MD9uLTM2MCpNYXRoLnJvdW5kKG4vMzYwKTpuKX12YXIgUmU9e2ZvcndhcmQ6emUscmV2ZXJzZTpJZSxpbnRlcnBvbGF0ZTpmdW5jdGlvbih0LGUscil7cmV0dXJue2w6eWUodC5sLGUubCxyKSxhOnllKHQuYSxlLmEsciksYjp5ZSh0LmIsZS5iLHIpLGFscGhhOnllKHQuYWxwaGEsZS5hbHBoYSxyKX19fSxGZT17Zm9yd2FyZDpmdW5jdGlvbih0KXt2YXIgZT16ZSh0KSxyPWUubCxuPWUuYSxhPWUuYixpPU1hdGguYXRhbjIoYSxuKSpFZTtyZXR1cm57aDppPDA/aSszNjA6aSxjOk1hdGguc3FydChuKm4rYSphKSxsOnIsYWxwaGE6dC5hfX0scmV2ZXJzZTpmdW5jdGlvbih0KXt2YXIgZT10LmgqU2Uscj10LmM7cmV0dXJuIEllKHtsOnQubCxhOk1hdGguY29zKGUpKnIsYjpNYXRoLnNpbihlKSpyLGFscGhhOnQuYWxwaGF9KX0saW50ZXJwb2xhdGU6ZnVuY3Rpb24odCxlLHIpe3JldHVybntoOkRlKHQuaCxlLmgsciksYzp5ZSh0LmMsZS5jLHIpLGw6eWUodC5sLGUubCxyKSxhbHBoYTp5ZSh0LmFscGhhLGUuYWxwaGEscil9fX0sQmU9T2JqZWN0LmZyZWV6ZSh7bGFiOlJlLGhjbDpGZX0pLE5lPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dGhpcy50eXBlPXQsdGhpcy5vcGVyYXRvcj1lLHRoaXMuaW50ZXJwb2xhdGlvbj1yLHRoaXMuaW5wdXQ9bix0aGlzLmxhYmVscz1bXSx0aGlzLm91dHB1dHM9W107Zm9yKHZhciBpPTAsbz1hO2k8by5sZW5ndGg7aSs9MSl7dmFyIHM9b1tpXSxsPXNbMF0sYz1zWzFdO3RoaXMubGFiZWxzLnB1c2gobCksdGhpcy5vdXRwdXRzLnB1c2goYyl9fTtmdW5jdGlvbiBqZSh0LGUscixuKXt2YXIgYT1uLXIsaT10LXI7cmV0dXJuIDA9PT1hPzA6MT09PWU/aS9hOihNYXRoLnBvdyhlLGkpLTEpLyhNYXRoLnBvdyhlLGEpLTEpfU5lLmludGVycG9sYXRpb25GYWN0b3I9ZnVuY3Rpb24odCxlLG4sYSl7dmFyIGk9MDtpZigiZXhwb25lbnRpYWwiPT09dC5uYW1lKWk9amUoZSx0LmJhc2UsbixhKTtlbHNlIGlmKCJsaW5lYXIiPT09dC5uYW1lKWk9amUoZSwxLG4sYSk7ZWxzZSBpZigiY3ViaWMtYmV6aWVyIj09PXQubmFtZSl7dmFyIG89dC5jb250cm9sUG9pbnRzO2k9bmV3IHIob1swXSxvWzFdLG9bMl0sb1szXSkuc29sdmUoamUoZSwxLG4sYSkpfXJldHVybiBpfSxOZS5wYXJzZT1mdW5jdGlvbih0LGUpe3ZhciByPXRbMF0sbj10WzFdLGE9dFsyXSxpPXQuc2xpY2UoMyk7aWYoIUFycmF5LmlzQXJyYXkobil8fDA9PT1uLmxlbmd0aClyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgYW4gaW50ZXJwb2xhdGlvbiB0eXBlIGV4cHJlc3Npb24uIiwxKTtpZigibGluZWFyIj09PW5bMF0pbj17bmFtZToibGluZWFyIn07ZWxzZSBpZigiZXhwb25lbnRpYWwiPT09blswXSl7dmFyIG89blsxXTtpZigibnVtYmVyIiE9dHlwZW9mIG8pcmV0dXJuIGUuZXJyb3IoIkV4cG9uZW50aWFsIGludGVycG9sYXRpb24gcmVxdWlyZXMgYSBudW1lcmljIGJhc2UuIiwxLDEpO249e25hbWU6ImV4cG9uZW50aWFsIixiYXNlOm99fWVsc2V7aWYoImN1YmljLWJlemllciIhPT1uWzBdKXJldHVybiBlLmVycm9yKCJVbmtub3duIGludGVycG9sYXRpb24gdHlwZSAiK1N0cmluZyhuWzBdKSwxLDApO3ZhciBzPW4uc2xpY2UoMSk7aWYoNCE9PXMubGVuZ3RofHxzLnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuIm51bWJlciIhPXR5cGVvZiB0fHx0PDB8fHQ+MX0pKXJldHVybiBlLmVycm9yKCJDdWJpYyBiZXppZXIgaW50ZXJwb2xhdGlvbiByZXF1aXJlcyBmb3VyIG51bWVyaWMgYXJndW1lbnRzIHdpdGggdmFsdWVzIGJldHdlZW4gMCBhbmQgMS4iLDEpO249e25hbWU6ImN1YmljLWJlemllciIsY29udHJvbFBvaW50czpzfX1pZih0Lmxlbmd0aC0xPDQpcmV0dXJuIGUuZXJyb3IoIkV4cGVjdGVkIGF0IGxlYXN0IDQgYXJndW1lbnRzLCBidXQgZm91bmQgb25seSAiKyh0Lmxlbmd0aC0xKSsiLiIpO2lmKCh0Lmxlbmd0aC0xKSUyIT0wKXJldHVybiBlLmVycm9yKCJFeHBlY3RlZCBhbiBldmVuIG51bWJlciBvZiBhcmd1bWVudHMuIik7aWYoIShhPWUucGFyc2UoYSwyLEl0KSkpcmV0dXJuIG51bGw7dmFyIGw9W10sYz1udWxsOyJpbnRlcnBvbGF0ZS1oY2wiPT09cnx8ImludGVycG9sYXRlLWxhYiI9PT1yP2M9RnQ6ZS5leHBlY3RlZFR5cGUmJiJ2YWx1ZSIhPT1lLmV4cGVjdGVkVHlwZS5raW5kJiYoYz1lLmV4cGVjdGVkVHlwZSk7Zm9yKHZhciB1PTA7dTxpLmxlbmd0aDt1Kz0yKXt2YXIgaD1pW3VdLGY9aVt1KzFdLHA9dSszLGQ9dSs0O2lmKCJudW1iZXIiIT10eXBlb2YgaClyZXR1cm4gZS5lcnJvcignSW5wdXQvb3V0cHV0IHBhaXJzIGZvciAiaW50ZXJwb2xhdGUiIGV4cHJlc3Npb25zIG11c3QgYmUgZGVmaW5lZCB1c2luZyBsaXRlcmFsIG51bWVyaWMgdmFsdWVzIChub3QgY29tcHV0ZWQgZXhwcmVzc2lvbnMpIGZvciB0aGUgaW5wdXQgdmFsdWVzLicscCk7aWYobC5sZW5ndGgmJmxbbC5sZW5ndGgtMV1bMF0+PWgpcmV0dXJuIGUuZXJyb3IoJ0lucHV0L291dHB1dCBwYWlycyBmb3IgImludGVycG9sYXRlIiBleHByZXNzaW9ucyBtdXN0IGJlIGFycmFuZ2VkIHdpdGggaW5wdXQgdmFsdWVzIGluIHN0cmljdGx5IGFzY2VuZGluZyBvcmRlci4nLHApO3ZhciBnPWUucGFyc2UoZixkLGMpO2lmKCFnKXJldHVybiBudWxsO2M9Y3x8Zy50eXBlLGwucHVzaChbaCxnXSl9cmV0dXJuIm51bWJlciI9PT1jLmtpbmR8fCJjb2xvciI9PT1jLmtpbmR8fCJhcnJheSI9PT1jLmtpbmQmJiJudW1iZXIiPT09Yy5pdGVtVHlwZS5raW5kJiYibnVtYmVyIj09dHlwZW9mIGMuTj9uZXcgTmUoYyxyLG4sYSxsKTplLmVycm9yKCJUeXBlICIrcXQoYykrIiBpcyBub3QgaW50ZXJwb2xhdGFibGUuIil9LE5lLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmxhYmVscyxyPXRoaXMub3V0cHV0cztpZigxPT09ZS5sZW5ndGgpcmV0dXJuIHJbMF0uZXZhbHVhdGUodCk7dmFyIG49dGhpcy5pbnB1dC5ldmFsdWF0ZSh0KTtpZihuPD1lWzBdKXJldHVybiByWzBdLmV2YWx1YXRlKHQpO3ZhciBhPWUubGVuZ3RoO2lmKG4+PWVbYS0xXSlyZXR1cm4gclthLTFdLmV2YWx1YXRlKHQpO3ZhciBpPXZlKGUsbiksbz1lW2ldLHM9ZVtpKzFdLGw9TmUuaW50ZXJwb2xhdGlvbkZhY3Rvcih0aGlzLmludGVycG9sYXRpb24sbixvLHMpLGM9cltpXS5ldmFsdWF0ZSh0KSx1PXJbaSsxXS5ldmFsdWF0ZSh0KTtyZXR1cm4iaW50ZXJwb2xhdGUiPT09dGhpcy5vcGVyYXRvcj94ZVt0aGlzLnR5cGUua2luZC50b0xvd2VyQ2FzZSgpXShjLHUsbCk6ImludGVycG9sYXRlLWhjbCI9PT10aGlzLm9wZXJhdG9yP0ZlLnJldmVyc2UoRmUuaW50ZXJwb2xhdGUoRmUuZm9yd2FyZChjKSxGZS5mb3J3YXJkKHUpLGwpKTpSZS5yZXZlcnNlKFJlLmludGVycG9sYXRlKFJlLmZvcndhcmQoYyksUmUuZm9yd2FyZCh1KSxsKSl9LE5lLnByb3RvdHlwZS5lYWNoQ2hpbGQ9ZnVuY3Rpb24odCl7dCh0aGlzLmlucHV0KTtmb3IodmFyIGU9MCxyPXRoaXMub3V0cHV0cztlPHIubGVuZ3RoO2UrPTEpdChyW2VdKX0sTmUucHJvdG90eXBlLnBvc3NpYmxlT3V0cHV0cz1mdW5jdGlvbigpe3ZhciB0O3JldHVybih0PVtdKS5jb25jYXQuYXBwbHkodCx0aGlzLm91dHB1dHMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnBvc3NpYmxlT3V0cHV0cygpfSkpfSxOZS5wcm90b3R5cGUuc2VyaWFsaXplPWZ1bmN0aW9uKCl7dmFyIHQ7dD0ibGluZWFyIj09PXRoaXMuaW50ZXJwb2xhdGlvbi5uYW1lP1sibGluZWFyIl06ImV4cG9uZW50aWFsIj09PXRoaXMuaW50ZXJwb2xhdGlvbi5uYW1lPzE9PT10aGlzLmludGVycG9sYXRpb24uYmFzZT9bImxpbmVhciJdOlsiZXhwb25lbnRpYWwiLHRoaXMuaW50ZXJwb2xhdGlvbi5iYXNlXTpbImN1YmljLWJlemllciJdLmNvbmNhdCh0aGlzLmludGVycG9sYXRpb24uY29udHJvbFBvaW50cyk7Zm9yKHZhciBlPVt0aGlzLm9wZXJhdG9yLHQsdGhpcy5pbnB1dC5zZXJpYWxpemUoKV0scj0wO3I8dGhpcy5sYWJlbHMubGVuZ3RoO3IrKyllLnB1c2godGhpcy5sYWJlbHNbcl0sdGhpcy5vdXRwdXRzW3JdLnNlcmlhbGl6ZSgpKTtyZXR1cm4gZX07dmFyIFZlPWZ1bmN0aW9uKHQsZSl7dGhpcy50eXBlPXQsdGhpcy5hcmdzPWV9O1ZlLnBhcnNlPWZ1bmN0aW9uKHQsZSl7aWYodC5sZW5ndGg8MilyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWN0ZWQgYXQgbGVhc3Qgb25lIGFyZ3VtZW50LiIpO3ZhciByPW51bGwsbj1lLmV4cGVjdGVkVHlwZTtuJiYidmFsdWUiIT09bi5raW5kJiYocj1uKTtmb3IodmFyIGE9W10saT0wLG89dC5zbGljZSgxKTtpPG8ubGVuZ3RoO2krPTEpe3ZhciBzPW9baV0sbD1lLnBhcnNlKHMsMSthLmxlbmd0aCxyLHZvaWQgMCx7dHlwZUFubm90YXRpb246Im9taXQifSk7aWYoIWwpcmV0dXJuIG51bGw7cj1yfHxsLnR5cGUsYS5wdXNoKGwpfXZhciBjPW4mJmEuc29tZShmdW5jdGlvbih0KXtyZXR1cm4gR3Qobix0LnR5cGUpfSk7cmV0dXJuIG5ldyBWZShjP050OnIsYSl9LFZlLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbih0KXtmb3IodmFyIGU9bnVsbCxyPTAsbj10aGlzLmFyZ3M7cjxuLmxlbmd0aCYmbnVsbD09PShlPW5bcl0uZXZhbHVhdGUodCkpO3IrPTEpO3JldHVybiBlfSxWZS5wcm90b3R5cGUuZWFjaENoaWxkPWZ1bmN0aW9uKHQpe3RoaXMuYXJncy5mb3JFYWNoKHQpfSxWZS5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuKHQ9W10pLmNvbmNhdC5hcHBseSh0LHRoaXMuYXJncy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQucG9zc2libGVPdXRwdXRzKCl9KSl9LFZlLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXt2YXIgdD1bImNvYWxlc2NlIl07cmV0dXJuIHRoaXMuZWFjaENoaWxkKGZ1bmN0aW9uKGUpe3QucHVzaChlLnNlcmlhbGl6ZSgpKX0pLHR9O3ZhciBVZT1mdW5jdGlvbih0LGUpe3RoaXMudHlwZT1lLnR5cGUsdGhpcy5iaW5kaW5ncz1bXS5jb25jYXQodCksdGhpcy5yZXN1bHQ9ZX07VWUucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJlc3VsdC5ldmFsdWF0ZSh0KX0sVWUucHJvdG90eXBlLmVhY2hDaGlsZD1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPXRoaXMuYmluZGluZ3M7ZTxyLmxlbmd0aDtlKz0xKXQocltlXVsxXSk7dCh0aGlzLnJlc3VsdCl9LFVlLnBhcnNlPWZ1bmN0aW9uKHQsZSl7aWYodC5sZW5ndGg8NClyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgYXQgbGVhc3QgMyBhcmd1bWVudHMsIGJ1dCBmb3VuZCAiKyh0Lmxlbmd0aC0xKSsiIGluc3RlYWQuIik7Zm9yKHZhciByPVtdLG49MTtuPHQubGVuZ3RoLTE7bis9Mil7dmFyIGE9dFtuXTtpZigic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIGUuZXJyb3IoIkV4cGVjdGVkIHN0cmluZywgYnV0IGZvdW5kICIrdHlwZW9mIGErIiBpbnN0ZWFkLiIsbik7aWYoL1teYS16QS1aMC05X10vLnRlc3QoYSkpcmV0dXJuIGUuZXJyb3IoIlZhcmlhYmxlIG5hbWVzIG11c3QgY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIG9yICdfJy4iLG4pO3ZhciBpPWUucGFyc2UodFtuKzFdLG4rMSk7aWYoIWkpcmV0dXJuIG51bGw7ci5wdXNoKFthLGldKX12YXIgbz1lLnBhcnNlKHRbdC5sZW5ndGgtMV0sdC5sZW5ndGgtMSxlLmV4cGVjdGVkVHlwZSxyKTtyZXR1cm4gbz9uZXcgVWUocixvKTpudWxsfSxVZS5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVzdWx0LnBvc3NpYmxlT3V0cHV0cygpfSxVZS5wcm90b3R5cGUuc2VyaWFsaXplPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVsibGV0Il0sZT0wLHI9dGhpcy5iaW5kaW5ncztlPHIubGVuZ3RoO2UrPTEpe3ZhciBuPXJbZV0sYT1uWzBdLGk9blsxXTt0LnB1c2goYSxpLnNlcmlhbGl6ZSgpKX1yZXR1cm4gdC5wdXNoKHRoaXMucmVzdWx0LnNlcmlhbGl6ZSgpKSx0fTt2YXIgcWU9ZnVuY3Rpb24odCxlLHIpe3RoaXMudHlwZT10LHRoaXMuaW5kZXg9ZSx0aGlzLmlucHV0PXJ9O3FlLnBhcnNlPWZ1bmN0aW9uKHQsZSl7aWYoMyE9PXQubGVuZ3RoKXJldHVybiBlLmVycm9yKCJFeHBlY3RlZCAyIGFyZ3VtZW50cywgYnV0IGZvdW5kICIrKHQubGVuZ3RoLTEpKyIgaW5zdGVhZC4iKTt2YXIgcj1lLnBhcnNlKHRbMV0sMSxJdCksbj1lLnBhcnNlKHRbMl0sMixVdChlLmV4cGVjdGVkVHlwZXx8TnQpKTtpZighcnx8IW4pcmV0dXJuIG51bGw7dmFyIGE9bi50eXBlO3JldHVybiBuZXcgcWUoYS5pdGVtVHlwZSxyLG4pfSxxZS5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5pbmRleC5ldmFsdWF0ZSh0KSxyPXRoaXMuaW5wdXQuZXZhbHVhdGUodCk7aWYoZTwwKXRocm93IG5ldyBlZSgiQXJyYXkgaW5kZXggb3V0IG9mIGJvdW5kczogIitlKyIgPCAwLiIpO2lmKGU+PXIubGVuZ3RoKXRocm93IG5ldyBlZSgiQXJyYXkgaW5kZXggb3V0IG9mIGJvdW5kczogIitlKyIgPiAiKyhyLmxlbmd0aC0xKSsiLiIpO2lmKGUhPT1NYXRoLmZsb29yKGUpKXRocm93IG5ldyBlZSgiQXJyYXkgaW5kZXggbXVzdCBiZSBhbiBpbnRlZ2VyLCBidXQgZm91bmQgIitlKyIgaW5zdGVhZC4iKTtyZXR1cm4gcltlXX0scWUucHJvdG90eXBlLmVhY2hDaGlsZD1mdW5jdGlvbih0KXt0KHRoaXMuaW5kZXgpLHQodGhpcy5pbnB1dCl9LHFlLnByb3RvdHlwZS5wb3NzaWJsZU91dHB1dHM9ZnVuY3Rpb24oKXtyZXR1cm5bdm9pZCAwXX0scWUucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVyblsiYXQiLHRoaXMuaW5kZXguc2VyaWFsaXplKCksdGhpcy5pbnB1dC5zZXJpYWxpemUoKV19O3ZhciBIZT1mdW5jdGlvbih0LGUscixuLGEsaSl7dGhpcy5pbnB1dFR5cGU9dCx0aGlzLnR5cGU9ZSx0aGlzLmlucHV0PXIsdGhpcy5jYXNlcz1uLHRoaXMub3V0cHV0cz1hLHRoaXMub3RoZXJ3aXNlPWl9O0hlLnBhcnNlPWZ1bmN0aW9uKHQsZSl7aWYodC5sZW5ndGg8NSlyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgYXQgbGVhc3QgNCBhcmd1bWVudHMsIGJ1dCBmb3VuZCBvbmx5ICIrKHQubGVuZ3RoLTEpKyIuIik7aWYodC5sZW5ndGglMiE9MSlyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgYW4gZXZlbiBudW1iZXIgb2YgYXJndW1lbnRzLiIpO3ZhciByLG47ZS5leHBlY3RlZFR5cGUmJiJ2YWx1ZSIhPT1lLmV4cGVjdGVkVHlwZS5raW5kJiYobj1lLmV4cGVjdGVkVHlwZSk7Zm9yKHZhciBhPXt9LGk9W10sbz0yO288dC5sZW5ndGgtMTtvKz0yKXt2YXIgcz10W29dLGw9dFtvKzFdO0FycmF5LmlzQXJyYXkocyl8fChzPVtzXSk7dmFyIGM9ZS5jb25jYXQobyk7aWYoMD09PXMubGVuZ3RoKXJldHVybiBjLmVycm9yKCJFeHBlY3RlZCBhdCBsZWFzdCBvbmUgYnJhbmNoIGxhYmVsLiIpO2Zvcih2YXIgdT0wLGg9czt1PGgubGVuZ3RoO3UrPTEpe3ZhciBmPWhbdV07aWYoIm51bWJlciIhPXR5cGVvZiBmJiYic3RyaW5nIiE9dHlwZW9mIGYpcmV0dXJuIGMuZXJyb3IoIkJyYW5jaCBsYWJlbHMgbXVzdCBiZSBudW1iZXJzIG9yIHN0cmluZ3MuIik7aWYoIm51bWJlciI9PXR5cGVvZiBmJiZNYXRoLmFicyhmKT5OdW1iZXIuTUFYX1NBRkVfSU5URUdFUilyZXR1cm4gYy5lcnJvcigiQnJhbmNoIGxhYmVscyBtdXN0IGJlIGludGVnZXJzIG5vIGxhcmdlciB0aGFuICIrTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIrIi4iKTtpZigibnVtYmVyIj09dHlwZW9mIGYmJk1hdGguZmxvb3IoZikhPT1mKXJldHVybiBjLmVycm9yKCJOdW1lcmljIGJyYW5jaCBsYWJlbHMgbXVzdCBiZSBpbnRlZ2VyIHZhbHVlcy4iKTtpZihyKXtpZihjLmNoZWNrU3VidHlwZShyLFF0KGYpKSlyZXR1cm4gbnVsbH1lbHNlIHI9UXQoZik7aWYodm9pZCAwIT09YVtTdHJpbmcoZildKXJldHVybiBjLmVycm9yKCJCcmFuY2ggbGFiZWxzIG11c3QgYmUgdW5pcXVlLiIpO2FbU3RyaW5nKGYpXT1pLmxlbmd0aH12YXIgcD1lLnBhcnNlKGwsbyxuKTtpZighcClyZXR1cm4gbnVsbDtuPW58fHAudHlwZSxpLnB1c2gocCl9dmFyIGQ9ZS5wYXJzZSh0WzFdLDEsTnQpO2lmKCFkKXJldHVybiBudWxsO3ZhciBnPWUucGFyc2UodFt0Lmxlbmd0aC0xXSx0Lmxlbmd0aC0xLG4pO3JldHVybiBnPyJ2YWx1ZSIhPT1kLnR5cGUua2luZCYmZS5jb25jYXQoMSkuY2hlY2tTdWJ0eXBlKHIsZC50eXBlKT9udWxsOm5ldyBIZShyLG4sZCxhLGksZyk6bnVsbH0sSGUucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuaW5wdXQuZXZhbHVhdGUodCk7cmV0dXJuKFF0KGUpPT09dGhpcy5pbnB1dFR5cGUmJnRoaXMub3V0cHV0c1t0aGlzLmNhc2VzW2VdXXx8dGhpcy5vdGhlcndpc2UpLmV2YWx1YXRlKHQpfSxIZS5wcm90b3R5cGUuZWFjaENoaWxkPWZ1bmN0aW9uKHQpe3QodGhpcy5pbnB1dCksdGhpcy5vdXRwdXRzLmZvckVhY2godCksdCh0aGlzLm90aGVyd2lzZSl9LEhlLnByb3RvdHlwZS5wb3NzaWJsZU91dHB1dHM9ZnVuY3Rpb24oKXt2YXIgdDtyZXR1cm4odD1bXSkuY29uY2F0LmFwcGx5KHQsdGhpcy5vdXRwdXRzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5wb3NzaWJsZU91dHB1dHMoKX0pKS5jb25jYXQodGhpcy5vdGhlcndpc2UucG9zc2libGVPdXRwdXRzKCkpfSxIZS5wcm90b3R5cGUuc2VyaWFsaXplPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMsZT1bIm1hdGNoIix0aGlzLmlucHV0LnNlcmlhbGl6ZSgpXSxyPVtdLG49e30sYT0wLGk9T2JqZWN0LmtleXModGhpcy5jYXNlcykuc29ydCgpO2E8aS5sZW5ndGg7YSs9MSl7dmFyIG89aVthXTt2b2lkIDA9PT0oaD1uW3RoaXMuY2FzZXNbb11dKT8oblt0aGlzLmNhc2VzW29dXT1yLmxlbmd0aCxyLnB1c2goW3RoaXMuY2FzZXNbb10sW29dXSkpOnJbaF1bMV0ucHVzaChvKX1mb3IodmFyIHM9ZnVuY3Rpb24oZSl7cmV0dXJuIm51bWJlciI9PT10LmlucHV0VHlwZS5raW5kP051bWJlcihlKTplfSxsPTAsYz1yO2w8Yy5sZW5ndGg7bCs9MSl7dmFyIHU9Y1tsXSxoPXVbMF0sZj11WzFdOzE9PT1mLmxlbmd0aD9lLnB1c2gocyhmWzBdKSk6ZS5wdXNoKGYubWFwKHMpKSxlLnB1c2godGhpcy5vdXRwdXRzW291dHB1dEluZGV4JDFdLnNlcmlhbGl6ZSgpKX1yZXR1cm4gZS5wdXNoKHRoaXMub3RoZXJ3aXNlLnNlcmlhbGl6ZSgpKSxlfTt2YXIgR2U9ZnVuY3Rpb24odCxlLHIpe3RoaXMudHlwZT10LHRoaXMuYnJhbmNoZXM9ZSx0aGlzLm90aGVyd2lzZT1yfTtmdW5jdGlvbiBZZSh0LGUpe3JldHVybiI9PSI9PT10fHwiIT0iPT09dD8iYm9vbGVhbiI9PT1lLmtpbmR8fCJzdHJpbmciPT09ZS5raW5kfHwibnVtYmVyIj09PWUua2luZHx8Im51bGwiPT09ZS5raW5kfHwidmFsdWUiPT09ZS5raW5kOiJzdHJpbmciPT09ZS5raW5kfHwibnVtYmVyIj09PWUua2luZHx8InZhbHVlIj09PWUua2luZH1mdW5jdGlvbiBXZSh0LGUscixuKXtyZXR1cm4gMD09PW4uY29tcGFyZShlLHIpfWZ1bmN0aW9uIFhlKHQsZSxyKXt2YXIgbj0iPT0iIT09dCYmIiE9IiE9PXQ7cmV0dXJuIGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSh0LGUscil7dGhpcy50eXBlPVJ0LHRoaXMubGhzPXQsdGhpcy5yaHM9ZSx0aGlzLmNvbGxhdG9yPXIsdGhpcy5oYXNVbnR5cGVkQXJndW1lbnQ9InZhbHVlIj09PXQudHlwZS5raW5kfHwidmFsdWUiPT09ZS50eXBlLmtpbmR9cmV0dXJuIGEucGFyc2U9ZnVuY3Rpb24odCxlKXtpZigzIT09dC5sZW5ndGgmJjQhPT10Lmxlbmd0aClyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgdHdvIG9yIHRocmVlIGFyZ3VtZW50cy4iKTt2YXIgcj10WzBdLGk9ZS5wYXJzZSh0WzFdLDEsTnQpO2lmKCFpKXJldHVybiBudWxsO2lmKCFZZShyLGkudHlwZSkpcmV0dXJuIGUuY29uY2F0KDEpLmVycm9yKCciJytyKyJcIiBjb21wYXJpc29ucyBhcmUgbm90IHN1cHBvcnRlZCBmb3IgdHlwZSAnIitxdChpLnR5cGUpKyInLiIpO3ZhciBvPWUucGFyc2UodFsyXSwyLE50KTtpZighbylyZXR1cm4gbnVsbDtpZighWWUocixvLnR5cGUpKXJldHVybiBlLmNvbmNhdCgyKS5lcnJvcignIicrcisiXCIgY29tcGFyaXNvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIHR5cGUgJyIrcXQoby50eXBlKSsiJy4iKTtpZihpLnR5cGUua2luZCE9PW8udHlwZS5raW5kJiYidmFsdWUiIT09aS50eXBlLmtpbmQmJiJ2YWx1ZSIhPT1vLnR5cGUua2luZClyZXR1cm4gZS5lcnJvcigiQ2Fubm90IGNvbXBhcmUgdHlwZXMgJyIrcXQoaS50eXBlKSsiJyBhbmQgJyIrcXQoby50eXBlKSsiJy4iKTtuJiYoInZhbHVlIj09PWkudHlwZS5raW5kJiYidmFsdWUiIT09by50eXBlLmtpbmQ/aT1uZXcgbmUoby50eXBlLFtpXSk6InZhbHVlIiE9PWkudHlwZS5raW5kJiYidmFsdWUiPT09by50eXBlLmtpbmQmJihvPW5ldyBuZShpLnR5cGUsW29dKSkpO3ZhciBzPW51bGw7aWYoND09PXQubGVuZ3RoKXtpZigic3RyaW5nIiE9PWkudHlwZS5raW5kJiYic3RyaW5nIiE9PW8udHlwZS5raW5kJiYidmFsdWUiIT09aS50eXBlLmtpbmQmJiJ2YWx1ZSIhPT1vLnR5cGUua2luZClyZXR1cm4gZS5lcnJvcigiQ2Fubm90IHVzZSBjb2xsYXRvciB0byBjb21wYXJlIG5vbi1zdHJpbmcgdHlwZXMuIik7aWYoIShzPWUucGFyc2UodFszXSwzLGp0KSkpcmV0dXJuIG51bGx9cmV0dXJuIG5ldyBhKGksbyxzKX0sYS5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oYSl7dmFyIGk9dGhpcy5saHMuZXZhbHVhdGUoYSksbz10aGlzLnJocy5ldmFsdWF0ZShhKTtpZihuJiZ0aGlzLmhhc1VudHlwZWRBcmd1bWVudCl7dmFyIHM9UXQoaSksbD1RdChvKTtpZihzLmtpbmQhPT1sLmtpbmR8fCJzdHJpbmciIT09cy5raW5kJiYibnVtYmVyIiE9PXMua2luZCl0aHJvdyBuZXcgZWUoJ0V4cGVjdGVkIGFyZ3VtZW50cyBmb3IgIicrdCsnIiB0byBiZSAoc3RyaW5nLCBzdHJpbmcpIG9yIChudW1iZXIsIG51bWJlciksIGJ1dCBmb3VuZCAoJytzLmtpbmQrIiwgIitsLmtpbmQrIikgaW5zdGVhZC4iKX1pZih0aGlzLmNvbGxhdG9yJiYhbiYmdGhpcy5oYXNVbnR5cGVkQXJndW1lbnQpe3ZhciBjPVF0KGkpLHU9UXQobyk7aWYoInN0cmluZyIhPT1jLmtpbmR8fCJzdHJpbmciIT09dS5raW5kKXJldHVybiBlKGEsaSxvKX1yZXR1cm4gdGhpcy5jb2xsYXRvcj9yKGEsaSxvLHRoaXMuY29sbGF0b3IuZXZhbHVhdGUoYSkpOmUoYSxpLG8pfSxhLnByb3RvdHlwZS5lYWNoQ2hpbGQ9ZnVuY3Rpb24odCl7dCh0aGlzLmxocyksdCh0aGlzLnJocyksdGhpcy5jb2xsYXRvciYmdCh0aGlzLmNvbGxhdG9yKX0sYS5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7cmV0dXJuWyEwLCExXX0sYS5wcm90b3R5cGUuc2VyaWFsaXplPWZ1bmN0aW9uKCl7dmFyIGU9W3RdO3JldHVybiB0aGlzLmVhY2hDaGlsZChmdW5jdGlvbih0KXtlLnB1c2godC5zZXJpYWxpemUoKSl9KSxlfSxhfSgpfUdlLnBhcnNlPWZ1bmN0aW9uKHQsZSl7aWYodC5sZW5ndGg8NClyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgYXQgbGVhc3QgMyBhcmd1bWVudHMsIGJ1dCBmb3VuZCBvbmx5ICIrKHQubGVuZ3RoLTEpKyIuIik7aWYodC5sZW5ndGglMiE9MClyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgYW4gb2RkIG51bWJlciBvZiBhcmd1bWVudHMuIik7dmFyIHI7ZS5leHBlY3RlZFR5cGUmJiJ2YWx1ZSIhPT1lLmV4cGVjdGVkVHlwZS5raW5kJiYocj1lLmV4cGVjdGVkVHlwZSk7Zm9yKHZhciBuPVtdLGE9MTthPHQubGVuZ3RoLTE7YSs9Mil7dmFyIGk9ZS5wYXJzZSh0W2FdLGEsUnQpO2lmKCFpKXJldHVybiBudWxsO3ZhciBvPWUucGFyc2UodFthKzFdLGErMSxyKTtpZighbylyZXR1cm4gbnVsbDtuLnB1c2goW2ksb10pLHI9cnx8by50eXBlfXZhciBzPWUucGFyc2UodFt0Lmxlbmd0aC0xXSx0Lmxlbmd0aC0xLHIpO3JldHVybiBzP25ldyBHZShyLG4scyk6bnVsbH0sR2UucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLHI9dGhpcy5icmFuY2hlcztlPHIubGVuZ3RoO2UrPTEpe3ZhciBuPXJbZV0sYT1uWzBdLGk9blsxXTtpZihhLmV2YWx1YXRlKHQpKXJldHVybiBpLmV2YWx1YXRlKHQpfXJldHVybiB0aGlzLm90aGVyd2lzZS5ldmFsdWF0ZSh0KX0sR2UucHJvdG90eXBlLmVhY2hDaGlsZD1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPXRoaXMuYnJhbmNoZXM7ZTxyLmxlbmd0aDtlKz0xKXt2YXIgbj1yW2VdLGE9blswXSxpPW5bMV07dChhKSx0KGkpfXQodGhpcy5vdGhlcndpc2UpfSxHZS5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuKHQ9W10pLmNvbmNhdC5hcHBseSh0LHRoaXMuYnJhbmNoZXMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0WzBdLHRbMV0ucG9zc2libGVPdXRwdXRzKCl9KSkuY29uY2F0KHRoaXMub3RoZXJ3aXNlLnBvc3NpYmxlT3V0cHV0cygpKX0sR2UucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3ZhciB0PVsiY2FzZSJdO3JldHVybiB0aGlzLmVhY2hDaGlsZChmdW5jdGlvbihlKXt0LnB1c2goZS5zZXJpYWxpemUoKSl9KSx0fTt2YXIgWmU9WGUoIj09IixmdW5jdGlvbih0LGUscil7cmV0dXJuIGU9PT1yfSxXZSksSmU9WGUoIiE9IixmdW5jdGlvbih0LGUscil7cmV0dXJuIGUhPT1yfSxmdW5jdGlvbih0LGUscixuKXtyZXR1cm4hV2UoMCxlLHIsbil9KSxLZT1YZSgiPCIsZnVuY3Rpb24odCxlLHIpe3JldHVybiBlPHJ9LGZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiBuLmNvbXBhcmUoZSxyKTwwfSksUWU9WGUoIj4iLGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZT5yfSxmdW5jdGlvbih0LGUscixuKXtyZXR1cm4gbi5jb21wYXJlKGUscik+MH0pLCRlPVhlKCI8PSIsZnVuY3Rpb24odCxlLHIpe3JldHVybiBlPD1yfSxmdW5jdGlvbih0LGUscixuKXtyZXR1cm4gbi5jb21wYXJlKGUscik8PTB9KSx0cj1YZSgiPj0iLGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZT49cn0sZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIG4uY29tcGFyZShlLHIpPj0wfSksZXI9ZnVuY3Rpb24odCxlLHIsbixhKXt0aGlzLnR5cGU9RHQsdGhpcy5udW1iZXI9dCx0aGlzLmxvY2FsZT1lLHRoaXMuY3VycmVuY3k9cix0aGlzLm1pbkZyYWN0aW9uRGlnaXRzPW4sdGhpcy5tYXhGcmFjdGlvbkRpZ2l0cz1hfTtlci5wYXJzZT1mdW5jdGlvbih0LGUpe2lmKDMhPT10Lmxlbmd0aClyZXR1cm4gZS5lcnJvcigiRXhwZWN0ZWQgdHdvIGFyZ3VtZW50cy4iKTt2YXIgcj1lLnBhcnNlKHRbMV0sMSxJdCk7aWYoIXIpcmV0dXJuIG51bGw7dmFyIG49dFsyXTtpZigib2JqZWN0IiE9dHlwZW9mIG58fEFycmF5LmlzQXJyYXkobikpcmV0dXJuIGUuZXJyb3IoIk51bWJlckZvcm1hdCBvcHRpb25zIGFyZ3VtZW50IG11c3QgYmUgYW4gb2JqZWN0LiIpO3ZhciBhPW51bGw7aWYobi5sb2NhbGUmJiEoYT1lLnBhcnNlKG4ubG9jYWxlLDEsRHQpKSlyZXR1cm4gbnVsbDt2YXIgaT1udWxsO2lmKG4uY3VycmVuY3kmJiEoaT1lLnBhcnNlKG4uY3VycmVuY3ksMSxEdCkpKXJldHVybiBudWxsO3ZhciBvPW51bGw7aWYoblsibWluLWZyYWN0aW9uLWRpZ2l0cyJdJiYhKG89ZS5wYXJzZShuWyJtaW4tZnJhY3Rpb24tZGlnaXRzIl0sMSxJdCkpKXJldHVybiBudWxsO3ZhciBzPW51bGw7cmV0dXJuIG5bIm1heC1mcmFjdGlvbi1kaWdpdHMiXSYmIShzPWUucGFyc2UoblsibWF4LWZyYWN0aW9uLWRpZ2l0cyJdLDEsSXQpKT9udWxsOm5ldyBlcihyLGEsaSxvLHMpfSxlci5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmxvY2FsZT90aGlzLmxvY2FsZS5ldmFsdWF0ZSh0KTpbXSx7c3R5bGU6dGhpcy5jdXJyZW5jeT8iY3VycmVuY3kiOiJkZWNpbWFsIixjdXJyZW5jeTp0aGlzLmN1cnJlbmN5P3RoaXMuY3VycmVuY3kuZXZhbHVhdGUodCk6dm9pZCAwLG1pbmltdW1GcmFjdGlvbkRpZ2l0czp0aGlzLm1pbkZyYWN0aW9uRGlnaXRzP3RoaXMubWluRnJhY3Rpb25EaWdpdHMuZXZhbHVhdGUodCk6dm9pZCAwLG1heGltdW1GcmFjdGlvbkRpZ2l0czp0aGlzLm1heEZyYWN0aW9uRGlnaXRzP3RoaXMubWF4RnJhY3Rpb25EaWdpdHMuZXZhbHVhdGUodCk6dm9pZCAwfSkuZm9ybWF0KHRoaXMubnVtYmVyLmV2YWx1YXRlKHQpKX0sZXIucHJvdG90eXBlLmVhY2hDaGlsZD1mdW5jdGlvbih0KXt0KHRoaXMubnVtYmVyKSx0aGlzLmxvY2FsZSYmdCh0aGlzLmxvY2FsZSksdGhpcy5jdXJyZW5jeSYmdCh0aGlzLmN1cnJlbmN5KSx0aGlzLm1pbkZyYWN0aW9uRGlnaXRzJiZ0KHRoaXMubWluRnJhY3Rpb25EaWdpdHMpLHRoaXMubWF4RnJhY3Rpb25EaWdpdHMmJnQodGhpcy5tYXhGcmFjdGlvbkRpZ2l0cyl9LGVyLnByb3RvdHlwZS5wb3NzaWJsZU91dHB1dHM9ZnVuY3Rpb24oKXtyZXR1cm5bdm9pZCAwXX0sZXIucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3ZhciB0PXt9O3JldHVybiB0aGlzLmxvY2FsZSYmKHQubG9jYWxlPXRoaXMubG9jYWxlLnNlcmlhbGl6ZSgpKSx0aGlzLmN1cnJlbmN5JiYodC5jdXJyZW5jeT10aGlzLmN1cnJlbmN5LnNlcmlhbGl6ZSgpKSx0aGlzLm1pbkZyYWN0aW9uRGlnaXRzJiYodFsibWluLWZyYWN0aW9uLWRpZ2l0cyJdPXRoaXMubWluRnJhY3Rpb25EaWdpdHMuc2VyaWFsaXplKCkpLHRoaXMubWF4RnJhY3Rpb25EaWdpdHMmJih0WyJtYXgtZnJhY3Rpb24tZGlnaXRzIl09dGhpcy5tYXhGcmFjdGlvbkRpZ2l0cy5zZXJpYWxpemUoKSksWyJudW1iZXItZm9ybWF0Iix0aGlzLm51bWJlci5zZXJpYWxpemUoKSx0XX07dmFyIHJyPWZ1bmN0aW9uKHQpe3RoaXMudHlwZT1JdCx0aGlzLmlucHV0PXR9O3JyLnBhcnNlPWZ1bmN0aW9uKHQsZSl7aWYoMiE9PXQubGVuZ3RoKXJldHVybiBlLmVycm9yKCJFeHBlY3RlZCAxIGFyZ3VtZW50LCBidXQgZm91bmQgIisodC5sZW5ndGgtMSkrIiBpbnN0ZWFkLiIpO3ZhciByPWUucGFyc2UodFsxXSwxKTtyZXR1cm4gcj8iYXJyYXkiIT09ci50eXBlLmtpbmQmJiJzdHJpbmciIT09ci50eXBlLmtpbmQmJiJ2YWx1ZSIhPT1yLnR5cGUua2luZD9lLmVycm9yKCJFeHBlY3RlZCBhcmd1bWVudCBvZiB0eXBlIHN0cmluZyBvciBhcnJheSwgYnV0IGZvdW5kICIrcXQoci50eXBlKSsiIGluc3RlYWQuIik6bmV3IHJyKHIpOm51bGx9LHJyLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmlucHV0LmV2YWx1YXRlKHQpO2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gZS5sZW5ndGg7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZS5sZW5ndGg7dGhyb3cgbmV3IGVlKCJFeHBlY3RlZCB2YWx1ZSB0byBiZSBvZiB0eXBlIHN0cmluZyBvciBhcnJheSwgYnV0IGZvdW5kICIrcXQoUXQoZSkpKyIgaW5zdGVhZC4iKX0scnIucHJvdG90eXBlLmVhY2hDaGlsZD1mdW5jdGlvbih0KXt0KHRoaXMuaW5wdXQpfSxyci5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7cmV0dXJuW3ZvaWQgMF19LHJyLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXt2YXIgdD1bImxlbmd0aCJdO3JldHVybiB0aGlzLmVhY2hDaGlsZChmdW5jdGlvbihlKXt0LnB1c2goZS5zZXJpYWxpemUoKSl9KSx0fTt2YXIgbnI9eyI9PSI6WmUsIiE9IjpKZSwiPiI6UWUsIjwiOktlLCI+PSI6dHIsIjw9IjokZSxhcnJheTpuZSxhdDpxZSxib29sZWFuOm5lLGNhc2U6R2UsY29hbGVzY2U6VmUsY29sbGF0b3I6dWUsZm9ybWF0OmFlLGludGVycG9sYXRlOk5lLCJpbnRlcnBvbGF0ZS1oY2wiOk5lLCJpbnRlcnBvbGF0ZS1sYWIiOk5lLGxlbmd0aDpycixsZXQ6VWUsbGl0ZXJhbDp0ZSxtYXRjaDpIZSxudW1iZXI6bmUsIm51bWJlci1mb3JtYXQiOmVyLG9iamVjdDpuZSxzdGVwOm1lLHN0cmluZzpuZSwidG8tYm9vbGVhbiI6b2UsInRvLWNvbG9yIjpvZSwidG8tbnVtYmVyIjpvZSwidG8tc3RyaW5nIjpvZSx2YXI6ZGV9O2Z1bmN0aW9uIGFyKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV0sYT1lWzJdLGk9ZVszXTtyPXIuZXZhbHVhdGUodCksbj1uLmV2YWx1YXRlKHQpLGE9YS5ldmFsdWF0ZSh0KTt2YXIgbz1pP2kuZXZhbHVhdGUodCk6MSxzPUt0KHIsbixhLG8pO2lmKHMpdGhyb3cgbmV3IGVlKHMpO3JldHVybiBuZXcgV3Qoci8yNTUqbyxuLzI1NSpvLGEvMjU1Km8sbyl9ZnVuY3Rpb24gaXIodCxlKXtyZXR1cm4gdCBpbiBlfWZ1bmN0aW9uIG9yKHQsZSl7dmFyIHI9ZVt0XTtyZXR1cm4gdm9pZCAwPT09cj9udWxsOnJ9ZnVuY3Rpb24gc3IodCl7cmV0dXJue3R5cGU6dH19ZnVuY3Rpb24gbHIodCl7cmV0dXJue3Jlc3VsdDoic3VjY2VzcyIsdmFsdWU6dH19ZnVuY3Rpb24gY3IodCl7cmV0dXJue3Jlc3VsdDoiZXJyb3IiLHZhbHVlOnR9fWZ1bmN0aW9uIHVyKHQpe3JldHVybiJkYXRhLWRyaXZlbiI9PT10WyJwcm9wZXJ0eS10eXBlIl18fCJjcm9zcy1mYWRlZC1kYXRhLWRyaXZlbiI9PT10WyJwcm9wZXJ0eS10eXBlIl19ZnVuY3Rpb24gaHIodCl7cmV0dXJuISF0LmV4cHJlc3Npb24mJnQuZXhwcmVzc2lvbi5wYXJhbWV0ZXJzLmluZGV4T2YoInpvb20iKT4tMX1mdW5jdGlvbiBmcih0KXtyZXR1cm4hIXQuZXhwcmVzc2lvbiYmdC5leHByZXNzaW9uLmludGVycG9sYXRlZH1mdW5jdGlvbiBwcih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIE51bWJlcj8ibnVtYmVyIjp0IGluc3RhbmNlb2YgU3RyaW5nPyJzdHJpbmciOnQgaW5zdGFuY2VvZiBCb29sZWFuPyJib29sZWFuIjpBcnJheS5pc0FycmF5KHQpPyJhcnJheSI6bnVsbD09PXQ/Im51bGwiOnR5cGVvZiB0fWZ1bmN0aW9uIGRyKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQmJiFBcnJheS5pc0FycmF5KHQpfWZ1bmN0aW9uIGdyKHQpe3JldHVybiB0fWZ1bmN0aW9uIHZyKHQsZSxyKXtyZXR1cm4gdm9pZCAwIT09dD90OnZvaWQgMCE9PWU/ZTp2b2lkIDAhPT1yP3I6dm9pZCAwfWZ1bmN0aW9uIG1yKHQsZSxyLG4sYSl7cmV0dXJuIHZyKHR5cGVvZiByPT09YT9uW3JdOnZvaWQgMCx0LmRlZmF1bHQsZS5kZWZhdWx0KX1mdW5jdGlvbiB5cih0LGUscil7aWYoIm51bWJlciIhPT1wcihyKSlyZXR1cm4gdnIodC5kZWZhdWx0LGUuZGVmYXVsdCk7dmFyIG49dC5zdG9wcy5sZW5ndGg7aWYoMT09PW4pcmV0dXJuIHQuc3RvcHNbMF1bMV07aWYocjw9dC5zdG9wc1swXVswXSlyZXR1cm4gdC5zdG9wc1swXVsxXTtpZihyPj10LnN0b3BzW24tMV1bMF0pcmV0dXJuIHQuc3RvcHNbbi0xXVsxXTt2YXIgYT12ZSh0LnN0b3BzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdFswXX0pLHIpO3JldHVybiB0LnN0b3BzW2FdWzFdfWZ1bmN0aW9uIHhyKHQsZSxyKXt2YXIgbj12b2lkIDAhPT10LmJhc2U/dC5iYXNlOjE7aWYoIm51bWJlciIhPT1wcihyKSlyZXR1cm4gdnIodC5kZWZhdWx0LGUuZGVmYXVsdCk7dmFyIGE9dC5zdG9wcy5sZW5ndGg7aWYoMT09PWEpcmV0dXJuIHQuc3RvcHNbMF1bMV07aWYocjw9dC5zdG9wc1swXVswXSlyZXR1cm4gdC5zdG9wc1swXVsxXTtpZihyPj10LnN0b3BzW2EtMV1bMF0pcmV0dXJuIHQuc3RvcHNbYS0xXVsxXTt2YXIgaT12ZSh0LnN0b3BzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdFswXX0pLHIpLG89ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9bi1yLGk9dC1yO3JldHVybiAwPT09YT8wOjE9PT1lP2kvYTooTWF0aC5wb3coZSxpKS0xKS8oTWF0aC5wb3coZSxhKS0xKX0ocixuLHQuc3RvcHNbaV1bMF0sdC5zdG9wc1tpKzFdWzBdKSxzPXQuc3RvcHNbaV1bMV0sbD10LnN0b3BzW2krMV1bMV0sYz14ZVtlLnR5cGVdfHxncjtpZih0LmNvbG9yU3BhY2UmJiJyZ2IiIT09dC5jb2xvclNwYWNlKXt2YXIgdT1CZVt0LmNvbG9yU3BhY2VdO2M9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdS5yZXZlcnNlKHUuaW50ZXJwb2xhdGUodS5mb3J3YXJkKHQpLHUuZm9yd2FyZChlKSxvKSl9fXJldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBzLmV2YWx1YXRlP3tldmFsdWF0ZTpmdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxlPWFyZ3VtZW50cy5sZW5ndGg7ZS0tOyl0W2VdPWFyZ3VtZW50c1tlXTt2YXIgcj1zLmV2YWx1YXRlLmFwcGx5KHZvaWQgMCx0KSxuPWwuZXZhbHVhdGUuYXBwbHkodm9pZCAwLHQpO2lmKHZvaWQgMCE9PXImJnZvaWQgMCE9PW4pcmV0dXJuIGMocixuLG8pfX06YyhzLGwsbyl9ZnVuY3Rpb24gYnIodCxlLHIpe3JldHVybiJjb2xvciI9PT1lLnR5cGU/cj1XdC5wYXJzZShyKToiZm9ybWF0dGVkIj09PWUudHlwZT9yPUp0LmZyb21TdHJpbmcoci50b1N0cmluZygpKTpwcihyKT09PWUudHlwZXx8ImVudW0iPT09ZS50eXBlJiZlLnZhbHVlc1tyXXx8KHI9dm9pZCAwKSx2cihyLHQuZGVmYXVsdCxlLmRlZmF1bHQpfWNlLnJlZ2lzdGVyKG5yLHtlcnJvcjpbe2tpbmQ6ImVycm9yIn0sW0R0XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF07dGhyb3cgbmV3IGVlKHIuZXZhbHVhdGUodCkpfV0sdHlwZW9mOltEdCxbTnRdLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHF0KFF0KGVbMF0uZXZhbHVhdGUodCkpKX1dLCJ0by1yZ2JhIjpbVXQoSXQsNCksW0Z0XSxmdW5jdGlvbih0LGUpe3JldHVybiBlWzBdLmV2YWx1YXRlKHQpLnRvQXJyYXkoKX1dLHJnYjpbRnQsW0l0LEl0LEl0XSxhcl0scmdiYTpbRnQsW0l0LEl0LEl0LEl0XSxhcl0saGFzOnt0eXBlOlJ0LG92ZXJsb2FkczpbW1tEdF0sZnVuY3Rpb24odCxlKXtyZXR1cm4gaXIoZVswXS5ldmFsdWF0ZSh0KSx0LnByb3BlcnRpZXMoKSl9XSxbW0R0LEJ0XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj1lWzFdO3JldHVybiBpcihyLmV2YWx1YXRlKHQpLG4uZXZhbHVhdGUodCkpfV1dfSxnZXQ6e3R5cGU6TnQsb3ZlcmxvYWRzOltbW0R0XSxmdW5jdGlvbih0LGUpe3JldHVybiBvcihlWzBdLmV2YWx1YXRlKHQpLHQucHJvcGVydGllcygpKX1dLFtbRHQsQnRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV07cmV0dXJuIG9yKHIuZXZhbHVhdGUodCksbi5ldmFsdWF0ZSh0KSl9XV19LCJmZWF0dXJlLXN0YXRlIjpbTnQsW0R0XSxmdW5jdGlvbih0LGUpe3JldHVybiBvcihlWzBdLmV2YWx1YXRlKHQpLHQuZmVhdHVyZVN0YXRlfHx7fSl9XSxwcm9wZXJ0aWVzOltCdCxbXSxmdW5jdGlvbih0KXtyZXR1cm4gdC5wcm9wZXJ0aWVzKCl9XSwiZ2VvbWV0cnktdHlwZSI6W0R0LFtdLGZ1bmN0aW9uKHQpe3JldHVybiB0Lmdlb21ldHJ5VHlwZSgpfV0saWQ6W050LFtdLGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkKCl9XSx6b29tOltJdCxbXSxmdW5jdGlvbih0KXtyZXR1cm4gdC5nbG9iYWxzLnpvb219XSwiaGVhdG1hcC1kZW5zaXR5IjpbSXQsW10sZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2xvYmFscy5oZWF0bWFwRGVuc2l0eXx8MH1dLCJsaW5lLXByb2dyZXNzIjpbSXQsW10sZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2xvYmFscy5saW5lUHJvZ3Jlc3N8fDB9XSxhY2N1bXVsYXRlZDpbTnQsW10sZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXQuZ2xvYmFscy5hY2N1bXVsYXRlZD9udWxsOnQuZ2xvYmFscy5hY2N1bXVsYXRlZH1dLCIrIjpbSXQsc3IoSXQpLGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTAsbj0wLGE9ZTtuPGEubGVuZ3RoO24rPTEpcis9YVtuXS5ldmFsdWF0ZSh0KTtyZXR1cm4gcn1dLCIqIjpbSXQsc3IoSXQpLGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTEsbj0wLGE9ZTtuPGEubGVuZ3RoO24rPTEpcio9YVtuXS5ldmFsdWF0ZSh0KTtyZXR1cm4gcn1dLCItIjp7dHlwZTpJdCxvdmVybG9hZHM6W1tbSXQsSXRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV07cmV0dXJuIHIuZXZhbHVhdGUodCktbi5ldmFsdWF0ZSh0KX1dLFtbSXRdLGZ1bmN0aW9uKHQsZSl7cmV0dXJuLWVbMF0uZXZhbHVhdGUodCl9XV19LCIvIjpbSXQsW0l0LEl0XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj1lWzFdO3JldHVybiByLmV2YWx1YXRlKHQpL24uZXZhbHVhdGUodCl9XSwiJSI6W0l0LFtJdCxJdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLG49ZVsxXTtyZXR1cm4gci5ldmFsdWF0ZSh0KSVuLmV2YWx1YXRlKHQpfV0sbG4yOltJdCxbXSxmdW5jdGlvbigpe3JldHVybiBNYXRoLkxOMn1dLHBpOltJdCxbXSxmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJfV0sZTpbSXQsW10sZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5FfV0sIl4iOltJdCxbSXQsSXRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV07cmV0dXJuIE1hdGgucG93KHIuZXZhbHVhdGUodCksbi5ldmFsdWF0ZSh0KSl9XSxzcXJ0OltJdCxbSXRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXTtyZXR1cm4gTWF0aC5zcXJ0KHIuZXZhbHVhdGUodCkpfV0sbG9nMTA6W0l0LFtJdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdO3JldHVybiBNYXRoLmxvZyhyLmV2YWx1YXRlKHQpKS9NYXRoLkxOMTB9XSxsbjpbSXQsW0l0XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF07cmV0dXJuIE1hdGgubG9nKHIuZXZhbHVhdGUodCkpfV0sbG9nMjpbSXQsW0l0XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF07cmV0dXJuIE1hdGgubG9nKHIuZXZhbHVhdGUodCkpL01hdGguTE4yfV0sc2luOltJdCxbSXRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXTtyZXR1cm4gTWF0aC5zaW4oci5ldmFsdWF0ZSh0KSl9XSxjb3M6W0l0LFtJdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdO3JldHVybiBNYXRoLmNvcyhyLmV2YWx1YXRlKHQpKX1dLHRhbjpbSXQsW0l0XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF07cmV0dXJuIE1hdGgudGFuKHIuZXZhbHVhdGUodCkpfV0sYXNpbjpbSXQsW0l0XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF07cmV0dXJuIE1hdGguYXNpbihyLmV2YWx1YXRlKHQpKX1dLGFjb3M6W0l0LFtJdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdO3JldHVybiBNYXRoLmFjb3Moci5ldmFsdWF0ZSh0KSl9XSxhdGFuOltJdCxbSXRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXTtyZXR1cm4gTWF0aC5hdGFuKHIuZXZhbHVhdGUodCkpfV0sbWluOltJdCxzcihJdCksZnVuY3Rpb24odCxlKXtyZXR1cm4gTWF0aC5taW4uYXBwbHkoTWF0aCxlLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5ldmFsdWF0ZSh0KX0pKX1dLG1heDpbSXQsc3IoSXQpLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWF4LmFwcGx5KE1hdGgsZS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXZhbHVhdGUodCl9KSl9XSxhYnM6W0l0LFtJdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdO3JldHVybiBNYXRoLmFicyhyLmV2YWx1YXRlKHQpKX1dLHJvdW5kOltJdCxbSXRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXS5ldmFsdWF0ZSh0KTtyZXR1cm4gcjwwPy1NYXRoLnJvdW5kKC1yKTpNYXRoLnJvdW5kKHIpfV0sZmxvb3I6W0l0LFtJdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdO3JldHVybiBNYXRoLmZsb29yKHIuZXZhbHVhdGUodCkpfV0sY2VpbDpbSXQsW0l0XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF07cmV0dXJuIE1hdGguY2VpbChyLmV2YWx1YXRlKHQpKX1dLCJmaWx0ZXItPT0iOltSdCxbRHQsTnRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV07cmV0dXJuIHQucHJvcGVydGllcygpW3IudmFsdWVdPT09bi52YWx1ZX1dLCJmaWx0ZXItaWQtPT0iOltSdCxbTnRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXTtyZXR1cm4gdC5pZCgpPT09ci52YWx1ZX1dLCJmaWx0ZXItdHlwZS09PSI6W1J0LFtEdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdO3JldHVybiB0Lmdlb21ldHJ5VHlwZSgpPT09ci52YWx1ZX1dLCJmaWx0ZXItPCI6W1J0LFtEdCxOdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLG49ZVsxXSxhPXQucHJvcGVydGllcygpW3IudmFsdWVdLGk9bi52YWx1ZTtyZXR1cm4gdHlwZW9mIGE9PXR5cGVvZiBpJiZhPGl9XSwiZmlsdGVyLWlkLTwiOltSdCxbTnRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPXQuaWQoKSxhPXIudmFsdWU7cmV0dXJuIHR5cGVvZiBuPT10eXBlb2YgYSYmbjxhfV0sImZpbHRlci0+IjpbUnQsW0R0LE50XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj1lWzFdLGE9dC5wcm9wZXJ0aWVzKClbci52YWx1ZV0saT1uLnZhbHVlO3JldHVybiB0eXBlb2YgYT09dHlwZW9mIGkmJmE+aX1dLCJmaWx0ZXItaWQtPiI6W1J0LFtOdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLG49dC5pZCgpLGE9ci52YWx1ZTtyZXR1cm4gdHlwZW9mIG49PXR5cGVvZiBhJiZuPmF9XSwiZmlsdGVyLTw9IjpbUnQsW0R0LE50XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj1lWzFdLGE9dC5wcm9wZXJ0aWVzKClbci52YWx1ZV0saT1uLnZhbHVlO3JldHVybiB0eXBlb2YgYT09dHlwZW9mIGkmJmE8PWl9XSwiZmlsdGVyLWlkLTw9IjpbUnQsW050XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj10LmlkKCksYT1yLnZhbHVlO3JldHVybiB0eXBlb2Ygbj09dHlwZW9mIGEmJm48PWF9XSwiZmlsdGVyLT49IjpbUnQsW0R0LE50XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj1lWzFdLGE9dC5wcm9wZXJ0aWVzKClbci52YWx1ZV0saT1uLnZhbHVlO3JldHVybiB0eXBlb2YgYT09dHlwZW9mIGkmJmE+PWl9XSwiZmlsdGVyLWlkLT49IjpbUnQsW050XSxmdW5jdGlvbih0LGUpe3ZhciByPWVbMF0sbj10LmlkKCksYT1yLnZhbHVlO3JldHVybiB0eXBlb2Ygbj09dHlwZW9mIGEmJm4+PWF9XSwiZmlsdGVyLWhhcyI6W1J0LFtOdF0sZnVuY3Rpb24odCxlKXtyZXR1cm4gZVswXS52YWx1ZSBpbiB0LnByb3BlcnRpZXMoKX1dLCJmaWx0ZXItaGFzLWlkIjpbUnQsW10sZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPT10LmlkKCl9XSwiZmlsdGVyLXR5cGUtaW4iOltSdCxbVXQoRHQpXSxmdW5jdGlvbih0LGUpe3JldHVybiBlWzBdLnZhbHVlLmluZGV4T2YodC5nZW9tZXRyeVR5cGUoKSk+PTB9XSwiZmlsdGVyLWlkLWluIjpbUnQsW1V0KE50KV0sZnVuY3Rpb24odCxlKXtyZXR1cm4gZVswXS52YWx1ZS5pbmRleE9mKHQuaWQoKSk+PTB9XSwiZmlsdGVyLWluLXNtYWxsIjpbUnQsW0R0LFV0KE50KV0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdO3JldHVybiBlWzFdLnZhbHVlLmluZGV4T2YodC5wcm9wZXJ0aWVzKClbci52YWx1ZV0pPj0wfV0sImZpbHRlci1pbi1sYXJnZSI6W1J0LFtEdCxVdChOdCldLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV07cmV0dXJuIGZ1bmN0aW9uKHQsZSxyLG4pe2Zvcig7cjw9bjspe3ZhciBhPXIrbj4+MTtpZihlW2FdPT09dClyZXR1cm4hMDtlW2FdPnQ/bj1hLTE6cj1hKzF9cmV0dXJuITF9KHQucHJvcGVydGllcygpW3IudmFsdWVdLG4udmFsdWUsMCxuLnZhbHVlLmxlbmd0aC0xKX1dLGFsbDp7dHlwZTpSdCxvdmVybG9hZHM6W1tbUnQsUnRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPWVbMV07cmV0dXJuIHIuZXZhbHVhdGUodCkmJm4uZXZhbHVhdGUodCl9XSxbc3IoUnQpLGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTAsbj1lO3I8bi5sZW5ndGg7cis9MSlpZighbltyXS5ldmFsdWF0ZSh0KSlyZXR1cm4hMTtyZXR1cm4hMH1dXX0sYW55Ont0eXBlOlJ0LG92ZXJsb2FkczpbW1tSdCxSdF0sZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLG49ZVsxXTtyZXR1cm4gci5ldmFsdWF0ZSh0KXx8bi5ldmFsdWF0ZSh0KX1dLFtzcihSdCksZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MCxuPWU7cjxuLmxlbmd0aDtyKz0xKWlmKG5bcl0uZXZhbHVhdGUodCkpcmV0dXJuITA7cmV0dXJuITF9XV19LCIhIjpbUnQsW1J0XSxmdW5jdGlvbih0LGUpe3JldHVybiFlWzBdLmV2YWx1YXRlKHQpfV0sImlzLXN1cHBvcnRlZC1zY3JpcHQiOltSdCxbRHRdLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZVswXSxuPXQuZ2xvYmFscyYmdC5nbG9iYWxzLmlzU3VwcG9ydGVkU2NyaXB0O3JldHVybiFufHxuKHIuZXZhbHVhdGUodCkpfV0sdXBjYXNlOltEdCxbRHRdLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGVbMF0uZXZhbHVhdGUodCkudG9VcHBlckNhc2UoKX1dLGRvd25jYXNlOltEdCxbRHRdLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGVbMF0uZXZhbHVhdGUodCkudG9Mb3dlckNhc2UoKX1dLGNvbmNhdDpbRHQsc3IoTnQpLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUubWFwKGZ1bmN0aW9uKGUpe3JldHVybiAkdChlLmV2YWx1YXRlKHQpKX0pLmpvaW4oIiIpfV0sInJlc29sdmVkLWxvY2FsZSI6W0R0LFtqdF0sZnVuY3Rpb24odCxlKXtyZXR1cm4gZVswXS5ldmFsdWF0ZSh0KS5yZXNvbHZlZExvY2FsZSgpfV19KTt2YXIgX3I9ZnVuY3Rpb24odCxlKXt0aGlzLmV4cHJlc3Npb249dCx0aGlzLl93YXJuaW5nSGlzdG9yeT17fSx0aGlzLl9ldmFsdWF0b3I9bmV3IGxlLHRoaXMuX2RlZmF1bHRWYWx1ZT1lP2Z1bmN0aW9uKHQpe3JldHVybiJjb2xvciI9PT10LnR5cGUmJmRyKHQuZGVmYXVsdCk/bmV3IFd0KDAsMCwwLDApOiJjb2xvciI9PT10LnR5cGU/V3QucGFyc2UodC5kZWZhdWx0KXx8bnVsbDp2b2lkIDA9PT10LmRlZmF1bHQ/bnVsbDp0LmRlZmF1bHR9KGUpOm51bGwsdGhpcy5fZW51bVZhbHVlcz1lJiYiZW51bSI9PT1lLnR5cGU/ZS52YWx1ZXM6bnVsbH07ZnVuY3Rpb24gd3IodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCkmJnQubGVuZ3RoPjAmJiJzdHJpbmciPT10eXBlb2YgdFswXSYmdFswXWluIG5yfWZ1bmN0aW9uIGtyKHQsZSl7dmFyIHI9bmV3IGdlKG5yLFtdLGU/ZnVuY3Rpb24odCl7dmFyIGU9e2NvbG9yOkZ0LHN0cmluZzpEdCxudW1iZXI6SXQsZW51bTpEdCxib29sZWFuOlJ0LGZvcm1hdHRlZDpWdH07cmV0dXJuImFycmF5Ij09PXQudHlwZT9VdChlW3QudmFsdWVdfHxOdCx0Lmxlbmd0aCk6ZVt0LnR5cGVdfShlKTp2b2lkIDApLG49ci5wYXJzZSh0LHZvaWQgMCx2b2lkIDAsdm9pZCAwLGUmJiJzdHJpbmciPT09ZS50eXBlP3t0eXBlQW5ub3RhdGlvbjoiY29lcmNlIn06dm9pZCAwKTtyZXR1cm4gbj9scihuZXcgX3IobixlKSk6Y3Ioci5lcnJvcnMpfV9yLnByb3RvdHlwZS5ldmFsdWF0ZVdpdGhvdXRFcnJvckhhbmRsaW5nPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiB0aGlzLl9ldmFsdWF0b3IuZ2xvYmFscz10LHRoaXMuX2V2YWx1YXRvci5mZWF0dXJlPWUsdGhpcy5fZXZhbHVhdG9yLmZlYXR1cmVTdGF0ZT1yLHRoaXMuX2V2YWx1YXRvci5mb3JtYXR0ZWRTZWN0aW9uPW4sdGhpcy5leHByZXNzaW9uLmV2YWx1YXRlKHRoaXMuX2V2YWx1YXRvcil9LF9yLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbih0LGUscixuKXt0aGlzLl9ldmFsdWF0b3IuZ2xvYmFscz10LHRoaXMuX2V2YWx1YXRvci5mZWF0dXJlPWV8fG51bGwsdGhpcy5fZXZhbHVhdG9yLmZlYXR1cmVTdGF0ZT1yfHxudWxsLHRoaXMuX2V2YWx1YXRvci5mb3JtYXR0ZWRTZWN0aW9uPW58fG51bGw7dHJ5e3ZhciBhPXRoaXMuZXhwcmVzc2lvbi5ldmFsdWF0ZSh0aGlzLl9ldmFsdWF0b3IpO2lmKG51bGw9PWEpcmV0dXJuIHRoaXMuX2RlZmF1bHRWYWx1ZTtpZih0aGlzLl9lbnVtVmFsdWVzJiYhKGEgaW4gdGhpcy5fZW51bVZhbHVlcykpdGhyb3cgbmV3IGVlKCJFeHBlY3RlZCB2YWx1ZSB0byBiZSBvbmUgb2YgIitPYmplY3Qua2V5cyh0aGlzLl9lbnVtVmFsdWVzKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpfSkuam9pbigiLCAiKSsiLCBidXQgZm91bmQgIitKU09OLnN0cmluZ2lmeShhKSsiIGluc3RlYWQuIik7cmV0dXJuIGF9Y2F0Y2godCl7cmV0dXJuIHRoaXMuX3dhcm5pbmdIaXN0b3J5W3QubWVzc2FnZV18fCh0aGlzLl93YXJuaW5nSGlzdG9yeVt0Lm1lc3NhZ2VdPSEwLCJ1bmRlZmluZWQiIT10eXBlb2YgY29uc29sZSYmY29uc29sZS53YXJuKHQubWVzc2FnZSkpLHRoaXMuX2RlZmF1bHRWYWx1ZX19O3ZhciBUcj1mdW5jdGlvbih0LGUpe3RoaXMua2luZD10LHRoaXMuX3N0eWxlRXhwcmVzc2lvbj1lLHRoaXMuaXNTdGF0ZURlcGVuZGVudD0iY29uc3RhbnQiIT09dCYmIWZlKGUuZXhwcmVzc2lvbil9O1RyLnByb3RvdHlwZS5ldmFsdWF0ZVdpdGhvdXRFcnJvckhhbmRsaW5nPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiB0aGlzLl9zdHlsZUV4cHJlc3Npb24uZXZhbHVhdGVXaXRob3V0RXJyb3JIYW5kbGluZyh0LGUscixuKX0sVHIucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiB0aGlzLl9zdHlsZUV4cHJlc3Npb24uZXZhbHVhdGUodCxlLHIsbil9O3ZhciBNcj1mdW5jdGlvbih0LGUscixuKXt0aGlzLmtpbmQ9dCx0aGlzLnpvb21TdG9wcz1yLHRoaXMuX3N0eWxlRXhwcmVzc2lvbj1lLHRoaXMuaXNTdGF0ZURlcGVuZGVudD0iY2FtZXJhIiE9PXQmJiFmZShlLmV4cHJlc3Npb24pLHRoaXMuaW50ZXJwb2xhdGlvblR5cGU9bn07ZnVuY3Rpb24gQXIodCxlKXtpZigiZXJyb3IiPT09KHQ9a3IodCxlKSkucmVzdWx0KXJldHVybiB0O3ZhciByPXQudmFsdWUuZXhwcmVzc2lvbixuPWhlKHIpO2lmKCFuJiYhdXIoZSkpcmV0dXJuIGNyKFtuZXcgUHQoIiIsImRhdGEgZXhwcmVzc2lvbnMgbm90IHN1cHBvcnRlZCIpXSk7dmFyIGE9cGUocixbInpvb20iXSk7aWYoIWEmJiFocihlKSlyZXR1cm4gY3IoW25ldyBQdCgiIiwiem9vbSBleHByZXNzaW9ucyBub3Qgc3VwcG9ydGVkIildKTt2YXIgaT1mdW5jdGlvbiB0KGUpe3ZhciByPW51bGw7aWYoZSBpbnN0YW5jZW9mIFVlKXI9dChlLnJlc3VsdCk7ZWxzZSBpZihlIGluc3RhbmNlb2YgVmUpZm9yKHZhciBuPTAsYT1lLmFyZ3M7bjxhLmxlbmd0aDtuKz0xKXt2YXIgaT1hW25dO2lmKHI9dChpKSlicmVha31lbHNlKGUgaW5zdGFuY2VvZiBtZXx8ZSBpbnN0YW5jZW9mIE5lKSYmZS5pbnB1dCBpbnN0YW5jZW9mIGNlJiYiem9vbSI9PT1lLmlucHV0Lm5hbWUmJihyPWUpO3JldHVybiByIGluc3RhbmNlb2YgUHQ/cjooZS5lYWNoQ2hpbGQoZnVuY3Rpb24oZSl7dmFyIG49dChlKTtuIGluc3RhbmNlb2YgUHQ/cj1uOiFyJiZuP3I9bmV3IFB0KCIiLCciem9vbSIgZXhwcmVzc2lvbiBtYXkgb25seSBiZSB1c2VkIGFzIGlucHV0IHRvIGEgdG9wLWxldmVsICJzdGVwIiBvciAiaW50ZXJwb2xhdGUiIGV4cHJlc3Npb24uJyk6ciYmbiYmciE9PW4mJihyPW5ldyBQdCgiIiwnT25seSBvbmUgem9vbS1iYXNlZCAic3RlcCIgb3IgImludGVycG9sYXRlIiBzdWJleHByZXNzaW9uIG1heSBiZSB1c2VkIGluIGFuIGV4cHJlc3Npb24uJykpfSkscil9KHIpO2lmKCFpJiYhYSlyZXR1cm4gY3IoW25ldyBQdCgiIiwnInpvb20iIGV4cHJlc3Npb24gbWF5IG9ubHkgYmUgdXNlZCBhcyBpbnB1dCB0byBhIHRvcC1sZXZlbCAic3RlcCIgb3IgImludGVycG9sYXRlIiBleHByZXNzaW9uLicpXSk7aWYoaSBpbnN0YW5jZW9mIFB0KXJldHVybiBjcihbaV0pO2lmKGkgaW5zdGFuY2VvZiBOZSYmIWZyKGUpKXJldHVybiBjcihbbmV3IFB0KCIiLCciaW50ZXJwb2xhdGUiIGV4cHJlc3Npb25zIGNhbm5vdCBiZSB1c2VkIHdpdGggdGhpcyBwcm9wZXJ0eScpXSk7aWYoIWkpcmV0dXJuIGxyKG5ldyBUcihuPyJjb25zdGFudCI6InNvdXJjZSIsdC52YWx1ZSkpO3ZhciBvPWkgaW5zdGFuY2VvZiBOZT9pLmludGVycG9sYXRpb246dm9pZCAwO3JldHVybiBscihuZXcgTXIobj8iY2FtZXJhIjoiY29tcG9zaXRlIix0LnZhbHVlLGkubGFiZWxzLG8pKX1Nci5wcm90b3R5cGUuZXZhbHVhdGVXaXRob3V0RXJyb3JIYW5kbGluZz1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdGhpcy5fc3R5bGVFeHByZXNzaW9uLmV2YWx1YXRlV2l0aG91dEVycm9ySGFuZGxpbmcodCxlLHIsbil9LE1yLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdGhpcy5fc3R5bGVFeHByZXNzaW9uLmV2YWx1YXRlKHQsZSxyLG4pfSxNci5wcm90b3R5cGUuaW50ZXJwb2xhdGlvbkZhY3Rvcj1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuaW50ZXJwb2xhdGlvblR5cGU/TmUuaW50ZXJwb2xhdGlvbkZhY3Rvcih0aGlzLmludGVycG9sYXRpb25UeXBlLHQsZSxyKTowfTt2YXIgU3I9ZnVuY3Rpb24odCxlKXt0aGlzLl9wYXJhbWV0ZXJzPXQsdGhpcy5fc3BlY2lmaWNhdGlvbj1lLFN0KHRoaXMsZnVuY3Rpb24gdChlLHIpe3ZhciBuLGEsaSxvPSJjb2xvciI9PT1yLnR5cGUscz1lLnN0b3BzJiYib2JqZWN0Ij09dHlwZW9mIGUuc3RvcHNbMF1bMF0sbD1zfHx2b2lkIDAhPT1lLnByb3BlcnR5LGM9c3x8IWwsdT1lLnR5cGV8fChmcihyKT8iZXhwb25lbnRpYWwiOiJpbnRlcnZhbCIpO2lmKG8mJigoZT1TdCh7fSxlKSkuc3RvcHMmJihlLnN0b3BzPWUuc3RvcHMubWFwKGZ1bmN0aW9uKHQpe3JldHVyblt0WzBdLFd0LnBhcnNlKHRbMV0pXX0pKSxlLmRlZmF1bHQ/ZS5kZWZhdWx0PVd0LnBhcnNlKGUuZGVmYXVsdCk6ZS5kZWZhdWx0PVd0LnBhcnNlKHIuZGVmYXVsdCkpLGUuY29sb3JTcGFjZSYmInJnYiIhPT1lLmNvbG9yU3BhY2UmJiFCZVtlLmNvbG9yU3BhY2VdKXRocm93IG5ldyBFcnJvcigiVW5rbm93biBjb2xvciBzcGFjZTogIitlLmNvbG9yU3BhY2UpO2lmKCJleHBvbmVudGlhbCI9PT11KW49eHI7ZWxzZSBpZigiaW50ZXJ2YWwiPT09dSluPXlyO2Vsc2UgaWYoImNhdGVnb3JpY2FsIj09PXUpe249bXIsYT1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcih2YXIgaD0wLGY9ZS5zdG9wcztoPGYubGVuZ3RoO2grPTEpe3ZhciBwPWZbaF07YVtwWzBdXT1wWzFdfWk9dHlwZW9mIGUuc3RvcHNbMF1bMF19ZWxzZXtpZigiaWRlbnRpdHkiIT09dSl0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gZnVuY3Rpb24gdHlwZSAiJyt1KyciJyk7bj1icn1pZihzKXtmb3IodmFyIGQ9e30sZz1bXSx2PTA7djxlLnN0b3BzLmxlbmd0aDt2Kyspe3ZhciBtPWUuc3RvcHNbdl0seT1tWzBdLnpvb207dm9pZCAwPT09ZFt5XSYmKGRbeV09e3pvb206eSx0eXBlOmUudHlwZSxwcm9wZXJ0eTplLnByb3BlcnR5LGRlZmF1bHQ6ZS5kZWZhdWx0LHN0b3BzOltdfSxnLnB1c2goeSkpLGRbeV0uc3RvcHMucHVzaChbbVswXS52YWx1ZSxtWzFdXSl9Zm9yKHZhciB4PVtdLGI9MCxfPWc7YjxfLmxlbmd0aDtiKz0xKXt2YXIgdz1fW2JdO3gucHVzaChbZFt3XS56b29tLHQoZFt3XSxyKV0pfXZhciBrPXtuYW1lOiJsaW5lYXIifTtyZXR1cm57a2luZDoiY29tcG9zaXRlIixpbnRlcnBvbGF0aW9uVHlwZTprLGludGVycG9sYXRpb25GYWN0b3I6TmUuaW50ZXJwb2xhdGlvbkZhY3Rvci5iaW5kKHZvaWQgMCxrKSx6b29tU3RvcHM6eC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHRbMF19KSxldmFsdWF0ZTpmdW5jdGlvbih0LG4pe3ZhciBhPXQuem9vbTtyZXR1cm4geHIoe3N0b3BzOngsYmFzZTplLmJhc2V9LHIsYSkuZXZhbHVhdGUoYSxuKX19fWlmKGMpe3ZhciBUPSJleHBvbmVudGlhbCI9PT11P3tuYW1lOiJleHBvbmVudGlhbCIsYmFzZTp2b2lkIDAhPT1lLmJhc2U/ZS5iYXNlOjF9Om51bGw7cmV0dXJue2tpbmQ6ImNhbWVyYSIsaW50ZXJwb2xhdGlvblR5cGU6VCxpbnRlcnBvbGF0aW9uRmFjdG9yOk5lLmludGVycG9sYXRpb25GYWN0b3IuYmluZCh2b2lkIDAsVCksem9vbVN0b3BzOmUuc3RvcHMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0WzBdfSksZXZhbHVhdGU6ZnVuY3Rpb24odCl7dmFyIG89dC56b29tO3JldHVybiBuKGUscixvLGEsaSl9fX1yZXR1cm57a2luZDoic291cmNlIixldmFsdWF0ZTpmdW5jdGlvbih0LG8pe3ZhciBzPW8mJm8ucHJvcGVydGllcz9vLnByb3BlcnRpZXNbZS5wcm9wZXJ0eV06dm9pZCAwO3JldHVybiB2b2lkIDA9PT1zP3ZyKGUuZGVmYXVsdCxyLmRlZmF1bHQpOm4oZSxyLHMsYSxpKX19fSh0aGlzLl9wYXJhbWV0ZXJzLHRoaXMuX3NwZWNpZmljYXRpb24pKX07ZnVuY3Rpb24gRXIodCl7dmFyIGU9dC5rZXkscj10LnZhbHVlLG49dC52YWx1ZVNwZWN8fHt9LGE9dC5vYmplY3RFbGVtZW50VmFsaWRhdG9yc3x8e30saT10LnN0eWxlLG89dC5zdHlsZVNwZWMscz1bXSxsPXByKHIpO2lmKCJvYmplY3QiIT09bClyZXR1cm5bbmV3IE10KGUsciwib2JqZWN0IGV4cGVjdGVkLCAiK2wrIiBmb3VuZCIpXTtmb3IodmFyIGMgaW4gcil7dmFyIHU9Yy5zcGxpdCgiLiIpWzBdLGg9blt1XXx8blsiKiJdLGY9dm9pZCAwO2lmKGFbdV0pZj1hW3VdO2Vsc2UgaWYoblt1XSlmPVFyO2Vsc2UgaWYoYVsiKiJdKWY9YVsiKiJdO2Vsc2V7aWYoIW5bIioiXSl7cy5wdXNoKG5ldyBNdChlLHJbY10sJ3Vua25vd24gcHJvcGVydHkgIicrYysnIicpKTtjb250aW51ZX1mPVFyfXM9cy5jb25jYXQoZih7a2V5OihlP2UrIi4iOmUpK2MsdmFsdWU6cltjXSx2YWx1ZVNwZWM6aCxzdHlsZTppLHN0eWxlU3BlYzpvLG9iamVjdDpyLG9iamVjdEtleTpjfSxyKSl9Zm9yKHZhciBwIGluIG4pYVtwXXx8bltwXS5yZXF1aXJlZCYmdm9pZCAwPT09bltwXS5kZWZhdWx0JiZ2b2lkIDA9PT1yW3BdJiZzLnB1c2gobmV3IE10KGUsciwnbWlzc2luZyByZXF1aXJlZCBwcm9wZXJ0eSAiJytwKyciJykpO3JldHVybiBzfWZ1bmN0aW9uIExyKHQpe3ZhciBlPXQudmFsdWUscj10LnZhbHVlU3BlYyxuPXQuc3R5bGUsYT10LnN0eWxlU3BlYyxpPXQua2V5LG89dC5hcnJheUVsZW1lbnRWYWxpZGF0b3J8fFFyO2lmKCJhcnJheSIhPT1wcihlKSlyZXR1cm5bbmV3IE10KGksZSwiYXJyYXkgZXhwZWN0ZWQsICIrcHIoZSkrIiBmb3VuZCIpXTtpZihyLmxlbmd0aCYmZS5sZW5ndGghPT1yLmxlbmd0aClyZXR1cm5bbmV3IE10KGksZSwiYXJyYXkgbGVuZ3RoICIrci5sZW5ndGgrIiBleHBlY3RlZCwgbGVuZ3RoICIrZS5sZW5ndGgrIiBmb3VuZCIpXTtpZihyWyJtaW4tbGVuZ3RoIl0mJmUubGVuZ3RoPHJbIm1pbi1sZW5ndGgiXSlyZXR1cm5bbmV3IE10KGksZSwiYXJyYXkgbGVuZ3RoIGF0IGxlYXN0ICIrclsibWluLWxlbmd0aCJdKyIgZXhwZWN0ZWQsIGxlbmd0aCAiK2UubGVuZ3RoKyIgZm91bmQiKV07dmFyIHM9e3R5cGU6ci52YWx1ZSx2YWx1ZXM6ci52YWx1ZXN9O2EuJHZlcnNpb248NyYmKHMuZnVuY3Rpb249ci5mdW5jdGlvbiksIm9iamVjdCI9PT1wcihyLnZhbHVlKSYmKHM9ci52YWx1ZSk7Zm9yKHZhciBsPVtdLGM9MDtjPGUubGVuZ3RoO2MrKylsPWwuY29uY2F0KG8oe2FycmF5OmUsYXJyYXlJbmRleDpjLHZhbHVlOmVbY10sdmFsdWVTcGVjOnMsc3R5bGU6bixzdHlsZVNwZWM6YSxrZXk6aSsiWyIrYysiXSJ9KSk7cmV0dXJuIGx9ZnVuY3Rpb24gQ3IodCl7dmFyIGU9dC5rZXkscj10LnZhbHVlLG49dC52YWx1ZVNwZWMsYT1wcihyKTtyZXR1cm4ibnVtYmVyIiE9PWE/W25ldyBNdChlLHIsIm51bWJlciBleHBlY3RlZCwgIithKyIgZm91bmQiKV06Im1pbmltdW0iaW4gbiYmcjxuLm1pbmltdW0/W25ldyBNdChlLHIscisiIGlzIGxlc3MgdGhhbiB0aGUgbWluaW11bSB2YWx1ZSAiK24ubWluaW11bSldOiJtYXhpbXVtImluIG4mJnI+bi5tYXhpbXVtP1tuZXcgTXQoZSxyLHIrIiBpcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gdmFsdWUgIituLm1heGltdW0pXTpbXX1mdW5jdGlvbiBQcih0KXt2YXIgZSxyLG4sYT10LnZhbHVlU3BlYyxpPUx0KHQudmFsdWUudHlwZSksbz17fSxzPSJjYXRlZ29yaWNhbCIhPT1pJiZ2b2lkIDA9PT10LnZhbHVlLnByb3BlcnR5LGw9IXMsYz0iYXJyYXkiPT09cHIodC52YWx1ZS5zdG9wcykmJiJhcnJheSI9PT1wcih0LnZhbHVlLnN0b3BzWzBdKSYmIm9iamVjdCI9PT1wcih0LnZhbHVlLnN0b3BzWzBdWzBdKSx1PUVyKHtrZXk6dC5rZXksdmFsdWU6dC52YWx1ZSx2YWx1ZVNwZWM6dC5zdHlsZVNwZWMuZnVuY3Rpb24sc3R5bGU6dC5zdHlsZSxzdHlsZVNwZWM6dC5zdHlsZVNwZWMsb2JqZWN0RWxlbWVudFZhbGlkYXRvcnM6e3N0b3BzOmZ1bmN0aW9uKHQpe2lmKCJpZGVudGl0eSI9PT1pKXJldHVybltuZXcgTXQodC5rZXksdC52YWx1ZSwnaWRlbnRpdHkgZnVuY3Rpb24gbWF5IG5vdCBoYXZlIGEgInN0b3BzIiBwcm9wZXJ0eScpXTt2YXIgZT1bXSxyPXQudmFsdWU7cmV0dXJuIGU9ZS5jb25jYXQoTHIoe2tleTp0LmtleSx2YWx1ZTpyLHZhbHVlU3BlYzp0LnZhbHVlU3BlYyxzdHlsZTp0LnN0eWxlLHN0eWxlU3BlYzp0LnN0eWxlU3BlYyxhcnJheUVsZW1lbnRWYWxpZGF0b3I6aH0pKSwiYXJyYXkiPT09cHIocikmJjA9PT1yLmxlbmd0aCYmZS5wdXNoKG5ldyBNdCh0LmtleSxyLCJhcnJheSBtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIHN0b3AiKSksZX0sZGVmYXVsdDpmdW5jdGlvbih0KXtyZXR1cm4gUXIoe2tleTp0LmtleSx2YWx1ZTp0LnZhbHVlLHZhbHVlU3BlYzphLHN0eWxlOnQuc3R5bGUsc3R5bGVTcGVjOnQuc3R5bGVTcGVjfSl9fX0pO3JldHVybiJpZGVudGl0eSI9PT1pJiZzJiZ1LnB1c2gobmV3IE10KHQua2V5LHQudmFsdWUsJ21pc3NpbmcgcmVxdWlyZWQgcHJvcGVydHkgInByb3BlcnR5IicpKSwiaWRlbnRpdHkiPT09aXx8dC52YWx1ZS5zdG9wc3x8dS5wdXNoKG5ldyBNdCh0LmtleSx0LnZhbHVlLCdtaXNzaW5nIHJlcXVpcmVkIHByb3BlcnR5ICJzdG9wcyInKSksImV4cG9uZW50aWFsIj09PWkmJnQudmFsdWVTcGVjLmV4cHJlc3Npb24mJiFmcih0LnZhbHVlU3BlYykmJnUucHVzaChuZXcgTXQodC5rZXksdC52YWx1ZSwiZXhwb25lbnRpYWwgZnVuY3Rpb25zIG5vdCBzdXBwb3J0ZWQiKSksdC5zdHlsZVNwZWMuJHZlcnNpb24+PTgmJihsJiYhdXIodC52YWx1ZVNwZWMpP3UucHVzaChuZXcgTXQodC5rZXksdC52YWx1ZSwicHJvcGVydHkgZnVuY3Rpb25zIG5vdCBzdXBwb3J0ZWQiKSk6cyYmIWhyKHQudmFsdWVTcGVjKSYmdS5wdXNoKG5ldyBNdCh0LmtleSx0LnZhbHVlLCJ6b29tIGZ1bmN0aW9ucyBub3Qgc3VwcG9ydGVkIikpKSwiY2F0ZWdvcmljYWwiIT09aSYmIWN8fHZvaWQgMCE9PXQudmFsdWUucHJvcGVydHl8fHUucHVzaChuZXcgTXQodC5rZXksdC52YWx1ZSwnInByb3BlcnR5IiBwcm9wZXJ0eSBpcyByZXF1aXJlZCcpKSx1O2Z1bmN0aW9uIGgodCl7dmFyIGU9W10saT10LnZhbHVlLHM9dC5rZXk7aWYoImFycmF5IiE9PXByKGkpKXJldHVybltuZXcgTXQocyxpLCJhcnJheSBleHBlY3RlZCwgIitwcihpKSsiIGZvdW5kIildO2lmKDIhPT1pLmxlbmd0aClyZXR1cm5bbmV3IE10KHMsaSwiYXJyYXkgbGVuZ3RoIDIgZXhwZWN0ZWQsIGxlbmd0aCAiK2kubGVuZ3RoKyIgZm91bmQiKV07aWYoYyl7aWYoIm9iamVjdCIhPT1wcihpWzBdKSlyZXR1cm5bbmV3IE10KHMsaSwib2JqZWN0IGV4cGVjdGVkLCAiK3ByKGlbMF0pKyIgZm91bmQiKV07aWYodm9pZCAwPT09aVswXS56b29tKXJldHVybltuZXcgTXQocyxpLCJvYmplY3Qgc3RvcCBrZXkgbXVzdCBoYXZlIHpvb20iKV07aWYodm9pZCAwPT09aVswXS52YWx1ZSlyZXR1cm5bbmV3IE10KHMsaSwib2JqZWN0IHN0b3Aga2V5IG11c3QgaGF2ZSB2YWx1ZSIpXTtpZihuJiZuPkx0KGlbMF0uem9vbSkpcmV0dXJuW25ldyBNdChzLGlbMF0uem9vbSwic3RvcCB6b29tIHZhbHVlcyBtdXN0IGFwcGVhciBpbiBhc2NlbmRpbmcgb3JkZXIiKV07THQoaVswXS56b29tKSE9PW4mJihuPUx0KGlbMF0uem9vbSkscj12b2lkIDAsbz17fSksZT1lLmNvbmNhdChFcih7a2V5OnMrIlswXSIsdmFsdWU6aVswXSx2YWx1ZVNwZWM6e3pvb206e319LHN0eWxlOnQuc3R5bGUsc3R5bGVTcGVjOnQuc3R5bGVTcGVjLG9iamVjdEVsZW1lbnRWYWxpZGF0b3JzOnt6b29tOkNyLHZhbHVlOmZ9fSkpfWVsc2UgZT1lLmNvbmNhdChmKHtrZXk6cysiWzBdIix2YWx1ZTppWzBdLHZhbHVlU3BlYzp7fSxzdHlsZTp0LnN0eWxlLHN0eWxlU3BlYzp0LnN0eWxlU3BlY30saSkpO3JldHVybiB3cihDdChpWzFdKSk/ZS5jb25jYXQoW25ldyBNdChzKyJbMV0iLGlbMV0sImV4cHJlc3Npb25zIGFyZSBub3QgYWxsb3dlZCBpbiBmdW5jdGlvbiBzdG9wcy4iKV0pOmUuY29uY2F0KFFyKHtrZXk6cysiWzFdIix2YWx1ZTppWzFdLHZhbHVlU3BlYzphLHN0eWxlOnQuc3R5bGUsc3R5bGVTcGVjOnQuc3R5bGVTcGVjfSkpfWZ1bmN0aW9uIGYodCxuKXt2YXIgcz1wcih0LnZhbHVlKSxsPUx0KHQudmFsdWUpLGM9bnVsbCE9PXQudmFsdWU/dC52YWx1ZTpuO2lmKGUpe2lmKHMhPT1lKXJldHVybltuZXcgTXQodC5rZXksYyxzKyIgc3RvcCBkb21haW4gdHlwZSBtdXN0IG1hdGNoIHByZXZpb3VzIHN0b3AgZG9tYWluIHR5cGUgIitlKV19ZWxzZSBlPXM7aWYoIm51bWJlciIhPT1zJiYic3RyaW5nIiE9PXMmJiJib29sZWFuIiE9PXMpcmV0dXJuW25ldyBNdCh0LmtleSxjLCJzdG9wIGRvbWFpbiB2YWx1ZSBtdXN0IGJlIGEgbnVtYmVyLCBzdHJpbmcsIG9yIGJvb2xlYW4iKV07aWYoIm51bWJlciIhPT1zJiYiY2F0ZWdvcmljYWwiIT09aSl7dmFyIHU9Im51bWJlciBleHBlY3RlZCwgIitzKyIgZm91bmQiO3JldHVybiB1cihhKSYmdm9pZCAwPT09aSYmKHUrPSdcbklmIHlvdSBpbnRlbmRlZCB0byB1c2UgYSBjYXRlZ29yaWNhbCBmdW5jdGlvbiwgc3BlY2lmeSBgInR5cGUiOiAiY2F0ZWdvcmljYWwiYC4nKSxbbmV3IE10KHQua2V5LGMsdSldfXJldHVybiJjYXRlZ29yaWNhbCIhPT1pfHwibnVtYmVyIiE9PXN8fGlzRmluaXRlKGwpJiZNYXRoLmZsb29yKGwpPT09bD8iY2F0ZWdvcmljYWwiIT09aSYmIm51bWJlciI9PT1zJiZ2b2lkIDAhPT1yJiZsPHI/W25ldyBNdCh0LmtleSxjLCJzdG9wIGRvbWFpbiB2YWx1ZXMgbXVzdCBhcHBlYXIgaW4gYXNjZW5kaW5nIG9yZGVyIildOihyPWwsImNhdGVnb3JpY2FsIj09PWkmJmwgaW4gbz9bbmV3IE10KHQua2V5LGMsInN0b3AgZG9tYWluIHZhbHVlcyBtdXN0IGJlIHVuaXF1ZSIpXToob1tsXT0hMCxbXSkpOltuZXcgTXQodC5rZXksYywiaW50ZWdlciBleHBlY3RlZCwgZm91bmQgIitsKV19fWZ1bmN0aW9uIE9yKHQpe3ZhciBlPSgicHJvcGVydHkiPT09dC5leHByZXNzaW9uQ29udGV4dD9BcjprcikoQ3QodC52YWx1ZSksdC52YWx1ZVNwZWMpO2lmKCJlcnJvciI9PT1lLnJlc3VsdClyZXR1cm4gZS52YWx1ZS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBNdCgiIit0LmtleStlLmtleSx0LnZhbHVlLGUubWVzc2FnZSl9KTt2YXIgcj1lLnZhbHVlLmV4cHJlc3Npb258fGUudmFsdWUuX3N0eWxlRXhwcmVzc2lvbi5leHByZXNzaW9uO2lmKCJwcm9wZXJ0eSI9PT10LmV4cHJlc3Npb25Db250ZXh0JiYidGV4dC1mb250Ij09PXQucHJvcGVydHlLZXkmJi0xIT09ci5wb3NzaWJsZU91dHB1dHMoKS5pbmRleE9mKHZvaWQgMCkpcmV0dXJuW25ldyBNdCh0LmtleSx0LnZhbHVlLCdJbnZhbGlkIGRhdGEgZXhwcmVzc2lvbiBmb3IgIicrdC5wcm9wZXJ0eUtleSsnIi4gT3V0cHV0IHZhbHVlcyBtdXN0IGJlIGNvbnRhaW5lZCBhcyBsaXRlcmFscyB3aXRoaW4gdGhlIGV4cHJlc3Npb24uJyldO2lmKCJwcm9wZXJ0eSI9PT10LmV4cHJlc3Npb25Db250ZXh0JiYibGF5b3V0Ij09PXQucHJvcGVydHlUeXBlJiYhZmUocikpcmV0dXJuW25ldyBNdCh0LmtleSx0LnZhbHVlLCciZmVhdHVyZS1zdGF0ZSIgZGF0YSBleHByZXNzaW9ucyBhcmUgbm90IHN1cHBvcnRlZCB3aXRoIGxheW91dCBwcm9wZXJ0aWVzLicpXTtpZigiZmlsdGVyIj09PXQuZXhwcmVzc2lvbkNvbnRleHQmJiFmZShyKSlyZXR1cm5bbmV3IE10KHQua2V5LHQudmFsdWUsJyJmZWF0dXJlLXN0YXRlIiBkYXRhIGV4cHJlc3Npb25zIGFyZSBub3Qgc3VwcG9ydGVkIHdpdGggZmlsdGVycy4nKV07aWYodC5leHByZXNzaW9uQ29udGV4dCYmMD09PXQuZXhwcmVzc2lvbkNvbnRleHQuaW5kZXhPZigiY2x1c3RlciIpKXtpZighcGUocixbInpvb20iLCJmZWF0dXJlLXN0YXRlIl0pKXJldHVybltuZXcgTXQodC5rZXksdC52YWx1ZSwnInpvb20iIGFuZCAiZmVhdHVyZS1zdGF0ZSIgZXhwcmVzc2lvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgd2l0aCBjbHVzdGVyIHByb3BlcnRpZXMuJyldO2lmKCJjbHVzdGVyLWluaXRpYWwiPT09dC5leHByZXNzaW9uQ29udGV4dCYmIWhlKHIpKXJldHVybltuZXcgTXQodC5rZXksdC52YWx1ZSwiRmVhdHVyZSBkYXRhIGV4cHJlc3Npb25zIGFyZSBub3Qgc3VwcG9ydGVkIHdpdGggaW5pdGlhbCBleHByZXNzaW9uIHBhcnQgb2YgY2x1c3RlciBwcm9wZXJ0aWVzLiIpXX1yZXR1cm5bXX1mdW5jdGlvbiB6cih0KXt2YXIgZT10LmtleSxyPXQudmFsdWUsbj10LnZhbHVlU3BlYyxhPVtdO3JldHVybiBBcnJheS5pc0FycmF5KG4udmFsdWVzKT8tMT09PW4udmFsdWVzLmluZGV4T2YoTHQocikpJiZhLnB1c2gobmV3IE10KGUsciwiZXhwZWN0ZWQgb25lIG9mIFsiK24udmFsdWVzLmpvaW4oIiwgIikrIl0sICIrSlNPTi5zdHJpbmdpZnkocikrIiBmb3VuZCIpKTotMT09PU9iamVjdC5rZXlzKG4udmFsdWVzKS5pbmRleE9mKEx0KHIpKSYmYS5wdXNoKG5ldyBNdChlLHIsImV4cGVjdGVkIG9uZSBvZiBbIitPYmplY3Qua2V5cyhuLnZhbHVlcykuam9pbigiLCAiKSsiXSwgIitKU09OLnN0cmluZ2lmeShyKSsiIGZvdW5kIikpLGF9ZnVuY3Rpb24gSXIodCl7aWYoITA9PT10fHwhMT09PXQpcmV0dXJuITA7aWYoIUFycmF5LmlzQXJyYXkodCl8fDA9PT10Lmxlbmd0aClyZXR1cm4hMTtzd2l0Y2godFswXSl7Y2FzZSJoYXMiOnJldHVybiB0Lmxlbmd0aD49MiYmIiRpZCIhPT10WzFdJiYiJHR5cGUiIT09dFsxXTtjYXNlImluIjpjYXNlIiFpbiI6Y2FzZSIhaGFzIjpjYXNlIm5vbmUiOnJldHVybiExO2Nhc2UiPT0iOmNhc2UiIT0iOmNhc2UiPiI6Y2FzZSI+PSI6Y2FzZSI8IjpjYXNlIjw9IjpyZXR1cm4gMyE9PXQubGVuZ3RofHxBcnJheS5pc0FycmF5KHRbMV0pfHxBcnJheS5pc0FycmF5KHRbMl0pO2Nhc2UiYW55IjpjYXNlImFsbCI6Zm9yKHZhciBlPTAscj10LnNsaWNlKDEpO2U8ci5sZW5ndGg7ZSs9MSl7dmFyIG49cltlXTtpZighSXIobikmJiJib29sZWFuIiE9dHlwZW9mIG4pcmV0dXJuITF9cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMH19U3IuZGVzZXJpYWxpemU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBTcih0Ll9wYXJhbWV0ZXJzLHQuX3NwZWNpZmljYXRpb24pfSxTci5zZXJpYWxpemU9ZnVuY3Rpb24odCl7cmV0dXJue19wYXJhbWV0ZXJzOnQuX3BhcmFtZXRlcnMsX3NwZWNpZmljYXRpb246dC5fc3BlY2lmaWNhdGlvbn19O3ZhciBEcj17dHlwZToiYm9vbGVhbiIsZGVmYXVsdDohMSx0cmFuc2l0aW9uOiExLCJwcm9wZXJ0eS10eXBlIjoiZGF0YS1kcml2ZW4iLGV4cHJlc3Npb246e2ludGVycG9sYXRlZDohMSxwYXJhbWV0ZXJzOlsiem9vbSIsImZlYXR1cmUiXX19O2Z1bmN0aW9uIFJyKHQpe2lmKG51bGw9PXQpcmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuITB9O0lyKHQpfHwodD1Ccih0KSk7dmFyIGU9a3IodCxEcik7aWYoImVycm9yIj09PWUucmVzdWx0KXRocm93IG5ldyBFcnJvcihlLnZhbHVlLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5rZXkrIjogIit0Lm1lc3NhZ2V9KS5qb2luKCIsICIpKTtyZXR1cm4gZnVuY3Rpb24odCxyKXtyZXR1cm4gZS52YWx1ZS5ldmFsdWF0ZSh0LHIpfX1mdW5jdGlvbiBGcih0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6MH1mdW5jdGlvbiBCcih0KXtpZighdClyZXR1cm4hMDt2YXIgZSxyPXRbMF07cmV0dXJuIHQubGVuZ3RoPD0xPyJhbnkiIT09cjoiPT0iPT09cj9Ocih0WzFdLHRbMl0sIj09Iik6IiE9Ij09PXI/VXIoTnIodFsxXSx0WzJdLCI9PSIpKToiPCI9PT1yfHwiPiI9PT1yfHwiPD0iPT09cnx8Ij49Ij09PXI/TnIodFsxXSx0WzJdLHIpOiJhbnkiPT09cj8oZT10LnNsaWNlKDEpLFsiYW55Il0uY29uY2F0KGUubWFwKEJyKSkpOiJhbGwiPT09cj9bImFsbCJdLmNvbmNhdCh0LnNsaWNlKDEpLm1hcChCcikpOiJub25lIj09PXI/WyJhbGwiXS5jb25jYXQodC5zbGljZSgxKS5tYXAoQnIpLm1hcChVcikpOiJpbiI9PT1yP2pyKHRbMV0sdC5zbGljZSgyKSk6IiFpbiI9PT1yP1VyKGpyKHRbMV0sdC5zbGljZSgyKSkpOiJoYXMiPT09cj9Wcih0WzFdKToiIWhhcyIhPT1yfHxVcihWcih0WzFdKSl9ZnVuY3Rpb24gTnIodCxlLHIpe3N3aXRjaCh0KXtjYXNlIiR0eXBlIjpyZXR1cm5bImZpbHRlci10eXBlLSIrcixlXTtjYXNlIiRpZCI6cmV0dXJuWyJmaWx0ZXItaWQtIityLGVdO2RlZmF1bHQ6cmV0dXJuWyJmaWx0ZXItIityLHQsZV19fWZ1bmN0aW9uIGpyKHQsZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybiExO3N3aXRjaCh0KXtjYXNlIiR0eXBlIjpyZXR1cm5bImZpbHRlci10eXBlLWluIixbImxpdGVyYWwiLGVdXTtjYXNlIiRpZCI6cmV0dXJuWyJmaWx0ZXItaWQtaW4iLFsibGl0ZXJhbCIsZV1dO2RlZmF1bHQ6cmV0dXJuIGUubGVuZ3RoPjIwMCYmIWUuc29tZShmdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHQhPXR5cGVvZiBlWzBdfSk/WyJmaWx0ZXItaW4tbGFyZ2UiLHQsWyJsaXRlcmFsIixlLnNvcnQoRnIpXV06WyJmaWx0ZXItaW4tc21hbGwiLHQsWyJsaXRlcmFsIixlXV19fWZ1bmN0aW9uIFZyKHQpe3N3aXRjaCh0KXtjYXNlIiR0eXBlIjpyZXR1cm4hMDtjYXNlIiRpZCI6cmV0dXJuWyJmaWx0ZXItaGFzLWlkIl07ZGVmYXVsdDpyZXR1cm5bImZpbHRlci1oYXMiLHRdfX1mdW5jdGlvbiBVcih0KXtyZXR1cm5bIiEiLHRdfWZ1bmN0aW9uIHFyKHQpe3JldHVybiBJcihDdCh0LnZhbHVlKSk/T3IoU3Qoe30sdCx7ZXhwcmVzc2lvbkNvbnRleHQ6ImZpbHRlciIsdmFsdWVTcGVjOnt2YWx1ZToiYm9vbGVhbiJ9fSkpOmZ1bmN0aW9uIHQoZSl7dmFyIHI9ZS52YWx1ZSxuPWUua2V5O2lmKCJhcnJheSIhPT1wcihyKSlyZXR1cm5bbmV3IE10KG4sciwiYXJyYXkgZXhwZWN0ZWQsICIrcHIocikrIiBmb3VuZCIpXTt2YXIgYSxpPWUuc3R5bGVTcGVjLG89W107aWYoci5sZW5ndGg8MSlyZXR1cm5bbmV3IE10KG4sciwiZmlsdGVyIGFycmF5IG11c3QgaGF2ZSBhdCBsZWFzdCAxIGVsZW1lbnQiKV07c3dpdGNoKG89by5jb25jYXQoenIoe2tleTpuKyJbMF0iLHZhbHVlOnJbMF0sdmFsdWVTcGVjOmkuZmlsdGVyX29wZXJhdG9yLHN0eWxlOmUuc3R5bGUsc3R5bGVTcGVjOmUuc3R5bGVTcGVjfSkpLEx0KHJbMF0pKXtjYXNlIjwiOmNhc2UiPD0iOmNhc2UiPiI6Y2FzZSI+PSI6ci5sZW5ndGg+PTImJiIkdHlwZSI9PT1MdChyWzFdKSYmby5wdXNoKG5ldyBNdChuLHIsJyIkdHlwZSIgY2Fubm90IGJlIHVzZSB3aXRoIG9wZXJhdG9yICInK3JbMF0rJyInKSk7Y2FzZSI9PSI6Y2FzZSIhPSI6MyE9PXIubGVuZ3RoJiZvLnB1c2gobmV3IE10KG4sciwnZmlsdGVyIGFycmF5IGZvciBvcGVyYXRvciAiJytyWzBdKyciIG11c3QgaGF2ZSAzIGVsZW1lbnRzJykpO2Nhc2UiaW4iOmNhc2UiIWluIjpyLmxlbmd0aD49MiYmInN0cmluZyIhPT0oYT1wcihyWzFdKSkmJm8ucHVzaChuZXcgTXQobisiWzFdIixyWzFdLCJzdHJpbmcgZXhwZWN0ZWQsICIrYSsiIGZvdW5kIikpO2Zvcih2YXIgcz0yO3M8ci5sZW5ndGg7cysrKWE9cHIocltzXSksIiR0eXBlIj09PUx0KHJbMV0pP289by5jb25jYXQoenIoe2tleTpuKyJbIitzKyJdIix2YWx1ZTpyW3NdLHZhbHVlU3BlYzppLmdlb21ldHJ5X3R5cGUsc3R5bGU6ZS5zdHlsZSxzdHlsZVNwZWM6ZS5zdHlsZVNwZWN9KSk6InN0cmluZyIhPT1hJiYibnVtYmVyIiE9PWEmJiJib29sZWFuIiE9PWEmJm8ucHVzaChuZXcgTXQobisiWyIrcysiXSIscltzXSwic3RyaW5nLCBudW1iZXIsIG9yIGJvb2xlYW4gZXhwZWN0ZWQsICIrYSsiIGZvdW5kIikpO2JyZWFrO2Nhc2UiYW55IjpjYXNlImFsbCI6Y2FzZSJub25lIjpmb3IodmFyIGw9MTtsPHIubGVuZ3RoO2wrKylvPW8uY29uY2F0KHQoe2tleTpuKyJbIitsKyJdIix2YWx1ZTpyW2xdLHN0eWxlOmUuc3R5bGUsc3R5bGVTcGVjOmUuc3R5bGVTcGVjfSkpO2JyZWFrO2Nhc2UiaGFzIjpjYXNlIiFoYXMiOmE9cHIoclsxXSksMiE9PXIubGVuZ3RoP28ucHVzaChuZXcgTXQobixyLCdmaWx0ZXIgYXJyYXkgZm9yICInK3JbMF0rJyIgb3BlcmF0b3IgbXVzdCBoYXZlIDIgZWxlbWVudHMnKSk6InN0cmluZyIhPT1hJiZvLnB1c2gobmV3IE10KG4rIlsxXSIsclsxXSwic3RyaW5nIGV4cGVjdGVkLCAiK2ErIiBmb3VuZCIpKX1yZXR1cm4gb30odCl9ZnVuY3Rpb24gSHIodCxlKXt2YXIgcj10LmtleSxuPXQuc3R5bGUsYT10LnN0eWxlU3BlYyxpPXQudmFsdWUsbz10Lm9iamVjdEtleSxzPWFbZSsiXyIrdC5sYXllclR5cGVdO2lmKCFzKXJldHVybltdO3ZhciBsPW8ubWF0Y2goL14oLiopLXRyYW5zaXRpb24kLyk7aWYoInBhaW50Ij09PWUmJmwmJnNbbFsxXV0mJnNbbFsxXV0udHJhbnNpdGlvbilyZXR1cm4gUXIoe2tleTpyLHZhbHVlOmksdmFsdWVTcGVjOmEudHJhbnNpdGlvbixzdHlsZTpuLHN0eWxlU3BlYzphfSk7dmFyIGMsdT10LnZhbHVlU3BlY3x8c1tvXTtpZighdSlyZXR1cm5bbmV3IE10KHIsaSwndW5rbm93biBwcm9wZXJ0eSAiJytvKyciJyldO2lmKCJzdHJpbmciPT09cHIoaSkmJnVyKHUpJiYhdS50b2tlbnMmJihjPS9eeyhbXn1dKyl9JC8uZXhlYyhpKSkpcmV0dXJuW25ldyBNdChyLGksJyInK28rJyIgZG9lcyBub3Qgc3VwcG9ydCBpbnRlcnBvbGF0aW9uIHN5bnRheFxuVXNlIGFuIGlkZW50aXR5IHByb3BlcnR5IGZ1bmN0aW9uIGluc3RlYWQ6IGB7ICJ0eXBlIjogImlkZW50aXR5IiwgInByb3BlcnR5IjogJytKU09OLnN0cmluZ2lmeShjWzFdKSsiIH1gLiIpXTt2YXIgaD1bXTtyZXR1cm4ic3ltYm9sIj09PXQubGF5ZXJUeXBlJiYoInRleHQtZmllbGQiPT09byYmbiYmIW4uZ2x5cGhzJiZoLnB1c2gobmV3IE10KHIsaSwndXNlIG9mICJ0ZXh0LWZpZWxkIiByZXF1aXJlcyBhIHN0eWxlICJnbHlwaHMiIHByb3BlcnR5JykpLCJ0ZXh0LWZvbnQiPT09byYmZHIoQ3QoaSkpJiYiaWRlbnRpdHkiPT09THQoaS50eXBlKSYmaC5wdXNoKG5ldyBNdChyLGksJyJ0ZXh0LWZvbnQiIGRvZXMgbm90IHN1cHBvcnQgaWRlbnRpdHkgZnVuY3Rpb25zJykpKSxoLmNvbmNhdChRcih7a2V5OnQua2V5LHZhbHVlOmksdmFsdWVTcGVjOnUsc3R5bGU6bixzdHlsZVNwZWM6YSxleHByZXNzaW9uQ29udGV4dDoicHJvcGVydHkiLHByb3BlcnR5VHlwZTplLHByb3BlcnR5S2V5Om99KSl9ZnVuY3Rpb24gR3IodCl7cmV0dXJuIEhyKHQsInBhaW50Iil9ZnVuY3Rpb24gWXIodCl7cmV0dXJuIEhyKHQsImxheW91dCIpfWZ1bmN0aW9uIFdyKHQpe3ZhciBlPVtdLHI9dC52YWx1ZSxuPXQua2V5LGE9dC5zdHlsZSxpPXQuc3R5bGVTcGVjO3IudHlwZXx8ci5yZWZ8fGUucHVzaChuZXcgTXQobixyLCdlaXRoZXIgInR5cGUiIG9yICJyZWYiIGlzIHJlcXVpcmVkJykpO3ZhciBvLHM9THQoci50eXBlKSxsPUx0KHIucmVmKTtpZihyLmlkKWZvcih2YXIgYz1MdChyLmlkKSx1PTA7dTx0LmFycmF5SW5kZXg7dSsrKXt2YXIgaD1hLmxheWVyc1t1XTtMdChoLmlkKT09PWMmJmUucHVzaChuZXcgTXQobixyLmlkLCdkdXBsaWNhdGUgbGF5ZXIgaWQgIicrci5pZCsnIiwgcHJldmlvdXNseSB1c2VkIGF0IGxpbmUgJytoLmlkLl9fbGluZV9fKSl9aWYoInJlZiJpbiByKVsidHlwZSIsInNvdXJjZSIsInNvdXJjZS1sYXllciIsImZpbHRlciIsImxheW91dCJdLmZvckVhY2goZnVuY3Rpb24odCl7dCBpbiByJiZlLnB1c2gobmV3IE10KG4sclt0XSwnIicrdCsnIiBpcyBwcm9oaWJpdGVkIGZvciByZWYgbGF5ZXJzJykpfSksYS5sYXllcnMuZm9yRWFjaChmdW5jdGlvbih0KXtMdCh0LmlkKT09PWwmJihvPXQpfSksbz9vLnJlZj9lLnB1c2gobmV3IE10KG4sci5yZWYsInJlZiBjYW5ub3QgcmVmZXJlbmNlIGFub3RoZXIgcmVmIGxheWVyIikpOnM9THQoby50eXBlKTplLnB1c2gobmV3IE10KG4sci5yZWYsJ3JlZiBsYXllciAiJytsKyciIG5vdCBmb3VuZCcpKTtlbHNlIGlmKCJiYWNrZ3JvdW5kIiE9PXMpaWYoci5zb3VyY2Upe3ZhciBmPWEuc291cmNlcyYmYS5zb3VyY2VzW3Iuc291cmNlXSxwPWYmJkx0KGYudHlwZSk7Zj8idmVjdG9yIj09PXAmJiJyYXN0ZXIiPT09cz9lLnB1c2gobmV3IE10KG4sci5zb3VyY2UsJ2xheWVyICInK3IuaWQrJyIgcmVxdWlyZXMgYSByYXN0ZXIgc291cmNlJykpOiJyYXN0ZXIiPT09cCYmInJhc3RlciIhPT1zP2UucHVzaChuZXcgTXQobixyLnNvdXJjZSwnbGF5ZXIgIicrci5pZCsnIiByZXF1aXJlcyBhIHZlY3RvciBzb3VyY2UnKSk6InZlY3RvciIhPT1wfHxyWyJzb3VyY2UtbGF5ZXIiXT8icmFzdGVyLWRlbSI9PT1wJiYiaGlsbHNoYWRlIiE9PXM/ZS5wdXNoKG5ldyBNdChuLHIuc291cmNlLCJyYXN0ZXItZGVtIHNvdXJjZSBjYW4gb25seSBiZSB1c2VkIHdpdGggbGF5ZXIgdHlwZSAnaGlsbHNoYWRlJy4iKSk6ImxpbmUiIT09c3x8IXIucGFpbnR8fCFyLnBhaW50WyJsaW5lLWdyYWRpZW50Il18fCJnZW9qc29uIj09PXAmJmYubGluZU1ldHJpY3N8fGUucHVzaChuZXcgTXQobixyLCdsYXllciAiJytyLmlkKyciIHNwZWNpZmllcyBhIGxpbmUtZ3JhZGllbnQsIHdoaWNoIHJlcXVpcmVzIGEgR2VvSlNPTiBzb3VyY2Ugd2l0aCBgbGluZU1ldHJpY3NgIGVuYWJsZWQuJykpOmUucHVzaChuZXcgTXQobixyLCdsYXllciAiJytyLmlkKyciIG11c3Qgc3BlY2lmeSBhICJzb3VyY2UtbGF5ZXIiJykpOmUucHVzaChuZXcgTXQobixyLnNvdXJjZSwnc291cmNlICInK3Iuc291cmNlKyciIG5vdCBmb3VuZCcpKX1lbHNlIGUucHVzaChuZXcgTXQobixyLCdtaXNzaW5nIHJlcXVpcmVkIHByb3BlcnR5ICJzb3VyY2UiJykpO3JldHVybiBlPWUuY29uY2F0KEVyKHtrZXk6bix2YWx1ZTpyLHZhbHVlU3BlYzppLmxheWVyLHN0eWxlOnQuc3R5bGUsc3R5bGVTcGVjOnQuc3R5bGVTcGVjLG9iamVjdEVsZW1lbnRWYWxpZGF0b3JzOnsiKiI6ZnVuY3Rpb24oKXtyZXR1cm5bXX0sdHlwZTpmdW5jdGlvbigpe3JldHVybiBRcih7a2V5Om4rIi50eXBlIix2YWx1ZTpyLnR5cGUsdmFsdWVTcGVjOmkubGF5ZXIudHlwZSxzdHlsZTp0LnN0eWxlLHN0eWxlU3BlYzp0LnN0eWxlU3BlYyxvYmplY3Q6cixvYmplY3RLZXk6InR5cGUifSl9LGZpbHRlcjpxcixsYXlvdXQ6ZnVuY3Rpb24odCl7cmV0dXJuIEVyKHtsYXllcjpyLGtleTp0LmtleSx2YWx1ZTp0LnZhbHVlLHN0eWxlOnQuc3R5bGUsc3R5bGVTcGVjOnQuc3R5bGVTcGVjLG9iamVjdEVsZW1lbnRWYWxpZGF0b3JzOnsiKiI6ZnVuY3Rpb24odCl7cmV0dXJuIFlyKFN0KHtsYXllclR5cGU6c30sdCkpfX19KX0scGFpbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIEVyKHtsYXllcjpyLGtleTp0LmtleSx2YWx1ZTp0LnZhbHVlLHN0eWxlOnQuc3R5bGUsc3R5bGVTcGVjOnQuc3R5bGVTcGVjLG9iamVjdEVsZW1lbnRWYWxpZGF0b3JzOnsiKiI6ZnVuY3Rpb24odCl7cmV0dXJuIEdyKFN0KHtsYXllclR5cGU6c30sdCkpfX19KX19fSkpfWZ1bmN0aW9uIFhyKHQpe3ZhciBlPXQudmFsdWUscj10LmtleSxuPXQuc3R5bGVTcGVjLGE9dC5zdHlsZTtpZighZS50eXBlKXJldHVybltuZXcgTXQocixlLCcidHlwZSIgaXMgcmVxdWlyZWQnKV07dmFyIGksbz1MdChlLnR5cGUpO3N3aXRjaChvKXtjYXNlInZlY3RvciI6Y2FzZSJyYXN0ZXIiOmNhc2UicmFzdGVyLWRlbSI6cmV0dXJuIEVyKHtrZXk6cix2YWx1ZTplLHZhbHVlU3BlYzpuWyJzb3VyY2VfIitvLnJlcGxhY2UoIi0iLCJfIildLHN0eWxlOnQuc3R5bGUsc3R5bGVTcGVjOm59KTtjYXNlImdlb2pzb24iOmlmKGk9RXIoe2tleTpyLHZhbHVlOmUsdmFsdWVTcGVjOm4uc291cmNlX2dlb2pzb24sc3R5bGU6YSxzdHlsZVNwZWM6bn0pLGUuY2x1c3Rlcilmb3IodmFyIHMgaW4gZS5jbHVzdGVyUHJvcGVydGllcyl7dmFyIGw9ZS5jbHVzdGVyUHJvcGVydGllc1tzXSxjPWxbMF0sdT1sWzFdLGg9InN0cmluZyI9PXR5cGVvZiBjP1tjLFsiYWNjdW11bGF0ZWQiXSxbImdldCIsc11dOmM7aS5wdXNoLmFwcGx5KGksT3Ioe2tleTpyKyIuIitzKyIubWFwIix2YWx1ZTp1LGV4cHJlc3Npb25Db250ZXh0OiJjbHVzdGVyLW1hcCJ9KSksaS5wdXNoLmFwcGx5KGksT3Ioe2tleTpyKyIuIitzKyIucmVkdWNlIix2YWx1ZTpoLGV4cHJlc3Npb25Db250ZXh0OiJjbHVzdGVyLXJlZHVjZSJ9KSl9cmV0dXJuIGk7Y2FzZSJ2aWRlbyI6cmV0dXJuIEVyKHtrZXk6cix2YWx1ZTplLHZhbHVlU3BlYzpuLnNvdXJjZV92aWRlbyxzdHlsZTphLHN0eWxlU3BlYzpufSk7Y2FzZSJpbWFnZSI6cmV0dXJuIEVyKHtrZXk6cix2YWx1ZTplLHZhbHVlU3BlYzpuLnNvdXJjZV9pbWFnZSxzdHlsZTphLHN0eWxlU3BlYzpufSk7Y2FzZSJjYW52YXMiOnJldHVybltuZXcgTXQocixudWxsLCJQbGVhc2UgdXNlIHJ1bnRpbWUgQVBJcyB0byBhZGQgY2FudmFzIHNvdXJjZXMsIHJhdGhlciB0aGFuIGluY2x1ZGluZyB0aGVtIGluIHN0eWxlc2hlZXRzLiIsInNvdXJjZS5jYW52YXMiKV07ZGVmYXVsdDpyZXR1cm4genIoe2tleTpyKyIudHlwZSIsdmFsdWU6ZS50eXBlLHZhbHVlU3BlYzp7dmFsdWVzOlsidmVjdG9yIiwicmFzdGVyIiwicmFzdGVyLWRlbSIsImdlb2pzb24iLCJ2aWRlbyIsImltYWdlIl19LHN0eWxlOmEsc3R5bGVTcGVjOm59KX19ZnVuY3Rpb24gWnIodCl7dmFyIGU9dC52YWx1ZSxyPXQuc3R5bGVTcGVjLG49ci5saWdodCxhPXQuc3R5bGUsaT1bXSxvPXByKGUpO2lmKHZvaWQgMD09PWUpcmV0dXJuIGk7aWYoIm9iamVjdCIhPT1vKXJldHVybiBpLmNvbmNhdChbbmV3IE10KCJsaWdodCIsZSwib2JqZWN0IGV4cGVjdGVkLCAiK28rIiBmb3VuZCIpXSk7Zm9yKHZhciBzIGluIGUpe3ZhciBsPXMubWF0Y2goL14oLiopLXRyYW5zaXRpb24kLyk7aT1sJiZuW2xbMV1dJiZuW2xbMV1dLnRyYW5zaXRpb24/aS5jb25jYXQoUXIoe2tleTpzLHZhbHVlOmVbc10sdmFsdWVTcGVjOnIudHJhbnNpdGlvbixzdHlsZTphLHN0eWxlU3BlYzpyfSkpOm5bc10/aS5jb25jYXQoUXIoe2tleTpzLHZhbHVlOmVbc10sdmFsdWVTcGVjOm5bc10sc3R5bGU6YSxzdHlsZVNwZWM6cn0pKTppLmNvbmNhdChbbmV3IE10KHMsZVtzXSwndW5rbm93biBwcm9wZXJ0eSAiJytzKyciJyldKX1yZXR1cm4gaX1mdW5jdGlvbiBKcih0KXt2YXIgZT10LnZhbHVlLHI9dC5rZXksbj1wcihlKTtyZXR1cm4ic3RyaW5nIiE9PW4/W25ldyBNdChyLGUsInN0cmluZyBleHBlY3RlZCwgIituKyIgZm91bmQiKV06W119dmFyIEtyPXsiKiI6ZnVuY3Rpb24oKXtyZXR1cm5bXX0sYXJyYXk6THIsYm9vbGVhbjpmdW5jdGlvbih0KXt2YXIgZT10LnZhbHVlLHI9dC5rZXksbj1wcihlKTtyZXR1cm4iYm9vbGVhbiIhPT1uP1tuZXcgTXQocixlLCJib29sZWFuIGV4cGVjdGVkLCAiK24rIiBmb3VuZCIpXTpbXX0sbnVtYmVyOkNyLGNvbG9yOmZ1bmN0aW9uKHQpe3ZhciBlPXQua2V5LHI9dC52YWx1ZSxuPXByKHIpO3JldHVybiJzdHJpbmciIT09bj9bbmV3IE10KGUsciwiY29sb3IgZXhwZWN0ZWQsICIrbisiIGZvdW5kIildOm51bGw9PT1ZdChyKT9bbmV3IE10KGUsciwnY29sb3IgZXhwZWN0ZWQsICInK3IrJyIgZm91bmQnKV06W119LGNvbnN0YW50czpBdCxlbnVtOnpyLGZpbHRlcjpxcixmdW5jdGlvbjpQcixsYXllcjpXcixvYmplY3Q6RXIsc291cmNlOlhyLGxpZ2h0OlpyLHN0cmluZzpKcixmb3JtYXR0ZWQ6ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT1Kcih0KS5sZW5ndGg/W106T3IodCl9fTtmdW5jdGlvbiBRcih0KXt2YXIgZT10LnZhbHVlLHI9dC52YWx1ZVNwZWMsbj10LnN0eWxlU3BlYztyZXR1cm4gci5leHByZXNzaW9uJiZkcihMdChlKSk/UHIodCk6ci5leHByZXNzaW9uJiZ3cihDdChlKSk/T3IodCk6ci50eXBlJiZLcltyLnR5cGVdP0tyW3IudHlwZV0odCk6RXIoU3Qoe30sdCx7dmFsdWVTcGVjOnIudHlwZT9uW3IudHlwZV06cn0pKX1mdW5jdGlvbiAkcih0KXt2YXIgZT10LnZhbHVlLHI9dC5rZXksbj1Kcih0KTtyZXR1cm4gbi5sZW5ndGg/bjooLTE9PT1lLmluZGV4T2YoIntmb250c3RhY2t9IikmJm4ucHVzaChuZXcgTXQocixlLCciZ2x5cGhzIiB1cmwgbXVzdCBpbmNsdWRlIGEgIntmb250c3RhY2t9IiB0b2tlbicpKSwtMT09PWUuaW5kZXhPZigie3JhbmdlfSIpJiZuLnB1c2gobmV3IE10KHIsZSwnImdseXBocyIgdXJsIG11c3QgaW5jbHVkZSBhICJ7cmFuZ2V9IiB0b2tlbicpKSxuKX1mdW5jdGlvbiB0bih0LGUpe2U9ZXx8VHQ7dmFyIHI9W107cmV0dXJuIHI9ci5jb25jYXQoUXIoe2tleToiIix2YWx1ZTp0LHZhbHVlU3BlYzplLiRyb290LHN0eWxlU3BlYzplLHN0eWxlOnQsb2JqZWN0RWxlbWVudFZhbGlkYXRvcnM6e2dseXBoczokciwiKiI6ZnVuY3Rpb24oKXtyZXR1cm5bXX19fSkpLHQuY29uc3RhbnRzJiYocj1yLmNvbmNhdChBdCh7a2V5OiJjb25zdGFudHMiLHZhbHVlOnQuY29uc3RhbnRzLHN0eWxlOnQsc3R5bGVTcGVjOmV9KSkpLGVuKHIpfWZ1bmN0aW9uIGVuKHQpe3JldHVybltdLmNvbmNhdCh0KS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQubGluZS1lLmxpbmV9KX1mdW5jdGlvbiBybih0KXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIGU9W10scj1hcmd1bWVudHMubGVuZ3RoO3ItLTspZVtyXT1hcmd1bWVudHNbcl07cmV0dXJuIGVuKHQuYXBwbHkodGhpcyxlKSl9fXRuLnNvdXJjZT1ybihYciksdG4ubGlnaHQ9cm4oWnIpLHRuLmxheWVyPXJuKFdyKSx0bi5maWx0ZXI9cm4ocXIpLHRuLnBhaW50UHJvcGVydHk9cm4oR3IpLHRuLmxheW91dFByb3BlcnR5PXJuKFlyKTt2YXIgbm49dG4sYW49bm4ubGlnaHQsb249bm4ucGFpbnRQcm9wZXJ0eSxzbj1ubi5sYXlvdXRQcm9wZXJ0eTtmdW5jdGlvbiBsbih0LGUpe3ZhciByPSExO2lmKGUmJmUubGVuZ3RoKWZvcih2YXIgbj0wLGE9ZTtuPGEubGVuZ3RoO24rPTEpe3ZhciBpPWFbbl07dC5maXJlKG5ldyB3dChuZXcgRXJyb3IoaS5tZXNzYWdlKSkpLHI9ITB9cmV0dXJuIHJ9dmFyIGNuPWhuLHVuPTM7ZnVuY3Rpb24gaG4odCxlLHIpe3ZhciBuPXRoaXMuY2VsbHM9W107aWYodCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKXt0aGlzLmFycmF5QnVmZmVyPXQ7dmFyIGE9bmV3IEludDMyQXJyYXkodGhpcy5hcnJheUJ1ZmZlcik7dD1hWzBdLGU9YVsxXSxyPWFbMl0sdGhpcy5kPWUrMipyO2Zvcih2YXIgaT0wO2k8dGhpcy5kKnRoaXMuZDtpKyspe3ZhciBvPWFbdW4raV0scz1hW3VuK2krMV07bi5wdXNoKG89PT1zP251bGw6YS5zdWJhcnJheShvLHMpKX12YXIgbD1hW3VuK24ubGVuZ3RoXSxjPWFbdW4rbi5sZW5ndGgrMV07dGhpcy5rZXlzPWEuc3ViYXJyYXkobCxjKSx0aGlzLmJib3hlcz1hLnN1YmFycmF5KGMpLHRoaXMuaW5zZXJ0PXRoaXMuX2luc2VydFJlYWRvbmx5fWVsc2V7dGhpcy5kPWUrMipyO2Zvcih2YXIgdT0wO3U8dGhpcy5kKnRoaXMuZDt1Kyspbi5wdXNoKFtdKTt0aGlzLmtleXM9W10sdGhpcy5iYm94ZXM9W119dGhpcy5uPWUsdGhpcy5leHRlbnQ9dCx0aGlzLnBhZGRpbmc9cix0aGlzLnNjYWxlPWUvdCx0aGlzLnVpZD0wO3ZhciBoPXIvZSp0O3RoaXMubWluPS1oLHRoaXMubWF4PXQraH1obi5wcm90b3R5cGUuaW5zZXJ0PWZ1bmN0aW9uKHQsZSxyLG4sYSl7dGhpcy5fZm9yRWFjaENlbGwoZSxyLG4sYSx0aGlzLl9pbnNlcnRDZWxsLHRoaXMudWlkKyspLHRoaXMua2V5cy5wdXNoKHQpLHRoaXMuYmJveGVzLnB1c2goZSksdGhpcy5iYm94ZXMucHVzaChyKSx0aGlzLmJib3hlcy5wdXNoKG4pLHRoaXMuYmJveGVzLnB1c2goYSl9LGhuLnByb3RvdHlwZS5faW5zZXJ0UmVhZG9ubHk9ZnVuY3Rpb24oKXt0aHJvdyJDYW5ub3QgaW5zZXJ0IGludG8gYSBHcmlkSW5kZXggY3JlYXRlZCBmcm9tIGFuIEFycmF5QnVmZmVyLiJ9LGhuLnByb3RvdHlwZS5faW5zZXJ0Q2VsbD1mdW5jdGlvbih0LGUscixuLGEsaSl7dGhpcy5jZWxsc1thXS5wdXNoKGkpfSxobi5wcm90b3R5cGUucXVlcnk9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT10aGlzLm1pbixvPXRoaXMubWF4O2lmKHQ8PWkmJmU8PWkmJm88PXImJm88PW4mJiFhKXJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLmtleXMpO3ZhciBzPVtdO3JldHVybiB0aGlzLl9mb3JFYWNoQ2VsbCh0LGUscixuLHRoaXMuX3F1ZXJ5Q2VsbCxzLHt9LGEpLHN9LGhuLnByb3RvdHlwZS5fcXVlcnlDZWxsPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyl7dmFyIGw9dGhpcy5jZWxsc1thXTtpZihudWxsIT09bClmb3IodmFyIGM9dGhpcy5rZXlzLHU9dGhpcy5iYm94ZXMsaD0wO2g8bC5sZW5ndGg7aCsrKXt2YXIgZj1sW2hdO2lmKHZvaWQgMD09PW9bZl0pe3ZhciBwPTQqZjsocz9zKHVbcCswXSx1W3ArMV0sdVtwKzJdLHVbcCszXSk6dDw9dVtwKzJdJiZlPD11W3ArM10mJnI+PXVbcCswXSYmbj49dVtwKzFdKT8ob1tmXT0hMCxpLnB1c2goY1tmXSkpOm9bZl09ITF9fX0saG4ucHJvdG90eXBlLl9mb3JFYWNoQ2VsbD1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMpe2Zvcih2YXIgbD10aGlzLl9jb252ZXJ0VG9DZWxsQ29vcmQodCksYz10aGlzLl9jb252ZXJ0VG9DZWxsQ29vcmQoZSksdT10aGlzLl9jb252ZXJ0VG9DZWxsQ29vcmQociksaD10aGlzLl9jb252ZXJ0VG9DZWxsQ29vcmQobiksZj1sO2Y8PXU7ZisrKWZvcih2YXIgcD1jO3A8PWg7cCsrKXt2YXIgZD10aGlzLmQqcCtmO2lmKCghc3x8cyh0aGlzLl9jb252ZXJ0RnJvbUNlbGxDb29yZChmKSx0aGlzLl9jb252ZXJ0RnJvbUNlbGxDb29yZChwKSx0aGlzLl9jb252ZXJ0RnJvbUNlbGxDb29yZChmKzEpLHRoaXMuX2NvbnZlcnRGcm9tQ2VsbENvb3JkKHArMSkpKSYmYS5jYWxsKHRoaXMsdCxlLHIsbixkLGksbyxzKSlyZXR1cm59fSxobi5wcm90b3R5cGUuX2NvbnZlcnRGcm9tQ2VsbENvb3JkPWZ1bmN0aW9uKHQpe3JldHVybih0LXRoaXMucGFkZGluZykvdGhpcy5zY2FsZX0saG4ucHJvdG90eXBlLl9jb252ZXJ0VG9DZWxsQ29vcmQ9ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4odGhpcy5kLTEsTWF0aC5mbG9vcih0KnRoaXMuc2NhbGUpK3RoaXMucGFkZGluZykpfSxobi5wcm90b3R5cGUudG9BcnJheUJ1ZmZlcj1mdW5jdGlvbigpe2lmKHRoaXMuYXJyYXlCdWZmZXIpcmV0dXJuIHRoaXMuYXJyYXlCdWZmZXI7Zm9yKHZhciB0PXRoaXMuY2VsbHMsZT11bit0aGlzLmNlbGxzLmxlbmd0aCsxKzEscj0wLG49MDtuPHRoaXMuY2VsbHMubGVuZ3RoO24rKylyKz10aGlzLmNlbGxzW25dLmxlbmd0aDt2YXIgYT1uZXcgSW50MzJBcnJheShlK3IrdGhpcy5rZXlzLmxlbmd0aCt0aGlzLmJib3hlcy5sZW5ndGgpO2FbMF09dGhpcy5leHRlbnQsYVsxXT10aGlzLm4sYVsyXT10aGlzLnBhZGRpbmc7Zm9yKHZhciBpPWUsbz0wO288dC5sZW5ndGg7bysrKXt2YXIgcz10W29dO2FbdW4rb109aSxhLnNldChzLGkpLGkrPXMubGVuZ3RofXJldHVybiBhW3VuK3QubGVuZ3RoXT1pLGEuc2V0KHRoaXMua2V5cyxpKSxpKz10aGlzLmtleXMubGVuZ3RoLGFbdW4rdC5sZW5ndGgrMV09aSxhLnNldCh0aGlzLmJib3hlcyxpKSxpKz10aGlzLmJib3hlcy5sZW5ndGgsYS5idWZmZXJ9O3ZhciBmbj1zZWxmLkltYWdlRGF0YSxwbj17fTtmdW5jdGlvbiBkbih0LGUscil7dm9pZCAwPT09ciYmKHI9e30pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfY2xhc3NSZWdpc3RyeUtleSIse3ZhbHVlOnQsd3JpdGVhYmxlOiExfSkscG5bdF09e2tsYXNzOmUsb21pdDpyLm9taXR8fFtdLHNoYWxsb3c6ci5zaGFsbG93fHxbXX19Zm9yKHZhciBnbiBpbiBkbigiT2JqZWN0IixPYmplY3QpLGNuLnNlcmlhbGl6ZT1mdW5jdGlvbih0LGUpe3ZhciByPXQudG9BcnJheUJ1ZmZlcigpO3JldHVybiBlJiZlLnB1c2gocikse2J1ZmZlcjpyfX0sY24uZGVzZXJpYWxpemU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBjbih0LmJ1ZmZlcil9LGRuKCJHcmlkIixjbiksZG4oIkNvbG9yIixXdCksZG4oIkVycm9yIixFcnJvciksZG4oIlN0eWxlUHJvcGVydHlGdW5jdGlvbiIsU3IpLGRuKCJTdHlsZUV4cHJlc3Npb24iLF9yLHtvbWl0OlsiX2V2YWx1YXRvciJdfSksZG4oIlpvb21EZXBlbmRlbnRFeHByZXNzaW9uIixNciksZG4oIlpvb21Db25zdGFudEV4cHJlc3Npb24iLFRyKSxkbigiQ29tcG91bmRFeHByZXNzaW9uIixjZSx7b21pdDpbIl9ldmFsdWF0ZSJdfSksbnIpbnJbZ25dLl9jbGFzc1JlZ2lzdHJ5S2V5fHxkbigiRXhwcmVzc2lvbl8iK2duLG5yW2duXSk7ZnVuY3Rpb24gdm4odCxlKXtpZihudWxsPT10fHwiYm9vbGVhbiI9PXR5cGVvZiB0fHwibnVtYmVyIj09dHlwZW9mIHR8fCJzdHJpbmciPT10eXBlb2YgdHx8dCBpbnN0YW5jZW9mIEJvb2xlYW58fHQgaW5zdGFuY2VvZiBOdW1iZXJ8fHQgaW5zdGFuY2VvZiBTdHJpbmd8fHQgaW5zdGFuY2VvZiBEYXRlfHx0IGluc3RhbmNlb2YgUmVnRXhwKXJldHVybiB0O2lmKHQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gZSYmZS5wdXNoKHQpLHQ7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KHQpKXt2YXIgcj10O3JldHVybiBlJiZlLnB1c2goci5idWZmZXIpLHJ9aWYodCBpbnN0YW5jZW9mIGZuKXJldHVybiBlJiZlLnB1c2godC5kYXRhLmJ1ZmZlciksdDtpZihBcnJheS5pc0FycmF5KHQpKXtmb3IodmFyIG49W10sYT0wLGk9dDthPGkubGVuZ3RoO2ErPTEpe3ZhciBvPWlbYV07bi5wdXNoKHZuKG8sZSkpfXJldHVybiBufWlmKCJvYmplY3QiPT10eXBlb2YgdCl7dmFyIHM9dC5jb25zdHJ1Y3RvcixsPXMuX2NsYXNzUmVnaXN0cnlLZXk7aWYoIWwpdGhyb3cgbmV3IEVycm9yKCJjYW4ndCBzZXJpYWxpemUgb2JqZWN0IG9mIHVucmVnaXN0ZXJlZCBjbGFzcyIpO3ZhciBjPXMuc2VyaWFsaXplP3Muc2VyaWFsaXplKHQsZSk6e307aWYoIXMuc2VyaWFsaXplKXtmb3IodmFyIHUgaW4gdClpZih0Lmhhc093blByb3BlcnR5KHUpJiYhKHBuW2xdLm9taXQuaW5kZXhPZih1KT49MCkpe3ZhciBoPXRbdV07Y1t1XT1wbltsXS5zaGFsbG93LmluZGV4T2YodSk+PTA/aDp2bihoLGUpfXQgaW5zdGFuY2VvZiBFcnJvciYmKGMubWVzc2FnZT10Lm1lc3NhZ2UpfWlmKGMuJG5hbWUpdGhyb3cgbmV3IEVycm9yKCIkbmFtZSBwcm9wZXJ0eSBpcyByZXNlcnZlZCBmb3Igd29ya2VyIHNlcmlhbGl6YXRpb24gbG9naWMuIik7cmV0dXJuIk9iamVjdCIhPT1sJiYoYy4kbmFtZT1sKSxjfXRocm93IG5ldyBFcnJvcigiY2FuJ3Qgc2VyaWFsaXplIG9iamVjdCBvZiB0eXBlICIrdHlwZW9mIHQpfWZ1bmN0aW9uIG1uKHQpe2lmKG51bGw9PXR8fCJib29sZWFuIj09dHlwZW9mIHR8fCJudW1iZXIiPT10eXBlb2YgdHx8InN0cmluZyI9PXR5cGVvZiB0fHx0IGluc3RhbmNlb2YgQm9vbGVhbnx8dCBpbnN0YW5jZW9mIE51bWJlcnx8dCBpbnN0YW5jZW9mIFN0cmluZ3x8dCBpbnN0YW5jZW9mIERhdGV8fHQgaW5zdGFuY2VvZiBSZWdFeHB8fHQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcnx8QXJyYXlCdWZmZXIuaXNWaWV3KHQpfHx0IGluc3RhbmNlb2YgZm4pcmV0dXJuIHQ7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdC5tYXAobW4pO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7dmFyIGU9dC4kbmFtZXx8Ik9iamVjdCIscj1wbltlXS5rbGFzcztpZighcil0aHJvdyBuZXcgRXJyb3IoImNhbid0IGRlc2VyaWFsaXplIHVucmVnaXN0ZXJlZCBjbGFzcyAiK2UpO2lmKHIuZGVzZXJpYWxpemUpcmV0dXJuIHIuZGVzZXJpYWxpemUodCk7Zm9yKHZhciBuPU9iamVjdC5jcmVhdGUoci5wcm90b3R5cGUpLGE9MCxpPU9iamVjdC5rZXlzKHQpO2E8aS5sZW5ndGg7YSs9MSl7dmFyIG89aVthXTtpZigiJG5hbWUiIT09byl7dmFyIHM9dFtvXTtuW29dPXBuW2VdLnNoYWxsb3cuaW5kZXhPZihvKT49MD9zOm1uKHMpfX1yZXR1cm4gbn10aHJvdyBuZXcgRXJyb3IoImNhbid0IGRlc2VyaWFsaXplIG9iamVjdCBvZiB0eXBlICIrdHlwZW9mIHQpfXZhciB5bj1mdW5jdGlvbigpe3RoaXMuZmlyc3Q9ITB9O3luLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlKXt2YXIgcj1NYXRoLmZsb29yKHQpO3JldHVybiB0aGlzLmZpcnN0Pyh0aGlzLmZpcnN0PSExLHRoaXMubGFzdEludGVnZXJab29tPXIsdGhpcy5sYXN0SW50ZWdlclpvb21UaW1lPTAsdGhpcy5sYXN0Wm9vbT10LHRoaXMubGFzdEZsb29yWm9vbT1yLCEwKToodGhpcy5sYXN0Rmxvb3Jab29tPnI/KHRoaXMubGFzdEludGVnZXJab29tPXIrMSx0aGlzLmxhc3RJbnRlZ2VyWm9vbVRpbWU9ZSk6dGhpcy5sYXN0Rmxvb3Jab29tPHImJih0aGlzLmxhc3RJbnRlZ2VyWm9vbT1yLHRoaXMubGFzdEludGVnZXJab29tVGltZT1lKSx0IT09dGhpcy5sYXN0Wm9vbSYmKHRoaXMubGFzdFpvb209dCx0aGlzLmxhc3RGbG9vclpvb209ciwhMCkpfTt2YXIgeG49eyJMYXRpbi0xIFN1cHBsZW1lbnQiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xMjgmJnQ8PTI1NX0sQXJhYmljOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xNTM2JiZ0PD0xNzkxfSwiQXJhYmljIFN1cHBsZW1lbnQiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xODcyJiZ0PD0xOTE5fSwiQXJhYmljIEV4dGVuZGVkLUEiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0yMjA4JiZ0PD0yMzAzfSwiSGFuZ3VsIEphbW8iOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj00MzUyJiZ0PD00NjA3fSwiVW5pZmllZCBDYW5hZGlhbiBBYm9yaWdpbmFsIFN5bGxhYmljcyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTUxMjAmJnQ8PTU3NTl9LEtobWVyOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj02MDE2JiZ0PD02MTQzfSwiVW5pZmllZCBDYW5hZGlhbiBBYm9yaWdpbmFsIFN5bGxhYmljcyBFeHRlbmRlZCI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTYzMjAmJnQ8PTYzOTl9LCJHZW5lcmFsIFB1bmN0dWF0aW9uIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49ODE5MiYmdDw9ODMwM30sIkxldHRlcmxpa2UgU3ltYm9scyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTg0NDgmJnQ8PTg1Mjd9LCJOdW1iZXIgRm9ybXMiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj04NTI4JiZ0PD04NTkxfSwiTWlzY2VsbGFuZW91cyBUZWNobmljYWwiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj04OTYwJiZ0PD05MjE1fSwiQ29udHJvbCBQaWN0dXJlcyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTkyMTYmJnQ8PTkyNzl9LCJPcHRpY2FsIENoYXJhY3RlciBSZWNvZ25pdGlvbiI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTkyODAmJnQ8PTkzMTF9LCJFbmNsb3NlZCBBbHBoYW51bWVyaWNzIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49OTMxMiYmdDw9OTQ3MX0sIkdlb21ldHJpYyBTaGFwZXMiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj05NjMyJiZ0PD05NzI3fSwiTWlzY2VsbGFuZW91cyBTeW1ib2xzIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49OTcyOCYmdDw9OTk4M30sIk1pc2NlbGxhbmVvdXMgU3ltYm9scyBhbmQgQXJyb3dzIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49MTEwMDgmJnQ8PTExMjYzfSwiQ0pLIFJhZGljYWxzIFN1cHBsZW1lbnQiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xMTkwNCYmdDw9MTIwMzF9LCJLYW5neGkgUmFkaWNhbHMiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xMjAzMiYmdDw9MTIyNTV9LCJJZGVvZ3JhcGhpYyBEZXNjcmlwdGlvbiBDaGFyYWN0ZXJzIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49MTIyNzImJnQ8PTEyMjg3fSwiQ0pLIFN5bWJvbHMgYW5kIFB1bmN0dWF0aW9uIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49MTIyODgmJnQ8PTEyMzUxfSxIaXJhZ2FuYTpmdW5jdGlvbih0KXtyZXR1cm4gdD49MTIzNTImJnQ8PTEyNDQ3fSxLYXRha2FuYTpmdW5jdGlvbih0KXtyZXR1cm4gdD49MTI0NDgmJnQ8PTEyNTQzfSxCb3BvbW9mbzpmdW5jdGlvbih0KXtyZXR1cm4gdD49MTI1NDQmJnQ8PTEyNTkxfSwiSGFuZ3VsIENvbXBhdGliaWxpdHkgSmFtbyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTEyNTkyJiZ0PD0xMjY4N30sS2FuYnVuOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xMjY4OCYmdDw9MTI3MDN9LCJCb3BvbW9mbyBFeHRlbmRlZCI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTEyNzA0JiZ0PD0xMjczNX0sIkNKSyBTdHJva2VzIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49MTI3MzYmJnQ8PTEyNzgzfSwiS2F0YWthbmEgUGhvbmV0aWMgRXh0ZW5zaW9ucyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTEyNzg0JiZ0PD0xMjc5OX0sIkVuY2xvc2VkIENKSyBMZXR0ZXJzIGFuZCBNb250aHMiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xMjgwMCYmdDw9MTMwNTV9LCJDSksgQ29tcGF0aWJpbGl0eSI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTEzMDU2JiZ0PD0xMzMxMX0sIkNKSyBVbmlmaWVkIElkZW9ncmFwaHMgRXh0ZW5zaW9uIEEiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xMzMxMiYmdDw9MTk5MDN9LCJZaWppbmcgSGV4YWdyYW0gU3ltYm9scyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTE5OTA0JiZ0PD0xOTk2N30sIkNKSyBVbmlmaWVkIElkZW9ncmFwaHMiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xOTk2OCYmdDw9NDA5NTl9LCJZaSBTeWxsYWJsZXMiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj00MDk2MCYmdDw9NDIxMjd9LCJZaSBSYWRpY2FscyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTQyMTI4JiZ0PD00MjE5MX0sIkhhbmd1bCBKYW1vIEV4dGVuZGVkLUEiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj00MzM2MCYmdDw9NDMzOTF9LCJIYW5ndWwgU3lsbGFibGVzIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49NDQwMzImJnQ8PTU1MjE1fSwiSGFuZ3VsIEphbW8gRXh0ZW5kZWQtQiI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTU1MjE2JiZ0PD01NTI5NX0sIlByaXZhdGUgVXNlIEFyZWEiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj01NzM0NCYmdDw9NjM3NDN9LCJDSksgQ29tcGF0aWJpbGl0eSBJZGVvZ3JhcGhzIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49NjM3NDQmJnQ8PTY0MjU1fSwiQXJhYmljIFByZXNlbnRhdGlvbiBGb3Jtcy1BIjpmdW5jdGlvbih0KXtyZXR1cm4gdD49NjQzMzYmJnQ8PTY1MDIzfSwiVmVydGljYWwgRm9ybXMiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj02NTA0MCYmdDw9NjUwNTV9LCJDSksgQ29tcGF0aWJpbGl0eSBGb3JtcyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTY1MDcyJiZ0PD02NTEwM30sIlNtYWxsIEZvcm0gVmFyaWFudHMiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj02NTEwNCYmdDw9NjUxMzV9LCJBcmFiaWMgUHJlc2VudGF0aW9uIEZvcm1zLUIiOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj02NTEzNiYmdDw9NjUyNzl9LCJIYWxmd2lkdGggYW5kIEZ1bGx3aWR0aCBGb3JtcyI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTY1MjgwJiZ0PD02NTUxOX19O2Z1bmN0aW9uIGJuKHQpe2Zvcih2YXIgZT0wLHI9dDtlPHIubGVuZ3RoO2UrPTEpaWYod24ocltlXS5jaGFyQ29kZUF0KDApKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBfbih0KXtyZXR1cm4hKHhuLkFyYWJpYyh0KXx8eG5bIkFyYWJpYyBTdXBwbGVtZW50Il0odCl8fHhuWyJBcmFiaWMgRXh0ZW5kZWQtQSJdKHQpfHx4blsiQXJhYmljIFByZXNlbnRhdGlvbiBGb3Jtcy1BIl0odCl8fHhuWyJBcmFiaWMgUHJlc2VudGF0aW9uIEZvcm1zLUIiXSh0KSl9ZnVuY3Rpb24gd24odCl7cmV0dXJuISEoNzQ2PT09dHx8NzQ3PT09dHx8ISh0PDQzNTIpJiYoeG5bIkJvcG9tb2ZvIEV4dGVuZGVkIl0odCl8fHhuLkJvcG9tb2ZvKHQpfHx4blsiQ0pLIENvbXBhdGliaWxpdHkgRm9ybXMiXSh0KSYmISh0Pj02NTA5NyYmdDw9NjUxMDMpfHx4blsiQ0pLIENvbXBhdGliaWxpdHkgSWRlb2dyYXBocyJdKHQpfHx4blsiQ0pLIENvbXBhdGliaWxpdHkiXSh0KXx8eG5bIkNKSyBSYWRpY2FscyBTdXBwbGVtZW50Il0odCl8fHhuWyJDSksgU3Ryb2tlcyJdKHQpfHwhKCF4blsiQ0pLIFN5bWJvbHMgYW5kIFB1bmN0dWF0aW9uIl0odCl8fHQ+PTEyMjk2JiZ0PD0xMjMwNXx8dD49MTIzMDgmJnQ8PTEyMzE5fHwxMjMzNj09PXQpfHx4blsiQ0pLIFVuaWZpZWQgSWRlb2dyYXBocyBFeHRlbnNpb24gQSJdKHQpfHx4blsiQ0pLIFVuaWZpZWQgSWRlb2dyYXBocyJdKHQpfHx4blsiRW5jbG9zZWQgQ0pLIExldHRlcnMgYW5kIE1vbnRocyJdKHQpfHx4blsiSGFuZ3VsIENvbXBhdGliaWxpdHkgSmFtbyJdKHQpfHx4blsiSGFuZ3VsIEphbW8gRXh0ZW5kZWQtQSJdKHQpfHx4blsiSGFuZ3VsIEphbW8gRXh0ZW5kZWQtQiJdKHQpfHx4blsiSGFuZ3VsIEphbW8iXSh0KXx8eG5bIkhhbmd1bCBTeWxsYWJsZXMiXSh0KXx8eG4uSGlyYWdhbmEodCl8fHhuWyJJZGVvZ3JhcGhpYyBEZXNjcmlwdGlvbiBDaGFyYWN0ZXJzIl0odCl8fHhuLkthbmJ1bih0KXx8eG5bIkthbmd4aSBSYWRpY2FscyJdKHQpfHx4blsiS2F0YWthbmEgUGhvbmV0aWMgRXh0ZW5zaW9ucyJdKHQpfHx4bi5LYXRha2FuYSh0KSYmMTI1NDAhPT10fHwhKCF4blsiSGFsZndpZHRoIGFuZCBGdWxsd2lkdGggRm9ybXMiXSh0KXx8NjUyODg9PT10fHw2NTI4OT09PXR8fDY1MjkzPT09dHx8dD49NjUzMDYmJnQ8PTY1MzEwfHw2NTMzOT09PXR8fDY1MzQxPT09dHx8NjUzNDM9PT10fHx0Pj02NTM3MSYmdDw9NjU1MDN8fDY1NTA3PT09dHx8dD49NjU1MTImJnQ8PTY1NTE5KXx8ISgheG5bIlNtYWxsIEZvcm0gVmFyaWFudHMiXSh0KXx8dD49NjUxMTImJnQ8PTY1MTE4fHx0Pj02NTEyMyYmdDw9NjUxMjYpfHx4blsiVW5pZmllZCBDYW5hZGlhbiBBYm9yaWdpbmFsIFN5bGxhYmljcyJdKHQpfHx4blsiVW5pZmllZCBDYW5hZGlhbiBBYm9yaWdpbmFsIFN5bGxhYmljcyBFeHRlbmRlZCJdKHQpfHx4blsiVmVydGljYWwgRm9ybXMiXSh0KXx8eG5bIllpamluZyBIZXhhZ3JhbSBTeW1ib2xzIl0odCl8fHhuWyJZaSBTeWxsYWJsZXMiXSh0KXx8eG5bIllpIFJhZGljYWxzIl0odCkpKX1mdW5jdGlvbiBrbih0KXtyZXR1cm4hKHduKHQpfHxmdW5jdGlvbih0KXtyZXR1cm4hISh4blsiTGF0aW4tMSBTdXBwbGVtZW50Il0odCkmJigxNjc9PT10fHwxNjk9PT10fHwxNzQ9PT10fHwxNzc9PT10fHwxODg9PT10fHwxODk9PT10fHwxOTA9PT10fHwyMTU9PT10fHwyNDc9PT10KXx8eG5bIkdlbmVyYWwgUHVuY3R1YXRpb24iXSh0KSYmKDgyMTQ9PT10fHw4MjI0PT09dHx8ODIyNT09PXR8fDgyNDA9PT10fHw4MjQxPT09dHx8ODI1MT09PXR8fDgyNTI9PT10fHw4MjU4PT09dHx8ODI2Mz09PXR8fDgyNjQ9PT10fHw4MjY1PT09dHx8ODI3Mz09PXQpfHx4blsiTGV0dGVybGlrZSBTeW1ib2xzIl0odCl8fHhuWyJOdW1iZXIgRm9ybXMiXSh0KXx8eG5bIk1pc2NlbGxhbmVvdXMgVGVjaG5pY2FsIl0odCkmJih0Pj04OTYwJiZ0PD04OTY3fHx0Pj04OTcyJiZ0PD04OTkxfHx0Pj04OTk2JiZ0PD05ZTN8fDkwMDM9PT10fHx0Pj05MDg1JiZ0PD05MTE0fHx0Pj05MTUwJiZ0PD05MTY1fHw5MTY3PT09dHx8dD49OTE2OSYmdDw9OTE3OXx8dD49OTE4NiYmdDw9OTIxNSl8fHhuWyJDb250cm9sIFBpY3R1cmVzIl0odCkmJjkyNTEhPT10fHx4blsiT3B0aWNhbCBDaGFyYWN0ZXIgUmVjb2duaXRpb24iXSh0KXx8eG5bIkVuY2xvc2VkIEFscGhhbnVtZXJpY3MiXSh0KXx8eG5bIkdlb21ldHJpYyBTaGFwZXMiXSh0KXx8eG5bIk1pc2NlbGxhbmVvdXMgU3ltYm9scyJdKHQpJiYhKHQ+PTk3NTQmJnQ8PTk3NTkpfHx4blsiTWlzY2VsbGFuZW91cyBTeW1ib2xzIGFuZCBBcnJvd3MiXSh0KSYmKHQ+PTExMDI2JiZ0PD0xMTA1NXx8dD49MTEwODgmJnQ8PTExMDk3fHx0Pj0xMTE5MiYmdDw9MTEyNDMpfHx4blsiQ0pLIFN5bWJvbHMgYW5kIFB1bmN0dWF0aW9uIl0odCl8fHhuLkthdGFrYW5hKHQpfHx4blsiUHJpdmF0ZSBVc2UgQXJlYSJdKHQpfHx4blsiQ0pLIENvbXBhdGliaWxpdHkgRm9ybXMiXSh0KXx8eG5bIlNtYWxsIEZvcm0gVmFyaWFudHMiXSh0KXx8eG5bIkhhbGZ3aWR0aCBhbmQgRnVsbHdpZHRoIEZvcm1zIl0odCl8fDg3MzQ9PT10fHw4NzU2PT09dHx8ODc1Nz09PXR8fHQ+PTk5ODQmJnQ8PTEwMDg3fHx0Pj0xMDEwMiYmdDw9MTAxMzF8fDY1NTMyPT09dHx8NjU1MzM9PT10KX0odCkpfWZ1bmN0aW9uIFRuKHQsZSl7cmV0dXJuISghZSYmKHQ+PTE0MjQmJnQ8PTIzMDN8fHhuWyJBcmFiaWMgUHJlc2VudGF0aW9uIEZvcm1zLUEiXSh0KXx8eG5bIkFyYWJpYyBQcmVzZW50YXRpb24gRm9ybXMtQiJdKHQpKXx8dD49MjMwNCYmdDw9MzU4M3x8dD49Mzg0MCYmdDw9NDI1NXx8eG4uS2htZXIodCkpfXZhciBNbixBbj0hMSxTbj1udWxsLEVuPSExLExuPW5ldyBrdCxDbj17YXBwbHlBcmFiaWNTaGFwaW5nOm51bGwscHJvY2Vzc0JpZGlyZWN0aW9uYWxUZXh0Om51bGwscHJvY2Vzc1N0eWxlZEJpZGlyZWN0aW9uYWxUZXh0Om51bGwsaXNMb2FkZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gRW58fG51bGwhPUNuLmFwcGx5QXJhYmljU2hhcGluZ319LFBuPWZ1bmN0aW9uKHQsZSl7dGhpcy56b29tPXQsZT8odGhpcy5ub3c9ZS5ub3csdGhpcy5mYWRlRHVyYXRpb249ZS5mYWRlRHVyYXRpb24sdGhpcy56b29tSGlzdG9yeT1lLnpvb21IaXN0b3J5LHRoaXMudHJhbnNpdGlvbj1lLnRyYW5zaXRpb24pOih0aGlzLm5vdz0wLHRoaXMuZmFkZUR1cmF0aW9uPTAsdGhpcy56b29tSGlzdG9yeT1uZXcgeW4sdGhpcy50cmFuc2l0aW9uPXt9KX07UG4ucHJvdG90eXBlLmlzU3VwcG9ydGVkU2NyaXB0PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49dDtyPG4ubGVuZ3RoO3IrPTEpaWYoIVRuKG5bcl0uY2hhckNvZGVBdCgwKSxlKSlyZXR1cm4hMTtyZXR1cm4hMH0odCxDbi5pc0xvYWRlZCgpKX0sUG4ucHJvdG90eXBlLmNyb3NzRmFkaW5nRmFjdG9yPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLmZhZGVEdXJhdGlvbj8xOk1hdGgubWluKCh0aGlzLm5vdy10aGlzLnpvb21IaXN0b3J5Lmxhc3RJbnRlZ2VyWm9vbVRpbWUpL3RoaXMuZmFkZUR1cmF0aW9uLDEpfSxQbi5wcm90b3R5cGUuZ2V0Q3Jvc3NmYWRlUGFyYW1ldGVycz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuem9vbSxlPXQtTWF0aC5mbG9vcih0KSxyPXRoaXMuY3Jvc3NGYWRpbmdGYWN0b3IoKTtyZXR1cm4gdD50aGlzLnpvb21IaXN0b3J5Lmxhc3RJbnRlZ2VyWm9vbT97ZnJvbVNjYWxlOjIsdG9TY2FsZToxLHQ6ZSsoMS1lKSpyfTp7ZnJvbVNjYWxlOi41LHRvU2NhbGU6MSx0OjEtKDEtcikqZX19O3ZhciBPbj1mdW5jdGlvbih0LGUpe3RoaXMucHJvcGVydHk9dCx0aGlzLnZhbHVlPWUsdGhpcy5leHByZXNzaW9uPWZ1bmN0aW9uKHQsZSl7aWYoZHIodCkpcmV0dXJuIG5ldyBTcih0LGUpO2lmKHdyKHQpKXt2YXIgcj1Bcih0LGUpO2lmKCJlcnJvciI9PT1yLnJlc3VsdCl0aHJvdyBuZXcgRXJyb3Ioci52YWx1ZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQua2V5KyI6ICIrdC5tZXNzYWdlfSkuam9pbigiLCAiKSk7cmV0dXJuIHIudmFsdWV9dmFyIG49dDtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQmJiJjb2xvciI9PT1lLnR5cGUmJihuPVd0LnBhcnNlKHQpKSx7a2luZDoiY29uc3RhbnQiLGV2YWx1YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIG59fX0odm9pZCAwPT09ZT90LnNwZWNpZmljYXRpb24uZGVmYXVsdDplLHQuc3BlY2lmaWNhdGlvbil9O09uLnByb3RvdHlwZS5pc0RhdGFEcml2ZW49ZnVuY3Rpb24oKXtyZXR1cm4ic291cmNlIj09PXRoaXMuZXhwcmVzc2lvbi5raW5kfHwiY29tcG9zaXRlIj09PXRoaXMuZXhwcmVzc2lvbi5raW5kfSxPbi5wcm90b3R5cGUucG9zc2libHlFdmFsdWF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5wcm9wZXJ0eS5wb3NzaWJseUV2YWx1YXRlKHRoaXMsdCl9O3ZhciB6bj1mdW5jdGlvbih0KXt0aGlzLnByb3BlcnR5PXQsdGhpcy52YWx1ZT1uZXcgT24odCx2b2lkIDApfTt6bi5wcm90b3R5cGUudHJhbnNpdGlvbmVkPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBEbih0aGlzLnByb3BlcnR5LHRoaXMudmFsdWUsZSxoKHt9LHQudHJhbnNpdGlvbix0aGlzLnRyYW5zaXRpb24pLHQubm93KX0sem4ucHJvdG90eXBlLnVudHJhbnNpdGlvbmVkPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBEbih0aGlzLnByb3BlcnR5LHRoaXMudmFsdWUsbnVsbCx7fSwwKX07dmFyIEluPWZ1bmN0aW9uKHQpe3RoaXMuX3Byb3BlcnRpZXM9dCx0aGlzLl92YWx1ZXM9T2JqZWN0LmNyZWF0ZSh0LmRlZmF1bHRUcmFuc2l0aW9uYWJsZVByb3BlcnR5VmFsdWVzKX07SW4ucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiBiKHRoaXMuX3ZhbHVlc1t0XS52YWx1ZS52YWx1ZSl9LEluLnByb3RvdHlwZS5zZXRWYWx1ZT1mdW5jdGlvbih0LGUpe3RoaXMuX3ZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh0KXx8KHRoaXMuX3ZhbHVlc1t0XT1uZXcgem4odGhpcy5fdmFsdWVzW3RdLnByb3BlcnR5KSksdGhpcy5fdmFsdWVzW3RdLnZhbHVlPW5ldyBPbih0aGlzLl92YWx1ZXNbdF0ucHJvcGVydHksbnVsbD09PWU/dm9pZCAwOmIoZSkpfSxJbi5wcm90b3R5cGUuZ2V0VHJhbnNpdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gYih0aGlzLl92YWx1ZXNbdF0udHJhbnNpdGlvbil9LEluLnByb3RvdHlwZS5zZXRUcmFuc2l0aW9uPWZ1bmN0aW9uKHQsZSl7dGhpcy5fdmFsdWVzLmhhc093blByb3BlcnR5KHQpfHwodGhpcy5fdmFsdWVzW3RdPW5ldyB6bih0aGlzLl92YWx1ZXNbdF0ucHJvcGVydHkpKSx0aGlzLl92YWx1ZXNbdF0udHJhbnNpdGlvbj1iKGUpfHx2b2lkIDB9LEluLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9e30sZT0wLHI9T2JqZWN0LmtleXModGhpcy5fdmFsdWVzKTtlPHIubGVuZ3RoO2UrPTEpe3ZhciBuPXJbZV0sYT10aGlzLmdldFZhbHVlKG4pO3ZvaWQgMCE9PWEmJih0W25dPWEpO3ZhciBpPXRoaXMuZ2V0VHJhbnNpdGlvbihuKTt2b2lkIDAhPT1pJiYodFtuKyItdHJhbnNpdGlvbiJdPWkpfXJldHVybiB0fSxJbi5wcm90b3R5cGUudHJhbnNpdGlvbmVkPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPW5ldyBSbih0aGlzLl9wcm9wZXJ0aWVzKSxuPTAsYT1PYmplY3Qua2V5cyh0aGlzLl92YWx1ZXMpO248YS5sZW5ndGg7bis9MSl7dmFyIGk9YVtuXTtyLl92YWx1ZXNbaV09dGhpcy5fdmFsdWVzW2ldLnRyYW5zaXRpb25lZCh0LGUuX3ZhbHVlc1tpXSl9cmV0dXJuIHJ9LEluLnByb3RvdHlwZS51bnRyYW5zaXRpb25lZD1mdW5jdGlvbigpe2Zvcih2YXIgdD1uZXcgUm4odGhpcy5fcHJvcGVydGllcyksZT0wLHI9T2JqZWN0LmtleXModGhpcy5fdmFsdWVzKTtlPHIubGVuZ3RoO2UrPTEpe3ZhciBuPXJbZV07dC5fdmFsdWVzW25dPXRoaXMuX3ZhbHVlc1tuXS51bnRyYW5zaXRpb25lZCgpfXJldHVybiB0fTt2YXIgRG49ZnVuY3Rpb24odCxlLHIsbixhKXt0aGlzLnByb3BlcnR5PXQsdGhpcy52YWx1ZT1lLHRoaXMuYmVnaW49YStuLmRlbGF5fHwwLHRoaXMuZW5kPXRoaXMuYmVnaW4rbi5kdXJhdGlvbnx8MCx0LnNwZWNpZmljYXRpb24udHJhbnNpdGlvbiYmKG4uZGVsYXl8fG4uZHVyYXRpb24pJiYodGhpcy5wcmlvcj1yKX07RG4ucHJvdG90eXBlLnBvc3NpYmx5RXZhbHVhdGU9ZnVuY3Rpb24odCl7dmFyIGU9dC5ub3d8fDAscj10aGlzLnZhbHVlLnBvc3NpYmx5RXZhbHVhdGUodCksbj10aGlzLnByaW9yO2lmKG4pe2lmKGU+dGhpcy5lbmQpcmV0dXJuIHRoaXMucHJpb3I9bnVsbCxyO2lmKHRoaXMudmFsdWUuaXNEYXRhRHJpdmVuKCkpcmV0dXJuIHRoaXMucHJpb3I9bnVsbCxyO2lmKGU8dGhpcy5iZWdpbilyZXR1cm4gbi5wb3NzaWJseUV2YWx1YXRlKHQpO3ZhciBhPShlLXRoaXMuYmVnaW4pLyh0aGlzLmVuZC10aGlzLmJlZ2luKTtyZXR1cm4gdGhpcy5wcm9wZXJ0eS5pbnRlcnBvbGF0ZShuLnBvc3NpYmx5RXZhbHVhdGUodCkscixmdW5jdGlvbih0KXtpZihhPD0wKXJldHVybiAwO2lmKGE+PTEpcmV0dXJuIDE7dmFyIGU9YSphLHI9ZSphO3JldHVybiA0KihhPC41P3I6MyooYS1lKStyLS43NSl9KCkpfXJldHVybiByfTt2YXIgUm49ZnVuY3Rpb24odCl7dGhpcy5fcHJvcGVydGllcz10LHRoaXMuX3ZhbHVlcz1PYmplY3QuY3JlYXRlKHQuZGVmYXVsdFRyYW5zaXRpb25pbmdQcm9wZXJ0eVZhbHVlcyl9O1JuLnByb3RvdHlwZS5wb3NzaWJseUV2YWx1YXRlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgTm4odGhpcy5fcHJvcGVydGllcykscj0wLG49T2JqZWN0LmtleXModGhpcy5fdmFsdWVzKTtyPG4ubGVuZ3RoO3IrPTEpe3ZhciBhPW5bcl07ZS5fdmFsdWVzW2FdPXRoaXMuX3ZhbHVlc1thXS5wb3NzaWJseUV2YWx1YXRlKHQpfXJldHVybiBlfSxSbi5wcm90b3R5cGUuaGFzVHJhbnNpdGlvbj1mdW5jdGlvbigpe2Zvcih2YXIgdD0wLGU9T2JqZWN0LmtleXModGhpcy5fdmFsdWVzKTt0PGUubGVuZ3RoO3QrPTEpe3ZhciByPWVbdF07aWYodGhpcy5fdmFsdWVzW3JdLnByaW9yKXJldHVybiEwfXJldHVybiExfTt2YXIgRm49ZnVuY3Rpb24odCl7dGhpcy5fcHJvcGVydGllcz10LHRoaXMuX3ZhbHVlcz1PYmplY3QuY3JlYXRlKHQuZGVmYXVsdFByb3BlcnR5VmFsdWVzKX07Rm4ucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiBiKHRoaXMuX3ZhbHVlc1t0XS52YWx1ZSl9LEZuLnByb3RvdHlwZS5zZXRWYWx1ZT1mdW5jdGlvbih0LGUpe3RoaXMuX3ZhbHVlc1t0XT1uZXcgT24odGhpcy5fdmFsdWVzW3RdLnByb3BlcnR5LG51bGw9PT1lP3ZvaWQgMDpiKGUpKX0sRm4ucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe2Zvcih2YXIgdD17fSxlPTAscj1PYmplY3Qua2V5cyh0aGlzLl92YWx1ZXMpO2U8ci5sZW5ndGg7ZSs9MSl7dmFyIG49cltlXSxhPXRoaXMuZ2V0VmFsdWUobik7dm9pZCAwIT09YSYmKHRbbl09YSl9cmV0dXJuIHR9LEZuLnByb3RvdHlwZS5wb3NzaWJseUV2YWx1YXRlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgTm4odGhpcy5fcHJvcGVydGllcykscj0wLG49T2JqZWN0LmtleXModGhpcy5fdmFsdWVzKTtyPG4ubGVuZ3RoO3IrPTEpe3ZhciBhPW5bcl07ZS5fdmFsdWVzW2FdPXRoaXMuX3ZhbHVlc1thXS5wb3NzaWJseUV2YWx1YXRlKHQpfXJldHVybiBlfTt2YXIgQm49ZnVuY3Rpb24odCxlLHIpe3RoaXMucHJvcGVydHk9dCx0aGlzLnZhbHVlPWUsdGhpcy5wYXJhbWV0ZXJzPXJ9O0JuLnByb3RvdHlwZS5pc0NvbnN0YW50PWZ1bmN0aW9uKCl7cmV0dXJuImNvbnN0YW50Ij09PXRoaXMudmFsdWUua2luZH0sQm4ucHJvdG90eXBlLmNvbnN0YW50T3I9ZnVuY3Rpb24odCl7cmV0dXJuImNvbnN0YW50Ij09PXRoaXMudmFsdWUua2luZD90aGlzLnZhbHVlLnZhbHVlOnR9LEJuLnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnByb3BlcnR5LmV2YWx1YXRlKHRoaXMudmFsdWUsdGhpcy5wYXJhbWV0ZXJzLHQsZSl9O3ZhciBObj1mdW5jdGlvbih0KXt0aGlzLl9wcm9wZXJ0aWVzPXQsdGhpcy5fdmFsdWVzPU9iamVjdC5jcmVhdGUodC5kZWZhdWx0UG9zc2libHlFdmFsdWF0ZWRWYWx1ZXMpfTtObi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl92YWx1ZXNbdF19O3ZhciBqbj1mdW5jdGlvbih0KXt0aGlzLnNwZWNpZmljYXRpb249dH07am4ucHJvdG90eXBlLnBvc3NpYmx5RXZhbHVhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5leHByZXNzaW9uLmV2YWx1YXRlKGUpfSxqbi5wcm90b3R5cGUuaW50ZXJwb2xhdGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXhlW3RoaXMuc3BlY2lmaWNhdGlvbi50eXBlXTtyZXR1cm4gbj9uKHQsZSxyKTp0fTt2YXIgVm49ZnVuY3Rpb24odCxlKXt0aGlzLnNwZWNpZmljYXRpb249dCx0aGlzLm92ZXJyaWRlcz1lfTtWbi5wcm90b3R5cGUucG9zc2libHlFdmFsdWF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiJjb25zdGFudCI9PT10LmV4cHJlc3Npb24ua2luZHx8ImNhbWVyYSI9PT10LmV4cHJlc3Npb24ua2luZD9uZXcgQm4odGhpcyx7a2luZDoiY29uc3RhbnQiLHZhbHVlOnQuZXhwcmVzc2lvbi5ldmFsdWF0ZShlKX0sZSk6bmV3IEJuKHRoaXMsdC5leHByZXNzaW9uLGUpfSxWbi5wcm90b3R5cGUuaW50ZXJwb2xhdGU9ZnVuY3Rpb24odCxlLHIpe2lmKCJjb25zdGFudCIhPT10LnZhbHVlLmtpbmR8fCJjb25zdGFudCIhPT1lLnZhbHVlLmtpbmQpcmV0dXJuIHQ7aWYodm9pZCAwPT09dC52YWx1ZS52YWx1ZXx8dm9pZCAwPT09ZS52YWx1ZS52YWx1ZSlyZXR1cm4gbmV3IEJuKHRoaXMse2tpbmQ6ImNvbnN0YW50Iix2YWx1ZTp2b2lkIDB9LHQucGFyYW1ldGVycyk7dmFyIG49eGVbdGhpcy5zcGVjaWZpY2F0aW9uLnR5cGVdO3JldHVybiBuP25ldyBCbih0aGlzLHtraW5kOiJjb25zdGFudCIsdmFsdWU6bih0LnZhbHVlLnZhbHVlLGUudmFsdWUudmFsdWUscil9LHQucGFyYW1ldGVycyk6dH0sVm4ucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiJjb25zdGFudCI9PT10LmtpbmQ/dC52YWx1ZTp0LmV2YWx1YXRlKGUscixuKX07dmFyIFVuPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUucG9zc2libHlFdmFsdWF0ZT1mdW5jdGlvbih0LGUpe2lmKHZvaWQgMD09PXQudmFsdWUpcmV0dXJuIG5ldyBCbih0aGlzLHtraW5kOiJjb25zdGFudCIsdmFsdWU6dm9pZCAwfSxlKTtpZigiY29uc3RhbnQiPT09dC5leHByZXNzaW9uLmtpbmQpe3ZhciByPXQuZXhwcmVzc2lvbi5ldmFsdWF0ZShlKSxuPXRoaXMuX2NhbGN1bGF0ZShyLHIscixlKTtyZXR1cm4gbmV3IEJuKHRoaXMse2tpbmQ6ImNvbnN0YW50Iix2YWx1ZTpufSxlKX1pZigiY2FtZXJhIj09PXQuZXhwcmVzc2lvbi5raW5kKXt2YXIgYT10aGlzLl9jYWxjdWxhdGUodC5leHByZXNzaW9uLmV2YWx1YXRlKHt6b29tOmUuem9vbS0xfSksdC5leHByZXNzaW9uLmV2YWx1YXRlKHt6b29tOmUuem9vbX0pLHQuZXhwcmVzc2lvbi5ldmFsdWF0ZSh7em9vbTplLnpvb20rMX0pLGUpO3JldHVybiBuZXcgQm4odGhpcyx7a2luZDoiY29uc3RhbnQiLHZhbHVlOmF9LGUpfXJldHVybiBuZXcgQm4odGhpcyx0LmV4cHJlc3Npb24sZSl9LGUucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQsZSxyLG4pe2lmKCJzb3VyY2UiPT09dC5raW5kKXt2YXIgYT10LmV2YWx1YXRlKGUscixuKTtyZXR1cm4gdGhpcy5fY2FsY3VsYXRlKGEsYSxhLGUpfXJldHVybiJjb21wb3NpdGUiPT09dC5raW5kP3RoaXMuX2NhbGN1bGF0ZSh0LmV2YWx1YXRlKHt6b29tOk1hdGguZmxvb3IoZS56b29tKS0xfSxyLG4pLHQuZXZhbHVhdGUoe3pvb206TWF0aC5mbG9vcihlLnpvb20pfSxyLG4pLHQuZXZhbHVhdGUoe3pvb206TWF0aC5mbG9vcihlLnpvb20pKzF9LHIsbiksZSk6dC52YWx1ZX0sZS5wcm90b3R5cGUuX2NhbGN1bGF0ZT1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gbi56b29tPm4uem9vbUhpc3RvcnkubGFzdEludGVnZXJab29tP3tmcm9tOnQsdG86ZX06e2Zyb206cix0bzplfX0sZS5wcm90b3R5cGUuaW50ZXJwb2xhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHR9LGV9KFZuKSxxbj1mdW5jdGlvbih0KXt0aGlzLnNwZWNpZmljYXRpb249dH07cW4ucHJvdG90eXBlLnBvc3NpYmx5RXZhbHVhdGU9ZnVuY3Rpb24odCxlKXtpZih2b2lkIDAhPT10LnZhbHVlKXtpZigiY29uc3RhbnQiPT09dC5leHByZXNzaW9uLmtpbmQpe3ZhciByPXQuZXhwcmVzc2lvbi5ldmFsdWF0ZShlKTtyZXR1cm4gdGhpcy5fY2FsY3VsYXRlKHIscixyLGUpfXJldHVybiB0aGlzLl9jYWxjdWxhdGUodC5leHByZXNzaW9uLmV2YWx1YXRlKG5ldyBQbihNYXRoLmZsb29yKGUuem9vbS0xKSxlKSksdC5leHByZXNzaW9uLmV2YWx1YXRlKG5ldyBQbihNYXRoLmZsb29yKGUuem9vbSksZSkpLHQuZXhwcmVzc2lvbi5ldmFsdWF0ZShuZXcgUG4oTWF0aC5mbG9vcihlLnpvb20rMSksZSkpLGUpfX0scW4ucHJvdG90eXBlLl9jYWxjdWxhdGU9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIG4uem9vbT5uLnpvb21IaXN0b3J5Lmxhc3RJbnRlZ2VyWm9vbT97ZnJvbTp0LHRvOmV9Ontmcm9tOnIsdG86ZX19LHFuLnByb3RvdHlwZS5pbnRlcnBvbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdH07dmFyIEhuPWZ1bmN0aW9uKHQpe3RoaXMuc3BlY2lmaWNhdGlvbj10fTtIbi5wcm90b3R5cGUucG9zc2libHlFdmFsdWF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiEhdC5leHByZXNzaW9uLmV2YWx1YXRlKGUpfSxIbi5wcm90b3R5cGUuaW50ZXJwb2xhdGU9ZnVuY3Rpb24oKXtyZXR1cm4hMX07dmFyIEduPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0aGlzLnByb3BlcnRpZXM9dCx0aGlzLmRlZmF1bHRQcm9wZXJ0eVZhbHVlcz17fSx0aGlzLmRlZmF1bHRUcmFuc2l0aW9uYWJsZVByb3BlcnR5VmFsdWVzPXt9LHRoaXMuZGVmYXVsdFRyYW5zaXRpb25pbmdQcm9wZXJ0eVZhbHVlcz17fSx0aGlzLmRlZmF1bHRQb3NzaWJseUV2YWx1YXRlZFZhbHVlcz17fSx0aGlzLm92ZXJyaWRhYmxlUHJvcGVydGllcz1bXSx0KXt2YXIgcj10W2VdO3Iuc3BlY2lmaWNhdGlvbi5vdmVycmlkYWJsZSYmdGhpcy5vdmVycmlkYWJsZVByb3BlcnRpZXMucHVzaChlKTt2YXIgbj10aGlzLmRlZmF1bHRQcm9wZXJ0eVZhbHVlc1tlXT1uZXcgT24ocix2b2lkIDApLGE9dGhpcy5kZWZhdWx0VHJhbnNpdGlvbmFibGVQcm9wZXJ0eVZhbHVlc1tlXT1uZXcgem4ocik7dGhpcy5kZWZhdWx0VHJhbnNpdGlvbmluZ1Byb3BlcnR5VmFsdWVzW2VdPWEudW50cmFuc2l0aW9uZWQoKSx0aGlzLmRlZmF1bHRQb3NzaWJseUV2YWx1YXRlZFZhbHVlc1tlXT1uLnBvc3NpYmx5RXZhbHVhdGUoe30pfX07ZG4oIkRhdGFEcml2ZW5Qcm9wZXJ0eSIsVm4pLGRuKCJEYXRhQ29uc3RhbnRQcm9wZXJ0eSIsam4pLGRuKCJDcm9zc0ZhZGVkRGF0YURyaXZlblByb3BlcnR5IixVbiksZG4oIkNyb3NzRmFkZWRQcm9wZXJ0eSIscW4pLGRuKCJDb2xvclJhbXBQcm9wZXJ0eSIsSG4pO3ZhciBZbj1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUscil7aWYodC5jYWxsKHRoaXMpLHRoaXMuaWQ9ZS5pZCx0aGlzLnR5cGU9ZS50eXBlLHRoaXMuX2ZlYXR1cmVGaWx0ZXI9ZnVuY3Rpb24oKXtyZXR1cm4hMH0sImN1c3RvbSIhPT1lLnR5cGUmJihlPWUsdGhpcy5tZXRhZGF0YT1lLm1ldGFkYXRhLHRoaXMubWluem9vbT1lLm1pbnpvb20sdGhpcy5tYXh6b29tPWUubWF4em9vbSwiYmFja2dyb3VuZCIhPT1lLnR5cGUmJih0aGlzLnNvdXJjZT1lLnNvdXJjZSx0aGlzLnNvdXJjZUxheWVyPWVbInNvdXJjZS1sYXllciJdLHRoaXMuZmlsdGVyPWUuZmlsdGVyKSxyLmxheW91dCYmKHRoaXMuX3VuZXZhbHVhdGVkTGF5b3V0PW5ldyBGbihyLmxheW91dCkpLHIucGFpbnQpKXtmb3IodmFyIG4gaW4gdGhpcy5fdHJhbnNpdGlvbmFibGVQYWludD1uZXcgSW4oci5wYWludCksZS5wYWludCl0aGlzLnNldFBhaW50UHJvcGVydHkobixlLnBhaW50W25dLHt2YWxpZGF0ZTohMX0pO2Zvcih2YXIgYSBpbiBlLmxheW91dCl0aGlzLnNldExheW91dFByb3BlcnR5KGEsZS5sYXlvdXRbYV0se3ZhbGlkYXRlOiExfSk7dGhpcy5fdHJhbnNpdGlvbmluZ1BhaW50PXRoaXMuX3RyYW5zaXRpb25hYmxlUGFpbnQudW50cmFuc2l0aW9uZWQoKX19cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldENyb3NzZmFkZVBhcmFtZXRlcnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY3Jvc3NmYWRlUGFyYW1ldGVyc30sZS5wcm90b3R5cGUuZ2V0TGF5b3V0UHJvcGVydHk9ZnVuY3Rpb24odCl7cmV0dXJuInZpc2liaWxpdHkiPT09dD90aGlzLnZpc2liaWxpdHk6dGhpcy5fdW5ldmFsdWF0ZWRMYXlvdXQuZ2V0VmFsdWUodCl9LGUucHJvdG90eXBlLnNldExheW91dFByb3BlcnR5PWZ1bmN0aW9uKHQsZSxyKXtpZih2b2lkIDA9PT1yJiYocj17fSksbnVsbCE9ZSl7dmFyIG49ImxheWVycy4iK3RoaXMuaWQrIi5sYXlvdXQuIit0O2lmKHRoaXMuX3ZhbGlkYXRlKHNuLG4sdCxlLHIpKXJldHVybn0idmlzaWJpbGl0eSIhPT10P3RoaXMuX3VuZXZhbHVhdGVkTGF5b3V0LnNldFZhbHVlKHQsZSk6dGhpcy52aXNpYmlsaXR5PWV9LGUucHJvdG90eXBlLmdldFBhaW50UHJvcGVydHk9ZnVuY3Rpb24odCl7cmV0dXJuIG0odCwiLXRyYW5zaXRpb24iKT90aGlzLl90cmFuc2l0aW9uYWJsZVBhaW50LmdldFRyYW5zaXRpb24odC5zbGljZSgwLC0iLXRyYW5zaXRpb24iLmxlbmd0aCkpOnRoaXMuX3RyYW5zaXRpb25hYmxlUGFpbnQuZ2V0VmFsdWUodCl9LGUucHJvdG90eXBlLnNldFBhaW50UHJvcGVydHk9ZnVuY3Rpb24odCxlLHIpe2lmKHZvaWQgMD09PXImJihyPXt9KSxudWxsIT1lKXt2YXIgbj0ibGF5ZXJzLiIrdGhpcy5pZCsiLnBhaW50LiIrdDtpZih0aGlzLl92YWxpZGF0ZShvbixuLHQsZSxyKSlyZXR1cm4hMX1pZihtKHQsIi10cmFuc2l0aW9uIikpcmV0dXJuIHRoaXMuX3RyYW5zaXRpb25hYmxlUGFpbnQuc2V0VHJhbnNpdGlvbih0LnNsaWNlKDAsLSItdHJhbnNpdGlvbiIubGVuZ3RoKSxlfHx2b2lkIDApLCExO3ZhciBhPXRoaXMuX3RyYW5zaXRpb25hYmxlUGFpbnQuX3ZhbHVlc1t0XSxpPSJjcm9zcy1mYWRlZC1kYXRhLWRyaXZlbiI9PT1hLnByb3BlcnR5LnNwZWNpZmljYXRpb25bInByb3BlcnR5LXR5cGUiXSxvPWEudmFsdWUuaXNEYXRhRHJpdmVuKCkscz1hLnZhbHVlO3RoaXMuX3RyYW5zaXRpb25hYmxlUGFpbnQuc2V0VmFsdWUodCxlKSx0aGlzLl9oYW5kbGVTcGVjaWFsUGFpbnRQcm9wZXJ0eVVwZGF0ZSh0KTt2YXIgbD10aGlzLl90cmFuc2l0aW9uYWJsZVBhaW50Ll92YWx1ZXNbdF0udmFsdWU7cmV0dXJuIGwuaXNEYXRhRHJpdmVuKCl8fG98fGl8fHRoaXMuX2hhbmRsZU92ZXJyaWRhYmxlUGFpbnRQcm9wZXJ0eVVwZGF0ZSh0LHMsbCl9LGUucHJvdG90eXBlLl9oYW5kbGVTcGVjaWFsUGFpbnRQcm9wZXJ0eVVwZGF0ZT1mdW5jdGlvbih0KXt9LGUucHJvdG90eXBlLl9oYW5kbGVPdmVycmlkYWJsZVBhaW50UHJvcGVydHlVcGRhdGU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiExfSxlLnByb3RvdHlwZS5pc0hpZGRlbj1mdW5jdGlvbih0KXtyZXR1cm4hISh0aGlzLm1pbnpvb20mJnQ8dGhpcy5taW56b29tKXx8ISEodGhpcy5tYXh6b29tJiZ0Pj10aGlzLm1heHpvb20pfHwibm9uZSI9PT10aGlzLnZpc2liaWxpdHl9LGUucHJvdG90eXBlLnVwZGF0ZVRyYW5zaXRpb25zPWZ1bmN0aW9uKHQpe3RoaXMuX3RyYW5zaXRpb25pbmdQYWludD10aGlzLl90cmFuc2l0aW9uYWJsZVBhaW50LnRyYW5zaXRpb25lZCh0LHRoaXMuX3RyYW5zaXRpb25pbmdQYWludCl9LGUucHJvdG90eXBlLmhhc1RyYW5zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdHJhbnNpdGlvbmluZ1BhaW50Lmhhc1RyYW5zaXRpb24oKX0sZS5wcm90b3R5cGUucmVjYWxjdWxhdGU9ZnVuY3Rpb24odCl7dC5nZXRDcm9zc2ZhZGVQYXJhbWV0ZXJzJiYodGhpcy5fY3Jvc3NmYWRlUGFyYW1ldGVycz10LmdldENyb3NzZmFkZVBhcmFtZXRlcnMoKSksdGhpcy5fdW5ldmFsdWF0ZWRMYXlvdXQmJih0aGlzLmxheW91dD10aGlzLl91bmV2YWx1YXRlZExheW91dC5wb3NzaWJseUV2YWx1YXRlKHQpKSx0aGlzLnBhaW50PXRoaXMuX3RyYW5zaXRpb25pbmdQYWludC5wb3NzaWJseUV2YWx1YXRlKHQpfSxlLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXt2YXIgdD17aWQ6dGhpcy5pZCx0eXBlOnRoaXMudHlwZSxzb3VyY2U6dGhpcy5zb3VyY2UsInNvdXJjZS1sYXllciI6dGhpcy5zb3VyY2VMYXllcixtZXRhZGF0YTp0aGlzLm1ldGFkYXRhLG1pbnpvb206dGhpcy5taW56b29tLG1heHpvb206dGhpcy5tYXh6b29tLGZpbHRlcjp0aGlzLmZpbHRlcixsYXlvdXQ6dGhpcy5fdW5ldmFsdWF0ZWRMYXlvdXQmJnRoaXMuX3VuZXZhbHVhdGVkTGF5b3V0LnNlcmlhbGl6ZSgpLHBhaW50OnRoaXMuX3RyYW5zaXRpb25hYmxlUGFpbnQmJnRoaXMuX3RyYW5zaXRpb25hYmxlUGFpbnQuc2VyaWFsaXplKCl9O3JldHVybiB0aGlzLnZpc2liaWxpdHkmJih0LmxheW91dD10LmxheW91dHx8e30sdC5sYXlvdXQudmlzaWJpbGl0eT10aGlzLnZpc2liaWxpdHkpLHgodCxmdW5jdGlvbih0LGUpe3JldHVybiEodm9pZCAwPT09dHx8ImxheW91dCI9PT1lJiYhT2JqZWN0LmtleXModCkubGVuZ3RofHwicGFpbnQiPT09ZSYmIU9iamVjdC5rZXlzKHQpLmxlbmd0aCl9KX0sZS5wcm90b3R5cGUuX3ZhbGlkYXRlPWZ1bmN0aW9uKHQsZSxyLG4sYSl7cmV0dXJuIHZvaWQgMD09PWEmJihhPXt9KSwoIWF8fCExIT09YS52YWxpZGF0ZSkmJmxuKHRoaXMsdC5jYWxsKG5uLHtrZXk6ZSxsYXllclR5cGU6dGhpcy50eXBlLG9iamVjdEtleTpyLHZhbHVlOm4sc3R5bGVTcGVjOlR0LHN0eWxlOntnbHlwaHM6ITAsc3ByaXRlOiEwfX0pKX0sZS5wcm90b3R5cGUuaXMzRD1mdW5jdGlvbigpe3JldHVybiExfSxlLnByb3RvdHlwZS5pc1RpbGVDbGlwcGVkPWZ1bmN0aW9uKCl7cmV0dXJuITF9LGUucHJvdG90eXBlLmhhc09mZnNjcmVlblBhc3M9ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZS5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKCl7fSxlLnByb3RvdHlwZS5pc1N0YXRlRGVwZW5kZW50PWZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMucGFpbnQuX3ZhbHVlcyl7dmFyIGU9dGhpcy5wYWludC5nZXQodCk7aWYoZSBpbnN0YW5jZW9mIEJuJiZ1cihlLnByb3BlcnR5LnNwZWNpZmljYXRpb24pJiYoInNvdXJjZSI9PT1lLnZhbHVlLmtpbmR8fCJjb21wb3NpdGUiPT09ZS52YWx1ZS5raW5kKSYmZS52YWx1ZS5pc1N0YXRlRGVwZW5kZW50KXJldHVybiEwfXJldHVybiExfSxlfShrdCksV249e0ludDg6SW50OEFycmF5LFVpbnQ4OlVpbnQ4QXJyYXksSW50MTY6SW50MTZBcnJheSxVaW50MTY6VWludDE2QXJyYXksSW50MzI6SW50MzJBcnJheSxVaW50MzI6VWludDMyQXJyYXksRmxvYXQzMjpGbG9hdDMyQXJyYXl9LFhuPWZ1bmN0aW9uKHQsZSl7dGhpcy5fc3RydWN0QXJyYXk9dCx0aGlzLl9wb3MxPWUqdGhpcy5zaXplLHRoaXMuX3BvczI9dGhpcy5fcG9zMS8yLHRoaXMuX3BvczQ9dGhpcy5fcG9zMS80LHRoaXMuX3Bvczg9dGhpcy5fcG9zMS84fSxabj1mdW5jdGlvbigpe3RoaXMuaXNUcmFuc2ZlcnJlZD0hMSx0aGlzLmNhcGFjaXR5PS0xLHRoaXMucmVzaXplKDApfTtmdW5jdGlvbiBKbih0LGUpe3ZvaWQgMD09PWUmJihlPTEpO3ZhciByPTAsbj0wO3JldHVybnttZW1iZXJzOnQubWFwKGZ1bmN0aW9uKHQpe3ZhciBhLGk9KGE9dC50eXBlLFduW2FdLkJZVEVTX1BFUl9FTEVNRU5UKSxvPXI9S24ocixNYXRoLm1heChlLGkpKSxzPXQuY29tcG9uZW50c3x8MTtyZXR1cm4gbj1NYXRoLm1heChuLGkpLHIrPWkqcyx7bmFtZTp0Lm5hbWUsdHlwZTp0LnR5cGUsY29tcG9uZW50czpzLG9mZnNldDpvfX0pLHNpemU6S24ocixNYXRoLm1heChuLGUpKSxhbGlnbm1lbnQ6ZX19ZnVuY3Rpb24gS24odCxlKXtyZXR1cm4gTWF0aC5jZWlsKHQvZSkqZX1abi5zZXJpYWxpemU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5fdHJpbSgpLGUmJih0LmlzVHJhbnNmZXJyZWQ9ITAsZS5wdXNoKHQuYXJyYXlCdWZmZXIpKSx7bGVuZ3RoOnQubGVuZ3RoLGFycmF5QnVmZmVyOnQuYXJyYXlCdWZmZXJ9fSxabi5kZXNlcmlhbGl6ZT1mdW5jdGlvbih0KXt2YXIgZT1PYmplY3QuY3JlYXRlKHRoaXMucHJvdG90eXBlKTtyZXR1cm4gZS5hcnJheUJ1ZmZlcj10LmFycmF5QnVmZmVyLGUubGVuZ3RoPXQubGVuZ3RoLGUuY2FwYWNpdHk9dC5hcnJheUJ1ZmZlci5ieXRlTGVuZ3RoL2UuYnl0ZXNQZXJFbGVtZW50LGUuX3JlZnJlc2hWaWV3cygpLGV9LFpuLnByb3RvdHlwZS5fdHJpbT1mdW5jdGlvbigpe3RoaXMubGVuZ3RoIT09dGhpcy5jYXBhY2l0eSYmKHRoaXMuY2FwYWNpdHk9dGhpcy5sZW5ndGgsdGhpcy5hcnJheUJ1ZmZlcj10aGlzLmFycmF5QnVmZmVyLnNsaWNlKDAsdGhpcy5sZW5ndGgqdGhpcy5ieXRlc1BlckVsZW1lbnQpLHRoaXMuX3JlZnJlc2hWaWV3cygpKX0sWm4ucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5sZW5ndGg9MH0sWm4ucHJvdG90eXBlLnJlc2l6ZT1mdW5jdGlvbih0KXt0aGlzLnJlc2VydmUodCksdGhpcy5sZW5ndGg9dH0sWm4ucHJvdG90eXBlLnJlc2VydmU9ZnVuY3Rpb24odCl7aWYodD50aGlzLmNhcGFjaXR5KXt0aGlzLmNhcGFjaXR5PU1hdGgubWF4KHQsTWF0aC5mbG9vcig1KnRoaXMuY2FwYWNpdHkpLDEyOCksdGhpcy5hcnJheUJ1ZmZlcj1uZXcgQXJyYXlCdWZmZXIodGhpcy5jYXBhY2l0eSp0aGlzLmJ5dGVzUGVyRWxlbWVudCk7dmFyIGU9dGhpcy51aW50ODt0aGlzLl9yZWZyZXNoVmlld3MoKSxlJiZ0aGlzLnVpbnQ4LnNldChlKX19LFpuLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJfcmVmcmVzaFZpZXdzKCkgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBlYWNoIGNvbmNyZXRlIFN0cnVjdEFycmF5IGxheW91dCIpfTt2YXIgUW49ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmludDE2PW5ldyBJbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShyKzEpLHRoaXMuZW1wbGFjZShyLHQsZSl9LGUucHJvdG90eXBlLmVtcGxhY2U9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPTIqdDtyZXR1cm4gdGhpcy5pbnQxNltuKzBdPWUsdGhpcy5pbnQxNltuKzFdPXIsdH0sZX0oWm4pO1FuLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9NCxkbigiU3RydWN0QXJyYXlMYXlvdXQyaTQiLFFuKTt2YXIgJG49ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmludDE2PW5ldyBJbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUscixuKXt2YXIgYT10aGlzLmxlbmd0aDtyZXR1cm4gdGhpcy5yZXNpemUoYSsxKSx0aGlzLmVtcGxhY2UoYSx0LGUscixuKX0sZS5wcm90b3R5cGUuZW1wbGFjZT1mdW5jdGlvbih0LGUscixuLGEpe3ZhciBpPTQqdDtyZXR1cm4gdGhpcy5pbnQxNltpKzBdPWUsdGhpcy5pbnQxNltpKzFdPXIsdGhpcy5pbnQxNltpKzJdPW4sdGhpcy5pbnQxNltpKzNdPWEsdH0sZX0oWm4pOyRuLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9OCxkbigiU3RydWN0QXJyYXlMYXlvdXQ0aTgiLCRuKTt2YXIgdGE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmludDE2PW5ldyBJbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUscixuLGEsaSl7dmFyIG89dGhpcy5sZW5ndGg7cmV0dXJuIHRoaXMucmVzaXplKG8rMSksdGhpcy5lbXBsYWNlKG8sdCxlLHIsbixhLGkpfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8pe3ZhciBzPTYqdDtyZXR1cm4gdGhpcy5pbnQxNltzKzBdPWUsdGhpcy5pbnQxNltzKzFdPXIsdGhpcy5pbnQxNltzKzJdPW4sdGhpcy5pbnQxNltzKzNdPWEsdGhpcy5pbnQxNltzKzRdPWksdGhpcy5pbnQxNltzKzVdPW8sdH0sZX0oWm4pO3RhLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9MTIsZG4oIlN0cnVjdEFycmF5TGF5b3V0Mmk0aTEyIix0YSk7dmFyIGVhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuX3JlZnJlc2hWaWV3cz1mdW5jdGlvbigpe3RoaXMudWludDg9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy5pbnQxNj1uZXcgSW50MTZBcnJheSh0aGlzLmFycmF5QnVmZmVyKX0sZS5wcm90b3R5cGUuZW1wbGFjZUJhY2s9ZnVuY3Rpb24odCxlLHIsbixhLGkpe3ZhciBvPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShvKzEpLHRoaXMuZW1wbGFjZShvLHQsZSxyLG4sYSxpKX0sZS5wcm90b3R5cGUuZW1wbGFjZT1mdW5jdGlvbih0LGUscixuLGEsaSxvKXt2YXIgcz00KnQsbD04KnQ7cmV0dXJuIHRoaXMuaW50MTZbcyswXT1lLHRoaXMuaW50MTZbcysxXT1yLHRoaXMudWludDhbbCs0XT1uLHRoaXMudWludDhbbCs1XT1hLHRoaXMudWludDhbbCs2XT1pLHRoaXMudWludDhbbCs3XT1vLHR9LGV9KFpuKTtlYS5wcm90b3R5cGUuYnl0ZXNQZXJFbGVtZW50PTgsZG4oIlN0cnVjdEFycmF5TGF5b3V0Mmk0dWI4IixlYSk7dmFyIHJhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuX3JlZnJlc2hWaWV3cz1mdW5jdGlvbigpe3RoaXMudWludDg9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy51aW50MTY9bmV3IFVpbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMpe3ZhciBsPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShsKzEpLHRoaXMuZW1wbGFjZShsLHQsZSxyLG4sYSxpLG8scyl9LGUucHJvdG90eXBlLmVtcGxhY2U9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzLGwpe3ZhciBjPTgqdDtyZXR1cm4gdGhpcy51aW50MTZbYyswXT1lLHRoaXMudWludDE2W2MrMV09cix0aGlzLnVpbnQxNltjKzJdPW4sdGhpcy51aW50MTZbYyszXT1hLHRoaXMudWludDE2W2MrNF09aSx0aGlzLnVpbnQxNltjKzVdPW8sdGhpcy51aW50MTZbYys2XT1zLHRoaXMudWludDE2W2MrN109bCx0fSxlfShabik7cmEucHJvdG90eXBlLmJ5dGVzUGVyRWxlbWVudD0xNixkbigiU3RydWN0QXJyYXlMYXlvdXQ4dWkxNiIscmEpO3ZhciBuYT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLl9yZWZyZXNoVmlld3M9ZnVuY3Rpb24oKXt0aGlzLnVpbnQ4PW5ldyBVaW50OEFycmF5KHRoaXMuYXJyYXlCdWZmZXIpLHRoaXMuaW50MTY9bmV3IEludDE2QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy51aW50MTY9bmV3IFVpbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMpe3ZhciBsPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShsKzEpLHRoaXMuZW1wbGFjZShsLHQsZSxyLG4sYSxpLG8scyl9LGUucHJvdG90eXBlLmVtcGxhY2U9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzLGwpe3ZhciBjPTgqdDtyZXR1cm4gdGhpcy5pbnQxNltjKzBdPWUsdGhpcy5pbnQxNltjKzFdPXIsdGhpcy5pbnQxNltjKzJdPW4sdGhpcy5pbnQxNltjKzNdPWEsdGhpcy51aW50MTZbYys0XT1pLHRoaXMudWludDE2W2MrNV09byx0aGlzLnVpbnQxNltjKzZdPXMsdGhpcy51aW50MTZbYys3XT1sLHR9LGV9KFpuKTtuYS5wcm90b3R5cGUuYnl0ZXNQZXJFbGVtZW50PTE2LGRuKCJTdHJ1Y3RBcnJheUxheW91dDRpNHVpMTYiLG5hKTt2YXIgYWE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmZsb2F0MzI9bmV3IEZsb2F0MzJBcnJheSh0aGlzLmFycmF5QnVmZmVyKX0sZS5wcm90b3R5cGUuZW1wbGFjZUJhY2s9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShuKzEpLHRoaXMuZW1wbGFjZShuLHQsZSxyKX0sZS5wcm90b3R5cGUuZW1wbGFjZT1mdW5jdGlvbih0LGUscixuKXt2YXIgYT0zKnQ7cmV0dXJuIHRoaXMuZmxvYXQzMlthKzBdPWUsdGhpcy5mbG9hdDMyW2ErMV09cix0aGlzLmZsb2F0MzJbYSsyXT1uLHR9LGV9KFpuKTthYS5wcm90b3R5cGUuYnl0ZXNQZXJFbGVtZW50PTEyLGRuKCJTdHJ1Y3RBcnJheUxheW91dDNmMTIiLGFhKTt2YXIgaWE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLnVpbnQzMj1uZXcgVWludDMyQXJyYXkodGhpcy5hcnJheUJ1ZmZlcil9LGUucHJvdG90eXBlLmVtcGxhY2VCYWNrPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShlKzEpLHRoaXMuZW1wbGFjZShlLHQpfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9MSp0O3JldHVybiB0aGlzLnVpbnQzMltyKzBdPWUsdH0sZX0oWm4pO2lhLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9NCxkbigiU3RydWN0QXJyYXlMYXlvdXQxdWw0IixpYSk7dmFyIG9hPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuX3JlZnJlc2hWaWV3cz1mdW5jdGlvbigpe3RoaXMudWludDg9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy5pbnQxNj1uZXcgSW50MTZBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLnVpbnQzMj1uZXcgVWludDMyQXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy51aW50MTY9bmV3IFVpbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMsbCxjLHUpe3ZhciBoPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShoKzEpLHRoaXMuZW1wbGFjZShoLHQsZSxyLG4sYSxpLG8scyxsLGMsdSl9LGUucHJvdG90eXBlLmVtcGxhY2U9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzLGwsYyx1LGgpe3ZhciBmPTEyKnQscD02KnQ7cmV0dXJuIHRoaXMuaW50MTZbZiswXT1lLHRoaXMuaW50MTZbZisxXT1yLHRoaXMuaW50MTZbZisyXT1uLHRoaXMuaW50MTZbZiszXT1hLHRoaXMuaW50MTZbZis0XT1pLHRoaXMuaW50MTZbZis1XT1vLHRoaXMudWludDMyW3ArM109cyx0aGlzLnVpbnQxNltmKzhdPWwsdGhpcy51aW50MTZbZis5XT1jLHRoaXMuaW50MTZbZisxMF09dSx0aGlzLmludDE2W2YrMTFdPWgsdH0sZX0oWm4pO29hLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9MjQsZG4oIlN0cnVjdEFycmF5TGF5b3V0NmkxdWwydWkyaTI0IixvYSk7dmFyIHNhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuX3JlZnJlc2hWaWV3cz1mdW5jdGlvbigpe3RoaXMudWludDg9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy5pbnQxNj1uZXcgSW50MTZBcnJheSh0aGlzLmFycmF5QnVmZmVyKX0sZS5wcm90b3R5cGUuZW1wbGFjZUJhY2s9ZnVuY3Rpb24odCxlLHIsbixhLGkpe3ZhciBvPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShvKzEpLHRoaXMuZW1wbGFjZShvLHQsZSxyLG4sYSxpKX0sZS5wcm90b3R5cGUuZW1wbGFjZT1mdW5jdGlvbih0LGUscixuLGEsaSxvKXt2YXIgcz02KnQ7cmV0dXJuIHRoaXMuaW50MTZbcyswXT1lLHRoaXMuaW50MTZbcysxXT1yLHRoaXMuaW50MTZbcysyXT1uLHRoaXMuaW50MTZbcyszXT1hLHRoaXMuaW50MTZbcys0XT1pLHRoaXMuaW50MTZbcys1XT1vLHR9LGV9KFpuKTtzYS5wcm90b3R5cGUuYnl0ZXNQZXJFbGVtZW50PTEyLGRuKCJTdHJ1Y3RBcnJheUxheW91dDJpMmkyaTEyIixzYSk7dmFyIGxhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuX3JlZnJlc2hWaWV3cz1mdW5jdGlvbigpe3RoaXMudWludDg9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy5mbG9hdDMyPW5ldyBGbG9hdDMyQXJyYXkodGhpcy5hcnJheUJ1ZmZlcil9LGUucHJvdG90eXBlLmVtcGxhY2VCYWNrPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShhKzEpLHRoaXMuZW1wbGFjZShhLHQsZSxyLG4pfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGk9MTIqdCxvPTMqdDtyZXR1cm4gdGhpcy51aW50OFtpKzBdPWUsdGhpcy51aW50OFtpKzFdPXIsdGhpcy5mbG9hdDMyW28rMV09bix0aGlzLmZsb2F0MzJbbysyXT1hLHR9LGV9KFpuKTtsYS5wcm90b3R5cGUuYnl0ZXNQZXJFbGVtZW50PTEyLGRuKCJTdHJ1Y3RBcnJheUxheW91dDJ1YjJmMTIiLGxhKTt2YXIgY2E9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmludDE2PW5ldyBJbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpLHRoaXMudWludDE2PW5ldyBVaW50MTZBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLnVpbnQzMj1uZXcgVWludDMyQXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy5mbG9hdDMyPW5ldyBGbG9hdDMyQXJyYXkodGhpcy5hcnJheUJ1ZmZlcil9LGUucHJvdG90eXBlLmVtcGxhY2VCYWNrPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyxsLGMsdSxoLGYscCxkLGcpe3ZhciB2PXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZSh2KzEpLHRoaXMuZW1wbGFjZSh2LHQsZSxyLG4sYSxpLG8scyxsLGMsdSxoLGYscCxkLGcpfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyxsLGMsdSxoLGYscCxkLGcsdil7dmFyIG09MjIqdCx5PTExKnQseD00NCp0O3JldHVybiB0aGlzLmludDE2W20rMF09ZSx0aGlzLmludDE2W20rMV09cix0aGlzLnVpbnQxNlttKzJdPW4sdGhpcy51aW50MTZbbSszXT1hLHRoaXMudWludDMyW3krMl09aSx0aGlzLnVpbnQzMlt5KzNdPW8sdGhpcy51aW50MzJbeSs0XT1zLHRoaXMudWludDE2W20rMTBdPWwsdGhpcy51aW50MTZbbSsxMV09Yyx0aGlzLnVpbnQxNlttKzEyXT11LHRoaXMuZmxvYXQzMlt5KzddPWgsdGhpcy5mbG9hdDMyW3krOF09Zix0aGlzLnVpbnQ4W3grMzZdPXAsdGhpcy51aW50OFt4KzM3XT1kLHRoaXMudWludDhbeCszOF09Zyx0aGlzLnVpbnQzMlt5KzEwXT12LHR9LGV9KFpuKTtjYS5wcm90b3R5cGUuYnl0ZXNQZXJFbGVtZW50PTQ0LGRuKCJTdHJ1Y3RBcnJheUxheW91dDJpMnVpM3VsM3VpMmYzdWIxdWw0NCIsY2EpO3ZhciB1YT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLl9yZWZyZXNoVmlld3M9ZnVuY3Rpb24oKXt0aGlzLnVpbnQ4PW5ldyBVaW50OEFycmF5KHRoaXMuYXJyYXlCdWZmZXIpLHRoaXMuaW50MTY9bmV3IEludDE2QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy51aW50MTY9bmV3IFVpbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpLHRoaXMudWludDMyPW5ldyBVaW50MzJBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmZsb2F0MzI9bmV3IEZsb2F0MzJBcnJheSh0aGlzLmFycmF5QnVmZmVyKX0sZS5wcm90b3R5cGUuZW1wbGFjZUJhY2s9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzLGwsYyx1LGgsZixwLGQsZyx2LG0seSx4KXt2YXIgYj10aGlzLmxlbmd0aDtyZXR1cm4gdGhpcy5yZXNpemUoYisxKSx0aGlzLmVtcGxhY2UoYix0LGUscixuLGEsaSxvLHMsbCxjLHUsaCxmLHAsZCxnLHYsbSx5LHgpfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyxsLGMsdSxoLGYscCxkLGcsdixtLHkseCxiKXt2YXIgXz0yNCp0LHc9MTIqdDtyZXR1cm4gdGhpcy5pbnQxNltfKzBdPWUsdGhpcy5pbnQxNltfKzFdPXIsdGhpcy5pbnQxNltfKzJdPW4sdGhpcy5pbnQxNltfKzNdPWEsdGhpcy5pbnQxNltfKzRdPWksdGhpcy5pbnQxNltfKzVdPW8sdGhpcy51aW50MTZbXys2XT1zLHRoaXMudWludDE2W18rN109bCx0aGlzLnVpbnQxNltfKzhdPWMsdGhpcy51aW50MTZbXys5XT11LHRoaXMudWludDE2W18rMTBdPWgsdGhpcy51aW50MTZbXysxMV09Zix0aGlzLnVpbnQxNltfKzEyXT1wLHRoaXMudWludDE2W18rMTNdPWQsdGhpcy51aW50MTZbXysxNF09Zyx0aGlzLnVpbnQxNltfKzE1XT12LHRoaXMudWludDE2W18rMTZdPW0sdGhpcy51aW50MzJbdys5XT15LHRoaXMuZmxvYXQzMlt3KzEwXT14LHRoaXMuZmxvYXQzMlt3KzExXT1iLHR9LGV9KFpuKTt1YS5wcm90b3R5cGUuYnl0ZXNQZXJFbGVtZW50PTQ4LGRuKCJTdHJ1Y3RBcnJheUxheW91dDZpMTF1aTF1bDJmNDgiLHVhKTt2YXIgaGE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmZsb2F0MzI9bmV3IEZsb2F0MzJBcnJheSh0aGlzLmFycmF5QnVmZmVyKX0sZS5wcm90b3R5cGUuZW1wbGFjZUJhY2s9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5sZW5ndGg7cmV0dXJuIHRoaXMucmVzaXplKGUrMSksdGhpcy5lbXBsYWNlKGUsdCl9LGUucHJvdG90eXBlLmVtcGxhY2U9ZnVuY3Rpb24odCxlKXt2YXIgcj0xKnQ7cmV0dXJuIHRoaXMuZmxvYXQzMltyKzBdPWUsdH0sZX0oWm4pO2hhLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9NCxkbigiU3RydWN0QXJyYXlMYXlvdXQxZjQiLGhhKTt2YXIgZmE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmludDE2PW5ldyBJbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5sZW5ndGg7cmV0dXJuIHRoaXMucmVzaXplKG4rMSksdGhpcy5lbXBsYWNlKG4sdCxlLHIpfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPTMqdDtyZXR1cm4gdGhpcy5pbnQxNlthKzBdPWUsdGhpcy5pbnQxNlthKzFdPXIsdGhpcy5pbnQxNlthKzJdPW4sdH0sZX0oWm4pO2ZhLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9NixkbigiU3RydWN0QXJyYXlMYXlvdXQzaTYiLGZhKTt2YXIgcGE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLnVpbnQzMj1uZXcgVWludDMyQXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy51aW50MTY9bmV3IFVpbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5sZW5ndGg7cmV0dXJuIHRoaXMucmVzaXplKG4rMSksdGhpcy5lbXBsYWNlKG4sdCxlLHIpfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPTIqdCxpPTQqdDtyZXR1cm4gdGhpcy51aW50MzJbYSswXT1lLHRoaXMudWludDE2W2krMl09cix0aGlzLnVpbnQxNltpKzNdPW4sdH0sZX0oWm4pO3BhLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9OCxkbigiU3RydWN0QXJyYXlMYXlvdXQxdWwydWk4IixwYSk7dmFyIGRhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuX3JlZnJlc2hWaWV3cz1mdW5jdGlvbigpe3RoaXMudWludDg9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy51aW50MTY9bmV3IFVpbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5sZW5ndGg7cmV0dXJuIHRoaXMucmVzaXplKG4rMSksdGhpcy5lbXBsYWNlKG4sdCxlLHIpfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPTMqdDtyZXR1cm4gdGhpcy51aW50MTZbYSswXT1lLHRoaXMudWludDE2W2ErMV09cix0aGlzLnVpbnQxNlthKzJdPW4sdH0sZX0oWm4pO2RhLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9NixkbigiU3RydWN0QXJyYXlMYXlvdXQzdWk2IixkYSk7dmFyIGdhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuX3JlZnJlc2hWaWV3cz1mdW5jdGlvbigpe3RoaXMudWludDg9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy51aW50MTY9bmV3IFVpbnQxNkFycmF5KHRoaXMuYXJyYXlCdWZmZXIpfSxlLnByb3RvdHlwZS5lbXBsYWNlQmFjaz1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShyKzEpLHRoaXMuZW1wbGFjZShyLHQsZSl9LGUucHJvdG90eXBlLmVtcGxhY2U9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPTIqdDtyZXR1cm4gdGhpcy51aW50MTZbbiswXT1lLHRoaXMudWludDE2W24rMV09cix0fSxlfShabik7Z2EucHJvdG90eXBlLmJ5dGVzUGVyRWxlbWVudD00LGRuKCJTdHJ1Y3RBcnJheUxheW91dDJ1aTQiLGdhKTt2YXIgdmE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLnVpbnQxNj1uZXcgVWludDE2QXJyYXkodGhpcy5hcnJheUJ1ZmZlcil9LGUucHJvdG90eXBlLmVtcGxhY2VCYWNrPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLnJlc2l6ZShlKzEpLHRoaXMuZW1wbGFjZShlLHQpfSxlLnByb3RvdHlwZS5lbXBsYWNlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9MSp0O3JldHVybiB0aGlzLnVpbnQxNltyKzBdPWUsdH0sZX0oWm4pO3ZhLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9MixkbigiU3RydWN0QXJyYXlMYXlvdXQxdWkyIix2YSk7dmFyIG1hPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuX3JlZnJlc2hWaWV3cz1mdW5jdGlvbigpe3RoaXMudWludDg9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnJheUJ1ZmZlciksdGhpcy5mbG9hdDMyPW5ldyBGbG9hdDMyQXJyYXkodGhpcy5hcnJheUJ1ZmZlcil9LGUucHJvdG90eXBlLmVtcGxhY2VCYWNrPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5sZW5ndGg7cmV0dXJuIHRoaXMucmVzaXplKHIrMSksdGhpcy5lbXBsYWNlKHIsdCxlKX0sZS5wcm90b3R5cGUuZW1wbGFjZT1mdW5jdGlvbih0LGUscil7dmFyIG49Mip0O3JldHVybiB0aGlzLmZsb2F0MzJbbiswXT1lLHRoaXMuZmxvYXQzMltuKzFdPXIsdH0sZX0oWm4pO21hLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9OCxkbigiU3RydWN0QXJyYXlMYXlvdXQyZjgiLG1hKTt2YXIgeWE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5fcmVmcmVzaFZpZXdzPWZ1bmN0aW9uKCl7dGhpcy51aW50OD1uZXcgVWludDhBcnJheSh0aGlzLmFycmF5QnVmZmVyKSx0aGlzLmZsb2F0MzI9bmV3IEZsb2F0MzJBcnJheSh0aGlzLmFycmF5QnVmZmVyKX0sZS5wcm90b3R5cGUuZW1wbGFjZUJhY2s9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9dGhpcy5sZW5ndGg7cmV0dXJuIHRoaXMucmVzaXplKGErMSksdGhpcy5lbXBsYWNlKGEsdCxlLHIsbil9LGUucHJvdG90eXBlLmVtcGxhY2U9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT00KnQ7cmV0dXJuIHRoaXMuZmxvYXQzMltpKzBdPWUsdGhpcy5mbG9hdDMyW2krMV09cix0aGlzLmZsb2F0MzJbaSsyXT1uLHRoaXMuZmxvYXQzMltpKzNdPWEsdH0sZX0oWm4pO3lhLnByb3RvdHlwZS5ieXRlc1BlckVsZW1lbnQ9MTYsZG4oIlN0cnVjdEFycmF5TGF5b3V0NGYxNiIseWEpO3ZhciB4YT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9dCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWU7dmFyIHI9e2FuY2hvclBvaW50WDp7Y29uZmlndXJhYmxlOiEwfSxhbmNob3JQb2ludFk6e2NvbmZpZ3VyYWJsZTohMH0seDE6e2NvbmZpZ3VyYWJsZTohMH0seTE6e2NvbmZpZ3VyYWJsZTohMH0seDI6e2NvbmZpZ3VyYWJsZTohMH0seTI6e2NvbmZpZ3VyYWJsZTohMH0sZmVhdHVyZUluZGV4Ontjb25maWd1cmFibGU6ITB9LHNvdXJjZUxheWVySW5kZXg6e2NvbmZpZ3VyYWJsZTohMH0sYnVja2V0SW5kZXg6e2NvbmZpZ3VyYWJsZTohMH0scmFkaXVzOntjb25maWd1cmFibGU6ITB9LHNpZ25lZERpc3RhbmNlRnJvbUFuY2hvcjp7Y29uZmlndXJhYmxlOiEwfSxhbmNob3JQb2ludDp7Y29uZmlndXJhYmxlOiEwfX07cmV0dXJuIHIuYW5jaG9yUG9pbnRYLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzBdfSxyLmFuY2hvclBvaW50WC5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMiswXT10fSxyLmFuY2hvclBvaW50WS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisxXX0sci5hbmNob3JQb2ludFkuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrMV09dH0sci54MS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisyXX0sci54MS5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisyXT10fSxyLnkxLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzNdfSxyLnkxLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzNdPXR9LHIueDIuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrNF19LHIueDIuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrNF09dH0sci55Mi5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMis1XX0sci55Mi5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMis1XT10fSxyLmZlYXR1cmVJbmRleC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDMyW3RoaXMuX3BvczQrM119LHIuZmVhdHVyZUluZGV4LnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MzJbdGhpcy5fcG9zNCszXT10fSxyLnNvdXJjZUxheWVySW5kZXguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzhdfSxyLnNvdXJjZUxheWVySW5kZXguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzhdPXR9LHIuYnVja2V0SW5kZXguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzldfSxyLmJ1Y2tldEluZGV4LnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMis5XT10fSxyLnJhZGl1cy5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisxMF19LHIucmFkaXVzLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzEwXT10fSxyLnNpZ25lZERpc3RhbmNlRnJvbUFuY2hvci5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisxMV19LHIuc2lnbmVkRGlzdGFuY2VGcm9tQW5jaG9yLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzExXT10fSxyLmFuY2hvclBvaW50LmdldD1mdW5jdGlvbigpe3JldHVybiBuZXcgYSh0aGlzLmFuY2hvclBvaW50WCx0aGlzLmFuY2hvclBvaW50WSl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUucHJvdG90eXBlLHIpLGV9KFhuKTt4YS5wcm90b3R5cGUuc2l6ZT0yNDt2YXIgYmE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyB4YSh0aGlzLHQpfSxlfShvYSk7ZG4oIkNvbGxpc2lvbkJveEFycmF5IixiYSk7dmFyIF9hPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX10JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZTt2YXIgcj17YW5jaG9yWDp7Y29uZmlndXJhYmxlOiEwfSxhbmNob3JZOntjb25maWd1cmFibGU6ITB9LGdseXBoU3RhcnRJbmRleDp7Y29uZmlndXJhYmxlOiEwfSxudW1HbHlwaHM6e2NvbmZpZ3VyYWJsZTohMH0sdmVydGV4U3RhcnRJbmRleDp7Y29uZmlndXJhYmxlOiEwfSxsaW5lU3RhcnRJbmRleDp7Y29uZmlndXJhYmxlOiEwfSxsaW5lTGVuZ3RoOntjb25maWd1cmFibGU6ITB9LHNlZ21lbnQ6e2NvbmZpZ3VyYWJsZTohMH0sbG93ZXJTaXplOntjb25maWd1cmFibGU6ITB9LHVwcGVyU2l6ZTp7Y29uZmlndXJhYmxlOiEwfSxsaW5lT2Zmc2V0WDp7Y29uZmlndXJhYmxlOiEwfSxsaW5lT2Zmc2V0WTp7Y29uZmlndXJhYmxlOiEwfSx3cml0aW5nTW9kZTp7Y29uZmlndXJhYmxlOiEwfSxwbGFjZWRPcmllbnRhdGlvbjp7Y29uZmlndXJhYmxlOiEwfSxoaWRkZW46e2NvbmZpZ3VyYWJsZTohMH0sY3Jvc3NUaWxlSUQ6e2NvbmZpZ3VyYWJsZTohMH19O3JldHVybiByLmFuY2hvclguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrMF19LHIuYW5jaG9yWC5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMiswXT10fSxyLmFuY2hvclkuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrMV19LHIuYW5jaG9yWS5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisxXT10fSxyLmdseXBoU3RhcnRJbmRleC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMl19LHIuZ2x5cGhTdGFydEluZGV4LnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMisyXT10fSxyLm51bUdseXBocy5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrM119LHIubnVtR2x5cGhzLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMiszXT10fSxyLnZlcnRleFN0YXJ0SW5kZXguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQzMlt0aGlzLl9wb3M0KzJdfSxyLnZlcnRleFN0YXJ0SW5kZXguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQzMlt0aGlzLl9wb3M0KzJdPXR9LHIubGluZVN0YXJ0SW5kZXguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQzMlt0aGlzLl9wb3M0KzNdfSxyLmxpbmVTdGFydEluZGV4LnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MzJbdGhpcy5fcG9zNCszXT10fSxyLmxpbmVMZW5ndGguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQzMlt0aGlzLl9wb3M0KzRdfSxyLmxpbmVMZW5ndGguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQzMlt0aGlzLl9wb3M0KzRdPXR9LHIuc2VnbWVudC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMTBdfSxyLnNlZ21lbnQuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzEwXT10fSxyLmxvd2VyU2l6ZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMTFdfSxyLmxvd2VyU2l6ZS5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMTFdPXR9LHIudXBwZXJTaXplLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMisxMl19LHIudXBwZXJTaXplLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMisxMl09dH0sci5saW5lT2Zmc2V0WC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuZmxvYXQzMlt0aGlzLl9wb3M0KzddfSxyLmxpbmVPZmZzZXRYLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS5mbG9hdDMyW3RoaXMuX3BvczQrN109dH0sci5saW5lT2Zmc2V0WS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuZmxvYXQzMlt0aGlzLl9wb3M0KzhdfSxyLmxpbmVPZmZzZXRZLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS5mbG9hdDMyW3RoaXMuX3BvczQrOF09dH0sci53cml0aW5nTW9kZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDhbdGhpcy5fcG9zMSszNl19LHIud3JpdGluZ01vZGUuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQ4W3RoaXMuX3BvczErMzZdPXR9LHIucGxhY2VkT3JpZW50YXRpb24uZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQ4W3RoaXMuX3BvczErMzddfSxyLnBsYWNlZE9yaWVudGF0aW9uLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50OFt0aGlzLl9wb3MxKzM3XT10fSxyLmhpZGRlbi5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDhbdGhpcy5fcG9zMSszOF19LHIuaGlkZGVuLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50OFt0aGlzLl9wb3MxKzM4XT10fSxyLmNyb3NzVGlsZUlELmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS51aW50MzJbdGhpcy5fcG9zNCsxMF19LHIuY3Jvc3NUaWxlSUQuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQzMlt0aGlzLl9wb3M0KzEwXT10fSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLnByb3RvdHlwZSxyKSxlfShYbik7X2EucHJvdG90eXBlLnNpemU9NDQ7dmFyIHdhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgX2EodGhpcyx0KX0sZX0oY2EpO2RuKCJQbGFjZWRTeW1ib2xBcnJheSIsd2EpO3ZhciBrYT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9dCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWU7dmFyIHI9e2FuY2hvclg6e2NvbmZpZ3VyYWJsZTohMH0sYW5jaG9yWTp7Y29uZmlndXJhYmxlOiEwfSxyaWdodEp1c3RpZmllZFRleHRTeW1ib2xJbmRleDp7Y29uZmlndXJhYmxlOiEwfSxjZW50ZXJKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXg6e2NvbmZpZ3VyYWJsZTohMH0sbGVmdEp1c3RpZmllZFRleHRTeW1ib2xJbmRleDp7Y29uZmlndXJhYmxlOiEwfSx2ZXJ0aWNhbFBsYWNlZFRleHRTeW1ib2xJbmRleDp7Y29uZmlndXJhYmxlOiEwfSxrZXk6e2NvbmZpZ3VyYWJsZTohMH0sdGV4dEJveFN0YXJ0SW5kZXg6e2NvbmZpZ3VyYWJsZTohMH0sdGV4dEJveEVuZEluZGV4Ontjb25maWd1cmFibGU6ITB9LHZlcnRpY2FsVGV4dEJveFN0YXJ0SW5kZXg6e2NvbmZpZ3VyYWJsZTohMH0sdmVydGljYWxUZXh0Qm94RW5kSW5kZXg6e2NvbmZpZ3VyYWJsZTohMH0saWNvbkJveFN0YXJ0SW5kZXg6e2NvbmZpZ3VyYWJsZTohMH0saWNvbkJveEVuZEluZGV4Ontjb25maWd1cmFibGU6ITB9LGZlYXR1cmVJbmRleDp7Y29uZmlndXJhYmxlOiEwfSxudW1Ib3Jpem9udGFsR2x5cGhWZXJ0aWNlczp7Y29uZmlndXJhYmxlOiEwfSxudW1WZXJ0aWNhbEdseXBoVmVydGljZXM6e2NvbmZpZ3VyYWJsZTohMH0sbnVtSWNvblZlcnRpY2VzOntjb25maWd1cmFibGU6ITB9LGNyb3NzVGlsZUlEOntjb25maWd1cmFibGU6ITB9LHRleHRCb3hTY2FsZTp7Y29uZmlndXJhYmxlOiEwfSxyYWRpYWxUZXh0T2Zmc2V0Ontjb25maWd1cmFibGU6ITB9fTtyZXR1cm4gci5hbmNob3JYLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzBdfSxyLmFuY2hvclguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrMF09dH0sci5hbmNob3JZLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzFdfSxyLmFuY2hvclkuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrMV09dH0sci5yaWdodEp1c3RpZmllZFRleHRTeW1ib2xJbmRleC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisyXX0sci5yaWdodEp1c3RpZmllZFRleHRTeW1ib2xJbmRleC5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisyXT10fSxyLmNlbnRlckp1c3RpZmllZFRleHRTeW1ib2xJbmRleC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMiszXX0sci5jZW50ZXJKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrM109dH0sci5sZWZ0SnVzdGlmaWVkVGV4dFN5bWJvbEluZGV4LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzRdfSxyLmxlZnRKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrNF09dH0sci52ZXJ0aWNhbFBsYWNlZFRleHRTeW1ib2xJbmRleC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMis1XX0sci52ZXJ0aWNhbFBsYWNlZFRleHRTeW1ib2xJbmRleC5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMis1XT10fSxyLmtleS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrNl19LHIua2V5LnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMis2XT10fSxyLnRleHRCb3hTdGFydEluZGV4LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMis3XX0sci50ZXh0Qm94U3RhcnRJbmRleC5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrN109dH0sci50ZXh0Qm94RW5kSW5kZXguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzhdfSxyLnRleHRCb3hFbmRJbmRleC5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrOF09dH0sci52ZXJ0aWNhbFRleHRCb3hTdGFydEluZGV4LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMis5XX0sci52ZXJ0aWNhbFRleHRCb3hTdGFydEluZGV4LnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMis5XT10fSxyLnZlcnRpY2FsVGV4dEJveEVuZEluZGV4LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMisxMF19LHIudmVydGljYWxUZXh0Qm94RW5kSW5kZXguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzEwXT10fSxyLmljb25Cb3hTdGFydEluZGV4LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMisxMV19LHIuaWNvbkJveFN0YXJ0SW5kZXguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzExXT10fSxyLmljb25Cb3hFbmRJbmRleC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMTJdfSxyLmljb25Cb3hFbmRJbmRleC5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMTJdPXR9LHIuZmVhdHVyZUluZGV4LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMisxM119LHIuZmVhdHVyZUluZGV4LnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMisxM109dH0sci5udW1Ib3Jpem9udGFsR2x5cGhWZXJ0aWNlcy5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMTRdfSxyLm51bUhvcml6b250YWxHbHlwaFZlcnRpY2VzLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MTZbdGhpcy5fcG9zMisxNF09dH0sci5udW1WZXJ0aWNhbEdseXBoVmVydGljZXMuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzE1XX0sci5udW1WZXJ0aWNhbEdseXBoVmVydGljZXMuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzE1XT10fSxyLm51bUljb25WZXJ0aWNlcy5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMTZdfSxyLm51bUljb25WZXJ0aWNlcy5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMTZdPXR9LHIuY3Jvc3NUaWxlSUQuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LnVpbnQzMlt0aGlzLl9wb3M0KzldfSxyLmNyb3NzVGlsZUlELnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS51aW50MzJbdGhpcy5fcG9zNCs5XT10fSxyLnRleHRCb3hTY2FsZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuZmxvYXQzMlt0aGlzLl9wb3M0KzEwXX0sci50ZXh0Qm94U2NhbGUuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmZsb2F0MzJbdGhpcy5fcG9zNCsxMF09dH0sci5yYWRpYWxUZXh0T2Zmc2V0LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS5mbG9hdDMyW3RoaXMuX3BvczQrMTFdfSxyLnJhZGlhbFRleHRPZmZzZXQuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmZsb2F0MzJbdGhpcy5fcG9zNCsxMV09dH0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZS5wcm90b3R5cGUsciksZX0oWG4pO2thLnByb3RvdHlwZS5zaXplPTQ4O3ZhciBUYT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGthKHRoaXMsdCl9LGV9KHVhKTtkbigiU3ltYm9sSW5zdGFuY2VBcnJheSIsVGEpO3ZhciBNYT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9dCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWU7dmFyIHI9e29mZnNldFg6e2NvbmZpZ3VyYWJsZTohMH19O3JldHVybiByLm9mZnNldFguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0cnVjdEFycmF5LmZsb2F0MzJbdGhpcy5fcG9zNCswXX0sci5vZmZzZXRYLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zdHJ1Y3RBcnJheS5mbG9hdDMyW3RoaXMuX3BvczQrMF09dH0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZS5wcm90b3R5cGUsciksZX0oWG4pO01hLnByb3RvdHlwZS5zaXplPTQ7dmFyIEFhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0b2Zmc2V0WD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5mbG9hdDMyWzEqdCswXX0sZS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgTWEodGhpcyx0KX0sZX0oaGEpO2RuKCJHbHlwaE9mZnNldEFycmF5IixBYSk7dmFyIFNhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX10JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZTt2YXIgcj17eDp7Y29uZmlndXJhYmxlOiEwfSx5Ontjb25maWd1cmFibGU6ITB9LHRpbGVVbml0RGlzdGFuY2VGcm9tQW5jaG9yOntjb25maWd1cmFibGU6ITB9fTtyZXR1cm4gci54LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzBdfSxyLnguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrMF09dH0sci55LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS5pbnQxNlt0aGlzLl9wb3MyKzFdfSxyLnkuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LmludDE2W3RoaXMuX3BvczIrMV09dH0sci50aWxlVW5pdERpc3RhbmNlRnJvbUFuY2hvci5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisyXX0sci50aWxlVW5pdERpc3RhbmNlRnJvbUFuY2hvci5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkuaW50MTZbdGhpcy5fcG9zMisyXT10fSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhlLnByb3RvdHlwZSxyKSxlfShYbik7U2EucHJvdG90eXBlLnNpemU9Njt2YXIgRWE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXR4PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmludDE2WzMqdCswXX0sZS5wcm90b3R5cGUuZ2V0eT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbnQxNlszKnQrMV19LGUucHJvdG90eXBlLmdldHRpbGVVbml0RGlzdGFuY2VGcm9tQW5jaG9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmludDE2WzMqdCsyXX0sZS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgU2EodGhpcyx0KX0sZX0oZmEpO2RuKCJTeW1ib2xMaW5lVmVydGV4QXJyYXkiLEVhKTt2YXIgTGE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lO3ZhciByPXtmZWF0dXJlSW5kZXg6e2NvbmZpZ3VyYWJsZTohMH0sc291cmNlTGF5ZXJJbmRleDp7Y29uZmlndXJhYmxlOiEwfSxidWNrZXRJbmRleDp7Y29uZmlndXJhYmxlOiEwfX07cmV0dXJuIHIuZmVhdHVyZUluZGV4LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdHJ1Y3RBcnJheS51aW50MzJbdGhpcy5fcG9zNCswXX0sci5mZWF0dXJlSW5kZXguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQzMlt0aGlzLl9wb3M0KzBdPXR9LHIuc291cmNlTGF5ZXJJbmRleC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMl19LHIuc291cmNlTGF5ZXJJbmRleC5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrMl09dH0sci5idWNrZXRJbmRleC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RydWN0QXJyYXkudWludDE2W3RoaXMuX3BvczIrM119LHIuYnVja2V0SW5kZXguc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3N0cnVjdEFycmF5LnVpbnQxNlt0aGlzLl9wb3MyKzNdPXR9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUucHJvdG90eXBlLHIpLGV9KFhuKTtMYS5wcm90b3R5cGUuc2l6ZT04O3ZhciBDYT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IExhKHRoaXMsdCl9LGV9KHBhKTtkbigiRmVhdHVyZUluZGV4QXJyYXkiLENhKTt2YXIgUGE9Sm4oW3tuYW1lOiJhX3BvcyIsY29tcG9uZW50czoyLHR5cGU6IkludDE2In1dLDQpLm1lbWJlcnMsT2E9ZnVuY3Rpb24odCl7dm9pZCAwPT09dCYmKHQ9W10pLHRoaXMuc2VnbWVudHM9dH07ZnVuY3Rpb24gemEodCxlKXtyZXR1cm4gMjU2Kih0PWMoTWF0aC5mbG9vcih0KSwwLDI1NSkpK2MoTWF0aC5mbG9vcihlKSwwLDI1NSl9T2EucHJvdG90eXBlLnByZXBhcmVTZWdtZW50PWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07cmV0dXJuIHQ+T2EuTUFYX1ZFUlRFWF9BUlJBWV9MRU5HVEgmJncoIk1heCB2ZXJ0aWNlcyBwZXIgc2VnbWVudCBpcyAiK09hLk1BWF9WRVJURVhfQVJSQVlfTEVOR1RIKyI6IGJ1Y2tldCByZXF1ZXN0ZWQgIit0KSwoIWF8fGEudmVydGV4TGVuZ3RoK3Q+T2EuTUFYX1ZFUlRFWF9BUlJBWV9MRU5HVEh8fGEuc29ydEtleSE9PW4pJiYoYT17dmVydGV4T2Zmc2V0OmUubGVuZ3RoLHByaW1pdGl2ZU9mZnNldDpyLmxlbmd0aCx2ZXJ0ZXhMZW5ndGg6MCxwcmltaXRpdmVMZW5ndGg6MH0sdm9pZCAwIT09biYmKGEuc29ydEtleT1uKSx0aGlzLnNlZ21lbnRzLnB1c2goYSkpLGF9LE9hLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zZWdtZW50c30sT2EucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MCxlPXRoaXMuc2VnbWVudHM7dDxlLmxlbmd0aDt0Kz0xKXt2YXIgcj1lW3RdO2Zvcih2YXIgbiBpbiByLnZhb3Mpci52YW9zW25dLmRlc3Ryb3koKX19LE9hLnNpbXBsZVNlZ21lbnQ9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIG5ldyBPYShbe3ZlcnRleE9mZnNldDp0LHByaW1pdGl2ZU9mZnNldDplLHZlcnRleExlbmd0aDpyLHByaW1pdGl2ZUxlbmd0aDpuLHZhb3M6e30sc29ydEtleTowfV0pfSxPYS5NQVhfVkVSVEVYX0FSUkFZX0xFTkdUSD1NYXRoLnBvdygyLDE2KS0xLGRuKCJTZWdtZW50VmVjdG9yIixPYSk7dmFyIElhPWZ1bmN0aW9uKCl7dGhpcy5pZHM9W10sdGhpcy5wb3NpdGlvbnM9W10sdGhpcy5pbmRleGVkPSExfTtmdW5jdGlvbiBEYSh0LGUscil7dmFyIG49dFtlXTt0W2VdPXRbcl0sdFtyXT1ufUlhLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCxlLHIsbil7dGhpcy5pZHMucHVzaCh0KSx0aGlzLnBvc2l0aW9ucy5wdXNoKGUscixuKX0sSWEucHJvdG90eXBlLmdldFBvc2l0aW9ucz1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPXRoaXMuaWRzLmxlbmd0aC0xO2U8cjspe3ZhciBuPWUrcj4+MTt0aGlzLmlkc1tuXT49dD9yPW46ZT1uKzF9Zm9yKHZhciBhPVtdO3RoaXMuaWRzW2VdPT09dDspe3ZhciBpPXRoaXMucG9zaXRpb25zWzMqZV0sbz10aGlzLnBvc2l0aW9uc1szKmUrMV0scz10aGlzLnBvc2l0aW9uc1szKmUrMl07YS5wdXNoKHtpbmRleDppLHN0YXJ0Om8sZW5kOnN9KSxlKyt9cmV0dXJuIGF9LElhLnNlcmlhbGl6ZT1mdW5jdGlvbih0LGUpe3ZhciByPW5ldyBGbG9hdDY0QXJyYXkodC5pZHMpLG49bmV3IFVpbnQzMkFycmF5KHQucG9zaXRpb25zKTtyZXR1cm4gZnVuY3Rpb24gdChlLHIsbixhKXtpZighKG4+PWEpKXtmb3IodmFyIGk9ZVtuK2E+PjFdLG89bi0xLHM9YSsxOzspe2Rve28rK313aGlsZShlW29dPGkpO2Rve3MtLX13aGlsZShlW3NdPmkpO2lmKG8+PXMpYnJlYWs7RGEoZSxvLHMpLERhKHIsMypvLDMqcyksRGEociwzKm8rMSwzKnMrMSksRGEociwzKm8rMiwzKnMrMil9dChlLHIsbixzKSx0KGUscixzKzEsYSl9fShyLG4sMCxyLmxlbmd0aC0xKSxlLnB1c2goci5idWZmZXIsbi5idWZmZXIpLHtpZHM6cixwb3NpdGlvbnM6bn19LElhLmRlc2VyaWFsaXplPWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBJYTtyZXR1cm4gZS5pZHM9dC5pZHMsZS5wb3NpdGlvbnM9dC5wb3NpdGlvbnMsZS5pbmRleGVkPSEwLGV9LGRuKCJGZWF0dXJlUG9zaXRpb25NYXAiLElhKTt2YXIgUmE9ZnVuY3Rpb24odCxlKXt0aGlzLmdsPXQuZ2wsdGhpcy5sb2NhdGlvbj1lfSxGYT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUscil7dC5jYWxsKHRoaXMsZSxyKSx0aGlzLmN1cnJlbnQ9MH1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuY3VycmVudCE9PXQmJih0aGlzLmN1cnJlbnQ9dCx0aGlzLmdsLnVuaWZvcm0xaSh0aGlzLmxvY2F0aW9uLHQpKX0sZX0oUmEpLEJhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSxyKXt0LmNhbGwodGhpcyxlLHIpLHRoaXMuY3VycmVudD0wfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5jdXJyZW50IT09dCYmKHRoaXMuY3VycmVudD10LHRoaXMuZ2wudW5pZm9ybTFmKHRoaXMubG9jYXRpb24sdCkpfSxlfShSYSksTmE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLHIpe3QuY2FsbCh0aGlzLGUsciksdGhpcy5jdXJyZW50PVswLDBdfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7dFswXT09PXRoaXMuY3VycmVudFswXSYmdFsxXT09PXRoaXMuY3VycmVudFsxXXx8KHRoaXMuY3VycmVudD10LHRoaXMuZ2wudW5pZm9ybTJmKHRoaXMubG9jYXRpb24sdFswXSx0WzFdKSl9LGV9KFJhKSxqYT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUscil7dC5jYWxsKHRoaXMsZSxyKSx0aGlzLmN1cnJlbnQ9WzAsMCwwXX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpe3RbMF09PT10aGlzLmN1cnJlbnRbMF0mJnRbMV09PT10aGlzLmN1cnJlbnRbMV0mJnRbMl09PT10aGlzLmN1cnJlbnRbMl18fCh0aGlzLmN1cnJlbnQ9dCx0aGlzLmdsLnVuaWZvcm0zZih0aGlzLmxvY2F0aW9uLHRbMF0sdFsxXSx0WzJdKSl9LGV9KFJhKSxWYT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUscil7dC5jYWxsKHRoaXMsZSxyKSx0aGlzLmN1cnJlbnQ9WzAsMCwwLDBdfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7dFswXT09PXRoaXMuY3VycmVudFswXSYmdFsxXT09PXRoaXMuY3VycmVudFsxXSYmdFsyXT09PXRoaXMuY3VycmVudFsyXSYmdFszXT09PXRoaXMuY3VycmVudFszXXx8KHRoaXMuY3VycmVudD10LHRoaXMuZ2wudW5pZm9ybTRmKHRoaXMubG9jYXRpb24sdFswXSx0WzFdLHRbMl0sdFszXSkpfSxlfShSYSksVWE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLHIpe3QuY2FsbCh0aGlzLGUsciksdGhpcy5jdXJyZW50PVd0LnRyYW5zcGFyZW50fXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7dC5yPT09dGhpcy5jdXJyZW50LnImJnQuZz09PXRoaXMuY3VycmVudC5nJiZ0LmI9PT10aGlzLmN1cnJlbnQuYiYmdC5hPT09dGhpcy5jdXJyZW50LmF8fCh0aGlzLmN1cnJlbnQ9dCx0aGlzLmdsLnVuaWZvcm00Zih0aGlzLmxvY2F0aW9uLHQucix0LmcsdC5iLHQuYSkpfSxlfShSYSkscWE9bmV3IEZsb2F0MzJBcnJheSgxNiksSGE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLHIpe3QuY2FsbCh0aGlzLGUsciksdGhpcy5jdXJyZW50PXFhfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7aWYodFsxMl0hPT10aGlzLmN1cnJlbnRbMTJdfHx0WzBdIT09dGhpcy5jdXJyZW50WzBdKXJldHVybiB0aGlzLmN1cnJlbnQ9dCx2b2lkIHRoaXMuZ2wudW5pZm9ybU1hdHJpeDRmdih0aGlzLmxvY2F0aW9uLCExLHQpO2Zvcih2YXIgZT0xO2U8MTY7ZSsrKWlmKHRbZV0hPT10aGlzLmN1cnJlbnRbZV0pe3RoaXMuY3VycmVudD10LHRoaXMuZ2wudW5pZm9ybU1hdHJpeDRmdih0aGlzLmxvY2F0aW9uLCExLHQpO2JyZWFrfX0sZX0oUmEpO2Z1bmN0aW9uIEdhKHQpe3JldHVyblt6YSgyNTUqdC5yLDI1NSp0LmcpLHphKDI1NSp0LmIsMjU1KnQuYSldfXZhciBZYT1mdW5jdGlvbih0LGUscil7dGhpcy52YWx1ZT10LHRoaXMubmFtZXM9ZSx0aGlzLnVuaWZvcm1OYW1lcz10aGlzLm5hbWVzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4idV8iK3R9KSx0aGlzLnR5cGU9cix0aGlzLm1heFZhbHVlPS0xLzB9O1lhLnByb3RvdHlwZS5kZWZpbmVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZXMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiIjZGVmaW5lIEhBU19VTklGT1JNX3VfIit0fSl9LFlhLnByb3RvdHlwZS5zZXRDb25zdGFudFBhdHRlcm5Qb3NpdGlvbnM9ZnVuY3Rpb24oKXt9LFlhLnByb3RvdHlwZS5wb3B1bGF0ZVBhaW50QXJyYXk9ZnVuY3Rpb24oKXt9LFlhLnByb3RvdHlwZS51cGRhdGVQYWludEFycmF5PWZ1bmN0aW9uKCl7fSxZYS5wcm90b3R5cGUudXBsb2FkPWZ1bmN0aW9uKCl7fSxZYS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe30sWWEucHJvdG90eXBlLnNldFVuaWZvcm1zPWZ1bmN0aW9uKHQsZSxyLG4pe2Uuc2V0KG4uY29uc3RhbnRPcih0aGlzLnZhbHVlKSl9LFlhLnByb3RvdHlwZS5nZXRCaW5kaW5nPWZ1bmN0aW9uKHQsZSl7cmV0dXJuImNvbG9yIj09PXRoaXMudHlwZT9uZXcgVWEodCxlKTpuZXcgQmEodCxlKX0sWWEuc2VyaWFsaXplPWZ1bmN0aW9uKHQpe3ZhciBlPXQudmFsdWUscj10Lm5hbWVzLG49dC50eXBlO3JldHVybnt2YWx1ZTp2bihlKSxuYW1lczpyLHR5cGU6bn19LFlhLmRlc2VyaWFsaXplPWZ1bmN0aW9uKHQpe3ZhciBlPXQudmFsdWUscj10Lm5hbWVzLG49dC50eXBlO3JldHVybiBuZXcgWWEobW4oZSkscixuKX07dmFyIFdhPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLnZhbHVlPXQsdGhpcy5uYW1lcz1lLHRoaXMudW5pZm9ybU5hbWVzPXRoaXMubmFtZXMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiJ1XyIrdH0pLHRoaXMudHlwZT1yLHRoaXMubWF4VmFsdWU9LTEvMCx0aGlzLnBhdHRlcm5Qb3NpdGlvbnM9e3BhdHRlcm5UbzpudWxsLHBhdHRlcm5Gcm9tOm51bGx9fTtXYS5wcm90b3R5cGUuZGVmaW5lcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWVzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4iI2RlZmluZSBIQVNfVU5JRk9STV91XyIrdH0pfSxXYS5wcm90b3R5cGUucG9wdWxhdGVQYWludEFycmF5PWZ1bmN0aW9uKCl7fSxXYS5wcm90b3R5cGUudXBkYXRlUGFpbnRBcnJheT1mdW5jdGlvbigpe30sV2EucHJvdG90eXBlLnVwbG9hZD1mdW5jdGlvbigpe30sV2EucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt9LFdhLnByb3RvdHlwZS5zZXRDb25zdGFudFBhdHRlcm5Qb3NpdGlvbnM9ZnVuY3Rpb24odCxlKXt0aGlzLnBhdHRlcm5Qb3NpdGlvbnMucGF0dGVyblRvPXQudGxicix0aGlzLnBhdHRlcm5Qb3NpdGlvbnMucGF0dGVybkZyb209ZS50bGJyfSxXYS5wcm90b3R5cGUuc2V0VW5pZm9ybXM9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT10aGlzLnBhdHRlcm5Qb3NpdGlvbnM7InVfcGF0dGVybl90byI9PT1hJiZpLnBhdHRlcm5UbyYmZS5zZXQoaS5wYXR0ZXJuVG8pLCJ1X3BhdHRlcm5fZnJvbSI9PT1hJiZpLnBhdHRlcm5Gcm9tJiZlLnNldChpLnBhdHRlcm5Gcm9tKX0sV2EucHJvdG90eXBlLmdldEJpbmRpbmc9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFZhKHQsZSl9O3ZhciBYYT1mdW5jdGlvbih0LGUscixuKXt0aGlzLmV4cHJlc3Npb249dCx0aGlzLm5hbWVzPWUsdGhpcy50eXBlPXIsdGhpcy51bmlmb3JtTmFtZXM9dGhpcy5uYW1lcy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuImFfIit0fSksdGhpcy5tYXhWYWx1ZT0tMS8wLHRoaXMucGFpbnRWZXJ0ZXhBdHRyaWJ1dGVzPWUubWFwKGZ1bmN0aW9uKHQpe3JldHVybntuYW1lOiJhXyIrdCx0eXBlOiJGbG9hdDMyIixjb21wb25lbnRzOiJjb2xvciI9PT1yPzI6MSxvZmZzZXQ6MH19KSx0aGlzLnBhaW50VmVydGV4QXJyYXk9bmV3IG59O1hhLnByb3RvdHlwZS5kZWZpbmVzPWZ1bmN0aW9uKCl7cmV0dXJuW119LFhhLnByb3RvdHlwZS5zZXRDb25zdGFudFBhdHRlcm5Qb3NpdGlvbnM9ZnVuY3Rpb24oKXt9LFhhLnByb3RvdHlwZS5wb3B1bGF0ZVBhaW50QXJyYXk9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9dGhpcy5wYWludFZlcnRleEFycmF5LGk9YS5sZW5ndGg7YS5yZXNlcnZlKHQpO3ZhciBvPXRoaXMuZXhwcmVzc2lvbi5ldmFsdWF0ZShuZXcgUG4oMCksZSx7fSxuKTtpZigiY29sb3IiPT09dGhpcy50eXBlKWZvcih2YXIgcz1HYShvKSxsPWk7bDx0O2wrKylhLmVtcGxhY2VCYWNrKHNbMF0sc1sxXSk7ZWxzZXtmb3IodmFyIGM9aTtjPHQ7YysrKWEuZW1wbGFjZUJhY2sobyk7dGhpcy5tYXhWYWx1ZT1NYXRoLm1heCh0aGlzLm1heFZhbHVlLG8pfX0sWGEucHJvdG90eXBlLnVwZGF0ZVBhaW50QXJyYXk9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9dGhpcy5wYWludFZlcnRleEFycmF5LGk9dGhpcy5leHByZXNzaW9uLmV2YWx1YXRlKHt6b29tOjB9LHIsbik7aWYoImNvbG9yIj09PXRoaXMudHlwZSlmb3IodmFyIG89R2EoaSkscz10O3M8ZTtzKyspYS5lbXBsYWNlKHMsb1swXSxvWzFdKTtlbHNle2Zvcih2YXIgbD10O2w8ZTtsKyspYS5lbXBsYWNlKGwsaSk7dGhpcy5tYXhWYWx1ZT1NYXRoLm1heCh0aGlzLm1heFZhbHVlLGkpfX0sWGEucHJvdG90eXBlLnVwbG9hZD1mdW5jdGlvbih0KXt0aGlzLnBhaW50VmVydGV4QXJyYXkmJnRoaXMucGFpbnRWZXJ0ZXhBcnJheS5hcnJheUJ1ZmZlciYmKHRoaXMucGFpbnRWZXJ0ZXhCdWZmZXImJnRoaXMucGFpbnRWZXJ0ZXhCdWZmZXIuYnVmZmVyP3RoaXMucGFpbnRWZXJ0ZXhCdWZmZXIudXBkYXRlRGF0YSh0aGlzLnBhaW50VmVydGV4QXJyYXkpOnRoaXMucGFpbnRWZXJ0ZXhCdWZmZXI9dC5jcmVhdGVWZXJ0ZXhCdWZmZXIodGhpcy5wYWludFZlcnRleEFycmF5LHRoaXMucGFpbnRWZXJ0ZXhBdHRyaWJ1dGVzLHRoaXMuZXhwcmVzc2lvbi5pc1N0YXRlRGVwZW5kZW50KSl9LFhhLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5wYWludFZlcnRleEJ1ZmZlciYmdGhpcy5wYWludFZlcnRleEJ1ZmZlci5kZXN0cm95KCl9LFhhLnByb3RvdHlwZS5zZXRVbmlmb3Jtcz1mdW5jdGlvbih0LGUpe2Uuc2V0KDApfSxYYS5wcm90b3R5cGUuZ2V0QmluZGluZz1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgQmEodCxlKX07dmFyIFphPWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt0aGlzLmV4cHJlc3Npb249dCx0aGlzLm5hbWVzPWUsdGhpcy51bmlmb3JtTmFtZXM9dGhpcy5uYW1lcy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuInVfIit0KyJfdCJ9KSx0aGlzLnR5cGU9cix0aGlzLnVzZUludGVnZXJab29tPW4sdGhpcy56b29tPWEsdGhpcy5tYXhWYWx1ZT0tMS8wO3ZhciBvPWk7dGhpcy5wYWludFZlcnRleEF0dHJpYnV0ZXM9ZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJue25hbWU6ImFfIit0LHR5cGU6IkZsb2F0MzIiLGNvbXBvbmVudHM6ImNvbG9yIj09PXI/NDoyLG9mZnNldDowfX0pLHRoaXMucGFpbnRWZXJ0ZXhBcnJheT1uZXcgb307WmEucHJvdG90eXBlLmRlZmluZXM9ZnVuY3Rpb24oKXtyZXR1cm5bXX0sWmEucHJvdG90eXBlLnNldENvbnN0YW50UGF0dGVyblBvc2l0aW9ucz1mdW5jdGlvbigpe30sWmEucHJvdG90eXBlLnBvcHVsYXRlUGFpbnRBcnJheT1mdW5jdGlvbih0LGUscixuKXt2YXIgYT10aGlzLnBhaW50VmVydGV4QXJyYXksaT1hLmxlbmd0aDthLnJlc2VydmUodCk7dmFyIG89dGhpcy5leHByZXNzaW9uLmV2YWx1YXRlKG5ldyBQbih0aGlzLnpvb20pLGUse30sbikscz10aGlzLmV4cHJlc3Npb24uZXZhbHVhdGUobmV3IFBuKHRoaXMuem9vbSsxKSxlLHt9LG4pO2lmKCJjb2xvciI9PT10aGlzLnR5cGUpZm9yKHZhciBsPUdhKG8pLGM9R2EocyksdT1pO3U8dDt1KyspYS5lbXBsYWNlQmFjayhsWzBdLGxbMV0sY1swXSxjWzFdKTtlbHNle2Zvcih2YXIgaD1pO2g8dDtoKyspYS5lbXBsYWNlQmFjayhvLHMpO3RoaXMubWF4VmFsdWU9TWF0aC5tYXgodGhpcy5tYXhWYWx1ZSxvLHMpfX0sWmEucHJvdG90eXBlLnVwZGF0ZVBhaW50QXJyYXk9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9dGhpcy5wYWludFZlcnRleEFycmF5LGk9dGhpcy5leHByZXNzaW9uLmV2YWx1YXRlKHt6b29tOnRoaXMuem9vbX0scixuKSxvPXRoaXMuZXhwcmVzc2lvbi5ldmFsdWF0ZSh7em9vbTp0aGlzLnpvb20rMX0scixuKTtpZigiY29sb3IiPT09dGhpcy50eXBlKWZvcih2YXIgcz1HYShpKSxsPUdhKG8pLGM9dDtjPGU7YysrKWEuZW1wbGFjZShjLHNbMF0sc1sxXSxsWzBdLGxbMV0pO2Vsc2V7Zm9yKHZhciB1PXQ7dTxlO3UrKylhLmVtcGxhY2UodSxpLG8pO3RoaXMubWF4VmFsdWU9TWF0aC5tYXgodGhpcy5tYXhWYWx1ZSxpLG8pfX0sWmEucHJvdG90eXBlLnVwbG9hZD1mdW5jdGlvbih0KXt0aGlzLnBhaW50VmVydGV4QXJyYXkmJnRoaXMucGFpbnRWZXJ0ZXhBcnJheS5hcnJheUJ1ZmZlciYmKHRoaXMucGFpbnRWZXJ0ZXhCdWZmZXImJnRoaXMucGFpbnRWZXJ0ZXhCdWZmZXIuYnVmZmVyP3RoaXMucGFpbnRWZXJ0ZXhCdWZmZXIudXBkYXRlRGF0YSh0aGlzLnBhaW50VmVydGV4QXJyYXkpOnRoaXMucGFpbnRWZXJ0ZXhCdWZmZXI9dC5jcmVhdGVWZXJ0ZXhCdWZmZXIodGhpcy5wYWludFZlcnRleEFycmF5LHRoaXMucGFpbnRWZXJ0ZXhBdHRyaWJ1dGVzLHRoaXMuZXhwcmVzc2lvbi5pc1N0YXRlRGVwZW5kZW50KSl9LFphLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5wYWludFZlcnRleEJ1ZmZlciYmdGhpcy5wYWludFZlcnRleEJ1ZmZlci5kZXN0cm95KCl9LFphLnByb3RvdHlwZS5pbnRlcnBvbGF0aW9uRmFjdG9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnVzZUludGVnZXJab29tP3RoaXMuZXhwcmVzc2lvbi5pbnRlcnBvbGF0aW9uRmFjdG9yKE1hdGguZmxvb3IodCksdGhpcy56b29tLHRoaXMuem9vbSsxKTp0aGlzLmV4cHJlc3Npb24uaW50ZXJwb2xhdGlvbkZhY3Rvcih0LHRoaXMuem9vbSx0aGlzLnpvb20rMSl9LFphLnByb3RvdHlwZS5zZXRVbmlmb3Jtcz1mdW5jdGlvbih0LGUscil7ZS5zZXQodGhpcy5pbnRlcnBvbGF0aW9uRmFjdG9yKHIuem9vbSkpfSxaYS5wcm90b3R5cGUuZ2V0QmluZGluZz1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgQmEodCxlKX07dmFyIEphPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8pe3RoaXMuZXhwcmVzc2lvbj10LHRoaXMubmFtZXM9ZSx0aGlzLnR5cGU9cix0aGlzLnVuaWZvcm1OYW1lcz10aGlzLm5hbWVzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4idV8iK3QrIl90In0pLHRoaXMudXNlSW50ZWdlclpvb209bix0aGlzLnpvb209YSx0aGlzLm1heFZhbHVlPS0xLzAsdGhpcy5sYXllcklkPW8sdGhpcy5wYWludFZlcnRleEF0dHJpYnV0ZXM9ZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJue25hbWU6ImFfIit0LHR5cGU6IlVpbnQxNiIsY29tcG9uZW50czo0LG9mZnNldDowfX0pLHRoaXMuem9vbUluUGFpbnRWZXJ0ZXhBcnJheT1uZXcgaSx0aGlzLnpvb21PdXRQYWludFZlcnRleEFycmF5PW5ldyBpfTtKYS5wcm90b3R5cGUuZGVmaW5lcz1mdW5jdGlvbigpe3JldHVybltdfSxKYS5wcm90b3R5cGUuc2V0Q29uc3RhbnRQYXR0ZXJuUG9zaXRpb25zPWZ1bmN0aW9uKCl7fSxKYS5wcm90b3R5cGUucG9wdWxhdGVQYWludEFycmF5PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLnpvb21JblBhaW50VmVydGV4QXJyYXksYT10aGlzLnpvb21PdXRQYWludFZlcnRleEFycmF5LGk9dGhpcy5sYXllcklkLG89bi5sZW5ndGg7aWYobi5yZXNlcnZlKHQpLGEucmVzZXJ2ZSh0KSxyJiZlLnBhdHRlcm5zJiZlLnBhdHRlcm5zW2ldKXt2YXIgcz1lLnBhdHRlcm5zW2ldLGw9cy5taW4sYz1zLm1pZCx1PXMubWF4LGg9cltsXSxmPXJbY10scD1yW3VdO2lmKCFofHwhZnx8IXApcmV0dXJuO2Zvcih2YXIgZD1vO2Q8dDtkKyspbi5lbXBsYWNlQmFjayhmLnRsWzBdLGYudGxbMV0sZi5iclswXSxmLmJyWzFdLGgudGxbMF0saC50bFsxXSxoLmJyWzBdLGguYnJbMV0pLGEuZW1wbGFjZUJhY2soZi50bFswXSxmLnRsWzFdLGYuYnJbMF0sZi5iclsxXSxwLnRsWzBdLHAudGxbMV0scC5iclswXSxwLmJyWzFdKX19LEphLnByb3RvdHlwZS51cGRhdGVQYWludEFycmF5PWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGk9dGhpcy56b29tSW5QYWludFZlcnRleEFycmF5LG89dGhpcy56b29tT3V0UGFpbnRWZXJ0ZXhBcnJheSxzPXRoaXMubGF5ZXJJZDtpZihhJiZyLnBhdHRlcm5zJiZyLnBhdHRlcm5zW3NdKXt2YXIgbD1yLnBhdHRlcm5zW3NdLGM9bC5taW4sdT1sLm1pZCxoPWwubWF4LGY9YVtjXSxwPWFbdV0sZD1hW2hdO2lmKCFmfHwhcHx8IWQpcmV0dXJuO2Zvcih2YXIgZz10O2c8ZTtnKyspaS5lbXBsYWNlKGcscC50bFswXSxwLnRsWzFdLHAuYnJbMF0scC5iclsxXSxmLnRsWzBdLGYudGxbMV0sZi5iclswXSxmLmJyWzFdKSxvLmVtcGxhY2UoZyxwLnRsWzBdLHAudGxbMV0scC5iclswXSxwLmJyWzFdLGQudGxbMF0sZC50bFsxXSxkLmJyWzBdLGQuYnJbMV0pfX0sSmEucHJvdG90eXBlLnVwbG9hZD1mdW5jdGlvbih0KXt0aGlzLnpvb21JblBhaW50VmVydGV4QXJyYXkmJnRoaXMuem9vbUluUGFpbnRWZXJ0ZXhBcnJheS5hcnJheUJ1ZmZlciYmdGhpcy56b29tT3V0UGFpbnRWZXJ0ZXhBcnJheSYmdGhpcy56b29tT3V0UGFpbnRWZXJ0ZXhBcnJheS5hcnJheUJ1ZmZlciYmKHRoaXMuem9vbUluUGFpbnRWZXJ0ZXhCdWZmZXI9dC5jcmVhdGVWZXJ0ZXhCdWZmZXIodGhpcy56b29tSW5QYWludFZlcnRleEFycmF5LHRoaXMucGFpbnRWZXJ0ZXhBdHRyaWJ1dGVzLHRoaXMuZXhwcmVzc2lvbi5pc1N0YXRlRGVwZW5kZW50KSx0aGlzLnpvb21PdXRQYWludFZlcnRleEJ1ZmZlcj10LmNyZWF0ZVZlcnRleEJ1ZmZlcih0aGlzLnpvb21PdXRQYWludFZlcnRleEFycmF5LHRoaXMucGFpbnRWZXJ0ZXhBdHRyaWJ1dGVzLHRoaXMuZXhwcmVzc2lvbi5pc1N0YXRlRGVwZW5kZW50KSl9LEphLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy56b29tT3V0UGFpbnRWZXJ0ZXhCdWZmZXImJnRoaXMuem9vbU91dFBhaW50VmVydGV4QnVmZmVyLmRlc3Ryb3koKSx0aGlzLnpvb21JblBhaW50VmVydGV4QnVmZmVyJiZ0aGlzLnpvb21JblBhaW50VmVydGV4QnVmZmVyLmRlc3Ryb3koKX0sSmEucHJvdG90eXBlLnNldFVuaWZvcm1zPWZ1bmN0aW9uKHQsZSl7ZS5zZXQoMCl9LEphLnByb3RvdHlwZS5nZXRCaW5kaW5nPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBCYSh0LGUpfTt2YXIgS2E9ZnVuY3Rpb24oKXt0aGlzLmJpbmRlcnM9e30sdGhpcy5jYWNoZUtleT0iIix0aGlzLl9idWZmZXJzPVtdLHRoaXMuX2ZlYXR1cmVNYXA9bmV3IElhLHRoaXMuX2J1ZmZlck9mZnNldD0wfTtLYS5jcmVhdGVEeW5hbWljPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1uZXcgS2EsYT1bXTtmb3IodmFyIGkgaW4gdC5wYWludC5fdmFsdWVzKWlmKHIoaSkpe3ZhciBvPXQucGFpbnQuZ2V0KGkpO2lmKG8gaW5zdGFuY2VvZiBCbiYmdXIoby5wcm9wZXJ0eS5zcGVjaWZpY2F0aW9uKSl7dmFyIHM9JGEoaSx0LnR5cGUpLGw9by5wcm9wZXJ0eS5zcGVjaWZpY2F0aW9uLnR5cGUsYz1vLnByb3BlcnR5LnVzZUludGVnZXJab29tO2lmKCJjcm9zcy1mYWRlZCI9PT1vLnByb3BlcnR5LnNwZWNpZmljYXRpb25bInByb3BlcnR5LXR5cGUiXXx8ImNyb3NzLWZhZGVkLWRhdGEtZHJpdmVuIj09PW8ucHJvcGVydHkuc3BlY2lmaWNhdGlvblsicHJvcGVydHktdHlwZSJdKWlmKCJjb25zdGFudCI9PT1vLnZhbHVlLmtpbmQpbi5iaW5kZXJzW2ldPW5ldyBXYShvLnZhbHVlLnZhbHVlLHMsbCksYS5wdXNoKCIvdV8iK2kpO2Vsc2V7dmFyIHU9dGkoaSxsLCJzb3VyY2UiKTtuLmJpbmRlcnNbaV09bmV3IEphKG8udmFsdWUscyxsLGMsZSx1LHQuaWQpLGEucHVzaCgiL2FfIitpKX1lbHNlIGlmKCJjb25zdGFudCI9PT1vLnZhbHVlLmtpbmQpbi5iaW5kZXJzW2ldPW5ldyBZYShvLnZhbHVlLnZhbHVlLHMsbCksYS5wdXNoKCIvdV8iK2kpO2Vsc2UgaWYoInNvdXJjZSI9PT1vLnZhbHVlLmtpbmQpe3ZhciBoPXRpKGksbCwic291cmNlIik7bi5iaW5kZXJzW2ldPW5ldyBYYShvLnZhbHVlLHMsbCxoKSxhLnB1c2goIi9hXyIraSl9ZWxzZXt2YXIgZj10aShpLGwsImNvbXBvc2l0ZSIpO24uYmluZGVyc1tpXT1uZXcgWmEoby52YWx1ZSxzLGwsYyxlLGYpLGEucHVzaCgiL3pfIitpKX19fXJldHVybiBuLmNhY2hlS2V5PWEuc29ydCgpLmpvaW4oIiIpLG59LEthLnByb3RvdHlwZS5wb3B1bGF0ZVBhaW50QXJyYXlzPWZ1bmN0aW9uKHQsZSxyLG4sYSl7Zm9yKHZhciBpIGluIHRoaXMuYmluZGVycyl0aGlzLmJpbmRlcnNbaV0ucG9wdWxhdGVQYWludEFycmF5KHQsZSxuLGEpO3ZvaWQgMCE9PWUuaWQmJnRoaXMuX2ZlYXR1cmVNYXAuYWRkKCtlLmlkLHIsdGhpcy5fYnVmZmVyT2Zmc2V0LHQpLHRoaXMuX2J1ZmZlck9mZnNldD10fSxLYS5wcm90b3R5cGUuc2V0Q29uc3RhbnRQYXR0ZXJuUG9zaXRpb25zPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIHRoaXMuYmluZGVycyl0aGlzLmJpbmRlcnNbcl0uc2V0Q29uc3RhbnRQYXR0ZXJuUG9zaXRpb25zKHQsZSl9LEthLnByb3RvdHlwZS51cGRhdGVQYWludEFycmF5cz1mdW5jdGlvbih0LGUscixuKXt2YXIgYT0hMTtmb3IodmFyIGkgaW4gdClmb3IodmFyIG89MCxzPXRoaXMuX2ZlYXR1cmVNYXAuZ2V0UG9zaXRpb25zKCtpKTtvPHMubGVuZ3RoO28rPTEpe3ZhciBsPXNbb10sYz1lLmZlYXR1cmUobC5pbmRleCk7Zm9yKHZhciB1IGluIHRoaXMuYmluZGVycyl7dmFyIGg9dGhpcy5iaW5kZXJzW3VdO2lmKCEoaCBpbnN0YW5jZW9mIFlhfHxoIGluc3RhbmNlb2YgV2EpJiYhMD09PWguZXhwcmVzc2lvbi5pc1N0YXRlRGVwZW5kZW50KXt2YXIgZj1yLnBhaW50LmdldCh1KTtoLmV4cHJlc3Npb249Zi52YWx1ZSxoLnVwZGF0ZVBhaW50QXJyYXkobC5zdGFydCxsLmVuZCxjLHRbaV0sbiksYT0hMH19fXJldHVybiBhfSxLYS5wcm90b3R5cGUuZGVmaW5lcz1mdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzLmJpbmRlcnMpdC5wdXNoLmFwcGx5KHQsdGhpcy5iaW5kZXJzW2VdLmRlZmluZXMoKSk7cmV0dXJuIHR9LEthLnByb3RvdHlwZS5nZXRQYWludFZlcnRleEJ1ZmZlcnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYnVmZmVyc30sS2EucHJvdG90eXBlLmdldFVuaWZvcm1zPWZ1bmN0aW9uKHQsZSl7dmFyIHI9W107Zm9yKHZhciBuIGluIHRoaXMuYmluZGVycylmb3IodmFyIGE9dGhpcy5iaW5kZXJzW25dLGk9MCxvPWEudW5pZm9ybU5hbWVzO2k8by5sZW5ndGg7aSs9MSl7dmFyIHM9b1tpXTtpZihlW3NdKXt2YXIgbD1hLmdldEJpbmRpbmcodCxlW3NdKTtyLnB1c2goe25hbWU6cyxwcm9wZXJ0eTpuLGJpbmRpbmc6bH0pfX1yZXR1cm4gcn0sS2EucHJvdG90eXBlLnNldFVuaWZvcm1zPWZ1bmN0aW9uKHQsZSxyLG4pe2Zvcih2YXIgYT0wLGk9ZTthPGkubGVuZ3RoO2ErPTEpe3ZhciBvPWlbYV0scz1vLm5hbWUsbD1vLnByb3BlcnR5LGM9by5iaW5kaW5nO3RoaXMuYmluZGVyc1tsXS5zZXRVbmlmb3Jtcyh0LGMsbixyLmdldChsKSxzKX19LEthLnByb3RvdHlwZS51cGRhdGVQYXR0ZXJuUGFpbnRCdWZmZXJzPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0aGlzLmJpbmRlcnMpe3ZhciBuPXRoaXMuYmluZGVyc1tyXTtpZihuIGluc3RhbmNlb2YgSmEpe3ZhciBhPTI9PT10LmZyb21TY2FsZT9uLnpvb21JblBhaW50VmVydGV4QnVmZmVyOm4uem9vbU91dFBhaW50VmVydGV4QnVmZmVyO2EmJmUucHVzaChhKX1lbHNlKG4gaW5zdGFuY2VvZiBYYXx8biBpbnN0YW5jZW9mIFphKSYmbi5wYWludFZlcnRleEJ1ZmZlciYmZS5wdXNoKG4ucGFpbnRWZXJ0ZXhCdWZmZXIpfXRoaXMuX2J1ZmZlcnM9ZX0sS2EucHJvdG90eXBlLnVwbG9hZD1mdW5jdGlvbih0KXtmb3IodmFyIGUgaW4gdGhpcy5iaW5kZXJzKXRoaXMuYmluZGVyc1tlXS51cGxvYWQodCk7dmFyIHI9W107Zm9yKHZhciBuIGluIHRoaXMuYmluZGVycyl7dmFyIGE9dGhpcy5iaW5kZXJzW25dOyhhIGluc3RhbmNlb2YgWGF8fGEgaW5zdGFuY2VvZiBaYSkmJmEucGFpbnRWZXJ0ZXhCdWZmZXImJnIucHVzaChhLnBhaW50VmVydGV4QnVmZmVyKX10aGlzLl9idWZmZXJzPXJ9LEthLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuYmluZGVycyl0aGlzLmJpbmRlcnNbdF0uZGVzdHJveSgpfTt2YXIgUWE9ZnVuY3Rpb24odCxlLHIsbil7dm9pZCAwPT09biYmKG49ZnVuY3Rpb24oKXtyZXR1cm4hMH0pLHRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zPXt9O2Zvcih2YXIgYT0wLGk9ZTthPGkubGVuZ3RoO2ErPTEpe3ZhciBvPWlbYV07dGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnNbby5pZF09S2EuY3JlYXRlRHluYW1pYyhvLHIsbiksdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnNbby5pZF0ubGF5b3V0QXR0cmlidXRlcz10fXRoaXMubmVlZHNVcGxvYWQ9ITF9O2Z1bmN0aW9uICRhKHQsZSl7cmV0dXJueyJ0ZXh0LW9wYWNpdHkiOlsib3BhY2l0eSJdLCJpY29uLW9wYWNpdHkiOlsib3BhY2l0eSJdLCJ0ZXh0LWNvbG9yIjpbImZpbGxfY29sb3IiXSwiaWNvbi1jb2xvciI6WyJmaWxsX2NvbG9yIl0sInRleHQtaGFsby1jb2xvciI6WyJoYWxvX2NvbG9yIl0sImljb24taGFsby1jb2xvciI6WyJoYWxvX2NvbG9yIl0sInRleHQtaGFsby1ibHVyIjpbImhhbG9fYmx1ciJdLCJpY29uLWhhbG8tYmx1ciI6WyJoYWxvX2JsdXIiXSwidGV4dC1oYWxvLXdpZHRoIjpbImhhbG9fd2lkdGgiXSwiaWNvbi1oYWxvLXdpZHRoIjpbImhhbG9fd2lkdGgiXSwibGluZS1nYXAtd2lkdGgiOlsiZ2Fwd2lkdGgiXSwibGluZS1wYXR0ZXJuIjpbInBhdHRlcm5fdG8iLCJwYXR0ZXJuX2Zyb20iXSwiZmlsbC1wYXR0ZXJuIjpbInBhdHRlcm5fdG8iLCJwYXR0ZXJuX2Zyb20iXSwiZmlsbC1leHRydXNpb24tcGF0dGVybiI6WyJwYXR0ZXJuX3RvIiwicGF0dGVybl9mcm9tIl19W3RdfHxbdC5yZXBsYWNlKGUrIi0iLCIiKS5yZXBsYWNlKC8tL2csIl8iKV19ZnVuY3Rpb24gdGkodCxlLHIpe3ZhciBuPXtjb2xvcjp7c291cmNlOm1hLGNvbXBvc2l0ZTp5YX0sbnVtYmVyOntzb3VyY2U6aGEsY29tcG9zaXRlOm1hfX0sYT1mdW5jdGlvbih0KXtyZXR1cm57ImxpbmUtcGF0dGVybiI6e3NvdXJjZTpyYSxjb21wb3NpdGU6cmF9LCJmaWxsLXBhdHRlcm4iOntzb3VyY2U6cmEsY29tcG9zaXRlOnJhfSwiZmlsbC1leHRydXNpb24tcGF0dGVybiI6e3NvdXJjZTpyYSxjb21wb3NpdGU6cmF9fVt0XX0odCk7cmV0dXJuIGEmJmFbcl18fG5bZV1bcl19UWEucHJvdG90eXBlLnBvcHVsYXRlUGFpbnRBcnJheXM9ZnVuY3Rpb24odCxlLHIsbixhKXtmb3IodmFyIGkgaW4gdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMpdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnNbaV0ucG9wdWxhdGVQYWludEFycmF5cyh0LGUscixuLGEpO3RoaXMubmVlZHNVcGxvYWQ9ITB9LFFhLnByb3RvdHlwZS51cGRhdGVQYWludEFycmF5cz1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGE9MCxpPXI7YTxpLmxlbmd0aDthKz0xKXt2YXIgbz1pW2FdO3RoaXMubmVlZHNVcGxvYWQ9dGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnNbby5pZF0udXBkYXRlUGFpbnRBcnJheXModCxlLG8sbil8fHRoaXMubmVlZHNVcGxvYWR9fSxRYS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnByb2dyYW1Db25maWd1cmF0aW9uc1t0XX0sUWEucHJvdG90eXBlLnVwbG9hZD1mdW5jdGlvbih0KXtpZih0aGlzLm5lZWRzVXBsb2FkKXtmb3IodmFyIGUgaW4gdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMpdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnNbZV0udXBsb2FkKHQpO3RoaXMubmVlZHNVcGxvYWQ9ITF9fSxRYS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucyl0aGlzLnByb2dyYW1Db25maWd1cmF0aW9uc1t0XS5kZXN0cm95KCl9LGRuKCJDb25zdGFudEJpbmRlciIsWWEpLGRuKCJDcm9zc0ZhZGVkQ29uc3RhbnRCaW5kZXIiLFdhKSxkbigiU291cmNlRXhwcmVzc2lvbkJpbmRlciIsWGEpLGRuKCJDcm9zc0ZhZGVkQ29tcG9zaXRlQmluZGVyIixKYSksZG4oIkNvbXBvc2l0ZUV4cHJlc3Npb25CaW5kZXIiLFphKSxkbigiUHJvZ3JhbUNvbmZpZ3VyYXRpb24iLEthLHtvbWl0OlsiX2J1ZmZlcnMiXX0pLGRuKCJQcm9ncmFtQ29uZmlndXJhdGlvblNldCIsUWEpO3ZhciBlaT04MTkyLHJpPSgxNSx7bWluOi0xKk1hdGgucG93KDIsMTQpLG1heDpNYXRoLnBvdygyLDE0KS0xfSk7ZnVuY3Rpb24gbmkodCl7Zm9yKHZhciBlPWVpL3QuZXh0ZW50LHI9dC5sb2FkR2VvbWV0cnkoKSxuPTA7bjxyLmxlbmd0aDtuKyspZm9yKHZhciBhPXJbbl0saT0wO2k8YS5sZW5ndGg7aSsrKXt2YXIgbz1hW2ldO28ueD1NYXRoLnJvdW5kKG8ueCplKSxvLnk9TWF0aC5yb3VuZChvLnkqZSksKG8ueDxyaS5taW58fG8ueD5yaS5tYXh8fG8ueTxyaS5taW58fG8ueT5yaS5tYXgpJiYodygiR2VvbWV0cnkgZXhjZWVkcyBhbGxvd2VkIGV4dGVudCwgcmVkdWNlIHlvdXIgdmVjdG9yIHRpbGUgYnVmZmVyIHNpemUiKSxvLng9YyhvLngscmkubWluLHJpLm1heCksby55PWMoby55LHJpLm1pbixyaS5tYXgpKX1yZXR1cm4gcn1mdW5jdGlvbiBhaSh0LGUscixuLGEpe3QuZW1wbGFjZUJhY2soMiplKyhuKzEpLzIsMipyKyhhKzEpLzIpfXZhciBpaT1mdW5jdGlvbih0KXt0aGlzLnpvb209dC56b29tLHRoaXMub3ZlcnNjYWxpbmc9dC5vdmVyc2NhbGluZyx0aGlzLmxheWVycz10LmxheWVycyx0aGlzLmxheWVySWRzPXRoaXMubGF5ZXJzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZH0pLHRoaXMuaW5kZXg9dC5pbmRleCx0aGlzLmhhc1BhdHRlcm49ITEsdGhpcy5sYXlvdXRWZXJ0ZXhBcnJheT1uZXcgUW4sdGhpcy5pbmRleEFycmF5PW5ldyBkYSx0aGlzLnNlZ21lbnRzPW5ldyBPYSx0aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucz1uZXcgUWEoUGEsdC5sYXllcnMsdC56b29tKSx0aGlzLnN0YXRlRGVwZW5kZW50TGF5ZXJJZHM9dGhpcy5sYXllcnMuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlzU3RhdGVEZXBlbmRlbnQoKX0pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZH0pfTtmdW5jdGlvbiBvaSh0LGUpe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKWlmKGdpKGUsdFtyXSkpcmV0dXJuITA7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspaWYoZ2kodCxlW25dKSlyZXR1cm4hMDtyZXR1cm4hIXVpKHQsZSl9ZnVuY3Rpb24gc2kodCxlLHIpe3JldHVybiEhZ2kodCxlKXx8ISFmaShlLHQscil9ZnVuY3Rpb24gbGkodCxlKXtpZigxPT09dC5sZW5ndGgpcmV0dXJuIGRpKGUsdFswXSk7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspZm9yKHZhciBuPWVbcl0sYT0wO2E8bi5sZW5ndGg7YSsrKWlmKGdpKHQsblthXSkpcmV0dXJuITA7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspaWYoZGkoZSx0W2ldKSlyZXR1cm4hMDtmb3IodmFyIG89MDtvPGUubGVuZ3RoO28rKylpZih1aSh0LGVbb10pKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGNpKHQsZSxyKXtpZih0Lmxlbmd0aD4xKXtpZih1aSh0LGUpKXJldHVybiEwO2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKWlmKGZpKGVbbl0sdCxyKSlyZXR1cm4hMH1mb3IodmFyIGE9MDthPHQubGVuZ3RoO2ErKylpZihmaSh0W2FdLGUscikpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gdWkodCxlKXtpZigwPT09dC5sZW5ndGh8fDA9PT1lLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIHI9MDtyPHQubGVuZ3RoLTE7cisrKWZvcih2YXIgbj10W3JdLGE9dFtyKzFdLGk9MDtpPGUubGVuZ3RoLTE7aSsrKWlmKGhpKG4sYSxlW2ldLGVbaSsxXSkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gaGkodCxlLHIsbil7cmV0dXJuIGsodCxyLG4pIT09ayhlLHIsbikmJmsodCxlLHIpIT09ayh0LGUsbil9ZnVuY3Rpb24gZmkodCxlLHIpe3ZhciBuPXIqcjtpZigxPT09ZS5sZW5ndGgpcmV0dXJuIHQuZGlzdFNxcihlWzBdKTxuO2Zvcih2YXIgYT0xO2E8ZS5sZW5ndGg7YSsrKWlmKHBpKHQsZVthLTFdLGVbYV0pPG4pcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gcGkodCxlLHIpe3ZhciBuPWUuZGlzdFNxcihyKTtpZigwPT09bilyZXR1cm4gdC5kaXN0U3FyKGUpO3ZhciBhPSgodC54LWUueCkqKHIueC1lLngpKyh0LnktZS55KSooci55LWUueSkpL247cmV0dXJuIGE8MD90LmRpc3RTcXIoZSk6YT4xP3QuZGlzdFNxcihyKTp0LmRpc3RTcXIoci5zdWIoZSkuX211bHQoYSkuX2FkZChlKSl9ZnVuY3Rpb24gZGkodCxlKXtmb3IodmFyIHIsbixhLGk9ITEsbz0wO288dC5sZW5ndGg7bysrKWZvcih2YXIgcz0wLGw9KHI9dFtvXSkubGVuZ3RoLTE7czxyLmxlbmd0aDtsPXMrKyluPXJbc10sYT1yW2xdLG4ueT5lLnkhPWEueT5lLnkmJmUueDwoYS54LW4ueCkqKGUueS1uLnkpLyhhLnktbi55KStuLngmJihpPSFpKTtyZXR1cm4gaX1mdW5jdGlvbiBnaSh0LGUpe2Zvcih2YXIgcj0hMSxuPTAsYT10Lmxlbmd0aC0xO248dC5sZW5ndGg7YT1uKyspe3ZhciBpPXRbbl0sbz10W2FdO2kueT5lLnkhPW8ueT5lLnkmJmUueDwoby54LWkueCkqKGUueS1pLnkpLyhvLnktaS55KStpLngmJihyPSFyKX1yZXR1cm4gcn1mdW5jdGlvbiB2aSh0LGUscil7dmFyIG49clswXSxhPXJbMl07aWYodC54PG4ueCYmZS54PG4ueHx8dC54PmEueCYmZS54PmEueHx8dC55PG4ueSYmZS55PG4ueXx8dC55PmEueSYmZS55PmEueSlyZXR1cm4hMTt2YXIgaT1rKHQsZSxyWzBdKTtyZXR1cm4gaSE9PWsodCxlLHJbMV0pfHxpIT09ayh0LGUsclsyXSl8fGkhPT1rKHQsZSxyWzNdKX1mdW5jdGlvbiBtaSh0LGUscil7dmFyIG49ZS5wYWludC5nZXQodCkudmFsdWU7cmV0dXJuImNvbnN0YW50Ij09PW4ua2luZD9uLnZhbHVlOnIucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLmdldChlLmlkKS5iaW5kZXJzW3RdLm1heFZhbHVlfWZ1bmN0aW9uIHlpKHQpe3JldHVybiBNYXRoLnNxcnQodFswXSp0WzBdK3RbMV0qdFsxXSl9ZnVuY3Rpb24geGkodCxlLHIsbixpKXtpZighZVswXSYmIWVbMV0pcmV0dXJuIHQ7dmFyIG89YS5jb252ZXJ0KGUpLl9tdWx0KGkpOyJ2aWV3cG9ydCI9PT1yJiZvLl9yb3RhdGUoLW4pO2Zvcih2YXIgcz1bXSxsPTA7bDx0Lmxlbmd0aDtsKyspe3ZhciBjPXRbbF07cy5wdXNoKGMuc3ViKG8pKX1yZXR1cm4gc31paS5wcm90b3R5cGUucG9wdWxhdGU9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmxheWVyc1swXSxuPVtdLGE9bnVsbDsiY2lyY2xlIj09PXIudHlwZSYmKGE9ci5sYXlvdXQuZ2V0KCJjaXJjbGUtc29ydC1rZXkiKSk7Zm9yKHZhciBpPTAsbz10O2k8by5sZW5ndGg7aSs9MSl7dmFyIHM9b1tpXSxsPXMuZmVhdHVyZSxjPXMuaW5kZXgsdT1zLnNvdXJjZUxheWVySW5kZXg7aWYodGhpcy5sYXllcnNbMF0uX2ZlYXR1cmVGaWx0ZXIobmV3IFBuKHRoaXMuem9vbSksbCkpe3ZhciBoPW5pKGwpLGY9YT9hLmV2YWx1YXRlKGwse30pOnZvaWQgMCxwPXtpZDpsLmlkLHByb3BlcnRpZXM6bC5wcm9wZXJ0aWVzLHR5cGU6bC50eXBlLHNvdXJjZUxheWVySW5kZXg6dSxpbmRleDpjLGdlb21ldHJ5OmgscGF0dGVybnM6e30sc29ydEtleTpmfTtuLnB1c2gocCl9fWEmJm4uc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0LnNvcnRLZXktZS5zb3J0S2V5fSk7Zm9yKHZhciBkPTAsZz1uO2Q8Zy5sZW5ndGg7ZCs9MSl7dmFyIHY9Z1tkXSxtPXYseT1tLmdlb21ldHJ5LHg9bS5pbmRleCxiPW0uc291cmNlTGF5ZXJJbmRleCxfPXRbeF0uZmVhdHVyZTt0aGlzLmFkZEZlYXR1cmUodix5LHgpLGUuZmVhdHVyZUluZGV4Lmluc2VydChfLHkseCxiLHRoaXMuaW5kZXgpfX0saWkucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUscil7dGhpcy5zdGF0ZURlcGVuZGVudExheWVycy5sZW5ndGgmJnRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLnVwZGF0ZVBhaW50QXJyYXlzKHQsZSx0aGlzLnN0YXRlRGVwZW5kZW50TGF5ZXJzLHIpfSxpaS5wcm90b3R5cGUuaXNFbXB0eT1mdW5jdGlvbigpe3JldHVybiAwPT09dGhpcy5sYXlvdXRWZXJ0ZXhBcnJheS5sZW5ndGh9LGlpLnByb3RvdHlwZS51cGxvYWRQZW5kaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMudXBsb2FkZWR8fHRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLm5lZWRzVXBsb2FkfSxpaS5wcm90b3R5cGUudXBsb2FkPWZ1bmN0aW9uKHQpe3RoaXMudXBsb2FkZWR8fCh0aGlzLmxheW91dFZlcnRleEJ1ZmZlcj10LmNyZWF0ZVZlcnRleEJ1ZmZlcih0aGlzLmxheW91dFZlcnRleEFycmF5LFBhKSx0aGlzLmluZGV4QnVmZmVyPXQuY3JlYXRlSW5kZXhCdWZmZXIodGhpcy5pbmRleEFycmF5KSksdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMudXBsb2FkKHQpLHRoaXMudXBsb2FkZWQ9ITB9LGlpLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5sYXlvdXRWZXJ0ZXhCdWZmZXImJih0aGlzLmxheW91dFZlcnRleEJ1ZmZlci5kZXN0cm95KCksdGhpcy5pbmRleEJ1ZmZlci5kZXN0cm95KCksdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMuZGVzdHJveSgpLHRoaXMuc2VnbWVudHMuZGVzdHJveSgpKX0saWkucHJvdG90eXBlLmFkZEZlYXR1cmU9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj0wLGE9ZTtuPGEubGVuZ3RoO24rPTEpZm9yKHZhciBpPTAsbz1hW25dO2k8by5sZW5ndGg7aSs9MSl7dmFyIHM9b1tpXSxsPXMueCxjPXMueTtpZighKGw8MHx8bD49ZWl8fGM8MHx8Yz49ZWkpKXt2YXIgdT10aGlzLnNlZ21lbnRzLnByZXBhcmVTZWdtZW50KDQsdGhpcy5sYXlvdXRWZXJ0ZXhBcnJheSx0aGlzLmluZGV4QXJyYXksdC5zb3J0S2V5KSxoPXUudmVydGV4TGVuZ3RoO2FpKHRoaXMubGF5b3V0VmVydGV4QXJyYXksbCxjLC0xLC0xKSxhaSh0aGlzLmxheW91dFZlcnRleEFycmF5LGwsYywxLC0xKSxhaSh0aGlzLmxheW91dFZlcnRleEFycmF5LGwsYywxLDEpLGFpKHRoaXMubGF5b3V0VmVydGV4QXJyYXksbCxjLC0xLDEpLHRoaXMuaW5kZXhBcnJheS5lbXBsYWNlQmFjayhoLGgrMSxoKzIpLHRoaXMuaW5kZXhBcnJheS5lbXBsYWNlQmFjayhoLGgrMyxoKzIpLHUudmVydGV4TGVuZ3RoKz00LHUucHJpbWl0aXZlTGVuZ3RoKz0yfX10aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucy5wb3B1bGF0ZVBhaW50QXJyYXlzKHRoaXMubGF5b3V0VmVydGV4QXJyYXkubGVuZ3RoLHQscix7fSl9LGRuKCJDaXJjbGVCdWNrZXQiLGlpLHtvbWl0OlsibGF5ZXJzIl19KTt2YXIgYmksX2k9bmV3IEduKHsiY2lyY2xlLXNvcnQta2V5IjpuZXcgVm4oVHQubGF5b3V0X2NpcmNsZVsiY2lyY2xlLXNvcnQta2V5Il0pfSksd2k9e3BhaW50Om5ldyBHbih7ImNpcmNsZS1yYWRpdXMiOm5ldyBWbihUdC5wYWludF9jaXJjbGVbImNpcmNsZS1yYWRpdXMiXSksImNpcmNsZS1jb2xvciI6bmV3IFZuKFR0LnBhaW50X2NpcmNsZVsiY2lyY2xlLWNvbG9yIl0pLCJjaXJjbGUtYmx1ciI6bmV3IFZuKFR0LnBhaW50X2NpcmNsZVsiY2lyY2xlLWJsdXIiXSksImNpcmNsZS1vcGFjaXR5IjpuZXcgVm4oVHQucGFpbnRfY2lyY2xlWyJjaXJjbGUtb3BhY2l0eSJdKSwiY2lyY2xlLXRyYW5zbGF0ZSI6bmV3IGpuKFR0LnBhaW50X2NpcmNsZVsiY2lyY2xlLXRyYW5zbGF0ZSJdKSwiY2lyY2xlLXRyYW5zbGF0ZS1hbmNob3IiOm5ldyBqbihUdC5wYWludF9jaXJjbGVbImNpcmNsZS10cmFuc2xhdGUtYW5jaG9yIl0pLCJjaXJjbGUtcGl0Y2gtc2NhbGUiOm5ldyBqbihUdC5wYWludF9jaXJjbGVbImNpcmNsZS1waXRjaC1zY2FsZSJdKSwiY2lyY2xlLXBpdGNoLWFsaWdubWVudCI6bmV3IGpuKFR0LnBhaW50X2NpcmNsZVsiY2lyY2xlLXBpdGNoLWFsaWdubWVudCJdKSwiY2lyY2xlLXN0cm9rZS13aWR0aCI6bmV3IFZuKFR0LnBhaW50X2NpcmNsZVsiY2lyY2xlLXN0cm9rZS13aWR0aCJdKSwiY2lyY2xlLXN0cm9rZS1jb2xvciI6bmV3IFZuKFR0LnBhaW50X2NpcmNsZVsiY2lyY2xlLXN0cm9rZS1jb2xvciJdKSwiY2lyY2xlLXN0cm9rZS1vcGFjaXR5IjpuZXcgVm4oVHQucGFpbnRfY2lyY2xlWyJjaXJjbGUtc3Ryb2tlLW9wYWNpdHkiXSl9KSxsYXlvdXQ6X2l9LGtpPSJ1bmRlZmluZWQiIT10eXBlb2YgRmxvYXQzMkFycmF5P0Zsb2F0MzJBcnJheTpBcnJheTtmdW5jdGlvbiBUaSh0LGUscil7dmFyIG49ZVswXSxhPWVbMV0saT1lWzJdLG89ZVszXTtyZXR1cm4gdFswXT1yWzBdKm4rcls0XSphK3JbOF0qaStyWzEyXSpvLHRbMV09clsxXSpuK3JbNV0qYStyWzldKmkrclsxM10qbyx0WzJdPXJbMl0qbityWzZdKmErclsxMF0qaStyWzE0XSpvLHRbM109clszXSpuK3JbN10qYStyWzExXSppK3JbMTVdKm8sdH1NYXRoLmh5cG90fHwoTWF0aC5oeXBvdD1mdW5jdGlvbigpe2Zvcih2YXIgdD1hcmd1bWVudHMsZT0wLHI9YXJndW1lbnRzLmxlbmd0aDtyLS07KWUrPXRbcl0qdFtyXTtyZXR1cm4gTWF0aC5zcXJ0KGUpfSksYmk9bmV3IGtpKDMpLGtpIT1GbG9hdDMyQXJyYXkmJihiaVswXT0wLGJpWzFdPTAsYmlbMl09MCksZnVuY3Rpb24oKXt2YXIgdD1uZXcga2koNCk7a2khPUZsb2F0MzJBcnJheSYmKHRbMF09MCx0WzFdPTAsdFsyXT0wLHRbM109MCl9KCk7dmFyIE1pPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dC5jYWxsKHRoaXMsZSx3aSl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmNyZWF0ZUJ1Y2tldD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGlpKHQpfSxlLnByb3RvdHlwZS5xdWVyeVJhZGl1cz1mdW5jdGlvbih0KXt2YXIgZT10O3JldHVybiBtaSgiY2lyY2xlLXJhZGl1cyIsdGhpcyxlKSttaSgiY2lyY2xlLXN0cm9rZS13aWR0aCIsdGhpcyxlKSt5aSh0aGlzLnBhaW50LmdldCgiY2lyY2xlLXRyYW5zbGF0ZSIpKX0sZS5wcm90b3R5cGUucXVlcnlJbnRlcnNlY3RzRmVhdHVyZT1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMpe2Zvcih2YXIgbD14aSh0LHRoaXMucGFpbnQuZ2V0KCJjaXJjbGUtdHJhbnNsYXRlIiksdGhpcy5wYWludC5nZXQoImNpcmNsZS10cmFuc2xhdGUtYW5jaG9yIiksaS5hbmdsZSxvKSxjPXRoaXMucGFpbnQuZ2V0KCJjaXJjbGUtcmFkaXVzIikuZXZhbHVhdGUoZSxyKSt0aGlzLnBhaW50LmdldCgiY2lyY2xlLXN0cm9rZS13aWR0aCIpLmV2YWx1YXRlKGUsciksdT0ibWFwIj09PXRoaXMucGFpbnQuZ2V0KCJjaXJjbGUtcGl0Y2gtYWxpZ25tZW50IiksaD11P2w6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIEFpKHQsZSl9KX0oMCxzKSxmPXU/YypvOmMscD0wLGQ9bjtwPGQubGVuZ3RoO3ArPTEpZm9yKHZhciBnPTAsdj1kW3BdO2c8di5sZW5ndGg7Zys9MSl7dmFyIG09dltnXSx5PXU/bTpBaShtLHMpLHg9ZixiPVRpKFtdLFttLngsbS55LDAsMV0scyk7aWYoInZpZXdwb3J0Ij09PXRoaXMucGFpbnQuZ2V0KCJjaXJjbGUtcGl0Y2gtc2NhbGUiKSYmIm1hcCI9PT10aGlzLnBhaW50LmdldCgiY2lyY2xlLXBpdGNoLWFsaWdubWVudCIpP3gqPWJbM10vaS5jYW1lcmFUb0NlbnRlckRpc3RhbmNlOiJtYXAiPT09dGhpcy5wYWludC5nZXQoImNpcmNsZS1waXRjaC1zY2FsZSIpJiYidmlld3BvcnQiPT09dGhpcy5wYWludC5nZXQoImNpcmNsZS1waXRjaC1hbGlnbm1lbnQiKSYmKHgqPWkuY2FtZXJhVG9DZW50ZXJEaXN0YW5jZS9iWzNdKSxzaShoLHkseCkpcmV0dXJuITB9cmV0dXJuITF9LGV9KFluKTtmdW5jdGlvbiBBaSh0LGUpe3ZhciByPVRpKFtdLFt0LngsdC55LDAsMV0sZSk7cmV0dXJuIG5ldyBhKHJbMF0vclszXSxyWzFdL3JbM10pfXZhciBTaT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGV9KGlpKTtmdW5jdGlvbiBFaSh0LGUscixuKXt2YXIgYT1lLndpZHRoLGk9ZS5oZWlnaHQ7aWYobil7aWYobiBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5KW49bmV3IFVpbnQ4QXJyYXkobi5idWZmZXIpO2Vsc2UgaWYobi5sZW5ndGghPT1hKmkqcil0aHJvdyBuZXcgUmFuZ2VFcnJvcigibWlzbWF0Y2hlZCBpbWFnZSBzaXplIil9ZWxzZSBuPW5ldyBVaW50OEFycmF5KGEqaSpyKTtyZXR1cm4gdC53aWR0aD1hLHQuaGVpZ2h0PWksdC5kYXRhPW4sdH1mdW5jdGlvbiBMaSh0LGUscil7dmFyIG49ZS53aWR0aCxhPWUuaGVpZ2h0O2lmKG4hPT10LndpZHRofHxhIT09dC5oZWlnaHQpe3ZhciBpPUVpKHt9LHt3aWR0aDpuLGhlaWdodDphfSxyKTtDaSh0LGkse3g6MCx5OjB9LHt4OjAseTowfSx7d2lkdGg6TWF0aC5taW4odC53aWR0aCxuKSxoZWlnaHQ6TWF0aC5taW4odC5oZWlnaHQsYSl9LHIpLHQud2lkdGg9bix0LmhlaWdodD1hLHQuZGF0YT1pLmRhdGF9fWZ1bmN0aW9uIENpKHQsZSxyLG4sYSxpKXtpZigwPT09YS53aWR0aHx8MD09PWEuaGVpZ2h0KXJldHVybiBlO2lmKGEud2lkdGg+dC53aWR0aHx8YS5oZWlnaHQ+dC5oZWlnaHR8fHIueD50LndpZHRoLWEud2lkdGh8fHIueT50LmhlaWdodC1hLmhlaWdodCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigib3V0IG9mIHJhbmdlIHNvdXJjZSBjb29yZGluYXRlcyBmb3IgaW1hZ2UgY29weSIpO2lmKGEud2lkdGg+ZS53aWR0aHx8YS5oZWlnaHQ+ZS5oZWlnaHR8fG4ueD5lLndpZHRoLWEud2lkdGh8fG4ueT5lLmhlaWdodC1hLmhlaWdodCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigib3V0IG9mIHJhbmdlIGRlc3RpbmF0aW9uIGNvb3JkaW5hdGVzIGZvciBpbWFnZSBjb3B5Iik7Zm9yKHZhciBvPXQuZGF0YSxzPWUuZGF0YSxsPTA7bDxhLmhlaWdodDtsKyspZm9yKHZhciBjPSgoci55K2wpKnQud2lkdGgrci54KSppLHU9KChuLnkrbCkqZS53aWR0aCtuLngpKmksaD0wO2g8YS53aWR0aCppO2grKylzW3UraF09b1tjK2hdO3JldHVybiBlfWRuKCJIZWF0bWFwQnVja2V0IixTaSx7b21pdDpbImxheWVycyJdfSk7dmFyIFBpPWZ1bmN0aW9uKHQsZSl7RWkodGhpcyx0LDEsZSl9O1BpLnByb3RvdHlwZS5yZXNpemU9ZnVuY3Rpb24odCl7TGkodGhpcyx0LDEpfSxQaS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFBpKHt3aWR0aDp0aGlzLndpZHRoLGhlaWdodDp0aGlzLmhlaWdodH0sbmV3IFVpbnQ4QXJyYXkodGhpcy5kYXRhKSl9LFBpLmNvcHk9ZnVuY3Rpb24odCxlLHIsbixhKXtDaSh0LGUscixuLGEsMSl9O3ZhciBPaT1mdW5jdGlvbih0LGUpe0VpKHRoaXMsdCw0LGUpfTtPaS5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKHQpe0xpKHRoaXMsdCw0KX0sT2kucHJvdG90eXBlLnJlcGxhY2U9ZnVuY3Rpb24odCxlKXtlP3RoaXMuZGF0YS5zZXQodCk6dCBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5P3RoaXMuZGF0YT1uZXcgVWludDhBcnJheSh0LmJ1ZmZlcik6dGhpcy5kYXRhPXR9LE9pLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgT2koe3dpZHRoOnRoaXMud2lkdGgsaGVpZ2h0OnRoaXMuaGVpZ2h0fSxuZXcgVWludDhBcnJheSh0aGlzLmRhdGEpKX0sT2kuY29weT1mdW5jdGlvbih0LGUscixuLGEpe0NpKHQsZSxyLG4sYSw0KX0sZG4oIkFscGhhSW1hZ2UiLFBpKSxkbigiUkdCQUltYWdlIixPaSk7dmFyIHppPXtwYWludDpuZXcgR24oeyJoZWF0bWFwLXJhZGl1cyI6bmV3IFZuKFR0LnBhaW50X2hlYXRtYXBbImhlYXRtYXAtcmFkaXVzIl0pLCJoZWF0bWFwLXdlaWdodCI6bmV3IFZuKFR0LnBhaW50X2hlYXRtYXBbImhlYXRtYXAtd2VpZ2h0Il0pLCJoZWF0bWFwLWludGVuc2l0eSI6bmV3IGpuKFR0LnBhaW50X2hlYXRtYXBbImhlYXRtYXAtaW50ZW5zaXR5Il0pLCJoZWF0bWFwLWNvbG9yIjpuZXcgSG4oVHQucGFpbnRfaGVhdG1hcFsiaGVhdG1hcC1jb2xvciJdKSwiaGVhdG1hcC1vcGFjaXR5IjpuZXcgam4oVHQucGFpbnRfaGVhdG1hcFsiaGVhdG1hcC1vcGFjaXR5Il0pfSl9O2Z1bmN0aW9uIElpKHQsZSl7Zm9yKHZhciByPW5ldyBVaW50OEFycmF5KDEwMjQpLG49e30sYT0wLGk9MDthPDI1NjthKyssaSs9NCl7bltlXT1hLzI1NTt2YXIgbz10LmV2YWx1YXRlKG4pO3JbaSswXT1NYXRoLmZsb29yKDI1NSpvLnIvby5hKSxyW2krMV09TWF0aC5mbG9vcigyNTUqby5nL28uYSkscltpKzJdPU1hdGguZmxvb3IoMjU1Km8uYi9vLmEpLHJbaSszXT1NYXRoLmZsb29yKDI1NSpvLmEpfXJldHVybiBuZXcgT2koe3dpZHRoOjI1NixoZWlnaHQ6MX0scil9dmFyIERpPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dC5jYWxsKHRoaXMsZSx6aSksdGhpcy5fdXBkYXRlQ29sb3JSYW1wKCl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmNyZWF0ZUJ1Y2tldD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IFNpKHQpfSxlLnByb3RvdHlwZS5faGFuZGxlU3BlY2lhbFBhaW50UHJvcGVydHlVcGRhdGU9ZnVuY3Rpb24odCl7ImhlYXRtYXAtY29sb3IiPT09dCYmdGhpcy5fdXBkYXRlQ29sb3JSYW1wKCl9LGUucHJvdG90eXBlLl91cGRhdGVDb2xvclJhbXA9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl90cmFuc2l0aW9uYWJsZVBhaW50Ll92YWx1ZXNbImhlYXRtYXAtY29sb3IiXS52YWx1ZS5leHByZXNzaW9uO3RoaXMuY29sb3JSYW1wPUlpKHQsImhlYXRtYXBEZW5zaXR5IiksdGhpcy5jb2xvclJhbXBUZXh0dXJlPW51bGx9LGUucHJvdG90eXBlLnJlc2l6ZT1mdW5jdGlvbigpe3RoaXMuaGVhdG1hcEZibyYmKHRoaXMuaGVhdG1hcEZiby5kZXN0cm95KCksdGhpcy5oZWF0bWFwRmJvPW51bGwpfSxlLnByb3RvdHlwZS5xdWVyeVJhZGl1cz1mdW5jdGlvbigpe3JldHVybiAwfSxlLnByb3RvdHlwZS5xdWVyeUludGVyc2VjdHNGZWF0dXJlPWZ1bmN0aW9uKCl7cmV0dXJuITF9LGUucHJvdG90eXBlLmhhc09mZnNjcmVlblBhc3M9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMucGFpbnQuZ2V0KCJoZWF0bWFwLW9wYWNpdHkiKSYmIm5vbmUiIT09dGhpcy52aXNpYmlsaXR5fSxlfShZbiksUmk9e3BhaW50Om5ldyBHbih7ImhpbGxzaGFkZS1pbGx1bWluYXRpb24tZGlyZWN0aW9uIjpuZXcgam4oVHQucGFpbnRfaGlsbHNoYWRlWyJoaWxsc2hhZGUtaWxsdW1pbmF0aW9uLWRpcmVjdGlvbiJdKSwiaGlsbHNoYWRlLWlsbHVtaW5hdGlvbi1hbmNob3IiOm5ldyBqbihUdC5wYWludF9oaWxsc2hhZGVbImhpbGxzaGFkZS1pbGx1bWluYXRpb24tYW5jaG9yIl0pLCJoaWxsc2hhZGUtZXhhZ2dlcmF0aW9uIjpuZXcgam4oVHQucGFpbnRfaGlsbHNoYWRlWyJoaWxsc2hhZGUtZXhhZ2dlcmF0aW9uIl0pLCJoaWxsc2hhZGUtc2hhZG93LWNvbG9yIjpuZXcgam4oVHQucGFpbnRfaGlsbHNoYWRlWyJoaWxsc2hhZGUtc2hhZG93LWNvbG9yIl0pLCJoaWxsc2hhZGUtaGlnaGxpZ2h0LWNvbG9yIjpuZXcgam4oVHQucGFpbnRfaGlsbHNoYWRlWyJoaWxsc2hhZGUtaGlnaGxpZ2h0LWNvbG9yIl0pLCJoaWxsc2hhZGUtYWNjZW50LWNvbG9yIjpuZXcgam4oVHQucGFpbnRfaGlsbHNoYWRlWyJoaWxsc2hhZGUtYWNjZW50LWNvbG9yIl0pfSl9LEZpPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dC5jYWxsKHRoaXMsZSxSaSl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmhhc09mZnNjcmVlblBhc3M9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMucGFpbnQuZ2V0KCJoaWxsc2hhZGUtZXhhZ2dlcmF0aW9uIikmJiJub25lIiE9PXRoaXMudmlzaWJpbGl0eX0sZX0oWW4pLEJpPUpuKFt7bmFtZToiYV9wb3MiLGNvbXBvbmVudHM6Mix0eXBlOiJJbnQxNiJ9XSw0KS5tZW1iZXJzLE5pPVZpLGppPVZpO2Z1bmN0aW9uIFZpKHQsZSxyKXtyPXJ8fDI7dmFyIG4sYSxpLG8scyxsLGMsdT1lJiZlLmxlbmd0aCxoPXU/ZVswXSpyOnQubGVuZ3RoLGY9VWkodCwwLGgsciwhMCkscD1bXTtpZighZnx8Zi5uZXh0PT09Zi5wcmV2KXJldHVybiBwO2lmKHUmJihmPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhLGksbyxzPVtdO2ZvcihhPTAsaT1lLmxlbmd0aDthPGk7YSsrKShvPVVpKHQsZVthXSpuLGE8aS0xP2VbYSsxXSpuOnQubGVuZ3RoLG4sITEpKT09PW8ubmV4dCYmKG8uc3RlaW5lcj0hMCkscy5wdXNoKCRpKG8pKTtmb3Iocy5zb3J0KFppKSxhPTA7YTxzLmxlbmd0aDthKyspSmkoc1thXSxyKSxyPXFpKHIsci5uZXh0KTtyZXR1cm4gcn0odCxlLGYscikpLHQubGVuZ3RoPjgwKnIpe249aT10WzBdLGE9bz10WzFdO2Zvcih2YXIgZD1yO2Q8aDtkKz1yKShzPXRbZF0pPG4mJihuPXMpLChsPXRbZCsxXSk8YSYmKGE9bCkscz5pJiYoaT1zKSxsPm8mJihvPWwpO2M9MCE9PShjPU1hdGgubWF4KGktbixvLWEpKT8xL2M6MH1yZXR1cm4gSGkoZixwLHIsbixhLGMpLHB9ZnVuY3Rpb24gVWkodCxlLHIsbixhKXt2YXIgaSxvO2lmKGE9PT1mbyh0LGUscixuKT4wKWZvcihpPWU7aTxyO2krPW4pbz1jbyhpLHRbaV0sdFtpKzFdLG8pO2Vsc2UgZm9yKGk9ci1uO2k+PWU7aS09bilvPWNvKGksdFtpXSx0W2krMV0sbyk7cmV0dXJuIG8mJm5vKG8sby5uZXh0KSYmKHVvKG8pLG89by5uZXh0KSxvfWZ1bmN0aW9uIHFpKHQsZSl7aWYoIXQpcmV0dXJuIHQ7ZXx8KGU9dCk7dmFyIHIsbj10O2Rve2lmKHI9ITEsbi5zdGVpbmVyfHwhbm8obixuLm5leHQpJiYwIT09cm8obi5wcmV2LG4sbi5uZXh0KSluPW4ubmV4dDtlbHNle2lmKHVvKG4pLChuPWU9bi5wcmV2KT09PW4ubmV4dClicmVhaztyPSEwfX13aGlsZShyfHxuIT09ZSk7cmV0dXJuIGV9ZnVuY3Rpb24gSGkodCxlLHIsbixhLGksbyl7aWYodCl7IW8mJmkmJmZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXQ7ZG97bnVsbD09PWEueiYmKGEuej1RaShhLngsYS55LGUscixuKSksYS5wcmV2Wj1hLnByZXYsYS5uZXh0Wj1hLm5leHQsYT1hLm5leHR9d2hpbGUoYSE9PXQpO2EucHJldloubmV4dFo9bnVsbCxhLnByZXZaPW51bGwsZnVuY3Rpb24odCl7dmFyIGUscixuLGEsaSxvLHMsbCxjPTE7ZG97Zm9yKHI9dCx0PW51bGwsaT1udWxsLG89MDtyOyl7Zm9yKG8rKyxuPXIscz0wLGU9MDtlPGMmJihzKyssbj1uLm5leHRaKTtlKyspO2ZvcihsPWM7cz4wfHxsPjAmJm47KTAhPT1zJiYoMD09PWx8fCFufHxyLno8PW4ueik/KGE9cixyPXIubmV4dFoscy0tKTooYT1uLG49bi5uZXh0WixsLS0pLGk/aS5uZXh0Wj1hOnQ9YSxhLnByZXZaPWksaT1hO3I9bn1pLm5leHRaPW51bGwsYyo9Mn13aGlsZShvPjEpfShhKX0odCxuLGEsaSk7Zm9yKHZhciBzLGwsYz10O3QucHJldiE9PXQubmV4dDspaWYocz10LnByZXYsbD10Lm5leHQsaT9ZaSh0LG4sYSxpKTpHaSh0KSllLnB1c2gocy5pL3IpLGUucHVzaCh0LmkvciksZS5wdXNoKGwuaS9yKSx1byh0KSx0PWwubmV4dCxjPWwubmV4dDtlbHNlIGlmKCh0PWwpPT09Yyl7bz8xPT09bz9IaSh0PVdpKHFpKHQpLGUsciksZSxyLG4sYSxpLDIpOjI9PT1vJiZYaSh0LGUscixuLGEsaSk6SGkocWkodCksZSxyLG4sYSxpLDEpO2JyZWFrfX19ZnVuY3Rpb24gR2kodCl7dmFyIGU9dC5wcmV2LHI9dCxuPXQubmV4dDtpZihybyhlLHIsbik+PTApcmV0dXJuITE7Zm9yKHZhciBhPXQubmV4dC5uZXh0O2EhPT10LnByZXY7KXtpZih0byhlLngsZS55LHIueCxyLnksbi54LG4ueSxhLngsYS55KSYmcm8oYS5wcmV2LGEsYS5uZXh0KT49MClyZXR1cm4hMTthPWEubmV4dH1yZXR1cm4hMH1mdW5jdGlvbiBZaSh0LGUscixuKXt2YXIgYT10LnByZXYsaT10LG89dC5uZXh0O2lmKHJvKGEsaSxvKT49MClyZXR1cm4hMTtmb3IodmFyIHM9YS54PGkueD9hLng8by54P2EueDpvLng6aS54PG8ueD9pLng6by54LGw9YS55PGkueT9hLnk8by55P2EueTpvLnk6aS55PG8ueT9pLnk6by55LGM9YS54PmkueD9hLng+by54P2EueDpvLng6aS54Pm8ueD9pLng6by54LHU9YS55PmkueT9hLnk+by55P2EueTpvLnk6aS55Pm8ueT9pLnk6by55LGg9UWkocyxsLGUscixuKSxmPVFpKGMsdSxlLHIsbikscD10LnByZXZaLGQ9dC5uZXh0WjtwJiZwLno+PWgmJmQmJmQuejw9Zjspe2lmKHAhPT10LnByZXYmJnAhPT10Lm5leHQmJnRvKGEueCxhLnksaS54LGkueSxvLngsby55LHAueCxwLnkpJiZybyhwLnByZXYscCxwLm5leHQpPj0wKXJldHVybiExO2lmKHA9cC5wcmV2WixkIT09dC5wcmV2JiZkIT09dC5uZXh0JiZ0byhhLngsYS55LGkueCxpLnksby54LG8ueSxkLngsZC55KSYmcm8oZC5wcmV2LGQsZC5uZXh0KT49MClyZXR1cm4hMTtkPWQubmV4dFp9Zm9yKDtwJiZwLno+PWg7KXtpZihwIT09dC5wcmV2JiZwIT09dC5uZXh0JiZ0byhhLngsYS55LGkueCxpLnksby54LG8ueSxwLngscC55KSYmcm8ocC5wcmV2LHAscC5uZXh0KT49MClyZXR1cm4hMTtwPXAucHJldlp9Zm9yKDtkJiZkLno8PWY7KXtpZihkIT09dC5wcmV2JiZkIT09dC5uZXh0JiZ0byhhLngsYS55LGkueCxpLnksby54LG8ueSxkLngsZC55KSYmcm8oZC5wcmV2LGQsZC5uZXh0KT49MClyZXR1cm4hMTtkPWQubmV4dFp9cmV0dXJuITB9ZnVuY3Rpb24gV2kodCxlLHIpe3ZhciBuPXQ7ZG97dmFyIGE9bi5wcmV2LGk9bi5uZXh0Lm5leHQ7IW5vKGEsaSkmJmFvKGEsbixuLm5leHQsaSkmJnNvKGEsaSkmJnNvKGksYSkmJihlLnB1c2goYS5pL3IpLGUucHVzaChuLmkvciksZS5wdXNoKGkuaS9yKSx1byhuKSx1byhuLm5leHQpLG49dD1pKSxuPW4ubmV4dH13aGlsZShuIT09dCk7cmV0dXJuIHFpKG4pfWZ1bmN0aW9uIFhpKHQsZSxyLG4sYSxpKXt2YXIgbz10O2Rve2Zvcih2YXIgcz1vLm5leHQubmV4dDtzIT09by5wcmV2Oyl7aWYoby5pIT09cy5pJiZlbyhvLHMpKXt2YXIgbD1sbyhvLHMpO3JldHVybiBvPXFpKG8sby5uZXh0KSxsPXFpKGwsbC5uZXh0KSxIaShvLGUscixuLGEsaSksdm9pZCBIaShsLGUscixuLGEsaSl9cz1zLm5leHR9bz1vLm5leHR9d2hpbGUobyE9PXQpfWZ1bmN0aW9uIFppKHQsZSl7cmV0dXJuIHQueC1lLnh9ZnVuY3Rpb24gSmkodCxlKXtpZihlPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbj1lLGE9dC54LGk9dC55LG89LTEvMDtkb3tpZihpPD1uLnkmJmk+PW4ubmV4dC55JiZuLm5leHQueSE9PW4ueSl7dmFyIHM9bi54KyhpLW4ueSkqKG4ubmV4dC54LW4ueCkvKG4ubmV4dC55LW4ueSk7aWYoczw9YSYmcz5vKXtpZihvPXMscz09PWEpe2lmKGk9PT1uLnkpcmV0dXJuIG47aWYoaT09PW4ubmV4dC55KXJldHVybiBuLm5leHR9cj1uLng8bi5uZXh0Lng/bjpuLm5leHR9fW49bi5uZXh0fXdoaWxlKG4hPT1lKTtpZighcilyZXR1cm4gbnVsbDtpZihhPT09bylyZXR1cm4gcjt2YXIgbCxjPXIsdT1yLngsaD1yLnksZj0xLzA7bj1yO2Rve2E+PW4ueCYmbi54Pj11JiZhIT09bi54JiZ0byhpPGg/YTpvLGksdSxoLGk8aD9vOmEsaSxuLngsbi55KSYmKGw9TWF0aC5hYnMoaS1uLnkpLyhhLW4ueCksc28obix0KSYmKGw8Znx8bD09PWYmJihuLng+ci54fHxuLng9PT1yLngmJktpKHIsbikpKSYmKHI9bixmPWwpKSxuPW4ubmV4dH13aGlsZShuIT09Yyk7cmV0dXJuIHJ9KHQsZSkpe3ZhciByPWxvKGUsdCk7cWkocixyLm5leHQpfX1mdW5jdGlvbiBLaSh0LGUpe3JldHVybiBybyh0LnByZXYsdCxlLnByZXYpPDAmJnJvKGUubmV4dCx0LHQubmV4dCk8MH1mdW5jdGlvbiBRaSh0LGUscixuLGEpe3JldHVybih0PTE0MzE2NTU3NjUmKCh0PTg1ODk5MzQ1OSYoKHQ9MjUyNjQ1MTM1JigodD0xNjcxMTkzNSYoKHQ9MzI3NjcqKHQtcikqYSl8dDw8OCkpfHQ8PDQpKXx0PDwyKSl8dDw8MSkpfChlPTE0MzE2NTU3NjUmKChlPTg1ODk5MzQ1OSYoKGU9MjUyNjQ1MTM1JigoZT0xNjcxMTkzNSYoKGU9MzI3NjcqKGUtbikqYSl8ZTw8OCkpfGU8PDQpKXxlPDwyKSl8ZTw8MSkpPDwxfWZ1bmN0aW9uICRpKHQpe3ZhciBlPXQscj10O2RveyhlLng8ci54fHxlLng9PT1yLngmJmUueTxyLnkpJiYocj1lKSxlPWUubmV4dH13aGlsZShlIT09dCk7cmV0dXJuIHJ9ZnVuY3Rpb24gdG8odCxlLHIsbixhLGksbyxzKXtyZXR1cm4oYS1vKSooZS1zKS0odC1vKSooaS1zKT49MCYmKHQtbykqKG4tcyktKHItbykqKGUtcyk+PTAmJihyLW8pKihpLXMpLShhLW8pKihuLXMpPj0wfWZ1bmN0aW9uIGVvKHQsZSl7cmV0dXJuIHQubmV4dC5pIT09ZS5pJiZ0LnByZXYuaSE9PWUuaSYmIWZ1bmN0aW9uKHQsZSl7dmFyIHI9dDtkb3tpZihyLmkhPT10LmkmJnIubmV4dC5pIT09dC5pJiZyLmkhPT1lLmkmJnIubmV4dC5pIT09ZS5pJiZhbyhyLHIubmV4dCx0LGUpKXJldHVybiEwO3I9ci5uZXh0fXdoaWxlKHIhPT10KTtyZXR1cm4hMX0odCxlKSYmKHNvKHQsZSkmJnNvKGUsdCkmJmZ1bmN0aW9uKHQsZSl7dmFyIHI9dCxuPSExLGE9KHQueCtlLngpLzIsaT0odC55K2UueSkvMjtkb3tyLnk+aSE9ci5uZXh0Lnk+aSYmci5uZXh0LnkhPT1yLnkmJmE8KHIubmV4dC54LXIueCkqKGktci55KS8oci5uZXh0Lnktci55KStyLngmJihuPSFuKSxyPXIubmV4dH13aGlsZShyIT09dCk7cmV0dXJuIG59KHQsZSkmJihybyh0LnByZXYsdCxlLnByZXYpfHxybyh0LGUucHJldixlKSl8fG5vKHQsZSkmJnJvKHQucHJldix0LHQubmV4dCk+MCYmcm8oZS5wcmV2LGUsZS5uZXh0KT4wKX1mdW5jdGlvbiBybyh0LGUscil7cmV0dXJuKGUueS10LnkpKihyLngtZS54KS0oZS54LXQueCkqKHIueS1lLnkpfWZ1bmN0aW9uIG5vKHQsZSl7cmV0dXJuIHQueD09PWUueCYmdC55PT09ZS55fWZ1bmN0aW9uIGFvKHQsZSxyLG4pe3ZhciBhPW9vKHJvKHQsZSxyKSksaT1vbyhybyh0LGUsbikpLG89b28ocm8ocixuLHQpKSxzPW9vKHJvKHIsbixlKSk7cmV0dXJuIGEhPT1pJiZvIT09c3x8ISgwIT09YXx8IWlvKHQscixlKSl8fCEoMCE9PWl8fCFpbyh0LG4sZSkpfHwhKDAhPT1vfHwhaW8ocix0LG4pKXx8ISgwIT09c3x8IWlvKHIsZSxuKSl9ZnVuY3Rpb24gaW8odCxlLHIpe3JldHVybiBlLng8PU1hdGgubWF4KHQueCxyLngpJiZlLng+PU1hdGgubWluKHQueCxyLngpJiZlLnk8PU1hdGgubWF4KHQueSxyLnkpJiZlLnk+PU1hdGgubWluKHQueSxyLnkpfWZ1bmN0aW9uIG9vKHQpe3JldHVybiB0PjA/MTp0PDA/LTE6MH1mdW5jdGlvbiBzbyh0LGUpe3JldHVybiBybyh0LnByZXYsdCx0Lm5leHQpPDA/cm8odCxlLHQubmV4dCk+PTAmJnJvKHQsdC5wcmV2LGUpPj0wOnJvKHQsZSx0LnByZXYpPDB8fHJvKHQsdC5uZXh0LGUpPDB9ZnVuY3Rpb24gbG8odCxlKXt2YXIgcj1uZXcgaG8odC5pLHQueCx0LnkpLG49bmV3IGhvKGUuaSxlLngsZS55KSxhPXQubmV4dCxpPWUucHJldjtyZXR1cm4gdC5uZXh0PWUsZS5wcmV2PXQsci5uZXh0PWEsYS5wcmV2PXIsbi5uZXh0PXIsci5wcmV2PW4saS5uZXh0PW4sbi5wcmV2PWksbn1mdW5jdGlvbiBjbyh0LGUscixuKXt2YXIgYT1uZXcgaG8odCxlLHIpO3JldHVybiBuPyhhLm5leHQ9bi5uZXh0LGEucHJldj1uLG4ubmV4dC5wcmV2PWEsbi5uZXh0PWEpOihhLnByZXY9YSxhLm5leHQ9YSksYX1mdW5jdGlvbiB1byh0KXt0Lm5leHQucHJldj10LnByZXYsdC5wcmV2Lm5leHQ9dC5uZXh0LHQucHJldlomJih0LnByZXZaLm5leHRaPXQubmV4dFopLHQubmV4dFomJih0Lm5leHRaLnByZXZaPXQucHJldlopfWZ1bmN0aW9uIGhvKHQsZSxyKXt0aGlzLmk9dCx0aGlzLng9ZSx0aGlzLnk9cix0aGlzLnByZXY9bnVsbCx0aGlzLm5leHQ9bnVsbCx0aGlzLno9bnVsbCx0aGlzLnByZXZaPW51bGwsdGhpcy5uZXh0Wj1udWxsLHRoaXMuc3RlaW5lcj0hMX1mdW5jdGlvbiBmbyh0LGUscixuKXtmb3IodmFyIGE9MCxpPWUsbz1yLW47aTxyO2krPW4pYSs9KHRbb10tdFtpXSkqKHRbaSsxXSt0W28rMV0pLG89aTtyZXR1cm4gYX1mdW5jdGlvbiBwbyh0LGUscixuLGEpeyFmdW5jdGlvbiB0KGUscixuLGEsaSl7Zm9yKDthPm47KXtpZihhLW4+NjAwKXt2YXIgbz1hLW4rMSxzPXItbisxLGw9TWF0aC5sb2cobyksYz0uNSpNYXRoLmV4cCgyKmwvMyksdT0uNSpNYXRoLnNxcnQobCpjKihvLWMpL28pKihzLW8vMjwwPy0xOjEpO3QoZSxyLE1hdGgubWF4KG4sTWF0aC5mbG9vcihyLXMqYy9vK3UpKSxNYXRoLm1pbihhLE1hdGguZmxvb3Iocisoby1zKSpjL28rdSkpLGkpfXZhciBoPWVbcl0sZj1uLHA9YTtmb3IoZ28oZSxuLHIpLGkoZVthXSxoKT4wJiZnbyhlLG4sYSk7ZjxwOyl7Zm9yKGdvKGUsZixwKSxmKysscC0tO2koZVtmXSxoKTwwOylmKys7Zm9yKDtpKGVbcF0saCk+MDspcC0tfTA9PT1pKGVbbl0saCk/Z28oZSxuLHApOmdvKGUsKytwLGEpLHA8PXImJihuPXArMSkscjw9cCYmKGE9cC0xKX19KHQsZSxyfHwwLG58fHQubGVuZ3RoLTEsYXx8dm8pfWZ1bmN0aW9uIGdvKHQsZSxyKXt2YXIgbj10W2VdO3RbZV09dFtyXSx0W3JdPW59ZnVuY3Rpb24gdm8odCxlKXtyZXR1cm4gdDxlPy0xOnQ+ZT8xOjB9ZnVuY3Rpb24gbW8odCxlKXt2YXIgcj10Lmxlbmd0aDtpZihyPD0xKXJldHVyblt0XTtmb3IodmFyIG4sYSxpPVtdLG89MDtvPHI7bysrKXt2YXIgcz1UKHRbb10pOzAhPT1zJiYodFtvXS5hcmVhPU1hdGguYWJzKHMpLHZvaWQgMD09PWEmJihhPXM8MCksYT09PXM8MD8obiYmaS5wdXNoKG4pLG49W3Rbb11dKTpuLnB1c2godFtvXSkpfWlmKG4mJmkucHVzaChuKSxlPjEpZm9yKHZhciBsPTA7bDxpLmxlbmd0aDtsKyspaVtsXS5sZW5ndGg8PWV8fChwbyhpW2xdLGUsMSxpW2xdLmxlbmd0aC0xLHlvKSxpW2xdPWlbbF0uc2xpY2UoMCxlKSk7cmV0dXJuIGl9ZnVuY3Rpb24geW8odCxlKXtyZXR1cm4gZS5hcmVhLXQuYXJlYX1mdW5jdGlvbiB4byh0LGUscil7Zm9yKHZhciBuPXIucGF0dGVybkRlcGVuZGVuY2llcyxhPSExLGk9MCxvPWU7aTxvLmxlbmd0aDtpKz0xKXt2YXIgcz1vW2ldLnBhaW50LmdldCh0KyItcGF0dGVybiIpO3MuaXNDb25zdGFudCgpfHwoYT0hMCk7dmFyIGw9cy5jb25zdGFudE9yKG51bGwpO2wmJihhPSEwLG5bbC50b109ITAsbltsLmZyb21dPSEwKX1yZXR1cm4gYX1mdW5jdGlvbiBibyh0LGUscixuLGEpe2Zvcih2YXIgaT1hLnBhdHRlcm5EZXBlbmRlbmNpZXMsbz0wLHM9ZTtvPHMubGVuZ3RoO28rPTEpe3ZhciBsPXNbb10sYz1sLnBhaW50LmdldCh0KyItcGF0dGVybiIpLnZhbHVlO2lmKCJjb25zdGFudCIhPT1jLmtpbmQpe3ZhciB1PWMuZXZhbHVhdGUoe3pvb206bi0xfSxyLHt9KSxoPWMuZXZhbHVhdGUoe3pvb206bn0scix7fSksZj1jLmV2YWx1YXRlKHt6b29tOm4rMX0scix7fSk7aVt1XT0hMCxpW2hdPSEwLGlbZl09ITAsci5wYXR0ZXJuc1tsLmlkXT17bWluOnUsbWlkOmgsbWF4OmZ9fX1yZXR1cm4gcn1WaS5kZXZpYXRpb249ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9ZSYmZS5sZW5ndGgsaT1hP2VbMF0qcjp0Lmxlbmd0aCxvPU1hdGguYWJzKGZvKHQsMCxpLHIpKTtpZihhKWZvcih2YXIgcz0wLGw9ZS5sZW5ndGg7czxsO3MrKyl7dmFyIGM9ZVtzXSpyLHU9czxsLTE/ZVtzKzFdKnI6dC5sZW5ndGg7by09TWF0aC5hYnMoZm8odCxjLHUscikpfXZhciBoPTA7Zm9yKHM9MDtzPG4ubGVuZ3RoO3MrPTMpe3ZhciBmPW5bc10qcixwPW5bcysxXSpyLGQ9bltzKzJdKnI7aCs9TWF0aC5hYnMoKHRbZl0tdFtkXSkqKHRbcCsxXS10W2YrMV0pLSh0W2ZdLXRbcF0pKih0W2QrMV0tdFtmKzFdKSl9cmV0dXJuIDA9PT1vJiYwPT09aD8wOk1hdGguYWJzKChoLW8pL28pfSxWaS5mbGF0dGVuPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10WzBdWzBdLmxlbmd0aCxyPXt2ZXJ0aWNlczpbXSxob2xlczpbXSxkaW1lbnNpb25zOmV9LG49MCxhPTA7YTx0Lmxlbmd0aDthKyspe2Zvcih2YXIgaT0wO2k8dFthXS5sZW5ndGg7aSsrKWZvcih2YXIgbz0wO288ZTtvKyspci52ZXJ0aWNlcy5wdXNoKHRbYV1baV1bb10pO2E+MCYmKG4rPXRbYS0xXS5sZW5ndGgsci5ob2xlcy5wdXNoKG4pKX1yZXR1cm4gcn0sTmkuZGVmYXVsdD1qaTt2YXIgX289ZnVuY3Rpb24odCl7dGhpcy56b29tPXQuem9vbSx0aGlzLm92ZXJzY2FsaW5nPXQub3ZlcnNjYWxpbmcsdGhpcy5sYXllcnM9dC5sYXllcnMsdGhpcy5sYXllcklkcz10aGlzLmxheWVycy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWR9KSx0aGlzLmluZGV4PXQuaW5kZXgsdGhpcy5oYXNQYXR0ZXJuPSExLHRoaXMucGF0dGVybkZlYXR1cmVzPVtdLHRoaXMubGF5b3V0VmVydGV4QXJyYXk9bmV3IFFuLHRoaXMuaW5kZXhBcnJheT1uZXcgZGEsdGhpcy5pbmRleEFycmF5Mj1uZXcgZ2EsdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnM9bmV3IFFhKEJpLHQubGF5ZXJzLHQuem9vbSksdGhpcy5zZWdtZW50cz1uZXcgT2EsdGhpcy5zZWdtZW50czI9bmV3IE9hLHRoaXMuc3RhdGVEZXBlbmRlbnRMYXllcklkcz10aGlzLmxheWVycy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQuaXNTdGF0ZURlcGVuZGVudCgpfSkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkfSl9O19vLnByb3RvdHlwZS5wb3B1bGF0ZT1mdW5jdGlvbih0LGUpe3RoaXMuaGFzUGF0dGVybj14bygiZmlsbCIsdGhpcy5sYXllcnMsZSk7Zm9yKHZhciByPXRoaXMubGF5ZXJzWzBdLmxheW91dC5nZXQoImZpbGwtc29ydC1rZXkiKSxuPVtdLGE9MCxpPXQ7YTxpLmxlbmd0aDthKz0xKXt2YXIgbz1pW2FdLHM9by5mZWF0dXJlLGw9by5pbmRleCxjPW8uc291cmNlTGF5ZXJJbmRleDtpZih0aGlzLmxheWVyc1swXS5fZmVhdHVyZUZpbHRlcihuZXcgUG4odGhpcy56b29tKSxzKSl7dmFyIHU9bmkocyksaD1yP3IuZXZhbHVhdGUocyx7fSk6dm9pZCAwLGY9e2lkOnMuaWQscHJvcGVydGllczpzLnByb3BlcnRpZXMsdHlwZTpzLnR5cGUsc291cmNlTGF5ZXJJbmRleDpjLGluZGV4OmwsZ2VvbWV0cnk6dSxwYXR0ZXJuczp7fSxzb3J0S2V5Omh9O24ucHVzaChmKX19ciYmbi5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuc29ydEtleS1lLnNvcnRLZXl9KTtmb3IodmFyIHA9MCxkPW47cDxkLmxlbmd0aDtwKz0xKXt2YXIgZz1kW3BdLHY9ZyxtPXYuZ2VvbWV0cnkseT12LmluZGV4LHg9di5zb3VyY2VMYXllckluZGV4O2lmKHRoaXMuaGFzUGF0dGVybil7dmFyIGI9Ym8oImZpbGwiLHRoaXMubGF5ZXJzLGcsdGhpcy56b29tLGUpO3RoaXMucGF0dGVybkZlYXR1cmVzLnB1c2goYil9ZWxzZSB0aGlzLmFkZEZlYXR1cmUoZyxtLHkse30pO3ZhciBfPXRbeV0uZmVhdHVyZTtlLmZlYXR1cmVJbmRleC5pbnNlcnQoXyxtLHkseCx0aGlzLmluZGV4KX19LF9vLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlLHIpe3RoaXMuc3RhdGVEZXBlbmRlbnRMYXllcnMubGVuZ3RoJiZ0aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucy51cGRhdGVQYWludEFycmF5cyh0LGUsdGhpcy5zdGF0ZURlcGVuZGVudExheWVycyxyKX0sX28ucHJvdG90eXBlLmFkZEZlYXR1cmVzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTAsbj10aGlzLnBhdHRlcm5GZWF0dXJlcztyPG4ubGVuZ3RoO3IrPTEpe3ZhciBhPW5bcl07dGhpcy5hZGRGZWF0dXJlKGEsYS5nZW9tZXRyeSxhLmluZGV4LGUpfX0sX28ucHJvdG90eXBlLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gMD09PXRoaXMubGF5b3V0VmVydGV4QXJyYXkubGVuZ3RofSxfby5wcm90b3R5cGUudXBsb2FkUGVuZGluZz1mdW5jdGlvbigpe3JldHVybiF0aGlzLnVwbG9hZGVkfHx0aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucy5uZWVkc1VwbG9hZH0sX28ucHJvdG90eXBlLnVwbG9hZD1mdW5jdGlvbih0KXt0aGlzLnVwbG9hZGVkfHwodGhpcy5sYXlvdXRWZXJ0ZXhCdWZmZXI9dC5jcmVhdGVWZXJ0ZXhCdWZmZXIodGhpcy5sYXlvdXRWZXJ0ZXhBcnJheSxCaSksdGhpcy5pbmRleEJ1ZmZlcj10LmNyZWF0ZUluZGV4QnVmZmVyKHRoaXMuaW5kZXhBcnJheSksdGhpcy5pbmRleEJ1ZmZlcjI9dC5jcmVhdGVJbmRleEJ1ZmZlcih0aGlzLmluZGV4QXJyYXkyKSksdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMudXBsb2FkKHQpLHRoaXMudXBsb2FkZWQ9ITB9LF9vLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5sYXlvdXRWZXJ0ZXhCdWZmZXImJih0aGlzLmxheW91dFZlcnRleEJ1ZmZlci5kZXN0cm95KCksdGhpcy5pbmRleEJ1ZmZlci5kZXN0cm95KCksdGhpcy5pbmRleEJ1ZmZlcjIuZGVzdHJveSgpLHRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLmRlc3Ryb3koKSx0aGlzLnNlZ21lbnRzLmRlc3Ryb3koKSx0aGlzLnNlZ21lbnRzMi5kZXN0cm95KCkpfSxfby5wcm90b3R5cGUuYWRkRmVhdHVyZT1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGE9MCxpPW1vKGUsNTAwKTthPGkubGVuZ3RoO2ErPTEpe2Zvcih2YXIgbz1pW2FdLHM9MCxsPTAsYz1vO2w8Yy5sZW5ndGg7bCs9MSlzKz1jW2xdLmxlbmd0aDtmb3IodmFyIHU9dGhpcy5zZWdtZW50cy5wcmVwYXJlU2VnbWVudChzLHRoaXMubGF5b3V0VmVydGV4QXJyYXksdGhpcy5pbmRleEFycmF5KSxoPXUudmVydGV4TGVuZ3RoLGY9W10scD1bXSxkPTAsZz1vO2Q8Zy5sZW5ndGg7ZCs9MSl7dmFyIHY9Z1tkXTtpZigwIT09di5sZW5ndGgpe3YhPT1vWzBdJiZwLnB1c2goZi5sZW5ndGgvMik7dmFyIG09dGhpcy5zZWdtZW50czIucHJlcGFyZVNlZ21lbnQodi5sZW5ndGgsdGhpcy5sYXlvdXRWZXJ0ZXhBcnJheSx0aGlzLmluZGV4QXJyYXkyKSx5PW0udmVydGV4TGVuZ3RoO3RoaXMubGF5b3V0VmVydGV4QXJyYXkuZW1wbGFjZUJhY2sodlswXS54LHZbMF0ueSksdGhpcy5pbmRleEFycmF5Mi5lbXBsYWNlQmFjayh5K3YubGVuZ3RoLTEseSksZi5wdXNoKHZbMF0ueCksZi5wdXNoKHZbMF0ueSk7Zm9yKHZhciB4PTE7eDx2Lmxlbmd0aDt4KyspdGhpcy5sYXlvdXRWZXJ0ZXhBcnJheS5lbXBsYWNlQmFjayh2W3hdLngsdlt4XS55KSx0aGlzLmluZGV4QXJyYXkyLmVtcGxhY2VCYWNrKHkreC0xLHkreCksZi5wdXNoKHZbeF0ueCksZi5wdXNoKHZbeF0ueSk7bS52ZXJ0ZXhMZW5ndGgrPXYubGVuZ3RoLG0ucHJpbWl0aXZlTGVuZ3RoKz12Lmxlbmd0aH19Zm9yKHZhciBiPU5pKGYscCksXz0wO188Yi5sZW5ndGg7Xys9Myl0aGlzLmluZGV4QXJyYXkuZW1wbGFjZUJhY2soaCtiW19dLGgrYltfKzFdLGgrYltfKzJdKTt1LnZlcnRleExlbmd0aCs9cyx1LnByaW1pdGl2ZUxlbmd0aCs9Yi5sZW5ndGgvM310aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucy5wb3B1bGF0ZVBhaW50QXJyYXlzKHRoaXMubGF5b3V0VmVydGV4QXJyYXkubGVuZ3RoLHQscixuKX0sZG4oIkZpbGxCdWNrZXQiLF9vLHtvbWl0OlsibGF5ZXJzIiwicGF0dGVybkZlYXR1cmVzIl19KTt2YXIgd289bmV3IEduKHsiZmlsbC1zb3J0LWtleSI6bmV3IFZuKFR0LmxheW91dF9maWxsWyJmaWxsLXNvcnQta2V5Il0pfSksa289e3BhaW50Om5ldyBHbih7ImZpbGwtYW50aWFsaWFzIjpuZXcgam4oVHQucGFpbnRfZmlsbFsiZmlsbC1hbnRpYWxpYXMiXSksImZpbGwtb3BhY2l0eSI6bmV3IFZuKFR0LnBhaW50X2ZpbGxbImZpbGwtb3BhY2l0eSJdKSwiZmlsbC1jb2xvciI6bmV3IFZuKFR0LnBhaW50X2ZpbGxbImZpbGwtY29sb3IiXSksImZpbGwtb3V0bGluZS1jb2xvciI6bmV3IFZuKFR0LnBhaW50X2ZpbGxbImZpbGwtb3V0bGluZS1jb2xvciJdKSwiZmlsbC10cmFuc2xhdGUiOm5ldyBqbihUdC5wYWludF9maWxsWyJmaWxsLXRyYW5zbGF0ZSJdKSwiZmlsbC10cmFuc2xhdGUtYW5jaG9yIjpuZXcgam4oVHQucGFpbnRfZmlsbFsiZmlsbC10cmFuc2xhdGUtYW5jaG9yIl0pLCJmaWxsLXBhdHRlcm4iOm5ldyBVbihUdC5wYWludF9maWxsWyJmaWxsLXBhdHRlcm4iXSl9KSxsYXlvdXQ6d299LFRvPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dC5jYWxsKHRoaXMsZSxrbyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLnJlY2FsY3VsYXRlPWZ1bmN0aW9uKGUpe3QucHJvdG90eXBlLnJlY2FsY3VsYXRlLmNhbGwodGhpcyxlKTt2YXIgcj10aGlzLnBhaW50Ll92YWx1ZXNbImZpbGwtb3V0bGluZS1jb2xvciJdOyJjb25zdGFudCI9PT1yLnZhbHVlLmtpbmQmJnZvaWQgMD09PXIudmFsdWUudmFsdWUmJih0aGlzLnBhaW50Ll92YWx1ZXNbImZpbGwtb3V0bGluZS1jb2xvciJdPXRoaXMucGFpbnQuX3ZhbHVlc1siZmlsbC1jb2xvciJdKX0sZS5wcm90b3R5cGUuY3JlYXRlQnVja2V0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgX28odCl9LGUucHJvdG90eXBlLnF1ZXJ5UmFkaXVzPWZ1bmN0aW9uKCl7cmV0dXJuIHlpKHRoaXMucGFpbnQuZ2V0KCJmaWxsLXRyYW5zbGF0ZSIpKX0sZS5wcm90b3R5cGUucXVlcnlJbnRlcnNlY3RzRmVhdHVyZT1mdW5jdGlvbih0LGUscixuLGEsaSxvKXtyZXR1cm4gbGkoeGkodCx0aGlzLnBhaW50LmdldCgiZmlsbC10cmFuc2xhdGUiKSx0aGlzLnBhaW50LmdldCgiZmlsbC10cmFuc2xhdGUtYW5jaG9yIiksaS5hbmdsZSxvKSxuKX0sZS5wcm90b3R5cGUuaXNUaWxlQ2xpcHBlZD1mdW5jdGlvbigpe3JldHVybiEwfSxlfShZbiksTW89Sm4oW3tuYW1lOiJhX3BvcyIsY29tcG9uZW50czoyLHR5cGU6IkludDE2In0se25hbWU6ImFfbm9ybWFsX2VkIixjb21wb25lbnRzOjQsdHlwZToiSW50MTYifV0sNCkubWVtYmVycyxBbz1TbztmdW5jdGlvbiBTbyh0LGUscixuLGEpe3RoaXMucHJvcGVydGllcz17fSx0aGlzLmV4dGVudD1yLHRoaXMudHlwZT0wLHRoaXMuX3BiZj10LHRoaXMuX2dlb21ldHJ5PS0xLHRoaXMuX2tleXM9bix0aGlzLl92YWx1ZXM9YSx0LnJlYWRGaWVsZHMoRW8sdGhpcyxlKX1mdW5jdGlvbiBFbyh0LGUscil7MT09dD9lLmlkPXIucmVhZFZhcmludCgpOjI9PXQ/ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5yZWFkVmFyaW50KCkrdC5wb3M7dC5wb3M8cjspe3ZhciBuPWUuX2tleXNbdC5yZWFkVmFyaW50KCldLGE9ZS5fdmFsdWVzW3QucmVhZFZhcmludCgpXTtlLnByb3BlcnRpZXNbbl09YX19KHIsZSk6Mz09dD9lLnR5cGU9ci5yZWFkVmFyaW50KCk6ND09dCYmKGUuX2dlb21ldHJ5PXIucG9zKX1mdW5jdGlvbiBMbyh0KXtmb3IodmFyIGUscixuPTAsYT0wLGk9dC5sZW5ndGgsbz1pLTE7YTxpO289YSsrKWU9dFthXSxuKz0oKHI9dFtvXSkueC1lLngpKihlLnkrci55KTtyZXR1cm4gbn1Tby50eXBlcz1bIlVua25vd24iLCJQb2ludCIsIkxpbmVTdHJpbmciLCJQb2x5Z29uIl0sU28ucHJvdG90eXBlLmxvYWRHZW9tZXRyeT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3BiZjt0LnBvcz10aGlzLl9nZW9tZXRyeTtmb3IodmFyIGUscj10LnJlYWRWYXJpbnQoKSt0LnBvcyxuPTEsaT0wLG89MCxzPTAsbD1bXTt0LnBvczxyOyl7aWYoaTw9MCl7dmFyIGM9dC5yZWFkVmFyaW50KCk7bj03JmMsaT1jPj4zfWlmKGktLSwxPT09bnx8Mj09PW4pbys9dC5yZWFkU1ZhcmludCgpLHMrPXQucmVhZFNWYXJpbnQoKSwxPT09biYmKGUmJmwucHVzaChlKSxlPVtdKSxlLnB1c2gobmV3IGEobyxzKSk7ZWxzZXtpZig3IT09bil0aHJvdyBuZXcgRXJyb3IoInVua25vd24gY29tbWFuZCAiK24pO2UmJmUucHVzaChlWzBdLmNsb25lKCkpfX1yZXR1cm4gZSYmbC5wdXNoKGUpLGx9LFNvLnByb3RvdHlwZS5iYm94PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fcGJmO3QucG9zPXRoaXMuX2dlb21ldHJ5O2Zvcih2YXIgZT10LnJlYWRWYXJpbnQoKSt0LnBvcyxyPTEsbj0wLGE9MCxpPTAsbz0xLzAscz0tMS8wLGw9MS8wLGM9LTEvMDt0LnBvczxlOyl7aWYobjw9MCl7dmFyIHU9dC5yZWFkVmFyaW50KCk7cj03JnUsbj11Pj4zfWlmKG4tLSwxPT09cnx8Mj09PXIpKGErPXQucmVhZFNWYXJpbnQoKSk8byYmKG89YSksYT5zJiYocz1hKSwoaSs9dC5yZWFkU1ZhcmludCgpKTxsJiYobD1pKSxpPmMmJihjPWkpO2Vsc2UgaWYoNyE9PXIpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIGNvbW1hbmQgIityKX1yZXR1cm5bbyxsLHMsY119LFNvLnByb3RvdHlwZS50b0dlb0pTT049ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGEsaT10aGlzLmV4dGVudCpNYXRoLnBvdygyLHIpLG89dGhpcy5leHRlbnQqdCxzPXRoaXMuZXh0ZW50KmUsbD10aGlzLmxvYWRHZW9tZXRyeSgpLGM9U28udHlwZXNbdGhpcy50eXBlXTtmdW5jdGlvbiB1KHQpe2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXt2YXIgcj10W2VdLG49MTgwLTM2MCooci55K3MpL2k7dFtlXT1bMzYwKihyLngrbykvaS0xODAsMzYwL01hdGguUEkqTWF0aC5hdGFuKE1hdGguZXhwKG4qTWF0aC5QSS8xODApKS05MF19fXN3aXRjaCh0aGlzLnR5cGUpe2Nhc2UgMTp2YXIgaD1bXTtmb3Iobj0wO248bC5sZW5ndGg7bisrKWhbbl09bFtuXVswXTt1KGw9aCk7YnJlYWs7Y2FzZSAyOmZvcihuPTA7bjxsLmxlbmd0aDtuKyspdShsW25dKTticmVhaztjYXNlIDM6Zm9yKGw9ZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7aWYoZTw9MSlyZXR1cm5bdF07Zm9yKHZhciByLG4sYT1bXSxpPTA7aTxlO2krKyl7dmFyIG89TG8odFtpXSk7MCE9PW8mJih2b2lkIDA9PT1uJiYobj1vPDApLG49PT1vPDA/KHImJmEucHVzaChyKSxyPVt0W2ldXSk6ci5wdXNoKHRbaV0pKX1yZXR1cm4gciYmYS5wdXNoKHIpLGF9KGwpLG49MDtuPGwubGVuZ3RoO24rKylmb3IoYT0wO2E8bFtuXS5sZW5ndGg7YSsrKXUobFtuXVthXSl9MT09PWwubGVuZ3RoP2w9bFswXTpjPSJNdWx0aSIrYzt2YXIgZj17dHlwZToiRmVhdHVyZSIsZ2VvbWV0cnk6e3R5cGU6Yyxjb29yZGluYXRlczpsfSxwcm9wZXJ0aWVzOnRoaXMucHJvcGVydGllc307cmV0dXJuImlkImluIHRoaXMmJihmLmlkPXRoaXMuaWQpLGZ9O3ZhciBDbz1QbztmdW5jdGlvbiBQbyh0LGUpe3RoaXMudmVyc2lvbj0xLHRoaXMubmFtZT1udWxsLHRoaXMuZXh0ZW50PTQwOTYsdGhpcy5sZW5ndGg9MCx0aGlzLl9wYmY9dCx0aGlzLl9rZXlzPVtdLHRoaXMuX3ZhbHVlcz1bXSx0aGlzLl9mZWF0dXJlcz1bXSx0LnJlYWRGaWVsZHMoT28sdGhpcyxlKSx0aGlzLmxlbmd0aD10aGlzLl9mZWF0dXJlcy5sZW5ndGh9ZnVuY3Rpb24gT28odCxlLHIpezE1PT09dD9lLnZlcnNpb249ci5yZWFkVmFyaW50KCk6MT09PXQ/ZS5uYW1lPXIucmVhZFN0cmluZygpOjU9PT10P2UuZXh0ZW50PXIucmVhZFZhcmludCgpOjI9PT10P2UuX2ZlYXR1cmVzLnB1c2goci5wb3MpOjM9PT10P2UuX2tleXMucHVzaChyLnJlYWRTdHJpbmcoKSk6ND09PXQmJmUuX3ZhbHVlcy5wdXNoKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1udWxsLHI9dC5yZWFkVmFyaW50KCkrdC5wb3M7dC5wb3M8cjspe3ZhciBuPXQucmVhZFZhcmludCgpPj4zO2U9MT09PW4/dC5yZWFkU3RyaW5nKCk6Mj09PW4/dC5yZWFkRmxvYXQoKTozPT09bj90LnJlYWREb3VibGUoKTo0PT09bj90LnJlYWRWYXJpbnQ2NCgpOjU9PT1uP3QucmVhZFZhcmludCgpOjY9PT1uP3QucmVhZFNWYXJpbnQoKTo3PT09bj90LnJlYWRCb29sZWFuKCk6bnVsbH1yZXR1cm4gZX0ocikpfWZ1bmN0aW9uIHpvKHQsZSxyKXtpZigzPT09dCl7dmFyIG49bmV3IENvKHIsci5yZWFkVmFyaW50KCkrci5wb3MpO24ubGVuZ3RoJiYoZVtuLm5hbWVdPW4pfX1Qby5wcm90b3R5cGUuZmVhdHVyZT1mdW5jdGlvbih0KXtpZih0PDB8fHQ+PXRoaXMuX2ZlYXR1cmVzLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImZlYXR1cmUgaW5kZXggb3V0IG9mIGJvdW5kcyIpO3RoaXMuX3BiZi5wb3M9dGhpcy5fZmVhdHVyZXNbdF07dmFyIGU9dGhpcy5fcGJmLnJlYWRWYXJpbnQoKSt0aGlzLl9wYmYucG9zO3JldHVybiBuZXcgQW8odGhpcy5fcGJmLGUsdGhpcy5leHRlbnQsdGhpcy5fa2V5cyx0aGlzLl92YWx1ZXMpfTt2YXIgSW89e1ZlY3RvclRpbGU6ZnVuY3Rpb24odCxlKXt0aGlzLmxheWVycz10LnJlYWRGaWVsZHMoem8se30sZSl9LFZlY3RvclRpbGVGZWF0dXJlOkFvLFZlY3RvclRpbGVMYXllcjpDb30sRG89SW8uVmVjdG9yVGlsZUZlYXR1cmUudHlwZXMsUm89TWF0aC5wb3coMiwxMyk7ZnVuY3Rpb24gRm8odCxlLHIsbixhLGksbyxzKXt0LmVtcGxhY2VCYWNrKGUsciwyKk1hdGguZmxvb3IobipSbykrbyxhKlJvKjIsaSpSbyoyLE1hdGgucm91bmQocykpfXZhciBCbz1mdW5jdGlvbih0KXt0aGlzLnpvb209dC56b29tLHRoaXMub3ZlcnNjYWxpbmc9dC5vdmVyc2NhbGluZyx0aGlzLmxheWVycz10LmxheWVycyx0aGlzLmxheWVySWRzPXRoaXMubGF5ZXJzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZH0pLHRoaXMuaW5kZXg9dC5pbmRleCx0aGlzLmhhc1BhdHRlcm49ITEsdGhpcy5sYXlvdXRWZXJ0ZXhBcnJheT1uZXcgdGEsdGhpcy5pbmRleEFycmF5PW5ldyBkYSx0aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucz1uZXcgUWEoTW8sdC5sYXllcnMsdC56b29tKSx0aGlzLnNlZ21lbnRzPW5ldyBPYSx0aGlzLnN0YXRlRGVwZW5kZW50TGF5ZXJJZHM9dGhpcy5sYXllcnMuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlzU3RhdGVEZXBlbmRlbnQoKX0pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZH0pfTtmdW5jdGlvbiBObyh0LGUpe3JldHVybiB0Lng9PT1lLngmJih0Lng8MHx8dC54PmVpKXx8dC55PT09ZS55JiYodC55PDB8fHQueT5laSl9ZnVuY3Rpb24gam8odCl7cmV0dXJuIHQuZXZlcnkoZnVuY3Rpb24odCl7cmV0dXJuIHQueDwwfSl8fHQuZXZlcnkoZnVuY3Rpb24odCl7cmV0dXJuIHQueD5laX0pfHx0LmV2ZXJ5KGZ1bmN0aW9uKHQpe3JldHVybiB0Lnk8MH0pfHx0LmV2ZXJ5KGZ1bmN0aW9uKHQpe3JldHVybiB0Lnk+ZWl9KX1Cby5wcm90b3R5cGUucG9wdWxhdGU9ZnVuY3Rpb24odCxlKXt0aGlzLmZlYXR1cmVzPVtdLHRoaXMuaGFzUGF0dGVybj14bygiZmlsbC1leHRydXNpb24iLHRoaXMubGF5ZXJzLGUpO2Zvcih2YXIgcj0wLG49dDtyPG4ubGVuZ3RoO3IrPTEpe3ZhciBhPW5bcl0saT1hLmZlYXR1cmUsbz1hLmluZGV4LHM9YS5zb3VyY2VMYXllckluZGV4O2lmKHRoaXMubGF5ZXJzWzBdLl9mZWF0dXJlRmlsdGVyKG5ldyBQbih0aGlzLnpvb20pLGkpKXt2YXIgbD1uaShpKSxjPXtzb3VyY2VMYXllckluZGV4OnMsaW5kZXg6byxnZW9tZXRyeTpsLHByb3BlcnRpZXM6aS5wcm9wZXJ0aWVzLHR5cGU6aS50eXBlLHBhdHRlcm5zOnt9fTt2b2lkIDAhPT1pLmlkJiYoYy5pZD1pLmlkKSx0aGlzLmhhc1BhdHRlcm4/dGhpcy5mZWF0dXJlcy5wdXNoKGJvKCJmaWxsLWV4dHJ1c2lvbiIsdGhpcy5sYXllcnMsYyx0aGlzLnpvb20sZSkpOnRoaXMuYWRkRmVhdHVyZShjLGwsbyx7fSksZS5mZWF0dXJlSW5kZXguaW5zZXJ0KGksbCxvLHMsdGhpcy5pbmRleCwhMCl9fX0sQm8ucHJvdG90eXBlLmFkZEZlYXR1cmVzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTAsbj10aGlzLmZlYXR1cmVzO3I8bi5sZW5ndGg7cis9MSl7dmFyIGE9bltyXSxpPWEuZ2VvbWV0cnk7dGhpcy5hZGRGZWF0dXJlKGEsaSxhLmluZGV4LGUpfX0sQm8ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUscil7dGhpcy5zdGF0ZURlcGVuZGVudExheWVycy5sZW5ndGgmJnRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLnVwZGF0ZVBhaW50QXJyYXlzKHQsZSx0aGlzLnN0YXRlRGVwZW5kZW50TGF5ZXJzLHIpfSxCby5wcm90b3R5cGUuaXNFbXB0eT1mdW5jdGlvbigpe3JldHVybiAwPT09dGhpcy5sYXlvdXRWZXJ0ZXhBcnJheS5sZW5ndGh9LEJvLnByb3RvdHlwZS51cGxvYWRQZW5kaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMudXBsb2FkZWR8fHRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLm5lZWRzVXBsb2FkfSxCby5wcm90b3R5cGUudXBsb2FkPWZ1bmN0aW9uKHQpe3RoaXMudXBsb2FkZWR8fCh0aGlzLmxheW91dFZlcnRleEJ1ZmZlcj10LmNyZWF0ZVZlcnRleEJ1ZmZlcih0aGlzLmxheW91dFZlcnRleEFycmF5LE1vKSx0aGlzLmluZGV4QnVmZmVyPXQuY3JlYXRlSW5kZXhCdWZmZXIodGhpcy5pbmRleEFycmF5KSksdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMudXBsb2FkKHQpLHRoaXMudXBsb2FkZWQ9ITB9LEJvLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5sYXlvdXRWZXJ0ZXhCdWZmZXImJih0aGlzLmxheW91dFZlcnRleEJ1ZmZlci5kZXN0cm95KCksdGhpcy5pbmRleEJ1ZmZlci5kZXN0cm95KCksdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMuZGVzdHJveSgpLHRoaXMuc2VnbWVudHMuZGVzdHJveSgpKX0sQm8ucHJvdG90eXBlLmFkZEZlYXR1cmU9ZnVuY3Rpb24odCxlLHIsbil7Zm9yKHZhciBhPTAsaT1tbyhlLDUwMCk7YTxpLmxlbmd0aDthKz0xKXtmb3IodmFyIG89aVthXSxzPTAsbD0wLGM9bztsPGMubGVuZ3RoO2wrPTEpcys9Y1tsXS5sZW5ndGg7Zm9yKHZhciB1PXRoaXMuc2VnbWVudHMucHJlcGFyZVNlZ21lbnQoNCx0aGlzLmxheW91dFZlcnRleEFycmF5LHRoaXMuaW5kZXhBcnJheSksaD0wLGY9bztoPGYubGVuZ3RoO2grPTEpe3ZhciBwPWZbaF07aWYoMCE9PXAubGVuZ3RoJiYham8ocCkpZm9yKHZhciBkPTAsZz0wO2c8cC5sZW5ndGg7ZysrKXt2YXIgdj1wW2ddO2lmKGc+PTEpe3ZhciBtPXBbZy0xXTtpZighTm8odixtKSl7dS52ZXJ0ZXhMZW5ndGgrND5PYS5NQVhfVkVSVEVYX0FSUkFZX0xFTkdUSCYmKHU9dGhpcy5zZWdtZW50cy5wcmVwYXJlU2VnbWVudCg0LHRoaXMubGF5b3V0VmVydGV4QXJyYXksdGhpcy5pbmRleEFycmF5KSk7dmFyIHk9di5zdWIobSkuX3BlcnAoKS5fdW5pdCgpLHg9bS5kaXN0KHYpO2QreD4zMjc2OCYmKGQ9MCksRm8odGhpcy5sYXlvdXRWZXJ0ZXhBcnJheSx2Lngsdi55LHkueCx5LnksMCwwLGQpLEZvKHRoaXMubGF5b3V0VmVydGV4QXJyYXksdi54LHYueSx5LngseS55LDAsMSxkKSxkKz14LEZvKHRoaXMubGF5b3V0VmVydGV4QXJyYXksbS54LG0ueSx5LngseS55LDAsMCxkKSxGbyh0aGlzLmxheW91dFZlcnRleEFycmF5LG0ueCxtLnkseS54LHkueSwwLDEsZCk7dmFyIGI9dS52ZXJ0ZXhMZW5ndGg7dGhpcy5pbmRleEFycmF5LmVtcGxhY2VCYWNrKGIsYisyLGIrMSksdGhpcy5pbmRleEFycmF5LmVtcGxhY2VCYWNrKGIrMSxiKzIsYiszKSx1LnZlcnRleExlbmd0aCs9NCx1LnByaW1pdGl2ZUxlbmd0aCs9Mn19fX1pZih1LnZlcnRleExlbmd0aCtzPk9hLk1BWF9WRVJURVhfQVJSQVlfTEVOR1RIJiYodT10aGlzLnNlZ21lbnRzLnByZXBhcmVTZWdtZW50KHMsdGhpcy5sYXlvdXRWZXJ0ZXhBcnJheSx0aGlzLmluZGV4QXJyYXkpKSwiUG9seWdvbiI9PT1Eb1t0LnR5cGVdKXtmb3IodmFyIF89W10sdz1bXSxrPXUudmVydGV4TGVuZ3RoLFQ9MCxNPW87VDxNLmxlbmd0aDtUKz0xKXt2YXIgQT1NW1RdO2lmKDAhPT1BLmxlbmd0aCl7QSE9PW9bMF0mJncucHVzaChfLmxlbmd0aC8yKTtmb3IodmFyIFM9MDtTPEEubGVuZ3RoO1MrKyl7dmFyIEU9QVtTXTtGbyh0aGlzLmxheW91dFZlcnRleEFycmF5LEUueCxFLnksMCwwLDEsMSwwKSxfLnB1c2goRS54KSxfLnB1c2goRS55KX19fWZvcih2YXIgTD1OaShfLHcpLEM9MDtDPEwubGVuZ3RoO0MrPTMpdGhpcy5pbmRleEFycmF5LmVtcGxhY2VCYWNrKGsrTFtDXSxrK0xbQysyXSxrK0xbQysxXSk7dS5wcmltaXRpdmVMZW5ndGgrPUwubGVuZ3RoLzMsdS52ZXJ0ZXhMZW5ndGgrPXN9fXRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLnBvcHVsYXRlUGFpbnRBcnJheXModGhpcy5sYXlvdXRWZXJ0ZXhBcnJheS5sZW5ndGgsdCxyLG4pfSxkbigiRmlsbEV4dHJ1c2lvbkJ1Y2tldCIsQm8se29taXQ6WyJsYXllcnMiLCJmZWF0dXJlcyJdfSk7dmFyIFZvPXtwYWludDpuZXcgR24oeyJmaWxsLWV4dHJ1c2lvbi1vcGFjaXR5IjpuZXcgam4oVHRbInBhaW50X2ZpbGwtZXh0cnVzaW9uIl1bImZpbGwtZXh0cnVzaW9uLW9wYWNpdHkiXSksImZpbGwtZXh0cnVzaW9uLWNvbG9yIjpuZXcgVm4oVHRbInBhaW50X2ZpbGwtZXh0cnVzaW9uIl1bImZpbGwtZXh0cnVzaW9uLWNvbG9yIl0pLCJmaWxsLWV4dHJ1c2lvbi10cmFuc2xhdGUiOm5ldyBqbihUdFsicGFpbnRfZmlsbC1leHRydXNpb24iXVsiZmlsbC1leHRydXNpb24tdHJhbnNsYXRlIl0pLCJmaWxsLWV4dHJ1c2lvbi10cmFuc2xhdGUtYW5jaG9yIjpuZXcgam4oVHRbInBhaW50X2ZpbGwtZXh0cnVzaW9uIl1bImZpbGwtZXh0cnVzaW9uLXRyYW5zbGF0ZS1hbmNob3IiXSksImZpbGwtZXh0cnVzaW9uLXBhdHRlcm4iOm5ldyBVbihUdFsicGFpbnRfZmlsbC1leHRydXNpb24iXVsiZmlsbC1leHRydXNpb24tcGF0dGVybiJdKSwiZmlsbC1leHRydXNpb24taGVpZ2h0IjpuZXcgVm4oVHRbInBhaW50X2ZpbGwtZXh0cnVzaW9uIl1bImZpbGwtZXh0cnVzaW9uLWhlaWdodCJdKSwiZmlsbC1leHRydXNpb24tYmFzZSI6bmV3IFZuKFR0WyJwYWludF9maWxsLWV4dHJ1c2lvbiJdWyJmaWxsLWV4dHJ1c2lvbi1iYXNlIl0pLCJmaWxsLWV4dHJ1c2lvbi12ZXJ0aWNhbC1ncmFkaWVudCI6bmV3IGpuKFR0WyJwYWludF9maWxsLWV4dHJ1c2lvbiJdWyJmaWxsLWV4dHJ1c2lvbi12ZXJ0aWNhbC1ncmFkaWVudCJdKX0pfSxVbz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUpe3QuY2FsbCh0aGlzLGUsVm8pfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5jcmVhdGVCdWNrZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBCbyh0KX0sZS5wcm90b3R5cGUucXVlcnlSYWRpdXM9ZnVuY3Rpb24oKXtyZXR1cm4geWkodGhpcy5wYWludC5nZXQoImZpbGwtZXh0cnVzaW9uLXRyYW5zbGF0ZSIpKX0sZS5wcm90b3R5cGUuaXMzRD1mdW5jdGlvbigpe3JldHVybiEwfSxlLnByb3RvdHlwZS5xdWVyeUludGVyc2VjdHNGZWF0dXJlPWZ1bmN0aW9uKHQsZSxyLG4saSxvLHMsbCl7dmFyIGM9eGkodCx0aGlzLnBhaW50LmdldCgiZmlsbC1leHRydXNpb24tdHJhbnNsYXRlIiksdGhpcy5wYWludC5nZXQoImZpbGwtZXh0cnVzaW9uLXRyYW5zbGF0ZS1hbmNob3IiKSxvLmFuZ2xlLHMpLHU9dGhpcy5wYWludC5nZXQoImZpbGwtZXh0cnVzaW9uLWhlaWdodCIpLmV2YWx1YXRlKGUsciksaD10aGlzLnBhaW50LmdldCgiZmlsbC1leHRydXNpb24tYmFzZSIpLmV2YWx1YXRlKGUsciksZj1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGk9W10sbz0wLHM9dDtvPHMubGVuZ3RoO28rPTEpe3ZhciBsPXNbb10sYz1bbC54LGwueSwwLDFdO1RpKGMsYyxlKSxpLnB1c2gobmV3IGEoY1swXS9jWzNdLGNbMV0vY1szXSkpfXJldHVybiBpfShjLGwpLHA9ZnVuY3Rpb24odCxlLHIsbil7Zm9yKHZhciBpPVtdLG89W10scz1uWzhdKmUsbD1uWzldKmUsYz1uWzEwXSplLHU9blsxMV0qZSxoPW5bOF0qcixmPW5bOV0qcixwPW5bMTBdKnIsZD1uWzExXSpyLGc9MCx2PXQ7Zzx2Lmxlbmd0aDtnKz0xKXtmb3IodmFyIG09W10seT1bXSx4PTAsYj12W2ddO3g8Yi5sZW5ndGg7eCs9MSl7dmFyIF89Ylt4XSx3PV8ueCxrPV8ueSxUPW5bMF0qdytuWzRdKmsrblsxMl0sTT1uWzFdKncrbls1XSprK25bMTNdLEE9blsyXSp3K25bNl0qaytuWzE0XSxTPW5bM10qdytuWzddKmsrblsxNV0sRT1BK2MsTD1TK3UsQz1UK2gsUD1NK2YsTz1BK3Asej1TK2QsST1uZXcgYSgoVCtzKS9MLChNK2wpL0wpO0kuej1FL0wsbS5wdXNoKEkpO3ZhciBEPW5ldyBhKEMveixQL3opO0Quej1PL3oseS5wdXNoKEQpfWkucHVzaChtKSxvLnB1c2goeSl9cmV0dXJuW2ksb119KG4saCx1LGwpO3JldHVybiBmdW5jdGlvbih0LGUscil7dmFyIG49MS8wO2xpKHIsZSkmJihuPUhvKHIsZVswXSkpO2Zvcih2YXIgYT0wO2E8ZS5sZW5ndGg7YSsrKWZvcih2YXIgaT1lW2FdLG89dFthXSxzPTA7czxpLmxlbmd0aC0xO3MrKyl7dmFyIGw9aVtzXSxjPWlbcysxXSx1PW9bc10saD1bbCxjLG9bcysxXSx1LGxdO29pKHIsaCkmJihuPU1hdGgubWluKG4sSG8ocixoKSkpfXJldHVybiBuIT09MS8wJiZufShwWzBdLHBbMV0sZil9LGV9KFluKTtmdW5jdGlvbiBxbyh0LGUpe3JldHVybiB0LngqZS54K3QueSplLnl9ZnVuY3Rpb24gSG8odCxlKXtpZigxPT09dC5sZW5ndGgpe3ZhciByPWVbMF0sbj1lWzFdLGE9ZVszXSxpPXRbMF0sbz1uLnN1YihyKSxzPWEuc3ViKHIpLGw9aS5zdWIociksYz1xbyhvLG8pLHU9cW8obyxzKSxoPXFvKHMscyksZj1xbyhsLG8pLHA9cW8obCxzKSxkPWMqaC11KnUsZz0oaCpmLXUqcCkvZCx2PShjKnAtdSpmKS9kLG09MS1nLXY7cmV0dXJuIHIueiptK24ueipnK2Eueip2fWZvcih2YXIgeT0xLzAseD0wLGI9ZTt4PGIubGVuZ3RoO3grPTEpe3ZhciBfPWJbeF07eT1NYXRoLm1pbih5LF8ueil9cmV0dXJuIHl9dmFyIEdvPUpuKFt7bmFtZToiYV9wb3Nfbm9ybWFsIixjb21wb25lbnRzOjIsdHlwZToiSW50MTYifSx7bmFtZToiYV9kYXRhIixjb21wb25lbnRzOjQsdHlwZToiVWludDgifV0sNCkubWVtYmVycyxZbz1Jby5WZWN0b3JUaWxlRmVhdHVyZS50eXBlcyxXbz1NYXRoLmNvcyhNYXRoLlBJLzE4MCozNy41KSxYbz1NYXRoLnBvdygyLDE0KS8uNSxabz1mdW5jdGlvbih0KXt0aGlzLnpvb209dC56b29tLHRoaXMub3ZlcnNjYWxpbmc9dC5vdmVyc2NhbGluZyx0aGlzLmxheWVycz10LmxheWVycyx0aGlzLmxheWVySWRzPXRoaXMubGF5ZXJzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZH0pLHRoaXMuaW5kZXg9dC5pbmRleCx0aGlzLmhhc1BhdHRlcm49ITEsdGhpcy5wYXR0ZXJuRmVhdHVyZXM9W10sdGhpcy5sYXlvdXRWZXJ0ZXhBcnJheT1uZXcgZWEsdGhpcy5pbmRleEFycmF5PW5ldyBkYSx0aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucz1uZXcgUWEoR28sdC5sYXllcnMsdC56b29tKSx0aGlzLnNlZ21lbnRzPW5ldyBPYSx0aGlzLnN0YXRlRGVwZW5kZW50TGF5ZXJJZHM9dGhpcy5sYXllcnMuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlzU3RhdGVEZXBlbmRlbnQoKX0pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZH0pfTtaby5wcm90b3R5cGUucG9wdWxhdGU9ZnVuY3Rpb24odCxlKXt0aGlzLmhhc1BhdHRlcm49eG8oImxpbmUiLHRoaXMubGF5ZXJzLGUpO2Zvcih2YXIgcj10aGlzLmxheWVyc1swXS5sYXlvdXQuZ2V0KCJsaW5lLXNvcnQta2V5Iiksbj1bXSxhPTAsaT10O2E8aS5sZW5ndGg7YSs9MSl7dmFyIG89aVthXSxzPW8uZmVhdHVyZSxsPW8uaW5kZXgsYz1vLnNvdXJjZUxheWVySW5kZXg7aWYodGhpcy5sYXllcnNbMF0uX2ZlYXR1cmVGaWx0ZXIobmV3IFBuKHRoaXMuem9vbSkscykpe3ZhciB1PW5pKHMpLGg9cj9yLmV2YWx1YXRlKHMse30pOnZvaWQgMCxmPXtpZDpzLmlkLHByb3BlcnRpZXM6cy5wcm9wZXJ0aWVzLHR5cGU6cy50eXBlLHNvdXJjZUxheWVySW5kZXg6YyxpbmRleDpsLGdlb21ldHJ5OnUscGF0dGVybnM6e30sc29ydEtleTpofTtuLnB1c2goZil9fXImJm4uc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0LnNvcnRLZXktZS5zb3J0S2V5fSk7Zm9yKHZhciBwPTAsZD1uO3A8ZC5sZW5ndGg7cCs9MSl7dmFyIGc9ZFtwXSx2PWcsbT12Lmdlb21ldHJ5LHk9di5pbmRleCx4PXYuc291cmNlTGF5ZXJJbmRleDtpZih0aGlzLmhhc1BhdHRlcm4pe3ZhciBiPWJvKCJsaW5lIix0aGlzLmxheWVycyxnLHRoaXMuem9vbSxlKTt0aGlzLnBhdHRlcm5GZWF0dXJlcy5wdXNoKGIpfWVsc2UgdGhpcy5hZGRGZWF0dXJlKGcsbSx5LHt9KTt2YXIgXz10W3ldLmZlYXR1cmU7ZS5mZWF0dXJlSW5kZXguaW5zZXJ0KF8sbSx5LHgsdGhpcy5pbmRleCl9fSxaby5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLnN0YXRlRGVwZW5kZW50TGF5ZXJzLmxlbmd0aCYmdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMudXBkYXRlUGFpbnRBcnJheXModCxlLHRoaXMuc3RhdGVEZXBlbmRlbnRMYXllcnMscil9LFpvLnByb3RvdHlwZS5hZGRGZWF0dXJlcz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49dGhpcy5wYXR0ZXJuRmVhdHVyZXM7cjxuLmxlbmd0aDtyKz0xKXt2YXIgYT1uW3JdO3RoaXMuYWRkRmVhdHVyZShhLGEuZ2VvbWV0cnksYS5pbmRleCxlKX19LFpvLnByb3RvdHlwZS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLmxheW91dFZlcnRleEFycmF5Lmxlbmd0aH0sWm8ucHJvdG90eXBlLnVwbG9hZFBlbmRpbmc9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy51cGxvYWRlZHx8dGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMubmVlZHNVcGxvYWR9LFpvLnByb3RvdHlwZS51cGxvYWQ9ZnVuY3Rpb24odCl7dGhpcy51cGxvYWRlZHx8KHRoaXMubGF5b3V0VmVydGV4QnVmZmVyPXQuY3JlYXRlVmVydGV4QnVmZmVyKHRoaXMubGF5b3V0VmVydGV4QXJyYXksR28pLHRoaXMuaW5kZXhCdWZmZXI9dC5jcmVhdGVJbmRleEJ1ZmZlcih0aGlzLmluZGV4QXJyYXkpKSx0aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucy51cGxvYWQodCksdGhpcy51cGxvYWRlZD0hMH0sWm8ucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLmxheW91dFZlcnRleEJ1ZmZlciYmKHRoaXMubGF5b3V0VmVydGV4QnVmZmVyLmRlc3Ryb3koKSx0aGlzLmluZGV4QnVmZmVyLmRlc3Ryb3koKSx0aGlzLnByb2dyYW1Db25maWd1cmF0aW9ucy5kZXN0cm95KCksdGhpcy5zZWdtZW50cy5kZXN0cm95KCkpfSxaby5wcm90b3R5cGUuYWRkRmVhdHVyZT1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGE9dGhpcy5sYXllcnNbMF0ubGF5b3V0LGk9YS5nZXQoImxpbmUtam9pbiIpLmV2YWx1YXRlKHQse30pLG89YS5nZXQoImxpbmUtY2FwIikscz1hLmdldCgibGluZS1taXRlci1saW1pdCIpLGw9YS5nZXQoImxpbmUtcm91bmQtbGltaXQiKSxjPTAsdT1lO2M8dS5sZW5ndGg7Yys9MSl7dmFyIGg9dVtjXTt0aGlzLmFkZExpbmUoaCx0LGksbyxzLGwscixuKX19LFpvLnByb3RvdHlwZS5hZGRMaW5lPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyl7aWYodGhpcy5kaXN0YW5jZT0wLHRoaXMuc2NhbGVkRGlzdGFuY2U9MCx0aGlzLnRvdGFsRGlzdGFuY2U9MCxlLnByb3BlcnRpZXMmJmUucHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eSgibWFwYm94X2NsaXBfc3RhcnQiKSYmZS5wcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KCJtYXBib3hfY2xpcF9lbmQiKSl7dGhpcy5jbGlwU3RhcnQ9K2UucHJvcGVydGllcy5tYXBib3hfY2xpcF9zdGFydCx0aGlzLmNsaXBFbmQ9K2UucHJvcGVydGllcy5tYXBib3hfY2xpcF9lbmQ7Zm9yKHZhciBsPTA7bDx0Lmxlbmd0aC0xO2wrKyl0aGlzLnRvdGFsRGlzdGFuY2UrPXRbbF0uZGlzdCh0W2wrMV0pfWZvcih2YXIgYz0iUG9seWdvbiI9PT1Zb1tlLnR5cGVdLHU9dC5sZW5ndGg7dT49MiYmdFt1LTFdLmVxdWFscyh0W3UtMl0pOyl1LS07Zm9yKHZhciBoPTA7aDx1LTEmJnRbaF0uZXF1YWxzKHRbaCsxXSk7KWgrKztpZighKHU8KGM/MzoyKSkpeyJiZXZlbCI9PT1yJiYoYT0xLjA1KTt2YXIgZixwPWVpLyg1MTIqdGhpcy5vdmVyc2NhbGluZykqMTUsZD10aGlzLnNlZ21lbnRzLnByZXBhcmVTZWdtZW50KDEwKnUsdGhpcy5sYXlvdXRWZXJ0ZXhBcnJheSx0aGlzLmluZGV4QXJyYXkpLGc9dm9pZCAwLHY9dm9pZCAwLG09dm9pZCAwLHk9dm9pZCAwO3RoaXMuZTE9dGhpcy5lMj0tMSxjJiYoZj10W3UtMl0seT10W2hdLnN1YihmKS5fdW5pdCgpLl9wZXJwKCkpO2Zvcih2YXIgeD1oO3g8dTt4KyspaWYoISh2PWMmJng9PT11LTE/dFtoKzFdOnRbeCsxXSl8fCF0W3hdLmVxdWFscyh2KSl7eSYmKG09eSksZiYmKGc9ZiksZj10W3hdLHk9dj92LnN1YihmKS5fdW5pdCgpLl9wZXJwKCk6bTt2YXIgYj0obT1tfHx5KS5hZGQoeSk7MD09PWIueCYmMD09PWIueXx8Yi5fdW5pdCgpO3ZhciBfPW0ueCp5LngrbS55KnkueSx3PWIueCp5LngrYi55KnkueSxrPTAhPT13PzEvdzoxLzAsVD0yKk1hdGguc3FydCgyLTIqdyksTT13PFdvJiZnJiZ2LEE9bS54KnkueS1tLnkqeS54PjA7aWYoTSYmeD5oKXt2YXIgUz1mLmRpc3QoZyk7aWYoUz4yKnApe3ZhciBFPWYuc3ViKGYuc3ViKGcpLl9tdWx0KHAvUykuX3JvdW5kKCkpO3RoaXMudXBkYXRlRGlzdGFuY2UoZyxFKSx0aGlzLmFkZEN1cnJlbnRWZXJ0ZXgoRSxtLDAsMCxkKSxnPUV9fXZhciBMPWcmJnYsQz1MP3I6Yz8iYnV0dCI6bjtpZihMJiYicm91bmQiPT09QyYmKGs8aT9DPSJtaXRlciI6azw9MiYmKEM9ImZha2Vyb3VuZCIpKSwibWl0ZXIiPT09QyYmaz5hJiYoQz0iYmV2ZWwiKSwiYmV2ZWwiPT09QyYmKGs+MiYmKEM9ImZsaXBiZXZlbCIpLGs8YSYmKEM9Im1pdGVyIikpLGcmJnRoaXMudXBkYXRlRGlzdGFuY2UoZyxmKSwibWl0ZXIiPT09QyliLl9tdWx0KGspLHRoaXMuYWRkQ3VycmVudFZlcnRleChmLGIsMCwwLGQpO2Vsc2UgaWYoImZsaXBiZXZlbCI9PT1DKXtpZihrPjEwMCliPXkubXVsdCgtMSk7ZWxzZXt2YXIgUD1rKm0uYWRkKHkpLm1hZygpL20uc3ViKHkpLm1hZygpO2IuX3BlcnAoKS5fbXVsdChQKihBPy0xOjEpKX10aGlzLmFkZEN1cnJlbnRWZXJ0ZXgoZixiLDAsMCxkKSx0aGlzLmFkZEN1cnJlbnRWZXJ0ZXgoZixiLm11bHQoLTEpLDAsMCxkKX1lbHNlIGlmKCJiZXZlbCI9PT1DfHwiZmFrZXJvdW5kIj09PUMpe3ZhciBPPS1NYXRoLnNxcnQoayprLTEpLHo9QT9POjAsST1BPzA6TztpZihnJiZ0aGlzLmFkZEN1cnJlbnRWZXJ0ZXgoZixtLHosSSxkKSwiZmFrZXJvdW5kIj09PUMpZm9yKHZhciBEPU1hdGgucm91bmQoMTgwKlQvTWF0aC5QSS8yMCksUj0xO1I8RDtSKyspe3ZhciBGPVIvRDtpZiguNSE9PUYpe3ZhciBCPUYtLjU7Ris9RipCKihGLTEpKigoMS4wOTA0K18qKF8qKDMuNTU2NDUtMS40MzUxOSpfKS0zLjI0NTIpKSpCKkIrKC44NDgwMTMrXyooLjIxNTYzOCpfLTEuMDYwMjEpKSl9dmFyIE49eS5zdWIobSkuX211bHQoRikuX2FkZChtKS5fdW5pdCgpLl9tdWx0KEE/LTE6MSk7dGhpcy5hZGRIYWxmVmVydGV4KGYsTi54LE4ueSwhMSxBLDAsZCl9diYmdGhpcy5hZGRDdXJyZW50VmVydGV4KGYseSwteiwtSSxkKX1lbHNlIGlmKCJidXR0Ij09PUMpdGhpcy5hZGRDdXJyZW50VmVydGV4KGYsYiwwLDAsZCk7ZWxzZSBpZigic3F1YXJlIj09PUMpe3ZhciBqPWc/MTotMTt0aGlzLmFkZEN1cnJlbnRWZXJ0ZXgoZixiLGosaixkKX1lbHNlInJvdW5kIj09PUMmJihnJiYodGhpcy5hZGRDdXJyZW50VmVydGV4KGYsbSwwLDAsZCksdGhpcy5hZGRDdXJyZW50VmVydGV4KGYsbSwxLDEsZCwhMCkpLHYmJih0aGlzLmFkZEN1cnJlbnRWZXJ0ZXgoZix5LC0xLC0xLGQsITApLHRoaXMuYWRkQ3VycmVudFZlcnRleChmLHksMCwwLGQpKSk7aWYoTSYmeDx1LTEpe3ZhciBWPWYuZGlzdCh2KTtpZihWPjIqcCl7dmFyIFU9Zi5hZGQodi5zdWIoZikuX211bHQocC9WKS5fcm91bmQoKSk7dGhpcy51cGRhdGVEaXN0YW5jZShmLFUpLHRoaXMuYWRkQ3VycmVudFZlcnRleChVLHksMCwwLGQpLGY9VX19fXRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLnBvcHVsYXRlUGFpbnRBcnJheXModGhpcy5sYXlvdXRWZXJ0ZXhBcnJheS5sZW5ndGgsZSxvLHMpfX0sWm8ucHJvdG90eXBlLmFkZEN1cnJlbnRWZXJ0ZXg9ZnVuY3Rpb24odCxlLHIsbixhLGkpe3ZvaWQgMD09PWkmJihpPSExKTt2YXIgbz1lLngrZS55KnIscz1lLnktZS54KnIsbD0tZS54K2UueSpuLGM9LWUueS1lLngqbjt0aGlzLmFkZEhhbGZWZXJ0ZXgodCxvLHMsaSwhMSxyLGEpLHRoaXMuYWRkSGFsZlZlcnRleCh0LGwsYyxpLCEwLC1uLGEpLHRoaXMuZGlzdGFuY2U+WG8vMiYmMD09PXRoaXMudG90YWxEaXN0YW5jZSYmKHRoaXMuZGlzdGFuY2U9MCx0aGlzLmFkZEN1cnJlbnRWZXJ0ZXgodCxlLHIsbixhLGkpKX0sWm8ucHJvdG90eXBlLmFkZEhhbGZWZXJ0ZXg9ZnVuY3Rpb24odCxlLHIsbixhLGksbyl7dmFyIHM9dC54LGw9dC55LGM9LjUqdGhpcy5zY2FsZWREaXN0YW5jZTt0aGlzLmxheW91dFZlcnRleEFycmF5LmVtcGxhY2VCYWNrKChzPDwxKSsobj8xOjApLChsPDwxKSsoYT8xOjApLE1hdGgucm91bmQoNjMqZSkrMTI4LE1hdGgucm91bmQoNjMqcikrMTI4LDErKDA9PT1pPzA6aTwwPy0xOjEpfCg2MyZjKTw8MixjPj42KTt2YXIgdT1vLnZlcnRleExlbmd0aCsrO3RoaXMuZTE+PTAmJnRoaXMuZTI+PTAmJih0aGlzLmluZGV4QXJyYXkuZW1wbGFjZUJhY2sodGhpcy5lMSx0aGlzLmUyLHUpLG8ucHJpbWl0aXZlTGVuZ3RoKyspLGE/dGhpcy5lMj11OnRoaXMuZTE9dX0sWm8ucHJvdG90eXBlLnVwZGF0ZURpc3RhbmNlPWZ1bmN0aW9uKHQsZSl7dGhpcy5kaXN0YW5jZSs9dC5kaXN0KGUpLHRoaXMuc2NhbGVkRGlzdGFuY2U9dGhpcy50b3RhbERpc3RhbmNlPjA/KHRoaXMuY2xpcFN0YXJ0Kyh0aGlzLmNsaXBFbmQtdGhpcy5jbGlwU3RhcnQpKnRoaXMuZGlzdGFuY2UvdGhpcy50b3RhbERpc3RhbmNlKSooWG8tMSk6dGhpcy5kaXN0YW5jZX0sZG4oIkxpbmVCdWNrZXQiLFpvLHtvbWl0OlsibGF5ZXJzIiwicGF0dGVybkZlYXR1cmVzIl19KTt2YXIgSm89bmV3IEduKHsibGluZS1jYXAiOm5ldyBqbihUdC5sYXlvdXRfbGluZVsibGluZS1jYXAiXSksImxpbmUtam9pbiI6bmV3IFZuKFR0LmxheW91dF9saW5lWyJsaW5lLWpvaW4iXSksImxpbmUtbWl0ZXItbGltaXQiOm5ldyBqbihUdC5sYXlvdXRfbGluZVsibGluZS1taXRlci1saW1pdCJdKSwibGluZS1yb3VuZC1saW1pdCI6bmV3IGpuKFR0LmxheW91dF9saW5lWyJsaW5lLXJvdW5kLWxpbWl0Il0pLCJsaW5lLXNvcnQta2V5IjpuZXcgVm4oVHQubGF5b3V0X2xpbmVbImxpbmUtc29ydC1rZXkiXSl9KSxLbz17cGFpbnQ6bmV3IEduKHsibGluZS1vcGFjaXR5IjpuZXcgVm4oVHQucGFpbnRfbGluZVsibGluZS1vcGFjaXR5Il0pLCJsaW5lLWNvbG9yIjpuZXcgVm4oVHQucGFpbnRfbGluZVsibGluZS1jb2xvciJdKSwibGluZS10cmFuc2xhdGUiOm5ldyBqbihUdC5wYWludF9saW5lWyJsaW5lLXRyYW5zbGF0ZSJdKSwibGluZS10cmFuc2xhdGUtYW5jaG9yIjpuZXcgam4oVHQucGFpbnRfbGluZVsibGluZS10cmFuc2xhdGUtYW5jaG9yIl0pLCJsaW5lLXdpZHRoIjpuZXcgVm4oVHQucGFpbnRfbGluZVsibGluZS13aWR0aCJdKSwibGluZS1nYXAtd2lkdGgiOm5ldyBWbihUdC5wYWludF9saW5lWyJsaW5lLWdhcC13aWR0aCJdKSwibGluZS1vZmZzZXQiOm5ldyBWbihUdC5wYWludF9saW5lWyJsaW5lLW9mZnNldCJdKSwibGluZS1ibHVyIjpuZXcgVm4oVHQucGFpbnRfbGluZVsibGluZS1ibHVyIl0pLCJsaW5lLWRhc2hhcnJheSI6bmV3IHFuKFR0LnBhaW50X2xpbmVbImxpbmUtZGFzaGFycmF5Il0pLCJsaW5lLXBhdHRlcm4iOm5ldyBVbihUdC5wYWludF9saW5lWyJsaW5lLXBhdHRlcm4iXSksImxpbmUtZ3JhZGllbnQiOm5ldyBIbihUdC5wYWludF9saW5lWyJsaW5lLWdyYWRpZW50Il0pfSksbGF5b3V0OkpvfSxRbz1uZXcoZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5wb3NzaWJseUV2YWx1YXRlPWZ1bmN0aW9uKGUscil7cmV0dXJuIHI9bmV3IFBuKE1hdGguZmxvb3Ioci56b29tKSx7bm93OnIubm93LGZhZGVEdXJhdGlvbjpyLmZhZGVEdXJhdGlvbix6b29tSGlzdG9yeTpyLnpvb21IaXN0b3J5LHRyYW5zaXRpb246ci50cmFuc2l0aW9ufSksdC5wcm90b3R5cGUucG9zc2libHlFdmFsdWF0ZS5jYWxsKHRoaXMsZSxyKX0sZS5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oZSxyLG4sYSl7cmV0dXJuIHI9aCh7fSxyLHt6b29tOk1hdGguZmxvb3Ioci56b29tKX0pLHQucHJvdG90eXBlLmV2YWx1YXRlLmNhbGwodGhpcyxlLHIsbixhKX0sZX0oVm4pKShLby5wYWludC5wcm9wZXJ0aWVzWyJsaW5lLXdpZHRoIl0uc3BlY2lmaWNhdGlvbik7UW8udXNlSW50ZWdlclpvb209ITA7dmFyICRvPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dC5jYWxsKHRoaXMsZSxLbyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLl9oYW5kbGVTcGVjaWFsUGFpbnRQcm9wZXJ0eVVwZGF0ZT1mdW5jdGlvbih0KXsibGluZS1ncmFkaWVudCI9PT10JiZ0aGlzLl91cGRhdGVHcmFkaWVudCgpfSxlLnByb3RvdHlwZS5fdXBkYXRlR3JhZGllbnQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl90cmFuc2l0aW9uYWJsZVBhaW50Ll92YWx1ZXNbImxpbmUtZ3JhZGllbnQiXS52YWx1ZS5leHByZXNzaW9uO3RoaXMuZ3JhZGllbnQ9SWkodCwibGluZVByb2dyZXNzIiksdGhpcy5ncmFkaWVudFRleHR1cmU9bnVsbH0sZS5wcm90b3R5cGUucmVjYWxjdWxhdGU9ZnVuY3Rpb24oZSl7dC5wcm90b3R5cGUucmVjYWxjdWxhdGUuY2FsbCh0aGlzLGUpLHRoaXMucGFpbnQuX3ZhbHVlc1sibGluZS1mbG9vcndpZHRoIl09UW8ucG9zc2libHlFdmFsdWF0ZSh0aGlzLl90cmFuc2l0aW9uaW5nUGFpbnQuX3ZhbHVlc1sibGluZS13aWR0aCJdLnZhbHVlLGUpfSxlLnByb3RvdHlwZS5jcmVhdGVCdWNrZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBabyh0KX0sZS5wcm90b3R5cGUucXVlcnlSYWRpdXM9ZnVuY3Rpb24odCl7dmFyIGU9dCxyPXRzKG1pKCJsaW5lLXdpZHRoIix0aGlzLGUpLG1pKCJsaW5lLWdhcC13aWR0aCIsdGhpcyxlKSksbj1taSgibGluZS1vZmZzZXQiLHRoaXMsZSk7cmV0dXJuIHIvMitNYXRoLmFicyhuKSt5aSh0aGlzLnBhaW50LmdldCgibGluZS10cmFuc2xhdGUiKSl9LGUucHJvdG90eXBlLnF1ZXJ5SW50ZXJzZWN0c0ZlYXR1cmU9ZnVuY3Rpb24odCxlLHIsbixpLG8scyl7dmFyIGw9eGkodCx0aGlzLnBhaW50LmdldCgibGluZS10cmFuc2xhdGUiKSx0aGlzLnBhaW50LmdldCgibGluZS10cmFuc2xhdGUtYW5jaG9yIiksby5hbmdsZSxzKSxjPXMvMip0cyh0aGlzLnBhaW50LmdldCgibGluZS13aWR0aCIpLmV2YWx1YXRlKGUsciksdGhpcy5wYWludC5nZXQoImxpbmUtZ2FwLXdpZHRoIikuZXZhbHVhdGUoZSxyKSksdT10aGlzLnBhaW50LmdldCgibGluZS1vZmZzZXQiKS5ldmFsdWF0ZShlLHIpO3JldHVybiB1JiYobj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1bXSxuPW5ldyBhKDAsMCksaT0wO2k8dC5sZW5ndGg7aSsrKXtmb3IodmFyIG89dFtpXSxzPVtdLGw9MDtsPG8ubGVuZ3RoO2wrKyl7dmFyIGM9b1tsLTFdLHU9b1tsXSxoPW9bbCsxXSxmPTA9PT1sP246dS5zdWIoYykuX3VuaXQoKS5fcGVycCgpLHA9bD09PW8ubGVuZ3RoLTE/bjpoLnN1Yih1KS5fdW5pdCgpLl9wZXJwKCksZD1mLl9hZGQocCkuX3VuaXQoKSxnPWQueCpwLngrZC55KnAueTtkLl9tdWx0KDEvZykscy5wdXNoKGQuX211bHQoZSkuX2FkZCh1KSl9ci5wdXNoKHMpfXJldHVybiByfShuLHUqcykpLGZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGE9ZVtuXTtpZih0Lmxlbmd0aD49Mylmb3IodmFyIGk9MDtpPGEubGVuZ3RoO2krKylpZihnaSh0LGFbaV0pKXJldHVybiEwO2lmKGNpKHQsYSxyKSlyZXR1cm4hMH1yZXR1cm4hMX0obCxuLGMpfSxlLnByb3RvdHlwZS5pc1RpbGVDbGlwcGVkPWZ1bmN0aW9uKCl7cmV0dXJuITB9LGV9KFluKTtmdW5jdGlvbiB0cyh0LGUpe3JldHVybiBlPjA/ZSsyKnQ6dH12YXIgZXM9Sm4oW3tuYW1lOiJhX3Bvc19vZmZzZXQiLGNvbXBvbmVudHM6NCx0eXBlOiJJbnQxNiJ9LHtuYW1lOiJhX2RhdGEiLGNvbXBvbmVudHM6NCx0eXBlOiJVaW50MTYifV0pLHJzPUpuKFt7bmFtZToiYV9wcm9qZWN0ZWRfcG9zIixjb21wb25lbnRzOjMsdHlwZToiRmxvYXQzMiJ9XSw0KSxucz0oSm4oW3tuYW1lOiJhX2ZhZGVfb3BhY2l0eSIsY29tcG9uZW50czoxLHR5cGU6IlVpbnQzMiJ9XSw0KSxKbihbe25hbWU6ImFfcGxhY2VkIixjb21wb25lbnRzOjIsdHlwZToiVWludDgifSx7bmFtZToiYV9zaGlmdCIsY29tcG9uZW50czoyLHR5cGU6IkZsb2F0MzIifV0pKSxhcz0oSm4oW3t0eXBlOiJJbnQxNiIsbmFtZToiYW5jaG9yUG9pbnRYIn0se3R5cGU6IkludDE2IixuYW1lOiJhbmNob3JQb2ludFkifSx7dHlwZToiSW50MTYiLG5hbWU6IngxIn0se3R5cGU6IkludDE2IixuYW1lOiJ5MSJ9LHt0eXBlOiJJbnQxNiIsbmFtZToieDIifSx7dHlwZToiSW50MTYiLG5hbWU6InkyIn0se3R5cGU6IlVpbnQzMiIsbmFtZToiZmVhdHVyZUluZGV4In0se3R5cGU6IlVpbnQxNiIsbmFtZToic291cmNlTGF5ZXJJbmRleCJ9LHt0eXBlOiJVaW50MTYiLG5hbWU6ImJ1Y2tldEluZGV4In0se3R5cGU6IkludDE2IixuYW1lOiJyYWRpdXMifSx7dHlwZToiSW50MTYiLG5hbWU6InNpZ25lZERpc3RhbmNlRnJvbUFuY2hvciJ9XSksSm4oW3tuYW1lOiJhX3BvcyIsY29tcG9uZW50czoyLHR5cGU6IkludDE2In0se25hbWU6ImFfYW5jaG9yX3BvcyIsY29tcG9uZW50czoyLHR5cGU6IkludDE2In0se25hbWU6ImFfZXh0cnVkZSIsY29tcG9uZW50czoyLHR5cGU6IkludDE2In1dLDQpKSxpcz1Kbihbe25hbWU6ImFfcG9zIixjb21wb25lbnRzOjIsdHlwZToiSW50MTYifSx7bmFtZToiYV9hbmNob3JfcG9zIixjb21wb25lbnRzOjIsdHlwZToiSW50MTYifSx7bmFtZToiYV9leHRydWRlIixjb21wb25lbnRzOjIsdHlwZToiSW50MTYifV0sNCk7ZnVuY3Rpb24gb3ModCxlLHIpe3JldHVybiB0LnNlY3Rpb25zLmZvckVhY2goZnVuY3Rpb24odCl7dC50ZXh0PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1lLmxheW91dC5nZXQoInRleHQtdHJhbnNmb3JtIikuZXZhbHVhdGUocix7fSk7cmV0dXJuInVwcGVyY2FzZSI9PT1uP3Q9dC50b0xvY2FsZVVwcGVyQ2FzZSgpOiJsb3dlcmNhc2UiPT09biYmKHQ9dC50b0xvY2FsZUxvd2VyQ2FzZSgpKSxDbi5hcHBseUFyYWJpY1NoYXBpbmcmJih0PUNuLmFwcGx5QXJhYmljU2hhcGluZyh0KSksdH0odC50ZXh0LGUscil9KSx0fUpuKFt7dHlwZToiSW50MTYiLG5hbWU6ImFuY2hvclgifSx7dHlwZToiSW50MTYiLG5hbWU6ImFuY2hvclkifSx7dHlwZToiVWludDE2IixuYW1lOiJnbHlwaFN0YXJ0SW5kZXgifSx7dHlwZToiVWludDE2IixuYW1lOiJudW1HbHlwaHMifSx7dHlwZToiVWludDMyIixuYW1lOiJ2ZXJ0ZXhTdGFydEluZGV4In0se3R5cGU6IlVpbnQzMiIsbmFtZToibGluZVN0YXJ0SW5kZXgifSx7dHlwZToiVWludDMyIixuYW1lOiJsaW5lTGVuZ3RoIn0se3R5cGU6IlVpbnQxNiIsbmFtZToic2VnbWVudCJ9LHt0eXBlOiJVaW50MTYiLG5hbWU6Imxvd2VyU2l6ZSJ9LHt0eXBlOiJVaW50MTYiLG5hbWU6InVwcGVyU2l6ZSJ9LHt0eXBlOiJGbG9hdDMyIixuYW1lOiJsaW5lT2Zmc2V0WCJ9LHt0eXBlOiJGbG9hdDMyIixuYW1lOiJsaW5lT2Zmc2V0WSJ9LHt0eXBlOiJVaW50OCIsbmFtZToid3JpdGluZ01vZGUifSx7dHlwZToiVWludDgiLG5hbWU6InBsYWNlZE9yaWVudGF0aW9uIn0se3R5cGU6IlVpbnQ4IixuYW1lOiJoaWRkZW4ifSx7dHlwZToiVWludDMyIixuYW1lOiJjcm9zc1RpbGVJRCJ9XSksSm4oW3t0eXBlOiJJbnQxNiIsbmFtZToiYW5jaG9yWCJ9LHt0eXBlOiJJbnQxNiIsbmFtZToiYW5jaG9yWSJ9LHt0eXBlOiJJbnQxNiIsbmFtZToicmlnaHRKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXgifSx7dHlwZToiSW50MTYiLG5hbWU6ImNlbnRlckp1c3RpZmllZFRleHRTeW1ib2xJbmRleCJ9LHt0eXBlOiJJbnQxNiIsbmFtZToibGVmdEp1c3RpZmllZFRleHRTeW1ib2xJbmRleCJ9LHt0eXBlOiJJbnQxNiIsbmFtZToidmVydGljYWxQbGFjZWRUZXh0U3ltYm9sSW5kZXgifSx7dHlwZToiVWludDE2IixuYW1lOiJrZXkifSx7dHlwZToiVWludDE2IixuYW1lOiJ0ZXh0Qm94U3RhcnRJbmRleCJ9LHt0eXBlOiJVaW50MTYiLG5hbWU6InRleHRCb3hFbmRJbmRleCJ9LHt0eXBlOiJVaW50MTYiLG5hbWU6InZlcnRpY2FsVGV4dEJveFN0YXJ0SW5kZXgifSx7dHlwZToiVWludDE2IixuYW1lOiJ2ZXJ0aWNhbFRleHRCb3hFbmRJbmRleCJ9LHt0eXBlOiJVaW50MTYiLG5hbWU6Imljb25Cb3hTdGFydEluZGV4In0se3R5cGU6IlVpbnQxNiIsbmFtZToiaWNvbkJveEVuZEluZGV4In0se3R5cGU6IlVpbnQxNiIsbmFtZToiZmVhdHVyZUluZGV4In0se3R5cGU6IlVpbnQxNiIsbmFtZToibnVtSG9yaXpvbnRhbEdseXBoVmVydGljZXMifSx7dHlwZToiVWludDE2IixuYW1lOiJudW1WZXJ0aWNhbEdseXBoVmVydGljZXMifSx7dHlwZToiVWludDE2IixuYW1lOiJudW1JY29uVmVydGljZXMifSx7dHlwZToiVWludDMyIixuYW1lOiJjcm9zc1RpbGVJRCJ9LHt0eXBlOiJGbG9hdDMyIixuYW1lOiJ0ZXh0Qm94U2NhbGUifSx7dHlwZToiRmxvYXQzMiIsbmFtZToicmFkaWFsVGV4dE9mZnNldCJ9XSksSm4oW3t0eXBlOiJGbG9hdDMyIixuYW1lOiJvZmZzZXRYIn1dKSxKbihbe3R5cGU6IkludDE2IixuYW1lOiJ4In0se3R5cGU6IkludDE2IixuYW1lOiJ5In0se3R5cGU6IkludDE2IixuYW1lOiJ0aWxlVW5pdERpc3RhbmNlRnJvbUFuY2hvciJ9XSk7dmFyIHNzPXsiISI6Ilx1ZmUxNSIsIiMiOiJcdWZmMDMiLCQ6Ilx1ZmYwNCIsIiUiOiJcdWZmMDUiLCImIjoiXHVmZjA2IiwiKCI6Ilx1ZmUzNSIsIikiOiJcdWZlMzYiLCIqIjoiXHVmZjBhIiwiKyI6Ilx1ZmYwYiIsIiwiOiJcdWZlMTAiLCItIjoiXHVmZTMyIiwiLiI6Ilx1MzBmYiIsIi8iOiJcdWZmMGYiLCI6IjoiXHVmZTEzIiwiOyI6Ilx1ZmUxNCIsIjwiOiJcdWZlM2YiLCI9IjoiXHVmZjFkIiwiPiI6Ilx1ZmU0MCIsIj8iOiJcdWZlMTYiLCJAIjoiXHVmZjIwIiwiWyI6Ilx1ZmU0NyIsIlxcIjoiXHVmZjNjIiwiXSI6Ilx1ZmU0OCIsIl4iOiJcdWZmM2UiLF86Ilx1ZmUzMyIsImAiOiJcdWZmNDAiLCJ7IjoiXHVmZTM3IiwifCI6Ilx1MjAxNSIsIn0iOiJcdWZlMzgiLCJ+IjoiXHVmZjVlIiwiXHhhMiI6Ilx1ZmZlMCIsIlx4YTMiOiJcdWZmZTEiLCJceGE1IjoiXHVmZmU1IiwiXHhhNiI6Ilx1ZmZlNCIsIlx4YWMiOiJcdWZmZTIiLCJceGFmIjoiXHVmZmUzIiwiXHUyMDEzIjoiXHVmZTMyIiwiXHUyMDE0IjoiXHVmZTMxIiwiXHUyMDE4IjoiXHVmZTQzIiwiXHUyMDE5IjoiXHVmZTQ0IiwiXHUyMDFjIjoiXHVmZTQxIiwiXHUyMDFkIjoiXHVmZTQyIiwiXHUyMDI2IjoiXHVmZTE5IiwiXHUyMDI3IjoiXHUzMGZiIiwiXHUyMGE5IjoiXHVmZmU2IiwiXHUzMDAxIjoiXHVmZTExIiwiXHUzMDAyIjoiXHVmZTEyIiwiXHUzMDA4IjoiXHVmZTNmIiwiXHUzMDA5IjoiXHVmZTQwIiwiXHUzMDBhIjoiXHVmZTNkIiwiXHUzMDBiIjoiXHVmZTNlIiwiXHUzMDBjIjoiXHVmZTQxIiwiXHUzMDBkIjoiXHVmZTQyIiwiXHUzMDBlIjoiXHVmZTQzIiwiXHUzMDBmIjoiXHVmZTQ0IiwiXHUzMDEwIjoiXHVmZTNiIiwiXHUzMDExIjoiXHVmZTNjIiwiXHUzMDE0IjoiXHVmZTM5IiwiXHUzMDE1IjoiXHVmZTNhIiwiXHUzMDE2IjoiXHVmZTE3IiwiXHUzMDE3IjoiXHVmZTE4IiwiXHVmZjAxIjoiXHVmZTE1IiwiXHVmZjA4IjoiXHVmZTM1IiwiXHVmZjA5IjoiXHVmZTM2IiwiXHVmZjBjIjoiXHVmZTEwIiwiXHVmZjBkIjoiXHVmZTMyIiwiXHVmZjBlIjoiXHUzMGZiIiwiXHVmZjFhIjoiXHVmZTEzIiwiXHVmZjFiIjoiXHVmZTE0IiwiXHVmZjFjIjoiXHVmZTNmIiwiXHVmZjFlIjoiXHVmZTQwIiwiXHVmZjFmIjoiXHVmZTE2IiwiXHVmZjNiIjoiXHVmZTQ3IiwiXHVmZjNkIjoiXHVmZTQ4IiwiXHVmZjNmIjoiXHVmZTMzIiwiXHVmZjViIjoiXHVmZTM3IiwiXHVmZjVjIjoiXHUyMDE1IiwiXHVmZjVkIjoiXHVmZTM4IiwiXHVmZjVmIjoiXHVmZTM1IiwiXHVmZjYwIjoiXHVmZTM2IiwiXHVmZjYxIjoiXHVmZTEyIiwiXHVmZjYyIjoiXHVmZTQxIiwiXHVmZjYzIjoiXHVmZTQyIn0sbHM9MjQsY3M9e2hvcml6b250YWw6MSx2ZXJ0aWNhbDoyLGhvcml6b250YWxPbmx5OjN9LHVzPWZ1bmN0aW9uKCl7dGhpcy50ZXh0PSIiLHRoaXMuc2VjdGlvbkluZGV4PVtdLHRoaXMuc2VjdGlvbnM9W119O2Z1bmN0aW9uIGhzKHQsZSxyLG4sYSxpLG8scyxsLGMsdSl7dmFyIGgsZj11cy5mcm9tRmVhdHVyZSh0LHIpO2M9PT1jcy52ZXJ0aWNhbCYmZi52ZXJ0aWNhbGl6ZVB1bmN0dWF0aW9uKCk7dmFyIHA9Q24ucHJvY2Vzc0JpZGlyZWN0aW9uYWxUZXh0LGQ9Q24ucHJvY2Vzc1N0eWxlZEJpZGlyZWN0aW9uYWxUZXh0O2lmKHAmJjE9PT1mLnNlY3Rpb25zLmxlbmd0aCl7aD1bXTtmb3IodmFyIGc9MCx2PXAoZi50b1N0cmluZygpLG1zKGYscyxuLGUpKTtnPHYubGVuZ3RoO2crPTEpe3ZhciBtPXZbZ10seT1uZXcgdXM7eS50ZXh0PW0seS5zZWN0aW9ucz1mLnNlY3Rpb25zO2Zvcih2YXIgeD0wO3g8bS5sZW5ndGg7eCsrKXkuc2VjdGlvbkluZGV4LnB1c2goMCk7aC5wdXNoKHkpfX1lbHNlIGlmKGQpe2g9W107Zm9yKHZhciBiPTAsXz1kKGYudGV4dCxmLnNlY3Rpb25JbmRleCxtcyhmLHMsbixlKSk7YjxfLmxlbmd0aDtiKz0xKXt2YXIgdz1fW2JdLGs9bmV3IHVzO2sudGV4dD13WzBdLGsuc2VjdGlvbkluZGV4PXdbMV0say5zZWN0aW9ucz1mLnNlY3Rpb25zLGgucHVzaChrKX19ZWxzZSBoPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPVtdLG49dC50ZXh0LGE9MCxpPTAsbz1lO2k8by5sZW5ndGg7aSs9MSl7dmFyIHM9b1tpXTtyLnB1c2godC5zdWJzdHJpbmcoYSxzKSksYT1zfXJldHVybiBhPG4ubGVuZ3RoJiZyLnB1c2godC5zdWJzdHJpbmcoYSxuLmxlbmd0aCkpLHJ9KGYsbXMoZixzLG4sZSkpO3ZhciBUPVtdLE09e3Bvc2l0aW9uZWRHbHlwaHM6VCx0ZXh0OmYudG9TdHJpbmcoKSx0b3A6bFsxXSxib3R0b206bFsxXSxsZWZ0OmxbMF0scmlnaHQ6bFswXSx3cml0aW5nTW9kZTpjLGxpbmVDb3VudDpoLmxlbmd0aCx5T2Zmc2V0Oi0xN307cmV0dXJuIGZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyxsKXtmb3IodmFyIGM9MCx1PXQueU9mZnNldCxoPTAsZj10LnBvc2l0aW9uZWRHbHlwaHMscD0icmlnaHQiPT09aT8xOiJsZWZ0Ij09PWk/MDouNSxkPTAsZz1yO2Q8Zy5sZW5ndGg7ZCs9MSl7dmFyIHY9Z1tkXTt2LnRyaW0oKTt2YXIgbT12LmdldE1heFNjYWxlKCk7aWYodi5sZW5ndGgoKSl7Zm9yKHZhciB5PWYubGVuZ3RoLHg9MDt4PHYubGVuZ3RoKCk7eCsrKXt2YXIgYj12LmdldFNlY3Rpb24oeCksXz12LmdldFNlY3Rpb25JbmRleCh4KSx3PXYuZ2V0Q2hhckNvZGUoeCksaz0yNCoobS1iLnNjYWxlKSxUPWVbYi5mb250U3RhY2tdLE09VCYmVFt3XTtNJiYobz09PWNzLmhvcml6b250YWx8fCFsJiYhd24odyl8fGwmJihmc1t3XXx8KFM9dyx4bi5BcmFiaWMoUyl8fHhuWyJBcmFiaWMgU3VwcGxlbWVudCJdKFMpfHx4blsiQXJhYmljIEV4dGVuZGVkLUEiXShTKXx8eG5bIkFyYWJpYyBQcmVzZW50YXRpb24gRm9ybXMtQSJdKFMpfHx4blsiQXJhYmljIFByZXNlbnRhdGlvbiBGb3Jtcy1CIl0oUykpKT8oZi5wdXNoKHtnbHlwaDp3LHg6Yyx5OnUrayx2ZXJ0aWNhbDohMSxzY2FsZTpiLnNjYWxlLGZvbnRTdGFjazpiLmZvbnRTdGFjayxzZWN0aW9uSW5kZXg6X30pLGMrPU0ubWV0cmljcy5hZHZhbmNlKmIuc2NhbGUrcyk6KGYucHVzaCh7Z2x5cGg6dyx4OmMseTp1K2ssdmVydGljYWw6ITAsc2NhbGU6Yi5zY2FsZSxmb250U3RhY2s6Yi5mb250U3RhY2ssc2VjdGlvbkluZGV4Ol99KSxjKz1scypiLnNjYWxlK3MpKX1pZihmLmxlbmd0aCE9PXkpe3ZhciBBPWMtcztoPU1hdGgubWF4KEEsaCkseHMoZixlLHksZi5sZW5ndGgtMSxwKX1jPTAsdSs9biptfWVsc2UgdSs9bn12YXIgUyxFPXlzKGEpLEw9RS5ob3Jpem9udGFsQWxpZ24sQz1FLnZlcnRpY2FsQWxpZ247IWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8pe2Zvcih2YXIgcz0oZS1yKSphLGw9KC1uKm8rLjUpKmksYz0wO2M8dC5sZW5ndGg7YysrKXRbY10ueCs9cyx0W2NdLnkrPWx9KGYscCxMLEMsaCxuLHIubGVuZ3RoKTt2YXIgUD11LXQueU9mZnNldDt0LnRvcCs9LUMqUCx0LmJvdHRvbT10LnRvcCtQLHQubGVmdCs9LUwqaCx0LnJpZ2h0PXQubGVmdCtofShNLGUsaCxhLGksbyxjLHMsdSksISFULmxlbmd0aCYmTX11cy5mcm9tRmVhdHVyZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1uZXcgdXMsbj0wO248dC5zZWN0aW9ucy5sZW5ndGg7bisrKXt2YXIgYT10LnNlY3Rpb25zW25dO3Iuc2VjdGlvbnMucHVzaCh7c2NhbGU6YS5zY2FsZXx8MSxmb250U3RhY2s6YS5mb250U3RhY2t8fGV9KSxyLnRleHQrPWEudGV4dDtmb3IodmFyIGk9MDtpPGEudGV4dC5sZW5ndGg7aSsrKXIuc2VjdGlvbkluZGV4LnB1c2gobil9cmV0dXJuIHJ9LHVzLnByb3RvdHlwZS5sZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50ZXh0Lmxlbmd0aH0sdXMucHJvdG90eXBlLmdldFNlY3Rpb249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuc2VjdGlvbnNbdGhpcy5zZWN0aW9uSW5kZXhbdF1dfSx1cy5wcm90b3R5cGUuZ2V0U2VjdGlvbkluZGV4PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnNlY3Rpb25JbmRleFt0XX0sdXMucHJvdG90eXBlLmdldENoYXJDb2RlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRleHQuY2hhckNvZGVBdCh0KX0sdXMucHJvdG90eXBlLnZlcnRpY2FsaXplUHVuY3R1YXRpb249ZnVuY3Rpb24oKXt0aGlzLnRleHQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPSIiLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49dC5jaGFyQ29kZUF0KHIrMSl8fG51bGwsYT10LmNoYXJDb2RlQXQoci0xKXx8bnVsbDtuJiZrbihuKSYmIXNzW3RbcisxXV18fGEmJmtuKGEpJiYhc3NbdFtyLTFdXXx8IXNzW3Rbcl1dP2UrPXRbcl06ZSs9c3NbdFtyXV19cmV0dXJuIGV9KHRoaXMudGV4dCl9LHVzLnByb3RvdHlwZS50cmltPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTAsZT0wO2U8dGhpcy50ZXh0Lmxlbmd0aCYmZnNbdGhpcy50ZXh0LmNoYXJDb2RlQXQoZSldO2UrKyl0Kys7Zm9yKHZhciByPXRoaXMudGV4dC5sZW5ndGgsbj10aGlzLnRleHQubGVuZ3RoLTE7bj49MCYmbj49dCYmZnNbdGhpcy50ZXh0LmNoYXJDb2RlQXQobildO24tLSlyLS07dGhpcy50ZXh0PXRoaXMudGV4dC5zdWJzdHJpbmcodCxyKSx0aGlzLnNlY3Rpb25JbmRleD10aGlzLnNlY3Rpb25JbmRleC5zbGljZSh0LHIpfSx1cy5wcm90b3R5cGUuc3Vic3RyaW5nPWZ1bmN0aW9uKHQsZSl7dmFyIHI9bmV3IHVzO3JldHVybiByLnRleHQ9dGhpcy50ZXh0LnN1YnN0cmluZyh0LGUpLHIuc2VjdGlvbkluZGV4PXRoaXMuc2VjdGlvbkluZGV4LnNsaWNlKHQsZSksci5zZWN0aW9ucz10aGlzLnNlY3Rpb25zLHJ9LHVzLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRleHR9LHVzLnByb3RvdHlwZS5nZXRNYXhTY2FsZT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuc2VjdGlvbkluZGV4LnJlZHVjZShmdW5jdGlvbihlLHIpe3JldHVybiBNYXRoLm1heChlLHQuc2VjdGlvbnNbcl0uc2NhbGUpfSwwKX07dmFyIGZzPXs5OiEwLDEwOiEwLDExOiEwLDEyOiEwLDEzOiEwLDMyOiEwfSxwcz17fTtmdW5jdGlvbiBkcyh0LGUscixuKXt2YXIgYT1NYXRoLnBvdyh0LWUsMik7cmV0dXJuIG4/dDxlP2EvMjoyKmE6YStNYXRoLmFicyhyKSpyfWZ1bmN0aW9uIGdzKHQsZSxyKXt2YXIgbj0wO3JldHVybiAxMD09PXQmJihuLT0xZTQpLHImJihuKz0xNTApLDQwIT09dCYmNjUyODghPT10fHwobis9NTApLDQxIT09ZSYmNjUyODkhPT1lfHwobis9NTApLG59ZnVuY3Rpb24gdnModCxlLHIsbixhLGkpe2Zvcih2YXIgbz1udWxsLHM9ZHMoZSxyLGEsaSksbD0wLGM9bjtsPGMubGVuZ3RoO2wrPTEpe3ZhciB1PWNbbF0saD1kcyhlLXUueCxyLGEsaSkrdS5iYWRuZXNzO2g8PXMmJihvPXUscz1oKX1yZXR1cm57aW5kZXg6dCx4OmUscHJpb3JCcmVhazpvLGJhZG5lc3M6c319ZnVuY3Rpb24gbXModCxlLHIsbil7aWYoIXIpcmV0dXJuW107aWYoIXQpcmV0dXJuW107Zm9yKHZhciBhLGk9W10sbz1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGE9MCxpPTA7aTx0Lmxlbmd0aCgpO2krKyl7dmFyIG89dC5nZXRTZWN0aW9uKGkpLHM9bltvLmZvbnRTdGFja10sbD1zJiZzW3QuZ2V0Q2hhckNvZGUoaSldO2wmJihhKz1sLm1ldHJpY3MuYWR2YW5jZSpvLnNjYWxlK2UpfXJldHVybiBhL01hdGgubWF4KDEsTWF0aC5jZWlsKGEvcikpfSh0LGUscixuKSxzPXQudGV4dC5pbmRleE9mKCJcdTIwMGIiKT49MCxsPTAsYz0wO2M8dC5sZW5ndGgoKTtjKyspe3ZhciB1PXQuZ2V0U2VjdGlvbihjKSxoPXQuZ2V0Q2hhckNvZGUoYyksZj1uW3UuZm9udFN0YWNrXSxwPWYmJmZbaF07aWYocCYmIWZzW2hdJiYobCs9cC5tZXRyaWNzLmFkdmFuY2UqdS5zY2FsZStlKSxjPHQubGVuZ3RoKCktMSl7dmFyIGQ9ISgoYT1oKTwxMTkwNHx8ISh4blsiQm9wb21vZm8gRXh0ZW5kZWQiXShhKXx8eG4uQm9wb21vZm8oYSl8fHhuWyJDSksgQ29tcGF0aWJpbGl0eSBGb3JtcyJdKGEpfHx4blsiQ0pLIENvbXBhdGliaWxpdHkgSWRlb2dyYXBocyJdKGEpfHx4blsiQ0pLIENvbXBhdGliaWxpdHkiXShhKXx8eG5bIkNKSyBSYWRpY2FscyBTdXBwbGVtZW50Il0oYSl8fHhuWyJDSksgU3Ryb2tlcyJdKGEpfHx4blsiQ0pLIFN5bWJvbHMgYW5kIFB1bmN0dWF0aW9uIl0oYSl8fHhuWyJDSksgVW5pZmllZCBJZGVvZ3JhcGhzIEV4dGVuc2lvbiBBIl0oYSl8fHhuWyJDSksgVW5pZmllZCBJZGVvZ3JhcGhzIl0oYSl8fHhuWyJFbmNsb3NlZCBDSksgTGV0dGVycyBhbmQgTW9udGhzIl0oYSl8fHhuWyJIYWxmd2lkdGggYW5kIEZ1bGx3aWR0aCBGb3JtcyJdKGEpfHx4bi5IaXJhZ2FuYShhKXx8eG5bIklkZW9ncmFwaGljIERlc2NyaXB0aW9uIENoYXJhY3RlcnMiXShhKXx8eG5bIkthbmd4aSBSYWRpY2FscyJdKGEpfHx4blsiS2F0YWthbmEgUGhvbmV0aWMgRXh0ZW5zaW9ucyJdKGEpfHx4bi5LYXRha2FuYShhKXx8eG5bIlZlcnRpY2FsIEZvcm1zIl0oYSl8fHhuWyJZaSBSYWRpY2FscyJdKGEpfHx4blsiWWkgU3lsbGFibGVzIl0oYSkpKTsocHNbaF18fGQpJiZpLnB1c2godnMoYysxLGwsbyxpLGdzKGgsdC5nZXRDaGFyQ29kZShjKzEpLGQmJnMpLCExKSl9fXJldHVybiBmdW5jdGlvbiB0KGUpe3JldHVybiBlP3QoZS5wcmlvckJyZWFrKS5jb25jYXQoZS5pbmRleCk6W119KHZzKHQubGVuZ3RoKCksbCxvLGksMCwhMCkpfWZ1bmN0aW9uIHlzKHQpe3ZhciBlPS41LHI9LjU7c3dpdGNoKHQpe2Nhc2UicmlnaHQiOmNhc2UidG9wLXJpZ2h0IjpjYXNlImJvdHRvbS1yaWdodCI6ZT0xO2JyZWFrO2Nhc2UibGVmdCI6Y2FzZSJ0b3AtbGVmdCI6Y2FzZSJib3R0b20tbGVmdCI6ZT0wfXN3aXRjaCh0KXtjYXNlImJvdHRvbSI6Y2FzZSJib3R0b20tcmlnaHQiOmNhc2UiYm90dG9tLWxlZnQiOnI9MTticmVhaztjYXNlInRvcCI6Y2FzZSJ0b3AtcmlnaHQiOmNhc2UidG9wLWxlZnQiOnI9MH1yZXR1cm57aG9yaXpvbnRhbEFsaWduOmUsdmVydGljYWxBbGlnbjpyfX1mdW5jdGlvbiB4cyh0LGUscixuLGEpe2lmKGEpe3ZhciBpPXRbbl0sbz1lW2kuZm9udFN0YWNrXSxzPW8mJm9baS5nbHlwaF07aWYocylmb3IodmFyIGw9cy5tZXRyaWNzLmFkdmFuY2UqaS5zY2FsZSxjPSh0W25dLngrbCkqYSx1PXI7dTw9bjt1KyspdFt1XS54LT1jfX1wc1sxMF09ITAscHNbMzJdPSEwLHBzWzM4XT0hMCxwc1s0MF09ITAscHNbNDFdPSEwLHBzWzQzXT0hMCxwc1s0NV09ITAscHNbNDddPSEwLHBzWzE3M109ITAscHNbMTgzXT0hMCxwc1s4MjAzXT0hMCxwc1s4MjA4XT0hMCxwc1s4MjExXT0hMCxwc1s4MjMxXT0hMDt2YXIgYnM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLHIsbixhKXt0LmNhbGwodGhpcyxlLHIpLHRoaXMuYW5nbGU9bix2b2lkIDAhPT1hJiYodGhpcy5zZWdtZW50PWEpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZSh0aGlzLngsdGhpcy55LHRoaXMuYW5nbGUsdGhpcy5zZWdtZW50KX0sZX0oYSk7ZG4oIkFuY2hvciIsYnMpO3ZhciBfcz0yNTY7ZnVuY3Rpb24gd3ModCxlKXt2YXIgcj1lLmV4cHJlc3Npb247aWYoImNvbnN0YW50Ij09PXIua2luZClyZXR1cm57a2luZDoiY29uc3RhbnQiLGxheW91dFNpemU6ci5ldmFsdWF0ZShuZXcgUG4odCsxKSl9O2lmKCJzb3VyY2UiPT09ci5raW5kKXJldHVybntraW5kOiJzb3VyY2UifTtmb3IodmFyIG49ci56b29tU3RvcHMsYT1yLmludGVycG9sYXRpb25UeXBlLGk9MDtpPG4ubGVuZ3RoJiZuW2ldPD10OylpKys7Zm9yKHZhciBvPWk9TWF0aC5tYXgoMCxpLTEpO288bi5sZW5ndGgmJm5bb108dCsxOylvKys7bz1NYXRoLm1pbihuLmxlbmd0aC0xLG8pO3ZhciBzPW5baV0sbD1uW29dO3JldHVybiJjb21wb3NpdGUiPT09ci5raW5kP3traW5kOiJjb21wb3NpdGUiLG1pblpvb206cyxtYXhab29tOmwsaW50ZXJwb2xhdGlvblR5cGU6YX06e2tpbmQ6ImNhbWVyYSIsbWluWm9vbTpzLG1heFpvb206bCxtaW5TaXplOnIuZXZhbHVhdGUobmV3IFBuKHMpKSxtYXhTaXplOnIuZXZhbHVhdGUobmV3IFBuKGwpKSxpbnRlcnBvbGF0aW9uVHlwZTphfX1mdW5jdGlvbiBrcyh0LGUscil7dmFyIG49ZS51U2l6ZSxhPWUudVNpemVULGk9ci5sb3dlclNpemUsbz1yLnVwcGVyU2l6ZTtyZXR1cm4ic291cmNlIj09PXQua2luZD9pL19zOiJjb21wb3NpdGUiPT09dC5raW5kP3llKGkvX3Msby9fcyxhKTpufWZ1bmN0aW9uIFRzKHQsZSl7dmFyIHI9MCxuPTA7aWYoImNvbnN0YW50Ij09PXQua2luZCluPXQubGF5b3V0U2l6ZTtlbHNlIGlmKCJzb3VyY2UiIT09dC5raW5kKXt2YXIgYT10LmludGVycG9sYXRpb25UeXBlLGk9dC5taW5ab29tLG89dC5tYXhab29tLHM9YT9jKE5lLmludGVycG9sYXRpb25GYWN0b3IoYSxlLGksbyksMCwxKTowOyJjYW1lcmEiPT09dC5raW5kP249eWUodC5taW5TaXplLHQubWF4U2l6ZSxzKTpyPXN9cmV0dXJue3VTaXplVDpyLHVTaXplOm59fXZhciBNcz1PYmplY3QuZnJlZXplKHtnZXRTaXplRGF0YTp3cyxldmFsdWF0ZVNpemVGb3JGZWF0dXJlOmtzLGV2YWx1YXRlU2l6ZUZvclpvb206VHMsU0laRV9QQUNLX0ZBQ1RPUjpfc30pLEFzPUlvLlZlY3RvclRpbGVGZWF0dXJlLnR5cGVzLFNzPVt7bmFtZToiYV9mYWRlX29wYWNpdHkiLGNvbXBvbmVudHM6MSx0eXBlOiJVaW50OCIsb2Zmc2V0OjB9XTtmdW5jdGlvbiBFcyh0LGUscixuLGEsaSxvLHMpe3QuZW1wbGFjZUJhY2soZSxyLE1hdGgucm91bmQoMzIqbiksTWF0aC5yb3VuZCgzMiphKSxpLG8scz9zWzBdOjAscz9zWzFdOjApfWZ1bmN0aW9uIExzKHQsZSxyKXt0LmVtcGxhY2VCYWNrKGUueCxlLnksciksdC5lbXBsYWNlQmFjayhlLngsZS55LHIpLHQuZW1wbGFjZUJhY2soZS54LGUueSxyKSx0LmVtcGxhY2VCYWNrKGUueCxlLnkscil9dmFyIENzPWZ1bmN0aW9uKHQpe3RoaXMubGF5b3V0VmVydGV4QXJyYXk9bmV3IG5hLHRoaXMuaW5kZXhBcnJheT1uZXcgZGEsdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnM9dCx0aGlzLnNlZ21lbnRzPW5ldyBPYSx0aGlzLmR5bmFtaWNMYXlvdXRWZXJ0ZXhBcnJheT1uZXcgYWEsdGhpcy5vcGFjaXR5VmVydGV4QXJyYXk9bmV3IGlhLHRoaXMucGxhY2VkU3ltYm9sQXJyYXk9bmV3IHdhfTtDcy5wcm90b3R5cGUudXBsb2FkPWZ1bmN0aW9uKHQsZSxyLG4pe3ImJih0aGlzLmxheW91dFZlcnRleEJ1ZmZlcj10LmNyZWF0ZVZlcnRleEJ1ZmZlcih0aGlzLmxheW91dFZlcnRleEFycmF5LGVzLm1lbWJlcnMpLHRoaXMuaW5kZXhCdWZmZXI9dC5jcmVhdGVJbmRleEJ1ZmZlcih0aGlzLmluZGV4QXJyYXksZSksdGhpcy5keW5hbWljTGF5b3V0VmVydGV4QnVmZmVyPXQuY3JlYXRlVmVydGV4QnVmZmVyKHRoaXMuZHluYW1pY0xheW91dFZlcnRleEFycmF5LHJzLm1lbWJlcnMsITApLHRoaXMub3BhY2l0eVZlcnRleEJ1ZmZlcj10LmNyZWF0ZVZlcnRleEJ1ZmZlcih0aGlzLm9wYWNpdHlWZXJ0ZXhBcnJheSxTcywhMCksdGhpcy5vcGFjaXR5VmVydGV4QnVmZmVyLml0ZW1TaXplPTEpLChyfHxuKSYmdGhpcy5wcm9ncmFtQ29uZmlndXJhdGlvbnMudXBsb2FkKHQpfSxDcy5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3RoaXMubGF5b3V0VmVydGV4QnVmZmVyJiYodGhpcy5sYXlvdXRWZXJ0ZXhCdWZmZXIuZGVzdHJveSgpLHRoaXMuaW5kZXhCdWZmZXIuZGVzdHJveSgpLHRoaXMucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLmRlc3Ryb3koKSx0aGlzLnNlZ21lbnRzLmRlc3Ryb3koKSx0aGlzLmR5bmFtaWNMYXlvdXRWZXJ0ZXhCdWZmZXIuZGVzdHJveSgpLHRoaXMub3BhY2l0eVZlcnRleEJ1ZmZlci5kZXN0cm95KCkpfSxkbigiU3ltYm9sQnVmZmVycyIsQ3MpO3ZhciBQcz1mdW5jdGlvbih0LGUscil7dGhpcy5sYXlvdXRWZXJ0ZXhBcnJheT1uZXcgdCx0aGlzLmxheW91dEF0dHJpYnV0ZXM9ZSx0aGlzLmluZGV4QXJyYXk9bmV3IHIsdGhpcy5zZWdtZW50cz1uZXcgT2EsdGhpcy5jb2xsaXNpb25WZXJ0ZXhBcnJheT1uZXcgbGF9O1BzLnByb3RvdHlwZS51cGxvYWQ9ZnVuY3Rpb24odCl7dGhpcy5sYXlvdXRWZXJ0ZXhCdWZmZXI9dC5jcmVhdGVWZXJ0ZXhCdWZmZXIodGhpcy5sYXlvdXRWZXJ0ZXhBcnJheSx0aGlzLmxheW91dEF0dHJpYnV0ZXMpLHRoaXMuaW5kZXhCdWZmZXI9dC5jcmVhdGVJbmRleEJ1ZmZlcih0aGlzLmluZGV4QXJyYXkpLHRoaXMuY29sbGlzaW9uVmVydGV4QnVmZmVyPXQuY3JlYXRlVmVydGV4QnVmZmVyKHRoaXMuY29sbGlzaW9uVmVydGV4QXJyYXksbnMubWVtYmVycywhMCl9LFBzLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5sYXlvdXRWZXJ0ZXhCdWZmZXImJih0aGlzLmxheW91dFZlcnRleEJ1ZmZlci5kZXN0cm95KCksdGhpcy5pbmRleEJ1ZmZlci5kZXN0cm95KCksdGhpcy5zZWdtZW50cy5kZXN0cm95KCksdGhpcy5jb2xsaXNpb25WZXJ0ZXhCdWZmZXIuZGVzdHJveSgpKX0sZG4oIkNvbGxpc2lvbkJ1ZmZlcnMiLFBzKTt2YXIgT3M9ZnVuY3Rpb24odCl7dGhpcy5jb2xsaXNpb25Cb3hBcnJheT10LmNvbGxpc2lvbkJveEFycmF5LHRoaXMuem9vbT10Lnpvb20sdGhpcy5vdmVyc2NhbGluZz10Lm92ZXJzY2FsaW5nLHRoaXMubGF5ZXJzPXQubGF5ZXJzLHRoaXMubGF5ZXJJZHM9dGhpcy5sYXllcnMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkfSksdGhpcy5pbmRleD10LmluZGV4LHRoaXMucGl4ZWxSYXRpbz10LnBpeGVsUmF0aW8sdGhpcy5zb3VyY2VMYXllckluZGV4PXQuc291cmNlTGF5ZXJJbmRleCx0aGlzLmhhc1BhdHRlcm49ITEsdGhpcy5oYXNQYWludE92ZXJyaWRlcz0hMTt2YXIgZT10aGlzLmxheWVyc1swXS5fdW5ldmFsdWF0ZWRMYXlvdXQuX3ZhbHVlczt0aGlzLnRleHRTaXplRGF0YT13cyh0aGlzLnpvb20sZVsidGV4dC1zaXplIl0pLHRoaXMuaWNvblNpemVEYXRhPXdzKHRoaXMuem9vbSxlWyJpY29uLXNpemUiXSk7dmFyIHI9dGhpcy5sYXllcnNbMF0ubGF5b3V0LG49ci5nZXQoInN5bWJvbC1zb3J0LWtleSIpLGE9ci5nZXQoInN5bWJvbC16LW9yZGVyIik7dGhpcy5zb3J0RmVhdHVyZXNCeUtleT0idmlld3BvcnQteSIhPT1hJiZ2b2lkIDAhPT1uLmNvbnN0YW50T3IoMSk7dmFyIGk9InZpZXdwb3J0LXkiPT09YXx8ImF1dG8iPT09YSYmIXRoaXMuc29ydEZlYXR1cmVzQnlLZXk7dGhpcy5zb3J0RmVhdHVyZXNCeVk9aSYmKHIuZ2V0KCJ0ZXh0LWFsbG93LW92ZXJsYXAiKXx8ci5nZXQoImljb24tYWxsb3ctb3ZlcmxhcCIpfHxyLmdldCgidGV4dC1pZ25vcmUtcGxhY2VtZW50Iil8fHIuZ2V0KCJpY29uLWlnbm9yZS1wbGFjZW1lbnQiKSksInBvaW50Ij09PXIuZ2V0KCJzeW1ib2wtcGxhY2VtZW50IikmJih0aGlzLndyaXRpbmdNb2Rlcz1yLmdldCgidGV4dC13cml0aW5nLW1vZGUiKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIGNzW3RdfSkpLHRoaXMuc3RhdGVEZXBlbmRlbnRMYXllcklkcz10aGlzLmxheWVycy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQuaXNTdGF0ZURlcGVuZGVudCgpfSkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkfSksdGhpcy5zb3VyY2VJRD10LnNvdXJjZUlEfTtPcy5wcm90b3R5cGUuY3JlYXRlQXJyYXlzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5sYXllcnNbMF0ubGF5b3V0O3RoaXMuaGFzUGFpbnRPdmVycmlkZXM9UnMuaGFzUGFpbnRPdmVycmlkZXModCksdGhpcy50ZXh0PW5ldyBDcyhuZXcgUWEoZXMubWVtYmVycyx0aGlzLmxheWVycyx0aGlzLnpvb20sZnVuY3Rpb24odCl7cmV0dXJuL150ZXh0Ly50ZXN0KHQpfSkpLHRoaXMuaWNvbj1uZXcgQ3MobmV3IFFhKGVzLm1lbWJlcnMsdGhpcy5sYXllcnMsdGhpcy56b29tLGZ1bmN0aW9uKHQpe3JldHVybi9eaWNvbi8udGVzdCh0KX0pKSx0aGlzLmNvbGxpc2lvbkJveD1uZXcgUHMoc2EsYXMubWVtYmVycyxnYSksdGhpcy5jb2xsaXNpb25DaXJjbGU9bmV3IFBzKHNhLGlzLm1lbWJlcnMsZGEpLHRoaXMuZ2x5cGhPZmZzZXRBcnJheT1uZXcgQWEsdGhpcy5saW5lVmVydGV4QXJyYXk9bmV3IEVhLHRoaXMuc3ltYm9sSW5zdGFuY2VzPW5ldyBUYX0sT3MucHJvdG90eXBlLmNhbGN1bGF0ZUdseXBoRGVwZW5kZW5jaWVzPWZ1bmN0aW9uKHQsZSxyLG4sYSl7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspaWYoZVt0LmNoYXJDb2RlQXQoaSldPSEwLChyfHxuKSYmYSl7dmFyIG89c3NbdC5jaGFyQXQoaSldO28mJihlW28uY2hhckNvZGVBdCgwKV09ITApfX0sT3MucHJvdG90eXBlLnBvcHVsYXRlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5sYXllcnNbMF0sbj1yLmxheW91dCxhPW4uZ2V0KCJ0ZXh0LWZvbnQiKSxpPW4uZ2V0KCJ0ZXh0LWZpZWxkIiksbz1uLmdldCgiaWNvbi1pbWFnZSIpLHM9KCJjb25zdGFudCIhPT1pLnZhbHVlLmtpbmR8fGkudmFsdWUudmFsdWUudG9TdHJpbmcoKS5sZW5ndGg+MCkmJigiY29uc3RhbnQiIT09YS52YWx1ZS5raW5kfHxhLnZhbHVlLnZhbHVlLmxlbmd0aD4wKSxsPSJjb25zdGFudCIhPT1vLnZhbHVlLmtpbmR8fG8udmFsdWUudmFsdWUmJm8udmFsdWUudmFsdWUubGVuZ3RoPjAsYz1uLmdldCgic3ltYm9sLXNvcnQta2V5Iik7aWYodGhpcy5mZWF0dXJlcz1bXSxzfHxsKXtmb3IodmFyIHU9ZS5pY29uRGVwZW5kZW5jaWVzLGg9ZS5nbHlwaERlcGVuZGVuY2llcyxmPW5ldyBQbih0aGlzLnpvb20pLHA9MCxkPXQ7cDxkLmxlbmd0aDtwKz0xKXt2YXIgZz1kW3BdLHY9Zy5mZWF0dXJlLG09Zy5pbmRleCx5PWcuc291cmNlTGF5ZXJJbmRleDtpZihyLl9mZWF0dXJlRmlsdGVyKGYsdikpe3ZhciB4PXZvaWQgMDtpZihzKXt2YXIgYj1yLmdldFZhbHVlQW5kUmVzb2x2ZVRva2VucygidGV4dC1maWVsZCIsdik7eD1vcyhiIGluc3RhbmNlb2YgSnQ/YjpKdC5mcm9tU3RyaW5nKGIpLHIsdil9dmFyIF89dm9pZCAwO2lmKGwmJihfPXIuZ2V0VmFsdWVBbmRSZXNvbHZlVG9rZW5zKCJpY29uLWltYWdlIix2KSkseHx8Xyl7dmFyIHc9dGhpcy5zb3J0RmVhdHVyZXNCeUtleT9jLmV2YWx1YXRlKHYse30pOnZvaWQgMCxrPXt0ZXh0OngsaWNvbjpfLGluZGV4Om0sc291cmNlTGF5ZXJJbmRleDp5LGdlb21ldHJ5Om5pKHYpLHByb3BlcnRpZXM6di5wcm9wZXJ0aWVzLHR5cGU6QXNbdi50eXBlXSxzb3J0S2V5Ond9O2lmKHZvaWQgMCE9PXYuaWQmJihrLmlkPXYuaWQpLHRoaXMuZmVhdHVyZXMucHVzaChrKSxfJiYodVtfXT0hMCkseCl7dmFyIFQ9YS5ldmFsdWF0ZSh2LHt9KS5qb2luKCIsIiksTT0ibWFwIj09PW4uZ2V0KCJ0ZXh0LXJvdGF0aW9uLWFsaWdubWVudCIpJiYicG9pbnQiIT09bi5nZXQoInN5bWJvbC1wbGFjZW1lbnQiKTt0aGlzLmFsbG93VmVydGljYWxQbGFjZW1lbnQ9dGhpcy53cml0aW5nTW9kZXMmJnRoaXMud3JpdGluZ01vZGVzLmluZGV4T2YoY3MudmVydGljYWwpPj0wO2Zvcih2YXIgQT0wLFM9eC5zZWN0aW9ucztBPFMubGVuZ3RoO0ErPTEpe3ZhciBFPVNbQV0sTD1ibih4LnRvU3RyaW5nKCkpLEM9RS5mb250U3RhY2t8fFQsUD1oW0NdPWhbQ118fHt9O3RoaXMuY2FsY3VsYXRlR2x5cGhEZXBlbmRlbmNpZXMoRS50ZXh0LFAsTSx0aGlzLmFsbG93VmVydGljYWxQbGFjZW1lbnQsTCl9fX19fSJsaW5lIj09PW4uZ2V0KCJzeW1ib2wtcGxhY2VtZW50IikmJih0aGlzLmZlYXR1cmVzPWZ1bmN0aW9uKHQpe3ZhciBlPXt9LHI9e30sbj1bXSxhPTA7ZnVuY3Rpb24gaShlKXtuLnB1c2godFtlXSksYSsrfWZ1bmN0aW9uIG8odCxlLGEpe3ZhciBpPXJbdF07cmV0dXJuIGRlbGV0ZSByW3RdLHJbZV09aSxuW2ldLmdlb21ldHJ5WzBdLnBvcCgpLG5baV0uZ2VvbWV0cnlbMF09bltpXS5nZW9tZXRyeVswXS5jb25jYXQoYVswXSksaX1mdW5jdGlvbiBzKHQscixhKXt2YXIgaT1lW3JdO3JldHVybiBkZWxldGUgZVtyXSxlW3RdPWksbltpXS5nZW9tZXRyeVswXS5zaGlmdCgpLG5baV0uZ2VvbWV0cnlbMF09YVswXS5jb25jYXQobltpXS5nZW9tZXRyeVswXSksaX1mdW5jdGlvbiBsKHQsZSxyKXt2YXIgbj1yP2VbMF1bZVswXS5sZW5ndGgtMV06ZVswXVswXTtyZXR1cm4gdCsiOiIrbi54KyI6IituLnl9Zm9yKHZhciBjPTA7Yzx0Lmxlbmd0aDtjKyspe3ZhciB1PXRbY10saD11Lmdlb21ldHJ5LGY9dS50ZXh0P3UudGV4dC50b1N0cmluZygpOm51bGw7aWYoZil7dmFyIHA9bChmLGgpLGQ9bChmLGgsITApO2lmKHAgaW4gciYmZCBpbiBlJiZyW3BdIT09ZVtkXSl7dmFyIGc9cyhwLGQsaCksdj1vKHAsZCxuW2ddLmdlb21ldHJ5KTtkZWxldGUgZVtwXSxkZWxldGUgcltkXSxyW2woZixuW3ZdLmdlb21ldHJ5LCEwKV09dixuW2ddLmdlb21ldHJ5PW51bGx9ZWxzZSBwIGluIHI/byhwLGQsaCk6ZCBpbiBlP3MocCxkLGgpOihpKGMpLGVbcF09YS0xLHJbZF09YS0xKX1lbHNlIGkoYyl9cmV0dXJuIG4uZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmdlb21ldHJ5fSl9KHRoaXMuZmVhdHVyZXMpKSx0aGlzLnNvcnRGZWF0dXJlc0J5S2V5JiZ0aGlzLmZlYXR1cmVzLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5zb3J0S2V5LWUuc29ydEtleX0pfX0sT3MucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUscil7dGhpcy5zdGF0ZURlcGVuZGVudExheWVycy5sZW5ndGgmJih0aGlzLnRleHQucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLnVwZGF0ZVBhaW50QXJyYXlzKHQsZSx0aGlzLmxheWVycyxyKSx0aGlzLmljb24ucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLnVwZGF0ZVBhaW50QXJyYXlzKHQsZSx0aGlzLmxheWVycyxyKSl9LE9zLnByb3RvdHlwZS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLnN5bWJvbEluc3RhbmNlcy5sZW5ndGh9LE9zLnByb3RvdHlwZS51cGxvYWRQZW5kaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMudXBsb2FkZWR8fHRoaXMudGV4dC5wcm9ncmFtQ29uZmlndXJhdGlvbnMubmVlZHNVcGxvYWR8fHRoaXMuaWNvbi5wcm9ncmFtQ29uZmlndXJhdGlvbnMubmVlZHNVcGxvYWR9LE9zLnByb3RvdHlwZS51cGxvYWQ9ZnVuY3Rpb24odCl7dGhpcy51cGxvYWRlZHx8KHRoaXMuY29sbGlzaW9uQm94LnVwbG9hZCh0KSx0aGlzLmNvbGxpc2lvbkNpcmNsZS51cGxvYWQodCkpLHRoaXMudGV4dC51cGxvYWQodCx0aGlzLnNvcnRGZWF0dXJlc0J5WSwhdGhpcy51cGxvYWRlZCx0aGlzLnRleHQucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLm5lZWRzVXBsb2FkKSx0aGlzLmljb24udXBsb2FkKHQsdGhpcy5zb3J0RmVhdHVyZXNCeVksIXRoaXMudXBsb2FkZWQsdGhpcy5pY29uLnByb2dyYW1Db25maWd1cmF0aW9ucy5uZWVkc1VwbG9hZCksdGhpcy51cGxvYWRlZD0hMH0sT3MucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLnRleHQuZGVzdHJveSgpLHRoaXMuaWNvbi5kZXN0cm95KCksdGhpcy5jb2xsaXNpb25Cb3guZGVzdHJveSgpLHRoaXMuY29sbGlzaW9uQ2lyY2xlLmRlc3Ryb3koKX0sT3MucHJvdG90eXBlLmFkZFRvTGluZVZlcnRleEFycmF5PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5saW5lVmVydGV4QXJyYXkubGVuZ3RoO2lmKHZvaWQgMCE9PXQuc2VnbWVudCl7Zm9yKHZhciBuPXQuZGlzdChlW3Quc2VnbWVudCsxXSksYT10LmRpc3QoZVt0LnNlZ21lbnRdKSxpPXt9LG89dC5zZWdtZW50KzE7bzxlLmxlbmd0aDtvKyspaVtvXT17eDplW29dLngseTplW29dLnksdGlsZVVuaXREaXN0YW5jZUZyb21BbmNob3I6bn0sbzxlLmxlbmd0aC0xJiYobis9ZVtvKzFdLmRpc3QoZVtvXSkpO2Zvcih2YXIgcz10LnNlZ21lbnR8fDA7cz49MDtzLS0paVtzXT17eDplW3NdLngseTplW3NdLnksdGlsZVVuaXREaXN0YW5jZUZyb21BbmNob3I6YX0scz4wJiYoYSs9ZVtzLTFdLmRpc3QoZVtzXSkpO2Zvcih2YXIgbD0wO2w8ZS5sZW5ndGg7bCsrKXt2YXIgYz1pW2xdO3RoaXMubGluZVZlcnRleEFycmF5LmVtcGxhY2VCYWNrKGMueCxjLnksYy50aWxlVW5pdERpc3RhbmNlRnJvbUFuY2hvcil9fXJldHVybntsaW5lU3RhcnRJbmRleDpyLGxpbmVMZW5ndGg6dGhpcy5saW5lVmVydGV4QXJyYXkubGVuZ3RoLXJ9fSxPcy5wcm90b3R5cGUuYWRkU3ltYm9scz1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMsbCxjKXt2YXIgdT10aGlzLGg9dC5pbmRleEFycmF5LGY9dC5sYXlvdXRWZXJ0ZXhBcnJheSxwPXQuZHluYW1pY0xheW91dFZlcnRleEFycmF5LGQ9dC5zZWdtZW50cy5wcmVwYXJlU2VnbWVudCg0KmUubGVuZ3RoLHQubGF5b3V0VmVydGV4QXJyYXksdC5pbmRleEFycmF5LGkuc29ydEtleSksZz10aGlzLmdseXBoT2Zmc2V0QXJyYXkubGVuZ3RoLHY9ZC52ZXJ0ZXhMZW5ndGgsbT10aGlzLmFsbG93VmVydGljYWxQbGFjZW1lbnQmJm89PT1jcy52ZXJ0aWNhbD9NYXRoLlBJLzI6MCx5PWZ1bmN0aW9uKHQpe3ZhciBlPXQudGwsbj10LnRyLGE9dC5ibCxpPXQuYnIsbz10LnRleCxsPWQudmVydGV4TGVuZ3RoLGM9dC5nbHlwaE9mZnNldFsxXTtFcyhmLHMueCxzLnksZS54LGMrZS55LG8ueCxvLnksciksRXMoZixzLngscy55LG4ueCxjK24ueSxvLngrby53LG8ueSxyKSxFcyhmLHMueCxzLnksYS54LGMrYS55LG8ueCxvLnkrby5oLHIpLEVzKGYscy54LHMueSxpLngsYytpLnksby54K28udyxvLnkrby5oLHIpLExzKHAscyxtKSxoLmVtcGxhY2VCYWNrKGwsbCsxLGwrMiksaC5lbXBsYWNlQmFjayhsKzEsbCsyLGwrMyksZC52ZXJ0ZXhMZW5ndGgrPTQsZC5wcmltaXRpdmVMZW5ndGgrPTIsdS5nbHlwaE9mZnNldEFycmF5LmVtcGxhY2VCYWNrKHQuZ2x5cGhPZmZzZXRbMF0pfTtpZihpLnRleHQmJmkudGV4dC5zZWN0aW9ucyl7dmFyIHg9aS50ZXh0LnNlY3Rpb25zO2lmKHRoaXMuaGFzUGFpbnRPdmVycmlkZXMpe2Zvcih2YXIgYixfPWZ1bmN0aW9uKGUscil7dm9pZCAwPT09Ynx8Yj09PWUmJiFyfHx0LnByb2dyYW1Db25maWd1cmF0aW9ucy5wb3B1bGF0ZVBhaW50QXJyYXlzKHQubGF5b3V0VmVydGV4QXJyYXkubGVuZ3RoLGksaS5pbmRleCx7fSx4W2JdKSxiPWV9LHc9MCxrPWU7dzxrLmxlbmd0aDt3Kz0xKXt2YXIgVD1rW3ddO18oVC5zZWN0aW9uSW5kZXgsITEpLHkoVCl9XyhiLCEwKX1lbHNle2Zvcih2YXIgTT0wLEE9ZTtNPEEubGVuZ3RoO00rPTEpeShBW01dKTt0LnByb2dyYW1Db25maWd1cmF0aW9ucy5wb3B1bGF0ZVBhaW50QXJyYXlzKHQubGF5b3V0VmVydGV4QXJyYXkubGVuZ3RoLGksaS5pbmRleCx7fSx4WzBdKX19ZWxzZXtmb3IodmFyIFM9MCxFPWU7UzxFLmxlbmd0aDtTKz0xKXkoRVtTXSk7dC5wcm9ncmFtQ29uZmlndXJhdGlvbnMucG9wdWxhdGVQYWludEFycmF5cyh0LmxheW91dFZlcnRleEFycmF5Lmxlbmd0aCxpLGkuaW5kZXgse30pfXQucGxhY2VkU3ltYm9sQXJyYXkuZW1wbGFjZUJhY2socy54LHMueSxnLHRoaXMuZ2x5cGhPZmZzZXRBcnJheS5sZW5ndGgtZyx2LGwsYyxzLnNlZ21lbnQscj9yWzBdOjAscj9yWzFdOjAsblswXSxuWzFdLG8sMCwhMSwwKX0sT3MucHJvdG90eXBlLl9hZGRDb2xsaXNpb25EZWJ1Z1ZlcnRleD1mdW5jdGlvbih0LGUscixuLGEsaSl7cmV0dXJuIGUuZW1wbGFjZUJhY2soMCwwKSx0LmVtcGxhY2VCYWNrKHIueCxyLnksbixhLE1hdGgucm91bmQoaS54KSxNYXRoLnJvdW5kKGkueSkpfSxPcy5wcm90b3R5cGUuYWRkQ29sbGlzaW9uRGVidWdWZXJ0aWNlcz1mdW5jdGlvbih0LGUscixuLGksbyxzLGwpe3ZhciBjPWkuc2VnbWVudHMucHJlcGFyZVNlZ21lbnQoNCxpLmxheW91dFZlcnRleEFycmF5LGkuaW5kZXhBcnJheSksdT1jLnZlcnRleExlbmd0aCxoPWkubGF5b3V0VmVydGV4QXJyYXksZj1pLmNvbGxpc2lvblZlcnRleEFycmF5LHA9cy5hbmNob3JYLGQ9cy5hbmNob3JZO2lmKHRoaXMuX2FkZENvbGxpc2lvbkRlYnVnVmVydGV4KGgsZixvLHAsZCxuZXcgYSh0LGUpKSx0aGlzLl9hZGRDb2xsaXNpb25EZWJ1Z1ZlcnRleChoLGYsbyxwLGQsbmV3IGEocixlKSksdGhpcy5fYWRkQ29sbGlzaW9uRGVidWdWZXJ0ZXgoaCxmLG8scCxkLG5ldyBhKHIsbikpLHRoaXMuX2FkZENvbGxpc2lvbkRlYnVnVmVydGV4KGgsZixvLHAsZCxuZXcgYSh0LG4pKSxjLnZlcnRleExlbmd0aCs9NCxsKXt2YXIgZz1pLmluZGV4QXJyYXk7Zy5lbXBsYWNlQmFjayh1LHUrMSx1KzIpLGcuZW1wbGFjZUJhY2sodSx1KzIsdSszKSxjLnByaW1pdGl2ZUxlbmd0aCs9Mn1lbHNle3ZhciB2PWkuaW5kZXhBcnJheTt2LmVtcGxhY2VCYWNrKHUsdSsxKSx2LmVtcGxhY2VCYWNrKHUrMSx1KzIpLHYuZW1wbGFjZUJhY2sodSsyLHUrMyksdi5lbXBsYWNlQmFjayh1KzMsdSksYy5wcmltaXRpdmVMZW5ndGgrPTR9fSxPcy5wcm90b3R5cGUuYWRkRGVidWdDb2xsaXNpb25Cb3hlcz1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPXQ7bjxlO24rKyl7dmFyIGE9dGhpcy5jb2xsaXNpb25Cb3hBcnJheS5nZXQobiksaT1hLngxLG89YS55MSxzPWEueDIsbD1hLnkyLGM9YS5yYWRpdXM+MDt0aGlzLmFkZENvbGxpc2lvbkRlYnVnVmVydGljZXMoaSxvLHMsbCxjP3RoaXMuY29sbGlzaW9uQ2lyY2xlOnRoaXMuY29sbGlzaW9uQm94LGEuYW5jaG9yUG9pbnQscixjKX19LE9zLnByb3RvdHlwZS5nZW5lcmF0ZUNvbGxpc2lvbkRlYnVnQnVmZmVycz1mdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8dGhpcy5zeW1ib2xJbnN0YW5jZXMubGVuZ3RoO3QrKyl7dmFyIGU9dGhpcy5zeW1ib2xJbnN0YW5jZXMuZ2V0KHQpO3RoaXMuYWRkRGVidWdDb2xsaXNpb25Cb3hlcyhlLnRleHRCb3hTdGFydEluZGV4LGUudGV4dEJveEVuZEluZGV4LGUpLHRoaXMuYWRkRGVidWdDb2xsaXNpb25Cb3hlcyhlLnZlcnRpY2FsVGV4dEJveFN0YXJ0SW5kZXgsZS52ZXJ0aWNhbFRleHRCb3hFbmRJbmRleCxlKSx0aGlzLmFkZERlYnVnQ29sbGlzaW9uQm94ZXMoZS5pY29uQm94U3RhcnRJbmRleCxlLmljb25Cb3hFbmRJbmRleCxlKX19LE9zLnByb3RvdHlwZS5fZGVzZXJpYWxpemVDb2xsaXNpb25Cb3hlc0ZvclN5bWJvbD1mdW5jdGlvbih0LGUscixuLGEsaSxvKXtmb3IodmFyIHM9e30sbD1lO2w8cjtsKyspe3ZhciBjPXQuZ2V0KGwpO2lmKDA9PT1jLnJhZGl1cyl7cy50ZXh0Qm94PXt4MTpjLngxLHkxOmMueTEseDI6Yy54Mix5MjpjLnkyLGFuY2hvclBvaW50WDpjLmFuY2hvclBvaW50WCxhbmNob3JQb2ludFk6Yy5hbmNob3JQb2ludFl9LHMudGV4dEZlYXR1cmVJbmRleD1jLmZlYXR1cmVJbmRleDticmVha31zLnRleHRDaXJjbGVzfHwocy50ZXh0Q2lyY2xlcz1bXSxzLnRleHRGZWF0dXJlSW5kZXg9Yy5mZWF0dXJlSW5kZXgpLHMudGV4dENpcmNsZXMucHVzaChjLmFuY2hvclBvaW50WCxjLmFuY2hvclBvaW50WSxjLnJhZGl1cyxjLnNpZ25lZERpc3RhbmNlRnJvbUFuY2hvciwxKX1mb3IodmFyIHU9bjt1PGE7dSsrKXt2YXIgaD10LmdldCh1KTtpZigwPT09aC5yYWRpdXMpe3MudmVydGljYWxUZXh0Qm94PXt4MTpoLngxLHkxOmgueTEseDI6aC54Mix5MjpoLnkyLGFuY2hvclBvaW50WDpoLmFuY2hvclBvaW50WCxhbmNob3JQb2ludFk6aC5hbmNob3JQb2ludFl9LHMudmVydGljYWxUZXh0RmVhdHVyZUluZGV4PWguZmVhdHVyZUluZGV4O2JyZWFrfX1mb3IodmFyIGY9aTtmPG87ZisrKXt2YXIgcD10LmdldChmKTtpZigwPT09cC5yYWRpdXMpe3MuaWNvbkJveD17eDE6cC54MSx5MTpwLnkxLHgyOnAueDIseTI6cC55MixhbmNob3JQb2ludFg6cC5hbmNob3JQb2ludFgsYW5jaG9yUG9pbnRZOnAuYW5jaG9yUG9pbnRZfSxzLmljb25GZWF0dXJlSW5kZXg9cC5mZWF0dXJlSW5kZXg7YnJlYWt9fXJldHVybiBzfSxPcy5wcm90b3R5cGUuZGVzZXJpYWxpemVDb2xsaXNpb25Cb3hlcz1mdW5jdGlvbih0KXt0aGlzLmNvbGxpc2lvbkFycmF5cz1bXTtmb3IodmFyIGU9MDtlPHRoaXMuc3ltYm9sSW5zdGFuY2VzLmxlbmd0aDtlKyspe3ZhciByPXRoaXMuc3ltYm9sSW5zdGFuY2VzLmdldChlKTt0aGlzLmNvbGxpc2lvbkFycmF5cy5wdXNoKHRoaXMuX2Rlc2VyaWFsaXplQ29sbGlzaW9uQm94ZXNGb3JTeW1ib2wodCxyLnRleHRCb3hTdGFydEluZGV4LHIudGV4dEJveEVuZEluZGV4LHIudmVydGljYWxUZXh0Qm94U3RhcnRJbmRleCxyLnZlcnRpY2FsVGV4dEJveEVuZEluZGV4LHIuaWNvbkJveFN0YXJ0SW5kZXgsci5pY29uQm94RW5kSW5kZXgpKX19LE9zLnByb3RvdHlwZS5oYXNUZXh0RGF0YT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRleHQuc2VnbWVudHMuZ2V0KCkubGVuZ3RoPjB9LE9zLnByb3RvdHlwZS5oYXNJY29uRGF0YT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmljb24uc2VnbWVudHMuZ2V0KCkubGVuZ3RoPjB9LE9zLnByb3RvdHlwZS5oYXNDb2xsaXNpb25Cb3hEYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29sbGlzaW9uQm94LnNlZ21lbnRzLmdldCgpLmxlbmd0aD4wfSxPcy5wcm90b3R5cGUuaGFzQ29sbGlzaW9uQ2lyY2xlRGF0YT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbGxpc2lvbkNpcmNsZS5zZWdtZW50cy5nZXQoKS5sZW5ndGg+MH0sT3MucHJvdG90eXBlLmFkZEluZGljZXNGb3JQbGFjZWRUZXh0U3ltYm9sPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLnRleHQucGxhY2VkU3ltYm9sQXJyYXkuZ2V0KHQpLHI9ZS52ZXJ0ZXhTdGFydEluZGV4KzQqZS5udW1HbHlwaHMsbj1lLnZlcnRleFN0YXJ0SW5kZXg7bjxyO24rPTQpdGhpcy50ZXh0LmluZGV4QXJyYXkuZW1wbGFjZUJhY2sobixuKzEsbisyKSx0aGlzLnRleHQuaW5kZXhBcnJheS5lbXBsYWNlQmFjayhuKzEsbisyLG4rMyl9LE9zLnByb3RvdHlwZS5nZXRTb3J0ZWRTeW1ib2xJbmRleGVzPWZ1bmN0aW9uKHQpe2lmKHRoaXMuc29ydGVkQW5nbGU9PT10JiZ2b2lkIDAhPT10aGlzLnN5bWJvbEluc3RhbmNlSW5kZXhlcylyZXR1cm4gdGhpcy5zeW1ib2xJbnN0YW5jZUluZGV4ZXM7Zm9yKHZhciBlPU1hdGguc2luKHQpLHI9TWF0aC5jb3ModCksbj1bXSxhPVtdLGk9W10sbz0wO288dGhpcy5zeW1ib2xJbnN0YW5jZXMubGVuZ3RoOysrbyl7aS5wdXNoKG8pO3ZhciBzPXRoaXMuc3ltYm9sSW5zdGFuY2VzLmdldChvKTtuLnB1c2goMHxNYXRoLnJvdW5kKGUqcy5hbmNob3JYK3Iqcy5hbmNob3JZKSksYS5wdXNoKHMuZmVhdHVyZUluZGV4KX1yZXR1cm4gaS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5bdF0tbltlXXx8YVtlXS1hW3RdfSksaX0sT3MucHJvdG90eXBlLnNvcnRGZWF0dXJlcz1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2lmKHRoaXMuc29ydEZlYXR1cmVzQnlZJiZ0aGlzLnNvcnRlZEFuZ2xlIT09dCYmISh0aGlzLnRleHQuc2VnbWVudHMuZ2V0KCkubGVuZ3RoPjF8fHRoaXMuaWNvbi5zZWdtZW50cy5nZXQoKS5sZW5ndGg+MSkpe3RoaXMuc3ltYm9sSW5zdGFuY2VJbmRleGVzPXRoaXMuZ2V0U29ydGVkU3ltYm9sSW5kZXhlcyh0KSx0aGlzLnNvcnRlZEFuZ2xlPXQsdGhpcy50ZXh0LmluZGV4QXJyYXkuY2xlYXIoKSx0aGlzLmljb24uaW5kZXhBcnJheS5jbGVhcigpLHRoaXMuZmVhdHVyZVNvcnRPcmRlcj1bXTtmb3IodmFyIHI9MCxuPXRoaXMuc3ltYm9sSW5zdGFuY2VJbmRleGVzO3I8bi5sZW5ndGg7cis9MSl7dmFyIGE9bltyXSxpPXRoaXMuc3ltYm9sSW5zdGFuY2VzLmdldChhKTt0aGlzLmZlYXR1cmVTb3J0T3JkZXIucHVzaChpLmZlYXR1cmVJbmRleCksW2kucmlnaHRKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXgsaS5jZW50ZXJKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXgsaS5sZWZ0SnVzdGlmaWVkVGV4dFN5bWJvbEluZGV4XS5mb3JFYWNoKGZ1bmN0aW9uKHQscixuKXt0Pj0wJiZuLmluZGV4T2YodCk9PT1yJiZlLmFkZEluZGljZXNGb3JQbGFjZWRUZXh0U3ltYm9sKHQpfSksaS52ZXJ0aWNhbFBsYWNlZFRleHRTeW1ib2xJbmRleD49MCYmdGhpcy5hZGRJbmRpY2VzRm9yUGxhY2VkVGV4dFN5bWJvbChpLnZlcnRpY2FsUGxhY2VkVGV4dFN5bWJvbEluZGV4KTt2YXIgbz10aGlzLmljb24ucGxhY2VkU3ltYm9sQXJyYXkuZ2V0KGEpO2lmKG8ubnVtR2x5cGhzKXt2YXIgcz1vLnZlcnRleFN0YXJ0SW5kZXg7dGhpcy5pY29uLmluZGV4QXJyYXkuZW1wbGFjZUJhY2socyxzKzEscysyKSx0aGlzLmljb24uaW5kZXhBcnJheS5lbXBsYWNlQmFjayhzKzEscysyLHMrMyl9fXRoaXMudGV4dC5pbmRleEJ1ZmZlciYmdGhpcy50ZXh0LmluZGV4QnVmZmVyLnVwZGF0ZURhdGEodGhpcy50ZXh0LmluZGV4QXJyYXkpLHRoaXMuaWNvbi5pbmRleEJ1ZmZlciYmdGhpcy5pY29uLmluZGV4QnVmZmVyLnVwZGF0ZURhdGEodGhpcy5pY29uLmluZGV4QXJyYXkpfX0sZG4oIlN5bWJvbEJ1Y2tldCIsT3Mse29taXQ6WyJsYXllcnMiLCJjb2xsaXNpb25Cb3hBcnJheSIsImZlYXR1cmVzIiwiY29tcGFyZVRleHQiXX0pLE9zLk1BWF9HTFlQSFM9NjU1MzUsT3MuYWRkRHluYW1pY0F0dHJpYnV0ZXM9THM7dmFyIHpzPW5ldyBHbih7InN5bWJvbC1wbGFjZW1lbnQiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJzeW1ib2wtcGxhY2VtZW50Il0pLCJzeW1ib2wtc3BhY2luZyI6bmV3IGpuKFR0LmxheW91dF9zeW1ib2xbInN5bWJvbC1zcGFjaW5nIl0pLCJzeW1ib2wtYXZvaWQtZWRnZXMiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJzeW1ib2wtYXZvaWQtZWRnZXMiXSksInN5bWJvbC1zb3J0LWtleSI6bmV3IFZuKFR0LmxheW91dF9zeW1ib2xbInN5bWJvbC1zb3J0LWtleSJdKSwic3ltYm9sLXotb3JkZXIiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJzeW1ib2wtei1vcmRlciJdKSwiaWNvbi1hbGxvdy1vdmVybGFwIjpuZXcgam4oVHQubGF5b3V0X3N5bWJvbFsiaWNvbi1hbGxvdy1vdmVybGFwIl0pLCJpY29uLWlnbm9yZS1wbGFjZW1lbnQiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJpY29uLWlnbm9yZS1wbGFjZW1lbnQiXSksImljb24tb3B0aW9uYWwiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJpY29uLW9wdGlvbmFsIl0pLCJpY29uLXJvdGF0aW9uLWFsaWdubWVudCI6bmV3IGpuKFR0LmxheW91dF9zeW1ib2xbImljb24tcm90YXRpb24tYWxpZ25tZW50Il0pLCJpY29uLXNpemUiOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJpY29uLXNpemUiXSksImljb24tdGV4dC1maXQiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJpY29uLXRleHQtZml0Il0pLCJpY29uLXRleHQtZml0LXBhZGRpbmciOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJpY29uLXRleHQtZml0LXBhZGRpbmciXSksImljb24taW1hZ2UiOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJpY29uLWltYWdlIl0pLCJpY29uLXJvdGF0ZSI6bmV3IFZuKFR0LmxheW91dF9zeW1ib2xbImljb24tcm90YXRlIl0pLCJpY29uLXBhZGRpbmciOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJpY29uLXBhZGRpbmciXSksImljb24ta2VlcC11cHJpZ2h0IjpuZXcgam4oVHQubGF5b3V0X3N5bWJvbFsiaWNvbi1rZWVwLXVwcmlnaHQiXSksImljb24tb2Zmc2V0IjpuZXcgVm4oVHQubGF5b3V0X3N5bWJvbFsiaWNvbi1vZmZzZXQiXSksImljb24tYW5jaG9yIjpuZXcgVm4oVHQubGF5b3V0X3N5bWJvbFsiaWNvbi1hbmNob3IiXSksImljb24tcGl0Y2gtYWxpZ25tZW50IjpuZXcgam4oVHQubGF5b3V0X3N5bWJvbFsiaWNvbi1waXRjaC1hbGlnbm1lbnQiXSksInRleHQtcGl0Y2gtYWxpZ25tZW50IjpuZXcgam4oVHQubGF5b3V0X3N5bWJvbFsidGV4dC1waXRjaC1hbGlnbm1lbnQiXSksInRleHQtcm90YXRpb24tYWxpZ25tZW50IjpuZXcgam4oVHQubGF5b3V0X3N5bWJvbFsidGV4dC1yb3RhdGlvbi1hbGlnbm1lbnQiXSksInRleHQtZmllbGQiOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LWZpZWxkIl0pLCJ0ZXh0LWZvbnQiOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LWZvbnQiXSksInRleHQtc2l6ZSI6bmV3IFZuKFR0LmxheW91dF9zeW1ib2xbInRleHQtc2l6ZSJdKSwidGV4dC1tYXgtd2lkdGgiOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LW1heC13aWR0aCJdKSwidGV4dC1saW5lLWhlaWdodCI6bmV3IGpuKFR0LmxheW91dF9zeW1ib2xbInRleHQtbGluZS1oZWlnaHQiXSksInRleHQtbGV0dGVyLXNwYWNpbmciOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LWxldHRlci1zcGFjaW5nIl0pLCJ0ZXh0LWp1c3RpZnkiOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LWp1c3RpZnkiXSksInRleHQtcmFkaWFsLW9mZnNldCI6bmV3IFZuKFR0LmxheW91dF9zeW1ib2xbInRleHQtcmFkaWFsLW9mZnNldCJdKSwidGV4dC12YXJpYWJsZS1hbmNob3IiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LXZhcmlhYmxlLWFuY2hvciJdKSwidGV4dC1hbmNob3IiOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LWFuY2hvciJdKSwidGV4dC1tYXgtYW5nbGUiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LW1heC1hbmdsZSJdKSwidGV4dC13cml0aW5nLW1vZGUiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LXdyaXRpbmctbW9kZSJdKSwidGV4dC1yb3RhdGUiOm5ldyBWbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LXJvdGF0ZSJdKSwidGV4dC1wYWRkaW5nIjpuZXcgam4oVHQubGF5b3V0X3N5bWJvbFsidGV4dC1wYWRkaW5nIl0pLCJ0ZXh0LWtlZXAtdXByaWdodCI6bmV3IGpuKFR0LmxheW91dF9zeW1ib2xbInRleHQta2VlcC11cHJpZ2h0Il0pLCJ0ZXh0LXRyYW5zZm9ybSI6bmV3IFZuKFR0LmxheW91dF9zeW1ib2xbInRleHQtdHJhbnNmb3JtIl0pLCJ0ZXh0LW9mZnNldCI6bmV3IFZuKFR0LmxheW91dF9zeW1ib2xbInRleHQtb2Zmc2V0Il0pLCJ0ZXh0LWFsbG93LW92ZXJsYXAiOm5ldyBqbihUdC5sYXlvdXRfc3ltYm9sWyJ0ZXh0LWFsbG93LW92ZXJsYXAiXSksInRleHQtaWdub3JlLXBsYWNlbWVudCI6bmV3IGpuKFR0LmxheW91dF9zeW1ib2xbInRleHQtaWdub3JlLXBsYWNlbWVudCJdKSwidGV4dC1vcHRpb25hbCI6bmV3IGpuKFR0LmxheW91dF9zeW1ib2xbInRleHQtb3B0aW9uYWwiXSl9KSxJcz17cGFpbnQ6bmV3IEduKHsiaWNvbi1vcGFjaXR5IjpuZXcgVm4oVHQucGFpbnRfc3ltYm9sWyJpY29uLW9wYWNpdHkiXSksImljb24tY29sb3IiOm5ldyBWbihUdC5wYWludF9zeW1ib2xbImljb24tY29sb3IiXSksImljb24taGFsby1jb2xvciI6bmV3IFZuKFR0LnBhaW50X3N5bWJvbFsiaWNvbi1oYWxvLWNvbG9yIl0pLCJpY29uLWhhbG8td2lkdGgiOm5ldyBWbihUdC5wYWludF9zeW1ib2xbImljb24taGFsby13aWR0aCJdKSwiaWNvbi1oYWxvLWJsdXIiOm5ldyBWbihUdC5wYWludF9zeW1ib2xbImljb24taGFsby1ibHVyIl0pLCJpY29uLXRyYW5zbGF0ZSI6bmV3IGpuKFR0LnBhaW50X3N5bWJvbFsiaWNvbi10cmFuc2xhdGUiXSksImljb24tdHJhbnNsYXRlLWFuY2hvciI6bmV3IGpuKFR0LnBhaW50X3N5bWJvbFsiaWNvbi10cmFuc2xhdGUtYW5jaG9yIl0pLCJ0ZXh0LW9wYWNpdHkiOm5ldyBWbihUdC5wYWludF9zeW1ib2xbInRleHQtb3BhY2l0eSJdKSwidGV4dC1jb2xvciI6bmV3IFZuKFR0LnBhaW50X3N5bWJvbFsidGV4dC1jb2xvciJdLHtydW50aW1lVHlwZTpGdCxnZXRPdmVycmlkZTpmdW5jdGlvbih0KXtyZXR1cm4gdC50ZXh0Q29sb3J9LGhhc092ZXJyaWRlOmZ1bmN0aW9uKHQpe3JldHVybiEhdC50ZXh0Q29sb3J9fSksInRleHQtaGFsby1jb2xvciI6bmV3IFZuKFR0LnBhaW50X3N5bWJvbFsidGV4dC1oYWxvLWNvbG9yIl0pLCJ0ZXh0LWhhbG8td2lkdGgiOm5ldyBWbihUdC5wYWludF9zeW1ib2xbInRleHQtaGFsby13aWR0aCJdKSwidGV4dC1oYWxvLWJsdXIiOm5ldyBWbihUdC5wYWludF9zeW1ib2xbInRleHQtaGFsby1ibHVyIl0pLCJ0ZXh0LXRyYW5zbGF0ZSI6bmV3IGpuKFR0LnBhaW50X3N5bWJvbFsidGV4dC10cmFuc2xhdGUiXSksInRleHQtdHJhbnNsYXRlLWFuY2hvciI6bmV3IGpuKFR0LnBhaW50X3N5bWJvbFsidGV4dC10cmFuc2xhdGUtYW5jaG9yIl0pfSksbGF5b3V0OnpzfSxEcz1mdW5jdGlvbih0KXt0aGlzLnR5cGU9dC5wcm9wZXJ0eS5vdmVycmlkZXM/dC5wcm9wZXJ0eS5vdmVycmlkZXMucnVudGltZVR5cGU6enQsdGhpcy5kZWZhdWx0VmFsdWU9dH07RHMucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKHQpe2lmKHQuZm9ybWF0dGVkU2VjdGlvbil7dmFyIGU9dGhpcy5kZWZhdWx0VmFsdWUucHJvcGVydHkub3ZlcnJpZGVzO2lmKGUmJmUuaGFzT3ZlcnJpZGUodC5mb3JtYXR0ZWRTZWN0aW9uKSlyZXR1cm4gZS5nZXRPdmVycmlkZSh0LmZvcm1hdHRlZFNlY3Rpb24pfXJldHVybiB0LmZlYXR1cmUmJnQuZmVhdHVyZVN0YXRlP3RoaXMuZGVmYXVsdFZhbHVlLmV2YWx1YXRlKHQuZmVhdHVyZSx0LmZlYXR1cmVTdGF0ZSk6dGhpcy5kZWZhdWx0VmFsdWUucHJvcGVydHkuc3BlY2lmaWNhdGlvbi5kZWZhdWx0fSxEcy5wcm90b3R5cGUuZWFjaENoaWxkPWZ1bmN0aW9uKHQpe3RoaXMuZGVmYXVsdFZhbHVlLmlzQ29uc3RhbnQoKXx8dCh0aGlzLmRlZmF1bHRWYWx1ZS52YWx1ZS5fc3R5bGVFeHByZXNzaW9uLmV4cHJlc3Npb24pfSxEcy5wcm90b3R5cGUucG9zc2libGVPdXRwdXRzPWZ1bmN0aW9uKCl7cmV0dXJuW3ZvaWQgMF19LERzLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0sZG4oIkZvcm1hdFNlY3Rpb25PdmVycmlkZSIsRHMse29taXQ6WyJkZWZhdWx0VmFsdWUiXX0pO3ZhciBScz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUpe3QuY2FsbCh0aGlzLGUsSXMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5yZWNhbGN1bGF0ZT1mdW5jdGlvbihlKXtpZih0LnByb3RvdHlwZS5yZWNhbGN1bGF0ZS5jYWxsKHRoaXMsZSksImF1dG8iPT09dGhpcy5sYXlvdXQuZ2V0KCJpY29uLXJvdGF0aW9uLWFsaWdubWVudCIpJiYoInBvaW50IiE9PXRoaXMubGF5b3V0LmdldCgic3ltYm9sLXBsYWNlbWVudCIpP3RoaXMubGF5b3V0Ll92YWx1ZXNbImljb24tcm90YXRpb24tYWxpZ25tZW50Il09Im1hcCI6dGhpcy5sYXlvdXQuX3ZhbHVlc1siaWNvbi1yb3RhdGlvbi1hbGlnbm1lbnQiXT0idmlld3BvcnQiKSwiYXV0byI9PT10aGlzLmxheW91dC5nZXQoInRleHQtcm90YXRpb24tYWxpZ25tZW50IikmJigicG9pbnQiIT09dGhpcy5sYXlvdXQuZ2V0KCJzeW1ib2wtcGxhY2VtZW50Iik/dGhpcy5sYXlvdXQuX3ZhbHVlc1sidGV4dC1yb3RhdGlvbi1hbGlnbm1lbnQiXT0ibWFwIjp0aGlzLmxheW91dC5fdmFsdWVzWyJ0ZXh0LXJvdGF0aW9uLWFsaWdubWVudCJdPSJ2aWV3cG9ydCIpLCJhdXRvIj09PXRoaXMubGF5b3V0LmdldCgidGV4dC1waXRjaC1hbGlnbm1lbnQiKSYmKHRoaXMubGF5b3V0Ll92YWx1ZXNbInRleHQtcGl0Y2gtYWxpZ25tZW50Il09dGhpcy5sYXlvdXQuZ2V0KCJ0ZXh0LXJvdGF0aW9uLWFsaWdubWVudCIpKSwiYXV0byI9PT10aGlzLmxheW91dC5nZXQoImljb24tcGl0Y2gtYWxpZ25tZW50IikmJih0aGlzLmxheW91dC5fdmFsdWVzWyJpY29uLXBpdGNoLWFsaWdubWVudCJdPXRoaXMubGF5b3V0LmdldCgiaWNvbi1yb3RhdGlvbi1hbGlnbm1lbnQiKSksInBvaW50Ij09PXRoaXMubGF5b3V0LmdldCgic3ltYm9sLXBsYWNlbWVudCIpKXt2YXIgcj10aGlzLmxheW91dC5nZXQoInRleHQtd3JpdGluZy1tb2RlIik7aWYocil7Zm9yKHZhciBuPVtdLGE9MCxpPXI7YTxpLmxlbmd0aDthKz0xKXt2YXIgbz1pW2FdO24uaW5kZXhPZihvKTwwJiZuLnB1c2gobyl9dGhpcy5sYXlvdXQuX3ZhbHVlc1sidGV4dC13cml0aW5nLW1vZGUiXT1ufWVsc2UgdGhpcy5sYXlvdXQuX3ZhbHVlc1sidGV4dC13cml0aW5nLW1vZGUiXT1bImhvcml6b250YWwiXX10aGlzLl9zZXRQYWludE92ZXJyaWRlcygpfSxlLnByb3RvdHlwZS5nZXRWYWx1ZUFuZFJlc29sdmVUb2tlbnM9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmxheW91dC5nZXQodCkuZXZhbHVhdGUoZSx7fSksbj10aGlzLl91bmV2YWx1YXRlZExheW91dC5fdmFsdWVzW3RdO3JldHVybiBuLmlzRGF0YURyaXZlbigpfHx3cihuLnZhbHVlKT9yOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIucmVwbGFjZSgveyhbXnt9XSspfS9nLGZ1bmN0aW9uKGUscil7cmV0dXJuIHIgaW4gdD9TdHJpbmcodFtyXSk6IiJ9KX0oZS5wcm9wZXJ0aWVzKX0sZS5wcm90b3R5cGUuY3JlYXRlQnVja2V0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgT3ModCl9LGUucHJvdG90eXBlLnF1ZXJ5UmFkaXVzPWZ1bmN0aW9uKCl7cmV0dXJuIDB9LGUucHJvdG90eXBlLnF1ZXJ5SW50ZXJzZWN0c0ZlYXR1cmU9ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZS5wcm90b3R5cGUuX3NldFBhaW50T3ZlcnJpZGVzPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTAscj1Jcy5wYWludC5vdmVycmlkYWJsZVByb3BlcnRpZXM7dDxyLmxlbmd0aDt0Kz0xKXt2YXIgbj1yW3RdO2lmKGUuaGFzUGFpbnRPdmVycmlkZSh0aGlzLmxheW91dCxuKSl7dmFyIGEsaT10aGlzLnBhaW50LmdldChuKSxvPW5ldyBEcyhpKSxzPW5ldyBfcihvLGkucHJvcGVydHkuc3BlY2lmaWNhdGlvbik7YT0iY29uc3RhbnQiPT09aS52YWx1ZS5raW5kfHwic291cmNlIj09PWkudmFsdWUua2luZD9uZXcgVHIoInNvdXJjZSIscyk6bmV3IE1yKCJjb21wb3NpdGUiLHMsaS52YWx1ZS56b29tU3RvcHMsaS52YWx1ZS5faW50ZXJwb2xhdGlvblR5cGUpLHRoaXMucGFpbnQuX3ZhbHVlc1tuXT1uZXcgQm4oaS5wcm9wZXJ0eSxhLGkucGFyYW1ldGVycyl9fX0sZS5wcm90b3R5cGUuX2hhbmRsZU92ZXJyaWRhYmxlUGFpbnRQcm9wZXJ0eVVwZGF0ZT1mdW5jdGlvbih0LHIsbil7cmV0dXJuISghdGhpcy5sYXlvdXR8fHIuaXNEYXRhRHJpdmVuKCl8fG4uaXNEYXRhRHJpdmVuKCkpJiZlLmhhc1BhaW50T3ZlcnJpZGUodGhpcy5sYXlvdXQsdCl9LGUuaGFzUGFpbnRPdmVycmlkZT1mdW5jdGlvbih0LGUpe3ZhciByPXQuZ2V0KCJ0ZXh0LWZpZWxkIiksbj1Jcy5wYWludC5wcm9wZXJ0aWVzW2VdLGE9ITEsaT1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPXQ7ZTxyLmxlbmd0aDtlKz0xKXt2YXIgaT1yW2VdO2lmKG4ub3ZlcnJpZGVzJiZuLm92ZXJyaWRlcy5oYXNPdmVycmlkZShpKSlyZXR1cm4gdm9pZChhPSEwKX19O2lmKCJjb25zdGFudCI9PT1yLnZhbHVlLmtpbmQmJnIudmFsdWUudmFsdWUgaW5zdGFuY2VvZiBKdClpKHIudmFsdWUudmFsdWUuc2VjdGlvbnMpO2Vsc2UgaWYoInNvdXJjZSI9PT1yLnZhbHVlLmtpbmQpe3ZhciBvPWZ1bmN0aW9uKHQpe2lmKCFhKWlmKHQgaW5zdGFuY2VvZiB0ZSYmUXQodC52YWx1ZSk9PT1WdCl7dmFyIGU9dC52YWx1ZTtpKGUuc2VjdGlvbnMpfWVsc2UgdCBpbnN0YW5jZW9mIGFlP2kodC5zZWN0aW9ucyk6dC5lYWNoQ2hpbGQobyl9LHM9ci52YWx1ZTtzLl9zdHlsZUV4cHJlc3Npb24mJm8ocy5fc3R5bGVFeHByZXNzaW9uLmV4cHJlc3Npb24pfXJldHVybiBhfSxlLmhhc1BhaW50T3ZlcnJpZGVzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgcj0wLG49SXMucGFpbnQub3ZlcnJpZGFibGVQcm9wZXJ0aWVzO3I8bi5sZW5ndGg7cis9MSl7dmFyIGE9bltyXTtpZihlLmhhc1BhaW50T3ZlcnJpZGUodCxhKSlyZXR1cm4hMH1yZXR1cm4hMX0sZX0oWW4pLEZzPXtwYWludDpuZXcgR24oeyJiYWNrZ3JvdW5kLWNvbG9yIjpuZXcgam4oVHQucGFpbnRfYmFja2dyb3VuZFsiYmFja2dyb3VuZC1jb2xvciJdKSwiYmFja2dyb3VuZC1wYXR0ZXJuIjpuZXcgcW4oVHQucGFpbnRfYmFja2dyb3VuZFsiYmFja2dyb3VuZC1wYXR0ZXJuIl0pLCJiYWNrZ3JvdW5kLW9wYWNpdHkiOm5ldyBqbihUdC5wYWludF9iYWNrZ3JvdW5kWyJiYWNrZ3JvdW5kLW9wYWNpdHkiXSl9KX0sQnM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXt0LmNhbGwodGhpcyxlLEZzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZX0oWW4pLE5zPXtwYWludDpuZXcgR24oeyJyYXN0ZXItb3BhY2l0eSI6bmV3IGpuKFR0LnBhaW50X3Jhc3RlclsicmFzdGVyLW9wYWNpdHkiXSksInJhc3Rlci1odWUtcm90YXRlIjpuZXcgam4oVHQucGFpbnRfcmFzdGVyWyJyYXN0ZXItaHVlLXJvdGF0ZSJdKSwicmFzdGVyLWJyaWdodG5lc3MtbWluIjpuZXcgam4oVHQucGFpbnRfcmFzdGVyWyJyYXN0ZXItYnJpZ2h0bmVzcy1taW4iXSksInJhc3Rlci1icmlnaHRuZXNzLW1heCI6bmV3IGpuKFR0LnBhaW50X3Jhc3RlclsicmFzdGVyLWJyaWdodG5lc3MtbWF4Il0pLCJyYXN0ZXItc2F0dXJhdGlvbiI6bmV3IGpuKFR0LnBhaW50X3Jhc3RlclsicmFzdGVyLXNhdHVyYXRpb24iXSksInJhc3Rlci1jb250cmFzdCI6bmV3IGpuKFR0LnBhaW50X3Jhc3RlclsicmFzdGVyLWNvbnRyYXN0Il0pLCJyYXN0ZXItcmVzYW1wbGluZyI6bmV3IGpuKFR0LnBhaW50X3Jhc3RlclsicmFzdGVyLXJlc2FtcGxpbmciXSksInJhc3Rlci1mYWRlLWR1cmF0aW9uIjpuZXcgam4oVHQucGFpbnRfcmFzdGVyWyJyYXN0ZXItZmFkZS1kdXJhdGlvbiJdKX0pfSxqcz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUpe3QuY2FsbCh0aGlzLGUsTnMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlfShZbiksVnM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXt0LmNhbGwodGhpcyxlLHt9KSx0aGlzLmltcGxlbWVudGF0aW9uPWV9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmlzM0Q9ZnVuY3Rpb24oKXtyZXR1cm4iM2QiPT09dGhpcy5pbXBsZW1lbnRhdGlvbi5yZW5kZXJpbmdNb2RlfSxlLnByb3RvdHlwZS5oYXNPZmZzY3JlZW5QYXNzPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuaW1wbGVtZW50YXRpb24ucHJlcmVuZGVyfSxlLnByb3RvdHlwZS5yZWNhbGN1bGF0ZT1mdW5jdGlvbigpe30sZS5wcm90b3R5cGUudXBkYXRlVHJhbnNpdGlvbnM9ZnVuY3Rpb24oKXt9LGUucHJvdG90eXBlLmhhc1RyYW5zaXRpb249ZnVuY3Rpb24oKXt9LGUucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe30sZS5wcm90b3R5cGUub25BZGQ9ZnVuY3Rpb24odCl7dGhpcy5pbXBsZW1lbnRhdGlvbi5vbkFkZCYmdGhpcy5pbXBsZW1lbnRhdGlvbi5vbkFkZCh0LHQucGFpbnRlci5jb250ZXh0LmdsKX0sZS5wcm90b3R5cGUub25SZW1vdmU9ZnVuY3Rpb24odCl7dGhpcy5pbXBsZW1lbnRhdGlvbi5vblJlbW92ZSYmdGhpcy5pbXBsZW1lbnRhdGlvbi5vblJlbW92ZSh0LHQucGFpbnRlci5jb250ZXh0LmdsKX0sZX0oWW4pLFVzPXtjaXJjbGU6TWksaGVhdG1hcDpEaSxoaWxsc2hhZGU6RmksZmlsbDpUbywiZmlsbC1leHRydXNpb24iOlVvLGxpbmU6JG8sc3ltYm9sOlJzLGJhY2tncm91bmQ6QnMscmFzdGVyOmpzfTtmdW5jdGlvbiBxcyh0KXtmb3IodmFyIGU9MCxyPTAsbj0wLGE9dDtuPGEubGVuZ3RoO24rPTEpe3ZhciBpPWFbbl07ZSs9aS53KmkuaCxyPU1hdGgubWF4KHIsaS53KX10LnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5oLXQuaH0pO2Zvcih2YXIgbz1be3g6MCx5OjAsdzpNYXRoLm1heChNYXRoLmNlaWwoTWF0aC5zcXJ0KGUvLjk1KSksciksaDoxLzB9XSxzPTAsbD0wLGM9MCx1PXQ7Yzx1Lmxlbmd0aDtjKz0xKWZvcih2YXIgaD11W2NdLGY9by5sZW5ndGgtMTtmPj0wO2YtLSl7dmFyIHA9b1tmXTtpZighKGgudz5wLnd8fGguaD5wLmgpKXtpZihoLng9cC54LGgueT1wLnksbD1NYXRoLm1heChsLGgueStoLmgpLHM9TWF0aC5tYXgocyxoLngraC53KSxoLnc9PT1wLncmJmguaD09PXAuaCl7dmFyIGQ9by5wb3AoKTtmPG8ubGVuZ3RoJiYob1tmXT1kKX1lbHNlIGguaD09PXAuaD8ocC54Kz1oLncscC53LT1oLncpOmgudz09PXAudz8ocC55Kz1oLmgscC5oLT1oLmgpOihvLnB1c2goe3g6cC54K2gudyx5OnAueSx3OnAudy1oLncsaDpoLmh9KSxwLnkrPWguaCxwLmgtPWguaCk7YnJlYWt9fXJldHVybnt3OnMsaDpsLGZpbGw6ZS8ocypsKXx8MH19dmFyIEhzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZS5waXhlbFJhdGlvLG49ZS52ZXJzaW9uO3RoaXMucGFkZGVkUmVjdD10LHRoaXMucGl4ZWxSYXRpbz1yLHRoaXMudmVyc2lvbj1ufSxHcz17dGw6e2NvbmZpZ3VyYWJsZTohMH0sYnI6e2NvbmZpZ3VyYWJsZTohMH0sdGxicjp7Y29uZmlndXJhYmxlOiEwfSxkaXNwbGF5U2l6ZTp7Y29uZmlndXJhYmxlOiEwfX07R3MudGwuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMucGFkZGVkUmVjdC54KzEsdGhpcy5wYWRkZWRSZWN0LnkrMV19LEdzLmJyLmdldD1mdW5jdGlvbigpe3JldHVyblt0aGlzLnBhZGRlZFJlY3QueCt0aGlzLnBhZGRlZFJlY3Qudy0xLHRoaXMucGFkZGVkUmVjdC55K3RoaXMucGFkZGVkUmVjdC5oLTFdfSxHcy50bGJyLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRsLmNvbmNhdCh0aGlzLmJyKX0sR3MuZGlzcGxheVNpemUuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuWyh0aGlzLnBhZGRlZFJlY3Qudy0yKS90aGlzLnBpeGVsUmF0aW8sKHRoaXMucGFkZGVkUmVjdC5oLTIpL3RoaXMucGl4ZWxSYXRpb119LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEhzLnByb3RvdHlwZSxHcyk7dmFyIFlzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9e30sbj17fTt0aGlzLmhhdmVSZW5kZXJDYWxsYmFja3M9W107dmFyIGE9W107dGhpcy5hZGRJbWFnZXModCxyLGEpLHRoaXMuYWRkSW1hZ2VzKGUsbixhKTt2YXIgaT1xcyhhKSxvPWkudyxzPWkuaCxsPW5ldyBPaSh7d2lkdGg6b3x8MSxoZWlnaHQ6c3x8MX0pO2Zvcih2YXIgYyBpbiB0KXt2YXIgdT10W2NdLGg9cltjXS5wYWRkZWRSZWN0O09pLmNvcHkodS5kYXRhLGwse3g6MCx5OjB9LHt4OmgueCsxLHk6aC55KzF9LHUuZGF0YSl9Zm9yKHZhciBmIGluIGUpe3ZhciBwPWVbZl0sZD1uW2ZdLnBhZGRlZFJlY3QsZz1kLngrMSx2PWQueSsxLG09cC5kYXRhLndpZHRoLHk9cC5kYXRhLmhlaWdodDtPaS5jb3B5KHAuZGF0YSxsLHt4OjAseTowfSx7eDpnLHk6dn0scC5kYXRhKSxPaS5jb3B5KHAuZGF0YSxsLHt4OjAseTp5LTF9LHt4OmcseTp2LTF9LHt3aWR0aDptLGhlaWdodDoxfSksT2kuY29weShwLmRhdGEsbCx7eDowLHk6MH0se3g6Zyx5OnYreX0se3dpZHRoOm0saGVpZ2h0OjF9KSxPaS5jb3B5KHAuZGF0YSxsLHt4Om0tMSx5OjB9LHt4OmctMSx5OnZ9LHt3aWR0aDoxLGhlaWdodDp5fSksT2kuY29weShwLmRhdGEsbCx7eDowLHk6MH0se3g6ZyttLHk6dn0se3dpZHRoOjEsaGVpZ2h0Onl9KX10aGlzLmltYWdlPWwsdGhpcy5pY29uUG9zaXRpb25zPXIsdGhpcy5wYXR0ZXJuUG9zaXRpb25zPW59O1lzLnByb3RvdHlwZS5hZGRJbWFnZXM9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbiBpbiB0KXt2YXIgYT10W25dLGk9e3g6MCx5OjAsdzphLmRhdGEud2lkdGgrMixoOmEuZGF0YS5oZWlnaHQrMn07ci5wdXNoKGkpLGVbbl09bmV3IEhzKGksYSksYS5oYXNSZW5kZXJDYWxsYmFjayYmdGhpcy5oYXZlUmVuZGVyQ2FsbGJhY2tzLnB1c2gobil9fSxZcy5wcm90b3R5cGUucGF0Y2hVcGRhdGVkSW1hZ2VzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIHQuZGlzcGF0Y2hSZW5kZXJDYWxsYmFja3ModGhpcy5oYXZlUmVuZGVyQ2FsbGJhY2tzKSx0LnVwZGF0ZWRJbWFnZXMpdGhpcy5wYXRjaFVwZGF0ZWRJbWFnZSh0aGlzLmljb25Qb3NpdGlvbnNbcl0sdC5nZXRJbWFnZShyKSxlKSx0aGlzLnBhdGNoVXBkYXRlZEltYWdlKHRoaXMucGF0dGVyblBvc2l0aW9uc1tyXSx0LmdldEltYWdlKHIpLGUpfSxZcy5wcm90b3R5cGUucGF0Y2hVcGRhdGVkSW1hZ2U9ZnVuY3Rpb24odCxlLHIpe2lmKHQmJmUmJnQudmVyc2lvbiE9PWUudmVyc2lvbil7dC52ZXJzaW9uPWUudmVyc2lvbjt2YXIgbj10LnRsLGE9blswXSxpPW5bMV07ci51cGRhdGUoZS5kYXRhLHZvaWQgMCx7eDphLHk6aX0pfX0sZG4oIkltYWdlUG9zaXRpb24iLEhzKSxkbigiSW1hZ2VBdGxhcyIsWXMpO3ZhciBXcz1zZWxmLkhUTUxJbWFnZUVsZW1lbnQsWHM9c2VsZi5IVE1MQ2FudmFzRWxlbWVudCxacz1zZWxmLkhUTUxWaWRlb0VsZW1lbnQsSnM9c2VsZi5JbWFnZURhdGEsS3M9ZnVuY3Rpb24odCxlLHIsbil7dGhpcy5jb250ZXh0PXQsdGhpcy5mb3JtYXQ9cix0aGlzLnRleHR1cmU9dC5nbC5jcmVhdGVUZXh0dXJlKCksdGhpcy51cGRhdGUoZSxuKX07S3MucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUscil7dmFyIG49dC53aWR0aCxhPXQuaGVpZ2h0LGk9ISh0aGlzLnNpemUmJnRoaXMuc2l6ZVswXT09PW4mJnRoaXMuc2l6ZVsxXT09PWF8fHIpLG89dGhpcy5jb250ZXh0LHM9by5nbDtpZih0aGlzLnVzZU1pcG1hcD1Cb29sZWFuKGUmJmUudXNlTWlwbWFwKSxzLmJpbmRUZXh0dXJlKHMuVEVYVFVSRV8yRCx0aGlzLnRleHR1cmUpLG8ucGl4ZWxTdG9yZVVucGFja0ZsaXBZLnNldCghMSksby5waXhlbFN0b3JlVW5wYWNrLnNldCgxKSxvLnBpeGVsU3RvcmVVbnBhY2tQcmVtdWx0aXBseUFscGhhLnNldCh0aGlzLmZvcm1hdD09PXMuUkdCQSYmKCFlfHwhMSE9PWUucHJlbXVsdGlwbHkpKSxpKXRoaXMuc2l6ZT1bbixhXSx0IGluc3RhbmNlb2YgV3N8fHQgaW5zdGFuY2VvZiBYc3x8dCBpbnN0YW5jZW9mIFpzfHx0IGluc3RhbmNlb2YgSnM/cy50ZXhJbWFnZTJEKHMuVEVYVFVSRV8yRCwwLHRoaXMuZm9ybWF0LHRoaXMuZm9ybWF0LHMuVU5TSUdORURfQllURSx0KTpzLnRleEltYWdlMkQocy5URVhUVVJFXzJELDAsdGhpcy5mb3JtYXQsbixhLDAsdGhpcy5mb3JtYXQscy5VTlNJR05FRF9CWVRFLHQuZGF0YSk7ZWxzZXt2YXIgbD1yfHx7eDowLHk6MH0sYz1sLngsdT1sLnk7dCBpbnN0YW5jZW9mIFdzfHx0IGluc3RhbmNlb2YgWHN8fHQgaW5zdGFuY2VvZiBac3x8dCBpbnN0YW5jZW9mIEpzP3MudGV4U3ViSW1hZ2UyRChzLlRFWFRVUkVfMkQsMCxjLHUscy5SR0JBLHMuVU5TSUdORURfQllURSx0KTpzLnRleFN1YkltYWdlMkQocy5URVhUVVJFXzJELDAsYyx1LG4sYSxzLlJHQkEscy5VTlNJR05FRF9CWVRFLHQuZGF0YSl9dGhpcy51c2VNaXBtYXAmJnRoaXMuaXNTaXplUG93ZXJPZlR3bygpJiZzLmdlbmVyYXRlTWlwbWFwKHMuVEVYVFVSRV8yRCl9LEtzLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLmNvbnRleHQuZ2w7bi5iaW5kVGV4dHVyZShuLlRFWFRVUkVfMkQsdGhpcy50ZXh0dXJlKSxyIT09bi5MSU5FQVJfTUlQTUFQX05FQVJFU1R8fHRoaXMuaXNTaXplUG93ZXJPZlR3bygpfHwocj1uLkxJTkVBUiksdCE9PXRoaXMuZmlsdGVyJiYobi50ZXhQYXJhbWV0ZXJpKG4uVEVYVFVSRV8yRCxuLlRFWFRVUkVfTUFHX0ZJTFRFUix0KSxuLnRleFBhcmFtZXRlcmkobi5URVhUVVJFXzJELG4uVEVYVFVSRV9NSU5fRklMVEVSLHJ8fHQpLHRoaXMuZmlsdGVyPXQpLGUhPT10aGlzLndyYXAmJihuLnRleFBhcmFtZXRlcmkobi5URVhUVVJFXzJELG4uVEVYVFVSRV9XUkFQX1MsZSksbi50ZXhQYXJhbWV0ZXJpKG4uVEVYVFVSRV8yRCxuLlRFWFRVUkVfV1JBUF9ULGUpLHRoaXMud3JhcD1lKX0sS3MucHJvdG90eXBlLmlzU2l6ZVBvd2VyT2ZUd289ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaXplWzBdPT09dGhpcy5zaXplWzFdJiZNYXRoLmxvZyh0aGlzLnNpemVbMF0pL01hdGguTE4yJTE9PTB9LEtzLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5jb250ZXh0LmdsLmRlbGV0ZVRleHR1cmUodGhpcy50ZXh0dXJlKSx0aGlzLnRleHR1cmU9bnVsbH07dmFyIFFzPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGksbyxzPTgqYS1uLTEsbD0oMTw8cyktMSxjPWw+PjEsdT0tNyxoPXI/YS0xOjAsZj1yPy0xOjEscD10W2UraF07Zm9yKGgrPWYsaT1wJigxPDwtdSktMSxwPj49LXUsdSs9czt1PjA7aT0yNTYqaSt0W2UraF0saCs9Zix1LT04KTtmb3Iobz1pJigxPDwtdSktMSxpPj49LXUsdSs9bjt1PjA7bz0yNTYqbyt0W2UraF0saCs9Zix1LT04KTtpZigwPT09aSlpPTEtYztlbHNle2lmKGk9PT1sKXJldHVybiBvP05hTjoxLzAqKHA/LTE6MSk7bys9TWF0aC5wb3coMixuKSxpLT1jfXJldHVybihwPy0xOjEpKm8qTWF0aC5wb3coMixpLW4pfSwkcz1mdW5jdGlvbih0LGUscixuLGEsaSl7dmFyIG8scyxsLGM9OCppLWEtMSx1PSgxPDxjKS0xLGg9dT4+MSxmPTIzPT09YT9NYXRoLnBvdygyLC0yNCktTWF0aC5wb3coMiwtNzcpOjAscD1uPzA6aS0xLGQ9bj8xOi0xLGc9ZTwwfHwwPT09ZSYmMS9lPDA/MTowO2ZvcihlPU1hdGguYWJzKGUpLGlzTmFOKGUpfHxlPT09MS8wPyhzPWlzTmFOKGUpPzE6MCxvPXUpOihvPU1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5MTjIpLGUqKGw9TWF0aC5wb3coMiwtbykpPDEmJihvLS0sbCo9MiksKGUrPW8raD49MT9mL2w6ZipNYXRoLnBvdygyLDEtaCkpKmw+PTImJihvKyssbC89MiksbytoPj11PyhzPTAsbz11KTpvK2g+PTE/KHM9KGUqbC0xKSpNYXRoLnBvdygyLGEpLG8rPWgpOihzPWUqTWF0aC5wb3coMixoLTEpKk1hdGgucG93KDIsYSksbz0wKSk7YT49ODt0W3IrcF09MjU1JnMscCs9ZCxzLz0yNTYsYS09OCk7Zm9yKG89bzw8YXxzLGMrPWE7Yz4wO3RbcitwXT0yNTUmbyxwKz1kLG8vPTI1NixjLT04KTt0W3IrcC1kXXw9MTI4Kmd9LHRsPWVsO2Z1bmN0aW9uIGVsKHQpe3RoaXMuYnVmPUFycmF5QnVmZmVyLmlzVmlldyYmQXJyYXlCdWZmZXIuaXNWaWV3KHQpP3Q6bmV3IFVpbnQ4QXJyYXkodHx8MCksdGhpcy5wb3M9MCx0aGlzLnR5cGU9MCx0aGlzLmxlbmd0aD10aGlzLmJ1Zi5sZW5ndGh9ZnVuY3Rpb24gcmwodCl7cmV0dXJuIHQudHlwZT09PWVsLkJ5dGVzP3QucmVhZFZhcmludCgpK3QucG9zOnQucG9zKzF9ZnVuY3Rpb24gbmwodCxlLHIpe3JldHVybiByPzQyOTQ5NjcyOTYqZSsodD4+PjApOjQyOTQ5NjcyOTYqKGU+Pj4wKSsodD4+PjApfWZ1bmN0aW9uIGFsKHQsZSxyKXt2YXIgbj1lPD0xNjM4Mz8xOmU8PTIwOTcxNTE/MjplPD0yNjg0MzU0NTU/MzpNYXRoLmZsb29yKE1hdGgubG9nKGUpLyg3Kk1hdGguTE4yKSk7ci5yZWFsbG9jKG4pO2Zvcih2YXIgYT1yLnBvcy0xO2E+PXQ7YS0tKXIuYnVmW2Erbl09ci5idWZbYV19ZnVuY3Rpb24gaWwodCxlKXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyllLndyaXRlVmFyaW50KHRbcl0pfWZ1bmN0aW9uIG9sKHQsZSl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspZS53cml0ZVNWYXJpbnQodFtyXSl9ZnVuY3Rpb24gc2wodCxlKXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyllLndyaXRlRmxvYXQodFtyXSl9ZnVuY3Rpb24gbGwodCxlKXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyllLndyaXRlRG91YmxlKHRbcl0pfWZ1bmN0aW9uIGNsKHQsZSl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspZS53cml0ZUJvb2xlYW4odFtyXSl9ZnVuY3Rpb24gdWwodCxlKXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyllLndyaXRlRml4ZWQzMih0W3JdKX1mdW5jdGlvbiBobCh0LGUpe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKWUud3JpdGVTRml4ZWQzMih0W3JdKX1mdW5jdGlvbiBmbCh0LGUpe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKWUud3JpdGVGaXhlZDY0KHRbcl0pfWZ1bmN0aW9uIHBsKHQsZSl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspZS53cml0ZVNGaXhlZDY0KHRbcl0pfWZ1bmN0aW9uIGRsKHQsZSl7cmV0dXJuKHRbZV18dFtlKzFdPDw4fHRbZSsyXTw8MTYpKzE2Nzc3MjE2KnRbZSszXX1mdW5jdGlvbiBnbCh0LGUscil7dFtyXT1lLHRbcisxXT1lPj4+OCx0W3IrMl09ZT4+PjE2LHRbciszXT1lPj4+MjR9ZnVuY3Rpb24gdmwodCxlKXtyZXR1cm4odFtlXXx0W2UrMV08PDh8dFtlKzJdPDwxNikrKHRbZSszXTw8MjQpfWVsLlZhcmludD0wLGVsLkZpeGVkNjQ9MSxlbC5CeXRlcz0yLGVsLkZpeGVkMzI9NSxlbC5wcm90b3R5cGU9e2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmJ1Zj1udWxsfSxyZWFkRmllbGRzOmZ1bmN0aW9uKHQsZSxyKXtmb3Iocj1yfHx0aGlzLmxlbmd0aDt0aGlzLnBvczxyOyl7dmFyIG49dGhpcy5yZWFkVmFyaW50KCksYT1uPj4zLGk9dGhpcy5wb3M7dGhpcy50eXBlPTcmbix0KGEsZSx0aGlzKSx0aGlzLnBvcz09PWkmJnRoaXMuc2tpcChuKX1yZXR1cm4gZX0scmVhZE1lc3NhZ2U6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5yZWFkRmllbGRzKHQsZSx0aGlzLnJlYWRWYXJpbnQoKSt0aGlzLnBvcyl9LHJlYWRGaXhlZDMyOmZ1bmN0aW9uKCl7dmFyIHQ9ZGwodGhpcy5idWYsdGhpcy5wb3MpO3JldHVybiB0aGlzLnBvcys9NCx0fSxyZWFkU0ZpeGVkMzI6ZnVuY3Rpb24oKXt2YXIgdD12bCh0aGlzLmJ1Zix0aGlzLnBvcyk7cmV0dXJuIHRoaXMucG9zKz00LHR9LHJlYWRGaXhlZDY0OmZ1bmN0aW9uKCl7dmFyIHQ9ZGwodGhpcy5idWYsdGhpcy5wb3MpKzQyOTQ5NjcyOTYqZGwodGhpcy5idWYsdGhpcy5wb3MrNCk7cmV0dXJuIHRoaXMucG9zKz04LHR9LHJlYWRTRml4ZWQ2NDpmdW5jdGlvbigpe3ZhciB0PWRsKHRoaXMuYnVmLHRoaXMucG9zKSs0Mjk0OTY3Mjk2KnZsKHRoaXMuYnVmLHRoaXMucG9zKzQpO3JldHVybiB0aGlzLnBvcys9OCx0fSxyZWFkRmxvYXQ6ZnVuY3Rpb24oKXt2YXIgdD1Rcyh0aGlzLmJ1Zix0aGlzLnBvcywhMCwyMyw0KTtyZXR1cm4gdGhpcy5wb3MrPTQsdH0scmVhZERvdWJsZTpmdW5jdGlvbigpe3ZhciB0PVFzKHRoaXMuYnVmLHRoaXMucG9zLCEwLDUyLDgpO3JldHVybiB0aGlzLnBvcys9OCx0fSxyZWFkVmFyaW50OmZ1bmN0aW9uKHQpe3ZhciBlLHIsbj10aGlzLmJ1ZjtyZXR1cm4gZT0xMjcmKHI9blt0aGlzLnBvcysrXSkscjwxMjg/ZTooZXw9KDEyNyYocj1uW3RoaXMucG9zKytdKSk8PDcscjwxMjg/ZTooZXw9KDEyNyYocj1uW3RoaXMucG9zKytdKSk8PDE0LHI8MTI4P2U6KGV8PSgxMjcmKHI9blt0aGlzLnBvcysrXSkpPDwyMSxyPDEyOD9lOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbixhLGk9ci5idWY7aWYobj0oMTEyJihhPWlbci5wb3MrK10pKT4+NCxhPDEyOClyZXR1cm4gbmwodCxuLGUpO2lmKG58PSgxMjcmKGE9aVtyLnBvcysrXSkpPDwzLGE8MTI4KXJldHVybiBubCh0LG4sZSk7aWYobnw9KDEyNyYoYT1pW3IucG9zKytdKSk8PDEwLGE8MTI4KXJldHVybiBubCh0LG4sZSk7aWYobnw9KDEyNyYoYT1pW3IucG9zKytdKSk8PDE3LGE8MTI4KXJldHVybiBubCh0LG4sZSk7aWYobnw9KDEyNyYoYT1pW3IucG9zKytdKSk8PDI0LGE8MTI4KXJldHVybiBubCh0LG4sZSk7aWYobnw9KDEmKGE9aVtyLnBvcysrXSkpPDwzMSxhPDEyOClyZXR1cm4gbmwodCxuLGUpO3Rocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgdmFyaW50IG5vdCBtb3JlIHRoYW4gMTAgYnl0ZXMiKX0oZXw9KDE1JihyPW5bdGhpcy5wb3NdKSk8PDI4LHQsdGhpcykpKSl9LHJlYWRWYXJpbnQ2NDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJlYWRWYXJpbnQoITApfSxyZWFkU1ZhcmludDpmdW5jdGlvbigpe3ZhciB0PXRoaXMucmVhZFZhcmludCgpO3JldHVybiB0JTI9PTE/KHQrMSkvLTI6dC8yfSxyZWFkQm9vbGVhbjpmdW5jdGlvbigpe3JldHVybiBCb29sZWFuKHRoaXMucmVhZFZhcmludCgpKX0scmVhZFN0cmluZzpmdW5jdGlvbigpe3ZhciB0PXRoaXMucmVhZFZhcmludCgpK3RoaXMucG9zLGU9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj0iIixhPWU7YTxyOyl7dmFyIGksbyxzLGw9dFthXSxjPW51bGwsdT1sPjIzOT80Omw+MjIzPzM6bD4xOTE/MjoxO2lmKGErdT5yKWJyZWFrOzE9PT11P2w8MTI4JiYoYz1sKToyPT09dT8xMjg9PSgxOTImKGk9dFthKzFdKSkmJihjPSgzMSZsKTw8Nnw2MyZpKTw9MTI3JiYoYz1udWxsKTozPT09dT8oaT10W2ErMV0sbz10W2ErMl0sMTI4PT0oMTkyJmkpJiYxMjg9PSgxOTImbykmJigoYz0oMTUmbCk8PDEyfCg2MyZpKTw8Nnw2MyZvKTw9MjA0N3x8Yz49NTUyOTYmJmM8PTU3MzQzKSYmKGM9bnVsbCkpOjQ9PT11JiYoaT10W2ErMV0sbz10W2ErMl0scz10W2ErM10sMTI4PT0oMTkyJmkpJiYxMjg9PSgxOTImbykmJjEyOD09KDE5MiZzKSYmKChjPSgxNSZsKTw8MTh8KDYzJmkpPDwxMnwoNjMmbyk8PDZ8NjMmcyk8PTY1NTM1fHxjPj0xMTE0MTEyKSYmKGM9bnVsbCkpLG51bGw9PT1jPyhjPTY1NTMzLHU9MSk6Yz42NTUzNSYmKGMtPTY1NTM2LG4rPVN0cmluZy5mcm9tQ2hhckNvZGUoYz4+PjEwJjEwMjN8NTUyOTYpLGM9NTYzMjB8MTAyMyZjKSxuKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGMpLGErPXV9cmV0dXJuIG59KHRoaXMuYnVmLHRoaXMucG9zLHQpO3JldHVybiB0aGlzLnBvcz10LGV9LHJlYWRCeXRlczpmdW5jdGlvbigpe3ZhciB0PXRoaXMucmVhZFZhcmludCgpK3RoaXMucG9zLGU9dGhpcy5idWYuc3ViYXJyYXkodGhpcy5wb3MsdCk7cmV0dXJuIHRoaXMucG9zPXQsZX0scmVhZFBhY2tlZFZhcmludDpmdW5jdGlvbih0LGUpe2lmKHRoaXMudHlwZSE9PWVsLkJ5dGVzKXJldHVybiB0LnB1c2godGhpcy5yZWFkVmFyaW50KGUpKTt2YXIgcj1ybCh0aGlzKTtmb3IodD10fHxbXTt0aGlzLnBvczxyOyl0LnB1c2godGhpcy5yZWFkVmFyaW50KGUpKTtyZXR1cm4gdH0scmVhZFBhY2tlZFNWYXJpbnQ6ZnVuY3Rpb24odCl7aWYodGhpcy50eXBlIT09ZWwuQnl0ZXMpcmV0dXJuIHQucHVzaCh0aGlzLnJlYWRTVmFyaW50KCkpO3ZhciBlPXJsKHRoaXMpO2Zvcih0PXR8fFtdO3RoaXMucG9zPGU7KXQucHVzaCh0aGlzLnJlYWRTVmFyaW50KCkpO3JldHVybiB0fSxyZWFkUGFja2VkQm9vbGVhbjpmdW5jdGlvbih0KXtpZih0aGlzLnR5cGUhPT1lbC5CeXRlcylyZXR1cm4gdC5wdXNoKHRoaXMucmVhZEJvb2xlYW4oKSk7dmFyIGU9cmwodGhpcyk7Zm9yKHQ9dHx8W107dGhpcy5wb3M8ZTspdC5wdXNoKHRoaXMucmVhZEJvb2xlYW4oKSk7cmV0dXJuIHR9LHJlYWRQYWNrZWRGbG9hdDpmdW5jdGlvbih0KXtpZih0aGlzLnR5cGUhPT1lbC5CeXRlcylyZXR1cm4gdC5wdXNoKHRoaXMucmVhZEZsb2F0KCkpO3ZhciBlPXJsKHRoaXMpO2Zvcih0PXR8fFtdO3RoaXMucG9zPGU7KXQucHVzaCh0aGlzLnJlYWRGbG9hdCgpKTtyZXR1cm4gdH0scmVhZFBhY2tlZERvdWJsZTpmdW5jdGlvbih0KXtpZih0aGlzLnR5cGUhPT1lbC5CeXRlcylyZXR1cm4gdC5wdXNoKHRoaXMucmVhZERvdWJsZSgpKTt2YXIgZT1ybCh0aGlzKTtmb3IodD10fHxbXTt0aGlzLnBvczxlOyl0LnB1c2godGhpcy5yZWFkRG91YmxlKCkpO3JldHVybiB0fSxyZWFkUGFja2VkRml4ZWQzMjpmdW5jdGlvbih0KXtpZih0aGlzLnR5cGUhPT1lbC5CeXRlcylyZXR1cm4gdC5wdXNoKHRoaXMucmVhZEZpeGVkMzIoKSk7dmFyIGU9cmwodGhpcyk7Zm9yKHQ9dHx8W107dGhpcy5wb3M8ZTspdC5wdXNoKHRoaXMucmVhZEZpeGVkMzIoKSk7cmV0dXJuIHR9LHJlYWRQYWNrZWRTRml4ZWQzMjpmdW5jdGlvbih0KXtpZih0aGlzLnR5cGUhPT1lbC5CeXRlcylyZXR1cm4gdC5wdXNoKHRoaXMucmVhZFNGaXhlZDMyKCkpO3ZhciBlPXJsKHRoaXMpO2Zvcih0PXR8fFtdO3RoaXMucG9zPGU7KXQucHVzaCh0aGlzLnJlYWRTRml4ZWQzMigpKTtyZXR1cm4gdH0scmVhZFBhY2tlZEZpeGVkNjQ6ZnVuY3Rpb24odCl7aWYodGhpcy50eXBlIT09ZWwuQnl0ZXMpcmV0dXJuIHQucHVzaCh0aGlzLnJlYWRGaXhlZDY0KCkpO3ZhciBlPXJsKHRoaXMpO2Zvcih0PXR8fFtdO3RoaXMucG9zPGU7KXQucHVzaCh0aGlzLnJlYWRGaXhlZDY0KCkpO3JldHVybiB0fSxyZWFkUGFja2VkU0ZpeGVkNjQ6ZnVuY3Rpb24odCl7aWYodGhpcy50eXBlIT09ZWwuQnl0ZXMpcmV0dXJuIHQucHVzaCh0aGlzLnJlYWRTRml4ZWQ2NCgpKTt2YXIgZT1ybCh0aGlzKTtmb3IodD10fHxbXTt0aGlzLnBvczxlOyl0LnB1c2godGhpcy5yZWFkU0ZpeGVkNjQoKSk7cmV0dXJuIHR9LHNraXA6ZnVuY3Rpb24odCl7dmFyIGU9NyZ0O2lmKGU9PT1lbC5WYXJpbnQpZm9yKDt0aGlzLmJ1Zlt0aGlzLnBvcysrXT4xMjc7KTtlbHNlIGlmKGU9PT1lbC5CeXRlcyl0aGlzLnBvcz10aGlzLnJlYWRWYXJpbnQoKSt0aGlzLnBvcztlbHNlIGlmKGU9PT1lbC5GaXhlZDMyKXRoaXMucG9zKz00O2Vsc2V7aWYoZSE9PWVsLkZpeGVkNjQpdGhyb3cgbmV3IEVycm9yKCJVbmltcGxlbWVudGVkIHR5cGU6ICIrZSk7dGhpcy5wb3MrPTh9fSx3cml0ZVRhZzpmdW5jdGlvbih0LGUpe3RoaXMud3JpdGVWYXJpbnQodDw8M3xlKX0scmVhbGxvYzpmdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5sZW5ndGh8fDE2O2U8dGhpcy5wb3MrdDspZSo9MjtpZihlIT09dGhpcy5sZW5ndGgpe3ZhciByPW5ldyBVaW50OEFycmF5KGUpO3Iuc2V0KHRoaXMuYnVmKSx0aGlzLmJ1Zj1yLHRoaXMubGVuZ3RoPWV9fSxmaW5pc2g6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGg9dGhpcy5wb3MsdGhpcy5wb3M9MCx0aGlzLmJ1Zi5zdWJhcnJheSgwLHRoaXMubGVuZ3RoKX0sd3JpdGVGaXhlZDMyOmZ1bmN0aW9uKHQpe3RoaXMucmVhbGxvYyg0KSxnbCh0aGlzLmJ1Zix0LHRoaXMucG9zKSx0aGlzLnBvcys9NH0sd3JpdGVTRml4ZWQzMjpmdW5jdGlvbih0KXt0aGlzLnJlYWxsb2MoNCksZ2wodGhpcy5idWYsdCx0aGlzLnBvcyksdGhpcy5wb3MrPTR9LHdyaXRlRml4ZWQ2NDpmdW5jdGlvbih0KXt0aGlzLnJlYWxsb2MoOCksZ2wodGhpcy5idWYsLTEmdCx0aGlzLnBvcyksZ2wodGhpcy5idWYsTWF0aC5mbG9vcih0KigxLzQyOTQ5NjcyOTYpKSx0aGlzLnBvcys0KSx0aGlzLnBvcys9OH0sd3JpdGVTRml4ZWQ2NDpmdW5jdGlvbih0KXt0aGlzLnJlYWxsb2MoOCksZ2wodGhpcy5idWYsLTEmdCx0aGlzLnBvcyksZ2wodGhpcy5idWYsTWF0aC5mbG9vcih0KigxLzQyOTQ5NjcyOTYpKSx0aGlzLnBvcys0KSx0aGlzLnBvcys9OH0sd3JpdGVWYXJpbnQ6ZnVuY3Rpb24odCl7KHQ9K3R8fDApPjI2ODQzNTQ1NXx8dDwwP2Z1bmN0aW9uKHQsZSl7dmFyIHIsbjtpZih0Pj0wPyhyPXQlNDI5NDk2NzI5NnwwLG49dC80Mjk0OTY3Mjk2fDApOihuPX4oLXQvNDI5NDk2NzI5NiksNDI5NDk2NzI5NV4ocj1+KC10JTQyOTQ5NjcyOTYpKT9yPXIrMXwwOihyPTAsbj1uKzF8MCkpLHQ+PTB4MTAwMDAwMDAwMDAwMDAwMDB8fHQ8LTB4MTAwMDAwMDAwMDAwMDAwMDApdGhyb3cgbmV3IEVycm9yKCJHaXZlbiB2YXJpbnQgZG9lc24ndCBmaXQgaW50byAxMCBieXRlcyIpO2UucmVhbGxvYygxMCksZnVuY3Rpb24odCxlLHIpe3IuYnVmW3IucG9zKytdPTEyNyZ0fDEyOCx0Pj4+PTcsci5idWZbci5wb3MrK109MTI3JnR8MTI4LHQ+Pj49NyxyLmJ1ZltyLnBvcysrXT0xMjcmdHwxMjgsdD4+Pj03LHIuYnVmW3IucG9zKytdPTEyNyZ0fDEyOCx0Pj4+PTcsci5idWZbci5wb3NdPTEyNyZ0fShyLDAsZSksZnVuY3Rpb24odCxlKXt2YXIgcj0oNyZ0KTw8NDtlLmJ1ZltlLnBvcysrXXw9cnwoKHQ+Pj49Myk/MTI4OjApLHQmJihlLmJ1ZltlLnBvcysrXT0xMjcmdHwoKHQ+Pj49Nyk/MTI4OjApLHQmJihlLmJ1ZltlLnBvcysrXT0xMjcmdHwoKHQ+Pj49Nyk/MTI4OjApLHQmJihlLmJ1ZltlLnBvcysrXT0xMjcmdHwoKHQ+Pj49Nyk/MTI4OjApLHQmJihlLmJ1ZltlLnBvcysrXT0xMjcmdHwoKHQ+Pj49Nyk/MTI4OjApLHQmJihlLmJ1ZltlLnBvcysrXT0xMjcmdCkpKSkpfShuLGUpfSh0LHRoaXMpOih0aGlzLnJlYWxsb2MoNCksdGhpcy5idWZbdGhpcy5wb3MrK109MTI3JnR8KHQ+MTI3PzEyODowKSx0PD0xMjd8fCh0aGlzLmJ1Zlt0aGlzLnBvcysrXT0xMjcmKHQ+Pj49Nyl8KHQ+MTI3PzEyODowKSx0PD0xMjd8fCh0aGlzLmJ1Zlt0aGlzLnBvcysrXT0xMjcmKHQ+Pj49Nyl8KHQ+MTI3PzEyODowKSx0PD0xMjd8fCh0aGlzLmJ1Zlt0aGlzLnBvcysrXT10Pj4+NyYxMjcpKSkpfSx3cml0ZVNWYXJpbnQ6ZnVuY3Rpb24odCl7dGhpcy53cml0ZVZhcmludCh0PDA/MiotdC0xOjIqdCl9LHdyaXRlQm9vbGVhbjpmdW5jdGlvbih0KXt0aGlzLndyaXRlVmFyaW50KEJvb2xlYW4odCkpfSx3cml0ZVN0cmluZzpmdW5jdGlvbih0KXt0PVN0cmluZyh0KSx0aGlzLnJlYWxsb2MoNCp0Lmxlbmd0aCksdGhpcy5wb3MrKzt2YXIgZT10aGlzLnBvczt0aGlzLnBvcz1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuLGEsaT0wO2k8ZS5sZW5ndGg7aSsrKXtpZigobj1lLmNoYXJDb2RlQXQoaSkpPjU1Mjk1JiZuPDU3MzQ0KXtpZighYSl7bj41NjMxOXx8aSsxPT09ZS5sZW5ndGg/KHRbcisrXT0yMzksdFtyKytdPTE5MSx0W3IrK109MTg5KTphPW47Y29udGludWV9aWYobjw1NjMyMCl7dFtyKytdPTIzOSx0W3IrK109MTkxLHRbcisrXT0xODksYT1uO2NvbnRpbnVlfW49YS01NTI5Njw8MTB8bi01NjMyMHw2NTUzNixhPW51bGx9ZWxzZSBhJiYodFtyKytdPTIzOSx0W3IrK109MTkxLHRbcisrXT0xODksYT1udWxsKTtuPDEyOD90W3IrK109bjoobjwyMDQ4P3RbcisrXT1uPj42fDE5Mjoobjw2NTUzNj90W3IrK109bj4+MTJ8MjI0Oih0W3IrK109bj4+MTh8MjQwLHRbcisrXT1uPj4xMiY2M3wxMjgpLHRbcisrXT1uPj42JjYzfDEyOCksdFtyKytdPTYzJm58MTI4KX1yZXR1cm4gcn0odGhpcy5idWYsdCx0aGlzLnBvcyk7dmFyIHI9dGhpcy5wb3MtZTtyPj0xMjgmJmFsKGUscix0aGlzKSx0aGlzLnBvcz1lLTEsdGhpcy53cml0ZVZhcmludChyKSx0aGlzLnBvcys9cn0sd3JpdGVGbG9hdDpmdW5jdGlvbih0KXt0aGlzLnJlYWxsb2MoNCksJHModGhpcy5idWYsdCx0aGlzLnBvcywhMCwyMyw0KSx0aGlzLnBvcys9NH0sd3JpdGVEb3VibGU6ZnVuY3Rpb24odCl7dGhpcy5yZWFsbG9jKDgpLCRzKHRoaXMuYnVmLHQsdGhpcy5wb3MsITAsNTIsOCksdGhpcy5wb3MrPTh9LHdyaXRlQnl0ZXM6ZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7dGhpcy53cml0ZVZhcmludChlKSx0aGlzLnJlYWxsb2MoZSk7Zm9yKHZhciByPTA7cjxlO3IrKyl0aGlzLmJ1Zlt0aGlzLnBvcysrXT10W3JdfSx3cml0ZVJhd01lc3NhZ2U6ZnVuY3Rpb24odCxlKXt0aGlzLnBvcysrO3ZhciByPXRoaXMucG9zO3QoZSx0aGlzKTt2YXIgbj10aGlzLnBvcy1yO24+PTEyOCYmYWwocixuLHRoaXMpLHRoaXMucG9zPXItMSx0aGlzLndyaXRlVmFyaW50KG4pLHRoaXMucG9zKz1ufSx3cml0ZU1lc3NhZ2U6ZnVuY3Rpb24odCxlLHIpe3RoaXMud3JpdGVUYWcodCxlbC5CeXRlcyksdGhpcy53cml0ZVJhd01lc3NhZ2UoZSxyKX0sd3JpdGVQYWNrZWRWYXJpbnQ6ZnVuY3Rpb24odCxlKXtlLmxlbmd0aCYmdGhpcy53cml0ZU1lc3NhZ2UodCxpbCxlKX0sd3JpdGVQYWNrZWRTVmFyaW50OmZ1bmN0aW9uKHQsZSl7ZS5sZW5ndGgmJnRoaXMud3JpdGVNZXNzYWdlKHQsb2wsZSl9LHdyaXRlUGFja2VkQm9vbGVhbjpmdW5jdGlvbih0LGUpe2UubGVuZ3RoJiZ0aGlzLndyaXRlTWVzc2FnZSh0LGNsLGUpfSx3cml0ZVBhY2tlZEZsb2F0OmZ1bmN0aW9uKHQsZSl7ZS5sZW5ndGgmJnRoaXMud3JpdGVNZXNzYWdlKHQsc2wsZSl9LHdyaXRlUGFja2VkRG91YmxlOmZ1bmN0aW9uKHQsZSl7ZS5sZW5ndGgmJnRoaXMud3JpdGVNZXNzYWdlKHQsbGwsZSl9LHdyaXRlUGFja2VkRml4ZWQzMjpmdW5jdGlvbih0LGUpe2UubGVuZ3RoJiZ0aGlzLndyaXRlTWVzc2FnZSh0LHVsLGUpfSx3cml0ZVBhY2tlZFNGaXhlZDMyOmZ1bmN0aW9uKHQsZSl7ZS5sZW5ndGgmJnRoaXMud3JpdGVNZXNzYWdlKHQsaGwsZSl9LHdyaXRlUGFja2VkRml4ZWQ2NDpmdW5jdGlvbih0LGUpe2UubGVuZ3RoJiZ0aGlzLndyaXRlTWVzc2FnZSh0LGZsLGUpfSx3cml0ZVBhY2tlZFNGaXhlZDY0OmZ1bmN0aW9uKHQsZSl7ZS5sZW5ndGgmJnRoaXMud3JpdGVNZXNzYWdlKHQscGwsZSl9LHdyaXRlQnl0ZXNGaWVsZDpmdW5jdGlvbih0LGUpe3RoaXMud3JpdGVUYWcodCxlbC5CeXRlcyksdGhpcy53cml0ZUJ5dGVzKGUpfSx3cml0ZUZpeGVkMzJGaWVsZDpmdW5jdGlvbih0LGUpe3RoaXMud3JpdGVUYWcodCxlbC5GaXhlZDMyKSx0aGlzLndyaXRlRml4ZWQzMihlKX0sd3JpdGVTRml4ZWQzMkZpZWxkOmZ1bmN0aW9uKHQsZSl7dGhpcy53cml0ZVRhZyh0LGVsLkZpeGVkMzIpLHRoaXMud3JpdGVTRml4ZWQzMihlKX0sd3JpdGVGaXhlZDY0RmllbGQ6ZnVuY3Rpb24odCxlKXt0aGlzLndyaXRlVGFnKHQsZWwuRml4ZWQ2NCksdGhpcy53cml0ZUZpeGVkNjQoZSl9LHdyaXRlU0ZpeGVkNjRGaWVsZDpmdW5jdGlvbih0LGUpe3RoaXMud3JpdGVUYWcodCxlbC5GaXhlZDY0KSx0aGlzLndyaXRlU0ZpeGVkNjQoZSl9LHdyaXRlVmFyaW50RmllbGQ6ZnVuY3Rpb24odCxlKXt0aGlzLndyaXRlVGFnKHQsZWwuVmFyaW50KSx0aGlzLndyaXRlVmFyaW50KGUpfSx3cml0ZVNWYXJpbnRGaWVsZDpmdW5jdGlvbih0LGUpe3RoaXMud3JpdGVUYWcodCxlbC5WYXJpbnQpLHRoaXMud3JpdGVTVmFyaW50KGUpfSx3cml0ZVN0cmluZ0ZpZWxkOmZ1bmN0aW9uKHQsZSl7dGhpcy53cml0ZVRhZyh0LGVsLkJ5dGVzKSx0aGlzLndyaXRlU3RyaW5nKGUpfSx3cml0ZUZsb2F0RmllbGQ6ZnVuY3Rpb24odCxlKXt0aGlzLndyaXRlVGFnKHQsZWwuRml4ZWQzMiksdGhpcy53cml0ZUZsb2F0KGUpfSx3cml0ZURvdWJsZUZpZWxkOmZ1bmN0aW9uKHQsZSl7dGhpcy53cml0ZVRhZyh0LGVsLkZpeGVkNjQpLHRoaXMud3JpdGVEb3VibGUoZSl9LHdyaXRlQm9vbGVhbkZpZWxkOmZ1bmN0aW9uKHQsZSl7dGhpcy53cml0ZVZhcmludEZpZWxkKHQsQm9vbGVhbihlKSl9fTt2YXIgbWw9MztmdW5jdGlvbiB5bCh0LGUscil7MT09PXQmJnIucmVhZE1lc3NhZ2UoeGwsZSl9ZnVuY3Rpb24geGwodCxlLHIpe2lmKDM9PT10KXt2YXIgbj1yLnJlYWRNZXNzYWdlKGJsLHt9KSxhPW4uaWQsaT1uLmJpdG1hcCxvPW4ud2lkdGgscz1uLmhlaWdodCxsPW4ubGVmdCxjPW4udG9wLHU9bi5hZHZhbmNlO2UucHVzaCh7aWQ6YSxiaXRtYXA6bmV3IFBpKHt3aWR0aDpvKzIqbWwsaGVpZ2h0OnMrMiptbH0saSksbWV0cmljczp7d2lkdGg6byxoZWlnaHQ6cyxsZWZ0OmwsdG9wOmMsYWR2YW5jZTp1fX0pfX1mdW5jdGlvbiBibCh0LGUscil7MT09PXQ/ZS5pZD1yLnJlYWRWYXJpbnQoKToyPT09dD9lLmJpdG1hcD1yLnJlYWRCeXRlcygpOjM9PT10P2Uud2lkdGg9ci5yZWFkVmFyaW50KCk6ND09PXQ/ZS5oZWlnaHQ9ci5yZWFkVmFyaW50KCk6NT09PXQ/ZS5sZWZ0PXIucmVhZFNWYXJpbnQoKTo2PT09dD9lLnRvcD1yLnJlYWRTVmFyaW50KCk6Nz09PXQmJihlLmFkdmFuY2U9ci5yZWFkVmFyaW50KCkpfXZhciBfbD1tbCx3bD1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMuX2NhbGxiYWNrPXQsdGhpcy5fdHJpZ2dlcmVkPSExLCJ1bmRlZmluZWQiIT10eXBlb2YgTWVzc2FnZUNoYW5uZWwmJih0aGlzLl9jaGFubmVsPW5ldyBNZXNzYWdlQ2hhbm5lbCx0aGlzLl9jaGFubmVsLnBvcnQyLm9ubWVzc2FnZT1mdW5jdGlvbigpe2UuX3RyaWdnZXJlZD0hMSxlLl9jYWxsYmFjaygpfSl9O3dsLnByb3RvdHlwZS50cmlnZ2VyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLl90cmlnZ2VyZWR8fCh0aGlzLl90cmlnZ2VyZWQ9ITAsdGhpcy5fY2hhbm5lbD90aGlzLl9jaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKCEwKTpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5fdHJpZ2dlcmVkPSExLHQuX2NhbGxiYWNrKCl9LDApKX07dmFyIGtsPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLnRhcmdldD10LHRoaXMucGFyZW50PWUsdGhpcy5tYXBJZD1yLHRoaXMuY2FsbGJhY2tzPXt9LHRoaXMudGFza3M9e30sdGhpcy50YXNrUXVldWU9W10sdGhpcy5jYW5jZWxDYWxsYmFja3M9e30sdihbInJlY2VpdmUiLCJwcm9jZXNzIl0sdGhpcyksdGhpcy5pbnZva2VyPW5ldyB3bCh0aGlzLnByb2Nlc3MpLHRoaXMudGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMucmVjZWl2ZSwhMSl9O2Z1bmN0aW9uIFRsKHQsZSxyKXt2YXIgbj0yKk1hdGguUEkqNjM3ODEzNy8yNTYvTWF0aC5wb3coMixyKTtyZXR1cm5bdCpuLTIqTWF0aC5QSSo2Mzc4MTM3LzIsZSpuLTIqTWF0aC5QSSo2Mzc4MTM3LzJdfWtsLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBhPXRoaXMsaT1NYXRoLnJvdW5kKDFlMTgqTWF0aC5yYW5kb20oKSkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygwLDEwKTtyJiYodGhpcy5jYWxsYmFja3NbaV09cik7dmFyIG89W107cmV0dXJuIHRoaXMudGFyZ2V0LnBvc3RNZXNzYWdlKHtpZDppLHR5cGU6dCxoYXNDYWxsYmFjazohIXIsdGFyZ2V0TWFwSWQ6bixzb3VyY2VNYXBJZDp0aGlzLm1hcElkLGRhdGE6dm4oZSxvKX0sbykse2NhbmNlbDpmdW5jdGlvbigpe3ImJmRlbGV0ZSBhLmNhbGxiYWNrc1tpXSxhLnRhcmdldC5wb3N0TWVzc2FnZSh7aWQ6aSx0eXBlOiI8Y2FuY2VsPiIsdGFyZ2V0TWFwSWQ6bixzb3VyY2VNYXBJZDphLm1hcElkfSl9fX0sa2wucHJvdG90eXBlLnJlY2VpdmU9ZnVuY3Rpb24odCl7dmFyIGU9dC5kYXRhLHI9ZS5pZDtpZihyJiYoIWUudGFyZ2V0TWFwSWR8fHRoaXMubWFwSWQ9PT1lLnRhcmdldE1hcElkKSlpZigiPGNhbmNlbD4iPT09ZS50eXBlKXtkZWxldGUgdGhpcy50YXNrc1tyXTt2YXIgbj10aGlzLmNhbmNlbENhbGxiYWNrc1tyXTtkZWxldGUgdGhpcy5jYW5jZWxDYWxsYmFja3Nbcl0sbiYmbigpfWVsc2UgdGhpcy50YXNrc1tyXT1lLHRoaXMudGFza1F1ZXVlLnB1c2gociksdGhpcy5pbnZva2VyLnRyaWdnZXIoKX0sa2wucHJvdG90eXBlLnByb2Nlc3M9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKHRoaXMudGFza1F1ZXVlLmxlbmd0aCl7dmFyIGU9dGhpcy50YXNrUXVldWUuc2hpZnQoKSxyPXRoaXMudGFza3NbZV07aWYoZGVsZXRlIHRoaXMudGFza3NbZV0sdGhpcy50YXNrUXVldWUubGVuZ3RoJiZ0aGlzLmludm9rZXIudHJpZ2dlcigpLHIpaWYoIjxyZXNwb25zZT4iPT09ci50eXBlKXt2YXIgbj10aGlzLmNhbGxiYWNrc1tlXTtkZWxldGUgdGhpcy5jYWxsYmFja3NbZV0sbiYmKHIuZXJyb3I/bihtbihyLmVycm9yKSk6bihudWxsLG1uKHIuZGF0YSkpKX1lbHNle3ZhciBhPSExLGk9ci5oYXNDYWxsYmFjaz9mdW5jdGlvbihyLG4pe2E9ITAsZGVsZXRlIHQuY2FuY2VsQ2FsbGJhY2tzW2VdO3ZhciBpPVtdO3QudGFyZ2V0LnBvc3RNZXNzYWdlKHtpZDplLHR5cGU6IjxyZXNwb25zZT4iLHNvdXJjZU1hcElkOnQubWFwSWQsZXJyb3I6cj92bihyKTpudWxsLGRhdGE6dm4obixpKX0saSl9OmZ1bmN0aW9uKHQpe2E9ITB9LG89bnVsbCxzPW1uKHIuZGF0YSk7aWYodGhpcy5wYXJlbnRbci50eXBlXSlvPXRoaXMucGFyZW50W3IudHlwZV0oci5zb3VyY2VNYXBJZCxzLGkpO2Vsc2UgaWYodGhpcy5wYXJlbnQuZ2V0V29ya2VyU291cmNlKXt2YXIgbD1yLnR5cGUuc3BsaXQoIi4iKTtvPXRoaXMucGFyZW50LmdldFdvcmtlclNvdXJjZShyLnNvdXJjZU1hcElkLGxbMF0scy5zb3VyY2UpW2xbMV1dKHMsaSl9ZWxzZSBpKG5ldyBFcnJvcigiQ291bGQgbm90IGZpbmQgZnVuY3Rpb24gIityLnR5cGUpKTshYSYmbyYmby5jYW5jZWwmJih0aGlzLmNhbmNlbENhbGxiYWNrc1tlXT1vLmNhbmNlbCl9fX0sa2wucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe3RoaXMudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMucmVjZWl2ZSwhMSl9O3ZhciBNbD1mdW5jdGlvbih0LGUpe3QmJihlP3RoaXMuc2V0U291dGhXZXN0KHQpLnNldE5vcnRoRWFzdChlKTo0PT09dC5sZW5ndGg/dGhpcy5zZXRTb3V0aFdlc3QoW3RbMF0sdFsxXV0pLnNldE5vcnRoRWFzdChbdFsyXSx0WzNdXSk6dGhpcy5zZXRTb3V0aFdlc3QodFswXSkuc2V0Tm9ydGhFYXN0KHRbMV0pKX07TWwucHJvdG90eXBlLnNldE5vcnRoRWFzdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbmU9dCBpbnN0YW5jZW9mIEFsP25ldyBBbCh0LmxuZyx0LmxhdCk6QWwuY29udmVydCh0KSx0aGlzfSxNbC5wcm90b3R5cGUuc2V0U291dGhXZXN0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9zdz10IGluc3RhbmNlb2YgQWw/bmV3IEFsKHQubG5nLHQubGF0KTpBbC5jb252ZXJ0KHQpLHRoaXN9LE1sLnByb3RvdHlwZS5leHRlbmQ9ZnVuY3Rpb24odCl7dmFyIGUscixuPXRoaXMuX3N3LGE9dGhpcy5fbmU7aWYodCBpbnN0YW5jZW9mIEFsKWU9dCxyPXQ7ZWxzZXtpZighKHQgaW5zdGFuY2VvZiBNbCkpcmV0dXJuIEFycmF5LmlzQXJyYXkodCk/dC5ldmVyeShBcnJheS5pc0FycmF5KT90aGlzLmV4dGVuZChNbC5jb252ZXJ0KHQpKTp0aGlzLmV4dGVuZChBbC5jb252ZXJ0KHQpKTp0aGlzO2lmKGU9dC5fc3cscj10Ll9uZSwhZXx8IXIpcmV0dXJuIHRoaXN9cmV0dXJuIG58fGE/KG4ubG5nPU1hdGgubWluKGUubG5nLG4ubG5nKSxuLmxhdD1NYXRoLm1pbihlLmxhdCxuLmxhdCksYS5sbmc9TWF0aC5tYXgoci5sbmcsYS5sbmcpLGEubGF0PU1hdGgubWF4KHIubGF0LGEubGF0KSk6KHRoaXMuX3N3PW5ldyBBbChlLmxuZyxlLmxhdCksdGhpcy5fbmU9bmV3IEFsKHIubG5nLHIubGF0KSksdGhpc30sTWwucHJvdG90eXBlLmdldENlbnRlcj1mdW5jdGlvbigpe3JldHVybiBuZXcgQWwoKHRoaXMuX3N3LmxuZyt0aGlzLl9uZS5sbmcpLzIsKHRoaXMuX3N3LmxhdCt0aGlzLl9uZS5sYXQpLzIpfSxNbC5wcm90b3R5cGUuZ2V0U291dGhXZXN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N3fSxNbC5wcm90b3R5cGUuZ2V0Tm9ydGhFYXN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25lfSxNbC5wcm90b3R5cGUuZ2V0Tm9ydGhXZXN0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBbCh0aGlzLmdldFdlc3QoKSx0aGlzLmdldE5vcnRoKCkpfSxNbC5wcm90b3R5cGUuZ2V0U291dGhFYXN0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBbCh0aGlzLmdldEVhc3QoKSx0aGlzLmdldFNvdXRoKCkpfSxNbC5wcm90b3R5cGUuZ2V0V2VzdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdy5sbmd9LE1sLnByb3RvdHlwZS5nZXRTb3V0aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdy5sYXR9LE1sLnByb3RvdHlwZS5nZXRFYXN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25lLmxuZ30sTWwucHJvdG90eXBlLmdldE5vcnRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25lLmxhdH0sTWwucHJvdG90eXBlLnRvQXJyYXk9ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy5fc3cudG9BcnJheSgpLHRoaXMuX25lLnRvQXJyYXkoKV19LE1sLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiJMbmdMYXRCb3VuZHMoIit0aGlzLl9zdy50b1N0cmluZygpKyIsICIrdGhpcy5fbmUudG9TdHJpbmcoKSsiKSJ9LE1sLnByb3RvdHlwZS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuISh0aGlzLl9zdyYmdGhpcy5fbmUpfSxNbC5jb252ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiF0fHx0IGluc3RhbmNlb2YgTWw/dDpuZXcgTWwodCl9O3ZhciBBbD1mdW5jdGlvbih0LGUpe2lmKGlzTmFOKHQpfHxpc05hTihlKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgTG5nTGF0IG9iamVjdDogKCIrdCsiLCAiK2UrIikiKTtpZih0aGlzLmxuZz0rdCx0aGlzLmxhdD0rZSx0aGlzLmxhdD45MHx8dGhpcy5sYXQ8LTkwKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBMbmdMYXQgbGF0aXR1ZGUgdmFsdWU6IG11c3QgYmUgYmV0d2VlbiAtOTAgYW5kIDkwIil9O0FsLnByb3RvdHlwZS53cmFwPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBbCh1KHRoaXMubG5nLC0xODAsMTgwKSx0aGlzLmxhdCl9LEFsLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMubG5nLHRoaXMubGF0XX0sQWwucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIkxuZ0xhdCgiK3RoaXMubG5nKyIsICIrdGhpcy5sYXQrIikifSxBbC5wcm90b3R5cGUudG9Cb3VuZHM9ZnVuY3Rpb24odCl7dm9pZCAwPT09dCYmKHQ9MCk7dmFyIGU9MzYwKnQvNDAwNzUwMTcscj1lL01hdGguY29zKE1hdGguUEkvMTgwKnRoaXMubGF0KTtyZXR1cm4gbmV3IE1sKG5ldyBBbCh0aGlzLmxuZy1yLHRoaXMubGF0LWUpLG5ldyBBbCh0aGlzLmxuZytyLHRoaXMubGF0K2UpKX0sQWwuY29udmVydD1mdW5jdGlvbih0KXtpZih0IGluc3RhbmNlb2YgQWwpcmV0dXJuIHQ7aWYoQXJyYXkuaXNBcnJheSh0KSYmKDI9PT10Lmxlbmd0aHx8Mz09PXQubGVuZ3RoKSlyZXR1cm4gbmV3IEFsKE51bWJlcih0WzBdKSxOdW1iZXIodFsxXSkpO2lmKCFBcnJheS5pc0FycmF5KHQpJiYib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10KXJldHVybiBuZXcgQWwoTnVtYmVyKCJsbmciaW4gdD90LmxuZzp0LmxvbiksTnVtYmVyKHQubGF0KSk7dGhyb3cgbmV3IEVycm9yKCJgTG5nTGF0TGlrZWAgYXJndW1lbnQgbXVzdCBiZSBzcGVjaWZpZWQgYXMgYSBMbmdMYXQgaW5zdGFuY2UsIGFuIG9iamVjdCB7bG5nOiA8bG5nPiwgbGF0OiA8bGF0Pn0sIGFuIG9iamVjdCB7bG9uOiA8bG5nPiwgbGF0OiA8bGF0Pn0sIG9yIGFuIGFycmF5IG9mIFs8bG5nPiwgPGxhdD5dIil9O3ZhciBTbD0yKk1hdGguUEkqNjM3ODEzNztmdW5jdGlvbiBFbCh0KXtyZXR1cm4gU2wqTWF0aC5jb3ModCpNYXRoLlBJLzE4MCl9ZnVuY3Rpb24gTGwodCl7cmV0dXJuKDE4MCt0KS8zNjB9ZnVuY3Rpb24gQ2wodCl7cmV0dXJuKDE4MC0xODAvTWF0aC5QSSpNYXRoLmxvZyhNYXRoLnRhbihNYXRoLlBJLzQrdCpNYXRoLlBJLzM2MCkpKS8zNjB9ZnVuY3Rpb24gUGwodCxlKXtyZXR1cm4gdC9FbChlKX1mdW5jdGlvbiBPbCh0KXt2YXIgZT0xODAtMzYwKnQ7cmV0dXJuIDM2MC9NYXRoLlBJKk1hdGguYXRhbihNYXRoLmV4cChlKk1hdGguUEkvMTgwKSktOTB9dmFyIHpsPWZ1bmN0aW9uKHQsZSxyKXt2b2lkIDA9PT1yJiYocj0wKSx0aGlzLng9K3QsdGhpcy55PStlLHRoaXMuej0rcn07emwuZnJvbUxuZ0xhdD1mdW5jdGlvbih0LGUpe3ZvaWQgMD09PWUmJihlPTApO3ZhciByPUFsLmNvbnZlcnQodCk7cmV0dXJuIG5ldyB6bChMbChyLmxuZyksQ2woci5sYXQpLFBsKGUsci5sYXQpKX0semwucHJvdG90eXBlLnRvTG5nTGF0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBbCgzNjAqdGhpcy54LTE4MCxPbCh0aGlzLnkpKX0semwucHJvdG90eXBlLnRvQWx0aXR1ZGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy56KkVsKE9sKHRoaXMueSkpfSx6bC5wcm90b3R5cGUubWV0ZXJJbk1lcmNhdG9yQ29vcmRpbmF0ZVVuaXRzPWZ1bmN0aW9uKCl7cmV0dXJuIDEvU2wqKHQ9T2wodGhpcy55KSwxL01hdGguY29zKHQqTWF0aC5QSS8xODApKTt2YXIgdH07dmFyIElsPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLno9dCx0aGlzLng9ZSx0aGlzLnk9cix0aGlzLmtleT1GbCgwLHQsZSxyKX07SWwucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy56PT09dC56JiZ0aGlzLng9PT10LngmJnRoaXMueT09PXQueX0sSWwucHJvdG90eXBlLnVybD1mdW5jdGlvbih0LGUpe3ZhciByLG4sYSxpLG8scz0ocj10aGlzLngsbj10aGlzLnksYT10aGlzLnosaT1UbCgyNTYqciwyNTYqKG49TWF0aC5wb3coMixhKS1uLTEpLGEpLG89VGwoMjU2KihyKzEpLDI1NioobisxKSxhKSxpWzBdKyIsIitpWzFdKyIsIitvWzBdKyIsIitvWzFdKSxsPWZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG4sYT0iIixpPXQ7aT4wO2ktLSlhKz0oZSYobj0xPDxpLTEpPzE6MCkrKHImbj8yOjApO3JldHVybiBhfSh0aGlzLnosdGhpcy54LHRoaXMueSk7cmV0dXJuIHRbKHRoaXMueCt0aGlzLnkpJXQubGVuZ3RoXS5yZXBsYWNlKCJ7cHJlZml4fSIsKHRoaXMueCUxNikudG9TdHJpbmcoMTYpKyh0aGlzLnklMTYpLnRvU3RyaW5nKDE2KSkucmVwbGFjZSgie3p9IixTdHJpbmcodGhpcy56KSkucmVwbGFjZSgie3h9IixTdHJpbmcodGhpcy54KSkucmVwbGFjZSgie3l9IixTdHJpbmcoInRtcyI9PT1lP01hdGgucG93KDIsdGhpcy56KS10aGlzLnktMTp0aGlzLnkpKS5yZXBsYWNlKCJ7cXVhZGtleX0iLGwpLnJlcGxhY2UoIntiYm94LWVwc2ctMzg1N30iLHMpfSxJbC5wcm90b3R5cGUuZ2V0VGlsZVBvaW50PWZ1bmN0aW9uKHQpe3ZhciBlPU1hdGgucG93KDIsdGhpcy56KTtyZXR1cm4gbmV3IGEoKHQueCplLXRoaXMueCkqZWksKHQueSplLXRoaXMueSkqZWkpfTt2YXIgRGw9ZnVuY3Rpb24odCxlKXt0aGlzLndyYXA9dCx0aGlzLmNhbm9uaWNhbD1lLHRoaXMua2V5PUZsKHQsZS56LGUueCxlLnkpfSxSbD1mdW5jdGlvbih0LGUscixuLGEpe3RoaXMub3ZlcnNjYWxlZFo9dCx0aGlzLndyYXA9ZSx0aGlzLmNhbm9uaWNhbD1uZXcgSWwociwrbiwrYSksdGhpcy5rZXk9RmwoZSx0LG4sYSl9O2Z1bmN0aW9uIEZsKHQsZSxyLG4peyh0Kj0yKTwwJiYodD0tMSp0LTEpO3ZhciBhPTE8PGU7cmV0dXJuIDMyKihhKmEqdCthKm4rcikrZX1SbC5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm92ZXJzY2FsZWRaPT09dC5vdmVyc2NhbGVkWiYmdGhpcy53cmFwPT09dC53cmFwJiZ0aGlzLmNhbm9uaWNhbC5lcXVhbHModC5jYW5vbmljYWwpfSxSbC5wcm90b3R5cGUuc2NhbGVkVG89ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jYW5vbmljYWwuei10O3JldHVybiB0PnRoaXMuY2Fub25pY2FsLno/bmV3IFJsKHQsdGhpcy53cmFwLHRoaXMuY2Fub25pY2FsLnosdGhpcy5jYW5vbmljYWwueCx0aGlzLmNhbm9uaWNhbC55KTpuZXcgUmwodCx0aGlzLndyYXAsdCx0aGlzLmNhbm9uaWNhbC54Pj5lLHRoaXMuY2Fub25pY2FsLnk+PmUpfSxSbC5wcm90b3R5cGUuaXNDaGlsZE9mPWZ1bmN0aW9uKHQpe2lmKHQud3JhcCE9PXRoaXMud3JhcClyZXR1cm4hMTt2YXIgZT10aGlzLmNhbm9uaWNhbC56LXQuY2Fub25pY2FsLno7cmV0dXJuIDA9PT10Lm92ZXJzY2FsZWRafHx0Lm92ZXJzY2FsZWRaPHRoaXMub3ZlcnNjYWxlZFomJnQuY2Fub25pY2FsLng9PT10aGlzLmNhbm9uaWNhbC54Pj5lJiZ0LmNhbm9uaWNhbC55PT09dGhpcy5jYW5vbmljYWwueT4+ZX0sUmwucHJvdG90eXBlLmNoaWxkcmVuPWZ1bmN0aW9uKHQpe2lmKHRoaXMub3ZlcnNjYWxlZFo+PXQpcmV0dXJuW25ldyBSbCh0aGlzLm92ZXJzY2FsZWRaKzEsdGhpcy53cmFwLHRoaXMuY2Fub25pY2FsLnosdGhpcy5jYW5vbmljYWwueCx0aGlzLmNhbm9uaWNhbC55KV07dmFyIGU9dGhpcy5jYW5vbmljYWwueisxLHI9Mip0aGlzLmNhbm9uaWNhbC54LG49Mip0aGlzLmNhbm9uaWNhbC55O3JldHVybltuZXcgUmwoZSx0aGlzLndyYXAsZSxyLG4pLG5ldyBSbChlLHRoaXMud3JhcCxlLHIrMSxuKSxuZXcgUmwoZSx0aGlzLndyYXAsZSxyLG4rMSksbmV3IFJsKGUsdGhpcy53cmFwLGUscisxLG4rMSldfSxSbC5wcm90b3R5cGUuaXNMZXNzVGhhbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy53cmFwPHQud3JhcHx8ISh0aGlzLndyYXA+dC53cmFwKSYmKHRoaXMub3ZlcnNjYWxlZFo8dC5vdmVyc2NhbGVkWnx8ISh0aGlzLm92ZXJzY2FsZWRaPnQub3ZlcnNjYWxlZFopJiYodGhpcy5jYW5vbmljYWwueDx0LmNhbm9uaWNhbC54fHwhKHRoaXMuY2Fub25pY2FsLng+dC5jYW5vbmljYWwueCkmJnRoaXMuY2Fub25pY2FsLnk8dC5jYW5vbmljYWwueSkpfSxSbC5wcm90b3R5cGUud3JhcHBlZD1mdW5jdGlvbigpe3JldHVybiBuZXcgUmwodGhpcy5vdmVyc2NhbGVkWiwwLHRoaXMuY2Fub25pY2FsLnosdGhpcy5jYW5vbmljYWwueCx0aGlzLmNhbm9uaWNhbC55KX0sUmwucHJvdG90eXBlLnVud3JhcFRvPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgUmwodGhpcy5vdmVyc2NhbGVkWix0LHRoaXMuY2Fub25pY2FsLnosdGhpcy5jYW5vbmljYWwueCx0aGlzLmNhbm9uaWNhbC55KX0sUmwucHJvdG90eXBlLm92ZXJzY2FsZUZhY3Rvcj1mdW5jdGlvbigpe3JldHVybiBNYXRoLnBvdygyLHRoaXMub3ZlcnNjYWxlZFotdGhpcy5jYW5vbmljYWwueil9LFJsLnByb3RvdHlwZS50b1Vud3JhcHBlZD1mdW5jdGlvbigpe3JldHVybiBuZXcgRGwodGhpcy53cmFwLHRoaXMuY2Fub25pY2FsKX0sUmwucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3ZlcnNjYWxlZForIi8iK3RoaXMuY2Fub25pY2FsLngrIi8iK3RoaXMuY2Fub25pY2FsLnl9LFJsLnByb3RvdHlwZS5nZXRUaWxlUG9pbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2Fub25pY2FsLmdldFRpbGVQb2ludChuZXcgemwodC54LXRoaXMud3JhcCx0LnkpKX0sZG4oIkNhbm9uaWNhbFRpbGVJRCIsSWwpLGRuKCJPdmVyc2NhbGVkVGlsZUlEIixSbCx7b21pdDpbInBvc01hdHJpeCJdfSk7dmFyIEJsPWZ1bmN0aW9uKHQsZSxyKXtpZih0aGlzLnVpZD10LGUuaGVpZ2h0IT09ZS53aWR0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiREVNIHRpbGVzIG11c3QgYmUgc3F1YXJlIik7aWYociYmIm1hcGJveCIhPT1yJiYidGVycmFyaXVtIiE9PXIpcmV0dXJuIHcoJyInK3IrJyIgaXMgbm90IGEgdmFsaWQgZW5jb2RpbmcgdHlwZS4gVmFsaWQgdHlwZXMgaW5jbHVkZSAibWFwYm94IiBhbmQgInRlcnJhcml1bSIuJyk7dmFyIG49dGhpcy5kaW09ZS5oZWlnaHQ7dGhpcy5zdHJpZGU9dGhpcy5kaW0rMix0aGlzLmRhdGE9bmV3IEludDMyQXJyYXkodGhpcy5zdHJpZGUqdGhpcy5zdHJpZGUpO2Zvcih2YXIgYT1lLmRhdGEsaT0idGVycmFyaXVtIj09PXI/dGhpcy5fdW5wYWNrVGVycmFyaXVtOnRoaXMuX3VucGFja01hcGJveCxvPTA7bzxuO28rKylmb3IodmFyIHM9MDtzPG47cysrKXt2YXIgbD00KihvKm4rcyk7dGhpcy5zZXQocyxvLGkoYVtsXSxhW2wrMV0sYVtsKzJdKSl9Zm9yKHZhciBjPTA7YzxuO2MrKyl0aGlzLnNldCgtMSxjLHRoaXMuZ2V0KDAsYykpLHRoaXMuc2V0KG4sYyx0aGlzLmdldChuLTEsYykpLHRoaXMuc2V0KGMsLTEsdGhpcy5nZXQoYywwKSksdGhpcy5zZXQoYyxuLHRoaXMuZ2V0KGMsbi0xKSk7dGhpcy5zZXQoLTEsLTEsdGhpcy5nZXQoMCwwKSksdGhpcy5zZXQobiwtMSx0aGlzLmdldChuLTEsMCkpLHRoaXMuc2V0KC0xLG4sdGhpcy5nZXQoMCxuLTEpKSx0aGlzLnNldChuLG4sdGhpcy5nZXQobi0xLG4tMSkpfTtCbC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQsZSxyKXt0aGlzLmRhdGFbdGhpcy5faWR4KHQsZSldPXIrNjU1MzZ9LEJsLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5kYXRhW3RoaXMuX2lkeCh0LGUpXS02NTUzNn0sQmwucHJvdG90eXBlLl9pZHg9ZnVuY3Rpb24odCxlKXtpZih0PC0xfHx0Pj10aGlzLmRpbSsxfHxlPC0xfHxlPj10aGlzLmRpbSsxKXRocm93IG5ldyBSYW5nZUVycm9yKCJvdXQgb2YgcmFuZ2Ugc291cmNlIGNvb3JkaW5hdGVzIGZvciBERU0gZGF0YSIpO3JldHVybihlKzEpKnRoaXMuc3RyaWRlKyh0KzEpfSxCbC5wcm90b3R5cGUuX3VucGFja01hcGJveD1mdW5jdGlvbih0LGUscil7cmV0dXJuKDI1Nip0KjI1NisyNTYqZStyKS8xMC0xZTR9LEJsLnByb3RvdHlwZS5fdW5wYWNrVGVycmFyaXVtPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gMjU2KnQrZStyLzI1Ni0zMjc2OH0sQmwucHJvdG90eXBlLmdldFBpeGVscz1mdW5jdGlvbigpe3JldHVybiBuZXcgT2koe3dpZHRoOnRoaXMuc3RyaWRlLGhlaWdodDp0aGlzLnN0cmlkZX0sbmV3IFVpbnQ4QXJyYXkodGhpcy5kYXRhLmJ1ZmZlcikpfSxCbC5wcm90b3R5cGUuYmFja2ZpbGxCb3JkZXI9ZnVuY3Rpb24odCxlLHIpe2lmKHRoaXMuZGltIT09dC5kaW0pdGhyb3cgbmV3IEVycm9yKCJkZW0gZGltZW5zaW9uIG1pc21hdGNoIik7dmFyIG49ZSp0aGlzLmRpbSxhPWUqdGhpcy5kaW0rdGhpcy5kaW0saT1yKnRoaXMuZGltLG89cip0aGlzLmRpbSt0aGlzLmRpbTtzd2l0Y2goZSl7Y2FzZS0xOm49YS0xO2JyZWFrO2Nhc2UgMTphPW4rMX1zd2l0Y2gocil7Y2FzZS0xOmk9by0xO2JyZWFrO2Nhc2UgMTpvPWkrMX1mb3IodmFyIHM9LWUqdGhpcy5kaW0sbD0tcip0aGlzLmRpbSxjPWk7YzxvO2MrKylmb3IodmFyIHU9bjt1PGE7dSsrKXRoaXMuc2V0KHUsYyx0LmdldCh1K3MsYytsKSl9LGRuKCJERU1EYXRhIixCbCk7dmFyIE5sPUpuKFt7bmFtZToiYV9wb3MiLHR5cGU6IkludDE2Iixjb21wb25lbnRzOjJ9LHtuYW1lOiJhX3RleHR1cmVfcG9zIix0eXBlOiJJbnQxNiIsY29tcG9uZW50czoyfV0pLGpsPWZ1bmN0aW9uKHQpe3RoaXMuX3N0cmluZ1RvTnVtYmVyPXt9LHRoaXMuX251bWJlclRvU3RyaW5nPVtdO2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXt2YXIgcj10W2VdO3RoaXMuX3N0cmluZ1RvTnVtYmVyW3JdPWUsdGhpcy5fbnVtYmVyVG9TdHJpbmdbZV09cn19O2psLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3N0cmluZ1RvTnVtYmVyW3RdfSxqbC5wcm90b3R5cGUuZGVjb2RlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9udW1iZXJUb1N0cmluZ1t0XX07dmFyIFZsPWZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMudHlwZT0iRmVhdHVyZSIsdGhpcy5fdmVjdG9yVGlsZUZlYXR1cmU9dCx0Ll96PWUsdC5feD1yLHQuX3k9bix0aGlzLnByb3BlcnRpZXM9dC5wcm9wZXJ0aWVzLG51bGwhPXQuaWQmJih0aGlzLmlkPXQuaWQpfSxVbD17Z2VvbWV0cnk6e2NvbmZpZ3VyYWJsZTohMH19O1VsLmdlb21ldHJ5LmdldD1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT10aGlzLl9nZW9tZXRyeSYmKHRoaXMuX2dlb21ldHJ5PXRoaXMuX3ZlY3RvclRpbGVGZWF0dXJlLnRvR2VvSlNPTih0aGlzLl92ZWN0b3JUaWxlRmVhdHVyZS5feCx0aGlzLl92ZWN0b3JUaWxlRmVhdHVyZS5feSx0aGlzLl92ZWN0b3JUaWxlRmVhdHVyZS5feikuZ2VvbWV0cnkpLHRoaXMuX2dlb21ldHJ5fSxVbC5nZW9tZXRyeS5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fZ2VvbWV0cnk9dH0sVmwucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3ZhciB0PXtnZW9tZXRyeTp0aGlzLmdlb21ldHJ5fTtmb3IodmFyIGUgaW4gdGhpcykiX2dlb21ldHJ5IiE9PWUmJiJfdmVjdG9yVGlsZUZlYXR1cmUiIT09ZSYmKHRbZV09dGhpc1tlXSk7cmV0dXJuIHR9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFZsLnByb3RvdHlwZSxVbCk7dmFyIHFsPWZ1bmN0aW9uKCl7dGhpcy5zdGF0ZT17fSx0aGlzLnN0YXRlQ2hhbmdlcz17fSx0aGlzLmRlbGV0ZWRTdGF0ZXM9e319O3FsLnByb3RvdHlwZS51cGRhdGVTdGF0ZT1mdW5jdGlvbih0LGUscil7dmFyIG49U3RyaW5nKGUpO2lmKHRoaXMuc3RhdGVDaGFuZ2VzW3RdPXRoaXMuc3RhdGVDaGFuZ2VzW3RdfHx7fSx0aGlzLnN0YXRlQ2hhbmdlc1t0XVtuXT10aGlzLnN0YXRlQ2hhbmdlc1t0XVtuXXx8e30saCh0aGlzLnN0YXRlQ2hhbmdlc1t0XVtuXSxyKSxudWxsPT09dGhpcy5kZWxldGVkU3RhdGVzW3RdKWZvcih2YXIgYSBpbiB0aGlzLmRlbGV0ZWRTdGF0ZXNbdF09e30sdGhpcy5zdGF0ZVt0XSlhIT09biYmKHRoaXMuZGVsZXRlZFN0YXRlc1t0XVthXT1udWxsKTtlbHNlIGlmKHRoaXMuZGVsZXRlZFN0YXRlc1t0XSYmbnVsbD09PXRoaXMuZGVsZXRlZFN0YXRlc1t0XVtuXSlmb3IodmFyIGkgaW4gdGhpcy5kZWxldGVkU3RhdGVzW3RdW25dPXt9LHRoaXMuc3RhdGVbdF1bbl0pcltpXXx8KHRoaXMuZGVsZXRlZFN0YXRlc1t0XVtuXVtpXT1udWxsKTtlbHNlIGZvcih2YXIgbyBpbiByKXRoaXMuZGVsZXRlZFN0YXRlc1t0XSYmdGhpcy5kZWxldGVkU3RhdGVzW3RdW25dJiZudWxsPT09dGhpcy5kZWxldGVkU3RhdGVzW3RdW25dW29dJiZkZWxldGUgdGhpcy5kZWxldGVkU3RhdGVzW3RdW25dW29dfSxxbC5wcm90b3R5cGUucmVtb3ZlRmVhdHVyZVN0YXRlPWZ1bmN0aW9uKHQsZSxyKXtpZihudWxsIT09dGhpcy5kZWxldGVkU3RhdGVzW3RdKXt2YXIgbj1TdHJpbmcoZSk7aWYodGhpcy5kZWxldGVkU3RhdGVzW3RdPXRoaXMuZGVsZXRlZFN0YXRlc1t0XXx8e30sciYmdm9pZCAwIT09ZSYmZT49MCludWxsIT09dGhpcy5kZWxldGVkU3RhdGVzW3RdW25dJiYodGhpcy5kZWxldGVkU3RhdGVzW3RdW25dPXRoaXMuZGVsZXRlZFN0YXRlc1t0XVtuXXx8e30sdGhpcy5kZWxldGVkU3RhdGVzW3RdW25dW3JdPW51bGwpO2Vsc2UgaWYodm9pZCAwIT09ZSYmZT49MClpZih0aGlzLnN0YXRlQ2hhbmdlc1t0XSYmdGhpcy5zdGF0ZUNoYW5nZXNbdF1bbl0pZm9yKHIgaW4gdGhpcy5kZWxldGVkU3RhdGVzW3RdW25dPXt9LHRoaXMuc3RhdGVDaGFuZ2VzW3RdW25dKXRoaXMuZGVsZXRlZFN0YXRlc1t0XVtuXVtyXT1udWxsO2Vsc2UgdGhpcy5kZWxldGVkU3RhdGVzW3RdW25dPW51bGw7ZWxzZSB0aGlzLmRlbGV0ZWRTdGF0ZXNbdF09bnVsbH19LHFsLnByb3RvdHlwZS5nZXRTdGF0ZT1mdW5jdGlvbih0LGUpe3ZhciByPVN0cmluZyhlKSxuPXRoaXMuc3RhdGVbdF18fHt9LGE9dGhpcy5zdGF0ZUNoYW5nZXNbdF18fHt9LGk9aCh7fSxuW3JdLGFbcl0pO2lmKG51bGw9PT10aGlzLmRlbGV0ZWRTdGF0ZXNbdF0pcmV0dXJue307aWYodGhpcy5kZWxldGVkU3RhdGVzW3RdKXt2YXIgbz10aGlzLmRlbGV0ZWRTdGF0ZXNbdF1bZV07aWYobnVsbD09PW8pcmV0dXJue307Zm9yKHZhciBzIGluIG8pZGVsZXRlIGlbc119cmV0dXJuIGl9LHFsLnByb3RvdHlwZS5pbml0aWFsaXplVGlsZVN0YXRlPWZ1bmN0aW9uKHQsZSl7dC5zZXRGZWF0dXJlU3RhdGUodGhpcy5zdGF0ZSxlKX0scWwucHJvdG90eXBlLmNvYWxlc2NlQ2hhbmdlcz1mdW5jdGlvbih0LGUpe3ZhciByPXt9O2Zvcih2YXIgbiBpbiB0aGlzLnN0YXRlQ2hhbmdlcyl7dGhpcy5zdGF0ZVtuXT10aGlzLnN0YXRlW25dfHx7fTt2YXIgYT17fTtmb3IodmFyIGkgaW4gdGhpcy5zdGF0ZUNoYW5nZXNbbl0pdGhpcy5zdGF0ZVtuXVtpXXx8KHRoaXMuc3RhdGVbbl1baV09e30pLGgodGhpcy5zdGF0ZVtuXVtpXSx0aGlzLnN0YXRlQ2hhbmdlc1tuXVtpXSksYVtpXT10aGlzLnN0YXRlW25dW2ldO3Jbbl09YX1mb3IodmFyIG8gaW4gdGhpcy5kZWxldGVkU3RhdGVzKXt0aGlzLnN0YXRlW29dPXRoaXMuc3RhdGVbb118fHt9O3ZhciBzPXt9O2lmKG51bGw9PT10aGlzLmRlbGV0ZWRTdGF0ZXNbb10pZm9yKHZhciBsIGluIHRoaXMuc3RhdGVbb10pc1tsXT17fSx0aGlzLnN0YXRlW29dW2xdPXt9O2Vsc2UgZm9yKHZhciBjIGluIHRoaXMuZGVsZXRlZFN0YXRlc1tvXSl7aWYobnVsbD09PXRoaXMuZGVsZXRlZFN0YXRlc1tvXVtjXSl0aGlzLnN0YXRlW29dW2NdPXt9O2Vsc2UgZm9yKHZhciB1PTAsZj1PYmplY3Qua2V5cyh0aGlzLmRlbGV0ZWRTdGF0ZXNbb11bY10pO3U8Zi5sZW5ndGg7dSs9MSl7dmFyIHA9Zlt1XTtkZWxldGUgdGhpcy5zdGF0ZVtvXVtjXVtwXX1zW2NdPXRoaXMuc3RhdGVbb11bY119cltvXT1yW29dfHx7fSxoKHJbb10scyl9aWYodGhpcy5zdGF0ZUNoYW5nZXM9e30sdGhpcy5kZWxldGVkU3RhdGVzPXt9LDAhPT1PYmplY3Qua2V5cyhyKS5sZW5ndGgpZm9yKHZhciBkIGluIHQpdFtkXS5zZXRGZWF0dXJlU3RhdGUocixlKX07dmFyIEhsPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLnRpbGVJRD10LHRoaXMueD10LmNhbm9uaWNhbC54LHRoaXMueT10LmNhbm9uaWNhbC55LHRoaXMuej10LmNhbm9uaWNhbC56LHRoaXMuZ3JpZD1lfHxuZXcgY24oZWksMTYsMCksdGhpcy5ncmlkM0Q9bmV3IGNuKGVpLDE2LDApLHRoaXMuZmVhdHVyZUluZGV4QXJyYXk9cnx8bmV3IENhfTtmdW5jdGlvbiBHbCh0KXtmb3IodmFyIGU9MS8wLHI9MS8wLG49LTEvMCxhPS0xLzAsaT0wLG89dDtpPG8ubGVuZ3RoO2krPTEpe3ZhciBzPW9baV07ZT1NYXRoLm1pbihlLHMueCkscj1NYXRoLm1pbihyLHMueSksbj1NYXRoLm1heChuLHMueCksYT1NYXRoLm1heChhLHMueSl9cmV0dXJue21pblg6ZSxtaW5ZOnIsbWF4WDpuLG1heFk6YX19ZnVuY3Rpb24gWWwodCxlKXtyZXR1cm4gZS10fUhsLnByb3RvdHlwZS5pbnNlcnQ9ZnVuY3Rpb24odCxlLHIsbixhLGkpe3ZhciBvPXRoaXMuZmVhdHVyZUluZGV4QXJyYXkubGVuZ3RoO3RoaXMuZmVhdHVyZUluZGV4QXJyYXkuZW1wbGFjZUJhY2socixuLGEpO2Zvcih2YXIgcz1pP3RoaXMuZ3JpZDNEOnRoaXMuZ3JpZCxsPTA7bDxlLmxlbmd0aDtsKyspe2Zvcih2YXIgYz1lW2xdLHU9WzEvMCwxLzAsLTEvMCwtMS8wXSxoPTA7aDxjLmxlbmd0aDtoKyspe3ZhciBmPWNbaF07dVswXT1NYXRoLm1pbih1WzBdLGYueCksdVsxXT1NYXRoLm1pbih1WzFdLGYueSksdVsyXT1NYXRoLm1heCh1WzJdLGYueCksdVszXT1NYXRoLm1heCh1WzNdLGYueSl9dVswXTxlaSYmdVsxXTxlaSYmdVsyXT49MCYmdVszXT49MCYmcy5pbnNlcnQobyx1WzBdLHVbMV0sdVsyXSx1WzNdKX19LEhsLnByb3RvdHlwZS5sb2FkVlRMYXllcnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52dExheWVyc3x8KHRoaXMudnRMYXllcnM9bmV3IElvLlZlY3RvclRpbGUobmV3IHRsKHRoaXMucmF3VGlsZURhdGEpKS5sYXllcnMsdGhpcy5zb3VyY2VMYXllckNvZGVyPW5ldyBqbCh0aGlzLnZ0TGF5ZXJzP09iamVjdC5rZXlzKHRoaXMudnRMYXllcnMpLnNvcnQoKTpbIl9nZW9qc29uVGlsZUxheWVyIl0pKSx0aGlzLnZ0TGF5ZXJzfSxIbC5wcm90b3R5cGUucXVlcnk9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXM7dGhpcy5sb2FkVlRMYXllcnMoKTtmb3IodmFyIGk9dC5wYXJhbXN8fHt9LG89ZWkvdC50aWxlU2l6ZS90LnNjYWxlLHM9UnIoaS5maWx0ZXIpLGw9dC5xdWVyeUdlb21ldHJ5LGM9dC5xdWVyeVBhZGRpbmcqbyx1PUdsKGwpLGg9dGhpcy5ncmlkLnF1ZXJ5KHUubWluWC1jLHUubWluWS1jLHUubWF4WCtjLHUubWF4WStjKSxmPUdsKHQuY2FtZXJhUXVlcnlHZW9tZXRyeSkscD0wLGQ9dGhpcy5ncmlkM0QucXVlcnkoZi5taW5YLWMsZi5taW5ZLWMsZi5tYXhYK2MsZi5tYXhZK2MsZnVuY3Rpb24oZSxyLG4saSl7cmV0dXJuIGZ1bmN0aW9uKHQsZSxyLG4saSl7Zm9yKHZhciBvPTAscz10O288cy5sZW5ndGg7bys9MSl7dmFyIGw9c1tvXTtpZihlPD1sLngmJnI8PWwueSYmbj49bC54JiZpPj1sLnkpcmV0dXJuITB9dmFyIGM9W25ldyBhKGUsciksbmV3IGEoZSxpKSxuZXcgYShuLGkpLG5ldyBhKG4scildO2lmKHQubGVuZ3RoPjIpZm9yKHZhciB1PTAsaD1jO3U8aC5sZW5ndGg7dSs9MSlpZihnaSh0LGhbdV0pKXJldHVybiEwO2Zvcih2YXIgZj0wO2Y8dC5sZW5ndGgtMTtmKyspaWYodmkodFtmXSx0W2YrMV0sYykpcmV0dXJuITA7cmV0dXJuITF9KHQuY2FtZXJhUXVlcnlHZW9tZXRyeSxlLWMsci1jLG4rYyxpK2MpfSk7cDxkLmxlbmd0aDtwKz0xKXt2YXIgZz1kW3BdO2gucHVzaChnKX1oLnNvcnQoWWwpO2Zvcih2YXIgdixtPXt9LHk9ZnVuY3Rpb24oYSl7dmFyIGM9aFthXTtpZihjIT09dil7dj1jO3ZhciB1PW4uZmVhdHVyZUluZGV4QXJyYXkuZ2V0KGMpLGY9bnVsbDtuLmxvYWRNYXRjaGluZ0ZlYXR1cmUobSx1LmJ1Y2tldEluZGV4LHUuc291cmNlTGF5ZXJJbmRleCx1LmZlYXR1cmVJbmRleCxzLGkubGF5ZXJzLGUsZnVuY3Rpb24oZSxhKXtmfHwoZj1uaShlKSk7dmFyIGk9e307cmV0dXJuIGUuaWQmJihpPXIuZ2V0U3RhdGUoYS5zb3VyY2VMYXllcnx8Il9nZW9qc29uVGlsZUxheWVyIixlLmlkKSksYS5xdWVyeUludGVyc2VjdHNGZWF0dXJlKGwsZSxpLGYsbi56LHQudHJhbnNmb3JtLG8sdC5waXhlbFBvc01hdHJpeCl9KX19LHg9MDt4PGgubGVuZ3RoO3grKyl5KHgpO3JldHVybiBtfSxIbC5wcm90b3R5cGUubG9hZE1hdGNoaW5nRmVhdHVyZT1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMpe3ZhciBsPXRoaXMuYnVja2V0TGF5ZXJJRHNbZV07aWYoIWl8fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspaWYoZS5pbmRleE9mKHRbcl0pPj0wKXJldHVybiEwO3JldHVybiExfShpLGwpKXt2YXIgYz10aGlzLnNvdXJjZUxheWVyQ29kZXIuZGVjb2RlKHIpLHU9dGhpcy52dExheWVyc1tjXS5mZWF0dXJlKG4pO2lmKGEobmV3IFBuKHRoaXMudGlsZUlELm92ZXJzY2FsZWRaKSx1KSlmb3IodmFyIGg9MDtoPGwubGVuZ3RoO2grKyl7dmFyIGY9bFtoXTtpZighKGkmJmkuaW5kZXhPZihmKTwwKSl7dmFyIHA9b1tmXTtpZihwKXt2YXIgZD0hc3x8cyh1LHApO2lmKGQpe3ZhciBnPW5ldyBWbCh1LHRoaXMueix0aGlzLngsdGhpcy55KTtnLmxheWVyPXAuc2VyaWFsaXplKCk7dmFyIHY9dFtmXTt2b2lkIDA9PT12JiYodj10W2ZdPVtdKSx2LnB1c2goe2ZlYXR1cmVJbmRleDpuLGZlYXR1cmU6ZyxpbnRlcnNlY3Rpb25aOmR9KX19fX19fSxIbC5wcm90b3R5cGUubG9va3VwU3ltYm9sRmVhdHVyZXM9ZnVuY3Rpb24odCxlLHIsbixhLGkpe3ZhciBvPXt9O3RoaXMubG9hZFZUTGF5ZXJzKCk7Zm9yKHZhciBzPVJyKG4pLGw9MCxjPXQ7bDxjLmxlbmd0aDtsKz0xKXt2YXIgdT1jW2xdO3RoaXMubG9hZE1hdGNoaW5nRmVhdHVyZShvLGUscix1LHMsYSxpKX1yZXR1cm4gb30sSGwucHJvdG90eXBlLmhhc0xheWVyPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLHI9dGhpcy5idWNrZXRMYXllcklEcztlPHIubGVuZ3RoO2UrPTEpZm9yKHZhciBuPTAsYT1yW2VdO248YS5sZW5ndGg7bis9MSlpZih0PT09YVtuXSlyZXR1cm4hMDtyZXR1cm4hMX0sZG4oIkZlYXR1cmVJbmRleCIsSGwse29taXQ6WyJyYXdUaWxlRGF0YSIsInNvdXJjZUxheWVyQ29kZXIiXX0pO3ZhciBXbD1mdW5jdGlvbih0LGUpe3RoaXMudGlsZUlEPXQsdGhpcy51aWQ9cCgpLHRoaXMudXNlcz0wLHRoaXMudGlsZVNpemU9ZSx0aGlzLmJ1Y2tldHM9e30sdGhpcy5leHBpcmF0aW9uVGltZT1udWxsLHRoaXMucXVlcnlQYWRkaW5nPTAsdGhpcy5oYXNTeW1ib2xCdWNrZXRzPSExLHRoaXMuZXhwaXJlZFJlcXVlc3RDb3VudD0wLHRoaXMuc3RhdGU9ImxvYWRpbmcifTtmdW5jdGlvbiBYbCh0LGUscixuLGEpe2lmKHZvaWQgMD09PWUuc2VnbWVudClyZXR1cm4hMDtmb3IodmFyIGk9ZSxvPWUuc2VnbWVudCsxLHM9MDtzPi1yLzI7KXtpZigtLW88MClyZXR1cm4hMTtzLT10W29dLmRpc3QoaSksaT10W29dfXMrPXRbb10uZGlzdCh0W28rMV0pLG8rKztmb3IodmFyIGw9W10sYz0wO3M8ci8yOyl7dmFyIHU9dFtvLTFdLGg9dFtvXSxmPXRbbysxXTtpZighZilyZXR1cm4hMTt2YXIgcD11LmFuZ2xlVG8oaCktaC5hbmdsZVRvKGYpO2ZvcihwPU1hdGguYWJzKChwKzMqTWF0aC5QSSklKDIqTWF0aC5QSSktTWF0aC5QSSksbC5wdXNoKHtkaXN0YW5jZTpzLGFuZ2xlRGVsdGE6cH0pLGMrPXA7cy1sWzBdLmRpc3RhbmNlPm47KWMtPWwuc2hpZnQoKS5hbmdsZURlbHRhO2lmKGM+YSlyZXR1cm4hMTtvKysscys9aC5kaXN0KGYpfXJldHVybiEwfWZ1bmN0aW9uIFpsKHQpe2Zvcih2YXIgZT0wLHI9MDtyPHQubGVuZ3RoLTE7cisrKWUrPXRbcl0uZGlzdCh0W3IrMV0pO3JldHVybiBlfWZ1bmN0aW9uIEpsKHQsZSxyKXtyZXR1cm4gdD8uNiplKnI6MH1mdW5jdGlvbiBLbCh0LGUpe3JldHVybiBNYXRoLm1heCh0P3QucmlnaHQtdC5sZWZ0OjAsZT9lLnJpZ2h0LWUubGVmdDowKX1mdW5jdGlvbiBRbCh0LGUscixuLGEsaSl7Zm9yKHZhciBvPUpsKHIsYSxpKSxzPUtsKHIsbikqaSxsPTAsYz1abCh0KS8yLHU9MDt1PHQubGVuZ3RoLTE7dSsrKXt2YXIgaD10W3VdLGY9dFt1KzFdLHA9aC5kaXN0KGYpO2lmKGwrcD5jKXt2YXIgZD0oYy1sKS9wLGc9eWUoaC54LGYueCxkKSx2PXllKGgueSxmLnksZCksbT1uZXcgYnMoZyx2LGYuYW5nbGVUbyhoKSx1KTtyZXR1cm4gbS5fcm91bmQoKSwhb3x8WGwodCxtLHMsbyxlKT9tOnZvaWQgMH1sKz1wfX1mdW5jdGlvbiAkbCh0LGUscixuLGEsaSxvLHMsbCl7dmFyIGM9SmwobixpLG8pLHU9S2wobixhKSxoPXUqbyxmPTA9PT10WzBdLnh8fHRbMF0ueD09PWx8fDA9PT10WzBdLnl8fHRbMF0ueT09PWw7cmV0dXJuIGUtaDxlLzQmJihlPWgrZS80KSxmdW5jdGlvbiB0KGUscixuLGEsaSxvLHMsbCxjKXtmb3IodmFyIHU9by8yLGg9WmwoZSksZj0wLHA9ci1uLGQ9W10sZz0wO2c8ZS5sZW5ndGgtMTtnKyspe2Zvcih2YXIgdj1lW2ddLG09ZVtnKzFdLHk9di5kaXN0KG0pLHg9bS5hbmdsZVRvKHYpO3ArbjxmK3k7KXt2YXIgYj0oKHArPW4pLWYpL3ksXz15ZSh2LngsbS54LGIpLHc9eWUodi55LG0ueSxiKTtpZihfPj0wJiZfPGMmJnc+PTAmJnc8YyYmcC11Pj0wJiZwK3U8PWgpe3ZhciBrPW5ldyBicyhfLHcseCxnKTtrLl9yb3VuZCgpLGEmJiFYbChlLGssbyxhLGkpfHxkLnB1c2goayl9fWYrPXl9cmV0dXJuIGx8fGQubGVuZ3RofHxzfHwoZD10KGUsZi8yLG4sYSxpLG8scywhMCxjKSksZH0odCxmP2UvMipzJWU6KHUvMisyKmkpKm8qcyVlLGUsYyxyLGgsZiwhMSxsKX1XbC5wcm90b3R5cGUucmVnaXN0ZXJGYWRlRHVyYXRpb249ZnVuY3Rpb24odCl7dmFyIGU9dCt0aGlzLnRpbWVBZGRlZDtlPEkubm93KCl8fHRoaXMuZmFkZUVuZFRpbWUmJmU8dGhpcy5mYWRlRW5kVGltZXx8KHRoaXMuZmFkZUVuZFRpbWU9ZSl9LFdsLnByb3RvdHlwZS53YXNSZXF1ZXN0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4iZXJyb3JlZCI9PT10aGlzLnN0YXRlfHwibG9hZGVkIj09PXRoaXMuc3RhdGV8fCJyZWxvYWRpbmciPT09dGhpcy5zdGF0ZX0sV2wucHJvdG90eXBlLmxvYWRWZWN0b3JEYXRhPWZ1bmN0aW9uKHQsZSxyKXtpZih0aGlzLmhhc0RhdGEoKSYmdGhpcy51bmxvYWRWZWN0b3JEYXRhKCksdGhpcy5zdGF0ZT0ibG9hZGVkIix0KXtmb3IodmFyIG4gaW4gdC5mZWF0dXJlSW5kZXgmJih0aGlzLmxhdGVzdEZlYXR1cmVJbmRleD10LmZlYXR1cmVJbmRleCx0LnJhd1RpbGVEYXRhPyh0aGlzLmxhdGVzdFJhd1RpbGVEYXRhPXQucmF3VGlsZURhdGEsdGhpcy5sYXRlc3RGZWF0dXJlSW5kZXgucmF3VGlsZURhdGE9dC5yYXdUaWxlRGF0YSk6dGhpcy5sYXRlc3RSYXdUaWxlRGF0YSYmKHRoaXMubGF0ZXN0RmVhdHVyZUluZGV4LnJhd1RpbGVEYXRhPXRoaXMubGF0ZXN0UmF3VGlsZURhdGEpKSx0aGlzLmNvbGxpc2lvbkJveEFycmF5PXQuY29sbGlzaW9uQm94QXJyYXksdGhpcy5idWNrZXRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9e307aWYoIWUpcmV0dXJuIHI7Zm9yKHZhciBuPWZ1bmN0aW9uKCl7dmFyIHQ9aVthXSxuPXQubGF5ZXJJZHMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlLmdldExheWVyKHQpfSkuZmlsdGVyKEJvb2xlYW4pO2lmKDAhPT1uLmxlbmd0aCl7dC5sYXllcnM9bix0LnN0YXRlRGVwZW5kZW50TGF5ZXJJZHMmJih0LnN0YXRlRGVwZW5kZW50TGF5ZXJzPXQuc3RhdGVEZXBlbmRlbnRMYXllcklkcy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIG4uZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlkPT09dH0pWzBdfSkpO2Zvcih2YXIgbz0wLHM9bjtvPHMubGVuZ3RoO28rPTEpe3ZhciBsPXNbb107cltsLmlkXT10fX19LGE9MCxpPXQ7YTxpLmxlbmd0aDthKz0xKW4oKTtyZXR1cm4gcn0odC5idWNrZXRzLGUuc3R5bGUpLHRoaXMuaGFzU3ltYm9sQnVja2V0cz0hMSx0aGlzLmJ1Y2tldHMpe3ZhciBhPXRoaXMuYnVja2V0c1tuXTtpZihhIGluc3RhbmNlb2YgT3Mpe2lmKHRoaXMuaGFzU3ltYm9sQnVja2V0cz0hMCwhcilicmVhazthLmp1c3RSZWxvYWRlZD0hMH19Zm9yKHZhciBpIGluIHRoaXMucXVlcnlQYWRkaW5nPTAsdGhpcy5idWNrZXRzKXt2YXIgbz10aGlzLmJ1Y2tldHNbaV07dGhpcy5xdWVyeVBhZGRpbmc9TWF0aC5tYXgodGhpcy5xdWVyeVBhZGRpbmcsZS5zdHlsZS5nZXRMYXllcihpKS5xdWVyeVJhZGl1cyhvKSl9dC5pbWFnZUF0bGFzJiYodGhpcy5pbWFnZUF0bGFzPXQuaW1hZ2VBdGxhcyksdC5nbHlwaEF0bGFzSW1hZ2UmJih0aGlzLmdseXBoQXRsYXNJbWFnZT10LmdseXBoQXRsYXNJbWFnZSl9ZWxzZSB0aGlzLmNvbGxpc2lvbkJveEFycmF5PW5ldyBiYX0sV2wucHJvdG90eXBlLnVubG9hZFZlY3RvckRhdGE9ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5idWNrZXRzKXRoaXMuYnVja2V0c1t0XS5kZXN0cm95KCk7dGhpcy5idWNrZXRzPXt9LHRoaXMuaW1hZ2VBdGxhc1RleHR1cmUmJnRoaXMuaW1hZ2VBdGxhc1RleHR1cmUuZGVzdHJveSgpLHRoaXMuaW1hZ2VBdGxhcyYmKHRoaXMuaW1hZ2VBdGxhcz1udWxsKSx0aGlzLmdseXBoQXRsYXNUZXh0dXJlJiZ0aGlzLmdseXBoQXRsYXNUZXh0dXJlLmRlc3Ryb3koKSx0aGlzLmxhdGVzdEZlYXR1cmVJbmRleD1udWxsLHRoaXMuc3RhdGU9InVubG9hZGVkIn0sV2wucHJvdG90eXBlLnVubG9hZERFTURhdGE9ZnVuY3Rpb24oKXt0aGlzLmRlbT1udWxsLHRoaXMubmVpZ2hib3JpbmdUaWxlcz1udWxsLHRoaXMuc3RhdGU9InVubG9hZGVkIn0sV2wucHJvdG90eXBlLmdldEJ1Y2tldD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5idWNrZXRzW3QuaWRdfSxXbC5wcm90b3R5cGUudXBsb2FkPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0aGlzLmJ1Y2tldHMpe3ZhciByPXRoaXMuYnVja2V0c1tlXTtyLnVwbG9hZFBlbmRpbmcoKSYmci51cGxvYWQodCl9dmFyIG49dC5nbDt0aGlzLmltYWdlQXRsYXMmJiF0aGlzLmltYWdlQXRsYXMudXBsb2FkZWQmJih0aGlzLmltYWdlQXRsYXNUZXh0dXJlPW5ldyBLcyh0LHRoaXMuaW1hZ2VBdGxhcy5pbWFnZSxuLlJHQkEpLHRoaXMuaW1hZ2VBdGxhcy51cGxvYWRlZD0hMCksdGhpcy5nbHlwaEF0bGFzSW1hZ2UmJih0aGlzLmdseXBoQXRsYXNUZXh0dXJlPW5ldyBLcyh0LHRoaXMuZ2x5cGhBdGxhc0ltYWdlLG4uQUxQSEEpLHRoaXMuZ2x5cGhBdGxhc0ltYWdlPW51bGwpfSxXbC5wcm90b3R5cGUucHJlcGFyZT1mdW5jdGlvbih0KXt0aGlzLmltYWdlQXRsYXMmJnRoaXMuaW1hZ2VBdGxhcy5wYXRjaFVwZGF0ZWRJbWFnZXModCx0aGlzLmltYWdlQXRsYXNUZXh0dXJlKX0sV2wucHJvdG90eXBlLnF1ZXJ5UmVuZGVyZWRGZWF0dXJlcz1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMsbCl7cmV0dXJuIHRoaXMubGF0ZXN0RmVhdHVyZUluZGV4JiZ0aGlzLmxhdGVzdEZlYXR1cmVJbmRleC5yYXdUaWxlRGF0YT90aGlzLmxhdGVzdEZlYXR1cmVJbmRleC5xdWVyeSh7cXVlcnlHZW9tZXRyeTpyLGNhbWVyYVF1ZXJ5R2VvbWV0cnk6bixzY2FsZTphLHRpbGVTaXplOnRoaXMudGlsZVNpemUscGl4ZWxQb3NNYXRyaXg6bCx0cmFuc2Zvcm06byxwYXJhbXM6aSxxdWVyeVBhZGRpbmc6dGhpcy5xdWVyeVBhZGRpbmcqc30sdCxlKTp7fX0sV2wucHJvdG90eXBlLnF1ZXJ5U291cmNlRmVhdHVyZXM9ZnVuY3Rpb24odCxlKXtpZih0aGlzLmxhdGVzdEZlYXR1cmVJbmRleCYmdGhpcy5sYXRlc3RGZWF0dXJlSW5kZXgucmF3VGlsZURhdGEpe3ZhciByPXRoaXMubGF0ZXN0RmVhdHVyZUluZGV4LmxvYWRWVExheWVycygpLG49ZT9lLnNvdXJjZUxheWVyOiIiLGE9ci5fZ2VvanNvblRpbGVMYXllcnx8cltuXTtpZihhKWZvcih2YXIgaT1ScihlJiZlLmZpbHRlciksbz10aGlzLnRpbGVJRC5jYW5vbmljYWwscz1vLnosbD1vLngsYz1vLnksdT17ejpzLHg6bCx5OmN9LGg9MDtoPGEubGVuZ3RoO2grKyl7dmFyIGY9YS5mZWF0dXJlKGgpO2lmKGkobmV3IFBuKHRoaXMudGlsZUlELm92ZXJzY2FsZWRaKSxmKSl7dmFyIHA9bmV3IFZsKGYscyxsLGMpO3AudGlsZT11LHQucHVzaChwKX19fX0sV2wucHJvdG90eXBlLmNsZWFyTWFzaz1mdW5jdGlvbigpe3RoaXMuc2VnbWVudHMmJih0aGlzLnNlZ21lbnRzLmRlc3Ryb3koKSxkZWxldGUgdGhpcy5zZWdtZW50cyksdGhpcy5tYXNrZWRCb3VuZHNCdWZmZXImJih0aGlzLm1hc2tlZEJvdW5kc0J1ZmZlci5kZXN0cm95KCksZGVsZXRlIHRoaXMubWFza2VkQm91bmRzQnVmZmVyKSx0aGlzLm1hc2tlZEluZGV4QnVmZmVyJiYodGhpcy5tYXNrZWRJbmRleEJ1ZmZlci5kZXN0cm95KCksZGVsZXRlIHRoaXMubWFza2VkSW5kZXhCdWZmZXIpfSxXbC5wcm90b3R5cGUuc2V0TWFzaz1mdW5jdGlvbih0LGUpe2lmKCFvKHRoaXMubWFzayx0KSYmKHRoaXMubWFzaz10LHRoaXMuY2xlYXJNYXNrKCksIW8odCx7MDohMH0pKSl7dmFyIHI9bmV3ICRuLG49bmV3IGRhO3RoaXMuc2VnbWVudHM9bmV3IE9hLHRoaXMuc2VnbWVudHMucHJlcGFyZVNlZ21lbnQoMCxyLG4pO2Zvcih2YXIgaT1PYmplY3Qua2V5cyh0KSxzPTA7czxpLmxlbmd0aDtzKyspe3ZhciBsPXRbK2lbc11dLGM9ZWk+Pmwueix1PW5ldyBhKGwueCpjLGwueSpjKSxoPW5ldyBhKHUueCtjLHUueStjKSxmPXRoaXMuc2VnbWVudHMucHJlcGFyZVNlZ21lbnQoNCxyLG4pO3IuZW1wbGFjZUJhY2sodS54LHUueSx1LngsdS55KSxyLmVtcGxhY2VCYWNrKGgueCx1LnksaC54LHUueSksci5lbXBsYWNlQmFjayh1LngsaC55LHUueCxoLnkpLHIuZW1wbGFjZUJhY2soaC54LGgueSxoLngsaC55KTt2YXIgcD1mLnZlcnRleExlbmd0aDtuLmVtcGxhY2VCYWNrKHAscCsxLHArMiksbi5lbXBsYWNlQmFjayhwKzEscCsyLHArMyksZi52ZXJ0ZXhMZW5ndGgrPTQsZi5wcmltaXRpdmVMZW5ndGgrPTJ9dGhpcy5tYXNrZWRCb3VuZHNCdWZmZXI9ZS5jcmVhdGVWZXJ0ZXhCdWZmZXIocixObC5tZW1iZXJzKSx0aGlzLm1hc2tlZEluZGV4QnVmZmVyPWUuY3JlYXRlSW5kZXhCdWZmZXIobil9fSxXbC5wcm90b3R5cGUuaGFzRGF0YT1mdW5jdGlvbigpe3JldHVybiJsb2FkZWQiPT09dGhpcy5zdGF0ZXx8InJlbG9hZGluZyI9PT10aGlzLnN0YXRlfHwiZXhwaXJlZCI9PT10aGlzLnN0YXRlfSxXbC5wcm90b3R5cGUucGF0dGVybnNMb2FkZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbWFnZUF0bGFzJiYhIU9iamVjdC5rZXlzKHRoaXMuaW1hZ2VBdGxhcy5wYXR0ZXJuUG9zaXRpb25zKS5sZW5ndGh9LFdsLnByb3RvdHlwZS5zZXRFeHBpcnlEYXRhPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZXhwaXJhdGlvblRpbWU7aWYodC5jYWNoZUNvbnRyb2wpe3ZhciByPU0odC5jYWNoZUNvbnRyb2wpO3JbIm1heC1hZ2UiXSYmKHRoaXMuZXhwaXJhdGlvblRpbWU9RGF0ZS5ub3coKSsxZTMqclsibWF4LWFnZSJdKX1lbHNlIHQuZXhwaXJlcyYmKHRoaXMuZXhwaXJhdGlvblRpbWU9bmV3IERhdGUodC5leHBpcmVzKS5nZXRUaW1lKCkpO2lmKHRoaXMuZXhwaXJhdGlvblRpbWUpe3ZhciBuPURhdGUubm93KCksYT0hMTtpZih0aGlzLmV4cGlyYXRpb25UaW1lPm4pYT0hMTtlbHNlIGlmKGUpaWYodGhpcy5leHBpcmF0aW9uVGltZTxlKWE9ITA7ZWxzZXt2YXIgaT10aGlzLmV4cGlyYXRpb25UaW1lLWU7aT90aGlzLmV4cGlyYXRpb25UaW1lPW4rTWF0aC5tYXgoaSwzZTQpOmE9ITB9ZWxzZSBhPSEwO2E/KHRoaXMuZXhwaXJlZFJlcXVlc3RDb3VudCsrLHRoaXMuc3RhdGU9ImV4cGlyZWQiKTp0aGlzLmV4cGlyZWRSZXF1ZXN0Q291bnQ9MH19LFdsLnByb3RvdHlwZS5nZXRFeHBpcnlUaW1lb3V0PWZ1bmN0aW9uKCl7aWYodGhpcy5leHBpcmF0aW9uVGltZSlyZXR1cm4gdGhpcy5leHBpcmVkUmVxdWVzdENvdW50PzFlMyooMTw8TWF0aC5taW4odGhpcy5leHBpcmVkUmVxdWVzdENvdW50LTEsMzEpKTpNYXRoLm1pbih0aGlzLmV4cGlyYXRpb25UaW1lLShuZXcgRGF0ZSkuZ2V0VGltZSgpLE1hdGgucG93KDIsMzEpLTEpfSxXbC5wcm90b3R5cGUuc2V0RmVhdHVyZVN0YXRlPWZ1bmN0aW9uKHQsZSl7aWYodGhpcy5sYXRlc3RGZWF0dXJlSW5kZXgmJnRoaXMubGF0ZXN0RmVhdHVyZUluZGV4LnJhd1RpbGVEYXRhJiYwIT09T2JqZWN0LmtleXModCkubGVuZ3RoKXt2YXIgcj10aGlzLmxhdGVzdEZlYXR1cmVJbmRleC5sb2FkVlRMYXllcnMoKTtmb3IodmFyIG4gaW4gdGhpcy5idWNrZXRzKXt2YXIgYT10aGlzLmJ1Y2tldHNbbl0saT1hLmxheWVyc1swXS5zb3VyY2VMYXllcnx8Il9nZW9qc29uVGlsZUxheWVyIixvPXJbaV0scz10W2ldO28mJnMmJjAhPT1PYmplY3Qua2V5cyhzKS5sZW5ndGgmJihhLnVwZGF0ZShzLG8sdGhpcy5pbWFnZUF0bGFzJiZ0aGlzLmltYWdlQXRsYXMucGF0dGVyblBvc2l0aW9uc3x8e30pLGUmJmUuc3R5bGUmJih0aGlzLnF1ZXJ5UGFkZGluZz1NYXRoLm1heCh0aGlzLnF1ZXJ5UGFkZGluZyxlLnN0eWxlLmdldExheWVyKG4pLnF1ZXJ5UmFkaXVzKGEpKSkpfX19LFdsLnByb3RvdHlwZS5ob2xkaW5nRm9yRmFkZT1mdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLnN5bWJvbEZhZGVIb2xkVW50aWx9LFdsLnByb3RvdHlwZS5zeW1ib2xGYWRlRmluaXNoZWQ9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5zeW1ib2xGYWRlSG9sZFVudGlsfHx0aGlzLnN5bWJvbEZhZGVIb2xkVW50aWw8SS5ub3coKX0sV2wucHJvdG90eXBlLmNsZWFyRmFkZUhvbGQ9ZnVuY3Rpb24oKXt0aGlzLnN5bWJvbEZhZGVIb2xkVW50aWw9dm9pZCAwfSxXbC5wcm90b3R5cGUuc2V0SG9sZER1cmF0aW9uPWZ1bmN0aW9uKHQpe3RoaXMuc3ltYm9sRmFkZUhvbGRVbnRpbD1JLm5vdygpK3R9O3ZhciB0Yz1mdW5jdGlvbih0LGUscixuLGksbyxzLGwsYyx1LGgsZil7dmFyIHA9cy50b3AqbC1jLGQ9cy5ib3R0b20qbCtjLGc9cy5sZWZ0KmwtYyx2PXMucmlnaHQqbCtjO2lmKHRoaXMuYm94U3RhcnRJbmRleD10Lmxlbmd0aCx1KXt2YXIgbT1kLXAseT12LWc7bT4wJiYobT1NYXRoLm1heCgxMCpsLG0pLHRoaXMuX2FkZExpbmVDb2xsaXNpb25DaXJjbGVzKHQsZSxyLHIuc2VnbWVudCx5LG0sbixpLG8saCkpfWVsc2V7aWYoZil7dmFyIHg9bmV3IGEoZyxwKSxiPW5ldyBhKHYscCksXz1uZXcgYShnLGQpLHc9bmV3IGEodixkKSxrPWYqTWF0aC5QSS8xODA7eC5fcm90YXRlKGspLGIuX3JvdGF0ZShrKSxfLl9yb3RhdGUoayksdy5fcm90YXRlKGspLGc9TWF0aC5taW4oeC54LGIueCxfLngsdy54KSx2PU1hdGgubWF4KHgueCxiLngsXy54LHcueCkscD1NYXRoLm1pbih4LnksYi55LF8ueSx3LnkpLGQ9TWF0aC5tYXgoeC55LGIueSxfLnksdy55KX10LmVtcGxhY2VCYWNrKHIueCxyLnksZyxwLHYsZCxuLGksbywwLDApfXRoaXMuYm94RW5kSW5kZXg9dC5sZW5ndGh9O3RjLnByb3RvdHlwZS5fYWRkTGluZUNvbGxpc2lvbkNpcmNsZXM9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzLGwsYyl7dmFyIHU9aS8yLGg9TWF0aC5mbG9vcihhL3UpfHwxLGY9MSsuNCpNYXRoLmxvZyhjKS9NYXRoLkxOMixwPU1hdGguZmxvb3IoaCpmLzIpLGQ9LWkvMixnPXIsdj1uKzEsbT1kLHk9LWEvMix4PXktYS80O2Rve2lmKC0tdjwwKXtpZihtPnkpcmV0dXJuO3Y9MDticmVha31tLT1lW3ZdLmRpc3QoZyksZz1lW3ZdfXdoaWxlKG0+eCk7Zm9yKHZhciBiPWVbdl0uZGlzdChlW3YrMV0pLF89LXA7XzxoK3A7XysrKXt2YXIgdz1fKnUsaz15K3c7aWYodzwwJiYoays9dyksdz5hJiYoays9dy1hKSwhKGs8bSkpe2Zvcig7bStiPGs7KXtpZihtKz1iLCsrdisxPj1lLmxlbmd0aClyZXR1cm47Yj1lW3ZdLmRpc3QoZVt2KzFdKX12YXIgVD1rLW0sTT1lW3ZdLEE9ZVt2KzFdLnN1YihNKS5fdW5pdCgpLl9tdWx0KFQpLl9hZGQoTSkuX3JvdW5kKCksUz1NYXRoLmFicyhrLWQpPHU/MDouOCooay1kKTt0LmVtcGxhY2VCYWNrKEEueCxBLnksLWkvMiwtaS8yLGkvMixpLzIsbyxzLGwsaS8yLFMpfX19O3ZhciBlYz1mdW5jdGlvbih0LGUpe2lmKHZvaWQgMD09PXQmJih0PVtdKSx2b2lkIDA9PT1lJiYoZT1yYyksdGhpcy5kYXRhPXQsdGhpcy5sZW5ndGg9dGhpcy5kYXRhLmxlbmd0aCx0aGlzLmNvbXBhcmU9ZSx0aGlzLmxlbmd0aD4wKWZvcih2YXIgcj0odGhpcy5sZW5ndGg+PjEpLTE7cj49MDtyLS0pdGhpcy5fZG93bihyKX07ZnVuY3Rpb24gcmModCxlKXtyZXR1cm4gdDxlPy0xOnQ+ZT8xOjB9ZnVuY3Rpb24gbmModCxlLHIpe3ZvaWQgMD09PWUmJihlPTEpLHZvaWQgMD09PXImJihyPSExKTtmb3IodmFyIG49MS8wLGk9MS8wLG89LTEvMCxzPS0xLzAsbD10WzBdLGM9MDtjPGwubGVuZ3RoO2MrKyl7dmFyIHU9bFtjXTsoIWN8fHUueDxuKSYmKG49dS54KSwoIWN8fHUueTxpKSYmKGk9dS55KSwoIWN8fHUueD5vKSYmKG89dS54KSwoIWN8fHUueT5zKSYmKHM9dS55KX12YXIgaD1vLW4sZj1zLWkscD1NYXRoLm1pbihoLGYpLGQ9cC8yLGc9bmV3IGVjKFtdLGFjKTtpZigwPT09cClyZXR1cm4gbmV3IGEobixpKTtmb3IodmFyIHY9bjt2PG87dis9cClmb3IodmFyIG09aTttPHM7bSs9cClnLnB1c2gobmV3IGljKHYrZCxtK2QsZCx0KSk7Zm9yKHZhciB5PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLHI9MCxuPTAsYT10WzBdLGk9MCxvPWEubGVuZ3RoLHM9by0xO2k8bztzPWkrKyl7dmFyIGw9YVtpXSxjPWFbc10sdT1sLngqYy55LWMueCpsLnk7cis9KGwueCtjLngpKnUsbis9KGwueStjLnkpKnUsZSs9Myp1fXJldHVybiBuZXcgaWMoci9lLG4vZSwwLHQpfSh0KSx4PWcubGVuZ3RoO2cubGVuZ3RoOyl7dmFyIGI9Zy5wb3AoKTsoYi5kPnkuZHx8IXkuZCkmJih5PWIsciYmY29uc29sZS5sb2coImZvdW5kIGJlc3QgJWQgYWZ0ZXIgJWQgcHJvYmVzIixNYXRoLnJvdW5kKDFlNCpiLmQpLzFlNCx4KSksYi5tYXgteS5kPD1lfHwoZD1iLmgvMixnLnB1c2gobmV3IGljKGIucC54LWQsYi5wLnktZCxkLHQpKSxnLnB1c2gobmV3IGljKGIucC54K2QsYi5wLnktZCxkLHQpKSxnLnB1c2gobmV3IGljKGIucC54LWQsYi5wLnkrZCxkLHQpKSxnLnB1c2gobmV3IGljKGIucC54K2QsYi5wLnkrZCxkLHQpKSx4Kz00KX1yZXR1cm4gciYmKGNvbnNvbGUubG9nKCJudW0gcHJvYmVzOiAiK3gpLGNvbnNvbGUubG9nKCJiZXN0IGRpc3RhbmNlOiAiK3kuZCkpLHkucH1mdW5jdGlvbiBhYyh0LGUpe3JldHVybiBlLm1heC10Lm1heH1mdW5jdGlvbiBpYyh0LGUscixuKXt0aGlzLnA9bmV3IGEodCxlKSx0aGlzLmg9cix0aGlzLmQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9ITEsbj0xLzAsYT0wO2E8ZS5sZW5ndGg7YSsrKWZvcih2YXIgaT1lW2FdLG89MCxzPWkubGVuZ3RoLGw9cy0xO288cztsPW8rKyl7dmFyIGM9aVtvXSx1PWlbbF07Yy55PnQueSE9dS55PnQueSYmdC54PCh1LngtYy54KSoodC55LWMueSkvKHUueS1jLnkpK2MueCYmKHI9IXIpLG49TWF0aC5taW4obixwaSh0LGMsdSkpfXJldHVybihyPzE6LTEpKk1hdGguc3FydChuKX0odGhpcy5wLG4pLHRoaXMubWF4PXRoaXMuZCt0aGlzLmgqTWF0aC5TUVJUMn1lYy5wcm90b3R5cGUucHVzaD1mdW5jdGlvbih0KXt0aGlzLmRhdGEucHVzaCh0KSx0aGlzLmxlbmd0aCsrLHRoaXMuX3VwKHRoaXMubGVuZ3RoLTEpfSxlYy5wcm90b3R5cGUucG9wPWZ1bmN0aW9uKCl7aWYoMCE9PXRoaXMubGVuZ3RoKXt2YXIgdD10aGlzLmRhdGFbMF0sZT10aGlzLmRhdGEucG9wKCk7cmV0dXJuIHRoaXMubGVuZ3RoLS0sdGhpcy5sZW5ndGg+MCYmKHRoaXMuZGF0YVswXT1lLHRoaXMuX2Rvd24oMCkpLHR9fSxlYy5wcm90b3R5cGUucGVlaz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRhdGFbMF19LGVjLnByb3RvdHlwZS5fdXA9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMuZGF0YSxyPXRoaXMuY29tcGFyZSxuPWVbdF07dD4wOyl7dmFyIGE9dC0xPj4xLGk9ZVthXTtpZihyKG4saSk+PTApYnJlYWs7ZVt0XT1pLHQ9YX1lW3RdPW59LGVjLnByb3RvdHlwZS5fZG93bj1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5kYXRhLHI9dGhpcy5jb21wYXJlLG49dGhpcy5sZW5ndGg+PjEsYT1lW3RdO3Q8bjspe3ZhciBpPTErKHQ8PDEpLG89ZVtpXSxzPWkrMTtpZihzPHRoaXMubGVuZ3RoJiZyKGVbc10sbyk8MCYmKGk9cyxvPWVbc10pLHIobyxhKT49MClicmVhaztlW3RdPW8sdD1pfWVbdF09YX07dmFyIG9jPWUoZnVuY3Rpb24odCl7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhLGksbyxzLGwsYztmb3Iocj0zJnQubGVuZ3RoLG49dC5sZW5ndGgtcixhPWUsbz0zNDMyOTE4MzUzLHM9NDYxODQ1OTA3LGM9MDtjPG47KWw9MjU1JnQuY2hhckNvZGVBdChjKXwoMjU1JnQuY2hhckNvZGVBdCgrK2MpKTw8OHwoMjU1JnQuY2hhckNvZGVBdCgrK2MpKTw8MTZ8KDI1NSZ0LmNoYXJDb2RlQXQoKytjKSk8PDI0LCsrYyxhPTI3NDkyKyg2NTUzNSYoaT01Kig2NTUzNSYoYT0oYV49bD0oNjU1MzUmKGw9KGw9KDY1NTM1JmwpKm8rKCgobD4+PjE2KSpvJjY1NTM1KTw8MTYpJjQyOTQ5NjcyOTUpPDwxNXxsPj4+MTcpKSpzKygoKGw+Pj4xNikqcyY2NTUzNSk8PDE2KSY0Mjk0OTY3Mjk1KTw8MTN8YT4+PjE5KSkrKCg1KihhPj4+MTYpJjY1NTM1KTw8MTYpJjQyOTQ5NjcyOTUpKSsoKDU4OTY0KyhpPj4+MTYpJjY1NTM1KTw8MTYpO3N3aXRjaChsPTAscil7Y2FzZSAzOmxePSgyNTUmdC5jaGFyQ29kZUF0KGMrMikpPDwxNjtjYXNlIDI6bF49KDI1NSZ0LmNoYXJDb2RlQXQoYysxKSk8PDg7Y2FzZSAxOmFePWw9KDY1NTM1JihsPShsPSg2NTUzNSYobF49MjU1JnQuY2hhckNvZGVBdChjKSkpKm8rKCgobD4+PjE2KSpvJjY1NTM1KTw8MTYpJjQyOTQ5NjcyOTUpPDwxNXxsPj4+MTcpKSpzKygoKGw+Pj4xNikqcyY2NTUzNSk8PDE2KSY0Mjk0OTY3Mjk1fXJldHVybiBhXj10Lmxlbmd0aCxhPTIyNDY4MjI1MDcqKDY1NTM1JihhXj1hPj4+MTYpKSsoKDIyNDY4MjI1MDcqKGE+Pj4xNikmNjU1MzUpPDwxNikmNDI5NDk2NzI5NSxhPTMyNjY0ODk5MDkqKDY1NTM1JihhXj1hPj4+MTMpKSsoKDMyNjY0ODk5MDkqKGE+Pj4xNikmNjU1MzUpPDwxNikmNDI5NDk2NzI5NSwoYV49YT4+PjE2KT4+PjB9fSksc2M9ZShmdW5jdGlvbih0KXt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIsbj10Lmxlbmd0aCxhPWVebixpPTA7bj49NDspcj0xNTQwNDgzNDc3Kig2NTUzNSYocj0yNTUmdC5jaGFyQ29kZUF0KGkpfCgyNTUmdC5jaGFyQ29kZUF0KCsraSkpPDw4fCgyNTUmdC5jaGFyQ29kZUF0KCsraSkpPDwxNnwoMjU1JnQuY2hhckNvZGVBdCgrK2kpKTw8MjQpKSsoKDE1NDA0ODM0NzcqKHI+Pj4xNikmNjU1MzUpPDwxNiksYT0xNTQwNDgzNDc3Kig2NTUzNSZhKSsoKDE1NDA0ODM0NzcqKGE+Pj4xNikmNjU1MzUpPDwxNileKHI9MTU0MDQ4MzQ3NyooNjU1MzUmKHJePXI+Pj4yNCkpKygoMTU0MDQ4MzQ3Nyoocj4+PjE2KSY2NTUzNSk8PDE2KSksbi09NCwrK2k7c3dpdGNoKG4pe2Nhc2UgMzphXj0oMjU1JnQuY2hhckNvZGVBdChpKzIpKTw8MTY7Y2FzZSAyOmFePSgyNTUmdC5jaGFyQ29kZUF0KGkrMSkpPDw4O2Nhc2UgMTphPTE1NDA0ODM0NzcqKDY1NTM1JihhXj0yNTUmdC5jaGFyQ29kZUF0KGkpKSkrKCgxNTQwNDgzNDc3KihhPj4+MTYpJjY1NTM1KTw8MTYpfXJldHVybiBhPTE1NDA0ODM0NzcqKDY1NTM1JihhXj1hPj4+MTMpKSsoKDE1NDA0ODM0NzcqKGE+Pj4xNikmNjU1MzUpPDwxNiksKGFePWE+Pj4xNSk+Pj4wfX0pLGxjPW9jLGNjPW9jLHVjPXNjO2xjLm11cm11cjM9Y2MsbGMubXVybXVyMj11Yzt2YXIgaGM9NztmdW5jdGlvbiBmYyh0LGUpe3ZhciByPTAsbj0wLGE9ZS9NYXRoLnNxcnQoMik7c3dpdGNoKHQpe2Nhc2UidG9wLXJpZ2h0IjpjYXNlInRvcC1sZWZ0IjpuPWEtaGM7YnJlYWs7Y2FzZSJib3R0b20tcmlnaHQiOmNhc2UiYm90dG9tLWxlZnQiOm49LWEraGM7YnJlYWs7Y2FzZSJib3R0b20iOm49LWUraGM7YnJlYWs7Y2FzZSJ0b3AiOm49ZS1oY31zd2l0Y2godCl7Y2FzZSJ0b3AtcmlnaHQiOmNhc2UiYm90dG9tLXJpZ2h0IjpyPS1hO2JyZWFrO2Nhc2UidG9wLWxlZnQiOmNhc2UiYm90dG9tLWxlZnQiOnI9YTticmVhaztjYXNlImxlZnQiOnI9ZTticmVhaztjYXNlInJpZ2h0IjpyPS1lfXJldHVybltyLG5dfWZ1bmN0aW9uIHBjKHQpe3N3aXRjaCh0KXtjYXNlInJpZ2h0IjpjYXNlInRvcC1yaWdodCI6Y2FzZSJib3R0b20tcmlnaHQiOnJldHVybiJyaWdodCI7Y2FzZSJsZWZ0IjpjYXNlInRvcC1sZWZ0IjpjYXNlImJvdHRvbS1sZWZ0IjpyZXR1cm4ibGVmdCJ9cmV0dXJuImNlbnRlciJ9dmFyIGRjPTY1NTM1O2Z1bmN0aW9uIGdjKHQsZSxyLG4saSxvLHMsbCxjLHUsaCxmLHApe3ZhciBkPWZ1bmN0aW9uKHQsZSxyLG4saSxvLHMsbCl7Zm9yKHZhciBjPW4ubGF5b3V0LmdldCgidGV4dC1yb3RhdGUiKS5ldmFsdWF0ZShvLHt9KSpNYXRoLlBJLzE4MCx1PWUucG9zaXRpb25lZEdseXBocyxoPVtdLGY9MDtmPHUubGVuZ3RoO2YrKyl7dmFyIHA9dVtmXSxkPXNbcC5mb250U3RhY2tdLGc9ZCYmZFtwLmdseXBoXTtpZihnKXt2YXIgdj1nLnJlY3Q7aWYodil7dmFyIG09X2wrMSx5PWcubWV0cmljcy5hZHZhbmNlKnAuc2NhbGUvMix4PWk/W3AueCt5LHAueV06WzAsMF0sYj1pP1swLDBdOltwLngreStyWzBdLHAueStyWzFdXSxfPShpfHxsKSYmcC52ZXJ0aWNhbCx3PVswLDBdO18mJih3PWIsYj1bMCwwXSk7dmFyIGs9KGcubWV0cmljcy5sZWZ0LW0pKnAuc2NhbGUteStiWzBdLFQ9KC1nLm1ldHJpY3MudG9wLW0pKnAuc2NhbGUrYlsxXSxNPWsrdi53KnAuc2NhbGUsQT1UK3YuaCpwLnNjYWxlLFM9bmV3IGEoayxUKSxFPW5ldyBhKE0sVCksTD1uZXcgYShrLEEpLEM9bmV3IGEoTSxBKTtpZihfKXt2YXIgUD1uZXcgYSgteSx5LWUueU9mZnNldCksTz0tTWF0aC5QSS8yLHo9bHMvMi15LEk9bmV3IGEoNS1lLnlPZmZzZXQteiwwKSxEPW5ldyhGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5hcHBseShhLFtudWxsXS5jb25jYXQodykpKTtTLl9yb3RhdGVBcm91bmQoTyxQKS5fYWRkKEkpLl9hZGQoRCksRS5fcm90YXRlQXJvdW5kKE8sUCkuX2FkZChJKS5fYWRkKEQpLEwuX3JvdGF0ZUFyb3VuZChPLFApLl9hZGQoSSkuX2FkZChEKSxDLl9yb3RhdGVBcm91bmQoTyxQKS5fYWRkKEkpLl9hZGQoRCl9aWYoYyl7dmFyIFI9TWF0aC5zaW4oYyksRj1NYXRoLmNvcyhjKSxCPVtGLC1SLFIsRl07Uy5fbWF0TXVsdChCKSxFLl9tYXRNdWx0KEIpLEwuX21hdE11bHQoQiksQy5fbWF0TXVsdChCKX1oLnB1c2goe3RsOlMsdHI6RSxibDpMLGJyOkMsdGV4OnYsd3JpdGluZ01vZGU6ZS53cml0aW5nTW9kZSxnbHlwaE9mZnNldDp4LHNlY3Rpb25JbmRleDpwLnNlY3Rpb25JbmRleH0pfX19cmV0dXJuIGh9KDAscixzLG4saSxvLGYsdC5hbGxvd1ZlcnRpY2FsUGxhY2VtZW50KSxnPXQudGV4dFNpemVEYXRhLHY9bnVsbDsic291cmNlIj09PWcua2luZD8odj1bX3Mqbi5sYXlvdXQuZ2V0KCJ0ZXh0LXNpemUiKS5ldmFsdWF0ZShvLHt9KV0pWzBdPmRjJiZ3KHQubGF5ZXJJZHNbMF0rJzogVmFsdWUgZm9yICJ0ZXh0LXNpemUiIGlzID49IDI1Ni4gUmVkdWNlIHlvdXIgInRleHQtc2l6ZSIuJyk6ImNvbXBvc2l0ZSI9PT1nLmtpbmQmJigodj1bX3MqcC5jb21wb3NpdGVUZXh0U2l6ZXNbMF0uZXZhbHVhdGUobyx7fSksX3MqcC5jb21wb3NpdGVUZXh0U2l6ZXNbMV0uZXZhbHVhdGUobyx7fSldKVswXT5kY3x8dlsxXT5kYykmJncodC5sYXllcklkc1swXSsnOiBWYWx1ZSBmb3IgInRleHQtc2l6ZSIgaXMgPj0gMjU2LiBSZWR1Y2UgeW91ciAidGV4dC1zaXplIi4nKSx0LmFkZFN5bWJvbHModC50ZXh0LGQsdixzLGksbyxjLGUsbC5saW5lU3RhcnRJbmRleCxsLmxpbmVMZW5ndGgpO2Zvcih2YXIgbT0wLHk9dTttPHkubGVuZ3RoO20rPTEpaFt5W21dXT10LnRleHQucGxhY2VkU3ltYm9sQXJyYXkubGVuZ3RoLTE7cmV0dXJuIDQqZC5sZW5ndGh9ZnVuY3Rpb24gdmModCl7Zm9yKHZhciBlIGluIHQpcmV0dXJuIHRbZV07cmV0dXJuIG51bGx9ZnVuY3Rpb24gbWModCxlLHIsbil7dmFyIGE9dC5jb21wYXJlVGV4dDtpZihlIGluIGEpe2Zvcih2YXIgaT1hW2VdLG89aS5sZW5ndGgtMTtvPj0wO28tLSlpZihuLmRpc3QoaVtvXSk8cilyZXR1cm4hMH1lbHNlIGFbZV09W107cmV0dXJuIGFbZV0ucHVzaChuKSwhMX10LkFjdG9yPWtsLHQuQWxwaGFJbWFnZT1QaSx0LkNhbm9uaWNhbFRpbGVJRD1JbCx0LkNvbGxpc2lvbkJveEFycmF5PWJhLHQuQ29sb3I9V3QsdC5ERU1EYXRhPUJsLHQuRGF0YUNvbnN0YW50UHJvcGVydHk9am4sdC5EaWN0aW9uYXJ5Q29kZXI9amwsdC5FWFRFTlQ9ZWksdC5FcnJvckV2ZW50PXd0LHQuRXZhbHVhdGlvblBhcmFtZXRlcnM9UG4sdC5FdmVudD1fdCx0LkV2ZW50ZWQ9a3QsdC5GZWF0dXJlSW5kZXg9SGwsdC5GaWxsQnVja2V0PV9vLHQuRmlsbEV4dHJ1c2lvbkJ1Y2tldD1Cbyx0LkltYWdlQXRsYXM9WXMsdC5JbWFnZVBvc2l0aW9uPUhzLHQuTGluZUJ1Y2tldD1abyx0LkxuZ0xhdD1BbCx0LkxuZ0xhdEJvdW5kcz1NbCx0Lk1lcmNhdG9yQ29vcmRpbmF0ZT16bCx0Lk9ORV9FTT1scyx0Lk92ZXJzY2FsZWRUaWxlSUQ9UmwsdC5Qb2ludD1hLHQuUG9pbnQkMT1hLHQuUHJvZ3JhbUNvbmZpZ3VyYXRpb249S2EsdC5Qcm9wZXJ0aWVzPUduLHQuUHJvdG9idWY9dGwsdC5SR0JBSW1hZ2U9T2ksdC5SZXF1ZXN0TWFuYWdlcj1WLHQuUmVzb3VyY2VUeXBlPWx0LHQuU2VnbWVudFZlY3Rvcj1PYSx0LlNvdXJjZUZlYXR1cmVTdGF0ZT1xbCx0LlN0cnVjdEFycmF5TGF5b3V0MXVpMj12YSx0LlN0cnVjdEFycmF5TGF5b3V0Mmk0PVFuLHQuU3RydWN0QXJyYXlMYXlvdXQydWk0PWdhLHQuU3RydWN0QXJyYXlMYXlvdXQzdWk2PWRhLHQuU3RydWN0QXJyYXlMYXlvdXQ0aTg9JG4sdC5TeW1ib2xCdWNrZXQ9T3MsdC5UZXh0dXJlPUtzLHQuVGlsZT1XbCx0LlRyYW5zaXRpb25hYmxlPUluLHQuVW5pZm9ybTFmPUJhLHQuVW5pZm9ybTFpPUZhLHQuVW5pZm9ybTJmPU5hLHQuVW5pZm9ybTNmPWphLHQuVW5pZm9ybTRmPVZhLHQuVW5pZm9ybUNvbG9yPVVhLHQuVW5pZm9ybU1hdHJpeDRmPUhhLHQuVW53cmFwcGVkVGlsZUlEPURsLHQuVmFsaWRhdGlvbkVycm9yPU10LHQuV3JpdGluZ01vZGU9Y3MsdC5ab29tSGlzdG9yeT15bix0LmFkZER5bmFtaWNBdHRyaWJ1dGVzPUxzLHQuYXN5bmNBbGw9ZnVuY3Rpb24odCxlLHIpe2lmKCF0Lmxlbmd0aClyZXR1cm4gcihudWxsLFtdKTt2YXIgbj10Lmxlbmd0aCxhPW5ldyBBcnJheSh0Lmxlbmd0aCksaT1udWxsO3QuZm9yRWFjaChmdW5jdGlvbih0LG8pe2UodCxmdW5jdGlvbih0LGUpe3QmJihpPXQpLGFbb109ZSwwPT0tLW4mJnIoaSxhKX0pfSl9LHQuYmV6aWVyPXMsdC5iaW5kQWxsPXYsdC5icm93c2VyPUksdC5jYWNoZUVudHJ5UG9zc2libHlBZGRlZD1mdW5jdGlvbih0KXsrK3N0PmF0JiYodC5nZXRBY3RvcigpLnNlbmQoImVuZm9yY2VDYWNoZVNpemVMaW1pdCIsbnQpLHN0PTApfSx0LmNsYW1wPWMsdC5jbGVhclRpbGVDYWNoZT1mdW5jdGlvbih0KXt2YXIgZT1zZWxmLmNhY2hlcy5kZWxldGUocnQpO3QmJmUuY2F0Y2godCkudGhlbihmdW5jdGlvbigpe3JldHVybiB0KCl9KX0sdC5jbG9uZT1mdW5jdGlvbih0KXt2YXIgZT1uZXcga2koMTYpO3JldHVybiBlWzBdPXRbMF0sZVsxXT10WzFdLGVbMl09dFsyXSxlWzNdPXRbM10sZVs0XT10WzRdLGVbNV09dFs1XSxlWzZdPXRbNl0sZVs3XT10WzddLGVbOF09dFs4XSxlWzldPXRbOV0sZVsxMF09dFsxMF0sZVsxMV09dFsxMV0sZVsxMl09dFsxMl0sZVsxM109dFsxM10sZVsxNF09dFsxNF0sZVsxNV09dFsxNV0sZX0sdC5jbG9uZSQxPWIsdC5jb25maWc9RCx0LmNyZWF0ZT1mdW5jdGlvbigpe3ZhciB0PW5ldyBraSgxNik7cmV0dXJuIGtpIT1GbG9hdDMyQXJyYXkmJih0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs2XT0wLHRbN109MCx0WzhdPTAsdFs5XT0wLHRbMTFdPTAsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTApLHRbMF09MSx0WzVdPTEsdFsxMF09MSx0WzE1XT0xLHR9LHQuY3JlYXRlJDE9ZnVuY3Rpb24oKXt2YXIgdD1uZXcga2koOSk7cmV0dXJuIGtpIT1GbG9hdDMyQXJyYXkmJih0WzFdPTAsdFsyXT0wLHRbM109MCx0WzVdPTAsdFs2XT0wLHRbN109MCksdFswXT0xLHRbNF09MSx0WzhdPTEsdH0sdC5jcmVhdGUkMj1mdW5jdGlvbigpe3ZhciB0PW5ldyBraSg0KTtyZXR1cm4ga2khPUZsb2F0MzJBcnJheSYmKHRbMV09MCx0WzJdPTApLHRbMF09MSx0WzNdPTEsdH0sdC5jcmVhdGVDb21tb25qc01vZHVsZT1lLHQuY3JlYXRlRXhwcmVzc2lvbj1rcix0LmNyZWF0ZUxheW91dD1Kbix0LmNyZWF0ZVN0eWxlTGF5ZXI9ZnVuY3Rpb24odCl7cmV0dXJuImN1c3RvbSI9PT10LnR5cGU/bmV3IFZzKHQpOm5ldyBVc1t0LnR5cGVdKHQpfSx0LmRlZXBFcXVhbD1vLHQuZWFzZT1sLHQuZW1pdFZhbGlkYXRpb25FcnJvcnM9bG4sdC5lbmRzV2l0aD1tLHQuZW5mb3JjZUNhY2hlU2l6ZUxpbWl0PWZ1bmN0aW9uKHQpe3NlbGYuY2FjaGVzJiZzZWxmLmNhY2hlcy5vcGVuKHJ0KS50aGVuKGZ1bmN0aW9uKGUpe2Uua2V5cygpLnRoZW4oZnVuY3Rpb24ocil7Zm9yKHZhciBuPTA7bjxyLmxlbmd0aC10O24rKyllLmRlbGV0ZShyW25dKX0pfSl9LHQuZXZhbHVhdGVSYWRpYWxPZmZzZXQ9ZmMsdC5ldmFsdWF0ZVNpemVGb3JGZWF0dXJlPWtzLHQuZXZhbHVhdGVTaXplRm9yWm9vbT1Ucyx0LmV2ZW50ZWQ9TG4sdC5leHRlbmQ9aCx0LmZlYXR1cmVGaWx0ZXI9UnIsdC5maWx0ZXJPYmplY3Q9eCx0LmZyb21Sb3RhdGlvbj1mdW5jdGlvbih0LGUpe3ZhciByPU1hdGguc2luKGUpLG49TWF0aC5jb3MoZSk7cmV0dXJuIHRbMF09bix0WzFdPXIsdFsyXT0wLHRbM109LXIsdFs0XT1uLHRbNV09MCx0WzZdPTAsdFs3XT0wLHRbOF09MSx0fSx0LmdldEFuY2hvckFsaWdubWVudD15cyx0LmdldEFuY2hvckp1c3RpZmljYXRpb249cGMsdC5nZXRBcnJheUJ1ZmZlcj12dCx0LmdldEltYWdlPXl0LHQuZ2V0SlNPTj1mdW5jdGlvbih0LGUpe3JldHVybiBndChoKHQse3R5cGU6Impzb24ifSksZSl9LHQuZ2V0UmVmZXJyZXI9aHQsdC5nZXRWaWRlbz1mdW5jdGlvbih0LGUpe3ZhciByLG4sYT1zZWxmLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZpZGVvIik7YS5tdXRlZD0hMCxhLm9ubG9hZHN0YXJ0PWZ1bmN0aW9uKCl7ZShudWxsLGEpfTtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIG89c2VsZi5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzb3VyY2UiKTtyPXRbaV0sbj12b2lkIDAsKG49c2VsZi5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikpLmhyZWY9ciwobi5wcm90b2NvbCE9PXNlbGYuZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2x8fG4uaG9zdCE9PXNlbGYuZG9jdW1lbnQubG9jYXRpb24uaG9zdCkmJihhLmNyb3NzT3JpZ2luPSJBbm9ueW1vdXMiKSxvLnNyYz10W2ldLGEuYXBwZW5kQ2hpbGQobyl9cmV0dXJue2NhbmNlbDpmdW5jdGlvbigpe319fSx0LmlkZW50aXR5PWZ1bmN0aW9uKHQpe3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0wLHRbNV09MSx0WzZdPTAsdFs3XT0wLHRbOF09MCx0WzldPTAsdFsxMF09MSx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0XT0wLHRbMTVdPTEsdH0sdC5pbnZlcnQ9ZnVuY3Rpb24odCxlKXt2YXIgcj1lWzBdLG49ZVsxXSxhPWVbMl0saT1lWzNdLG89ZVs0XSxzPWVbNV0sbD1lWzZdLGM9ZVs3XSx1PWVbOF0saD1lWzldLGY9ZVsxMF0scD1lWzExXSxkPWVbMTJdLGc9ZVsxM10sdj1lWzE0XSxtPWVbMTVdLHk9cipzLW4qbyx4PXIqbC1hKm8sYj1yKmMtaSpvLF89bipsLWEqcyx3PW4qYy1pKnMsaz1hKmMtaSpsLFQ9dSpnLWgqZCxNPXUqdi1mKmQsQT11Km0tcCpkLFM9aCp2LWYqZyxFPWgqbS1wKmcsTD1mKm0tcCp2LEM9eSpMLXgqRStiKlMrXypBLXcqTStrKlQ7cmV0dXJuIEM/KEM9MS9DLHRbMF09KHMqTC1sKkUrYypTKSpDLHRbMV09KGEqRS1uKkwtaSpTKSpDLHRbMl09KGcqay12KncrbSpfKSpDLHRbM109KGYqdy1oKmstcCpfKSpDLHRbNF09KGwqQS1vKkwtYypNKSpDLHRbNV09KHIqTC1hKkEraSpNKSpDLHRbNl09KHYqYi1kKmstbSp4KSpDLHRbN109KHUqay1mKmIrcCp4KSpDLHRbOF09KG8qRS1zKkErYypUKSpDLHRbOV09KG4qQS1yKkUtaSpUKSpDLHRbMTBdPShkKnctZypiK20qeSkqQyx0WzExXT0oaCpiLXUqdy1wKnkpKkMsdFsxMl09KHMqTS1vKlMtbCpUKSpDLHRbMTNdPShyKlMtbipNK2EqVCkqQyx0WzE0XT0oZyp4LWQqXy12KnkpKkMsdFsxNV09KHUqXy1oKngrZip5KSpDLHQpOm51bGx9LHQuaXNDaGFyPXhuLHQuaXNNYXBib3hVUkw9VSx0LmtleXNEaWZmZXJlbmNlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9W107Zm9yKHZhciBuIGluIHQpbiBpbiBlfHxyLnB1c2gobik7cmV0dXJuIHJ9LHQubWFrZVJlcXVlc3Q9Z3QsdC5tYXBPYmplY3Q9eSx0Lm1lcmNhdG9yWGZyb21Mbmc9TGwsdC5tZXJjYXRvcllmcm9tTGF0PUNsLHQubWVyY2F0b3JaZnJvbUFsdGl0dWRlPVBsLHQubXVsdGlwbHk9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPWVbMF0sYT1lWzFdLGk9ZVsyXSxvPWVbM10scz1lWzRdLGw9ZVs1XSxjPWVbNl0sdT1lWzddLGg9ZVs4XSxmPWVbOV0scD1lWzEwXSxkPWVbMTFdLGc9ZVsxMl0sdj1lWzEzXSxtPWVbMTRdLHk9ZVsxNV0seD1yWzBdLGI9clsxXSxfPXJbMl0sdz1yWzNdO3JldHVybiB0WzBdPXgqbitiKnMrXypoK3cqZyx0WzFdPXgqYStiKmwrXypmK3cqdix0WzJdPXgqaStiKmMrXypwK3cqbSx0WzNdPXgqbytiKnUrXypkK3cqeSx4PXJbNF0sYj1yWzVdLF89cls2XSx3PXJbN10sdFs0XT14Km4rYipzK18qaCt3KmcsdFs1XT14KmErYipsK18qZit3KnYsdFs2XT14KmkrYipjK18qcCt3Km0sdFs3XT14Km8rYip1K18qZCt3KnkseD1yWzhdLGI9cls5XSxfPXJbMTBdLHc9clsxMV0sdFs4XT14Km4rYipzK18qaCt3KmcsdFs5XT14KmErYipsK18qZit3KnYsdFsxMF09eCppK2IqYytfKnArdyptLHRbMTFdPXgqbytiKnUrXypkK3cqeSx4PXJbMTJdLGI9clsxM10sXz1yWzE0XSx3PXJbMTVdLHRbMTJdPXgqbitiKnMrXypoK3cqZyx0WzEzXT14KmErYipsK18qZit3KnYsdFsxNF09eCppK2IqYytfKnArdyptLHRbMTVdPXgqbytiKnUrXypkK3cqeSx0fSx0Lm12dD1Jbyx0Lm51bWJlcj15ZSx0Lm9ydGhvPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8pe3ZhciBzPTEvKGUtciksbD0xLyhuLWEpLGM9MS8oaS1vKTtyZXR1cm4gdFswXT0tMipzLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09MCx0WzVdPS0yKmwsdFs2XT0wLHRbN109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPTIqYyx0WzExXT0wLHRbMTJdPShlK3IpKnMsdFsxM109KGErbikqbCx0WzE0XT0obytpKSpjLHRbMTVdPTEsdH0sdC5wYXJzZUdseXBoUEJGPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgdGwodCkucmVhZEZpZWxkcyh5bCxbXSl9LHQucGJmPXRsLHQucGVyZm9ybVN5bWJvbExheW91dD1mdW5jdGlvbih0LGUscixuLGksbyl7dC5jcmVhdGVBcnJheXMoKTt2YXIgcz01MTIqdC5vdmVyc2NhbGluZzt0LnRpbGVQaXhlbFJhdGlvPWVpL3MsdC5jb21wYXJlVGV4dD17fSx0Lmljb25zTmVlZExpbmVhcj0hMTt2YXIgbD10LmxheWVyc1swXS5sYXlvdXQsYz10LmxheWVyc1swXS5fdW5ldmFsdWF0ZWRMYXlvdXQuX3ZhbHVlcyx1PXt9O2lmKCJjb21wb3NpdGUiPT09dC50ZXh0U2l6ZURhdGEua2luZCl7dmFyIGg9dC50ZXh0U2l6ZURhdGEsZj1oLm1pblpvb20scD1oLm1heFpvb207dS5jb21wb3NpdGVUZXh0U2l6ZXM9W2NbInRleHQtc2l6ZSJdLnBvc3NpYmx5RXZhbHVhdGUobmV3IFBuKGYpKSxjWyJ0ZXh0LXNpemUiXS5wb3NzaWJseUV2YWx1YXRlKG5ldyBQbihwKSldfWlmKCJjb21wb3NpdGUiPT09dC5pY29uU2l6ZURhdGEua2luZCl7dmFyIGQ9dC5pY29uU2l6ZURhdGEsZz1kLm1pblpvb20sdj1kLm1heFpvb207dS5jb21wb3NpdGVJY29uU2l6ZXM9W2NbImljb24tc2l6ZSJdLnBvc3NpYmx5RXZhbHVhdGUobmV3IFBuKGcpKSxjWyJpY29uLXNpemUiXS5wb3NzaWJseUV2YWx1YXRlKG5ldyBQbih2KSldfXUubGF5b3V0VGV4dFNpemU9Y1sidGV4dC1zaXplIl0ucG9zc2libHlFdmFsdWF0ZShuZXcgUG4odC56b29tKzEpKSx1LmxheW91dEljb25TaXplPWNbImljb24tc2l6ZSJdLnBvc3NpYmx5RXZhbHVhdGUobmV3IFBuKHQuem9vbSsxKSksdS50ZXh0TWF4U2l6ZT1jWyJ0ZXh0LXNpemUiXS5wb3NzaWJseUV2YWx1YXRlKG5ldyBQbigxOCkpO2Zvcih2YXIgbT1sLmdldCgidGV4dC1saW5lLWhlaWdodCIpKmxzLHk9Im1hcCI9PT1sLmdldCgidGV4dC1yb3RhdGlvbi1hbGlnbm1lbnQiKSYmInBvaW50IiE9PWwuZ2V0KCJzeW1ib2wtcGxhY2VtZW50IikseD1sLmdldCgidGV4dC1rZWVwLXVwcmlnaHQiKSxiPWZ1bmN0aW9uKCl7dmFyIG89a1tfXSxzPWwuZ2V0KCJ0ZXh0LWZvbnQiKS5ldmFsdWF0ZShvLHt9KS5qb2luKCIsIiksYz1yLGg9e2hvcml6b250YWw6e30sdmVydGljYWw6dm9pZCAwfSxmPW8udGV4dCxwPVswLDBdO2lmKGYpe3ZhciBkPWYudG9TdHJpbmcoKSxnPWwuZ2V0KCJ0ZXh0LWxldHRlci1zcGFjaW5nIikuZXZhbHVhdGUobyx7fSkqbHMsdj1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPWQ7ZTxyLmxlbmd0aDtlKz0xKWlmKCFfbihyW2VdLmNoYXJDb2RlQXQoMCkpKXJldHVybiExO3JldHVybiEwfSgpP2c6MCxiPWwuZ2V0KCJ0ZXh0LWFuY2hvciIpLmV2YWx1YXRlKG8se30pLFQ9bC5nZXQoInRleHQtdmFyaWFibGUtYW5jaG9yIiksTT1sLmdldCgidGV4dC1yYWRpYWwtb2Zmc2V0IikuZXZhbHVhdGUobyx7fSk7VHx8KHA9TT9mYyhiLE0qbHMpOmwuZ2V0KCJ0ZXh0LW9mZnNldCIpLmV2YWx1YXRlKG8se30pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdCpsc30pKTt2YXIgQT15PyJjZW50ZXIiOmwuZ2V0KCJ0ZXh0LWp1c3RpZnkiKS5ldmFsdWF0ZShvLHt9KSxTPSJwb2ludCI9PT1sLmdldCgic3ltYm9sLXBsYWNlbWVudCIpP2wuZ2V0KCJ0ZXh0LW1heC13aWR0aCIpLmV2YWx1YXRlKG8se30pKmxzOjAsRT1mdW5jdGlvbigpe3QuYWxsb3dWZXJ0aWNhbFBsYWNlbWVudCYmYm4oZCkmJihoLnZlcnRpY2FsPWhzKGYsZSxzLFMsbSxiLCJsZWZ0Iix2LHAsY3MudmVydGljYWwsITApKX07aWYoIXkmJlQpe2Zvcih2YXIgTD0iYXV0byI9PT1BP1QubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBwYyh0KX0pOltBXSxDPSExLFA9MDtQPEwubGVuZ3RoO1ArKyl7dmFyIE89TFtQXTtpZighaC5ob3Jpem9udGFsW09dKWlmKEMpaC5ob3Jpem9udGFsW09dPWguaG9yaXpvbnRhbFswXTtlbHNle3ZhciB6PWhzKGYsZSxzLFMsbSwiY2VudGVyIixPLHYscCxjcy5ob3Jpem9udGFsLCExKTt6JiYoaC5ob3Jpem9udGFsW09dPXosQz0xPT09ei5saW5lQ291bnQpfX1FKCl9ZWxzZXsiYXV0byI9PT1BJiYoQT1wYyhiKSk7dmFyIEk9aHMoZixlLHMsUyxtLGIsQSx2LHAsY3MuaG9yaXpvbnRhbCwhMSk7SSYmKGguaG9yaXpvbnRhbFtBXT1JKSxFKCksYm4oZCkmJnkmJngmJihoLnZlcnRpY2FsPWhzKGYsZSxzLFMsbSxiLEEsdixwLGNzLnZlcnRpY2FsLCExKSl9fXZhciBEPXZvaWQgMDtpZihvLmljb24pe3ZhciBSPW5bby5pY29uXTtSJiYoRD1mdW5jdGlvbih0LGUscil7dmFyIG49eXMociksYT1uLmhvcml6b250YWxBbGlnbixpPW4udmVydGljYWxBbGlnbixvPWVbMF0scz1lWzFdLGw9by10LmRpc3BsYXlTaXplWzBdKmEsYz1sK3QuZGlzcGxheVNpemVbMF0sdT1zLXQuZGlzcGxheVNpemVbMV0qaTtyZXR1cm57aW1hZ2U6dCx0b3A6dSxib3R0b206dSt0LmRpc3BsYXlTaXplWzFdLGxlZnQ6bCxyaWdodDpjfX0oaVtvLmljb25dLGwuZ2V0KCJpY29uLW9mZnNldCIpLmV2YWx1YXRlKG8se30pLGwuZ2V0KCJpY29uLWFuY2hvciIpLmV2YWx1YXRlKG8se30pKSx2b2lkIDA9PT10LnNkZkljb25zP3Quc2RmSWNvbnM9Ui5zZGY6dC5zZGZJY29ucyE9PVIuc2RmJiZ3KCJTdHlsZSBzaGVldCB3YXJuaW5nOiBDYW5ub3QgbWl4IFNERiBhbmQgbm9uLVNERiBpY29ucyBpbiBvbmUgYnVmZmVyIiksUi5waXhlbFJhdGlvIT09dC5waXhlbFJhdGlvP3QuaWNvbnNOZWVkTGluZWFyPSEwOjAhPT1sLmdldCgiaWNvbi1yb3RhdGUiKS5jb25zdGFudE9yKDEpJiYodC5pY29uc05lZWRMaW5lYXI9ITApKX0oT2JqZWN0LmtleXMoaC5ob3Jpem9udGFsKS5sZW5ndGh8fEQpJiZmdW5jdGlvbih0LGUscixuLGksbyxzKXt2YXIgbD1vLmxheW91dFRleHRTaXplLmV2YWx1YXRlKGUse30pLGM9by5sYXlvdXRJY29uU2l6ZS5ldmFsdWF0ZShlLHt9KSx1PW8udGV4dE1heFNpemUuZXZhbHVhdGUoZSx7fSk7dm9pZCAwPT09dSYmKHU9bCk7dmFyIGg9dC5sYXllcnNbMF0ubGF5b3V0LGY9aC5nZXQoImljb24tb2Zmc2V0IikuZXZhbHVhdGUoZSx7fSkscD12YyhyLmhvcml6b250YWwpLGQ9bC8yNCxnPXQudGlsZVBpeGVsUmF0aW8qZCx2PXQudGlsZVBpeGVsUmF0aW8qdS8yNCxtPXQudGlsZVBpeGVsUmF0aW8qYyx5PXQudGlsZVBpeGVsUmF0aW8qaC5nZXQoInN5bWJvbC1zcGFjaW5nIikseD1oLmdldCgidGV4dC1wYWRkaW5nIikqdC50aWxlUGl4ZWxSYXRpbyxiPWguZ2V0KCJpY29uLXBhZGRpbmciKSp0LnRpbGVQaXhlbFJhdGlvLF89aC5nZXQoInRleHQtbWF4LWFuZ2xlIikvMTgwKk1hdGguUEksaz0ibWFwIj09PWguZ2V0KCJ0ZXh0LXJvdGF0aW9uLWFsaWdubWVudCIpJiYicG9pbnQiIT09aC5nZXQoInN5bWJvbC1wbGFjZW1lbnQiKSxUPSJtYXAiPT09aC5nZXQoImljb24tcm90YXRpb24tYWxpZ25tZW50IikmJiJwb2ludCIhPT1oLmdldCgic3ltYm9sLXBsYWNlbWVudCIpLE09aC5nZXQoInN5bWJvbC1wbGFjZW1lbnQiKSxBPXkvMixTPWZ1bmN0aW9uKGwsYyl7Yy54PDB8fGMueD49ZWl8fGMueTwwfHxjLnk+PWVpfHxmdW5jdGlvbih0LGUscixuLGksbyxzLGwsYyx1LGgsZixwLGQsZyx2LG0seSx4LGIsXyl7dmFyIGssVCxNLEE9dC5hZGRUb0xpbmVWZXJ0ZXhBcnJheShlLHIpLFM9MCxFPTAsTD0wLEM9e30sUD1sYygiIiksTz0oby5sYXlvdXQuZ2V0KCJ0ZXh0LXJhZGlhbC1vZmZzZXQiKS5ldmFsdWF0ZSh4LHt9KXx8MCkqbHM7aWYodC5hbGxvd1ZlcnRpY2FsUGxhY2VtZW50JiZuLnZlcnRpY2FsKXt2YXIgej1vLmxheW91dC5nZXQoInRleHQtcm90YXRlIikuZXZhbHVhdGUoeCx7fSkrOTAsST1uLnZlcnRpY2FsO009bmV3IHRjKHMscixlLGwsYyx1LEksaCxmLHAsdC5vdmVyc2NhbGluZyx6KX1mb3IodmFyIEQgaW4gbi5ob3Jpem9udGFsKXt2YXIgUj1uLmhvcml6b250YWxbRF07aWYoIWspe1A9bGMoUi50ZXh0KTt2YXIgRj1vLmxheW91dC5nZXQoInRleHQtcm90YXRlIikuZXZhbHVhdGUoeCx7fSk7az1uZXcgdGMocyxyLGUsbCxjLHUsUixoLGYscCx0Lm92ZXJzY2FsaW5nLEYpfXZhciBCPTE9PT1SLmxpbmVDb3VudDtpZihFKz1nYyh0LGUsUixvLHAseCxkLEEsbi52ZXJ0aWNhbD9jcy5ob3Jpem9udGFsOmNzLmhvcml6b250YWxPbmx5LEI/T2JqZWN0LmtleXMobi5ob3Jpem9udGFsKTpbRF0sQyxiLF8pLEIpYnJlYWt9bi52ZXJ0aWNhbCYmKEwrPWdjKHQsZSxuLnZlcnRpY2FsLG8scCx4LGQsQSxjcy52ZXJ0aWNhbCxbInZlcnRpY2FsIl0sQyxiLF8pKTt2YXIgTj1rP2suYm94U3RhcnRJbmRleDp0LmNvbGxpc2lvbkJveEFycmF5Lmxlbmd0aCxqPWs/ay5ib3hFbmRJbmRleDp0LmNvbGxpc2lvbkJveEFycmF5Lmxlbmd0aCxWPU0/TS5ib3hTdGFydEluZGV4OnQuY29sbGlzaW9uQm94QXJyYXkubGVuZ3RoLFU9TT9NLmJveEVuZEluZGV4OnQuY29sbGlzaW9uQm94QXJyYXkubGVuZ3RoO2lmKGkpe3ZhciBxPWZ1bmN0aW9uKHQsZSxyLG4saSxvKXt2YXIgcyxsLGMsdSxoPWUuaW1hZ2UsZj1yLmxheW91dCxwPWUudG9wLTEvaC5waXhlbFJhdGlvLGQ9ZS5sZWZ0LTEvaC5waXhlbFJhdGlvLGc9ZS5ib3R0b20rMS9oLnBpeGVsUmF0aW8sdj1lLnJpZ2h0KzEvaC5waXhlbFJhdGlvO2lmKCJub25lIiE9PWYuZ2V0KCJpY29uLXRleHQtZml0IikmJmkpe3ZhciBtPXYtZCx5PWctcCx4PWYuZ2V0KCJ0ZXh0LXNpemUiKS5ldmFsdWF0ZShvLHt9KS8yNCxiPWkubGVmdCp4LF89aS5yaWdodCp4LHc9aS50b3AqeCxrPV8tYixUPWkuYm90dG9tKngtdyxNPWYuZ2V0KCJpY29uLXRleHQtZml0LXBhZGRpbmciKVswXSxBPWYuZ2V0KCJpY29uLXRleHQtZml0LXBhZGRpbmciKVsxXSxTPWYuZ2V0KCJpY29uLXRleHQtZml0LXBhZGRpbmciKVsyXSxFPWYuZ2V0KCJpY29uLXRleHQtZml0LXBhZGRpbmciKVszXSxMPSJ3aWR0aCI9PT1mLmdldCgiaWNvbi10ZXh0LWZpdCIpPy41KihULXkpOjAsQz0iaGVpZ2h0Ij09PWYuZ2V0KCJpY29uLXRleHQtZml0Iik/LjUqKGstbSk6MCxQPSJ3aWR0aCI9PT1mLmdldCgiaWNvbi10ZXh0LWZpdCIpfHwiYm90aCI9PT1mLmdldCgiaWNvbi10ZXh0LWZpdCIpP2s6bSxPPSJoZWlnaHQiPT09Zi5nZXQoImljb24tdGV4dC1maXQiKXx8ImJvdGgiPT09Zi5nZXQoImljb24tdGV4dC1maXQiKT9UOnk7cz1uZXcgYShiK0MtRSx3K0wtTSksbD1uZXcgYShiK0MrQStQLHcrTC1NKSxjPW5ldyBhKGIrQytBK1AsdytMK1MrTyksdT1uZXcgYShiK0MtRSx3K0wrUytPKX1lbHNlIHM9bmV3IGEoZCxwKSxsPW5ldyBhKHYscCksYz1uZXcgYSh2LGcpLHU9bmV3IGEoZCxnKTt2YXIgej1yLmxheW91dC5nZXQoImljb24tcm90YXRlIikuZXZhbHVhdGUobyx7fSkqTWF0aC5QSS8xODA7aWYoeil7dmFyIEk9TWF0aC5zaW4oeiksRD1NYXRoLmNvcyh6KSxSPVtELC1JLEksRF07cy5fbWF0TXVsdChSKSxsLl9tYXRNdWx0KFIpLHUuX21hdE11bHQoUiksYy5fbWF0TXVsdChSKX1yZXR1cm5be3RsOnMsdHI6bCxibDp1LGJyOmMsdGV4OmgucGFkZGVkUmVjdCx3cml0aW5nTW9kZTp2b2lkIDAsZ2x5cGhPZmZzZXQ6WzAsMF0sc2VjdGlvbkluZGV4OjB9XX0oMCxpLG8sMCx2YyhuLmhvcml6b250YWwpLHgpLEg9by5sYXlvdXQuZ2V0KCJpY29uLXJvdGF0ZSIpLmV2YWx1YXRlKHgse30pO1Q9bmV3IHRjKHMscixlLGwsYyx1LGksZyx2LCExLHQub3ZlcnNjYWxpbmcsSCksUz00KnEubGVuZ3RoO3ZhciBHPXQuaWNvblNpemVEYXRhLFk9bnVsbDsic291cmNlIj09PUcua2luZD8oWT1bX3Mqby5sYXlvdXQuZ2V0KCJpY29uLXNpemUiKS5ldmFsdWF0ZSh4LHt9KV0pWzBdPmRjJiZ3KHQubGF5ZXJJZHNbMF0rJzogVmFsdWUgZm9yICJpY29uLXNpemUiIGlzID49IDI1Ni4gUmVkdWNlIHlvdXIgImljb24tc2l6ZSIuJyk6ImNvbXBvc2l0ZSI9PT1HLmtpbmQmJigoWT1bX3MqXy5jb21wb3NpdGVJY29uU2l6ZXNbMF0uZXZhbHVhdGUoeCx7fSksX3MqXy5jb21wb3NpdGVJY29uU2l6ZXNbMV0uZXZhbHVhdGUoeCx7fSldKVswXT5kY3x8WVsxXT5kYykmJncodC5sYXllcklkc1swXSsnOiBWYWx1ZSBmb3IgImljb24tc2l6ZSIgaXMgPj0gMjU2LiBSZWR1Y2UgeW91ciAiaWNvbi1zaXplIi4nKSx0LmFkZFN5bWJvbHModC5pY29uLHEsWSx5LG0seCwhMSxlLEEubGluZVN0YXJ0SW5kZXgsQS5saW5lTGVuZ3RoKX12YXIgVz1UP1QuYm94U3RhcnRJbmRleDp0LmNvbGxpc2lvbkJveEFycmF5Lmxlbmd0aCxYPVQ/VC5ib3hFbmRJbmRleDp0LmNvbGxpc2lvbkJveEFycmF5Lmxlbmd0aDt0LmdseXBoT2Zmc2V0QXJyYXkubGVuZ3RoPj1Pcy5NQVhfR0xZUEhTJiZ3KCJUb28gbWFueSBnbHlwaHMgYmVpbmcgcmVuZGVyZWQgaW4gYSB0aWxlLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL21hcGJveC9tYXBib3gtZ2wtanMvaXNzdWVzLzI5MDciKSx0LnN5bWJvbEluc3RhbmNlcy5lbXBsYWNlQmFjayhlLngsZS55LEMucmlnaHQ+PTA/Qy5yaWdodDotMSxDLmNlbnRlcj49MD9DLmNlbnRlcjotMSxDLmxlZnQ+PTA/Qy5sZWZ0Oi0xLEMudmVydGljYWx8fC0xLFAsTixqLFYsVSxXLFgsbCxFLEwsUywwLGgsTyl9KHQsYyxsLHIsbix0LmxheWVyc1swXSx0LmNvbGxpc2lvbkJveEFycmF5LGUuaW5kZXgsZS5zb3VyY2VMYXllckluZGV4LHQuaW5kZXgsZyx4LGsscyxtLGIsVCxmLGUsaSxvKX07aWYoImxpbmUiPT09TSlmb3IodmFyIEU9MCxMPWZ1bmN0aW9uKHQsZSxyLG4saSl7Zm9yKHZhciBvPVtdLHM9MDtzPHQubGVuZ3RoO3MrKylmb3IodmFyIGw9dFtzXSxjPXZvaWQgMCx1PTA7dTxsLmxlbmd0aC0xO3UrKyl7dmFyIGg9bFt1XSxmPWxbdSsxXTtoLng8MCYmZi54PDB8fChoLng8MD9oPW5ldyBhKDAsaC55KyhmLnktaC55KSooKDAtaC54KS8oZi54LWgueCkpKS5fcm91bmQoKTpmLng8MCYmKGY9bmV3IGEoMCxoLnkrKGYueS1oLnkpKigoMC1oLngpLyhmLngtaC54KSkpLl9yb3VuZCgpKSxoLnk8MCYmZi55PDB8fChoLnk8MD9oPW5ldyBhKGgueCsoZi54LWgueCkqKCgwLWgueSkvKGYueS1oLnkpKSwwKS5fcm91bmQoKTpmLnk8MCYmKGY9bmV3IGEoaC54KyhmLngtaC54KSooKDAtaC55KS8oZi55LWgueSkpLDApLl9yb3VuZCgpKSxoLng+PW4mJmYueD49bnx8KGgueD49bj9oPW5ldyBhKG4saC55KyhmLnktaC55KSooKG4taC54KS8oZi54LWgueCkpKS5fcm91bmQoKTpmLng+PW4mJihmPW5ldyBhKG4saC55KyhmLnktaC55KSooKG4taC54KS8oZi54LWgueCkpKS5fcm91bmQoKSksaC55Pj1pJiZmLnk+PWl8fChoLnk+PWk/aD1uZXcgYShoLngrKGYueC1oLngpKigoaS1oLnkpLyhmLnktaC55KSksaSkuX3JvdW5kKCk6Zi55Pj1pJiYoZj1uZXcgYShoLngrKGYueC1oLngpKigoaS1oLnkpLyhmLnktaC55KSksaSkuX3JvdW5kKCkpLGMmJmguZXF1YWxzKGNbYy5sZW5ndGgtMV0pfHwoYz1baF0sby5wdXNoKGMpKSxjLnB1c2goZikpKSkpfXJldHVybiBvfShlLmdlb21ldHJ5LDAsMCxlaSxlaSk7RTxMLmxlbmd0aDtFKz0xKWZvcih2YXIgQz1MW0VdLFA9MCxPPSRsKEMseSxfLHIudmVydGljYWx8fHAsbiwyNCx2LHQub3ZlcnNjYWxpbmcsZWkpO1A8Ty5sZW5ndGg7UCs9MSl7dmFyIHo9T1tQXTtwJiZtYyh0LHAudGV4dCxBLHopfHxTKEMseil9ZWxzZSBpZigibGluZS1jZW50ZXIiPT09TSlmb3IodmFyIEk9MCxEPWUuZ2VvbWV0cnk7STxELmxlbmd0aDtJKz0xKXt2YXIgUj1EW0ldO2lmKFIubGVuZ3RoPjEpe3ZhciBGPVFsKFIsXyxyLnZlcnRpY2FsfHxwLG4sMjQsdik7RiYmUyhSLEYpfX1lbHNlIGlmKCJQb2x5Z29uIj09PWUudHlwZSlmb3IodmFyIEI9MCxOPW1vKGUuZ2VvbWV0cnksMCk7QjxOLmxlbmd0aDtCKz0xKXt2YXIgaj1OW0JdLFY9bmMoaiwxNik7UyhqWzBdLG5ldyBicyhWLngsVi55LDApKX1lbHNlIGlmKCJMaW5lU3RyaW5nIj09PWUudHlwZSlmb3IodmFyIFU9MCxxPWUuZ2VvbWV0cnk7VTxxLmxlbmd0aDtVKz0xKXt2YXIgSD1xW1VdO1MoSCxuZXcgYnMoSFswXS54LEhbMF0ueSwwKSl9ZWxzZSBpZigiUG9pbnQiPT09ZS50eXBlKWZvcih2YXIgRz0wLFk9ZS5nZW9tZXRyeTtHPFkubGVuZ3RoO0crPTEpZm9yKHZhciBXPTAsWD1ZW0ddO1c8WC5sZW5ndGg7Vys9MSl7dmFyIFo9WFtXXTtTKFtaXSxuZXcgYnMoWi54LFoueSwwKSl9fSh0LG8saCxELGMsdSxwKX0sXz0wLGs9dC5mZWF0dXJlcztfPGsubGVuZ3RoO18rPTEpYigpO28mJnQuZ2VuZXJhdGVDb2xsaXNpb25EZWJ1Z0J1ZmZlcnMoKX0sdC5wZXJzcGVjdGl2ZT1mdW5jdGlvbih0LGUscixuLGEpe3ZhciBpLG89MS9NYXRoLnRhbihlLzIpO3JldHVybiB0WzBdPW8vcix0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs1XT1vLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0WzExXT0tMSx0WzEyXT0wLHRbMTNdPTAsdFsxNV09MCxudWxsIT1hJiZhIT09MS8wPyhpPTEvKG4tYSksdFsxMF09KGErbikqaSx0WzE0XT0yKmEqbippKToodFsxMF09LTEsdFsxNF09LTIqbiksdH0sdC5waWNrPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXt9LG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGE9ZVtuXTthIGluIHQmJihyW2FdPXRbYV0pfXJldHVybiByfSx0LnBsdWdpbj1Dbix0LnBvbHlnb25JbnRlcnNlY3RzUG9seWdvbj1vaSx0LnBvc3RNYXBMb2FkRXZlbnQ9ZXQsdC5wb3N0VHVybnN0aWxlRXZlbnQ9JCx0LnBvdHBhY2s9cXMsdC5yYXN0ZXJCb3VuZHNBdHRyaWJ1dGVzPU5sLHQucmVmUHJvcGVydGllcz1bInR5cGUiLCJzb3VyY2UiLCJzb3VyY2UtbGF5ZXIiLCJtaW56b29tIiwibWF4em9vbSIsImZpbHRlciIsImxheW91dCJdLHQucmVnaXN0ZXI9ZG4sdC5yZWdpc3RlckZvclBsdWdpbkF2YWlsYWJpbGl0eT1mdW5jdGlvbih0KXtyZXR1cm4gU24/dCh7cGx1Z2luVVJMOlNuLGNvbXBsZXRpb25DYWxsYmFjazpNbn0pOkxuLm9uY2UoInBsdWdpbkF2YWlsYWJsZSIsdCksdH0sdC5yb3RhdGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPWVbMF0sYT1lWzFdLGk9ZVsyXSxvPWVbM10scz1NYXRoLnNpbihyKSxsPU1hdGguY29zKHIpO3JldHVybiB0WzBdPW4qbCtpKnMsdFsxXT1hKmwrbypzLHRbMl09biotcytpKmwsdFszXT1hKi1zK28qbCx0fSx0LnJvdGF0ZVg9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPU1hdGguc2luKHIpLGE9TWF0aC5jb3MociksaT1lWzRdLG89ZVs1XSxzPWVbNl0sbD1lWzddLGM9ZVs4XSx1PWVbOV0saD1lWzEwXSxmPWVbMTFdO3JldHVybiBlIT09dCYmKHRbMF09ZVswXSx0WzFdPWVbMV0sdFsyXT1lWzJdLHRbM109ZVszXSx0WzEyXT1lWzEyXSx0WzEzXT1lWzEzXSx0WzE0XT1lWzE0XSx0WzE1XT1lWzE1XSksdFs0XT1pKmErYypuLHRbNV09byphK3Uqbix0WzZdPXMqYStoKm4sdFs3XT1sKmErZipuLHRbOF09YyphLWkqbix0WzldPXUqYS1vKm4sdFsxMF09aCphLXMqbix0WzExXT1mKmEtbCpuLHR9LHQucm90YXRlWj1mdW5jdGlvbih0LGUscil7dmFyIG49TWF0aC5zaW4ociksYT1NYXRoLmNvcyhyKSxpPWVbMF0sbz1lWzFdLHM9ZVsyXSxsPWVbM10sYz1lWzRdLHU9ZVs1XSxoPWVbNl0sZj1lWzddO3JldHVybiBlIT09dCYmKHRbOF09ZVs4XSx0WzldPWVbOV0sdFsxMF09ZVsxMF0sdFsxMV09ZVsxMV0sdFsxMl09ZVsxMl0sdFsxM109ZVsxM10sdFsxNF09ZVsxNF0sdFsxNV09ZVsxNV0pLHRbMF09aSphK2Mqbix0WzFdPW8qYSt1Km4sdFsyXT1zKmEraCpuLHRbM109bCphK2Yqbix0WzRdPWMqYS1pKm4sdFs1XT11KmEtbypuLHRbNl09aCphLXMqbix0WzddPWYqYS1sKm4sdH0sdC5zY2FsZT1mdW5jdGlvbih0LGUscil7dmFyIG49clswXSxhPXJbMV0saT1yWzJdO3JldHVybiB0WzBdPWVbMF0qbix0WzFdPWVbMV0qbix0WzJdPWVbMl0qbix0WzNdPWVbM10qbix0WzRdPWVbNF0qYSx0WzVdPWVbNV0qYSx0WzZdPWVbNl0qYSx0WzddPWVbN10qYSx0WzhdPWVbOF0qaSx0WzldPWVbOV0qaSx0WzEwXT1lWzEwXSppLHRbMTFdPWVbMTFdKmksdFsxMl09ZVsxMl0sdFsxM109ZVsxM10sdFsxNF09ZVsxNF0sdFsxNV09ZVsxNV0sdH0sdC5zZXRDYWNoZUxpbWl0cz1mdW5jdGlvbih0LGUpe250PXQsYXQ9ZX0sdC5zZXRSVExUZXh0UGx1Z2luPWZ1bmN0aW9uKHQsZSl7aWYoQW4pdGhyb3cgbmV3IEVycm9yKCJzZXRSVExUZXh0UGx1Z2luIGNhbm5vdCBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMuIik7QW49ITAsU249SS5yZXNvbHZlVVJMKHQpLE1uPWZ1bmN0aW9uKHQpe3Q/KEFuPSExLFNuPW51bGwsZSYmZSh0KSk6RW49ITB9LExuLmZpcmUobmV3IF90KCJwbHVnaW5BdmFpbGFibGUiLHtwbHVnaW5VUkw6U24sY29tcGxldGlvbkNhbGxiYWNrOk1ufSkpfSx0LnNwaGVyaWNhbFRvQ2FydGVzaWFuPWZ1bmN0aW9uKHQpe3ZhciBlPXRbMF0scj10WzFdLG49dFsyXTtyZXR1cm4gcis9OTAscio9TWF0aC5QSS8xODAsbio9TWF0aC5QSS8xODAse3g6ZSpNYXRoLmNvcyhyKSpNYXRoLnNpbihuKSx5OmUqTWF0aC5zaW4ocikqTWF0aC5zaW4obiksejplKk1hdGguY29zKG4pfX0sdC5zdHlsZVNwZWM9VHQsdC5zeW1ib2xTaXplPU1zLHQudHJhbnNmb3JtTWF0Mz1mdW5jdGlvbih0LGUscil7dmFyIG49ZVswXSxhPWVbMV0saT1lWzJdO3JldHVybiB0WzBdPW4qclswXSthKnJbM10raSpyWzZdLHRbMV09bipyWzFdK2Eqcls0XStpKnJbN10sdFsyXT1uKnJbMl0rYSpyWzVdK2kqcls4XSx0fSx0LnRyYW5zZm9ybU1hdDQ9VGksdC50cmFuc2xhdGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGEsaSxvLHMsbCxjLHUsaCxmLHAsZCxnPXJbMF0sdj1yWzFdLG09clsyXTtyZXR1cm4gZT09PXQ/KHRbMTJdPWVbMF0qZytlWzRdKnYrZVs4XSptK2VbMTJdLHRbMTNdPWVbMV0qZytlWzVdKnYrZVs5XSptK2VbMTNdLHRbMTRdPWVbMl0qZytlWzZdKnYrZVsxMF0qbStlWzE0XSx0WzE1XT1lWzNdKmcrZVs3XSp2K2VbMTFdKm0rZVsxNV0pOihuPWVbMF0sYT1lWzFdLGk9ZVsyXSxvPWVbM10scz1lWzRdLGw9ZVs1XSxjPWVbNl0sdT1lWzddLGg9ZVs4XSxmPWVbOV0scD1lWzEwXSxkPWVbMTFdLHRbMF09bix0WzFdPWEsdFsyXT1pLHRbM109byx0WzRdPXMsdFs1XT1sLHRbNl09Yyx0WzddPXUsdFs4XT1oLHRbOV09Zix0WzEwXT1wLHRbMTFdPWQsdFsxMl09bipnK3MqditoKm0rZVsxMl0sdFsxM109YSpnK2wqditmKm0rZVsxM10sdFsxNF09aSpnK2MqditwKm0rZVsxNF0sdFsxNV09bypnK3UqditkKm0rZVsxNV0pLHR9LHQudW5pcXVlSWQ9cCx0LnZhbGlkYXRlQ3VzdG9tU3R5bGVMYXllcj1mdW5jdGlvbih0KXt2YXIgZT1bXSxyPXQuaWQ7cmV0dXJuIHZvaWQgMD09PXImJmUucHVzaCh7bWVzc2FnZToibGF5ZXJzLiIrcisnOiBtaXNzaW5nIHJlcXVpcmVkIHByb3BlcnR5ICJpZCInfSksdm9pZCAwPT09dC5yZW5kZXImJmUucHVzaCh7bWVzc2FnZToibGF5ZXJzLiIrcisnOiBtaXNzaW5nIHJlcXVpcmVkIG1ldGhvZCAicmVuZGVyIid9KSx0LnJlbmRlcmluZ01vZGUmJiIyZCIhPT10LnJlbmRlcmluZ01vZGUmJiIzZCIhPT10LnJlbmRlcmluZ01vZGUmJmUucHVzaCh7bWVzc2FnZToibGF5ZXJzLiIrcisnOiBwcm9wZXJ0eSAicmVuZGVyaW5nTW9kZSIgbXVzdCBiZSBlaXRoZXIgIjJkIiBvciAiM2QiJ30pLGV9LHQudmFsaWRhdGVMaWdodD1hbix0LnZhbGlkYXRlU3R5bGU9bm4sdC52YWx1ZXM9ZnVuY3Rpb24odCl7dmFyIGU9W107Zm9yKHZhciByIGluIHQpZS5wdXNoKHRbcl0pO3JldHVybiBlfSx0LnZlY3RvclRpbGU9SW8sdC52ZXJzaW9uPSIxLjMuMiIsdC53YXJuT25jZT13LHQud2VicFN1cHBvcnRlZD1SLHQud2luZG93PXNlbGYsdC53cmFwPXV9KSxuKDAsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0KXt2YXIgcj10eXBlb2YgdDtpZigibnVtYmVyIj09PXJ8fCJib29sZWFuIj09PXJ8fCJzdHJpbmciPT09cnx8bnVsbD09dClyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCk7aWYoQXJyYXkuaXNBcnJheSh0KSl7Zm9yKHZhciBuPSJbIixhPTAsaT10O2E8aS5sZW5ndGg7YSs9MSluKz1lKGlbYV0pKyIsIjtyZXR1cm4gbisiXSJ9Zm9yKHZhciBvPU9iamVjdC5rZXlzKHQpLnNvcnQoKSxzPSJ7IixsPTA7bDxvLmxlbmd0aDtsKyspcys9SlNPTi5zdHJpbmdpZnkob1tsXSkrIjoiK2UodFtvW2xdXSkrIiwiO3JldHVybiBzKyJ9In1mdW5jdGlvbiByKHIpe2Zvcih2YXIgbj0iIixhPTAsaT10LnJlZlByb3BlcnRpZXM7YTxpLmxlbmd0aDthKz0xKW4rPSIvIitlKHJbaVthXV0pO3JldHVybiBufXZhciBuPWZ1bmN0aW9uKHQpe3RoaXMua2V5Q2FjaGU9e30sdCYmdGhpcy5yZXBsYWNlKHQpfTtuLnByb3RvdHlwZS5yZXBsYWNlPWZ1bmN0aW9uKHQpe3RoaXMuX2xheWVyQ29uZmlncz17fSx0aGlzLl9sYXllcnM9e30sdGhpcy51cGRhdGUodCxbXSl9LG4ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbihlLG4pe2Zvcih2YXIgYT10aGlzLGk9MCxvPWU7aTxvLmxlbmd0aDtpKz0xKXt2YXIgcz1vW2ldO3RoaXMuX2xheWVyQ29uZmlnc1tzLmlkXT1zO3ZhciBsPXRoaXMuX2xheWVyc1tzLmlkXT10LmNyZWF0ZVN0eWxlTGF5ZXIocyk7bC5fZmVhdHVyZUZpbHRlcj10LmZlYXR1cmVGaWx0ZXIobC5maWx0ZXIpLHRoaXMua2V5Q2FjaGVbcy5pZF0mJmRlbGV0ZSB0aGlzLmtleUNhY2hlW3MuaWRdfWZvcih2YXIgYz0wLHU9bjtjPHUubGVuZ3RoO2MrPTEpe3ZhciBoPXVbY107ZGVsZXRlIHRoaXMua2V5Q2FjaGVbaF0sZGVsZXRlIHRoaXMuX2xheWVyQ29uZmlnc1toXSxkZWxldGUgdGhpcy5fbGF5ZXJzW2hdfXRoaXMuZmFtaWxpZXNCeVNvdXJjZT17fTtmb3IodmFyIGY9MCxwPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXt9LGE9MDthPHQubGVuZ3RoO2ErKyl7dmFyIGk9ZSYmZVt0W2FdLmlkXXx8cih0W2FdKTtlJiYoZVt0W2FdLmlkXT1pKTt2YXIgbz1uW2ldO298fChvPW5baV09W10pLG8ucHVzaCh0W2FdKX12YXIgcz1bXTtmb3IodmFyIGwgaW4gbilzLnB1c2gobltsXSk7cmV0dXJuIHN9KHQudmFsdWVzKHRoaXMuX2xheWVyQ29uZmlncyksdGhpcy5rZXlDYWNoZSk7ZjxwLmxlbmd0aDtmKz0xKXt2YXIgZD1wW2ZdLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gYS5fbGF5ZXJzW3QuaWRdfSksZz1kWzBdO2lmKCJub25lIiE9PWcudmlzaWJpbGl0eSl7dmFyIHY9Zy5zb3VyY2V8fCIiLG09dGhpcy5mYW1pbGllc0J5U291cmNlW3ZdO218fChtPXRoaXMuZmFtaWxpZXNCeVNvdXJjZVt2XT17fSk7dmFyIHk9Zy5zb3VyY2VMYXllcnx8Il9nZW9qc29uVGlsZUxheWVyIix4PW1beV07eHx8KHg9bVt5XT1bXSkseC5wdXNoKGQpfX19O3ZhciBhPWZ1bmN0aW9uKGUpe3ZhciByPXt9LG49W107Zm9yKHZhciBhIGluIGUpe3ZhciBpPWVbYV0sbz1yW2FdPXt9O2Zvcih2YXIgcyBpbiBpKXt2YXIgbD1pWytzXTtpZihsJiYwIT09bC5iaXRtYXAud2lkdGgmJjAhPT1sLmJpdG1hcC5oZWlnaHQpe3ZhciBjPXt4OjAseTowLHc6bC5iaXRtYXAud2lkdGgrMixoOmwuYml0bWFwLmhlaWdodCsyfTtuLnB1c2goYyksb1tzXT17cmVjdDpjLG1ldHJpY3M6bC5tZXRyaWNzfX19fXZhciB1PXQucG90cGFjayhuKSxoPXUudyxmPXUuaCxwPW5ldyB0LkFscGhhSW1hZ2Uoe3dpZHRoOmh8fDEsaGVpZ2h0OmZ8fDF9KTtmb3IodmFyIGQgaW4gZSl7dmFyIGc9ZVtkXTtmb3IodmFyIHYgaW4gZyl7dmFyIG09Z1srdl07aWYobSYmMCE9PW0uYml0bWFwLndpZHRoJiYwIT09bS5iaXRtYXAuaGVpZ2h0KXt2YXIgeT1yW2RdW3ZdLnJlY3Q7dC5BbHBoYUltYWdlLmNvcHkobS5iaXRtYXAscCx7eDowLHk6MH0se3g6eS54KzEseTp5LnkrMX0sbS5iaXRtYXApfX19dGhpcy5pbWFnZT1wLHRoaXMucG9zaXRpb25zPXJ9O3QucmVnaXN0ZXIoIkdseXBoQXRsYXMiLGEpO3ZhciBpPWZ1bmN0aW9uKGUpe3RoaXMudGlsZUlEPW5ldyB0Lk92ZXJzY2FsZWRUaWxlSUQoZS50aWxlSUQub3ZlcnNjYWxlZFosZS50aWxlSUQud3JhcCxlLnRpbGVJRC5jYW5vbmljYWwueixlLnRpbGVJRC5jYW5vbmljYWwueCxlLnRpbGVJRC5jYW5vbmljYWwueSksdGhpcy51aWQ9ZS51aWQsdGhpcy56b29tPWUuem9vbSx0aGlzLnBpeGVsUmF0aW89ZS5waXhlbFJhdGlvLHRoaXMudGlsZVNpemU9ZS50aWxlU2l6ZSx0aGlzLnNvdXJjZT1lLnNvdXJjZSx0aGlzLm92ZXJzY2FsaW5nPXRoaXMudGlsZUlELm92ZXJzY2FsZUZhY3RvcigpLHRoaXMuc2hvd0NvbGxpc2lvbkJveGVzPWUuc2hvd0NvbGxpc2lvbkJveGVzLHRoaXMuY29sbGVjdFJlc291cmNlVGltaW5nPSEhZS5jb2xsZWN0UmVzb3VyY2VUaW1pbmcsdGhpcy5yZXR1cm5EZXBlbmRlbmNpZXM9ISFlLnJldHVybkRlcGVuZGVuY2llc307ZnVuY3Rpb24gbyhlLHIpe2Zvcih2YXIgbj1uZXcgdC5FdmFsdWF0aW9uUGFyYW1ldGVycyhyKSxhPTAsaT1lO2E8aS5sZW5ndGg7YSs9MSlpW2FdLnJlY2FsY3VsYXRlKG4pfWkucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKGUscixuLGkpe3ZhciBzPXRoaXM7dGhpcy5zdGF0dXM9InBhcnNpbmciLHRoaXMuZGF0YT1lLHRoaXMuY29sbGlzaW9uQm94QXJyYXk9bmV3IHQuQ29sbGlzaW9uQm94QXJyYXk7dmFyIGw9bmV3IHQuRGljdGlvbmFyeUNvZGVyKE9iamVjdC5rZXlzKGUubGF5ZXJzKS5zb3J0KCkpLGM9bmV3IHQuRmVhdHVyZUluZGV4KHRoaXMudGlsZUlEKTtjLmJ1Y2tldExheWVySURzPVtdO3ZhciB1LGgsZixwLGQ9e30sZz17ZmVhdHVyZUluZGV4OmMsaWNvbkRlcGVuZGVuY2llczp7fSxwYXR0ZXJuRGVwZW5kZW5jaWVzOnt9LGdseXBoRGVwZW5kZW5jaWVzOnt9fSx2PXIuZmFtaWxpZXNCeVNvdXJjZVt0aGlzLnNvdXJjZV07Zm9yKHZhciBtIGluIHYpe3ZhciB5PWUubGF5ZXJzW21dO2lmKHkpezE9PT15LnZlcnNpb24mJnQud2Fybk9uY2UoJ1ZlY3RvciB0aWxlIHNvdXJjZSAiJyt0aGlzLnNvdXJjZSsnIiBsYXllciAiJyttKyciIGRvZXMgbm90IHVzZSB2ZWN0b3IgdGlsZSBzcGVjIHYyIGFuZCB0aGVyZWZvcmUgbWF5IGhhdmUgc29tZSByZW5kZXJpbmcgZXJyb3JzLicpO2Zvcih2YXIgeD1sLmVuY29kZShtKSxiPVtdLF89MDtfPHkubGVuZ3RoO18rKyl7dmFyIHc9eS5mZWF0dXJlKF8pO2IucHVzaCh7ZmVhdHVyZTp3LGluZGV4Ol8sc291cmNlTGF5ZXJJbmRleDp4fSl9Zm9yKHZhciBrPTAsVD12W21dO2s8VC5sZW5ndGg7ays9MSl7dmFyIE09VFtrXSxBPU1bMF07QS5taW56b29tJiZ0aGlzLnpvb208TWF0aC5mbG9vcihBLm1pbnpvb20pfHxBLm1heHpvb20mJnRoaXMuem9vbT49QS5tYXh6b29tfHwibm9uZSIhPT1BLnZpc2liaWxpdHkmJihvKE0sdGhpcy56b29tKSwoZFtBLmlkXT1BLmNyZWF0ZUJ1Y2tldCh7aW5kZXg6Yy5idWNrZXRMYXllcklEcy5sZW5ndGgsbGF5ZXJzOk0sem9vbTp0aGlzLnpvb20scGl4ZWxSYXRpbzp0aGlzLnBpeGVsUmF0aW8sb3ZlcnNjYWxpbmc6dGhpcy5vdmVyc2NhbGluZyxjb2xsaXNpb25Cb3hBcnJheTp0aGlzLmNvbGxpc2lvbkJveEFycmF5LHNvdXJjZUxheWVySW5kZXg6eCxzb3VyY2VJRDp0aGlzLnNvdXJjZX0pKS5wb3B1bGF0ZShiLGcpLGMuYnVja2V0TGF5ZXJJRHMucHVzaChNLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZH0pKSl9fX12YXIgUz10Lm1hcE9iamVjdChnLmdseXBoRGVwZW5kZW5jaWVzLGZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3Qua2V5cyh0KS5tYXAoTnVtYmVyKX0pO09iamVjdC5rZXlzKFMpLmxlbmd0aD9uLnNlbmQoImdldEdseXBocyIse3VpZDp0aGlzLnVpZCxzdGFja3M6U30sZnVuY3Rpb24odCxlKXt1fHwodT10LGg9ZSxDLmNhbGwocykpfSk6aD17fTt2YXIgRT1PYmplY3Qua2V5cyhnLmljb25EZXBlbmRlbmNpZXMpO0UubGVuZ3RoP24uc2VuZCgiZ2V0SW1hZ2VzIix7aWNvbnM6RX0sZnVuY3Rpb24odCxlKXt1fHwodT10LGY9ZSxDLmNhbGwocykpfSk6Zj17fTt2YXIgTD1PYmplY3Qua2V5cyhnLnBhdHRlcm5EZXBlbmRlbmNpZXMpO2Z1bmN0aW9uIEMoKXtpZih1KXJldHVybiBpKHUpO2lmKGgmJmYmJnApe3ZhciBlPW5ldyBhKGgpLHI9bmV3IHQuSW1hZ2VBdGxhcyhmLHApO2Zvcih2YXIgbiBpbiBkKXt2YXIgcz1kW25dO3MgaW5zdGFuY2VvZiB0LlN5bWJvbEJ1Y2tldD8obyhzLmxheWVycyx0aGlzLnpvb20pLHQucGVyZm9ybVN5bWJvbExheW91dChzLGgsZS5wb3NpdGlvbnMsZixyLmljb25Qb3NpdGlvbnMsdGhpcy5zaG93Q29sbGlzaW9uQm94ZXMpKTpzLmhhc1BhdHRlcm4mJihzIGluc3RhbmNlb2YgdC5MaW5lQnVja2V0fHxzIGluc3RhbmNlb2YgdC5GaWxsQnVja2V0fHxzIGluc3RhbmNlb2YgdC5GaWxsRXh0cnVzaW9uQnVja2V0KSYmKG8ocy5sYXllcnMsdGhpcy56b29tKSxzLmFkZEZlYXR1cmVzKGcsci5wYXR0ZXJuUG9zaXRpb25zKSl9dGhpcy5zdGF0dXM9ImRvbmUiLGkobnVsbCx7YnVja2V0czp0LnZhbHVlcyhkKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIXQuaXNFbXB0eSgpfSksZmVhdHVyZUluZGV4OmMsY29sbGlzaW9uQm94QXJyYXk6dGhpcy5jb2xsaXNpb25Cb3hBcnJheSxnbHlwaEF0bGFzSW1hZ2U6ZS5pbWFnZSxpbWFnZUF0bGFzOnIsZ2x5cGhNYXA6dGhpcy5yZXR1cm5EZXBlbmRlbmNpZXM/aDpudWxsLGljb25NYXA6dGhpcy5yZXR1cm5EZXBlbmRlbmNpZXM/ZjpudWxsLGdseXBoUG9zaXRpb25zOnRoaXMucmV0dXJuRGVwZW5kZW5jaWVzP2UucG9zaXRpb25zOm51bGx9KX19TC5sZW5ndGg/bi5zZW5kKCJnZXRJbWFnZXMiLHtpY29uczpMfSxmdW5jdGlvbih0LGUpe3V8fCh1PXQscD1lLEMuY2FsbChzKSl9KTpwPXt9LEMuY2FsbCh0aGlzKX07dmFyIHM9InVuZGVmaW5lZCIhPXR5cGVvZiBwZXJmb3JtYW5jZSxsPXtnZXRFbnRyaWVzQnlOYW1lOmZ1bmN0aW9uKHQpe3JldHVybiEhKHMmJnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKSYmcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSh0KX0sbWFyazpmdW5jdGlvbih0KXtyZXR1cm4hIShzJiZwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UubWFyaykmJnBlcmZvcm1hbmNlLm1hcmsodCl9LG1lYXN1cmU6ZnVuY3Rpb24odCxlLHIpe3JldHVybiEhKHMmJnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tZWFzdXJlKSYmcGVyZm9ybWFuY2UubWVhc3VyZSh0LGUscil9LGNsZWFyTWFya3M6ZnVuY3Rpb24odCl7cmV0dXJuISEocyYmcGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLmNsZWFyTWFya3MpJiZwZXJmb3JtYW5jZS5jbGVhck1hcmtzKHQpfSxjbGVhck1lYXN1cmVzOmZ1bmN0aW9uKHQpe3JldHVybiEhKHMmJnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5jbGVhck1lYXN1cmVzKSYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyh0KX19LGM9ZnVuY3Rpb24odCl7dGhpcy5fbWFya3M9e3N0YXJ0Olt0LnVybCwic3RhcnQiXS5qb2luKCIjIiksZW5kOlt0LnVybCwiZW5kIl0uam9pbigiIyIpLG1lYXN1cmU6dC51cmwudG9TdHJpbmcoKX0sbC5tYXJrKHRoaXMuX21hcmtzLnN0YXJ0KX07ZnVuY3Rpb24gdShlLHIpe3ZhciBuPXQuZ2V0QXJyYXlCdWZmZXIoZS5yZXF1ZXN0LGZ1bmN0aW9uKGUsbixhLGkpe2U/cihlKTpuJiZyKG51bGwse3ZlY3RvclRpbGU6bmV3IHQudmVjdG9yVGlsZS5WZWN0b3JUaWxlKG5ldyB0LnBiZihuKSkscmF3RGF0YTpuLGNhY2hlQ29udHJvbDphLGV4cGlyZXM6aX0pfSk7cmV0dXJuIGZ1bmN0aW9uKCl7bi5jYW5jZWwoKSxyKCl9fWMucHJvdG90eXBlLmZpbmlzaD1mdW5jdGlvbigpe2wubWFyayh0aGlzLl9tYXJrcy5lbmQpO3ZhciB0PWwuZ2V0RW50cmllc0J5TmFtZSh0aGlzLl9tYXJrcy5tZWFzdXJlKTtyZXR1cm4gMD09PXQubGVuZ3RoJiYobC5tZWFzdXJlKHRoaXMuX21hcmtzLm1lYXN1cmUsdGhpcy5fbWFya3Muc3RhcnQsdGhpcy5fbWFya3MuZW5kKSx0PWwuZ2V0RW50cmllc0J5TmFtZSh0aGlzLl9tYXJrcy5tZWFzdXJlKSxsLmNsZWFyTWFya3ModGhpcy5fbWFya3Muc3RhcnQpLGwuY2xlYXJNYXJrcyh0aGlzLl9tYXJrcy5lbmQpLGwuY2xlYXJNZWFzdXJlcyh0aGlzLl9tYXJrcy5tZWFzdXJlKSksdH0sbC5QZXJmb3JtYW5jZT1jO3ZhciBoPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLmFjdG9yPXQsdGhpcy5sYXllckluZGV4PWUsdGhpcy5sb2FkVmVjdG9yRGF0YT1yfHx1LHRoaXMubG9hZGluZz17fSx0aGlzLmxvYWRlZD17fX07aC5wcm90b3R5cGUubG9hZFRpbGU9ZnVuY3Rpb24oZSxyKXt2YXIgbj10aGlzLGE9ZS51aWQ7dGhpcy5sb2FkaW5nfHwodGhpcy5sb2FkaW5nPXt9KTt2YXIgbz0hIShlJiZlLnJlcXVlc3QmJmUucmVxdWVzdC5jb2xsZWN0UmVzb3VyY2VUaW1pbmcpJiZuZXcgbC5QZXJmb3JtYW5jZShlLnJlcXVlc3QpLHM9dGhpcy5sb2FkaW5nW2FdPW5ldyBpKGUpO3MuYWJvcnQ9dGhpcy5sb2FkVmVjdG9yRGF0YShlLGZ1bmN0aW9uKGUsaSl7aWYoZGVsZXRlIG4ubG9hZGluZ1thXSxlfHwhaSlyZXR1cm4gcy5zdGF0dXM9ImRvbmUiLG4ubG9hZGVkW2FdPXMscihlKTt2YXIgbD1pLnJhd0RhdGEsYz17fTtpLmV4cGlyZXMmJihjLmV4cGlyZXM9aS5leHBpcmVzKSxpLmNhY2hlQ29udHJvbCYmKGMuY2FjaGVDb250cm9sPWkuY2FjaGVDb250cm9sKTt2YXIgdT17fTtpZihvKXt2YXIgaD1vLmZpbmlzaCgpO2gmJih1LnJlc291cmNlVGltaW5nPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoaCkpKX1zLnZlY3RvclRpbGU9aS52ZWN0b3JUaWxlLHMucGFyc2UoaS52ZWN0b3JUaWxlLG4ubGF5ZXJJbmRleCxuLmFjdG9yLGZ1bmN0aW9uKGUsbil7aWYoZXx8IW4pcmV0dXJuIHIoZSk7cihudWxsLHQuZXh0ZW5kKHtyYXdUaWxlRGF0YTpsLnNsaWNlKDApfSxuLGMsdSkpfSksbi5sb2FkZWQ9bi5sb2FkZWR8fHt9LG4ubG9hZGVkW2FdPXN9KX0saC5wcm90b3R5cGUucmVsb2FkVGlsZT1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMubG9hZGVkLG49dC51aWQsYT10aGlzO2lmKHImJnJbbl0pe3ZhciBpPXJbbl07aS5zaG93Q29sbGlzaW9uQm94ZXM9dC5zaG93Q29sbGlzaW9uQm94ZXM7dmFyIG89ZnVuY3Rpb24odCxyKXt2YXIgbj1pLnJlbG9hZENhbGxiYWNrO24mJihkZWxldGUgaS5yZWxvYWRDYWxsYmFjayxpLnBhcnNlKGkudmVjdG9yVGlsZSxhLmxheWVySW5kZXgsYS5hY3RvcixuKSksZSh0LHIpfTsicGFyc2luZyI9PT1pLnN0YXR1cz9pLnJlbG9hZENhbGxiYWNrPW86ImRvbmUiPT09aS5zdGF0dXMmJihpLnZlY3RvclRpbGU/aS5wYXJzZShpLnZlY3RvclRpbGUsdGhpcy5sYXllckluZGV4LHRoaXMuYWN0b3Isbyk6bygpKX19LGgucHJvdG90eXBlLmFib3J0VGlsZT1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMubG9hZGluZyxuPXQudWlkO3ImJnJbbl0mJnJbbl0uYWJvcnQmJihyW25dLmFib3J0KCksZGVsZXRlIHJbbl0pLGUoKX0saC5wcm90b3R5cGUucmVtb3ZlVGlsZT1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMubG9hZGVkLG49dC51aWQ7ciYmcltuXSYmZGVsZXRlIHJbbl0sZSgpfTt2YXIgZj1mdW5jdGlvbigpe3RoaXMubG9hZGVkPXt9fTtmLnByb3RvdHlwZS5sb2FkVGlsZT1mdW5jdGlvbihlLHIpe3ZhciBuPWUudWlkLGE9ZS5lbmNvZGluZyxpPWUucmF3SW1hZ2VEYXRhLG89bmV3IHQuREVNRGF0YShuLGksYSk7dGhpcy5sb2FkZWQ9dGhpcy5sb2FkZWR8fHt9LHRoaXMubG9hZGVkW25dPW8scihudWxsLG8pfSxmLnByb3RvdHlwZS5yZW1vdmVUaWxlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubG9hZGVkLHI9dC51aWQ7ZSYmZVtyXSYmZGVsZXRlIGVbcl19O3ZhciBwPXtSQURJVVM6NjM3ODEzNyxGTEFUVEVOSU5HOjEvMjk4LjI1NzIyMzU2MyxQT0xBUl9SQURJVVM6NjM1Njc1Mi4zMTQyfTtmdW5jdGlvbiBkKHQpe3ZhciBlPTA7aWYodCYmdC5sZW5ndGg+MCl7ZSs9TWF0aC5hYnMoZyh0WzBdKSk7Zm9yKHZhciByPTE7cjx0Lmxlbmd0aDtyKyspZS09TWF0aC5hYnMoZyh0W3JdKSl9cmV0dXJuIGV9ZnVuY3Rpb24gZyh0KXt2YXIgZSxyLG4sYSxpLG8scz0wLGw9dC5sZW5ndGg7aWYobD4yKXtmb3Iobz0wO288bDtvKyspbz09PWwtMj8obj1sLTIsYT1sLTEsaT0wKTpvPT09bC0xPyhuPWwtMSxhPTAsaT0xKToobj1vLGE9bysxLGk9bysyKSxlPXRbbl0scj10W2FdLHMrPSh2KHRbaV1bMF0pLXYoZVswXSkpKk1hdGguc2luKHYoclsxXSkpO3M9cypwLlJBRElVUypwLlJBRElVUy8yfXJldHVybiBzfWZ1bmN0aW9uIHYodCl7cmV0dXJuIHQqTWF0aC5QSS8xODB9dmFyIG09e2dlb21ldHJ5OmZ1bmN0aW9uIHQoZSl7dmFyIHIsbj0wO3N3aXRjaChlLnR5cGUpe2Nhc2UiUG9seWdvbiI6cmV0dXJuIGQoZS5jb29yZGluYXRlcyk7Y2FzZSJNdWx0aVBvbHlnb24iOmZvcihyPTA7cjxlLmNvb3JkaW5hdGVzLmxlbmd0aDtyKyspbis9ZChlLmNvb3JkaW5hdGVzW3JdKTtyZXR1cm4gbjtjYXNlIlBvaW50IjpjYXNlIk11bHRpUG9pbnQiOmNhc2UiTGluZVN0cmluZyI6Y2FzZSJNdWx0aUxpbmVTdHJpbmciOnJldHVybiAwO2Nhc2UiR2VvbWV0cnlDb2xsZWN0aW9uIjpmb3Iocj0wO3I8ZS5nZW9tZXRyaWVzLmxlbmd0aDtyKyspbis9dChlLmdlb21ldHJpZXNbcl0pO3JldHVybiBufX0scmluZzpnfTtmdW5jdGlvbiB5KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiB0KHIsZSl9fWZ1bmN0aW9uIHgodCxlKXtlPSEhZSx0WzBdPWIodFswXSxlKTtmb3IodmFyIHI9MTtyPHQubGVuZ3RoO3IrKyl0W3JdPWIodFtyXSwhZSk7cmV0dXJuIHR9ZnVuY3Rpb24gYih0LGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gbS5yaW5nKHQpPj0wfSh0KT09PWU/dDp0LnJldmVyc2UoKX12YXIgXz10LnZlY3RvclRpbGUuVmVjdG9yVGlsZUZlYXR1cmUucHJvdG90eXBlLnRvR2VvSlNPTix3PWZ1bmN0aW9uKGUpe3RoaXMuX2ZlYXR1cmU9ZSx0aGlzLmV4dGVudD10LkVYVEVOVCx0aGlzLnR5cGU9ZS50eXBlLHRoaXMucHJvcGVydGllcz1lLnRhZ3MsImlkImluIGUmJiFpc05hTihlLmlkKSYmKHRoaXMuaWQ9cGFyc2VJbnQoZS5pZCwxMCkpfTt3LnByb3RvdHlwZS5sb2FkR2VvbWV0cnk9ZnVuY3Rpb24oKXtpZigxPT09dGhpcy5fZmVhdHVyZS50eXBlKXtmb3IodmFyIGU9W10scj0wLG49dGhpcy5fZmVhdHVyZS5nZW9tZXRyeTtyPG4ubGVuZ3RoO3IrPTEpe3ZhciBhPW5bcl07ZS5wdXNoKFtuZXcgdC5Qb2ludCQxKGFbMF0sYVsxXSldKX1yZXR1cm4gZX1mb3IodmFyIGk9W10sbz0wLHM9dGhpcy5fZmVhdHVyZS5nZW9tZXRyeTtvPHMubGVuZ3RoO28rPTEpe2Zvcih2YXIgbD1bXSxjPTAsdT1zW29dO2M8dS5sZW5ndGg7Yys9MSl7dmFyIGg9dVtjXTtsLnB1c2gobmV3IHQuUG9pbnQkMShoWzBdLGhbMV0pKX1pLnB1c2gobCl9cmV0dXJuIGl9LHcucHJvdG90eXBlLnRvR2VvSlNPTj1mdW5jdGlvbih0LGUscil7cmV0dXJuIF8uY2FsbCh0aGlzLHQsZSxyKX07dmFyIGs9ZnVuY3Rpb24oZSl7dGhpcy5sYXllcnM9e19nZW9qc29uVGlsZUxheWVyOnRoaXN9LHRoaXMubmFtZT0iX2dlb2pzb25UaWxlTGF5ZXIiLHRoaXMuZXh0ZW50PXQuRVhURU5ULHRoaXMubGVuZ3RoPWUubGVuZ3RoLHRoaXMuX2ZlYXR1cmVzPWV9O2sucHJvdG90eXBlLmZlYXR1cmU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyB3KHRoaXMuX2ZlYXR1cmVzW3RdKX07dmFyIFQ9dC52ZWN0b3JUaWxlLlZlY3RvclRpbGVGZWF0dXJlLE09QTtmdW5jdGlvbiBBKHQsZSl7dGhpcy5vcHRpb25zPWV8fHt9LHRoaXMuZmVhdHVyZXM9dCx0aGlzLmxlbmd0aD10Lmxlbmd0aH1mdW5jdGlvbiBTKHQsZSl7dGhpcy5pZD0ibnVtYmVyIj09dHlwZW9mIHQuaWQ/dC5pZDp2b2lkIDAsdGhpcy50eXBlPXQudHlwZSx0aGlzLnJhd0dlb21ldHJ5PTE9PT10LnR5cGU/W3QuZ2VvbWV0cnldOnQuZ2VvbWV0cnksdGhpcy5wcm9wZXJ0aWVzPXQudGFncyx0aGlzLmV4dGVudD1lfHw0MDk2fUEucHJvdG90eXBlLmZlYXR1cmU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBTKHRoaXMuZmVhdHVyZXNbdF0sdGhpcy5vcHRpb25zLmV4dGVudCl9LFMucHJvdG90eXBlLmxvYWRHZW9tZXRyeT1mdW5jdGlvbigpe3ZhciBlPXRoaXMucmF3R2VvbWV0cnk7dGhpcy5nZW9tZXRyeT1bXTtmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyl7Zm9yKHZhciBuPWVbcl0sYT1bXSxpPTA7aTxuLmxlbmd0aDtpKyspYS5wdXNoKG5ldyB0LlBvaW50JDEobltpXVswXSxuW2ldWzFdKSk7dGhpcy5nZW9tZXRyeS5wdXNoKGEpfXJldHVybiB0aGlzLmdlb21ldHJ5fSxTLnByb3RvdHlwZS5iYm94PWZ1bmN0aW9uKCl7dGhpcy5nZW9tZXRyeXx8dGhpcy5sb2FkR2VvbWV0cnkoKTtmb3IodmFyIHQ9dGhpcy5nZW9tZXRyeSxlPTEvMCxyPS0xLzAsbj0xLzAsYT0tMS8wLGk9MDtpPHQubGVuZ3RoO2krKylmb3IodmFyIG89dFtpXSxzPTA7czxvLmxlbmd0aDtzKyspe3ZhciBsPW9bc107ZT1NYXRoLm1pbihlLGwueCkscj1NYXRoLm1heChyLGwueCksbj1NYXRoLm1pbihuLGwueSksYT1NYXRoLm1heChhLGwueSl9cmV0dXJuW2UsbixyLGFdfSxTLnByb3RvdHlwZS50b0dlb0pTT049VC5wcm90b3R5cGUudG9HZW9KU09OO3ZhciBFPVAsTD1QLEM9TTtmdW5jdGlvbiBQKGUpe3ZhciByPW5ldyB0LnBiZjtyZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gdC5sYXllcnMpZS53cml0ZU1lc3NhZ2UoMyxPLHQubGF5ZXJzW3JdKX0oZSxyKSxyLmZpbmlzaCgpfWZ1bmN0aW9uIE8odCxlKXt2YXIgcjtlLndyaXRlVmFyaW50RmllbGQoMTUsdC52ZXJzaW9ufHwxKSxlLndyaXRlU3RyaW5nRmllbGQoMSx0Lm5hbWV8fCIiKSxlLndyaXRlVmFyaW50RmllbGQoNSx0LmV4dGVudHx8NDA5Nik7dmFyIG49e2tleXM6W10sdmFsdWVzOltdLGtleWNhY2hlOnt9LHZhbHVlY2FjaGU6e319O2ZvcihyPTA7cjx0Lmxlbmd0aDtyKyspbi5mZWF0dXJlPXQuZmVhdHVyZShyKSxlLndyaXRlTWVzc2FnZSgyLHosbik7dmFyIGE9bi5rZXlzO2ZvcihyPTA7cjxhLmxlbmd0aDtyKyspZS53cml0ZVN0cmluZ0ZpZWxkKDMsYVtyXSk7dmFyIGk9bi52YWx1ZXM7Zm9yKHI9MDtyPGkubGVuZ3RoO3IrKyllLndyaXRlTWVzc2FnZSg0LEIsaVtyXSl9ZnVuY3Rpb24geih0LGUpe3ZhciByPXQuZmVhdHVyZTt2b2lkIDAhPT1yLmlkJiZlLndyaXRlVmFyaW50RmllbGQoMSxyLmlkKSxlLndyaXRlTWVzc2FnZSgyLEksdCksZS53cml0ZVZhcmludEZpZWxkKDMsci50eXBlKSxlLndyaXRlTWVzc2FnZSg0LEYscil9ZnVuY3Rpb24gSSh0LGUpe3ZhciByPXQuZmVhdHVyZSxuPXQua2V5cyxhPXQudmFsdWVzLGk9dC5rZXljYWNoZSxvPXQudmFsdWVjYWNoZTtmb3IodmFyIHMgaW4gci5wcm9wZXJ0aWVzKXt2YXIgbD1pW3NdO3ZvaWQgMD09PWwmJihuLnB1c2gocyksbD1uLmxlbmd0aC0xLGlbc109bCksZS53cml0ZVZhcmludChsKTt2YXIgYz1yLnByb3BlcnRpZXNbc10sdT10eXBlb2YgYzsic3RyaW5nIiE9PXUmJiJib29sZWFuIiE9PXUmJiJudW1iZXIiIT09dSYmKGM9SlNPTi5zdHJpbmdpZnkoYykpO3ZhciBoPXUrIjoiK2MsZj1vW2hdO3ZvaWQgMD09PWYmJihhLnB1c2goYyksZj1hLmxlbmd0aC0xLG9baF09ZiksZS53cml0ZVZhcmludChmKX19ZnVuY3Rpb24gRCh0LGUpe3JldHVybihlPDwzKSsoNyZ0KX1mdW5jdGlvbiBSKHQpe3JldHVybiB0PDwxXnQ+PjMxfWZ1bmN0aW9uIEYodCxlKXtmb3IodmFyIHI9dC5sb2FkR2VvbWV0cnkoKSxuPXQudHlwZSxhPTAsaT0wLG89ci5sZW5ndGgscz0wO3M8bztzKyspe3ZhciBsPXJbc10sYz0xOzE9PT1uJiYoYz1sLmxlbmd0aCksZS53cml0ZVZhcmludChEKDEsYykpO2Zvcih2YXIgdT0zPT09bj9sLmxlbmd0aC0xOmwubGVuZ3RoLGg9MDtoPHU7aCsrKXsxPT09aCYmMSE9PW4mJmUud3JpdGVWYXJpbnQoRCgyLHUtMSkpO3ZhciBmPWxbaF0ueC1hLHA9bFtoXS55LWk7ZS53cml0ZVZhcmludChSKGYpKSxlLndyaXRlVmFyaW50KFIocCkpLGErPWYsaSs9cH0zPT09biYmZS53cml0ZVZhcmludChEKDcsMSkpfX1mdW5jdGlvbiBCKHQsZSl7dmFyIHI9dHlwZW9mIHQ7InN0cmluZyI9PT1yP2Uud3JpdGVTdHJpbmdGaWVsZCgxLHQpOiJib29sZWFuIj09PXI/ZS53cml0ZUJvb2xlYW5GaWVsZCg3LHQpOiJudW1iZXIiPT09ciYmKHQlMSE9MD9lLndyaXRlRG91YmxlRmllbGQoMyx0KTp0PDA/ZS53cml0ZVNWYXJpbnRGaWVsZCg2LHQpOmUud3JpdGVWYXJpbnRGaWVsZCg1LHQpKX1mdW5jdGlvbiBOKHQsZSxyLG4pe2oodCxyLG4pLGooZSwyKnIsMipuKSxqKGUsMipyKzEsMipuKzEpfWZ1bmN0aW9uIGoodCxlLHIpe3ZhciBuPXRbZV07dFtlXT10W3JdLHRbcl09bn1mdW5jdGlvbiBWKHQsZSxyLG4pe3ZhciBhPXQtcixpPWUtbjtyZXR1cm4gYSphK2kqaX1FLmZyb21WZWN0b3JUaWxlSnM9TCxFLmZyb21HZW9qc29uVnQ9ZnVuY3Rpb24odCxlKXtlPWV8fHt9O3ZhciByPXt9O2Zvcih2YXIgbiBpbiB0KXJbbl09bmV3IE0odFtuXS5mZWF0dXJlcyxlKSxyW25dLm5hbWU9bixyW25dLnZlcnNpb249ZS52ZXJzaW9uLHJbbl0uZXh0ZW50PWUuZXh0ZW50O3JldHVybiBQKHtsYXllcnM6cn0pfSxFLkdlb0pTT05XcmFwcGVyPUM7dmFyIFU9ZnVuY3Rpb24odCl7cmV0dXJuIHRbMF19LHE9ZnVuY3Rpb24odCl7cmV0dXJuIHRbMV19LEg9ZnVuY3Rpb24odCxlLHIsbixhKXt2b2lkIDA9PT1lJiYoZT1VKSx2b2lkIDA9PT1yJiYocj1xKSx2b2lkIDA9PT1uJiYobj02NCksdm9pZCAwPT09YSYmKGE9RmxvYXQ2NEFycmF5KSx0aGlzLm5vZGVTaXplPW4sdGhpcy5wb2ludHM9dDtmb3IodmFyIGk9dC5sZW5ndGg8NjU1MzY/VWludDE2QXJyYXk6VWludDMyQXJyYXksbz10aGlzLmlkcz1uZXcgaSh0Lmxlbmd0aCkscz10aGlzLmNvb3Jkcz1uZXcgYSgyKnQubGVuZ3RoKSxsPTA7bDx0Lmxlbmd0aDtsKyspb1tsXT1sLHNbMipsXT1lKHRbbF0pLHNbMipsKzFdPXIodFtsXSk7IWZ1bmN0aW9uIHQoZSxyLG4sYSxpLG8pe2lmKCEoaS1hPD1uKSl7dmFyIHM9YStpPj4xOyFmdW5jdGlvbiB0KGUscixuLGEsaSxvKXtmb3IoO2k+YTspe2lmKGktYT42MDApe3ZhciBzPWktYSsxLGw9bi1hKzEsYz1NYXRoLmxvZyhzKSx1PS41Kk1hdGguZXhwKDIqYy8zKSxoPS41Kk1hdGguc3FydChjKnUqKHMtdSkvcykqKGwtcy8yPDA/LTE6MSk7dChlLHIsbixNYXRoLm1heChhLE1hdGguZmxvb3Iobi1sKnUvcytoKSksTWF0aC5taW4oaSxNYXRoLmZsb29yKG4rKHMtbCkqdS9zK2gpKSxvKX12YXIgZj1yWzIqbitvXSxwPWEsZD1pO2ZvcihOKGUscixhLG4pLHJbMippK29dPmYmJk4oZSxyLGEsaSk7cDxkOyl7Zm9yKE4oZSxyLHAsZCkscCsrLGQtLTtyWzIqcCtvXTxmOylwKys7Zm9yKDtyWzIqZCtvXT5mOylkLS19clsyKmErb109PT1mP04oZSxyLGEsZCk6TihlLHIsKytkLGkpLGQ8PW4mJihhPWQrMSksbjw9ZCYmKGk9ZC0xKX19KGUscixzLGEsaSxvJTIpLHQoZSxyLG4sYSxzLTEsbysxKSx0KGUscixuLHMrMSxpLG8rMSl9fShvLHMsbiwwLG8ubGVuZ3RoLTEsMCl9O0gucHJvdG90eXBlLnJhbmdlPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiBmdW5jdGlvbih0LGUscixuLGEsaSxvKXtmb3IodmFyIHMsbCxjPVswLHQubGVuZ3RoLTEsMF0sdT1bXTtjLmxlbmd0aDspe3ZhciBoPWMucG9wKCksZj1jLnBvcCgpLHA9Yy5wb3AoKTtpZihmLXA8PW8pZm9yKHZhciBkPXA7ZDw9ZjtkKyspcz1lWzIqZF0sbD1lWzIqZCsxXSxzPj1yJiZzPD1hJiZsPj1uJiZsPD1pJiZ1LnB1c2godFtkXSk7ZWxzZXt2YXIgZz1NYXRoLmZsb29yKChwK2YpLzIpO3M9ZVsyKmddLGw9ZVsyKmcrMV0scz49ciYmczw9YSYmbD49biYmbDw9aSYmdS5wdXNoKHRbZ10pO3ZhciB2PShoKzEpJTI7KDA9PT1oP3I8PXM6bjw9bCkmJihjLnB1c2gocCksYy5wdXNoKGctMSksYy5wdXNoKHYpKSwoMD09PWg/YT49czppPj1sKSYmKGMucHVzaChnKzEpLGMucHVzaChmKSxjLnB1c2godikpfX1yZXR1cm4gdX0odGhpcy5pZHMsdGhpcy5jb29yZHMsdCxlLHIsbix0aGlzLm5vZGVTaXplKX0sSC5wcm90b3R5cGUud2l0aGluPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZnVuY3Rpb24odCxlLHIsbixhLGkpe2Zvcih2YXIgbz1bMCx0Lmxlbmd0aC0xLDBdLHM9W10sbD1hKmE7by5sZW5ndGg7KXt2YXIgYz1vLnBvcCgpLHU9by5wb3AoKSxoPW8ucG9wKCk7aWYodS1oPD1pKWZvcih2YXIgZj1oO2Y8PXU7ZisrKVYoZVsyKmZdLGVbMipmKzFdLHIsbik8PWwmJnMucHVzaCh0W2ZdKTtlbHNle3ZhciBwPU1hdGguZmxvb3IoKGgrdSkvMiksZD1lWzIqcF0sZz1lWzIqcCsxXTtWKGQsZyxyLG4pPD1sJiZzLnB1c2godFtwXSk7dmFyIHY9KGMrMSklMjsoMD09PWM/ci1hPD1kOm4tYTw9ZykmJihvLnB1c2goaCksby5wdXNoKHAtMSksby5wdXNoKHYpKSwoMD09PWM/cithPj1kOm4rYT49ZykmJihvLnB1c2gocCsxKSxvLnB1c2godSksby5wdXNoKHYpKX19cmV0dXJuIHN9KHRoaXMuaWRzLHRoaXMuY29vcmRzLHQsZSxyLHRoaXMubm9kZVNpemUpfTt2YXIgRz17bWluWm9vbTowLG1heFpvb206MTYscmFkaXVzOjQwLGV4dGVudDo1MTIsbm9kZVNpemU6NjQsbG9nOiExLHJlZHVjZTpudWxsLG1hcDpmdW5jdGlvbih0KXtyZXR1cm4gdH19LFk9ZnVuY3Rpb24odCl7dGhpcy5vcHRpb25zPSQoT2JqZWN0LmNyZWF0ZShHKSx0KSx0aGlzLnRyZWVzPW5ldyBBcnJheSh0aGlzLm9wdGlvbnMubWF4Wm9vbSsxKX07ZnVuY3Rpb24gVyh0LGUscixuLGEpe3JldHVybnt4OnQseTplLHpvb206MS8wLGlkOnIscGFyZW50SWQ6LTEsbnVtUG9pbnRzOm4scHJvcGVydGllczphfX1mdW5jdGlvbiBYKHQsZSl7dmFyIHI9dC5nZW9tZXRyeS5jb29yZGluYXRlcyxuPXJbMF0sYT1yWzFdO3JldHVybnt4OksobikseTpRKGEpLHpvb206MS8wLGluZGV4OmUscGFyZW50SWQ6LTF9fWZ1bmN0aW9uIFoodCl7cmV0dXJue3R5cGU6IkZlYXR1cmUiLGlkOnQuaWQscHJvcGVydGllczpKKHQpLGdlb21ldHJ5Ont0eXBlOiJQb2ludCIsY29vcmRpbmF0ZXM6WyhuPXQueCwzNjAqKG4tLjUpKSwoZT10Lnkscj0oMTgwLTM2MCplKSpNYXRoLlBJLzE4MCwzNjAqTWF0aC5hdGFuKE1hdGguZXhwKHIpKS9NYXRoLlBJLTkwKV19fTt2YXIgZSxyLG59ZnVuY3Rpb24gSih0KXt2YXIgZT10Lm51bVBvaW50cyxyPWU+PTFlND9NYXRoLnJvdW5kKGUvMWUzKSsiayI6ZT49MWUzP01hdGgucm91bmQoZS8xMDApLzEwKyJrIjplO3JldHVybiAkKCQoe30sdC5wcm9wZXJ0aWVzKSx7Y2x1c3RlcjohMCxjbHVzdGVyX2lkOnQuaWQscG9pbnRfY291bnQ6ZSxwb2ludF9jb3VudF9hYmJyZXZpYXRlZDpyfSl9ZnVuY3Rpb24gSyh0KXtyZXR1cm4gdC8zNjArLjV9ZnVuY3Rpb24gUSh0KXt2YXIgZT1NYXRoLnNpbih0Kk1hdGguUEkvMTgwKSxyPS41LS4yNSpNYXRoLmxvZygoMStlKS8oMS1lKSkvTWF0aC5QSTtyZXR1cm4gcjwwPzA6cj4xPzE6cn1mdW5jdGlvbiAkKHQsZSl7Zm9yKHZhciByIGluIGUpdFtyXT1lW3JdO3JldHVybiB0fWZ1bmN0aW9uIHR0KHQpe3JldHVybiB0Lnh9ZnVuY3Rpb24gZXQodCl7cmV0dXJuIHQueX1mdW5jdGlvbiBydCh0LGUscixuLGEsaSl7dmFyIG89YS1yLHM9aS1uO2lmKDAhPT1vfHwwIT09cyl7dmFyIGw9KCh0LXIpKm8rKGUtbikqcykvKG8qbytzKnMpO2w+MT8ocj1hLG49aSk6bD4wJiYocis9bypsLG4rPXMqbCl9cmV0dXJuKG89dC1yKSpvKyhzPWUtbikqc31mdW5jdGlvbiBudCh0LGUscixuKXt2YXIgYT17aWQ6dm9pZCAwPT09dD9udWxsOnQsdHlwZTplLGdlb21ldHJ5OnIsdGFnczpuLG1pblg6MS8wLG1pblk6MS8wLG1heFg6LTEvMCxtYXhZOi0xLzB9O3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT10Lmdlb21ldHJ5LHI9dC50eXBlO2lmKCJQb2ludCI9PT1yfHwiTXVsdGlQb2ludCI9PT1yfHwiTGluZVN0cmluZyI9PT1yKWF0KHQsZSk7ZWxzZSBpZigiUG9seWdvbiI9PT1yfHwiTXVsdGlMaW5lU3RyaW5nIj09PXIpZm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspYXQodCxlW25dKTtlbHNlIGlmKCJNdWx0aVBvbHlnb24iPT09cilmb3Iobj0wO248ZS5sZW5ndGg7bisrKWZvcih2YXIgYT0wO2E8ZVtuXS5sZW5ndGg7YSsrKWF0KHQsZVtuXVthXSl9KGEpLGF9ZnVuY3Rpb24gYXQodCxlKXtmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrPTMpdC5taW5YPU1hdGgubWluKHQubWluWCxlW3JdKSx0Lm1pblk9TWF0aC5taW4odC5taW5ZLGVbcisxXSksdC5tYXhYPU1hdGgubWF4KHQubWF4WCxlW3JdKSx0Lm1heFk9TWF0aC5tYXgodC5tYXhZLGVbcisxXSl9ZnVuY3Rpb24gaXQodCxlLHIsbil7aWYoZS5nZW9tZXRyeSl7dmFyIGE9ZS5nZW9tZXRyeS5jb29yZGluYXRlcyxpPWUuZ2VvbWV0cnkudHlwZSxvPU1hdGgucG93KHIudG9sZXJhbmNlLygoMTw8ci5tYXhab29tKSpyLmV4dGVudCksMikscz1bXSxsPWUuaWQ7aWYoci5wcm9tb3RlSWQ/bD1lLnByb3BlcnRpZXNbci5wcm9tb3RlSWRdOnIuZ2VuZXJhdGVJZCYmKGw9bnx8MCksIlBvaW50Ij09PWkpb3QoYSxzKTtlbHNlIGlmKCJNdWx0aVBvaW50Ij09PWkpZm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspb3QoYVtjXSxzKTtlbHNlIGlmKCJMaW5lU3RyaW5nIj09PWkpc3QoYSxzLG8sITEpO2Vsc2UgaWYoIk11bHRpTGluZVN0cmluZyI9PT1pKXtpZihyLmxpbmVNZXRyaWNzKXtmb3IoYz0wO2M8YS5sZW5ndGg7YysrKXM9W10sc3QoYVtjXSxzLG8sITEpLHQucHVzaChudChsLCJMaW5lU3RyaW5nIixzLGUucHJvcGVydGllcykpO3JldHVybn1sdChhLHMsbywhMSl9ZWxzZSBpZigiUG9seWdvbiI9PT1pKWx0KGEscyxvLCEwKTtlbHNle2lmKCJNdWx0aVBvbHlnb24iIT09aSl7aWYoIkdlb21ldHJ5Q29sbGVjdGlvbiI9PT1pKXtmb3IoYz0wO2M8ZS5nZW9tZXRyeS5nZW9tZXRyaWVzLmxlbmd0aDtjKyspaXQodCx7aWQ6bCxnZW9tZXRyeTplLmdlb21ldHJ5Lmdlb21ldHJpZXNbY10scHJvcGVydGllczplLnByb3BlcnRpZXN9LHIsbik7cmV0dXJufXRocm93IG5ldyBFcnJvcigiSW5wdXQgZGF0YSBpcyBub3QgYSB2YWxpZCBHZW9KU09OIG9iamVjdC4iKX1mb3IoYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgdT1bXTtsdChhW2NdLHUsbywhMCkscy5wdXNoKHUpfX10LnB1c2gobnQobCxpLHMsZS5wcm9wZXJ0aWVzKSl9fWZ1bmN0aW9uIG90KHQsZSl7ZS5wdXNoKGN0KHRbMF0pKSxlLnB1c2godXQodFsxXSkpLGUucHVzaCgwKX1mdW5jdGlvbiBzdCh0LGUscixuKXtmb3IodmFyIGEsaSxvPTAscz0wO3M8dC5sZW5ndGg7cysrKXt2YXIgbD1jdCh0W3NdWzBdKSxjPXV0KHRbc11bMV0pO2UucHVzaChsKSxlLnB1c2goYyksZS5wdXNoKDApLHM+MCYmKG8rPW4/KGEqYy1sKmkpLzI6TWF0aC5zcXJ0KE1hdGgucG93KGwtYSwyKStNYXRoLnBvdyhjLWksMikpKSxhPWwsaT1jfXZhciB1PWUubGVuZ3RoLTM7ZVsyXT0xLGZ1bmN0aW9uIHQoZSxyLG4sYSl7Zm9yKHZhciBpLG89YSxzPW4tcj4+MSxsPW4tcixjPWVbcl0sdT1lW3IrMV0saD1lW25dLGY9ZVtuKzFdLHA9ciszO3A8bjtwKz0zKXt2YXIgZD1ydChlW3BdLGVbcCsxXSxjLHUsaCxmKTtpZihkPm8paT1wLG89ZDtlbHNlIGlmKGQ9PT1vKXt2YXIgZz1NYXRoLmFicyhwLXMpO2c8bCYmKGk9cCxsPWcpfX1vPmEmJihpLXI+MyYmdChlLHIsaSxhKSxlW2krMl09byxuLWk+MyYmdChlLGksbixhKSl9KGUsMCx1LHIpLGVbdSsyXT0xLGUuc2l6ZT1NYXRoLmFicyhvKSxlLnN0YXJ0PTAsZS5lbmQ9ZS5zaXplfWZ1bmN0aW9uIGx0KHQsZSxyLG4pe2Zvcih2YXIgYT0wO2E8dC5sZW5ndGg7YSsrKXt2YXIgaT1bXTtzdCh0W2FdLGkscixuKSxlLnB1c2goaSl9fWZ1bmN0aW9uIGN0KHQpe3JldHVybiB0LzM2MCsuNX1mdW5jdGlvbiB1dCh0KXt2YXIgZT1NYXRoLnNpbih0Kk1hdGguUEkvMTgwKSxyPS41LS4yNSpNYXRoLmxvZygoMStlKS8oMS1lKSkvTWF0aC5QSTtyZXR1cm4gcjwwPzA6cj4xPzE6cn1mdW5jdGlvbiBodCh0LGUscixuLGEsaSxvLHMpe2lmKG4vPWUsaT49KHIvPWUpJiZvPG4pcmV0dXJuIHQ7aWYobzxyfHxpPj1uKXJldHVybiBudWxsO2Zvcih2YXIgbD1bXSxjPTA7Yzx0Lmxlbmd0aDtjKyspe3ZhciB1PXRbY10saD11Lmdlb21ldHJ5LGY9dS50eXBlLHA9MD09PWE/dS5taW5YOnUubWluWSxkPTA9PT1hP3UubWF4WDp1Lm1heFk7aWYocD49ciYmZDxuKWwucHVzaCh1KTtlbHNlIGlmKCEoZDxyfHxwPj1uKSl7dmFyIGc9W107aWYoIlBvaW50Ij09PWZ8fCJNdWx0aVBvaW50Ij09PWYpZnQoaCxnLHIsbixhKTtlbHNlIGlmKCJMaW5lU3RyaW5nIj09PWYpcHQoaCxnLHIsbixhLCExLHMubGluZU1ldHJpY3MpO2Vsc2UgaWYoIk11bHRpTGluZVN0cmluZyI9PT1mKWd0KGgsZyxyLG4sYSwhMSk7ZWxzZSBpZigiUG9seWdvbiI9PT1mKWd0KGgsZyxyLG4sYSwhMCk7ZWxzZSBpZigiTXVsdGlQb2x5Z29uIj09PWYpZm9yKHZhciB2PTA7djxoLmxlbmd0aDt2Kyspe3ZhciBtPVtdO2d0KGhbdl0sbSxyLG4sYSwhMCksbS5sZW5ndGgmJmcucHVzaChtKX1pZihnLmxlbmd0aCl7aWYocy5saW5lTWV0cmljcyYmIkxpbmVTdHJpbmciPT09Zil7Zm9yKHY9MDt2PGcubGVuZ3RoO3YrKylsLnB1c2gobnQodS5pZCxmLGdbdl0sdS50YWdzKSk7Y29udGludWV9IkxpbmVTdHJpbmciIT09ZiYmIk11bHRpTGluZVN0cmluZyIhPT1mfHwoMT09PWcubGVuZ3RoPyhmPSJMaW5lU3RyaW5nIixnPWdbMF0pOmY9Ik11bHRpTGluZVN0cmluZyIpLCJQb2ludCIhPT1mJiYiTXVsdGlQb2ludCIhPT1mfHwoZj0zPT09Zy5sZW5ndGg/IlBvaW50IjoiTXVsdGlQb2ludCIpLGwucHVzaChudCh1LmlkLGYsZyx1LnRhZ3MpKX19fXJldHVybiBsLmxlbmd0aD9sOm51bGx9ZnVuY3Rpb24gZnQodCxlLHIsbixhKXtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krPTMpe3ZhciBvPXRbaSthXTtvPj1yJiZvPD1uJiYoZS5wdXNoKHRbaV0pLGUucHVzaCh0W2krMV0pLGUucHVzaCh0W2krMl0pKX19ZnVuY3Rpb24gcHQodCxlLHIsbixhLGksbyl7Zm9yKHZhciBzLGwsYz1kdCh0KSx1PTA9PT1hP210Onl0LGg9dC5zdGFydCxmPTA7Zjx0Lmxlbmd0aC0zO2YrPTMpe3ZhciBwPXRbZl0sZD10W2YrMV0sZz10W2YrMl0sdj10W2YrM10sbT10W2YrNF0seT0wPT09YT9wOmQseD0wPT09YT92Om0sYj0hMTtvJiYocz1NYXRoLnNxcnQoTWF0aC5wb3cocC12LDIpK01hdGgucG93KGQtbSwyKSkpLHk8cj94PnImJihsPXUoYyxwLGQsdixtLHIpLG8mJihjLnN0YXJ0PWgrcypsKSk6eT5uP3g8biYmKGw9dShjLHAsZCx2LG0sbiksbyYmKGMuc3RhcnQ9aCtzKmwpKTp2dChjLHAsZCxnKSx4PHImJnk+PXImJihsPXUoYyxwLGQsdixtLHIpLGI9ITApLHg+biYmeTw9biYmKGw9dShjLHAsZCx2LG0sbiksYj0hMCksIWkmJmImJihvJiYoYy5lbmQ9aCtzKmwpLGUucHVzaChjKSxjPWR0KHQpKSxvJiYoaCs9cyl9dmFyIF89dC5sZW5ndGgtMztwPXRbX10sZD10W18rMV0sZz10W18rMl0sKHk9MD09PWE/cDpkKT49ciYmeTw9biYmdnQoYyxwLGQsZyksXz1jLmxlbmd0aC0zLGkmJl8+PTMmJihjW19dIT09Y1swXXx8Y1tfKzFdIT09Y1sxXSkmJnZ0KGMsY1swXSxjWzFdLGNbMl0pLGMubGVuZ3RoJiZlLnB1c2goYyl9ZnVuY3Rpb24gZHQodCl7dmFyIGU9W107cmV0dXJuIGUuc2l6ZT10LnNpemUsZS5zdGFydD10LnN0YXJ0LGUuZW5kPXQuZW5kLGV9ZnVuY3Rpb24gZ3QodCxlLHIsbixhLGkpe2Zvcih2YXIgbz0wO288dC5sZW5ndGg7bysrKXB0KHRbb10sZSxyLG4sYSxpLCExKX1mdW5jdGlvbiB2dCh0LGUscixuKXt0LnB1c2goZSksdC5wdXNoKHIpLHQucHVzaChuKX1mdW5jdGlvbiBtdCh0LGUscixuLGEsaSl7dmFyIG89KGktZSkvKG4tZSk7cmV0dXJuIHQucHVzaChpKSx0LnB1c2gocisoYS1yKSpvKSx0LnB1c2goMSksb31mdW5jdGlvbiB5dCh0LGUscixuLGEsaSl7dmFyIG89KGktcikvKGEtcik7cmV0dXJuIHQucHVzaChlKyhuLWUpKm8pLHQucHVzaChpKSx0LnB1c2goMSksb31mdW5jdGlvbiB4dCh0LGUpe2Zvcih2YXIgcj1bXSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBhLGk9dFtuXSxvPWkudHlwZTtpZigiUG9pbnQiPT09b3x8Ik11bHRpUG9pbnQiPT09b3x8IkxpbmVTdHJpbmciPT09bylhPWJ0KGkuZ2VvbWV0cnksZSk7ZWxzZSBpZigiTXVsdGlMaW5lU3RyaW5nIj09PW98fCJQb2x5Z29uIj09PW8pe2E9W107Zm9yKHZhciBzPTA7czxpLmdlb21ldHJ5Lmxlbmd0aDtzKyspYS5wdXNoKGJ0KGkuZ2VvbWV0cnlbc10sZSkpfWVsc2UgaWYoIk11bHRpUG9seWdvbiI9PT1vKWZvcihhPVtdLHM9MDtzPGkuZ2VvbWV0cnkubGVuZ3RoO3MrKyl7Zm9yKHZhciBsPVtdLGM9MDtjPGkuZ2VvbWV0cnlbc10ubGVuZ3RoO2MrKylsLnB1c2goYnQoaS5nZW9tZXRyeVtzXVtjXSxlKSk7YS5wdXNoKGwpfXIucHVzaChudChpLmlkLG8sYSxpLnRhZ3MpKX1yZXR1cm4gcn1mdW5jdGlvbiBidCh0LGUpe3ZhciByPVtdO3Iuc2l6ZT10LnNpemUsdm9pZCAwIT09dC5zdGFydCYmKHIuc3RhcnQ9dC5zdGFydCxyLmVuZD10LmVuZCk7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKz0zKXIucHVzaCh0W25dK2UsdFtuKzFdLHRbbisyXSk7cmV0dXJuIHJ9ZnVuY3Rpb24gX3QodCxlKXtpZih0LnRyYW5zZm9ybWVkKXJldHVybiB0O3ZhciByLG4sYSxpPTE8PHQueixvPXQueCxzPXQueTtmb3Iocj0wO3I8dC5mZWF0dXJlcy5sZW5ndGg7cisrKXt2YXIgbD10LmZlYXR1cmVzW3JdLGM9bC5nZW9tZXRyeSx1PWwudHlwZTtpZihsLmdlb21ldHJ5PVtdLDE9PT11KWZvcihuPTA7bjxjLmxlbmd0aDtuKz0yKWwuZ2VvbWV0cnkucHVzaCh3dChjW25dLGNbbisxXSxlLGksbyxzKSk7ZWxzZSBmb3Iobj0wO248Yy5sZW5ndGg7bisrKXt2YXIgaD1bXTtmb3IoYT0wO2E8Y1tuXS5sZW5ndGg7YSs9MiloLnB1c2god3QoY1tuXVthXSxjW25dW2ErMV0sZSxpLG8scykpO2wuZ2VvbWV0cnkucHVzaChoKX19cmV0dXJuIHQudHJhbnNmb3JtZWQ9ITAsdH1mdW5jdGlvbiB3dCh0LGUscixuLGEsaSl7cmV0dXJuW01hdGgucm91bmQocioodCpuLWEpKSxNYXRoLnJvdW5kKHIqKGUqbi1pKSldfWZ1bmN0aW9uIGt0KHQsZSxyLG4sYSl7Zm9yKHZhciBpPWU9PT1hLm1heFpvb20/MDphLnRvbGVyYW5jZS8oKDE8PGUpKmEuZXh0ZW50KSxvPXtmZWF0dXJlczpbXSxudW1Qb2ludHM6MCxudW1TaW1wbGlmaWVkOjAsbnVtRmVhdHVyZXM6MCxzb3VyY2U6bnVsbCx4OnIseTpuLHo6ZSx0cmFuc2Zvcm1lZDohMSxtaW5YOjIsbWluWToxLG1heFg6LTEsbWF4WTowfSxzPTA7czx0Lmxlbmd0aDtzKyspe28ubnVtRmVhdHVyZXMrKyxUdChvLHRbc10saSxhKTt2YXIgbD10W3NdLm1pblgsYz10W3NdLm1pblksdT10W3NdLm1heFgsaD10W3NdLm1heFk7bDxvLm1pblgmJihvLm1pblg9bCksYzxvLm1pblkmJihvLm1pblk9YyksdT5vLm1heFgmJihvLm1heFg9dSksaD5vLm1heFkmJihvLm1heFk9aCl9cmV0dXJuIG99ZnVuY3Rpb24gVHQodCxlLHIsbil7dmFyIGE9ZS5nZW9tZXRyeSxpPWUudHlwZSxvPVtdO2lmKCJQb2ludCI9PT1pfHwiTXVsdGlQb2ludCI9PT1pKWZvcih2YXIgcz0wO3M8YS5sZW5ndGg7cys9MylvLnB1c2goYVtzXSksby5wdXNoKGFbcysxXSksdC5udW1Qb2ludHMrKyx0Lm51bVNpbXBsaWZpZWQrKztlbHNlIGlmKCJMaW5lU3RyaW5nIj09PWkpTXQobyxhLHQsciwhMSwhMSk7ZWxzZSBpZigiTXVsdGlMaW5lU3RyaW5nIj09PWl8fCJQb2x5Z29uIj09PWkpZm9yKHM9MDtzPGEubGVuZ3RoO3MrKylNdChvLGFbc10sdCxyLCJQb2x5Z29uIj09PWksMD09PXMpO2Vsc2UgaWYoIk11bHRpUG9seWdvbiI9PT1pKWZvcih2YXIgbD0wO2w8YS5sZW5ndGg7bCsrKXt2YXIgYz1hW2xdO2ZvcihzPTA7czxjLmxlbmd0aDtzKyspTXQobyxjW3NdLHQsciwhMCwwPT09cyl9aWYoby5sZW5ndGgpe3ZhciB1PWUudGFnc3x8bnVsbDtpZigiTGluZVN0cmluZyI9PT1pJiZuLmxpbmVNZXRyaWNzKXtmb3IodmFyIGggaW4gdT17fSxlLnRhZ3MpdVtoXT1lLnRhZ3NbaF07dS5tYXBib3hfY2xpcF9zdGFydD1hLnN0YXJ0L2Euc2l6ZSx1Lm1hcGJveF9jbGlwX2VuZD1hLmVuZC9hLnNpemV9dmFyIGY9e2dlb21ldHJ5Om8sdHlwZToiUG9seWdvbiI9PT1pfHwiTXVsdGlQb2x5Z29uIj09PWk/MzoiTGluZVN0cmluZyI9PT1pfHwiTXVsdGlMaW5lU3RyaW5nIj09PWk/MjoxLHRhZ3M6dX07bnVsbCE9PWUuaWQmJihmLmlkPWUuaWQpLHQuZmVhdHVyZXMucHVzaChmKX19ZnVuY3Rpb24gTXQodCxlLHIsbixhLGkpe3ZhciBvPW4qbjtpZihuPjAmJmUuc2l6ZTwoYT9vOm4pKXIubnVtUG9pbnRzKz1lLmxlbmd0aC8zO2Vsc2V7Zm9yKHZhciBzPVtdLGw9MDtsPGUubGVuZ3RoO2wrPTMpKDA9PT1ufHxlW2wrMl0+bykmJihyLm51bVNpbXBsaWZpZWQrKyxzLnB1c2goZVtsXSkscy5wdXNoKGVbbCsxXSkpLHIubnVtUG9pbnRzKys7YSYmZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MCxuPTAsYT10Lmxlbmd0aCxpPWEtMjtuPGE7aT1uLG4rPTIpcis9KHRbbl0tdFtpXSkqKHRbbisxXSt0W2krMV0pO2lmKHI+MD09PWUpZm9yKG49MCxhPXQubGVuZ3RoO248YS8yO24rPTIpe3ZhciBvPXRbbl0scz10W24rMV07dFtuXT10W2EtMi1uXSx0W24rMV09dFthLTEtbl0sdFthLTItbl09byx0W2EtMS1uXT1zfX0ocyxpKSx0LnB1c2gocyl9fWZ1bmN0aW9uIEF0KHQsZSl7dmFyIHI9KGU9dGhpcy5vcHRpb25zPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGUpdFtyXT1lW3JdO3JldHVybiB0fShPYmplY3QuY3JlYXRlKHRoaXMub3B0aW9ucyksZSkpLmRlYnVnO2lmKHImJmNvbnNvbGUudGltZSgicHJlcHJvY2VzcyBkYXRhIiksZS5tYXhab29tPDB8fGUubWF4Wm9vbT4yNCl0aHJvdyBuZXcgRXJyb3IoIm1heFpvb20gc2hvdWxkIGJlIGluIHRoZSAwLTI0IHJhbmdlIik7aWYoZS5wcm9tb3RlSWQmJmUuZ2VuZXJhdGVJZCl0aHJvdyBuZXcgRXJyb3IoInByb21vdGVJZCBhbmQgZ2VuZXJhdGVJZCBjYW5ub3QgYmUgdXNlZCB0b2dldGhlci4iKTt2YXIgbj1mdW5jdGlvbih0LGUpe3ZhciByPVtdO2lmKCJGZWF0dXJlQ29sbGVjdGlvbiI9PT10LnR5cGUpZm9yKHZhciBuPTA7bjx0LmZlYXR1cmVzLmxlbmd0aDtuKyspaXQocix0LmZlYXR1cmVzW25dLGUsbik7ZWxzZSJGZWF0dXJlIj09PXQudHlwZT9pdChyLHQsZSk6aXQocix7Z2VvbWV0cnk6dH0sZSk7cmV0dXJuIHJ9KHQsZSk7dGhpcy50aWxlcz17fSx0aGlzLnRpbGVDb29yZHM9W10sciYmKGNvbnNvbGUudGltZUVuZCgicHJlcHJvY2VzcyBkYXRhIiksY29uc29sZS5sb2coImluZGV4OiBtYXhab29tOiAlZCwgbWF4UG9pbnRzOiAlZCIsZS5pbmRleE1heFpvb20sZS5pbmRleE1heFBvaW50cyksY29uc29sZS50aW1lKCJnZW5lcmF0ZSB0aWxlcyIpLHRoaXMuc3RhdHM9e30sdGhpcy50b3RhbD0wKSwobj1mdW5jdGlvbih0LGUpe3ZhciByPWUuYnVmZmVyL2UuZXh0ZW50LG49dCxhPWh0KHQsMSwtMS1yLHIsMCwtMSwyLGUpLGk9aHQodCwxLDEtciwyK3IsMCwtMSwyLGUpO3JldHVybihhfHxpKSYmKG49aHQodCwxLC1yLDErciwwLC0xLDIsZSl8fFtdLGEmJihuPXh0KGEsMSkuY29uY2F0KG4pKSxpJiYobj1uLmNvbmNhdCh4dChpLC0xKSkpKSxufShuLGUpKS5sZW5ndGgmJnRoaXMuc3BsaXRUaWxlKG4sMCwwLDApLHImJihuLmxlbmd0aCYmY29uc29sZS5sb2coImZlYXR1cmVzOiAlZCwgcG9pbnRzOiAlZCIsdGhpcy50aWxlc1swXS5udW1GZWF0dXJlcyx0aGlzLnRpbGVzWzBdLm51bVBvaW50cyksY29uc29sZS50aW1lRW5kKCJnZW5lcmF0ZSB0aWxlcyIpLGNvbnNvbGUubG9nKCJ0aWxlcyBnZW5lcmF0ZWQ6Iix0aGlzLnRvdGFsLEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdHMpKSl9ZnVuY3Rpb24gU3QodCxlLHIpe3JldHVybiAzMiooKDE8PHQpKnIrZSkrdH1mdW5jdGlvbiBFdCh0LGUpe3ZhciByPXQudGlsZUlELmNhbm9uaWNhbDtpZighdGhpcy5fZ2VvSlNPTkluZGV4KXJldHVybiBlKG51bGwsbnVsbCk7dmFyIG49dGhpcy5fZ2VvSlNPTkluZGV4LmdldFRpbGUoci56LHIueCxyLnkpO2lmKCFuKXJldHVybiBlKG51bGwsbnVsbCk7dmFyIGE9bmV3IGsobi5mZWF0dXJlcyksaT1FKGEpOzA9PT1pLmJ5dGVPZmZzZXQmJmkuYnl0ZUxlbmd0aD09PWkuYnVmZmVyLmJ5dGVMZW5ndGh8fChpPW5ldyBVaW50OEFycmF5KGkpKSxlKG51bGwse3ZlY3RvclRpbGU6YSxyYXdEYXRhOmkuYnVmZmVyfSl9WS5wcm90b3R5cGUubG9hZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLm9wdGlvbnMscj1lLmxvZyxuPWUubWluWm9vbSxhPWUubWF4Wm9vbSxpPWUubm9kZVNpemU7ciYmY29uc29sZS50aW1lKCJ0b3RhbCB0aW1lIik7dmFyIG89InByZXBhcmUgIit0Lmxlbmd0aCsiIHBvaW50cyI7ciYmY29uc29sZS50aW1lKG8pLHRoaXMucG9pbnRzPXQ7Zm9yKHZhciBzPVtdLGw9MDtsPHQubGVuZ3RoO2wrKyl0W2xdLmdlb21ldHJ5JiZzLnB1c2goWCh0W2xdLGwpKTt0aGlzLnRyZWVzW2ErMV09bmV3IEgocyx0dCxldCxpLEZsb2F0MzJBcnJheSksciYmY29uc29sZS50aW1lRW5kKG8pO2Zvcih2YXIgYz1hO2M+PW47Yy0tKXt2YXIgdT0rRGF0ZS5ub3coKTtzPXRoaXMuX2NsdXN0ZXIocyxjKSx0aGlzLnRyZWVzW2NdPW5ldyBIKHMsdHQsZXQsaSxGbG9hdDMyQXJyYXkpLHImJmNvbnNvbGUubG9nKCJ6JWQ6ICVkIGNsdXN0ZXJzIGluICVkbXMiLGMscy5sZW5ndGgsK0RhdGUubm93KCktdSl9cmV0dXJuIHImJmNvbnNvbGUudGltZUVuZCgidG90YWwgdGltZSIpLHRoaXN9LFkucHJvdG90eXBlLmdldENsdXN0ZXJzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9KCh0WzBdKzE4MCklMzYwKzM2MCklMzYwLTE4MCxuPU1hdGgubWF4KC05MCxNYXRoLm1pbig5MCx0WzFdKSksYT0xODA9PT10WzJdPzE4MDooKHRbMl0rMTgwKSUzNjArMzYwKSUzNjAtMTgwLGk9TWF0aC5tYXgoLTkwLE1hdGgubWluKDkwLHRbM10pKTtpZih0WzJdLXRbMF0+PTM2MClyPS0xODAsYT0xODA7ZWxzZSBpZihyPmEpe3ZhciBvPXRoaXMuZ2V0Q2x1c3RlcnMoW3IsbiwxODAsaV0sZSkscz10aGlzLmdldENsdXN0ZXJzKFstMTgwLG4sYSxpXSxlKTtyZXR1cm4gby5jb25jYXQocyl9Zm9yKHZhciBsPXRoaXMudHJlZXNbdGhpcy5fbGltaXRab29tKGUpXSxjPVtdLHU9MCxoPWwucmFuZ2UoSyhyKSxRKGkpLEsoYSksUShuKSk7dTxoLmxlbmd0aDt1Kz0xKXt2YXIgZj1oW3VdLHA9bC5wb2ludHNbZl07Yy5wdXNoKHAubnVtUG9pbnRzP1oocCk6dGhpcy5wb2ludHNbcC5pbmRleF0pfXJldHVybiBjfSxZLnByb3RvdHlwZS5nZXRDaGlsZHJlbj1mdW5jdGlvbih0KXt2YXIgZT10Pj41LHI9dCUzMixuPSJObyBjbHVzdGVyIHdpdGggdGhlIHNwZWNpZmllZCBpZC4iLGE9dGhpcy50cmVlc1tyXTtpZighYSl0aHJvdyBuZXcgRXJyb3Iobik7dmFyIGk9YS5wb2ludHNbZV07aWYoIWkpdGhyb3cgbmV3IEVycm9yKG4pO2Zvcih2YXIgbz10aGlzLm9wdGlvbnMucmFkaXVzLyh0aGlzLm9wdGlvbnMuZXh0ZW50Kk1hdGgucG93KDIsci0xKSkscz1bXSxsPTAsYz1hLndpdGhpbihpLngsaS55LG8pO2w8Yy5sZW5ndGg7bCs9MSl7dmFyIHU9Y1tsXSxoPWEucG9pbnRzW3VdO2gucGFyZW50SWQ9PT10JiZzLnB1c2goaC5udW1Qb2ludHM/WihoKTp0aGlzLnBvaW50c1toLmluZGV4XSl9aWYoMD09PXMubGVuZ3RoKXRocm93IG5ldyBFcnJvcihuKTtyZXR1cm4gc30sWS5wcm90b3R5cGUuZ2V0TGVhdmVzPWZ1bmN0aW9uKHQsZSxyKXtlPWV8fDEwLHI9cnx8MDt2YXIgbj1bXTtyZXR1cm4gdGhpcy5fYXBwZW5kTGVhdmVzKG4sdCxlLHIsMCksbn0sWS5wcm90b3R5cGUuZ2V0VGlsZT1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy50cmVlc1t0aGlzLl9saW1pdFpvb20odCldLGE9TWF0aC5wb3coMix0KSxpPXRoaXMub3B0aW9ucyxvPWkuZXh0ZW50LHM9aS5yYWRpdXMvbyxsPShyLXMpL2EsYz0ocisxK3MpL2EsdT17ZmVhdHVyZXM6W119O3JldHVybiB0aGlzLl9hZGRUaWxlRmVhdHVyZXMobi5yYW5nZSgoZS1zKS9hLGwsKGUrMStzKS9hLGMpLG4ucG9pbnRzLGUscixhLHUpLDA9PT1lJiZ0aGlzLl9hZGRUaWxlRmVhdHVyZXMobi5yYW5nZSgxLXMvYSxsLDEsYyksbi5wb2ludHMsYSxyLGEsdSksZT09PWEtMSYmdGhpcy5fYWRkVGlsZUZlYXR1cmVzKG4ucmFuZ2UoMCxsLHMvYSxjKSxuLnBvaW50cywtMSxyLGEsdSksdS5mZWF0dXJlcy5sZW5ndGg/dTpudWxsfSxZLnByb3RvdHlwZS5nZXRDbHVzdGVyRXhwYW5zaW9uWm9vbT1mdW5jdGlvbih0KXtmb3IodmFyIGU9dCUzMi0xO2U8PXRoaXMub3B0aW9ucy5tYXhab29tOyl7dmFyIHI9dGhpcy5nZXRDaGlsZHJlbih0KTtpZihlKyssMSE9PXIubGVuZ3RoKWJyZWFrO3Q9clswXS5wcm9wZXJ0aWVzLmNsdXN0ZXJfaWR9cmV0dXJuIGV9LFkucHJvdG90eXBlLl9hcHBlbmRMZWF2ZXM9ZnVuY3Rpb24odCxlLHIsbixhKXtmb3IodmFyIGk9MCxvPXRoaXMuZ2V0Q2hpbGRyZW4oZSk7aTxvLmxlbmd0aDtpKz0xKXt2YXIgcz1vW2ldLGw9cy5wcm9wZXJ0aWVzO2lmKGwmJmwuY2x1c3Rlcj9hK2wucG9pbnRfY291bnQ8PW4/YSs9bC5wb2ludF9jb3VudDphPXRoaXMuX2FwcGVuZExlYXZlcyh0LGwuY2x1c3Rlcl9pZCxyLG4sYSk6YTxuP2ErKzp0LnB1c2gocyksdC5sZW5ndGg9PT1yKWJyZWFrfXJldHVybiBhfSxZLnByb3RvdHlwZS5fYWRkVGlsZUZlYXR1cmVzPWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXtmb3IodmFyIG89MCxzPXQ7bzxzLmxlbmd0aDtvKz0xKXt2YXIgbD1lW3Nbb11dLGM9e3R5cGU6MSxnZW9tZXRyeTpbW01hdGgucm91bmQodGhpcy5vcHRpb25zLmV4dGVudCoobC54KmEtcikpLE1hdGgucm91bmQodGhpcy5vcHRpb25zLmV4dGVudCoobC55KmEtbikpXV0sdGFnczpsLm51bVBvaW50cz9KKGwpOnRoaXMucG9pbnRzW2wuaW5kZXhdLnByb3BlcnRpZXN9LHU9bC5udW1Qb2ludHM/bC5pZDp0aGlzLnBvaW50c1tsLmluZGV4XS5pZDt2b2lkIDAhPT11JiYoYy5pZD11KSxpLmZlYXR1cmVzLnB1c2goYyl9fSxZLnByb3RvdHlwZS5fbGltaXRab29tPWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLm1heCh0aGlzLm9wdGlvbnMubWluWm9vbSxNYXRoLm1pbih0LHRoaXMub3B0aW9ucy5tYXhab29tKzEpKX0sWS5wcm90b3R5cGUuX2NsdXN0ZXI9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9W10sbj10aGlzLm9wdGlvbnMsYT1uLnJhZGl1cyxpPW4uZXh0ZW50LG89bi5yZWR1Y2Uscz1hLyhpKk1hdGgucG93KDIsZSkpLGw9MDtsPHQubGVuZ3RoO2wrKyl7dmFyIGM9dFtsXTtpZighKGMuem9vbTw9ZSkpe2Muem9vbT1lO2Zvcih2YXIgdT10aGlzLnRyZWVzW2UrMV0saD11LndpdGhpbihjLngsYy55LHMpLGY9Yy5udW1Qb2ludHN8fDEscD1jLngqZixkPWMueSpmLGc9byYmZj4xP3RoaXMuX21hcChjLCEwKTpudWxsLHY9KGw8PDUpKyhlKzEpLG09MCx5PWg7bTx5Lmxlbmd0aDttKz0xKXt2YXIgeD15W21dLGI9dS5wb2ludHNbeF07aWYoIShiLnpvb208PWUpKXtiLnpvb209ZTt2YXIgXz1iLm51bVBvaW50c3x8MTtwKz1iLngqXyxkKz1iLnkqXyxmKz1fLGIucGFyZW50SWQ9dixvJiYoZ3x8KGc9dGhpcy5fbWFwKGMsITApKSxvKGcsdGhpcy5fbWFwKGIpKSl9fTE9PT1mP3IucHVzaChjKTooYy5wYXJlbnRJZD12LHIucHVzaChXKHAvZixkL2YsdixmLGcpKSl9fXJldHVybiByfSxZLnByb3RvdHlwZS5fbWFwPWZ1bmN0aW9uKHQsZSl7aWYodC5udW1Qb2ludHMpcmV0dXJuIGU/JCh7fSx0LnByb3BlcnRpZXMpOnQucHJvcGVydGllczt2YXIgcj10aGlzLnBvaW50c1t0LmluZGV4XS5wcm9wZXJ0aWVzLG49dGhpcy5vcHRpb25zLm1hcChyKTtyZXR1cm4gZSYmbj09PXI/JCh7fSxuKTpufSxBdC5wcm90b3R5cGUub3B0aW9ucz17bWF4Wm9vbToxNCxpbmRleE1heFpvb206NSxpbmRleE1heFBvaW50czoxZTUsdG9sZXJhbmNlOjMsZXh0ZW50OjQwOTYsYnVmZmVyOjY0LGxpbmVNZXRyaWNzOiExLHByb21vdGVJZDpudWxsLGdlbmVyYXRlSWQ6ITEsZGVidWc6MH0sQXQucHJvdG90eXBlLnNwbGl0VGlsZT1mdW5jdGlvbih0LGUscixuLGEsaSxvKXtmb3IodmFyIHM9W3QsZSxyLG5dLGw9dGhpcy5vcHRpb25zLGM9bC5kZWJ1ZztzLmxlbmd0aDspe249cy5wb3AoKSxyPXMucG9wKCksZT1zLnBvcCgpLHQ9cy5wb3AoKTt2YXIgdT0xPDxlLGg9U3QoZSxyLG4pLGY9dGhpcy50aWxlc1toXTtpZighZiYmKGM+MSYmY29uc29sZS50aW1lKCJjcmVhdGlvbiIpLGY9dGhpcy50aWxlc1toXT1rdCh0LGUscixuLGwpLHRoaXMudGlsZUNvb3Jkcy5wdXNoKHt6OmUseDpyLHk6bn0pLGMpKXtjPjEmJihjb25zb2xlLmxvZygidGlsZSB6JWQtJWQtJWQgKGZlYXR1cmVzOiAlZCwgcG9pbnRzOiAlZCwgc2ltcGxpZmllZDogJWQpIixlLHIsbixmLm51bUZlYXR1cmVzLGYubnVtUG9pbnRzLGYubnVtU2ltcGxpZmllZCksY29uc29sZS50aW1lRW5kKCJjcmVhdGlvbiIpKTt2YXIgcD0ieiIrZTt0aGlzLnN0YXRzW3BdPSh0aGlzLnN0YXRzW3BdfHwwKSsxLHRoaXMudG90YWwrK31pZihmLnNvdXJjZT10LGEpe2lmKGU9PT1sLm1heFpvb218fGU9PT1hKWNvbnRpbnVlO3ZhciBkPTE8PGEtZTtpZihyIT09TWF0aC5mbG9vcihpL2QpfHxuIT09TWF0aC5mbG9vcihvL2QpKWNvbnRpbnVlfWVsc2UgaWYoZT09PWwuaW5kZXhNYXhab29tfHxmLm51bVBvaW50czw9bC5pbmRleE1heFBvaW50cyljb250aW51ZTtpZihmLnNvdXJjZT1udWxsLDAhPT10Lmxlbmd0aCl7Yz4xJiZjb25zb2xlLnRpbWUoImNsaXBwaW5nIik7dmFyIGcsdixtLHkseCxiLF89LjUqbC5idWZmZXIvbC5leHRlbnQsdz0uNS1fLGs9LjUrXyxUPTErXztnPXY9bT15PW51bGwseD1odCh0LHUsci1fLHIraywwLGYubWluWCxmLm1heFgsbCksYj1odCh0LHUscit3LHIrVCwwLGYubWluWCxmLm1heFgsbCksdD1udWxsLHgmJihnPWh0KHgsdSxuLV8sbitrLDEsZi5taW5ZLGYubWF4WSxsKSx2PWh0KHgsdSxuK3csbitULDEsZi5taW5ZLGYubWF4WSxsKSx4PW51bGwpLGImJihtPWh0KGIsdSxuLV8sbitrLDEsZi5taW5ZLGYubWF4WSxsKSx5PWh0KGIsdSxuK3csbitULDEsZi5taW5ZLGYubWF4WSxsKSxiPW51bGwpLGM+MSYmY29uc29sZS50aW1lRW5kKCJjbGlwcGluZyIpLHMucHVzaChnfHxbXSxlKzEsMipyLDIqbikscy5wdXNoKHZ8fFtdLGUrMSwyKnIsMipuKzEpLHMucHVzaChtfHxbXSxlKzEsMipyKzEsMipuKSxzLnB1c2goeXx8W10sZSsxLDIqcisxLDIqbisxKX19fSxBdC5wcm90b3R5cGUuZ2V0VGlsZT1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5vcHRpb25zLGE9bi5leHRlbnQsaT1uLmRlYnVnO2lmKHQ8MHx8dD4yNClyZXR1cm4gbnVsbDt2YXIgbz0xPDx0LHM9U3QodCxlPShlJW8rbyklbyxyKTtpZih0aGlzLnRpbGVzW3NdKXJldHVybiBfdCh0aGlzLnRpbGVzW3NdLGEpO2k+MSYmY29uc29sZS5sb2coImRyaWxsaW5nIGRvd24gdG8geiVkLSVkLSVkIix0LGUscik7Zm9yKHZhciBsLGM9dCx1PWUsaD1yOyFsJiZjPjA7KWMtLSx1PU1hdGguZmxvb3IodS8yKSxoPU1hdGguZmxvb3IoaC8yKSxsPXRoaXMudGlsZXNbU3QoYyx1LGgpXTtyZXR1cm4gbCYmbC5zb3VyY2U/KGk+MSYmY29uc29sZS5sb2coImZvdW5kIHBhcmVudCB0aWxlIHolZC0lZC0lZCIsYyx1LGgpLGk+MSYmY29uc29sZS50aW1lKCJkcmlsbGluZyBkb3duIiksdGhpcy5zcGxpdFRpbGUobC5zb3VyY2UsYyx1LGgsdCxlLHIpLGk+MSYmY29uc29sZS50aW1lRW5kKCJkcmlsbGluZyBkb3duIiksdGhpcy50aWxlc1tzXT9fdCh0aGlzLnRpbGVzW3NdLGEpOm51bGwpOm51bGx9O3ZhciBMdD1mdW5jdGlvbihlKXtmdW5jdGlvbiByKHQscixuKXtlLmNhbGwodGhpcyx0LHIsRXQpLG4mJih0aGlzLmxvYWRHZW9KU09OPW4pfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5sb2FkRGF0YT1mdW5jdGlvbih0LGUpe3RoaXMuX3BlbmRpbmdDYWxsYmFjayYmdGhpcy5fcGVuZGluZ0NhbGxiYWNrKG51bGwse2FiYW5kb25lZDohMH0pLHRoaXMuX3BlbmRpbmdDYWxsYmFjaz1lLHRoaXMuX3BlbmRpbmdMb2FkRGF0YVBhcmFtcz10LHRoaXMuX3N0YXRlJiYiSWRsZSIhPT10aGlzLl9zdGF0ZT90aGlzLl9zdGF0ZT0iTmVlZHNMb2FkRGF0YSI6KHRoaXMuX3N0YXRlPSJDb2FsZXNjaW5nIix0aGlzLl9sb2FkRGF0YSgpKX0sci5wcm90b3R5cGUuX2xvYWREYXRhPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZih0aGlzLl9wZW5kaW5nQ2FsbGJhY2smJnRoaXMuX3BlbmRpbmdMb2FkRGF0YVBhcmFtcyl7dmFyIHI9dGhpcy5fcGVuZGluZ0NhbGxiYWNrLG49dGhpcy5fcGVuZGluZ0xvYWREYXRhUGFyYW1zO2RlbGV0ZSB0aGlzLl9wZW5kaW5nQ2FsbGJhY2ssZGVsZXRlIHRoaXMuX3BlbmRpbmdMb2FkRGF0YVBhcmFtczt2YXIgYT0hIShuJiZuLnJlcXVlc3QmJm4ucmVxdWVzdC5jb2xsZWN0UmVzb3VyY2VUaW1pbmcpJiZuZXcgbC5QZXJmb3JtYW5jZShuLnJlcXVlc3QpO3RoaXMubG9hZEdlb0pTT04obixmdW5jdGlvbihpLG8pe2lmKGl8fCFvKXJldHVybiByKGkpO2lmKCJvYmplY3QiIT10eXBlb2YgbylyZXR1cm4gcihuZXcgRXJyb3IoIklucHV0IGRhdGEgZ2l2ZW4gdG8gJyIrbi5zb3VyY2UrIicgaXMgbm90IGEgdmFsaWQgR2VvSlNPTiBvYmplY3QuIikpOyFmdW5jdGlvbiB0KGUscil7c3dpdGNoKGUmJmUudHlwZXx8bnVsbCl7Y2FzZSJGZWF0dXJlQ29sbGVjdGlvbiI6cmV0dXJuIGUuZmVhdHVyZXM9ZS5mZWF0dXJlcy5tYXAoeSh0LHIpKSxlO2Nhc2UiR2VvbWV0cnlDb2xsZWN0aW9uIjpyZXR1cm4gZS5nZW9tZXRyaWVzPWUuZ2VvbWV0cmllcy5tYXAoeSh0LHIpKSxlO2Nhc2UiRmVhdHVyZSI6cmV0dXJuIGUuZ2VvbWV0cnk9dChlLmdlb21ldHJ5LHIpLGU7Y2FzZSJQb2x5Z29uIjpjYXNlIk11bHRpUG9seWdvbiI6cmV0dXJuIGZ1bmN0aW9uKHQsZSl7cmV0dXJuIlBvbHlnb24iPT09dC50eXBlP3QuY29vcmRpbmF0ZXM9eCh0LmNvb3JkaW5hdGVzLGUpOiJNdWx0aVBvbHlnb24iPT09dC50eXBlJiYodC5jb29yZGluYXRlcz10LmNvb3JkaW5hdGVzLm1hcCh5KHgsZSkpKSx0fShlLHIpO2RlZmF1bHQ6cmV0dXJuIGV9fShvLCEwKTt0cnl7ZS5fZ2VvSlNPTkluZGV4PW4uY2x1c3Rlcj9uZXcgWShmdW5jdGlvbihlKXt2YXIgcj1lLnN1cGVyY2x1c3Rlck9wdGlvbnMsbj1lLmNsdXN0ZXJQcm9wZXJ0aWVzO2lmKCFufHwhcilyZXR1cm4gcjtmb3IodmFyIGE9e30saT17fSxvPXthY2N1bXVsYXRlZDpudWxsLHpvb206MH0scz17cHJvcGVydGllczpudWxsfSxsPU9iamVjdC5rZXlzKG4pLGM9MCx1PWw7Yzx1Lmxlbmd0aDtjKz0xKXt2YXIgaD11W2NdLGY9bltoXSxwPWZbMF0sZD1mWzFdLGc9dC5jcmVhdGVFeHByZXNzaW9uKGQpLHY9dC5jcmVhdGVFeHByZXNzaW9uKCJzdHJpbmciPT10eXBlb2YgcD9bcCxbImFjY3VtdWxhdGVkIl0sWyJnZXQiLGhdXTpwKTthW2hdPWcudmFsdWUsaVtoXT12LnZhbHVlfXJldHVybiByLm1hcD1mdW5jdGlvbih0KXtzLnByb3BlcnRpZXM9dDtmb3IodmFyIGU9e30scj0wLG49bDtyPG4ubGVuZ3RoO3IrPTEpe3ZhciBpPW5bcl07ZVtpXT1hW2ldLmV2YWx1YXRlKG8scyl9cmV0dXJuIGV9LHIucmVkdWNlPWZ1bmN0aW9uKHQsZSl7cy5wcm9wZXJ0aWVzPWU7Zm9yKHZhciByPTAsbj1sO3I8bi5sZW5ndGg7cis9MSl7dmFyIGE9bltyXTtvLmFjY3VtdWxhdGVkPXRbYV0sdFthXT1pW2FdLmV2YWx1YXRlKG8scyl9fSxyfShuKSkubG9hZChvLmZlYXR1cmVzKTpuZXcgQXQobyxuLmdlb2pzb25WdE9wdGlvbnMpfWNhdGNoKGkpe3JldHVybiByKGkpfWUubG9hZGVkPXt9O3ZhciBzPXt9O2lmKGEpe3ZhciBsPWEuZmluaXNoKCk7bCYmKHMucmVzb3VyY2VUaW1pbmc9e30scy5yZXNvdXJjZVRpbWluZ1tuLnNvdXJjZV09SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShsKSkpfXIobnVsbCxzKX0pfX0sci5wcm90b3R5cGUuY29hbGVzY2U9ZnVuY3Rpb24oKXsiQ29hbGVzY2luZyI9PT10aGlzLl9zdGF0ZT90aGlzLl9zdGF0ZT0iSWRsZSI6Ik5lZWRzTG9hZERhdGEiPT09dGhpcy5fc3RhdGUmJih0aGlzLl9zdGF0ZT0iQ29hbGVzY2luZyIsdGhpcy5fbG9hZERhdGEoKSl9LHIucHJvdG90eXBlLnJlbG9hZFRpbGU9ZnVuY3Rpb24odCxyKXt2YXIgbj10aGlzLmxvYWRlZCxhPXQudWlkO3JldHVybiBuJiZuW2FdP2UucHJvdG90eXBlLnJlbG9hZFRpbGUuY2FsbCh0aGlzLHQscik6dGhpcy5sb2FkVGlsZSh0LHIpfSxyLnByb3RvdHlwZS5sb2FkR2VvSlNPTj1mdW5jdGlvbihlLHIpe2lmKGUucmVxdWVzdCl0LmdldEpTT04oZS5yZXF1ZXN0LHIpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiBlLmRhdGEpcmV0dXJuIHIobmV3IEVycm9yKCJJbnB1dCBkYXRhIGdpdmVuIHRvICciK2Uuc291cmNlKyInIGlzIG5vdCBhIHZhbGlkIEdlb0pTT04gb2JqZWN0LiIpKTt0cnl7cmV0dXJuIHIobnVsbCxKU09OLnBhcnNlKGUuZGF0YSkpfWNhdGNoKHQpe3JldHVybiByKG5ldyBFcnJvcigiSW5wdXQgZGF0YSBnaXZlbiB0byAnIitlLnNvdXJjZSsiJyBpcyBub3QgYSB2YWxpZCBHZW9KU09OIG9iamVjdC4iKSl9fX0sci5wcm90b3R5cGUucmVtb3ZlU291cmNlPWZ1bmN0aW9uKHQsZSl7dGhpcy5fcGVuZGluZ0NhbGxiYWNrJiZ0aGlzLl9wZW5kaW5nQ2FsbGJhY2sobnVsbCx7YWJhbmRvbmVkOiEwfSksZSgpfSxyLnByb3RvdHlwZS5nZXRDbHVzdGVyRXhwYW5zaW9uWm9vbT1mdW5jdGlvbih0LGUpe2UobnVsbCx0aGlzLl9nZW9KU09OSW5kZXguZ2V0Q2x1c3RlckV4cGFuc2lvblpvb20odC5jbHVzdGVySWQpKX0sci5wcm90b3R5cGUuZ2V0Q2x1c3RlckNoaWxkcmVuPWZ1bmN0aW9uKHQsZSl7ZShudWxsLHRoaXMuX2dlb0pTT05JbmRleC5nZXRDaGlsZHJlbih0LmNsdXN0ZXJJZCkpfSxyLnByb3RvdHlwZS5nZXRDbHVzdGVyTGVhdmVzPWZ1bmN0aW9uKHQsZSl7ZShudWxsLHRoaXMuX2dlb0pTT05JbmRleC5nZXRMZWF2ZXModC5jbHVzdGVySWQsdC5saW1pdCx0Lm9mZnNldCkpfSxyfShoKSxDdD1mdW5jdGlvbihlKXt2YXIgcj10aGlzO3RoaXMuc2VsZj1lLHRoaXMuYWN0b3I9bmV3IHQuQWN0b3IoZSx0aGlzKSx0aGlzLmxheWVySW5kZXhlcz17fSx0aGlzLndvcmtlclNvdXJjZVR5cGVzPXt2ZWN0b3I6aCxnZW9qc29uOkx0fSx0aGlzLndvcmtlclNvdXJjZXM9e30sdGhpcy5kZW1Xb3JrZXJTb3VyY2VzPXt9LHRoaXMuc2VsZi5yZWdpc3RlcldvcmtlclNvdXJjZT1mdW5jdGlvbih0LGUpe2lmKHIud29ya2VyU291cmNlVHlwZXNbdF0pdGhyb3cgbmV3IEVycm9yKCdXb3JrZXIgc291cmNlIHdpdGggbmFtZSAiJyt0KyciIGFscmVhZHkgcmVnaXN0ZXJlZC4nKTtyLndvcmtlclNvdXJjZVR5cGVzW3RdPWV9LHRoaXMuc2VsZi5yZWdpc3RlclJUTFRleHRQbHVnaW49ZnVuY3Rpb24oZSl7aWYodC5wbHVnaW4uaXNMb2FkZWQoKSl0aHJvdyBuZXcgRXJyb3IoIlJUTCB0ZXh0IHBsdWdpbiBhbHJlYWR5IHJlZ2lzdGVyZWQuIik7dC5wbHVnaW4uYXBwbHlBcmFiaWNTaGFwaW5nPWUuYXBwbHlBcmFiaWNTaGFwaW5nLHQucGx1Z2luLnByb2Nlc3NCaWRpcmVjdGlvbmFsVGV4dD1lLnByb2Nlc3NCaWRpcmVjdGlvbmFsVGV4dCx0LnBsdWdpbi5wcm9jZXNzU3R5bGVkQmlkaXJlY3Rpb25hbFRleHQ9ZS5wcm9jZXNzU3R5bGVkQmlkaXJlY3Rpb25hbFRleHR9fTtyZXR1cm4gQ3QucHJvdG90eXBlLnNldFJlZmVycmVyPWZ1bmN0aW9uKHQsZSl7dGhpcy5yZWZlcnJlcj1lfSxDdC5wcm90b3R5cGUuc2V0TGF5ZXJzPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLmdldExheWVySW5kZXgodCkucmVwbGFjZShlKSxyKCl9LEN0LnByb3RvdHlwZS51cGRhdGVMYXllcnM9ZnVuY3Rpb24odCxlLHIpe3RoaXMuZ2V0TGF5ZXJJbmRleCh0KS51cGRhdGUoZS5sYXllcnMsZS5yZW1vdmVkSWRzKSxyKCl9LEN0LnByb3RvdHlwZS5sb2FkVGlsZT1mdW5jdGlvbih0LGUscil7dGhpcy5nZXRXb3JrZXJTb3VyY2UodCxlLnR5cGUsZS5zb3VyY2UpLmxvYWRUaWxlKGUscil9LEN0LnByb3RvdHlwZS5sb2FkREVNVGlsZT1mdW5jdGlvbih0LGUscil7dGhpcy5nZXRERU1Xb3JrZXJTb3VyY2UodCxlLnNvdXJjZSkubG9hZFRpbGUoZSxyKX0sQ3QucHJvdG90eXBlLnJlbG9hZFRpbGU9ZnVuY3Rpb24odCxlLHIpe3RoaXMuZ2V0V29ya2VyU291cmNlKHQsZS50eXBlLGUuc291cmNlKS5yZWxvYWRUaWxlKGUscil9LEN0LnByb3RvdHlwZS5hYm9ydFRpbGU9ZnVuY3Rpb24odCxlLHIpe3RoaXMuZ2V0V29ya2VyU291cmNlKHQsZS50eXBlLGUuc291cmNlKS5hYm9ydFRpbGUoZSxyKX0sQ3QucHJvdG90eXBlLnJlbW92ZVRpbGU9ZnVuY3Rpb24odCxlLHIpe3RoaXMuZ2V0V29ya2VyU291cmNlKHQsZS50eXBlLGUuc291cmNlKS5yZW1vdmVUaWxlKGUscil9LEN0LnByb3RvdHlwZS5yZW1vdmVERU1UaWxlPWZ1bmN0aW9uKHQsZSl7dGhpcy5nZXRERU1Xb3JrZXJTb3VyY2UodCxlLnNvdXJjZSkucmVtb3ZlVGlsZShlKX0sQ3QucHJvdG90eXBlLnJlbW92ZVNvdXJjZT1mdW5jdGlvbih0LGUscil7aWYodGhpcy53b3JrZXJTb3VyY2VzW3RdJiZ0aGlzLndvcmtlclNvdXJjZXNbdF1bZS50eXBlXSYmdGhpcy53b3JrZXJTb3VyY2VzW3RdW2UudHlwZV1bZS5zb3VyY2VdKXt2YXIgbj10aGlzLndvcmtlclNvdXJjZXNbdF1bZS50eXBlXVtlLnNvdXJjZV07ZGVsZXRlIHRoaXMud29ya2VyU291cmNlc1t0XVtlLnR5cGVdW2Uuc291cmNlXSx2b2lkIDAhPT1uLnJlbW92ZVNvdXJjZT9uLnJlbW92ZVNvdXJjZShlLHIpOnIoKX19LEN0LnByb3RvdHlwZS5sb2FkV29ya2VyU291cmNlPWZ1bmN0aW9uKHQsZSxyKXt0cnl7dGhpcy5zZWxmLmltcG9ydFNjcmlwdHMoZS51cmwpLHIoKX1jYXRjaCh0KXtyKHQudG9TdHJpbmcoKSl9fSxDdC5wcm90b3R5cGUubG9hZFJUTFRleHRQbHVnaW49ZnVuY3Rpb24oZSxyLG4pe3RyeXt0LnBsdWdpbi5pc0xvYWRlZCgpfHwodGhpcy5zZWxmLmltcG9ydFNjcmlwdHMociksbih0LnBsdWdpbi5pc0xvYWRlZCgpP251bGw6bmV3IEVycm9yKCJSVEwgVGV4dCBQbHVnaW4gZmFpbGVkIHRvIGltcG9ydCBzY3JpcHRzIGZyb20gIityKSkpfWNhdGNoKHQpe24odC50b1N0cmluZygpKX19LEN0LnByb3RvdHlwZS5nZXRMYXllckluZGV4PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubGF5ZXJJbmRleGVzW3RdO3JldHVybiBlfHwoZT10aGlzLmxheWVySW5kZXhlc1t0XT1uZXcgbiksZX0sQ3QucHJvdG90eXBlLmdldFdvcmtlclNvdXJjZT1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcztpZih0aGlzLndvcmtlclNvdXJjZXNbdF18fCh0aGlzLndvcmtlclNvdXJjZXNbdF09e30pLHRoaXMud29ya2VyU291cmNlc1t0XVtlXXx8KHRoaXMud29ya2VyU291cmNlc1t0XVtlXT17fSksIXRoaXMud29ya2VyU291cmNlc1t0XVtlXVtyXSl7dmFyIGE9e3NlbmQ6ZnVuY3Rpb24oZSxyLGEpe24uYWN0b3Iuc2VuZChlLHIsYSx0KX19O3RoaXMud29ya2VyU291cmNlc1t0XVtlXVtyXT1uZXcgdGhpcy53b3JrZXJTb3VyY2VUeXBlc1tlXShhLHRoaXMuZ2V0TGF5ZXJJbmRleCh0KSl9cmV0dXJuIHRoaXMud29ya2VyU291cmNlc1t0XVtlXVtyXX0sQ3QucHJvdG90eXBlLmdldERFTVdvcmtlclNvdXJjZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmRlbVdvcmtlclNvdXJjZXNbdF18fCh0aGlzLmRlbVdvcmtlclNvdXJjZXNbdF09e30pLHRoaXMuZGVtV29ya2VyU291cmNlc1t0XVtlXXx8KHRoaXMuZGVtV29ya2VyU291cmNlc1t0XVtlXT1uZXcgZiksdGhpcy5kZW1Xb3JrZXJTb3VyY2VzW3RdW2VdfSxDdC5wcm90b3R5cGUuZW5mb3JjZUNhY2hlU2l6ZUxpbWl0PWZ1bmN0aW9uKGUscil7dC5lbmZvcmNlQ2FjaGVTaXplTGltaXQocil9LCJ1bmRlZmluZWQiIT10eXBlb2YgV29ya2VyR2xvYmFsU2NvcGUmJnZvaWQgMCE9PXQud2luZG93JiZ0LndpbmRvdyBpbnN0YW5jZW9mIFdvcmtlckdsb2JhbFNjb3BlJiYodC53aW5kb3cud29ya2VyPW5ldyBDdCh0LndpbmRvdykpLEN0fSksbigwLGZ1bmN0aW9uKHQpe3ZhciBlPXQuY3JlYXRlQ29tbW9uanNNb2R1bGUoZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4hISgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCYmQXJyYXkucHJvdG90eXBlJiZBcnJheS5wcm90b3R5cGUuZXZlcnkmJkFycmF5LnByb3RvdHlwZS5maWx0ZXImJkFycmF5LnByb3RvdHlwZS5mb3JFYWNoJiZBcnJheS5wcm90b3R5cGUuaW5kZXhPZiYmQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mJiZBcnJheS5wcm90b3R5cGUubWFwJiZBcnJheS5wcm90b3R5cGUuc29tZSYmQXJyYXkucHJvdG90eXBlLnJlZHVjZSYmQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0JiZBcnJheS5pc0FycmF5JiZGdW5jdGlvbi5wcm90b3R5cGUmJkZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kJiZPYmplY3Qua2V5cyYmT2JqZWN0LmNyZWF0ZSYmT2JqZWN0LmdldFByb3RvdHlwZU9mJiZPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyYmT2JqZWN0LmlzU2VhbGVkJiZPYmplY3QuaXNGcm96ZW4mJk9iamVjdC5pc0V4dGVuc2libGUmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3ImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmRlZmluZVByb3BlcnRpZXMmJk9iamVjdC5zZWFsJiZPYmplY3QuZnJlZXplJiZPYmplY3QucHJldmVudEV4dGVuc2lvbnMmJiJKU09OImluIHdpbmRvdyYmInBhcnNlImluIEpTT04mJiJzdHJpbmdpZnkiaW4gSlNPTiYmZnVuY3Rpb24oKXtpZighKCJXb3JrZXIiaW4gd2luZG93JiYiQmxvYiJpbiB3aW5kb3cmJiJVUkwiaW4gd2luZG93KSlyZXR1cm4hMTt2YXIgdCxlLHI9bmV3IEJsb2IoWyIiXSx7dHlwZToidGV4dC9qYXZhc2NyaXB0In0pLG49VVJMLmNyZWF0ZU9iamVjdFVSTChyKTt0cnl7ZT1uZXcgV29ya2VyKG4pLHQ9ITB9Y2F0Y2goZSl7dD0hMX1yZXR1cm4gZSYmZS50ZXJtaW5hdGUoKSxVUkwucmV2b2tlT2JqZWN0VVJMKG4pLHR9KCkmJiJVaW50OENsYW1wZWRBcnJheSJpbiB3aW5kb3cmJkFycmF5QnVmZmVyLmlzVmlldyYmZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXJbdF0mJihyW3RdPWZ1bmN0aW9uKHQpe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLG49T2JqZWN0LmNyZWF0ZShlLndlYkdMQ29udGV4dEF0dHJpYnV0ZXMpO3JldHVybiBuLmZhaWxJZk1ham9yUGVyZm9ybWFuY2VDYXZlYXQ9dCxyLnByb2JhYmx5U3VwcG9ydHNDb250ZXh0P3IucHJvYmFibHlTdXBwb3J0c0NvbnRleHQoIndlYmdsIixuKXx8ci5wcm9iYWJseVN1cHBvcnRzQ29udGV4dCgiZXhwZXJpbWVudGFsLXdlYmdsIixuKTpyLnN1cHBvcnRzQ29udGV4dD9yLnN1cHBvcnRzQ29udGV4dCgid2ViZ2wiLG4pfHxyLnN1cHBvcnRzQ29udGV4dCgiZXhwZXJpbWVudGFsLXdlYmdsIixuKTpyLmdldENvbnRleHQoIndlYmdsIixuKXx8ci5nZXRDb250ZXh0KCJleHBlcmltZW50YWwtd2ViZ2wiLG4pfSh0KSksclt0XX0odCYmdC5mYWlsSWZNYWpvclBlcmZvcm1hbmNlQ2F2ZWF0KSl9dC5leHBvcnRzP3QuZXhwb3J0cz1lOndpbmRvdyYmKHdpbmRvdy5tYXBib3hnbD13aW5kb3cubWFwYm94Z2x8fHt9LHdpbmRvdy5tYXBib3hnbC5zdXBwb3J0ZWQ9ZSk7dmFyIHI9e307ZS53ZWJHTENvbnRleHRBdHRyaWJ1dGVzPXthbnRpYWxpYXM6ITEsYWxwaGE6ITAsc3RlbmNpbDohMCxkZXB0aDohMH19KSxyPXtjcmVhdGU6ZnVuY3Rpb24oZSxyLG4pe3ZhciBhPXQud2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZSk7cmV0dXJuIHZvaWQgMCE9PXImJihhLmNsYXNzTmFtZT1yKSxuJiZuLmFwcGVuZENoaWxkKGEpLGF9LGNyZWF0ZU5TOmZ1bmN0aW9uKGUscil7cmV0dXJuIHQud2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhlLHIpfX0sbj10LndpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGU7ZnVuY3Rpb24gYSh0KXtpZighbilyZXR1cm4gdFswXTtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKylpZih0W2VdaW4gbilyZXR1cm4gdFtlXTtyZXR1cm4gdFswXX12YXIgaSxvPWEoWyJ1c2VyU2VsZWN0IiwiTW96VXNlclNlbGVjdCIsIldlYmtpdFVzZXJTZWxlY3QiLCJtc1VzZXJTZWxlY3QiXSk7ci5kaXNhYmxlRHJhZz1mdW5jdGlvbigpe24mJm8mJihpPW5bb10sbltvXT0ibm9uZSIpfSxyLmVuYWJsZURyYWc9ZnVuY3Rpb24oKXtuJiZvJiYobltvXT1pKX07dmFyIHM9YShbInRyYW5zZm9ybSIsIldlYmtpdFRyYW5zZm9ybSJdKTtyLnNldFRyYW5zZm9ybT1mdW5jdGlvbih0LGUpe3Quc3R5bGVbc109ZX07dmFyIGw9ITE7dHJ5e3ZhciBjPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe2w9ITB9fSk7dC53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsYyxjKSx0LndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0IixjLGMpfWNhdGNoKHQpe2w9ITF9ci5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKHQsZSxyLG4pe3ZvaWQgMD09PW4mJihuPXt9KSwicGFzc2l2ZSJpbiBuJiZsP3QuYWRkRXZlbnRMaXN0ZW5lcihlLHIsbik6dC5hZGRFdmVudExpc3RlbmVyKGUscixuLmNhcHR1cmUpfSxyLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24odCxlLHIsbil7dm9pZCAwPT09biYmKG49e30pLCJwYXNzaXZlImluIG4mJmw/dC5yZW1vdmVFdmVudExpc3RlbmVyKGUscixuKTp0LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxyLG4uY2FwdHVyZSl9O3ZhciB1PWZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHQud2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix1LCEwKX07ZnVuY3Rpb24gaCh0KXt2YXIgZT10LnVzZXJJbWFnZTtyZXR1cm4hIShlJiZlLnJlbmRlciYmZS5yZW5kZXIoKSkmJih0LmRhdGEucmVwbGFjZShuZXcgVWludDhBcnJheShlLmRhdGEuYnVmZmVyKSksITApfXIuc3VwcHJlc3NDbGljaz1mdW5jdGlvbigpe3Qud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix1LCEwKSx0LndpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHUsITApfSwwKX0sci5tb3VzZVBvcz1mdW5jdGlvbihlLHIpe3ZhciBuPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksYT10LndpbmRvdy5Ub3VjaEV2ZW50JiZyIGluc3RhbmNlb2YgdC53aW5kb3cuVG91Y2hFdmVudD9yLnRvdWNoZXNbMF06cjtyZXR1cm4gbmV3IHQuUG9pbnQoYS5jbGllbnRYLW4ubGVmdC1lLmNsaWVudExlZnQsYS5jbGllbnRZLW4udG9wLWUuY2xpZW50VG9wKX0sci50b3VjaFBvcz1mdW5jdGlvbihlLHIpe2Zvcih2YXIgbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9W10saT0idG91Y2hlbmQiPT09ci50eXBlP3IuY2hhbmdlZFRvdWNoZXM6ci50b3VjaGVzLG89MDtvPGkubGVuZ3RoO28rKylhLnB1c2gobmV3IHQuUG9pbnQoaVtvXS5jbGllbnRYLW4ubGVmdC1lLmNsaWVudExlZnQsaVtvXS5jbGllbnRZLW4udG9wLWUuY2xpZW50VG9wKSk7cmV0dXJuIGF9LHIubW91c2VCdXR0b249ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMCE9PXQud2luZG93Lkluc3RhbGxUcmlnZ2VyJiYyPT09ZS5idXR0b24mJmUuY3RybEtleSYmdC53aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtLnRvVXBwZXJDYXNlKCkuaW5kZXhPZigiTUFDIik+PTA/MDplLmJ1dHRvbn0sci5yZW1vdmU9ZnVuY3Rpb24odCl7dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCl9O3ZhciBmPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHIoKXtlLmNhbGwodGhpcyksdGhpcy5pbWFnZXM9e30sdGhpcy51cGRhdGVkSW1hZ2VzPXt9LHRoaXMuY2FsbGJhY2tEaXNwYXRjaGVkVGhpc0ZyYW1lPXt9LHRoaXMubG9hZGVkPSExLHRoaXMucmVxdWVzdG9ycz1bXSx0aGlzLnBhdHRlcm5zPXt9LHRoaXMuYXRsYXNJbWFnZT1uZXcgdC5SR0JBSW1hZ2Uoe3dpZHRoOjEsaGVpZ2h0OjF9KSx0aGlzLmRpcnR5PSEwfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5pc0xvYWRlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxvYWRlZH0sci5wcm90b3R5cGUuc2V0TG9hZGVkPWZ1bmN0aW9uKHQpe2lmKHRoaXMubG9hZGVkIT09dCYmKHRoaXMubG9hZGVkPXQsdCkpe2Zvcih2YXIgZT0wLHI9dGhpcy5yZXF1ZXN0b3JzO2U8ci5sZW5ndGg7ZSs9MSl7dmFyIG49cltlXSxhPW4uaWRzLGk9bi5jYWxsYmFjazt0aGlzLl9ub3RpZnkoYSxpKX10aGlzLnJlcXVlc3RvcnM9W119fSxyLnByb3RvdHlwZS5nZXRJbWFnZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbWFnZXNbdF19LHIucHJvdG90eXBlLmFkZEltYWdlPWZ1bmN0aW9uKHQsZSl7dGhpcy5pbWFnZXNbdF09ZX0sci5wcm90b3R5cGUudXBkYXRlSW1hZ2U9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmltYWdlc1t0XTtlLnZlcnNpb249ci52ZXJzaW9uKzEsdGhpcy5pbWFnZXNbdF09ZSx0aGlzLnVwZGF0ZWRJbWFnZXNbdF09ITB9LHIucHJvdG90eXBlLnJlbW92ZUltYWdlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuaW1hZ2VzW3RdO2RlbGV0ZSB0aGlzLmltYWdlc1t0XSxkZWxldGUgdGhpcy5wYXR0ZXJuc1t0XSxlLnVzZXJJbWFnZSYmZS51c2VySW1hZ2Uub25SZW1vdmUmJmUudXNlckltYWdlLm9uUmVtb3ZlKCl9LHIucHJvdG90eXBlLmxpc3RJbWFnZXM9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5pbWFnZXMpfSxyLnByb3RvdHlwZS5nZXRJbWFnZXM9ZnVuY3Rpb24odCxlKXt2YXIgcj0hMDtpZighdGhpcy5pc0xvYWRlZCgpKWZvcih2YXIgbj0wLGE9dDtuPGEubGVuZ3RoO24rPTEpe3ZhciBpPWFbbl07dGhpcy5pbWFnZXNbaV18fChyPSExKX10aGlzLmlzTG9hZGVkKCl8fHI/dGhpcy5fbm90aWZ5KHQsZSk6dGhpcy5yZXF1ZXN0b3JzLnB1c2goe2lkczp0LGNhbGxiYWNrOmV9KX0sci5wcm90b3R5cGUuX25vdGlmeT1mdW5jdGlvbihlLHIpe2Zvcih2YXIgbj17fSxhPTAsaT1lO2E8aS5sZW5ndGg7YSs9MSl7dmFyIG89aVthXTt0aGlzLmltYWdlc1tvXXx8dGhpcy5maXJlKG5ldyB0LkV2ZW50KCJzdHlsZWltYWdlbWlzc2luZyIse2lkOm99KSk7dmFyIHM9dGhpcy5pbWFnZXNbb107cz9uW29dPXtkYXRhOnMuZGF0YS5jbG9uZSgpLHBpeGVsUmF0aW86cy5waXhlbFJhdGlvLHNkZjpzLnNkZix2ZXJzaW9uOnMudmVyc2lvbixoYXNSZW5kZXJDYWxsYmFjazpCb29sZWFuKHMudXNlckltYWdlJiZzLnVzZXJJbWFnZS5yZW5kZXIpfTp0Lndhcm5PbmNlKCdJbWFnZSAiJytvKyciIGNvdWxkIG5vdCBiZSBsb2FkZWQuIFBsZWFzZSBtYWtlIHN1cmUgeW91IGhhdmUgYWRkZWQgdGhlIGltYWdlIHdpdGggbWFwLmFkZEltYWdlKCkgb3IgYSAic3ByaXRlIiBwcm9wZXJ0eSBpbiB5b3VyIHN0eWxlLiBZb3UgY2FuIHByb3ZpZGUgbWlzc2luZyBpbWFnZXMgYnkgbGlzdGVuaW5nIGZvciB0aGUgInN0eWxlaW1hZ2VtaXNzaW5nIiBtYXAgZXZlbnQuJyl9cihudWxsLG4pfSxyLnByb3RvdHlwZS5nZXRQaXhlbFNpemU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmF0bGFzSW1hZ2U7cmV0dXJue3dpZHRoOnQud2lkdGgsaGVpZ2h0OnQuaGVpZ2h0fX0sci5wcm90b3R5cGUuZ2V0UGF0dGVybj1mdW5jdGlvbihlKXt2YXIgcj10aGlzLnBhdHRlcm5zW2VdLG49dGhpcy5nZXRJbWFnZShlKTtpZighbilyZXR1cm4gbnVsbDtpZihyJiZyLnBvc2l0aW9uLnZlcnNpb249PT1uLnZlcnNpb24pcmV0dXJuIHIucG9zaXRpb247aWYocilyLnBvc2l0aW9uLnZlcnNpb249bi52ZXJzaW9uO2Vsc2V7dmFyIGE9e3c6bi5kYXRhLndpZHRoKzIsaDpuLmRhdGEuaGVpZ2h0KzIseDowLHk6MH0saT1uZXcgdC5JbWFnZVBvc2l0aW9uKGEsbik7dGhpcy5wYXR0ZXJuc1tlXT17YmluOmEscG9zaXRpb246aX19cmV0dXJuIHRoaXMuX3VwZGF0ZVBhdHRlcm5BdGxhcygpLHRoaXMucGF0dGVybnNbZV0ucG9zaXRpb259LHIucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oZSl7dmFyIHI9ZS5nbDt0aGlzLmF0bGFzVGV4dHVyZT90aGlzLmRpcnR5JiYodGhpcy5hdGxhc1RleHR1cmUudXBkYXRlKHRoaXMuYXRsYXNJbWFnZSksdGhpcy5kaXJ0eT0hMSk6dGhpcy5hdGxhc1RleHR1cmU9bmV3IHQuVGV4dHVyZShlLHRoaXMuYXRsYXNJbWFnZSxyLlJHQkEpLHRoaXMuYXRsYXNUZXh0dXJlLmJpbmQoci5MSU5FQVIsci5DTEFNUF9UT19FREdFKX0sci5wcm90b3R5cGUuX3VwZGF0ZVBhdHRlcm5BdGxhcz1mdW5jdGlvbigpe3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0aGlzLnBhdHRlcm5zKWUucHVzaCh0aGlzLnBhdHRlcm5zW3JdLmJpbik7dmFyIG49dC5wb3RwYWNrKGUpLGE9bi53LGk9bi5oLG89dGhpcy5hdGxhc0ltYWdlO2Zvcih2YXIgcyBpbiBvLnJlc2l6ZSh7d2lkdGg6YXx8MSxoZWlnaHQ6aXx8MX0pLHRoaXMucGF0dGVybnMpe3ZhciBsPXRoaXMucGF0dGVybnNbc10uYmluLGM9bC54KzEsdT1sLnkrMSxoPXRoaXMuaW1hZ2VzW3NdLmRhdGEsZj1oLndpZHRoLHA9aC5oZWlnaHQ7dC5SR0JBSW1hZ2UuY29weShoLG8se3g6MCx5OjB9LHt4OmMseTp1fSx7d2lkdGg6ZixoZWlnaHQ6cH0pLHQuUkdCQUltYWdlLmNvcHkoaCxvLHt4OjAseTpwLTF9LHt4OmMseTp1LTF9LHt3aWR0aDpmLGhlaWdodDoxfSksdC5SR0JBSW1hZ2UuY29weShoLG8se3g6MCx5OjB9LHt4OmMseTp1K3B9LHt3aWR0aDpmLGhlaWdodDoxfSksdC5SR0JBSW1hZ2UuY29weShoLG8se3g6Zi0xLHk6MH0se3g6Yy0xLHk6dX0se3dpZHRoOjEsaGVpZ2h0OnB9KSx0LlJHQkFJbWFnZS5jb3B5KGgsbyx7eDowLHk6MH0se3g6YytmLHk6dX0se3dpZHRoOjEsaGVpZ2h0OnB9KX10aGlzLmRpcnR5PSEwfSxyLnByb3RvdHlwZS5iZWdpbkZyYW1lPWZ1bmN0aW9uKCl7dGhpcy5jYWxsYmFja0Rpc3BhdGNoZWRUaGlzRnJhbWU9e319LHIucHJvdG90eXBlLmRpc3BhdGNoUmVuZGVyQ2FsbGJhY2tzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLHI9dDtlPHIubGVuZ3RoO2UrPTEpe3ZhciBuPXJbZV07aWYoIXRoaXMuY2FsbGJhY2tEaXNwYXRjaGVkVGhpc0ZyYW1lW25dKXt0aGlzLmNhbGxiYWNrRGlzcGF0Y2hlZFRoaXNGcmFtZVtuXT0hMDt2YXIgYT10aGlzLmltYWdlc1tuXTtoKGEpJiZ0aGlzLnVwZGF0ZUltYWdlKG4sYSl9fX0scn0odC5FdmVudGVkKSxwPXYsZD12LGc9MWUyMDtmdW5jdGlvbiB2KHQsZSxyLG4sYSxpKXt0aGlzLmZvbnRTaXplPXR8fDI0LHRoaXMuYnVmZmVyPXZvaWQgMD09PWU/MzplLHRoaXMuY3V0b2ZmPW58fC4yNSx0aGlzLmZvbnRGYW1pbHk9YXx8InNhbnMtc2VyaWYiLHRoaXMuZm9udFdlaWdodD1pfHwibm9ybWFsIix0aGlzLnJhZGl1cz1yfHw4O3ZhciBvPXRoaXMuc2l6ZT10aGlzLmZvbnRTaXplKzIqdGhpcy5idWZmZXI7dGhpcy5jYW52YXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksdGhpcy5jYW52YXMud2lkdGg9dGhpcy5jYW52YXMuaGVpZ2h0PW8sdGhpcy5jdHg9dGhpcy5jYW52YXMuZ2V0Q29udGV4dCgiMmQiKSx0aGlzLmN0eC5mb250PXRoaXMuZm9udFdlaWdodCsiICIrdGhpcy5mb250U2l6ZSsicHggIit0aGlzLmZvbnRGYW1pbHksdGhpcy5jdHgudGV4dEJhc2VsaW5lPSJtaWRkbGUiLHRoaXMuY3R4LmZpbGxTdHlsZT0iYmxhY2siLHRoaXMuZ3JpZE91dGVyPW5ldyBGbG9hdDY0QXJyYXkobypvKSx0aGlzLmdyaWRJbm5lcj1uZXcgRmxvYXQ2NEFycmF5KG8qbyksdGhpcy5mPW5ldyBGbG9hdDY0QXJyYXkobyksdGhpcy5kPW5ldyBGbG9hdDY0QXJyYXkobyksdGhpcy56PW5ldyBGbG9hdDY0QXJyYXkobysxKSx0aGlzLnY9bmV3IEludDE2QXJyYXkobyksdGhpcy5taWRkbGU9TWF0aC5yb3VuZChvLzIqKG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiR2Vja28vIik+PTA/MS4yOjEpKX1mdW5jdGlvbiBtKHQsZSxyLG4sYSxpLG8pe2Zvcih2YXIgcz0wO3M8ZTtzKyspe2Zvcih2YXIgbD0wO2w8cjtsKyspbltsXT10W2wqZStzXTtmb3IoeShuLGEsaSxvLHIpLGw9MDtsPHI7bCsrKXRbbCplK3NdPWFbbF19Zm9yKGw9MDtsPHI7bCsrKXtmb3Iocz0wO3M8ZTtzKyspbltzXT10W2wqZStzXTtmb3IoeShuLGEsaSxvLGUpLHM9MDtzPGU7cysrKXRbbCplK3NdPU1hdGguc3FydChhW3NdKX19ZnVuY3Rpb24geSh0LGUscixuLGEpe3JbMF09MCxuWzBdPS1nLG5bMV09K2c7Zm9yKHZhciBpPTEsbz0wO2k8YTtpKyspe2Zvcih2YXIgcz0odFtpXStpKmktKHRbcltvXV0rcltvXSpyW29dKSkvKDIqaS0yKnJbb10pO3M8PW5bb107KW8tLSxzPSh0W2ldK2kqaS0odFtyW29dXStyW29dKnJbb10pKS8oMippLTIqcltvXSk7clsrK29dPWksbltvXT1zLG5bbysxXT0rZ31mb3IoaT0wLG89MDtpPGE7aSsrKXtmb3IoO25bbysxXTxpOylvKys7ZVtpXT0oaS1yW29dKSooaS1yW29dKSt0W3Jbb11dfX12LnByb3RvdHlwZS5kcmF3PWZ1bmN0aW9uKHQpe3RoaXMuY3R4LmNsZWFyUmVjdCgwLDAsdGhpcy5zaXplLHRoaXMuc2l6ZSksdGhpcy5jdHguZmlsbFRleHQodCx0aGlzLmJ1ZmZlcix0aGlzLm1pZGRsZSk7Zm9yKHZhciBlPXRoaXMuY3R4LmdldEltYWdlRGF0YSgwLDAsdGhpcy5zaXplLHRoaXMuc2l6ZSkscj1uZXcgVWludDhDbGFtcGVkQXJyYXkodGhpcy5zaXplKnRoaXMuc2l6ZSksbj0wO248dGhpcy5zaXplKnRoaXMuc2l6ZTtuKyspe3ZhciBhPWUuZGF0YVs0Km4rM10vMjU1O3RoaXMuZ3JpZE91dGVyW25dPTE9PT1hPzA6MD09PWE/ZzpNYXRoLnBvdyhNYXRoLm1heCgwLC41LWEpLDIpLHRoaXMuZ3JpZElubmVyW25dPTE9PT1hP2c6MD09PWE/MDpNYXRoLnBvdyhNYXRoLm1heCgwLGEtLjUpLDIpfWZvcihtKHRoaXMuZ3JpZE91dGVyLHRoaXMuc2l6ZSx0aGlzLnNpemUsdGhpcy5mLHRoaXMuZCx0aGlzLnYsdGhpcy56KSxtKHRoaXMuZ3JpZElubmVyLHRoaXMuc2l6ZSx0aGlzLnNpemUsdGhpcy5mLHRoaXMuZCx0aGlzLnYsdGhpcy56KSxuPTA7bjx0aGlzLnNpemUqdGhpcy5zaXplO24rKyl7dmFyIGk9dGhpcy5ncmlkT3V0ZXJbbl0tdGhpcy5ncmlkSW5uZXJbbl07cltuXT1NYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKDI1NS0yNTUqKGkvdGhpcy5yYWRpdXMrdGhpcy5jdXRvZmYpKSkpfXJldHVybiByfSxwLmRlZmF1bHQ9ZDt2YXIgeD1mdW5jdGlvbih0LGUpe3RoaXMucmVxdWVzdE1hbmFnZXI9dCx0aGlzLmxvY2FsSWRlb2dyYXBoRm9udEZhbWlseT1lLHRoaXMuZW50cmllcz17fX07eC5wcm90b3R5cGUuc2V0VVJMPWZ1bmN0aW9uKHQpe3RoaXMudXJsPXR9LHgucHJvdG90eXBlLmdldEdseXBocz1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXMsYT1bXTtmb3IodmFyIGkgaW4gZSlmb3IodmFyIG89MCxzPWVbaV07bzxzLmxlbmd0aDtvKz0xKXt2YXIgbD1zW29dO2EucHVzaCh7c3RhY2s6aSxpZDpsfSl9dC5hc3luY0FsbChhLGZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5zdGFjayxhPXQuaWQsaT1uLmVudHJpZXNbcl07aXx8KGk9bi5lbnRyaWVzW3JdPXtnbHlwaHM6e30scmVxdWVzdHM6e319KTt2YXIgbz1pLmdseXBoc1thXTtpZih2b2lkIDA9PT1vKXtpZihvPW4uX3RpbnlTREYoaSxyLGEpKXJldHVybiBpLmdseXBoc1thXT1vLHZvaWQgZShudWxsLHtzdGFjazpyLGlkOmEsZ2x5cGg6b30pO3ZhciBzPU1hdGguZmxvb3IoYS8yNTYpO2lmKDI1NipzPjY1NTM1KWUobmV3IEVycm9yKCJnbHlwaHMgPiA2NTUzNSBub3Qgc3VwcG9ydGVkIikpO2Vsc2V7dmFyIGw9aS5yZXF1ZXN0c1tzXTtsfHwobD1pLnJlcXVlc3RzW3NdPVtdLHgubG9hZEdseXBoUmFuZ2UocixzLG4udXJsLG4ucmVxdWVzdE1hbmFnZXIsZnVuY3Rpb24odCxlKXtpZihlKWZvcih2YXIgciBpbiBlKW4uX2RvZXNDaGFyU3VwcG9ydExvY2FsR2x5cGgoK3IpfHwoaS5nbHlwaHNbK3JdPWVbK3JdKTtmb3IodmFyIGE9MCxvPWw7YTxvLmxlbmd0aDthKz0xKSgwLG9bYV0pKHQsZSk7ZGVsZXRlIGkucmVxdWVzdHNbc119KSksbC5wdXNoKGZ1bmN0aW9uKHQsbil7dD9lKHQpOm4mJmUobnVsbCx7c3RhY2s6cixpZDphLGdseXBoOm5bYV18fG51bGx9KX0pfX1lbHNlIGUobnVsbCx7c3RhY2s6cixpZDphLGdseXBoOm99KX0sZnVuY3Rpb24odCxlKXtpZih0KXIodCk7ZWxzZSBpZihlKXtmb3IodmFyIG49e30sYT0wLGk9ZTthPGkubGVuZ3RoO2ErPTEpe3ZhciBvPWlbYV0scz1vLnN0YWNrLGw9by5pZCxjPW8uZ2x5cGg7KG5bc118fChuW3NdPXt9KSlbbF09YyYme2lkOmMuaWQsYml0bWFwOmMuYml0bWFwLmNsb25lKCksbWV0cmljczpjLm1ldHJpY3N9fXIobnVsbCxuKX19KX0seC5wcm90b3R5cGUuX2RvZXNDaGFyU3VwcG9ydExvY2FsR2x5cGg9ZnVuY3Rpb24oZSl7cmV0dXJuISF0aGlzLmxvY2FsSWRlb2dyYXBoRm9udEZhbWlseSYmKHQuaXNDaGFyWyJDSksgVW5pZmllZCBJZGVvZ3JhcGhzIl0oZSl8fHQuaXNDaGFyWyJIYW5ndWwgU3lsbGFibGVzIl0oZSl8fHQuaXNDaGFyLkhpcmFnYW5hKGUpfHx0LmlzQ2hhci5LYXRha2FuYShlKSl9LHgucHJvdG90eXBlLl90aW55U0RGPWZ1bmN0aW9uKGUscixuKXt2YXIgYT10aGlzLmxvY2FsSWRlb2dyYXBoRm9udEZhbWlseTtpZihhJiZ0aGlzLl9kb2VzQ2hhclN1cHBvcnRMb2NhbEdseXBoKG4pKXt2YXIgaT1lLnRpbnlTREY7aWYoIWkpe3ZhciBvPSI0MDAiOy9ib2xkL2kudGVzdChyKT9vPSI5MDAiOi9tZWRpdW0vaS50ZXN0KHIpP289IjUwMCI6L2xpZ2h0L2kudGVzdChyKSYmKG89IjIwMCIpLGk9ZS50aW55U0RGPW5ldyB4LlRpbnlTREYoMjQsMyw4LC4yNSxhLG8pfXJldHVybntpZDpuLGJpdG1hcDpuZXcgdC5BbHBoYUltYWdlKHt3aWR0aDozMCxoZWlnaHQ6MzB9LGkuZHJhdyhTdHJpbmcuZnJvbUNoYXJDb2RlKG4pKSksbWV0cmljczp7d2lkdGg6MjQsaGVpZ2h0OjI0LGxlZnQ6MCx0b3A6LTgsYWR2YW5jZToyNH19fX0seC5sb2FkR2x5cGhSYW5nZT1mdW5jdGlvbihlLHIsbixhLGkpe3ZhciBvPTI1NipyLHM9bysyNTUsbD1hLnRyYW5zZm9ybVJlcXVlc3QoYS5ub3JtYWxpemVHbHlwaHNVUkwobikucmVwbGFjZSgie2ZvbnRzdGFja30iLGUpLnJlcGxhY2UoIntyYW5nZX0iLG8rIi0iK3MpLHQuUmVzb3VyY2VUeXBlLkdseXBocyk7dC5nZXRBcnJheUJ1ZmZlcihsLGZ1bmN0aW9uKGUscil7aWYoZSlpKGUpO2Vsc2UgaWYocil7Zm9yKHZhciBuPXt9LGE9MCxvPXQucGFyc2VHbHlwaFBCRihyKTthPG8ubGVuZ3RoO2ErPTEpe3ZhciBzPW9bYV07bltzLmlkXT1zfWkobnVsbCxuKX19KX0seC5UaW55U0RGPXA7dmFyIGI9ZnVuY3Rpb24oKXt0aGlzLnNwZWNpZmljYXRpb249dC5zdHlsZVNwZWMubGlnaHQucG9zaXRpb259O2IucHJvdG90eXBlLnBvc3NpYmx5RXZhbHVhdGU9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdC5zcGhlcmljYWxUb0NhcnRlc2lhbihlLmV4cHJlc3Npb24uZXZhbHVhdGUocikpfSxiLnByb3RvdHlwZS5pbnRlcnBvbGF0ZT1mdW5jdGlvbihlLHIsbil7cmV0dXJue3g6dC5udW1iZXIoZS54LHIueCxuKSx5OnQubnVtYmVyKGUueSxyLnksbiksejp0Lm51bWJlcihlLnosci56LG4pfX07dmFyIF89bmV3IHQuUHJvcGVydGllcyh7YW5jaG9yOm5ldyB0LkRhdGFDb25zdGFudFByb3BlcnR5KHQuc3R5bGVTcGVjLmxpZ2h0LmFuY2hvcikscG9zaXRpb246bmV3IGIsY29sb3I6bmV3IHQuRGF0YUNvbnN0YW50UHJvcGVydHkodC5zdHlsZVNwZWMubGlnaHQuY29sb3IpLGludGVuc2l0eTpuZXcgdC5EYXRhQ29uc3RhbnRQcm9wZXJ0eSh0LnN0eWxlU3BlYy5saWdodC5pbnRlbnNpdHkpfSksdz1mdW5jdGlvbihlKXtmdW5jdGlvbiByKHIpe2UuY2FsbCh0aGlzKSx0aGlzLl90cmFuc2l0aW9uYWJsZT1uZXcgdC5UcmFuc2l0aW9uYWJsZShfKSx0aGlzLnNldExpZ2h0KHIpLHRoaXMuX3RyYW5zaXRpb25pbmc9dGhpcy5fdHJhbnNpdGlvbmFibGUudW50cmFuc2l0aW9uZWQoKX1yZXR1cm4gZSYmKHIuX19wcm90b19fPWUpLHIucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsci5wcm90b3R5cGUuZ2V0TGlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdHJhbnNpdGlvbmFibGUuc2VyaWFsaXplKCl9LHIucHJvdG90eXBlLnNldExpZ2h0PWZ1bmN0aW9uKGUscil7aWYodm9pZCAwPT09ciYmKHI9e30pLCF0aGlzLl92YWxpZGF0ZSh0LnZhbGlkYXRlTGlnaHQsZSxyKSlmb3IodmFyIG4gaW4gZSl7dmFyIGE9ZVtuXTt0LmVuZHNXaXRoKG4sIi10cmFuc2l0aW9uIik/dGhpcy5fdHJhbnNpdGlvbmFibGUuc2V0VHJhbnNpdGlvbihuLnNsaWNlKDAsLSItdHJhbnNpdGlvbiIubGVuZ3RoKSxhKTp0aGlzLl90cmFuc2l0aW9uYWJsZS5zZXRWYWx1ZShuLGEpfX0sci5wcm90b3R5cGUudXBkYXRlVHJhbnNpdGlvbnM9ZnVuY3Rpb24odCl7dGhpcy5fdHJhbnNpdGlvbmluZz10aGlzLl90cmFuc2l0aW9uYWJsZS50cmFuc2l0aW9uZWQodCx0aGlzLl90cmFuc2l0aW9uaW5nKX0sci5wcm90b3R5cGUuaGFzVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl90cmFuc2l0aW9uaW5nLmhhc1RyYW5zaXRpb24oKX0sci5wcm90b3R5cGUucmVjYWxjdWxhdGU9ZnVuY3Rpb24odCl7dGhpcy5wcm9wZXJ0aWVzPXRoaXMuX3RyYW5zaXRpb25pbmcucG9zc2libHlFdmFsdWF0ZSh0KX0sci5wcm90b3R5cGUuX3ZhbGlkYXRlPWZ1bmN0aW9uKGUscixuKXtyZXR1cm4oIW58fCExIT09bi52YWxpZGF0ZSkmJnQuZW1pdFZhbGlkYXRpb25FcnJvcnModGhpcyxlLmNhbGwodC52YWxpZGF0ZVN0eWxlLHQuZXh0ZW5kKHt2YWx1ZTpyLHN0eWxlOntnbHlwaHM6ITAsc3ByaXRlOiEwfSxzdHlsZVNwZWM6dC5zdHlsZVNwZWN9KSkpfSxyfSh0LkV2ZW50ZWQpLGs9ZnVuY3Rpb24odCxlKXt0aGlzLndpZHRoPXQsdGhpcy5oZWlnaHQ9ZSx0aGlzLm5leHRSb3c9MCx0aGlzLmJ5dGVzPTQsdGhpcy5kYXRhPW5ldyBVaW50OEFycmF5KHRoaXMud2lkdGgqdGhpcy5oZWlnaHQqdGhpcy5ieXRlcyksdGhpcy5wb3NpdGlvbnM9e319O2sucHJvdG90eXBlLmdldERhc2g9ZnVuY3Rpb24odCxlKXt2YXIgcj10LmpvaW4oIiwiKStTdHJpbmcoZSk7cmV0dXJuIHRoaXMucG9zaXRpb25zW3JdfHwodGhpcy5wb3NpdGlvbnNbcl09dGhpcy5hZGREYXNoKHQsZSkpLHRoaXMucG9zaXRpb25zW3JdfSxrLnByb3RvdHlwZS5hZGREYXNoPWZ1bmN0aW9uKGUscil7dmFyIG49cj83OjAsYT0yKm4rMTtpZih0aGlzLm5leHRSb3crYT50aGlzLmhlaWdodClyZXR1cm4gdC53YXJuT25jZSgiTGluZUF0bGFzIG91dCBvZiBzcGFjZSIpLG51bGw7Zm9yKHZhciBpPTAsbz0wO288ZS5sZW5ndGg7bysrKWkrPWVbb107Zm9yKHZhciBzPXRoaXMud2lkdGgvaSxsPXMvMixjPWUubGVuZ3RoJTI9PTEsdT0tbjt1PD1uO3UrKylmb3IodmFyIGg9dGhpcy5uZXh0Um93K24rdSxmPXRoaXMud2lkdGgqaCxwPWM/LWVbZS5sZW5ndGgtMV06MCxkPWVbMF0sZz0xLHY9MDt2PHRoaXMud2lkdGg7disrKXtmb3IoO2Q8di9zOylwPWQsZCs9ZVtnXSxjJiZnPT09ZS5sZW5ndGgtMSYmKGQrPWVbMF0pLGcrKzt2YXIgbT1NYXRoLmFicyh2LXAqcykseT1NYXRoLmFicyh2LWQqcykseD1NYXRoLm1pbihtLHkpLGI9ZyUyPT0xLF89dm9pZCAwO2lmKHIpe3ZhciB3PW4/dS9uKihsKzEpOjA7aWYoYil7dmFyIGs9bC1NYXRoLmFicyh3KTtfPU1hdGguc3FydCh4KngrayprKX1lbHNlIF89bC1NYXRoLnNxcnQoeCp4K3cqdyl9ZWxzZSBfPShiPzE6LTEpKng7dGhpcy5kYXRhWzMrNCooZit2KV09TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsXysxMjgpKX12YXIgVD17eToodGhpcy5uZXh0Um93K24rLjUpL3RoaXMuaGVpZ2h0LGhlaWdodDoyKm4vdGhpcy5oZWlnaHQsd2lkdGg6aX07cmV0dXJuIHRoaXMubmV4dFJvdys9YSx0aGlzLmRpcnR5PSEwLFR9LGsucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24odCl7dmFyIGU9dC5nbDt0aGlzLnRleHR1cmU/KGUuYmluZFRleHR1cmUoZS5URVhUVVJFXzJELHRoaXMudGV4dHVyZSksdGhpcy5kaXJ0eSYmKHRoaXMuZGlydHk9ITEsZS50ZXhTdWJJbWFnZTJEKGUuVEVYVFVSRV8yRCwwLDAsMCx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0LGUuUkdCQSxlLlVOU0lHTkVEX0JZVEUsdGhpcy5kYXRhKSkpOih0aGlzLnRleHR1cmU9ZS5jcmVhdGVUZXh0dXJlKCksZS5iaW5kVGV4dHVyZShlLlRFWFRVUkVfMkQsdGhpcy50ZXh0dXJlKSxlLnRleFBhcmFtZXRlcmkoZS5URVhUVVJFXzJELGUuVEVYVFVSRV9XUkFQX1MsZS5SRVBFQVQpLGUudGV4UGFyYW1ldGVyaShlLlRFWFRVUkVfMkQsZS5URVhUVVJFX1dSQVBfVCxlLlJFUEVBVCksZS50ZXhQYXJhbWV0ZXJpKGUuVEVYVFVSRV8yRCxlLlRFWFRVUkVfTUlOX0ZJTFRFUixlLkxJTkVBUiksZS50ZXhQYXJhbWV0ZXJpKGUuVEVYVFVSRV8yRCxlLlRFWFRVUkVfTUFHX0ZJTFRFUixlLkxJTkVBUiksZS50ZXhJbWFnZTJEKGUuVEVYVFVSRV8yRCwwLGUuUkdCQSx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0LDAsZS5SR0JBLGUuVU5TSUdORURfQllURSx0aGlzLmRhdGEpKX07dmFyIFQ9ZnVuY3Rpb24gZShyLG4pe3RoaXMud29ya2VyUG9vbD1yLHRoaXMuYWN0b3JzPVtdLHRoaXMuY3VycmVudEFjdG9yPTAsdGhpcy5pZD10LnVuaXF1ZUlkKCk7Zm9yKHZhciBhPXRoaXMud29ya2VyUG9vbC5hY3F1aXJlKHRoaXMuaWQpLGk9MDtpPGEubGVuZ3RoO2krKyl7dmFyIG89YVtpXSxzPW5ldyBlLkFjdG9yKG8sbix0aGlzLmlkKTtzLm5hbWU9IldvcmtlciAiK2ksdGhpcy5hY3RvcnMucHVzaChzKX19O2Z1bmN0aW9uIE0oZSxyLG4pe3ZhciBhPWZ1bmN0aW9uKGEsaSl7aWYoYSlyZXR1cm4gbihhKTtpZihpKXt2YXIgbz10LnBpY2sodC5leHRlbmQoaSxlKSxbInRpbGVzIiwibWluem9vbSIsIm1heHpvb20iLCJhdHRyaWJ1dGlvbiIsIm1hcGJveF9sb2dvIiwiYm91bmRzIiwic2NoZW1lIiwidGlsZVNpemUiLCJlbmNvZGluZyJdKTtpLnZlY3Rvcl9sYXllcnMmJihvLnZlY3RvckxheWVycz1pLnZlY3Rvcl9sYXllcnMsby52ZWN0b3JMYXllcklkcz1vLnZlY3RvckxheWVycy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWR9KSksZS51cmwmJihvLnRpbGVzPXIuY2Fub25pY2FsaXplVGlsZXNldChvLGUudXJsKSksbihudWxsLG8pfX07cmV0dXJuIGUudXJsP3QuZ2V0SlNPTihyLnRyYW5zZm9ybVJlcXVlc3Qoci5ub3JtYWxpemVTb3VyY2VVUkwoZS51cmwpLHQuUmVzb3VyY2VUeXBlLlNvdXJjZSksYSk6dC5icm93c2VyLmZyYW1lKGZ1bmN0aW9uKCl7cmV0dXJuIGEobnVsbCxlKX0pfVQucHJvdG90eXBlLmJyb2FkY2FzdD1mdW5jdGlvbihlLHIsbil7bj1ufHxmdW5jdGlvbigpe30sdC5hc3luY0FsbCh0aGlzLmFjdG9ycyxmdW5jdGlvbih0LG4pe3Quc2VuZChlLHIsbil9LG4pfSxULnByb3RvdHlwZS5nZXRBY3Rvcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbnRBY3Rvcj0odGhpcy5jdXJyZW50QWN0b3IrMSkldGhpcy5hY3RvcnMubGVuZ3RoLHRoaXMuYWN0b3JzW3RoaXMuY3VycmVudEFjdG9yXX0sVC5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7dGhpcy5hY3RvcnMuZm9yRWFjaChmdW5jdGlvbih0KXt0LnJlbW92ZSgpfSksdGhpcy5hY3RvcnM9W10sdGhpcy53b3JrZXJQb29sLnJlbGVhc2UodGhpcy5pZCl9LFQuQWN0b3I9dC5BY3Rvcjt2YXIgQT1mdW5jdGlvbihlLHIsbil7dGhpcy5ib3VuZHM9dC5MbmdMYXRCb3VuZHMuY29udmVydCh0aGlzLnZhbGlkYXRlQm91bmRzKGUpKSx0aGlzLm1pbnpvb209cnx8MCx0aGlzLm1heHpvb209bnx8MjR9O0EucHJvdG90eXBlLnZhbGlkYXRlQm91bmRzPWZ1bmN0aW9uKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpJiY0PT09dC5sZW5ndGg/W01hdGgubWF4KC0xODAsdFswXSksTWF0aC5tYXgoLTkwLHRbMV0pLE1hdGgubWluKDE4MCx0WzJdKSxNYXRoLm1pbig5MCx0WzNdKV06Wy0xODAsLTkwLDE4MCw5MF19LEEucHJvdG90eXBlLmNvbnRhaW5zPWZ1bmN0aW9uKGUpe3ZhciByPU1hdGgucG93KDIsZS56KSxuPU1hdGguZmxvb3IodC5tZXJjYXRvclhmcm9tTG5nKHRoaXMuYm91bmRzLmdldFdlc3QoKSkqciksYT1NYXRoLmZsb29yKHQubWVyY2F0b3JZZnJvbUxhdCh0aGlzLmJvdW5kcy5nZXROb3J0aCgpKSpyKSxpPU1hdGguY2VpbCh0Lm1lcmNhdG9yWGZyb21MbmcodGhpcy5ib3VuZHMuZ2V0RWFzdCgpKSpyKSxvPU1hdGguY2VpbCh0Lm1lcmNhdG9yWWZyb21MYXQodGhpcy5ib3VuZHMuZ2V0U291dGgoKSkqcik7cmV0dXJuIGUueD49biYmZS54PGkmJmUueT49YSYmZS55PG99O3ZhciBTPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHIocixuLGEsaSl7aWYoZS5jYWxsKHRoaXMpLHRoaXMuaWQ9cix0aGlzLmRpc3BhdGNoZXI9YSx0aGlzLnR5cGU9InZlY3RvciIsdGhpcy5taW56b29tPTAsdGhpcy5tYXh6b29tPTIyLHRoaXMuc2NoZW1lPSJ4eXoiLHRoaXMudGlsZVNpemU9NTEyLHRoaXMucmVwYXJzZU92ZXJzY2FsZWQ9ITAsdGhpcy5pc1RpbGVDbGlwcGVkPSEwLHRoaXMuX2xvYWRlZD0hMSx0LmV4dGVuZCh0aGlzLHQucGljayhuLFsidXJsIiwic2NoZW1lIiwidGlsZVNpemUiXSkpLHRoaXMuX29wdGlvbnM9dC5leHRlbmQoe3R5cGU6InZlY3RvciJ9LG4pLHRoaXMuX2NvbGxlY3RSZXNvdXJjZVRpbWluZz1uLmNvbGxlY3RSZXNvdXJjZVRpbWluZyw1MTIhPT10aGlzLnRpbGVTaXplKXRocm93IG5ldyBFcnJvcigidmVjdG9yIHRpbGUgc291cmNlcyBtdXN0IGhhdmUgYSB0aWxlU2l6ZSBvZiA1MTIiKTt0aGlzLnNldEV2ZW50ZWRQYXJlbnQoaSl9cmV0dXJuIGUmJihyLl9fcHJvdG9fXz1lKSxyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLHIucHJvdG90eXBlLmxvYWQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2xvYWRlZD0hMSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoImRhdGFsb2FkaW5nIix7ZGF0YVR5cGU6InNvdXJjZSJ9KSksdGhpcy5fdGlsZUpTT05SZXF1ZXN0PU0odGhpcy5fb3B0aW9ucyx0aGlzLm1hcC5fcmVxdWVzdE1hbmFnZXIsZnVuY3Rpb24ocixuKXtlLl90aWxlSlNPTlJlcXVlc3Q9bnVsbCxlLl9sb2FkZWQ9ITAscj9lLmZpcmUobmV3IHQuRXJyb3JFdmVudChyKSk6biYmKHQuZXh0ZW5kKGUsbiksbi5ib3VuZHMmJihlLnRpbGVCb3VuZHM9bmV3IEEobi5ib3VuZHMsZS5taW56b29tLGUubWF4em9vbSkpLHQucG9zdFR1cm5zdGlsZUV2ZW50KG4udGlsZXMsZS5tYXAuX3JlcXVlc3RNYW5hZ2VyLl9jdXN0b21BY2Nlc3NUb2tlbiksdC5wb3N0TWFwTG9hZEV2ZW50KG4udGlsZXMsZS5tYXAuX2dldE1hcElkKCksZS5tYXAuX3JlcXVlc3RNYW5hZ2VyLl9za3VUb2tlbixlLm1hcC5fcmVxdWVzdE1hbmFnZXIuX2N1c3RvbUFjY2Vzc1Rva2VuKSxlLmZpcmUobmV3IHQuRXZlbnQoImRhdGEiLHtkYXRhVHlwZToic291cmNlIixzb3VyY2VEYXRhVHlwZToibWV0YWRhdGEifSkpLGUuZmlyZShuZXcgdC5FdmVudCgiZGF0YSIse2RhdGFUeXBlOiJzb3VyY2UiLHNvdXJjZURhdGFUeXBlOiJjb250ZW50In0pKSl9KX0sci5wcm90b3R5cGUubG9hZGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xvYWRlZH0sci5wcm90b3R5cGUuaGFzVGlsZT1mdW5jdGlvbih0KXtyZXR1cm4hdGhpcy50aWxlQm91bmRzfHx0aGlzLnRpbGVCb3VuZHMuY29udGFpbnModC5jYW5vbmljYWwpfSxyLnByb3RvdHlwZS5vbkFkZD1mdW5jdGlvbih0KXt0aGlzLm1hcD10LHRoaXMubG9hZCgpfSxyLnByb3RvdHlwZS5vblJlbW92ZT1mdW5jdGlvbigpe3RoaXMuX3RpbGVKU09OUmVxdWVzdCYmKHRoaXMuX3RpbGVKU09OUmVxdWVzdC5jYW5jZWwoKSx0aGlzLl90aWxlSlNPTlJlcXVlc3Q9bnVsbCl9LHIucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiB0LmV4dGVuZCh7fSx0aGlzLl9vcHRpb25zKX0sci5wcm90b3R5cGUubG9hZFRpbGU9ZnVuY3Rpb24oZSxyKXt2YXIgbj10aGlzLm1hcC5fcmVxdWVzdE1hbmFnZXIubm9ybWFsaXplVGlsZVVSTChlLnRpbGVJRC5jYW5vbmljYWwudXJsKHRoaXMudGlsZXMsdGhpcy5zY2hlbWUpLHRoaXMudXJsLG51bGwpLGE9e3JlcXVlc3Q6dGhpcy5tYXAuX3JlcXVlc3RNYW5hZ2VyLnRyYW5zZm9ybVJlcXVlc3Qobix0LlJlc291cmNlVHlwZS5UaWxlKSx1aWQ6ZS51aWQsdGlsZUlEOmUudGlsZUlELHpvb206ZS50aWxlSUQub3ZlcnNjYWxlZFosdGlsZVNpemU6dGhpcy50aWxlU2l6ZSplLnRpbGVJRC5vdmVyc2NhbGVGYWN0b3IoKSx0eXBlOnRoaXMudHlwZSxzb3VyY2U6dGhpcy5pZCxwaXhlbFJhdGlvOnQuYnJvd3Nlci5kZXZpY2VQaXhlbFJhdGlvLHNob3dDb2xsaXNpb25Cb3hlczp0aGlzLm1hcC5zaG93Q29sbGlzaW9uQm94ZXN9O2Z1bmN0aW9uIGkobixhKXtyZXR1cm4gZGVsZXRlIGUucmVxdWVzdCxlLmFib3J0ZWQ/cihudWxsKTpuJiY0MDQhPT1uLnN0YXR1cz9yKG4pOihhJiZhLnJlc291cmNlVGltaW5nJiYoZS5yZXNvdXJjZVRpbWluZz1hLnJlc291cmNlVGltaW5nKSx0aGlzLm1hcC5fcmVmcmVzaEV4cGlyZWRUaWxlcyYmYSYmZS5zZXRFeHBpcnlEYXRhKGEpLGUubG9hZFZlY3RvckRhdGEoYSx0aGlzLm1hcC5wYWludGVyKSx0LmNhY2hlRW50cnlQb3NzaWJseUFkZGVkKHRoaXMuZGlzcGF0Y2hlcikscihudWxsKSx2b2lkKGUucmVsb2FkQ2FsbGJhY2smJih0aGlzLmxvYWRUaWxlKGUsZS5yZWxvYWRDYWxsYmFjayksZS5yZWxvYWRDYWxsYmFjaz1udWxsKSkpfWEucmVxdWVzdC5jb2xsZWN0UmVzb3VyY2VUaW1pbmc9dGhpcy5fY29sbGVjdFJlc291cmNlVGltaW5nLGUuYWN0b3ImJiJleHBpcmVkIiE9PWUuc3RhdGU/ImxvYWRpbmciPT09ZS5zdGF0ZT9lLnJlbG9hZENhbGxiYWNrPXI6ZS5yZXF1ZXN0PWUuYWN0b3Iuc2VuZCgicmVsb2FkVGlsZSIsYSxpLmJpbmQodGhpcykpOihlLmFjdG9yPXRoaXMuZGlzcGF0Y2hlci5nZXRBY3RvcigpLGUucmVxdWVzdD1lLmFjdG9yLnNlbmQoImxvYWRUaWxlIixhLGkuYmluZCh0aGlzKSkpfSxyLnByb3RvdHlwZS5hYm9ydFRpbGU9ZnVuY3Rpb24odCl7dC5yZXF1ZXN0JiYodC5yZXF1ZXN0LmNhbmNlbCgpLGRlbGV0ZSB0LnJlcXVlc3QpLHQuYWN0b3ImJnQuYWN0b3Iuc2VuZCgiYWJvcnRUaWxlIix7dWlkOnQudWlkLHR5cGU6dGhpcy50eXBlLHNvdXJjZTp0aGlzLmlkfSx2b2lkIDApfSxyLnByb3RvdHlwZS51bmxvYWRUaWxlPWZ1bmN0aW9uKHQpe3QudW5sb2FkVmVjdG9yRGF0YSgpLHQuYWN0b3ImJnQuYWN0b3Iuc2VuZCgicmVtb3ZlVGlsZSIse3VpZDp0LnVpZCx0eXBlOnRoaXMudHlwZSxzb3VyY2U6dGhpcy5pZH0sdm9pZCAwKX0sci5wcm90b3R5cGUuaGFzVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiExfSxyfSh0LkV2ZW50ZWQpLEU9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcihyLG4sYSxpKXtlLmNhbGwodGhpcyksdGhpcy5pZD1yLHRoaXMuZGlzcGF0Y2hlcj1hLHRoaXMuc2V0RXZlbnRlZFBhcmVudChpKSx0aGlzLnR5cGU9InJhc3RlciIsdGhpcy5taW56b29tPTAsdGhpcy5tYXh6b29tPTIyLHRoaXMucm91bmRab29tPSEwLHRoaXMuc2NoZW1lPSJ4eXoiLHRoaXMudGlsZVNpemU9NTEyLHRoaXMuX2xvYWRlZD0hMSx0aGlzLl9vcHRpb25zPXQuZXh0ZW5kKHt0eXBlOiJyYXN0ZXIifSxuKSx0LmV4dGVuZCh0aGlzLHQucGljayhuLFsidXJsIiwic2NoZW1lIiwidGlsZVNpemUiXSkpfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9sb2FkZWQ9ITEsdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhbG9hZGluZyIse2RhdGFUeXBlOiJzb3VyY2UifSkpLHRoaXMuX3RpbGVKU09OUmVxdWVzdD1NKHRoaXMuX29wdGlvbnMsdGhpcy5tYXAuX3JlcXVlc3RNYW5hZ2VyLGZ1bmN0aW9uKHIsbil7ZS5fdGlsZUpTT05SZXF1ZXN0PW51bGwsZS5fbG9hZGVkPSEwLHI/ZS5maXJlKG5ldyB0LkVycm9yRXZlbnQocikpOm4mJih0LmV4dGVuZChlLG4pLG4uYm91bmRzJiYoZS50aWxlQm91bmRzPW5ldyBBKG4uYm91bmRzLGUubWluem9vbSxlLm1heHpvb20pKSx0LnBvc3RUdXJuc3RpbGVFdmVudChuLnRpbGVzKSx0LnBvc3RNYXBMb2FkRXZlbnQobi50aWxlcyxlLm1hcC5fZ2V0TWFwSWQoKSxlLm1hcC5fcmVxdWVzdE1hbmFnZXIuX3NrdVRva2VuKSxlLmZpcmUobmV3IHQuRXZlbnQoImRhdGEiLHtkYXRhVHlwZToic291cmNlIixzb3VyY2VEYXRhVHlwZToibWV0YWRhdGEifSkpLGUuZmlyZShuZXcgdC5FdmVudCgiZGF0YSIse2RhdGFUeXBlOiJzb3VyY2UiLHNvdXJjZURhdGFUeXBlOiJjb250ZW50In0pKSl9KX0sci5wcm90b3R5cGUubG9hZGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xvYWRlZH0sci5wcm90b3R5cGUub25BZGQ9ZnVuY3Rpb24odCl7dGhpcy5tYXA9dCx0aGlzLmxvYWQoKX0sci5wcm90b3R5cGUub25SZW1vdmU9ZnVuY3Rpb24oKXt0aGlzLl90aWxlSlNPTlJlcXVlc3QmJih0aGlzLl90aWxlSlNPTlJlcXVlc3QuY2FuY2VsKCksdGhpcy5fdGlsZUpTT05SZXF1ZXN0PW51bGwpfSxyLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdC5leHRlbmQoe30sdGhpcy5fb3B0aW9ucyl9LHIucHJvdG90eXBlLmhhc1RpbGU9ZnVuY3Rpb24odCl7cmV0dXJuIXRoaXMudGlsZUJvdW5kc3x8dGhpcy50aWxlQm91bmRzLmNvbnRhaW5zKHQuY2Fub25pY2FsKX0sci5wcm90b3R5cGUubG9hZFRpbGU9ZnVuY3Rpb24oZSxyKXt2YXIgbj10aGlzLGE9dGhpcy5tYXAuX3JlcXVlc3RNYW5hZ2VyLm5vcm1hbGl6ZVRpbGVVUkwoZS50aWxlSUQuY2Fub25pY2FsLnVybCh0aGlzLnRpbGVzLHRoaXMuc2NoZW1lKSx0aGlzLnVybCx0aGlzLnRpbGVTaXplKTtlLnJlcXVlc3Q9dC5nZXRJbWFnZSh0aGlzLm1hcC5fcmVxdWVzdE1hbmFnZXIudHJhbnNmb3JtUmVxdWVzdChhLHQuUmVzb3VyY2VUeXBlLlRpbGUpLGZ1bmN0aW9uKGEsaSl7aWYoZGVsZXRlIGUucmVxdWVzdCxlLmFib3J0ZWQpZS5zdGF0ZT0idW5sb2FkZWQiLHIobnVsbCk7ZWxzZSBpZihhKWUuc3RhdGU9ImVycm9yZWQiLHIoYSk7ZWxzZSBpZihpKXtuLm1hcC5fcmVmcmVzaEV4cGlyZWRUaWxlcyYmZS5zZXRFeHBpcnlEYXRhKGkpLGRlbGV0ZSBpLmNhY2hlQ29udHJvbCxkZWxldGUgaS5leHBpcmVzO3ZhciBvPW4ubWFwLnBhaW50ZXIuY29udGV4dCxzPW8uZ2w7ZS50ZXh0dXJlPW4ubWFwLnBhaW50ZXIuZ2V0VGlsZVRleHR1cmUoaS53aWR0aCksZS50ZXh0dXJlP2UudGV4dHVyZS51cGRhdGUoaSx7dXNlTWlwbWFwOiEwfSk6KGUudGV4dHVyZT1uZXcgdC5UZXh0dXJlKG8saSxzLlJHQkEse3VzZU1pcG1hcDohMH0pLGUudGV4dHVyZS5iaW5kKHMuTElORUFSLHMuQ0xBTVBfVE9fRURHRSxzLkxJTkVBUl9NSVBNQVBfTkVBUkVTVCksby5leHRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMmJnMudGV4UGFyYW1ldGVyZihzLlRFWFRVUkVfMkQsby5leHRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuVEVYVFVSRV9NQVhfQU5JU09UUk9QWV9FWFQsby5leHRUZXh0dXJlRmlsdGVyQW5pc290cm9waWNNYXgpKSxlLnN0YXRlPSJsb2FkZWQiLHQuY2FjaGVFbnRyeVBvc3NpYmx5QWRkZWQobi5kaXNwYXRjaGVyKSxyKG51bGwpfX0pfSxyLnByb3RvdHlwZS5hYm9ydFRpbGU9ZnVuY3Rpb24odCxlKXt0LnJlcXVlc3QmJih0LnJlcXVlc3QuY2FuY2VsKCksZGVsZXRlIHQucmVxdWVzdCksZSgpfSxyLnByb3RvdHlwZS51bmxvYWRUaWxlPWZ1bmN0aW9uKHQsZSl7dC50ZXh0dXJlJiZ0aGlzLm1hcC5wYWludGVyLnNhdmVUaWxlVGV4dHVyZSh0LnRleHR1cmUpLGUoKX0sci5wcm90b3R5cGUuaGFzVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiExfSxyfSh0LkV2ZW50ZWQpLEw9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcihyLG4sYSxpKXtlLmNhbGwodGhpcyxyLG4sYSxpKSx0aGlzLnR5cGU9InJhc3Rlci1kZW0iLHRoaXMubWF4em9vbT0yMix0aGlzLl9vcHRpb25zPXQuZXh0ZW5kKHt0eXBlOiJyYXN0ZXItZGVtIn0sbiksdGhpcy5lbmNvZGluZz1uLmVuY29kaW5nfHwibWFwYm94In1yZXR1cm4gZSYmKHIuX19wcm90b19fPWUpLHIucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsci5wcm90b3R5cGUuc2VyaWFsaXplPWZ1bmN0aW9uKCl7cmV0dXJue3R5cGU6InJhc3Rlci1kZW0iLHVybDp0aGlzLnVybCx0aWxlU2l6ZTp0aGlzLnRpbGVTaXplLHRpbGVzOnRoaXMudGlsZXMsYm91bmRzOnRoaXMuYm91bmRzLGVuY29kaW5nOnRoaXMuZW5jb2Rpbmd9fSxyLnByb3RvdHlwZS5sb2FkVGlsZT1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXMubWFwLl9yZXF1ZXN0TWFuYWdlci5ub3JtYWxpemVUaWxlVVJMKGUudGlsZUlELmNhbm9uaWNhbC51cmwodGhpcy50aWxlcyx0aGlzLnNjaGVtZSksdGhpcy51cmwsdGhpcy50aWxlU2l6ZSk7ZS5yZXF1ZXN0PXQuZ2V0SW1hZ2UodGhpcy5tYXAuX3JlcXVlc3RNYW5hZ2VyLnRyYW5zZm9ybVJlcXVlc3Qobix0LlJlc291cmNlVHlwZS5UaWxlKSxmdW5jdGlvbihuLGEpe2lmKGRlbGV0ZSBlLnJlcXVlc3QsZS5hYm9ydGVkKWUuc3RhdGU9InVubG9hZGVkIixyKG51bGwpO2Vsc2UgaWYobillLnN0YXRlPSJlcnJvcmVkIixyKG4pO2Vsc2UgaWYoYSl7dGhpcy5tYXAuX3JlZnJlc2hFeHBpcmVkVGlsZXMmJmUuc2V0RXhwaXJ5RGF0YShhKSxkZWxldGUgYS5jYWNoZUNvbnRyb2wsZGVsZXRlIGEuZXhwaXJlczt2YXIgaT10LmJyb3dzZXIuZ2V0SW1hZ2VEYXRhKGEpLG89e3VpZDplLnVpZCxjb29yZDplLnRpbGVJRCxzb3VyY2U6dGhpcy5pZCxyYXdJbWFnZURhdGE6aSxlbmNvZGluZzp0aGlzLmVuY29kaW5nfTtlLmFjdG9yJiYiZXhwaXJlZCIhPT1lLnN0YXRlfHwoZS5hY3Rvcj10aGlzLmRpc3BhdGNoZXIuZ2V0QWN0b3IoKSxlLmFjdG9yLnNlbmQoImxvYWRERU1UaWxlIixvLGZ1bmN0aW9uKHQsbil7dCYmKGUuc3RhdGU9ImVycm9yZWQiLHIodCkpLG4mJihlLmRlbT1uLGUubmVlZHNIaWxsc2hhZGVQcmVwYXJlPSEwLGUuc3RhdGU9ImxvYWRlZCIscihudWxsKSl9LmJpbmQodGhpcykpKX19LmJpbmQodGhpcykpLGUubmVpZ2hib3JpbmdUaWxlcz10aGlzLl9nZXROZWlnaGJvcmluZ1RpbGVzKGUudGlsZUlEKX0sci5wcm90b3R5cGUuX2dldE5laWdoYm9yaW5nVGlsZXM9ZnVuY3Rpb24oZSl7dmFyIHI9ZS5jYW5vbmljYWwsbj1NYXRoLnBvdygyLHIueiksYT0oci54LTErbiklbixpPTA9PT1yLng/ZS53cmFwLTE6ZS53cmFwLG89KHIueCsxK24pJW4scz1yLngrMT09PW4/ZS53cmFwKzE6ZS53cmFwLGw9e307cmV0dXJuIGxbbmV3IHQuT3ZlcnNjYWxlZFRpbGVJRChlLm92ZXJzY2FsZWRaLGksci56LGEsci55KS5rZXldPXtiYWNrZmlsbGVkOiExfSxsW25ldyB0Lk92ZXJzY2FsZWRUaWxlSUQoZS5vdmVyc2NhbGVkWixzLHIueixvLHIueSkua2V5XT17YmFja2ZpbGxlZDohMX0sci55PjAmJihsW25ldyB0Lk92ZXJzY2FsZWRUaWxlSUQoZS5vdmVyc2NhbGVkWixpLHIueixhLHIueS0xKS5rZXldPXtiYWNrZmlsbGVkOiExfSxsW25ldyB0Lk92ZXJzY2FsZWRUaWxlSUQoZS5vdmVyc2NhbGVkWixlLndyYXAsci56LHIueCxyLnktMSkua2V5XT17YmFja2ZpbGxlZDohMX0sbFtuZXcgdC5PdmVyc2NhbGVkVGlsZUlEKGUub3ZlcnNjYWxlZFoscyxyLnosbyxyLnktMSkua2V5XT17YmFja2ZpbGxlZDohMX0pLHIueSsxPG4mJihsW25ldyB0Lk92ZXJzY2FsZWRUaWxlSUQoZS5vdmVyc2NhbGVkWixpLHIueixhLHIueSsxKS5rZXldPXtiYWNrZmlsbGVkOiExfSxsW25ldyB0Lk92ZXJzY2FsZWRUaWxlSUQoZS5vdmVyc2NhbGVkWixlLndyYXAsci56LHIueCxyLnkrMSkua2V5XT17YmFja2ZpbGxlZDohMX0sbFtuZXcgdC5PdmVyc2NhbGVkVGlsZUlEKGUub3ZlcnNjYWxlZFoscyxyLnosbyxyLnkrMSkua2V5XT17YmFja2ZpbGxlZDohMX0pLGx9LHIucHJvdG90eXBlLnVubG9hZFRpbGU9ZnVuY3Rpb24odCl7dC5kZW1UZXh0dXJlJiZ0aGlzLm1hcC5wYWludGVyLnNhdmVUaWxlVGV4dHVyZSh0LmRlbVRleHR1cmUpLHQuZmJvJiYodC5mYm8uZGVzdHJveSgpLGRlbGV0ZSB0LmZibyksdC5kZW0mJmRlbGV0ZSB0LmRlbSxkZWxldGUgdC5uZWlnaGJvcmluZ1RpbGVzLHQuc3RhdGU9InVubG9hZGVkIix0LmFjdG9yJiZ0LmFjdG9yLnNlbmQoInJlbW92ZURFTVRpbGUiLHt1aWQ6dC51aWQsc291cmNlOnRoaXMuaWR9KX0scn0oRSksQz1mdW5jdGlvbihlKXtmdW5jdGlvbiByKHIsbixhLGkpe2UuY2FsbCh0aGlzKSx0aGlzLmlkPXIsdGhpcy50eXBlPSJnZW9qc29uIix0aGlzLm1pbnpvb209MCx0aGlzLm1heHpvb209MTgsdGhpcy50aWxlU2l6ZT01MTIsdGhpcy5pc1RpbGVDbGlwcGVkPSEwLHRoaXMucmVwYXJzZU92ZXJzY2FsZWQ9ITAsdGhpcy5fcmVtb3ZlZD0hMSx0aGlzLl9sb2FkZWQ9ITEsdGhpcy5hY3Rvcj1hLmdldEFjdG9yKCksdGhpcy5zZXRFdmVudGVkUGFyZW50KGkpLHRoaXMuX2RhdGE9bi5kYXRhLHRoaXMuX29wdGlvbnM9dC5leHRlbmQoe30sbiksdGhpcy5fY29sbGVjdFJlc291cmNlVGltaW5nPW4uY29sbGVjdFJlc291cmNlVGltaW5nLHRoaXMuX3Jlc291cmNlVGltaW5nPVtdLHZvaWQgMCE9PW4ubWF4em9vbSYmKHRoaXMubWF4em9vbT1uLm1heHpvb20pLG4udHlwZSYmKHRoaXMudHlwZT1uLnR5cGUpLG4uYXR0cmlidXRpb24mJih0aGlzLmF0dHJpYnV0aW9uPW4uYXR0cmlidXRpb24pO3ZhciBvPXQuRVhURU5UL3RoaXMudGlsZVNpemU7dGhpcy53b3JrZXJPcHRpb25zPXQuZXh0ZW5kKHtzb3VyY2U6dGhpcy5pZCxjbHVzdGVyOm4uY2x1c3Rlcnx8ITEsZ2VvanNvblZ0T3B0aW9uczp7YnVmZmVyOih2b2lkIDAhPT1uLmJ1ZmZlcj9uLmJ1ZmZlcjoxMjgpKm8sdG9sZXJhbmNlOih2b2lkIDAhPT1uLnRvbGVyYW5jZT9uLnRvbGVyYW5jZTouMzc1KSpvLGV4dGVudDp0LkVYVEVOVCxtYXhab29tOnRoaXMubWF4em9vbSxsaW5lTWV0cmljczpuLmxpbmVNZXRyaWNzfHwhMSxnZW5lcmF0ZUlkOm4uZ2VuZXJhdGVJZHx8ITF9LHN1cGVyY2x1c3Rlck9wdGlvbnM6e21heFpvb206dm9pZCAwIT09bi5jbHVzdGVyTWF4Wm9vbT9NYXRoLm1pbihuLmNsdXN0ZXJNYXhab29tLHRoaXMubWF4em9vbS0xKTp0aGlzLm1heHpvb20tMSxleHRlbnQ6dC5FWFRFTlQscmFkaXVzOihuLmNsdXN0ZXJSYWRpdXN8fDUwKSpvLGxvZzohMX0sY2x1c3RlclByb3BlcnRpZXM6bi5jbHVzdGVyUHJvcGVydGllc30sbi53b3JrZXJPcHRpb25zKX1yZXR1cm4gZSYmKHIuX19wcm90b19fPWUpLHIucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsci5wcm90b3R5cGUubG9hZD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhbG9hZGluZyIse2RhdGFUeXBlOiJzb3VyY2UifSkpLHRoaXMuX3VwZGF0ZVdvcmtlckRhdGEoZnVuY3Rpb24ocil7aWYocillLmZpcmUobmV3IHQuRXJyb3JFdmVudChyKSk7ZWxzZXt2YXIgbj17ZGF0YVR5cGU6InNvdXJjZSIsc291cmNlRGF0YVR5cGU6Im1ldGFkYXRhIn07ZS5fY29sbGVjdFJlc291cmNlVGltaW5nJiZlLl9yZXNvdXJjZVRpbWluZyYmZS5fcmVzb3VyY2VUaW1pbmcubGVuZ3RoPjAmJihuLnJlc291cmNlVGltaW5nPWUuX3Jlc291cmNlVGltaW5nLGUuX3Jlc291cmNlVGltaW5nPVtdKSxlLmZpcmUobmV3IHQuRXZlbnQoImRhdGEiLG4pKX19KX0sci5wcm90b3R5cGUub25BZGQ9ZnVuY3Rpb24odCl7dGhpcy5tYXA9dCx0aGlzLmxvYWQoKX0sci5wcm90b3R5cGUuc2V0RGF0YT1mdW5jdGlvbihlKXt2YXIgcj10aGlzO3JldHVybiB0aGlzLl9kYXRhPWUsdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhbG9hZGluZyIse2RhdGFUeXBlOiJzb3VyY2UifSkpLHRoaXMuX3VwZGF0ZVdvcmtlckRhdGEoZnVuY3Rpb24oZSl7aWYoZSlyLmZpcmUobmV3IHQuRXJyb3JFdmVudChlKSk7ZWxzZXt2YXIgbj17ZGF0YVR5cGU6InNvdXJjZSIsc291cmNlRGF0YVR5cGU6ImNvbnRlbnQifTtyLl9jb2xsZWN0UmVzb3VyY2VUaW1pbmcmJnIuX3Jlc291cmNlVGltaW5nJiZyLl9yZXNvdXJjZVRpbWluZy5sZW5ndGg+MCYmKG4ucmVzb3VyY2VUaW1pbmc9ci5fcmVzb3VyY2VUaW1pbmcsci5fcmVzb3VyY2VUaW1pbmc9W10pLHIuZmlyZShuZXcgdC5FdmVudCgiZGF0YSIsbikpfX0pLHRoaXN9LHIucHJvdG90eXBlLmdldENsdXN0ZXJFeHBhbnNpb25ab29tPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuYWN0b3Iuc2VuZCgiZ2VvanNvbi5nZXRDbHVzdGVyRXhwYW5zaW9uWm9vbSIse2NsdXN0ZXJJZDp0LHNvdXJjZTp0aGlzLmlkfSxlKSx0aGlzfSxyLnByb3RvdHlwZS5nZXRDbHVzdGVyQ2hpbGRyZW49ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5hY3Rvci5zZW5kKCJnZW9qc29uLmdldENsdXN0ZXJDaGlsZHJlbiIse2NsdXN0ZXJJZDp0LHNvdXJjZTp0aGlzLmlkfSxlKSx0aGlzfSxyLnByb3RvdHlwZS5nZXRDbHVzdGVyTGVhdmVzPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiB0aGlzLmFjdG9yLnNlbmQoImdlb2pzb24uZ2V0Q2x1c3RlckxlYXZlcyIse3NvdXJjZTp0aGlzLmlkLGNsdXN0ZXJJZDp0LGxpbWl0OmUsb2Zmc2V0OnJ9LG4pLHRoaXN9LHIucHJvdG90eXBlLl91cGRhdGVXb3JrZXJEYXRhPWZ1bmN0aW9uKGUpe3ZhciByPXRoaXM7dGhpcy5fbG9hZGVkPSExO3ZhciBuPXQuZXh0ZW5kKHt9LHRoaXMud29ya2VyT3B0aW9ucyksYT10aGlzLl9kYXRhOyJzdHJpbmciPT10eXBlb2YgYT8obi5yZXF1ZXN0PXRoaXMubWFwLl9yZXF1ZXN0TWFuYWdlci50cmFuc2Zvcm1SZXF1ZXN0KHQuYnJvd3Nlci5yZXNvbHZlVVJMKGEpLHQuUmVzb3VyY2VUeXBlLlNvdXJjZSksbi5yZXF1ZXN0LmNvbGxlY3RSZXNvdXJjZVRpbWluZz10aGlzLl9jb2xsZWN0UmVzb3VyY2VUaW1pbmcpOm4uZGF0YT1KU09OLnN0cmluZ2lmeShhKSx0aGlzLmFjdG9yLnNlbmQodGhpcy50eXBlKyIubG9hZERhdGEiLG4sZnVuY3Rpb24odCxhKXtyLl9yZW1vdmVkfHxhJiZhLmFiYW5kb25lZHx8KHIuX2xvYWRlZD0hMCxhJiZhLnJlc291cmNlVGltaW5nJiZhLnJlc291cmNlVGltaW5nW3IuaWRdJiYoci5fcmVzb3VyY2VUaW1pbmc9YS5yZXNvdXJjZVRpbWluZ1tyLmlkXS5zbGljZSgwKSksci5hY3Rvci5zZW5kKHIudHlwZSsiLmNvYWxlc2NlIix7c291cmNlOm4uc291cmNlfSxudWxsKSxlKHQpKX0pfSxyLnByb3RvdHlwZS5sb2FkZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbG9hZGVkfSxyLnByb3RvdHlwZS5sb2FkVGlsZT1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXMsYT1lLmFjdG9yPyJyZWxvYWRUaWxlIjoibG9hZFRpbGUiO2UuYWN0b3I9dGhpcy5hY3Rvcjt2YXIgaT17dHlwZTp0aGlzLnR5cGUsdWlkOmUudWlkLHRpbGVJRDplLnRpbGVJRCx6b29tOmUudGlsZUlELm92ZXJzY2FsZWRaLG1heFpvb206dGhpcy5tYXh6b29tLHRpbGVTaXplOnRoaXMudGlsZVNpemUsc291cmNlOnRoaXMuaWQscGl4ZWxSYXRpbzp0LmJyb3dzZXIuZGV2aWNlUGl4ZWxSYXRpbyxzaG93Q29sbGlzaW9uQm94ZXM6dGhpcy5tYXAuc2hvd0NvbGxpc2lvbkJveGVzfTtlLnJlcXVlc3Q9dGhpcy5hY3Rvci5zZW5kKGEsaSxmdW5jdGlvbih0LGkpe3JldHVybiBkZWxldGUgZS5yZXF1ZXN0LGUudW5sb2FkVmVjdG9yRGF0YSgpLGUuYWJvcnRlZD9yKG51bGwpOnQ/cih0KTooZS5sb2FkVmVjdG9yRGF0YShpLG4ubWFwLnBhaW50ZXIsInJlbG9hZFRpbGUiPT09YSkscihudWxsKSl9KX0sci5wcm90b3R5cGUuYWJvcnRUaWxlPWZ1bmN0aW9uKHQpe3QucmVxdWVzdCYmKHQucmVxdWVzdC5jYW5jZWwoKSxkZWxldGUgdC5yZXF1ZXN0KSx0LmFib3J0ZWQ9ITB9LHIucHJvdG90eXBlLnVubG9hZFRpbGU9ZnVuY3Rpb24odCl7dC51bmxvYWRWZWN0b3JEYXRhKCksdGhpcy5hY3Rvci5zZW5kKCJyZW1vdmVUaWxlIix7dWlkOnQudWlkLHR5cGU6dGhpcy50eXBlLHNvdXJjZTp0aGlzLmlkfSl9LHIucHJvdG90eXBlLm9uUmVtb3ZlPWZ1bmN0aW9uKCl7dGhpcy5fcmVtb3ZlZD0hMCx0aGlzLmFjdG9yLnNlbmQoInJlbW92ZVNvdXJjZSIse3R5cGU6dGhpcy50eXBlLHNvdXJjZTp0aGlzLmlkfSl9LHIucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiB0LmV4dGVuZCh7fSx0aGlzLl9vcHRpb25zLHt0eXBlOnRoaXMudHlwZSxkYXRhOnRoaXMuX2RhdGF9KX0sci5wcm90b3R5cGUuaGFzVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiExfSxyfSh0LkV2ZW50ZWQpLFA9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcih0LHIsbixhKXtlLmNhbGwodGhpcyksdGhpcy5pZD10LHRoaXMuZGlzcGF0Y2hlcj1uLHRoaXMuY29vcmRpbmF0ZXM9ci5jb29yZGluYXRlcyx0aGlzLnR5cGU9ImltYWdlIix0aGlzLm1pbnpvb209MCx0aGlzLm1heHpvb209MjIsdGhpcy50aWxlU2l6ZT01MTIsdGhpcy50aWxlcz17fSx0aGlzLl9sb2FkZWQ9ITEsdGhpcy5zZXRFdmVudGVkUGFyZW50KGEpLHRoaXMub3B0aW9ucz1yfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKGUscil7dmFyIG49dGhpczt0aGlzLl9sb2FkZWQ9ITEsdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhbG9hZGluZyIse2RhdGFUeXBlOiJzb3VyY2UifSkpLHRoaXMudXJsPXRoaXMub3B0aW9ucy51cmwsdC5nZXRJbWFnZSh0aGlzLm1hcC5fcmVxdWVzdE1hbmFnZXIudHJhbnNmb3JtUmVxdWVzdCh0aGlzLnVybCx0LlJlc291cmNlVHlwZS5JbWFnZSksZnVuY3Rpb24oYSxpKXtuLl9sb2FkZWQ9ITAsYT9uLmZpcmUobmV3IHQuRXJyb3JFdmVudChhKSk6aSYmKG4uaW1hZ2U9aSxlJiYobi5jb29yZGluYXRlcz1lKSxyJiZyKCksbi5fZmluaXNoTG9hZGluZygpKX0pfSxyLnByb3RvdHlwZS5sb2FkZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbG9hZGVkfSxyLnByb3RvdHlwZS51cGRhdGVJbWFnZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3JldHVybiB0aGlzLmltYWdlJiZ0LnVybD8odGhpcy5vcHRpb25zLnVybD10LnVybCx0aGlzLmxvYWQodC5jb29yZGluYXRlcyxmdW5jdGlvbigpe2UudGV4dHVyZT1udWxsfSksdGhpcyk6dGhpc30sci5wcm90b3R5cGUuX2ZpbmlzaExvYWRpbmc9ZnVuY3Rpb24oKXt0aGlzLm1hcCYmKHRoaXMuc2V0Q29vcmRpbmF0ZXModGhpcy5jb29yZGluYXRlcyksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhIix7ZGF0YVR5cGU6InNvdXJjZSIsc291cmNlRGF0YVR5cGU6Im1ldGFkYXRhIn0pKSl9LHIucHJvdG90eXBlLm9uQWRkPWZ1bmN0aW9uKHQpe3RoaXMubWFwPXQsdGhpcy5sb2FkKCl9LHIucHJvdG90eXBlLnNldENvb3JkaW5hdGVzPWZ1bmN0aW9uKGUpe3ZhciByPXRoaXM7dGhpcy5jb29yZGluYXRlcz1lO3ZhciBuPWUubWFwKHQuTWVyY2F0b3JDb29yZGluYXRlLmZyb21MbmdMYXQpO3RoaXMudGlsZUlEPWZ1bmN0aW9uKGUpe2Zvcih2YXIgcj0xLzAsbj0xLzAsYT0tMS8wLGk9LTEvMCxvPTAscz1lO288cy5sZW5ndGg7bys9MSl7dmFyIGw9c1tvXTtyPU1hdGgubWluKHIsbC54KSxuPU1hdGgubWluKG4sbC55KSxhPU1hdGgubWF4KGEsbC54KSxpPU1hdGgubWF4KGksbC55KX12YXIgYz1hLXIsdT1pLW4saD1NYXRoLm1heChjLHUpLGY9TWF0aC5tYXgoMCxNYXRoLmZsb29yKC1NYXRoLmxvZyhoKS9NYXRoLkxOMikpLHA9TWF0aC5wb3coMixmKTtyZXR1cm4gbmV3IHQuQ2Fub25pY2FsVGlsZUlEKGYsTWF0aC5mbG9vcigocithKS8yKnApLE1hdGguZmxvb3IoKG4raSkvMipwKSl9KG4pLHRoaXMubWluem9vbT10aGlzLm1heHpvb209dGhpcy50aWxlSUQuejt2YXIgYT1uLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gci50aWxlSUQuZ2V0VGlsZVBvaW50KHQpLl9yb3VuZCgpfSk7cmV0dXJuIHRoaXMuX2JvdW5kc0FycmF5PW5ldyB0LlN0cnVjdEFycmF5TGF5b3V0NGk4LHRoaXMuX2JvdW5kc0FycmF5LmVtcGxhY2VCYWNrKGFbMF0ueCxhWzBdLnksMCwwKSx0aGlzLl9ib3VuZHNBcnJheS5lbXBsYWNlQmFjayhhWzFdLngsYVsxXS55LHQuRVhURU5ULDApLHRoaXMuX2JvdW5kc0FycmF5LmVtcGxhY2VCYWNrKGFbM10ueCxhWzNdLnksMCx0LkVYVEVOVCksdGhpcy5fYm91bmRzQXJyYXkuZW1wbGFjZUJhY2soYVsyXS54LGFbMl0ueSx0LkVYVEVOVCx0LkVYVEVOVCksdGhpcy5ib3VuZHNCdWZmZXImJih0aGlzLmJvdW5kc0J1ZmZlci5kZXN0cm95KCksZGVsZXRlIHRoaXMuYm91bmRzQnVmZmVyKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoImRhdGEiLHtkYXRhVHlwZToic291cmNlIixzb3VyY2VEYXRhVHlwZToiY29udGVudCJ9KSksdGhpc30sci5wcm90b3R5cGUucHJlcGFyZT1mdW5jdGlvbigpe2lmKDAhPT1PYmplY3Qua2V5cyh0aGlzLnRpbGVzKS5sZW5ndGgmJnRoaXMuaW1hZ2Upe3ZhciBlPXRoaXMubWFwLnBhaW50ZXIuY29udGV4dCxyPWUuZ2w7Zm9yKHZhciBuIGluIHRoaXMuYm91bmRzQnVmZmVyfHwodGhpcy5ib3VuZHNCdWZmZXI9ZS5jcmVhdGVWZXJ0ZXhCdWZmZXIodGhpcy5fYm91bmRzQXJyYXksdC5yYXN0ZXJCb3VuZHNBdHRyaWJ1dGVzLm1lbWJlcnMpKSx0aGlzLmJvdW5kc1NlZ21lbnRzfHwodGhpcy5ib3VuZHNTZWdtZW50cz10LlNlZ21lbnRWZWN0b3Iuc2ltcGxlU2VnbWVudCgwLDAsNCwyKSksdGhpcy50ZXh0dXJlfHwodGhpcy50ZXh0dXJlPW5ldyB0LlRleHR1cmUoZSx0aGlzLmltYWdlLHIuUkdCQSksdGhpcy50ZXh0dXJlLmJpbmQoci5MSU5FQVIsci5DTEFNUF9UT19FREdFKSksdGhpcy50aWxlcyl7dmFyIGE9dGhpcy50aWxlc1tuXTsibG9hZGVkIiE9PWEuc3RhdGUmJihhLnN0YXRlPSJsb2FkZWQiLGEudGV4dHVyZT10aGlzLnRleHR1cmUpfX19LHIucHJvdG90eXBlLmxvYWRUaWxlPWZ1bmN0aW9uKHQsZSl7dGhpcy50aWxlSUQmJnRoaXMudGlsZUlELmVxdWFscyh0LnRpbGVJRC5jYW5vbmljYWwpPyh0aGlzLnRpbGVzW1N0cmluZyh0LnRpbGVJRC53cmFwKV09dCx0LmJ1Y2tldHM9e30sZShudWxsKSk6KHQuc3RhdGU9ImVycm9yZWQiLGUobnVsbCkpfSxyLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm57dHlwZToiaW1hZ2UiLHVybDp0aGlzLm9wdGlvbnMudXJsLGNvb3JkaW5hdGVzOnRoaXMuY29vcmRpbmF0ZXN9fSxyLnByb3RvdHlwZS5oYXNUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuITF9LHJ9KHQuRXZlbnRlZCksTz1mdW5jdGlvbihlKXtmdW5jdGlvbiByKHQscixuLGEpe2UuY2FsbCh0aGlzLHQscixuLGEpLHRoaXMucm91bmRab29tPSEwLHRoaXMudHlwZT0idmlkZW8iLHRoaXMub3B0aW9ucz1yfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9sb2FkZWQ9ITE7dmFyIHI9dGhpcy5vcHRpb25zO3RoaXMudXJscz1bXTtmb3IodmFyIG49MCxhPXIudXJscztuPGEubGVuZ3RoO24rPTEpe3ZhciBpPWFbbl07dGhpcy51cmxzLnB1c2godGhpcy5tYXAuX3JlcXVlc3RNYW5hZ2VyLnRyYW5zZm9ybVJlcXVlc3QoaSx0LlJlc291cmNlVHlwZS5Tb3VyY2UpLnVybCl9dC5nZXRWaWRlbyh0aGlzLnVybHMsZnVuY3Rpb24ocixuKXtlLl9sb2FkZWQ9ITAscj9lLmZpcmUobmV3IHQuRXJyb3JFdmVudChyKSk6biYmKGUudmlkZW89bixlLnZpZGVvLmxvb3A9ITAsZS52aWRlby5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixmdW5jdGlvbigpe2UubWFwLnRyaWdnZXJSZXBhaW50KCl9KSxlLm1hcCYmZS52aWRlby5wbGF5KCksZS5fZmluaXNoTG9hZGluZygpKX0pfSxyLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbigpe3RoaXMudmlkZW8mJnRoaXMudmlkZW8ucGF1c2UoKX0sci5wcm90b3R5cGUucGxheT1mdW5jdGlvbigpe3RoaXMudmlkZW8mJnRoaXMudmlkZW8ucGxheSgpfSxyLnByb3RvdHlwZS5zZWVrPWZ1bmN0aW9uKGUpe2lmKHRoaXMudmlkZW8pe3ZhciByPXRoaXMudmlkZW8uc2Vla2FibGU7ZTxyLnN0YXJ0KDApfHxlPnIuZW5kKDApP3RoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyB0LlZhbGlkYXRpb25FcnJvcigiUGxheWJhY2sgZm9yIHRoaXMgdmlkZW8gY2FuIGJlIHNldCBvbmx5IGJldHdlZW4gdGhlICIrci5zdGFydCgwKSsiIGFuZCAiK3IuZW5kKDApKyItc2Vjb25kIG1hcmsuIikpKTp0aGlzLnZpZGVvLmN1cnJlbnRUaW1lPWV9fSxyLnByb3RvdHlwZS5nZXRWaWRlbz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZpZGVvfSxyLnByb3RvdHlwZS5vbkFkZD1mdW5jdGlvbih0KXt0aGlzLm1hcHx8KHRoaXMubWFwPXQsdGhpcy5sb2FkKCksdGhpcy52aWRlbyYmKHRoaXMudmlkZW8ucGxheSgpLHRoaXMuc2V0Q29vcmRpbmF0ZXModGhpcy5jb29yZGluYXRlcykpKX0sci5wcm90b3R5cGUucHJlcGFyZT1mdW5jdGlvbigpe2lmKCEoMD09PU9iamVjdC5rZXlzKHRoaXMudGlsZXMpLmxlbmd0aHx8dGhpcy52aWRlby5yZWFkeVN0YXRlPDIpKXt2YXIgZT10aGlzLm1hcC5wYWludGVyLmNvbnRleHQscj1lLmdsO2Zvcih2YXIgbiBpbiB0aGlzLmJvdW5kc0J1ZmZlcnx8KHRoaXMuYm91bmRzQnVmZmVyPWUuY3JlYXRlVmVydGV4QnVmZmVyKHRoaXMuX2JvdW5kc0FycmF5LHQucmFzdGVyQm91bmRzQXR0cmlidXRlcy5tZW1iZXJzKSksdGhpcy5ib3VuZHNTZWdtZW50c3x8KHRoaXMuYm91bmRzU2VnbWVudHM9dC5TZWdtZW50VmVjdG9yLnNpbXBsZVNlZ21lbnQoMCwwLDQsMikpLHRoaXMudGV4dHVyZT90aGlzLnZpZGVvLnBhdXNlZHx8KHRoaXMudGV4dHVyZS5iaW5kKHIuTElORUFSLHIuQ0xBTVBfVE9fRURHRSksci50ZXhTdWJJbWFnZTJEKHIuVEVYVFVSRV8yRCwwLDAsMCxyLlJHQkEsci5VTlNJR05FRF9CWVRFLHRoaXMudmlkZW8pKToodGhpcy50ZXh0dXJlPW5ldyB0LlRleHR1cmUoZSx0aGlzLnZpZGVvLHIuUkdCQSksdGhpcy50ZXh0dXJlLmJpbmQoci5MSU5FQVIsci5DTEFNUF9UT19FREdFKSksdGhpcy50aWxlcyl7dmFyIGE9dGhpcy50aWxlc1tuXTsibG9hZGVkIiE9PWEuc3RhdGUmJihhLnN0YXRlPSJsb2FkZWQiLGEudGV4dHVyZT10aGlzLnRleHR1cmUpfX19LHIucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVybnt0eXBlOiJ2aWRlbyIsdXJsczp0aGlzLnVybHMsY29vcmRpbmF0ZXM6dGhpcy5jb29yZGluYXRlc319LHIucHJvdG90eXBlLmhhc1RyYW5zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52aWRlbyYmIXRoaXMudmlkZW8ucGF1c2VkfSxyfShQKSx6PWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHIocixuLGEsaSl7ZS5jYWxsKHRoaXMscixuLGEsaSksbi5jb29yZGluYXRlcz9BcnJheS5pc0FycmF5KG4uY29vcmRpbmF0ZXMpJiY0PT09bi5jb29yZGluYXRlcy5sZW5ndGgmJiFuLmNvb3JkaW5hdGVzLnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuIUFycmF5LmlzQXJyYXkodCl8fDIhPT10Lmxlbmd0aHx8dC5zb21lKGZ1bmN0aW9uKHQpe3JldHVybiJudW1iZXIiIT10eXBlb2YgdH0pfSl8fHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyB0LlZhbGlkYXRpb25FcnJvcigic291cmNlcy4iK3IsbnVsbCwnImNvb3JkaW5hdGVzIiBwcm9wZXJ0eSBtdXN0IGJlIGFuIGFycmF5IG9mIDQgbG9uZ2l0dWRlL2xhdGl0dWRlIGFycmF5IHBhaXJzJykpKTp0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgdC5WYWxpZGF0aW9uRXJyb3IoInNvdXJjZXMuIityLG51bGwsJ21pc3NpbmcgcmVxdWlyZWQgcHJvcGVydHkgImNvb3JkaW5hdGVzIicpKSksbi5hbmltYXRlJiYiYm9vbGVhbiIhPXR5cGVvZiBuLmFuaW1hdGUmJnRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyB0LlZhbGlkYXRpb25FcnJvcigic291cmNlcy4iK3IsbnVsbCwnb3B0aW9uYWwgImFuaW1hdGUiIHByb3BlcnR5IG11c3QgYmUgYSBib29sZWFuIHZhbHVlJykpKSxuLmNhbnZhcz8ic3RyaW5nIj09dHlwZW9mIG4uY2FudmFzfHxuLmNhbnZhcyBpbnN0YW5jZW9mIHQud2luZG93LkhUTUxDYW52YXNFbGVtZW50fHx0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgdC5WYWxpZGF0aW9uRXJyb3IoInNvdXJjZXMuIityLG51bGwsJyJjYW52YXMiIG11c3QgYmUgZWl0aGVyIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgSUQgb2YgdGhlIGNhbnZhcyBlbGVtZW50IGZyb20gd2hpY2ggdG8gcmVhZCwgb3IgYW4gSFRNTENhbnZhc0VsZW1lbnQgaW5zdGFuY2UnKSkpOnRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyB0LlZhbGlkYXRpb25FcnJvcigic291cmNlcy4iK3IsbnVsbCwnbWlzc2luZyByZXF1aXJlZCBwcm9wZXJ0eSAiY2FudmFzIicpKSksdGhpcy5vcHRpb25zPW4sdGhpcy5hbmltYXRlPXZvaWQgMD09PW4uYW5pbWF0ZXx8bi5hbmltYXRlfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKCl7dGhpcy5fbG9hZGVkPSEwLHRoaXMuY2FudmFzfHwodGhpcy5jYW52YXM9dGhpcy5vcHRpb25zLmNhbnZhcyBpbnN0YW5jZW9mIHQud2luZG93LkhUTUxDYW52YXNFbGVtZW50P3RoaXMub3B0aW9ucy5jYW52YXM6dC53aW5kb3cuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5vcHRpb25zLmNhbnZhcykpLHRoaXMud2lkdGg9dGhpcy5jYW52YXMud2lkdGgsdGhpcy5oZWlnaHQ9dGhpcy5jYW52YXMuaGVpZ2h0LHRoaXMuX2hhc0ludmFsaWREaW1lbnNpb25zKCk/dGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCJDYW52YXMgZGltZW5zaW9ucyBjYW5ub3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHplcm8uIikpKToodGhpcy5wbGF5PWZ1bmN0aW9uKCl7dGhpcy5fcGxheWluZz0hMCx0aGlzLm1hcC50cmlnZ2VyUmVwYWludCgpfSx0aGlzLnBhdXNlPWZ1bmN0aW9uKCl7dGhpcy5fcGxheWluZyYmKHRoaXMucHJlcGFyZSgpLHRoaXMuX3BsYXlpbmc9ITEpfSx0aGlzLl9maW5pc2hMb2FkaW5nKCkpfSxyLnByb3RvdHlwZS5nZXRDYW52YXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW52YXN9LHIucHJvdG90eXBlLm9uQWRkPWZ1bmN0aW9uKHQpe3RoaXMubWFwPXQsdGhpcy5sb2FkKCksdGhpcy5jYW52YXMmJnRoaXMuYW5pbWF0ZSYmdGhpcy5wbGF5KCl9LHIucHJvdG90eXBlLm9uUmVtb3ZlPWZ1bmN0aW9uKCl7dGhpcy5wYXVzZSgpfSxyLnByb3RvdHlwZS5wcmVwYXJlPWZ1bmN0aW9uKCl7dmFyIGU9ITE7aWYodGhpcy5jYW52YXMud2lkdGghPT10aGlzLndpZHRoJiYodGhpcy53aWR0aD10aGlzLmNhbnZhcy53aWR0aCxlPSEwKSx0aGlzLmNhbnZhcy5oZWlnaHQhPT10aGlzLmhlaWdodCYmKHRoaXMuaGVpZ2h0PXRoaXMuY2FudmFzLmhlaWdodCxlPSEwKSwhdGhpcy5faGFzSW52YWxpZERpbWVuc2lvbnMoKSYmMCE9PU9iamVjdC5rZXlzKHRoaXMudGlsZXMpLmxlbmd0aCl7dmFyIHI9dGhpcy5tYXAucGFpbnRlci5jb250ZXh0LG49ci5nbDtmb3IodmFyIGEgaW4gdGhpcy5ib3VuZHNCdWZmZXJ8fCh0aGlzLmJvdW5kc0J1ZmZlcj1yLmNyZWF0ZVZlcnRleEJ1ZmZlcih0aGlzLl9ib3VuZHNBcnJheSx0LnJhc3RlckJvdW5kc0F0dHJpYnV0ZXMubWVtYmVycykpLHRoaXMuYm91bmRzU2VnbWVudHN8fCh0aGlzLmJvdW5kc1NlZ21lbnRzPXQuU2VnbWVudFZlY3Rvci5zaW1wbGVTZWdtZW50KDAsMCw0LDIpKSx0aGlzLnRleHR1cmU/KGV8fHRoaXMuX3BsYXlpbmcpJiZ0aGlzLnRleHR1cmUudXBkYXRlKHRoaXMuY2FudmFzLHtwcmVtdWx0aXBseTohMH0pOnRoaXMudGV4dHVyZT1uZXcgdC5UZXh0dXJlKHIsdGhpcy5jYW52YXMsbi5SR0JBLHtwcmVtdWx0aXBseTohMH0pLHRoaXMudGlsZXMpe3ZhciBpPXRoaXMudGlsZXNbYV07ImxvYWRlZCIhPT1pLnN0YXRlJiYoaS5zdGF0ZT0ibG9hZGVkIixpLnRleHR1cmU9dGhpcy50ZXh0dXJlKX19fSxyLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm57dHlwZToiY2FudmFzIixjb29yZGluYXRlczp0aGlzLmNvb3JkaW5hdGVzfX0sci5wcm90b3R5cGUuaGFzVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9wbGF5aW5nfSxyLnByb3RvdHlwZS5faGFzSW52YWxpZERpbWVuc2lvbnM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MCxlPVt0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHRdO3Q8ZS5sZW5ndGg7dCs9MSl7dmFyIHI9ZVt0XTtpZihpc05hTihyKXx8cjw9MClyZXR1cm4hMH1yZXR1cm4hMX0scn0oUCksST17dmVjdG9yOlMscmFzdGVyOkUsInJhc3Rlci1kZW0iOkwsZ2VvanNvbjpDLHZpZGVvOk8saW1hZ2U6UCxjYW52YXM6en0sRD1mdW5jdGlvbihlLHIsbixhKXt2YXIgaT1uZXcgSVtyLnR5cGVdKGUscixuLGEpO2lmKGkuaWQhPT1lKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgU291cmNlIGlkIHRvIGJlICIrZSsiIGluc3RlYWQgb2YgIitpLmlkKTtyZXR1cm4gdC5iaW5kQWxsKFsibG9hZCIsImFib3J0IiwidW5sb2FkIiwic2VyaWFsaXplIiwicHJlcGFyZSJdLGkpLGl9O2Z1bmN0aW9uIFIoZSxyKXt2YXIgbj10LmlkZW50aXR5KFtdKTtyZXR1cm4gdC50cmFuc2xhdGUobixuLFsxLDEsMF0pLHQuc2NhbGUobixuLFsuNSplLndpZHRoLC41KmUuaGVpZ2h0LDFdKSx0Lm11bHRpcGx5KG4sbixlLmNhbGN1bGF0ZVBvc01hdHJpeChyLnRvVW53cmFwcGVkKCkpKX1mdW5jdGlvbiBGKHQsZSxyLG4sYSl7dmFyIGk9ZnVuY3Rpb24odCxlLHIpe2lmKHQpZm9yKHZhciBuPTAsYT10O248YS5sZW5ndGg7bis9MSl7dmFyIGk9ZVthW25dXTtpZihpJiZpLnNvdXJjZT09PXImJiJmaWxsLWV4dHJ1c2lvbiI9PT1pLnR5cGUpcmV0dXJuITB9ZWxzZSBmb3IodmFyIG8gaW4gZSl7dmFyIHM9ZVtvXTtpZihzLnNvdXJjZT09PXImJiJmaWxsLWV4dHJ1c2lvbiI9PT1zLnR5cGUpcmV0dXJuITB9cmV0dXJuITF9KG4mJm4ubGF5ZXJzLGUsdC5pZCksbz1hLm1heFBpdGNoU2NhbGVGYWN0b3IoKSxzPXQudGlsZXNJbihyLG8saSk7cy5zb3J0KEIpO2Zvcih2YXIgbD1bXSxjPTAsdT1zO2M8dS5sZW5ndGg7Yys9MSl7dmFyIGg9dVtjXTtsLnB1c2goe3dyYXBwZWRUaWxlSUQ6aC50aWxlSUQud3JhcHBlZCgpLmtleSxxdWVyeVJlc3VsdHM6aC50aWxlLnF1ZXJ5UmVuZGVyZWRGZWF0dXJlcyhlLHQuX3N0YXRlLGgucXVlcnlHZW9tZXRyeSxoLmNhbWVyYVF1ZXJ5R2VvbWV0cnksaC5zY2FsZSxuLGEsbyxSKHQudHJhbnNmb3JtLGgudGlsZUlEKSl9KX12YXIgZj1mdW5jdGlvbih0KXtmb3IodmFyIGU9e30scj17fSxuPTAsYT10O248YS5sZW5ndGg7bis9MSl7dmFyIGk9YVtuXSxvPWkucXVlcnlSZXN1bHRzLHM9aS53cmFwcGVkVGlsZUlELGw9cltzXT1yW3NdfHx7fTtmb3IodmFyIGMgaW4gbylmb3IodmFyIHU9b1tjXSxoPWxbY109bFtjXXx8e30sZj1lW2NdPWVbY118fFtdLHA9MCxkPXU7cDxkLmxlbmd0aDtwKz0xKXt2YXIgZz1kW3BdO2hbZy5mZWF0dXJlSW5kZXhdfHwoaFtnLmZlYXR1cmVJbmRleF09ITAsZi5wdXNoKGcpKX19cmV0dXJuIGV9KGwpO2Zvcih2YXIgcCBpbiBmKWZbcF0uZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgcj1lLmZlYXR1cmUsbj10LmdldEZlYXR1cmVTdGF0ZShyLmxheWVyWyJzb3VyY2UtbGF5ZXIiXSxyLmlkKTtyLnNvdXJjZT1yLmxheWVyLnNvdXJjZSxyLmxheWVyWyJzb3VyY2UtbGF5ZXIiXSYmKHIuc291cmNlTGF5ZXI9ci5sYXllclsic291cmNlLWxheWVyIl0pLHIuc3RhdGU9bn0pO3JldHVybiBmfWZ1bmN0aW9uIEIodCxlKXt2YXIgcj10LnRpbGVJRCxuPWUudGlsZUlEO3JldHVybiByLm92ZXJzY2FsZWRaLW4ub3ZlcnNjYWxlZFp8fHIuY2Fub25pY2FsLnktbi5jYW5vbmljYWwueXx8ci53cmFwLW4ud3JhcHx8ci5jYW5vbmljYWwueC1uLmNhbm9uaWNhbC54fXZhciBOPWZ1bmN0aW9uKHQsZSl7dGhpcy5tYXg9dCx0aGlzLm9uUmVtb3ZlPWUsdGhpcy5yZXNldCgpfTtOLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLmRhdGEpZm9yKHZhciBlPTAscj10aGlzLmRhdGFbdF07ZTxyLmxlbmd0aDtlKz0xKXt2YXIgbj1yW2VdO24udGltZW91dCYmY2xlYXJUaW1lb3V0KG4udGltZW91dCksdGhpcy5vblJlbW92ZShuLnZhbHVlKX1yZXR1cm4gdGhpcy5kYXRhPXt9LHRoaXMub3JkZXI9W10sdGhpc30sTi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLGE9dC53cmFwcGVkKCkua2V5O3ZvaWQgMD09PXRoaXMuZGF0YVthXSYmKHRoaXMuZGF0YVthXT1bXSk7dmFyIGk9e3ZhbHVlOmUsdGltZW91dDp2b2lkIDB9O2lmKHZvaWQgMCE9PXImJihpLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe24ucmVtb3ZlKHQsaSl9LHIpKSx0aGlzLmRhdGFbYV0ucHVzaChpKSx0aGlzLm9yZGVyLnB1c2goYSksdGhpcy5vcmRlci5sZW5ndGg+dGhpcy5tYXgpe3ZhciBvPXRoaXMuX2dldEFuZFJlbW92ZUJ5S2V5KHRoaXMub3JkZXJbMF0pO28mJnRoaXMub25SZW1vdmUobyl9cmV0dXJuIHRoaXN9LE4ucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gdC53cmFwcGVkKCkua2V5IGluIHRoaXMuZGF0YX0sTi5wcm90b3R5cGUuZ2V0QW5kUmVtb3ZlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmhhcyh0KT90aGlzLl9nZXRBbmRSZW1vdmVCeUtleSh0LndyYXBwZWQoKS5rZXkpOm51bGx9LE4ucHJvdG90eXBlLl9nZXRBbmRSZW1vdmVCeUtleT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmRhdGFbdF0uc2hpZnQoKTtyZXR1cm4gZS50aW1lb3V0JiZjbGVhclRpbWVvdXQoZS50aW1lb3V0KSwwPT09dGhpcy5kYXRhW3RdLmxlbmd0aCYmZGVsZXRlIHRoaXMuZGF0YVt0XSx0aGlzLm9yZGVyLnNwbGljZSh0aGlzLm9yZGVyLmluZGV4T2YodCksMSksZS52YWx1ZX0sTi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmhhcyh0KT90aGlzLmRhdGFbdC53cmFwcGVkKCkua2V5XVswXS52YWx1ZTpudWxsfSxOLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24odCxlKXtpZighdGhpcy5oYXModCkpcmV0dXJuIHRoaXM7dmFyIHI9dC53cmFwcGVkKCkua2V5LG49dm9pZCAwPT09ZT8wOnRoaXMuZGF0YVtyXS5pbmRleE9mKGUpLGE9dGhpcy5kYXRhW3JdW25dO3JldHVybiB0aGlzLmRhdGFbcl0uc3BsaWNlKG4sMSksYS50aW1lb3V0JiZjbGVhclRpbWVvdXQoYS50aW1lb3V0KSwwPT09dGhpcy5kYXRhW3JdLmxlbmd0aCYmZGVsZXRlIHRoaXMuZGF0YVtyXSx0aGlzLm9uUmVtb3ZlKGEudmFsdWUpLHRoaXMub3JkZXIuc3BsaWNlKHRoaXMub3JkZXIuaW5kZXhPZihyKSwxKSx0aGlzfSxOLnByb3RvdHlwZS5zZXRNYXhTaXplPWZ1bmN0aW9uKHQpe2Zvcih0aGlzLm1heD10O3RoaXMub3JkZXIubGVuZ3RoPnRoaXMubWF4Oyl7dmFyIGU9dGhpcy5fZ2V0QW5kUmVtb3ZlQnlLZXkodGhpcy5vcmRlclswXSk7ZSYmdGhpcy5vblJlbW92ZShlKX1yZXR1cm4gdGhpc307dmFyIGo9ZnVuY3Rpb24odCxlLHIpe3RoaXMuY29udGV4dD10O3ZhciBuPXQuZ2w7dGhpcy5idWZmZXI9bi5jcmVhdGVCdWZmZXIoKSx0aGlzLmR5bmFtaWNEcmF3PUJvb2xlYW4ociksdGhpcy5jb250ZXh0LnVuYmluZFZBTygpLHQuYmluZEVsZW1lbnRCdWZmZXIuc2V0KHRoaXMuYnVmZmVyKSxuLmJ1ZmZlckRhdGEobi5FTEVNRU5UX0FSUkFZX0JVRkZFUixlLmFycmF5QnVmZmVyLHRoaXMuZHluYW1pY0RyYXc/bi5EWU5BTUlDX0RSQVc6bi5TVEFUSUNfRFJBVyksdGhpcy5keW5hbWljRHJhd3x8ZGVsZXRlIGUuYXJyYXlCdWZmZXJ9O2oucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt0aGlzLmNvbnRleHQuYmluZEVsZW1lbnRCdWZmZXIuc2V0KHRoaXMuYnVmZmVyKX0sai5wcm90b3R5cGUudXBkYXRlRGF0YT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmNvbnRleHQuZ2w7dGhpcy5jb250ZXh0LnVuYmluZFZBTygpLHRoaXMuYmluZCgpLGUuYnVmZmVyU3ViRGF0YShlLkVMRU1FTlRfQVJSQVlfQlVGRkVSLDAsdC5hcnJheUJ1ZmZlcil9LGoucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmNvbnRleHQuZ2w7dGhpcy5idWZmZXImJih0LmRlbGV0ZUJ1ZmZlcih0aGlzLmJ1ZmZlciksZGVsZXRlIHRoaXMuYnVmZmVyKX07dmFyIFY9e0ludDg6IkJZVEUiLFVpbnQ4OiJVTlNJR05FRF9CWVRFIixJbnQxNjoiU0hPUlQiLFVpbnQxNjoiVU5TSUdORURfU0hPUlQiLEludDMyOiJJTlQiLFVpbnQzMjoiVU5TSUdORURfSU5UIixGbG9hdDMyOiJGTE9BVCJ9LFU9ZnVuY3Rpb24odCxlLHIsbil7dGhpcy5sZW5ndGg9ZS5sZW5ndGgsdGhpcy5hdHRyaWJ1dGVzPXIsdGhpcy5pdGVtU2l6ZT1lLmJ5dGVzUGVyRWxlbWVudCx0aGlzLmR5bmFtaWNEcmF3PW4sdGhpcy5jb250ZXh0PXQ7dmFyIGE9dC5nbDt0aGlzLmJ1ZmZlcj1hLmNyZWF0ZUJ1ZmZlcigpLHQuYmluZFZlcnRleEJ1ZmZlci5zZXQodGhpcy5idWZmZXIpLGEuYnVmZmVyRGF0YShhLkFSUkFZX0JVRkZFUixlLmFycmF5QnVmZmVyLHRoaXMuZHluYW1pY0RyYXc/YS5EWU5BTUlDX0RSQVc6YS5TVEFUSUNfRFJBVyksdGhpcy5keW5hbWljRHJhd3x8ZGVsZXRlIGUuYXJyYXlCdWZmZXJ9O1UucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt0aGlzLmNvbnRleHQuYmluZFZlcnRleEJ1ZmZlci5zZXQodGhpcy5idWZmZXIpfSxVLnByb3RvdHlwZS51cGRhdGVEYXRhPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY29udGV4dC5nbDt0aGlzLmJpbmQoKSxlLmJ1ZmZlclN1YkRhdGEoZS5BUlJBWV9CVUZGRVIsMCx0LmFycmF5QnVmZmVyKX0sVS5wcm90b3R5cGUuZW5hYmxlQXR0cmlidXRlcz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wO3I8dGhpcy5hdHRyaWJ1dGVzLmxlbmd0aDtyKyspe3ZhciBuPXRoaXMuYXR0cmlidXRlc1tyXSxhPWUuYXR0cmlidXRlc1tuLm5hbWVdO3ZvaWQgMCE9PWEmJnQuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoYSl9fSxVLnByb3RvdHlwZS5zZXRWZXJ0ZXhBdHRyaWJQb2ludGVycz1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPTA7bjx0aGlzLmF0dHJpYnV0ZXMubGVuZ3RoO24rKyl7dmFyIGE9dGhpcy5hdHRyaWJ1dGVzW25dLGk9ZS5hdHRyaWJ1dGVzW2EubmFtZV07dm9pZCAwIT09aSYmdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGksYS5jb21wb25lbnRzLHRbVlthLnR5cGVdXSwhMSx0aGlzLml0ZW1TaXplLGEub2Zmc2V0K3RoaXMuaXRlbVNpemUqKHJ8fDApKX19LFUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmNvbnRleHQuZ2w7dGhpcy5idWZmZXImJih0LmRlbGV0ZUJ1ZmZlcih0aGlzLmJ1ZmZlciksZGVsZXRlIHRoaXMuYnVmZmVyKX07dmFyIHE9ZnVuY3Rpb24odCl7dGhpcy5nbD10LmdsLHRoaXMuZGVmYXVsdD10aGlzLmdldERlZmF1bHQoKSx0aGlzLmN1cnJlbnQ9dGhpcy5kZWZhdWx0LHRoaXMuZGlydHk9ITF9O3EucHJvdG90eXBlLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbnR9LHEucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXt9LHEucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kZWZhdWx0fSxxLnByb3RvdHlwZS5zZXREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5zZXQodGhpcy5kZWZhdWx0KX07dmFyIEg9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcigpe2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuQ29sb3IudHJhbnNwYXJlbnR9LHIucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmN1cnJlbnQ7KHQuciE9PWUucnx8dC5nIT09ZS5nfHx0LmIhPT1lLmJ8fHQuYSE9PWUuYXx8dGhpcy5kaXJ0eSkmJih0aGlzLmdsLmNsZWFyQ29sb3IodC5yLHQuZyx0LmIsdC5hKSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExKX0scn0ocSksRz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gMX0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpeyh0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KSYmKHRoaXMuZ2wuY2xlYXJEZXB0aCh0KSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExKX0sZX0ocSksWT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gMH0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpeyh0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KSYmKHRoaXMuZ2wuY2xlYXJTdGVuY2lsKHQpLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITEpfSxlfShxKSxXPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3JldHVyblshMCwhMCwhMCwhMF19LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmN1cnJlbnQ7KHRbMF0hPT1lWzBdfHx0WzFdIT09ZVsxXXx8dFsyXSE9PWVbMl18fHRbM10hPT1lWzNdfHx0aGlzLmRpcnR5KSYmKHRoaXMuZ2wuY29sb3JNYXNrKHRbMF0sdFsxXSx0WzJdLHRbM10pLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITEpfSxlfShxKSxYPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiEwfSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7KHQhPT10aGlzLmN1cnJlbnR8fHRoaXMuZGlydHkpJiYodGhpcy5nbC5kZXB0aE1hc2sodCksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMSl9LGV9KHEpLFo9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIDI1NX0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpeyh0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KSYmKHRoaXMuZ2wuc3RlbmNpbE1hc2sodCksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMSl9LGV9KHEpLEo9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJue2Z1bmM6dGhpcy5nbC5BTFdBWVMscmVmOjAsbWFzazoyNTV9fSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jdXJyZW50Oyh0LmZ1bmMhPT1lLmZ1bmN8fHQucmVmIT09ZS5yZWZ8fHQubWFzayE9PWUubWFza3x8dGhpcy5kaXJ0eSkmJih0aGlzLmdsLnN0ZW5jaWxGdW5jKHQuZnVuYyx0LnJlZix0Lm1hc2spLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITEpfSxlfShxKSxLPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2w7cmV0dXJuW3QuS0VFUCx0LktFRVAsdC5LRUVQXX0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY3VycmVudDsodFswXSE9PWVbMF18fHRbMV0hPT1lWzFdfHx0WzJdIT09ZVsyXXx8dGhpcy5kaXJ0eSkmJih0aGlzLmdsLnN0ZW5jaWxPcCh0WzBdLHRbMV0sdFsyXSksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMSl9LGV9KHEpLFE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuITF9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXtpZih0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KXt2YXIgZT10aGlzLmdsO3Q/ZS5lbmFibGUoZS5TVEVOQ0lMX1RFU1QpOmUuZGlzYWJsZShlLlNURU5DSUxfVEVTVCksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMX19LGV9KHEpLCQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuWzAsMV19LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmN1cnJlbnQ7KHRbMF0hPT1lWzBdfHx0WzFdIT09ZVsxXXx8dGhpcy5kaXJ0eSkmJih0aGlzLmdsLmRlcHRoUmFuZ2UodFswXSx0WzFdKSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExKX0sZX0ocSksdHQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuITF9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXtpZih0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KXt2YXIgZT10aGlzLmdsO3Q/ZS5lbmFibGUoZS5ERVBUSF9URVNUKTplLmRpc2FibGUoZS5ERVBUSF9URVNUKSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExfX0sZX0ocSksZXQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2wuTEVTU30sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpeyh0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KSYmKHRoaXMuZ2wuZGVwdGhGdW5jKHQpLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITEpfSxlfShxKSxydD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpe2lmKHQhPT10aGlzLmN1cnJlbnR8fHRoaXMuZGlydHkpe3ZhciBlPXRoaXMuZ2w7dD9lLmVuYWJsZShlLkJMRU5EKTplLmRpc2FibGUoZS5CTEVORCksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMX19LGV9KHEpLG50PWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2w7cmV0dXJuW3QuT05FLHQuWkVST119LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmN1cnJlbnQ7KHRbMF0hPT1lWzBdfHx0WzFdIT09ZVsxXXx8dGhpcy5kaXJ0eSkmJih0aGlzLmdsLmJsZW5kRnVuYyh0WzBdLHRbMV0pLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITEpfSxlfShxKSxhdD1mdW5jdGlvbihlKXtmdW5jdGlvbiByKCl7ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGUmJihyLl9fcHJvdG9fXz1lKSxyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLHIucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdC5Db2xvci50cmFuc3BhcmVudH0sci5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY3VycmVudDsodC5yIT09ZS5yfHx0LmchPT1lLmd8fHQuYiE9PWUuYnx8dC5hIT09ZS5hfHx0aGlzLmRpcnR5KSYmKHRoaXMuZ2wuYmxlbmRDb2xvcih0LnIsdC5nLHQuYix0LmEpLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITEpfSxyfShxKSxpdD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nbC5GVU5DX0FERH0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpeyh0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KSYmKHRoaXMuZ2wuYmxlbmRFcXVhdGlvbih0KSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExKX0sZX0ocSksb3Q9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuITF9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXtpZih0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KXt2YXIgZT10aGlzLmdsO3Q/ZS5lbmFibGUoZS5DVUxMX0ZBQ0UpOmUuZGlzYWJsZShlLkNVTExfRkFDRSksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMX19LGV9KHEpLHN0PWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdsLkJBQ0t9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXsodCE9PXRoaXMuY3VycmVudHx8dGhpcy5kaXJ0eSkmJih0aGlzLmdsLmN1bGxGYWNlKHQpLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITEpfSxlfShxKSxsdD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nbC5DQ1d9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXsodCE9PXRoaXMuY3VycmVudHx8dGhpcy5kaXJ0eSkmJih0aGlzLmdsLmZyb250RmFjZSh0KSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExKX0sZX0ocSksY3Q9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXsodCE9PXRoaXMuY3VycmVudHx8dGhpcy5kaXJ0eSkmJih0aGlzLmdsLnVzZVByb2dyYW0odCksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMSl9LGV9KHEpLHV0PWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdsLlRFWFRVUkUwfSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7KHQhPT10aGlzLmN1cnJlbnR8fHRoaXMuZGlydHkpJiYodGhpcy5nbC5hY3RpdmVUZXh0dXJlKHQpLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITEpfSxlfShxKSxodD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdsO3JldHVyblswLDAsdC5kcmF3aW5nQnVmZmVyV2lkdGgsdC5kcmF3aW5nQnVmZmVySGVpZ2h0XX0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY3VycmVudDsodFswXSE9PWVbMF18fHRbMV0hPT1lWzFdfHx0WzJdIT09ZVsyXXx8dFszXSE9PWVbM118fHRoaXMuZGlydHkpJiYodGhpcy5nbC52aWV3cG9ydCh0WzBdLHRbMV0sdFsyXSx0WzNdKSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExKX0sZX0ocSksZnQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXtpZih0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KXt2YXIgZT10aGlzLmdsO2UuYmluZEZyYW1lYnVmZmVyKGUuRlJBTUVCVUZGRVIsdCksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMX19LGV9KHEpLHB0PWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiBudWxsfSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7aWYodCE9PXRoaXMuY3VycmVudHx8dGhpcy5kaXJ0eSl7dmFyIGU9dGhpcy5nbDtlLmJpbmRSZW5kZXJidWZmZXIoZS5SRU5ERVJCVUZGRVIsdCksdGhpcy5jdXJyZW50PXQsdGhpcy5kaXJ0eT0hMX19LGV9KHEpLGR0PWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiBudWxsfSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7aWYodCE9PXRoaXMuY3VycmVudHx8dGhpcy5kaXJ0eSl7dmFyIGU9dGhpcy5nbDtlLmJpbmRUZXh0dXJlKGUuVEVYVFVSRV8yRCx0KSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExfX0sZX0ocSksZ3Q9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXtpZih0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KXt2YXIgZT10aGlzLmdsO2UuYmluZEJ1ZmZlcihlLkFSUkFZX0JVRkZFUix0KSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExfX0sZX0ocSksdnQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmdsO2UuYmluZEJ1ZmZlcihlLkVMRU1FTlRfQVJSQVlfQlVGRkVSLHQpLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITF9LGV9KHEpLG10PWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dC5jYWxsKHRoaXMsZSksdGhpcy52YW89ZS5leHRWZXJ0ZXhBcnJheU9iamVjdH1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiBudWxsfSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7dGhpcy52YW8mJih0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KSYmKHRoaXMudmFvLmJpbmRWZXJ0ZXhBcnJheU9FUyh0KSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExKX0sZX0ocSkseXQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIDR9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXtpZih0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KXt2YXIgZT10aGlzLmdsO2UucGl4ZWxTdG9yZWkoZS5VTlBBQ0tfQUxJR05NRU5ULHQpLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITF9fSxlfShxKSx4dD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmdldERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpe2lmKHQhPT10aGlzLmN1cnJlbnR8fHRoaXMuZGlydHkpe3ZhciBlPXRoaXMuZ2w7ZS5waXhlbFN0b3JlaShlLlVOUEFDS19QUkVNVUxUSVBMWV9BTFBIQV9XRUJHTCx0KSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExfX0sZX0ocSksYnQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5nZXREZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuITF9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXtpZih0IT09dGhpcy5jdXJyZW50fHx0aGlzLmRpcnR5KXt2YXIgZT10aGlzLmdsO2UucGl4ZWxTdG9yZWkoZS5VTlBBQ0tfRkxJUF9ZX1dFQkdMLHQpLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITF9fSxlfShxKSxfdD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUscil7dC5jYWxsKHRoaXMsZSksdGhpcy5jb250ZXh0PWUsdGhpcy5wYXJlbnQ9cn1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuZ2V0RGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiBudWxsfSxlfShxKSx3dD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLnNldERpcnR5PWZ1bmN0aW9uKCl7dGhpcy5kaXJ0eT0hMH0sZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQpe2lmKHQhPT10aGlzLmN1cnJlbnR8fHRoaXMuZGlydHkpe3RoaXMuY29udGV4dC5iaW5kRnJhbWVidWZmZXIuc2V0KHRoaXMucGFyZW50KTt2YXIgZT10aGlzLmdsO2UuZnJhbWVidWZmZXJUZXh0dXJlMkQoZS5GUkFNRUJVRkZFUixlLkNPTE9SX0FUVEFDSE1FTlQwLGUuVEVYVFVSRV8yRCx0LDApLHRoaXMuY3VycmVudD10LHRoaXMuZGlydHk9ITF9fSxlfShfdCksa3Q9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0JiYoZS5fX3Byb3RvX189dCksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCl7aWYodCE9PXRoaXMuY3VycmVudHx8dGhpcy5kaXJ0eSl7dGhpcy5jb250ZXh0LmJpbmRGcmFtZWJ1ZmZlci5zZXQodGhpcy5wYXJlbnQpO3ZhciBlPXRoaXMuZ2w7ZS5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihlLkZSQU1FQlVGRkVSLGUuREVQVEhfQVRUQUNITUVOVCxlLlJFTkRFUkJVRkZFUix0KSx0aGlzLmN1cnJlbnQ9dCx0aGlzLmRpcnR5PSExfX0sZX0oX3QpLFR0PWZ1bmN0aW9uKHQsZSxyKXt0aGlzLmNvbnRleHQ9dCx0aGlzLndpZHRoPWUsdGhpcy5oZWlnaHQ9cjt2YXIgbj10LmdsLGE9dGhpcy5mcmFtZWJ1ZmZlcj1uLmNyZWF0ZUZyYW1lYnVmZmVyKCk7dGhpcy5jb2xvckF0dGFjaG1lbnQ9bmV3IHd0KHQsYSksdGhpcy5kZXB0aEF0dGFjaG1lbnQ9bmV3IGt0KHQsYSl9O1R0LnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jb250ZXh0LmdsLGU9dGhpcy5jb2xvckF0dGFjaG1lbnQuZ2V0KCk7ZSYmdC5kZWxldGVUZXh0dXJlKGUpO3ZhciByPXRoaXMuZGVwdGhBdHRhY2htZW50LmdldCgpO3ImJnQuZGVsZXRlUmVuZGVyYnVmZmVyKHIpLHQuZGVsZXRlRnJhbWVidWZmZXIodGhpcy5mcmFtZWJ1ZmZlcil9O3ZhciBNdD1mdW5jdGlvbih0LGUscil7dGhpcy5mdW5jPXQsdGhpcy5tYXNrPWUsdGhpcy5yYW5nZT1yfTtNdC5SZWFkT25seT0hMSxNdC5SZWFkV3JpdGU9ITAsTXQuZGlzYWJsZWQ9bmV3IE10KDUxOSxNdC5SZWFkT25seSxbMCwxXSk7dmFyIEF0PWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt0aGlzLnRlc3Q9dCx0aGlzLnJlZj1lLHRoaXMubWFzaz1yLHRoaXMuZmFpbD1uLHRoaXMuZGVwdGhGYWlsPWEsdGhpcy5wYXNzPWl9O0F0LmRpc2FibGVkPW5ldyBBdCh7ZnVuYzo1MTksbWFzazowfSwwLDAsNzY4MCw3NjgwLDc2ODApO3ZhciBTdD1mdW5jdGlvbih0LGUscil7dGhpcy5ibGVuZEZ1bmN0aW9uPXQsdGhpcy5ibGVuZENvbG9yPWUsdGhpcy5tYXNrPXJ9O1N0LmRpc2FibGVkPW5ldyBTdChTdC5SZXBsYWNlPVsxLDBdLHQuQ29sb3IudHJhbnNwYXJlbnQsWyExLCExLCExLCExXSksU3QudW5ibGVuZGVkPW5ldyBTdChTdC5SZXBsYWNlLHQuQ29sb3IudHJhbnNwYXJlbnQsWyEwLCEwLCEwLCEwXSksU3QuYWxwaGFCbGVuZGVkPW5ldyBTdChbMSw3NzFdLHQuQ29sb3IudHJhbnNwYXJlbnQsWyEwLCEwLCEwLCEwXSk7dmFyIEV0PWZ1bmN0aW9uKHQsZSxyKXt0aGlzLmVuYWJsZT10LHRoaXMubW9kZT1lLHRoaXMuZnJvbnRGYWNlPXJ9O0V0LmRpc2FibGVkPW5ldyBFdCghMSwxMDI5LDIzMDUpLEV0LmJhY2tDQ1c9bmV3IEV0KCEwLDEwMjksMjMwNSk7dmFyIEx0PWZ1bmN0aW9uKHQpe3RoaXMuZ2w9dCx0aGlzLmV4dFZlcnRleEFycmF5T2JqZWN0PXRoaXMuZ2wuZ2V0RXh0ZW5zaW9uKCJPRVNfdmVydGV4X2FycmF5X29iamVjdCIpLHRoaXMuY2xlYXJDb2xvcj1uZXcgSCh0aGlzKSx0aGlzLmNsZWFyRGVwdGg9bmV3IEcodGhpcyksdGhpcy5jbGVhclN0ZW5jaWw9bmV3IFkodGhpcyksdGhpcy5jb2xvck1hc2s9bmV3IFcodGhpcyksdGhpcy5kZXB0aE1hc2s9bmV3IFgodGhpcyksdGhpcy5zdGVuY2lsTWFzaz1uZXcgWih0aGlzKSx0aGlzLnN0ZW5jaWxGdW5jPW5ldyBKKHRoaXMpLHRoaXMuc3RlbmNpbE9wPW5ldyBLKHRoaXMpLHRoaXMuc3RlbmNpbFRlc3Q9bmV3IFEodGhpcyksdGhpcy5kZXB0aFJhbmdlPW5ldyAkKHRoaXMpLHRoaXMuZGVwdGhUZXN0PW5ldyB0dCh0aGlzKSx0aGlzLmRlcHRoRnVuYz1uZXcgZXQodGhpcyksdGhpcy5ibGVuZD1uZXcgcnQodGhpcyksdGhpcy5ibGVuZEZ1bmM9bmV3IG50KHRoaXMpLHRoaXMuYmxlbmRDb2xvcj1uZXcgYXQodGhpcyksdGhpcy5ibGVuZEVxdWF0aW9uPW5ldyBpdCh0aGlzKSx0aGlzLmN1bGxGYWNlPW5ldyBvdCh0aGlzKSx0aGlzLmN1bGxGYWNlU2lkZT1uZXcgc3QodGhpcyksdGhpcy5mcm9udEZhY2U9bmV3IGx0KHRoaXMpLHRoaXMucHJvZ3JhbT1uZXcgY3QodGhpcyksdGhpcy5hY3RpdmVUZXh0dXJlPW5ldyB1dCh0aGlzKSx0aGlzLnZpZXdwb3J0PW5ldyBodCh0aGlzKSx0aGlzLmJpbmRGcmFtZWJ1ZmZlcj1uZXcgZnQodGhpcyksdGhpcy5iaW5kUmVuZGVyYnVmZmVyPW5ldyBwdCh0aGlzKSx0aGlzLmJpbmRUZXh0dXJlPW5ldyBkdCh0aGlzKSx0aGlzLmJpbmRWZXJ0ZXhCdWZmZXI9bmV3IGd0KHRoaXMpLHRoaXMuYmluZEVsZW1lbnRCdWZmZXI9bmV3IHZ0KHRoaXMpLHRoaXMuYmluZFZlcnRleEFycmF5T0VTPXRoaXMuZXh0VmVydGV4QXJyYXlPYmplY3QmJm5ldyBtdCh0aGlzKSx0aGlzLnBpeGVsU3RvcmVVbnBhY2s9bmV3IHl0KHRoaXMpLHRoaXMucGl4ZWxTdG9yZVVucGFja1ByZW11bHRpcGx5QWxwaGE9bmV3IHh0KHRoaXMpLHRoaXMucGl4ZWxTdG9yZVVucGFja0ZsaXBZPW5ldyBidCh0aGlzKSx0aGlzLmV4dFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYz10LmdldEV4dGVuc2lvbigiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIil8fHQuZ2V0RXh0ZW5zaW9uKCJNT1pfRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIil8fHQuZ2V0RXh0ZW5zaW9uKCJXRUJLSVRfRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIiksdGhpcy5leHRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMmJih0aGlzLmV4dFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpY01heD10LmdldFBhcmFtZXRlcih0aGlzLmV4dFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5NQVhfVEVYVFVSRV9NQVhfQU5JU09UUk9QWV9FWFQpKSx0aGlzLmV4dFRleHR1cmVIYWxmRmxvYXQ9dC5nZXRFeHRlbnNpb24oIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSx0aGlzLmV4dFRleHR1cmVIYWxmRmxvYXQmJnQuZ2V0RXh0ZW5zaW9uKCJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0X2xpbmVhciIpfTtMdC5wcm90b3R5cGUuc2V0RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMudW5iaW5kVkFPKCksdGhpcy5jbGVhckNvbG9yLnNldERlZmF1bHQoKSx0aGlzLmNsZWFyRGVwdGguc2V0RGVmYXVsdCgpLHRoaXMuY2xlYXJTdGVuY2lsLnNldERlZmF1bHQoKSx0aGlzLmNvbG9yTWFzay5zZXREZWZhdWx0KCksdGhpcy5kZXB0aE1hc2suc2V0RGVmYXVsdCgpLHRoaXMuc3RlbmNpbE1hc2suc2V0RGVmYXVsdCgpLHRoaXMuc3RlbmNpbEZ1bmMuc2V0RGVmYXVsdCgpLHRoaXMuc3RlbmNpbE9wLnNldERlZmF1bHQoKSx0aGlzLnN0ZW5jaWxUZXN0LnNldERlZmF1bHQoKSx0aGlzLmRlcHRoUmFuZ2Uuc2V0RGVmYXVsdCgpLHRoaXMuZGVwdGhUZXN0LnNldERlZmF1bHQoKSx0aGlzLmRlcHRoRnVuYy5zZXREZWZhdWx0KCksdGhpcy5ibGVuZC5zZXREZWZhdWx0KCksdGhpcy5ibGVuZEZ1bmMuc2V0RGVmYXVsdCgpLHRoaXMuYmxlbmRDb2xvci5zZXREZWZhdWx0KCksdGhpcy5ibGVuZEVxdWF0aW9uLnNldERlZmF1bHQoKSx0aGlzLmN1bGxGYWNlLnNldERlZmF1bHQoKSx0aGlzLmN1bGxGYWNlU2lkZS5zZXREZWZhdWx0KCksdGhpcy5mcm9udEZhY2Uuc2V0RGVmYXVsdCgpLHRoaXMucHJvZ3JhbS5zZXREZWZhdWx0KCksdGhpcy5hY3RpdmVUZXh0dXJlLnNldERlZmF1bHQoKSx0aGlzLmJpbmRGcmFtZWJ1ZmZlci5zZXREZWZhdWx0KCksdGhpcy5waXhlbFN0b3JlVW5wYWNrLnNldERlZmF1bHQoKSx0aGlzLnBpeGVsU3RvcmVVbnBhY2tQcmVtdWx0aXBseUFscGhhLnNldERlZmF1bHQoKSx0aGlzLnBpeGVsU3RvcmVVbnBhY2tGbGlwWS5zZXREZWZhdWx0KCl9LEx0LnByb3RvdHlwZS5zZXREaXJ0eT1mdW5jdGlvbigpe3RoaXMuY2xlYXJDb2xvci5kaXJ0eT0hMCx0aGlzLmNsZWFyRGVwdGguZGlydHk9ITAsdGhpcy5jbGVhclN0ZW5jaWwuZGlydHk9ITAsdGhpcy5jb2xvck1hc2suZGlydHk9ITAsdGhpcy5kZXB0aE1hc2suZGlydHk9ITAsdGhpcy5zdGVuY2lsTWFzay5kaXJ0eT0hMCx0aGlzLnN0ZW5jaWxGdW5jLmRpcnR5PSEwLHRoaXMuc3RlbmNpbE9wLmRpcnR5PSEwLHRoaXMuc3RlbmNpbFRlc3QuZGlydHk9ITAsdGhpcy5kZXB0aFJhbmdlLmRpcnR5PSEwLHRoaXMuZGVwdGhUZXN0LmRpcnR5PSEwLHRoaXMuZGVwdGhGdW5jLmRpcnR5PSEwLHRoaXMuYmxlbmQuZGlydHk9ITAsdGhpcy5ibGVuZEZ1bmMuZGlydHk9ITAsdGhpcy5ibGVuZENvbG9yLmRpcnR5PSEwLHRoaXMuYmxlbmRFcXVhdGlvbi5kaXJ0eT0hMCx0aGlzLmN1bGxGYWNlLmRpcnR5PSEwLHRoaXMuY3VsbEZhY2VTaWRlLmRpcnR5PSEwLHRoaXMuZnJvbnRGYWNlLmRpcnR5PSEwLHRoaXMucHJvZ3JhbS5kaXJ0eT0hMCx0aGlzLmFjdGl2ZVRleHR1cmUuZGlydHk9ITAsdGhpcy52aWV3cG9ydC5kaXJ0eT0hMCx0aGlzLmJpbmRGcmFtZWJ1ZmZlci5kaXJ0eT0hMCx0aGlzLmJpbmRSZW5kZXJidWZmZXIuZGlydHk9ITAsdGhpcy5iaW5kVGV4dHVyZS5kaXJ0eT0hMCx0aGlzLmJpbmRWZXJ0ZXhCdWZmZXIuZGlydHk9ITAsdGhpcy5iaW5kRWxlbWVudEJ1ZmZlci5kaXJ0eT0hMCx0aGlzLmV4dFZlcnRleEFycmF5T2JqZWN0JiYodGhpcy5iaW5kVmVydGV4QXJyYXlPRVMuZGlydHk9ITApLHRoaXMucGl4ZWxTdG9yZVVucGFjay5kaXJ0eT0hMCx0aGlzLnBpeGVsU3RvcmVVbnBhY2tQcmVtdWx0aXBseUFscGhhLmRpcnR5PSEwLHRoaXMucGl4ZWxTdG9yZVVucGFja0ZsaXBZLmRpcnR5PSEwfSxMdC5wcm90b3R5cGUuY3JlYXRlSW5kZXhCdWZmZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IGoodGhpcyx0LGUpfSxMdC5wcm90b3R5cGUuY3JlYXRlVmVydGV4QnVmZmVyPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbmV3IFUodGhpcyx0LGUscil9LEx0LnByb3RvdHlwZS5jcmVhdGVSZW5kZXJidWZmZXI9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMuZ2wsYT1uLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpO3JldHVybiB0aGlzLmJpbmRSZW5kZXJidWZmZXIuc2V0KGEpLG4ucmVuZGVyYnVmZmVyU3RvcmFnZShuLlJFTkRFUkJVRkZFUix0LGUsciksdGhpcy5iaW5kUmVuZGVyYnVmZmVyLnNldChudWxsKSxhfSxMdC5wcm90b3R5cGUuY3JlYXRlRnJhbWVidWZmZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFR0KHRoaXMsdCxlKX0sTHQucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKHQpe3ZhciBlPXQuY29sb3Iscj10LmRlcHRoLG49dGhpcy5nbCxhPTA7ZSYmKGF8PW4uQ09MT1JfQlVGRkVSX0JJVCx0aGlzLmNsZWFyQ29sb3Iuc2V0KGUpLHRoaXMuY29sb3JNYXNrLnNldChbITAsITAsITAsITBdKSksdm9pZCAwIT09ciYmKGF8PW4uREVQVEhfQlVGRkVSX0JJVCx0aGlzLmRlcHRoUmFuZ2Uuc2V0KFswLDFdKSx0aGlzLmNsZWFyRGVwdGguc2V0KHIpLHRoaXMuZGVwdGhNYXNrLnNldCghMCkpLG4uY2xlYXIoYSl9LEx0LnByb3RvdHlwZS5zZXRDdWxsRmFjZT1mdW5jdGlvbih0KXshMT09PXQuZW5hYmxlP3RoaXMuY3VsbEZhY2Uuc2V0KCExKToodGhpcy5jdWxsRmFjZS5zZXQoITApLHRoaXMuY3VsbEZhY2VTaWRlLnNldCh0Lm1vZGUpLHRoaXMuZnJvbnRGYWNlLnNldCh0LmZyb250RmFjZSkpfSxMdC5wcm90b3R5cGUuc2V0RGVwdGhNb2RlPWZ1bmN0aW9uKHQpe3QuZnVuYyE9PXRoaXMuZ2wuQUxXQVlTfHx0Lm1hc2s/KHRoaXMuZGVwdGhUZXN0LnNldCghMCksdGhpcy5kZXB0aEZ1bmMuc2V0KHQuZnVuYyksdGhpcy5kZXB0aE1hc2suc2V0KHQubWFzayksdGhpcy5kZXB0aFJhbmdlLnNldCh0LnJhbmdlKSk6dGhpcy5kZXB0aFRlc3Quc2V0KCExKX0sTHQucHJvdG90eXBlLnNldFN0ZW5jaWxNb2RlPWZ1bmN0aW9uKHQpe3QudGVzdC5mdW5jIT09dGhpcy5nbC5BTFdBWVN8fHQubWFzaz8odGhpcy5zdGVuY2lsVGVzdC5zZXQoITApLHRoaXMuc3RlbmNpbE1hc2suc2V0KHQubWFzayksdGhpcy5zdGVuY2lsT3Auc2V0KFt0LmZhaWwsdC5kZXB0aEZhaWwsdC5wYXNzXSksdGhpcy5zdGVuY2lsRnVuYy5zZXQoe2Z1bmM6dC50ZXN0LmZ1bmMscmVmOnQucmVmLG1hc2s6dC50ZXN0Lm1hc2t9KSk6dGhpcy5zdGVuY2lsVGVzdC5zZXQoITEpfSxMdC5wcm90b3R5cGUuc2V0Q29sb3JNb2RlPWZ1bmN0aW9uKGUpe3QuZGVlcEVxdWFsKGUuYmxlbmRGdW5jdGlvbixTdC5SZXBsYWNlKT90aGlzLmJsZW5kLnNldCghMSk6KHRoaXMuYmxlbmQuc2V0KCEwKSx0aGlzLmJsZW5kRnVuYy5zZXQoZS5ibGVuZEZ1bmN0aW9uKSx0aGlzLmJsZW5kQ29sb3Iuc2V0KGUuYmxlbmRDb2xvcikpLHRoaXMuY29sb3JNYXNrLnNldChlLm1hc2spfSxMdC5wcm90b3R5cGUudW5iaW5kVkFPPWZ1bmN0aW9uKCl7dGhpcy5leHRWZXJ0ZXhBcnJheU9iamVjdCYmdGhpcy5iaW5kVmVydGV4QXJyYXlPRVMuc2V0KG51bGwpfTt2YXIgQ3Q9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcihyLG4sYSl7dmFyIGk9dGhpcztlLmNhbGwodGhpcyksdGhpcy5pZD1yLHRoaXMuZGlzcGF0Y2hlcj1hLHRoaXMub24oImRhdGEiLGZ1bmN0aW9uKHQpeyJzb3VyY2UiPT09dC5kYXRhVHlwZSYmIm1ldGFkYXRhIj09PXQuc291cmNlRGF0YVR5cGUmJihpLl9zb3VyY2VMb2FkZWQ9ITApLGkuX3NvdXJjZUxvYWRlZCYmIWkuX3BhdXNlZCYmInNvdXJjZSI9PT10LmRhdGFUeXBlJiYiY29udGVudCI9PT10LnNvdXJjZURhdGFUeXBlJiYoaS5yZWxvYWQoKSxpLnRyYW5zZm9ybSYmaS51cGRhdGUoaS50cmFuc2Zvcm0pKX0pLHRoaXMub24oImVycm9yIixmdW5jdGlvbigpe2kuX3NvdXJjZUVycm9yZWQ9ITB9KSx0aGlzLl9zb3VyY2U9RChyLG4sYSx0aGlzKSx0aGlzLl90aWxlcz17fSx0aGlzLl9jYWNoZT1uZXcgTigwLHRoaXMuX3VubG9hZFRpbGUuYmluZCh0aGlzKSksdGhpcy5fdGltZXJzPXt9LHRoaXMuX2NhY2hlVGltZXJzPXt9LHRoaXMuX21heFRpbGVDYWNoZVNpemU9bnVsbCx0aGlzLl9jb3ZlcmVkVGlsZXM9e30sdGhpcy5fc3RhdGU9bmV3IHQuU291cmNlRmVhdHVyZVN0YXRlfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5vbkFkZD1mdW5jdGlvbih0KXt0aGlzLm1hcD10LHRoaXMuX21heFRpbGVDYWNoZVNpemU9dD90Ll9tYXhUaWxlQ2FjaGVTaXplOm51bGwsdGhpcy5fc291cmNlJiZ0aGlzLl9zb3VyY2Uub25BZGQmJnRoaXMuX3NvdXJjZS5vbkFkZCh0KX0sci5wcm90b3R5cGUub25SZW1vdmU9ZnVuY3Rpb24odCl7dGhpcy5fc291cmNlJiZ0aGlzLl9zb3VyY2Uub25SZW1vdmUmJnRoaXMuX3NvdXJjZS5vblJlbW92ZSh0KX0sci5wcm90b3R5cGUubG9hZGVkPWZ1bmN0aW9uKCl7aWYodGhpcy5fc291cmNlRXJyb3JlZClyZXR1cm4hMDtpZighdGhpcy5fc291cmNlTG9hZGVkKXJldHVybiExO2lmKCF0aGlzLl9zb3VyY2UubG9hZGVkKCkpcmV0dXJuITE7Zm9yKHZhciB0IGluIHRoaXMuX3RpbGVzKXt2YXIgZT10aGlzLl90aWxlc1t0XTtpZigibG9hZGVkIiE9PWUuc3RhdGUmJiJlcnJvcmVkIiE9PWUuc3RhdGUpcmV0dXJuITF9cmV0dXJuITB9LHIucHJvdG90eXBlLmdldFNvdXJjZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zb3VyY2V9LHIucHJvdG90eXBlLnBhdXNlPWZ1bmN0aW9uKCl7dGhpcy5fcGF1c2VkPSEwfSxyLnByb3RvdHlwZS5yZXN1bWU9ZnVuY3Rpb24oKXtpZih0aGlzLl9wYXVzZWQpe3ZhciB0PXRoaXMuX3Nob3VsZFJlbG9hZE9uUmVzdW1lO3RoaXMuX3BhdXNlZD0hMSx0aGlzLl9zaG91bGRSZWxvYWRPblJlc3VtZT0hMSx0JiZ0aGlzLnJlbG9hZCgpLHRoaXMudHJhbnNmb3JtJiZ0aGlzLnVwZGF0ZSh0aGlzLnRyYW5zZm9ybSl9fSxyLnByb3RvdHlwZS5fbG9hZFRpbGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fc291cmNlLmxvYWRUaWxlKHQsZSl9LHIucHJvdG90eXBlLl91bmxvYWRUaWxlPWZ1bmN0aW9uKHQpe2lmKHRoaXMuX3NvdXJjZS51bmxvYWRUaWxlKXJldHVybiB0aGlzLl9zb3VyY2UudW5sb2FkVGlsZSh0LGZ1bmN0aW9uKCl7fSl9LHIucHJvdG90eXBlLl9hYm9ydFRpbGU9ZnVuY3Rpb24odCl7aWYodGhpcy5fc291cmNlLmFib3J0VGlsZSlyZXR1cm4gdGhpcy5fc291cmNlLmFib3J0VGlsZSh0LGZ1bmN0aW9uKCl7fSl9LHIucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zb3VyY2Uuc2VyaWFsaXplKCl9LHIucHJvdG90eXBlLnByZXBhcmU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlIGluIHRoaXMuX3NvdXJjZS5wcmVwYXJlJiZ0aGlzLl9zb3VyY2UucHJlcGFyZSgpLHRoaXMuX3N0YXRlLmNvYWxlc2NlQ2hhbmdlcyh0aGlzLl90aWxlcyx0aGlzLm1hcD90aGlzLm1hcC5wYWludGVyOm51bGwpLHRoaXMuX3RpbGVzKXt2YXIgcj10aGlzLl90aWxlc1tlXTtyLnVwbG9hZCh0KSxyLnByZXBhcmUodGhpcy5tYXAuc3R5bGUuaW1hZ2VNYW5hZ2VyKX19LHIucHJvdG90eXBlLmdldElkcz1mdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLl90aWxlcykubWFwKE51bWJlcikuc29ydChQdCl9LHIucHJvdG90eXBlLmdldFJlbmRlcmFibGVJZHM9ZnVuY3Rpb24oZSl7dmFyIHI9dGhpcyxuPVtdO2Zvcih2YXIgYSBpbiB0aGlzLl90aWxlcyl0aGlzLl9pc0lkUmVuZGVyYWJsZSgrYSxlKSYmbi5wdXNoKCthKTtyZXR1cm4gZT9uLnNvcnQoZnVuY3Rpb24oZSxuKXt2YXIgYT1yLl90aWxlc1tlXS50aWxlSUQsaT1yLl90aWxlc1tuXS50aWxlSUQsbz1uZXcgdC5Qb2ludChhLmNhbm9uaWNhbC54LGEuY2Fub25pY2FsLnkpLl9yb3RhdGUoci50cmFuc2Zvcm0uYW5nbGUpLHM9bmV3IHQuUG9pbnQoaS5jYW5vbmljYWwueCxpLmNhbm9uaWNhbC55KS5fcm90YXRlKHIudHJhbnNmb3JtLmFuZ2xlKTtyZXR1cm4gYS5vdmVyc2NhbGVkWi1pLm92ZXJzY2FsZWRafHxzLnktby55fHxzLngtby54fSk6bi5zb3J0KFB0KX0sci5wcm90b3R5cGUuaGFzUmVuZGVyYWJsZVBhcmVudD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmZpbmRMb2FkZWRQYXJlbnQodCwwKTtyZXR1cm4hIWUmJnRoaXMuX2lzSWRSZW5kZXJhYmxlKGUudGlsZUlELmtleSl9LHIucHJvdG90eXBlLl9pc0lkUmVuZGVyYWJsZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl90aWxlc1t0XSYmdGhpcy5fdGlsZXNbdF0uaGFzRGF0YSgpJiYhdGhpcy5fY292ZXJlZFRpbGVzW3RdJiYoZXx8IXRoaXMuX3RpbGVzW3RdLmhvbGRpbmdGb3JGYWRlKCkpfSxyLnByb3RvdHlwZS5yZWxvYWQ9ZnVuY3Rpb24oKXtpZih0aGlzLl9wYXVzZWQpdGhpcy5fc2hvdWxkUmVsb2FkT25SZXN1bWU9ITA7ZWxzZSBmb3IodmFyIHQgaW4gdGhpcy5fY2FjaGUucmVzZXQoKSx0aGlzLl90aWxlcykiZXJyb3JlZCIhPT10aGlzLl90aWxlc1t0XS5zdGF0ZSYmdGhpcy5fcmVsb2FkVGlsZSh0LCJyZWxvYWRpbmciKX0sci5wcm90b3R5cGUuX3JlbG9hZFRpbGU9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl90aWxlc1t0XTtyJiYoImxvYWRpbmciIT09ci5zdGF0ZSYmKHIuc3RhdGU9ZSksdGhpcy5fbG9hZFRpbGUocix0aGlzLl90aWxlTG9hZGVkLmJpbmQodGhpcyxyLHQsZSkpKX0sci5wcm90b3R5cGUuX3RpbGVMb2FkZWQ9ZnVuY3Rpb24oZSxyLG4sYSl7aWYoYSlyZXR1cm4gZS5zdGF0ZT0iZXJyb3JlZCIsdm9pZCg0MDQhPT1hLnN0YXR1cz90aGlzLl9zb3VyY2UuZmlyZShuZXcgdC5FcnJvckV2ZW50KGEse3RpbGU6ZX0pKTp0aGlzLnVwZGF0ZSh0aGlzLnRyYW5zZm9ybSkpO2UudGltZUFkZGVkPXQuYnJvd3Nlci5ub3coKSwiZXhwaXJlZCI9PT1uJiYoZS5yZWZyZXNoZWRVcG9uRXhwaXJhdGlvbj0hMCksdGhpcy5fc2V0VGlsZVJlbG9hZFRpbWVyKHIsZSksInJhc3Rlci1kZW0iPT09dGhpcy5nZXRTb3VyY2UoKS50eXBlJiZlLmRlbSYmdGhpcy5fYmFja2ZpbGxERU0oZSksdGhpcy5fc3RhdGUuaW5pdGlhbGl6ZVRpbGVTdGF0ZShlLHRoaXMubWFwP3RoaXMubWFwLnBhaW50ZXI6bnVsbCksdGhpcy5fc291cmNlLmZpcmUobmV3IHQuRXZlbnQoImRhdGEiLHtkYXRhVHlwZToic291cmNlIix0aWxlOmUsY29vcmQ6ZS50aWxlSUR9KSl9LHIucHJvdG90eXBlLl9iYWNrZmlsbERFTT1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5nZXRSZW5kZXJhYmxlSWRzKCkscj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj1lW3JdO2lmKHQubmVpZ2hib3JpbmdUaWxlcyYmdC5uZWlnaGJvcmluZ1RpbGVzW25dKXt2YXIgYT10aGlzLmdldFRpbGVCeUlEKG4pO2kodCxhKSxpKGEsdCl9fWZ1bmN0aW9uIGkodCxlKXt0Lm5lZWRzSGlsbHNoYWRlUHJlcGFyZT0hMDt2YXIgcj1lLnRpbGVJRC5jYW5vbmljYWwueC10LnRpbGVJRC5jYW5vbmljYWwueCxuPWUudGlsZUlELmNhbm9uaWNhbC55LXQudGlsZUlELmNhbm9uaWNhbC55LGE9TWF0aC5wb3coMix0LnRpbGVJRC5jYW5vbmljYWwueiksaT1lLnRpbGVJRC5rZXk7MD09PXImJjA9PT1ufHxNYXRoLmFicyhuKT4xfHwoTWF0aC5hYnMocik+MSYmKDE9PT1NYXRoLmFicyhyK2EpP3IrPWE6MT09PU1hdGguYWJzKHItYSkmJihyLT1hKSksZS5kZW0mJnQuZGVtJiYodC5kZW0uYmFja2ZpbGxCb3JkZXIoZS5kZW0scixuKSx0Lm5laWdoYm9yaW5nVGlsZXMmJnQubmVpZ2hib3JpbmdUaWxlc1tpXSYmKHQubmVpZ2hib3JpbmdUaWxlc1tpXS5iYWNrZmlsbGVkPSEwKSkpfX0sci5wcm90b3R5cGUuZ2V0VGlsZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5nZXRUaWxlQnlJRCh0LmtleSl9LHIucHJvdG90eXBlLmdldFRpbGVCeUlEPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl90aWxlc1t0XX0sci5wcm90b3R5cGUuZ2V0Wm9vbT1mdW5jdGlvbih0KXtyZXR1cm4gdC56b29tK3Quc2NhbGVab29tKHQudGlsZVNpemUvdGhpcy5fc291cmNlLnRpbGVTaXplKX0sci5wcm90b3R5cGUuX3JldGFpbkxvYWRlZENoaWxkcmVuPWZ1bmN0aW9uKHQsZSxyLG4pe2Zvcih2YXIgYSBpbiB0aGlzLl90aWxlcyl7dmFyIGk9dGhpcy5fdGlsZXNbYV07aWYoIShuW2FdfHwhaS5oYXNEYXRhKCl8fGkudGlsZUlELm92ZXJzY2FsZWRaPD1lfHxpLnRpbGVJRC5vdmVyc2NhbGVkWj5yKSl7Zm9yKHZhciBvPWkudGlsZUlEO2kmJmkudGlsZUlELm92ZXJzY2FsZWRaPmUrMTspe3ZhciBzPWkudGlsZUlELnNjYWxlZFRvKGkudGlsZUlELm92ZXJzY2FsZWRaLTEpOyhpPXRoaXMuX3RpbGVzW3Mua2V5XSkmJmkuaGFzRGF0YSgpJiYobz1zKX1mb3IodmFyIGw9bztsLm92ZXJzY2FsZWRaPmU7KWlmKHRbKGw9bC5zY2FsZWRUbyhsLm92ZXJzY2FsZWRaLTEpKS5rZXldKXtuW28ua2V5XT1vO2JyZWFrfX19fSxyLnByb3RvdHlwZS5maW5kTG9hZGVkUGFyZW50PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQub3ZlcnNjYWxlZFotMTtyPj1lO3ItLSl7dmFyIG49dC5zY2FsZWRUbyhyKTtpZighbilyZXR1cm47dmFyIGE9U3RyaW5nKG4ua2V5KSxpPXRoaXMuX3RpbGVzW2FdO2lmKGkmJmkuaGFzRGF0YSgpKXJldHVybiBpO2lmKHRoaXMuX2NhY2hlLmhhcyhuKSlyZXR1cm4gdGhpcy5fY2FjaGUuZ2V0KG4pfX0sci5wcm90b3R5cGUudXBkYXRlQ2FjaGVTaXplPWZ1bmN0aW9uKHQpe3ZhciBlPShNYXRoLmNlaWwodC53aWR0aC90aGlzLl9zb3VyY2UudGlsZVNpemUpKzEpKihNYXRoLmNlaWwodC5oZWlnaHQvdGhpcy5fc291cmNlLnRpbGVTaXplKSsxKSxyPU1hdGguZmxvb3IoNSplKSxuPSJudW1iZXIiPT10eXBlb2YgdGhpcy5fbWF4VGlsZUNhY2hlU2l6ZT9NYXRoLm1pbih0aGlzLl9tYXhUaWxlQ2FjaGVTaXplLHIpOnI7dGhpcy5fY2FjaGUuc2V0TWF4U2l6ZShuKX0sci5wcm90b3R5cGUuaGFuZGxlV3JhcEp1bXA9ZnVuY3Rpb24odCl7dmFyIGU9KHQtKHZvaWQgMD09PXRoaXMuX3ByZXZMbmc/dDp0aGlzLl9wcmV2TG5nKSkvMzYwLHI9TWF0aC5yb3VuZChlKTtpZih0aGlzLl9wcmV2TG5nPXQscil7dmFyIG49e307Zm9yKHZhciBhIGluIHRoaXMuX3RpbGVzKXt2YXIgaT10aGlzLl90aWxlc1thXTtpLnRpbGVJRD1pLnRpbGVJRC51bndyYXBUbyhpLnRpbGVJRC53cmFwK3IpLG5baS50aWxlSUQua2V5XT1pfWZvcih2YXIgbyBpbiB0aGlzLl90aWxlcz1uLHRoaXMuX3RpbWVycyljbGVhclRpbWVvdXQodGhpcy5fdGltZXJzW29dKSxkZWxldGUgdGhpcy5fdGltZXJzW29dO2Zvcih2YXIgcyBpbiB0aGlzLl90aWxlcyl7dmFyIGw9dGhpcy5fdGlsZXNbc107dGhpcy5fc2V0VGlsZVJlbG9hZFRpbWVyKHMsbCl9fX0sci5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXM7aWYodGhpcy50cmFuc2Zvcm09ZSx0aGlzLl9zb3VyY2VMb2FkZWQmJiF0aGlzLl9wYXVzZWQpe3ZhciBhO3RoaXMudXBkYXRlQ2FjaGVTaXplKGUpLHRoaXMuaGFuZGxlV3JhcEp1bXAodGhpcy50cmFuc2Zvcm0uY2VudGVyLmxuZyksdGhpcy5fY292ZXJlZFRpbGVzPXt9LHRoaXMudXNlZD90aGlzLl9zb3VyY2UudGlsZUlEP2E9ZS5nZXRWaXNpYmxlVW53cmFwcGVkQ29vcmRpbmF0ZXModGhpcy5fc291cmNlLnRpbGVJRCkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBuZXcgdC5PdmVyc2NhbGVkVGlsZUlEKGUuY2Fub25pY2FsLnosZS53cmFwLGUuY2Fub25pY2FsLnosZS5jYW5vbmljYWwueCxlLmNhbm9uaWNhbC55KX0pOihhPWUuY292ZXJpbmdUaWxlcyh7dGlsZVNpemU6dGhpcy5fc291cmNlLnRpbGVTaXplLG1pbnpvb206dGhpcy5fc291cmNlLm1pbnpvb20sbWF4em9vbTp0aGlzLl9zb3VyY2UubWF4em9vbSxyb3VuZFpvb206dGhpcy5fc291cmNlLnJvdW5kWm9vbSxyZXBhcnNlT3ZlcnNjYWxlZDp0aGlzLl9zb3VyY2UucmVwYXJzZU92ZXJzY2FsZWR9KSx0aGlzLl9zb3VyY2UuaGFzVGlsZSYmKGE9YS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIG4uX3NvdXJjZS5oYXNUaWxlKHQpfSkpKTphPVtdO3ZhciBpPSh0aGlzLl9zb3VyY2Uucm91bmRab29tP01hdGgucm91bmQ6TWF0aC5mbG9vcikodGhpcy5nZXRab29tKGUpKSxvPU1hdGgubWF4KGktci5tYXhPdmVyem9vbWluZyx0aGlzLl9zb3VyY2UubWluem9vbSkscz1NYXRoLm1heChpK3IubWF4VW5kZXJ6b29taW5nLHRoaXMuX3NvdXJjZS5taW56b29tKSxsPXRoaXMuX3VwZGF0ZVJldGFpbmVkVGlsZXMoYSxpKTtpZihPdCh0aGlzLl9zb3VyY2UudHlwZSkpe2Zvcih2YXIgYz17fSx1PXt9LGg9MCxmPU9iamVjdC5rZXlzKGwpO2g8Zi5sZW5ndGg7aCs9MSl7dmFyIHA9ZltoXSxkPWxbcF0sZz10aGlzLl90aWxlc1twXTtpZihnJiYhKGcuZmFkZUVuZFRpbWUmJmcuZmFkZUVuZFRpbWU8PXQuYnJvd3Nlci5ub3coKSkpe3ZhciB2PXRoaXMuZmluZExvYWRlZFBhcmVudChkLG8pO3YmJih0aGlzLl9hZGRUaWxlKHYudGlsZUlEKSxjW3YudGlsZUlELmtleV09di50aWxlSUQpLHVbcF09ZH19Zm9yKHZhciBtIGluIHRoaXMuX3JldGFpbkxvYWRlZENoaWxkcmVuKHUsaSxzLGwpLGMpbFttXXx8KHRoaXMuX2NvdmVyZWRUaWxlc1ttXT0hMCxsW21dPWNbbV0pfWZvcih2YXIgeSBpbiBsKXRoaXMuX3RpbGVzW3ldLmNsZWFyRmFkZUhvbGQoKTtmb3IodmFyIHg9MCxiPXQua2V5c0RpZmZlcmVuY2UodGhpcy5fdGlsZXMsbCk7eDxiLmxlbmd0aDt4Kz0xKXt2YXIgXz1iW3hdLHc9dGhpcy5fdGlsZXNbX107dy5oYXNTeW1ib2xCdWNrZXRzJiYhdy5ob2xkaW5nRm9yRmFkZSgpP3cuc2V0SG9sZER1cmF0aW9uKHRoaXMubWFwLl9mYWRlRHVyYXRpb24pOncuaGFzU3ltYm9sQnVja2V0cyYmIXcuc3ltYm9sRmFkZUZpbmlzaGVkKCl8fHRoaXMuX3JlbW92ZVRpbGUoXyl9fX0sci5wcm90b3R5cGUucmVsZWFzZVN5bWJvbEZhZGVUaWxlcz1mdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLl90aWxlcyl0aGlzLl90aWxlc1t0XS5ob2xkaW5nRm9yRmFkZSgpJiZ0aGlzLl9yZW1vdmVUaWxlKHQpfSxyLnByb3RvdHlwZS5fdXBkYXRlUmV0YWluZWRUaWxlcz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj17fSxhPXt9LGk9TWF0aC5tYXgoZS1yLm1heE92ZXJ6b29taW5nLHRoaXMuX3NvdXJjZS5taW56b29tKSxvPU1hdGgubWF4KGUrci5tYXhVbmRlcnpvb21pbmcsdGhpcy5fc291cmNlLm1pbnpvb20pLHM9e30sbD0wLGM9dDtsPGMubGVuZ3RoO2wrPTEpe3ZhciB1PWNbbF0saD10aGlzLl9hZGRUaWxlKHUpO25bdS5rZXldPXUsaC5oYXNEYXRhKCl8fGU8dGhpcy5fc291cmNlLm1heHpvb20mJihzW3Uua2V5XT11KX10aGlzLl9yZXRhaW5Mb2FkZWRDaGlsZHJlbihzLGUsbyxuKTtmb3IodmFyIGY9MCxwPXQ7ZjxwLmxlbmd0aDtmKz0xKXt2YXIgZD1wW2ZdLGc9dGhpcy5fdGlsZXNbZC5rZXldO2lmKCFnLmhhc0RhdGEoKSl7aWYoZSsxPnRoaXMuX3NvdXJjZS5tYXh6b29tKXt2YXIgdj1kLmNoaWxkcmVuKHRoaXMuX3NvdXJjZS5tYXh6b29tKVswXSxtPXRoaXMuZ2V0VGlsZSh2KTtpZihtJiZtLmhhc0RhdGEoKSl7blt2LmtleV09djtjb250aW51ZX19ZWxzZXt2YXIgeT1kLmNoaWxkcmVuKHRoaXMuX3NvdXJjZS5tYXh6b29tKTtpZihuW3lbMF0ua2V5XSYmblt5WzFdLmtleV0mJm5beVsyXS5rZXldJiZuW3lbM10ua2V5XSljb250aW51ZX1mb3IodmFyIHg9Zy53YXNSZXF1ZXN0ZWQoKSxiPWQub3ZlcnNjYWxlZFotMTtiPj1pOy0tYil7dmFyIF89ZC5zY2FsZWRUbyhiKTtpZihhW18ua2V5XSlicmVhaztpZihhW18ua2V5XT0hMCwhKGc9dGhpcy5nZXRUaWxlKF8pKSYmeCYmKGc9dGhpcy5fYWRkVGlsZShfKSksZyYmKG5bXy5rZXldPV8seD1nLndhc1JlcXVlc3RlZCgpLGcuaGFzRGF0YSgpKSlicmVha319fXJldHVybiBufSxyLnByb3RvdHlwZS5fYWRkVGlsZT1mdW5jdGlvbihlKXt2YXIgcj10aGlzLl90aWxlc1tlLmtleV07aWYocilyZXR1cm4gcjsocj10aGlzLl9jYWNoZS5nZXRBbmRSZW1vdmUoZSkpJiYodGhpcy5fc2V0VGlsZVJlbG9hZFRpbWVyKGUua2V5LHIpLHIudGlsZUlEPWUsdGhpcy5fc3RhdGUuaW5pdGlhbGl6ZVRpbGVTdGF0ZShyLHRoaXMubWFwP3RoaXMubWFwLnBhaW50ZXI6bnVsbCksdGhpcy5fY2FjaGVUaW1lcnNbZS5rZXldJiYoY2xlYXJUaW1lb3V0KHRoaXMuX2NhY2hlVGltZXJzW2Uua2V5XSksZGVsZXRlIHRoaXMuX2NhY2hlVGltZXJzW2Uua2V5XSx0aGlzLl9zZXRUaWxlUmVsb2FkVGltZXIoZS5rZXkscikpKTt2YXIgbj1Cb29sZWFuKHIpO3JldHVybiBufHwocj1uZXcgdC5UaWxlKGUsdGhpcy5fc291cmNlLnRpbGVTaXplKmUub3ZlcnNjYWxlRmFjdG9yKCkpLHRoaXMuX2xvYWRUaWxlKHIsdGhpcy5fdGlsZUxvYWRlZC5iaW5kKHRoaXMscixlLmtleSxyLnN0YXRlKSkpLHI/KHIudXNlcysrLHRoaXMuX3RpbGVzW2Uua2V5XT1yLG58fHRoaXMuX3NvdXJjZS5maXJlKG5ldyB0LkV2ZW50KCJkYXRhbG9hZGluZyIse3RpbGU6cixjb29yZDpyLnRpbGVJRCxkYXRhVHlwZToic291cmNlIn0pKSxyKTpudWxsfSxyLnByb3RvdHlwZS5fc2V0VGlsZVJlbG9hZFRpbWVyPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpczt0IGluIHRoaXMuX3RpbWVycyYmKGNsZWFyVGltZW91dCh0aGlzLl90aW1lcnNbdF0pLGRlbGV0ZSB0aGlzLl90aW1lcnNbdF0pO3ZhciBuPWUuZ2V0RXhwaXJ5VGltZW91dCgpO24mJih0aGlzLl90aW1lcnNbdF09c2V0VGltZW91dChmdW5jdGlvbigpe3IuX3JlbG9hZFRpbGUodCwiZXhwaXJlZCIpLGRlbGV0ZSByLl90aW1lcnNbdF19LG4pKX0sci5wcm90b3R5cGUuX3JlbW92ZVRpbGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdGlsZXNbdF07ZSYmKGUudXNlcy0tLGRlbGV0ZSB0aGlzLl90aWxlc1t0XSx0aGlzLl90aW1lcnNbdF0mJihjbGVhclRpbWVvdXQodGhpcy5fdGltZXJzW3RdKSxkZWxldGUgdGhpcy5fdGltZXJzW3RdKSxlLnVzZXM+MHx8KGUuaGFzRGF0YSgpJiYicmVsb2FkaW5nIiE9PWUuc3RhdGU/dGhpcy5fY2FjaGUuYWRkKGUudGlsZUlELGUsZS5nZXRFeHBpcnlUaW1lb3V0KCkpOihlLmFib3J0ZWQ9ITAsdGhpcy5fYWJvcnRUaWxlKGUpLHRoaXMuX3VubG9hZFRpbGUoZSkpKSl9LHIucHJvdG90eXBlLmNsZWFyVGlsZXM9ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5fc2hvdWxkUmVsb2FkT25SZXN1bWU9ITEsdGhpcy5fcGF1c2VkPSExLHRoaXMuX3RpbGVzKXRoaXMuX3JlbW92ZVRpbGUodCk7dGhpcy5fY2FjaGUucmVzZXQoKX0sci5wcm90b3R5cGUudGlsZXNJbj1mdW5jdGlvbihlLHIsbil7dmFyIGE9dGhpcyxpPVtdLG89dGhpcy50cmFuc2Zvcm07aWYoIW8pcmV0dXJuIGk7Zm9yKHZhciBzPW4/by5nZXRDYW1lcmFRdWVyeUdlb21ldHJ5KGUpOmUsbD1lLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gby5wb2ludENvb3JkaW5hdGUodCl9KSxjPXMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBvLnBvaW50Q29vcmRpbmF0ZSh0KX0pLHU9dGhpcy5nZXRJZHMoKSxoPTEvMCxmPTEvMCxwPS0xLzAsZD0tMS8wLGc9MCx2PWM7Zzx2Lmxlbmd0aDtnKz0xKXt2YXIgbT12W2ddO2g9TWF0aC5taW4oaCxtLngpLGY9TWF0aC5taW4oZixtLnkpLHA9TWF0aC5tYXgocCxtLngpLGQ9TWF0aC5tYXgoZCxtLnkpfWZvcih2YXIgeT1mdW5jdGlvbihlKXt2YXIgbj1hLl90aWxlc1t1W2VdXTtpZighbi5ob2xkaW5nRm9yRmFkZSgpKXt2YXIgcz1uLnRpbGVJRCxnPU1hdGgucG93KDIsby56b29tLW4udGlsZUlELm92ZXJzY2FsZWRaKSx2PXIqbi5xdWVyeVBhZGRpbmcqdC5FWFRFTlQvbi50aWxlU2l6ZS9nLG09W3MuZ2V0VGlsZVBvaW50KG5ldyB0Lk1lcmNhdG9yQ29vcmRpbmF0ZShoLGYpKSxzLmdldFRpbGVQb2ludChuZXcgdC5NZXJjYXRvckNvb3JkaW5hdGUocCxkKSldO2lmKG1bMF0ueC12PHQuRVhURU5UJiZtWzBdLnktdjx0LkVYVEVOVCYmbVsxXS54K3Y+PTAmJm1bMV0ueSt2Pj0wKXt2YXIgeT1sLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gcy5nZXRUaWxlUG9pbnQodCl9KSx4PWMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBzLmdldFRpbGVQb2ludCh0KX0pO2kucHVzaCh7dGlsZTpuLHRpbGVJRDpzLHF1ZXJ5R2VvbWV0cnk6eSxjYW1lcmFRdWVyeUdlb21ldHJ5Ongsc2NhbGU6Z30pfX19LHg9MDt4PHUubGVuZ3RoO3grKyl5KHgpO3JldHVybiBpfSxyLnByb3RvdHlwZS5nZXRWaXNpYmxlQ29vcmRpbmF0ZXM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMscj10aGlzLmdldFJlbmRlcmFibGVJZHModCkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlLl90aWxlc1t0XS50aWxlSUR9KSxuPTAsYT1yO248YS5sZW5ndGg7bis9MSl7dmFyIGk9YVtuXTtpLnBvc01hdHJpeD10aGlzLnRyYW5zZm9ybS5jYWxjdWxhdGVQb3NNYXRyaXgoaS50b1Vud3JhcHBlZCgpKX1yZXR1cm4gcn0sci5wcm90b3R5cGUuaGFzVHJhbnNpdGlvbj1mdW5jdGlvbigpe2lmKHRoaXMuX3NvdXJjZS5oYXNUcmFuc2l0aW9uKCkpcmV0dXJuITA7aWYoT3QodGhpcy5fc291cmNlLnR5cGUpKWZvcih2YXIgZSBpbiB0aGlzLl90aWxlcyl7dmFyIHI9dGhpcy5fdGlsZXNbZV07aWYodm9pZCAwIT09ci5mYWRlRW5kVGltZSYmci5mYWRlRW5kVGltZT49dC5icm93c2VyLm5vdygpKXJldHVybiEwfXJldHVybiExfSxyLnByb3RvdHlwZS5zZXRGZWF0dXJlU3RhdGU9ZnVuY3Rpb24odCxlLHIpe3Q9dHx8Il9nZW9qc29uVGlsZUxheWVyIix0aGlzLl9zdGF0ZS51cGRhdGVTdGF0ZSh0LGUscil9LHIucHJvdG90eXBlLnJlbW92ZUZlYXR1cmVTdGF0ZT1mdW5jdGlvbih0LGUscil7dD10fHwiX2dlb2pzb25UaWxlTGF5ZXIiLHRoaXMuX3N0YXRlLnJlbW92ZUZlYXR1cmVTdGF0ZSh0LGUscil9LHIucHJvdG90eXBlLmdldEZlYXR1cmVTdGF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiB0PXR8fCJfZ2VvanNvblRpbGVMYXllciIsdGhpcy5fc3RhdGUuZ2V0U3RhdGUodCxlKX0scn0odC5FdmVudGVkKTtmdW5jdGlvbiBQdCh0LGUpe3JldHVybiB0JTMyLWUlMzJ8fGUtdH1mdW5jdGlvbiBPdCh0KXtyZXR1cm4icmFzdGVyIj09PXR8fCJpbWFnZSI9PT10fHwidmlkZW8iPT09dH1mdW5jdGlvbiB6dCgpe3JldHVybiBuZXcgdC53aW5kb3cuV29ya2VyKCRuLndvcmtlclVybCl9Q3QubWF4T3Zlcnpvb21pbmc9MTAsQ3QubWF4VW5kZXJ6b29taW5nPTM7dmFyIEl0PWZ1bmN0aW9uKCl7dGhpcy5hY3RpdmU9e319O0l0LnByb3RvdHlwZS5hY3F1aXJlPWZ1bmN0aW9uKHQpe2lmKCF0aGlzLndvcmtlcnMpZm9yKHRoaXMud29ya2Vycz1bXTt0aGlzLndvcmtlcnMubGVuZ3RoPEl0LndvcmtlckNvdW50Oyl0aGlzLndvcmtlcnMucHVzaChuZXcgenQpO3JldHVybiB0aGlzLmFjdGl2ZVt0XT0hMCx0aGlzLndvcmtlcnMuc2xpY2UoKX0sSXQucHJvdG90eXBlLnJlbGVhc2U9ZnVuY3Rpb24odCl7ZGVsZXRlIHRoaXMuYWN0aXZlW3RdLDA9PT1PYmplY3Qua2V5cyh0aGlzLmFjdGl2ZSkubGVuZ3RoJiYodGhpcy53b3JrZXJzLmZvckVhY2goZnVuY3Rpb24odCl7dC50ZXJtaW5hdGUoKX0pLHRoaXMud29ya2Vycz1udWxsKX07dmFyIER0LFJ0PU1hdGguZmxvb3IodC5icm93c2VyLmhhcmR3YXJlQ29uY3VycmVuY3kvMik7ZnVuY3Rpb24gRnQoZSxyKXt2YXIgbj17fTtmb3IodmFyIGEgaW4gZSkicmVmIiE9PWEmJihuW2FdPWVbYV0pO3JldHVybiB0LnJlZlByb3BlcnRpZXMuZm9yRWFjaChmdW5jdGlvbih0KXt0IGluIHImJihuW3RdPXJbdF0pfSksbn1mdW5jdGlvbiBCdCh0KXt0PXQuc2xpY2UoKTtmb3IodmFyIGU9T2JqZWN0LmNyZWF0ZShudWxsKSxyPTA7cjx0Lmxlbmd0aDtyKyspZVt0W3JdLmlkXT10W3JdO2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKSJyZWYiaW4gdFtuXSYmKHRbbl09RnQodFtuXSxlW3Rbbl0ucmVmXSkpO3JldHVybiB0fUl0LndvcmtlckNvdW50PU1hdGgubWF4KE1hdGgubWluKFJ0LDYpLDEpO3ZhciBOdD17c2V0U3R5bGU6InNldFN0eWxlIixhZGRMYXllcjoiYWRkTGF5ZXIiLHJlbW92ZUxheWVyOiJyZW1vdmVMYXllciIsc2V0UGFpbnRQcm9wZXJ0eToic2V0UGFpbnRQcm9wZXJ0eSIsc2V0TGF5b3V0UHJvcGVydHk6InNldExheW91dFByb3BlcnR5IixzZXRGaWx0ZXI6InNldEZpbHRlciIsYWRkU291cmNlOiJhZGRTb3VyY2UiLHJlbW92ZVNvdXJjZToicmVtb3ZlU291cmNlIixzZXRHZW9KU09OU291cmNlRGF0YToic2V0R2VvSlNPTlNvdXJjZURhdGEiLHNldExheWVyWm9vbVJhbmdlOiJzZXRMYXllclpvb21SYW5nZSIsc2V0TGF5ZXJQcm9wZXJ0eToic2V0TGF5ZXJQcm9wZXJ0eSIsc2V0Q2VudGVyOiJzZXRDZW50ZXIiLHNldFpvb206InNldFpvb20iLHNldEJlYXJpbmc6InNldEJlYXJpbmciLHNldFBpdGNoOiJzZXRQaXRjaCIsc2V0U3ByaXRlOiJzZXRTcHJpdGUiLHNldEdseXBoczoic2V0R2x5cGhzIixzZXRUcmFuc2l0aW9uOiJzZXRUcmFuc2l0aW9uIixzZXRMaWdodDoic2V0TGlnaHQifTtmdW5jdGlvbiBqdCh0LGUscil7ci5wdXNoKHtjb21tYW5kOk50LmFkZFNvdXJjZSxhcmdzOlt0LGVbdF1dfSl9ZnVuY3Rpb24gVnQodCxlLHIpe2UucHVzaCh7Y29tbWFuZDpOdC5yZW1vdmVTb3VyY2UsYXJnczpbdF19KSxyW3RdPSEwfWZ1bmN0aW9uIFV0KHQsZSxyLG4pe1Z0KHQscixuKSxqdCh0LGUscil9ZnVuY3Rpb24gcXQoZSxyLG4pe3ZhciBhO2ZvcihhIGluIGVbbl0paWYoZVtuXS5oYXNPd25Qcm9wZXJ0eShhKSYmImRhdGEiIT09YSYmIXQuZGVlcEVxdWFsKGVbbl1bYV0scltuXVthXSkpcmV0dXJuITE7Zm9yKGEgaW4gcltuXSlpZihyW25dLmhhc093blByb3BlcnR5KGEpJiYiZGF0YSIhPT1hJiYhdC5kZWVwRXF1YWwoZVtuXVthXSxyW25dW2FdKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBIdChlLHIsbixhLGksbyl7dmFyIHM7Zm9yKHMgaW4gcj1yfHx7fSxlPWV8fHt9KWUuaGFzT3duUHJvcGVydHkocykmJih0LmRlZXBFcXVhbChlW3NdLHJbc10pfHxuLnB1c2goe2NvbW1hbmQ6byxhcmdzOlthLHMscltzXSxpXX0pKTtmb3IocyBpbiByKXIuaGFzT3duUHJvcGVydHkocykmJiFlLmhhc093blByb3BlcnR5KHMpJiYodC5kZWVwRXF1YWwoZVtzXSxyW3NdKXx8bi5wdXNoKHtjb21tYW5kOm8sYXJnczpbYSxzLHJbc10saV19KSl9ZnVuY3Rpb24gR3QodCl7cmV0dXJuIHQuaWR9ZnVuY3Rpb24gWXQodCxlKXtyZXR1cm4gdFtlLmlkXT1lLHR9dmFyIFd0PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLmJveENlbGxzPVtdLGE9dGhpcy5jaXJjbGVDZWxscz1bXTt0aGlzLnhDZWxsQ291bnQ9TWF0aC5jZWlsKHQvciksdGhpcy55Q2VsbENvdW50PU1hdGguY2VpbChlL3IpO2Zvcih2YXIgaT0wO2k8dGhpcy54Q2VsbENvdW50KnRoaXMueUNlbGxDb3VudDtpKyspbi5wdXNoKFtdKSxhLnB1c2goW10pO3RoaXMuY2lyY2xlS2V5cz1bXSx0aGlzLmJveEtleXM9W10sdGhpcy5iYm94ZXM9W10sdGhpcy5jaXJjbGVzPVtdLHRoaXMud2lkdGg9dCx0aGlzLmhlaWdodD1lLHRoaXMueFNjYWxlPXRoaXMueENlbGxDb3VudC90LHRoaXMueVNjYWxlPXRoaXMueUNlbGxDb3VudC9lLHRoaXMuYm94VWlkPTAsdGhpcy5jaXJjbGVVaWQ9MH07ZnVuY3Rpb24gWHQoZSxyLG4sYSxpKXt2YXIgbz10LmNyZWF0ZSgpO3JldHVybiByPyh0LnNjYWxlKG8sbyxbMS9pLDEvaSwxXSksbnx8dC5yb3RhdGVaKG8sbyxhLmFuZ2xlKSk6dC5tdWx0aXBseShvLGEubGFiZWxQbGFuZU1hdHJpeCxlKSxvfWZ1bmN0aW9uIFp0KGUscixuLGEsaSl7aWYocil7dmFyIG89dC5jbG9uZShlKTtyZXR1cm4gdC5zY2FsZShvLG8sW2ksaSwxXSksbnx8dC5yb3RhdGVaKG8sbywtYS5hbmdsZSksb31yZXR1cm4gYS5nbENvb3JkTWF0cml4fWZ1bmN0aW9uIEp0KGUscil7dmFyIG49W2UueCxlLnksMCwxXTtvZShuLG4scik7dmFyIGE9blszXTtyZXR1cm57cG9pbnQ6bmV3IHQuUG9pbnQoblswXS9hLG5bMV0vYSksc2lnbmVkRGlzdGFuY2VGcm9tQ2FtZXJhOmF9fWZ1bmN0aW9uIEt0KHQsZSl7dmFyIHI9dFswXS90WzNdLG49dFsxXS90WzNdO3JldHVybiByPj0tZVswXSYmcjw9ZVswXSYmbj49LWVbMV0mJm48PWVbMV19ZnVuY3Rpb24gUXQoZSxyLG4sYSxpLG8scyxsKXt2YXIgYz1hP2UudGV4dFNpemVEYXRhOmUuaWNvblNpemVEYXRhLHU9dC5ldmFsdWF0ZVNpemVGb3Jab29tKGMsbi50cmFuc2Zvcm0uem9vbSksaD1bMjU2L24ud2lkdGgqMisxLDI1Ni9uLmhlaWdodCoyKzFdLGY9YT9lLnRleHQuZHluYW1pY0xheW91dFZlcnRleEFycmF5OmUuaWNvbi5keW5hbWljTGF5b3V0VmVydGV4QXJyYXk7Zi5jbGVhcigpO2Zvcih2YXIgcD1lLmxpbmVWZXJ0ZXhBcnJheSxkPWE/ZS50ZXh0LnBsYWNlZFN5bWJvbEFycmF5OmUuaWNvbi5wbGFjZWRTeW1ib2xBcnJheSxnPW4udHJhbnNmb3JtLndpZHRoL24udHJhbnNmb3JtLmhlaWdodCx2PSExLG09MDttPGQubGVuZ3RoO20rKyl7dmFyIHk9ZC5nZXQobSk7aWYoeS5oaWRkZW58fHkud3JpdGluZ01vZGU9PT10LldyaXRpbmdNb2RlLnZlcnRpY2FsJiYhdilpZSh5Lm51bUdseXBocyxmKTtlbHNle3Y9ITE7dmFyIHg9W3kuYW5jaG9yWCx5LmFuY2hvclksMCwxXTtpZih0LnRyYW5zZm9ybU1hdDQoeCx4LHIpLEt0KHgsaCkpe3ZhciBiPS41K3hbM10vbi50cmFuc2Zvcm0uY2FtZXJhVG9DZW50ZXJEaXN0YW5jZSouNSxfPXQuZXZhbHVhdGVTaXplRm9yRmVhdHVyZShjLHUseSksdz1zP18qYjpfL2Isaz1uZXcgdC5Qb2ludCh5LmFuY2hvclgseS5hbmNob3JZKSxUPUp0KGssaSkucG9pbnQsTT17fSxBPWVlKHksdywhMSxsLHIsaSxvLGUuZ2x5cGhPZmZzZXRBcnJheSxwLGYsVCxrLE0sZyk7dj1BLnVzZVZlcnRpY2FsLChBLm5vdEVub3VnaFJvb218fHZ8fEEubmVlZHNGbGlwcGluZyYmZWUoeSx3LCEwLGwscixpLG8sZS5nbHlwaE9mZnNldEFycmF5LHAsZixULGssTSxnKS5ub3RFbm91Z2hSb29tKSYmaWUoeS5udW1HbHlwaHMsZil9ZWxzZSBpZSh5Lm51bUdseXBocyxmKX19YT9lLnRleHQuZHluYW1pY0xheW91dFZlcnRleEJ1ZmZlci51cGRhdGVEYXRhKGYpOmUuaWNvbi5keW5hbWljTGF5b3V0VmVydGV4QnVmZmVyLnVwZGF0ZURhdGEoZil9ZnVuY3Rpb24gJHQodCxlLHIsbixhLGksbyxzLGwsYyx1LGgpe3ZhciBmPXMuZ2x5cGhTdGFydEluZGV4K3MubnVtR2x5cGhzLHA9cy5saW5lU3RhcnRJbmRleCxkPXMubGluZVN0YXJ0SW5kZXgrcy5saW5lTGVuZ3RoLGc9ZS5nZXRvZmZzZXRYKHMuZ2x5cGhTdGFydEluZGV4KSx2PWUuZ2V0b2Zmc2V0WChmLTEpLG09bmUodCpnLHIsbixhLGksbyxzLnNlZ21lbnQscCxkLGwsYyx1LGgpO2lmKCFtKXJldHVybiBudWxsO3ZhciB5PW5lKHQqdixyLG4sYSxpLG8scy5zZWdtZW50LHAsZCxsLGMsdSxoKTtyZXR1cm4geT97Zmlyc3Q6bSxsYXN0Onl9Om51bGx9ZnVuY3Rpb24gdGUoZSxyLG4sYSl7cmV0dXJuIGU9PT10LldyaXRpbmdNb2RlLmhvcml6b250YWwmJk1hdGguYWJzKG4ueS1yLnkpPk1hdGguYWJzKG4ueC1yLngpKmE/e3VzZVZlcnRpY2FsOiEwfTooZT09PXQuV3JpdGluZ01vZGUudmVydGljYWw/ci55PG4ueTpyLng+bi54KT97bmVlZHNGbGlwcGluZzohMH06bnVsbH1mdW5jdGlvbiBlZShlLHIsbixhLGksbyxzLGwsYyx1LGgsZixwLGQpe3ZhciBnLHY9ci8yNCxtPWUubGluZU9mZnNldFgqdix5PWUubGluZU9mZnNldFkqdjtpZihlLm51bUdseXBocz4xKXt2YXIgeD1lLmdseXBoU3RhcnRJbmRleCtlLm51bUdseXBocyxiPWUubGluZVN0YXJ0SW5kZXgsXz1lLmxpbmVTdGFydEluZGV4K2UubGluZUxlbmd0aCx3PSR0KHYsbCxtLHksbixoLGYsZSxjLG8scCwhMSk7aWYoIXcpcmV0dXJue25vdEVub3VnaFJvb206ITB9O3ZhciBrPUp0KHcuZmlyc3QucG9pbnQscykucG9pbnQsVD1KdCh3Lmxhc3QucG9pbnQscykucG9pbnQ7aWYoYSYmIW4pe3ZhciBNPXRlKGUud3JpdGluZ01vZGUsayxULGQpO2lmKE0pcmV0dXJuIE19Zz1bdy5maXJzdF07Zm9yKHZhciBBPWUuZ2x5cGhTdGFydEluZGV4KzE7QTx4LTE7QSsrKWcucHVzaChuZSh2KmwuZ2V0b2Zmc2V0WChBKSxtLHksbixoLGYsZS5zZWdtZW50LGIsXyxjLG8scCwhMSkpO2cucHVzaCh3Lmxhc3QpfWVsc2V7aWYoYSYmIW4pe3ZhciBTPUp0KGYsaSkucG9pbnQsRT1lLmxpbmVTdGFydEluZGV4K2Uuc2VnbWVudCsxLEw9bmV3IHQuUG9pbnQoYy5nZXR4KEUpLGMuZ2V0eShFKSksQz1KdChMLGkpLFA9Qy5zaWduZWREaXN0YW5jZUZyb21DYW1lcmE+MD9DLnBvaW50OnJlKGYsTCxTLDEsaSksTz10ZShlLndyaXRpbmdNb2RlLFMsUCxkKTtpZihPKXJldHVybiBPfXZhciB6PW5lKHYqbC5nZXRvZmZzZXRYKGUuZ2x5cGhTdGFydEluZGV4KSxtLHksbixoLGYsZS5zZWdtZW50LGUubGluZVN0YXJ0SW5kZXgsZS5saW5lU3RhcnRJbmRleCtlLmxpbmVMZW5ndGgsYyxvLHAsITEpO2lmKCF6KXJldHVybntub3RFbm91Z2hSb29tOiEwfTtnPVt6XX1mb3IodmFyIEk9MCxEPWc7STxELmxlbmd0aDtJKz0xKXt2YXIgUj1EW0ldO3QuYWRkRHluYW1pY0F0dHJpYnV0ZXModSxSLnBvaW50LFIuYW5nbGUpfXJldHVybnt9fWZ1bmN0aW9uIHJlKHQsZSxyLG4sYSl7dmFyIGk9SnQodC5hZGQodC5zdWIoZSkuX3VuaXQoKSksYSkucG9pbnQsbz1yLnN1YihpKTtyZXR1cm4gci5hZGQoby5fbXVsdChuL28ubWFnKCkpKX1mdW5jdGlvbiBuZShlLHIsbixhLGksbyxzLGwsYyx1LGgsZixwKXt2YXIgZD1hP2UtcjplK3IsZz1kPjA/MTotMSx2PTA7YSYmKGcqPS0xLHY9TWF0aC5QSSksZzwwJiYodis9TWF0aC5QSSk7Zm9yKHZhciBtPWc+MD9sK3M6bCtzKzEseT1tLHg9aSxiPWksXz0wLHc9MCxrPU1hdGguYWJzKGQpO18rdzw9azspe2lmKChtKz1nKTxsfHxtPj1jKXJldHVybiBudWxsO2lmKGI9eCx2b2lkIDA9PT0oeD1mW21dKSl7dmFyIFQ9bmV3IHQuUG9pbnQodS5nZXR4KG0pLHUuZ2V0eShtKSksTT1KdChULGgpO2lmKE0uc2lnbmVkRGlzdGFuY2VGcm9tQ2FtZXJhPjApeD1mW21dPU0ucG9pbnQ7ZWxzZXt2YXIgQT1tLWc7eD1yZSgwPT09Xz9vOm5ldyB0LlBvaW50KHUuZ2V0eChBKSx1LmdldHkoQSkpLFQsYixrLV8rMSxoKX19Xys9dyx3PWIuZGlzdCh4KX12YXIgUz0oay1fKS93LEU9eC5zdWIoYiksTD1FLm11bHQoUykuX2FkZChiKTtyZXR1cm4gTC5fYWRkKEUuX3VuaXQoKS5fcGVycCgpLl9tdWx0KG4qZykpLHtwb2ludDpMLGFuZ2xlOnYrTWF0aC5hdGFuMih4LnktYi55LHgueC1iLngpLHRpbGVEaXN0YW5jZTpwP3twcmV2VGlsZURpc3RhbmNlOm0tZz09PXk/MDp1LmdldHRpbGVVbml0RGlzdGFuY2VGcm9tQW5jaG9yKG0tZyksbGFzdFNlZ21lbnRWaWV3cG9ydERpc3RhbmNlOmstX306bnVsbH19V3QucHJvdG90eXBlLmtleXNMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ib3hLZXlzLmxlbmd0aCt0aGlzLmNpcmNsZUtleXMubGVuZ3RofSxXdC5wcm90b3R5cGUuaW5zZXJ0PWZ1bmN0aW9uKHQsZSxyLG4sYSl7dGhpcy5fZm9yRWFjaENlbGwoZSxyLG4sYSx0aGlzLl9pbnNlcnRCb3hDZWxsLHRoaXMuYm94VWlkKyspLHRoaXMuYm94S2V5cy5wdXNoKHQpLHRoaXMuYmJveGVzLnB1c2goZSksdGhpcy5iYm94ZXMucHVzaChyKSx0aGlzLmJib3hlcy5wdXNoKG4pLHRoaXMuYmJveGVzLnB1c2goYSl9LFd0LnByb3RvdHlwZS5pbnNlcnRDaXJjbGU9ZnVuY3Rpb24odCxlLHIsbil7dGhpcy5fZm9yRWFjaENlbGwoZS1uLHItbixlK24scituLHRoaXMuX2luc2VydENpcmNsZUNlbGwsdGhpcy5jaXJjbGVVaWQrKyksdGhpcy5jaXJjbGVLZXlzLnB1c2godCksdGhpcy5jaXJjbGVzLnB1c2goZSksdGhpcy5jaXJjbGVzLnB1c2gociksdGhpcy5jaXJjbGVzLnB1c2gobil9LFd0LnByb3RvdHlwZS5faW5zZXJ0Qm94Q2VsbD1mdW5jdGlvbih0LGUscixuLGEsaSl7dGhpcy5ib3hDZWxsc1thXS5wdXNoKGkpfSxXdC5wcm90b3R5cGUuX2luc2VydENpcmNsZUNlbGw9ZnVuY3Rpb24odCxlLHIsbixhLGkpe3RoaXMuY2lyY2xlQ2VsbHNbYV0ucHVzaChpKX0sV3QucHJvdG90eXBlLl9xdWVyeT1mdW5jdGlvbih0LGUscixuLGEsaSl7aWYocjwwfHx0PnRoaXMud2lkdGh8fG48MHx8ZT50aGlzLmhlaWdodClyZXR1cm4hYSYmW107dmFyIG89W107aWYodDw9MCYmZTw9MCYmdGhpcy53aWR0aDw9ciYmdGhpcy5oZWlnaHQ8PW4pe2lmKGEpcmV0dXJuITA7Zm9yKHZhciBzPTA7czx0aGlzLmJveEtleXMubGVuZ3RoO3MrKylvLnB1c2goe2tleTp0aGlzLmJveEtleXNbc10seDE6dGhpcy5iYm94ZXNbNCpzXSx5MTp0aGlzLmJib3hlc1s0KnMrMV0seDI6dGhpcy5iYm94ZXNbNCpzKzJdLHkyOnRoaXMuYmJveGVzWzQqcyszXX0pO2Zvcih2YXIgbD0wO2w8dGhpcy5jaXJjbGVLZXlzLmxlbmd0aDtsKyspe3ZhciBjPXRoaXMuY2lyY2xlc1szKmxdLHU9dGhpcy5jaXJjbGVzWzMqbCsxXSxoPXRoaXMuY2lyY2xlc1szKmwrMl07by5wdXNoKHtrZXk6dGhpcy5jaXJjbGVLZXlzW2xdLHgxOmMtaCx5MTp1LWgseDI6YytoLHkyOnUraH0pfXJldHVybiBpP28uZmlsdGVyKGkpOm99dmFyIGY9e2hpdFRlc3Q6YSxzZWVuVWlkczp7Ym94Ont9LGNpcmNsZTp7fX19O3JldHVybiB0aGlzLl9mb3JFYWNoQ2VsbCh0LGUscixuLHRoaXMuX3F1ZXJ5Q2VsbCxvLGYsaSksYT9vLmxlbmd0aD4wOm99LFd0LnByb3RvdHlwZS5fcXVlcnlDaXJjbGU9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT10LXIsbz10K3Iscz1lLXIsbD1lK3I7aWYobzwwfHxpPnRoaXMud2lkdGh8fGw8MHx8cz50aGlzLmhlaWdodClyZXR1cm4hbiYmW107dmFyIGM9W10sdT17aGl0VGVzdDpuLGNpcmNsZTp7eDp0LHk6ZSxyYWRpdXM6cn0sc2VlblVpZHM6e2JveDp7fSxjaXJjbGU6e319fTtyZXR1cm4gdGhpcy5fZm9yRWFjaENlbGwoaSxzLG8sbCx0aGlzLl9xdWVyeUNlbGxDaXJjbGUsYyx1LGEpLG4/Yy5sZW5ndGg+MDpjfSxXdC5wcm90b3R5cGUucXVlcnk9ZnVuY3Rpb24odCxlLHIsbixhKXtyZXR1cm4gdGhpcy5fcXVlcnkodCxlLHIsbiwhMSxhKX0sV3QucHJvdG90eXBlLmhpdFRlc3Q9ZnVuY3Rpb24odCxlLHIsbixhKXtyZXR1cm4gdGhpcy5fcXVlcnkodCxlLHIsbiwhMCxhKX0sV3QucHJvdG90eXBlLmhpdFRlc3RDaXJjbGU9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIHRoaXMuX3F1ZXJ5Q2lyY2xlKHQsZSxyLCEwLG4pfSxXdC5wcm90b3R5cGUuX3F1ZXJ5Q2VsbD1mdW5jdGlvbih0LGUscixuLGEsaSxvLHMpe3ZhciBsPW8uc2VlblVpZHMsYz10aGlzLmJveENlbGxzW2FdO2lmKG51bGwhPT1jKWZvcih2YXIgdT10aGlzLmJib3hlcyxoPTAsZj1jO2g8Zi5sZW5ndGg7aCs9MSl7dmFyIHA9ZltoXTtpZighbC5ib3hbcF0pe2wuYm94W3BdPSEwO3ZhciBkPTQqcDtpZih0PD11W2QrMl0mJmU8PXVbZCszXSYmcj49dVtkKzBdJiZuPj11W2QrMV0mJighc3x8cyh0aGlzLmJveEtleXNbcF0pKSl7aWYoby5oaXRUZXN0KXJldHVybiBpLnB1c2goITApLCEwO2kucHVzaCh7a2V5OnRoaXMuYm94S2V5c1twXSx4MTp1W2RdLHkxOnVbZCsxXSx4Mjp1W2QrMl0seTI6dVtkKzNdfSl9fX12YXIgZz10aGlzLmNpcmNsZUNlbGxzW2FdO2lmKG51bGwhPT1nKWZvcih2YXIgdj10aGlzLmNpcmNsZXMsbT0wLHk9ZzttPHkubGVuZ3RoO20rPTEpe3ZhciB4PXlbbV07aWYoIWwuY2lyY2xlW3hdKXtsLmNpcmNsZVt4XT0hMDt2YXIgYj0zKng7aWYodGhpcy5fY2lyY2xlQW5kUmVjdENvbGxpZGUodltiXSx2W2IrMV0sdltiKzJdLHQsZSxyLG4pJiYoIXN8fHModGhpcy5jaXJjbGVLZXlzW3hdKSkpe2lmKG8uaGl0VGVzdClyZXR1cm4gaS5wdXNoKCEwKSwhMDt2YXIgXz12W2JdLHc9dltiKzFdLGs9dltiKzJdO2kucHVzaCh7a2V5OnRoaXMuY2lyY2xlS2V5c1t4XSx4MTpfLWsseTE6dy1rLHgyOl8rayx5Mjp3K2t9KX19fX0sV3QucHJvdG90eXBlLl9xdWVyeUNlbGxDaXJjbGU9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzKXt2YXIgbD1vLmNpcmNsZSxjPW8uc2VlblVpZHMsdT10aGlzLmJveENlbGxzW2FdO2lmKG51bGwhPT11KWZvcih2YXIgaD10aGlzLmJib3hlcyxmPTAscD11O2Y8cC5sZW5ndGg7Zis9MSl7dmFyIGQ9cFtmXTtpZighYy5ib3hbZF0pe2MuYm94W2RdPSEwO3ZhciBnPTQqZDtpZih0aGlzLl9jaXJjbGVBbmRSZWN0Q29sbGlkZShsLngsbC55LGwucmFkaXVzLGhbZyswXSxoW2crMV0saFtnKzJdLGhbZyszXSkmJighc3x8cyh0aGlzLmJveEtleXNbZF0pKSlyZXR1cm4gaS5wdXNoKCEwKSwhMH19dmFyIHY9dGhpcy5jaXJjbGVDZWxsc1thXTtpZihudWxsIT09dilmb3IodmFyIG09dGhpcy5jaXJjbGVzLHk9MCx4PXY7eTx4Lmxlbmd0aDt5Kz0xKXt2YXIgYj14W3ldO2lmKCFjLmNpcmNsZVtiXSl7Yy5jaXJjbGVbYl09ITA7dmFyIF89MypiO2lmKHRoaXMuX2NpcmNsZXNDb2xsaWRlKG1bX10sbVtfKzFdLG1bXysyXSxsLngsbC55LGwucmFkaXVzKSYmKCFzfHxzKHRoaXMuY2lyY2xlS2V5c1tiXSkpKXJldHVybiBpLnB1c2goITApLCEwfX19LFd0LnByb3RvdHlwZS5fZm9yRWFjaENlbGw9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzKXtmb3IodmFyIGw9dGhpcy5fY29udmVydFRvWENlbGxDb29yZCh0KSxjPXRoaXMuX2NvbnZlcnRUb1lDZWxsQ29vcmQoZSksdT10aGlzLl9jb252ZXJ0VG9YQ2VsbENvb3JkKHIpLGg9dGhpcy5fY29udmVydFRvWUNlbGxDb29yZChuKSxmPWw7Zjw9dTtmKyspZm9yKHZhciBwPWM7cDw9aDtwKyspe3ZhciBkPXRoaXMueENlbGxDb3VudCpwK2Y7aWYoYS5jYWxsKHRoaXMsdCxlLHIsbixkLGksbyxzKSlyZXR1cm59fSxXdC5wcm90b3R5cGUuX2NvbnZlcnRUb1hDZWxsQ29vcmQ9ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4odGhpcy54Q2VsbENvdW50LTEsTWF0aC5mbG9vcih0KnRoaXMueFNjYWxlKSkpfSxXdC5wcm90b3R5cGUuX2NvbnZlcnRUb1lDZWxsQ29vcmQ9ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4odGhpcy55Q2VsbENvdW50LTEsTWF0aC5mbG9vcih0KnRoaXMueVNjYWxlKSkpfSxXdC5wcm90b3R5cGUuX2NpcmNsZXNDb2xsaWRlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpKXt2YXIgbz1uLXQscz1hLWUsbD1yK2k7cmV0dXJuIGwqbD5vKm8rcypzfSxXdC5wcm90b3R5cGUuX2NpcmNsZUFuZFJlY3RDb2xsaWRlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8pe3ZhciBzPShpLW4pLzIsbD1NYXRoLmFicyh0LShuK3MpKTtpZihsPnMrcilyZXR1cm4hMTt2YXIgYz0oby1hKS8yLHU9TWF0aC5hYnMoZS0oYStjKSk7aWYodT5jK3IpcmV0dXJuITE7aWYobDw9c3x8dTw9YylyZXR1cm4hMDt2YXIgaD1sLXMsZj11LWM7cmV0dXJuIGgqaCtmKmY8PXIqcn07dmFyIGFlPW5ldyBGbG9hdDMyQXJyYXkoWy0xLzAsLTEvMCwwLC0xLzAsLTEvMCwwLC0xLzAsLTEvMCwwLC0xLzAsLTEvMCwwXSk7ZnVuY3Rpb24gaWUodCxlKXtmb3IodmFyIHI9MDtyPHQ7cisrKXt2YXIgbj1lLmxlbmd0aDtlLnJlc2l6ZShuKzQpLGUuZmxvYXQzMi5zZXQoYWUsMypuKX19ZnVuY3Rpb24gb2UodCxlLHIpe3ZhciBuPWVbMF0sYT1lWzFdO3JldHVybiB0WzBdPXJbMF0qbityWzRdKmErclsxMl0sdFsxXT1yWzFdKm4rcls1XSphK3JbMTNdLHRbM109clszXSpuK3JbN10qYStyWzE1XSx0fXZhciBzZT1mdW5jdGlvbih0LGUscil7dm9pZCAwPT09ZSYmKGU9bmV3IFd0KHQud2lkdGgrMjAwLHQuaGVpZ2h0KzIwMCwyNSkpLHZvaWQgMD09PXImJihyPW5ldyBXdCh0LndpZHRoKzIwMCx0LmhlaWdodCsyMDAsMjUpKSx0aGlzLnRyYW5zZm9ybT10LHRoaXMuZ3JpZD1lLHRoaXMuaWdub3JlZEdyaWQ9cix0aGlzLnBpdGNoZmFjdG9yPU1hdGguY29zKHQuX3BpdGNoKSp0LmNhbWVyYVRvQ2VudGVyRGlzdGFuY2UsdGhpcy5zY3JlZW5SaWdodEJvdW5kYXJ5PXQud2lkdGgrMTAwLHRoaXMuc2NyZWVuQm90dG9tQm91bmRhcnk9dC5oZWlnaHQrMTAwLHRoaXMuZ3JpZFJpZ2h0Qm91bmRhcnk9dC53aWR0aCsyMDAsdGhpcy5ncmlkQm90dG9tQm91bmRhcnk9dC5oZWlnaHQrMjAwfTtmdW5jdGlvbiBsZSh0LGUscil7dFtlKzRdPXI/MTowfWZ1bmN0aW9uIGNlKGUscixuKXtyZXR1cm4gcioodC5FWFRFTlQvKGUudGlsZVNpemUqTWF0aC5wb3coMixuLWUudGlsZUlELm92ZXJzY2FsZWRaKSkpfXNlLnByb3RvdHlwZS5wbGFjZUNvbGxpc2lvbkJveD1mdW5jdGlvbih0LGUscixuLGEpe3ZhciBpPXRoaXMucHJvamVjdEFuZEdldFBlcnNwZWN0aXZlUmF0aW8obix0LmFuY2hvclBvaW50WCx0LmFuY2hvclBvaW50WSksbz1yKmkucGVyc3BlY3RpdmVSYXRpbyxzPXQueDEqbytpLnBvaW50LngsbD10LnkxKm8raS5wb2ludC55LGM9dC54MipvK2kucG9pbnQueCx1PXQueTIqbytpLnBvaW50Lnk7cmV0dXJuIXRoaXMuaXNJbnNpZGVHcmlkKHMsbCxjLHUpfHwhZSYmdGhpcy5ncmlkLmhpdFRlc3QocyxsLGMsdSxhKT97Ym94OltdLG9mZnNjcmVlbjohMX06e2JveDpbcyxsLGMsdV0sb2Zmc2NyZWVuOnRoaXMuaXNPZmZzY3JlZW4ocyxsLGMsdSl9fSxzZS5wcm90b3R5cGUuYXBwcm94aW1hdGVUaWxlRGlzdGFuY2U9ZnVuY3Rpb24odCxlLHIsbixhKXt2YXIgaT1hPzE6bi90aGlzLnBpdGNoZmFjdG9yLG89dC5sYXN0U2VnbWVudFZpZXdwb3J0RGlzdGFuY2UqcjtyZXR1cm4gdC5wcmV2VGlsZURpc3RhbmNlK28rKGktMSkqbypNYXRoLmFicyhNYXRoLnNpbihlKSl9LHNlLnByb3RvdHlwZS5wbGFjZUNvbGxpc2lvbkNpcmNsZXM9ZnVuY3Rpb24oZSxyLG4sYSxpLG8scyxsLGMsdSxoLGYscCl7dmFyIGQ9W10sZz10aGlzLnByb2plY3RBbmNob3IoYyxpLmFuY2hvclgsaS5hbmNob3JZKSx2PWwvMjQsbT1pLmxpbmVPZmZzZXRYKmwseT1pLmxpbmVPZmZzZXRZKmwseD1uZXcgdC5Qb2ludChpLmFuY2hvclgsaS5hbmNob3JZKSxiPSR0KHYscyxtLHksITEsSnQoeCx1KS5wb2ludCx4LGksbyx1LHt9LCEwKSxfPSExLHc9ITEsaz0hMCxUPWcucGVyc3BlY3RpdmVSYXRpbyphLE09MS8oYSpuKSxBPTAsUz0wO2ImJihBPXRoaXMuYXBwcm94aW1hdGVUaWxlRGlzdGFuY2UoYi5maXJzdC50aWxlRGlzdGFuY2UsYi5maXJzdC5hbmdsZSxNLGcuY2FtZXJhRGlzdGFuY2UsZiksUz10aGlzLmFwcHJveGltYXRlVGlsZURpc3RhbmNlKGIubGFzdC50aWxlRGlzdGFuY2UsYi5sYXN0LmFuZ2xlLE0sZy5jYW1lcmFEaXN0YW5jZSxmKSk7Zm9yKHZhciBFPTA7RTxlLmxlbmd0aDtFKz01KXt2YXIgTD1lW0VdLEM9ZVtFKzFdLFA9ZVtFKzJdLE89ZVtFKzNdO2lmKCFifHxPPC1BfHxPPlMpbGUoZSxFLCExKTtlbHNle3ZhciB6PXRoaXMucHJvamVjdFBvaW50KGMsTCxDKSxJPVAqVDtpZihkLmxlbmd0aD4wKXt2YXIgRD16LngtZFtkLmxlbmd0aC00XSxSPXoueS1kW2QubGVuZ3RoLTNdO2lmKEkqSSoyPkQqRCtSKlImJkUrODxlLmxlbmd0aCl7dmFyIEY9ZVtFKzhdO2lmKEY+LUEmJkY8Uyl7bGUoZSxFLCExKTtjb250aW51ZX19fXZhciBCPUUvNTtkLnB1c2goei54LHoueSxJLEIpLGxlKGUsRSwhMCk7dmFyIE49ei54LUksaj16LnktSSxWPXoueCtJLFU9ei55K0k7aWYoaz1rJiZ0aGlzLmlzT2Zmc2NyZWVuKE4saixWLFUpLHc9d3x8dGhpcy5pc0luc2lkZUdyaWQoTixqLFYsVSksIXImJnRoaXMuZ3JpZC5oaXRUZXN0Q2lyY2xlKHoueCx6LnksSSxwKSl7aWYoIWgpcmV0dXJue2NpcmNsZXM6W10sb2Zmc2NyZWVuOiExfTtfPSEwfX19cmV0dXJue2NpcmNsZXM6X3x8IXc/W106ZCxvZmZzY3JlZW46a319LHNlLnByb3RvdHlwZS5xdWVyeVJlbmRlcmVkU3ltYm9scz1mdW5jdGlvbihlKXtpZigwPT09ZS5sZW5ndGh8fDA9PT10aGlzLmdyaWQua2V5c0xlbmd0aCgpJiYwPT09dGhpcy5pZ25vcmVkR3JpZC5rZXlzTGVuZ3RoKCkpcmV0dXJue307Zm9yKHZhciByPVtdLG49MS8wLGE9MS8wLGk9LTEvMCxvPS0xLzAscz0wLGw9ZTtzPGwubGVuZ3RoO3MrPTEpe3ZhciBjPWxbc10sdT1uZXcgdC5Qb2ludChjLngrMTAwLGMueSsxMDApO249TWF0aC5taW4obix1LngpLGE9TWF0aC5taW4oYSx1LnkpLGk9TWF0aC5tYXgoaSx1LngpLG89TWF0aC5tYXgobyx1LnkpLHIucHVzaCh1KX1mb3IodmFyIGg9e30sZj17fSxwPTAsZD10aGlzLmdyaWQucXVlcnkobixhLGksbykuY29uY2F0KHRoaXMuaWdub3JlZEdyaWQucXVlcnkobixhLGksbykpO3A8ZC5sZW5ndGg7cCs9MSl7dmFyIGc9ZFtwXSx2PWcua2V5O2lmKHZvaWQgMD09PWhbdi5idWNrZXRJbnN0YW5jZUlkXSYmKGhbdi5idWNrZXRJbnN0YW5jZUlkXT17fSksIWhbdi5idWNrZXRJbnN0YW5jZUlkXVt2LmZlYXR1cmVJbmRleF0pe3ZhciBtPVtuZXcgdC5Qb2ludChnLngxLGcueTEpLG5ldyB0LlBvaW50KGcueDIsZy55MSksbmV3IHQuUG9pbnQoZy54MixnLnkyKSxuZXcgdC5Qb2ludChnLngxLGcueTIpXTt0LnBvbHlnb25JbnRlcnNlY3RzUG9seWdvbihyLG0pJiYoaFt2LmJ1Y2tldEluc3RhbmNlSWRdW3YuZmVhdHVyZUluZGV4XT0hMCx2b2lkIDA9PT1mW3YuYnVja2V0SW5zdGFuY2VJZF0mJihmW3YuYnVja2V0SW5zdGFuY2VJZF09W10pLGZbdi5idWNrZXRJbnN0YW5jZUlkXS5wdXNoKHYuZmVhdHVyZUluZGV4KSl9fXJldHVybiBmfSxzZS5wcm90b3R5cGUuaW5zZXJ0Q29sbGlzaW9uQm94PWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGk9e2J1Y2tldEluc3RhbmNlSWQ6cixmZWF0dXJlSW5kZXg6bixjb2xsaXNpb25Hcm91cElEOmF9OyhlP3RoaXMuaWdub3JlZEdyaWQ6dGhpcy5ncmlkKS5pbnNlcnQoaSx0WzBdLHRbMV0sdFsyXSx0WzNdKX0sc2UucHJvdG90eXBlLmluc2VydENvbGxpc2lvbkNpcmNsZXM9ZnVuY3Rpb24odCxlLHIsbixhKXtmb3IodmFyIGk9ZT90aGlzLmlnbm9yZWRHcmlkOnRoaXMuZ3JpZCxvPXtidWNrZXRJbnN0YW5jZUlkOnIsZmVhdHVyZUluZGV4Om4sY29sbGlzaW9uR3JvdXBJRDphfSxzPTA7czx0Lmxlbmd0aDtzKz00KWkuaW5zZXJ0Q2lyY2xlKG8sdFtzXSx0W3MrMV0sdFtzKzJdKX0sc2UucHJvdG90eXBlLnByb2plY3RBbmNob3I9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPVtlLHIsMCwxXTtyZXR1cm4gb2UobixuLHQpLHtwZXJzcGVjdGl2ZVJhdGlvOi41K3RoaXMudHJhbnNmb3JtLmNhbWVyYVRvQ2VudGVyRGlzdGFuY2UvblszXSouNSxjYW1lcmFEaXN0YW5jZTpuWzNdfX0sc2UucHJvdG90eXBlLnByb2plY3RQb2ludD1mdW5jdGlvbihlLHIsbil7dmFyIGE9W3IsbiwwLDFdO3JldHVybiBvZShhLGEsZSksbmV3IHQuUG9pbnQoKGFbMF0vYVszXSsxKS8yKnRoaXMudHJhbnNmb3JtLndpZHRoKzEwMCwoLWFbMV0vYVszXSsxKS8yKnRoaXMudHJhbnNmb3JtLmhlaWdodCsxMDApfSxzZS5wcm90b3R5cGUucHJvamVjdEFuZEdldFBlcnNwZWN0aXZlUmF0aW89ZnVuY3Rpb24oZSxyLG4pe3ZhciBhPVtyLG4sMCwxXTtyZXR1cm4gb2UoYSxhLGUpLHtwb2ludDpuZXcgdC5Qb2ludCgoYVswXS9hWzNdKzEpLzIqdGhpcy50cmFuc2Zvcm0ud2lkdGgrMTAwLCgtYVsxXS9hWzNdKzEpLzIqdGhpcy50cmFuc2Zvcm0uaGVpZ2h0KzEwMCkscGVyc3BlY3RpdmVSYXRpbzouNSt0aGlzLnRyYW5zZm9ybS5jYW1lcmFUb0NlbnRlckRpc3RhbmNlL2FbM10qLjV9fSxzZS5wcm90b3R5cGUuaXNPZmZzY3JlZW49ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIHI8MTAwfHx0Pj10aGlzLnNjcmVlblJpZ2h0Qm91bmRhcnl8fG48MTAwfHxlPnRoaXMuc2NyZWVuQm90dG9tQm91bmRhcnl9LHNlLnByb3RvdHlwZS5pc0luc2lkZUdyaWQ9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIHI+PTAmJnQ8dGhpcy5ncmlkUmlnaHRCb3VuZGFyeSYmbj49MCYmZTx0aGlzLmdyaWRCb3R0b21Cb3VuZGFyeX07dmFyIHVlPWZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMub3BhY2l0eT10P01hdGgubWF4KDAsTWF0aC5taW4oMSx0Lm9wYWNpdHkrKHQucGxhY2VkP2U6LWUpKSk6biYmcj8xOjAsdGhpcy5wbGFjZWQ9cn07dWUucHJvdG90eXBlLmlzSGlkZGVuPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLm9wYWNpdHkmJiF0aGlzLnBsYWNlZH07dmFyIGhlPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dGhpcy50ZXh0PW5ldyB1ZSh0P3QudGV4dDpudWxsLGUscixhKSx0aGlzLmljb249bmV3IHVlKHQ/dC5pY29uOm51bGwsZSxuLGEpfTtoZS5wcm90b3R5cGUuaXNIaWRkZW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50ZXh0LmlzSGlkZGVuKCkmJnRoaXMuaWNvbi5pc0hpZGRlbigpfTt2YXIgZmU9ZnVuY3Rpb24odCxlLHIpe3RoaXMudGV4dD10LHRoaXMuaWNvbj1lLHRoaXMuc2tpcEZhZGU9cn0scGU9ZnVuY3Rpb24odCxlLHIsbixhKXt0aGlzLmJ1Y2tldEluc3RhbmNlSWQ9dCx0aGlzLmZlYXR1cmVJbmRleD1lLHRoaXMuc291cmNlTGF5ZXJJbmRleD1yLHRoaXMuYnVja2V0SW5kZXg9bix0aGlzLnRpbGVJRD1hfSxkZT1mdW5jdGlvbih0KXt0aGlzLmNyb3NzU291cmNlQ29sbGlzaW9ucz10LHRoaXMubWF4R3JvdXBJRD0wLHRoaXMuY29sbGlzaW9uR3JvdXBzPXt9fTtmdW5jdGlvbiBnZShlLHIsbixhLGkpe3ZhciBvPXQuZ2V0QW5jaG9yQWxpZ25tZW50KGUpLHM9LShvLmhvcml6b250YWxBbGlnbi0uNSkqcixsPS0oby52ZXJ0aWNhbEFsaWduLS41KSpuLGM9dC5ldmFsdWF0ZVJhZGlhbE9mZnNldChlLGEpO3JldHVybiBuZXcgdC5Qb2ludChzK2NbMF0qaSxsK2NbMV0qaSl9ZGUucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXtpZih0aGlzLmNyb3NzU291cmNlQ29sbGlzaW9ucylyZXR1cm57SUQ6MCxwcmVkaWNhdGU6bnVsbH07aWYoIXRoaXMuY29sbGlzaW9uR3JvdXBzW3RdKXt2YXIgZT0rK3RoaXMubWF4R3JvdXBJRDt0aGlzLmNvbGxpc2lvbkdyb3Vwc1t0XT17SUQ6ZSxwcmVkaWNhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29sbGlzaW9uR3JvdXBJRD09PWV9fX1yZXR1cm4gdGhpcy5jb2xsaXNpb25Hcm91cHNbdF19O3ZhciB2ZT1mdW5jdGlvbih0LGUscixuKXt0aGlzLnRyYW5zZm9ybT10LmNsb25lKCksdGhpcy5jb2xsaXNpb25JbmRleD1uZXcgc2UodGhpcy50cmFuc2Zvcm0pLHRoaXMucGxhY2VtZW50cz17fSx0aGlzLm9wYWNpdGllcz17fSx0aGlzLnZhcmlhYmxlT2Zmc2V0cz17fSx0aGlzLnN0YWxlPSExLHRoaXMuY29tbWl0VGltZT0wLHRoaXMuZmFkZUR1cmF0aW9uPWUsdGhpcy5yZXRhaW5lZFF1ZXJ5RGF0YT17fSx0aGlzLmNvbGxpc2lvbkdyb3Vwcz1uZXcgZGUociksdGhpcy5wcmV2UGxhY2VtZW50PW4sbiYmKG4ucHJldlBsYWNlbWVudD12b2lkIDApLHRoaXMucGxhY2VkT3JpZW50YXRpb25zPXt9fTtmdW5jdGlvbiBtZSh0LGUscixuLGEpe3QuZW1wbGFjZUJhY2soZT8xOjAscj8xOjAsbnx8MCxhfHwwKSx0LmVtcGxhY2VCYWNrKGU/MTowLHI/MTowLG58fDAsYXx8MCksdC5lbXBsYWNlQmFjayhlPzE6MCxyPzE6MCxufHwwLGF8fDApLHQuZW1wbGFjZUJhY2soZT8xOjAscj8xOjAsbnx8MCxhfHwwKX12ZS5wcm90b3R5cGUucGxhY2VMYXllclRpbGU9ZnVuY3Rpb24oZSxyLG4sYSl7dmFyIGk9ci5nZXRCdWNrZXQoZSksbz1yLmxhdGVzdEZlYXR1cmVJbmRleDtpZihpJiZvJiZlLmlkPT09aS5sYXllcklkc1swXSl7dmFyIHM9ci5jb2xsaXNpb25Cb3hBcnJheSxsPWkubGF5ZXJzWzBdLmxheW91dCxjPU1hdGgucG93KDIsdGhpcy50cmFuc2Zvcm0uem9vbS1yLnRpbGVJRC5vdmVyc2NhbGVkWiksdT1yLnRpbGVTaXplL3QuRVhURU5ULGg9dGhpcy50cmFuc2Zvcm0uY2FsY3VsYXRlUG9zTWF0cml4KHIudGlsZUlELnRvVW53cmFwcGVkKCkpLGY9WHQoaCwibWFwIj09PWwuZ2V0KCJ0ZXh0LXBpdGNoLWFsaWdubWVudCIpLCJtYXAiPT09bC5nZXQoInRleHQtcm90YXRpb24tYWxpZ25tZW50IiksdGhpcy50cmFuc2Zvcm0sY2UociwxLHRoaXMudHJhbnNmb3JtLnpvb20pKSxwPVh0KGgsIm1hcCI9PT1sLmdldCgiaWNvbi1waXRjaC1hbGlnbm1lbnQiKSwibWFwIj09PWwuZ2V0KCJpY29uLXJvdGF0aW9uLWFsaWdubWVudCIpLHRoaXMudHJhbnNmb3JtLGNlKHIsMSx0aGlzLnRyYW5zZm9ybS56b29tKSk7dGhpcy5yZXRhaW5lZFF1ZXJ5RGF0YVtpLmJ1Y2tldEluc3RhbmNlSWRdPW5ldyBwZShpLmJ1Y2tldEluc3RhbmNlSWQsbyxpLnNvdXJjZUxheWVySW5kZXgsaS5pbmRleCxyLnRpbGVJRCksdGhpcy5wbGFjZUxheWVyQnVja2V0KGksaCxmLHAsYyx1LG4sci5ob2xkaW5nRm9yRmFkZSgpLGEscyl9fSx2ZS5wcm90b3R5cGUuYXR0ZW1wdEFuY2hvclBsYWNlbWVudD1mdW5jdGlvbihlLHIsbixhLGksbyxzLGwsYyx1LGgsZixwLGQsZyl7dmFyIHYsbT1nZShlLG4sYSxpLG8pLHk9dGhpcy5jb2xsaXNpb25JbmRleC5wbGFjZUNvbGxpc2lvbkJveChmdW5jdGlvbihlLHIsbixhLGksbyl7dmFyIHM9ZS54MSxsPWUueDIsYz1lLnkxLHU9ZS55MixoPWUuYW5jaG9yUG9pbnRYLGY9ZS5hbmNob3JQb2ludFkscD1uZXcgdC5Qb2ludChyLG4pO3JldHVybiBhJiZwLl9yb3RhdGUoaT9vOi1vKSx7eDE6cytwLngseTE6YytwLnkseDI6bCtwLngseTI6dStwLnksYW5jaG9yUG9pbnRYOmgsYW5jaG9yUG9pbnRZOmZ9fShyLG0ueCxtLnkscyxsLHRoaXMudHJhbnNmb3JtLmFuZ2xlKSxmLGMsdSxoLnByZWRpY2F0ZSk7aWYoeS5ib3gubGVuZ3RoPjApcmV0dXJuIHRoaXMucHJldlBsYWNlbWVudCYmdGhpcy5wcmV2UGxhY2VtZW50LnZhcmlhYmxlT2Zmc2V0c1twLmNyb3NzVGlsZUlEXSYmdGhpcy5wcmV2UGxhY2VtZW50LnBsYWNlbWVudHNbcC5jcm9zc1RpbGVJRF0mJnRoaXMucHJldlBsYWNlbWVudC5wbGFjZW1lbnRzW3AuY3Jvc3NUaWxlSURdLnRleHQmJih2PXRoaXMucHJldlBsYWNlbWVudC52YXJpYWJsZU9mZnNldHNbcC5jcm9zc1RpbGVJRF0uYW5jaG9yKSx0aGlzLnZhcmlhYmxlT2Zmc2V0c1twLmNyb3NzVGlsZUlEXT17cmFkaWFsT2Zmc2V0Omksd2lkdGg6bixoZWlnaHQ6YSxhbmNob3I6ZSx0ZXh0Qm94U2NhbGU6byxwcmV2QW5jaG9yOnZ9LHRoaXMubWFya1VzZWRKdXN0aWZpY2F0aW9uKGQsZSxwLGcpLGQuYWxsb3dWZXJ0aWNhbFBsYWNlbWVudCYmKHRoaXMubWFya1VzZWRPcmllbnRhdGlvbihkLGcscCksdGhpcy5wbGFjZWRPcmllbnRhdGlvbnNbcC5jcm9zc1RpbGVJRF09ZykseX0sdmUucHJvdG90eXBlLnBsYWNlTGF5ZXJCdWNrZXQ9ZnVuY3Rpb24oZSxyLG4sYSxpLG8scyxsLGMsdSl7dmFyIGg9dGhpcyxmPWUubGF5ZXJzWzBdLmxheW91dCxwPXQuZXZhbHVhdGVTaXplRm9yWm9vbShlLnRleHRTaXplRGF0YSx0aGlzLnRyYW5zZm9ybS56b29tKSxkPWYuZ2V0KCJ0ZXh0LW9wdGlvbmFsIiksZz1mLmdldCgiaWNvbi1vcHRpb25hbCIpLHY9Zi5nZXQoInRleHQtYWxsb3ctb3ZlcmxhcCIpLG09Zi5nZXQoImljb24tYWxsb3ctb3ZlcmxhcCIpLHk9diYmKG18fCFlLmhhc0ljb25EYXRhKCl8fGcpLHg9bSYmKHZ8fCFlLmhhc1RleHREYXRhKCl8fGQpLGI9dGhpcy5jb2xsaXNpb25Hcm91cHMuZ2V0KGUuc291cmNlSUQpLF89Im1hcCI9PT1mLmdldCgidGV4dC1yb3RhdGlvbi1hbGlnbm1lbnQiKSx3PSJtYXAiPT09Zi5nZXQoInRleHQtcGl0Y2gtYWxpZ25tZW50Iiksaz0idmlld3BvcnQteSI9PT1mLmdldCgic3ltYm9sLXotb3JkZXIiKTshZS5jb2xsaXNpb25BcnJheXMmJnUmJmUuZGVzZXJpYWxpemVDb2xsaXNpb25Cb3hlcyh1KTt2YXIgVD1mdW5jdGlvbihhLHUpe2lmKCFjW2EuY3Jvc3NUaWxlSURdKWlmKGwpaC5wbGFjZW1lbnRzW2EuY3Jvc3NUaWxlSURdPW5ldyBmZSghMSwhMSwhMSk7ZWxzZXt2YXIgbSxrPSExLFQ9ITEsTT0hMCxBPXtib3g6bnVsbCxvZmZzY3JlZW46bnVsbH0sUz17Ym94Om51bGwsb2Zmc2NyZWVuOm51bGx9LEU9bnVsbCxMPW51bGwsQz0wLFA9MCxPPTA7dS50ZXh0RmVhdHVyZUluZGV4JiYoQz11LnRleHRGZWF0dXJlSW5kZXgpLHUudmVydGljYWxUZXh0RmVhdHVyZUluZGV4JiYoUD11LnZlcnRpY2FsVGV4dEZlYXR1cmVJbmRleCk7dmFyIHo9dS50ZXh0Qm94O2lmKHope3ZhciBJPWZ1bmN0aW9uKHIpe3ZhciBuPXQuV3JpdGluZ01vZGUuaG9yaXpvbnRhbDtpZihlLmFsbG93VmVydGljYWxQbGFjZW1lbnQmJiFyJiZoLnByZXZQbGFjZW1lbnQpe3ZhciBpPWgucHJldlBsYWNlbWVudC5wbGFjZWRPcmllbnRhdGlvbnNbYS5jcm9zc1RpbGVJRF07aSYmKGgucGxhY2VkT3JpZW50YXRpb25zW2EuY3Jvc3NUaWxlSURdPWksbj1pLGgubWFya1VzZWRPcmllbnRhdGlvbihlLG4sYSkpfXJldHVybiBufSxEPWZ1bmN0aW9uKHIsbil7aWYoZS5hbGxvd1ZlcnRpY2FsUGxhY2VtZW50JiZhLm51bVZlcnRpY2FsR2x5cGhWZXJ0aWNlcz4wJiZ1LnZlcnRpY2FsVGV4dEJveClmb3IodmFyIGk9MCxvPWUud3JpdGluZ01vZGVzO2k8by5sZW5ndGgmJihvW2ldPT09dC5Xcml0aW5nTW9kZS52ZXJ0aWNhbD8oQT1uKCksUz1BKTpBPXIoKSwhKEEmJkEuYm94JiZBLmJveC5sZW5ndGgpKTtpKz0xKTtlbHNlIEE9cigpfTtpZihmLmdldCgidGV4dC12YXJpYWJsZS1hbmNob3IiKSl7dmFyIFI9Zi5nZXQoInRleHQtdmFyaWFibGUtYW5jaG9yIik7aWYoaC5wcmV2UGxhY2VtZW50JiZoLnByZXZQbGFjZW1lbnQudmFyaWFibGVPZmZzZXRzW2EuY3Jvc3NUaWxlSURdKXt2YXIgRj1oLnByZXZQbGFjZW1lbnQudmFyaWFibGVPZmZzZXRzW2EuY3Jvc3NUaWxlSURdO1IuaW5kZXhPZihGLmFuY2hvcik+MCYmKFI9Ui5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQhPT1GLmFuY2hvcn0pKS51bnNoaWZ0KEYuYW5jaG9yKX12YXIgQj1mdW5jdGlvbih0LG4pe2Zvcih2YXIgaT10LngyLXQueDEscz10LnkyLXQueTEsbD1hLnRleHRCb3hTY2FsZSxjPXtib3g6W10sb2Zmc2NyZWVuOiExfSx1PXY/MipSLmxlbmd0aDpSLmxlbmd0aCxmPTA7Zjx1OysrZil7dmFyIHA9UltmJVIubGVuZ3RoXSxkPWY+PVIubGVuZ3RoO2lmKChjPWguYXR0ZW1wdEFuY2hvclBsYWNlbWVudChwLHQsaSxzLGEucmFkaWFsVGV4dE9mZnNldCxsLF8sdyxvLHIsYixkLGEsZSxuKSkmJmMuYm94JiZjLmJveC5sZW5ndGgpe2s9ITA7YnJlYWt9fXJldHVybiBjfTtEKGZ1bmN0aW9uKCl7cmV0dXJuIEIoeix0LldyaXRpbmdNb2RlLmhvcml6b250YWwpfSxmdW5jdGlvbigpe3ZhciByPXUudmVydGljYWxUZXh0Qm94LG49QSYmQS5ib3gmJkEuYm94Lmxlbmd0aDtyZXR1cm4gZS5hbGxvd1ZlcnRpY2FsUGxhY2VtZW50JiYhbiYmYS5udW1WZXJ0aWNhbEdseXBoVmVydGljZXM+MCYmcj9CKHIsdC5Xcml0aW5nTW9kZS52ZXJ0aWNhbCk6e2JveDpudWxsLG9mZnNjcmVlbjpudWxsfX0pLEEmJihrPUEuYm94LE09QS5vZmZzY3JlZW4pO3ZhciBOPUkoQSYmQS5ib3gpO2lmKCFrJiZoLnByZXZQbGFjZW1lbnQpe3ZhciBqPWgucHJldlBsYWNlbWVudC52YXJpYWJsZU9mZnNldHNbYS5jcm9zc1RpbGVJRF07aiYmKGgudmFyaWFibGVPZmZzZXRzW2EuY3Jvc3NUaWxlSURdPWosaC5tYXJrVXNlZEp1c3RpZmljYXRpb24oZSxqLmFuY2hvcixhLE4pKX19ZWxzZXt2YXIgVj1mdW5jdGlvbih0LG4pe3ZhciBpPWguY29sbGlzaW9uSW5kZXgucGxhY2VDb2xsaXNpb25Cb3godCxmLmdldCgidGV4dC1hbGxvdy1vdmVybGFwIiksbyxyLGIucHJlZGljYXRlKTtyZXR1cm4gaSYmaS5ib3gmJmkuYm94Lmxlbmd0aCYmKGgubWFya1VzZWRPcmllbnRhdGlvbihlLG4sYSksaC5wbGFjZWRPcmllbnRhdGlvbnNbYS5jcm9zc1RpbGVJRF09biksaX07RChmdW5jdGlvbigpe3JldHVybiBWKHosdC5Xcml0aW5nTW9kZS5ob3Jpem9udGFsKX0sZnVuY3Rpb24oKXt2YXIgcj11LnZlcnRpY2FsVGV4dEJveDtyZXR1cm4gZS5hbGxvd1ZlcnRpY2FsUGxhY2VtZW50JiZhLm51bVZlcnRpY2FsR2x5cGhWZXJ0aWNlcz4wJiZyP1Yocix0LldyaXRpbmdNb2RlLnZlcnRpY2FsKTp7Ym94Om51bGwsb2Zmc2NyZWVuOm51bGx9fSksSShBJiZBLmJveCYmQS5ib3gubGVuZ3RoKX19az0obT1BKSYmbS5ib3gmJm0uYm94Lmxlbmd0aD4wLE09bSYmbS5vZmZzY3JlZW47dmFyIFU9dS50ZXh0Q2lyY2xlcztpZihVKXt2YXIgcT1lLnRleHQucGxhY2VkU3ltYm9sQXJyYXkuZ2V0KGEuY2VudGVySnVzdGlmaWVkVGV4dFN5bWJvbEluZGV4KSxIPXQuZXZhbHVhdGVTaXplRm9yRmVhdHVyZShlLnRleHRTaXplRGF0YSxwLHEpO0U9aC5jb2xsaXNpb25JbmRleC5wbGFjZUNvbGxpc2lvbkNpcmNsZXMoVSxmLmdldCgidGV4dC1hbGxvdy1vdmVybGFwIiksaSxvLHEsZS5saW5lVmVydGV4QXJyYXksZS5nbHlwaE9mZnNldEFycmF5LEgscixuLHMsdyxiLnByZWRpY2F0ZSksaz1mLmdldCgidGV4dC1hbGxvdy1vdmVybGFwIil8fEUuY2lyY2xlcy5sZW5ndGg+MCxNPU0mJkUub2Zmc2NyZWVufXUuaWNvbkZlYXR1cmVJbmRleCYmKE89dS5pY29uRmVhdHVyZUluZGV4KSx1Lmljb25Cb3gmJihUPShMPWguY29sbGlzaW9uSW5kZXgucGxhY2VDb2xsaXNpb25Cb3godS5pY29uQm94LGYuZ2V0KCJpY29uLWFsbG93LW92ZXJsYXAiKSxvLHIsYi5wcmVkaWNhdGUpKS5ib3gubGVuZ3RoPjAsTT1NJiZMLm9mZnNjcmVlbik7dmFyIEc9ZHx8MD09PWEubnVtSG9yaXpvbnRhbEdseXBoVmVydGljZXMmJjA9PT1hLm51bVZlcnRpY2FsR2x5cGhWZXJ0aWNlcyxZPWd8fDA9PT1hLm51bUljb25WZXJ0aWNlcztHfHxZP1k/R3x8KFQ9VCYmayk6az1UJiZrOlQ9az1UJiZrLGsmJm0mJm0uYm94JiYoUyYmUy5ib3gmJlA/aC5jb2xsaXNpb25JbmRleC5pbnNlcnRDb2xsaXNpb25Cb3gobS5ib3gsZi5nZXQoInRleHQtaWdub3JlLXBsYWNlbWVudCIpLGUuYnVja2V0SW5zdGFuY2VJZCxQLGIuSUQpOmguY29sbGlzaW9uSW5kZXguaW5zZXJ0Q29sbGlzaW9uQm94KG0uYm94LGYuZ2V0KCJ0ZXh0LWlnbm9yZS1wbGFjZW1lbnQiKSxlLmJ1Y2tldEluc3RhbmNlSWQsQyxiLklEKSksVCYmTCYmaC5jb2xsaXNpb25JbmRleC5pbnNlcnRDb2xsaXNpb25Cb3goTC5ib3gsZi5nZXQoImljb24taWdub3JlLXBsYWNlbWVudCIpLGUuYnVja2V0SW5zdGFuY2VJZCxPLGIuSUQpLGsmJkUmJmguY29sbGlzaW9uSW5kZXguaW5zZXJ0Q29sbGlzaW9uQ2lyY2xlcyhFLmNpcmNsZXMsZi5nZXQoInRleHQtaWdub3JlLXBsYWNlbWVudCIpLGUuYnVja2V0SW5zdGFuY2VJZCxDLGIuSUQpLGgucGxhY2VtZW50c1thLmNyb3NzVGlsZUlEXT1uZXcgZmUoa3x8eSxUfHx4LE18fGUuanVzdFJlbG9hZGVkKSxjW2EuY3Jvc3NUaWxlSURdPSEwfX07aWYoaylmb3IodmFyIE09ZS5nZXRTb3J0ZWRTeW1ib2xJbmRleGVzKHRoaXMudHJhbnNmb3JtLmFuZ2xlKSxBPU0ubGVuZ3RoLTE7QT49MDstLUEpe3ZhciBTPU1bQV07VChlLnN5bWJvbEluc3RhbmNlcy5nZXQoUyksZS5jb2xsaXNpb25BcnJheXNbU10pfWVsc2UgZm9yKHZhciBFPTA7RTxlLnN5bWJvbEluc3RhbmNlcy5sZW5ndGg7KytFKVQoZS5zeW1ib2xJbnN0YW5jZXMuZ2V0KEUpLGUuY29sbGlzaW9uQXJyYXlzW0VdKTtlLmp1c3RSZWxvYWRlZD0hMX0sdmUucHJvdG90eXBlLm1hcmtVc2VkSnVzdGlmaWNhdGlvbj1mdW5jdGlvbihlLHIsbixhKXt2YXIgaSxvPXtsZWZ0Om4ubGVmdEp1c3RpZmllZFRleHRTeW1ib2xJbmRleCxjZW50ZXI6bi5jZW50ZXJKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXgscmlnaHQ6bi5yaWdodEp1c3RpZmllZFRleHRTeW1ib2xJbmRleH07aT1hPT09dC5Xcml0aW5nTW9kZS52ZXJ0aWNhbD9uLnZlcnRpY2FsUGxhY2VkVGV4dFN5bWJvbEluZGV4Om9bdC5nZXRBbmNob3JKdXN0aWZpY2F0aW9uKHIpXTtmb3IodmFyIHM9MCxsPVtuLmxlZnRKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXgsbi5jZW50ZXJKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXgsbi5yaWdodEp1c3RpZmllZFRleHRTeW1ib2xJbmRleCxuLnZlcnRpY2FsUGxhY2VkVGV4dFN5bWJvbEluZGV4XTtzPGwubGVuZ3RoO3MrPTEpe3ZhciBjPWxbc107Yz49MCYmKGUudGV4dC5wbGFjZWRTeW1ib2xBcnJheS5nZXQoYykuY3Jvc3NUaWxlSUQ9aT49MCYmYyE9PWk/MDpuLmNyb3NzVGlsZUlEKX19LHZlLnByb3RvdHlwZS5tYXJrVXNlZE9yaWVudGF0aW9uPWZ1bmN0aW9uKGUscixuKXtmb3IodmFyIGE9cj09PXQuV3JpdGluZ01vZGUuaG9yaXpvbnRhbHx8cj09PXQuV3JpdGluZ01vZGUuaG9yaXpvbnRhbE9ubHk/cjowLGk9cj09PXQuV3JpdGluZ01vZGUudmVydGljYWw/cjowLG89MCxzPVtuLmxlZnRKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXgsbi5jZW50ZXJKdXN0aWZpZWRUZXh0U3ltYm9sSW5kZXgsbi5yaWdodEp1c3RpZmllZFRleHRTeW1ib2xJbmRleF07bzxzLmxlbmd0aDtvKz0xKXt2YXIgbD1zW29dO2UudGV4dC5wbGFjZWRTeW1ib2xBcnJheS5nZXQobCkucGxhY2VkT3JpZW50YXRpb249YX1uLnZlcnRpY2FsUGxhY2VkVGV4dFN5bWJvbEluZGV4JiYoZS50ZXh0LnBsYWNlZFN5bWJvbEFycmF5LmdldChuLnZlcnRpY2FsUGxhY2VkVGV4dFN5bWJvbEluZGV4KS5wbGFjZWRPcmllbnRhdGlvbj1pKX0sdmUucHJvdG90eXBlLmNvbW1pdD1mdW5jdGlvbih0KXt0aGlzLmNvbW1pdFRpbWU9dDt2YXIgZT10aGlzLnByZXZQbGFjZW1lbnQscj0hMSxuPWUmJjAhPT10aGlzLmZhZGVEdXJhdGlvbj8odGhpcy5jb21taXRUaW1lLWUuY29tbWl0VGltZSkvdGhpcy5mYWRlRHVyYXRpb246MSxhPWU/ZS5vcGFjaXRpZXM6e30saT1lP2UudmFyaWFibGVPZmZzZXRzOnt9LG89ZT9lLnBsYWNlZE9yaWVudGF0aW9uczp7fTtmb3IodmFyIHMgaW4gdGhpcy5wbGFjZW1lbnRzKXt2YXIgbD10aGlzLnBsYWNlbWVudHNbc10sYz1hW3NdO2M/KHRoaXMub3BhY2l0aWVzW3NdPW5ldyBoZShjLG4sbC50ZXh0LGwuaWNvbikscj1yfHxsLnRleHQhPT1jLnRleHQucGxhY2VkfHxsLmljb24hPT1jLmljb24ucGxhY2VkKToodGhpcy5vcGFjaXRpZXNbc109bmV3IGhlKG51bGwsbixsLnRleHQsbC5pY29uLGwuc2tpcEZhZGUpLHI9cnx8bC50ZXh0fHxsLmljb24pfWZvcih2YXIgdSBpbiBhKXt2YXIgaD1hW3VdO2lmKCF0aGlzLm9wYWNpdGllc1t1XSl7dmFyIGY9bmV3IGhlKGgsbiwhMSwhMSk7Zi5pc0hpZGRlbigpfHwodGhpcy5vcGFjaXRpZXNbdV09ZixyPXJ8fGgudGV4dC5wbGFjZWR8fGguaWNvbi5wbGFjZWQpfX1mb3IodmFyIHAgaW4gaSl0aGlzLnZhcmlhYmxlT2Zmc2V0c1twXXx8IXRoaXMub3BhY2l0aWVzW3BdfHx0aGlzLm9wYWNpdGllc1twXS5pc0hpZGRlbigpfHwodGhpcy52YXJpYWJsZU9mZnNldHNbcF09aVtwXSk7Zm9yKHZhciBkIGluIG8pdGhpcy5wbGFjZWRPcmllbnRhdGlvbnNbZF18fCF0aGlzLm9wYWNpdGllc1tkXXx8dGhpcy5vcGFjaXRpZXNbZF0uaXNIaWRkZW4oKXx8KHRoaXMucGxhY2VkT3JpZW50YXRpb25zW2RdPW9bZF0pO3I/dGhpcy5sYXN0UGxhY2VtZW50Q2hhbmdlVGltZT10OiJudW1iZXIiIT10eXBlb2YgdGhpcy5sYXN0UGxhY2VtZW50Q2hhbmdlVGltZSYmKHRoaXMubGFzdFBsYWNlbWVudENoYW5nZVRpbWU9ZT9lLmxhc3RQbGFjZW1lbnRDaGFuZ2VUaW1lOnQpfSx2ZS5wcm90b3R5cGUudXBkYXRlTGF5ZXJPcGFjaXRpZXM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9e30sbj0wLGE9ZTtuPGEubGVuZ3RoO24rPTEpe3ZhciBpPWFbbl0sbz1pLmdldEJ1Y2tldCh0KTtvJiZpLmxhdGVzdEZlYXR1cmVJbmRleCYmdC5pZD09PW8ubGF5ZXJJZHNbMF0mJnRoaXMudXBkYXRlQnVja2V0T3BhY2l0aWVzKG8scixpLmNvbGxpc2lvbkJveEFycmF5KX19LHZlLnByb3RvdHlwZS51cGRhdGVCdWNrZXRPcGFjaXRpZXM9ZnVuY3Rpb24oZSxyLG4pe2UuaGFzVGV4dERhdGEoKSYmZS50ZXh0Lm9wYWNpdHlWZXJ0ZXhBcnJheS5jbGVhcigpLGUuaGFzSWNvbkRhdGEoKSYmZS5pY29uLm9wYWNpdHlWZXJ0ZXhBcnJheS5jbGVhcigpLGUuaGFzQ29sbGlzaW9uQm94RGF0YSgpJiZlLmNvbGxpc2lvbkJveC5jb2xsaXNpb25WZXJ0ZXhBcnJheS5jbGVhcigpLGUuaGFzQ29sbGlzaW9uQ2lyY2xlRGF0YSgpJiZlLmNvbGxpc2lvbkNpcmNsZS5jb2xsaXNpb25WZXJ0ZXhBcnJheS5jbGVhcigpO3ZhciBhPWUubGF5ZXJzWzBdLmxheW91dCxpPW5ldyBoZShudWxsLDAsITEsITEsITApLG89YS5nZXQoInRleHQtYWxsb3ctb3ZlcmxhcCIpLHM9YS5nZXQoImljb24tYWxsb3ctb3ZlcmxhcCIpLGw9YS5nZXQoInRleHQtdmFyaWFibGUtYW5jaG9yIiksYz0ibWFwIj09PWEuZ2V0KCJ0ZXh0LXJvdGF0aW9uLWFsaWdubWVudCIpLHU9Im1hcCI9PT1hLmdldCgidGV4dC1waXRjaC1hbGlnbm1lbnQiKSxoPW5ldyBoZShudWxsLDAsbyYmKHN8fCFlLmhhc0ljb25EYXRhKCl8fGEuZ2V0KCJpY29uLW9wdGlvbmFsIikpLHMmJihvfHwhZS5oYXNUZXh0RGF0YSgpfHxhLmdldCgidGV4dC1vcHRpb25hbCIpKSwhMCk7IWUuY29sbGlzaW9uQXJyYXlzJiZuJiYoZS5oYXNDb2xsaXNpb25Cb3hEYXRhKCl8fGUuaGFzQ29sbGlzaW9uQ2lyY2xlRGF0YSgpKSYmZS5kZXNlcmlhbGl6ZUNvbGxpc2lvbkJveGVzKG4pO2Zvcih2YXIgZj0wO2Y8ZS5zeW1ib2xJbnN0YW5jZXMubGVuZ3RoO2YrKyl7dmFyIHA9ZS5zeW1ib2xJbnN0YW5jZXMuZ2V0KGYpLGQ9cC5udW1Ib3Jpem9udGFsR2x5cGhWZXJ0aWNlcyxnPXAubnVtVmVydGljYWxHbHlwaFZlcnRpY2VzLHY9cC5jcm9zc1RpbGVJRCxtPXJbdl0seT10aGlzLm9wYWNpdGllc1t2XTttP3k9aTp5fHwoeT1oLHRoaXMub3BhY2l0aWVzW3ZdPXkpLHJbdl09ITA7dmFyIHg9ZD4wfHxnPjAsYj1wLm51bUljb25WZXJ0aWNlcz4wO2lmKHgpe2Zvcih2YXIgXz1NZSh5LnRleHQpLHc9KGQrZykvNCxrPTA7azx3O2srKyllLnRleHQub3BhY2l0eVZlcnRleEFycmF5LmVtcGxhY2VCYWNrKF8pO3ZhciBUPXkudGV4dC5pc0hpZGRlbigpPzE6MCxNPXRoaXMucGxhY2VkT3JpZW50YXRpb25zW3AuY3Jvc3NUaWxlSURdLEE9TT09PXQuV3JpdGluZ01vZGUuaG9yaXpvbnRhbHx8TT09PXQuV3JpdGluZ01vZGUuaG9yaXpvbnRhbE9ubHk/MTowLFM9TT09PXQuV3JpdGluZ01vZGUudmVydGljYWw/MTowO1twLnJpZ2h0SnVzdGlmaWVkVGV4dFN5bWJvbEluZGV4LHAuY2VudGVySnVzdGlmaWVkVGV4dFN5bWJvbEluZGV4LHAubGVmdEp1c3RpZmllZFRleHRTeW1ib2xJbmRleF0uZm9yRWFjaChmdW5jdGlvbih0KXt0Pj0wJiYoZS50ZXh0LnBsYWNlZFN5bWJvbEFycmF5LmdldCh0KS5oaWRkZW49VHx8Uyl9KSxwLnZlcnRpY2FsUGxhY2VkVGV4dFN5bWJvbEluZGV4Pj0wJiYoZS50ZXh0LnBsYWNlZFN5bWJvbEFycmF5LmdldChwLnZlcnRpY2FsUGxhY2VkVGV4dFN5bWJvbEluZGV4KS5oaWRkZW49VHx8QSk7dmFyIEU9dGhpcy52YXJpYWJsZU9mZnNldHNbcC5jcm9zc1RpbGVJRF07RSYmdGhpcy5tYXJrVXNlZEp1c3RpZmljYXRpb24oZSxFLmFuY2hvcixwLE0pO3ZhciBMPXRoaXMucGxhY2VkT3JpZW50YXRpb25zW3AuY3Jvc3NUaWxlSURdO0wmJih0aGlzLm1hcmtVc2VkSnVzdGlmaWNhdGlvbihlLCJsZWZ0IixwLEwpLHRoaXMubWFya1VzZWRPcmllbnRhdGlvbihlLEwscCkpfWlmKGIpe2Zvcih2YXIgQz1NZSh5Lmljb24pLFA9MDtQPHAubnVtSWNvblZlcnRpY2VzLzQ7UCsrKWUuaWNvbi5vcGFjaXR5VmVydGV4QXJyYXkuZW1wbGFjZUJhY2soQyk7ZS5pY29uLnBsYWNlZFN5bWJvbEFycmF5LmdldChmKS5oaWRkZW49eS5pY29uLmlzSGlkZGVuKCl9aWYoZS5oYXNDb2xsaXNpb25Cb3hEYXRhKCl8fGUuaGFzQ29sbGlzaW9uQ2lyY2xlRGF0YSgpKXt2YXIgTz1lLmNvbGxpc2lvbkFycmF5c1tmXTtpZihPKXtpZihPLnRleHRCb3gpe3ZhciB6PW5ldyB0LlBvaW50KDAsMCksST0hMDtpZihsKXt2YXIgRD10aGlzLnZhcmlhYmxlT2Zmc2V0c1t2XTtEPyh6PWdlKEQuYW5jaG9yLEQud2lkdGgsRC5oZWlnaHQsRC5yYWRpYWxPZmZzZXQsRC50ZXh0Qm94U2NhbGUpLGMmJnouX3JvdGF0ZSh1P3RoaXMudHJhbnNmb3JtLmFuZ2xlOi10aGlzLnRyYW5zZm9ybS5hbmdsZSkpOkk9ITF9bWUoZS5jb2xsaXNpb25Cb3guY29sbGlzaW9uVmVydGV4QXJyYXkseS50ZXh0LnBsYWNlZCwhSSx6Lngsei55KX1PLmljb25Cb3gmJm1lKGUuY29sbGlzaW9uQm94LmNvbGxpc2lvblZlcnRleEFycmF5LHkuaWNvbi5wbGFjZWQsITEpO3ZhciBSPU8udGV4dENpcmNsZXM7aWYoUiYmZS5oYXNDb2xsaXNpb25DaXJjbGVEYXRhKCkpZm9yKHZhciBGPTA7RjxSLmxlbmd0aDtGKz01KXt2YXIgQj1tfHwwPT09UltGKzRdO21lKGUuY29sbGlzaW9uQ2lyY2xlLmNvbGxpc2lvblZlcnRleEFycmF5LHkudGV4dC5wbGFjZWQsQil9fX19ZS5zb3J0RmVhdHVyZXModGhpcy50cmFuc2Zvcm0uYW5nbGUpLHRoaXMucmV0YWluZWRRdWVyeURhdGFbZS5idWNrZXRJbnN0YW5jZUlkXSYmKHRoaXMucmV0YWluZWRRdWVyeURhdGFbZS5idWNrZXRJbnN0YW5jZUlkXS5mZWF0dXJlU29ydE9yZGVyPWUuZmVhdHVyZVNvcnRPcmRlciksZS5oYXNUZXh0RGF0YSgpJiZlLnRleHQub3BhY2l0eVZlcnRleEJ1ZmZlciYmZS50ZXh0Lm9wYWNpdHlWZXJ0ZXhCdWZmZXIudXBkYXRlRGF0YShlLnRleHQub3BhY2l0eVZlcnRleEFycmF5KSxlLmhhc0ljb25EYXRhKCkmJmUuaWNvbi5vcGFjaXR5VmVydGV4QnVmZmVyJiZlLmljb24ub3BhY2l0eVZlcnRleEJ1ZmZlci51cGRhdGVEYXRhKGUuaWNvbi5vcGFjaXR5VmVydGV4QXJyYXkpLGUuaGFzQ29sbGlzaW9uQm94RGF0YSgpJiZlLmNvbGxpc2lvbkJveC5jb2xsaXNpb25WZXJ0ZXhCdWZmZXImJmUuY29sbGlzaW9uQm94LmNvbGxpc2lvblZlcnRleEJ1ZmZlci51cGRhdGVEYXRhKGUuY29sbGlzaW9uQm94LmNvbGxpc2lvblZlcnRleEFycmF5KSxlLmhhc0NvbGxpc2lvbkNpcmNsZURhdGEoKSYmZS5jb2xsaXNpb25DaXJjbGUuY29sbGlzaW9uVmVydGV4QnVmZmVyJiZlLmNvbGxpc2lvbkNpcmNsZS5jb2xsaXNpb25WZXJ0ZXhCdWZmZXIudXBkYXRlRGF0YShlLmNvbGxpc2lvbkNpcmNsZS5jb2xsaXNpb25WZXJ0ZXhBcnJheSl9LHZlLnByb3RvdHlwZS5zeW1ib2xGYWRlQ2hhbmdlPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09dGhpcy5mYWRlRHVyYXRpb24/MToodC10aGlzLmNvbW1pdFRpbWUpL3RoaXMuZmFkZUR1cmF0aW9ufSx2ZS5wcm90b3R5cGUuaGFzVHJhbnNpdGlvbnM9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuc3RhbGV8fHQtdGhpcy5sYXN0UGxhY2VtZW50Q2hhbmdlVGltZTx0aGlzLmZhZGVEdXJhdGlvbn0sdmUucHJvdG90eXBlLnN0aWxsUmVjZW50PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNvbW1pdFRpbWUrdGhpcy5mYWRlRHVyYXRpb24+dH0sdmUucHJvdG90eXBlLnNldFN0YWxlPWZ1bmN0aW9uKCl7dGhpcy5zdGFsZT0hMH07dmFyIHllPU1hdGgucG93KDIsMjUpLHhlPU1hdGgucG93KDIsMjQpLGJlPU1hdGgucG93KDIsMTcpLF9lPU1hdGgucG93KDIsMTYpLHdlPU1hdGgucG93KDIsOSksa2U9TWF0aC5wb3coMiw4KSxUZT1NYXRoLnBvdygyLDEpO2Z1bmN0aW9uIE1lKHQpe2lmKDA9PT10Lm9wYWNpdHkmJiF0LnBsYWNlZClyZXR1cm4gMDtpZigxPT09dC5vcGFjaXR5JiZ0LnBsYWNlZClyZXR1cm4gNDI5NDk2NzI5NTt2YXIgZT10LnBsYWNlZD8xOjAscj1NYXRoLmZsb29yKDEyNyp0Lm9wYWNpdHkpO3JldHVybiByKnllK2UqeGUrcipiZStlKl9lK3Iqd2UrZSprZStyKlRlK2V9dmFyIEFlPWZ1bmN0aW9uKCl7dGhpcy5fY3VycmVudFRpbGVJbmRleD0wLHRoaXMuX3NlZW5Dcm9zc1RpbGVJRHM9e319O0FlLnByb3RvdHlwZS5jb250aW51ZVBsYWNlbWVudD1mdW5jdGlvbih0LGUscixuLGEpe2Zvcig7dGhpcy5fY3VycmVudFRpbGVJbmRleDx0Lmxlbmd0aDspe3ZhciBpPXRbdGhpcy5fY3VycmVudFRpbGVJbmRleF07aWYoZS5wbGFjZUxheWVyVGlsZShuLGkscix0aGlzLl9zZWVuQ3Jvc3NUaWxlSURzKSx0aGlzLl9jdXJyZW50VGlsZUluZGV4KyssYSgpKXJldHVybiEwfX07dmFyIFNlPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8pe3RoaXMucGxhY2VtZW50PW5ldyB2ZSh0LGEsaSxvKSx0aGlzLl9jdXJyZW50UGxhY2VtZW50SW5kZXg9ZS5sZW5ndGgtMSx0aGlzLl9mb3JjZUZ1bGxQbGFjZW1lbnQ9cix0aGlzLl9zaG93Q29sbGlzaW9uQm94ZXM9bix0aGlzLl9kb25lPSExfTtTZS5wcm90b3R5cGUuaXNEb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RvbmV9LFNlLnByb3RvdHlwZS5jb250aW51ZVBsYWNlbWVudD1mdW5jdGlvbihlLHIsbil7Zm9yKHZhciBhPXRoaXMsaT10LmJyb3dzZXIubm93KCksbz1mdW5jdGlvbigpe3ZhciBlPXQuYnJvd3Nlci5ub3coKS1pO3JldHVybiFhLl9mb3JjZUZ1bGxQbGFjZW1lbnQmJmU+Mn07dGhpcy5fY3VycmVudFBsYWNlbWVudEluZGV4Pj0wOyl7dmFyIHM9cltlW3RoaXMuX2N1cnJlbnRQbGFjZW1lbnRJbmRleF1dLGw9dGhpcy5wbGFjZW1lbnQuY29sbGlzaW9uSW5kZXgudHJhbnNmb3JtLnpvb207aWYoInN5bWJvbCI9PT1zLnR5cGUmJighcy5taW56b29tfHxzLm1pbnpvb208PWwpJiYoIXMubWF4em9vbXx8cy5tYXh6b29tPmwpKXtpZih0aGlzLl9pblByb2dyZXNzTGF5ZXJ8fCh0aGlzLl9pblByb2dyZXNzTGF5ZXI9bmV3IEFlKSx0aGlzLl9pblByb2dyZXNzTGF5ZXIuY29udGludWVQbGFjZW1lbnQobltzLnNvdXJjZV0sdGhpcy5wbGFjZW1lbnQsdGhpcy5fc2hvd0NvbGxpc2lvbkJveGVzLHMsbykpcmV0dXJuO2RlbGV0ZSB0aGlzLl9pblByb2dyZXNzTGF5ZXJ9dGhpcy5fY3VycmVudFBsYWNlbWVudEluZGV4LS19dGhpcy5fZG9uZT0hMH0sU2UucHJvdG90eXBlLmNvbW1pdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5wbGFjZW1lbnQuY29tbWl0KHQpLHRoaXMucGxhY2VtZW50fTt2YXIgRWU9NTEyL3QuRVhURU5ULzIsTGU9ZnVuY3Rpb24odCxlLHIpe3RoaXMudGlsZUlEPXQsdGhpcy5pbmRleGVkU3ltYm9sSW5zdGFuY2VzPXt9LHRoaXMuYnVja2V0SW5zdGFuY2VJZD1yO2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgYT1lLmdldChuKSxpPWEua2V5O3RoaXMuaW5kZXhlZFN5bWJvbEluc3RhbmNlc1tpXXx8KHRoaXMuaW5kZXhlZFN5bWJvbEluc3RhbmNlc1tpXT1bXSksdGhpcy5pbmRleGVkU3ltYm9sSW5zdGFuY2VzW2ldLnB1c2goe2Nyb3NzVGlsZUlEOmEuY3Jvc3NUaWxlSUQsY29vcmQ6dGhpcy5nZXRTY2FsZWRDb29yZGluYXRlcyhhLHQpfSl9fTtMZS5wcm90b3R5cGUuZ2V0U2NhbGVkQ29vcmRpbmF0ZXM9ZnVuY3Rpb24oZSxyKXt2YXIgbj1yLmNhbm9uaWNhbC56LXRoaXMudGlsZUlELmNhbm9uaWNhbC56LGE9RWUvTWF0aC5wb3coMixuKTtyZXR1cm57eDpNYXRoLmZsb29yKChyLmNhbm9uaWNhbC54KnQuRVhURU5UK2UuYW5jaG9yWCkqYSkseTpNYXRoLmZsb29yKChyLmNhbm9uaWNhbC55KnQuRVhURU5UK2UuYW5jaG9yWSkqYSl9fSxMZS5wcm90b3R5cGUuZmluZE1hdGNoZXM9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj10aGlzLnRpbGVJRC5jYW5vbmljYWwuejxlLmNhbm9uaWNhbC56PzE6TWF0aC5wb3coMix0aGlzLnRpbGVJRC5jYW5vbmljYWwuei1lLmNhbm9uaWNhbC56KSxhPTA7YTx0Lmxlbmd0aDthKyspe3ZhciBpPXQuZ2V0KGEpO2lmKCFpLmNyb3NzVGlsZUlEKXt2YXIgbz10aGlzLmluZGV4ZWRTeW1ib2xJbnN0YW5jZXNbaS5rZXldO2lmKG8pZm9yKHZhciBzPXRoaXMuZ2V0U2NhbGVkQ29vcmRpbmF0ZXMoaSxlKSxsPTAsYz1vO2w8Yy5sZW5ndGg7bCs9MSl7dmFyIHU9Y1tsXTtpZihNYXRoLmFicyh1LmNvb3JkLngtcy54KTw9biYmTWF0aC5hYnModS5jb29yZC55LXMueSk8PW4mJiFyW3UuY3Jvc3NUaWxlSURdKXtyW3UuY3Jvc3NUaWxlSURdPSEwLGkuY3Jvc3NUaWxlSUQ9dS5jcm9zc1RpbGVJRDticmVha319fX19O3ZhciBDZT1mdW5jdGlvbigpe3RoaXMubWF4Q3Jvc3NUaWxlSUQ9MH07Q2UucHJvdG90eXBlLmdlbmVyYXRlPWZ1bmN0aW9uKCl7cmV0dXJuKyt0aGlzLm1heENyb3NzVGlsZUlEfTt2YXIgUGU9ZnVuY3Rpb24oKXt0aGlzLmluZGV4ZXM9e30sdGhpcy51c2VkQ3Jvc3NUaWxlSURzPXt9LHRoaXMubG5nPTB9O1BlLnByb3RvdHlwZS5oYW5kbGVXcmFwSnVtcD1mdW5jdGlvbih0KXt2YXIgZT1NYXRoLnJvdW5kKCh0LXRoaXMubG5nKS8zNjApO2lmKDAhPT1lKWZvcih2YXIgciBpbiB0aGlzLmluZGV4ZXMpe3ZhciBuPXRoaXMuaW5kZXhlc1tyXSxhPXt9O2Zvcih2YXIgaSBpbiBuKXt2YXIgbz1uW2ldO28udGlsZUlEPW8udGlsZUlELnVud3JhcFRvKG8udGlsZUlELndyYXArZSksYVtvLnRpbGVJRC5rZXldPW99dGhpcy5pbmRleGVzW3JdPWF9dGhpcy5sbmc9dH0sUGUucHJvdG90eXBlLmFkZEJ1Y2tldD1mdW5jdGlvbih0LGUscil7aWYodGhpcy5pbmRleGVzW3Qub3ZlcnNjYWxlZFpdJiZ0aGlzLmluZGV4ZXNbdC5vdmVyc2NhbGVkWl1bdC5rZXldKXtpZih0aGlzLmluZGV4ZXNbdC5vdmVyc2NhbGVkWl1bdC5rZXldLmJ1Y2tldEluc3RhbmNlSWQ9PT1lLmJ1Y2tldEluc3RhbmNlSWQpcmV0dXJuITE7dGhpcy5yZW1vdmVCdWNrZXRDcm9zc1RpbGVJRHModC5vdmVyc2NhbGVkWix0aGlzLmluZGV4ZXNbdC5vdmVyc2NhbGVkWl1bdC5rZXldKX1mb3IodmFyIG49MDtuPGUuc3ltYm9sSW5zdGFuY2VzLmxlbmd0aDtuKyspZS5zeW1ib2xJbnN0YW5jZXMuZ2V0KG4pLmNyb3NzVGlsZUlEPTA7dGhpcy51c2VkQ3Jvc3NUaWxlSURzW3Qub3ZlcnNjYWxlZFpdfHwodGhpcy51c2VkQ3Jvc3NUaWxlSURzW3Qub3ZlcnNjYWxlZFpdPXt9KTt2YXIgYT10aGlzLnVzZWRDcm9zc1RpbGVJRHNbdC5vdmVyc2NhbGVkWl07Zm9yKHZhciBpIGluIHRoaXMuaW5kZXhlcyl7dmFyIG89dGhpcy5pbmRleGVzW2ldO2lmKE51bWJlcihpKT50Lm92ZXJzY2FsZWRaKWZvcih2YXIgcyBpbiBvKXt2YXIgbD1vW3NdO2wudGlsZUlELmlzQ2hpbGRPZih0KSYmbC5maW5kTWF0Y2hlcyhlLnN5bWJvbEluc3RhbmNlcyx0LGEpfWVsc2V7dmFyIGM9b1t0LnNjYWxlZFRvKE51bWJlcihpKSkua2V5XTtjJiZjLmZpbmRNYXRjaGVzKGUuc3ltYm9sSW5zdGFuY2VzLHQsYSl9fWZvcih2YXIgdT0wO3U8ZS5zeW1ib2xJbnN0YW5jZXMubGVuZ3RoO3UrKyl7dmFyIGg9ZS5zeW1ib2xJbnN0YW5jZXMuZ2V0KHUpO2guY3Jvc3NUaWxlSUR8fChoLmNyb3NzVGlsZUlEPXIuZ2VuZXJhdGUoKSxhW2guY3Jvc3NUaWxlSURdPSEwKX1yZXR1cm4gdm9pZCAwPT09dGhpcy5pbmRleGVzW3Qub3ZlcnNjYWxlZFpdJiYodGhpcy5pbmRleGVzW3Qub3ZlcnNjYWxlZFpdPXt9KSx0aGlzLmluZGV4ZXNbdC5vdmVyc2NhbGVkWl1bdC5rZXldPW5ldyBMZSh0LGUuc3ltYm9sSW5zdGFuY2VzLGUuYnVja2V0SW5zdGFuY2VJZCksITB9LFBlLnByb3RvdHlwZS5yZW1vdmVCdWNrZXRDcm9zc1RpbGVJRHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gZS5pbmRleGVkU3ltYm9sSW5zdGFuY2VzKWZvcih2YXIgbj0wLGE9ZS5pbmRleGVkU3ltYm9sSW5zdGFuY2VzW3JdO248YS5sZW5ndGg7bis9MSl7dmFyIGk9YVtuXTtkZWxldGUgdGhpcy51c2VkQ3Jvc3NUaWxlSURzW3RdW2kuY3Jvc3NUaWxlSURdfX0sUGUucHJvdG90eXBlLnJlbW92ZVN0YWxlQnVja2V0cz1mdW5jdGlvbih0KXt2YXIgZT0hMTtmb3IodmFyIHIgaW4gdGhpcy5pbmRleGVzKXt2YXIgbj10aGlzLmluZGV4ZXNbcl07Zm9yKHZhciBhIGluIG4pdFtuW2FdLmJ1Y2tldEluc3RhbmNlSWRdfHwodGhpcy5yZW1vdmVCdWNrZXRDcm9zc1RpbGVJRHMocixuW2FdKSxkZWxldGUgblthXSxlPSEwKX1yZXR1cm4gZX07dmFyIE9lPWZ1bmN0aW9uKCl7dGhpcy5sYXllckluZGV4ZXM9e30sdGhpcy5jcm9zc1RpbGVJRHM9bmV3IENlLHRoaXMubWF4QnVja2V0SW5zdGFuY2VJZD0wLHRoaXMuYnVja2V0c0luQ3VycmVudFBsYWNlbWVudD17fX07T2UucHJvdG90eXBlLmFkZExheWVyPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLmxheWVySW5kZXhlc1t0LmlkXTt2b2lkIDA9PT1uJiYobj10aGlzLmxheWVySW5kZXhlc1t0LmlkXT1uZXcgUGUpO3ZhciBhPSExLGk9e307bi5oYW5kbGVXcmFwSnVtcChyKTtmb3IodmFyIG89MCxzPWU7bzxzLmxlbmd0aDtvKz0xKXt2YXIgbD1zW29dLGM9bC5nZXRCdWNrZXQodCk7YyYmdC5pZD09PWMubGF5ZXJJZHNbMF0mJihjLmJ1Y2tldEluc3RhbmNlSWR8fChjLmJ1Y2tldEluc3RhbmNlSWQ9Kyt0aGlzLm1heEJ1Y2tldEluc3RhbmNlSWQpLG4uYWRkQnVja2V0KGwudGlsZUlELGMsdGhpcy5jcm9zc1RpbGVJRHMpJiYoYT0hMCksaVtjLmJ1Y2tldEluc3RhbmNlSWRdPSEwKX1yZXR1cm4gbi5yZW1vdmVTdGFsZUJ1Y2tldHMoaSkmJihhPSEwKSxhfSxPZS5wcm90b3R5cGUucHJ1bmVVbnVzZWRMYXllcnM9ZnVuY3Rpb24odCl7dmFyIGU9e307Zm9yKHZhciByIGluIHQuZm9yRWFjaChmdW5jdGlvbih0KXtlW3RdPSEwfSksdGhpcy5sYXllckluZGV4ZXMpZVtyXXx8ZGVsZXRlIHRoaXMubGF5ZXJJbmRleGVzW3JdfTt2YXIgemU9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdC5lbWl0VmFsaWRhdGlvbkVycm9ycyhlLHImJnIuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiJzb3VyY2UuY2FudmFzIiE9PXQuaWRlbnRpZmllcn0pKX0sSWU9dC5waWNrKE50LFsiYWRkTGF5ZXIiLCJyZW1vdmVMYXllciIsInNldFBhaW50UHJvcGVydHkiLCJzZXRMYXlvdXRQcm9wZXJ0eSIsInNldEZpbHRlciIsImFkZFNvdXJjZSIsInJlbW92ZVNvdXJjZSIsInNldExheWVyWm9vbVJhbmdlIiwic2V0TGlnaHQiLCJzZXRUcmFuc2l0aW9uIiwic2V0R2VvSlNPTlNvdXJjZURhdGEiXSksRGU9dC5waWNrKE50LFsic2V0Q2VudGVyIiwic2V0Wm9vbSIsInNldEJlYXJpbmciLCJzZXRQaXRjaCJdKSxSZT1mdW5jdGlvbihlKXtmdW5jdGlvbiByKG4sYSl7dmFyIGk9dGhpczt2b2lkIDA9PT1hJiYoYT17fSksZS5jYWxsKHRoaXMpLHRoaXMubWFwPW4sdGhpcy5kaXNwYXRjaGVyPW5ldyBUKChEdHx8KER0PW5ldyBJdCksRHQpLHRoaXMpLHRoaXMuaW1hZ2VNYW5hZ2VyPW5ldyBmLHRoaXMuaW1hZ2VNYW5hZ2VyLnNldEV2ZW50ZWRQYXJlbnQodGhpcyksdGhpcy5nbHlwaE1hbmFnZXI9bmV3IHgobi5fcmVxdWVzdE1hbmFnZXIsYS5sb2NhbElkZW9ncmFwaEZvbnRGYW1pbHkpLHRoaXMubGluZUF0bGFzPW5ldyBrKDI1Niw1MTIpLHRoaXMuY3Jvc3NUaWxlU3ltYm9sSW5kZXg9bmV3IE9lLHRoaXMuX2xheWVycz17fSx0aGlzLl9vcmRlcj1bXSx0aGlzLnNvdXJjZUNhY2hlcz17fSx0aGlzLnpvb21IaXN0b3J5PW5ldyB0Llpvb21IaXN0b3J5LHRoaXMuX2xvYWRlZD0hMSx0aGlzLl9yZXNldFVwZGF0ZXMoKSx0aGlzLmRpc3BhdGNoZXIuYnJvYWRjYXN0KCJzZXRSZWZlcnJlciIsdC5nZXRSZWZlcnJlcigpKTt2YXIgbz10aGlzO3RoaXMuX3J0bFRleHRQbHVnaW5DYWxsYmFjaz1yLnJlZ2lzdGVyRm9yUGx1Z2luQXZhaWxhYmlsaXR5KGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiBvLmRpc3BhdGNoZXIuYnJvYWRjYXN0KCJsb2FkUlRMVGV4dFBsdWdpbiIsdC5wbHVnaW5VUkwsdC5jb21wbGV0aW9uQ2FsbGJhY2spLG8uc291cmNlQ2FjaGVzKW8uc291cmNlQ2FjaGVzW2VdLnJlbG9hZCgpfSksdGhpcy5vbigiZGF0YSIsZnVuY3Rpb24odCl7aWYoInNvdXJjZSI9PT10LmRhdGFUeXBlJiYibWV0YWRhdGEiPT09dC5zb3VyY2VEYXRhVHlwZSl7dmFyIGU9aS5zb3VyY2VDYWNoZXNbdC5zb3VyY2VJZF07aWYoZSl7dmFyIHI9ZS5nZXRTb3VyY2UoKTtpZihyJiZyLnZlY3RvckxheWVySWRzKWZvcih2YXIgbiBpbiBpLl9sYXllcnMpe3ZhciBhPWkuX2xheWVyc1tuXTthLnNvdXJjZT09PXIuaWQmJmkuX3ZhbGlkYXRlTGF5ZXIoYSl9fX19KX1yZXR1cm4gZSYmKHIuX19wcm90b19fPWUpLHIucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsci5wcm90b3R5cGUubG9hZFVSTD1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXM7dm9pZCAwPT09ciYmKHI9e30pLHRoaXMuZmlyZShuZXcgdC5FdmVudCgiZGF0YWxvYWRpbmciLHtkYXRhVHlwZToic3R5bGUifSkpO3ZhciBhPSJib29sZWFuIj09dHlwZW9mIHIudmFsaWRhdGU/ci52YWxpZGF0ZTohdC5pc01hcGJveFVSTChlKTtlPXRoaXMubWFwLl9yZXF1ZXN0TWFuYWdlci5ub3JtYWxpemVTdHlsZVVSTChlLHIuYWNjZXNzVG9rZW4pO3ZhciBpPXRoaXMubWFwLl9yZXF1ZXN0TWFuYWdlci50cmFuc2Zvcm1SZXF1ZXN0KGUsdC5SZXNvdXJjZVR5cGUuU3R5bGUpO3RoaXMuX3JlcXVlc3Q9dC5nZXRKU09OKGksZnVuY3Rpb24oZSxyKXtuLl9yZXF1ZXN0PW51bGwsZT9uLmZpcmUobmV3IHQuRXJyb3JFdmVudChlKSk6ciYmbi5fbG9hZChyLGEpfSl9LHIucHJvdG90eXBlLmxvYWRKU09OPWZ1bmN0aW9uKGUscil7dmFyIG49dGhpczt2b2lkIDA9PT1yJiYocj17fSksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhbG9hZGluZyIse2RhdGFUeXBlOiJzdHlsZSJ9KSksdGhpcy5fcmVxdWVzdD10LmJyb3dzZXIuZnJhbWUoZnVuY3Rpb24oKXtuLl9yZXF1ZXN0PW51bGwsbi5fbG9hZChlLCExIT09ci52YWxpZGF0ZSl9KX0sci5wcm90b3R5cGUuX2xvYWQ9ZnVuY3Rpb24oZSxyKXt2YXIgbj10aGlzO2lmKCFyfHwhemUodGhpcyx0LnZhbGlkYXRlU3R5bGUoZSkpKXtmb3IodmFyIGEgaW4gdGhpcy5fbG9hZGVkPSEwLHRoaXMuc3R5bGVzaGVldD1lLGUuc291cmNlcyl0aGlzLmFkZFNvdXJjZShhLGUuc291cmNlc1thXSx7dmFsaWRhdGU6ITF9KTtlLnNwcml0ZT90aGlzLl9zcHJpdGVSZXF1ZXN0PWZ1bmN0aW9uKGUscixuKXt2YXIgYSxpLG8scz10LmJyb3dzZXIuZGV2aWNlUGl4ZWxSYXRpbz4xPyJAMngiOiIiLGw9dC5nZXRKU09OKHIudHJhbnNmb3JtUmVxdWVzdChyLm5vcm1hbGl6ZVNwcml0ZVVSTChlLHMsIi5qc29uIiksdC5SZXNvdXJjZVR5cGUuU3ByaXRlSlNPTiksZnVuY3Rpb24odCxlKXtsPW51bGwsb3x8KG89dCxhPWUsdSgpKX0pLGM9dC5nZXRJbWFnZShyLnRyYW5zZm9ybVJlcXVlc3Qoci5ub3JtYWxpemVTcHJpdGVVUkwoZSxzLCIucG5nIiksdC5SZXNvdXJjZVR5cGUuU3ByaXRlSW1hZ2UpLGZ1bmN0aW9uKHQsZSl7Yz1udWxsLG98fChvPXQsaT1lLHUoKSl9KTtmdW5jdGlvbiB1KCl7aWYobyluKG8pO2Vsc2UgaWYoYSYmaSl7dmFyIGU9dC5icm93c2VyLmdldEltYWdlRGF0YShpKSxyPXt9O2Zvcih2YXIgcyBpbiBhKXt2YXIgbD1hW3NdLGM9bC53aWR0aCx1PWwuaGVpZ2h0LGg9bC54LGY9bC55LHA9bC5zZGYsZD1sLnBpeGVsUmF0aW8sZz1uZXcgdC5SR0JBSW1hZ2Uoe3dpZHRoOmMsaGVpZ2h0OnV9KTt0LlJHQkFJbWFnZS5jb3B5KGUsZyx7eDpoLHk6Zn0se3g6MCx5OjB9LHt3aWR0aDpjLGhlaWdodDp1fSkscltzXT17ZGF0YTpnLHBpeGVsUmF0aW86ZCxzZGY6cH19bihudWxsLHIpfX1yZXR1cm57Y2FuY2VsOmZ1bmN0aW9uKCl7bCYmKGwuY2FuY2VsKCksbD1udWxsKSxjJiYoYy5jYW5jZWwoKSxjPW51bGwpfX19KGUuc3ByaXRlLHRoaXMubWFwLl9yZXF1ZXN0TWFuYWdlcixmdW5jdGlvbihlLHIpe2lmKG4uX3Nwcml0ZVJlcXVlc3Q9bnVsbCxlKW4uZmlyZShuZXcgdC5FcnJvckV2ZW50KGUpKTtlbHNlIGlmKHIpZm9yKHZhciBhIGluIHIpbi5pbWFnZU1hbmFnZXIuYWRkSW1hZ2UoYSxyW2FdKTtuLmltYWdlTWFuYWdlci5zZXRMb2FkZWQoITApLG4uZmlyZShuZXcgdC5FdmVudCgiZGF0YSIse2RhdGFUeXBlOiJzdHlsZSJ9KSl9KTp0aGlzLmltYWdlTWFuYWdlci5zZXRMb2FkZWQoITApLHRoaXMuZ2x5cGhNYW5hZ2VyLnNldFVSTChlLmdseXBocyk7dmFyIGk9QnQodGhpcy5zdHlsZXNoZWV0LmxheWVycyk7dGhpcy5fb3JkZXI9aS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWR9KSx0aGlzLl9sYXllcnM9e307Zm9yKHZhciBvPTAscz1pO288cy5sZW5ndGg7bys9MSl7dmFyIGw9c1tvXTsobD10LmNyZWF0ZVN0eWxlTGF5ZXIobCkpLnNldEV2ZW50ZWRQYXJlbnQodGhpcyx7bGF5ZXI6e2lkOmwuaWR9fSksdGhpcy5fbGF5ZXJzW2wuaWRdPWx9dGhpcy5kaXNwYXRjaGVyLmJyb2FkY2FzdCgic2V0TGF5ZXJzIix0aGlzLl9zZXJpYWxpemVMYXllcnModGhpcy5fb3JkZXIpKSx0aGlzLmxpZ2h0PW5ldyB3KHRoaXMuc3R5bGVzaGVldC5saWdodCksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhIix7ZGF0YVR5cGU6InN0eWxlIn0pKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoInN0eWxlLmxvYWQiKSl9fSxyLnByb3RvdHlwZS5fdmFsaWRhdGVMYXllcj1mdW5jdGlvbihlKXt2YXIgcj10aGlzLnNvdXJjZUNhY2hlc1tlLnNvdXJjZV07aWYocil7dmFyIG49ZS5zb3VyY2VMYXllcjtpZihuKXt2YXIgYT1yLmdldFNvdXJjZSgpOygiZ2VvanNvbiI9PT1hLnR5cGV8fGEudmVjdG9yTGF5ZXJJZHMmJi0xPT09YS52ZWN0b3JMYXllcklkcy5pbmRleE9mKG4pKSYmdGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCdTb3VyY2UgbGF5ZXIgIicrbisnIiBkb2VzIG5vdCBleGlzdCBvbiBzb3VyY2UgIicrYS5pZCsnIiBhcyBzcGVjaWZpZWQgYnkgc3R5bGUgbGF5ZXIgIicrZS5pZCsnIicpKSl9fX0sci5wcm90b3R5cGUubG9hZGVkPWZ1bmN0aW9uKCl7aWYoIXRoaXMuX2xvYWRlZClyZXR1cm4hMTtpZihPYmplY3Qua2V5cyh0aGlzLl91cGRhdGVkU291cmNlcykubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgdCBpbiB0aGlzLnNvdXJjZUNhY2hlcylpZighdGhpcy5zb3VyY2VDYWNoZXNbdF0ubG9hZGVkKCkpcmV0dXJuITE7cmV0dXJuISF0aGlzLmltYWdlTWFuYWdlci5pc0xvYWRlZCgpfSxyLnByb3RvdHlwZS5fc2VyaWFsaXplTGF5ZXJzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPTAsbj10O3I8bi5sZW5ndGg7cis9MSl7dmFyIGE9bltyXSxpPXRoaXMuX2xheWVyc1thXTsiY3VzdG9tIiE9PWkudHlwZSYmZS5wdXNoKGkuc2VyaWFsaXplKCkpfXJldHVybiBlfSxyLnByb3RvdHlwZS5oYXNUcmFuc2l0aW9ucz1mdW5jdGlvbigpe2lmKHRoaXMubGlnaHQmJnRoaXMubGlnaHQuaGFzVHJhbnNpdGlvbigpKXJldHVybiEwO2Zvcih2YXIgdCBpbiB0aGlzLnNvdXJjZUNhY2hlcylpZih0aGlzLnNvdXJjZUNhY2hlc1t0XS5oYXNUcmFuc2l0aW9uKCkpcmV0dXJuITA7Zm9yKHZhciBlIGluIHRoaXMuX2xheWVycylpZih0aGlzLl9sYXllcnNbZV0uaGFzVHJhbnNpdGlvbigpKXJldHVybiEwO3JldHVybiExfSxyLnByb3RvdHlwZS5fY2hlY2tMb2FkZWQ9ZnVuY3Rpb24oKXtpZighdGhpcy5fbG9hZGVkKXRocm93IG5ldyBFcnJvcigiU3R5bGUgaXMgbm90IGRvbmUgbG9hZGluZyIpfSxyLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oZSl7aWYodGhpcy5fbG9hZGVkKXt2YXIgcj10aGlzLl9jaGFuZ2VkO2lmKHRoaXMuX2NoYW5nZWQpe3ZhciBuPU9iamVjdC5rZXlzKHRoaXMuX3VwZGF0ZWRMYXllcnMpLGE9T2JqZWN0LmtleXModGhpcy5fcmVtb3ZlZExheWVycyk7Zm9yKHZhciBpIGluKG4ubGVuZ3RofHxhLmxlbmd0aCkmJnRoaXMuX3VwZGF0ZVdvcmtlckxheWVycyhuLGEpLHRoaXMuX3VwZGF0ZWRTb3VyY2VzKXt2YXIgbz10aGlzLl91cGRhdGVkU291cmNlc1tpXTsicmVsb2FkIj09PW8/dGhpcy5fcmVsb2FkU291cmNlKGkpOiJjbGVhciI9PT1vJiZ0aGlzLl9jbGVhclNvdXJjZShpKX1mb3IodmFyIHMgaW4gdGhpcy5fdXBkYXRlZFBhaW50UHJvcHMpdGhpcy5fbGF5ZXJzW3NdLnVwZGF0ZVRyYW5zaXRpb25zKGUpO3RoaXMubGlnaHQudXBkYXRlVHJhbnNpdGlvbnMoZSksdGhpcy5fcmVzZXRVcGRhdGVzKCl9Zm9yKHZhciBsIGluIHRoaXMuc291cmNlQ2FjaGVzKXRoaXMuc291cmNlQ2FjaGVzW2xdLnVzZWQ9ITE7Zm9yKHZhciBjPTAsdT10aGlzLl9vcmRlcjtjPHUubGVuZ3RoO2MrPTEpe3ZhciBoPXVbY10sZj10aGlzLl9sYXllcnNbaF07Zi5yZWNhbGN1bGF0ZShlKSwhZi5pc0hpZGRlbihlLnpvb20pJiZmLnNvdXJjZSYmKHRoaXMuc291cmNlQ2FjaGVzW2Yuc291cmNlXS51c2VkPSEwKX10aGlzLmxpZ2h0LnJlY2FsY3VsYXRlKGUpLHRoaXMuej1lLnpvb20sciYmdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhIix7ZGF0YVR5cGU6InN0eWxlIn0pKX19LHIucHJvdG90eXBlLl91cGRhdGVXb3JrZXJMYXllcnM9ZnVuY3Rpb24odCxlKXt0aGlzLmRpc3BhdGNoZXIuYnJvYWRjYXN0KCJ1cGRhdGVMYXllcnMiLHtsYXllcnM6dGhpcy5fc2VyaWFsaXplTGF5ZXJzKHQpLHJlbW92ZWRJZHM6ZX0pfSxyLnByb3RvdHlwZS5fcmVzZXRVcGRhdGVzPWZ1bmN0aW9uKCl7dGhpcy5fY2hhbmdlZD0hMSx0aGlzLl91cGRhdGVkTGF5ZXJzPXt9LHRoaXMuX3JlbW92ZWRMYXllcnM9e30sdGhpcy5fdXBkYXRlZFNvdXJjZXM9e30sdGhpcy5fdXBkYXRlZFBhaW50UHJvcHM9e319LHIucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUpe3ZhciByPXRoaXM7aWYodGhpcy5fY2hlY2tMb2FkZWQoKSx6ZSh0aGlzLHQudmFsaWRhdGVTdHlsZShlKSkpcmV0dXJuITE7KGU9dC5jbG9uZSQxKGUpKS5sYXllcnM9QnQoZS5sYXllcnMpO3ZhciBuPWZ1bmN0aW9uKGUscil7aWYoIWUpcmV0dXJuW3tjb21tYW5kOk50LnNldFN0eWxlLGFyZ3M6W3JdfV07dmFyIG49W107dHJ5e2lmKCF0LmRlZXBFcXVhbChlLnZlcnNpb24sci52ZXJzaW9uKSlyZXR1cm5be2NvbW1hbmQ6TnQuc2V0U3R5bGUsYXJnczpbcl19XTt0LmRlZXBFcXVhbChlLmNlbnRlcixyLmNlbnRlcil8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRDZW50ZXIsYXJnczpbci5jZW50ZXJdfSksdC5kZWVwRXF1YWwoZS56b29tLHIuem9vbSl8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRab29tLGFyZ3M6W3Iuem9vbV19KSx0LmRlZXBFcXVhbChlLmJlYXJpbmcsci5iZWFyaW5nKXx8bi5wdXNoKHtjb21tYW5kOk50LnNldEJlYXJpbmcsYXJnczpbci5iZWFyaW5nXX0pLHQuZGVlcEVxdWFsKGUucGl0Y2gsci5waXRjaCl8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRQaXRjaCxhcmdzOltyLnBpdGNoXX0pLHQuZGVlcEVxdWFsKGUuc3ByaXRlLHIuc3ByaXRlKXx8bi5wdXNoKHtjb21tYW5kOk50LnNldFNwcml0ZSxhcmdzOltyLnNwcml0ZV19KSx0LmRlZXBFcXVhbChlLmdseXBocyxyLmdseXBocyl8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRHbHlwaHMsYXJnczpbci5nbHlwaHNdfSksdC5kZWVwRXF1YWwoZS50cmFuc2l0aW9uLHIudHJhbnNpdGlvbil8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRUcmFuc2l0aW9uLGFyZ3M6W3IudHJhbnNpdGlvbl19KSx0LmRlZXBFcXVhbChlLmxpZ2h0LHIubGlnaHQpfHxuLnB1c2goe2NvbW1hbmQ6TnQuc2V0TGlnaHQsYXJnczpbci5saWdodF19KTt2YXIgYT17fSxpPVtdOyFmdW5jdGlvbihlLHIsbixhKXt2YXIgaTtmb3IoaSBpbiByPXJ8fHt9LGU9ZXx8e30pZS5oYXNPd25Qcm9wZXJ0eShpKSYmKHIuaGFzT3duUHJvcGVydHkoaSl8fFZ0KGksbixhKSk7Zm9yKGkgaW4gcilyLmhhc093blByb3BlcnR5KGkpJiYoZS5oYXNPd25Qcm9wZXJ0eShpKT90LmRlZXBFcXVhbChlW2ldLHJbaV0pfHwoImdlb2pzb24iPT09ZVtpXS50eXBlJiYiZ2VvanNvbiI9PT1yW2ldLnR5cGUmJnF0KGUscixpKT9uLnB1c2goe2NvbW1hbmQ6TnQuc2V0R2VvSlNPTlNvdXJjZURhdGEsYXJnczpbaSxyW2ldLmRhdGFdfSk6VXQoaSxyLG4sYSkpOmp0KGkscixuKSl9KGUuc291cmNlcyxyLnNvdXJjZXMsaSxhKTt2YXIgbz1bXTtlLmxheWVycyYmZS5sYXllcnMuZm9yRWFjaChmdW5jdGlvbih0KXthW3Quc291cmNlXT9uLnB1c2goe2NvbW1hbmQ6TnQucmVtb3ZlTGF5ZXIsYXJnczpbdC5pZF19KTpvLnB1c2godCl9KSxuPW4uY29uY2F0KGkpLGZ1bmN0aW9uKGUscixuKXtyPXJ8fFtdO3ZhciBhLGksbyxzLGwsYyx1LGg9KGU9ZXx8W10pLm1hcChHdCksZj1yLm1hcChHdCkscD1lLnJlZHVjZShZdCx7fSksZD1yLnJlZHVjZShZdCx7fSksZz1oLnNsaWNlKCksdj1PYmplY3QuY3JlYXRlKG51bGwpO2ZvcihhPTAsaT0wO2E8aC5sZW5ndGg7YSsrKW89aFthXSxkLmhhc093blByb3BlcnR5KG8pP2krKzoobi5wdXNoKHtjb21tYW5kOk50LnJlbW92ZUxheWVyLGFyZ3M6W29dfSksZy5zcGxpY2UoZy5pbmRleE9mKG8saSksMSkpO2ZvcihhPTAsaT0wO2E8Zi5sZW5ndGg7YSsrKW89ZltmLmxlbmd0aC0xLWFdLGdbZy5sZW5ndGgtMS1hXSE9PW8mJihwLmhhc093blByb3BlcnR5KG8pPyhuLnB1c2goe2NvbW1hbmQ6TnQucmVtb3ZlTGF5ZXIsYXJnczpbb119KSxnLnNwbGljZShnLmxhc3RJbmRleE9mKG8sZy5sZW5ndGgtaSksMSkpOmkrKyxjPWdbZy5sZW5ndGgtYV0sbi5wdXNoKHtjb21tYW5kOk50LmFkZExheWVyLGFyZ3M6W2Rbb10sY119KSxnLnNwbGljZShnLmxlbmd0aC1hLDAsbyksdltvXT0hMCk7Zm9yKGE9MDthPGYubGVuZ3RoO2ErKylpZihzPXBbbz1mW2FdXSxsPWRbb10sIXZbb10mJiF0LmRlZXBFcXVhbChzLGwpKWlmKHQuZGVlcEVxdWFsKHMuc291cmNlLGwuc291cmNlKSYmdC5kZWVwRXF1YWwoc1sic291cmNlLWxheWVyIl0sbFsic291cmNlLWxheWVyIl0pJiZ0LmRlZXBFcXVhbChzLnR5cGUsbC50eXBlKSl7Zm9yKHUgaW4gSHQocy5sYXlvdXQsbC5sYXlvdXQsbixvLG51bGwsTnQuc2V0TGF5b3V0UHJvcGVydHkpLEh0KHMucGFpbnQsbC5wYWludCxuLG8sbnVsbCxOdC5zZXRQYWludFByb3BlcnR5KSx0LmRlZXBFcXVhbChzLmZpbHRlcixsLmZpbHRlcil8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRGaWx0ZXIsYXJnczpbbyxsLmZpbHRlcl19KSx0LmRlZXBFcXVhbChzLm1pbnpvb20sbC5taW56b29tKSYmdC5kZWVwRXF1YWwocy5tYXh6b29tLGwubWF4em9vbSl8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRMYXllclpvb21SYW5nZSxhcmdzOltvLGwubWluem9vbSxsLm1heHpvb21dfSkscylzLmhhc093blByb3BlcnR5KHUpJiYibGF5b3V0IiE9PXUmJiJwYWludCIhPT11JiYiZmlsdGVyIiE9PXUmJiJtZXRhZGF0YSIhPT11JiYibWluem9vbSIhPT11JiYibWF4em9vbSIhPT11JiYoMD09PXUuaW5kZXhPZigicGFpbnQuIik/SHQoc1t1XSxsW3VdLG4sbyx1LnNsaWNlKDYpLE50LnNldFBhaW50UHJvcGVydHkpOnQuZGVlcEVxdWFsKHNbdV0sbFt1XSl8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRMYXllclByb3BlcnR5LGFyZ3M6W28sdSxsW3VdXX0pKTtmb3IodSBpbiBsKWwuaGFzT3duUHJvcGVydHkodSkmJiFzLmhhc093blByb3BlcnR5KHUpJiYibGF5b3V0IiE9PXUmJiJwYWludCIhPT11JiYiZmlsdGVyIiE9PXUmJiJtZXRhZGF0YSIhPT11JiYibWluem9vbSIhPT11JiYibWF4em9vbSIhPT11JiYoMD09PXUuaW5kZXhPZigicGFpbnQuIik/SHQoc1t1XSxsW3VdLG4sbyx1LnNsaWNlKDYpLE50LnNldFBhaW50UHJvcGVydHkpOnQuZGVlcEVxdWFsKHNbdV0sbFt1XSl8fG4ucHVzaCh7Y29tbWFuZDpOdC5zZXRMYXllclByb3BlcnR5LGFyZ3M6W28sdSxsW3VdXX0pKX1lbHNlIG4ucHVzaCh7Y29tbWFuZDpOdC5yZW1vdmVMYXllcixhcmdzOltvXX0pLGM9Z1tnLmxhc3RJbmRleE9mKG8pKzFdLG4ucHVzaCh7Y29tbWFuZDpOdC5hZGRMYXllcixhcmdzOltsLGNdfSl9KG8sci5sYXllcnMsbil9Y2F0Y2godCl7Y29uc29sZS53YXJuKCJVbmFibGUgdG8gY29tcHV0ZSBzdHlsZSBkaWZmOiIsdCksbj1be2NvbW1hbmQ6TnQuc2V0U3R5bGUsYXJnczpbcl19XX1yZXR1cm4gbn0odGhpcy5zZXJpYWxpemUoKSxlKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuISh0LmNvbW1hbmQgaW4gRGUpfSk7aWYoMD09PW4ubGVuZ3RoKXJldHVybiExO3ZhciBhPW4uZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiEodC5jb21tYW5kIGluIEllKX0pO2lmKGEubGVuZ3RoPjApdGhyb3cgbmV3IEVycm9yKCJVbmltcGxlbWVudGVkOiAiK2EubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LmNvbW1hbmR9KS5qb2luKCIsICIpKyIuIik7cmV0dXJuIG4uZm9yRWFjaChmdW5jdGlvbih0KXsic2V0VHJhbnNpdGlvbiIhPT10LmNvbW1hbmQmJnJbdC5jb21tYW5kXS5hcHBseShyLHQuYXJncyl9KSx0aGlzLnN0eWxlc2hlZXQ9ZSwhMH0sci5wcm90b3R5cGUuYWRkSW1hZ2U9ZnVuY3Rpb24oZSxyKXtpZih0aGlzLmdldEltYWdlKGUpKXJldHVybiB0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIkFuIGltYWdlIHdpdGggdGhpcyBuYW1lIGFscmVhZHkgZXhpc3RzLiIpKSk7dGhpcy5pbWFnZU1hbmFnZXIuYWRkSW1hZ2UoZSxyKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoImRhdGEiLHtkYXRhVHlwZToic3R5bGUifSkpfSxyLnByb3RvdHlwZS51cGRhdGVJbWFnZT1mdW5jdGlvbih0LGUpe3RoaXMuaW1hZ2VNYW5hZ2VyLnVwZGF0ZUltYWdlKHQsZSl9LHIucHJvdG90eXBlLmdldEltYWdlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmltYWdlTWFuYWdlci5nZXRJbWFnZSh0KX0sci5wcm90b3R5cGUucmVtb3ZlSW1hZ2U9ZnVuY3Rpb24oZSl7aWYoIXRoaXMuZ2V0SW1hZ2UoZSkpcmV0dXJuIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiTm8gaW1hZ2Ugd2l0aCB0aGlzIG5hbWUgZXhpc3RzLiIpKSk7dGhpcy5pbWFnZU1hbmFnZXIucmVtb3ZlSW1hZ2UoZSksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJkYXRhIix7ZGF0YVR5cGU6InN0eWxlIn0pKX0sci5wcm90b3R5cGUubGlzdEltYWdlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jaGVja0xvYWRlZCgpLHRoaXMuaW1hZ2VNYW5hZ2VyLmxpc3RJbWFnZXMoKX0sci5wcm90b3R5cGUuYWRkU291cmNlPWZ1bmN0aW9uKGUscixuKXt2YXIgYT10aGlzO2lmKHZvaWQgMD09PW4mJihuPXt9KSx0aGlzLl9jaGVja0xvYWRlZCgpLHZvaWQgMCE9PXRoaXMuc291cmNlQ2FjaGVzW2VdKXRocm93IG5ldyBFcnJvcigiVGhlcmUgaXMgYWxyZWFkeSBhIHNvdXJjZSB3aXRoIHRoaXMgSUQiKTtpZighci50eXBlKXRocm93IG5ldyBFcnJvcigiVGhlIHR5cGUgcHJvcGVydHkgbXVzdCBiZSBkZWZpbmVkLCBidXQgdGhlIG9ubHkgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIHdlcmUgZ2l2ZW46ICIrT2JqZWN0LmtleXMocikuam9pbigiLCAiKSsiLiIpO2lmKCEoWyJ2ZWN0b3IiLCJyYXN0ZXIiLCJnZW9qc29uIiwidmlkZW8iLCJpbWFnZSJdLmluZGV4T2Yoci50eXBlKT49MCYmdGhpcy5fdmFsaWRhdGUodC52YWxpZGF0ZVN0eWxlLnNvdXJjZSwic291cmNlcy4iK2UscixudWxsLG4pKSl7dGhpcy5tYXAmJnRoaXMubWFwLl9jb2xsZWN0UmVzb3VyY2VUaW1pbmcmJihyLmNvbGxlY3RSZXNvdXJjZVRpbWluZz0hMCk7dmFyIGk9dGhpcy5zb3VyY2VDYWNoZXNbZV09bmV3IEN0KGUscix0aGlzLmRpc3BhdGNoZXIpO2kuc3R5bGU9dGhpcyxpLnNldEV2ZW50ZWRQYXJlbnQodGhpcyxmdW5jdGlvbigpe3JldHVybntpc1NvdXJjZUxvYWRlZDphLmxvYWRlZCgpLHNvdXJjZTppLnNlcmlhbGl6ZSgpLHNvdXJjZUlkOmV9fSksaS5vbkFkZCh0aGlzLm1hcCksdGhpcy5fY2hhbmdlZD0hMH19LHIucHJvdG90eXBlLnJlbW92ZVNvdXJjZT1mdW5jdGlvbihlKXtpZih0aGlzLl9jaGVja0xvYWRlZCgpLHZvaWQgMD09PXRoaXMuc291cmNlQ2FjaGVzW2VdKXRocm93IG5ldyBFcnJvcigiVGhlcmUgaXMgbm8gc291cmNlIHdpdGggdGhpcyBJRCIpO2Zvcih2YXIgciBpbiB0aGlzLl9sYXllcnMpaWYodGhpcy5fbGF5ZXJzW3JdLnNvdXJjZT09PWUpcmV0dXJuIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcignU291cmNlICInK2UrJyIgY2Fubm90IGJlIHJlbW92ZWQgd2hpbGUgbGF5ZXIgIicrcisnIiBpcyB1c2luZyBpdC4nKSkpO3ZhciBuPXRoaXMuc291cmNlQ2FjaGVzW2VdO2RlbGV0ZSB0aGlzLnNvdXJjZUNhY2hlc1tlXSxkZWxldGUgdGhpcy5fdXBkYXRlZFNvdXJjZXNbZV0sbi5maXJlKG5ldyB0LkV2ZW50KCJkYXRhIix7c291cmNlRGF0YVR5cGU6Im1ldGFkYXRhIixkYXRhVHlwZToic291cmNlIixzb3VyY2VJZDplfSkpLG4uc2V0RXZlbnRlZFBhcmVudChudWxsKSxuLmNsZWFyVGlsZXMoKSxuLm9uUmVtb3ZlJiZuLm9uUmVtb3ZlKHRoaXMubWFwKSx0aGlzLl9jaGFuZ2VkPSEwfSxyLnByb3RvdHlwZS5zZXRHZW9KU09OU291cmNlRGF0YT1mdW5jdGlvbih0LGUpe3RoaXMuX2NoZWNrTG9hZGVkKCksdGhpcy5zb3VyY2VDYWNoZXNbdF0uZ2V0U291cmNlKCkuc2V0RGF0YShlKSx0aGlzLl9jaGFuZ2VkPSEwfSxyLnByb3RvdHlwZS5nZXRTb3VyY2U9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuc291cmNlQ2FjaGVzW3RdJiZ0aGlzLnNvdXJjZUNhY2hlc1t0XS5nZXRTb3VyY2UoKX0sci5wcm90b3R5cGUuYWRkTGF5ZXI9ZnVuY3Rpb24oZSxyLG4pe3ZvaWQgMD09PW4mJihuPXt9KSx0aGlzLl9jaGVja0xvYWRlZCgpO3ZhciBhPWUuaWQ7aWYodGhpcy5nZXRMYXllcihhKSl0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoJ0xheWVyIHdpdGggaWQgIicrYSsnIiBhbHJlYWR5IGV4aXN0cyBvbiB0aGlzIG1hcCcpKSk7ZWxzZXt2YXIgaTtpZigiY3VzdG9tIj09PWUudHlwZSl7aWYoemUodGhpcyx0LnZhbGlkYXRlQ3VzdG9tU3R5bGVMYXllcihlKSkpcmV0dXJuO2k9dC5jcmVhdGVTdHlsZUxheWVyKGUpfWVsc2V7aWYoIm9iamVjdCI9PXR5cGVvZiBlLnNvdXJjZSYmKHRoaXMuYWRkU291cmNlKGEsZS5zb3VyY2UpLGU9dC5jbG9uZSQxKGUpLGU9dC5leHRlbmQoZSx7c291cmNlOmF9KSksdGhpcy5fdmFsaWRhdGUodC52YWxpZGF0ZVN0eWxlLmxheWVyLCJsYXllcnMuIithLGUse2FycmF5SW5kZXg6LTF9LG4pKXJldHVybjtpPXQuY3JlYXRlU3R5bGVMYXllcihlKSx0aGlzLl92YWxpZGF0ZUxheWVyKGkpLGkuc2V0RXZlbnRlZFBhcmVudCh0aGlzLHtsYXllcjp7aWQ6YX19KX12YXIgbz1yP3RoaXMuX29yZGVyLmluZGV4T2Yocik6dGhpcy5fb3JkZXIubGVuZ3RoO2lmKHImJi0xPT09byl0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoJ0xheWVyIHdpdGggaWQgIicrcisnIiBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIG1hcC4nKSkpO2Vsc2V7aWYodGhpcy5fb3JkZXIuc3BsaWNlKG8sMCxhKSx0aGlzLl9sYXllck9yZGVyQ2hhbmdlZD0hMCx0aGlzLl9sYXllcnNbYV09aSx0aGlzLl9yZW1vdmVkTGF5ZXJzW2FdJiZpLnNvdXJjZSYmImN1c3RvbSIhPT1pLnR5cGUpe3ZhciBzPXRoaXMuX3JlbW92ZWRMYXllcnNbYV07ZGVsZXRlIHRoaXMuX3JlbW92ZWRMYXllcnNbYV0scy50eXBlIT09aS50eXBlP3RoaXMuX3VwZGF0ZWRTb3VyY2VzW2kuc291cmNlXT0iY2xlYXIiOih0aGlzLl91cGRhdGVkU291cmNlc1tpLnNvdXJjZV09InJlbG9hZCIsdGhpcy5zb3VyY2VDYWNoZXNbaS5zb3VyY2VdLnBhdXNlKCkpfXRoaXMuX3VwZGF0ZUxheWVyKGkpLGkub25BZGQmJmkub25BZGQodGhpcy5tYXApfX19LHIucHJvdG90eXBlLm1vdmVMYXllcj1mdW5jdGlvbihlLHIpe2lmKHRoaXMuX2NoZWNrTG9hZGVkKCksdGhpcy5fY2hhbmdlZD0hMCx0aGlzLl9sYXllcnNbZV0pe2lmKGUhPT1yKXt2YXIgbj10aGlzLl9vcmRlci5pbmRleE9mKGUpO3RoaXMuX29yZGVyLnNwbGljZShuLDEpO3ZhciBhPXI/dGhpcy5fb3JkZXIuaW5kZXhPZihyKTp0aGlzLl9vcmRlci5sZW5ndGg7ciYmLTE9PT1hP3RoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcignTGF5ZXIgd2l0aCBpZCAiJytyKyciIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgbWFwLicpKSk6KHRoaXMuX29yZGVyLnNwbGljZShhLDAsZSksdGhpcy5fbGF5ZXJPcmRlckNoYW5nZWQ9ITApfX1lbHNlIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIGxheWVyICciK2UrIicgZG9lcyBub3QgZXhpc3QgaW4gdGhlIG1hcCdzIHN0eWxlIGFuZCBjYW5ub3QgYmUgbW92ZWQuIikpKX0sci5wcm90b3R5cGUucmVtb3ZlTGF5ZXI9ZnVuY3Rpb24oZSl7dGhpcy5fY2hlY2tMb2FkZWQoKTt2YXIgcj10aGlzLl9sYXllcnNbZV07aWYocil7ci5zZXRFdmVudGVkUGFyZW50KG51bGwpO3ZhciBuPXRoaXMuX29yZGVyLmluZGV4T2YoZSk7dGhpcy5fb3JkZXIuc3BsaWNlKG4sMSksdGhpcy5fbGF5ZXJPcmRlckNoYW5nZWQ9ITAsdGhpcy5fY2hhbmdlZD0hMCx0aGlzLl9yZW1vdmVkTGF5ZXJzW2VdPXIsZGVsZXRlIHRoaXMuX2xheWVyc1tlXSxkZWxldGUgdGhpcy5fdXBkYXRlZExheWVyc1tlXSxkZWxldGUgdGhpcy5fdXBkYXRlZFBhaW50UHJvcHNbZV0sci5vblJlbW92ZSYmci5vblJlbW92ZSh0aGlzLm1hcCl9ZWxzZSB0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIlRoZSBsYXllciAnIitlKyInIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtYXAncyBzdHlsZSBhbmQgY2Fubm90IGJlIHJlbW92ZWQuIikpKX0sci5wcm90b3R5cGUuZ2V0TGF5ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2xheWVyc1t0XX0sci5wcm90b3R5cGUuc2V0TGF5ZXJab29tUmFuZ2U9ZnVuY3Rpb24oZSxyLG4pe3RoaXMuX2NoZWNrTG9hZGVkKCk7dmFyIGE9dGhpcy5nZXRMYXllcihlKTthP2EubWluem9vbT09PXImJmEubWF4em9vbT09PW58fChudWxsIT1yJiYoYS5taW56b29tPXIpLG51bGwhPW4mJihhLm1heHpvb209biksdGhpcy5fdXBkYXRlTGF5ZXIoYSkpOnRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIGxheWVyICciK2UrIicgZG9lcyBub3QgZXhpc3QgaW4gdGhlIG1hcCdzIHN0eWxlIGFuZCBjYW5ub3QgaGF2ZSB6b29tIGV4dGVudC4iKSkpfSxyLnByb3RvdHlwZS5zZXRGaWx0ZXI9ZnVuY3Rpb24oZSxyLG4pe3ZvaWQgMD09PW4mJihuPXt9KSx0aGlzLl9jaGVja0xvYWRlZCgpO3ZhciBhPXRoaXMuZ2V0TGF5ZXIoZSk7aWYoYSl7aWYoIXQuZGVlcEVxdWFsKGEuZmlsdGVyLHIpKXJldHVybiBudWxsPT1yPyhhLmZpbHRlcj12b2lkIDAsdm9pZCB0aGlzLl91cGRhdGVMYXllcihhKSk6dm9pZCh0aGlzLl92YWxpZGF0ZSh0LnZhbGlkYXRlU3R5bGUuZmlsdGVyLCJsYXllcnMuIithLmlkKyIuZmlsdGVyIixyLG51bGwsbil8fChhLmZpbHRlcj10LmNsb25lJDEociksdGhpcy5fdXBkYXRlTGF5ZXIoYSkpKX1lbHNlIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIGxheWVyICciK2UrIicgZG9lcyBub3QgZXhpc3QgaW4gdGhlIG1hcCdzIHN0eWxlIGFuZCBjYW5ub3QgYmUgZmlsdGVyZWQuIikpKX0sci5wcm90b3R5cGUuZ2V0RmlsdGVyPWZ1bmN0aW9uKGUpe3JldHVybiB0LmNsb25lJDEodGhpcy5nZXRMYXllcihlKS5maWx0ZXIpfSxyLnByb3RvdHlwZS5zZXRMYXlvdXRQcm9wZXJ0eT1mdW5jdGlvbihlLHIsbixhKXt2b2lkIDA9PT1hJiYoYT17fSksdGhpcy5fY2hlY2tMb2FkZWQoKTt2YXIgaT10aGlzLmdldExheWVyKGUpO2k/dC5kZWVwRXF1YWwoaS5nZXRMYXlvdXRQcm9wZXJ0eShyKSxuKXx8KGkuc2V0TGF5b3V0UHJvcGVydHkocixuLGEpLHRoaXMuX3VwZGF0ZUxheWVyKGkpKTp0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIlRoZSBsYXllciAnIitlKyInIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtYXAncyBzdHlsZSBhbmQgY2Fubm90IGJlIHN0eWxlZC4iKSkpfSxyLnByb3RvdHlwZS5nZXRMYXlvdXRQcm9wZXJ0eT1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXMuZ2V0TGF5ZXIoZSk7aWYobilyZXR1cm4gbi5nZXRMYXlvdXRQcm9wZXJ0eShyKTt0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIlRoZSBsYXllciAnIitlKyInIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtYXAncyBzdHlsZS4iKSkpfSxyLnByb3RvdHlwZS5zZXRQYWludFByb3BlcnR5PWZ1bmN0aW9uKGUscixuLGEpe3ZvaWQgMD09PWEmJihhPXt9KSx0aGlzLl9jaGVja0xvYWRlZCgpO3ZhciBpPXRoaXMuZ2V0TGF5ZXIoZSk7aT90LmRlZXBFcXVhbChpLmdldFBhaW50UHJvcGVydHkociksbil8fChpLnNldFBhaW50UHJvcGVydHkocixuLGEpJiZ0aGlzLl91cGRhdGVMYXllcihpKSx0aGlzLl9jaGFuZ2VkPSEwLHRoaXMuX3VwZGF0ZWRQYWludFByb3BzW2VdPSEwKTp0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIlRoZSBsYXllciAnIitlKyInIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtYXAncyBzdHlsZSBhbmQgY2Fubm90IGJlIHN0eWxlZC4iKSkpfSxyLnByb3RvdHlwZS5nZXRQYWludFByb3BlcnR5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuZ2V0TGF5ZXIodCkuZ2V0UGFpbnRQcm9wZXJ0eShlKX0sci5wcm90b3R5cGUuc2V0RmVhdHVyZVN0YXRlPWZ1bmN0aW9uKGUscil7dGhpcy5fY2hlY2tMb2FkZWQoKTt2YXIgbj1lLnNvdXJjZSxhPWUuc291cmNlTGF5ZXIsaT10aGlzLnNvdXJjZUNhY2hlc1tuXSxvPXBhcnNlSW50KGUuaWQsMTApO2lmKHZvaWQgMCE9PWkpe3ZhciBzPWkuZ2V0U291cmNlKCkudHlwZTsiZ2VvanNvbiI9PT1zJiZhP3RoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiR2VvSlNPTiBzb3VyY2VzIGNhbm5vdCBoYXZlIGEgc291cmNlTGF5ZXIgcGFyYW1ldGVyLiIpKSk6InZlY3RvciIhPT1zfHxhP2lzTmFOKG8pfHxvPDA/dGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCJUaGUgZmVhdHVyZSBpZCBwYXJhbWV0ZXIgbXVzdCBiZSBwcm92aWRlZCBhbmQgbm9uLW5lZ2F0aXZlLiIpKSk6aS5zZXRGZWF0dXJlU3RhdGUoYSxvLHIpOnRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIHNvdXJjZUxheWVyIHBhcmFtZXRlciBtdXN0IGJlIHByb3ZpZGVkIGZvciB2ZWN0b3Igc291cmNlIHR5cGVzLiIpKSl9ZWxzZSB0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIlRoZSBzb3VyY2UgJyIrbisiJyBkb2VzIG5vdCBleGlzdCBpbiB0aGUgbWFwJ3Mgc3R5bGUuIikpKX0sci5wcm90b3R5cGUucmVtb3ZlRmVhdHVyZVN0YXRlPWZ1bmN0aW9uKGUscil7dGhpcy5fY2hlY2tMb2FkZWQoKTt2YXIgbj1lLnNvdXJjZSxhPXRoaXMuc291cmNlQ2FjaGVzW25dO2lmKHZvaWQgMCE9PWEpe3ZhciBpPWEuZ2V0U291cmNlKCkudHlwZSxvPSJ2ZWN0b3IiPT09aT9lLnNvdXJjZUxheWVyOnZvaWQgMCxzPXBhcnNlSW50KGUuaWQsMTApOyJ2ZWN0b3IiIT09aXx8bz92b2lkIDAhPT1lLmlkJiZpc05hTihzKXx8czwwP3RoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIGZlYXR1cmUgaWQgcGFyYW1ldGVyIG11c3QgYmUgbm9uLW5lZ2F0aXZlLiIpKSk6ciYmInN0cmluZyIhPXR5cGVvZiBlLmlkJiYibnVtYmVyIiE9dHlwZW9mIGUuaWQ/dGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCJBIGZlYXR1cmUgaWQgaXMgcmVxdXJlZCB0byByZW1vdmUgaXRzIHNwZWNpZmljIHN0YXRlIHByb3BlcnR5LiIpKSk6YS5yZW1vdmVGZWF0dXJlU3RhdGUobyxzLHIpOnRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIHNvdXJjZUxheWVyIHBhcmFtZXRlciBtdXN0IGJlIHByb3ZpZGVkIGZvciB2ZWN0b3Igc291cmNlIHR5cGVzLiIpKSl9ZWxzZSB0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIlRoZSBzb3VyY2UgJyIrbisiJyBkb2VzIG5vdCBleGlzdCBpbiB0aGUgbWFwJ3Mgc3R5bGUuIikpKX0sci5wcm90b3R5cGUuZ2V0RmVhdHVyZVN0YXRlPWZ1bmN0aW9uKGUpe3RoaXMuX2NoZWNrTG9hZGVkKCk7dmFyIHI9ZS5zb3VyY2Usbj1lLnNvdXJjZUxheWVyLGE9dGhpcy5zb3VyY2VDYWNoZXNbcl0saT1wYXJzZUludChlLmlkLDEwKTtpZih2b2lkIDAhPT1hKWlmKCJ2ZWN0b3IiIT09YS5nZXRTb3VyY2UoKS50eXBlfHxuKXtpZighKGlzTmFOKGkpfHxpPDApKXJldHVybiBhLmdldEZlYXR1cmVTdGF0ZShuLGkpO3RoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIGZlYXR1cmUgaWQgcGFyYW1ldGVyIG11c3QgYmUgcHJvdmlkZWQgYW5kIG5vbi1uZWdhdGl2ZS4iKSkpfWVsc2UgdGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCJUaGUgc291cmNlTGF5ZXIgcGFyYW1ldGVyIG11c3QgYmUgcHJvdmlkZWQgZm9yIHZlY3RvciBzb3VyY2UgdHlwZXMuIikpKTtlbHNlIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIHNvdXJjZSAnIityKyInIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtYXAncyBzdHlsZS4iKSkpfSxyLnByb3RvdHlwZS5nZXRUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHQuZXh0ZW5kKHtkdXJhdGlvbjozMDAsZGVsYXk6MH0sdGhpcy5zdHlsZXNoZWV0JiZ0aGlzLnN0eWxlc2hlZXQudHJhbnNpdGlvbil9LHIucHJvdG90eXBlLnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiB0LmZpbHRlck9iamVjdCh7dmVyc2lvbjp0aGlzLnN0eWxlc2hlZXQudmVyc2lvbixuYW1lOnRoaXMuc3R5bGVzaGVldC5uYW1lLG1ldGFkYXRhOnRoaXMuc3R5bGVzaGVldC5tZXRhZGF0YSxsaWdodDp0aGlzLnN0eWxlc2hlZXQubGlnaHQsY2VudGVyOnRoaXMuc3R5bGVzaGVldC5jZW50ZXIsem9vbTp0aGlzLnN0eWxlc2hlZXQuem9vbSxiZWFyaW5nOnRoaXMuc3R5bGVzaGVldC5iZWFyaW5nLHBpdGNoOnRoaXMuc3R5bGVzaGVldC5waXRjaCxzcHJpdGU6dGhpcy5zdHlsZXNoZWV0LnNwcml0ZSxnbHlwaHM6dGhpcy5zdHlsZXNoZWV0LmdseXBocyx0cmFuc2l0aW9uOnRoaXMuc3R5bGVzaGVldC50cmFuc2l0aW9uLHNvdXJjZXM6dC5tYXBPYmplY3QodGhpcy5zb3VyY2VDYWNoZXMsZnVuY3Rpb24odCl7cmV0dXJuIHQuc2VyaWFsaXplKCl9KSxsYXllcnM6dGhpcy5fc2VyaWFsaXplTGF5ZXJzKHRoaXMuX29yZGVyKX0sZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMCE9PXR9KX0sci5wcm90b3R5cGUuX3VwZGF0ZUxheWVyPWZ1bmN0aW9uKHQpe3RoaXMuX3VwZGF0ZWRMYXllcnNbdC5pZF09ITAsdC5zb3VyY2UmJiF0aGlzLl91cGRhdGVkU291cmNlc1t0LnNvdXJjZV0mJih0aGlzLl91cGRhdGVkU291cmNlc1t0LnNvdXJjZV09InJlbG9hZCIsdGhpcy5zb3VyY2VDYWNoZXNbdC5zb3VyY2VdLnBhdXNlKCkpLHRoaXMuX2NoYW5nZWQ9ITB9LHIucHJvdG90eXBlLl9mbGF0dGVuQW5kU29ydFJlbmRlcmVkRmVhdHVyZXM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMscj1mdW5jdGlvbih0KXtyZXR1cm4iZmlsbC1leHRydXNpb24iPT09ZS5fbGF5ZXJzW3RdLnR5cGV9LG49e30sYT1bXSxpPXRoaXMuX29yZGVyLmxlbmd0aC0xO2k+PTA7aS0tKXt2YXIgbz10aGlzLl9vcmRlcltpXTtpZihyKG8pKXtuW29dPWk7Zm9yKHZhciBzPTAsbD10O3M8bC5sZW5ndGg7cys9MSl7dmFyIGM9bFtzXVtvXTtpZihjKWZvcih2YXIgdT0wLGg9Yzt1PGgubGVuZ3RoO3UrPTEpe3ZhciBmPWhbdV07YS5wdXNoKGYpfX19fWEuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBlLmludGVyc2VjdGlvblotdC5pbnRlcnNlY3Rpb25afSk7Zm9yKHZhciBwPVtdLGQ9dGhpcy5fb3JkZXIubGVuZ3RoLTE7ZD49MDtkLS0pe3ZhciBnPXRoaXMuX29yZGVyW2RdO2lmKHIoZykpZm9yKHZhciB2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciBtPWFbdl0uZmVhdHVyZTtpZihuW20ubGF5ZXIuaWRdPGQpYnJlYWs7cC5wdXNoKG0pLGEucG9wKCl9ZWxzZSBmb3IodmFyIHk9MCx4PXQ7eTx4Lmxlbmd0aDt5Kz0xKXt2YXIgYj14W3ldW2ddO2lmKGIpZm9yKHZhciBfPTAsdz1iO188dy5sZW5ndGg7Xys9MSl7dmFyIGs9d1tfXTtwLnB1c2goay5mZWF0dXJlKX19fXJldHVybiBwfSxyLnByb3RvdHlwZS5xdWVyeVJlbmRlcmVkRmVhdHVyZXM9ZnVuY3Rpb24oZSxyLG4pe3ImJnIuZmlsdGVyJiZ0aGlzLl92YWxpZGF0ZSh0LnZhbGlkYXRlU3R5bGUuZmlsdGVyLCJxdWVyeVJlbmRlcmVkRmVhdHVyZXMuZmlsdGVyIixyLmZpbHRlcixudWxsLHIpO3ZhciBhPXt9O2lmKHImJnIubGF5ZXJzKXtpZighQXJyYXkuaXNBcnJheShyLmxheWVycykpcmV0dXJuIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigicGFyYW1ldGVycy5sYXllcnMgbXVzdCBiZSBhbiBBcnJheS4iKSkpLFtdO2Zvcih2YXIgaT0wLG89ci5sYXllcnM7aTxvLmxlbmd0aDtpKz0xKXt2YXIgcz1vW2ldLGw9dGhpcy5fbGF5ZXJzW3NdO2lmKCFsKXJldHVybiB0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIlRoZSBsYXllciAnIitzKyInIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtYXAncyBzdHlsZSBhbmQgY2Fubm90IGJlIHF1ZXJpZWQgZm9yIGZlYXR1cmVzLiIpKSksW107YVtsLnNvdXJjZV09ITB9fXZhciBjPVtdO2Zvcih2YXIgdSBpbiB0aGlzLnNvdXJjZUNhY2hlcylyLmxheWVycyYmIWFbdV18fGMucHVzaChGKHRoaXMuc291cmNlQ2FjaGVzW3VdLHRoaXMuX2xheWVycyxlLHIsbikpO3JldHVybiB0aGlzLnBsYWNlbWVudCYmYy5wdXNoKGZ1bmN0aW9uKHQsZSxyLG4sYSxpKXtmb3IodmFyIG89e30scz1hLnF1ZXJ5UmVuZGVyZWRTeW1ib2xzKHIpLGw9W10sYz0wLHU9T2JqZWN0LmtleXMocykubWFwKE51bWJlcik7Yzx1Lmxlbmd0aDtjKz0xKXt2YXIgaD11W2NdO2wucHVzaChpW2hdKX1sLnNvcnQoQik7Zm9yKHZhciBmPWZ1bmN0aW9uKCl7dmFyIGU9ZFtwXSxyPWUuZmVhdHVyZUluZGV4Lmxvb2t1cFN5bWJvbEZlYXR1cmVzKHNbZS5idWNrZXRJbnN0YW5jZUlkXSxlLmJ1Y2tldEluZGV4LGUuc291cmNlTGF5ZXJJbmRleCxuLmZpbHRlcixuLmxheWVycyx0KTtmb3IodmFyIGEgaW4gcil7dmFyIGk9b1thXT1vW2FdfHxbXSxsPXJbYV07bC5zb3J0KGZ1bmN0aW9uKHQscil7dmFyIG49ZS5mZWF0dXJlU29ydE9yZGVyO2lmKG4pe3ZhciBhPW4uaW5kZXhPZih0LmZlYXR1cmVJbmRleCk7cmV0dXJuIG4uaW5kZXhPZihyLmZlYXR1cmVJbmRleCktYX1yZXR1cm4gci5mZWF0dXJlSW5kZXgtdC5mZWF0dXJlSW5kZXh9KTtmb3IodmFyIGM9MCx1PWw7Yzx1Lmxlbmd0aDtjKz0xKXt2YXIgaD11W2NdO2kucHVzaChoKX19fSxwPTAsZD1sO3A8ZC5sZW5ndGg7cCs9MSlmKCk7dmFyIGc9ZnVuY3Rpb24ocil7b1tyXS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3ZhciBhPW4uZmVhdHVyZSxpPXRbcl0sbz1lW2kuc291cmNlXS5nZXRGZWF0dXJlU3RhdGUoYS5sYXllclsic291cmNlLWxheWVyIl0sYS5pZCk7YS5zb3VyY2U9YS5sYXllci5zb3VyY2UsYS5sYXllclsic291cmNlLWxheWVyIl0mJihhLnNvdXJjZUxheWVyPWEubGF5ZXJbInNvdXJjZS1sYXllciJdKSxhLnN0YXRlPW99KX07Zm9yKHZhciB2IGluIG8pZyh2KTtyZXR1cm4gb30odGhpcy5fbGF5ZXJzLHRoaXMuc291cmNlQ2FjaGVzLGUscix0aGlzLnBsYWNlbWVudC5jb2xsaXNpb25JbmRleCx0aGlzLnBsYWNlbWVudC5yZXRhaW5lZFF1ZXJ5RGF0YSkpLHRoaXMuX2ZsYXR0ZW5BbmRTb3J0UmVuZGVyZWRGZWF0dXJlcyhjKX0sci5wcm90b3R5cGUucXVlcnlTb3VyY2VGZWF0dXJlcz1mdW5jdGlvbihlLHIpe3ImJnIuZmlsdGVyJiZ0aGlzLl92YWxpZGF0ZSh0LnZhbGlkYXRlU3R5bGUuZmlsdGVyLCJxdWVyeVNvdXJjZUZlYXR1cmVzLmZpbHRlciIsci5maWx0ZXIsbnVsbCxyKTt2YXIgbj10aGlzLnNvdXJjZUNhY2hlc1tlXTtyZXR1cm4gbj9mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10LmdldFJlbmRlcmFibGVJZHMoKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHQuZ2V0VGlsZUJ5SUQoZSl9KSxuPVtdLGE9e30saT0wO2k8ci5sZW5ndGg7aSsrKXt2YXIgbz1yW2ldLHM9by50aWxlSUQuY2Fub25pY2FsLmtleTthW3NdfHwoYVtzXT0hMCxvLnF1ZXJ5U291cmNlRmVhdHVyZXMobixlKSl9cmV0dXJuIG59KG4scik6W119LHIucHJvdG90eXBlLmFkZFNvdXJjZVR5cGU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiByLmdldFNvdXJjZVR5cGUodCk/bihuZXcgRXJyb3IoJ0Egc291cmNlIHR5cGUgY2FsbGVkICInK3QrJyIgYWxyZWFkeSBleGlzdHMuJykpOihyLnNldFNvdXJjZVR5cGUodCxlKSxlLndvcmtlclNvdXJjZVVSTD92b2lkIHRoaXMuZGlzcGF0Y2hlci5icm9hZGNhc3QoImxvYWRXb3JrZXJTb3VyY2UiLHtuYW1lOnQsdXJsOmUud29ya2VyU291cmNlVVJMfSxuKTpuKG51bGwsbnVsbCkpfSxyLnByb3RvdHlwZS5nZXRMaWdodD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxpZ2h0LmdldExpZ2h0KCl9LHIucHJvdG90eXBlLnNldExpZ2h0PWZ1bmN0aW9uKGUscil7dm9pZCAwPT09ciYmKHI9e30pLHRoaXMuX2NoZWNrTG9hZGVkKCk7dmFyIG49dGhpcy5saWdodC5nZXRMaWdodCgpLGE9ITE7Zm9yKHZhciBpIGluIGUpaWYoIXQuZGVlcEVxdWFsKGVbaV0sbltpXSkpe2E9ITA7YnJlYWt9aWYoYSl7dmFyIG89e25vdzp0LmJyb3dzZXIubm93KCksdHJhbnNpdGlvbjp0LmV4dGVuZCh7ZHVyYXRpb246MzAwLGRlbGF5OjB9LHRoaXMuc3R5bGVzaGVldC50cmFuc2l0aW9uKX07dGhpcy5saWdodC5zZXRMaWdodChlLHIpLHRoaXMubGlnaHQudXBkYXRlVHJhbnNpdGlvbnMobyl9fSxyLnByb3RvdHlwZS5fdmFsaWRhdGU9ZnVuY3Rpb24oZSxyLG4sYSxpKXtyZXR1cm4gdm9pZCAwPT09aSYmKGk9e30pLCghaXx8ITEhPT1pLnZhbGlkYXRlKSYmemUodGhpcyxlLmNhbGwodC52YWxpZGF0ZVN0eWxlLHQuZXh0ZW5kKHtrZXk6cixzdHlsZTp0aGlzLnNlcmlhbGl6ZSgpLHZhbHVlOm4sc3R5bGVTcGVjOnQuc3R5bGVTcGVjfSxhKSkpfSxyLnByb3RvdHlwZS5fcmVtb3ZlPWZ1bmN0aW9uKCl7Zm9yKHZhciBlIGluIHRoaXMuX3JlcXVlc3QmJih0aGlzLl9yZXF1ZXN0LmNhbmNlbCgpLHRoaXMuX3JlcXVlc3Q9bnVsbCksdGhpcy5fc3ByaXRlUmVxdWVzdCYmKHRoaXMuX3Nwcml0ZVJlcXVlc3QuY2FuY2VsKCksdGhpcy5fc3ByaXRlUmVxdWVzdD1udWxsKSx0LmV2ZW50ZWQub2ZmKCJwbHVnaW5BdmFpbGFibGUiLHRoaXMuX3J0bFRleHRQbHVnaW5DYWxsYmFjayksdGhpcy5zb3VyY2VDYWNoZXMpdGhpcy5zb3VyY2VDYWNoZXNbZV0uY2xlYXJUaWxlcygpO3RoaXMuZGlzcGF0Y2hlci5yZW1vdmUoKX0sci5wcm90b3R5cGUuX2NsZWFyU291cmNlPWZ1bmN0aW9uKHQpe3RoaXMuc291cmNlQ2FjaGVzW3RdLmNsZWFyVGlsZXMoKX0sci5wcm90b3R5cGUuX3JlbG9hZFNvdXJjZT1mdW5jdGlvbih0KXt0aGlzLnNvdXJjZUNhY2hlc1t0XS5yZXN1bWUoKSx0aGlzLnNvdXJjZUNhY2hlc1t0XS5yZWxvYWQoKX0sci5wcm90b3R5cGUuX3VwZGF0ZVNvdXJjZXM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlIGluIHRoaXMuc291cmNlQ2FjaGVzKXRoaXMuc291cmNlQ2FjaGVzW2VdLnVwZGF0ZSh0KX0sci5wcm90b3R5cGUuX2dlbmVyYXRlQ29sbGlzaW9uQm94ZXM9ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5zb3VyY2VDYWNoZXMpdGhpcy5fcmVsb2FkU291cmNlKHQpfSxyLnByb3RvdHlwZS5fdXBkYXRlUGxhY2VtZW50PWZ1bmN0aW9uKGUscixuLGEpe2Zvcih2YXIgaT0hMSxvPSExLHM9e30sbD0wLGM9dGhpcy5fb3JkZXI7bDxjLmxlbmd0aDtsKz0xKXt2YXIgdT1jW2xdLGg9dGhpcy5fbGF5ZXJzW3VdO2lmKCJzeW1ib2wiPT09aC50eXBlKXtpZighc1toLnNvdXJjZV0pe3ZhciBmPXRoaXMuc291cmNlQ2FjaGVzW2guc291cmNlXTtzW2guc291cmNlXT1mLmdldFJlbmRlcmFibGVJZHMoITApLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gZi5nZXRUaWxlQnlJRCh0KX0pLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS50aWxlSUQub3ZlcnNjYWxlZFotdC50aWxlSUQub3ZlcnNjYWxlZFp8fCh0LnRpbGVJRC5pc0xlc3NUaGFuKGUudGlsZUlEKT8tMToxKX0pfXZhciBwPXRoaXMuY3Jvc3NUaWxlU3ltYm9sSW5kZXguYWRkTGF5ZXIoaCxzW2guc291cmNlXSxlLmNlbnRlci5sbmcpO2k9aXx8cH19dGhpcy5jcm9zc1RpbGVTeW1ib2xJbmRleC5wcnVuZVVudXNlZExheWVycyh0aGlzLl9vcmRlcik7dmFyIGQ9dGhpcy5fbGF5ZXJPcmRlckNoYW5nZWR8fDA9PT1uO2lmKChkfHwhdGhpcy5wYXVzZWFibGVQbGFjZW1lbnR8fHRoaXMucGF1c2VhYmxlUGxhY2VtZW50LmlzRG9uZSgpJiYhdGhpcy5wbGFjZW1lbnQuc3RpbGxSZWNlbnQodC5icm93c2VyLm5vdygpKSkmJih0aGlzLnBhdXNlYWJsZVBsYWNlbWVudD1uZXcgU2UoZSx0aGlzLl9vcmRlcixkLHIsbixhLHRoaXMucGxhY2VtZW50KSx0aGlzLl9sYXllck9yZGVyQ2hhbmdlZD0hMSksdGhpcy5wYXVzZWFibGVQbGFjZW1lbnQuaXNEb25lKCk/dGhpcy5wbGFjZW1lbnQuc2V0U3RhbGUoKToodGhpcy5wYXVzZWFibGVQbGFjZW1lbnQuY29udGludWVQbGFjZW1lbnQodGhpcy5fb3JkZXIsdGhpcy5fbGF5ZXJzLHMpLHRoaXMucGF1c2VhYmxlUGxhY2VtZW50LmlzRG9uZSgpJiYodGhpcy5wbGFjZW1lbnQ9dGhpcy5wYXVzZWFibGVQbGFjZW1lbnQuY29tbWl0KHQuYnJvd3Nlci5ub3coKSksbz0hMCksaSYmdGhpcy5wYXVzZWFibGVQbGFjZW1lbnQucGxhY2VtZW50LnNldFN0YWxlKCkpLG98fGkpZm9yKHZhciBnPTAsdj10aGlzLl9vcmRlcjtnPHYubGVuZ3RoO2crPTEpe3ZhciBtPXZbZ10seT10aGlzLl9sYXllcnNbbV07InN5bWJvbCI9PT15LnR5cGUmJnRoaXMucGxhY2VtZW50LnVwZGF0ZUxheWVyT3BhY2l0aWVzKHksc1t5LnNvdXJjZV0pfXJldHVybiF0aGlzLnBhdXNlYWJsZVBsYWNlbWVudC5pc0RvbmUoKXx8dGhpcy5wbGFjZW1lbnQuaGFzVHJhbnNpdGlvbnModC5icm93c2VyLm5vdygpKX0sci5wcm90b3R5cGUuX3JlbGVhc2VTeW1ib2xGYWRlVGlsZXM9ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5zb3VyY2VDYWNoZXMpdGhpcy5zb3VyY2VDYWNoZXNbdF0ucmVsZWFzZVN5bWJvbEZhZGVUaWxlcygpfSxyLnByb3RvdHlwZS5nZXRJbWFnZXM9ZnVuY3Rpb24odCxlLHIpe3RoaXMuaW1hZ2VNYW5hZ2VyLmdldEltYWdlcyhlLmljb25zLHIpfSxyLnByb3RvdHlwZS5nZXRHbHlwaHM9ZnVuY3Rpb24odCxlLHIpe3RoaXMuZ2x5cGhNYW5hZ2VyLmdldEdseXBocyhlLnN0YWNrcyxyKX0sci5wcm90b3R5cGUuZ2V0UmVzb3VyY2U9ZnVuY3Rpb24oZSxyLG4pe3JldHVybiB0Lm1ha2VSZXF1ZXN0KHIsbil9LHJ9KHQuRXZlbnRlZCk7UmUuZ2V0U291cmNlVHlwZT1mdW5jdGlvbih0KXtyZXR1cm4gSVt0XX0sUmUuc2V0U291cmNlVHlwZT1mdW5jdGlvbih0LGUpe0lbdF09ZX0sUmUucmVnaXN0ZXJGb3JQbHVnaW5BdmFpbGFiaWxpdHk9dC5yZWdpc3RlckZvclBsdWdpbkF2YWlsYWJpbGl0eTt2YXIgRmU9dC5jcmVhdGVMYXlvdXQoW3tuYW1lOiJhX3BvcyIsdHlwZToiSW50MTYiLGNvbXBvbmVudHM6Mn1dKSxCZT1jcigiI2lmZGVmIEdMX0VTXG5wcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcbiNlbHNlXG4jaWYgIWRlZmluZWQobG93cClcbiNkZWZpbmUgbG93cFxuI2VuZGlmXG4jaWYgIWRlZmluZWQobWVkaXVtcClcbiNkZWZpbmUgbWVkaXVtcFxuI2VuZGlmXG4jaWYgIWRlZmluZWQoaGlnaHApXG4jZGVmaW5lIGhpZ2hwXG4jZW5kaWZcbiNlbmRpZiIsIiNpZmRlZiBHTF9FU1xucHJlY2lzaW9uIGhpZ2hwIGZsb2F0O1xuI2Vsc2VcbiNpZiAhZGVmaW5lZChsb3dwKVxuI2RlZmluZSBsb3dwXG4jZW5kaWZcbiNpZiAhZGVmaW5lZChtZWRpdW1wKVxuI2RlZmluZSBtZWRpdW1wXG4jZW5kaWZcbiNpZiAhZGVmaW5lZChoaWdocClcbiNkZWZpbmUgaGlnaHBcbiNlbmRpZlxuI2VuZGlmXG52ZWMyIHVucGFja19mbG9hdChjb25zdCBmbG9hdCBwYWNrZWRWYWx1ZSkge2ludCBwYWNrZWRJbnRWYWx1ZT1pbnQocGFja2VkVmFsdWUpO2ludCB2MD1wYWNrZWRJbnRWYWx1ZS8yNTY7cmV0dXJuIHZlYzIodjAscGFja2VkSW50VmFsdWUtdjAqMjU2KTt9dmVjMiB1bnBhY2tfb3BhY2l0eShjb25zdCBmbG9hdCBwYWNrZWRPcGFjaXR5KSB7aW50IGludE9wYWNpdHk9aW50KHBhY2tlZE9wYWNpdHkpLzI7cmV0dXJuIHZlYzIoZmxvYXQoaW50T3BhY2l0eSkvMTI3LjAsbW9kKHBhY2tlZE9wYWNpdHksMi4wKSk7fXZlYzQgZGVjb2RlX2NvbG9yKGNvbnN0IHZlYzIgZW5jb2RlZENvbG9yKSB7cmV0dXJuIHZlYzQodW5wYWNrX2Zsb2F0KGVuY29kZWRDb2xvclswXSkvMjU1LjAsdW5wYWNrX2Zsb2F0KGVuY29kZWRDb2xvclsxXSkvMjU1LjBcbik7fWZsb2F0IHVucGFja19taXhfdmVjMihjb25zdCB2ZWMyIHBhY2tlZFZhbHVlLGNvbnN0IGZsb2F0IHQpIHtyZXR1cm4gbWl4KHBhY2tlZFZhbHVlWzBdLHBhY2tlZFZhbHVlWzFdLHQpO312ZWM0IHVucGFja19taXhfY29sb3IoY29uc3QgdmVjNCBwYWNrZWRDb2xvcnMsY29uc3QgZmxvYXQgdCkge3ZlYzQgbWluQ29sb3I9ZGVjb2RlX2NvbG9yKHZlYzIocGFja2VkQ29sb3JzWzBdLHBhY2tlZENvbG9yc1sxXSkpO3ZlYzQgbWF4Q29sb3I9ZGVjb2RlX2NvbG9yKHZlYzIocGFja2VkQ29sb3JzWzJdLHBhY2tlZENvbG9yc1szXSkpO3JldHVybiBtaXgobWluQ29sb3IsbWF4Q29sb3IsdCk7fXZlYzIgZ2V0X3BhdHRlcm5fcG9zKGNvbnN0IHZlYzIgcGl4ZWxfY29vcmRfdXBwZXIsY29uc3QgdmVjMiBwaXhlbF9jb29yZF9sb3dlcixjb25zdCB2ZWMyIHBhdHRlcm5fc2l6ZSxjb25zdCBmbG9hdCB0aWxlX3VuaXRzX3RvX3BpeGVscyxjb25zdCB2ZWMyIHBvcykge3ZlYzIgb2Zmc2V0PW1vZChtb2QobW9kKHBpeGVsX2Nvb3JkX3VwcGVyLHBhdHRlcm5fc2l6ZSkqMjU2LjAscGF0dGVybl9zaXplKSoyNTYuMCtwaXhlbF9jb29yZF9sb3dlcixwYXR0ZXJuX3NpemUpO3JldHVybiAodGlsZV91bml0c190b19waXhlbHMqcG9zK29mZnNldCkvcGF0dGVybl9zaXplO30iKSxOZT1jcigidW5pZm9ybSB2ZWM0IHVfY29sb3I7dW5pZm9ybSBmbG9hdCB1X29wYWNpdHk7dm9pZCBtYWluKCkge2dsX0ZyYWdDb2xvcj11X2NvbG9yKnVfb3BhY2l0eTtcbiNpZmRlZiBPVkVSRFJBV19JTlNQRUNUT1JcbmdsX0ZyYWdDb2xvcj12ZWM0KDEuMCk7XG4jZW5kaWZcbn0iLCJhdHRyaWJ1dGUgdmVjMiBhX3Bvczt1bmlmb3JtIG1hdDQgdV9tYXRyaXg7dm9pZCBtYWluKCkge2dsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQoYV9wb3MsMCwxKTt9IiksamU9Y3IoInVuaWZvcm0gdmVjMiB1X3BhdHRlcm5fdGxfYTt1bmlmb3JtIHZlYzIgdV9wYXR0ZXJuX2JyX2E7dW5pZm9ybSB2ZWMyIHVfcGF0dGVybl90bF9iO3VuaWZvcm0gdmVjMiB1X3BhdHRlcm5fYnJfYjt1bmlmb3JtIHZlYzIgdV90ZXhzaXplO3VuaWZvcm0gZmxvYXQgdV9taXg7dW5pZm9ybSBmbG9hdCB1X29wYWNpdHk7dW5pZm9ybSBzYW1wbGVyMkQgdV9pbWFnZTt2YXJ5aW5nIHZlYzIgdl9wb3NfYTt2YXJ5aW5nIHZlYzIgdl9wb3NfYjt2b2lkIG1haW4oKSB7dmVjMiBpbWFnZWNvb3JkPW1vZCh2X3Bvc19hLDEuMCk7dmVjMiBwb3M9bWl4KHVfcGF0dGVybl90bF9hL3VfdGV4c2l6ZSx1X3BhdHRlcm5fYnJfYS91X3RleHNpemUsaW1hZ2Vjb29yZCk7dmVjNCBjb2xvcjE9dGV4dHVyZTJEKHVfaW1hZ2UscG9zKTt2ZWMyIGltYWdlY29vcmRfYj1tb2Qodl9wb3NfYiwxLjApO3ZlYzIgcG9zMj1taXgodV9wYXR0ZXJuX3RsX2IvdV90ZXhzaXplLHVfcGF0dGVybl9icl9iL3VfdGV4c2l6ZSxpbWFnZWNvb3JkX2IpO3ZlYzQgY29sb3IyPXRleHR1cmUyRCh1X2ltYWdlLHBvczIpO2dsX0ZyYWdDb2xvcj1taXgoY29sb3IxLGNvbG9yMix1X21peCkqdV9vcGFjaXR5O1xuI2lmZGVmIE9WRVJEUkFXX0lOU1BFQ1RPUlxuZ2xfRnJhZ0NvbG9yPXZlYzQoMS4wKTtcbiNlbmRpZlxufSIsInVuaWZvcm0gbWF0NCB1X21hdHJpeDt1bmlmb3JtIHZlYzIgdV9wYXR0ZXJuX3NpemVfYTt1bmlmb3JtIHZlYzIgdV9wYXR0ZXJuX3NpemVfYjt1bmlmb3JtIHZlYzIgdV9waXhlbF9jb29yZF91cHBlcjt1bmlmb3JtIHZlYzIgdV9waXhlbF9jb29yZF9sb3dlcjt1bmlmb3JtIGZsb2F0IHVfc2NhbGVfYTt1bmlmb3JtIGZsb2F0IHVfc2NhbGVfYjt1bmlmb3JtIGZsb2F0IHVfdGlsZV91bml0c190b19waXhlbHM7YXR0cmlidXRlIHZlYzIgYV9wb3M7dmFyeWluZyB2ZWMyIHZfcG9zX2E7dmFyeWluZyB2ZWMyIHZfcG9zX2I7dm9pZCBtYWluKCkge2dsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQoYV9wb3MsMCwxKTt2X3Bvc19hPWdldF9wYXR0ZXJuX3Bvcyh1X3BpeGVsX2Nvb3JkX3VwcGVyLHVfcGl4ZWxfY29vcmRfbG93ZXIsdV9zY2FsZV9hKnVfcGF0dGVybl9zaXplX2EsdV90aWxlX3VuaXRzX3RvX3BpeGVscyxhX3Bvcyk7dl9wb3NfYj1nZXRfcGF0dGVybl9wb3ModV9waXhlbF9jb29yZF91cHBlcix1X3BpeGVsX2Nvb3JkX2xvd2VyLHVfc2NhbGVfYip1X3BhdHRlcm5fc2l6ZV9iLHVfdGlsZV91bml0c190b19waXhlbHMsYV9wb3MpO30iKSxWZT1jcigidmFyeWluZyB2ZWMzIHZfZGF0YTtcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgdmVjNCBjb2xvclxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBtZWRpdW1wIGZsb2F0IHJhZGl1c1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGhpZ2hwIHZlYzQgc3Ryb2tlX2NvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIG1lZGl1bXAgZmxvYXQgc3Ryb2tlX3dpZHRoXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgc3Ryb2tlX29wYWNpdHlcbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGhpZ2hwIHZlYzQgY29sb3JcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgZmxvYXQgcmFkaXVzXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgaGlnaHAgdmVjNCBzdHJva2VfY29sb3JcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgZmxvYXQgc3Ryb2tlX3dpZHRoXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IHN0cm9rZV9vcGFjaXR5XG52ZWMyIGV4dHJ1ZGU9dl9kYXRhLnh5O2Zsb2F0IGV4dHJ1ZGVfbGVuZ3RoPWxlbmd0aChleHRydWRlKTtsb3dwIGZsb2F0IGFudGlhbGlhc2JsdXI9dl9kYXRhLno7ZmxvYXQgYW50aWFsaWFzZWRfYmx1cj0tbWF4KGJsdXIsYW50aWFsaWFzYmx1cik7ZmxvYXQgb3BhY2l0eV90PXNtb290aHN0ZXAoMC4wLGFudGlhbGlhc2VkX2JsdXIsZXh0cnVkZV9sZW5ndGgtMS4wKTtmbG9hdCBjb2xvcl90PXN0cm9rZV93aWR0aCA8IDAuMDEgPyAwLjAgOiBzbW9vdGhzdGVwKGFudGlhbGlhc2VkX2JsdXIsMC4wLGV4dHJ1ZGVfbGVuZ3RoLXJhZGl1cy8ocmFkaXVzK3N0cm9rZV93aWR0aCkpO2dsX0ZyYWdDb2xvcj1vcGFjaXR5X3QqbWl4KGNvbG9yKm9wYWNpdHksc3Ryb2tlX2NvbG9yKnN0cm9rZV9vcGFjaXR5LGNvbG9yX3QpO1xuI2lmZGVmIE9WRVJEUkFXX0lOU1BFQ1RPUlxuZ2xfRnJhZ0NvbG9yPXZlYzQoMS4wKTtcbiNlbmRpZlxufSIsInVuaWZvcm0gbWF0NCB1X21hdHJpeDt1bmlmb3JtIGJvb2wgdV9zY2FsZV93aXRoX21hcDt1bmlmb3JtIGJvb2wgdV9waXRjaF93aXRoX21hcDt1bmlmb3JtIHZlYzIgdV9leHRydWRlX3NjYWxlO3VuaWZvcm0gbG93cCBmbG9hdCB1X2RldmljZV9waXhlbF9yYXRpbzt1bmlmb3JtIGhpZ2hwIGZsb2F0IHVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZTthdHRyaWJ1dGUgdmVjMiBhX3Bvczt2YXJ5aW5nIHZlYzMgdl9kYXRhO1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBoaWdocCB2ZWM0IGNvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIG1lZGl1bXAgZmxvYXQgcmFkaXVzXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgYmx1clxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IG9wYWNpdHlcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgdmVjNCBzdHJva2VfY29sb3JcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbWVkaXVtcCBmbG9hdCBzdHJva2Vfd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBzdHJva2Vfb3BhY2l0eVxudm9pZCBtYWluKHZvaWQpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGhpZ2hwIHZlYzQgY29sb3JcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgZmxvYXQgcmFkaXVzXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgaGlnaHAgdmVjNCBzdHJva2VfY29sb3JcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgZmxvYXQgc3Ryb2tlX3dpZHRoXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IHN0cm9rZV9vcGFjaXR5XG52ZWMyIGV4dHJ1ZGU9dmVjMihtb2QoYV9wb3MsMi4wKSoyLjAtMS4wKTt2ZWMyIGNpcmNsZV9jZW50ZXI9Zmxvb3IoYV9wb3MqMC41KTtpZiAodV9waXRjaF93aXRoX21hcCkge3ZlYzIgY29ybmVyX3Bvc2l0aW9uPWNpcmNsZV9jZW50ZXI7aWYgKHVfc2NhbGVfd2l0aF9tYXApIHtjb3JuZXJfcG9zaXRpb24rPWV4dHJ1ZGUqKHJhZGl1cytzdHJva2Vfd2lkdGgpKnVfZXh0cnVkZV9zY2FsZTt9IGVsc2Uge3ZlYzQgcHJvamVjdGVkX2NlbnRlcj11X21hdHJpeCp2ZWM0KGNpcmNsZV9jZW50ZXIsMCwxKTtjb3JuZXJfcG9zaXRpb24rPWV4dHJ1ZGUqKHJhZGl1cytzdHJva2Vfd2lkdGgpKnVfZXh0cnVkZV9zY2FsZSoocHJvamVjdGVkX2NlbnRlci53L3VfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZSk7fWdsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQoY29ybmVyX3Bvc2l0aW9uLDAsMSk7fSBlbHNlIHtnbF9Qb3NpdGlvbj11X21hdHJpeCp2ZWM0KGNpcmNsZV9jZW50ZXIsMCwxKTtpZiAodV9zY2FsZV93aXRoX21hcCkge2dsX1Bvc2l0aW9uLnh5Kz1leHRydWRlKihyYWRpdXMrc3Ryb2tlX3dpZHRoKSp1X2V4dHJ1ZGVfc2NhbGUqdV9jYW1lcmFfdG9fY2VudGVyX2Rpc3RhbmNlO30gZWxzZSB7Z2xfUG9zaXRpb24ueHkrPWV4dHJ1ZGUqKHJhZGl1cytzdHJva2Vfd2lkdGgpKnVfZXh0cnVkZV9zY2FsZSpnbF9Qb3NpdGlvbi53O319bG93cCBmbG9hdCBhbnRpYWxpYXNibHVyPTEuMC91X2RldmljZV9waXhlbF9yYXRpby8ocmFkaXVzK3N0cm9rZV93aWR0aCk7dl9kYXRhPXZlYzMoZXh0cnVkZS54LGV4dHJ1ZGUueSxhbnRpYWxpYXNibHVyKTt9IiksVWU9Y3IoInZvaWQgbWFpbigpIHtnbF9GcmFnQ29sb3I9dmVjNCgxLjApO30iLCJhdHRyaWJ1dGUgdmVjMiBhX3Bvczt1bmlmb3JtIG1hdDQgdV9tYXRyaXg7dm9pZCBtYWluKCkge2dsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQoYV9wb3MsMCwxKTt9IikscWU9Y3IoInVuaWZvcm0gaGlnaHAgZmxvYXQgdV9pbnRlbnNpdHk7dmFyeWluZyB2ZWMyIHZfZXh0cnVkZTtcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgZmxvYXQgd2VpZ2h0XG4jZGVmaW5lIEdBVVNTX0NPRUYgMC4zOTg5NDIyODA0MDE0MzI3XG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBoaWdocCBmbG9hdCB3ZWlnaHRcbmZsb2F0IGQ9LTAuNSozLjAqMy4wKmRvdCh2X2V4dHJ1ZGUsdl9leHRydWRlKTtmbG9hdCB2YWw9d2VpZ2h0KnVfaW50ZW5zaXR5KkdBVVNTX0NPRUYqZXhwKGQpO2dsX0ZyYWdDb2xvcj12ZWM0KHZhbCwxLjAsMS4wLDEuMCk7XG4jaWZkZWYgT1ZFUkRSQVdfSU5TUEVDVE9SXG5nbF9GcmFnQ29sb3I9dmVjNCgxLjApO1xuI2VuZGlmXG59IiwidW5pZm9ybSBtYXQ0IHVfbWF0cml4O3VuaWZvcm0gZmxvYXQgdV9leHRydWRlX3NjYWxlO3VuaWZvcm0gZmxvYXQgdV9vcGFjaXR5O3VuaWZvcm0gZmxvYXQgdV9pbnRlbnNpdHk7YXR0cmlidXRlIHZlYzIgYV9wb3M7dmFyeWluZyB2ZWMyIHZfZXh0cnVkZTtcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgZmxvYXQgd2VpZ2h0XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIG1lZGl1bXAgZmxvYXQgcmFkaXVzXG5jb25zdCBoaWdocCBmbG9hdCBaRVJPPTEuMC8yNTUuMC8xNi4wO1xuI2RlZmluZSBHQVVTU19DT0VGIDAuMzk4OTQyMjgwNDAxNDMyN1xudm9pZCBtYWluKHZvaWQpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGhpZ2hwIGZsb2F0IHdlaWdodFxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCBmbG9hdCByYWRpdXNcbnZlYzIgdW5zY2FsZWRfZXh0cnVkZT12ZWMyKG1vZChhX3BvcywyLjApKjIuMC0xLjApO2Zsb2F0IFM9c3FydCgtMi4wKmxvZyhaRVJPL3dlaWdodC91X2ludGVuc2l0eS9HQVVTU19DT0VGKSkvMy4wO3ZfZXh0cnVkZT1TKnVuc2NhbGVkX2V4dHJ1ZGU7dmVjMiBleHRydWRlPXZfZXh0cnVkZSpyYWRpdXMqdV9leHRydWRlX3NjYWxlO3ZlYzQgcG9zPXZlYzQoZmxvb3IoYV9wb3MqMC41KStleHRydWRlLDAsMSk7Z2xfUG9zaXRpb249dV9tYXRyaXgqcG9zO30iKSxIZT1jcigidW5pZm9ybSBzYW1wbGVyMkQgdV9pbWFnZTt1bmlmb3JtIHNhbXBsZXIyRCB1X2NvbG9yX3JhbXA7dW5pZm9ybSBmbG9hdCB1X29wYWNpdHk7dmFyeWluZyB2ZWMyIHZfcG9zO3ZvaWQgbWFpbigpIHtmbG9hdCB0PXRleHR1cmUyRCh1X2ltYWdlLHZfcG9zKS5yO3ZlYzQgY29sb3I9dGV4dHVyZTJEKHVfY29sb3JfcmFtcCx2ZWMyKHQsMC41KSk7Z2xfRnJhZ0NvbG9yPWNvbG9yKnVfb3BhY2l0eTtcbiNpZmRlZiBPVkVSRFJBV19JTlNQRUNUT1JcbmdsX0ZyYWdDb2xvcj12ZWM0KDAuMCk7XG4jZW5kaWZcbn0iLCJ1bmlmb3JtIG1hdDQgdV9tYXRyaXg7dW5pZm9ybSB2ZWMyIHVfd29ybGQ7YXR0cmlidXRlIHZlYzIgYV9wb3M7dmFyeWluZyB2ZWMyIHZfcG9zO3ZvaWQgbWFpbigpIHtnbF9Qb3NpdGlvbj11X21hdHJpeCp2ZWM0KGFfcG9zKnVfd29ybGQsMCwxKTt2X3Bvcy54PWFfcG9zLng7dl9wb3MueT0xLjAtYV9wb3MueTt9IiksR2U9Y3IoInZhcnlpbmcgZmxvYXQgdl9wbGFjZWQ7dmFyeWluZyBmbG9hdCB2X25vdFVzZWQ7dm9pZCBtYWluKCkge2Zsb2F0IGFscGhhPTAuNTtnbF9GcmFnQ29sb3I9dmVjNCgxLjAsMC4wLDAuMCwxLjApKmFscGhhO2lmICh2X3BsYWNlZCA+IDAuNSkge2dsX0ZyYWdDb2xvcj12ZWM0KDAuMCwwLjAsMS4wLDAuNSkqYWxwaGE7fWlmICh2X25vdFVzZWQgPiAwLjUpIHtnbF9GcmFnQ29sb3IqPS4xO319IiwiYXR0cmlidXRlIHZlYzIgYV9wb3M7YXR0cmlidXRlIHZlYzIgYV9hbmNob3JfcG9zO2F0dHJpYnV0ZSB2ZWMyIGFfZXh0cnVkZTthdHRyaWJ1dGUgdmVjMiBhX3BsYWNlZDthdHRyaWJ1dGUgdmVjMiBhX3NoaWZ0O3VuaWZvcm0gbWF0NCB1X21hdHJpeDt1bmlmb3JtIHZlYzIgdV9leHRydWRlX3NjYWxlO3VuaWZvcm0gZmxvYXQgdV9jYW1lcmFfdG9fY2VudGVyX2Rpc3RhbmNlO3ZhcnlpbmcgZmxvYXQgdl9wbGFjZWQ7dmFyeWluZyBmbG9hdCB2X25vdFVzZWQ7dm9pZCBtYWluKCkge3ZlYzQgcHJvamVjdGVkUG9pbnQ9dV9tYXRyaXgqdmVjNChhX2FuY2hvcl9wb3MsMCwxKTtoaWdocCBmbG9hdCBjYW1lcmFfdG9fYW5jaG9yX2Rpc3RhbmNlPXByb2plY3RlZFBvaW50Lnc7aGlnaHAgZmxvYXQgY29sbGlzaW9uX3BlcnNwZWN0aXZlX3JhdGlvPWNsYW1wKDAuNSswLjUqKHVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZS9jYW1lcmFfdG9fYW5jaG9yX2Rpc3RhbmNlKSwwLjAsNC4wKTtnbF9Qb3NpdGlvbj11X21hdHJpeCp2ZWM0KGFfcG9zLDAuMCwxLjApO2dsX1Bvc2l0aW9uLnh5Kz0oYV9leHRydWRlK2Ffc2hpZnQpKnVfZXh0cnVkZV9zY2FsZSpnbF9Qb3NpdGlvbi53KmNvbGxpc2lvbl9wZXJzcGVjdGl2ZV9yYXRpbzt2X3BsYWNlZD1hX3BsYWNlZC54O3Zfbm90VXNlZD1hX3BsYWNlZC55O30iKSxZZT1jcigidW5pZm9ybSBmbG9hdCB1X292ZXJzY2FsZV9mYWN0b3I7dmFyeWluZyBmbG9hdCB2X3BsYWNlZDt2YXJ5aW5nIGZsb2F0IHZfbm90VXNlZDt2YXJ5aW5nIGZsb2F0IHZfcmFkaXVzO3ZhcnlpbmcgdmVjMiB2X2V4dHJ1ZGU7dmFyeWluZyB2ZWMyIHZfZXh0cnVkZV9zY2FsZTt2b2lkIG1haW4oKSB7ZmxvYXQgYWxwaGE9MC41O3ZlYzQgY29sb3I9dmVjNCgxLjAsMC4wLDAuMCwxLjApKmFscGhhO2lmICh2X3BsYWNlZCA+IDAuNSkge2NvbG9yPXZlYzQoMC4wLDAuMCwxLjAsMC41KSphbHBoYTt9aWYgKHZfbm90VXNlZCA+IDAuNSkge2NvbG9yKj0uMjt9ZmxvYXQgZXh0cnVkZV9zY2FsZV9sZW5ndGg9bGVuZ3RoKHZfZXh0cnVkZV9zY2FsZSk7ZmxvYXQgZXh0cnVkZV9sZW5ndGg9bGVuZ3RoKHZfZXh0cnVkZSkqZXh0cnVkZV9zY2FsZV9sZW5ndGg7ZmxvYXQgc3Ryb2tlX3dpZHRoPTE1LjAqZXh0cnVkZV9zY2FsZV9sZW5ndGgvdV9vdmVyc2NhbGVfZmFjdG9yO2Zsb2F0IHJhZGl1cz12X3JhZGl1cypleHRydWRlX3NjYWxlX2xlbmd0aDtmbG9hdCBkaXN0YW5jZV90b19lZGdlPWFicyhleHRydWRlX2xlbmd0aC1yYWRpdXMpO2Zsb2F0IG9wYWNpdHlfdD1zbW9vdGhzdGVwKC1zdHJva2Vfd2lkdGgsMC4wLC1kaXN0YW5jZV90b19lZGdlKTtnbF9GcmFnQ29sb3I9b3BhY2l0eV90KmNvbG9yO30iLCJhdHRyaWJ1dGUgdmVjMiBhX3BvczthdHRyaWJ1dGUgdmVjMiBhX2FuY2hvcl9wb3M7YXR0cmlidXRlIHZlYzIgYV9leHRydWRlO2F0dHJpYnV0ZSB2ZWMyIGFfcGxhY2VkO3VuaWZvcm0gbWF0NCB1X21hdHJpeDt1bmlmb3JtIHZlYzIgdV9leHRydWRlX3NjYWxlO3VuaWZvcm0gZmxvYXQgdV9jYW1lcmFfdG9fY2VudGVyX2Rpc3RhbmNlO3ZhcnlpbmcgZmxvYXQgdl9wbGFjZWQ7dmFyeWluZyBmbG9hdCB2X25vdFVzZWQ7dmFyeWluZyBmbG9hdCB2X3JhZGl1czt2YXJ5aW5nIHZlYzIgdl9leHRydWRlO3ZhcnlpbmcgdmVjMiB2X2V4dHJ1ZGVfc2NhbGU7dm9pZCBtYWluKCkge3ZlYzQgcHJvamVjdGVkUG9pbnQ9dV9tYXRyaXgqdmVjNChhX2FuY2hvcl9wb3MsMCwxKTtoaWdocCBmbG9hdCBjYW1lcmFfdG9fYW5jaG9yX2Rpc3RhbmNlPXByb2plY3RlZFBvaW50Lnc7aGlnaHAgZmxvYXQgY29sbGlzaW9uX3BlcnNwZWN0aXZlX3JhdGlvPWNsYW1wKDAuNSswLjUqKHVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZS9jYW1lcmFfdG9fYW5jaG9yX2Rpc3RhbmNlKSwwLjAsNC4wKTtnbF9Qb3NpdGlvbj11X21hdHJpeCp2ZWM0KGFfcG9zLDAuMCwxLjApO2hpZ2hwIGZsb2F0IHBhZGRpbmdfZmFjdG9yPTEuMjtnbF9Qb3NpdGlvbi54eSs9YV9leHRydWRlKnVfZXh0cnVkZV9zY2FsZSpwYWRkaW5nX2ZhY3RvcipnbF9Qb3NpdGlvbi53KmNvbGxpc2lvbl9wZXJzcGVjdGl2ZV9yYXRpbzt2X3BsYWNlZD1hX3BsYWNlZC54O3Zfbm90VXNlZD1hX3BsYWNlZC55O3ZfcmFkaXVzPWFicyhhX2V4dHJ1ZGUueSk7dl9leHRydWRlPWFfZXh0cnVkZSpwYWRkaW5nX2ZhY3Rvcjt2X2V4dHJ1ZGVfc2NhbGU9dV9leHRydWRlX3NjYWxlKnVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZSpjb2xsaXNpb25fcGVyc3BlY3RpdmVfcmF0aW87fSIpLFdlPWNyKCJ1bmlmb3JtIGhpZ2hwIHZlYzQgdV9jb2xvcjt2b2lkIG1haW4oKSB7Z2xfRnJhZ0NvbG9yPXVfY29sb3I7fSIsImF0dHJpYnV0ZSB2ZWMyIGFfcG9zO3VuaWZvcm0gbWF0NCB1X21hdHJpeDt2b2lkIG1haW4oKSB7Z2xfUG9zaXRpb249dV9tYXRyaXgqdmVjNChhX3BvcywwLDEpO30iKSxYZT1jcigiI3ByYWdtYSBtYXBib3g6IGRlZmluZSBoaWdocCB2ZWM0IGNvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgb3BhY2l0eVxudm9pZCBtYWluKCkge1xuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgaGlnaHAgdmVjNCBjb2xvclxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBvcGFjaXR5XG5nbF9GcmFnQ29sb3I9Y29sb3Iqb3BhY2l0eTtcbiNpZmRlZiBPVkVSRFJBV19JTlNQRUNUT1JcbmdsX0ZyYWdDb2xvcj12ZWM0KDEuMCk7XG4jZW5kaWZcbn0iLCJhdHRyaWJ1dGUgdmVjMiBhX3Bvczt1bmlmb3JtIG1hdDQgdV9tYXRyaXg7XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGhpZ2hwIHZlYzQgY29sb3JcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBoaWdocCB2ZWM0IGNvbG9yXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IG9wYWNpdHlcbmdsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQoYV9wb3MsMCwxKTt9IiksWmU9Y3IoInZhcnlpbmcgdmVjMiB2X3BvcztcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgdmVjNCBvdXRsaW5lX2NvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgb3BhY2l0eVxudm9pZCBtYWluKCkge1xuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgaGlnaHAgdmVjNCBvdXRsaW5lX2NvbG9yXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IG9wYWNpdHlcbmZsb2F0IGRpc3Q9bGVuZ3RoKHZfcG9zLWdsX0ZyYWdDb29yZC54eSk7ZmxvYXQgYWxwaGE9MS4wLXNtb290aHN0ZXAoMC4wLDEuMCxkaXN0KTtnbF9GcmFnQ29sb3I9b3V0bGluZV9jb2xvciooYWxwaGEqb3BhY2l0eSk7XG4jaWZkZWYgT1ZFUkRSQVdfSU5TUEVDVE9SXG5nbF9GcmFnQ29sb3I9dmVjNCgxLjApO1xuI2VuZGlmXG59IiwiYXR0cmlidXRlIHZlYzIgYV9wb3M7dW5pZm9ybSBtYXQ0IHVfbWF0cml4O3VuaWZvcm0gdmVjMiB1X3dvcmxkO3ZhcnlpbmcgdmVjMiB2X3BvcztcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgdmVjNCBvdXRsaW5lX2NvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgb3BhY2l0eVxudm9pZCBtYWluKCkge1xuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgaGlnaHAgdmVjNCBvdXRsaW5lX2NvbG9yXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IG9wYWNpdHlcbmdsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQoYV9wb3MsMCwxKTt2X3Bvcz0oZ2xfUG9zaXRpb24ueHkvZ2xfUG9zaXRpb24udysxLjApLzIuMCp1X3dvcmxkO30iKSxKZT1jcigidW5pZm9ybSB2ZWMyIHVfdGV4c2l6ZTt1bmlmb3JtIHNhbXBsZXIyRCB1X2ltYWdlO3VuaWZvcm0gZmxvYXQgdV9mYWRlO3ZhcnlpbmcgdmVjMiB2X3Bvc19hO3ZhcnlpbmcgdmVjMiB2X3Bvc19iO3ZhcnlpbmcgdmVjMiB2X3BvcztcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgdmVjNCBwYXR0ZXJuX2Zyb21cbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCB2ZWM0IHBhdHRlcm5fdG9cbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCB2ZWM0IHBhdHRlcm5fZnJvbVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCB2ZWM0IHBhdHRlcm5fdG9cbnZlYzIgcGF0dGVybl90bF9hPXBhdHRlcm5fZnJvbS54eTt2ZWMyIHBhdHRlcm5fYnJfYT1wYXR0ZXJuX2Zyb20uenc7dmVjMiBwYXR0ZXJuX3RsX2I9cGF0dGVybl90by54eTt2ZWMyIHBhdHRlcm5fYnJfYj1wYXR0ZXJuX3RvLnp3O3ZlYzIgaW1hZ2Vjb29yZD1tb2Qodl9wb3NfYSwxLjApO3ZlYzIgcG9zPW1peChwYXR0ZXJuX3RsX2EvdV90ZXhzaXplLHBhdHRlcm5fYnJfYS91X3RleHNpemUsaW1hZ2Vjb29yZCk7dmVjNCBjb2xvcjE9dGV4dHVyZTJEKHVfaW1hZ2UscG9zKTt2ZWMyIGltYWdlY29vcmRfYj1tb2Qodl9wb3NfYiwxLjApO3ZlYzIgcG9zMj1taXgocGF0dGVybl90bF9iL3VfdGV4c2l6ZSxwYXR0ZXJuX2JyX2IvdV90ZXhzaXplLGltYWdlY29vcmRfYik7dmVjNCBjb2xvcjI9dGV4dHVyZTJEKHVfaW1hZ2UscG9zMik7ZmxvYXQgZGlzdD1sZW5ndGgodl9wb3MtZ2xfRnJhZ0Nvb3JkLnh5KTtmbG9hdCBhbHBoYT0xLjAtc21vb3Roc3RlcCgwLjAsMS4wLGRpc3QpO2dsX0ZyYWdDb2xvcj1taXgoY29sb3IxLGNvbG9yMix1X2ZhZGUpKmFscGhhKm9wYWNpdHk7XG4jaWZkZWYgT1ZFUkRSQVdfSU5TUEVDVE9SXG5nbF9GcmFnQ29sb3I9dmVjNCgxLjApO1xuI2VuZGlmXG59IiwidW5pZm9ybSBtYXQ0IHVfbWF0cml4O3VuaWZvcm0gdmVjMiB1X3dvcmxkO3VuaWZvcm0gdmVjMiB1X3BpeGVsX2Nvb3JkX3VwcGVyO3VuaWZvcm0gdmVjMiB1X3BpeGVsX2Nvb3JkX2xvd2VyO3VuaWZvcm0gdmVjNCB1X3NjYWxlO2F0dHJpYnV0ZSB2ZWMyIGFfcG9zO3ZhcnlpbmcgdmVjMiB2X3Bvc19hO3ZhcnlpbmcgdmVjMiB2X3Bvc19iO3ZhcnlpbmcgdmVjMiB2X3BvcztcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgdmVjNCBwYXR0ZXJuX2Zyb21cbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCB2ZWM0IHBhdHRlcm5fdG9cbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCB2ZWM0IHBhdHRlcm5fZnJvbVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCB2ZWM0IHBhdHRlcm5fdG9cbnZlYzIgcGF0dGVybl90bF9hPXBhdHRlcm5fZnJvbS54eTt2ZWMyIHBhdHRlcm5fYnJfYT1wYXR0ZXJuX2Zyb20uenc7dmVjMiBwYXR0ZXJuX3RsX2I9cGF0dGVybl90by54eTt2ZWMyIHBhdHRlcm5fYnJfYj1wYXR0ZXJuX3RvLnp3O2Zsb2F0IHBpeGVsUmF0aW89dV9zY2FsZS54O2Zsb2F0IHRpbGVSYXRpbz11X3NjYWxlLnk7ZmxvYXQgZnJvbVNjYWxlPXVfc2NhbGUuejtmbG9hdCB0b1NjYWxlPXVfc2NhbGUudztnbF9Qb3NpdGlvbj11X21hdHJpeCp2ZWM0KGFfcG9zLDAsMSk7dmVjMiBkaXNwbGF5X3NpemVfYT12ZWMyKChwYXR0ZXJuX2JyX2EueC1wYXR0ZXJuX3RsX2EueCkvcGl4ZWxSYXRpbywocGF0dGVybl9icl9hLnktcGF0dGVybl90bF9hLnkpL3BpeGVsUmF0aW8pO3ZlYzIgZGlzcGxheV9zaXplX2I9dmVjMigocGF0dGVybl9icl9iLngtcGF0dGVybl90bF9iLngpL3BpeGVsUmF0aW8sKHBhdHRlcm5fYnJfYi55LXBhdHRlcm5fdGxfYi55KS9waXhlbFJhdGlvKTt2X3Bvc19hPWdldF9wYXR0ZXJuX3Bvcyh1X3BpeGVsX2Nvb3JkX3VwcGVyLHVfcGl4ZWxfY29vcmRfbG93ZXIsZnJvbVNjYWxlKmRpc3BsYXlfc2l6ZV9hLHRpbGVSYXRpbyxhX3Bvcyk7dl9wb3NfYj1nZXRfcGF0dGVybl9wb3ModV9waXhlbF9jb29yZF91cHBlcix1X3BpeGVsX2Nvb3JkX2xvd2VyLHRvU2NhbGUqZGlzcGxheV9zaXplX2IsdGlsZVJhdGlvLGFfcG9zKTt2X3Bvcz0oZ2xfUG9zaXRpb24ueHkvZ2xfUG9zaXRpb24udysxLjApLzIuMCp1X3dvcmxkO30iKSxLZT1jcigidW5pZm9ybSB2ZWMyIHVfdGV4c2l6ZTt1bmlmb3JtIGZsb2F0IHVfZmFkZTt1bmlmb3JtIHNhbXBsZXIyRCB1X2ltYWdlO3ZhcnlpbmcgdmVjMiB2X3Bvc19hO3ZhcnlpbmcgdmVjMiB2X3Bvc19iO1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IG9wYWNpdHlcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCB2ZWM0IHBhdHRlcm5fZnJvbVxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIHZlYzQgcGF0dGVybl90b1xudm9pZCBtYWluKCkge1xuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIHZlYzQgcGF0dGVybl9mcm9tXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIHZlYzQgcGF0dGVybl90b1xudmVjMiBwYXR0ZXJuX3RsX2E9cGF0dGVybl9mcm9tLnh5O3ZlYzIgcGF0dGVybl9icl9hPXBhdHRlcm5fZnJvbS56dzt2ZWMyIHBhdHRlcm5fdGxfYj1wYXR0ZXJuX3RvLnh5O3ZlYzIgcGF0dGVybl9icl9iPXBhdHRlcm5fdG8uenc7dmVjMiBpbWFnZWNvb3JkPW1vZCh2X3Bvc19hLDEuMCk7dmVjMiBwb3M9bWl4KHBhdHRlcm5fdGxfYS91X3RleHNpemUscGF0dGVybl9icl9hL3VfdGV4c2l6ZSxpbWFnZWNvb3JkKTt2ZWM0IGNvbG9yMT10ZXh0dXJlMkQodV9pbWFnZSxwb3MpO3ZlYzIgaW1hZ2Vjb29yZF9iPW1vZCh2X3Bvc19iLDEuMCk7dmVjMiBwb3MyPW1peChwYXR0ZXJuX3RsX2IvdV90ZXhzaXplLHBhdHRlcm5fYnJfYi91X3RleHNpemUsaW1hZ2Vjb29yZF9iKTt2ZWM0IGNvbG9yMj10ZXh0dXJlMkQodV9pbWFnZSxwb3MyKTtnbF9GcmFnQ29sb3I9bWl4KGNvbG9yMSxjb2xvcjIsdV9mYWRlKSpvcGFjaXR5O1xuI2lmZGVmIE9WRVJEUkFXX0lOU1BFQ1RPUlxuZ2xfRnJhZ0NvbG9yPXZlYzQoMS4wKTtcbiNlbmRpZlxufSIsInVuaWZvcm0gbWF0NCB1X21hdHJpeDt1bmlmb3JtIHZlYzIgdV9waXhlbF9jb29yZF91cHBlcjt1bmlmb3JtIHZlYzIgdV9waXhlbF9jb29yZF9sb3dlcjt1bmlmb3JtIHZlYzQgdV9zY2FsZTthdHRyaWJ1dGUgdmVjMiBhX3Bvczt2YXJ5aW5nIHZlYzIgdl9wb3NfYTt2YXJ5aW5nIHZlYzIgdl9wb3NfYjtcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgdmVjNCBwYXR0ZXJuX2Zyb21cbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCB2ZWM0IHBhdHRlcm5fdG9cbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCB2ZWM0IHBhdHRlcm5fZnJvbVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCB2ZWM0IHBhdHRlcm5fdG9cbnZlYzIgcGF0dGVybl90bF9hPXBhdHRlcm5fZnJvbS54eTt2ZWMyIHBhdHRlcm5fYnJfYT1wYXR0ZXJuX2Zyb20uenc7dmVjMiBwYXR0ZXJuX3RsX2I9cGF0dGVybl90by54eTt2ZWMyIHBhdHRlcm5fYnJfYj1wYXR0ZXJuX3RvLnp3O2Zsb2F0IHBpeGVsUmF0aW89dV9zY2FsZS54O2Zsb2F0IHRpbGVab29tUmF0aW89dV9zY2FsZS55O2Zsb2F0IGZyb21TY2FsZT11X3NjYWxlLno7ZmxvYXQgdG9TY2FsZT11X3NjYWxlLnc7dmVjMiBkaXNwbGF5X3NpemVfYT12ZWMyKChwYXR0ZXJuX2JyX2EueC1wYXR0ZXJuX3RsX2EueCkvcGl4ZWxSYXRpbywocGF0dGVybl9icl9hLnktcGF0dGVybl90bF9hLnkpL3BpeGVsUmF0aW8pO3ZlYzIgZGlzcGxheV9zaXplX2I9dmVjMigocGF0dGVybl9icl9iLngtcGF0dGVybl90bF9iLngpL3BpeGVsUmF0aW8sKHBhdHRlcm5fYnJfYi55LXBhdHRlcm5fdGxfYi55KS9waXhlbFJhdGlvKTtnbF9Qb3NpdGlvbj11X21hdHJpeCp2ZWM0KGFfcG9zLDAsMSk7dl9wb3NfYT1nZXRfcGF0dGVybl9wb3ModV9waXhlbF9jb29yZF91cHBlcix1X3BpeGVsX2Nvb3JkX2xvd2VyLGZyb21TY2FsZSpkaXNwbGF5X3NpemVfYSx0aWxlWm9vbVJhdGlvLGFfcG9zKTt2X3Bvc19iPWdldF9wYXR0ZXJuX3Bvcyh1X3BpeGVsX2Nvb3JkX3VwcGVyLHVfcGl4ZWxfY29vcmRfbG93ZXIsdG9TY2FsZSpkaXNwbGF5X3NpemVfYix0aWxlWm9vbVJhdGlvLGFfcG9zKTt9IiksUWU9Y3IoInZhcnlpbmcgdmVjNCB2X2NvbG9yO3ZvaWQgbWFpbigpIHtnbF9GcmFnQ29sb3I9dl9jb2xvcjtcbiNpZmRlZiBPVkVSRFJBV19JTlNQRUNUT1JcbmdsX0ZyYWdDb2xvcj12ZWM0KDEuMCk7XG4jZW5kaWZcbn0iLCJ1bmlmb3JtIG1hdDQgdV9tYXRyaXg7dW5pZm9ybSB2ZWMzIHVfbGlnaHRjb2xvcjt1bmlmb3JtIGxvd3AgdmVjMyB1X2xpZ2h0cG9zO3VuaWZvcm0gbG93cCBmbG9hdCB1X2xpZ2h0aW50ZW5zaXR5O3VuaWZvcm0gZmxvYXQgdV92ZXJ0aWNhbF9ncmFkaWVudDt1bmlmb3JtIGxvd3AgZmxvYXQgdV9vcGFjaXR5O2F0dHJpYnV0ZSB2ZWMyIGFfcG9zO2F0dHJpYnV0ZSB2ZWM0IGFfbm9ybWFsX2VkO3ZhcnlpbmcgdmVjNCB2X2NvbG9yO1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBoaWdocCBmbG9hdCBiYXNlXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGhpZ2hwIGZsb2F0IGhlaWdodFxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBoaWdocCB2ZWM0IGNvbG9yXG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBoaWdocCBmbG9hdCBiYXNlXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBoaWdocCBmbG9hdCBoZWlnaHRcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGhpZ2hwIHZlYzQgY29sb3JcbnZlYzMgbm9ybWFsPWFfbm9ybWFsX2VkLnh5ejtiYXNlPW1heCgwLjAsYmFzZSk7aGVpZ2h0PW1heCgwLjAsaGVpZ2h0KTtmbG9hdCB0PW1vZChub3JtYWwueCwyLjApO2dsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQoYV9wb3MsdCA+IDAuMCA/IGhlaWdodCA6IGJhc2UsMSk7ZmxvYXQgY29sb3J2YWx1ZT1jb2xvci5yKjAuMjEyNitjb2xvci5nKjAuNzE1Mitjb2xvci5iKjAuMDcyMjt2X2NvbG9yPXZlYzQoMC4wLDAuMCwwLjAsMS4wKTt2ZWM0IGFtYmllbnRsaWdodD12ZWM0KDAuMDMsMC4wMywwLjAzLDEuMCk7Y29sb3IrPWFtYmllbnRsaWdodDtmbG9hdCBkaXJlY3Rpb25hbD1jbGFtcChkb3Qobm9ybWFsLzE2Mzg0LjAsdV9saWdodHBvcyksMC4wLDEuMCk7ZGlyZWN0aW9uYWw9bWl4KCgxLjAtdV9saWdodGludGVuc2l0eSksbWF4KCgxLjAtY29sb3J2YWx1ZSt1X2xpZ2h0aW50ZW5zaXR5KSwxLjApLGRpcmVjdGlvbmFsKTtpZiAobm9ybWFsLnkgIT0wLjApIHtkaXJlY3Rpb25hbCo9KCgxLjAtdV92ZXJ0aWNhbF9ncmFkaWVudCkrKHVfdmVydGljYWxfZ3JhZGllbnQqY2xhbXAoKHQrYmFzZSkqcG93KGhlaWdodC8xNTAuMCwwLjUpLG1peCgwLjcsMC45OCwxLjAtdV9saWdodGludGVuc2l0eSksMS4wKSkpO312X2NvbG9yLnIrPWNsYW1wKGNvbG9yLnIqZGlyZWN0aW9uYWwqdV9saWdodGNvbG9yLnIsbWl4KDAuMCwwLjMsMS4wLXVfbGlnaHRjb2xvci5yKSwxLjApO3ZfY29sb3IuZys9Y2xhbXAoY29sb3IuZypkaXJlY3Rpb25hbCp1X2xpZ2h0Y29sb3IuZyxtaXgoMC4wLDAuMywxLjAtdV9saWdodGNvbG9yLmcpLDEuMCk7dl9jb2xvci5iKz1jbGFtcChjb2xvci5iKmRpcmVjdGlvbmFsKnVfbGlnaHRjb2xvci5iLG1peCgwLjAsMC4zLDEuMC11X2xpZ2h0Y29sb3IuYiksMS4wKTt2X2NvbG9yKj11X29wYWNpdHk7fSIpLCRlPWNyKCJ1bmlmb3JtIHZlYzIgdV90ZXhzaXplO3VuaWZvcm0gZmxvYXQgdV9mYWRlO3VuaWZvcm0gc2FtcGxlcjJEIHVfaW1hZ2U7dmFyeWluZyB2ZWMyIHZfcG9zX2E7dmFyeWluZyB2ZWMyIHZfcG9zX2I7dmFyeWluZyB2ZWM0IHZfbGlnaHRpbmc7XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgYmFzZVxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IGhlaWdodFxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIHZlYzQgcGF0dGVybl9mcm9tXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgdmVjNCBwYXR0ZXJuX3RvXG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IGJhc2VcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgaGVpZ2h0XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIHZlYzQgcGF0dGVybl9mcm9tXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIHZlYzQgcGF0dGVybl90b1xudmVjMiBwYXR0ZXJuX3RsX2E9cGF0dGVybl9mcm9tLnh5O3ZlYzIgcGF0dGVybl9icl9hPXBhdHRlcm5fZnJvbS56dzt2ZWMyIHBhdHRlcm5fdGxfYj1wYXR0ZXJuX3RvLnh5O3ZlYzIgcGF0dGVybl9icl9iPXBhdHRlcm5fdG8uenc7dmVjMiBpbWFnZWNvb3JkPW1vZCh2X3Bvc19hLDEuMCk7dmVjMiBwb3M9bWl4KHBhdHRlcm5fdGxfYS91X3RleHNpemUscGF0dGVybl9icl9hL3VfdGV4c2l6ZSxpbWFnZWNvb3JkKTt2ZWM0IGNvbG9yMT10ZXh0dXJlMkQodV9pbWFnZSxwb3MpO3ZlYzIgaW1hZ2Vjb29yZF9iPW1vZCh2X3Bvc19iLDEuMCk7dmVjMiBwb3MyPW1peChwYXR0ZXJuX3RsX2IvdV90ZXhzaXplLHBhdHRlcm5fYnJfYi91X3RleHNpemUsaW1hZ2Vjb29yZF9iKTt2ZWM0IGNvbG9yMj10ZXh0dXJlMkQodV9pbWFnZSxwb3MyKTt2ZWM0IG1peGVkQ29sb3I9bWl4KGNvbG9yMSxjb2xvcjIsdV9mYWRlKTtnbF9GcmFnQ29sb3I9bWl4ZWRDb2xvcip2X2xpZ2h0aW5nO1xuI2lmZGVmIE9WRVJEUkFXX0lOU1BFQ1RPUlxuZ2xfRnJhZ0NvbG9yPXZlYzQoMS4wKTtcbiNlbmRpZlxufSIsInVuaWZvcm0gbWF0NCB1X21hdHJpeDt1bmlmb3JtIHZlYzIgdV9waXhlbF9jb29yZF91cHBlcjt1bmlmb3JtIHZlYzIgdV9waXhlbF9jb29yZF9sb3dlcjt1bmlmb3JtIGZsb2F0IHVfaGVpZ2h0X2ZhY3Rvcjt1bmlmb3JtIHZlYzQgdV9zY2FsZTt1bmlmb3JtIGZsb2F0IHVfdmVydGljYWxfZ3JhZGllbnQ7dW5pZm9ybSBsb3dwIGZsb2F0IHVfb3BhY2l0eTt1bmlmb3JtIHZlYzMgdV9saWdodGNvbG9yO3VuaWZvcm0gbG93cCB2ZWMzIHVfbGlnaHRwb3M7dW5pZm9ybSBsb3dwIGZsb2F0IHVfbGlnaHRpbnRlbnNpdHk7YXR0cmlidXRlIHZlYzIgYV9wb3M7YXR0cmlidXRlIHZlYzQgYV9ub3JtYWxfZWQ7dmFyeWluZyB2ZWMyIHZfcG9zX2E7dmFyeWluZyB2ZWMyIHZfcG9zX2I7dmFyeWluZyB2ZWM0IHZfbGlnaHRpbmc7XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgYmFzZVxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IGhlaWdodFxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIHZlYzQgcGF0dGVybl9mcm9tXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgdmVjNCBwYXR0ZXJuX3RvXG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IGJhc2VcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgaGVpZ2h0XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIHZlYzQgcGF0dGVybl9mcm9tXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIHZlYzQgcGF0dGVybl90b1xudmVjMiBwYXR0ZXJuX3RsX2E9cGF0dGVybl9mcm9tLnh5O3ZlYzIgcGF0dGVybl9icl9hPXBhdHRlcm5fZnJvbS56dzt2ZWMyIHBhdHRlcm5fdGxfYj1wYXR0ZXJuX3RvLnh5O3ZlYzIgcGF0dGVybl9icl9iPXBhdHRlcm5fdG8uenc7ZmxvYXQgcGl4ZWxSYXRpbz11X3NjYWxlLng7ZmxvYXQgdGlsZVJhdGlvPXVfc2NhbGUueTtmbG9hdCBmcm9tU2NhbGU9dV9zY2FsZS56O2Zsb2F0IHRvU2NhbGU9dV9zY2FsZS53O3ZlYzMgbm9ybWFsPWFfbm9ybWFsX2VkLnh5ejtmbG9hdCBlZGdlZGlzdGFuY2U9YV9ub3JtYWxfZWQudzt2ZWMyIGRpc3BsYXlfc2l6ZV9hPXZlYzIoKHBhdHRlcm5fYnJfYS54LXBhdHRlcm5fdGxfYS54KS9waXhlbFJhdGlvLChwYXR0ZXJuX2JyX2EueS1wYXR0ZXJuX3RsX2EueSkvcGl4ZWxSYXRpbyk7dmVjMiBkaXNwbGF5X3NpemVfYj12ZWMyKChwYXR0ZXJuX2JyX2IueC1wYXR0ZXJuX3RsX2IueCkvcGl4ZWxSYXRpbywocGF0dGVybl9icl9iLnktcGF0dGVybl90bF9iLnkpL3BpeGVsUmF0aW8pO2Jhc2U9bWF4KDAuMCxiYXNlKTtoZWlnaHQ9bWF4KDAuMCxoZWlnaHQpO2Zsb2F0IHQ9bW9kKG5vcm1hbC54LDIuMCk7ZmxvYXQgej10ID4gMC4wID8gaGVpZ2h0IDogYmFzZTtnbF9Qb3NpdGlvbj11X21hdHJpeCp2ZWM0KGFfcG9zLHosMSk7dmVjMiBwb3M9bm9ybWFsLng9PTEuMCAmJiBub3JtYWwueT09MC4wICYmIG5vcm1hbC56PT0xNjM4NC4wXG4/IGFfcG9zXG46IHZlYzIoZWRnZWRpc3RhbmNlLHoqdV9oZWlnaHRfZmFjdG9yKTt2X3Bvc19hPWdldF9wYXR0ZXJuX3Bvcyh1X3BpeGVsX2Nvb3JkX3VwcGVyLHVfcGl4ZWxfY29vcmRfbG93ZXIsZnJvbVNjYWxlKmRpc3BsYXlfc2l6ZV9hLHRpbGVSYXRpbyxwb3MpO3ZfcG9zX2I9Z2V0X3BhdHRlcm5fcG9zKHVfcGl4ZWxfY29vcmRfdXBwZXIsdV9waXhlbF9jb29yZF9sb3dlcix0b1NjYWxlKmRpc3BsYXlfc2l6ZV9iLHRpbGVSYXRpbyxwb3MpO3ZfbGlnaHRpbmc9dmVjNCgwLjAsMC4wLDAuMCwxLjApO2Zsb2F0IGRpcmVjdGlvbmFsPWNsYW1wKGRvdChub3JtYWwvMTYzODMuMCx1X2xpZ2h0cG9zKSwwLjAsMS4wKTtkaXJlY3Rpb25hbD1taXgoKDEuMC11X2xpZ2h0aW50ZW5zaXR5KSxtYXgoKDAuNSt1X2xpZ2h0aW50ZW5zaXR5KSwxLjApLGRpcmVjdGlvbmFsKTtpZiAobm9ybWFsLnkgIT0wLjApIHtkaXJlY3Rpb25hbCo9KCgxLjAtdV92ZXJ0aWNhbF9ncmFkaWVudCkrKHVfdmVydGljYWxfZ3JhZGllbnQqY2xhbXAoKHQrYmFzZSkqcG93KGhlaWdodC8xNTAuMCwwLjUpLG1peCgwLjcsMC45OCwxLjAtdV9saWdodGludGVuc2l0eSksMS4wKSkpO312X2xpZ2h0aW5nLnJnYis9Y2xhbXAoZGlyZWN0aW9uYWwqdV9saWdodGNvbG9yLG1peCh2ZWMzKDAuMCksdmVjMygwLjMpLDEuMC11X2xpZ2h0Y29sb3IpLHZlYzMoMS4wKSk7dl9saWdodGluZyo9dV9vcGFjaXR5O30iKSx0cj1jcigiI2lmZGVmIEdMX0VTXG5wcmVjaXNpb24gaGlnaHAgZmxvYXQ7XG4jZW5kaWZcbnVuaWZvcm0gc2FtcGxlcjJEIHVfaW1hZ2U7dmFyeWluZyB2ZWMyIHZfcG9zO3VuaWZvcm0gdmVjMiB1X2RpbWVuc2lvbjt1bmlmb3JtIGZsb2F0IHVfem9vbTt1bmlmb3JtIGZsb2F0IHVfbWF4em9vbTtmbG9hdCBnZXRFbGV2YXRpb24odmVjMiBjb29yZCxmbG9hdCBiaWFzKSB7dmVjNCBkYXRhPXRleHR1cmUyRCh1X2ltYWdlLGNvb3JkKSoyNTUuMDtyZXR1cm4gKGRhdGEucitkYXRhLmcqMjU2LjArZGF0YS5iKjI1Ni4wKjI1Ni4wKS80LjA7fXZvaWQgbWFpbigpIHt2ZWMyIGVwc2lsb249MS4wL3VfZGltZW5zaW9uO2Zsb2F0IGE9Z2V0RWxldmF0aW9uKHZfcG9zK3ZlYzIoLWVwc2lsb24ueCwtZXBzaWxvbi55KSwwLjApO2Zsb2F0IGI9Z2V0RWxldmF0aW9uKHZfcG9zK3ZlYzIoMCwtZXBzaWxvbi55KSwwLjApO2Zsb2F0IGM9Z2V0RWxldmF0aW9uKHZfcG9zK3ZlYzIoZXBzaWxvbi54LC1lcHNpbG9uLnkpLDAuMCk7ZmxvYXQgZD1nZXRFbGV2YXRpb24odl9wb3MrdmVjMigtZXBzaWxvbi54LDApLDAuMCk7ZmxvYXQgZT1nZXRFbGV2YXRpb24odl9wb3MsMC4wKTtmbG9hdCBmPWdldEVsZXZhdGlvbih2X3Bvcyt2ZWMyKGVwc2lsb24ueCwwKSwwLjApO2Zsb2F0IGc9Z2V0RWxldmF0aW9uKHZfcG9zK3ZlYzIoLWVwc2lsb24ueCxlcHNpbG9uLnkpLDAuMCk7ZmxvYXQgaD1nZXRFbGV2YXRpb24odl9wb3MrdmVjMigwLGVwc2lsb24ueSksMC4wKTtmbG9hdCBpPWdldEVsZXZhdGlvbih2X3Bvcyt2ZWMyKGVwc2lsb24ueCxlcHNpbG9uLnkpLDAuMCk7ZmxvYXQgZXhhZ2dlcmF0aW9uPXVfem9vbSA8IDIuMCA/IDAuNCA6IHVfem9vbSA8IDQuNSA/IDAuMzUgOiAwLjM7dmVjMiBkZXJpdj12ZWMyKChjK2YrZitpKS0oYStkK2QrZyksKGcraCtoK2kpLShhK2IrYitjKSkvIHBvdygyLjAsKHVfem9vbS11X21heHpvb20pKmV4YWdnZXJhdGlvbisxOS4yNTYyLXVfem9vbSk7Z2xfRnJhZ0NvbG9yPWNsYW1wKHZlYzQoZGVyaXYueC8yLjArMC41LGRlcml2LnkvMi4wKzAuNSwxLjAsMS4wKSwwLjAsMS4wKTtcbiNpZmRlZiBPVkVSRFJBV19JTlNQRUNUT1JcbmdsX0ZyYWdDb2xvcj12ZWM0KDEuMCk7XG4jZW5kaWZcbn0iLCJ1bmlmb3JtIG1hdDQgdV9tYXRyaXg7dW5pZm9ybSB2ZWMyIHVfZGltZW5zaW9uO2F0dHJpYnV0ZSB2ZWMyIGFfcG9zO2F0dHJpYnV0ZSB2ZWMyIGFfdGV4dHVyZV9wb3M7dmFyeWluZyB2ZWMyIHZfcG9zO3ZvaWQgbWFpbigpIHtnbF9Qb3NpdGlvbj11X21hdHJpeCp2ZWM0KGFfcG9zLDAsMSk7aGlnaHAgdmVjMiBlcHNpbG9uPTEuMC91X2RpbWVuc2lvbjtmbG9hdCBzY2FsZT0odV9kaW1lbnNpb24ueC0yLjApL3VfZGltZW5zaW9uLng7dl9wb3M9KGFfdGV4dHVyZV9wb3MvODE5Mi4wKSpzY2FsZStlcHNpbG9uO30iKSxlcj1jcigidW5pZm9ybSBzYW1wbGVyMkQgdV9pbWFnZTt2YXJ5aW5nIHZlYzIgdl9wb3M7dW5pZm9ybSB2ZWMyIHVfbGF0cmFuZ2U7dW5pZm9ybSB2ZWMyIHVfbGlnaHQ7dW5pZm9ybSB2ZWM0IHVfc2hhZG93O3VuaWZvcm0gdmVjNCB1X2hpZ2hsaWdodDt1bmlmb3JtIHZlYzQgdV9hY2NlbnQ7XG4jZGVmaW5lIFBJIDMuMTQxNTkyNjUzNTg5NzkzXG52b2lkIG1haW4oKSB7dmVjNCBwaXhlbD10ZXh0dXJlMkQodV9pbWFnZSx2X3Bvcyk7dmVjMiBkZXJpdj0oKHBpeGVsLnJnKjIuMCktMS4wKTtmbG9hdCBzY2FsZUZhY3Rvcj1jb3MocmFkaWFucygodV9sYXRyYW5nZVswXS11X2xhdHJhbmdlWzFdKSooMS4wLXZfcG9zLnkpK3VfbGF0cmFuZ2VbMV0pKTtmbG9hdCBzbG9wZT1hdGFuKDEuMjUqbGVuZ3RoKGRlcml2KS9zY2FsZUZhY3Rvcik7ZmxvYXQgYXNwZWN0PWRlcml2LnggIT0wLjAgPyBhdGFuKGRlcml2LnksLWRlcml2LngpIDogUEkvMi4wKihkZXJpdi55ID4gMC4wID8gMS4wIDotMS4wKTtmbG9hdCBpbnRlbnNpdHk9dV9saWdodC54O2Zsb2F0IGF6aW11dGg9dV9saWdodC55K1BJO2Zsb2F0IGJhc2U9MS44NzUtaW50ZW5zaXR5KjEuNzU7ZmxvYXQgbWF4VmFsdWU9MC41KlBJO2Zsb2F0IHNjYWxlZFNsb3BlPWludGVuc2l0eSAhPTAuNSA/ICgocG93KGJhc2Usc2xvcGUpLTEuMCkvKHBvdyhiYXNlLG1heFZhbHVlKS0xLjApKSptYXhWYWx1ZSA6IHNsb3BlO2Zsb2F0IGFjY2VudD1jb3Moc2NhbGVkU2xvcGUpO3ZlYzQgYWNjZW50X2NvbG9yPSgxLjAtYWNjZW50KSp1X2FjY2VudCpjbGFtcChpbnRlbnNpdHkqMi4wLDAuMCwxLjApO2Zsb2F0IHNoYWRlPWFicyhtb2QoKGFzcGVjdCthemltdXRoKS9QSSswLjUsMi4wKS0xLjApO3ZlYzQgc2hhZGVfY29sb3I9bWl4KHVfc2hhZG93LHVfaGlnaGxpZ2h0LHNoYWRlKSpzaW4oc2NhbGVkU2xvcGUpKmNsYW1wKGludGVuc2l0eSoyLjAsMC4wLDEuMCk7Z2xfRnJhZ0NvbG9yPWFjY2VudF9jb2xvciooMS4wLXNoYWRlX2NvbG9yLmEpK3NoYWRlX2NvbG9yO1xuI2lmZGVmIE9WRVJEUkFXX0lOU1BFQ1RPUlxuZ2xfRnJhZ0NvbG9yPXZlYzQoMS4wKTtcbiNlbmRpZlxufSIsInVuaWZvcm0gbWF0NCB1X21hdHJpeDthdHRyaWJ1dGUgdmVjMiBhX3BvczthdHRyaWJ1dGUgdmVjMiBhX3RleHR1cmVfcG9zO3ZhcnlpbmcgdmVjMiB2X3Bvczt2b2lkIG1haW4oKSB7Z2xfUG9zaXRpb249dV9tYXRyaXgqdmVjNChhX3BvcywwLDEpO3ZfcG9zPWFfdGV4dHVyZV9wb3MvODE5Mi4wO30iKSxycj1jcigidW5pZm9ybSBsb3dwIGZsb2F0IHVfZGV2aWNlX3BpeGVsX3JhdGlvO3ZhcnlpbmcgdmVjMiB2X3dpZHRoMjt2YXJ5aW5nIHZlYzIgdl9ub3JtYWw7dmFyeWluZyBmbG9hdCB2X2dhbW1hX3NjYWxlO1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBoaWdocCB2ZWM0IGNvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgYmx1clxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IG9wYWNpdHlcbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGhpZ2hwIHZlYzQgY29sb3JcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgYmx1clxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBvcGFjaXR5XG5mbG9hdCBkaXN0PWxlbmd0aCh2X25vcm1hbCkqdl93aWR0aDIucztmbG9hdCBibHVyMj0oYmx1cisxLjAvdV9kZXZpY2VfcGl4ZWxfcmF0aW8pKnZfZ2FtbWFfc2NhbGU7ZmxvYXQgYWxwaGE9Y2xhbXAobWluKGRpc3QtKHZfd2lkdGgyLnQtYmx1cjIpLHZfd2lkdGgyLnMtZGlzdCkvYmx1cjIsMC4wLDEuMCk7Z2xfRnJhZ0NvbG9yPWNvbG9yKihhbHBoYSpvcGFjaXR5KTtcbiNpZmRlZiBPVkVSRFJBV19JTlNQRUNUT1JcbmdsX0ZyYWdDb2xvcj12ZWM0KDEuMCk7XG4jZW5kaWZcbn0iLCJcbiNkZWZpbmUgc2NhbGUgMC4wMTU4NzMwMTZcbmF0dHJpYnV0ZSB2ZWMyIGFfcG9zX25vcm1hbDthdHRyaWJ1dGUgdmVjNCBhX2RhdGE7dW5pZm9ybSBtYXQ0IHVfbWF0cml4O3VuaWZvcm0gbWVkaXVtcCBmbG9hdCB1X3JhdGlvO3VuaWZvcm0gdmVjMiB1X3VuaXRzX3RvX3BpeGVsczt1bmlmb3JtIGxvd3AgZmxvYXQgdV9kZXZpY2VfcGl4ZWxfcmF0aW87dmFyeWluZyB2ZWMyIHZfbm9ybWFsO3ZhcnlpbmcgdmVjMiB2X3dpZHRoMjt2YXJ5aW5nIGZsb2F0IHZfZ2FtbWFfc2NhbGU7dmFyeWluZyBoaWdocCBmbG9hdCB2X2xpbmVzb2ZhcjtcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgdmVjNCBjb2xvclxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIG1lZGl1bXAgZmxvYXQgZ2Fwd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvZmZzZXRcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbWVkaXVtcCBmbG9hdCB3aWR0aFxudm9pZCBtYWluKCkge1xuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgaGlnaHAgdmVjNCBjb2xvclxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBibHVyXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IG9wYWNpdHlcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgZmxvYXQgZ2Fwd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb2Zmc2V0XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIGZsb2F0IHdpZHRoXG5mbG9hdCBBTlRJQUxJQVNJTkc9MS4wL3VfZGV2aWNlX3BpeGVsX3JhdGlvLzIuMDt2ZWMyIGFfZXh0cnVkZT1hX2RhdGEueHktMTI4LjA7ZmxvYXQgYV9kaXJlY3Rpb249bW9kKGFfZGF0YS56LDQuMCktMS4wO3ZfbGluZXNvZmFyPShmbG9vcihhX2RhdGEuei80LjApK2FfZGF0YS53KjY0LjApKjIuMDt2ZWMyIHBvcz1mbG9vcihhX3Bvc19ub3JtYWwqMC41KTttZWRpdW1wIHZlYzIgbm9ybWFsPWFfcG9zX25vcm1hbC0yLjAqcG9zO25vcm1hbC55PW5vcm1hbC55KjIuMC0xLjA7dl9ub3JtYWw9bm9ybWFsO2dhcHdpZHRoPWdhcHdpZHRoLzIuMDtmbG9hdCBoYWxmd2lkdGg9d2lkdGgvMi4wO29mZnNldD0tMS4wKm9mZnNldDtmbG9hdCBpbnNldD1nYXB3aWR0aCsoZ2Fwd2lkdGggPiAwLjAgPyBBTlRJQUxJQVNJTkcgOiAwLjApO2Zsb2F0IG91dHNldD1nYXB3aWR0aCtoYWxmd2lkdGgqKGdhcHdpZHRoID4gMC4wID8gMi4wIDogMS4wKSsoaGFsZndpZHRoPT0wLjAgPyAwLjAgOiBBTlRJQUxJQVNJTkcpO21lZGl1bXAgdmVjMiBkaXN0PW91dHNldCphX2V4dHJ1ZGUqc2NhbGU7bWVkaXVtcCBmbG9hdCB1PTAuNSphX2RpcmVjdGlvbjttZWRpdW1wIGZsb2F0IHQ9MS4wLWFicyh1KTttZWRpdW1wIHZlYzIgb2Zmc2V0Mj1vZmZzZXQqYV9leHRydWRlKnNjYWxlKm5vcm1hbC55Km1hdDIodCwtdSx1LHQpO3ZlYzQgcHJvamVjdGVkX2V4dHJ1ZGU9dV9tYXRyaXgqdmVjNChkaXN0L3VfcmF0aW8sMC4wLDAuMCk7Z2xfUG9zaXRpb249dV9tYXRyaXgqdmVjNChwb3Mrb2Zmc2V0Mi91X3JhdGlvLDAuMCwxLjApK3Byb2plY3RlZF9leHRydWRlO2Zsb2F0IGV4dHJ1ZGVfbGVuZ3RoX3dpdGhvdXRfcGVyc3BlY3RpdmU9bGVuZ3RoKGRpc3QpO2Zsb2F0IGV4dHJ1ZGVfbGVuZ3RoX3dpdGhfcGVyc3BlY3RpdmU9bGVuZ3RoKHByb2plY3RlZF9leHRydWRlLnh5L2dsX1Bvc2l0aW9uLncqdV91bml0c190b19waXhlbHMpO3ZfZ2FtbWFfc2NhbGU9ZXh0cnVkZV9sZW5ndGhfd2l0aG91dF9wZXJzcGVjdGl2ZS9leHRydWRlX2xlbmd0aF93aXRoX3BlcnNwZWN0aXZlO3Zfd2lkdGgyPXZlYzIob3V0c2V0LGluc2V0KTt9IiksbnI9Y3IoInVuaWZvcm0gbG93cCBmbG9hdCB1X2RldmljZV9waXhlbF9yYXRpbzt1bmlmb3JtIHNhbXBsZXIyRCB1X2ltYWdlO3ZhcnlpbmcgdmVjMiB2X3dpZHRoMjt2YXJ5aW5nIHZlYzIgdl9ub3JtYWw7dmFyeWluZyBmbG9hdCB2X2dhbW1hX3NjYWxlO3ZhcnlpbmcgaGlnaHAgZmxvYXQgdl9saW5lcHJvZ3Jlc3M7XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgYmx1clxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IG9wYWNpdHlcbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgYmx1clxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBvcGFjaXR5XG5mbG9hdCBkaXN0PWxlbmd0aCh2X25vcm1hbCkqdl93aWR0aDIucztmbG9hdCBibHVyMj0oYmx1cisxLjAvdV9kZXZpY2VfcGl4ZWxfcmF0aW8pKnZfZ2FtbWFfc2NhbGU7ZmxvYXQgYWxwaGE9Y2xhbXAobWluKGRpc3QtKHZfd2lkdGgyLnQtYmx1cjIpLHZfd2lkdGgyLnMtZGlzdCkvYmx1cjIsMC4wLDEuMCk7dmVjNCBjb2xvcj10ZXh0dXJlMkQodV9pbWFnZSx2ZWMyKHZfbGluZXByb2dyZXNzLDAuNSkpO2dsX0ZyYWdDb2xvcj1jb2xvciooYWxwaGEqb3BhY2l0eSk7XG4jaWZkZWYgT1ZFUkRSQVdfSU5TUEVDVE9SXG5nbF9GcmFnQ29sb3I9dmVjNCgxLjApO1xuI2VuZGlmXG59IiwiXG4jZGVmaW5lIE1BWF9MSU5FX0RJU1RBTkNFIDMyNzY3LjBcbiNkZWZpbmUgc2NhbGUgMC4wMTU4NzMwMTZcbmF0dHJpYnV0ZSB2ZWMyIGFfcG9zX25vcm1hbDthdHRyaWJ1dGUgdmVjNCBhX2RhdGE7dW5pZm9ybSBtYXQ0IHVfbWF0cml4O3VuaWZvcm0gbWVkaXVtcCBmbG9hdCB1X3JhdGlvO3VuaWZvcm0gbG93cCBmbG9hdCB1X2RldmljZV9waXhlbF9yYXRpbzt1bmlmb3JtIHZlYzIgdV91bml0c190b19waXhlbHM7dmFyeWluZyB2ZWMyIHZfbm9ybWFsO3ZhcnlpbmcgdmVjMiB2X3dpZHRoMjt2YXJ5aW5nIGZsb2F0IHZfZ2FtbWFfc2NhbGU7dmFyeWluZyBoaWdocCBmbG9hdCB2X2xpbmVwcm9ncmVzcztcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBibHVyXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBtZWRpdW1wIGZsb2F0IGdhcHdpZHRoXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgb2Zmc2V0XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIG1lZGl1bXAgZmxvYXQgd2lkdGhcbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgYmx1clxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIGZsb2F0IGdhcHdpZHRoXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IG9mZnNldFxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCBmbG9hdCB3aWR0aFxuZmxvYXQgQU5USUFMSUFTSU5HPTEuMC91X2RldmljZV9waXhlbF9yYXRpby8yLjA7dmVjMiBhX2V4dHJ1ZGU9YV9kYXRhLnh5LTEyOC4wO2Zsb2F0IGFfZGlyZWN0aW9uPW1vZChhX2RhdGEueiw0LjApLTEuMDt2X2xpbmVwcm9ncmVzcz0oZmxvb3IoYV9kYXRhLnovNC4wKSthX2RhdGEudyo2NC4wKSoyLjAvTUFYX0xJTkVfRElTVEFOQ0U7dmVjMiBwb3M9Zmxvb3IoYV9wb3Nfbm9ybWFsKjAuNSk7bWVkaXVtcCB2ZWMyIG5vcm1hbD1hX3Bvc19ub3JtYWwtMi4wKnBvcztub3JtYWwueT1ub3JtYWwueSoyLjAtMS4wO3Zfbm9ybWFsPW5vcm1hbDtnYXB3aWR0aD1nYXB3aWR0aC8yLjA7ZmxvYXQgaGFsZndpZHRoPXdpZHRoLzIuMDtvZmZzZXQ9LTEuMCpvZmZzZXQ7ZmxvYXQgaW5zZXQ9Z2Fwd2lkdGgrKGdhcHdpZHRoID4gMC4wID8gQU5USUFMSUFTSU5HIDogMC4wKTtmbG9hdCBvdXRzZXQ9Z2Fwd2lkdGgraGFsZndpZHRoKihnYXB3aWR0aCA+IDAuMCA/IDIuMCA6IDEuMCkrKGhhbGZ3aWR0aD09MC4wID8gMC4wIDogQU5USUFMSUFTSU5HKTttZWRpdW1wIHZlYzIgZGlzdD1vdXRzZXQqYV9leHRydWRlKnNjYWxlO21lZGl1bXAgZmxvYXQgdT0wLjUqYV9kaXJlY3Rpb247bWVkaXVtcCBmbG9hdCB0PTEuMC1hYnModSk7bWVkaXVtcCB2ZWMyIG9mZnNldDI9b2Zmc2V0KmFfZXh0cnVkZSpzY2FsZSpub3JtYWwueSptYXQyKHQsLXUsdSx0KTt2ZWM0IHByb2plY3RlZF9leHRydWRlPXVfbWF0cml4KnZlYzQoZGlzdC91X3JhdGlvLDAuMCwwLjApO2dsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQocG9zK29mZnNldDIvdV9yYXRpbywwLjAsMS4wKStwcm9qZWN0ZWRfZXh0cnVkZTtmbG9hdCBleHRydWRlX2xlbmd0aF93aXRob3V0X3BlcnNwZWN0aXZlPWxlbmd0aChkaXN0KTtmbG9hdCBleHRydWRlX2xlbmd0aF93aXRoX3BlcnNwZWN0aXZlPWxlbmd0aChwcm9qZWN0ZWRfZXh0cnVkZS54eS9nbF9Qb3NpdGlvbi53KnVfdW5pdHNfdG9fcGl4ZWxzKTt2X2dhbW1hX3NjYWxlPWV4dHJ1ZGVfbGVuZ3RoX3dpdGhvdXRfcGVyc3BlY3RpdmUvZXh0cnVkZV9sZW5ndGhfd2l0aF9wZXJzcGVjdGl2ZTt2X3dpZHRoMj12ZWMyKG91dHNldCxpbnNldCk7fSIpLGFyPWNyKCJ1bmlmb3JtIGxvd3AgZmxvYXQgdV9kZXZpY2VfcGl4ZWxfcmF0aW87dW5pZm9ybSB2ZWMyIHVfdGV4c2l6ZTt1bmlmb3JtIGZsb2F0IHVfZmFkZTt1bmlmb3JtIG1lZGl1bXAgdmVjNCB1X3NjYWxlO3VuaWZvcm0gc2FtcGxlcjJEIHVfaW1hZ2U7dmFyeWluZyB2ZWMyIHZfbm9ybWFsO3ZhcnlpbmcgdmVjMiB2X3dpZHRoMjt2YXJ5aW5nIGZsb2F0IHZfbGluZXNvZmFyO3ZhcnlpbmcgZmxvYXQgdl9nYW1tYV9zY2FsZTtcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCB2ZWM0IHBhdHRlcm5fZnJvbVxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIHZlYzQgcGF0dGVybl90b1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIHZlYzQgcGF0dGVybl9mcm9tXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIHZlYzQgcGF0dGVybl90b1xuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBibHVyXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IG9wYWNpdHlcbnZlYzIgcGF0dGVybl90bF9hPXBhdHRlcm5fZnJvbS54eTt2ZWMyIHBhdHRlcm5fYnJfYT1wYXR0ZXJuX2Zyb20uenc7dmVjMiBwYXR0ZXJuX3RsX2I9cGF0dGVybl90by54eTt2ZWMyIHBhdHRlcm5fYnJfYj1wYXR0ZXJuX3RvLnp3O2Zsb2F0IHBpeGVsUmF0aW89dV9zY2FsZS54O2Zsb2F0IHRpbGVab29tUmF0aW89dV9zY2FsZS55O2Zsb2F0IGZyb21TY2FsZT11X3NjYWxlLno7ZmxvYXQgdG9TY2FsZT11X3NjYWxlLnc7dmVjMiBkaXNwbGF5X3NpemVfYT12ZWMyKChwYXR0ZXJuX2JyX2EueC1wYXR0ZXJuX3RsX2EueCkvcGl4ZWxSYXRpbywocGF0dGVybl9icl9hLnktcGF0dGVybl90bF9hLnkpL3BpeGVsUmF0aW8pO3ZlYzIgZGlzcGxheV9zaXplX2I9dmVjMigocGF0dGVybl9icl9iLngtcGF0dGVybl90bF9iLngpL3BpeGVsUmF0aW8sKHBhdHRlcm5fYnJfYi55LXBhdHRlcm5fdGxfYi55KS9waXhlbFJhdGlvKTt2ZWMyIHBhdHRlcm5fc2l6ZV9hPXZlYzIoZGlzcGxheV9zaXplX2EueCpmcm9tU2NhbGUvdGlsZVpvb21SYXRpbyxkaXNwbGF5X3NpemVfYS55KTt2ZWMyIHBhdHRlcm5fc2l6ZV9iPXZlYzIoZGlzcGxheV9zaXplX2IueCp0b1NjYWxlL3RpbGVab29tUmF0aW8sZGlzcGxheV9zaXplX2IueSk7ZmxvYXQgZGlzdD1sZW5ndGgodl9ub3JtYWwpKnZfd2lkdGgyLnM7ZmxvYXQgYmx1cjI9KGJsdXIrMS4wL3VfZGV2aWNlX3BpeGVsX3JhdGlvKSp2X2dhbW1hX3NjYWxlO2Zsb2F0IGFscGhhPWNsYW1wKG1pbihkaXN0LSh2X3dpZHRoMi50LWJsdXIyKSx2X3dpZHRoMi5zLWRpc3QpL2JsdXIyLDAuMCwxLjApO2Zsb2F0IHhfYT1tb2Qodl9saW5lc29mYXIvcGF0dGVybl9zaXplX2EueCwxLjApO2Zsb2F0IHhfYj1tb2Qodl9saW5lc29mYXIvcGF0dGVybl9zaXplX2IueCwxLjApO2Zsb2F0IHlfYT0wLjUrKHZfbm9ybWFsLnkqY2xhbXAodl93aWR0aDIucywwLjAsKHBhdHRlcm5fc2l6ZV9hLnkrMi4wKS8yLjApL3BhdHRlcm5fc2l6ZV9hLnkpO2Zsb2F0IHlfYj0wLjUrKHZfbm9ybWFsLnkqY2xhbXAodl93aWR0aDIucywwLjAsKHBhdHRlcm5fc2l6ZV9iLnkrMi4wKS8yLjApL3BhdHRlcm5fc2l6ZV9iLnkpO3ZlYzIgcG9zX2E9bWl4KHBhdHRlcm5fdGxfYS91X3RleHNpemUscGF0dGVybl9icl9hL3VfdGV4c2l6ZSx2ZWMyKHhfYSx5X2EpKTt2ZWMyIHBvc19iPW1peChwYXR0ZXJuX3RsX2IvdV90ZXhzaXplLHBhdHRlcm5fYnJfYi91X3RleHNpemUsdmVjMih4X2IseV9iKSk7dmVjNCBjb2xvcj1taXgodGV4dHVyZTJEKHVfaW1hZ2UscG9zX2EpLHRleHR1cmUyRCh1X2ltYWdlLHBvc19iKSx1X2ZhZGUpO2dsX0ZyYWdDb2xvcj1jb2xvciphbHBoYSpvcGFjaXR5O1xuI2lmZGVmIE9WRVJEUkFXX0lOU1BFQ1RPUlxuZ2xfRnJhZ0NvbG9yPXZlYzQoMS4wKTtcbiNlbmRpZlxufSIsIlxuI2RlZmluZSBzY2FsZSAwLjAxNTg3MzAxNlxuI2RlZmluZSBMSU5FX0RJU1RBTkNFX1NDQUxFIDIuMFxuYXR0cmlidXRlIHZlYzIgYV9wb3Nfbm9ybWFsO2F0dHJpYnV0ZSB2ZWM0IGFfZGF0YTt1bmlmb3JtIG1hdDQgdV9tYXRyaXg7dW5pZm9ybSB2ZWMyIHVfdW5pdHNfdG9fcGl4ZWxzO3VuaWZvcm0gbWVkaXVtcCBmbG9hdCB1X3JhdGlvO3VuaWZvcm0gbG93cCBmbG9hdCB1X2RldmljZV9waXhlbF9yYXRpbzt2YXJ5aW5nIHZlYzIgdl9ub3JtYWw7dmFyeWluZyB2ZWMyIHZfd2lkdGgyO3ZhcnlpbmcgZmxvYXQgdl9saW5lc29mYXI7dmFyeWluZyBmbG9hdCB2X2dhbW1hX3NjYWxlO1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgb2Zmc2V0XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIG1lZGl1bXAgZmxvYXQgZ2Fwd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbWVkaXVtcCBmbG9hdCB3aWR0aFxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIHZlYzQgcGF0dGVybl9mcm9tXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgdmVjNCBwYXR0ZXJuX3RvXG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBvZmZzZXRcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgZmxvYXQgZ2Fwd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgZmxvYXQgd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgdmVjNCBwYXR0ZXJuX2Zyb21cbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgdmVjNCBwYXR0ZXJuX3RvXG5mbG9hdCBBTlRJQUxJQVNJTkc9MS4wL3VfZGV2aWNlX3BpeGVsX3JhdGlvLzIuMDt2ZWMyIGFfZXh0cnVkZT1hX2RhdGEueHktMTI4LjA7ZmxvYXQgYV9kaXJlY3Rpb249bW9kKGFfZGF0YS56LDQuMCktMS4wO2Zsb2F0IGFfbGluZXNvZmFyPShmbG9vcihhX2RhdGEuei80LjApK2FfZGF0YS53KjY0LjApKkxJTkVfRElTVEFOQ0VfU0NBTEU7dmVjMiBwb3M9Zmxvb3IoYV9wb3Nfbm9ybWFsKjAuNSk7bWVkaXVtcCB2ZWMyIG5vcm1hbD1hX3Bvc19ub3JtYWwtMi4wKnBvcztub3JtYWwueT1ub3JtYWwueSoyLjAtMS4wO3Zfbm9ybWFsPW5vcm1hbDtnYXB3aWR0aD1nYXB3aWR0aC8yLjA7ZmxvYXQgaGFsZndpZHRoPXdpZHRoLzIuMDtvZmZzZXQ9LTEuMCpvZmZzZXQ7ZmxvYXQgaW5zZXQ9Z2Fwd2lkdGgrKGdhcHdpZHRoID4gMC4wID8gQU5USUFMSUFTSU5HIDogMC4wKTtmbG9hdCBvdXRzZXQ9Z2Fwd2lkdGgraGFsZndpZHRoKihnYXB3aWR0aCA+IDAuMCA/IDIuMCA6IDEuMCkrKGhhbGZ3aWR0aD09MC4wID8gMC4wIDogQU5USUFMSUFTSU5HKTttZWRpdW1wIHZlYzIgZGlzdD1vdXRzZXQqYV9leHRydWRlKnNjYWxlO21lZGl1bXAgZmxvYXQgdT0wLjUqYV9kaXJlY3Rpb247bWVkaXVtcCBmbG9hdCB0PTEuMC1hYnModSk7bWVkaXVtcCB2ZWMyIG9mZnNldDI9b2Zmc2V0KmFfZXh0cnVkZSpzY2FsZSpub3JtYWwueSptYXQyKHQsLXUsdSx0KTt2ZWM0IHByb2plY3RlZF9leHRydWRlPXVfbWF0cml4KnZlYzQoZGlzdC91X3JhdGlvLDAuMCwwLjApO2dsX1Bvc2l0aW9uPXVfbWF0cml4KnZlYzQocG9zK29mZnNldDIvdV9yYXRpbywwLjAsMS4wKStwcm9qZWN0ZWRfZXh0cnVkZTtmbG9hdCBleHRydWRlX2xlbmd0aF93aXRob3V0X3BlcnNwZWN0aXZlPWxlbmd0aChkaXN0KTtmbG9hdCBleHRydWRlX2xlbmd0aF93aXRoX3BlcnNwZWN0aXZlPWxlbmd0aChwcm9qZWN0ZWRfZXh0cnVkZS54eS9nbF9Qb3NpdGlvbi53KnVfdW5pdHNfdG9fcGl4ZWxzKTt2X2dhbW1hX3NjYWxlPWV4dHJ1ZGVfbGVuZ3RoX3dpdGhvdXRfcGVyc3BlY3RpdmUvZXh0cnVkZV9sZW5ndGhfd2l0aF9wZXJzcGVjdGl2ZTt2X2xpbmVzb2Zhcj1hX2xpbmVzb2Zhcjt2X3dpZHRoMj12ZWMyKG91dHNldCxpbnNldCk7fSIpLGlyPWNyKCJ1bmlmb3JtIGxvd3AgZmxvYXQgdV9kZXZpY2VfcGl4ZWxfcmF0aW87dW5pZm9ybSBzYW1wbGVyMkQgdV9pbWFnZTt1bmlmb3JtIGZsb2F0IHVfc2RmZ2FtbWE7dW5pZm9ybSBmbG9hdCB1X21peDt2YXJ5aW5nIHZlYzIgdl9ub3JtYWw7dmFyeWluZyB2ZWMyIHZfd2lkdGgyO3ZhcnlpbmcgdmVjMiB2X3RleF9hO3ZhcnlpbmcgdmVjMiB2X3RleF9iO3ZhcnlpbmcgZmxvYXQgdl9nYW1tYV9zY2FsZTtcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgdmVjNCBjb2xvclxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIG1lZGl1bXAgZmxvYXQgd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBmbG9vcndpZHRoXG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBoaWdocCB2ZWM0IGNvbG9yXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IGJsdXJcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbWVkaXVtcCBmbG9hdCB3aWR0aFxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBmbG9vcndpZHRoXG5mbG9hdCBkaXN0PWxlbmd0aCh2X25vcm1hbCkqdl93aWR0aDIucztmbG9hdCBibHVyMj0oYmx1cisxLjAvdV9kZXZpY2VfcGl4ZWxfcmF0aW8pKnZfZ2FtbWFfc2NhbGU7ZmxvYXQgYWxwaGE9Y2xhbXAobWluKGRpc3QtKHZfd2lkdGgyLnQtYmx1cjIpLHZfd2lkdGgyLnMtZGlzdCkvYmx1cjIsMC4wLDEuMCk7ZmxvYXQgc2RmZGlzdF9hPXRleHR1cmUyRCh1X2ltYWdlLHZfdGV4X2EpLmE7ZmxvYXQgc2RmZGlzdF9iPXRleHR1cmUyRCh1X2ltYWdlLHZfdGV4X2IpLmE7ZmxvYXQgc2RmZGlzdD1taXgoc2RmZGlzdF9hLHNkZmRpc3RfYix1X21peCk7YWxwaGEqPXNtb290aHN0ZXAoMC41LXVfc2RmZ2FtbWEvZmxvb3J3aWR0aCwwLjUrdV9zZGZnYW1tYS9mbG9vcndpZHRoLHNkZmRpc3QpO2dsX0ZyYWdDb2xvcj1jb2xvciooYWxwaGEqb3BhY2l0eSk7XG4jaWZkZWYgT1ZFUkRSQVdfSU5TUEVDVE9SXG5nbF9GcmFnQ29sb3I9dmVjNCgxLjApO1xuI2VuZGlmXG59IiwiXG4jZGVmaW5lIHNjYWxlIDAuMDE1ODczMDE2XG4jZGVmaW5lIExJTkVfRElTVEFOQ0VfU0NBTEUgMi4wXG5hdHRyaWJ1dGUgdmVjMiBhX3Bvc19ub3JtYWw7YXR0cmlidXRlIHZlYzQgYV9kYXRhO3VuaWZvcm0gbWF0NCB1X21hdHJpeDt1bmlmb3JtIG1lZGl1bXAgZmxvYXQgdV9yYXRpbzt1bmlmb3JtIGxvd3AgZmxvYXQgdV9kZXZpY2VfcGl4ZWxfcmF0aW87dW5pZm9ybSB2ZWMyIHVfcGF0dGVybnNjYWxlX2E7dW5pZm9ybSBmbG9hdCB1X3RleF95X2E7dW5pZm9ybSB2ZWMyIHVfcGF0dGVybnNjYWxlX2I7dW5pZm9ybSBmbG9hdCB1X3RleF95X2I7dW5pZm9ybSB2ZWMyIHVfdW5pdHNfdG9fcGl4ZWxzO3ZhcnlpbmcgdmVjMiB2X25vcm1hbDt2YXJ5aW5nIHZlYzIgdl93aWR0aDI7dmFyeWluZyB2ZWMyIHZfdGV4X2E7dmFyeWluZyB2ZWMyIHZfdGV4X2I7dmFyeWluZyBmbG9hdCB2X2dhbW1hX3NjYWxlO1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBoaWdocCB2ZWM0IGNvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgYmx1clxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IG9wYWNpdHlcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbWVkaXVtcCBmbG9hdCBnYXB3aWR0aFxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IG9mZnNldFxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBtZWRpdW1wIGZsb2F0IHdpZHRoXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgZmxvb3J3aWR0aFxudm9pZCBtYWluKCkge1xuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgaGlnaHAgdmVjNCBjb2xvclxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBibHVyXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IG9wYWNpdHlcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIG1lZGl1bXAgZmxvYXQgZ2Fwd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb2Zmc2V0XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBtZWRpdW1wIGZsb2F0IHdpZHRoXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IGZsb29yd2lkdGhcbmZsb2F0IEFOVElBTElBU0lORz0xLjAvdV9kZXZpY2VfcGl4ZWxfcmF0aW8vMi4wO3ZlYzIgYV9leHRydWRlPWFfZGF0YS54eS0xMjguMDtmbG9hdCBhX2RpcmVjdGlvbj1tb2QoYV9kYXRhLnosNC4wKS0xLjA7ZmxvYXQgYV9saW5lc29mYXI9KGZsb29yKGFfZGF0YS56LzQuMCkrYV9kYXRhLncqNjQuMCkqTElORV9ESVNUQU5DRV9TQ0FMRTt2ZWMyIHBvcz1mbG9vcihhX3Bvc19ub3JtYWwqMC41KTttZWRpdW1wIHZlYzIgbm9ybWFsPWFfcG9zX25vcm1hbC0yLjAqcG9zO25vcm1hbC55PW5vcm1hbC55KjIuMC0xLjA7dl9ub3JtYWw9bm9ybWFsO2dhcHdpZHRoPWdhcHdpZHRoLzIuMDtmbG9hdCBoYWxmd2lkdGg9d2lkdGgvMi4wO29mZnNldD0tMS4wKm9mZnNldDtmbG9hdCBpbnNldD1nYXB3aWR0aCsoZ2Fwd2lkdGggPiAwLjAgPyBBTlRJQUxJQVNJTkcgOiAwLjApO2Zsb2F0IG91dHNldD1nYXB3aWR0aCtoYWxmd2lkdGgqKGdhcHdpZHRoID4gMC4wID8gMi4wIDogMS4wKSsoaGFsZndpZHRoPT0wLjAgPyAwLjAgOiBBTlRJQUxJQVNJTkcpO21lZGl1bXAgdmVjMiBkaXN0PW91dHNldCphX2V4dHJ1ZGUqc2NhbGU7bWVkaXVtcCBmbG9hdCB1PTAuNSphX2RpcmVjdGlvbjttZWRpdW1wIGZsb2F0IHQ9MS4wLWFicyh1KTttZWRpdW1wIHZlYzIgb2Zmc2V0Mj1vZmZzZXQqYV9leHRydWRlKnNjYWxlKm5vcm1hbC55Km1hdDIodCwtdSx1LHQpO3ZlYzQgcHJvamVjdGVkX2V4dHJ1ZGU9dV9tYXRyaXgqdmVjNChkaXN0L3VfcmF0aW8sMC4wLDAuMCk7Z2xfUG9zaXRpb249dV9tYXRyaXgqdmVjNChwb3Mrb2Zmc2V0Mi91X3JhdGlvLDAuMCwxLjApK3Byb2plY3RlZF9leHRydWRlO2Zsb2F0IGV4dHJ1ZGVfbGVuZ3RoX3dpdGhvdXRfcGVyc3BlY3RpdmU9bGVuZ3RoKGRpc3QpO2Zsb2F0IGV4dHJ1ZGVfbGVuZ3RoX3dpdGhfcGVyc3BlY3RpdmU9bGVuZ3RoKHByb2plY3RlZF9leHRydWRlLnh5L2dsX1Bvc2l0aW9uLncqdV91bml0c190b19waXhlbHMpO3ZfZ2FtbWFfc2NhbGU9ZXh0cnVkZV9sZW5ndGhfd2l0aG91dF9wZXJzcGVjdGl2ZS9leHRydWRlX2xlbmd0aF93aXRoX3BlcnNwZWN0aXZlO3ZfdGV4X2E9dmVjMihhX2xpbmVzb2Zhcip1X3BhdHRlcm5zY2FsZV9hLngvZmxvb3J3aWR0aCxub3JtYWwueSp1X3BhdHRlcm5zY2FsZV9hLnkrdV90ZXhfeV9hKTt2X3RleF9iPXZlYzIoYV9saW5lc29mYXIqdV9wYXR0ZXJuc2NhbGVfYi54L2Zsb29yd2lkdGgsbm9ybWFsLnkqdV9wYXR0ZXJuc2NhbGVfYi55K3VfdGV4X3lfYik7dl93aWR0aDI9dmVjMihvdXRzZXQsaW5zZXQpO30iKSxvcj1jcigidW5pZm9ybSBmbG9hdCB1X2ZhZGVfdDt1bmlmb3JtIGZsb2F0IHVfb3BhY2l0eTt1bmlmb3JtIHNhbXBsZXIyRCB1X2ltYWdlMDt1bmlmb3JtIHNhbXBsZXIyRCB1X2ltYWdlMTt2YXJ5aW5nIHZlYzIgdl9wb3MwO3ZhcnlpbmcgdmVjMiB2X3BvczE7dW5pZm9ybSBmbG9hdCB1X2JyaWdodG5lc3NfbG93O3VuaWZvcm0gZmxvYXQgdV9icmlnaHRuZXNzX2hpZ2g7dW5pZm9ybSBmbG9hdCB1X3NhdHVyYXRpb25fZmFjdG9yO3VuaWZvcm0gZmxvYXQgdV9jb250cmFzdF9mYWN0b3I7dW5pZm9ybSB2ZWMzIHVfc3Bpbl93ZWlnaHRzO3ZvaWQgbWFpbigpIHt2ZWM0IGNvbG9yMD10ZXh0dXJlMkQodV9pbWFnZTAsdl9wb3MwKTt2ZWM0IGNvbG9yMT10ZXh0dXJlMkQodV9pbWFnZTEsdl9wb3MxKTtpZiAoY29sb3IwLmEgPiAwLjApIHtjb2xvcjAucmdiPWNvbG9yMC5yZ2IvY29sb3IwLmE7fWlmIChjb2xvcjEuYSA+IDAuMCkge2NvbG9yMS5yZ2I9Y29sb3IxLnJnYi9jb2xvcjEuYTt9dmVjNCBjb2xvcj1taXgoY29sb3IwLGNvbG9yMSx1X2ZhZGVfdCk7Y29sb3IuYSo9dV9vcGFjaXR5O3ZlYzMgcmdiPWNvbG9yLnJnYjtyZ2I9dmVjMyhkb3QocmdiLHVfc3Bpbl93ZWlnaHRzLnh5eiksZG90KHJnYix1X3NwaW5fd2VpZ2h0cy56eHkpLGRvdChyZ2IsdV9zcGluX3dlaWdodHMueXp4KSk7ZmxvYXQgYXZlcmFnZT0oY29sb3Iucitjb2xvci5nK2NvbG9yLmIpLzMuMDtyZ2IrPShhdmVyYWdlLXJnYikqdV9zYXR1cmF0aW9uX2ZhY3RvcjtyZ2I9KHJnYi0wLjUpKnVfY29udHJhc3RfZmFjdG9yKzAuNTt2ZWMzIHVfaGlnaF92ZWM9dmVjMyh1X2JyaWdodG5lc3NfbG93LHVfYnJpZ2h0bmVzc19sb3csdV9icmlnaHRuZXNzX2xvdyk7dmVjMyB1X2xvd192ZWM9dmVjMyh1X2JyaWdodG5lc3NfaGlnaCx1X2JyaWdodG5lc3NfaGlnaCx1X2JyaWdodG5lc3NfaGlnaCk7Z2xfRnJhZ0NvbG9yPXZlYzQobWl4KHVfaGlnaF92ZWMsdV9sb3dfdmVjLHJnYikqY29sb3IuYSxjb2xvci5hKTtcbiNpZmRlZiBPVkVSRFJBV19JTlNQRUNUT1JcbmdsX0ZyYWdDb2xvcj12ZWM0KDEuMCk7XG4jZW5kaWZcbn0iLCJ1bmlmb3JtIG1hdDQgdV9tYXRyaXg7dW5pZm9ybSB2ZWMyIHVfdGxfcGFyZW50O3VuaWZvcm0gZmxvYXQgdV9zY2FsZV9wYXJlbnQ7dW5pZm9ybSBmbG9hdCB1X2J1ZmZlcl9zY2FsZTthdHRyaWJ1dGUgdmVjMiBhX3BvczthdHRyaWJ1dGUgdmVjMiBhX3RleHR1cmVfcG9zO3ZhcnlpbmcgdmVjMiB2X3BvczA7dmFyeWluZyB2ZWMyIHZfcG9zMTt2b2lkIG1haW4oKSB7Z2xfUG9zaXRpb249dV9tYXRyaXgqdmVjNChhX3BvcywwLDEpO3ZfcG9zMD0oKChhX3RleHR1cmVfcG9zLzgxOTIuMCktMC41KS91X2J1ZmZlcl9zY2FsZSApKzAuNTt2X3BvczE9KHZfcG9zMCp1X3NjYWxlX3BhcmVudCkrdV90bF9wYXJlbnQ7fSIpLHNyPWNyKCJ1bmlmb3JtIHNhbXBsZXIyRCB1X3RleHR1cmU7dmFyeWluZyB2ZWMyIHZfdGV4O3ZhcnlpbmcgZmxvYXQgdl9mYWRlX29wYWNpdHk7XG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgb3BhY2l0eVxudm9pZCBtYWluKCkge1xuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBvcGFjaXR5XG5sb3dwIGZsb2F0IGFscGhhPW9wYWNpdHkqdl9mYWRlX29wYWNpdHk7Z2xfRnJhZ0NvbG9yPXRleHR1cmUyRCh1X3RleHR1cmUsdl90ZXgpKmFscGhhO1xuI2lmZGVmIE9WRVJEUkFXX0lOU1BFQ1RPUlxuZ2xfRnJhZ0NvbG9yPXZlYzQoMS4wKTtcbiNlbmRpZlxufSIsImNvbnN0IGZsb2F0IFBJPTMuMTQxNTkyNjUzNTg5NzkzO2F0dHJpYnV0ZSB2ZWM0IGFfcG9zX29mZnNldDthdHRyaWJ1dGUgdmVjNCBhX2RhdGE7YXR0cmlidXRlIHZlYzMgYV9wcm9qZWN0ZWRfcG9zO2F0dHJpYnV0ZSBmbG9hdCBhX2ZhZGVfb3BhY2l0eTt1bmlmb3JtIGJvb2wgdV9pc19zaXplX3pvb21fY29uc3RhbnQ7dW5pZm9ybSBib29sIHVfaXNfc2l6ZV9mZWF0dXJlX2NvbnN0YW50O3VuaWZvcm0gaGlnaHAgZmxvYXQgdV9zaXplX3Q7dW5pZm9ybSBoaWdocCBmbG9hdCB1X3NpemU7dW5pZm9ybSBoaWdocCBmbG9hdCB1X2NhbWVyYV90b19jZW50ZXJfZGlzdGFuY2U7dW5pZm9ybSBoaWdocCBmbG9hdCB1X3BpdGNoO3VuaWZvcm0gYm9vbCB1X3JvdGF0ZV9zeW1ib2w7dW5pZm9ybSBoaWdocCBmbG9hdCB1X2FzcGVjdF9yYXRpbzt1bmlmb3JtIGZsb2F0IHVfZmFkZV9jaGFuZ2U7dW5pZm9ybSBtYXQ0IHVfbWF0cml4O3VuaWZvcm0gbWF0NCB1X2xhYmVsX3BsYW5lX21hdHJpeDt1bmlmb3JtIG1hdDQgdV9jb29yZF9tYXRyaXg7dW5pZm9ybSBib29sIHVfaXNfdGV4dDt1bmlmb3JtIGJvb2wgdV9waXRjaF93aXRoX21hcDt1bmlmb3JtIHZlYzIgdV90ZXhzaXplO3ZhcnlpbmcgdmVjMiB2X3RleDt2YXJ5aW5nIGZsb2F0IHZfZmFkZV9vcGFjaXR5O1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IG9wYWNpdHlcbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgb3BhY2l0eVxudmVjMiBhX3Bvcz1hX3Bvc19vZmZzZXQueHk7dmVjMiBhX29mZnNldD1hX3Bvc19vZmZzZXQuenc7dmVjMiBhX3RleD1hX2RhdGEueHk7dmVjMiBhX3NpemU9YV9kYXRhLnp3O2hpZ2hwIGZsb2F0IHNlZ21lbnRfYW5nbGU9LWFfcHJvamVjdGVkX3Bvc1syXTtmbG9hdCBzaXplO2lmICghdV9pc19zaXplX3pvb21fY29uc3RhbnQgJiYgIXVfaXNfc2l6ZV9mZWF0dXJlX2NvbnN0YW50KSB7c2l6ZT1taXgoYV9zaXplWzBdLGFfc2l6ZVsxXSx1X3NpemVfdCkvMjU2LjA7fSBlbHNlIGlmICh1X2lzX3NpemVfem9vbV9jb25zdGFudCAmJiAhdV9pc19zaXplX2ZlYXR1cmVfY29uc3RhbnQpIHtzaXplPWFfc2l6ZVswXS8yNTYuMDt9IGVsc2UgaWYgKCF1X2lzX3NpemVfem9vbV9jb25zdGFudCAmJiB1X2lzX3NpemVfZmVhdHVyZV9jb25zdGFudCkge3NpemU9dV9zaXplO30gZWxzZSB7c2l6ZT11X3NpemU7fXZlYzQgcHJvamVjdGVkUG9pbnQ9dV9tYXRyaXgqdmVjNChhX3BvcywwLDEpO2hpZ2hwIGZsb2F0IGNhbWVyYV90b19hbmNob3JfZGlzdGFuY2U9cHJvamVjdGVkUG9pbnQudztoaWdocCBmbG9hdCBkaXN0YW5jZV9yYXRpbz11X3BpdGNoX3dpdGhfbWFwID9cbmNhbWVyYV90b19hbmNob3JfZGlzdGFuY2UvdV9jYW1lcmFfdG9fY2VudGVyX2Rpc3RhbmNlIDpcbnVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZS9jYW1lcmFfdG9fYW5jaG9yX2Rpc3RhbmNlO2hpZ2hwIGZsb2F0IHBlcnNwZWN0aXZlX3JhdGlvPWNsYW1wKDAuNSswLjUqZGlzdGFuY2VfcmF0aW8sMC4wLDQuMCk7c2l6ZSo9cGVyc3BlY3RpdmVfcmF0aW87ZmxvYXQgZm9udFNjYWxlPXVfaXNfdGV4dCA/IHNpemUvMjQuMCA6IHNpemU7aGlnaHAgZmxvYXQgc3ltYm9sX3JvdGF0aW9uPTAuMDtpZiAodV9yb3RhdGVfc3ltYm9sKSB7dmVjNCBvZmZzZXRQcm9qZWN0ZWRQb2ludD11X21hdHJpeCp2ZWM0KGFfcG9zK3ZlYzIoMSwwKSwwLDEpO3ZlYzIgYT1wcm9qZWN0ZWRQb2ludC54eS9wcm9qZWN0ZWRQb2ludC53O3ZlYzIgYj1vZmZzZXRQcm9qZWN0ZWRQb2ludC54eS9vZmZzZXRQcm9qZWN0ZWRQb2ludC53O3N5bWJvbF9yb3RhdGlvbj1hdGFuKChiLnktYS55KS91X2FzcGVjdF9yYXRpbyxiLngtYS54KTt9aGlnaHAgZmxvYXQgYW5nbGVfc2luPXNpbihzZWdtZW50X2FuZ2xlK3N5bWJvbF9yb3RhdGlvbik7aGlnaHAgZmxvYXQgYW5nbGVfY29zPWNvcyhzZWdtZW50X2FuZ2xlK3N5bWJvbF9yb3RhdGlvbik7bWF0MiByb3RhdGlvbl9tYXRyaXg9bWF0MihhbmdsZV9jb3MsLTEuMCphbmdsZV9zaW4sYW5nbGVfc2luLGFuZ2xlX2Nvcyk7dmVjNCBwcm9qZWN0ZWRfcG9zPXVfbGFiZWxfcGxhbmVfbWF0cml4KnZlYzQoYV9wcm9qZWN0ZWRfcG9zLnh5LDAuMCwxLjApO2dsX1Bvc2l0aW9uPXVfY29vcmRfbWF0cml4KnZlYzQocHJvamVjdGVkX3Bvcy54eS9wcm9qZWN0ZWRfcG9zLncrcm90YXRpb25fbWF0cml4KihhX29mZnNldC8zMi4wKmZvbnRTY2FsZSksMC4wLDEuMCk7dl90ZXg9YV90ZXgvdV90ZXhzaXplO3ZlYzIgZmFkZV9vcGFjaXR5PXVucGFja19vcGFjaXR5KGFfZmFkZV9vcGFjaXR5KTtmbG9hdCBmYWRlX2NoYW5nZT1mYWRlX29wYWNpdHlbMV0gPiAwLjUgPyB1X2ZhZGVfY2hhbmdlIDotdV9mYWRlX2NoYW5nZTt2X2ZhZGVfb3BhY2l0eT1tYXgoMC4wLG1pbigxLjAsZmFkZV9vcGFjaXR5WzBdK2ZhZGVfY2hhbmdlKSk7fSIpLGxyPWNyKCIjZGVmaW5lIFNERl9QWCA4LjBcbnVuaWZvcm0gYm9vbCB1X2lzX2hhbG87dW5pZm9ybSBzYW1wbGVyMkQgdV90ZXh0dXJlO3VuaWZvcm0gaGlnaHAgZmxvYXQgdV9nYW1tYV9zY2FsZTt1bmlmb3JtIGxvd3AgZmxvYXQgdV9kZXZpY2VfcGl4ZWxfcmF0aW87dW5pZm9ybSBib29sIHVfaXNfdGV4dDt2YXJ5aW5nIHZlYzIgdl9kYXRhMDt2YXJ5aW5nIHZlYzMgdl9kYXRhMTtcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgdmVjNCBmaWxsX2NvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGhpZ2hwIHZlYzQgaGFsb19jb2xvclxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IG9wYWNpdHlcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBoYWxvX3dpZHRoXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgaGFsb19ibHVyXG52b2lkIG1haW4oKSB7XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBoaWdocCB2ZWM0IGZpbGxfY29sb3JcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGhpZ2hwIHZlYzQgaGFsb19jb2xvclxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBvcGFjaXR5XG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IGhhbG9fd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgaGFsb19ibHVyXG5mbG9hdCBFREdFX0dBTU1BPTAuMTA1L3VfZGV2aWNlX3BpeGVsX3JhdGlvO3ZlYzIgdGV4PXZfZGF0YTAueHk7ZmxvYXQgZ2FtbWFfc2NhbGU9dl9kYXRhMS54O2Zsb2F0IHNpemU9dl9kYXRhMS55O2Zsb2F0IGZhZGVfb3BhY2l0eT12X2RhdGExWzJdO2Zsb2F0IGZvbnRTY2FsZT11X2lzX3RleHQgPyBzaXplLzI0LjAgOiBzaXplO2xvd3AgdmVjNCBjb2xvcj1maWxsX2NvbG9yO2hpZ2hwIGZsb2F0IGdhbW1hPUVER0VfR0FNTUEvKGZvbnRTY2FsZSp1X2dhbW1hX3NjYWxlKTtsb3dwIGZsb2F0IGJ1ZmY9KDI1Ni4wLTY0LjApLzI1Ni4wO2lmICh1X2lzX2hhbG8pIHtjb2xvcj1oYWxvX2NvbG9yO2dhbW1hPShoYWxvX2JsdXIqMS4xOS9TREZfUFgrRURHRV9HQU1NQSkvKGZvbnRTY2FsZSp1X2dhbW1hX3NjYWxlKTtidWZmPSg2LjAtaGFsb193aWR0aC9mb250U2NhbGUpL1NERl9QWDt9bG93cCBmbG9hdCBkaXN0PXRleHR1cmUyRCh1X3RleHR1cmUsdGV4KS5hO2hpZ2hwIGZsb2F0IGdhbW1hX3NjYWxlZD1nYW1tYSpnYW1tYV9zY2FsZTtoaWdocCBmbG9hdCBhbHBoYT1zbW9vdGhzdGVwKGJ1ZmYtZ2FtbWFfc2NhbGVkLGJ1ZmYrZ2FtbWFfc2NhbGVkLGRpc3QpO2dsX0ZyYWdDb2xvcj1jb2xvciooYWxwaGEqb3BhY2l0eSpmYWRlX29wYWNpdHkpO1xuI2lmZGVmIE9WRVJEUkFXX0lOU1BFQ1RPUlxuZ2xfRnJhZ0NvbG9yPXZlYzQoMS4wKTtcbiNlbmRpZlxufSIsImNvbnN0IGZsb2F0IFBJPTMuMTQxNTkyNjUzNTg5NzkzO2F0dHJpYnV0ZSB2ZWM0IGFfcG9zX29mZnNldDthdHRyaWJ1dGUgdmVjNCBhX2RhdGE7YXR0cmlidXRlIHZlYzMgYV9wcm9qZWN0ZWRfcG9zO2F0dHJpYnV0ZSBmbG9hdCBhX2ZhZGVfb3BhY2l0eTt1bmlmb3JtIGJvb2wgdV9pc19zaXplX3pvb21fY29uc3RhbnQ7dW5pZm9ybSBib29sIHVfaXNfc2l6ZV9mZWF0dXJlX2NvbnN0YW50O3VuaWZvcm0gaGlnaHAgZmxvYXQgdV9zaXplX3Q7dW5pZm9ybSBoaWdocCBmbG9hdCB1X3NpemU7dW5pZm9ybSBtYXQ0IHVfbWF0cml4O3VuaWZvcm0gbWF0NCB1X2xhYmVsX3BsYW5lX21hdHJpeDt1bmlmb3JtIG1hdDQgdV9jb29yZF9tYXRyaXg7dW5pZm9ybSBib29sIHVfaXNfdGV4dDt1bmlmb3JtIGJvb2wgdV9waXRjaF93aXRoX21hcDt1bmlmb3JtIGhpZ2hwIGZsb2F0IHVfcGl0Y2g7dW5pZm9ybSBib29sIHVfcm90YXRlX3N5bWJvbDt1bmlmb3JtIGhpZ2hwIGZsb2F0IHVfYXNwZWN0X3JhdGlvO3VuaWZvcm0gaGlnaHAgZmxvYXQgdV9jYW1lcmFfdG9fY2VudGVyX2Rpc3RhbmNlO3VuaWZvcm0gZmxvYXQgdV9mYWRlX2NoYW5nZTt1bmlmb3JtIHZlYzIgdV90ZXhzaXplO3ZhcnlpbmcgdmVjMiB2X2RhdGEwO3ZhcnlpbmcgdmVjMyB2X2RhdGExO1xuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBoaWdocCB2ZWM0IGZpbGxfY29sb3JcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgaGlnaHAgdmVjNCBoYWxvX2NvbG9yXG4jcHJhZ21hIG1hcGJveDogZGVmaW5lIGxvd3AgZmxvYXQgb3BhY2l0eVxuI3ByYWdtYSBtYXBib3g6IGRlZmluZSBsb3dwIGZsb2F0IGhhbG9fd2lkdGhcbiNwcmFnbWEgbWFwYm94OiBkZWZpbmUgbG93cCBmbG9hdCBoYWxvX2JsdXJcbnZvaWQgbWFpbigpIHtcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGhpZ2hwIHZlYzQgZmlsbF9jb2xvclxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgaGlnaHAgdmVjNCBoYWxvX2NvbG9yXG4jcHJhZ21hIG1hcGJveDogaW5pdGlhbGl6ZSBsb3dwIGZsb2F0IG9wYWNpdHlcbiNwcmFnbWEgbWFwYm94OiBpbml0aWFsaXplIGxvd3AgZmxvYXQgaGFsb193aWR0aFxuI3ByYWdtYSBtYXBib3g6IGluaXRpYWxpemUgbG93cCBmbG9hdCBoYWxvX2JsdXJcbnZlYzIgYV9wb3M9YV9wb3Nfb2Zmc2V0Lnh5O3ZlYzIgYV9vZmZzZXQ9YV9wb3Nfb2Zmc2V0Lnp3O3ZlYzIgYV90ZXg9YV9kYXRhLnh5O3ZlYzIgYV9zaXplPWFfZGF0YS56dztoaWdocCBmbG9hdCBzZWdtZW50X2FuZ2xlPS1hX3Byb2plY3RlZF9wb3NbMl07ZmxvYXQgc2l6ZTtpZiAoIXVfaXNfc2l6ZV96b29tX2NvbnN0YW50ICYmICF1X2lzX3NpemVfZmVhdHVyZV9jb25zdGFudCkge3NpemU9bWl4KGFfc2l6ZVswXSxhX3NpemVbMV0sdV9zaXplX3QpLzI1Ni4wO30gZWxzZSBpZiAodV9pc19zaXplX3pvb21fY29uc3RhbnQgJiYgIXVfaXNfc2l6ZV9mZWF0dXJlX2NvbnN0YW50KSB7c2l6ZT1hX3NpemVbMF0vMjU2LjA7fSBlbHNlIGlmICghdV9pc19zaXplX3pvb21fY29uc3RhbnQgJiYgdV9pc19zaXplX2ZlYXR1cmVfY29uc3RhbnQpIHtzaXplPXVfc2l6ZTt9IGVsc2Uge3NpemU9dV9zaXplO312ZWM0IHByb2plY3RlZFBvaW50PXVfbWF0cml4KnZlYzQoYV9wb3MsMCwxKTtoaWdocCBmbG9hdCBjYW1lcmFfdG9fYW5jaG9yX2Rpc3RhbmNlPXByb2plY3RlZFBvaW50Lnc7aGlnaHAgZmxvYXQgZGlzdGFuY2VfcmF0aW89dV9waXRjaF93aXRoX21hcCA/XG5jYW1lcmFfdG9fYW5jaG9yX2Rpc3RhbmNlL3VfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZSA6XG51X2NhbWVyYV90b19jZW50ZXJfZGlzdGFuY2UvY2FtZXJhX3RvX2FuY2hvcl9kaXN0YW5jZTtoaWdocCBmbG9hdCBwZXJzcGVjdGl2ZV9yYXRpbz1jbGFtcCgwLjUrMC41KmRpc3RhbmNlX3JhdGlvLDAuMCw0LjApO3NpemUqPXBlcnNwZWN0aXZlX3JhdGlvO2Zsb2F0IGZvbnRTY2FsZT11X2lzX3RleHQgPyBzaXplLzI0LjAgOiBzaXplO2hpZ2hwIGZsb2F0IHN5bWJvbF9yb3RhdGlvbj0wLjA7aWYgKHVfcm90YXRlX3N5bWJvbCkge3ZlYzQgb2Zmc2V0UHJvamVjdGVkUG9pbnQ9dV9tYXRyaXgqdmVjNChhX3Bvcyt2ZWMyKDEsMCksMCwxKTt2ZWMyIGE9cHJvamVjdGVkUG9pbnQueHkvcHJvamVjdGVkUG9pbnQudzt2ZWMyIGI9b2Zmc2V0UHJvamVjdGVkUG9pbnQueHkvb2Zmc2V0UHJvamVjdGVkUG9pbnQudztzeW1ib2xfcm90YXRpb249YXRhbigoYi55LWEueSkvdV9hc3BlY3RfcmF0aW8sYi54LWEueCk7fWhpZ2hwIGZsb2F0IGFuZ2xlX3Npbj1zaW4oc2VnbWVudF9hbmdsZStzeW1ib2xfcm90YXRpb24pO2hpZ2hwIGZsb2F0IGFuZ2xlX2Nvcz1jb3Moc2VnbWVudF9hbmdsZStzeW1ib2xfcm90YXRpb24pO21hdDIgcm90YXRpb25fbWF0cml4PW1hdDIoYW5nbGVfY29zLC0xLjAqYW5nbGVfc2luLGFuZ2xlX3NpbixhbmdsZV9jb3MpO3ZlYzQgcHJvamVjdGVkX3Bvcz11X2xhYmVsX3BsYW5lX21hdHJpeCp2ZWM0KGFfcHJvamVjdGVkX3Bvcy54eSwwLjAsMS4wKTtnbF9Qb3NpdGlvbj11X2Nvb3JkX21hdHJpeCp2ZWM0KHByb2plY3RlZF9wb3MueHkvcHJvamVjdGVkX3Bvcy53K3JvdGF0aW9uX21hdHJpeCooYV9vZmZzZXQvMzIuMCpmb250U2NhbGUpLDAuMCwxLjApO2Zsb2F0IGdhbW1hX3NjYWxlPWdsX1Bvc2l0aW9uLnc7dmVjMiB0ZXg9YV90ZXgvdV90ZXhzaXplO3ZlYzIgZmFkZV9vcGFjaXR5PXVucGFja19vcGFjaXR5KGFfZmFkZV9vcGFjaXR5KTtmbG9hdCBmYWRlX2NoYW5nZT1mYWRlX29wYWNpdHlbMV0gPiAwLjUgPyB1X2ZhZGVfY2hhbmdlIDotdV9mYWRlX2NoYW5nZTtmbG9hdCBpbnRlcnBvbGF0ZWRfZmFkZV9vcGFjaXR5PW1heCgwLjAsbWluKDEuMCxmYWRlX29wYWNpdHlbMF0rZmFkZV9jaGFuZ2UpKTt2X2RhdGEwPXZlYzIodGV4LngsdGV4LnkpO3ZfZGF0YTE9dmVjMyhnYW1tYV9zY2FsZSxzaXplLGludGVycG9sYXRlZF9mYWRlX29wYWNpdHkpO30iKTtmdW5jdGlvbiBjcih0LGUpe3ZhciByPS8jcHJhZ21hIG1hcGJveDogKFtcd10rKSAoW1x3XSspIChbXHddKykgKFtcd10rKS9nLG49e307cmV0dXJue2ZyYWdtZW50U291cmNlOnQ9dC5yZXBsYWNlKHIsZnVuY3Rpb24odCxlLHIsYSxpKXtyZXR1cm4gbltpXT0hMCwiZGVmaW5lIj09PWU/IlxuI2lmbmRlZiBIQVNfVU5JRk9STV91XyIraSsiXG52YXJ5aW5nICIrcisiICIrYSsiICIraSsiO1xuI2Vsc2VcbnVuaWZvcm0gIityKyIgIithKyIgdV8iK2krIjtcbiNlbmRpZlxuIjoiXG4jaWZkZWYgSEFTX1VOSUZPUk1fdV8iK2krIlxuICAgICIrcisiICIrYSsiICIraSsiID0gdV8iK2krIjtcbiNlbmRpZlxuIn0pLHZlcnRleFNvdXJjZTplPWUucmVwbGFjZShyLGZ1bmN0aW9uKHQsZSxyLGEsaSl7dmFyIG89ImZsb2F0Ij09PWE/InZlYzIiOiJ2ZWM0IixzPWkubWF0Y2goL2NvbG9yLyk/ImNvbG9yIjpvO3JldHVybiBuW2ldPyJkZWZpbmUiPT09ZT8iXG4jaWZuZGVmIEhBU19VTklGT1JNX3VfIitpKyJcbnVuaWZvcm0gbG93cCBmbG9hdCB1XyIraSsiX3Q7XG5hdHRyaWJ1dGUgIityKyIgIitvKyIgYV8iK2krIjtcbnZhcnlpbmcgIityKyIgIithKyIgIitpKyI7XG4jZWxzZVxudW5pZm9ybSAiK3IrIiAiK2ErIiB1XyIraSsiO1xuI2VuZGlmXG4iOiJ2ZWM0Ij09PXM/IlxuI2lmbmRlZiBIQVNfVU5JRk9STV91XyIraSsiXG4gICAgIitpKyIgPSBhXyIraSsiO1xuI2Vsc2VcbiAgICAiK3IrIiAiK2ErIiAiK2krIiA9IHVfIitpKyI7XG4jZW5kaWZcbiI6IlxuI2lmbmRlZiBIQVNfVU5JRk9STV91XyIraSsiXG4gICAgIitpKyIgPSB1bnBhY2tfbWl4XyIrcysiKGFfIitpKyIsIHVfIitpKyJfdCk7XG4jZWxzZVxuICAgICIrcisiICIrYSsiICIraSsiID0gdV8iK2krIjtcbiNlbmRpZlxuIjoiZGVmaW5lIj09PWU/IlxuI2lmbmRlZiBIQVNfVU5JRk9STV91XyIraSsiXG51bmlmb3JtIGxvd3AgZmxvYXQgdV8iK2krIl90O1xuYXR0cmlidXRlICIrcisiICIrbysiIGFfIitpKyI7XG4jZWxzZVxudW5pZm9ybSAiK3IrIiAiK2ErIiB1XyIraSsiO1xuI2VuZGlmXG4iOiJ2ZWM0Ij09PXM/IlxuI2lmbmRlZiBIQVNfVU5JRk9STV91XyIraSsiXG4gICAgIityKyIgIithKyIgIitpKyIgPSBhXyIraSsiO1xuI2Vsc2VcbiAgICAiK3IrIiAiK2ErIiAiK2krIiA9IHVfIitpKyI7XG4jZW5kaWZcbiI6IlxuI2lmbmRlZiBIQVNfVU5JRk9STV91XyIraSsiXG4gICAgIityKyIgIithKyIgIitpKyIgPSB1bnBhY2tfbWl4XyIrcysiKGFfIitpKyIsIHVfIitpKyJfdCk7XG4jZWxzZVxuICAgICIrcisiICIrYSsiICIraSsiID0gdV8iK2krIjtcbiNlbmRpZlxuIn0pfX12YXIgdXI9T2JqZWN0LmZyZWV6ZSh7cHJlbHVkZTpCZSxiYWNrZ3JvdW5kOk5lLGJhY2tncm91bmRQYXR0ZXJuOmplLGNpcmNsZTpWZSxjbGlwcGluZ01hc2s6VWUsaGVhdG1hcDpxZSxoZWF0bWFwVGV4dHVyZTpIZSxjb2xsaXNpb25Cb3g6R2UsY29sbGlzaW9uQ2lyY2xlOlllLGRlYnVnOldlLGZpbGw6WGUsZmlsbE91dGxpbmU6WmUsZmlsbE91dGxpbmVQYXR0ZXJuOkplLGZpbGxQYXR0ZXJuOktlLGZpbGxFeHRydXNpb246UWUsZmlsbEV4dHJ1c2lvblBhdHRlcm46JGUsaGlsbHNoYWRlUHJlcGFyZTp0cixoaWxsc2hhZGU6ZXIsbGluZTpycixsaW5lR3JhZGllbnQ6bnIsbGluZVBhdHRlcm46YXIsbGluZVNERjppcixyYXN0ZXI6b3Isc3ltYm9sSWNvbjpzcixzeW1ib2xTREY6bHJ9KSxocj1mdW5jdGlvbigpe3RoaXMuYm91bmRQcm9ncmFtPW51bGwsdGhpcy5ib3VuZExheW91dFZlcnRleEJ1ZmZlcj1udWxsLHRoaXMuYm91bmRQYWludFZlcnRleEJ1ZmZlcnM9W10sdGhpcy5ib3VuZEluZGV4QnVmZmVyPW51bGwsdGhpcy5ib3VuZFZlcnRleE9mZnNldD1udWxsLHRoaXMuYm91bmREeW5hbWljVmVydGV4QnVmZmVyPW51bGwsdGhpcy52YW89bnVsbH07aHIucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzKXt0aGlzLmNvbnRleHQ9dDtmb3IodmFyIGw9dGhpcy5ib3VuZFBhaW50VmVydGV4QnVmZmVycy5sZW5ndGghPT1uLmxlbmd0aCxjPTA7IWwmJmM8bi5sZW5ndGg7YysrKXRoaXMuYm91bmRQYWludFZlcnRleEJ1ZmZlcnNbY10hPT1uW2NdJiYobD0hMCk7dmFyIHU9IXRoaXMudmFvfHx0aGlzLmJvdW5kUHJvZ3JhbSE9PWV8fHRoaXMuYm91bmRMYXlvdXRWZXJ0ZXhCdWZmZXIhPT1yfHxsfHx0aGlzLmJvdW5kSW5kZXhCdWZmZXIhPT1hfHx0aGlzLmJvdW5kVmVydGV4T2Zmc2V0IT09aXx8dGhpcy5ib3VuZER5bmFtaWNWZXJ0ZXhCdWZmZXIhPT1vfHx0aGlzLmJvdW5kRHluYW1pY1ZlcnRleEJ1ZmZlcjIhPT1zOyF0LmV4dFZlcnRleEFycmF5T2JqZWN0fHx1P3RoaXMuZnJlc2hCaW5kKGUscixuLGEsaSxvLHMpOih0LmJpbmRWZXJ0ZXhBcnJheU9FUy5zZXQodGhpcy52YW8pLG8mJm8uYmluZCgpLGEmJmEuZHluYW1pY0RyYXcmJmEuYmluZCgpLHMmJnMuYmluZCgpKX0saHIucHJvdG90eXBlLmZyZXNoQmluZD1mdW5jdGlvbih0LGUscixuLGEsaSxvKXt2YXIgcyxsPXQubnVtQXR0cmlidXRlcyxjPXRoaXMuY29udGV4dCx1PWMuZ2w7aWYoYy5leHRWZXJ0ZXhBcnJheU9iamVjdCl0aGlzLnZhbyYmdGhpcy5kZXN0cm95KCksdGhpcy52YW89Yy5leHRWZXJ0ZXhBcnJheU9iamVjdC5jcmVhdGVWZXJ0ZXhBcnJheU9FUygpLGMuYmluZFZlcnRleEFycmF5T0VTLnNldCh0aGlzLnZhbykscz0wLHRoaXMuYm91bmRQcm9ncmFtPXQsdGhpcy5ib3VuZExheW91dFZlcnRleEJ1ZmZlcj1lLHRoaXMuYm91bmRQYWludFZlcnRleEJ1ZmZlcnM9cix0aGlzLmJvdW5kSW5kZXhCdWZmZXI9bix0aGlzLmJvdW5kVmVydGV4T2Zmc2V0PWEsdGhpcy5ib3VuZER5bmFtaWNWZXJ0ZXhCdWZmZXI9aSx0aGlzLmJvdW5kRHluYW1pY1ZlcnRleEJ1ZmZlcjI9bztlbHNle3M9Yy5jdXJyZW50TnVtQXR0cmlidXRlc3x8MDtmb3IodmFyIGg9bDtoPHM7aCsrKXUuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KGgpfWUuZW5hYmxlQXR0cmlidXRlcyh1LHQpO2Zvcih2YXIgZj0wLHA9cjtmPHAubGVuZ3RoO2YrPTEpcFtmXS5lbmFibGVBdHRyaWJ1dGVzKHUsdCk7aSYmaS5lbmFibGVBdHRyaWJ1dGVzKHUsdCksbyYmby5lbmFibGVBdHRyaWJ1dGVzKHUsdCksZS5iaW5kKCksZS5zZXRWZXJ0ZXhBdHRyaWJQb2ludGVycyh1LHQsYSk7Zm9yKHZhciBkPTAsZz1yO2Q8Zy5sZW5ndGg7ZCs9MSl7dmFyIHY9Z1tkXTt2LmJpbmQoKSx2LnNldFZlcnRleEF0dHJpYlBvaW50ZXJzKHUsdCxhKX1pJiYoaS5iaW5kKCksaS5zZXRWZXJ0ZXhBdHRyaWJQb2ludGVycyh1LHQsYSkpLG4mJm4uYmluZCgpLG8mJihvLmJpbmQoKSxvLnNldFZlcnRleEF0dHJpYlBvaW50ZXJzKHUsdCxhKSksYy5jdXJyZW50TnVtQXR0cmlidXRlcz1sfSxoci5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3RoaXMudmFvJiYodGhpcy5jb250ZXh0LmV4dFZlcnRleEFycmF5T2JqZWN0LmRlbGV0ZVZlcnRleEFycmF5T0VTKHRoaXMudmFvKSx0aGlzLnZhbz1udWxsKX07dmFyIGZyPWZ1bmN0aW9uKHQsZSxyLG4sYSl7dmFyIGk9dC5nbDt0aGlzLnByb2dyYW09aS5jcmVhdGVQcm9ncmFtKCk7dmFyIG89ci5kZWZpbmVzKCk7YSYmby5wdXNoKCIjZGVmaW5lIE9WRVJEUkFXX0lOU1BFQ1RPUjsiKTt2YXIgcz1vLmNvbmNhdChCZS5mcmFnbWVudFNvdXJjZSxlLmZyYWdtZW50U291cmNlKS5qb2luKCJcbiIpLGw9by5jb25jYXQoQmUudmVydGV4U291cmNlLGUudmVydGV4U291cmNlKS5qb2luKCJcbiIpLGM9aS5jcmVhdGVTaGFkZXIoaS5GUkFHTUVOVF9TSEFERVIpO2kuc2hhZGVyU291cmNlKGMscyksaS5jb21waWxlU2hhZGVyKGMpLGkuYXR0YWNoU2hhZGVyKHRoaXMucHJvZ3JhbSxjKTt2YXIgdT1pLmNyZWF0ZVNoYWRlcihpLlZFUlRFWF9TSEFERVIpO2kuc2hhZGVyU291cmNlKHUsbCksaS5jb21waWxlU2hhZGVyKHUpLGkuYXR0YWNoU2hhZGVyKHRoaXMucHJvZ3JhbSx1KTtmb3IodmFyIGg9ci5sYXlvdXRBdHRyaWJ1dGVzfHxbXSxmPTA7ZjxoLmxlbmd0aDtmKyspaS5iaW5kQXR0cmliTG9jYXRpb24odGhpcy5wcm9ncmFtLGYsaFtmXS5uYW1lKTtpLmxpbmtQcm9ncmFtKHRoaXMucHJvZ3JhbSksdGhpcy5udW1BdHRyaWJ1dGVzPWkuZ2V0UHJvZ3JhbVBhcmFtZXRlcih0aGlzLnByb2dyYW0saS5BQ1RJVkVfQVRUUklCVVRFUyksdGhpcy5hdHRyaWJ1dGVzPXt9O2Zvcih2YXIgcD17fSxkPTA7ZDx0aGlzLm51bUF0dHJpYnV0ZXM7ZCsrKXt2YXIgZz1pLmdldEFjdGl2ZUF0dHJpYih0aGlzLnByb2dyYW0sZCk7ZyYmKHRoaXMuYXR0cmlidXRlc1tnLm5hbWVdPWkuZ2V0QXR0cmliTG9jYXRpb24odGhpcy5wcm9ncmFtLGcubmFtZSkpfWZvcih2YXIgdj1pLmdldFByb2dyYW1QYXJhbWV0ZXIodGhpcy5wcm9ncmFtLGkuQUNUSVZFX1VOSUZPUk1TKSxtPTA7bTx2O20rKyl7dmFyIHk9aS5nZXRBY3RpdmVVbmlmb3JtKHRoaXMucHJvZ3JhbSxtKTt5JiYocFt5Lm5hbWVdPWkuZ2V0VW5pZm9ybUxvY2F0aW9uKHRoaXMucHJvZ3JhbSx5Lm5hbWUpKX10aGlzLmZpeGVkVW5pZm9ybXM9bih0LHApLHRoaXMuYmluZGVyVW5pZm9ybXM9ci5nZXRVbmlmb3Jtcyh0LHApfTtmdW5jdGlvbiBwcihlLHIsbil7dmFyIGE9MS9jZShuLDEsci50cmFuc2Zvcm0udGlsZVpvb20pLGk9TWF0aC5wb3coMixuLnRpbGVJRC5vdmVyc2NhbGVkWiksbz1uLnRpbGVTaXplKk1hdGgucG93KDIsci50cmFuc2Zvcm0udGlsZVpvb20pL2kscz1vKihuLnRpbGVJRC5jYW5vbmljYWwueCtuLnRpbGVJRC53cmFwKmkpLGw9bypuLnRpbGVJRC5jYW5vbmljYWwueTtyZXR1cm57dV9pbWFnZTowLHVfdGV4c2l6ZTpuLmltYWdlQXRsYXNUZXh0dXJlLnNpemUsdV9zY2FsZTpbdC5icm93c2VyLmRldmljZVBpeGVsUmF0aW8sYSxlLmZyb21TY2FsZSxlLnRvU2NhbGVdLHVfZmFkZTplLnQsdV9waXhlbF9jb29yZF91cHBlcjpbcz4+MTYsbD4+MTZdLHVfcGl4ZWxfY29vcmRfbG93ZXI6WzY1NTM1JnMsNjU1MzUmbF19fWZyLnByb3RvdHlwZS5kcmF3PWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyxsLGMsdSxoLGYscCxkLGcpe3ZhciB2LG09dC5nbDtmb3IodmFyIHkgaW4gdC5wcm9ncmFtLnNldCh0aGlzLnByb2dyYW0pLHQuc2V0RGVwdGhNb2RlKHIpLHQuc2V0U3RlbmNpbE1vZGUobiksdC5zZXRDb2xvck1vZGUoYSksdC5zZXRDdWxsRmFjZShpKSx0aGlzLmZpeGVkVW5pZm9ybXMpdGhpcy5maXhlZFVuaWZvcm1zW3ldLnNldChvW3ldKTtwJiZwLnNldFVuaWZvcm1zKHQsdGhpcy5iaW5kZXJVbmlmb3JtcyxoLHt6b29tOmZ9KTtmb3IodmFyIHg9KHY9e30sdlttLkxJTkVTXT0yLHZbbS5UUklBTkdMRVNdPTMsdlttLkxJTkVfU1RSSVBdPTEsdilbZV0sYj0wLF89dS5nZXQoKTtiPF8ubGVuZ3RoO2IrPTEpe3ZhciB3PV9bYl0saz13LnZhb3N8fCh3LnZhb3M9e30pOyhrW3NdfHwoa1tzXT1uZXcgaHIpKS5iaW5kKHQsdGhpcyxsLHA/cC5nZXRQYWludFZlcnRleEJ1ZmZlcnMoKTpbXSxjLHcudmVydGV4T2Zmc2V0LGQsZyksbS5kcmF3RWxlbWVudHMoZSx3LnByaW1pdGl2ZUxlbmd0aCp4LG0uVU5TSUdORURfU0hPUlQsdy5wcmltaXRpdmVPZmZzZXQqeCoyKX19O3ZhciBkcj1mdW5jdGlvbihlLHIsbixhKXt2YXIgaT1yLnN0eWxlLmxpZ2h0LG89aS5wcm9wZXJ0aWVzLmdldCgicG9zaXRpb24iKSxzPVtvLngsby55LG8uel0sbD10LmNyZWF0ZSQxKCk7InZpZXdwb3J0Ij09PWkucHJvcGVydGllcy5nZXQoImFuY2hvciIpJiZ0LmZyb21Sb3RhdGlvbihsLC1yLnRyYW5zZm9ybS5hbmdsZSksdC50cmFuc2Zvcm1NYXQzKHMscyxsKTt2YXIgYz1pLnByb3BlcnRpZXMuZ2V0KCJjb2xvciIpO3JldHVybnt1X21hdHJpeDplLHVfbGlnaHRwb3M6cyx1X2xpZ2h0aW50ZW5zaXR5OmkucHJvcGVydGllcy5nZXQoImludGVuc2l0eSIpLHVfbGlnaHRjb2xvcjpbYy5yLGMuZyxjLmJdLHVfdmVydGljYWxfZ3JhZGllbnQ6K24sdV9vcGFjaXR5OmF9fSxncj1mdW5jdGlvbihlLHIsbixhLGksbyxzKXtyZXR1cm4gdC5leHRlbmQoZHIoZSxyLG4sYSkscHIobyxyLHMpLHt1X2hlaWdodF9mYWN0b3I6LU1hdGgucG93KDIsaS5vdmVyc2NhbGVkWikvcy50aWxlU2l6ZS84fSl9LHZyPWZ1bmN0aW9uKHQpe3JldHVybnt1X21hdHJpeDp0fX0sbXI9ZnVuY3Rpb24oZSxyLG4sYSl7cmV0dXJuIHQuZXh0ZW5kKHZyKGUpLHByKG4scixhKSl9LHlyPWZ1bmN0aW9uKHQsZSl7cmV0dXJue3VfbWF0cml4OnQsdV93b3JsZDplfX0seHI9ZnVuY3Rpb24oZSxyLG4sYSxpKXtyZXR1cm4gdC5leHRlbmQobXIoZSxyLG4sYSkse3Vfd29ybGQ6aX0pfSxicj1mdW5jdGlvbihlLHIsbixhKXt2YXIgaSxvLHM9ZS50cmFuc2Zvcm07aWYoIm1hcCI9PT1hLnBhaW50LmdldCgiY2lyY2xlLXBpdGNoLWFsaWdubWVudCIpKXt2YXIgbD1jZShuLDEscy56b29tKTtpPSEwLG89W2wsbF19ZWxzZSBpPSExLG89cy5waXhlbHNUb0dMVW5pdHM7cmV0dXJue3VfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZTpzLmNhbWVyYVRvQ2VudGVyRGlzdGFuY2UsdV9zY2FsZV93aXRoX21hcDorKCJtYXAiPT09YS5wYWludC5nZXQoImNpcmNsZS1waXRjaC1zY2FsZSIpKSx1X21hdHJpeDplLnRyYW5zbGF0ZVBvc01hdHJpeChyLnBvc01hdHJpeCxuLGEucGFpbnQuZ2V0KCJjaXJjbGUtdHJhbnNsYXRlIiksYS5wYWludC5nZXQoImNpcmNsZS10cmFuc2xhdGUtYW5jaG9yIikpLHVfcGl0Y2hfd2l0aF9tYXA6K2ksdV9kZXZpY2VfcGl4ZWxfcmF0aW86dC5icm93c2VyLmRldmljZVBpeGVsUmF0aW8sdV9leHRydWRlX3NjYWxlOm99fSxfcj1mdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KSx1X2NhbWVyYV90b19jZW50ZXJfZGlzdGFuY2U6bmV3IHQuVW5pZm9ybTFmKGUsci51X2NhbWVyYV90b19jZW50ZXJfZGlzdGFuY2UpLHVfcGl4ZWxzX3RvX3RpbGVfdW5pdHM6bmV3IHQuVW5pZm9ybTFmKGUsci51X3BpeGVsc190b190aWxlX3VuaXRzKSx1X2V4dHJ1ZGVfc2NhbGU6bmV3IHQuVW5pZm9ybTJmKGUsci51X2V4dHJ1ZGVfc2NhbGUpLHVfb3ZlcnNjYWxlX2ZhY3RvcjpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfb3ZlcnNjYWxlX2ZhY3Rvcil9fSx3cj1mdW5jdGlvbih0LGUscil7dmFyIG49Y2UociwxLGUuem9vbSksYT1NYXRoLnBvdygyLGUuem9vbS1yLnRpbGVJRC5vdmVyc2NhbGVkWiksaT1yLnRpbGVJRC5vdmVyc2NhbGVGYWN0b3IoKTtyZXR1cm57dV9tYXRyaXg6dCx1X2NhbWVyYV90b19jZW50ZXJfZGlzdGFuY2U6ZS5jYW1lcmFUb0NlbnRlckRpc3RhbmNlLHVfcGl4ZWxzX3RvX3RpbGVfdW5pdHM6bix1X2V4dHJ1ZGVfc2NhbGU6W2UucGl4ZWxzVG9HTFVuaXRzWzBdLyhuKmEpLGUucGl4ZWxzVG9HTFVuaXRzWzFdLyhuKmEpXSx1X292ZXJzY2FsZV9mYWN0b3I6aX19LGtyPWZ1bmN0aW9uKHQsZSl7cmV0dXJue3VfbWF0cml4OnQsdV9jb2xvcjplfX0sVHI9ZnVuY3Rpb24odCl7cmV0dXJue3VfbWF0cml4OnR9fSxNcj1mdW5jdGlvbih0LGUscixuKXtyZXR1cm57dV9tYXRyaXg6dCx1X2V4dHJ1ZGVfc2NhbGU6Y2UoZSwxLHIpLHVfaW50ZW5zaXR5Om59fSxBcj1mdW5jdGlvbih0LGUscil7dmFyIG49ci5wYWludC5nZXQoImhpbGxzaGFkZS1zaGFkb3ctY29sb3IiKSxhPXIucGFpbnQuZ2V0KCJoaWxsc2hhZGUtaGlnaGxpZ2h0LWNvbG9yIiksaT1yLnBhaW50LmdldCgiaGlsbHNoYWRlLWFjY2VudC1jb2xvciIpLG89ci5wYWludC5nZXQoImhpbGxzaGFkZS1pbGx1bWluYXRpb24tZGlyZWN0aW9uIikqKE1hdGguUEkvMTgwKTsidmlld3BvcnQiPT09ci5wYWludC5nZXQoImhpbGxzaGFkZS1pbGx1bWluYXRpb24tYW5jaG9yIikmJihvLT10LnRyYW5zZm9ybS5hbmdsZSk7dmFyIHM9IXQub3B0aW9ucy5tb3Zpbmc7cmV0dXJue3VfbWF0cml4OnQudHJhbnNmb3JtLmNhbGN1bGF0ZVBvc01hdHJpeChlLnRpbGVJRC50b1Vud3JhcHBlZCgpLHMpLHVfaW1hZ2U6MCx1X2xhdHJhbmdlOkVyKHQsZS50aWxlSUQpLHVfbGlnaHQ6W3IucGFpbnQuZ2V0KCJoaWxsc2hhZGUtZXhhZ2dlcmF0aW9uIiksb10sdV9zaGFkb3c6bix1X2hpZ2hsaWdodDphLHVfYWNjZW50Oml9fSxTcj1mdW5jdGlvbihlLHIpe3ZhciBuPWUuZGVtLnN0cmlkZSxhPXQuY3JlYXRlKCk7cmV0dXJuIHQub3J0aG8oYSwwLHQuRVhURU5ULC10LkVYVEVOVCwwLDAsMSksdC50cmFuc2xhdGUoYSxhLFswLC10LkVYVEVOVCwwXSkse3VfbWF0cml4OmEsdV9pbWFnZToxLHVfZGltZW5zaW9uOltuLG5dLHVfem9vbTplLnRpbGVJRC5vdmVyc2NhbGVkWix1X21heHpvb206cn19O2Z1bmN0aW9uIEVyKGUscil7dmFyIG49TWF0aC5wb3coMixyLmNhbm9uaWNhbC56KSxhPXIuY2Fub25pY2FsLnk7cmV0dXJuW25ldyB0Lk1lcmNhdG9yQ29vcmRpbmF0ZSgwLGEvbikudG9MbmdMYXQoKS5sYXQsbmV3IHQuTWVyY2F0b3JDb29yZGluYXRlKDAsKGErMSkvbikudG9MbmdMYXQoKS5sYXRdfXZhciBMcj1mdW5jdGlvbihlLHIsbil7dmFyIGE9ZS50cmFuc2Zvcm07cmV0dXJue3VfbWF0cml4OklyKGUscixuKSx1X3JhdGlvOjEvY2UociwxLGEuem9vbSksdV9kZXZpY2VfcGl4ZWxfcmF0aW86dC5icm93c2VyLmRldmljZVBpeGVsUmF0aW8sdV91bml0c190b19waXhlbHM6WzEvYS5waXhlbHNUb0dMVW5pdHNbMF0sMS9hLnBpeGVsc1RvR0xVbml0c1sxXV19fSxDcj1mdW5jdGlvbihlLHIsbil7cmV0dXJuIHQuZXh0ZW5kKExyKGUscixuKSx7dV9pbWFnZTowfSl9LFByPWZ1bmN0aW9uKGUscixuLGEpe3ZhciBpPWUudHJhbnNmb3JtLG89enIocixpKTtyZXR1cm57dV9tYXRyaXg6SXIoZSxyLG4pLHVfdGV4c2l6ZTpyLmltYWdlQXRsYXNUZXh0dXJlLnNpemUsdV9yYXRpbzoxL2NlKHIsMSxpLnpvb20pLHVfZGV2aWNlX3BpeGVsX3JhdGlvOnQuYnJvd3Nlci5kZXZpY2VQaXhlbFJhdGlvLHVfaW1hZ2U6MCx1X3NjYWxlOlt0LmJyb3dzZXIuZGV2aWNlUGl4ZWxSYXRpbyxvLGEuZnJvbVNjYWxlLGEudG9TY2FsZV0sdV9mYWRlOmEudCx1X3VuaXRzX3RvX3BpeGVsczpbMS9pLnBpeGVsc1RvR0xVbml0c1swXSwxL2kucGl4ZWxzVG9HTFVuaXRzWzFdXX19LE9yPWZ1bmN0aW9uKGUscixuLGEsaSl7dmFyIG89ZS50cmFuc2Zvcm0scz1lLmxpbmVBdGxhcyxsPXpyKHIsbyksYz0icm91bmQiPT09bi5sYXlvdXQuZ2V0KCJsaW5lLWNhcCIpLHU9cy5nZXREYXNoKGEuZnJvbSxjKSxoPXMuZ2V0RGFzaChhLnRvLGMpLGY9dS53aWR0aCppLmZyb21TY2FsZSxwPWgud2lkdGgqaS50b1NjYWxlO3JldHVybiB0LmV4dGVuZChMcihlLHIsbikse3VfcGF0dGVybnNjYWxlX2E6W2wvZiwtdS5oZWlnaHQvMl0sdV9wYXR0ZXJuc2NhbGVfYjpbbC9wLC1oLmhlaWdodC8yXSx1X3NkZmdhbW1hOnMud2lkdGgvKDI1NipNYXRoLm1pbihmLHApKnQuYnJvd3Nlci5kZXZpY2VQaXhlbFJhdGlvKS8yLHVfaW1hZ2U6MCx1X3RleF95X2E6dS55LHVfdGV4X3lfYjpoLnksdV9taXg6aS50fSl9O2Z1bmN0aW9uIHpyKHQsZSl7cmV0dXJuIDEvY2UodCwxLGUudGlsZVpvb20pfWZ1bmN0aW9uIElyKHQsZSxyKXtyZXR1cm4gdC50cmFuc2xhdGVQb3NNYXRyaXgoZS50aWxlSUQucG9zTWF0cml4LGUsci5wYWludC5nZXQoImxpbmUtdHJhbnNsYXRlIiksci5wYWludC5nZXQoImxpbmUtdHJhbnNsYXRlLWFuY2hvciIpKX12YXIgRHI9ZnVuY3Rpb24odCxlLHIsbixhKXtyZXR1cm57dV9tYXRyaXg6dCx1X3RsX3BhcmVudDplLHVfc2NhbGVfcGFyZW50OnIsdV9idWZmZXJfc2NhbGU6MSx1X2ZhZGVfdDpuLm1peCx1X29wYWNpdHk6bi5vcGFjaXR5KmEucGFpbnQuZ2V0KCJyYXN0ZXItb3BhY2l0eSIpLHVfaW1hZ2UwOjAsdV9pbWFnZTE6MSx1X2JyaWdodG5lc3NfbG93OmEucGFpbnQuZ2V0KCJyYXN0ZXItYnJpZ2h0bmVzcy1taW4iKSx1X2JyaWdodG5lc3NfaGlnaDphLnBhaW50LmdldCgicmFzdGVyLWJyaWdodG5lc3MtbWF4IiksdV9zYXR1cmF0aW9uX2ZhY3Rvcjoobz1hLnBhaW50LmdldCgicmFzdGVyLXNhdHVyYXRpb24iKSxvPjA/MS0xLygxLjAwMS1vKTotbyksdV9jb250cmFzdF9mYWN0b3I6KGk9YS5wYWludC5nZXQoInJhc3Rlci1jb250cmFzdCIpLGk+MD8xLygxLWkpOjEraSksdV9zcGluX3dlaWdodHM6UnIoYS5wYWludC5nZXQoInJhc3Rlci1odWUtcm90YXRlIikpfTt2YXIgaSxvfTtmdW5jdGlvbiBScih0KXt0Kj1NYXRoLlBJLzE4MDt2YXIgZT1NYXRoLnNpbih0KSxyPU1hdGguY29zKHQpO3JldHVyblsoMipyKzEpLzMsKC1NYXRoLnNxcnQoMykqZS1yKzEpLzMsKE1hdGguc3FydCgzKSplLXIrMSkvM119dmFyIEZyPWZ1bmN0aW9uKHQsZSxyLG4sYSxpLG8scyxsLGMpe3ZhciB1PWEudHJhbnNmb3JtO3JldHVybnt1X2lzX3NpemVfem9vbV9jb25zdGFudDorKCJjb25zdGFudCI9PT10fHwic291cmNlIj09PXQpLHVfaXNfc2l6ZV9mZWF0dXJlX2NvbnN0YW50OisoImNvbnN0YW50Ij09PXR8fCJjYW1lcmEiPT09dCksdV9zaXplX3Q6ZT9lLnVTaXplVDowLHVfc2l6ZTplP2UudVNpemU6MCx1X2NhbWVyYV90b19jZW50ZXJfZGlzdGFuY2U6dS5jYW1lcmFUb0NlbnRlckRpc3RhbmNlLHVfcGl0Y2g6dS5waXRjaC8zNjAqMipNYXRoLlBJLHVfcm90YXRlX3N5bWJvbDorcix1X2FzcGVjdF9yYXRpbzp1LndpZHRoL3UuaGVpZ2h0LHVfZmFkZV9jaGFuZ2U6YS5vcHRpb25zLmZhZGVEdXJhdGlvbj9hLnN5bWJvbEZhZGVDaGFuZ2U6MSx1X21hdHJpeDppLHVfbGFiZWxfcGxhbmVfbWF0cml4Om8sdV9jb29yZF9tYXRyaXg6cyx1X2lzX3RleHQ6K2wsdV9waXRjaF93aXRoX21hcDorbix1X3RleHNpemU6Yyx1X3RleHR1cmU6MH19LEJyPWZ1bmN0aW9uKGUscixuLGEsaSxvLHMsbCxjLHUsaCl7dmFyIGY9aS50cmFuc2Zvcm07cmV0dXJuIHQuZXh0ZW5kKEZyKGUscixuLGEsaSxvLHMsbCxjLHUpLHt1X2dhbW1hX3NjYWxlOmE/TWF0aC5jb3MoZi5fcGl0Y2gpKmYuY2FtZXJhVG9DZW50ZXJEaXN0YW5jZToxLHVfZGV2aWNlX3BpeGVsX3JhdGlvOnQuYnJvd3Nlci5kZXZpY2VQaXhlbFJhdGlvLHVfaXNfaGFsbzoraH0pfSxOcj1mdW5jdGlvbih0LGUscil7cmV0dXJue3VfbWF0cml4OnQsdV9vcGFjaXR5OmUsdV9jb2xvcjpyfX0sanI9ZnVuY3Rpb24oZSxyLG4sYSxpLG8pe3JldHVybiB0LmV4dGVuZChmdW5jdGlvbih0LGUscixuKXt2YXIgYT1yLmltYWdlTWFuYWdlci5nZXRQYXR0ZXJuKHQuZnJvbSksaT1yLmltYWdlTWFuYWdlci5nZXRQYXR0ZXJuKHQudG8pLG89ci5pbWFnZU1hbmFnZXIuZ2V0UGl4ZWxTaXplKCkscz1vLndpZHRoLGw9by5oZWlnaHQsYz1NYXRoLnBvdygyLG4udGlsZUlELm92ZXJzY2FsZWRaKSx1PW4udGlsZVNpemUqTWF0aC5wb3coMixyLnRyYW5zZm9ybS50aWxlWm9vbSkvYyxoPXUqKG4udGlsZUlELmNhbm9uaWNhbC54K24udGlsZUlELndyYXAqYyksZj11Km4udGlsZUlELmNhbm9uaWNhbC55O3JldHVybnt1X2ltYWdlOjAsdV9wYXR0ZXJuX3RsX2E6YS50bCx1X3BhdHRlcm5fYnJfYTphLmJyLHVfcGF0dGVybl90bF9iOmkudGwsdV9wYXR0ZXJuX2JyX2I6aS5icix1X3RleHNpemU6W3MsbF0sdV9taXg6ZS50LHVfcGF0dGVybl9zaXplX2E6YS5kaXNwbGF5U2l6ZSx1X3BhdHRlcm5fc2l6ZV9iOmkuZGlzcGxheVNpemUsdV9zY2FsZV9hOmUuZnJvbVNjYWxlLHVfc2NhbGVfYjplLnRvU2NhbGUsdV90aWxlX3VuaXRzX3RvX3BpeGVsczoxL2NlKG4sMSxyLnRyYW5zZm9ybS50aWxlWm9vbSksdV9waXhlbF9jb29yZF91cHBlcjpbaD4+MTYsZj4+MTZdLHVfcGl4ZWxfY29vcmRfbG93ZXI6WzY1NTM1JmgsNjU1MzUmZl19fShhLG8sbixpKSx7dV9tYXRyaXg6ZSx1X29wYWNpdHk6cn0pfSxWcj17ZmlsbEV4dHJ1c2lvbjpmdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KSx1X2xpZ2h0cG9zOm5ldyB0LlVuaWZvcm0zZihlLHIudV9saWdodHBvcyksdV9saWdodGludGVuc2l0eTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfbGlnaHRpbnRlbnNpdHkpLHVfbGlnaHRjb2xvcjpuZXcgdC5Vbmlmb3JtM2YoZSxyLnVfbGlnaHRjb2xvciksdV92ZXJ0aWNhbF9ncmFkaWVudDpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfdmVydGljYWxfZ3JhZGllbnQpLHVfb3BhY2l0eTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfb3BhY2l0eSl9fSxmaWxsRXh0cnVzaW9uUGF0dGVybjpmdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KSx1X2xpZ2h0cG9zOm5ldyB0LlVuaWZvcm0zZihlLHIudV9saWdodHBvcyksdV9saWdodGludGVuc2l0eTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfbGlnaHRpbnRlbnNpdHkpLHVfbGlnaHRjb2xvcjpuZXcgdC5Vbmlmb3JtM2YoZSxyLnVfbGlnaHRjb2xvciksdV92ZXJ0aWNhbF9ncmFkaWVudDpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfdmVydGljYWxfZ3JhZGllbnQpLHVfaGVpZ2h0X2ZhY3RvcjpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfaGVpZ2h0X2ZhY3RvciksdV9pbWFnZTpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfaW1hZ2UpLHVfdGV4c2l6ZTpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfdGV4c2l6ZSksdV9waXhlbF9jb29yZF91cHBlcjpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfcGl4ZWxfY29vcmRfdXBwZXIpLHVfcGl4ZWxfY29vcmRfbG93ZXI6bmV3IHQuVW5pZm9ybTJmKGUsci51X3BpeGVsX2Nvb3JkX2xvd2VyKSx1X3NjYWxlOm5ldyB0LlVuaWZvcm00ZihlLHIudV9zY2FsZSksdV9mYWRlOm5ldyB0LlVuaWZvcm0xZihlLHIudV9mYWRlKSx1X29wYWNpdHk6bmV3IHQuVW5pZm9ybTFmKGUsci51X29wYWNpdHkpfX0sZmlsbDpmdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KX19LGZpbGxQYXR0ZXJuOmZ1bmN0aW9uKGUscil7cmV0dXJue3VfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9tYXRyaXgpLHVfaW1hZ2U6bmV3IHQuVW5pZm9ybTFpKGUsci51X2ltYWdlKSx1X3RleHNpemU6bmV3IHQuVW5pZm9ybTJmKGUsci51X3RleHNpemUpLHVfcGl4ZWxfY29vcmRfdXBwZXI6bmV3IHQuVW5pZm9ybTJmKGUsci51X3BpeGVsX2Nvb3JkX3VwcGVyKSx1X3BpeGVsX2Nvb3JkX2xvd2VyOm5ldyB0LlVuaWZvcm0yZihlLHIudV9waXhlbF9jb29yZF9sb3dlciksdV9zY2FsZTpuZXcgdC5Vbmlmb3JtNGYoZSxyLnVfc2NhbGUpLHVfZmFkZTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfZmFkZSl9fSxmaWxsT3V0bGluZTpmdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KSx1X3dvcmxkOm5ldyB0LlVuaWZvcm0yZihlLHIudV93b3JsZCl9fSxmaWxsT3V0bGluZVBhdHRlcm46ZnVuY3Rpb24oZSxyKXtyZXR1cm57dV9tYXRyaXg6bmV3IHQuVW5pZm9ybU1hdHJpeDRmKGUsci51X21hdHJpeCksdV93b3JsZDpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfd29ybGQpLHVfaW1hZ2U6bmV3IHQuVW5pZm9ybTFpKGUsci51X2ltYWdlKSx1X3RleHNpemU6bmV3IHQuVW5pZm9ybTJmKGUsci51X3RleHNpemUpLHVfcGl4ZWxfY29vcmRfdXBwZXI6bmV3IHQuVW5pZm9ybTJmKGUsci51X3BpeGVsX2Nvb3JkX3VwcGVyKSx1X3BpeGVsX2Nvb3JkX2xvd2VyOm5ldyB0LlVuaWZvcm0yZihlLHIudV9waXhlbF9jb29yZF9sb3dlciksdV9zY2FsZTpuZXcgdC5Vbmlmb3JtNGYoZSxyLnVfc2NhbGUpLHVfZmFkZTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfZmFkZSl9fSxjaXJjbGU6ZnVuY3Rpb24oZSxyKXtyZXR1cm57dV9jYW1lcmFfdG9fY2VudGVyX2Rpc3RhbmNlOm5ldyB0LlVuaWZvcm0xZihlLHIudV9jYW1lcmFfdG9fY2VudGVyX2Rpc3RhbmNlKSx1X3NjYWxlX3dpdGhfbWFwOm5ldyB0LlVuaWZvcm0xaShlLHIudV9zY2FsZV93aXRoX21hcCksdV9waXRjaF93aXRoX21hcDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfcGl0Y2hfd2l0aF9tYXApLHVfZXh0cnVkZV9zY2FsZTpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfZXh0cnVkZV9zY2FsZSksdV9kZXZpY2VfcGl4ZWxfcmF0aW86bmV3IHQuVW5pZm9ybTFmKGUsci51X2RldmljZV9waXhlbF9yYXRpbyksdV9tYXRyaXg6bmV3IHQuVW5pZm9ybU1hdHJpeDRmKGUsci51X21hdHJpeCl9fSxjb2xsaXNpb25Cb3g6X3IsY29sbGlzaW9uQ2lyY2xlOl9yLGRlYnVnOmZ1bmN0aW9uKGUscil7cmV0dXJue3VfY29sb3I6bmV3IHQuVW5pZm9ybUNvbG9yKGUsci51X2NvbG9yKSx1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KX19LGNsaXBwaW5nTWFzazpmdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KX19LGhlYXRtYXA6ZnVuY3Rpb24oZSxyKXtyZXR1cm57dV9leHRydWRlX3NjYWxlOm5ldyB0LlVuaWZvcm0xZihlLHIudV9leHRydWRlX3NjYWxlKSx1X2ludGVuc2l0eTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfaW50ZW5zaXR5KSx1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KX19LGhlYXRtYXBUZXh0dXJlOmZ1bmN0aW9uKGUscil7cmV0dXJue3VfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9tYXRyaXgpLHVfd29ybGQ6bmV3IHQuVW5pZm9ybTJmKGUsci51X3dvcmxkKSx1X2ltYWdlOm5ldyB0LlVuaWZvcm0xaShlLHIudV9pbWFnZSksdV9jb2xvcl9yYW1wOm5ldyB0LlVuaWZvcm0xaShlLHIudV9jb2xvcl9yYW1wKSx1X29wYWNpdHk6bmV3IHQuVW5pZm9ybTFmKGUsci51X29wYWNpdHkpfX0saGlsbHNoYWRlOmZ1bmN0aW9uKGUscil7cmV0dXJue3VfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9tYXRyaXgpLHVfaW1hZ2U6bmV3IHQuVW5pZm9ybTFpKGUsci51X2ltYWdlKSx1X2xhdHJhbmdlOm5ldyB0LlVuaWZvcm0yZihlLHIudV9sYXRyYW5nZSksdV9saWdodDpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfbGlnaHQpLHVfc2hhZG93Om5ldyB0LlVuaWZvcm1Db2xvcihlLHIudV9zaGFkb3cpLHVfaGlnaGxpZ2h0Om5ldyB0LlVuaWZvcm1Db2xvcihlLHIudV9oaWdobGlnaHQpLHVfYWNjZW50Om5ldyB0LlVuaWZvcm1Db2xvcihlLHIudV9hY2NlbnQpfX0saGlsbHNoYWRlUHJlcGFyZTpmdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KSx1X2ltYWdlOm5ldyB0LlVuaWZvcm0xaShlLHIudV9pbWFnZSksdV9kaW1lbnNpb246bmV3IHQuVW5pZm9ybTJmKGUsci51X2RpbWVuc2lvbiksdV96b29tOm5ldyB0LlVuaWZvcm0xZihlLHIudV96b29tKSx1X21heHpvb206bmV3IHQuVW5pZm9ybTFmKGUsci51X21heHpvb20pfX0sbGluZTpmdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KSx1X3JhdGlvOm5ldyB0LlVuaWZvcm0xZihlLHIudV9yYXRpbyksdV9kZXZpY2VfcGl4ZWxfcmF0aW86bmV3IHQuVW5pZm9ybTFmKGUsci51X2RldmljZV9waXhlbF9yYXRpbyksdV91bml0c190b19waXhlbHM6bmV3IHQuVW5pZm9ybTJmKGUsci51X3VuaXRzX3RvX3BpeGVscyl9fSxsaW5lR3JhZGllbnQ6ZnVuY3Rpb24oZSxyKXtyZXR1cm57dV9tYXRyaXg6bmV3IHQuVW5pZm9ybU1hdHJpeDRmKGUsci51X21hdHJpeCksdV9yYXRpbzpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfcmF0aW8pLHVfZGV2aWNlX3BpeGVsX3JhdGlvOm5ldyB0LlVuaWZvcm0xZihlLHIudV9kZXZpY2VfcGl4ZWxfcmF0aW8pLHVfdW5pdHNfdG9fcGl4ZWxzOm5ldyB0LlVuaWZvcm0yZihlLHIudV91bml0c190b19waXhlbHMpLHVfaW1hZ2U6bmV3IHQuVW5pZm9ybTFpKGUsci51X2ltYWdlKX19LGxpbmVQYXR0ZXJuOmZ1bmN0aW9uKGUscil7cmV0dXJue3VfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9tYXRyaXgpLHVfdGV4c2l6ZTpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfdGV4c2l6ZSksdV9yYXRpbzpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfcmF0aW8pLHVfZGV2aWNlX3BpeGVsX3JhdGlvOm5ldyB0LlVuaWZvcm0xZihlLHIudV9kZXZpY2VfcGl4ZWxfcmF0aW8pLHVfaW1hZ2U6bmV3IHQuVW5pZm9ybTFpKGUsci51X2ltYWdlKSx1X3VuaXRzX3RvX3BpeGVsczpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfdW5pdHNfdG9fcGl4ZWxzKSx1X3NjYWxlOm5ldyB0LlVuaWZvcm00ZihlLHIudV9zY2FsZSksdV9mYWRlOm5ldyB0LlVuaWZvcm0xZihlLHIudV9mYWRlKX19LGxpbmVTREY6ZnVuY3Rpb24oZSxyKXtyZXR1cm57dV9tYXRyaXg6bmV3IHQuVW5pZm9ybU1hdHJpeDRmKGUsci51X21hdHJpeCksdV9yYXRpbzpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfcmF0aW8pLHVfZGV2aWNlX3BpeGVsX3JhdGlvOm5ldyB0LlVuaWZvcm0xZihlLHIudV9kZXZpY2VfcGl4ZWxfcmF0aW8pLHVfdW5pdHNfdG9fcGl4ZWxzOm5ldyB0LlVuaWZvcm0yZihlLHIudV91bml0c190b19waXhlbHMpLHVfcGF0dGVybnNjYWxlX2E6bmV3IHQuVW5pZm9ybTJmKGUsci51X3BhdHRlcm5zY2FsZV9hKSx1X3BhdHRlcm5zY2FsZV9iOm5ldyB0LlVuaWZvcm0yZihlLHIudV9wYXR0ZXJuc2NhbGVfYiksdV9zZGZnYW1tYTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfc2RmZ2FtbWEpLHVfaW1hZ2U6bmV3IHQuVW5pZm9ybTFpKGUsci51X2ltYWdlKSx1X3RleF95X2E6bmV3IHQuVW5pZm9ybTFmKGUsci51X3RleF95X2EpLHVfdGV4X3lfYjpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfdGV4X3lfYiksdV9taXg6bmV3IHQuVW5pZm9ybTFmKGUsci51X21peCl9fSxyYXN0ZXI6ZnVuY3Rpb24oZSxyKXtyZXR1cm57dV9tYXRyaXg6bmV3IHQuVW5pZm9ybU1hdHJpeDRmKGUsci51X21hdHJpeCksdV90bF9wYXJlbnQ6bmV3IHQuVW5pZm9ybTJmKGUsci51X3RsX3BhcmVudCksdV9zY2FsZV9wYXJlbnQ6bmV3IHQuVW5pZm9ybTFmKGUsci51X3NjYWxlX3BhcmVudCksdV9idWZmZXJfc2NhbGU6bmV3IHQuVW5pZm9ybTFmKGUsci51X2J1ZmZlcl9zY2FsZSksdV9mYWRlX3Q6bmV3IHQuVW5pZm9ybTFmKGUsci51X2ZhZGVfdCksdV9vcGFjaXR5Om5ldyB0LlVuaWZvcm0xZihlLHIudV9vcGFjaXR5KSx1X2ltYWdlMDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfaW1hZ2UwKSx1X2ltYWdlMTpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfaW1hZ2UxKSx1X2JyaWdodG5lc3NfbG93Om5ldyB0LlVuaWZvcm0xZihlLHIudV9icmlnaHRuZXNzX2xvdyksdV9icmlnaHRuZXNzX2hpZ2g6bmV3IHQuVW5pZm9ybTFmKGUsci51X2JyaWdodG5lc3NfaGlnaCksdV9zYXR1cmF0aW9uX2ZhY3RvcjpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfc2F0dXJhdGlvbl9mYWN0b3IpLHVfY29udHJhc3RfZmFjdG9yOm5ldyB0LlVuaWZvcm0xZihlLHIudV9jb250cmFzdF9mYWN0b3IpLHVfc3Bpbl93ZWlnaHRzOm5ldyB0LlVuaWZvcm0zZihlLHIudV9zcGluX3dlaWdodHMpfX0sc3ltYm9sSWNvbjpmdW5jdGlvbihlLHIpe3JldHVybnt1X2lzX3NpemVfem9vbV9jb25zdGFudDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfaXNfc2l6ZV96b29tX2NvbnN0YW50KSx1X2lzX3NpemVfZmVhdHVyZV9jb25zdGFudDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfaXNfc2l6ZV9mZWF0dXJlX2NvbnN0YW50KSx1X3NpemVfdDpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfc2l6ZV90KSx1X3NpemU6bmV3IHQuVW5pZm9ybTFmKGUsci51X3NpemUpLHVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZSksdV9waXRjaDpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfcGl0Y2gpLHVfcm90YXRlX3N5bWJvbDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfcm90YXRlX3N5bWJvbCksdV9hc3BlY3RfcmF0aW86bmV3IHQuVW5pZm9ybTFmKGUsci51X2FzcGVjdF9yYXRpbyksdV9mYWRlX2NoYW5nZTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfZmFkZV9jaGFuZ2UpLHVfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9tYXRyaXgpLHVfbGFiZWxfcGxhbmVfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9sYWJlbF9wbGFuZV9tYXRyaXgpLHVfY29vcmRfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9jb29yZF9tYXRyaXgpLHVfaXNfdGV4dDpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfaXNfdGV4dCksdV9waXRjaF93aXRoX21hcDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfcGl0Y2hfd2l0aF9tYXApLHVfdGV4c2l6ZTpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfdGV4c2l6ZSksdV90ZXh0dXJlOm5ldyB0LlVuaWZvcm0xaShlLHIudV90ZXh0dXJlKX19LHN5bWJvbFNERjpmdW5jdGlvbihlLHIpe3JldHVybnt1X2lzX3NpemVfem9vbV9jb25zdGFudDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfaXNfc2l6ZV96b29tX2NvbnN0YW50KSx1X2lzX3NpemVfZmVhdHVyZV9jb25zdGFudDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfaXNfc2l6ZV9mZWF0dXJlX2NvbnN0YW50KSx1X3NpemVfdDpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfc2l6ZV90KSx1X3NpemU6bmV3IHQuVW5pZm9ybTFmKGUsci51X3NpemUpLHVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfY2FtZXJhX3RvX2NlbnRlcl9kaXN0YW5jZSksdV9waXRjaDpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfcGl0Y2gpLHVfcm90YXRlX3N5bWJvbDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfcm90YXRlX3N5bWJvbCksdV9hc3BlY3RfcmF0aW86bmV3IHQuVW5pZm9ybTFmKGUsci51X2FzcGVjdF9yYXRpbyksdV9mYWRlX2NoYW5nZTpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfZmFkZV9jaGFuZ2UpLHVfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9tYXRyaXgpLHVfbGFiZWxfcGxhbmVfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9sYWJlbF9wbGFuZV9tYXRyaXgpLHVfY29vcmRfbWF0cml4Om5ldyB0LlVuaWZvcm1NYXRyaXg0ZihlLHIudV9jb29yZF9tYXRyaXgpLHVfaXNfdGV4dDpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfaXNfdGV4dCksdV9waXRjaF93aXRoX21hcDpuZXcgdC5Vbmlmb3JtMWkoZSxyLnVfcGl0Y2hfd2l0aF9tYXApLHVfdGV4c2l6ZTpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfdGV4c2l6ZSksdV90ZXh0dXJlOm5ldyB0LlVuaWZvcm0xaShlLHIudV90ZXh0dXJlKSx1X2dhbW1hX3NjYWxlOm5ldyB0LlVuaWZvcm0xZihlLHIudV9nYW1tYV9zY2FsZSksdV9kZXZpY2VfcGl4ZWxfcmF0aW86bmV3IHQuVW5pZm9ybTFmKGUsci51X2RldmljZV9waXhlbF9yYXRpbyksdV9pc19oYWxvOm5ldyB0LlVuaWZvcm0xZihlLHIudV9pc19oYWxvKX19LGJhY2tncm91bmQ6ZnVuY3Rpb24oZSxyKXtyZXR1cm57dV9tYXRyaXg6bmV3IHQuVW5pZm9ybU1hdHJpeDRmKGUsci51X21hdHJpeCksdV9vcGFjaXR5Om5ldyB0LlVuaWZvcm0xZihlLHIudV9vcGFjaXR5KSx1X2NvbG9yOm5ldyB0LlVuaWZvcm1Db2xvcihlLHIudV9jb2xvcil9fSxiYWNrZ3JvdW5kUGF0dGVybjpmdW5jdGlvbihlLHIpe3JldHVybnt1X21hdHJpeDpuZXcgdC5Vbmlmb3JtTWF0cml4NGYoZSxyLnVfbWF0cml4KSx1X29wYWNpdHk6bmV3IHQuVW5pZm9ybTFmKGUsci51X29wYWNpdHkpLHVfaW1hZ2U6bmV3IHQuVW5pZm9ybTFpKGUsci51X2ltYWdlKSx1X3BhdHRlcm5fdGxfYTpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfcGF0dGVybl90bF9hKSx1X3BhdHRlcm5fYnJfYTpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfcGF0dGVybl9icl9hKSx1X3BhdHRlcm5fdGxfYjpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfcGF0dGVybl90bF9iKSx1X3BhdHRlcm5fYnJfYjpuZXcgdC5Vbmlmb3JtMmYoZSxyLnVfcGF0dGVybl9icl9iKSx1X3RleHNpemU6bmV3IHQuVW5pZm9ybTJmKGUsci51X3RleHNpemUpLHVfbWl4Om5ldyB0LlVuaWZvcm0xZihlLHIudV9taXgpLHVfcGF0dGVybl9zaXplX2E6bmV3IHQuVW5pZm9ybTJmKGUsci51X3BhdHRlcm5fc2l6ZV9hKSx1X3BhdHRlcm5fc2l6ZV9iOm5ldyB0LlVuaWZvcm0yZihlLHIudV9wYXR0ZXJuX3NpemVfYiksdV9zY2FsZV9hOm5ldyB0LlVuaWZvcm0xZihlLHIudV9zY2FsZV9hKSx1X3NjYWxlX2I6bmV3IHQuVW5pZm9ybTFmKGUsci51X3NjYWxlX2IpLHVfcGl4ZWxfY29vcmRfdXBwZXI6bmV3IHQuVW5pZm9ybTJmKGUsci51X3BpeGVsX2Nvb3JkX3VwcGVyKSx1X3BpeGVsX2Nvb3JkX2xvd2VyOm5ldyB0LlVuaWZvcm0yZihlLHIudV9waXhlbF9jb29yZF9sb3dlciksdV90aWxlX3VuaXRzX3RvX3BpeGVsczpuZXcgdC5Vbmlmb3JtMWYoZSxyLnVfdGlsZV91bml0c190b19waXhlbHMpfX19O2Z1bmN0aW9uIFVyKGUscil7Zm9yKHZhciBuPWUuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0LnRpbGVJRC5pc0xlc3NUaGFuKGUudGlsZUlEKT8tMTplLnRpbGVJRC5pc0xlc3NUaGFuKHQudGlsZUlEKT8xOjB9KSxhPTA7YTxuLmxlbmd0aDthKyspe3ZhciBpPXt9LG89blthXSxzPW4uc2xpY2UoYSsxKTtxcihvLnRpbGVJRC53cmFwcGVkKCksby50aWxlSUQscyxuZXcgdC5PdmVyc2NhbGVkVGlsZUlEKDAsby50aWxlSUQud3JhcCsxLDAsMCwwKSxpKSxvLnNldE1hc2soaSxyKX19ZnVuY3Rpb24gcXIoZSxyLG4sYSxpKXtmb3IodmFyIG89MDtvPG4ubGVuZ3RoO28rKyl7dmFyIHM9bltvXTtpZihhLmlzTGVzc1RoYW4ocy50aWxlSUQpKWJyZWFrO2lmKHIua2V5PT09cy50aWxlSUQua2V5KXJldHVybjtpZihzLnRpbGVJRC5pc0NoaWxkT2Yocikpe2Zvcih2YXIgbD1yLmNoaWxkcmVuKDEvMCksYz0wO2M8bC5sZW5ndGg7YysrKXFyKGUsbFtjXSxuLnNsaWNlKG8pLGEsaSk7cmV0dXJufX12YXIgdT1yLm92ZXJzY2FsZWRaLWUub3ZlcnNjYWxlZFosaD1uZXcgdC5DYW5vbmljYWxUaWxlSUQodSxyLmNhbm9uaWNhbC54LShlLmNhbm9uaWNhbC54PDx1KSxyLmNhbm9uaWNhbC55LShlLmNhbm9uaWNhbC55PDx1KSk7aVtoLmtleV09aVtoLmtleV18fGh9ZnVuY3Rpb24gSHIodCxlLHIsbixhKXtmb3IodmFyIGk9dC5jb250ZXh0LG89aS5nbCxzPWE/dC51c2VQcm9ncmFtKCJjb2xsaXNpb25DaXJjbGUiKTp0LnVzZVByb2dyYW0oImNvbGxpc2lvbkJveCIpLGw9MDtsPG4ubGVuZ3RoO2wrKyl7dmFyIGM9bltsXSx1PWUuZ2V0VGlsZShjKSxoPXUuZ2V0QnVja2V0KHIpO2lmKGgpe3ZhciBmPWE/aC5jb2xsaXNpb25DaXJjbGU6aC5jb2xsaXNpb25Cb3g7ZiYmcy5kcmF3KGksYT9vLlRSSUFOR0xFUzpvLkxJTkVTLE10LmRpc2FibGVkLEF0LmRpc2FibGVkLHQuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpLEV0LmRpc2FibGVkLHdyKGMucG9zTWF0cml4LHQudHJhbnNmb3JtLHUpLHIuaWQsZi5sYXlvdXRWZXJ0ZXhCdWZmZXIsZi5pbmRleEJ1ZmZlcixmLnNlZ21lbnRzLG51bGwsdC50cmFuc2Zvcm0uem9vbSxudWxsLG51bGwsZi5jb2xsaXNpb25WZXJ0ZXhCdWZmZXIpfX19dmFyIEdyPXQuaWRlbnRpdHkobmV3IEZsb2F0MzJBcnJheSgxNikpO2Z1bmN0aW9uIFlyKGUscixuLGEsaSxvKXt2YXIgcz10LmdldEFuY2hvckFsaWdubWVudChlKSxsPS0ocy5ob3Jpem9udGFsQWxpZ24tLjUpKnIsYz0tKHMudmVydGljYWxBbGlnbi0uNSkqbix1PXQuZXZhbHVhdGVSYWRpYWxPZmZzZXQoZSxhKTtyZXR1cm4gbmV3IHQuUG9pbnQoKGwvaSt1WzBdKSpvLChjL2krdVsxXSkqbyl9ZnVuY3Rpb24gV3IoZSxyLG4sYSxpLG8scyxsLGMsdSl7dmFyIGg9ZS50ZXh0LnBsYWNlZFN5bWJvbEFycmF5LGY9ZS50ZXh0LmR5bmFtaWNMYXlvdXRWZXJ0ZXhBcnJheTtmLmNsZWFyKCk7Zm9yKHZhciBwPTA7cDxoLmxlbmd0aDtwKyspe3ZhciBkPWguZ2V0KHApLGc9ZS5hbGxvd1ZlcnRpY2FsUGxhY2VtZW50JiYhZC5wbGFjZWRPcmllbnRhdGlvbix2PWQuaGlkZGVufHwhZC5jcm9zc1RpbGVJRHx8Zz9udWxsOmFbZC5jcm9zc1RpbGVJRF07aWYodil7dmFyIG09bmV3IHQuUG9pbnQoZC5hbmNob3JYLGQuYW5jaG9yWSkseT1KdChtLG4/bDpzKSx4PS41K28uY2FtZXJhVG9DZW50ZXJEaXN0YW5jZS95LnNpZ25lZERpc3RhbmNlRnJvbUNhbWVyYSouNSxiPWkuZXZhbHVhdGVTaXplRm9yRmVhdHVyZShlLnRleHRTaXplRGF0YSx1LGQpKngvdC5PTkVfRU07biYmKGIqPWUudGlsZVBpeGVsUmF0aW8vYyk7Zm9yKHZhciBfPXYud2lkdGgsdz12LmhlaWdodCxrPXYucmFkaWFsT2Zmc2V0LFQ9di50ZXh0Qm94U2NhbGUsTT1Zcih2LmFuY2hvcixfLHcsayxULGIpLEE9bj9KdChtLmFkZChNKSxzKS5wb2ludDp5LnBvaW50LmFkZChyP00ucm90YXRlKC1vLmFuZ2xlKTpNKSxTPWUuYWxsb3dWZXJ0aWNhbFBsYWNlbWVudCYmZC5wbGFjZWRPcmllbnRhdGlvbj09PXQuV3JpdGluZ01vZGUudmVydGljYWw/TWF0aC5QSS8yOjAsRT0wO0U8ZC5udW1HbHlwaHM7RSsrKXQuYWRkRHluYW1pY0F0dHJpYnV0ZXMoZixBLFMpfWVsc2UgaWUoZC5udW1HbHlwaHMsZil9ZS50ZXh0LmR5bmFtaWNMYXlvdXRWZXJ0ZXhCdWZmZXIudXBkYXRlRGF0YShmKX1mdW5jdGlvbiBYcihlKXt2YXIgcj1lLnRleHQucGxhY2VkU3ltYm9sQXJyYXksbj1lLnRleHQuZHluYW1pY0xheW91dFZlcnRleEFycmF5O24uY2xlYXIoKTtmb3IodmFyIGE9MDthPHIubGVuZ3RoO2ErKyl7dmFyIGk9ci5nZXQoYSk7aWYoaS5oaWRkZW58fCFpLnBsYWNlZE9yaWVudGF0aW9uKWllKGkubnVtR2x5cGhzLG4pO2Vsc2UgZm9yKHZhciBvPW5ldyB0LlBvaW50KGkuYW5jaG9yWCxpLmFuY2hvclkpLHM9ZS5hbGxvd1ZlcnRpY2FsUGxhY2VtZW50JiZpLnBsYWNlZE9yaWVudGF0aW9uPT09dC5Xcml0aW5nTW9kZS52ZXJ0aWNhbD9NYXRoLlBJLzI6MCxsPTA7bDxpLm51bUdseXBocztsKyspdC5hZGREeW5hbWljQXR0cmlidXRlcyhuLG8scyl9ZS50ZXh0LmR5bmFtaWNMYXlvdXRWZXJ0ZXhCdWZmZXIudXBkYXRlRGF0YShuKX1mdW5jdGlvbiBacihlLHIsbixhLGksbyxzLGwsYyx1LGgsZixwKXtmb3IodmFyIGQsZyx2PWUuY29udGV4dCxtPXYuZ2wseT1lLnRyYW5zZm9ybSx4PSJtYXAiPT09bCxiPSJtYXAiPT09YyxfPXgmJiJwb2ludCIhPT1uLmxheW91dC5nZXQoInN5bWJvbC1wbGFjZW1lbnQiKSx3PXgmJiFiJiYhXyxrPXZvaWQgMCE9PW4ubGF5b3V0LmdldCgic3ltYm9sLXNvcnQta2V5IikuY29uc3RhbnRPcigxKSxUPWUuZGVwdGhNb2RlRm9yU3VibGF5ZXIoMCxNdC5SZWFkT25seSksTT1uLmxheW91dC5nZXQoInRleHQtdmFyaWFibGUtYW5jaG9yIiksQT1bXSxTPTAsRT1hO1M8RS5sZW5ndGg7Uys9MSl7dmFyIEw9RVtTXSxDPXIuZ2V0VGlsZShMKSxQPUMuZ2V0QnVja2V0KG4pO2lmKFApe3ZhciBPPWk/UC50ZXh0OlAuaWNvbjtpZihPJiZPLnNlZ21lbnRzLmdldCgpLmxlbmd0aCl7dmFyIHo9Ty5wcm9ncmFtQ29uZmlndXJhdGlvbnMuZ2V0KG4uaWQpLEk9aXx8UC5zZGZJY29ucyxEPWk/UC50ZXh0U2l6ZURhdGE6UC5pY29uU2l6ZURhdGE7ZHx8KGQ9ZS51c2VQcm9ncmFtKEk/InN5bWJvbFNERiI6InN5bWJvbEljb24iLHopLGc9dC5ldmFsdWF0ZVNpemVGb3Jab29tKEQseS56b29tKSksdi5hY3RpdmVUZXh0dXJlLnNldChtLlRFWFRVUkUwKTt2YXIgUj12b2lkIDAsRj12b2lkIDAsQj12b2lkIDA7aWYoaSlGPUMuZ2x5cGhBdGxhc1RleHR1cmUsQj1tLkxJTkVBUixSPUMuZ2x5cGhBdGxhc1RleHR1cmUuc2l6ZTtlbHNle3ZhciBOPTEhPT1uLmxheW91dC5nZXQoImljb24tc2l6ZSIpLmNvbnN0YW50T3IoMCl8fFAuaWNvbnNOZWVkTGluZWFyLGo9Ynx8MCE9PXkucGl0Y2g7Rj1DLmltYWdlQXRsYXNUZXh0dXJlLEI9SXx8ZS5vcHRpb25zLnJvdGF0aW5nfHxlLm9wdGlvbnMuem9vbWluZ3x8Tnx8aj9tLkxJTkVBUjptLk5FQVJFU1QsUj1DLmltYWdlQXRsYXNUZXh0dXJlLnNpemV9dmFyIFY9Y2UoQywxLGUudHJhbnNmb3JtLnpvb20pLFU9WHQoTC5wb3NNYXRyaXgsYix4LGUudHJhbnNmb3JtLFYpLHE9WnQoTC5wb3NNYXRyaXgsYix4LGUudHJhbnNmb3JtLFYpO2lmKF8pUXQoUCxMLnBvc01hdHJpeCxlLGksVSxxLGIsdSk7ZWxzZSBpZihpJiZnJiZNKXt2YXIgSD1NYXRoLnBvdygyLHkuem9vbS1DLnRpbGVJRC5vdmVyc2NhbGVkWik7V3IoUCx4LGIscCx0LnN5bWJvbFNpemUseSxVLEwucG9zTWF0cml4LEgsZyl9ZWxzZSBpJiZnJiZQLmFsbG93VmVydGljYWxQbGFjZW1lbnQmJlhyKFApO3ZhciBHPWUudHJhbnNsYXRlUG9zTWF0cml4KEwucG9zTWF0cml4LEMsbyxzKSxZPV98fGkmJk0/R3I6VSxXPWUudHJhbnNsYXRlUG9zTWF0cml4KHEsQyxvLHMsITApLFg9SSYmMCE9PW4ucGFpbnQuZ2V0KGk/InRleHQtaGFsby13aWR0aCI6Imljb24taGFsby13aWR0aCIpLmNvbnN0YW50T3IoMSksWj17cHJvZ3JhbTpkLGJ1ZmZlcnM6Tyx1bmlmb3JtVmFsdWVzOkk/QnIoRC5raW5kLGcsdyxiLGUsRyxZLFcsaSxSLCEwKTpGcihELmtpbmQsZyx3LGIsZSxHLFksVyxpLFIpLGF0bGFzVGV4dHVyZTpGLGF0bGFzSW50ZXJwb2xhdGlvbjpCLGlzU0RGOkksaGFzSGFsbzpYfTtpZihrKWZvcih2YXIgSj0wLEs9Ty5zZWdtZW50cy5nZXQoKTtKPEsubGVuZ3RoO0orPTEpe3ZhciBRPUtbSl07QS5wdXNoKHtzZWdtZW50czpuZXcgdC5TZWdtZW50VmVjdG9yKFtRXSksc29ydEtleTpRLnNvcnRLZXksc3RhdGU6Wn0pfWVsc2UgQS5wdXNoKHtzZWdtZW50czpPLnNlZ21lbnRzLHNvcnRLZXk6MCxzdGF0ZTpafSl9fX1rJiZBLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5zb3J0S2V5LWUuc29ydEtleX0pO2Zvcih2YXIgJD0wLHR0PUE7JDx0dC5sZW5ndGg7JCs9MSl7dmFyIGV0PXR0WyRdLHJ0PWV0LnN0YXRlO2lmKHJ0LmF0bGFzVGV4dHVyZS5iaW5kKHJ0LmF0bGFzSW50ZXJwb2xhdGlvbixtLkNMQU1QX1RPX0VER0UpLHJ0LmlzU0RGKXt2YXIgbnQ9cnQudW5pZm9ybVZhbHVlcztydC5oYXNIYWxvJiYobnQudV9pc19oYWxvPTEsSnIocnQuYnVmZmVycyxldC5zZWdtZW50cyxuLGUscnQucHJvZ3JhbSxULGgsZixudCkpLG50LnVfaXNfaGFsbz0wfUpyKHJ0LmJ1ZmZlcnMsZXQuc2VnbWVudHMsbixlLHJ0LnByb2dyYW0sVCxoLGYscnQudW5pZm9ybVZhbHVlcyl9fWZ1bmN0aW9uIEpyKHQsZSxyLG4sYSxpLG8scyxsKXt2YXIgYz1uLmNvbnRleHQsdT1jLmdsO2EuZHJhdyhjLHUuVFJJQU5HTEVTLGksbyxzLEV0LmRpc2FibGVkLGwsci5pZCx0LmxheW91dFZlcnRleEJ1ZmZlcix0LmluZGV4QnVmZmVyLGUsci5wYWludCxuLnRyYW5zZm9ybS56b29tLHQucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLmdldChyLmlkKSx0LmR5bmFtaWNMYXlvdXRWZXJ0ZXhCdWZmZXIsdC5vcGFjaXR5VmVydGV4QnVmZmVyKX1mdW5jdGlvbiBLcih0LGUscixuLGEsaSxvKXt2YXIgcyxsLGMsdSxoLGY9dC5jb250ZXh0LmdsLHA9ci5wYWludC5nZXQoImZpbGwtcGF0dGVybiIpLGQ9cCYmcC5jb25zdGFudE9yKDEpLGc9ci5nZXRDcm9zc2ZhZGVQYXJhbWV0ZXJzKCk7bz8obD1kJiYhci5nZXRQYWludFByb3BlcnR5KCJmaWxsLW91dGxpbmUtY29sb3IiKT8iZmlsbE91dGxpbmVQYXR0ZXJuIjoiZmlsbE91dGxpbmUiLHM9Zi5MSU5FUyk6KGw9ZD8iZmlsbFBhdHRlcm4iOiJmaWxsIixzPWYuVFJJQU5HTEVTKTtmb3IodmFyIHY9MCxtPW47djxtLmxlbmd0aDt2Kz0xKXt2YXIgeT1tW3ZdLHg9ZS5nZXRUaWxlKHkpO2lmKCFkfHx4LnBhdHRlcm5zTG9hZGVkKCkpe3ZhciBiPXguZ2V0QnVja2V0KHIpO2lmKGIpe3ZhciBfPWIucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLmdldChyLmlkKSx3PXQudXNlUHJvZ3JhbShsLF8pO2QmJih0LmNvbnRleHQuYWN0aXZlVGV4dHVyZS5zZXQoZi5URVhUVVJFMCkseC5pbWFnZUF0bGFzVGV4dHVyZS5iaW5kKGYuTElORUFSLGYuQ0xBTVBfVE9fRURHRSksXy51cGRhdGVQYXR0ZXJuUGFpbnRCdWZmZXJzKGcpKTt2YXIgaz1wLmNvbnN0YW50T3IobnVsbCk7aWYoayYmeC5pbWFnZUF0bGFzKXt2YXIgVD14LmltYWdlQXRsYXMucGF0dGVyblBvc2l0aW9uc1trLnRvXSxNPXguaW1hZ2VBdGxhcy5wYXR0ZXJuUG9zaXRpb25zW2suZnJvbV07VCYmTSYmXy5zZXRDb25zdGFudFBhdHRlcm5Qb3NpdGlvbnMoVCxNKX12YXIgQT10LnRyYW5zbGF0ZVBvc01hdHJpeCh5LnBvc01hdHJpeCx4LHIucGFpbnQuZ2V0KCJmaWxsLXRyYW5zbGF0ZSIpLHIucGFpbnQuZ2V0KCJmaWxsLXRyYW5zbGF0ZS1hbmNob3IiKSk7aWYobyl7dT1iLmluZGV4QnVmZmVyMixoPWIuc2VnbWVudHMyO3ZhciBTPVtmLmRyYXdpbmdCdWZmZXJXaWR0aCxmLmRyYXdpbmdCdWZmZXJIZWlnaHRdO2M9ImZpbGxPdXRsaW5lUGF0dGVybiI9PT1sJiZkP3hyKEEsdCxnLHgsUyk6eXIoQSxTKX1lbHNlIHU9Yi5pbmRleEJ1ZmZlcixoPWIuc2VnbWVudHMsYz1kP21yKEEsdCxnLHgpOnZyKEEpO3cuZHJhdyh0LmNvbnRleHQscyxhLHQuc3RlbmNpbE1vZGVGb3JDbGlwcGluZyh5KSxpLEV0LmRpc2FibGVkLGMsci5pZCxiLmxheW91dFZlcnRleEJ1ZmZlcix1LGgsci5wYWludCx0LnRyYW5zZm9ybS56b29tLF8pfX19fWZ1bmN0aW9uIFFyKHQsZSxyLG4sYSxpLG8pe2Zvcih2YXIgcz10LmNvbnRleHQsbD1zLmdsLGM9ci5wYWludC5nZXQoImZpbGwtZXh0cnVzaW9uLXBhdHRlcm4iKSx1PWMuY29uc3RhbnRPcigxKSxoPXIuZ2V0Q3Jvc3NmYWRlUGFyYW1ldGVycygpLGY9ci5wYWludC5nZXQoImZpbGwtZXh0cnVzaW9uLW9wYWNpdHkiKSxwPTAsZD1uO3A8ZC5sZW5ndGg7cCs9MSl7dmFyIGc9ZFtwXSx2PWUuZ2V0VGlsZShnKSxtPXYuZ2V0QnVja2V0KHIpO2lmKG0pe3ZhciB5PW0ucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLmdldChyLmlkKSx4PXQudXNlUHJvZ3JhbSh1PyJmaWxsRXh0cnVzaW9uUGF0dGVybiI6ImZpbGxFeHRydXNpb24iLHkpO3UmJih0LmNvbnRleHQuYWN0aXZlVGV4dHVyZS5zZXQobC5URVhUVVJFMCksdi5pbWFnZUF0bGFzVGV4dHVyZS5iaW5kKGwuTElORUFSLGwuQ0xBTVBfVE9fRURHRSkseS51cGRhdGVQYXR0ZXJuUGFpbnRCdWZmZXJzKGgpKTt2YXIgYj1jLmNvbnN0YW50T3IobnVsbCk7aWYoYiYmdi5pbWFnZUF0bGFzKXt2YXIgXz12LmltYWdlQXRsYXMucGF0dGVyblBvc2l0aW9uc1tiLnRvXSx3PXYuaW1hZ2VBdGxhcy5wYXR0ZXJuUG9zaXRpb25zW2IuZnJvbV07XyYmdyYmeS5zZXRDb25zdGFudFBhdHRlcm5Qb3NpdGlvbnMoXyx3KX12YXIgaz10LnRyYW5zbGF0ZVBvc01hdHJpeChnLnBvc01hdHJpeCx2LHIucGFpbnQuZ2V0KCJmaWxsLWV4dHJ1c2lvbi10cmFuc2xhdGUiKSxyLnBhaW50LmdldCgiZmlsbC1leHRydXNpb24tdHJhbnNsYXRlLWFuY2hvciIpKSxUPXIucGFpbnQuZ2V0KCJmaWxsLWV4dHJ1c2lvbi12ZXJ0aWNhbC1ncmFkaWVudCIpLE09dT9ncihrLHQsVCxmLGcsaCx2KTpkcihrLHQsVCxmKTt4LmRyYXcocyxzLmdsLlRSSUFOR0xFUyxhLGksbyxFdC5iYWNrQ0NXLE0sci5pZCxtLmxheW91dFZlcnRleEJ1ZmZlcixtLmluZGV4QnVmZmVyLG0uc2VnbWVudHMsci5wYWludCx0LnRyYW5zZm9ybS56b29tLHkpfX19ZnVuY3Rpb24gJHIodCxlLHIsbixhLGkpe3ZhciBvPXQuY29udGV4dCxzPW8uZ2wsbD1lLmZibztpZihsKXt2YXIgYz10LnVzZVByb2dyYW0oImhpbGxzaGFkZSIpO28uYWN0aXZlVGV4dHVyZS5zZXQocy5URVhUVVJFMCkscy5iaW5kVGV4dHVyZShzLlRFWFRVUkVfMkQsbC5jb2xvckF0dGFjaG1lbnQuZ2V0KCkpO3ZhciB1PUFyKHQsZSxyKTtlLm1hc2tlZEJvdW5kc0J1ZmZlciYmZS5tYXNrZWRJbmRleEJ1ZmZlciYmZS5zZWdtZW50cz9jLmRyYXcobyxzLlRSSUFOR0xFUyxuLGEsaSxFdC5kaXNhYmxlZCx1LHIuaWQsZS5tYXNrZWRCb3VuZHNCdWZmZXIsZS5tYXNrZWRJbmRleEJ1ZmZlcixlLnNlZ21lbnRzKTpjLmRyYXcobyxzLlRSSUFOR0xFUyxuLGEsaSxFdC5kaXNhYmxlZCx1LHIuaWQsdC5yYXN0ZXJCb3VuZHNCdWZmZXIsdC5xdWFkVHJpYW5nbGVJbmRleEJ1ZmZlcix0LnJhc3RlckJvdW5kc1NlZ21lbnRzKX19ZnVuY3Rpb24gdG4oZSxyLG4sYSxpLG8scyl7dmFyIGw9ZS5jb250ZXh0LGM9bC5nbDtpZihyLmRlbSYmci5kZW0uZGF0YSl7dmFyIHU9ci5kZW0uZGltLGg9ci5kZW0uc3RyaWRlLGY9ci5kZW0uZ2V0UGl4ZWxzKCk7aWYobC5hY3RpdmVUZXh0dXJlLnNldChjLlRFWFRVUkUxKSxsLnBpeGVsU3RvcmVVbnBhY2tQcmVtdWx0aXBseUFscGhhLnNldCghMSksci5kZW1UZXh0dXJlPXIuZGVtVGV4dHVyZXx8ZS5nZXRUaWxlVGV4dHVyZShoKSxyLmRlbVRleHR1cmUpe3ZhciBwPXIuZGVtVGV4dHVyZTtwLnVwZGF0ZShmLHtwcmVtdWx0aXBseTohMX0pLHAuYmluZChjLk5FQVJFU1QsYy5DTEFNUF9UT19FREdFKX1lbHNlIHIuZGVtVGV4dHVyZT1uZXcgdC5UZXh0dXJlKGwsZixjLlJHQkEse3ByZW11bHRpcGx5OiExfSksci5kZW1UZXh0dXJlLmJpbmQoYy5ORUFSRVNULGMuQ0xBTVBfVE9fRURHRSk7bC5hY3RpdmVUZXh0dXJlLnNldChjLlRFWFRVUkUwKTt2YXIgZD1yLmZibztpZighZCl7dmFyIGc9bmV3IHQuVGV4dHVyZShsLHt3aWR0aDp1LGhlaWdodDp1LGRhdGE6bnVsbH0sYy5SR0JBKTtnLmJpbmQoYy5MSU5FQVIsYy5DTEFNUF9UT19FREdFKSwoZD1yLmZibz1sLmNyZWF0ZUZyYW1lYnVmZmVyKHUsdSkpLmNvbG9yQXR0YWNobWVudC5zZXQoZy50ZXh0dXJlKX1sLmJpbmRGcmFtZWJ1ZmZlci5zZXQoZC5mcmFtZWJ1ZmZlciksbC52aWV3cG9ydC5zZXQoWzAsMCx1LHVdKSxlLnVzZVByb2dyYW0oImhpbGxzaGFkZVByZXBhcmUiKS5kcmF3KGwsYy5UUklBTkdMRVMsaSxvLHMsRXQuZGlzYWJsZWQsU3IocixhKSxuLmlkLGUucmFzdGVyQm91bmRzQnVmZmVyLGUucXVhZFRyaWFuZ2xlSW5kZXhCdWZmZXIsZS5yYXN0ZXJCb3VuZHNTZWdtZW50cyksci5uZWVkc0hpbGxzaGFkZVByZXBhcmU9ITF9fWZ1bmN0aW9uIGVuKGUscixuLGEsaSl7dmFyIG89YS5wYWludC5nZXQoInJhc3Rlci1mYWRlLWR1cmF0aW9uIik7aWYobz4wKXt2YXIgcz10LmJyb3dzZXIubm93KCksbD0ocy1lLnRpbWVBZGRlZCkvbyxjPXI/KHMtci50aW1lQWRkZWQpL286LTEsdT1uLmdldFNvdXJjZSgpLGg9aS5jb3ZlcmluZ1pvb21MZXZlbCh7dGlsZVNpemU6dS50aWxlU2l6ZSxyb3VuZFpvb206dS5yb3VuZFpvb219KSxmPSFyfHxNYXRoLmFicyhyLnRpbGVJRC5vdmVyc2NhbGVkWi1oKT5NYXRoLmFicyhlLnRpbGVJRC5vdmVyc2NhbGVkWi1oKSxwPWYmJmUucmVmcmVzaGVkVXBvbkV4cGlyYXRpb24/MTp0LmNsYW1wKGY/bDoxLWMsMCwxKTtyZXR1cm4gZS5yZWZyZXNoZWRVcG9uRXhwaXJhdGlvbiYmbD49MSYmKGUucmVmcmVzaGVkVXBvbkV4cGlyYXRpb249ITEpLHI/e29wYWNpdHk6MSxtaXg6MS1wfTp7b3BhY2l0eTpwLG1peDowfX1yZXR1cm57b3BhY2l0eToxLG1peDowfX1mdW5jdGlvbiBybihlLHIsbil7dmFyIGE9ZS5jb250ZXh0LGk9YS5nbCxvPW4ucG9zTWF0cml4LHM9ZS51c2VQcm9ncmFtKCJkZWJ1ZyIpLGw9TXQuZGlzYWJsZWQsYz1BdC5kaXNhYmxlZCx1PWUuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpLGg9IiRkZWJ1ZyI7cy5kcmF3KGEsaS5MSU5FX1NUUklQLGwsYyx1LEV0LmRpc2FibGVkLGtyKG8sdC5Db2xvci5yZWQpLGgsZS5kZWJ1Z0J1ZmZlcixlLnRpbGVCb3JkZXJJbmRleEJ1ZmZlcixlLmRlYnVnU2VnbWVudHMpO2Zvcih2YXIgZj1yLmdldFRpbGVCeUlEKG4ua2V5KS5sYXRlc3RSYXdUaWxlRGF0YSxwPWYmJmYuYnl0ZUxlbmd0aHx8MCxkPU1hdGguZmxvb3IocC8xMDI0KSxnPXIuZ2V0VGlsZShuKS50aWxlU2l6ZSx2PTUxMi9NYXRoLm1pbihnLDUxMiksbT1mdW5jdGlvbih0LGUscixuKXtuPW58fDE7dmFyIGEsaSxvLHMsbCxjLHUsaCxmPVtdO2ZvcihhPTAsaT10Lmxlbmd0aDthPGk7YSsrKWlmKGw9bm5bdFthXV0pe2ZvcihoPW51bGwsbz0wLHM9bFsxXS5sZW5ndGg7bzxzO28rPTIpLTE9PT1sWzFdW29dJiYtMT09PWxbMV1bbysxXT9oPW51bGw6KGM9ZStsWzFdW29dKm4sdT1yLWxbMV1bbysxXSpuLGgmJmYucHVzaChoLngsaC55LGMsdSksaD17eDpjLHk6dX0pO2UrPWxbMF0qbn1yZXR1cm4gZn0obi50b1N0cmluZygpKyIgIitkKyJrYiIsNTAsMjAwKnYsNSp2KSx5PW5ldyB0LlN0cnVjdEFycmF5TGF5b3V0Mmk0LHg9bmV3IHQuU3RydWN0QXJyYXlMYXlvdXQydWk0LGI9MDtiPG0ubGVuZ3RoO2IrPTIpeS5lbXBsYWNlQmFjayhtW2JdLG1bYisxXSkseC5lbXBsYWNlQmFjayhiLGIrMSk7Zm9yKHZhciBfPWEuY3JlYXRlVmVydGV4QnVmZmVyKHksRmUubWVtYmVycyksdz1hLmNyZWF0ZUluZGV4QnVmZmVyKHgpLGs9dC5TZWdtZW50VmVjdG9yLnNpbXBsZVNlZ21lbnQoMCwwLHkubGVuZ3RoLzIseS5sZW5ndGgvMiksVD10LkVYVEVOVC8oTWF0aC5wb3coMixlLnRyYW5zZm9ybS56b29tLW4ub3ZlcnNjYWxlZFopKmcqdiksTT1bXSxBPS0xO0E8PTE7QSsrKWZvcih2YXIgUz0tMTtTPD0xJiYoMCE9PUF8fDAhPT1TKTtTKyspTS5wdXNoKFtBLFNdKTtmb3IodmFyIEU9MDtFPE0ubGVuZ3RoO0UrKyl7dmFyIEw9TVtFXTtzLmRyYXcoYSxpLkxJTkVTLGwsYyx1LEV0LmRpc2FibGVkLGtyKHQudHJhbnNsYXRlKFtdLG8sW1QqTFswXSxUKkxbMV0sMF0pLHQuQ29sb3Iud2hpdGUpLGgsXyx3LGspfXMuZHJhdyhhLGkuTElORVMsbCxjLHUsRXQuZGlzYWJsZWQsa3Iobyx0LkNvbG9yLmJsYWNrKSxoLF8sdyxrKX12YXIgbm49eyIgIjpbMTYsW11dLCIhIjpbMTAsWzUsMjEsNSw3LC0xLC0xLDUsMiw0LDEsNSwwLDYsMSw1LDJdXSwnIic6WzE2LFs0LDIxLDQsMTQsLTEsLTEsMTIsMjEsMTIsMTRdXSwiIyI6WzIxLFsxMSwyNSw0LC03LC0xLC0xLDE3LDI1LDEwLC03LC0xLC0xLDQsMTIsMTgsMTIsLTEsLTEsMyw2LDE3LDZdXSwkOlsyMCxbOCwyNSw4LC00LC0xLC0xLDEyLDI1LDEyLC00LC0xLC0xLDE3LDE4LDE1LDIwLDEyLDIxLDgsMjEsNSwyMCwzLDE4LDMsMTYsNCwxNCw1LDEzLDcsMTIsMTMsMTAsMTUsOSwxNiw4LDE3LDYsMTcsMywxNSwxLDEyLDAsOCwwLDUsMSwzLDNdXSwiJSI6WzI0LFsyMSwyMSwzLDAsLTEsLTEsOCwyMSwxMCwxOSwxMCwxNyw5LDE1LDcsMTQsNSwxNCwzLDE2LDMsMTgsNCwyMCw2LDIxLDgsMjEsMTAsMjAsMTMsMTksMTYsMTksMTksMjAsMjEsMjEsLTEsLTEsMTcsNywxNSw2LDE0LDQsMTQsMiwxNiwwLDE4LDAsMjAsMSwyMSwzLDIxLDUsMTksNywxNyw3XV0sIiYiOlsyNixbMjMsMTIsMjMsMTMsMjIsMTQsMjEsMTQsMjAsMTMsMTksMTEsMTcsNiwxNSwzLDEzLDEsMTEsMCw3LDAsNSwxLDQsMiwzLDQsMyw2LDQsOCw1LDksMTIsMTMsMTMsMTQsMTQsMTYsMTQsMTgsMTMsMjAsMTEsMjEsOSwyMCw4LDE4LDgsMTYsOSwxMywxMSwxMCwxNiwzLDE4LDEsMjAsMCwyMiwwLDIzLDEsMjMsMl1dLCInIjpbMTAsWzUsMTksNCwyMCw1LDIxLDYsMjAsNiwxOCw1LDE2LDQsMTVdXSwiKCI6WzE0LFsxMSwyNSw5LDIzLDcsMjAsNSwxNiw0LDExLDQsNyw1LDIsNywtMiw5LC01LDExLC03XV0sIikiOlsxNCxbMywyNSw1LDIzLDcsMjAsOSwxNiwxMCwxMSwxMCw3LDksMiw3LC0yLDUsLTUsMywtN11dLCIqIjpbMTYsWzgsMjEsOCw5LC0xLC0xLDMsMTgsMTMsMTIsLTEsLTEsMTMsMTgsMywxMl1dLCIrIjpbMjYsWzEzLDE4LDEzLDAsLTEsLTEsNCw5LDIyLDldXSwiLCI6WzEwLFs2LDEsNSwwLDQsMSw1LDIsNiwxLDYsLTEsNSwtMyw0LC00XV0sIi0iOlsyNixbNCw5LDIyLDldXSwiLiI6WzEwLFs1LDIsNCwxLDUsMCw2LDEsNSwyXV0sIi8iOlsyMixbMjAsMjUsMiwtN11dLDA6WzIwLFs5LDIxLDYsMjAsNCwxNywzLDEyLDMsOSw0LDQsNiwxLDksMCwxMSwwLDE0LDEsMTYsNCwxNyw5LDE3LDEyLDE2LDE3LDE0LDIwLDExLDIxLDksMjFdXSwxOlsyMCxbNiwxNyw4LDE4LDExLDIxLDExLDBdXSwyOlsyMCxbNCwxNiw0LDE3LDUsMTksNiwyMCw4LDIxLDEyLDIxLDE0LDIwLDE1LDE5LDE2LDE3LDE2LDE1LDE1LDEzLDEzLDEwLDMsMCwxNywwXV0sMzpbMjAsWzUsMjEsMTYsMjEsMTAsMTMsMTMsMTMsMTUsMTIsMTYsMTEsMTcsOCwxNyw2LDE2LDMsMTQsMSwxMSwwLDgsMCw1LDEsNCwyLDMsNF1dLDQ6WzIwLFsxMywyMSwzLDcsMTgsNywtMSwtMSwxMywyMSwxMywwXV0sNTpbMjAsWzE1LDIxLDUsMjEsNCwxMiw1LDEzLDgsMTQsMTEsMTQsMTQsMTMsMTYsMTEsMTcsOCwxNyw2LDE2LDMsMTQsMSwxMSwwLDgsMCw1LDEsNCwyLDMsNF1dLDY6WzIwLFsxNiwxOCwxNSwyMCwxMiwyMSwxMCwyMSw3LDIwLDUsMTcsNCwxMiw0LDcsNSwzLDcsMSwxMCwwLDExLDAsMTQsMSwxNiwzLDE3LDYsMTcsNywxNiwxMCwxNCwxMiwxMSwxMywxMCwxMyw3LDEyLDUsMTAsNCw3XV0sNzpbMjAsWzE3LDIxLDcsMCwtMSwtMSwzLDIxLDE3LDIxXV0sODpbMjAsWzgsMjEsNSwyMCw0LDE4LDQsMTYsNSwxNCw3LDEzLDExLDEyLDE0LDExLDE2LDksMTcsNywxNyw0LDE2LDIsMTUsMSwxMiwwLDgsMCw1LDEsNCwyLDMsNCwzLDcsNCw5LDYsMTEsOSwxMiwxMywxMywxNSwxNCwxNiwxNiwxNiwxOCwxNSwyMCwxMiwyMSw4LDIxXV0sOTpbMjAsWzE2LDE0LDE1LDExLDEzLDksMTAsOCw5LDgsNiw5LDQsMTEsMywxNCwzLDE1LDQsMTgsNiwyMCw5LDIxLDEwLDIxLDEzLDIwLDE1LDE4LDE2LDE0LDE2LDksMTUsNCwxMywxLDEwLDAsOCwwLDUsMSw0LDNdXSwiOiI6WzEwLFs1LDE0LDQsMTMsNSwxMiw2LDEzLDUsMTQsLTEsLTEsNSwyLDQsMSw1LDAsNiwxLDUsMl1dLCI7IjpbMTAsWzUsMTQsNCwxMyw1LDEyLDYsMTMsNSwxNCwtMSwtMSw2LDEsNSwwLDQsMSw1LDIsNiwxLDYsLTEsNSwtMyw0LC00XV0sIjwiOlsyNCxbMjAsMTgsNCw5LDIwLDBdXSwiPSI6WzI2LFs0LDEyLDIyLDEyLC0xLC0xLDQsNiwyMiw2XV0sIj4iOlsyNCxbNCwxOCwyMCw5LDQsMF1dLCI/IjpbMTgsWzMsMTYsMywxNyw0LDE5LDUsMjAsNywyMSwxMSwyMSwxMywyMCwxNCwxOSwxNSwxNywxNSwxNSwxNCwxMywxMywxMiw5LDEwLDksNywtMSwtMSw5LDIsOCwxLDksMCwxMCwxLDksMl1dLCJAIjpbMjcsWzE4LDEzLDE3LDE1LDE1LDE2LDEyLDE2LDEwLDE1LDksMTQsOCwxMSw4LDgsOSw2LDExLDUsMTQsNSwxNiw2LDE3LDgsLTEsLTEsMTIsMTYsMTAsMTQsOSwxMSw5LDgsMTAsNiwxMSw1LC0xLC0xLDE4LDE2LDE3LDgsMTcsNiwxOSw1LDIxLDUsMjMsNywyNCwxMCwyNCwxMiwyMywxNSwyMiwxNywyMCwxOSwxOCwyMCwxNSwyMSwxMiwyMSw5LDIwLDcsMTksNSwxNyw0LDE1LDMsMTIsMyw5LDQsNiw1LDQsNywyLDksMSwxMiwwLDE1LDAsMTgsMSwyMCwyLDIxLDMsLTEsLTEsMTksMTYsMTgsOCwxOCw2LDE5LDVdXSxBOlsxOCxbOSwyMSwxLDAsLTEsLTEsOSwyMSwxNywwLC0xLC0xLDQsNywxNCw3XV0sQjpbMjEsWzQsMjEsNCwwLC0xLC0xLDQsMjEsMTMsMjEsMTYsMjAsMTcsMTksMTgsMTcsMTgsMTUsMTcsMTMsMTYsMTIsMTMsMTEsLTEsLTEsNCwxMSwxMywxMSwxNiwxMCwxNyw5LDE4LDcsMTgsNCwxNywyLDE2LDEsMTMsMCw0LDBdXSxDOlsyMSxbMTgsMTYsMTcsMTgsMTUsMjAsMTMsMjEsOSwyMSw3LDIwLDUsMTgsNCwxNiwzLDEzLDMsOCw0LDUsNSwzLDcsMSw5LDAsMTMsMCwxNSwxLDE3LDMsMTgsNV1dLEQ6WzIxLFs0LDIxLDQsMCwtMSwtMSw0LDIxLDExLDIxLDE0LDIwLDE2LDE4LDE3LDE2LDE4LDEzLDE4LDgsMTcsNSwxNiwzLDE0LDEsMTEsMCw0LDBdXSxFOlsxOSxbNCwyMSw0LDAsLTEsLTEsNCwyMSwxNywyMSwtMSwtMSw0LDExLDEyLDExLC0xLC0xLDQsMCwxNywwXV0sRjpbMTgsWzQsMjEsNCwwLC0xLC0xLDQsMjEsMTcsMjEsLTEsLTEsNCwxMSwxMiwxMV1dLEc6WzIxLFsxOCwxNiwxNywxOCwxNSwyMCwxMywyMSw5LDIxLDcsMjAsNSwxOCw0LDE2LDMsMTMsMyw4LDQsNSw1LDMsNywxLDksMCwxMywwLDE1LDEsMTcsMywxOCw1LDE4LDgsLTEsLTEsMTMsOCwxOCw4XV0sSDpbMjIsWzQsMjEsNCwwLC0xLC0xLDE4LDIxLDE4LDAsLTEsLTEsNCwxMSwxOCwxMV1dLEk6WzgsWzQsMjEsNCwwXV0sSjpbMTYsWzEyLDIxLDEyLDUsMTEsMiwxMCwxLDgsMCw2LDAsNCwxLDMsMiwyLDUsMiw3XV0sSzpbMjEsWzQsMjEsNCwwLC0xLC0xLDE4LDIxLDQsNywtMSwtMSw5LDEyLDE4LDBdXSxMOlsxNyxbNCwyMSw0LDAsLTEsLTEsNCwwLDE2LDBdXSxNOlsyNCxbNCwyMSw0LDAsLTEsLTEsNCwyMSwxMiwwLC0xLC0xLDIwLDIxLDEyLDAsLTEsLTEsMjAsMjEsMjAsMF1dLE46WzIyLFs0LDIxLDQsMCwtMSwtMSw0LDIxLDE4LDAsLTEsLTEsMTgsMjEsMTgsMF1dLE86WzIyLFs5LDIxLDcsMjAsNSwxOCw0LDE2LDMsMTMsMyw4LDQsNSw1LDMsNywxLDksMCwxMywwLDE1LDEsMTcsMywxOCw1LDE5LDgsMTksMTMsMTgsMTYsMTcsMTgsMTUsMjAsMTMsMjEsOSwyMV1dLFA6WzIxLFs0LDIxLDQsMCwtMSwtMSw0LDIxLDEzLDIxLDE2LDIwLDE3LDE5LDE4LDE3LDE4LDE0LDE3LDEyLDE2LDExLDEzLDEwLDQsMTBdXSxROlsyMixbOSwyMSw3LDIwLDUsMTgsNCwxNiwzLDEzLDMsOCw0LDUsNSwzLDcsMSw5LDAsMTMsMCwxNSwxLDE3LDMsMTgsNSwxOSw4LDE5LDEzLDE4LDE2LDE3LDE4LDE1LDIwLDEzLDIxLDksMjEsLTEsLTEsMTIsNCwxOCwtMl1dLFI6WzIxLFs0LDIxLDQsMCwtMSwtMSw0LDIxLDEzLDIxLDE2LDIwLDE3LDE5LDE4LDE3LDE4LDE1LDE3LDEzLDE2LDEyLDEzLDExLDQsMTEsLTEsLTEsMTEsMTEsMTgsMF1dLFM6WzIwLFsxNywxOCwxNSwyMCwxMiwyMSw4LDIxLDUsMjAsMywxOCwzLDE2LDQsMTQsNSwxMyw3LDEyLDEzLDEwLDE1LDksMTYsOCwxNyw2LDE3LDMsMTUsMSwxMiwwLDgsMCw1LDEsMywzXV0sVDpbMTYsWzgsMjEsOCwwLC0xLC0xLDEsMjEsMTUsMjFdXSxVOlsyMixbNCwyMSw0LDYsNSwzLDcsMSwxMCwwLDEyLDAsMTUsMSwxNywzLDE4LDYsMTgsMjFdXSxWOlsxOCxbMSwyMSw5LDAsLTEsLTEsMTcsMjEsOSwwXV0sVzpbMjQsWzIsMjEsNywwLC0xLC0xLDEyLDIxLDcsMCwtMSwtMSwxMiwyMSwxNywwLC0xLC0xLDIyLDIxLDE3LDBdXSxYOlsyMCxbMywyMSwxNywwLC0xLC0xLDE3LDIxLDMsMF1dLFk6WzE4LFsxLDIxLDksMTEsOSwwLC0xLC0xLDE3LDIxLDksMTFdXSxaOlsyMCxbMTcsMjEsMywwLC0xLC0xLDMsMjEsMTcsMjEsLTEsLTEsMywwLDE3LDBdXSwiWyI6WzE0LFs0LDI1LDQsLTcsLTEsLTEsNSwyNSw1LC03LC0xLC0xLDQsMjUsMTEsMjUsLTEsLTEsNCwtNywxMSwtN11dLCJcXCI6WzE0LFswLDIxLDE0LC0zXV0sIl0iOlsxNCxbOSwyNSw5LC03LC0xLC0xLDEwLDI1LDEwLC03LC0xLC0xLDMsMjUsMTAsMjUsLTEsLTEsMywtNywxMCwtN11dLCJeIjpbMTYsWzYsMTUsOCwxOCwxMCwxNSwtMSwtMSwzLDEyLDgsMTcsMTMsMTIsLTEsLTEsOCwxNyw4LDBdXSxfOlsxNixbMCwtMiwxNiwtMl1dLCJgIjpbMTAsWzYsMjEsNSwyMCw0LDE4LDQsMTYsNSwxNSw2LDE2LDUsMTddXSxhOlsxOSxbMTUsMTQsMTUsMCwtMSwtMSwxNSwxMSwxMywxMywxMSwxNCw4LDE0LDYsMTMsNCwxMSwzLDgsMyw2LDQsMyw2LDEsOCwwLDExLDAsMTMsMSwxNSwzXV0sYjpbMTksWzQsMjEsNCwwLC0xLC0xLDQsMTEsNiwxMyw4LDE0LDExLDE0LDEzLDEzLDE1LDExLDE2LDgsMTYsNiwxNSwzLDEzLDEsMTEsMCw4LDAsNiwxLDQsM11dLGM6WzE4LFsxNSwxMSwxMywxMywxMSwxNCw4LDE0LDYsMTMsNCwxMSwzLDgsMyw2LDQsMyw2LDEsOCwwLDExLDAsMTMsMSwxNSwzXV0sZDpbMTksWzE1LDIxLDE1LDAsLTEsLTEsMTUsMTEsMTMsMTMsMTEsMTQsOCwxNCw2LDEzLDQsMTEsMyw4LDMsNiw0LDMsNiwxLDgsMCwxMSwwLDEzLDEsMTUsM11dLGU6WzE4LFszLDgsMTUsOCwxNSwxMCwxNCwxMiwxMywxMywxMSwxNCw4LDE0LDYsMTMsNCwxMSwzLDgsMyw2LDQsMyw2LDEsOCwwLDExLDAsMTMsMSwxNSwzXV0sZjpbMTIsWzEwLDIxLDgsMjEsNiwyMCw1LDE3LDUsMCwtMSwtMSwyLDE0LDksMTRdXSxnOlsxOSxbMTUsMTQsMTUsLTIsMTQsLTUsMTMsLTYsMTEsLTcsOCwtNyw2LC02LC0xLC0xLDE1LDExLDEzLDEzLDExLDE0LDgsMTQsNiwxMyw0LDExLDMsOCwzLDYsNCwzLDYsMSw4LDAsMTEsMCwxMywxLDE1LDNdXSxoOlsxOSxbNCwyMSw0LDAsLTEsLTEsNCwxMCw3LDEzLDksMTQsMTIsMTQsMTQsMTMsMTUsMTAsMTUsMF1dLGk6WzgsWzMsMjEsNCwyMCw1LDIxLDQsMjIsMywyMSwtMSwtMSw0LDE0LDQsMF1dLGo6WzEwLFs1LDIxLDYsMjAsNywyMSw2LDIyLDUsMjEsLTEsLTEsNiwxNCw2LC0zLDUsLTYsMywtNywxLC03XV0sazpbMTcsWzQsMjEsNCwwLC0xLC0xLDE0LDE0LDQsNCwtMSwtMSw4LDgsMTUsMF1dLGw6WzgsWzQsMjEsNCwwXV0sbTpbMzAsWzQsMTQsNCwwLC0xLC0xLDQsMTAsNywxMyw5LDE0LDEyLDE0LDE0LDEzLDE1LDEwLDE1LDAsLTEsLTEsMTUsMTAsMTgsMTMsMjAsMTQsMjMsMTQsMjUsMTMsMjYsMTAsMjYsMF1dLG46WzE5LFs0LDE0LDQsMCwtMSwtMSw0LDEwLDcsMTMsOSwxNCwxMiwxNCwxNCwxMywxNSwxMCwxNSwwXV0sbzpbMTksWzgsMTQsNiwxMyw0LDExLDMsOCwzLDYsNCwzLDYsMSw4LDAsMTEsMCwxMywxLDE1LDMsMTYsNiwxNiw4LDE1LDExLDEzLDEzLDExLDE0LDgsMTRdXSxwOlsxOSxbNCwxNCw0LC03LC0xLC0xLDQsMTEsNiwxMyw4LDE0LDExLDE0LDEzLDEzLDE1LDExLDE2LDgsMTYsNiwxNSwzLDEzLDEsMTEsMCw4LDAsNiwxLDQsM11dLHE6WzE5LFsxNSwxNCwxNSwtNywtMSwtMSwxNSwxMSwxMywxMywxMSwxNCw4LDE0LDYsMTMsNCwxMSwzLDgsMyw2LDQsMyw2LDEsOCwwLDExLDAsMTMsMSwxNSwzXV0scjpbMTMsWzQsMTQsNCwwLC0xLC0xLDQsOCw1LDExLDcsMTMsOSwxNCwxMiwxNF1dLHM6WzE3LFsxNCwxMSwxMywxMywxMCwxNCw3LDE0LDQsMTMsMywxMSw0LDksNiw4LDExLDcsMTMsNiwxNCw0LDE0LDMsMTMsMSwxMCwwLDcsMCw0LDEsMywzXV0sdDpbMTIsWzUsMjEsNSw0LDYsMSw4LDAsMTAsMCwtMSwtMSwyLDE0LDksMTRdXSx1OlsxOSxbNCwxNCw0LDQsNSwxLDcsMCwxMCwwLDEyLDEsMTUsNCwtMSwtMSwxNSwxNCwxNSwwXV0sdjpbMTYsWzIsMTQsOCwwLC0xLC0xLDE0LDE0LDgsMF1dLHc6WzIyLFszLDE0LDcsMCwtMSwtMSwxMSwxNCw3LDAsLTEsLTEsMTEsMTQsMTUsMCwtMSwtMSwxOSwxNCwxNSwwXV0seDpbMTcsWzMsMTQsMTQsMCwtMSwtMSwxNCwxNCwzLDBdXSx5OlsxNixbMiwxNCw4LDAsLTEsLTEsMTQsMTQsOCwwLDYsLTQsNCwtNiwyLC03LDEsLTddXSx6OlsxNyxbMTQsMTQsMywwLC0xLC0xLDMsMTQsMTQsMTQsLTEsLTEsMywwLDE0LDBdXSwieyI6WzE0LFs5LDI1LDcsMjQsNiwyMyw1LDIxLDUsMTksNiwxNyw3LDE2LDgsMTQsOCwxMiw2LDEwLC0xLC0xLDcsMjQsNiwyMiw2LDIwLDcsMTgsOCwxNyw5LDE1LDksMTMsOCwxMSw0LDksOCw3LDksNSw5LDMsOCwxLDcsMCw2LC0yLDYsLTQsNywtNiwtMSwtMSw2LDgsOCw2LDgsNCw3LDIsNiwxLDUsLTEsNSwtMyw2LC01LDcsLTYsOSwtN11dLCJ8IjpbOCxbNCwyNSw0LC03XV0sIn0iOlsxNCxbNSwyNSw3LDI0LDgsMjMsOSwyMSw5LDE5LDgsMTcsNywxNiw2LDE0LDYsMTIsOCwxMCwtMSwtMSw3LDI0LDgsMjIsOCwyMCw3LDE4LDYsMTcsNSwxNSw1LDEzLDYsMTEsMTAsOSw2LDcsNSw1LDUsMyw2LDEsNywwLDgsLTIsOCwtNCw3LC02LC0xLC0xLDgsOCw2LDYsNiw0LDcsMiw4LDEsOSwtMSw5LC0zLDgsLTUsNywtNiw1LC03XV0sIn4iOlsyNCxbMyw2LDMsOCw0LDExLDYsMTIsOCwxMiwxMCwxMSwxNCw4LDE2LDcsMTgsNywyMCw4LDIxLDEwLC0xLC0xLDMsOCw0LDEwLDYsMTEsOCwxMSwxMCwxMCwxNCw3LDE2LDYsMTgsNiwyMCw3LDIxLDEwLDIxLDEyXV19LGFuPXtzeW1ib2w6ZnVuY3Rpb24odCxlLHIsbixhKXtpZigidHJhbnNsdWNlbnQiPT09dC5yZW5kZXJQYXNzKXt2YXIgaT1BdC5kaXNhYmxlZCxvPXQuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpOzAhPT1yLnBhaW50LmdldCgiaWNvbi1vcGFjaXR5IikuY29uc3RhbnRPcigxKSYmWnIodCxlLHIsbiwhMSxyLnBhaW50LmdldCgiaWNvbi10cmFuc2xhdGUiKSxyLnBhaW50LmdldCgiaWNvbi10cmFuc2xhdGUtYW5jaG9yIiksci5sYXlvdXQuZ2V0KCJpY29uLXJvdGF0aW9uLWFsaWdubWVudCIpLHIubGF5b3V0LmdldCgiaWNvbi1waXRjaC1hbGlnbm1lbnQiKSxyLmxheW91dC5nZXQoImljb24ta2VlcC11cHJpZ2h0IiksaSxvLGEpLDAhPT1yLnBhaW50LmdldCgidGV4dC1vcGFjaXR5IikuY29uc3RhbnRPcigxKSYmWnIodCxlLHIsbiwhMCxyLnBhaW50LmdldCgidGV4dC10cmFuc2xhdGUiKSxyLnBhaW50LmdldCgidGV4dC10cmFuc2xhdGUtYW5jaG9yIiksci5sYXlvdXQuZ2V0KCJ0ZXh0LXJvdGF0aW9uLWFsaWdubWVudCIpLHIubGF5b3V0LmdldCgidGV4dC1waXRjaC1hbGlnbm1lbnQiKSxyLmxheW91dC5nZXQoInRleHQta2VlcC11cHJpZ2h0IiksaSxvLGEpLGUubWFwLnNob3dDb2xsaXNpb25Cb3hlcyYmZnVuY3Rpb24odCxlLHIsbil7SHIodCxlLHIsbiwhMSksSHIodCxlLHIsbiwhMCl9KHQsZSxyLG4pfX0sY2lyY2xlOmZ1bmN0aW9uKGUscixuLGEpe2lmKCJ0cmFuc2x1Y2VudCI9PT1lLnJlbmRlclBhc3Mpe3ZhciBpPW4ucGFpbnQuZ2V0KCJjaXJjbGUtb3BhY2l0eSIpLG89bi5wYWludC5nZXQoImNpcmNsZS1zdHJva2Utd2lkdGgiKSxzPW4ucGFpbnQuZ2V0KCJjaXJjbGUtc3Ryb2tlLW9wYWNpdHkiKSxsPXZvaWQgMCE9PW4ubGF5b3V0LmdldCgiY2lyY2xlLXNvcnQta2V5IikuY29uc3RhbnRPcigxKTtpZigwIT09aS5jb25zdGFudE9yKDEpfHwwIT09by5jb25zdGFudE9yKDEpJiYwIT09cy5jb25zdGFudE9yKDEpKXtmb3IodmFyIGM9ZS5jb250ZXh0LHU9Yy5nbCxoPWUuZGVwdGhNb2RlRm9yU3VibGF5ZXIoMCxNdC5SZWFkT25seSksZj1BdC5kaXNhYmxlZCxwPWUuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpLGQ9W10sZz0wO2c8YS5sZW5ndGg7ZysrKXt2YXIgdj1hW2ddLG09ci5nZXRUaWxlKHYpLHk9bS5nZXRCdWNrZXQobik7aWYoeSl7dmFyIHg9eS5wcm9ncmFtQ29uZmlndXJhdGlvbnMuZ2V0KG4uaWQpLGI9e3Byb2dyYW1Db25maWd1cmF0aW9uOngscHJvZ3JhbTplLnVzZVByb2dyYW0oImNpcmNsZSIseCksbGF5b3V0VmVydGV4QnVmZmVyOnkubGF5b3V0VmVydGV4QnVmZmVyLGluZGV4QnVmZmVyOnkuaW5kZXhCdWZmZXIsdW5pZm9ybVZhbHVlczpicihlLHYsbSxuKX07aWYobClmb3IodmFyIF89MCx3PXkuc2VnbWVudHMuZ2V0KCk7Xzx3Lmxlbmd0aDtfKz0xKXt2YXIgaz13W19dO2QucHVzaCh7c2VnbWVudHM6bmV3IHQuU2VnbWVudFZlY3Rvcihba10pLHNvcnRLZXk6ay5zb3J0S2V5LHN0YXRlOmJ9KX1lbHNlIGQucHVzaCh7c2VnbWVudHM6eS5zZWdtZW50cyxzb3J0S2V5OjAsc3RhdGU6Yn0pfX1sJiZkLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5zb3J0S2V5LWUuc29ydEtleX0pO2Zvcih2YXIgVD0wLE09ZDtUPE0ubGVuZ3RoO1QrPTEpe3ZhciBBPU1bVF0sUz1BLnN0YXRlLEU9Uy5wcm9ncmFtQ29uZmlndXJhdGlvbixMPVMucHJvZ3JhbSxDPVMubGF5b3V0VmVydGV4QnVmZmVyLFA9Uy5pbmRleEJ1ZmZlcixPPVMudW5pZm9ybVZhbHVlcyx6PUEuc2VnbWVudHM7TC5kcmF3KGMsdS5UUklBTkdMRVMsaCxmLHAsRXQuZGlzYWJsZWQsTyxuLmlkLEMsUCx6LG4ucGFpbnQsZS50cmFuc2Zvcm0uem9vbSxFKX19fX0saGVhdG1hcDpmdW5jdGlvbihlLHIsbixhKXtpZigwIT09bi5wYWludC5nZXQoImhlYXRtYXAtb3BhY2l0eSIpKWlmKCJvZmZzY3JlZW4iPT09ZS5yZW5kZXJQYXNzKXt2YXIgaT1lLmNvbnRleHQsbz1pLmdsLHM9ZS5kZXB0aE1vZGVGb3JTdWJsYXllcigwLE10LlJlYWRPbmx5KSxsPUF0LmRpc2FibGVkLGM9bmV3IFN0KFtvLk9ORSxvLk9ORV0sdC5Db2xvci50cmFuc3BhcmVudCxbITAsITAsITAsITBdKTshZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQuZ2w7dC5hY3RpdmVUZXh0dXJlLnNldChuLlRFWFRVUkUxKSx0LnZpZXdwb3J0LnNldChbMCwwLGUud2lkdGgvNCxlLmhlaWdodC80XSk7dmFyIGE9ci5oZWF0bWFwRmJvO2lmKGEpbi5iaW5kVGV4dHVyZShuLlRFWFRVUkVfMkQsYS5jb2xvckF0dGFjaG1lbnQuZ2V0KCkpLHQuYmluZEZyYW1lYnVmZmVyLnNldChhLmZyYW1lYnVmZmVyKTtlbHNle3ZhciBpPW4uY3JlYXRlVGV4dHVyZSgpO24uYmluZFRleHR1cmUobi5URVhUVVJFXzJELGkpLG4udGV4UGFyYW1ldGVyaShuLlRFWFRVUkVfMkQsbi5URVhUVVJFX1dSQVBfUyxuLkNMQU1QX1RPX0VER0UpLG4udGV4UGFyYW1ldGVyaShuLlRFWFRVUkVfMkQsbi5URVhUVVJFX1dSQVBfVCxuLkNMQU1QX1RPX0VER0UpLG4udGV4UGFyYW1ldGVyaShuLlRFWFRVUkVfMkQsbi5URVhUVVJFX01JTl9GSUxURVIsbi5MSU5FQVIpLG4udGV4UGFyYW1ldGVyaShuLlRFWFRVUkVfMkQsbi5URVhUVVJFX01BR19GSUxURVIsbi5MSU5FQVIpLGE9ci5oZWF0bWFwRmJvPXQuY3JlYXRlRnJhbWVidWZmZXIoZS53aWR0aC80LGUuaGVpZ2h0LzQpLGZ1bmN0aW9uIHQoZSxyLG4sYSl7dmFyIGk9ZS5nbDtpLnRleEltYWdlMkQoaS5URVhUVVJFXzJELDAsaS5SR0JBLHIud2lkdGgvNCxyLmhlaWdodC80LDAsaS5SR0JBLGUuZXh0VGV4dHVyZUhhbGZGbG9hdD9lLmV4dFRleHR1cmVIYWxmRmxvYXQuSEFMRl9GTE9BVF9PRVM6aS5VTlNJR05FRF9CWVRFLG51bGwpLGEuY29sb3JBdHRhY2htZW50LnNldChuKSxlLmV4dFRleHR1cmVIYWxmRmxvYXQmJmkuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhpLkZSQU1FQlVGRkVSKSE9PWkuRlJBTUVCVUZGRVJfQ09NUExFVEUmJihlLmV4dFRleHR1cmVIYWxmRmxvYXQ9bnVsbCxhLmNvbG9yQXR0YWNobWVudC5zZXREaXJ0eSgpLHQoZSxyLG4sYSkpfSh0LGUsaSxhKX19KGksZSxuKSxpLmNsZWFyKHtjb2xvcjp0LkNvbG9yLnRyYW5zcGFyZW50fSk7Zm9yKHZhciB1PTA7dTxhLmxlbmd0aDt1Kyspe3ZhciBoPWFbdV07aWYoIXIuaGFzUmVuZGVyYWJsZVBhcmVudChoKSl7dmFyIGY9ci5nZXRUaWxlKGgpLHA9Zi5nZXRCdWNrZXQobik7aWYocCl7dmFyIGQ9cC5wcm9ncmFtQ29uZmlndXJhdGlvbnMuZ2V0KG4uaWQpLGc9ZS51c2VQcm9ncmFtKCJoZWF0bWFwIixkKSx2PWUudHJhbnNmb3JtLnpvb207Zy5kcmF3KGksby5UUklBTkdMRVMscyxsLGMsRXQuZGlzYWJsZWQsTXIoaC5wb3NNYXRyaXgsZix2LG4ucGFpbnQuZ2V0KCJoZWF0bWFwLWludGVuc2l0eSIpKSxuLmlkLHAubGF5b3V0VmVydGV4QnVmZmVyLHAuaW5kZXhCdWZmZXIscC5zZWdtZW50cyxuLnBhaW50LGUudHJhbnNmb3JtLnpvb20sZCl9fX1pLnZpZXdwb3J0LnNldChbMCwwLGUud2lkdGgsZS5oZWlnaHRdKX1lbHNlInRyYW5zbHVjZW50Ij09PWUucmVuZGVyUGFzcyYmKGUuY29udGV4dC5zZXRDb2xvck1vZGUoZS5jb2xvck1vZGVGb3JSZW5kZXJQYXNzKCkpLGZ1bmN0aW9uKGUscil7dmFyIG49ZS5jb250ZXh0LGE9bi5nbCxpPXIuaGVhdG1hcEZibztpZihpKXtuLmFjdGl2ZVRleHR1cmUuc2V0KGEuVEVYVFVSRTApLGEuYmluZFRleHR1cmUoYS5URVhUVVJFXzJELGkuY29sb3JBdHRhY2htZW50LmdldCgpKSxuLmFjdGl2ZVRleHR1cmUuc2V0KGEuVEVYVFVSRTEpO3ZhciBvPXIuY29sb3JSYW1wVGV4dHVyZTtvfHwobz1yLmNvbG9yUmFtcFRleHR1cmU9bmV3IHQuVGV4dHVyZShuLHIuY29sb3JSYW1wLGEuUkdCQSkpLG8uYmluZChhLkxJTkVBUixhLkNMQU1QX1RPX0VER0UpLGUudXNlUHJvZ3JhbSgiaGVhdG1hcFRleHR1cmUiKS5kcmF3KG4sYS5UUklBTkdMRVMsTXQuZGlzYWJsZWQsQXQuZGlzYWJsZWQsZS5jb2xvck1vZGVGb3JSZW5kZXJQYXNzKCksRXQuZGlzYWJsZWQsZnVuY3Rpb24oZSxyLG4sYSl7dmFyIGk9dC5jcmVhdGUoKTt0Lm9ydGhvKGksMCxlLndpZHRoLGUuaGVpZ2h0LDAsMCwxKTt2YXIgbz1lLmNvbnRleHQuZ2w7cmV0dXJue3VfbWF0cml4OmksdV93b3JsZDpbby5kcmF3aW5nQnVmZmVyV2lkdGgsby5kcmF3aW5nQnVmZmVySGVpZ2h0XSx1X2ltYWdlOm4sdV9jb2xvcl9yYW1wOmEsdV9vcGFjaXR5OnIucGFpbnQuZ2V0KCJoZWF0bWFwLW9wYWNpdHkiKX19KGUsciwwLDEpLHIuaWQsZS52aWV3cG9ydEJ1ZmZlcixlLnF1YWRUcmlhbmdsZUluZGV4QnVmZmVyLGUudmlld3BvcnRTZWdtZW50cyxyLnBhaW50LGUudHJhbnNmb3JtLnpvb20pfX0oZSxuKSl9LGxpbmU6ZnVuY3Rpb24oZSxyLG4sYSl7aWYoInRyYW5zbHVjZW50Ij09PWUucmVuZGVyUGFzcyl7dmFyIGk9bi5wYWludC5nZXQoImxpbmUtb3BhY2l0eSIpLG89bi5wYWludC5nZXQoImxpbmUtd2lkdGgiKTtpZigwIT09aS5jb25zdGFudE9yKDEpJiYwIT09by5jb25zdGFudE9yKDEpKXt2YXIgcz1lLmRlcHRoTW9kZUZvclN1YmxheWVyKDAsTXQuUmVhZE9ubHkpLGw9ZS5jb2xvck1vZGVGb3JSZW5kZXJQYXNzKCksYz1uLnBhaW50LmdldCgibGluZS1kYXNoYXJyYXkiKSx1PW4ucGFpbnQuZ2V0KCJsaW5lLXBhdHRlcm4iKSxoPXUuY29uc3RhbnRPcigxKSxmPW4ucGFpbnQuZ2V0KCJsaW5lLWdyYWRpZW50IikscD1uLmdldENyb3NzZmFkZVBhcmFtZXRlcnMoKSxkPWM/ImxpbmVTREYiOmg/ImxpbmVQYXR0ZXJuIjpmPyJsaW5lR3JhZGllbnQiOiJsaW5lIixnPWUuY29udGV4dCx2PWcuZ2wsbT0hMDtpZihmKXtnLmFjdGl2ZVRleHR1cmUuc2V0KHYuVEVYVFVSRTApO3ZhciB5PW4uZ3JhZGllbnRUZXh0dXJlO2lmKCFuLmdyYWRpZW50KXJldHVybjt5fHwoeT1uLmdyYWRpZW50VGV4dHVyZT1uZXcgdC5UZXh0dXJlKGcsbi5ncmFkaWVudCx2LlJHQkEpKSx5LmJpbmQodi5MSU5FQVIsdi5DTEFNUF9UT19FREdFKX1mb3IodmFyIHg9MCxiPWE7eDxiLmxlbmd0aDt4Kz0xKXt2YXIgXz1iW3hdLHc9ci5nZXRUaWxlKF8pO2lmKCFofHx3LnBhdHRlcm5zTG9hZGVkKCkpe3ZhciBrPXcuZ2V0QnVja2V0KG4pO2lmKGspe3ZhciBUPWsucHJvZ3JhbUNvbmZpZ3VyYXRpb25zLmdldChuLmlkKSxNPWUuY29udGV4dC5wcm9ncmFtLmdldCgpLEE9ZS51c2VQcm9ncmFtKGQsVCksUz1tfHxBLnByb2dyYW0hPT1NLEU9dS5jb25zdGFudE9yKG51bGwpO2lmKEUmJncuaW1hZ2VBdGxhcyl7dmFyIEw9dy5pbWFnZUF0bGFzLnBhdHRlcm5Qb3NpdGlvbnNbRS50b10sQz13LmltYWdlQXRsYXMucGF0dGVyblBvc2l0aW9uc1tFLmZyb21dO0wmJkMmJlQuc2V0Q29uc3RhbnRQYXR0ZXJuUG9zaXRpb25zKEwsQyl9dmFyIFA9Yz9PcihlLHcsbixjLHApOmg/UHIoZSx3LG4scCk6Zj9DcihlLHcsbik6THIoZSx3LG4pO2MmJihTfHxlLmxpbmVBdGxhcy5kaXJ0eSk/KGcuYWN0aXZlVGV4dHVyZS5zZXQodi5URVhUVVJFMCksZS5saW5lQXRsYXMuYmluZChnKSk6aCYmKGcuYWN0aXZlVGV4dHVyZS5zZXQodi5URVhUVVJFMCksdy5pbWFnZUF0bGFzVGV4dHVyZS5iaW5kKHYuTElORUFSLHYuQ0xBTVBfVE9fRURHRSksVC51cGRhdGVQYXR0ZXJuUGFpbnRCdWZmZXJzKHApKSxBLmRyYXcoZyx2LlRSSUFOR0xFUyxzLGUuc3RlbmNpbE1vZGVGb3JDbGlwcGluZyhfKSxsLEV0LmRpc2FibGVkLFAsbi5pZCxrLmxheW91dFZlcnRleEJ1ZmZlcixrLmluZGV4QnVmZmVyLGsuc2VnbWVudHMsbi5wYWludCxlLnRyYW5zZm9ybS56b29tLFQpLG09ITF9fX19fX0sZmlsbDpmdW5jdGlvbihlLHIsbixhKXt2YXIgaT1uLnBhaW50LmdldCgiZmlsbC1jb2xvciIpLG89bi5wYWludC5nZXQoImZpbGwtb3BhY2l0eSIpO2lmKDAhPT1vLmNvbnN0YW50T3IoMSkpe3ZhciBzPWUuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpLGw9bi5wYWludC5nZXQoImZpbGwtcGF0dGVybiIpLGM9ZS5vcGFxdWVQYXNzRW5hYmxlZEZvckxheWVyKCkmJiFsLmNvbnN0YW50T3IoMSkmJjE9PT1pLmNvbnN0YW50T3IodC5Db2xvci50cmFuc3BhcmVudCkuYSYmMT09PW8uY29uc3RhbnRPcigwKT8ib3BhcXVlIjoidHJhbnNsdWNlbnQiO2lmKGUucmVuZGVyUGFzcz09PWMpe3ZhciB1PWUuZGVwdGhNb2RlRm9yU3VibGF5ZXIoMSwib3BhcXVlIj09PWUucmVuZGVyUGFzcz9NdC5SZWFkV3JpdGU6TXQuUmVhZE9ubHkpO0tyKGUscixuLGEsdSxzLCExKX1pZigidHJhbnNsdWNlbnQiPT09ZS5yZW5kZXJQYXNzJiZuLnBhaW50LmdldCgiZmlsbC1hbnRpYWxpYXMiKSl7dmFyIGg9ZS5kZXB0aE1vZGVGb3JTdWJsYXllcihuLmdldFBhaW50UHJvcGVydHkoImZpbGwtb3V0bGluZS1jb2xvciIpPzI6MCxNdC5SZWFkT25seSk7S3IoZSxyLG4sYSxoLHMsITApfX19LCJmaWxsLWV4dHJ1c2lvbiI6ZnVuY3Rpb24odCxlLHIsbil7dmFyIGE9ci5wYWludC5nZXQoImZpbGwtZXh0cnVzaW9uLW9wYWNpdHkiKTtpZigwIT09YSYmInRyYW5zbHVjZW50Ij09PXQucmVuZGVyUGFzcyl7dmFyIGk9bmV3IE10KHQuY29udGV4dC5nbC5MRVFVQUwsTXQuUmVhZFdyaXRlLHQuZGVwdGhSYW5nZUZvcjNEKTtpZigxIT09YXx8ci5wYWludC5nZXQoImZpbGwtZXh0cnVzaW9uLXBhdHRlcm4iKS5jb25zdGFudE9yKDEpKVFyKHQsZSxyLG4saSxBdC5kaXNhYmxlZCxTdC5kaXNhYmxlZCksUXIodCxlLHIsbixpLHQuc3RlbmNpbE1vZGVGb3IzRCgpLHQuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpKTtlbHNle3ZhciBvPXQuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpO1FyKHQsZSxyLG4saSxBdC5kaXNhYmxlZCxvKX19fSxoaWxsc2hhZGU6ZnVuY3Rpb24odCxlLHIsbil7aWYoIm9mZnNjcmVlbiI9PT10LnJlbmRlclBhc3N8fCJ0cmFuc2x1Y2VudCI9PT10LnJlbmRlclBhc3Mpe2Zvcih2YXIgYT10LmNvbnRleHQsaT1lLmdldFNvdXJjZSgpLm1heHpvb20sbz10LmRlcHRoTW9kZUZvclN1YmxheWVyKDAsTXQuUmVhZE9ubHkpLHM9QXQuZGlzYWJsZWQsbD10LmNvbG9yTW9kZUZvclJlbmRlclBhc3MoKSxjPTAsdT1uO2M8dS5sZW5ndGg7Yys9MSl7dmFyIGg9dVtjXSxmPWUuZ2V0VGlsZShoKTtmLm5lZWRzSGlsbHNoYWRlUHJlcGFyZSYmIm9mZnNjcmVlbiI9PT10LnJlbmRlclBhc3M/dG4odCxmLHIsaSxvLHMsbCk6InRyYW5zbHVjZW50Ij09PXQucmVuZGVyUGFzcyYmJHIodCxmLHIsbyxzLGwpfWEudmlld3BvcnQuc2V0KFswLDAsdC53aWR0aCx0LmhlaWdodF0pfX0scmFzdGVyOmZ1bmN0aW9uKHQsZSxyLG4pe2lmKCJ0cmFuc2x1Y2VudCI9PT10LnJlbmRlclBhc3MmJjAhPT1yLnBhaW50LmdldCgicmFzdGVyLW9wYWNpdHkiKSlmb3IodmFyIGE9dC5jb250ZXh0LGk9YS5nbCxvPWUuZ2V0U291cmNlKCkscz10LnVzZVByb2dyYW0oInJhc3RlciIpLGw9QXQuZGlzYWJsZWQsYz10LmNvbG9yTW9kZUZvclJlbmRlclBhc3MoKSx1PW4ubGVuZ3RoJiZuWzBdLm92ZXJzY2FsZWRaLGg9IXQub3B0aW9ucy5tb3ZpbmcsZj0wLHA9bjtmPHAubGVuZ3RoO2YrPTEpe3ZhciBkPXBbZl0sZz10LmRlcHRoTW9kZUZvclN1YmxheWVyKGQub3ZlcnNjYWxlZFotdSwxPT09ci5wYWludC5nZXQoInJhc3Rlci1vcGFjaXR5Iik/TXQuUmVhZFdyaXRlOk10LlJlYWRPbmx5LGkuTEVTUyksdj1lLmdldFRpbGUoZCksbT10LnRyYW5zZm9ybS5jYWxjdWxhdGVQb3NNYXRyaXgoZC50b1Vud3JhcHBlZCgpLGgpO3YucmVnaXN0ZXJGYWRlRHVyYXRpb24oci5wYWludC5nZXQoInJhc3Rlci1mYWRlLWR1cmF0aW9uIikpO3ZhciB5PWUuZmluZExvYWRlZFBhcmVudChkLDApLHg9ZW4odix5LGUscix0LnRyYW5zZm9ybSksYj12b2lkIDAsXz12b2lkIDAsdz0ibmVhcmVzdCI9PT1yLnBhaW50LmdldCgicmFzdGVyLXJlc2FtcGxpbmciKT9pLk5FQVJFU1Q6aS5MSU5FQVI7YS5hY3RpdmVUZXh0dXJlLnNldChpLlRFWFRVUkUwKSx2LnRleHR1cmUuYmluZCh3LGkuQ0xBTVBfVE9fRURHRSxpLkxJTkVBUl9NSVBNQVBfTkVBUkVTVCksYS5hY3RpdmVUZXh0dXJlLnNldChpLlRFWFRVUkUxKSx5Pyh5LnRleHR1cmUuYmluZCh3LGkuQ0xBTVBfVE9fRURHRSxpLkxJTkVBUl9NSVBNQVBfTkVBUkVTVCksYj1NYXRoLnBvdygyLHkudGlsZUlELm92ZXJzY2FsZWRaLXYudGlsZUlELm92ZXJzY2FsZWRaKSxfPVt2LnRpbGVJRC5jYW5vbmljYWwueCpiJTEsdi50aWxlSUQuY2Fub25pY2FsLnkqYiUxXSk6di50ZXh0dXJlLmJpbmQodyxpLkNMQU1QX1RPX0VER0UsaS5MSU5FQVJfTUlQTUFQX05FQVJFU1QpO3ZhciBrPURyKG0sX3x8WzAsMF0sYnx8MSx4LHIpO28gaW5zdGFuY2VvZiBQP3MuZHJhdyhhLGkuVFJJQU5HTEVTLGcsbCxjLEV0LmRpc2FibGVkLGssci5pZCxvLmJvdW5kc0J1ZmZlcix0LnF1YWRUcmlhbmdsZUluZGV4QnVmZmVyLG8uYm91bmRzU2VnbWVudHMpOnYubWFza2VkQm91bmRzQnVmZmVyJiZ2Lm1hc2tlZEluZGV4QnVmZmVyJiZ2LnNlZ21lbnRzP3MuZHJhdyhhLGkuVFJJQU5HTEVTLGcsbCxjLEV0LmRpc2FibGVkLGssci5pZCx2Lm1hc2tlZEJvdW5kc0J1ZmZlcix2Lm1hc2tlZEluZGV4QnVmZmVyLHYuc2VnbWVudHMsci5wYWludCx0LnRyYW5zZm9ybS56b29tKTpzLmRyYXcoYSxpLlRSSUFOR0xFUyxnLGwsYyxFdC5kaXNhYmxlZCxrLHIuaWQsdC5yYXN0ZXJCb3VuZHNCdWZmZXIsdC5xdWFkVHJpYW5nbGVJbmRleEJ1ZmZlcix0LnJhc3RlckJvdW5kc1NlZ21lbnRzKX19LGJhY2tncm91bmQ6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIucGFpbnQuZ2V0KCJiYWNrZ3JvdW5kLWNvbG9yIiksYT1yLnBhaW50LmdldCgiYmFja2dyb3VuZC1vcGFjaXR5Iik7aWYoMCE9PWEpe3ZhciBpPXQuY29udGV4dCxvPWkuZ2wscz10LnRyYW5zZm9ybSxsPXMudGlsZVNpemUsYz1yLnBhaW50LmdldCgiYmFja2dyb3VuZC1wYXR0ZXJuIik7aWYoIXQuaXNQYXR0ZXJuTWlzc2luZyhjKSl7dmFyIHU9IWMmJjE9PT1uLmEmJjE9PT1hJiZ0Lm9wYXF1ZVBhc3NFbmFibGVkRm9yTGF5ZXIoKT8ib3BhcXVlIjoidHJhbnNsdWNlbnQiO2lmKHQucmVuZGVyUGFzcz09PXUpe3ZhciBoPUF0LmRpc2FibGVkLGY9dC5kZXB0aE1vZGVGb3JTdWJsYXllcigwLCJvcGFxdWUiPT09dT9NdC5SZWFkV3JpdGU6TXQuUmVhZE9ubHkpLHA9dC5jb2xvck1vZGVGb3JSZW5kZXJQYXNzKCksZD10LnVzZVByb2dyYW0oYz8iYmFja2dyb3VuZFBhdHRlcm4iOiJiYWNrZ3JvdW5kIiksZz1zLmNvdmVyaW5nVGlsZXMoe3RpbGVTaXplOmx9KTtjJiYoaS5hY3RpdmVUZXh0dXJlLnNldChvLlRFWFRVUkUwKSx0LmltYWdlTWFuYWdlci5iaW5kKHQuY29udGV4dCkpO2Zvcih2YXIgdj1yLmdldENyb3NzZmFkZVBhcmFtZXRlcnMoKSxtPTAseT1nO208eS5sZW5ndGg7bSs9MSl7dmFyIHg9eVttXSxiPXQudHJhbnNmb3JtLmNhbGN1bGF0ZVBvc01hdHJpeCh4LnRvVW53cmFwcGVkKCkpLF89Yz9qcihiLGEsdCxjLHt0aWxlSUQ6eCx0aWxlU2l6ZTpsfSx2KTpOcihiLGEsbik7ZC5kcmF3KGksby5UUklBTkdMRVMsZixoLHAsRXQuZGlzYWJsZWQsXyxyLmlkLHQudGlsZUV4dGVudEJ1ZmZlcix0LnF1YWRUcmlhbmdsZUluZGV4QnVmZmVyLHQudGlsZUV4dGVudFNlZ21lbnRzKX19fX19LGRlYnVnOmZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG49MDtuPHIubGVuZ3RoO24rKylybih0LGUscltuXSl9LGN1c3RvbTpmdW5jdGlvbih0LGUscil7dmFyIG49dC5jb250ZXh0LGE9ci5pbXBsZW1lbnRhdGlvbjtpZigib2Zmc2NyZWVuIj09PXQucmVuZGVyUGFzcyl7dmFyIGk9YS5wcmVyZW5kZXI7aSYmKHQuc2V0Q3VzdG9tTGF5ZXJEZWZhdWx0cygpLG4uc2V0Q29sb3JNb2RlKHQuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpKSxpLmNhbGwoYSxuLmdsLHQudHJhbnNmb3JtLmN1c3RvbUxheWVyTWF0cml4KCkpLG4uc2V0RGlydHkoKSx0LnNldEJhc2VTdGF0ZSgpKX1lbHNlIGlmKCJ0cmFuc2x1Y2VudCI9PT10LnJlbmRlclBhc3Mpe3Quc2V0Q3VzdG9tTGF5ZXJEZWZhdWx0cygpLG4uc2V0Q29sb3JNb2RlKHQuY29sb3JNb2RlRm9yUmVuZGVyUGFzcygpKSxuLnNldFN0ZW5jaWxNb2RlKEF0LmRpc2FibGVkKTt2YXIgbz0iM2QiPT09YS5yZW5kZXJpbmdNb2RlP25ldyBNdCh0LmNvbnRleHQuZ2wuTEVRVUFMLE10LlJlYWRXcml0ZSx0LmRlcHRoUmFuZ2VGb3IzRCk6dC5kZXB0aE1vZGVGb3JTdWJsYXllcigwLE10LlJlYWRPbmx5KTtuLnNldERlcHRoTW9kZShvKSxhLnJlbmRlcihuLmdsLHQudHJhbnNmb3JtLmN1c3RvbUxheWVyTWF0cml4KCkpLG4uc2V0RGlydHkoKSx0LnNldEJhc2VTdGF0ZSgpLG4uYmluZEZyYW1lYnVmZmVyLnNldChudWxsKX19fSxvbj1mdW5jdGlvbihlLHIpe3RoaXMuY29udGV4dD1uZXcgTHQoZSksdGhpcy50cmFuc2Zvcm09cix0aGlzLl90aWxlVGV4dHVyZXM9e30sdGhpcy5zZXR1cCgpLHRoaXMubnVtU3VibGF5ZXJzPUN0Lm1heFVuZGVyem9vbWluZytDdC5tYXhPdmVyem9vbWluZysxLHRoaXMuZGVwdGhFcHNpbG9uPTEvTWF0aC5wb3coMiwxNiksdGhpcy5kZXB0aFJib05lZWRzQ2xlYXI9ITAsdGhpcy5lbXB0eVByb2dyYW1Db25maWd1cmF0aW9uPW5ldyB0LlByb2dyYW1Db25maWd1cmF0aW9uLHRoaXMuY3Jvc3NUaWxlU3ltYm9sSW5kZXg9bmV3IE9lfTtmdW5jdGlvbiBzbih0LGUpe2lmKHQueT5lLnkpe3ZhciByPXQ7dD1lLGU9cn1yZXR1cm57eDA6dC54LHkwOnQueSx4MTplLngseTE6ZS55LGR4OmUueC10LngsZHk6ZS55LXQueX19ZnVuY3Rpb24gbG4odCxlLHIsbixhKXt2YXIgaT1NYXRoLm1heChyLE1hdGguZmxvb3IoZS55MCkpLG89TWF0aC5taW4obixNYXRoLmNlaWwoZS55MSkpO2lmKHQueDA9PT1lLngwJiZ0LnkwPT09ZS55MD90LngwK2UuZHkvdC5keSp0LmR4PGUueDE6dC54MS1lLmR5L3QuZHkqdC5keDxlLngwKXt2YXIgcz10O3Q9ZSxlPXN9Zm9yKHZhciBsPXQuZHgvdC5keSxjPWUuZHgvZS5keSx1PXQuZHg+MCxoPWUuZHg8MCxmPWk7ZjxvO2YrKyl7dmFyIHA9bCpNYXRoLm1heCgwLE1hdGgubWluKHQuZHksZit1LXQueTApKSt0LngwLGQ9YypNYXRoLm1heCgwLE1hdGgubWluKGUuZHksZitoLWUueTApKStlLngwO2EoTWF0aC5mbG9vcihkKSxNYXRoLmNlaWwocCksZil9fWZ1bmN0aW9uIGNuKHQsZSxyLG4sYSxpKXt2YXIgbyxzPXNuKHQsZSksbD1zbihlLHIpLGM9c24ocix0KTtzLmR5PmwuZHkmJihvPXMscz1sLGw9bykscy5keT5jLmR5JiYobz1zLHM9YyxjPW8pLGwuZHk+Yy5keSYmKG89bCxsPWMsYz1vKSxzLmR5JiZsbihjLHMsbixhLGkpLGwuZHkmJmxuKGMsbCxuLGEsaSl9b24ucHJvdG90eXBlLnJlc2l6ZT1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXMuY29udGV4dC5nbDtpZih0aGlzLndpZHRoPWUqdC5icm93c2VyLmRldmljZVBpeGVsUmF0aW8sdGhpcy5oZWlnaHQ9cip0LmJyb3dzZXIuZGV2aWNlUGl4ZWxSYXRpbyx0aGlzLmNvbnRleHQudmlld3BvcnQuc2V0KFswLDAsdGhpcy53aWR0aCx0aGlzLmhlaWdodF0pLHRoaXMuc3R5bGUpZm9yKHZhciBhPTAsaT10aGlzLnN0eWxlLl9vcmRlcjthPGkubGVuZ3RoO2ErPTEpe3ZhciBvPWlbYV07dGhpcy5zdHlsZS5fbGF5ZXJzW29dLnJlc2l6ZSgpfXRoaXMuZGVwdGhSYm8mJihuLmRlbGV0ZVJlbmRlcmJ1ZmZlcih0aGlzLmRlcHRoUmJvKSx0aGlzLmRlcHRoUmJvPW51bGwpfSxvbi5wcm90b3R5cGUuc2V0dXA9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmNvbnRleHQscj1uZXcgdC5TdHJ1Y3RBcnJheUxheW91dDJpNDtyLmVtcGxhY2VCYWNrKDAsMCksci5lbXBsYWNlQmFjayh0LkVYVEVOVCwwKSxyLmVtcGxhY2VCYWNrKDAsdC5FWFRFTlQpLHIuZW1wbGFjZUJhY2sodC5FWFRFTlQsdC5FWFRFTlQpLHRoaXMudGlsZUV4dGVudEJ1ZmZlcj1lLmNyZWF0ZVZlcnRleEJ1ZmZlcihyLEZlLm1lbWJlcnMpLHRoaXMudGlsZUV4dGVudFNlZ21lbnRzPXQuU2VnbWVudFZlY3Rvci5zaW1wbGVTZWdtZW50KDAsMCw0LDIpO3ZhciBuPW5ldyB0LlN0cnVjdEFycmF5TGF5b3V0Mmk0O24uZW1wbGFjZUJhY2soMCwwKSxuLmVtcGxhY2VCYWNrKHQuRVhURU5ULDApLG4uZW1wbGFjZUJhY2soMCx0LkVYVEVOVCksbi5lbXBsYWNlQmFjayh0LkVYVEVOVCx0LkVYVEVOVCksdGhpcy5kZWJ1Z0J1ZmZlcj1lLmNyZWF0ZVZlcnRleEJ1ZmZlcihuLEZlLm1lbWJlcnMpLHRoaXMuZGVidWdTZWdtZW50cz10LlNlZ21lbnRWZWN0b3Iuc2ltcGxlU2VnbWVudCgwLDAsNCw1KTt2YXIgYT1uZXcgdC5TdHJ1Y3RBcnJheUxheW91dDRpODthLmVtcGxhY2VCYWNrKDAsMCwwLDApLGEuZW1wbGFjZUJhY2sodC5FWFRFTlQsMCx0LkVYVEVOVCwwKSxhLmVtcGxhY2VCYWNrKDAsdC5FWFRFTlQsMCx0LkVYVEVOVCksYS5lbXBsYWNlQmFjayh0LkVYVEVOVCx0LkVYVEVOVCx0LkVYVEVOVCx0LkVYVEVOVCksdGhpcy5yYXN0ZXJCb3VuZHNCdWZmZXI9ZS5jcmVhdGVWZXJ0ZXhCdWZmZXIoYSx0LnJhc3RlckJvdW5kc0F0dHJpYnV0ZXMubWVtYmVycyksdGhpcy5yYXN0ZXJCb3VuZHNTZWdtZW50cz10LlNlZ21lbnRWZWN0b3Iuc2ltcGxlU2VnbWVudCgwLDAsNCwyKTt2YXIgaT1uZXcgdC5TdHJ1Y3RBcnJheUxheW91dDJpNDtpLmVtcGxhY2VCYWNrKDAsMCksaS5lbXBsYWNlQmFjaygxLDApLGkuZW1wbGFjZUJhY2soMCwxKSxpLmVtcGxhY2VCYWNrKDEsMSksdGhpcy52aWV3cG9ydEJ1ZmZlcj1lLmNyZWF0ZVZlcnRleEJ1ZmZlcihpLEZlLm1lbWJlcnMpLHRoaXMudmlld3BvcnRTZWdtZW50cz10LlNlZ21lbnRWZWN0b3Iuc2ltcGxlU2VnbWVudCgwLDAsNCwyKTt2YXIgbz1uZXcgdC5TdHJ1Y3RBcnJheUxheW91dDF1aTI7by5lbXBsYWNlQmFjaygwKSxvLmVtcGxhY2VCYWNrKDEpLG8uZW1wbGFjZUJhY2soMyksby5lbXBsYWNlQmFjaygyKSxvLmVtcGxhY2VCYWNrKDApLHRoaXMudGlsZUJvcmRlckluZGV4QnVmZmVyPWUuY3JlYXRlSW5kZXhCdWZmZXIobyk7dmFyIHM9bmV3IHQuU3RydWN0QXJyYXlMYXlvdXQzdWk2O3MuZW1wbGFjZUJhY2soMCwxLDIpLHMuZW1wbGFjZUJhY2soMiwxLDMpLHRoaXMucXVhZFRyaWFuZ2xlSW5kZXhCdWZmZXI9ZS5jcmVhdGVJbmRleEJ1ZmZlcihzKTt2YXIgbD10aGlzLmNvbnRleHQuZ2w7dGhpcy5zdGVuY2lsQ2xlYXJNb2RlPW5ldyBBdCh7ZnVuYzpsLkFMV0FZUyxtYXNrOjB9LDAsMjU1LGwuWkVSTyxsLlpFUk8sbC5aRVJPKX0sb24ucHJvdG90eXBlLmNsZWFyU3RlbmNpbD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuY29udGV4dCxyPWUuZ2w7dGhpcy5uZXh0U3RlbmNpbElEPTEsdGhpcy5jdXJyZW50U3RlbmNpbFNvdXJjZT12b2lkIDA7dmFyIG49dC5jcmVhdGUoKTt0Lm9ydGhvKG4sMCx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0LDAsMCwxKSx0LnNjYWxlKG4sbixbci5kcmF3aW5nQnVmZmVyV2lkdGgsci5kcmF3aW5nQnVmZmVySGVpZ2h0LDBdKSx0aGlzLnVzZVByb2dyYW0oImNsaXBwaW5nTWFzayIpLmRyYXcoZSxyLlRSSUFOR0xFUyxNdC5kaXNhYmxlZCx0aGlzLnN0ZW5jaWxDbGVhck1vZGUsU3QuZGlzYWJsZWQsRXQuZGlzYWJsZWQsVHIobiksIiRjbGlwcGluZyIsdGhpcy52aWV3cG9ydEJ1ZmZlcix0aGlzLnF1YWRUcmlhbmdsZUluZGV4QnVmZmVyLHRoaXMudmlld3BvcnRTZWdtZW50cyl9LG9uLnByb3RvdHlwZS5fcmVuZGVyVGlsZUNsaXBwaW5nTWFza3M9ZnVuY3Rpb24odCxlKXtpZih0aGlzLmN1cnJlbnRTdGVuY2lsU291cmNlIT09dC5zb3VyY2UmJnQuaXNUaWxlQ2xpcHBlZCgpJiZlJiZlLmxlbmd0aCl7dGhpcy5jdXJyZW50U3RlbmNpbFNvdXJjZT10LnNvdXJjZTt2YXIgcj10aGlzLmNvbnRleHQsbj1yLmdsO3RoaXMubmV4dFN0ZW5jaWxJRCtlLmxlbmd0aD4yNTYmJnRoaXMuY2xlYXJTdGVuY2lsKCksci5zZXRDb2xvck1vZGUoU3QuZGlzYWJsZWQpLHIuc2V0RGVwdGhNb2RlKE10LmRpc2FibGVkKTt2YXIgYT10aGlzLnVzZVByb2dyYW0oImNsaXBwaW5nTWFzayIpO3RoaXMuX3RpbGVDbGlwcGluZ01hc2tJRHM9e307Zm9yKHZhciBpPTAsbz1lO2k8by5sZW5ndGg7aSs9MSl7dmFyIHM9b1tpXSxsPXRoaXMuX3RpbGVDbGlwcGluZ01hc2tJRHNbcy5rZXldPXRoaXMubmV4dFN0ZW5jaWxJRCsrO2EuZHJhdyhyLG4uVFJJQU5HTEVTLE10LmRpc2FibGVkLG5ldyBBdCh7ZnVuYzpuLkFMV0FZUyxtYXNrOjB9LGwsMjU1LG4uS0VFUCxuLktFRVAsbi5SRVBMQUNFKSxTdC5kaXNhYmxlZCxFdC5kaXNhYmxlZCxUcihzLnBvc01hdHJpeCksIiRjbGlwcGluZyIsdGhpcy50aWxlRXh0ZW50QnVmZmVyLHRoaXMucXVhZFRyaWFuZ2xlSW5kZXhCdWZmZXIsdGhpcy50aWxlRXh0ZW50U2VnbWVudHMpfX19LG9uLnByb3RvdHlwZS5zdGVuY2lsTW9kZUZvcjNEPWZ1bmN0aW9uKCl7dGhpcy5jdXJyZW50U3RlbmNpbFNvdXJjZT12b2lkIDAsdGhpcy5uZXh0U3RlbmNpbElEKzE+MjU2JiZ0aGlzLmNsZWFyU3RlbmNpbCgpO3ZhciB0PXRoaXMubmV4dFN0ZW5jaWxJRCsrLGU9dGhpcy5jb250ZXh0LmdsO3JldHVybiBuZXcgQXQoe2Z1bmM6ZS5OT1RFUVVBTCxtYXNrOjI1NX0sdCwyNTUsZS5LRUVQLGUuS0VFUCxlLlJFUExBQ0UpfSxvbi5wcm90b3R5cGUuc3RlbmNpbE1vZGVGb3JDbGlwcGluZz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmNvbnRleHQuZ2w7cmV0dXJuIG5ldyBBdCh7ZnVuYzplLkVRVUFMLG1hc2s6MjU1fSx0aGlzLl90aWxlQ2xpcHBpbmdNYXNrSURzW3Qua2V5XSwwLGUuS0VFUCxlLktFRVAsZS5SRVBMQUNFKX0sb24ucHJvdG90eXBlLmNvbG9yTW9kZUZvclJlbmRlclBhc3M9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmNvbnRleHQuZ2w7cmV0dXJuIHRoaXMuX3Nob3dPdmVyZHJhd0luc3BlY3Rvcj9uZXcgU3QoW2UuQ09OU1RBTlRfQ09MT1IsZS5PTkVdLG5ldyB0LkNvbG9yKDEvOCwxLzgsMS84LDApLFshMCwhMCwhMCwhMF0pOiJvcGFxdWUiPT09dGhpcy5yZW5kZXJQYXNzP1N0LnVuYmxlbmRlZDpTdC5hbHBoYUJsZW5kZWR9LG9uLnByb3RvdHlwZS5kZXB0aE1vZGVGb3JTdWJsYXllcj1mdW5jdGlvbih0LGUscil7aWYoIXRoaXMub3BhcXVlUGFzc0VuYWJsZWRGb3JMYXllcigpKXJldHVybiBNdC5kaXNhYmxlZDt2YXIgbj0xLSgoMSt0aGlzLmN1cnJlbnRMYXllcikqdGhpcy5udW1TdWJsYXllcnMrdCkqdGhpcy5kZXB0aEVwc2lsb247cmV0dXJuIG5ldyBNdChyfHx0aGlzLmNvbnRleHQuZ2wuTEVRVUFMLGUsW24sbl0pfSxvbi5wcm90b3R5cGUub3BhcXVlUGFzc0VuYWJsZWRGb3JMYXllcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbnRMYXllcjx0aGlzLm9wYXF1ZVBhc3NDdXRvZmZ9LG9uLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSxyKXt0aGlzLnN0eWxlPWUsdGhpcy5vcHRpb25zPXIsdGhpcy5saW5lQXRsYXM9ZS5saW5lQXRsYXMsdGhpcy5pbWFnZU1hbmFnZXI9ZS5pbWFnZU1hbmFnZXIsdGhpcy5nbHlwaE1hbmFnZXI9ZS5nbHlwaE1hbmFnZXIsdGhpcy5zeW1ib2xGYWRlQ2hhbmdlPWUucGxhY2VtZW50LnN5bWJvbEZhZGVDaGFuZ2UodC5icm93c2VyLm5vdygpKSx0aGlzLmltYWdlTWFuYWdlci5iZWdpbkZyYW1lKCk7dmFyIG49dGhpcy5zdHlsZS5fb3JkZXIsYT10aGlzLnN0eWxlLnNvdXJjZUNhY2hlcztmb3IodmFyIGkgaW4gYSl7dmFyIG89YVtpXTtvLnVzZWQmJm8ucHJlcGFyZSh0aGlzLmNvbnRleHQpfXZhciBzPXt9LGw9e30sYz17fTtmb3IodmFyIHUgaW4gYSl7dmFyIGg9YVt1XTtzW3VdPWguZ2V0VmlzaWJsZUNvb3JkaW5hdGVzKCksbFt1XT1zW3VdLnNsaWNlKCkucmV2ZXJzZSgpLGNbdV09aC5nZXRWaXNpYmxlQ29vcmRpbmF0ZXMoITApLnJldmVyc2UoKX1mb3IodmFyIGYgaW4gYSl7dmFyIHA9YVtmXSxkPXAuZ2V0U291cmNlKCk7aWYoInJhc3RlciI9PT1kLnR5cGV8fCJyYXN0ZXItZGVtIj09PWQudHlwZSl7Zm9yKHZhciBnPVtdLHY9MCxtPXNbZl07djxtLmxlbmd0aDt2Kz0xKXt2YXIgeT1tW3ZdO2cucHVzaChwLmdldFRpbGUoeSkpfVVyKGcsdGhpcy5jb250ZXh0KX19dGhpcy5vcGFxdWVQYXNzQ3V0b2ZmPTEvMDtmb3IodmFyIHg9MDt4PG4ubGVuZ3RoO3grKyl7dmFyIGI9blt4XTtpZih0aGlzLnN0eWxlLl9sYXllcnNbYl0uaXMzRCgpKXt0aGlzLm9wYXF1ZVBhc3NDdXRvZmY9eDticmVha319dGhpcy5yZW5kZXJQYXNzPSJvZmZzY3JlZW4iLHRoaXMuZGVwdGhSYm9OZWVkc0NsZWFyPSEwO2Zvcih2YXIgXz0wLHc9bjtfPHcubGVuZ3RoO18rPTEpe3ZhciBrPXdbX10sVD10aGlzLnN0eWxlLl9sYXllcnNba107aWYoVC5oYXNPZmZzY3JlZW5QYXNzKCkmJiFULmlzSGlkZGVuKHRoaXMudHJhbnNmb3JtLnpvb20pKXt2YXIgTT1sW1Quc291cmNlXTsoImN1c3RvbSI9PT1ULnR5cGV8fE0ubGVuZ3RoKSYmdGhpcy5yZW5kZXJMYXllcih0aGlzLGFbVC5zb3VyY2VdLFQsTSl9fWZvcih0aGlzLmNvbnRleHQuYmluZEZyYW1lYnVmZmVyLnNldChudWxsKSx0aGlzLmNvbnRleHQuY2xlYXIoe2NvbG9yOnIuc2hvd092ZXJkcmF3SW5zcGVjdG9yP3QuQ29sb3IuYmxhY2s6dC5Db2xvci50cmFuc3BhcmVudCxkZXB0aDoxfSksdGhpcy5jbGVhclN0ZW5jaWwoKSx0aGlzLl9zaG93T3ZlcmRyYXdJbnNwZWN0b3I9ci5zaG93T3ZlcmRyYXdJbnNwZWN0b3IsdGhpcy5kZXB0aFJhbmdlRm9yM0Q9WzAsMS0oZS5fb3JkZXIubGVuZ3RoKzIpKnRoaXMubnVtU3VibGF5ZXJzKnRoaXMuZGVwdGhFcHNpbG9uXSx0aGlzLnJlbmRlclBhc3M9Im9wYXF1ZSIsdGhpcy5jdXJyZW50TGF5ZXI9bi5sZW5ndGgtMTt0aGlzLmN1cnJlbnRMYXllcj49MDt0aGlzLmN1cnJlbnRMYXllci0tKXt2YXIgQT10aGlzLnN0eWxlLl9sYXllcnNbblt0aGlzLmN1cnJlbnRMYXllcl1dLFM9YVtBLnNvdXJjZV0sRT1zW0Euc291cmNlXTt0aGlzLl9yZW5kZXJUaWxlQ2xpcHBpbmdNYXNrcyhBLEUpLHRoaXMucmVuZGVyTGF5ZXIodGhpcyxTLEEsRSl9Zm9yKHRoaXMucmVuZGVyUGFzcz0idHJhbnNsdWNlbnQiLHRoaXMuY3VycmVudExheWVyPTA7dGhpcy5jdXJyZW50TGF5ZXI8bi5sZW5ndGg7dGhpcy5jdXJyZW50TGF5ZXIrKyl7dmFyIEw9dGhpcy5zdHlsZS5fbGF5ZXJzW25bdGhpcy5jdXJyZW50TGF5ZXJdXSxDPWFbTC5zb3VyY2VdLFA9KCJzeW1ib2wiPT09TC50eXBlP2M6bClbTC5zb3VyY2VdO3RoaXMuX3JlbmRlclRpbGVDbGlwcGluZ01hc2tzKEwsc1tMLnNvdXJjZV0pLHRoaXMucmVuZGVyTGF5ZXIodGhpcyxDLEwsUCl9aWYodGhpcy5vcHRpb25zLnNob3dUaWxlQm91bmRhcmllcylmb3IodmFyIE8gaW4gYSl7YW4uZGVidWcodGhpcyxhW09dLHNbT10pO2JyZWFrfXRoaXMuY29udGV4dC5zZXREZWZhdWx0KCl9LG9uLnByb3RvdHlwZS5zZXR1cE9mZnNjcmVlbkRlcHRoUmVuZGVyYnVmZmVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jb250ZXh0O3RoaXMuZGVwdGhSYm98fCh0aGlzLmRlcHRoUmJvPXQuY3JlYXRlUmVuZGVyYnVmZmVyKHQuZ2wuREVQVEhfQ09NUE9ORU5UMTYsdGhpcy53aWR0aCx0aGlzLmhlaWdodCkpfSxvbi5wcm90b3R5cGUucmVuZGVyTGF5ZXI9ZnVuY3Rpb24odCxlLHIsbil7ci5pc0hpZGRlbih0aGlzLnRyYW5zZm9ybS56b29tKXx8KCJiYWNrZ3JvdW5kIj09PXIudHlwZXx8ImN1c3RvbSI9PT1yLnR5cGV8fG4ubGVuZ3RoKSYmKHRoaXMuaWQ9ci5pZCxhbltyLnR5cGVdKHQsZSxyLG4sdGhpcy5zdHlsZS5wbGFjZW1lbnQudmFyaWFibGVPZmZzZXRzKSl9LG9uLnByb3RvdHlwZS50cmFuc2xhdGVQb3NNYXRyaXg9ZnVuY3Rpb24oZSxyLG4sYSxpKXtpZighblswXSYmIW5bMV0pcmV0dXJuIGU7dmFyIG89aT8ibWFwIj09PWE/dGhpcy50cmFuc2Zvcm0uYW5nbGU6MDoidmlld3BvcnQiPT09YT8tdGhpcy50cmFuc2Zvcm0uYW5nbGU6MDtpZihvKXt2YXIgcz1NYXRoLnNpbihvKSxsPU1hdGguY29zKG8pO249W25bMF0qbC1uWzFdKnMsblswXSpzK25bMV0qbF19dmFyIGM9W2k/blswXTpjZShyLG5bMF0sdGhpcy50cmFuc2Zvcm0uem9vbSksaT9uWzFdOmNlKHIsblsxXSx0aGlzLnRyYW5zZm9ybS56b29tKSwwXSx1PW5ldyBGbG9hdDMyQXJyYXkoMTYpO3JldHVybiB0LnRyYW5zbGF0ZSh1LGUsYyksdX0sb24ucHJvdG90eXBlLnNhdmVUaWxlVGV4dHVyZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl90aWxlVGV4dHVyZXNbdC5zaXplWzBdXTtlP2UucHVzaCh0KTp0aGlzLl90aWxlVGV4dHVyZXNbdC5zaXplWzBdXT1bdF19LG9uLnByb3RvdHlwZS5nZXRUaWxlVGV4dHVyZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl90aWxlVGV4dHVyZXNbdF07cmV0dXJuIGUmJmUubGVuZ3RoPjA/ZS5wb3AoKTpudWxsfSxvbi5wcm90b3R5cGUuaXNQYXR0ZXJuTWlzc2luZz1mdW5jdGlvbih0KXtpZighdClyZXR1cm4hMTt2YXIgZT10aGlzLmltYWdlTWFuYWdlci5nZXRQYXR0ZXJuKHQuZnJvbSkscj10aGlzLmltYWdlTWFuYWdlci5nZXRQYXR0ZXJuKHQudG8pO3JldHVybiFlfHwhcn0sb24ucHJvdG90eXBlLnVzZVByb2dyYW09ZnVuY3Rpb24odCxlKXt2b2lkIDA9PT1lJiYoZT10aGlzLmVtcHR5UHJvZ3JhbUNvbmZpZ3VyYXRpb24pLHRoaXMuY2FjaGU9dGhpcy5jYWNoZXx8e307dmFyIHI9IiIrdCsoZS5jYWNoZUtleXx8IiIpKyh0aGlzLl9zaG93T3ZlcmRyYXdJbnNwZWN0b3I/Ii9vdmVyZHJhdyI6IiIpO3JldHVybiB0aGlzLmNhY2hlW3JdfHwodGhpcy5jYWNoZVtyXT1uZXcgZnIodGhpcy5jb250ZXh0LHVyW3RdLGUsVnJbdF0sdGhpcy5fc2hvd092ZXJkcmF3SW5zcGVjdG9yKSksdGhpcy5jYWNoZVtyXX0sb24ucHJvdG90eXBlLnNldEN1c3RvbUxheWVyRGVmYXVsdHM9ZnVuY3Rpb24oKXt0aGlzLmNvbnRleHQudW5iaW5kVkFPKCksdGhpcy5jb250ZXh0LmN1bGxGYWNlLnNldERlZmF1bHQoKSx0aGlzLmNvbnRleHQuYWN0aXZlVGV4dHVyZS5zZXREZWZhdWx0KCksdGhpcy5jb250ZXh0LnBpeGVsU3RvcmVVbnBhY2suc2V0RGVmYXVsdCgpLHRoaXMuY29udGV4dC5waXhlbFN0b3JlVW5wYWNrUHJlbXVsdGlwbHlBbHBoYS5zZXREZWZhdWx0KCksdGhpcy5jb250ZXh0LnBpeGVsU3RvcmVVbnBhY2tGbGlwWS5zZXREZWZhdWx0KCl9LG9uLnByb3RvdHlwZS5zZXRCYXNlU3RhdGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmNvbnRleHQuZ2w7dGhpcy5jb250ZXh0LmN1bGxGYWNlLnNldCghMSksdGhpcy5jb250ZXh0LnZpZXdwb3J0LnNldChbMCwwLHRoaXMud2lkdGgsdGhpcy5oZWlnaHRdKSx0aGlzLmNvbnRleHQuYmxlbmRFcXVhdGlvbi5zZXQodC5GVU5DX0FERCl9O3ZhciB1bj1mdW5jdGlvbihlLHIsbil7dGhpcy50aWxlU2l6ZT01MTIsdGhpcy5tYXhWYWxpZExhdGl0dWRlPTg1LjA1MTEyOSx0aGlzLl9yZW5kZXJXb3JsZENvcGllcz12b2lkIDA9PT1ufHxuLHRoaXMuX21pblpvb209ZXx8MCx0aGlzLl9tYXhab29tPXJ8fDIyLHRoaXMuc2V0TWF4Qm91bmRzKCksdGhpcy53aWR0aD0wLHRoaXMuaGVpZ2h0PTAsdGhpcy5fY2VudGVyPW5ldyB0LkxuZ0xhdCgwLDApLHRoaXMuem9vbT0wLHRoaXMuYW5nbGU9MCx0aGlzLl9mb3Y9LjY0MzUwMTEwODc5MzI4NDQsdGhpcy5fcGl0Y2g9MCx0aGlzLl91bm1vZGlmaWVkPSEwLHRoaXMuX3Bvc01hdHJpeENhY2hlPXt9LHRoaXMuX2FsaWduZWRQb3NNYXRyaXhDYWNoZT17fX0saG49e21pblpvb206e2NvbmZpZ3VyYWJsZTohMH0sbWF4Wm9vbTp7Y29uZmlndXJhYmxlOiEwfSxyZW5kZXJXb3JsZENvcGllczp7Y29uZmlndXJhYmxlOiEwfSx3b3JsZFNpemU6e2NvbmZpZ3VyYWJsZTohMH0sY2VudGVyUG9pbnQ6e2NvbmZpZ3VyYWJsZTohMH0sc2l6ZTp7Y29uZmlndXJhYmxlOiEwfSxiZWFyaW5nOntjb25maWd1cmFibGU6ITB9LHBpdGNoOntjb25maWd1cmFibGU6ITB9LGZvdjp7Y29uZmlndXJhYmxlOiEwfSx6b29tOntjb25maWd1cmFibGU6ITB9LGNlbnRlcjp7Y29uZmlndXJhYmxlOiEwfSx1bm1vZGlmaWVkOntjb25maWd1cmFibGU6ITB9LHBvaW50Ontjb25maWd1cmFibGU6ITB9fTt1bi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgdD1uZXcgdW4odGhpcy5fbWluWm9vbSx0aGlzLl9tYXhab29tLHRoaXMuX3JlbmRlcldvcmxkQ29waWVzKTtyZXR1cm4gdC50aWxlU2l6ZT10aGlzLnRpbGVTaXplLHQubGF0UmFuZ2U9dGhpcy5sYXRSYW5nZSx0LndpZHRoPXRoaXMud2lkdGgsdC5oZWlnaHQ9dGhpcy5oZWlnaHQsdC5fY2VudGVyPXRoaXMuX2NlbnRlcix0Lnpvb209dGhpcy56b29tLHQuYW5nbGU9dGhpcy5hbmdsZSx0Ll9mb3Y9dGhpcy5fZm92LHQuX3BpdGNoPXRoaXMuX3BpdGNoLHQuX3VubW9kaWZpZWQ9dGhpcy5fdW5tb2RpZmllZCx0Ll9jYWxjTWF0cmljZXMoKSx0fSxobi5taW5ab29tLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9taW5ab29tfSxobi5taW5ab29tLnNldD1mdW5jdGlvbih0KXt0aGlzLl9taW5ab29tIT09dCYmKHRoaXMuX21pblpvb209dCx0aGlzLnpvb209TWF0aC5tYXgodGhpcy56b29tLHQpKX0saG4ubWF4Wm9vbS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWF4Wm9vbX0saG4ubWF4Wm9vbS5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fbWF4Wm9vbSE9PXQmJih0aGlzLl9tYXhab29tPXQsdGhpcy56b29tPU1hdGgubWluKHRoaXMuem9vbSx0KSl9LGhuLnJlbmRlcldvcmxkQ29waWVzLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZW5kZXJXb3JsZENvcGllc30saG4ucmVuZGVyV29ybGRDb3BpZXMuc2V0PWZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQ/dD0hMDpudWxsPT09dCYmKHQ9ITEpLHRoaXMuX3JlbmRlcldvcmxkQ29waWVzPXR9LGhuLndvcmxkU2l6ZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50aWxlU2l6ZSp0aGlzLnNjYWxlfSxobi5jZW50ZXJQb2ludC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaXplLl9kaXYoMil9LGhuLnNpemUuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB0LlBvaW50KHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfSxobi5iZWFyaW5nLmdldD1mdW5jdGlvbigpe3JldHVybi10aGlzLmFuZ2xlL01hdGguUEkqMTgwfSxobi5iZWFyaW5nLnNldD1mdW5jdGlvbihlKXt2YXIgcj0tdC53cmFwKGUsLTE4MCwxODApKk1hdGguUEkvMTgwO3RoaXMuYW5nbGUhPT1yJiYodGhpcy5fdW5tb2RpZmllZD0hMSx0aGlzLmFuZ2xlPXIsdGhpcy5fY2FsY01hdHJpY2VzKCksdGhpcy5yb3RhdGlvbk1hdHJpeD10LmNyZWF0ZSQyKCksdC5yb3RhdGUodGhpcy5yb3RhdGlvbk1hdHJpeCx0aGlzLnJvdGF0aW9uTWF0cml4LHRoaXMuYW5nbGUpKX0saG4ucGl0Y2guZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3BpdGNoL01hdGguUEkqMTgwfSxobi5waXRjaC5zZXQ9ZnVuY3Rpb24oZSl7dmFyIHI9dC5jbGFtcChlLDAsNjApLzE4MCpNYXRoLlBJO3RoaXMuX3BpdGNoIT09ciYmKHRoaXMuX3VubW9kaWZpZWQ9ITEsdGhpcy5fcGl0Y2g9cix0aGlzLl9jYWxjTWF0cmljZXMoKSl9LGhuLmZvdi5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZm92L01hdGguUEkqMTgwfSxobi5mb3Yuc2V0PWZ1bmN0aW9uKHQpe3Q9TWF0aC5tYXgoLjAxLE1hdGgubWluKDYwLHQpKSx0aGlzLl9mb3YhPT10JiYodGhpcy5fdW5tb2RpZmllZD0hMSx0aGlzLl9mb3Y9dC8xODAqTWF0aC5QSSx0aGlzLl9jYWxjTWF0cmljZXMoKSl9LGhuLnpvb20uZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3pvb219LGhuLnpvb20uc2V0PWZ1bmN0aW9uKHQpe3ZhciBlPU1hdGgubWluKE1hdGgubWF4KHQsdGhpcy5taW5ab29tKSx0aGlzLm1heFpvb20pO3RoaXMuX3pvb20hPT1lJiYodGhpcy5fdW5tb2RpZmllZD0hMSx0aGlzLl96b29tPWUsdGhpcy5zY2FsZT10aGlzLnpvb21TY2FsZShlKSx0aGlzLnRpbGVab29tPU1hdGguZmxvb3IoZSksdGhpcy56b29tRnJhY3Rpb249ZS10aGlzLnRpbGVab29tLHRoaXMuX2NvbnN0cmFpbigpLHRoaXMuX2NhbGNNYXRyaWNlcygpKX0saG4uY2VudGVyLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jZW50ZXJ9LGhuLmNlbnRlci5zZXQ9ZnVuY3Rpb24odCl7dC5sYXQ9PT10aGlzLl9jZW50ZXIubGF0JiZ0LmxuZz09PXRoaXMuX2NlbnRlci5sbmd8fCh0aGlzLl91bm1vZGlmaWVkPSExLHRoaXMuX2NlbnRlcj10LHRoaXMuX2NvbnN0cmFpbigpLHRoaXMuX2NhbGNNYXRyaWNlcygpKX0sdW4ucHJvdG90eXBlLmNvdmVyaW5nWm9vbUxldmVsPWZ1bmN0aW9uKHQpe3JldHVybih0LnJvdW5kWm9vbT9NYXRoLnJvdW5kOk1hdGguZmxvb3IpKHRoaXMuem9vbSt0aGlzLnNjYWxlWm9vbSh0aGlzLnRpbGVTaXplL3QudGlsZVNpemUpKX0sdW4ucHJvdG90eXBlLmdldFZpc2libGVVbndyYXBwZWRDb29yZGluYXRlcz1mdW5jdGlvbihlKXt2YXIgcj1bbmV3IHQuVW53cmFwcGVkVGlsZUlEKDAsZSldO2lmKHRoaXMuX3JlbmRlcldvcmxkQ29waWVzKWZvcih2YXIgbj10aGlzLnBvaW50Q29vcmRpbmF0ZShuZXcgdC5Qb2ludCgwLDApKSxhPXRoaXMucG9pbnRDb29yZGluYXRlKG5ldyB0LlBvaW50KHRoaXMud2lkdGgsMCkpLGk9dGhpcy5wb2ludENvb3JkaW5hdGUobmV3IHQuUG9pbnQodGhpcy53aWR0aCx0aGlzLmhlaWdodCkpLG89dGhpcy5wb2ludENvb3JkaW5hdGUobmV3IHQuUG9pbnQoMCx0aGlzLmhlaWdodCkpLHM9TWF0aC5mbG9vcihNYXRoLm1pbihuLngsYS54LGkueCxvLngpKSxsPU1hdGguZmxvb3IoTWF0aC5tYXgobi54LGEueCxpLngsby54KSksYz1zLTE7Yzw9bCsxO2MrKykwIT09YyYmci5wdXNoKG5ldyB0LlVud3JhcHBlZFRpbGVJRChjLGUpKTtyZXR1cm4gcn0sdW4ucHJvdG90eXBlLmNvdmVyaW5nVGlsZXM9ZnVuY3Rpb24oZSl7dmFyIHI9dGhpcy5jb3ZlcmluZ1pvb21MZXZlbChlKSxuPXI7aWYodm9pZCAwIT09ZS5taW56b29tJiZyPGUubWluem9vbSlyZXR1cm5bXTt2b2lkIDAhPT1lLm1heHpvb20mJnI+ZS5tYXh6b29tJiYocj1lLm1heHpvb20pO3ZhciBhPXQuTWVyY2F0b3JDb29yZGluYXRlLmZyb21MbmdMYXQodGhpcy5jZW50ZXIpLGk9TWF0aC5wb3coMixyKSxvPW5ldyB0LlBvaW50KGkqYS54LS41LGkqYS55LS41KTtyZXR1cm4gZnVuY3Rpb24oZSxyLG4sYSl7dm9pZCAwPT09YSYmKGE9ITApO3ZhciBpPTE8PGUsbz17fTtmdW5jdGlvbiBzKHIscyxsKXt2YXIgYyx1LGgsZjtpZihsPj0wJiZsPD1pKWZvcihjPXI7YzxzO2MrKyl1PU1hdGguZmxvb3IoYy9pKSxoPShjJWkraSklaSwwIT09dSYmITAhPT1hfHwoZj1uZXcgdC5PdmVyc2NhbGVkVGlsZUlEKG4sdSxlLGgsbCksb1tmLmtleV09Zil9dmFyIGw9ci5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB0LlBvaW50KGUueCxlLnkpLl9tdWx0KGkpfSk7cmV0dXJuIGNuKGxbMF0sbFsxXSxsWzJdLDAsaSxzKSxjbihsWzJdLGxbM10sbFswXSwwLGkscyksT2JqZWN0LmtleXMobykubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBvW3RdfSl9KHIsW3RoaXMucG9pbnRDb29yZGluYXRlKG5ldyB0LlBvaW50KDAsMCkpLHRoaXMucG9pbnRDb29yZGluYXRlKG5ldyB0LlBvaW50KHRoaXMud2lkdGgsMCkpLHRoaXMucG9pbnRDb29yZGluYXRlKG5ldyB0LlBvaW50KHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpKSx0aGlzLnBvaW50Q29vcmRpbmF0ZShuZXcgdC5Qb2ludCgwLHRoaXMuaGVpZ2h0KSldLGUucmVwYXJzZU92ZXJzY2FsZWQ/bjpyLHRoaXMuX3JlbmRlcldvcmxkQ29waWVzKS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG8uZGlzdCh0LmNhbm9uaWNhbCktby5kaXN0KGUuY2Fub25pY2FsKX0pfSx1bi5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKHQsZSl7dGhpcy53aWR0aD10LHRoaXMuaGVpZ2h0PWUsdGhpcy5waXhlbHNUb0dMVW5pdHM9WzIvdCwtMi9lXSx0aGlzLl9jb25zdHJhaW4oKSx0aGlzLl9jYWxjTWF0cmljZXMoKX0saG4udW5tb2RpZmllZC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdW5tb2RpZmllZH0sdW4ucHJvdG90eXBlLnpvb21TY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5wb3coMix0KX0sdW4ucHJvdG90eXBlLnNjYWxlWm9vbT1mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5sb2codCkvTWF0aC5MTjJ9LHVuLnByb3RvdHlwZS5wcm9qZWN0PWZ1bmN0aW9uKGUpe3ZhciByPXQuY2xhbXAoZS5sYXQsLXRoaXMubWF4VmFsaWRMYXRpdHVkZSx0aGlzLm1heFZhbGlkTGF0aXR1ZGUpO3JldHVybiBuZXcgdC5Qb2ludCh0Lm1lcmNhdG9yWGZyb21MbmcoZS5sbmcpKnRoaXMud29ybGRTaXplLHQubWVyY2F0b3JZZnJvbUxhdChyKSp0aGlzLndvcmxkU2l6ZSl9LHVuLnByb3RvdHlwZS51bnByb2plY3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB0Lk1lcmNhdG9yQ29vcmRpbmF0ZShlLngvdGhpcy53b3JsZFNpemUsZS55L3RoaXMud29ybGRTaXplKS50b0xuZ0xhdCgpfSxobi5wb2ludC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcm9qZWN0KHRoaXMuY2VudGVyKX0sdW4ucHJvdG90eXBlLnNldExvY2F0aW9uQXRQb2ludD1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXMucG9pbnRDb29yZGluYXRlKHIpLGE9dGhpcy5wb2ludENvb3JkaW5hdGUodGhpcy5jZW50ZXJQb2ludCksaT10aGlzLmxvY2F0aW9uQ29vcmRpbmF0ZShlKSxvPW5ldyB0Lk1lcmNhdG9yQ29vcmRpbmF0ZShpLngtKG4ueC1hLngpLGkueS0obi55LWEueSkpO3RoaXMuY2VudGVyPXRoaXMuY29vcmRpbmF0ZUxvY2F0aW9uKG8pLHRoaXMuX3JlbmRlcldvcmxkQ29waWVzJiYodGhpcy5jZW50ZXI9dGhpcy5jZW50ZXIud3JhcCgpKX0sdW4ucHJvdG90eXBlLmxvY2F0aW9uUG9pbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY29vcmRpbmF0ZVBvaW50KHRoaXMubG9jYXRpb25Db29yZGluYXRlKHQpKX0sdW4ucHJvdG90eXBlLnBvaW50TG9jYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY29vcmRpbmF0ZUxvY2F0aW9uKHRoaXMucG9pbnRDb29yZGluYXRlKHQpKX0sdW4ucHJvdG90eXBlLmxvY2F0aW9uQ29vcmRpbmF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gdC5NZXJjYXRvckNvb3JkaW5hdGUuZnJvbUxuZ0xhdChlKX0sdW4ucHJvdG90eXBlLmNvb3JkaW5hdGVMb2NhdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gdC50b0xuZ0xhdCgpfSx1bi5wcm90b3R5cGUucG9pbnRDb29yZGluYXRlPWZ1bmN0aW9uKGUpe3ZhciByPVtlLngsZS55LDAsMV0sbj1bZS54LGUueSwxLDFdO3QudHJhbnNmb3JtTWF0NChyLHIsdGhpcy5waXhlbE1hdHJpeEludmVyc2UpLHQudHJhbnNmb3JtTWF0NChuLG4sdGhpcy5waXhlbE1hdHJpeEludmVyc2UpO3ZhciBhPXJbM10saT1uWzNdLG89clswXS9hLHM9blswXS9pLGw9clsxXS9hLGM9blsxXS9pLHU9clsyXS9hLGg9blsyXS9pLGY9dT09PWg/MDooMC11KS8oaC11KTtyZXR1cm4gbmV3IHQuTWVyY2F0b3JDb29yZGluYXRlKHQubnVtYmVyKG8scyxmKS90aGlzLndvcmxkU2l6ZSx0Lm51bWJlcihsLGMsZikvdGhpcy53b3JsZFNpemUpfSx1bi5wcm90b3R5cGUuY29vcmRpbmF0ZVBvaW50PWZ1bmN0aW9uKGUpe3ZhciByPVtlLngqdGhpcy53b3JsZFNpemUsZS55KnRoaXMud29ybGRTaXplLDAsMV07cmV0dXJuIHQudHJhbnNmb3JtTWF0NChyLHIsdGhpcy5waXhlbE1hdHJpeCksbmV3IHQuUG9pbnQoclswXS9yWzNdLHJbMV0vclszXSl9LHVuLnByb3RvdHlwZS5nZXRCb3VuZHM9ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHQuTG5nTGF0Qm91bmRzKS5leHRlbmQodGhpcy5wb2ludExvY2F0aW9uKG5ldyB0LlBvaW50KDAsMCkpKS5leHRlbmQodGhpcy5wb2ludExvY2F0aW9uKG5ldyB0LlBvaW50KHRoaXMud2lkdGgsMCkpKS5leHRlbmQodGhpcy5wb2ludExvY2F0aW9uKG5ldyB0LlBvaW50KHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpKSkuZXh0ZW5kKHRoaXMucG9pbnRMb2NhdGlvbihuZXcgdC5Qb2ludCgwLHRoaXMuaGVpZ2h0KSkpfSx1bi5wcm90b3R5cGUuZ2V0TWF4Qm91bmRzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGF0UmFuZ2UmJjI9PT10aGlzLmxhdFJhbmdlLmxlbmd0aCYmdGhpcy5sbmdSYW5nZSYmMj09PXRoaXMubG5nUmFuZ2UubGVuZ3RoP25ldyB0LkxuZ0xhdEJvdW5kcyhbdGhpcy5sbmdSYW5nZVswXSx0aGlzLmxhdFJhbmdlWzBdXSxbdGhpcy5sbmdSYW5nZVsxXSx0aGlzLmxhdFJhbmdlWzFdXSk6bnVsbH0sdW4ucHJvdG90eXBlLnNldE1heEJvdW5kcz1mdW5jdGlvbih0KXt0Pyh0aGlzLmxuZ1JhbmdlPVt0LmdldFdlc3QoKSx0LmdldEVhc3QoKV0sdGhpcy5sYXRSYW5nZT1bdC5nZXRTb3V0aCgpLHQuZ2V0Tm9ydGgoKV0sdGhpcy5fY29uc3RyYWluKCkpOih0aGlzLmxuZ1JhbmdlPW51bGwsdGhpcy5sYXRSYW5nZT1bLXRoaXMubWF4VmFsaWRMYXRpdHVkZSx0aGlzLm1heFZhbGlkTGF0aXR1ZGVdKX0sdW4ucHJvdG90eXBlLmNhbGN1bGF0ZVBvc01hdHJpeD1mdW5jdGlvbihlLHIpe3ZvaWQgMD09PXImJihyPSExKTt2YXIgbj1lLmtleSxhPXI/dGhpcy5fYWxpZ25lZFBvc01hdHJpeENhY2hlOnRoaXMuX3Bvc01hdHJpeENhY2hlO2lmKGFbbl0pcmV0dXJuIGFbbl07dmFyIGk9ZS5jYW5vbmljYWwsbz10aGlzLndvcmxkU2l6ZS90aGlzLnpvb21TY2FsZShpLnopLHM9aS54K01hdGgucG93KDIsaS56KSplLndyYXAsbD10LmlkZW50aXR5KG5ldyBGbG9hdDY0QXJyYXkoMTYpKTtyZXR1cm4gdC50cmFuc2xhdGUobCxsLFtzKm8saS55Km8sMF0pLHQuc2NhbGUobCxsLFtvL3QuRVhURU5ULG8vdC5FWFRFTlQsMV0pLHQubXVsdGlwbHkobCxyP3RoaXMuYWxpZ25lZFByb2pNYXRyaXg6dGhpcy5wcm9qTWF0cml4LGwpLGFbbl09bmV3IEZsb2F0MzJBcnJheShsKSxhW25dfSx1bi5wcm90b3R5cGUuY3VzdG9tTGF5ZXJNYXRyaXg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tZXJjYXRvck1hdHJpeC5zbGljZSgpfSx1bi5wcm90b3R5cGUuX2NvbnN0cmFpbj1mdW5jdGlvbigpe2lmKHRoaXMuY2VudGVyJiZ0aGlzLndpZHRoJiZ0aGlzLmhlaWdodCYmIXRoaXMuX2NvbnN0cmFpbmluZyl7dGhpcy5fY29uc3RyYWluaW5nPSEwO3ZhciBlLHIsbixhLGk9LTkwLG89OTAscz0tMTgwLGw9MTgwLGM9dGhpcy5zaXplLHU9dGhpcy5fdW5tb2RpZmllZDtpZih0aGlzLmxhdFJhbmdlKXt2YXIgaD10aGlzLmxhdFJhbmdlO2k9dC5tZXJjYXRvcllmcm9tTGF0KGhbMV0pKnRoaXMud29ybGRTaXplLGU9KG89dC5tZXJjYXRvcllmcm9tTGF0KGhbMF0pKnRoaXMud29ybGRTaXplKS1pPGMueT9jLnkvKG8taSk6MH1pZih0aGlzLmxuZ1JhbmdlKXt2YXIgZj10aGlzLmxuZ1JhbmdlO3M9dC5tZXJjYXRvclhmcm9tTG5nKGZbMF0pKnRoaXMud29ybGRTaXplLHI9KGw9dC5tZXJjYXRvclhmcm9tTG5nKGZbMV0pKnRoaXMud29ybGRTaXplKS1zPGMueD9jLngvKGwtcyk6MH12YXIgcD10aGlzLnBvaW50LGQ9TWF0aC5tYXgocnx8MCxlfHwwKTtpZihkKXJldHVybiB0aGlzLmNlbnRlcj10aGlzLnVucHJvamVjdChuZXcgdC5Qb2ludChyPyhsK3MpLzI6cC54LGU/KG8raSkvMjpwLnkpKSx0aGlzLnpvb20rPXRoaXMuc2NhbGVab29tKGQpLHRoaXMuX3VubW9kaWZpZWQ9dSx2b2lkKHRoaXMuX2NvbnN0cmFpbmluZz0hMSk7aWYodGhpcy5sYXRSYW5nZSl7dmFyIGc9cC55LHY9Yy55LzI7Zy12PGkmJihhPWkrdiksZyt2Pm8mJihhPW8tdil9aWYodGhpcy5sbmdSYW5nZSl7dmFyIG09cC54LHk9Yy54LzI7bS15PHMmJihuPXMreSksbSt5PmwmJihuPWwteSl9dm9pZCAwPT09biYmdm9pZCAwPT09YXx8KHRoaXMuY2VudGVyPXRoaXMudW5wcm9qZWN0KG5ldyB0LlBvaW50KHZvaWQgMCE9PW4/bjpwLngsdm9pZCAwIT09YT9hOnAueSkpKSx0aGlzLl91bm1vZGlmaWVkPXUsdGhpcy5fY29uc3RyYWluaW5nPSExfX0sdW4ucHJvdG90eXBlLl9jYWxjTWF0cmljZXM9ZnVuY3Rpb24oKXtpZih0aGlzLmhlaWdodCl7dGhpcy5jYW1lcmFUb0NlbnRlckRpc3RhbmNlPS41L01hdGgudGFuKHRoaXMuX2Zvdi8yKSp0aGlzLmhlaWdodDt2YXIgZT10aGlzLl9mb3YvMixyPU1hdGguUEkvMit0aGlzLl9waXRjaCxuPU1hdGguc2luKGUpKnRoaXMuY2FtZXJhVG9DZW50ZXJEaXN0YW5jZS9NYXRoLnNpbihNYXRoLlBJLXItZSksYT10aGlzLnBvaW50LGk9YS54LG89YS55LHM9MS4wMSooTWF0aC5jb3MoTWF0aC5QSS8yLXRoaXMuX3BpdGNoKSpuK3RoaXMuY2FtZXJhVG9DZW50ZXJEaXN0YW5jZSksbD10aGlzLmhlaWdodC81MCxjPW5ldyBGbG9hdDY0QXJyYXkoMTYpO3QucGVyc3BlY3RpdmUoYyx0aGlzLl9mb3YsdGhpcy53aWR0aC90aGlzLmhlaWdodCxsLHMpLHQuc2NhbGUoYyxjLFsxLC0xLDFdKSx0LnRyYW5zbGF0ZShjLGMsWzAsMCwtdGhpcy5jYW1lcmFUb0NlbnRlckRpc3RhbmNlXSksdC5yb3RhdGVYKGMsYyx0aGlzLl9waXRjaCksdC5yb3RhdGVaKGMsYyx0aGlzLmFuZ2xlKSx0LnRyYW5zbGF0ZShjLGMsWy1pLC1vLDBdKSx0aGlzLm1lcmNhdG9yTWF0cml4PXQuc2NhbGUoW10sYyxbdGhpcy53b3JsZFNpemUsdGhpcy53b3JsZFNpemUsdGhpcy53b3JsZFNpemVdKSx0LnNjYWxlKGMsYyxbMSwxLHQubWVyY2F0b3JaZnJvbUFsdGl0dWRlKDEsdGhpcy5jZW50ZXIubGF0KSp0aGlzLndvcmxkU2l6ZSwxXSksdGhpcy5wcm9qTWF0cml4PWM7dmFyIHU9dGhpcy53aWR0aCUyLzIsaD10aGlzLmhlaWdodCUyLzIsZj1NYXRoLmNvcyh0aGlzLmFuZ2xlKSxwPU1hdGguc2luKHRoaXMuYW5nbGUpLGQ9aS1NYXRoLnJvdW5kKGkpK2YqdStwKmgsZz1vLU1hdGgucm91bmQobykrZipoK3AqdSx2PW5ldyBGbG9hdDY0QXJyYXkoYyk7aWYodC50cmFuc2xhdGUodix2LFtkPi41P2QtMTpkLGc+LjU/Zy0xOmcsMF0pLHRoaXMuYWxpZ25lZFByb2pNYXRyaXg9dixjPXQuY3JlYXRlKCksdC5zY2FsZShjLGMsW3RoaXMud2lkdGgvMiwtdGhpcy5oZWlnaHQvMiwxXSksdC50cmFuc2xhdGUoYyxjLFsxLC0xLDBdKSx0aGlzLmxhYmVsUGxhbmVNYXRyaXg9YyxjPXQuY3JlYXRlKCksdC5zY2FsZShjLGMsWzEsLTEsMV0pLHQudHJhbnNsYXRlKGMsYyxbLTEsLTEsMF0pLHQuc2NhbGUoYyxjLFsyL3RoaXMud2lkdGgsMi90aGlzLmhlaWdodCwxXSksdGhpcy5nbENvb3JkTWF0cml4PWMsdGhpcy5waXhlbE1hdHJpeD10Lm11bHRpcGx5KG5ldyBGbG9hdDY0QXJyYXkoMTYpLHRoaXMubGFiZWxQbGFuZU1hdHJpeCx0aGlzLnByb2pNYXRyaXgpLCEoYz10LmludmVydChuZXcgRmxvYXQ2NEFycmF5KDE2KSx0aGlzLnBpeGVsTWF0cml4KSkpdGhyb3cgbmV3IEVycm9yKCJmYWlsZWQgdG8gaW52ZXJ0IG1hdHJpeCIpO3RoaXMucGl4ZWxNYXRyaXhJbnZlcnNlPWMsdGhpcy5fcG9zTWF0cml4Q2FjaGU9e30sdGhpcy5fYWxpZ25lZFBvc01hdHJpeENhY2hlPXt9fX0sdW4ucHJvdG90eXBlLm1heFBpdGNoU2NhbGVGYWN0b3I9ZnVuY3Rpb24oKXtpZighdGhpcy5waXhlbE1hdHJpeEludmVyc2UpcmV0dXJuIDE7dmFyIGU9dGhpcy5wb2ludENvb3JkaW5hdGUobmV3IHQuUG9pbnQoMCwwKSkscj1bZS54KnRoaXMud29ybGRTaXplLGUueSp0aGlzLndvcmxkU2l6ZSwwLDFdO3JldHVybiB0LnRyYW5zZm9ybU1hdDQocixyLHRoaXMucGl4ZWxNYXRyaXgpWzNdL3RoaXMuY2FtZXJhVG9DZW50ZXJEaXN0YW5jZX0sdW4ucHJvdG90eXBlLmdldENhbWVyYVBvaW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fcGl0Y2gscj1NYXRoLnRhbihlKSoodGhpcy5jYW1lcmFUb0NlbnRlckRpc3RhbmNlfHwxKTtyZXR1cm4gdGhpcy5jZW50ZXJQb2ludC5hZGQobmV3IHQuUG9pbnQoMCxyKSl9LHVuLnByb3RvdHlwZS5nZXRDYW1lcmFRdWVyeUdlb21ldHJ5PWZ1bmN0aW9uKGUpe3ZhciByPXRoaXMuZ2V0Q2FtZXJhUG9pbnQoKTtpZigxPT09ZS5sZW5ndGgpcmV0dXJuW2VbMF0scl07Zm9yKHZhciBuPXIueCxhPXIueSxpPXIueCxvPXIueSxzPTAsbD1lO3M8bC5sZW5ndGg7cys9MSl7dmFyIGM9bFtzXTtuPU1hdGgubWluKG4sYy54KSxhPU1hdGgubWluKGEsYy55KSxpPU1hdGgubWF4KGksYy54KSxvPU1hdGgubWF4KG8sYy55KX1yZXR1cm5bbmV3IHQuUG9pbnQobixhKSxuZXcgdC5Qb2ludChpLGEpLG5ldyB0LlBvaW50KGksbyksbmV3IHQuUG9pbnQobixvKSxuZXcgdC5Qb2ludChuLGEpXX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXModW4ucHJvdG90eXBlLGhuKTt2YXIgZm49ZnVuY3Rpb24oKXt2YXIgZSxyLG4sYTt0LmJpbmRBbGwoWyJfb25IYXNoQ2hhbmdlIiwiX3VwZGF0ZUhhc2giXSx0aGlzKSx0aGlzLl91cGRhdGVIYXNoPShlPXRoaXMuX3VwZGF0ZUhhc2hVbnRocm90dGxlZC5iaW5kKHRoaXMpLDMwMCxyPSExLG49bnVsbCxhPWZ1bmN0aW9uKCl7bj1udWxsLHImJihlKCksbj1zZXRUaW1lb3V0KGEsMzAwKSxyPSExKX0sZnVuY3Rpb24oKXtyZXR1cm4gcj0hMCxufHxhKCksbn0pfTtmbi5wcm90b3R5cGUuYWRkVG89ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX21hcD1lLHQud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLHRoaXMuX29uSGFzaENoYW5nZSwhMSksdGhpcy5fbWFwLm9uKCJtb3ZlZW5kIix0aGlzLl91cGRhdGVIYXNoKSx0aGlzfSxmbi5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7cmV0dXJuIHQud2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLHRoaXMuX29uSGFzaENoYW5nZSwhMSksdGhpcy5fbWFwLm9mZigibW92ZWVuZCIsdGhpcy5fdXBkYXRlSGFzaCksY2xlYXJUaW1lb3V0KHRoaXMuX3VwZGF0ZUhhc2goKSksZGVsZXRlIHRoaXMuX21hcCx0aGlzfSxmbi5wcm90b3R5cGUuZ2V0SGFzaFN0cmluZz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9tYXAuZ2V0Q2VudGVyKCkscj1NYXRoLnJvdW5kKDEwMCp0aGlzLl9tYXAuZ2V0Wm9vbSgpKS8xMDAsbj1NYXRoLmNlaWwoKHIqTWF0aC5MTjIrTWF0aC5sb2coNTEyLzM2MC8uNSkpL01hdGguTE4xMCksYT1NYXRoLnBvdygxMCxuKSxpPU1hdGgucm91bmQoZS5sbmcqYSkvYSxvPU1hdGgucm91bmQoZS5sYXQqYSkvYSxzPXRoaXMuX21hcC5nZXRCZWFyaW5nKCksbD10aGlzLl9tYXAuZ2V0UGl0Y2goKSxjPSIiO3JldHVybiBjKz10PyIjLyIraSsiLyIrbysiLyIrcjoiIyIrcisiLyIrbysiLyIraSwoc3x8bCkmJihjKz0iLyIrTWF0aC5yb3VuZCgxMCpzKS8xMCksbCYmKGMrPSIvIitNYXRoLnJvdW5kKGwpKSxjfSxmbi5wcm90b3R5cGUuX29uSGFzaENoYW5nZT1mdW5jdGlvbigpe3ZhciBlPXQud2luZG93LmxvY2F0aW9uLmhhc2gucmVwbGFjZSgiIyIsIiIpLnNwbGl0KCIvIik7cmV0dXJuIGUubGVuZ3RoPj0zJiYodGhpcy5fbWFwLmp1bXBUbyh7Y2VudGVyOlsrZVsyXSwrZVsxXV0sem9vbTorZVswXSxiZWFyaW5nOisoZVszXXx8MCkscGl0Y2g6KyhlWzRdfHwwKX0pLCEwKX0sZm4ucHJvdG90eXBlLl91cGRhdGVIYXNoVW50aHJvdHRsZWQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmdldEhhc2hTdHJpbmcoKTt0cnl7dC53aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUodC53aW5kb3cuaGlzdG9yeS5zdGF0ZSwiIixlKX1jYXRjaCh0KXt9fTt2YXIgcG49ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbihuLGEsaSxvKXt2b2lkIDA9PT1vJiYobz17fSk7dmFyIHM9ci5tb3VzZVBvcyhhLmdldENhbnZhc0NvbnRhaW5lcigpLGkpLGw9YS51bnByb2plY3Qocyk7ZS5jYWxsKHRoaXMsbix0LmV4dGVuZCh7cG9pbnQ6cyxsbmdMYXQ6bCxvcmlnaW5hbEV2ZW50Oml9LG8pKSx0aGlzLl9kZWZhdWx0UHJldmVudGVkPSExLHRoaXMudGFyZ2V0PWF9ZSYmKG4uX19wcm90b19fPWUpLG4ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUpLG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yPW47dmFyIGE9e2RlZmF1bHRQcmV2ZW50ZWQ6e2NvbmZpZ3VyYWJsZTohMH19O3JldHVybiBuLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuX2RlZmF1bHRQcmV2ZW50ZWQ9ITB9LGEuZGVmYXVsdFByZXZlbnRlZC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGVmYXVsdFByZXZlbnRlZH0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMobi5wcm90b3R5cGUsYSksbn0odC5FdmVudCksZG49ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbihuLGEsaSl7dmFyIG89ci50b3VjaFBvcyhhLmdldENhbnZhc0NvbnRhaW5lcigpLGkpLHM9by5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIGEudW5wcm9qZWN0KHQpfSksbD1vLnJlZHVjZShmdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdC5hZGQoZS5kaXYobi5sZW5ndGgpKX0sbmV3IHQuUG9pbnQoMCwwKSksYz1hLnVucHJvamVjdChsKTtlLmNhbGwodGhpcyxuLHtwb2ludHM6byxwb2ludDpsLGxuZ0xhdHM6cyxsbmdMYXQ6YyxvcmlnaW5hbEV2ZW50Oml9KSx0aGlzLl9kZWZhdWx0UHJldmVudGVkPSExfWUmJihuLl9fcHJvdG9fXz1lKSxuLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlKSxuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO3ZhciBhPXtkZWZhdWx0UHJldmVudGVkOntjb25maWd1cmFibGU6ITB9fTtyZXR1cm4gbi5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLl9kZWZhdWx0UHJldmVudGVkPSEwfSxhLmRlZmF1bHRQcmV2ZW50ZWQuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RlZmF1bHRQcmV2ZW50ZWR9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG4ucHJvdG90eXBlLGEpLG59KHQuRXZlbnQpLGduPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSxyLG4pe3QuY2FsbCh0aGlzLGUse29yaWdpbmFsRXZlbnQ6bn0pLHRoaXMuX2RlZmF1bHRQcmV2ZW50ZWQ9ITF9dCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWU7dmFyIHI9e2RlZmF1bHRQcmV2ZW50ZWQ6e2NvbmZpZ3VyYWJsZTohMH19O3JldHVybiBlLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuX2RlZmF1bHRQcmV2ZW50ZWQ9ITB9LHIuZGVmYXVsdFByZXZlbnRlZC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGVmYXVsdFByZXZlbnRlZH0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZS5wcm90b3R5cGUsciksZX0odC5FdmVudCksdm49ZnVuY3Rpb24oZSl7dGhpcy5fbWFwPWUsdGhpcy5fZWw9ZS5nZXRDYW52YXNDb250YWluZXIoKSx0aGlzLl9kZWx0YT0wLHRoaXMuX2RlZmF1bHRab29tUmF0ZT0uMDEsdGhpcy5fd2hlZWxab29tUmF0ZT0xLzQ1MCx0LmJpbmRBbGwoWyJfb25XaGVlbCIsIl9vblRpbWVvdXQiLCJfb25TY3JvbGxGcmFtZSIsIl9vblNjcm9sbEZpbmlzaGVkIl0sdGhpcyl9O3ZuLnByb3RvdHlwZS5zZXRab29tUmF0ZT1mdW5jdGlvbih0KXt0aGlzLl9kZWZhdWx0Wm9vbVJhdGU9dH0sdm4ucHJvdG90eXBlLnNldFdoZWVsWm9vbVJhdGU9ZnVuY3Rpb24odCl7dGhpcy5fd2hlZWxab29tUmF0ZT10fSx2bi5wcm90b3R5cGUuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9lbmFibGVkfSx2bi5wcm90b3R5cGUuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuX2FjdGl2ZX0sdm4ucHJvdG90eXBlLmlzWm9vbWluZz1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5fem9vbWluZ30sdm4ucHJvdG90eXBlLmVuYWJsZT1mdW5jdGlvbih0KXt0aGlzLmlzRW5hYmxlZCgpfHwodGhpcy5fZW5hYmxlZD0hMCx0aGlzLl9hcm91bmRDZW50ZXI9dCYmImNlbnRlciI9PT10LmFyb3VuZCl9LHZuLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5pc0VuYWJsZWQoKSYmKHRoaXMuX2VuYWJsZWQ9ITEpfSx2bi5wcm90b3R5cGUub25XaGVlbD1mdW5jdGlvbihlKXtpZih0aGlzLmlzRW5hYmxlZCgpKXt2YXIgcj1lLmRlbHRhTW9kZT09PXQud2luZG93LldoZWVsRXZlbnQuRE9NX0RFTFRBX0xJTkU/NDAqZS5kZWx0YVk6ZS5kZWx0YVksbj10LmJyb3dzZXIubm93KCksYT1uLSh0aGlzLl9sYXN0V2hlZWxFdmVudFRpbWV8fDApO3RoaXMuX2xhc3RXaGVlbEV2ZW50VGltZT1uLDAhPT1yJiZyJTQuMDAwMjQ0MTQwNjI1PT0wP3RoaXMuX3R5cGU9IndoZWVsIjowIT09ciYmTWF0aC5hYnMocik8ND90aGlzLl90eXBlPSJ0cmFja3BhZCI6YT40MDA/KHRoaXMuX3R5cGU9bnVsbCx0aGlzLl9sYXN0VmFsdWU9cix0aGlzLl90aW1lb3V0PXNldFRpbWVvdXQodGhpcy5fb25UaW1lb3V0LDQwLGUpKTp0aGlzLl90eXBlfHwodGhpcy5fdHlwZT1NYXRoLmFicyhhKnIpPDIwMD8idHJhY2twYWQiOiJ3aGVlbCIsdGhpcy5fdGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KSx0aGlzLl90aW1lb3V0PW51bGwscis9dGhpcy5fbGFzdFZhbHVlKSksZS5zaGlmdEtleSYmciYmKHIvPTQpLHRoaXMuX3R5cGUmJih0aGlzLl9sYXN0V2hlZWxFdmVudD1lLHRoaXMuX2RlbHRhLT1yLHRoaXMuaXNBY3RpdmUoKXx8dGhpcy5fc3RhcnQoZSkpLGUucHJldmVudERlZmF1bHQoKX19LHZuLnByb3RvdHlwZS5fb25UaW1lb3V0PWZ1bmN0aW9uKHQpe3RoaXMuX3R5cGU9IndoZWVsIix0aGlzLl9kZWx0YS09dGhpcy5fbGFzdFZhbHVlLHRoaXMuaXNBY3RpdmUoKXx8dGhpcy5fc3RhcnQodCl9LHZuLnByb3RvdHlwZS5fc3RhcnQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5fZGVsdGEpe3RoaXMuX2ZyYW1lSWQmJih0aGlzLl9tYXAuX2NhbmNlbFJlbmRlckZyYW1lKHRoaXMuX2ZyYW1lSWQpLHRoaXMuX2ZyYW1lSWQ9bnVsbCksdGhpcy5fYWN0aXZlPSEwLHRoaXMuaXNab29taW5nKCl8fCh0aGlzLl96b29taW5nPSEwLHRoaXMuX21hcC5maXJlKG5ldyB0LkV2ZW50KCJtb3Zlc3RhcnQiLHtvcmlnaW5hbEV2ZW50OmV9KSksdGhpcy5fbWFwLmZpcmUobmV3IHQuRXZlbnQoInpvb21zdGFydCIse29yaWdpbmFsRXZlbnQ6ZX0pKSksdGhpcy5fZmluaXNoVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuX2ZpbmlzaFRpbWVvdXQpO3ZhciBuPXIubW91c2VQb3ModGhpcy5fZWwsZSk7dGhpcy5fYXJvdW5kPXQuTG5nTGF0LmNvbnZlcnQodGhpcy5fYXJvdW5kQ2VudGVyP3RoaXMuX21hcC5nZXRDZW50ZXIoKTp0aGlzLl9tYXAudW5wcm9qZWN0KG4pKSx0aGlzLl9hcm91bmRQb2ludD10aGlzLl9tYXAudHJhbnNmb3JtLmxvY2F0aW9uUG9pbnQodGhpcy5fYXJvdW5kKSx0aGlzLl9mcmFtZUlkfHwodGhpcy5fZnJhbWVJZD10aGlzLl9tYXAuX3JlcXVlc3RSZW5kZXJGcmFtZSh0aGlzLl9vblNjcm9sbEZyYW1lKSl9fSx2bi5wcm90b3R5cGUuX29uU2Nyb2xsRnJhbWU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKHRoaXMuX2ZyYW1lSWQ9bnVsbCx0aGlzLmlzQWN0aXZlKCkpe3ZhciByPXRoaXMuX21hcC50cmFuc2Zvcm07aWYoMCE9PXRoaXMuX2RlbHRhKXt2YXIgbj0id2hlZWwiPT09dGhpcy5fdHlwZSYmTWF0aC5hYnModGhpcy5fZGVsdGEpPjQuMDAwMjQ0MTQwNjI1P3RoaXMuX3doZWVsWm9vbVJhdGU6dGhpcy5fZGVmYXVsdFpvb21SYXRlLGE9Mi8oMStNYXRoLmV4cCgtTWF0aC5hYnModGhpcy5fZGVsdGEqbikpKTt0aGlzLl9kZWx0YTwwJiYwIT09YSYmKGE9MS9hKTt2YXIgaT0ibnVtYmVyIj09dHlwZW9mIHRoaXMuX3RhcmdldFpvb20/ci56b29tU2NhbGUodGhpcy5fdGFyZ2V0Wm9vbSk6ci5zY2FsZTt0aGlzLl90YXJnZXRab29tPU1hdGgubWluKHIubWF4Wm9vbSxNYXRoLm1heChyLm1pblpvb20sci5zY2FsZVpvb20oaSphKSkpLCJ3aGVlbCI9PT10aGlzLl90eXBlJiYodGhpcy5fc3RhcnRab29tPXIuem9vbSx0aGlzLl9lYXNpbmc9dGhpcy5fc21vb3RoT3V0RWFzaW5nKDIwMCkpLHRoaXMuX2RlbHRhPTB9dmFyIG89Im51bWJlciI9PXR5cGVvZiB0aGlzLl90YXJnZXRab29tP3RoaXMuX3RhcmdldFpvb206ci56b29tLHM9dGhpcy5fc3RhcnRab29tLGw9dGhpcy5fZWFzaW5nLGM9ITE7aWYoIndoZWVsIj09PXRoaXMuX3R5cGUmJnMmJmwpe3ZhciB1PU1hdGgubWluKCh0LmJyb3dzZXIubm93KCktdGhpcy5fbGFzdFdoZWVsRXZlbnRUaW1lKS8yMDAsMSksaD1sKHUpO3Iuem9vbT10Lm51bWJlcihzLG8saCksdTwxP3RoaXMuX2ZyYW1lSWR8fCh0aGlzLl9mcmFtZUlkPXRoaXMuX21hcC5fcmVxdWVzdFJlbmRlckZyYW1lKHRoaXMuX29uU2Nyb2xsRnJhbWUpKTpjPSEwfWVsc2Ugci56b29tPW8sYz0hMDtyLnNldExvY2F0aW9uQXRQb2ludCh0aGlzLl9hcm91bmQsdGhpcy5fYXJvdW5kUG9pbnQpLHRoaXMuX21hcC5maXJlKG5ldyB0LkV2ZW50KCJtb3ZlIix7b3JpZ2luYWxFdmVudDp0aGlzLl9sYXN0V2hlZWxFdmVudH0pKSx0aGlzLl9tYXAuZmlyZShuZXcgdC5FdmVudCgiem9vbSIse29yaWdpbmFsRXZlbnQ6dGhpcy5fbGFzdFdoZWVsRXZlbnR9KSksYyYmKHRoaXMuX2FjdGl2ZT0hMSx0aGlzLl9maW5pc2hUaW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLl96b29taW5nPSExLGUuX21hcC5maXJlKG5ldyB0LkV2ZW50KCJ6b29tZW5kIix7b3JpZ2luYWxFdmVudDplLl9sYXN0V2hlZWxFdmVudH0pKSxlLl9tYXAuZmlyZShuZXcgdC5FdmVudCgibW92ZWVuZCIse29yaWdpbmFsRXZlbnQ6ZS5fbGFzdFdoZWVsRXZlbnR9KSksZGVsZXRlIGUuX3RhcmdldFpvb219LDIwMCkpfX0sdm4ucHJvdG90eXBlLl9zbW9vdGhPdXRFYXNpbmc9ZnVuY3Rpb24oZSl7dmFyIHI9dC5lYXNlO2lmKHRoaXMuX3ByZXZFYXNlKXt2YXIgbj10aGlzLl9wcmV2RWFzZSxhPSh0LmJyb3dzZXIubm93KCktbi5zdGFydCkvbi5kdXJhdGlvbixpPW4uZWFzaW5nKGErLjAxKS1uLmVhc2luZyhhKSxvPS4yNy9NYXRoLnNxcnQoaSppKzFlLTQpKi4wMSxzPU1hdGguc3FydCguMDcyOS1vKm8pO3I9dC5iZXppZXIobyxzLC4yNSwxKX1yZXR1cm4gdGhpcy5fcHJldkVhc2U9e3N0YXJ0OnQuYnJvd3Nlci5ub3coKSxkdXJhdGlvbjplLGVhc2luZzpyfSxyfTt2YXIgbW49ZnVuY3Rpb24oZSxyKXt0aGlzLl9tYXA9ZSx0aGlzLl9lbD1lLmdldENhbnZhc0NvbnRhaW5lcigpLHRoaXMuX2NvbnRhaW5lcj1lLmdldENvbnRhaW5lcigpLHRoaXMuX2NsaWNrVG9sZXJhbmNlPXIuY2xpY2tUb2xlcmFuY2V8fDEsdC5iaW5kQWxsKFsiX29uTW91c2VNb3ZlIiwiX29uTW91c2VVcCIsIl9vbktleURvd24iXSx0aGlzKX07bW4ucHJvdG90eXBlLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5fZW5hYmxlZH0sbW4ucHJvdG90eXBlLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9hY3RpdmV9LG1uLnByb3RvdHlwZS5lbmFibGU9ZnVuY3Rpb24oKXt0aGlzLmlzRW5hYmxlZCgpfHwodGhpcy5fZW5hYmxlZD0hMCl9LG1uLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5pc0VuYWJsZWQoKSYmKHRoaXMuX2VuYWJsZWQ9ITEpfSxtbi5wcm90b3R5cGUub25Nb3VzZURvd249ZnVuY3Rpb24oZSl7dGhpcy5pc0VuYWJsZWQoKSYmZS5zaGlmdEtleSYmMD09PWUuYnV0dG9uJiYodC53aW5kb3cuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9vbk1vdXNlTW92ZSwhMSksdC53aW5kb3cuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fb25LZXlEb3duLCExKSx0LndpbmRvdy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlVXAsITEpLHIuZGlzYWJsZURyYWcoKSx0aGlzLl9zdGFydFBvcz10aGlzLl9sYXN0UG9zPXIubW91c2VQb3ModGhpcy5fZWwsZSksdGhpcy5fYWN0aXZlPSEwKX0sbW4ucHJvdG90eXBlLl9vbk1vdXNlTW92ZT1mdW5jdGlvbih0KXt2YXIgZT1yLm1vdXNlUG9zKHRoaXMuX2VsLHQpO2lmKCEodGhpcy5fbGFzdFBvcy5lcXVhbHMoZSl8fCF0aGlzLl9ib3gmJmUuZGlzdCh0aGlzLl9zdGFydFBvcyk8dGhpcy5fY2xpY2tUb2xlcmFuY2UpKXt2YXIgbj10aGlzLl9zdGFydFBvczt0aGlzLl9sYXN0UG9zPWUsdGhpcy5fYm94fHwodGhpcy5fYm94PXIuY3JlYXRlKCJkaXYiLCJtYXBib3hnbC1ib3h6b29tIix0aGlzLl9jb250YWluZXIpLHRoaXMuX2NvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCJtYXBib3hnbC1jcm9zc2hhaXIiKSx0aGlzLl9maXJlRXZlbnQoImJveHpvb21zdGFydCIsdCkpO3ZhciBhPU1hdGgubWluKG4ueCxlLngpLGk9TWF0aC5tYXgobi54LGUueCksbz1NYXRoLm1pbihuLnksZS55KSxzPU1hdGgubWF4KG4ueSxlLnkpO3Iuc2V0VHJhbnNmb3JtKHRoaXMuX2JveCwidHJhbnNsYXRlKCIrYSsicHgsIitvKyJweCkiKSx0aGlzLl9ib3guc3R5bGUud2lkdGg9aS1hKyJweCIsdGhpcy5fYm94LnN0eWxlLmhlaWdodD1zLW8rInB4In19LG1uLnByb3RvdHlwZS5fb25Nb3VzZVVwPWZ1bmN0aW9uKGUpe2lmKDA9PT1lLmJ1dHRvbil7dmFyIG49dGhpcy5fc3RhcnRQb3MsYT1yLm1vdXNlUG9zKHRoaXMuX2VsLGUpO3RoaXMuX2ZpbmlzaCgpLHIuc3VwcHJlc3NDbGljaygpLG4ueD09PWEueCYmbi55PT09YS55P3RoaXMuX2ZpcmVFdmVudCgiYm94em9vbWNhbmNlbCIsZSk6dGhpcy5fbWFwLmZpdFNjcmVlbkNvb3JkaW5hdGVzKG4sYSx0aGlzLl9tYXAuZ2V0QmVhcmluZygpLHtsaW5lYXI6ITB9KS5maXJlKG5ldyB0LkV2ZW50KCJib3h6b29tZW5kIix7b3JpZ2luYWxFdmVudDplfSkpfX0sbW4ucHJvdG90eXBlLl9vbktleURvd249ZnVuY3Rpb24odCl7Mjc9PT10LmtleUNvZGUmJih0aGlzLl9maW5pc2goKSx0aGlzLl9maXJlRXZlbnQoImJveHpvb21jYW5jZWwiLHQpKX0sbW4ucHJvdG90eXBlLl9maW5pc2g9ZnVuY3Rpb24oKXt0aGlzLl9hY3RpdmU9ITEsdC53aW5kb3cuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9vbk1vdXNlTW92ZSwhMSksdC53aW5kb3cuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fb25LZXlEb3duLCExKSx0LndpbmRvdy5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlVXAsITEpLHRoaXMuX2NvbnRhaW5lci5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC1jcm9zc2hhaXIiKSx0aGlzLl9ib3gmJihyLnJlbW92ZSh0aGlzLl9ib3gpLHRoaXMuX2JveD1udWxsKSxyLmVuYWJsZURyYWcoKSxkZWxldGUgdGhpcy5fc3RhcnRQb3MsZGVsZXRlIHRoaXMuX2xhc3RQb3N9LG1uLnByb3RvdHlwZS5fZmlyZUV2ZW50PWZ1bmN0aW9uKGUscil7cmV0dXJuIHRoaXMuX21hcC5maXJlKG5ldyB0LkV2ZW50KGUse29yaWdpbmFsRXZlbnQ6cn0pKX07dmFyIHluPXQuYmV6aWVyKDAsMCwuMjUsMSkseG49ZnVuY3Rpb24oZSxyKXt0aGlzLl9tYXA9ZSx0aGlzLl9lbD1yLmVsZW1lbnR8fGUuZ2V0Q2FudmFzQ29udGFpbmVyKCksdGhpcy5fc3RhdGU9ImRpc2FibGVkIix0aGlzLl9idXR0b249ci5idXR0b258fCJyaWdodCIsdGhpcy5fYmVhcmluZ1NuYXA9ci5iZWFyaW5nU25hcHx8MCx0aGlzLl9waXRjaFdpdGhSb3RhdGU9ITEhPT1yLnBpdGNoV2l0aFJvdGF0ZSx0LmJpbmRBbGwoWyJvbk1vdXNlRG93biIsIl9vbk1vdXNlTW92ZSIsIl9vbk1vdXNlVXAiLCJfb25CbHVyIiwiX29uRHJhZ0ZyYW1lIl0sdGhpcyl9O3huLnByb3RvdHlwZS5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtyZXR1cm4iZGlzYWJsZWQiIT09dGhpcy5fc3RhdGV9LHhuLnByb3RvdHlwZS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiJhY3RpdmUiPT09dGhpcy5fc3RhdGV9LHhuLnByb3RvdHlwZS5lbmFibGU9ZnVuY3Rpb24oKXt0aGlzLmlzRW5hYmxlZCgpfHwodGhpcy5fc3RhdGU9ImVuYWJsZWQiKX0seG4ucHJvdG90eXBlLmRpc2FibGU9ZnVuY3Rpb24oKXtpZih0aGlzLmlzRW5hYmxlZCgpKXN3aXRjaCh0aGlzLl9zdGF0ZSl7Y2FzZSJhY3RpdmUiOnRoaXMuX3N0YXRlPSJkaXNhYmxlZCIsdGhpcy5fdW5iaW5kKCksdGhpcy5fZGVhY3RpdmF0ZSgpLHRoaXMuX2ZpcmVFdmVudCgicm90YXRlZW5kIiksdGhpcy5fcGl0Y2hXaXRoUm90YXRlJiZ0aGlzLl9maXJlRXZlbnQoInBpdGNoZW5kIiksdGhpcy5fZmlyZUV2ZW50KCJtb3ZlZW5kIik7YnJlYWs7Y2FzZSJwZW5kaW5nIjp0aGlzLl9zdGF0ZT0iZGlzYWJsZWQiLHRoaXMuX3VuYmluZCgpO2JyZWFrO2RlZmF1bHQ6dGhpcy5fc3RhdGU9ImRpc2FibGVkIn19LHhuLnByb3RvdHlwZS5vbk1vdXNlRG93bj1mdW5jdGlvbihlKXtpZigiZW5hYmxlZCI9PT10aGlzLl9zdGF0ZSl7dmFyIG49InRvdWNoc3RhcnQiPT09ZS50eXBlO2lmKG4pdGhpcy5fc3RhcnRUaW1lPURhdGUubm93KCk7ZWxzZSBpZigicmlnaHQiPT09dGhpcy5fYnV0dG9uKXtpZih0aGlzLl9ldmVudEJ1dHRvbj1yLm1vdXNlQnV0dG9uKGUpLHRoaXMuX2V2ZW50QnV0dG9uIT09KGUuY3RybEtleT8wOjIpKXJldHVybn1lbHNle2lmKGUuY3RybEtleXx8MCE9PXIubW91c2VCdXR0b24oZSkpcmV0dXJuO3RoaXMuX2V2ZW50QnV0dG9uPTB9ci5kaXNhYmxlRHJhZygpLG4/KHQud2luZG93LmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fb25Nb3VzZU1vdmUse2NhcHR1cmU6ITB9KSx0LndpbmRvdy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fb25Nb3VzZVVwKSk6KHQud2luZG93LmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fb25Nb3VzZU1vdmUse2NhcHR1cmU6ITB9KSx0LndpbmRvdy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlVXApKSx0LndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9vbkJsdXIpLHRoaXMuX3N0YXRlPSJwZW5kaW5nIix0aGlzLl9pbmVydGlhPVtbdC5icm93c2VyLm5vdygpLHRoaXMuX21hcC5nZXRCZWFyaW5nKCldXSx0aGlzLl9zdGFydFBvcz10aGlzLl9wcmV2UG9zPXRoaXMuX2xhc3RQb3M9ci5tb3VzZVBvcyh0aGlzLl9lbCxlKSx0aGlzLl9jZW50ZXI9dGhpcy5fbWFwLnRyYW5zZm9ybS5jZW50ZXJQb2ludCxlLnByZXZlbnREZWZhdWx0KCl9fSx4bi5wcm90b3R5cGUuX29uTW91c2VNb3ZlPWZ1bmN0aW9uKHQpe3ZhciBlPXIubW91c2VQb3ModGhpcy5fZWwsdCk7dGhpcy5fbGFzdFBvcy5lcXVhbHMoZSl8fCh0aGlzLl9sYXN0TW92ZUV2ZW50PXQsdGhpcy5fbGFzdFBvcz1lLCJwZW5kaW5nIj09PXRoaXMuX3N0YXRlJiYodGhpcy5fc3RhdGU9ImFjdGl2ZSIsdGhpcy5fZmlyZUV2ZW50KCJyb3RhdGVzdGFydCIsdCksdGhpcy5fZmlyZUV2ZW50KCJtb3Zlc3RhcnQiLHQpLHRoaXMuX3BpdGNoV2l0aFJvdGF0ZSYmdGhpcy5fZmlyZUV2ZW50KCJwaXRjaHN0YXJ0Iix0KSksdGhpcy5fZnJhbWVJZHx8KHRoaXMuX2ZyYW1lSWQ9dGhpcy5fbWFwLl9yZXF1ZXN0UmVuZGVyRnJhbWUodGhpcy5fb25EcmFnRnJhbWUpKSl9LHhuLnByb3RvdHlwZS5fb25EcmFnRnJhbWU9ZnVuY3Rpb24oKXt0aGlzLl9mcmFtZUlkPW51bGw7dmFyIGU9dGhpcy5fbGFzdE1vdmVFdmVudDtpZihlKXt2YXIgcj10aGlzLl9tYXAudHJhbnNmb3JtLG49dGhpcy5fcHJldlBvcyxhPXRoaXMuX2xhc3RQb3MsaT0uOCoobi54LWEueCksbz0tLjUqKG4ueS1hLnkpLHM9ci5iZWFyaW5nLWksbD1yLnBpdGNoLW8sYz10aGlzLl9pbmVydGlhLHU9Y1tjLmxlbmd0aC0xXTt0aGlzLl9kcmFpbkluZXJ0aWFCdWZmZXIoKSxjLnB1c2goW3QuYnJvd3Nlci5ub3coKSx0aGlzLl9tYXAuX25vcm1hbGl6ZUJlYXJpbmcocyx1WzFdKV0pLHIuYmVhcmluZz1zLHRoaXMuX3BpdGNoV2l0aFJvdGF0ZSYmKHRoaXMuX2ZpcmVFdmVudCgicGl0Y2giLGUpLHIucGl0Y2g9bCksdGhpcy5fZmlyZUV2ZW50KCJyb3RhdGUiLGUpLHRoaXMuX2ZpcmVFdmVudCgibW92ZSIsZSksZGVsZXRlIHRoaXMuX2xhc3RNb3ZlRXZlbnQsdGhpcy5fcHJldlBvcz10aGlzLl9sYXN0UG9zfX0seG4ucHJvdG90eXBlLl9vbk1vdXNlVXA9ZnVuY3Rpb24odCl7aWYoInRvdWNoZW5kIj09PXQudHlwZSYmdGhpcy5fc3RhcnRQb3M9PT10aGlzLl9sYXN0UG9zJiZEYXRlLm5vdygpLXRoaXMuX3N0YXJ0VGltZTwzMDAmJnRoaXMuX2VsLmNsaWNrKCksci5tb3VzZUJ1dHRvbih0KT09PXRoaXMuX2V2ZW50QnV0dG9uKXN3aXRjaCh0aGlzLl9zdGF0ZSl7Y2FzZSJhY3RpdmUiOnRoaXMuX3N0YXRlPSJlbmFibGVkIixyLnN1cHByZXNzQ2xpY2soKSx0aGlzLl91bmJpbmQoKSx0aGlzLl9kZWFjdGl2YXRlKCksdGhpcy5faW5lcnRpYWxSb3RhdGUodCk7YnJlYWs7Y2FzZSJwZW5kaW5nIjp0aGlzLl9zdGF0ZT0iZW5hYmxlZCIsdGhpcy5fdW5iaW5kKCl9fSx4bi5wcm90b3R5cGUuX29uQmx1cj1mdW5jdGlvbih0KXtzd2l0Y2godGhpcy5fc3RhdGUpe2Nhc2UiYWN0aXZlIjp0aGlzLl9zdGF0ZT0iZW5hYmxlZCIsdGhpcy5fdW5iaW5kKCksdGhpcy5fZGVhY3RpdmF0ZSgpLHRoaXMuX2ZpcmVFdmVudCgicm90YXRlZW5kIix0KSx0aGlzLl9waXRjaFdpdGhSb3RhdGUmJnRoaXMuX2ZpcmVFdmVudCgicGl0Y2hlbmQiLHQpLHRoaXMuX2ZpcmVFdmVudCgibW92ZWVuZCIsdCk7YnJlYWs7Y2FzZSJwZW5kaW5nIjp0aGlzLl9zdGF0ZT0iZW5hYmxlZCIsdGhpcy5fdW5iaW5kKCl9fSx4bi5wcm90b3R5cGUuX3VuYmluZD1mdW5jdGlvbigpe3Qud2luZG93LmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fb25Nb3VzZU1vdmUse2NhcHR1cmU6ITB9KSx0LndpbmRvdy5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlVXApLHQud2luZG93LmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fb25Nb3VzZU1vdmUse2NhcHR1cmU6ITB9KSx0LndpbmRvdy5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fb25Nb3VzZVVwKSx0LndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9vbkJsdXIpLHIuZW5hYmxlRHJhZygpfSx4bi5wcm90b3R5cGUuX2RlYWN0aXZhdGU9ZnVuY3Rpb24oKXt0aGlzLl9mcmFtZUlkJiYodGhpcy5fbWFwLl9jYW5jZWxSZW5kZXJGcmFtZSh0aGlzLl9mcmFtZUlkKSx0aGlzLl9mcmFtZUlkPW51bGwpLGRlbGV0ZSB0aGlzLl9sYXN0TW92ZUV2ZW50LGRlbGV0ZSB0aGlzLl9zdGFydFBvcyxkZWxldGUgdGhpcy5fcHJldlBvcyxkZWxldGUgdGhpcy5fbGFzdFBvc30seG4ucHJvdG90eXBlLl9pbmVydGlhbFJvdGF0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMuX2ZpcmVFdmVudCgicm90YXRlZW5kIix0KSx0aGlzLl9kcmFpbkluZXJ0aWFCdWZmZXIoKTt2YXIgcj10aGlzLl9tYXAsbj1yLmdldEJlYXJpbmcoKSxhPXRoaXMuX2luZXJ0aWEsaT1mdW5jdGlvbigpe01hdGguYWJzKG4pPGUuX2JlYXJpbmdTbmFwP3IucmVzZXROb3J0aCh7bm9Nb3ZlU3RhcnQ6ITB9LHtvcmlnaW5hbEV2ZW50OnR9KTplLl9maXJlRXZlbnQoIm1vdmVlbmQiLHQpLGUuX3BpdGNoV2l0aFJvdGF0ZSYmZS5fZmlyZUV2ZW50KCJwaXRjaGVuZCIsdCl9O2lmKGEubGVuZ3RoPDIpaSgpO2Vsc2V7dmFyIG89YVswXSxzPWFbYS5sZW5ndGgtMV0sbD1hW2EubGVuZ3RoLTJdLGM9ci5fbm9ybWFsaXplQmVhcmluZyhuLGxbMV0pLHU9c1sxXS1vWzFdLGg9dTwwPy0xOjEsZj0oc1swXS1vWzBdKS8xZTM7aWYoMCE9PXUmJjAhPT1mKXt2YXIgcD1NYXRoLmFicyh1KiguMjUvZikpO3A+MTgwJiYocD0xODApO3ZhciBkPXAvMTgwO2MrPWgqcCooZC8yKSxNYXRoLmFicyhyLl9ub3JtYWxpemVCZWFyaW5nKGMsMCkpPHRoaXMuX2JlYXJpbmdTbmFwJiYoYz1yLl9ub3JtYWxpemVCZWFyaW5nKDAsYykpLHIucm90YXRlVG8oYyx7ZHVyYXRpb246MWUzKmQsZWFzaW5nOnluLG5vTW92ZVN0YXJ0OiEwfSx7b3JpZ2luYWxFdmVudDp0fSl9ZWxzZSBpKCl9fSx4bi5wcm90b3R5cGUuX2ZpcmVFdmVudD1mdW5jdGlvbihlLHIpe3JldHVybiB0aGlzLl9tYXAuZmlyZShuZXcgdC5FdmVudChlLHI/e29yaWdpbmFsRXZlbnQ6cn06e30pKX0seG4ucHJvdG90eXBlLl9kcmFpbkluZXJ0aWFCdWZmZXI9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5faW5lcnRpYSxyPXQuYnJvd3Nlci5ub3coKTtlLmxlbmd0aD4wJiZyLWVbMF1bMF0+MTYwOyllLnNoaWZ0KCl9O3ZhciBibj10LmJlemllcigwLDAsLjMsMSksX249ZnVuY3Rpb24oZSxyKXt0aGlzLl9tYXA9ZSx0aGlzLl9lbD1lLmdldENhbnZhc0NvbnRhaW5lcigpLHRoaXMuX3N0YXRlPSJkaXNhYmxlZCIsdGhpcy5fY2xpY2tUb2xlcmFuY2U9ci5jbGlja1RvbGVyYW5jZXx8MSx0LmJpbmRBbGwoWyJfb25Nb3ZlIiwiX29uTW91c2VVcCIsIl9vblRvdWNoRW5kIiwiX29uQmx1ciIsIl9vbkRyYWdGcmFtZSJdLHRoaXMpfTtfbi5wcm90b3R5cGUuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuImRpc2FibGVkIiE9PXRoaXMuX3N0YXRlfSxfbi5wcm90b3R5cGUuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4iYWN0aXZlIj09PXRoaXMuX3N0YXRlfSxfbi5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5pc0VuYWJsZWQoKXx8KHRoaXMuX2VsLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLXRvdWNoLWRyYWctcGFuIiksdGhpcy5fc3RhdGU9ImVuYWJsZWQiKX0sX24ucHJvdG90eXBlLmRpc2FibGU9ZnVuY3Rpb24oKXtpZih0aGlzLmlzRW5hYmxlZCgpKXN3aXRjaCh0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC10b3VjaC1kcmFnLXBhbiIpLHRoaXMuX3N0YXRlKXtjYXNlImFjdGl2ZSI6dGhpcy5fc3RhdGU9ImRpc2FibGVkIix0aGlzLl91bmJpbmQoKSx0aGlzLl9kZWFjdGl2YXRlKCksdGhpcy5fZmlyZUV2ZW50KCJkcmFnZW5kIiksdGhpcy5fZmlyZUV2ZW50KCJtb3ZlZW5kIik7YnJlYWs7Y2FzZSJwZW5kaW5nIjp0aGlzLl9zdGF0ZT0iZGlzYWJsZWQiLHRoaXMuX3VuYmluZCgpO2JyZWFrO2RlZmF1bHQ6dGhpcy5fc3RhdGU9ImRpc2FibGVkIn19LF9uLnByb3RvdHlwZS5vbk1vdXNlRG93bj1mdW5jdGlvbihlKXsiZW5hYmxlZCI9PT10aGlzLl9zdGF0ZSYmKGUuY3RybEtleXx8MCE9PXIubW91c2VCdXR0b24oZSl8fChyLmFkZEV2ZW50TGlzdGVuZXIodC53aW5kb3cuZG9jdW1lbnQsIm1vdXNlbW92ZSIsdGhpcy5fb25Nb3ZlLHtjYXB0dXJlOiEwfSksci5hZGRFdmVudExpc3RlbmVyKHQud2luZG93LmRvY3VtZW50LCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlVXApLHRoaXMuX3N0YXJ0KGUpKSl9LF9uLnByb3RvdHlwZS5vblRvdWNoU3RhcnQ9ZnVuY3Rpb24oZSl7ImVuYWJsZWQiPT09dGhpcy5fc3RhdGUmJihlLnRvdWNoZXMubGVuZ3RoPjF8fChyLmFkZEV2ZW50TGlzdGVuZXIodC53aW5kb3cuZG9jdW1lbnQsInRvdWNobW92ZSIsdGhpcy5fb25Nb3ZlLHtjYXB0dXJlOiEwLHBhc3NpdmU6ITF9KSxyLmFkZEV2ZW50TGlzdGVuZXIodC53aW5kb3cuZG9jdW1lbnQsInRvdWNoZW5kIix0aGlzLl9vblRvdWNoRW5kKSx0aGlzLl9zdGFydChlKSkpfSxfbi5wcm90b3R5cGUuX3N0YXJ0PWZ1bmN0aW9uKGUpe3Qud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX29uQmx1ciksdGhpcy5fc3RhdGU9InBlbmRpbmciLHRoaXMuX3N0YXJ0UG9zPXRoaXMuX21vdXNlRG93blBvcz10aGlzLl9wcmV2UG9zPXRoaXMuX2xhc3RQb3M9ci5tb3VzZVBvcyh0aGlzLl9lbCxlKSx0aGlzLl9pbmVydGlhPVtbdC5icm93c2VyLm5vdygpLHRoaXMuX3N0YXJ0UG9zXV19LF9uLnByb3RvdHlwZS5fb25Nb3ZlPWZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTt2YXIgbj1yLm1vdXNlUG9zKHRoaXMuX2VsLGUpO3RoaXMuX2xhc3RQb3MuZXF1YWxzKG4pfHwicGVuZGluZyI9PT10aGlzLl9zdGF0ZSYmbi5kaXN0KHRoaXMuX21vdXNlRG93blBvcyk8dGhpcy5fY2xpY2tUb2xlcmFuY2V8fCh0aGlzLl9sYXN0TW92ZUV2ZW50PWUsdGhpcy5fbGFzdFBvcz1uLHRoaXMuX2RyYWluSW5lcnRpYUJ1ZmZlcigpLHRoaXMuX2luZXJ0aWEucHVzaChbdC5icm93c2VyLm5vdygpLHRoaXMuX2xhc3RQb3NdKSwicGVuZGluZyI9PT10aGlzLl9zdGF0ZSYmKHRoaXMuX3N0YXRlPSJhY3RpdmUiLHRoaXMuX2ZpcmVFdmVudCgiZHJhZ3N0YXJ0IixlKSx0aGlzLl9maXJlRXZlbnQoIm1vdmVzdGFydCIsZSkpLHRoaXMuX2ZyYW1lSWR8fCh0aGlzLl9mcmFtZUlkPXRoaXMuX21hcC5fcmVxdWVzdFJlbmRlckZyYW1lKHRoaXMuX29uRHJhZ0ZyYW1lKSkpfSxfbi5wcm90b3R5cGUuX29uRHJhZ0ZyYW1lPWZ1bmN0aW9uKCl7dGhpcy5fZnJhbWVJZD1udWxsO3ZhciB0PXRoaXMuX2xhc3RNb3ZlRXZlbnQ7aWYodCl7dmFyIGU9dGhpcy5fbWFwLnRyYW5zZm9ybTtlLnNldExvY2F0aW9uQXRQb2ludChlLnBvaW50TG9jYXRpb24odGhpcy5fcHJldlBvcyksdGhpcy5fbGFzdFBvcyksdGhpcy5fZmlyZUV2ZW50KCJkcmFnIix0KSx0aGlzLl9maXJlRXZlbnQoIm1vdmUiLHQpLHRoaXMuX3ByZXZQb3M9dGhpcy5fbGFzdFBvcyxkZWxldGUgdGhpcy5fbGFzdE1vdmVFdmVudH19LF9uLnByb3RvdHlwZS5fb25Nb3VzZVVwPWZ1bmN0aW9uKHQpe2lmKDA9PT1yLm1vdXNlQnV0dG9uKHQpKXN3aXRjaCh0aGlzLl9zdGF0ZSl7Y2FzZSJhY3RpdmUiOnRoaXMuX3N0YXRlPSJlbmFibGVkIixyLnN1cHByZXNzQ2xpY2soKSx0aGlzLl91bmJpbmQoKSx0aGlzLl9kZWFjdGl2YXRlKCksdGhpcy5faW5lcnRpYWxQYW4odCk7YnJlYWs7Y2FzZSJwZW5kaW5nIjp0aGlzLl9zdGF0ZT0iZW5hYmxlZCIsdGhpcy5fdW5iaW5kKCl9fSxfbi5wcm90b3R5cGUuX29uVG91Y2hFbmQ9ZnVuY3Rpb24odCl7c3dpdGNoKHRoaXMuX3N0YXRlKXtjYXNlImFjdGl2ZSI6dGhpcy5fc3RhdGU9ImVuYWJsZWQiLHRoaXMuX3VuYmluZCgpLHRoaXMuX2RlYWN0aXZhdGUoKSx0aGlzLl9pbmVydGlhbFBhbih0KTticmVhaztjYXNlInBlbmRpbmciOnRoaXMuX3N0YXRlPSJlbmFibGVkIix0aGlzLl91bmJpbmQoKX19LF9uLnByb3RvdHlwZS5fb25CbHVyPWZ1bmN0aW9uKHQpe3N3aXRjaCh0aGlzLl9zdGF0ZSl7Y2FzZSJhY3RpdmUiOnRoaXMuX3N0YXRlPSJlbmFibGVkIix0aGlzLl91bmJpbmQoKSx0aGlzLl9kZWFjdGl2YXRlKCksdGhpcy5fZmlyZUV2ZW50KCJkcmFnZW5kIix0KSx0aGlzLl9maXJlRXZlbnQoIm1vdmVlbmQiLHQpO2JyZWFrO2Nhc2UicGVuZGluZyI6dGhpcy5fc3RhdGU9ImVuYWJsZWQiLHRoaXMuX3VuYmluZCgpfX0sX24ucHJvdG90eXBlLl91bmJpbmQ9ZnVuY3Rpb24oKXtyLnJlbW92ZUV2ZW50TGlzdGVuZXIodC53aW5kb3cuZG9jdW1lbnQsInRvdWNobW92ZSIsdGhpcy5fb25Nb3ZlLHtjYXB0dXJlOiEwLHBhc3NpdmU6ITF9KSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIodC53aW5kb3cuZG9jdW1lbnQsInRvdWNoZW5kIix0aGlzLl9vblRvdWNoRW5kKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIodC53aW5kb3cuZG9jdW1lbnQsIm1vdXNlbW92ZSIsdGhpcy5fb25Nb3ZlLHtjYXB0dXJlOiEwfSksci5yZW1vdmVFdmVudExpc3RlbmVyKHQud2luZG93LmRvY3VtZW50LCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlVXApLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LndpbmRvdywiYmx1ciIsdGhpcy5fb25CbHVyKX0sX24ucHJvdG90eXBlLl9kZWFjdGl2YXRlPWZ1bmN0aW9uKCl7dGhpcy5fZnJhbWVJZCYmKHRoaXMuX21hcC5fY2FuY2VsUmVuZGVyRnJhbWUodGhpcy5fZnJhbWVJZCksdGhpcy5fZnJhbWVJZD1udWxsKSxkZWxldGUgdGhpcy5fbGFzdE1vdmVFdmVudCxkZWxldGUgdGhpcy5fc3RhcnRQb3MsZGVsZXRlIHRoaXMuX3ByZXZQb3MsZGVsZXRlIHRoaXMuX21vdXNlRG93blBvcyxkZWxldGUgdGhpcy5fbGFzdFBvc30sX24ucHJvdG90eXBlLl9pbmVydGlhbFBhbj1mdW5jdGlvbih0KXt0aGlzLl9maXJlRXZlbnQoImRyYWdlbmQiLHQpLHRoaXMuX2RyYWluSW5lcnRpYUJ1ZmZlcigpO3ZhciBlPXRoaXMuX2luZXJ0aWE7aWYoZS5sZW5ndGg8Mil0aGlzLl9maXJlRXZlbnQoIm1vdmVlbmQiLHQpO2Vsc2V7dmFyIHI9ZVtlLmxlbmd0aC0xXSxuPWVbMF0sYT1yWzFdLnN1YihuWzFdKSxpPShyWzBdLW5bMF0pLzFlMztpZigwPT09aXx8clsxXS5lcXVhbHMoblsxXSkpdGhpcy5fZmlyZUV2ZW50KCJtb3ZlZW5kIix0KTtlbHNle3ZhciBvPWEubXVsdCguMy9pKSxzPW8ubWFnKCk7cz4xNDAwJiYocz0xNDAwLG8uX3VuaXQoKS5fbXVsdChzKSk7dmFyIGw9cy83NTAsYz1vLm11bHQoLWwvMik7dGhpcy5fbWFwLnBhbkJ5KGMse2R1cmF0aW9uOjFlMypsLGVhc2luZzpibixub01vdmVTdGFydDohMH0se29yaWdpbmFsRXZlbnQ6dH0pfX19LF9uLnByb3RvdHlwZS5fZmlyZUV2ZW50PWZ1bmN0aW9uKGUscil7cmV0dXJuIHRoaXMuX21hcC5maXJlKG5ldyB0LkV2ZW50KGUscj97b3JpZ2luYWxFdmVudDpyfTp7fSkpfSxfbi5wcm90b3R5cGUuX2RyYWluSW5lcnRpYUJ1ZmZlcj1mdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLl9pbmVydGlhLHI9dC5icm93c2VyLm5vdygpO2UubGVuZ3RoPjAmJnItZVswXVswXT4xNjA7KWUuc2hpZnQoKX07dmFyIHduPWZ1bmN0aW9uKGUpe3RoaXMuX21hcD1lLHRoaXMuX2VsPWUuZ2V0Q2FudmFzQ29udGFpbmVyKCksdC5iaW5kQWxsKFsiX29uS2V5RG93biJdLHRoaXMpfTtmdW5jdGlvbiBrbih0KXtyZXR1cm4gdCooMi10KX13bi5wcm90b3R5cGUuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9lbmFibGVkfSx3bi5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5pc0VuYWJsZWQoKXx8KHRoaXMuX2VsLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX29uS2V5RG93biwhMSksdGhpcy5fZW5hYmxlZD0hMCl9LHduLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5pc0VuYWJsZWQoKSYmKHRoaXMuX2VsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX29uS2V5RG93biksdGhpcy5fZW5hYmxlZD0hMSl9LHduLnByb3RvdHlwZS5fb25LZXlEb3duPWZ1bmN0aW9uKHQpe2lmKCEodC5hbHRLZXl8fHQuY3RybEtleXx8dC5tZXRhS2V5KSl7dmFyIGU9MCxyPTAsbj0wLGE9MCxpPTA7c3dpdGNoKHQua2V5Q29kZSl7Y2FzZSA2MTpjYXNlIDEwNzpjYXNlIDE3MTpjYXNlIDE4NzplPTE7YnJlYWs7Y2FzZSAxODk6Y2FzZSAxMDk6Y2FzZSAxNzM6ZT0tMTticmVhaztjYXNlIDM3OnQuc2hpZnRLZXk/cj0tMToodC5wcmV2ZW50RGVmYXVsdCgpLGE9LTEpO2JyZWFrO2Nhc2UgMzk6dC5zaGlmdEtleT9yPTE6KHQucHJldmVudERlZmF1bHQoKSxhPTEpO2JyZWFrO2Nhc2UgMzg6dC5zaGlmdEtleT9uPTE6KHQucHJldmVudERlZmF1bHQoKSxpPS0xKTticmVhaztjYXNlIDQwOnQuc2hpZnRLZXk/bj0tMTooaT0xLHQucHJldmVudERlZmF1bHQoKSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm59dmFyIG89dGhpcy5fbWFwLHM9by5nZXRab29tKCksbD17ZHVyYXRpb246MzAwLGRlbGF5RW5kRXZlbnRzOjUwMCxlYXNpbmc6a24sem9vbTplP01hdGgucm91bmQocykrZSoodC5zaGlmdEtleT8yOjEpOnMsYmVhcmluZzpvLmdldEJlYXJpbmcoKSsxNSpyLHBpdGNoOm8uZ2V0UGl0Y2goKSsxMCpuLG9mZnNldDpbMTAwKi1hLDEwMCotaV0sY2VudGVyOm8uZ2V0Q2VudGVyKCl9O28uZWFzZVRvKGwse29yaWdpbmFsRXZlbnQ6dH0pfX07dmFyIFRuPWZ1bmN0aW9uKGUpe3RoaXMuX21hcD1lLHQuYmluZEFsbChbIl9vbkRibENsaWNrIiwiX29uWm9vbUVuZCJdLHRoaXMpfTtUbi5wcm90b3R5cGUuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9lbmFibGVkfSxUbi5wcm90b3R5cGUuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuX2FjdGl2ZX0sVG4ucHJvdG90eXBlLmVuYWJsZT1mdW5jdGlvbigpe3RoaXMuaXNFbmFibGVkKCl8fCh0aGlzLl9lbmFibGVkPSEwKX0sVG4ucHJvdG90eXBlLmRpc2FibGU9ZnVuY3Rpb24oKXt0aGlzLmlzRW5hYmxlZCgpJiYodGhpcy5fZW5hYmxlZD0hMSl9LFRuLnByb3RvdHlwZS5vblRvdWNoU3RhcnQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZih0aGlzLmlzRW5hYmxlZCgpJiYhKHQucG9pbnRzLmxlbmd0aD4xKSlpZih0aGlzLl90YXBwZWQpe3ZhciByPXQucG9pbnRzWzBdLG49dGhpcy5fdGFwcGVkUG9pbnQ7aWYobiYmbi5kaXN0KHIpPD0zMCl7dC5vcmlnaW5hbEV2ZW50LnByZXZlbnREZWZhdWx0KCk7dmFyIGE9ZnVuY3Rpb24oKXtlLl90YXBwZWQmJmUuX3pvb20odCksZS5fbWFwLm9mZigidG91Y2hjYW5jZWwiLGkpLGUuX3Jlc2V0VGFwcGVkKCl9LGk9ZnVuY3Rpb24oKXtlLl9tYXAub2ZmKCJ0b3VjaGVuZCIsYSksZS5fcmVzZXRUYXBwZWQoKX07dGhpcy5fbWFwLm9uY2UoInRvdWNoZW5kIixhKSx0aGlzLl9tYXAub25jZSgidG91Y2hjYW5jZWwiLGkpfWVsc2UgdGhpcy5fcmVzZXRUYXBwZWQoKX1lbHNlIHRoaXMuX3RhcHBlZFBvaW50PXQucG9pbnRzWzBdLHRoaXMuX3RhcHBlZD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5fdGFwcGVkPW51bGwsZS5fdGFwcGVkUG9pbnQ9bnVsbH0sMzAwKX0sVG4ucHJvdG90eXBlLl9yZXNldFRhcHBlZD1mdW5jdGlvbigpe2NsZWFyVGltZW91dCh0aGlzLl90YXBwZWQpLHRoaXMuX3RhcHBlZD1udWxsLHRoaXMuX3RhcHBlZFBvaW50PW51bGx9LFRuLnByb3RvdHlwZS5vbkRibENsaWNrPWZ1bmN0aW9uKHQpe3RoaXMuaXNFbmFibGVkKCkmJih0Lm9yaWdpbmFsRXZlbnQucHJldmVudERlZmF1bHQoKSx0aGlzLl96b29tKHQpKX0sVG4ucHJvdG90eXBlLl96b29tPWZ1bmN0aW9uKHQpe3RoaXMuX2FjdGl2ZT0hMCx0aGlzLl9tYXAub24oInpvb21lbmQiLHRoaXMuX29uWm9vbUVuZCksdGhpcy5fbWFwLnpvb21Ubyh0aGlzLl9tYXAuZ2V0Wm9vbSgpKyh0Lm9yaWdpbmFsRXZlbnQuc2hpZnRLZXk/LTE6MSkse2Fyb3VuZDp0LmxuZ0xhdH0sdCl9LFRuLnByb3RvdHlwZS5fb25ab29tRW5kPWZ1bmN0aW9uKCl7dGhpcy5fYWN0aXZlPSExLHRoaXMuX21hcC5vZmYoInpvb21lbmQiLHRoaXMuX29uWm9vbUVuZCl9O3ZhciBNbj10LmJlemllcigwLDAsLjE1LDEpLEFuPWZ1bmN0aW9uKGUpe3RoaXMuX21hcD1lLHRoaXMuX2VsPWUuZ2V0Q2FudmFzQ29udGFpbmVyKCksdC5iaW5kQWxsKFsiX29uTW92ZSIsIl9vbkVuZCIsIl9vblRvdWNoRnJhbWUiXSx0aGlzKX07QW4ucHJvdG90eXBlLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5fZW5hYmxlZH0sQW4ucHJvdG90eXBlLmVuYWJsZT1mdW5jdGlvbih0KXt0aGlzLmlzRW5hYmxlZCgpfHwodGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtdG91Y2gtem9vbS1yb3RhdGUiKSx0aGlzLl9lbmFibGVkPSEwLHRoaXMuX2Fyb3VuZENlbnRlcj0hIXQmJiJjZW50ZXIiPT09dC5hcm91bmQpfSxBbi5wcm90b3R5cGUuZGlzYWJsZT1mdW5jdGlvbigpe3RoaXMuaXNFbmFibGVkKCkmJih0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC10b3VjaC16b29tLXJvdGF0ZSIpLHRoaXMuX2VuYWJsZWQ9ITEpfSxBbi5wcm90b3R5cGUuZGlzYWJsZVJvdGF0aW9uPWZ1bmN0aW9uKCl7dGhpcy5fcm90YXRpb25EaXNhYmxlZD0hMH0sQW4ucHJvdG90eXBlLmVuYWJsZVJvdGF0aW9uPWZ1bmN0aW9uKCl7dGhpcy5fcm90YXRpb25EaXNhYmxlZD0hMX0sQW4ucHJvdG90eXBlLm9uU3RhcnQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5pc0VuYWJsZWQoKSYmMj09PWUudG91Y2hlcy5sZW5ndGgpe3ZhciBuPXIubW91c2VQb3ModGhpcy5fZWwsZS50b3VjaGVzWzBdKSxhPXIubW91c2VQb3ModGhpcy5fZWwsZS50b3VjaGVzWzFdKSxpPW4uYWRkKGEpLmRpdigyKTt0aGlzLl9zdGFydFZlYz1uLnN1YihhKSx0aGlzLl9zdGFydEFyb3VuZD10aGlzLl9tYXAudHJhbnNmb3JtLnBvaW50TG9jYXRpb24oaSksdGhpcy5fZ2VzdHVyZUludGVudD12b2lkIDAsdGhpcy5faW5lcnRpYT1bXSxyLmFkZEV2ZW50TGlzdGVuZXIodC53aW5kb3cuZG9jdW1lbnQsInRvdWNobW92ZSIsdGhpcy5fb25Nb3ZlLHtwYXNzaXZlOiExfSksci5hZGRFdmVudExpc3RlbmVyKHQud2luZG93LmRvY3VtZW50LCJ0b3VjaGVuZCIsdGhpcy5fb25FbmQpfX0sQW4ucHJvdG90eXBlLl9nZXRUb3VjaEV2ZW50RGF0YT1mdW5jdGlvbih0KXt2YXIgZT1yLm1vdXNlUG9zKHRoaXMuX2VsLHQudG91Y2hlc1swXSksbj1yLm1vdXNlUG9zKHRoaXMuX2VsLHQudG91Y2hlc1sxXSksYT1lLnN1YihuKTtyZXR1cm57dmVjOmEsY2VudGVyOmUuYWRkKG4pLmRpdigyKSxzY2FsZTphLm1hZygpL3RoaXMuX3N0YXJ0VmVjLm1hZygpLGJlYXJpbmc6dGhpcy5fcm90YXRpb25EaXNhYmxlZD8wOjE4MCphLmFuZ2xlV2l0aCh0aGlzLl9zdGFydFZlYykvTWF0aC5QSX19LEFuLnByb3RvdHlwZS5fb25Nb3ZlPWZ1bmN0aW9uKGUpe2lmKDI9PT1lLnRvdWNoZXMubGVuZ3RoKXt2YXIgcj10aGlzLl9nZXRUb3VjaEV2ZW50RGF0YShlKSxuPXIudmVjLGE9ci5zY2FsZSxpPXIuYmVhcmluZztpZighdGhpcy5fZ2VzdHVyZUludGVudCl7dmFyIG89dGhpcy5fcm90YXRpb25EaXNhYmxlZCYmMSE9PWF8fE1hdGguYWJzKDEtYSk+LjE1O01hdGguYWJzKGkpPjEwP3RoaXMuX2dlc3R1cmVJbnRlbnQ9InJvdGF0ZSI6byYmKHRoaXMuX2dlc3R1cmVJbnRlbnQ9Inpvb20iKSx0aGlzLl9nZXN0dXJlSW50ZW50JiYodGhpcy5fbWFwLmZpcmUobmV3IHQuRXZlbnQodGhpcy5fZ2VzdHVyZUludGVudCsic3RhcnQiLHtvcmlnaW5hbEV2ZW50OmV9KSksdGhpcy5fbWFwLmZpcmUobmV3IHQuRXZlbnQoIm1vdmVzdGFydCIse29yaWdpbmFsRXZlbnQ6ZX0pKSx0aGlzLl9zdGFydFZlYz1uKX10aGlzLl9sYXN0VG91Y2hFdmVudD1lLHRoaXMuX2ZyYW1lSWR8fCh0aGlzLl9mcmFtZUlkPXRoaXMuX21hcC5fcmVxdWVzdFJlbmRlckZyYW1lKHRoaXMuX29uVG91Y2hGcmFtZSkpLGUucHJldmVudERlZmF1bHQoKX19LEFuLnByb3RvdHlwZS5fb25Ub3VjaEZyYW1lPWZ1bmN0aW9uKCl7dGhpcy5fZnJhbWVJZD1udWxsO3ZhciBlPXRoaXMuX2dlc3R1cmVJbnRlbnQ7aWYoZSl7dmFyIHI9dGhpcy5fbWFwLnRyYW5zZm9ybTt0aGlzLl9zdGFydFNjYWxlfHwodGhpcy5fc3RhcnRTY2FsZT1yLnNjYWxlLHRoaXMuX3N0YXJ0QmVhcmluZz1yLmJlYXJpbmcpO3ZhciBuPXRoaXMuX2dldFRvdWNoRXZlbnREYXRhKHRoaXMuX2xhc3RUb3VjaEV2ZW50KSxhPW4uY2VudGVyLGk9bi5iZWFyaW5nLG89bi5zY2FsZSxzPXIucG9pbnRMb2NhdGlvbihhKSxsPXIubG9jYXRpb25Qb2ludChzKTsicm90YXRlIj09PWUmJihyLmJlYXJpbmc9dGhpcy5fc3RhcnRCZWFyaW5nK2kpLHIuem9vbT1yLnNjYWxlWm9vbSh0aGlzLl9zdGFydFNjYWxlKm8pLHIuc2V0TG9jYXRpb25BdFBvaW50KHRoaXMuX3N0YXJ0QXJvdW5kLGwpLHRoaXMuX21hcC5maXJlKG5ldyB0LkV2ZW50KGUse29yaWdpbmFsRXZlbnQ6dGhpcy5fbGFzdFRvdWNoRXZlbnR9KSksdGhpcy5fbWFwLmZpcmUobmV3IHQuRXZlbnQoIm1vdmUiLHtvcmlnaW5hbEV2ZW50OnRoaXMuX2xhc3RUb3VjaEV2ZW50fSkpLHRoaXMuX2RyYWluSW5lcnRpYUJ1ZmZlcigpLHRoaXMuX2luZXJ0aWEucHVzaChbdC5icm93c2VyLm5vdygpLG8sYV0pfX0sQW4ucHJvdG90eXBlLl9vbkVuZD1mdW5jdGlvbihlKXtyLnJlbW92ZUV2ZW50TGlzdGVuZXIodC53aW5kb3cuZG9jdW1lbnQsInRvdWNobW92ZSIsdGhpcy5fb25Nb3ZlLHtwYXNzaXZlOiExfSksci5yZW1vdmVFdmVudExpc3RlbmVyKHQud2luZG93LmRvY3VtZW50LCJ0b3VjaGVuZCIsdGhpcy5fb25FbmQpO3ZhciBuPXRoaXMuX2dlc3R1cmVJbnRlbnQsYT10aGlzLl9zdGFydFNjYWxlO2lmKHRoaXMuX2ZyYW1lSWQmJih0aGlzLl9tYXAuX2NhbmNlbFJlbmRlckZyYW1lKHRoaXMuX2ZyYW1lSWQpLHRoaXMuX2ZyYW1lSWQ9bnVsbCksZGVsZXRlIHRoaXMuX2dlc3R1cmVJbnRlbnQsZGVsZXRlIHRoaXMuX3N0YXJ0U2NhbGUsZGVsZXRlIHRoaXMuX3N0YXJ0QmVhcmluZyxkZWxldGUgdGhpcy5fbGFzdFRvdWNoRXZlbnQsbil7dGhpcy5fbWFwLmZpcmUobmV3IHQuRXZlbnQobisiZW5kIix7b3JpZ2luYWxFdmVudDplfSkpLHRoaXMuX2RyYWluSW5lcnRpYUJ1ZmZlcigpO3ZhciBpPXRoaXMuX2luZXJ0aWEsbz10aGlzLl9tYXA7aWYoaS5sZW5ndGg8MilvLnNuYXBUb05vcnRoKHt9LHtvcmlnaW5hbEV2ZW50OmV9KTtlbHNle3ZhciBzPWlbaS5sZW5ndGgtMV0sbD1pWzBdLGM9by50cmFuc2Zvcm0uc2NhbGVab29tKGEqc1sxXSksdT1vLnRyYW5zZm9ybS5zY2FsZVpvb20oYSpsWzFdKSxoPWMtdSxmPShzWzBdLWxbMF0pLzFlMyxwPXNbMl07aWYoMCE9PWYmJmMhPT11KXt2YXIgZD0uMTUqaC9mO01hdGguYWJzKGQpPjIuNSYmKGQ9ZD4wPzIuNTotMi41KTt2YXIgZz0xZTMqTWF0aC5hYnMoZC8oMTIqLjE1KSksdj1jK2QqZy8yZTM7djwwJiYodj0wKSxvLmVhc2VUbyh7em9vbTp2LGR1cmF0aW9uOmcsZWFzaW5nOk1uLGFyb3VuZDp0aGlzLl9hcm91bmRDZW50ZXI/by5nZXRDZW50ZXIoKTpvLnVucHJvamVjdChwKSxub01vdmVTdGFydDohMH0se29yaWdpbmFsRXZlbnQ6ZX0pfWVsc2Ugby5zbmFwVG9Ob3J0aCh7fSx7b3JpZ2luYWxFdmVudDplfSl9fX0sQW4ucHJvdG90eXBlLl9kcmFpbkluZXJ0aWFCdWZmZXI9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5faW5lcnRpYSxyPXQuYnJvd3Nlci5ub3coKTtlLmxlbmd0aD4yJiZyLWVbMF1bMF0+MTYwOyllLnNoaWZ0KCl9O3ZhciBTbj17c2Nyb2xsWm9vbTp2bixib3hab29tOm1uLGRyYWdSb3RhdGU6eG4sZHJhZ1BhbjpfbixrZXlib2FyZDp3bixkb3VibGVDbGlja1pvb206VG4sdG91Y2hab29tUm90YXRlOkFufSxFbj1mdW5jdGlvbihlKXtmdW5jdGlvbiByKHIsbil7ZS5jYWxsKHRoaXMpLHRoaXMuX21vdmluZz0hMSx0aGlzLl96b29taW5nPSExLHRoaXMudHJhbnNmb3JtPXIsdGhpcy5fYmVhcmluZ1NuYXA9bi5iZWFyaW5nU25hcCx0LmJpbmRBbGwoWyJfcmVuZGVyRnJhbWVDYWxsYmFjayJdLHRoaXMpfXJldHVybiBlJiYoci5fX3Byb3RvX189ZSksci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLnByb3RvdHlwZS5nZXRDZW50ZXI9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHQuTG5nTGF0KHRoaXMudHJhbnNmb3JtLmNlbnRlci5sbmcsdGhpcy50cmFuc2Zvcm0uY2VudGVyLmxhdCl9LHIucHJvdG90eXBlLnNldENlbnRlcj1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmp1bXBUbyh7Y2VudGVyOnR9LGUpfSxyLnByb3RvdHlwZS5wYW5CeT1mdW5jdGlvbihlLHIsbil7cmV0dXJuIGU9dC5Qb2ludC5jb252ZXJ0KGUpLm11bHQoLTEpLHRoaXMucGFuVG8odGhpcy50cmFuc2Zvcm0uY2VudGVyLHQuZXh0ZW5kKHtvZmZzZXQ6ZX0sciksbil9LHIucHJvdG90eXBlLnBhblRvPWZ1bmN0aW9uKGUscixuKXtyZXR1cm4gdGhpcy5lYXNlVG8odC5leHRlbmQoe2NlbnRlcjplfSxyKSxuKX0sci5wcm90b3R5cGUuZ2V0Wm9vbT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRyYW5zZm9ybS56b29tfSxyLnByb3RvdHlwZS5zZXRab29tPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuanVtcFRvKHt6b29tOnR9LGUpLHRoaXN9LHIucHJvdG90eXBlLnpvb21Ubz1mdW5jdGlvbihlLHIsbil7cmV0dXJuIHRoaXMuZWFzZVRvKHQuZXh0ZW5kKHt6b29tOmV9LHIpLG4pfSxyLnByb3RvdHlwZS56b29tSW49ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy56b29tVG8odGhpcy5nZXRab29tKCkrMSx0LGUpLHRoaXN9LHIucHJvdG90eXBlLnpvb21PdXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy56b29tVG8odGhpcy5nZXRab29tKCktMSx0LGUpLHRoaXN9LHIucHJvdG90eXBlLmdldEJlYXJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0uYmVhcmluZ30sci5wcm90b3R5cGUuc2V0QmVhcmluZz1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmp1bXBUbyh7YmVhcmluZzp0fSxlKSx0aGlzfSxyLnByb3RvdHlwZS5yb3RhdGVUbz1mdW5jdGlvbihlLHIsbil7cmV0dXJuIHRoaXMuZWFzZVRvKHQuZXh0ZW5kKHtiZWFyaW5nOmV9LHIpLG4pfSxyLnByb3RvdHlwZS5yZXNldE5vcnRoPWZ1bmN0aW9uKGUscil7cmV0dXJuIHRoaXMucm90YXRlVG8oMCx0LmV4dGVuZCh7ZHVyYXRpb246MWUzfSxlKSxyKSx0aGlzfSxyLnByb3RvdHlwZS5yZXNldE5vcnRoUGl0Y2g9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdGhpcy5lYXNlVG8odC5leHRlbmQoe2JlYXJpbmc6MCxwaXRjaDowLGR1cmF0aW9uOjFlM30sZSksciksdGhpc30sci5wcm90b3R5cGUuc25hcFRvTm9ydGg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gTWF0aC5hYnModGhpcy5nZXRCZWFyaW5nKCkpPHRoaXMuX2JlYXJpbmdTbmFwP3RoaXMucmVzZXROb3J0aCh0LGUpOnRoaXN9LHIucHJvdG90eXBlLmdldFBpdGNoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudHJhbnNmb3JtLnBpdGNofSxyLnByb3RvdHlwZS5zZXRQaXRjaD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmp1bXBUbyh7cGl0Y2g6dH0sZSksdGhpc30sci5wcm90b3R5cGUuY2FtZXJhRm9yQm91bmRzPWZ1bmN0aW9uKGUscil7cmV0dXJuIGU9dC5MbmdMYXRCb3VuZHMuY29udmVydChlKSx0aGlzLl9jYW1lcmFGb3JCb3hBbmRCZWFyaW5nKGUuZ2V0Tm9ydGhXZXN0KCksZS5nZXRTb3V0aEVhc3QoKSwwLHIpfSxyLnByb3RvdHlwZS5fY2FtZXJhRm9yQm94QW5kQmVhcmluZz1mdW5jdGlvbihlLHIsbixhKXtpZigibnVtYmVyIj09dHlwZW9mKGE9dC5leHRlbmQoe3BhZGRpbmc6e3RvcDowLGJvdHRvbTowLHJpZ2h0OjAsbGVmdDowfSxvZmZzZXQ6WzAsMF0sbWF4Wm9vbTp0aGlzLnRyYW5zZm9ybS5tYXhab29tfSxhKSkucGFkZGluZyl7dmFyIGk9YS5wYWRkaW5nO2EucGFkZGluZz17dG9wOmksYm90dG9tOmkscmlnaHQ6aSxsZWZ0Oml9fWlmKHQuZGVlcEVxdWFsKE9iamVjdC5rZXlzKGEucGFkZGluZykuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6MH0pLFsiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwidG9wIl0pKXt2YXIgbz10aGlzLnRyYW5zZm9ybSxzPW8ucHJvamVjdCh0LkxuZ0xhdC5jb252ZXJ0KGUpKSxsPW8ucHJvamVjdCh0LkxuZ0xhdC5jb252ZXJ0KHIpKSxjPXMucm90YXRlKC1uKk1hdGguUEkvMTgwKSx1PWwucm90YXRlKC1uKk1hdGguUEkvMTgwKSxoPW5ldyB0LlBvaW50KE1hdGgubWF4KGMueCx1LngpLE1hdGgubWF4KGMueSx1LnkpKSxmPW5ldyB0LlBvaW50KE1hdGgubWluKGMueCx1LngpLE1hdGgubWluKGMueSx1LnkpKSxwPWguc3ViKGYpLGQ9KG8ud2lkdGgtYS5wYWRkaW5nLmxlZnQtYS5wYWRkaW5nLnJpZ2h0KS9wLngsZz0oby5oZWlnaHQtYS5wYWRkaW5nLnRvcC1hLnBhZGRpbmcuYm90dG9tKS9wLnk7aWYoIShnPDB8fGQ8MCkpe3ZhciB2PU1hdGgubWluKG8uc2NhbGVab29tKG8uc2NhbGUqTWF0aC5taW4oZCxnKSksYS5tYXhab29tKSxtPXQuUG9pbnQuY29udmVydChhLm9mZnNldCkseT0oYS5wYWRkaW5nLmxlZnQtYS5wYWRkaW5nLnJpZ2h0KS8yLHg9KGEucGFkZGluZy50b3AtYS5wYWRkaW5nLmJvdHRvbSkvMixiPW5ldyB0LlBvaW50KG0ueCt5LG0ueSt4KS5tdWx0KG8uc2NhbGUvby56b29tU2NhbGUodikpO3JldHVybntjZW50ZXI6by51bnByb2plY3Qocy5hZGQobCkuZGl2KDIpLnN1YihiKSksem9vbTp2LGJlYXJpbmc6bn19dC53YXJuT25jZSgiTWFwIGNhbm5vdCBmaXQgd2l0aGluIGNhbnZhcyB3aXRoIHRoZSBnaXZlbiBib3VuZHMsIHBhZGRpbmcsIGFuZC9vciBvZmZzZXQuIil9ZWxzZSB0Lndhcm5PbmNlKCJvcHRpb25zLnBhZGRpbmcgbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlciwgb3IgYW4gT2JqZWN0IHdpdGgga2V5cyAnYm90dG9tJywgJ2xlZnQnLCAncmlnaHQnLCAndG9wJyIpfSxyLnByb3RvdHlwZS5maXRCb3VuZHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLl9maXRJbnRlcm5hbCh0aGlzLmNhbWVyYUZvckJvdW5kcyh0LGUpLGUscil9LHIucHJvdG90eXBlLmZpdFNjcmVlbkNvb3JkaW5hdGVzPWZ1bmN0aW9uKGUscixuLGEsaSl7cmV0dXJuIHRoaXMuX2ZpdEludGVybmFsKHRoaXMuX2NhbWVyYUZvckJveEFuZEJlYXJpbmcodGhpcy50cmFuc2Zvcm0ucG9pbnRMb2NhdGlvbih0LlBvaW50LmNvbnZlcnQoZSkpLHRoaXMudHJhbnNmb3JtLnBvaW50TG9jYXRpb24odC5Qb2ludC5jb252ZXJ0KHIpKSxuLGEpLGEsaSl9LHIucHJvdG90eXBlLl9maXRJbnRlcm5hbD1mdW5jdGlvbihlLHIsbil7cmV0dXJuIGU/KHI9dC5leHRlbmQoZSxyKSkubGluZWFyP3RoaXMuZWFzZVRvKHIsbik6dGhpcy5mbHlUbyhyLG4pOnRoaXN9LHIucHJvdG90eXBlLmp1bXBUbz1mdW5jdGlvbihlLHIpe3RoaXMuc3RvcCgpO3ZhciBuPXRoaXMudHJhbnNmb3JtLGE9ITEsaT0hMSxvPSExO3JldHVybiJ6b29tImluIGUmJm4uem9vbSE9PStlLnpvb20mJihhPSEwLG4uem9vbT0rZS56b29tKSx2b2lkIDAhPT1lLmNlbnRlciYmKG4uY2VudGVyPXQuTG5nTGF0LmNvbnZlcnQoZS5jZW50ZXIpKSwiYmVhcmluZyJpbiBlJiZuLmJlYXJpbmchPT0rZS5iZWFyaW5nJiYoaT0hMCxuLmJlYXJpbmc9K2UuYmVhcmluZyksInBpdGNoImluIGUmJm4ucGl0Y2ghPT0rZS5waXRjaCYmKG89ITAsbi5waXRjaD0rZS5waXRjaCksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJtb3Zlc3RhcnQiLHIpKS5maXJlKG5ldyB0LkV2ZW50KCJtb3ZlIixyKSksYSYmdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJ6b29tc3RhcnQiLHIpKS5maXJlKG5ldyB0LkV2ZW50KCJ6b29tIixyKSkuZmlyZShuZXcgdC5FdmVudCgiem9vbWVuZCIscikpLGkmJnRoaXMuZmlyZShuZXcgdC5FdmVudCgicm90YXRlc3RhcnQiLHIpKS5maXJlKG5ldyB0LkV2ZW50KCJyb3RhdGUiLHIpKS5maXJlKG5ldyB0LkV2ZW50KCJyb3RhdGVlbmQiLHIpKSxvJiZ0aGlzLmZpcmUobmV3IHQuRXZlbnQoInBpdGNoc3RhcnQiLHIpKS5maXJlKG5ldyB0LkV2ZW50KCJwaXRjaCIscikpLmZpcmUobmV3IHQuRXZlbnQoInBpdGNoZW5kIixyKSksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJtb3ZlZW5kIixyKSl9LHIucHJvdG90eXBlLmVhc2VUbz1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXM7dGhpcy5zdG9wKCksKCExPT09KGU9dC5leHRlbmQoe29mZnNldDpbMCwwXSxkdXJhdGlvbjo1MDAsZWFzaW5nOnQuZWFzZX0sZSkpLmFuaW1hdGV8fHQuYnJvd3Nlci5wcmVmZXJzUmVkdWNlZE1vdGlvbikmJihlLmR1cmF0aW9uPTApO3ZhciBhPXRoaXMudHJhbnNmb3JtLGk9dGhpcy5nZXRab29tKCksbz10aGlzLmdldEJlYXJpbmcoKSxzPXRoaXMuZ2V0UGl0Y2goKSxsPSJ6b29tImluIGU/K2Uuem9vbTppLGM9ImJlYXJpbmciaW4gZT90aGlzLl9ub3JtYWxpemVCZWFyaW5nKGUuYmVhcmluZyxvKTpvLHU9InBpdGNoImluIGU/K2UucGl0Y2g6cyxoPWEuY2VudGVyUG9pbnQuYWRkKHQuUG9pbnQuY29udmVydChlLm9mZnNldCkpLGY9YS5wb2ludExvY2F0aW9uKGgpLHA9dC5MbmdMYXQuY29udmVydChlLmNlbnRlcnx8Zik7dGhpcy5fbm9ybWFsaXplQ2VudGVyKHApO3ZhciBkLGcsdj1hLnByb2plY3QoZiksbT1hLnByb2plY3QocCkuc3ViKHYpLHk9YS56b29tU2NhbGUobC1pKTtyZXR1cm4gZS5hcm91bmQmJihkPXQuTG5nTGF0LmNvbnZlcnQoZS5hcm91bmQpLGc9YS5sb2NhdGlvblBvaW50KGQpKSx0aGlzLl96b29taW5nPWwhPT1pLHRoaXMuX3JvdGF0aW5nPW8hPT1jLHRoaXMuX3BpdGNoaW5nPXUhPT1zLHRoaXMuX3ByZXBhcmVFYXNlKHIsZS5ub01vdmVTdGFydCksY2xlYXJUaW1lb3V0KHRoaXMuX2Vhc2VFbmRUaW1lb3V0SUQpLHRoaXMuX2Vhc2UoZnVuY3Rpb24oZSl7aWYobi5fem9vbWluZyYmKGEuem9vbT10Lm51bWJlcihpLGwsZSkpLG4uX3JvdGF0aW5nJiYoYS5iZWFyaW5nPXQubnVtYmVyKG8sYyxlKSksbi5fcGl0Y2hpbmcmJihhLnBpdGNoPXQubnVtYmVyKHMsdSxlKSksZClhLnNldExvY2F0aW9uQXRQb2ludChkLGcpO2Vsc2V7dmFyIGY9YS56b29tU2NhbGUoYS56b29tLWkpLHA9bD5pP01hdGgubWluKDIseSk6TWF0aC5tYXgoLjUseSkseD1NYXRoLnBvdyhwLDEtZSksYj1hLnVucHJvamVjdCh2LmFkZChtLm11bHQoZSp4KSkubXVsdChmKSk7YS5zZXRMb2NhdGlvbkF0UG9pbnQoYS5yZW5kZXJXb3JsZENvcGllcz9iLndyYXAoKTpiLGgpfW4uX2ZpcmVNb3ZlRXZlbnRzKHIpfSxmdW5jdGlvbigpe2UuZGVsYXlFbmRFdmVudHM/bi5fZWFzZUVuZFRpbWVvdXRJRD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIG4uX2FmdGVyRWFzZShyKX0sZS5kZWxheUVuZEV2ZW50cyk6bi5fYWZ0ZXJFYXNlKHIpfSxlKSx0aGlzfSxyLnByb3RvdHlwZS5fcHJlcGFyZUVhc2U9ZnVuY3Rpb24oZSxyKXt0aGlzLl9tb3Zpbmc9ITAscnx8dGhpcy5maXJlKG5ldyB0LkV2ZW50KCJtb3Zlc3RhcnQiLGUpKSx0aGlzLl96b29taW5nJiZ0aGlzLmZpcmUobmV3IHQuRXZlbnQoInpvb21zdGFydCIsZSkpLHRoaXMuX3JvdGF0aW5nJiZ0aGlzLmZpcmUobmV3IHQuRXZlbnQoInJvdGF0ZXN0YXJ0IixlKSksdGhpcy5fcGl0Y2hpbmcmJnRoaXMuZmlyZShuZXcgdC5FdmVudCgicGl0Y2hzdGFydCIsZSkpfSxyLnByb3RvdHlwZS5fZmlyZU1vdmVFdmVudHM9ZnVuY3Rpb24oZSl7dGhpcy5maXJlKG5ldyB0LkV2ZW50KCJtb3ZlIixlKSksdGhpcy5fem9vbWluZyYmdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJ6b29tIixlKSksdGhpcy5fcm90YXRpbmcmJnRoaXMuZmlyZShuZXcgdC5FdmVudCgicm90YXRlIixlKSksdGhpcy5fcGl0Y2hpbmcmJnRoaXMuZmlyZShuZXcgdC5FdmVudCgicGl0Y2giLGUpKX0sci5wcm90b3R5cGUuX2FmdGVyRWFzZT1mdW5jdGlvbihlKXt2YXIgcj10aGlzLl96b29taW5nLG49dGhpcy5fcm90YXRpbmcsYT10aGlzLl9waXRjaGluZzt0aGlzLl9tb3Zpbmc9ITEsdGhpcy5fem9vbWluZz0hMSx0aGlzLl9yb3RhdGluZz0hMSx0aGlzLl9waXRjaGluZz0hMSxyJiZ0aGlzLmZpcmUobmV3IHQuRXZlbnQoInpvb21lbmQiLGUpKSxuJiZ0aGlzLmZpcmUobmV3IHQuRXZlbnQoInJvdGF0ZWVuZCIsZSkpLGEmJnRoaXMuZmlyZShuZXcgdC5FdmVudCgicGl0Y2hlbmQiLGUpKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoIm1vdmVlbmQiLGUpKX0sci5wcm90b3R5cGUuZmx5VG89ZnVuY3Rpb24oZSxyKXt2YXIgbj10aGlzO2lmKHQuYnJvd3Nlci5wcmVmZXJzUmVkdWNlZE1vdGlvbil7dmFyIGE9dC5waWNrKGUsWyJjZW50ZXIiLCJ6b29tIiwiYmVhcmluZyIsInBpdGNoIiwiYXJvdW5kIl0pO3JldHVybiB0aGlzLmp1bXBUbyhhLHIpfXRoaXMuc3RvcCgpLGU9dC5leHRlbmQoe29mZnNldDpbMCwwXSxzcGVlZDoxLjIsY3VydmU6MS40MixlYXNpbmc6dC5lYXNlfSxlKTt2YXIgaT10aGlzLnRyYW5zZm9ybSxvPXRoaXMuZ2V0Wm9vbSgpLHM9dGhpcy5nZXRCZWFyaW5nKCksbD10aGlzLmdldFBpdGNoKCksYz0iem9vbSJpbiBlP3QuY2xhbXAoK2Uuem9vbSxpLm1pblpvb20saS5tYXhab29tKTpvLHU9ImJlYXJpbmciaW4gZT90aGlzLl9ub3JtYWxpemVCZWFyaW5nKGUuYmVhcmluZyxzKTpzLGg9InBpdGNoImluIGU/K2UucGl0Y2g6bCxmPWkuem9vbVNjYWxlKGMtbykscD1pLmNlbnRlclBvaW50LmFkZCh0LlBvaW50LmNvbnZlcnQoZS5vZmZzZXQpKSxkPWkucG9pbnRMb2NhdGlvbihwKSxnPXQuTG5nTGF0LmNvbnZlcnQoZS5jZW50ZXJ8fGQpO3RoaXMuX25vcm1hbGl6ZUNlbnRlcihnKTt2YXIgdj1pLnByb2plY3QoZCksbT1pLnByb2plY3QoZykuc3ViKHYpLHk9ZS5jdXJ2ZSx4PU1hdGgubWF4KGkud2lkdGgsaS5oZWlnaHQpLGI9eC9mLF89bS5tYWcoKTtpZigibWluWm9vbSJpbiBlKXt2YXIgdz10LmNsYW1wKE1hdGgubWluKGUubWluWm9vbSxvLGMpLGkubWluWm9vbSxpLm1heFpvb20pLGs9eC9pLnpvb21TY2FsZSh3LW8pO3k9TWF0aC5zcXJ0KGsvXyoyKX12YXIgVD15Knk7ZnVuY3Rpb24gTSh0KXt2YXIgZT0oYipiLXgqeCsodD8tMToxKSpUKlQqXypfKS8oMioodD9iOngpKlQqXyk7cmV0dXJuIE1hdGgubG9nKE1hdGguc3FydChlKmUrMSktZSl9ZnVuY3Rpb24gQSh0KXtyZXR1cm4oTWF0aC5leHAodCktTWF0aC5leHAoLXQpKS8yfWZ1bmN0aW9uIFModCl7cmV0dXJuKE1hdGguZXhwKHQpK01hdGguZXhwKC10KSkvMn12YXIgRT1NKDApLEw9ZnVuY3Rpb24odCl7cmV0dXJuIFMoRSkvUyhFK3kqdCl9LEM9ZnVuY3Rpb24odCl7cmV0dXJuIHgqKChTKEUpKihBKGU9RSt5KnQpL1MoZSkpLUEoRSkpL1QpL187dmFyIGV9LFA9KE0oMSktRSkveTtpZihNYXRoLmFicyhfKTwxZS02fHwhaXNGaW5pdGUoUCkpe2lmKE1hdGguYWJzKHgtYik8MWUtNilyZXR1cm4gdGhpcy5lYXNlVG8oZSxyKTt2YXIgTz1iPHg/LTE6MTtQPU1hdGguYWJzKE1hdGgubG9nKGIveCkpL3ksQz1mdW5jdGlvbigpe3JldHVybiAwfSxMPWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLmV4cChPKnkqdCl9fWlmKCJkdXJhdGlvbiJpbiBlKWUuZHVyYXRpb249K2UuZHVyYXRpb247ZWxzZXt2YXIgej0ic2NyZWVuU3BlZWQiaW4gZT8rZS5zY3JlZW5TcGVlZC95OitlLnNwZWVkO2UuZHVyYXRpb249MWUzKlAven1yZXR1cm4gZS5tYXhEdXJhdGlvbiYmZS5kdXJhdGlvbj5lLm1heER1cmF0aW9uJiYoZS5kdXJhdGlvbj0wKSx0aGlzLl96b29taW5nPSEwLHRoaXMuX3JvdGF0aW5nPXMhPT11LHRoaXMuX3BpdGNoaW5nPWghPT1sLHRoaXMuX3ByZXBhcmVFYXNlKHIsITEpLHRoaXMuX2Vhc2UoZnVuY3Rpb24oZSl7dmFyIGE9ZSpQLGY9MS9MKGEpO2kuem9vbT0xPT09ZT9jOm8raS5zY2FsZVpvb20oZiksbi5fcm90YXRpbmcmJihpLmJlYXJpbmc9dC5udW1iZXIocyx1LGUpKSxuLl9waXRjaGluZyYmKGkucGl0Y2g9dC5udW1iZXIobCxoLGUpKTt2YXIgZD0xPT09ZT9nOmkudW5wcm9qZWN0KHYuYWRkKG0ubXVsdChDKGEpKSkubXVsdChmKSk7aS5zZXRMb2NhdGlvbkF0UG9pbnQoaS5yZW5kZXJXb3JsZENvcGllcz9kLndyYXAoKTpkLHApLG4uX2ZpcmVNb3ZlRXZlbnRzKHIpfSxmdW5jdGlvbigpe3JldHVybiBuLl9hZnRlckVhc2Uocil9LGUpLHRoaXN9LHIucHJvdG90eXBlLmlzRWFzaW5nPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9lYXNlRnJhbWVJZH0sci5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe2lmKHRoaXMuX2Vhc2VGcmFtZUlkJiYodGhpcy5fY2FuY2VsUmVuZGVyRnJhbWUodGhpcy5fZWFzZUZyYW1lSWQpLGRlbGV0ZSB0aGlzLl9lYXNlRnJhbWVJZCxkZWxldGUgdGhpcy5fb25FYXNlRnJhbWUpLHRoaXMuX29uRWFzZUVuZCl7dmFyIHQ9dGhpcy5fb25FYXNlRW5kO2RlbGV0ZSB0aGlzLl9vbkVhc2VFbmQsdC5jYWxsKHRoaXMpfXJldHVybiB0aGlzfSxyLnByb3RvdHlwZS5fZWFzZT1mdW5jdGlvbihlLHIsbil7ITE9PT1uLmFuaW1hdGV8fDA9PT1uLmR1cmF0aW9uPyhlKDEpLHIoKSk6KHRoaXMuX2Vhc2VTdGFydD10LmJyb3dzZXIubm93KCksdGhpcy5fZWFzZU9wdGlvbnM9bix0aGlzLl9vbkVhc2VGcmFtZT1lLHRoaXMuX29uRWFzZUVuZD1yLHRoaXMuX2Vhc2VGcmFtZUlkPXRoaXMuX3JlcXVlc3RSZW5kZXJGcmFtZSh0aGlzLl9yZW5kZXJGcmFtZUNhbGxiYWNrKSl9LHIucHJvdG90eXBlLl9yZW5kZXJGcmFtZUNhbGxiYWNrPWZ1bmN0aW9uKCl7dmFyIGU9TWF0aC5taW4oKHQuYnJvd3Nlci5ub3coKS10aGlzLl9lYXNlU3RhcnQpL3RoaXMuX2Vhc2VPcHRpb25zLmR1cmF0aW9uLDEpO3RoaXMuX29uRWFzZUZyYW1lKHRoaXMuX2Vhc2VPcHRpb25zLmVhc2luZyhlKSksZTwxP3RoaXMuX2Vhc2VGcmFtZUlkPXRoaXMuX3JlcXVlc3RSZW5kZXJGcmFtZSh0aGlzLl9yZW5kZXJGcmFtZUNhbGxiYWNrKTp0aGlzLnN0b3AoKX0sci5wcm90b3R5cGUuX25vcm1hbGl6ZUJlYXJpbmc9ZnVuY3Rpb24oZSxyKXtlPXQud3JhcChlLC0xODAsMTgwKTt2YXIgbj1NYXRoLmFicyhlLXIpO3JldHVybiBNYXRoLmFicyhlLTM2MC1yKTxuJiYoZS09MzYwKSxNYXRoLmFicyhlKzM2MC1yKTxuJiYoZSs9MzYwKSxlfSxyLnByb3RvdHlwZS5fbm9ybWFsaXplQ2VudGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudHJhbnNmb3JtO2lmKGUucmVuZGVyV29ybGRDb3BpZXMmJiFlLmxuZ1JhbmdlKXt2YXIgcj10LmxuZy1lLmNlbnRlci5sbmc7dC5sbmcrPXI+MTgwPy0zNjA6cjwtMTgwPzM2MDowfX0scn0odC5FdmVudGVkKSxMbj1mdW5jdGlvbihlKXt2b2lkIDA9PT1lJiYoZT17fSksdGhpcy5vcHRpb25zPWUsdC5iaW5kQWxsKFsiX3VwZGF0ZUVkaXRMaW5rIiwiX3VwZGF0ZURhdGEiLCJfdXBkYXRlQ29tcGFjdCJdLHRoaXMpfTtMbi5wcm90b3R5cGUuZ2V0RGVmYXVsdFBvc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuImJvdHRvbS1yaWdodCJ9LExuLnByb3RvdHlwZS5vbkFkZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLm9wdGlvbnMmJnRoaXMub3B0aW9ucy5jb21wYWN0O3JldHVybiB0aGlzLl9tYXA9dCx0aGlzLl9jb250YWluZXI9ci5jcmVhdGUoImRpdiIsIm1hcGJveGdsLWN0cmwgbWFwYm94Z2wtY3RybC1hdHRyaWIiKSx0aGlzLl9pbm5lckNvbnRhaW5lcj1yLmNyZWF0ZSgiZGl2IiwibWFwYm94Z2wtY3RybC1hdHRyaWItaW5uZXIiLHRoaXMuX2NvbnRhaW5lciksZSYmdGhpcy5fY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWNvbXBhY3QiKSx0aGlzLl91cGRhdGVBdHRyaWJ1dGlvbnMoKSx0aGlzLl91cGRhdGVFZGl0TGluaygpLHRoaXMuX21hcC5vbigic3R5bGVkYXRhIix0aGlzLl91cGRhdGVEYXRhKSx0aGlzLl9tYXAub24oInNvdXJjZWRhdGEiLHRoaXMuX3VwZGF0ZURhdGEpLHRoaXMuX21hcC5vbigibW92ZWVuZCIsdGhpcy5fdXBkYXRlRWRpdExpbmspLHZvaWQgMD09PWUmJih0aGlzLl9tYXAub24oInJlc2l6ZSIsdGhpcy5fdXBkYXRlQ29tcGFjdCksdGhpcy5fdXBkYXRlQ29tcGFjdCgpKSx0aGlzLl9jb250YWluZXJ9LExuLnByb3RvdHlwZS5vblJlbW92ZT1mdW5jdGlvbigpe3IucmVtb3ZlKHRoaXMuX2NvbnRhaW5lciksdGhpcy5fbWFwLm9mZigic3R5bGVkYXRhIix0aGlzLl91cGRhdGVEYXRhKSx0aGlzLl9tYXAub2ZmKCJzb3VyY2VkYXRhIix0aGlzLl91cGRhdGVEYXRhKSx0aGlzLl9tYXAub2ZmKCJtb3ZlZW5kIix0aGlzLl91cGRhdGVFZGl0TGluayksdGhpcy5fbWFwLm9mZigicmVzaXplIix0aGlzLl91cGRhdGVDb21wYWN0KSx0aGlzLl9tYXA9dm9pZCAwfSxMbi5wcm90b3R5cGUuX3VwZGF0ZUVkaXRMaW5rPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fZWRpdExpbms7ZXx8KGU9dGhpcy5fZWRpdExpbms9dGhpcy5fY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIi5tYXBib3gtaW1wcm92ZS1tYXAiKSk7dmFyIHI9W3trZXk6Im93bmVyIix2YWx1ZTp0aGlzLnN0eWxlT3duZXJ9LHtrZXk6ImlkIix2YWx1ZTp0aGlzLnN0eWxlSWR9LHtrZXk6ImFjY2Vzc190b2tlbiIsdmFsdWU6dGhpcy5fbWFwLl9yZXF1ZXN0TWFuYWdlci5fY3VzdG9tQWNjZXNzVG9rZW58fHQuY29uZmlnLkFDQ0VTU19UT0tFTn1dO2lmKGUpe3ZhciBuPXIucmVkdWNlKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZS52YWx1ZSYmKHQrPWUua2V5KyI9IitlLnZhbHVlKyhuPHIubGVuZ3RoLTE/IiYiOiIiKSksdH0sIj8iKTtlLmhyZWY9dC5jb25maWcuRkVFREJBQ0tfVVJMKyIvIituKyh0aGlzLl9tYXAuX2hhc2g/dGhpcy5fbWFwLl9oYXNoLmdldEhhc2hTdHJpbmcoITApOiIiKSxlLnJlbD0ibm9vcGVuZXIgbm9mb2xsb3cifX0sTG4ucHJvdG90eXBlLl91cGRhdGVEYXRhPWZ1bmN0aW9uKHQpeyF0fHwibWV0YWRhdGEiIT09dC5zb3VyY2VEYXRhVHlwZSYmInN0eWxlIiE9PXQuZGF0YVR5cGV8fCh0aGlzLl91cGRhdGVBdHRyaWJ1dGlvbnMoKSx0aGlzLl91cGRhdGVFZGl0TGluaygpKX0sTG4ucHJvdG90eXBlLl91cGRhdGVBdHRyaWJ1dGlvbnM9ZnVuY3Rpb24oKXtpZih0aGlzLl9tYXAuc3R5bGUpe3ZhciB0PVtdO2lmKHRoaXMub3B0aW9ucy5jdXN0b21BdHRyaWJ1dGlvbiYmKEFycmF5LmlzQXJyYXkodGhpcy5vcHRpb25zLmN1c3RvbUF0dHJpYnV0aW9uKT90PXQuY29uY2F0KHRoaXMub3B0aW9ucy5jdXN0b21BdHRyaWJ1dGlvbi5tYXAoZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyIhPXR5cGVvZiB0PyIiOnR9KSk6InN0cmluZyI9PXR5cGVvZiB0aGlzLm9wdGlvbnMuY3VzdG9tQXR0cmlidXRpb24mJnQucHVzaCh0aGlzLm9wdGlvbnMuY3VzdG9tQXR0cmlidXRpb24pKSx0aGlzLl9tYXAuc3R5bGUuc3R5bGVzaGVldCl7dmFyIGU9dGhpcy5fbWFwLnN0eWxlLnN0eWxlc2hlZXQ7dGhpcy5zdHlsZU93bmVyPWUub3duZXIsdGhpcy5zdHlsZUlkPWUuaWR9dmFyIHI9dGhpcy5fbWFwLnN0eWxlLnNvdXJjZUNhY2hlcztmb3IodmFyIG4gaW4gcil7dmFyIGE9cltuXTtpZihhLnVzZWQpe3ZhciBpPWEuZ2V0U291cmNlKCk7aS5hdHRyaWJ1dGlvbiYmdC5pbmRleE9mKGkuYXR0cmlidXRpb24pPDAmJnQucHVzaChpLmF0dHJpYnV0aW9uKX19dC5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQubGVuZ3RoLWUubGVuZ3RofSk7dmFyIG89KHQ9dC5maWx0ZXIoZnVuY3Rpb24oZSxyKXtmb3IodmFyIG49cisxO248dC5sZW5ndGg7bisrKWlmKHRbbl0uaW5kZXhPZihlKT49MClyZXR1cm4hMTtyZXR1cm4hMH0pKS5qb2luKCIgfCAiKTtvIT09dGhpcy5fYXR0cmliSFRNTCYmKHRoaXMuX2F0dHJpYkhUTUw9byx0Lmxlbmd0aD8odGhpcy5faW5uZXJDb250YWluZXIuaW5uZXJIVE1MPW8sdGhpcy5fY29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLWF0dHJpYi1lbXB0eSIpKTp0aGlzLl9jb250YWluZXIuY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtYXR0cmliLWVtcHR5IiksdGhpcy5fZWRpdExpbms9bnVsbCl9fSxMbi5wcm90b3R5cGUuX3VwZGF0ZUNvbXBhY3Q9ZnVuY3Rpb24oKXt0aGlzLl9tYXAuZ2V0Q2FudmFzQ29udGFpbmVyKCkub2Zmc2V0V2lkdGg8PTY0MD90aGlzLl9jb250YWluZXIuY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtY29tcGFjdCIpOnRoaXMuX2NvbnRhaW5lci5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC1jb21wYWN0Iil9O3ZhciBDbj1mdW5jdGlvbigpe3QuYmluZEFsbChbIl91cGRhdGVMb2dvIl0sdGhpcyksdC5iaW5kQWxsKFsiX3VwZGF0ZUNvbXBhY3QiXSx0aGlzKX07Q24ucHJvdG90eXBlLm9uQWRkPWZ1bmN0aW9uKHQpe3RoaXMuX21hcD10LHRoaXMuX2NvbnRhaW5lcj1yLmNyZWF0ZSgiZGl2IiwibWFwYm94Z2wtY3RybCIpO3ZhciBlPXIuY3JlYXRlKCJhIiwibWFwYm94Z2wtY3RybC1sb2dvIik7cmV0dXJuIGUudGFyZ2V0PSJfYmxhbmsiLGUucmVsPSJub29wZW5lciBub2ZvbGxvdyIsZS5ocmVmPSJodHRwczovL3d3dy5tYXBib3guY29tLyIsZS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCJNYXBib3ggbG9nbyIpLGUuc2V0QXR0cmlidXRlKCJyZWwiLCJub29wZW5lciBub2ZvbGxvdyIpLHRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChlKSx0aGlzLl9jb250YWluZXIuc3R5bGUuZGlzcGxheT0ibm9uZSIsdGhpcy5fbWFwLm9uKCJzb3VyY2VkYXRhIix0aGlzLl91cGRhdGVMb2dvKSx0aGlzLl91cGRhdGVMb2dvKCksdGhpcy5fbWFwLm9uKCJyZXNpemUiLHRoaXMuX3VwZGF0ZUNvbXBhY3QpLHRoaXMuX3VwZGF0ZUNvbXBhY3QoKSx0aGlzLl9jb250YWluZXJ9LENuLnByb3RvdHlwZS5vblJlbW92ZT1mdW5jdGlvbigpe3IucmVtb3ZlKHRoaXMuX2NvbnRhaW5lciksdGhpcy5fbWFwLm9mZigic291cmNlZGF0YSIsdGhpcy5fdXBkYXRlTG9nbyksdGhpcy5fbWFwLm9mZigicmVzaXplIix0aGlzLl91cGRhdGVDb21wYWN0KX0sQ24ucHJvdG90eXBlLmdldERlZmF1bHRQb3NpdGlvbj1mdW5jdGlvbigpe3JldHVybiJib3R0b20tbGVmdCJ9LENuLnByb3RvdHlwZS5fdXBkYXRlTG9nbz1mdW5jdGlvbih0KXt0JiYibWV0YWRhdGEiIT09dC5zb3VyY2VEYXRhVHlwZXx8KHRoaXMuX2NvbnRhaW5lci5zdHlsZS5kaXNwbGF5PXRoaXMuX2xvZ29SZXF1aXJlZCgpPyJibG9jayI6Im5vbmUiKX0sQ24ucHJvdG90eXBlLl9sb2dvUmVxdWlyZWQ9ZnVuY3Rpb24oKXtpZih0aGlzLl9tYXAuc3R5bGUpe3ZhciB0PXRoaXMuX21hcC5zdHlsZS5zb3VyY2VDYWNoZXM7Zm9yKHZhciBlIGluIHQpaWYodFtlXS5nZXRTb3VyY2UoKS5tYXBib3hfbG9nbylyZXR1cm4hMDtyZXR1cm4hMX19LENuLnByb3RvdHlwZS5fdXBkYXRlQ29tcGFjdD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2NvbnRhaW5lci5jaGlsZHJlbjtpZih0Lmxlbmd0aCl7dmFyIGU9dFswXTt0aGlzLl9tYXAuZ2V0Q2FudmFzQ29udGFpbmVyKCkub2Zmc2V0V2lkdGg8MjUwP2UuY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtY29tcGFjdCIpOmUuY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY29tcGFjdCIpfX07dmFyIFBuPWZ1bmN0aW9uKCl7dGhpcy5fcXVldWU9W10sdGhpcy5faWQ9MCx0aGlzLl9jbGVhcmVkPSExLHRoaXMuX2N1cnJlbnRseVJ1bm5pbmc9ITF9O1BuLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7dmFyIGU9Kyt0aGlzLl9pZDtyZXR1cm4gdGhpcy5fcXVldWUucHVzaCh7Y2FsbGJhY2s6dCxpZDplLGNhbmNlbGxlZDohMX0pLGV9LFBuLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMuX2N1cnJlbnRseVJ1bm5pbmcscj0wLG49ZT90aGlzLl9xdWV1ZS5jb25jYXQoZSk6dGhpcy5fcXVldWU7cjxuLmxlbmd0aDtyKz0xKXt2YXIgYT1uW3JdO2lmKGEuaWQ9PT10KXJldHVybiB2b2lkKGEuY2FuY2VsbGVkPSEwKX19LFBuLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9jdXJyZW50bHlSdW5uaW5nPXRoaXMuX3F1ZXVlO3RoaXMuX3F1ZXVlPVtdO2Zvcih2YXIgZT0wLHI9dDtlPHIubGVuZ3RoO2UrPTEpe3ZhciBuPXJbZV07aWYoIW4uY2FuY2VsbGVkJiYobi5jYWxsYmFjaygpLHRoaXMuX2NsZWFyZWQpKWJyZWFrfXRoaXMuX2NsZWFyZWQ9ITEsdGhpcy5fY3VycmVudGx5UnVubmluZz0hMX0sUG4ucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5fY3VycmVudGx5UnVubmluZyYmKHRoaXMuX2NsZWFyZWQ9ITApLHRoaXMuX3F1ZXVlPVtdfTt2YXIgT249dC53aW5kb3cuSFRNTEltYWdlRWxlbWVudCx6bj10LndpbmRvdy5IVE1MRWxlbWVudCxJbj17Y2VudGVyOlswLDBdLHpvb206MCxiZWFyaW5nOjAscGl0Y2g6MCxtaW5ab29tOjAsbWF4Wm9vbToyMixpbnRlcmFjdGl2ZTohMCxzY3JvbGxab29tOiEwLGJveFpvb206ITAsZHJhZ1JvdGF0ZTohMCxkcmFnUGFuOiEwLGtleWJvYXJkOiEwLGRvdWJsZUNsaWNrWm9vbTohMCx0b3VjaFpvb21Sb3RhdGU6ITAsYmVhcmluZ1NuYXA6NyxjbGlja1RvbGVyYW5jZTozLGhhc2g6ITEsYXR0cmlidXRpb25Db250cm9sOiEwLGZhaWxJZk1ham9yUGVyZm9ybWFuY2VDYXZlYXQ6ITEscHJlc2VydmVEcmF3aW5nQnVmZmVyOiExLHRyYWNrUmVzaXplOiEwLHJlbmRlcldvcmxkQ29waWVzOiEwLHJlZnJlc2hFeHBpcmVkVGlsZXM6ITAsbWF4VGlsZUNhY2hlU2l6ZTpudWxsLGxvY2FsSWRlb2dyYXBoRm9udEZhbWlseToic2Fucy1zZXJpZiIsdHJhbnNmb3JtUmVxdWVzdDpudWxsLGFjY2Vzc1Rva2VuOm51bGwsZmFkZUR1cmF0aW9uOjMwMCxjcm9zc1NvdXJjZUNvbGxpc2lvbnM6ITB9LERuPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIGEoZSl7dmFyIGE9dGhpcztpZihudWxsIT0oZT10LmV4dGVuZCh7fSxJbixlKSkubWluWm9vbSYmbnVsbCE9ZS5tYXhab29tJiZlLm1pblpvb20+ZS5tYXhab29tKXRocm93IG5ldyBFcnJvcigibWF4Wm9vbSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBtaW5ab29tIik7dmFyIGk9bmV3IHVuKGUubWluWm9vbSxlLm1heFpvb20sZS5yZW5kZXJXb3JsZENvcGllcyk7aWYobi5jYWxsKHRoaXMsaSxlKSx0aGlzLl9pbnRlcmFjdGl2ZT1lLmludGVyYWN0aXZlLHRoaXMuX21heFRpbGVDYWNoZVNpemU9ZS5tYXhUaWxlQ2FjaGVTaXplLHRoaXMuX2ZhaWxJZk1ham9yUGVyZm9ybWFuY2VDYXZlYXQ9ZS5mYWlsSWZNYWpvclBlcmZvcm1hbmNlQ2F2ZWF0LHRoaXMuX3ByZXNlcnZlRHJhd2luZ0J1ZmZlcj1lLnByZXNlcnZlRHJhd2luZ0J1ZmZlcix0aGlzLl9hbnRpYWxpYXM9ZS5hbnRpYWxpYXMsdGhpcy5fdHJhY2tSZXNpemU9ZS50cmFja1Jlc2l6ZSx0aGlzLl9iZWFyaW5nU25hcD1lLmJlYXJpbmdTbmFwLHRoaXMuX3JlZnJlc2hFeHBpcmVkVGlsZXM9ZS5yZWZyZXNoRXhwaXJlZFRpbGVzLHRoaXMuX2ZhZGVEdXJhdGlvbj1lLmZhZGVEdXJhdGlvbix0aGlzLl9jcm9zc1NvdXJjZUNvbGxpc2lvbnM9ZS5jcm9zc1NvdXJjZUNvbGxpc2lvbnMsdGhpcy5fY3Jvc3NGYWRpbmdGYWN0b3I9MSx0aGlzLl9jb2xsZWN0UmVzb3VyY2VUaW1pbmc9ZS5jb2xsZWN0UmVzb3VyY2VUaW1pbmcsdGhpcy5fcmVuZGVyVGFza1F1ZXVlPW5ldyBQbix0aGlzLl9jb250cm9scz1bXSx0aGlzLl9tYXBJZD10LnVuaXF1ZUlkKCksdGhpcy5fcmVxdWVzdE1hbmFnZXI9bmV3IHQuUmVxdWVzdE1hbmFnZXIoZS50cmFuc2Zvcm1SZXF1ZXN0LGUuYWNjZXNzVG9rZW4pLCJzdHJpbmciPT10eXBlb2YgZS5jb250YWluZXIpe2lmKHRoaXMuX2NvbnRhaW5lcj10LndpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChlLmNvbnRhaW5lciksIXRoaXMuX2NvbnRhaW5lcil0aHJvdyBuZXcgRXJyb3IoIkNvbnRhaW5lciAnIitlLmNvbnRhaW5lcisiJyBub3QgZm91bmQuIil9ZWxzZXtpZighKGUuY29udGFpbmVyIGluc3RhbmNlb2Ygem4pKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB0eXBlOiAnY29udGFpbmVyJyBtdXN0IGJlIGEgU3RyaW5nIG9yIEhUTUxFbGVtZW50LiIpO3RoaXMuX2NvbnRhaW5lcj1lLmNvbnRhaW5lcn1pZihlLm1heEJvdW5kcyYmdGhpcy5zZXRNYXhCb3VuZHMoZS5tYXhCb3VuZHMpLHQuYmluZEFsbChbIl9vbldpbmRvd09ubGluZSIsIl9vbldpbmRvd1Jlc2l6ZSIsIl9jb250ZXh0TG9zdCIsIl9jb250ZXh0UmVzdG9yZWQiXSx0aGlzKSx0aGlzLl9zZXR1cENvbnRhaW5lcigpLHRoaXMuX3NldHVwUGFpbnRlcigpLHZvaWQgMD09PXRoaXMucGFpbnRlcil0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBpbml0aWFsaXplIFdlYkdMLiIpO3RoaXMub24oIm1vdmUiLGZ1bmN0aW9uKCl7cmV0dXJuIGEuX3VwZGF0ZSghMSl9KSx0aGlzLm9uKCJtb3ZlZW5kIixmdW5jdGlvbigpe3JldHVybiBhLl91cGRhdGUoITEpfSksdGhpcy5vbigiem9vbSIsZnVuY3Rpb24oKXtyZXR1cm4gYS5fdXBkYXRlKCEwKX0pLHZvaWQgMCE9PXQud2luZG93JiYodC53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIix0aGlzLl9vbldpbmRvd09ubGluZSwhMSksdC53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9vbldpbmRvd1Jlc2l6ZSwhMSkpLGZ1bmN0aW9uKHQsZSl7dmFyIG49dC5nZXRDYW52YXNDb250YWluZXIoKSxhPW51bGwsaT0hMSxvPW51bGw7Zm9yKHZhciBzIGluIFNuKXRbc109bmV3IFNuW3NdKHQsZSksZS5pbnRlcmFjdGl2ZSYmZVtzXSYmdFtzXS5lbmFibGUoZVtzXSk7ci5hZGRFdmVudExpc3RlbmVyKG4sIm1vdXNlb3V0IixmdW5jdGlvbihlKXt0LmZpcmUobmV3IHBuKCJtb3VzZW91dCIsdCxlKSl9KSxyLmFkZEV2ZW50TGlzdGVuZXIobiwibW91c2Vkb3duIixmdW5jdGlvbihhKXtpPSEwLG89ci5tb3VzZVBvcyhuLGEpO3ZhciBzPW5ldyBwbigibW91c2Vkb3duIix0LGEpO3QuZmlyZShzKSxzLmRlZmF1bHRQcmV2ZW50ZWR8fChlLmludGVyYWN0aXZlJiYhdC5kb3VibGVDbGlja1pvb20uaXNBY3RpdmUoKSYmdC5zdG9wKCksdC5ib3hab29tLm9uTW91c2VEb3duKGEpLHQuYm94Wm9vbS5pc0FjdGl2ZSgpfHx0LmRyYWdQYW4uaXNBY3RpdmUoKXx8dC5kcmFnUm90YXRlLm9uTW91c2VEb3duKGEpLHQuYm94Wm9vbS5pc0FjdGl2ZSgpfHx0LmRyYWdSb3RhdGUuaXNBY3RpdmUoKXx8dC5kcmFnUGFuLm9uTW91c2VEb3duKGEpKX0pLHIuYWRkRXZlbnRMaXN0ZW5lcihuLCJtb3VzZXVwIixmdW5jdGlvbihlKXt2YXIgcj10LmRyYWdSb3RhdGUuaXNBY3RpdmUoKTthJiYhciYmdC5maXJlKG5ldyBwbigiY29udGV4dG1lbnUiLHQsYSkpLGE9bnVsbCxpPSExLHQuZmlyZShuZXcgcG4oIm1vdXNldXAiLHQsZSkpfSksci5hZGRFdmVudExpc3RlbmVyKG4sIm1vdXNlbW92ZSIsZnVuY3Rpb24oZSl7aWYoIXQuZHJhZ1Bhbi5pc0FjdGl2ZSgpJiYhdC5kcmFnUm90YXRlLmlzQWN0aXZlKCkpe2Zvcih2YXIgcj1lLnRhcmdldDtyJiZyIT09bjspcj1yLnBhcmVudE5vZGU7cj09PW4mJnQuZmlyZShuZXcgcG4oIm1vdXNlbW92ZSIsdCxlKSl9fSksci5hZGRFdmVudExpc3RlbmVyKG4sIm1vdXNlb3ZlciIsZnVuY3Rpb24oZSl7Zm9yKHZhciByPWUudGFyZ2V0O3ImJnIhPT1uOylyPXIucGFyZW50Tm9kZTtyPT09biYmdC5maXJlKG5ldyBwbigibW91c2VvdmVyIix0LGUpKX0pLHIuYWRkRXZlbnRMaXN0ZW5lcihuLCJ0b3VjaHN0YXJ0IixmdW5jdGlvbihyKXt2YXIgbj1uZXcgZG4oInRvdWNoc3RhcnQiLHQscik7dC5maXJlKG4pLG4uZGVmYXVsdFByZXZlbnRlZHx8KGUuaW50ZXJhY3RpdmUmJnQuc3RvcCgpLHQuYm94Wm9vbS5pc0FjdGl2ZSgpfHx0LmRyYWdSb3RhdGUuaXNBY3RpdmUoKXx8dC5kcmFnUGFuLm9uVG91Y2hTdGFydChyKSx0LnRvdWNoWm9vbVJvdGF0ZS5vblN0YXJ0KHIpLHQuZG91YmxlQ2xpY2tab29tLm9uVG91Y2hTdGFydChuKSl9LHtwYXNzaXZlOiExfSksci5hZGRFdmVudExpc3RlbmVyKG4sInRvdWNobW92ZSIsZnVuY3Rpb24oZSl7dC5maXJlKG5ldyBkbigidG91Y2htb3ZlIix0LGUpKX0se3Bhc3NpdmU6ITF9KSxyLmFkZEV2ZW50TGlzdGVuZXIobiwidG91Y2hlbmQiLGZ1bmN0aW9uKGUpe3QuZmlyZShuZXcgZG4oInRvdWNoZW5kIix0LGUpKX0pLHIuYWRkRXZlbnRMaXN0ZW5lcihuLCJ0b3VjaGNhbmNlbCIsZnVuY3Rpb24oZSl7dC5maXJlKG5ldyBkbigidG91Y2hjYW5jZWwiLHQsZSkpfSksci5hZGRFdmVudExpc3RlbmVyKG4sImNsaWNrIixmdW5jdGlvbihhKXt2YXIgaT1yLm1vdXNlUG9zKG4sYSk7KCFvfHxpLmVxdWFscyhvKXx8aS5kaXN0KG8pPGUuY2xpY2tUb2xlcmFuY2UpJiZ0LmZpcmUobmV3IHBuKCJjbGljayIsdCxhKSl9KSxyLmFkZEV2ZW50TGlzdGVuZXIobiwiZGJsY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciByPW5ldyBwbigiZGJsY2xpY2siLHQsZSk7dC5maXJlKHIpLHIuZGVmYXVsdFByZXZlbnRlZHx8dC5kb3VibGVDbGlja1pvb20ub25EYmxDbGljayhyKX0pLHIuYWRkRXZlbnRMaXN0ZW5lcihuLCJjb250ZXh0bWVudSIsZnVuY3Rpb24oZSl7dmFyIHI9dC5kcmFnUm90YXRlLmlzQWN0aXZlKCk7aXx8cj9pJiYoYT1lKTp0LmZpcmUobmV3IHBuKCJjb250ZXh0bWVudSIsdCxlKSksKHQuZHJhZ1JvdGF0ZS5pc0VuYWJsZWQoKXx8dC5saXN0ZW5zKCJjb250ZXh0bWVudSIpKSYmZS5wcmV2ZW50RGVmYXVsdCgpfSksci5hZGRFdmVudExpc3RlbmVyKG4sIndoZWVsIixmdW5jdGlvbihyKXtlLmludGVyYWN0aXZlJiZ0LnN0b3AoKTt2YXIgbj1uZXcgZ24oIndoZWVsIix0LHIpO3QuZmlyZShuKSxuLmRlZmF1bHRQcmV2ZW50ZWR8fHQuc2Nyb2xsWm9vbS5vbldoZWVsKHIpfSx7cGFzc2l2ZTohMX0pfSh0aGlzLGUpLHRoaXMuX2hhc2g9ZS5oYXNoJiYobmV3IGZuKS5hZGRUbyh0aGlzKSx0aGlzLl9oYXNoJiZ0aGlzLl9oYXNoLl9vbkhhc2hDaGFuZ2UoKXx8KHRoaXMuanVtcFRvKHtjZW50ZXI6ZS5jZW50ZXIsem9vbTplLnpvb20sYmVhcmluZzplLmJlYXJpbmcscGl0Y2g6ZS5waXRjaH0pLGUuYm91bmRzJiYodGhpcy5yZXNpemUoKSx0aGlzLmZpdEJvdW5kcyhlLmJvdW5kcyx0LmV4dGVuZCh7fSxlLmZpdEJvdW5kc09wdGlvbnMse2R1cmF0aW9uOjB9KSkpKSx0aGlzLnJlc2l6ZSgpLHRoaXMuX2xvY2FsSWRlb2dyYXBoRm9udEZhbWlseT1lLmxvY2FsSWRlb2dyYXBoRm9udEZhbWlseSxlLnN0eWxlJiZ0aGlzLnNldFN0eWxlKGUuc3R5bGUse2xvY2FsSWRlb2dyYXBoRm9udEZhbWlseTplLmxvY2FsSWRlb2dyYXBoRm9udEZhbWlseX0pLGUuYXR0cmlidXRpb25Db250cm9sJiZ0aGlzLmFkZENvbnRyb2wobmV3IExuKHtjdXN0b21BdHRyaWJ1dGlvbjplLmN1c3RvbUF0dHJpYnV0aW9ufSkpLHRoaXMuYWRkQ29udHJvbChuZXcgQ24sZS5sb2dvUG9zaXRpb24pLHRoaXMub24oInN0eWxlLmxvYWQiLGZ1bmN0aW9uKCl7YS50cmFuc2Zvcm0udW5tb2RpZmllZCYmYS5qdW1wVG8oYS5zdHlsZS5zdHlsZXNoZWV0KX0pLHRoaXMub24oImRhdGEiLGZ1bmN0aW9uKGUpe2EuX3VwZGF0ZSgic3R5bGUiPT09ZS5kYXRhVHlwZSksYS5maXJlKG5ldyB0LkV2ZW50KGUuZGF0YVR5cGUrImRhdGEiLGUpKX0pLHRoaXMub24oImRhdGFsb2FkaW5nIixmdW5jdGlvbihlKXthLmZpcmUobmV3IHQuRXZlbnQoZS5kYXRhVHlwZSsiZGF0YWxvYWRpbmciLGUpKX0pfW4mJihhLl9fcHJvdG9fXz1uKSxhLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG4mJm4ucHJvdG90eXBlKSxhLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO3ZhciBpPXtzaG93VGlsZUJvdW5kYXJpZXM6e2NvbmZpZ3VyYWJsZTohMH0sc2hvd0NvbGxpc2lvbkJveGVzOntjb25maWd1cmFibGU6ITB9LHNob3dPdmVyZHJhd0luc3BlY3Rvcjp7Y29uZmlndXJhYmxlOiEwfSxyZXBhaW50Ontjb25maWd1cmFibGU6ITB9LHZlcnRpY2VzOntjb25maWd1cmFibGU6ITB9LHZlcnNpb246e2NvbmZpZ3VyYWJsZTohMH19O3JldHVybiBhLnByb3RvdHlwZS5fZ2V0TWFwSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWFwSWR9LGEucHJvdG90eXBlLmFkZENvbnRyb2w9ZnVuY3Rpb24oZSxyKXtpZih2b2lkIDA9PT1yJiZlLmdldERlZmF1bHRQb3NpdGlvbiYmKHI9ZS5nZXREZWZhdWx0UG9zaXRpb24oKSksdm9pZCAwPT09ciYmKHI9InRvcC1yaWdodCIpLCFlfHwhZS5vbkFkZClyZXR1cm4gdGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCJJbnZhbGlkIGFyZ3VtZW50IHRvIG1hcC5hZGRDb250cm9sKCkuIEFyZ3VtZW50IG11c3QgYmUgYSBjb250cm9sIHdpdGggb25BZGQgYW5kIG9uUmVtb3ZlIG1ldGhvZHMuIikpKTt2YXIgbj1lLm9uQWRkKHRoaXMpO3RoaXMuX2NvbnRyb2xzLnB1c2goZSk7dmFyIGE9dGhpcy5fY29udHJvbFBvc2l0aW9uc1tyXTtyZXR1cm4tMSE9PXIuaW5kZXhPZigiYm90dG9tIik/YS5pbnNlcnRCZWZvcmUobixhLmZpcnN0Q2hpbGQpOmEuYXBwZW5kQ2hpbGQobiksdGhpc30sYS5wcm90b3R5cGUucmVtb3ZlQ29udHJvbD1mdW5jdGlvbihlKXtpZighZXx8IWUub25SZW1vdmUpcmV0dXJuIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiSW52YWxpZCBhcmd1bWVudCB0byBtYXAucmVtb3ZlQ29udHJvbCgpLiBBcmd1bWVudCBtdXN0IGJlIGEgY29udHJvbCB3aXRoIG9uQWRkIGFuZCBvblJlbW92ZSBtZXRob2RzLiIpKSk7dmFyIHI9dGhpcy5fY29udHJvbHMuaW5kZXhPZihlKTtyZXR1cm4gcj4tMSYmdGhpcy5fY29udHJvbHMuc3BsaWNlKHIsMSksZS5vblJlbW92ZSh0aGlzKSx0aGlzfSxhLnByb3RvdHlwZS5yZXNpemU9ZnVuY3Rpb24oZSl7dmFyIHI9dGhpcy5fY29udGFpbmVyRGltZW5zaW9ucygpLG49clswXSxhPXJbMV07cmV0dXJuIHRoaXMuX3Jlc2l6ZUNhbnZhcyhuLGEpLHRoaXMudHJhbnNmb3JtLnJlc2l6ZShuLGEpLHRoaXMucGFpbnRlci5yZXNpemUobixhKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoIm1vdmVzdGFydCIsZSkpLmZpcmUobmV3IHQuRXZlbnQoIm1vdmUiLGUpKS5maXJlKG5ldyB0LkV2ZW50KCJyZXNpemUiLGUpKS5maXJlKG5ldyB0LkV2ZW50KCJtb3ZlZW5kIixlKSksdGhpc30sYS5wcm90b3R5cGUuZ2V0Qm91bmRzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudHJhbnNmb3JtLmdldEJvdW5kcygpfSxhLnByb3RvdHlwZS5nZXRNYXhCb3VuZHM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0uZ2V0TWF4Qm91bmRzKCl9LGEucHJvdG90eXBlLnNldE1heEJvdW5kcz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0uc2V0TWF4Qm91bmRzKHQuTG5nTGF0Qm91bmRzLmNvbnZlcnQoZSkpLHRoaXMuX3VwZGF0ZSgpfSxhLnByb3RvdHlwZS5zZXRNaW5ab29tPWZ1bmN0aW9uKHQpe2lmKCh0PW51bGw9PXQ/MDp0KT49MCYmdDw9dGhpcy50cmFuc2Zvcm0ubWF4Wm9vbSlyZXR1cm4gdGhpcy50cmFuc2Zvcm0ubWluWm9vbT10LHRoaXMuX3VwZGF0ZSgpLHRoaXMuZ2V0Wm9vbSgpPHQmJnRoaXMuc2V0Wm9vbSh0KSx0aGlzO3Rocm93IG5ldyBFcnJvcigibWluWm9vbSBtdXN0IGJlIGJldHdlZW4gMCBhbmQgdGhlIGN1cnJlbnQgbWF4Wm9vbSwgaW5jbHVzaXZlIil9LGEucHJvdG90eXBlLmdldE1pblpvb209ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0ubWluWm9vbX0sYS5wcm90b3R5cGUuc2V0TWF4Wm9vbT1mdW5jdGlvbih0KXtpZigodD1udWxsPT10PzIyOnQpPj10aGlzLnRyYW5zZm9ybS5taW5ab29tKXJldHVybiB0aGlzLnRyYW5zZm9ybS5tYXhab29tPXQsdGhpcy5fdXBkYXRlKCksdGhpcy5nZXRab29tKCk+dCYmdGhpcy5zZXRab29tKHQpLHRoaXM7dGhyb3cgbmV3IEVycm9yKCJtYXhab29tIG11c3QgYmUgZ3JlYXRlciB0aGFuIHRoZSBjdXJyZW50IG1pblpvb20iKX0sYS5wcm90b3R5cGUuZ2V0UmVuZGVyV29ybGRDb3BpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0ucmVuZGVyV29ybGRDb3BpZXN9LGEucHJvdG90eXBlLnNldFJlbmRlcldvcmxkQ29waWVzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRyYW5zZm9ybS5yZW5kZXJXb3JsZENvcGllcz10LHRoaXMuX3VwZGF0ZSgpfSxhLnByb3RvdHlwZS5nZXRNYXhab29tPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudHJhbnNmb3JtLm1heFpvb219LGEucHJvdG90eXBlLnByb2plY3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMudHJhbnNmb3JtLmxvY2F0aW9uUG9pbnQodC5MbmdMYXQuY29udmVydChlKSl9LGEucHJvdG90eXBlLnVucHJvamVjdD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0ucG9pbnRMb2NhdGlvbih0LlBvaW50LmNvbnZlcnQoZSkpfSxhLnByb3RvdHlwZS5pc01vdmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9tb3Zpbmd8fHRoaXMuZHJhZ1Bhbi5pc0FjdGl2ZSgpfHx0aGlzLmRyYWdSb3RhdGUuaXNBY3RpdmUoKXx8dGhpcy5zY3JvbGxab29tLmlzQWN0aXZlKCl9LGEucHJvdG90eXBlLmlzWm9vbWluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl96b29taW5nfHx0aGlzLnNjcm9sbFpvb20uaXNab29taW5nKCl9LGEucHJvdG90eXBlLmlzUm90YXRpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcm90YXRpbmd8fHRoaXMuZHJhZ1JvdGF0ZS5pc0FjdGl2ZSgpfSxhLnByb3RvdHlwZS5vbj1mdW5jdGlvbih0LGUscil7dmFyIGE9dGhpcztpZih2b2lkIDA9PT1yKXJldHVybiBuLnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsdCxlKTt2YXIgaT1mdW5jdGlvbigpe3ZhciBuO2lmKCJtb3VzZWVudGVyIj09PXR8fCJtb3VzZW92ZXIiPT09dCl7dmFyIGk9ITE7cmV0dXJue2xheWVyOmUsbGlzdGVuZXI6cixkZWxlZ2F0ZXM6e21vdXNlbW92ZTpmdW5jdGlvbihuKXt2YXIgbz1hLmdldExheWVyKGUpP2EucXVlcnlSZW5kZXJlZEZlYXR1cmVzKG4ucG9pbnQse2xheWVyczpbZV19KTpbXTtvLmxlbmd0aD9pfHwoaT0hMCxyLmNhbGwoYSxuZXcgcG4odCxhLG4ub3JpZ2luYWxFdmVudCx7ZmVhdHVyZXM6b30pKSk6aT0hMX0sbW91c2VvdXQ6ZnVuY3Rpb24oKXtpPSExfX19fWlmKCJtb3VzZWxlYXZlIj09PXR8fCJtb3VzZW91dCI9PT10KXt2YXIgbz0hMTtyZXR1cm57bGF5ZXI6ZSxsaXN0ZW5lcjpyLGRlbGVnYXRlczp7bW91c2Vtb3ZlOmZ1bmN0aW9uKG4peyhhLmdldExheWVyKGUpP2EucXVlcnlSZW5kZXJlZEZlYXR1cmVzKG4ucG9pbnQse2xheWVyczpbZV19KTpbXSkubGVuZ3RoP289ITA6byYmKG89ITEsci5jYWxsKGEsbmV3IHBuKHQsYSxuLm9yaWdpbmFsRXZlbnQpKSl9LG1vdXNlb3V0OmZ1bmN0aW9uKGUpe28mJihvPSExLHIuY2FsbChhLG5ldyBwbih0LGEsZS5vcmlnaW5hbEV2ZW50KSkpfX19fXJldHVybntsYXllcjplLGxpc3RlbmVyOnIsZGVsZWdhdGVzOihuPXt9LG5bdF09ZnVuY3Rpb24odCl7dmFyIG49YS5nZXRMYXllcihlKT9hLnF1ZXJ5UmVuZGVyZWRGZWF0dXJlcyh0LnBvaW50LHtsYXllcnM6W2VdfSk6W107bi5sZW5ndGgmJih0LmZlYXR1cmVzPW4sci5jYWxsKGEsdCksZGVsZXRlIHQuZmVhdHVyZXMpfSxuKX19KCk7Zm9yKHZhciBvIGluIHRoaXMuX2RlbGVnYXRlZExpc3RlbmVycz10aGlzLl9kZWxlZ2F0ZWRMaXN0ZW5lcnN8fHt9LHRoaXMuX2RlbGVnYXRlZExpc3RlbmVyc1t0XT10aGlzLl9kZWxlZ2F0ZWRMaXN0ZW5lcnNbdF18fFtdLHRoaXMuX2RlbGVnYXRlZExpc3RlbmVyc1t0XS5wdXNoKGkpLGkuZGVsZWdhdGVzKXRoaXMub24obyxpLmRlbGVnYXRlc1tvXSk7cmV0dXJuIHRoaXN9LGEucHJvdG90eXBlLm9mZj1mdW5jdGlvbih0LGUscil7aWYodm9pZCAwPT09cilyZXR1cm4gbi5wcm90b3R5cGUub2ZmLmNhbGwodGhpcyx0LGUpO2lmKHRoaXMuX2RlbGVnYXRlZExpc3RlbmVycyYmdGhpcy5fZGVsZWdhdGVkTGlzdGVuZXJzW3RdKWZvcih2YXIgYT10aGlzLl9kZWxlZ2F0ZWRMaXN0ZW5lcnNbdF0saT0wO2k8YS5sZW5ndGg7aSsrKXt2YXIgbz1hW2ldO2lmKG8ubGF5ZXI9PT1lJiZvLmxpc3RlbmVyPT09cil7Zm9yKHZhciBzIGluIG8uZGVsZWdhdGVzKXRoaXMub2ZmKHMsby5kZWxlZ2F0ZXNbc10pO3JldHVybiBhLnNwbGljZShpLDEpLHRoaXN9fXJldHVybiB0aGlzfSxhLnByb3RvdHlwZS5xdWVyeVJlbmRlcmVkRmVhdHVyZXM9ZnVuY3Rpb24oZSxyKXtpZighdGhpcy5zdHlsZSlyZXR1cm5bXTt2YXIgbjtpZih2b2lkIDAhPT1yfHx2b2lkIDA9PT1lfHxlIGluc3RhbmNlb2YgdC5Qb2ludHx8QXJyYXkuaXNBcnJheShlKXx8KHI9ZSxlPXZvaWQgMCkscj1yfHx7fSwoZT1lfHxbWzAsMF0sW3RoaXMudHJhbnNmb3JtLndpZHRoLHRoaXMudHJhbnNmb3JtLmhlaWdodF1dKWluc3RhbmNlb2YgdC5Qb2ludHx8Im51bWJlciI9PXR5cGVvZiBlWzBdKW49W3QuUG9pbnQuY29udmVydChlKV07ZWxzZXt2YXIgYT10LlBvaW50LmNvbnZlcnQoZVswXSksaT10LlBvaW50LmNvbnZlcnQoZVsxXSk7bj1bYSxuZXcgdC5Qb2ludChpLngsYS55KSxpLG5ldyB0LlBvaW50KGEueCxpLnkpLGFdfXJldHVybiB0aGlzLnN0eWxlLnF1ZXJ5UmVuZGVyZWRGZWF0dXJlcyhuLHIsdGhpcy50cmFuc2Zvcm0pfSxhLnByb3RvdHlwZS5xdWVyeVNvdXJjZUZlYXR1cmVzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuc3R5bGUucXVlcnlTb3VyY2VGZWF0dXJlcyh0LGUpfSxhLnByb3RvdHlwZS5zZXRTdHlsZT1mdW5jdGlvbihlLHIpe3JldHVybiExIT09KHI9dC5leHRlbmQoe30se2xvY2FsSWRlb2dyYXBoRm9udEZhbWlseTp0aGlzLl9sb2NhbElkZW9ncmFwaEZvbnRGYW1pbHl9LHIpKS5kaWZmJiZyLmxvY2FsSWRlb2dyYXBoRm9udEZhbWlseT09PXRoaXMuX2xvY2FsSWRlb2dyYXBoRm9udEZhbWlseSYmdGhpcy5zdHlsZSYmZT8odGhpcy5fZGlmZlN0eWxlKGUsciksdGhpcyk6KHRoaXMuX2xvY2FsSWRlb2dyYXBoRm9udEZhbWlseT1yLmxvY2FsSWRlb2dyYXBoRm9udEZhbWlseSx0aGlzLl91cGRhdGVTdHlsZShlLHIpKX0sYS5wcm90b3R5cGUuX3VwZGF0ZVN0eWxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuc3R5bGUmJih0aGlzLnN0eWxlLnNldEV2ZW50ZWRQYXJlbnQobnVsbCksdGhpcy5zdHlsZS5fcmVtb3ZlKCkpLHQ/KHRoaXMuc3R5bGU9bmV3IFJlKHRoaXMsZXx8e30pLHRoaXMuc3R5bGUuc2V0RXZlbnRlZFBhcmVudCh0aGlzLHtzdHlsZTp0aGlzLnN0eWxlfSksInN0cmluZyI9PXR5cGVvZiB0P3RoaXMuc3R5bGUubG9hZFVSTCh0KTp0aGlzLnN0eWxlLmxvYWRKU09OKHQpLHRoaXMpOihkZWxldGUgdGhpcy5zdHlsZSx0aGlzKX0sYS5wcm90b3R5cGUuX2RpZmZTdHlsZT1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXM7aWYoInN0cmluZyI9PXR5cGVvZiBlKXt2YXIgYT10aGlzLl9yZXF1ZXN0TWFuYWdlci5ub3JtYWxpemVTdHlsZVVSTChlKSxpPXRoaXMuX3JlcXVlc3RNYW5hZ2VyLnRyYW5zZm9ybVJlcXVlc3QoYSx0LlJlc291cmNlVHlwZS5TdHlsZSk7dC5nZXRKU09OKGksZnVuY3Rpb24oZSxhKXtlP24uZmlyZShuZXcgdC5FcnJvckV2ZW50KGUpKTphJiZuLl91cGRhdGVEaWZmKGEscil9KX1lbHNlIm9iamVjdCI9PXR5cGVvZiBlJiZ0aGlzLl91cGRhdGVEaWZmKGUscil9LGEucHJvdG90eXBlLl91cGRhdGVEaWZmPWZ1bmN0aW9uKGUscil7dHJ5e3RoaXMuc3R5bGUuc2V0U3RhdGUoZSkmJnRoaXMuX3VwZGF0ZSghMCl9Y2F0Y2gobil7dC53YXJuT25jZSgiVW5hYmxlIHRvIHBlcmZvcm0gc3R5bGUgZGlmZjogIisobi5tZXNzYWdlfHxuLmVycm9yfHxuKSsiLiAgUmVidWlsZGluZyB0aGUgc3R5bGUgZnJvbSBzY3JhdGNoLiIpLHRoaXMuX3VwZGF0ZVN0eWxlKGUscil9fSxhLnByb3RvdHlwZS5nZXRTdHlsZT1mdW5jdGlvbigpe2lmKHRoaXMuc3R5bGUpcmV0dXJuIHRoaXMuc3R5bGUuc2VyaWFsaXplKCl9LGEucHJvdG90eXBlLmlzU3R5bGVMb2FkZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdHlsZT90aGlzLnN0eWxlLmxvYWRlZCgpOnQud2Fybk9uY2UoIlRoZXJlIGlzIG5vIHN0eWxlIGFkZGVkIHRvIHRoZSBtYXAuIil9LGEucHJvdG90eXBlLmFkZFNvdXJjZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnN0eWxlLmFkZFNvdXJjZSh0LGUpLHRoaXMuX3VwZGF0ZSghMCl9LGEucHJvdG90eXBlLmlzU291cmNlTG9hZGVkPWZ1bmN0aW9uKGUpe3ZhciByPXRoaXMuc3R5bGUmJnRoaXMuc3R5bGUuc291cmNlQ2FjaGVzW2VdO2lmKHZvaWQgMCE9PXIpcmV0dXJuIHIubG9hZGVkKCk7dGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCJUaGVyZSBpcyBubyBzb3VyY2Ugd2l0aCBJRCAnIitlKyInIikpKX0sYS5wcm90b3R5cGUuYXJlVGlsZXNMb2FkZWQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnN0eWxlJiZ0aGlzLnN0eWxlLnNvdXJjZUNhY2hlcztmb3IodmFyIGUgaW4gdCl7dmFyIHI9dFtlXS5fdGlsZXM7Zm9yKHZhciBuIGluIHIpe3ZhciBhPXJbbl07aWYoImxvYWRlZCIhPT1hLnN0YXRlJiYiZXJyb3JlZCIhPT1hLnN0YXRlKXJldHVybiExfX1yZXR1cm4hMH0sYS5wcm90b3R5cGUuYWRkU291cmNlVHlwZT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3R5bGUuYWRkU291cmNlVHlwZSh0LGUscil9LGEucHJvdG90eXBlLnJlbW92ZVNvdXJjZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zdHlsZS5yZW1vdmVTb3VyY2UodCksdGhpcy5fdXBkYXRlKCEwKX0sYS5wcm90b3R5cGUuZ2V0U291cmNlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnN0eWxlLmdldFNvdXJjZSh0KX0sYS5wcm90b3R5cGUuYWRkSW1hZ2U9ZnVuY3Rpb24oZSxyLG4pe3ZvaWQgMD09PW4mJihuPXt9KTt2YXIgYT1uLnBpeGVsUmF0aW87dm9pZCAwPT09YSYmKGE9MSk7dmFyIGk9bi5zZGY7aWYodm9pZCAwPT09aSYmKGk9ITEpLHIgaW5zdGFuY2VvZiBPbil7dmFyIG89dC5icm93c2VyLmdldEltYWdlRGF0YShyKSxzPW8ud2lkdGgsbD1vLmhlaWdodCxjPW8uZGF0YTt0aGlzLnN0eWxlLmFkZEltYWdlKGUse2RhdGE6bmV3IHQuUkdCQUltYWdlKHt3aWR0aDpzLGhlaWdodDpsfSxjKSxwaXhlbFJhdGlvOmEsc2RmOmksdmVyc2lvbjowfSl9ZWxzZXtpZih2b2lkIDA9PT1yLndpZHRofHx2b2lkIDA9PT1yLmhlaWdodClyZXR1cm4gdGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCJJbnZhbGlkIGFyZ3VtZW50cyB0byBtYXAuYWRkSW1hZ2UoKS4gVGhlIHNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGFuIGBIVE1MSW1hZ2VFbGVtZW50YCwgYEltYWdlRGF0YWAsIG9yIG9iamVjdCB3aXRoIGB3aWR0aGAsIGBoZWlnaHRgLCBhbmQgYGRhdGFgIHByb3BlcnRpZXMgd2l0aCB0aGUgc2FtZSBmb3JtYXQgYXMgYEltYWdlRGF0YWAiKSkpO3ZhciB1PXIud2lkdGgsaD1yLmhlaWdodCxmPXIuZGF0YSxwPXI7dGhpcy5zdHlsZS5hZGRJbWFnZShlLHtkYXRhOm5ldyB0LlJHQkFJbWFnZSh7d2lkdGg6dSxoZWlnaHQ6aH0sbmV3IFVpbnQ4QXJyYXkoZikpLHBpeGVsUmF0aW86YSxzZGY6aSx2ZXJzaW9uOjAsdXNlckltYWdlOnB9KSxwLm9uQWRkJiZwLm9uQWRkKHRoaXMsZSl9fSxhLnByb3RvdHlwZS51cGRhdGVJbWFnZT1mdW5jdGlvbihlLHIpe3ZhciBuPXRoaXMuc3R5bGUuZ2V0SW1hZ2UoZSk7aWYoIW4pcmV0dXJuIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIG1hcCBoYXMgbm8gaW1hZ2Ugd2l0aCB0aGF0IGlkLiBJZiB5b3UgYXJlIGFkZGluZyBhIG5ldyBpbWFnZSB1c2UgYG1hcC5hZGRJbWFnZSguLi4pYCBpbnN0ZWFkLiIpKSk7dmFyIGE9ciBpbnN0YW5jZW9mIE9uP3QuYnJvd3Nlci5nZXRJbWFnZURhdGEocik6cixpPWEud2lkdGgsbz1hLmhlaWdodCxzPWEuZGF0YTtpZih2b2lkIDA9PT1pfHx2b2lkIDA9PT1vKXJldHVybiB0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIkludmFsaWQgYXJndW1lbnRzIHRvIG1hcC51cGRhdGVJbWFnZSgpLiBUaGUgc2Vjb25kIGFyZ3VtZW50IG11c3QgYmUgYW4gYEhUTUxJbWFnZUVsZW1lbnRgLCBgSW1hZ2VEYXRhYCwgb3Igb2JqZWN0IHdpdGggYHdpZHRoYCwgYGhlaWdodGAsIGFuZCBgZGF0YWAgcHJvcGVydGllcyB3aXRoIHRoZSBzYW1lIGZvcm1hdCBhcyBgSW1hZ2VEYXRhYCIpKSk7aWYoaSE9PW4uZGF0YS53aWR0aHx8byE9PW4uZGF0YS5oZWlnaHQpcmV0dXJuIHRoaXMuZmlyZShuZXcgdC5FcnJvckV2ZW50KG5ldyBFcnJvcigiVGhlIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHVwZGF0ZWQgaW1hZ2UgbXVzdCBiZSB0aGF0IHNhbWUgYXMgdGhlIHByZXZpb3VzIHZlcnNpb24gb2YgdGhlIGltYWdlIikpKTt2YXIgbD0hKHIgaW5zdGFuY2VvZiBPbik7bi5kYXRhLnJlcGxhY2UocyxsKSx0aGlzLnN0eWxlLnVwZGF0ZUltYWdlKGUsbil9LGEucHJvdG90eXBlLmhhc0ltYWdlPWZ1bmN0aW9uKGUpe3JldHVybiBlPyEhdGhpcy5zdHlsZS5nZXRJbWFnZShlKToodGhpcy5maXJlKG5ldyB0LkVycm9yRXZlbnQobmV3IEVycm9yKCJNaXNzaW5nIHJlcXVpcmVkIGltYWdlIGlkIikpKSwhMSl9LGEucHJvdG90eXBlLnJlbW92ZUltYWdlPWZ1bmN0aW9uKHQpe3RoaXMuc3R5bGUucmVtb3ZlSW1hZ2UodCl9LGEucHJvdG90eXBlLmxvYWRJbWFnZT1mdW5jdGlvbihlLHIpe3QuZ2V0SW1hZ2UodGhpcy5fcmVxdWVzdE1hbmFnZXIudHJhbnNmb3JtUmVxdWVzdChlLHQuUmVzb3VyY2VUeXBlLkltYWdlKSxyKX0sYS5wcm90b3R5cGUubGlzdEltYWdlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN0eWxlLmxpc3RJbWFnZXMoKX0sYS5wcm90b3R5cGUuYWRkTGF5ZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5zdHlsZS5hZGRMYXllcih0LGUpLHRoaXMuX3VwZGF0ZSghMCl9LGEucHJvdG90eXBlLm1vdmVMYXllcj1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnN0eWxlLm1vdmVMYXllcih0LGUpLHRoaXMuX3VwZGF0ZSghMCl9LGEucHJvdG90eXBlLnJlbW92ZUxheWVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnN0eWxlLnJlbW92ZUxheWVyKHQpLHRoaXMuX3VwZGF0ZSghMCl9LGEucHJvdG90eXBlLmdldExheWVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnN0eWxlLmdldExheWVyKHQpfSxhLnByb3RvdHlwZS5zZXRGaWx0ZXI9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB2b2lkIDA9PT1yJiYocj17fSksdGhpcy5zdHlsZS5zZXRGaWx0ZXIodCxlLHIpLHRoaXMuX3VwZGF0ZSghMCl9LGEucHJvdG90eXBlLnNldExheWVyWm9vbVJhbmdlPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHlsZS5zZXRMYXllclpvb21SYW5nZSh0LGUsciksdGhpcy5fdXBkYXRlKCEwKX0sYS5wcm90b3R5cGUuZ2V0RmlsdGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnN0eWxlLmdldEZpbHRlcih0KX0sYS5wcm90b3R5cGUuc2V0UGFpbnRQcm9wZXJ0eT1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdm9pZCAwPT09biYmKG49e30pLHRoaXMuc3R5bGUuc2V0UGFpbnRQcm9wZXJ0eSh0LGUscixuKSx0aGlzLl91cGRhdGUoITApfSxhLnByb3RvdHlwZS5nZXRQYWludFByb3BlcnR5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuc3R5bGUuZ2V0UGFpbnRQcm9wZXJ0eSh0LGUpfSxhLnByb3RvdHlwZS5zZXRMYXlvdXRQcm9wZXJ0eT1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdm9pZCAwPT09biYmKG49e30pLHRoaXMuc3R5bGUuc2V0TGF5b3V0UHJvcGVydHkodCxlLHIsbiksdGhpcy5fdXBkYXRlKCEwKX0sYS5wcm90b3R5cGUuZ2V0TGF5b3V0UHJvcGVydHk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5zdHlsZS5nZXRMYXlvdXRQcm9wZXJ0eSh0LGUpfSxhLnByb3RvdHlwZS5zZXRMaWdodD1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT17fSksdGhpcy5zdHlsZS5zZXRMaWdodCh0LGUpLHRoaXMuX3VwZGF0ZSghMCl9LGEucHJvdG90eXBlLmdldExpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3R5bGUuZ2V0TGlnaHQoKX0sYS5wcm90b3R5cGUuc2V0RmVhdHVyZVN0YXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuc3R5bGUuc2V0RmVhdHVyZVN0YXRlKHQsZSksdGhpcy5fdXBkYXRlKCl9LGEucHJvdG90eXBlLnJlbW92ZUZlYXR1cmVTdGF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnN0eWxlLnJlbW92ZUZlYXR1cmVTdGF0ZSh0LGUpLHRoaXMuX3VwZGF0ZSgpfSxhLnByb3RvdHlwZS5nZXRGZWF0dXJlU3RhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuc3R5bGUuZ2V0RmVhdHVyZVN0YXRlKHQpfSxhLnByb3RvdHlwZS5nZXRDb250YWluZXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY29udGFpbmVyfSxhLnByb3RvdHlwZS5nZXRDYW52YXNDb250YWluZXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2FudmFzQ29udGFpbmVyfSxhLnByb3RvdHlwZS5nZXRDYW52YXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2FudmFzfSxhLnByb3RvdHlwZS5fY29udGFpbmVyRGltZW5zaW9ucz1mdW5jdGlvbigpe3ZhciB0PTAsZT0wO3JldHVybiB0aGlzLl9jb250YWluZXImJih0PXRoaXMuX2NvbnRhaW5lci5jbGllbnRXaWR0aHx8NDAwLGU9dGhpcy5fY29udGFpbmVyLmNsaWVudEhlaWdodHx8MzAwKSxbdCxlXX0sYS5wcm90b3R5cGUuX2RldGVjdE1pc3NpbmdDU1M9ZnVuY3Rpb24oKXsicmdiKDI1MCwgMTI4LCAxMTQpIiE9PXQud2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5fbWlzc2luZ0NTU0NhbmFyeSkuZ2V0UHJvcGVydHlWYWx1ZSgiYmFja2dyb3VuZC1jb2xvciIpJiZ0Lndhcm5PbmNlKCJUaGlzIHBhZ2UgYXBwZWFycyB0byBiZSBtaXNzaW5nIENTUyBkZWNsYXJhdGlvbnMgZm9yIE1hcGJveCBHTCBKUywgd2hpY2ggbWF5IGNhdXNlIHRoZSBtYXAgdG8gZGlzcGxheSBpbmNvcnJlY3RseS4gUGxlYXNlIGVuc3VyZSB5b3VyIHBhZ2UgaW5jbHVkZXMgbWFwYm94LWdsLmNzcywgYXMgZGVzY3JpYmVkIGluIGh0dHBzOi8vd3d3Lm1hcGJveC5jb20vbWFwYm94LWdsLWpzL2FwaS8uIil9LGEucHJvdG90eXBlLl9zZXR1cENvbnRhaW5lcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2NvbnRhaW5lcjt0LmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLW1hcCIpLCh0aGlzLl9taXNzaW5nQ1NTQ2FuYXJ5PXIuY3JlYXRlKCJkaXYiLCJtYXBib3hnbC1jYW5hcnkiLHQpKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLHRoaXMuX2RldGVjdE1pc3NpbmdDU1MoKTt2YXIgZT10aGlzLl9jYW52YXNDb250YWluZXI9ci5jcmVhdGUoImRpdiIsIm1hcGJveGdsLWNhbnZhcy1jb250YWluZXIiLHQpO3RoaXMuX2ludGVyYWN0aXZlJiZlLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWludGVyYWN0aXZlIiksdGhpcy5fY2FudmFzPXIuY3JlYXRlKCJjYW52YXMiLCJtYXBib3hnbC1jYW52YXMiLGUpLHRoaXMuX2NhbnZhcy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHRoaXMuX2NhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ3ZWJnbGNvbnRleHRsb3N0Iix0aGlzLl9jb250ZXh0TG9zdCwhMSksdGhpcy5fY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dHJlc3RvcmVkIix0aGlzLl9jb250ZXh0UmVzdG9yZWQsITEpLHRoaXMuX2NhbnZhcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLHRoaXMuX2NhbnZhcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCJNYXAiKTt2YXIgbj10aGlzLl9jb250YWluZXJEaW1lbnNpb25zKCk7dGhpcy5fcmVzaXplQ2FudmFzKG5bMF0sblsxXSk7dmFyIGE9dGhpcy5fY29udHJvbENvbnRhaW5lcj1yLmNyZWF0ZSgiZGl2IiwibWFwYm94Z2wtY29udHJvbC1jb250YWluZXIiLHQpLGk9dGhpcy5fY29udHJvbFBvc2l0aW9ucz17fTtbInRvcC1sZWZ0IiwidG9wLXJpZ2h0IiwiYm90dG9tLWxlZnQiLCJib3R0b20tcmlnaHQiXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lbdF09ci5jcmVhdGUoImRpdiIsIm1hcGJveGdsLWN0cmwtIit0LGEpfSl9LGEucHJvdG90eXBlLl9yZXNpemVDYW52YXM9ZnVuY3Rpb24oZSxyKXt2YXIgbj10LndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxO3RoaXMuX2NhbnZhcy53aWR0aD1uKmUsdGhpcy5fY2FudmFzLmhlaWdodD1uKnIsdGhpcy5fY2FudmFzLnN0eWxlLndpZHRoPWUrInB4Iix0aGlzLl9jYW52YXMuc3R5bGUuaGVpZ2h0PXIrInB4In0sYS5wcm90b3R5cGUuX3NldHVwUGFpbnRlcj1mdW5jdGlvbigpe3ZhciByPXQuZXh0ZW5kKHt9LGUud2ViR0xDb250ZXh0QXR0cmlidXRlcyx7ZmFpbElmTWFqb3JQZXJmb3JtYW5jZUNhdmVhdDp0aGlzLl9mYWlsSWZNYWpvclBlcmZvcm1hbmNlQ2F2ZWF0LHByZXNlcnZlRHJhd2luZ0J1ZmZlcjp0aGlzLl9wcmVzZXJ2ZURyYXdpbmdCdWZmZXIsYW50aWFsaWFzOnRoaXMuX2FudGlhbGlhc3x8ITF9KSxuPXRoaXMuX2NhbnZhcy5nZXRDb250ZXh0KCJ3ZWJnbCIscil8fHRoaXMuX2NhbnZhcy5nZXRDb250ZXh0KCJleHBlcmltZW50YWwtd2ViZ2wiLHIpO24/KHRoaXMucGFpbnRlcj1uZXcgb24obix0aGlzLnRyYW5zZm9ybSksdC53ZWJwU3VwcG9ydGVkLnRlc3RTdXBwb3J0KG4pKTp0aGlzLmZpcmUobmV3IHQuRXJyb3JFdmVudChuZXcgRXJyb3IoIkZhaWxlZCB0byBpbml0aWFsaXplIFdlYkdMIikpKX0sYS5wcm90b3R5cGUuX2NvbnRleHRMb3N0PWZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSx0aGlzLl9mcmFtZSYmKHRoaXMuX2ZyYW1lLmNhbmNlbCgpLHRoaXMuX2ZyYW1lPW51bGwpLHRoaXMuZmlyZShuZXcgdC5FdmVudCgid2ViZ2xjb250ZXh0bG9zdCIse29yaWdpbmFsRXZlbnQ6ZX0pKX0sYS5wcm90b3R5cGUuX2NvbnRleHRSZXN0b3JlZD1mdW5jdGlvbihlKXt0aGlzLl9zZXR1cFBhaW50ZXIoKSx0aGlzLnJlc2l6ZSgpLHRoaXMuX3VwZGF0ZSgpLHRoaXMuZmlyZShuZXcgdC5FdmVudCgid2ViZ2xjb250ZXh0cmVzdG9yZWQiLHtvcmlnaW5hbEV2ZW50OmV9KSl9LGEucHJvdG90eXBlLmxvYWRlZD1mdW5jdGlvbigpe3JldHVybiF0aGlzLl9zdHlsZURpcnR5JiYhdGhpcy5fc291cmNlc0RpcnR5JiYhIXRoaXMuc3R5bGUmJnRoaXMuc3R5bGUubG9hZGVkKCl9LGEucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuc3R5bGU/KHRoaXMuX3N0eWxlRGlydHk9dGhpcy5fc3R5bGVEaXJ0eXx8dCx0aGlzLl9zb3VyY2VzRGlydHk9ITAsdGhpcy50cmlnZ2VyUmVwYWludCgpLHRoaXMpOnRoaXN9LGEucHJvdG90eXBlLl9yZXF1ZXN0UmVuZGVyRnJhbWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3VwZGF0ZSgpLHRoaXMuX3JlbmRlclRhc2tRdWV1ZS5hZGQodCl9LGEucHJvdG90eXBlLl9jYW5jZWxSZW5kZXJGcmFtZT1mdW5jdGlvbih0KXt0aGlzLl9yZW5kZXJUYXNrUXVldWUucmVtb3ZlKHQpfSxhLnByb3RvdHlwZS5fcmVuZGVyPWZ1bmN0aW9uKCl7dGhpcy5wYWludGVyLmNvbnRleHQuc2V0RGlydHkoKSx0aGlzLnBhaW50ZXIuc2V0QmFzZVN0YXRlKCksdGhpcy5fcmVuZGVyVGFza1F1ZXVlLnJ1bigpO3ZhciBlPSExO2lmKHRoaXMuc3R5bGUmJnRoaXMuX3N0eWxlRGlydHkpe3RoaXMuX3N0eWxlRGlydHk9ITE7dmFyIHI9dGhpcy50cmFuc2Zvcm0uem9vbSxuPXQuYnJvd3Nlci5ub3coKTt0aGlzLnN0eWxlLnpvb21IaXN0b3J5LnVwZGF0ZShyLG4pO3ZhciBhPW5ldyB0LkV2YWx1YXRpb25QYXJhbWV0ZXJzKHIse25vdzpuLGZhZGVEdXJhdGlvbjp0aGlzLl9mYWRlRHVyYXRpb24sem9vbUhpc3Rvcnk6dGhpcy5zdHlsZS56b29tSGlzdG9yeSx0cmFuc2l0aW9uOnRoaXMuc3R5bGUuZ2V0VHJhbnNpdGlvbigpfSksaT1hLmNyb3NzRmFkaW5nRmFjdG9yKCk7MT09PWkmJmk9PT10aGlzLl9jcm9zc0ZhZGluZ0ZhY3Rvcnx8KGU9ITAsdGhpcy5fY3Jvc3NGYWRpbmdGYWN0b3I9aSksdGhpcy5zdHlsZS51cGRhdGUoYSl9cmV0dXJuIHRoaXMuc3R5bGUmJnRoaXMuX3NvdXJjZXNEaXJ0eSYmKHRoaXMuX3NvdXJjZXNEaXJ0eT0hMSx0aGlzLnN0eWxlLl91cGRhdGVTb3VyY2VzKHRoaXMudHJhbnNmb3JtKSksdGhpcy5fcGxhY2VtZW50RGlydHk9dGhpcy5zdHlsZSYmdGhpcy5zdHlsZS5fdXBkYXRlUGxhY2VtZW50KHRoaXMucGFpbnRlci50cmFuc2Zvcm0sdGhpcy5zaG93Q29sbGlzaW9uQm94ZXMsdGhpcy5fZmFkZUR1cmF0aW9uLHRoaXMuX2Nyb3NzU291cmNlQ29sbGlzaW9ucyksdGhpcy5wYWludGVyLnJlbmRlcih0aGlzLnN0eWxlLHtzaG93VGlsZUJvdW5kYXJpZXM6dGhpcy5zaG93VGlsZUJvdW5kYXJpZXMsc2hvd092ZXJkcmF3SW5zcGVjdG9yOnRoaXMuX3Nob3dPdmVyZHJhd0luc3BlY3Rvcixyb3RhdGluZzp0aGlzLmlzUm90YXRpbmcoKSx6b29taW5nOnRoaXMuaXNab29taW5nKCksbW92aW5nOnRoaXMuaXNNb3ZpbmcoKSxmYWRlRHVyYXRpb246dGhpcy5fZmFkZUR1cmF0aW9ufSksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJyZW5kZXIiKSksdGhpcy5sb2FkZWQoKSYmIXRoaXMuX2xvYWRlZCYmKHRoaXMuX2xvYWRlZD0hMCx0aGlzLmZpcmUobmV3IHQuRXZlbnQoImxvYWQiKSkpLHRoaXMuc3R5bGUmJih0aGlzLnN0eWxlLmhhc1RyYW5zaXRpb25zKCl8fGUpJiYodGhpcy5fc3R5bGVEaXJ0eT0hMCksdGhpcy5zdHlsZSYmIXRoaXMuX3BsYWNlbWVudERpcnR5JiZ0aGlzLnN0eWxlLl9yZWxlYXNlU3ltYm9sRmFkZVRpbGVzKCksdGhpcy5fc291cmNlc0RpcnR5fHx0aGlzLl9yZXBhaW50fHx0aGlzLl9zdHlsZURpcnR5fHx0aGlzLl9wbGFjZW1lbnREaXJ0eT90aGlzLnRyaWdnZXJSZXBhaW50KCk6IXRoaXMuaXNNb3ZpbmcoKSYmdGhpcy5sb2FkZWQoKSYmdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJpZGxlIikpLHRoaXN9LGEucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe3RoaXMuX2hhc2gmJnRoaXMuX2hhc2gucmVtb3ZlKCk7Zm9yKHZhciBlPTAscj10aGlzLl9jb250cm9scztlPHIubGVuZ3RoO2UrPTEpcltlXS5vblJlbW92ZSh0aGlzKTt0aGlzLl9jb250cm9scz1bXSx0aGlzLl9mcmFtZSYmKHRoaXMuX2ZyYW1lLmNhbmNlbCgpLHRoaXMuX2ZyYW1lPW51bGwpLHRoaXMuX3JlbmRlclRhc2tRdWV1ZS5jbGVhcigpLHRoaXMuc2V0U3R5bGUobnVsbCksdm9pZCAwIT09dC53aW5kb3cmJih0LndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX29uV2luZG93UmVzaXplLCExKSx0LndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLHRoaXMuX29uV2luZG93T25saW5lLCExKSk7dmFyIG49dGhpcy5wYWludGVyLmNvbnRleHQuZ2wuZ2V0RXh0ZW5zaW9uKCJXRUJHTF9sb3NlX2NvbnRleHQiKTtuJiZuLmxvc2VDb250ZXh0KCksUm4odGhpcy5fY2FudmFzQ29udGFpbmVyKSxSbih0aGlzLl9jb250cm9sQ29udGFpbmVyKSxSbih0aGlzLl9taXNzaW5nQ1NTQ2FuYXJ5KSx0aGlzLl9jb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtbWFwIiksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJyZW1vdmUiKSl9LGEucHJvdG90eXBlLnRyaWdnZXJSZXBhaW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLnN0eWxlJiYhdGhpcy5fZnJhbWUmJih0aGlzLl9mcmFtZT10LmJyb3dzZXIuZnJhbWUoZnVuY3Rpb24oKXtlLl9mcmFtZT1udWxsLGUuX3JlbmRlcigpfSkpfSxhLnByb3RvdHlwZS5fb25XaW5kb3dPbmxpbmU9ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGUoKX0sYS5wcm90b3R5cGUuX29uV2luZG93UmVzaXplPWZ1bmN0aW9uKCl7dGhpcy5fdHJhY2tSZXNpemUmJnRoaXMucmVzaXplKCkuX3VwZGF0ZSgpfSxpLnNob3dUaWxlQm91bmRhcmllcy5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuX3Nob3dUaWxlQm91bmRhcmllc30saS5zaG93VGlsZUJvdW5kYXJpZXMuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3Nob3dUaWxlQm91bmRhcmllcyE9PXQmJih0aGlzLl9zaG93VGlsZUJvdW5kYXJpZXM9dCx0aGlzLl91cGRhdGUoKSl9LGkuc2hvd0NvbGxpc2lvbkJveGVzLmdldD1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5fc2hvd0NvbGxpc2lvbkJveGVzfSxpLnNob3dDb2xsaXNpb25Cb3hlcy5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fc2hvd0NvbGxpc2lvbkJveGVzIT09dCYmKHRoaXMuX3Nob3dDb2xsaXNpb25Cb3hlcz10LHQ/dGhpcy5zdHlsZS5fZ2VuZXJhdGVDb2xsaXNpb25Cb3hlcygpOnRoaXMuX3VwZGF0ZSgpKX0saS5zaG93T3ZlcmRyYXdJbnNwZWN0b3IuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9zaG93T3ZlcmRyYXdJbnNwZWN0b3J9LGkuc2hvd092ZXJkcmF3SW5zcGVjdG9yLnNldD1mdW5jdGlvbih0KXt0aGlzLl9zaG93T3ZlcmRyYXdJbnNwZWN0b3IhPT10JiYodGhpcy5fc2hvd092ZXJkcmF3SW5zcGVjdG9yPXQsdGhpcy5fdXBkYXRlKCkpfSxpLnJlcGFpbnQuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9yZXBhaW50fSxpLnJlcGFpbnQuc2V0PWZ1bmN0aW9uKHQpe3RoaXMuX3JlcGFpbnQhPT10JiYodGhpcy5fcmVwYWludD10LHRoaXMudHJpZ2dlclJlcGFpbnQoKSl9LGkudmVydGljZXMuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl92ZXJ0aWNlc30saS52ZXJ0aWNlcy5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fdmVydGljZXM9dCx0aGlzLl91cGRhdGUoKX0sYS5wcm90b3R5cGUuX3NldENhY2hlTGltaXRzPWZ1bmN0aW9uKGUscil7dC5zZXRDYWNoZUxpbWl0cyhlLHIpfSxpLnZlcnNpb24uZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHQudmVyc2lvbn0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYS5wcm90b3R5cGUsaSksYX0oRW4pO2Z1bmN0aW9uIFJuKHQpe3QucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpfXZhciBGbj17c2hvd0NvbXBhc3M6ITAsc2hvd1pvb206ITAsdmlzdWFsaXplUGl0Y2g6ITF9LEJuPWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXM7dGhpcy5vcHRpb25zPXQuZXh0ZW5kKHt9LEZuLGUpLHRoaXMuX2NvbnRhaW5lcj1yLmNyZWF0ZSgiZGl2IiwibWFwYm94Z2wtY3RybCBtYXBib3hnbC1jdHJsLWdyb3VwIiksdGhpcy5fY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IixmdW5jdGlvbih0KXtyZXR1cm4gdC5wcmV2ZW50RGVmYXVsdCgpfSksdGhpcy5vcHRpb25zLnNob3dab29tJiYodC5iaW5kQWxsKFsiX3VwZGF0ZVpvb21CdXR0b25zIl0sdGhpcyksdGhpcy5fem9vbUluQnV0dG9uPXRoaXMuX2NyZWF0ZUJ1dHRvbigibWFwYm94Z2wtY3RybC1pY29uIG1hcGJveGdsLWN0cmwtem9vbS1pbiIsIlpvb20gaW4iLGZ1bmN0aW9uKCl7cmV0dXJuIG4uX21hcC56b29tSW4oKX0pLHRoaXMuX3pvb21PdXRCdXR0b249dGhpcy5fY3JlYXRlQnV0dG9uKCJtYXBib3hnbC1jdHJsLWljb24gbWFwYm94Z2wtY3RybC16b29tLW91dCIsIlpvb20gb3V0IixmdW5jdGlvbigpe3JldHVybiBuLl9tYXAuem9vbU91dCgpfSkpLHRoaXMub3B0aW9ucy5zaG93Q29tcGFzcyYmKHQuYmluZEFsbChbIl9yb3RhdGVDb21wYXNzQXJyb3ciXSx0aGlzKSx0aGlzLl9jb21wYXNzPXRoaXMuX2NyZWF0ZUJ1dHRvbigibWFwYm94Z2wtY3RybC1pY29uIG1hcGJveGdsLWN0cmwtY29tcGFzcyIsIlJlc2V0IGJlYXJpbmcgdG8gbm9ydGgiLGZ1bmN0aW9uKCl7bi5vcHRpb25zLnZpc3VhbGl6ZVBpdGNoP24uX21hcC5yZXNldE5vcnRoUGl0Y2goKTpuLl9tYXAucmVzZXROb3J0aCgpfSksdGhpcy5fY29tcGFzc0Fycm93PXIuY3JlYXRlKCJzcGFuIiwibWFwYm94Z2wtY3RybC1jb21wYXNzLWFycm93Iix0aGlzLl9jb21wYXNzKSl9O2Z1bmN0aW9uIE5uKGUscixuKXtpZihlPW5ldyB0LkxuZ0xhdChlLmxuZyxlLmxhdCkscil7dmFyIGE9bmV3IHQuTG5nTGF0KGUubG5nLTM2MCxlLmxhdCksaT1uZXcgdC5MbmdMYXQoZS5sbmcrMzYwLGUubGF0KSxvPW4ubG9jYXRpb25Qb2ludChlKS5kaXN0U3FyKHIpO24ubG9jYXRpb25Qb2ludChhKS5kaXN0U3FyKHIpPG8/ZT1hOm4ubG9jYXRpb25Qb2ludChpKS5kaXN0U3FyKHIpPG8mJihlPWkpfWZvcig7TWF0aC5hYnMoZS5sbmctbi5jZW50ZXIubG5nKT4xODA7KXt2YXIgcz1uLmxvY2F0aW9uUG9pbnQoZSk7aWYocy54Pj0wJiZzLnk+PTAmJnMueDw9bi53aWR0aCYmcy55PD1uLmhlaWdodClicmVhaztlLmxuZz5uLmNlbnRlci5sbmc/ZS5sbmctPTM2MDplLmxuZys9MzYwfXJldHVybiBlfUJuLnByb3RvdHlwZS5fdXBkYXRlWm9vbUJ1dHRvbnM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9tYXAuZ2V0Wm9vbSgpO3Q9PT10aGlzLl9tYXAuZ2V0TWF4Wm9vbSgpP3RoaXMuX3pvb21JbkJ1dHRvbi5jbGFzc0xpc3QuYWRkKCJtYXBib3hnbC1jdHJsLWljb24tZGlzYWJsZWQiKTp0aGlzLl96b29tSW5CdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1pY29uLWRpc2FibGVkIiksdD09PXRoaXMuX21hcC5nZXRNaW5ab29tKCk/dGhpcy5fem9vbU91dEJ1dHRvbi5jbGFzc0xpc3QuYWRkKCJtYXBib3hnbC1jdHJsLWljb24tZGlzYWJsZWQiKTp0aGlzLl96b29tT3V0QnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLWN0cmwtaWNvbi1kaXNhYmxlZCIpfSxCbi5wcm90b3R5cGUuX3JvdGF0ZUNvbXBhc3NBcnJvdz1mdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucy52aXN1YWxpemVQaXRjaD8ic2NhbGUoIisxL01hdGgucG93KE1hdGguY29zKHRoaXMuX21hcC50cmFuc2Zvcm0ucGl0Y2gqKE1hdGguUEkvMTgwKSksLjUpKyIpIHJvdGF0ZVgoIit0aGlzLl9tYXAudHJhbnNmb3JtLnBpdGNoKyJkZWcpIHJvdGF0ZVooIit0aGlzLl9tYXAudHJhbnNmb3JtLmFuZ2xlKigxODAvTWF0aC5QSSkrImRlZykiOiJyb3RhdGUoIit0aGlzLl9tYXAudHJhbnNmb3JtLmFuZ2xlKigxODAvTWF0aC5QSSkrImRlZykiO3RoaXMuX2NvbXBhc3NBcnJvdy5zdHlsZS50cmFuc2Zvcm09dH0sQm4ucHJvdG90eXBlLm9uQWRkPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9tYXA9dCx0aGlzLm9wdGlvbnMuc2hvd1pvb20mJih0aGlzLl9tYXAub24oInpvb20iLHRoaXMuX3VwZGF0ZVpvb21CdXR0b25zKSx0aGlzLl91cGRhdGVab29tQnV0dG9ucygpKSx0aGlzLm9wdGlvbnMuc2hvd0NvbXBhc3MmJih0aGlzLm9wdGlvbnMudmlzdWFsaXplUGl0Y2gmJnRoaXMuX21hcC5vbigicGl0Y2giLHRoaXMuX3JvdGF0ZUNvbXBhc3NBcnJvdyksdGhpcy5fbWFwLm9uKCJyb3RhdGUiLHRoaXMuX3JvdGF0ZUNvbXBhc3NBcnJvdyksdGhpcy5fcm90YXRlQ29tcGFzc0Fycm93KCksdGhpcy5faGFuZGxlcj1uZXcgeG4odCx7YnV0dG9uOiJsZWZ0IixlbGVtZW50OnRoaXMuX2NvbXBhc3N9KSxyLmFkZEV2ZW50TGlzdGVuZXIodGhpcy5fY29tcGFzcywibW91c2Vkb3duIix0aGlzLl9oYW5kbGVyLm9uTW91c2VEb3duKSxyLmFkZEV2ZW50TGlzdGVuZXIodGhpcy5fY29tcGFzcywidG91Y2hzdGFydCIsdGhpcy5faGFuZGxlci5vbk1vdXNlRG93bix7cGFzc2l2ZTohMX0pLHRoaXMuX2hhbmRsZXIuZW5hYmxlKCkpLHRoaXMuX2NvbnRhaW5lcn0sQm4ucHJvdG90eXBlLm9uUmVtb3ZlPWZ1bmN0aW9uKCl7ci5yZW1vdmUodGhpcy5fY29udGFpbmVyKSx0aGlzLm9wdGlvbnMuc2hvd1pvb20mJnRoaXMuX21hcC5vZmYoInpvb20iLHRoaXMuX3VwZGF0ZVpvb21CdXR0b25zKSx0aGlzLm9wdGlvbnMuc2hvd0NvbXBhc3MmJih0aGlzLm9wdGlvbnMudmlzdWFsaXplUGl0Y2gmJnRoaXMuX21hcC5vZmYoInBpdGNoIix0aGlzLl9yb3RhdGVDb21wYXNzQXJyb3cpLHRoaXMuX21hcC5vZmYoInJvdGF0ZSIsdGhpcy5fcm90YXRlQ29tcGFzc0Fycm93KSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIodGhpcy5fY29tcGFzcywibW91c2Vkb3duIix0aGlzLl9oYW5kbGVyLm9uTW91c2VEb3duKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIodGhpcy5fY29tcGFzcywidG91Y2hzdGFydCIsdGhpcy5faGFuZGxlci5vbk1vdXNlRG93bix7cGFzc2l2ZTohMX0pLHRoaXMuX2hhbmRsZXIuZGlzYWJsZSgpLGRlbGV0ZSB0aGlzLl9oYW5kbGVyKSxkZWxldGUgdGhpcy5fbWFwfSxCbi5wcm90b3R5cGUuX2NyZWF0ZUJ1dHRvbj1mdW5jdGlvbih0LGUsbil7dmFyIGE9ci5jcmVhdGUoImJ1dHRvbiIsdCx0aGlzLl9jb250YWluZXIpO3JldHVybiBhLnR5cGU9ImJ1dHRvbiIsYS50aXRsZT1lLGEuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixlKSxhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuKSxhfTt2YXIgam49e2NlbnRlcjoidHJhbnNsYXRlKC01MCUsLTUwJSkiLHRvcDoidHJhbnNsYXRlKC01MCUsMCkiLCJ0b3AtbGVmdCI6InRyYW5zbGF0ZSgwLDApIiwidG9wLXJpZ2h0IjoidHJhbnNsYXRlKC0xMDAlLDApIixib3R0b206InRyYW5zbGF0ZSgtNTAlLC0xMDAlKSIsImJvdHRvbS1sZWZ0IjoidHJhbnNsYXRlKDAsLTEwMCUpIiwiYm90dG9tLXJpZ2h0IjoidHJhbnNsYXRlKC0xMDAlLC0xMDAlKSIsbGVmdDoidHJhbnNsYXRlKDAsLTUwJSkiLHJpZ2h0OiJ0cmFuc2xhdGUoLTEwMCUsLTUwJSkifTtmdW5jdGlvbiBWbih0LGUscil7dmFyIG49dC5jbGFzc0xpc3Q7Zm9yKHZhciBhIGluIGpuKW4ucmVtb3ZlKCJtYXBib3hnbC0iK3IrIi1hbmNob3ItIithKTtuLmFkZCgibWFwYm94Z2wtIityKyItYW5jaG9yLSIrZSl9dmFyIFVuLHFuPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4obixhKXtpZihlLmNhbGwodGhpcyksKG4gaW5zdGFuY2VvZiB0LndpbmRvdy5IVE1MRWxlbWVudHx8YSkmJihuPXQuZXh0ZW5kKHtlbGVtZW50Om59LGEpKSx0LmJpbmRBbGwoWyJfdXBkYXRlIiwiX29uTW92ZSIsIl9vblVwIiwiX2FkZERyYWdIYW5kbGVyIiwiX29uTWFwQ2xpY2siXSx0aGlzKSx0aGlzLl9hbmNob3I9biYmbi5hbmNob3J8fCJjZW50ZXIiLHRoaXMuX2NvbG9yPW4mJm4uY29sb3J8fCIjM0ZCMUNFIix0aGlzLl9kcmFnZ2FibGU9biYmbi5kcmFnZ2FibGV8fCExLHRoaXMuX3N0YXRlPSJpbmFjdGl2ZSIsbiYmbi5lbGVtZW50KXRoaXMuX2VsZW1lbnQ9bi5lbGVtZW50LHRoaXMuX29mZnNldD10LlBvaW50LmNvbnZlcnQobiYmbi5vZmZzZXR8fFswLDBdKTtlbHNle3RoaXMuX2RlZmF1bHRNYXJrZXI9ITAsdGhpcy5fZWxlbWVudD1yLmNyZWF0ZSgiZGl2Iik7dmFyIGk9ci5jcmVhdGVOUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJzdmciKTtpLnNldEF0dHJpYnV0ZU5TKG51bGwsImRpc3BsYXkiLCJibG9jayIpLGkuc2V0QXR0cmlidXRlTlMobnVsbCwiaGVpZ2h0IiwiNDFweCIpLGkuc2V0QXR0cmlidXRlTlMobnVsbCwid2lkdGgiLCIyN3B4IiksaS5zZXRBdHRyaWJ1dGVOUyhudWxsLCJ2aWV3Qm94IiwiMCAwIDI3IDQxIik7dmFyIG89ci5jcmVhdGVOUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJnIik7by5zZXRBdHRyaWJ1dGVOUyhudWxsLCJzdHJva2UiLCJub25lIiksby5zZXRBdHRyaWJ1dGVOUyhudWxsLCJzdHJva2Utd2lkdGgiLCIxIiksby5zZXRBdHRyaWJ1dGVOUyhudWxsLCJmaWxsIiwibm9uZSIpLG8uc2V0QXR0cmlidXRlTlMobnVsbCwiZmlsbC1ydWxlIiwiZXZlbm9kZCIpO3ZhciBzPXIuY3JlYXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpO3Muc2V0QXR0cmlidXRlTlMobnVsbCwiZmlsbC1ydWxlIiwibm9uemVybyIpO3ZhciBsPXIuY3JlYXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpO2wuc2V0QXR0cmlidXRlTlMobnVsbCwidHJhbnNmb3JtIiwidHJhbnNsYXRlKDMuMCwgMjkuMCkiKSxsLnNldEF0dHJpYnV0ZU5TKG51bGwsImZpbGwiLCIjMDAwMDAwIik7Zm9yKHZhciBjPTAsdT1be3J4OiIxMC41IixyeToiNS4yNTAwMjI3MyJ9LHtyeDoiMTAuNSIscnk6IjUuMjUwMDIyNzMifSx7cng6IjkuNSIscnk6IjQuNzcyNzUwMDcifSx7cng6IjguNSIscnk6IjQuMjk1NDk5MzYifSx7cng6IjcuNSIscnk6IjMuODE4MjIzMDgifSx7cng6IjYuNSIscnk6IjMuMzQwOTQ2NzkifSx7cng6IjUuNSIscnk6IjIuODYzNjcwNTEifSx7cng6IjQuNSIscnk6IjIuMzg2MzY4NjQifV07Yzx1Lmxlbmd0aDtjKz0xKXt2YXIgaD11W2NdLGY9ci5jcmVhdGVOUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJlbGxpcHNlIik7Zi5zZXRBdHRyaWJ1dGVOUyhudWxsLCJvcGFjaXR5IiwiMC4wNCIpLGYuc2V0QXR0cmlidXRlTlMobnVsbCwiY3giLCIxMC41IiksZi5zZXRBdHRyaWJ1dGVOUyhudWxsLCJjeSIsIjUuODAwMjkwMDgiKSxmLnNldEF0dHJpYnV0ZU5TKG51bGwsInJ4IixoLnJ4KSxmLnNldEF0dHJpYnV0ZU5TKG51bGwsInJ5IixoLnJ5KSxsLmFwcGVuZENoaWxkKGYpfXZhciBwPXIuY3JlYXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpO3Auc2V0QXR0cmlidXRlTlMobnVsbCwiZmlsbCIsdGhpcy5fY29sb3IpO3ZhciBkPXIuY3JlYXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwicGF0aCIpO2Quc2V0QXR0cmlidXRlTlMobnVsbCwiZCIsIk0yNywxMy41IEMyNywxOS4wNzQ2NDQgMjAuMjUwMDAxLDI3LjAwMDAwMiAxNC43NSwzNC41MDAwMDIgQzE0LjAxNjY2NSwzNS41MDAwMDQgMTIuOTgzMzM1LDM1LjUwMDAwNCAxMi4yNSwzNC41MDAwMDIgQzYuNzQ5OTk5MywyNy4wMDAwMDIgMCwxOS4yMjI1NjIgMCwxMy41IEMwLDYuMDQ0MTU1OSA2LjA0NDE1NTksMCAxMy41LDAgQzIwLjk1NTg0NCwwIDI3LDYuMDQ0MTU1OSAyNywxMy41IFoiKSxwLmFwcGVuZENoaWxkKGQpO3ZhciBnPXIuY3JlYXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpO2cuc2V0QXR0cmlidXRlTlMobnVsbCwib3BhY2l0eSIsIjAuMjUiKSxnLnNldEF0dHJpYnV0ZU5TKG51bGwsImZpbGwiLCIjMDAwMDAwIik7dmFyIHY9ci5jcmVhdGVOUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJwYXRoIik7di5zZXRBdHRyaWJ1dGVOUyhudWxsLCJkIiwiTTEzLjUsMCBDNi4wNDQxNTU5LDAgMCw2LjA0NDE1NTkgMCwxMy41IEMwLDE5LjIyMjU2MiA2Ljc0OTk5OTMsMjcgMTIuMjUsMzQuNSBDMTMsMzUuNTIyNzI3IDE0LjAxNjY2NCwzNS41MDAwMDQgMTQuNzUsMzQuNSBDMjAuMjUwMDAxLDI3IDI3LDE5LjA3NDY0NCAyNywxMy41IEMyNyw2LjA0NDE1NTkgMjAuOTU1ODQ0LDAgMTMuNSwwIFogTTEzLjUsMSBDMjAuNDE1NDA0LDEgMjYsNi41ODQ1OTYgMjYsMTMuNSBDMjYsMTUuODk4NjU3IDI0LjQ5NTU4NCwxOS4xODE0MzEgMjIuMjIwNzAzLDIyLjczODI4MSBDMTkuOTQ1ODIzLDI2LjI5NTEzMiAxNi43MDUxMTksMzAuMTQyMTY3IDEzLjk0MzM1OSwzMy45MDgyMDMgQzEzLjc0MzQ0NSwzNC4xODA4MTQgMTMuNjEyNzE1LDM0LjMyMjczOCAxMy41LDM0LjQ0MTQwNiBDMTMuMzg3Mjg1LDM0LjMyMjczOCAxMy4yNTY1NTUsMzQuMTgwODE0IDEzLjA1NjY0MSwzMy45MDgyMDMgQzEwLjI4NDQ4MSwzMC4xMjc5ODUgNy40MTQ4Njg0LDI2LjMxNDE1OSA1LjAxNTYyNSwyMi43NzM0MzggQzIuNjE2MzgxNiwxOS4yMzI3MTUgMSwxNS45NTM1MzggMSwxMy41IEMxLDYuNTg0NTk2IDYuNTg0NTk2LDEgMTMuNSwxIFoiKSxnLmFwcGVuZENoaWxkKHYpO3ZhciBtPXIuY3JlYXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpO20uc2V0QXR0cmlidXRlTlMobnVsbCwidHJhbnNmb3JtIiwidHJhbnNsYXRlKDYuMCwgNy4wKSIpLG0uc2V0QXR0cmlidXRlTlMobnVsbCwiZmlsbCIsIiNGRkZGRkYiKTt2YXIgeT1yLmNyZWF0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImciKTt5LnNldEF0dHJpYnV0ZU5TKG51bGwsInRyYW5zZm9ybSIsInRyYW5zbGF0ZSg4LjAsIDguMCkiKTt2YXIgeD1yLmNyZWF0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImNpcmNsZSIpO3guc2V0QXR0cmlidXRlTlMobnVsbCwiZmlsbCIsIiMwMDAwMDAiKSx4LnNldEF0dHJpYnV0ZU5TKG51bGwsIm9wYWNpdHkiLCIwLjI1IikseC5zZXRBdHRyaWJ1dGVOUyhudWxsLCJjeCIsIjUuNSIpLHguc2V0QXR0cmlidXRlTlMobnVsbCwiY3kiLCI1LjUiKSx4LnNldEF0dHJpYnV0ZU5TKG51bGwsInIiLCI1LjQ5OTk5NjIiKTt2YXIgYj1yLmNyZWF0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImNpcmNsZSIpO2Iuc2V0QXR0cmlidXRlTlMobnVsbCwiZmlsbCIsIiNGRkZGRkYiKSxiLnNldEF0dHJpYnV0ZU5TKG51bGwsImN4IiwiNS41IiksYi5zZXRBdHRyaWJ1dGVOUyhudWxsLCJjeSIsIjUuNSIpLGIuc2V0QXR0cmlidXRlTlMobnVsbCwiciIsIjUuNDk5OTk2MiIpLHkuYXBwZW5kQ2hpbGQoeCkseS5hcHBlbmRDaGlsZChiKSxzLmFwcGVuZENoaWxkKGwpLHMuYXBwZW5kQ2hpbGQocCkscy5hcHBlbmRDaGlsZChnKSxzLmFwcGVuZENoaWxkKG0pLHMuYXBwZW5kQ2hpbGQoeSksaS5hcHBlbmRDaGlsZChzKSx0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKGkpLHRoaXMuX29mZnNldD10LlBvaW50LmNvbnZlcnQobiYmbi5vZmZzZXR8fFswLC0xNF0pfXRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtbWFya2VyIiksdGhpcy5fZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJkcmFnc3RhcnQiLGZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKX0pLFZuKHRoaXMuX2VsZW1lbnQsdGhpcy5fYW5jaG9yLCJtYXJrZXIiKSx0aGlzLl9wb3B1cD1udWxsfXJldHVybiBlJiYobi5fX3Byb3RvX189ZSksbi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksbi5wcm90b3R5cGUuY29uc3RydWN0b3I9bixuLnByb3RvdHlwZS5hZGRUbz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZW1vdmUoKSx0aGlzLl9tYXA9dCx0LmdldENhbnZhc0NvbnRhaW5lcigpLmFwcGVuZENoaWxkKHRoaXMuX2VsZW1lbnQpLHQub24oIm1vdmUiLHRoaXMuX3VwZGF0ZSksdC5vbigibW92ZWVuZCIsdGhpcy5fdXBkYXRlKSx0aGlzLnNldERyYWdnYWJsZSh0aGlzLl9kcmFnZ2FibGUpLHRoaXMuX3VwZGF0ZSgpLHRoaXMuX21hcC5vbigiY2xpY2siLHRoaXMuX29uTWFwQ2xpY2spLHRoaXN9LG4ucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXAmJih0aGlzLl9tYXAub2ZmKCJjbGljayIsdGhpcy5fb25NYXBDbGljayksdGhpcy5fbWFwLm9mZigibW92ZSIsdGhpcy5fdXBkYXRlKSx0aGlzLl9tYXAub2ZmKCJtb3ZlZW5kIix0aGlzLl91cGRhdGUpLHRoaXMuX21hcC5vZmYoIm1vdXNlZG93biIsdGhpcy5fYWRkRHJhZ0hhbmRsZXIpLHRoaXMuX21hcC5vZmYoInRvdWNoc3RhcnQiLHRoaXMuX2FkZERyYWdIYW5kbGVyKSx0aGlzLl9tYXAub2ZmKCJtb3VzZXVwIix0aGlzLl9vblVwKSx0aGlzLl9tYXAub2ZmKCJ0b3VjaGVuZCIsdGhpcy5fb25VcCksdGhpcy5fbWFwLm9mZigibW91c2Vtb3ZlIix0aGlzLl9vbk1vdmUpLHRoaXMuX21hcC5vZmYoInRvdWNobW92ZSIsdGhpcy5fb25Nb3ZlKSxkZWxldGUgdGhpcy5fbWFwKSxyLnJlbW92ZSh0aGlzLl9lbGVtZW50KSx0aGlzLl9wb3B1cCYmdGhpcy5fcG9wdXAucmVtb3ZlKCksdGhpc30sbi5wcm90b3R5cGUuZ2V0TG5nTGF0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xuZ0xhdH0sbi5wcm90b3R5cGUuc2V0TG5nTGF0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9sbmdMYXQ9dC5MbmdMYXQuY29udmVydChlKSx0aGlzLl9wb3M9bnVsbCx0aGlzLl9wb3B1cCYmdGhpcy5fcG9wdXAuc2V0TG5nTGF0KHRoaXMuX2xuZ0xhdCksdGhpcy5fdXBkYXRlKCksdGhpc30sbi5wcm90b3R5cGUuZ2V0RWxlbWVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9lbGVtZW50fSxuLnByb3RvdHlwZS5zZXRQb3B1cD1mdW5jdGlvbih0KXtpZih0aGlzLl9wb3B1cCYmKHRoaXMuX3BvcHVwLnJlbW92ZSgpLHRoaXMuX3BvcHVwPW51bGwpLHQpe2lmKCEoIm9mZnNldCJpbiB0Lm9wdGlvbnMpKXt2YXIgZT1NYXRoLnNxcnQoTWF0aC5wb3coMTMuNSwyKS8yKTt0Lm9wdGlvbnMub2Zmc2V0PXRoaXMuX2RlZmF1bHRNYXJrZXI/e3RvcDpbMCwwXSwidG9wLWxlZnQiOlswLDBdLCJ0b3AtcmlnaHQiOlswLDBdLGJvdHRvbTpbMCwtMzguMV0sImJvdHRvbS1sZWZ0IjpbZSwtMSooMjQuNitlKV0sImJvdHRvbS1yaWdodCI6Wy1lLC0xKigyNC42K2UpXSxsZWZ0OlsxMy41LC0yNC42XSxyaWdodDpbLTEzLjUsLTI0LjZdfTp0aGlzLl9vZmZzZXR9dGhpcy5fcG9wdXA9dCx0aGlzLl9sbmdMYXQmJnRoaXMuX3BvcHVwLnNldExuZ0xhdCh0aGlzLl9sbmdMYXQpfXJldHVybiB0aGlzfSxuLnByb3RvdHlwZS5fb25NYXBDbGljaz1mdW5jdGlvbih0KXt2YXIgZT10Lm9yaWdpbmFsRXZlbnQudGFyZ2V0LHI9dGhpcy5fZWxlbWVudDt0aGlzLl9wb3B1cCYmKGU9PT1yfHxyLmNvbnRhaW5zKGUpKSYmdGhpcy50b2dnbGVQb3B1cCgpfSxuLnByb3RvdHlwZS5nZXRQb3B1cD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9wb3B1cH0sbi5wcm90b3R5cGUudG9nZ2xlUG9wdXA9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9wb3B1cDtyZXR1cm4gdD8odC5pc09wZW4oKT90LnJlbW92ZSgpOnQuYWRkVG8odGhpcy5fbWFwKSx0aGlzKTp0aGlzfSxuLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe3RoaXMuX21hcCYmKHRoaXMuX21hcC50cmFuc2Zvcm0ucmVuZGVyV29ybGRDb3BpZXMmJih0aGlzLl9sbmdMYXQ9Tm4odGhpcy5fbG5nTGF0LHRoaXMuX3Bvcyx0aGlzLl9tYXAudHJhbnNmb3JtKSksdGhpcy5fcG9zPXRoaXMuX21hcC5wcm9qZWN0KHRoaXMuX2xuZ0xhdCkuX2FkZCh0aGlzLl9vZmZzZXQpLHQmJiJtb3ZlZW5kIiE9PXQudHlwZXx8KHRoaXMuX3Bvcz10aGlzLl9wb3Mucm91bmQoKSksci5zZXRUcmFuc2Zvcm0odGhpcy5fZWxlbWVudCxqblt0aGlzLl9hbmNob3JdKyIgdHJhbnNsYXRlKCIrdGhpcy5fcG9zLngrInB4LCAiK3RoaXMuX3Bvcy55KyJweCkiKSl9LG4ucHJvdG90eXBlLmdldE9mZnNldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9vZmZzZXR9LG4ucHJvdG90eXBlLnNldE9mZnNldD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fb2Zmc2V0PXQuUG9pbnQuY29udmVydChlKSx0aGlzLl91cGRhdGUoKSx0aGlzfSxuLnByb3RvdHlwZS5fb25Nb3ZlPWZ1bmN0aW9uKGUpe3RoaXMuX3Bvcz1lLnBvaW50LnN1Yih0aGlzLl9wb3NpdGlvbkRlbHRhKSx0aGlzLl9sbmdMYXQ9dGhpcy5fbWFwLnVucHJvamVjdCh0aGlzLl9wb3MpLHRoaXMuc2V0TG5nTGF0KHRoaXMuX2xuZ0xhdCksdGhpcy5fZWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIiwicGVuZGluZyI9PT10aGlzLl9zdGF0ZSYmKHRoaXMuX3N0YXRlPSJhY3RpdmUiLHRoaXMuZmlyZShuZXcgdC5FdmVudCgiZHJhZ3N0YXJ0IikpKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoImRyYWciKSl9LG4ucHJvdG90eXBlLl9vblVwPWZ1bmN0aW9uKCl7dGhpcy5fZWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzPSJhdXRvIix0aGlzLl9wb3NpdGlvbkRlbHRhPW51bGwsdGhpcy5fbWFwLm9mZigibW91c2Vtb3ZlIix0aGlzLl9vbk1vdmUpLHRoaXMuX21hcC5vZmYoInRvdWNobW92ZSIsdGhpcy5fb25Nb3ZlKSwiYWN0aXZlIj09PXRoaXMuX3N0YXRlJiZ0aGlzLmZpcmUobmV3IHQuRXZlbnQoImRyYWdlbmQiKSksdGhpcy5fc3RhdGU9ImluYWN0aXZlIn0sbi5wcm90b3R5cGUuX2FkZERyYWdIYW5kbGVyPWZ1bmN0aW9uKHQpe3RoaXMuX2VsZW1lbnQuY29udGFpbnModC5vcmlnaW5hbEV2ZW50LnRhcmdldCkmJih0LnByZXZlbnREZWZhdWx0KCksdGhpcy5fcG9zaXRpb25EZWx0YT10LnBvaW50LnN1Yih0aGlzLl9wb3MpLmFkZCh0aGlzLl9vZmZzZXQpLHRoaXMuX3N0YXRlPSJwZW5kaW5nIix0aGlzLl9tYXAub24oIm1vdXNlbW92ZSIsdGhpcy5fb25Nb3ZlKSx0aGlzLl9tYXAub24oInRvdWNobW92ZSIsdGhpcy5fb25Nb3ZlKSx0aGlzLl9tYXAub25jZSgibW91c2V1cCIsdGhpcy5fb25VcCksdGhpcy5fbWFwLm9uY2UoInRvdWNoZW5kIix0aGlzLl9vblVwKSl9LG4ucHJvdG90eXBlLnNldERyYWdnYWJsZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZHJhZ2dhYmxlPSEhdCx0aGlzLl9tYXAmJih0Pyh0aGlzLl9tYXAub24oIm1vdXNlZG93biIsdGhpcy5fYWRkRHJhZ0hhbmRsZXIpLHRoaXMuX21hcC5vbigidG91Y2hzdGFydCIsdGhpcy5fYWRkRHJhZ0hhbmRsZXIpKToodGhpcy5fbWFwLm9mZigibW91c2Vkb3duIix0aGlzLl9hZGREcmFnSGFuZGxlciksdGhpcy5fbWFwLm9mZigidG91Y2hzdGFydCIsdGhpcy5fYWRkRHJhZ0hhbmRsZXIpKSksdGhpc30sbi5wcm90b3R5cGUuaXNEcmFnZ2FibGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHJhZ2dhYmxlfSxufSh0LkV2ZW50ZWQpLEhuPXtwb3NpdGlvbk9wdGlvbnM6e2VuYWJsZUhpZ2hBY2N1cmFjeTohMSxtYXhpbXVtQWdlOjAsdGltZW91dDo2ZTN9LGZpdEJvdW5kc09wdGlvbnM6e21heFpvb206MTV9LHRyYWNrVXNlckxvY2F0aW9uOiExLHNob3dVc2VyTG9jYXRpb246ITB9LEduPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4ocil7ZS5jYWxsKHRoaXMpLHRoaXMub3B0aW9ucz10LmV4dGVuZCh7fSxIbixyKSx0LmJpbmRBbGwoWyJfb25TdWNjZXNzIiwiX29uRXJyb3IiLCJfZmluaXNoIiwiX3NldHVwVUkiLCJfdXBkYXRlQ2FtZXJhIiwiX3VwZGF0ZU1hcmtlciJdLHRoaXMpfXJldHVybiBlJiYobi5fX3Byb3RvX189ZSksbi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSksbi5wcm90b3R5cGUuY29uc3RydWN0b3I9bixuLnByb3RvdHlwZS5vbkFkZD1mdW5jdGlvbihlKXt2YXIgbjtyZXR1cm4gdGhpcy5fbWFwPWUsdGhpcy5fY29udGFpbmVyPXIuY3JlYXRlKCJkaXYiLCJtYXBib3hnbC1jdHJsIG1hcGJveGdsLWN0cmwtZ3JvdXAiKSxuPXRoaXMuX3NldHVwVUksdm9pZCAwIT09VW4/bihVbik6dm9pZCAwIT09dC53aW5kb3cubmF2aWdhdG9yLnBlcm1pc3Npb25zP3Qud2luZG93Lm5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSh7bmFtZToiZ2VvbG9jYXRpb24ifSkudGhlbihmdW5jdGlvbih0KXtVbj0iZGVuaWVkIiE9PXQuc3RhdGUsbihVbil9KTooVW49ISF0LndpbmRvdy5uYXZpZ2F0b3IuZ2VvbG9jYXRpb24sbihVbikpLHRoaXMuX2NvbnRhaW5lcn0sbi5wcm90b3R5cGUub25SZW1vdmU9ZnVuY3Rpb24oKXt2b2lkIDAhPT10aGlzLl9nZW9sb2NhdGlvbldhdGNoSUQmJih0LndpbmRvdy5uYXZpZ2F0b3IuZ2VvbG9jYXRpb24uY2xlYXJXYXRjaCh0aGlzLl9nZW9sb2NhdGlvbldhdGNoSUQpLHRoaXMuX2dlb2xvY2F0aW9uV2F0Y2hJRD12b2lkIDApLHRoaXMub3B0aW9ucy5zaG93VXNlckxvY2F0aW9uJiZ0aGlzLl91c2VyTG9jYXRpb25Eb3RNYXJrZXImJnRoaXMuX3VzZXJMb2NhdGlvbkRvdE1hcmtlci5yZW1vdmUoKSxyLnJlbW92ZSh0aGlzLl9jb250YWluZXIpLHRoaXMuX21hcD12b2lkIDB9LG4ucHJvdG90eXBlLl9vblN1Y2Nlc3M9ZnVuY3Rpb24oZSl7aWYodGhpcy5vcHRpb25zLnRyYWNrVXNlckxvY2F0aW9uKXN3aXRjaCh0aGlzLl9sYXN0S25vd25Qb3NpdGlvbj1lLHRoaXMuX3dhdGNoU3RhdGUpe2Nhc2UiV0FJVElOR19BQ1RJVkUiOmNhc2UiQUNUSVZFX0xPQ0siOmNhc2UiQUNUSVZFX0VSUk9SIjp0aGlzLl93YXRjaFN0YXRlPSJBQ1RJVkVfTE9DSyIsdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLXdhaXRpbmciKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlLWVycm9yIiksdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWFjdGl2ZSIpO2JyZWFrO2Nhc2UiQkFDS0dST1VORCI6Y2FzZSJCQUNLR1JPVU5EX0VSUk9SIjp0aGlzLl93YXRjaFN0YXRlPSJCQUNLR1JPVU5EIix0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtd2FpdGluZyIpLHRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZS1iYWNrZ3JvdW5kLWVycm9yIiksdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWJhY2tncm91bmQiKX10aGlzLm9wdGlvbnMuc2hvd1VzZXJMb2NhdGlvbiYmIk9GRiIhPT10aGlzLl93YXRjaFN0YXRlJiZ0aGlzLl91cGRhdGVNYXJrZXIoZSksdGhpcy5vcHRpb25zLnRyYWNrVXNlckxvY2F0aW9uJiYiQUNUSVZFX0xPQ0siIT09dGhpcy5fd2F0Y2hTdGF0ZXx8dGhpcy5fdXBkYXRlQ2FtZXJhKGUpLHRoaXMub3B0aW9ucy5zaG93VXNlckxvY2F0aW9uJiZ0aGlzLl9kb3RFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLXVzZXItbG9jYXRpb24tZG90LXN0YWxlIiksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJnZW9sb2NhdGUiLGUpKSx0aGlzLl9maW5pc2goKX0sbi5wcm90b3R5cGUuX3VwZGF0ZUNhbWVyYT1mdW5jdGlvbihlKXt2YXIgcj1uZXcgdC5MbmdMYXQoZS5jb29yZHMubG9uZ2l0dWRlLGUuY29vcmRzLmxhdGl0dWRlKSxuPWUuY29vcmRzLmFjY3VyYWN5LGE9dGhpcy5fbWFwLmdldEJlYXJpbmcoKSxpPXQuZXh0ZW5kKHtiZWFyaW5nOmF9LHRoaXMub3B0aW9ucy5maXRCb3VuZHNPcHRpb25zKTt0aGlzLl9tYXAuZml0Qm91bmRzKHIudG9Cb3VuZHMobiksaSx7Z2VvbG9jYXRlU291cmNlOiEwfSl9LG4ucHJvdG90eXBlLl91cGRhdGVNYXJrZXI9ZnVuY3Rpb24odCl7dD90aGlzLl91c2VyTG9jYXRpb25Eb3RNYXJrZXIuc2V0TG5nTGF0KFt0LmNvb3Jkcy5sb25naXR1ZGUsdC5jb29yZHMubGF0aXR1ZGVdKS5hZGRUbyh0aGlzLl9tYXApOnRoaXMuX3VzZXJMb2NhdGlvbkRvdE1hcmtlci5yZW1vdmUoKX0sbi5wcm90b3R5cGUuX29uRXJyb3I9ZnVuY3Rpb24oZSl7aWYodGhpcy5vcHRpb25zLnRyYWNrVXNlckxvY2F0aW9uKWlmKDE9PT1lLmNvZGUpdGhpcy5fd2F0Y2hTdGF0ZT0iT0ZGIix0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtd2FpdGluZyIpLHRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZS1hY3RpdmUiKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlLWVycm9yIiksdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWJhY2tncm91bmQiKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYmFja2dyb3VuZC1lcnJvciIpLHZvaWQgMCE9PXRoaXMuX2dlb2xvY2F0aW9uV2F0Y2hJRCYmdGhpcy5fY2xlYXJXYXRjaCgpO2Vsc2Ugc3dpdGNoKHRoaXMuX3dhdGNoU3RhdGUpe2Nhc2UiV0FJVElOR19BQ1RJVkUiOnRoaXMuX3dhdGNoU3RhdGU9IkFDVElWRV9FUlJPUiIsdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWFjdGl2ZSIpLHRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5jbGFzc0xpc3QuYWRkKCJtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZS1hY3RpdmUtZXJyb3IiKTticmVhaztjYXNlIkFDVElWRV9MT0NLIjp0aGlzLl93YXRjaFN0YXRlPSJBQ1RJVkVfRVJST1IiLHRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZS1hY3RpdmUiKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlLWVycm9yIiksdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLXdhaXRpbmciKTticmVhaztjYXNlIkJBQ0tHUk9VTkQiOnRoaXMuX3dhdGNoU3RhdGU9IkJBQ0tHUk9VTkRfRVJST1IiLHRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZS1iYWNrZ3JvdW5kIiksdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWJhY2tncm91bmQtZXJyb3IiKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtd2FpdGluZyIpfSJPRkYiIT09dGhpcy5fd2F0Y2hTdGF0ZSYmdGhpcy5vcHRpb25zLnNob3dVc2VyTG9jYXRpb24mJnRoaXMuX2RvdEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtdXNlci1sb2NhdGlvbi1kb3Qtc3RhbGUiKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoImVycm9yIixlKSksdGhpcy5fZmluaXNoKCl9LG4ucHJvdG90eXBlLl9maW5pc2g9ZnVuY3Rpb24oKXt0aGlzLl90aW1lb3V0SWQmJmNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0SWQpLHRoaXMuX3RpbWVvdXRJZD12b2lkIDB9LG4ucHJvdG90eXBlLl9zZXR1cFVJPWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXM7ITEhPT1lPyh0aGlzLl9jb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGZ1bmN0aW9uKHQpe3JldHVybiB0LnByZXZlbnREZWZhdWx0KCl9KSx0aGlzLl9nZW9sb2NhdGVCdXR0b249ci5jcmVhdGUoImJ1dHRvbiIsIm1hcGJveGdsLWN0cmwtaWNvbiBtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZSIsdGhpcy5fY29udGFpbmVyKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24udHlwZT0iYnV0dG9uIix0aGlzLl9nZW9sb2NhdGVCdXR0b24uc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwiR2VvbG9jYXRlIiksdGhpcy5vcHRpb25zLnRyYWNrVXNlckxvY2F0aW9uJiYodGhpcy5fZ2VvbG9jYXRlQnV0dG9uLnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwiZmFsc2UiKSx0aGlzLl93YXRjaFN0YXRlPSJPRkYiKSx0aGlzLm9wdGlvbnMuc2hvd1VzZXJMb2NhdGlvbiYmKHRoaXMuX2RvdEVsZW1lbnQ9ci5jcmVhdGUoImRpdiIsIm1hcGJveGdsLXVzZXItbG9jYXRpb24tZG90IiksdGhpcy5fdXNlckxvY2F0aW9uRG90TWFya2VyPW5ldyBxbih0aGlzLl9kb3RFbGVtZW50KSx0aGlzLm9wdGlvbnMudHJhY2tVc2VyTG9jYXRpb24mJih0aGlzLl93YXRjaFN0YXRlPSJPRkYiKSksdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLnRyaWdnZXIuYmluZCh0aGlzKSksdGhpcy5fc2V0dXA9ITAsdGhpcy5vcHRpb25zLnRyYWNrVXNlckxvY2F0aW9uJiZ0aGlzLl9tYXAub24oIm1vdmVzdGFydCIsZnVuY3Rpb24oZSl7ZS5nZW9sb2NhdGVTb3VyY2V8fCJBQ1RJVkVfTE9DSyIhPT1uLl93YXRjaFN0YXRlfHwobi5fd2F0Y2hTdGF0ZT0iQkFDS0dST1VORCIsbi5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWJhY2tncm91bmQiKSxuLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlIiksbi5maXJlKG5ldyB0LkV2ZW50KCJ0cmFja3VzZXJsb2NhdGlvbmVuZCIpKSl9KSk6dC53YXJuT25jZSgiR2VvbG9jYXRpb24gc3VwcG9ydCBpcyBub3QgYXZhaWxhYmxlLCB0aGUgR2VvbG9jYXRlQ29udHJvbCB3aWxsIG5vdCBiZSB2aXNpYmxlLiIpfSxuLnByb3RvdHlwZS50cmlnZ2VyPWZ1bmN0aW9uKCl7aWYoIXRoaXMuX3NldHVwKXJldHVybiB0Lndhcm5PbmNlKCJHZW9sb2NhdGUgY29udHJvbCB0cmlnZ2VyZWQgYmVmb3JlIGFkZGVkIHRvIGEgbWFwIiksITE7aWYodGhpcy5vcHRpb25zLnRyYWNrVXNlckxvY2F0aW9uKXtzd2l0Y2godGhpcy5fd2F0Y2hTdGF0ZSl7Y2FzZSJPRkYiOnRoaXMuX3dhdGNoU3RhdGU9IldBSVRJTkdfQUNUSVZFIix0aGlzLmZpcmUobmV3IHQuRXZlbnQoInRyYWNrdXNlcmxvY2F0aW9uc3RhcnQiKSk7YnJlYWs7Y2FzZSJXQUlUSU5HX0FDVElWRSI6Y2FzZSJBQ1RJVkVfTE9DSyI6Y2FzZSJBQ1RJVkVfRVJST1IiOmNhc2UiQkFDS0dST1VORF9FUlJPUiI6dGhpcy5fd2F0Y2hTdGF0ZT0iT0ZGIix0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtd2FpdGluZyIpLHRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZS1hY3RpdmUiKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlLWVycm9yIiksdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWJhY2tncm91bmQiKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYmFja2dyb3VuZC1lcnJvciIpLHRoaXMuZmlyZShuZXcgdC5FdmVudCgidHJhY2t1c2VybG9jYXRpb25lbmQiKSk7YnJlYWs7Y2FzZSJCQUNLR1JPVU5EIjp0aGlzLl93YXRjaFN0YXRlPSJBQ1RJVkVfTE9DSyIsdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWJhY2tncm91bmQiKSx0aGlzLl9sYXN0S25vd25Qb3NpdGlvbiYmdGhpcy5fdXBkYXRlQ2FtZXJhKHRoaXMuX2xhc3RLbm93blBvc2l0aW9uKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoInRyYWNrdXNlcmxvY2F0aW9uc3RhcnQiKSl9c3dpdGNoKHRoaXMuX3dhdGNoU3RhdGUpe2Nhc2UiV0FJVElOR19BQ1RJVkUiOnRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5jbGFzc0xpc3QuYWRkKCJtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZS13YWl0aW5nIiksdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLWFjdGl2ZSIpO2JyZWFrO2Nhc2UiQUNUSVZFX0xPQ0siOnRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5jbGFzc0xpc3QuYWRkKCJtYXBib3hnbC1jdHJsLWdlb2xvY2F0ZS1hY3RpdmUiKTticmVhaztjYXNlIkFDVElWRV9FUlJPUiI6dGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLXdhaXRpbmciKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlLWVycm9yIik7YnJlYWs7Y2FzZSJCQUNLR1JPVU5EIjp0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYmFja2dyb3VuZCIpO2JyZWFrO2Nhc2UiQkFDS0dST1VORF9FUlJPUiI6dGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLXdhaXRpbmciKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtYmFja2dyb3VuZC1lcnJvciIpfSJPRkYiPT09dGhpcy5fd2F0Y2hTdGF0ZSYmdm9pZCAwIT09dGhpcy5fZ2VvbG9jYXRpb25XYXRjaElEP3RoaXMuX2NsZWFyV2F0Y2goKTp2b2lkIDA9PT10aGlzLl9nZW9sb2NhdGlvbldhdGNoSUQmJih0aGlzLl9nZW9sb2NhdGVCdXR0b24uY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtY3RybC1nZW9sb2NhdGUtd2FpdGluZyIpLHRoaXMuX2dlb2xvY2F0ZUJ1dHRvbi5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsInRydWUiKSx0aGlzLl9nZW9sb2NhdGlvbldhdGNoSUQ9dC53aW5kb3cubmF2aWdhdG9yLmdlb2xvY2F0aW9uLndhdGNoUG9zaXRpb24odGhpcy5fb25TdWNjZXNzLHRoaXMuX29uRXJyb3IsdGhpcy5vcHRpb25zLnBvc2l0aW9uT3B0aW9ucykpfWVsc2UgdC53aW5kb3cubmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbih0aGlzLl9vblN1Y2Nlc3MsdGhpcy5fb25FcnJvcix0aGlzLm9wdGlvbnMucG9zaXRpb25PcHRpb25zKSx0aGlzLl90aW1lb3V0SWQ9c2V0VGltZW91dCh0aGlzLl9maW5pc2gsMWU0KTtyZXR1cm4hMH0sbi5wcm90b3R5cGUuX2NsZWFyV2F0Y2g9ZnVuY3Rpb24oKXt0LndpbmRvdy5uYXZpZ2F0b3IuZ2VvbG9jYXRpb24uY2xlYXJXYXRjaCh0aGlzLl9nZW9sb2NhdGlvbldhdGNoSUQpLHRoaXMuX2dlb2xvY2F0aW9uV2F0Y2hJRD12b2lkIDAsdGhpcy5fZ2VvbG9jYXRlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLWN0cmwtZ2VvbG9jYXRlLXdhaXRpbmciKSx0aGlzLl9nZW9sb2NhdGVCdXR0b24uc2V0QXR0cmlidXRlKCJhcmlhLXByZXNzZWQiLCJmYWxzZSIpLHRoaXMub3B0aW9ucy5zaG93VXNlckxvY2F0aW9uJiZ0aGlzLl91cGRhdGVNYXJrZXIobnVsbCl9LG59KHQuRXZlbnRlZCksWW49e21heFdpZHRoOjEwMCx1bml0OiJtZXRyaWMifSxXbj1mdW5jdGlvbihlKXt0aGlzLm9wdGlvbnM9dC5leHRlbmQoe30sWW4sZSksdC5iaW5kQWxsKFsiX29uTW92ZSIsInNldFVuaXQiXSx0aGlzKX07ZnVuY3Rpb24gWG4odCxlLHIpe3ZhciBuLGEsaSxvLHMsbCxjPXImJnIubWF4V2lkdGh8fDEwMCx1PXQuX2NvbnRhaW5lci5jbGllbnRIZWlnaHQvMixoPShuPXQudW5wcm9qZWN0KFswLHVdKSxhPXQudW5wcm9qZWN0KFtjLHVdKSxpPU1hdGguUEkvMTgwLG89bi5sYXQqaSxzPWEubGF0KmksbD1NYXRoLnNpbihvKSpNYXRoLnNpbihzKStNYXRoLmNvcyhvKSpNYXRoLmNvcyhzKSpNYXRoLmNvcygoYS5sbmctbi5sbmcpKmkpLDYzNzFlMypNYXRoLmFjb3MoTWF0aC5taW4obCwxKSkpO2lmKHImJiJpbXBlcmlhbCI9PT1yLnVuaXQpe3ZhciBmPTMuMjgwOCpoO2Y+NTI4MD9abihlLGMsZi81MjgwLCJtaSIpOlpuKGUsYyxmLCJmdCIpfWVsc2UgciYmIm5hdXRpY2FsIj09PXIudW5pdD9abihlLGMsaC8xODUyLCJubSIpOlpuKGUsYyxoLCJtIil9ZnVuY3Rpb24gWm4odCxlLHIsbil7dmFyIGEsaSxvLHM9KGE9ciwoaT1NYXRoLnBvdygxMCwoIiIrTWF0aC5mbG9vcihhKSkubGVuZ3RoLTEpKSoobz0obz1hL2kpPj0xMD8xMDpvPj01PzU6bz49Mz8zOm8+PTI/MjpvPj0xPzE6ZnVuY3Rpb24odCl7dmFyIGU9TWF0aC5wb3coMTAsTWF0aC5jZWlsKC1NYXRoLmxvZyh0KS9NYXRoLkxOMTApKTtyZXR1cm4gTWF0aC5yb3VuZCh0KmUpL2V9KG8pKSksbD1zL3I7Im0iPT09biYmcz49MWUzJiYocy89MWUzLG49ImttIiksdC5zdHlsZS53aWR0aD1lKmwrInB4Iix0LmlubmVySFRNTD1zK259V24ucHJvdG90eXBlLmdldERlZmF1bHRQb3NpdGlvbj1mdW5jdGlvbigpe3JldHVybiJib3R0b20tbGVmdCJ9LFduLnByb3RvdHlwZS5fb25Nb3ZlPWZ1bmN0aW9uKCl7WG4odGhpcy5fbWFwLHRoaXMuX2NvbnRhaW5lcix0aGlzLm9wdGlvbnMpfSxXbi5wcm90b3R5cGUub25BZGQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX21hcD10LHRoaXMuX2NvbnRhaW5lcj1yLmNyZWF0ZSgiZGl2IiwibWFwYm94Z2wtY3RybCBtYXBib3hnbC1jdHJsLXNjYWxlIix0LmdldENvbnRhaW5lcigpKSx0aGlzLl9tYXAub24oIm1vdmUiLHRoaXMuX29uTW92ZSksdGhpcy5fb25Nb3ZlKCksdGhpcy5fY29udGFpbmVyfSxXbi5wcm90b3R5cGUub25SZW1vdmU9ZnVuY3Rpb24oKXtyLnJlbW92ZSh0aGlzLl9jb250YWluZXIpLHRoaXMuX21hcC5vZmYoIm1vdmUiLHRoaXMuX29uTW92ZSksdGhpcy5fbWFwPXZvaWQgMH0sV24ucHJvdG90eXBlLnNldFVuaXQ9ZnVuY3Rpb24odCl7dGhpcy5vcHRpb25zLnVuaXQ9dCxYbih0aGlzLl9tYXAsdGhpcy5fY29udGFpbmVyLHRoaXMub3B0aW9ucyl9O3ZhciBKbj1mdW5jdGlvbihlKXt0aGlzLl9mdWxsc2NyZWVuPSExLGUmJmUuY29udGFpbmVyJiYoZS5jb250YWluZXIgaW5zdGFuY2VvZiB0LndpbmRvdy5IVE1MRWxlbWVudD90aGlzLl9jb250YWluZXI9ZS5jb250YWluZXI6dC53YXJuT25jZSgiRnVsbCBzY3JlZW4gY29udHJvbCAnY29udGFpbmVyJyBtdXN0IGJlIGEgRE9NIGVsZW1lbnQuIikpLHQuYmluZEFsbChbIl9vbkNsaWNrRnVsbHNjcmVlbiIsIl9jaGFuZ2VJY29uIl0sdGhpcyksIm9uZnVsbHNjcmVlbmNoYW5nZSJpbiB0LndpbmRvdy5kb2N1bWVudD90aGlzLl9mdWxsc2NyZWVuY2hhbmdlPSJmdWxsc2NyZWVuY2hhbmdlIjoib25tb3pmdWxsc2NyZWVuY2hhbmdlImluIHQud2luZG93LmRvY3VtZW50P3RoaXMuX2Z1bGxzY3JlZW5jaGFuZ2U9Im1vemZ1bGxzY3JlZW5jaGFuZ2UiOiJvbndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiaW4gdC53aW5kb3cuZG9jdW1lbnQ/dGhpcy5fZnVsbHNjcmVlbmNoYW5nZT0id2Via2l0ZnVsbHNjcmVlbmNoYW5nZSI6Im9ubXNmdWxsc2NyZWVuY2hhbmdlImluIHQud2luZG93LmRvY3VtZW50JiYodGhpcy5fZnVsbHNjcmVlbmNoYW5nZT0iTVNGdWxsc2NyZWVuQ2hhbmdlIiksdGhpcy5fY2xhc3NOYW1lPSJtYXBib3hnbC1jdHJsIn07Sm4ucHJvdG90eXBlLm9uQWRkPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9tYXA9ZSx0aGlzLl9jb250YWluZXJ8fCh0aGlzLl9jb250YWluZXI9dGhpcy5fbWFwLmdldENvbnRhaW5lcigpKSx0aGlzLl9jb250cm9sQ29udGFpbmVyPXIuY3JlYXRlKCJkaXYiLHRoaXMuX2NsYXNzTmFtZSsiIG1hcGJveGdsLWN0cmwtZ3JvdXAiKSx0aGlzLl9jaGVja0Z1bGxzY3JlZW5TdXBwb3J0KCk/dGhpcy5fc2V0dXBVSSgpOih0aGlzLl9jb250cm9sQ29udGFpbmVyLnN0eWxlLmRpc3BsYXk9Im5vbmUiLHQud2Fybk9uY2UoIlRoaXMgZGV2aWNlIGRvZXMgbm90IHN1cHBvcnQgZnVsbHNjcmVlbiBtb2RlLiIpKSx0aGlzLl9jb250cm9sQ29udGFpbmVyfSxKbi5wcm90b3R5cGUub25SZW1vdmU9ZnVuY3Rpb24oKXtyLnJlbW92ZSh0aGlzLl9jb250cm9sQ29udGFpbmVyKSx0aGlzLl9tYXA9bnVsbCx0LndpbmRvdy5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHRoaXMuX2Z1bGxzY3JlZW5jaGFuZ2UsdGhpcy5fY2hhbmdlSWNvbil9LEpuLnByb3RvdHlwZS5fY2hlY2tGdWxsc2NyZWVuU3VwcG9ydD1mdW5jdGlvbigpe3JldHVybiEhKHQud2luZG93LmRvY3VtZW50LmZ1bGxzY3JlZW5FbmFibGVkfHx0LndpbmRvdy5kb2N1bWVudC5tb3pGdWxsU2NyZWVuRW5hYmxlZHx8dC53aW5kb3cuZG9jdW1lbnQubXNGdWxsc2NyZWVuRW5hYmxlZHx8dC53aW5kb3cuZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVuYWJsZWQpfSxKbi5wcm90b3R5cGUuX3NldHVwVUk9ZnVuY3Rpb24oKXsodGhpcy5fZnVsbHNjcmVlbkJ1dHRvbj1yLmNyZWF0ZSgiYnV0dG9uIix0aGlzLl9jbGFzc05hbWUrIi1pY29uICIrdGhpcy5fY2xhc3NOYW1lKyItZnVsbHNjcmVlbiIsdGhpcy5fY29udHJvbENvbnRhaW5lcikpLnR5cGU9ImJ1dHRvbiIsdGhpcy5fdXBkYXRlVGl0bGUoKSx0aGlzLl9mdWxsc2NyZWVuQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLl9vbkNsaWNrRnVsbHNjcmVlbiksdC53aW5kb3cuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLl9mdWxsc2NyZWVuY2hhbmdlLHRoaXMuX2NoYW5nZUljb24pfSxKbi5wcm90b3R5cGUuX3VwZGF0ZVRpdGxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5faXNGdWxsc2NyZWVuKCk/IkV4aXQgZnVsbHNjcmVlbiI6IkVudGVyIGZ1bGxzY3JlZW4iO3RoaXMuX2Z1bGxzY3JlZW5CdXR0b24uc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIix0KSx0aGlzLl9mdWxsc2NyZWVuQnV0dG9uLnRpdGxlPXR9LEpuLnByb3RvdHlwZS5faXNGdWxsc2NyZWVuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Z1bGxzY3JlZW59LEpuLnByb3RvdHlwZS5fY2hhbmdlSWNvbj1mdW5jdGlvbigpeyh0LndpbmRvdy5kb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudHx8dC53aW5kb3cuZG9jdW1lbnQubW96RnVsbFNjcmVlbkVsZW1lbnR8fHQud2luZG93LmRvY3VtZW50LndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50fHx0LndpbmRvdy5kb2N1bWVudC5tc0Z1bGxzY3JlZW5FbGVtZW50KT09PXRoaXMuX2NvbnRhaW5lciE9PXRoaXMuX2Z1bGxzY3JlZW4mJih0aGlzLl9mdWxsc2NyZWVuPSF0aGlzLl9mdWxsc2NyZWVuLHRoaXMuX2Z1bGxzY3JlZW5CdXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLl9jbGFzc05hbWUrIi1zaHJpbmsiKSx0aGlzLl9mdWxsc2NyZWVuQnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5fY2xhc3NOYW1lKyItZnVsbHNjcmVlbiIpLHRoaXMuX3VwZGF0ZVRpdGxlKCkpfSxKbi5wcm90b3R5cGUuX29uQ2xpY2tGdWxsc2NyZWVuPWZ1bmN0aW9uKCl7dGhpcy5faXNGdWxsc2NyZWVuKCk/dC53aW5kb3cuZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4/dC53aW5kb3cuZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTp0LndpbmRvdy5kb2N1bWVudC5tb3pDYW5jZWxGdWxsU2NyZWVuP3Qud2luZG93LmRvY3VtZW50Lm1vekNhbmNlbEZ1bGxTY3JlZW4oKTp0LndpbmRvdy5kb2N1bWVudC5tc0V4aXRGdWxsc2NyZWVuP3Qud2luZG93LmRvY3VtZW50Lm1zRXhpdEZ1bGxzY3JlZW4oKTp0LndpbmRvdy5kb2N1bWVudC53ZWJraXRDYW5jZWxGdWxsU2NyZWVuJiZ0LndpbmRvdy5kb2N1bWVudC53ZWJraXRDYW5jZWxGdWxsU2NyZWVuKCk6dGhpcy5fY29udGFpbmVyLnJlcXVlc3RGdWxsc2NyZWVuP3RoaXMuX2NvbnRhaW5lci5yZXF1ZXN0RnVsbHNjcmVlbigpOnRoaXMuX2NvbnRhaW5lci5tb3pSZXF1ZXN0RnVsbFNjcmVlbj90aGlzLl9jb250YWluZXIubW96UmVxdWVzdEZ1bGxTY3JlZW4oKTp0aGlzLl9jb250YWluZXIubXNSZXF1ZXN0RnVsbHNjcmVlbj90aGlzLl9jb250YWluZXIubXNSZXF1ZXN0RnVsbHNjcmVlbigpOnRoaXMuX2NvbnRhaW5lci53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbiYmdGhpcy5fY29udGFpbmVyLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKCl9O3ZhciBLbj17Y2xvc2VCdXR0b246ITAsY2xvc2VPbkNsaWNrOiEwLGNsYXNzTmFtZToiIixtYXhXaWR0aDoiMjQwcHgifSxRbj1mdW5jdGlvbihlKXtmdW5jdGlvbiBuKHIpe2UuY2FsbCh0aGlzKSx0aGlzLm9wdGlvbnM9dC5leHRlbmQoT2JqZWN0LmNyZWF0ZShLbiksciksdC5iaW5kQWxsKFsiX3VwZGF0ZSIsIl9vbkNsaWNrQ2xvc2UiLCJyZW1vdmUiXSx0aGlzKX1yZXR1cm4gZSYmKG4uX19wcm90b19fPWUpLG4ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUpLG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yPW4sbi5wcm90b3R5cGUuYWRkVG89ZnVuY3Rpb24oZSl7dmFyIHI9dGhpcztyZXR1cm4gdGhpcy5fbWFwPWUsdGhpcy5vcHRpb25zLmNsb3NlT25DbGljayYmdGhpcy5fbWFwLm9uKCJjbGljayIsdGhpcy5fb25DbGlja0Nsb3NlKSx0aGlzLl9tYXAub24oInJlbW92ZSIsdGhpcy5yZW1vdmUpLHRoaXMuX3VwZGF0ZSgpLHRoaXMuX3RyYWNrUG9pbnRlcj8odGhpcy5fbWFwLm9uKCJtb3VzZW1vdmUiLGZ1bmN0aW9uKHQpe3IuX3VwZGF0ZSh0LnBvaW50KX0pLHRoaXMuX21hcC5vbigibW91c2V1cCIsZnVuY3Rpb24odCl7ci5fdXBkYXRlKHQucG9pbnQpfSksdGhpcy5fY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoIm1hcGJveGdsLXBvcHVwLXRyYWNrLXBvaW50ZXIiKSx0aGlzLl9tYXAuX2NhbnZhc0NvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCJtYXBib3hnbC10cmFjay1wb2ludGVyIikpOnRoaXMuX21hcC5vbigibW92ZSIsdGhpcy5fdXBkYXRlKSx0aGlzLmZpcmUobmV3IHQuRXZlbnQoIm9wZW4iKSksdGhpc30sbi5wcm90b3R5cGUuaXNPcGVuPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9tYXB9LG4ucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb250ZW50JiZyLnJlbW92ZSh0aGlzLl9jb250ZW50KSx0aGlzLl9jb250YWluZXImJihyLnJlbW92ZSh0aGlzLl9jb250YWluZXIpLGRlbGV0ZSB0aGlzLl9jb250YWluZXIpLHRoaXMuX21hcCYmKHRoaXMuX21hcC5vZmYoIm1vdmUiLHRoaXMuX3VwZGF0ZSksdGhpcy5fbWFwLm9mZigiY2xpY2siLHRoaXMuX29uQ2xpY2tDbG9zZSksdGhpcy5fbWFwLm9mZigicmVtb3ZlIix0aGlzLnJlbW92ZSksdGhpcy5fbWFwLm9mZigibW91c2Vtb3ZlIiksZGVsZXRlIHRoaXMuX21hcCksdGhpcy5maXJlKG5ldyB0LkV2ZW50KCJjbG9zZSIpKSx0aGlzfSxuLnByb3RvdHlwZS5nZXRMbmdMYXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbG5nTGF0fSxuLnByb3RvdHlwZS5zZXRMbmdMYXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2xuZ0xhdD10LkxuZ0xhdC5jb252ZXJ0KGUpLHRoaXMuX3Bvcz1udWxsLHRoaXMuX3RyYWNrUG9pbnRlcj0hMSx0aGlzLl91cGRhdGUoKSx0aGlzLl9tYXAmJih0aGlzLl9tYXAub24oIm1vdmUiLHRoaXMuX3VwZGF0ZSksdGhpcy5fbWFwLm9mZigibW91c2Vtb3ZlIiksdGhpcy5fY29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoIm1hcGJveGdsLXBvcHVwLXRyYWNrLXBvaW50ZXIiKSx0aGlzLl9tYXAuX2NhbnZhc0NvbnRhaW5lci5jbGFzc0xpc3QucmVtb3ZlKCJtYXBib3hnbC10cmFjay1wb2ludGVyIikpLHRoaXN9LG4ucHJvdG90eXBlLnRyYWNrUG9pbnRlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuX3RyYWNrUG9pbnRlcj0hMCx0aGlzLl9wb3M9bnVsbCx0aGlzLl9tYXAmJih0aGlzLl9tYXAub2ZmKCJtb3ZlIix0aGlzLl91cGRhdGUpLHRoaXMuX21hcC5vbigibW91c2Vtb3ZlIixmdW5jdGlvbihlKXt0Ll91cGRhdGUoZS5wb2ludCl9KSx0aGlzLl9tYXAub24oImRyYWciLGZ1bmN0aW9uKGUpe3QuX3VwZGF0ZShlLnBvaW50KX0pLHRoaXMuX2NvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCJtYXBib3hnbC1wb3B1cC10cmFjay1wb2ludGVyIiksdGhpcy5fbWFwLl9jYW52YXNDb250YWluZXIuY2xhc3NMaXN0LmFkZCgibWFwYm94Z2wtdHJhY2stcG9pbnRlciIpKSx0aGlzfSxuLnByb3RvdHlwZS5nZXRFbGVtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbnRhaW5lcn0sbi5wcm90b3R5cGUuc2V0VGV4dD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5zZXRET01Db250ZW50KHQud2luZG93LmRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGUpKX0sbi5wcm90b3R5cGUuc2V0SFRNTD1mdW5jdGlvbihlKXt2YXIgcixuPXQud2luZG93LmRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxhPXQud2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKTtmb3IoYS5pbm5lckhUTUw9ZTtyPWEuZmlyc3RDaGlsZDspbi5hcHBlbmRDaGlsZChyKTtyZXR1cm4gdGhpcy5zZXRET01Db250ZW50KG4pfSxuLnByb3RvdHlwZS5nZXRNYXhXaWR0aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb250YWluZXIuc3R5bGUubWF4V2lkdGh9LG4ucHJvdG90eXBlLnNldE1heFdpZHRoPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubWF4V2lkdGg9dCx0aGlzLl91cGRhdGUoKSx0aGlzfSxuLnByb3RvdHlwZS5zZXRET01Db250ZW50PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9jcmVhdGVDb250ZW50KCksdGhpcy5fY29udGVudC5hcHBlbmRDaGlsZCh0KSx0aGlzLl91cGRhdGUoKSx0aGlzfSxuLnByb3RvdHlwZS5fY3JlYXRlQ29udGVudD1mdW5jdGlvbigpe3RoaXMuX2NvbnRlbnQmJnIucmVtb3ZlKHRoaXMuX2NvbnRlbnQpLHRoaXMuX2NvbnRlbnQ9ci5jcmVhdGUoImRpdiIsIm1hcGJveGdsLXBvcHVwLWNvbnRlbnQiLHRoaXMuX2NvbnRhaW5lciksdGhpcy5vcHRpb25zLmNsb3NlQnV0dG9uJiYodGhpcy5fY2xvc2VCdXR0b249ci5jcmVhdGUoImJ1dHRvbiIsIm1hcGJveGdsLXBvcHVwLWNsb3NlLWJ1dHRvbiIsdGhpcy5fY29udGVudCksdGhpcy5fY2xvc2VCdXR0b24udHlwZT0iYnV0dG9uIix0aGlzLl9jbG9zZUJ1dHRvbi5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCJDbG9zZSBwb3B1cCIpLHRoaXMuX2Nsb3NlQnV0dG9uLmlubmVySFRNTD0iJiMyMTU7Iix0aGlzLl9jbG9zZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5fb25DbGlja0Nsb3NlKSl9LG4ucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcyxhPXRoaXMuX2xuZ0xhdHx8dGhpcy5fdHJhY2tQb2ludGVyO2lmKHRoaXMuX21hcCYmYSYmdGhpcy5fY29udGVudCYmKHRoaXMuX2NvbnRhaW5lcnx8KHRoaXMuX2NvbnRhaW5lcj1yLmNyZWF0ZSgiZGl2IiwibWFwYm94Z2wtcG9wdXAiLHRoaXMuX21hcC5nZXRDb250YWluZXIoKSksdGhpcy5fdGlwPXIuY3JlYXRlKCJkaXYiLCJtYXBib3hnbC1wb3B1cC10aXAiLHRoaXMuX2NvbnRhaW5lciksdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuX2NvbnRlbnQpLHRoaXMub3B0aW9ucy5jbGFzc05hbWUmJnRoaXMub3B0aW9ucy5jbGFzc05hbWUuc3BsaXQoIiAiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiBuLl9jb250YWluZXIuY2xhc3NMaXN0LmFkZCh0KX0pKSx0aGlzLm9wdGlvbnMubWF4V2lkdGgmJnRoaXMuX2NvbnRhaW5lci5zdHlsZS5tYXhXaWR0aCE9PXRoaXMub3B0aW9ucy5tYXhXaWR0aCYmKHRoaXMuX2NvbnRhaW5lci5zdHlsZS5tYXhXaWR0aD10aGlzLm9wdGlvbnMubWF4V2lkdGgpLHRoaXMuX21hcC50cmFuc2Zvcm0ucmVuZGVyV29ybGRDb3BpZXMmJiF0aGlzLl90cmFja1BvaW50ZXImJih0aGlzLl9sbmdMYXQ9Tm4odGhpcy5fbG5nTGF0LHRoaXMuX3Bvcyx0aGlzLl9tYXAudHJhbnNmb3JtKSksIXRoaXMuX3RyYWNrUG9pbnRlcnx8ZSkpe3ZhciBpPXRoaXMuX3Bvcz10aGlzLl90cmFja1BvaW50ZXImJmU/ZTp0aGlzLl9tYXAucHJvamVjdCh0aGlzLl9sbmdMYXQpLG89dGhpcy5vcHRpb25zLmFuY2hvcixzPWZ1bmN0aW9uIGUocil7aWYocil7aWYoIm51bWJlciI9PXR5cGVvZiByKXt2YXIgbj1NYXRoLnJvdW5kKE1hdGguc3FydCguNSpNYXRoLnBvdyhyLDIpKSk7cmV0dXJue2NlbnRlcjpuZXcgdC5Qb2ludCgwLDApLHRvcDpuZXcgdC5Qb2ludCgwLHIpLCJ0b3AtbGVmdCI6bmV3IHQuUG9pbnQobixuKSwidG9wLXJpZ2h0IjpuZXcgdC5Qb2ludCgtbixuKSxib3R0b206bmV3IHQuUG9pbnQoMCwtciksImJvdHRvbS1sZWZ0IjpuZXcgdC5Qb2ludChuLC1uKSwiYm90dG9tLXJpZ2h0IjpuZXcgdC5Qb2ludCgtbiwtbiksbGVmdDpuZXcgdC5Qb2ludChyLDApLHJpZ2h0Om5ldyB0LlBvaW50KC1yLDApfX1pZihyIGluc3RhbmNlb2YgdC5Qb2ludHx8QXJyYXkuaXNBcnJheShyKSl7dmFyIGE9dC5Qb2ludC5jb252ZXJ0KHIpO3JldHVybntjZW50ZXI6YSx0b3A6YSwidG9wLWxlZnQiOmEsInRvcC1yaWdodCI6YSxib3R0b206YSwiYm90dG9tLWxlZnQiOmEsImJvdHRvbS1yaWdodCI6YSxsZWZ0OmEscmlnaHQ6YX19cmV0dXJue2NlbnRlcjp0LlBvaW50LmNvbnZlcnQoci5jZW50ZXJ8fFswLDBdKSx0b3A6dC5Qb2ludC5jb252ZXJ0KHIudG9wfHxbMCwwXSksInRvcC1sZWZ0Ijp0LlBvaW50LmNvbnZlcnQoclsidG9wLWxlZnQiXXx8WzAsMF0pLCJ0b3AtcmlnaHQiOnQuUG9pbnQuY29udmVydChyWyJ0b3AtcmlnaHQiXXx8WzAsMF0pLGJvdHRvbTp0LlBvaW50LmNvbnZlcnQoci5ib3R0b218fFswLDBdKSwiYm90dG9tLWxlZnQiOnQuUG9pbnQuY29udmVydChyWyJib3R0b20tbGVmdCJdfHxbMCwwXSksImJvdHRvbS1yaWdodCI6dC5Qb2ludC5jb252ZXJ0KHJbImJvdHRvbS1yaWdodCJdfHxbMCwwXSksbGVmdDp0LlBvaW50LmNvbnZlcnQoci5sZWZ0fHxbMCwwXSkscmlnaHQ6dC5Qb2ludC5jb252ZXJ0KHIucmlnaHR8fFswLDBdKX19cmV0dXJuIGUobmV3IHQuUG9pbnQoMCwwKSl9KHRoaXMub3B0aW9ucy5vZmZzZXQpO2lmKCFvKXt2YXIgbCxjPXRoaXMuX2NvbnRhaW5lci5vZmZzZXRXaWR0aCx1PXRoaXMuX2NvbnRhaW5lci5vZmZzZXRIZWlnaHQ7bD1pLnkrcy5ib3R0b20ueTx1P1sidG9wIl06aS55PnRoaXMuX21hcC50cmFuc2Zvcm0uaGVpZ2h0LXU/WyJib3R0b20iXTpbXSxpLng8Yy8yP2wucHVzaCgibGVmdCIpOmkueD50aGlzLl9tYXAudHJhbnNmb3JtLndpZHRoLWMvMiYmbC5wdXNoKCJyaWdodCIpLG89MD09PWwubGVuZ3RoPyJib3R0b20iOmwuam9pbigiLSIpfXZhciBoPWkuYWRkKHNbb10pLnJvdW5kKCk7ci5zZXRUcmFuc2Zvcm0odGhpcy5fY29udGFpbmVyLGpuW29dKyIgdHJhbnNsYXRlKCIraC54KyJweCwiK2gueSsicHgpIiksVm4odGhpcy5fY29udGFpbmVyLG8sInBvcHVwIil9fSxuLnByb3RvdHlwZS5fb25DbGlja0Nsb3NlPWZ1bmN0aW9uKCl7dGhpcy5yZW1vdmUoKX0sbn0odC5FdmVudGVkKSwkbj17dmVyc2lvbjp0LnZlcnNpb24sc3VwcG9ydGVkOmUsc2V0UlRMVGV4dFBsdWdpbjp0LnNldFJUTFRleHRQbHVnaW4sTWFwOkRuLE5hdmlnYXRpb25Db250cm9sOkJuLEdlb2xvY2F0ZUNvbnRyb2w6R24sQXR0cmlidXRpb25Db250cm9sOkxuLFNjYWxlQ29udHJvbDpXbixGdWxsc2NyZWVuQ29udHJvbDpKbixQb3B1cDpRbixNYXJrZXI6cW4sU3R5bGU6UmUsTG5nTGF0OnQuTG5nTGF0LExuZ0xhdEJvdW5kczp0LkxuZ0xhdEJvdW5kcyxQb2ludDp0LlBvaW50LE1lcmNhdG9yQ29vcmRpbmF0ZTp0Lk1lcmNhdG9yQ29vcmRpbmF0ZSxFdmVudGVkOnQuRXZlbnRlZCxjb25maWc6dC5jb25maWcsZ2V0IGFjY2Vzc1Rva2VuKCl7cmV0dXJuIHQuY29uZmlnLkFDQ0VTU19UT0tFTn0sc2V0IGFjY2Vzc1Rva2VuKGUpe3QuY29uZmlnLkFDQ0VTU19UT0tFTj1lfSxnZXQgYmFzZUFwaVVybCgpe3JldHVybiB0LmNvbmZpZy5BUElfVVJMfSxzZXQgYmFzZUFwaVVybChlKXt0LmNvbmZpZy5BUElfVVJMPWV9LGdldCB3b3JrZXJDb3VudCgpe3JldHVybiBJdC53b3JrZXJDb3VudH0sc2V0IHdvcmtlckNvdW50KHQpe0l0LndvcmtlckNvdW50PXR9LGdldCBtYXhQYXJhbGxlbEltYWdlUmVxdWVzdHMoKXtyZXR1cm4gdC5jb25maWcuTUFYX1BBUkFMTEVMX0lNQUdFX1JFUVVFU1RTfSxzZXQgbWF4UGFyYWxsZWxJbWFnZVJlcXVlc3RzKGUpe3QuY29uZmlnLk1BWF9QQVJBTExFTF9JTUFHRV9SRVFVRVNUUz1lfSxjbGVhclN0b3JhZ2U6ZnVuY3Rpb24oZSl7dC5jbGVhclRpbGVDYWNoZShlKX0sd29ya2VyVXJsOiIifTtyZXR1cm4gJG59KSxyfSwib2JqZWN0Ij09dHlwZW9mIHImJiJ1bmRlZmluZWQiIT10eXBlb2YgZT9lLmV4cG9ydHM9YSgpOihuPW58fHNlbGYpLm1hcGJveGdsPWEoKX0se31dLDQyOTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTE8PHQrMSxyPW5ldyBBcnJheShlKSxuPTA7bjxlOysrbilyW25dPWkodCxuKTtyZXR1cm4gcn07dmFyIG49dCgiY29udmV4LWh1bGwiKTtmdW5jdGlvbiBhKHQsZSxyKXtmb3IodmFyIG49bmV3IEFycmF5KHQpLGE9MDthPHQ7KythKW5bYV09MCxhPT09ZSYmKG5bYV0rPS41KSxhPT09ciYmKG5bYV0rPS41KTtyZXR1cm4gbn1mdW5jdGlvbiBpKHQsZSl7aWYoMD09PWV8fGU9PT0oMTw8dCsxKS0xKXJldHVybltdO2Zvcih2YXIgcj1bXSxpPVtdLG89MDtvPD10OysrbylpZihlJjE8PG8pe3IucHVzaChhKHQsby0xLG8tMSkpLGkucHVzaChudWxsKTtmb3IodmFyIHM9MDtzPD10Oysrcyl+ZSYxPDxzJiYoci5wdXNoKGEodCxvLTEscy0xKSksaS5wdXNoKFtvLHNdKSl9dmFyIGw9bihyKSxjPVtdO3Q6Zm9yKG89MDtvPGwubGVuZ3RoOysrbyl7dmFyIHU9bFtvXSxoPVtdO2ZvcihzPTA7czx1Lmxlbmd0aDsrK3Mpe2lmKCFpW3Vbc11dKWNvbnRpbnVlIHQ7aC5wdXNoKGlbdVtzXV0uc2xpY2UoKSl9Yy5wdXNoKGgpfXJldHVybiBjfX0seyJjb252ZXgtaHVsbCI6MTMyfV0sNDMwOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi9ub3JtYWxpemUiKSxhPXQoImdsLW1hdDQvY3JlYXRlIiksaT10KCJnbC1tYXQ0L2Nsb25lIiksbz10KCJnbC1tYXQ0L2RldGVybWluYW50Iikscz10KCJnbC1tYXQ0L2ludmVydCIpLGw9dCgiZ2wtbWF0NC90cmFuc3Bvc2UiKSxjPXtsZW5ndGg6dCgiZ2wtdmVjMy9sZW5ndGgiKSxub3JtYWxpemU6dCgiZ2wtdmVjMy9ub3JtYWxpemUiKSxkb3Q6dCgiZ2wtdmVjMy9kb3QiKSxjcm9zczp0KCJnbC12ZWMzL2Nyb3NzIil9LHU9YSgpLGg9YSgpLGY9WzAsMCwwLDBdLHA9W1swLDAsMF0sWzAsMCwwXSxbMCwwLDBdXSxkPVswLDAsMF07ZnVuY3Rpb24gZyh0LGUscixuLGEpe3RbMF09ZVswXSpuK3JbMF0qYSx0WzFdPWVbMV0qbityWzFdKmEsdFsyXT1lWzJdKm4rclsyXSphfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUscixhLHYsbSl7aWYoZXx8KGU9WzAsMCwwXSkscnx8KHI9WzAsMCwwXSksYXx8KGE9WzAsMCwwXSksdnx8KHY9WzAsMCwwLDFdKSxtfHwobT1bMCwwLDAsMV0pLCFuKHUsdCkpcmV0dXJuITE7aWYoaShoLHUpLGhbM109MCxoWzddPTAsaFsxMV09MCxoWzE1XT0xLE1hdGguYWJzKG8oaCk8MWUtOCkpcmV0dXJuITE7dmFyIHkseCxiLF8sdyxrLFQsTT11WzNdLEE9dVs3XSxTPXVbMTFdLEU9dVsxMl0sTD11WzEzXSxDPXVbMTRdLFA9dVsxNV07aWYoMCE9PU18fDAhPT1BfHwwIT09Uyl7aWYoZlswXT1NLGZbMV09QSxmWzJdPVMsZlszXT1QLCFzKGgsaCkpcmV0dXJuITE7bChoLGgpLHk9dixiPWgsXz0oeD1mKVswXSx3PXhbMV0saz14WzJdLFQ9eFszXSx5WzBdPWJbMF0qXytiWzRdKncrYls4XSprK2JbMTJdKlQseVsxXT1iWzFdKl8rYls1XSp3K2JbOV0qaytiWzEzXSpULHlbMl09YlsyXSpfK2JbNl0qdytiWzEwXSprK2JbMTRdKlQseVszXT1iWzNdKl8rYls3XSp3K2JbMTFdKmsrYlsxNV0qVH1lbHNlIHZbMF09dlsxXT12WzJdPTAsdlszXT0xO2lmKGVbMF09RSxlWzFdPUwsZVsyXT1DLGZ1bmN0aW9uKHQsZSl7dFswXVswXT1lWzBdLHRbMF1bMV09ZVsxXSx0WzBdWzJdPWVbMl0sdFsxXVswXT1lWzRdLHRbMV1bMV09ZVs1XSx0WzFdWzJdPWVbNl0sdFsyXVswXT1lWzhdLHRbMl1bMV09ZVs5XSx0WzJdWzJdPWVbMTBdfShwLHUpLHJbMF09Yy5sZW5ndGgocFswXSksYy5ub3JtYWxpemUocFswXSxwWzBdKSxhWzBdPWMuZG90KHBbMF0scFsxXSksZyhwWzFdLHBbMV0scFswXSwxLC1hWzBdKSxyWzFdPWMubGVuZ3RoKHBbMV0pLGMubm9ybWFsaXplKHBbMV0scFsxXSksYVswXS89clsxXSxhWzFdPWMuZG90KHBbMF0scFsyXSksZyhwWzJdLHBbMl0scFswXSwxLC1hWzFdKSxhWzJdPWMuZG90KHBbMV0scFsyXSksZyhwWzJdLHBbMl0scFsxXSwxLC1hWzJdKSxyWzJdPWMubGVuZ3RoKHBbMl0pLGMubm9ybWFsaXplKHBbMl0scFsyXSksYVsxXS89clsyXSxhWzJdLz1yWzJdLGMuY3Jvc3MoZCxwWzFdLHBbMl0pLGMuZG90KHBbMF0sZCk8MClmb3IodmFyIE89MDtPPDM7TysrKXJbT10qPS0xLHBbT11bMF0qPS0xLHBbT11bMV0qPS0xLHBbT11bMl0qPS0xO3JldHVybiBtWzBdPS41Kk1hdGguc3FydChNYXRoLm1heCgxK3BbMF1bMF0tcFsxXVsxXS1wWzJdWzJdLDApKSxtWzFdPS41Kk1hdGguc3FydChNYXRoLm1heCgxLXBbMF1bMF0rcFsxXVsxXS1wWzJdWzJdLDApKSxtWzJdPS41Kk1hdGguc3FydChNYXRoLm1heCgxLXBbMF1bMF0tcFsxXVsxXStwWzJdWzJdLDApKSxtWzNdPS41Kk1hdGguc3FydChNYXRoLm1heCgxK3BbMF1bMF0rcFsxXVsxXStwWzJdWzJdLDApKSxwWzJdWzFdPnBbMV1bMl0mJihtWzBdPS1tWzBdKSxwWzBdWzJdPnBbMl1bMF0mJihtWzFdPS1tWzFdKSxwWzFdWzBdPnBbMF1bMV0mJihtWzJdPS1tWzJdKSwhMH19LHsiLi9ub3JtYWxpemUiOjQzMSwiZ2wtbWF0NC9jbG9uZSI6MjYyLCJnbC1tYXQ0L2NyZWF0ZSI6MjYzLCJnbC1tYXQ0L2RldGVybWluYW50IjoyNjQsImdsLW1hdDQvaW52ZXJ0IjoyNjgsImdsLW1hdDQvdHJhbnNwb3NlIjoyNzksImdsLXZlYzMvY3Jvc3MiOjMzNiwiZ2wtdmVjMy9kb3QiOjM0MSwiZ2wtdmVjMy9sZW5ndGgiOjM1MSwiZ2wtdmVjMy9ub3JtYWxpemUiOjM1OH1dLDQzMTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciByPWVbMTVdO2lmKDA9PT1yKXJldHVybiExO2Zvcih2YXIgbj0xL3IsYT0wO2E8MTY7YSsrKXRbYV09ZVthXSpuO3JldHVybiEwfX0se31dLDQzMjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImdsLXZlYzMvbGVycCIpLGE9dCgibWF0NC1yZWNvbXBvc2UiKSxpPXQoIm1hdDQtZGVjb21wb3NlIiksbz10KCJnbC1tYXQ0L2RldGVybWluYW50Iikscz10KCJxdWF0LXNsZXJwIiksbD1oKCksYz1oKCksdT1oKCk7ZnVuY3Rpb24gaCgpe3JldHVybnt0cmFuc2xhdGU6ZigpLHNjYWxlOmYoMSksc2tldzpmKCkscGVyc3BlY3RpdmU6WzAsMCwwLDFdLHF1YXRlcm5pb246WzAsMCwwLDFdfX1mdW5jdGlvbiBmKHQpe3JldHVyblt0fHwwLHR8fDAsdHx8MF19ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLGgpe2lmKDA9PT1vKGUpfHwwPT09byhyKSlyZXR1cm4hMTt2YXIgZj1pKGUsbC50cmFuc2xhdGUsbC5zY2FsZSxsLnNrZXcsbC5wZXJzcGVjdGl2ZSxsLnF1YXRlcm5pb24pLHA9aShyLGMudHJhbnNsYXRlLGMuc2NhbGUsYy5za2V3LGMucGVyc3BlY3RpdmUsYy5xdWF0ZXJuaW9uKTtyZXR1cm4hKCFmfHwhcHx8KG4odS50cmFuc2xhdGUsbC50cmFuc2xhdGUsYy50cmFuc2xhdGUsaCksbih1LnNrZXcsbC5za2V3LGMuc2tldyxoKSxuKHUuc2NhbGUsbC5zY2FsZSxjLnNjYWxlLGgpLG4odS5wZXJzcGVjdGl2ZSxsLnBlcnNwZWN0aXZlLGMucGVyc3BlY3RpdmUsaCkscyh1LnF1YXRlcm5pb24sbC5xdWF0ZXJuaW9uLGMucXVhdGVybmlvbixoKSxhKHQsdS50cmFuc2xhdGUsdS5zY2FsZSx1LnNrZXcsdS5wZXJzcGVjdGl2ZSx1LnF1YXRlcm5pb24pLDApKX19LHsiZ2wtbWF0NC9kZXRlcm1pbmFudCI6MjY0LCJnbC12ZWMzL2xlcnAiOjM1MiwibWF0NC1kZWNvbXBvc2UiOjQzMCwibWF0NC1yZWNvbXBvc2UiOjQzMywicXVhdC1zbGVycCI6NDg1fV0sNDMzOltmdW5jdGlvbih0LGUscil7dmFyIG49e2lkZW50aXR5OnQoImdsLW1hdDQvaWRlbnRpdHkiKSx0cmFuc2xhdGU6dCgiZ2wtbWF0NC90cmFuc2xhdGUiKSxtdWx0aXBseTp0KCJnbC1tYXQ0L211bHRpcGx5IiksY3JlYXRlOnQoImdsLW1hdDQvY3JlYXRlIiksc2NhbGU6dCgiZ2wtbWF0NC9zY2FsZSIpLGZyb21Sb3RhdGlvblRyYW5zbGF0aW9uOnQoImdsLW1hdDQvZnJvbVJvdGF0aW9uVHJhbnNsYXRpb24iKX0sYT0obi5jcmVhdGUoKSxuLmNyZWF0ZSgpKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsaSxvLHMpe3JldHVybiBuLmlkZW50aXR5KHQpLG4uZnJvbVJvdGF0aW9uVHJhbnNsYXRpb24odCxzLGUpLHRbM109b1swXSx0WzddPW9bMV0sdFsxMV09b1syXSx0WzE1XT1vWzNdLG4uaWRlbnRpdHkoYSksMCE9PWlbMl0mJihhWzldPWlbMl0sbi5tdWx0aXBseSh0LHQsYSkpLDAhPT1pWzFdJiYoYVs5XT0wLGFbOF09aVsxXSxuLm11bHRpcGx5KHQsdCxhKSksMCE9PWlbMF0mJihhWzhdPTAsYVs0XT1pWzBdLG4ubXVsdGlwbHkodCx0LGEpKSxuLnNjYWxlKHQsdCxyKSx0fX0seyJnbC1tYXQ0L2NyZWF0ZSI6MjYzLCJnbC1tYXQ0L2Zyb21Sb3RhdGlvblRyYW5zbGF0aW9uIjoyNjYsImdsLW1hdDQvaWRlbnRpdHkiOjI2NywiZ2wtbWF0NC9tdWx0aXBseSI6MjcwLCJnbC1tYXQ0L3NjYWxlIjoyNzcsImdsLW1hdDQvdHJhbnNsYXRlIjoyNzh9XSw0MzQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPU1hdGgubG9nMnx8ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubG9nKHQpKk1hdGguTE9HMkV9fSx7fV0sNDM1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImJpbmFyeS1zZWFyY2gtYm91bmRzIiksYT10KCJtYXQ0LWludGVycG9sYXRlIiksaT10KCJnbC1tYXQ0L2ludmVydCIpLG89dCgiZ2wtbWF0NC9yb3RhdGVYIikscz10KCJnbC1tYXQ0L3JvdGF0ZVkiKSxsPXQoImdsLW1hdDQvcm90YXRlWiIpLGM9dCgiZ2wtbWF0NC9sb29rQXQiKSx1PXQoImdsLW1hdDQvdHJhbnNsYXRlIiksaD0odCgiZ2wtbWF0NC9zY2FsZSIpLHQoImdsLXZlYzMvbm9ybWFsaXplIikpLGY9WzAsMCwwXTtmdW5jdGlvbiBwKHQpe3RoaXMuX2NvbXBvbmVudHM9dC5zbGljZSgpLHRoaXMuX3RpbWU9WzBdLHRoaXMucHJldk1hdHJpeD10LnNsaWNlKCksdGhpcy5uZXh0TWF0cml4PXQuc2xpY2UoKSx0aGlzLmNvbXB1dGVkTWF0cml4PXQuc2xpY2UoKSx0aGlzLmNvbXB1dGVkSW52ZXJzZT10LnNsaWNlKCksdGhpcy5jb21wdXRlZEV5ZT1bMCwwLDBdLHRoaXMuY29tcHV0ZWRVcD1bMCwwLDBdLHRoaXMuY29tcHV0ZWRDZW50ZXI9WzAsMCwwXSx0aGlzLmNvbXB1dGVkUmFkaXVzPVswXSx0aGlzLl9saW1pdHM9Wy0xLzAsMS8wXX1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBwKCh0PXR8fHt9KS5tYXRyaXh8fFsxLDAsMCwwLDAsMSwwLDAsMCwwLDEsMCwwLDAsMCwxXSl9O3ZhciBkPXAucHJvdG90eXBlO2QucmVjYWxjTWF0cml4PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3RpbWUscj1uLmxlKGUsdCksbz10aGlzLmNvbXB1dGVkTWF0cml4O2lmKCEocjwwKSl7dmFyIHM9dGhpcy5fY29tcG9uZW50cztpZihyPT09ZS5sZW5ndGgtMSlmb3IodmFyIGw9MTYqcixjPTA7YzwxNjsrK2Mpb1tjXT1zW2wrK107ZWxzZXt2YXIgdT1lW3IrMV0tZVtyXSxmPShsPTE2KnIsdGhpcy5wcmV2TWF0cml4KSxwPSEwO2ZvcihjPTA7YzwxNjsrK2MpZltjXT1zW2wrK107dmFyIGQ9dGhpcy5uZXh0TWF0cml4O2ZvcihjPTA7YzwxNjsrK2MpZFtjXT1zW2wrK10scD1wJiZmW2NdPT09ZFtjXTtpZih1PDFlLTZ8fHApZm9yKGM9MDtjPDE2OysrYylvW2NdPWZbY107ZWxzZSBhKG8sZixkLCh0LWVbcl0pL3UpfXZhciBnPXRoaXMuY29tcHV0ZWRVcDtnWzBdPW9bMV0sZ1sxXT1vWzVdLGdbMl09b1s5XSxoKGcsZyk7dmFyIHY9dGhpcy5jb21wdXRlZEludmVyc2U7aSh2LG8pO3ZhciBtPXRoaXMuY29tcHV0ZWRFeWUseT12WzE1XTttWzBdPXZbMTJdL3ksbVsxXT12WzEzXS95LG1bMl09dlsxNF0veTt2YXIgeD10aGlzLmNvbXB1dGVkQ2VudGVyLGI9TWF0aC5leHAodGhpcy5jb21wdXRlZFJhZGl1c1swXSk7Zm9yKGM9MDtjPDM7KytjKXhbY109bVtjXS1vWzIrNCpjXSpifX0sZC5pZGxlPWZ1bmN0aW9uKHQpe2lmKCEodDx0aGlzLmxhc3RUKCkpKXtmb3IodmFyIGU9dGhpcy5fY29tcG9uZW50cyxyPWUubGVuZ3RoLTE2LG49MDtuPDE2OysrbillLnB1c2goZVtyKytdKTt0aGlzLl90aW1lLnB1c2godCl9fSxkLmZsdXNoPWZ1bmN0aW9uKHQpe3ZhciBlPW4uZ3QodGhpcy5fdGltZSx0KS0yO2U8MHx8KHRoaXMuX3RpbWUuc3BsaWNlKDAsZSksdGhpcy5fY29tcG9uZW50cy5zcGxpY2UoMCwxNiplKSl9LGQubGFzdFQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdGltZVt0aGlzLl90aW1lLmxlbmd0aC0xXX0sZC5sb29rQXQ9ZnVuY3Rpb24odCxlLHIsbil7dGhpcy5yZWNhbGNNYXRyaXgodCksZT1lfHx0aGlzLmNvbXB1dGVkRXllLHI9cnx8ZixuPW58fHRoaXMuY29tcHV0ZWRVcCx0aGlzLnNldE1hdHJpeCh0LGModGhpcy5jb21wdXRlZE1hdHJpeCxlLHIsbikpO2Zvcih2YXIgYT0wLGk9MDtpPDM7KytpKWErPU1hdGgucG93KHJbaV0tZVtpXSwyKTthPU1hdGgubG9nKE1hdGguc3FydChhKSksdGhpcy5jb21wdXRlZFJhZGl1c1swXT1hfSxkLnJvdGF0ZT1mdW5jdGlvbih0LGUscixuKXt0aGlzLnJlY2FsY01hdHJpeCh0KTt2YXIgYT10aGlzLmNvbXB1dGVkSW52ZXJzZTtlJiZzKGEsYSxlKSxyJiZvKGEsYSxyKSxuJiZsKGEsYSxuKSx0aGlzLnNldE1hdHJpeCh0LGkodGhpcy5jb21wdXRlZE1hdHJpeCxhKSl9O3ZhciBnPVswLDAsMF07ZC5wYW49ZnVuY3Rpb24odCxlLHIsbil7Z1swXT0tKGV8fDApLGdbMV09LShyfHwwKSxnWzJdPS0obnx8MCksdGhpcy5yZWNhbGNNYXRyaXgodCk7dmFyIGE9dGhpcy5jb21wdXRlZEludmVyc2U7dShhLGEsZyksdGhpcy5zZXRNYXRyaXgodCxpKGEsYSkpfSxkLnRyYW5zbGF0ZT1mdW5jdGlvbih0LGUscixuKXtnWzBdPWV8fDAsZ1sxXT1yfHwwLGdbMl09bnx8MCx0aGlzLnJlY2FsY01hdHJpeCh0KTt2YXIgYT10aGlzLmNvbXB1dGVkTWF0cml4O3UoYSxhLGcpLHRoaXMuc2V0TWF0cml4KHQsYSl9LGQuc2V0TWF0cml4PWZ1bmN0aW9uKHQsZSl7aWYoISh0PHRoaXMubGFzdFQoKSkpe3RoaXMuX3RpbWUucHVzaCh0KTtmb3IodmFyIHI9MDtyPDE2Oysrcil0aGlzLl9jb21wb25lbnRzLnB1c2goZVtyXSl9fSxkLnNldERpc3RhbmNlPWZ1bmN0aW9uKHQsZSl7dGhpcy5jb21wdXRlZFJhZGl1c1swXT1lfSxkLnNldERpc3RhbmNlTGltaXRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5fbGltaXRzO3JbMF09dCxyWzFdPWV9LGQuZ2V0RGlzdGFuY2VMaW1pdHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fbGltaXRzO3JldHVybiB0Pyh0WzBdPWVbMF0sdFsxXT1lWzFdLHQpOmV9fSx7ImJpbmFyeS1zZWFyY2gtYm91bmRzIjo5MywiZ2wtbWF0NC9pbnZlcnQiOjI2OCwiZ2wtbWF0NC9sb29rQXQiOjI2OSwiZ2wtbWF0NC9yb3RhdGVYIjoyNzQsImdsLW1hdDQvcm90YXRlWSI6Mjc1LCJnbC1tYXQ0L3JvdGF0ZVoiOjI3NiwiZ2wtbWF0NC9zY2FsZSI6Mjc3LCJnbC1tYXQ0L3RyYW5zbGF0ZSI6Mjc4LCJnbC12ZWMzL25vcm1hbGl6ZSI6MzU4LCJtYXQ0LWludGVycG9sYXRlIjo0MzJ9XSw0MzY6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoO2lmKGU8Myl7Zm9yKHZhciByPW5ldyBBcnJheShlKSxhPTA7YTxlOysrYSlyW2FdPWE7cmV0dXJuIDI9PT1lJiZ0WzBdWzBdPT09dFsxXVswXSYmdFswXVsxXT09PXRbMV1bMV0/WzBdOnJ9Zm9yKHZhciBpPW5ldyBBcnJheShlKSxhPTA7YTxlOysrYSlpW2FdPWE7aS5zb3J0KGZ1bmN0aW9uKGUscil7dmFyIG49dFtlXVswXS10W3JdWzBdO3JldHVybiBufHx0W2VdWzFdLXRbcl1bMV19KTtmb3IodmFyIG89W2lbMF0saVsxXV0scz1baVswXSxpWzFdXSxhPTI7YTxlOysrYSl7Zm9yKHZhciBsPWlbYV0sYz10W2xdLHU9by5sZW5ndGg7dT4xJiZuKHRbb1t1LTJdXSx0W29bdS0xXV0sYyk8PTA7KXUtPTEsby5wb3AoKTtmb3Ioby5wdXNoKGwpLHU9cy5sZW5ndGg7dT4xJiZuKHRbc1t1LTJdXSx0W3NbdS0xXV0sYyk+PTA7KXUtPTEscy5wb3AoKTtzLnB1c2gobCl9Zm9yKHZhciByPW5ldyBBcnJheShzLmxlbmd0aCtvLmxlbmd0aC0yKSxoPTAsYT0wLGY9by5sZW5ndGg7YTxmOysrYSlyW2grK109b1thXTtmb3IodmFyIHA9cy5sZW5ndGgtMjtwPjA7LS1wKXJbaCsrXT1zW3BdO3JldHVybiByfTt2YXIgbj10KCJyb2J1c3Qtb3JpZW50YXRpb24iKVszXX0seyJyb2J1c3Qtb3JpZW50YXRpb24iOjUwOX1dLDQzNzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtlfHwoZT10LHQ9d2luZG93KTt2YXIgcj0wLGE9MCxpPTAsbz17c2hpZnQ6ITEsYWx0OiExLGNvbnRyb2w6ITEsbWV0YTohMX0scz0hMTtmdW5jdGlvbiBsKHQpe3ZhciBlPSExO3JldHVybiJhbHRLZXkiaW4gdCYmKGU9ZXx8dC5hbHRLZXkhPT1vLmFsdCxvLmFsdD0hIXQuYWx0S2V5KSwic2hpZnRLZXkiaW4gdCYmKGU9ZXx8dC5zaGlmdEtleSE9PW8uc2hpZnQsby5zaGlmdD0hIXQuc2hpZnRLZXkpLCJjdHJsS2V5ImluIHQmJihlPWV8fHQuY3RybEtleSE9PW8uY29udHJvbCxvLmNvbnRyb2w9ISF0LmN0cmxLZXkpLCJtZXRhS2V5ImluIHQmJihlPWV8fHQubWV0YUtleSE9PW8ubWV0YSxvLm1ldGE9ISF0Lm1ldGFLZXkpLGV9ZnVuY3Rpb24gYyh0LHMpe3ZhciBjPW4ueChzKSx1PW4ueShzKTsiYnV0dG9ucyJpbiBzJiYodD0wfHMuYnV0dG9ucyksKHQhPT1yfHxjIT09YXx8dSE9PWl8fGwocykpJiYocj0wfHQsYT1jfHwwLGk9dXx8MCxlJiZlKHIsYSxpLG8pKX1mdW5jdGlvbiB1KHQpe2MoMCx0KX1mdW5jdGlvbiBoKCl7KHJ8fGF8fGl8fG8uc2hpZnR8fG8uYWx0fHxvLm1ldGF8fG8uY29udHJvbCkmJihhPWk9MCxyPTAsby5zaGlmdD1vLmFsdD1vLmNvbnRyb2w9by5tZXRhPSExLGUmJmUoMCwwLDAsbykpfWZ1bmN0aW9uIGYodCl7bCh0KSYmZSYmZShyLGEsaSxvKX1mdW5jdGlvbiBwKHQpezA9PT1uLmJ1dHRvbnModCk/YygwLHQpOmMocix0KX1mdW5jdGlvbiBkKHQpe2MocnxuLmJ1dHRvbnModCksdCl9ZnVuY3Rpb24gZyh0KXtjKHImfm4uYnV0dG9ucyh0KSx0KX1mdW5jdGlvbiB2KCl7c3x8KHM9ITAsdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHApLHQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixkKSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLGcpLHQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdSksdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIix1KSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0Iix1KSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsdSksdC5hZGRFdmVudExpc3RlbmVyKCJibHVyIixoKSx0LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixmKSx0LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGYpLHQuYWRkRXZlbnRMaXN0ZW5lcigia2V5cHJlc3MiLGYpLHQhPT13aW5kb3cmJih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsaCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixmKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZiksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXByZXNzIixmKSkpfXYoKTt2YXIgbT17ZWxlbWVudDp0fTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMobSx7ZW5hYmxlZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHN9LHNldDpmdW5jdGlvbihlKXtlP3YoKTpzJiYocz0hMSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIscCksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGQpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsZyksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix1KSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLHUpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLHUpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VvdmVyIix1KSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLGgpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLGYpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZiksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlwcmVzcyIsZiksdCE9PXdpbmRvdyYmKHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixoKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLGYpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixmKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5cHJlc3MiLGYpKSl9LGVudW1lcmFibGU6ITB9LGJ1dHRvbnM6e2dldDpmdW5jdGlvbigpe3JldHVybiByfSxlbnVtZXJhYmxlOiEwfSx4OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sZW51bWVyYWJsZTohMH0seTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGVudW1lcmFibGU6ITB9LG1vZHM6e2dldDpmdW5jdGlvbigpe3JldHVybiBvfSxlbnVtZXJhYmxlOiEwfX0pLG19O3ZhciBuPXQoIm1vdXNlLWV2ZW50Iil9LHsibW91c2UtZXZlbnQiOjQzOX1dLDQzODpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXtsZWZ0OjAsdG9wOjB9O2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7ZT1lfHx0LmN1cnJlbnRUYXJnZXR8fHQuc3JjRWxlbWVudCxBcnJheS5pc0FycmF5KHIpfHwocj1bMCwwXSk7dmFyIGE9dC5jbGllbnRYfHwwLGk9dC5jbGllbnRZfHwwLG89KHM9ZSxzPT09d2luZG93fHxzPT09ZG9jdW1lbnR8fHM9PT1kb2N1bWVudC5ib2R5P246cy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSk7dmFyIHM7cmV0dXJuIHJbMF09YS1vLmxlZnQsclsxXT1pLW8udG9wLHJ9fSx7fV0sNDM5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4odCl7cmV0dXJuIHQudGFyZ2V0fHx0LnNyY0VsZW1lbnR8fHdpbmRvd31yLmJ1dHRvbnM9ZnVuY3Rpb24odCl7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXtpZigiYnV0dG9ucyJpbiB0KXJldHVybiB0LmJ1dHRvbnM7aWYoIndoaWNoImluIHQpe2lmKDI9PT0oZT10LndoaWNoKSlyZXR1cm4gNDtpZigzPT09ZSlyZXR1cm4gMjtpZihlPjApcmV0dXJuIDE8PGUtMX1lbHNlIGlmKCJidXR0b24iaW4gdCl7dmFyIGU7aWYoMT09PShlPXQuYnV0dG9uKSlyZXR1cm4gNDtpZigyPT09ZSlyZXR1cm4gMjtpZihlPj0wKXJldHVybiAxPDxlfX1yZXR1cm4gMH0sci5lbGVtZW50PW4sci54PWZ1bmN0aW9uKHQpe2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoIm9mZnNldFgiaW4gdClyZXR1cm4gdC5vZmZzZXRYO3ZhciBlPW4odCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIHQuY2xpZW50WC1lLmxlZnR9cmV0dXJuIDB9LHIueT1mdW5jdGlvbih0KXtpZigib2JqZWN0Ij09dHlwZW9mIHQpe2lmKCJvZmZzZXRZImluIHQpcmV0dXJuIHQub2Zmc2V0WTt2YXIgZT1uKHQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiB0LmNsaWVudFktZS50b3B9cmV0dXJuIDB9fSx7fV0sNDQwOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInRvLXB4Iik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXsiZnVuY3Rpb24iPT10eXBlb2YgdCYmKHI9ISFlLGU9dCx0PXdpbmRvdyk7dmFyIGE9bigiZXgiLHQpLGk9ZnVuY3Rpb24odCl7ciYmdC5wcmV2ZW50RGVmYXVsdCgpO3ZhciBuPXQuZGVsdGFYfHwwLGk9dC5kZWx0YVl8fDAsbz10LmRlbHRhWnx8MCxzPXQuZGVsdGFNb2RlLGw9MTtzd2l0Y2gocyl7Y2FzZSAxOmw9YTticmVhaztjYXNlIDI6bD13aW5kb3cuaW5uZXJIZWlnaHR9aWYoaSo9bCxvKj1sLChuKj1sKXx8aXx8bylyZXR1cm4gZShuLGksbyx0KX07cmV0dXJuIHQuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLGkpLGl9fSx7InRvLXB4Ijo1Mzh9XSw0NDE6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgidHlwZWRhcnJheS1wb29sIik7ZnVuY3Rpb24gYSh0KXtyZXR1cm4iYSIrdH1mdW5jdGlvbiBpKHQpe3JldHVybiJkIit0fWZ1bmN0aW9uIG8odCxlKXtyZXR1cm4iYyIrdCsiXyIrZX1mdW5jdGlvbiBzKHQpe3JldHVybiJzIit0fWZ1bmN0aW9uIGwodCxlKXtyZXR1cm4idCIrdCsiXyIrZX1mdW5jdGlvbiBjKHQpe3JldHVybiJvIit0fWZ1bmN0aW9uIHUodCl7cmV0dXJuIngiK3R9ZnVuY3Rpb24gaCh0KXtyZXR1cm4icCIrdH1mdW5jdGlvbiBmKHQsZSl7cmV0dXJuImQiK3QrIl8iK2V9ZnVuY3Rpb24gcCh0KXtyZXR1cm4iaSIrdH1mdW5jdGlvbiBkKHQsZSl7cmV0dXJuInUiK3QrIl8iK2V9ZnVuY3Rpb24gZyh0KXtyZXR1cm4iYiIrdH1mdW5jdGlvbiB2KHQpe3JldHVybiJ5Iit0fWZ1bmN0aW9uIG0odCl7cmV0dXJuImUiK3R9ZnVuY3Rpb24geSh0KXtyZXR1cm4idiIrdH1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0KXt0aHJvdyBuZXcgRXJyb3IoIm5kYXJyYXktZXh0cmFjdC1jb250b3VyOiAiK3QpfSJvYmplY3QiIT10eXBlb2YgdCYmZSgiTXVzdCBzcGVjaWZ5IGFyZ3VtZW50cyIpO3ZhciByPXQub3JkZXI7QXJyYXkuaXNBcnJheShyKXx8ZSgiTXVzdCBzcGVjaWZ5IG9yZGVyIik7dmFyIEE9dC5hcnJheUFyZ3VtZW50c3x8MTtBPDEmJmUoIk11c3QgaGF2ZSBhdCBsZWFzdCBvbmUgYXJyYXkgYXJndW1lbnQiKTt2YXIgUz10LnNjYWxhckFyZ3VtZW50c3x8MDtTPDAmJmUoIlNjYWxhciBhcmcgY291bnQgbXVzdCBiZSA+IDAiKTsiZnVuY3Rpb24iIT10eXBlb2YgdC52ZXJ0ZXgmJmUoIk11c3Qgc3BlY2lmeSB2ZXJ0ZXggY3JlYXRpb24gZnVuY3Rpb24iKTsiZnVuY3Rpb24iIT10eXBlb2YgdC5jZWxsJiZlKCJNdXN0IHNwZWNpZnkgY2VsbCBjcmVhdGlvbiBmdW5jdGlvbiIpOyJmdW5jdGlvbiIhPXR5cGVvZiB0LnBoYXNlJiZlKCJNdXN0IHNwZWNpZnkgcGhhc2UgZnVuY3Rpb24iKTtmb3IodmFyIEU9dC5nZXR0ZXJzfHxbXSxMPW5ldyBBcnJheShBKSxDPTA7QzxBOysrQylFLmluZGV4T2YoQyk+PTA/TFtDXT0hMDpMW0NdPSExO3JldHVybiBmdW5jdGlvbih0LGUscixBLFMsRSl7dmFyIEw9RS5sZW5ndGgsQz1TLmxlbmd0aDtpZihDPDIpdGhyb3cgbmV3IEVycm9yKCJuZGFycmF5LWV4dHJhY3QtY29udG91cjogRGltZW5zaW9uIG11c3QgYmUgYXQgbGVhc3QgMiIpO2Zvcih2YXIgUD0iZXh0cmFjdENvbnRvdXIiK1Muam9pbigiXyIpLE89W10sej1bXSxJPVtdLEQ9MDtEPEw7KytEKUkucHVzaChhKEQpKTtmb3IodmFyIEQ9MDtEPEE7KytEKUkucHVzaCh1KEQpKTtmb3IodmFyIEQ9MDtEPEM7KytEKXoucHVzaChzKEQpKyI9IithKDApKyIuc2hhcGVbIitEKyJdfDAiKTtmb3IodmFyIEQ9MDtEPEw7KytEKXt6LnB1c2goaShEKSsiPSIrYShEKSsiLmRhdGEiLGMoRCkrIj0iK2EoRCkrIi5vZmZzZXR8MCIpO2Zvcih2YXIgUj0wO1I8QzsrK1Ipei5wdXNoKGwoRCxSKSsiPSIrYShEKSsiLnN0cmlkZVsiK1IrIl18MCIpfWZvcih2YXIgRD0wO0Q8TDsrK0Qpe3oucHVzaChoKEQpKyI9IitjKEQpKSx6LnB1c2gobyhELDApKTtmb3IodmFyIFI9MTtSPDE8PEM7KytSKXtmb3IodmFyIEY9W10sQj0wO0I8QzsrK0IpUiYxPDxCJiZGLnB1c2goIi0iK2woRCxCKSk7ei5wdXNoKGYoRCxSKSsiPSgiK0Yuam9pbigiIikrIil8MCIpLHoucHVzaChvKEQsUikrIj0wIil9fWZvcih2YXIgRD0wO0Q8TDsrK0QpZm9yKHZhciBSPTA7UjxDOysrUil7dmFyIE49W2woRCxTW1JdKV07Uj4wJiZOLnB1c2gobChELFNbUi0xXSkrIioiK3MoU1tSLTFdKSksei5wdXNoKGQoRCxTW1JdKSsiPSgiK04uam9pbigiLSIpKyIpfDAiKX1mb3IodmFyIEQ9MDtEPEM7KytEKXoucHVzaChwKEQpKyI9MCIpO3oucHVzaChfKyI9MCIpO2Zvcih2YXIgaj1bIjIiXSxEPUMtMjtEPj0wOy0tRClqLnB1c2gocyhTW0RdKSk7ei5wdXNoKHcrIj0oIitqLmpvaW4oIioiKSsiKXwwIixiKyI9bWFsbG9jVWludDMyKCIrdysiKSIseCsiPW1hbGxvY1VpbnQzMigiK3crIikiLGsrIj0wIiksei5wdXNoKGcoMCkrIj0wIik7Zm9yKHZhciBSPTE7UjwxPDxDOysrUil7Zm9yKHZhciBWPVtdLFU9W10sQj0wO0I8QzsrK0IpUiYxPDxCJiYoMD09PVUubGVuZ3RoP1YucHVzaCgiMSIpOlYudW5zaGlmdChVLmpvaW4oIioiKSkpLFUucHVzaChzKFNbQl0pKTt2YXIgcT0iIjtWWzBdLmluZGV4T2YocyhTW0MtMl0pKTwwJiYocT0iLSIpO3ZhciBIPU0oQyxSLFMpO3oucHVzaChtKEgpKyI9KC0iK1Yuam9pbigiLSIpKyIpfDAiLHYoSCkrIj0oIitxK1Yuam9pbigiLSIpKyIpfDAiLGcoSCkrIj0wIil9ZnVuY3Rpb24gRyh0LGUpe08ucHVzaCgiZm9yKCIscChTW3RdKSwiPSIsZSwiOyIscChTW3RdKSwiPCIscyhTW3RdKSwiOyIsIisrIixwKFNbdF0pLCIpeyIpfWZ1bmN0aW9uIFkodCl7Zm9yKHZhciBlPTA7ZTxMOysrZSlPLnB1c2goaChlKSwiKz0iLGQoZSxTW3RdKSwiOyIpO08ucHVzaCgifSIpfWZ1bmN0aW9uIFcoKXtmb3IodmFyIHQ9MTt0PDE8PEM7Kyt0KU8ucHVzaChULCI9IixtKHQpLCI7IixtKHQpLCI9Iix2KHQpLCI7Iix2KHQpLCI9IixULCI7Iil9ei5wdXNoKHkoMCkrIj0wIixUKyI9MCIpLGZ1bmN0aW9uIHQoZSxyKXtpZihlPDApcmV0dXJuIHZvaWQgZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTxMOysrZSlFW2VdP08ucHVzaChvKGUsMCksIj0iLGkoZSksIi5nZXQoIixoKGUpLCIpOyIpOk8ucHVzaChvKGUsMCksIj0iLGkoZSksIlsiLGgoZSksIl07Iik7Zm9yKHZhciByPVtdLGU9MDtlPEw7KytlKXIucHVzaChvKGUsMCkpO2Zvcih2YXIgZT0wO2U8QTsrK2Upci5wdXNoKHUoZSkpO08ucHVzaChnKDApLCI9IixiLCJbIixrLCJdPXBoYXNlKCIsci5qb2luKCksIik7Iik7Zm9yKHZhciBuPTE7bjwxPDxDOysrbilPLnB1c2goZyhuKSwiPSIsYiwiWyIsaywiKyIsbShuKSwiXTsiKTtmb3IodmFyIGE9W10sbj0xO248MTw8QzsrK24pYS5wdXNoKCIoIitnKDApKyIhPT0iK2cobikrIikiKTtPLnB1c2goImlmKCIsYS5qb2luKCJ8fCIpLCIpeyIpO2Zvcih2YXIgcz1bXSxlPTA7ZTxDOysrZSlzLnB1c2gocChlKSk7Zm9yKHZhciBlPTA7ZTxMOysrZSl7cy5wdXNoKG8oZSwwKSk7Zm9yKHZhciBuPTE7bjwxPDxDOysrbilFW2VdP08ucHVzaChvKGUsbiksIj0iLGkoZSksIi5nZXQoIixoKGUpLCIrIixmKGUsbiksIik7Iik6Ty5wdXNoKG8oZSxuKSwiPSIsaShlKSwiWyIsaChlKSwiKyIsZihlLG4pLCJdOyIpLHMucHVzaChvKGUsbikpfWZvcih2YXIgZT0wO2U8MTw8QzsrK2Upcy5wdXNoKGcoZSkpO2Zvcih2YXIgZT0wO2U8QTsrK2Upcy5wdXNoKHUoZSkpO08ucHVzaCgidmVydGV4KCIscy5qb2luKCksIik7Iix5KDApLCI9Iix4LCJbIixrLCJdPSIsXywiKys7Iik7Zm9yKHZhciBsPSgxPDxDKS0xLGM9ZyhsKSxuPTA7bjxDOysrbilpZigwPT0odCZ+KDE8PG4pKSl7Zm9yKHZhciBkPWxeMTw8bix2PWcoZCksdz1bXSxUPWQ7VD4wO1Q9VC0xJmQpdy5wdXNoKHgrIlsiK2srIisiK20oVCkrIl0iKTt3LnB1c2goeSgwKSk7Zm9yKHZhciBUPTA7VDxMOysrVCkxJm4/dy5wdXNoKG8oVCxsKSxvKFQsZCkpOncucHVzaChvKFQsZCksbyhULGwpKTsxJm4/dy5wdXNoKGMsdik6dy5wdXNoKHYsYyk7Zm9yKHZhciBUPTA7VDxBOysrVCl3LnB1c2godShUKSk7Ty5wdXNoKCJpZigiLGMsIiE9PSIsdiwiKXsiLCJmYWNlKCIsdy5qb2luKCksIil9Iil9Ty5wdXNoKCJ9IixrLCIrPTE7Iil9KHIpOyFmdW5jdGlvbih0KXtmb3IodmFyIGU9dC0xO2U+PTA7LS1lKUcoZSwwKTtmb3IodmFyIHI9W10sZT0wO2U8TDsrK2UpRVtlXT9yLnB1c2goaShlKSsiLmdldCgiK2goZSkrIikiKTpyLnB1c2goaShlKSsiWyIraChlKSsiXSIpO2Zvcih2YXIgZT0wO2U8QTsrK2Upci5wdXNoKHUoZSkpO08ucHVzaChiLCJbIixrLCIrK109cGhhc2UoIixyLmpvaW4oKSwiKTsiKTtmb3IodmFyIGU9MDtlPHQ7KytlKVkoZSk7Zm9yKHZhciBuPTA7bjxMOysrbilPLnB1c2goaChuKSwiKz0iLGQobixTW3RdKSwiOyIpfShlKTtPLnB1c2goImlmKCIscyhTW2VdKSwiPjApeyIscChTW2VdKSwiPTE7Iik7dChlLTEscnwxPDxTW2VdKTtmb3IodmFyIG49MDtuPEw7KytuKU8ucHVzaChoKG4pLCIrPSIsZChuLFNbZV0pLCI7Iik7ZT09PUMtMSYmKE8ucHVzaChrLCI9MDsiKSxXKCkpO0coZSwyKTt0KGUtMSxyKTtlPT09Qy0xJiYoTy5wdXNoKCJpZigiLHAoU1tDLTFdKSwiJjEpeyIsaywiPTA7fSIpLFcoKSk7WShlKTtPLnB1c2goIn0iKX0oQy0xLDApLE8ucHVzaCgiZnJlZVVpbnQzMigiLHgsIik7ZnJlZVVpbnQzMigiLGIsIik7Iik7dmFyIFg9WyIndXNlIHN0cmljdCc7IiwiZnVuY3Rpb24gIixQLCIoIixJLmpvaW4oKSwiKXsiLCJ2YXIgIix6LmpvaW4oKSwiOyIsTy5qb2luKCIiKSwifSIsInJldHVybiAiLFBdLmpvaW4oIiIpO3JldHVybiBuZXcgRnVuY3Rpb24oInZlcnRleCIsImZhY2UiLCJwaGFzZSIsIm1hbGxvY1VpbnQzMiIsImZyZWVVaW50MzIiLFgpKHQsZSxyLG4ubWFsbG9jVWludDMyLG4uZnJlZVVpbnQzMil9KHQudmVydGV4LHQuY2VsbCx0LnBoYXNlLFMscixMKX07dmFyIHg9IlYiLGI9IlAiLF89Ik4iLHc9IlEiLGs9IlgiLFQ9IlQiO2Z1bmN0aW9uIE0odCxlLHIpe2Zvcih2YXIgbj0wLGE9MDthPHQ7KythKWUmMTw8YSYmKG58PTE8PHJbYV0pO3JldHVybiBufX0seyJ0eXBlZGFycmF5LXBvb2wiOjU0NH1dLDQ0MjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJjd2lzZS9saWIvd3JhcHBlciIpKHthcmdzOlsiaW5kZXgiLCJhcnJheSIsInNjYWxhciJdLHByZTp7Ym9keToie30iLGFyZ3M6W10sdGhpc1ZhcnM6W10sbG9jYWxWYXJzOltdfSxib2R5Ontib2R5OiJ7X2lubGluZV8xX2FyZzFfPV9pbmxpbmVfMV9hcmcyXy5hcHBseSh2b2lkIDAsX2lubGluZV8xX2FyZzBfKX0iLGFyZ3M6W3tuYW1lOiJfaW5saW5lXzFfYXJnMF8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfMV9hcmcxXyIsbHZhbHVlOiEwLHJ2YWx1ZTohMSxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xX2FyZzJfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9XSx0aGlzVmFyczpbXSxsb2NhbFZhcnM6W119LHBvc3Q6e2JvZHk6Int9IixhcmdzOltdLHRoaXNWYXJzOltdLGxvY2FsVmFyczpbXX0sZGVidWc6ITEsZnVuY05hbWU6ImN3aXNlIixibG9ja1NpemU6NjR9KTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbih0LGUpLHR9fSx7ImN3aXNlL2xpYi93cmFwcGVyIjoxNTF9XSw0NDM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtpZihBcnJheS5pc0FycmF5KHIpKXtpZihyLmxlbmd0aCE9PWUuZGltZW5zaW9uKXRocm93IG5ldyBFcnJvcigibmRhcnJheS1ncmFkaWVudDogaW52YWxpZCBib3VuZGFyeSBjb25kaXRpb25zIil9ZWxzZSByPW4oZS5kaW1lbnNpb24sInN0cmluZyI9PXR5cGVvZiByP3I6ImNsYW1wIik7aWYodC5kaW1lbnNpb24hPT1lLmRpbWVuc2lvbisxKXRocm93IG5ldyBFcnJvcigibmRhcnJheS1ncmFkaWVudDogb3V0cHV0IGRpbWVuc2lvbiBtdXN0IGJlICsxIGlucHV0IGRpbWVuc2lvbiIpO2lmKHQuc2hhcGVbZS5kaW1lbnNpb25dIT09ZS5kaW1lbnNpb24pdGhyb3cgbmV3IEVycm9yKCJuZGFycmF5LWdyYWRpZW50OiBvdXRwdXQgc2hhcGUgbXVzdCBtYXRjaCBpbnB1dCBzaGFwZSIpO2Zvcih2YXIgYT0wO2E8ZS5kaW1lbnNpb247KythKWlmKHQuc2hhcGVbYV0hPT1lLnNoYXBlW2FdKXRocm93IG5ldyBFcnJvcigibmRhcnJheS1ncmFkaWVudDogc2hhcGUgbWlzbWF0Y2giKTtpZigwPT09ZS5zaXplKXJldHVybiB0O2lmKGUuZGltZW5zaW9uPD0wKXJldHVybiB0LnNldCgwKSx0O3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT10LmpvaW4oKTtpZihtPW9bZV0pcmV0dXJuIG07dmFyIHI9dC5sZW5ndGgsbj1bImZ1bmN0aW9uIGdyYWRpZW50KGRzdCxzcmMpe3ZhciBzPXNyYy5zaGFwZS5zbGljZSgpOyJdO2Z1bmN0aW9uIGEoZSl7Zm9yKHZhciBhPXItZS5sZW5ndGgsaT1bXSxvPVtdLHM9W10sbD0wO2w8cjsrK2wpZS5pbmRleE9mKGwrMSk+PTA/cy5wdXNoKCIwIik6ZS5pbmRleE9mKC0obCsxKSk+PTA/cy5wdXNoKCJzWyIrbCsiXS0xIik6KHMucHVzaCgiLTEiKSxpLnB1c2goIjEiKSxvLnB1c2goInNbIitsKyJdLTIiKSk7dmFyIGM9Ii5sbygiK2kuam9pbigpKyIpLmhpKCIrby5qb2luKCkrIikiO2lmKDA9PT1pLmxlbmd0aCYmKGM9IiIpLGE+MCl7bi5wdXNoKCJpZigxIik7Zm9yKHZhciBsPTA7bDxyOysrbCllLmluZGV4T2YobCsxKT49MHx8ZS5pbmRleE9mKC0obCsxKSk+PTB8fG4ucHVzaCgiJiZzWyIsbCwiXT4yIik7bi5wdXNoKCIpe2dyYWQiLGEsIihzcmMucGljaygiLHMuam9pbigpLCIpIixjKTtmb3IodmFyIGw9MDtsPHI7KytsKWUuaW5kZXhPZihsKzEpPj0wfHxlLmluZGV4T2YoLShsKzEpKT49MHx8bi5wdXNoKCIsZHN0LnBpY2soIixzLmpvaW4oKSwiLCIsbCwiKSIsYyk7bi5wdXNoKCIpOyIpfWZvcih2YXIgbD0wO2w8ZS5sZW5ndGg7KytsKXt2YXIgdT1NYXRoLmFicyhlW2xdKS0xLGg9ImRzdC5waWNrKCIrcy5qb2luKCkrIiwiK3UrIikiK2M7c3dpdGNoKHRbdV0pe2Nhc2UiY2xhbXAiOnZhciBmPXMuc2xpY2UoKSxwPXMuc2xpY2UoKTtlW2xdPDA/Zlt1XT0ic1siK3UrIl0tMiI6cFt1XT0iMSIsMD09PWE/bi5wdXNoKCJpZihzWyIsdSwiXT4xKXtkc3Quc2V0KCIscy5qb2luKCksIiwiLHUsIiwwLjUqKHNyYy5nZXQoIixmLmpvaW4oKSwiKS1zcmMuZ2V0KCIscC5qb2luKCksIikpKX1lbHNle2RzdC5zZXQoIixzLmpvaW4oKSwiLCIsdSwiLDApfTsiKTpuLnB1c2goImlmKHNbIix1LCJdPjEpe2RpZmYoIixoLCIsc3JjLnBpY2soIixmLmpvaW4oKSwiKSIsYywiLHNyYy5waWNrKCIscC5qb2luKCksIikiLGMsIik7fWVsc2V7emVybygiLGgsIik7fTsiKTticmVhaztjYXNlIm1pcnJvciI6MD09PWE/bi5wdXNoKCJkc3Quc2V0KCIscy5qb2luKCksIiwiLHUsIiwwKTsiKTpuLnB1c2goInplcm8oIixoLCIpOyIpO2JyZWFrO2Nhc2Uid3JhcCI6dmFyIGQ9cy5zbGljZSgpLGc9cy5zbGljZSgpO2VbbF08MD8oZFt1XT0ic1siK3UrIl0tMiIsZ1t1XT0iMCIpOihkW3VdPSJzWyIrdSsiXS0xIixnW3VdPSIxIiksMD09PWE/bi5wdXNoKCJpZihzWyIsdSwiXT4yKXtkc3Quc2V0KCIscy5qb2luKCksIiwiLHUsIiwwLjUqKHNyYy5nZXQoIixkLmpvaW4oKSwiKS1zcmMuZ2V0KCIsZy5qb2luKCksIikpKX1lbHNle2RzdC5zZXQoIixzLmpvaW4oKSwiLCIsdSwiLDApfTsiKTpuLnB1c2goImlmKHNbIix1LCJdPjIpe2RpZmYoIixoLCIsc3JjLnBpY2soIixkLmpvaW4oKSwiKSIsYywiLHNyYy5waWNrKCIsZy5qb2luKCksIikiLGMsIik7fWVsc2V7emVybygiLGgsIik7fTsiKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigibmRhcnJheS1ncmFkaWVudDogSW52YWxpZCBib3VuZGFyeSBjb25kaXRpb24iKX19YT4wJiZuLnB1c2goIn07Iil9Zm9yKHZhciBzPTA7czwxPDxyOysrcyl7Zm9yKHZhciBoPVtdLGY9MDtmPHI7KytmKXMmMTw8ZiYmaC5wdXNoKGYrMSk7Zm9yKHZhciBwPTA7cDwxPDxoLmxlbmd0aDsrK3Ape2Zvcih2YXIgZD1oLnNsaWNlKCksZj0wO2Y8aC5sZW5ndGg7KytmKXAmMTw8ZiYmKGRbZl09LWRbZl0pO2EoZCl9fW4ucHVzaCgicmV0dXJuIGRzdDt9O3JldHVybiBncmFkaWVudCIpO2Zvcih2YXIgZz1bImRpZmYiLCJ6ZXJvIl0sdj1bbCxjXSxzPTE7czw9cjsrK3MpZy5wdXNoKCJncmFkIitzKSx2LnB1c2godShzKSk7Zy5wdXNoKG4uam9pbigiIikpO3ZhciBtPUZ1bmN0aW9uLmFwcGx5KHZvaWQgMCxnKS5hcHBseSh2b2lkIDAsdik7cmV0dXJuIGlbZV09bSxtfShyKSh0LGUpfTt2YXIgbj10KCJkdXAiKSxhPXQoImN3aXNlLWNvbXBpbGVyIiksaT17fSxvPXt9LHM9e2JvZHk6IiIsYXJnczpbXSx0aGlzVmFyczpbXSxsb2NhbFZhcnM6W119LGw9YSh7YXJnczpbImFycmF5IiwiYXJyYXkiLCJhcnJheSJdLHByZTpzLHBvc3Q6cyxib2R5OnthcmdzOlt7bmFtZToib3V0IixsdmFsdWU6ITAscnZhbHVlOiExLGNvdW50OjF9LHtuYW1lOiJsZWZ0IixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9LHtuYW1lOiJyaWdodCIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfV0sYm9keToib3V0PTAuNSoobGVmdC1yaWdodCkiLHRoaXNWYXJzOltdLGxvY2FsVmFyczpbXX0sZnVuY05hbWU6ImNkaWZmIn0pLGM9YSh7YXJnczpbImFycmF5Il0scHJlOnMscG9zdDpzLGJvZHk6e2FyZ3M6W3tuYW1lOiJvdXQiLGx2YWx1ZTohMCxydmFsdWU6ITEsY291bnQ6MX1dLGJvZHk6Im91dD0wIix0aGlzVmFyczpbXSxsb2NhbFZhcnM6W119LGZ1bmNOYW1lOiJ6ZXJvIn0pO2Z1bmN0aW9uIHUodCl7aWYodCBpbiBpKXJldHVybiBpW3RdO2Zvcih2YXIgZT1bXSxyPTA7cjx0OysrcillLnB1c2goIm91dCIsciwicz0wLjUqKGlucCIsciwibC1pbnAiLHIsInIpOyIpO3ZhciBvPVsiYXJyYXkiXSxsPVsianVuayJdO2ZvcihyPTA7cjx0Oysrcil7by5wdXNoKCJhcnJheSIpLGwucHVzaCgib3V0IityKyJzIik7dmFyIGM9bih0KTtjW3JdPS0xLG8ucHVzaCh7YXJyYXk6MCxvZmZzZXQ6Yy5zbGljZSgpfSksY1tyXT0xLG8ucHVzaCh7YXJyYXk6MCxvZmZzZXQ6Yy5zbGljZSgpfSksbC5wdXNoKCJpbnAiK3IrImwiLCJpbnAiK3IrInIiKX1yZXR1cm4gaVt0XT1hKHthcmdzOm8scHJlOnMscG9zdDpzLGJvZHk6e2JvZHk6ZS5qb2luKCIiKSxhcmdzOmwubWFwKGZ1bmN0aW9uKHQpe3JldHVybntuYW1lOnQsbHZhbHVlOjA9PT10LmluZGV4T2YoIm91dCIpLHJ2YWx1ZTowPT09dC5pbmRleE9mKCJpbnAiKSxjb3VudDoianVuayIhPT10fDB9fSksdGhpc1ZhcnM6W10sbG9jYWxWYXJzOltdfSxmdW5jTmFtZToiZmRUZW1wbGF0ZSIrdH0pfX0seyJjd2lzZS1jb21waWxlciI6MTQ4LGR1cDoxNzJ9XSw0NDQ6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgibmRhcnJheS13YXJwIiksYT10KCJnbC1tYXRyaXgtaW52ZXJ0Iik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaT1lLmRpbWVuc2lvbixvPWEoW10scik7cmV0dXJuIG4odCxlLGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTA7cjxpOysrcil7dFtyXT1vWyhpKzEpKmkrcl07Zm9yKHZhciBuPTA7bjxpOysrbil0W3JdKz1vWyhpKzEpKm4rcl0qZVtuXX12YXIgYT1vWyhpKzEpKihpKzEpLTFdO2ZvcihuPTA7bjxpOysrbilhKz1vWyhpKzEpKm4raV0qZVtuXTt2YXIgcz0xL2E7Zm9yKHI9MDtyPGk7KytyKXRbcl0qPXM7cmV0dXJuIHR9KSx0fX0seyJnbC1tYXRyaXgtaW52ZXJ0IjoyODAsIm5kYXJyYXktd2FycCI6NDUxfV0sNDQ1OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4odCxlKXt2YXIgcj1NYXRoLmZsb29yKGUpLG49ZS1yLGE9MDw9ciYmcjx0LnNoYXBlWzBdLGk9MDw9cisxJiZyKzE8dC5zaGFwZVswXTtyZXR1cm4oMS1uKSooYT8rdC5nZXQocik6MCkrbiooaT8rdC5nZXQocisxKTowKX1mdW5jdGlvbiBhKHQsZSxyKXt2YXIgbj1NYXRoLmZsb29yKGUpLGE9ZS1uLGk9MDw9biYmbjx0LnNoYXBlWzBdLG89MDw9bisxJiZuKzE8dC5zaGFwZVswXSxzPU1hdGguZmxvb3IociksbD1yLXMsYz0wPD1zJiZzPHQuc2hhcGVbMV0sdT0wPD1zKzEmJnMrMTx0LnNoYXBlWzFdLGg9aSYmYz90LmdldChuLHMpOjAsZj1pJiZ1P3QuZ2V0KG4scysxKTowO3JldHVybigxLWwpKigoMS1hKSpoK2EqKG8mJmM/dC5nZXQobisxLHMpOjApKStsKigoMS1hKSpmK2EqKG8mJnU/dC5nZXQobisxLHMrMSk6MCkpfWZ1bmN0aW9uIGkodCxlLHIsbil7dmFyIGE9TWF0aC5mbG9vcihlKSxpPWUtYSxvPTA8PWEmJmE8dC5zaGFwZVswXSxzPTA8PWErMSYmYSsxPHQuc2hhcGVbMF0sbD1NYXRoLmZsb29yKHIpLGM9ci1sLHU9MDw9bCYmbDx0LnNoYXBlWzFdLGg9MDw9bCsxJiZsKzE8dC5zaGFwZVsxXSxmPU1hdGguZmxvb3IobikscD1uLWYsZD0wPD1mJiZmPHQuc2hhcGVbMl0sZz0wPD1mKzEmJmYrMTx0LnNoYXBlWzJdLHY9byYmdSYmZD90LmdldChhLGwsZik6MCxtPW8mJmgmJmQ/dC5nZXQoYSxsKzEsZik6MCx5PXMmJnUmJmQ/dC5nZXQoYSsxLGwsZik6MCx4PXMmJmgmJmQ/dC5nZXQoYSsxLGwrMSxmKTowLGI9byYmdSYmZz90LmdldChhLGwsZisxKTowLF89byYmaCYmZz90LmdldChhLGwrMSxmKzEpOjA7cmV0dXJuKDEtcCkqKCgxLWMpKigoMS1pKSp2K2kqeSkrYyooKDEtaSkqbStpKngpKStwKigoMS1jKSooKDEtaSkqYitpKihzJiZ1JiZnP3QuZ2V0KGErMSxsLGYrMSk6MCkpK2MqKCgxLWkpKl8raSoocyYmaCYmZz90LmdldChhKzEsbCsxLGYrMSk6MCkpKX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbyl7c3dpdGNoKHQuc2hhcGUubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIDA7Y2FzZSAxOnJldHVybiBuKHQsZSk7Y2FzZSAyOnJldHVybiBhKHQsZSxyKTtjYXNlIDM6cmV0dXJuIGkodCxlLHIsbyk7ZGVmYXVsdDpyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGUscixuPTB8dC5zaGFwZS5sZW5ndGgsYT1uZXcgQXJyYXkobiksaT1uZXcgQXJyYXkobiksbz1uZXcgQXJyYXkobikscz1uZXcgQXJyYXkobik7Zm9yKGU9MDtlPG47KytlKXI9K2FyZ3VtZW50c1tlKzFdLGFbZV09TWF0aC5mbG9vcihyKSxpW2VdPXItYVtlXSxvW2VdPTA8PWFbZV0mJmFbZV08dC5zaGFwZVtlXSxzW2VdPTA8PWFbZV0rMSYmYVtlXSsxPHQuc2hhcGVbZV07dmFyIGwsYyx1LGg9MDt0OmZvcihlPTA7ZTwxPDxuOysrZSl7Zm9yKGM9MSx1PXQub2Zmc2V0LGw9MDtsPG47KytsKWlmKGUmMTw8bCl7aWYoIXNbbF0pY29udGludWUgdDtjKj1pW2xdLHUrPXQuc3RyaWRlW2xdKihhW2xdKzEpfWVsc2V7aWYoIW9bbF0pY29udGludWUgdDtjKj0xLWlbbF0sdSs9dC5zdHJpZGVbbF0qYVtsXX1oKz1jKnQuZGF0YVt1XX1yZXR1cm4gaH0uYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fSxlLmV4cG9ydHMuZDE9bixlLmV4cG9ydHMuZDI9YSxlLmV4cG9ydHMuZDM9aX0se31dLDQ0NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJjd2lzZS1jb21waWxlciIpLGE9e2JvZHk6IiIsYXJnczpbXSx0aGlzVmFyczpbXSxsb2NhbFZhcnM6W119O2Z1bmN0aW9uIGkodCl7aWYoIXQpcmV0dXJuIGE7Zm9yKHZhciBlPTA7ZTx0LmFyZ3MubGVuZ3RoOysrZSl7dmFyIHI9dC5hcmdzW2VdO3QuYXJnc1tlXT0wPT09ZT97bmFtZTpyLGx2YWx1ZTohMCxydmFsdWU6ISF0LnJ2YWx1ZSxjb3VudDp0LmNvdW50fHwxfTp7bmFtZTpyLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX19cmV0dXJuIHQudGhpc1ZhcnN8fCh0LnRoaXNWYXJzPVtdKSx0LmxvY2FsVmFyc3x8KHQubG9jYWxWYXJzPVtdKSx0fWZ1bmN0aW9uIG8odCl7Zm9yKHZhciBlPVtdLHI9MDtyPHQuYXJncy5sZW5ndGg7KytyKWUucHVzaCgiYSIrcik7cmV0dXJuIG5ldyBGdW5jdGlvbigiUCIsWyJyZXR1cm4gZnVuY3Rpb24gIix0LmZ1bmNOYW1lLCJfbmRhcnJheW9wcygiLGUuam9pbigiLCIpLCIpIHtQKCIsZS5qb2luKCIsIiksIik7cmV0dXJuIGEwfSJdLmpvaW4oIiIpKShmdW5jdGlvbih0KXtyZXR1cm4gbih7YXJnczp0LmFyZ3MscHJlOmkodC5wcmUpLGJvZHk6aSh0LmJvZHkpLHBvc3Q6aSh0LnByb2MpLGZ1bmNOYW1lOnQuZnVuY05hbWV9KX0odCkpfXZhciBzPXthZGQ6IisiLHN1YjoiLSIsbXVsOiIqIixkaXY6Ii8iLG1vZDoiJSIsYmFuZDoiJiIsYm9yOiJ8IixieG9yOiJeIixsc2hpZnQ6Ijw8Iixyc2hpZnQ6Ij4+IixycnNoaWZ0OiI+Pj4ifTshZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gcyl7dmFyIGU9c1t0XTtyW3RdPW8oe2FyZ3M6WyJhcnJheSIsImFycmF5IiwiYXJyYXkiXSxib2R5OnthcmdzOlsiYSIsImIiLCJjIl0sYm9keToiYT1iIitlKyJjIn0sZnVuY05hbWU6dH0pLHJbdCsiZXEiXT1vKHthcmdzOlsiYXJyYXkiLCJhcnJheSJdLGJvZHk6e2FyZ3M6WyJhIiwiYiJdLGJvZHk6ImEiK2UrIj1iIn0scnZhbHVlOiEwLGZ1bmNOYW1lOnQrImVxIn0pLHJbdCsicyJdPW8oe2FyZ3M6WyJhcnJheSIsImFycmF5Iiwic2NhbGFyIl0sYm9keTp7YXJnczpbImEiLCJiIiwicyJdLGJvZHk6ImE9YiIrZSsicyJ9LGZ1bmNOYW1lOnQrInMifSksclt0KyJzZXEiXT1vKHthcmdzOlsiYXJyYXkiLCJzY2FsYXIiXSxib2R5OnthcmdzOlsiYSIsInMiXSxib2R5OiJhIitlKyI9cyJ9LHJ2YWx1ZTohMCxmdW5jTmFtZTp0KyJzZXEifSl9fSgpO3ZhciBsPXtub3Q6IiEiLGJub3Q6In4iLG5lZzoiLSIscmVjaXA6IjEuMC8ifTshZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gbCl7dmFyIGU9bFt0XTtyW3RdPW8oe2FyZ3M6WyJhcnJheSIsImFycmF5Il0sYm9keTp7YXJnczpbImEiLCJiIl0sYm9keToiYT0iK2UrImIifSxmdW5jTmFtZTp0fSksclt0KyJlcSJdPW8oe2FyZ3M6WyJhcnJheSJdLGJvZHk6e2FyZ3M6WyJhIl0sYm9keToiYT0iK2UrImEifSxydmFsdWU6ITAsY291bnQ6MixmdW5jTmFtZTp0KyJlcSJ9KX19KCk7dmFyIGM9e2FuZDoiJiYiLG9yOiJ8fCIsZXE6Ij09PSIsbmVxOiIhPT0iLGx0OiI8IixndDoiPiIsbGVxOiI8PSIsZ2VxOiI+PSJ9OyFmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiBjKXt2YXIgZT1jW3RdO3JbdF09byh7YXJnczpbImFycmF5IiwiYXJyYXkiLCJhcnJheSJdLGJvZHk6e2FyZ3M6WyJhIiwiYiIsImMiXSxib2R5OiJhPWIiK2UrImMifSxmdW5jTmFtZTp0fSksclt0KyJzIl09byh7YXJnczpbImFycmF5IiwiYXJyYXkiLCJzY2FsYXIiXSxib2R5OnthcmdzOlsiYSIsImIiLCJzIl0sYm9keToiYT1iIitlKyJzIn0sZnVuY05hbWU6dCsicyJ9KSxyW3QrImVxIl09byh7YXJnczpbImFycmF5IiwiYXJyYXkiXSxib2R5OnthcmdzOlsiYSIsImIiXSxib2R5OiJhPWEiK2UrImIifSxydmFsdWU6ITAsY291bnQ6MixmdW5jTmFtZTp0KyJlcSJ9KSxyW3QrInNlcSJdPW8oe2FyZ3M6WyJhcnJheSIsInNjYWxhciJdLGJvZHk6e2FyZ3M6WyJhIiwicyJdLGJvZHk6ImE9YSIrZSsicyJ9LHJ2YWx1ZTohMCxjb3VudDoyLGZ1bmNOYW1lOnQrInNlcSJ9KX19KCk7dmFyIHU9WyJhYnMiLCJhY29zIiwiYXNpbiIsImF0YW4iLCJjZWlsIiwiY29zIiwiZXhwIiwiZmxvb3IiLCJsb2ciLCJyb3VuZCIsInNpbiIsInNxcnQiLCJ0YW4iXTshZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PHUubGVuZ3RoOysrdCl7dmFyIGU9dVt0XTtyW2VdPW8oe2FyZ3M6WyJhcnJheSIsImFycmF5Il0scHJlOnthcmdzOltdLGJvZHk6InRoaXNfZj1NYXRoLiIrZSx0aGlzVmFyczpbInRoaXNfZiJdfSxib2R5OnthcmdzOlsiYSIsImIiXSxib2R5OiJhPXRoaXNfZihiKSIsdGhpc1ZhcnM6WyJ0aGlzX2YiXX0sZnVuY05hbWU6ZX0pLHJbZSsiZXEiXT1vKHthcmdzOlsiYXJyYXkiXSxwcmU6e2FyZ3M6W10sYm9keToidGhpc19mPU1hdGguIitlLHRoaXNWYXJzOlsidGhpc19mIl19LGJvZHk6e2FyZ3M6WyJhIl0sYm9keToiYT10aGlzX2YoYSkiLHRoaXNWYXJzOlsidGhpc19mIl19LHJ2YWx1ZTohMCxjb3VudDoyLGZ1bmNOYW1lOmUrImVxIn0pfX0oKTt2YXIgaD1bIm1heCIsIm1pbiIsImF0YW4yIiwicG93Il07IWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDxoLmxlbmd0aDsrK3Qpe3ZhciBlPWhbdF07cltlXT1vKHthcmdzOlsiYXJyYXkiLCJhcnJheSIsImFycmF5Il0scHJlOnthcmdzOltdLGJvZHk6InRoaXNfZj1NYXRoLiIrZSx0aGlzVmFyczpbInRoaXNfZiJdfSxib2R5OnthcmdzOlsiYSIsImIiLCJjIl0sYm9keToiYT10aGlzX2YoYixjKSIsdGhpc1ZhcnM6WyJ0aGlzX2YiXX0sZnVuY05hbWU6ZX0pLHJbZSsicyJdPW8oe2FyZ3M6WyJhcnJheSIsImFycmF5Iiwic2NhbGFyIl0scHJlOnthcmdzOltdLGJvZHk6InRoaXNfZj1NYXRoLiIrZSx0aGlzVmFyczpbInRoaXNfZiJdfSxib2R5OnthcmdzOlsiYSIsImIiLCJjIl0sYm9keToiYT10aGlzX2YoYixjKSIsdGhpc1ZhcnM6WyJ0aGlzX2YiXX0sZnVuY05hbWU6ZSsicyJ9KSxyW2UrImVxIl09byh7YXJnczpbImFycmF5IiwiYXJyYXkiXSxwcmU6e2FyZ3M6W10sYm9keToidGhpc19mPU1hdGguIitlLHRoaXNWYXJzOlsidGhpc19mIl19LGJvZHk6e2FyZ3M6WyJhIiwiYiJdLGJvZHk6ImE9dGhpc19mKGEsYikiLHRoaXNWYXJzOlsidGhpc19mIl19LHJ2YWx1ZTohMCxjb3VudDoyLGZ1bmNOYW1lOmUrImVxIn0pLHJbZSsic2VxIl09byh7YXJnczpbImFycmF5Iiwic2NhbGFyIl0scHJlOnthcmdzOltdLGJvZHk6InRoaXNfZj1NYXRoLiIrZSx0aGlzVmFyczpbInRoaXNfZiJdfSxib2R5OnthcmdzOlsiYSIsImIiXSxib2R5OiJhPXRoaXNfZihhLGIpIix0aGlzVmFyczpbInRoaXNfZiJdfSxydmFsdWU6ITAsY291bnQ6MixmdW5jTmFtZTplKyJzZXEifSl9fSgpO3ZhciBmPVsiYXRhbjIiLCJwb3ciXTshZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PGYubGVuZ3RoOysrdCl7dmFyIGU9Zlt0XTtyW2UrIm9wIl09byh7YXJnczpbImFycmF5IiwiYXJyYXkiLCJhcnJheSJdLHByZTp7YXJnczpbXSxib2R5OiJ0aGlzX2Y9TWF0aC4iK2UsdGhpc1ZhcnM6WyJ0aGlzX2YiXX0sYm9keTp7YXJnczpbImEiLCJiIiwiYyJdLGJvZHk6ImE9dGhpc19mKGMsYikiLHRoaXNWYXJzOlsidGhpc19mIl19LGZ1bmNOYW1lOmUrIm9wIn0pLHJbZSsib3BzIl09byh7YXJnczpbImFycmF5IiwiYXJyYXkiLCJzY2FsYXIiXSxwcmU6e2FyZ3M6W10sYm9keToidGhpc19mPU1hdGguIitlLHRoaXNWYXJzOlsidGhpc19mIl19LGJvZHk6e2FyZ3M6WyJhIiwiYiIsImMiXSxib2R5OiJhPXRoaXNfZihjLGIpIix0aGlzVmFyczpbInRoaXNfZiJdfSxmdW5jTmFtZTplKyJvcHMifSkscltlKyJvcGVxIl09byh7YXJnczpbImFycmF5IiwiYXJyYXkiXSxwcmU6e2FyZ3M6W10sYm9keToidGhpc19mPU1hdGguIitlLHRoaXNWYXJzOlsidGhpc19mIl19LGJvZHk6e2FyZ3M6WyJhIiwiYiJdLGJvZHk6ImE9dGhpc19mKGIsYSkiLHRoaXNWYXJzOlsidGhpc19mIl19LHJ2YWx1ZTohMCxjb3VudDoyLGZ1bmNOYW1lOmUrIm9wZXEifSkscltlKyJvcHNlcSJdPW8oe2FyZ3M6WyJhcnJheSIsInNjYWxhciJdLHByZTp7YXJnczpbXSxib2R5OiJ0aGlzX2Y9TWF0aC4iK2UsdGhpc1ZhcnM6WyJ0aGlzX2YiXX0sYm9keTp7YXJnczpbImEiLCJiIl0sYm9keToiYT10aGlzX2YoYixhKSIsdGhpc1ZhcnM6WyJ0aGlzX2YiXX0scnZhbHVlOiEwLGNvdW50OjIsZnVuY05hbWU6ZSsib3BzZXEifSl9fSgpLHIuYW55PW4oe2FyZ3M6WyJhcnJheSJdLHByZTphLGJvZHk6e2FyZ3M6W3tuYW1lOiJhIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9XSxib2R5OiJpZihhKXtyZXR1cm4gdHJ1ZX0iLGxvY2FsVmFyczpbXSx0aGlzVmFyczpbXX0scG9zdDp7YXJnczpbXSxsb2NhbFZhcnM6W10sdGhpc1ZhcnM6W10sYm9keToicmV0dXJuIGZhbHNlIn0sZnVuY05hbWU6ImFueSJ9KSxyLmFsbD1uKHthcmdzOlsiYXJyYXkiXSxwcmU6YSxib2R5OnthcmdzOlt7bmFtZToieCIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfV0sYm9keToiaWYoIXgpe3JldHVybiBmYWxzZX0iLGxvY2FsVmFyczpbXSx0aGlzVmFyczpbXX0scG9zdDp7YXJnczpbXSxsb2NhbFZhcnM6W10sdGhpc1ZhcnM6W10sYm9keToicmV0dXJuIHRydWUifSxmdW5jTmFtZToiYWxsIn0pLHIuc3VtPW4oe2FyZ3M6WyJhcnJheSJdLHByZTp7YXJnczpbXSxsb2NhbFZhcnM6W10sdGhpc1ZhcnM6WyJ0aGlzX3MiXSxib2R5OiJ0aGlzX3M9MCJ9LGJvZHk6e2FyZ3M6W3tuYW1lOiJhIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9XSxib2R5OiJ0aGlzX3MrPWEiLGxvY2FsVmFyczpbXSx0aGlzVmFyczpbInRoaXNfcyJdfSxwb3N0OnthcmdzOltdLGxvY2FsVmFyczpbXSx0aGlzVmFyczpbInRoaXNfcyJdLGJvZHk6InJldHVybiB0aGlzX3MifSxmdW5jTmFtZToic3VtIn0pLHIucHJvZD1uKHthcmdzOlsiYXJyYXkiXSxwcmU6e2FyZ3M6W10sbG9jYWxWYXJzOltdLHRoaXNWYXJzOlsidGhpc19zIl0sYm9keToidGhpc19zPTEifSxib2R5OnthcmdzOlt7bmFtZToiYSIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfV0sYm9keToidGhpc19zKj1hIixsb2NhbFZhcnM6W10sdGhpc1ZhcnM6WyJ0aGlzX3MiXX0scG9zdDp7YXJnczpbXSxsb2NhbFZhcnM6W10sdGhpc1ZhcnM6WyJ0aGlzX3MiXSxib2R5OiJyZXR1cm4gdGhpc19zIn0sZnVuY05hbWU6InByb2QifSksci5ub3JtMnNxdWFyZWQ9bih7YXJnczpbImFycmF5Il0scHJlOnthcmdzOltdLGxvY2FsVmFyczpbXSx0aGlzVmFyczpbInRoaXNfcyJdLGJvZHk6InRoaXNfcz0wIn0sYm9keTp7YXJnczpbe25hbWU6ImEiLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6Mn1dLGJvZHk6InRoaXNfcys9YSphIixsb2NhbFZhcnM6W10sdGhpc1ZhcnM6WyJ0aGlzX3MiXX0scG9zdDp7YXJnczpbXSxsb2NhbFZhcnM6W10sdGhpc1ZhcnM6WyJ0aGlzX3MiXSxib2R5OiJyZXR1cm4gdGhpc19zIn0sZnVuY05hbWU6Im5vcm0yc3F1YXJlZCJ9KSxyLm5vcm0yPW4oe2FyZ3M6WyJhcnJheSJdLHByZTp7YXJnczpbXSxsb2NhbFZhcnM6W10sdGhpc1ZhcnM6WyJ0aGlzX3MiXSxib2R5OiJ0aGlzX3M9MCJ9LGJvZHk6e2FyZ3M6W3tuYW1lOiJhIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjJ9XSxib2R5OiJ0aGlzX3MrPWEqYSIsbG9jYWxWYXJzOltdLHRoaXNWYXJzOlsidGhpc19zIl19LHBvc3Q6e2FyZ3M6W10sbG9jYWxWYXJzOltdLHRoaXNWYXJzOlsidGhpc19zIl0sYm9keToicmV0dXJuIE1hdGguc3FydCh0aGlzX3MpIn0sZnVuY05hbWU6Im5vcm0yIn0pLHIubm9ybWluZj1uKHthcmdzOlsiYXJyYXkiXSxwcmU6e2FyZ3M6W10sbG9jYWxWYXJzOltdLHRoaXNWYXJzOlsidGhpc19zIl0sYm9keToidGhpc19zPTAifSxib2R5OnthcmdzOlt7bmFtZToiYSIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDo0fV0sYm9keToiaWYoLWE+dGhpc19zKXt0aGlzX3M9LWF9ZWxzZSBpZihhPnRoaXNfcyl7dGhpc19zPWF9Iixsb2NhbFZhcnM6W10sdGhpc1ZhcnM6WyJ0aGlzX3MiXX0scG9zdDp7YXJnczpbXSxsb2NhbFZhcnM6W10sdGhpc1ZhcnM6WyJ0aGlzX3MiXSxib2R5OiJyZXR1cm4gdGhpc19zIn0sZnVuY05hbWU6Im5vcm1pbmYifSksci5ub3JtMT1uKHthcmdzOlsiYXJyYXkiXSxwcmU6e2FyZ3M6W10sbG9jYWxWYXJzOltdLHRoaXNWYXJzOlsidGhpc19zIl0sYm9keToidGhpc19zPTAifSxib2R5OnthcmdzOlt7bmFtZToiYSIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDozfV0sYm9keToidGhpc19zKz1hPDA/LWE6YSIsbG9jYWxWYXJzOltdLHRoaXNWYXJzOlsidGhpc19zIl19LHBvc3Q6e2FyZ3M6W10sbG9jYWxWYXJzOltdLHRoaXNWYXJzOlsidGhpc19zIl0sYm9keToicmV0dXJuIHRoaXNfcyJ9LGZ1bmNOYW1lOiJub3JtMSJ9KSxyLnN1cD1uKHthcmdzOlsiYXJyYXkiXSxwcmU6e2JvZHk6InRoaXNfaD0tSW5maW5pdHkiLGFyZ3M6W10sdGhpc1ZhcnM6WyJ0aGlzX2giXSxsb2NhbFZhcnM6W119LGJvZHk6e2JvZHk6ImlmKF9pbmxpbmVfMV9hcmcwXz50aGlzX2gpdGhpc19oPV9pbmxpbmVfMV9hcmcwXyIsYXJnczpbe25hbWU6Il9pbmxpbmVfMV9hcmcwXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoyfV0sdGhpc1ZhcnM6WyJ0aGlzX2giXSxsb2NhbFZhcnM6W119LHBvc3Q6e2JvZHk6InJldHVybiB0aGlzX2giLGFyZ3M6W10sdGhpc1ZhcnM6WyJ0aGlzX2giXSxsb2NhbFZhcnM6W119fSksci5pbmY9bih7YXJnczpbImFycmF5Il0scHJlOntib2R5OiJ0aGlzX2g9SW5maW5pdHkiLGFyZ3M6W10sdGhpc1ZhcnM6WyJ0aGlzX2giXSxsb2NhbFZhcnM6W119LGJvZHk6e2JvZHk6ImlmKF9pbmxpbmVfMV9hcmcwXzx0aGlzX2gpdGhpc19oPV9pbmxpbmVfMV9hcmcwXyIsYXJnczpbe25hbWU6Il9pbmxpbmVfMV9hcmcwXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoyfV0sdGhpc1ZhcnM6WyJ0aGlzX2giXSxsb2NhbFZhcnM6W119LHBvc3Q6e2JvZHk6InJldHVybiB0aGlzX2giLGFyZ3M6W10sdGhpc1ZhcnM6WyJ0aGlzX2giXSxsb2NhbFZhcnM6W119fSksci5hcmdtaW49bih7YXJnczpbImluZGV4IiwiYXJyYXkiLCJzaGFwZSJdLHByZTp7Ym9keToie3RoaXNfdj1JbmZpbml0eTt0aGlzX2k9X2lubGluZV8wX2FyZzJfLnNsaWNlKDApfSIsYXJnczpbe25hbWU6Il9pbmxpbmVfMF9hcmcwXyIsbHZhbHVlOiExLHJ2YWx1ZTohMSxjb3VudDowfSx7bmFtZToiX2lubGluZV8wX2FyZzFfIixsdmFsdWU6ITEscnZhbHVlOiExLGNvdW50OjB9LHtuYW1lOiJfaW5saW5lXzBfYXJnMl8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX1dLHRoaXNWYXJzOlsidGhpc19pIiwidGhpc192Il0sbG9jYWxWYXJzOltdfSxib2R5Ontib2R5OiJ7aWYoX2lubGluZV8xX2FyZzFfPHRoaXNfdil7dGhpc192PV9pbmxpbmVfMV9hcmcxXztmb3IodmFyIF9pbmxpbmVfMV9rPTA7X2lubGluZV8xX2s8X2lubGluZV8xX2FyZzBfLmxlbmd0aDsrK19pbmxpbmVfMV9rKXt0aGlzX2lbX2lubGluZV8xX2tdPV9pbmxpbmVfMV9hcmcwX1tfaW5saW5lXzFfa119fX0iLGFyZ3M6W3tuYW1lOiJfaW5saW5lXzFfYXJnMF8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6Mn0se25hbWU6Il9pbmxpbmVfMV9hcmcxXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoyfV0sdGhpc1ZhcnM6WyJ0aGlzX2kiLCJ0aGlzX3YiXSxsb2NhbFZhcnM6WyJfaW5saW5lXzFfayJdfSxwb3N0Ontib2R5OiJ7cmV0dXJuIHRoaXNfaX0iLGFyZ3M6W10sdGhpc1ZhcnM6WyJ0aGlzX2kiXSxsb2NhbFZhcnM6W119fSksci5hcmdtYXg9bih7YXJnczpbImluZGV4IiwiYXJyYXkiLCJzaGFwZSJdLHByZTp7Ym9keToie3RoaXNfdj0tSW5maW5pdHk7dGhpc19pPV9pbmxpbmVfMF9hcmcyXy5zbGljZSgwKX0iLGFyZ3M6W3tuYW1lOiJfaW5saW5lXzBfYXJnMF8iLGx2YWx1ZTohMSxydmFsdWU6ITEsY291bnQ6MH0se25hbWU6Il9pbmxpbmVfMF9hcmcxXyIsbHZhbHVlOiExLHJ2YWx1ZTohMSxjb3VudDowfSx7bmFtZToiX2lubGluZV8wX2FyZzJfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9XSx0aGlzVmFyczpbInRoaXNfaSIsInRoaXNfdiJdLGxvY2FsVmFyczpbXX0sYm9keTp7Ym9keToie2lmKF9pbmxpbmVfMV9hcmcxXz50aGlzX3Ype3RoaXNfdj1faW5saW5lXzFfYXJnMV87Zm9yKHZhciBfaW5saW5lXzFfaz0wO19pbmxpbmVfMV9rPF9pbmxpbmVfMV9hcmcwXy5sZW5ndGg7KytfaW5saW5lXzFfayl7dGhpc19pW19pbmxpbmVfMV9rXT1faW5saW5lXzFfYXJnMF9bX2lubGluZV8xX2tdfX19IixhcmdzOlt7bmFtZToiX2lubGluZV8xX2FyZzBfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjJ9LHtuYW1lOiJfaW5saW5lXzFfYXJnMV8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6Mn1dLHRoaXNWYXJzOlsidGhpc19pIiwidGhpc192Il0sbG9jYWxWYXJzOlsiX2lubGluZV8xX2siXX0scG9zdDp7Ym9keToie3JldHVybiB0aGlzX2l9IixhcmdzOltdLHRoaXNWYXJzOlsidGhpc19pIl0sbG9jYWxWYXJzOltdfX0pLHIucmFuZG9tPW8oe2FyZ3M6WyJhcnJheSJdLHByZTp7YXJnczpbXSxib2R5OiJ0aGlzX2Y9TWF0aC5yYW5kb20iLHRoaXNWYXJzOlsidGhpc19mIl19LGJvZHk6e2FyZ3M6WyJhIl0sYm9keToiYT10aGlzX2YoKSIsdGhpc1ZhcnM6WyJ0aGlzX2YiXX0sZnVuY05hbWU6InJhbmRvbSJ9KSxyLmFzc2lnbj1vKHthcmdzOlsiYXJyYXkiLCJhcnJheSJdLGJvZHk6e2FyZ3M6WyJhIiwiYiJdLGJvZHk6ImE9YiJ9LGZ1bmNOYW1lOiJhc3NpZ24ifSksci5hc3NpZ25zPW8oe2FyZ3M6WyJhcnJheSIsInNjYWxhciJdLGJvZHk6e2FyZ3M6WyJhIiwiYiJdLGJvZHk6ImE9YiJ9LGZ1bmNOYW1lOiJhc3NpZ25zIn0pLHIuZXF1YWxzPW4oe2FyZ3M6WyJhcnJheSIsImFycmF5Il0scHJlOmEsYm9keTp7YXJnczpbe25hbWU6IngiLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6InkiLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX1dLGJvZHk6ImlmKHghPT15KXtyZXR1cm4gZmFsc2V9Iixsb2NhbFZhcnM6W10sdGhpc1ZhcnM6W119LHBvc3Q6e2FyZ3M6W10sbG9jYWxWYXJzOltdLHRoaXNWYXJzOltdLGJvZHk6InJldHVybiB0cnVlIn0sZnVuY05hbWU6ImVxdWFscyJ9KX0seyJjd2lzZS1jb21waWxlciI6MTQ4fV0sNDQ3OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoIm5kYXJyYXkiKSxhPXQoIi4vZG9Db252ZXJ0LmpzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPVtdLGk9dCxvPTE7QXJyYXkuaXNBcnJheShpKTspci5wdXNoKGkubGVuZ3RoKSxvKj1pLmxlbmd0aCxpPWlbMF07cmV0dXJuIDA9PT1yLmxlbmd0aD9uKCk6KGV8fChlPW4obmV3IEZsb2F0NjRBcnJheShvKSxyKSksYShlLHQpLGUpfX0seyIuL2RvQ29udmVydC5qcyI6NDQ4LG5kYXJyYXk6NDUyfV0sNDQ4OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXQoImN3aXNlLWNvbXBpbGVyIikoe2FyZ3M6WyJhcnJheSIsInNjYWxhciIsImluZGV4Il0scHJlOntib2R5OiJ7fSIsYXJnczpbXSx0aGlzVmFyczpbXSxsb2NhbFZhcnM6W119LGJvZHk6e2JvZHk6IntcbnZhciBfaW5saW5lXzFfdj1faW5saW5lXzFfYXJnMV8sX2lubGluZV8xX2lcbmZvcihfaW5saW5lXzFfaT0wO19pbmxpbmVfMV9pPF9pbmxpbmVfMV9hcmcyXy5sZW5ndGgtMTsrK19pbmxpbmVfMV9pKSB7XG5faW5saW5lXzFfdj1faW5saW5lXzFfdltfaW5saW5lXzFfYXJnMl9bX2lubGluZV8xX2ldXVxufVxuX2lubGluZV8xX2FyZzBfPV9pbmxpbmVfMV92W19pbmxpbmVfMV9hcmcyX1tfaW5saW5lXzFfYXJnMl8ubGVuZ3RoLTFdXVxufSIsYXJnczpbe25hbWU6Il9pbmxpbmVfMV9hcmcwXyIsbHZhbHVlOiEwLHJ2YWx1ZTohMSxjb3VudDoxfSx7bmFtZToiX2lubGluZV8xX2FyZzFfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9LHtuYW1lOiJfaW5saW5lXzFfYXJnMl8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6NH1dLHRoaXNWYXJzOltdLGxvY2FsVmFyczpbIl9pbmxpbmVfMV9pIiwiX2lubGluZV8xX3YiXX0scG9zdDp7Ym9keToie30iLGFyZ3M6W10sdGhpc1ZhcnM6W10sbG9jYWxWYXJzOltdfSxmdW5jTmFtZToiY29udmVydCIsYmxvY2tTaXplOjY0fSl9LHsiY3dpc2UtY29tcGlsZXIiOjE0OH1dLDQ0OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJ0eXBlZGFycmF5LXBvb2wiKSxhPTMyO2Z1bmN0aW9uIGkodCl7c3dpdGNoKHQpe2Nhc2UidWludDgiOnJldHVybltuLm1hbGxvY1VpbnQ4LG4uZnJlZVVpbnQ4XTtjYXNlInVpbnQxNiI6cmV0dXJuW24ubWFsbG9jVWludDE2LG4uZnJlZVVpbnQxNl07Y2FzZSJ1aW50MzIiOnJldHVybltuLm1hbGxvY1VpbnQzMixuLmZyZWVVaW50MzJdO2Nhc2UiaW50OCI6cmV0dXJuW24ubWFsbG9jSW50OCxuLmZyZWVJbnQ4XTtjYXNlImludDE2IjpyZXR1cm5bbi5tYWxsb2NJbnQxNixuLmZyZWVJbnQxNl07Y2FzZSJpbnQzMiI6cmV0dXJuW24ubWFsbG9jSW50MzIsbi5mcmVlSW50MzJdO2Nhc2UiZmxvYXQzMiI6cmV0dXJuW24ubWFsbG9jRmxvYXQsbi5mcmVlRmxvYXRdO2Nhc2UiZmxvYXQ2NCI6cmV0dXJuW24ubWFsbG9jRG91YmxlLG4uZnJlZURvdWJsZV07ZGVmYXVsdDpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gbyh0KXtmb3IodmFyIGU9W10scj0wO3I8dDsrK3IpZS5wdXNoKCJzIityKTtmb3Iocj0wO3I8dDsrK3IpZS5wdXNoKCJuIityKTtmb3Iocj0xO3I8dDsrK3IpZS5wdXNoKCJkIityKTtmb3Iocj0xO3I8dDsrK3IpZS5wdXNoKCJlIityKTtmb3Iocj0xO3I8dDsrK3IpZS5wdXNoKCJmIityKTtyZXR1cm4gZX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1bIid1c2Ugc3RyaWN0JyJdLG49WyJuZGFycmF5U29ydFdyYXBwZXIiLHQuam9pbigiZCIpLGVdLmpvaW4oIiIpO3IucHVzaChbImZ1bmN0aW9uICIsbiwiKCIsWyJhcnJheSJdLmpvaW4oIiwiKSwiKXsiXS5qb2luKCIiKSk7Zm9yKHZhciBzPVsiZGF0YT1hcnJheS5kYXRhLG9mZnNldD1hcnJheS5vZmZzZXR8MCxzaGFwZT1hcnJheS5zaGFwZSxzdHJpZGU9YXJyYXkuc3RyaWRlIl0sbD0wO2w8dC5sZW5ndGg7KytsKXMucHVzaChbInMiLGwsIj1zdHJpZGVbIixsLCJdfDAsbiIsbCwiPXNoYXBlWyIsbCwiXXwwIl0uam9pbigiIikpO3ZhciBjPW5ldyBBcnJheSh0Lmxlbmd0aCksdT1bXTtmb3IobD0wO2w8dC5sZW5ndGg7KytsKTAhPT0ocD10W2xdKSYmKDA9PT11Lmxlbmd0aD9jW3BdPSIxIjpjW3BdPXUuam9pbigiKiIpLHUucHVzaCgibiIrcCkpO3ZhciBoPS0xLGY9LTE7Zm9yKGw9MDtsPHQubGVuZ3RoOysrbCl7dmFyIHAsZD10W2xdOzAhPT1kJiYoaD4wP3MucHVzaChbImQiLGQsIj1zIixkLCItZCIsaCwiKm4iLGhdLmpvaW4oIiIpKTpzLnB1c2goWyJkIixkLCI9cyIsZF0uam9pbigiIikpLGg9ZCksMCE9KHA9dC5sZW5ndGgtMS1sKSYmKGY+MD9zLnB1c2goWyJlIixwLCI9cyIscCwiLWUiLGYsIipuIixmLCIsZiIscCwiPSIsY1twXSwiLWYiLGYsIipuIixmXS5qb2luKCIiKSk6cy5wdXNoKFsiZSIscCwiPXMiLHAsIixmIixwLCI9IixjW3BdXS5qb2luKCIiKSksZj1wKX1yLnB1c2goInZhciAiK3Muam9pbigiLCIpKTt2YXIgZz1bIjAiLCJuMC0xIiwiZGF0YSIsIm9mZnNldCJdLmNvbmNhdChvKHQubGVuZ3RoKSk7ci5wdXNoKFsiaWYobjA8PSIsYSwiKXsiLCJpbnNlcnRpb25Tb3J0KCIsZy5qb2luKCIsIiksIil9ZWxzZXsiLCJxdWlja1NvcnQoIixnLmpvaW4oIiwiKSwiKX0iXS5qb2luKCIiKSksci5wdXNoKCJ9cmV0dXJuICIrbik7dmFyIHY9bmV3IEZ1bmN0aW9uKCJpbnNlcnRpb25Tb3J0IiwicXVpY2tTb3J0IixyLmpvaW4oIlxuIikpLG09ZnVuY3Rpb24odCxlKXt2YXIgcj1bIid1c2Ugc3RyaWN0JyJdLG49WyJuZGFycmF5SW5zZXJ0aW9uU29ydCIsdC5qb2luKCJkIiksZV0uam9pbigiIiksYT1bImxlZnQiLCJyaWdodCIsImRhdGEiLCJvZmZzZXQiXS5jb25jYXQobyh0Lmxlbmd0aCkpLHM9aShlKSxsPVsiaSxqLGNwdHIscHRyPWxlZnQqczArb2Zmc2V0Il07aWYodC5sZW5ndGg+MSl7Zm9yKHZhciBjPVtdLHU9MTt1PHQubGVuZ3RoOysrdSlsLnB1c2goImkiK3UpLGMucHVzaCgibiIrdSk7cz9sLnB1c2goInNjcmF0Y2g9bWFsbG9jKCIrYy5qb2luKCIqIikrIikiKTpsLnB1c2goInNjcmF0Y2g9bmV3IEFycmF5KCIrYy5qb2luKCIqIikrIikiKSxsLnB1c2goImRwdHIiLCJzcHRyIiwiYSIsImIiKX1lbHNlIGwucHVzaCgic2NyYXRjaCIpO2Z1bmN0aW9uIGgodCl7cmV0dXJuImdlbmVyaWMiPT09ZT9bImRhdGEuZ2V0KCIsdCwiKSJdLmpvaW4oIiIpOlsiZGF0YVsiLHQsIl0iXS5qb2luKCIiKX1mdW5jdGlvbiBmKHQscil7cmV0dXJuImdlbmVyaWMiPT09ZT9bImRhdGEuc2V0KCIsdCwiLCIsciwiKSJdLmpvaW4oIiIpOlsiZGF0YVsiLHQsIl09IixyXS5qb2luKCIiKX1pZihyLnB1c2goWyJmdW5jdGlvbiAiLG4sIigiLGEuam9pbigiLCIpLCIpe3ZhciAiLGwuam9pbigiLCIpXS5qb2luKCIiKSwiZm9yKGk9bGVmdCsxO2k8PXJpZ2h0OysraSl7Iiwiaj1pO3B0cis9czAiLCJjcHRyPXB0ciIpLHQubGVuZ3RoPjEpe2ZvcihyLnB1c2goImRwdHI9MDtzcHRyPXB0ciIpLHU9dC5sZW5ndGgtMTt1Pj0wOy0tdSkwIT09KHA9dFt1XSkmJnIucHVzaChbImZvcihpIixwLCI9MDtpIixwLCI8biIscCwiOysraSIscCwiKXsiXS5qb2luKCIiKSk7Zm9yKHIucHVzaCgic2NyYXRjaFtkcHRyKytdPSIsaCgic3B0ciIpKSx1PTA7dTx0Lmxlbmd0aDsrK3UpMCE9PShwPXRbdV0pJiZyLnB1c2goInNwdHIrPWQiK3AsIn0iKTtmb3Ioci5wdXNoKCJfX2c6d2hpbGUoai0tXHgzZWxlZnQpeyIsImRwdHI9MCIsInNwdHI9Y3B0ci1zMCIpLHU9MTt1PHQubGVuZ3RoOysrdSkxPT09dSYmci5wdXNoKCJfX2w6Iiksci5wdXNoKFsiZm9yKGkiLHUsIj0wO2kiLHUsIjxuIix1LCI7KytpIix1LCIpeyJdLmpvaW4oIiIpKTtmb3Ioci5wdXNoKFsiYT0iLGgoInNwdHIiKSwiXG5iPXNjcmF0Y2hbZHB0cl1cbmlmKGE8Yil7YnJlYWsgX19nfVxuaWYoYT5iKXticmVhayBfX2x9Il0uam9pbigiIikpLHU9dC5sZW5ndGgtMTt1Pj0xOy0tdSlyLnB1c2goInNwdHIrPWUiK3UsImRwdHIrPWYiK3UsIn0iKTtmb3Ioci5wdXNoKCJkcHRyPWNwdHI7c3B0cj1jcHRyLXMwIiksdT10Lmxlbmd0aC0xO3U+PTA7LS11KTAhPT0ocD10W3VdKSYmci5wdXNoKFsiZm9yKGkiLHAsIj0wO2kiLHAsIjxuIixwLCI7KytpIixwLCIpeyJdLmpvaW4oIiIpKTtmb3Ioci5wdXNoKGYoImRwdHIiLGgoInNwdHIiKSkpLHU9MDt1PHQubGVuZ3RoOysrdSkwIT09KHA9dFt1XSkmJnIucHVzaChbImRwdHIrPWQiLHAsIjtzcHRyKz1kIixwXS5qb2luKCIiKSwifSIpO2ZvcihyLnB1c2goImNwdHItPXMwXG59Iiksci5wdXNoKCJkcHRyPWNwdHI7c3B0cj0wIiksdT10Lmxlbmd0aC0xO3U+PTA7LS11KTAhPT0ocD10W3VdKSYmci5wdXNoKFsiZm9yKGkiLHAsIj0wO2kiLHAsIjxuIixwLCI7KytpIixwLCIpeyJdLmpvaW4oIiIpKTtmb3Ioci5wdXNoKGYoImRwdHIiLCJzY3JhdGNoW3NwdHIrK10iKSksdT0wO3U8dC5sZW5ndGg7Kyt1KXt2YXIgcDswIT09KHA9dFt1XSkmJnIucHVzaCgiZHB0cis9ZCIrcCwifSIpfX1lbHNlIHIucHVzaCgic2NyYXRjaD0iK2goInB0ciIpLCJ3aGlsZSgoai0tXHgzZWxlZnQpJiYoIitoKCJjcHRyLXMwIikrIj5zY3JhdGNoKSl7IixmKCJjcHRyIixoKCJjcHRyLXMwIikpLCJjcHRyLT1zMCIsIn0iLGYoImNwdHIiLCJzY3JhdGNoIikpO3JldHVybiByLnB1c2goIn0iKSx0Lmxlbmd0aD4xJiZzJiZyLnB1c2goImZyZWUoc2NyYXRjaCkiKSxyLnB1c2goIn0gcmV0dXJuICIrbikscz9uZXcgRnVuY3Rpb24oIm1hbGxvYyIsImZyZWUiLHIuam9pbigiXG4iKSkoc1swXSxzWzFdKTpuZXcgRnVuY3Rpb24oci5qb2luKCJcbiIpKSgpfSh0LGUpLHk9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPVsiJ3VzZSBzdHJpY3QnIl0scz1bIm5kYXJyYXlRdWlja1NvcnQiLHQuam9pbigiZCIpLGVdLmpvaW4oIiIpLGw9WyJsZWZ0IiwicmlnaHQiLCJkYXRhIiwib2Zmc2V0Il0uY29uY2F0KG8odC5sZW5ndGgpKSxjPWkoZSksdT0wO24ucHVzaChbImZ1bmN0aW9uICIscywiKCIsbC5qb2luKCIsIiksIil7Il0uam9pbigiIikpO3ZhciBoPVsic2l4dGg9KChyaWdodC1sZWZ0KzEpLzYpfDAiLCJpbmRleDE9bGVmdCtzaXh0aCIsImluZGV4NT1yaWdodC1zaXh0aCIsImluZGV4Mz0obGVmdCtyaWdodCk+PjEiLCJpbmRleDI9aW5kZXgzLXNpeHRoIiwiaW5kZXg0PWluZGV4MytzaXh0aCIsImVsMT1pbmRleDEiLCJlbDI9aW5kZXgyIiwiZWwzPWluZGV4MyIsImVsND1pbmRleDQiLCJlbDU9aW5kZXg1IiwibGVzcz1sZWZ0KzEiLCJncmVhdD1yaWdodC0xIiwicGl2b3RzX2FyZV9lcXVhbD10cnVlIiwidG1wIiwidG1wMCIsIngiLCJ5IiwieiIsImsiLCJwdHIwIiwicHRyMSIsInB0cjIiLCJjb21wX3Bpdm90MT0wIiwiY29tcF9waXZvdDI9MCIsImNvbXA9MCJdO2lmKHQubGVuZ3RoPjEpe2Zvcih2YXIgZj1bXSxwPTE7cDx0Lmxlbmd0aDsrK3ApZi5wdXNoKCJuIitwKSxoLnB1c2goImkiK3ApO2ZvcihwPTA7cDw4OysrcCloLnB1c2goImJfcHRyIitwKTtoLnB1c2goInB0cjMiLCJwdHI0IiwicHRyNSIsInB0cjYiLCJwdHI3IiwicGl2b3RfcHRyIiwicHRyX3NoaWZ0IiwiZWxlbWVudFNpemU9IitmLmpvaW4oIioiKSksYz9oLnB1c2goInBpdm90MT1tYWxsb2MoZWxlbWVudFNpemUpIiwicGl2b3QyPW1hbGxvYyhlbGVtZW50U2l6ZSkiKTpoLnB1c2goInBpdm90MT1uZXcgQXJyYXkoZWxlbWVudFNpemUpLHBpdm90Mj1uZXcgQXJyYXkoZWxlbWVudFNpemUpIil9ZWxzZSBoLnB1c2goInBpdm90MSIsInBpdm90MiIpO2Z1bmN0aW9uIGQodCl7cmV0dXJuWyIob2Zmc2V0KyIsdCwiKnMwKSJdLmpvaW4oIiIpfWZ1bmN0aW9uIGcodCl7cmV0dXJuImdlbmVyaWMiPT09ZT9bImRhdGEuZ2V0KCIsdCwiKSJdLmpvaW4oIiIpOlsiZGF0YVsiLHQsIl0iXS5qb2luKCIiKX1mdW5jdGlvbiB2KHQscil7cmV0dXJuImdlbmVyaWMiPT09ZT9bImRhdGEuc2V0KCIsdCwiLCIsciwiKSJdLmpvaW4oIiIpOlsiZGF0YVsiLHQsIl09IixyXS5qb2luKCIiKX1mdW5jdGlvbiBtKGUscixhKXtpZigxPT09ZS5sZW5ndGgpbi5wdXNoKCJwdHIwPSIrZChlWzBdKSk7ZWxzZSBmb3IodmFyIGk9MDtpPGUubGVuZ3RoOysraSluLnB1c2goWyJiX3B0ciIsaSwiPXMwKiIsZVtpXV0uam9pbigiIikpO2ZvcihyJiZuLnB1c2goInBpdm90X3B0cj0wIiksbi5wdXNoKCJwdHJfc2hpZnQ9b2Zmc2V0IiksaT10Lmxlbmd0aC0xO2k+PTA7LS1pKTAhPT0obz10W2ldKSYmbi5wdXNoKFsiZm9yKGkiLG8sIj0wO2kiLG8sIjxuIixvLCI7KytpIixvLCIpeyJdLmpvaW4oIiIpKTtpZihlLmxlbmd0aD4xKWZvcihpPTA7aTxlLmxlbmd0aDsrK2kpbi5wdXNoKFsicHRyIixpLCI9Yl9wdHIiLGksIitwdHJfc2hpZnQiXS5qb2luKCIiKSk7Zm9yKG4ucHVzaChhKSxyJiZuLnB1c2goIisrcGl2b3RfcHRyIiksaT0wO2k8dC5sZW5ndGg7KytpKXt2YXIgbzswIT09KG89dFtpXSkmJihlLmxlbmd0aD4xP24ucHVzaCgicHRyX3NoaWZ0Kz1kIitvKTpuLnB1c2goInB0cjArPWQiK28pLG4ucHVzaCgifSIpKX19ZnVuY3Rpb24geShlLHIsYSxpKXtpZigxPT09ci5sZW5ndGgpbi5wdXNoKCJwdHIwPSIrZChyWzBdKSk7ZWxzZXtmb3IodmFyIG89MDtvPHIubGVuZ3RoOysrbyluLnB1c2goWyJiX3B0ciIsbywiPXMwKiIscltvXV0uam9pbigiIikpO24ucHVzaCgicHRyX3NoaWZ0PW9mZnNldCIpfWZvcihhJiZuLnB1c2goInBpdm90X3B0cj0wIiksZSYmbi5wdXNoKGUrIjoiKSxvPTE7bzx0Lmxlbmd0aDsrK28pbi5wdXNoKFsiZm9yKGkiLG8sIj0wO2kiLG8sIjxuIixvLCI7KytpIixvLCIpeyJdLmpvaW4oIiIpKTtpZihyLmxlbmd0aD4xKWZvcihvPTA7bzxyLmxlbmd0aDsrK28pbi5wdXNoKFsicHRyIixvLCI9Yl9wdHIiLG8sIitwdHJfc2hpZnQiXS5qb2luKCIiKSk7Zm9yKG4ucHVzaChpKSxvPXQubGVuZ3RoLTE7bz49MTstLW8pYSYmbi5wdXNoKCJwaXZvdF9wdHIrPWYiK28pLHIubGVuZ3RoPjE/bi5wdXNoKCJwdHJfc2hpZnQrPWUiK28pOm4ucHVzaCgicHRyMCs9ZSIrbyksbi5wdXNoKCJ9Iil9ZnVuY3Rpb24geCgpe3QubGVuZ3RoPjEmJmMmJm4ucHVzaCgiZnJlZShwaXZvdDEpIiwiZnJlZShwaXZvdDIpIil9ZnVuY3Rpb24gYihlLHIpe3ZhciBhPSJlbCIrZSxpPSJlbCIrcjtpZih0Lmxlbmd0aD4xKXt2YXIgbz0iX19sIisgKyt1O3kobyxbYSxpXSwhMSxbImNvbXA9IixnKCJwdHIwIiksIi0iLGcoInB0cjEiKSwiXG4iLCJpZihjb21wPjApe3RtcDA9IixhLCI7IixhLCI9IixpLCI7IixpLCI9dG1wMDticmVhayAiLG8sIn1cbiIsImlmKGNvbXA8MCl7YnJlYWsgIixvLCJ9Il0uam9pbigiIikpfWVsc2Ugbi5wdXNoKFsiaWYoIixnKGQoYSkpLCI+IixnKGQoaSkpLCIpe3RtcDA9IixhLCI7IixhLCI9IixpLCI7IixpLCI9dG1wMH0iXS5qb2luKCIiKSl9ZnVuY3Rpb24gXyhlLHIpe3QubGVuZ3RoPjE/bShbZSxyXSwhMSx2KCJwdHIwIixnKCJwdHIxIikpKTpuLnB1c2godihkKGUpLGcoZChyKSkpKX1mdW5jdGlvbiB3KGUscixhKXtpZih0Lmxlbmd0aD4xKXt2YXIgaT0iX19sIisgKyt1O3koaSxbcl0sITAsW2UsIj0iLGcoInB0cjAiKSwiLXBpdm90IixhLCJbcGl2b3RfcHRyXVxuIiwiaWYoIixlLCIhPT0wKXticmVhayAiLGksIn0iXS5qb2luKCIiKSl9ZWxzZSBuLnB1c2goW2UsIj0iLGcoZChyKSksIi1waXZvdCIsYV0uam9pbigiIikpfWZ1bmN0aW9uIGsoZSxyKXt0Lmxlbmd0aD4xP20oW2Uscl0sITEsWyJ0bXA9IixnKCJwdHIwIiksIlxuIix2KCJwdHIwIixnKCJwdHIxIikpLCJcbiIsdigicHRyMSIsInRtcCIpXS5qb2luKCIiKSk6bi5wdXNoKFsicHRyMD0iLGQoZSksIlxuIiwicHRyMT0iLGQociksIlxuIiwidG1wPSIsZygicHRyMCIpLCJcbiIsdigicHRyMCIsZygicHRyMSIpKSwiXG4iLHYoInB0cjEiLCJ0bXAiKV0uam9pbigiIikpfWZ1bmN0aW9uIFQoZSxyLGEpe3QubGVuZ3RoPjE/KG0oW2UscixhXSwhMSxbInRtcD0iLGcoInB0cjAiKSwiXG4iLHYoInB0cjAiLGcoInB0cjEiKSksIlxuIix2KCJwdHIxIixnKCJwdHIyIikpLCJcbiIsdigicHRyMiIsInRtcCIpXS5qb2luKCIiKSksbi5wdXNoKCIrKyIrciwiLS0iK2EpKTpuLnB1c2goWyJwdHIwPSIsZChlKSwiXG4iLCJwdHIxPSIsZChyKSwiXG4iLCJwdHIyPSIsZChhKSwiXG4iLCIrKyIsciwiXG4iLCItLSIsYSwiXG4iLCJ0bXA9IixnKCJwdHIwIiksIlxuIix2KCJwdHIwIixnKCJwdHIxIikpLCJcbiIsdigicHRyMSIsZygicHRyMiIpKSwiXG4iLHYoInB0cjIiLCJ0bXAiKV0uam9pbigiIikpfWZ1bmN0aW9uIE0odCxlKXtrKHQsZSksbi5wdXNoKCItLSIrZSl9ZnVuY3Rpb24gQShlLHIsYSl7dC5sZW5ndGg+MT9tKFtlLHJdLCEwLFt2KCJwdHIwIixnKCJwdHIxIikpLCJcbiIsdigicHRyMSIsWyJwaXZvdCIsYSwiW3Bpdm90X3B0cl0iXS5qb2luKCIiKSldLmpvaW4oIiIpKTpuLnB1c2godihkKGUpLGcoZChyKSkpLHYoZChyKSwicGl2b3QiK2EpKX1mdW5jdGlvbiBTKGUscil7bi5wdXNoKFsiaWYoKCIsciwiLSIsZSwiKTw9IixhLCIpe1xuIiwiaW5zZXJ0aW9uU29ydCgiLGUsIiwiLHIsIixkYXRhLG9mZnNldCwiLG8odC5sZW5ndGgpLmpvaW4oIiwiKSwiKVxuIiwifWVsc2V7XG4iLHMsIigiLGUsIiwiLHIsIixkYXRhLG9mZnNldCwiLG8odC5sZW5ndGgpLmpvaW4oIiwiKSwiKVxuIiwifSJdLmpvaW4oIiIpKX1mdW5jdGlvbiBFKGUscixhKXt0Lmxlbmd0aD4xPyhuLnB1c2goWyJfX2wiLCsrdSwiOndoaWxlKHRydWUpeyJdLmpvaW4oIiIpKSxtKFtlXSwhMCxbImlmKCIsZygicHRyMCIpLCIhPT1waXZvdCIsciwiW3Bpdm90X3B0cl0pe2JyZWFrIF9fbCIsdSwifSJdLmpvaW4oIiIpKSxuLnB1c2goYSwifSIpKTpuLnB1c2goWyJ3aGlsZSgiLGcoZChlKSksIj09PXBpdm90IixyLCIpeyIsYSwifSJdLmpvaW4oIiIpKX1yZXR1cm4gbi5wdXNoKCJ2YXIgIitoLmpvaW4oIiwiKSksYigxLDIpLGIoNCw1KSxiKDEsMyksYigyLDMpLGIoMSw0KSxiKDMsNCksYigyLDUpLGIoMiwzKSxiKDQsNSksdC5sZW5ndGg+MT9tKFsiZWwxIiwiZWwyIiwiZWwzIiwiZWw0IiwiZWw1IiwiaW5kZXgxIiwiaW5kZXgzIiwiaW5kZXg1Il0sITAsWyJwaXZvdDFbcGl2b3RfcHRyXT0iLGcoInB0cjEiKSwiXG4iLCJwaXZvdDJbcGl2b3RfcHRyXT0iLGcoInB0cjMiKSwiXG4iLCJwaXZvdHNfYXJlX2VxdWFsPXBpdm90c19hcmVfZXF1YWwmJihwaXZvdDFbcGl2b3RfcHRyXT09PXBpdm90MltwaXZvdF9wdHJdKVxuIiwieD0iLGcoInB0cjAiKSwiXG4iLCJ5PSIsZygicHRyMiIpLCJcbiIsIno9IixnKCJwdHI0IiksIlxuIix2KCJwdHI1IiwieCIpLCJcbiIsdigicHRyNiIsInkiKSwiXG4iLHYoInB0cjciLCJ6IildLmpvaW4oIiIpKTpuLnB1c2goWyJwaXZvdDE9IixnKGQoImVsMiIpKSwiXG4iLCJwaXZvdDI9IixnKGQoImVsNCIpKSwiXG4iLCJwaXZvdHNfYXJlX2VxdWFsPXBpdm90MT09PXBpdm90MlxuIiwieD0iLGcoZCgiZWwxIikpLCJcbiIsInk9IixnKGQoImVsMyIpKSwiXG4iLCJ6PSIsZyhkKCJlbDUiKSksIlxuIix2KGQoImluZGV4MSIpLCJ4IiksIlxuIix2KGQoImluZGV4MyIpLCJ5IiksIlxuIix2KGQoImluZGV4NSIpLCJ6IildLmpvaW4oIiIpKSxfKCJpbmRleDIiLCJsZWZ0IiksXygiaW5kZXg0IiwicmlnaHQiKSxuLnB1c2goImlmKHBpdm90c19hcmVfZXF1YWwpeyIpLG4ucHVzaCgiZm9yKGs9bGVzcztrPD1ncmVhdDsrK2speyIpLHcoImNvbXAiLCJrIiwxKSxuLnB1c2goImlmKGNvbXA9PT0wKXtjb250aW51ZX0iKSxuLnB1c2goImlmKGNvbXA8MCl7Iiksbi5wdXNoKCJpZihrIT09bGVzcyl7IiksaygiayIsImxlc3MiKSxuLnB1c2goIn0iKSxuLnB1c2goIisrbGVzcyIpLG4ucHVzaCgifWVsc2V7Iiksbi5wdXNoKCJ3aGlsZSh0cnVlKXsiKSx3KCJjb21wIiwiZ3JlYXQiLDEpLG4ucHVzaCgiaWYoY29tcD4wKXsiKSxuLnB1c2goImdyZWF0LS0iKSxuLnB1c2goIn1lbHNlIGlmKGNvbXA8MCl7IiksVCgiayIsImxlc3MiLCJncmVhdCIpLG4ucHVzaCgiYnJlYWsiKSxuLnB1c2goIn1lbHNleyIpLE0oImsiLCJncmVhdCIpLG4ucHVzaCgiYnJlYWsiKSxuLnB1c2goIn0iKSxuLnB1c2goIn0iKSxuLnB1c2goIn0iKSxuLnB1c2goIn0iKSxuLnB1c2goIn1lbHNleyIpLG4ucHVzaCgiZm9yKGs9bGVzcztrPD1ncmVhdDsrK2speyIpLHcoImNvbXBfcGl2b3QxIiwiayIsMSksbi5wdXNoKCJpZihjb21wX3Bpdm90MTwwKXsiKSxuLnB1c2goImlmKGshPT1sZXNzKXsiKSxrKCJrIiwibGVzcyIpLG4ucHVzaCgifSIpLG4ucHVzaCgiKytsZXNzIiksbi5wdXNoKCJ9ZWxzZXsiKSx3KCJjb21wX3Bpdm90MiIsImsiLDIpLG4ucHVzaCgiaWYoY29tcF9waXZvdDI+MCl7Iiksbi5wdXNoKCJ3aGlsZSh0cnVlKXsiKSx3KCJjb21wIiwiZ3JlYXQiLDIpLG4ucHVzaCgiaWYoY29tcD4wKXsiKSxuLnB1c2goImlmKC0tZ3JlYXQ8ayl7YnJlYWt9Iiksbi5wdXNoKCJjb250aW51ZSIpLG4ucHVzaCgifWVsc2V7IiksdygiY29tcCIsImdyZWF0IiwxKSxuLnB1c2goImlmKGNvbXA8MCl7IiksVCgiayIsImxlc3MiLCJncmVhdCIpLG4ucHVzaCgifWVsc2V7IiksTSgiayIsImdyZWF0Iiksbi5wdXNoKCJ9Iiksbi5wdXNoKCJicmVhayIpLG4ucHVzaCgifSIpLG4ucHVzaCgifSIpLG4ucHVzaCgifSIpLG4ucHVzaCgifSIpLG4ucHVzaCgifSIpLG4ucHVzaCgifSIpLEEoImxlZnQiLCIobGVzcy0xKSIsMSksQSgicmlnaHQiLCIoZ3JlYXQrMSkiLDIpLFMoImxlZnQiLCIobGVzcy0yKSIpLFMoIihncmVhdCsyKSIsInJpZ2h0Iiksbi5wdXNoKCJpZihwaXZvdHNfYXJlX2VxdWFsKXsiKSx4KCksbi5wdXNoKCJyZXR1cm4iKSxuLnB1c2goIn0iKSxuLnB1c2goImlmKGxlc3M8aW5kZXgxJiZncmVhdD5pbmRleDUpeyIpLEUoImxlc3MiLDEsIisrbGVzcyIpLEUoImdyZWF0IiwyLCItLWdyZWF0Iiksbi5wdXNoKCJmb3Ioaz1sZXNzO2s8PWdyZWF0Oysrayl7IiksdygiY29tcF9waXZvdDEiLCJrIiwxKSxuLnB1c2goImlmKGNvbXBfcGl2b3QxPT09MCl7Iiksbi5wdXNoKCJpZihrIT09bGVzcyl7IiksaygiayIsImxlc3MiKSxuLnB1c2goIn0iKSxuLnB1c2goIisrbGVzcyIpLG4ucHVzaCgifWVsc2V7IiksdygiY29tcF9waXZvdDIiLCJrIiwyKSxuLnB1c2goImlmKGNvbXBfcGl2b3QyPT09MCl7Iiksbi5wdXNoKCJ3aGlsZSh0cnVlKXsiKSx3KCJjb21wIiwiZ3JlYXQiLDIpLG4ucHVzaCgiaWYoY29tcD09PTApeyIpLG4ucHVzaCgiaWYoLS1ncmVhdDxrKXticmVha30iKSxuLnB1c2goImNvbnRpbnVlIiksbi5wdXNoKCJ9ZWxzZXsiKSx3KCJjb21wIiwiZ3JlYXQiLDEpLG4ucHVzaCgiaWYoY29tcDwwKXsiKSxUKCJrIiwibGVzcyIsImdyZWF0Iiksbi5wdXNoKCJ9ZWxzZXsiKSxNKCJrIiwiZ3JlYXQiKSxuLnB1c2goIn0iKSxuLnB1c2goImJyZWFrIiksbi5wdXNoKCJ9Iiksbi5wdXNoKCJ9Iiksbi5wdXNoKCJ9Iiksbi5wdXNoKCJ9Iiksbi5wdXNoKCJ9Iiksbi5wdXNoKCJ9IikseCgpLFMoImxlc3MiLCJncmVhdCIpLG4ucHVzaCgifXJldHVybiAiK3MpLHQubGVuZ3RoPjEmJmM/bmV3IEZ1bmN0aW9uKCJpbnNlcnRpb25Tb3J0IiwibWFsbG9jIiwiZnJlZSIsbi5qb2luKCJcbiIpKShyLGNbMF0sY1sxXSk6bmV3IEZ1bmN0aW9uKCJpbnNlcnRpb25Tb3J0IixuLmpvaW4oIlxuIikpKHIpfSh0LGUsbSk7cmV0dXJuIHYobSx5KX19LHsidHlwZWRhcnJheS1wb29sIjo1NDR9XSw0NTA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiLi9saWIvY29tcGlsZV9zb3J0LmpzIiksYT17fTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dC5vcmRlcixyPXQuZHR5cGUsaT1bZSxyXS5qb2luKCI6Iiksbz1hW2ldO3JldHVybiBvfHwoYVtpXT1vPW4oZSxyKSksbyh0KSx0fX0seyIuL2xpYi9jb21waWxlX3NvcnQuanMiOjQ0OX1dLDQ1MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJuZGFycmF5LWxpbmVhci1pbnRlcnBvbGF0ZSIpLGE9dCgiY3dpc2UvbGliL3dyYXBwZXIiKSh7YXJnczpbImluZGV4IiwiYXJyYXkiLCJzY2FsYXIiLCJzY2FsYXIiLCJzY2FsYXIiXSxwcmU6e2JvZHk6Int0aGlzX3dhcnBlZD1uZXcgQXJyYXkoX2lubGluZV8zX2FyZzRfKX0iLGFyZ3M6W3tuYW1lOiJfaW5saW5lXzNfYXJnMF8iLGx2YWx1ZTohMSxydmFsdWU6ITEsY291bnQ6MH0se25hbWU6Il9pbmxpbmVfM19hcmcxXyIsbHZhbHVlOiExLHJ2YWx1ZTohMSxjb3VudDowfSx7bmFtZToiX2lubGluZV8zX2FyZzJfIixsdmFsdWU6ITEscnZhbHVlOiExLGNvdW50OjB9LHtuYW1lOiJfaW5saW5lXzNfYXJnM18iLGx2YWx1ZTohMSxydmFsdWU6ITEsY291bnQ6MH0se25hbWU6Il9pbmxpbmVfM19hcmc0XyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfV0sdGhpc1ZhcnM6WyJ0aGlzX3dhcnBlZCJdLGxvY2FsVmFyczpbXX0sYm9keTp7Ym9keToie19pbmxpbmVfNF9hcmcyXyh0aGlzX3dhcnBlZCxfaW5saW5lXzRfYXJnMF8pLF9pbmxpbmVfNF9hcmcxXz1faW5saW5lXzRfYXJnM18uYXBwbHkodm9pZCAwLHRoaXNfd2FycGVkKX0iLGFyZ3M6W3tuYW1lOiJfaW5saW5lXzRfYXJnMF8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfNF9hcmcxXyIsbHZhbHVlOiEwLHJ2YWx1ZTohMSxjb3VudDoxfSx7bmFtZToiX2lubGluZV80X2FyZzJfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9LHtuYW1lOiJfaW5saW5lXzRfYXJnM18iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfNF9hcmc0XyIsbHZhbHVlOiExLHJ2YWx1ZTohMSxjb3VudDowfV0sdGhpc1ZhcnM6WyJ0aGlzX3dhcnBlZCJdLGxvY2FsVmFyczpbXX0scG9zdDp7Ym9keToie30iLGFyZ3M6W10sdGhpc1ZhcnM6W10sbG9jYWxWYXJzOltdfSxkZWJ1ZzohMSxmdW5jTmFtZToid2FycE5EIixibG9ja1NpemU6NjR9KSxpPXQoImN3aXNlL2xpYi93cmFwcGVyIikoe2FyZ3M6WyJpbmRleCIsImFycmF5Iiwic2NhbGFyIiwic2NhbGFyIiwic2NhbGFyIl0scHJlOntib2R5OiJ7dGhpc193YXJwZWQ9WzBdfSIsYXJnczpbXSx0aGlzVmFyczpbInRoaXNfd2FycGVkIl0sbG9jYWxWYXJzOltdfSxib2R5Ontib2R5OiJ7X2lubGluZV83X2FyZzJfKHRoaXNfd2FycGVkLF9pbmxpbmVfN19hcmcwXyksX2lubGluZV83X2FyZzFfPV9pbmxpbmVfN19hcmczXyhfaW5saW5lXzdfYXJnNF8sdGhpc193YXJwZWRbMF0pfSIsYXJnczpbe25hbWU6Il9pbmxpbmVfN19hcmcwXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV83X2FyZzFfIixsdmFsdWU6ITAscnZhbHVlOiExLGNvdW50OjF9LHtuYW1lOiJfaW5saW5lXzdfYXJnMl8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfN19hcmczXyIsbHZhbHVlOiExLHJ2YWx1ZTohMCxjb3VudDoxfSx7bmFtZToiX2lubGluZV83X2FyZzRfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9XSx0aGlzVmFyczpbInRoaXNfd2FycGVkIl0sbG9jYWxWYXJzOltdfSxwb3N0Ontib2R5OiJ7fSIsYXJnczpbXSx0aGlzVmFyczpbXSxsb2NhbFZhcnM6W119LGRlYnVnOiExLGZ1bmNOYW1lOiJ3YXJwMUQiLGJsb2NrU2l6ZTo2NH0pLG89dCgiY3dpc2UvbGliL3dyYXBwZXIiKSh7YXJnczpbImluZGV4IiwiYXJyYXkiLCJzY2FsYXIiLCJzY2FsYXIiLCJzY2FsYXIiXSxwcmU6e2JvZHk6Int0aGlzX3dhcnBlZD1bMCwwXX0iLGFyZ3M6W10sdGhpc1ZhcnM6WyJ0aGlzX3dhcnBlZCJdLGxvY2FsVmFyczpbXX0sYm9keTp7Ym9keToie19pbmxpbmVfMTBfYXJnMl8odGhpc193YXJwZWQsX2lubGluZV8xMF9hcmcwXyksX2lubGluZV8xMF9hcmcxXz1faW5saW5lXzEwX2FyZzNfKF9pbmxpbmVfMTBfYXJnNF8sdGhpc193YXJwZWRbMF0sdGhpc193YXJwZWRbMV0pfSIsYXJnczpbe25hbWU6Il9pbmxpbmVfMTBfYXJnMF8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfMTBfYXJnMV8iLGx2YWx1ZTohMCxydmFsdWU6ITEsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfMTBfYXJnMl8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfMTBfYXJnM18iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX0se25hbWU6Il9pbmxpbmVfMTBfYXJnNF8iLGx2YWx1ZTohMSxydmFsdWU6ITAsY291bnQ6MX1dLHRoaXNWYXJzOlsidGhpc193YXJwZWQiXSxsb2NhbFZhcnM6W119LHBvc3Q6e2JvZHk6Int9IixhcmdzOltdLHRoaXNWYXJzOltdLGxvY2FsVmFyczpbXX0sZGVidWc6ITEsZnVuY05hbWU6IndhcnAyRCIsYmxvY2tTaXplOjY0fSkscz10KCJjd2lzZS9saWIvd3JhcHBlciIpKHthcmdzOlsiaW5kZXgiLCJhcnJheSIsInNjYWxhciIsInNjYWxhciIsInNjYWxhciJdLHByZTp7Ym9keToie3RoaXNfd2FycGVkPVswLDAsMF19IixhcmdzOltdLHRoaXNWYXJzOlsidGhpc193YXJwZWQiXSxsb2NhbFZhcnM6W119LGJvZHk6e2JvZHk6IntfaW5saW5lXzEzX2FyZzJfKHRoaXNfd2FycGVkLF9pbmxpbmVfMTNfYXJnMF8pLF9pbmxpbmVfMTNfYXJnMV89X2lubGluZV8xM19hcmczXyhfaW5saW5lXzEzX2FyZzRfLHRoaXNfd2FycGVkWzBdLHRoaXNfd2FycGVkWzFdLHRoaXNfd2FycGVkWzJdKX0iLGFyZ3M6W3tuYW1lOiJfaW5saW5lXzEzX2FyZzBfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9LHtuYW1lOiJfaW5saW5lXzEzX2FyZzFfIixsdmFsdWU6ITAscnZhbHVlOiExLGNvdW50OjF9LHtuYW1lOiJfaW5saW5lXzEzX2FyZzJfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9LHtuYW1lOiJfaW5saW5lXzEzX2FyZzNfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9LHtuYW1lOiJfaW5saW5lXzEzX2FyZzRfIixsdmFsdWU6ITEscnZhbHVlOiEwLGNvdW50OjF9XSx0aGlzVmFyczpbInRoaXNfd2FycGVkIl0sbG9jYWxWYXJzOltdfSxwb3N0Ontib2R5OiJ7fSIsYXJnczpbXSx0aGlzVmFyczpbXSxsb2NhbFZhcnM6W119LGRlYnVnOiExLGZ1bmNOYW1lOiJ3YXJwM0QiLGJsb2NrU2l6ZTo2NH0pO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscil7c3dpdGNoKGUuc2hhcGUubGVuZ3RoKXtjYXNlIDE6aSh0LHIsbi5kMSxlKTticmVhaztjYXNlIDI6byh0LHIsbi5kMixlKTticmVhaztjYXNlIDM6cyh0LHIsbi5kMyxlKTticmVhaztkZWZhdWx0OmEodCxyLG4uYmluZCh2b2lkIDAsZSksZS5zaGFwZS5sZW5ndGgpfXJldHVybiB0fX0seyJjd2lzZS9saWIvd3JhcHBlciI6MTUxLCJuZGFycmF5LWxpbmVhci1pbnRlcnBvbGF0ZSI6NDQ1fV0sNDUyOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiaW90YS1hcnJheSIpLGE9dCgiaXMtYnVmZmVyIiksaT0idW5kZWZpbmVkIiE9dHlwZW9mIEZsb2F0NjRBcnJheTtmdW5jdGlvbiBvKHQsZSl7cmV0dXJuIHRbMF0tZVswXX1mdW5jdGlvbiBzKCl7dmFyIHQsZT10aGlzLnN0cmlkZSxyPW5ldyBBcnJheShlLmxlbmd0aCk7Zm9yKHQ9MDt0PHIubGVuZ3RoOysrdClyW3RdPVtNYXRoLmFicyhlW3RdKSx0XTtyLnNvcnQobyk7dmFyIG49bmV3IEFycmF5KHIubGVuZ3RoKTtmb3IodD0wO3Q8bi5sZW5ndGg7Kyt0KW5bdF09clt0XVsxXTtyZXR1cm4gbn1mdW5jdGlvbiBsKHQsZSl7dmFyIHI9WyJWaWV3IixlLCJkIix0XS5qb2luKCIiKTtlPDAmJihyPSJWaWV3X05pbCIrdCk7dmFyIGE9ImdlbmVyaWMiPT09dDtpZigtMT09PWUpe3ZhciBpPSJmdW5jdGlvbiAiK3IrIihhKXt0aGlzLmRhdGE9YTt9O3ZhciBwcm90bz0iK3IrIi5wcm90b3R5cGU7cHJvdG8uZHR5cGU9JyIrdCsiJztwcm90by5pbmRleD1mdW5jdGlvbigpe3JldHVybiAtMX07cHJvdG8uc2l6ZT0wO3Byb3RvLmRpbWVuc2lvbj0tMTtwcm90by5zaGFwZT1wcm90by5zdHJpZGU9cHJvdG8ub3JkZXI9W107cHJvdG8ubG89cHJvdG8uaGk9cHJvdG8udHJhbnNwb3NlPXByb3RvLnN0ZXA9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3ICIrcisiKHRoaXMuZGF0YSk7fTtwcm90by5nZXQ9cHJvdG8uc2V0PWZ1bmN0aW9uKCl7fTtwcm90by5waWNrPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9O3JldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3RfIityKyIoYSl7cmV0dXJuIG5ldyAiK3IrIihhKTt9IjtyZXR1cm4gbmV3IEZ1bmN0aW9uKGkpKCl9aWYoMD09PWUpe2k9ImZ1bmN0aW9uICIrcisiKGEsZCkge3RoaXMuZGF0YSA9IGE7dGhpcy5vZmZzZXQgPSBkfTt2YXIgcHJvdG89IityKyIucHJvdG90eXBlO3Byb3RvLmR0eXBlPSciK3QrIic7cHJvdG8uaW5kZXg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vZmZzZXR9O3Byb3RvLmRpbWVuc2lvbj0wO3Byb3RvLnNpemU9MTtwcm90by5zaGFwZT1wcm90by5zdHJpZGU9cHJvdG8ub3JkZXI9W107cHJvdG8ubG89cHJvdG8uaGk9cHJvdG8udHJhbnNwb3NlPXByb3RvLnN0ZXA9ZnVuY3Rpb24gIityKyJfY29weSgpIHtyZXR1cm4gbmV3ICIrcisiKHRoaXMuZGF0YSx0aGlzLm9mZnNldCl9O3Byb3RvLnBpY2s9ZnVuY3Rpb24gIityKyJfcGljaygpe3JldHVybiBUcml2aWFsQXJyYXkodGhpcy5kYXRhKTt9O3Byb3RvLnZhbHVlT2Y9cHJvdG8uZ2V0PWZ1bmN0aW9uICIrcisiX2dldCgpe3JldHVybiAiKyhhPyJ0aGlzLmRhdGEuZ2V0KHRoaXMub2Zmc2V0KSI6InRoaXMuZGF0YVt0aGlzLm9mZnNldF0iKSsifTtwcm90by5zZXQ9ZnVuY3Rpb24gIityKyJfc2V0KHYpe3JldHVybiAiKyhhPyJ0aGlzLmRhdGEuc2V0KHRoaXMub2Zmc2V0LHYpIjoidGhpcy5kYXRhW3RoaXMub2Zmc2V0XT12IikrIn07cmV0dXJuIGZ1bmN0aW9uIGNvbnN0cnVjdF8iK3IrIihhLGIsYyxkKXtyZXR1cm4gbmV3ICIrcisiKGEsZCl9IjtyZXR1cm4gbmV3IEZ1bmN0aW9uKCJUcml2aWFsQXJyYXkiLGkpKGNbdF1bMF0pfWk9WyIndXNlIHN0cmljdCciXTt2YXIgbz1uKGUpLGw9by5tYXAoZnVuY3Rpb24odCl7cmV0dXJuImkiK3R9KSx1PSJ0aGlzLm9mZnNldCsiK28ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiJ0aGlzLnN0cmlkZVsiK3QrIl0qaSIrdH0pLmpvaW4oIisiKSxoPW8ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiJiIit0fSkuam9pbigiLCIpLGY9by5tYXAoZnVuY3Rpb24odCl7cmV0dXJuImMiK3R9KS5qb2luKCIsIik7aS5wdXNoKCJmdW5jdGlvbiAiK3IrIihhLCIraCsiLCIrZisiLGQpe3RoaXMuZGF0YT1hIiwidGhpcy5zaGFwZT1bIitoKyJdIiwidGhpcy5zdHJpZGU9WyIrZisiXSIsInRoaXMub2Zmc2V0PWR8MH0iLCJ2YXIgcHJvdG89IityKyIucHJvdG90eXBlIiwicHJvdG8uZHR5cGU9JyIrdCsiJyIsInByb3RvLmRpbWVuc2lvbj0iK2UpLGkucHVzaCgiT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCdzaXplJyx7Z2V0OmZ1bmN0aW9uICIrcisiX3NpemUoKXtyZXR1cm4gIitvLm1hcChmdW5jdGlvbih0KXtyZXR1cm4idGhpcy5zaGFwZVsiK3QrIl0ifSkuam9pbigiKiIpLCJ9fSkiKSwxPT09ZT9pLnB1c2goInByb3RvLm9yZGVyPVswXSIpOihpLnB1c2goIk9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywnb3JkZXInLHtnZXQ6IiksZTw0PyhpLnB1c2goImZ1bmN0aW9uICIrcisiX29yZGVyKCl7IiksMj09PWU/aS5wdXNoKCJyZXR1cm4gKE1hdGguYWJzKHRoaXMuc3RyaWRlWzBdKT5NYXRoLmFicyh0aGlzLnN0cmlkZVsxXSkpP1sxLDBdOlswLDFdfX0pIik6Mz09PWUmJmkucHVzaCgidmFyIHMwPU1hdGguYWJzKHRoaXMuc3RyaWRlWzBdKSxzMT1NYXRoLmFicyh0aGlzLnN0cmlkZVsxXSksczI9TWF0aC5hYnModGhpcy5zdHJpZGVbMl0pO2lmKHMwPnMxKXtpZihzMT5zMil7cmV0dXJuIFsyLDEsMF07fWVsc2UgaWYoczA+czIpe3JldHVybiBbMSwyLDBdO31lbHNle3JldHVybiBbMSwwLDJdO319ZWxzZSBpZihzMD5zMil7cmV0dXJuIFsyLDAsMV07fWVsc2UgaWYoczI+czEpe3JldHVybiBbMCwxLDJdO31lbHNle3JldHVybiBbMCwyLDFdO319fSkiKSk6aS5wdXNoKCJPUkRFUn0pIikpLGkucHVzaCgicHJvdG8uc2V0PWZ1bmN0aW9uICIrcisiX3NldCgiK2wuam9pbigiLCIpKyIsdil7IiksYT9pLnB1c2goInJldHVybiB0aGlzLmRhdGEuc2V0KCIrdSsiLHYpfSIpOmkucHVzaCgicmV0dXJuIHRoaXMuZGF0YVsiK3UrIl09dn0iKSxpLnB1c2goInByb3RvLmdldD1mdW5jdGlvbiAiK3IrIl9nZXQoIitsLmpvaW4oIiwiKSsiKXsiKSxhP2kucHVzaCgicmV0dXJuIHRoaXMuZGF0YS5nZXQoIit1KyIpfSIpOmkucHVzaCgicmV0dXJuIHRoaXMuZGF0YVsiK3UrIl19IiksaS5wdXNoKCJwcm90by5pbmRleD1mdW5jdGlvbiAiK3IrIl9pbmRleCgiLGwuam9pbigpLCIpe3JldHVybiAiK3UrIn0iKSxpLnB1c2goInByb3RvLmhpPWZ1bmN0aW9uICIrcisiX2hpKCIrbC5qb2luKCIsIikrIil7cmV0dXJuIG5ldyAiK3IrIih0aGlzLmRhdGEsIitvLm1hcChmdW5jdGlvbih0KXtyZXR1cm5bIih0eXBlb2YgaSIsdCwiIT09J251bWJlcid8fGkiLHQsIjwwKT90aGlzLnNoYXBlWyIsdCwiXTppIix0LCJ8MCJdLmpvaW4oIiIpfSkuam9pbigiLCIpKyIsIitvLm1hcChmdW5jdGlvbih0KXtyZXR1cm4idGhpcy5zdHJpZGVbIit0KyJdIn0pLmpvaW4oIiwiKSsiLHRoaXMub2Zmc2V0KX0iKTt2YXIgcD1vLm1hcChmdW5jdGlvbih0KXtyZXR1cm4iYSIrdCsiPXRoaXMuc2hhcGVbIit0KyJdIn0pLGQ9by5tYXAoZnVuY3Rpb24odCl7cmV0dXJuImMiK3QrIj10aGlzLnN0cmlkZVsiK3QrIl0ifSk7aS5wdXNoKCJwcm90by5sbz1mdW5jdGlvbiAiK3IrIl9sbygiK2wuam9pbigiLCIpKyIpe3ZhciBiPXRoaXMub2Zmc2V0LGQ9MCwiK3Auam9pbigiLCIpKyIsIitkLmpvaW4oIiwiKSk7Zm9yKHZhciBnPTA7ZzxlOysrZylpLnB1c2goImlmKHR5cGVvZiBpIitnKyI9PT0nbnVtYmVyJyYmaSIrZysiPj0wKXtkPWkiK2crInwwO2IrPWMiK2crIipkO2EiK2crIi09ZH0iKTtpLnB1c2goInJldHVybiBuZXcgIityKyIodGhpcy5kYXRhLCIrby5tYXAoZnVuY3Rpb24odCl7cmV0dXJuImEiK3R9KS5qb2luKCIsIikrIiwiK28ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiJjIit0fSkuam9pbigiLCIpKyIsYil9IiksaS5wdXNoKCJwcm90by5zdGVwPWZ1bmN0aW9uICIrcisiX3N0ZXAoIitsLmpvaW4oIiwiKSsiKXt2YXIgIitvLm1hcChmdW5jdGlvbih0KXtyZXR1cm4iYSIrdCsiPXRoaXMuc2hhcGVbIit0KyJdIn0pLmpvaW4oIiwiKSsiLCIrby5tYXAoZnVuY3Rpb24odCl7cmV0dXJuImIiK3QrIj10aGlzLnN0cmlkZVsiK3QrIl0ifSkuam9pbigiLCIpKyIsYz10aGlzLm9mZnNldCxkPTAsY2VpbD1NYXRoLmNlaWwiKTtmb3IoZz0wO2c8ZTsrK2cpaS5wdXNoKCJpZih0eXBlb2YgaSIrZysiPT09J251bWJlcicpe2Q9aSIrZysifDA7aWYoZDwwKXtjKz1iIitnKyIqKGEiK2crIi0xKTthIitnKyI9Y2VpbCgtYSIrZysiL2QpfWVsc2V7YSIrZysiPWNlaWwoYSIrZysiL2QpfWIiK2crIio9ZH0iKTtpLnB1c2goInJldHVybiBuZXcgIityKyIodGhpcy5kYXRhLCIrby5tYXAoZnVuY3Rpb24odCl7cmV0dXJuImEiK3R9KS5qb2luKCIsIikrIiwiK28ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiJiIit0fSkuam9pbigiLCIpKyIsYyl9Iik7dmFyIHY9bmV3IEFycmF5KGUpLG09bmV3IEFycmF5KGUpO2ZvcihnPTA7ZzxlOysrZyl2W2ddPSJhW2kiK2crIl0iLG1bZ109ImJbaSIrZysiXSI7aS5wdXNoKCJwcm90by50cmFuc3Bvc2U9ZnVuY3Rpb24gIityKyJfdHJhbnNwb3NlKCIrbCsiKXsiK2wubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrIj0oIit0KyI9PT11bmRlZmluZWQ/IitlKyI6Iit0KyJ8MCkifSkuam9pbigiOyIpLCJ2YXIgYT10aGlzLnNoYXBlLGI9dGhpcy5zdHJpZGU7cmV0dXJuIG5ldyAiK3IrIih0aGlzLmRhdGEsIit2LmpvaW4oIiwiKSsiLCIrbS5qb2luKCIsIikrIix0aGlzLm9mZnNldCl9IiksaS5wdXNoKCJwcm90by5waWNrPWZ1bmN0aW9uICIrcisiX3BpY2soIitsKyIpe3ZhciBhPVtdLGI9W10sYz10aGlzLm9mZnNldCIpO2ZvcihnPTA7ZzxlOysrZylpLnB1c2goImlmKHR5cGVvZiBpIitnKyI9PT0nbnVtYmVyJyYmaSIrZysiPj0wKXtjPShjK3RoaXMuc3RyaWRlWyIrZysiXSppIitnKyIpfDB9ZWxzZXthLnB1c2godGhpcy5zaGFwZVsiK2crIl0pO2IucHVzaCh0aGlzLnN0cmlkZVsiK2crIl0pfSIpO3JldHVybiBpLnB1c2goInZhciBjdG9yPUNUT1JfTElTVFthLmxlbmd0aCsxXTtyZXR1cm4gY3Rvcih0aGlzLmRhdGEsYSxiLGMpfSIpLGkucHVzaCgicmV0dXJuIGZ1bmN0aW9uIGNvbnN0cnVjdF8iK3IrIihkYXRhLHNoYXBlLHN0cmlkZSxvZmZzZXQpe3JldHVybiBuZXcgIityKyIoZGF0YSwiK28ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiJzaGFwZVsiK3QrIl0ifSkuam9pbigiLCIpKyIsIitvLm1hcChmdW5jdGlvbih0KXtyZXR1cm4ic3RyaWRlWyIrdCsiXSJ9KS5qb2luKCIsIikrIixvZmZzZXQpfSIpLG5ldyBGdW5jdGlvbigiQ1RPUl9MSVNUIiwiT1JERVIiLGkuam9pbigiXG4iKSkoY1t0XSxzKX12YXIgYz17ZmxvYXQzMjpbXSxmbG9hdDY0OltdLGludDg6W10saW50MTY6W10saW50MzI6W10sdWludDg6W10sdWludDE2OltdLHVpbnQzMjpbXSxhcnJheTpbXSx1aW50OF9jbGFtcGVkOltdLGJ1ZmZlcjpbXSxnZW5lcmljOltdfTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbil7aWYodm9pZCAwPT09dClyZXR1cm4oMCxjLmFycmF5WzBdKShbXSk7Im51bWJlciI9PXR5cGVvZiB0JiYodD1bdF0pLHZvaWQgMD09PWUmJihlPVt0Lmxlbmd0aF0pO3ZhciBvPWUubGVuZ3RoO2lmKHZvaWQgMD09PXIpe3I9bmV3IEFycmF5KG8pO2Zvcih2YXIgcz1vLTEsdT0xO3M+PTA7LS1zKXJbc109dSx1Kj1lW3NdfWlmKHZvaWQgMD09PW4pZm9yKG49MCxzPTA7czxvOysrcylyW3NdPDAmJihuLT0oZVtzXS0xKSpyW3NdKTtmb3IodmFyIGg9ZnVuY3Rpb24odCl7aWYoYSh0KSlyZXR1cm4iYnVmZmVyIjtpZihpKXN3aXRjaChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkpe2Nhc2UiW29iamVjdCBGbG9hdDY0QXJyYXldIjpyZXR1cm4iZmxvYXQ2NCI7Y2FzZSJbb2JqZWN0IEZsb2F0MzJBcnJheV0iOnJldHVybiJmbG9hdDMyIjtjYXNlIltvYmplY3QgSW50OEFycmF5XSI6cmV0dXJuImludDgiO2Nhc2UiW29iamVjdCBJbnQxNkFycmF5XSI6cmV0dXJuImludDE2IjtjYXNlIltvYmplY3QgSW50MzJBcnJheV0iOnJldHVybiJpbnQzMiI7Y2FzZSJbb2JqZWN0IFVpbnQ4QXJyYXldIjpyZXR1cm4idWludDgiO2Nhc2UiW29iamVjdCBVaW50MTZBcnJheV0iOnJldHVybiJ1aW50MTYiO2Nhc2UiW29iamVjdCBVaW50MzJBcnJheV0iOnJldHVybiJ1aW50MzIiO2Nhc2UiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iOnJldHVybiJ1aW50OF9jbGFtcGVkIn1yZXR1cm4gQXJyYXkuaXNBcnJheSh0KT8iYXJyYXkiOiJnZW5lcmljIn0odCksZj1jW2hdO2YubGVuZ3RoPD1vKzE7KWYucHVzaChsKGgsZi5sZW5ndGgtMSkpO3JldHVybigwLGZbbysxXSkodCxlLHIsbil9fSx7ImlvdGEtYXJyYXkiOjQxOCwiaXMtYnVmZmVyIjo0MjB9XSw0NTM6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dCgiZG91YmxlLWJpdHMiKSxhPU1hdGgucG93KDIsLTEwNzQpLGk9LTE+Pj4wO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGlzTmFOKHQpfHxpc05hTihlKSlyZXR1cm4gTmFOO2lmKHQ9PT1lKXJldHVybiB0O2lmKDA9PT10KXJldHVybiBlPDA/LWE6YTt2YXIgcj1uLmhpKHQpLG89bi5sbyh0KTtlPnQ9PXQ+MD9vPT09aT8ocis9MSxvPTApOm8rPTE6MD09PW8/KG89aSxyLT0xKTpvLT0xO3JldHVybiBuLnBhY2sobyxyKX19LHsiZG91YmxlLWJpdHMiOjE2OX1dLDQ1NDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPU1hdGguUEksYT1jKDEyMCk7ZnVuY3Rpb24gaSh0LGUscixuKXtyZXR1cm5bIkMiLHQsZSxyLG4scixuXX1mdW5jdGlvbiBvKHQsZSxyLG4sYSxpKXtyZXR1cm5bIkMiLHQvMysyLzMqcixlLzMrMi8zKm4sYS8zKzIvMypyLGkvMysyLzMqbixhLGldfWZ1bmN0aW9uIHModCxlLHIsaSxvLGMsdSxoLGYscCl7aWYocClrPXBbMF0sVD1wWzFdLF89cFsyXSx3PXBbM107ZWxzZXt2YXIgZD1sKHQsZSwtbyk7dD1kLngsZT1kLnk7dmFyIGc9KHQtKGg9KGQ9bChoLGYsLW8pKS54KSkvMix2PShlLShmPWQueSkpLzIsbT1nKmcvKHIqcikrdip2LyhpKmkpO20+MSYmKHIqPW09TWF0aC5zcXJ0KG0pLGkqPW0pO3ZhciB5PXIqcix4PWkqaSxiPShjPT11Py0xOjEpKk1hdGguc3FydChNYXRoLmFicygoeSp4LXkqdip2LXgqZypnKS8oeSp2KnYreCpnKmcpKSk7Yj09MS8wJiYoYj0xKTt2YXIgXz1iKnIqdi9pKyh0K2gpLzIsdz1iKi1pKmcvcisoZStmKS8yLGs9TWF0aC5hc2luKCgoZS13KS9pKS50b0ZpeGVkKDkpKSxUPU1hdGguYXNpbigoKGYtdykvaSkudG9GaXhlZCg5KSk7KGs9dDxfP24tazprKTwwJiYoaz0yKm4rayksKFQ9aDxfP24tVDpUKTwwJiYoVD0yKm4rVCksdSYmaz5UJiYoay09MipuKSwhdSYmVD5rJiYoVC09MipuKX1pZihNYXRoLmFicyhULWspPmEpe3ZhciBNPVQsQT1oLFM9ZjtUPWsrYSoodSYmVD5rPzE6LTEpO3ZhciBFPXMoaD1fK3IqTWF0aC5jb3MoVCksZj13K2kqTWF0aC5zaW4oVCkscixpLG8sMCx1LEEsUyxbVCxNLF8sd10pfXZhciBMPU1hdGgudGFuKChULWspLzQpLEM9NC8zKnIqTCxQPTQvMyppKkwsTz1bMip0LSh0K0MqTWF0aC5zaW4oaykpLDIqZS0oZS1QKk1hdGguY29zKGspKSxoK0MqTWF0aC5zaW4oVCksZi1QKk1hdGguY29zKFQpLGgsZl07aWYocClyZXR1cm4gTztFJiYoTz1PLmNvbmNhdChFKSk7Zm9yKHZhciB6PTA7ejxPLmxlbmd0aDspe3ZhciBJPWwoT1t6XSxPW3orMV0sbyk7T1t6KytdPUkueCxPW3orK109SS55fXJldHVybiBPfWZ1bmN0aW9uIGwodCxlLHIpe3JldHVybnt4OnQqTWF0aC5jb3MociktZSpNYXRoLnNpbihyKSx5OnQqTWF0aC5zaW4ocikrZSpNYXRoLmNvcyhyKX19ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdCoobi8xODApfWUuZXhwb3J0cz1mdW5jdGlvbih0KXtmb3IodmFyIGUscj1bXSxuPTAsYT0wLGw9MCx1PTAsaD1udWxsLGY9bnVsbCxwPTAsZD0wLGc9MCx2PXQubGVuZ3RoO2c8djtnKyspe3ZhciBtPXRbZ10seT1tWzBdO3N3aXRjaCh5KXtjYXNlIk0iOmw9bVsxXSx1PW1bMl07YnJlYWs7Y2FzZSJBIjoobT1zKHAsZCxtWzFdLG1bMl0sYyhtWzNdKSxtWzRdLG1bNV0sbVs2XSxtWzddKSkudW5zaGlmdCgiQyIpLG0ubGVuZ3RoPjcmJihyLnB1c2gobS5zcGxpY2UoMCw3KSksbS51bnNoaWZ0KCJDIikpO2JyZWFrO2Nhc2UiUyI6dmFyIHg9cCxiPWQ7IkMiIT1lJiYiUyIhPWV8fCh4Kz14LW4sYis9Yi1hKSxtPVsiQyIseCxiLG1bMV0sbVsyXSxtWzNdLG1bNF1dO2JyZWFrO2Nhc2UiVCI6IlEiPT1lfHwiVCI9PWU/KGg9MipwLWgsZj0yKmQtZik6KGg9cCxmPWQpLG09byhwLGQsaCxmLG1bMV0sbVsyXSk7YnJlYWs7Y2FzZSJRIjpoPW1bMV0sZj1tWzJdLG09byhwLGQsbVsxXSxtWzJdLG1bM10sbVs0XSk7YnJlYWs7Y2FzZSJMIjptPWkocCxkLG1bMV0sbVsyXSk7YnJlYWs7Y2FzZSJIIjptPWkocCxkLG1bMV0sZCk7YnJlYWs7Y2FzZSJWIjptPWkocCxkLHAsbVsxXSk7YnJlYWs7Y2FzZSJaIjptPWkocCxkLGwsdSl9ZT15LHA9bVttLmxlbmd0aC0yXSxkPW1bbS5sZW5ndGgtMV0sbS5sZW5ndGg+ND8obj1tW20ubGVuZ3RoLTRdLGE9bVttLmxlbmd0aC0zXSk6KG49cCxhPWQpLHIucHVzaChtKX1yZXR1cm4gcn19LHt9XSw0NTU6W2Z1bmN0aW9uKHQsZSxyKXtyLnZlcnRleE5vcm1hbHM9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj1lLmxlbmd0aCxhPW5ldyBBcnJheShuKSxpPXZvaWQgMD09PXI/MWUtNjpyLG89MDtvPG47KytvKWFbb109WzAsMCwwXTtmb3Iobz0wO288dC5sZW5ndGg7KytvKWZvcih2YXIgcz10W29dLGw9MCxjPXNbcy5sZW5ndGgtMV0sdT1zWzBdLGg9MDtoPHMubGVuZ3RoOysraCl7bD1jLGM9dSx1PXNbKGgrMSklcy5sZW5ndGhdO2Zvcih2YXIgZj1lW2xdLHA9ZVtjXSxkPWVbdV0sZz1uZXcgQXJyYXkoMyksdj0wLG09bmV3IEFycmF5KDMpLHk9MCx4PTA7eDwzOysreClnW3hdPWZbeF0tcFt4XSx2Kz1nW3hdKmdbeF0sbVt4XT1kW3hdLXBbeF0seSs9bVt4XSptW3hdO2lmKHYqeT5pKXt2YXIgYj1hW2NdLF89MS9NYXRoLnNxcnQodip5KTtmb3IoeD0wO3g8MzsrK3gpe3ZhciB3PSh4KzEpJTMsaz0oeCsyKSUzO2JbeF0rPV8qKG1bd10qZ1trXS1tW2tdKmdbd10pfX19Zm9yKG89MDtvPG47KytvKXtiPWFbb107dmFyIFQ9MDtmb3IoeD0wO3g8MzsrK3gpVCs9Ylt4XSpiW3hdO2lmKFQ+aSlmb3IoXz0xL01hdGguc3FydChUKSx4PTA7eDwzOysreCliW3hdKj1fO2Vsc2UgZm9yKHg9MDt4PDM7Kyt4KWJbeF09MH1yZXR1cm4gYX0sci5mYWNlTm9ybWFscz1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPXQubGVuZ3RoLGE9bmV3IEFycmF5KG4pLGk9dm9pZCAwPT09cj8xZS02OnIsbz0wO288bjsrK28pe2Zvcih2YXIgcz10W29dLGw9bmV3IEFycmF5KDMpLGM9MDtjPDM7KytjKWxbY109ZVtzW2NdXTt2YXIgdT1uZXcgQXJyYXkoMyksaD1uZXcgQXJyYXkoMyk7Zm9yKGM9MDtjPDM7KytjKXVbY109bFsxXVtjXS1sWzBdW2NdLGhbY109bFsyXVtjXS1sWzBdW2NdO3ZhciBmPW5ldyBBcnJheSgzKSxwPTA7Zm9yKGM9MDtjPDM7KytjKXt2YXIgZD0oYysxKSUzLGc9KGMrMiklMztmW2NdPXVbZF0qaFtnXS11W2ddKmhbZF0scCs9ZltjXSpmW2NdfXA9cD5pPzEvTWF0aC5zcXJ0KHApOjA7Zm9yKGM9MDtjPDM7KytjKWZbY10qPXA7YVtvXT1mfXJldHVybiBhfX0se31dLDQ1NjpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLGE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxpPU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dHJ5e2lmKCFPYmplY3QuYXNzaWduKXJldHVybiExO3ZhciB0PW5ldyBTdHJpbmcoImFiYyIpO2lmKHRbNV09ImRlIiwiNSI9PT1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KVswXSlyZXR1cm4hMTtmb3IodmFyIGU9e30scj0wO3I8MTA7cisrKWVbIl8iK1N0cmluZy5mcm9tQ2hhckNvZGUocildPXI7aWYoIjAxMjM0NTY3ODkiIT09T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdfSkuam9pbigiIikpcmV0dXJuITE7dmFyIG49e307cmV0dXJuImFiY2RlZmdoaWprbG1ub3BxcnN0Ii5zcGxpdCgiIikuZm9yRWFjaChmdW5jdGlvbih0KXtuW3RdPXR9KSwiYWJjZGVmZ2hpamtsbW5vcHFyc3QiPT09T2JqZWN0LmtleXMoT2JqZWN0LmFzc2lnbih7fSxuKSkuam9pbigiIil9Y2F0Y2godCl7cmV0dXJuITF9fSgpP09iamVjdC5hc3NpZ246ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIsbyxzPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0LmFzc2lnbiBjYW5ub3QgYmUgY2FsbGVkIHdpdGggbnVsbCBvciB1bmRlZmluZWQiKTtyZXR1cm4gT2JqZWN0KHQpfSh0KSxsPTE7bDxhcmd1bWVudHMubGVuZ3RoO2wrKyl7Zm9yKHZhciBjIGluIHI9T2JqZWN0KGFyZ3VtZW50c1tsXSkpYS5jYWxsKHIsYykmJihzW2NdPXJbY10pO2lmKG4pe289bihyKTtmb3IodmFyIHU9MDt1PG8ubGVuZ3RoO3UrKylpLmNhbGwocixvW3VdKSYmKHNbb1t1XV09cltvW3VdXSl9fXJldHVybiBzfX0se31dLDQ1NzpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbixhLGksbyxzLGwsYyl7dmFyIHU9ZStpK2M7aWYoaD4wKXt2YXIgaD1NYXRoLnNxcnQodSsxKTt0WzBdPS41KihvLWwpL2gsdFsxXT0uNSoocy1uKS9oLHRbMl09LjUqKHItaSkvaCx0WzNdPS41Kmh9ZWxzZXt2YXIgZj1NYXRoLm1heChlLGksYyksaD1NYXRoLnNxcnQoMipmLXUrMSk7ZT49Zj8odFswXT0uNSpoLHRbMV09LjUqKGErcikvaCx0WzJdPS41KihzK24pL2gsdFszXT0uNSooby1sKS9oKTppPj1mPyh0WzBdPS41KihyK2EpL2gsdFsxXT0uNSpoLHRbMl09LjUqKGwrbykvaCx0WzNdPS41KihzLW4pL2gpOih0WzBdPS41KihuK3MpL2gsdFsxXT0uNSoobytsKS9oLHRbMl09LjUqaCx0WzNdPS41KihyLWEpL2gpfXJldHVybiB0fX0se31dLDQ1ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9KHQ9dHx8e30pLmNlbnRlcnx8WzAsMCwwXSxyPXQucm90YXRpb258fFswLDAsMCwxXSxuPXQucmFkaXVzfHwxO2U9W10uc2xpY2UuY2FsbChlLDAsMyksdShyPVtdLnNsaWNlLmNhbGwociwwLDQpLHIpO3ZhciBhPW5ldyBoKHIsZSxNYXRoLmxvZyhuKSk7YS5zZXREaXN0YW5jZUxpbWl0cyh0Lnpvb21NaW4sdC56b29tTWF4KSwoImV5ZSJpbiB0fHwidXAiaW4gdCkmJmEubG9va0F0KDAsdC5leWUsdC5jZW50ZXIsdC51cCk7cmV0dXJuIGF9O3ZhciBuPXQoImZpbHRlcmVkLXZlY3RvciIpLGE9dCgiZ2wtbWF0NC9sb29rQXQiKSxpPXQoImdsLW1hdDQvZnJvbVF1YXQiKSxvPXQoImdsLW1hdDQvaW52ZXJ0Iikscz10KCIuL2xpYi9xdWF0RnJvbUZyYW1lIik7ZnVuY3Rpb24gbCh0LGUscil7cmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyh0LDIpK01hdGgucG93KGUsMikrTWF0aC5wb3cociwyKSl9ZnVuY3Rpb24gYyh0LGUscixuKXtyZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KHQsMikrTWF0aC5wb3coZSwyKStNYXRoLnBvdyhyLDIpK01hdGgucG93KG4sMikpfWZ1bmN0aW9uIHUodCxlKXt2YXIgcj1lWzBdLG49ZVsxXSxhPWVbMl0saT1lWzNdLG89YyhyLG4sYSxpKTtvPjFlLTY/KHRbMF09ci9vLHRbMV09bi9vLHRbMl09YS9vLHRbM109aS9vKToodFswXT10WzFdPXRbMl09MCx0WzNdPTEpfWZ1bmN0aW9uIGgodCxlLHIpe3RoaXMucmFkaXVzPW4oW3JdKSx0aGlzLmNlbnRlcj1uKGUpLHRoaXMucm90YXRpb249bih0KSx0aGlzLmNvbXB1dGVkUmFkaXVzPXRoaXMucmFkaXVzLmN1cnZlKDApLHRoaXMuY29tcHV0ZWRDZW50ZXI9dGhpcy5jZW50ZXIuY3VydmUoMCksdGhpcy5jb21wdXRlZFJvdGF0aW9uPXRoaXMucm90YXRpb24uY3VydmUoMCksdGhpcy5jb21wdXRlZFVwPVsuMSwwLDBdLHRoaXMuY29tcHV0ZWRFeWU9Wy4xLDAsMF0sdGhpcy5jb21wdXRlZE1hdHJpeD1bLjEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdLHRoaXMucmVjYWxjTWF0cml4KDApfXZhciBmPWgucHJvdG90eXBlO2YubGFzdFQ9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5tYXgodGhpcy5yYWRpdXMubGFzdFQoKSx0aGlzLmNlbnRlci5sYXN0VCgpLHRoaXMucm90YXRpb24ubGFzdFQoKSl9LGYucmVjYWxjTWF0cml4PWZ1bmN0aW9uKHQpe3RoaXMucmFkaXVzLmN1cnZlKHQpLHRoaXMuY2VudGVyLmN1cnZlKHQpLHRoaXMucm90YXRpb24uY3VydmUodCk7dmFyIGU9dGhpcy5jb21wdXRlZFJvdGF0aW9uO3UoZSxlKTt2YXIgcj10aGlzLmNvbXB1dGVkTWF0cml4O2kocixlKTt2YXIgbj10aGlzLmNvbXB1dGVkQ2VudGVyLGE9dGhpcy5jb21wdXRlZEV5ZSxvPXRoaXMuY29tcHV0ZWRVcCxzPU1hdGguZXhwKHRoaXMuY29tcHV0ZWRSYWRpdXNbMF0pO2FbMF09blswXStzKnJbMl0sYVsxXT1uWzFdK3Mqcls2XSxhWzJdPW5bMl0rcypyWzEwXSxvWzBdPXJbMV0sb1sxXT1yWzVdLG9bMl09cls5XTtmb3IodmFyIGw9MDtsPDM7KytsKXtmb3IodmFyIGM9MCxoPTA7aDwzOysraCljKz1yW2wrNCpoXSphW2hdO3JbMTIrbF09LWN9fSxmLmdldE1hdHJpeD1mdW5jdGlvbih0LGUpe3RoaXMucmVjYWxjTWF0cml4KHQpO3ZhciByPXRoaXMuY29tcHV0ZWRNYXRyaXg7aWYoZSl7Zm9yKHZhciBuPTA7bjwxNjsrK24pZVtuXT1yW25dO3JldHVybiBlfXJldHVybiByfSxmLmlkbGU9ZnVuY3Rpb24odCl7dGhpcy5jZW50ZXIuaWRsZSh0KSx0aGlzLnJhZGl1cy5pZGxlKHQpLHRoaXMucm90YXRpb24uaWRsZSh0KX0sZi5mbHVzaD1mdW5jdGlvbih0KXt0aGlzLmNlbnRlci5mbHVzaCh0KSx0aGlzLnJhZGl1cy5mbHVzaCh0KSx0aGlzLnJvdGF0aW9uLmZsdXNoKHQpfSxmLnBhbj1mdW5jdGlvbih0LGUscixuKXtlPWV8fDAscj1yfHwwLG49bnx8MCx0aGlzLnJlY2FsY01hdHJpeCh0KTt2YXIgYT10aGlzLmNvbXB1dGVkTWF0cml4LGk9YVsxXSxvPWFbNV0scz1hWzldLGM9bChpLG8scyk7aS89YyxvLz1jLHMvPWM7dmFyIHU9YVswXSxoPWFbNF0sZj1hWzhdLHA9dSppK2gqbytmKnMsZD1sKHUtPWkqcCxoLT1vKnAsZi09cypwKTt1Lz1kLGgvPWQsZi89ZDt2YXIgZz1hWzJdLHY9YVs2XSxtPWFbMTBdLHk9ZyppK3YqbyttKnMseD1nKnUrdipoK20qZixiPWwoZy09eSppK3gqdSx2LT15Km8reCpoLG0tPXkqcyt4KmYpO2cvPWIsdi89YixtLz1iO3ZhciBfPXUqZStpKnIsdz1oKmUrbypyLGs9ZiplK3Mqcjt0aGlzLmNlbnRlci5tb3ZlKHQsXyx3LGspO3ZhciBUPU1hdGguZXhwKHRoaXMuY29tcHV0ZWRSYWRpdXNbMF0pO1Q9TWF0aC5tYXgoMWUtNCxUK24pLHRoaXMucmFkaXVzLnNldCh0LE1hdGgubG9nKFQpKX0sZi5yb3RhdGU9ZnVuY3Rpb24odCxlLHIsbil7dGhpcy5yZWNhbGNNYXRyaXgodCksZT1lfHwwLHI9cnx8MDt2YXIgYT10aGlzLmNvbXB1dGVkTWF0cml4LGk9YVswXSxvPWFbNF0scz1hWzhdLHU9YVsxXSxoPWFbNV0sZj1hWzldLHA9YVsyXSxkPWFbNl0sZz1hWzEwXSx2PWUqaStyKnUsbT1lKm8rcipoLHk9ZSpzK3IqZix4PS0oZCp5LWcqbSksYj0tKGcqdi1wKnkpLF89LShwKm0tZCp2KSx3PU1hdGguc3FydChNYXRoLm1heCgwLDEtTWF0aC5wb3coeCwyKS1NYXRoLnBvdyhiLDIpLU1hdGgucG93KF8sMikpKSxrPWMoeCxiLF8sdyk7az4xZS02Pyh4Lz1rLGIvPWssXy89ayx3Lz1rKTooeD1iPV89MCx3PTEpO3ZhciBUPXRoaXMuY29tcHV0ZWRSb3RhdGlvbixNPVRbMF0sQT1UWzFdLFM9VFsyXSxFPVRbM10sTD1NKncrRSp4K0EqXy1TKmIsQz1BKncrRSpiK1MqeC1NKl8sUD1TKncrRSpfK00qYi1BKngsTz1FKnctTSp4LUEqYi1TKl87aWYobil7eD1wLGI9ZCxfPWc7dmFyIHo9TWF0aC5zaW4obikvbCh4LGIsXyk7eCo9eixiKj16LF8qPXosTz1PKih3PU1hdGguY29zKGUpKS0oTD1MKncrTyp4K0MqXy1QKmIpKngtKEM9Qyp3K08qYitQKngtTCpfKSpiLShQPVAqdytPKl8rTCpiLUMqeCkqX312YXIgST1jKEwsQyxQLE8pO0k+MWUtNj8oTC89SSxDLz1JLFAvPUksTy89SSk6KEw9Qz1QPTAsTz0xKSx0aGlzLnJvdGF0aW9uLnNldCh0LEwsQyxQLE8pfSxmLmxvb2tBdD1mdW5jdGlvbih0LGUscixuKXt0aGlzLnJlY2FsY01hdHJpeCh0KSxyPXJ8fHRoaXMuY29tcHV0ZWRDZW50ZXIsZT1lfHx0aGlzLmNvbXB1dGVkRXllLG49bnx8dGhpcy5jb21wdXRlZFVwO3ZhciBpPXRoaXMuY29tcHV0ZWRNYXRyaXg7YShpLGUscixuKTt2YXIgbz10aGlzLmNvbXB1dGVkUm90YXRpb247cyhvLGlbMF0saVsxXSxpWzJdLGlbNF0saVs1XSxpWzZdLGlbOF0saVs5XSxpWzEwXSksdShvLG8pLHRoaXMucm90YXRpb24uc2V0KHQsb1swXSxvWzFdLG9bMl0sb1szXSk7Zm9yKHZhciBsPTAsYz0wO2M8MzsrK2MpbCs9TWF0aC5wb3cocltjXS1lW2NdLDIpO3RoaXMucmFkaXVzLnNldCh0LC41Kk1hdGgubG9nKE1hdGgubWF4KGwsMWUtNikpKSx0aGlzLmNlbnRlci5zZXQodCxyWzBdLHJbMV0sclsyXSl9LGYudHJhbnNsYXRlPWZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMuY2VudGVyLm1vdmUodCxlfHwwLHJ8fDAsbnx8MCl9LGYuc2V0TWF0cml4PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5jb21wdXRlZFJvdGF0aW9uO3MocixlWzBdLGVbMV0sZVsyXSxlWzRdLGVbNV0sZVs2XSxlWzhdLGVbOV0sZVsxMF0pLHUocixyKSx0aGlzLnJvdGF0aW9uLnNldCh0LHJbMF0sclsxXSxyWzJdLHJbM10pO3ZhciBuPXRoaXMuY29tcHV0ZWRNYXRyaXg7byhuLGUpO3ZhciBhPW5bMTVdO2lmKE1hdGguYWJzKGEpPjFlLTYpe3ZhciBpPW5bMTJdL2EsbD1uWzEzXS9hLGM9blsxNF0vYTt0aGlzLnJlY2FsY01hdHJpeCh0KTt2YXIgaD1NYXRoLmV4cCh0aGlzLmNvbXB1dGVkUmFkaXVzWzBdKTt0aGlzLmNlbnRlci5zZXQodCxpLW5bMl0qaCxsLW5bNl0qaCxjLW5bMTBdKmgpLHRoaXMucmFkaXVzLmlkbGUodCl9ZWxzZSB0aGlzLmNlbnRlci5pZGxlKHQpLHRoaXMucmFkaXVzLmlkbGUodCl9LGYuc2V0RGlzdGFuY2U9ZnVuY3Rpb24odCxlKXtlPjAmJnRoaXMucmFkaXVzLnNldCh0LE1hdGgubG9nKGUpKX0sZi5zZXREaXN0YW5jZUxpbWl0cz1mdW5jdGlvbih0LGUpe3Q9dD4wP01hdGgubG9nKHQpOi0xLzAsZT1lPjA/TWF0aC5sb2coZSk6MS8wLGU9TWF0aC5tYXgoZSx0KSx0aGlzLnJhZGl1cy5ib3VuZHNbMF1bMF09dCx0aGlzLnJhZGl1cy5ib3VuZHNbMV1bMF09ZX0sZi5nZXREaXN0YW5jZUxpbWl0cz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnJhZGl1cy5ib3VuZHM7cmV0dXJuIHQ/KHRbMF09TWF0aC5leHAoZVswXVswXSksdFsxXT1NYXRoLmV4cChlWzFdWzBdKSx0KTpbTWF0aC5leHAoZVswXVswXSksTWF0aC5leHAoZVsxXVswXSldfSxmLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJlY2FsY01hdHJpeCh0aGlzLmxhc3RUKCkpLHtjZW50ZXI6dGhpcy5jb21wdXRlZENlbnRlci5zbGljZSgpLHJvdGF0aW9uOnRoaXMuY29tcHV0ZWRSb3RhdGlvbi5zbGljZSgpLGRpc3RhbmNlOk1hdGgubG9nKHRoaXMuY29tcHV0ZWRSYWRpdXNbMF0pLHpvb21NaW46dGhpcy5yYWRpdXMuYm91bmRzWzBdWzBdLHpvb21NYXg6dGhpcy5yYWRpdXMuYm91bmRzWzFdWzBdfX0sZi5mcm9tSlNPTj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmxhc3RUKCkscj10LmNlbnRlcjtyJiZ0aGlzLmNlbnRlci5zZXQoZSxyWzBdLHJbMV0sclsyXSk7dmFyIG49dC5yb3RhdGlvbjtuJiZ0aGlzLnJvdGF0aW9uLnNldChlLG5bMF0sblsxXSxuWzJdLG5bM10pO3ZhciBhPXQuZGlzdGFuY2U7YSYmYT4wJiZ0aGlzLnJhZGl1cy5zZXQoZSxNYXRoLmxvZyhhKSksdGhpcy5zZXREaXN0YW5jZUxpbWl0cyh0Lnpvb21NaW4sdC56b29tTWF4KX19LHsiLi9saWIvcXVhdEZyb21GcmFtZSI6NDU3LCJmaWx0ZXJlZC12ZWN0b3IiOjIyOSwiZ2wtbWF0NC9mcm9tUXVhdCI6MjY1LCJnbC1tYXQ0L2ludmVydCI6MjY4LCJnbC1tYXQ0L2xvb2tBdCI6MjY5fV0sNDU5OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInJlcGVhdC1zdHJpbmciKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuKHI9InVuZGVmaW5lZCIhPXR5cGVvZiByP3IrIiI6IiAiLGUpK3R9fSx7InJlcGVhdC1zdHJpbmciOjUwMn1dLDQ2MDpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSl7aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVyblt0XTt2YXIgcj1bdF07InN0cmluZyI9PXR5cGVvZiBlfHxBcnJheS5pc0FycmF5KGUpP2U9e2JyYWNrZXRzOmV9OmV8fChlPXt9KTt2YXIgbj1lLmJyYWNrZXRzP0FycmF5LmlzQXJyYXkoZS5icmFja2V0cyk/ZS5icmFja2V0czpbZS5icmFja2V0c106WyJ7fSIsIltdIiwiKCkiXSxhPWUuZXNjYXBlfHwiX19fIixpPSEhZS5mbGF0O24uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT1uZXcgUmVnRXhwKFsiXFwiLHRbMF0sIlteXFwiLHRbMF0sIlxcIix0WzFdLCJdKlxcIix0WzFdXS5qb2luKCIiKSksbj1bXTtmdW5jdGlvbiBpKGUsaSxvKXt2YXIgcz1yLnB1c2goZS5zbGljZSh0WzBdLmxlbmd0aCwtdFsxXS5sZW5ndGgpKS0xO3JldHVybiBuLnB1c2gocyksYStzK2F9ci5mb3JFYWNoKGZ1bmN0aW9uKHQsbil7Zm9yKHZhciBhLG89MDt0IT1hOylpZihhPXQsdD10LnJlcGxhY2UoZSxpKSxvKys+MWU0KXRocm93IEVycm9yKCJSZWZlcmVuY2VzIGhhdmUgY2lyY3VsYXIgZGVwZW5kZW5jeS4gUGxlYXNlLCBjaGVjayB0aGVtLiIpO3Jbbl09dH0pLG49bi5yZXZlcnNlKCkscj1yLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gbi5mb3JFYWNoKGZ1bmN0aW9uKHIpe2U9ZS5yZXBsYWNlKG5ldyBSZWdFeHAoIihcXCIrYStyKyJcXCIrYSsiKSIsImciKSx0WzBdKyIkMSIrdFsxXSl9KSxlfSl9KTt2YXIgbz1uZXcgUmVnRXhwKCJcXCIrYSsiKFswLTldKylcXCIrYSk7cmV0dXJuIGk/cjpmdW5jdGlvbiB0KGUscixuKXtmb3IodmFyIGEsaT1bXSxzPTA7YT1vLmV4ZWMoZSk7KXtpZihzKys+MWU0KXRocm93IEVycm9yKCJDaXJjdWxhciByZWZlcmVuY2VzIGluIHBhcmVudGhlc2lzIik7aS5wdXNoKGUuc2xpY2UoMCxhLmluZGV4KSksaS5wdXNoKHQoclthWzFdXSxyKSksZT1lLnNsaWNlKGEuaW5kZXgrYVswXS5sZW5ndGgpfXJldHVybiBpLnB1c2goZSksaX0oclswXSxyKX1mdW5jdGlvbiBhKHQsZSl7aWYoZSYmZS5mbGF0KXt2YXIgcixuPWUmJmUuZXNjYXBlfHwiX19fIixhPXRbMF07aWYoIWEpcmV0dXJuIiI7Zm9yKHZhciBpPW5ldyBSZWdFeHAoIlxcIituKyIoWzAtOV0rKVxcIituKSxvPTA7YSE9cjspe2lmKG8rKz4xZTQpdGhyb3cgRXJyb3IoIkNpcmN1bGFyIHJlZmVyZW5jZXMgaW4gIit0KTtyPWEsYT1hLnJlcGxhY2UoaSxzKX1yZXR1cm4gYX1yZXR1cm4gdC5yZWR1Y2UoZnVuY3Rpb24gdChlLHIpe3JldHVybiBBcnJheS5pc0FycmF5KHIpJiYocj1yLnJlZHVjZSh0LCIiKSksZStyfSwiIik7ZnVuY3Rpb24gcyhlLHIpe2lmKG51bGw9PXRbcl0pdGhyb3cgRXJyb3IoIlJlZmVyZW5jZSAiK3IrImlzIHVuZGVmaW5lZCIpO3JldHVybiB0W3JdfX1mdW5jdGlvbiBpKHQsZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/YSh0LGUpOm4odCxlKX1pLnBhcnNlPW4saS5zdHJpbmdpZnk9YSxlLmV4cG9ydHM9aX0se31dLDQ2MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10KCJwaWNrLWJ5LWFsaWFzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlO2FyZ3VtZW50cy5sZW5ndGg+MSYmKHQ9YXJndW1lbnRzKTsic3RyaW5nIj09dHlwZW9mIHQ/dD10LnNwbGl0KC9ccy8pLm1hcChwYXJzZUZsb2F0KToibnVtYmVyIj09dHlwZW9mIHQmJih0PVt0XSk7dC5sZW5ndGgmJiJudW1iZXIiPT10eXBlb2YgdFswXT9lPTE9PT10Lmxlbmd0aD97d2lkdGg6dFswXSxoZWlnaHQ6dFswXSx4OjAseTowfToyPT09dC5sZW5ndGg/e3dpZHRoOnRbMF0saGVpZ2h0OnRbMV0seDowLHk6MH06e3g6dFswXSx5OnRbMV0sd2lkdGg6dFsyXS10WzBdfHwwLGhlaWdodDp0WzNdLXRbMV18fDB9OnQmJih0PW4odCx7bGVmdDoieCBsIGxlZnQgTGVmdCIsdG9wOiJ5IHQgdG9wIFRvcCIsd2lkdGg6Incgd2lkdGggVyBXaWR0aCIsaGVpZ2h0OiJoIGhlaWdodCBXIFdpZHRoIixib3R0b206ImIgYm90dG9tIEJvdHRvbSIscmlnaHQ6InIgcmlnaHQgUmlnaHQifSksZT17eDp0LmxlZnR8fDAseTp0LnRvcHx8MH0sbnVsbD09dC53aWR0aD90LnJpZ2h0P2Uud2lkdGg9dC5yaWdodC1lLng6ZS53aWR0aD0wOmUud2lkdGg9dC53aWR0aCxudWxsPT10LmhlaWdodD90LmJvdHRvbT9lLmhlaWdodD10LmJvdHRvbS1lLnk6ZS5oZWlnaHQ9MDplLmhlaWdodD10LmhlaWdodCk7cmV0dXJuIGV9fSx7InBpY2stYnktYWxpYXMiOjQ2N31dLDQ2MjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1bXTtyZXR1cm4gdC5yZXBsYWNlKGEsZnVuY3Rpb24odCxyLGEpe3ZhciBvPXIudG9Mb3dlckNhc2UoKTtmb3IoYT1mdW5jdGlvbih0KXt2YXIgZT10Lm1hdGNoKGkpO3JldHVybiBlP2UubWFwKE51bWJlcik6W119KGEpLCJtIj09byYmYS5sZW5ndGg+MiYmKGUucHVzaChbcl0uY29uY2F0KGEuc3BsaWNlKDAsMikpKSxvPSJsIixyPSJtIj09cj8ibCI6IkwiKTs7KXtpZihhLmxlbmd0aD09bltvXSlyZXR1cm4gYS51bnNoaWZ0KHIpLGUucHVzaChhKTtpZihhLmxlbmd0aDxuW29dKXRocm93IG5ldyBFcnJvcigibWFsZm9ybWVkIHBhdGggZGF0YSIpO2UucHVzaChbcl0uY29uY2F0KGEuc3BsaWNlKDAsbltvXSkpKX19KSxlfTt2YXIgbj17YTo3LGM6NixoOjEsbDoyLG06MixxOjQsczo0LHQ6Mix2OjEsejowfSxhPS8oW2FzdHZ6cW1obGNdKShbXmFzdHZ6cW1obGNdKikvZ2k7dmFyIGk9Ly0/WzAtOV0qXC4/WzAtOV0rKD86ZVstK10/XGQrKT8vZ2l9LHt9XSw0NjM6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtlfHwoZT1bMCwiIl0pLHQ9U3RyaW5nKHQpO3ZhciByPXBhcnNlRmxvYXQodCwxMCk7cmV0dXJuIGVbMF09cixlWzFdPXQubWF0Y2goL1tcZC5cLVwrXSpccyooLiopLylbMV18fCIiLGV9fSx7fV0sNDY0OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHQpeyhmdW5jdGlvbigpe3ZhciByLG4sYSxpLG8sczsidW5kZWZpbmVkIiE9dHlwZW9mIHBlcmZvcm1hbmNlJiZudWxsIT09cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm5vdz9lLmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4gcGVyZm9ybWFuY2Uubm93KCl9OiJ1bmRlZmluZWQiIT10eXBlb2YgdCYmbnVsbCE9PXQmJnQuaHJ0aW1lPyhlLmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4ocigpLW8pLzFlNn0sbj10LmhydGltZSxpPShyPWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIDFlOSoodD1uKCkpWzBdK3RbMV19KSgpLHM9MWU5KnQudXB0aW1lKCksbz1pLXMpOkRhdGUubm93PyhlLmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4gRGF0ZS5ub3coKS1hfSxhPURhdGUubm93KCkpOihlLmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKS1hfSxhPShuZXcgRGF0ZSkuZ2V0VGltZSgpKX0pLmNhbGwodGhpcyl9KS5jYWxsKHRoaXMsdCgiX3Byb2Nlc3MiKSl9LHtfcHJvY2Vzczo0ODR9XSw0NjU6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoO2lmKGU8bil7Zm9yKHZhciByPTEsaT0wO2k8ZTsrK2kpZm9yKHZhciBvPTA7bzxpOysrbylpZih0W2ldPHRbb10pcj0tcjtlbHNlIGlmKHRbaV09PT10W29dKXJldHVybiAwO3JldHVybiByfWZvcih2YXIgcz1hLm1hbGxvY1VpbnQ4KGUpLGk9MDtpPGU7KytpKXNbaV09MDtmb3IodmFyIHI9MSxpPTA7aTxlOysraSlpZighc1tpXSl7dmFyIGw9MTtzW2ldPTE7Zm9yKHZhciBvPXRbaV07byE9PWk7bz10W29dKXtpZihzW29dKXJldHVybiBhLmZyZWVVaW50OChzKSwwO2wrPTEsc1tvXT0xfTEmbHx8KHI9LXIpfXJldHVybiBhLmZyZWVVaW50OChzKSxyfTt2YXIgbj0zMixhPXQoInR5cGVkYXJyYXktcG9vbCIpfSx7InR5cGVkYXJyYXktcG9vbCI6NTQ0fV0sNDY2OltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoInR5cGVkYXJyYXktcG9vbCIpLGE9dCgiaW52ZXJ0LXBlcm11dGF0aW9uIik7ci5yYW5rPWZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoO3N3aXRjaChlKXtjYXNlIDA6Y2FzZSAxOnJldHVybiAwO2Nhc2UgMjpyZXR1cm4gdFsxXX12YXIgcixpLG8scz1uLm1hbGxvY1VpbnQzMihlKSxsPW4ubWFsbG9jVWludDMyKGUpLGM9MDtmb3IoYSh0LGwpLG89MDtvPGU7KytvKXNbb109dFtvXTtmb3Iobz1lLTE7bz4wOy0tbylpPWxbb10scj1zW29dLHNbb109c1tpXSxzW2ldPXIsbFtvXT1sW3JdLGxbcl09aSxjPShjK3IpKm87cmV0dXJuIG4uZnJlZVVpbnQzMihsKSxuLmZyZWVVaW50MzIocyksY30sci51bnJhbms9ZnVuY3Rpb24odCxlLHIpe3N3aXRjaCh0KXtjYXNlIDA6cmV0dXJuIHJ8fFtdO2Nhc2UgMTpyZXR1cm4gcj8oclswXT0wLHIpOlswXTtjYXNlIDI6cmV0dXJuIHI/KGU/KHJbMF09MCxyWzFdPTEpOihyWzBdPTEsclsxXT0wKSxyKTplP1swLDFdOlsxLDBdfXZhciBuLGEsaSxvPTE7Zm9yKChyPXJ8fG5ldyBBcnJheSh0KSlbMF09MCxpPTE7aTx0OysraSlyW2ldPWksbz1vKml8MDtmb3IoaT10LTE7aT4wOy0taSllPWUtKG49ZS9vfDApKm98MCxvPW8vaXwwLGE9MHxyW2ldLHJbaV09MHxyW25dLHJbbl09MHxhO3JldHVybiByfX0seyJpbnZlcnQtcGVybXV0YXRpb24iOjQxNywidHlwZWRhcnJheS1wb29sIjo1NDR9XSw0Njc6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixpLG89e307aWYoInN0cmluZyI9PXR5cGVvZiBlJiYoZT1hKGUpKSxBcnJheS5pc0FycmF5KGUpKXt2YXIgcz17fTtmb3IoaT0wO2k8ZS5sZW5ndGg7aSsrKXNbZVtpXV09ITA7ZT1zfWZvcihuIGluIGUpZVtuXT1hKGVbbl0pO3ZhciBsPXt9O2ZvcihuIGluIGUpe3ZhciBjPWVbbl07aWYoQXJyYXkuaXNBcnJheShjKSlmb3IoaT0wO2k8Yy5sZW5ndGg7aSsrKXt2YXIgdT1jW2ldO2lmKHImJihsW3VdPSEwKSx1IGluIHQpe2lmKG9bbl09dFt1XSxyKWZvcih2YXIgaD1pO2g8Yy5sZW5ndGg7aCsrKWxbY1toXV09ITA7YnJlYWt9fWVsc2UgbiBpbiB0JiYoZVtuXSYmKG9bbl09dFtuXSksciYmKGxbbl09ITApKX1pZihyKWZvcihuIGluIHQpbFtuXXx8KG9bbl09dFtuXSk7cmV0dXJuIG99O3ZhciBuPXt9O2Z1bmN0aW9uIGEodCl7cmV0dXJuIG5bdF0/blt0XTooInN0cmluZyI9PXR5cGVvZiB0JiYodD1uW3RdPXQuc3BsaXQoL1xzKixccyp8XHMrLykpLHQpfX0se31dLDQ2ODpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MHxlLmxlbmd0aCxhPXQubGVuZ3RoLGk9W25ldyBBcnJheShyKSxuZXcgQXJyYXkocildLG89MDtvPHI7KytvKWlbMF1bb109W10saVsxXVtvXT1bXTtmb3IodmFyIG89MDtvPGE7KytvKXt2YXIgcz10W29dO2lbMF1bc1swXV0ucHVzaChzKSxpWzFdW3NbMV1dLnB1c2gocyl9Zm9yKHZhciBsPVtdLG89MDtvPHI7KytvKWlbMF1bb10ubGVuZ3RoK2lbMV1bb10ubGVuZ3RoPT09MCYmbC5wdXNoKFtvXSk7ZnVuY3Rpb24gYyh0LGUpe3ZhciByPWlbZV1bdFtlXV07ci5zcGxpY2Uoci5pbmRleE9mKHQpLDEpfWZ1bmN0aW9uIHUodCxyLGEpe2Zvcih2YXIgbyxzLGwsdT0wO3U8MjsrK3UpaWYoaVt1XVtyXS5sZW5ndGg+MCl7bz1pW3VdW3JdWzBdLGw9dTticmVha31zPW9bMV5sXTtmb3IodmFyIGg9MDtoPDI7KytoKWZvcih2YXIgZj1pW2hdW3JdLHA9MDtwPGYubGVuZ3RoOysrcCl7dmFyIGQ9ZltwXSxnPWRbMV5oXSx2PW4oZVt0XSxlW3JdLGVbc10sZVtnXSk7dj4wJiYobz1kLHM9ZyxsPWgpfXJldHVybiBhP3M6KG8mJmMobyxsKSxzKX1mdW5jdGlvbiBoKHQscil7dmFyIGE9aVtyXVt0XVswXSxvPVt0XTtjKGEscik7Zm9yKHZhciBzPWFbMV5yXTs7KXtmb3IoO3MhPT10OylvLnB1c2gocykscz11KG9bby5sZW5ndGgtMl0scywhMSk7aWYoaVswXVt0XS5sZW5ndGgraVsxXVt0XS5sZW5ndGg9PT0wKWJyZWFrO3ZhciBsPW9bby5sZW5ndGgtMV0saD10LGY9b1sxXSxwPXUobCxoLCEwKTtpZihuKGVbbF0sZVtoXSxlW2ZdLGVbcF0pPDApYnJlYWs7by5wdXNoKHQpLHM9dShsLGgpfXJldHVybiBvfWZ1bmN0aW9uIGYodCxlKXtyZXR1cm4gZVsxXT09PWVbZS5sZW5ndGgtMV19Zm9yKHZhciBvPTA7bzxyOysrbylmb3IodmFyIHA9MDtwPDI7KytwKXtmb3IodmFyIGQ9W107aVtwXVtvXS5sZW5ndGg+MDspe2lbMF1bb10ubGVuZ3RoO3ZhciBnPWgobyxwKTtmKGQsZyk/ZC5wdXNoLmFwcGx5KGQsZyk6KGQubGVuZ3RoPjAmJmwucHVzaChkKSxkPWcpfWQubGVuZ3RoPjAmJmwucHVzaChkKX1yZXR1cm4gbH07dmFyIG49dCgiY29tcGFyZS1hbmdsZSIpfSx7ImNvbXBhcmUtYW5nbGUiOjEyOX1dLDQ2OTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bih0LGUubGVuZ3RoKSxhPW5ldyBBcnJheShlLmxlbmd0aCksaT1uZXcgQXJyYXkoZS5sZW5ndGgpLG89W10scz0wO3M8ZS5sZW5ndGg7KytzKXt2YXIgbD1yW3NdLmxlbmd0aDtpW3NdPWwsYVtzXT0hMCxsPD0xJiZvLnB1c2gocyl9Zm9yKDtvLmxlbmd0aD4wOyl7dmFyIGM9by5wb3AoKTthW2NdPSExO2Zvcih2YXIgdT1yW2NdLHM9MDtzPHUubGVuZ3RoOysrcyl7dmFyIGg9dVtzXTswPT0tLWlbaF0mJm8ucHVzaChoKX19Zm9yKHZhciBmPW5ldyBBcnJheShlLmxlbmd0aCkscD1bXSxzPTA7czxlLmxlbmd0aDsrK3MpaWYoYVtzXSl7dmFyIGM9cC5sZW5ndGg7ZltzXT1jLHAucHVzaChlW3NdKX1lbHNlIGZbc109LTE7Zm9yKHZhciBkPVtdLHM9MDtzPHQubGVuZ3RoOysrcyl7dmFyIGc9dFtzXTthW2dbMF1dJiZhW2dbMV1dJiZkLnB1c2goW2ZbZ1swXV0sZltnWzFdXV0pfXJldHVybltkLHBdfTt2YXIgbj10KCJlZGdlcy10by1hZGphY2VuY3ktbGlzdCIpfSx7ImVkZ2VzLXRvLWFkamFjZW5jeS1saXN0IjoxNzR9XSw0NzA6W2Z1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHI9Yyh0LGUpO3Q9clswXTtmb3IodmFyIGg9KGU9clsxXSkubGVuZ3RoLGY9KHQubGVuZ3RoLG4odCxlLmxlbmd0aCkpLHA9MDtwPGg7KytwKWlmKGZbcF0ubGVuZ3RoJTI9PTEpdGhyb3cgbmV3IEVycm9yKCJwbGFuYXItZ3JhcGgtdG8tcG9seWxpbmU6IGdyYXBoIG11c3QgYmUgbWFuaWZvbGQiKTt2YXIgZD1hKHQsZSk7Zm9yKHZhciBnPShkPWQuZmlsdGVyKGZ1bmN0aW9uKHQpe2Zvcih2YXIgcj10Lmxlbmd0aCxuPVswXSxhPTA7YTxyOysrYSl7dmFyIGk9ZVt0W2FdXSxsPWVbdFsoYSsxKSVyXV0sYz1vKC1pWzBdLGlbMV0pLHU9bygtaVswXSxsWzFdKSxoPW8obFswXSxpWzFdKSxmPW8obFswXSxsWzFdKTtuPXMobixzKHMoYyx1KSxzKGgsZikpKX1yZXR1cm4gbltuLmxlbmd0aC0xXT4wfSkpLmxlbmd0aCx2PW5ldyBBcnJheShnKSxtPW5ldyBBcnJheShnKSxwPTA7cDxnOysrcCl7dltwXT1wO3ZhciB5PW5ldyBBcnJheShnKSx4PWRbcF0ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdfSksYj1pKFt4XSksXz0wO3Q6Zm9yKHZhciB3PTA7dzxnOysrdylpZih5W3ddPTAscCE9PXcpe2Zvcih2YXIgaz1kW3ddLFQ9ay5sZW5ndGgsTT0wO008VDsrK00pe3ZhciBBPWIoZVtrW01dXSk7aWYoMCE9PUEpe0E8MCYmKHlbd109MSxfKz0xKTtjb250aW51ZSB0fX15W3ddPTEsXys9MX1tW3BdPVtfLHAseV19bS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGVbMF0tdFswXX0pO2Zvcih2YXIgcD0wO3A8ZzsrK3ApZm9yKHZhciB5PW1bcF0sUz15WzFdLEU9eVsyXSx3PTA7dzxnOysrdylFW3ddJiYodlt3XT1TKTtmb3IodmFyIEw9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBBcnJheSh0KSxyPTA7cjx0OysrcillW3JdPVtdO3JldHVybiBlfShnKSxwPTA7cDxnOysrcClMW3BdLnB1c2godltwXSksTFt2W3BdXS5wdXNoKHApO2Zvcih2YXIgQz17fSxQPXUoaCwhMSkscD0wO3A8ZzsrK3ApZm9yKHZhciBrPWRbcF0sVD1rLmxlbmd0aCx3PTA7dzxUOysrdyl7dmFyIE89a1t3XSx6PWtbKHcrMSklVF0sST1NYXRoLm1pbihPLHopKyI6IitNYXRoLm1heChPLHopO2lmKEkgaW4gQyl7dmFyIEQ9Q1tJXTtMW0RdLnB1c2gocCksTFtwXS5wdXNoKEQpLFBbT109UFt6XT0hMH1lbHNlIENbSV09cH1mdW5jdGlvbiBSKHQpe2Zvcih2YXIgZT10Lmxlbmd0aCxyPTA7cjxlOysrcilpZighUFt0W3JdXSlyZXR1cm4hMTtyZXR1cm4hMH1mb3IodmFyIEY9W10sQj11KGcsLTEpLHA9MDtwPGc7KytwKXZbcF0hPT1wfHxSKGRbcF0pP0JbcF09LTE6KEYucHVzaChwKSxCW3BdPTApO3ZhciByPVtdO2Zvcig7Ri5sZW5ndGg+MDspe3ZhciBOPUYucG9wKCksaj1MW05dO2woaixmdW5jdGlvbih0LGUpe3JldHVybiB0LWV9KTt2YXIgVixVPWoubGVuZ3RoLHE9QltOXTtpZigwPT09cSl7dmFyIGs9ZFtOXTtWPVtrXX1mb3IodmFyIHA9MDtwPFU7KytwKXt2YXIgSD1qW3BdO2lmKCEoQltIXT49MCkmJihCW0hdPTFecSxGLnB1c2goSCksMD09PXEpKXt2YXIgaz1kW0hdO1Ioayl8fChrLnJldmVyc2UoKSxWLnB1c2goaykpfX0wPT09cSYmci5wdXNoKFYpfXJldHVybiByfTt2YXIgbj10KCJlZGdlcy10by1hZGphY2VuY3ktbGlzdCIpLGE9dCgicGxhbmFyLWR1YWwiKSxpPXQoInBvaW50LWluLWJpZy1wb2x5Z29uIiksbz10KCJ0d28tcHJvZHVjdCIpLHM9dCgicm9idXN0LXN1bSIpLGw9dCgidW5pcSIpLGM9dCgiLi9saWIvdHJpbS1sZWF2ZXMiKTtmdW5jdGlvbiB1KHQsZSl7Zm9yKHZhciByPW5ldyBBcnJheSh0KSxuPTA7bjx0OysrbilyW25dPWU7cmV0dXJuIHJ9fSx7Ii4vbGliL3RyaW0tbGVhdmVzIjo0NjksImVkZ2VzLXRvLWFkamFjZW5jeS1saXN0IjoxNzQsInBsYW5hci1kdWFsIjo0NjgsInBvaW50LWluLWJpZy1wb2x5Z29uIjo0NzQsInJvYnVzdC1zdW0iOjUxNCwidHdvLXByb2R1Y3QiOjU0Mix1bmlxOjU0Nn1dLDQ3MTpbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9dCgiLi9xdWFkIil9LHsiLi9xdWFkIjo0NzN9XSw0NzI6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTEzXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MTEzfV0sNDczOltmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXQoImJpbmFyeS1zZWFyY2gtYm91bmRzIiksYT10KCJjbGFtcCIpLGk9dCgicGFyc2UtcmVjdCIpLG89dCgiYXJyYXktYm91bmRzIikscz10KCJwaWNrLWJ5LWFsaWFzIiksbD10KCJkZWZpbmVkIiksYz10KCJmbGF0dGVuLXZlcnRleC1kYXRhIiksdT10KCJpcy1vYmoiKSxoPXQoImR0eXBlIiksZj10KCJtYXRoLWxvZzIiKSxwPTEwNzM3NDE4MjQ7ZnVuY3Rpb24gZCh0LGUpe2Zvcih2YXIgcj1lWzBdLG49ZVsxXSxpPTEvKGVbMl0tciksbz0xLyhlWzNdLW4pLHM9bmV3IEFycmF5KHQubGVuZ3RoKSxsPTAsYz10Lmxlbmd0aC8yO2w8YztsKyspc1syKmxdPWEoKHRbMipsXS1yKSppLDAsMSksc1syKmwrMV09YSgodFsyKmwrMV0tbikqbywwLDEpO3JldHVybiBzfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2V8fChlPXt9KSx0PWModCwiZmxvYXQ2NCIpLGU9cyhlLHtib3VuZHM6InJhbmdlIGJvdW5kcyBkYXRhQm94IGRhdGFib3giLG1heERlcHRoOiJkZXB0aCBtYXhEZXB0aCBtYXhkZXB0aCBsZXZlbCBtYXhMZXZlbCBtYXhsZXZlbCBsZXZlbHMiLGR0eXBlOiJ0eXBlIGR0eXBlIGZvcm1hdCBvdXQgZHN0IG91dHB1dCBkZXN0aW5hdGlvbiJ9KTt2YXIgcj1sKGUubWF4RGVwdGgsMjU1KSxhPWwoZS5ib3VuZHMsbyh0LDIpKTthWzBdPT09YVsyXSYmYVsyXSsrLGFbMV09PT1hWzNdJiZhWzNdKys7dmFyIGcsdj1kKHQsYSksbT10Lmxlbmd0aD4+PjE7ZS5kdHlwZXx8KGUuZHR5cGU9ImFycmF5IiksInN0cmluZyI9PXR5cGVvZiBlLmR0eXBlP2c9bmV3KGgoZS5kdHlwZSkpKG0pOmUuZHR5cGUmJihnPWUuZHR5cGUsQXJyYXkuaXNBcnJheShnKSYmKGcubGVuZ3RoPW0pKTtmb3IodmFyIHk9MDt5PG07Kyt5KWdbeV09eTt2YXIgeD1bXSxiPVtdLF89W10sdz1bXTshZnVuY3Rpb24gdChlLG4sYSxpLG8scyl7aWYoIWkubGVuZ3RoKXJldHVybiBudWxsO3ZhciBsPXhbb118fCh4W29dPVtdKTt2YXIgYz1fW29dfHwoX1tvXT1bXSk7dmFyIHU9YltvXXx8KGJbb109W10pO3ZhciBoPWwubGVuZ3RoO28rKztpZihvPnJ8fHM+cCl7Zm9yKHZhciBmPTA7ZjxpLmxlbmd0aDtmKyspbC5wdXNoKGlbZl0pLGMucHVzaChzKSx1LnB1c2gobnVsbCxudWxsLG51bGwsbnVsbCk7cmV0dXJuIGh9bC5wdXNoKGlbMF0pO2MucHVzaChzKTtpZihpLmxlbmd0aDw9MSlyZXR1cm4gdS5wdXNoKG51bGwsbnVsbCxudWxsLG51bGwpLGg7dmFyIGQ9LjUqYTt2YXIgZz1lK2QsbT1uK2Q7dmFyIHk9W10sdz1bXSxrPVtdLFQ9W107Zm9yKHZhciBNPTEsQT1pLmxlbmd0aDtNPEE7TSsrKXt2YXIgUz1pW01dLEU9dlsyKlNdLEw9dlsyKlMrMV07RTxnP0w8bT95LnB1c2goUyk6dy5wdXNoKFMpOkw8bT9rLnB1c2goUyk6VC5wdXNoKFMpfXM8PD0yO3UucHVzaCh0KGUsbixkLHksbyxzKSx0KGUsbSxkLHcsbyxzKzEpLHQoZyxuLGQsayxvLHMrMiksdChnLG0sZCxULG8scyszKSk7cmV0dXJuIGh9KDAsMCwxLGcsMCwxKTtmb3IodmFyIGs9MCxUPTA7VDx4Lmxlbmd0aDtUKyspe3ZhciBNPXhbVF07aWYoZy5zZXQpZy5zZXQoTSxrKTtlbHNlIGZvcih2YXIgQT0wLFM9TS5sZW5ndGg7QTxTO0ErKylnW0Era109TVtBXTt2YXIgRT1rK3hbVF0ubGVuZ3RoO3dbVF09W2ssRV0saz1FfXJldHVybiBnLnJhbmdlPWZ1bmN0aW9uKCl7dmFyIGUscj1bXSxvPWFyZ3VtZW50cy5sZW5ndGg7Zm9yKDtvLS07KXJbb109YXJndW1lbnRzW29dO2lmKHUocltyLmxlbmd0aC0xXSkpe3ZhciBjPXIucG9wKCk7ci5sZW5ndGh8fG51bGw9PWMueCYmbnVsbD09Yy5sJiZudWxsPT1jLmxlZnR8fChyPVtjXSxlPXt9KSxlPXMoYyx7bGV2ZWw6ImxldmVsIG1heExldmVsIixkOiJkIGRpYW0gZGlhbWV0ZXIgciByYWRpdXMgcHggcHhTaXplIHBpeGVsIHBpeGVsU2l6ZSBtYXhEIHNpemUgbWluU2l6ZSIsbG9kOiJsb2QgZGV0YWlscyByYW5nZXMgb2Zmc2V0cyJ9KX1lbHNlIGU9e307ci5sZW5ndGh8fChyPWEpO3ZhciBoPWkuYXBwbHkodm9pZCAwLHIpLHA9W01hdGgubWluKGgueCxoLngraC53aWR0aCksTWF0aC5taW4oaC55LGgueStoLmhlaWdodCksTWF0aC5tYXgoaC54LGgueCtoLndpZHRoKSxNYXRoLm1heChoLnksaC55K2guaGVpZ2h0KV0sZz1wWzBdLHY9cFsxXSxtPXBbMl0seT1wWzNdLGs9ZChbZyx2LG0seV0sYSksVD1rWzBdLE09a1sxXSxBPWtbMl0sUz1rWzNdLEU9bChlLmxldmVsLHgubGVuZ3RoKTtpZihudWxsIT1lLmQpe3ZhciBDOyJudW1iZXIiPT10eXBlb2YgZS5kP0M9W2UuZCxlLmRdOmUuZC5sZW5ndGgmJihDPWUuZCksRT1NYXRoLm1pbihNYXRoLm1heChNYXRoLmNlaWwoLWYoTWF0aC5hYnMoQ1swXSkvKGFbMl0tYVswXSkpKSxNYXRoLmNlaWwoLWYoTWF0aC5hYnMoQ1sxXSkvKGFbM10tYVsxXSkpKSksRSl9aWYoRT1NYXRoLm1pbihFLHgubGVuZ3RoKSxlLmxvZClyZXR1cm4gZnVuY3Rpb24odCxlLHIsYSxpKXtmb3IodmFyIG89W10scz0wO3M8aTtzKyspe3ZhciBsPV9bc10sYz13W3NdWzBdLHU9TCh0LGUscyksaD1MKHIsYSxzKSxmPW4uZ2UobCx1KSxwPW4uZ3QobCxoLGYsbC5sZW5ndGgtMSk7b1tzXT1bZitjLHArY119cmV0dXJuIG99KFQsTSxBLFMsRSk7dmFyIFA9W107cmV0dXJuIGZ1bmN0aW9uIGUocixuLGEsaSxvLHMpe2lmKG51bGwhPT1vJiZudWxsIT09cyl7dmFyIGw9cithLGM9bithO2lmKCEoVD5sfHxNPmN8fEE8cnx8UzxufHxpPj1FfHxvPT09cykpe3ZhciB1PXhbaV07dm9pZCAwPT09cyYmKHM9dS5sZW5ndGgpO2Zvcih2YXIgaD1vO2g8cztoKyspe3ZhciBmPXVbaF0scD10WzIqZl0sZD10WzIqZisxXTtwPj1nJiZwPD1tJiZkPj12JiZkPD15JiZQLnB1c2goZil9dmFyIF89YltpXSx3PV9bNCpvKzBdLGs9X1s0Km8rMV0sTD1fWzQqbysyXSxDPV9bNCpvKzNdLE89ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bnVsbCxuPTA7bnVsbD09PXI7KWlmKHI9dFs0KmUrbl0sKytuPnQubGVuZ3RoKXJldHVybiBudWxsO3JldHVybiByfShfLG8rMSksej0uNSphLEk9aSsxO2UocixuLHosSSx3LGt8fEx8fEN8fE8pLGUocixuK3oseixJLGssTHx8Q3x8TyksZShyK3osbix6LEksTCxDfHxPKSxlKHIreixuK3oseixJLEMsTyl9fX0oMCwwLDEsMCwwLDEpLFB9LGc7ZnVuY3Rpb24gTCh0LGUscil7Zm9yKHZhciBuPTEsYT0uNSxpPS41LG89LjUscz0wO3M8cjtzKyspbjw8PTIsbis9dDxhP2U8aT8wOjE6ZTxpPzI6MyxvKj0uNSxhKz10PGE/LW86byxpKz1lPGk/LW86bztyZXR1cm4gbn19fSx7ImFycmF5LWJvdW5kcyI6NjgsImJpbmFyeS1zZWFyY2gtYm91bmRzIjo0NzIsY2xhbXA6MTE3LGRlZmluZWQ6MTY2LGR0eXBlOjE3MSwiZmxhdHRlbi12ZXJ0ZXgtZGF0YSI6MjMwLCJpcy1vYmoiOjQyMywibWF0aC1sb2cyIjo0MzQsInBhcnNlLXJlY3QiOjQ2MSwicGljay1ieS1hbGlhcyI6NDY3fV0sNDc0OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aCxyPVtdLGk9W10scz0wO3M8ZTsrK3MpZm9yKHZhciB1PXRbc10saD11Lmxlbmd0aCxmPWgtMSxwPTA7cDxoO2Y9cCsrKXt2YXIgZD11W2ZdLGc9dVtwXTtkWzBdPT09Z1swXT9pLnB1c2goW2QsZ10pOnIucHVzaChbZCxnXSl9aWYoMD09PXIubGVuZ3RoKXJldHVybiAwPT