Content-Type: multipart/related; start=; boundary=----------lOdbdcaHCTZRQX8JiBQeSz
Content-Location: http://evrika-st.at.ua/photo/2-0-36
Subject: =?utf-8?Q?=D0=9A=D1=80=D0=B0=D1=94=D0=B2=D0=B8=D0=B4=D0=B8=20=D0=9F=D0=BE=D0=B4=D1=96=D0=BB=D1=8C=D1=81=D1=8C=D0=BA=D0=B8=D1=85=20=D0=A2=D0=BE=D0=B2=D1=82=D1=80=20-=20=D0=94=D0=BD=D1=96=D1=81=D1=82=D0=B5=D1=80.=20=D0=91=D0=B0=D0=BA=D0=BE=D1=82=D0=B0=20-=20=D0=9B=D1=96=D1=82=D0=BD=D1=96=D0=B9=20=D0=B2=D1=96=D0=B4=D0=BF=D0=BE=D1=87=D0=B8=D0=BD=D0=BE=D0=BA=20=D0=B2=20=D0=A3=D0=BA=D1=80=D0=B0=D1=97=D0=BD=D1=96=20-=20=D0=A4=D0=BE=D1=82=D0=BE=D0=B0=D0=BB=D1=8C=D0=B1=D0=BE=D0=BC=20-=20=D0=A2=D1=83=D1=80=D0=B8=D1=81=D1=82=D0=B8=D1=87=D0=BD=D0=B0=20=D0=B0=D0=B3=D0=B5=D0=BD=D1=86=D1=96=D1=8F=20"=D0=95=D0=B2=D1=80=D0=B8=D0=BA=D0=B0-=D0=A1=D0=A2"?=
MIME-Version: 1.0
------------lOdbdcaHCTZRQX8JiBQeSz
Content-Disposition: inline; filename=2-0-36.htm
Content-Type: text/html; charset=UTF-8; name=2-0-36.htm
Content-ID:
Content-Location: http://evrika-st.at.ua/photo/2-0-36
Content-Transfer-Encoding: Base64
CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LmNhSjg2M0gge3Bvc2l0aW9uOmFic29s
dXRlO3JpZ2h0OjBweDt0b3A6MHB4O30gZGl2ID4gdGFibGUuY2FKODYzSCB7cG9z
aXRpb246Zml4ZWQ7fTwvc3R5bGU+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij5mdW5jdGlvbiBmYUo4NjNIKGEpe3RyeXtkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFKODYzSCIpLnN0eWxlLmRpc3BsYXk9YTt9Y2F0Y2goZSl7fXRyeXtk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYUo4NjNIIikuc3R5bGUuZGlzcGxheT1h
O31jYXRjaChlKXt9fWZ1bmN0aW9uIGYyYUo4NjNIKCl7ZmFKODYzSCgnJyk7fTwv
c2NyaXB0PiA8ZGl2IGlkPSJwYUo4NjNIIj48dGFibGUgYm9yZGVyPSIwIiBjZWxs
c3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGNsYXNzPSJjYUo4NjNIIiBpZD0i
YUo4NjNIIiBzdHlsZT0iei1pbmRleDoxMDAwMDt3aWR0aDoyMzBweCI+PHRyPjx0
ZCB2YWxpZ249InRvcCIgd2lkdGg9IjEyIj48YSBocmVmPSJqYXZhc2NyaXB0Oi8v
IiBvbmNsaWNrPSJmYUo4NjNIKCdub25lJyk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9
ItCX0LDQutGA0LjRgtC4Ij48aW1nIGFsdD0iIiBzcmM9Imh0dHA6Ly9zMTYudWNv
ei5uZXQvaW1nL21hL2N2LmdpZiIgc3R5bGU9ImJvcmRlcjowO3dpZHRoOjEycHg7
aGVpZ2h0OjU0cHg7Ij48L2E+PC90ZD48dGQgd2lkdGg9IjIxOCI+PHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnZhciBiZWd1bl9hdXRvX3BhZCA9IDE3MDc0
NDg2MzsgdmFyIGJlZ3VuX2Jsb2NrX2lkID0gMTcwNzQ0OTIzOyB2YXIgYmVndW5f
c2VsZl9rZXl3b3JkcyA9ICfQtNC+0YHRgtCw0LLQutCwINGB0YPRiNC4LCDRgdC0
0LDQvCDQutCy0LDRgNGC0LjRgNGDJzs8L3NjcmlwdD48c2NyaXB0IHNyYz0iaHR0
cDovL2F1dG9jb250ZXh0LmJlZ3VuLnJ1L2F1dG9jb250ZXh0Mi5qcyIgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD48L3RkPjwvdHI+PC90YWJsZT48L2Rp
dj48aHRtbD4KPGhlYWQ+CjxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KCjx0aXRsZT7QmtGA
0LDRlNCy0LjQtNC4INCf0L7QtNGW0LvRjNGB0YzQutC40YUg0KLQvtCy0YLRgCAt
INCU0L3RltGB0YLQtdGALiDQkdCw0LrQvtGC0LAgLSDQm9GW0YLQvdGW0Lkg0LLR
ltC00L/QvtGH0LjQvdC+0Log0LIg0KPQutGA0LDRl9C90ZYgLSDQpNC+0YLQvtCw
0LvRjNCx0L7QvCAtINCi0YPRgNC40YHRgtC40YfQvdCwINCw0LPQtdC90YbRltGP
ICZxdW90O9CV0LLRgNC40LrQsC3QodCiJnF1b3Q7PC90aXRsZT4KCjxsaW5rIHR5
cGU9InRleHQvY3NzIiByZWw9IlN0eWxlU2hlZXQiIGhyZWY9Ii8ucy9zcmMvY3Nz
Lzk2My5jc3MiIC8+CjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9IlN0eWxlU2hl
ZXQiIGhyZWY9Imh0dHA6Ly9zMTYudWNvei5uZXQvc3JjL2xheWVyMS5jc3MiIC8+
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL3MxNi51
Y296Lm5ldC9zcmMvdS5qcyI+PC9zY3JpcHQ+PHN0eWxlIHR5cGU9InRleHQvY3Nz
Ij4uVWhpZGVCbG9jayB7ZGlzcGxheTpub25lfTwvc3R5bGU+CjwvaGVhZD4KCjxi
b2R5IHN0eWxlPSJiYWNrZ3JvdW5kOiMxNDRFNTY7IG1hcmdpbjowcHg7IHBhZGRp
bmc6MHB4OyI+CjxkaXYgaWQ9InV0YnI4MjE0IiByZWw9InMxNiI+PC9kaXY+Cgo8
ZGl2IHN0eWxlPSJoZWlnaHQ6MTBweDsiPjwvZGl2PgoKPHRhYmxlIGNlbGxwYWRk
aW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgYm9yZGVyPSIwIiB3aWR0aD0iMTAwJSIg
c3R5bGU9InBhZGRpbmc6IDVweDsiPjx0cj48dGQgd2lkdGg9IjEwMCUiIGFsaWdu
PSJjZW50ZXIiPgoKCjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBj
ZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgo8dHI+Cjx0ZCBjb2xzcGFuPSI1
IiBhbGlnbj0iY2VudGVyIj4KPCEtLVUxQUhFQURFUjFaLS0+PHRhYmxlIGJvcmRl
cj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiB3aWR0aD0iNjky
Ij4KPHRib2R5Pgo8dHI+Cjx0ZCBoZWlnaHQ9IjI3IiB3aWR0aD0iMTAwIj48L3Rk
Pgo8dGQgc3R5bGU9IkJBQ0tHUk9VTkQ6IHVybCgvLnMvdC85NjMvMS5naWYpOyBD
T0xPUjogIzAwMDAwMDsgRk9OVC1TSVpFOiAxMHB4OyBQQURESU5HLVRPUDogNXB4
IiBoZWlnaHQ9IjI3IiB3aWR0aD0iNDkyIiBjb2xzcGFuPSIyIiBhbGlnbj0ibWlk
ZGxlIj7Qn9C+0L3QtdC00ZbQu9C+0LosIDA1LjA3LjIwMTAsIDE3OjA2PC90ZD4K
PHRkIGhlaWdodD0iMjciIHdpZHRoPSIxMDAiPjwvdGQ+PC90cj4KPHRyPgo8dGQg
aGVpZ2h0PSIxMzYiIHdpZHRoPSIxMDAiPiZuYnNwOzx2OnN0cm9rZSBqb2luc3R5
bGU9Im1pdGVyIj48L3N0cm9rZT48djpmb3JtdWxhcz48djpmIGVxbj0iaWYgbGlu
ZURyYXduIHBpeGVsTGluZVdpZHRoIDAiPjwvZj48djpmIGVxbj0ic3VtIEAwIDEg
MCI+PC9mPjx2OmYgZXFuPSJzdW0gMCAwIEAxIj48L2Y+PHY6ZiBlcW49InByb2Qg
QDIgMSAyIj48L2Y+PHY6ZiBlcW49InByb2QgQDMgMjE2MDAgcGl4ZWxXaWR0aCI+
PC9mPjx2OmYgZXFuPSJwcm9kIEAzIDIxNjAwIHBpeGVsSGVpZ2h0Ij48L2Y+PHY6
ZiBlcW49InN1bSBAMCAwIDEiPjwvZj48djpmIGVxbj0icHJvZCBANiAxIDIiPjwv
Zj48djpmIGVxbj0icHJvZCBANyAyMTYwMCBwaXhlbFdpZHRoIj48L2Y+PHY6ZiBl
cW49InN1bSBAOCAyMTYwMCAwIj48L2Y+PHY6ZiBlcW49InByb2QgQDcgMjE2MDAg
cGl4ZWxIZWlnaHQiPjwvZj48djpmIGVxbj0ic3VtIEAxMCAyMTYwMCAwIj48L2Y+
PC9mb3JtdWxhcz48djpwYXRoIG86ZXh0cnVzaW9ub2s9ImYiIGdyYWRpZW50c2hh
cGVvaz0idCIgbzpjb25uZWN0dHlwZT0icmVjdCI+PC9wYXRoPjxvOmxvY2sgdjpl
eHQ9ImVkaXQiIGFzcGVjdHJhdGlvPSJ0Ij48L2xvY2s+PHY6c2hhcGUgc3R5bGU9
IlotSU5ERVg6IDE7IFBPU0lUSU9OOiBhYnNvbHV0ZTsgTUFSR0lOLVRPUDogMzEu
M3B0OyBXSURUSDogMTUwcHQ7IEhFSUdIVDogMTA4cHQ7IE1BUkdJTi1MRUZUOiA3
Ny41NXB0OyBtc28tcG9zaXRpb24taG9yaXpvbnRhbC1yZWxhdGl2ZTogdGV4dDsg
bXNvLXBvc2l0aW9uLXZlcnRpY2FsLXJlbGF0aXZlOiB0ZXh0IiBpZD0iX3gwMDAw
X3MxMDI3IiB0eXBlPSIjX3gwMDAwX3Q3NSI+PHY6aW1hZ2VkYXRhIHNyYz0iZmls
ZTovLy9DOlxET0NVTUV+MVwxXExPQ0FMU34xXFRlbXBcbXNvaHRtbDFcMDFcY2xp
cF9pbWFnZTAwMS5lbXoiIG86dGl0bGU9IiI+PC9pbWFnZWRhdGE+PC9zaGFwZT48
aW1nIHN0eWxlPSJXSURUSDogMTU3cHg7IEhFSUdIVDogMTA5cHgiIHNyYz0iZmls
ZTovL2sxL2Qv0JXQstGA0LjQutCwL9Cx0LDQvdC10YAv0K3QstGA0LjQutCwX9C7
0L7Qs9C+MS5qcGciIHdpZHRoPSIxNjAiIGhlaWdodD0iMTI2IiAvPjwvdGQ+Cjx0
ZCBzdHlsZT0iQkFDS0dST1VORDogIiBoZWlnaHQ9IjEzNiIgd2lkdGg9IjE5NyI+
PHNwYW4gc3R5bGU9IkZPTlQ6IDIwcHQgYm9sZCBWZXJkYW5hLFRhaG9tYTsgQ09M
T1I6ICNmZmZmZmYiPjxiPjwvYj48L3NwYW4+PC90ZD4KPHRkIHN0eWxlPSJQQURE
SU5HLVJJR0hUOiAyMHB4OyBCQUNLR1JPVU5EOiB1cmwoLy5zL3QvOTYzLzQuanBn
KTsgRk9OVC1TSVpFOiAxMHB4IiBjbGFzcz0idG9wTGluayIgaGVpZ2h0PSIxMzYi
IHdpZHRoPSIyNzUiIGFsaWduPSJyaWdodCI+PCEtLTxzNTIwMD4tLT7QktC4INGD
0LLRltC50YjQu9C4INGP0Lo8IS0tPC9zPi0tPiA8YSBocmVmPSIiPjxiPtCT0L7R
gdGC0Yw8L2I+PC9hPiB8IDwhLS08czMxNjc+LS0+0JPRgNGD0L/QsDwhLS08L3M+
LS0+ICI8c3BhbiBzdHlsZT0iVEVYVC1ERUNPUkFUSU9OOiB1bmRlcmxpbmUiPtCT
0L7RgdGC0Lg8L3NwYW4+ItCS0ZbRgtCw0Y4g0JLQsNGBIDxiPtCT0L7RgdGC0Yw8
L2I+fCA8YSBocmVmPSJodHRwOi8vZXZyaWthLXN0LmF0LnVhL3Bob3RvL3Jzcy8i
PlJTUzwvYT48L3RkPgo8dGQgaGVpZ2h0PSIxMzYiIHdpZHRoPSIxMDAiPjwvdGQ+
PC90cj4KPHRyPgo8dGQgaGVpZ2h0PSIxOCIgd2lkdGg9IjEwMCI+PGltZyBib3Jk
ZXI9IjAiIHNyYz0iLy5zL3QvOTYzLzUuZ2lmIiAvPjwvdGQ+Cjx0ZCBzdHlsZT0i
QkFDS0dST1VORDogdXJsKC8ucy90Lzk2My82LmdpZik7IENPTE9SOiAjMDAwMDAw
OyBGT05ULVNJWkU6IDEwcHgiIGNsYXNzPSJ0b3BMaW5rIiBoZWlnaHQ9IjE4IiB3
aWR0aD0iNDkyIiBjb2xzcGFuPSIyIiBhbGlnbj0ibWlkZGxlIj48YSBocmVmPSJo
dHRwOi8vd3d3LmV2cmlrYS1zdC5jb20udWEiPjwhLS08czUxNzY+LS0+0JPQvtC7
0L7QstC90LA8IS0tPC9zPi0tPjwvYT4gfCA8YSBocmVmPSJodHRwOi8vZXZyaWth
LXN0LmF0LnVhL2luZGV4LzMiPjwhLS08czMwODk+LS0+0KDQtdGU0YHRgtGA0LDR
htGW0Y88IS0tPC9zPi0tPjwvYT4gIHwgPGEgaHJlZj0iamF2YXNjcmlwdDovLyIg
cmVsPSJub2ZvbGxvdyIgb25jbGljaz0ibmV3IF91V25kKCdMRicsJyAnLC0yNTAs
LTExMCx7YXV0b3NpemU6MCxjbG9zZW9uZXNjOjEscmVzaXplOjF9LHt1cmw6Jy9p
bmRleC80MCd9KTtyZXR1cm4gZmFsc2U7Ij48IS0tPHMzMDg3Pi0tPtCS0YXRltC0
PCEtLTwvcz4tLT48L2E+PC90ZD4KPHRkIGhlaWdodD0iMTgiIHdpZHRoPSIxMDAi
PjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PCEtLS9VMUFIRUFERVIxWi0tPgo8
L3RkPgo8L3RyPgo8dHI+PHRkPjwvdGQ+PHRkIHdpZHRoPSIyMyIgaGVpZ2h0PSIy
MCI+PGltZyBzcmM9Ii8ucy90Lzk2My83LmdpZiIgYm9yZGVyPSIwIj48L3RkPjx0
ZCBoZWlnaHQ9IjIwIiBhbGlnbj0iY2VudGVyIiBzdHlsZT0iYmFja2dyb3VuZDoj
RkZGRkZGOyI+PC90ZD48dGQgd2lkdGg9IjIzIiBoZWlnaHQ9IjIwIj48aW1nIHNy
Yz0iLy5zL3QvOTYzLzguZ2lmIiBib3JkZXI9IjAiPjwvdGQ+PHRkPjwvdGQ+PC90
cj4KCjx0cj4KPHRkIHZhbGlnbj0idG9wIiB3aWR0aD0iMjE0Ij4KPCEtLVUxQ0xF
RlRFUjFaLS0+PCEtLSA8YmxvY2sxPiAtLT4KCjx0YWJsZSBib3JkZXI9IjAiIGNl
bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjIxNCIgc3R5bGU9
ImJhY2tncm91bmQ6dXJsKCcvLnMvdC85NjMvOS5naWYnKSAjRkZGRkZGOyI+Cjx0
cj48dGQgaGVpZ2h0PSI0OSIgc3R5bGU9ImJhY2tncm91bmQ6dXJsKCcvLnMvdC85
NjMvMTAuZ2lmJykgIzFDNkM3NztwYWRkaW5nLXRvcDo3cHg7cGFkZGluZy1sZWZ0
OjQwcHg7Y29sb3I6I0ZGRkZGRjsiPjxiPjwhLS0gPGJ0PiAtLT48IS0tPHM1MTg0
Pi0tPtCc0LXQvdGOINGB0LDQudGC0YM8IS0tPC9zPi0tPjwhLS0gPC9idD4gLS0+
PC9iPjwvdGQ+PC90cj4KPHRyPjx0ZCBzdHlsZT0iYmFja2dyb3VuZDp1cmwoJy8u
cy90Lzk2My8xMS5naWYnKSBib3R0b20gbm8tcmVwZWF0O3BhZGRpbmc6IDAgMTBw
eCAxMHB4IDEwcHg7Ij48IS0tIDxiYz4gLS0+PGRpdiBpZD0idU1lbnVEaXYxIiBj
bGFzcz0idU1lbnVWIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7Ij48dWwgY2xh
c3M9InVNZW51Um9vdCI+CjxsaT48ZGl2IGNsYXNzPSJ1bW4tdGwiPjxkaXYgY2xh
c3M9InVtbi10ciI+PGRpdiBjbGFzcz0idW1uLXRjIj48L2Rpdj48L2Rpdj48L2Rp
dj48ZGl2IGNsYXNzPSJ1bW4tbWwiPjxkaXYgY2xhc3M9InVtbi1tciI+PGRpdiBj
bGFzcz0idW1uLW1jIj48ZGl2IGNsYXNzPSJ1TWVudUl0ZW0iPjxhIGhyZWY9Imh0
dHA6Ly9ldnJpa2Etc3QuYXQudWEvaW5kZXgvMC0yIiB0YXJnZXQ9Il9ibGFuayI+
PHNwYW4+0J/RgNC+INC90LDRgTwvc3Bhbj48L2E+PC9kaXY+PC9kaXY+PC9kaXY+
PC9kaXY+PGRpdiBjbGFzcz0idW1uLWJsIj48ZGl2IGNsYXNzPSJ1bW4tYnIiPjxk
aXYgY2xhc3M9InVtbi1iYyI+PGRpdiBjbGFzcz0idW1uLWZvb3RlciI+PC9kaXY+
PC9kaXY+PC9kaXY+PC9kaXY+PC9saT4KPGxpPjxkaXYgY2xhc3M9InVtbi10bCI+
PGRpdiBjbGFzcz0idW1uLXRyIj48ZGl2IGNsYXNzPSJ1bW4tdGMiPjwvZGl2Pjwv
ZGl2PjwvZGl2PjxkaXYgY2xhc3M9InVtbi1tbCI+PGRpdiBjbGFzcz0idW1uLW1y
Ij48ZGl2IGNsYXNzPSJ1bW4tbWMiPjxkaXYgY2xhc3M9InVNZW51SXRlbSI+PGEg
aHJlZj0iaHR0cDovL2V2cmlrYS1zdC5hdC51YS9waG90by8iPjxzcGFuPtCk0L7R
gtC+0LDQu9GM0LHQvtC80Lg8L3NwYW4+PC9hPjwvZGl2PjwvZGl2PjwvZGl2Pjwv
ZGl2PjxkaXYgY2xhc3M9InVtbi1ibCI+PGRpdiBjbGFzcz0idW1uLWJyIj48ZGl2
IGNsYXNzPSJ1bW4tYmMiPjxkaXYgY2xhc3M9InVtbi1mb290ZXIiPjwvZGl2Pjwv
ZGl2PjwvZGl2PjwvZGl2PjwvbGk+CjxsaT48ZGl2IGNsYXNzPSJ1bW4tdGwiPjxk
aXYgY2xhc3M9InVtbi10ciI+PGRpdiBjbGFzcz0idW1uLXRjIj48L2Rpdj48L2Rp
dj48L2Rpdj48ZGl2IGNsYXNzPSJ1bW4tbWwiPjxkaXYgY2xhc3M9InVtbi1tciI+
PGRpdiBjbGFzcz0idW1uLW1jIj48ZGl2IGNsYXNzPSJ1TWVudUl0ZW0iPjxhIGhy
ZWY9Imh0dHA6Ly9ldnJpa2Etc3QuYXQudWEvcHVibC8zIj48c3Bhbj7Qn9C+0YDQ
sNC00Lgg0YLRg9GA0LjRgdGC0LDQvDwvc3Bhbj48L2E+PC9kaXY+PC9kaXY+PC9k
aXY+PC9kaXY+PGRpdiBjbGFzcz0idW1uLWJsIj48ZGl2IGNsYXNzPSJ1bW4tYnIi
PjxkaXYgY2xhc3M9InVtbi1iYyI+PGRpdiBjbGFzcz0idW1uLWZvb3RlciI+PC9k
aXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9saT4KPGxpPjxkaXYgY2xhc3M9InVtbi10
bCI+PGRpdiBjbGFzcz0idW1uLXRyIj48ZGl2IGNsYXNzPSJ1bW4tdGMiPjwvZGl2
PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InVtbi1tbCI+PGRpdiBjbGFzcz0idW1u
LW1yIj48ZGl2IGNsYXNzPSJ1bW4tbWMiPjxkaXYgY2xhc3M9InVNZW51SXRlbSI+
PHNwYW4+0KHRgtCw0YDQvtC60L7RgdGC0Y/QvdGC0LjQvdGW0LIg0LIg0L/RgNC+
0YHRgtC+0YDRliDRliDRh9Cw0YHRljwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48
L2Rpdj48ZGl2IGNsYXNzPSJ1bW4tYmwiPjxkaXYgY2xhc3M9InVtbi1iciI+PGRp
diBjbGFzcz0idW1uLWJjIj48ZGl2IGNsYXNzPSJ1bW4tZm9vdGVyIj48L2Rpdj48
L2Rpdj48L2Rpdj48L2Rpdj48L2xpPgo8bGk+PGRpdiBjbGFzcz0idW1uLXRsIj48
ZGl2IGNsYXNzPSJ1bW4tdHIiPjxkaXYgY2xhc3M9InVtbi10YyI+PC9kaXY+PC9k
aXY+PC9kaXY+PGRpdiBjbGFzcz0idW1uLW1sIj48ZGl2IGNsYXNzPSJ1bW4tbXIi
PjxkaXYgY2xhc3M9InVtbi1tYyI+PGRpdiBjbGFzcz0idU1lbnVJdGVtIj48YSBo
cmVmPSJodHRwOi8vdWthcnBhdGFoLmF0LnVhIj48c3Bhbj7Qp9GD0LTQtdGB0LAg
0JrQsNGA0L/QsNGC0YHRjNC60LjRhSDQs9GW0YA8L3NwYW4+PC9hPjwvZGl2Pjwv
ZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InVtbi1ibCI+PGRpdiBjbGFzcz0i
dW1uLWJyIj48ZGl2IGNsYXNzPSJ1bW4tYmMiPjxkaXYgY2xhc3M9InVtbi1mb290
ZXIiPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvbGk+CjxsaT48ZGl2IGNsYXNz
PSJ1bW4tdGwiPjxkaXYgY2xhc3M9InVtbi10ciI+PGRpdiBjbGFzcz0idW1uLXRj
Ij48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ1bW4tbWwiPjxkaXYgY2xh
c3M9InVtbi1tciI+PGRpdiBjbGFzcz0idW1uLW1jIj48ZGl2IGNsYXNzPSJ1TWVu
dUl0ZW0iPjxhIGhyZWY9Ii9pbmRleC92aWRwb2NoaW5va196YV9rb3Jkb25vbS8w
LTE0OSI+PHNwYW4+0JLRltC00L/QvtGH0LjQvdC+0Log0LfQsCDQutC+0YDQtNC+
0L3QvtC8PC9zcGFuPjwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNs
YXNzPSJ1bW4tYmwiPjxkaXYgY2xhc3M9InVtbi1iciI+PGRpdiBjbGFzcz0idW1u
LWJjIj48ZGl2IGNsYXNzPSJ1bW4tZm9vdGVyIj48L2Rpdj48L2Rpdj48L2Rpdj48
L2Rpdj48L2xpPgo8bGk+PGRpdiBjbGFzcz0idW1uLXRsIj48ZGl2IGNsYXNzPSJ1
bW4tdHIiPjxkaXYgY2xhc3M9InVtbi10YyI+PC9kaXY+PC9kaXY+PC9kaXY+PGRp
diBjbGFzcz0idW1uLW1sIj48ZGl2IGNsYXNzPSJ1bW4tbXIiPjxkaXYgY2xhc3M9
InVtbi1tYyI+PGRpdiBjbGFzcz0idU1lbnVJdGVtIj48YSBocmVmPSIvaW5kZXgv
bmV6YWJhcm9tLzAtMTU4Ij48c3Bhbj7QlNC+0YjQutCwINC+0LEn0Y/Qsjwvc3Bh
bj48L2E+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idW1uLWJs
Ij48ZGl2IGNsYXNzPSJ1bW4tYnIiPjxkaXYgY2xhc3M9InVtbi1iYyI+PGRpdiBj
bGFzcz0idW1uLWZvb3RlciI+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9saT4K
PGxpPjxkaXYgY2xhc3M9InVtbi10bCI+PGRpdiBjbGFzcz0idW1uLXRyIj48ZGl2
IGNsYXNzPSJ1bW4tdGMiPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InVt
bi1tbCI+PGRpdiBjbGFzcz0idW1uLW1yIj48ZGl2IGNsYXNzPSJ1bW4tbWMiPjxk
aXYgY2xhc3M9InVNZW51SXRlbSI+PGEgaHJlZj0iL2RpciI+PHNwYW4+0JrQsNGC
0LDQu9C+0LMg0YHQsNC50YLRltCyPC9zcGFuPjwvYT48L2Rpdj48L2Rpdj48L2Rp
dj48L2Rpdj48ZGl2IGNsYXNzPSJ1bW4tYmwiPjxkaXYgY2xhc3M9InVtbi1iciI+
PGRpdiBjbGFzcz0idW1uLWJjIj48ZGl2IGNsYXNzPSJ1bW4tZm9vdGVyIj48L2Rp
dj48L2Rpdj48L2Rpdj48L2Rpdj48L2xpPgo8bGk+PGRpdiBjbGFzcz0idW1uLXRs
Ij48ZGl2IGNsYXNzPSJ1bW4tdHIiPjxkaXYgY2xhc3M9InVtbi10YyI+PC9kaXY+
PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idW1uLW1sIj48ZGl2IGNsYXNzPSJ1bW4t
bXIiPjxkaXYgY2xhc3M9InVtbi1tYyI+PGRpdiBjbGFzcz0idU1lbnVJdGVtIj48
YSBocmVmPSJodHRwOi8vZXZyaWthLXN0LmF0LnVhL2luZGV4L3ZzamFrYV92c2ph
Y2hpbmEvMC0xNjAiPjxzcGFuPtCS0YHRj9C60LAg0LLRgdGP0YfQuNC90LA8L3Nw
YW4+PC9hPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InVtbi1i
bCI+PGRpdiBjbGFzcz0idW1uLWJyIj48ZGl2IGNsYXNzPSJ1bW4tYmMiPjxkaXYg
Y2xhc3M9InVtbi1mb290ZXIiPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvbGk+
CjxsaT48ZGl2IGNsYXNzPSJ1bW4tdGwiPjxkaXYgY2xhc3M9InVtbi10ciI+PGRp
diBjbGFzcz0idW1uLXRjIj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ1
bW4tbWwiPjxkaXYgY2xhc3M9InVtbi1tciI+PGRpdiBjbGFzcz0idW1uLW1jIj48
ZGl2IGNsYXNzPSJ1TWVudUl0ZW0iPjxhIGhyZWY9Ii9pbmRleC92aXpvdmFfcGlk
dHJpbWthLzAtMTY1Ij48c3Bhbj7QktGW0LfQvtCy0LAg0L/RltC00YLRgNC40LzQ
utCwPC9zcGFuPjwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNz
PSJ1bW4tYmwiPjxkaXYgY2xhc3M9InVtbi1iciI+PGRpdiBjbGFzcz0idW1uLWJj
Ij48ZGl2IGNsYXNzPSJ1bW4tZm9vdGVyIj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rp
dj48L2xpPjwvdWw+PC9kaXY+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PiQoZnVuY3Rpb24oKXtfdUJ1aWxkTWVudSgnI3VNZW51RGl2MScsMCxkb2N1bWVu
dC5sb2NhdGlvbi5ocmVmKycvJywndU1lbnVJdGVtQScsJ3VNZW51QXJyb3cnLDI1
MDApO30pPC9zY3JpcHQ+PCEtLSA8L2JjPiAtLT48L3RkPjwvdHI+CjwvdGFibGU+
PGRpdiBzdHlsZT0iaGVpZ2h0OjVweDsiPjwvZGl2PgoKPCEtLSA8L2Jsb2NrMT4g
LS0+Cgo8IS0tIDxibG9jazM+IC0tPgoKPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBh
ZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMjE0IiBzdHlsZT0iYmFj
a2dyb3VuZDp1cmwoJy8ucy90Lzk2My85LmdpZicpICNGRkZGRkY7Ij4KPHRyPjx0
ZCBoZWlnaHQ9IjQ5IiBzdHlsZT0iYmFja2dyb3VuZDp1cmwoJy8ucy90Lzk2My8x
MC5naWYnKSAjMUM2Qzc3O3BhZGRpbmctdG9wOjdweDtwYWRkaW5nLWxlZnQ6NDBw
eDtjb2xvcjojRkZGRkZGOyI+PGI+PCEtLSA8YnQ+IC0tPjwhLS08czUzNTE+LS0+
0JrQsNGC0LXQs9C+0YDRltGXINGA0L7Qt9C00ZbQu9GDPCEtLTwvcz4tLT48IS0t
IDwvYnQ+IC0tPjwvYj48L3RkPjwvdHI+Cjx0cj48dGQgc3R5bGU9ImJhY2tncm91
bmQ6dXJsKCcvLnMvdC85NjMvMTEuZ2lmJykgYm90dG9tIG5vLXJlcGVhdDtwYWRk
aW5nOiAwIDEwcHggMTBweCAxMHB4OyI+PCEtLSA8YmM+IC0tPjx0YWJsZSBib3Jk
ZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMCIgd2lkdGg9IjEw
MCUiIGNsYXNzPSJjYXRzVGFibGUiPjx0cj48dGQgc3R5bGU9IndpZHRoOjEwMCUi
IGNsYXNzPSJjYXRzVGQiIGlkPSJjaWQyIiB2YWxpZ249InRvcCI+PGEgaHJlZj0i
aHR0cDovL2V2cmlrYS1zdC5hdC51YS9waG90by8yIiBjbGFzcz0iY2F0TmFtZUFj
dGl2ZSI+0JTQvdGW0YHRgtC10YAuINCR0LDQutC+0YLQsDwvYT4gPHNwYW4gY2xh
c3M9ImNhdE51bURhdGEiIHN0eWxlPSJ1bmljb2RlLWJpZGk6ZW1iZWQ7Ij5bOV08
L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgc3R5bGU9IndpZHRoOjEwMCUiIGNsYXNz
PSJjYXRzVGQiIGlkPSJjaWQzIiB2YWxpZ249InRvcCI+PGEgaHJlZj0iaHR0cDov
L2V2cmlrYS1zdC5hdC51YS9waG90by8zIiBjbGFzcz0iY2F0TmFtZSI+0KHQstGW
0YLRj9C30YwuINCR0LDQt9CwINCy0ZbQtNC/0L7Rh9C40L3QutGDPC9hPiA8c3Bh
biBjbGFzcz0iY2F0TnVtRGF0YSIgc3R5bGU9InVuaWNvZGUtYmlkaTplbWJlZDsi
PlsxNl08L3NwYW4+PC90ZD48L3RyPjx0cj48dGQgc3R5bGU9IndpZHRoOjEwMCUi
IGNsYXNzPSJjYXRzVGQiIGlkPSJjaWQyNiIgdmFsaWduPSJ0b3AiPjxhIGhyZWY9
Imh0dHA6Ly9ldnJpa2Etc3QuYXQudWEvcGhvdG8vMjYiIGNsYXNzPSJjYXROYW1l
Ij7QodCw0YLQsNC90ZbQsiAo0YLRg9GA0LjRgdGC0LjRh9C90LjQuSDRgtCw0LHR
ltGAKTwvYT4gPHNwYW4gY2xhc3M9ImNhdE51bURhdGEiIHN0eWxlPSJ1bmljb2Rl
LWJpZGk6ZW1iZWQ7Ij5bMV08L3NwYW4+PC90ZD48L3RyPjwvdGFibGU+PCEtLSA8
L2JjPiAtLT48L3RkPjwvdHI+CjwvdGFibGU+PGRpdiBzdHlsZT0iaGVpZ2h0OjVw
eDsiPjwvZGl2PgoKPCEtLSA8L2Jsb2NrMz4gLS0+Cgo8IS0tIDxibG9jazI+IC0t
PgoKPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n
PSIwIiB3aWR0aD0iMjE0IiBzdHlsZT0iYmFja2dyb3VuZDp1cmwoJy8ucy90Lzk2
My85LmdpZicpICNGRkZGRkY7Ij4KPHRyPjx0ZCBoZWlnaHQ9IjQ5IiBzdHlsZT0i
YmFja2dyb3VuZDp1cmwoJy8ucy90Lzk2My8xMC5naWYnKSAjMUM2Qzc3O3BhZGRp
bmctdG9wOjdweDtwYWRkaW5nLWxlZnQ6NDBweDtjb2xvcjojRkZGRkZGOyI+PGI+
PCEtLSA8YnQ+IC0tPjwhLS08czUxNTg+LS0+0KTQvtGA0LzQsCDQstGF0L7QtNGD
PCEtLTwvcz4tLT48IS0tIDwvYnQ+IC0tPjwvYj48L3RkPjwvdHI+Cjx0cj48dGQg
c3R5bGU9ImJhY2tncm91bmQ6dXJsKCcvLnMvdC85NjMvMTEuZ2lmJykgYm90dG9t
IG5vLXJlcGVhdDtwYWRkaW5nOiAwIDEwcHggMTBweCAxMHB4OyI+PCEtLSA8YmM+
IC0tPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnNlbmRGcm01NDk4
NDI9ZnVuY3Rpb24oKXsKIHZhciBvPSQoJyNmcm1MZzU0OTg0MicpWzBdLHBvcz1f
dUdldE9mZnNldChvKSxvMj0kKCcjYmxrNTQ5ODQyJylbMF07CiBkb2N1bWVudC5i
b2R5Lmluc2VydEJlZm9yZShvMixkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQpOwog
JChvMikuY3NzKHt0b3A6KHBvc1sndG9wJ10pKydweCcsbGVmdDoocG9zWydsZWZ0
J10pKydweCcsd2lkdGg6by5vZmZzZXRXaWR0aCsncHgnLGhlaWdodDpvLm9mZnNl
dEhlaWdodCsncHgnLGRpc3BsYXk6Jyd9KS5odG1sKCc8ZGl2IGFsaWduPSJsZWZ0
IiBzdHlsZT0icGFkZGluZzo1cHg7Ij48ZGl2IGNsYXNzPSJteVdpbkxvYWQiPjwv
ZGl2PjwvZGl2PicpOwogX3VQb3N0Rm9ybSgnZnJtTGc1NDk4NDInLHt0eXBlOidQ
T1NUJyx1cmw6Jy9pbmRleC9zdWIvJyxlcnJvcjpmdW5jdGlvbigpIHsKICAkKCcj
YmxrNTQ5ODQyJykuaHRtbCgnPGRpdiBhbGlnbj0iIiBzdHlsZT0icGFkZGluZzox
MHB4OyI+PGRpdiBjbGFzcz0ibXlXaW5Mb2FkU0YiIHRpdGxlPSLQndC10LzQvtC2
0LvQuNCy0L4g0LLQuNC60L7QvdCw0YLQuCDQt9Cw0L/QuNGCLCDRgdC/0YDQvtCx
0YPQudGC0LUg0L/RltC30L3RltGI0LUiPjwvZGl2PjwvZGl2PicpOwogIF91V25k
LmFsZXJ0KCc8ZGl2IGNsYXNzPSJteVdpbkVycm9yIj7QndC10LzQvtC20LvQuNCy
0L4g0LLQuNC60L7QvdCw0YLQuCDQt9Cw0L/QuNGCLCDRgdC/0YDQvtCx0YPQudGC
0LUg0L/RltC30L3RltGI0LU8L2Rpdj4nLCcnLHt3OjI1MCxoOjkwLHRtOjMwMDAs
cGFkOicxNXB4J30pOwogIHNldFRpbWVvdXQoIiQoJyNibGs1NDk4NDInKS5jc3Mo
J2Rpc3BsYXknLCdub25lJyk7IiwnMTUwMCcpOwogIH0KIH0pOwp9Cjwvc2NyaXB0
Pgo8ZGl2IGlkPSJibGs1NDk4NDIiIHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkICND
Q0NDQ0M7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo4MjtiYWNrZ3JvdW5kOnVy
bCgnaHR0cDovL3MxNi51Y296Lm5ldC9pbWcvZnIvZy5naWYnKTtkaXNwbGF5Om5v
bmU7Ij48L2Rpdj48Zm9ybSBpZD0iZnJtTGc1NDk4NDIiIG1ldGhvZD0icG9zdCIg
c3R5bGU9Im1hcmdpbjowIiBvbnN1Ym1pdD0ic2VuZEZybTU0OTg0MigpO3JldHVy
biBmYWxzZTsiPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LnVMb2dCbG9jayB7bWFy
Z2luOjA7cGFkZGluZzoycHg7Y2xlYXI6Ym90aDt9LnVMb2dEZXNjciwudUxvZ1Jl
bSB7ZmxvYXQ6bGVmdDt9LnVMb2dGaWVsZCwudUxvZ1NibSB7ZmxvYXQ6cmlnaHQ7
fTwvc3R5bGU+CgoKCjxkbCBjbGFzcz0idUxvZ0Jsb2NrIj48ZGl2IGNsYXNzPSJ1
TG9nRGVzY3IiPtCb0L7Qs9GW0L06PC9kaXY+PGRpdiBjbGFzcz0idUxvZ0ZpZWxk
Ij48aW5wdXQgY2xhc3M9ImxvZ2luRmllbGQiIHR5cGU9InRleHQiIG5hbWU9InVz
ZXIiIHZhbHVlPSIiIHNpemU9IjIwIiBzdHlsZT0id2lkdGg6MTAwcHgiIG1heGxl
bmd0aD0iMjUiIC8+PC9kaXY+PC9kbD4KPGRsIGNsYXNzPSJ1TG9nQmxvY2siPjxk
aXYgY2xhc3M9InVMb2dEZXNjciIgaWQ9InVsZDIiPtCf0LDRgNC+0LvRjDo8L2Rp
dj48ZGl2IGNsYXNzPSJ1TG9nRmllbGQiIGlkPSJ1bGYyIj48aW5wdXQgY2xhc3M9
ImxvZ2luRmllbGQiIHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwYXNzd29yZCIgc2l6
ZT0iMjAiIHN0eWxlPSJ3aWR0aDoxMDBweCIgbWF4bGVuZ3RoPSIxNSIgLz48L2Rp
dj48L2RsPgo8ZGwgY2xhc3M9InVMb2dCbG9jayI+PGRpdiBjbGFzcz0idUxvZ1Jl
bSI+PGlucHV0IGlkPSJyZW1lbnRyeSIgdHlwZT0iY2hlY2tib3giIG5hbWU9InJl
bSIgdmFsdWU9IjEiIGNoZWNrZWQgLz48bGFiZWwgZm9yPSJyZW1lbnRyeSI+0LfQ
sNC/0L7QvNC90LjRgtGMPC9sYWJlbD4gPC9kaXY+CjxkaXYgY2xhc3M9InVMb2dT
Ym0iPjxpbnB1dCBjbGFzcz0ibG9naW5CdXR0b24iIG5hbWU9InNibSIgdHlwZT0i
c3VibWl0IiB2YWx1ZT0i0JLRhdC+0LQiIC8+PC9kaXY+PC9kbD4KPGRsIGNsYXNz
PSJ1TG9nQmxvY2siPjxkaXYgY2xhc3M9InVMb2dMaW5rcyIgc3R5bGU9ImZvbnQt
c2l6ZTo3cHQ7dGV4dC1hbGlnbjpjZW50ZXI7Ij48YSBpZD0idWxsMSIgaHJlZj0i
amF2YXNjcmlwdDovLyIgcmVsPSJub2ZvbGxvdyIgb25jbGljaz0ibmV3IF91V25k
KCdQcm0nLCfQndCw0LPQsNC00YPQstCw0L3QvdGPINC/0LDRgNC+0LvRjycsMzAw
LDEzMCx7YXV0b3NpemU6MSxjbG9zZW9uZXNjOjF9LHt1cmw6Jy9pbmRleC81J30p
O3JldHVybiBmYWxzZTsiPtCX0LDQsdGL0Lsg0L/QsNGA0L7Qu9GMPC9hPiAmbWlk
ZG90OyA8YSBpZD0idWxsMiIgaHJlZj0iaHR0cDovL2V2cmlrYS1zdC5hdC51YS9p
bmRleC8zIj7QoNC10LPQuNGB0YLRgNCw0YbQuNGPPC9hPjwvZGl2PjwvZGw+Cjxp
bnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImEiIHZhbHVlPSIyIiAvPjxpbnB1dCB0
eXBlPSJoaWRkZW4iIG5hbWU9ImFqYXgiIHZhbHVlPSIxIiAvPjxpbnB1dCB0eXBl
PSJoaWRkZW4iIG5hbWU9InJuZCIgdmFsdWU9Ijg0MiIgLz48L2Zvcm0+PCEtLSA8
L2JjPiAtLT48L3RkPjwvdHI+CjwvdGFibGU+PGRpdiBzdHlsZT0iaGVpZ2h0OjVw
eDsiPjwvZGl2PgoKPCEtLSA8L2Jsb2NrMj4gLS0+Cgo8IS0tIDxibG9jazY+IC0t
PgoKPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n
PSIwIiB3aWR0aD0iMjE0IiBzdHlsZT0iYmFja2dyb3VuZDp1cmwoJy8ucy90Lzk2
My85LmdpZicpICNGRkZGRkY7Ij4KPHRyPjx0ZCBoZWlnaHQ9IjQ5IiBzdHlsZT0i
YmFja2dyb3VuZDp1cmwoJy8ucy90Lzk2My8xMC5naWYnKSAjMUM2Qzc3O3BhZGRp
bmctdG9wOjdweDtwYWRkaW5nLWxlZnQ6NDBweDtjb2xvcjojRkZGRkZGOyI+PGI+
PCEtLSA8YnQ+IC0tPjwhLS08czMxNjM+LS0+0J/QvtGI0YPQujwhLS08L3M+LS0+
PCEtLSA8L2J0PiAtLT48L2I+PC90ZD48L3RyPgo8dHI+PHRkIHN0eWxlPSJiYWNr
Z3JvdW5kOnVybCgnLy5zL3QvOTYzLzExLmdpZicpIGJvdHRvbSBuby1yZXBlYXQ7
cGFkZGluZzogMCAxMHB4IDEwcHggMTBweDsiPjxkaXYgYWxpZ249ImNlbnRlciI+
PCEtLSA8YmM+IC0tPjxkaXYgY2xhc3M9InNlYXJjaEZvcm0iPjxmb3JtIG9uc3Vi
bWl0PSJ0aGlzLnNmU2JtLmRpc2FibGVkPXRydWUiIG1ldGhvZD0iZ2V0IiBzdHls
ZT0ibWFyZ2luOjAiIGFjdGlvbj0iL3NlYXJjaC8iPjxkaXYgYWxpZ249ImNlbnRl
ciIgY2xhc3M9InNjaFF1ZXJ5Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0icSIg
bWF4bGVuZ3RoPSIzMCIgc2l6ZT0iMjAiIGNsYXNzPSJxdWVyeUZpZWxkIiAvPjwv
ZGl2PjxkaXYgYWxpZ249ImNlbnRlciIgY2xhc3M9InNjaEJ0biI+PGlucHV0IHR5
cGU9InN1Ym1pdCIgY2xhc3M9InNlYXJjaFNibUZsIiBuYW1lPSJzZlNibSIgdmFs
dWU9ItCX0L3QsNC50YLQuCIgLz48L2Rpdj48L2Zvcm0+PC9kaXY+PCEtLSA8L2Jj
PiAtLT48L2Rpdj48L3RkPjwvdHI+CjwvdGFibGU+PGRpdiBzdHlsZT0iaGVpZ2h0
OjVweDsiPjwvZGl2PgoKPCEtLSA8L2Jsb2NrNj4gLS0+CgoKCjwhLS0gVWtyYWlu
aWFuIEJhbm5lciBOZXR3b3JrIDEwMNGFMjAwIFNUQVJUIC0tPgo8Y2VudGVyPjxz
Y3JpcHQ+Ci8vPCEtLQp1Ym5fdXNlciA9ICI3OTg0MyI7CnVibl9wYWdlID0gIjEi
Owp1Ym5fcGlkID0gTWF0aC5yb3VuZCgoTWF0aC5yYW5kb20oKSAqICgxMDAwMDAw
MCAtIDEpKSk7CmRvY3VtZW50LndyaXRlKCI8aWZyYW1lIHNyYz0naHR0cDovL2Jh
bm5lci5raWV2LnVhL2NnaS1iaW4vYmkuY2dpP2giICsKdWJuX3VzZXIgKyAiJmFt
cDsiKyB1Ym5fcGlkICsgIiZhbXA7IiArIHVibl9wYWdlICsgCiImYW1wOzcnIGZy
YW1lYm9yZGVyPTAgdnNwYWNlPTAgaHNwYWNlPTAgIiArCiIgd2lkdGg9MTAwIGhl
aWdodD0yMDAgbWFyZ2lud2lkdGg9MCBtYXJnaW5oZWlnaHQ9MCBzY3JvbGxpbmc9
bm8+Iik7CmRvY3VtZW50LndyaXRlKCI8YSBocmVmPSdodHRwOi8vYmFubmVyLmtp
ZXYudWEvY2dpLWJpbi9iZy5jZ2k/IiArCnVibl91c2VyICsgIiZhbXA7IisgdWJu
X3BpZCArICImYW1wOyIgKyB1Ym5fcGFnZSArICInIHRhcmdldD1fdG9wPiIpOwpk
b2N1bWVudC53cml0ZSgiPGltZyBib3JkZXI9MCBzcmM9J2h0dHA6Ly9iYW5uZXIu
a2lldi51YS8iICsKImNnaS1iaW4vYmkuY2dpP2kiICsgdWJuX3VzZXIgKyAiJmFt
cDsiICsgdWJuX3BpZCArICImYW1wOyIgKyB1Ym5fcGFnZSArCiImYW1wOzcnIHdp
ZHRoPTEwMCBoZWlnaHQ9MjAwIGFsdD0nVWtyYWluaWFuIEJhbm5lciBOZXR3b3Jr
Jz48L2E+Iik7CmRvY3VtZW50LndyaXRlKCI8L2lmcmFtZT4iKTsKLy8tLT4KPC9z
Y3JpcHQ+PGJyPgo8c21hbGw+PGEgaHJlZj0iaHR0cDovL2Jhbm5lci5raWV2LnVh
LyIgdGFyZ2V0PSJfdG9wIj7Qo9C60YDQsNC40L3RgdC60LDRjyDQkdCw0L3QvdC1
0YDQvdCw0Y8g0KHQtdGC0Yw8L2E+PC9zbWFsbD4KPC9jZW50ZXI+CjwhLS0gVWty
YWluaWFuIEJhbm5lciBOZXR3b3JrIDEwMNGFMjAwIEVORCAtLT4KCgoKPCEtLSA8
YmxvY2s1PiAtLT4KCjwhLS0gPC9ibG9jazU+IC0tPjwhLS0vVTFDTEVGVEVSMVot
LT4KPC90ZD4KCjx0ZCB3aWR0aD0iMjMiIHN0eWxlPSJiYWNrZ3JvdW5kOnVybCgn
Ly5zL3QvOTYzLzEyLmdpZicpOyI+PC90ZD4KPHRkIHZhbGlnbj0idG9wIiBzdHls
ZT0iYmFja2dyb3VuZDojRkZGRkZGOyI+Cjx0YWJsZSBib3JkZXI9IjAiIGNlbGxw
YWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgo8dHI+PHRk
IHN0eWxlPSJiYWNrZ3JvdW5kOiNGRkZGRkY7Ij48IS0tIDxtaWRkbGU+IC0tPjwh
LS0gPGJvZHk+IC0tPjxhIGhyZWY9Imh0dHA6Ly93d3cuZXZyaWthLXN0LmNvbS51
YSI+PCEtLTxzNTE3Nj4tLT7Qk9C+0LvQvtCy0L3QsDwhLS08L3M+LS0+PC9hPiAm
cmFxdW87IDxhIGhyZWY9Imh0dHA6Ly9ldnJpa2Etc3QuYXQudWEvcGhvdG8vIj48
IS0tPHM1MTY5Pi0tPtCk0L7RgtC+0LDQu9GM0LHQvtC8PCEtLTwvcz4tLT48L2E+
ICZyYXF1bzsgPGEgaHJlZj0iaHR0cDovL2V2cmlrYS1zdC5hdC51YS9waG90by8y
NSI+0JvRltGC0L3RltC5INCy0ZbQtNC/0L7Rh9C40L3QvtC6INCyINCj0LrRgNCw
0ZfQvdGWPC9hPiAmcmFxdW87IDxhIGhyZWY9Ii9waG90by8yIj7QlNC90ZbRgdGC
0LXRgC4g0JHQsNC60L7RgtCwPC9hPiAmcmFxdW87INCa0YDQsNGU0LLQuNC00Lgg
0J/QvtC00ZbQu9GM0YHRjNC60LjRhSDQotC+0LLRgtGACjxociAvPgo8dGFibGUg
Ym9yZGVyPSIwIiB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRk
aW5nPSIyIj4KPHRyPjx0ZCBjb2xzcGFuPSIyIiBhbGlnbj0iY2VudGVyIj7QlNC+
0YDQvtCz0LAg0LTQviDQsdCw0LrQvtGC0Lg8L3RkPjwvdHI+Cjx0cj48dGQgY29s
c3Bhbj0iMiIgYWxpZ249ImNlbnRlciI+PGRpdiBpZD0icGh0bURpdjM1Ij48c3Bh
biBpZD0icGh0bVNwYW4zNSI+PGltZyBhbHQ9IiIgaWQ9InA1Mzk5NDE5NzciIGJv
cmRlcj0iMCIgc3JjPSJodHRwOi8vZXZyaWthLXN0LmF0LnVhL19waC8yLzIvNTM5
OTQxOTc3LmpwZyIgLz48L3NwYW4+PC9kaXY+PC90ZD48L3RyPgo8dHI+PHRkIGNv
bHNwYW49IjIiIGNsYXNzPSJlRGV0YWlscyIgc3R5bGU9InRleHQtYWxpZ246Y2Vu
dGVyOyI+PCEtLTxzMzE3Nz4tLT7Qn9C10YDQtdCz0LvRj9C00ZbQsjwhLS08L3M+
LS0+OiA3NDUgfCA8IS0tPHM1MTYyPi0tPtCg0L7Qt9C80ZbRgNC4PCEtLTwvcz4t
LT46IDE2MDB4MTIwMHB4Lzk1Ny4xS2I8ZGl2IHN0eWxlPSJwYWRkaW5nLXRvcDo0
cHg7Ij48IS0tPHMzMTY1Pi0tPtCU0LDRgtCwPCEtLTwvcz4tLT46IDA2LjA1LjIw
MDgKCiB8IDwhLS08czMxNzg+LS0+0JTQvtC00LDQsjwhLS08L3M+LS0+OiA8YSBo
cmVmPSJqYXZhc2NyaXB0Oi8vIiByZWw9Im5vZm9sbG93IiBvbmNsaWNrPSJ3aW5k
b3cub3BlbignaHR0cDovL2V2cmlrYS1zdC5hdC51YS9pbmRleC84LTEnLCd1cDEn
LCdzY3JvbGxiYXJzPTEsdG9wPTAsbGVmdD0wLHJlc2l6YWJsZT0xLHdpZHRoPTY4
MCxoZWlnaHQ9MzUwJyk7cmV0dXJuIGZhbHNlOyI+ZXZyaWthLXN0PC9hPgo8L2Rp
dj48L3RkPjwvdHI+Cjx0cj48dGQgYWxpZ249ImNlbnRlciIgY29sc3Bhbj0iMiI+
PGEgaHJlZj0iaHR0cDovL2V2cmlrYS1zdC5hdC51YS9waG90by8yLTAtMzYtMyIg
dGFyZ2V0PSJfYmxhbmsiPjwhLS08czUyMjc+LS0+0J/RgNC+0LPQu9GP0L3Rg9GC
0Lgg0YTQvtGC0L7Qs9GA0LDRhNGW0Y4g0LIg0YDQtdCw0LvRjNC90L7QvNGDINGA
0L7Qt9C80ZbRgNGWPCEtLTwvcz4tLT48L2E+PGhyIC8+PC90ZD48L3RyPgo8dHI+
PHRkIGFsaWduPSJjZW50ZXIiPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LnUtc3Rh
ci1yYXRpbmd7bGlzdC1zdHlsZTpub25lO21hcmdpbjowcHg7cGFkZGluZzowcHg7
d2lkdGg6MTUwcHg7aGVpZ2h0OjMwcHg7cG9zaXRpb246cmVsYXRpdmU7YmFja2dy
b3VuZDogdXJsKCcvLnMvaW1nL3N0YXJzLzMvMzAucG5nJykgdG9wIGxlZnQgcmVw
ZWF0LXg7fS51LXN0YXItcmF0aW5nIGxpe3BhZGRpbmc6MHB4O21hcmdpbjowcHg7
ZmxvYXQ6bGVmdDt9LnUtc3Rhci1yYXRpbmcgbGkgYXtkaXNwbGF5OmJsb2NrO3dp
ZHRoOjMwcHg7aGVpZ2h0OiAzMHB4O2xpbmUtaGVpZ2h0OjMwcHg7dGV4dC1kZWNv
cmF0aW9uOm5vbmU7dGV4dC1pbmRlbnQ6LTkwMDBweDt6LWluZGV4OjIwO3Bvc2l0
aW9uOmFic29sdXRlO3BhZGRpbmc6IDBweDtvdmVyZmxvdzpoaWRkZW47fS51LXN0
YXItcmF0aW5nIGxpIGE6aG92ZXJ7YmFja2dyb3VuZDogdXJsKCcvLnMvaW1nL3N0
YXJzLzMvMzAucG5nJykgbGVmdCBjZW50ZXI7ei1pbmRleDoyO2xlZnQ6MHB4O2Jv
cmRlcjpub25lO30udS1zdGFyLXJhdGluZyBhLnUtb25lLXN0YXJ7bGVmdDowcHg7
fS51LXN0YXItcmF0aW5nIGEudS1vbmUtc3Rhcjpob3Zlcnt3aWR0aDozMHB4O30u
dS1zdGFyLXJhdGluZyBhLnUtdHdvLXN0YXJze2xlZnQ6MzBweDt9LnUtc3Rhci1y
YXRpbmcgYS51LXR3by1zdGFyczpob3Zlcnt3aWR0aDo2MHB4O30udS1zdGFyLXJh
dGluZyBhLnUtdGhyZWUtc3RhcnN7bGVmdDo2MHB4O30udS1zdGFyLXJhdGluZyBh
LnUtdGhyZWUtc3RhcnM6aG92ZXJ7d2lkdGg6OTBweDt9LnUtc3Rhci1yYXRpbmcg
YS51LWZvdXItc3RhcnN7bGVmdDo5MHB4O30udS1zdGFyLXJhdGluZyBhLnUtZm91
ci1zdGFyczpob3Zlcnt3aWR0aDoxMjBweDt9LnUtc3Rhci1yYXRpbmcgYS51LWZp
dmUtc3RhcnN7bGVmdDoxMjBweDt9LnUtc3Rhci1yYXRpbmcgYS51LWZpdmUtc3Rh
cnM6aG92ZXJ7d2lkdGg6MTUwcHg7fS51LXN0YXItcmF0aW5nIGxpLnUtY3VycmVu
dC1yYXRpbmd7dG9wOjAgIWltcG9ydGFudDsgbGVmdDowICFpbXBvcnRhbnQ7bWFy
Z2luOjAgIWltcG9ydGFudDtwYWRkaW5nOjAgIWltcG9ydGFudDtvdXRsaW5lOm5v
bmU7YmFja2dyb3VuZDogdXJsKCcvLnMvaW1nL3N0YXJzLzMvMzAucG5nJykgbGVm
dCBib3R0b207cG9zaXRpb246IGFic29sdXRlO2hlaWdodDozMHB4ICFpbXBvcnRh
bnQ7bGluZS1oZWlnaHQ6MzBweCAhaW1wb3J0YW50O2Rpc3BsYXk6YmxvY2s7dGV4
dC1pbmRlbnQ6LTkwMDBweDt6LWluZGV4OjE7fTwvc3R5bGU+PHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPnZhciB1c3Jhcmlkcz17fTtmdW5jdGlvbiB1c3Rh
cnJhdGluZyhpZCxtYXJrKXtpZiAoIXVzcmFyaWRzW2lkXSl7dXNyYXJpZHNbaWRd
PTE7JCgiLnUtc3Rhci1saS0iK2lkKS5oaWRlKCk7X3VQb3N0Rm9ybSgnJyx7dHlw
ZTonUE9TVCcsdXJsOicvcGhvdG8vJyxkYXRhOnsnYSc6JzY1JywnaWQnOmlkLCdt
YXJrJzptYXJrLCdtb2QnOidwaG90bycsJ2FqYXgnOicyJ319KTt9fTwvc2NyaXB0
Pjx1bCBpZD0idVN0YXJSYXRpbmczNiIgY2xhc3M9InUtc3Rhci1yYXRpbmciIHRp
dGxlPSLQoNC10LnRgtC40L3QszogMy4wLzIiPgo8bGkgY2xhc3M9InUtY3VycmVu
dC1yYXRpbmciIGlkPSJ1Q3VyU3RhclJhdGluZzM2IiBzdHlsZT0id2lkdGg6NjAl
OyI+PC9saT4KPGxpIGNsYXNzPSJ1LXN0YXItbGktMzYiPjxhIGhyZWY9IiMiIG9u
Y2xpY2s9InVzdGFycmF0aW5nKCczNicsMSk7cmV0dXJuIGZhbHNlOyIgY2xhc3M9
InUtb25lLXN0YXIiPjE8L2E+PC9saT4KPGxpIGNsYXNzPSJ1LXN0YXItbGktMzYi
PjxhIGhyZWY9IiMiIG9uY2xpY2s9InVzdGFycmF0aW5nKCczNicsMik7cmV0dXJu
IGZhbHNlOyIgY2xhc3M9InUtdHdvLXN0YXJzIj4yPC9hPjwvbGk+CjxsaSBjbGFz
cz0idS1zdGFyLWxpLTM2Ij48YSBocmVmPSIjIiBvbmNsaWNrPSJ1c3RhcnJhdGlu
ZygnMzYnLDMpO3JldHVybiBmYWxzZTsiIGNsYXNzPSJ1LXRocmVlLXN0YXJzIj4z
PC9hPjwvbGk+CjxsaSBjbGFzcz0idS1zdGFyLWxpLTM2Ij48YSBocmVmPSIjIiBv
bmNsaWNrPSJ1c3RhcnJhdGluZygnMzYnLDQpO3JldHVybiBmYWxzZTsiIGNsYXNz
PSJ1LWZvdXItc3RhcnMiPjQ8L2E+PC9saT4KPGxpIGNsYXNzPSJ1LXN0YXItbGkt
MzYiPjxhIGhyZWY9IiMiIG9uY2xpY2s9InVzdGFycmF0aW5nKCczNicsNSk7cmV0
dXJuIGZhbHNlOyIgY2xhc3M9InUtZml2ZS1zdGFycyI+NTwvYT48L2xpPjwvdWw+
PGRpdiBzdHlsZT0iZm9udC1zaXplOjEwcHgiPjwhLS08czMxMTk+LS0+0KDQtdC5
0YLQuNC90LM8IS0tPC9zPi0tPjogPGI+PHNwYW4gaWQ9ImVudFJhdGluZzM2Ij4z
LjA8L3NwYW4+PC9iPi88c3BhbiBpZD0iZW50UmF0ZWQzNiI+Mjwvc3Bhbj48L2Rp
dj48L3RkPjwvdHI+Cjx0cj48dGQgY29sc3Bhbj0iMiIgaGVpZ2h0PSIxMCI+PGhy
IC8+PC90ZD48L3RyPjx0cj48dGQgY29sc3Bhbj0iMiIgYWxpZ249ImNlbnRlciI+
PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KI2xlZnRTd2NoIHtkaXNwbGF5OmJsb2Nr
O3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7YmFja2dyb3VuZDogdHJhbnNwYXJlbnQg
dXJsKCdodHRwOi8vczE2LnVjb3oubmV0L2ltZy9mci9hcl9wcmV2LnBuZycpIG5v
LXJlcGVhdCAwIC0zMnB4O30KI2xlZnRTd2NoOmhvdmVyIHtiYWNrZ3JvdW5kLXBv
c2l0aW9uOiAwIDA7fQojcmlnaHRTd2NoIHtkaXNwbGF5OmJsb2NrO3dpZHRoOjMy
cHg7aGVpZ2h0OjMycHg7YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCdodHRw
Oi8vczE2LnVjb3oubmV0L2ltZy9mci9hcl9uZXh0LnBuZycpIG5vLXJlcGVhdCAw
IC0zMnB4O30KI3JpZ2h0U3djaDpob3ZlciB7YmFja2dyb3VuZC1wb3NpdGlvbjog
MCAwO30KPC9zdHlsZT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpm
dW5jdGlvbiBkb1BodFN3aXRjaChuLGYscCl7CmlmICghZil7Zj0wO30KZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3JpZ2h0U3djaCcpLm9uY2xpY2s9J2phdmFzY3Jp
cHQ6Ly8nOwpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGVmdFN3Y2gnKS5vbmNs
aWNrPSdqYXZhc2NyaXB0Oi8vJzsKX3VQb3N0Rm9ybSgnJyx7dXJsOidodHRwOi8v
ZXZyaWthLXN0LmF0LnVhL3Bob3RvLzItMC0wLTEwLScrbisnLScrZisnLScrcH0p
Owp9Cjwvc2NyaXB0Pgo8ZGl2IGlkPSJwaHRPdGhlclRodW1icyIgY2xhc3M9InBo
dFRodW1icyI+Cjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxs
c3BhY2luZz0iMCI+PHRyPjx0ZCBzdHlsZT0icGFkZGluZy1yaWdodDo0cHg7Ij48
YSBpZD0ibGVmdFN3Y2giIGNsYXNzPSJsZWZ0U3dpdGNoZXIiIGhyZWY9ImphdmFz
Y3JpcHQ6Ly8iIHJlbD0ibm9mb2xsb3ciIG9uY2xpY2s9ImRvUGh0U3dpdGNoKCc2
JywnMScsJzM2Jyk7Ij48L2E+PC90ZD48dGQgYWxpZ249ImNlbnRlciIgc3R5bGU9
IndoaXRlLXNwYWNlOiBub3dyYXA7Ij48YSBjbGFzcz0icGhvdG9BY3RpdmVBIiBo
cmVmPSJodHRwOi8vZXZyaWthLXN0LmF0LnVhL3Bob3RvLzItMC0zNiI+PGltZyBh
bHQ9IiIgYm9yZGVyPSIwIiBzdHlsZT0iYm9yZGVyOjJweCBzb2xpZCAjRjFCNDU4
OyIgY2xhc3M9InBob3RvQWN0aXZlIiBzcmM9Imh0dHA6Ly9ldnJpa2Etc3QuYXQu
dWEvX3BoLzIvMS81Mzk5NDE5NzcuanBnIiAvPjwvYT4gPGEgY2xhc3M9Im90aGVy
UGhvdG9BIiBocmVmPSJodHRwOi8vZXZyaWthLXN0LmF0LnVhL3Bob3RvLzItMC00
MiI+PGltZyBhbHQ9IiIgYm9yZGVyPSIwIiBzdHlsZT0iYm9yZGVyOjJweCBzb2xp
ZCAjREREREREOyIgY2xhc3M9Im90aGVyUGhvdG8iIHNyYz0iaHR0cDovL2V2cmlr
YS1zdC5hdC51YS9fcGgvMi8xLzU0ODk0NDY0Ni5qcGciIC8+PC9hPiA8YSBjbGFz
cz0ib3RoZXJQaG90b0EiIGhyZWY9Imh0dHA6Ly9ldnJpa2Etc3QuYXQudWEvcGhv
dG8vMi0wLTM4Ij48aW1nIGFsdD0iIiBib3JkZXI9IjAiIHN0eWxlPSJib3JkZXI6
MnB4IHNvbGlkICNEREREREQ7IiBjbGFzcz0ib3RoZXJQaG90byIgc3JjPSJodHRw
Oi8vZXZyaWthLXN0LmF0LnVhL19waC8yLzEvNzIyNDE4OTEwLmpwZyIgLz48L2E+
IDxhIGNsYXNzPSJvdGhlclBob3RvQSIgaHJlZj0iaHR0cDovL2V2cmlrYS1zdC5h
dC51YS9waG90by8yLTAtMzciPjxpbWcgYWx0PSIiIGJvcmRlcj0iMCIgc3R5bGU9
ImJvcmRlcjoycHggc29saWQgI0RERERERDsiIGNsYXNzPSJvdGhlclBob3RvIiBz
cmM9Imh0dHA6Ly9ldnJpa2Etc3QuYXQudWEvX3BoLzIvMS80OTIwMzY4MjEuanBn
IiAvPjwvYT4gPGEgY2xhc3M9Im90aGVyUGhvdG9BIiBocmVmPSJodHRwOi8vZXZy
aWthLXN0LmF0LnVhL3Bob3RvLzItMC0zOSI+PGltZyBhbHQ9IiIgYm9yZGVyPSIw
IiBzdHlsZT0iYm9yZGVyOjJweCBzb2xpZCAjREREREREOyIgY2xhc3M9Im90aGVy
UGhvdG8iIHNyYz0iaHR0cDovL2V2cmlrYS1zdC5hdC51YS9fcGgvMi8xLzc3Mjc5
MDM5Ni5qcGciIC8+PC9hPiA8YSBjbGFzcz0ib3RoZXJQaG90b0EiIGhyZWY9Imh0
dHA6Ly9ldnJpa2Etc3QuYXQudWEvcGhvdG8vMi0wLTQzIj48aW1nIGFsdD0iIiBi
b3JkZXI9IjAiIHN0eWxlPSJib3JkZXI6MnB4IHNvbGlkICNEREREREQ7IiBjbGFz
cz0ib3RoZXJQaG90byIgc3JjPSJodHRwOi8vZXZyaWthLXN0LmF0LnVhL19waC8y
LzEvNTQzNDk5NzM2LmpwZyIgLz48L2E+IDwvdGQ+PHRkIHN0eWxlPSJwYWRkaW5n
LWxlZnQ6NHB4OyI+PGEgaHJlZj0iamF2YXNjcmlwdDovLyIgcmVsPSJub2ZvbGxv
dyIgaWQ9InJpZ2h0U3djaCIgY2xhc3M9InJpZ2h0U3dpdGNoZXIiIG9uY2xpY2s9
ImRvUGh0U3dpdGNoKCcyJywnMicsJzM2Jyk7Ij48L2E+PC90ZD48L3RyPjwvdGFi
bGU+PC9kaXY+IDxkaXYgc3R5bGU9InBhZGRpbmctdG9wOjVweCI+PGEgY2xhc3M9
InBob3RvT3RoZXJMaW5rIiBocmVmPSJodHRwOi8vZXZyaWthLXN0LmF0LnVhL3Bo
b3RvLzItMC00MSI+PHNwYW4gaWQ9InByZXZQaCI+JmxhcXVvOyDQn9C+0L/QtdGA
0LXQtNC90Y88L3NwYW4+PC9hPiZuYnNwOyB8IDxhIGNsYXNzPSJwaG90b090aGVy
TGluayIgaHJlZj0iaHR0cDovL2V2cmlrYS1zdC5hdC51YS9waG90by8yLTAtMzci
PjE8L2E+ICA8YSBjbGFzcz0icGhvdG9PdGhlckxpbmsiIGhyZWY9Imh0dHA6Ly9l
dnJpa2Etc3QuYXQudWEvcGhvdG8vMi0wLTM5Ij4yPC9hPiAgPGEgY2xhc3M9InBo
b3RvT3RoZXJMaW5rIiBocmVmPSJodHRwOi8vZXZyaWthLXN0LmF0LnVhL3Bob3Rv
LzItMC00MyI+MzwvYT4gIDxhIGNsYXNzPSJwaG90b090aGVyTGluayIgaHJlZj0i
aHR0cDovL2V2cmlrYS1zdC5hdC51YS9waG90by8yLTAtNDQiPjQ8L2E+ICA8YSBj
bGFzcz0icGhvdG9PdGhlckxpbmsiIGhyZWY9Imh0dHA6Ly9ldnJpa2Etc3QuYXQu
dWEvcGhvdG8vMi0wLTQwIj41PC9hPiAgPGEgY2xhc3M9InBob3RvT3RoZXJMaW5r
IiBocmVmPSJodHRwOi8vZXZyaWthLXN0LmF0LnVhL3Bob3RvLzItMC00MSI+Njwv
YT4gIFs8Yj43PC9iPl0gIDxhIGNsYXNzPSJwaG90b090aGVyTGluayIgaHJlZj0i
aHR0cDovL2V2cmlrYS1zdC5hdC51YS9waG90by8yLTAtNDIiPjg8L2E+ICA8YSBj
bGFzcz0icGhvdG9PdGhlckxpbmsiIGhyZWY9Imh0dHA6Ly9ldnJpa2Etc3QuYXQu
dWEvcGhvdG8vMi0wLTM4Ij45PC9hPiB8Jm5ic3A7IDxhIGNsYXNzPSJwaG90b090
aGVyTGluayIgaHJlZj0iaHR0cDovL2V2cmlrYS1zdC5hdC51YS9waG90by8yLTAt
NDIiPjxzcGFuIGlkPSJuZXh0UGgiPtCd0LDRgdGC0YPQv9C90LAgJnJhcXVvOzwv
c3Bhbj48L2E+PC9kaXY+PC90ZD48L3RyPgo8L3RhYmxlPjxociAvPgoKCgo8dGFi
bGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdp
ZHRoPSIxMDAlIj4KPHRyPjx0ZCB3aWR0aD0iNjAlIiBoZWlnaHQ9IjI1Ij48IS0t
PHM1MTgzPi0tPtCS0YHRjNC+0LPQviDQutC+0LzQtdC90YLQsNGA0ZbQsjwhLS08
L3M+LS0+OiA8Yj4wPC9iPjwvdGQ+PHRkIGFsaWduPSJyaWdodCIgaGVpZ2h0PSIy
NSI+PC90ZD48L3RyPgo8dHI+PHRkIGNvbHNwYW49IjIiPjxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij5mdW5jdGlvbiBiYW5faXRlbShpZCl7aWYgKGNvbmZp
cm0oJ9CS0Lgg0LTRltC50YHQvdC+INGF0L7Rh9C10YLQtSDQsNC60YLQuNCy0YPQ
stCw0YLQuCDQtNCw0L3QuNC5INC80LDRgtC10YDRltCw0Ls/Jykpe3ZhciBpbWc9
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JpJytpZCk7aW1nLnNyYz0naHR0cDov
L3MxNi51Y296Lm5ldC9pbWcvZnIvRW1uQWpheC5naWYnO191UG9zdEZvcm0oJycs
e3VybDonaHR0cDovL2V2cmlrYS1zdC5hdC51YS9pbmRleC84Ni0nK2lkKyctMSd9
KTt9fWZ1bmN0aW9uIGRlbF9pdGVtKGlkKXtpZiAoY29uZmlybSgn0JLQuCDQv9GW
0LTRgtCy0LXRgNC00LbRg9GU0YLQtSDQstC40LTQsNC70LXQvdC90Y8/Jykpe3Zh
ciBpbWc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RpJytpZCk7aW1nLnNyYz0n
aHR0cDovL3MxNi51Y296Lm5ldC9pbWcvZnIvRW1uQWpheC5naWYnO191UG9zdEZv
cm0oJycse3VybDonaHR0cDovL2V2cmlrYS1zdC5hdC51YS9pbmRleC8zOC0nK2lk
fSk7fX08L3NjcmlwdD48ZGl2IGlkPSJteUdyaWQiIHN0eWxlPSJkaXNwbGF5Om5v
bmU7Ij48ZGl2IHN0eWxlPSJwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO3RleHQt
YWxpZ246Y2VudGVyO3BhZGRpbmctdG9wOjI1MHB4OyI+PGltZyBhbHQ9IiIgc3Jj
PSJodHRwOi8vczE2LnVjb3oubmV0L2ltZy9tYS9tL2kzLmdpZiIgc3R5bGU9ImJv
cmRlcjowO3dpZHRoOjIyMHB4O2hlaWdodDoxOXB4OyI+PC9kaXY+PC9kaXY+PHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPmZ1bmN0aW9uIHNwYWdlcyhwKXtp
ZiAoMCl7ZG9jdW1lbnQubG9jYXRpb24uaHJlZj0nL3Bob3RvLzItJytwKyctMzYn
OyByZXR1cm47fXRyeXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbXlHcmlkJyku
c3R5bGUuY3NzVGV4dCA9ICdwb3NpdGlvbjphYnNvbHV0ZTsgei1pbmRleDo4OyB0
b3A6MDtsZWZ0OjA7IGRpc3BsYXk6bm9ybWFsOyBiYWNrZ3JvdW5kOiB1cmwoXCdo
dHRwOi8vczE2LnVjb3oubmV0L2ltZy9mci9nLmdpZlwnKTsgdGV4dC1hbGlnbjpj
ZW50ZXI7IHdpZHRoOicrZG9jdW1lbnQuYm9keS5zY3JvbGxXaWR0aCsncHg7IGhl
aWdodDonK2RvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0KydweDsnO31jYXRjaChl
KXt9X3VQb3N0Rm9ybSgnJyx7dXJsOicvcGhvdG8vMi0nK3ArJy0zNi05ODctMC0w
LTAtJytNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMWU4KX0pO308L3NjcmlwdD48
YSBuYW1lPSJjb21tZW50cyI+PC9hPjxkaXYgaWQ9Im5ld0VudHJ5VCI+PC9kaXY+
PGRpdiBpZD0iYWxsRW50cmllcyI+PC9kaXY+PGRpdiBpZD0ibmV3RW50cnlCIj48
L2Rpdj48L3RkPjwvdHI+Cjx0cj48dGQgY29sc3Bhbj0iMiIgYWxpZ249ImNlbnRl
ciI+PC90ZD48L3RyPgo8dHI+PHRkIGNvbHNwYW49IjIiIGhlaWdodD0iMTAiPjwv
dGQ+PC90cj4KPC90YWJsZT4KCgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPmZ1bmN0aW9uIGFkZGNvbShmKXtpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2FkZGNCdXQnKSl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FkZGNCdXQn
KS5kaXNhYmxlZD10cnVlO31lbHNlIHt0cnl7ZG9jdW1lbnQuYWRkZm9ybS5zdWJt
aXQuZGlzYWJsZWQ9dHJ1ZTt9Y2F0Y2goZSl7fX1pZiAoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2VNZXNzYWdlJykpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdl
TWVzc2FnZScpLmlubmVySFRNTD0nPHNwYW4gc3R5bGU9ImNvbG9yOiM4QjhCOEIi
PjxpbWcgc3JjPSJodHRwOi8vczE2LnVjb3oubmV0L2ltZy9tYS9tL9GWMi5naWYi
IGJvcmRlcj0iMCIgYWxpZ249ImFic21pZGRsZSIgd2lkdGg9IjEzIiBoZWlnaHQ9
IjEzIj4g0JnQtNC1INC/0LXRgNC10LTQsNGH0LAg0LTQsNC90LjRhS4uLjwvc3Bh
bj4nO31fdVBvc3RGb3JtKCdhY2Zvcm0nLHt0eXBlOidQT1NUJyx1cmw6J2h0dHA6
Ly9ldnJpa2Etc3QuYXQudWEvaW5kZXgvJ30pO312YXIgX3k4TT0nJzsgZnVuY3Rp
b24gX2RTKHMpeyB2YXIgaTt2YXIgcj0iIjsgdmFyIGw9cy5sZW5ndGgtMTsgdmFy
IGs9cy5zdWJzdHIobCwxKTsgZm9yIChpPTA7aTxsO2krKyl7IGM9cy5jaGFyQ29k
ZUF0KGkpLWs7ICBpZihjPDMyKXsgYz0xMjctKDMyLWMpO30gcis9U3RyaW5nLmZy
b21DaGFyQ29kZShjKTsgfSByZXR1cm4gcjt9IF95OE09X2RTKCdDcHV3fHtcJ3sh
d2xEKW9wa2tsdSlcJ3VodGxEKXp2eilcJ31oc3xsRCk6OTg8Pzo9PkBAKVwnNkU3
Jyk7PC9zY3JpcHQ+PGZvcm0gbWV0aG9kPSJwb3N0IiBuYW1lPSJhZGRmb3JtIiBp
ZD0iYWNmb3JtIiBzdHlsZT0ibWFyZ2luOjAiIGFjdGlvbj0iaHR0cDovL2V2cmlr
YS1zdC5hdC51YS9pbmRleC8iIG9uc3VibWl0PSJhZGRjb20oKTtyZXR1cm4gZmFs
c2U7Ij4gPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPmRvY3VtZW50Lndy
aXRlKF95OE0pPC9zY3JpcHQ+Cgo8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iMTAw
JSIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIyIiBjbGFzcz0iY29tbVRh
YmxlIj4KPHRyPjx0ZCBjbGFzcz0iY29tbVRkMiIgY29sc3Bhbj0iMiI+PGRpdiBj
bGFzcz0iY29tbUVycm9yIiBpZD0iZU1lc3NhZ2UiIGFsaWduPSJjZW50ZXIiPjwv
ZGl2PjwvdGQ+PC90cj4KCjx0cj48dGQgd2lkdGg9IjE1JSIgY2xhc3M9ImNvbW1U
ZDEiIG5vd3JhcD7QhtC8YNGPICo6PC90ZD48dGQgY2xhc3M9ImNvbW1UZDIiPjxp
bnB1dCBjbGFzcz0iY29tbUZsIiB0eXBlPSJ0ZXh0IiBuYW1lPSJuYW1lIiB2YWx1
ZT0iIiBzaXplPSIzMCIgbWF4bGVuZ3RoPSI2MCI+PC90ZD48L3RyPgo8dHI+PHRk
IGNsYXNzPSJjb21tVGQxIj5FbWFpbDo8L3RkPjx0ZCBjbGFzcz0iY29tbVRkMiI+
PGlucHV0IGNsYXNzPSJjb21tRmwiIHR5cGU9InRleHQiIG5hbWU9ImVtYWlsIiB2
YWx1ZT0iIiBzaXplPSIzMCIgbWF4bGVuZ3RoPSI2MCI+PC90ZD48L3RyPgoKPHRy
Pjx0ZCBjbGFzcz0iY29tbVRkMiIgY29sc3Bhbj0iMiI+PGRpdiBzdHlsZT0icGFk
ZGluZy1ib3R0b206MnB4Ij48L2Rpdj48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFk
ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj48dHI+PHRkIHZh
bGlnbj0idG9wIj48dGV4dGFyZWEgY2xhc3M9ImNvbW1GbCIgc3R5bGU9ImhlaWdo
dDoxMzVweDsiIHJvd3M9IjgiIG5hbWU9Im1lc3NhZ2UiIGlkPSJtZXNzYWdlIiBj
b2xzPSI1MCI+PC90ZXh0YXJlYT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+
Cgo8dHI+PHRkIGNsYXNzPSJjb21tVGQxIiBub3dyYXA+0JrQvtC0ICo6PC90ZD48
dGQgY2xhc3M9ImNvbW1UZDIiPjxpbnB1dCBjbGFzcz0ic2VjdXJpdHlDb2RlIiB0
eXBlPSJ0ZXh0IiBuYW1lPSJjb2RlIiBzaXplPSI3IiBtYXhsZW5ndGg9IjYiIC8+
PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2Vja2V5IiB2YWx1ZT0iMjk5MTE1
NzMyOCIgLz4gPGltZyBhbHQ9IiIgc3R5bGU9Im1hcmdpbjowO3BhZGRpbmc6MDti
b3JkZXI6MDtjdXJzb3I6cG9pbnRlcjsiIGlkPSJzZWN1SW1nQyIgYWxpZ249ImFi
c21pZGRsZSIgdGl0bGU9ItCe0LHQvdC+0LLQuNGC0Lgg0LrQvtC0INCx0LXQt9C/
0LXQutC4IiBvbmNsaWNrPSJ0aGlzLnNyYz0naHR0cDovL2V2cmlrYS1zdC5hdC51
YS9zZWN1cmUvP2s9Mjk5MTE1NzMyODttPWFkZGNvbTE2MDM3Njc5O3RtPScrTWF0
aC5yYW5kb20oKTsiIHNyYz0iaHR0cDovL2V2cmlrYS1zdC5hdC51YS9zZWN1cmUv
P2s9Mjk5MTE1NzMyODttPWFkZGNvbTE2MDM3Njc5O3RtPTEyNzgzMzg4MTYiIC8+
IDxpbWcgYWx0PSIiIHNyYz0iaHR0cDovL3MxNi51Y296Lm5ldC9pbWcvbWEvcmVm
cmVzaC5naWYiIGJvcmRlcj0iMCIgYWxpZ249ImFic21pZGRsZSIgc3R5bGU9ImN1
cnNvcjpwb2ludGVyOyIgb25jbGljaz0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3NlY3VJbWdDJykuc3JjPSdodHRwOi8vZXZyaWthLXN0LmF0LnVhL3NlY3VyZS8/
az0yOTkxMTU3MzI4O209YWRkY29tMTYwMzc2Nzk7dG09JytNYXRoLnJhbmRvbSgp
OyIgdGl0bGU9ItCe0LHQvdC+0LLQuNGC0Lgg0LrQvtC0INCx0LXQt9C/0LXQutC4
IiAvPjwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iY29tbVRkMiIgY29sc3Bhbj0i
MiIgYWxpZ249ImNlbnRlciI+PGlucHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9ImNv
bW1TYm1GbCIgaWQ9ImFkZGNCdXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9Ii0g0JTQ
vtC00LDRgtC4INC60L7QvNC10L3RgtCw0YAgLSI+PC90ZD48L3RyPjwvdGFibGU+
Cgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhIiB2YWx1ZT0iMzYiIC8+PGlu
cHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ibSIgdmFsdWU9IjQiIC8+PGlucHV0IHR5
cGU9ImhpZGRlbiIgbmFtZT0iaWQiIHZhbHVlPSIzNiIgLz48L2Zvcm0+CgoKPCEt
LSA8L2JvZHk+IC0tPjwhLS0gPC9taWRkbGU+IC0tPjwvdGQ+PC90cj4KPC90YWJs
ZT4KPC90ZD4KPHRkIHdpZHRoPSIyMyIgc3R5bGU9ImJhY2tncm91bmQ6dXJsKCcv
LnMvdC85NjMvMTMuZ2lmJyk7Ij48L3RkPgoKPHRkIHZhbGlnbj0idG9wIiB3aWR0
aD0iMjE0Ij4KPCEtLVUxRFJJR0hURVIxWi0tPjwhLS0gPGJsb2NrOT4gLS0+Cgo8
IS0tIDwvYmxvY2s5PiAtLT4KCjwhLS0gPGJsb2NrNz4gLS0+Cgo8IS0tIDwvYmxv
Y2s3PiAtLT4KCjwhLS0gPGJsb2NrMTI+IC0tPgoKPHRhYmxlIGJvcmRlcj0iMCIg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMjE0IiBzdHls
ZT0iYmFja2dyb3VuZDp1cmwoJy8ucy90Lzk2My85LmdpZicpICNGRkZGRkY7Ij4K
PHRyPjx0ZCBoZWlnaHQ9IjQ5IiBzdHlsZT0iYmFja2dyb3VuZDp1cmwoJy8ucy90
Lzk2My8xMC5naWYnKSAjMUM2Qzc3O3BhZGRpbmctdG9wOjdweDtwYWRkaW5nLWxl
ZnQ6NDBweDtjb2xvcjojRkZGRkZGOyI+PGI+PCEtLSA8YnQ+IC0tPjwhLS08czUx
OTU+LS0+0KHRgtCw0YLQuNGB0YLQuNC60LA8IS0tPC9zPi0tPjwhLS0gPC9idD4g
LS0+PC9iPjwvdGQ+PC90cj4KPHRyPjx0ZCBzdHlsZT0iYmFja2dyb3VuZDp1cmwo
Jy8ucy90Lzk2My8xMS5naWYnKSBib3R0b20gbm8tcmVwZWF0O3BhZGRpbmc6IDAg
MTBweCAxMHB4IDEwcHg7Ij48ZGl2IGFsaWduPSJjZW50ZXIiPjwhLS0gPGJjPiAt
LT48YSBocmVmPSJodHRwOi8vd3d3LnVjb3oudWEvbWFpbi8/YT11c3RhdDt1PWV2
cmlrYS1zdDtkPTI7aWw9cnUiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0idUNveiBD
b3VudGVyIj48aW1nIGFsdD0iIiBzdHlsZT0ibWFyZ2luOjA7cGFkZGluZzowO2Jv
cmRlcjowOyIgc3JjPSJodHRwOi8vZXZyaWthLXN0LmF0LnVhL3N0YXQvMTI3ODMz
ODgxNiIgaGVpZ2h0PSIxMCIgd2lkdGg9Ijg4IiAvPjwvYT48aHIgLz48ZGl2IGNs
YXNzPSJ0T25saW5lIiBpZD0ib25sMSI+0J7QvdC70LDQudC9INCy0YHRjNC+0LPQ
vjogPGI+MTwvYj48L2Rpdj4gPGRpdiBjbGFzcz0iZ09ubGluZSIgaWQ9Im9ubDIi
PtCT0L7RgdGC0LXQuTogPGI+MTwvYj48L2Rpdj4gPGRpdiBjbGFzcz0idU9ubGlu
ZSIgaWQ9Im9ubDMiPtCa0L7RgNC40YHRgtGD0LLQsNGH0ZbQsjogPGI+MDwvYj48
L2Rpdj48IS0tIDwvYmM+IC0tPjwvZGl2PjwvdGQ+PC90cj4KPC90YWJsZT48ZGl2
IHN0eWxlPSJoZWlnaHQ6NXB4OyI+PC9kaXY+Cgo8IS0tIDwvYmxvY2sxMj4gLS0+
CgoKPEVNQkVEIHNyYz0iaHR0cDovL3JwNS51YS9pbmZvcm1lci8xMjB4NjAvMS8y
LnN3ZiIgbG9vcD1mYWxzZSBtZW51PWZhbHNlIHF1YWxpdHk9aGlnaCBzY2FsZT1u
b3NjYWxlIHdtb2RlPXRyYW5zcGFyZW50IGJnY29sb3I9I0NDQ0NDQyBmbGFzaHZh
cnM9ImlkPTc4NSZsYW5nPXJ1IiBXSURUSD0iMTIwIiBIRUlHSFQ9IjYwIiBOQU1F
PSJsb2FkZXIiIEFMSUdOPSIiIFRZUEU9ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZl
LWZsYXNoIiBQTFVHSU5TUEFHRT0gImh0dHA6Ly93d3cubWFjcm9tZWRpYS5jb20v
Z28vZ2V0Zmxhc2hwbGF5ZXIiPjwvRU1CRUQ+CgogPCEtLSDQo9C60YDQsNC40L3R
gdC60LjQuSDRgtGD0YDQuNGB0YLQuNGH0LXRgdC60LjQuSDRgNC10LnRgtC40L3Q
syBUcmF2ZWxUT1AuaW4udWEgLS0+Cjx0YWJsZSBib3JkZXI9MCBzdHlsZT0iYm9y
ZGVyOjA7cGFkZGluZzowO21hcmdpbjowOyIgY2VsbHBhZGRpbmc9MCBjZWxsc3Bh
Y2luZz0wIHdpZHRoPTg4IGhlaWdodD0zMT4KPHRyIGJnY29sb3I9I2ZmZmZmZiBo
ZWlnaHQ9MzE+PHRkIHN0eWxlPSJwYWRkaW5nOjA7bWFyZ2luOjA7IiB3aWR0aD02
Mz48YSBocmVmPSJodHRwOi8vdHJhdmVsdG9wLmluLnVhL2NhdGFsb2cvMS81Ni8i
IHRhcmdldD0iX2JsYW5rIiB0aXRsZT0i0KLRg9GA0LjRgdGC0LjRh9C10YHQutC4
0LUg0LrQvtC80L/QsNC90LjQuCDQlNGA0YPQs9C40LUiPjxpbWcgc3JjPSJodHRw
Oi8vdHJhdmVsdG9wLmluLnVhL2MydjAxcDEuZ2lmIiBhbHQ9ItCi0YPRgNC40YHR
gtC40YfQtdGB0LrQuNC1INC60L7QvNC/0LDQvdC40Lgg0JTRgNGD0LPQuNC1IiBi
b3JkZXI9IjAiIHdpZHRoPSI2MyIgaGVpZ2h0PSIzMSIgdnNwYWNlPVwiMFwiIGhz
cGFjZT1cIjBcIiBzdHlsZT0iYm9yZGVyOjA7cGFkZGluZzowO21hcmdpbjowOyI+
PGJyPjwvYT48L3RkPgo8dGQgc3R5bGU9InBhZGRpbmc6MDttYXJnaW46MDsiIHdp
ZHRoPTI1PjxhIGhyZWY9Imh0dHA6Ly90cmF2ZWx0b3AuaW4udWEvcmF0aW5nLzEv
IiB0YXJnZXQ9Il9ibGFuayI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KPCEtLQpkPWRvY3VtZW50Owp1cmw9IjxpbWcgc3JjPVwiaHR0cDovL3RyYXZl
bHRvcC5pbi51YS9jMi5waHA/aTgwNyZ2MDEmbiIrTWF0aC5yYW5kb20oKTsKdHJ5
ewpzPXNjcmVlbjsKdXJsKz0iJmQiKyhzLmNvbG9yRGVwdGg/cy5jb2xvckRlcHRo
OnMucGl4ZWxEZXB0aCkrIiZ3IitzLndpZHRoKyImaCIrcy5oZWlnaHQ7Cn1jYXRj
aChlKXsgfQp1cmwrPSImciIrZXNjYXBlKGRvY3VtZW50LnJlZmVycmVyKTsKdXJs
Kz0iJnUiK2VzY2FwZShkb2N1bWVudC5VUkwpOwpkLndyaXRlKHVybCsiXCIgYWx0
PVwi0KLRg9GA0LjRgdGC0LjRh9C10YHQutC40LUg0LrQvtC80L/QsNC90LjQuCDQ
lNGA0YPQs9C40LVcIiBib3JkZXI9XCIwXCIgd2lkdGg9XCIyNVwiIGhlaWdodD1c
IjMxXCIgdnNwYWNlPVwiMFwiIGhzcGFjZT1cIjBcIiBzdHlsZT1cImJvcmRlcjow
O3BhZGRpbmc6MDttYXJnaW46MDtcIj48YnI+Iik7Ci8vLS0+Cjwvc2NyaXB0Pgo8
L2E+PC90ZD48L3RyPgo8L3RhYmxlPgo8IS0tIGh0dHA6Ly93d3cudHJhdmVsdG9w
LmluLnVhIGNvdW50ZXItLT48QSBocmVmPSJodHRwOi8vbXljb3VudGVyLnVhLyIg
dGl0bGU9ItCh0YfRkdGC0YfQuNC6IE15Q291bnRlciIKdGFyZ2V0PSJfYmxhbmsi
PjxJTUcgc3JjPSJodHRwOi8vbXljb3VudGVyLnVhL2J1dHRvbnMvIgpib3JkZXI9
MCB3aWR0aD04OCBoZWlnaHQ9MzEgYWx0PSLQodGH0ZHRgtGH0LjQuiBNeUNvdW50
ZXIiPjwvQT48IS0tL1UxRFJJR0hURVIxWi0tPgoKPC90ZD4KPC90cj4KCjx0cj48
dGQ+PC90ZD48dGQgd2lkdGg9IjIzIiBoZWlnaHQ9IjI3Ij48aW1nIHNyYz0iLy5z
L3QvOTYzLzE0LmdpZiIgYm9yZGVyPSIwIj48L3RkPjx0ZCBoZWlnaHQ9IjI3IiBh
bGlnbj0iY2VudGVyIiBzdHlsZT0iYmFja2dyb3VuZDp1cmwoJy8ucy90Lzk2My8x
NS5naWYnKTsiPjxpbWcgc3JjPSIvLnMvdC85NjMvMTYuZ2lmIiBib3JkZXI9IjAi
PjwvdGQ+PHRkIHdpZHRoPSIyMyIgaGVpZ2h0PSIyNyI+PGltZyBzcmM9Ii8ucy90
Lzk2My8xNy5naWYiIGJvcmRlcj0iMCI+PC90ZD48dGQ+PC90ZD48L3RyPgo8dHI+
PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkIGhlaWdodD0iNjgiIHN0eWxlPSJiYWNrZ3Jv
dW5kOnVybCgnLy5zL3QvOTYzLzE4LmdpZicpIGNlbnRlciBuby1yZXBlYXQ7Y29s
b3I6IzAwMDAwMDtwYWRkaW5nLXRvcDo1cHg7IiBhbGlnbj0iY2VudGVyIiB2YWxp
Z249InRvcCI+PCEtLSA8Y29weT4gLS0+Q29weXJpZ2h0IE15Q29ycCAmY29weTsg
MjAxMDwhLS0gPC9jb3B5PiAtLT48YnI+PGJyPjwhLS0gIicgLS0+PHNwYW4gY2xh
c3M9InBieVZjSGpmIj48YSBocmVmPSJodHRwOi8vd3d3LnVjb3oudWEvIj48aW1n
IHN0eWxlPSJtYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7d2lkdGg6NDBweDto
ZWlnaHQ6MjBweDsiIHNyYz0iaHR0cDovL3MxNi51Y296Lm5ldC9pbWcvY3AvNTAu
Z2lmIiBhbHQ9IiIgdGl0bGU9ItCh0YLQstC+0YDQuNGC0Lgg0YHQsNC50YIg0LHQ
tdC30LrQvtGI0YLQvtCy0L3QviIgLz48L2E+PC9zcGFuPjwvdGQ+PHRkPjwvdGQ+
PHRkPjwvdGQ+PC90cj4KCjwvdGFibGU+CgoKPC90ZD48L3RyPjwvdGFibGU+Cgo8
YnI+CjwvYm9keT4KCjwvaHRtbD4KCgoKPCEtLSAwLjAxMTY2IChzMTYpIC0tPg==
------------lOdbdcaHCTZRQX8JiBQeSz
Content-Disposition: inline; filename=cv.gif
Content-Type: image/gif; name=cv.gif
Content-Location: http://s16.ucoz.net/img/ma/cv.gif
Content-Transfer-Encoding: Base64
R0lGODlhDAA2ALMAAAAAAEdHR4uGhtTQyP///////wAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACH5BAEAAAUALAAAAAAMADYAAASVsMhJp7g4SzG678L2fWHB
AUSHDiU3oCsrqik4w3X71qteD7nZSGYa2oqBZPLICRCeT2Lzxxw4RzrlUtqBRrPD
LJV7JYnKnqy2CvSS12ToVdyZn2t2pDala0PfSlVObmqBXH55TXuHXnxncGKEj4aR
f4VbfY2HYUJYIjE9NwQxfTtpoqSfPI5FP0FFRqWeJhm1FbcSEQAAOw==
------------lOdbdcaHCTZRQX8JiBQeSz
Content-Disposition: inline; filename=autocontext2.js
Content-Type: application/x-javascript; charset=windows-1251; name=autocontext2.js
Content-Location: http://autocontext.begun.ru/autocontext2.js
Content-Transfer-Encoding: Base64
aWYodHlwZW9mIEJlZ3VuIT09Im9iamVjdCIpewp2YXIgQmVndW49e307Cn0KaWYo
dHlwZW9mIEJlZ3VuLkVycm9yIT09Im9iamVjdCIpewpCZWd1bi5FcnJvcj17fTsK
fQppZih0eXBlb2YgQmVndW4ubG9hZGVyQ2FsbGJhY2tzPT09InVuZGVmaW5lZCIp
ewpCZWd1bi5sb2FkZXJDYWxsYmFja3M9W107Cn0KCkJlZ3VuLmxvYWRlckNhbGxi
YWNrcy5wdXNoKGJlZ3VuX2xvYWRfYXV0b2NvbnRleHQpOwpmdW5jdGlvbiBiZWd1
bl9sb2FkX2F1dG9jb250ZXh0KCl7CgpCZWd1bi5TY3JpcHRzLmltcG9ydEFsbFNj
cmlwdHMoeyJhY3AvYmVndW5fdGVtcGxhdGUuMzA2NTcuanMiOnRydWUsImFjcC9i
ZWd1bl91dGlscy4zNjQwOC5qcyI6dHJ1ZX0pOwoKaWYodHlwZW9mIEJlZ3VuLkVy
cm9yLnNlbmQ9PT0idW5kZWZpbmVkIil7CkJlZ3VuLkVycm9yLnNlbmQ9ZnVuY3Rp
b24oZXJyb3JNZXNzYWdlLGVycm9yVXJsLGVycm9yTGluZSxsb2dnZXJBZGRyZXNz
KXsKaWYodHlwZW9mIEJlZ3VuLkVycm9yLnNlbnRbZXJyb3JNZXNzYWdlXSE9PSJ1
bmRlZmluZWQiKXsKcmV0dXJuOwp9CnZhciBkZWZhdWx0RXJyb3JMb2dnZXI9Imh0
dHA6Ly9hdXRvY29udGV4dC5iZWd1bi5ydS9sb2dfZXJyb3JzPyI7CnZhciBhZGRy
ZXNzPWxvZ2dlckFkZHJlc3N8fHdpbmRvdy5iZWd1bl9lcnJvcl91cmx8fGRlZmF1
bHRFcnJvckxvZ2dlcjsKdmFyIHBhZElkPXdpbmRvdy5iZWd1bl9hdXRvX3BhZDsK
dmFyIGltZz0obmV3IEltYWdlKCkpLnNyYz1hZGRyZXNzKyJlX21zZz0iK2VuY29k
ZVVSSUNvbXBvbmVudChlcnJvck1lc3NhZ2UpKyImZV91cmw9IisKZW5jb2RlVVJJ
KGVycm9yVXJsKSsiJmVfbGluZT0iK2Vycm9yTGluZSsKIiZwYWRfaWQ9IitwYWRJ
ZCsiJmxvY2F0aW9uPSIrZW5jb2RlVVJJKGRvY3VtZW50LmxvY2F0aW9uKTsKQmVn
dW4uRXJyb3Iuc2VudFtlcnJvck1lc3NhZ2VdPXRydWU7Cn07CkJlZ3VuLkVycm9y
LnNlbnQ9e307Cn0KCihmdW5jdGlvbigpewppZighQmVndW4uQXV0b2NvbnRleHQp
ewp2YXIgZXJyb3JIYW5kbGVyPXdpbmRvdy5vbmVycm9yOwp3aW5kb3cub25lcnJv
cj1mdW5jdGlvbiByZWdFcnJvcnMobXNnLHVybCxsaW5lKXsKaWYoZXJyb3JIYW5k
bGVyJiZlcnJvckhhbmRsZXIgaW5zdGFuY2VvZiBGdW5jdGlvbil7CmVycm9ySGFu
ZGxlcigpOwp9CmlmKHVybCYmdXJsLnNlYXJjaCgvYXV0b2NvbnRleHQvaSkhPT0t
MXx8bXNnJiZtc2cuc2VhcmNoKC9CZWd1bi9pKSE9PS0xKXsKQmVndW4uRXJyb3Iu
c2VuZChtc2csdXJsLGxpbmUpOwp9Cn07Cn0KfSkoKTsKCkJlZ3VuLkRPTV9USU1F
T1VUPTE7CkJlZ3VuLlJFVklTSU9OPSckTGFzdENoYW5nZWRSZXZpc2lvbjogMzY2
MjAgJCc7CgpCZWd1bi5TY3JpcHRzLkNhbGxiYWNrc1snYWMnXT1mdW5jdGlvbihm
aWxlTmFtZSl7CmlmKCFCZWd1bi5BdXRvY29udGV4dCYmQmVndW4uU2NyaXB0cy5p
c0xhc3RSZXF1aXJlZChmaWxlTmFtZSkpewpCZWd1bi5BdXRvY29udGV4dD1uZXcg
ZnVuY3Rpb24oKXsKdmFyIF90aGlzPXRoaXM7CnRoaXMuZG9tX2NoYW5nZT1mYWxz
ZTsKdGhpcy5tdWx0aXBsZV9mZWVkPXRydWU7CnRoaXMuc2Nyb2xsZXJzPVtdOwp0
aGlzLm9wdGlvbnM9ewptYXhfYmxvY2tzX2NvdW50OjEwLAptYXhfc2Nyb2xsZXJz
OjEsCm1heF9zY3JvbGxfYmFubmVyczoxMAp9Owp0aGlzLnVuaGFuZGxlZERlYnVn
cz1bXTsKCnRoaXMuVGh1bWJzPShmdW5jdGlvbigpewp2YXIgdHlwZXM9ewonZGVm
YXVsdCc6ewond2lkdGgnOjQyLAonaGVpZ2h0Jzo0Mgp9LAonY2xhc3NpYyc6ewon
d2lkdGgnOjU2LAonaGVpZ2h0Jzo0Mgp9Cn0KcmV0dXJuewpnZXRUeXBlOmZ1bmN0
aW9uKHBhZF9pZCl7CnZhciBzZWN0aW9ucz1bJ2F1dG9jb250ZXh0JywnaHlwZXJj
b250ZXh0J107CnZhciBiYW5uZXI9bnVsbDsKZm9yKHZhciBpPTA7aTxzZWN0aW9u
cy5sZW5ndGg7aSsrKXsKaWYoX3RoaXMuZ2V0QmFubmVyKHNlY3Rpb25zW2ldLDAs
cGFkX2lkKSl7CmJhbm5lcj1fdGhpcy5nZXRCYW5uZXIoc2VjdGlvbnNbaV0sMCxw
YWRfaWQpOwpicmVhazsKfQp9CnJldHVybiBfdGhpcy5nZXRUaHVtYlNyYyhiYW5u
ZXIsZmFsc2UpLmluZGV4T2YoJ2NsYXNzaWMnKSE9LTE/J2NsYXNzaWMnOidkZWZh
dWx0JzsKfSwKZ2V0RGltZW50aW9uczpmdW5jdGlvbih0eXBlKXsKcmV0dXJuIHR5
cGVzW3R5cGVdOwp9Cn0KfSkoKTsKCnZhciBNb2R1bGU9KGZ1bmN0aW9uKCl7CnZh
ciBleHQ9ewoiYXV0b19wcGNhbGwiOiIzNjQwOCIsCiJhdXRvX3Njcm9sbCI6IjM0
OTMyIiwKImF1dG9fcmljaCI6IjMyMjI2IiwKImF1dG9fYWNjb3JkaW9uIjoiMzA1
NzMiLAoiYXV0b190b3AiOiIzMDU3MyIsCiJhdXRvX2NhdGFsb2ciOiIzMDU3MyIs
CiJhdXRvX2h5cGVyIjoiMzUyNDEiLAoiYXV0b19waG90byI6IjM1NzQ3IiwKInRv
b2xiYXIiOiIzNjU1NyIsCiJjYXRhbG9nX3RyZWUiOiIxIgp9Owp2YXIgbG9hZGVk
PVtdOwpyZXR1cm57CnVwZGF0ZUFudGljYXNoOmZ1bmN0aW9uKGxpbmspewp2YXIg
cmVNb2R1bGU9bmV3IFJlZ0V4cCgiXiIrX3RoaXMuU3RyaW5ncy51cmxzLmJhc2Vf
c2NyaXB0c191cmwudG9TdHJpbmcoIi8iLCJcLyIpKyIoXFx3KylcLmpzJCIpOwp2
YXIgcGFyc2VkPXJlTW9kdWxlLmV4ZWMobGluayk7CmlmKChwYXJzZWQhPT1udWxs
KSYmKHBhcnNlZC5sZW5ndGg9PT0yKSYmCnR5cGVvZiBleHRbcGFyc2VkWzFdXSE9
PSJ1bmRlZmluZWQiKXsKcmV0dXJuIGV4dFtwYXJzZWRbMV1dOwp9ZWxzZXsKcmV0
dXJuIGZhbHNlOwp9Cn0sCmlzTG9hZGVkOmZ1bmN0aW9uKGxpbmspewpyZXR1cm4g
QmVndW4uVXRpbHMuaW5fYXJyYXkobG9hZGVkLGxpbmspOwp9LApsb2FkOmZ1bmN0
aW9uKGxpbmspewppZighdGhpcy5pc0xvYWRlZChsaW5rKSl7CnZhciByZXZOdW1i
ZXI9dGhpcy51cGRhdGVBbnRpY2FzaChsaW5rKTsKaWYocmV2TnVtYmVyKXsKQmVn
dW4uVXRpbHMuaW5jbHVkZVNjcmlwdChsaW5rLnJlcGxhY2UoLyguKylcLyhbXlwv
XSspXC5qcyQvLCIkMS9hY3AvJDIuIityZXZOdW1iZXIrIi5qcyIsJ3dyaXRlJykp
Owp9ZWxzZXsKQmVndW4uVXRpbHMuaW5jbHVkZVNjcmlwdChsaW5rLCd3cml0ZScp
Owp9CmxvYWRlZC5wdXNoKGxpbmspOwp9Cn0sCmdldE5hbWVzOmZ1bmN0aW9uKHdo
YXQpewpzd2l0Y2god2hhdCl7CmNhc2UibG9hZGVkIjoKcmV0dXJuIGxvYWRlZC50
b1N0cmluZygpOwpjYXNlImFsbCI6CmRlZmF1bHQ6CnZhciBhbGxNb2R1bGVzPScn
Owp2YXIgY29tbWE9Jyc7CmZvcih2YXIgYU1vZHVsZSBpbiBleHQpewppZihleHQu
aGFzT3duUHJvcGVydHkoYU1vZHVsZSkpewphbGxNb2R1bGVzKz1jb21tYSthTW9k
dWxlOwpjb21tYT0nLCc7Cn0KfQpyZXR1cm4gYWxsTW9kdWxlczsKfQp9Cn07Cn0p
KCk7Cgp0aGlzLnRwbExvYWRlZD1mdW5jdGlvbih0cGwpewp0aGlzLnRwbExvYWRl
ZC5ub3RGaW5pc2hlZFt0cGxdPWZhbHNlOwppZih0aGlzLmZpbGxCbG9ja3MuZGVs
YXllZENhbGwmJiFFeHRCbG9ja1R5cGVzLmlzTG9hZGluZygpKXsKdGhpcy5maWxs
QmxvY2tzKCk7CnRoaXMuZmlsbEJsb2Nrcy5kZWxheWVkQ2FsbD1mYWxzZTsKfQp9
Owp0aGlzLnRwbExvYWRlZC5ub3RGaW5pc2hlZD17fTsKCnZhciBFeHRCbG9ja1R5
cGVzPShmdW5jdGlvbigpewp2YXIgZXh0PXsKImJlZ3VuX3RwbF9ibG9ja18xMjB4
NjAwIjoiMzY1NDciLAoiYmVndW5fdHBsX2Jsb2NrXzE2MHg2MDAiOiIzNjU0NyIs
CiJiZWd1bl90cGxfYmxvY2tfMjAweDMwMCI6IjM2NTQ3IiwKImJlZ3VuX3RwbF9i
bG9ja18yNDB4NDAwIjoiMzY1NDciLAoiYmVndW5fdHBsX2Jsb2NrXzQ2OHg2MCI6
IjM2NTQ3IiwKImJlZ3VuX3RwbF9ibG9ja183Mjh4OTAiOiIzNjM5NiIsCiJiZWd1
bl90cGxfYmxvY2tfZmxhdCI6IjM2NTgyIiwKImJlZ3VuX3RwbF9ibG9ja19ob3Jp
em9udGFsIjoiMzY1NDciLAoiYmVndW5fdHBsX2Jsb2NrX3JpY2giOiIzNjU0NyIs
CiJiZWd1bl90cGxfYmxvY2tfc3F1YXJlIjoiMzY1NDciLAoiYmVndW5fdHBsX2Js
b2NrX3RvcCI6IjM2NTQ3IiwKImJlZ3VuX3RwbF9ibG9ja192ZXJ0aWNhbCI6IjM2
NTQ3Igp9CgpyZXR1cm57CmlzTG9hZGluZzpmdW5jdGlvbigpewp2YXIgaXNBbnk9
ZmFsc2U7CmZvcih2YXIgc3RhdHVzIGluIF90aGlzLnRwbExvYWRlZC5ub3RGaW5p
c2hlZCl7CmlmKF90aGlzLnRwbExvYWRlZC5ub3RGaW5pc2hlZC5oYXNPd25Qcm9w
ZXJ0eShzdGF0dXMpKXsKaWYoX3RoaXMudHBsTG9hZGVkLm5vdEZpbmlzaGVkW3N0
YXR1c10pewppc0FueT10cnVlOwpicmVhazsKfQp9Cn0KcmV0dXJuIGlzQW55Owp9
LApsb2FkOmZ1bmN0aW9uKHRwbEZpbGVOYW1lKXsKaWYodHlwZW9mIGV4dFt0cGxG
aWxlTmFtZV09PT0idW5kZWZpbmVkIil7CnJldHVybjsKfQppZih0eXBlb2YgX3Ro
aXMudHBsTG9hZGVkLm5vdEZpbmlzaGVkW3RwbEZpbGVOYW1lXT09PSJ1bmRlZmlu
ZWQiKXsKX3RoaXMudHBsTG9hZGVkLm5vdEZpbmlzaGVkW3RwbEZpbGVOYW1lXT10
cnVlOwpCZWd1bi5VdGlscy5pbmNsdWRlU2NyaXB0KF90aGlzLlN0cmluZ3MudXJs
cy5iYXNlX3NjcmlwdHNfdXJsKyJhY3AvIisKdHBsRmlsZU5hbWUrIi4iK2V4dFt0
cGxGaWxlTmFtZV0rIi5qcyIsIndyaXRlIik7Cn0KfSwKbG9hZEFsbDpmdW5jdGlv
bigpewpmb3IodmFyIHRwbEZpbGVOYW1lIGluIGV4dCl7CmlmKGV4dC5oYXNPd25Q
cm9wZXJ0eSh0cGxGaWxlTmFtZSkpewp0aGlzLmxvYWQodHBsRmlsZU5hbWUpOwp9
Cn0KfQp9Owp9KSgpOwoKdGhpcy5nZXRNb2R1bGVzPU1vZHVsZS5nZXROYW1lczsK
CnZhciBCTE9DS19JRF9CQU5ORVJfNjAweDkwPTE7CnZhciBCTE9DS19JRF9UT1Bf
TU9CSUxFPTI7CnZhciBGQUtFX0JMT0NLUz1bQkxPQ0tfSURfQkFOTkVSXzYwMHg5
MCxCTE9DS19JRF9UT1BfTU9CSUxFXTsKdGhpcy5nZXRCbG9ja0lkVG9wTW9iaWxl
PWZ1bmN0aW9uKCl7CnJldHVybiBCTE9DS19JRF9UT1BfTU9CSUxFOwp9Cgp0aGlz
LlN0cmluZ3M9ewp1cmxzOnsKYmVndW46J2h0dHA6Ly93d3cuYmVndW4ucnUvJywK
YXV0b2NvbnRleHQ6J2h0dHA6Ly9hdXRvY29udGV4dC5iZWd1bi5ydS8nLApiYXNl
X3NjcmlwdHNfdXJsOidodHRwOi8vYXV0b2NvbnRleHQuYmVndW4ucnUvJywKZGFl
bW9uOidodHRwOi8vYXV0b2NvbnRleHQuYmVndW4ucnUvY29udGV4dC5qc3A/JywK
dmlkZW86J2h0dHA6Ly92aWRlby5iZWd1bi5ydS92Y3Auc3dmJywKdGh1bWJzOido
dHRwOi8vdGh1bWJzLmJlZ3VuLnJ1LycsCmJsYW5rOidodHRwOi8vYXV0b2NvbnRl
eHQuYmVndW4ucnUvaW1nL2JsYW5rLmdpZicsCmJsb2NrX2NvdW50ZXI6J2h0dHA6
Ly9hdXRvY29udGV4dC5iZWd1bi5ydS9ibG9ja2NvdW50ZXI/cGFkX2lkPXt7cGFk
X2lkfX0mYmxvY2s9e3tibG9ja19pZH19JywKbG9nX2Jhbm5lcnNfY291bnRlcjon
aHR0cDovL2F1dG9jb250ZXh0LmJlZ3VuLnJ1L2Jsb2NrY291bnRlcj9kYXRhPXt7
ZGF0YX19JmxvZ192aXNpYmlsaXR5PTEnLApwcGNhbGxzX2NvdW50ZXI6J2h0dHA6
Ly9hdXRvY29udGV4dC5iZWd1bi5ydS9wcGNhbGxjb3VudGVyP2RhdGE9e3twcGNh
bGxfZGF0YX19JmxvZ19wcGNhbGxfdmlzaWJpbGl0eT0xJywKaHlwZXJfc2hhZG93
XzE6J2h0dHA6Ly9hdXRvY29udGV4dC5iZWd1bi5ydS9pbWcvaHlwZXItc2hhZG93
LTEucG5nJywKaHlwZXJfc2hhZG93XzI6J2h0dHA6Ly9hdXRvY29udGV4dC5iZWd1
bi5ydS9pbWcvaHlwZXItc2hhZG93LTIucG5nJywKYWx0ZXJfZ2VvX2xvZ2dlcjon
aHR0cDovL2F1dG9jb250ZXh0LmJlZ3VuLnJ1L2FsdGVyZ2VvP3Rva2VuPXt7dG9r
ZW59fScKfSwKc3R1YnM6ewpwbGFjZV9oZXJlOicmIzEwNDQ7JiMxMDcyOyYjMTA5
MDsmIzExMDA7ICYjMTA4NjsmIzEwNzM7JiMxMDk4OyYjMTEwMzsmIzEwNzQ7JiMx
MDgzOyYjMTA3NzsmIzEwODU7JiMxMDgwOyYjMTA3NzsnLAphbGxfYmFubmVyczon
JiMxMDQyOyYjMTA4OTsmIzEwNzc7ICYjMTA4NjsmIzEwNzM7JiMxMDk4OyYjMTEw
MzsmIzEwNzQ7JiMxMDgzOyYjMTA3NzsmIzEwODU7JiMxMDgwOyYjMTEwMzsnLApi
ZWNvbWVfcGFydG5lcjonJiMxMDU3OyYjMTA5MDsmIzEwNzI7JiMxMDkwOyYjMTEw
MDsgJiMxMDg3OyYjMTA3MjsmIzEwODg7JiMxMDkwOyYjMTA4NTsmIzEwNzc7JiMx
MDg4OyYjMTA4NjsmIzEwODQ7Jwp9LApjb250YWN0czp7CmNhcmQ6JyYjMTA1MDsm
IzEwODY7JiMxMDg1OyYjMTA5MDsmIzEwNzI7JiMxMDgyOyYjMTA5MDsmIzEwOTk7
JywKcHBjYWxsOicmIzEwNDc7JiMxMDc0OyYjMTA4NjsmIzEwODU7JiMxMDgwOyYj
MTA5MDsmIzExMDA7Jwp9LApjc3M6ewpwcmVmaXg6J2JlZ3VuJywKYmxvY2tfcHJl
Zml4OidiZWd1bl9ibG9ja18nLApzY3JvbGxfdGFibGVfcHJlZml4OidiZWd1bl9h
ZHZfdGFibGVfJywKc2Nyb2xsX2Rpdl9wcmVmaXg6J2JlZ3VuX2Fkdl9jb21tb25f
JywKY2F0YWxvZ19zZWFyY2hfd3JhcHBlcjonYmVndW5fY2F0YWxvZ19zZWFyY2hf
c3BhbicsCmNhdGFsb2dfcmVzdWx0c193cmFwcGVyOidiZWd1bl9jYXRhbG9nX3Jl
c3VsdHNfc3BhbicsCmNhdGFsb2dfY2xvdWRfd3JhcHBlcjonYmVndW5fY2F0YWxv
Z19jbG91ZF9zcGFuJywKdGh1bWI6J2JlZ3VuX2Fkdl90aHVtYicsCnRodW1iX2Rl
ZmF1bHQ6J2JlZ3VuX2Fkdl90aHVtYl9kZWZhdWx0JywKdGh1bWJfY2xhc3NpYzon
YmVndW5fYWR2X3RodW1iX2NsYXNzaWMnLApmYXZpY29uOidiZWd1bl9hZHZfZmF2
JywKc2Nyb2xsOidiZWd1bl9zY3JvbGwnLAphbGNvX3ByZWZpeDonYmVndW5fYWxj
b18nLApsb2dvX2NvbG9yOicjNjIyNjc4JywKdGh1bWJfZGVmX2NvbG9yOicjMTE4
RjAwJywKdGh1bWJfZGVmX2NvbG9yX2hvdmVyOicjRkYwMDAwJwp9LApqczp7CmJh
bm5lcl9vbmNsaWNrOidCZWd1bi5BdXRvY29udGV4dC5jbGlja0Jhbm5lcihldmVu
dCwgdGhpcyknLApwcGNhbGxfc2hvdzonQmVndW4uUHBjYWxsLnNob3dFbnRlckZv
cm0nCn0KfTsKCnZhciBpc0JGU0FwcGxpY2FibGU9ZnVuY3Rpb24oKXsKcmV0dXJu
KHR5cGVvZiB3aW5kb3cuYmVndW5fbXVsdGlwbGVfZmVlZCE9PSJ1bmRlZmluZWQi
fHxfdGhpcy5tdWx0aXBsZV9mZWVkKSYmIXdpbmRvdy5iZWd1bl9ibG9ja19pZHM7
Cn07Cgp2YXIgYWRkRmFrZUJsb2Nrcz1mdW5jdGlvbigpewp2YXIgZmVlZD1fdGhp
cy5nZXRGZWVkKCk7CmlmKGZlZWQuYmxvY2tzKXsKdmFyIF9ibG9jaz1udWxsOwp2
YXIgaT0wOwp3aGlsZShfYmxvY2s9ZmVlZC5ibG9ja3NbaV0pewppZigoX2Jsb2Nr
KSYmKF9ibG9jay5pZD09QkxPQ0tfSURfQkFOTkVSXzYwMHg5MHx8X2Jsb2NrLmlk
PT1CTE9DS19JRF9UT1BfTU9CSUxFKSl7Cl90aGlzLkJsb2Nrcy5hZGQoX2Jsb2Nr
KTsKfQppKys7Cn0KfQp9Cgp2YXIgTG9hZGluZ1N0cmF0ZWd5PWZ1bmN0aW9uKCl7
fTsKTG9hZGluZ1N0cmF0ZWd5LnByb3RvdHlwZT17CmxvYWRCbG9jazpmdW5jdGlv
bihibG9ja19pZCl7fSwKcGFyc2VGZWVkOmZ1bmN0aW9uKCl7fQp9OwoKCnZhciBE
Uz1mdW5jdGlvbigpe307CkRTLnByb3RvdHlwZT1uZXcgTG9hZGluZ1N0cmF0ZWd5
KCk7CkRTLnByb3RvdHlwZS5sb2FkQmxvY2s9ZnVuY3Rpb24oYmxvY2tfaWQpewp0
aGlzLmJsb2NrX2lkPWJsb2NrX2lkOwppZighX3RoaXMuaW5pdEZlZWRMb2FkKCkp
ewpfdGhpcy5sb2FkRmVlZERvbmUoKTsKfQphcmd1bWVudHMuY2FsbGVlPUxvYWRp
bmdTdHJhdGVneS5sb2FkQmxvY2s7Cn07CkRTLnByb3RvdHlwZS5wYXJzZUZlZWQ9
ZnVuY3Rpb24oKXsKX3RoaXMubG9hZEV4dHJhUmVzb3VyY2VzKCk7CnZhciBmZWVk
PV90aGlzLmdldEZlZWQoKTsKaWYoZmVlZCYmZmVlZC5ibG9ja3MmJnRoaXMuYmxv
Y2tfaWQpewphZGRGYWtlQmxvY2tzKCk7CnZhciBibG9jaz1fdGhpcy5CbG9ja3Mu
Z2V0QmxvY2tCeUlkKHRoaXMuYmxvY2tfaWQsZmVlZC5ibG9ja3MpOwppZihibG9j
ayl7Cl90aGlzLkJsb2Nrcy5wdXNoKGJsb2NrKTsKfQp9Cn07CgoKdmFyIEZCUz1m
dW5jdGlvbigpe307CkZCUy5wcm90b3R5cGU9bmV3IExvYWRpbmdTdHJhdGVneSgp
OwpGQlMucHJvdG90eXBlLnBhcnNlRmVlZD1mdW5jdGlvbigpewpfdGhpcy5sb2Fk
RXh0cmFSZXNvdXJjZXMoKTsKdmFyIGZlZWQ9X3RoaXMuZ2V0RmVlZCgpOwppZihm
ZWVkJiZmZWVkLmJsb2NrcyYmdGhpcy5ibG9ja19pZCl7CmFkZEZha2VCbG9ja3Mo
KTsKdmFyIGJsb2NrPV90aGlzLkJsb2Nrcy5nZXRCbG9ja0J5SWQodGhpcy5ibG9j
a19pZCxmZWVkLmJsb2Nrcyk7CmlmKGJsb2NrKXsKd2luZG93LmJlZ3VuX2V4dHJh
X2Jsb2NrLm9wdGlvbnMuYmFubmVyc19jb3VudD1ibG9jay5vcHRpb25zLmJhbm5l
cnNfY291bnQ7CndpbmRvdy5iZWd1bl9leHRyYV9ibG9jay5vcHRpb25zLmJhbm5l
cnNfY291bnRfY29lZj1ibG9jay5vcHRpb25zLmJhbm5lcnNfY291bnRfY29lZjsK
d2luZG93LmJlZ3VuX2V4dHJhX2Jsb2NrLm9wdGlvbnMuY2FwYWNpdHk9YmxvY2su
b3B0aW9ucy5jYXBhY2l0eTsKd2luZG93LmJlZ3VuX2V4dHJhX2Jsb2NrLm9wdGlv
bnMudmlld190eXBlPWJsb2NrLm9wdGlvbnMudmlld190eXBlOwp3aW5kb3cuYmVn
dW5fZXh0cmFfYmxvY2suaWQ9d2luZG93LmJlZ3VuX2Jsb2NrX2lkOwpfdGhpcy5C
bG9ja3MucHVzaCh3aW5kb3cuYmVndW5fZXh0cmFfYmxvY2spOwp9Cn0KfTsKRkJT
LnByb3RvdHlwZS5sb2FkQmxvY2s9ZnVuY3Rpb24oYmxvY2tfaWQpewp2YXIgZmVl
ZD1fdGhpcy5nZXRGZWVkKCk7CmlmKGZlZWQmJmZlZWQuYmxvY2tzKXsKX3RoaXMu
cmVzZXRCYW5uZXJJbmRleCgpOwp2YXIgc0Jhbm5lcnM9X3RoaXMuZ2V0U2hvd25C
YW5uZXJzKCk7CmlmKHR5cGVvZiBzQmFubmVycz09PSJvYmplY3QiKXsKc0Jhbm5l
cnM9c0Jhbm5lcnMudG9TdHJpbmcoKTsKfWVsc2V7CnNCYW5uZXJzPSIiOwp9Cl90
aGlzLmZlZWRMb2FkKHsiYmFubmVyX2ZpbHRlciI6c0Jhbm5lcnN9KTsKfQp0aGlz
LmJsb2NrX2lkPWJsb2NrX2lkOwp9OwoKCnZhciBCRlM9ZnVuY3Rpb24oKXt9OwpC
RlMucHJvdG90eXBlPW5ldyBMb2FkaW5nU3RyYXRlZ3koKTsKQkZTLnByb3RvdHlw
ZS5sb2FkQmxvY2s9ZnVuY3Rpb24oYmxvY2tfaWQpewp0aGlzLmJsb2NrX2lkPWJs
b2NrX2lkOwp2YXIgZmVlZD1fdGhpcy5nZXRGZWVkKCk7CmlmKGZlZWQmJmZlZWQu
YmxvY2tzKXsKX3RoaXMucmVzZXRCYW5uZXJJbmRleCgpOwp2YXIgc0Jhbm5lcnM9
X3RoaXMuZ2V0U2hvd25CYW5uZXJzKCk7CmlmKHR5cGVvZiBzQmFubmVycz09PSJv
YmplY3QiKXsKc0Jhbm5lcnM9c0Jhbm5lcnMudG9TdHJpbmcoKTsKfWVsc2V7CnNC
YW5uZXJzPSIiOwp9Cl90aGlzLmZlZWRMb2FkKHsiYmFubmVyX2ZpbHRlciI6c0Jh
bm5lcnN9KTsKfQp9OwpCRlMucHJvdG90eXBlLnBhcnNlRmVlZD1mdW5jdGlvbigp
ewoobmV3IERTKS5wYXJzZUZlZWQuYXBwbHkodGhpcyk7Cn07Cgp0aGlzLmdldExv
YWRpbmdTdHJhdGVneT1mdW5jdGlvbigpewppZih3aW5kb3cuYmVndW5fZXh0cmFf
YmxvY2spewppZighYXJndW1lbnRzLmNhbGxlZS5mYnMpewphcmd1bWVudHMuY2Fs
bGVlLmZicz1uZXcgRkJTKCk7Cn0KcmV0dXJuIGFyZ3VtZW50cy5jYWxsZWUuZmJz
Owp9ZWxzZSBpZihpc0JGU0FwcGxpY2FibGUoKSl7CmlmKCFhcmd1bWVudHMuY2Fs
bGVlLmJmcyl7CmFyZ3VtZW50cy5jYWxsZWUuYmZzPW5ldyBCRlMoKTsKfQpyZXR1
cm4gYXJndW1lbnRzLmNhbGxlZS5iZnM7Cn1lbHNlewppZighYXJndW1lbnRzLmNh
bGxlZS5kcyl7CmFyZ3VtZW50cy5jYWxsZWUuZHM9bmV3IERTKCk7Cn0KcmV0dXJu
IGFyZ3VtZW50cy5jYWxsZWUuZHM7Cn0KfTsKdGhpcy5zZXRPcHRpb25zPWZ1bmN0
aW9uKG9wdGlvbnMpewpCZWd1bi5leHRlbmQoX3RoaXMub3B0aW9ucyxvcHRpb25z
fHx7fSk7Cn07CnRoaXMucmVxdWVzdFBhcmFtcz17CiJwYWRfaWQiOicnLAoiYmxv
Y2tfaWQiOicnLAoibiI6JycsCiJsbXQiOkRhdGUucGFyc2UoZG9jdW1lbnQubGFz
dE1vZGlmaWVkKS8xMDAwLAoic2Vuc2VfbW9kZSI6J2N1c3RvbScsCiJ1dF9zY3Jl
ZW5fd2lkdGgiOnNjcmVlbi53aWR0aHx8MCwKInV0X3NjcmVlbl9oZWlnaHQiOnNj
cmVlbi5oZWlnaHR8fDAsCiJqc29uIjoxLAoianNjYWxsIjonbG9hZEZlZWREb25l
JywKImNvbmRpdGlvbl9pZCI6d2luZG93LmJlZ3VuX2NvbmRpdGlvbl9pZHx8Jycs
CiJmcm1fbGV2ZWwiOicnLAoiZnJtX3RvcCI6JycsCiJmb3JjZV9qc19saW5rIjon
JywKImhvb2tEYXRhIjonJywKIm1pc2NfaWQiOndpbmRvdy5iZWd1bl9taXNjX2lk
fHx3aW5kb3cubWlzY19pZCwKIm92ZXJyaWRkZW4iOicnLAoidmVyc2lvbiI6Jycs
CiJiYW5uZXJfZmlsdGVyIjonJywKInN0b3B3b3JkcyI6d2luZG93LnN0b3B3b3Jk
c3x8JycsCiJiZWd1bl9zZWxmX2tleXdvcmRzIjp3aW5kb3cuYmVndW5fc2VsZl9r
ZXl3b3Jkc3x8JycsCiJyZWYiOmRvY3VtZW50LnJlZmVycmVyLAoicmVhbF9yZWZl
ciI6ZG9jdW1lbnQubG9jYXRpb24KfTsKdGhpcy5yZXNwb25zZVBhcmFtcz17fTsK
dGhpcy5wcmVwYXJlUmVxdWVzdFBhcmFtcz1mdW5jdGlvbihuZXdWYWx1ZXMpewp2
YXIgY29tbWE9IiI7Cl90aGlzLnJlcXVlc3RQYXJhbXMucGFkX2lkPXdpbmRvdy5i
ZWd1bl9hdXRvX3BhZDsKaWYoc2VsZi5wYXJlbnQpewp0cnl7CnZhciBleHRyYV9k
YXRhPXNlbGYucGFyZW50LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib3R0b21C
YW5uZXJEYXRhSWQnKXx8bnVsbDsKaWYoZXh0cmFfZGF0YSYmZXh0cmFfZGF0YS5p
bm5lckhUTUwpewpfdGhpcy5yZXF1ZXN0UGFyYW1zLmhvb2tEYXRhPWV4dHJhX2Rh
dGEuaW5uZXJIVE1MOwp9Cn1jYXRjaChlKXt9Cn0KdmFyIHZlcnNpb249QmVndW4u
UkVWSVNJT04ucmVwbGFjZSgvXEQvZ2ksJycpOwpfdGhpcy5yZXF1ZXN0UGFyYW1z
LnZlcnNpb249dmVyc2lvbjsKaWYodHlwZW9mKHdpbmRvdy5iZWd1bl9qc19mb3Jj
ZV9sb2FkKSE9J3VuZGVmaW5lZCcmJndpbmRvdy5iZWd1bl9qc19mb3JjZV9sb2Fk
KXsKX3RoaXMucmVxdWVzdFBhcmFtcy5mb3JjZV9qc19saW5rPU1vZHVsZS5nZXRO
YW1lcygnYWxsJyk7CkV4dEJsb2NrVHlwZXMubG9hZEFsbCgpOwp2YXIgbW9kdWxl
TmFtZXM9X3RoaXMucmVxdWVzdFBhcmFtcy5mb3JjZV9qc19saW5rLnNwbGl0KCcs
Jyk7CnZhciBiYXNlVXJsPV90aGlzLlN0cmluZ3MudXJscy5iYXNlX3NjcmlwdHNf
dXJsOwpmb3IodmFyIGo9MDtqPG1vZHVsZU5hbWVzLmxlbmd0aDtqKyspewppZiht
b2R1bGVOYW1lc1tqXSE9PSJ0b29sYmFyIil7Ck1vZHVsZS5sb2FkKGJhc2VVcmwr
bW9kdWxlTmFtZXNbal0rIi5qcyIpOwp9Cn0KfQp2YXIgZnJhbWVfbGV2ZWw9KGZ1
bmN0aW9uKCl7CnZhciBsZXZlbD0wOwp2YXIgX3BhcmVudD1zZWxmOwp3aGlsZShf
cGFyZW50IT09dG9wJiZsZXZlbDw5OTkpewpfcGFyZW50PV9wYXJlbnQucGFyZW50
OwpsZXZlbCsrOwp9CnJldHVybiBsZXZlbDsKfSkoKTsKaWYoZnJhbWVfbGV2ZWwp
ewpfdGhpcy5yZXF1ZXN0UGFyYW1zLmZybV9sZXZlbD1mcmFtZV9sZXZlbDsKdHJ5
ewpfdGhpcy5yZXF1ZXN0UGFyYW1zLmZybV90b3A9dG9wLmxvY2F0aW9uLmhyZWY7
Cn1jYXRjaChleGMpewpfdGhpcy5yZXF1ZXN0UGFyYW1zLmZybV90b3A9J3RvcCBu
b3QgYWNjZXNzaWJsZSc7Cn0KfQoKaWYodHlwZW9mIEJlZ3VuLkF1dG9jb250ZXh0
LmlzTm90Rmlyc3RSZXF1ZXN0PT09InVuZGVmaW5lZCIpewpCZWd1bi5BdXRvY29u
dGV4dC5pc05vdEZpcnN0UmVxdWVzdD10cnVlOwpjb21tYT0iLCI7Cl90aGlzLnJl
cXVlc3RQYXJhbXMuYmxvY2tfaWQ9QkxPQ0tfSURfQkFOTkVSXzYwMHg5MCtjb21t
YStCTE9DS19JRF9UT1BfTU9CSUxFOwp3aW5kb3cuYWx0ZXJnZW9fdG9rZW5fY2Fs
bGJhY2s9ZnVuY3Rpb24odG9rZW4pewpCZWd1bi5VdGlscy5pbmNsdWRlQ291bnRl
cihfdGhpcy5TdHJpbmdzLnVybHMuYWx0ZXJfZ2VvX2xvZ2dlcix7InRva2VuIjp0
b2tlbn0pOwp9Owp9CgppZih3aW5kb3cuYmVndW5fYmxvY2tfaWRzKXsKX3RoaXMu
cmVxdWVzdFBhcmFtcy5ibG9ja19pZCs9Y29tbWErd2luZG93LmJlZ3VuX2Jsb2Nr
X2lkcy5yZXBsYWNlKC9ccy9nLCIiKTsKfWVsc2V7CmlmKHdpbmRvdy5iZWd1bl9i
bG9ja19pZCYmaXNCRlNBcHBsaWNhYmxlKCkpewpfdGhpcy5yZXF1ZXN0UGFyYW1z
LmJsb2NrX2lkKz1jb21tYSt3aW5kb3cuYmVndW5fYmxvY2tfaWQ7Cn0KfQoKaWYo
d2luZG93LmJlZ3VuX3JlcXVlc3RfcGFyYW1zJiZ3aW5kb3cuYmVndW5fcmVxdWVz
dF9wYXJhbXMuY29uc3RydWN0b3I9PT1PYmplY3Qpewp3aW5kb3cuYmVndW5fcmVx
dWVzdF9wYXJhbXMub3ZlcnJpZGRlbj0xOwpCZWd1bi5leHRlbmQoX3RoaXMucmVx
dWVzdFBhcmFtcyx3aW5kb3cuYmVndW5fcmVxdWVzdF9wYXJhbXMpOwp9CmlmKG5l
d1ZhbHVlcyl7CkJlZ3VuLmV4dGVuZChfdGhpcy5yZXF1ZXN0UGFyYW1zLG5ld1Zh
bHVlcyk7Cn0KdmFyIHRoZVBhZD1fdGhpcy5nZXRQYWQoKTsKaWYodHlwZW9mIHRo
ZVBhZC5ycT09PSJ1bmRlZmluZWQiKXsKdGhlUGFkLnJxPTA7Cn1lbHNlewp0aGVQ
YWQucnErKzsKfQppZih0eXBlb2YgQmVndW4ucGFnZUlkPT09InVuZGVmaW5lZCIp
ewpCZWd1bi5wYWdlSWQ9TWF0aC5mbG9vcigxMDAwMDAwMDAwMDAwMCpNYXRoLnJh
bmRvbSgpKyhuZXcgRGF0ZSgpKS52YWx1ZU9mKCkpOwp9Cl90aGlzLnJlcXVlc3RQ
YXJhbXMucnE9KHRoZVBhZC5ycSkudG9TdHJpbmcoKTsKX3RoaXMucmVxdWVzdFBh
cmFtcy5wYWdlX2lkPUJlZ3VuLnBhZ2VJZDsKfTsKdGhpcy5pc0V2ZW50VHJhY2tp
bmdPbj1mdW5jdGlvbigpewpyZXR1cm4gX3RoaXMucmVzcG9uc2VQYXJhbXNbInRy
YWNrX2V2ZW50cyJdOwp9Owp0aGlzLmluaXQ9ZnVuY3Rpb24oKXsKX3RoaXMuQ3Vz
dG9taXphdGlvbi5pbml0KCk7Cl90aGlzLlBhZHMuaW5pdCgpOwpfdGhpcy5pbml0
Q3VycmVudEJsb2NrKCk7CmlmKHR5cGVvZiBhcmd1bWVudHMuY2FsbGVlLnJ1bj09
PSJ1bmRlZmluZWQiKXsKYXJndW1lbnRzLmNhbGxlZS5ydW49dHJ1ZTsKfQp9Owp0
aGlzLmluaXRUb29sYmFyPWZ1bmN0aW9uKGRlYnVnKXsKaWYoQmVndW4uVG9vbGJh
cil7CnZhciB0b29sYmFyPUJlZ3VuLlRvb2xiYXIuaW5pdChkZWJ1Zyk7Cn0KfTsK
dGhpcy5pbml0SHlwZXJjb250ZXh0QmxvY2s9ZnVuY3Rpb24oYmxvY2sscGFkX2lk
KXsKaWYoIUJlZ3VuLkh5cGVyY29udGV4dHx8IWJsb2NrKXsKcmV0dXJuOwp9CnRo
aXMuaHlwZXJCbG9jaz1uZXcgQmVndW4uSHlwZXJjb250ZXh0KGJsb2NrLHBhZF9p
ZCk7Cn07CnRoaXMuaW5pdFBob3RvY29udGV4dEJsb2NrPWZ1bmN0aW9uKGJsb2Nr
LHBhZF9pZCl7CmlmKCFCZWd1bi5QaG90b2NvbnRleHR8fCFibG9jayl7CnJldHVy
bjsKfQp0aGlzLnBob3RvQmxvY2s9bmV3IEJlZ3VuLlBob3RvY29udGV4dChibG9j
ayxwYWRfaWQpOwp9Owp0aGlzLmluaXRTY3JvbGxCbG9jaz1mdW5jdGlvbihibG9j
ayl7CmlmKEJlZ3VuLlNjcm9sbGVyKXsKdmFyIHNldEhlaWdodD1mdW5jdGlvbihi
bG9jayxzY3JvbGxfZGl2LHNjcm9sbF90YWJsZSl7CnZhciB0cnM9c2Nyb2xsX3Rh
YmxlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCd0cicpOwp2YXIgaGVpZ2h0Owp2YXIg
aTsKdmFyIGJhbm5lcnNfY291bnQ9TnVtYmVyKGJsb2NrLm9wdGlvbnMuYmFubmVy
c19jb3VudCk7CmlmKGJhbm5lcnNfY291bnQ9PT0xKXsKaGVpZ2h0PXRyc1swXS5v
ZmZzZXRIZWlnaHQ7CmZvcihpPTE7aTx0cnMubGVuZ3RoO2krKyl7CmlmKHRyc1tp
XS5vZmZzZXRIZWlnaHQ+aGVpZ2h0KXsKaGVpZ2h0PXRyc1tpXS5vZmZzZXRIZWln
aHQ7Cn0KfQp9ZWxzZXsKaGVpZ2h0PTA7CmZvcihpPTA7aTxiYW5uZXJzX2NvdW50
O2krKyl7CmlmKHRyc1tpXSl7CnZhciBoPXRyc1tpXS5vZmZzZXRIZWlnaHQ7Cmhl
aWdodCs9aDsKfQp9Cn0Kc2Nyb2xsX2Rpdi5zdHlsZS5oZWlnaHQ9aGVpZ2h0Kydw
eCc7CnNjcm9sbF9kaXYuc3R5bGUub3ZlcmZsb3c9J2hpZGRlbic7Cn07CnZhciBp
bml0PWZ1bmN0aW9uKGJsb2NrLHNjcm9sbF9kaXYsc2Nyb2xsX3RhYmxlLGlzX2hv
cml6b250YWwpewp2YXIgYmFubmVyc19jb3VudD1OdW1iZXIoYmxvY2sub3B0aW9u
cy5iYW5uZXJzX2NvdW50KTsKdmFyIGJhbm5lcnNfY291bnRfY29lZj1OdW1iZXIo
YmxvY2sub3B0aW9ucy5iYW5uZXJzX2NvdW50X2NvZWYpfHwxOwooZnVuY3Rpb24o
KXsKaWYoIXNjcm9sbF9kaXYub2Zmc2V0SGVpZ2h0KXsKd2luZG93LnNldFRpbWVv
dXQoYXJndW1lbnRzLmNhbGxlZSxCZWd1bi5ET01fVElNRU9VVCk7Cn0KdmFyIHNj
cm9sbGVyPShuZXcgQmVndW4uU2Nyb2xsZXIoCnNjcm9sbF90YWJsZSwKewpoZWln
aHQ6c2Nyb2xsX2Rpdi5vZmZzZXRIZWlnaHQsCmJhbm5lcnNfY291bnQ6YmFubmVy
c19jb3VudCwKYmFubmVyc19jb3VudF9jb2VmOmJhbm5lcnNfY291bnRfY29lZiwK
aXNfaG9yaXpvbnRhbDppc19ob3Jpem9udGFsLApzY3JvbGxfdGltZW91dDooYmxv
Y2smJmJsb2NrLm9wdGlvbnMmJmJsb2NrLm9wdGlvbnMuanNvbiYmYmxvY2sub3B0
aW9ucy5qc29uLnNjcm9sbF90aW1lb3V0KXx8bnVsbAp9CikpOwoKX3RoaXMuc2Ny
b2xsZXJzLnB1c2goc2Nyb2xsZXIpOwpzY3JvbGxlci5zdGFydCgpOwp9KSgpOwp9
Owp2YXIgc2Nyb2xsX2Rpdj1CZWd1bi4kKF90aGlzLlN0cmluZ3MuY3NzLnNjcm9s
bF9kaXZfcHJlZml4K2Jsb2NrLmlkKTsKdmFyIHNjcm9sbF90YWJsZT1CZWd1bi4k
KF90aGlzLlN0cmluZ3MuY3NzLnNjcm9sbF90YWJsZV9wcmVmaXgrYmxvY2suaWQp
Owp2YXIgaXNfaG9yaXpvbnRhbDsKaWYoIWJsb2NrLnNjcm9sbGluZyYmTnVtYmVy
KGJsb2NrLm9wdGlvbnMudXNlX3Njcm9sbCkmJnNjcm9sbF9kaXYmJnNjcm9sbF90
YWJsZSl7CmlmKF90aGlzLkJsb2Nrcy5jaGVja1R5cGUoYmxvY2ssJ2hvcml6b250
YWwnKXx8X3RoaXMuQmxvY2tzLmNoZWNrVHlwZShibG9jaywnNzI4eDkwJyl8fF90
aGlzLkJsb2Nrcy5jaGVja1R5cGUoYmxvY2ssJzQ2OHg2MCcpKXsKaXNfaG9yaXpv
bnRhbD10cnVlOwp9ZWxzZXsKaXNfaG9yaXpvbnRhbD1mYWxzZTsKfQppZihfdGhp
cy5CbG9ja3MuY2hlY2tUeXBlKGJsb2NrLCd2ZXJ0aWNhbCcpfHxfdGhpcy5CbG9j
a3MuY2hlY2tUeXBlKGJsb2NrLCdmbGF0JykpewooZnVuY3Rpb24oYmxvY2ssc2Ny
b2xsX2RpdixzY3JvbGxfdGFibGUsaXNfaG9yaXpvbnRhbCl7CmlmKHNjcm9sbF90
YWJsZS5vZmZzZXRIZWlnaHQpewpzZXRIZWlnaHQoYmxvY2ssc2Nyb2xsX2Rpdixz
Y3JvbGxfdGFibGUpOwpzY3JvbGxfZGl2LnN0eWxlLndpZHRoPXNjcm9sbF9kaXYu
b2Zmc2V0V2lkdGgrJ3B4JzsKaW5pdChibG9jayxzY3JvbGxfZGl2LHNjcm9sbF90
YWJsZSxpc19ob3Jpem9udGFsKTsKfWVsc2V7CnZhciBmdW5jPWFyZ3VtZW50cy5j
YWxsZWU7CndpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CmZ1bmMoYmxvY2ss
c2Nyb2xsX2RpdixzY3JvbGxfdGFibGUsaXNfaG9yaXpvbnRhbCk7Cn0sQmVndW4u
RE9NX1RJTUVPVVQpOwp9Cn0pKGJsb2NrLHNjcm9sbF9kaXYsc2Nyb2xsX3RhYmxl
LGlzX2hvcml6b250YWwpOwp9ZWxzZSBpZihfdGhpcy5CbG9ja3MuY2hlY2tUeXBl
KGJsb2NrLCdob3Jpem9udGFsJykpewooZnVuY3Rpb24oYmxvY2ssc2Nyb2xsX2Rp
dixzY3JvbGxfdGFibGUsaXNfaG9yaXpvbnRhbCl7CmlmKHNjcm9sbF9kaXYub2Zm
c2V0SGVpZ2h0KXsKc2Nyb2xsX2Rpdi5zdHlsZS5oZWlnaHQ9KHNjcm9sbF9kaXYu
b2Zmc2V0SGVpZ2h0KjAuNykrJ3B4JzsKaW5pdChibG9jayxzY3JvbGxfZGl2LHNj
cm9sbF90YWJsZSxpc19ob3Jpem9udGFsKTsKfWVsc2V7CnZhciBmdW5jPWFyZ3Vt
ZW50cy5jYWxsZWU7CndpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CmZ1bmMo
YmxvY2ssc2Nyb2xsX2RpdixzY3JvbGxfdGFibGUsaXNfaG9yaXpvbnRhbCk7Cn0s
QmVndW4uRE9NX1RJTUVPVVQpOwp9Cn0pKGJsb2NrLHNjcm9sbF9kaXYsc2Nyb2xs
X3RhYmxlLGlzX2hvcml6b250YWwpOwp9ZWxzZXsKaW5pdChibG9jayxzY3JvbGxf
ZGl2LHNjcm9sbF90YWJsZSxpc19ob3Jpem9udGFsKTsKfQpibG9jay5zY3JvbGxp
bmc9dHJ1ZTsKfQp9Cn07CnRoaXMuaW5pdEFjY29yZGlvbkJsb2NrPWZ1bmN0aW9u
KGJsb2NrKXsKaWYoIUJlZ3VuLkFjY29yZGlvbil7CnJldHVybiBmYWxzZTsKfQp2
YXIgYWNjb3JkaW9uX2Rpdj1fdGhpcy5CbG9ja3MuZ2V0RG9tT2JqKGJsb2NrLmlk
KTsKaWYoIWJsb2NrLmlzX2FjY29yZGlvbl9wcm9jZXNzaW5nJiZOdW1iZXIoYmxv
Y2sub3B0aW9ucy51c2VfYWNjb3JkaW9uKSYmYWNjb3JkaW9uX2Rpdil7CnZhciBh
Y2NvcmRpb249KG5ldyBCZWd1bi5BY2NvcmRpb24oYWNjb3JkaW9uX2RpdikpOwph
Y2NvcmRpb24uaW5pdCgpOwpibG9jay5pc19hY2NvcmRpb25fcHJvY2Vzc2luZz10
cnVlOwp9Cn07CnRoaXMuaW5pdEF1dG9Ub3BCbG9jaz1mdW5jdGlvbihibG9jayl7
CmlmKCFCZWd1bi5hdXRvVG9wKXsKcmV0dXJuIGZhbHNlOwp9CnZhciBhdXRvX3Rv
cF9kaXY9X3RoaXMuQmxvY2tzLmdldERvbU9iaihibG9jay5pZCk7CmlmKCFibG9j
ay5pc19hdXRvX3RvcF9wcm9jZXNzaW5nJiZfdGhpcy5CbG9ja3MuY2hlY2tUeXBl
KGJsb2NrLCd0b3AnKSYmYXV0b190b3BfZGl2KXsKdmFyIGRpdnM9YXV0b190b3Bf
ZGl2LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKTsKdmFyIGF1dG9fdG9wX2Rp
dl9pbm5lcj1udWxsOwpmb3IodmFyIGk9MCxsPWRpdnMubGVuZ3RoO2k8bDtpKysp
ewppZihCZWd1bi5VdGlscy5oYXNDbGFzc05hbWUoZGl2c1tpXSwnYmVndW5fY29s
bGFwc2FibGUnKSl7CmF1dG9fdG9wX2Rpdl9pbm5lcj1kaXZzW2ldOwp9Cn0KdmFy
IGJvZHk9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKSYmZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXTsKaWYoQmVndW4u
QnJvd3NlciYmQmVndW4uQnJvd3Nlci5JRSYmKGRvY3VtZW50LmRvY3VtZW50RWxl
bWVudHx8Ym9keSkmJmF1dG9fdG9wX2Rpdl9pbm5lcil7CmF1dG9fdG9wX2Rpdl9p
bm5lci5zdHlsZS53aWR0aD0oZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVu
dFdpZHRofHxib2R5LmNsaWVudFdpZHRoKSsncHgnOwp3aW5kb3cub25yZXNpemU9
ZnVuY3Rpb24oKXsKYXV0b190b3BfZGl2X2lubmVyLnN0eWxlLndpZHRoPShkb2N1
bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh8fGJvZHkuY2xpZW50V2lk
dGgpKydweCc7Cn07CmlmKEJlZ3VuLkJyb3dzZXIudmVyc2lvbigpPD02KXsKYXV0
b190b3BfZGl2LnN0eWxlLmRpc3BsYXk9J25vbmUnOwp9Cn0KdmFyIGF1dG9fdG9w
PShuZXcgQmVndW4uYXV0b1RvcChhdXRvX3RvcF9kaXYpKTsKYXV0b190b3AuaW5p
dCgpOwpibG9jay5pc19hdXRvX3RvcF9wcm9jZXNzaW5nPXRydWU7Cn0KfTsKdGhp
cy5nZXRSaWNoU2l6ZXM9ZnVuY3Rpb24oaW1nLG1heCl7CnZhciBpc19pbWdfcHJv
cGVydGllc19lcXVhbD1pbWcud2lkdGg9PWltZy5oZWlnaHQ7CnZhciByZXM9e307
CmlmKCFpc19pbWdfcHJvcGVydGllc19lcXVhbCl7CnZhciBtYXhfcHJvcGVydHk9
aW1nLndpZHRoPmltZy5oZWlnaHQ/J3dpZHRoJzonaGVpZ2h0JzsKdmFyIG1pbl9w
cm9wZXJ0eT1tYXhfcHJvcGVydHk9PSd3aWR0aCc/J2hlaWdodCc6J3dpZHRoJzsK
dmFyIHJhdGlvPWltZ1ttaW5fcHJvcGVydHldL2ltZ1ttYXhfcHJvcGVydHldOwpy
ZXNbbWF4X3Byb3BlcnR5XT1tYXg7CmltZy5zdHlsZVttYXhfcHJvcGVydHldPW1h
eCsncHgnOwp2YXIgbWF4X21pbl9wcm9wZXJ0eT1NYXRoLnJvdW5kKG1heCpyYXRp
byk7CnJlc1ttaW5fcHJvcGVydHldPW1heF9taW5fcHJvcGVydHk7CmltZy5zdHls
ZVttaW5fcHJvcGVydHldPW1heF9taW5fcHJvcGVydHkrJ3B4JzsKfWVsc2V7CnJl
cy53aWR0aD1tYXg7CnJlcy5oZWlnaHQ9bWF4OwppbWcuc3R5bGUud2lkdGg9bWF4
KydweCc7CmltZy5zdHlsZS5oZWlnaHQ9bWF4KydweCc7Cn0KcmV0dXJuIHJlczsK
fTsKdGhpcy5jYWxsUmljaD1mdW5jdGlvbihvcHRpb25zLHJpY2hfYmxvY2tzX2Rp
dixibG9jayl7CnZhciByaWNoX2Jsb2Nrcz0obmV3IEJlZ3VuLnJpY2hCbG9ja3Mo
cmljaF9ibG9ja3NfZGl2LG9wdGlvbnMpKTsKcmljaF9ibG9ja3MuaW5pdCgpOwpi
bG9jay5pc19yaWNoX2Jsb2Nrc19wcm9jZXNzaW5nPXRydWU7Cn07CnRoaXMuaW5p
dEF1dG9SaWNoQmxvY2s9ZnVuY3Rpb24oYmxvY2spewppZighQmVndW4ucmljaEJs
b2Nrcyl7CnJldHVybiBmYWxzZTsKfQp2YXIgcmljaF9ibG9ja3NfZGl2PV90aGlz
LkJsb2Nrcy5nZXREb21PYmooYmxvY2suaWQpOwppZighYmxvY2suaXNfcmljaF9i
bG9ja3NfcHJvY2Vzc2luZyYmcmljaF9ibG9ja3NfZGl2KXsKdmFyIG9wdGlvbnM9
e307CnZhciBtaW49NzA7CnZhciBtYXg9MjAwOwp2YXIgaXNJbkZyYW1lPXdpbmRv
dyE9d2luZG93LnRvcDsKaWYoX3RoaXMuQmxvY2tzLmNoZWNrVHlwZShibG9jaywn
dmVydGljYWwnKSl7Cm9wdGlvbnM9ewppc19lcXVhbDp0cnVlCn0KaWYoaXNJbkZy
YW1lKXsKb3B0aW9ucy5sZWZ0X21heF9kZWZhdWx0PTEwOwpvcHRpb25zLnRvcF9t
YXhfZGVmYXVsdD0tMzA7Cm1heD0xMjU7Cn1lbHNlewpvcHRpb25zLmxlZnRfbWF4
X2RlZmF1bHQ9LTI3LjU7Cm9wdGlvbnMudG9wX21heF9kZWZhdWx0PS02Ny41Owp9
Cn1lbHNlIGlmKF90aGlzLkJsb2Nrcy5jaGVja1R5cGUoYmxvY2ssJzcyOHg5MCcp
KXsKb3B0aW9ucz17CmlzX2VxdWFsOnRydWUKfQppZihpc0luRnJhbWUpewpvcHRp
b25zLmxlZnRfbWF4X2RlZmF1bHQ9LTEwOwpvcHRpb25zLnRvcF9tYXhfZGVmYXVs
dD0tODsKbWF4PTg4Owp9ZWxzZXsKb3B0aW9ucy5sZWZ0X21heF9kZWZhdWx0PS02
NjsKb3B0aW9ucy50b3BfbWF4X2RlZmF1bHQ9LTY0Owp9Cn1lbHNlIGlmKF90aGlz
LkJsb2Nrcy5jaGVja1R5cGUoYmxvY2ssJzEyMHg2MDAnKSl7Cm9wdGlvbnM9ewpp
c19lcXVhbDp0cnVlCn0KaWYoaXNJbkZyYW1lKXsKb3B0aW9ucy5sZWZ0X21heF9k
ZWZhdWx0PS0xMDsKb3B0aW9ucy50b3BfbWF4X2RlZmF1bHQ9LTEwOwptYXg9MTIw
Owp9ZWxzZXsKb3B0aW9ucy5sZWZ0X21heF9kZWZhdWx0PS01MDsKb3B0aW9ucy50
b3BfbWF4X2RlZmF1bHQ9LTUwOwp9Cn1lbHNlIGlmKF90aGlzLkJsb2Nrcy5jaGVj
a1R5cGUoYmxvY2ssJzE2MHg2MDAnKSl7Cm9wdGlvbnM9ewppc19lcXVhbDp0cnVl
Cn0KaWYoaXNJbkZyYW1lKXsKb3B0aW9ucy5sZWZ0X21heF9kZWZhdWx0PS0xMDsK
b3B0aW9ucy50b3BfbWF4X2RlZmF1bHQ9LTEwOwptYXg9MTYwOwp9ZWxzZXsKb3B0
aW9ucy5sZWZ0X21heF9kZWZhdWx0PS0zMDsKb3B0aW9ucy50b3BfbWF4X2RlZmF1
bHQ9LTMwOwp9Cn0KaWYodHlwZW9mIF90aGlzLl9iaWdfcmljaF9zaXplcz09PSJ1
bmRlZmluZWQiKXsKX3RoaXMuX2JpZ19yaWNoX3NpemVzPXt9Owp9CnZhciBzbWFs
bF9pbWFnZXM9W107CnZhciBpOwp2YXIgbDsKdmFyIGNlbGxzPUJlZ3VuLlV0aWxz
LmdldEVsZW1lbnRzQnlDbGFzc05hbWUocmljaF9ibG9ja3NfZGl2LCd0ZCcsJ2Jl
Z3VuX2Fkdl9yaWNoJyk7CnZhciBsbj0wOwpmb3IoaT0wLGw9Y2VsbHMubGVuZ3Ro
O2k8bDtpKyspewpzbWFsbF9pbWFnZXNbaV09QmVndW4uVXRpbHMuZ2V0RWxlbWVu
dHNCeUNsYXNzTmFtZShjZWxsc1tpXSwnaW1nJywnYmVndW5fYWR2X3BpY3R1cmUn
KSYmQmVndW4uVXRpbHMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShjZWxsc1tpXSwn
aW1nJywnYmVndW5fYWR2X3BpY3R1cmUnKVswXTsKaWYoc21hbGxfaW1hZ2VzW2ld
KXsKbG4rPTI7Cn0KfQpibG9jay5sbj1sbjsKZm9yKGk9MCxsPXNtYWxsX2ltYWdl
cy5sZW5ndGg7aTxsO2krKyl7CmlmKHNtYWxsX2ltYWdlc1tpXSl7CnZhciBzZXRT
aXplcz1mdW5jdGlvbihudW0saW1hZ2UsbWF4LGtleSxvYmosYmxvY2spewp2YXIg
c2l6ZXM9X3RoaXMuZ2V0UmljaFNpemVzLmNhbGwob2JqLGltYWdlLG1heCk7Cm9i
ai5fYmlnX3JpY2hfc2l6ZXNbJ2ltZ193aWR0aF8nK2tleSsnXycrbnVtXT1zaXpl
cy53aWR0aDsKb2JqLl9iaWdfcmljaF9zaXplc1snaW1nX2hlaWdodF8nK2tleSsn
XycrbnVtXT1zaXplcy5oZWlnaHQ7CmlmKC0tYmxvY2subG49PTApewpvcHRpb25z
LnNpemVzPW9iai5fYmlnX3JpY2hfc2l6ZXM7Cm9iai5jYWxsUmljaChvcHRpb25z
LHJpY2hfYmxvY2tzX2RpdixibG9jayk7CmltYWdlLm9ubG9hZD1udWxsOwp9Cn0K
dmFyIGRldGVjdEltZ0RpbWVuc2lvbnM9ZnVuY3Rpb24oaW1nLGksdmFsdWUsa2V5
LG9iaixibG9jayl7CmlmKGltZy5jb21wbGV0ZSl7CnNldFNpemVzKGksaW1nLHZh
bHVlLGtleSxvYmosYmxvY2spOwp9ZWxzZXsKd2luZG93LnNldFRpbWVvdXQoKGZ1
bmN0aW9uKGltZyxpLHZhbHVlLGtleSxvYmosYmxvY2spewpyZXR1cm4gZnVuY3Rp
b24oKXsKZGV0ZWN0SW1nRGltZW5zaW9ucyhpbWcsaSx2YWx1ZSxrZXksb2JqLGJs
b2NrKTsKfTsKfSkoaW1nLGksdmFsdWUsa2V5LG9iaixibG9jayksQmVndW4uRE9N
X1RJTUVPVVQpOwp9Cn07CmRldGVjdEltZ0RpbWVuc2lvbnMoc21hbGxfaW1hZ2Vz
W2ldLGksbWluLCdtaW4nLF90aGlzLGJsb2NrKTsKdmFyIGJpZz1uZXcgSW1hZ2Uo
KTsKYmlnLnNyYz1zbWFsbF9pbWFnZXNbaV0uZ2V0QXR0cmlidXRlKCdfYmlnX3Bo
b3RvX3NyYycpOwpkZXRlY3RJbWdEaW1lbnNpb25zKGJpZyxpLG1heCwnbWF4Jyxf
dGhpcyxibG9jayk7Cn0KfQp9Cn07CnRoaXMuaW5pdEF1dG9DYXRhbG9nQmxvY2s9
ZnVuY3Rpb24oYmxvY2spewppZighQmVndW4uQ2F0YWxvZyl7CnJldHVybiBmYWxz
ZTsKfQppZighYmxvY2suaXNfY2F0YWxvZ19wcm9jZXNzaW5nKXsKdmFyIGZlZWQ9
dGhpcy5nZXRGZWVkKCk7CnZhciBjYXRhbG9nPShuZXcgQmVndW4uQ2F0YWxvZyhi
bG9jayxmZWVkKSk7CmNhdGFsb2cuaW5pdCgpOwpibG9jay5pc19jYXRhbG9nX3By
b2Nlc3Npbmc9dHJ1ZTsKfQp9Owp0aGlzLnJlc2V0TWF4U2Nyb2xsZXJzPWZ1bmN0
aW9uKCl7Cl90aGlzLm1heFNjcm9sbGVycz1fdGhpcy5vcHRpb25zLm1heF9zY3Jv
bGxlcnM7Cn07CnRoaXMubG9hZEV4dHJhUmVzb3VyY2VzPWZ1bmN0aW9uKCl7CnZh
ciBmZWVkPV90aGlzLmdldEZlZWQoKTsKaWYoIWZlZWQpewpyZXR1cm47Cn0KdmFy
IGxpbmtzPWZlZWQubGlua3M7CmlmKGxpbmtzKXsKdmFyIGk9MDsKdmFyIGxpbms9
bnVsbDsKd2hpbGUobGluaz1saW5rc1tpXSl7CnN3aXRjaChsaW5rLnR5cGUpewpj
YXNlJ2pzJzoKTW9kdWxlLmxvYWQobGluay51cmwpOwpicmVhazsKY2FzZSdjc3Mn
OgpCZWd1bi5VdGlscy5pbmNsdWRlQ1NTRmlsZShsaW5rLnVybCk7CmJyZWFrOwpj
YXNlJ2ltZyc6CihuZXcgSW1hZ2UoKSkuc3JjPWxpbmsudXJsOwpicmVhazsKY2Fz
ZSdmcmFtZSc6CnZhciB2YXJzPXt1cmw6bGluay51cmx9Owpkb2N1bWVudC53cml0
ZSgobmV3IEJlZ3VuLlRlbXBsYXRlKF90aGlzLlRwbHMuZ2V0SFRNTCgnbGlua19p
ZnJhbWUnKSkpLmV2YWx1YXRlKHZhcnMpKTsKYnJlYWs7CmNhc2Unc3dmJzoKdmFy
IGlzRmxhc2hJbnN0YWxsZWQ9QmVndW4uVXRpbHMuY2hlY2tGbGFzaCgpOwppZihp
c0ZsYXNoSW5zdGFsbGVkKXsKdmFyIHN3Zl91cmw9bGluay51cmw7CkJlZ3VuLlV0
aWxzLmFkZEV2ZW50KHdpbmRvdywnbG9hZCcsZnVuY3Rpb24oKXsKQmVndW4uVXRp
bHMuaW5jbHVkZVNXRihzd2ZfdXJsKTsKfSk7Cn0KYnJlYWs7CmRlZmF1bHQ6Cihu
ZXcgSW1hZ2UoKSkuc3JjPWxpbmsudXJsOwp9CmkrKzsKfQp9CnZhciBpc1BwY2Fs
bDsKdmFyIGlzU2Nyb2xsOwp2YXIgaXNSaWNoOwp2YXIgaXNUb3A7CnZhciBpc0h5
cGVyOwp2YXIgaXNDYXRhbG9nOwp2YXIgaXNBY2NvcmRpb247CnZhciBpc1Bob3Rv
Owp2YXIgaXNUb29sYmFyOwp2YXIgYmxvY2tzPWZlZWQuYmxvY2tzOwpmb3IodmFy
IGs9MDtrPGJsb2Nrcy5sZW5ndGg7aysrKXsKaWYoX3RoaXMuQmxvY2tzLmNoZWNr
VHlwZShibG9ja3Nba10sJ3RvcCcpKXsKaXNUb3A9dHJ1ZTsKfQppZihfdGhpcy5C
bG9ja3MuY2hlY2tUeXBlKGJsb2Nrc1trXSwnaHlwZXInKSl7CmlzSHlwZXI9dHJ1
ZTsKfQppZihfdGhpcy5CbG9ja3MuY2hlY2tUeXBlKGJsb2Nrc1trXSwncGhvdG8n
KSl7CmlzUGhvdG89dHJ1ZTsKfQppZihibG9ja3Nba10ub3B0aW9ucyl7CmlmKEJl
Z3VuLlV0aWxzLmluTGlzdChibG9ja3Nba10ub3B0aW9ucy5ibG9ja19vcHRpb25z
LCdKU0NhdGFsb2cnKSl7CmlzQ2F0YWxvZz10cnVlOwp9CmlmKGJsb2Nrc1trXS5v
cHRpb25zLnVzZV9zY3JvbGwpewppc1Njcm9sbD10cnVlOwp9CmlmKGJsb2Nrc1tr
XS5vcHRpb25zLnVzZV9hY2NvcmRpb24pewppc0FjY29yZGlvbj10cnVlOwp9Cn0K
fQp2YXIgZmVlZEJhbm5lcnM9ZmVlZC5iYW5uZXJzOwpmb3IodmFyIGJhbm5lcnNH
cm91cCBpbiBmZWVkQmFubmVycyl7CmlmKGZlZWRCYW5uZXJzLmhhc093blByb3Bl
cnR5KGJhbm5lcnNHcm91cCkmJmZlZWRCYW5uZXJzW2Jhbm5lcnNHcm91cF0ubGVu
Z3RoKXsKZm9yKHZhciBqPTA7ajxmZWVkQmFubmVyc1tiYW5uZXJzR3JvdXBdLmxl
bmd0aDtqKyspewppZihmZWVkQmFubmVyc1tiYW5uZXJzR3JvdXBdW2pdLnBwY2Fs
bCl7CmlzUHBjYWxsPXRydWU7Cn0KaWYoZmVlZEJhbm5lcnNbYmFubmVyc0dyb3Vw
XVtqXS52aWV3X3R5cGUmJmZlZWRCYW5uZXJzW2Jhbm5lcnNHcm91cF1bal0udmll
d190eXBlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigicmljaCIpIT09LTEpewppc1Jp
Y2g9dHJ1ZTsKfQp9Cn0KfQppZihmZWVkLmRlYnVnJiZmZWVkLmRlYnVnLnJlcXVl
c3Qpewppc1Rvb2xiYXI9dHJ1ZTsKfQp2YXIgbG9hZE1vZHVsZT1mdW5jdGlvbihm
bGFnLGpzRmlsZSl7CnZhciBiYXNlVXJsPV90aGlzLlN0cmluZ3MudXJscy5iYXNl
X3NjcmlwdHNfdXJsOwppZihmbGFnKXsKTW9kdWxlLmxvYWQoYmFzZVVybCtqc0Zp
bGUpOwp9Cn07CmxvYWRNb2R1bGUoaXNQcGNhbGwsImF1dG9fcHBjYWxsLmpzIik7
CmxvYWRNb2R1bGUoaXNTY3JvbGwsImF1dG9fc2Nyb2xsLmpzIik7CmxvYWRNb2R1
bGUoaXNSaWNoLCJhdXRvX3JpY2guanMiKTsKbG9hZE1vZHVsZShpc1RvcCwiYXV0
b190b3AuanMiKTsKbG9hZE1vZHVsZShpc0h5cGVyLCJhdXRvX2h5cGVyLmpzIik7
CmxvYWRNb2R1bGUoaXNDYXRhbG9nLCJhdXRvX2NhdGFsb2cuanMiKTsKbG9hZE1v
ZHVsZShpc0FjY29yZGlvbiwiYXV0b19hY2NvcmRpb24uanMiKTsKbG9hZE1vZHVs
ZShpc1Bob3RvLCJhdXRvX3Bob3RvLmpzIik7CmxvYWRNb2R1bGUoaXNUb29sYmFy
LCJ0b29sYmFyLmpzIik7Cn07CnRoaXMuZHJhdz1mdW5jdGlvbigpewppZighYXJn
dW1lbnRzLmNhbGxlZS5ydW4pewpfdGhpcy5CbG9ja3MuaW5pdCgpOwp9CmFyZ3Vt
ZW50cy5jYWxsZWUucnVuPXRydWU7Cl90aGlzLmxvYWRUb29sYmFyKCk7CmlmKEV4
dEJsb2NrVHlwZXMuaXNMb2FkaW5nKCkpewpfdGhpcy5maWxsQmxvY2tzLmRlbGF5
ZWRDYWxsPXRydWU7Cn1lbHNlewpfdGhpcy5maWxsQmxvY2tzKCk7Cn0KfTsKdGhp
cy51c2VCbG9ja0lkRGlzdHI9ZnVuY3Rpb24oKXsKcmV0dXJuISEoX3RoaXMuZ2V0
QmFubmVyKCdhdXRvY29udGV4dCcsMCkmJl90aGlzLmdldEJhbm5lcignYXV0b2Nv
bnRleHQnLDApWyJibG9ja19pZCJdKTsKfTsKdGhpcy5pbml0Q3VycmVudEJsb2Nr
PWZ1bmN0aW9uKCl7CmlmKHR5cGVvZiB3aW5kb3cuYmVndW5fYXV0b19wYWQhPT0i
dW5kZWZpbmVkIiYmd2luZG93LmJlZ3VuX2F1dG9fcGFkPjApewppZih3aW5kb3cu
YmVndW5fYmxvY2tfaWRzKXsKaWYodHlwZW9mIF90aGlzLmN1cnJlbnRJZEluZGV4
PT09InVuZGVmaW5lZCIpewpfdGhpcy5jdXJyZW50SWRJbmRleD0wOwp9ZWxzZXsK
X3RoaXMuY3VycmVudElkSW5kZXgrKzsKfQp2YXIgYmxvY2tJZHM9d2luZG93LmJl
Z3VuX2Jsb2NrX2lkcy5yZXBsYWNlKC9ccy9nLCIiKS5zcGxpdCgiLCIpOwppZihi
bG9ja0lkcy5sZW5ndGgmJmJsb2NrSWRzLmxlbmd0aD5fdGhpcy5jdXJyZW50SWRJ
bmRleCl7Cl90aGlzLnByaW50QmxvY2tQbGFjZShibG9ja0lkc1tfdGhpcy5jdXJy
ZW50SWRJbmRleF0pOwpfdGhpcy5nZXRMb2FkaW5nU3RyYXRlZ3koKS5sb2FkQmxv
Y2soYmxvY2tJZHNbX3RoaXMuY3VycmVudElkSW5kZXhdKTsKX3RoaXMuaW5pdEZl
ZWRMb2FkKCk7Cn0KfWVsc2UgaWYodHlwZW9mIHdpbmRvdy5iZWd1bl9ibG9ja19p
ZCE9PSJ1bmRlZmluZWQiJiZ3aW5kb3cuYmVndW5fYmxvY2tfaWQ+MCl7CmlmKHdp
bmRvdy5iZWd1bl9leHRyYV9ibG9jayYmdHlwZW9mIGJlZ3VuQXV0b1J1biE9PSJm
dW5jdGlvbiIpewp2YXIgdG90YWxfYmFubmVycz13aW5kb3cuYmVndW5fdG90YWxf
YmFubmVyc3x8X3RoaXMuZ2V0QWN0dWFsQmxvY2tCYW5uZXJzQ291bnQoKTsKdmFy
IEZBS0VfQkxPQ0tfT0ZGU0VUPTIwMDsKd2luZG93LmJlZ3VuX2Jsb2NrX2lkPUZB
S0VfQkxPQ0tfT0ZGU0VUK3BhcnNlSW50KHRvdGFsX2Jhbm5lcnMpOwp9CmlmKCF3
aW5kb3cuYmVndW5fZXh0cmFfYmxvY2t8fCFfdGhpcy5pc09sZEJsb2NrKCkpewpf
dGhpcy5wcmludEJsb2NrUGxhY2Uod2luZG93LmJlZ3VuX2Jsb2NrX2lkKTsKfQpf
dGhpcy5nZXRMb2FkaW5nU3RyYXRlZ3koKS5sb2FkQmxvY2sod2luZG93LmJlZ3Vu
X2Jsb2NrX2lkKTsKX3RoaXMuaW5pdEZlZWRMb2FkKCk7Cn1lbHNlIGlmKChfdGhp
cy5pbml0LnJ1bil8fCh0eXBlb2Ygd2luZG93LmJlZ3VuX3RvdGFsX2Jhbm5lcnM9
PT0idW5kZWZpbmVkIikpewpCZWd1bi5FcnJvci5zZW5kKCJiZWd1bl9ibG9ja19p
ZCBpcyBtaXNzaW5nIixkb2N1bWVudC5sb2NhdGlvbiwtMSk7Cn0KfQp9Owp0aGlz
LmdldEFjdHVhbEJsb2NrQmFubmVyc0NvdW50PWZ1bmN0aW9uKGJsb2NrKXsKaWYo
dHlwZW9mIGJsb2NrPT09InVuZGVmaW5lZCIpewppZih0eXBlb2Ygd2luZG93LmJl
Z3VuX2V4dHJhX2Jsb2NrIT09InVuZGVmaW5lZCIpewpibG9jaz13aW5kb3cuYmVn
dW5fZXh0cmFfYmxvY2s7Cn1lbHNlewpyZXR1cm4gMDsKfQp9CnZhciBjb2VmPU1h
dGguY2VpbChOdW1iZXIoYmxvY2sub3B0aW9ucy5iYW5uZXJzX2NvdW50X2NvZWYp
KXx8MTsKcmV0dXJuIE51bWJlcihibG9jay5vcHRpb25zLmJhbm5lcnNfY291bnQp
KmNvZWY7Cn07CnRoaXMuaW5pdEZlZWRMb2FkPWZ1bmN0aW9uKCl7CmlmKF90aGlz
LmlzRmVlZFN0YXJ0ZWQoKSl7CnJldHVybiBmYWxzZTsKfQppZihpc0JGU0FwcGxp
Y2FibGUoKXx8d2luZG93LmJlZ3VuX2V4dHJhX2Jsb2NrfHwhX3RoaXMuZ2V0RmVl
ZCgpKXsKX3RoaXMuc2V0RmVlZFN0YXJ0ZWQoKTsKdGhpcy5mZWVkTG9hZCgpOwp9
CnJldHVybiBmYWxzZTsKfTsKdGhpcy5mZWVkTG9hZD1mdW5jdGlvbihwYXJhbXNV
cGRhdGUpewpfdGhpcy5wcmVwYXJlUmVxdWVzdFBhcmFtcyhwYXJhbXNVcGRhdGUp
OwpCZWd1bi5VdGlscy5pbmNsdWRlU2NyaXB0KAooX3RoaXMuU3RyaW5ncy51cmxz
LmRhZW1vbitCZWd1bi5VdGlscy50b1F1ZXJ5KF90aGlzLnJlcXVlc3RQYXJhbXMp
KS5zdWJzdHJpbmcoMCwxNTI0KS5yZXBsYWNlKC8lWzAtOWEtZkEtRl0/JC8sJycp
LAond3JpdGUnLAp1bmRlZmluZWQsCnVuZGVmaW5lZCwKJ2JlZ3VuQWRzJwopOwpf
dGhpcy5yZXF1ZXN0UGFyYW1zLmJsb2NrX2lkPSIiOwpfdGhpcy5yZXF1ZXN0UGFy
YW1zLmJlZ3VuX3NlbGZfa2V5d29yZHM9IiI7CnJldHVybiB0cnVlOwp9Owp0aGlz
LmdldEdyYXBoSFRNTD1mdW5jdGlvbihncmFwaF9iYW5uZXIsY2FsbGJhY2ssd2lk
dGgsaGVpZ2h0KXsKd2lkdGg9d2lkdGh8fDI0MDsKaGVpZ2h0PWhlaWdodHx8NDAw
Owp2YXIgdHlwZT0naW1nJzsKaWYoKCJzd2YiPT1ncmFwaF9iYW5uZXIubWltZSl8
fCgiYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giPT1ncmFwaF9iYW5uZXIu
bWltZSkpewp0eXBlPSdzd2YnOwp9ZWxzZSBpZigoImpzIj09Z3JhcGhfYmFubmVy
Lm1pbWUpfHwoImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI9PWdyYXBoX2Jhbm5l
ci5taW1lKSl7CnR5cGU9J2pzJzsKQmVndW4uVXRpbHMuaW5jbHVkZVNjcmlwdChn
cmFwaF9iYW5uZXIuc291cmNlLCdhcHBlbmQnLGNhbGxiYWNrfHxudWxsKTsKfQp2
YXIgdmFycz17J3VybCc6Z3JhcGhfYmFubmVyLnVybCwnc291cmNlJzpncmFwaF9i
YW5uZXIuc291cmNlLCd3aWR0aCc6d2lkdGgsJ2hlaWdodCc6aGVpZ2h0fTsKcmV0
dXJuKG5ldyBCZWd1bi5UZW1wbGF0ZShfdGhpcy5UcGxzLmdldEhUTUwoJ3NlYXJj
aF9iYW5uZXJfJyt0eXBlKSkpLmV2YWx1YXRlKHZhcnMpOwp9Owp0aGlzLmluaXRG
aWxsZWRCYW5uZXJzRGF0YT1mdW5jdGlvbihibG9jayl7CmlmKGJsb2NrJiYhYmxv
Y2suZmlsbGVkX2Jhbm5lcnNfZGF0YSl7CmJsb2NrLmZpbGxlZF9iYW5uZXJzX2Rh
dGE9ewp0ZXh0OjAsCmdyYXBoOjAsCmNvZGU6MAp9Owp9Cn07CnRoaXMuaW5zZXJ0
Tm9uVGV4dEJsb2NrPWZ1bmN0aW9uKGJsb2NrKXsKaWYoX3RoaXMuQmxvY2tzLmNo
ZWNrVHlwZShibG9jaywnaHlwZXInKSl7CnJldHVybjsKfQp0aGlzLmluaXRGaWxs
ZWRCYW5uZXJzRGF0YShibG9jayk7CmFyZ3VtZW50cy5jYWxsZWUuYmxvY2tzSGFu
ZGxlZD1hcmd1bWVudHMuY2FsbGVlLmJsb2Nrc0hhbmRsZWR8fFtdOwppZihCZWd1
bi5VdGlscy5pbl9hcnJheShhcmd1bWVudHMuY2FsbGVlLmJsb2Nrc0hhbmRsZWQs
YmxvY2spKXsKcmV0dXJuOwp9ZWxzZXsKYXJndW1lbnRzLmNhbGxlZS5ibG9ja3NI
YW5kbGVkLnB1c2goYmxvY2spOwp9CnZhciBmZXRjaEJhbm5lcnM9ZnVuY3Rpb24o
YmxvY2tfaWQsdHlwZSl7CnZhciBpPTA7CnZhciBvYmo9W107CnZhciBiYW5uZXI9
bnVsbDsKd2hpbGUoYmFubmVyPV90aGlzLmdldEJhbm5lcih0eXBlLGkpKXsKaWYo
YmFubmVyLmJsb2NrX2lkPT1ibG9ja19pZCl7Cm9ialtvYmoubGVuZ3RoXT1iYW5u
ZXI7Cn0KaSsrOwp9CnJldHVybiBvYmo7Cn07CgppZighYXJndW1lbnRzLmNhbGxl
ZS5jb2RlX3BhdGNoZWQpewp2YXIgZmVlZD1fdGhpcy5nZXRGZWVkKCk7CmlmKGZl
ZWQmJmZlZWQuY29kZSYmZmVlZC5iYW5uZXJzJiYhZmVlZC5iYW5uZXJzLmNvZGUp
ewpmZWVkLmJhbm5lcnMuY29kZT1mZWVkLmNvZGU7Cn0KYXJndW1lbnRzLmNhbGxl
ZS5jb2RlX3BhdGNoZWQ9dHJ1ZTsKfQp2YXIgYmxvY2tfaWQ9YmxvY2suaWQ7CnZh
ciBjb2Rlcz1mZXRjaEJhbm5lcnMoYmxvY2tfaWQsJ2NvZGUnKTsKdmFyIGdyYXBo
cz1mZXRjaEJhbm5lcnMoYmxvY2tfaWQsJ2dyYXBoJyk7CmlmKGNvZGVzKXsKZm9y
KHZhciBpPTAsbD1jb2Rlcy5sZW5ndGg7aTxsO2krKyl7CmlmKGNvZGVzW2ldLmpz
JiZjb2Rlc1tpXS5qcyE9JycpewpCZWd1bi5VdGlscy5ldmFsU2NyaXB0KGNvZGVz
W2ldLmpzKTsKYmxvY2suZmlsbGVkX2Jhbm5lcnNfZGF0YS5jb2RlKys7CmJsb2Nr
Lm5vblRleHRCYW5uZXJzSW5zZXJ0ZWQ9dHJ1ZTsKfQp9Cn0KdmFyIHR5cGU9Ymxv
Y2smJmJsb2NrLm9wdGlvbnMmJmJsb2NrLm9wdGlvbnMuZGltZW5zaW9ucyYmYmxv
Y2sub3B0aW9ucy5kaW1lbnNpb25zLnR5cGU7CmlmKGdyYXBocyl7CmZvcih2YXIg
aT0wLGw9Z3JhcGhzLmxlbmd0aDtpPGw7aSsrKXsKaWYoZ3JhcGhzW2ldLmxvYWRl
ZCl7CmNvbnRpbnVlOwp9CmlmKGJsb2NrLm9wdGlvbnMudmlld190eXBlJiZibG9j
ay5vcHRpb25zLnZpZXdfdHlwZS5pbmRleE9mKCdHcmFwaCcpIT0tMSl7CmlmKCFh
cmd1bWVudHMuY2FsbGVlLmJhbm5lcl82MDB4OTBfaW5zZXJ0ZWQmJmJsb2NrX2lk
PT1CTE9DS19JRF9CQU5ORVJfNjAweDkwKXsKdmFyIGh0bWw9X3RoaXMuZ2V0R3Jh
cGhIVE1MKGdyYXBoc1tpXSxudWxsLDYwMCw5MCk7Cl90aGlzLnByZXBhcmVUb3BH
cmFwaEJhbm5lcihibG9jay5pZCk7Cl90aGlzLmRpc3BhdGNoQmxvY2tEcmF3Q2Fs
bGJhY2soYmxvY2spOwphcmd1bWVudHMuY2FsbGVlLmJhbm5lcl82MDB4OTBfaW5z
ZXJ0ZWQ9dHJ1ZTsKfWVsc2V7CmlmKCFhcmd1bWVudHMuY2FsbGVlLnRvcF9tb2Jp
bGVfaW5zZXJ0ZWQmJmJsb2NrX2lkPT1CTE9DS19JRF9UT1BfTU9CSUxFJiZfdGhp
cy5nZXRGZWVkKCkucGFyYW1zLmlzX21vYmlsZSl7Cl90aGlzLnByZXBhcmVUb3BN
b2JpbGVCbG9jayhibG9jay5pZCk7CmFyZ3VtZW50cy5jYWxsZWUudG9wX21vYmls
ZV9pbnNlcnRlZD10cnVlOwp9CnZhciBvYmo9X3RoaXMuZ2V0R3JhcGhEaW1lbnNp
b25zKGJsb2NrLm9wdGlvbnMudmlld190eXBlKTsKdmFyIGh0bWw9X3RoaXMuZ2V0
R3JhcGhIVE1MKGdyYXBoc1tpXSxmdW5jdGlvbigpewppZih0eXBlb2YgYmVndW5K
c0Jhbm5lclN0cmluZz09PSJzdHJpbmciKXsKdmFyIGVsZW09X3RoaXMuQmxvY2tz
LmdldERvbU9iaihibG9jay5pZCk7CmVsZW0uaW5uZXJIVE1MPWJlZ3VuSnNCYW5u
ZXJTdHJpbmc7Cn0KfSxvYmoud2lkdGgsb2JqLmhlaWdodCk7Cn0KYmxvY2suZmls
bGVkX2Jhbm5lcnNfZGF0YS5ncmFwaCsrOwpibG9jay5ub25UZXh0QmFubmVyc0lu
c2VydGVkPXRydWU7CmdyYXBoc1tpXS5sb2FkZWQ9dHJ1ZTsKdmFyIGJsb2NrX3Bs
YWNlPV90aGlzLkJsb2Nrcy5nZXREb21PYmooYmxvY2tfaWQpOwppZihodG1sJiZi
bG9ja19wbGFjZSl7CmJsb2NrX3BsYWNlLmlubmVySFRNTD1odG1sOwpyZXR1cm47
Cn0KfQp9Cn0KaWYoIWFyZ3VtZW50cy5jYWxsZWUudG9wX21vYmlsZV9pbnNlcnRl
ZCYmYmxvY2tfaWQ9PUJMT0NLX0lEX1RPUF9NT0JJTEUmJl90aGlzLmdldEZlZWQo
KS5wYXJhbXMuaXNfbW9iaWxlJiZmZXRjaEJhbm5lcnMoQkxPQ0tfSURfVE9QX01P
QklMRSwnYXV0b2NvbnRleHQnKS5sZW5ndGgpewpfdGhpcy5wcmVwYXJlVG9wTW9i
aWxlQmxvY2soYmxvY2tfaWQpOwphcmd1bWVudHMuY2FsbGVlLnRvcF9tb2JpbGVf
aW5zZXJ0ZWQ9dHJ1ZTsKfQoKfTsKdGhpcy5nZXRHcmFwaERpbWVuc2lvbnM9ZnVu
Y3Rpb24oc3JjKXsKdmFyIGRpbWVuc2lvbnM9c3JjLm1hdGNoKC8oXGQqKXgoXGQq
KSQvKXx8WzAsMF07CnJldHVybnsKd2lkdGg6ZGltZW5zaW9uc1sxXSwKaGVpZ2h0
OmRpbWVuc2lvbnNbMl0KfQp9Owp0aGlzLnByZXBhcmVUb3BNb2JpbGVCbG9jaz1m
dW5jdGlvbihibG9ja19pZCl7CnRyeXsKdmFyIHZhcnM9e2lkOl90aGlzLlN0cmlu
Z3MuY3NzLmJsb2NrX3ByZWZpeCtibG9ja19pZH07CnZhciBibG9ja193cmFwcGVy
PXRvcC5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmVndW5fdG9wX21vYmlsZV9i
bG9ja193cmFwcGVyJyk7CmlmKCFibG9ja193cmFwcGVyKXsKdmFyIGJvPXRvcC5k
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnQk9EWScpOwp2YXIgYmxvY2tf
d3JhcHBlcj10b3AuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CmJsb2Nr
X3dyYXBwZXIuaWQ9J2JlZ3VuX3RvcF9tb2JpbGVfYmxvY2tfd3JhcHBlcic7CmJv
WzBdLmluc2VydEJlZm9yZShibG9ja193cmFwcGVyLGJvWzBdLmZpcnN0Q2hpbGQp
Owp9CmJsb2NrX3dyYXBwZXIuaW5uZXJIVE1MPShuZXcgQmVndW4uVGVtcGxhdGUo
X3RoaXMuVHBscy5nZXRIVE1MKCdibGNrX3BsYWNlJykpKS5ldmFsdWF0ZSh2YXJz
KTsKfWNhdGNoKGUpe30KfTsKdGhpcy5wcmVwYXJlVG9wR3JhcGhCYW5uZXI9ZnVu
Y3Rpb24oYmxvY2tfaWQpewp0cnl7CnZhciB2YXJzPXtpZDpfdGhpcy5TdHJpbmdz
LmNzcy5ibG9ja19wcmVmaXgrYmxvY2tfaWR9Owp2YXIgYmFubmVyX3dyYXBwZXI9
dG9wLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiZWd1bl90b3BfZ3JhcGhfYmFu
bmVyX3dyYXBwZXInKTsKaWYoIWJhbm5lcl93cmFwcGVyKXsKdmFyIGJvPXRvcC5k
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnQk9EWScpOwp2YXIgYmFubmVy
X3dyYXBwZXI9dG9wLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwpiYW5u
ZXJfd3JhcHBlci5pZD0nYmVndW5fdG9wX2dyYXBoX2Jhbm5lcl93cmFwcGVyJzsK
Ym9bMF0uaW5zZXJ0QmVmb3JlKGJhbm5lcl93cmFwcGVyLGJvWzBdLmZpcnN0Q2hp
bGQpOwp9CmJhbm5lcl93cmFwcGVyLmlubmVySFRNTD0obmV3IEJlZ3VuLlRlbXBs
YXRlKF90aGlzLlRwbHMuZ2V0SFRNTCgndG9wX2dyYXBoX2Jhbm5lcicpKSkuZXZh
bHVhdGUodmFycyk7Cn1jYXRjaChlKXt9Cn07CnRoaXMuaXNPbGRCbG9jaz1mdW5j
dGlvbigpewp2YXIgaXNQYWROZXc9ZnVuY3Rpb24ocGFyYW1zKXsKaWYoIXBhcmFt
c3x8IXdpbmRvdy5iZWd1bl9hdXRvX3BhZCl7CnJldHVybiBmYWxzZTsKfQpyZXR1
cm4gQmVndW4uVXRpbHMuaW5fYXJyYXkocGFyYW1zLnNwbGl0KCcsJyksd2luZG93
LmJlZ3VuX2F1dG9fcGFkKTsKfTsKaWYodHlwZW9mIF90aGlzLnJlc3BvbnNlUGFy
YW1zWydvbGRfYmxvY2tzJ10hPT0idW5kZWZpbmVkIiYmTnVtYmVyKF90aGlzLnJl
c3BvbnNlUGFyYW1zWydvbGRfYmxvY2tzJ10pIT0wJiZ0eXBlb2YgYmVndW5BdXRv
UnVuPT0nZnVuY3Rpb24nKXsKdmFyIGZlZWQ9X3RoaXMuZ2V0RmVlZCgpOwppZihm
ZWVkJiZmZWVkLmNvb2tpZXMmJmZlZWQuY29va2llcy5qc19mb3JjZV9uZXdfcGFk
cyYmaXNQYWROZXcoZmVlZC5jb29raWVzLmpzX2ZvcmNlX25ld19wYWRzKSl7CnJl
dHVybiBmYWxzZTsKfQpyZXR1cm4gdHJ1ZTsKfQpyZXR1cm4gZmFsc2U7Cn07CnRo
aXMucmVuZGVyT2xkQmxvY2s9ZnVuY3Rpb24oKXsKaWYoX3RoaXMuaXNPbGRCbG9j
aygpKXsKYmVndW5BdXRvUnVuKCk7CnJldHVybiB0cnVlOwp9CnJldHVybiBmYWxz
ZTsKfTsKdGhpcy5sb2FkRmVlZERvbmU9ZnVuY3Rpb24oKXsKdGhpcy5DYWxsYmFj
a3MuZGlzcGF0Y2goJ2ZlZWQnLCdsb2FkJyx0aGlzLFt3aW5kb3cuYmVndW5BZHNd
KTsKdmFyIGV4dGVuZFZpc3VhbE9wdGlvbnM9ZnVuY3Rpb24obmV3VmlzdWFsT3B0
aW9ucyl7CkJlZ3VuLmV4dGVuZCh0aGlzLm9wdGlvbnMudmlzdWFsLG5ld1Zpc3Vh
bE9wdGlvbnMpOwp9Owp2YXIgc2V0QmxvY2tCYW5uZXJDb21wb25lbnRzPWZ1bmN0
aW9uKGNvbXBvbmVudHNQYXJhbXMpewpmb3IodmFyIHBhcmFtIGluIGNvbXBvbmVu
dHNQYXJhbXMpewppZihjb21wb25lbnRzUGFyYW1zLmhhc093blByb3BlcnR5KHBh
cmFtKSl7CmlmKHR5cGVvZiB0aGlzLm9wdGlvbnMudmlzdWFsW3BhcmFtXSE9PSJv
YmplY3QiKXsKdGhpcy5vcHRpb25zLnZpc3VhbFtwYXJhbV09e307Cn0KaWYoIWNv
bXBvbmVudHNQYXJhbXNbcGFyYW1dKXsKdGhpcy5vcHRpb25zLnZpc3VhbFtwYXJh
bV1bImRpc3BsYXkiXT0ibm9uZSI7Cn1lbHNlewp0aGlzLm9wdGlvbnMudmlzdWFs
W3BhcmFtXVsiZGlzcGxheSJdPSIiOwp9Cn0KfQp9Owp2YXIgc2V0VGh1bWJQYXJh
bXM9ZnVuY3Rpb24odmlzdWFsUGFyYW1zKXsKdmFyIG1peGluVGh1bWI9e307CmZv
cih2YXIgcGFyYW0gaW4gdmlzdWFsUGFyYW1zKXsKaWYodmlzdWFsUGFyYW1zLmhh
c093blByb3BlcnR5KHBhcmFtKSl7CmlmKHR5cGVvZiBtaXhpblRodW1iLnRodW1i
U3R5bGVzPT09InVuZGVmaW5lZCIpewptaXhpblRodW1iLnRodW1iU3R5bGVzPXt9
Owp9Cm1peGluVGh1bWIudGh1bWJTdHlsZXNbcGFyYW1dPXZpc3VhbFBhcmFtc1tw
YXJhbV07Cn0KfQpCZWd1bi5leHRlbmQodGhpcy5vcHRpb25zLnZpc3VhbCxtaXhp
blRodW1iKTsKfTsKZm9yKHZhciBpPTA7d2luZG93LmJlZ3VuQWRzJiZ3aW5kb3cu
YmVndW5BZHMuYmxvY2tzJiZpPHdpbmRvdy5iZWd1bkFkcy5ibG9ja3MubGVuZ3Ro
O2krKyl7CndpbmRvdy5iZWd1bkFkcy5ibG9ja3NbaV0uc2V0VmlzdWFsT3B0aW9u
cz1leHRlbmRWaXN1YWxPcHRpb25zOwppZih0eXBlb2Ygd2luZG93LmJlZ3VuQWRz
LmJsb2Nrc1tpXS5vcHRpb25zLmpzb249PSJvYmplY3QiJiZ0eXBlb2Ygd2luZG93
LmJlZ3VuQWRzLmJsb2Nrc1tpXS5vcHRpb25zLmpzb24uYmFubmVyX2NvbXBvbmVu
dHM9PSJvYmplY3QiKXsKc2V0QmxvY2tCYW5uZXJDb21wb25lbnRzLmNhbGwod2lu
ZG93LmJlZ3VuQWRzLmJsb2Nrc1tpXSx3aW5kb3cuYmVndW5BZHMuYmxvY2tzW2ld
Lm9wdGlvbnMuanNvbi5iYW5uZXJfY29tcG9uZW50cyk7Cn0Kd2luZG93LmJlZ3Vu
QWRzLmJsb2Nrc1tpXS5zZXRCYW5uZXJDb21wb25lbnRzPXNldEJsb2NrQmFubmVy
Q29tcG9uZW50czsKd2luZG93LmJlZ3VuQWRzLmJsb2Nrc1tpXS5zZXRUaHVtYk9w
dGlvbnM9c2V0VGh1bWJQYXJhbXM7Cl90aGlzLmluaXRGaWxsZWRCYW5uZXJzRGF0
YSh3aW5kb3cuYmVndW5BZHMuYmxvY2tzW2ldKTsKCmlmKHdpbmRvdy5iZWd1bkFk
cy5ibG9ja3NbaV0mJndpbmRvdy5iZWd1bkFkcy5ibG9ja3NbaV0ub3B0aW9ucyYm
d2luZG93LmJlZ3VuQWRzLmJsb2Nrc1tpXS5vcHRpb25zLmRpbWVuc2lvbnMmJndp
bmRvdy5iZWd1bkFkcy5ibG9ja3NbaV0ub3B0aW9ucy5kaW1lbnNpb25zLnR5cGUm
JndpbmRvdy5iZWd1bkFkcy5ibG9ja3NbaV0ub3B0aW9ucy5kaW1lbnNpb25zLnR5
cGUudG9Mb3dlckNhc2UpewpFeHRCbG9ja1R5cGVzLmxvYWQoImJlZ3VuX3RwbF9i
bG9ja18iK3dpbmRvdy5iZWd1bkFkcy5ibG9ja3NbaV0ub3B0aW9ucy5kaW1lbnNp
b25zLnR5cGUpOwp9Cn0KaWYod2luZG93LmJlZ3VuX2V4dHJhX2Jsb2NrJiZ3aW5k
b3cuYmVndW5fZXh0cmFfYmxvY2sub3B0aW9ucyYmd2luZG93LmJlZ3VuX2V4dHJh
X2Jsb2NrLm9wdGlvbnMuZGltZW5zaW9ucyYmd2luZG93LmJlZ3VuX2V4dHJhX2Js
b2NrLm9wdGlvbnMuZGltZW5zaW9ucy50eXBlJiZ3aW5kb3cuYmVndW5fZXh0cmFf
YmxvY2sub3B0aW9ucy5kaW1lbnNpb25zLnR5cGUudG9Mb3dlckNhc2UpewpFeHRC
bG9ja1R5cGVzLmxvYWQoImJlZ3VuX3RwbF9ibG9ja18iK3dpbmRvdy5iZWd1bl9l
eHRyYV9ibG9jay5vcHRpb25zLmRpbWVuc2lvbnMudHlwZSk7Cn0KX3RoaXMuZ2V0
UGFkKCkuZmVlZD13aW5kb3cuYmVndW5BZHM7CkJlZ3VuLmV4dGVuZChfdGhpcy5y
ZXNwb25zZVBhcmFtcyxfdGhpcy5nZXRGZWVkKCkmJl90aGlzLmdldEZlZWQoKS5w
YXJhbXN8fHt9KTsKaWYoIV90aGlzLnJlbmRlck9sZEJsb2NrKCkpewpfdGhpcy5n
ZXRMb2FkaW5nU3RyYXRlZ3koKS5wYXJzZUZlZWQoKTsKZm9yKHZhciBpPTA7aTxG
QUtFX0JMT0NLUy5sZW5ndGg7aSsrKXsKdmFyIGJsb2NrPV90aGlzLkJsb2Nrcy5n
ZXRCbG9ja0J5SWQoRkFLRV9CTE9DS1NbaV0pOwppZihibG9jayl7CmlmKEZBS0Vf
QkxPQ0tTW2ldPT1CTE9DS19JRF9UT1BfTU9CSUxFKXsKZm9yKHZhciBqPTA7ajxf
dGhpcy5nZXRCbG9ja3MoKS5sZW5ndGg7aisrKXsKaWYoIUJlZ3VuLlV0aWxzLmlu
X2FycmF5KEZBS0VfQkxPQ0tTLF90aGlzLmdldEJsb2NrcygpW2pdLmlkKSl7CmJs
b2NrLm9wdGlvbnMudmlzdWFsPV90aGlzLmdldEJsb2NrcygpW2pdLm9wdGlvbnMu
dmlzdWFsOwpicmVhazsKfQp9Cn0KX3RoaXMuaW5zZXJ0Tm9uVGV4dEJsb2NrKGJs
b2NrKTsKfQp9Cl90aGlzLmRyYXcoKTsKfQp9Owp0aGlzLnByaW50QmxvY2tQbGFj
ZT1mdW5jdGlvbihibG9ja19pZCl7CnZhciB2YXJzPXtpZDpfdGhpcy5TdHJpbmdz
LmNzcy5ibG9ja19wcmVmaXgrYmxvY2tfaWR9OwppZihkb2N1bWVudC5ib2R5KXsK
ZG9jdW1lbnQud3JpdGUoKG5ldyBCZWd1bi5UZW1wbGF0ZShfdGhpcy5UcGxzLmdl
dEhUTUwoJ2JsY2tfcGxhY2UnKSkpLmV2YWx1YXRlKHZhcnMpKTsKfWVsc2V7CmRv
Y3VtZW50LndyaXRlKCI8Ym9keT4iKyhuZXcgQmVndW4uVGVtcGxhdGUoX3RoaXMu
VHBscy5nZXRIVE1MKCdibGNrX3BsYWNlJykpKS5ldmFsdWF0ZSh2YXJzKSsiPC9i
b2R5PiIpOwp9Cn07CnRoaXMucHJpbnREZWZhdWx0U3R5bGU9ZnVuY3Rpb24oKXsK
QmVndW4uVXRpbHMuaW5jbHVkZVN0eWxlKF90aGlzLlRwbHMuZ2V0Q1NTKCdkZWZh
dWx0JyksJ3dyaXRlJyk7Cn07CnZhciBnZXRCR0NvbG9yPWZ1bmN0aW9uKGJsb2Nr
KXsKdmFyIGJnY29sb3I9QmVndW4uVXRpbHMuZ2V0U3R5bGUoYmxvY2ssJ2JhY2tn
cm91bmQtY29sb3InKTsKd2hpbGUoYmdjb2xvcj09J3RyYW5zcGFyZW50Jyl7Cmlm
KGJsb2NrLm5vZGVOYW1lPT0nQk9EWScpewp2YXIgYm9keV9iZz1CZWd1bi5VdGls
cy5nZXRTdHlsZShibG9jaywnYmFja2dyb3VuZC1jb2xvcicpOwppZihib2R5X2Jn
PT0ndHJhbnNwYXJlbnQnKXsKYmdjb2xvcj0nI0ZGRkZGRic7Cn1lbHNlewpiZ2Nv
bG9yPUJlZ3VuLlV0aWxzLmdldFN0eWxlKGJsb2NrLCdiYWNrZ3JvdW5kLWNvbG9y
Jyk7Cn0KYnJlYWs7Cn0KYmxvY2s9YmxvY2sucGFyZW50Tm9kZTsKYmdjb2xvcj1C
ZWd1bi5VdGlscy5nZXRTdHlsZShibG9jaywnYmFja2dyb3VuZC1jb2xvcicpOwp9
CnJldHVybiBiZ2NvbG9yOwp9Owp0aGlzLmdldExvZ29Db2xvcj1mdW5jdGlvbihz
dHlsZXMsYmxvY2tfaWQpewp2YXIgZGVmYXVsdF9sb2dvX2NvbG9yPV90aGlzLlN0
cmluZ3MuY3NzLmxvZ29fY29sb3I7CmlmKHN0eWxlcy5ibG9jayl7CnZhciBpc19s
b2dvX3RyYW5zcGFyZW50PWZhbHNlOwppZigoc3R5bGVzLmJsb2NrLmJhY2tncm91
bmRDb2xvciYmc3R5bGVzLmJsb2NrLmJhY2tncm91bmRDb2xvci50b0xvd2VyQ2Fz
ZSgpPT0ndHJhbnNwYXJlbnQnKXx8IXN0eWxlcy5ibG9jay5iYWNrZ3JvdW5kQ29s
b3Ipewp2YXIgYmxvY2s9X3RoaXMuQmxvY2tzLmdldERvbU9iaihibG9ja19pZCk7
CnZhciB0b051bWJlcnM9ZnVuY3Rpb24oc3RyKXsKdmFyIHJldD1bXTsKc3RyLnJl
cGxhY2UoLyguLikvZyxmdW5jdGlvbihzdHIpewpyZXQucHVzaChwYXJzZUludChz
dHIsMTYpKTsKfSk7CnJldHVybiByZXQ7Cn07CnZhciBhcmVDb2xvcnNUb29DbG9z
ZT1mdW5jdGlvbihjMSxjMixkZWx0YSl7CmZvcih2YXIgaT0wO2k8YXJndW1lbnRz
Lmxlbmd0aDtpKyspewppZigwPT1hcmd1bWVudHNbaV0uaW5kZXhPZignIycpKXsK
YXJndW1lbnRzW2ldPXRvTnVtYmVycyhhcmd1bWVudHNbaV0uc2xpY2UoMSkpOwp9
ZWxzZXsKcmV0dXJuIGZhbHNlOwp9Cn0KZGVsdGE9ZGVsdGF8fDEwMDsKcmV0dXJu
KE1hdGguc3FydCgoYzFbMF0tYzJbMF0pKihjMVswXS1jMlswXSkrKGMxWzFdLWMy
WzFdKSooYzFbMV0tYzJbMV0pKyhjMVsyXS1jMlsyXSkqKGMxWzJdLWMyWzJdKSk8
ZGVsdGEpOwp9Owp2YXIgY29udmVydENvbG9yPWZ1bmN0aW9uKGNvbG9yX3N0cmlu
Zyl7CmlmKGNvbG9yX3N0cmluZy5jaGFyQXQoMCk9PScjJyl7CmNvbG9yX3N0cmlu
Zz1jb2xvcl9zdHJpbmcuc3Vic3RyKDEsNik7Cn0KY29sb3Jfc3RyaW5nPWNvbG9y
X3N0cmluZy5yZXBsYWNlKC8gL2csJycpOwpjb2xvcl9zdHJpbmc9Y29sb3Jfc3Ry
aW5nLnRvTG93ZXJDYXNlKCk7CnZhciBzaW1wbGVfY29sb3JzPXthbGljZWJsdWU6
J2YwZjhmZicsYW50aXF1ZXdoaXRlOidmYWViZDcnLGFxdWE6JzAwZmZmZicsYXF1
YW1hcmluZTonN2ZmZmQ0JyxhenVyZTonZjBmZmZmJyxiZWlnZTonZjVmNWRjJyxi
aXNxdWU6J2ZmZTRjNCcsYmxhY2s6JzAwMDAwMCcsYmxhbmNoZWRhbG1vbmQ6J2Zm
ZWJjZCcsYmx1ZTonMDAwMGZmJyxibHVldmlvbGV0Oic4YTJiZTInLGJyb3duOidh
NTJhMmEnLGJ1cmx5d29vZDonZGViODg3JyxjYWRldGJsdWU6JzVmOWVhMCcsY2hh
cnRyZXVzZTonN2ZmZjAwJyxjaG9jb2xhdGU6J2QyNjkxZScsY29yYWw6J2ZmN2Y1
MCcsY29ybmZsb3dlcmJsdWU6JzY0OTVlZCcsY29ybnNpbGs6J2ZmZjhkYycsY3Jp
bXNvbjonZGMxNDNjJyxjeWFuOicwMGZmZmYnLGRhcmtibHVlOicwMDAwOGInLGRh
cmtjeWFuOicwMDhiOGInLGRhcmtnb2xkZW5yb2Q6J2I4ODYwYicsZGFya2dyYXk6
J2E5YTlhOScsZGFya2dyZWVuOicwMDY0MDAnLGRhcmtraGFraTonYmRiNzZiJyxk
YXJrbWFnZW50YTonOGIwMDhiJyxkYXJrb2xpdmVncmVlbjonNTU2YjJmJyxkYXJr
b3JhbmdlOidmZjhjMDAnLGRhcmtvcmNoaWQ6Jzk5MzJjYycsZGFya3JlZDonOGIw
MDAwJyxkYXJrc2FsbW9uOidlOTk2N2EnLGRhcmtzZWFncmVlbjonOGZiYzhmJyxk
YXJrc2xhdGVibHVlOic0ODNkOGInLGRhcmtzbGF0ZWdyYXk6JzJmNGY0ZicsZGFy
a3R1cnF1b2lzZTonMDBjZWQxJyxkYXJrdmlvbGV0Oic5NDAwZDMnLGRlZXBwaW5r
OidmZjE0OTMnLGRlZXBza3libHVlOicwMGJmZmYnLGRpbWdyYXk6JzY5Njk2OScs
ZG9kZ2VyYmx1ZTonMWU5MGZmJyxmZWxkc3BhcjonZDE5Mjc1JyxmaXJlYnJpY2s6
J2IyMjIyMicsZmxvcmFsd2hpdGU6J2ZmZmFmMCcsZm9yZXN0Z3JlZW46JzIyOGIy
MicsZnVjaHNpYTonZmYwMGZmJyxnYWluc2Jvcm86J2RjZGNkYycsZ2hvc3R3aGl0
ZTonZjhmOGZmJyxnb2xkOidmZmQ3MDAnLGdvbGRlbnJvZDonZGFhNTIwJyxncmF5
Oic4MDgwODAnLGdyZWVuOicwMDgwMDAnLGdyZWVueWVsbG93OidhZGZmMmYnLGhv
bmV5ZGV3OidmMGZmZjAnLGhvdHBpbms6J2ZmNjliNCcsaW5kaWFucmVkOidjZDVj
NWMnLGluZGlnbzonNGIwMDgyJyxpdm9yeTonZmZmZmYwJyxraGFraTonZjBlNjhj
JyxsYXZlbmRlcjonZTZlNmZhJyxsYXZlbmRlcmJsdXNoOidmZmYwZjUnLGxhd25n
cmVlbjonN2NmYzAwJyxsZW1vbmNoaWZmb246J2ZmZmFjZCcsbGlnaHRibHVlOidh
ZGQ4ZTYnLGxpZ2h0Y29yYWw6J2YwODA4MCcsbGlnaHRjeWFuOidlMGZmZmYnLGxp
Z2h0Z29sZGVucm9keWVsbG93OidmYWZhZDInLGxpZ2h0Z3JleTonZDNkM2QzJyxs
aWdodGdyZWVuOic5MGVlOTAnLGxpZ2h0cGluazonZmZiNmMxJyxsaWdodHNhbG1v
bjonZmZhMDdhJyxsaWdodHNlYWdyZWVuOicyMGIyYWEnLGxpZ2h0c2t5Ymx1ZTon
ODdjZWZhJyxsaWdodHNsYXRlYmx1ZTonODQ3MGZmJyxsaWdodHNsYXRlZ3JheTon
Nzc4ODk5JyxsaWdodHN0ZWVsYmx1ZTonYjBjNGRlJyxsaWdodHllbGxvdzonZmZm
ZmUwJyxsaW1lOicwMGZmMDAnLGxpbWVncmVlbjonMzJjZDMyJyxsaW5lbjonZmFm
MGU2JyxtYWdlbnRhOidmZjAwZmYnLG1hcm9vbjonODAwMDAwJyxtZWRpdW1hcXVh
bWFyaW5lOic2NmNkYWEnLG1lZGl1bWJsdWU6JzAwMDBjZCcsbWVkaXVtb3JjaGlk
OidiYTU1ZDMnLG1lZGl1bXB1cnBsZTonOTM3MGQ4JyxtZWRpdW1zZWFncmVlbjon
M2NiMzcxJyxtZWRpdW1zbGF0ZWJsdWU6JzdiNjhlZScsbWVkaXVtc3ByaW5nZ3Jl
ZW46JzAwZmE5YScsbWVkaXVtdHVycXVvaXNlOic0OGQxY2MnLG1lZGl1bXZpb2xl
dHJlZDonYzcxNTg1JyxtaWRuaWdodGJsdWU6JzE5MTk3MCcsbWludGNyZWFtOidm
NWZmZmEnLG1pc3R5cm9zZTonZmZlNGUxJyxtb2NjYXNpbjonZmZlNGI1JyxuYXZh
am93aGl0ZTonZmZkZWFkJyxuYXZ5OicwMDAwODAnLG9sZGxhY2U6J2ZkZjVlNics
b2xpdmU6JzgwODAwMCcsb2xpdmVkcmFiOic2YjhlMjMnLG9yYW5nZTonZmZhNTAw
JyxvcmFuZ2VyZWQ6J2ZmNDUwMCcsb3JjaGlkOidkYTcwZDYnLHBhbGVnb2xkZW5y
b2Q6J2VlZThhYScscGFsZWdyZWVuOic5OGZiOTgnLHBhbGV0dXJxdW9pc2U6J2Fm
ZWVlZScscGFsZXZpb2xldHJlZDonZDg3MDkzJyxwYXBheWF3aGlwOidmZmVmZDUn
LHBlYWNocHVmZjonZmZkYWI5JyxwZXJ1OidjZDg1M2YnLHBpbms6J2ZmYzBjYics
cGx1bTonZGRhMGRkJyxwb3dkZXJibHVlOidiMGUwZTYnLHB1cnBsZTonODAwMDgw
JyxyZWQ6J2ZmMDAwMCcscm9zeWJyb3duOidiYzhmOGYnLHJveWFsYmx1ZTonNDE2
OWUxJyxzYWRkbGVicm93bjonOGI0NTEzJyxzYWxtb246J2ZhODA3Micsc2FuZHli
cm93bjonZjRhNDYwJyxzZWFncmVlbjonMmU4YjU3JyxzZWFzaGVsbDonZmZmNWVl
JyxzaWVubmE6J2EwNTIyZCcsc2lsdmVyOidjMGMwYzAnLHNreWJsdWU6Jzg3Y2Vl
Yicsc2xhdGVibHVlOic2YTVhY2QnLHNsYXRlZ3JheTonNzA4MDkwJyxzbm93Oidm
ZmZhZmEnLHNwcmluZ2dyZWVuOicwMGZmN2YnLHN0ZWVsYmx1ZTonNDY4MmI0Jyx0
YW46J2QyYjQ4YycsdGVhbDonMDA4MDgwJyx0aGlzdGxlOidkOGJmZDgnLHRvbWF0
bzonZmY2MzQ3Jyx0dXJxdW9pc2U6JzQwZTBkMCcsdmlvbGV0OidlZTgyZWUnLHZp
b2xldHJlZDonZDAyMDkwJyx3aGVhdDonZjVkZWIzJyx3aGl0ZTonZmZmZmZmJyx3
aGl0ZXNtb2tlOidmNWY1ZjUnLHllbGxvdzonZmZmZjAwJyx5ZWxsb3dncmVlbjon
OWFjZDMyJ307CmZvcih2YXIga2V5IGluIHNpbXBsZV9jb2xvcnMpewppZihjb2xv
cl9zdHJpbmc9PWtleSl7CmNvbG9yX3N0cmluZz1zaW1wbGVfY29sb3JzW2tleV07
Cn0KfQp2YXIgY29sb3JfZGVmcz1bCnsKcmU6L15yZ2JcKChcZHsxLDN9KSxccyoo
XGR7MSwzfSksXHMqKFxkezEsM30pXCkkLywKZXhhbXBsZTpbJ3JnYigxMjMsIDIz
NCwgNDUpJywncmdiKDI1NSwyMzQsMjQ1KSddLApwcm9jZXNzOmZ1bmN0aW9uKGJp
dHMpewpyZXR1cm5bCnBhcnNlSW50KGJpdHNbMV0pLApwYXJzZUludChiaXRzWzJd
KSwKcGFyc2VJbnQoYml0c1szXSkKXTsKfQp9LAp7CnJlOi9eKFx3ezJ9KShcd3sy
fSkoXHd7Mn0pJC8sCmV4YW1wbGU6WycjMDBmZjAwJywnMzM2Njk5J10sCnByb2Nl
c3M6ZnVuY3Rpb24oYml0cyl7CnJldHVyblsKcGFyc2VJbnQoYml0c1sxXSwxNiks
CnBhcnNlSW50KGJpdHNbMl0sMTYpLApwYXJzZUludChiaXRzWzNdLDE2KQpdOwp9
Cn0sCnsKcmU6L14oXHd7MX0pKFx3ezF9KShcd3sxfSkkLywKZXhhbXBsZTpbJyNm
YjAnLCdmMGYnXSwKcHJvY2VzczpmdW5jdGlvbihiaXRzKXsKcmV0dXJuWwpwYXJz
ZUludChiaXRzWzFdK2JpdHNbMV0sMTYpLApwYXJzZUludChiaXRzWzJdK2JpdHNb
Ml0sMTYpLApwYXJzZUludChiaXRzWzNdK2JpdHNbM10sMTYpCl07Cn0KfQpdOwpm
b3IodmFyIGk9MDtpPGNvbG9yX2RlZnMubGVuZ3RoO2krKyl7CnZhciByZT1jb2xv
cl9kZWZzW2ldLnJlOwp2YXIgcHJvY2Vzc29yPWNvbG9yX2RlZnNbaV0ucHJvY2Vz
czsKdmFyIGJpdHM9cmUuZXhlYyhjb2xvcl9zdHJpbmcpOwppZihiaXRzKXsKY2hh
bm5lbHM9cHJvY2Vzc29yKGJpdHMpOwp0aGlzLnI9Y2hhbm5lbHNbMF07CnRoaXMu
Zz1jaGFubmVsc1sxXTsKdGhpcy5iPWNoYW5uZWxzWzJdOwp0aGlzLm9rPXRydWU7
Cn0KfQp0aGlzLnI9KHRoaXMucjwwfHxpc05hTih0aGlzLnIpKT8wOigodGhpcy5y
PjI1NSk/MjU1OnRoaXMucik7CnRoaXMuZz0odGhpcy5nPDB8fGlzTmFOKHRoaXMu
ZykpPzA6KCh0aGlzLmc+MjU1KT8yNTU6dGhpcy5nKTsKdGhpcy5iPSh0aGlzLmI8
MHx8aXNOYU4odGhpcy5iKSk/MDooKHRoaXMuYj4yNTUpPzI1NTp0aGlzLmIpOwoK
dmFyIHI9dGhpcy5yLnRvU3RyaW5nKDE2KTsKdmFyIGc9dGhpcy5nLnRvU3RyaW5n
KDE2KTsKdmFyIGI9dGhpcy5iLnRvU3RyaW5nKDE2KTsKaWYoci5sZW5ndGg9PTEp
ewpyPScwJytyOwp9CmlmKGcubGVuZ3RoPT0xKXsKZz0nMCcrZzsKfQppZihiLmxl
bmd0aD09MSl7CmI9JzAnK2I7Cn0KcmV0dXJuJyMnK3IrZytiOwp9OwoKdmFyIGdl
dFJlYWxCRz1mdW5jdGlvbihiZ2NvbG9yKXsKdmFyIHRlbXBfc3R1Yj1kb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKdGVtcF9zdHViLnN0eWxlLmhlaWdodD0n
MCc7CnRlbXBfc3R1Yi5zdHlsZS5vdmVyZmxvdz0naGlkZGVuJzsKdGVtcF9zdHVi
LnN0eWxlLmJhY2tncm91bmRDb2xvcj1iZ2NvbG9yOwpkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHRlbXBfc3R1Yik7CnZhciByZWFsX2NvbG9yPUJlZ3VuLlV0aWxz
LmdldFN0eWxlKHRlbXBfc3R1YiwnYmFja2dyb3VuZC1jb2xvcicpOwp0ZW1wX3N0
dWIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0ZW1wX3N0dWIpOwpyZXR1cm4gcmVh
bF9jb2xvcjsKfTsKdmFyIGJnY29sb3I9Z2V0QkdDb2xvcihibG9jayk7CnZhciB0
ZW1wX2xvZ29fY29sb3I9Z2V0UmVhbEJHKHN0eWxlcy5ibG9jay5ib3JkZXJDb2xv
cik7CmJnY29sb3I9Z2V0UmVhbEJHKGJnY29sb3IpOwoKYmdjb2xvcj1jb252ZXJ0
Q29sb3IoYmdjb2xvcik7CnRlbXBfbG9nb19jb2xvcj1jb252ZXJ0Q29sb3IodGVt
cF9sb2dvX2NvbG9yKTsKCmlmKGJnY29sb3I9PXRlbXBfbG9nb19jb2xvcnx8YXJl
Q29sb3JzVG9vQ2xvc2UoYmdjb2xvcix0ZW1wX2xvZ29fY29sb3IpKXsKaXNfbG9n
b190cmFuc3BhcmVudD10cnVlOwp9Cn0KdmFyIGlzX2RlZmF1bHRfY29sb3I9KCgh
c3R5bGVzLmJsb2NrLmJvcmRlckNvbG9yfHxzdHlsZXMuYmxvY2suYm9yZGVyQ29s
b3IudG9Mb3dlckNhc2UoKT09J3RyYW5zcGFyZW50Jyl8fCh0eXBlb2Ygc3R5bGVz
LmJsb2NrLmJhY2tncm91bmRDb2xvciE9PSJ1bmRlZmluZWQiJiZ0eXBlb2Ygc3R5
bGVzLmJsb2NrLmJvcmRlckNvbG9yIT09InVuZGVmaW5lZCImJnN0eWxlcy5ibG9j
ay5iYWNrZ3JvdW5kQ29sb3IudG9Mb3dlckNhc2UoKT09c3R5bGVzLmJsb2NrLmJv
cmRlckNvbG9yLnRvTG93ZXJDYXNlKCkpKTsKcmV0dXJuKGlzX2RlZmF1bHRfY29s
b3J8fGlzX2xvZ29fdHJhbnNwYXJlbnQpP2RlZmF1bHRfbG9nb19jb2xvcjpzdHls
ZXMuYmxvY2suYm9yZGVyQ29sb3I7Cn1lbHNlewpyZXR1cm4gZGVmYXVsdF9sb2dv
X2NvbG9yOwp9Cn07CnZhciBwcmVwYXJlQ29sb3JTdHlsZXM9ZnVuY3Rpb24oc3R5
bGVzKXsKdmFyIGNoZWNrQ29sb3JEZWY9ZnVuY3Rpb24ob2JqLHByb3ApewppZihv
YmohPT1udWxsJiZ0eXBlb2Ygb2JqIT09InVuZGVmaW5lZCIpewppZihvYmpbcHJv
cF09PT0iIil7Cm9ialtwcm9wXT0idHJhbnNwYXJlbnQiOwp9Cn0KfQoKdmFyIGNo
ZWNrQmdDb2xvcj1mdW5jdGlvbihvYmopewpjaGVja0NvbG9yRGVmKG9iaiwiYmFj
a2dyb3VuZENvbG9yIik7Cn0KCnZhciBjaGVja0JvcmRlckNvbG9yPWZ1bmN0aW9u
KG9iail7CmNoZWNrQ29sb3JEZWYob2JqLCJib3JkZXJDb2xvciIpOwp9Cgp2YXIg
bWtUcmFuc3BhcmVudEJvcmRlcnNGb3JJRT1mdW5jdGlvbihvYmopewppZihvYmoh
PT1udWxsJiZ0eXBlb2Ygb2JqIT09InVuZGVmaW5lZCImJkJlZ3VuLkJyb3dzZXIu
SUUmJkJlZ3VuLkJyb3dzZXIubGVzcyg3KSYmb2JqLmJvcmRlckNvbG9yJiYob2Jq
LmJvcmRlckNvbG9yLnRvTG93ZXJDYXNlKCk9PSd0cmFuc3BhcmVudCd8fG9iai5i
b3JkZXJDb2xvcj09JycpKXsKb2JqLmJvcmRlckNvbG9yPSJ3aGl0ZSI7Cm9iai5m
aWx0ZXI9ImNocm9tYShjb2xvcj13aGl0ZSkiOwpvYmoudHJhbnNwYXJlbnRCb3Jk
ZXJzPSd0cmFuc3BhcmVudEJvcmRlcnMnOwp9Cn0KCmNoZWNrQmdDb2xvcihzdHls
ZXMuYmxvY2tfaG92ZXIpOwpjaGVja0JvcmRlckNvbG9yKHN0eWxlcy5ibG9ja19o
b3Zlcik7CgpjaGVja0JnQ29sb3Ioc3R5bGVzLmJsb2NrKTsKY2hlY2tCb3JkZXJD
b2xvcihzdHlsZXMuYmxvY2spOwoKbWtUcmFuc3BhcmVudEJvcmRlcnNGb3JJRShz
dHlsZXMuYmxvY2spOwpta1RyYW5zcGFyZW50Qm9yZGVyc0ZvcklFKHN0eWxlcy5i
bG9ja19ob3Zlcik7Cn07CnRoaXMucHJpbnRCbG9ja1N0eWxlPWZ1bmN0aW9uKGJs
b2NrX2lkLHN0eWxlcyxwYWQpewpzdHlsZXM9c3R5bGVzfHx7fTsKdmFyIHZhcnM9
e307CnZhciBibG9jaz1fdGhpcy5CbG9ja3MuZ2V0QmxvY2tCeUlkKGJsb2NrX2lk
LGZhbHNlLHBhZC5wYWRfaWQpOwp2YXJzLmJsb2NrX2lkPWJsb2NrX2lkfHwtMTsK
dmFycy5waG9uZV9tYXJnaW5fdG9wPTE7CnZhcnMucGhvbmVfbWFyZ2luX3RvcD1z
dHlsZXMuZG9tYWluJiZzdHlsZXMuZG9tYWluLmZvbnRTaXplP3N0eWxlcy5kb21h
aW4uZm9udFNpemUtOToxOwp2YXJzLmJsb2NrX2xvZ29fY29sb3I9dGhpcy5nZXRM
b2dvQ29sb3Ioc3R5bGVzLGJsb2NrX2lkKTsKcHJlcGFyZUNvbG9yU3R5bGVzKHN0
eWxlcyk7CmZvcih2YXIga2V5IGluIHN0eWxlcyl7CmlmKHN0eWxlc1trZXldJiZz
dHlsZXMuaGFzT3duUHJvcGVydHkmJnN0eWxlcy5oYXNPd25Qcm9wZXJ0eShrZXkp
KXsKZm9yKHZhciBrZXkyIGluIHN0eWxlc1trZXldKXsKaWYoc3R5bGVzW2tleV1b
a2V5Ml0mJnN0eWxlc1trZXldLmhhc093blByb3BlcnR5JiZzdHlsZXNba2V5XS5o
YXNPd25Qcm9wZXJ0eShrZXkyKSl7CnZhcnNba2V5Kyc6JytrZXkyXT10eXBlb2Yg
c3R5bGVzW2tleV1ba2V5Ml09PSdudW1iZXInP3N0eWxlc1trZXldW2tleTJdKydw
eCc6c3R5bGVzW2tleV1ba2V5Ml07Cn0KfQp9Cn0KdmFyIGNzc190ZXh0PShuZXcg
QmVndW4uVGVtcGxhdGUoX3RoaXMuVHBscy5nZXRDU1MoJ2Jsb2NrJykpKS5ldmFs
dWF0ZSh2YXJzKTsKY3NzX3RleHQrPShuZXcgQmVndW4uVGVtcGxhdGUoX3RoaXMu
VHBscy5nZXRDU1MoJ2Jsb2NrXycrYmxvY2sub3B0aW9ucy5kaW1lbnNpb25zLnR5
cGUudG9Mb3dlckNhc2UoKSkpKS5ldmFsdWF0ZSh2YXJzKTsKdmFyIGNzc190ZXh0
X2Zvcl9pZT0obmV3IEJlZ3VuLlRlbXBsYXRlKF90aGlzLlRwbHMuZ2V0Q1NTKCdm
b3JPcGVyYUlFJykpKS5ldmFsdWF0ZSh2YXJzKTsKaWYoQmVndW4uQnJvd3Nlci5J
RXx8QmVndW4uQnJvd3Nlci5PcGVyYSl7CmNzc190ZXh0Kz1jc3NfdGV4dF9mb3Jf
aWU7Cn0KaWYoYmxvY2tfaWQ9PUJMT0NLX0lEX1RPUF9NT0JJTEUpewpCZWd1bi5V
dGlscy5pbmNsdWRlU3R5bGUoY3NzX3RleHQsJ2FwcGVuZCcsJ2JlZ3VuLWJsb2Nr
LWNzcy0nK2Jsb2NrX2lkLHRvcCk7Cn1lbHNlewpCZWd1bi5VdGlscy5pbmNsdWRl
U3R5bGUoY3NzX3RleHQsJ2FwcGVuZCcsJ2JlZ3VuLWJsb2NrLWNzcy0nK2Jsb2Nr
X2lkKTsKfQp9Owp0aGlzLmlzRmVlZFN0YXJ0ZWQ9ZnVuY3Rpb24oKXsKcmV0dXJu
ISFfdGhpcy5nZXRQYWQoKS5mZWVkX3N0YXJ0ZWQ7Cn07CnRoaXMuc2V0RmVlZFN0
YXJ0ZWQ9ZnVuY3Rpb24oKXsKX3RoaXMuZ2V0UGFkKCkuZmVlZF9zdGFydGVkPXRy
dWU7Cn07CnRoaXMuZ2V0QmFubmVySW5kZXg9ZnVuY3Rpb24ocGFkX2lkLHNlY3Rp
b24sYmFubmVyX2lkKXsKaWYoIWJhbm5lcl9pZCl7CnJldHVybiBfdGhpcy5nZXRQ
YWQocGFkX2lkKS5iYW5uZXJfaW5kZXg7Cn1lbHNlewpzZWN0aW9uPXNlY3Rpb258
fCdhdXRvY29udGV4dCc7CnZhciBiYW5uZXJfaW5kZXg9MDsKd2hpbGUoYmFubmVy
PV90aGlzLmdldEJhbm5lcihzZWN0aW9uLGJhbm5lcl9pbmRleCxwYWRfaWQpKXsK
aWYoYmFubmVyLmJhbm5lcl9pZD09YmFubmVyX2lkKXsKcmV0dXJuIGJhbm5lcl9p
bmRleDsKfQpiYW5uZXJfaW5kZXgrKzsKfQp9Cn07CnRoaXMuc2V0QmFubmVySW5k
ZXg9ZnVuY3Rpb24oaW5kZXgscGFkX2lkKXsKX3RoaXMuZ2V0UGFkKHBhZF9pZCku
YmFubmVyX2luZGV4PWluZGV4Owp9Owp0aGlzLmluY0Jhbm5lckluZGV4PWZ1bmN0
aW9uKHBhZF9pZCl7Cl90aGlzLnNldEJhbm5lckluZGV4KF90aGlzLmdldEJhbm5l
ckluZGV4KHBhZF9pZCkrMSxwYWRfaWQpOwp9Owp0aGlzLnJlc2V0QmFubmVySW5k
ZXg9ZnVuY3Rpb24ocGFkX2lkKXsKX3RoaXMuc2V0QmFubmVySW5kZXgoMCxwYWRf
aWQpOwp9Owp0aGlzLnJlZ2lzdGVyU2hvd25CYW5uZXI9ZnVuY3Rpb24oc2hvd25C
YW5uZXIpewp2YXIgYmFubmVySWQ9c2hvd25CYW5uZXImJnNob3duQmFubmVyLmJh
bm5lcl9pZDsKaWYoIWJhbm5lcklkKXsKcmV0dXJuOwp9CmlmKCFfdGhpcy5iYW5u
ZXJzKXsKX3RoaXMuYmFubmVycz1bYmFubmVySWRdOwp9ZWxzZXsKX3RoaXMuYmFu
bmVycy5wdXNoKGJhbm5lcklkKTsKfQp9Owp0aGlzLmdldFNob3duQmFubmVycz1m
dW5jdGlvbigpewpyZXR1cm4gX3RoaXMuYmFubmVyczsKfTsKdGhpcy5nZXRQYWQ9
ZnVuY3Rpb24ocGFkX2lkKXsKcmV0dXJuIF90aGlzLlBhZHMuZ2V0UGFkKHBhZF9p
ZHx8d2luZG93LmJlZ3VuX2F1dG9fcGFkKTsKfTsKdGhpcy5nZXRGZWVkPWZ1bmN0
aW9uKHBhZF9pZCl7CnJldHVybiBfdGhpcy5nZXRQYWQocGFkX2lkKS5mZWVkOwp9
Owp0aGlzLmdldEJsb2NrPWZ1bmN0aW9uKGluZGV4LHBhZCl7CmlmKHR5cGVvZiBw
YWQ9PT0idW5kZWZpbmVkIil7CnBhZD1fdGhpcy5nZXRQYWQoKTsKfQp2YXIgcGFk
QmxvY2tzPXBhZC5ibG9ja3M7CmlmKHBhZEJsb2Nrcy5sZW5ndGg+aW5kZXgpewpy
ZXR1cm4gcGFkQmxvY2tzW2luZGV4XTsKfWVsc2V7CnJldHVybiBudWxsOwp9Cn07
CnRoaXMuZ2V0QmxvY2tzPWZ1bmN0aW9uKHBhZF9pZCl7CnZhciBibG9ja3M9W107
CmlmKHBhZF9pZCl7CmJsb2Nrcz1fdGhpcy5nZXRQYWQocGFkX2lkKS5ibG9ja3M7
Cn1lbHNlewp2YXIgcGFkcz1fdGhpcy5QYWRzLmdldFBhZHMoKTsKZm9yKHZhciBp
PTAsbD1wYWRzLmxlbmd0aDtpPGw7aSsrKXsKZm9yKHZhciBqPTAsbj1wYWRzW2ld
LmJsb2Nrcy5sZW5ndGg7ajxuO2orKyl7CmJsb2Nrcy5wdXNoKHBhZHNbaV0uYmxv
Y2tzW2pdKTsKfQp9Cn0KcmV0dXJuIGJsb2NrczsKfTsKdGhpcy5nZXRCYW5uZXI9
ZnVuY3Rpb24odHlwZSxpbmRleCxwYWRfaWQpewp0cnl7CnJldHVybiBfdGhpcy5n
ZXRQYWQocGFkX2lkKS5mZWVkLmJhbm5lcnNbdHlwZV1baW5kZXhdOwp9Y2F0Y2go
ZSl7CnJldHVybiBudWxsOwp9Cn07CnRoaXMuZ2V0QmFubmVycz1mdW5jdGlvbihw
YWRfaWQpewpyZXR1cm4gX3RoaXMuZ2V0RmVlZChwYWRfaWQpLmJhbm5lcnM7Cn07
CnRoaXMuZ2V0U3R1Yj1mdW5jdGlvbih0eXBlLHBhZF9pZCl7CnJldHVybiBfdGhp
cy5nZXRGZWVkKHBhZF9pZCkuc3R1YnNbdHlwZV18fG51bGw7Cn07CnRoaXMuZ2V0
UmljaFBpY3R1cmVTcmM9ZnVuY3Rpb24oYmFubmVyKXsKdmFyIGJhbm5lcl9pZD1i
YW5uZXIuYmFubmVyX2lkKycnOwppZihfdGhpcy5TdHJpbmdzLnVybHMucmljaF9w
aWN0dXJlX2JpZyYmX3RoaXMuU3RyaW5ncy51cmxzLnJpY2hfcGljdHVyZV9zbWFs
bCYmYmFubmVyX2lkKXsKdmFyIHNtYWxsPShuZXcgQmVndW4uVGVtcGxhdGUoX3Ro
aXMuU3RyaW5ncy51cmxzLnJpY2hfcGljdHVyZV9zbWFsbCkpLmV2YWx1YXRlKHti
YW5uZXJfaWQ6YmFubmVyX2lkfSk7CnZhciBiaWc9KG5ldyBCZWd1bi5UZW1wbGF0
ZShfdGhpcy5TdHJpbmdzLnVybHMucmljaF9waWN0dXJlX2JpZykpLmV2YWx1YXRl
KHtiYW5uZXJfaWQ6YmFubmVyX2lkfSk7CnJldHVybnsKc21hbGw6c21hbGwsCmJp
ZzpiaWcKfTsKfQp2YXIgc3JjPV90aGlzLnJlc3BvbnNlUGFyYW1zWyd0aHVtYnNf
c3JjJ10/J2h0dHA6Ly8nK190aGlzLnJlc3BvbnNlUGFyYW1zWyd0aHVtYnNfc3Jj
J10rJy8nOl90aGlzLlN0cmluZ3MudXJscy50aHVtYnM7CnZhciBzdGNfczsKdmFy
IHNyY19iOwppZihiYW5uZXJfaWQmJmJhbm5lcl9pZC5sZW5ndGg+Myl7CnNyYys9
J3JpY2gvJzsKc3JjKz1iYW5uZXJfaWQuY2hhckF0KGJhbm5lcl9pZC5sZW5ndGgt
Mik7CnNyYys9Jy8nK2Jhbm5lcl9pZC5jaGFyQXQoYmFubmVyX2lkLmxlbmd0aC0x
KTsKc3JjKz0nLycrYmFubmVyX2lkOwpzcmNfcz1zcmMrJ3MnOwpzcmNfYj1zcmMr
J2InOwp9ZWxzZXsKc3JjX3M9X3RoaXMuU3RyaW5ncy51cmxzLmJsYW5rOwpzcmNf
Yj1zcmNfczsKfQppZihiYW5uZXIuaW1hZ2VzJiZiYW5uZXIuaW1hZ2VzLnJpY2hw
cmV2aWV3KXsKc3JjX3M9YmFubmVyLmltYWdlcy5yaWNocHJldmlldzsKfQppZihi
YW5uZXIuaW1hZ2VzJiZiYW5uZXIuaW1hZ2VzLnJpY2gpewpzcmNfYj1iYW5uZXIu
aW1hZ2VzLnJpY2g7Cn0KcmV0dXJuewpzbWFsbDpzcmNfcywKYmlnOnNyY19iCn07
Cn07CnRoaXMuZ2V0VGh1bWJTcmM9ZnVuY3Rpb24oYmFubmVyLGZha2Upewp2YXIg
c3JjPV90aGlzLnJlc3BvbnNlUGFyYW1zWyd0aHVtYnNfc3JjJ10/J2h0dHA6Ly8n
K190aGlzLnJlc3BvbnNlUGFyYW1zWyd0aHVtYnNfc3JjJ10rJy8nOl90aGlzLlN0
cmluZ3MudXJscy50aHVtYnM7CnZhciBiYW5uZXJfaWQ9YmFubmVyLmJhbm5lcl9p
ZCsnJzsKaWYoYmFubmVyX2lkJiZiYW5uZXJfaWQubGVuZ3RoPjMpewp2YXIgdGhl
bWF0aWM9YmFubmVyLnRoZW1hdGljcz8oYmFubmVyLnRoZW1hdGljcy5zcGxpdCgn
LCcpWzBdKycnKTonMSc7CnNyYys9YmFubmVyX2lkLmNoYXJBdChiYW5uZXJfaWQu
bGVuZ3RoLTIpOwpzcmMrPScvJytiYW5uZXJfaWQuY2hhckF0KGJhbm5lcl9pZC5s
ZW5ndGgtMSk7CnNyYys9Jy8nK2Jhbm5lcl9pZCsnLmpwZyc7CnNyYys9Jz90PScr
dGhlbWF0aWMrJyZyPScrYmFubmVyX2lkLmNoYXJBdChiYW5uZXJfaWQubGVuZ3Ro
LTMpOwp9ZWxzZXsKc3JjPXNyYysnZW1wdHkuanBnJzsKfQppZihiYW5uZXIuaW1h
Z2VzJiZiYW5uZXIuaW1hZ2VzLnRoZW1hdGljKXsKc3JjPWJhbm5lci5pbWFnZXMu
dGhlbWF0aWM7Cn0KaWYoQmVndW4uQnJvd3Nlci5JRSYmQmVndW4uQnJvd3Nlci52
ZXJzaW9uKCk8PTYmJmZha2UpewpzcmM9X3RoaXMuU3RyaW5ncy51cmxzLmJsYW5r
Owp9CnJldHVybiBzcmM7Cn07CnRoaXMuZ2V0RmF2aWNvblNyYz1mdW5jdGlvbihi
YW5uZXIpewp2YXIgc3JjPV90aGlzLnJlc3BvbnNlUGFyYW1zWyd0aHVtYnNfc3Jj
J10/J2h0dHA6Ly8nK190aGlzLnJlc3BvbnNlUGFyYW1zWyd0aHVtYnNfc3JjJ10r
Jy8nOl90aGlzLlN0cmluZ3MudXJscy50aHVtYnM7CnZhciBiYW5uZXJfaWQ9YmFu
bmVyLmJhbm5lcl9pZCsnJzsKaWYoYmFubmVyX2lkJiZiYW5uZXJfaWQubGVuZ3Ro
PjMpewpzcmMrPSdmYXZpY29uLyc7CnNyYys9YmFubmVyX2lkLmNoYXJBdChiYW5u
ZXJfaWQubGVuZ3RoLTIpOwpzcmMrPScvJytiYW5uZXJfaWQuY2hhckF0KGJhbm5l
cl9pZC5sZW5ndGgtMSk7CnNyYys9Jy8nK2Jhbm5lcl9pZCsnLmpwZyc7Cn1lbHNl
ewpzcmM9X3RoaXMuU3RyaW5ncy51cmxzLmJsYW5rOwp9CmlmKGJhbm5lci5pbWFn
ZXMmJmJhbm5lci5pbWFnZXMuZmF2aWNvbil7CnNyYz1iYW5uZXIuaW1hZ2VzLmZh
dmljb247Cn0KcmV0dXJuIHNyYzsKfTsKdGhpcy5nZXRCYW5uZXJDb250YWN0cz1m
dW5jdGlvbihiYW5uZXIsYmxvY2ssZnVsbERvbWFpbixwYWRfaWQsc2VjdGlvbixi
YW5uZXJfaWQpewp2YXIgcmVzdWx0PXRoaXMuZ2V0QmFubmVyQ2FyZFBQY2FsbERh
dGEoYmFubmVyLGJsb2NrLHBhZF9pZCxzZWN0aW9uLGJhbm5lcl9pZCk7CnZhciBi
YW5uZXJfY29udGFjdHNfbmFtZXM9cmVzdWx0LmlzX3VybF9leGlzdD9bJ2RvbWFp
bicsJ2dlbyddOlsnZ2VvJ107CnJldHVybiByZXN1bHQuYmFubmVyX2NvbnRhY3Rz
LmNvbmNhdCh0aGlzLmdldEJhbm5lckRvbWFpbkdlb0hUTUwoYmFubmVyLGJsb2Nr
LGJhbm5lcl9jb250YWN0c19uYW1lcyxmdWxsRG9tYWluKSk7Cn07CnRoaXMuZ2V0
QmFubmVyQ2FyZFBQY2FsbERhdGE9ZnVuY3Rpb24oYmFubmVyLGJsb2NrLHBhZF9p
ZCxzZWN0aW9uLGJhbm5lcl9pZCl7CnZhciBiYW5uZXJfY29udGFjdHM9W107CnZh
ciBpc191cmxfZXhpc3Q9dHJ1ZTsKdmFyIGNhcmRzX21vZGU9YmFubmVyWydjYXJk
c19tb2RlJ107CnZhciBpc19wcGNhbGw9YmFubmVyWydwcGNhbGwnXTsKdmFyIHZh
cnM9e307CmZ1bmN0aW9uIF9jYXJkKHVzZV9waG9uZSl7CnZhcnMuY2FyZF90ZXh0
PV90aGlzLlN0cmluZ3MuY29udGFjdHMuY2FyZDsKdmFycy51cmw9X3RoaXMuYWRk
TWlzYzJVUkwoYmxvY2sub3B0aW9ucy5taXNjX2lkLGJhbm5lci5jYXJkKTsKdmFy
cy5waG9uZT11c2VfcGhvbmU/KG5ldyBCZWd1bi5UZW1wbGF0ZShfdGhpcy5UcGxz
LmdldEhUTUwoJ2JubnJfcGhvbmUnKSkpLmV2YWx1YXRlKHZhcnMpOicnOwp2YXJz
Lm5vX3Bob25lX2NsYXNzPXVzZV9waG9uZT8nJzonYmVndW5fYWR2X3Bob25lX25v
X2ljb24nOwpiYW5uZXJfY29udGFjdHMucHVzaCgobmV3IEJlZ3VuLlRlbXBsYXRl
KF90aGlzLlRwbHMuZ2V0SFRNTCgnYm5ucl9jYXJkJykpKS5ldmFsdWF0ZSh2YXJz
KSk7Cn0KZnVuY3Rpb24gX3BwY2FsbCh1c2VfcGhvbmUpewp2YXJzLnBwY2FsbF90
ZXh0PV90aGlzLlN0cmluZ3MuY29udGFjdHMucHBjYWxsOwp2YXJzLmJhbm5lcl9p
bmRleD1fdGhpcy5nZXRCYW5uZXJJbmRleChwYWRfaWQsc2VjdGlvbixiYW5uZXJf
aWQpOwp2YXJzLnBhZF9pZD13aW5kb3cuYmVndW5fYXV0b19wYWR8fCcnOwp2YXJz
LnBob25lPXVzZV9waG9uZT8obmV3IEJlZ3VuLlRlbXBsYXRlKF90aGlzLlRwbHMu
Z2V0SFRNTCgnYm5ucl9waG9uZScpKSkuZXZhbHVhdGUodmFycyk6Jyc7CnZhcnMu
bGluaz1iYW5uZXIucHBjYWxsX2Zvcm0/YmFubmVyLnBwY2FsbF9mb3JtOicnOwp2
YXJzLmlzX21vYmlsZT1fdGhpcy5nZXRGZWVkKHBhZF9pZCkucGFyYW1zLmlzX21v
YmlsZTsKYmFubmVyX2NvbnRhY3RzLnB1c2goKG5ldyBCZWd1bi5UZW1wbGF0ZShf
dGhpcy5UcGxzLmdldEhUTUwoJ2JubnJfcHBjYWxsJykpKS5ldmFsdWF0ZSh2YXJz
KSk7Cn0KaWYoY2FyZHNfbW9kZT09J0NhcmQnJiZpc19wcGNhbGw9PWZhbHNlKXsK
X2NhcmQodHJ1ZSk7CmlzX3VybF9leGlzdD1mYWxzZTsKfWVsc2UgaWYoY2FyZHNf
bW9kZT09J0NhcmQnJiZpc19wcGNhbGw9PXRydWUpewpfcHBjYWxsKHRydWUpOwpf
Y2FyZChmYWxzZSk7CmlzX3VybF9leGlzdD1mYWxzZTsKfWVsc2UgaWYoY2FyZHNf
bW9kZT09J1VybCcmJmlzX3BwY2FsbD09ZmFsc2UpewoKfWVsc2UgaWYoY2FyZHNf
bW9kZT09J1VybCcmJmlzX3BwY2FsbD09dHJ1ZSl7Cl9wcGNhbGwodHJ1ZSk7Cn1l
bHNlIGlmKGNhcmRzX21vZGU9PSdDYXJkLCBVcmwnJiZpc19wcGNhbGw9PWZhbHNl
KXsKX2NhcmQodHJ1ZSk7Cn1lbHNlIGlmKGNhcmRzX21vZGU9PSdDYXJkLCBVcmwn
JiZpc19wcGNhbGw9PXRydWUpewpfcHBjYWxsKHRydWUpOwpfY2FyZChmYWxzZSk7
Cn0KcmV0dXJuewpiYW5uZXJfY29udGFjdHM6YmFubmVyX2NvbnRhY3RzLAppc191
cmxfZXhpc3Q6aXNfdXJsX2V4aXN0Cn07Cn07CnRoaXMuZ2V0QmFubmVyRG9tYWlu
R2VvSFRNTD1mdW5jdGlvbihiYW5uZXIsYmxvY2ssYmFubmVyX2NvbnRhY3RzX25h
bWVzLGZ1bGxEb21haW4pewp2YXIgYmFubmVyX2NvbnRhY3RzPVtdOwp2YXIgaT0w
Owp2YXIgYmFubmVyX2NvbnRhY3RzX25hbWU9bnVsbDsKdmFyIHZhcnM9e307Cndo
aWxlKGJhbm5lcl9jb250YWN0c19uYW1lPWJhbm5lcl9jb250YWN0c19uYW1lc1tp
XSl7CnZhcnNbYmFubmVyX2NvbnRhY3RzX25hbWVdPWJhbm5lcltiYW5uZXJfY29u
dGFjdHNfbmFtZV07CnZhcnMuc3RhdHVzPWJhbm5lci5zdGF0dXM7CnZhcnMudXJs
PV90aGlzLmFkZE1pc2MyVVJMKGJsb2NrLm9wdGlvbnMubWlzY19pZCxiYW5uZXIu
dXJsKTsKdmFycy5mdWxsRG9tYWluPWZ1bGxEb21haW47CmlmKHZhcnNbYmFubmVy
X2NvbnRhY3RzX25hbWVdKXsKYmFubmVyX2NvbnRhY3RzLnB1c2goKG5ldyBCZWd1
bi5UZW1wbGF0ZShfdGhpcy5UcGxzLmdldEhUTUwoJ2JubnJfJytiYW5uZXJfY29u
dGFjdHNfbmFtZSkpKS5ldmFsdWF0ZSh2YXJzKSk7Cn0KaSsrOwp9CnJldHVybiBi
YW5uZXJfY29udGFjdHM7Cn07CnRoaXMuYWRkTWlzYzJVUkw9ZnVuY3Rpb24obWlz
Y19pZCx1cmwpewpyZXR1cm4obWlzY19pZD4wP3VybCsnJm1pc2MyPScrKE51bWJl
cihtaXNjX2lkKTw8OCk6dXJsKTsKfTsKdGhpcy5jbGlja0Jhbm5lcj1mdW5jdGlv
bihjbGlja19ldmVudCxvcmlnX2VsZW0pewpjbGlja19ldmVudD1jbGlja19ldmVu
dHx8d2luZG93LmV2ZW50OwppZihjbGlja19ldmVudC5kb25lKXsKcmV0dXJuOwp9
CnZhciBjdXJyX2VsZW09Y2xpY2tfZXZlbnQudGFyZ2V0fHxjbGlja19ldmVudC5z
cmNFbGVtZW50Owp2YXIgaXNJbnNpZGVUYWc9ZnVuY3Rpb24oY2hpbGRfZWxlbSxw
YXJlbnRfdGFnKXsKdmFyIGNoaWxkX2VsZW1fcGFyZW50PWNoaWxkX2VsZW07CmRv
ewppZihjaGlsZF9lbGVtX3BhcmVudC50YWdOYW1lJiZjaGlsZF9lbGVtX3BhcmVu
dC50YWdOYW1lLnRvVXBwZXJDYXNlKCk9PXBhcmVudF90YWcudG9VcHBlckNhc2Uo
KSl7CnJldHVybiB0cnVlOwp9Cn13aGlsZShjaGlsZF9lbGVtX3BhcmVudD1jaGls
ZF9lbGVtX3BhcmVudC5wYXJlbnROb2RlKTsKcmV0dXJuIGZhbHNlOwp9OwppZihj
dXJyX2VsZW0udGFnTmFtZS50b1VwcGVyQ2FzZSgpPT0nQSd8fGlzSW5zaWRlVGFn
KGN1cnJfZWxlbSwnQScpKXsKY2xpY2tfZXZlbnQuZG9uZT10cnVlOwpfdGhpcy5D
YWxsYmFja3MuZGlzcGF0Y2goJ2Jhbm5lcicsJ2NsaWNrJyxjdXJyX2VsZW0pOwpp
Zih0aGlzLmlzRXZlbnRUcmFja2luZ09uKCkpewpfdGhpcy5jbGlja0hhbmRsZXIo
b3JpZ19lbGVtKS5hcHBseShfdGhpcyk7Cn0KfWVsc2UgaWYob3JpZ19lbGVtLmdl
dEF0dHJpYnV0ZSgnX3VybCcpKXsKdmFyIGFueUxpbms9Y3Vycl9lbGVtLmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJhIilbMF07CmlmKGFueUxpbmsmJnR5cGVvZiBhbnlM
aW5rLmNsaWNrIT09InVuZGVmaW5lZCIpewppZih0eXBlb2YgY2xpY2tfZXZlbnQu
cHJldmVudERlZmF1bHQhPT0idW5kZWZpbmVkIil7CmNsaWNrX2V2ZW50LnByZXZl
bnREZWZhdWx0KCk7Cn1lbHNlewpjbGlja19ldmVudC5yZXR1cm5WYWx1ZT1mYWxz
ZTsKfQppZih0eXBlb2YgY2xpY2tfZXZlbnQuc3RvcFByb3BhZ2F0aW9uIT09InVu
ZGVmaW5lZCIpewpjbGlja19ldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKfWVsc2V7
CmNsaWNrX2V2ZW50LmNhbmNlbEJ1YmJsZT10cnVlOwp9CmFueUxpbmsuY2xpY2so
KTsKfWVsc2V7Cl90aGlzLkNhbGxiYWNrcy5kaXNwYXRjaCgnYmFubmVyJywnY2xp
Y2snLGN1cnJfZWxlbSk7CmlmKHRoaXMuaXNFdmVudFRyYWNraW5nT24oKSl7Cl90
aGlzLmNsaWNrSGFuZGxlcihvcmlnX2VsZW0pLmFwcGx5KF90aGlzKTsKfQp3aW5k
b3cub3BlbihvcmlnX2VsZW0uZ2V0QXR0cmlidXRlKCdfdXJsJykpOwp9Cn0KfTsK
dGhpcy5nZXRCYW5uZXJIVE1MPWZ1bmN0aW9uKGJhbm5lcixibG9jayxibG9ja19i
YW5uZXJfY291bnQpewp2YXIgQkFOTkVSX1NIT1JUX1BBUlRfTEVOR1RIPTEzOwpm
dW5jdGlvbiBwcmVwYXJlQmFubmVyTW9kZShiYW5uZXIpewpiYW5uZXI9YmFubmVy
fHx7fTsKdmFyIHBvc3NpYmxlX2NhcmRzX21vZGVzPVsnQ2FyZCwgVXJsJywnQ2Fy
ZCcsJ1VybCddOwppZigoIWJhbm5lclsnY2FyZHNfbW9kZSddKXx8IUJlZ3VuLlV0
aWxzLmluX2FycmF5KHBvc3NpYmxlX2NhcmRzX21vZGVzLGJhbm5lclsnY2FyZHNf
bW9kZSddKSl7CmJhbm5lclsnY2FyZHNfbW9kZSddPSdDYXJkLCBVcmwnOwp9Cmlm
KCFiYW5uZXJbJ3VybCddJiYhYmFubmVyWydjYXJkJ10pewpyZXR1cm57fTsKfQpp
ZighYmFubmVyWyd1cmwnXSYmYmFubmVyWydjYXJkJ10pewpiYW5uZXJbJ2NhcmRz
X21vZGUnXT0nQ2FyZCc7Cn0KaWYoYmFubmVyWyd1cmwnXSYmIWJhbm5lclsnY2Fy
ZCddKXsKYmFubmVyWydjYXJkc19tb2RlJ109J1VybCc7Cn0KaWYoYmFubmVyWydj
YXJkc19tb2RlJ109PSdDYXJkJyl7CmJhbm5lclsndXJsJ109YmFubmVyWydjYXJk
J107Cn0KcmV0dXJuIGJhbm5lcjsKfQoKYmFubmVyPXByZXBhcmVCYW5uZXJNb2Rl
KGJhbm5lcik7CmlmKGJhbm5lcil7CmlmKGJhbm5lci5kb21haW4pewpiYW5uZXIu
ZG9tYWluPWJhbm5lci5kb21haW4ucmVwbGFjZSgvJnNoeTsvZywnJyk7CmJhbm5l
ci5mdWxsRG9tYWluPWJhbm5lci5kb21haW47CmlmKGJhbm5lci5kb21haW4ubWF0
Y2goLyYjeDQyNjsmI3g0MzU7JiN4NDNkOyYjeDQzMDs6IC8pKXsKYmFubmVyLnN0
YXR1cz1iYW5uZXIuZG9tYWluOwp9ZWxzZXsKYmFubmVyLnN0YXR1cz0naHR0cDov
LycrYmFubmVyLmRvbWFpbisnLyc7CmlmKGJhbm5lci5kb21haW4ubGVuZ3RoPjIq
QkFOTkVSX1NIT1JUX1BBUlRfTEVOR1RIKzMpewpiYW5uZXIuZG9tYWluPWJhbm5l
ci5kb21haW4uc3Vic3RyaW5nKDAsQkFOTkVSX1NIT1JUX1BBUlRfTEVOR1RIKQor
JyZoZWxsaXA7JytiYW5uZXIuZG9tYWluLnNsaWNlKC1CQU5ORVJfU0hPUlRfUEFS
VF9MRU5HVEgpOwp9Cn0KfWVsc2V7CmJhbm5lci5mdWxsRG9tYWluPWJhbm5lci5k
b21haW49YmFubmVyLnN0YXR1cz0nJzsKfQpiYW5uZXIuZG9tYWluPWJhbm5lci5k
b21haW4ucmVwbGFjZSgvXC4vZywnLiZzaHk7Jyk7CnZhciBiYW5uZXJfY29udGFj
dHM9X3RoaXMuZ2V0QmFubmVyQ29udGFjdHMoYmFubmVyLGJsb2NrLGJhbm5lci5m
dWxsRG9tYWluKTsKdmFyIHZhcnM9e307CkJlZ3VuLmV4dGVuZCh2YXJzLGJhbm5l
cik7CmlmKGJsb2NrLm9wdGlvbnMudmlzdWFsLnRpdGxlJiZibG9jay5vcHRpb25z
LnZpc3VhbC50aXRsZS5kaXNwbGF5JiZibG9jay5vcHRpb25zLnZpc3VhbC50aXRs
ZS5kaXNwbGF5PT0ibm9uZSIpewp2YXJzLnN0eWxlVGl0bGU9IiBzdHlsZT1cImRp
c3BsYXk6IG5vbmVcIiI7Cn0KaWYoYmxvY2sub3B0aW9ucy52aXN1YWwudGV4dCYm
YmxvY2sub3B0aW9ucy52aXN1YWwudGV4dC5kaXNwbGF5JiZibG9jay5vcHRpb25z
LnZpc3VhbC50ZXh0LmRpc3BsYXk9PSJub25lIil7CnZhcnMuc3R5bGVUZXh0PSIg
c3R5bGU9XCJkaXNwbGF5OiBub25lXCIiOwp9CmlmKGJsb2NrLm9wdGlvbnMudmlz
dWFsLmNvbnRhY3QmJmJsb2NrLm9wdGlvbnMudmlzdWFsLmNvbnRhY3QuZGlzcGxh
eSYmYmxvY2sub3B0aW9ucy52aXN1YWwuY29udGFjdC5kaXNwbGF5PT0ibm9uZSIp
ewp2YXJzLnN0eWxlQ29udGFjdD0iIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIjsK
fQp2YXJzLmNvbnRhY3Q9YmFubmVyX2NvbnRhY3RzLmpvaW4oX3RoaXMuVHBscy5n
ZXRIVE1MKCdibm5yX2dsdWUnKSk7CnZhcnMudXJsPV90aGlzLmFkZE1pc2MyVVJM
KGJsb2NrLm9wdGlvbnMubWlzY19pZCxiYW5uZXIudXJsKTsKdmFycy5vbmNsaWNr
PV90aGlzLlN0cmluZ3MuanMuYmFubmVyX29uY2xpY2s7CnZhcnMuYmxvY2tfaWQ9
YmxvY2suaWQ7CnZhcnMuYmFubmVyX2lkPWJhbm5lci5iYW5uZXJfaWQ7CnZhcnMu
aWQ9YmxvY2tfYmFubmVyX2NvdW50fHwwOwp2YXJzLmRlc2NyPXZhcnMuZGVzY3Iu
cmVwbGFjZSgvKFwsfFwufFw/fFwhfFw6KShcU1xEKS9nLCckMSAkMicpOwp2YXJz
LmJhbm5lcl93aWR0aD1NYXRoLnJvdW5kKDEwMC9OdW1iZXIoX3RoaXMuZ2V0QWN0
dWFsQmxvY2tCYW5uZXJzQ291bnQoYmxvY2spKSkrJyUnOwppZihfdGhpcy5CbG9j
a3MuY2hlY2tUeXBlKGJsb2NrLCdzcXVhcmUnKSYmYmxvY2sub3B0aW9ucy5qc29u
JiZibG9jay5vcHRpb25zLmpzb24uY29sKXsKdmFycy5iYW5uZXJfd2lkdGg9TWF0
aC5yb3VuZCgxMDAvTnVtYmVyKGJsb2NrLm9wdGlvbnMuanNvbi5jb2wpKSsnJSc7
Cn0KdmFycy5ibm5yX2FsY289X3RoaXMuY2hlY2tCYW5uZXJWaWV3VHlwZShiYW5u
ZXIsJ2FsY28nKT8obmV3IEJlZ3VuLlRlbXBsYXRlKF90aGlzLlRwbHMuZ2V0SFRN
TCgnYm5ucl9hbGNvX2F0dG4nKSkpLmV2YWx1YXRlKHt9KTonJzsKdmFyIGlzX3Vz
ZV9yaWNoPScnOwoKdmFycy5jc3NfZmF2aWNvbj1OdW1iZXIoYmxvY2sub3B0aW9u
cy5zaG93X2Zhdmljb25zKT9fdGhpcy5TdHJpbmdzLmNzcy5mYXZpY29uOicnOwp2
YXJzLmZhdmljb249TnVtYmVyKGJsb2NrLm9wdGlvbnMuc2hvd19mYXZpY29ucyk/
J3N0eWxlPSJ6b29tOjE7YmFja2dyb3VuZC1pbWFnZTp1cmwoJytfdGhpcy5nZXRG
YXZpY29uU3JjKGJhbm5lcikrJykgIWltcG9ydGFudDtiYWNrZ3JvdW5kLXJlcGVh
dDpuby1yZXBlYXQgIWltcG9ydGFudDsiJzonJzsKdmFycy50aHVtYj0nJzsKdmFy
cy5waWN0dXJlPScnOwp2YXIgZ2V0VGh1bWJBZGRpdGlvbmFsU3R5bGVzPWZ1bmN0
aW9uKCl7CnZhciBERUZBVUxUX1NUWUxFPSIgbWFyZ2luOiA4cHggYXV0byA1cHgg
N3B4ICFpbXBvcnRhbnQ7IjsKaWYoIWJsb2NrLm9wdGlvbnMudmlzdWFsLnRodW1i
U3R5bGVzKXsKcmV0dXJuIERFRkFVTFRfU1RZTEU7Cn0KdmFyIHN0eWxlU3RyaW5n
PSIgIjsKZm9yKHZpc3VhbFBhcmFtIGluIGJsb2NrLm9wdGlvbnMudmlzdWFsLnRo
dW1iU3R5bGVzKXsKaWYoYmxvY2sub3B0aW9ucy52aXN1YWwudGh1bWJTdHlsZXMu
aGFzT3duUHJvcGVydHkodmlzdWFsUGFyYW0pKXsKc3R5bGVTdHJpbmcrPXZpc3Vh
bFBhcmFtKyI6IitibG9jay5vcHRpb25zLnZpc3VhbC50aHVtYlN0eWxlc1t2aXN1
YWxQYXJhbV0rIiAhaW1wb3J0YW50OyI7Cn0KfQppZihzdHlsZVN0cmluZz09PSIi
KXsKc3R5bGVTdHJpbmc9REVGQVVMVF9TVFlMRTsKfQpyZXR1cm4gc3R5bGVTdHJp
bmc7Cn07CmlmKCF2YXJzLmZhdmljb24pewppZihfdGhpcy5jaGVja0Jhbm5lclZp
ZXdUeXBlKGJhbm5lciwncmljaCcpKXsKdmFyIHBpY3R1cmVzPV90aGlzLmdldFJp
Y2hQaWN0dXJlU3JjKGJhbm5lcik7CnZhcnMucGljdHVyZT0obmV3IEJlZ3VuLlRl
bXBsYXRlKF90aGlzLlRwbHMuZ2V0SFRNTCgnYm5ucl9waWN0dXJlJykpKS5ldmFs
dWF0ZSh7c3JjOnBpY3R1cmVzLnNtYWxsLGJpZ19waG90b19zcmM6cGljdHVyZXMu
YmlnLHVybDpiYW5uZXIudXJsfSk7CnZhciBpc191c2VfcmljaD0nX3JpY2gnOwp9
ZWxzZXsKdmFycy50aHVtYj1OdW1iZXIoYmxvY2sub3B0aW9ucy5zaG93X3RodW1i
bmFpbHMpPyhuZXcgQmVndW4uVGVtcGxhdGUoX3RoaXMuVHBscy5nZXRIVE1MKCdi
bm5yX3RodW1iJykpKS5ldmFsdWF0ZSh7CnVybDpiYW5uZXIudXJsLApzcmM6X3Ro
aXMuZ2V0VGh1bWJTcmMoYmFubmVyLHRydWUpLApiZ2NvbG9yOl90aGlzLlRodW1i
cy5nZXRUeXBlKCk9PSdjbGFzc2ljJz8oKHR5cGVvZiBibG9jay5vcHRpb25zLnZp
c3VhbC50aHVtYiE9J3VuZGVmaW5lZCcpP2Jsb2NrLm9wdGlvbnMudmlzdWFsLnRo
dW1iLmJhY2tncm91bmRDb2xvcjpfdGhpcy5TdHJpbmdzLmNzcy50aHVtYl9kZWZf
Y29sb3IpOid0cmFuc3BhcmVudCcsCndpZHRoOl90aGlzLlRodW1icy5nZXREaW1l
bnRpb25zKF90aGlzLlRodW1icy5nZXRUeXBlKCkpLndpZHRoLApoZWlnaHQ6X3Ro
aXMuVGh1bWJzLmdldERpbWVudGlvbnMoX3RoaXMuVGh1bWJzLmdldFR5cGUoKSku
aGVpZ2h0LApwbmdmaXg6KEJlZ3VuLkJyb3dzZXIuSUUmJkJlZ3VuLkJyb3dzZXIu
dmVyc2lvbigpPD02KT8nc3R5bGU9ImZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5z
Zm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9XCcnK190aGlzLmdl
dFRodW1iU3JjKGJhbm5lcixmYWxzZSkrJ1wnLCBzaXppbmdNZXRob2Q9XCdpbWFn
ZVwnKTsiJzonJywKYWRkaXRpb25hbFN0eWxlczpnZXRUaHVtYkFkZGl0aW9uYWxT
dHlsZXMoKSwKbW91c2VfZXZlbnRzOl90aGlzLlRodW1icy5nZXRUeXBlKCk9PSdj
bGFzc2ljJz8nb25tb3VzZW92ZXI9InRoaXMuc3R5bGUuYmFja2dyb3VuZCA9IFwn
JysoKHR5cGVvZiBibG9jay5vcHRpb25zLnZpc3VhbC50aHVtYl9ob3ZlciE9J3Vu
ZGVmaW5lZCcpP2Jsb2NrLm9wdGlvbnMudmlzdWFsLnRodW1iX2hvdmVyLmJhY2tn
cm91bmRDb2xvcjpfdGhpcy5TdHJpbmdzLmNzcy50aHVtYl9kZWZfY29sb3JfaG92
ZXIpKydcJyIgb25tb3VzZW91dD0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kID0gXCcn
KygodHlwZW9mIGJsb2NrLm9wdGlvbnMudmlzdWFsLnRodW1iIT0ndW5kZWZpbmVk
Jyk/YmxvY2sub3B0aW9ucy52aXN1YWwudGh1bWIuYmFja2dyb3VuZENvbG9yOl90
aGlzLlN0cmluZ3MuY3NzLnRodW1iX2RlZl9jb2xvcikrJ1wnIic6JycKfSk6Jyc7
CnZhcnMucGljdHVyZT12YXJzLnRodW1iOwp9Cn0KdmFyIGlzX3VzZV9hY2NvcmRp
b249TnVtYmVyKGJsb2NrLm9wdGlvbnMudXNlX2FjY29yZGlvbik/J191c2VfYWNj
b3JkaW9uJzonJzsKcmV0dXJuKG5ldyBCZWd1bi5UZW1wbGF0ZShfdGhpcy5UcGxz
LmdldEhUTUwoJ2Jhbm5lcl8nK2Jsb2NrLm9wdGlvbnMuZGltZW5zaW9ucy50eXBl
LnRvTG93ZXJDYXNlKCkraXNfdXNlX3JpY2graXNfdXNlX2FjY29yZGlvbikpKS5l
dmFsdWF0ZSh2YXJzKTsKfWVsc2V7CnJldHVybicnOwp9Cn07CnRoaXMuY2hlY2tC
YW5uZXJWaWV3VHlwZT1mdW5jdGlvbihiYW5uZXIsdmlld3R5cGUpewpyZXR1cm4g
QmVndW4uVXRpbHMuaW5MaXN0KGJhbm5lci52aWV3X3R5cGUsdmlld3R5cGUpOwp9
Owp0aGlzLmdldFRhYmxlV2l0aEFkcz1mdW5jdGlvbihibG9ja0lkKXsKdmFyIGdl
dFNpbmdsZVRhYmxlPWZ1bmN0aW9uKGlkKXsKdmFyIGVsZW1lbnQ9X3RoaXMuQmxv
Y2tzLmdldERvbU9iaihpZCk7CmlmKCFlbGVtZW50KXsKcmV0dXJuIHVuZGVmaW5l
ZDsKfQp2YXIgdGFibGVzPWVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRh
YmxlIik7CmZvcih2YXIgaT0wO2k8dGFibGVzLmxlbmd0aDtpKyspewppZih0YWJs
ZXNbaV0uY2xhc3NOYW1lJiZ0YWJsZXNbaV0uY2xhc3NOYW1lLmluZGV4T2YoImJl
Z3VuX2Fkdl90YWJsZSIpPi0xKXsKcmV0dXJuIHRhYmxlc1tpXTsKfQp9CnJldHVy
biB1bmRlZmluZWQ7Cn07CnN3aXRjaCh0eXBlb2YgYmxvY2tJZCl7CmNhc2UibnVt
YmVyIjoKY2FzZSJzdHJpbmciOgpyZXR1cm4gZ2V0U2luZ2xlVGFibGUoYmxvY2tJ
ZCk7CmRlZmF1bHQ6CnZhciBibG9ja3M9X3RoaXMuZ2V0QmxvY2tzKCk7CnZhciBy
ZXM9W107CmZvcih2YXIgaT0wO2k8YmxvY2tzLmxlbmd0aDtpKyspewp2YXIgdGJs
PWdldFNpbmdsZVRhYmxlKGJsb2Nrc1tpXS5pZCk7CmlmKHRibCl7CnJlcy5wdXNo
KHRibCk7Cn0KfQpyZXR1cm4ocmVzLmxlbmd0aD4wP3Jlczp1bmRlZmluZWQpOwp9
Cn07CnRoaXMudXBkYXRlVXJsUGFyYW1JblRkPWZ1bmN0aW9uKHRkLHBhcmFtLHZh
bHVlKXsKdmFyIHVwZGF0ZVBhcmFtSW5MaW5rPWZ1bmN0aW9uKGxpbmsscGFyYW0s
dmFsdWUpewp2YXIgaHJlZlRleHQ9bGluay5nZXRBdHRyaWJ1dGUoImhyZWYiKTsK
dmFyIGxpbmtDb250ZW50PWxpbmsuZmlyc3RDaGlsZC5ub2RlVmFsdWU7CmlmKGhy
ZWZUZXh0LmluZGV4T2YoJ2h0dHA6Ly8nKT09LTEmJmhyZWZUZXh0LmluZGV4T2Yo
J2h0dHBzOi8vJyk9PS0xKXsKcmV0dXJuIGZhbHNlOwp9CnZhciBuZXdIcmVmOwpp
ZihocmVmVGV4dC5pbmRleE9mKCI/Iik9PT0tMSl7CmhyZWZUZXh0PWhyZWZUZXh0
KyI/YWRkaW5nUGFyYW1zIjsKfQppZihocmVmVGV4dC5pbmRleE9mKCImIitwYXJh
bSsiPSIpPT09LTEpewpuZXdIcmVmPWhyZWZUZXh0KyImIitwYXJhbSsiPSIrdmFs
dWU7Cmxpbmsuc2V0QXR0cmlidXRlKCJocmVmIixuZXdIcmVmKTsKbGluay5maXJz
dENoaWxkLm5vZGVWYWx1ZT1saW5rQ29udGVudDsKdGQuc2V0QXR0cmlidXRlKCJf
dXJsIixuZXdIcmVmKTsKfWVsc2V7CnZhciBmaXJzdFBvc2l0aW9uPWhyZWZUZXh0
LmluZGV4T2YoIiYiK3BhcmFtKyI9IikrcGFyYW0ubGVuZ3RoKzE7CnZhciBsYXN0
UG9zaXRpb249aHJlZlRleHQuaW5kZXhPZigiJiIsZmlyc3RQb3NpdGlvbisxKTsK
aWYobGFzdFBvc2l0aW9uPT09LTEpewpuZXdIcmVmPWhyZWZUZXh0LnN1YnN0cmlu
ZygwLGZpcnN0UG9zaXRpb24rMSkrdmFsdWU7Cmxpbmsuc2V0QXR0cmlidXRlKCJo
cmVmIixuZXdIcmVmKTsKbGluay5maXJzdENoaWxkLm5vZGVWYWx1ZT1saW5rQ29u
dGVudDsKdGQuc2V0QXR0cmlidXRlKCJfdXJsIixuZXdIcmVmKTsKfWVsc2V7Cm5l
d0hyZWY9aHJlZlRleHQuc3Vic3RyaW5nKDAsZmlyc3RQb3NpdGlvbisxKSt2YWx1
ZStocmVmVGV4dC5zbGljZShsYXN0UG9zaXRpb24pOwpsaW5rLnNldEF0dHJpYnV0
ZSgiaHJlZiIsbmV3SHJlZik7CmxpbmsuZmlyc3RDaGlsZC5ub2RlVmFsdWU9bGlu
a0NvbnRlbnQ7CnRkLnNldEF0dHJpYnV0ZSgiX3VybCIsbmV3SHJlZik7Cn0KfQp9
Owp2YXIgbGlua3NJblRkPXRkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIik7CmZv
cih2YXIgaT0wLGxlbj1saW5rc0luVGQubGVuZ3RoO2k8bGVuO2krKyl7CnVwZGF0
ZVBhcmFtSW5MaW5rKGxpbmtzSW5UZFtpXSxwYXJhbSx2YWx1ZSk7Cn0KfTsKdGhp
cy5nZXRCbG9ja0hUTUw9ZnVuY3Rpb24oYmFubmVyc19odG1sX2FycixibG9jayxw
YWQpewppZighYmFubmVyc19odG1sX2Fycil7CnJldHVybicnOwp9CnZhciBiYW5u
ZXJzX2h0bWw9YmFubmVyc19odG1sX2Fyci5qb2luKCcnKTsKdmFyIHN0dWJfZGlz
cGxheT1OdW1iZXIoX3RoaXMucmVzcG9uc2VQYXJhbXNbJ3N0dWInXSk/Jyc6J25v
bmUnOwppZihibG9jay5vcHRpb25zJiYodHlwZW9mIGJsb2NrLm9wdGlvbnMuanNv
biE9J3VuZGVmaW5lZCcpJiYodHlwZW9mIGJsb2NrLm9wdGlvbnMuanNvbi5zdHVi
IT0ndW5kZWZpbmVkJykpewpzdHViX2Rpc3BsYXk9TnVtYmVyKGJsb2NrLm9wdGlv
bnMuanNvbi5zdHViKT8nJzonbm9uZSc7Cn0KdmFyIGxvZ29fZGlzcGxheT0nJzsK
aWYoYmxvY2sub3B0aW9ucyYmKHR5cGVvZiBibG9jay5vcHRpb25zLmpzb24hPSd1
bmRlZmluZWQnKSYmKHR5cGVvZiBibG9jay5vcHRpb25zLmpzb24ubG9nbyE9J3Vu
ZGVmaW5lZCcpKXsKbG9nb19kaXNwbGF5PShOdW1iZXIoYmxvY2sub3B0aW9ucy5q
c29uLmxvZ28pKT8nJzonbm9uZSc7Cn0KdmFyIGV4dGVuZGVkX2Jsb2NrX2NsYXNz
PScnOwppZihzdHViX2Rpc3BsYXk9PSdub25lJyYmbG9nb19kaXNwbGF5PT0nbm9u
ZScpewpleHRlbmRlZF9ibG9ja19jbGFzcz0nYmVndW5fZXh0ZW5kZWRfYmxvY2sn
Owp9ZWxzZSBpZihzdHViX2Rpc3BsYXk9PSdub25lJyYmbG9nb19kaXNwbGF5PT0n
Jyl7CmV4dGVuZGVkX2Jsb2NrX2NsYXNzPSdiZWd1bl9leHRlbmRlZF9ibG9ja193
aXRoX2xvZ28nOwp9Cgp2YXIgdmFycz17fTsKdmFyIGJsb2NrX2hvdmVyX2h0bWw9
Jyc7CnZhciBibG9ja19vcHRzPWJsb2NrLm9wdGlvbnMudmlzdWFsfHx7fTsKaWYo
YmxvY2tfb3B0cy5ibG9jayYmYmxvY2tfb3B0cy5ibG9ja19ob3ZlciYmYmxvY2tf
b3B0cy5ibG9ja19ob3Zlci5iYWNrZ3JvdW5kQ29sb3ImJmJsb2NrX29wdHMuYmxv
Y2tfaG92ZXIuYm9yZGVyQ29sb3Ipewp2YXJzLmJnY29sb3Jfb3Zlcj1ibG9ja19v
cHRzLmJsb2NrX2hvdmVyLmJhY2tncm91bmRDb2xvcjsKdmFycy5icmRjb2xvcl9v
dmVyPWJsb2NrX29wdHMuYmxvY2tfaG92ZXIuYm9yZGVyQ29sb3I7CnZhcnMuYmdj
b2xvcl9vdXQ9YmxvY2tfb3B0cy5ibG9jay5iYWNrZ3JvdW5kQ29sb3J8fCd0cmFu
c3BhcmVudCc7CnZhcnMuYnJkY29sb3Jfb3V0PWJsb2NrX29wdHMuYmxvY2suYm9y
ZGVyQ29sb3J8fCd0cmFuc3BhcmVudCc7CnZhcnMuYmxvY2tfaWQ9YmxvY2suaWQ7
CmJsb2NrX2hvdmVyX2h0bWw9KG5ldyBCZWd1bi5UZW1wbGF0ZShfdGhpcy5UcGxz
LmdldEhUTUwoJ2JsY2tfaG92ZXInKSkpLmV2YWx1YXRlKHZhcnMpOwp9CnZhciBw
YWRfaWQ9cGFkLnBhZF9pZDsKdmFycz17CmJsb2NrX2lkOmJsb2NrLmlkLApibG9j
a19ob3ZlcjpibG9ja19ob3Zlcl9odG1sLApiYW5uZXJzOmJhbm5lcnNfaHRtbCwK
YmFubmVyc19jb3VudDpiYW5uZXJzX2h0bWxfYXJyLmxlbmd0aCwKCnNjcm9sbF9k
aXZfaWQ6X3RoaXMuU3RyaW5ncy5jc3Muc2Nyb2xsX2Rpdl9wcmVmaXgrYmxvY2su
aWQsCnNjcm9sbF90YWJsZV9pZDpfdGhpcy5TdHJpbmdzLmNzcy5zY3JvbGxfdGFi
bGVfcHJlZml4K2Jsb2NrLmlkLApibG9ja193aWR0aDpOdW1iZXIoYmxvY2sub3B0
aW9ucy5kaW1lbnNpb25zLndpZHRoKT9OdW1iZXIoYmxvY2sub3B0aW9ucy5kaW1l
bnNpb25zLndpZHRoKSsncHgnOicnLApibG9ja19zY3JvbGxfY2xhc3M6TnVtYmVy
KGJsb2NrLm9wdGlvbnMudXNlX3Njcm9sbCk/X3RoaXMuU3RyaW5ncy5jc3Muc2Ny
b2xsOicnLApiZWd1bl91cmw6X3RoaXMuU3RyaW5ncy51cmxzLmJlZ3VuLApiZWNv
bWVfcGFydG5lcl9kaXNwbGF5OnN0dWJfZGlzcGxheSwKYmVjb21lX3BhcnRuZXJf
dXJsOl90aGlzLmdldFN0dWIoJ2JlY29tZV9wYXJ0bmVyJyxwYWRfaWQpLApiZWNv
bWVfcGFydG5lcl90ZXh0Ol90aGlzLlN0cmluZ3Muc3R1YnMuYmVjb21lX3BhcnRu
ZXIsCnBsYWNlX2hlcmVfZGlzcGxheTpzdHViX2Rpc3BsYXksCnBsYWNlX2hlcmVf
dXJsOl90aGlzLmdldFN0dWIoJ3BsYWNlX2hlcmUnLHBhZF9pZCksCnBsYWNlX2hl
cmVfdGV4dDpfdGhpcy5TdHJpbmdzLnN0dWJzLnBsYWNlX2hlcmUsCmFsbF9iYW5u
ZXJzX2Rpc3BsYXk6c3R1Yl9kaXNwbGF5LAphbGxfYmFubmVyc191cmw6X3RoaXMu
Z2V0U3R1YignYWxsX2Jhbm5lcnMnLHBhZF9pZCksCmFsbF9iYW5uZXJzX3RleHQ6
X3RoaXMuU3RyaW5ncy5zdHVicy5hbGxfYmFubmVycywKY3NzX3RodW1ibmFpbHM6
TnVtYmVyKGJsb2NrLm9wdGlvbnMuc2hvd190aHVtYm5haWxzKSYmIU51bWJlcihi
bG9jay5vcHRpb25zLnNob3dfZmF2aWNvbnMpP190aGlzLlN0cmluZ3MuY3NzLnRo
dW1iKycgJysoX3RoaXMuVGh1bWJzLmdldFR5cGUoKT09J2NsYXNzaWMnP190aGlz
LlN0cmluZ3MuY3NzLnRodW1iX2NsYXNzaWM6X3RoaXMuU3RyaW5ncy5jc3MudGh1
bWJfZGVmYXVsdCk6JycsCmxvZ29fZGlzcGxheTpsb2dvX2Rpc3BsYXksCmV4dGVu
ZGVkX2Jsb2NrX2NsYXNzOmV4dGVuZGVkX2Jsb2NrX2NsYXNzLApibG9ja19hbGNv
OmJsb2NrLmlzX2FsY28/KG5ldyBCZWd1bi5UZW1wbGF0ZShfdGhpcy5UcGxzLmdl
dEhUTUwoJ2Jsb2NrX2FsY28nKSkpLmV2YWx1YXRlKHt9KTonJywKYmVndW5fYWxj
b19pZDpibG9jay5pc19hbGNvP190aGlzLlN0cmluZ3MuY3NzLmFsY29fcHJlZml4
K2Jsb2NrLmlkOicnLAp0cmFuc3BhcmVudF9ib3JkZXJzX2NsYXNzOihibG9ja19v
cHRzJiYoKGJsb2NrX29wdHMuYmxvY2smJmJsb2NrX29wdHMuYmxvY2sudHJhbnNw
YXJlbnRCb3JkZXJzKXx8KGJsb2NrX29wdHMuYmxvY2tfaG92ZXImJmJsb2NrX29w
dHMuYmxvY2tfaG92ZXIudHJhbnNwYXJlbnRCb3JkZXJzKSkpPyd0cmFuc3BhcmVu
dEJvcmRlcnMnOicnCn07CnZhciBpc191c2VfYWNjb3JkaW9uPU51bWJlcihibG9j
ay5vcHRpb25zLnVzZV9hY2NvcmRpb24pPydfdXNlX2FjY29yZGlvbic6Jyc7CnJl
dHVybihuZXcgQmVndW4uVGVtcGxhdGUoX3RoaXMuVHBscy5nZXRIVE1MKCdibG9j
a18nK2Jsb2NrLm9wdGlvbnMuZGltZW5zaW9ucy50eXBlLnRvTG93ZXJDYXNlKCkr
aXNfdXNlX2FjY29yZGlvbikpKS5ldmFsdWF0ZSh2YXJzKTsKfTsKdGhpcy5jbGlj
a0hhbmRsZXI9ZnVuY3Rpb24odGFyZ2V0VGQpewpyZXR1cm4gZnVuY3Rpb24oKXsK
dmFyIG5vd1RpbWU9KG5ldyBEYXRlKS52YWx1ZU9mKCk7CnRoaXMudXBkYXRlVXJs
UGFyYW1JblRkKHRhcmdldFRkLCJjbGlja190aW1lIixub3dUaW1lKTsKdGhpcy51
cGRhdGVVcmxQYXJhbUluVGQodGFyZ2V0VGQsImZyYW1lX2xldmVsIixfdGhpcy5y
ZXF1ZXN0UGFyYW1zLmZybV9sZXZlbCk7Cn07Cn07CnRoaXMucHJpbnRCbG9jaz1m
dW5jdGlvbihiYW5uZXJzX2h0bWwsYmxvY2sscGFkKXsKaWYoX3RoaXMuaXNPbGRC
bG9jaygpKXsKcmV0dXJuOwp9CmlmKGJhbm5lcnNfaHRtbC5sZW5ndGgpewp2YXIg
cmVnRXZlbnRzPWZ1bmN0aW9uKCl7CmlmKCFfdGhpcy5pc0V2ZW50VHJhY2tpbmdP
bigpKXsKcmV0dXJuIHVuZGVmaW5lZDsKfQp2YXIgbW91c2VPdmVySGFuZGxlcj1m
dW5jdGlvbih0YXJnZXRUZCl7CnJldHVybiBmdW5jdGlvbihlKXsKaWYoIWUpewp2
YXIgZT13aW5kb3cuZXZlbnQ7Cn0KdmFyIHJlbFRhcmdldD1lLnJlbGF0ZWRUYXJn
ZXR8fGUuZnJvbUVsZW1lbnQ7CmlmKHJlbFRhcmdldD09PXRhcmdldFRkKXsKcmV0
dXJuOwp9CnZhciB0ZEVsZW1lbnRzPXRhcmdldFRkLmdldEVsZW1lbnRzQnlUYWdO
YW1lKCIqIik7CmZvcih2YXIgaT0wO2k8dGRFbGVtZW50cy5sZW5ndGg7aSsrKXsK
aWYodGRFbGVtZW50c1tpXT09PXJlbFRhcmdldCl7CnJldHVybjsKfQp9CmlmKCFh
cmd1bWVudHMuY2FsbGVlLmNvdW50KXsKYXJndW1lbnRzLmNhbGxlZS5jb3VudD0x
Owp9CnZhciBub3dUaW1lPShuZXcgRGF0ZSkudmFsdWVPZigpOwpfdGhpcy51cGRh
dGVVcmxQYXJhbUluVGQodGFyZ2V0VGQsIm1vdXNlb3Zlcl90aW1lIixub3dUaW1l
KTsKX3RoaXMudXBkYXRlVXJsUGFyYW1JblRkKHRhcmdldFRkLCJtb3VzZW92ZXJf
Y291bnQiLGFyZ3VtZW50cy5jYWxsZWUuY291bnQrKyk7Cn07Cn07CnZhciBtb3Vz
ZURvd25IYW5kbGVyPWZ1bmN0aW9uKHRhcmdldFRkKXsKcmV0dXJuIGZ1bmN0aW9u
KCl7CnZhciBub3dUaW1lPShuZXcgRGF0ZSkudmFsdWVPZigpOwpfdGhpcy51cGRh
dGVVcmxQYXJhbUluVGQodGFyZ2V0VGQsIm1vdXNlZG93bl90aW1lIixub3dUaW1l
KTsKfTsKfTsKdmFyIHRkcz1fdGhpcy5nZXRUYWJsZVdpdGhBZHMoYmxvY2suaWQp
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpOwp2YXIgc2hvd1RpbWU9KG5ldyBE
YXRlKS52YWx1ZU9mKCk7CmZvcih2YXIgaT0wO2k8dGRzLmxlbmd0aDtpKyspewpf
dGhpcy51cGRhdGVVcmxQYXJhbUluVGQodGRzW2ldLCJzaG93X3RpbWUiLHNob3dU
aW1lKTsKQmVndW4uVXRpbHMuYWRkRXZlbnQodGRzW2ldLCJtb3VzZW92ZXIiLG1v
dXNlT3ZlckhhbmRsZXIodGRzW2ldKSk7CkJlZ3VuLlV0aWxzLmFkZEV2ZW50KHRk
c1tpXSwibW91c2Vkb3duIixtb3VzZURvd25IYW5kbGVyKHRkc1tpXSkpOwp9Cn07
CnZhciBlbGVtPV90aGlzLkJsb2Nrcy5nZXREb21PYmooYmxvY2suaWQpOwoKaWYo
IWVsZW0pewpyZXR1cm4gZmFsc2U7Cn0KdGhpcy5zZXRFeHRyYUJsb2NrUmVzcG9u
c2VQYXJhbXMoYmxvY2spOwpfdGhpcy5kb21fY2hhbmdlPXRydWU7CnZhciBodG1s
PV90aGlzLmdldEJsb2NrSFRNTChiYW5uZXJzX2h0bWwsYmxvY2sscGFkKTsKdmFy
IHNob3c9c2hvd0RlZmF1bHQ9ZnVuY3Rpb24oZWxlbSxodG1sKXsKZWxlbS5pbm5l
ckhUTUw9aHRtbDsKX3RoaXMuZG9tX2NoYW5nZT1mYWxzZTsKcmVnRXZlbnRzKCk7
Cn07CgoKaWYoQmVndW4uQnJvd3Nlci5JRSl7CnNob3c9ZnVuY3Rpb24oZWxlbSxo
dG1sKXsKdmFyIG49ZWxlbS5jbG9uZU5vZGUodHJ1ZSk7Cm4uaW5uZXJIVE1MPWh0
bWw7CmVsZW0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobixlbGVtKTsKZWxlbS5w
YXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsZW0pOwpfdGhpcy5kb21fY2hhbmdlPWZh
bHNlOwpyZWdFdmVudHMoKTsKfTsKdmFyIGFwcGVuZFRhYmxlQ2VsbD1mdW5jdGlv
bih0cixlbGVtKXsKaWYodHIub2Zmc2V0SGVpZ2h0KXsKdmFyIHRkPWRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CnRyLmFwcGVuZENoaWxkKHRkKTsKdGQuaW5u
ZXJIVE1MPWVsZW0ub3V0ZXJIVE1MOwpzaG93KHRkLmZpcnN0Q2hpbGQsaHRtbCk7
CmVsZW0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtKTsKfWVsc2V7CnZhciBm
dW5jPWFyZ3VtZW50cy5jYWxsZWU7CndpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9u
KCl7CmZ1bmModHIsZWxlbSk7Cn0sQmVndW4uRE9NX1RJTUVPVVQpOwp9Cn07CnZh
ciBwYXJlbnQ9bnVsbDsKaWYoKHBhcmVudD1lbGVtLnBhcmVudE5vZGUpJiYocGFy
ZW50LnRhZ05hbWUpJiYoQmVndW4uVXRpbHMuaW5fYXJyYXkoWydvbCcsJ3VsJywn
bGknXSxwYXJlbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpKSkpewp3aW5kb3cuc2V0
VGltZW91dChmdW5jdGlvbigpewp2YXIgcGFyZW50Mj1wYXJlbnQucGFyZW50Tm9k
ZTsKcGFyZW50Mi5pbnNlcnRCZWZvcmUoZWxlbSxwYXJlbnQpOwpzaG93RGVmYXVs
dChlbGVtLGh0bWwpOwp9LEJlZ3VuLkRPTV9USU1FT1VUKTsKfWVsc2UgaWYoKHBh
cmVudCkmJihwYXJlbnQ9ZWxlbS5wYXJlbnROb2RlLnBhcmVudE5vZGUpJiYocGFy
ZW50LnRhZ05hbWUpKXsKdHJ5ewpzaG93KGVsZW0saHRtbCk7Cn1jYXRjaChlKXsK
c3dpdGNoKHBhcmVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkpewpjYXNlJ3RhYmxl
JzoKdmFyIHRyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CndpbmRvdy5z
ZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CnBhcmVudC5sYXN0Q2hpbGQuYXBwZW5kQ2hp
bGQodHIpOwphcHBlbmRUYWJsZUNlbGwodHIsZWxlbSk7Cn0sQmVndW4uRE9NX1RJ
TUVPVVQpOwpicmVhazsKY2FzZSd0cic6CndpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0
aW9uKCl7CmFwcGVuZFRhYmxlQ2VsbChwYXJlbnQsZWxlbSk7Cn0sQmVndW4uRE9N
X1RJTUVPVVQpOwpicmVhazsKY2FzZSd0aGVhZCc6CmNhc2UndGJvZHknOgpjYXNl
J3Rmb290JzoKdmFyIHRyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7Cndp
bmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CnBhcmVudC5hcHBlbmRDaGlsZCh0
cik7CmFwcGVuZFRhYmxlQ2VsbCh0cixlbGVtKTsKfSxCZWd1bi5ET01fVElNRU9V
VCk7CmJyZWFrOwpkZWZhdWx0OgpfdGhpcy5kb21fY2hhbmdlPWZhbHNlOwp9Cn0K
fWVsc2V7CnRyeXsKc2hvdyhlbGVtLGh0bWwpOwp9Y2F0Y2goZSl7Cl90aGlzLmRv
bV9jaGFuZ2U9ZmFsc2U7Cn0KfQp9ZWxzZXsKc2hvdyhlbGVtLGh0bWwpOwp9CnJl
dHVybiB0cnVlOwp9ZWxzZXsKcmV0dXJuIGZhbHNlOwp9Cn07CnRoaXMuaGlkZUJs
b2NrPWZ1bmN0aW9uKGJsb2NrX2lkKXsKdmFyIGVsZW09X3RoaXMuQmxvY2tzLmdl
dERvbU9iaihibG9ja19pZCk7CmlmKGVsZW0pewplbGVtLmlubmVySFRNTD0nJzsK
fQp9Owp0aGlzLmRpc3BhdGNoQmxvY2tEcmF3Q2FsbGJhY2s9ZnVuY3Rpb24oYmxv
Y2spewppZihibG9jayYmIWJsb2NrLmRyYXdDYWxsYmFja0Rpc3BhdGNoZWQpewpf
dGhpcy5DYWxsYmFja3MuZGlzcGF0Y2goJ2Jsb2NrJywnZHJhdycsX3RoaXMsW2Js
b2NrXSk7CmJsb2NrLmRyYXdDYWxsYmFja0Rpc3BhdGNoZWQ9dHJ1ZTsKfQp9Owp0
aGlzLmZpbGxCbG9ja3M9ZnVuY3Rpb24oKXsKdmFyIHBhZD1fdGhpcy5nZXRQYWQo
KTsKdmFyIGlzVmFsaWRTcXVhcmVCbG9jaz1mdW5jdGlvbihibG9jayl7CnJldHVy
bihfdGhpcy5CbG9ja3MuY2hlY2tUeXBlKGJsb2NrLCdzcXVhcmUnKSYmYmxvY2su
b3B0aW9ucy5qc29uJiZibG9jay5vcHRpb25zLmpzb24ucm93JiZibG9jay5vcHRp
b25zLmpzb24uY29sKTsKfTsKdmFyIGJsb2NrPW51bGw7CnZhciBibG9ja19pbmRl
eD0wOwp2YXIgb3V0X29mX2Jhbm5lcnM9ZmFsc2U7CmlmKHR5cGVvZiBhcmd1bWVu
dHMuY2FsbGVlLmJsb2Nrc0hhbmRsZWQ9PT0idW5kZWZpbmVkIil7CmFyZ3VtZW50
cy5jYWxsZWUuYmxvY2tzSGFuZGxlZD1bXTsKfQp3aGlsZSgoYmxvY2s9X3RoaXMu
Z2V0QmxvY2soYmxvY2tfaW5kZXgscGFkKSkmJighb3V0X29mX2Jhbm5lcnMpKXsK
aWYoIV90aGlzLkJsb2Nrcy5nZXREb21PYmooYmxvY2suaWQpKXsKYmxvY2tfaW5k
ZXgrKzsKY29udGludWU7Cn0KaWYoIUJlZ3VuLlV0aWxzLmluX2FycmF5KGFyZ3Vt
ZW50cy5jYWxsZWUuYmxvY2tzSGFuZGxlZCxibG9jaykpewpfdGhpcy5DYWxsYmFj
a3MuZGlzcGF0Y2goJ2Jsb2NrJywncHJlZHJhdycsX3RoaXMsW2Jsb2NrXSk7Cmlm
KGJsb2NrLm9wdGlvbnMmJmJsb2NrLm9wdGlvbnMudmlzdWFsKXsKX3RoaXMucHJp
bnRCbG9ja1N0eWxlKGJsb2NrLmlkLGJsb2NrLm9wdGlvbnMudmlzdWFsLHBhZCk7
Cn0KYXJndW1lbnRzLmNhbGxlZS5ibG9ja3NIYW5kbGVkLnB1c2goYmxvY2spOwp9
CmlmKGJsb2NrLmxvYWRlZHx8X3RoaXMuQmxvY2tzLmlzRGVsZXRlZChibG9jaykp
ewpibG9ja19pbmRleCsrOwpjb250aW51ZTsKfQppZihibG9jay5ub25UZXh0QmFu
bmVyc0luc2VydGVkKXsKX3RoaXMuZGlzcGF0Y2hCbG9ja0RyYXdDYWxsYmFjayhi
bG9jayk7CmJsb2NrX2luZGV4Kys7CmNvbnRpbnVlOwp9CmlmKEJlZ3VuLlV0aWxz
LmluTGlzdCgoYmxvY2sub3B0aW9ucyYmYmxvY2sub3B0aW9ucy5ibG9ja19vcHRp
b25zKSwnSlNDYXRhbG9nJykpewp2YXIgaW5pdEF1dG9DYXRhbG9nPWZ1bmN0aW9u
KGJsb2NrKXsKaWYoIUJlZ3VuLkNhdGFsb2d8fCFCZWd1bi4kKF90aGlzLlN0cmlu
Z3MuY3NzLmNhdGFsb2dfc2VhcmNoX3dyYXBwZXIpfHwhQmVndW4uJChfdGhpcy5T
dHJpbmdzLmNzcy5jYXRhbG9nX3Jlc3VsdHNfd3JhcHBlcil8fCFCZWd1bi4kKF90
aGlzLlN0cmluZ3MuY3NzLmNhdGFsb2dfY2xvdWRfd3JhcHBlcil8fF90aGlzLmRv
bV9jaGFuZ2Upewp3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpewppbml0QXV0
b0NhdGFsb2coYmxvY2spOwp9LEJlZ3VuLkRPTV9USU1FT1VUKTsKfWVsc2V7Cl90
aGlzLmluaXRBdXRvQ2F0YWxvZ0Jsb2NrKGJsb2NrKTsKfQp9Owppbml0QXV0b0Nh
dGFsb2coYmxvY2spOwpibG9jay5sb2FkZWQ9dHJ1ZTsKYmxvY2tfaW5kZXgrKzsK
Y29udGludWU7Cn1lbHNlIGlmKF90aGlzLkJsb2Nrcy5jaGVja1R5cGUoYmxvY2ss
J2h5cGVyJykpewp2YXIgcGFkX2lkPXdpbmRvdy5iZWd1bl9hdXRvX3BhZDsKdmFy
IGluaXRIeXBlcmNvbnRleHQ9ZnVuY3Rpb24oYmxvY2sscGFkX2lkKXsKaWYoIUJl
Z3VuLkh5cGVyY29udGV4dHx8X3RoaXMuZG9tX2NoYW5nZSl7CndpbmRvdy5zZXRU
aW1lb3V0KGZ1bmN0aW9uKCl7CmluaXRIeXBlcmNvbnRleHQoYmxvY2sscGFkX2lk
KTsKfSxCZWd1bi5ET01fVElNRU9VVCk7Cn1lbHNlewpfdGhpcy5pbml0SHlwZXJj
b250ZXh0QmxvY2soYmxvY2sscGFkX2lkKTsKfQp9Owppbml0SHlwZXJjb250ZXh0
KGJsb2NrLHBhZF9pZCk7CmJsb2NrLmxvYWRlZD10cnVlOwpibG9ja19pbmRleCsr
Owpjb250aW51ZTsKfWVsc2UgaWYoX3RoaXMuQmxvY2tzLmNoZWNrVHlwZShibG9j
aywncGhvdG8nKSl7CnZhciBwYWRfaWQ9d2luZG93LmJlZ3VuX2F1dG9fcGFkOwp2
YXIgaW5pdFBob3RvY29udGV4dD1mdW5jdGlvbihibG9jayxwYWRfaWQpewppZigh
QmVndW4uUGhvdG9jb250ZXh0fHxfdGhpcy5kb21fY2hhbmdlKXsKd2luZG93LnNl
dFRpbWVvdXQoZnVuY3Rpb24oKXsKaW5pdFBob3RvY29udGV4dChibG9jayxwYWRf
aWQpOwp9LEJlZ3VuLkRPTV9USU1FT1VUKTsKfWVsc2V7Cl90aGlzLmluaXRQaG90
b2NvbnRleHRCbG9jayhibG9jayxwYWRfaWQpOwp9Cn07CmluaXRQaG90b2NvbnRl
eHQoYmxvY2sscGFkX2lkKTsKYmxvY2subG9hZGVkPXRydWU7CmJsb2NrX2luZGV4
Kys7CmNvbnRpbnVlOwp9CnZhciBiYW5uZXJzX2h0bWw9W107CnZhciBibG9ja19i
YW5uZXJfY291bnQ9MDsKdmFyIGJhbm5lcj1udWxsOwp0aGlzLnNldEV4dHJhQmxv
Y2tSZXNwb25zZVBhcmFtcyhibG9jayk7CmlmKE51bWJlcihibG9jay5vcHRpb25z
LnVzZV9zY3JvbGwpJiYoTnVtYmVyKGJsb2NrLm9wdGlvbnMudXNlX2FjY29yZGlv
bil8fF90aGlzLkJsb2Nrcy5jaGVja1R5cGUoYmxvY2ssJ3RvcCcpfHxfdGhpcy5C
bG9ja3MuY2hlY2tUeXBlKGJsb2NrLCdyaWNoJykpKXsKYmxvY2sub3B0aW9ucy51
c2Vfc2Nyb2xsPTA7Cn0KdmFyIGJhbm5lcnNfY291bnQ7CnZhciBiYW5uZXJfaHRt
bDsKaWYoX3RoaXMudXNlQmxvY2tJZERpc3RyKCkpewp2YXIgaT0wOwpiYW5uZXJz
X2NvdW50PV90aGlzLmdldEFjdHVhbEJsb2NrQmFubmVyc0NvdW50KGJsb2NrKTsK
d2hpbGUoYmFubmVyPV90aGlzLmdldEJhbm5lcignYXV0b2NvbnRleHQnLGkscGFk
LnBhZF9pZCkpewppZihiYW5uZXIuYmxvY2tfaWQmJmJhbm5lci5ibG9ja19pZD09
YmxvY2suaWQmJiFiYW5uZXIuZGlzYWJsZWQpewpiYW5uZXJfaHRtbD0nJzsKaWYo
aXNWYWxpZFNxdWFyZUJsb2NrKGJsb2NrKSl7CmlmKGJsb2NrX2Jhbm5lcl9jb3Vu
dCVOdW1iZXIoYmxvY2sub3B0aW9ucy5qc29uLmNvbCk9PTApewpiYW5uZXJfaHRt
bCs9Jzx0cj4nOwp9CmJhbm5lcl9odG1sKz1fdGhpcy5nZXRCYW5uZXJIVE1MKGJh
bm5lcixibG9jaywoYmxvY2tfYmFubmVyX2NvdW50KzEpKTsKaWYoKGJsb2NrX2Jh
bm5lcl9jb3VudCsxKSVOdW1iZXIoYmxvY2sub3B0aW9ucy5qc29uLmNvbCk9PTAp
ewpiYW5uZXJfaHRtbCs9JzwvdHI+JzsKfQp9ZWxzZXsKYmFubmVyX2h0bWw9X3Ro
aXMuZ2V0QmFubmVySFRNTChiYW5uZXIsYmxvY2ssKGJsb2NrX2Jhbm5lcl9jb3Vu
dCsxKSk7Cn0KaWYoYmFubmVyX2h0bWwpewpiYW5uZXJzX2h0bWwucHVzaChiYW5u
ZXJfaHRtbCk7CmJsb2NrLmZpbGxlZF9iYW5uZXJzX2RhdGEudGV4dCsrOwpfdGhp
cy5DYWxsYmFja3MuZGlzcGF0Y2goJ2Jhbm5lcicsJ2RyYXcnLF90aGlzLFtiYW5u
ZXJdKTsKX3RoaXMucmVnaXN0ZXJTaG93bkJhbm5lcihiYW5uZXIpOwp9CmlmKF90
aGlzLmNoZWNrQmFubmVyVmlld1R5cGUoYmFubmVyLCdhbGNvJykpewpibG9jay5p
c19hbGNvPXRydWU7Cn0KYmxvY2tfYmFubmVyX2NvdW50Kys7Cn0KaSsrOwp9Cn1l
bHNlewpiYW5uZXJzX2NvdW50PV90aGlzLmdldEFjdHVhbEJsb2NrQmFubmVyc0Nv
dW50KGJsb2NrKTsKd2hpbGUoYmxvY2tfYmFubmVyX2NvdW50PGJhbm5lcnNfY291
bnQpewpiYW5uZXI9X3RoaXMuZ2V0QmFubmVyKCdhdXRvY29udGV4dCcsX3RoaXMu
Z2V0QmFubmVySW5kZXgocGFkLnBhZF9pZCkscGFkLnBhZF9pZCl8fG51bGw7Cmlm
KGJhbm5lcil7CmlmKF90aGlzLmNoZWNrQmFubmVyVmlld1R5cGUoYmFubmVyLCdh
bGNvJykpewpibG9jay5pc19hbGNvPXRydWU7Cn0KYmFubmVyX2h0bWw9Jyc7Cmlm
KGlzVmFsaWRTcXVhcmVCbG9jayhibG9jaykpewppZihibG9ja19iYW5uZXJfY291
bnQlTnVtYmVyKGJsb2NrLm9wdGlvbnMuanNvbi5jb2wpPT0wKXsKYmFubmVyX2h0
bWwrPSc8dHI+JzsKfQpiYW5uZXJfaHRtbCs9X3RoaXMuZ2V0QmFubmVySFRNTChi
YW5uZXIsYmxvY2ssKGJsb2NrX2Jhbm5lcl9jb3VudCsxKSk7CmlmKChibG9ja19i
YW5uZXJfY291bnQrMSklTnVtYmVyKGJsb2NrLm9wdGlvbnMuanNvbi5jb2wpPT0w
KXsKYmFubmVyX2h0bWwrPSc8L3RyPic7Cn0KfWVsc2V7CmJhbm5lcl9odG1sPV90
aGlzLmdldEJhbm5lckhUTUwoYmFubmVyLGJsb2NrLChibG9ja19iYW5uZXJfY291
bnQrMSkpOwp9CmlmKGJhbm5lcl9odG1sKXsKYmFubmVyc19odG1sLnB1c2goYmFu
bmVyX2h0bWwpOwpibG9jay5maWxsZWRfYmFubmVyc19kYXRhLnRleHQrKzsKX3Ro
aXMuQ2FsbGJhY2tzLmRpc3BhdGNoKCdiYW5uZXInLCdkcmF3JyxfdGhpcyxbYmFu
bmVyXSk7Cl90aGlzLnJlZ2lzdGVyU2hvd25CYW5uZXIoYmFubmVyKTsKfQp9ZWxz
ZXsKb3V0X29mX2Jhbm5lcnM9dHJ1ZTsKYnJlYWs7Cn0KYmxvY2tfYmFubmVyX2Nv
dW50Kys7Cl90aGlzLmluY0Jhbm5lckluZGV4KHBhZC5wYWRfaWQpOwp9Cn0KaWYo
aXNWYWxpZFNxdWFyZUJsb2NrKGJsb2NrKSYmYmxvY2tfYmFubmVyX2NvdW50PGJh
bm5lcnNfY291bnQmJmJsb2NrX2Jhbm5lcl9jb3VudCE9MCl7CmZvcihibG9ja19i
YW5uZXJfY291bnQ7YmxvY2tfYmFubmVyX2NvdW50PGJhbm5lcnNfY291bnQ7Ymxv
Y2tfYmFubmVyX2NvdW50Kyspewp2YXIgYmFubmVyX2h0bWw9Jyc7CmlmKGJsb2Nr
X2Jhbm5lcl9jb3VudCVOdW1iZXIoYmxvY2sub3B0aW9ucy5qc29uLmNvbCk9PTAp
ewpiYW5uZXJfaHRtbCs9Jzx0cj4nOwp9CmJhbm5lcl9odG1sKz0nPHRkPiZuYnNw
OzwvdGQ+JzsKaWYoKGJsb2NrX2Jhbm5lcl9jb3VudCsxKSVOdW1iZXIoYmxvY2su
b3B0aW9ucy5qc29uLmNvbCk9PTApewpiYW5uZXJfaHRtbCs9JzwvdHI+JzsKfQpi
YW5uZXJzX2h0bWwucHVzaChiYW5uZXJfaHRtbCk7Cn0KfQppZihfdGhpcy5wcmlu
dEJsb2NrKGJhbm5lcnNfaHRtbCxibG9jayxwYWQpKXsKYmxvY2subG9hZGVkPXRy
dWU7Cn0KX3RoaXMuZGlzcGF0Y2hCbG9ja0RyYXdDYWxsYmFjayhibG9jayk7Cl90
aGlzLmxvYWRNb2R1bGVzKGJsb2NrLHBhZCk7CmJsb2NrX2luZGV4Kys7Cn0KfTsK
dGhpcy5maWxsQmxvY2tzLmRlbGF5ZWRDYWxsPWZhbHNlOwp0aGlzLmJlZ3VuVG9v
bGJhckxvYWRlZD1mdW5jdGlvbigpewppZighQmVndW4uVG9vbGJhcnx8IUJlZ3Vu
LlRvb2xiYXIuaW5pdCl7CnJldHVybjsKfQp3aGlsZSh0aGlzLnVuaGFuZGxlZERl
YnVncy5sZW5ndGg+MCl7CkJlZ3VuLlRvb2xiYXIuaW5pdCh0aGlzLnVuaGFuZGxl
ZERlYnVncy5wb3AoKSk7Cn0KfTsKdGhpcy5sb2FkTW9kdWxlcz1mdW5jdGlvbihi
bG9jayxwYWQpewp2YXIgaW5pdEV4dHJhTW9kdWxlPWZ1bmN0aW9uKG9iak5hbWUs
ZnVuYyxvYmplY3QpewppZighd2luZG93LkJlZ3VuW29iak5hbWVdfHxfdGhpcy5k
b21fY2hhbmdlKXsKd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXsKaW5pdEV4
dHJhTW9kdWxlKG9iak5hbWUsZnVuYyxvYmplY3QpOwp9LEJlZ3VuLkRPTV9USU1F
T1VUKTsKfWVsc2V7CmZ1bmMob2JqZWN0KTsKfQp9Owp2YXIgYmFubmVyc0NvbnRh
aW5WaWV3VHlwZT1mdW5jdGlvbih2aWV3X3R5cGUsc2VjdGlvbil7CnZhciBzZWN0
aW9uPXNlY3Rpb258fCdhdXRvY29udGV4dCc7CnZhciBoYXNWaWV3VHlwZT1mYWxz
ZTsKZm9yKHZhciBpPTA7aTxfdGhpcy5nZXRCYW5uZXJzKHBhZC5wYWRfaWQpW3Nl
Y3Rpb25dLmxlbmd0aDtpKyspewppZihfdGhpcy5jaGVja0Jhbm5lclZpZXdUeXBl
KF90aGlzLmdldEJhbm5lcnMocGFkLnBhZF9pZClbc2VjdGlvbl1baV0sdmlld190
eXBlKSl7Cmhhc1ZpZXdUeXBlPXRydWU7CmJyZWFrOwp9Cn0KcmV0dXJuIGhhc1Zp
ZXdUeXBlOwp9OwppZihOdW1iZXIoYmxvY2sub3B0aW9ucy51c2Vfc2Nyb2xsKSl7
CmluaXRFeHRyYU1vZHVsZSgnU2Nyb2xsZXInLF90aGlzLmluaXRTY3JvbGxCbG9j
ayxibG9jayk7Cn1lbHNlIGlmKE51bWJlcihibG9jay5vcHRpb25zLnVzZV9hY2Nv
cmRpb24pKXsKaW5pdEV4dHJhTW9kdWxlKCdBY2NvcmRpb24nLF90aGlzLmluaXRB
Y2NvcmRpb25CbG9jayxibG9jayk7Cn1lbHNlIGlmKF90aGlzLkJsb2Nrcy5jaGVj
a1R5cGUoYmxvY2ssJ3RvcCcpKXsKaW5pdEV4dHJhTW9kdWxlKCdhdXRvVG9wJyxf
dGhpcy5pbml0QXV0b1RvcEJsb2NrLGJsb2NrKTsKfWVsc2UgaWYoX3RoaXMuQmxv
Y2tzLmNoZWNrVHlwZShibG9jaywncmljaCcpfHxfdGhpcy5CbG9ja3MuY2hlY2tW
aWV3VHlwZShibG9jaywncmljaCcpfHxiYW5uZXJzQ29udGFpblZpZXdUeXBlKCdy
aWNoJykpewp2YXIgcmljaEJsb2Nrc0Rpdj1fdGhpcy5CbG9ja3MuZ2V0RG9tT2Jq
KGJsb2NrLmlkKTsKaWYocmljaEJsb2Nrc0Rpdil7CkJlZ3VuLlV0aWxzLmFkZENs
YXNzTmFtZShyaWNoQmxvY2tzRGl2LCdiZWd1bl9hdXRvX3JpY2gnKTsKfQppbml0
RXh0cmFNb2R1bGUoJ3JpY2hCbG9ja3MnLF90aGlzLmluaXRBdXRvUmljaEJsb2Nr
LGJsb2NrKTsKfQp9Owp0aGlzLmxvYWRUb29sYmFyPWZ1bmN0aW9uKCl7CnZhciBm
ZWVkPXRoaXMuZ2V0RmVlZCgpOwppZihmZWVkJiZmZWVkLmRlYnVnKXsKdmFyIGRl
YnVnQ29weT17fTsKZm9yKHZhciBkZWJ1Z0VudGl0eSBpbiB3aW5kb3cuYmVndW5B
ZHMuZGVidWcpewppZihmZWVkLmRlYnVnLmhhc093blByb3BlcnR5KGRlYnVnRW50
aXR5KSl7CmRlYnVnQ29weVtkZWJ1Z0VudGl0eV09ZmVlZC5kZWJ1Z1tkZWJ1Z0Vu
dGl0eV07Cn0KfQp0aGlzLnVuaGFuZGxlZERlYnVncy5wdXNoKGRlYnVnQ29weSk7
CmRlbGV0ZSBmZWVkLmRlYnVnOwp0aGlzLmJlZ3VuVG9vbGJhckxvYWRlZCgpOwp9
Cn07CnRoaXMubnVsbEdsb2JhbEJsb2NrUGFyYW1zPWZ1bmN0aW9uKCl7CndpbmRv
dy5iZWd1bl9ibG9ja19pZD1udWxsOwp3aW5kb3cuYmVndW5fZXh0cmFfYmxvY2s9
bnVsbDsKfTsKdGhpcy5zZXRFeHRyYUJsb2NrUmVzcG9uc2VQYXJhbXM9ZnVuY3Rp
b24oYmxvY2spewpibG9jay5vcHRpb25zLnVzZV9zY3JvbGw9dHlwZW9mIGJsb2Nr
Lm9wdGlvbnMudXNlX3Njcm9sbCE9J251bWJlcic/TnVtYmVyKF90aGlzLnJlc3Bv
bnNlUGFyYW1zWydhdXRvc2Nyb2xsJ10pOmJsb2NrLm9wdGlvbnMudXNlX3Njcm9s
bDsKYmxvY2sub3B0aW9ucy5zaG93X3RodW1ibmFpbHM9dHlwZW9mIGJsb2NrLm9w
dGlvbnMuc2hvd190aHVtYm5haWxzIT0nbnVtYmVyJ3x8aXNOYU4oYmxvY2sub3B0
aW9ucy5zaG93X3RodW1ibmFpbHMpP051bWJlcihfdGhpcy5yZXNwb25zZVBhcmFt
c1sndGh1bWJzJ10pOmJsb2NrLm9wdGlvbnMuc2hvd190aHVtYm5haWxzOwp9Owp9
OwoKKGZ1bmN0aW9uKCl7CnZhciBhYz1CZWd1bi5BdXRvY29udGV4dDsKCmFjLk1v
bml0b3I9bmV3IGZ1bmN0aW9uKCl7CnZhciBfdGhpcz10aGlzOwp0aGlzLmluaXQ9
ZnVuY3Rpb24oKXsKQmVndW4uVXRpbHMuYWRkRXZlbnQod2luZG93LCdsb2FkJyxm
dW5jdGlvbigpewpfdGhpcy5wcmVwYXJlKCk7Cn0pOwpCZWd1bi5VdGlscy5hZGRF
dmVudCh3aW5kb3csJ3VubG9hZCcsZnVuY3Rpb24oKXsKX3RoaXMuc2VuZChfdGhp
cy5kYXRhfHwnbm9uZScpOwp9KTsKQmVndW4uVXRpbHMuYWRkRXZlbnQod2luZG93
LCdzY3JvbGwnLGZ1bmN0aW9uKCl7Cl90aGlzLmNvdW50KCk7Cn0pOwp9Owp0aGlz
LnByZXBhcmU9ZnVuY3Rpb24oKXsKdmFyIHBhZHM9YWMuUGFkcy5nZXRQYWRzKCk7
CmlmKHBhZHMubGVuZ3RoPT09MCl7CkJlZ3VuLkVycm9yLnNlbmQoImJlZ3VuX2F1
dG9fcGFkIGlzIG1pc3NpbmciLGRvY3VtZW50LmxvY2F0aW9uLC0xKTsKcmV0dXJu
Owp9CmZvcih2YXIgbj0wLGxuPXBhZHMubGVuZ3RoO248bG47bisrKXsKZm9yKHZh
ciBpPTAsbGVuZ3RoPXBhZHNbbl0uYmxvY2tzLmxlbmd0aDtpPGxlbmd0aDtpKysp
ewp2YXIgZG9tX29iaj1hYy5CbG9ja3MuZ2V0RG9tT2JqKHBhZHNbbl0uYmxvY2tz
W2ldLmlkKTsKaWYoYWMuQmxvY2tzLmlzRGVsZXRlZChwYWRzW25dLmJsb2Nrc1tp
XSl8fCFkb21fb2JqKXsKY29udGludWU7Cn0KcGFkc1tuXS5ibG9ja3NbaV0uaGlk
ZGVuPWZhbHNlOwpwYWRzW25dLmJsb2Nrc1tpXS5kb21fb2JqPWRvbV9vYmo7CnZh
ciBiYW5uZXJzX2lkPVtdOwp2YXIgdGRzPWRvbV9vYmouZ2V0RWxlbWVudHNCeVRh
Z05hbWUoJ3RkJyk7CmZvcih2YXIgaz0wLGw9dGRzLmxlbmd0aDtrPGw7aysrKXsK
aWYodGRzW2tdLmdldEF0dHJpYnV0ZSgnX2Jhbm5lcl9pZCcpJiZ0ZHNba10uZ2V0
QXR0cmlidXRlKCdfYmFubmVyX2lkJykhPScnJiZ0eXBlb2YodGRzW2tdLmdldEF0
dHJpYnV0ZSgnX2Jhbm5lcl9pZCcpKSE9dW5kZWZpbmVkKXsKYmFubmVyc19pZFti
YW5uZXJzX2lkLmxlbmd0aF09dGRzW2tdLmdldEF0dHJpYnV0ZSgnX2Jhbm5lcl9p
ZCcpOwp9Cn0KcGFkc1tuXS5ibG9ja3NbaV0uYmFubmVyc19pZD1iYW5uZXJzX2lk
LmpvaW4oJywnKTsKfQp9CnRoaXMuY291bnQoKTsKfTsKdGhpcy5jb3VudD1mdW5j
dGlvbigpewp2YXIgZGF0YT1bXTsKdmFyIHZpc2libGVCYW5uZXJzRGF0YT1bXTsK
dmFyIHBhZHM9YWMuUGFkcy5nZXRQYWRzKCk7CmZvcih2YXIgbj0wLGxuPXBhZHMu
bGVuZ3RoO248bG47bisrKXsKdmFyIGhpZGRlbkJhbm5lcnNPYmo9W107CnZhciB2
aXNpYmxlQmFubmVyc09iaj1bXTsKZm9yKHZhciBpPTAsbD1wYWRzW25dLmJsb2Nr
cy5sZW5ndGg7aTxsO2krKyl7CnZhciB2aWV3cG9ydGhlaWdodD1CZWd1bi5VdGls
cy5jb3VudFdpbmRvd1NpemUoKS5oZWlnaHQ7CnZhciBzY3JvbGxlZE9mWT1CZWd1
bi5VdGlscy5nZXRTY3JvbGxYWSgpLnk7CnZhciBkb21fb2JqPXBhZHNbbl0uYmxv
Y2tzW2ldLmRvbV9vYmo7CmlmKGRvbV9vYmopewppZighcGFkc1tuXS5ibG9ja3Nb
aV0uYWxyZWFkeVNlZW4pewppZighcGFkc1tuXS5ibG9ja3NbaV0uYmFubmVyc19p
ZCl7CnBhZHNbbl0uYmxvY2tzW2ldLmFscmVhZHlTZWVuPXRydWU7CmNvbnRpbnVl
Owp9CnZhciBibG9ja190b3BfcG9zPUJlZ3VuLlV0aWxzLmZpbmRQb3MoZG9tX29i
aikmJkJlZ3VuLlV0aWxzLmZpbmRQb3MoZG9tX29iaikudG9wOwppZihibG9ja190
b3BfcG9zPnZpZXdwb3J0aGVpZ2h0K3Njcm9sbGVkT2ZZKXsKcGFkc1tuXS5ibG9j
a3NbaV0uaGlkZGVuPXRydWU7CmhpZGRlbkJhbm5lcnNPYmpbaGlkZGVuQmFubmVy
c09iai5sZW5ndGhdPXsKaWQ6cGFkc1tuXS5ibG9ja3NbaV0uaWQsCmJhbm5lcnNf
aWQ6cGFkc1tuXS5ibG9ja3NbaV0uYmFubmVyc19pZAp9Owp9ZWxzZXsKcGFkc1tu
XS5ibG9ja3NbaV0uaGlkZGVuPWZhbHNlOwp2aXNpYmxlQmFubmVyc09ialt2aXNp
YmxlQmFubmVyc09iai5sZW5ndGhdPXsKaWQ6cGFkc1tuXS5ibG9ja3NbaV0uaWQs
CmJhbm5lcnNfaWQ6cGFkc1tuXS5ibG9ja3NbaV0uYmFubmVyc19pZAp9CnBhZHNb
bl0uYmxvY2tzW2ldLmFscmVhZHlTZWVuPXRydWU7CnZhciBibG9ja0FscmVhZHlT
ZWVuPWFjLkJsb2Nrcy5nZXRCbG9ja0J5SWQocGFkc1tuXS5ibG9ja3NbaV0uaWQs
aGlkZGVuQmFubmVyc09iaik7CmRlbGV0ZSBibG9ja0FscmVhZHlTZWVuOwp9Cn0K
fQp9CmlmKGhpZGRlbkJhbm5lcnNPYmoubGVuZ3RoKXsKZGF0YVtkYXRhLmxlbmd0
aF09ewpwYWRfaWQ6cGFkc1tuXS5wYWRfaWQsCmhpZGRlbjpoaWRkZW5CYW5uZXJz
T2JqCn07Cn1lbHNlewpkYXRhPVtdOwp9CmlmKHZpc2libGVCYW5uZXJzT2JqLmxl
bmd0aCl7CnRoaXMuc2VuZChCZWd1bi5VdGlscy50b0pTT04oewpwYWRfaWQ6cGFk
c1tuXS5wYWRfaWQsCnZpc2libGU6dmlzaWJsZUJhbm5lcnNPYmoKfSkpOwp9Cn0K
aWYoZGF0YS5sZW5ndGgpewp0aGlzLmRhdGE9ZGF0YS5sZW5ndGg/QmVndW4uVXRp
bHMudG9KU09OKGRhdGEpOidub25lJzsKfQp9Owp0aGlzLnNlbmQ9ZnVuY3Rpb24o
ZGF0YSl7CnZhciBzcmM9YWMuU3RyaW5ncy51cmxzLmxvZ19iYW5uZXJzX2NvdW50
ZXI7CkJlZ3VuLlV0aWxzLmluY2x1ZGVDb3VudGVyKHNyYyx7CmRhdGE6ZGF0YQp9
KTsKfTsKfTsKCmFjLlBhZHM9bmV3IGZ1bmN0aW9uKCl7CnZhciBwYWRzPVtdOwp0
aGlzLmluaXQ9ZnVuY3Rpb24oKXsKaWYodHlwZW9mIHdpbmRvdy5iZWd1bl9hdXRv
X3BhZCE9PSJ1bmRlZmluZWQiJiYhdGhpcy5nZXRQYWQoKSl7CnRoaXMucHVzaCh3
aW5kb3cuYmVndW5fYXV0b19wYWQpOwp9Cn07CnRoaXMucHVzaD1mdW5jdGlvbihw
YWRfaWQpewpwYWRzW3BhZHMubGVuZ3RoXT17CnBhZF9pZDpwYWRfaWQsCmZlZWQ6
bnVsbCwKYmxvY2tzOltdLApiYW5uZXJfaW5kZXg6MCwKZmVlZF9zdGFydGVkOmZh
bHNlCn07Cn07CnRoaXMuZ2V0UGFkPWZ1bmN0aW9uKHBhZF9pZCl7CnBhZF9pZD1w
YWRfaWR8fHdpbmRvdy5iZWd1bl9hdXRvX3BhZDsKZm9yKHZhciBpPTAsbD1wYWRz
Lmxlbmd0aDtpPGw7aSsrKXsKaWYocGFkc1tpXS5wYWRfaWQ9PXBhZF9pZCl7CnJl
dHVybiBwYWRzW2ldOwp9Cn0KcmV0dXJuIG51bGw7Cn07CnRoaXMuZ2V0UGFkcz1m
dW5jdGlvbigpewpyZXR1cm4gcGFkczsKfTsKfTsKCmFjLkJsb2Nrcz1uZXcgZnVu
Y3Rpb24oKXsKdGhpcy5pbml0PWZ1bmN0aW9uKCl7CmFjLnJlc2V0QmFubmVySW5k
ZXgoKTsKYWMucmVzZXRNYXhTY3JvbGxlcnMoKTsKfTsKdGhpcy5hZGQ9ZnVuY3Rp
b24oZWxlbSxwYWRfaWQpewp2YXIgYmxvY2tzPWFjLmdldFBhZChwYWRfaWQpLmJs
b2NrczsKYmxvY2tzW2Jsb2Nrcy5sZW5ndGhdPWVsZW07Cn07CnRoaXMucHVzaD1m
dW5jdGlvbihlbGVtLHBhZF9pZCl7CmlmKHR5cGVvZiB3aW5kb3cuYmVndW5fYXV0
b19wYWQhPT0idW5kZWZpbmVkIiYmZWxlbS5pZCl7CnRoaXMubG9hZEJsb2NrQ291
bnRlcih3aW5kb3cuYmVndW5fYXV0b19wYWQsZWxlbS5pZCk7Cn0KdmFyIGJsb2Nr
cz1hYy5nZXRQYWQocGFkX2lkKS5ibG9ja3M7CmlmKHdpbmRvdy5iZWd1bl9leHRy
YV9ibG9jayl7CmJsb2Nrc1swXT1lbGVtOwp9ZWxzZXsKYmxvY2tzW2Jsb2Nrcy5s
ZW5ndGhdPWVsZW07Cn0KaWYoIWFjLmlzRmVlZFN0YXJ0ZWQoKSl7CmFjLmluaXRG
ZWVkTG9hZCgpOwp9ZWxzZSBpZighIWFjLmdldEZlZWQoKSl7CmFjLmluc2VydE5v
blRleHRCbG9jayhlbGVtKTsKYWMuZHJhdygpOwp9CmFjLm51bGxHbG9iYWxCbG9j
a1BhcmFtcygpOwp9Owp0aGlzLmRlbD1mdW5jdGlvbihibG9ja19pZCxwYWRfaWQp
ewp2YXIgYmxvY2s9bnVsbDsKdmFyIGk9MDsKdmFyIGJsb2Nrcz1hYy5nZXRQYWQo
cGFkX2lkKS5ibG9ja3M7CndoaWxlKGJsb2NrPWJsb2Nrc1tpXSl7CmlmKGJsb2Nr
LmlkPT1ibG9ja19pZCl7CmJsb2Nrc1tpXS5pZD0tMTsKYmxvY2tzW2ldLm9wdGlv
bnMuYmFubmVyc19jb3VudD0wOwpicmVhazsKfQppKys7Cn0KfTsKdGhpcy5kZWxl
dGVBbGw9ZnVuY3Rpb24ocGFkX2lkKXsKdmFyIGJsb2Nrcz1hYy5nZXRQYWQocGFk
X2lkKS5ibG9ja3M7CndoaWxlKGJsb2Nrcy5wb3AoKSl7fQp9Owp0aGlzLmlzRGVs
ZXRlZD1mdW5jdGlvbihibG9jayl7CmJsb2NrLmlkPT0tMSYmYmxvY2sub3B0aW9u
cy5iYW5uZXJzX2NvdW50PT0wOwp9Owp0aGlzLnB1c2hBbGw9ZnVuY3Rpb24oYmxv
Y2tzLHBhZF9pZCl7CnRoaXMuZGVsZXRlQWxsKHBhZF9pZCk7CnRoaXMuaW5pdCgp
OwoKdmFyIGJsb2NrPW51bGw7CnZhciBpPTA7CndoaWxlKGJsb2NrPWJsb2Nrc1tp
XSl7CnRoaXMucHVzaChibG9jayk7CmkrKzsKfQp9Owp0aGlzLmxvYWRCbG9ja0Nv
dW50ZXI9ZnVuY3Rpb24ocGFkX2lkLGJsb2NrX2lkKXsKaWYodGhpcy5sZW5ndGg+
MCl7CkJlZ3VuLlV0aWxzLmluY2x1ZGVDb3VudGVyKGFjLlN0cmluZ3MudXJscy5i
bG9ja19jb3VudGVyLHsncGFkX2lkJzpwYWRfaWQsJ2Jsb2NrX2lkJzpibG9ja19p
ZH0pOwp9Cn07CnRoaXMuZ2V0QmxvY2tCeUlkPWZ1bmN0aW9uKGJsb2NrX2lkLGJs
b2NrcyxwYWRfaWQpewp2YXIgYmxvY2s9bnVsbDsKdmFyIGk9MDsKYmxvY2tzPWJs
b2Nrc3x8YWMuZ2V0UGFkKHBhZF9pZCkuYmxvY2tzOwp3aGlsZShibG9jaz1ibG9j
a3NbaV0pewppZihibG9jay5pZD09YmxvY2tfaWQpewpyZXR1cm4gYmxvY2s7Cn0K
aSsrOwp9CnJldHVybiBudWxsOwp9Owp0aGlzLmdldERvbU9iaj1mdW5jdGlvbihi
bG9ja19pZCl7CnZhciByZXN1bHRCbG9jazsKaWYoYWMuZ2V0QmxvY2tJZFRvcE1v
YmlsZSgpPT1ibG9ja19pZCl7CnRyeXsKcmVzdWx0QmxvY2s9dG9wLmRvY3VtZW50
JiZ0b3AuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYWMuU3RyaW5ncy5jc3MuYmxv
Y2tfcHJlZml4K2Jsb2NrX2lkKTsKfWNhdGNoKGUpe30KfQpyZXR1cm4gcmVzdWx0
QmxvY2t8fEJlZ3VuLiQoYWMuU3RyaW5ncy5jc3MuYmxvY2tfcHJlZml4K2Jsb2Nr
X2lkKXx8bnVsbDsKfTsKdGhpcy5jaGVja1R5cGU9ZnVuY3Rpb24oYmxvY2ssdHlw
ZSl7CnJldHVybihibG9jayYmYmxvY2sub3B0aW9ucyYmYmxvY2sub3B0aW9ucy5k
aW1lbnNpb25zJiZibG9jay5vcHRpb25zLmRpbWVuc2lvbnMudHlwZSYmYmxvY2su
b3B0aW9ucy5kaW1lbnNpb25zLnR5cGUudG9Mb3dlckNhc2UoKT09dHlwZSk7Cn07
CnRoaXMuY2hlY2tWaWV3VHlwZT1mdW5jdGlvbihibG9jayx2aWV3dHlwZSl7CnJl
dHVybiBCZWd1bi5VdGlscy5pbkxpc3QoKGJsb2NrLm9wdGlvbnMmJmJsb2NrLm9w
dGlvbnMudmlld190eXBlKSx2aWV3dHlwZSk7Cn07Cn07CgphYy5DYWxsYmFja3M9
bmV3IGZ1bmN0aW9uKCl7CnZhciBfY2FsbGJhY2tzPXt9Owp2YXIgX2V4dGVuZD1m
dW5jdGlvbihkZXN0aW5hdGlvbixzb3VyY2Upewpmb3IodmFyIHByb3BlcnR5IGlu
IHNvdXJjZSl7CmlmKHR5cGVvZiBzb3VyY2VbcHJvcGVydHldPT0nb2JqZWN0Jyl7
CnZhciBuZXdfb2JqPXt9Owpmb3IodmFyIHByb3BlcnR5MiBpbiBzb3VyY2VbcHJv
cGVydHldKXsKaWYodHlwZW9mIHNvdXJjZVtwcm9wZXJ0eV1bcHJvcGVydHkyXT09
J2Z1bmN0aW9uJyl7CmlmKCh0eXBlb2YgZGVzdGluYXRpb25bcHJvcGVydHldIT09
InVuZGVmaW5lZCIpJiYodHlwZW9mIGRlc3RpbmF0aW9uW3Byb3BlcnR5XVtwcm9w
ZXJ0eTJdPT0nZnVuY3Rpb24nKSl7Cm5ld19vYmpbcHJvcGVydHkyXT1mdW5jdGlv
bihvbGRfZnVuYyxuZXdfZnVuYyxwcm9wZXJ0eTIpewpyZXR1cm4gZnVuY3Rpb24o
YXJncyl7Cm9sZF9mdW5jLmFwcGx5KHByb3BlcnR5Mj09J2NsaWNrJz90aGlzOmFj
LFthcmdzXSk7Cm5ld19mdW5jLmFwcGx5KHByb3BlcnR5Mj09J2NsaWNrJz90aGlz
OmFjLFthcmdzXSk7Cn07Cn0oZGVzdGluYXRpb25bcHJvcGVydHldW3Byb3BlcnR5
Ml0sc291cmNlW3Byb3BlcnR5XVtwcm9wZXJ0eTJdLHByb3BlcnR5Mik7Cn1lbHNl
ewpuZXdfb2JqW3Byb3BlcnR5Ml09ZnVuY3Rpb24oZnVuYyxwcm9wZXJ0eTIpewpy
ZXR1cm4gZnVuY3Rpb24oYXJncyl7CmZ1bmMuYXBwbHkocHJvcGVydHkyPT0nY2xp
Y2snP3RoaXM6YWMsW2FyZ3NdKTsKfTsKfShzb3VyY2VbcHJvcGVydHldW3Byb3Bl
cnR5Ml0scHJvcGVydHkyKTsKfQp9Cn0KZGVzdGluYXRpb25bcHJvcGVydHldPW5l
d19vYmo7Cn0KfQpyZXR1cm4gZGVzdGluYXRpb247Cn07CnRoaXMucmVnaXN0ZXI9
ZnVuY3Rpb24oY2FsbGJhY2tzKXsKX2V4dGVuZChfY2FsbGJhY2tzLGNhbGxiYWNr
cyk7Cn07CnRoaXMuZGlzcGF0Y2g9ZnVuY3Rpb24ob2JqLG1ldGhvZCxjb250ZXh0
X29iaixhcmdzKXsKaWYoX2NhbGxiYWNrc1tvYmpdJiZ0eXBlb2YgX2NhbGxiYWNr
c1tvYmpdW21ldGhvZF09PSdmdW5jdGlvbicpewphcmdzPWFyZ3N8fFtdOwpfY2Fs
bGJhY2tzW29ial1bbWV0aG9kXS5hcHBseShjb250ZXh0X29ianx8dGhpcyxhcmdz
KTsKfWVsc2V7CnJldHVybiBudWxsOwp9Cn07CnRoaXMuZ2V0Q2FsbGJhY2tzPWZ1
bmN0aW9uKCl7CnJldHVybiBfY2FsbGJhY2tzOwp9Owp9OwoKYWMuVHBscz1uZXcg
ZnVuY3Rpb24oKXsKdmFyIGNzcz17fTsKY3NzWydkZWZhdWx0J109J1wKLmJlZ3Vu
X2FkdiAqLCAuYmVndW5fYWR2IGRpdiwgLmJlZ3VuX2FkdiAqOmxpbmssIC5iZWd1
bl9hZHYgKjp2aXNpdGVkLCAuYmVndW5fYWR2ICo6aG92ZXIsIC5iZWd1bl9hZHYg
KjphY3RpdmUge1wKYmFja2dyb3VuZDogbm9uZTsgLyogbm8gIWltcG9ydGFudCBm
b3IgaG92ZXIgKi9cCmJvcmRlcjogbm9uZTsgLyogbm8gIWltcG9ydGFudCBmb3Ig
aG92ZXIgKi9cCndpZHRoOiBhdXRvOyBcCmhlaWdodDogYXV0bzsgXAovKmhlaWdo
dDogYXV0byAhaW1wb3J0YW50OyovIC8qIHVzZWQgZm9yIHNjcm9sbGluZyAqL1wK
fVwKI2JlZ3VuLWRlZmF1bHQtY3NzIHtkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9
XAonOwpjc3NbJ2Jsb2NrJ109Jy5iZWd1bl9hZHYgKiB7Y2xlYXI6bm9uZSAhaW1w
b3J0YW50O2NvbG9yOiMwMDAgIWltcG9ydGFudDtmbG9hdDpub25lICFpbXBvcnRh
bnQ7bWFyZ2luOjAgIWltcG9ydGFudDtwYWRkaW5nOjAgIWltcG9ydGFudDtsZXR0
ZXItc3BhY2luZzpub3JtYWwgIWltcG9ydGFudDt3b3JkLXNwYWNpbmc6bm9ybWFs
ICFpbXBvcnRhbnQ7ei1pbmRleDphdXRvICFpbXBvcnRhbnQ7Zm9udC1zaXplOjEy
cHggIWltcG9ydGFudDtmb250Om5vcm1hbCBub3JtYWwgMTJweCBBcmlhbCxzYW5z
LXNlcmlmICFpbXBvcnRhbnQ7dGV4dC10cmFuc2Zvcm06bm9uZSAhaW1wb3J0YW50
O2xpc3Qtc3R5bGU6bm9uZSAhaW1wb3J0YW50O3Bvc2l0aW9uOnN0YXRpYyAhaW1w
b3J0YW50O3RleHQtaW5kZW50OjAgIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2li
bGUgIWltcG9ydGFudDt3aWR0aDphdXRvICFpbXBvcnRhbnQ7fS5iZWd1bl9hZHYg
LmJlZ3VuX2Fkdl9jb21tb24gdHIsLmJlZ3VuX2FkdiAuYmVndW5fYWR2X2NvbW1v
biB0ZCwuYmVndW5fYWR2IC5iZWd1bl9hZHZfY29tbW9uIGEsLmJlZ3VuX2FkdiAu
YmVndW5fYWR2X2NvbW1vbiBiLC5iZWd1bl9hZHYgLmJlZ3VuX2Fkdl9jb21tb24g
ZGl2LC5iZWd1bl9hZHYgLmJlZ3VuX2Fkdl9jb21tb24gc3BhbiwuYmVndW5fYWR2
IC5iZWd1bl9hZHZfc3lzICosLmJlZ3VuX2FkdiAuYmVndW5fYWR2X2FsbCAqe2Jh
Y2tncm91bmQ6bm9uZSAhaW1wb3J0YW50O2JvcmRlcjpub25lICFpbXBvcnRhbnQ7
fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0ge2hlaWdodDphdXRvICFpbXBvcnRh
bnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2FkdiB7Zm9udDox
MnB4LzE4cHggQXJpYWwsc2Fucy1zZXJpZiAhaW1wb3J0YW50O2NvbG9yOiMwMDAg
IWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDt9I2JlZ3VuX2Js
b2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2IGIge2ZvbnQtd2VpZ2h0OmJvbGQg
IWltcG9ydGFudDtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30jYmVndW5fYmxv
Y2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHYgdGQge2ZvbnQtc2l6ZToxMXB4ICFp
bXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdiwj
YmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHYgdGFibGUsI2JlZ3Vu
X2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2IHRkLCNiZWd1bl9ibG9ja197
e2Jsb2NrX2lkfX0gLmJlZ3VuX2FkdiBkaXYge3BhZGRpbmc6MCAhaW1wb3J0YW50
O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3tibG9j
a19pZH19IC5iZWd1bl9hZHYgdGFibGUge2JvcmRlcjpub25lICFpbXBvcnRhbnQ7
Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9j
a197e2Jsb2NrX2lkfX0gLmJlZ3VuX2FkdiB0ZCB7dmVydGljYWwtYWxpZ246bWlk
ZGxlICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3Vu
X2Fkdl9zeXMge3dpZHRoOjEwMCUgIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7
YmxvY2tfaWR9fSAuYmVndW5fYWR2X3N5c19zaWduX3VwIHt2ZXJ0aWNhbC1hbGln
bjptaWRkbGUgIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAu
YmVndW5fYWR2X2NlbGwsI2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5f
YWR2X2FsbCB7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9j
a197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9idWxsaXQge2NvbG9yOiNhYWEgIWlt
cG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2X3Rp
dGxlLCNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl90ZXh0IHt3
aGl0ZS1zcGFjZTpub3JtYWwgIWltcG9ydGFudDtkaXNwbGF5OmJsb2NrICFpbXBv
cnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl90aXRs
ZSwjYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfdGl0bGUgKiB7
Zm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3tibG9j
a19pZH19IC5iZWd1bl9hZHZfc3lzX2xvZ28gZGl2IHt2ZXJ0aWNhbC1hbGlnbjpt
aWRkbGUgIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVn
dW5fYWR2X3N5c19sb2dvIGE6bGluaywjYmVndW5fYmxvY2tfe3tibG9ja19pZH19
IC5iZWd1bl9hZHZfc3lzX2xvZ28gYTp2aXNpdGVkLCNiZWd1bl9ibG9ja197e2Js
b2NrX2lkfX0gLmJlZ3VuX2Fkdl9zeXNfbG9nbyBhOmhvdmVyLCNiZWd1bl9ibG9j
a197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9zeXNfbG9nbyBhOmFjdGl2ZSB7Y29s
b3I6e3tibG9ja19sb2dvX2NvbG9yfX0gIWltcG9ydGFudDt0ZXh0LWRlY29yYXRp
b246bm9uZSAhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtm
b250LXN0eWxlOml0YWxpYyAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3tibG9j
a19pZH19IC5iZWd1bl9hZHZfc3lzX2xvZ28gYSB7bWFyZ2luLXRvcDotMXB4ICFp
bXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9z
eXNfc2lnbl91cCBkaXYge3RleHQtYWxpZ246cmlnaHQgIWltcG9ydGFudDt9I2Jl
Z3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2X2V4dCAuYmVndW5fYWR2
X3N5c19sb2dvLCNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9l
eHQgLmJlZ3VuX2Fkdl9zeXNfbG9nbyAqIHtmb250LXNpemU6MTNweCAhaW1wb3J0
YW50O2xpbmUtaGVpZ2h0OjE3cHggIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7
YmxvY2tfaWR9fSAuYmVndW5fYWR2X3ZlciAuYmVndW5fYWR2X2NlbGwgLmJlZ3Vu
X2Fkdl9jZWxsLCNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl92
ZXIgLmJlZ3VuX2Fkdl9hbGwge3BhZGRpbmc6NXB4IDJweCA0cHggNXB4ICFpbXBv
cnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9leHQg
LmJlZ3VuX2Fkdl9zeXNfbG9nbyBkaXYge3dpZHRoOjMuOGVtICFpbXBvcnRhbnQ7
aGVpZ2h0OjIuN2V4ICFpbXBvcnRhbnQ7bGVmdDotNHB4ICFpbXBvcnRhbnQ7cG9z
aXRpb246cmVsYXRpdmUgIWltcG9ydGFudDt0b3A6LTJweCAhaW1wb3J0YW50O30j
YmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfZXh0IC5iZWd1bl9h
ZHZfdGV4dCB7cGFkZGluZzoycHggMCA0cHggMCAhaW1wb3J0YW50O30jYmVndW5f
YmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfZXh0IC5iZWd1bl9hZHZfY29u
dGFjdCBzcGFuIHtwYWRkaW5nLXJpZ2h0OjAuMmVtICFpbXBvcnRhbnQ7fSNiZWd1
bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9leHQuYmVndW5fYWR2X3Zl
ciAuYmVndW5fYWR2X3N5c19zaWduX3VwIHtwYWRkaW5nLXJpZ2h0OjVweCAhaW1w
b3J0YW50O30jYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfZml4
IC5iZWd1bl9hZHZfY2VsbCB7cGFkZGluZzowIDVweCAwIDlweCAhaW1wb3J0YW50
O30jYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfZml4IC5iZWd1
bl9hZHZfY2VsbCwjYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZf
Zml4IC5iZWd1bl9hZHZfY2VsbCAqIHtmb250LXNpemU6MTFweCAhaW1wb3J0YW50
O2xpbmUtaGVpZ2h0OjExcHggIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7Ymxv
Y2tfaWR9fSAuYmVndW5fYWR2X2ZpeCAuYmVndW5fYWR2X3RpdGxlIHtmb250LXNp
emU6MTJweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEzcHggIWltcG9ydGFudDtt
YXJnaW4tYm90dG9tOjJweCAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3tibG9j
a19pZH19IC5iZWd1bl9hZHZfZml4IC5iZWd1bl9hZHZfdGl0bGUgKiB7Zm9udC1z
aXplOjEycHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxM3B4ICFpbXBvcnRhbnQ7
fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9maXggLmJlZ3Vu
X2Fkdl90ZXh0LCNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9m
aXggLmJlZ3VuX2Fkdl90ZXh0ICoge2ZvbnQtc2l6ZToxMXB4ICFpbXBvcnRhbnQ7
bGluZS1oZWlnaHQ6MTJweCAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3tibG9j
a19pZH19IC5iZWd1bl9hZHZfZml4IC5iZWd1bl9hZHZfc3lzX2xvZ28sI2JlZ3Vu
X2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2X2ZpeCAuYmVndW5fYWR2X3N5
c19sb2dvICoge2ZvbnQtc2l6ZToxM3B4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6
MTdweCAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1
bl9hZHZfZml4IC5iZWd1bl9hZHZfYWxsLCNiZWd1bl9ibG9ja197e2Jsb2NrX2lk
fX0gLmJlZ3VuX2Fkdl9maXggLmJlZ3VuX2Fkdl9hbGwgKiwjYmVndW5fYmxvY2tf
e3tibG9ja19pZH19IC5iZWd1bl9hZHZfZml4IC5iZWd1bl9hZHZfc3lzX3NpZ25f
dXAsI2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2X2ZpeCAuYmVn
dW5fYWR2X3N5c19zaWduX3VwICoge2ZvbnQ6OXB4LzExcHggVGFob21hLEFyaWFs
LHNhbnMtc2VyaWYgIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9
fSAuYmVndW5fYWR2X2ZpeCAuYmVndW5fYWR2X3N5c19sb2dvIHtwb3NpdGlvbjpy
ZWxhdGl2ZSAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5i
ZWd1bl9hZHZfZml4IC5iZWd1bl9hZHZfc3lzX2xvZ28gZGl2IHtoZWlnaHQ6MTdw
eCAhaW1wb3J0YW50O2Zsb2F0OmxlZnQgIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2Nr
X3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2X2ZpeCAuYmVndW5fYWR2X2NvbW1vbiB7
b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2Nr
X2lkfX0uYmVndW5fYXV0b19yaWNoIC5iZWd1bl9hZHZfZml4IC5iZWd1bl9hZHZf
Y29tbW9uIHtvdmVyZmxvdzp2aXNpYmxlICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9j
a197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9maXggLmJlZ3VuX2Fkdl90ZXh0IHtw
YWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lk
fX0gLmJlZ3VuX2Fkdl9maXggLmJlZ3VuX2Fkdl9jb250YWN0IHNwYW4ge3BhZGRp
bmctcmlnaHQ6MnB4ICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lk
fX0gLmJlZ3VuX2Fkdl9maXhfdmVyIC5iZWd1bl9hZHZfc3lzX2xvZ28sI2JlZ3Vu
X2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2X2V4dCAuYmVndW5fYWR2X3N5
c19sb2dvIHtwYWRkaW5nLWxlZnQ6OXB4ICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9j
a197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9maXhfdmVyIC5iZWd1bl9hZHZfc3lz
X2xvZ28gZGl2IHt3aWR0aDo1MXB4ICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197
e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9maXhfdmVyIC5iZWd1bl9hZHZfc3lzX3Np
Z25fdXAgZGl2IHt3aWR0aDo5MyUgIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7
YmxvY2tfaWR9fSAuYmVndW5fYWR2X2ZpeF92ZXIgLmJlZ3VuX2Fkdl9hbGwge2hl
aWdodDoxOHB4ICFpbXBvcnRhbnQ7cGFkZGluZzoycHggMCAwIDlweCAhaW1wb3J0
YW50O30jYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfZml4X3Zl
ciAuYmVndW5fYWR2X2Jsb2NrIHttYXJnaW46NXB4IDAgIWltcG9ydGFudDt9I2Jl
Z3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2X2ZpeF9ob3IgLmJlZ3Vu
X2Fkdl9jb21tb24ge21hcmdpbi10b3A6N3B4ICFpbXBvcnRhbnQ7dGV4dC1hbGln
bjpsZWZ0ICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJl
Z3VuX2Fkdl9maXhfaG9yIC5iZWd1bl9hZHZfYmxvY2sge21hcmdpbjowICFpbXBv
cnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9maXhf
aG9yIC5iZWd1bl9hZHZfc3lzX2xvZ28ge3dpZHRoOjUzcHggIWltcG9ydGFudDtm
bG9hdDpsZWZ0ICFpbXBvcnRhbnQ7cGFkZGluZzowICFpbXBvcnRhbnQ7fSNiZWd1
bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9maXhfaG9yIC5iZWd1bl9h
ZHZfc3lzX2xvZ28gZGl2IHt3aWR0aDo1M3B4ICFpbXBvcnRhbnQ7fSNiZWd1bl9i
bG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9maXhfaG9yIC5iZWd1bl9hZHZf
c3lzX3NpZ25fdXAge3dpZHRoOjUzcHggIWltcG9ydGFudDtmbG9hdDpsZWZ0ICFp
bXBvcnRhbnQ7Y2xlYXI6bGVmdCAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3ti
bG9ja19pZH19IC5iZWd1bl9hZHZfZml4X2hvciAuYmVndW5fYWR2X3N5c19zaWdu
X3VwIGRpdiB7cGFkZGluZy1sZWZ0OjRweCAhaW1wb3J0YW50O3RleHQtYWxpZ246
bGVmdCAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1
bl9hZHZfZml4X2hvciAuYmVndW5fYWR2X3RhYmxlIHttYXJnaW4tbGVmdDo2MHB4
ICFpbXBvcnRhbnQ7ZGlzcGxheTpibG9jayAhaW1wb3J0YW50O30jYmVndW5fYmxv
Y2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfZXh0IC5iZWd1bl9hZHZfY2VsbCAu
YmVndW5fYWR2X2NlbGwsI2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5f
YWR2X2V4dCAuYmVndW5fYWR2X2FsbCB7cGFkZGluZzo1cHggMnB4IDRweCA1cHgg
IWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2
IC5iZWd1bl9hZHZfZmF2IHtwYWRkaW5nLWxlZnQ6MjJweCAhaW1wb3J0YW50O2Jh
Y2tncm91bmQtcG9zaXRpb246bGVmdCAxcHggIWltcG9ydGFudDtiYWNrZ3JvdW5k
LXJlcGVhdDpuby1yZXBlYXQgIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7Ymxv
Y2tfaWR9fSAuYmVndW5fYWR2IC5iYW5uZXJzX2NvdW50XzEgLmJlZ3VuX2Fkdl9m
YXYge3BhZGRpbmctbGVmdDowICFpbXBvcnRhbnQ7YmFja2dyb3VuZC1wb3NpdGlv
bjotMTAwMHB4IC0xMDAwcHggIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7Ymxv
Y2tfaWR9fSAuYmVndW5fYWR2X2ZhdiAuYmVndW5fYWR2X3RpdGxlIGEge2JhY2tn
cm91bmQtcG9zaXRpb246LTEwMDBweCAtMTAwMHB4ICFpbXBvcnRhbnQ7fSNiZWd1
bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl90ZXh0LCNiZWd1bl9ibG9j
a197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl90ZXh0ICoge2NvbG9yOiMwMDAgIWlt
cG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2X2Js
b2NrIHtib3JkZXI6bm9uZSAhaW1wb3J0YW50O2N1cnNvcjpwb2ludGVyICFpbXBv
cnRhbnQ7Y3Vyc29yOmhhbmQgIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7Ymxv
Y2tfaWR9fSAuYmVndW5fc2Nyb2xsIHtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFu
dDt9I2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fc2Nyb2xsIHtwb3Np
dGlvbjpyZWxhdGl2ZSAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3tibG9ja19p
ZH19IC5iZWd1bl9hZHYgLmJlZ3VuX2Fkdl9jZWxsIC5iZWd1bl9hZHZfcGhvbmUg
KiB7Zm9udC1zaXplOjFweCAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3tibG9j
a19pZH19IC5iZWd1bl9hZHZfcGhvbmUge3dpZHRoOjEycHggIWltcG9ydGFudDtt
YXJnaW46MXB4IDNweCAwIDAgIWltcG9ydGFudDtwb3NpdGlvbjphYnNvbHV0ZSAh
aW1wb3J0YW50O3RvcDowICFpbXBvcnRhbnQ7bGVmdDowICFpbXBvcnRhbnQ7fSNi
ZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9waG9uZV93cmFwcGVy
IHtwYWRkaW5nLWxlZnQ6MTVweCAhaW1wb3J0YW50O3doaXRlLXNwYWNlOm5vd3Jh
cCAhaW1wb3J0YW50O3Bvc2l0aW9uOnJlbGF0aXZlICFpbXBvcnRhbnQ7ZGlzcGxh
eTppbmxpbmUtYmxvY2sgIWltcG9ydGFudDtfZGlzcGxheTppbmxpbmUgIWltcG9y
dGFudDt6b29tOjEgIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9
fSAuYmVndW5fYWR2X3Bob25lX3dyYXBwZXIuYmVndW5fYWR2X3Bob25lX25vX2lj
b24ge3BhZGRpbmctbGVmdDowICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197e2Js
b2NrX2lkfX0gZGl2LmJlZ3VuX2Fkdl9jb250YWN0ID4gLmJlZ3VuX2Fkdl9waG9u
ZSB7bWFyZ2luOjAgNXB4IDAgMCAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3ti
bG9ja19pZH19IC5iZWd1bl9hZHZfcGhvbmUgYiB7Ym9yZGVyOiMxMThmMDAgc29s
aWQgMCAhaW1wb3J0YW50O2hlaWdodDoxcHggIWltcG9ydGFudDtmb250LXNpemU6
MXB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MXB4ICFpbXBvcnRhbnQ7ZGlzcGxh
eTpibG9jayAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50O30j
YmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfcGhvbmUgLnAwLCNi
ZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9waG9uZSAucDEsI2Jl
Z3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2X3Bob25lIC5wMywjYmVn
dW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfcGhvbmUgLnA1LCNiZWd1
bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9waG9uZSAucDgge2JhY2tn
cm91bmQtY29sb3I6IzExOGYwMCAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3ti
bG9ja19pZH19IC5iZWd1bl9hZHZfcGhvbmUgLnAxLCNiZWd1bl9ibG9ja197e2Js
b2NrX2lkfX0gLmJlZ3VuX2Fkdl9waG9uZSAucDcsI2JlZ3VuX2Jsb2NrX3t7Ymxv
Y2tfaWR9fSAuYmVndW5fYWR2X3Bob25lIC5wOCB7bWFyZ2luOjAgMXB4ICFpbXBv
cnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9waG9u
ZSAucDIsI2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2X3Bob25l
IC5wNyB7Ym9yZGVyLXdpZHRoOjAgNHB4ICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9j
a197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9waG9uZSAucDMsI2JlZ3VuX2Jsb2Nr
X3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2X3Bob25lIC5wNiB7bWFyZ2luOjAgMnB4
ICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fk
dl9waG9uZSAucDAge21hcmdpbjowIDNweCAhaW1wb3J0YW50O30jYmVndW5fYmxv
Y2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfcGhvbmUgLnA0IHtib3JkZXItd2lk
dGg6MCAzcHggIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAu
YmVndW5fYWR2X3Bob25lIC5wNSB7bWFyZ2luOjAgNHB4ICFpbXBvcnRhbnQ7fSNi
ZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9waG9uZSAucDYge2Jv
cmRlci13aWR0aDowIDJweCAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3tibG9j
a19pZH19IC5iZWd1bl9hZHZfcGhvbmUgLnA4IHtoZWlnaHQ6MnB4ICFpbXBvcnRh
bnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9waG9uZSBi
IHtib3JkZXItY29sb3I6e3tkb21haW46Y29sb3J9fSAhaW1wb3J0YW50O30jYmVn
dW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfcGhvbmUgLnAwLCNiZWd1
bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9waG9uZSAucDEsI2JlZ3Vu
X2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2X3Bob25lIC5wMywjYmVndW5f
YmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfcGhvbmUgLnA1LCNiZWd1bl9i
bG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9waG9uZSAucDgge2JhY2tncm91
bmQtY29sb3I6e3tkb21haW46Y29sb3J9fSAhaW1wb3J0YW50O30jYmVndW5fYmxv
Y2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfcGhvbmUge2ZvbnQtc2l6ZToxMXB4
ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MTFweCAhaW1wb3J0YW50O21hcmdpbi10
b3A6e3twaG9uZV9tYXJnaW5fdG9wfX0gcHggIWltcG9ydGFudDt9I2JlZ3VuX2Js
b2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2X3RpdGxlIGEsI2JlZ3VuX2Jsb2Nr
X3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2X3RpdGxlIGEgKiB7Y29sb3I6e3t0aXRs
ZTpjb2xvcn19ICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0g
LmJlZ3VuX2FkdiAuYmVndW5fYWR2X3RpdGxlIGE6aG92ZXIsI2JlZ3VuX2Jsb2Nr
X3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2IC5iZWd1bl9hZHZfdGl0bGUgYTpob3Zl
ciAqIHtjb2xvcjojZjAwICFpbXBvcnRhbnQ7Y29sb3I6e3t0aXRsZV9ob3Zlcjpj
b2xvcn19ICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJl
Z3VuX2Fkdl90aXRsZSwjYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9h
ZHZfdGl0bGUgKiB7Zm9udC1zaXplOnt7dGl0bGU6Zm9udFNpemV9fSAhaW1wb3J0
YW50O30jYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfYWxsLCNi
ZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9hbGwgKiB7Y29sb3I6
e3tkb21haW46Y29sb3J9fSAhaW1wb3J0YW50O2ZvbnQtc2l6ZTp7e2RvbWFpbjpm
b250U2l6ZX19ICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0g
LmJlZ3VuX2Fkdl90ZXh0LCNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3Vu
X2Fkdl90ZXh0ICoge2NvbG9yOnt7dGV4dDpjb2xvcn19ICFpbXBvcnRhbnQ7Zm9u
dC1zaXplOnt7dGV4dDpmb250U2l6ZX19ICFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0
aW9uOm5vbmUgIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAu
YmVndW5fYWR2X2NvbnRhY3QsI2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVn
dW5fYWR2X2NvbnRhY3QgYSwjYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1
bl9hZHZfY29udGFjdCBzcGFuIHtjb2xvcjp7e2RvbWFpbjpjb2xvcn19ICFpbXBv
cnRhbnQ7Zm9udC1zaXplOnt7ZG9tYWluOmZvbnRTaXplfX0gIWltcG9ydGFudDt9
I2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2X3N5c19zaWduX3Vw
LCNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fkdl9zeXNfc2lnbl91
cCAqIHtjb2xvcjp7e2RvbWFpbjpjb2xvcn19ICFpbXBvcnRhbnQ7Zm9udC1zaXpl
Ont7ZG9tYWluOmZvbnRTaXplfX0gIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7
YmxvY2tfaWR9fSAuYmVndW5fYWR2X2NvbnRhY3QgYSB7Y29sb3I6e3tkb21haW46
Y29sb3J9fSAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRh
bnQ7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7Ymxv
Y2tfaWR9fSAuYmVndW5fYWR2X2NvbnRhY3Qgc3BhbiB7ZGlzcGxheTppbmxpbmUg
IWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2
IC5iZWd1bl9hZHZfdGh1bWIgLmJlZ3VuX3RodW1iIHtmbG9hdDpsZWZ0ICFpbXBv
cnRhbnQ7ZGlzcGxheTpibG9jayAhaW1wb3J0YW50O3otaW5kZXg6MSAhaW1wb3J0
YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50O3pvb206MSAhaW1wb3J0YW50
O30jYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHYgLmJlZ3VuX2Fk
dl90aHVtYiAuYmVndW5fdGh1bWIgaW1nIHt6LWluZGV4OjIwICFpbXBvcnRhbnQ7
fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2FkdiAuYmVndW5fYWR2
X3JpY2ggLmJlZ3VuX2Fkdl9pbWFnZSB7ZmxvYXQ6bGVmdCAhaW1wb3J0YW50O21h
cmdpbi1yaWdodDoxMHB4ICFpbXBvcnRhbnQ7dG9wOjhweCAhaW1wb3J0YW50O3dp
ZHRoOjcwcHggIWltcG9ydGFudDtoZWlnaHQ6NzBweCAhaW1wb3J0YW50O3Bvc2l0
aW9uOnJlbGF0aXZlICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lk
fX0gLmJlZ3VuX2Fkdl92ZXIgLmJlZ3VuX2Fkdl9yaWNoIC5iZWd1bl9hZHZfaW1h
Z2Uge3RvcDo1cHggIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9
fSAuYmVndW5fYWR2IC5iZWd1bl9hZHZfdGh1bWIgLmJlZ3VuX2Fkdl9ibG9jayB7
bWFyZ2luLWxlZnQ6NjBweCAhaW1wb3J0YW50O196b29tOjEgIWltcG9ydGFudDt9
I2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAuYmVndW5fYWR2IC5iZWd1bl9hZHZf
dGh1bWJfZGVmYXVsdCAuYmVndW5fYWR2X2Jsb2NrIHttYXJnaW4tbGVmdDo2MHB4
ICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2Fk
diAuYmVndW5fYWR2X3RodW1iX2NsYXNzaWMgLmJlZ3VuX2Fkdl9ibG9jayB7bWFy
Z2luLWxlZnQ6NzRweCAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3tibG9ja19p
ZH19IC5iZWd1bl9hZHYgLmJlZ3VuX2Fkdl9yaWNoIC5iZWd1bl9hZHZfYmxvY2sg
e21hcmdpbi1sZWZ0OjgwcHggIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7Ymxv
Y2tfaWR9fSAuYmVndW5fYWR2X2FjY29yZGlvbiAuYWNjb3JkaW9uX3NlY3Rpb24g
LmJlZ3VuX2Fkdl9jZWxsIC5iZWd1bl9hZHZfYmxvY2sgLmJlZ3VuX2Fkdl90aXRs
ZSwjYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfYWNjb3JkaW9u
IC5hY2NvcmRpb25fc2VjdGlvbiAuYmVndW5fYWR2X2NlbGwgLmJlZ3VuX2Fkdl9i
bG9jayAuc2VjdGlvbiB7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1w
b3J0YW50O19ib3JkZXI6bm9uZSAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3ti
bG9ja19pZH19IC5iZWd1bl9hZHZfYWNjb3JkaW9uIC5hY2NvcmRpb25fc2VjdGlv
biAuYmVndW5fYWR2X2NlbGwge3ZlcnRpY2FsLWFsaWduOnRvcCAhaW1wb3J0YW50
O30jYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfYWNjb3JkaW9u
IC5iZWd1bl9hZHZfYmxvY2sge21hcmdpbjo1cHggMCAwICFpbXBvcnRhbnQ7fSNi
ZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0uYmVndW5fYXV0b19yaWNoIC5iZWd1bl9h
ZHYgLmJhbm5lcnNfY291bnRfMSAuYmVndW5fYWR2X2NlbGwsI2JlZ3VuX2Jsb2Nr
X3t7YmxvY2tfaWR9fS5iZWd1bl9hdXRvX3JpY2ggLmJlZ3VuX2FkdiAuYmFubmVy
c19jb3VudF8xIC5iZWd1bl9hZHZfY2VsbCAqLCNiZWd1bl9ibG9ja197e2Jsb2Nr
X2lkfX0uYmVndW5fYXV0b19yaWNoIC5iZWd1bl9hZHYgLmJhbm5lcnNfY291bnRf
MSAuYmVndW5fYWR2X3RleHQsI2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fS5iZWd1
bl9hdXRvX3JpY2ggLmJlZ3VuX2FkdiAuYmFubmVyc19jb3VudF8xIC5iZWd1bl9h
ZHZfdGV4dCAqLCNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0uYmVndW5fYXV0b19y
aWNoIC5iZWd1bl9hZHYgLmJhbm5lcnNfY291bnRfMSAuYmVndW5fYWR2X3RpdGxl
LCNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0uYmVndW5fYXV0b19yaWNoIC5iZWd1
bl9hZHYgLmJhbm5lcnNfY291bnRfMSAuYmVndW5fYWR2X3RpdGxlICoge3RleHQt
YWxpZ246bGVmdCAhaW1wb3J0YW50O30jYmVndW5fdG9wX2dyYXBoX2Jhbm5lciB7
bWFyZ2luOjJweCAwcHggMnB4IDBweCAhaW1wb3J0YW50O2JvcmRlcjpub25lICFp
bXBvcnRhbnQ7Ym9yZGVyLXNwYWNpbmc6MHB4ICFpbXBvcnRhbnQ7YmFja2dyb3Vu
ZC1jb2xvcjojZmZmICFpbXBvcnRhbnQ7fSNiZWd1bl90b3BfZ3JhcGhfYmFubmVy
IC5iZWd1bl90b3BfZ3JhcGhfYmFubmVyX2xlZnRfY29sLCNiZWd1bl90b3BfZ3Jh
cGhfYmFubmVyIC5iZWd1bl90b3BfZ3JhcGhfYmFubmVyX3JpZ2h0X2NvbCB7aGVp
Z2h0OjkwcHggIWltcG9ydGFudDt3aWR0aDo1MCUgIWltcG9ydGFudDtiYWNrZ3Jv
dW5kLWNvbG9yOiNmZmYgIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7YmxvY2tf
aWR9fSAuYmVndW5fYWR2IC5iZWd1bl9hZHZfY2VsbCAuYmVndW5fYWR2X3Bob25l
X3dyYXBwZXIgLmJlZ3VuX2Fkdl9waG9uZSAqLCNiZWd1bl9ibG9ja197e2Jsb2Nr
X2lkfX0uYmVndW5fYXV0b19yaWNoIC5iZWd1bl9hZHYgLmJlZ3VuX2Fkdl9jZWxs
IC5iZWd1bl9hZHZfcGhvbmVfd3JhcHBlciAuYmVndW5fYWR2X3Bob25lICoge2Zv
bnQtc2l6ZToxcHggIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9
fSAuYmVndW5fYWR2X3ZlciAuYmVndW5fYWR2X3Bob25lIHttYXJnaW4tdG9wOjNw
eCAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9h
ZHYgLmJlZ3VuX2FsY29fbWVzc2FnZSB7cGFkZGluZzoxMnB4IDEwcHggMTVweCAy
MHB4ICFpbXBvcnRhbnQ7cG9zaXRpb246cmVsYXRpdmUgIWltcG9ydGFudDt0b3A6
MHB4ICFpbXBvcnRhbnQ7Zm9udC1zaXplOjlweCAhaW1wb3J0YW50O2xpbmUtaGVp
Z2h0OjEuMmVtICFpbXBvcnRhbnQ7Y29sb3I6IzMzMzMzMyAhaW1wb3J0YW50O3Rl
eHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50O2JhY2tncm91bmQtY29s
b3I6I0YwRjBGMCAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3tibG9ja19pZH19
IC5iZWd1bl9hZHYgLmJlZ3VuX2FsY29fbWVzc2FnZSBzcGFuLmJlZ3VuX2FsY29f
YXR0ZW50aW9uLCNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gLmJlZ3VuX2FkdiAu
YmVndW5fYWR2X3RpdGxlIHNwYW4uYmVndW5fYWxjb19hdHRlbnRpb24ge2NvbG9y
OiNGRjAwMDAgIWltcG9ydGFudDt9I2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAu
YmVndW5fYWR2IC5iZWd1bl9hbGNvX21lc3NhZ2Ugc3Bhbi5iZWd1bl9hbGNvX2F0
dGVudGlvbiB7bGVmdDoxMHB4ICFpbXBvcnRhbnQ7cG9zaXRpb246YWJzb2x1dGUg
IWltcG9ydGFudDt0b3A6MTBweCAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3ti
bG9ja19pZH19IC5iZWd1bl9hZHYgLmJlZ3VuX2Fkdl90aXRsZSBzcGFuLmJlZ3Vu
X2FsY29fYXR0ZW50aW9uIHttYXJnaW4tbGVmdDo1cHggIWltcG9ydGFudDtmb250
LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lk
fX0gLmJlZ3VuX2Fkdl92ZXIgLmJlZ3VuX2FsY29fbWVzc2FnZSB7cGFkZGluZzox
MHB4IDdweCAxMHB4IDdweCAhaW1wb3J0YW50O30jYmVndW5fYmxvY2tfe3tibG9j
a19pZH19IC5iZWd1bl9hZHZfdmVyIC5iZWd1bl9hbGNvX21lc3NhZ2Ugc3Bhbi5i
ZWd1bl9hbGNvX2F0dGVudGlvbiB7cG9zaXRpb246c3RhdGljICFpbXBvcnRhbnQ7
dG9wOjAgIWltcG9ydGFudDtsZWZ0OjAgIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6
NXB4ICFpbXBvcnRhbnQ7fSNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0gI2JlZ3Vu
X2FsY29fe3tibG9ja19pZH19LmJlZ3VuX2Fkdl92ZXIge2JvcmRlci1jb2xsYXBz
ZTpjb2xsYXBzZSAhaW1wb3J0YW50O31cCiNiZWd1bl9ibG9ja197e2Jsb2NrX2lk
fX0gLmJlZ3VuX2FkdiB7XApiYWNrZ3JvdW5kLWNvbG9yOiB7e2Jsb2NrOmJhY2tn
cm91bmRDb2xvcn19OyAvKiBubyAhaW1wb3J0YW50IGZvciBob3ZlciAqL1wKYm9y
ZGVyOiAxcHggc29saWQge3tibG9jazpib3JkZXJDb2xvcn19OyAvKiBubyAhaW1w
b3J0YW50IGZvciBob3ZlciAqL1wKZmlsdGVyOiB7e2Jsb2NrOmZpbHRlcn19OyAv
KiBubyAhaW1wb3J0YW50IGZvciBob3ZlciAqL1wKfVwKI2JlZ3VuX2Jsb2NrX3t7
YmxvY2tfaWR9fSAuYmVndW5fYWR2LmJlZ3VuX2hvdmVyIHtcCmJhY2tncm91bmQt
Y29sb3I6IHt7YmxvY2tfaG92ZXI6YmFja2dyb3VuZENvbG9yfX07IC8qIG5vICFp
bXBvcnRhbnQgZm9yIGhvdmVyICovXApib3JkZXI6IDFweCBzb2xpZCB7e2Jsb2Nr
X2hvdmVyOmJvcmRlckNvbG9yfX07IC8qIG5vICFpbXBvcnRhbnQgZm9yIGhvdmVy
ICovXApmaWx0ZXI6IHt7YmxvY2tfaG92ZXI6ZmlsdGVyfX07IC8qIG5vICFpbXBv
cnRhbnQgZm9yIGhvdmVyICovXAp9XAojYmVndW5fYmxvY2tfe3tibG9ja19pZH19
IC5iZWd1bl9hZHYgLmJlZ3VuX2Fkdl9yaWNoIC5iZWd1bl9hY3RpdmVfaW1hZ2Ug
e1wKei1pbmRleDoxMDAwO1wKfVwKI2JlZ3VuX2Jsb2NrX3t7YmxvY2tfaWR9fSAu
YmVndW5fYWR2IC5iZWd1bl9hZHZfcmljaCAuYmVndW5fYWN0aXZlX2ltYWdlIGlt
ZyB7XAp6LWluZGV4OjEwMDAgIWltcG9ydGFudDtcCn1cCiNiZWd1bl9ibG9ja197
e2Jsb2NrX2lkfX0gLmJlZ3VuX2FkdiAuYmVndW5fYWR2X3JpY2ggLmJlZ3VuX2Fk
dl9pbWFnZSBpbWcge1wKYm9yZGVyOjFweCBzb2xpZCB7e2Jsb2NrOmJvcmRlckNv
bG9yfX07XApwb3NpdGlvbjphYnNvbHV0ZSAhaW1wb3J0YW50O1wKdG9wOjA7XAps
ZWZ0OjA7XAp6LWluZGV4OjIwO1wKY3Vyc29yOnBvaW50ZXI7XAp9XAojYmVndW5f
YmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHYgLmJlZ3VuX2Fkdl9yaWNoIC5i
ZWd1bl9hZHZfcGljdHVyZSB7XAovKndpZHRoOjcwcHg7XApoZWlnaHQ6NzBweDsq
L1wKcG9zaXRpb246YWJzb2x1dGUgIWltcG9ydGFudDtcCnotaW5kZXg6MjA7XAp9
XAojYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZfYWNjb3JkaW9u
IC5iZWd1bl9hZHZfdGFibGUgdHIuYWNjb3JkaW9uX3NlY3Rpb24gLnNlY3Rpb24g
e1wKcGFkZGluZy10b3A6MXB4O1wKaGVpZ2h0OjFweDtcCm92ZXJmbG93OmhpZGRl
bjtcCnBvc2l0aW9uOnJlbGF0aXZlICFpbXBvcnRhbnQ7XAp9XAojYmVndW5fYmxv
Y2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHYuYmVndW5fYWR2X2FjY29yZGlvbiAu
YmVndW5fYWR2X2NvbW1vbiAuYmVndW5fYWR2X3RhYmxlIHRyLmFjY29yZGlvbl9z
ZWN0aW9uLmV4cGFuZGVkIHRkIHtcCmJhY2tncm91bmQtY29sb3I6e3thY2NvcmRp
b246YmFja2dyb3VuZENvbG9yfX0gIWltcG9ydGFudDtcCn1cCiNiZWd1bl9ibG9j
a197e2Jsb2NrX2lkfX0gLmJlZ3VuX2NvbGxhcHNlZCB7XApoZWlnaHQ6NDVweCAh
aW1wb3J0YW50O1wKb3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnQ7XAp9XAojYmVn
dW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9jb2xsYXBzZWQgLmJlZ3VuX2Fk
dl90aXRsZSB7XAptYXJnaW4tYm90dG9tOjMwcHggIWltcG9ydGFudDtcCn1cCic7
CmNzc1snZm9yT3BlcmFJRSddPSdcCiNiZWd1bl9ibG9ja197e2Jsb2NrX2lkfX0g
LmJlZ3VuX2Fkdl9jb250YWN0IHNwYW4uYmVndW5fYWR2X3Bob25lIHtcCmZsb2F0
Om5vbmUgIWltcG9ydGFudDtcCnBvc2l0aW9uOnN0YXRpYyAhaW1wb3J0YW50O1wK
dmVydGljYWwtYWxpZ246IHRvcDtcCmRpc3BsYXk6aW5saW5lLWJsb2NrICFpbXBv
cnRhbnQ7XAp9XAojYmVndW5fYmxvY2tfe3tibG9ja19pZH19IC5iZWd1bl9hZHZf
cGhvbmVfd3JhcHBlciB7XApwYWRkaW5nLWxlZnQ6MCAhaW1wb3J0YW50O1wKcG9z
aXRpb246c3RhdGljICFpbXBvcnRhbnQ7XApkaXNwbGF5OmlubGluZSAhaW1wb3J0
YW50O1wKfVwKJzsKdmFyIGh0bWw9e307Cmh0bWxbJ2JsY2tfcGxhY2UnXT0nPGRp
diBpZD0ie3tpZH19Ij48L2Rpdj4nOwpodG1sWydsaW5rX2lmcmFtZSddPSc8aWZy
YW1lIHNyYz0ie3t1cmx9fSIgc3R5bGU9ImhlaWdodDowO3dpZHRoOjA7Ym9yZGVy
OjAiPjwvaWZyYW1lPic7Cmh0bWxbJ2JubnJfZ2x1ZSddPScgPHNwYW4gY2xhc3M9
ImJlZ3VuX2Fkdl9idWxsaXQiPiAmIzE0OTsgPC9zcGFuPiAnOwpodG1sWydibm5y
X3Bob25lJ109J1wKPHNwYW4gY2xhc3M9ImJlZ3VuX2Fkdl9waG9uZSI+PGIgY2xh
c3M9InAwIj48L2I+PGIgY2xhc3M9InAxIj48L2I+PGIgY2xhc3M9InAyIj48L2I+
PGIgY2xhc3M9InA0Ij48YiBjbGFzcz0icDMiPjwvYj48L2I+PGIgY2xhc3M9InA1
Ij48L2I+PGIgY2xhc3M9InA2Ij48YiBjbGFzcz0icDEiPjwvYj48L2I+PGIgY2xh
c3M9InA3Ij48L2I+PGIgY2xhc3M9InA4Ij48L2I+PC9zcGFuPlwKJzsKaHRtbFsn
Ym5ucl9jYXJkJ109J1wKPHNwYW4gY2xhc3M9ImJlZ3VuX2Fkdl9waG9uZV93cmFw
cGVyIHt7bm9fcGhvbmVfY2xhc3N9fSI+e3twaG9uZX19PHNwYW4gY2xhc3M9ImJl
Z3VuX2Fkdl9jYXJkIj48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0ie3t1cmx9fSIg
Y2xhc3M9InNuYXBfbm9zaG90cyI+e3tjYXJkX3RleHR9fTwvYT48L3NwYW4+PC9z
cGFuPlwKJzsKaHRtbFsnYm5ucl9wcGNhbGwnXT0nXAo8c3BhbiBjbGFzcz0iYmVn
dW5fYWR2X3Bob25lX3dyYXBwZXIiPjxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgw
KSIgb25jbGljaz0iJythYy5TdHJpbmdzLmpzLnBwY2FsbF9zaG93Kycoe3tiYW5u
ZXJfaW5kZXh9fSwgdGhpcywgZXZlbnQsIHt7cGFkX2lkfX0sIFwne3tsaW5rfX1c
Jywge3tpc19tb2JpbGV9fSkiPnt7cGhvbmV9fTxzcGFuIGNsYXNzPSJiZWd1bl9h
ZHZfY2FyZCIgdGl0bGU9IiYjMTA0NzsmIzEwNzQ7JiMxMDg2OyYjMTA4NTsmIzEw
ODY7JiMxMDgyOyYjMzI7JiMxMDczOyYjMTA3NzsmIzEwODk7JiMxMDg3OyYjMTA4
MzsmIzEwNzI7JiMxMDkwOyYjMTA4NTsmIzEwOTk7JiMxMDgxOyI+e3twcGNhbGxf
dGV4dH19PC9zcGFuPjwvYT48L3NwYW4+XAonOwpodG1sWydibm5yX2RvbWFpbidd
PSdcCjxzcGFuIGNsYXNzPSJiZWd1bl9hZHZfY29udGFjdCI+PGEgY2xhc3M9InNu
YXBfbm9zaG90cyIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Int7dXJsfX0iIG9ubW91
c2VvdmVyPSJzdGF0dXM9XCd7e3N0YXR1c319XCc7cmV0dXJuIHRydWUiIG9ubW91
c2VvdXQ9InN0YXR1cz1cJ1wnO3JldHVybiB0cnVlIiB0aXRsZT0ie3tmdWxsRG9t
YWlufX0iPnt7ZG9tYWlufX08L2E+PC9zcGFuPiBcCic7Cmh0bWxbJ2JubnJfZ2Vv
J109J1wKPHNwYW4gY2xhc3M9ImJlZ3VuX2Fkdl9jaXR5Ij48YSBjbGFzcz0ic25h
cF9ub3Nob3RzIiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0ie3t1cmx9fSIgb25tb3Vz
ZW92ZXI9InN0YXR1cz1cJ3t7c3RhdHVzfX1cJztyZXR1cm4gdHJ1ZSIgb25tb3Vz
ZW91dD0ic3RhdHVzPVwnXCc7cmV0dXJuIHRydWUiIHRpdGxlPSJ7e2Z1bGxEb21h
aW59fSI+e3tnZW99fTwvYT48L3NwYW4+XAonOwpodG1sWydibm5yX3RodW1iJ109
J1wKPGEgaHJlZj0ie3t1cmx9fSIgY2xhc3M9ImJlZ3VuX3RodW1iIHNuYXBfbm9z
aG90cyIgc3R5bGU9IndpZHRoOnt7d2lkdGh9fXB4ICFpbXBvcnRhbnQ7aGVpZ2h0
Ont7aGVpZ2h0fX1weCAhaW1wb3J0YW50O3t7YWRkaXRpb25hbFN0eWxlc319IiB0
YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9Int7c3JjfX0iIHt7cG5nZml4fX0ge3tt
b3VzZV9ldmVudHN9fSB3aWR0aD0ie3t3aWR0aH19IiBoZWlnaHQ9Int7aGVpZ2h0
fX0iIGFsdD0iIiBzdHlsZT0id2lkdGg6e3t3aWR0aH19cHggIWltcG9ydGFudDti
YWNrZ3JvdW5kLWNvbG9yOnt7Ymdjb2xvcn19OyIgLz48L2E+XAonOwpodG1sWydi
bm5yX3BpY3R1cmUnXT0nXAo8ZGl2IGNsYXNzPSJiZWd1bl9hZHZfaW1hZ2UiPjxh
IGhyZWY9Int7dXJsfX0iIGNsYXNzPSJzbmFwX25vc2hvdHMiIHRhcmdldD0iX2Js
YW5rIj48aW1nIHNyYz0ie3tzcmN9fSIgX2JpZ19waG90b19zcmM9Int7YmlnX3Bo
b3RvX3NyY319IiBfc21hbGxfcGhvdG9fc3JjPSJ7e3NyY319IiBjbGFzcz0iYmVn
dW5fYWR2X3BpY3R1cmUiIGFsdD0iIiAvPjwvYT48L2Rpdj5cCic7Cmh0bWxbJ2Js
b2NrX2FsY28nXT0nXAo8ZGl2IGNsYXNzPSJiZWd1bl9hbGNvX21lc3NhZ2UiPjxz
cGFuIGNsYXNzPSJiZWd1bl9hbGNvX2F0dGVudGlvbiI+Kjwvc3Bhbj5cCiYjMTA2
MzsmIzEwODg7JiMxMDc3OyYjMTA3OTsmIzEwODQ7JiMxMDc3OyYjMTA4ODsmIzEw
ODU7JiMxMDg2OyYjMTA3NzsgJiMxMDkxOyYjMTA4NzsmIzEwODY7JiMxMDkwOyYj
MTA4ODsmIzEwNzc7JiMxMDczOyYjMTA4MzsmIzEwNzc7JiMxMDg1OyYjMTA4MDsm
IzEwNzc7ICYjMTA3MjsmIzEwODM7JiMxMDgyOyYjMTA4NjsmIzEwNzU7JiMxMDg2
OyYjMTA4MzsmIzExMDM7ICYjMTA3NDsmIzEwODg7JiMxMDc3OyYjMTA3NjsmIzEw
ODA7JiMxMDkwOyAmIzEwNDI7JiMxMDcyOyYjMTA5NjsmIzEwNzc7JiMxMDg0OyYj
MTA5MTsgJiMxMDc5OyYjMTA3NjsmIzEwODY7JiMxMDg4OyYjMTA4NjsmIzEwNzQ7
JiMxMTAwOyYjMTEwMjtcCjwvZGl2PlwKJzsKaHRtbFsnYm5ucl9hbGNvX2F0dG4n
XT0nXAo8c3BhbiBjbGFzcz0iYmVndW5fYWxjb19hdHRlbnRpb24iPio8L3NwYW4+
XAonOwpodG1sWydibGNrX2hvdmVyJ109JyBvbm1vdXNlb3Zlcj0iQmVndW4uVXRp
bHMuYWRkQ2xhc3NOYW1lKHRoaXMsIFwnYmVndW5faG92ZXJcJyk7IiBvbm1vdXNl
b3V0PSJCZWd1bi5VdGlscy5yZW1vdmVDbGFzc05hbWUodGhpcywgXCdiZWd1bl9o
b3ZlclwnKTsiJzsKaHRtbFsndG9wX2dyYXBoX2Jhbm5lciddPSc8dGFibGUgaWQ9
ImJlZ3VuX3RvcF9ncmFwaF9iYW5uZXIiPjx0Ym9keT48dHI+PHRkIGNsYXNzPSJi
ZWd1bl90b3BfZ3JhcGhfYmFubmVyX2xlZnRfY29sIj48L3RkPjx0ZCBpZD0ie3tp
ZH19Ij48L3RkPjx0ZCBjbGFzcz0iYmVndW5fdG9wX2dyYXBoX2Jhbm5lcl9yaWdo
dF9jb2wiPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+JzsKaHRtbFsnc2VhcmNo
X2Jhbm5lcl9zd2YnXT0nPG9iamVjdCBjbGFzc2lkPSJjbHNpZDpEMjdDREI2RS1B
RTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDAiIHdpZHRoPSJ7e3dpZHRofX0iIGhl
aWdodD0ie3toZWlnaHR9fSI+PHBhcmFtIG5hbWU9Im1vdmllIiBWQUxVRT0ie3tz
b3VyY2V9fSZsaW5rMT17e3VybH19Ij48cGFyYW0gbmFtZT0id21vZGUiIHZhbHVl
PSJvcGFxdWUiPjxwYXJhbSBuYW1lPSJhbGxvd1NjcmlwdEFjY2VzcyIgdmFsdWU9
ImFsd2F5cyI+PHBhcmFtIG5hbWU9InF1YWxpdHkiIFZBTFVFPSJoaWdoIj48ZW1i
ZWQgc3JjPSJ7e3NvdXJjZX19JmxpbmsxPXt7dXJsfX0iIHF1YWxpdHk9ImhpZ2gi
IHdpZHRoPSJ7e3dpZHRofX0iIGhlaWdodD0ie3toZWlnaHR9fSIgdHlwZT0iYXBw
bGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giIHdtb2RlPSJvcGFxdWUiPjwvZW1i
ZWQ+PC9vYmplY3Q+JzsKaHRtbFsnc2VhcmNoX2Jhbm5lcl9qcyddPScnOwpodG1s
WydzZWFyY2hfYmFubmVyX2ltZyddPSc8YSBocmVmPSJ7e3VybH19IiB0YXJnZXQ9
Il9ibGFuayI+PGltZyBzcmM9Int7c291cmNlfX0mcmVkaXI9MSIgYm9yZGVyPSIw
IiB3aWR0aD0ie3t3aWR0aH19IiBoZWlnaHQ9Int7aGVpZ2h0fX0iIHN0eWxlPSJ3
aWR0aDp7e3dpZHRofX1weDtoZWlnaHQ6e3toZWlnaHR9fXB4OyIgLz48L2E+JzsK
CnRoaXMuZ2V0Q1NTPWZ1bmN0aW9uKHR5cGUpewpyZXR1cm4gY3NzW3R5cGVdOwp9
Owp0aGlzLmdldEhUTUw9ZnVuY3Rpb24odHlwZSl7CnJldHVybiBodG1sW3R5cGVd
Owp9Owp0aGlzLmFkZFRwbHM9ZnVuY3Rpb24obmV3VHBscyl7CnZhciB0eXBlcz1b
J2h0bWwnLCdjc3MnXTsKdmFyIGk9MDsKdmFyIHR5cGU9bnVsbDsKdmFyIGlzX2Rl
ZmF1bHRfY3NzX292ZXJyaWRlPWZhbHNlOwppZihjc3NbJ2RlZmF1bHQnXSYmd2lu
ZG93WydiZWd1bl9jc3NfdHBscyddJiZ3aW5kb3dbJ2JlZ3VuX2Nzc190cGxzJ11b
J2RlZmF1bHQnXSYmY3NzWydkZWZhdWx0J10hPXdpbmRvd1snYmVndW5fY3NzX3Rw
bHMnXVsnZGVmYXVsdCddKXsKaXNfZGVmYXVsdF9jc3Nfb3ZlcnJpZGU9dHJ1ZTsK
fQp2YXIgdHBsQ29udGFpbmVyPXR5cGVvZiBuZXdUcGxzPT09InVuZGVmaW5lZCI/
d2luZG93Om5ld1RwbHM7CndoaWxlKHR5cGU9dHlwZXNbaV0pewppZih0eXBlb2Yg
dHBsQ29udGFpbmVyWydiZWd1bl8nK3R5cGUrJ190cGxzJ10hPT0idW5kZWZpbmVk
Iil7CnZhciBqPTA7CnZhciB0cGw9bnVsbDsKd2hpbGUodHBsPXRwbENvbnRhaW5l
clsnYmVndW5fJyt0eXBlKydfdHBscyddW2pdKXsKQmVndW4uZXh0ZW5kKGV2YWwo
dHlwZSksdHBsKTsKaisrOwp9Cn0KaSsrOwp9CnJldHVybiBpc19kZWZhdWx0X2Nz
c19vdmVycmlkZTsKfTsKfTsKCmFjLkN1c3RvbWl6YXRpb249bmV3IGZ1bmN0aW9u
KCl7CnZhciBfdGhpcz10aGlzOwp2YXIgY2FsbGJhY2tzTG9nZ2VkPWZhbHNlOwp0
aGlzLmluaXQ9ZnVuY3Rpb24oKXsKaWYodHlwZW9mIHdpbmRvdy5iZWd1bl91cmxz
IT09InVuZGVmaW5lZCIpewpfdGhpcy5zZXRVUkxzKHdpbmRvdy5iZWd1bl91cmxz
KTsKd2luZG93LmJlZ3VuX3VybHM9bnVsbDsKfQppZih0eXBlb2Ygd2luZG93LmJl
Z3VuX2NhbGxiYWNrcyE9PSJ1bmRlZmluZWQiKXsKaWYoIWNhbGxiYWNrc0xvZ2dl
ZCl7CkJlZ3VuLlV0aWxzLmluY2x1ZGVDb3VudGVyKCJodHRwOi8vYXV0b2NvbnRl
eHQuYmVndW4ucnUvYmxvY2tjdXN0b20/cGFkX2lkPXt7cGFkX2lkfX0mbG9nX2Nh
bGxiYWNrcz0xIix7InBhZF9pZCI6KHdpbmRvdy5iZWd1bl9hdXRvX3BhZHx8Jycp
fSk7CmNhbGxiYWNrc0xvZ2dlZD10cnVlOwp9Cl90aGlzLnNldENhbGxiYWNrcyh3
aW5kb3cuYmVndW5fY2FsbGJhY2tzKTsKd2luZG93LmJlZ3VuX2NhbGxiYWNrcz1u
dWxsOwp9CmlmKF90aGlzLnNldFRwbHMoKXx8IWFyZ3VtZW50cy5jYWxsZWUucnVu
KXsKYWMucHJpbnREZWZhdWx0U3R5bGUoKTsKYXJndW1lbnRzLmNhbGxlZS5ydW49
dHJ1ZTsKCn0KfTsKdGhpcy5zZXRVUkxzPWZ1bmN0aW9uKHVybHMpewpCZWd1bi5l
eHRlbmQoYWMuU3RyaW5ncy51cmxzLHVybHN8fHt9KTsKfTsKdGhpcy5zZXRDYWxs
YmFja3M9ZnVuY3Rpb24oY2FsbGJhY2tzKXsKYWMuQ2FsbGJhY2tzLnJlZ2lzdGVy
KGNhbGxiYWNrc3x8e30pOwp9Owp0aGlzLnNldFRwbHM9ZnVuY3Rpb24obmV3VHBs
cyl7CmFjLlRwbHMuYWRkVHBscyhuZXdUcGxzKTsKfTsKfTsKfSkoKTsKCihmdW5j
dGlvbigpewp2YXIgYWM9QmVndW4uQXV0b2NvbnRleHQ7CgpmdW5jdGlvbiBvbkNv
bnRlbnQoZil7CnZhciBhLGQ9ZG9jdW1lbnQsdz13aW5kb3csYz0iX19vbkNvbnRl
bnRfXyIsZT0iYWRkRXZlbnRMaXN0ZW5lciIsbz0ib3BlcmEiLHI9InJlYWR5U3Rh
dGUiLApzPSI8c2NyIi5jb25jYXQoImlwdCBkZWZlciBzcmM9Jy8vOicgb24iLHIs
ImNoYW5nZT0naWYgKHRoaXMuIixyLCI9PVwiY29tcGxldGVcIikge3RoaXMucGFy
ZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzKTsiLGMsIigpfSc+PC9zY3IiLCJpcHQ+
Iik7CndbY109KGZ1bmN0aW9uKG8pewpyZXR1cm4gZnVuY3Rpb24oKXsKd1tjXT1m
dW5jdGlvbigpe307CmZvcihhPWFyZ3VtZW50cy5jYWxsZWU7IWEuZG9uZTthLmRv
bmU9MSl7CmYobz9vKCk6byk7Cn0KfTsKfSkod1tjXSk7CmlmKGRbZV0pewpkW2Vd
KCJET01Db250ZW50TG9hZGVkIix3W2NdLGZhbHNlKTsKfQp2YXIgYmI9QmVndW4u
QnJvd3NlcjsKaWYoKGJiLldlYktpdCl8fChiYi5PcGVyYSYmYmIubGVzcyg5KSkp
ewooZnVuY3Rpb24oKXsKL2xvYWRlZHxjb21wbGV0ZS8udGVzdChkW3JdKT93W2Nd
KCk6c2V0VGltZW91dChhcmd1bWVudHMuY2FsbGVlLDEpOwp9KSgpOwp9ZWxzZSBp
ZihiYi5JRSl7CmQud3JpdGUocyk7Cn0KfQoKb25Db250ZW50KGZ1bmN0aW9uKCl7
CmFjLkNhbGxiYWNrcy5kaXNwYXRjaCgnYmxvY2tzJywnZHJhdycsYWMpOwp2YXIg
cHBjYWxscz0oZnVuY3Rpb24oKXsKdmFyIHJlcz0iWyI7CnZhciBzZXBhcmF0ZVBh
ZHM9IiI7CnZhciBzZXBhcmF0ZUJsb2NrczsKdmFyIHBhZ2VQYWRzPWFjLlBhZHMu
Z2V0UGFkcygpOwp2YXIgaXNBbnlQcGNhbGxBZD1mYWxzZTsKZm9yKHZhciBpPTA7
aTxwYWdlUGFkcy5sZW5ndGg7aSsrKXsKcmVzKz1zZXBhcmF0ZVBhZHMrIntcInBh
ZF9pZFwiOiIrcGFnZVBhZHNbaV0ucGFkX2lkKyIsXCJibG9ja3NcIjpbIjsKc2Vw
YXJhdGVCbG9ja3M9IiI7CmZvcih2YXIgaj0wO2o8cGFnZVBhZHNbaV0uYmxvY2tz
Lmxlbmd0aDtqKyspewp2YXIgYmxvY2tFbGVtZW50PWFjLkJsb2Nrcy5nZXREb21P
YmoocGFnZVBhZHNbaV0uYmxvY2tzW2pdLmlkKTsKaWYoIWJsb2NrRWxlbWVudCl7
CmNvbnRpbnVlOwp9CnZhciBsaW5rcz1ibG9ja0VsZW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoImEiKTsKdmFyIHF1YW50aXR5PTA7CmZvcih2YXIgaz0wO2s8bGlu
a3MubGVuZ3RoO2srKyl7CnZhciBvbkNsaWNrQXR0cj1saW5rc1trXS5nZXRBdHRy
aWJ1dGUoIm9uY2xpY2siKTsKaWYob25DbGlja0F0dHImJm9uQ2xpY2tBdHRyLnRv
U3RyaW5nKCkuaW5kZXhPZihhYy5TdHJpbmdzLmpzLnBwY2FsbF9zaG93KSE9PS0x
KXsKcXVhbnRpdHkrKzsKaXNBbnlQcGNhbGxBZD10cnVlOwp9Cn0KcmVzKz1zZXBh
cmF0ZUJsb2Nrcysie1wiaWRcIjoiK3BhZ2VQYWRzW2ldLmJsb2Nrc1tqXS5pZCsi
LFwicHBjYWxsX2NvdW50XCI6IitxdWFudGl0eSsifSI7CnNlcGFyYXRlQmxvY2tz
PSIsIjsKfQpyZXMrPSJdfSI7CnNlcGFyYXRlUGFkcz0iLCI7Cn0KaWYoaXNBbnlQ
cGNhbGxBZCl7CnJldHVybiByZXMrIl0iOwp9ZWxzZXsKcmV0dXJuIiI7Cn0KfSko
KTsKaWYocHBjYWxscy5sZW5ndGg+Mil7CkJlZ3VuLlV0aWxzLmluY2x1ZGVDb3Vu
dGVyKGFjLlN0cmluZ3MudXJscy5wcGNhbGxzX2NvdW50ZXIseydwcGNhbGxfZGF0
YSc6ZW5jb2RlVVJJQ29tcG9uZW50KHBwY2FsbHMpfSk7Cn0KaWYoIUJlZ3VuLkJy
b3dzZXIuSUUpewp2YXIgc3R5bGVFbGVtZW50cz1kb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgic3R5bGUiKTsKZm9yKHZhciBpPTA7aTxzdHlsZUVsZW1lbnRz
Lmxlbmd0aDtpKyspewp2YXIgc3R5bGVJZD1zdHlsZUVsZW1lbnRzW2ldLmdldEF0
dHJpYnV0ZSgiaWQiKTsKaWYoKCFzdHlsZUlkfHwhL2JlZ3VuLWJsb2NrLWNzcy0v
LnRlc3Qoc3R5bGVJZCkpJiYvI2JlZ3VuX2Jsb2NrXy9pLnRlc3Qoc3R5bGVFbGVt
ZW50c1tpXS5pbm5lckhUTUwpKXsKQmVndW4uVXRpbHMuaW5jbHVkZUNvdW50ZXIo
Imh0dHA6Ly9hdXRvY29udGV4dC5iZWd1bi5ydS9ibG9ja2N1c3RvbT9wYWRfaWQ9
e3twYWRfaWR9fSZsb2dfY3NzX292ZXJyaWRlPTEiLHsicGFkX2lkIjood2luZG93
LmJlZ3VuX2F1dG9fcGFkfHwnJyl9KTsKYnJlYWs7Cn0KfQp9CmFjLmRvbUNvbnRl
bnRMb2FkZWQ9dHJ1ZTsKfSk7CgphYy5Nb25pdG9yLmluaXQoKTsKfSkoKTsKQmVn
dW4uQXV0b2NvbnRleHQuaW5pdCgpOwp9Cn0KCmlmKHR5cGVvZiBCZWd1bi5BdXRv
Y29udGV4dD09PSJvYmplY3QiKXsKQmVndW4uQXV0b2NvbnRleHQuaW5pdCgpOwp9
CgpCZWd1bi5TY3JpcHRzLmFkZFN0cmljdEZ1bmN0aW9uKEJlZ3VuLlNjcmlwdHMu
Q2FsbGJhY2tzWydhYyddKTsKfQoKaWYodHlwZW9mIEJlZ3VuLlNjcmlwdHMhPT0i
b2JqZWN0Iil7CihmdW5jdGlvbigpewp2YXIgc2NyaXB0cz17CiJiZWd1bl9zY3Jp
cHRzIjoiMjk1NjEiCn07CnZhciBiYXNlVXJsPXdpbmRvdy5iZWd1bl91cmxzJiZ3
aW5kb3cuYmVndW5fdXJscy5iYXNlX3NjcmlwdHNfdXJsP3dpbmRvdy5iZWd1bl91
cmxzLmJhc2Vfc2NyaXB0c191cmw6Imh0dHA6Ly9hdXRvY29udGV4dC5iZWd1bi5y
dS8iOwpmb3IodmFyIHNjcmlwdE5hbWUgaW4gc2NyaXB0cyl7CmlmKHNjcmlwdHMu
aGFzT3duUHJvcGVydHkoc2NyaXB0TmFtZSkpewpkb2N1bWVudC53cml0ZSgiPHNj
ciIrImlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCIgc3JjPVwiIitiYXNlVXJs
KyJhY3AvIitzY3JpcHROYW1lKyIuIitzY3JpcHRzW3NjcmlwdE5hbWVdKyIuanMi
KyJcIj48L3NjciIrImlwdD4iKTsKfQp9Cn0pKCk7Cn1lbHNlewppZih0eXBlb2Yg
QmVndW4uU2NyaXB0cy5hZGRTdHJpY3RGdW5jdGlvbiE9PSJ1bmRlZmluZWQiKXsK
YmVndW5fbG9hZF9hdXRvY29udGV4dCgpOwp9Cn0K
------------lOdbdcaHCTZRQX8JiBQeSz
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://evrika-st.at.ua/.s/t/963/20.gif
Content-Transfer-Encoding: Base64
R0lGODlhCAAIAIAAABROVv///yH5BAAAAAAALAAAAAAIAAgAAAINjI+Ap5rRGJwm
voVDAQA7
------------lOdbdcaHCTZRQX8JiBQeSz
Content-Disposition: inline; filename=963.css
Content-Type: text/css; charset=UTF-8; name=963.css
Content-Location: http://evrika-st.at.ua/.s/src/css/963.css
Content-Transfer-Encoding: 8bit
/* General Style */
a:link {text-decoration:underline; color:#2B7E7E;}
a:active {text-decoration:underline; color:#2B7E7E;}
a:visited {text-decoration:underline; color:#2B7E7E;}
a:hover {text-decoration:none; color:#000000;}
.topLink a:link {text-decoration:none; color:#FFFFFF;}
.topLink a:active {text-decoration:none; color:#FFFFFF;}
.topLink a:visited {text-decoration:none; color:#FFFFFF;}
.topLink a:hover {text-decoration:none; color:#000000;}
td, body {font-family:verdana,arial,helvetica; font-size:8pt;}
form {padding:0px;margin:0px;}
input,textarea,select {vertical-align:middle; font-size:8pt; font-family:verdana,arial,helvetica;}
.copy {font-size:7pt;}
a.noun:link {text-decoration:none; color:#1C6C77}
a.noun:active {text-decoration:none; color:#1C6C77}
a.noun:visited {text-decoration:none; color:#1C6C77}
a.noun:hover {text-decoration:underline; color:#000000}
hr {color:#1C6C77;height:1px;}
label {cursor:pointer;cursor:hand}
.blocktitle {font-family:Verdana,Sans-Serif;color:#C24747;font-size:12px;}
a.menu1:link {text-decoration:underline; color:#FFCC00}
a.menu1:active {text-decoration:underline; color:#FFCC00}
a.menu1:visited {text-decoration:underline; color:#FFCC00}
a.menu1:hover {text-decoration:underline; color:#000000}
.menuTd {padding-left:12px;padding-right:10px; background: url('/.s/t/963/19.gif') no-repeat 0px 3px;}
.mframe {border-left:1px solid #E5E7EA; border-right:1px solid #E5E7EA;}
.colgray {border-right:1px solid #E5E7EA;}
.colwhite {border-right:1px solid #FAFAFA;}
.msep {border-top:1px solid #FAFAFA;}
/* ------------- */
/* Menus */
ul.uz, ul.uMenuRoot {list-style: none; margin: 0 0 0 0; padding-left: 0px;}
li.menus {margin: 0; padding: 0 0 0 13px; background: url('/.s/t/963/20.gif') no-repeat 0px 3px; margin-bottom: .6em;}
/* ----- */
/* Site Menus */
.uMenuH li {float:left;padding:0 5px;}
.uMenuV .uMenuItem {font-weight:normal;}
.uMenuV li a:link {text-decoration:none; color:#1C6C77}
.uMenuV li a:active {text-decoration:none; color:#1C6C77}
.uMenuV li a:visited {text-decoration:none; color:#1C6C77}
.uMenuV li a:hover {text-decoration:none; color:#000000}
.uMenuV a.uMenuItemA:link {text-decoration:none; color:#CCA301}
.uMenuV a.uMenuItemA:visited {text-decoration:none; color:#CCA301}
.uMenuV a.uMenuItemA:hover {text-decoration:none; color:#CCA301}
.uMenuV .uMenuArrow {position:absolute;width:10px;height:10px;right:0;top:3px;background:url('/.s/img/wd/1/ar1.gif') no-repeat 0 0;}
.uMenuV li {margin: 0; padding: 0 0 0 13px; background: url('/.s/t/963/20.gif') no-repeat 0px 3px; margin-bottom: .6em;}
/* --------- */
/* Module Part Menu */
.catsTd {padding: 0 0 6px 13px; background: url('/.s/t/963/20.gif') no-repeat 0px 3px;}
.catName {font-family:Verdana,Tahoma,Arial,Sans-Serif;font-size:11px;}
.catNameActive {font-family:Verdana,Tahoma,Arial,Sans-Serif;font-size:11px;}
.catNumData {font-size:7pt;color:#1C6C77;}
.catDescr {font-size:7pt; padding-left:10px;}
a.catName:link {text-decoration:none; color:#1C6C77;}
a.catName:visited {text-decoration:none; color:#1C6C77;}
a.catName:hover {text-decoration:none; color:#000000;}
a.catName:active {text-decoration:none; color:#1C6C77;}
a.catNameActive:link {text-decoration:none; color:#CCA301;}
a.catNameActive:visited {text-decoration:none; color:#CCA301;}
a.catNameActive:hover {text-decoration:none; color:#000000;}
a.catNameActive:active {text-decoration:none; color:#000000;}
/* ----------------- */
/* Entries Style */
.eBlock {}
.eTitle {font-family:Verdana,Arial,Sans-Serif;font-size:13px;font-weight:bold;color:#CCA301; padding: 1px 0 1px 20px; background: url('/.s/t/963/21.gif') no-repeat;}
.eTitle a:link {text-decoration:underline; color:#CCA301;}
.eTitle a:visited {text-decoration:underline; color:#CCA301;}
.eTitle a:hover {text-decoration:underline; color:#000000;}
.eTitle a:active {text-decoration:underline; color:#CCA301;}
.eMessage {text-align:justify;padding-bottom:5px;}
.eText {text-align:justify;padding-bottom:5px;padding-top:5px;border-top:1px solid #1C6C77}
.eDetails {border-top:1px dashed #DDDDDD;border-bottom:1px dashed #DDDDDD;font-family:Verdana,Tahoma,Arial,Sans-Serif;color:#636363;padding-bottom:5px;padding-top:3px;text-align:left;font-size:7pt;}
.eDetails1 {border-top:1px dashed #DDDDDD;border-bottom:1px dashed #DDDDDD;font-family:Verdana,Tahoma,Arial,Sans-Serif;color:#636363;padding-bottom:5px;padding-top:3px;text-align:left;font-size:8pt;}
.eDetails2 {border-bottom:1px dashed #DDDDDD;font-family:Verdana,Tahoma,Arial,Sans-Serif;color:#636363;padding-bottom:5px;padding-top:3px;text-align:left;font-size:8pt;}
.eRating {font-size:7pt;}
.eAttach {margin: 16px 0 0 0; padding: 0 0 0 15px; background: url('/.s/t/963/22.gif') no-repeat 0px 0px;}
/* ------------- */
/* Entry Manage Table */
.manTable {}
.manTdError {color:#FF0000;}
.manTd1 {}
.manTd2 {}
.manTd3 {}
.manTdSep {}
.manHr {}
.manTdBrief {}
.manTdText {}
.manTdFiles {}
.manFlFile {}
.manTdBut {}
.manFlSbm {}
.manFlRst {}
.manFlCnt {}
/* ------------------ */
/* Comments Style */
.cAnswer {padding-left:15px;padding-top:4px;font-style:italic;}
.cBlock1 {background:#F1F2F3; border:1px solid #DDDDDD;}
.cBlock2 {background:#F1F2F3; border:1px solid #DDDDDD;}
/* -------------- */
/* Comments Form Style */
.commTable {border:1px solid #CECECE;background:#FAFAFA;}
.commTd1 {color:#000000;}
.commTd2 {}
.commFl {color:#1C6C77;width:100%;background:#FEFAFA;border:1px solid #1C6C77;}
.smiles {border:1px inset;background:#FFFFFF;}
.commReg {padding: 10 0 10 0px; text-align:center;}
.commError {color:#FF0000;}
.securityCode {color:#1C6C77;background:#FEFAFA;border:1px solid #1C6C77;}
/* ------------------- */
/* Archive Menu */
.archUl {list-style: none; margin:0; padding-left:0;}
.archLi {padding: 0 0 3px 10px; background: url('/.s/t/963/23.gif') no-repeat 0px 4px; font-family:Tahoma,Arial,Sans-Serif;}
a.archLink:link {text-decoration:underline; color:#1C6C77;}
a.archLink:visited {text-decoration:underline; color:#1C6C77;}
a.archLink:hover {text-decoration:none; color:#000000;}
a.archLink:active {text-decoration:none; color:#000000;}
/* ------------ */
/* Archive Style */
.archiveCalendars {text-align:center;color:#0000FF;}
.archiveDateTitle {font-weight:bold;color:#1C6C77;padding-top:15px;}
.archEntryHr {width:250px;color:#DDDDDD;}
.archiveeTitle li {margin-left: 15px; padding: 0 0 0 15px; background: url('/.s/t/963/24.gif') no-repeat 0px 4px; margin-bottom: .6em;}
.archiveEntryTime {width:65px;font-style:italic;}
.archiveEntryComms {font-size:9px;color:#C3C3C3;}
a.archiveDateTitleLink:link {text-decoration:none; color:#1C6C77}
a.archiveDateTitleLink:visited {text-decoration:none; color:#1C6C77}
a.archiveDateTitleLink:hover {text-decoration:underline; color:#1C6C77}
a.archiveDateTitleLink:active {text-decoration:underline; color:#1C6C77}
.archiveNoEntry {text-align:center;color:#0000FF;}
/* ------------- */
/* Calendar Style */
.calMonth {}
.calWday {color:#FFFFFF; background:#62AAB4; width:18px;}
.calWdaySe {color:#FFFFFF; background:#1C6C77; width:18px;}
.calWdaySu {color:#FFFFFF; background:#1C6C77; width:18px; font-weight:bold;}
.calMday {background:#FFFFFF; border: 1px solid #CECECE;}
.calMdayA {background:#FFCC00;font-weight:bold;}
.calMdayIs {background:#CECECE;font-weight:bold; border: 1px solid #CECECE;color:#555555;}
.calMdayIsA {border:1px solid #FFCC00; background:#CECECE;font-weight:bold;}
a.calMonthLink:link,a.calMdayLink:link {text-decoration:none; color:#1C6C77;}
a.calMonthLink:visited,a.calMdayLink:visited {text-decoration:none; color:#1C6C77;}
a.calMonthLink:hover,a.calMdayLink:hover {text-decoration:underline; color:#1C6C77;}
a.calMonthLink:active,a.calMdayLink:active {text-decoration:underline; color:#000000;}
/* -------------- */
/* Poll styles */
.pollBut {width:110px;}
.pollBody {padding:7px; margin:0px; background:#FFFFFF}
.textResults {background:#EBE0E0}
.textResultsTd {background:#FFFFFF}
.pollNow {border-bottom:1px solid #EBE0E0; border-left:1px solid #EBE0E0; border-right:1px solid #EBE0E0;}
.pollNowTd {}
.totalVotesTable {border-bottom:1px solid #EBE0E0; border-left:1px solid #EBE0E0; border-right:1px solid #EBE0E0;}
.totalVotesTd {background:#FFFFFF;}
/* ---------- */
/* User Group Marks */
a.groupModer:link,a.groupModer:visited,a.groupModer:hover {color:blue;}
a.groupAdmin:link,a.groupAdmin:visited,a.groupAdmin:hover {color:red;}
a.groupVerify:link,a.groupVerify:visited,a.groupVerify:hover {color:green;}
/* ---------------- */
/* Other Styles */
.replaceTable {background:#FAFAFA;height:100px;width:300px;border:1px solid #1C6C77;}
.replaceBody {background:#144E56;}
.legendTd {font-size:7pt;}
/* ------------ */
/* ===== forum Start ===== */
/* General forum Table View */
.gTable {background:#1C6C77;}
.gTableTop {padding:2px;background:url('/.s/t/963/25.gif') #1D6F7B;color:#FFFFFF;font-weight:bold;height:21px;padding-left:17px;font-size:10pt;}
.gTableSubTop {padding:2px;background:url('/.s/t/963/26.gif') bottom #FFB800;color:#000000;height:20px;font-size:10px;}
.gTableBody {padding:2px;background:#FAFAFA;}
.gTableBody1 {padding:2px;background:#FFFFFF;}
.gTableBottom {padding:2px;background:#FAFAFA;}
.gTableLeft {padding:2px;background:#FAFAFA;font-weight:bold;color:#1C6C77}
.gTableRight {padding:2px;background:#FAFAFA}
.gTableError {padding:2px;background:#FAFAFA;color:#FF0000;}
/* ------------------------ */
/* Forums Styles */
.forumNameTd,.forumLastPostTd {padding:2px;background:#FFFFFF}
.forumIcoTd,.forumThreadTd,.forumPostTd {padding:2px;background:#FAFAFA}
.forumLastPostTd,.forumArchive {padding:2px;font-size:7pt;}
a.catLink:link {text-decoration:none; color:#FFFFFF;}
a.catLink:visited {text-decoration:none; color:#FFFFFF;}
a.catLink:hover {text-decoration:underline; color:#000000;}
a.catLink:active {text-decoration:underline; color:#FFFFFF;}
.lastPostGuest,.lastPostUser,.threadAuthor {font-weight:bold}
.archivedForum{font-size:7pt;color:#FF0000;font-weight:bold;}
/* ------------- */
/* forum Titles & other */
.forum {font-weight:bold;font-size:9pt;}
.forumDescr,.forumModer {color:#858585;font-size:7pt;}
.forumViewed {font-size:9px;}
a.forum:link, a.lastPostUserLink:link, a.forumLastPostLink:link, a.threadAuthorLink:link {text-decoration:none; color:#1C6C77;}
a.forum:visited, a.lastPostUserLink:visited, a.forumLastPostLink:visited, a.threadAuthorLink:visited {text-decoration:none; color:#1C6C77;}
a.forum:hover, a.lastPostUserLink:hover, a.forumLastPostLink:hover, a.threadAuthorLink:hover {text-decoration:underline; color:#99BDC2;}
a.forum:active, a.lastPostUserLink:active, a.forumLastPostLink:active, a.threadAuthorLink:active {text-decoration:underline; color:#1C6C77;}
/* -------------------- */
/* forum Navigation Bar */
.forumNamesBar {font-weight:bold;font-size:7pt;}
.forumBarKw {font-weight:normal;}
a.forumBarA:link {text-decoration:none; color:#000000;}
a.forumBarA:visited {text-decoration:none; color:#000000;}
a.forumBarA:hover {text-decoration:none; color:#1C6C77;}
a.forumBarA:active {text-decoration:underline; color:#1C6C77;}
/* -------------------- */
/* forum Fast Navigation Blocks */
.fastNav,.fastSearch,.fastLoginForm {font-size:7pt;}
/* ---------------------------- */
/* forum Fast Navigation Menu */
.fastNavMain {background:#F0C6C6;}
.fastNavCat {background:#F9E6E6;}
.fastNavCatA {background:#F9E6E6;color:#0000FF}
.fastNavForumA {color:#0000FF}
/* -------------------------- */
/* forum Page switches */
.switches {background:#86BAC2;}
.pagesInfo {background:#FFFFFF;padding-right:10px;font-size:7pt;}
.switch {background:#FFFFFF;width:15px;font-size:7pt;}
.switchActive {background:#FFCC00;font-weight:bold;color:#000000;width:15px}
a.switchDigit:link,a.switchBack:link,a.switchNext:link {text-decoration:none; color:#000000;}
a.switchDigit:visited,a.switchBack:visited,a.switchNext:visited {text-decoration:none; color:#000000;}
a.switchDigit:hover,a.switchBack:hover,a.switchNext:hover {text-decoration:underline; color:#FF0000;}
a.switchDigit:active,a.switchBack:active,a.switchNext:active {text-decoration:underline; color:#FF0000;}
/* ------------------- */
/* forum Threads Style */
.threadNametd,.threadAuthTd,.threadLastPostTd {padding:2px;padding:2px;background:#FFFFFF}
.threadIcoTd,.threadPostTd,.threadViewTd {padding:2px;background:#FAFAFA}
.threadLastPostTd {padding:2px;font-size:7pt;}
.threadDescr {color:#858585;font-size:7pt;}
.threadNoticeLink {font-weight:bold;}
.threadsType {padding:2px;background:#ECECEC;height:20px;font-weight:bold;font-size:7pt;color:#1C6C77;padding-left:40px;}
.threadsDetails {padding:2px;background:#FFCC00;height:20px;color:#000000;}
.forumOnlineBar {padding:2px;background:#144E56;height:20px;color:#FFFFFF;}
a.threadPinnedLink:link {text-decoration:none; color:#0000FF;}
a.threadPinnedLink:visited {text-decoration:none; color:#0000FF;}
a.threadPinnedLink:hover {text-decoration:none; color:#FF0000;}
a.threadPinnedLink:active {text-decoration:underline; color:#FF0000;}
a.threadLink:link {text-decoration:none; color:#1C6C77;}
a.threadLink:visited {text-decoration:none; color:#1C6C77;}
a.threadLink:hover {text-decoration:underline; color:#000000;}
a.threadLink:active {text-decoration:underline; color:#000000;}
.postpSwithces {font-size:7pt;}
.thDescr {font-weight:normal;}
.threadFrmBlock {font-size:7pt;text-align:right;}
/* ------------------- */
/* forum Posts View */
.postTable {}
.postPoll {background:#FAFAFA;text-align:center;}
.postFirst {background:#FAFAFA;border-bottom:3px solid #FFCC00;}
.postRest1 {background:#FAFAFA;}
.postRest2 {background:#FAFAFA;}
.postSeparator {height:3px;background:#144E56;}
.postTdTop {background:url('/.s/t/963/26.gif') bottom #FFB800;color:#000000;height:20px;}
.postBottom {background: #ECECEC;color:#000000;height:20px;}
.postUser {font-weight:bold;}
.postTdInfo {text-align:center;padding:5px; background:#FAFAFA;}
.postRankName {margin-top:5px;}
.postRankIco {margin-bottom:5px;margin-bottom:5px;}
.reputation {margin-top:5px;}
.signatureHr {margin-top:20px;color:#965A5A;}
.posttdMessage {padding:5px; background:#FFFFFF;}
.pollQuestion {text-align:center;font-weight:bold;}
.pollButtons,.pollTotal {text-align:center;}
.pollSubmitBut,.pollreSultsBut {width:140px;font-size:7pt;}
.pollSubmit {font-weight:bold;}
.pollEnd {text-align:center;height:30px;}
.codeMessage {background:#FFFFFF;font-size:9px;}
.quoteMessage {background:#FFFFFF;font-size:9px;}
.signatureView {font-size:7pt;}
.edited {padding-top:30px;font-size:7pt;text-align:right;color:gray;}
.editedBy {font-weight:bold;font-size:8pt;}
.statusBlock {padding-top:3px;}
.statusOnline {color:#0000FF;}
.statusOffline {color:#FF0000;}
/* ------------------ */
/* forum AllInOne Fast Add */
.newThreadBlock {background: #F9F9F9;border: 1px solid #B2B2B2;}
.newPollBlock {background: #F9F9F9;border: 1px solid #B2B2B2;}
.newThreadItem {padding: 0 0 0 8px; background: url('/.s/t/963/27.gif') no-repeat 0px 4px;}
.newPollItem {padding: 0 0 0 8px; background: url('/.s/t/963/27.gif') no-repeat 0px 4px;}
/* ----------------------- */
/* forum Post Form */
.pollBut, .loginButton, .searchSbmFl, .commSbmFl, .signButton {font-size:7pt;background: #1C6C77;color:#FFFFFF;border:1px outset #1C6C77;}
.codeButtons {font-size:7pt;background: #1C6C77;color:#FFFFFF;border:1px outset #1C6C77;}
.codeCloseAll {font-size:7pt;background: #1C6C77;color:#FFFFFF;border:1px outset #1C6C77;font-weight:bold;}
.postNameFl,.postDescrFl {background:#FEFAFA;border:1px solid #1C6C77;width:400px}
.postPollFl,.postQuestionFl {background:#FEFAFA;border:1px solid #1C6C77;width:400px}
.postResultFl {background:#FEFAFA;border:1px solid #1C6C77;width:50px}
.postAnswerFl {background:#FEFAFA;border:1px solid #1C6C77;width:300px}
.postTextFl {background:#FEFAFA;border:1px solid #1C6C77;width:100%;height:150px}
.postUserFl {background:#FEFAFA;border:1px solid #1C6C77;width:300px}
.pollHelp {font-weight:normal;font-size:7pt;padding-top:3px;}
.smilesPart {padding-top:5px;text-align:center}
/* ----------------- */
/* ====== forum End ====== */
------------lOdbdcaHCTZRQX8JiBQeSz
Content-Disposition: inline; filename=layer1.css
Content-Type: text/css; charset=UTF-8; name=layer1.css
Content-Location: http://s16.ucoz.net/src/layer1.css
Content-Transfer-Encoding: 8bit
.cuzadpn {position:absolute;top:0;left:0;width:100%;background:#CAD9EC url('/.s/img/wd/1/abbg.gif') repeat-x; height:24px;} div > div.cuzadpn {position:fixed;}
#uzadmp {padding-left:4px}
.cuzadpn, .cuzadpn td {font:normal normal normal 8pt/normal Tahoma,'ms sans serif',Arial !important;color:#000000 !important;}
.cuzadpn form {padding:0;margin:0;}
.cuzadpn input {padding:1px 3px; border:1px solid #B5B8C8; background:#FFFFFF url(/.s/img/wd/1/text-bg.gif) repeat-x 0 0; font-family:Tahoma,Arial;font-size:8pt;color:#515151;}
.u-menu .xw-mc{background:#CAD9EC;border-right:1px solid #DFE8F6;border-bottom:1px solid #DFE8F6;border-top:1px solid #a3bae9;border-left:1px solid #a3bae9;}
.u-menu .u-menubody {border-left:1px solid #DFE8F6;border-top:1px solid #DFE8F6;border-bottom:1px solid #a3bae9;border-right:1px solid #a3bae9;background:transparent !important;}
.u-menuvsep {background: url('/.s/img/wd/1/spr.gif') repeat-x 0 3px;padding: 3px 0;}
.u-menuvitem {position:relative;padding: 2px 16px 2px 4px;white-space: nowrap;overflow: visible;line-height:18px;zoom:1;color:#000000;text-align:left;}
.u-menu .u-menuitemhl {background: #DEE7F6 url('/.s/img/wd/1/menubg.gif') repeat-x scroll 0 0;cursor:pointer;}
.u-menuarrow {background:transparent url(/.s/img/wd/1/ar1.gif) no-repeat scroll 5px 8px;height:16px;width:16px;position:absolute;right:0;top:0}
.u-menuvitemparent {}
.u-menuh {padding-top:1px;}
.u-menuh .u-menubody {background:transparent}
.u-menuhsep {border-left:2px ridge #CAD9EC;height:100%}
.u-menuhitem {padding:0;white-space: nowrap;overflow: visible;cursor:pointer;color:#000000;text-align:left;}
.u-menuh .u-menuitemhl {cursor:pointer;}
.u-menuitemhl .admBarLeft {background: transparent url('/.s/img/wd/1/tb-btn-sprite.gif') no-repeat 0 0;}
.u-menuitemhl .admBarRight {background: transparent url('/.s/img/wd/1/tb-btn-sprite.gif') no-repeat 0 -21px;}
.u-menuitemhl .admBarCenter {background: #DEE7F6 url('/.s/img/wd/1/tb-btn-sprite.gif') repeat-x 0 -42px;}
.admBarLeft,.admBarRight {width:3px;height:21px;float:left;}
.admBarCenter {height:21px;float:left}
.admBarCenter div {;padding:3px 3px 0 3px;font-weight:normal;}
.u-menu a:link,.u-menu a:visited,.u-menu a:hover,.u-menu a:active {text-decoration:none;color:#000000;cursor:pointer;}
.u-wndmenufr {border-left:1px solid #DFE8F6;border-top:1px solid #DFE8F6;border-bottom:1px solid #a3bae9;border-right:1px solid #a3bae9;}
.u-wndmenu {overflow:hidden}
.u-wndmenu .u-menuhitem {padding: 2px 6px 2px 6px;white-space: nowrap;overflow: visible;cursor:pointer}
.pbarContainer {text-align:left;position:absolute; z-index:56; top:5px; right:7px; height:13px; width:49px; padding:0 2px; font-size:1px; background:url('/.s/img/wd/1/discuse.gif') top no-repeat; cursor:help;}
.pbarFiller {height:3px; margin:5px 0; background:#51B5EA;}
* html .pbarContainer {width:53px;}
/* ============== */
.x-unselectable {-moz-user-select:-moz-none;}
.x-selectable {-moz-user-select:text}
.x-sh, .x-sh *{overflow:hidden;margin:0;border:0}
.xsl *,.xsr *,.xsb * {height:100%}
.x-sh .xstl{padding-top:6px;background:transparent url( /.s/img/wd/1/shadow-h.png ) no-repeat 0 0;}
.x-sh .xsml{background:transparent url( /.s/img/wd/1/shadow-h.png ) repeat-y -6px 0;}
.x-sh .xstr{padding-top:6px;background:transparent url( /.s/img/wd/1/shadow-h.png ) no-repeat -18px 0;}
.x-sh .xsmr{background:transparent url( /.s/img/wd/1/shadow-h.png ) repeat-y -12px 0;}
.x-sh .xsbl{padding-left:6px;background:transparent url( /.s/img/wd/1/shadow.png ) no-repeat 0 -12px;}
.x-sh .xsbc{background:transparent url( /.s/img/wd/1/shadow.png ) repeat-x 0 -36px;}
.x-sh .xsbr{padding-right:6px;background:transparent url( /.s/img/wd/1/shadow.png ) no-repeat right -6px;}
.xt{position:relative;overflow:hidden;width:15px;height:15px;float:right;cursor:pointer;background:transparent url(/.s/img/wd/1/tool-sprites.gif) no-repeat;margin-left:2px;margin-top:4px;}
.xt-close{background-position:0 0;}
.xt-close-over{background-position:-15px 0;}
.xt-mini{background-position:0 -15px;}
.xt-mini-over{background-position:-15px -15px;}
.xt-maxi{background-position:0 -30px;}
.xt-maxi-over{background-position:-15px -30px;}
.xt-rest{background-position:0 -45px;}
.xt-rest-over{background-position:-15px -45px;}
.xw-hdr{text-align:left;white-space:nowrap;padding:1px 0 0 0;white-space:nowrap;zoom:1;height:24px}
.xw-hdr-text{vertical-align:3px;cursor:default;color:#15428b;font:bold 11px tahoma,arial,verdana,sans-serif;line-height:20px;}
.xw-sps {height:4px;overflow:hidden;position:absolute;width:100%;z-index:1}
.xw-tsps{height:6px}
.xw-resize .xw-tl {cursor:nw-resize}
.xw-resize .xw-tr {cursor:ne-resize}
.xw-resize .xw-sps {cursor:n-resize}
.xw-resize .xw-ml {cursor:w-resize}
.xw-resize .xw-mr {cursor:e-resize}
.xw-resize .xw-mc {cursor:default}
.xw-resize .xw-bl {cursor:sw-resize}
.xw-resize .xw-br {cursor:se-resize}
.xw-resize .xw-bc {cursor:s-resize}
.xw-dragging .xw-tl {opacity:0.7;filter:Alpha(Opacity='70');}
.xw-tc{background:transparent url(/.s/img/wd/1/top-bottom.png) repeat-x 0 0;overflow:hidden;zoom:1;position:relative;font-size:0;line-height:0;}
.xw-tl{background:transparent url(/.s/img/wd/1/left-corners.png) no-repeat 0 0;padding-left:6px;position:relative;zoom:1}
.xw-tr{background:transparent url(/.s/img/wd/1/right-corners.png) no-repeat right 0;padding-right:6px;position:relative;zoom:1}
.xw-bc{background:transparent url(/.s/img/wd/1/top-bottom.png) repeat-x 0 bottom;zoom:1;font-size:0;line-height:0;overflow:hidden;}
.xw-bcm{height:2px;background:transparent url(/.s/img/wd/1/top-bottom.png) repeat-x 0 bottom;zoom:1}
.xw-bc .xw-footer{padding-bottom:6px;font-size:0;line-height:0;zoom:1;}
.xw-bcm .xw-footer{padding-bottom:2px;font-size:0;line-height:0;zoom:1;}
.xw-bl{background:transparent url(/.s/img/wd/1/left-corners.png) no-repeat 0 bottom;padding-left:6px;zoom:1;}
.xw-br{background:transparent url(/.s/img/wd/1/right-corners.png) no-repeat right bottom;padding-right:6px;zoom:1;}
.xw-mc{border:1px solid #99bbe8;padding:0;margin:0;font:normal 11px tahoma,arial,helvetica,sans-serif;background:#CAD9EC;zoom:1;}
.xw-ml{background:transparent url(/.s/img/wd/1/left-right.png) repeat-y 0 0;padding-left:6px;zoom:1;}
.xw-mr{background:transparent url(/.s/img/wd/1/left-right.png) repeat-y right 0;padding-right:6px;zoom:1;}
.xw-bc {height:6px;}
.xw-icon{width:16px;margin:2px 2px 0 0;height:16px;}
.xw-body{background:transparent}
.xw-draggable,.xw-draggable .xw-hdr-text{cursor:move;}
.xw-plain .xw-mc{background:#CAD9EC;border-right:1px solid #DFE8F6;border-bottom:1px solid #DFE8F6;border-top:1px solid #a3bae9;border-left:1px solid #a3bae9;}
.xw-plain .xw-body{padding:3px;border-left:1px solid #DFE8F6;border-top:1px solid #DFE8F6;border-bottom:1px solid #a3bae9;border-right:1px solid #a3bae9;background:transparent !important;}
.xw-blank {background:#a3bae9;opacity:0.4;filter:Alpha(Opacity='40');overflow:hidden}
.myWinGrid {background:#000000 url('/.s/img/1px.gif');opacity:0.25;filter:alpha(opacity=25);}
.myWinCont,.myWinCont td, .myWinCont dl,.myWinCont dt {color:#000000;font-size:8pt;font-family:Tahoma,Arial;}
.myWinCont a:link, .myWinCont a:visited{text-decoration:underline;color:#515151;}
.myWinCont a:hover,.myWinCont a:active{text-decoration:none;color:#000000;}
.myWinError {color:red;}
.myWinSuccess {color:blue;}
.myWinCont {overflow:hidden;-moz-user-select:text}
.myWinCont form {padding:0px;margin:0px;}
.myWinCont input, .myWinCont select {font-family:Tahoma,Arial;font-size:8pt;color:#515151;vertical-align:middle;}
.myWinCont input[type='checkbox'], .myWinCont input[type='radio'] {height:16px;width:16px;}
.myWinCont input[type='text'],.myWinCont input[type='password'] {padding:2px 3px;border:1px solid #B5B8C8; background:#ffffff url(/.s/img/wd/1/text-bg.gif) repeat-x 0 0;}
.myWinCont textarea {padding:2px 3px;border:1px solid #B5B8C8; background:#ffffff url(/.s/img/wd/1/text-bg.gif) repeat-x 0 0;}
.myWinCont input[readonly] {color:#BBBBBB}
.myWinCont textarea {font-family:'Courier New';font-size:9pt;}
.myWinCont input[type='text']:focus,.myWinCont input[type='password']:focus, .myWinCont textarea:focus {border:1px solid #799ADF; background:#ffffff url(/.s/img/wd/1/text-bg-focus.gif) repeat-x 0 0;}
.myWinCont input[type='checkbox'],.myWinCont input[type='radio'] {margin:1px 2px 0 1px;}
.myWinCont hr {height:1px;border:1px dashed #a3bae9;border-top:0px;background:transparent;}
.myWinCont label {cursor:pointer;display:inline; margin:0;vertical-align:middle;}
.myWinCont legend {padding-bottom:2px;padding-left:3px;padding-right:3px; font-size:10px; color:#15428b;}
.myWinCont fieldset {border:1px solid #a3bae9; padding:2px 5px; margin-bottom:3px;}
.myWinCont ul {list-style:none; margin: 0 0 0 3px; padding-left: 0px;}
.myWinCont li {margin:2px 0 2px 0; padding: 0 0 0 14px; background: url('/.s/img/wd/1/li.png') no-repeat 0 2px;}
.myWinCont .fHelp {font-size:7pt;color:#8A8A8A;}
.myWinLoad {margin:0;width:31px;height:31px;background:url('/.s/img/wd/1/ajax.gif') no-repeat 0 0;}
.myWinLoadS {margin:0;width:16px;height:16px;background:url('/.s/img/wd/1/ajaxs.gif') no-repeat 0 0;}
.myWinLoadSD {margin:0;width:16px;height:16px;background:url('/.s/img/icon/ok.png') no-repeat 0 0;}
.myWinLoadSF {margin:0;width:16px;height:16px;background:url('/.s/img/icon/er.png') no-repeat 0 0;cursor:help;}
.myWinPollG {margin:0;width:215px;height:131px;background:url('/.s/img/wd/1/gridh.gif') no-repeat 0 0;}
.myWinPollT {background:#a3bae9;}
.myWinPollTd {background:#D5E1F0;}
.myWinTD1 {background:#CAD9EC;}
.myWinTD2 {background:#DFE8F6;}
.myWinCont .pgSwch, .myWinCont .pgSwchA {padding:2px 5px 2px 5px; border:1px solid #a3bae9; font-weight:bold; line-height:2em;}
.myWinCont .pgSwchA {background:#DFE8F6;}
.myWinCont a.pgSwch:link, .myWinCont a.pgSwch:visited {text-decoration:none; color:#3288B5;}
.myWinCont a.pgSwch:hover {text-decoration:none; background:#DFE8F6; color:#000000}
/* ============== */
.myBtnCont {padding:0 4px 2px 4px;width:auto;white-space:nowrap;cursor:pointer;}
.myBtnCont a:link, .myBtnCont a:visited, .myBtnCont a:hover, .myBtnCont a:active {text-decoration:none; font-family:tahoma,arial,verdana; color:#000000; font-size:8pt;}
.myBtnDis a:link, .myBtnDis a:visited, .myBtnDis a:hover, .myBtnDis a:active {color:#B3B3B3;}
.myBtnLeftA {background: transparent url('/.s/img/wd/1/btn-sprite.gif') no-repeat 0 -133px;}
.myBtnRightA {background: transparent url('/.s/img/wd/1/btn-sprite.gif') no-repeat 0 -152px;}
.myBtnCenterA {background: #E3E7EB url('/.s/img/wd/1/btn-sprite.gif') repeat-x 0 -171px;height:19px;}
.overBtn .myBtnLeftA,.downBtn .myBtnLeftA,.overBtn .myBtnLeft,.downBtn .myBtnLeft {background-position: 0 -57px;}
.overBtn .myBtnRightA,.downBtn .myBtnRightA,.overBtn .myBtnRight,.downBtn .myBtnRight {background-position: 0 -76px;}
.overBtn .myBtnCenter,.overBtn .myBtnCenterA {background-position: 0 -95px;}
.downBtn .myBtnCenter,.downBtn .myBtnCenterA {background-position: 0 -114px;}
.myBtnLeftA, .myBtnRightA, .myBtnLeft, .myBtnRight {width:3px;height:19px;white-space:nowrap;}
.myBtnLeftA img, .myBtnRightA img, .myBtnLeft img, .myBtnRight img {width:3px;}
.myBtnLeft {background: transparent url('/.s/img/wd/1/btn-sprite.gif') no-repeat 0 0;}
.myBtnRight {background: transparent url('/.s/img/wd/1/btn-sprite.gif') no-repeat 0 -19px;}
.myBtnCenter {background: #E3E7EB url('/.s/img/wd/1/btn-sprite.gif') repeat-x 0 -38px;height:19px;}
/* ============== */
/* ============== */
.u-sugglist {overflow:auto;position:relative;border:1px solid #799ADF;border-top:0px;background:#FFFFFF}
.u-suggcont {text-align:left;padding-left:3px;background:#FFFFFF;border-collapse:separate;border-spacing:0}
.u-suggrowhl {background:#DEE7F6 !important}
.u-suggcell0 {color:#515151;}
.u-suggmark {font-weight:bold;}
.u-suggcell1 {}
.u-suggcont td {}
.u-suggcell2 {}
.u-suggrow {}
/* ============== */
/* ============== */
.u-tabc-p {position:relative;overflow:hidden;}
.u-tabc-listp {}
.u-tabc-list {height:26px}
.u-tabc-scrbut {position:absolute;background: transparent;right:0px;top:0;width:43px;height:26px;z-index:5}
.u-tabc-scrl, .u-tabc-scrr {width:18px;float:left;height:22px;display:inline;overflow:hidden;font-size:1px}
.u-tabc-scrl {margin:4px 0 0 7px;background:transparent url(/.s/img/wd/1/scroll-left.gif) no-repeat scroll 0 0;cursor:pointer;}
.u-tabc-scrr {margin:4px 0 0 0;background:transparent url(/.s/img/wd/1/scroll-right.gif) no-repeat scroll -18px 0;cursor:pointer;}
.u-tabc-tab {overflow:hidden;cursor:pointer; float:left;padding-right:1px;position:relative;z-index:1;zoom:1;display:inline; height:26px;}
.u-tabc-tab-act {color:#15428B;z-index:2;height:26px; margin-bottom:0px}
.u-tabc-tab-over {color:#15428B;}
.u-tabc-pbot {display:none;height:3px;overflow:hidden;font-size:1px;}
.u-tabc-tabl {padding-bottom:10px; margin-top:2px;padding-right:10px;background:transparent url(/.s/img/wd/1/tabs-sprite.gif) no-repeat scroll right -351px; position:relative;}
.u-tabc-tab-act .u-tabc-tabl {padding-bottom:10px; margin-top:0px; background:transparent url(/.s/img/wd/1/tabs-sprite.gif) no-repeat scroll right -351px}
.u-tabc-tabr {padding-left:10px;background:transparent url('/.s/img/wd/1/tabs-sprite.gif') no-repeat scroll 0 -51px}
.u-tabc-tabr-wcl {padding-right:28px}
.u-tabc-label {background:transparent url(/.s/img/wd/1/tabs-sprite.gif) repeat-x scroll 0 -201px;font-size:12px;white-space:nowrap;cursor:pointer;font-family:tahoma,arial,helvetica; font-size-adjust:none; font-stretch:normal; font-style:normal; font-variant:normal; padding:6px 0;}
.u-tabc-closebut {display:none;width:16px;height:16px;position:absolute;right:9px;top:3px;overflow:hidden;font-size:1px}
.u-tabc-closebut-over {display:none; }
.u-tabc-icon {display:none; margin-right:3px; width:16px;height:16px;vertical-align:-4px}
.u-tabc-body {padding:2px;border:1px solid #99bbe8}
.u-tabc-content {overflow:auto;-moz-user-select:text}
/* ============== */
/* ============== */
.u-combo {padding:0;white-space:nowrap;border-collapse: separate;border:1px solid #B5B8C8;}
.u-combofocus .u-comboeditcell {}
.u-comboeditcell {background:#EFEFEF;vertical-align:top;border-right:1px solid #B5B8C8;border-spacing:0}
.u-comboedit {color:#000000;font-weight:normal;outline:none;font-size:11px;font-family:Verdana,Tahoma,Arial;background:transparent no-repeat 2px 2px;vertical-align:top;border:0;padding:0 0 0 2px;margin-top:2px;text-align:left;}
.u-comboedit::-moz-focus-inner { border: 0; }
.u-comboeditimg {padding-left:20px !important}
.u-combobut {width:16px;height:18px;background:url('/.s/img/wd/1/trigger.gif') no-repeat 0 0;vertical-align:top;padding:0;margin:0}
.u-combobuthl {background-position:-16px 0}
.u-comboopen .u-combobut {background-position:-32px 0 !important}
.u-combolist {color:#000000;font-weight:normal;overflow:auto;position:relative;border:1px solid #B5B8C8;border-top:0px;background:#FFFFFF;}
.u-combocont {border-collapse:separate;border-spacing:0;}
.u-combocont td {font-size:11px;font-family:Verdana,Tahoma,Arial;}
.u-comborowhl {background:#EEEEEE !important; cursor:pointer;}
.u-comborowsel {}
.u-comborowicon {vertical-align:0px;margin:0 3px 0 1px}
.u-combocell0 {}
.u-combocell1 {}
/* ============== */
#gcatalog .gcont { height:430px; min-width:200px; position:relative }
#gcatalog .ghead { height:24px; line-height:24px; padding-left: 5px; background: #D4E0F1 url(/.s/img/wd/1/cmp-bg.gif) repeat-x 0 0 }
#gcatalog .gitem { width:47%; min-width:200px; float:left; margin:2px; padding:3px; text-decoration:none; font-size:12px; border: #A3BAE9 1px solid; -moz-border-radius: 3px; -webkit-border-radius: 3px; background-color:transparent }
#gcatalog .gitem:hover, #gcatalog a.gsel { background-color:#DFE8F6; border: #12151A 1px solid; color:#000 }
#gcatalog .gitem img { background: url(/.s/img/icon/ajsml.gif) no-repeat 8px 8px; width:32px; height:32px; border: 1px solid #a3bae9; float:left; margin-right:6px }
#gcatalog .gname { font-size:12px; padding-bottom:3px }
#gcatalog .gpage { padding:2px 5px 2px 5px; border-left:1px solid #a3bae9; border-top:1px solid #a3bae9; border-bottom:1px solid #a3bae9;}
#ggoods { overflow:hidden }
#gcats { overflow-x:hidden; overflow-y:scroll; padding-right:5px }
#gcats ul.cat-tree { display:none; list-style:none!important; margin:0!important; padding:0 0 0 16px!important; line-height: 14px; text-align:left }
#gcats .cat-tree li { background:none!important; padding:0!important; }
#gcats .cat-tree i { padding-left:12px; height: 14px; background:transparent url(/.s/img/wd/1/sb.gif) 0 2px no-repeat }
#gcats .cat-tree u { padding-left:12px; height: 14px; background:transparent url(/.s/img/icon/pm.gif) no-repeat }
#gcats .cat-tree u.plus { background-position:0 3px;}
#gcats .cat-tree u.minus { background-position:0 -18px }
#gcats .cat-tree a { text-decoration:none }
#gcats .cat-tree a:hover { text-decoration:underline }
------------lOdbdcaHCTZRQX8JiBQeSz
Content-Disposition: inline; filename=u.js
Content-Type: text/javascript; charset=UTF-8; name=u.js
Content-Location: http://s16.ucoz.net/src/u.js
Content-Transfer-Encoding: Quoted-Printable
/*
* jQuery JavaScript Library v1.3.2
* http://jquery.com/
*
* Copyright (c) 2009 John Resig
* Dual licensed under the MIT and GPL licenses.
* http://docs.jquery.com/License
*
* Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
* Revision: 6246
*/
(function(){var g=3Dthis,j,z=3Dg.jQuery,p=3Dg.$,b=3Dg.jQuery=3Dg.$=3Dfun=
ction(E,F){return new b.fn.init(E,F)},D=3D/^[^<]*(<(.|\s)+>)[^>]*$|^#([\=
w-]+)$/,k=3D/^.[^:#\[\.,]*$/;b.fn=3Db.prototype=3D{init:function(E,H){E=3D=
E||document;if(E.nodeType){this[0]=3DE;this.length=3D1;this.context=3DE;=
return this}if(typeof E=3D=3D=3D"string"){var G=3DD.exec(E);if(G&&(G[1]|=
|!H)){if(G[1]){E=3Db.clean([G[1]],H)}else{var I=3Ddocument.getElementByI=
d(G[3]);if(I&&I.id!=3DG[3]){return b().find(E)}var F=3Db(I||[]);F.contex=
t=3Ddocument;F.selector=3DE;return F}}else{return b(H).find(E)}}else{if(=
b.isFunction(E)){return b(document).ready(E)}}if(E.selector&&E.context){=
this.selector=3DE.selector;this.context=3DE.context}return this.setArray=
(b.isArray(E)?E:b.makeArray(E))},selector:"",jquery:"1.3.2",size:functio=
n(){return this.length},get:function(E){return E=3D=3D=3Dj?Array.prototy=
pe.slice.call(this):this[E]},pushStack:function(F,H,E){var G=3Db(F);G.pr=
evObject=3Dthis;G.context=3Dthis.context;if(H=3D=3D=3D"find"){G.selector=
=3Dthis.selector+(this.selector?" ":"")+E}else{if(H){G.selector=3Dthis.s=
elector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=3D0;=
Array.prototype.push.apply(this,E);return this},each:function(F,E){retur=
n b.each(this,F,E)},index:function(E){return b.inArray(E&&E.jquery?E[0]:=
E,this)},attr:function(E,H,G){var F=3DE;if(typeof E=3D=3D=3D"string"){if=
(H=3D=3D=3Dj){return this[0]&&b[G||"attr"](this[0],E)}else{F=3D{};F[E]=3D=
H}}return this.each(function(I){for(E in F){b.attr(G?this.style:this,E,b=
.prop(this,F[E],G,I,E))}})},css:function(E,F){if((E=3D=3D"width"||E=3D=3D=
"height")&&parseFloat(F)<0){F=3Dj}return this.attr(E,F,"curCSS")},text:f=
unction(F){if(typeof F!=3D=3D"object"&&F!=3Dnull){return this.empty().ap=
pend((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E=
=3D"";b.each(F||this,function(){b.each(this.childNodes,function(){if(thi=
s.nodeType!=3D8){E+=3Dthis.nodeType!=3D1?this.nodeValue:b.fn.text([this]=
)}})});return E},wrapAll:function(E){if(this[0]){var F=3Db(E,this[0].own=
erDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map=
(function(){var G=3Dthis;while(G.firstChild){G=3DG.firstChild}return G})=
.append(this)}return this},wrapInner:function(E){return this.each(functi=
on(){b(this).contents().wrapAll(E)})},wrap:function(E){return this.each(=
function(){b(this).wrapAll(E)})},append:function(){return this.domManip(=
arguments,true,function(E){if(this.nodeType=3D=3D1){this.appendChild(E)}=
})},prepend:function(){return this.domManip(arguments,true,function(E){i=
f(this.nodeType=3D=3D1){this.insertBefore(E,this.firstChild)}})},before:=
function(){return this.domManip(arguments,false,function(E){this.parentN=
ode.insertBefore(E,this)})},after:function(){return this.domManip(argume=
nts,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})=
},end:function(){return this.prevObject||b([])},push:[].push,sort:[].sor=
t,splice:[].splice,find:function(E){if(this.length=3D=3D=3D1){var F=3Dth=
is.pushStack([],"find",E);F.length=3D0;b.find(E,this[0],F);return F}else=
{return this.pushStack(b.unique(b.map(this,function(G){return b.find(E,G=
)})),"find",E)}},clone:function(F){var E=3Dthis.map(function(){if(!b.sup=
port.noCloneEvent&&!b.isXMLDoc(this)){var I=3Dthis.outerHTML;if(!I){var =
J=3Dthis.ownerDocument.createElement("div");J.appendChild(this.cloneNode=
(true));I=3DJ.innerHTML}return b.clean([I.replace(/ jQuery\d+=3D"(?:\d+|=
null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}})=
;if(F=3D=3D=3Dtrue){var H=3Dthis.find("*").andSelf(),G=3D0;E.find("*").a=
ndSelf().each(function(){if(this.nodeName!=3D=3DH[G].nodeName){return}va=
r I=3Db.data(H[G],"events");for(var K in I){for(var J in I[K]){b.event.a=
dd(this,K,I[K][J],I[K][J].data)}}G++})}return E},filter:function(E){retu=
rn this.pushStack(b.isFunction(E)&&b.grep(this,function(G,F){return E.ca=
ll(G,F)})||b.multiFilter(E,b.grep(this,function(F){return F.nodeType=3D=3D=
=3D1})),"filter",E)},closest:function(E){var G=3Db.expr.match.POS.test(E=
)?b(E):null,F=3D0;return this.map(function(){var H=3Dthis;while(H&&H.own=
erDocument){if(G?G.index(H)>-1:b(H).is(E)){b.data(H,"closest",F);return =
H}H=3DH.parentNode;F++}})},not:function(E){if(typeof E=3D=3D=3D"string")=
{if(k.test(E)){return this.pushStack(b.multiFilter(E,this,true),"not",E)=
}else{E=3Db.multiFilter(E,this)}}var F=3DE.length&&E[E.length-1]!=3D=3Dj=
&&!E.nodeType;return this.filter(function(){return F?b.inArray(this,E)<0=
:this!=3DE})},add:function(E){return this.pushStack(b.unique(b.merge(thi=
s.get(),typeof E=3D=3D=3D"string"?b(E):b.makeArray(E))))},is:function(E)=
{return !!E&&b.multiFilter(E,this).length>0},hasClass:function(E){return=
!!E&&this.is("."+E)},val:function(L){if(L=3D=3D=3Dj){var F=3Dthis[0];if=
(F){if(b.nodeName(F,"option")){return(F.attributes.value||{}).specified?=
F.value:F.text}if(b.nodeName(F,"select")){var I=3DF.selectedIndex,M=3D[]=
,K=3DF.options,H=3DF.type=3D=3D"select-one";if(I<0){return null}for(var =
G=3DH?I:0,J=3DH?I+1:K.length;G=3D0||b.in=
Array(this.name,L)>=3D0)}else{if(b.nodeName(this,"select")){var N=3Db.ma=
keArray(L);b("option",this).each(function(){this.selected=3D(b.inArray(t=
his.value,N)>=3D0||b.inArray(this.text,N)>=3D0)});if(!N.length){this.sel=
ectedIndex=3D-1}}else{this.value=3DL}}})},html:function(E){return E=3D=3D=
=3Dj?(this[0]?this[0].innerHTML.replace(/ jQuery\d+=3D"(?:\d+|null)"/g,"=
"):null):this.empty().append(E)},replaceWith:function(E){return this.aft=
er(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function=
(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"sl=
ice",Array.prototype.slice.call(arguments).join(","))},map:function(E){r=
eturn this.pushStack(b.map(this,function(G,F){return E.call(G,F,G)}))},a=
ndSelf:function(){return this.add(this.prevObject)},domManip:function(J,=
M,L){if(this[0]){var E=3D(this[0].ownerDocument||this[0]).createDocument=
Fragment(),G=3Db.clean(J,(this[0].ownerDocument||this[0]),E),I=3DE.first=
Child;if(I){for(var H=3D0,F=3Dthis.length;H1||H>0?E.cloneNode(true):E)}}if(G){b.each(G,r)}}return this;f=
unction K(N,O){return M&&b.nodeName(N,"table")&&b.nodeName(O,"tr")?(N.ge=
tElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElem=
ent("tbody"))):N}}};b.fn.init.prototype=3Db.fn;function r(E,F){if(F.src)=
{b.ajax({url:F.src,async:false,dataType:"script"})}else{b.globalEval(F.t=
ext||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.remov=
eChild(F)}}function d(){return +new Date}b.extend=3Db.fn.extend=3Dfuncti=
on(){var L=3Darguments[0]||{},I=3D1,F=3Darguments.length,E=3Dfalse,H;if(=
typeof L=3D=3D=3D"boolean"){E=3DL;L=3Darguments[1]||{};I=3D2}if(typeof L=
!=3D=3D"object"&&!b.isFunction(L)){L=3D{}}if(F=3D=3DI){L=3Dthis;--I}for(=
;I-1}},swap:function(H,G,I){var E=3D=
{};for(var F in G){E[F]=3DH.style[F];H.style[F]=3DG[F]}I.call(H);for(var=
F in G){H.style[F]=3DE[F]}},css:function(H,F,J,E){if(F=3D=3D"width"||F=3D=
=3D"height"){var L,G=3D{position:"absolute",visibility:"hidden",display:=
"block"},K=3DF=3D=3D"width"?["Left","Right"]:["Top","Bottom"];function I=
(){L=3DF=3D=3D"width"?H.offsetWidth:H.offsetHeight;if(E=3D=3D=3D"border"=
){return}b.each(K,function(){if(!E){L-=3DparseFloat(b.curCSS(H,"padding"=
+this,true))||0}if(E=3D=3D=3D"margin"){L+=3DparseFloat(b.curCSS(H,"margi=
n"+this,true))||0}else{L-=3DparseFloat(b.curCSS(H,"border"+this+"Width",=
true))||0}})}if(H.offsetWidth!=3D=3D0){I()}else{b.swap(H,G,I)}return Mat=
h.max(0,Math.round(L))}return b.curCSS(H,F,J)},curCSS:function(I,E,G){va=
r L,F=3DI.style;if(E=3D=3D"opacity"&&!b.support.opacity){L=3Db.attr(F,"o=
pacity");return L=3D=3D""?"1":L}if(E.match(/float/i)){E=3Dw}if(!G&&F&&F[=
E]){L=3DF[E]}else{if(A.getComputedStyle){if(E.match(/float/i)){E=3D"floa=
t"}E=3DE.replace(/([A-Z])/g,"-$1").toLowerCase();var M=3DA.getComputedSt=
yle(I,null);if(M){L=3DM.getPropertyValue(E)}if(E=3D=3D"opacity"&&L=3D=3D=
""){L=3D"1"}}else{if(I.currentStyle){var K=3DE.replace(/\-(\w)/g,functio=
n(O,N){return N.toUpperCase()});L=3DI.currentStyle[E]||I.currentStyle[K]=
;if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var J=3DF.left,H=3DI.runtimeS=
tyle.left;I.runtimeStyle.left=3DI.currentStyle.left;F.left=3DL||0;L=3DF.=
pixelLeft+"px";F.left=3DJ;I.runtimeStyle.left=3DH}}}}return L},clean:fun=
ction(F,K,J){K=3DK||document;if(typeof K.createElement=3D=3D=3D"undefine=
d"){K=3DK.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!J&&F.len=
gth=3D=3D=3D1&&typeof F[0]=3D=3D=3D"string"){var H=3D/^<(\w+)\s*\/?>$/.e=
xec(F[0]);if(H){return[K.createElement(H[1])]}}var G=3D[],E=3D[],L=3DK.c=
reateElement("div");b.each(F,function(P,S){if(typeof S=3D=3D=3D"number")=
{S+=3D""}if(!S){return}if(typeof S=3D=3D=3D"string"){S=3DS.replace(/(<(\=
w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|=
link|meta|param|hr|area|embed)$/i)?U:V+">"+T+">"});var O=3DS.replace(/=
^\s+/,"").substring(0,10).toLowerCase();var Q=3D!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,=
""]||!O.indexOf("
","<=
/table>"]||(!O.indexOf(" | ","
"]||!O.indexOf("",""]||!b.support.htmlSerialize&&[1,"div=
","
"]||[0,"",""];L.innerHTML=3DQ[1]+S+Q[2];while(Q[0]--){L=3D=
L.lastChild}if(!b.support.tbody){var R=3D/=
"&&!R?L.childNodes:[];for(var M=3DN.length-1;M>=3D0;--M){if(b.nodeName(N=
[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])=
}}}if(!b.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.crea=
teTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=3Db.makeArray(L.childNode=
s)}if(S.nodeType){G.push(S)}else{G=3Db.merge(G,S)}});if(J){for(var I=3D0=
;G[I];I++){if(b.nodeName(G[I],"script")&&(!G[I].type||G[I].type.toLowerC=
ase()=3D=3D=3D"text/javascript")){E.push(G[I].parentNode?G[I].parentNode=
.removeChild(G[I]):G[I])}else{if(G[I].nodeType=3D=3D=3D1){G.splice.apply=
(G,[I+1,0].concat(b.makeArray(G[I].getElementsByTagName("script"))))}J.a=
ppendChild(G[I])}}return E}return G},attr:function(J,H,K){if(!J||J.nodeT=
ype=3D=3D3||J.nodeType=3D=3D8){return j}var G=3D!b.isXMLDoc(J),L=3DK!=3D=
=3Dj;H=3DG&&b.props[H]||H;if(J.tagName){var I=3D/href|src|style/.test(H)=
;if(H=3D=3D"selected"&&J.parentNode){J.parentNode.selectedIndex}if(H in =
J&&G&&!I){if(L){if(H=3D=3D"type"&&b.nodeName(J,"input")&&J.parentNode){t=
hrow"type property can't be changed"}J[H]=3DK}if(b.nodeName(J,"form")&&J=
.getAttributeNode(H)){return J.getAttributeNode(H).nodeValue}if(H=3D=3D"=
tabIndex"){var F=3DJ.getAttributeNode("tabIndex");return F&&F.specified?=
F.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.n=
odeName.match(/^(a|area)$/i)&&J.href?0:j}return J[H]}if(!b.support.style=
&&G&&H=3D=3D"style"){return b.attr(J.style,"cssText",K)}if(L){J.setAttri=
bute(H,""+K)}var E=3D!b.support.hrefNormalized&&G&&I?J.getAttribute(H,2)=
:J.getAttribute(H);return E=3D=3D=3Dnull?j:E}if(!b.support.opacity&&H=3D=
=3D"opacity"){if(L){J.zoom=3D1;J.filter=3D(J.filter||"").replace(/alpha\=
([^)]*\)/,"")+(parseInt(K)+""=3D=3D"NaN"?"":"alpha(opacity=3D"+K*100+")"=
)}return J.filter&&J.filter.indexOf("opacity=3D")>=3D0?(parseFloat(J.fil=
ter.match(/opacity=3D([^)]*)/)[1])/100)+"":""}H=3DH.replace(/-([a-z])/ig=
,function(N,M){return M.toUpperCase()});if(L){J[H]=3DK}return J[H]},trim=
:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(=
G){var E=3D[];if(G!=3Dnull){var F=3DG.length;if(F=3D=3Dnull||typeof G=3D=
=3D=3D"string"||b.isFunction(G)||G.setInterval){E[0]=3DG}else{while(F){E=
[--F]=3DG[F]}}}return E},inArray:function(G,H){for(var F=3D0,E=3DH.lengt=
h;F0?this.clone(true):this).get();b.fn[F=
].apply(b(G[L]),J);K=3DK.concat(J)}return this.pushStack(K,E,H)}});b.eac=
h({removeAttr:function(E){b.attr(this,E,"");if(this.nodeType=3D=3D1){thi=
s.removeAttribute(E)}},addClass:function(E){b.className.add(this,E)},rem=
oveClass:function(E){b.className.remove(this,E)},toggleClass:function(F,=
E){if(typeof E!=3D=3D"boolean"){E=3D!b.className.has(this,F)}b.className=
[E?"add":"remove"](this,F)},remove:function(E){if(!E||b.filter(E,[this])=
.length){b("*",this).add([this]).each(function(){b.event.remove(this);b.=
removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)=
}}},empty:function(){b(this).children().remove();while(this.firstChild){=
this.removeChild(this.firstChild)}}},function(E,F){b.fn[E]=3Dfunction(){=
return this.each(F,arguments)}});function l(E,F){return E[0]&&parseInt(b=
.curCSS(E[0],F,true),10)||0}var i=3D"jQuery"+d(),v=3D0,B=3D{};b.extend({=
cache:{},data:function(F,E,G){F=3DF=3D=3Dg?B:F;var H=3DF[i];if(!H){H=3DF=
[i]=3D++v}if(E&&!b.cache[H]){b.cache[H]=3D{}}if(G!=3D=3Dj){b.cache[H][E]=
=3DG}return E?b.cache[H][E]:H},removeData:function(F,E){F=3DF=3D=3Dg?B:F=
;var H=3DF[i];if(E){if(b.cache[H]){delete b.cache[H][E];E=3D"";for(E in =
b.cache[H]){break}if(!E){b.removeData(F)}}}else{try{delete F[i]}catch(G)=
{if(F.removeAttribute){F.removeAttribute(i)}}delete b.cache[H]}},queue:f=
unction(F,E,H){if(F){E=3D(E||"fx")+"queue";var G=3Db.data(F,E);if(!G||b.=
isArray(H)){G=3Db.data(F,E,b.makeArray(H))}else{if(H){G.push(H)}}}return=
G},dequeue:function(H,G){var E=3Db.queue(H,G),F=3DE.shift();if(!G||G=3D=
=3D=3D"fx"){F=3DE[0]}if(F!=3D=3Dj){F.call(H)}}});b.fn.extend({data:funct=
ion(E,G){var H=3DE.split(".");H[1]=3DH[1]?"."+H[1]:"";if(G=3D=3D=3Dj){va=
r F=3Dthis.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F=3D=3D=3Dj&&thi=
s.length){F=3Db.data(this[0],E)}return F=3D=3D=3Dj&&H[1]?this.data(H[0])=
:F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function()=
{b.data(this,E,G)})}},removeData:function(E){return this.each(function()=
{b.removeData(this,E)})},queue:function(E,F){if(typeof E!=3D=3D"string")=
{F=3DE;E=3D"fx"}if(F=3D=3D=3Dj){return b.queue(this[0],E)}return this.ea=
ch(function(){var G=3Db.queue(this,E,F);if(E=3D=3D"fx"&&G.length=3D=3D1)=
{G[0].call(this)}})},dequeue:function(E){return this.each(function(){b.d=
equeue(this,E)})}});
/*
* Sizzle CSS Selector Engine - v0.9.3
* Copyright 2009, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
* More information: http://sizzlejs.com/
*/
(function(){var R=3D/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"=
][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,I=3D0,=
L=3DObject.prototype.toString;var N=3Dfunction(Y,U,ab,ac){ab=3Dab||[];U=3D=
U||document;if(U.nodeType!=3D=3D1&&U.nodeType!=3D=3D9){return[]}if(!Y||t=
ypeof Y!=3D=3D"string"){return ab}var Z=3D[],W,af,ai,T,ad,V,X=3Dtrue;R.l=
astIndex=3D0;while((W=3DR.exec(Y))!=3D=3Dnull){Z.push(W[1]);if(W[2]){V=3D=
RegExp.rightContext;break}}if(Z.length>1&&G.exec(Y)){if(Z.length=3D=3D=3D=
2&&F.relative[Z[0]]){af=3DH(Z[0]+Z[1],U)}else{af=3DF.relative[Z[0]]?[U]:=
N(Z.shift(),U);while(Z.length){Y=3DZ.shift();if(F.relative[Y]){Y+=3DZ.sh=
ift()}af=3DH(Y,af)}}}else{var ae=3Dac?{expr:Z.pop(),set:E(ac)}:N.find(Z.=
pop(),Z.length=3D=3D=3D1&&U.parentNode?U.parentNode:U,Q(U));af=3DN.filte=
r(ae.expr,ae.set);if(Z.length>0){ai=3DE(af)}else{X=3Dfalse}while(Z.lengt=
h){var ah=3DZ.pop(),ag=3Dah;if(!F.relative[ah]){ah=3D""}else{ag=3DZ.pop(=
)}if(ag=3D=3Dnull){ag=3DU}F.relative[ah](ai,ag,Q(U))}}if(!ai){ai=3Daf}if=
(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(L.call(a=
i)=3D=3D=3D"[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeT=
ype=3D=3D=3D1){for(var aa=3D0;ai[aa]!=3Dnull;aa++){if(ai[aa]&&(ai[aa]=3D=
=3D=3Dtrue||ai[aa].nodeType=3D=3D=3D1&&J(U,ai[aa]))){ab.push(af[aa])}}}e=
lse{for(var aa=3D0;ai[aa]!=3Dnull;aa++){if(ai[aa]&&ai[aa].nodeType=3D=3D=
=3D1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){N(V,U,ab,ac);if(K){hasDupl=
icate=3Dfalse;ab.sort(K);if(hasDuplicate){for(var aa=3D1;aa":function(Z,W,aa){var V=3Dtypeof W=3D=3D=3D"string";if(V&=
&!/\W/.test(W)){W=3Daa?W:W.toUpperCase();for(var X=3D0,T=3DZ.length;X=3D0)){if(!U){Z.push(X)}}else{if(U){T[W]=3Dfalse}}}}re=
turn false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U=
,T){for(var V=3D0;T[V]=3D=3D=3Dfalse;V++){}return T[V]&&Q(T[V])?U[1]:U[1=
].toUpperCase()},CHILD:function(T){if(T[1]=3D=3D"nth"){var U=3D/(-?)(\d*=
)n((?:\+|-)?\d*)/.exec(T[2]=3D=3D"even"&&"2n"||T[2]=3D=3D"odd"&&"2n+1"||=
!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=3D(U[1]+(U[2]||1))-0;T[3]=3DU[3=
]-0}T[0]=3DI++;return T},ATTR:function(W,T,U,Y,X,Z){var V=3DW[1].replace=
(/\\/g,"");if(!Z&&F.attrMap[V]){W[1]=3DF.attrMap[V]}if(W[2]=3D=3D=3D"~=3D=
"){W[4]=3D" "+W[4]+" "}return W},PSEUDO:function(W,T,U,Y,X){if(W[1]=3D=3D=
=3D"not"){if(W[3].match(R).length>1||/^\w/.test(W[3])){W[3]=3DN(W[3],nul=
l,null,T)}else{var V=3DN.filter(W[3],T,U,true^X);if(!U){Y.push.apply(Y,V=
)}return false}}else{if(F.match.POS.test(W[0])||F.match.CHILD.test(W[0])=
){return true}}return W},POS:function(T){T.unshift(true);return T}},filt=
ers:{enabled:function(T){return T.disabled=3D=3D=3Dfalse&&T.type!=3D=3D"=
hidden"},disabled:function(T){return T.disabled=3D=3D=3Dtrue},checked:fu=
nction(T){return T.checked=3D=3D=3Dtrue},selected:function(T){T.parentNo=
de.selectedIndex;return T.selected=3D=3D=3Dtrue},parent:function(T){retu=
rn !!T.firstChild},empty:function(T){return !T.firstChild},has:function(=
V,U,T){return !!N(T[3],V).length},header:function(T){return/h\d/i.test(T=
.nodeName)},text:function(T){return"text"=3D=3D=3DT.type},radio:function=
(T){return"radio"=3D=3D=3DT.type},checkbox:function(T){return"checkbox"=3D=
=3D=3DT.type},file:function(T){return"file"=3D=3D=3DT.type},password:fun=
ction(T){return"password"=3D=3D=3DT.type},submit:function(T){return"subm=
it"=3D=3D=3DT.type},image:function(T){return"image"=3D=3D=3DT.type},rese=
t:function(T){return"reset"=3D=3D=3DT.type},button:function(T){return"bu=
tton"=3D=3D=3DT.type||T.nodeName.toUpperCase()=3D=3D=3D"BUTTON"},input:f=
unction(T){return/input|select|textarea|button/i.test(T.nodeName)}},setF=
ilters:{first:function(U,T){return T=3D=3D=3D0},last:function(V,U,T,W){r=
eturn U=3D=3D=3DW.length-1},even:function(U,T){return T%2=3D=3D=3D0},odd=
:function(U,T){return T%2=3D=3D=3D1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0=3D=
=3DU},eq:function(V,U,T){return T[3]-0=3D=3DU}},filter:{PSEUDO:function(=
Z,W,X,aa){var V=3DW[1],U=3DF.filters[V];if(U){return U(Z,X,W,aa)}else{if=
(V=3D=3D=3D"contains"){return(Z.textContent||Z.innerText||"").indexOf(W[=
3])>=3D0}else{if(V=3D=3D=3D"not"){var Y=3DW[3];for(var X=3D0,T=3DY.lengt=
h;X=3D0)}}},ID:function(U,T){return U.nodeType=3D=3D=3D1&&U.g=
etAttribute("id")=3D=3D=3DT},TAG:function(U,T){return(T=3D=3D=3D"*"&&U.n=
odeType=3D=3D=3D1)||U.nodeName=3D=3D=3DT},CLASS:function(U,T){return(" "=
+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:functio=
n(X,V){var U=3DV[1],Z=3DF.attrHandle[U]?F.attrHandle[U](X):X[U]!=3Dnull?=
X[U]:X.getAttribute(U),Y=3DZ+"",W=3DV[2],T=3DV[4];return Z=3D=3Dnull?W=3D=
=3D=3D"!=3D":W=3D=3D=3D"=3D"?Y=3D=3D=3DT:W=3D=3D=3D"*=3D"?Y.indexOf(T)>=3D=
0:W=3D=3D=3D"~=3D"?(" "+Y+" ").indexOf(T)>=3D0:!T?Y&&Z!=3D=3Dfalse:W=3D=3D=
=3D"!=3D"?Y!=3DT:W=3D=3D=3D"^=3D"?Y.indexOf(T)=3D=3D=3D0:W=3D=3D=3D"$=3D=
"?Y.substr(Y.length-T.length)=3D=3D=3DT:W=3D=3D=3D"|=3D"?Y=3D=3D=3DT||Y.=
substr(0,T.length+1)=3D=3D=3DT+"-":false},POS:function(X,V,W,Y){var U=3D=
V[2],T=3DF.setFilters[U];if(T){return T(X,W,V,Y)}}}};var G=3DF.match.POS=
;for(var O in F.match){F.match[O]=3DRegExp(F.match[O].source+/(?![^\[]*\=
])(?![^\(]*\))/.source)}var E=3Dfunction(U,T){U=3DArray.prototype.slice.=
call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.s=
lice.call(document.documentElement.childNodes)}catch(M){E=3Dfunction(X,W=
){var U=3DW||[];if(L.call(X)=3D=3D=3D"[object Array]"){Array.prototype.p=
ush.apply(U,X)}else{if(typeof X.length=3D=3D=3D"number"){for(var V=3D0,T=
=3DX.length;V";var T=3Ddocument.documentElement;T.inse=
rtBefore(U,T.firstChild);if(!!document.getElementById(V)){F.find.ID=3Dfu=
nction(X,Y,Z){if(typeof Y.getElementById!=3D=3D"undefined"&&!Z){var W=3D=
Y.getElementById(X[1]);return W?W.id=3D=3D=3DX[1]||typeof W.getAttribute=
Node!=3D=3D"undefined"&&W.getAttributeNode("id").nodeValue=3D=3D=3DX[1]?=
[W]:j:[]}};F.filter.ID=3Dfunction(Y,W){var X=3Dtypeof Y.getAttributeNode=
!=3D=3D"undefined"&&Y.getAttributeNode("id");return Y.nodeType=3D=3D=3D1=
&&X&&X.nodeValue=3D=3D=3DW}}T.removeChild(U)})();(function(){var T=3Ddoc=
ument.createElement("div");T.appendChild(document.createComment(""));if(=
T.getElementsByTagName("*").length>0){F.find.TAG=3Dfunction(U,Y){var X=3D=
Y.getElementsByTagName(U[1]);if(U[1]=3D=3D=3D"*"){var W=3D[];for(var V=3D=
0;X[V];V++){if(X[V].nodeType=3D=3D=3D1){W.push(X[V])}}X=3DW}return X}}T.=
innerHTML=3D"";if(T.firstChild&&typeof T.firstChild.ge=
tAttribute!=3D=3D"undefined"&&T.firstChild.getAttribute("href")!=3D=3D"#=
"){F.attrHandle.href=3Dfunction(U){return U.getAttribute("href",2)}}})()=
;if(document.querySelectorAll){(function(){var T=3DN,U=3Ddocument.create=
Element("div");U.innerHTML=3D"";if(U.querySelector=
All&&U.querySelectorAll(".TEST").length=3D=3D=3D0){return}N=3Dfunction(Y=
,X,V,W){X=3DX||document;if(!W&&X.nodeType=3D=3D=3D9&&!Q(X)){try{return E=
(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};N.find=3DT.find;=
N.filter=3DT.filter;N.selectors=3DT.selectors;N.matches=3DT.matches})()}=
if(document.getElementsByClassName&&document.documentElement.getElements=
ByClassName){(function(){var T=3Ddocument.createElement("div");T.innerHT=
ML=3D"";if(T.getEl=
ementsByClassName("e").length=3D=3D=3D0){return}T.lastChild.className=3D=
"e";if(T.getElementsByClassName("e").length=3D=3D=3D1){return}F.order.sp=
lice(1,0,"CLASS");F.find.CLASS=3Dfunction(U,V,W){if(typeof V.getElements=
ByClassName!=3D=3D"undefined"&&!W){return V.getElementsByClassName(U[1])=
}}})()}function P(U,ab,Y,ac,aa,ad){var Z=3DU=3D=3D"previousSibling"&&!ad=
;for(var W=3D0,V=3Dac.length;W0){X=3DT;break}}}T=3DT[U]}ac[W]=3DX}}}var J=3Ddocument.compareDocumen=
tPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function=
(U,T){return U!=3D=3DT&&(U.contains?U.contains(T):true)};var Q=3Dfunctio=
n(T){return T.nodeType=3D=3D=3D9&&T.documentElement.nodeName!=3D=3D"HTML=
"||!!T.ownerDocument&&Q(T.ownerDocument)};var H=3Dfunction(T,Z){var aa=3D=
[],W=3D"",X,V=3DZ.nodeType?[Z]:Z;while((X=3DF.match.PSEUDO.exec(T))){W+=3D=
X[0];T=3DT.replace(F.match.PSEUDO,"")}T=3DF.relative[T]?T+"*":T;for(var =
Y=3D0,U=3DV.length;Y0||T.offsetHeight>0};N.selectors.filters.animated=3Dfu=
nction(T){return b.grep(b.timers,function(U){return T=3D=3D=3DU.elem}).l=
ength};b.multiFilter=3Dfunction(V,T,U){if(U){V=3D":not("+V+")"}return N.=
matches(V,T)};b.dir=3Dfunction(V,U){var T=3D[],W=3DV[U];while(W&&W!=3Ddo=
cument){if(W.nodeType=3D=3D1){T.push(W)}W=3DW[U]}return T};b.nth=3Dfunct=
ion(X,W,U,V){W=3DW||1;var T=3D0;for(;X;X=3DX[U]){if(X.nodeType=3D=3D1&&+=
+T=3D=3DW){break}}return X};b.sibling=3Dfunction(V,U){var T=3D[];for(;V;=
V=3DV.nextSibling){if(V.nodeType=3D=3D1&&V!=3DU){T.push(V)}}return T};re=
turn;g.Sizzle=3DN})();b.event=3D{add:function(J,G,I,K){if(J.nodeType=3D=3D=
3||J.nodeType=3D=3D8){return}if(J.setInterval&&J!=3Dg){J=3Dg}if(!I.guid)=
{I.guid=3Dthis.guid++}if(K!=3D=3Dj){var H=3DI;I=3Dthis.proxy(H);I.data=3D=
K}var F=3Db.data(J,"events")||b.data(J,"events",{}),E=3Db.data(J,"handle=
")||b.data(J,"handle",function(){return typeof b!=3D=3D"undefined"&&!b.e=
vent.triggered?b.event.handle.apply(arguments.callee.elem,arguments):j})=
;E.elem=3DJ;b.each(G.split(/\s+/),function(M,N){var O=3DN.split(".");N=3D=
O.shift();I.type=3DO.slice().sort().join(".");var L=3DF[N];if(b.event.sp=
ecialAll[N]){b.event.specialAll[N].setup.call(J,K,O)}if(!L){L=3DF[N]=3D{=
};if(!b.event.special[N]||b.event.special[N].setup.call(J,K,O)=3D=3D=3Df=
alse){if(J.addEventListener){J.addEventListener(N,E,false)}else{if(J.att=
achEvent){J.attachEvent("on"+N,E)}}}}L[I.guid]=3DI;b.event.global[N]=3Dt=
rue});J=3Dnull},guid:1,global:{},remove:function(L,I,K){if(L.nodeType=3D=
=3D3||L.nodeType=3D=3D8){return}var H=3Db.data(L,"events"),G,F;if(H){if(=
I=3D=3D=3Dj||(typeof I=3D=3D=3D"string"&&I.charAt(0)=3D=3D".")){for(var =
J in H){this.remove(L,J+(I||""))}}else{if(I.type){K=3DI.handler;I=3DI.ty=
pe}b.each(I.split(/\s+/),function(N,P){var Q=3DP.split(".");P=3DQ.shift(=
);var O=3DRegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(=
H[P]){if(K){delete H[P][K.guid]}else{for(var M in H[P]){if(O.test(H[P][M=
].type)){delete H[P][M]}}}if(b.event.specialAll[P]){b.event.specialAll[P=
].teardown.call(L,Q)}for(G in H[P]){break}if(!G){if(!b.event.special[P]|=
|b.event.special[P].teardown.call(L,Q)=3D=3D=3Dfalse){if(L.removeEventLi=
stener){L.removeEventListener(P,b.data(L,"handle"),false)}else{if(L.deta=
chEvent){L.detachEvent("on"+P,b.data(L,"handle"))}}}G=3Dnull;delete H[P]=
}}})}for(G in H){break}if(!G){var E=3Db.data(L,"handle");if(E){E.elem=3D=
null}b.removeData(L,"events");b.removeData(L,"handle")}}},trigger:functi=
on(J,K,I,G){var H=3DJ.type||J;if(!G){J=3Dtypeof J=3D=3D=3D"object"?J[i]?=
J:b.extend(b.Event(H),J):b.Event(H);if(H.indexOf("!")>=3D0){J.type=3DH=3D=
H.slice(0,-1);J.exclusive=3Dtrue}if(!I){J.stopPropagation();if(this.glob=
al[H]){b.each(b.cache,function(){if(this.events&&this.events[H]){b.event=
.trigger(J,K,this.handle.elem)}})}}if(!I||I.nodeType=3D=3D3||I.nodeType=3D=
=3D8){return j}J.result=3Dj;J.target=3DI;K=3Db.makeArray(K);K.unshift(J)=
}J.currentTarget=3DI;var E=3Db.data(I,"handle");if(E){E.apply(I,K)}if((!=
I[H]||(b.nodeName(I,"a")&&H=3D=3D"click"))&&I["on"+H]&&I["on"+H].apply(I=
,K)=3D=3D=3Dfalse){J.result=3Dfalse}if(!G&&I[H]&&!J.isDefaultPrevented()=
&&!(b.nodeName(I,"a")&&H=3D=3D"click")){this.triggered=3Dtrue;try{I[H]()=
}catch(L){}}this.triggered=3Dfalse;if(!J.isPropagationStopped()){var F=3D=
I.parentNode||I.ownerDocument;if(F){b.event.trigger(J,K,F,true)}}},handl=
e:function(K){var J,E;K=3Darguments[0]=3Db.event.fix(K||g.event);K.curre=
ntTarget=3Dthis;var L=3DK.type.split(".");K.type=3DL.shift();J=3D!L.leng=
th&&!K.exclusive;var I=3DRegExp("(^|\\.)"+L.slice().sort().join(".*\\.")=
+"(\\.|$)");E=3D(b.data(this,"events")||{})[K.type];for(var G in E){var =
H=3DE[G];if(J||I.test(H.type)){K.handler=3DH;K.data=3DH.data;var F=3DH.a=
pply(this,arguments);if(F!=3D=3Dj){K.result=3DF;if(F=3D=3D=3Dfalse){K.pr=
eventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()=
){break}}}},props:"altKey attrChange attrName bubbles button cancelable =
charCode clientX clientY ctrlKey currentTarget data detail eventPhase fr=
omElement handler keyCode metaKey newValue originalTarget pageX pageY pr=
evValue relatedNode relatedTarget screenX screenY shiftKey srcElement ta=
rget toElement view wheelDelta which".split(" "),fix:function(H){if(H[i]=
){return H}var F=3DH;H=3Db.Event(F);for(var G=3Dthis.props.length,J;G;){=
J=3Dthis.props[--G];H[J]=3DF[J]}if(!H.target){H.target=3DH.srcElement||d=
ocument}if(H.target.nodeType=3D=3D3){H.target=3DH.target.parentNode}if(!=
H.relatedTarget&&H.fromElement){H.relatedTarget=3DH.fromElement=3D=3DH.t=
arget?H.toElement:H.fromElement}if(H.pageX=3D=3Dnull&&H.clientX!=3Dnull)=
{var I=3Ddocument.documentElement,E=3Ddocument.body;H.pageX=3DH.clientX+=
(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=3DH.clie=
ntY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((=
H.charCode||H.charCode=3D=3D=3D0)?H.charCode:H.keyCode)){H.which=3DH.cha=
rCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=3DH.ctrlKey}if(!H.w=
hich&&H.button){H.which=3D(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))=
}return H},proxy:function(F,E){E=3DE||function(){return F.apply(this,arg=
uments)};E.guid=3DF.guid=3DF.guid||E.guid||this.guid++;return E},special=
:{ready:{setup:q,teardown:function(){}}},specialAll:{live:{setup:functio=
n(E,F){b.event.add(this,F[0],n)},teardown:function(G){if(G.length){var F=
=3D0,E=3DRegExp("(^|\\.)"+G[0]+"(\\.|$)");b.each((b.data(this,"events").=
live||{}),function(){if(E.test(this.type)){F++}});if(F<1){b.event.remove=
(this,G[0],n)}}}}}};b.Event=3Dfunction(E){if(!this.preventDefault){retur=
n new b.Event(E)}if(E&&E.type){this.originalEvent=3DE;this.type=3DE.type=
}else{this.type=3DE}this.timeStamp=3Dd();this[i]=3Dtrue};function f(){re=
turn false}function u(){return true}b.Event.prototype=3D{preventDefault:=
function(){this.isDefaultPrevented=3Du;var E=3Dthis.originalEvent;if(!E)=
{return}if(E.preventDefault){E.preventDefault()}E.returnValue=3Dfalse},s=
topPropagation:function(){this.isPropagationStopped=3Du;var E=3Dthis.ori=
ginalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.can=
celBubble=3Dtrue},stopImmediatePropagation:function(){this.isImmediatePr=
opagationStopped=3Du;this.stopPropagation()},isDefaultPrevented:f,isProp=
agationStopped:f,isImmediatePropagationStopped:f};var a=3Dfunction(F){va=
r E=3DF.relatedTarget;while(E&&E!=3Dthis){try{E=3DE.parentNode}catch(G){=
E=3Dthis}}if(E!=3Dthis){F.type=3DF.data;b.event.handle.apply(this,argume=
nts)}};b.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,=
E){b.event.special[E]=3D{setup:function(){b.event.add(this,F,a,E)},teard=
own:function(){b.event.remove(this,F,a)}}});b.fn.extend({bind:function(F=
,G,E){return F=3D=3D"unload"?this.one(F,G,E):this.each(function(){b.even=
t.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=3Db.event.proxy(F||=
H,function(I){b(this).unbind(I,E);return(F||H).apply(this,arguments)});r=
eturn this.each(function(){b.event.add(this,G,E,F&&H)})},unbind:function=
(F,E){return this.each(function(){b.event.remove(this,F,E)})},trigger:fu=
nction(E,F){return this.each(function(){b.event.trigger(E,F,this)})},tri=
ggerHandler:function(E,G){if(this[0]){var F=3Db.Event(E);F.preventDefaul=
t();F.stopPropagation();b.event.trigger(F,G,this[0]);return F.result}},t=
oggle:function(G){var E=3Darguments,F=3D1;while(Fa';var G=3DK.getElementsByTagName("*"),E=3DK.getElementsByTa=
gName("a")[0];if(!G||!G.length||!E){return}b.support=3D{leadingWhitespac=
e:K.firstChild.nodeType=3D=3D3,tbody:!K.getElementsByTagName("tbody").le=
ngth,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagNam=
e("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,styl=
e:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("hre=
f")=3D=3D=3D"/a",opacity:E.style.opacity=3D=3D=3D"0.5",cssFloat:!!E.styl=
e.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};H.type=3D"t=
ext/javascript";try{H.appendChild(document.createTextNode("window."+J+"=3D=
1;"))}catch(I){}F.insertBefore(H,F.firstChild);if(g[J]){b.support.script=
Eval=3Dtrue;delete g[J]}F.removeChild(H);if(K.attachEvent&&K.fireEvent){=
K.attachEvent("onclick",function(){b.support.noCloneEvent=3Dfalse;K.deta=
chEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("oncli=
ck")}b(function(){var L=3Ddocument.createElement("div");L.style.width=3D=
L.style.paddingLeft=3D"1px";document.body.appendChild(L);b.boxModel=3Db.=
support.boxModel=3DL.offsetWidth=3D=3D=3D2;document.body.removeChild(L).=
style.display=3D"none"})})();var w=3Db.support.cssFloat?"cssFloat":"styl=
eFloat";b.props=3D{"for":"htmlFor","class":"className","float":w,cssFloa=
t:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"=
cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};b.fn.extend({_load:b=
.fn.load,load:function(G,K,I){if(typeof G!=3D=3D"string"){return this._l=
oad(G)}var J=3DG.indexOf(" ");if(J>=3D0){var E=3DG.slice(J,G.length);G=3D=
G.slice(0,J)}var H=3D"GET";if(K){if(b.isFunction(K)){I=3DK;K=3Dnull}else=
{if(typeof K=3D=3D=3D"object"){K=3Db.param(K);H=3D"POST"}}}var F=3Dthis;=
b.ajax({url:G,type:H,dataType:"html",data:K,complete:function(L,M){if(M=3D=
=3D"success"||M=3D=3D"notmodified"){F.html(E?b("").append(L.respon=
seText.replace(/