Content-Type: multipart/related; start=<op.mhtml.1305383619571.b9810478580288cc@192.168.0.101>; boundary=----------czcpoCQ0yTmKCtOHEE1Zta
Content-Location: http://www1.agenziaentrate.it/documentazione/finanziaria/domanda+5+per+mille/motore.htm
Subject: =?utf-8?Q?Motore=20di=20ricerca=20del=20codice=20fiscale=20dei=20soggetti?=
MIME-Version: 1.0

------------czcpoCQ0yTmKCtOHEE1Zta
Content-Disposition: inline; filename=motore.htm
Content-Type: text/html; name=motore.htm
Content-ID: <op.mhtml.1305383619571.b9810478580288cc@192.168.0.101>
Content-Location: http://www1.agenziaentrate.it/documentazione/finanziaria/domanda+5+per+mille/motore.htm
Content-Transfer-Encoding: 8bit

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html LANG="it">
<head>
<script type="text/javascript" src="js/function.js"></script>
<title>Motore di ricerca del codice fiscale dei soggetti</title>
<!--<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />-->
<meta http-equiv="X-UA-Compatible" content="IE=7">
<meta name="author" 		content="Redazione internet Agenzia Entrate">
<meta name="description" 	content="Benvenuti nel sito ufficiale dell'Agenzia delle Entrate. Disponibili modelli, software, scadenze, circolari, risoluzioni. Presentazione on line delle dichiarazioni. Aggiornamenti sulle novit fiscali.">
<meta name="keywords" 		content="">
<meta name="rating" 		content="general"> 
<meta name="robots" 		content="index,all">
<meta name="revisit-after" 	content="30 days">
<script type="text/javascript" src="/pie/js/all_sg.js"></script>
<script type="text/javascript" src="/pie/js/funzioniwww1.js"></script>
<link media="screen" rel="stylesheet" href="/pie/css/style.css" type="text/css">
<link media="print" rel="stylesheet" href="/pie/css/print.css" type="text/css">
<!--[if IE 6]><link rel="stylesheet" type="text/css" href="/pie/css/ie6.css"><![endif]-->
<!--[if IE 7]><link rel="stylesheet" type="text/css" href="/pie/css/ie7.css"><![endif]-->
<!--[if IE 8]><link rel="stylesheet" type="text/css" href="/pie/css/ie8.css"><![endif]-->
<!--[if IE 9]><link rel="stylesheet" type="text/css" href="/pie/css/ie9.css"><![endif]-->


<link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.agenziaentrate.gov.it/wps/wcm/jspwcm/rssnews/rssNews.jsp">

<link rel="SHORTCUT ICON" href="/nsi2/gn/immagini/favicon.ico">

<script type="text/javascript">

</script>

<style type="text/css">

</style>


<style type="text/css" media="screen">
	@import url("style.css");
</style>
<style type="text/css" media="print">
	@import url("print.css");
</style>
</head>
<body>
<div class="skiplink"><a accesskey="0" href="#contenuto">Contenuti della pagina</a> </div>
<div class="skiplink"><a href="#menuprinc">Menu principale</a> </div>

<div id="contenitore">

<div id="testata">

	<div id="logo"><a href="http://www.agenziaentrate.gov.it/wps/portal/entrate/home"><img src="/pie/img/logo_trasparente.gif" alt="logo Agenzia delle Entrate"></a></div>
	
    <div id="testata_sx">
		<div id="testata_sx_menu">
        <h1 class="skipheader">Menu di servizio</h1>
			<ul>
				<li><a class="testata_sx_menu" href="http://www.agenziaentrate.gov.it/wps/portal/entrate/home">Home</a></li>
				<li><a class="testata_sx_menu" href="http://www.agenziaentrate.gov.it/wps/portal/entrate/mappa/">Mappa del sito</a></li>
				<li><a class="rss" href="http://www.agenziaentrate.gov.it/wps/portal/entrate/rss">RSS</a></li>
				<li><a class="eng" href="http://www1.agenziaentrate.gov.it/inglese/">English</a></li>
			</ul>
		</div>   <!-- Fine testata_sx_menu -->

		<div id="testata_sx_cerca">
            
            <div id="cerca">
                <form method="get" id="formricerca" action="http://www1.agenziaentrate.gov.it/motore_ricerca/index.htm">
                	<div class="divform">
                        <label for="ricerca">Cerca: </label>
                        <input type="text" class="sfondo" id="ricerca" name="_q" value="">
                        <input type="hidden" name="_l" value="it" id="linguaggioricerca">
						<input class="bottone_area_ris2" type="submit" value="Vai">
<!--                        <input type="image" class="image" alt="Vai" src="/pie/img/vai.png">
-->    				</div>
                </form>
	        </div> <!-- Fine cerca -->

		</div>  <!-- Fine testata_sx_cerca -->
        
	</div> <!-- Fine testata_sx -->
	
    
    <div id="testata_dx">
    
		<div id="area_riservata">
            <h1>Area Riservata</h1>
				<a class="registrati" href="http://telematici.agenziaentrate.gov.it/Main/SAbilitazione.jsp">Registrati</a> 
                <br class="invisibile">
                <a class="accedi_ar" href="https://telematici.agenziaentrate.gov.it/Servizi/login.jsp">Accedi</a>
<!--            <div class="arearis_keys">
                <div class="arearis_key"><a class="registra" href="http://telematici.agenziaentrate.gov.it/Main/SAbilitazione.jsp">Registrati</a></div>	
                <div class="arearis_key"><a class="accedi" href="https://telematici.agenziaentrate.gov.it/Servizi/login.jsp">Accedi</a></div>	
            </div>
-->		</div> <!-- Fine area_riservata -->

		<div id="contatta">
                <h1><a href="http://www.agenziaentrate.gov.it/wps/portal/entrate/contatta">Contatta l'Agenzia</a></h1>
        </div> <!-- Fine contatta -->

	</div> <!-- Fine testata_dx -->
   
</div> <!-- Fine testata -->

<div class="clearer"></div>

<div class="menup">
	<a id="menuprinc" name="menuprinc"></a>
	<h1 class="skipheader">Menu principale</h1>
    <div class="rhm1-right">    </div>
    <div class="rhm1-left">    </div>
	<div class="clear_float_menup"></div>
    <ul>
        <li><a href="http://www.agenziaentrate.gov.it/wps/portal/entrate/agenzia">L'Agenzia</a></li>
        <li><a class="profilo_fiscale" href="http://www.agenziaentrate.gov.it/wps/portal/entrate/il_tuo_profilo_fiscale_menu">Il tuo profilo fiscale</a></li>
        <li><a href="http://www.agenziaentrate.gov.it/wps/portal/entrate/cosa_devi_fare">Cosa devi fare</a></li>
        <li><a href="http://www.agenziaentrate.gov.it/wps/portal/entrate/strumenti">Strumenti</a></li>
        <li><a href="http://www.agenziaentrate.gov.it/wps/portal/entrate/servizi_online">Servizi online</a></li>
    </ul>
</div> <!-- Fine menup -->


<div class="clearer"></div>            

<!-- Inizio contenuti -->


<div id="contenuti_una_colonna">

		<a id="contenuto" name="contenuto"></a>
<!-- Colonna centrale -->


<div id="path">
<p>
Ti trovi in:<a href="http://www.agenziaentrate.gov.it/wps/portal/entrate/home">Home</a>&nbsp;-&nbsp;
Motore di ricerca del codice fiscale dei soggetti
</p>
</div>
<h1>
Motore di ricerca del codice fiscale dei soggetti
</h1>
<div id="testataonlus">
	<div id="sceltabutton">
		<a class="linkrossi" href="?cercaper=9">Tutti i soggetti</a>&nbsp;
		<a class="linkrossi" href="?cercaper=1">Cerca per denominazione</a>&nbsp;
		<a class="linkrossi selezionato" href="?cercaper=2">Cerca per codice fiscale</a>&nbsp;
		<a class="linkrossi" href="?cercaper=5">Cerca per provincia</a>
	</div>
    <div id="onluscerca">
		<form method="post" id="onlusformricerca" action="/documentazione/finanziaria/domanda+5+per+mille/motore.htm">
		  <p>
			<label for="ricaut">Codice fiscale: </label><input type="text" name="_cf" id="ricaut" value="10693880154" /><br />			<label for="onlusordina">Ordina per: </label>
			<select name="ordina" id="onlusordina">
				<option value="dn" selected="selected">Denominazione</option><option value="in">Indirizzo</option><option value="ci">Cittā</option><option value="pv">Provincia</option><option value="ca">CAP</option><option value="cf">Codice Fiscale</option><option value="tp">Tipo</option>			</select>&nbsp;
			<input type="hidden" name="buttonOK" value="OK" />

			<input type="submit" value="Cerca" id="okricerca" name="buttonOK" />
		  </p>
		</form>
	</div>
</div>
<div id="onlusprincipale">
  <div id="onlusrisultato">
    <div id="onlusnumris">
      <!--qui inizia il numero risultati-->
      Risultati 1 - 1 su 1	</div>
    <div id="onlushits">
      <!--qui iniziano le Hits-->
		<table><caption>Risultato della ricerca filtrati per codice fiscale e ordinati per denominazione</caption><tr><th class="Denominazione">Denominazione</th><th class="Indirizzo">Indirizzo</th><th class="Cittā">Cittā</th><th class="Provincia">Provincia</th><th class="CAP">CAP</th><th class="CodiceFiscale">Codice Fiscale</th><th class="Tipo">Tipo</th></tr><tr><td>ASSOCIAZIONE SPORTIVA DILETTANTISTICA WALTER BERTINI TENNIS CLUB ACADEMY</td><td>VIA ALESSIO OLIVIERI 15</td><td>MILANO</td><td>MILANO</td><td>20152</td><td>10693880154</td><td>E</td></tr></table>    </div>
    <div id="onlusnav">
      <!--qui inizia il nav-->
      	</div>
  </div>
</div>
<div class="clearer"></div>


    </div> <!-- Fine contenuti_una_colonna -->
	
    




<!-- Fine contenuti -->

<div class="clearer"></div>

<div id="footer">
<div id="footerMenu">
    <h1 class="skipheader">Pič di pagina</h1>
    <ul>
        <li><a href="http://www1.agenziaentrate.gov.it/guide/paginepiurichieste/index.htm">Statistiche del sito</a><span> | </span></li>
        <li><a href="http://www.agenziaentrate.gov.it/wps/portal/entrate/linkutili">Link utili</a><span> | </span></li>
        <li><a href="http://www.agenziaentrate.gov.it/wps/portal/entrate/redazione">Redazione</a><span> | </span></li>
        <li><a href="http://www.agenziaentrate.gov.it/wps/portal/entrate/accessibilita">Accessibilit&agrave;</a><span> | </span></li>
        <li><a href="http://www.agenziaentrate.gov.it/wps/portal/entrate/privacy">Privacy</a></li>
    </ul>
</div>
<p class="indirizzo">Agenzia delle Entrate  via Cristoforo Colombo n. 426 C/D  00145 Roma -  Codice Fiscale e Partita Iva: 06363391001</p>

        
</div><!-- Fine footer -->

</div><!-- Fine contenitore -->

</body>
</html>


------------czcpoCQ0yTmKCtOHEE1Zta
Content-Disposition: inline; filename=function.js
Content-Type: application/javascript; name=function.js
Content-Location: http://www1.agenziaentrate.it/documentazione/finanziaria/domanda+5+per+mille/js/function.js
Content-Transfer-Encoding: Base64

dmFyIGlkb2dnZXR0bz1udWxsOw0KZnVuY3Rpb24gZmluZFBvc1gob2JqKQ0Kew0K
CXZhciBjdXJsZWZ0ID0gMDsNCglpZiAob2JqLm9mZnNldFBhcmVudCkNCgl7DQoJ
CXdoaWxlIChvYmoub2Zmc2V0UGFyZW50KQ0KCQl7DQoJCQljdXJsZWZ0ICs9IG9i
ai5vZmZzZXRMZWZ0DQoJCQlvYmogPSBvYmoub2Zmc2V0UGFyZW50Ow0KCQl9DQoJ
fQ0KCWVsc2UgaWYgKG9iai54KQ0KCQljdXJsZWZ0ICs9IG9iai54Ow0KCXJldHVy
biBjdXJsZWZ0Ow0KfQ0KDQpmdW5jdGlvbiBmaW5kUG9zWShvYmopDQp7DQoJdmFy
IGN1cnRvcCA9IDA7DQoJaWYgKG9iai5vZmZzZXRQYXJlbnQpDQoJew0KCQl3aGls
ZSAob2JqLm9mZnNldFBhcmVudCkNCgkJew0KCQkJY3VydG9wICs9IG9iai5vZmZz
ZXRUb3ANCgkJCW9iaiA9IG9iai5vZmZzZXRQYXJlbnQ7DQoJCX0NCgl9DQoJZWxz
ZSBpZiAob2JqLnkpDQoJCWN1cnRvcCArPSBvYmoueTsNCglyZXR1cm4gY3VydG9w
Ow0KfQ0KDQpmdW5jdGlvbiBjb250cm9sbGFMdW5nKHRoZUZpZWxkLGRpbSxsYWJl
bFN0cmluZykgDQp7IA0KICAgaWYgKHRoZUZpZWxkLnZhbHVlLmxlbmd0aD5kaW0p
IA0KICAgeyANCiAgICAgIGFsZXJ0KCJJbnNlcmlyZSBhbCBtYXNzaW1vICIgKyBk
aW0gKyAiIGNhcmF0dGVyaSBuZWwgY2FtcG8gIiArIGxhYmVsU3RyaW5nICsgIi4i
KTsgDQogICAgICB0aGVGaWVsZC52YWx1ZT10aGVGaWVsZC52YWx1ZS5zdWJzdHJp
bmcoMCwgZGltKTsNCiAgICAgIHRoZUZpZWxkLmZvY3VzKCkNCiAgICAgIHJldHVy
biBmYWxzZQ0KICAgfQ0KICAgZWxzZXsNCiAgICAgIHJldHVybiB0cnVlDQogICB9
DQp9IA0KDQpmdW5jdGlvbiBjb250cm9sbGFDYW1waShmb3JtKSANCnsgDQoJdmFy
IG5vZXJyPXRydWU7DQoJaWYgKCFjb250cm9sbGFMdW5nKGZvcm0uQVUsMjU0LCJB
dXRvcmUiKSl7DQoJCW5vZXJyPWZhbHNlOw0KCX0NCglpZiAoIWNvbnRyb2xsYUx1
bmcoZm9ybS5UVCwyNTQsIlRpdG9sbyIpKXsNCgkJbm9lcnI9ZmFsc2U7DQoJfQ0K
CWlmICghY29udHJvbGxhTHVuZyhmb3JtLlNUVCwzOTksIlNvdHRvVGl0b2xvIikp
ew0KCQlub2Vycj1mYWxzZTsNCgl9DQoJaWYgKCFjb250cm9sbGFMdW5nKGZvcm0u
S0VZLDI1NCwiUGFyb2xlIGNoaWF2ZSIpKXsNCgkJbm9lcnI9ZmFsc2U7DQoJfQ0K
CWlmICghY29udHJvbGxhTHVuZyhmb3JtLk5ULDI1NCwiTm90ZSIpKXsNCgkJbm9l
cnI9ZmFsc2U7DQoJfQ0KDQpyZXR1cm4gbm9lcnI7DQp9IA0KDQpmdW5jdGlvbiBj
YXRjYWxjKG9nZ2V0dG8saWRvZ2cpew0KICAgdmFyIGNhbGVuZGFyID0gbmV3IENh
bGVuZGFyKDAsbnVsbCxTZWxlemlvbmFDYWxlbmRhcmlvLENoaXVkaUNhbGVuZGFy
aW8pOw0KICAgLy9pZG9nZ2V0dG89b2dnZXR0by5pZDsNCiAgIGlkb2dnZXR0bz1p
ZG9nZzsNCiAgIGNhbGVuZGFyLnNldERhdGVGb3JtYXQoIiVkLyVtLyVZIik7ICAg
IC8vIHRoZSBkYXRlIGZvcm1hdA0KICAgY2FsZW5kYXIuY3JlYXRlKCk7IA0KICAg
Ly9jYWxlbmRhci5zaG93KCk7DQogICBjYWxlbmRhci5zaG93QXRFbGVtZW50KG9n
Z2V0dG8sICJCciIpOw0KICAgY2FsZW5kYXIucGFyc2VEYXRlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKGlkb2dnKS52YWx1ZSk7DQogICByZXR1cm4gdHJ1ZTsNCn0N
Cg0KDQpmdW5jdGlvbiBTZWxlemlvbmFDYWxlbmRhcmlvKGNhbGVuZGFyLCBkYXRl
KSB7DQogIHZhciBpbnB1dF9maWVsZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KGlkb2dnZXR0byk7DQogIGlucHV0X2ZpZWxkLnZhbHVlID0gZGF0ZTsNCiAgaWYg
KGNhbGVuZGFyLmRhdGVDbGlja2VkKSB7DQogICBjYWxlbmRhci5jYWxsQ2xvc2VI
YW5kbGVyKCk7IC8vIHRoaXMgY2FsbHMgIm9uQ2xvc2UiIChzZWUgYWJvdmUpDQog
IH0NCn0NCg0KZnVuY3Rpb24gQ2hpdWRpQ2FsZW5kYXJpbyhjYWxlbmRhcikgew0K
ICAgY2FsZW5kYXIuaGlkZSgpOyAgIA0KICAgLy8gb3IgY2FsZW5kYXIuZGVzdHJv
eSgpOw0KfQ0KDQo=

------------czcpoCQ0yTmKCtOHEE1Zta
Content-Disposition: inline; filename=all_sg.js
Content-Type: application/javascript; name=all_sg.js
Content-Location: http://www1.agenziaentrate.it/pie/js/all_sg.js
Content-Transfer-Encoding: Base64

Ly8xMi8xMC8yMDEwIDE3OjEwOjMyDQoNCi8vLi4vanF1ZXJ5LmpzDQovKiEKICog
alF1ZXJ5IEphdmFTY3JpcHQgTGlicmFyeSB2MS40LjIKICogaHR0cDovL2pxdWVy
eS5jb20vCiAqCiAqIENvcHlyaWdodCAyMDEwLCBKb2huIFJlc2lnCiAqIER1YWwg
bGljZW5zZWQgdW5kZXIgdGhlIE1JVCBvciBHUEwgVmVyc2lvbiAyIGxpY2Vuc2Vz
LgogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIEluY2x1ZGVzIFNp
enpsZS5qcwogKiBodHRwOi8vc2l6emxlanMuY29tLwogKiBDb3B5cmlnaHQgMjAx
MCwgVGhlIERvam8gRm91bmRhdGlvbgogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlU
LCBCU0QsIGFuZCBHUEwgTGljZW5zZXMuCiAqCiAqIERhdGU6IFNhdCBGZWIgMTMg
MjI6MzM6NDggMjAxMCAtMDUwMAogKi8KKGZ1bmN0aW9uKEEsdyl7ZnVuY3Rpb24g
bWEoKXtpZighYy5pc1JlYWR5KXt0cnl7cy5kb2N1bWVudEVsZW1lbnQuZG9TY3Jv
bGwoImxlZnQiKX1jYXRjaChhKXtzZXRUaW1lb3V0KG1hLDEpO3JldHVybn1jLnJl
YWR5KCl9fWZ1bmN0aW9uIFFhKGEsYil7Yi5zcmM/Yy5hamF4KHt1cmw6Yi5zcmMs
YXN5bmM6ZmFsc2UsZGF0YVR5cGU6InNjcmlwdCJ9KTpjLmdsb2JhbEV2YWwoYi50
ZXh0fHxiLnRleHRDb250ZW50fHxiLmlubmVySFRNTHx8IiIpO2IucGFyZW50Tm9k
ZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpfWZ1bmN0aW9uIFgoYSxiLGQs
ZixlLGope3ZhciBpPWEubGVuZ3RoO2lmKHR5cGVvZiBiPT09Im9iamVjdCIpe2Zv
cih2YXIgbyBpbiBiKVgoYSxvLGJbb10sZixlLGQpO3JldHVybiBhfWlmKGQhPT13
KXtmPSFqJiZmJiZjLmlzRnVuY3Rpb24oZCk7Zm9yKG89MDtvPGk7bysrKWUoYVtv
XSxiLGY/ZC5jYWxsKGFbb10sbyxlKGFbb10sYikpOmQsaik7cmV0dXJuIGF9cmV0
dXJuIGk/CmUoYVswXSxiKTp3fWZ1bmN0aW9uIEooKXtyZXR1cm4obmV3IERhdGUp
LmdldFRpbWUoKX1mdW5jdGlvbiBZKCl7cmV0dXJuIGZhbHNlfWZ1bmN0aW9uIFoo
KXtyZXR1cm4gdHJ1ZX1mdW5jdGlvbiBuYShhLGIsZCl7ZFswXS50eXBlPWE7cmV0
dXJuIGMuZXZlbnQuaGFuZGxlLmFwcGx5KGIsZCl9ZnVuY3Rpb24gb2EoYSl7dmFy
IGIsZD1bXSxmPVtdLGU9YXJndW1lbnRzLGosaSxvLGssbixyO2k9Yy5kYXRhKHRo
aXMsImV2ZW50cyIpO2lmKCEoYS5saXZlRmlyZWQ9PT10aGlzfHwhaXx8IWkubGl2
ZXx8YS5idXR0b24mJmEudHlwZT09PSJjbGljayIpKXthLmxpdmVGaXJlZD10aGlz
O3ZhciB1PWkubGl2ZS5zbGljZSgwKTtmb3Ioaz0wO2s8dS5sZW5ndGg7aysrKXtp
PXVba107aS5vcmlnVHlwZS5yZXBsYWNlKE8sIiIpPT09YS50eXBlP2YucHVzaChp
LnNlbGVjdG9yKTp1LnNwbGljZShrLS0sMSl9aj1jKGEudGFyZ2V0KS5jbG9zZXN0
KGYsYS5jdXJyZW50VGFyZ2V0KTtuPTA7Zm9yKHI9CmoubGVuZ3RoO248cjtuKysp
Zm9yKGs9MDtrPHUubGVuZ3RoO2srKyl7aT11W2tdO2lmKGpbbl0uc2VsZWN0b3I9
PT1pLnNlbGVjdG9yKXtvPWpbbl0uZWxlbTtmPW51bGw7aWYoaS5wcmVUeXBlPT09
Im1vdXNlZW50ZXIifHxpLnByZVR5cGU9PT0ibW91c2VsZWF2ZSIpZj1jKGEucmVs
YXRlZFRhcmdldCkuY2xvc2VzdChpLnNlbGVjdG9yKVswXTtpZighZnx8ZiE9PW8p
ZC5wdXNoKHtlbGVtOm8saGFuZGxlT2JqOml9KX19bj0wO2ZvcihyPWQubGVuZ3Ro
O248cjtuKyspe2o9ZFtuXTthLmN1cnJlbnRUYXJnZXQ9ai5lbGVtO2EuZGF0YT1q
LmhhbmRsZU9iai5kYXRhO2EuaGFuZGxlT2JqPWouaGFuZGxlT2JqO2lmKGouaGFu
ZGxlT2JqLm9yaWdIYW5kbGVyLmFwcGx5KGouZWxlbSxlKT09PWZhbHNlKXtiPWZh
bHNlO2JyZWFrfX1yZXR1cm4gYn19ZnVuY3Rpb24gcGEoYSxiKXtyZXR1cm4ibGl2
ZS4iKyhhJiZhIT09IioiP2ErIi4iOiIiKStiLnJlcGxhY2UoL1wuL2csImAiKS5y
ZXBsYWNlKC8gL2csCiImIil9ZnVuY3Rpb24gcWEoYSl7cmV0dXJuIWF8fCFhLnBh
cmVudE5vZGV8fGEucGFyZW50Tm9kZS5ub2RlVHlwZT09PTExfWZ1bmN0aW9uIHJh
KGEsYil7dmFyIGQ9MDtiLmVhY2goZnVuY3Rpb24oKXtpZih0aGlzLm5vZGVOYW1l
PT09KGFbZF0mJmFbZF0ubm9kZU5hbWUpKXt2YXIgZj1jLmRhdGEoYVtkKytdKSxl
PWMuZGF0YSh0aGlzLGYpO2lmKGY9ZiYmZi5ldmVudHMpe2RlbGV0ZSBlLmhhbmRs
ZTtlLmV2ZW50cz17fTtmb3IodmFyIGogaW4gZilmb3IodmFyIGkgaW4gZltqXSlj
LmV2ZW50LmFkZCh0aGlzLGosZltqXVtpXSxmW2pdW2ldLmRhdGEpfX19KX1mdW5j
dGlvbiBzYShhLGIsZCl7dmFyIGYsZSxqO2I9YiYmYlswXT9iWzBdLm93bmVyRG9j
dW1lbnR8fGJbMF06cztpZihhLmxlbmd0aD09PTEmJnR5cGVvZiBhWzBdPT09InN0
cmluZyImJmFbMF0ubGVuZ3RoPDUxMiYmYj09PXMmJiF0YS50ZXN0KGFbMF0pJiYo
Yy5zdXBwb3J0LmNoZWNrQ2xvbmV8fCF1YS50ZXN0KGFbMF0pKSl7ZT0KdHJ1ZTtp
ZihqPWMuZnJhZ21lbnRzW2FbMF1dKWlmKGohPT0xKWY9an1pZighZil7Zj1iLmNy
ZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtjLmNsZWFuKGEsYixmLGQpfWlmKGUpYy5m
cmFnbWVudHNbYVswXV09aj9mOjE7cmV0dXJue2ZyYWdtZW50OmYsY2FjaGVhYmxl
OmV9fWZ1bmN0aW9uIEsoYSxiKXt2YXIgZD17fTtjLmVhY2godmEuY29uY2F0LmFw
cGx5KFtdLHZhLnNsaWNlKDAsYikpLGZ1bmN0aW9uKCl7ZFt0aGlzXT1hfSk7cmV0
dXJuIGR9ZnVuY3Rpb24gd2EoYSl7cmV0dXJuInNjcm9sbFRvImluIGEmJmEuZG9j
dW1lbnQ/YTphLm5vZGVUeXBlPT09OT9hLmRlZmF1bHRWaWV3fHxhLnBhcmVudFdp
bmRvdzpmYWxzZX12YXIgYz1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgYy5mbi5p
bml0KGEsYil9LFJhPUEualF1ZXJ5LFNhPUEuJCxzPUEuZG9jdW1lbnQsVCxUYT0v
XltePF0qKDxbXHdcV10rPilbXj5dKiR8XiMoW1x3LV0rKSQvLFVhPS9eLlteOiNc
W1wuLF0qJC8sVmE9L1xTLywKV2E9L14oXHN8XHUwMEEwKSt8KFxzfFx1MDBBMCkr
JC9nLFhhPS9ePChcdyspXHMqXC8/Pig/OjxcL1wxPik/JC8sUD1uYXZpZ2F0b3Iu
dXNlckFnZW50LHhhPWZhbHNlLFE9W10sTCwkPU9iamVjdC5wcm90b3R5cGUudG9T
dHJpbmcsYWE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxiYT1BcnJh
eS5wcm90b3R5cGUucHVzaCxSPUFycmF5LnByb3RvdHlwZS5zbGljZSx5YT1BcnJh
eS5wcm90b3R5cGUuaW5kZXhPZjtjLmZuPWMucHJvdG90eXBlPXtpbml0OmZ1bmN0
aW9uKGEsYil7dmFyIGQsZjtpZighYSlyZXR1cm4gdGhpcztpZihhLm5vZGVUeXBl
KXt0aGlzLmNvbnRleHQ9dGhpc1swXT1hO3RoaXMubGVuZ3RoPTE7cmV0dXJuIHRo
aXN9aWYoYT09PSJib2R5IiYmIWIpe3RoaXMuY29udGV4dD1zO3RoaXNbMF09cy5i
b2R5O3RoaXMuc2VsZWN0b3I9ImJvZHkiO3RoaXMubGVuZ3RoPTE7cmV0dXJuIHRo
aXN9aWYodHlwZW9mIGE9PT0ic3RyaW5nIilpZigoZD1UYS5leGVjKGEpKSYmCihk
WzFdfHwhYikpaWYoZFsxXSl7Zj1iP2Iub3duZXJEb2N1bWVudHx8YjpzO2lmKGE9
WGEuZXhlYyhhKSlpZihjLmlzUGxhaW5PYmplY3QoYikpe2E9W3MuY3JlYXRlRWxl
bWVudChhWzFdKV07Yy5mbi5hdHRyLmNhbGwoYSxiLHRydWUpfWVsc2UgYT1bZi5j
cmVhdGVFbGVtZW50KGFbMV0pXTtlbHNle2E9c2EoW2RbMV1dLFtmXSk7YT0oYS5j
YWNoZWFibGU/YS5mcmFnbWVudC5jbG9uZU5vZGUodHJ1ZSk6YS5mcmFnbWVudCku
Y2hpbGROb2Rlc31yZXR1cm4gYy5tZXJnZSh0aGlzLGEpfWVsc2V7aWYoYj1zLmdl
dEVsZW1lbnRCeUlkKGRbMl0pKXtpZihiLmlkIT09ZFsyXSlyZXR1cm4gVC5maW5k
KGEpO3RoaXMubGVuZ3RoPTE7dGhpc1swXT1ifXRoaXMuY29udGV4dD1zO3RoaXMu
c2VsZWN0b3I9YTtyZXR1cm4gdGhpc31lbHNlIGlmKCFiJiYvXlx3KyQvLnRlc3Qo
YSkpe3RoaXMuc2VsZWN0b3I9YTt0aGlzLmNvbnRleHQ9czthPXMuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoYSk7cmV0dXJuIGMubWVyZ2UodGhpcywKYSl9ZWxzZSByZXR1
cm4hYnx8Yi5qcXVlcnk/KGJ8fFQpLmZpbmQoYSk6YyhiKS5maW5kKGEpO2Vsc2Ug
aWYoYy5pc0Z1bmN0aW9uKGEpKXJldHVybiBULnJlYWR5KGEpO2lmKGEuc2VsZWN0
b3IhPT13KXt0aGlzLnNlbGVjdG9yPWEuc2VsZWN0b3I7dGhpcy5jb250ZXh0PWEu
Y29udGV4dH1yZXR1cm4gYy5tYWtlQXJyYXkoYSx0aGlzKX0sc2VsZWN0b3I6IiIs
anF1ZXJ5OiIxLjQuMiIsbGVuZ3RoOjAsc2l6ZTpmdW5jdGlvbigpe3JldHVybiB0
aGlzLmxlbmd0aH0sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBSLmNhbGwodGhp
cywwKX0sZ2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP3RoaXMudG9BcnJh
eSgpOmE8MD90aGlzLnNsaWNlKGEpWzBdOnRoaXNbYV19LHB1c2hTdGFjazpmdW5j
dGlvbihhLGIsZCl7dmFyIGY9YygpO2MuaXNBcnJheShhKT9iYS5hcHBseShmLGEp
OmMubWVyZ2UoZixhKTtmLnByZXZPYmplY3Q9dGhpcztmLmNvbnRleHQ9dGhpcy5j
b250ZXh0O2lmKGI9PT0KImZpbmQiKWYuc2VsZWN0b3I9dGhpcy5zZWxlY3Rvciso
dGhpcy5zZWxlY3Rvcj8iICI6IiIpK2Q7ZWxzZSBpZihiKWYuc2VsZWN0b3I9dGhp
cy5zZWxlY3RvcisiLiIrYisiKCIrZCsiKSI7cmV0dXJuIGZ9LGVhY2g6ZnVuY3Rp
b24oYSxiKXtyZXR1cm4gYy5lYWNoKHRoaXMsYSxiKX0scmVhZHk6ZnVuY3Rpb24o
YSl7Yy5iaW5kUmVhZHkoKTtpZihjLmlzUmVhZHkpYS5jYWxsKHMsYyk7ZWxzZSBR
JiZRLnB1c2goYSk7cmV0dXJuIHRoaXN9LGVxOmZ1bmN0aW9uKGEpe3JldHVybiBh
PT09LTE/dGhpcy5zbGljZShhKTp0aGlzLnNsaWNlKGEsK2ErMSl9LGZpcnN0OmZ1
bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1
cm4gdGhpcy5lcSgtMSl9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVz
aFN0YWNrKFIuYXBwbHkodGhpcyxhcmd1bWVudHMpLCJzbGljZSIsUi5jYWxsKGFy
Z3VtZW50cykuam9pbigiLCIpKX0sbWFwOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlz
LnB1c2hTdGFjayhjLm1hcCh0aGlzLApmdW5jdGlvbihiLGQpe3JldHVybiBhLmNh
bGwoYixkLGIpfSkpfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2Jq
ZWN0fHxjKG51bGwpfSxwdXNoOmJhLHNvcnQ6W10uc29ydCxzcGxpY2U6W10uc3Bs
aWNlfTtjLmZuLmluaXQucHJvdG90eXBlPWMuZm47Yy5leHRlbmQ9Yy5mbi5leHRl
bmQ9ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHNbMF18fHt9LGI9MSxkPWFyZ3Vt
ZW50cy5sZW5ndGgsZj1mYWxzZSxlLGosaSxvO2lmKHR5cGVvZiBhPT09ImJvb2xl
YW4iKXtmPWE7YT1hcmd1bWVudHNbMV18fHt9O2I9Mn1pZih0eXBlb2YgYSE9PSJv
YmplY3QiJiYhYy5pc0Z1bmN0aW9uKGEpKWE9e307aWYoZD09PWIpe2E9dGhpczst
LWJ9Zm9yKDtiPGQ7YisrKWlmKChlPWFyZ3VtZW50c1tiXSkhPW51bGwpZm9yKGog
aW4gZSl7aT1hW2pdO289ZVtqXTtpZihhIT09bylpZihmJiZvJiYoYy5pc1BsYWlu
T2JqZWN0KG8pfHxjLmlzQXJyYXkobykpKXtpPWkmJihjLmlzUGxhaW5PYmplY3Qo
aSl8fApjLmlzQXJyYXkoaSkpP2k6Yy5pc0FycmF5KG8pP1tdOnt9O2Fbal09Yy5l
eHRlbmQoZixpLG8pfWVsc2UgaWYobyE9PXcpYVtqXT1vfXJldHVybiBhfTtjLmV4
dGVuZCh7bm9Db25mbGljdDpmdW5jdGlvbihhKXtBLiQ9U2E7aWYoYSlBLmpRdWVy
eT1SYTtyZXR1cm4gY30saXNSZWFkeTpmYWxzZSxyZWFkeTpmdW5jdGlvbigpe2lm
KCFjLmlzUmVhZHkpe2lmKCFzLmJvZHkpcmV0dXJuIHNldFRpbWVvdXQoYy5yZWFk
eSwxMyk7Yy5pc1JlYWR5PXRydWU7aWYoUSl7Zm9yKHZhciBhLGI9MDthPVFbYisr
XTspYS5jYWxsKHMsYyk7UT1udWxsfWMuZm4udHJpZ2dlckhhbmRsZXImJmMocyku
dHJpZ2dlckhhbmRsZXIoInJlYWR5Iil9fSxiaW5kUmVhZHk6ZnVuY3Rpb24oKXtp
ZigheGEpe3hhPXRydWU7aWYocy5yZWFkeVN0YXRlPT09ImNvbXBsZXRlIilyZXR1
cm4gYy5yZWFkeSgpO2lmKHMuYWRkRXZlbnRMaXN0ZW5lcil7cy5hZGRFdmVudExp
c3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwKTCxmYWxzZSk7QS5hZGRFdmVudExp
c3RlbmVyKCJsb2FkIixjLnJlYWR5LGZhbHNlKX1lbHNlIGlmKHMuYXR0YWNoRXZl
bnQpe3MuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsTCk7QS5hdHRh
Y2hFdmVudCgib25sb2FkIixjLnJlYWR5KTt2YXIgYT1mYWxzZTt0cnl7YT1BLmZy
YW1lRWxlbWVudD09bnVsbH1jYXRjaChiKXt9cy5kb2N1bWVudEVsZW1lbnQuZG9T
Y3JvbGwmJmEmJm1hKCl9fX0saXNGdW5jdGlvbjpmdW5jdGlvbihhKXtyZXR1cm4g
JC5jYWxsKGEpPT09IltvYmplY3QgRnVuY3Rpb25dIn0saXNBcnJheTpmdW5jdGlv
bihhKXtyZXR1cm4gJC5jYWxsKGEpPT09IltvYmplY3QgQXJyYXldIn0saXNQbGFp
bk9iamVjdDpmdW5jdGlvbihhKXtpZighYXx8JC5jYWxsKGEpIT09IltvYmplY3Qg
T2JqZWN0XSJ8fGEubm9kZVR5cGV8fGEuc2V0SW50ZXJ2YWwpcmV0dXJuIGZhbHNl
O2lmKGEuY29uc3RydWN0b3ImJiFhYS5jYWxsKGEsImNvbnN0cnVjdG9yIikmJiFh
YS5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlLAoiaXNQcm90b3R5cGVPZiIp
KXJldHVybiBmYWxzZTt2YXIgYjtmb3IoYiBpbiBhKTtyZXR1cm4gYj09PXd8fGFh
LmNhbGwoYSxiKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXtmb3IodmFyIGIg
aW4gYSlyZXR1cm4gZmFsc2U7cmV0dXJuIHRydWV9LGVycm9yOmZ1bmN0aW9uKGEp
e3Rocm93IGE7fSxwYXJzZUpTT046ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT0i
c3RyaW5nInx8IWEpcmV0dXJuIG51bGw7YT1jLnRyaW0oYSk7aWYoL15bXF0sOnt9
XHNdKiQvLnRlc3QoYS5yZXBsYWNlKC9cXCg/OlsiXFxcL2JmbnJ0XXx1WzAtOWEt
ZkEtRl17NH0pL2csIkAiKS5yZXBsYWNlKC8iW14iXFxcblxyXSoifHRydWV8ZmFs
c2V8bnVsbHwtP1xkKyg/OlwuXGQqKT8oPzpbZUVdWytcLV0/XGQrKT8vZywiXSIp
LnJlcGxhY2UoLyg/Ol58OnwsKSg/OlxzKlxbKSsvZywiIikpKXJldHVybiBBLkpT
T04mJkEuSlNPTi5wYXJzZT9BLkpTT04ucGFyc2UoYSk6KG5ldyBGdW5jdGlvbigi
cmV0dXJuICIrCmEpKSgpO2Vsc2UgYy5lcnJvcigiSW52YWxpZCBKU09OOiAiK2Ep
fSxub29wOmZ1bmN0aW9uKCl7fSxnbG9iYWxFdmFsOmZ1bmN0aW9uKGEpe2lmKGEm
JlZhLnRlc3QoYSkpe3ZhciBiPXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQi
KVswXXx8cy5kb2N1bWVudEVsZW1lbnQsZD1zLmNyZWF0ZUVsZW1lbnQoInNjcmlw
dCIpO2QudHlwZT0idGV4dC9qYXZhc2NyaXB0IjtpZihjLnN1cHBvcnQuc2NyaXB0
RXZhbClkLmFwcGVuZENoaWxkKHMuY3JlYXRlVGV4dE5vZGUoYSkpO2Vsc2UgZC50
ZXh0PWE7Yi5pbnNlcnRCZWZvcmUoZCxiLmZpcnN0Q2hpbGQpO2IucmVtb3ZlQ2hp
bGQoZCl9fSxub2RlTmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1l
JiZhLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk9PT1iLnRvVXBwZXJDYXNlKCl9LGVh
Y2g6ZnVuY3Rpb24oYSxiLGQpe3ZhciBmLGU9MCxqPWEubGVuZ3RoLGk9aj09PXd8
fGMuaXNGdW5jdGlvbihhKTtpZihkKWlmKGkpZm9yKGYgaW4gYSl7aWYoYi5hcHBs
eShhW2ZdLApkKT09PWZhbHNlKWJyZWFrfWVsc2UgZm9yKDtlPGo7KXtpZihiLmFw
cGx5KGFbZSsrXSxkKT09PWZhbHNlKWJyZWFrfWVsc2UgaWYoaSlmb3IoZiBpbiBh
KXtpZihiLmNhbGwoYVtmXSxmLGFbZl0pPT09ZmFsc2UpYnJlYWt9ZWxzZSBmb3Io
ZD1hWzBdO2U8aiYmYi5jYWxsKGQsZSxkKSE9PWZhbHNlO2Q9YVsrK2VdKTtyZXR1
cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4oYXx8IiIpLnJlcGxhY2UoV2Es
IiIpfSxtYWtlQXJyYXk6ZnVuY3Rpb24oYSxiKXtiPWJ8fFtdO2lmKGEhPW51bGwp
YS5sZW5ndGg9PW51bGx8fHR5cGVvZiBhPT09InN0cmluZyJ8fGMuaXNGdW5jdGlv
bihhKXx8dHlwZW9mIGEhPT0iZnVuY3Rpb24iJiZhLnNldEludGVydmFsP2JhLmNh
bGwoYixhKTpjLm1lcmdlKGIsYSk7cmV0dXJuIGJ9LGluQXJyYXk6ZnVuY3Rpb24o
YSxiKXtpZihiLmluZGV4T2YpcmV0dXJuIGIuaW5kZXhPZihhKTtmb3IodmFyIGQ9
MCxmPWIubGVuZ3RoO2Q8ZjtkKyspaWYoYltkXT09PQphKXJldHVybiBkO3JldHVy
bi0xfSxtZXJnZTpmdW5jdGlvbihhLGIpe3ZhciBkPWEubGVuZ3RoLGY9MDtpZih0
eXBlb2YgYi5sZW5ndGg9PT0ibnVtYmVyIilmb3IodmFyIGU9Yi5sZW5ndGg7Zjxl
O2YrKylhW2QrK109YltmXTtlbHNlIGZvcig7YltmXSE9PXc7KWFbZCsrXT1iW2Yr
K107YS5sZW5ndGg9ZDtyZXR1cm4gYX0sZ3JlcDpmdW5jdGlvbihhLGIsZCl7Zm9y
KHZhciBmPVtdLGU9MCxqPWEubGVuZ3RoO2U8ajtlKyspIWQhPT0hYihhW2VdLGUp
JiZmLnB1c2goYVtlXSk7cmV0dXJuIGZ9LG1hcDpmdW5jdGlvbihhLGIsZCl7Zm9y
KHZhciBmPVtdLGUsaj0wLGk9YS5sZW5ndGg7ajxpO2orKyl7ZT1iKGFbal0saixk
KTtpZihlIT1udWxsKWZbZi5sZW5ndGhdPWV9cmV0dXJuIGYuY29uY2F0LmFwcGx5
KFtdLGYpfSxndWlkOjEscHJveHk6ZnVuY3Rpb24oYSxiLGQpe2lmKGFyZ3VtZW50
cy5sZW5ndGg9PT0yKWlmKHR5cGVvZiBiPT09InN0cmluZyIpe2Q9YTthPWRbYl07
Yj13fWVsc2UgaWYoYiYmCiFjLmlzRnVuY3Rpb24oYikpe2Q9YjtiPXd9aWYoIWIm
JmEpYj1mdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGR8fHRoaXMsYXJndW1lbnRz
KX07aWYoYSliLmd1aWQ9YS5ndWlkPWEuZ3VpZHx8Yi5ndWlkfHxjLmd1aWQrKzty
ZXR1cm4gYn0sdWFNYXRjaDpmdW5jdGlvbihhKXthPWEudG9Mb3dlckNhc2UoKTth
PS8od2Via2l0KVsgXC9dKFtcdy5dKykvLmV4ZWMoYSl8fC8ob3BlcmEpKD86Lip2
ZXJzaW9uKT9bIFwvXShbXHcuXSspLy5leGVjKGEpfHwvKG1zaWUpIChbXHcuXSsp
Ly5leGVjKGEpfHwhL2NvbXBhdGlibGUvLnRlc3QoYSkmJi8obW96aWxsYSkoPzou
Kj8gcnY6KFtcdy5dKykpPy8uZXhlYyhhKXx8W107cmV0dXJue2Jyb3dzZXI6YVsx
XXx8IiIsdmVyc2lvbjphWzJdfHwiMCJ9fSxicm93c2VyOnt9fSk7UD1jLnVhTWF0
Y2goUCk7aWYoUC5icm93c2VyKXtjLmJyb3dzZXJbUC5icm93c2VyXT10cnVlO2Mu
YnJvd3Nlci52ZXJzaW9uPVAudmVyc2lvbn1pZihjLmJyb3dzZXIud2Via2l0KWMu
YnJvd3Nlci5zYWZhcmk9CnRydWU7aWYoeWEpYy5pbkFycmF5PWZ1bmN0aW9uKGEs
Yil7cmV0dXJuIHlhLmNhbGwoYixhKX07VD1jKHMpO2lmKHMuYWRkRXZlbnRMaXN0
ZW5lcilMPWZ1bmN0aW9uKCl7cy5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250
ZW50TG9hZGVkIixMLGZhbHNlKTtjLnJlYWR5KCl9O2Vsc2UgaWYocy5hdHRhY2hF
dmVudClMPWZ1bmN0aW9uKCl7aWYocy5yZWFkeVN0YXRlPT09ImNvbXBsZXRlIil7
cy5kZXRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIixMKTtjLnJlYWR5KCl9
fTsoZnVuY3Rpb24oKXtjLnN1cHBvcnQ9e307dmFyIGE9cy5kb2N1bWVudEVsZW1l
bnQsYj1zLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLGQ9cy5jcmVhdGVFbGVtZW50
KCJkaXYiKSxmPSJzY3JpcHQiK0ooKTtkLnN0eWxlLmRpc3BsYXk9Im5vbmUiO2Qu
aW5uZXJIVE1MPSIgICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2En
IHN0eWxlPSdjb2xvcjpyZWQ7ZmxvYXQ6bGVmdDtvcGFjaXR5Oi41NTsnPmE8L2E+
PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IjsKdmFyIGU9ZC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgiKiIpLGo9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpWzBdO2lm
KCEoIWV8fCFlLmxlbmd0aHx8IWopKXtjLnN1cHBvcnQ9e2xlYWRpbmdXaGl0ZXNw
YWNlOmQuZmlyc3RDaGlsZC5ub2RlVHlwZT09PTMsdGJvZHk6IWQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoInRib2R5IikubGVuZ3RoLGh0bWxTZXJpYWxpemU6ISFkLmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIikubGVuZ3RoLHN0eWxlOi9yZWQvLnRl
c3Qoai5nZXRBdHRyaWJ1dGUoInN0eWxlIikpLGhyZWZOb3JtYWxpemVkOmouZ2V0
QXR0cmlidXRlKCJocmVmIik9PT0iL2EiLG9wYWNpdHk6L14wLjU1JC8udGVzdChq
LnN0eWxlLm9wYWNpdHkpLGNzc0Zsb2F0OiEhai5zdHlsZS5jc3NGbG9hdCxjaGVj
a09uOmQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0IilbMF0udmFsdWU9PT0i
b24iLG9wdFNlbGVjdGVkOnMuY3JlYXRlRWxlbWVudCgic2VsZWN0IikuYXBwZW5k
Q2hpbGQocy5jcmVhdGVFbGVtZW50KCJvcHRpb24iKSkuc2VsZWN0ZWQsCnBhcmVu
dE5vZGU6ZC5yZW1vdmVDaGlsZChkLmFwcGVuZENoaWxkKHMuY3JlYXRlRWxlbWVu
dCgiZGl2IikpKS5wYXJlbnROb2RlPT09bnVsbCxkZWxldGVFeHBhbmRvOnRydWUs
Y2hlY2tDbG9uZTpmYWxzZSxzY3JpcHRFdmFsOmZhbHNlLG5vQ2xvbmVFdmVudDp0
cnVlLGJveE1vZGVsOm51bGx9O2IudHlwZT0idGV4dC9qYXZhc2NyaXB0Ijt0cnl7
Yi5hcHBlbmRDaGlsZChzLmNyZWF0ZVRleHROb2RlKCJ3aW5kb3cuIitmKyI9MTsi
KSl9Y2F0Y2goaSl7fWEuaW5zZXJ0QmVmb3JlKGIsYS5maXJzdENoaWxkKTtpZihB
W2ZdKXtjLnN1cHBvcnQuc2NyaXB0RXZhbD10cnVlO2RlbGV0ZSBBW2ZdfXRyeXtk
ZWxldGUgYi50ZXN0fWNhdGNoKG8pe2Muc3VwcG9ydC5kZWxldGVFeHBhbmRvPWZh
bHNlfWEucmVtb3ZlQ2hpbGQoYik7aWYoZC5hdHRhY2hFdmVudCYmZC5maXJlRXZl
bnQpe2QuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1bmN0aW9uIGsoKXtjLnN1cHBv
cnQubm9DbG9uZUV2ZW50PQpmYWxzZTtkLmRldGFjaEV2ZW50KCJvbmNsaWNrIixr
KX0pO2QuY2xvbmVOb2RlKHRydWUpLmZpcmVFdmVudCgib25jbGljayIpfWQ9cy5j
cmVhdGVFbGVtZW50KCJkaXYiKTtkLmlubmVySFRNTD0iPGlucHV0IHR5cGU9J3Jh
ZGlvJyBuYW1lPSdyYWRpb3Rlc3QnIGNoZWNrZWQ9J2NoZWNrZWQnLz4iO2E9cy5j
cmVhdGVEb2N1bWVudEZyYWdtZW50KCk7YS5hcHBlbmRDaGlsZChkLmZpcnN0Q2hp
bGQpO2Muc3VwcG9ydC5jaGVja0Nsb25lPWEuY2xvbmVOb2RlKHRydWUpLmNsb25l
Tm9kZSh0cnVlKS5sYXN0Q2hpbGQuY2hlY2tlZDtjKGZ1bmN0aW9uKCl7dmFyIGs9
cy5jcmVhdGVFbGVtZW50KCJkaXYiKTtrLnN0eWxlLndpZHRoPWsuc3R5bGUucGFk
ZGluZ0xlZnQ9IjFweCI7cy5ib2R5LmFwcGVuZENoaWxkKGspO2MuYm94TW9kZWw9
Yy5zdXBwb3J0LmJveE1vZGVsPWsub2Zmc2V0V2lkdGg9PT0yO3MuYm9keS5yZW1v
dmVDaGlsZChrKS5zdHlsZS5kaXNwbGF5PSJub25lIn0pO2E9ZnVuY3Rpb24oayl7
dmFyIG49CnMuY3JlYXRlRWxlbWVudCgiZGl2Iik7az0ib24iK2s7dmFyIHI9ayBp
biBuO2lmKCFyKXtuLnNldEF0dHJpYnV0ZShrLCJyZXR1cm47Iik7cj10eXBlb2Yg
bltrXT09PSJmdW5jdGlvbiJ9cmV0dXJuIHJ9O2Muc3VwcG9ydC5zdWJtaXRCdWJi
bGVzPWEoInN1Ym1pdCIpO2Muc3VwcG9ydC5jaGFuZ2VCdWJibGVzPWEoImNoYW5n
ZSIpO2E9Yj1kPWU9aj1udWxsfX0pKCk7Yy5wcm9wcz17ImZvciI6Imh0bWxGb3Ii
LCJjbGFzcyI6ImNsYXNzTmFtZSIscmVhZG9ubHk6InJlYWRPbmx5IixtYXhsZW5n
dGg6Im1heExlbmd0aCIsY2VsbHNwYWNpbmc6ImNlbGxTcGFjaW5nIixyb3dzcGFu
OiJyb3dTcGFuIixjb2xzcGFuOiJjb2xTcGFuIix0YWJpbmRleDoidGFiSW5kZXgi
LHVzZW1hcDoidXNlTWFwIixmcmFtZWJvcmRlcjoiZnJhbWVCb3JkZXIifTt2YXIg
Rz0ialF1ZXJ5IitKKCksWWE9MCx6YT17fTtjLmV4dGVuZCh7Y2FjaGU6e30sZXhw
YW5kbzpHLG5vRGF0YTp7ZW1iZWQ6dHJ1ZSxvYmplY3Q6dHJ1ZSwKYXBwbGV0OnRy
dWV9LGRhdGE6ZnVuY3Rpb24oYSxiLGQpe2lmKCEoYS5ub2RlTmFtZSYmYy5ub0Rh
dGFbYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSkpe2E9YT09QT96YTphO3ZhciBm
PWFbR10sZT1jLmNhY2hlO2lmKCFmJiZ0eXBlb2YgYj09PSJzdHJpbmciJiZkPT09
dylyZXR1cm4gbnVsbDtmfHwoZj0rK1lhKTtpZih0eXBlb2YgYj09PSJvYmplY3Qi
KXthW0ddPWY7ZVtmXT1jLmV4dGVuZCh0cnVlLHt9LGIpfWVsc2UgaWYoIWVbZl0p
e2FbR109ZjtlW2ZdPXt9fWE9ZVtmXTtpZihkIT09dylhW2JdPWQ7cmV0dXJuIHR5
cGVvZiBiPT09InN0cmluZyI/YVtiXTphfX0scmVtb3ZlRGF0YTpmdW5jdGlvbihh
LGIpe2lmKCEoYS5ub2RlTmFtZSYmYy5ub0RhdGFbYS5ub2RlTmFtZS50b0xvd2Vy
Q2FzZSgpXSkpe2E9YT09QT96YTphO3ZhciBkPWFbR10sZj1jLmNhY2hlLGU9Zltk
XTtpZihiKXtpZihlKXtkZWxldGUgZVtiXTtjLmlzRW1wdHlPYmplY3QoZSkmJmMu
cmVtb3ZlRGF0YShhKX19ZWxzZXtpZihjLnN1cHBvcnQuZGVsZXRlRXhwYW5kbylk
ZWxldGUgYVtjLmV4cGFuZG9dOwplbHNlIGEucmVtb3ZlQXR0cmlidXRlJiZhLnJl
bW92ZUF0dHJpYnV0ZShjLmV4cGFuZG8pO2RlbGV0ZSBmW2RdfX19fSk7Yy5mbi5l
eHRlbmQoe2RhdGE6ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYT09PSJ1bmRlZmlu
ZWQiJiZ0aGlzLmxlbmd0aClyZXR1cm4gYy5kYXRhKHRoaXNbMF0pO2Vsc2UgaWYo
dHlwZW9mIGE9PT0ib2JqZWN0IilyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7
Yy5kYXRhKHRoaXMsYSl9KTt2YXIgZD1hLnNwbGl0KCIuIik7ZFsxXT1kWzFdPyIu
IitkWzFdOiIiO2lmKGI9PT13KXt2YXIgZj10aGlzLnRyaWdnZXJIYW5kbGVyKCJn
ZXREYXRhIitkWzFdKyIhIixbZFswXV0pO2lmKGY9PT13JiZ0aGlzLmxlbmd0aClm
PWMuZGF0YSh0aGlzWzBdLGEpO3JldHVybiBmPT09dyYmZFsxXT90aGlzLmRhdGEo
ZFswXSk6Zn1lbHNlIHJldHVybiB0aGlzLnRyaWdnZXIoInNldERhdGEiK2RbMV0r
IiEiLFtkWzBdLGJdKS5lYWNoKGZ1bmN0aW9uKCl7Yy5kYXRhKHRoaXMsCmEsYil9
KX0scmVtb3ZlRGF0YTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0
aW9uKCl7Yy5yZW1vdmVEYXRhKHRoaXMsYSl9KX19KTtjLmV4dGVuZCh7cXVldWU6
ZnVuY3Rpb24oYSxiLGQpe2lmKGEpe2I9KGJ8fCJmeCIpKyJxdWV1ZSI7dmFyIGY9
Yy5kYXRhKGEsYik7aWYoIWQpcmV0dXJuIGZ8fFtdO2lmKCFmfHxjLmlzQXJyYXko
ZCkpZj1jLmRhdGEoYSxiLGMubWFrZUFycmF5KGQpKTtlbHNlIGYucHVzaChkKTty
ZXR1cm4gZn19LGRlcXVldWU6ZnVuY3Rpb24oYSxiKXtiPWJ8fCJmeCI7dmFyIGQ9
Yy5xdWV1ZShhLGIpLGY9ZC5zaGlmdCgpO2lmKGY9PT0iaW5wcm9ncmVzcyIpZj1k
LnNoaWZ0KCk7aWYoZil7Yj09PSJmeCImJmQudW5zaGlmdCgiaW5wcm9ncmVzcyIp
O2YuY2FsbChhLGZ1bmN0aW9uKCl7Yy5kZXF1ZXVlKGEsYil9KX19fSk7Yy5mbi5l
eHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGEhPT0ic3RyaW5n
Iil7Yj1hO2E9ImZ4In1pZihiPT09CncpcmV0dXJuIGMucXVldWUodGhpc1swXSxh
KTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9Yy5xdWV1ZSh0aGlz
LGEsYik7YT09PSJmeCImJmRbMF0hPT0iaW5wcm9ncmVzcyImJmMuZGVxdWV1ZSh0
aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChm
dW5jdGlvbigpe2MuZGVxdWV1ZSh0aGlzLGEpfSl9LGRlbGF5OmZ1bmN0aW9uKGEs
Yil7YT1jLmZ4P2MuZnguc3BlZWRzW2FdfHxhOmE7Yj1ifHwiZngiO3JldHVybiB0
aGlzLnF1ZXVlKGIsZnVuY3Rpb24oKXt2YXIgZD10aGlzO3NldFRpbWVvdXQoZnVu
Y3Rpb24oKXtjLmRlcXVldWUoZCxiKX0sYSl9KX0sY2xlYXJRdWV1ZTpmdW5jdGlv
bihhKXtyZXR1cm4gdGhpcy5xdWV1ZShhfHwiZngiLFtdKX19KTt2YXIgQWE9L1tc
blx0XS9nLGNhPS9ccysvLFphPS9cci9nLCRhPS9ocmVmfHNyY3xzdHlsZS8sYWI9
LyhidXR0b258aW5wdXQpL2ksYmI9LyhidXR0b258aW5wdXR8b2JqZWN0fHNlbGVj
dHx0ZXh0YXJlYSkvaSwKY2I9L14oYXxhcmVhKSQvaSxCYT0vcmFkaW98Y2hlY2ti
b3gvO2MuZm4uZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFgodGhp
cyxhLGIsdHJ1ZSxjLmF0dHIpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEpe3JldHVy
biB0aGlzLmVhY2goZnVuY3Rpb24oKXtjLmF0dHIodGhpcyxhLCIiKTt0aGlzLm5v
ZGVUeXBlPT09MSYmdGhpcy5yZW1vdmVBdHRyaWJ1dGUoYSl9KX0sYWRkQ2xhc3M6
ZnVuY3Rpb24oYSl7aWYoYy5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2go
ZnVuY3Rpb24obil7dmFyIHI9Yyh0aGlzKTtyLmFkZENsYXNzKGEuY2FsbCh0aGlz
LG4sci5hdHRyKCJjbGFzcyIpKSl9KTtpZihhJiZ0eXBlb2YgYT09PSJzdHJpbmci
KWZvcih2YXIgYj0oYXx8IiIpLnNwbGl0KGNhKSxkPTAsZj10aGlzLmxlbmd0aDtk
PGY7ZCsrKXt2YXIgZT10aGlzW2RdO2lmKGUubm9kZVR5cGU9PT0xKWlmKGUuY2xh
c3NOYW1lKXtmb3IodmFyIGo9IiAiK2UuY2xhc3NOYW1lKyIgIiwKaT1lLmNsYXNz
TmFtZSxvPTAsaz1iLmxlbmd0aDtvPGs7bysrKWlmKGouaW5kZXhPZigiICIrYltv
XSsiICIpPDApaSs9IiAiK2Jbb107ZS5jbGFzc05hbWU9Yy50cmltKGkpfWVsc2Ug
ZS5jbGFzc05hbWU9YX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24o
YSl7aWYoYy5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24o
ayl7dmFyIG49Yyh0aGlzKTtuLnJlbW92ZUNsYXNzKGEuY2FsbCh0aGlzLGssbi5h
dHRyKCJjbGFzcyIpKSl9KTtpZihhJiZ0eXBlb2YgYT09PSJzdHJpbmcifHxhPT09
dylmb3IodmFyIGI9KGF8fCIiKS5zcGxpdChjYSksZD0wLGY9dGhpcy5sZW5ndGg7
ZDxmO2QrKyl7dmFyIGU9dGhpc1tkXTtpZihlLm5vZGVUeXBlPT09MSYmZS5jbGFz
c05hbWUpaWYoYSl7Zm9yKHZhciBqPSgiICIrZS5jbGFzc05hbWUrIiAiKS5yZXBs
YWNlKEFhLCIgIiksaT0wLG89Yi5sZW5ndGg7aTxvO2krKylqPWoucmVwbGFjZSgi
ICIrYltpXSsiICIsCiIgIik7ZS5jbGFzc05hbWU9Yy50cmltKGopfWVsc2UgZS5j
bGFzc05hbWU9IiJ9cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGEs
Yil7dmFyIGQ9dHlwZW9mIGEsZj10eXBlb2YgYj09PSJib29sZWFuIjtpZihjLmlz
RnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXt2YXIgaj1j
KHRoaXMpO2oudG9nZ2xlQ2xhc3MoYS5jYWxsKHRoaXMsZSxqLmF0dHIoImNsYXNz
IiksYiksYil9KTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoZD09PSJz
dHJpbmciKWZvcih2YXIgZSxqPTAsaT1jKHRoaXMpLG89YixrPWEuc3BsaXQoY2Ep
O2U9a1tqKytdOyl7bz1mP286IWkuaGFzQ2xhc3MoZSk7aVtvPyJhZGRDbGFzcyI6
InJlbW92ZUNsYXNzIl0oZSl9ZWxzZSBpZihkPT09InVuZGVmaW5lZCJ8fGQ9PT0i
Ym9vbGVhbiIpe3RoaXMuY2xhc3NOYW1lJiZjLmRhdGEodGhpcywiX19jbGFzc05h
bWVfXyIsdGhpcy5jbGFzc05hbWUpO3RoaXMuY2xhc3NOYW1lPQp0aGlzLmNsYXNz
TmFtZXx8YT09PWZhbHNlPyIiOmMuZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIil8
fCIifX0pfSxoYXNDbGFzczpmdW5jdGlvbihhKXthPSIgIithKyIgIjtmb3IodmFy
IGI9MCxkPXRoaXMubGVuZ3RoO2I8ZDtiKyspaWYoKCIgIit0aGlzW2JdLmNsYXNz
TmFtZSsiICIpLnJlcGxhY2UoQWEsIiAiKS5pbmRleE9mKGEpPi0xKXJldHVybiB0
cnVlO3JldHVybiBmYWxzZX0sdmFsOmZ1bmN0aW9uKGEpe2lmKGE9PT13KXt2YXIg
Yj10aGlzWzBdO2lmKGIpe2lmKGMubm9kZU5hbWUoYiwib3B0aW9uIikpcmV0dXJu
KGIuYXR0cmlidXRlcy52YWx1ZXx8e30pLnNwZWNpZmllZD9iLnZhbHVlOmIudGV4
dDtpZihjLm5vZGVOYW1lKGIsInNlbGVjdCIpKXt2YXIgZD1iLnNlbGVjdGVkSW5k
ZXgsZj1bXSxlPWIub3B0aW9ucztiPWIudHlwZT09PSJzZWxlY3Qtb25lIjtpZihk
PDApcmV0dXJuIG51bGw7dmFyIGo9Yj9kOjA7Zm9yKGQ9Yj9kKzE6ZS5sZW5ndGg7
ajxkO2orKyl7dmFyIGk9CmVbal07aWYoaS5zZWxlY3RlZCl7YT1jKGkpLnZhbCgp
O2lmKGIpcmV0dXJuIGE7Zi5wdXNoKGEpfX1yZXR1cm4gZn1pZihCYS50ZXN0KGIu
dHlwZSkmJiFjLnN1cHBvcnQuY2hlY2tPbilyZXR1cm4gYi5nZXRBdHRyaWJ1dGUo
InZhbHVlIik9PT1udWxsPyJvbiI6Yi52YWx1ZTtyZXR1cm4oYi52YWx1ZXx8IiIp
LnJlcGxhY2UoWmEsIiIpfXJldHVybiB3fXZhciBvPWMuaXNGdW5jdGlvbihhKTty
ZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGspe3ZhciBuPWModGhpcykscj1hO2lm
KHRoaXMubm9kZVR5cGU9PT0xKXtpZihvKXI9YS5jYWxsKHRoaXMsayxuLnZhbCgp
KTtpZih0eXBlb2Ygcj09PSJudW1iZXIiKXIrPSIiO2lmKGMuaXNBcnJheShyKSYm
QmEudGVzdCh0aGlzLnR5cGUpKXRoaXMuY2hlY2tlZD1jLmluQXJyYXkobi52YWwo
KSxyKT49MDtlbHNlIGlmKGMubm9kZU5hbWUodGhpcywic2VsZWN0Iikpe3ZhciB1
PWMubWFrZUFycmF5KHIpO2MoIm9wdGlvbiIsdGhpcykuZWFjaChmdW5jdGlvbigp
e3RoaXMuc2VsZWN0ZWQ9CmMuaW5BcnJheShjKHRoaXMpLnZhbCgpLHUpPj0wfSk7
aWYoIXUubGVuZ3RoKXRoaXMuc2VsZWN0ZWRJbmRleD0tMX1lbHNlIHRoaXMudmFs
dWU9cn19KX19KTtjLmV4dGVuZCh7YXR0ckZuOnt2YWw6dHJ1ZSxjc3M6dHJ1ZSxo
dG1sOnRydWUsdGV4dDp0cnVlLGRhdGE6dHJ1ZSx3aWR0aDp0cnVlLGhlaWdodDp0
cnVlLG9mZnNldDp0cnVlfSxhdHRyOmZ1bmN0aW9uKGEsYixkLGYpe2lmKCFhfHxh
Lm5vZGVUeXBlPT09M3x8YS5ub2RlVHlwZT09PTgpcmV0dXJuIHc7aWYoZiYmYiBp
biBjLmF0dHJGbilyZXR1cm4gYyhhKVtiXShkKTtmPWEubm9kZVR5cGUhPT0xfHwh
Yy5pc1hNTERvYyhhKTt2YXIgZT1kIT09dztiPWYmJmMucHJvcHNbYl18fGI7aWYo
YS5ub2RlVHlwZT09PTEpe3ZhciBqPSRhLnRlc3QoYik7aWYoYiBpbiBhJiZmJiYh
ail7aWYoZSl7Yj09PSJ0eXBlIiYmYWIudGVzdChhLm5vZGVOYW1lKSYmYS5wYXJl
bnROb2RlJiZjLmVycm9yKCJ0eXBlIHByb3BlcnR5IGNhbid0IGJlIGNoYW5nZWQi
KTsKYVtiXT1kfWlmKGMubm9kZU5hbWUoYSwiZm9ybSIpJiZhLmdldEF0dHJpYnV0
ZU5vZGUoYikpcmV0dXJuIGEuZ2V0QXR0cmlidXRlTm9kZShiKS5ub2RlVmFsdWU7
aWYoYj09PSJ0YWJJbmRleCIpcmV0dXJuKGI9YS5nZXRBdHRyaWJ1dGVOb2RlKCJ0
YWJJbmRleCIpKSYmYi5zcGVjaWZpZWQ/Yi52YWx1ZTpiYi50ZXN0KGEubm9kZU5h
bWUpfHxjYi50ZXN0KGEubm9kZU5hbWUpJiZhLmhyZWY/MDp3O3JldHVybiBhW2Jd
fWlmKCFjLnN1cHBvcnQuc3R5bGUmJmYmJmI9PT0ic3R5bGUiKXtpZihlKWEuc3R5
bGUuY3NzVGV4dD0iIitkO3JldHVybiBhLnN0eWxlLmNzc1RleHR9ZSYmYS5zZXRB
dHRyaWJ1dGUoYiwiIitkKTthPSFjLnN1cHBvcnQuaHJlZk5vcm1hbGl6ZWQmJmYm
Jmo/YS5nZXRBdHRyaWJ1dGUoYiwyKTphLmdldEF0dHJpYnV0ZShiKTtyZXR1cm4g
YT09PW51bGw/dzphfXJldHVybiBjLnN0eWxlKGEsYixkKX19KTt2YXIgTz0vXC4o
LiopJC8sZGI9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZSgvW15cd1xzXC5c
fGBdL2csCmZ1bmN0aW9uKGIpe3JldHVybiJcXCIrYn0pfTtjLmV2ZW50PXthZGQ6
ZnVuY3Rpb24oYSxiLGQsZil7aWYoIShhLm5vZGVUeXBlPT09M3x8YS5ub2RlVHlw
ZT09PTgpKXtpZihhLnNldEludGVydmFsJiZhIT09QSYmIWEuZnJhbWVFbGVtZW50
KWE9QTt2YXIgZSxqO2lmKGQuaGFuZGxlcil7ZT1kO2Q9ZS5oYW5kbGVyfWlmKCFk
Lmd1aWQpZC5ndWlkPWMuZ3VpZCsrO2lmKGo9Yy5kYXRhKGEpKXt2YXIgaT1qLmV2
ZW50cz1qLmV2ZW50c3x8e30sbz1qLmhhbmRsZTtpZighbylqLmhhbmRsZT1vPWZ1
bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBjIT09InVuZGVmaW5lZCImJiFjLmV2ZW50
LnRyaWdnZXJlZD9jLmV2ZW50LmhhbmRsZS5hcHBseShvLmVsZW0sYXJndW1lbnRz
KTp3fTtvLmVsZW09YTtiPWIuc3BsaXQoIiAiKTtmb3IodmFyIGssbj0wLHI7az1i
W24rK107KXtqPWU/Yy5leHRlbmQoe30sZSk6e2hhbmRsZXI6ZCxkYXRhOmZ9O2lm
KGsuaW5kZXhPZigiLiIpPi0xKXtyPWsuc3BsaXQoIi4iKTsKaz1yLnNoaWZ0KCk7
ai5uYW1lc3BhY2U9ci5zbGljZSgwKS5zb3J0KCkuam9pbigiLiIpfWVsc2V7cj1b
XTtqLm5hbWVzcGFjZT0iIn1qLnR5cGU9aztqLmd1aWQ9ZC5ndWlkO3ZhciB1PWlb
a10sej1jLmV2ZW50LnNwZWNpYWxba118fHt9O2lmKCF1KXt1PWlba109W107aWYo
IXouc2V0dXB8fHouc2V0dXAuY2FsbChhLGYscixvKT09PWZhbHNlKWlmKGEuYWRk
RXZlbnRMaXN0ZW5lcilhLmFkZEV2ZW50TGlzdGVuZXIoayxvLGZhbHNlKTtlbHNl
IGEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9uIitrLG8pfWlmKHouYWRk
KXt6LmFkZC5jYWxsKGEsaik7aWYoIWouaGFuZGxlci5ndWlkKWouaGFuZGxlci5n
dWlkPWQuZ3VpZH11LnB1c2goaik7Yy5ldmVudC5nbG9iYWxba109dHJ1ZX1hPW51
bGx9fX0sZ2xvYmFsOnt9LHJlbW92ZTpmdW5jdGlvbihhLGIsZCxmKXtpZighKGEu
bm9kZVR5cGU9PT0zfHxhLm5vZGVUeXBlPT09OCkpe3ZhciBlLGo9MCxpLG8sayxu
LHIsdSx6PWMuZGF0YShhKSwKQz16JiZ6LmV2ZW50cztpZih6JiZDKXtpZihiJiZi
LnR5cGUpe2Q9Yi5oYW5kbGVyO2I9Yi50eXBlfWlmKCFifHx0eXBlb2YgYj09PSJz
dHJpbmciJiZiLmNoYXJBdCgwKT09PSIuIil7Yj1ifHwiIjtmb3IoZSBpbiBDKWMu
ZXZlbnQucmVtb3ZlKGEsZStiKX1lbHNle2ZvcihiPWIuc3BsaXQoIiAiKTtlPWJb
aisrXTspe249ZTtpPWUuaW5kZXhPZigiLiIpPDA7bz1bXTtpZighaSl7bz1lLnNw
bGl0KCIuIik7ZT1vLnNoaWZ0KCk7az1uZXcgUmVnRXhwKCIoXnxcXC4pIitjLm1h
cChvLnNsaWNlKDApLnNvcnQoKSxkYikuam9pbigiXFwuKD86LipcXC4pPyIpKyIo
XFwufCQpIil9aWYocj1DW2VdKWlmKGQpe249Yy5ldmVudC5zcGVjaWFsW2VdfHx7
fTtmb3IoQj1mfHwwO0I8ci5sZW5ndGg7QisrKXt1PXJbQl07aWYoZC5ndWlkPT09
dS5ndWlkKXtpZihpfHxrLnRlc3QodS5uYW1lc3BhY2UpKXtmPT1udWxsJiZyLnNw
bGljZShCLS0sMSk7bi5yZW1vdmUmJm4ucmVtb3ZlLmNhbGwoYSx1KX1pZihmIT0K
bnVsbClicmVha319aWYoci5sZW5ndGg9PT0wfHxmIT1udWxsJiZyLmxlbmd0aD09
PTEpe2lmKCFuLnRlYXJkb3dufHxuLnRlYXJkb3duLmNhbGwoYSxvKT09PWZhbHNl
KUNhKGEsZSx6LmhhbmRsZSk7ZGVsZXRlIENbZV19fWVsc2UgZm9yKHZhciBCPTA7
QjxyLmxlbmd0aDtCKyspe3U9cltCXTtpZihpfHxrLnRlc3QodS5uYW1lc3BhY2Up
KXtjLmV2ZW50LnJlbW92ZShhLG4sdS5oYW5kbGVyLEIpO3Iuc3BsaWNlKEItLSwx
KX19fWlmKGMuaXNFbXB0eU9iamVjdChDKSl7aWYoYj16LmhhbmRsZSliLmVsZW09
bnVsbDtkZWxldGUgei5ldmVudHM7ZGVsZXRlIHouaGFuZGxlO2MuaXNFbXB0eU9i
amVjdCh6KSYmYy5yZW1vdmVEYXRhKGEpfX19fX0sdHJpZ2dlcjpmdW5jdGlvbihh
LGIsZCxmKXt2YXIgZT1hLnR5cGV8fGE7aWYoIWYpe2E9dHlwZW9mIGE9PT0ib2Jq
ZWN0Ij9hW0ddP2E6Yy5leHRlbmQoYy5FdmVudChlKSxhKTpjLkV2ZW50KGUpO2lm
KGUuaW5kZXhPZigiISIpPj0wKXthLnR5cGU9CmU9ZS5zbGljZSgwLC0xKTthLmV4
Y2x1c2l2ZT10cnVlfWlmKCFkKXthLnN0b3BQcm9wYWdhdGlvbigpO2MuZXZlbnQu
Z2xvYmFsW2VdJiZjLmVhY2goYy5jYWNoZSxmdW5jdGlvbigpe3RoaXMuZXZlbnRz
JiZ0aGlzLmV2ZW50c1tlXSYmYy5ldmVudC50cmlnZ2VyKGEsYix0aGlzLmhhbmRs
ZS5lbGVtKX0pfWlmKCFkfHxkLm5vZGVUeXBlPT09M3x8ZC5ub2RlVHlwZT09PTgp
cmV0dXJuIHc7YS5yZXN1bHQ9dzthLnRhcmdldD1kO2I9Yy5tYWtlQXJyYXkoYik7
Yi51bnNoaWZ0KGEpfWEuY3VycmVudFRhcmdldD1kOyhmPWMuZGF0YShkLCJoYW5k
bGUiKSkmJmYuYXBwbHkoZCxiKTtmPWQucGFyZW50Tm9kZXx8ZC5vd25lckRvY3Vt
ZW50O3RyeXtpZighKGQmJmQubm9kZU5hbWUmJmMubm9EYXRhW2Qubm9kZU5hbWUu
dG9Mb3dlckNhc2UoKV0pKWlmKGRbIm9uIitlXSYmZFsib24iK2VdLmFwcGx5KGQs
Yik9PT1mYWxzZSlhLnJlc3VsdD1mYWxzZX1jYXRjaChqKXt9aWYoIWEuaXNQcm9w
YWdhdGlvblN0b3BwZWQoKSYmCmYpYy5ldmVudC50cmlnZ2VyKGEsYixmLHRydWUp
O2Vsc2UgaWYoIWEuaXNEZWZhdWx0UHJldmVudGVkKCkpe2Y9YS50YXJnZXQ7dmFy
IGksbz1jLm5vZGVOYW1lKGYsImEiKSYmZT09PSJjbGljayIsaz1jLmV2ZW50LnNw
ZWNpYWxbZV18fHt9O2lmKCghay5fZGVmYXVsdHx8ay5fZGVmYXVsdC5jYWxsKGQs
YSk9PT1mYWxzZSkmJiFvJiYhKGYmJmYubm9kZU5hbWUmJmMubm9EYXRhW2Yubm9k
ZU5hbWUudG9Mb3dlckNhc2UoKV0pKXt0cnl7aWYoZltlXSl7aWYoaT1mWyJvbiIr
ZV0pZlsib24iK2VdPW51bGw7Yy5ldmVudC50cmlnZ2VyZWQ9dHJ1ZTtmW2VdKCl9
fWNhdGNoKG4pe31pZihpKWZbIm9uIitlXT1pO2MuZXZlbnQudHJpZ2dlcmVkPWZh
bHNlfX19LGhhbmRsZTpmdW5jdGlvbihhKXt2YXIgYixkLGYsZTthPWFyZ3VtZW50
c1swXT1jLmV2ZW50LmZpeChhfHxBLmV2ZW50KTthLmN1cnJlbnRUYXJnZXQ9dGhp
cztiPWEudHlwZS5pbmRleE9mKCIuIik8MCYmIWEuZXhjbHVzaXZlOwppZighYil7
ZD1hLnR5cGUuc3BsaXQoIi4iKTthLnR5cGU9ZC5zaGlmdCgpO2Y9bmV3IFJlZ0V4
cCgiKF58XFwuKSIrZC5zbGljZSgwKS5zb3J0KCkuam9pbigiXFwuKD86LipcXC4p
PyIpKyIoXFwufCQpIil9ZT1jLmRhdGEodGhpcywiZXZlbnRzIik7ZD1lW2EudHlw
ZV07aWYoZSYmZCl7ZD1kLnNsaWNlKDApO2U9MDtmb3IodmFyIGo9ZC5sZW5ndGg7
ZTxqO2UrKyl7dmFyIGk9ZFtlXTtpZihifHxmLnRlc3QoaS5uYW1lc3BhY2UpKXth
LmhhbmRsZXI9aS5oYW5kbGVyO2EuZGF0YT1pLmRhdGE7YS5oYW5kbGVPYmo9aTtp
PWkuaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk7aWYoaSE9PXcpe2EucmVz
dWx0PWk7aWYoaT09PWZhbHNlKXthLnByZXZlbnREZWZhdWx0KCk7YS5zdG9wUHJv
cGFnYXRpb24oKX19aWYoYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgp
KWJyZWFrfX19cmV0dXJuIGEucmVzdWx0fSxwcm9wczoiYWx0S2V5IGF0dHJDaGFu
Z2UgYXR0ck5hbWUgYnViYmxlcyBidXR0b24gY2FuY2VsYWJsZSBjaGFyQ29kZSBj
bGllbnRYIGNsaWVudFkgY3RybEtleSBjdXJyZW50VGFyZ2V0IGRhdGEgZGV0YWls
IGV2ZW50UGhhc2UgZnJvbUVsZW1lbnQgaGFuZGxlciBrZXlDb2RlIGxheWVyWCBs
YXllclkgbWV0YUtleSBuZXdWYWx1ZSBvZmZzZXRYIG9mZnNldFkgb3JpZ2luYWxU
YXJnZXQgcGFnZVggcGFnZVkgcHJldlZhbHVlIHJlbGF0ZWROb2RlIHJlbGF0ZWRU
YXJnZXQgc2NyZWVuWCBzY3JlZW5ZIHNoaWZ0S2V5IHNyY0VsZW1lbnQgdGFyZ2V0
IHRvRWxlbWVudCB2aWV3IHdoZWVsRGVsdGEgd2hpY2giLnNwbGl0KCIgIiksCmZp
eDpmdW5jdGlvbihhKXtpZihhW0ddKXJldHVybiBhO3ZhciBiPWE7YT1jLkV2ZW50
KGIpO2Zvcih2YXIgZD10aGlzLnByb3BzLmxlbmd0aCxmO2Q7KXtmPXRoaXMucHJv
cHNbLS1kXTthW2ZdPWJbZl19aWYoIWEudGFyZ2V0KWEudGFyZ2V0PWEuc3JjRWxl
bWVudHx8cztpZihhLnRhcmdldC5ub2RlVHlwZT09PTMpYS50YXJnZXQ9YS50YXJn
ZXQucGFyZW50Tm9kZTtpZighYS5yZWxhdGVkVGFyZ2V0JiZhLmZyb21FbGVtZW50
KWEucmVsYXRlZFRhcmdldD1hLmZyb21FbGVtZW50PT09YS50YXJnZXQ/YS50b0Vs
ZW1lbnQ6YS5mcm9tRWxlbWVudDtpZihhLnBhZ2VYPT1udWxsJiZhLmNsaWVudFgh
PW51bGwpe2I9cy5kb2N1bWVudEVsZW1lbnQ7ZD1zLmJvZHk7YS5wYWdlWD1hLmNs
aWVudFgrKGImJmIuc2Nyb2xsTGVmdHx8ZCYmZC5zY3JvbGxMZWZ0fHwwKS0oYiYm
Yi5jbGllbnRMZWZ0fHxkJiZkLmNsaWVudExlZnR8fDApO2EucGFnZVk9YS5jbGll
bnRZKyhiJiZiLnNjcm9sbFRvcHx8CmQmJmQuc2Nyb2xsVG9wfHwwKS0oYiYmYi5j
bGllbnRUb3B8fGQmJmQuY2xpZW50VG9wfHwwKX1pZighYS53aGljaCYmKGEuY2hh
ckNvZGV8fGEuY2hhckNvZGU9PT0wP2EuY2hhckNvZGU6YS5rZXlDb2RlKSlhLndo
aWNoPWEuY2hhckNvZGV8fGEua2V5Q29kZTtpZighYS5tZXRhS2V5JiZhLmN0cmxL
ZXkpYS5tZXRhS2V5PWEuY3RybEtleTtpZighYS53aGljaCYmYS5idXR0b24hPT13
KWEud2hpY2g9YS5idXR0b24mMT8xOmEuYnV0dG9uJjI/MzphLmJ1dHRvbiY0PzI6
MDtyZXR1cm4gYX0sZ3VpZDoxRTgscHJveHk6Yy5wcm94eSxzcGVjaWFsOntyZWFk
eTp7c2V0dXA6Yy5iaW5kUmVhZHksdGVhcmRvd246Yy5ub29wfSxsaXZlOnthZGQ6
ZnVuY3Rpb24oYSl7Yy5ldmVudC5hZGQodGhpcyxhLm9yaWdUeXBlLGMuZXh0ZW5k
KHt9LGEse2hhbmRsZXI6b2F9KSl9LHJlbW92ZTpmdW5jdGlvbihhKXt2YXIgYj10
cnVlLGQ9YS5vcmlnVHlwZS5yZXBsYWNlKE8sIiIpO2MuZWFjaChjLmRhdGEodGhp
cywKImV2ZW50cyIpLmxpdmV8fFtdLGZ1bmN0aW9uKCl7aWYoZD09PXRoaXMub3Jp
Z1R5cGUucmVwbGFjZShPLCIiKSlyZXR1cm4gYj1mYWxzZX0pO2ImJmMuZXZlbnQu
cmVtb3ZlKHRoaXMsYS5vcmlnVHlwZSxvYSl9fSxiZWZvcmV1bmxvYWQ6e3NldHVw
OmZ1bmN0aW9uKGEsYixkKXtpZih0aGlzLnNldEludGVydmFsKXRoaXMub25iZWZv
cmV1bmxvYWQ9ZDtyZXR1cm4gZmFsc2V9LHRlYXJkb3duOmZ1bmN0aW9uKGEsYil7
aWYodGhpcy5vbmJlZm9yZXVubG9hZD09PWIpdGhpcy5vbmJlZm9yZXVubG9hZD1u
dWxsfX19fTt2YXIgQ2E9cy5yZW1vdmVFdmVudExpc3RlbmVyP2Z1bmN0aW9uKGEs
YixkKXthLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixkLGZhbHNlKX06ZnVuY3Rpb24o
YSxiLGQpe2EuZGV0YWNoRXZlbnQoIm9uIitiLGQpfTtjLkV2ZW50PWZ1bmN0aW9u
KGEpe2lmKCF0aGlzLnByZXZlbnREZWZhdWx0KXJldHVybiBuZXcgYy5FdmVudChh
KTtpZihhJiZhLnR5cGUpe3RoaXMub3JpZ2luYWxFdmVudD0KYTt0aGlzLnR5cGU9
YS50eXBlfWVsc2UgdGhpcy50eXBlPWE7dGhpcy50aW1lU3RhbXA9SigpO3RoaXNb
R109dHJ1ZX07Yy5FdmVudC5wcm90b3R5cGU9e3ByZXZlbnREZWZhdWx0OmZ1bmN0
aW9uKCl7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9Wjt2YXIgYT10aGlzLm9yaWdp
bmFsRXZlbnQ7aWYoYSl7YS5wcmV2ZW50RGVmYXVsdCYmYS5wcmV2ZW50RGVmYXVs
dCgpO2EucmV0dXJuVmFsdWU9ZmFsc2V9fSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rp
b24oKXt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPVo7dmFyIGE9dGhpcy5vcmln
aW5hbEV2ZW50O2lmKGEpe2Euc3RvcFByb3BhZ2F0aW9uJiZhLnN0b3BQcm9wYWdh
dGlvbigpO2EuY2FuY2VsQnViYmxlPXRydWV9fSxzdG9wSW1tZWRpYXRlUHJvcGFn
YXRpb246ZnVuY3Rpb24oKXt0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9w
cGVkPVo7dGhpcy5zdG9wUHJvcGFnYXRpb24oKX0saXNEZWZhdWx0UHJldmVudGVk
OlksaXNQcm9wYWdhdGlvblN0b3BwZWQ6WSwKaXNJbW1lZGlhdGVQcm9wYWdhdGlv
blN0b3BwZWQ6WX07dmFyIERhPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVsYXRlZFRh
cmdldDt0cnl7Zm9yKDtiJiZiIT09dGhpczspYj1iLnBhcmVudE5vZGU7aWYoYiE9
PXRoaXMpe2EudHlwZT1hLmRhdGE7Yy5ldmVudC5oYW5kbGUuYXBwbHkodGhpcyxh
cmd1bWVudHMpfX1jYXRjaChkKXt9fSxFYT1mdW5jdGlvbihhKXthLnR5cGU9YS5k
YXRhO2MuZXZlbnQuaGFuZGxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07Yy5lYWNo
KHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In0s
ZnVuY3Rpb24oYSxiKXtjLmV2ZW50LnNwZWNpYWxbYV09e3NldHVwOmZ1bmN0aW9u
KGQpe2MuZXZlbnQuYWRkKHRoaXMsYixkJiZkLnNlbGVjdG9yP0VhOkRhLGEpfSx0
ZWFyZG93bjpmdW5jdGlvbihkKXtjLmV2ZW50LnJlbW92ZSh0aGlzLGIsZCYmZC5z
ZWxlY3Rvcj9FYTpEYSl9fX0pO2lmKCFjLnN1cHBvcnQuc3VibWl0QnViYmxlcylj
LmV2ZW50LnNwZWNpYWwuc3VibWl0PQp7c2V0dXA6ZnVuY3Rpb24oKXtpZih0aGlz
Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT0iZm9ybSIpe2MuZXZlbnQuYWRkKHRo
aXMsImNsaWNrLnNwZWNpYWxTdWJtaXQiLGZ1bmN0aW9uKGEpe3ZhciBiPWEudGFy
Z2V0LGQ9Yi50eXBlO2lmKChkPT09InN1Ym1pdCJ8fGQ9PT0iaW1hZ2UiKSYmYyhi
KS5jbG9zZXN0KCJmb3JtIikubGVuZ3RoKXJldHVybiBuYSgic3VibWl0Iix0aGlz
LGFyZ3VtZW50cyl9KTtjLmV2ZW50LmFkZCh0aGlzLCJrZXlwcmVzcy5zcGVjaWFs
U3VibWl0IixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldCxkPWIudHlwZTtpZigo
ZD09PSJ0ZXh0Inx8ZD09PSJwYXNzd29yZCIpJiZjKGIpLmNsb3Nlc3QoImZvcm0i
KS5sZW5ndGgmJmEua2V5Q29kZT09PTEzKXJldHVybiBuYSgic3VibWl0Iix0aGlz
LGFyZ3VtZW50cyl9KX1lbHNlIHJldHVybiBmYWxzZX0sdGVhcmRvd246ZnVuY3Rp
b24oKXtjLmV2ZW50LnJlbW92ZSh0aGlzLCIuc3BlY2lhbFN1Ym1pdCIpfX07Cmlm
KCFjLnN1cHBvcnQuY2hhbmdlQnViYmxlcyl7dmFyIGRhPS90ZXh0YXJlYXxpbnB1
dHxzZWxlY3QvaSxlYSxGYT1mdW5jdGlvbihhKXt2YXIgYj1hLnR5cGUsZD1hLnZh
bHVlO2lmKGI9PT0icmFkaW8ifHxiPT09ImNoZWNrYm94IilkPWEuY2hlY2tlZDtl
bHNlIGlmKGI9PT0ic2VsZWN0LW11bHRpcGxlIilkPWEuc2VsZWN0ZWRJbmRleD4t
MT9jLm1hcChhLm9wdGlvbnMsZnVuY3Rpb24oZil7cmV0dXJuIGYuc2VsZWN0ZWR9
KS5qb2luKCItIik6IiI7ZWxzZSBpZihhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9
PT0ic2VsZWN0IilkPWEuc2VsZWN0ZWRJbmRleDtyZXR1cm4gZH0sZmE9ZnVuY3Rp
b24oYSxiKXt2YXIgZD1hLnRhcmdldCxmLGU7aWYoISghZGEudGVzdChkLm5vZGVO
YW1lKXx8ZC5yZWFkT25seSkpe2Y9Yy5kYXRhKGQsIl9jaGFuZ2VfZGF0YSIpO2U9
RmEoZCk7aWYoYS50eXBlIT09ImZvY3Vzb3V0Inx8ZC50eXBlIT09InJhZGlvIilj
LmRhdGEoZCwiX2NoYW5nZV9kYXRhIiwKZSk7aWYoIShmPT09d3x8ZT09PWYpKWlm
KGYhPW51bGx8fGUpe2EudHlwZT0iY2hhbmdlIjtyZXR1cm4gYy5ldmVudC50cmln
Z2VyKGEsYixkKX19fTtjLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtmaWx0ZXJzOntm
b2N1c291dDpmYSxjbGljazpmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldCxkPWIu
dHlwZTtpZihkPT09InJhZGlvInx8ZD09PSJjaGVja2JveCJ8fGIubm9kZU5hbWUu
dG9Mb3dlckNhc2UoKT09PSJzZWxlY3QiKXJldHVybiBmYS5jYWxsKHRoaXMsYSl9
LGtleWRvd246ZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsZD1iLnR5cGU7aWYo
YS5rZXlDb2RlPT09MTMmJmIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9PSJ0ZXh0
YXJlYSJ8fGEua2V5Q29kZT09PTMyJiYoZD09PSJjaGVja2JveCJ8fGQ9PT0icmFk
aW8iKXx8ZD09PSJzZWxlY3QtbXVsdGlwbGUiKXJldHVybiBmYS5jYWxsKHRoaXMs
YSl9LGJlZm9yZWFjdGl2YXRlOmZ1bmN0aW9uKGEpe2E9YS50YXJnZXQ7Yy5kYXRh
KGEsCiJfY2hhbmdlX2RhdGEiLEZhKGEpKX19LHNldHVwOmZ1bmN0aW9uKCl7aWYo
dGhpcy50eXBlPT09ImZpbGUiKXJldHVybiBmYWxzZTtmb3IodmFyIGEgaW4gZWEp
Yy5ldmVudC5hZGQodGhpcyxhKyIuc3BlY2lhbENoYW5nZSIsZWFbYV0pO3JldHVy
biBkYS50ZXN0KHRoaXMubm9kZU5hbWUpfSx0ZWFyZG93bjpmdW5jdGlvbigpe2Mu
ZXZlbnQucmVtb3ZlKHRoaXMsIi5zcGVjaWFsQ2hhbmdlIik7cmV0dXJuIGRhLnRl
c3QodGhpcy5ub2RlTmFtZSl9fTtlYT1jLmV2ZW50LnNwZWNpYWwuY2hhbmdlLmZp
bHRlcnN9cy5hZGRFdmVudExpc3RlbmVyJiZjLmVhY2goe2ZvY3VzOiJmb2N1c2lu
IixibHVyOiJmb2N1c291dCJ9LGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gZChmKXtm
PWMuZXZlbnQuZml4KGYpO2YudHlwZT1iO3JldHVybiBjLmV2ZW50LmhhbmRsZS5j
YWxsKHRoaXMsZil9Yy5ldmVudC5zcGVjaWFsW2JdPXtzZXR1cDpmdW5jdGlvbigp
e3RoaXMuYWRkRXZlbnRMaXN0ZW5lcihhLApkLHRydWUpfSx0ZWFyZG93bjpmdW5j
dGlvbigpe3RoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGQsdHJ1ZSl9fX0pO2Mu
ZWFjaChbImJpbmQiLCJvbmUiXSxmdW5jdGlvbihhLGIpe2MuZm5bYl09ZnVuY3Rp
b24oZCxmLGUpe2lmKHR5cGVvZiBkPT09Im9iamVjdCIpe2Zvcih2YXIgaiBpbiBk
KXRoaXNbYl0oaixmLGRbal0sZSk7cmV0dXJuIHRoaXN9aWYoYy5pc0Z1bmN0aW9u
KGYpKXtlPWY7Zj13fXZhciBpPWI9PT0ib25lIj9jLnByb3h5KGUsZnVuY3Rpb24o
ayl7Yyh0aGlzKS51bmJpbmQoayxpKTtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3Vt
ZW50cyl9KTplO2lmKGQ9PT0idW5sb2FkIiYmYiE9PSJvbmUiKXRoaXMub25lKGQs
ZixlKTtlbHNle2o9MDtmb3IodmFyIG89dGhpcy5sZW5ndGg7ajxvO2orKyljLmV2
ZW50LmFkZCh0aGlzW2pdLGQsaSxmKX1yZXR1cm4gdGhpc319KTtjLmZuLmV4dGVu
ZCh7dW5iaW5kOmZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGE9PT0ib2JqZWN0IiYm
CiFhLnByZXZlbnREZWZhdWx0KWZvcih2YXIgZCBpbiBhKXRoaXMudW5iaW5kKGQs
YVtkXSk7ZWxzZXtkPTA7Zm9yKHZhciBmPXRoaXMubGVuZ3RoO2Q8ZjtkKyspYy5l
dmVudC5yZW1vdmUodGhpc1tkXSxhLGIpfXJldHVybiB0aGlzfSxkZWxlZ2F0ZTpm
dW5jdGlvbihhLGIsZCxmKXtyZXR1cm4gdGhpcy5saXZlKGIsZCxmLGEpfSx1bmRl
bGVnYXRlOmZ1bmN0aW9uKGEsYixkKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD09
PTA/dGhpcy51bmJpbmQoImxpdmUiKTp0aGlzLmRpZShiLG51bGwsZCxhKX0sdHJp
Z2dlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtj
LmV2ZW50LnRyaWdnZXIoYSxiLHRoaXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0
aW9uKGEsYil7aWYodGhpc1swXSl7YT1jLkV2ZW50KGEpO2EucHJldmVudERlZmF1
bHQoKTthLnN0b3BQcm9wYWdhdGlvbigpO2MuZXZlbnQudHJpZ2dlcihhLGIsdGhp
c1swXSk7cmV0dXJuIGEucmVzdWx0fX0sCnRvZ2dsZTpmdW5jdGlvbihhKXtmb3Io
dmFyIGI9YXJndW1lbnRzLGQ9MTtkPGIubGVuZ3RoOyljLnByb3h5KGEsYltkKytd
KTtyZXR1cm4gdGhpcy5jbGljayhjLnByb3h5KGEsZnVuY3Rpb24oZil7dmFyIGU9
KGMuZGF0YSh0aGlzLCJsYXN0VG9nZ2xlIithLmd1aWQpfHwwKSVkO2MuZGF0YSh0
aGlzLCJsYXN0VG9nZ2xlIithLmd1aWQsZSsxKTtmLnByZXZlbnREZWZhdWx0KCk7
cmV0dXJuIGJbZV0uYXBwbHkodGhpcyxhcmd1bWVudHMpfHxmYWxzZX0pKX0saG92
ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGEpLm1vdXNl
bGVhdmUoYnx8YSl9fSk7dmFyIEdhPXtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9j
dXNvdXQiLG1vdXNlZW50ZXI6Im1vdXNlb3ZlciIsbW91c2VsZWF2ZToibW91c2Vv
dXQifTtjLmVhY2goWyJsaXZlIiwiZGllIl0sZnVuY3Rpb24oYSxiKXtjLmZuW2Jd
PWZ1bmN0aW9uKGQsZixlLGope3ZhciBpLG89MCxrLG4scj1qfHx0aGlzLnNlbGVj
dG9yLAp1PWo/dGhpczpjKHRoaXMuY29udGV4dCk7aWYoYy5pc0Z1bmN0aW9uKGYp
KXtlPWY7Zj13fWZvcihkPShkfHwiIikuc3BsaXQoIiAiKTsoaT1kW28rK10pIT1u
dWxsOyl7aj1PLmV4ZWMoaSk7az0iIjtpZihqKXtrPWpbMF07aT1pLnJlcGxhY2Uo
TywiIil9aWYoaT09PSJob3ZlciIpZC5wdXNoKCJtb3VzZWVudGVyIitrLCJtb3Vz
ZWxlYXZlIitrKTtlbHNle249aTtpZihpPT09ImZvY3VzInx8aT09PSJibHVyIil7
ZC5wdXNoKEdhW2ldK2spO2krPWt9ZWxzZSBpPShHYVtpXXx8aSkraztiPT09Imxp
dmUiP3UuZWFjaChmdW5jdGlvbigpe2MuZXZlbnQuYWRkKHRoaXMscGEoaSxyKSx7
ZGF0YTpmLHNlbGVjdG9yOnIsaGFuZGxlcjplLG9yaWdUeXBlOmksb3JpZ0hhbmRs
ZXI6ZSxwcmVUeXBlOm59KX0pOnUudW5iaW5kKHBhKGksciksZSl9fXJldHVybiB0
aGlzfX0pO2MuZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IGxvYWQg
cmVzaXplIHNjcm9sbCB1bmxvYWQgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1v
dXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1v
dXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBr
ZXl1cCBlcnJvciIuc3BsaXQoIiAiKSwKZnVuY3Rpb24oYSxiKXtjLmZuW2JdPWZ1
bmN0aW9uKGQpe3JldHVybiBkP3RoaXMuYmluZChiLGQpOnRoaXMudHJpZ2dlcihi
KX07aWYoYy5hdHRyRm4pYy5hdHRyRm5bYl09dHJ1ZX0pO0EuYXR0YWNoRXZlbnQm
JiFBLmFkZEV2ZW50TGlzdGVuZXImJkEuYXR0YWNoRXZlbnQoIm9udW5sb2FkIixm
dW5jdGlvbigpe2Zvcih2YXIgYSBpbiBjLmNhY2hlKWlmKGMuY2FjaGVbYV0uaGFu
ZGxlKXRyeXtjLmV2ZW50LnJlbW92ZShjLmNhY2hlW2FdLmhhbmRsZS5lbGVtKX1j
YXRjaChiKXt9fSk7KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShnKXtmb3IodmFyIGg9
IiIsbCxtPTA7Z1ttXTttKyspe2w9Z1ttXTtpZihsLm5vZGVUeXBlPT09M3x8bC5u
b2RlVHlwZT09PTQpaCs9bC5ub2RlVmFsdWU7ZWxzZSBpZihsLm5vZGVUeXBlIT09
OCloKz1hKGwuY2hpbGROb2Rlcyl9cmV0dXJuIGh9ZnVuY3Rpb24gYihnLGgsbCxt
LHEscCl7cT0wO2Zvcih2YXIgdj1tLmxlbmd0aDtxPHY7cSsrKXt2YXIgdD1tW3Fd
OwppZih0KXt0PXRbZ107Zm9yKHZhciB5PWZhbHNlO3Q7KXtpZih0LnNpemNhY2hl
PT09bCl7eT1tW3Quc2l6c2V0XTticmVha31pZih0Lm5vZGVUeXBlPT09MSYmIXAp
e3Quc2l6Y2FjaGU9bDt0LnNpenNldD1xfWlmKHQubm9kZU5hbWUudG9Mb3dlckNh
c2UoKT09PWgpe3k9dDticmVha310PXRbZ119bVtxXT15fX19ZnVuY3Rpb24gZChn
LGgsbCxtLHEscCl7cT0wO2Zvcih2YXIgdj1tLmxlbmd0aDtxPHY7cSsrKXt2YXIg
dD1tW3FdO2lmKHQpe3Q9dFtnXTtmb3IodmFyIHk9ZmFsc2U7dDspe2lmKHQuc2l6
Y2FjaGU9PT1sKXt5PW1bdC5zaXpzZXRdO2JyZWFrfWlmKHQubm9kZVR5cGU9PT0x
KXtpZighcCl7dC5zaXpjYWNoZT1sO3Quc2l6c2V0PXF9aWYodHlwZW9mIGghPT0i
c3RyaW5nIil7aWYodD09PWgpe3k9dHJ1ZTticmVha319ZWxzZSBpZihrLmZpbHRl
cihoLFt0XSkubGVuZ3RoPjApe3k9dDticmVha319dD10W2ddfW1bcV09eX19fXZh
ciBmPS8oKD86XCgoPzpcKFteKCldK1wpfFteKCldKykrXCl8XFsoPzpcW1teW1xd
XSpcXXxbJyJdW14nIl0qWyciXXxbXltcXSciXSspK1xdfFxcLnxbXiA+K34sKFxb
XFxdKykrfFs+K35dKShccyosXHMqKT8oKD86LnxccnxcbikqKS9nLAplPTAsaj1P
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGk9ZmFsc2Usbz10cnVlO1swLDBdLnNv
cnQoZnVuY3Rpb24oKXtvPWZhbHNlO3JldHVybiAwfSk7dmFyIGs9ZnVuY3Rpb24o
ZyxoLGwsbSl7bD1sfHxbXTt2YXIgcT1oPWh8fHM7aWYoaC5ub2RlVHlwZSE9PTEm
Jmgubm9kZVR5cGUhPT05KXJldHVybltdO2lmKCFnfHx0eXBlb2YgZyE9PSJzdHJp
bmciKXJldHVybiBsO2Zvcih2YXIgcD1bXSx2LHQseSxTLEg9dHJ1ZSxNPXgoaCks
ST1nOyhmLmV4ZWMoIiIpLHY9Zi5leGVjKEkpKSE9PW51bGw7KXtJPXZbM107cC5w
dXNoKHZbMV0pO2lmKHZbMl0pe1M9dlszXTticmVha319aWYocC5sZW5ndGg+MSYm
ci5leGVjKGcpKWlmKHAubGVuZ3RoPT09MiYmbi5yZWxhdGl2ZVtwWzBdXSl0PWdh
KHBbMF0rcFsxXSxoKTtlbHNlIGZvcih0PW4ucmVsYXRpdmVbcFswXV0/W2hdOmso
cC5zaGlmdCgpLGgpO3AubGVuZ3RoOyl7Zz1wLnNoaWZ0KCk7aWYobi5yZWxhdGl2
ZVtnXSlnKz1wLnNoaWZ0KCk7CnQ9Z2EoZyx0KX1lbHNle2lmKCFtJiZwLmxlbmd0
aD4xJiZoLm5vZGVUeXBlPT09OSYmIU0mJm4ubWF0Y2guSUQudGVzdChwWzBdKSYm
IW4ubWF0Y2guSUQudGVzdChwW3AubGVuZ3RoLTFdKSl7dj1rLmZpbmQocC5zaGlm
dCgpLGgsTSk7aD12LmV4cHI/ay5maWx0ZXIodi5leHByLHYuc2V0KVswXTp2LnNl
dFswXX1pZihoKXt2PW0/e2V4cHI6cC5wb3AoKSxzZXQ6eihtKX06ay5maW5kKHAu
cG9wKCkscC5sZW5ndGg9PT0xJiYocFswXT09PSJ+Inx8cFswXT09PSIrIikmJmgu
cGFyZW50Tm9kZT9oLnBhcmVudE5vZGU6aCxNKTt0PXYuZXhwcj9rLmZpbHRlcih2
LmV4cHIsdi5zZXQpOnYuc2V0O2lmKHAubGVuZ3RoPjApeT16KHQpO2Vsc2UgSD1m
YWxzZTtmb3IoO3AubGVuZ3RoOyl7dmFyIEQ9cC5wb3AoKTt2PUQ7aWYobi5yZWxh
dGl2ZVtEXSl2PXAucG9wKCk7ZWxzZSBEPSIiO2lmKHY9PW51bGwpdj1oO24ucmVs
YXRpdmVbRF0oeSx2LE0pfX1lbHNlIHk9W119eXx8KHk9dCk7eXx8ay5lcnJvcihE
fHwKZyk7aWYoai5jYWxsKHkpPT09IltvYmplY3QgQXJyYXldIilpZihIKWlmKGgm
Jmgubm9kZVR5cGU9PT0xKWZvcihnPTA7eVtnXSE9bnVsbDtnKyspe2lmKHlbZ10m
Jih5W2ddPT09dHJ1ZXx8eVtnXS5ub2RlVHlwZT09PTEmJkUoaCx5W2ddKSkpbC5w
dXNoKHRbZ10pfWVsc2UgZm9yKGc9MDt5W2ddIT1udWxsO2crKyl5W2ddJiZ5W2dd
Lm5vZGVUeXBlPT09MSYmbC5wdXNoKHRbZ10pO2Vsc2UgbC5wdXNoLmFwcGx5KGws
eSk7ZWxzZSB6KHksbCk7aWYoUyl7ayhTLHEsbCxtKTtrLnVuaXF1ZVNvcnQobCl9
cmV0dXJuIGx9O2sudW5pcXVlU29ydD1mdW5jdGlvbihnKXtpZihCKXtpPW87Zy5z
b3J0KEIpO2lmKGkpZm9yKHZhciBoPTE7aDxnLmxlbmd0aDtoKyspZ1toXT09PWdb
aC0xXSYmZy5zcGxpY2UoaC0tLDEpfXJldHVybiBnfTtrLm1hdGNoZXM9ZnVuY3Rp
b24oZyxoKXtyZXR1cm4gayhnLG51bGwsbnVsbCxoKX07ay5maW5kPWZ1bmN0aW9u
KGcsaCxsKXt2YXIgbSxxO2lmKCFnKXJldHVybltdOwpmb3IodmFyIHA9MCx2PW4u
b3JkZXIubGVuZ3RoO3A8djtwKyspe3ZhciB0PW4ub3JkZXJbcF07aWYocT1uLmxl
ZnRNYXRjaFt0XS5leGVjKGcpKXt2YXIgeT1xWzFdO3Euc3BsaWNlKDEsMSk7aWYo
eS5zdWJzdHIoeS5sZW5ndGgtMSkhPT0iXFwiKXtxWzFdPShxWzFdfHwiIikucmVw
bGFjZSgvXFwvZywiIik7bT1uLmZpbmRbdF0ocSxoLGwpO2lmKG0hPW51bGwpe2c9
Zy5yZXBsYWNlKG4ubWF0Y2hbdF0sIiIpO2JyZWFrfX19fW18fChtPWguZ2V0RWxl
bWVudHNCeVRhZ05hbWUoIioiKSk7cmV0dXJue3NldDptLGV4cHI6Z319O2suZmls
dGVyPWZ1bmN0aW9uKGcsaCxsLG0pe2Zvcih2YXIgcT1nLHA9W10sdj1oLHQseSxT
PWgmJmhbMF0mJngoaFswXSk7ZyYmaC5sZW5ndGg7KXtmb3IodmFyIEggaW4gbi5m
aWx0ZXIpaWYoKHQ9bi5sZWZ0TWF0Y2hbSF0uZXhlYyhnKSkhPW51bGwmJnRbMl0p
e3ZhciBNPW4uZmlsdGVyW0hdLEksRDtEPXRbMV07eT1mYWxzZTt0LnNwbGljZSgx
LDEpO2lmKEQuc3Vic3RyKEQubGVuZ3RoLQoxKSE9PSJcXCIpe2lmKHY9PT1wKXA9
W107aWYobi5wcmVGaWx0ZXJbSF0paWYodD1uLnByZUZpbHRlcltIXSh0LHYsbCxw
LG0sUykpe2lmKHQ9PT10cnVlKWNvbnRpbnVlfWVsc2UgeT1JPXRydWU7aWYodClm
b3IodmFyIFU9MDsoRD12W1VdKSE9bnVsbDtVKyspaWYoRCl7ST1NKEQsdCxVLHYp
O3ZhciBIYT1tXiEhSTtpZihsJiZJIT1udWxsKWlmKEhhKXk9dHJ1ZTtlbHNlIHZb
VV09ZmFsc2U7ZWxzZSBpZihIYSl7cC5wdXNoKEQpO3k9dHJ1ZX19aWYoSSE9PXcp
e2x8fCh2PXApO2c9Zy5yZXBsYWNlKG4ubWF0Y2hbSF0sIiIpO2lmKCF5KXJldHVy
bltdO2JyZWFrfX19aWYoZz09PXEpaWYoeT09bnVsbClrLmVycm9yKGcpO2Vsc2Ug
YnJlYWs7cT1nfXJldHVybiB2fTtrLmVycm9yPWZ1bmN0aW9uKGcpe3Rocm93IlN5
bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrZzt9O3ZhciBu
PWsuc2VsZWN0b3JzPXtvcmRlcjpbIklEIiwiTkFNRSIsIlRBRyJdLG1hdGNoOntJ
RDovIygoPzpbXHdcdTAwYzAtXHVGRkZGLV18XFwuKSspLywKQ0xBU1M6L1wuKCg/
Oltcd1x1MDBjMC1cdUZGRkYtXXxcXC4pKykvLE5BTUU6L1xbbmFtZT1bJyJdKigo
PzpbXHdcdTAwYzAtXHVGRkZGLV18XFwuKSspWyciXSpcXS8sQVRUUjovXFtccyoo
KD86W1x3XHUwMGMwLVx1RkZGRi1dfFxcLikrKVxzKig/OihcUz89KVxzKihbJyJd
KikoLio/KVwzfClccypcXS8sVEFHOi9eKCg/Oltcd1x1MDBjMC1cdUZGRkZcKi1d
fFxcLikrKS8sQ0hJTEQ6Lzoob25seXxudGh8bGFzdHxmaXJzdCktY2hpbGQoPzpc
KChldmVufG9kZHxbXGRuKy1dKilcKSk/LyxQT1M6LzoobnRofGVxfGd0fGx0fGZp
cnN0fGxhc3R8ZXZlbnxvZGQpKD86XCgoXGQqKVwpKT8oPz1bXi1dfCQpLyxQU0VV
RE86LzooKD86W1x3XHUwMGMwLVx1RkZGRi1dfFxcLikrKSg/OlwoKFsnIl0/KSgo
PzpcKFteXCldK1wpfFteXChcKV0qKSspXDJcKSk/L30sbGVmdE1hdGNoOnt9LGF0
dHJNYXA6eyJjbGFzcyI6ImNsYXNzTmFtZSIsImZvciI6Imh0bWxGb3IifSxhdHRy
SGFuZGxlOntocmVmOmZ1bmN0aW9uKGcpe3JldHVybiBnLmdldEF0dHJpYnV0ZSgi
aHJlZiIpfX0sCnJlbGF0aXZlOnsiKyI6ZnVuY3Rpb24oZyxoKXt2YXIgbD10eXBl
b2YgaD09PSJzdHJpbmciLG09bCYmIS9cVy8udGVzdChoKTtsPWwmJiFtO2lmKG0p
aD1oLnRvTG93ZXJDYXNlKCk7bT0wO2Zvcih2YXIgcT1nLmxlbmd0aCxwO208cTtt
KyspaWYocD1nW21dKXtmb3IoOyhwPXAucHJldmlvdXNTaWJsaW5nKSYmcC5ub2Rl
VHlwZSE9PTE7KTtnW21dPWx8fHAmJnAubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09
PWg/cHx8ZmFsc2U6cD09PWh9bCYmay5maWx0ZXIoaCxnLHRydWUpfSwiPiI6ZnVu
Y3Rpb24oZyxoKXt2YXIgbD10eXBlb2YgaD09PSJzdHJpbmciO2lmKGwmJiEvXFcv
LnRlc3QoaCkpe2g9aC50b0xvd2VyQ2FzZSgpO2Zvcih2YXIgbT0wLHE9Zy5sZW5n
dGg7bTxxO20rKyl7dmFyIHA9Z1ttXTtpZihwKXtsPXAucGFyZW50Tm9kZTtnW21d
PWwubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWg/bDpmYWxzZX19fWVsc2V7bT0w
O2ZvcihxPWcubGVuZ3RoO208cTttKyspaWYocD1nW21dKWdbbV09Cmw/cC5wYXJl
bnROb2RlOnAucGFyZW50Tm9kZT09PWg7bCYmay5maWx0ZXIoaCxnLHRydWUpfX0s
IiI6ZnVuY3Rpb24oZyxoLGwpe3ZhciBtPWUrKyxxPWQ7aWYodHlwZW9mIGg9PT0i
c3RyaW5nIiYmIS9cVy8udGVzdChoKSl7dmFyIHA9aD1oLnRvTG93ZXJDYXNlKCk7
cT1ifXEoInBhcmVudE5vZGUiLGgsbSxnLHAsbCl9LCJ+IjpmdW5jdGlvbihnLGgs
bCl7dmFyIG09ZSsrLHE9ZDtpZih0eXBlb2YgaD09PSJzdHJpbmciJiYhL1xXLy50
ZXN0KGgpKXt2YXIgcD1oPWgudG9Mb3dlckNhc2UoKTtxPWJ9cSgicHJldmlvdXNT
aWJsaW5nIixoLG0sZyxwLGwpfX0sZmluZDp7SUQ6ZnVuY3Rpb24oZyxoLGwpe2lm
KHR5cGVvZiBoLmdldEVsZW1lbnRCeUlkIT09InVuZGVmaW5lZCImJiFsKXJldHVy
bihnPWguZ2V0RWxlbWVudEJ5SWQoZ1sxXSkpP1tnXTpbXX0sTkFNRTpmdW5jdGlv
bihnLGgpe2lmKHR5cGVvZiBoLmdldEVsZW1lbnRzQnlOYW1lIT09InVuZGVmaW5l
ZCIpe3ZhciBsPVtdOwpoPWguZ2V0RWxlbWVudHNCeU5hbWUoZ1sxXSk7Zm9yKHZh
ciBtPTAscT1oLmxlbmd0aDttPHE7bSsrKWhbbV0uZ2V0QXR0cmlidXRlKCJuYW1l
Iik9PT1nWzFdJiZsLnB1c2goaFttXSk7cmV0dXJuIGwubGVuZ3RoPT09MD9udWxs
Omx9fSxUQUc6ZnVuY3Rpb24oZyxoKXtyZXR1cm4gaC5nZXRFbGVtZW50c0J5VGFn
TmFtZShnWzFdKX19LHByZUZpbHRlcjp7Q0xBU1M6ZnVuY3Rpb24oZyxoLGwsbSxx
LHApe2c9IiAiK2dbMV0ucmVwbGFjZSgvXFwvZywiIikrIiAiO2lmKHApcmV0dXJu
IGc7cD0wO2Zvcih2YXIgdjsodj1oW3BdKSE9bnVsbDtwKyspaWYodilpZihxXih2
LmNsYXNzTmFtZSYmKCIgIit2LmNsYXNzTmFtZSsiICIpLnJlcGxhY2UoL1tcdFxu
XS9nLCIgIikuaW5kZXhPZihnKT49MCkpbHx8bS5wdXNoKHYpO2Vsc2UgaWYobClo
W3BdPWZhbHNlO3JldHVybiBmYWxzZX0sSUQ6ZnVuY3Rpb24oZyl7cmV0dXJuIGdb
MV0ucmVwbGFjZSgvXFwvZywiIil9LFRBRzpmdW5jdGlvbihnKXtyZXR1cm4gZ1sx
XS50b0xvd2VyQ2FzZSgpfSwKQ0hJTEQ6ZnVuY3Rpb24oZyl7aWYoZ1sxXT09PSJu
dGgiKXt2YXIgaD0vKC0/KShcZCopbigoPzpcK3wtKT9cZCopLy5leGVjKGdbMl09
PT0iZXZlbiImJiIybiJ8fGdbMl09PT0ib2RkIiYmIjJuKzEifHwhL1xELy50ZXN0
KGdbMl0pJiYiMG4rIitnWzJdfHxnWzJdKTtnWzJdPWhbMV0rKGhbMl18fDEpLTA7
Z1szXT1oWzNdLTB9Z1swXT1lKys7cmV0dXJuIGd9LEFUVFI6ZnVuY3Rpb24oZyxo
LGwsbSxxLHApe2g9Z1sxXS5yZXBsYWNlKC9cXC9nLCIiKTtpZighcCYmbi5hdHRy
TWFwW2hdKWdbMV09bi5hdHRyTWFwW2hdO2lmKGdbMl09PT0ifj0iKWdbNF09IiAi
K2dbNF0rIiAiO3JldHVybiBnfSxQU0VVRE86ZnVuY3Rpb24oZyxoLGwsbSxxKXtp
ZihnWzFdPT09Im5vdCIpaWYoKGYuZXhlYyhnWzNdKXx8IiIpLmxlbmd0aD4xfHwv
Xlx3Ly50ZXN0KGdbM10pKWdbM109ayhnWzNdLG51bGwsbnVsbCxoKTtlbHNle2c9
ay5maWx0ZXIoZ1szXSxoLGwsdHJ1ZV5xKTtsfHxtLnB1c2guYXBwbHkobSwKZyk7
cmV0dXJuIGZhbHNlfWVsc2UgaWYobi5tYXRjaC5QT1MudGVzdChnWzBdKXx8bi5t
YXRjaC5DSElMRC50ZXN0KGdbMF0pKXJldHVybiB0cnVlO3JldHVybiBnfSxQT1M6
ZnVuY3Rpb24oZyl7Zy51bnNoaWZ0KHRydWUpO3JldHVybiBnfX0sZmlsdGVyczp7
ZW5hYmxlZDpmdW5jdGlvbihnKXtyZXR1cm4gZy5kaXNhYmxlZD09PWZhbHNlJiZn
LnR5cGUhPT0iaGlkZGVuIn0sZGlzYWJsZWQ6ZnVuY3Rpb24oZyl7cmV0dXJuIGcu
ZGlzYWJsZWQ9PT10cnVlfSxjaGVja2VkOmZ1bmN0aW9uKGcpe3JldHVybiBnLmNo
ZWNrZWQ9PT10cnVlfSxzZWxlY3RlZDpmdW5jdGlvbihnKXtyZXR1cm4gZy5zZWxl
Y3RlZD09PXRydWV9LHBhcmVudDpmdW5jdGlvbihnKXtyZXR1cm4hIWcuZmlyc3RD
aGlsZH0sZW1wdHk6ZnVuY3Rpb24oZyl7cmV0dXJuIWcuZmlyc3RDaGlsZH0saGFz
OmZ1bmN0aW9uKGcsaCxsKXtyZXR1cm4hIWsobFszXSxnKS5sZW5ndGh9LGhlYWRl
cjpmdW5jdGlvbihnKXtyZXR1cm4vaFxkL2kudGVzdChnLm5vZGVOYW1lKX0sCnRl
eHQ6ZnVuY3Rpb24oZyl7cmV0dXJuInRleHQiPT09Zy50eXBlfSxyYWRpbzpmdW5j
dGlvbihnKXtyZXR1cm4icmFkaW8iPT09Zy50eXBlfSxjaGVja2JveDpmdW5jdGlv
bihnKXtyZXR1cm4iY2hlY2tib3giPT09Zy50eXBlfSxmaWxlOmZ1bmN0aW9uKGcp
e3JldHVybiJmaWxlIj09PWcudHlwZX0scGFzc3dvcmQ6ZnVuY3Rpb24oZyl7cmV0
dXJuInBhc3N3b3JkIj09PWcudHlwZX0sc3VibWl0OmZ1bmN0aW9uKGcpe3JldHVy
biJzdWJtaXQiPT09Zy50eXBlfSxpbWFnZTpmdW5jdGlvbihnKXtyZXR1cm4iaW1h
Z2UiPT09Zy50eXBlfSxyZXNldDpmdW5jdGlvbihnKXtyZXR1cm4icmVzZXQiPT09
Zy50eXBlfSxidXR0b246ZnVuY3Rpb24oZyl7cmV0dXJuImJ1dHRvbiI9PT1nLnR5
cGV8fGcubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PSJidXR0b24ifSxpbnB1dDpm
dW5jdGlvbihnKXtyZXR1cm4vaW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbi9p
LnRlc3QoZy5ub2RlTmFtZSl9fSwKc2V0RmlsdGVyczp7Zmlyc3Q6ZnVuY3Rpb24o
ZyxoKXtyZXR1cm4gaD09PTB9LGxhc3Q6ZnVuY3Rpb24oZyxoLGwsbSl7cmV0dXJu
IGg9PT1tLmxlbmd0aC0xfSxldmVuOmZ1bmN0aW9uKGcsaCl7cmV0dXJuIGglMj09
PTB9LG9kZDpmdW5jdGlvbihnLGgpe3JldHVybiBoJTI9PT0xfSxsdDpmdW5jdGlv
bihnLGgsbCl7cmV0dXJuIGg8bFszXS0wfSxndDpmdW5jdGlvbihnLGgsbCl7cmV0
dXJuIGg+bFszXS0wfSxudGg6ZnVuY3Rpb24oZyxoLGwpe3JldHVybiBsWzNdLTA9
PT1ofSxlcTpmdW5jdGlvbihnLGgsbCl7cmV0dXJuIGxbM10tMD09PWh9fSxmaWx0
ZXI6e1BTRVVETzpmdW5jdGlvbihnLGgsbCxtKXt2YXIgcT1oWzFdLHA9bi5maWx0
ZXJzW3FdO2lmKHApcmV0dXJuIHAoZyxsLGgsbSk7ZWxzZSBpZihxPT09ImNvbnRh
aW5zIilyZXR1cm4oZy50ZXh0Q29udGVudHx8Zy5pbm5lclRleHR8fGEoW2ddKXx8
IiIpLmluZGV4T2YoaFszXSk+PTA7ZWxzZSBpZihxPT09Im5vdCIpe2g9CmhbM107
bD0wO2ZvcihtPWgubGVuZ3RoO2w8bTtsKyspaWYoaFtsXT09PWcpcmV0dXJuIGZh
bHNlO3JldHVybiB0cnVlfWVsc2Ugay5lcnJvcigiU3ludGF4IGVycm9yLCB1bnJl
Y29nbml6ZWQgZXhwcmVzc2lvbjogIitxKX0sQ0hJTEQ6ZnVuY3Rpb24oZyxoKXt2
YXIgbD1oWzFdLG09Zztzd2l0Y2gobCl7Y2FzZSAib25seSI6Y2FzZSAiZmlyc3Qi
OmZvcig7bT1tLnByZXZpb3VzU2libGluZzspaWYobS5ub2RlVHlwZT09PTEpcmV0
dXJuIGZhbHNlO2lmKGw9PT0iZmlyc3QiKXJldHVybiB0cnVlO209ZztjYXNlICJs
YXN0Ijpmb3IoO209bS5uZXh0U2libGluZzspaWYobS5ub2RlVHlwZT09PTEpcmV0
dXJuIGZhbHNlO3JldHVybiB0cnVlO2Nhc2UgIm50aCI6bD1oWzJdO3ZhciBxPWhb
M107aWYobD09PTEmJnE9PT0wKXJldHVybiB0cnVlO2g9aFswXTt2YXIgcD1nLnBh
cmVudE5vZGU7aWYocCYmKHAuc2l6Y2FjaGUhPT1ofHwhZy5ub2RlSW5kZXgpKXt2
YXIgdj0wO2ZvcihtPXAuZmlyc3RDaGlsZDttO209Cm0ubmV4dFNpYmxpbmcpaWYo
bS5ub2RlVHlwZT09PTEpbS5ub2RlSW5kZXg9Kyt2O3Auc2l6Y2FjaGU9aH1nPWcu
bm9kZUluZGV4LXE7cmV0dXJuIGw9PT0wP2c9PT0wOmclbD09PTAmJmcvbD49MH19
LElEOmZ1bmN0aW9uKGcsaCl7cmV0dXJuIGcubm9kZVR5cGU9PT0xJiZnLmdldEF0
dHJpYnV0ZSgiaWQiKT09PWh9LFRBRzpmdW5jdGlvbihnLGgpe3JldHVybiBoPT09
IioiJiZnLm5vZGVUeXBlPT09MXx8Zy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09
aH0sQ0xBU1M6ZnVuY3Rpb24oZyxoKXtyZXR1cm4oIiAiKyhnLmNsYXNzTmFtZXx8
Zy5nZXRBdHRyaWJ1dGUoImNsYXNzIikpKyIgIikuaW5kZXhPZihoKT4tMX0sQVRU
UjpmdW5jdGlvbihnLGgpe3ZhciBsPWhbMV07Zz1uLmF0dHJIYW5kbGVbbF0/bi5h
dHRySGFuZGxlW2xdKGcpOmdbbF0hPW51bGw/Z1tsXTpnLmdldEF0dHJpYnV0ZShs
KTtsPWcrIiI7dmFyIG09aFsyXTtoPWhbNF07cmV0dXJuIGc9PW51bGw/bT09PSIh
PSI6bT09PQoiPSI/bD09PWg6bT09PSIqPSI/bC5pbmRleE9mKGgpPj0wOm09PT0i
fj0iPygiICIrbCsiICIpLmluZGV4T2YoaCk+PTA6IWg/bCYmZyE9PWZhbHNlOm09
PT0iIT0iP2whPT1oOm09PT0iXj0iP2wuaW5kZXhPZihoKT09PTA6bT09PSIkPSI/
bC5zdWJzdHIobC5sZW5ndGgtaC5sZW5ndGgpPT09aDptPT09Inw9Ij9sPT09aHx8
bC5zdWJzdHIoMCxoLmxlbmd0aCsxKT09PWgrIi0iOmZhbHNlfSxQT1M6ZnVuY3Rp
b24oZyxoLGwsbSl7dmFyIHE9bi5zZXRGaWx0ZXJzW2hbMl1dO2lmKHEpcmV0dXJu
IHEoZyxsLGgsbSl9fX0scj1uLm1hdGNoLlBPUztmb3IodmFyIHUgaW4gbi5tYXRj
aCl7bi5tYXRjaFt1XT1uZXcgUmVnRXhwKG4ubWF0Y2hbdV0uc291cmNlKy8oPyFb
XlxbXSpcXSkoPyFbXlwoXSpcKSkvLnNvdXJjZSk7bi5sZWZ0TWF0Y2hbdV09bmV3
IFJlZ0V4cCgvKF4oPzoufFxyfFxuKSo/KS8uc291cmNlK24ubWF0Y2hbdV0uc291
cmNlLnJlcGxhY2UoL1xcKFxkKykvZyxmdW5jdGlvbihnLApoKXtyZXR1cm4iXFwi
KyhoLTArMSl9KSl9dmFyIHo9ZnVuY3Rpb24oZyxoKXtnPUFycmF5LnByb3RvdHlw
ZS5zbGljZS5jYWxsKGcsMCk7aWYoaCl7aC5wdXNoLmFwcGx5KGgsZyk7cmV0dXJu
IGh9cmV0dXJuIGd9O3RyeXtBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChzLmRv
Y3VtZW50RWxlbWVudC5jaGlsZE5vZGVzLDApfWNhdGNoKEMpe3o9ZnVuY3Rpb24o
ZyxoKXtoPWh8fFtdO2lmKGouY2FsbChnKT09PSJbb2JqZWN0IEFycmF5XSIpQXJy
YXkucHJvdG90eXBlLnB1c2guYXBwbHkoaCxnKTtlbHNlIGlmKHR5cGVvZiBnLmxl
bmd0aD09PSJudW1iZXIiKWZvcih2YXIgbD0wLG09Zy5sZW5ndGg7bDxtO2wrKylo
LnB1c2goZ1tsXSk7ZWxzZSBmb3IobD0wO2dbbF07bCsrKWgucHVzaChnW2xdKTty
ZXR1cm4gaH19dmFyIEI7aWYocy5kb2N1bWVudEVsZW1lbnQuY29tcGFyZURvY3Vt
ZW50UG9zaXRpb24pQj1mdW5jdGlvbihnLGgpe2lmKCFnLmNvbXBhcmVEb2N1bWVu
dFBvc2l0aW9ufHwKIWguY29tcGFyZURvY3VtZW50UG9zaXRpb24pe2lmKGc9PWgp
aT10cnVlO3JldHVybiBnLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uPy0xOjF9Zz1n
LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGgpJjQ/LTE6Zz09PWg/MDoxO2lmKGc9
PT0wKWk9dHJ1ZTtyZXR1cm4gZ307ZWxzZSBpZigic291cmNlSW5kZXgiaW4gcy5k
b2N1bWVudEVsZW1lbnQpQj1mdW5jdGlvbihnLGgpe2lmKCFnLnNvdXJjZUluZGV4
fHwhaC5zb3VyY2VJbmRleCl7aWYoZz09aClpPXRydWU7cmV0dXJuIGcuc291cmNl
SW5kZXg/LTE6MX1nPWcuc291cmNlSW5kZXgtaC5zb3VyY2VJbmRleDtpZihnPT09
MClpPXRydWU7cmV0dXJuIGd9O2Vsc2UgaWYocy5jcmVhdGVSYW5nZSlCPWZ1bmN0
aW9uKGcsaCl7aWYoIWcub3duZXJEb2N1bWVudHx8IWgub3duZXJEb2N1bWVudCl7
aWYoZz09aClpPXRydWU7cmV0dXJuIGcub3duZXJEb2N1bWVudD8tMToxfXZhciBs
PWcub3duZXJEb2N1bWVudC5jcmVhdGVSYW5nZSgpLG09Cmgub3duZXJEb2N1bWVu
dC5jcmVhdGVSYW5nZSgpO2wuc2V0U3RhcnQoZywwKTtsLnNldEVuZChnLDApO20u
c2V0U3RhcnQoaCwwKTttLnNldEVuZChoLDApO2c9bC5jb21wYXJlQm91bmRhcnlQ
b2ludHMoUmFuZ2UuU1RBUlRfVE9fRU5ELG0pO2lmKGc9PT0wKWk9dHJ1ZTtyZXR1
cm4gZ307KGZ1bmN0aW9uKCl7dmFyIGc9cy5jcmVhdGVFbGVtZW50KCJkaXYiKSxo
PSJzY3JpcHQiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpO2cuaW5uZXJIVE1MPSI8YSBu
YW1lPSciK2grIicvPiI7dmFyIGw9cy5kb2N1bWVudEVsZW1lbnQ7bC5pbnNlcnRC
ZWZvcmUoZyxsLmZpcnN0Q2hpbGQpO2lmKHMuZ2V0RWxlbWVudEJ5SWQoaCkpe24u
ZmluZC5JRD1mdW5jdGlvbihtLHEscCl7aWYodHlwZW9mIHEuZ2V0RWxlbWVudEJ5
SWQhPT0idW5kZWZpbmVkIiYmIXApcmV0dXJuKHE9cS5nZXRFbGVtZW50QnlJZCht
WzFdKSk/cS5pZD09PW1bMV18fHR5cGVvZiBxLmdldEF0dHJpYnV0ZU5vZGUhPT0i
dW5kZWZpbmVkIiYmCnEuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKS5ub2RlVmFsdWU9
PT1tWzFdP1txXTp3OltdfTtuLmZpbHRlci5JRD1mdW5jdGlvbihtLHEpe3ZhciBw
PXR5cGVvZiBtLmdldEF0dHJpYnV0ZU5vZGUhPT0idW5kZWZpbmVkIiYmbS5nZXRB
dHRyaWJ1dGVOb2RlKCJpZCIpO3JldHVybiBtLm5vZGVUeXBlPT09MSYmcCYmcC5u
b2RlVmFsdWU9PT1xfX1sLnJlbW92ZUNoaWxkKGcpO2w9Zz1udWxsfSkoKTsoZnVu
Y3Rpb24oKXt2YXIgZz1zLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2cuYXBwZW5kQ2hp
bGQocy5jcmVhdGVDb21tZW50KCIiKSk7aWYoZy5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgiKiIpLmxlbmd0aD4wKW4uZmluZC5UQUc9ZnVuY3Rpb24oaCxsKXtsPWwuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoaFsxXSk7aWYoaFsxXT09PSIqIil7aD1bXTtmb3Io
dmFyIG09MDtsW21dO20rKylsW21dLm5vZGVUeXBlPT09MSYmaC5wdXNoKGxbbV0p
O2w9aH1yZXR1cm4gbH07Zy5pbm5lckhUTUw9IjxhIGhyZWY9JyMnPjwvYT4iOwpp
ZihnLmZpcnN0Q2hpbGQmJnR5cGVvZiBnLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRl
IT09InVuZGVmaW5lZCImJmcuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYi
KSE9PSIjIiluLmF0dHJIYW5kbGUuaHJlZj1mdW5jdGlvbihoKXtyZXR1cm4gaC5n
ZXRBdHRyaWJ1dGUoImhyZWYiLDIpfTtnPW51bGx9KSgpO3MucXVlcnlTZWxlY3Rv
ckFsbCYmZnVuY3Rpb24oKXt2YXIgZz1rLGg9cy5jcmVhdGVFbGVtZW50KCJkaXYi
KTtoLmlubmVySFRNTD0iPHAgY2xhc3M9J1RFU1QnPjwvcD4iO2lmKCEoaC5xdWVy
eVNlbGVjdG9yQWxsJiZoLnF1ZXJ5U2VsZWN0b3JBbGwoIi5URVNUIikubGVuZ3Ro
PT09MCkpe2s9ZnVuY3Rpb24obSxxLHAsdil7cT1xfHxzO2lmKCF2JiZxLm5vZGVU
eXBlPT09OSYmIXgocSkpdHJ5e3JldHVybiB6KHEucXVlcnlTZWxlY3RvckFsbCht
KSxwKX1jYXRjaCh0KXt9cmV0dXJuIGcobSxxLHAsdil9O2Zvcih2YXIgbCBpbiBn
KWtbbF09Z1tsXTtoPW51bGx9fSgpOwooZnVuY3Rpb24oKXt2YXIgZz1zLmNyZWF0
ZUVsZW1lbnQoImRpdiIpO2cuaW5uZXJIVE1MPSI8ZGl2IGNsYXNzPSd0ZXN0IGUn
PjwvZGl2PjxkaXYgY2xhc3M9J3Rlc3QnPjwvZGl2PiI7aWYoISghZy5nZXRFbGVt
ZW50c0J5Q2xhc3NOYW1lfHxnLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImUiKS5s
ZW5ndGg9PT0wKSl7Zy5sYXN0Q2hpbGQuY2xhc3NOYW1lPSJlIjtpZihnLmdldEVs
ZW1lbnRzQnlDbGFzc05hbWUoImUiKS5sZW5ndGghPT0xKXtuLm9yZGVyLnNwbGlj
ZSgxLDAsIkNMQVNTIik7bi5maW5kLkNMQVNTPWZ1bmN0aW9uKGgsbCxtKXtpZih0
eXBlb2YgbC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lIT09InVuZGVmaW5lZCImJiFt
KXJldHVybiBsLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoaFsxXSl9O2c9bnVsbH19
fSkoKTt2YXIgRT1zLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uP2Z1bmN0aW9uKGcs
aCl7cmV0dXJuISEoZy5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihoKSYxNil9Ogpm
dW5jdGlvbihnLGgpe3JldHVybiBnIT09aCYmKGcuY29udGFpbnM/Zy5jb250YWlu
cyhoKTp0cnVlKX0seD1mdW5jdGlvbihnKXtyZXR1cm4oZz0oZz9nLm93bmVyRG9j
dW1lbnR8fGc6MCkuZG9jdW1lbnRFbGVtZW50KT9nLm5vZGVOYW1lIT09IkhUTUwi
OmZhbHNlfSxnYT1mdW5jdGlvbihnLGgpe3ZhciBsPVtdLG09IiIscTtmb3IoaD1o
Lm5vZGVUeXBlP1toXTpoO3E9bi5tYXRjaC5QU0VVRE8uZXhlYyhnKTspe20rPXFb
MF07Zz1nLnJlcGxhY2Uobi5tYXRjaC5QU0VVRE8sIiIpfWc9bi5yZWxhdGl2ZVtn
XT9nKyIqIjpnO3E9MDtmb3IodmFyIHA9aC5sZW5ndGg7cTxwO3ErKylrKGcsaFtx
XSxsKTtyZXR1cm4gay5maWx0ZXIobSxsKX07Yy5maW5kPWs7Yy5leHByPWsuc2Vs
ZWN0b3JzO2MuZXhwclsiOiJdPWMuZXhwci5maWx0ZXJzO2MudW5pcXVlPWsudW5p
cXVlU29ydDtjLnRleHQ9YTtjLmlzWE1MRG9jPXg7Yy5jb250YWlucz1FfSkoKTt2
YXIgZWI9L1VudGlsJC8sZmI9L14oPzpwYXJlbnRzfHByZXZVbnRpbHxwcmV2QWxs
KS8sCmdiPS8sLztSPUFycmF5LnByb3RvdHlwZS5zbGljZTt2YXIgSWE9ZnVuY3Rp
b24oYSxiLGQpe2lmKGMuaXNGdW5jdGlvbihiKSlyZXR1cm4gYy5ncmVwKGEsZnVu
Y3Rpb24oZSxqKXtyZXR1cm4hIWIuY2FsbChlLGosZSk9PT1kfSk7ZWxzZSBpZihi
Lm5vZGVUeXBlKXJldHVybiBjLmdyZXAoYSxmdW5jdGlvbihlKXtyZXR1cm4gZT09
PWI9PT1kfSk7ZWxzZSBpZih0eXBlb2YgYj09PSJzdHJpbmciKXt2YXIgZj1jLmdy
ZXAoYSxmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlVHlwZT09PTF9KTtpZihVYS50
ZXN0KGIpKXJldHVybiBjLmZpbHRlcihiLGYsIWQpO2Vsc2UgYj1jLmZpbHRlcihi
LGYpfXJldHVybiBjLmdyZXAoYSxmdW5jdGlvbihlKXtyZXR1cm4gYy5pbkFycmF5
KGUsYik+PTA9PT1kfSl9O2MuZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKGEpe2Zv
cih2YXIgYj10aGlzLnB1c2hTdGFjaygiIiwiZmluZCIsYSksZD0wLGY9MCxlPXRo
aXMubGVuZ3RoO2Y8ZTtmKyspe2Q9Yi5sZW5ndGg7CmMuZmluZChhLHRoaXNbZl0s
Yik7aWYoZj4wKWZvcih2YXIgaj1kO2o8Yi5sZW5ndGg7aisrKWZvcih2YXIgaT0w
O2k8ZDtpKyspaWYoYltpXT09PWJbal0pe2Iuc3BsaWNlKGotLSwxKTticmVha319
cmV0dXJuIGJ9LGhhczpmdW5jdGlvbihhKXt2YXIgYj1jKGEpO3JldHVybiB0aGlz
LmZpbHRlcihmdW5jdGlvbigpe2Zvcih2YXIgZD0wLGY9Yi5sZW5ndGg7ZDxmO2Qr
KylpZihjLmNvbnRhaW5zKHRoaXMsYltkXSkpcmV0dXJuIHRydWV9KX0sbm90OmZ1
bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhJYSh0aGlzLGEsZmFsc2Up
LCJub3QiLGEpfSxmaWx0ZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0
YWNrKElhKHRoaXMsYSx0cnVlKSwiZmlsdGVyIixhKX0saXM6ZnVuY3Rpb24oYSl7
cmV0dXJuISFhJiZjLmZpbHRlcihhLHRoaXMpLmxlbmd0aD4wfSxjbG9zZXN0OmZ1
bmN0aW9uKGEsYil7aWYoYy5pc0FycmF5KGEpKXt2YXIgZD1bXSxmPXRoaXNbMF0s
ZSxqPQp7fSxpO2lmKGYmJmEubGVuZ3RoKXtlPTA7Zm9yKHZhciBvPWEubGVuZ3Ro
O2U8bztlKyspe2k9YVtlXTtqW2ldfHwoaltpXT1jLmV4cHIubWF0Y2guUE9TLnRl
c3QoaSk/YyhpLGJ8fHRoaXMuY29udGV4dCk6aSl9Zm9yKDtmJiZmLm93bmVyRG9j
dW1lbnQmJmYhPT1iOyl7Zm9yKGkgaW4gail7ZT1qW2ldO2lmKGUuanF1ZXJ5P2Uu
aW5kZXgoZik+LTE6YyhmKS5pcyhlKSl7ZC5wdXNoKHtzZWxlY3RvcjppLGVsZW06
Zn0pO2RlbGV0ZSBqW2ldfX1mPWYucGFyZW50Tm9kZX19cmV0dXJuIGR9dmFyIGs9
Yy5leHByLm1hdGNoLlBPUy50ZXN0KGEpP2MoYSxifHx0aGlzLmNvbnRleHQpOm51
bGw7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKG4scil7Zm9yKDtyJiZyLm93bmVy
RG9jdW1lbnQmJnIhPT1iOyl7aWYoaz9rLmluZGV4KHIpPi0xOmMocikuaXMoYSkp
cmV0dXJuIHI7cj1yLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9KX0saW5kZXg6ZnVu
Y3Rpb24oYSl7aWYoIWF8fHR5cGVvZiBhPT09CiJzdHJpbmciKXJldHVybiBjLmlu
QXJyYXkodGhpc1swXSxhP2MoYSk6dGhpcy5wYXJlbnQoKS5jaGlsZHJlbigpKTty
ZXR1cm4gYy5pbkFycmF5KGEuanF1ZXJ5P2FbMF06YSx0aGlzKX0sYWRkOmZ1bmN0
aW9uKGEsYil7YT10eXBlb2YgYT09PSJzdHJpbmciP2MoYSxifHx0aGlzLmNvbnRl
eHQpOmMubWFrZUFycmF5KGEpO2I9Yy5tZXJnZSh0aGlzLmdldCgpLGEpO3JldHVy
biB0aGlzLnB1c2hTdGFjayhxYShhWzBdKXx8cWEoYlswXSk/YjpjLnVuaXF1ZShi
KSl9LGFuZFNlbGY6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hZGQodGhpcy5wcmV2
T2JqZWN0KX19KTtjLmVhY2goe3BhcmVudDpmdW5jdGlvbihhKXtyZXR1cm4oYT1h
LnBhcmVudE5vZGUpJiZhLm5vZGVUeXBlIT09MTE/YTpudWxsfSxwYXJlbnRzOmZ1
bmN0aW9uKGEpe3JldHVybiBjLmRpcihhLCJwYXJlbnROb2RlIil9LHBhcmVudHNV
bnRpbDpmdW5jdGlvbihhLGIsZCl7cmV0dXJuIGMuZGlyKGEsInBhcmVudE5vZGUi
LApkKX0sbmV4dDpmdW5jdGlvbihhKXtyZXR1cm4gYy5udGgoYSwyLCJuZXh0U2li
bGluZyIpfSxwcmV2OmZ1bmN0aW9uKGEpe3JldHVybiBjLm50aChhLDIsInByZXZp
b3VzU2libGluZyIpfSxuZXh0QWxsOmZ1bmN0aW9uKGEpe3JldHVybiBjLmRpcihh
LCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKGEpe3JldHVybiBjLmRp
cihhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dFVudGlsOmZ1bmN0aW9uKGEsYixk
KXtyZXR1cm4gYy5kaXIoYSwibmV4dFNpYmxpbmciLGQpfSxwcmV2VW50aWw6ZnVu
Y3Rpb24oYSxiLGQpe3JldHVybiBjLmRpcihhLCJwcmV2aW91c1NpYmxpbmciLGQp
fSxzaWJsaW5nczpmdW5jdGlvbihhKXtyZXR1cm4gYy5zaWJsaW5nKGEucGFyZW50
Tm9kZS5maXJzdENoaWxkLGEpfSxjaGlsZHJlbjpmdW5jdGlvbihhKXtyZXR1cm4g
Yy5zaWJsaW5nKGEuZmlyc3RDaGlsZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGEpe3Jl
dHVybiBjLm5vZGVOYW1lKGEsImlmcmFtZSIpPwphLmNvbnRlbnREb2N1bWVudHx8
YS5jb250ZW50V2luZG93LmRvY3VtZW50OmMubWFrZUFycmF5KGEuY2hpbGROb2Rl
cyl9fSxmdW5jdGlvbihhLGIpe2MuZm5bYV09ZnVuY3Rpb24oZCxmKXt2YXIgZT1j
Lm1hcCh0aGlzLGIsZCk7ZWIudGVzdChhKXx8KGY9ZCk7aWYoZiYmdHlwZW9mIGY9
PT0ic3RyaW5nIillPWMuZmlsdGVyKGYsZSk7ZT10aGlzLmxlbmd0aD4xP2MudW5p
cXVlKGUpOmU7aWYoKHRoaXMubGVuZ3RoPjF8fGdiLnRlc3QoZikpJiZmYi50ZXN0
KGEpKWU9ZS5yZXZlcnNlKCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGUsYSxSLmNh
bGwoYXJndW1lbnRzKS5qb2luKCIsIikpfX0pO2MuZXh0ZW5kKHtmaWx0ZXI6ZnVu
Y3Rpb24oYSxiLGQpe2lmKGQpYT0iOm5vdCgiK2ErIikiO3JldHVybiBjLmZpbmQu
bWF0Y2hlcyhhLGIpfSxkaXI6ZnVuY3Rpb24oYSxiLGQpe3ZhciBmPVtdO2Zvcihh
PWFbYl07YSYmYS5ub2RlVHlwZSE9PTkmJihkPT09d3x8YS5ub2RlVHlwZSE9PTF8
fCFjKGEpLmlzKGQpKTspe2Eubm9kZVR5cGU9PT0KMSYmZi5wdXNoKGEpO2E9YVti
XX1yZXR1cm4gZn0sbnRoOmZ1bmN0aW9uKGEsYixkKXtiPWJ8fDE7Zm9yKHZhciBm
PTA7YTthPWFbZF0paWYoYS5ub2RlVHlwZT09PTEmJisrZj09PWIpYnJlYWs7cmV0
dXJuIGF9LHNpYmxpbmc6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGQ9W107YTthPWEu
bmV4dFNpYmxpbmcpYS5ub2RlVHlwZT09PTEmJmEhPT1iJiZkLnB1c2goYSk7cmV0
dXJuIGR9fSk7dmFyIEphPS8galF1ZXJ5XGQrPSIoPzpcZCt8bnVsbCkiL2csVj0v
XlxzKy8sS2E9Lyg8KFtcdzpdKylbXj5dKj8pXC8+L2csaGI9L14oPzphcmVhfGJy
fGNvbHxlbWJlZHxocnxpbWd8aW5wdXR8bGlua3xtZXRhfHBhcmFtKSQvaSxMYT0v
PChbXHc6XSspLyxpYj0vPHRib2R5L2ksamI9Lzx8JiM/XHcrOy8sdGE9LzxzY3Jp
cHR8PG9iamVjdHw8ZW1iZWR8PG9wdGlvbnw8c3R5bGUvaSx1YT0vY2hlY2tlZFxz
Kig/OltePV18PVxzKi5jaGVja2VkLikvaSxNYT1mdW5jdGlvbihhLGIsZCl7cmV0
dXJuIGhiLnRlc3QoZCk/CmE6YisiPjwvIitkKyI+In0sRj17b3B0aW9uOlsxLCI8
c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+IiwiPC9zZWxlY3Q+Il0sbGVnZW5k
OlsxLCI8ZmllbGRzZXQ+IiwiPC9maWVsZHNldD4iXSx0aGVhZDpbMSwiPHRhYmxl
PiIsIjwvdGFibGU+Il0sdHI6WzIsIjx0YWJsZT48dGJvZHk+IiwiPC90Ym9keT48
L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJv
ZHk+PC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48dGJvZHk+PC90Ym9keT48Y29s
Z3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLGFyZWE6WzEsIjxtYXA+Iiwi
PC9tYXA+Il0sX2RlZmF1bHQ6WzAsIiIsIiJdfTtGLm9wdGdyb3VwPUYub3B0aW9u
O0YudGJvZHk9Ri50Zm9vdD1GLmNvbGdyb3VwPUYuY2FwdGlvbj1GLnRoZWFkO0Yu
dGg9Ri50ZDtpZighYy5zdXBwb3J0Lmh0bWxTZXJpYWxpemUpRi5fZGVmYXVsdD1b
MSwiZGl2PGRpdj4iLCI8L2Rpdj4iXTtjLmZuLmV4dGVuZCh7dGV4dDpmdW5jdGlv
bihhKXtpZihjLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlv
bihiKXt2YXIgZD0KYyh0aGlzKTtkLnRleHQoYS5jYWxsKHRoaXMsYixkLnRleHQo
KSkpfSk7aWYodHlwZW9mIGEhPT0ib2JqZWN0IiYmYSE9PXcpcmV0dXJuIHRoaXMu
ZW1wdHkoKS5hcHBlbmQoKHRoaXNbMF0mJnRoaXNbMF0ub3duZXJEb2N1bWVudHx8
cykuY3JlYXRlVGV4dE5vZGUoYSkpO3JldHVybiBjLnRleHQodGhpcyl9LHdyYXBB
bGw6ZnVuY3Rpb24oYSl7aWYoYy5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVh
Y2goZnVuY3Rpb24oZCl7Yyh0aGlzKS53cmFwQWxsKGEuY2FsbCh0aGlzLGQpKX0p
O2lmKHRoaXNbMF0pe3ZhciBiPWMoYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVx
KDApLmNsb25lKHRydWUpO3RoaXNbMF0ucGFyZW50Tm9kZSYmYi5pbnNlcnRCZWZv
cmUodGhpc1swXSk7Yi5tYXAoZnVuY3Rpb24oKXtmb3IodmFyIGQ9dGhpcztkLmZp
cnN0Q2hpbGQmJmQuZmlyc3RDaGlsZC5ub2RlVHlwZT09PTE7KWQ9ZC5maXJzdENo
aWxkO3JldHVybiBkfSkuYXBwZW5kKHRoaXMpfXJldHVybiB0aGlzfSwKd3JhcElu
bmVyOmZ1bmN0aW9uKGEpe2lmKGMuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5l
YWNoKGZ1bmN0aW9uKGIpe2ModGhpcykud3JhcElubmVyKGEuY2FsbCh0aGlzLGIp
KX0pO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1jKHRoaXMpLGQ9
Yi5jb250ZW50cygpO2QubGVuZ3RoP2Qud3JhcEFsbChhKTpiLmFwcGVuZChhKX0p
fSx3cmFwOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtj
KHRoaXMpLndyYXBBbGwoYSl9KX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRo
aXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigpe2Mubm9kZU5hbWUodGhpcywiYm9k
eSIpfHxjKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KS5lbmQo
KX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1l
bnRzLHRydWUsZnVuY3Rpb24oYSl7dGhpcy5ub2RlVHlwZT09PTEmJnRoaXMuYXBw
ZW5kQ2hpbGQoYSl9KX0sCnByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5k
b21NYW5pcChhcmd1bWVudHMsdHJ1ZSxmdW5jdGlvbihhKXt0aGlzLm5vZGVUeXBl
PT09MSYmdGhpcy5pbnNlcnRCZWZvcmUoYSx0aGlzLmZpcnN0Q2hpbGQpfSl9LGJl
Zm9yZTpmdW5jdGlvbigpe2lmKHRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZSly
ZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZmFsc2UsZnVuY3Rpb24oYil7
dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShiLHRoaXMpfSk7ZWxzZSBpZihh
cmd1bWVudHMubGVuZ3RoKXt2YXIgYT1jKGFyZ3VtZW50c1swXSk7YS5wdXNoLmFw
cGx5KGEsdGhpcy50b0FycmF5KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhhLCJi
ZWZvcmUiLGFyZ3VtZW50cyl9fSxhZnRlcjpmdW5jdGlvbigpe2lmKHRoaXNbMF0m
JnRoaXNbMF0ucGFyZW50Tm9kZSlyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVu
dHMsZmFsc2UsZnVuY3Rpb24oYil7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9y
ZShiLAp0aGlzLm5leHRTaWJsaW5nKX0pO2Vsc2UgaWYoYXJndW1lbnRzLmxlbmd0
aCl7dmFyIGE9dGhpcy5wdXNoU3RhY2sodGhpcywiYWZ0ZXIiLGFyZ3VtZW50cyk7
YS5wdXNoLmFwcGx5KGEsYyhhcmd1bWVudHNbMF0pLnRvQXJyYXkoKSk7cmV0dXJu
IGF9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGQ9MCxmOyhmPXRoaXNb
ZF0pIT1udWxsO2QrKylpZighYXx8Yy5maWx0ZXIoYSxbZl0pLmxlbmd0aCl7aWYo
IWImJmYubm9kZVR5cGU9PT0xKXtjLmNsZWFuRGF0YShmLmdldEVsZW1lbnRzQnlU
YWdOYW1lKCIqIikpO2MuY2xlYW5EYXRhKFtmXSl9Zi5wYXJlbnROb2RlJiZmLnBh
cmVudE5vZGUucmVtb3ZlQ2hpbGQoZil9cmV0dXJuIHRoaXN9LGVtcHR5OmZ1bmN0
aW9uKCl7Zm9yKHZhciBhPTAsYjsoYj10aGlzW2FdKSE9bnVsbDthKyspZm9yKGIu
bm9kZVR5cGU9PT0xJiZjLmNsZWFuRGF0YShiLmdldEVsZW1lbnRzQnlUYWdOYW1l
KCIqIikpO2IuZmlyc3RDaGlsZDspYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQp
OwpyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5tYXAo
ZnVuY3Rpb24oKXtpZighYy5zdXBwb3J0Lm5vQ2xvbmVFdmVudCYmIWMuaXNYTUxE
b2ModGhpcykpe3ZhciBkPXRoaXMub3V0ZXJIVE1MLGY9dGhpcy5vd25lckRvY3Vt
ZW50O2lmKCFkKXtkPWYuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZC5hcHBlbmRDaGls
ZCh0aGlzLmNsb25lTm9kZSh0cnVlKSk7ZD1kLmlubmVySFRNTH1yZXR1cm4gYy5j
bGVhbihbZC5yZXBsYWNlKEphLCIiKS5yZXBsYWNlKC89KFtePSInPlxzXStcLyk+
L2csJz0iJDEiPicpLnJlcGxhY2UoViwiIildLGYpWzBdfWVsc2UgcmV0dXJuIHRo
aXMuY2xvbmVOb2RlKHRydWUpfSk7aWYoYT09PXRydWUpe3JhKHRoaXMsYik7cmEo
dGhpcy5maW5kKCIqIiksYi5maW5kKCIqIikpfXJldHVybiBifSxodG1sOmZ1bmN0
aW9uKGEpe2lmKGE9PT13KXJldHVybiB0aGlzWzBdJiZ0aGlzWzBdLm5vZGVUeXBl
PT09MT90aGlzWzBdLmlubmVySFRNTC5yZXBsYWNlKEphLAoiIik6bnVsbDtlbHNl
IGlmKHR5cGVvZiBhPT09InN0cmluZyImJiF0YS50ZXN0KGEpJiYoYy5zdXBwb3J0
LmxlYWRpbmdXaGl0ZXNwYWNlfHwhVi50ZXN0KGEpKSYmIUZbKExhLmV4ZWMoYSl8
fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCldKXthPWEucmVwbGFjZShLYSxNYSk7
dHJ5e2Zvcih2YXIgYj0wLGQ9dGhpcy5sZW5ndGg7YjxkO2IrKylpZih0aGlzW2Jd
Lm5vZGVUeXBlPT09MSl7Yy5jbGVhbkRhdGEodGhpc1tiXS5nZXRFbGVtZW50c0J5
VGFnTmFtZSgiKiIpKTt0aGlzW2JdLmlubmVySFRNTD1hfX1jYXRjaChmKXt0aGlz
LmVtcHR5KCkuYXBwZW5kKGEpfX1lbHNlIGMuaXNGdW5jdGlvbihhKT90aGlzLmVh
Y2goZnVuY3Rpb24oZSl7dmFyIGo9Yyh0aGlzKSxpPWouaHRtbCgpO2ouZW1wdHko
KS5hcHBlbmQoZnVuY3Rpb24oKXtyZXR1cm4gYS5jYWxsKHRoaXMsZSxpKX0pfSk6
dGhpcy5lbXB0eSgpLmFwcGVuZChhKTtyZXR1cm4gdGhpc30scmVwbGFjZVdpdGg6
ZnVuY3Rpb24oYSl7aWYodGhpc1swXSYmCnRoaXNbMF0ucGFyZW50Tm9kZSl7aWYo
Yy5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7dmFy
IGQ9Yyh0aGlzKSxmPWQuaHRtbCgpO2QucmVwbGFjZVdpdGgoYS5jYWxsKHRoaXMs
YixmKSl9KTtpZih0eXBlb2YgYSE9PSJzdHJpbmciKWE9YyhhKS5kZXRhY2goKTty
ZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5uZXh0U2libGlu
ZyxkPXRoaXMucGFyZW50Tm9kZTtjKHRoaXMpLnJlbW92ZSgpO2I/YyhiKS5iZWZv
cmUoYSk6YyhkKS5hcHBlbmQoYSl9KX1lbHNlIHJldHVybiB0aGlzLnB1c2hTdGFj
ayhjKGMuaXNGdW5jdGlvbihhKT9hKCk6YSksInJlcGxhY2VXaXRoIixhKX0sZGV0
YWNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJlbW92ZShhLHRydWUpfSxkb21N
YW5pcDpmdW5jdGlvbihhLGIsZCl7ZnVuY3Rpb24gZih1KXtyZXR1cm4gYy5ub2Rl
TmFtZSh1LCJ0YWJsZSIpP3UuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5Iilb
MF18fAp1LmFwcGVuZENoaWxkKHUub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJ0Ym9keSIpKTp1fXZhciBlLGosaT1hWzBdLG89W10saztpZighYy5zdXBwb3J0
LmNoZWNrQ2xvbmUmJmFyZ3VtZW50cy5sZW5ndGg9PT0zJiZ0eXBlb2YgaT09PSJz
dHJpbmciJiZ1YS50ZXN0KGkpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtj
KHRoaXMpLmRvbU1hbmlwKGEsYixkLHRydWUpfSk7aWYoYy5pc0Z1bmN0aW9uKGkp
KXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24odSl7dmFyIHo9Yyh0aGlzKTthWzBd
PWkuY2FsbCh0aGlzLHUsYj96Lmh0bWwoKTp3KTt6LmRvbU1hbmlwKGEsYixkKX0p
O2lmKHRoaXNbMF0pe2U9aSYmaS5wYXJlbnROb2RlO2U9Yy5zdXBwb3J0LnBhcmVu
dE5vZGUmJmUmJmUubm9kZVR5cGU9PT0xMSYmZS5jaGlsZE5vZGVzLmxlbmd0aD09
PXRoaXMubGVuZ3RoP3tmcmFnbWVudDplfTpzYShhLHRoaXMsbyk7az1lLmZyYWdt
ZW50O2lmKGo9ay5jaGlsZE5vZGVzLmxlbmd0aD09PQoxPyhrPWsuZmlyc3RDaGls
ZCk6ay5maXJzdENoaWxkKXtiPWImJmMubm9kZU5hbWUoaiwidHIiKTtmb3IodmFy
IG49MCxyPXRoaXMubGVuZ3RoO248cjtuKyspZC5jYWxsKGI/Zih0aGlzW25dLGop
OnRoaXNbbl0sbj4wfHxlLmNhY2hlYWJsZXx8dGhpcy5sZW5ndGg+MT9rLmNsb25l
Tm9kZSh0cnVlKTprKX1vLmxlbmd0aCYmYy5lYWNoKG8sUWEpfXJldHVybiB0aGlz
fX0pO2MuZnJhZ21lbnRzPXt9O2MuZWFjaCh7YXBwZW5kVG86ImFwcGVuZCIscHJl
cGVuZFRvOiJwcmVwZW5kIixpbnNlcnRCZWZvcmU6ImJlZm9yZSIsaW5zZXJ0QWZ0
ZXI6ImFmdGVyIixyZXBsYWNlQWxsOiJyZXBsYWNlV2l0aCJ9LGZ1bmN0aW9uKGEs
Yil7Yy5mblthXT1mdW5jdGlvbihkKXt2YXIgZj1bXTtkPWMoZCk7dmFyIGU9dGhp
cy5sZW5ndGg9PT0xJiZ0aGlzWzBdLnBhcmVudE5vZGU7aWYoZSYmZS5ub2RlVHlw
ZT09PTExJiZlLmNoaWxkTm9kZXMubGVuZ3RoPT09MSYmZC5sZW5ndGg9PT0xKXtk
W2JdKHRoaXNbMF0pOwpyZXR1cm4gdGhpc31lbHNle2U9MDtmb3IodmFyIGo9ZC5s
ZW5ndGg7ZTxqO2UrKyl7dmFyIGk9KGU+MD90aGlzLmNsb25lKHRydWUpOnRoaXMp
LmdldCgpO2MuZm5bYl0uYXBwbHkoYyhkW2VdKSxpKTtmPWYuY29uY2F0KGkpfXJl
dHVybiB0aGlzLnB1c2hTdGFjayhmLGEsZC5zZWxlY3Rvcil9fX0pO2MuZXh0ZW5k
KHtjbGVhbjpmdW5jdGlvbihhLGIsZCxmKXtiPWJ8fHM7aWYodHlwZW9mIGIuY3Jl
YXRlRWxlbWVudD09PSJ1bmRlZmluZWQiKWI9Yi5vd25lckRvY3VtZW50fHxiWzBd
JiZiWzBdLm93bmVyRG9jdW1lbnR8fHM7Zm9yKHZhciBlPVtdLGo9MCxpOyhpPWFb
al0pIT1udWxsO2orKyl7aWYodHlwZW9mIGk9PT0ibnVtYmVyIilpKz0iIjtpZihp
KXtpZih0eXBlb2YgaT09PSJzdHJpbmciJiYhamIudGVzdChpKSlpPWIuY3JlYXRl
VGV4dE5vZGUoaSk7ZWxzZSBpZih0eXBlb2YgaT09PSJzdHJpbmciKXtpPWkucmVw
bGFjZShLYSxNYSk7dmFyIG89KExhLmV4ZWMoaSl8fFsiIiwKIiJdKVsxXS50b0xv
d2VyQ2FzZSgpLGs9RltvXXx8Ri5fZGVmYXVsdCxuPWtbMF0scj1iLmNyZWF0ZUVs
ZW1lbnQoImRpdiIpO2ZvcihyLmlubmVySFRNTD1rWzFdK2kra1syXTtuLS07KXI9
ci5sYXN0Q2hpbGQ7aWYoIWMuc3VwcG9ydC50Ym9keSl7bj1pYi50ZXN0KGkpO289
bz09PSJ0YWJsZSImJiFuP3IuZmlyc3RDaGlsZCYmci5maXJzdENoaWxkLmNoaWxk
Tm9kZXM6a1sxXT09PSI8dGFibGU+IiYmIW4/ci5jaGlsZE5vZGVzOltdO2Zvcihr
PW8ubGVuZ3RoLTE7az49MDstLWspYy5ub2RlTmFtZShvW2tdLCJ0Ym9keSIpJiYh
b1trXS5jaGlsZE5vZGVzLmxlbmd0aCYmb1trXS5wYXJlbnROb2RlLnJlbW92ZUNo
aWxkKG9ba10pfSFjLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2UmJlYudGVzdChp
KSYmci5pbnNlcnRCZWZvcmUoYi5jcmVhdGVUZXh0Tm9kZShWLmV4ZWMoaSlbMF0p
LHIuZmlyc3RDaGlsZCk7aT1yLmNoaWxkTm9kZXN9aWYoaS5ub2RlVHlwZSllLnB1
c2goaSk7ZWxzZSBlPQpjLm1lcmdlKGUsaSl9fWlmKGQpZm9yKGo9MDtlW2pdO2or
KylpZihmJiZjLm5vZGVOYW1lKGVbal0sInNjcmlwdCIpJiYoIWVbal0udHlwZXx8
ZVtqXS50eXBlLnRvTG93ZXJDYXNlKCk9PT0idGV4dC9qYXZhc2NyaXB0IikpZi5w
dXNoKGVbal0ucGFyZW50Tm9kZT9lW2pdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQo
ZVtqXSk6ZVtqXSk7ZWxzZXtlW2pdLm5vZGVUeXBlPT09MSYmZS5zcGxpY2UuYXBw
bHkoZSxbaisxLDBdLmNvbmNhdChjLm1ha2VBcnJheShlW2pdLmdldEVsZW1lbnRz
QnlUYWdOYW1lKCJzY3JpcHQiKSkpKTtkLmFwcGVuZENoaWxkKGVbal0pfXJldHVy
biBlfSxjbGVhbkRhdGE6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGQsZj1jLmNhY2hl
LGU9Yy5ldmVudC5zcGVjaWFsLGo9Yy5zdXBwb3J0LmRlbGV0ZUV4cGFuZG8saT0w
LG87KG89YVtpXSkhPW51bGw7aSsrKWlmKGQ9b1tjLmV4cGFuZG9dKXtiPWZbZF07
aWYoYi5ldmVudHMpZm9yKHZhciBrIGluIGIuZXZlbnRzKWVba10/CmMuZXZlbnQu
cmVtb3ZlKG8sayk6Q2EobyxrLGIuaGFuZGxlKTtpZihqKWRlbGV0ZSBvW2MuZXhw
YW5kb107ZWxzZSBvLnJlbW92ZUF0dHJpYnV0ZSYmby5yZW1vdmVBdHRyaWJ1dGUo
Yy5leHBhbmRvKTtkZWxldGUgZltkXX19fSk7dmFyIGtiPS96LT9pbmRleHxmb250
LT93ZWlnaHR8b3BhY2l0eXx6b29tfGxpbmUtP2hlaWdodC9pLE5hPS9hbHBoYVwo
W14pXSpcKS8sT2E9L29wYWNpdHk9KFteKV0qKS8saGE9L2Zsb2F0L2ksaWE9Ly0o
W2Etel0pL2lnLGxiPS8oW0EtWl0pL2csbWI9L14tP1xkKyg/OnB4KT8kL2ksbmI9
L14tP1xkLyxvYj17cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJoaWRk
ZW4iLGRpc3BsYXk6ImJsb2NrIn0scGI9WyJMZWZ0IiwiUmlnaHQiXSxxYj1bIlRv
cCIsIkJvdHRvbSJdLHJiPXMuZGVmYXVsdFZpZXcmJnMuZGVmYXVsdFZpZXcuZ2V0
Q29tcHV0ZWRTdHlsZSxQYT1jLnN1cHBvcnQuY3NzRmxvYXQ/ImNzc0Zsb2F0Ijoi
c3R5bGVGbG9hdCIsamE9CmZ1bmN0aW9uKGEsYil7cmV0dXJuIGIudG9VcHBlckNh
c2UoKX07Yy5mbi5jc3M9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gWCh0aGlzLGEsYix0
cnVlLGZ1bmN0aW9uKGQsZixlKXtpZihlPT09dylyZXR1cm4gYy5jdXJDU1MoZCxm
KTtpZih0eXBlb2YgZT09PSJudW1iZXIiJiYha2IudGVzdChmKSllKz0icHgiO2Mu
c3R5bGUoZCxmLGUpfSl9O2MuZXh0ZW5kKHtzdHlsZTpmdW5jdGlvbihhLGIsZCl7
aWYoIWF8fGEubm9kZVR5cGU9PT0zfHxhLm5vZGVUeXBlPT09OClyZXR1cm4gdztp
ZigoYj09PSJ3aWR0aCJ8fGI9PT0iaGVpZ2h0IikmJnBhcnNlRmxvYXQoZCk8MClk
PXc7dmFyIGY9YS5zdHlsZXx8YSxlPWQhPT13O2lmKCFjLnN1cHBvcnQub3BhY2l0
eSYmYj09PSJvcGFjaXR5Iil7aWYoZSl7Zi56b29tPTE7Yj1wYXJzZUludChkLDEw
KSsiIj09PSJOYU4iPyIiOiJhbHBoYShvcGFjaXR5PSIrZCoxMDArIikiO2E9Zi5m
aWx0ZXJ8fGMuY3VyQ1NTKGEsImZpbHRlciIpfHwiIjtmLmZpbHRlcj0KTmEudGVz
dChhKT9hLnJlcGxhY2UoTmEsYik6Yn1yZXR1cm4gZi5maWx0ZXImJmYuZmlsdGVy
LmluZGV4T2YoIm9wYWNpdHk9Iik+PTA/cGFyc2VGbG9hdChPYS5leGVjKGYuZmls
dGVyKVsxXSkvMTAwKyIiOiIifWlmKGhhLnRlc3QoYikpYj1QYTtiPWIucmVwbGFj
ZShpYSxqYSk7aWYoZSlmW2JdPWQ7cmV0dXJuIGZbYl19LGNzczpmdW5jdGlvbihh
LGIsZCxmKXtpZihiPT09IndpZHRoInx8Yj09PSJoZWlnaHQiKXt2YXIgZSxqPWI9
PT0id2lkdGgiP3BiOnFiO2Z1bmN0aW9uIGkoKXtlPWI9PT0id2lkdGgiP2Eub2Zm
c2V0V2lkdGg6YS5vZmZzZXRIZWlnaHQ7ZiE9PSJib3JkZXIiJiZjLmVhY2goaixm
dW5jdGlvbigpe2Z8fChlLT1wYXJzZUZsb2F0KGMuY3VyQ1NTKGEsInBhZGRpbmci
K3RoaXMsdHJ1ZSkpfHwwKTtpZihmPT09Im1hcmdpbiIpZSs9cGFyc2VGbG9hdChj
LmN1ckNTUyhhLCJtYXJnaW4iK3RoaXMsdHJ1ZSkpfHwwO2Vsc2UgZS09cGFyc2VG
bG9hdChjLmN1ckNTUyhhLAoiYm9yZGVyIit0aGlzKyJXaWR0aCIsdHJ1ZSkpfHww
fSl9YS5vZmZzZXRXaWR0aCE9PTA/aSgpOmMuc3dhcChhLG9iLGkpO3JldHVybiBN
YXRoLm1heCgwLE1hdGgucm91bmQoZSkpfXJldHVybiBjLmN1ckNTUyhhLGIsZCl9
LGN1ckNTUzpmdW5jdGlvbihhLGIsZCl7dmFyIGYsZT1hLnN0eWxlO2lmKCFjLnN1
cHBvcnQub3BhY2l0eSYmYj09PSJvcGFjaXR5IiYmYS5jdXJyZW50U3R5bGUpe2Y9
T2EudGVzdChhLmN1cnJlbnRTdHlsZS5maWx0ZXJ8fCIiKT9wYXJzZUZsb2F0KFJl
Z0V4cC4kMSkvMTAwKyIiOiIiO3JldHVybiBmPT09IiI/IjEiOmZ9aWYoaGEudGVz
dChiKSliPVBhO2lmKCFkJiZlJiZlW2JdKWY9ZVtiXTtlbHNlIGlmKHJiKXtpZiho
YS50ZXN0KGIpKWI9ImZsb2F0IjtiPWIucmVwbGFjZShsYiwiLSQxIikudG9Mb3dl
ckNhc2UoKTtlPWEub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldztpZighZSlyZXR1
cm4gbnVsbDtpZihhPWUuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpKWY9CmEuZ2V0
UHJvcGVydHlWYWx1ZShiKTtpZihiPT09Im9wYWNpdHkiJiZmPT09IiIpZj0iMSJ9
ZWxzZSBpZihhLmN1cnJlbnRTdHlsZSl7ZD1iLnJlcGxhY2UoaWEsamEpO2Y9YS5j
dXJyZW50U3R5bGVbYl18fGEuY3VycmVudFN0eWxlW2RdO2lmKCFtYi50ZXN0KGYp
JiZuYi50ZXN0KGYpKXtiPWUubGVmdDt2YXIgaj1hLnJ1bnRpbWVTdHlsZS5sZWZ0
O2EucnVudGltZVN0eWxlLmxlZnQ9YS5jdXJyZW50U3R5bGUubGVmdDtlLmxlZnQ9
ZD09PSJmb250U2l6ZSI/IjFlbSI6Znx8MDtmPWUucGl4ZWxMZWZ0KyJweCI7ZS5s
ZWZ0PWI7YS5ydW50aW1lU3R5bGUubGVmdD1qfX1yZXR1cm4gZn0sc3dhcDpmdW5j
dGlvbihhLGIsZCl7dmFyIGY9e307Zm9yKHZhciBlIGluIGIpe2ZbZV09YS5zdHls
ZVtlXTthLnN0eWxlW2VdPWJbZV19ZC5jYWxsKGEpO2ZvcihlIGluIGIpYS5zdHls
ZVtlXT1mW2VdfX0pO2lmKGMuZXhwciYmYy5leHByLmZpbHRlcnMpe2MuZXhwci5m
aWx0ZXJzLmhpZGRlbj1mdW5jdGlvbihhKXt2YXIgYj0KYS5vZmZzZXRXaWR0aCxk
PWEub2Zmc2V0SGVpZ2h0LGY9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09InRy
IjtyZXR1cm4gYj09PTAmJmQ9PT0wJiYhZj90cnVlOmI+MCYmZD4wJiYhZj9mYWxz
ZTpjLmN1ckNTUyhhLCJkaXNwbGF5Iik9PT0ibm9uZSJ9O2MuZXhwci5maWx0ZXJz
LnZpc2libGU9ZnVuY3Rpb24oYSl7cmV0dXJuIWMuZXhwci5maWx0ZXJzLmhpZGRl
bihhKX19dmFyIHNiPUooKSx0Yj0vPHNjcmlwdCgufFxzKSo/XC9zY3JpcHQ+L2dp
LHViPS9zZWxlY3R8dGV4dGFyZWEvaSx2Yj0vY29sb3J8ZGF0ZXxkYXRldGltZXxl
bWFpbHxoaWRkZW58bW9udGh8bnVtYmVyfHBhc3N3b3JkfHJhbmdlfHNlYXJjaHx0
ZWx8dGV4dHx0aW1lfHVybHx3ZWVrL2ksTj0vPVw/KCZ8JCkvLGthPS9cPy8sd2I9
LyhcP3wmKV89Lio/KCZ8JCkvLHhiPS9eKFx3KzopP1wvXC8oW15cLz8jXSspLyx5
Yj0vJTIwL2csemI9Yy5mbi5sb2FkO2MuZm4uZXh0ZW5kKHtsb2FkOmZ1bmN0aW9u
KGEsYixkKXtpZih0eXBlb2YgYSE9PQoic3RyaW5nIilyZXR1cm4gemIuY2FsbCh0
aGlzLGEpO2Vsc2UgaWYoIXRoaXMubGVuZ3RoKXJldHVybiB0aGlzO3ZhciBmPWEu
aW5kZXhPZigiICIpO2lmKGY+PTApe3ZhciBlPWEuc2xpY2UoZixhLmxlbmd0aCk7
YT1hLnNsaWNlKDAsZil9Zj0iR0VUIjtpZihiKWlmKGMuaXNGdW5jdGlvbihiKSl7
ZD1iO2I9bnVsbH1lbHNlIGlmKHR5cGVvZiBiPT09Im9iamVjdCIpe2I9Yy5wYXJh
bShiLGMuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsKTtmPSJQT1NUIn12YXIgaj10
aGlzO2MuYWpheCh7dXJsOmEsdHlwZTpmLGRhdGFUeXBlOiJodG1sIixkYXRhOmIs
Y29tcGxldGU6ZnVuY3Rpb24oaSxvKXtpZihvPT09InN1Y2Nlc3MifHxvPT09Im5v
dG1vZGlmaWVkIilqLmh0bWwoZT9jKCI8ZGl2IC8+IikuYXBwZW5kKGkucmVzcG9u
c2VUZXh0LnJlcGxhY2UodGIsIiIpKS5maW5kKGUpOmkucmVzcG9uc2VUZXh0KTtk
JiZqLmVhY2goZCxbaS5yZXNwb25zZVRleHQsbyxpXSl9fSk7cmV0dXJuIHRoaXN9
LApzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gYy5wYXJhbSh0aGlzLnNlcmlh
bGl6ZUFycmF5KCkpfSxzZXJpYWxpemVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0
aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnRzP2MubWFrZUFy
cmF5KHRoaXMuZWxlbWVudHMpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1
cm4gdGhpcy5uYW1lJiYhdGhpcy5kaXNhYmxlZCYmKHRoaXMuY2hlY2tlZHx8dWIu
dGVzdCh0aGlzLm5vZGVOYW1lKXx8dmIudGVzdCh0aGlzLnR5cGUpKX0pLm1hcChm
dW5jdGlvbihhLGIpe2E9Yyh0aGlzKS52YWwoKTtyZXR1cm4gYT09bnVsbD9udWxs
OmMuaXNBcnJheShhKT9jLm1hcChhLGZ1bmN0aW9uKGQpe3JldHVybntuYW1lOmIu
bmFtZSx2YWx1ZTpkfX0pOntuYW1lOmIubmFtZSx2YWx1ZTphfX0pLmdldCgpfX0p
O2MuZWFjaCgiYWpheFN0YXJ0IGFqYXhTdG9wIGFqYXhDb21wbGV0ZSBhamF4RXJy
b3IgYWpheFN1Y2Nlc3MgYWpheFNlbmQiLnNwbGl0KCIgIiksCmZ1bmN0aW9uKGEs
Yil7Yy5mbltiXT1mdW5jdGlvbihkKXtyZXR1cm4gdGhpcy5iaW5kKGIsZCl9fSk7
Yy5leHRlbmQoe2dldDpmdW5jdGlvbihhLGIsZCxmKXtpZihjLmlzRnVuY3Rpb24o
Yikpe2Y9Znx8ZDtkPWI7Yj1udWxsfXJldHVybiBjLmFqYXgoe3R5cGU6IkdFVCIs
dXJsOmEsZGF0YTpiLHN1Y2Nlc3M6ZCxkYXRhVHlwZTpmfSl9LGdldFNjcmlwdDpm
dW5jdGlvbihhLGIpe3JldHVybiBjLmdldChhLG51bGwsYiwic2NyaXB0Iil9LGdl
dEpTT046ZnVuY3Rpb24oYSxiLGQpe3JldHVybiBjLmdldChhLGIsZCwianNvbiIp
fSxwb3N0OmZ1bmN0aW9uKGEsYixkLGYpe2lmKGMuaXNGdW5jdGlvbihiKSl7Zj1m
fHxkO2Q9YjtiPXt9fXJldHVybiBjLmFqYXgoe3R5cGU6IlBPU1QiLHVybDphLGRh
dGE6YixzdWNjZXNzOmQsZGF0YVR5cGU6Zn0pfSxhamF4U2V0dXA6ZnVuY3Rpb24o
YSl7Yy5leHRlbmQoYy5hamF4U2V0dGluZ3MsYSl9LGFqYXhTZXR0aW5nczp7dXJs
OmxvY2F0aW9uLmhyZWYsCmdsb2JhbDp0cnVlLHR5cGU6IkdFVCIsY29udGVudFR5
cGU6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIscHJvY2Vzc0Rh
dGE6dHJ1ZSxhc3luYzp0cnVlLHhocjpBLlhNTEh0dHBSZXF1ZXN0JiYoQS5sb2Nh
dGlvbi5wcm90b2NvbCE9PSJmaWxlOiJ8fCFBLkFjdGl2ZVhPYmplY3QpP2Z1bmN0
aW9uKCl7cmV0dXJuIG5ldyBBLlhNTEh0dHBSZXF1ZXN0fTpmdW5jdGlvbigpe3Ry
eXtyZXR1cm4gbmV3IEEuQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTEhUVFAi
KX1jYXRjaChhKXt9fSxhY2NlcHRzOnt4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4
dC94bWwiLGh0bWw6InRleHQvaHRtbCIsc2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQs
IGFwcGxpY2F0aW9uL2phdmFzY3JpcHQiLGpzb246ImFwcGxpY2F0aW9uL2pzb24s
IHRleHQvamF2YXNjcmlwdCIsdGV4dDoidGV4dC9wbGFpbiIsX2RlZmF1bHQ6Iiov
KiJ9fSxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fSxhamF4OmZ1bmN0aW9uKGEpe2Z1
bmN0aW9uIGIoKXtlLnN1Y2Nlc3MmJgplLnN1Y2Nlc3MuY2FsbChrLG8saSx4KTtl
Lmdsb2JhbCYmZigiYWpheFN1Y2Nlc3MiLFt4LGVdKX1mdW5jdGlvbiBkKCl7ZS5j
b21wbGV0ZSYmZS5jb21wbGV0ZS5jYWxsKGsseCxpKTtlLmdsb2JhbCYmZigiYWph
eENvbXBsZXRlIixbeCxlXSk7ZS5nbG9iYWwmJiEtLWMuYWN0aXZlJiZjLmV2ZW50
LnRyaWdnZXIoImFqYXhTdG9wIil9ZnVuY3Rpb24gZihxLHApeyhlLmNvbnRleHQ/
YyhlLmNvbnRleHQpOmMuZXZlbnQpLnRyaWdnZXIocSxwKX12YXIgZT1jLmV4dGVu
ZCh0cnVlLHt9LGMuYWpheFNldHRpbmdzLGEpLGosaSxvLGs9YSYmYS5jb250ZXh0
fHxlLG49ZS50eXBlLnRvVXBwZXJDYXNlKCk7aWYoZS5kYXRhJiZlLnByb2Nlc3NE
YXRhJiZ0eXBlb2YgZS5kYXRhIT09InN0cmluZyIpZS5kYXRhPWMucGFyYW0oZS5k
YXRhLGUudHJhZGl0aW9uYWwpO2lmKGUuZGF0YVR5cGU9PT0ianNvbnAiKXtpZihu
PT09IkdFVCIpTi50ZXN0KGUudXJsKXx8KGUudXJsKz0oa2EudGVzdChlLnVybCk/
CiImIjoiPyIpKyhlLmpzb25wfHwiY2FsbGJhY2siKSsiPT8iKTtlbHNlIGlmKCFl
LmRhdGF8fCFOLnRlc3QoZS5kYXRhKSllLmRhdGE9KGUuZGF0YT9lLmRhdGErIiYi
OiIiKSsoZS5qc29ucHx8ImNhbGxiYWNrIikrIj0/IjtlLmRhdGFUeXBlPSJqc29u
In1pZihlLmRhdGFUeXBlPT09Impzb24iJiYoZS5kYXRhJiZOLnRlc3QoZS5kYXRh
KXx8Ti50ZXN0KGUudXJsKSkpe2o9ZS5qc29ucENhbGxiYWNrfHwianNvbnAiK3Ni
Kys7aWYoZS5kYXRhKWUuZGF0YT0oZS5kYXRhKyIiKS5yZXBsYWNlKE4sIj0iK2or
IiQxIik7ZS51cmw9ZS51cmwucmVwbGFjZShOLCI9IitqKyIkMSIpO2UuZGF0YVR5
cGU9InNjcmlwdCI7QVtqXT1BW2pdfHxmdW5jdGlvbihxKXtvPXE7YigpO2QoKTtB
W2pdPXc7dHJ5e2RlbGV0ZSBBW2pdfWNhdGNoKHApe316JiZ6LnJlbW92ZUNoaWxk
KEMpfX1pZihlLmRhdGFUeXBlPT09InNjcmlwdCImJmUuY2FjaGU9PT1udWxsKWUu
Y2FjaGU9ZmFsc2U7aWYoZS5jYWNoZT09PQpmYWxzZSYmbj09PSJHRVQiKXt2YXIg
cj1KKCksdT1lLnVybC5yZXBsYWNlKHdiLCIkMV89IityKyIkMiIpO2UudXJsPXUr
KHU9PT1lLnVybD8oa2EudGVzdChlLnVybCk/IiYiOiI/IikrIl89IityOiIiKX1p
ZihlLmRhdGEmJm49PT0iR0VUIillLnVybCs9KGthLnRlc3QoZS51cmwpPyImIjoi
PyIpK2UuZGF0YTtlLmdsb2JhbCYmIWMuYWN0aXZlKysmJmMuZXZlbnQudHJpZ2dl
cigiYWpheFN0YXJ0Iik7cj0ocj14Yi5leGVjKGUudXJsKSkmJihyWzFdJiZyWzFd
IT09bG9jYXRpb24ucHJvdG9jb2x8fHJbMl0hPT1sb2NhdGlvbi5ob3N0KTtpZihl
LmRhdGFUeXBlPT09InNjcmlwdCImJm49PT0iR0VUIiYmcil7dmFyIHo9cy5nZXRF
bGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdfHxzLmRvY3VtZW50RWxlbWVudCxD
PXMuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Qy5zcmM9ZS51cmw7aWYoZS5zY3Jp
cHRDaGFyc2V0KUMuY2hhcnNldD1lLnNjcmlwdENoYXJzZXQ7aWYoIWope3ZhciBC
PQpmYWxzZTtDLm9ubG9hZD1DLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigp
e2lmKCFCJiYoIXRoaXMucmVhZHlTdGF0ZXx8dGhpcy5yZWFkeVN0YXRlPT09Imxv
YWRlZCJ8fHRoaXMucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpKXtCPXRydWU7Yigp
O2QoKTtDLm9ubG9hZD1DLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO3omJkMucGFy
ZW50Tm9kZSYmei5yZW1vdmVDaGlsZChDKX19fXouaW5zZXJ0QmVmb3JlKEMsei5m
aXJzdENoaWxkKTtyZXR1cm4gd312YXIgRT1mYWxzZSx4PWUueGhyKCk7aWYoeCl7
ZS51c2VybmFtZT94Lm9wZW4obixlLnVybCxlLmFzeW5jLGUudXNlcm5hbWUsZS5w
YXNzd29yZCk6eC5vcGVuKG4sZS51cmwsZS5hc3luYyk7dHJ5e2lmKGUuZGF0YXx8
YSYmYS5jb250ZW50VHlwZSl4LnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlw
ZSIsZS5jb250ZW50VHlwZSk7aWYoZS5pZk1vZGlmaWVkKXtjLmxhc3RNb2RpZmll
ZFtlLnVybF0mJnguc2V0UmVxdWVzdEhlYWRlcigiSWYtTW9kaWZpZWQtU2luY2Ui
LApjLmxhc3RNb2RpZmllZFtlLnVybF0pO2MuZXRhZ1tlLnVybF0mJnguc2V0UmVx
dWVzdEhlYWRlcigiSWYtTm9uZS1NYXRjaCIsYy5ldGFnW2UudXJsXSl9cnx8eC5z
ZXRSZXF1ZXN0SGVhZGVyKCJYLVJlcXVlc3RlZC1XaXRoIiwiWE1MSHR0cFJlcXVl
c3QiKTt4LnNldFJlcXVlc3RIZWFkZXIoIkFjY2VwdCIsZS5kYXRhVHlwZSYmZS5h
Y2NlcHRzW2UuZGF0YVR5cGVdP2UuYWNjZXB0c1tlLmRhdGFUeXBlXSsiLCAqLyoi
OmUuYWNjZXB0cy5fZGVmYXVsdCl9Y2F0Y2goZ2Epe31pZihlLmJlZm9yZVNlbmQm
JmUuYmVmb3JlU2VuZC5jYWxsKGsseCxlKT09PWZhbHNlKXtlLmdsb2JhbCYmIS0t
Yy5hY3RpdmUmJmMuZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKTt4LmFib3J0KCk7
cmV0dXJuIGZhbHNlfWUuZ2xvYmFsJiZmKCJhamF4U2VuZCIsW3gsZV0pO3ZhciBn
PXgub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKHEpe2lmKCF4fHx4LnJlYWR5
U3RhdGU9PT0wfHxxPT09ImFib3J0Iil7RXx8CmQoKTtFPXRydWU7aWYoeCl4Lm9u
cmVhZHlzdGF0ZWNoYW5nZT1jLm5vb3B9ZWxzZSBpZighRSYmeCYmKHgucmVhZHlT
dGF0ZT09PTR8fHE9PT0idGltZW91dCIpKXtFPXRydWU7eC5vbnJlYWR5c3RhdGVj
aGFuZ2U9Yy5ub29wO2k9cT09PSJ0aW1lb3V0Ij8idGltZW91dCI6IWMuaHR0cFN1
Y2Nlc3MoeCk/ImVycm9yIjplLmlmTW9kaWZpZWQmJmMuaHR0cE5vdE1vZGlmaWVk
KHgsZS51cmwpPyJub3Rtb2RpZmllZCI6InN1Y2Nlc3MiO3ZhciBwO2lmKGk9PT0i
c3VjY2VzcyIpdHJ5e289Yy5odHRwRGF0YSh4LGUuZGF0YVR5cGUsZSl9Y2F0Y2go
dil7aT0icGFyc2VyZXJyb3IiO3A9dn1pZihpPT09InN1Y2Nlc3MifHxpPT09Im5v
dG1vZGlmaWVkIilqfHxiKCk7ZWxzZSBjLmhhbmRsZUVycm9yKGUseCxpLHApO2Qo
KTtxPT09InRpbWVvdXQiJiZ4LmFib3J0KCk7aWYoZS5hc3luYyl4PW51bGx9fTt0
cnl7dmFyIGg9eC5hYm9ydDt4LmFib3J0PWZ1bmN0aW9uKCl7eCYmaC5jYWxsKHgp
OwpnKCJhYm9ydCIpfX1jYXRjaChsKXt9ZS5hc3luYyYmZS50aW1lb3V0PjAmJnNl
dFRpbWVvdXQoZnVuY3Rpb24oKXt4JiYhRSYmZygidGltZW91dCIpfSxlLnRpbWVv
dXQpO3RyeXt4LnNlbmQobj09PSJQT1NUInx8bj09PSJQVVQifHxuPT09IkRFTEVU
RSI/ZS5kYXRhOm51bGwpfWNhdGNoKG0pe2MuaGFuZGxlRXJyb3IoZSx4LG51bGws
bSk7ZCgpfWUuYXN5bmN8fGcoKTtyZXR1cm4geH19LGhhbmRsZUVycm9yOmZ1bmN0
aW9uKGEsYixkLGYpe2lmKGEuZXJyb3IpYS5lcnJvci5jYWxsKGEuY29udGV4dHx8
YSxiLGQsZik7aWYoYS5nbG9iYWwpKGEuY29udGV4dD9jKGEuY29udGV4dCk6Yy5l
dmVudCkudHJpZ2dlcigiYWpheEVycm9yIixbYixhLGZdKX0sYWN0aXZlOjAsaHR0
cFN1Y2Nlc3M6ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiFhLnN0YXR1cyYmbG9jYXRp
b24ucHJvdG9jb2w9PT0iZmlsZToifHxhLnN0YXR1cz49MjAwJiZhLnN0YXR1czwz
MDB8fGEuc3RhdHVzPT09MzA0fHxhLnN0YXR1cz09PQoxMjIzfHxhLnN0YXR1cz09
PTB9Y2F0Y2goYil7fXJldHVybiBmYWxzZX0saHR0cE5vdE1vZGlmaWVkOmZ1bmN0
aW9uKGEsYil7dmFyIGQ9YS5nZXRSZXNwb25zZUhlYWRlcigiTGFzdC1Nb2RpZmll
ZCIpLGY9YS5nZXRSZXNwb25zZUhlYWRlcigiRXRhZyIpO2lmKGQpYy5sYXN0TW9k
aWZpZWRbYl09ZDtpZihmKWMuZXRhZ1tiXT1mO3JldHVybiBhLnN0YXR1cz09PTMw
NHx8YS5zdGF0dXM9PT0wfSxodHRwRGF0YTpmdW5jdGlvbihhLGIsZCl7dmFyIGY9
YS5nZXRSZXNwb25zZUhlYWRlcigiY29udGVudC10eXBlIil8fCIiLGU9Yj09PSJ4
bWwifHwhYiYmZi5pbmRleE9mKCJ4bWwiKT49MDthPWU/YS5yZXNwb25zZVhNTDph
LnJlc3BvbnNlVGV4dDtlJiZhLmRvY3VtZW50RWxlbWVudC5ub2RlTmFtZT09PSJw
YXJzZXJlcnJvciImJmMuZXJyb3IoInBhcnNlcmVycm9yIik7aWYoZCYmZC5kYXRh
RmlsdGVyKWE9ZC5kYXRhRmlsdGVyKGEsYik7aWYodHlwZW9mIGE9PT0ic3RyaW5n
IilpZihiPT09CiJqc29uInx8IWImJmYuaW5kZXhPZigianNvbiIpPj0wKWE9Yy5w
YXJzZUpTT04oYSk7ZWxzZSBpZihiPT09InNjcmlwdCJ8fCFiJiZmLmluZGV4T2Yo
ImphdmFzY3JpcHQiKT49MCljLmdsb2JhbEV2YWwoYSk7cmV0dXJuIGF9LHBhcmFt
OmZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gZChpLG8pe2lmKGMuaXNBcnJheShvKSlj
LmVhY2gobyxmdW5jdGlvbihrLG4pe2J8fC9cW1xdJC8udGVzdChpKT9mKGksbik6
ZChpKyJbIisodHlwZW9mIG49PT0ib2JqZWN0Inx8Yy5pc0FycmF5KG4pP2s6IiIp
KyJdIixuKX0pO2Vsc2UhYiYmbyE9bnVsbCYmdHlwZW9mIG89PT0ib2JqZWN0Ij9j
LmVhY2gobyxmdW5jdGlvbihrLG4pe2QoaSsiWyIraysiXSIsbil9KTpmKGksbyl9
ZnVuY3Rpb24gZihpLG8pe289Yy5pc0Z1bmN0aW9uKG8pP28oKTpvO2VbZS5sZW5n
dGhdPWVuY29kZVVSSUNvbXBvbmVudChpKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50
KG8pfXZhciBlPVtdO2lmKGI9PT13KWI9Yy5hamF4U2V0dGluZ3MudHJhZGl0aW9u
YWw7CmlmKGMuaXNBcnJheShhKXx8YS5qcXVlcnkpYy5lYWNoKGEsZnVuY3Rpb24o
KXtmKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKHZhciBqIGluIGEp
ZChqLGFbal0pO3JldHVybiBlLmpvaW4oIiYiKS5yZXBsYWNlKHliLCIrIil9fSk7
dmFyIGxhPXt9LEFiPS90b2dnbGV8c2hvd3xoaWRlLyxCYj0vXihbKy1dPSk/KFtc
ZCstLl0rKSguKikkLyxXLHZhPVtbImhlaWdodCIsIm1hcmdpblRvcCIsIm1hcmdp
bkJvdHRvbSIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIl0sWyJ3aWR0aCIs
Im1hcmdpbkxlZnQiLCJtYXJnaW5SaWdodCIsInBhZGRpbmdMZWZ0IiwicGFkZGlu
Z1JpZ2h0Il0sWyJvcGFjaXR5Il1dO2MuZm4uZXh0ZW5kKHtzaG93OmZ1bmN0aW9u
KGEsYil7aWYoYXx8YT09PTApcmV0dXJuIHRoaXMuYW5pbWF0ZShLKCJzaG93Iiwz
KSxhLGIpO2Vsc2V7YT0wO2ZvcihiPXRoaXMubGVuZ3RoO2E8YjthKyspe3ZhciBk
PWMuZGF0YSh0aGlzW2FdLCJvbGRkaXNwbGF5Iik7CnRoaXNbYV0uc3R5bGUuZGlz
cGxheT1kfHwiIjtpZihjLmNzcyh0aGlzW2FdLCJkaXNwbGF5Iik9PT0ibm9uZSIp
e2Q9dGhpc1thXS5ub2RlTmFtZTt2YXIgZjtpZihsYVtkXSlmPWxhW2RdO2Vsc2V7
dmFyIGU9YygiPCIrZCsiIC8+IikuYXBwZW5kVG8oImJvZHkiKTtmPWUuY3NzKCJk
aXNwbGF5Iik7aWYoZj09PSJub25lIilmPSJibG9jayI7ZS5yZW1vdmUoKTtsYVtk
XT1mfWMuZGF0YSh0aGlzW2FdLCJvbGRkaXNwbGF5IixmKX19YT0wO2ZvcihiPXRo
aXMubGVuZ3RoO2E8YjthKyspdGhpc1thXS5zdHlsZS5kaXNwbGF5PWMuZGF0YSh0
aGlzW2FdLCJvbGRkaXNwbGF5Iil8fCIiO3JldHVybiB0aGlzfX0saGlkZTpmdW5j
dGlvbihhLGIpe2lmKGF8fGE9PT0wKXJldHVybiB0aGlzLmFuaW1hdGUoSygiaGlk
ZSIsMyksYSxiKTtlbHNle2E9MDtmb3IoYj10aGlzLmxlbmd0aDthPGI7YSsrKXt2
YXIgZD1jLmRhdGEodGhpc1thXSwib2xkZGlzcGxheSIpOyFkJiZkIT09Im5vbmUi
JiZjLmRhdGEodGhpc1thXSwKIm9sZGRpc3BsYXkiLGMuY3NzKHRoaXNbYV0sImRp
c3BsYXkiKSl9YT0wO2ZvcihiPXRoaXMubGVuZ3RoO2E8YjthKyspdGhpc1thXS5z
dHlsZS5kaXNwbGF5PSJub25lIjtyZXR1cm4gdGhpc319LF90b2dnbGU6Yy5mbi50
b2dnbGUsdG9nZ2xlOmZ1bmN0aW9uKGEsYil7dmFyIGQ9dHlwZW9mIGE9PT0iYm9v
bGVhbiI7aWYoYy5pc0Z1bmN0aW9uKGEpJiZjLmlzRnVuY3Rpb24oYikpdGhpcy5f
dG9nZ2xlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtlbHNlIGE9PW51bGx8fGQ/dGhp
cy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGY9ZD9hOmModGhpcykuaXMoIjpoaWRkZW4i
KTtjKHRoaXMpW2Y/InNob3ciOiJoaWRlIl0oKX0pOnRoaXMuYW5pbWF0ZShLKCJ0
b2dnbGUiLDMpLGEsYik7cmV0dXJuIHRoaXN9LGZhZGVUbzpmdW5jdGlvbihhLGIs
ZCl7cmV0dXJuIHRoaXMuZmlsdGVyKCI6aGlkZGVuIikuY3NzKCJvcGFjaXR5Iiww
KS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTpifSxhLGQpfSwKYW5pbWF0
ZTpmdW5jdGlvbihhLGIsZCxmKXt2YXIgZT1jLnNwZWVkKGIsZCxmKTtpZihjLmlz
RW1wdHlPYmplY3QoYSkpcmV0dXJuIHRoaXMuZWFjaChlLmNvbXBsZXRlKTtyZXR1
cm4gdGhpc1tlLnF1ZXVlPT09ZmFsc2U/ImVhY2giOiJxdWV1ZSJdKGZ1bmN0aW9u
KCl7dmFyIGo9Yy5leHRlbmQoe30sZSksaSxvPXRoaXMubm9kZVR5cGU9PT0xJiZj
KHRoaXMpLmlzKCI6aGlkZGVuIiksaz10aGlzO2ZvcihpIGluIGEpe3ZhciBuPWku
cmVwbGFjZShpYSxqYSk7aWYoaSE9PW4pe2Fbbl09YVtpXTtkZWxldGUgYVtpXTtp
PW59aWYoYVtpXT09PSJoaWRlIiYmb3x8YVtpXT09PSJzaG93IiYmIW8pcmV0dXJu
IGouY29tcGxldGUuY2FsbCh0aGlzKTtpZigoaT09PSJoZWlnaHQifHxpPT09Indp
ZHRoIikmJnRoaXMuc3R5bGUpe2ouZGlzcGxheT1jLmNzcyh0aGlzLCJkaXNwbGF5
Iik7ai5vdmVyZmxvdz10aGlzLnN0eWxlLm92ZXJmbG93fWlmKGMuaXNBcnJheShh
W2ldKSl7KGouc3BlY2lhbEVhc2luZz0Kai5zcGVjaWFsRWFzaW5nfHx7fSlbaV09
YVtpXVsxXTthW2ldPWFbaV1bMF19fWlmKGoub3ZlcmZsb3chPW51bGwpdGhpcy5z
dHlsZS5vdmVyZmxvdz0iaGlkZGVuIjtqLmN1ckFuaW09Yy5leHRlbmQoe30sYSk7
Yy5lYWNoKGEsZnVuY3Rpb24ocix1KXt2YXIgej1uZXcgYy5meChrLGoscik7aWYo
QWIudGVzdCh1KSl6W3U9PT0idG9nZ2xlIj9vPyJzaG93IjoiaGlkZSI6dV0oYSk7
ZWxzZXt2YXIgQz1CYi5leGVjKHUpLEI9ei5jdXIodHJ1ZSl8fDA7aWYoQyl7dT1w
YXJzZUZsb2F0KENbMl0pO3ZhciBFPUNbM118fCJweCI7aWYoRSE9PSJweCIpe2su
c3R5bGVbcl09KHV8fDEpK0U7Qj0odXx8MSkvei5jdXIodHJ1ZSkqQjtrLnN0eWxl
W3JdPUIrRX1pZihDWzFdKXU9KENbMV09PT0iLT0iPy0xOjEpKnUrQjt6LmN1c3Rv
bShCLHUsRSl9ZWxzZSB6LmN1c3RvbShCLHUsIiIpfX0pO3JldHVybiB0cnVlfSl9
LHN0b3A6ZnVuY3Rpb24oYSxiKXt2YXIgZD1jLnRpbWVyczthJiZ0aGlzLnF1ZXVl
KFtdKTsKdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Zm9yKHZhciBmPWQubGVuZ3RoLTE7
Zj49MDtmLS0paWYoZFtmXS5lbGVtPT09dGhpcyl7YiYmZFtmXSh0cnVlKTtkLnNw
bGljZShmLDEpfX0pO2J8fHRoaXMuZGVxdWV1ZSgpO3JldHVybiB0aGlzfX0pO2Mu
ZWFjaCh7c2xpZGVEb3duOksoInNob3ciLDEpLHNsaWRlVXA6SygiaGlkZSIsMSks
c2xpZGVUb2dnbGU6SygidG9nZ2xlIiwxKSxmYWRlSW46e29wYWNpdHk6InNob3ci
fSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn19LGZ1bmN0aW9uKGEsYil7Yy5mblth
XT1mdW5jdGlvbihkLGYpe3JldHVybiB0aGlzLmFuaW1hdGUoYixkLGYpfX0pO2Mu
ZXh0ZW5kKHtzcGVlZDpmdW5jdGlvbihhLGIsZCl7dmFyIGY9YSYmdHlwZW9mIGE9
PT0ib2JqZWN0Ij9hOntjb21wbGV0ZTpkfHwhZCYmYnx8Yy5pc0Z1bmN0aW9uKGEp
JiZhLGR1cmF0aW9uOmEsZWFzaW5nOmQmJmJ8fGImJiFjLmlzRnVuY3Rpb24oYikm
JmJ9O2YuZHVyYXRpb249Yy5meC5vZmY/MDp0eXBlb2YgZi5kdXJhdGlvbj09PQoi
bnVtYmVyIj9mLmR1cmF0aW9uOmMuZnguc3BlZWRzW2YuZHVyYXRpb25dfHxjLmZ4
LnNwZWVkcy5fZGVmYXVsdDtmLm9sZD1mLmNvbXBsZXRlO2YuY29tcGxldGU9ZnVu
Y3Rpb24oKXtmLnF1ZXVlIT09ZmFsc2UmJmModGhpcykuZGVxdWV1ZSgpO2MuaXNG
dW5jdGlvbihmLm9sZCkmJmYub2xkLmNhbGwodGhpcyl9O3JldHVybiBmfSxlYXNp
bmc6e2xpbmVhcjpmdW5jdGlvbihhLGIsZCxmKXtyZXR1cm4gZCtmKmF9LHN3aW5n
OmZ1bmN0aW9uKGEsYixkLGYpe3JldHVybigtTWF0aC5jb3MoYSpNYXRoLlBJKS8y
KzAuNSkqZitkfX0sdGltZXJzOltdLGZ4OmZ1bmN0aW9uKGEsYixkKXt0aGlzLm9w
dGlvbnM9Yjt0aGlzLmVsZW09YTt0aGlzLnByb3A9ZDtpZighYi5vcmlnKWIub3Jp
Zz17fX19KTtjLmZ4LnByb3RvdHlwZT17dXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5v
cHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRo
aXMubm93LHRoaXMpOyhjLmZ4LnN0ZXBbdGhpcy5wcm9wXXx8CmMuZnguc3RlcC5f
ZGVmYXVsdCkodGhpcyk7aWYoKHRoaXMucHJvcD09PSJoZWlnaHQifHx0aGlzLnBy
b3A9PT0id2lkdGgiKSYmdGhpcy5lbGVtLnN0eWxlKXRoaXMuZWxlbS5zdHlsZS5k
aXNwbGF5PSJibG9jayJ9LGN1cjpmdW5jdGlvbihhKXtpZih0aGlzLmVsZW1bdGhp
cy5wcm9wXSE9bnVsbCYmKCF0aGlzLmVsZW0uc3R5bGV8fHRoaXMuZWxlbS5zdHls
ZVt0aGlzLnByb3BdPT1udWxsKSlyZXR1cm4gdGhpcy5lbGVtW3RoaXMucHJvcF07
cmV0dXJuKGE9cGFyc2VGbG9hdChjLmNzcyh0aGlzLmVsZW0sdGhpcy5wcm9wLGEp
KSkmJmE+LTEwMDAwP2E6cGFyc2VGbG9hdChjLmN1ckNTUyh0aGlzLmVsZW0sdGhp
cy5wcm9wKSl8fDB9LGN1c3RvbTpmdW5jdGlvbihhLGIsZCl7ZnVuY3Rpb24gZihq
KXtyZXR1cm4gZS5zdGVwKGopfXRoaXMuc3RhcnRUaW1lPUooKTt0aGlzLnN0YXJ0
PWE7dGhpcy5lbmQ9Yjt0aGlzLnVuaXQ9ZHx8dGhpcy51bml0fHwicHgiO3RoaXMu
bm93PXRoaXMuc3RhcnQ7CnRoaXMucG9zPXRoaXMuc3RhdGU9MDt2YXIgZT10aGlz
O2YuZWxlbT10aGlzLmVsZW07aWYoZigpJiZjLnRpbWVycy5wdXNoKGYpJiYhVylX
PXNldEludGVydmFsKGMuZngudGljaywxMyl9LHNob3c6ZnVuY3Rpb24oKXt0aGlz
Lm9wdGlvbnMub3JpZ1t0aGlzLnByb3BdPWMuc3R5bGUodGhpcy5lbGVtLHRoaXMu
cHJvcCk7dGhpcy5vcHRpb25zLnNob3c9dHJ1ZTt0aGlzLmN1c3RvbSh0aGlzLnBy
b3A9PT0id2lkdGgifHx0aGlzLnByb3A9PT0iaGVpZ2h0Ij8xOjAsdGhpcy5jdXIo
KSk7Yyh0aGlzLmVsZW0pLnNob3coKX0saGlkZTpmdW5jdGlvbigpe3RoaXMub3B0
aW9ucy5vcmlnW3RoaXMucHJvcF09Yy5zdHlsZSh0aGlzLmVsZW0sdGhpcy5wcm9w
KTt0aGlzLm9wdGlvbnMuaGlkZT10cnVlO3RoaXMuY3VzdG9tKHRoaXMuY3VyKCks
MCl9LHN0ZXA6ZnVuY3Rpb24oYSl7dmFyIGI9SigpLGQ9dHJ1ZTtpZihhfHxiPj10
aGlzLm9wdGlvbnMuZHVyYXRpb24rdGhpcy5zdGFydFRpbWUpe3RoaXMubm93PQp0
aGlzLmVuZDt0aGlzLnBvcz10aGlzLnN0YXRlPTE7dGhpcy51cGRhdGUoKTt0aGlz
Lm9wdGlvbnMuY3VyQW5pbVt0aGlzLnByb3BdPXRydWU7Zm9yKHZhciBmIGluIHRo
aXMub3B0aW9ucy5jdXJBbmltKWlmKHRoaXMub3B0aW9ucy5jdXJBbmltW2ZdIT09
dHJ1ZSlkPWZhbHNlO2lmKGQpe2lmKHRoaXMub3B0aW9ucy5kaXNwbGF5IT1udWxs
KXt0aGlzLmVsZW0uc3R5bGUub3ZlcmZsb3c9dGhpcy5vcHRpb25zLm92ZXJmbG93
O2E9Yy5kYXRhKHRoaXMuZWxlbSwib2xkZGlzcGxheSIpO3RoaXMuZWxlbS5zdHls
ZS5kaXNwbGF5PWE/YTp0aGlzLm9wdGlvbnMuZGlzcGxheTtpZihjLmNzcyh0aGlz
LmVsZW0sImRpc3BsYXkiKT09PSJub25lIil0aGlzLmVsZW0uc3R5bGUuZGlzcGxh
eT0iYmxvY2sifXRoaXMub3B0aW9ucy5oaWRlJiZjKHRoaXMuZWxlbSkuaGlkZSgp
O2lmKHRoaXMub3B0aW9ucy5oaWRlfHx0aGlzLm9wdGlvbnMuc2hvdylmb3IodmFy
IGUgaW4gdGhpcy5vcHRpb25zLmN1ckFuaW0pYy5zdHlsZSh0aGlzLmVsZW0sCmUs
dGhpcy5vcHRpb25zLm9yaWdbZV0pO3RoaXMub3B0aW9ucy5jb21wbGV0ZS5jYWxs
KHRoaXMuZWxlbSl9cmV0dXJuIGZhbHNlfWVsc2V7ZT1iLXRoaXMuc3RhcnRUaW1l
O3RoaXMuc3RhdGU9ZS90aGlzLm9wdGlvbnMuZHVyYXRpb247YT10aGlzLm9wdGlv
bnMuZWFzaW5nfHwoYy5lYXNpbmcuc3dpbmc/InN3aW5nIjoibGluZWFyIik7dGhp
cy5wb3M9Yy5lYXNpbmdbdGhpcy5vcHRpb25zLnNwZWNpYWxFYXNpbmcmJnRoaXMu
b3B0aW9ucy5zcGVjaWFsRWFzaW5nW3RoaXMucHJvcF18fGFdKHRoaXMuc3RhdGUs
ZSwwLDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTt0aGlzLm5vdz10aGlzLnN0YXJ0
Kyh0aGlzLmVuZC10aGlzLnN0YXJ0KSp0aGlzLnBvczt0aGlzLnVwZGF0ZSgpfXJl
dHVybiB0cnVlfX07Yy5leHRlbmQoYy5meCx7dGljazpmdW5jdGlvbigpe2Zvcih2
YXIgYT1jLnRpbWVycyxiPTA7YjxhLmxlbmd0aDtiKyspYVtiXSgpfHxhLnNwbGlj
ZShiLS0sMSk7YS5sZW5ndGh8fApjLmZ4LnN0b3AoKX0sc3RvcDpmdW5jdGlvbigp
e2NsZWFySW50ZXJ2YWwoVyk7Vz1udWxsfSxzcGVlZHM6e3Nsb3c6NjAwLGZhc3Q6
MjAwLF9kZWZhdWx0OjQwMH0sc3RlcDp7b3BhY2l0eTpmdW5jdGlvbihhKXtjLnN0
eWxlKGEuZWxlbSwib3BhY2l0eSIsYS5ub3cpfSxfZGVmYXVsdDpmdW5jdGlvbihh
KXtpZihhLmVsZW0uc3R5bGUmJmEuZWxlbS5zdHlsZVthLnByb3BdIT1udWxsKWEu
ZWxlbS5zdHlsZVthLnByb3BdPShhLnByb3A9PT0id2lkdGgifHxhLnByb3A9PT0i
aGVpZ2h0Ij9NYXRoLm1heCgwLGEubm93KTphLm5vdykrYS51bml0O2Vsc2UgYS5l
bGVtW2EucHJvcF09YS5ub3d9fX0pO2lmKGMuZXhwciYmYy5leHByLmZpbHRlcnMp
Yy5leHByLmZpbHRlcnMuYW5pbWF0ZWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGMuZ3Jl
cChjLnRpbWVycyxmdW5jdGlvbihiKXtyZXR1cm4gYT09PWIuZWxlbX0pLmxlbmd0
aH07Yy5mbi5vZmZzZXQ9ImdldEJvdW5kaW5nQ2xpZW50UmVjdCJpbiBzLmRvY3Vt
ZW50RWxlbWVudD8KZnVuY3Rpb24oYSl7dmFyIGI9dGhpc1swXTtpZihhKXJldHVy
biB0aGlzLmVhY2goZnVuY3Rpb24oZSl7Yy5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMs
YSxlKX0pO2lmKCFifHwhYi5vd25lckRvY3VtZW50KXJldHVybiBudWxsO2lmKGI9
PT1iLm93bmVyRG9jdW1lbnQuYm9keSlyZXR1cm4gYy5vZmZzZXQuYm9keU9mZnNl
dChiKTt2YXIgZD1iLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGY9Yi5vd25lckRv
Y3VtZW50O2I9Zi5ib2R5O2Y9Zi5kb2N1bWVudEVsZW1lbnQ7cmV0dXJue3RvcDpk
LnRvcCsoc2VsZi5wYWdlWU9mZnNldHx8Yy5zdXBwb3J0LmJveE1vZGVsJiZmLnNj
cm9sbFRvcHx8Yi5zY3JvbGxUb3ApLShmLmNsaWVudFRvcHx8Yi5jbGllbnRUb3B8
fDApLGxlZnQ6ZC5sZWZ0KyhzZWxmLnBhZ2VYT2Zmc2V0fHxjLnN1cHBvcnQuYm94
TW9kZWwmJmYuc2Nyb2xsTGVmdHx8Yi5zY3JvbGxMZWZ0KS0oZi5jbGllbnRMZWZ0
fHxiLmNsaWVudExlZnR8fDApfX06ZnVuY3Rpb24oYSl7dmFyIGI9CnRoaXNbMF07
aWYoYSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKHIpe2Mub2Zmc2V0LnNldE9m
ZnNldCh0aGlzLGEscil9KTtpZighYnx8IWIub3duZXJEb2N1bWVudClyZXR1cm4g
bnVsbDtpZihiPT09Yi5vd25lckRvY3VtZW50LmJvZHkpcmV0dXJuIGMub2Zmc2V0
LmJvZHlPZmZzZXQoYik7Yy5vZmZzZXQuaW5pdGlhbGl6ZSgpO3ZhciBkPWIub2Zm
c2V0UGFyZW50LGY9YixlPWIub3duZXJEb2N1bWVudCxqLGk9ZS5kb2N1bWVudEVs
ZW1lbnQsbz1lLmJvZHk7Zj0oZT1lLmRlZmF1bHRWaWV3KT9lLmdldENvbXB1dGVk
U3R5bGUoYixudWxsKTpiLmN1cnJlbnRTdHlsZTtmb3IodmFyIGs9Yi5vZmZzZXRU
b3Asbj1iLm9mZnNldExlZnQ7KGI9Yi5wYXJlbnROb2RlKSYmYiE9PW8mJmIhPT1p
Oyl7aWYoYy5vZmZzZXQuc3VwcG9ydHNGaXhlZFBvc2l0aW9uJiZmLnBvc2l0aW9u
PT09ImZpeGVkIilicmVhaztqPWU/ZS5nZXRDb21wdXRlZFN0eWxlKGIsbnVsbCk6
Yi5jdXJyZW50U3R5bGU7CmstPWIuc2Nyb2xsVG9wO24tPWIuc2Nyb2xsTGVmdDtp
ZihiPT09ZCl7ays9Yi5vZmZzZXRUb3A7bis9Yi5vZmZzZXRMZWZ0O2lmKGMub2Zm
c2V0LmRvZXNOb3RBZGRCb3JkZXImJiEoYy5vZmZzZXQuZG9lc0FkZEJvcmRlckZv
clRhYmxlQW5kQ2VsbHMmJi9edChhYmxlfGR8aCkkL2kudGVzdChiLm5vZGVOYW1l
KSkpe2srPXBhcnNlRmxvYXQoai5ib3JkZXJUb3BXaWR0aCl8fDA7bis9cGFyc2VG
bG9hdChqLmJvcmRlckxlZnRXaWR0aCl8fDB9Zj1kO2Q9Yi5vZmZzZXRQYXJlbnR9
aWYoYy5vZmZzZXQuc3VidHJhY3RzQm9yZGVyRm9yT3ZlcmZsb3dOb3RWaXNpYmxl
JiZqLm92ZXJmbG93IT09InZpc2libGUiKXtrKz1wYXJzZUZsb2F0KGouYm9yZGVy
VG9wV2lkdGgpfHwwO24rPXBhcnNlRmxvYXQoai5ib3JkZXJMZWZ0V2lkdGgpfHww
fWY9an1pZihmLnBvc2l0aW9uPT09InJlbGF0aXZlInx8Zi5wb3NpdGlvbj09PSJz
dGF0aWMiKXtrKz1vLm9mZnNldFRvcDtuKz1vLm9mZnNldExlZnR9aWYoYy5vZmZz
ZXQuc3VwcG9ydHNGaXhlZFBvc2l0aW9uJiYKZi5wb3NpdGlvbj09PSJmaXhlZCIp
e2srPU1hdGgubWF4KGkuc2Nyb2xsVG9wLG8uc2Nyb2xsVG9wKTtuKz1NYXRoLm1h
eChpLnNjcm9sbExlZnQsby5zY3JvbGxMZWZ0KX1yZXR1cm57dG9wOmssbGVmdDpu
fX07Yy5vZmZzZXQ9e2luaXRpYWxpemU6ZnVuY3Rpb24oKXt2YXIgYT1zLmJvZHks
Yj1zLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQsZixlLGo9cGFyc2VGbG9hdChjLmN1
ckNTUyhhLCJtYXJnaW5Ub3AiLHRydWUpKXx8MDtjLmV4dGVuZChiLnN0eWxlLHtw
b3NpdGlvbjoiYWJzb2x1dGUiLHRvcDowLGxlZnQ6MCxtYXJnaW46MCxib3JkZXI6
MCx3aWR0aDoiMXB4IixoZWlnaHQ6IjFweCIsdmlzaWJpbGl0eToiaGlkZGVuIn0p
O2IuaW5uZXJIVE1MPSI8ZGl2IHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0ZTt0b3A6
MDtsZWZ0OjA7bWFyZ2luOjA7Ym9yZGVyOjVweCBzb2xpZCAjMDAwO3BhZGRpbmc6
MDt3aWR0aDoxcHg7aGVpZ2h0OjFweDsnPjxkaXY+PC9kaXY+PC9kaXY+PHRhYmxl
IHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7bWFyZ2luOjA7
Ym9yZGVyOjVweCBzb2xpZCAjMDAwO3BhZGRpbmc6MDt3aWR0aDoxcHg7aGVpZ2h0
OjFweDsnIGNlbGxwYWRkaW5nPScwJyBjZWxsc3BhY2luZz0nMCc+PHRyPjx0ZD48
L3RkPjwvdHI+PC90YWJsZT4iOwphLmluc2VydEJlZm9yZShiLGEuZmlyc3RDaGls
ZCk7ZD1iLmZpcnN0Q2hpbGQ7Zj1kLmZpcnN0Q2hpbGQ7ZT1kLm5leHRTaWJsaW5n
LmZpcnN0Q2hpbGQuZmlyc3RDaGlsZDt0aGlzLmRvZXNOb3RBZGRCb3JkZXI9Zi5v
ZmZzZXRUb3AhPT01O3RoaXMuZG9lc0FkZEJvcmRlckZvclRhYmxlQW5kQ2VsbHM9
ZS5vZmZzZXRUb3A9PT01O2Yuc3R5bGUucG9zaXRpb249ImZpeGVkIjtmLnN0eWxl
LnRvcD0iMjBweCI7dGhpcy5zdXBwb3J0c0ZpeGVkUG9zaXRpb249Zi5vZmZzZXRU
b3A9PT0yMHx8Zi5vZmZzZXRUb3A9PT0xNTtmLnN0eWxlLnBvc2l0aW9uPWYuc3R5
bGUudG9wPSIiO2Quc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7ZC5zdHlsZS5wb3Np
dGlvbj0icmVsYXRpdmUiO3RoaXMuc3VidHJhY3RzQm9yZGVyRm9yT3ZlcmZsb3dO
b3RWaXNpYmxlPWYub2Zmc2V0VG9wPT09LTU7dGhpcy5kb2VzTm90SW5jbHVkZU1h
cmdpbkluQm9keU9mZnNldD1hLm9mZnNldFRvcCE9PWo7YS5yZW1vdmVDaGlsZChi
KTsKYy5vZmZzZXQuaW5pdGlhbGl6ZT1jLm5vb3B9LGJvZHlPZmZzZXQ6ZnVuY3Rp
b24oYSl7dmFyIGI9YS5vZmZzZXRUb3AsZD1hLm9mZnNldExlZnQ7Yy5vZmZzZXQu
aW5pdGlhbGl6ZSgpO2lmKGMub2Zmc2V0LmRvZXNOb3RJbmNsdWRlTWFyZ2luSW5C
b2R5T2Zmc2V0KXtiKz1wYXJzZUZsb2F0KGMuY3VyQ1NTKGEsIm1hcmdpblRvcCIs
dHJ1ZSkpfHwwO2QrPXBhcnNlRmxvYXQoYy5jdXJDU1MoYSwibWFyZ2luTGVmdCIs
dHJ1ZSkpfHwwfXJldHVybnt0b3A6YixsZWZ0OmR9fSxzZXRPZmZzZXQ6ZnVuY3Rp
b24oYSxiLGQpe2lmKC9zdGF0aWMvLnRlc3QoYy5jdXJDU1MoYSwicG9zaXRpb24i
KSkpYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiO3ZhciBmPWMoYSksZT1mLm9m
ZnNldCgpLGo9cGFyc2VJbnQoYy5jdXJDU1MoYSwidG9wIix0cnVlKSwxMCl8fDAs
aT1wYXJzZUludChjLmN1ckNTUyhhLCJsZWZ0Iix0cnVlKSwxMCl8fDA7aWYoYy5p
c0Z1bmN0aW9uKGIpKWI9Yi5jYWxsKGEsCmQsZSk7ZD17dG9wOmIudG9wLWUudG9w
K2osbGVmdDpiLmxlZnQtZS5sZWZ0K2l9OyJ1c2luZyJpbiBiP2IudXNpbmcuY2Fs
bChhLGQpOmYuY3NzKGQpfX07Yy5mbi5leHRlbmQoe3Bvc2l0aW9uOmZ1bmN0aW9u
KCl7aWYoIXRoaXNbMF0pcmV0dXJuIG51bGw7dmFyIGE9dGhpc1swXSxiPXRoaXMu
b2Zmc2V0UGFyZW50KCksZD10aGlzLm9mZnNldCgpLGY9L15ib2R5fGh0bWwkL2ku
dGVzdChiWzBdLm5vZGVOYW1lKT97dG9wOjAsbGVmdDowfTpiLm9mZnNldCgpO2Qu
dG9wLT1wYXJzZUZsb2F0KGMuY3VyQ1NTKGEsIm1hcmdpblRvcCIsdHJ1ZSkpfHww
O2QubGVmdC09cGFyc2VGbG9hdChjLmN1ckNTUyhhLCJtYXJnaW5MZWZ0Iix0cnVl
KSl8fDA7Zi50b3ArPXBhcnNlRmxvYXQoYy5jdXJDU1MoYlswXSwiYm9yZGVyVG9w
V2lkdGgiLHRydWUpKXx8MDtmLmxlZnQrPXBhcnNlRmxvYXQoYy5jdXJDU1MoYlsw
XSwiYm9yZGVyTGVmdFdpZHRoIix0cnVlKSl8fDA7cmV0dXJue3RvcDpkLnRvcC0K
Zi50b3AsbGVmdDpkLmxlZnQtZi5sZWZ0fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9u
KCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMub2Zm
c2V0UGFyZW50fHxzLmJvZHk7YSYmIS9eYm9keXxodG1sJC9pLnRlc3QoYS5ub2Rl
TmFtZSkmJmMuY3NzKGEsInBvc2l0aW9uIik9PT0ic3RhdGljIjspYT1hLm9mZnNl
dFBhcmVudDtyZXR1cm4gYX0pfX0pO2MuZWFjaChbIkxlZnQiLCJUb3AiXSxmdW5j
dGlvbihhLGIpe3ZhciBkPSJzY3JvbGwiK2I7Yy5mbltkXT1mdW5jdGlvbihmKXt2
YXIgZT10aGlzWzBdLGo7aWYoIWUpcmV0dXJuIG51bGw7aWYoZiE9PXcpcmV0dXJu
IHRoaXMuZWFjaChmdW5jdGlvbigpe2lmKGo9d2EodGhpcykpai5zY3JvbGxUbygh
YT9mOmMoaikuc2Nyb2xsTGVmdCgpLGE/ZjpjKGopLnNjcm9sbFRvcCgpKTtlbHNl
IHRoaXNbZF09Zn0pO2Vsc2UgcmV0dXJuKGo9d2EoZSkpPyJwYWdlWE9mZnNldCJp
biBqP2pbYT8icGFnZVlPZmZzZXQiOgoicGFnZVhPZmZzZXQiXTpjLnN1cHBvcnQu
Ym94TW9kZWwmJmouZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50W2RdfHxqLmRvY3Vt
ZW50LmJvZHlbZF06ZVtkXX19KTtjLmVhY2goWyJIZWlnaHQiLCJXaWR0aCJdLGZ1
bmN0aW9uKGEsYil7dmFyIGQ9Yi50b0xvd2VyQ2FzZSgpO2MuZm5bImlubmVyIiti
XT1mdW5jdGlvbigpe3JldHVybiB0aGlzWzBdP2MuY3NzKHRoaXNbMF0sZCxmYWxz
ZSwicGFkZGluZyIpOm51bGx9O2MuZm5bIm91dGVyIitiXT1mdW5jdGlvbihmKXty
ZXR1cm4gdGhpc1swXT9jLmNzcyh0aGlzWzBdLGQsZmFsc2UsZj8ibWFyZ2luIjoi
Ym9yZGVyIik6bnVsbH07Yy5mbltkXT1mdW5jdGlvbihmKXt2YXIgZT10aGlzWzBd
O2lmKCFlKXJldHVybiBmPT1udWxsP251bGw6dGhpcztpZihjLmlzRnVuY3Rpb24o
ZikpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihqKXt2YXIgaT1jKHRoaXMpO2lb
ZF0oZi5jYWxsKHRoaXMsaixpW2RdKCkpKX0pO3JldHVybiJzY3JvbGxUbyJpbgpl
JiZlLmRvY3VtZW50P2UuZG9jdW1lbnQuY29tcGF0TW9kZT09PSJDU1MxQ29tcGF0
IiYmZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbImNsaWVudCIrYl18fGUuZG9j
dW1lbnQuYm9keVsiY2xpZW50IitiXTplLm5vZGVUeXBlPT09OT9NYXRoLm1heChl
LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IitiXSxlLmJvZHlbInNjcm9sbCIrYl0s
ZS5kb2N1bWVudEVsZW1lbnRbInNjcm9sbCIrYl0sZS5ib2R5WyJvZmZzZXQiK2Jd
LGUuZG9jdW1lbnRFbGVtZW50WyJvZmZzZXQiK2JdKTpmPT09dz9jLmNzcyhlLGQp
OnRoaXMuY3NzKGQsdHlwZW9mIGY9PT0ic3RyaW5nIj9mOmYrInB4Iil9fSk7QS5q
UXVlcnk9QS4kPWN9KSh3aW5kb3cpOwoNCg0KLy8uLi9qcXVlcnkucG5nRml4LnBh
Y2suanMNCi8qKg0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAqIGpRdWVyeS1Q
bHVnaW4gInBuZ0ZpeCINCiAqIFZlcnNpb246IDEuMSwgMTEuMDkuMjAwNw0KICog
YnkgQW5kcmVhcyBFYmVyaGFyZCwgYW5kcmVhcy5lYmVyaGFyZEBnbWFpbC5jb20N
CiAqICAgICAgICAgICAgICAgICAgICAgIGh0dHA6Ly9qcXVlcnkuYW5kcmVhc2Vi
ZXJoYXJkLmRlLw0KICoNCiAqIENvcHlyaWdodCAoYykgMjAwNyBBbmRyZWFzIEVi
ZXJoYXJkDQogKiBMaWNlbnNlZCB1bmRlciBHUEwgKGh0dHA6Ly93d3cub3BlbnNv
dXJjZS5vcmcvbGljZW5zZXMvZ3BsLWxpY2Vuc2UucGhwKQ0KICovDQpldmFsKGZ1
bmN0aW9uKHAsYSxjLGssZSxyKXtlPWZ1bmN0aW9uKGMpe3JldHVybihjPDYyPycn
OmUocGFyc2VJbnQoYy82MikpKSsoKGM9YyU2Mik+MzU/U3RyaW5nLmZyb21DaGFy
Q29kZShjKzI5KTpjLnRvU3RyaW5nKDM2KSl9O2lmKCcwJy5yZXBsYWNlKDAsZSk9
PTApe3doaWxlKGMtLSlyW2UoYyldPWtbY107az1bZnVuY3Rpb24oZSl7cmV0dXJu
IHJbZV18fGV9XTtlPWZ1bmN0aW9uKCl7cmV0dXJuJyhbMjM3LTluLXpBLVpdfDFc
XHcpJ307Yz0xfTt3aGlsZShjLS0paWYoa1tjXSlwPXAucmVwbGFjZShuZXcgUmVn
RXhwKCdcXGInK2UoYykrJ1xcYicsJ2cnKSxrW2NdKTtyZXR1cm4gcH0oJyhzKG0p
ezMuZm4ucG5nRml4PXMoYyl7Yz0zLmV4dGVuZCh7UDpcJ2JsYW5rLmdpZlwnfSxj
KTs4IGU9KG8uUT09InQgUiBTIiYmVChvLnUpPT00JiZvLnUuQSgiVSA1LjUiKSE9
LTEpOzggZj0oby5RPT0idCBSIFMiJiZUKG8udSk9PTQmJm8udS5BKCJVIDYuMCIp
IT0tMSk7cCgzLmJyb3dzZXIubXNpZSYmKGV8fGYpKXszKDIpLkIoImltZ1tuJD0u
Q10iKS5EKHMoKXszKDIpLjcoXCdxXCcsMygyKS5xKCkpOzMoMikuNyhcJ3JcJywz
KDIpLnIoKSk7OCBhPVwnXCc7OCBiPVwnXCc7OCBnPSgzKDIpLjcoXCdFXCcpKT9c
J0U9IlwnKzMoMikuNyhcJ0VcJykrXCciIFwnOlwnXCc7OCBoPSgzKDIpLjcoXCdG
XCcpKT9cJ0Y9IlwnKzMoMikuNyhcJ0ZcJykrXCciIFwnOlwnXCc7OCBpPSgzKDIp
LjcoXCdHXCcpKT9cJ0c9IlwnKzMoMikuNyhcJ0dcJykrXCciIFwnOlwnXCc7OCBq
PSgzKDIpLjcoXCdIXCcpKT9cJ0g9IlwnKzMoMikuNyhcJ0hcJykrXCciIFwnOlwn
XCc7OCBrPSgzKDIpLjcoXCdWXCcpKT9cJ2Zsb2F0OlwnKzMoMikuNyhcJ1ZcJykr
XCc7XCc6XCdcJzs4IGQ9KDMoMikucGFyZW50KCkuNyhcJ2hyZWZcJykpP1wnY3Vy
c29yOmhhbmQ7XCc6XCdcJztwKDIuOS52KXthKz1cJ3Y6XCcrMi45LnYrXCc7XCc7
Mi45LnY9XCdcJ31wKDIuOS53KXthKz1cJ3c6XCcrMi45LncrXCc7XCc7Mi45Lnc9
XCdcJ31wKDIuOS54KXthKz1cJ3g6XCcrMi45LngrXCc7XCc7Mi45Lng9XCdcJ304
IGw9KDIuOS5jc3NUZXh0KTtiKz1cJzx5IFwnK2craCtpK2o7Yis9XCc5PSJXOlg7
d2hpdGUtc3BhY2U6cHJlLWxpbmU7WTpaLTEwO0k6dHJhbnNwYXJlbnQ7XCcraytk
O2IrPVwncTpcJyszKDIpLnEoKStcJ3o7cjpcJyszKDIpLnIoKStcJ3o7XCc7Yis9
XCdKOks6TC50Lk0obj1cXFwnXCcrMygyKS43KFwnblwnKStcJ1xcXCcsIE49XFxc
J09cXFwnKTtcJztiKz1sK1wnIj48L3k+XCc7cChhIT1cJ1wnKXtiPVwnPHkgOT0i
VzpYO1k6Wi0xMDtcJythK2QrXCdxOlwnKzMoMikucSgpK1wnejtyOlwnKzMoMiku
cigpK1wnejsiPlwnK2IrXCc8L3k+XCd9MygyKS5oaWRlKCk7MygyKS5hZnRlcihi
KX0pOzMoMikuQigiKiIpLkQocygpezggYT0zKDIpLjExKFwnSS0xMlwnKTtwKGEu
QSgiLkMiKSE9LTEpezggYj1hLjEzKFwndXJsKCJcJylbMV0uMTMoXCciKVwnKVsw
XTszKDIpLjExKFwnSS0xMlwnLFwnbm9uZVwnKTszKDIpLjE0KDApLjE1Lko9Iks6
TC50Lk0obj1cJyIrYisiXCcsTj1cJ09cJykifX0pOzMoMikuQigiaW5wdXRbbiQ9
LkNdIikuRChzKCl7OCBhPTMoMikuNyhcJ25cJyk7MygyKS4xNCgwKS4xNS5KPVwn
SzpMLnQuTShuPVxcXCdcJythK1wnXFxcJywgTj1cXFwnT1xcXCcpO1wnOzMoMiku
NyhcJ25cJyxjLlApfSl9cmV0dXJuIDN9fSkoMyk7JyxbXSw2OCwnfHx0aGlzfGpR
dWVyeXx8fHxhdHRyfHZhcnxzdHlsZXx8fHx8fHx8fHx8fHx8c3JjfG5hdmlnYXRv
cnxpZnx3aWR0aHxoZWlnaHR8ZnVuY3Rpb258TWljcm9zb2Z0fGFwcFZlcnNpb258
Ym9yZGVyfHBhZGRpbmd8bWFyZ2lufHNwYW58cHh8aW5kZXhPZnxmaW5kfHBuZ3xl
YWNofGlkfGNsYXNzfHRpdGxlfGFsdHxiYWNrZ3JvdW5kfGZpbHRlcnxwcm9naWR8
RFhJbWFnZVRyYW5zZm9ybXxBbHBoYUltYWdlTG9hZGVyfHNpemluZ01ldGhvZHxz
Y2FsZXxibGFua2dpZnxhcHBOYW1lfEludGVybmV0fEV4cGxvcmVyfHBhcnNlSW50
fE1TSUV8YWxpZ258cG9zaXRpb258cmVsYXRpdmV8ZGlzcGxheXxpbmxpbmV8Ymxv
Y2t8Y3NzfGltYWdlfHNwbGl0fGdldHxydW50aW1lU3R5bGUnLnNwbGl0KCd8Jyks
MCx7fSkpDQoNCi8vLi4vZnVuemlvbmkuanMNClZlcnNpb25lPSIxMS8xMC8yMDEw
IjskKGRvY3VtZW50KS5yZWFkeShmdl9pbml0KTtmdW5jdGlvbiBjc3NlbmFibGVk
KCl7JCgiYm9keSIpLmFwcGVuZCgiPGRpdiBpZD1cInRlc3Rjc3NcIj48L2Rpdj4i
KTskKCIjdGVzdGNzcyIpLmNzcyh7InBvc2l0aW9uIjoiYWJzb2x1dGUiLCJ0b3Ai
OiItMTAwMDBweCIsImxlZnQiOiItMTAwMDBweCJ9KTt2YXIgZXNpdD0kKCIjdGVz
dGNzcyIpLnBvc2l0aW9uKCkudG9wIDwgMDskKCIjdGVzdGNzcyIpLnJlbW92ZSgp
O3JldHVybiBlc2l0O31mdW5jdGlvbiBmdl9pbml0KCl7aWYoc2VsZi5wYWdpbmEg
IT11bmRlZmluZWQpeyQoIiNzZm9uZG9fbWVudV9jYW5hbGkgdWwgbGkgYSIpLmVh
Y2goZnVuY3Rpb24oKXtpZighICQodGhpcykucGFyZW50KCkuaGFzQ2xhc3MoImlu
ZGVudCIpKSQodGhpcykuYWRkQ2xhc3MoInRlbXBvcmFuZWEiKTtpZigkKHRoaXMp
Lmh0bWwoKT09cGFnaW5hKXskKHRoaXMpLmFkZENsYXNzKCJjdXJyZW50Iik7JCgi
I3Nmb25kb19tZW51X2NhbmFsaSB1bCBsaSBhLnRlbXBvcmFuZWEiKS5sYXN0KCku
YWRkQ2xhc3MoImN1cnJlbnQiKTt9fSl9JCgiI3Nmb25kb19tZW51X2NhbmFsaSB1
bCBsaSBhLnRlbXBvcmFuZWEiKS5yZW1vdmVDbGFzcygidGVtcG9yYW5lYSIpO2lm
KCQuYnJvd3Nlci5tc2llICYmKCQuYnJvd3Nlci52ZXJzaW9uPT0iNi4wIikmJigk
KCJ0aXRsZTpjb250YWlucygnSG9tZScpIikubGVuZ3RoPT0wKSkkKGRvY3VtZW50
KS5wbmdGaXgoKTskKGZ1bmN0aW9uKCl7JCgiYS5hcHJpX2ZpbmVzdHJhIikuY2xp
Y2soZnVuY3Rpb24oKXt3aW5kb3cub3Blbih0aGlzLmhyZWYpO3JldHVybiBmYWxz
ZTt9KTt9KTskKCIjZF9mb3JtIGZvcm0gaW5wdXRbdHlwZT1yYWRpb10iKS5hZGRD
bGFzcygiUmFkaW9DaGVjayIpOyQoIi5kX3RhYmVsbGEgdGFibGUgdHI6bnRoLWNo
aWxkKGV2ZW4pIikuYWRkQ2xhc3MoImV2ZW4iKTskKCIjY29sb25uYTIgdWwgbGk6
bGFzdC1jaGlsZCIpLmFkZENsYXNzKCJib3JkbyIpO3ZhciBjb3VudExpPTA7dmFy
IGFsbExpPSQoIiNjb2xvbm5hMiB1bCBsaS5pbmRlbnQgYSIpLmxlbmd0aDskKCIj
Y29sb25uYTIgdWwgbGkuaW5kZW50IGEiKS5lYWNoKGZ1bmN0aW9uKCl7Y291bnRM
aSsrOyQodGhpcykuYWZ0ZXIoKGFsbExpPT1jb3VudExpKT8gIjxzcGFuIGNsYXNz
PVwic2Z1bWF0dXJhX2R3XCI+PC9zcGFuPiI6IjxzcGFuIGNsYXNzPVwiYm9yZG9f
bWVudV9pbmRlbnRcIj48L3NwYW4+Iik7fSk7JCgiI2NvbG9ubmEyIHVsIGxpLmlu
ZGVudDpmaXJzdCBhIikuYmVmb3JlKCI8c3BhbiBjbGFzcz1cInNmdW1hdHVyYV91
cFwiPjwvc3Bhbj4iKTskKCIjY29sb25uYTIgdWwgbGkuaW5kZW50IGEuY3VycmVu
dCIpLnBhcmVudCgpLmFkZENsYXNzKCJzZWxlemlvbmF0byIpOyQoIi5hbmdvbG9f
Ym90dG9uZSIpLmVhY2goZnVuY3Rpb24oKXskKHRoaXMpLndyYXAoIjxwIGNsYXNz
PVwiYnRuX2JsdVwiPiIpOyQodGhpcykucGFyZW50KCkuYWZ0ZXIoIjxkaXYgY2xh
c3M9XCJjbGVhcmVyXCI+PC9kaXY+Iik7JCh0aGlzKS5hcHBlbmQoIjxzcGFuIGNs
YXNzPVwiYnRuX2JsdV9kZXNcIj48L3NwYW4+PHNwYW4gY2xhc3M9XCJidG5fYmx1
X3NpblwiPjwvc3Bhbj4iKTt9KTskKCJhLnB1bHNhbnRlX2FjY2VkaV9zciIpLmVh
Y2goZnVuY3Rpb24oKXskKHRoaXMpLndyYXAoIjxkaXYgY2xhc3M9XCJjcmVhX3B1
bHNhbnRlX2FjY2VkaV9zclwiPiIpOyQodGhpcykuYXBwZW5kKCI8c3BhbiBjbGFz
cz1cInB1bHNhbnRlX2FjY2VkaV9zcl9zeFwiPiZuYnNwOzwvc3Bhbj4iKTskKHRo
aXMpLmFwcGVuZCgiPHNwYW4gY2xhc3M9XCJwdWxzYW50ZV9hY2NlZGlfc3JfZHhc
Ij4mbmJzcDs8L3NwYW4+Iik7fSk7JCgiYS5wdWxzYW50ZV9hY2NlZGlfY3IiKS5l
YWNoKGZ1bmN0aW9uKCl7JCh0aGlzKS53cmFwKCI8ZGl2IGNsYXNzPVwiY3JlYV9w
dWxzYW50ZV9hY2NlZGlfY3JcIj4iKTskKHRoaXMpLmFwcGVuZCgiPHNwYW4gY2xh
c3M9XCJwdWxzYW50ZV9hY2NlZGlfY3Jfc3hcIj4mbmJzcDs8L3NwYW4+Iik7JCh0
aGlzKS5hcHBlbmQoIjxzcGFuIGNsYXNzPVwicHVsc2FudGVfYWNjZWRpX2NyX2R4
XCI+Jm5ic3A7PC9zcGFuPiIpO30pOyQoImEucHVsc2FudGVfc2tfYWRlbXAiKS5l
YWNoKGZ1bmN0aW9uKCl7JCh0aGlzKS53cmFwKCI8ZGl2IGNsYXNzPVwiY3JlYV9w
dWxzYW50ZV9za19hZGVtcFwiPiIpOyQodGhpcykuYXBwZW5kKCI8c3BhbiBjbGFz
cz1cInB1bHNhbnRlX3NrX2FkZW1wX3N4XCI+Jm5ic3A7PC9zcGFuPiIpOyQodGhp
cykuYXBwZW5kKCI8c3BhbiBjbGFzcz1cInB1bHNhbnRlX3NrX2FkZW1wX2R4XCI+
Jm5ic3A7PC9zcGFuPiIpO30pOyQoImEucHVsc2FudGVfc2tfYWRlbXBfcGRmIiku
ZWFjaChmdW5jdGlvbigpeyQodGhpcykud3JhcCgiPGRpdiBjbGFzcz1cImNyZWFf
cHVsc2FudGVfc2tfYWRlbXBfcGRmXCI+Iik7JCh0aGlzKS5hcHBlbmQoIjxzcGFu
IGNsYXNzPVwicHVsc2FudGVfc2tfYWRlbXBfcGRmX3N4XCI+Jm5ic3A7PC9zcGFu
PiIpOyQodGhpcykuYXBwZW5kKCI8c3BhbiBjbGFzcz1cInB1bHNhbnRlX3NrX2Fk
ZW1wX3BkZl9keFwiPiZuYnNwOzwvc3Bhbj4iKTt9KTskKCIjY29udGF0dGEsLmNy
ZWFfcHVsc2FudGVfc2tfYWRlbXAsLmNyZWFfcHVsc2FudGVfc2tfYWRlbXBfcGRm
IikuY2xpY2soZnVuY3Rpb24oKXt3aW5kb3cubG9jYXRpb249JCh0aGlzKS5maW5k
KCJhIikuYXR0cigiaHJlZiIpO3JldHVybiBmYWxzZTt9KTtpZihjc3NlbmFibGVk
KCkpeyQoIi50YWJzID4gZGl2IikuZWFjaChmdW5jdGlvbihpbmRleCl7aWYoJCh0
aGlzKS5hdHRyKCJpZCIpKSQodGhpcykuYWRkQ2xhc3MoJCh0aGlzKS5hdHRyKCJp
ZCIpKyAiX2pzIik7fSk7JCgiLnRhYnMgdWwudGFiTmF2aWdhdGlvbiIpLmFkZENs
YXNzKCJ0YWJOYXZpZ2F0aW9uX2pzIik7JCgiLnRhYnMgaDIiKS5hZGRDbGFzcygi
c2tpcGhlYWRlciIpO3ZhciB0YWJDb250YWluZXJzPSQoImRpdi50YWJzID4gZGl2
Iik7dGFiQ29udGFpbmVycy5oaWRlKCkuZmlsdGVyKCI6Zmlyc3QiKS5zaG93KCk7
JCgiZGl2LnRhYnMgdWwudGFiTmF2aWdhdGlvbiBhIikuY2xpY2soZnVuY3Rpb24o
KXt0YWJDb250YWluZXJzLmhpZGUoKTt0YWJDb250YWluZXJzLmZpbHRlcih0aGlz
Lmhhc2gpLnNob3coKTskKCJkaXYudGFicyB1bC50YWJOYXZpZ2F0aW9uIGEiKS5y
ZW1vdmVDbGFzcygic2VsZWN0ZWQiKTskKCJkaXYudGFicyB1bC50YWJOYXZpZ2F0
aW9uIGxpIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpOyQodGhpcykuYWRkQ2xhc3Mo
InNlbGVjdGVkIik7JCh0aGlzKS5wYXJlbnQoKS5hZGRDbGFzcygiYWN0aXZlIik7
cmV0dXJuIGZhbHNlO30pLmZpbHRlcigiOmZpcnN0IikuY2xpY2soKTt9aWYoY3Nz
ZW5hYmxlZCgpKXtmb3IoY291bnQ9MTtjb3VudCA8PTQ7Y291bnQrKykkKCIjc2Vs
Y2FsIiArIGNvdW50KS5hdHRyKCJocmVmIiwiI25vbmUiKTskKCIjc2VsY2FsMSIp
LmNsaWNrKGZ1bmN0aW9uKCl7c2VsY2FsKDIpO30pOyQoIiNzZWxjYWwyIikuY2xp
Y2soZnVuY3Rpb24oKXtzZWxjYWwoMSk7fSk7JCgiI3NlbGNhbDMiKS5jbGljayhm
dW5jdGlvbigpe3NlbGNhbCgzKTt9KTskKCIjc2VsY2FsNCIpLmNsaWNrKGZ1bmN0
aW9uKCl7c2VsY2FsKDIpO30pO31mdW5jdGlvbiBzZWxjYWwobil7Zm9yKGNvdW50
PTE7Y291bnQgPD0zO2NvdW50KyspJCgiI2NhbGVuZGFyaW8iICsgY291bnQgKyAi
LCNldmVudGkiICsgY291bnQpLmNzcyh7InBvc2l0aW9uIjoiYWJzb2x1dGUiLCJ0
b3AiOiItMTAwMDBweCIsImxlZnQiOiItMTAwMDBweCJ9KTskKCIjY2FsZW5kYXJp
byIgKyBuICsgIiwjZXZlbnRpIiArIG4pLmNzcyh7InBvc2l0aW9uIjoic3RhdGlj
In0pO3JldHVybjt9c2VsY2FsKDEpO3ZhciBtb3VudGhzPVsiZ2VubmFpbyIsImZl
YmJyYWlvIiwibWFyem8iLCJhcHJpbGUiLCJtYWdnaW8iLCJnaXVnbm8iLCJsdWds
aW8iLCJhZ29zdG8iLCJzZXR0ZW1icmUiLCJvdHRvYnJlIiwibm92ZW1icmUiLCJk
aWNlbWJyZSJdO2lmKHNlbGYudG9kYXkgIT11bmRlZmluZWQpe3ZhciBzdHJpcGRh
dGU9dG9kYXkuc3BsaXQoIi8iKTt2YXIgZGF0ZT1zdHJpcGRhdGVbMF0rICIgIiAr
IG1vdW50aHNbc3RyaXBkYXRlWzFdLSAxXSsgIiAiICsgc3RyaXBkYXRlWzJdOyQo
IiNjYWxlbmRhcmlvMSB0ZCwjY2FsZW5kYXJpbzIgdGQsI2NhbGVuZGFyaW8zIHRk
IikuZWFjaChmdW5jdGlvbigpe2NvbnRlbnQ9JCh0aGlzKS5odG1sKCk7Y29udGVu
dD1jb250ZW50LnJlcGxhY2UoL1tcclxuXHRdLywiIik7Y29udGVudD1jb250ZW50
LnJlcGxhY2UoLzxcL2E+L2ksIiIpO2NvbnRlbnQ9Y29udGVudC5yZXBsYWNlKC88
YVtePl0qPi9pLCIiKTtjb250ZW50PWNvbnRlbnQucmVwbGFjZSgvPHNwYW4+L2ks
IiIpO2NvbnRlbnQ9Y29udGVudC5yZXBsYWNlKC88XC9zcGFuPi9pLCIiKTtjb250
ZW50PSQudHJpbShjb250ZW50LnJlcGxhY2UoL1xzKy8sIiAiKSk7aWYoZGF0ZT09
Y29udGVudCkkKHRoaXMpLmh0bWwoIjwiICsgImRpdiBjbGFzcz1cImN1cmRhdGVc
Ij4iICsgJCh0aGlzKS5odG1sKCkrICI8IiArICIvZGl2PiIpO30pO30kKCIjdG9n
Z2xlX2NvbnRlbnQiKS5hZGRDbGFzcygibmFzY29uZGkiKTskKCIudG9nZ2xlX2xp
bmsiKS5jbGljayhmdW5jdGlvbigpe2lmKCQodGhpcykucGFyZW50KCkuZmluZCgi
I3RvZ2dsZV9jb250ZW50IikuaGFzQ2xhc3MoIm5hc2NvbmRpIikpeyQodGhpcyku
cGFyZW50KCkuZmluZCgiI3RvZ2dsZV9jb250ZW50IikucmVtb3ZlQ2xhc3MoIm5h
c2NvbmRpIik7JCh0aGlzKS5wYXJlbnQoKS5maW5kKCIjdG9nZ2xlX2NvbnRlbnQi
KS5hZGRDbGFzcygibW9zdHJhIik7JCh0aGlzKS5jaGlsZHJlbigiYSIpLmFkZENs
YXNzKCJ2aXNpYmlsZSIpO31lbHNleyQodGhpcykucGFyZW50KCkuZmluZCgiI3Rv
Z2dsZV9jb250ZW50IikucmVtb3ZlQ2xhc3MoIm1vc3RyYSIpOyQodGhpcykucGFy
ZW50KCkuZmluZCgiI3RvZ2dsZV9jb250ZW50IikuYWRkQ2xhc3MoIm5hc2NvbmRp
Iik7JCh0aGlzKS5jaGlsZHJlbigiYSIpLnJlbW92ZUNsYXNzKCJ2aXNpYmlsZSIp
O31yZXR1cm4gZmFsc2U7fSk7JCgiI3Rlc3RvX25hc2Nvc3RvIikuYWRkQ2xhc3Mo
Im5hc2NvbmRpIik7JCgiLmFwcmlfbGluayIpLmNsaWNrKGZ1bmN0aW9uKCl7aWYo
JCgiI3Rlc3RvX25hc2Nvc3RvIikuaGFzQ2xhc3MoIm5hc2NvbmRpIikpeyQoIiN0
ZXN0b19uYXNjb3N0byIpLnJlbW92ZUNsYXNzKCJuYXNjb25kaSIpOyQoIiN0ZXN0
b19uYXNjb3N0byIpLmFkZENsYXNzKCJtb3N0cmEiKTskKCJzcGFuLmFwcmlfbGlu
ayBhIikuYWRkQ2xhc3MoInZpc2liaWxlIik7fWVsc2V7JCgiI3Rlc3RvX25hc2Nv
c3RvIikucmVtb3ZlQ2xhc3MoIm1vc3RyYSIpOyQoIiN0ZXN0b19uYXNjb3N0byIp
LmFkZENsYXNzKCJuYXNjb25kaSIpOyQoInNwYW4uYXByaV9saW5rIGEiKS5yZW1v
dmVDbGFzcygidmlzaWJpbGUiKTt9cmV0dXJuIGZhbHNlO30pOyQoIi5vcGVuX2Jv
eCAub3Blbl9ib3hfY29udGVudCIpLmNzcyh7InBvc2l0aW9uIjoiYWJzb2x1dGUi
LCJ0b3AiOiItMTAwMDAwcHgifSk7JCgiLm9wZW5fYm94IC5vcGVuX2JveF90aXRs
ZSIpLmNzcyh7ImN1cnNvciI6InBvaW50ZXIiLCJ0ZXh0LWRlY29yYXRpb24iOiJu
b25lIn0pOyQoIi5vcGVuX2JveCAub3Blbl9ib3hfdGl0bGUiKS5jbGljayhmdW5j
dGlvbigpe2lmKCQodGhpcykucGFyZW50KCkuZmluZCgiLm9wZW5fYm94X2NvbnRl
bnQiKS5jc3MoInBvc2l0aW9uIik9PSJhYnNvbHV0ZSIpeyQodGhpcykucGFyZW50
KCkuZmluZCgiLm9wZW5fYm94X2NvbnRlbnQiKS5jc3MoeyJwb3NpdGlvbiI6InN0
YXRpYyIsInRvcCI6IjAifSk7JCh0aGlzKS5jaGlsZHJlbigiYSIpLmNzcygiYmFj
a2dyb3VuZCIsInVybChpbWcvaWNvX21lbm8ucG5nKW5vLXJlcGVhdCBjZW50ZXIg
bGVmdCIpO31lbHNleyQodGhpcykucGFyZW50KCkuZmluZCgiLm9wZW5fYm94X2Nv
bnRlbnQiKS5jc3MoeyJwb3NpdGlvbiI6ImFic29sdXRlIiwidG9wIjoiLTEwMDAw
cHgifSk7JCh0aGlzKS5jaGlsZHJlbigiYSIpLmNzcygiYmFja2dyb3VuZCIsInVy
bChpbWcvaWNvX3BpdS5wbmcpbm8tcmVwZWF0IGNlbnRlciBsZWZ0Iik7fXJldHVy
biBmYWxzZTt9KTskKCJmb3JtW2lkJD0nUGFnZVJlbG9hZEZvcm0nXSIpLmNzcygi
ZGlzcGxheSIsIm5vbmUiKTtpZigkKCIjb3JnYW5pZ3JhbW1hIikpeyQoIiNvcmdh
bmlncmFtbWEgYXJlYSIpLmVhY2goZnVuY3Rpb24oKXtpZigkKHRoaXMpLmF0dHIo
ImlkIikhPSJhcmVhX2N2MTEiKXskKHRoaXMpLm1vdXNlb3ZlcihmdW5jdGlvbihl
KXtlLnByZXZlbnREZWZhdWx0KCk7JCgiI2N2LCNjdjIsI2N2MywjY3Y0LCNjdjUs
I2N2NiwjY3Y3LCNjdjgsI2N2OSwjY3YxMCIpLmhpZGUoKTt2YXIgYXJlYV9pZD0k
KHRoaXMpLmF0dHIoImlkIikucmVwbGFjZSgiYXJlYV8iLCIiKTskKCcjJyArIGFy
ZWFfaWQpLnNob3coKTt9KTt9fSk7JCgiI2FyZWFfY3YxMSIpLm1vdXNlb3Zlcihm
dW5jdGlvbigpeyQoIiNjdiwjY3YyLCNjdjMsI2N2NCwjY3Y1LCNjdjYsI2N2Nywj
Y3Y4LCNjdjksI2N2MTAiKS5oaWRlKCk7fSk7JCgiZGl2IikuY2xpY2soZnVuY3Rp
b24oKXskKCIjY3YsI2N2MiwjY3YzLCNjdjQsI2N2NSwjY3Y2LCNjdjcsI2N2OCwj
Y3Y5LCNjdjEwIikuaGlkZSgpO30pO319DQoNCi8vLi4vYWJzZm9vdGVyLmpzDQpW
ZXJzaW9uZT0iMTEvMTAvMjAxMCI7YWZfY29scz1bIiNjb2xvbm5hMSIsIiNjb2xv
bm5hMiIsIiNkb3VibGVfYm94IiwiI2JveF9yaWdodCIsIiNjb2xvbm5hX0Nhc3Nl
dHRvIl07JCh3aW5kb3cpLmxvYWQoYWZfaW5pdCk7JCh3aW5kb3cpLnJlc2l6ZShh
Zl9pbml0KTtmdW5jdGlvbiBhZl9pbml0KCl7dmFyIGdyb3VwPWV2YWwoIiQoXCIi
ICsgYWZfY29scy5qb2luKCIsIikrICJcIikiKTtncm91cC5lYWNoKGZ1bmN0aW9u
KCl7JCh0aGlzKS5hdHRyKCJzdHlsZSIsIm1pbi1oZWlnaHQ6MHB4O2hlaWdodDph
dXRvICFpbXBvcnRhbnQ7aGVpZ2h0OjBweDsiKTt9KTt2YXIgbWF4PTA7Z3JvdXAu
ZWFjaChmdW5jdGlvbigpe21heD1NYXRoLm1heChtYXgsJCh0aGlzKS5oZWlnaHQo
KSk7fSk7Z3JvdXAuZWFjaChmdW5jdGlvbigpeyQodGhpcykuYXR0cigic3R5bGUi
LCJtaW4taGVpZ2h0OiIgKyBtYXggKyAicHg7aGVpZ2h0OmF1dG8gIWltcG9ydGFu
dDtoZWlnaHQ6IiArIG1heCArICJweDsiKTt9KTt9DQoNCi8vLi4vY29kZWNsZWFy
LmpzDQpWZXJzaW9uZT0iMTEvMTAvMjAxMCI7Y2NfY2xlYXI9dHJ1ZTtjY19sYWJl
bD10cnVlO2NjX2RvY3M9eyJ6aXAiOiJ6aXAiLCJyYXIiOiJyYXIiLCJkb2MiOiJk
b2MiLCJwZGYiOiJwZGYiLCJ4bHMiOiJ4bHMifTskKGRvY3VtZW50KS5yZWFkeShj
Y19pbml0KTtmdW5jdGlvbiBjY19pbml0KCl7Y2NfY2xlYXJfaW5pdCgpO2NjX2xh
YmVsX2luaXQoKTt9ZnVuY3Rpb24gY2NfY2xlYXJfaW5pdCgpe2lmKGNjX2NsZWFy
KXskKCJwLGFbaHJlZl0iKS5lYWNoKGZ1bmN0aW9uKCl7aWYoISgkLnRyaW0oJCh0
aGlzKS50ZXh0KCkpfHwgJC50cmltKCQodGhpcykuaHRtbCgpKSkpJCh0aGlzKS5y
ZW1vdmUoKTt9KTt9fWZ1bmN0aW9uIGNjX2xhYmVsX2luaXQoKXtpZihjY19sYWJl
bCl7JCgiYVtocmVmXSIpLmVhY2goZnVuY3Rpb24oKXtmb3IodmFyIGluZGV4IGlu
IGNjX2RvY3Mpe2lmKCEgJCh0aGlzKS5hdHRyKCJocmVmIikubWF0Y2gobmV3IFJl
Z0V4cCgiXlteXFw/XStcXC4iICsgaW5kZXggKyAiKFxcPy4qKT8kIiwiaWciKSkp
Y29udGludWU7aWYoJC50cmltKCQodGhpcykuaHRtbCgpKS5tYXRjaChuZXcgUmVn
RXhwKCJePGltZyIsImlnIikpKXJldHVybjtpZigkKHRoaXMpLnRleHQoKS5tYXRj
aChuZXcgUmVnRXhwKGluZGV4LCJpZyIpKSlyZXR1cm47dmFyIHJlbW92ZT0kKHRo
aXMpLmh0bWwoKTtyZW1vdmU9cmVtb3ZlLnJlcGxhY2UoL1tcblxyXHRdL2csIiIp
O3JlbW92ZT0kLnRyaW0ocmVtb3ZlLnJlcGxhY2UoL1tcP1wqXCtcKFwpXFtcXVx7
XH1cLV0vZywiLiIpKTt2YXIgaHRtbD0kKHRoaXMpLnBhcmVudCgpLmh0bWwoKTto
dG1sPSQudHJpbShodG1sLnJlcGxhY2UoL1tcblxyXHRdL2csIiIpKTtodG1sPSQu
dHJpbShodG1sLnJlcGxhY2UobmV3IFJlZ0V4cCgiXi4qIiArIHJlbW92ZSwiaWci
KSwiIikpO2h0bWw9JC50cmltKGh0bWwucmVwbGFjZShuZXcgUmVnRXhwKCJePC9h
PiIsImlnIiksIiIpKTtodG1sPSQudHJpbShodG1sLnJlcGxhY2UobmV3IFJlZ0V4
cCgiPGEuKiQiLCJpZyIpLCIiKSk7aWYoaHRtbC5tYXRjaChuZXcgUmVnRXhwKGlu
ZGV4LCJpZyIpKSlyZXR1cm47JCh0aGlzKS5odG1sKCQodGhpcykuaHRtbCgpKyAi
IC0gIiArIGNjX2RvY3NbaW5kZXhdKTt9fSk7fX0NCg0K

------------czcpoCQ0yTmKCtOHEE1Zta
Content-Disposition: inline; filename=funzioniwww1.js
Content-Type: application/javascript; name=funzioniwww1.js
Content-Location: http://www1.agenziaentrate.it/pie/js/funzioniwww1.js
Content-Transfer-Encoding: Base64

Ly9Bc3NlZ25hIGxhIGNsYXNzZSBjdXJyZW50IGFsIG1lbnUgcHJpbmNpcGFsZSBw
ZXIgbGUgYXBwbGljYXppb25pIHBocA0KJCggZG9jdW1lbnQgKS5yZWFkeSggZnVu
Y3Rpb24oKSB7DQogCXZhciBwYXRoQz0kKHRoaXMpLmZpbmQoJyNwYXRoIHAgYScp
Ow0KCWlmKChwYXRoQyE9bnVsbCkgJiYgKHBhdGhDIT11bmRlZmluZWQpKXsNCgkJ
dmFyIHBhdGhDdXJyZW50Ow0KCQlpZigocGF0aEMuZXEoMSlbMF0hPW51bGwpICYm
IChwYXRoQy5lcSgxKVswXSE9dW5kZWZpbmVkKSkNCgkJCXBhdGhDdXJyZW50PXBh
dGhDLmVxKDEpWzBdLmlubmVySFRNTC5yZXBsYWNlKC9eXHMrfFxzKyQvZywiIiku
dG9Mb3dlckNhc2UoKTsNCgkJdmFyIG1lbnVQPSQodGhpcykuZmluZCgnLm1lbnVw
IHVsIGxpIGEnKTsNCgkJaWYoKHBhdGhDdXJyZW50ICE9IHVuZGVmaW5lZCkgJiYg
KG1lbnVQIT1udWxsKSAmJiAobWVudVAhPXVuZGVmaW5lZCkpew0KCQkJJC5lYWNo
KG1lbnVQLCBmdW5jdGlvbihpbmRleCkgew0KCQkJCSAgdmFyIHBhdGhNZW51UDsg
CSANCgkJCQkgIGlmKChtZW51UC5lcShpbmRleClbMF0hPW51bGwpICYmIChtZW51
UC5lcShpbmRleClbMF0hPXVuZGVmaW5lZCkpDQoJCQkJCSAgcGF0aE1lbnVQPW1l
bnVQLmVxKGluZGV4KVswXS5pbm5lckhUTUwucmVwbGFjZSgvXlxzK3xccyskL2cs
IiIpLnRvTG93ZXJDYXNlKCk7DQoJCQkJICBpZigocGF0aE1lbnVQICE9IHVuZGVm
aW5lZCkgJiYgKHBhdGhNZW51UD09cGF0aEN1cnJlbnQpKXsNCgkJCQkJaWYoIW1l
bnVQLmVxKGluZGV4KS5pcygnLnByb2ZpbG9fZmlzY2FsZScpKXsNCgkJCQkJCW1l
bnVQLmVxKGluZGV4KS5hZGRDbGFzcygnY3VycmVudCcpOw0KCQkJCQl9ZWxzZXsN
CgkJCQkJCW1lbnVQLmVxKGluZGV4KS5hZGRDbGFzcygncHJvZmlsb19maXNjYWxl
X2N1cnJlbnQnKTsNCgkJCQkJfQ0KCQkJCSAgfQ0KCQkJfQ0KCQkJKQ0KCQl9DQoJ
fQ0KfQ0KKQ==

------------czcpoCQ0yTmKCtOHEE1Zta
Content-Disposition: inline; filename=style.css
Content-Type: text/css; name=style.css
Content-Location: http://www1.agenziaentrate.it/pie/css/style.css
Content-Transfer-Encoding: 8bit

@import url("portale.css");
@import url("canali.css");
@import url("menu_canali.css");
@import url("content.css");
@import url("contenuti_home.css");
@import url("footer.css");
@import url("glossario.css");
@import url("menu_principale.css");
@import url("scheda_adempimento.css");
@import url("menu_tab.css");
@import url("struttura_sito.css");
@import url("testata.css");
@import url("tipo_contribuente.css");
@import url("servizi_telematici.css");
@import url("moduli.css");
@import url("motore_a_faccette.css");
@import url("organigramma.css");
@import url("redazione.css");





------------czcpoCQ0yTmKCtOHEE1Zta
Content-Disposition: inline; filename=print.css
Content-Type: text/css; name=print.css
Content-Location: http://www1.agenziaentrate.it/pie/css/print.css
Content-Transfer-Encoding: 8bit

/* stili per la stampa */
body {
	color: black; 
	background: white;
	font-size: 12pt; 
	width: 90%;
	margin: 10px 20px;
}
a:link, a:visited {
	background-color: #FFF; 
	color: #000; 
	text-decoration: none;
	font-weight: normal;
}
a:link:after, a:visited:after {
/*content: " [" attr(href) "]";
*/}
h1, h2, h3, h4, h5, h6/*, cont_menu_tab_home h2.skipheader*/ {
	background-color: #FFF; 
	color: #000; 
	margin: 10px 10px 10px 0;
	border: none;
	width: 100%;
	display: block;
}
#colonna1 h1, #colonna2 h1 {
	border-bottom: 1px solid gray;
	margin-bottom: 20px;
	width: 100%;
	display: block;
}
img {
	border: none;
}

.skiplink, .skipheader, .skiptesto {
	display: none;
}

/* testata */
#testata_sx, #testata_dx, #testata_dx_form, .menup, #footerMenu, .archivio_primopiano2, #titrovi, #ti_trovi, .tabNavigation,  #menu_tipo_contribuente, #box_tipo_contribuente, #box_contatta_e_servizi, #calendario1, #calendario2, #calendario3 { 
		display: none;	
}
#logo img { 
	text-align: left;
	margin: 10px 0;
	display: block;
	padding: 0;
	border: 0 none;
}


/* corpo centrale */
#contenuti_due_colonne, #contenuti_due_colonne_home, #contenuti_una_colonna { 
	width:100%; 
	text-align:left;
	/*height: auto;*/
	margin: 0;
	padding: 0;
}
#colonna1 { 
	width:100%; 
	text-align:left;
	min-height: 100px !important; 
	height: auto !important; 
 	height: 100px !important; 
	margin: 0 !important;
	padding: 0;

}
#colonna2 { 
	display: none;
}
/* Stampa Home Page */
#colonna1, #contenuti_due_colonne_home #colonna2 { 
	position:static;
	display: block; 
	width: 100%; 
	padding: 0;
	margin: 0; 
	border: none;
	min-height: 100px !important; 
	height: auto !important; 
 	height: 100px !important; 
	background-color: #FFF; 
}
#contenuti_due_colonne_home #colonna1 h2.skipheader {
	display: block; 
}
#first, #second, #third, #four, #organigramma, .torna, .scarica {
	display: none; 
}
.box_org_blu {
	background-color:#FFF;
	border: 0 none;
	float:left;
	margin: 0 5px 10px 0;
	padding:10px;
	width:94.5%;
}
.box_org_blu p img, .box_org_azzurro p img {
	border:1px solid #ADADAF;
	float:left;
	margin:0 10px 0 0;
	padding:2px;
}
#banner_laterali, #eventi1, #eventi2, #eventi3 {
	float: none !important;
	width: 100%;
	display: block !important;
	position: static !important;

}
.indirizzo {
	clear:both;
	color:#333333;
	font-size: 80%;
	padding-top:30px;
	border-top: 1px solid #eee;
	margin: 30px auto 0 auto;
	padding: 10px 0 0 0;
	text-align: center;
	width: 100%;
}

/* Scheda adempimento */
#double_box, #box_right { 
	position:static;
	display: block; 
	width: 100%; 
	padding: 0;
	margin: 0; 
	border: none;
	min-height: 100px !important; 
	height: auto !important; 
 	height: 100px !important; 
	background-color: #FFF; 
}
p.attenzione  { 
	border: 2px solid #ccc;
	padding: 10px 20px;
}
p.attenzione strong {
	font-size: 16pt;
}

/* Servizi telematici */
#scelta_utenza, #menu_servizi_telem_orizz {
	display: none; 
}
/* Il tuo profilo fiscale*/
.per_saperne_di_piu br  {
	display: none; 
}
/* Immagine flottata pagina indice o documentazione */
#colonna1 .indcart_gn, #contenuti_una_colonna .indcart_gn {
    padding: 10px 0 1em 0;
	background-color: transparent;
}

#colonna1 .indcart_gn p, #contenuti_una_colonna .indcart_gn p {
	margin: 0;
	padding: 0;
	line-height: normal;
}
#contenuti_una_colonna #box_right #correlati_adempimento .indcart_gn p a, #correlati_adempimento .mtsc p a {
	padding: 0;
	margin: 0;
	background: none;
}

#colonna1 .indcart_gn img, #contenuti_una_colonna .indcart_gn img, #contenuti_una_colonna #box_right #correlati_adempimento .indcart_gn img {
	border:0 solid #990000;
	float:left;
	margin:0 10px 0 0;
}
#correlati_adempimento .mtsc img {
	clear: left;
	border:0 solid #990000;
	float:left;
	margin: 0 10px;
	padding: 0 0 30px 0;
}

------------czcpoCQ0yTmKCtOHEE1Zta
Content-Disposition: inline; filename=favicon.ico
Content-Type: image/x-icon; name=favicon.ico
Content-Location: http://www1.agenziaentrate.it/nsi2/gn/immagini/favicon.ico
Content-Transfer-Encoding: Base64

AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAA
AAAAAAAAAAAAAAAAAAD////9/////f////3////9/////f////3////9/////f//
//3////9/////f////3////9/////f////3////9+Pv7/enx/P3m7/z95u/8/efv
/P31+vr9+/39/fz+/f38/v39/Pz9/ery/P3m7/z95/D8/ebw/P3z+Pr9+/38/VCP
9P0IYfr9BmD8/Rtr9v2EpOP9v7W5/Y5pVf1pOhz9bkAj/XxTOf16Yln9bXGO/VqJ
3f0MY/n9FWn2/dDh+P1xovT9GGv6/SJz+P3HzNr9x66p/byelP2BVTv9azoZ/Wc1
FP1gKgf9YCsI/WAsCP16TjH9QIX3/TR89v3f6/r9/f39/d3p+P20yOn90cC5/bGU
hv24ppn98O/s/fv9/P37/Pz97+zp/cK6t/04S4f9LViy/YOv9P38/fr9/Pz8/f7+
/v38/fz9uqSY/dO+uv3Hrqj9x7Cq/b6lm/23mpD9sZGG/aiHef2efGz9kXFi/Y1w
Zf32+vz9/P78/f7+/v3////9/f7+/Y1rVv20moz9xqyo/bqclP2vjoH9pYBy/Z1z
Y/2TZlT9h1tF/YBSN/13TDP9/P38/f7+/v3+/v79/////f7+/f2qkoL9ek80/cu3
sf3n4Nz95t/b/ePb1/3h19P929LM/aB+bf13SCz9k3Fc/fr9/f3////9/////f//
//3+/f796enl/Wo9Iv2ti3/9xbCp/dnMyP3Rxr/9zr63/auRhP2JW0X9bTwf/eDZ
0/3+/v79/////f////3////9/v7+/f79/v3i3dX9lnZn/byek/2vjH79azoe/Y5h
Sf2RZlP9imNR/c/Ct/37/Pz9/v/+/f////3////9/////f7+/v3+/v79+/z8/ff5
+P2svNv9wbu9/bqmnf26rav9m6fF/crZ8f38/fz9/v7+/f7+/v3////9/////f//
//3+/v799vr6/bXP9/2nxfj9SYn2/Qhh+v0QZvv9CmL8/Rts9/3s9Pr9/v7+/f//
//3+/v79/////f////3////9/v79/afF9f0GYv39BmL9/QZi/f0GYv39BmL9/QZi
/f2CsPf9/f39/f////3////9/////f////3////9/////f7+/v3m7vn9bqP3/WGZ
+v1hmfv9YZn7/WCY+v1hmvf96vL7/f7+/f3////9/////f////3////9/////f//
//3+/v79/v7+/fz9/f38/v39/f79/f3+/f39/v39/f79/f7+/v3+/v79/////f//
//3////9/////f////3////9/////f////3////9/////f////3////9/////f//
//3////9/////f////3////9/////f////3////9AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==

------------czcpoCQ0yTmKCtOHEE1Zta
Content-Disposition: inline
Content-Type: text/css
Content-Location: http://www1.agenziaentrate.it/documentazione/finanziaria/domanda+5+per+mille/style.css
Content-Transfer-Encoding: 8bit

/* Stili per il nuovo motore di ricerca */



/************* #cerca styles ***************/


#onlusprincipale {
		 padding: 0px;
		 margin: 0px;
		 width: auto;
		 color: #FFF;
	}


#onluscerca {
		 padding: 10px 0px 0px 0px;
		 color: #000;
		 border-bottom:0px solid #3366CC;
	}



#onluscerca form{
	margin: 0px 0px 0px 2px;
 	padding: 0px 0px 15px 0px;
	width: 100%;
}



#onluscerca input,#onluscerca select{
	margin-top:0.5em;
}

#onluscerca input#okricerca{
	/*
	padding: 3px;
	font-weight: bold;
	border-style:solid;
	border-color: #FFF #333 #333 #FFF;
	border-width:1px 2px 2px 1px;
  	background: #1F5F7B;
  	color: #FFF;
	text-align: center;
	width:35px;
	margin-top:10px;
	*/
}


#onluscerca input{
}



#onluscerca label{
    margin: 0px 0px 0px 0px;
	padding: 0px 0 5px 0;
	text-align: left;
}


/************* #search styles ***************/



/************* #menu laterale e risultato ***************/

#testataonlus #sceltabutton .selezionato{
/*	background:#ffffff;
	color: #BB0000;
	font-weight:bold;
	text-decoration:none;
*/

border-color:#3366CC;
border-style:solid;
border-width:2px 2px 0px;
bottom:-3px;
font-weight:bold;
padding:0pt 5px;
position:relative;
text-decoration:none;
background:#D5DDF3;
color:#000000;


}


#testataonlus a:hover , #testataonlus a:visited {
	background:#ffffff;
	color:#1C517B;

}




#onlusrisultato {
		/* per centrare la tabella con tutti i browser */
		  text-align: center;
		  min-width: 700px;

			/*margin: 10px 0px 0px 0px; */
			color: #000;
		 	border: 0px solid #000;
			background-color: #FFF;
			width:auto;

			/*min-height: 500px;*/ /* non e' interpetata da Internet Explorer */
			/*height: auto !important;*/ /* serve per Opera, Mozilla e gli altri browser per sovrascrivere la terza dichiarazione che vincolerebbe in ogni caso l'altezza del box (cosa non prevista da min-height). Internet Explorer non da' peso alla direttiva !important */
 			/*height: 500px;*/
}








/*********** #numris styles  ***********/



#onlusnumris {
	text-align: right;
	background:#D5DDF3 none repeat scroll 0%;
	color: #000;
/*	padding-bottom: 5px;*/
	padding-right:15px;
	font-size:80%;
	font-weight: bold;
	margin-bottom:10px;
/*	background-color: #638C72;*/
}



/*********** #numris styles Fine ***********/





/*********** #hits styles  ***********/



#onlushits {
		/* per centrare la tabella con tutti i browser */
  text-align: left;
/*  width: 700px;
  margin:0 auto;

	text-align: center;*/
	color: #000;
	/*font-size: 90%;*/
/*	background-color: #DEE7EB;*/
padding: 0 15px;
}

.onlusimgdett{
	border-style:none;
	padding-left:10px;

}




#onlushits a:link {
	text-decoration: underline;
	color: #000;
}



#onlushits a:hover {
	text-decoration: none;
	color: #000;
}

#onlushits a:visited {
	text-decoration: underline;
	color: #000;
}

#onlushits table{
  border: 1px solid rgb(255, 189, 132);
  width: auto;
  border-collapse: collapse;


}
#onlushits table th{
  text-align:center;
  border: 1px solid rgb(255, 189, 132);
  background-color: rgb(255, 255, 255);
  vertical-align: middle;
}
#onlushits table td{
  border: 1px solid rgb(255, 189, 132);
  background-color: rgb(255, 239, 222);
  padding:3px 5px ;
  /*text-align:center;*/
}

.CAP{
/*	width:45px;*/
}
.CodiceFiscale{
/*	width:85px;*/
}

/*********** #hits styles Fine ***********/




/*********** #nav styles  ***********/



#onlusnav {
	text-align: center;
	color: #000;
	font-size: 80%;
	background-color: #FFF;
	border: 0px solid #FFF;
	margin: 0px;
	padding: 5px;
/*	 POSITION: absolute;

		 TOP: 10px;

*/
}

#onlusnav a {
	font-size: 120%;
}

#onlusnav a:link {
	text-decoration: underline;
	color: #000;
}

#onlusnav a:hover {
	text-decoration: underline;
	color: #000;
}

#onlusnav a:visited {
	text-decoration: underline;
	color: #000;
}



p.motore {
	text-align: right;
	font-weight: bold;
}



/*********** #nav styles Fine ***********/

#sceltabutton{
	/*text-align:center;
	padding-bottom:5px;*/
	font-size:80%;
	padding-left:15px;
	border-bottom:2px solid #3366CC;

}
/*
#sceltabutton fieldset{
	display:inline;
	width:345px;
}

#sceltabutton fieldset p{
margin:10px 0 10px 0;
font-weight:bold;
}
*/

.linkrossi {
	font-weight: bold;
	text-decoration: underline;
	white-space: nowrap;
}

.linkrossi:link {
	font-weight: bold;
	text-decoration: underline
}


/* Aggiunti per nuova grafica */
#testataonlus legend{
/*font-size:80%;*/
}

------------czcpoCQ0yTmKCtOHEE1Zta
Content-Disposition: inline
Content-Type: text/css
Content-Location: http://www1.agenziaentrate.it/documentazione/finanziaria/domanda+5+per+mille/print.css
Content-Transfer-Encoding: 8bit

/* Stili per il nuovo motore di ricerca */



/************* #cerca styles ***************/


#onlusprincipale {
		 padding: 0px; 
		 margin: 0px; 
		 width: auto; 
		 color: #FFF;	
	}


#onluscerca {		
		 width: 40%; 
		 padding: 10px 0px 0px 0px; 
		 margin-left: 165px; 
		 color: #000;	
	}



#onluscerca form{
	margin: 0px 0px 0px 2px;
 	padding: 0px 0px 15px 0px;
	width: 100%; 
}





#onluscerca input,select{
	text-align: left;
	margin:0 1px 0 3px;
	padding: 0;
	padding: 3px 0;
	font-size:100%;
}

#onluscerca input#okricerca{
	padding: 3px;
	font-weight: bold;
	border-style:solid;
	border-color: #FFF #333 #333 #FFF;
	border-width:1px 2px 2px 1px;
  	background: #1F5F7B;
  	color: #FFF;
	text-align: center;
	width:35px;
	margin-top:10px;
}


#onluscerca input{
	padding: 3px 0;
	text-align: left;
}



#onluscerca label{
    margin: 0px 0px 0px 0px;
	padding: 0px 0 5px 0;
	text-align: left;
}


/************* #search styles ***************/



/************* #menu laterale e risultato ***************/


.selezionato{
	background:#cccccc;
	font-style:italic;
}

#onlusrisultato {
			margin: 10px 0px 0px 0px; 
			color: #000; 
		 	border: 0px solid #000; 
			background-color: #FFF;
			width:auto;
			min-height: 500px; /* non e' interpetata da Internet Explorer */
			height: auto !important; /* serve per Opera, Mozilla e gli altri browser per sovrascrivere la terza dichiarazione che vincolerebbe in ogni caso l'altezza del box (cosa non prevista da min-height). Internet Explorer non da' peso alla direttiva !important */
 			height: 500px; 
}








/*********** #numris styles  ***********/



#onlusnumris {
	text-align: right;
	color: #000;	
	font-size: 100%;
	padding-bottom: 5px;
	font-weight: bold;
/*	background-color: #638C72;*/
}



/*********** #numris styles Fine ***********/





/*********** #hits styles  ***********/

#onlushits {
	text-align: left;
	color: #000;	
	/*font-size: 90%;*/
/*	background-color: #DEE7EB;*/
}

.onlusimgdett{
	border-style:none;
	padding-left:10px;
	
}


.sottotitolo {
	font-size: 100%;
	margin-left:38px;
}

.dettagli {
	font-size: 90%;
}

.titolo {
	font-size: 120%;
	color:blue;
	font-weight:bold;
}

#onlushits a:link {
	text-decoration: underline;
	color: #000;	
}



#onlushits a:hover {
	text-decoration: none;
	color: #000;	
}

#onlushits a:visited {
	text-decoration: underline;
	color: #000;	
}

#onlushits table{
  border: 1px solid rgb(255, 189, 132);
  width: auto;
  border-collapse: collapse;

}
#onlushits table th{
  text-align:center;
  border: 1px solid rgb(255, 189, 132);
  background-color: rgb(255, 255, 255);
  vertical-align: middle;
}
#onlushits table td{
  border: 1px solid rgb(255, 189, 132);
  background-color: rgb(255, 239, 222);
  text-align: center;
}

.CAP{
	width:45px;
}
.CodiceFiscale{
	width:85px;
}

/*********** #hits styles Fine ***********/




/*********** #nav styles  ***********/



#onlusnav {
	text-align: center;
	color: #000;	
	font-size: 90%;
	background-color: #FFF;
	border: 0px solid #FFF; 
	margin: 0px;
	padding: 5px;
/*	 POSITION: absolute; 

		 TOP: 10px; 

*/		 
}

#onlusnav a {
	font-size: 120%;
}

#onlusnav a:link {
	text-decoration: underline;
	color: #000;	
}

#onlusnav a:hover {
	text-decoration: underline;
	color: #000;	
}

#onlusnav a:visited {
	text-decoration: underline;
	color: #000;	
}



p.motore {
	text-align: right;
	font-weight: bold;
}



/*********** #nav styles Fine ***********/  

#sceltabutton{
	text-align:center;

}
/*
#sceltabutton fieldset{
	display:inline;
	width:345px;
}

#sceltabutton fieldset p{
margin:10px 0 10px 0;
font-weight:bold;
}
*/

.linkrossi {
	FONT-WEIGHT: bold; 
	FONT-SIZE: 12px; 
	COLOR: #ff0000; 
	FONT-FAMILY: Arial, Helvetica, sans-serif; 
	TEXT-DECORATION: underline;
}

.linkrossi:link {
	FONT-WEIGHT: bold; 
	FONT-SIZE: 12px; 
	COLOR: #ff0000; 
	FONT-FAMILY: Arial, Helvetica, sans-serif; 
	TEXT-DECORATION: underline
}

------------czcpoCQ0yTmKCtOHEE1Zta
Content-Disposition: inline; filename=logo_trasparente.gif
Content-Type: image/gif; name=logo_trasparente.gif
Content-Location: http://www1.agenziaentrate.it/pie/img/logo_trasparente.gif
Content-Transfer-Encoding: Base64

R0lGODlh+ABIAPcAAAA/d/N9I2yYte/OrxtfnPCUS6O2x9bd71F2qypPbPCpa7TM
1pSkxtTZ3SNgjfvx7+6DM61vPmuMrUhune69lIGft6y9ze/Vvu9/KQBEg8XO1e+c
Wpazxefi6LfFzu/v71mKq1B0pHKOtkJqm4ulvBhajvCOQ++yfPHEpfGEKc/W3jBk
lABKhLW+2199r5Oly++dYfGDJABJfO/fzztrnJW1zlKDpGRfWazE0HScv6a11OXo
7YWkuY+svszGuneWtWqTr0h6m9XEvfzNr/GJMhBTit7d5f7/+lSErPaFKWOLru7l
3rXM3AdJhcnU2kN0nPK3i5atv/iCIqq3183U5vSVUSlkjiJaje3w9alqR/Cuepy7
z6a6xfGmbPeNQTNmmfHJr3uMnvmeWApPhvjEn32lv+7q5/HXxt3m72SOtIOmxHSW
u3mdtbzP3vaJNFJ5pEJxpYqdx/Xi0zp0nLzD1ZuuzoOcxfDOtdXZ5GuGs8XX5Zu1
zverbzJrlvZ9KpWtxZu1xqS+1VmFrP6eUre/1ktupoysxeTu763E1muTtq291xtR
jVl7q++yg3OSrr3E3v3UtBdUgyRbk/aeX/j3/Up7pGSEsyljk3ydvFqFpd/o5/n9
//q9jll6p/3dxPqTRAdIfv+jWv/q3fiNO6S0zu+9nPd8H83e6LzU3jFrneLt8fWl
asV2NDhrlrXG1iNhlPKaUyZlm/CTRe/3+oKYv6vD3Q9NhrXF3veSSvXQtvvWuf+C
IcXM32uKttDb4WORtfe4hfb29r3O2IynxO7d1Q9ThARPkviFNEyApZqux0R6pv3o
1//EmObs6pWszp+z1Nfl7v2rcUJ4nqW8zoScvklzpebt9dbe4PWueIaqxM3Fw+7c
yABBe3OUtRxbke/Wta+/4MPV32ODrO/DnqjF1VR4qjtwpvKkZPCudN7o9Ed0nvij
Y++KOtfe6P///4SkvfOyePDt6PyOOStol4uuzlqLtHOat3uUvebk5yddjPapc6C8
1EFupTNrqPG7jf///yH5BAEHAP8ALAAAAAD4AEgAAAj/AP8JHEiwoMGDCBMqXMiw
ocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2b
OHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnXpw2wlZbtwc20qkq9evYLue
oQqVwztAbAq6IvGOTbJkdFLecYMBg5S7UgLo3cu3714tZJu64sGDRLY33QgaAqTC
kStfgAygxBXAj+XLmDP73UskMFJXArdUYGPP3p8/mQrai8LBFbJpmd5wsEDyTozb
uG9b3utnc98U/jwXNdTn3x5kmdgM+yNBycFhQFQImwaomyBMaRKHRKH7st7bScKL
/0/iWy8u4UPLAJLg6pWNKFHsZfojEEdpQAN7/ADxDsefCkYYUcY0IQ2QwoEIJpiZ
H7n5BgZ6QLlijyOZIANKJd1UskIl+P3DBh2+rCEQCD9gooEjJFiQCA7ZWPCEdh+5
sWB5NOq1AYQ/lWEBCN50g8QV9gjyDh4SvPPDD800QwIQQBhgDRs4NPNHEICgUYEB
eKzhBEjj2IXXl1LUdVeNeiUxFo47DTbNJTYIY8M7H+yxxwe+4NDADh/k2Q4VeVbw
RzOGOJDJD670wkVpoH2EAiwQIOiHFAmm8GWN6KCZ0xM4JMIBJj/84QoNQBgigTB5
lmpqqUa8A4IAaShjyAd4IP/DQZEciHTHrbje4U+kB9LoBllayCILNjtlY08aSrCR
SSbtKLGHE8NokucOTvgy7QcNhINPPHkaked7eHhQARAeOKFEFChpQaZelt0V3FQb
3DWJTji44ooDPKRxCSAWOCBtntf88YMgPHzABQdYoGYPCdbm2YwgbCRijwYSSOeK
BCjJuODGmJ0Hr2Uw6PTONZg8AUIiQSSzAghmfLBDD0oYYIQwf3xgwxMfAOKKJtMA
wcO/whSpgjjiaACdI++YBMWBUuCiDwVgnHHGNtvcgUIj64zyJQpUzTADvRU48QMQ
yPXhCgjW+qLEHzvEE48rbM8zDz5c4FBqMkqEk6cF3Uj/9wcgvlSiARAmsfMJJw6d
gc0oAcBi6UzZhJ0Gsk8YYgAIHzgBQhumWmCBAUD80IMwgGBhOhYqKEGqBYDgIAwp
yHARDiAk4EDSDHcQRMUtOtTxxzDDOLOHK1QQRMYnFzgERRXssFMAOnc0gs70FBRU
ygYmuFHAJOMYBMb0XYxzxyReeFEAYAaVos/07LPPxwkFWaWAFvSjn1Ap58BiwigF
nPNgSX/ggTBagYw5VAAHPRgSCFRwqmlYQBwWcJMHSHEqIyjBCe2wxzuAgA9hYEIR
QJhGWkzChGeQwA60uIcKNySCPBDNEXYgBEQuYIIAjGc8GAhP7v5xB1nU5Yd3GcUA
/whSlzLdMAkmONNAJiEmMOGmIAXwy9cOcgdJhQlMXSCJBnqAA0PYwBBzcMIeKuCK
vn2AW6XaRw/UoYlmqIMDHDjVB67RjWlwQAWGuAYX3tCDbuwhEwQSCS9u4QwGMMAO
iFRhL2RwhRbmwQWQZIQ46MOQbWgsBewwwRHDk7wB3NALx2BaEpInEC/4JSt7cRxB
YGDDIwaxIOfgVULGkaDmuSEAByrFSITBARywQQJPeIcrooAJC7zBFddoYCYckaeB
AcJtbvuAERaQCWpQAwQ2mAYvLhEFFTjBFT0QiQ0k8AxDMuCEdlBhK7jBjXL0gmji
6IQ8Q9AJaixkEndxwziWYP+GC6wCN24AwzYEojUpFAAFxDCDHFAgC8sUgCCNYFAM
RsE1HrLjLqQUCCsD4I9bUSA8GHDDEAuCK1kcaIoHoUAjUDCDli2hEXo5x0hcMQ0D
dEMJPPDFH2zQhnjg8UgW8NYHDFCEBeRJAw6AkzRxUIHVOMFlf4hEGsyABA6QIhMC
8ABIOFCEEtShDi94QRzegUhaiKAJGchAPnrxTnEwghHlKEc1RuCAPSDkDCnA5QVO
BYO7mGAgu0qBCYhxqhl44TYV/ccFwuOFgQ5EH5ZJ7D8acSDCLqEKt3HDDhEiBss0
5A7jEN8d7nIjkVDnDzTIRCKMkI9XtVGarqiAErqBCCX/eANPeZrHMRMBggogIpnN
+JcT1PGHJ1hBCZjARK08AoQMAEAQpHCGM4A3DGtSgwbsZGcnLCEOSMa1HCEIQSQy
8IODoMAyqzhVPM5gmb8K5Bx60R4u5luA+RJBLwoYyGilkEWCaOEu/wPsHT4wA1wc
yA25WMgG6oJSg9wBBrySlBhGwoUeJKISNgDEkfLkij6wyQY2CMIlLuEATJjKEPnI
hwOkkQkQj9gCpTKEON4hDSQkAwiJ4ogNZCCDIrwguoVkQBys2Q1bcAMUaXWAC+M5
zxBU4wsyyACMBgKFuvhDjksYBQbc+48qRApMeFElDw/U34FowTIBJsgMTNAbzTJk
/wN+IEKDCVKKCCOotCHBQYkwkQkDIAEL0MTBJZTQDjSgQROIlqMRDo1oTQDhEjDO
kxmGK4wnfGEOIPDIjnlcjd7VwRkvAJ4d4lANbqQ1rU3YLiTliQAEqEMdxeCxIayn
l0bIcQbhYcdA4OyHSOEyQVUYSC7wWxB41CXNA5GFXo6xWYXEKwlzFsgdwhMAIpzj
BCfogpdTMC+RVBoZyPiDNEiQJ2Ew8AMgqAQe5MjuOdpAEAHqARA0YTpBACENEqBB
eTmihFM3QQ2eDivwqLEGB1iBBjRohQNAcQlLuOCtcX21Oi6R1jG0gSAX8OsSTgUF
vehaICewTGkH6jWE5KIu+v8oyH+lMNKBzMCHISXlALzQ7YMsGAPR/sc57gIDwpZq
BrepeUhsUAlxKEEZTnCbBAQggDv2oBVbaLepcEADKB1pGphYd564oAQSgGBLG0nG
qbnRB0WQghRgDXUyXKECFXSgVPhwAg6SIYK3MqISIZjABEbQBFCAohUF+QSDNjAD
SVPgMly+AIKgYJBtoOBdAkFBTAvShbx2jyCaDE9iz1GXZhOkCgE4RkY/j1hoLgEF
VbiLmEOSBhuAgJnlVsccDfCDMnSjCEpIUjPk2IxujMEGbOgBL7hFgmR4YAc7aEMR
QDAHA2CiQxgpAY95jIkpPOMZ0iXFuaX+AXwowhJxrUb/NZ7whCuwExRJG8gA7BID
N5xD21ZMgRcIcoK9eGEDWliF/u6SAlWegwgx0F7f8A9nIAvURgR4Bnplkj1uwA4I
EmDY0DzN0ytuMAoWOAqOhQ11YW1asAHs8EN1wQ545hHCkAyVAAJK4Attkwzglkwf
0A6u8AMlUAntZgNFAATCsHulwiSngQk8UAGtwAHTMA3hhBFAMH0ykA9TMAVoVwd0
oIPcVyrtQAt4VwhwAAdQxmMlUBDjYBkYwBsSNQqU9yW5gRvE8g9gBhgU4Bc7xA4c
cxkB5gZlOIcxcHn/YEpkAhJcQChscAlp4AhbYAZKYAPSoDemggRzUIOtoGit8Af4
/8AD9vCCgmAACyAMaZARRTB93NALiqADaLd9UWgqO0ANhWCFIzACi5BdmEBSG3AM
YYIBstAIbpACYlgQqEcEXhhSstAFARYsJvCLG3AmMFA+v5hyAgEL5ZOMySgLo2AC
CSYQ4/CL0jiNXiALMkUQCnAMP0QEVQAMwiILXsB4H4EDvsAGHDAHDYAPZcADSuAI
kRBHpTINTVAz7DYNxUACWGAq12BAw6AEP/ABrjAHgpAiU0YRPYCERaADnagDvBCK
7dZ7V3iKlwAK7CQJVTEAA0BKNcRlDoYrPYGRLVcS1GEISqAE/IIMSEACgPB8LUMn
SkADDSNHeBAEEmAB0PQ2Nv8gABukBhVQATTQAxWQAySAEdJwahkgCK6gAzpACA4p
dTvgAnBwiiNgC1GWAbajEFUkWI9zEbGlOSBwCWxQAcTlCuZYKj/wDjaggyqgDqnw
VHnyGtFxOu/AgslQAd2gDDagBNPwDsigARhRBKdmC3WgCGZHBUbQDu2AB4qpmG3X
mN7kBJAZmZD5DhPADwgnCaeWaQRxBrlSChclBfCzlRUhDKNjAAhXCSf4Bx40JzkD
CIbABm7zB1dwCXMQCcPALfphLjswaUBQAT3QAxpQAU8gDL4wMulnER4wdtLwCISp
lF+VdtZFDSokAtTpQpD0cG+QnW+gdwj3BU3QBDLwBQT/0SUg+EPzJ5oW8TdOgARK
MGihggNW8I+NsQOV4AR4kAmvpgL4EAR9YAMq4AvK8AEcQG7dYAGYoAIW8AP4ICug
YwD2gBF/YJSGwJxm14TmFAdxQAspRJ0iwFbwZHfiJ34Ih3AlYGpb+Fh0WAVKhJ4T
0QMGgAPv8AZPkAkc8gNPACVa0gCV8AetQAJsMA15Eg5AQA2NWAk5yAZK0AMfgATE
hAkO2gykUQGBZBGYkF1f8Agt0AJMeHbSZUhDZk3T2aFt5VaMkJ3it3fdeQngKQNg
JxD6cA5weg4KIFksOhG8YAhDCATSIAEkQAI2QA6a8ARK2gMsoA56YAAV0DmYEDjo
/xcPRsAGeMILSGCjf9AHTmAABoAxGPED04cJvJClSmmhXopCKXQP1MlW3MVknYAA
IfBqp9gKrfAFgJkBflmnIUECBpCgJwgCEgACeOILSZIsZrAAuXcqfwAnMQqFH2AG
XPUHtelBGpYR7+BckmAvrqAIW4p2YYWhiRSmqOpwDxdeITqiX/AFksBjJiE8OWEI
VykSibAHmHCC07AhW3AE9noE1uAOh5AGWOAO/vqv7oCn+noE/9oOiTAHmCANK4AJ
hiAAasAEGVEGaZUIenALt9CcAbetYOqtvWAJ4NpklSmV5foFtpABJWEPPFYDNyEI
PIYII6EHlaAErTAGSlADcP+wBTnQr/5qDWmABvd6r/+qBIgAsOHQDTWQCIZQAr/Q
BphgD4GgEX/ADZGgCIPUAhirA13KANalQqYqph67aquKAKY4AqlQritQAiZLEsrA
Y6lhEw6QVqs4ErewCK9wBX1gAUKoBtPwr2gABMPQBmiABZsQDIfQDohQBmvACwBb
BvsgDfQgVUjwDpigBhvhCtwgCFTwCFiKraTwDF9lTmVVqqc6pnb3Bmf6qrF6Ca/Q
BBc3EpWAZMhwEw7AY5RLErXQB/OAmu3AKv3qC8Hgr6ewB4aRDdlgCHgKDfcaDprg
Dm1QCR6gBn2ACSugDPZwChxhCwzJC/ZCmGf3uaOaThz/+7UuALLm0A/mGwuxQAAE
YAy1QBI2gGRIILs8lg0mEQ5XIL0gUAZ/kA178Av2gAg/ewSzQAkA6w7QkFwCsAdl
UAPhgAQCkANqUAcekQZUwAuaC6pKSQgHsMEH4AseTAVUEA4izAsk3AYmbMIW6wra
sMJC0MJC4AM+8BCIsAU0LBB/gATKUAn2EA4IMcPzkFZ9EAiBQMM03LoGMQ1EvAUD
wQSJUGN2dRBMkA2/gJrIYA9TahA4UAOZKANIkMT7sA88nBCIYA82gJf20K4MURqS
YAWIwAR6oAbugAWJkK+ncAqz8K9YEA5o4A6uYAjucAoGgAWAoAZqUA/BgGJ64BEV
/3zB3EsK6VDAkBzJBSwKgxAKlnzJoTAI0cAQqYBkQPwKSMhjzlEQqWCUpmyUiVAQ
erAILNDKrQwayNDK0zcHBfEL0hfKPDYPYUwQb3vKRsljx0kQrpAKuCwDDqCyCqEH
bFACp6AEfXAkeuCvWCAAO3AKoZIIqrAJWyAChtAN6bAH77AJVHAEiIAIfwAC0OAO
fzAgv1AEs3YRQyAQJMwLhEAIhKkIw4ADkrzPkPwAnyAFuxDQu9AbeuEJC1HMxTzK
A8FOpzx9p7YCBSGxp8ZjSHDLpiwNA9EGvmyURVAQ4YDQuIzRBcEGSGjKsIsQc5CC
xekLaPALZcABiNAGrqAGgv8gCCnoDltQA6cgANZwBFsgAICACIBQBtJQA0xwCRzg
r65wBOkwDIhAvxfhBgb9D7zABEyQpRbQApUAANjMz17tDkOAAawQAVnACrtwFxjA
BwtRCb68Ak8wD0iYyAOhBEVQBH7nd3VdDHpdDN6AzAPhC2i70RmQCrPqDQRRDOxk
C30AbsjgDaeWygSBDHrtyixgC5Y9Bph9BeRQEGqAhJFQY41tlCJSEL6wB22wB9DQ
A+NMCRzwBJiACDxyCUKtCu6ABqSwBa7gr7PQBgtgCORgCPuwBzQAx/4qJ21gr35N
EWQQAKsgz4N0sYrgDGMAAAAQCX9AwF8NsHnsDJmQAJ7/DAo3AAF3kQSisBDh4Nhp
VQIuKxD7MAY8tm8F8QRpVQkPQQXk4N5ImArCIBBz4A3LNRDOALEFMQfslAoHcQqB
LQAN4ckZUAaqcK9YUANjcGoGgQrgfAr7oMubsOGbYAiJQA5IkAbhMAt35A6z0A77
gAazoAZocAA1MAwOIACC8Mj+uq960AaIQAnhcMUSYYBJYNAHwAQWm6V2MLJfsAhW
oAZUoLORfOKuUAaV8AqCHQbwcBeIsxAUlwGXYBBzkFaCcBDIkFY2EBFUOX0K7hA7
vg8Qmwg8tuUHAcoyMJQLweYy0ARbEMl6sMWaORCY8G70QA842w4AywSVsAVUUOgc
/zCQSIAE05AISNANmFAPQOAADuDH/8oE7wANroAH1IsI9TARukAGGviFE/YP4fAI
iECYS+hpDNALDsANl6AMaWAPxosJjj4HrzDhgn1qi/AAoWAZnEAGz3gQWR63BPEE
PGYJB/EGrTzmEFEMqPbEC8EBqTAG2WVqnuzmBnEFaVUGDNEHPAYKjD3u4HbLJzoQ
yPAO4AwENfAHhtAGqoAGiOlF5FDHbdAO5NAOTHAI6SAIwUAF+1ADs84EOIADTGAI
pl0GbMAGe7CvTwsRfLBJSQAMAmGxC8nqhmQHJXrt1+7LDn3KvoBrSRADd3EMzHAQ
r84C3l4Q6pBWCk0QbJ0Bsf8LEbr+zgtRlCAtA1aAELMrA7WrEI5dlbueAaDg0dmw
BZhACiXZdG1s1e2wA5SwB2pw72WQCJoQCO4QCDVgCG3BBNBgDSa8BYrABNZgCDUQ
CHrwwBGxDpASYX4ACQJxz875VWH1ApbADTmf8xOdAb7wAOOBF3BfEFKeAcY+EMgu
A3sO8+wUvzTfsgzRCh8/BnZtlK+AEOgdzAhxyzz2y8VsEG3wDoigBokQCCL+m1ug
BojrDu8gCGigClswDDUAx9DQB0qABfSABshwwO5QziU59nogCMndELoARGAGKVMN
DkvYhHVgSCRwD2iVVrg89EjoDcEgCpvkMQQx+IUvEIf/n/gDEfPO/hD4jcYHUQbT
FwmYwASGRgWIEPP5gBCDj/kHsQI8VgQ2QO74P/MGsb+PjAnZsAAAkUZJDiWY2qnZ
g4iJni2ZOOzJZ0gPtGTTEgECRImcsC1tXKkB8U/kSJIlSQKLkTKGHz8YXLoM4GaI
SHCkbDpzxoBBnDW2ZPzMEFRo0J9FjRZtosgdJ5VN/Swr+eonJpNwfoY0WeknEpNd
SfqUocjryFZBr0Bzl1Ztop+XvF75qWbsSCUZZIwRNldvOEzChFFqw0bAO0NbppEj
Ny1NiTn2DBlyUGnPnjZtfHHYEsiVnlNtgOzROxbYywClTZ8OwEmknmfPcOpkIILF
/+yjRofeDqrsmrshLV1K+R0DKslLQamWlPZTSddKQWmYNHSpmFyTYGvptRL0ySbu
R4IhQjabhQOvsX5WMvnuVRFAIsOJLwHaJA5MggLpzWZIVTsmTHBMBkKyQIrYRyQm
/gmnhGwQmQeJfR4jAZEHBQhtLjJQw/A0MUa65ZkoYKuGG6FqO2qoJuYgAZ8jlsGG
JRdZAs4NkpgAYYyfVrCHpERKCMqBHEtKRKgVlLCnHhqKEaqEkQJRQgkbxJOmSSnv
IwmJoi5RIhFkvKmtCG9cKakSbsZsJQ17QGjFFqH6GCkRUN4E5RUbuukGiUuKsOun
0Fz5BQhMsiGlDTUS0QMJb/8M6WqOPQ5BAtEKHxWJnRcnfTGFAJLAZqQ2nhnGkiZs
u822EqphQxszHliGmUGkYLXVVjGQItORxsizqOX+SWVMXbmZxyQbcRvq1n9IBGoo
VEpSkyhgh1KmJCaKzQDOoY4TCQnaiP1pDEhHEkSNfa4AJZyxXrHnnQwcOHBbvXQx
4SV33UXNlEFmEokEG2i45Iox3iyiBAf6kAYJTAqUo2BmQpHHVSmaWomlSUoqSjwW
0PvnktqsMAmRSIj9wlGRsLUt3ZGYcADYReAyKhuTaqAV2Dm2MEkNHkc0qhg4wFT3
lZZ70Ku5IhJR91FmVhkEF6OPRvoTpFfRJeh/OEHYC6l2vUC6ajGwgQS6VC7h+pIn
fBGJnDm6vmQORLyiBxka1laCg67U+OIVueem+4sfTeKgkrWfUILKLf4ORIWx3lFn
DsN/gXmuPZBYe21BMDnbaZHupVKvvCTHPHPNN+e8c88/Bz100UcnvXTTT0c9ddVX
Z711170KCAA7

------------czcpoCQ0yTmKCtOHEE1Zta--

