Content-Type: multipart/related; start=; boundary=----------v0R7J6g1aaWINvTDUDfdRA
Content-Location: http://www.vojenskaskola.cz/skola/uo/verejnost_media/Stranky/20091008.aspx
Subject: =?utf-8?Q?Kosmonauti=20na=20Univerzit=C4=9B=20obrany?=
MIME-Version: 1.0
------------v0R7J6g1aaWINvTDUDfdRA
Content-Disposition: inline; filename=20091008.htm
Content-Type: text/html; charset=utf-8; name=20091008.htm
Content-ID:
Content-Location: http://www.vojenskaskola.cz/skola/uo/verejnost_media/Stranky/20091008.aspx
Content-Transfer-Encoding: Base64
DQoNCjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAx
IFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9s
b29zZS5kdGQiPg0KPGh0bWw+DQoNCjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNv
bnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAv
PjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtbGFuZ3VhZ2UiIGNvbnRlbnQ9ImNz
IiAvPjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJVTk9CIiAvPjxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBsYW5ndWFnZT0iamF2YXNjcmlw
dCIgc3JjPSIvX2xheW91dHMvMTAyOS9pbml0LmpzP3Jldj16S2ZDRW5DJTJGWnlM
VW9QeXF0OG9IdkElM0QlM0QiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHNyYz0iL19sYXlvdXRz
LzEwMjkvbm9uX2llLmpzP3Jldj15Zk5yeTRoWTBHd2ElMkZQRE5HcnFYVmclM0Ql
M0QiPjwvc2NyaXB0Pgo8TUVUQSBOQU1FPSJST0JPVFMiIENPTlRFTlQ9Ik5PSFRN
TElOREVYIi8+DQogICAgICAgIDx0aXRsZT4NCglLb3Ntb25hdXRpIG5hIFVuaXZl
cnppdMSbIG9icmFueQ0KIDwvdGl0bGU+DQoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL19sYXlvdXRzLzEwMjkvc3R5bGVzL0h0
bWxFZGl0b3JDdXN0b21TdHlsZXMuY3NzP3Jldj0lMkZ3RWtQNGZhcFFvcjdWMG14
REh0dnclM0QlM0QiLz4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0
L2NzcyIgaHJlZj0iL19sYXlvdXRzLzEwMjkvc3R5bGVzL0h0bWxFZGl0b3JUYWJs
ZUZvcm1hdHMuY3NzP3Jldj1PZTU0eW9UaiUyRk53ZWZ5SHI4NDVwbGclM0QlM0Qi
Lz4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0i
L3Nrb2xhL3VvL1N0eWxlJTIwTGlicmFyeS91bm9iLXNjcmVlbi5jc3MiLz4KPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL19sYXlv
dXRzLzEwMjkvc3R5bGVzL2NvcmUuY3NzP3Jldj1wa1MlMkZGOVRINnZPUGVOSE80
NjZ5UXclM0QlM0QiLz4KDQoJPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9
IlVOSVZFUlpJVEEgT0JSQU5ZIiAvPjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBj
b250ZW50PSJVTklWRVJaSVRBIE9CUkFOWSIgLz48bGluayByZWw9InNob3J0Y3V0
IGljb24iIHR5cGU9ImltYWdlL3gtaWNvbiIgaHJlZj0iL3Nrb2xhL3VvL1NpdGVD
b2xsZWN0aW9uSW1hZ2VzL2Zhdmljb24uaWNvIiAvPg0KDQoJPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iL19jYXRhbG9ncy9tYXN0ZXJwYWdlL2N1
c3RvbV9hY3RpdmV4X292ZXJyaWRlLmpzIj48L3NjcmlwdD4NCg0KCTxzY3JpcHQg
bGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQoJ
PCEtLS8vDQoJZnVuY3Rpb24gSGlkZUF1dGhvcmluZ0RpdihvYmplY3Qpew0KCQlp
ZiAobG9jYXRpb24uaG9zdG5hbWUgIT0gInd3dy52b2plbnNrYXNrb2xhLmN6Iil7
DQoJCQl2YXIgb2JqPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG9iamVjdCk7DQoJ
CQlvYmouc3R5bGUuZGlzcGxheT0nYmxvY2snOw0KCQl9DQoJfQ0KCS8vLS0+DQoJ
PC9zY3JpcHQ+DQo8dGl0bGU+DQoNCjwvdGl0bGU+PC9oZWFkPg0KDQo8Ym9keSBv
bmxvYWQ9ImphdmFzY3JpcHQ6X3NwQm9keU9uTG9hZFdyYXBwZXIoKTsgSGlkZUF1
dGhvcmluZ0RpdignYXV0aG9yaW5nX2RpdicpOyIgc3R5bGU9ImJhY2tncm91bmQt
Y29sb3I6I2RiZTFlOTsgdGV4dC1hbGlnbjpsZWZ0OyI+DQoJPGZvcm0gbmFtZT0i
YXNwbmV0Rm9ybSIgbWV0aG9kPSJwb3N0IiBhY3Rpb249IjIwMDkxMDA4LmFzcHgi
IG9uc3VibWl0PSJqYXZhc2NyaXB0OnJldHVybiBXZWJGb3JtX09uU3VibWl0KCk7
IiBpZD0iYXNwbmV0Rm9ybSI+DQo8ZGl2Pg0KPGlucHV0IHR5cGU9ImhpZGRlbiIg
bmFtZT0iX19TUFNDRWRpdE1lbnUiIGlkPSJfX1NQU0NFZGl0TWVudSIgdmFsdWU9
InRydWUiIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJNU09XZWJQYXJ0
UGFnZV9Qb3N0YmFja1NvdXJjZSIgaWQ9Ik1TT1dlYlBhcnRQYWdlX1Bvc3RiYWNr
U291cmNlIiB2YWx1ZT0iIiAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0i
TVNPVGxQbl9TZWxlY3RlZFdwSWQiIGlkPSJNU09UbFBuX1NlbGVjdGVkV3BJZCIg
dmFsdWU9IiIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ik1TT1RsUG5f
VmlldyIgaWQ9Ik1TT1RsUG5fVmlldyIgdmFsdWU9IjAiIC8+DQo8aW5wdXQgdHlw
ZT0iaGlkZGVuIiBuYW1lPSJNU09UbFBuX1Nob3dTZXR0aW5ncyIgaWQ9Ik1TT1Rs
UG5fU2hvd1NldHRpbmdzIiB2YWx1ZT0iRmFsc2UiIC8+DQo8aW5wdXQgdHlwZT0i
aGlkZGVuIiBuYW1lPSJNU09HYWxsZXJ5X1NlbGVjdGVkTGlicmFyeSIgaWQ9Ik1T
T0dhbGxlcnlfU2VsZWN0ZWRMaWJyYXJ5IiB2YWx1ZT0iIiAvPg0KPGlucHV0IHR5
cGU9ImhpZGRlbiIgbmFtZT0iTVNPR2FsbGVyeV9GaWx0ZXJTdHJpbmciIGlkPSJN
U09HYWxsZXJ5X0ZpbHRlclN0cmluZyIgdmFsdWU9IiIgLz4NCjxpbnB1dCB0eXBl
PSJoaWRkZW4iIG5hbWU9Ik1TT1RsUG5fQnV0dG9uIiBpZD0iTVNPVGxQbl9CdXR0
b24iIHZhbHVlPSJub25lIiAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0i
X19FVkVOVFRBUkdFVCIgaWQ9Il9fRVZFTlRUQVJHRVQiIHZhbHVlPSIiIC8+DQo8
aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJfX0VWRU5UQVJHVU1FTlQiIGlkPSJf
X0VWRU5UQVJHVU1FTlQiIHZhbHVlPSIiIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVu
IiBuYW1lPSJfX1JFUVVFU1RESUdFU1QiIGlkPSJfX1JFUVVFU1RESUdFU1QiIHZh
bHVlPSIweDFEOTVDM0IzQ0FDMUU3Q0YwNkQwQUM0RUQ1MjUzODQ1M0ZBNDBGNjI3
OEUwNTM4ODVCMDcxMTkyMDY1NUI2MDI0QjNCMjYwNDNGRDhCRkM0MjE3MDYxNjRB
RUM5MzcwOEYxRTUyQUM0NkFFMEEzMDkzMDczNEM2Q0FENTkzMUU3LDE1IE9jdCAy
MDA5IDIwOjEzOjU1IC0wMDAwIiAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFt
ZT0iTVNPQXV0aG9yaW5nQ29uc29sZV9Gb3JtQ29udGV4dCIgaWQ9Ik1TT0F1dGhv
cmluZ0NvbnNvbGVfRm9ybUNvbnRleHQiIHZhbHVlPSIiIC8+DQo8aW5wdXQgdHlw
ZT0iaGlkZGVuIiBuYW1lPSJNU09BQ19FZGl0RHVyaW5nV29ya2Zsb3ciIGlkPSJN
U09BQ19FZGl0RHVyaW5nV29ya2Zsb3ciIHZhbHVlPSIiIC8+DQo8aW5wdXQgdHlw
ZT0iaGlkZGVuIiBuYW1lPSJNU09TUFdlYlBhcnRNYW5hZ2VyX0Rpc3BsYXlNb2Rl
TmFtZSIgaWQ9Ik1TT1NQV2ViUGFydE1hbmFnZXJfRGlzcGxheU1vZGVOYW1lIiB2
YWx1ZT0iQnJvd3NlIiAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iTVNP
V2ViUGFydFBhZ2VfU2hhcmVkIiBpZD0iTVNPV2ViUGFydFBhZ2VfU2hhcmVkIiB2
YWx1ZT0iIiAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iTVNPTGF5b3V0
X0xheW91dENoYW5nZXMiIGlkPSJNU09MYXlvdXRfTGF5b3V0Q2hhbmdlcyIgdmFs
dWU9IiIgLz4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ik1TT0xheW91dF9J
bkRlc2lnbk1vZGUiIGlkPSJNU09MYXlvdXRfSW5EZXNpZ25Nb2RlIiB2YWx1ZT0i
IiAvPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iTVNPU1BXZWJQYXJ0TWFu
YWdlcl9PbGREaXNwbGF5TW9kZU5hbWUiIGlkPSJNU09TUFdlYlBhcnRNYW5hZ2Vy
X09sZERpc3BsYXlNb2RlTmFtZSIgdmFsdWU9IkJyb3dzZSIgLz4NCjxpbnB1dCB0
eXBlPSJoaWRkZW4iIG5hbWU9Ik1TT1NQV2ViUGFydE1hbmFnZXJfU3RhcnRXZWJQ
YXJ0RWRpdGluZ05hbWUiIGlkPSJNU09TUFdlYlBhcnRNYW5hZ2VyX1N0YXJ0V2Vi
UGFydEVkaXRpbmdOYW1lIiB2YWx1ZT0iZmFsc2UiIC8+DQo8aW5wdXQgdHlwZT0i
aGlkZGVuIiBuYW1lPSJfX1ZJRVdTVEFURSIgaWQ9Il9fVklFV1NUQVRFIiB2YWx1
ZT0iL3dFUER3VUtNVE0wTkRBeU9Ua3lOUTlrRmdKbUQyUVdBZ0lCRDJRV0JBSUJE
MlFXQWdJRkQyUVdBZ0lCRDJRV0FnSUJEeFlDSGhOUWNtVjJhVzkxYzBOdmJuUnli
MnhOYjJSbEN5bUlBVTFwWTNKdmMyOW1kQzVUYUdGeVpWQnZhVzUwTGxkbFlrTnZi
blJ5YjJ4ekxsTlFRMjl1ZEhKdmJFMXZaR1VzSUUxcFkzSnZjMjltZEM1VGFHRnla
VkJ2YVc1MExDQldaWEp6YVc5dVBURXlMakF1TUM0d0xDQkRkV3gwZFhKbFBXNWxk
WFJ5WVd3c0lGQjFZbXhwWTB0bGVWUnZhMlZ1UFRjeFpUbGlZMlV4TVRGbE9UUXlP
V01CWkFJREQyUVdDZ0lERDJRV0FnSUNEdzhXQWg0SFZtbHphV0pzWldjV0FoNEZj
M1I1YkdVRkRtUnBjM0JzWVhrNllteHZZMnM3WkFJTEQyUVdBZ0lCRHhZQ0h3Rm9G
Z0ptRDJRV0JBSUNEMlFXQmdJQkR4WUNId0ZvWkFJRER4WUNId0ZvWkFJRkR4WUNI
d0ZvWkFJRER3OFdBaDRKUVdOalpYTnpTMlY1QlFFdlpHUUNEUTlrRmdJQ0FROFBG
Z0lmQVdoa0ZnUUNBUThQRmdJZkFXaGtaQUlERHc4V0FoOEJhR1FXQWdJQkR3OFdB
aDhCWjJRV0JBSUJEdzhXQWg4QmFHUVdIQUlCRHc4V0FoOEJhR1JrQWdNUEZnSWZB
V2hrQWdVUER4WUNId0ZvWkdRQ0J3OFdBaDhCYUdRQ0NROFBGZ0lmQVdoa1pBSUxE
dzhXQWg4QmFHUmtBZzBQRHhZQ0h3Rm9aR1FDRHc4UEZnUWVCMFZ1WVdKc1pXUm9I
d0ZvWkdRQ0VROFBGZ0lmQVdoa1pBSVREdzhXQkI4RWFCOEJhR1JrQWhVUER4WUNI
d0ZvWkdRQ0Z3OFdBaDhCYUdRQ0dROFdBaDhCYUdRQ0d3OFBGZ0lmQVdka1pBSURE
dzhXQWg4QloyUVdCZ0lCRHc4V0FoOEJaMlJrQWdNUER4WUNId0ZuWkdRQ0JROFBG
Z0lmQVdka1pBSVREdzhXQkI0TFRtRjJhV2RoZEdWVmNtd0ZDbjR2YzJ0dmJHRXZk
VzhlQ0VsdFlXZGxWWEpzQlRkK0wzTnJiMnhoTDNWdkwxTjBlV3hsSUV4cFluSmhj
bmt2U1cxaFoyVnpMMVZPVDBKZlNXMWhaMlZ6TDJ4dloyOWZkVzh1WjJsbVpHUUNG
dzlrRmd3Q0FROFdBaDhBQ3lzRUFXUUNCUThXQWg4QUN5c0VBV1FDQnc4V0FoOEFD
eXNFQVdRQ0NROFdBaDhBQ3lzRUFXUUNDdzhXQWg4QUN5c0VBV1FDRFE4V0FoOEFD
eXNFQVdSa1pQYjFYVVJ4TzEvcldOaVVuYWhhSUIzUEM3bz0iIC8+DQo8L2Rpdj4N
Cg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KLy88IVtDREFUQVsN
CnZhciB0aGVGb3JtID0gZG9jdW1lbnQuZm9ybXNbJ2FzcG5ldEZvcm0nXTsNCmlm
ICghdGhlRm9ybSkgew0KICAgIHRoZUZvcm0gPSBkb2N1bWVudC5hc3BuZXRGb3Jt
Ow0KfQ0KZnVuY3Rpb24gX19kb1Bvc3RCYWNrKGV2ZW50VGFyZ2V0LCBldmVudEFy
Z3VtZW50KSB7DQogICAgaWYgKCF0aGVGb3JtLm9uc3VibWl0IHx8ICh0aGVGb3Jt
Lm9uc3VibWl0KCkgIT0gZmFsc2UpKSB7DQogICAgICAgIHRoZUZvcm0uX19FVkVO
VFRBUkdFVC52YWx1ZSA9IGV2ZW50VGFyZ2V0Ow0KICAgICAgICB0aGVGb3JtLl9f
RVZFTlRBUkdVTUVOVC52YWx1ZSA9IGV2ZW50QXJndW1lbnQ7DQogICAgICAgIHRo
ZUZvcm0uc3VibWl0KCk7DQogICAgfQ0KfQ0KLy9dXT4NCjwvc2NyaXB0Pg0KDQoN
CjxzY3JpcHQ+IHZhciBNU09XZWJQYXJ0UGFnZUZvcm1OYW1lID0gJ2FzcG5ldEZv
cm0nOzwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0K
Ly88IVtDREFUQVsNCmZ1bmN0aW9uIFdlYkZvcm1fT25TdWJtaXQoKSB7DQpVcGRh
dGVGb3JtRGlnZXN0KCdcdTAwMmZza29sYVx1MDAyZnVvXHUwMDJmdmVyZWpub3N0
X21lZGlhJywgMTQ0MDAwMCk7cmV0dXJuIF9zcEZvcm1PblN1Ym1pdFdyYXBwZXIo
KTsNCnJldHVybiB0cnVlOw0KfQ0KLy9dXT4NCjwvc2NyaXB0Pg0KDQoJDQoNCjxk
aXYgaWQ9ImNvbnRhaW5lciI+DQoJPGRpdj4NCgkJPGRpdiBzdHlsZT0iZmxvYXQ6
bGVmdDsgbWFyZ2luLWJvdHRvbToycHg7IGRpc3BsYXk6bm9uZTsiIGlkPSJhdXRo
b3JpbmdfZGl2Ij4NCgkJCTx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp
bmc9IjAiPg0KCQkJCTx0cj4NCgkJCQkJPHRkIGNsYXNzPSJtcy1nbG9iYWxsaW5r
cyI+DQoJCQkJCQkNCjxhIGlkPSJjdGwwMF9leHBsaXRMb2dvdXRfRXhwbGljaXRM
b2dpbiIgaHJlZj0iaHR0cDovL3d3dy52b2plbnNrYXNrb2xhLmN6L3Nrb2xhL3Vv
L3ZlcmVqbm9zdF9tZWRpYS9fbGF5b3V0cy9BdXRoZW50aWNhdGUuYXNweD9Tb3Vy
Y2U9JTJGc2tvbGElMkZ1byUyRnZlcmVqbm9zdCU1Rm1lZGlhJTJGU3RyYW5reSUy
RjIwMDkxMDA4JTJFYXNweCIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij5QxZlpaGzD
oXNpdDwvYT4NCg0KCQkJCQk8L3RkPg0KCQkJCQk8dGQgY2xhc3M9Im1zLWdsb2Jh
bGxpbmtzIj4NCgkJCQkJCQ0KCQkJCQk8L3RkPg0KCQkJCQk8dGQgY2xhc3M9Im1z
LWdsb2JhbGxpbmtzIj4NCgkJCQkJCQ0KCQkJCQk8L3RkPg0KCQkJCQk8dGQgY2xh
c3M9Im1zLWdsb2JhbGxpbmtzIj4NCgkJCQkJCQ0KPHRhYmxlPjx0cj4NCjx0ZCBj
bGFzcz0ibXMtZ2xvYmFsbGlua3MiPjwvdGQ+DQo8dGQgY2xhc3M9Im1zLWdsb2Jh
bGxpbmtzIj48L3RkPg0KPC90cj48L3RhYmxlPg0KDQoJCQkJCTwvdGQ+DQoJCQkJ
CTx0ZD4NCgkJCQkJCQ0KPCEtLSBCZWdpbiBBY3Rpb24gTWVudSBNYXJrdXAgLS0+
DQo8dGFibGUgaGVpZ2h0PTEwMCUgY2xhc3M9Im1zLXNpdGVhY3Rpb24iIGNlbGxw
YWRkaW5nPTAgY2VsbHNwYWNpbmc9MD4NCgk8dHI+DQoJCQkJCSAgIDx0ZCBjbGFz
cz0ibXMtc2l0ZWFjdGlvbnNtZW51IiBpZD0ic2l0ZWFjdGlvbnRkIj4NCgkJCQkJ
ICAgDQoJCQkJCTwvdGQ+DQoJPC90cj4NCjwvdGFibGU+DQo8IS0tIEVuZCBBY3Rp
b24gTWVudSBNYXJrdXAgLS0+DQoNCgkJCQkJPC90ZD4NCgkJCQk8L3RyPg0KCQkJ
PC90YWJsZT4NCgkJCQ0KCQkJPGRpdiBjbGFzcz0iQXV0aG9yaW5nQ29udGFpbmVy
Ij4NCgkJCQkNCgkJCQkNCg0KCQkJCQ0KDQoJCQk8L2Rpdj4NCgkJDQoJCQk8IS0t
IG5lY2hhdCBhbGUgamUgdG8gbmVza29kbnkga29kLS0+DQoJCQk8ZGl2IGNsYXNz
PSJQYWdlSGVhZGVyIj4NCgkJCTwvZGl2Pg0KCQkNCgkJPC9kaXY+DQoJCQ0KCQk8
ZGl2IGlkPSJ0b3BfbWVudSI+DQoJCQk8YSBocmVmPSIvIiA+Q1o8L2E+IHwgDQoJ
CQk8YSBocmVmPSIvZW4vaXNtcyIgPkVOPC9hPiB8IA0KCQkJPGEgaHJlZj0iLyIg
PkRvbW92c2vDoSBzdHLDoW5rYTwvYT4gfCANCgkJCTxhIGhyZWY9Ii9za29sYS91
by9obGVkYW5pIiA+SGxlZMOhbsOtIG9ic2FodTwvYT4gfCANCgkJCTxhIGhyZWY9
Imh0dHA6Ly9hcHBsLnZvamVuc2thc2tvbGEuY3ovc2VhcmNoX3Blb3BsZS9kZWZh
dWx0LmFzcHgiPkhsZWTDoW7DrSBvc29iPC9hPiAgDQoJCTwvZGl2Pg0KCTwvZGl2
Pg0KCQ0KCTxkaXYgaWQ9ImhlYWRlcl8xIj4NCgkJPGEgaWQ9ImN0bDAwX0h5cGVy
TGluazEiIGhyZWY9Ii4uLy4uLy4uL3VvIiBzdHlsZT0iZGlzcGxheTpibG9jazsg
d2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7Ij48aW1nIHNyYz0iLi4vLi4vU3R5bGUl
MjBMaWJyYXJ5L0ltYWdlcy9VTk9CX0ltYWdlcy9sb2dvX3VvLmdpZiIgc3R5bGU9
ImJvcmRlci13aWR0aDowcHg7IiAvPjwvYT4NCgk8L2Rpdj4NCgkNCgk8ZGl2IGlk
PSJoZWFkZXJfMiI+DQoJCTxkaXYgaWQ9ImZpbGxlcl8yIj48L2Rpdj4NCgk8L2Rp
dj4JDQoJDQoJPGRpdiBpZD0iY29udGVudF8zIj4NCgkJPCEtLSBwbGFjZSB0byBt
YWluIHBsYWNlaG9sZGVyIC0tPg0KCQkNCgkJDQogICAgPGRpdiBpZD0iRGVzaWdu
Q29sdW1uTGVmdCI+DQoJCTxkaXYgaWQ9IkxlZnRUb3AiPg0KCQkJPGg0PkluZm9y
bWFjZSBwcm88L2g0Pg0KCQkJCTx1bD4NCgkJCQkJPGxpPjxhIGhyZWY9Ii4uLy4u
L3VjaGF6ZWMiPnVjaGF6ZcSNZTwvYT48L2xpPg0KCQkJCQk8bGk+PGEgaHJlZj0i
Li4vLi4vc3R1ZGVudCI+c3R1ZGVudHk8L2E+PC9saT4NCgkJCQkJPGxpPjxhIGhy
ZWY9Ii4uLy4uL3ZlcmVqbm9zdF9tZWRpYSI+dmXFmWVqbm9zdCBhIG3DqWRpYTwv
YT48L2xpPg0KCQkJCQk8bGk+PGEgaHJlZj0iLi4vLi4vYWJzb2x2ZW50Ij5hYnNv
bHZlbnR5PC9hPjwvbGk+DQoJCQkJPC91bD4NCgkJPC9kaXY+DQoJCQ0KCQk8ZGl2
IGlkPSJMZWZ0RG93biI+DQoJCQk8ZGl2IGlkPSJjdGwwMF9QbGFjZUhvbGRlck1h
aW5fY3RsMDBfX0NvbnRyb2xXcmFwcGVyX1JpY2hIdG1sRmllbGQiIHN0eWxlPSJk
aXNwbGF5OmlubGluZSI+PC9kaXY+DQoJCTwvZGl2Pg0KDQoJPC9kaXY+DQoJPGRp
diBpZD0iRGVzaWduQ29sdW1uTWlkZGxlTWluSGVpZ2h0Ij48L2Rpdj4NCgk8ZGl2
IGlkPSJEZXNpZ25Db2x1bW5NaWRkbGUiPg0KCQk8ZGl2Pg0KCQk8c3BhbiBpZD0i
Y3RsMDBfUGxhY2VIb2xkZXJNYWluX3NpdGVNYXBQYXRoIiBjbGFzcz0iYnJlYWRj
cnVtcCIgc3R5bGU9ImZvbnQtc2l6ZTpTbWFsbDsiPjxhIGhyZWY9IiNjdGwwMF9Q
bGFjZUhvbGRlck1haW5fc2l0ZU1hcFBhdGhfU2tpcExpbmsiPjxpbWcgYWx0PSJQ
xZllc2tvxI1pdCBuYXZpZ2HEjW7DrSBvZGthenkiIGhlaWdodD0iMCIgd2lkdGg9
IjAiIHNyYz0iL1dlYlJlc291cmNlLmF4ZD9kPVlkckwtMDhXTVdwYnp2LVkyRC02
b1EyJmFtcDt0PTYzMzczOTkxOTk3MTIyMjUwNiIgc3R5bGU9ImJvcmRlci13aWR0
aDowcHg7IiAvPjwvYT48c3Bhbj48YSBjbGFzcz0iQkNOb2RlIiBocmVmPSIvU0tP
TEEvVU8vU3RyYW5reS9kZWZhdWx0LmFzcHgiPlVuaXZlcnppdGEgb2JyYW55PC9h
Pjwvc3Bhbj48c3BhbiBjbGFzcz0iQkNTZXBhcmF0b3IiPiYjMTg3OyA8L3NwYW4+
PHNwYW4+PGEgdGl0bGU9IlZlxZllam5vc3QgYSBtw6lkaWEiIGNsYXNzPSJCQ05v
ZGUiIGhyZWY9Ii9za29sYS91by92ZXJlam5vc3RfbWVkaWEvU3RyYW5reS9kZWZh
dWx0LmFzcHgiPkluZm9ybWFjZSBwcm8gdmXFmWVqbm9zdCBhIG0mIzIzMztkaWE8
L2E+PC9zcGFuPjxzcGFuIGNsYXNzPSJCQ1NlcGFyYXRvciI+JiMxODc7IDwvc3Bh
bj48c3BhbiBjbGFzcz0iQkNOb2RlIj5Lb3Ntb25hdXRpIG5hIFVuaXZlcnppdMSb
IG9icmFueTwvc3Bhbj48YSBpZD0iY3RsMDBfUGxhY2VIb2xkZXJNYWluX3NpdGVN
YXBQYXRoX1NraXBMaW5rIj48L2E+PC9zcGFuPg0KCQk8L2Rpdj4NCgkJDQoJCTxo
Mz4NCgkJS29zbW9uYXV0aSBuYSBVbml2ZXJ6aXTEmyBvYnJhbnk8L2gzPg0KCQ0K
CTwhLS0gdGV4dCAtLT4NCgk8ZGl2IGlkPSJjdGwwMF9QbGFjZUhvbGRlck1haW5f
Y3RsMDFfX0NvbnRyb2xXcmFwcGVyX1JpY2hIdG1sRmllbGQiIHN0eWxlPSJkaXNw
bGF5OmlubGluZSI+PHAgc3R5bGU9InRleHQtYWxpZ246anVzdGlmeSI+PHNwYW4+
VsKgcsOhbWNpIFhYSUkuIE1lemluw6Fyb2Ruw61obyBrb25ncmVzdSDDusSNYXN0
bsOta8WvIGtvc21pY2vDvWNoIGxldMWvLCBBU0UgUHJhZ3VlIDIwMDksIHphdsOt
dGFsaSBkbyBCcm5hIHZlIHN0xZllZHUgNy4gxZnDrWpuYSB0w6ltxJvFmSBkdsSb
IGRlc8OtdGt5IGtvc21vbmF1dMWvIHogY2Vsw6lobyBzdsSbdGEuIEplZG7DrW0g
eiBobGF2bsOtY2ggY8OtbMWvIG7DoXbFoXTEm3Z5IGJ5bGEgaW5zcGlyYWNlIG1s
YWTDvWNoIGxpZMOtIGtlIHN0dWRpdSB2xJtkeSwgdGVjaG5pa3kgYSBwxZnDrXJv
ZG7DrWNoIHbEm2QsIGFsZSB0YWvDqSBwb3B1bGFyaXphY2Uga29zbW9uYXV0aWt5
IHUgbmVqxaFpcsWhw60gxI1lc2vDqSB2ZcWZZWpub3N0aS4gU2V0a8OhbsOtIGtv
c21vbmF1dMWvIG3Em2xvIHrDoXJvdmXFiCB1cG96b3JuaXQgbmEgZmFrdCwgxb5l
IGtvc21vbmF1dGlrYSB1xb4gZMOhdm5vIG5lbsOtIGRvbcOpbm91IGR2b3Ugc3bE
m3RvdsO9Y2ggc3VwZXJ2ZWxtb2PDrSwgYWxlIHDFmWVkZXbFocOtbSBtb3RpdmFj
w60gcHJvIHbFoWVjaG55IHNwb2xlxI1ub3N0aSBhIGVrb25vbWlreS48L3NwYW4+
PC9wPg0KPHAgc3R5bGU9InRleHQtYWxpZ246anVzdGlmeSI+PHNwYW4+RG8gQnJu
YSBwxZlpamVsaSBrb3Ntb25hdXRpIG5hIHBvenbDoW7DrSBwcmltw6F0b3JhIEJy
bmEgUm9tYW5hIE9uZGVya3kgYSDFmWVkaXRlbGUgSHbEm3pkw6FybnkgYSBwbGFu
ZXTDoXJpYSBNaWt1bMOhxaFlIEtvcGVybsOta2EgdiBCcm7EmyBKacWZw61obyBE
dcWha2EuIFYgZG9wb2xlZG7DrWNoIGhvZGluw6FjaCBieWxpIHNsYXZub3N0bsSb
IHDFmWlqYXRpIG5hIE5vdsOpIHJhZG5pY2kuIFBvdMOpIGtvc21vbmF1dGkgcG9s
b8W+aWxpIG5hIEtyYXbDrSBob8WZZSB6w6FrbGFkbsOtIGvDoW1lbiDigJ5QxZnD
rXJvZG92xJtkbsOpaG8gZXhwbG9yYXRvcmlh4oCcLiBTeW1ib2xpY2t5IHRhayBi
eWxhIHphaMOhamVuYSBwxZllc3RhdmJhIEh2xJt6ZMOhcm55IGEgcGxhbmV0w6Fy
aWEgTWlrdWzDocWhZSBLb3Blcm7DrWthIHYgQnJuxJsgdiBtb2Rlcm7DrSBwxZnD
rXJvZG92xJtkbsOpIHZ6ZMSbbMOhdmFjw60gY2VudHJ1bS4gPC9zcGFuPjwvcD4N
CjxwIHN0eWxlPSJ0ZXh0LWFsaWduOmp1c3RpZnkiPjwvcD4NCjx0YWJsZSBzdHls
ZT0id2lkdGg6MTAwJSIgc3VtbWFyeT0iIj4NCjx0Ym9keT4NCjx0cj4NCjx0ZD7C
oDxhIHRpdGxlPSIiIGhyZWY9Ii9za29sYS91by92ZXJlam5vc3RfbWVkaWEvUHVi
bGlzaGluZ0ltYWdlcy8yMDA5MTAwOC8wMS5KUEciIHRhcmdldD0iX2JsYW5rIj48
aW1nIHN0eWxlPSJib3JkZXItcmlnaHQ6MHB4IHNvbGlkO2JvcmRlci10b3A6MHB4
IHNvbGlkO2JvcmRlci1sZWZ0OjBweCBzb2xpZDtib3JkZXItYm90dG9tOjBweCBz
b2xpZCIgc3JjPSIvc2tvbGEvdW8vdmVyZWpub3N0X21lZGlhL1B1Ymxpc2hpbmdJ
bWFnZXMvMjAwOTEwMDgvMDFNLkpQRyIgYm9yZGVyPTA+PC9hPjwvdGQ+DQo8dGQ+
wqA8YSB0aXRsZT0iIiBocmVmPSIvc2tvbGEvdW8vdmVyZWpub3N0X21lZGlhL1B1
Ymxpc2hpbmdJbWFnZXMvMjAwOTEwMDgvMDIuSlBHIiB0YXJnZXQ9Il9ibGFuayI+
PGltZyBzdHlsZT0iYm9yZGVyLXJpZ2h0OjBweCBzb2xpZDtib3JkZXItdG9wOjBw
eCBzb2xpZDtib3JkZXItbGVmdDowcHggc29saWQ7Ym9yZGVyLWJvdHRvbTowcHgg
c29saWQiIHNyYz0iL3Nrb2xhL3VvL3ZlcmVqbm9zdF9tZWRpYS9QdWJsaXNoaW5n
SW1hZ2VzLzIwMDkxMDA4LzAyTS5KUEciIGJvcmRlcj0wPjwvYT48L3RkPg0KPHRk
PsKgPGEgdGl0bGU9IiIgaHJlZj0iL3Nrb2xhL3VvL3ZlcmVqbm9zdF9tZWRpYS9Q
dWJsaXNoaW5nSW1hZ2VzLzIwMDkxMDA4LzAzLkpQRyIgdGFyZ2V0PSJfYmxhbmsi
PjxpbWcgc3R5bGU9ImJvcmRlci1yaWdodDowcHggc29saWQ7Ym9yZGVyLXRvcDow
cHggc29saWQ7Ym9yZGVyLWxlZnQ6MHB4IHNvbGlkO2JvcmRlci1ib3R0b206MHB4
IHNvbGlkIiBzcmM9Ii9za29sYS91by92ZXJlam5vc3RfbWVkaWEvUHVibGlzaGlu
Z0ltYWdlcy8yMDA5MTAwOC8wM00uSlBHIiBib3JkZXI9MD48L2E+PC90ZD48L3Ry
PjwvdGJvZHk+PC90YWJsZT4NCjxwPjwvcD4NCjxwIHN0eWxlPSJ0ZXh0LWFsaWdu
Omp1c3RpZnkiPlYgb2Rwb2xlZG7DrWNoIGhvZGluw6FjaCBzZcKgcyBrb3Ntb25h
dXR5IE9sZWdlbSBLb3RvdmVtIGEgSXZhbmVtIEJlbGxlbSBzZXRrYWxpIHN0dWRl
bnRpIGEgYWthZGVtacSNdMOtIHByYWNvdm7DrWNpIFVuaXZlcnppdHkgb2JyYW55
LiBTZXRrw6Fuw60gYnlsIHDFmcOtdG9tZW4gdGFrw6kgcmVrdG9yIFVuaXZlcnpp
dHkgb2JyYW55IFJ1ZG9sZiBVcmJhbiwga3RlcsO9IGhvc3R5IHNyZGXEjW7EmyBw
xZlpdsOtdGFsIGEgb2LEm21hIHDFmWVkYWwgZHJvYm7DqSB1cG9tw61ua292w6kg
cMWZZWRtxJt0eS4gPC9zcGFuPjwvcD4NCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOmp1
c3RpZnkiPjxzcGFuPk9sZWcgS290b3YgamUgdsKgcG/FmWFkw60gNDUyLiDEjWxv
dsSba2VtIHZlIHZlc23DrXJ1IGEgYnlsIHRhbSBwb3V6ZSBqZWRub3UsIGF2xaFh
ayB2wqByb2NlIDIwMDcgbmEgcGFsdWLEmyBNZXppbsOhcm9kbsOtIGtvc21pY2vD
qSBzdGFuaWNlIHN0csOhdmlsIGpha28gcGFsdWJuw60gc3BlY2lhbGlzdGEgY2Vs
a2VtIDE5NyBkbsOtLiBEYWzFocOtIGxldCBieSBtxJtsIGFic29sdm92YXQgbmEg
cMWZZWxvbXUgbGV0IDIwMDkgYSAyMDEwLjwvc3Bhbj48L3A+DQo8cCBzdHlsZT0i
dGV4dC1hbGlnbjpqdXN0aWZ5Ij48c3Bhbj5EcnVow71tIGhvc3RlbSBieWwgcHJ2
bsOtIHNsb3ZlbnNrw70ga29zbW9uYXV0IEl2YW4gQmVsbGEsIGt0ZXLDvSBzZSBz
dGFsIMSNbGVuZW0gcnVza28tZnJhbmNvdXpza28tc2xvdmVuc2vDqSBleHBlZGlj
ZSBrb3NtaWNrw6kgc3RhbmljZSBNaXIgdsKgcm9jZSAxOTk5LCBrZGUgc3Ryw6F2
aWwgbmVjZWzDvWNoIDggZG7DrS4gUG9zw6Fka3UgdGVua3LDoXQgdHZvxZlpbGkg
dGFrw6kgVmlrdG9yIEFmYW5hc3lldiBhIEplbmEtUGllcnJlIEhhaWduZXLDqS4g
SXZhbiBCZWxsIGplIHbCoHBvxZlhZMOtIDM4NS4gxI1sb3bEm2tlbSB2ZSB2ZXNt
w61ydS48L3NwYW4+PC9wPg0KPHAgc3R5bGU9InRleHQtYWxpZ246anVzdGlmeSI+
PHNwYW4+T2JhIGtvc21vbmF1dGkgbmEgc2V0a8OhbsOtIGhvdm/FmWlsaSBvIG7D
oXJvxI1uw6kgcMWZw61wcmF2xJsga29zbW9uYXV0YSBhIG8gc3bDqW0gcG9ieXR1
IHZlIHZlc23DrXJ1LiBWwqBuw6FzbGVkdWrDrWPDrSBiZXNlZMSbIHNlIHN0dWRl
bnRpIHphasOtbWFsaSBvIHJ5emUgb2Rib3Juw6kga29zbW9uYXV0aWNrw6kgb3TD
oXpreSBpIG8gcHJha3RpY2vDqSB6w6FsZcW+aXRvc3RpIHTDvWthasOtY8OtIHNl
IMW+aXZvdGEga29zbW9uYXV0xa8uIFphasOtbWFsaSBzZSB0YWvDqSBvIHBvY2l0
eSBrb3Ntb25hdXTFryB2IGtvc211LCBvIHpwxa9zb2IgamVqaWNoIHN0cmF2b3bD
oW7DrSBhIG9kcG/EjWlua3UsIG8gdG8gamFrw70gamUgcG9obGVkIHrCoGtvc211
IG5hIHplbSwgemRhIGtvc21vbmF1dGkgbW9ob3UgcMWZaXNwxJt0IGvCoHrDoWNo
cmFuxJsgbmHFocOtIHBsYW5ldHkgYXRkLiBQb3V0YXbDqSB2eXByw6F2xJtuw60g
a29zbW9uYXV0xa8gdGFrIHbFoWVtIHDFmcOtdG9tbsO9bSB1bW/Fvm5pbG8gbmFo
bMOpZG5vdXQgcG9kIHBva2xpxI1rdSBqZWppY2ggemFqw61tYXbDqWhvIMW+aXZv
dGEgYSBuZXbFoWVkbsOtIHByw6FjZS4gPC9zcGFuPjwvcD4NCjxwPjxzcGFuPkF1
dG9yOiBNZ3IuIFpkZcWIa2EgRHVib3bDoSwgZm90bzogRHIuIFBhdmVsIFBhemRl
cmE8L3NwYW4+PC9wPjwvZGl2Pg0KCTwvZGl2Pg0KCQ0KCTxkaXYgaWQ9IkRlc2ln
bkNvbHVtblJpZ2h0Ij4NCgkJPGRpdiBpZD0iTGVmdFRvcCI+DQoJCQk8aDQ+Unlj
aGzDqSBvZGthenk8L2g0Pg0KCQkJPGRpdiBpZD0iY3RsMDBfUGxhY2VIb2xkZXJN
YWluX2N0bDAyX19Db250cm9sV3JhcHBlcl9SaWNoSHRtbEZpZWxkIiBzdHlsZT0i
ZGlzcGxheTppbmxpbmUiPjwvZGl2Pg0KCQkJPGhyPg0KCQkJPGg0PkFrdHVhbGl0
eTwvaDQ+DQoJCQk8ZGl2IGlkPSJjdGwwMF9QbGFjZUhvbGRlck1haW5fY3RsMDNf
X0NvbnRyb2xXcmFwcGVyX1JpY2hIdG1sRmllbGQiIHN0eWxlPSJkaXNwbGF5Omlu
bGluZSI+PC9kaXY+DQoJCTwvZGl2Pg0KCQkNCgkJPGRpdiBpZD0iUmlnaHREb3du
Ij4NCgkJCTxkaXYgaWQ9ImN0bDAwX1BsYWNlSG9sZGVyTWFpbl9jdGwwNF9fQ29u
dHJvbFdyYXBwZXJfUmljaEh0bWxGaWVsZCIgc3R5bGU9ImRpc3BsYXk6aW5saW5l
Ij48L2Rpdj4NCgkJPC9kaXY+DQoNCgk8L2Rpdj48aHRtbCB4bWxuczptc289InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6bXNk
dD0idXVpZDpDMkY0MTAxMC02NUIzLTExZDEtQTI5Ri0wMEFBMDBDMTQ4ODIiPjxo
ZWFkPg0KPCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bXNvOkN1c3RvbURvY3Vt
ZW50UHJvcGVydGllcz4NCjxtc286UHVibGlzaGluZ1ByZXZpZXdJbWFnZSBtc2R0
OmR0PSJzdHJpbmciPmh0dHA6Ly9tb3NzMS9za29sYS91by9fY2F0YWxvZ3MvbWFz
dGVycGFnZS9MYXlvdXRfcHJldmlldy9pbmZvcm1hY2VfcHJvX3VvLnBuZywgL3Nr
b2xhL3VvL19jYXRhbG9ncy9tYXN0ZXJwYWdlL0xheW91dF9wcmV2aWV3L2luZm9y
bWFjZV9wcm9fdW8ucG5nPC9tc286UHVibGlzaGluZ1ByZXZpZXdJbWFnZT4NCjxt
c286TWFzdGVyUGFnZURlc2NyaXB0aW9uIG1zZHQ6ZHQ9InN0cmluZyI+U3Ryw6Fu
a2Egb2JzYWh1amUgbGV2w70gc2xvdXBlYyBzIGZpeG7DrW0gb2JzYWhlbSAob3LD
oW1vdmFuw70pLiBQb2QgbsOtbSBzbG91cGVjIChiZXogb3LDoW1vdsOhbsOtKSBw
cm8gbmVwb3Zpbm7DvSBvYnNhaC4gUHJvc3TFmWVkbsOtIHNsb3VwZWMgamUgbcSb
bml0ZWxuw70gb2JzYWguIFByYXbDvSBob3Juw60gc2xvdXBlYyAob3LDoW1vdsOh
bsOtbSkgYSBzbG91cGVjIHBvZCBuw61tIChiZXogb3LDoW1vdsOhbsOtKSBtxa/F
vmV0ZSBtxJtuaXQuPC9tc286TWFzdGVyUGFnZURlc2NyaXB0aW9uPg0KPC9tc286
Q3VzdG9tRG9jdW1lbnRQcm9wZXJ0aWVzPg0KPC94bWw+PCFbZW5kaWZdLS0+DQo8
dGl0bGU+SW5mb3JtYWNlX3Byb19mYWt1bHRhPC90aXRsZT48L2hlYWQ+DQoNCgk8
L2Rpdj4NCgkNCgk8ZGl2IGlkPSJmb290ZXJfNCI+DQoJCTxkaXYgaWQ9ImZvb3Rl
cl9ib3hfNCI+DQoJCQk8ZGl2IGlkPSJGb290ZXJMZWZ0Ij4mY29weTsgMjAwOCBV
bml2ZXJ6aXRhIG9icmFueSB8IEtvdW5pY292YSA2NSwgNjYyIDEwIEJybm8sIEN6
ZWNoIHJlcHVibGljIHwgQWxsIHJpZ2h0cyByZXNlcnZlZDwvZGl2Pg0KCQkJPGRp
diBpZD0iRm9vdGVyUmlnaHQiPjxhIGhyZWY9Ii4uLy4uLy4uLy4uL1BhZ2VzL3dl
Ym1hc3Rlci5hc3B4IiB0YXJnZXQ9Il9ibGFuayI+V2VibWFzdGVyczwvYT48L2Rp
dj4NCgkJPC9kaXY+DQoJCTxkaXYgaWQ9ImZpbGxlcl80Ij4NCgkJCQ0KCQk8L2Rp
dj4NCgk8L2Rpdj4NCgkNCjwvZGl2Pg0KDQoNCg0KPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPg0KLy88IVtDREFUQVsNCnZhciBfX3dwbUV4cG9ydFdhcm5p
bmc9J1BybyB0dXRvIHN0csOhbmt1IHdlYm92w71jaCDEjcOhc3TDrSBieWxvIHBv
dcW+aXRvIGluZGl2aWR1w6FsbsOtIG5hc3RhdmVuw60uIE7DoXNsZWRrZW0gdG9o
byB2bGFzdG5vc3RpIG7Em2t0ZXLDvWNoIHdlYm92w71jaCDEjcOhc3TDrSBwcmF2
ZMSbcG9kb2JuxJsgb2JzYWh1asOtIGTFr3bEm3Juw6kgaW5mb3JtYWNlLiBQxZll
c3bEm2TEjXRlIHNlLCB6ZGEgdsWhZWNobnkgdmxhc3Rub3N0aSBvYnNhaHVqw60g
aW5mb3JtYWNlLCBrdGVyw6kgbHplIGJleiBvYmF2IHpwxZnDrXN0dXBuaXQgb3N0
YXRuw61tIHXFvml2YXRlbMWvbS4gUG8gZXhwb3J0dSB0w6l0byB3ZWJvdsOpIMSN
w6FzdGkgbcWvxb5ldGUgem9icmF6aXQgdmxhc3Rub3N0aSB2IHNvdWJvcnUgcG9w
aXN1IHdlYm92w6kgxI3DoXN0aSAoLldlYlBhcnQpIHBvbW9jw60gdGV4dG92w6lo
byBlZGl0b3J1LCBuYXDFmcOta2xhZCBwcm9ncmFtdSBaw6FwaXNuw61rLic7dmFy
IF9fd3BtQ2xvc2VQcm92aWRlcldhcm5pbmc9J0NoeXN0w6F0ZSBzZSB6YXbFmcOt
dCB0dXRvIHdlYm92b3UgxI3DoXN0LiBUYXRvIMSNw6FzdCBha3R1w6FsbsSbIHBv
c2t5dHVqZSBkYXRhIGppbsOpIHdlYm92w6kgxI3DoXN0aS4gVGF0byBwxZlpcG9q
ZW7DrSBidWRvdSB2IHDFmcOtcGFkxJsgamVqw61obyB6YXbFmWVuw60gdWtvbsSN
ZW5hLiBDaGNldGUtbGkgd2Vib3ZvdSDEjcOhc3QgemF2xZnDrXQsIGtsZXBuxJt0
ZSBuYSB0bGHEjcOtdGtvIE9LLiBDaGNldGUtbGkgd2Vib3ZvdSDEjcOhc3QgcG9u
ZWNoYXQsIGtsZXBuxJt0ZSBuYSB0bGHEjcOtdGtvIFN0b3Juby4nO3ZhciBfX3dw
bURlbGV0ZVdhcm5pbmc9J0NoeXN0w6F0ZSBzZSBuYXbFvmR5IG9kc3RyYW5pdCB0
dXRvIHdlYm92b3UgxI3DoXN0LiBPcHJhdmR1IGNoY2V0ZSBwcm92w6lzdCB0dXRv
IGFrY2k/IENoY2V0ZS1saSB3ZWJvdm91IMSNw6FzdCBvZHN0cmFuaXQsIGtsZXBu
xJt0ZSBuYSB0bGHEjcOtdGtvIE9LLiBDaGNldGUtbGkgd2Vib3ZvdSDEjcOhc3Qg
cG9uZWNoYXQsIGtsZXBuxJt0ZSBuYSB0bGHEjcOtdGtvIFN0b3Juby4nOy8vXV0+
DQo8L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBsYW5n
dWFnZT0iamF2YXNjcmlwdCIgc3JjPSIvX2xheW91dHMvMTAyOS9jb3JlLmpzP3Jl
dj1uVXZmWjBDRkQ5VmdJM2pjVnJKaGpBJTNEJTNEIj48L3NjcmlwdD4KPC9mb3Jt
Pg0KDQo8L2JvZHk+DQo8L2h0bWw+DQoNCg==
------------v0R7J6g1aaWINvTDUDfdRA
Content-Disposition: inline; filename=init.js
Content-Type: application/x-javascript; charset=utf-8; name=init.js
Content-Location: http://www.vojenskaskola.cz/_layouts/1029/init.js?rev=zKfCEnC%2FZyLUoPyqt8oHvA%3D%3D
Content-Transfer-Encoding: Base64
77u/ZnVuY3Rpb24gQnJvd3NlcmlzICgpIHsNCgl2YXIgYWd0PW5hdmlnYXRvci51
c2VyQWdlbnQudG9Mb3dlckNhc2UoKTsNCgl0aGlzLm9zdmVyPTEuMDsNCglpZiAo
YWd0KQ0KCXsNCgkJdmFyIHN0T1NWZXI9YWd0LnN1YnN0cmluZyhhZ3QuaW5kZXhP
Zigid2luZG93cyAiKSsxMSk7DQoJCXRoaXMub3N2ZXI9cGFyc2VGbG9hdChzdE9T
VmVyKTsNCgl9DQoJdGhpcy5tYWpvcj1wYXJzZUludChuYXZpZ2F0b3IuYXBwVmVy
c2lvbik7DQoJdGhpcy5uYXY9KChhZ3QuaW5kZXhPZignbW96aWxsYScpIT0tMSkm
JigoYWd0LmluZGV4T2YoJ3Nwb29mZXInKT09LTEpICYmIChhZ3QuaW5kZXhPZign
Y29tcGF0aWJsZScpPT0tMSkpKTsNCgl0aGlzLm5hdjY9dGhpcy5uYXYgJiYgKHRo
aXMubWFqb3I9PTUpOw0KCXRoaXMubmF2NnVwPXRoaXMubmF2ICYmICh0aGlzLm1h
am9yID49NSk7DQoJdGhpcy5uYXY3dXA9ZmFsc2U7DQoJaWYgKHRoaXMubmF2NnVw
KQ0KCXsNCgkJdmFyIG5hdklkeD1hZ3QuaW5kZXhPZigibmV0c2NhcGUvIik7DQoJ
CWlmIChuYXZJZHggPj0wICkNCgkJCXRoaXMubmF2N3VwPXBhcnNlSW50KGFndC5z
dWJzdHJpbmcobmF2SWR4KzkpKSA+PTc7DQoJfQ0KCXRoaXMuaWU9KGFndC5pbmRl
eE9mKCJtc2llIikhPS0xKTsNCgl0aGlzLmFvbD10aGlzLmllICYmIGFndC5pbmRl
eE9mKCIgYW9sICIpIT0tMTsNCglpZiAodGhpcy5pZSkNCgkJew0KCQl2YXIgc3RJ
RVZlcj1hZ3Quc3Vic3RyaW5nKGFndC5pbmRleE9mKCJtc2llICIpKzUpOw0KCQl0
aGlzLmlldmVyPXBhcnNlSW50KHN0SUVWZXIpOw0KCQl0aGlzLnZlcklFRnVsbD1w
YXJzZUZsb2F0KHN0SUVWZXIpOw0KCQl9DQoJZWxzZQ0KCQl0aGlzLmlldmVyPTA7
DQoJdGhpcy5pZTR1cD10aGlzLmllICYmICh0aGlzLm1ham9yID49NCk7DQoJdGhp
cy5pZTV1cD10aGlzLmllICYmICh0aGlzLmlldmVyID49NSk7DQoJdGhpcy5pZTU1
dXA9dGhpcy5pZSAmJiAodGhpcy52ZXJJRUZ1bGwgPj01LjUpOw0KCXRoaXMuaWU2
dXA9dGhpcy5pZSAmJiAodGhpcy5pZXZlciA+PTYpOw0KCXRoaXMud2lubnQ9KChh
Z3QuaW5kZXhPZigid2lubnQiKSE9LTEpfHwoYWd0LmluZGV4T2YoIndpbmRvd3Mg
bnQiKSE9LTEpKTsNCgl0aGlzLndpbjMyPSgodGhpcy5tYWpvciA+PTQpICYmIChu
YXZpZ2F0b3IucGxhdGZvcm09PSJXaW4zMiIpKSB8fA0KCQkoYWd0LmluZGV4T2Yo
IndpbjMyIikhPS0xKSB8fCAoYWd0LmluZGV4T2YoIjMyYml0IikhPS0xKTsNCgl0
aGlzLm1hYz0oYWd0LmluZGV4T2YoIm1hYyIpIT0tMSk7DQoJdGhpcy53M2M9dGhp
cy5uYXY2dXA7DQoJdGhpcy5zYWZhcmk9KGFndC5pbmRleE9mKCJzYWZhcmkiKSE9
LTEpOw0KCXRoaXMuc2FmYXJpMTI1dXA9ZmFsc2U7DQoJaWYgKHRoaXMuc2FmYXJp
ICYmIHRoaXMubWFqb3IgPj01KQ0KCXsNCgkJdmFyIG5hdklkeD1hZ3QuaW5kZXhP
Zigic2FmYXJpLyIpOw0KCQlpZiAobmF2SWR4ID49MCkNCgkJCXRoaXMuc2FmYXJp
MTI1dXA9cGFyc2VJbnQoYWd0LnN1YnN0cmluZyhuYXZJZHgrNykpID49MTI1Ow0K
CX0NCn0NCnZhciBicm93c2VyaXM9bmV3IEJyb3dzZXJpcygpOw0KdmFyIGJpcz1i
cm93c2VyaXM7DQpmdW5jdGlvbiBieWlkKGlkKSB7IHJldHVybiBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChpZCk7IH0NCmZ1bmN0aW9uIG5ld0UodGFnKSB7IHJldHVy
biBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZyk7IH0NCmZ1bmN0aW9uIHdwZigp
IHsgcmV0dXJuIGRvY3VtZW50LmZvcm1zW01TT1dlYlBhcnRQYWdlRm9ybU5hbWVd
OyB9DQpmdW5jdGlvbiBzdGFydFJlcGxhY2VtZW50KCkge30NCmZ1bmN0aW9uIEdl
dEV2ZW50U3JjRWxlbWVudChlKQ0Kew0KCWlmIChicm93c2VyaXMubmF2KQ0KCQly
ZXR1cm4gZS50YXJnZXQ7DQoJZWxzZQ0KCQlyZXR1cm4gZS5zcmNFbGVtZW50Ow0K
fQ0KZnVuY3Rpb24gR2V0RXZlbnRLZXlDb2RlKGUpDQp7DQoJaWYgKGJyb3dzZXJp
cy5uYXYpDQoJCXJldHVybiBlLndoaWNoOw0KCWVsc2UNCgkJcmV0dXJuIGUua2V5
Q29kZTsNCn0NCmZ1bmN0aW9uIEdldElubmVyVGV4dChlKQ0Kew0KCWlmIChicm93
c2VyaXMuc2FmYXJpKQ0KCQlyZXR1cm4gZS5pbm5lckhUTUw7DQoJZWxzZSBpZiAo
YnJvd3NlcmlzLm5hdikNCgkJcmV0dXJuIGUudGV4dENvbnRlbnQ7DQoJZWxzZQ0K
CQlyZXR1cm4gZS5pbm5lclRleHQ7DQp9DQp2YXIgVVRGOF8xU1RfT0ZfMj0weGMw
ICAgOw0KdmFyIFVURjhfMVNUX09GXzM9MHhlMCAgIDsNCnZhciBVVEY4XzFTVF9P
Rl80PTB4ZjAgICA7DQp2YXIgVVRGOF9UUkFJTD0weDgwICAgOw0KdmFyIEhJR0hf
U1VSUk9HQVRFX0JJVFM9MHhEODAwIDsNCnZhciBMT1dfU1VSUk9HQVRFX0JJVFM9
MHhEQzAwIDsNCnZhciBTVVJST0dBVEVfNl9CSVQ9MHhGQzAwIDsNCnZhciBTVVJS
T0dBVEVfSURfQklUUz0weEY4MDAgOw0KdmFyIFNVUlJPR0FURV9PRkZTRVQ9MHgx
MDAwMDsNCmZ1bmN0aW9uIGVzY2FwZVByb3Blcmx5Q29yZUNvcmUoc3RyLCBiQXNV
cmwsIGJGb3JGaWx0ZXJRdWVyeSwgYkZvckNhbGxiYWNrKQ0Kew0KCXZhciBzdHJP
dXQ9IiI7DQoJdmFyIHN0ckJ5dGU9IiI7DQoJdmFyIGl4PTA7DQoJdmFyIHN0ckVz
Y2FwZWQ9IiBcIiU8PlwnJiI7DQoJaWYgKHR5cGVvZihzdHIpPT0idW5kZWZpbmVk
IikNCgkJcmV0dXJuICIiOw0KCWZvciAoaXg9MDsgaXggPCBzdHIubGVuZ3RoOyBp
eCsrKQ0KCXsNCgkJdmFyIGNoYXJDb2RlPXN0ci5jaGFyQ29kZUF0KGl4KTsNCgkJ
dmFyIGN1ckNoYXI9c3RyLmNoYXJBdChpeCk7DQoJCWlmKGJBc1VybCAmJiAoY3Vy
Q2hhcj09JyMnIHx8IGN1ckNoYXI9PSc/JykgKQ0KCQl7DQoJCQlzdHJPdXQrPXN0
ci5zdWJzdHIoaXgpOw0KCQkJYnJlYWs7DQoJCX0NCgkJaWYgKGJGb3JGaWx0ZXJR
dWVyeSAmJiBjdXJDaGFyPT0nJicpDQoJCXsNCgkJCXN0ck91dCs9Y3VyQ2hhcjsN
CgkJCWNvbnRpbnVlOw0KCQl9DQoJCWlmIChjaGFyQ29kZSA8PTB4N2YpDQoJCXsN
CgkJCWlmIChiRm9yQ2FsbGJhY2spDQoJCQl7DQoJCQkJc3RyT3V0Kz1jdXJDaGFy
Ow0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCWlmICggKGNoYXJDb2RlID49OTcg
JiYgY2hhckNvZGUgPD0xMjIpIHx8DQoJCQkJCSAoY2hhckNvZGUgPj02NSAmJiBj
aGFyQ29kZSA8PTkwKSB8fA0KCQkJCQkgKGNoYXJDb2RlID49NDggJiYgY2hhckNv
ZGUgPD01NykgfHwNCgkJCQkJIChiQXNVcmwgJiYgKGNoYXJDb2RlID49MzIgJiYg
Y2hhckNvZGUgPD05NSkgJiYgc3RyRXNjYXBlZC5pbmRleE9mKGN1ckNoYXIpIDwg
MCkpDQoJCQkJew0KCQkJCQlzdHJPdXQrPWN1ckNoYXI7DQoJCQkJfQ0KCQkJCWVs
c2UgaWYgKGNoYXJDb2RlIDw9MHgwZikNCgkJCQl7DQoJCQkJCXN0ck91dCs9IiUw
IitjaGFyQ29kZS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKTsNCgkJCQl9DQoJ
CQkJZWxzZSBpZiAoY2hhckNvZGUgPD0weDdmKQ0KCQkJCXsNCgkJCQkJc3RyT3V0
Kz0iJSIrY2hhckNvZGUudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7DQoJCQkJ
fQ0KCQkJfQ0KCQl9DQoJCWVsc2UgaWYgKGNoYXJDb2RlIDw9MHgwN2ZmKQ0KCQl7
DQoJCQlzdHJCeXRlPVVURjhfMVNUX09GXzIgfCAoY2hhckNvZGUgPj4gNik7DQoJ
CQlzdHJPdXQrPSIlIitzdHJCeXRlLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgp
IDsNCgkJCXN0ckJ5dGU9VVRGOF9UUkFJTCB8IChjaGFyQ29kZSAmIDB4MDAzZik7
DQoJCQlzdHJPdXQrPSIlIitzdHJCeXRlLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2Fz
ZSgpOw0KCQl9DQoJCWVsc2UgaWYgKChjaGFyQ29kZSAmIFNVUlJPR0FURV82X0JJ
VCkgIT1ISUdIX1NVUlJPR0FURV9CSVRTKQ0KCQl7DQoJCQlzdHJCeXRlPVVURjhf
MVNUX09GXzMgfCAoY2hhckNvZGUgPj4gMTIpOw0KCQkJc3RyT3V0Kz0iJSIrc3Ry
Qnl0ZS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKTsNCgkJCXN0ckJ5dGU9VVRG
OF9UUkFJTCB8ICgoY2hhckNvZGUgJiAweDBmYzApID4+IDYpOw0KCQkJc3RyT3V0
Kz0iJSIrc3RyQnl0ZS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKTsNCgkJCXN0
ckJ5dGU9VVRGOF9UUkFJTCB8IChjaGFyQ29kZSAmIDB4MDAzZik7DQoJCQlzdHJP
dXQrPSIlIitzdHJCeXRlLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpOw0KCQl9
DQoJCWVsc2UgaWYgKGl4IDwgc3RyLmxlbmd0aCAtIDEpDQoJCXsNCgkJCXZhciBj
aGFyQ29kZT0oY2hhckNvZGUgJiAweDAzRkYpIDw8IDEwOw0KCQkJaXgrKzsNCgkJ
CXZhciBuZXh0Q2hhckNvZGU9c3RyLmNoYXJDb2RlQXQoaXgpOw0KCQkJY2hhckNv
ZGUgfD1uZXh0Q2hhckNvZGUgJiAweDAzRkY7DQoJCQljaGFyQ29kZSs9U1VSUk9H
QVRFX09GRlNFVDsNCgkJCXN0ckJ5dGU9VVRGOF8xU1RfT0ZfNCB8IChjaGFyQ29k
ZSA+PiAxOCk7DQoJCQlzdHJPdXQrPSIlIitzdHJCeXRlLnRvU3RyaW5nKDE2KS50
b1VwcGVyQ2FzZSgpOw0KCQkJc3RyQnl0ZT1VVEY4X1RSQUlMIHwgKChjaGFyQ29k
ZSAmIDB4M2YwMDApID4+IDEyKTsNCgkJCXN0ck91dCs9IiUiK3N0ckJ5dGUudG9T
dHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7DQoJCQlzdHJCeXRlPVVURjhfVFJBSUwg
fCAoKGNoYXJDb2RlICYgMHgwZmMwKSA+PiA2KTsNCgkJCXN0ck91dCs9IiUiK3N0
ckJ5dGUudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7DQoJCQlzdHJCeXRlPVVU
RjhfVFJBSUwgfCAoY2hhckNvZGUgJiAweDAwM2YpOw0KCQkJc3RyT3V0Kz0iJSIr
c3RyQnl0ZS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKTsNCgkJfQ0KCX0NCgly
ZXR1cm4gc3RyT3V0Ow0KfQ0KZnVuY3Rpb24gZXNjYXBlUHJvcGVybHkoc3RyKQ0K
ew0KCXJldHVybiBlc2NhcGVQcm9wZXJseUNvcmVDb3JlKHN0ciwgZmFsc2UsIGZh
bHNlLCBmYWxzZSk7DQp9DQpmdW5jdGlvbiBlc2NhcGVQcm9wZXJseUNvcmUoc3Ry
LCBiQXNVcmwpDQp7DQoJcmV0dXJuIGVzY2FwZVByb3Blcmx5Q29yZUNvcmUoc3Ry
LCBiQXNVcmwsIGZhbHNlLCBmYWxzZSk7DQp9DQpmdW5jdGlvbiBlc2NhcGVVcmxG
b3JDYWxsYmFjayhzdHIpDQp7DQoJdmFyIGlQb3VuZD1zdHIuaW5kZXhPZigiIyIp
Ow0KCXZhciBpUXVlcz1zdHIuaW5kZXhPZigiPyIpOw0KCWlmICgoaVBvdW5kID4g
MCkgJiYgKChpUXVlcz09LTEpIHx8IChpUG91bmQgPCBpUXVlcykpKQ0KCXsNCgkJ
dmFyIHN0ck5ldz1zdHIuc3Vic3RyKDAsIGlQb3VuZCk7DQoJCWlmIChpUXVlcyA+
IDApDQoJCXsNCgkJCXN0ck5ldys9c3RyLnN1YnN0cihpUXVlcyk7DQoJCX0NCgkJ
c3RyPXN0ck5ldzsNCgl9DQoJcmV0dXJuIGVzY2FwZVByb3Blcmx5Q29yZUNvcmUo
c3RyLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7DQp9DQpmdW5jdGlvbiBQYWdlVXJsVmFs
aWRhdGlvbih1cmwpDQp7DQoJaWYgKHVybC5zdWJzdHIoMCwgNCkgIT0iaHR0cCIg
JiYgdXJsLnN1YnN0cigwLDEpICE9Ii8iKQ0KCXsNCgkJdmFyIExfSW52YWxpZFBh
Z2VVcmxfVGV4dD0iTmVwbGF0bsOhIGFkcmVzYSBVUkwgc3Ryw6Fua3k6ICI7DQoJ
CWFsZXJ0KExfSW52YWxpZFBhZ2VVcmxfVGV4dCk7DQoJCXJldHVybiAiIjsNCgl9
DQoJZWxzZQ0KCQlyZXR1cm4gdXJsOw0KfQ0KZnVuY3Rpb24gRGVmZXJDYWxsKCkN
CnsNCglpZiAoYXJndW1lbnRzLmxlbmd0aD09MCkNCgkJcmV0dXJuIG51bGw7DQoJ
dmFyIGFyZ3M9YXJndW1lbnRzOw0KCXZhciBmbj1udWxsOw0KCWlmIChicm93c2Vy
aXMuaWU1dXAgfHwgYnJvd3NlcmlzLm5hdjZ1cCkNCgl7DQoJCWV2YWwoImlmICh0
eXBlb2YoIithcmdzWzBdKyIpPT0nZnVuY3Rpb24nKSB7IGZuPSIrYXJnc1swXSsi
OyB9Iik7DQoJfQ0KCWlmIChmbj09bnVsbCkNCgkJcmV0dXJuIG51bGw7DQoJaWYg
KGFyZ3MubGVuZ3RoPT0xKSByZXR1cm4gZm4oKTsNCgllbHNlIGlmIChhcmdzLmxl
bmd0aD09MikgcmV0dXJuIGZuKGFyZ3NbMV0pOw0KCWVsc2UgaWYgKGFyZ3MubGVu
Z3RoPT0zKSByZXR1cm4gZm4oYXJnc1sxXSwgYXJnc1syXSk7DQoJZWxzZSBpZiAo
YXJncy5sZW5ndGg9PTQpIHJldHVybiBmbihhcmdzWzFdLCBhcmdzWzJdLCBhcmdz
WzNdKTsNCgllbHNlIGlmIChhcmdzLmxlbmd0aD09NSkgcmV0dXJuIGZuKGFyZ3Nb
MV0sIGFyZ3NbMl0sIGFyZ3NbM10sIGFyZ3NbNF0pOw0KCWVsc2UgaWYgKGFyZ3Mu
bGVuZ3RoPT02KSByZXR1cm4gZm4oYXJnc1sxXSwgYXJnc1syXSwgYXJnc1szXSwg
YXJnc1s0XSwgYXJnc1s1XSk7DQoJZWxzZSBpZiAoYXJncy5sZW5ndGg9PTcpIHJl
dHVybiBmbihhcmdzWzFdLCBhcmdzWzJdLCBhcmdzWzNdLCBhcmdzWzRdLCBhcmdz
WzVdLCBhcmdzWzZdKTsNCgllbHNlIGlmIChhcmdzLmxlbmd0aD09OCkgcmV0dXJu
IGZuKGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10sIGFyZ3NbNF0sIGFyZ3NbNV0s
IGFyZ3NbNl0sIGFyZ3NbN10pOw0KCWVsc2UgaWYgKGFyZ3MubGVuZ3RoPT05KSBy
ZXR1cm4gZm4oYXJnc1sxXSwgYXJnc1syXSwgYXJnc1szXSwgYXJnc1s0XSwgYXJn
c1s1XSwgYXJnc1s2XSwgYXJnc1s3XSwgYXJnc1s4XSk7DQoJZWxzZSBpZiAoYXJn
cy5sZW5ndGg9PTEwKSByZXR1cm4gZm4oYXJnc1sxXSwgYXJnc1syXSwgYXJnc1sz
XSwgYXJnc1s0XSwgYXJnc1s1XSwgYXJnc1s2XSwgYXJnc1s3XSwgYXJnc1s4XSwg
YXJnc1s5XSk7DQoJZWxzZQ0KCXsNCgkJdmFyIExfVG9vTWFueURlZmVyc19UZXh0
PSJGdW5rY2kgRGVmZXJDYWxsIGJ5bG8gcMWZZWTDoW5vIHDFmcOtbGnFoSBtbm9o
byBwYXJhbWV0csWvLiI7DQoJCWFsZXJ0KExfVG9vTWFueURlZmVyc19UZXh0KTsN
Cgl9DQoJcmV0dXJuIG51bGw7DQp9DQp2YXIgTF9Db250YWluSWxsZWdhbENoYXJf
VGV4dD0iXjEgb2JzYWh1amUgbmVwbGF0bsO9IHpuYWsgXjIuIjsNCnZhciBMX0Nv
bnRhaW5JbGxlZ2FsU3RyaW5nX1RleHQ9Il4xIG9ic2FodWplIG5lcGxhdG7DqSB6
bmFreSBuZWJvIHBvZMWZZXTEm3plYy4iOw0KdmFyIExlZ2FsVXJsQ2hhcnM9bmV3
IEFycmF5DQooDQoJZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBm
YWxzZSwgZmFsc2UsIGZhbHNlLCAgICAgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFs
c2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLA0KCWZhbHNlLCBmYWxzZSwg
ZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgICAgIGZh
bHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBm
YWxzZSwNCgl0cnVlLCAgdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwg
IGZhbHNlLCB0cnVlLCAgICAgIHRydWUsICB0cnVlLCBmYWxzZSwgdHJ1ZSwgIHRy
dWUsICB0cnVlLCAgdHJ1ZSwgIHRydWUsDQoJdHJ1ZSwgIHRydWUsICB0cnVlLCAg
dHJ1ZSwgIHRydWUsICB0cnVlLCAgdHJ1ZSwgIHRydWUsICAgICAgdHJ1ZSwgIHRy
dWUsIGZhbHNlLCAgdHJ1ZSwgZmFsc2UsICB0cnVlLCBmYWxzZSwgZmFsc2UsDQoJ
dHJ1ZSwgIHRydWUsICB0cnVlLCAgdHJ1ZSwgIHRydWUsICB0cnVlLCAgdHJ1ZSwg
IHRydWUsICAgICAgdHJ1ZSwgIHRydWUsICB0cnVlLCAgdHJ1ZSwgIHRydWUsICB0
cnVlLCAgdHJ1ZSwgIHRydWUsDQoJdHJ1ZSwgIHRydWUsICB0cnVlLCAgdHJ1ZSwg
IHRydWUsICB0cnVlLCAgdHJ1ZSwgIHRydWUsICAgICAgdHJ1ZSwgIHRydWUsICB0
cnVlLCB0cnVlLCBmYWxzZSwgdHJ1ZSwgIHRydWUsICB0cnVlLA0KCXRydWUsICB0
cnVlLCAgdHJ1ZSwgIHRydWUsICB0cnVlLCAgdHJ1ZSwgIHRydWUsICB0cnVlLCAg
ICAgIHRydWUsICB0cnVlLCAgdHJ1ZSwgIHRydWUsICB0cnVlLCAgdHJ1ZSwgIHRy
dWUsICB0cnVlLA0KCXRydWUsICB0cnVlLCAgdHJ1ZSwgIHRydWUsICB0cnVlLCAg
dHJ1ZSwgIHRydWUsICB0cnVlLCAgICAgIHRydWUsICB0cnVlLCAgdHJ1ZSwgIGZh
bHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwNCglmYWxzZSwgZmFsc2Us
IGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsICAgICBm
YWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwg
ZmFsc2UsDQoJZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxz
ZSwgZmFsc2UsIGZhbHNlLCAgICAgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2Us
IGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlDQopOw0KZnVuY3Rpb24gQWRtQnVp
bGRQYXJhbShzdFBhdHRlcm4pDQp7DQoJdmFyIHJlOw0KCXZhciBpOw0KCWZvciAo
aT0xOyBpIDwgQWRtQnVpbGRQYXJhbS5hcmd1bWVudHMubGVuZ3RoOyBpKyspDQoJ
CXsNCgkJcmU9bmV3IFJlZ0V4cCgiXFxeIitpKTsNCgkJc3RQYXR0ZXJuPXN0UGF0
dGVybi5yZXBsYWNlKHJlLCBBZG1CdWlsZFBhcmFtLmFyZ3VtZW50c1tpXSk7DQoJ
CX0NCglyZXR1cm4gc3RQYXR0ZXJuOw0KfQ0KZnVuY3Rpb24gSW5kZXhPZklsbGVn
YWxDaGFySW5VcmxMZWFmTmFtZShzdHJMZWFmTmFtZSkNCnsNCglmb3IodmFyIGk9
MDsgaTxzdHJMZWFmTmFtZS5sZW5ndGg7IGkrKykNCgl7DQoJCXZhciBjaD1zdHJM
ZWFmTmFtZS5jaGFyQ29kZUF0KGkpOw0KCQlpZihzdHJMZWFmTmFtZS5jaGFyQXQo
aSk9PScuJyAmJiAoaT09MCB8fCBpPT0oc3RyTGVhZk5hbWUubGVuZ3RoLTEpKSkN
CgkJCXJldHVybiBpOw0KCQlpZihjaCA8IDE2MCAmJiAoIHN0ckxlYWZOYW1lLmNo
YXJBdChpKT09Jy8nIHx8ICFMZWdhbFVybENoYXJzW2NoXSkgKQ0KCQkJcmV0dXJu
IGk7DQoJfQ0KCXJldHVybiAtMTsNCn0NCmZ1bmN0aW9uIEluZGV4T2ZJbGxlZ2Fs
Q2hhckluVXJsUGF0aChzdHJQYXRoKQ0Kew0KCWZvcih2YXIgaT0wOyBpPHN0clBh
dGgubGVuZ3RoOyBpKyspDQoJew0KCQl2YXIgY2g9c3RyUGF0aC5jaGFyQ29kZUF0
KGkpOw0KCQlpZiggY2ggPCAxNjAgJiYgIUxlZ2FsVXJsQ2hhcnNbY2hdKQ0KCQkJ
cmV0dXJuIGk7DQoJfQ0KCXJldHVybiAtMTsNCn0NCmZ1bmN0aW9uIFVybENvbnRh
aW5zSWxsZWdhbFN0cmluZ3Moc3RyUGF0aCkNCnsNCglpZihzdHJQYXRoLmluZGV4
T2YoIi4uIikgPj0wDQoJCXx8IHN0clBhdGguaW5kZXhPZigiLy8iKSA+PTANCgkJ
fHwgc3RyUGF0aC5pbmRleE9mKCIuLyIpID49MA0KCQl8fCBzdHJQYXRoLmluZGV4
T2YoIi8uIikgPj0wDQoJCXx8IHN0clBhdGguaW5kZXhPZigiLiIpPT0wDQoJCXx8
IHN0clBhdGgubGFzdEluZGV4T2YoIi4iKT09KHN0clBhdGgubGVuZ3RoLTEpDQoJ
CSkNCgl7DQoJCXJldHVybiB0cnVlOw0KCX0NCglyZXR1cm4gZmFsc2U7DQp9DQpm
dW5jdGlvbiBVcmxMZWFmTmFtZVZhbGlkYXRlKHNvdXJjZSwgYXJncykNCnsNCgl2
YXIgc3RyTWVzc2FnZVByZWZpeD0iIjsNCglpZiggdHlwZW9mKHNvdXJjZS5NZXNz
YWdlUHJlZml4KT09InN0cmluZyIgKQ0KCXsNCgkJc3RyTWVzc2FnZVByZWZpeD1z
b3VyY2UuTWVzc2FnZVByZWZpeDsNCgl9DQoJZWxzZQ0KCXsNCgkJc3RyTWVzc2Fn
ZVByZWZpeD1zb3VyY2UuaWQ7DQoJfQ0KCXZhciBpPUluZGV4T2ZJbGxlZ2FsQ2hh
ckluVXJsTGVhZk5hbWUoYXJncy5WYWx1ZSk7DQoJaWYoIGkgPj0wICkNCgl7DQoJ
CWlmKHR5cGVvZihzb3VyY2UuZXJyb3JtZXNzYWdlKT09InN0cmluZyIpDQoJCXsN
CgkJCXNvdXJjZS5lcnJvcm1lc3NhZ2U9QWRtQnVpbGRQYXJhbShMX0NvbnRhaW5J
bGxlZ2FsQ2hhcl9UZXh0LCBzdHJNZXNzYWdlUHJlZml4LCBhcmdzLlZhbHVlLmNo
YXJBdChpKSk7DQoJCX0NCgkJYXJncy5Jc1ZhbGlkPWZhbHNlOw0KCX0NCgllbHNl
IGlmKCBVcmxDb250YWluc0lsbGVnYWxTdHJpbmdzKGFyZ3MuVmFsdWUpICkNCgl7
DQoJCWlmKHR5cGVvZihzb3VyY2UuZXJyb3JtZXNzYWdlKT09InN0cmluZyIgKQ0K
CQl7DQoJCQlzb3VyY2UuZXJyb3JtZXNzYWdlPUFkbUJ1aWxkUGFyYW0oTF9Db250
YWluSWxsZWdhbFN0cmluZ19UZXh0LCBzdHJNZXNzYWdlUHJlZml4KTsNCgkJfQ0K
CQlhcmdzLklzVmFsaWQ9ZmFsc2U7DQoJfQ0KCWVsc2UNCgl7DQoJCWFyZ3MuSXNW
YWxpZD10cnVlOw0KCX0NCn0NCmZ1bmN0aW9uIFVybFBhdGhWYWxpZGF0ZShzb3Vy
Y2UsIGFyZ3MpDQp7DQoJdmFyIHN0ck1lc3NhZ2VQcmVmaXg9IiI7DQoJaWYoIHR5
cGVvZihzb3VyY2UuTWVzc2FnZVByZWZpeCk9PSJzdHJpbmciICkNCgl7DQoJCXN0
ck1lc3NhZ2VQcmVmaXg9c291cmNlLk1lc3NhZ2VQcmVmaXg7DQoJfQ0KCWVsc2UN
Cgl7DQoJCXN0ck1lc3NhZ2VQcmVmaXg9c291cmNlLmlkOw0KCX0NCgl2YXIgaT1J
bmRleE9mSWxsZWdhbENoYXJJblVybFBhdGgoYXJncy5WYWx1ZSk7DQoJaWYoIGkg
Pj0wKQ0KCXsNCgkJaWYodHlwZW9mKHNvdXJjZS5lcnJvcm1lc3NhZ2UpPT0ic3Ry
aW5nIikNCgkJew0KCQkJc291cmNlLmVycm9ybWVzc2FnZT1BZG1CdWlsZFBhcmFt
KExfQ29udGFpbklsbGVnYWxDaGFyX1RleHQsIHN0ck1lc3NhZ2VQcmVmaXgsIGFy
Z3MuVmFsdWUuY2hhckF0KGkpKTsNCgkJfQ0KCQlhcmdzLklzVmFsaWQ9ZmFsc2U7
DQoJfQ0KCWVsc2UgaWYoIFVybENvbnRhaW5zSWxsZWdhbFN0cmluZ3MoYXJncy5W
YWx1ZSkgKQ0KCXsNCgkJaWYodHlwZW9mKHNvdXJjZS5lcnJvcm1lc3NhZ2UpPT0i
c3RyaW5nIiApDQoJCXsNCgkJCXNvdXJjZS5lcnJvcm1lc3NhZ2U9QWRtQnVpbGRQ
YXJhbShMX0NvbnRhaW5JbGxlZ2FsU3RyaW5nX1RleHQsIHN0ck1lc3NhZ2VQcmVm
aXgpOw0KCQl9DQoJCWFyZ3MuSXNWYWxpZD1mYWxzZTsNCgl9DQoJZWxzZQ0KCXsN
CgkJYXJncy5Jc1ZhbGlkPXRydWU7DQoJfQ0KfQ0KZnVuY3Rpb24gSXNDaGVja0Jv
eExpc3RTZWxlY3RlZChjaGVja2JveGxpc3QpDQp7DQoJaWYoY2hlY2tib3hsaXN0
PT1udWxsICkNCgkJcmV0dXJuIGZhbHNlOw0KCXZhciBsZW49Y2hlY2tib3hsaXN0
Lmxlbmd0aCA7DQoJaWYgKGxlbj09bnVsbCkNCgl7DQoJCXJldHVybiBjaGVja2Jv
eGxpc3QuY2hlY2tlZDsNCgl9DQoJZWxzZQ0KCXsNCgkJZm9yICh2YXIgaT0wOyBp
IDwgbGVuIDsgaSsrKQ0KCQl7DQoJCQlpZiAoY2hlY2tib3hsaXN0W2ldLmNoZWNr
ZWQpDQoJCQl7DQoJCQkJcmV0dXJuIHRydWU7DQoJCQl9DQoJCX0NCgl9DQoJcmV0
dXJuIGZhbHNlOw0KfQ0KZnVuY3Rpb24gU1RTVmFsaWRhdG9yRW5hYmxlKHZhbCwg
YkVuYWJsZSwgYlNpbGVudCkNCnsNCgl2YXIgb2JqVmFsPWRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKHZhbCk7DQoJaWYgKG9ialZhbD09bnVsbCkNCgkJcmV0dXJuOw0K
CWlmIChiU2lsZW50PT10cnVlIHx8IChvYmpWYWwuZ2V0QXR0cmlidXRlKCJBbHdh
eXNFbmFibGVTaWxlbnQiKT09dHJ1ZSkpDQoJew0KCQlvYmpWYWwuZW5hYmxlZD0o
YkVuYWJsZT09dHJ1ZSk7DQoJfQ0KCWVsc2UNCgl7DQoJCVZhbGlkYXRvckVuYWJs
ZShvYmpWYWwsIGJFbmFibGUpOw0KCX0NCn0NCmZ1bmN0aW9uIGVuY29kZVNjcmlw
dFF1b3RlKHN0cikNCnsNCgl2YXIgc3RyT3V0PSIiOw0KCXZhciBpeD0wOw0KCWZv
ciAoaXg9MDsgaXggPCBzdHIubGVuZ3RoOyBpeCsrKQ0KCXsNCgkJdmFyIGNoPXN0
ci5jaGFyQXQoaXgpOw0KCQlpZiAoY2g9PSdcJycpDQoJCQlzdHJPdXQrPSIlMjci
Ow0KCQllbHNlDQoJCQlzdHJPdXQrPWNoOw0KCX0NCglyZXR1cm4gc3RyT3V0Ow0K
fQ0KZnVuY3Rpb24gU1RTSHRtbEVuY29kZShzdHIpDQp7DQoJdmFyIHN0ck91dD0i
IjsNCgl2YXIgaXg9MDsNCglmb3IgKGl4PTA7IGl4IDwgc3RyLmxlbmd0aDsgaXgr
KykNCgl7DQoJCXZhciBjaD1zdHIuY2hhckF0KGl4KTsNCgkJc3dpdGNoIChjaCkN
CgkJew0KCQkJY2FzZSAnPCc6DQoJCQkJc3RyT3V0Kz0iJmx0OyI7DQoJCQkJYnJl
YWs7DQoJCQljYXNlICc+JzoNCgkJCQlzdHJPdXQrPSImZ3Q7IjsNCgkJCQlicmVh
azsNCgkJCWNhc2UgJyYnOg0KCQkJCXN0ck91dCs9IiZhbXA7IjsNCgkJCQlicmVh
azsNCgkJCWNhc2UgJ1wiJzoNCgkJCQlzdHJPdXQrPSImcXVvdDsiOw0KCQkJCWJy
ZWFrOw0KCQkJY2FzZSAnXCcnOg0KCQkJCXN0ck91dCs9IiYjMzk7IjsNCgkJCQli
cmVhazsNCgkJCWRlZmF1bHQ6DQoJCQkJc3RyT3V0Kz1jaDsNCgkJCQlicmVhazsN
CgkJfQ0KICAgfQ0KICAgcmV0dXJuIHN0ck91dDsNCn0NCmZ1bmN0aW9uIFN0QXR0
clF1b3RlKHN0KQ0Kew0KCXN0PXN0LnRvU3RyaW5nKCk7DQoJc3Q9c3QucmVwbGFj
ZSgvJi9nLCAnJmFtcDsnKTsNCglzdD1zdC5yZXBsYWNlKC9cIi9nLCAnJnF1b3Q7
Jyk7IC8vICINCglzdD1zdC5yZXBsYWNlKC9cci9nLCAnJiMxMzsnKTsNCglyZXR1
cm4gJyInK3N0KyciJzsNCn0NCmZ1bmN0aW9uIFNUU1NjcmlwdEVuY29kZShzdHIp
DQp7DQoJdmFyIHN0ck91dD0iIjsNCgl2YXIgaXg9MDsNCglmb3IgKGl4PTA7IGl4
IDwgc3RyLmxlbmd0aDsgaXgrKykNCgl7DQoJCXZhciBjaGFyQ29kZT1zdHIuY2hh
ckNvZGVBdChpeCk7DQoJCWlmIChjaGFyQ29kZSA+IDB4MGZmZikNCgkJew0KCQkJ
c3RyT3V0Kz0oIlxcdSIrY2hhckNvZGUudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNl
KCkpOw0KCQl9DQoJCWVsc2UgaWYgKGNoYXJDb2RlID4gMHgwMGZmKQ0KCQl7DQoJ
CQlzdHJPdXQrPSgiXFx1MCIrY2hhckNvZGUudG9TdHJpbmcoMTYpLnRvVXBwZXJD
YXNlKCkpOw0KCQl9DQoJCWVsc2UgaWYgKGNoYXJDb2RlID4gMHgwMDdmKQ0KCQl7
DQoJCQlzdHJPdXQrPSgiXFx1MDAiK2NoYXJDb2RlLnRvU3RyaW5nKDE2KS50b1Vw
cGVyQ2FzZSgpKTsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCXN3aXRjaCAoc3RyLmNo
YXJBdChpeCkpDQoJCQl7DQoJCQljYXNlICdcbic6DQoJCQkJc3RyT3V0Kz0iXFxu
IjsNCgkJCQlicmVhazsNCgkJCWNhc2UgJ1xyJzoNCgkJCQlzdHJPdXQrPSJcXHIi
Ow0KCQkJCWJyZWFrOw0KCQkJY2FzZSAnXCInOg0KCQkJCXN0ck91dCs9IlxcdTAw
MjIiOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAnJSc6DQoJCQkJc3RyT3V0Kz0iXFx1
MDAyNSI7DQoJCQkJYnJlYWs7DQoJCQljYXNlICcmJzoNCgkJCQlzdHJPdXQrPSJc
XHUwMDI2IjsNCgkJCQlicmVhazsNCgkJCWNhc2UgJ1wnJzoNCgkJCQlzdHJPdXQr
PSJcXHUwMDI3IjsNCgkJCQlicmVhazsNCgkJCWNhc2UgJygnOg0KCQkJCXN0ck91
dCs9IlxcdTAwMjgiOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAnKSc6DQoJCQkJc3Ry
T3V0Kz0iXFx1MDAyOSI7DQoJCQkJYnJlYWs7DQoJCQljYXNlICcrJzoNCgkJCQlz
dHJPdXQrPSJcXHUwMDJiIjsNCgkJCQlicmVhazsNCgkJCWNhc2UgJy8nOg0KCQkJ
CXN0ck91dCs9IlxcdTAwMmYiOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAnPCc6DQoJ
CQkJc3RyT3V0Kz0iXFx1MDAzYyI7DQoJCQkJYnJlYWs7DQoJCQljYXNlICc+JzoN
CgkJCQlzdHJPdXQrPSJcXHUwMDNlIjsNCgkJCQlicmVhazsNCgkJCWNhc2UgJ1xc
JzoNCgkJCQlzdHJPdXQrPSJcXFxcIjsNCgkJCQlicmVhazsNCgkJCWRlZmF1bHQ6
DQoJCQkJc3RyT3V0Kz1zdHIuY2hhckF0KGl4KTsNCgkJCX07DQoJCX0NCgl9DQoJ
cmV0dXJuIHN0ck91dDsNCn0NCmZ1bmN0aW9uIFNUU1NjcmlwdEVuY29kZVdpdGhR
dW90ZShzdHIpDQp7DQoJcmV0dXJuICciJytTVFNTY3JpcHRFbmNvZGUoc3RyKSsn
Iic7DQp9DQp2YXIgU1BPbkVycm9yX2NhY2hlZE9yaWdpbmFsT25FcnJvcj13aW5k
b3cub25lcnJvcjsNCnZhciBMX1BsZWFzZVdhaXRGb3JTY3JpcHRzX1RleHQ9IlBv
xI1rZWp0ZSBwcm9zw61tIG5hIG5hxI10ZW7DrSBza3JpcHTFry4uLiI7DQp2YXIg
Z19wYWdlTG9hZENvbXBsZXRlPWZhbHNlOw0KdmFyIHByZXZpb3VzUlNDaGFuZ2U9
Jyc7DQppZiAoZG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdlICE9bnVsbCkNCnsN
CglwcmV2aW91c1JTQ2hhbmdlPWRvY3VtZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZTsN
Cn0NCmRvY3VtZW50Lm9ucmVhZHlzdGF0ZWNoYW5nZT1zZXRMb2FkQ29tcGxldGU7
DQpmdW5jdGlvbiBzZXRMb2FkQ29tcGxldGUoKQ0Kew0KCWlmKHByZXZpb3VzUlND
aGFuZ2UgIT1udWxsICYmIHByZXZpb3VzUlNDaGFuZ2UgIT0nJykNCgl7DQoJCWV2
YWwocHJldmlvdXNSU0NoYW5nZSk7DQoJfQ0KCWlmKGRvY3VtZW50LnJlYWR5U3Rh
dGU9PSdjb21wbGV0ZScpDQoJew0KCQlnX3BhZ2VMb2FkQ29tcGxldGU9dHJ1ZTsN
CgkJd2luZG93LnN0YXR1cz0iIjsNCgkJd2luZG93Lm9uZXJyb3I9U1BPbkVycm9y
X2NhY2hlZE9yaWdpbmFsT25FcnJvcjsNCgl9DQp9DQpmdW5jdGlvbiBTUE9uRXJy
b3JfaGFuZGxlRXJyb3JzKG1zZyx1cmwsbGluZSkNCnsNCgl2YXIgdXNlRXJyb3JI
YW5kbGVyPWZhbHNlOw0KCWlmKCFnX3BhZ2VMb2FkQ29tcGxldGUgJiYgZG9jdW1l
bnQucmVhZHlTdGF0ZSAhPSJjb21wbGV0ZSIpDQoJew0KCQl1c2VFcnJvckhhbmRs
ZXI9dHJ1ZTsNCgl9DQoJaWYodXNlRXJyb3JIYW5kbGVyKQ0KCXsNCgkJdHJ5DQoJ
CXsNCgkJCXdpbmRvdy5zdGF0dXM9TF9QbGVhc2VXYWl0Rm9yU2NyaXB0c19UZXh0
Ow0KCQl9DQoJCWNhdGNoKGUpDQoJCXsNCgkJfQ0KCQlyZXR1cm4gdHJ1ZTsNCgl9
DQoJZWxzZQ0KCXsNCgkJaWYodHlwZW9mKFNQT25FcnJvcl9jYWNoZWRPcmlnaW5h
bE9uRXJyb3IpPT0iZnVuY3Rpb24iKQ0KCQl7DQoJCQl3aW5kb3cub25lcnJvcj1T
UE9uRXJyb3JfY2FjaGVkT3JpZ2luYWxPbkVycm9yOw0KCQkJcmV0dXJuIFNQT25F
cnJvcl9jYWNoZWRPcmlnaW5hbE9uRXJyb3IobXNnLHVybCxsaW5lKTsNCgkJfQ0K
CQllbHNlDQoJCXsNCgkJCXdpbmRvdy5vbmVycm9yPW51bGw7DQoJCQlyZXR1cm4g
ZmFsc2U7DQoJCX0NCgl9DQp9DQp3aW5kb3cub25lcnJvcj1TUE9uRXJyb3JfaGFu
ZGxlRXJyb3JzOw0KdmFyIExfTGFuZ3VhZ2VfVGV4dD0iMTAyOSI7DQp2YXIgTF9D
bGlja09uY2UxX3RleHQ9Ikppxb4gc2UgcG9rb3XFocOtdGUgdHV0byBwb2xvxb5r
dSB1bG/Fvml0LiBQb2t1ZCBzZSBqaSBwb2t1c8OtdGUgdWxvxb5pdCB6bm92dSwg
YnVkb3UgcHJhdmTEm3BvZG9ibsSbIHZ5dHZvxZllbnkgZHVwbGljaXRuw60gaW5m
b3JtYWNlLiBDaGNldGUgdHV0byBwb2xvxb5rdSB1bG/Fvml0IHpub3Z1PyI7DQp2
YXIgTF9TVFNSZWN5Y2xlQ29uZmlybV9UZXh0PSJPcHJhdmR1IGNoY2V0ZSBvZGVz
bGF0IHR1dG8gcG9sb8W+a3UgZG8ga2/FoWUgd2VidT8iOw0KdmFyIExfU1RTUmVj
eWNsZUNvbmZpcm0xX1RleHQ9Ik9wcmF2ZHUgY2hjZXRlIG9kZXNsYXQgdHV0byBz
bG/Fvmt1IGEgdmXFoWtlcsO9IGplasOtIG9ic2FoIGRvIHdlYm92w6kgc2xvxb5r
eSBLb8WhPyI7DQp2YXIgTF9TVFNEZWxDb25maXJtX1RleHQ9Ik9wcmF2ZHUgY2hj
ZXRlIG9kc3RyYW5pdCB0dXRvIHBvbG/Fvmt1PyI7DQp2YXIgTF9TVFNEZWxDb25m
aXJtMV9UZXh0PSJPcHJhdmR1IGNoY2V0ZSBvZHN0cmFuaXQgdHV0byBzbG/Fvmt1
IHbEjWV0bsSbIHZlxaFrZXLDqWhvIGplasOtaG8gb2JzYWh1PyI7DQp2YXIgTF9O
ZXdEb2NMaWJUYjFfVGV4dD0iRG9rdW1lbnQgbmVsemUgdnl0dm/FmWl0LiBcblBv
xb5hZG92YW7DoSBhcGxpa2FjZSBwcmF2ZMSbcG9kb2JuxJsgbmVuw60gc3Byw6F2
bsSbIG5haW5zdGFsb3bDoW5hIG5lYm8gbmVsemUgb3RldsWZw610IMWhYWJsb251
IHBybyB0dXRvIGtuaWhvdm51IGRva3VtZW50xa8uXG5cblZ5emtvdcWhZWp0ZSBu
w6FzbGVkdWrDrWPDrSBtb8W+bm9zdGkgxZllxaFlbsOtOlxuMS4gTmEgc3Ryw6Fu
Y2UgT2JlY27DqSBuYXN0YXZlbsOtIHTDqXRvIGtuaWhvdm55IGRva3VtZW50xa8g
emtvbnRyb2x1anRlIG7DoXpldiDFoWFibG9ueSBhIG5haW5zdGFsdWp0ZSBhcGxp
a2FjaSBuZXpieXRub3UgayBvdGV2xZllbsOtIMWhYWJsb255LiBQb2t1ZCBieWxh
IGFwbGlrYWNlIG5hc3RhdmVuYSBrIGluc3RhbGFjaSBwxZlpIHBydm7DrW0gcG91
xb5pdMOtLCBzcHVzxaV0ZSBhcGxpa2FjaSBhIHBhayB6bm92dSB6a3VzdGUgdnl0
dm/FmWl0IG5vdsO9IGRva3VtZW50LlxuXG4yLiBQb2t1ZCBtw6F0ZSBvcHLDoXZu
xJtuw60gem3Em25pdCB0dXRvIGtuaWhvdm51IGRva3VtZW50xa8sIHDFmWVqZMSb
dGUgbmEgc3Ryw6Fua3UgT2JlY27DqSBuYXN0YXZlbsOtIHTDqXRvIGtuaWhvdm55
IGEgbmFrb25maWd1cnVqdGUgbm92b3UgxaFhYmxvbnUuIjsNCnZhciBMX05ld0Rv
Y0xpYlRiMl9UZXh0PSJQxZnDrWtheiBOb3bDvSBkb2t1bWVudCB2ecW+YWR1amUg
YXBsaWthY2kga29tcGF0aWJpbG7DrSBzZSBzbHXFvmJvdSBXaW5kb3dzIFNoYXJl
UG9pbnQgU2VydmljZXMgYSBhcGxpa2FjaSBNaWNyb3NvZnQgSW50ZXJuZXQgRXhw
bG9yZXIgNi4wIG5lYm8gdnnFocWhw60uIENoY2V0ZS1saSBwxZlpZGF0IGRva3Vt
ZW50IGRvIHTDqXRvIGtuaWhvdm55IGRva3VtZW50xa8sIGtsZXBuxJt0ZSBuYSB0
bGHEjcOtdGtvIFVsb8W+aXQgZG9rdW1lbnQuIjsNCnZhciBMX05ld0Zvcm1MaWJU
YjFfVGV4dD0iRG9rdW1lbnQgbmVsemUgdnl0dm/FmWl0LlxuUG/FvmFkb3ZhbsOh
IGFwbGlrYWNlIHByYXZkxJtwb2RvYm7EmyBuZW7DrSBzcHLDoXZuxJsgbmFpbnN0
YWxvdsOhbmEgbmVibyBuZWx6ZSBvdGV2xZnDrXQgxaFhYmxvbnUgcHJvIHR1dG8g
a25paG92bnUgZG9rdW1lbnTFry5cblxuUG9zdHVwdWp0ZSB0YWt0bzpcbjEuIFYg
b2JlY27DqW0gbmFzdGF2ZW7DrSB0w6l0byBrbmlob3ZueSBkb2t1bWVudMWvIHpr
b250cm9sdWp0ZSBuw6F6ZXYgxaFhYmxvbnkgYSBuYWluc3RhbHVqdGUgYXBsaWth
Y2kgbnV0bm91IGsgamVqw61tdSBvdGV2xZllbsOtLiBQb2t1ZCBieWxhIGFwbGlr
YWNlIG5hc3RhdmVuYSBuYSBpbnN0YWxhY2kgcMWZaSBwcnZuw61tIHBvdcW+aXTD
rSwgc3B1c8WldGUgamkgYSBwb3RvbSB6a3VzdGUgbm92w70gZG9rdW1lbnQgdnl0
dm/FmWl0IHpub3Z1LlxuXG4yLiBQb2t1ZCBtw6F0ZSBvcHLDoXZuxJtuw60gem3E
m25pdCB0dXRvIGtuaWhvdm51IGRva3VtZW50xa8sIHDFmWVqZMSbdGUgbmEgc3Ry
w6Fua3UgT2JlY27DqSBuYXN0YXZlbsOtIHTDqXRvIGtuaWhvdm55IGEgbmFrb25m
aWd1cnVqdGUgbm92b3UgxaFhYmxvbnUuIjsNCnZhciBMX05ld0Zvcm1MaWJUYjJf
VGV4dD0iVGF0byBmdW5rY2UgdnnFvmFkdWplIGFwbGlrYWNpIE1pY3Jvc29mdCBJ
bnRlcm5ldCBFeHBsb3JlciA2LjAgbmVibyB2ecWhxaHDrSBhIGVkaXRvciBYTUwg
a29tcGF0aWJpbG7DrSBzZSBzbHXFvmJvdSBXaW5kb3dzIFNoYXJlUG9pbnQgU2Vy
dmljZXMsIG5hcMWZw61rbGFkIGVkaXRvciBNaWNyb3NvZnQgT2ZmaWNlIEluZm9Q
YXRoLiI7DQp2YXIgTF9Db25maXJtQ2hlY2tvdXRfVGV4dD0iVHV0byBwb2xvxb5r
dSBtdXPDrXRlIHDFmWVkIHByb3ZlZGVuw61tIHptxJtuIHJlemVydm92YXQuIENo
Y2V0ZSB0dXRvIHBvbG/Fvmt1IHJlemVydm92YXQgbnluw60/IjsNCnZhciBMX0No
ZWNrT3V0UmV0cnlfVGV4dD0iUmV6ZXJ2YWNlIHNlIG5lemRhxZlpbGEuIENoY2V0
ZSBzZSBwb2t1c2l0IG8gcmV6ZXJ2YWNpIHplIHNlcnZlcnU/IjsNCnZhciBMX0Nh
bm5vdEVkaXRQcm9wZXJ0eUZvckxvY2FsQ29weV9UZXh0PSJWbGFzdG5vc3RpIGRv
a3VtZW50dSBuZWx6ZSB1cHJhdml0LCBqZS1saSBkb2t1bWVudCByZXplcnZvdsOh
biBhIHVwcmF2b3bDoW4gdiByZcW+aW11IG9mZmxpbmUuIjsNCnZhciBMX0Nhbm5v
dEVkaXRQcm9wZXJ0eUNoZWNrb3V0X1RleHQ9IlZsYXN0bm9zdGkgZG9rdW1lbnR1
IG5lbHplIHVwcmF2aXQsIGplLWxpIGRva3VtZW50IHJlemVydm92w6FuIG5lYm8g
dXphbcSNZW4gcHJvIMO6cHJhdnkgamluw71tIHXFvml2YXRlbGVtLiI7DQp2YXIg
TF9OZXdGb3JtQ2xpY2tPbmNlMV9UZXh0PSJOb3bDoSBzbG/FvmthIjsNCnZhciBM
X0VudGVyVmFsaWRDb3B5RGVzdF9UZXh0PSJaYWRlanRlIHBsYXRub3UgYWRyZXN1
IFVSTCBzbG/Fvmt5IGEgbsOhemV2IHNvdWJvcnUuIEFkcmVzYSBVUkwgc2xvxb5r
eSBtdXPDrSB6YcSNw61uYXQgxZlldMSbemNlbSBodHRwOiBuZWJvIGh0dHBzOi4i
Ow0KdmFyIExfQ29uZmlybVVubGlua0NvcHlfVGV4dD0iVnpobGVkZW0gayB0b211
LCDFvmUgdGF0byBwb2xvxb5rYSBqZSBrb3Bpw60sIGplIG1vxb5uw6ksIMW+ZSBz
dMOhbGUgesOtc2vDoXbDoSBha3R1YWxpemFjZSB6ZSBzdsOpaG8gemRyb2plLiBN
xJtsaSBieXN0ZSBvdsSbxZlpdCwgemRhIGplIHRhdG8gcG9sb8W+a2Egb2RlYnLD
oW5hIHplIHpkcm9qb3bDqWhvIHNlem5hbXUgcG9sb8W+ZWsgayBha3R1YWxpemFj
aSwgamluYWsgc2UgbcWvxb5lIHN0w6F0LCDFvmUgYnVkZSBha3R1YWxpem92w6Fu
YSBpIG5hZMOhbGUuIE9wcmF2ZHUgY2hjZXRlIHpydcWhaXQgcHJvcG9qZW7DrSB0
w6l0byBwb2xvxb5reT8iOw0KdmFyIExfQ29weWluZ09mZmxpbmVWZXJzaW9uV2Fy
bmluZ19UZXh0PSJUZW50byBkb2t1bWVudCBqZSBueW7DrSByZXplcnZvdsOhbiBt
w61zdG7Emy4gTHplIHprb3DDrXJvdmF0IHBvdXplIHZlcnplIHVsb8W+ZW7DqSBu
YSBzZXJ2ZXJ1LiBDaGNldGUtbGkgemtvcMOtcm92YXQgbmVqbm92xJtqxaHDrSBk
w61sxI3DrSB2ZXJ6aSwga2xlcG7Em3RlIG5hIHRsYcSNw610a28gT0suIENoY2V0
ZS1saSB6a29ww61yb3ZhdCBha3R1w6FsbsSbIHJlemVydm92YW5vdSB2ZXJ6aSwg
a2xlcG7Em3RlIG5hIHRsYcSNw610a28gU3Rvcm5vLCB2cmHFpXRlIGRva3VtZW50
IHNlIHptxJtuYW1pIGEgcGFrIHpvcGFrdWp0ZSBvcGVyYWNpIGtvcMOtcm92w6Fu
w60uIjsNCnZhciBMX0xvYWRpbmdfVGV4dD0iTmHEjcOtdMOhbsOtLi4uIjsNCnZh
ciBMX0xvYWRpbmdfRXJyb3JfVGV4dD0iUMWZaSBuYcSNw610w6Fuw60gZGF0IGRv
xaFsbyBrIGNoeWLEmy4gQWt0dWFsaXp1anRlIHN0csOhbmt1IGEgcGFrIGFrY2kg
em9wYWt1anRlLiI7DQp2YXIgTF9XYXJua09uY2VfdGV4dD0iVGF0byBwb2xvxb5r
YSBvYnNhaHVqZSB2bGFzdG7DrSB6cMWvc29iIG9wYWtvdsOhbsOtLiBQb2t1ZCB1
bG/FvsOtdGUgcHJvdmVkZW7DqSB6bcSbbnksIG5lYnVkZXRlIHNlIG1vY2kgdnLD
oXRpdCBrIHDFmWVkY2hvesOtbXUgenDFr3NvYnUuIjsNCnZhciBMX1dlYkZvbGRl
cnNSZXF1aXJlZF9UZXh0PSJQb8SNa2VqdGUgcHJvc8OtbSwgbmHEjcOtdMOhIHNl
IHpvYnJhemVuw60gUHLFr3prdW1uw61rYS4gUG9rdWQgc2Ugem9icmF6ZW7DrSBQ
csWvemt1bW7DrWthIG5lem9icmF6w60sIGplIG1vxb5uw6ksIMW+ZSBqZSBwcm9o
bMOtxb5lxI0gbmVwb2Rwb3J1amUuIjsNCnZhciBMX1dlYkZvbGRlcnNFcnJvcl9U
ZXh0PSJLbGllbnQgbmVwb2Rwb3J1amUgb3RldsWZZW7DrSB0b2hvdG8gc2V6bmFt
dSB2IFByxa96a3VtbsOta3UgV2luZG93cy4iOw0KdmFyIExfQWNjZXNzaWJsZU1l
bnVfVGV4dD0iTmFiw61ka2EiOw0KdmFyIExfTmV3QmxvZ1Bvc3RfVGV4dD0iVGF0
byBmdW5rY2UgdnnFvmFkdWplIGFwbGlrYWNpIE1pY3Jvc29mdCBJbnRlcm5ldCBF
eHBsb3JlciA2LjAgbmVibyB2ecWhxaHDrSBhIGVkaXRvciBibG9ndSBrb21wYXRp
YmlsbsOtIHNlIHNsdcW+Ym91IFdpbmRvd3MgU2hhcmVQb2ludCBTZXJ2aWNlcywg
bmFwxZnDrWtsYWQgYXBsaWthY2kgTWljcm9zb2Z0IE9mZmljZSBXb3JkIDIwMDcg
xI1pIHZ5xaHFocOtLiI7DQp2YXIgTF9OZXdCbG9nUG9zdEZhaWxlZF9UZXh0PSJO
ZWx6ZSBzZSBwxZlpcG9qaXQgayBwcm9ncmFtdSBibG9ndSwgcHJvdG/FvmUgamUg
cHJhdmTEm3BvZG9ibsSbIHphbmVwcsOhemRuxJtuIG5lYm8gbmVieWwgbmFsZXpl
bi4gT3bEm8WZdGUgcHJvZ3JhbSBhIHpvcGFrdWp0ZSBha2NpLiI7DQp2YXIgcmVj
eWNsZUJpbkVuYWJsZWQ9MDsNCnZhciBiSXNGaWxlRGlhbG9nVmlldz1mYWxzZTsN
CnZhciBnX1ZpZXdJZFRvVmlld0NvdW50ZXJNYXA9bmV3IEFycmF5KCk7DQpmdW5j
dGlvbiBVcGRhdGVBY2Nlc3NpYmlsaXR5VUkoKQ0Kew0KCXZhciB0MT1kb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiVHVybk9uQWNjZXNzaWJpbGl0eSIpOw0KCXZhciB0
Mj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiVHVybk9mZkFjY2Vzc2liaWxpdHki
KTsNCglpZiAoSXNBY2Nlc3NpYmlsaXR5RmVhdHVyZUVuYWJsZWQoKSkNCgl7DQoJ
CWlmICh0MSAhPW51bGwpDQoJCQl0MS5zdHlsZS5kaXNwbGF5PSJub25lIjsNCgkJ
aWYgKHQyICE9bnVsbCkNCgkJCXQyLnN0eWxlLmRpc3BsYXk9IiI7DQoJfQ0KCWVs
c2UNCgl7DQoJCWlmICh0MSAhPW51bGwpDQoJCQl0MS5zdHlsZS5kaXNwbGF5PSIi
Ow0KCQlpZiAodDIgIT1udWxsKQ0KCQkJdDIuc3R5bGUuZGlzcGxheT0ibm9uZSI7
DQoJfQ0KfQ0KZnVuY3Rpb24gU2V0SXNBY2Nlc3NpYmlsaXR5RmVhdHVyZUVuYWJs
ZWQoZikNCnsNCglpZiAoZikNCgkJZG9jdW1lbnQuY29va2llPSJXU1NfQWNjZXNz
aWJpbGl0eUZlYXR1cmU9dHJ1ZTtwYXRoPTsiOw0KCWVsc2UNCgkJZG9jdW1lbnQu
Y29va2llPSJXU1NfQWNjZXNzaWJpbGl0eUZlYXR1cmU9ZmFsc2U7cGF0aD07IjsN
Cn0NCmZ1bmN0aW9uIERlbGV0ZUNvb2tpZShzTmFtZSkNCnsNCglkb2N1bWVudC5j
b29raWU9c05hbWUrIj07IGV4cGlyZXM9VGh1LCAwMS1KYW4tNzAgMDA6MDA6MDEg
R01UIjsNCn0NCmZ1bmN0aW9uIEdldENvb2tpZShzTmFtZSkNCnsNCgl2YXIgYUNv
b2tpZT1kb2N1bWVudC5jb29raWUuc3BsaXQoIjsgIik7DQoJZm9yICh2YXIgaT0w
OyBpIDwgYUNvb2tpZS5sZW5ndGg7IGkrKykNCgl7DQoJCXZhciBhQ3J1bWI9YUNv
b2tpZVtpXS5zcGxpdCgiPSIpOw0KCQlpZiAoc05hbWU9PWFDcnVtYlswXSkgew0K
CQkJaWYoYUNydW1iLmxlbmd0aCA+IDEpDQoJCQkJcmV0dXJuIHVuZXNjYXBlUHJv
cGVybHkoYUNydW1iWzFdKTsNCgkJCWVsc2UNCgkJCQlyZXR1cm4gbnVsbDsNCgkJ
fQ0KCX0NCglyZXR1cm4gbnVsbDsNCn0NCmZ1bmN0aW9uIElzQWNjZXNzaWJpbGl0
eUZlYXR1cmVFbmFibGVkKCkNCnsNCglyZXR1cm4gR2V0Q29va2llKCJXU1NfQWNj
ZXNzaWJpbGl0eUZlYXR1cmUiKT09InRydWUiOw0KfQ0KZnVuY3Rpb24gZXNjYXBl
Rm9yU3luYyhzdHIpDQp7DQoJdmFyIHN0ck91dD0iIjsNCgl2YXIgaXg9MDsNCgl2
YXIgYkRvaW5nVW5pY29kZT0wOw0KCXZhciBzdHJTeW5jRXNjYXBlZD0iXFwmfFtd
IjsNCglmb3IgKGl4PTA7IGl4IDwgc3RyLmxlbmd0aDsgaXgrKykNCgl7DQoJCXZh
ciBjaGFyQ29kZT1zdHIuY2hhckNvZGVBdChpeCk7DQoJCXZhciBjdXJDaGFyPXN0
ci5jaGFyQXQoaXgpOw0KCQlpZiAoYkRvaW5nVW5pY29kZSAmJiBjaGFyQ29kZSA8
PTB4N2YpIHsNCgkJCXN0ck91dCs9Il0iOw0KCQkJYkRvaW5nVW5pY29kZT0wOw0K
CQl9DQoJCWlmICghYkRvaW5nVW5pY29kZSAmJiBjaGFyQ29kZSA+IDB4N2YpIHsN
CgkJCXN0ck91dCs9IlsiOw0KCQkJYkRvaW5nVW5pY29kZT0xOw0KCQl9DQoJCWlm
KHN0clN5bmNFc2NhcGVkLmluZGV4T2YoY3VyQ2hhcikgPj0wKQ0KCQkJc3RyT3V0
Kz0ifCI7DQoJCWlmICggKGNoYXJDb2RlID49OTcgJiYgY2hhckNvZGUgPD0xMjIp
IHx8DQoJCQkgKGNoYXJDb2RlID49NjUgJiYgY2hhckNvZGUgPD05MCkgfHwNCgkJ
CSAoY2hhckNvZGUgPj00OCAmJiBjaGFyQ29kZSA8PTU3KSApDQoJCXsNCgkJCXN0
ck91dCs9Y3VyQ2hhcjsNCgkJfQ0KCQllbHNlIGlmIChjaGFyQ29kZSA8PTB4MGYp
DQoJCXsNCgkJCXN0ck91dCs9IiUwIitjaGFyQ29kZS50b1N0cmluZygxNikudG9V
cHBlckNhc2UoKTsNCgkJfQ0KCQllbHNlIGlmIChjaGFyQ29kZSA8PTB4N2YpDQoJ
CXsNCgkJCXN0ck91dCs9IiUiK2NoYXJDb2RlLnRvU3RyaW5nKDE2KS50b1VwcGVy
Q2FzZSgpOw0KCQl9DQoJCWVsc2UgaWYgKGNoYXJDb2RlIDw9MHgwMGZmKQ0KCQl7
DQoJCQlzdHJPdXQrPSIwMCIrY2hhckNvZGUudG9TdHJpbmcoMTYpLnRvVXBwZXJD
YXNlKCk7DQoJCX0NCgkJZWxzZSBpZiAoY2hhckNvZGUgPD0weDBmZmYpDQoJCXsN
CgkJCXN0ck91dCs9IjAiK2NoYXJDb2RlLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2Fz
ZSgpOw0KCQl9DQoJCWVsc2Ugew0KCQkJc3RyT3V0Kz1jaGFyQ29kZS50b1N0cmlu
ZygxNikudG9VcHBlckNhc2UoKTsNCgkJfQ0KCX0NCglpZiAoYkRvaW5nVW5pY29k
ZSkNCgkJc3RyT3V0Kz0iXSI7DQoJcmV0dXJuIHN0ck91dDsNCn0NCnZhciBnX3Jn
ZHdjaE1pbkVuY29kZWQ9bmV3IEFycmF5KFsNCgkweDAwMDAwMDAwLA0KCTB4MDAw
MDAwODAsDQoJMHgwMDAwMDgwMCwNCgkweDAwMDEwMDAwLA0KCTB4MDAyMDAwMDAs
DQoJMHgwNDAwMDAwMCwNCgkweDgwMDAwMDAwDQoJXSk7DQpmdW5jdGlvbiBWdXRm
OFRvVW5pY29kZShyZ0J5dGVzKQ0Kew0KCXZhciBpeD0wOw0KCXZhciBzdHJSZXN1
bHQ9IiI7DQoJdmFyIGR3Y2gsIHdjaCwgdWNoOw0KCXZhciBuVHJhaWxCeXRlcywg
blRyYWlsQnl0ZXNPcmlnOw0KCXdoaWxlIChpeCA8IHJnQnl0ZXMubGVuZ3RoKQ0K
CXsNCgkJaWYgKHJnQnl0ZXNbaXhdIDw9MHgwMDdmKQ0KCQl7DQoJCQlzdHJSZXN1
bHQrPVN0cmluZy5mcm9tQ2hhckNvZGUocmdCeXRlc1tpeCsrXSk7DQoJCX0NCgkJ
ZWxzZQ0KCQl7DQoJCQl1Y2g9cmdCeXRlc1tpeCsrXTsNCgkJCW5UcmFpbEJ5dGVz
PSgodWNoKSAmIDB4MjApID8gKCgodWNoKSAmIDB4MTApID8gMyA6IDIpIDogMTsN
CgkJCWR3Y2g9dWNoICYgKDB4ZmYgPj4+ICgyK25UcmFpbEJ5dGVzKSk7DQoJCQl3
aGlsZSAoblRyYWlsQnl0ZXMgJiYgKGl4IDwgcmdCeXRlcy5sZW5ndGgpKQ0KCQkJ
ew0KCQkJCS0tblRyYWlsQnl0ZXM7DQoJCQkJdWNoPXJnQnl0ZXNbaXgrK107DQoJ
CQkJaWYgKHVjaD09MCkNCgkJCQl7DQoJCQkJCXJldHVybiBzdHJSZXN1bHQ7DQoJ
CQkJfQ0KCQkJCWlmICgodWNoICYgMHhDMCkgIT0weDgwKQ0KCQkJCXsNCgkJCQkJ
c3RyUmVzdWx0Kz0nPyc7DQoJCQkJCWJyZWFrOw0KCQkJCX0NCgkJCQlkd2NoPShk
d2NoIDw8IDYpIHwgKCh1Y2gpICYgMHgwMDNmKTsNCgkJCX0NCgkJCWlmIChuVHJh
aWxCeXRlcykNCgkJCXsNCgkJCQlzdHJSZXN1bHQrPSc/JzsNCgkJCQlicmVhazsN
CgkJCX0NCgkJCWlmIChkd2NoIDwgZ19yZ2R3Y2hNaW5FbmNvZGVkW25UcmFpbEJ5
dGVzT3JpZ10pDQoJCQl7DQoJCQkJc3RyUmVzdWx0Kz0nPyc7DQoJCQkJYnJlYWs7
DQoJCQl9DQoJCQllbHNlIGlmIChkd2NoIDw9MHhmZmZmKQ0KCQkJew0KCQkJCXN0
clJlc3VsdCs9U3RyaW5nLmZyb21DaGFyQ29kZShkd2NoKTsNCgkJCX0NCgkJCWVs
c2UgaWYgKGR3Y2ggPD0weDEwZmZmZikNCgkJCXsNCgkJCQlkd2NoIC09U1VSUk9H
QVRFX09GRlNFVDsNCgkJCQlzdHJSZXN1bHQrPVN0cmluZy5mcm9tQ2hhckNvZGUo
DQoJCQkJCUhJR0hfU1VSUk9HQVRFX0JJVFMgfCBkd2NoID4+PiAxMCk7DQoJCQkJ
c3RyUmVzdWx0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKA0KCQkJCQlMT1dfU1VSUk9H
QVRFX0JJVFMgfCAoKGR3Y2gpICYgMHgwMDNGRikpOw0KCQkJfQ0KCQkJZWxzZQ0K
CQkJew0KCQkJCXN0clJlc3VsdCs9Jz8nOw0KCQkJfQ0KCQl9DQoJfQ0KCXJldHVy
biBzdHJSZXN1bHQ7DQp9DQpmdW5jdGlvbiB1bmVzY2FwZVByb3Blcmx5SW50ZXJu
YWwoc3RyKQ0Kew0KCWlmIChzdHI9PW51bGwpDQoJCXJldHVybiAibnVsbCI7DQoJ
dmFyIGl4PTAsIGl4RW50aXR5PTA7DQoJdmFyIHN0clJlc3VsdD0iIjsNCgl2YXIg
cmdVVEY4Qnl0ZXM9bmV3IEFycmF5Ow0KCXZhciBpeFVURjhCeXRlcz0wOw0KCXZh
ciBoZXhTdHJpbmcsIGhleENvZGU7DQoJd2hpbGUgKGl4IDwgc3RyLmxlbmd0aCkN
Cgl7DQoJCWlmIChzdHIuY2hhckF0KGl4KT09JyUnKQ0KCQl7DQoJCQlpZiAoc3Ry
LmNoYXJBdCgrK2l4KT09J3UnKQ0KCQkJew0KCQkJCWhleFN0cmluZz0iIjsNCgkJ
CQlmb3IgKGl4RW50aXR5PTA7IGl4RW50aXR5IDwgNCAmJiBpeCA8IHN0ci5sZW5n
dGg7KytpeEVudGl0eSkNCgkJCQl7DQoJCQkJCWhleFN0cmluZys9c3RyLmNoYXJB
dCgrK2l4KTsNCgkJCQl9DQoJCQkJd2hpbGUgKGhleFN0cmluZy5sZW5ndGggPCA0
KQ0KCQkJCXsNCgkJCQkJaGV4U3RyaW5nKz0nMCc7DQoJCQkJfQ0KCQkJCWhleENv
ZGU9cGFyc2VJbnQoaGV4U3RyaW5nLCAxNik7DQoJCQkJaWYgKGlzTmFOKGhleENv
ZGUpKQ0KCQkJCXsNCgkJCQkJc3RyUmVzdWx0Kz0nPyc7DQoJCQkJfQ0KCQkJCWVs
c2UNCgkJCQl7DQoJCQkJCXN0clJlc3VsdCs9U3RyaW5nLmZyb21DaGFyQ29kZSho
ZXhDb2RlKTsNCgkJCQl9DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJaGV4U3Ry
aW5nPSIiOw0KCQkJCWZvciAoaXhFbnRpdHk9MDsgaXhFbnRpdHkgPCAyICYmIGl4
IDwgc3RyLmxlbmd0aDsrK2l4RW50aXR5KQ0KCQkJCXsNCgkJCQkJaGV4U3RyaW5n
Kz1zdHIuY2hhckF0KGl4KyspOw0KCQkJCX0NCgkJCQl3aGlsZSAoaGV4U3RyaW5n
Lmxlbmd0aCA8IDIpDQoJCQkJew0KCQkJCQloZXhTdHJpbmcrPScwJzsNCgkJCQl9
DQoJCQkJaGV4Q29kZT1wYXJzZUludChoZXhTdHJpbmcsIDE2KTsNCgkJCQlpZiAo
aXNOYU4oaGV4Q29kZSkpDQoJCQkJew0KCQkJCQlpZiAoaXhVVEY4Qnl0ZXMpDQoJ
CQkJCXsNCgkJCQkJCXN0clJlc3VsdCs9VnV0ZjhUb1VuaWNvZGUocmdVVEY4Qnl0
ZXMpOw0KCQkJCQkJaXhVVEY4Qnl0ZXM9MDsNCgkJCQkJCXJnVVRGOEJ5dGVzLmxl
bmd0aD1peFVURjhCeXRlczsNCgkJCQkJfQ0KCQkJCQlzdHJSZXN1bHQrPSc/JzsN
CgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJcmdVVEY4Qnl0ZXNbaXhVVEY4
Qnl0ZXMrK109aGV4Q29kZTsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJZWxzZQ0KCQl7
DQoJCQlpZiAoaXhVVEY4Qnl0ZXMpDQoJCQl7DQoJCQkJc3RyUmVzdWx0Kz1WdXRm
OFRvVW5pY29kZShyZ1VURjhCeXRlcyk7DQoJCQkJaXhVVEY4Qnl0ZXM9MDsNCgkJ
CQlyZ1VURjhCeXRlcy5sZW5ndGg9aXhVVEY4Qnl0ZXM7DQoJCQl9DQoJCQlzdHJS
ZXN1bHQrPXN0ci5jaGFyQXQoaXgrKyk7DQoJCX0NCgl9DQoJaWYgKGl4VVRGOEJ5
dGVzKQ0KCXsNCgkJc3RyUmVzdWx0Kz1WdXRmOFRvVW5pY29kZShyZ1VURjhCeXRl
cyk7DQoJCWl4VVRGOEJ5dGVzPTA7DQoJCXJnVVRGOEJ5dGVzLmxlbmd0aD1peFVU
RjhCeXRlczsNCgl9DQoJcmV0dXJuIHN0clJlc3VsdDsNCn0NCmZ1bmN0aW9uIHVu
ZXNjYXBlUHJvcGVybHkoc3RyKQ0Kew0KCXZhciBzdHJSZXN1bHQ9bnVsbDsNCglp
ZiAoKGJyb3dzZXJpcy5pZTU1dXAgfHwgYnJvd3NlcmlzLm5hdjZ1cCkgJiYNCgkJ
KHR5cGVvZihkZWNvZGVVUklDb21wb25lbnQpICE9InVuZGVmaW5lZCIpKQ0KCXsN
CgkJc3RyUmVzdWx0PWRlY29kZVVSSUNvbXBvbmVudChzdHIpOw0KCX0NCgllbHNl
DQoJew0KCQlzdHJSZXN1bHQ9dW5lc2NhcGVQcm9wZXJseUludGVybmFsKHN0cik7
DQoJfQ0KCXJldHVybiBzdHJSZXN1bHQ7DQp9DQpmdW5jdGlvbiBuYXZpZ2F0ZU1h
aWxUb0xpbmsoc3RyVXJsLCBzdHJVcmxOZXcpDQp7DQoJaWYgKHN0clVybE5ldykN
Cgl7DQoJCXJldHVybiBuYXZpZ2F0ZU1haWxUb0xpbmtOZXcoc3RyVXJsTmV3KTsN
Cgl9DQoJdmFyIHN0ckVuY29kZWQ9IiI7DQoJZm9yIChpeD0wOyBpeCA8IHN0clVy
bC5sZW5ndGg7IGl4KyspDQoJew0KCQl2YXIgY3VyQ2hhcj1zdHJVcmwuY2hhckF0
KGl4KTsNCgkJdmFyIHN0ckhleENvZGU7DQoJCXZhciBzdHJIZXhDb2RlTDsNCgkJ
aWYgKGN1ckNoYXI9PSclJykNCgkJew0KCQkJc3RySGV4Q29kZT1zdHJVcmwuY2hh
ckF0KGl4KzEpOw0KCQkJc3RySGV4Q29kZSs9c3RyVXJsLmNoYXJBdChpeCsyKTsN
CgkJCXN0ckhleENvZGVMPXN0ckhleENvZGUudG9Mb3dlckNhc2UoKTsNCgkJCWlm
IChzdHJIZXhDb2RlTD09IjNhIiB8fCBzdHJIZXhDb2RlTD09IjJmIiB8fA0KCQkJ
CXN0ckhleENvZGVMPT0iMmUiIHx8IHN0ckhleENvZGVMPT0iMmQiIHx8DQoJCQkJ
c3RySGV4Q29kZUw9PSIzZCIpDQoJCQl7DQoJCQkJc3RyRW5jb2RlZCs9Y3VyQ2hh
cjsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQlzdHJFbmNvZGVkKz1jdXJDaGFy
Ow0KCQkJCXN0ckVuY29kZWQrPSIyNSI7DQoJCQl9DQoJCX0NCgkJZWxzZQ0KCQl7
DQoJCQlzdHJFbmNvZGVkKz1jdXJDaGFyOw0KCQl9DQoJfQ0KCXdpbmRvdy5sb2Nh
dGlvbj1zdHJFbmNvZGVkOw0KfQ0KZnVuY3Rpb24gbmF2aWdhdGVNYWlsVG9MaW5r
TmV3KHN0ckJvZHkpDQp7DQoJd2luZG93LmxvY2F0aW9uPSdtYWlsdG86P2JvZHk9
Jytlc2NhcGVQcm9wZXJseShzdHJCb2R5KTsNCn0NCmZ1bmN0aW9uIG5ld0Jsb2dQ
b3N0T25DbGllbnQoc3RyUHJvdmlkZXJJZCwgc3RyQmxvZ1VybCwgc3RyQmxvZ05h
bWUpDQp7DQoJdmFyIHN0c09wZW47DQoJdmFyIGZSZXQ7DQoJc3RzT3Blbj1TdHNP
cGVuRW5zdXJlRXgoIlNoYXJlUG9pbnQuT3BlbkRvY3VtZW50cy4zIik7DQoJaWYg
KHN0c09wZW49PW51bGwpDQoJew0KCQlhbGVydChMX05ld0Jsb2dQb3N0X1RleHQp
Ow0KCQlyZXR1cm47DQoJfQ0KCXRyeQ0KCXsNCgkJZlJldD1zdHNPcGVuLk5ld0Js
b2dQb3N0KHN0clByb3ZpZGVySWQsIHN0ckJsb2dVcmwsIHN0ckJsb2dOYW1lKTsN
Cgl9DQoJY2F0Y2ggKGUpDQoJew0KCQlhbGVydChMX05ld0Jsb2dQb3N0RmFpbGVk
X1RleHQpOw0KCX0NCn0NCmZ1bmN0aW9uIEdldFVybEZyb21XZWJVcmxBbmRXZWJS
ZWxhdGl2ZVVybCh3ZWJVcmwsIHdlYlJlbGF0aXZlVXJsKQ0Kew0KCXZhciByZXRV
cmw9KHdlYlVybD09bnVsbCB8fCB3ZWJVcmwubGVuZ3RoIDw9MCkgPyAiLyIgOiB3
ZWJVcmw7DQoJaWYgKHJldFVybC5jaGFyQXQocmV0VXJsLmxlbmd0aCAtIDEpICE9
Ii8iKQ0KCXsNCgkJcmV0VXJsKz0iLyI7DQoJfQ0KCXJldFVybCs9d2ViUmVsYXRp
dmVVcmw7DQoJcmV0dXJuIHJldFVybDsNCn0NCnZhciBnX3VwZGF0ZUZvcm1EaWdl
c3RQYWdlTG9hZGVkPW5ldyBEYXRlKCk7DQpmdW5jdGlvbiBVcGRhdGVGb3JtRGln
ZXN0KHNlcnZlclJlbGF0aXZlV2ViVXJsLCB1cGRhdGVJbnRlcnZhbCkNCnsNCgl0
cnkNCgl7DQoJCWlmICgoZ191cGRhdGVGb3JtRGlnZXN0UGFnZUxvYWRlZD09bnVs
bCkgfHwgKHR5cGVvZihnX3VwZGF0ZUZvcm1EaWdlc3RQYWdlTG9hZGVkKSAhPSJv
YmplY3QiKSkNCgkJew0KCQkJcmV0dXJuOw0KCQl9DQoJCXZhciBub3c9bmV3IERh
dGUoKTsNCgkJaWYgKG5vdy5nZXRUaW1lKCkgLSBnX3VwZGF0ZUZvcm1EaWdlc3RQ
YWdlTG9hZGVkLmdldFRpbWUoKSA8IHVwZGF0ZUludGVydmFsKQ0KCQl7DQoJCQly
ZXR1cm47DQoJCX0NCgkJaWYgKChzZXJ2ZXJSZWxhdGl2ZVdlYlVybD09bnVsbCkg
fHwgKHNlcnZlclJlbGF0aXZlV2ViVXJsLmxlbmd0aCA8PTApKQ0KCQl7DQoJCQly
ZXR1cm47DQoJCX0NCgkJdmFyIGZvcm1EaWdlc3RFbGVtZW50PWRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlOYW1lKCJfX1JFUVVFU1RESUdFU1QiKVswXTsNCgkJaWYgKChm
b3JtRGlnZXN0RWxlbWVudD09bnVsbCkgfHwgKGZvcm1EaWdlc3RFbGVtZW50LnRh
Z05hbWUudG9Mb3dlckNhc2UoKSAhPSJpbnB1dCIpIHx8IChmb3JtRGlnZXN0RWxl
bWVudC50eXBlLnRvTG93ZXJDYXNlKCkgIT0iaGlkZGVuIikgfHwNCgkJCShmb3Jt
RGlnZXN0RWxlbWVudC52YWx1ZT09bnVsbCkgfHwgKGZvcm1EaWdlc3RFbGVtZW50
LnZhbHVlLmxlbmd0aCA8PTApKQ0KCQl7DQoJCQlyZXR1cm47DQoJCX0NCgkJdmFy
IHJlcXVlc3Q9bnVsbDsNCgkJdHJ5DQoJCXsNCgkJCXJlcXVlc3Q9bmV3IEFjdGl2
ZVhPYmplY3QoIk1zeG1sMi5YTUxIVFRQIik7DQoJCX0NCgkJY2F0Y2ggKGV4KQ0K
CQl7DQoJCQlyZXF1ZXN0PW51bGw7DQoJCX0NCgkJaWYgKHJlcXVlc3Q9PW51bGwp
DQoJCXsNCgkJCXRyeQ0KCQkJew0KCQkJCXJlcXVlc3Q9bmV3IFhNTEh0dHBSZXF1
ZXN0KCk7DQoJCQl9DQoJCQljYXRjaCAoZXgpDQoJCQl7DQoJCQkJcmVxdWVzdD1u
dWxsOw0KCQkJfQ0KCQl9DQoJCWlmIChyZXF1ZXN0PT1udWxsKQ0KCQl7DQoJCQly
ZXR1cm47DQoJCX0NCgkJcmVxdWVzdC5vcGVuKCJQT1NUIiwgR2V0VXJsRnJvbVdl
YlVybEFuZFdlYlJlbGF0aXZlVXJsKHNlcnZlclJlbGF0aXZlV2ViVXJsLCAiX3Z0
aV9iaW4vc2l0ZXMuYXNteCIpLCBmYWxzZSk7DQoJCXJlcXVlc3Quc2V0UmVxdWVz
dEhlYWRlcigiQ29udGVudC1UeXBlIiwgInRleHQveG1sIik7DQoJCXJlcXVlc3Qu
c2V0UmVxdWVzdEhlYWRlcigiU09BUEFjdGlvbiIsICJodHRwOi8vc2NoZW1hcy5t
aWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC9HZXRVcGRhdGVkRm9ybURpZ2Vz
dCIpOw0KCQlyZXF1ZXN0LnNlbmQoIjw/eG1sIHZlcnNpb249XCIxLjBcIiBlbmNv
ZGluZz1cInV0Zi04XCI/PiIrCQkJIjxzb2FwOkVudmVsb3BlIHhtbG5zOnhzaT1c
Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlXCIgeG1s
bnM6eHNkPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWFcIiB4bWxu
czpzb2FwPVwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9w
ZS9cIj4iKwkJCSIgIDxzb2FwOkJvZHk+IisJCQkiICAgIDxHZXRVcGRhdGVkRm9y
bURpZ2VzdCB4bWxucz1cImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hh
cmVwb2ludC9zb2FwL1wiIC8+IisJCQkiICA8L3NvYXA6Qm9keT4iKwkJCSI8L3Nv
YXA6RW52ZWxvcGU+Iik7DQoJCXZhciByZXNwb25zZVRleHQ9cmVxdWVzdC5yZXNw
b25zZVRleHQ7DQoJCWlmICgocmVzcG9uc2VUZXh0PT1udWxsKSB8fCAocmVzcG9u
c2VUZXh0Lmxlbmd0aCA8PTApKQ0KCQl7DQoJCQlyZXR1cm47DQoJCX0NCgkJdmFy
IHN0YXJ0VGFnPSc8R2V0VXBkYXRlZEZvcm1EaWdlc3RSZXN1bHQ+JzsNCgkJdmFy
IGVuZFRhZz0nPC9HZXRVcGRhdGVkRm9ybURpZ2VzdFJlc3VsdD4nOw0KCQl2YXIg
c3RhcnRUYWdJbmRleD1yZXNwb25zZVRleHQuaW5kZXhPZihzdGFydFRhZyk7DQoJ
CXZhciBlbmRUYWdJbmRleD1yZXNwb25zZVRleHQuaW5kZXhPZihlbmRUYWcsIHN0
YXJ0VGFnSW5kZXgrc3RhcnRUYWcubGVuZ3RoKTsNCgkJdmFyIG5ld0Zvcm1EaWdl
c3Q9bnVsbDsNCgkJaWYgKChzdGFydFRhZ0luZGV4ID49MCkgJiYgKGVuZFRhZ0lu
ZGV4ID4gc3RhcnRUYWdJbmRleCkpDQoJCXsNCgkJCXZhciBuZXdGb3JtRGlnZXN0
PXJlc3BvbnNlVGV4dC5zdWJzdHJpbmcoc3RhcnRUYWdJbmRleCtzdGFydFRhZy5s
ZW5ndGgsIGVuZFRhZ0luZGV4KTsNCgkJfQ0KCQlpZiAoKG5ld0Zvcm1EaWdlc3Q9
PW51bGwpIHx8IChuZXdGb3JtRGlnZXN0Lmxlbmd0aCA8PTApKQ0KCQl7DQoJCQly
ZXR1cm47DQoJCX0NCgkJdmFyIG9sZFZhbHVlPWZvcm1EaWdlc3RFbGVtZW50LnZh
bHVlOw0KCQlmb3JtRGlnZXN0RWxlbWVudC52YWx1ZT1uZXdGb3JtRGlnZXN0Ow0K
CX0NCgljYXRjaCAoZXgpDQoJew0KCX0NCn0NCmZ1bmN0aW9uIEdldFN0c3N5bmNI
YW5kbGVyKHN6VmVyc2lvbikNCnsNCgl2YXIgb2JqU3Rzc3luYzsNCgl0cnkNCgl7
DQoJCW9ialN0c3N5bmM9bmV3IEFjdGl2ZVhPYmplY3QoIlNoYXJlUG9pbnQuU3Rz
c3luY0hhbmRsZXIiK3N6VmVyc2lvbik7DQoJfQ0KCWNhdGNoIChlKQ0KCXsNCgkJ
b2JqU3Rzc3luYz1udWxsOw0KCX0NCglyZXR1cm4gb2JqU3Rzc3luYzsNCn0NCmZ1
bmN0aW9uIEdldFN0c3N5bmNBcHBOYW1lRm9yVHlwZShzdHJUeXBlLHN0ckRlZmF1
bHQpDQp7DQoJaWYgKGJyb3dzZXJpcy5pZTV1cCAmJiBicm93c2VyaXMud2luMzIp
DQoJew0KCQl2YXIgc3RyQXBwTmFtZTsNCgkJdmFyIG9ialN0c3N5bmM9bnVsbDsN
CgkJaWYgKHN0clR5cGUgIT0iIikNCgkJICAgb2JqU3Rzc3luYz1HZXRTdHNzeW5j
SGFuZGxlcigiLjMiKTsNCgkJaWYgKCFvYmpTdHNzeW5jKQ0KCQl7DQoJCQlpZiAo
c3RyVHlwZSAhPSIiICYmIHN0clR5cGUgIT0iY2FsZW5kYXIiICYmIHN0clR5cGUg
IT0iY29udGFjdHMiKQ0KCQkJew0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJ
CW9ialN0c3N5bmM9R2V0U3Rzc3luY0hhbmRsZXIoIi4yIik7DQoJCQlpZiAoIW9i
alN0c3N5bmMgfHwgIShzdHJBcHBOYW1lPW9ialN0c3N5bmMuR2V0U3Rzc3luY0Fw
cE5hbWUoKSkpDQoJCQl7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQl9DQoJ
CWVsc2UgaWYgKCEoc3RyQXBwTmFtZT1vYmpTdHNzeW5jLkdldFN0c3N5bmNBcHBO
YW1lRm9yVHlwZShzdHJUeXBlKSkpDQoJCXsNCgkJCXJldHVybiBmYWxzZTsNCgkJ
fQ0KCQl2YXIgTF9MaW5rVG9CZWZvcmVfVGV4dD0iUMWZaXBvaml0IGsgIjsNCgkJ
dmFyIExfTGlua1RvQWZ0ZXJfVGV4dD0iIjsNCgkJcmV0dXJuIExfTGlua1RvQmVm
b3JlX1RleHQrc3RyQXBwTmFtZStMX0xpbmtUb0FmdGVyX1RleHQ7DQoJfQ0KCWVs
c2UNCgl7DQoJCXJldHVybiBzdHJEZWZhdWx0Ow0KCX0NCn0NCmZ1bmN0aW9uIEdl
dFN0c3N5bmNJY29uUGF0aChzdHJEZWZhdWx0LCBzdHJQcmVmaXgpDQp7DQoJaWYg
KGJyb3dzZXJpcy5pZTV1cCAmJiBicm93c2VyaXMud2luMzIpDQoJew0KCQl2YXIg
c3RySWNvbk5hbWU7DQoJCXZhciBvYmpTdHNzeW5jPW51bGw7DQoJCW9ialN0c3N5
bmM9R2V0U3Rzc3luY0hhbmRsZXIoIi4zIik7DQoJCWlmICghb2JqU3Rzc3luYykN
CgkJCXJldHVybiBmYWxzZTsNCgkJdHJ5DQoJCXsNCgkJCXN0ckljb25OYW1lPW9i
alN0c3N5bmMuR2V0U3Rzc3luY0ljb25OYW1lKCk7DQoJCQlyZXR1cm4gc3RyUHJl
Zml4K3N0ckljb25OYW1lOw0KCQl9DQoJCWNhdGNoIChlKQ0KCQl7DQoJCQlyZXR1
cm4gc3RyRGVmYXVsdDsNCgkJfQ0KCX0NCgllbHNlDQoJew0KCQlyZXR1cm4gc3Ry
RGVmYXVsdDsNCgl9DQp9DQpmdW5jdGlvbiBHZXRTdHNzeW5jQXBwTmFtZShzdHJE
ZWZhdWx0KQ0Kew0KCXJldHVybiBHZXRTdHNzeW5jQXBwTmFtZUZvclR5cGUoIiIs
c3RyRGVmYXVsdCk7DQp9DQpmdW5jdGlvbiBFeHBvcnRIYWlsU3Rvcm0odHlwZSx3
ZWJ1cmwsZ3VpZCx3ZWJuYW1lLGxpc3RuYW1lLHZpZXd1cmwscGFzc3BvcnQsbGlz
dHJvb3R1cmwsZm9sZGVydXJsLGZvbGRlcmlkKQ0Kew0KCXZhciBtYXhMaW5rTGVu
Z3RoPTUwMDsNCgl2YXIgbWF4TmFtZUxlbmd0aD0yMDsNCgl2YXIgbGluaz0ic3Rz
c3luYzovL3N0cy8/dmVyPTEuMSINCisiJnR5cGU9Iitlc2NhcGVQcm9wZXJseSh0
eXBlKQ0KKyImY21kPWFkZC1mb2xkZXIiDQorIiZiYXNlLXVybD0iK2VzY2FwZUZv
clN5bmMod2VidXJsKQ0KKyImbGlzdC11cmw9Iitlc2NhcGVGb3JTeW5jKCIvIitt
YWtlQWJzVXJsKHZpZXd1cmwpLnN1YnN0cih3ZWJ1cmwubGVuZ3RoKzEpKyIvIikN
CisiJmd1aWQ9Iitlc2NhcGVQcm9wZXJseShndWlkKTsNCgl2YXIgbmFtZXM9IiZz
aXRlLW5hbWU9Iitlc2NhcGVGb3JTeW5jKHdlYm5hbWUpDQorIiZsaXN0LW5hbWU9
Iitlc2NhcGVGb3JTeW5jKGxpc3RuYW1lKTsNCgl2YXIgY29udGV4dD0iIjsNCglp
ZiAoZm9sZGVydXJsKQ0KCQljb250ZXh0Kz0iJmZvbGRlci11cmw9Iitlc2NhcGVG
b3JTeW5jKCIvIitmb2xkZXJ1cmwuc3Vic3RyKGxpc3Ryb290dXJsLmxlbmd0aCsx
KSk7DQoJaWYgKGZvbGRlcmlkKQ0KCQljb250ZXh0Kz0iJmZvbGRlci1pZD0iK2Zv
bGRlcmlkOw0KCWlmIChsaW5rLmxlbmd0aCtuYW1lcy5sZW5ndGgrY29udGV4dC5s
ZW5ndGggPiBtYXhMaW5rTGVuZ3RoICYmDQoJCSh3ZWJuYW1lLmxlbmd0aCA+IG1h
eE5hbWVMZW5ndGggfHwgbGlzdG5hbWUubGVuZ3RoID4gbWF4TmFtZUxlbmd0aCkp
DQoJew0KCQlpZiAod2VibmFtZS5sZW5ndGggPiBtYXhOYW1lTGVuZ3RoKQ0KCQkJ
d2VibmFtZT13ZWJuYW1lLnN1YnN0cmluZygwLCBtYXhOYW1lTGVuZ3RoLTEpKyIu
Li4iOw0KCQlpZiAobGlzdG5hbWUubGVuZ3RoID4gbWF4TmFtZUxlbmd0aCkNCgkJ
CWxpc3RuYW1lPWxpc3RuYW1lLnN1YnN0cmluZygwLCBtYXhOYW1lTGVuZ3RoLTEp
KyIuLi4iOw0KCQluYW1lcz0iJnNpdGUtbmFtZT0iK2VzY2FwZUZvclN5bmMod2Vi
bmFtZSkNCisiJmxpc3QtbmFtZT0iK2VzY2FwZUZvclN5bmMobGlzdG5hbWUpOw0K
CX0NCglsaW5rPWxpbmsrbmFtZXMrY29udGV4dDsNCgl2YXIgTF9TdHNzeW5jVG9v
TG9uZ19UZXh0PSJOw6F6ZXYgdG9ob3RvIHdlYnUgbmVibyBzZXpuYW11IGplIHDF
mcOtbGnFoSBkbG91aMO9LiBaa3JhxaV0ZSBuw6F6ZXYgYSBha2NpIG9wYWt1anRl
LiI7DQoJaWYgKGxpbmsubGVuZ3RoID4gbWF4TGlua0xlbmd0aCkNCgkJYWxlcnQo
TF9TdHNzeW5jVG9vTG9uZ19UZXh0KTsNCgllbHNlDQoJew0KCQl0cnkNCgkJew0K
CQkJd2luZG93LmxvY2F0aW9uLmhyZWY9bGluazsNCgkJfQ0KCQljYXRjaCAoZSkN
CgkJew0KCQl9DQoJfQ0KfQ0KZnVuY3Rpb24gR2V0RGlhZ3JhbUxhdW5jaEluc3Rh
bGxlZCgpDQp7DQoJdmFyIG9iakRpYWdyYW1MYXVuY2g7DQoJdmFyIGJGbGFnPWZh
bHNlOw0KCXRyeQ0KCXsNCgkJb2JqRGlhZ3JhbUxhdW5jaD1uZXcgQWN0aXZlWE9i
amVjdCgiRGlhZ3JhbUxhdW5jaC5EaWFncmFtTGF1bmNoZXIiKTsNCgkJdmFyIHN0
ckFwcE5hbWU7DQoJCXN0ckFwcE5hbWU9b2JqRGlhZ3JhbUxhdW5jaC5FbnN1cmVE
aWFncmFtQXBwbGljYXRpb24oKTsNCgl9DQoJY2F0Y2ggKGUpDQoJew0KCQlvYmpE
aWFncmFtTGF1bmNoPW51bGw7DQoJfQ0KCXJldHVybiBzdHJBcHBOYW1lOw0KfQ0K
dmFyIGZTU0ltcG9ydGVyPWZhbHNlOw0KdmFyIFNTSW1wb3J0ZXJPYmo7DQpmdW5j
dGlvbiBFbnN1cmVTU0ltcG9ydGVyKCkNCnsNCglpZiAoIWZTU0ltcG9ydGVyKQ0K
CXsNCgkJaWYgKGJyb3dzZXJpcy5pZTV1cCAmJiBicm93c2VyaXMud2luMzIpDQoJ
CXsNCgkJCXZhciBmdW5jdGlvbkJvZHk9CQkJCSJ0cnkiDQorInsiDQorIiAgICBT
U0ltcG9ydGVyT2JqPW5ldyBBY3RpdmVYT2JqZWN0KFwiU2hhcmVQb2ludC5TcHJl
YWRzaGVldExhdW5jaGVyLjJcIik7Ig0KKyIgICAgaWYgKFNTSW1wb3J0ZXJPYmop
Ig0KKyIgICAgICAgIGZTU0ltcG9ydGVyPXRydWU7Ig0KKyJ9IGNhdGNoIChlKSIN
CisieyINCisidHJ5Ig0KKyJ7Ig0KKyIgICAgU1NJbXBvcnRlck9iaj1uZXcgQWN0
aXZlWE9iamVjdChcIlNoYXJlUG9pbnQuU3ByZWFkc2hlZXRMYXVuY2hlci4xXCIp
OyINCisiICAgIGlmIChTU0ltcG9ydGVyT2JqKSINCisiICAgICAgICBmU1NJbXBv
cnRlcj10cnVlOyINCisifSBjYXRjaCAoZSkiDQorInsiDQorIiAgICBmU1NJbXBv
cnRlcj1mYWxzZTsiDQorIn07Ig0KKyJ9OyI7DQoJCQl2YXIgRW5zdXJlU1NJbXBv
cnRJbm5lcj1uZXcgRnVuY3Rpb24oZnVuY3Rpb25Cb2R5KTsNCgkJCUVuc3VyZVNT
SW1wb3J0SW5uZXIoKTsNCgkJfQ0KCX0NCglyZXR1cm4gZlNTSW1wb3J0ZXI7DQp9
DQpmdW5jdGlvbiBTaG93SGlkZVNlY3Rpb24oc2VjdGlvbmlkLCBpbWdpZCkNCnsN
Cgl2YXIgZ3JvdXA9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2VjdGlvbmlkKTsN
Cgl2YXIgaW1nPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGltZ2lkKTsNCglpZiAo
KGdyb3VwPT1udWxsKSkNCgkJcmV0dXJuOw0KCWlmIChncm91cC5zdHlsZS5kaXNw
bGF5ICE9Im5vbmUiKQ0KCXsNCgkJZ3JvdXAuc3R5bGUuZGlzcGxheT0ibm9uZSI7
DQoJCWltZy5zcmM9Ii9fbGF5b3V0cy9pbWFnZXMvcGx1cy5naWYiOw0KCX0NCgll
bHNlDQoJew0KCQlncm91cC5zdHlsZS5kaXNwbGF5PSIiOw0KCQlpbWcuc3JjPSIv
X2xheW91dHMvaW1hZ2VzL21pbnVzLmdpZiI7DQoJfQ0KfQ0KZnVuY3Rpb24gU2hv
d1NlY3Rpb24oc2VjdGlvbmlkLCBpbWdpZCkNCnsNCgl2YXIgZ3JvdXA9ZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoc2VjdGlvbmlkKTsNCgl2YXIgaW1nPWRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKGltZ2lkKTsNCglpZiAoKGdyb3VwPT1udWxsKSkNCgkJ
cmV0dXJuOw0KCWlmIChncm91cC5zdHlsZS5kaXNwbGF5PT0ibm9uZSIpDQoJew0K
CQlncm91cC5zdHlsZS5kaXNwbGF5PSIiOw0KCQlpbWcuc3JjPSIvX2xheW91dHMv
aW1hZ2VzL21pbnVzLmdpZiI7DQoJfQ0KfQ0KZnVuY3Rpb24gU2hvd0hpZGVJbnB1
dEZvcm1TZWN0aW9uKHNlY3Rpb25pZCwgYlNob3cpDQp7DQoJdmFyIGU9ZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoc2VjdGlvbmlkKTsNCglpZiAoZSAhPW51bGwpDQoJ
CWUuc3R5bGUuZGlzcGxheT1iU2hvdyA/ICIiIDogIm5vbmUiOw0KCWZvciAodmFy
IGk9MTsgaSA8IDM7IGkrKykNCgl7DQoJCWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoc2VjdGlvbmlkKyJfdGFibGVyb3ciK2kpOw0KCQlpZiAoZSAhPW51bGwpDQoJ
CQllLnN0eWxlLmRpc3BsYXk9YlNob3cgPyAiIiA6ICJub25lIjsNCgl9DQp9DQpm
dW5jdGlvbiBTaG93SGlkZUlucHV0Rm9ybUNvbnRyb2woaWQsIGJIaWRlLCBiRGlz
YWJsZVZhbGlkYXRvcnMsIGJTaWxlbnQpDQp7DQoJdmFyIGRpc3BsYXlTZXR0aW5n
PSIiOw0KCWlmIChiSGlkZT09dHJ1ZSkNCgl7DQoJCWRpc3BsYXlTZXR0aW5nPSJu
b25lIjsNCgl9DQoJdmFyIHZhbGlkYXRvcnM9ZXZhbChpZCsnX3ZhbGlkYXRvcnMn
KTsNCglpZiAodmFsaWRhdG9ycyAhPW51bGwpDQoJew0KCQlmb3IodmFyIGk9MDsg
aSA8IHZhbGlkYXRvcnMubGVuZ3RoOyBpKyspDQoJCXsNCgkJCVNUU1ZhbGlkYXRv
ckVuYWJsZSh2YWxpZGF0b3JzW2ldLCAhYkRpc2FibGVWYWxpZGF0b3JzLCBiU2ls
ZW50KTsNCgkJfQ0KCX0NCglmb3IodmFyIGk9MTsgaTw9NTsgaSsrKQ0KCXsNCgkJ
dmFyIHJvd0lkPWlkKyJfdGFibGVyb3ciK2k7DQoJCXZhciByb3c9ZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQocm93SWQpOw0KCQlpZiAoKHJvdyAhPW51bGwpICYmICFi
cm93c2VyaXMubWFjKQ0KCQl7DQoJCQlyb3cuc3R5bGUuZGlzcGxheT1kaXNwbGF5
U2V0dGluZzsNCgkJfQ0KCX0NCn0NCmZ1bmN0aW9uIFNldENvbnRyb2xEaXNhYmxl
ZFN0YXR1cyhvYmosIGRpc2FibGVkU3RhdHVzKQ0Kew0KCXRyeQ0KCXsNCgkJaWYg
KG9iai5zZXRBdHRyaWJ1dGUpDQoJCQlvYmouc2V0QXR0cmlidXRlKCdkaXNhYmxl
ZCcsIGRpc2FibGVkU3RhdHVzKTsNCgkJaWYgKCFkaXNhYmxlZFN0YXR1cyAmJiBv
YmoucmVtb3ZlQXR0cmlidXRlKQ0KCQkJb2JqLnJlbW92ZUF0dHJpYnV0ZSgnZGlz
YWJsZWQnKTsNCgl9DQoJY2F0Y2goZSkNCgl7DQoJfQ0KfQ0KZnVuY3Rpb24gU2V0
Q29udHJvbERpc2FibGVkU3RhdHVzUmVjdXJzaXZlbHkob2JqLCBkaXNhYmxlZFN0
YXR1cykNCnsNCglpZiAob2JqPT1udWxsKQ0KCQlyZXR1cm47DQoJU2V0Q29udHJv
bERpc2FibGVkU3RhdHVzKG9iaiwgZGlzYWJsZWRTdGF0dXMpOw0KCXZhciBvYmpD
aGlsZHJlbj1vYmouY2hpbGROb2RlczsNCglmb3IodmFyIGk9MDsgb2JqQ2hpbGRy
ZW4ubGVuZ3RoID4gaTsgaSsrKQ0KCXsNCgkJU2V0Q29udHJvbERpc2FibGVkU3Rh
dHVzUmVjdXJzaXZlbHkob2JqQ2hpbGRyZW4uaXRlbShpKSwgZGlzYWJsZWRTdGF0
dXMpOw0KCX0NCn0NCmZ1bmN0aW9uIFNldENoaWxkQ29udHJvbHNEaXNhYmxlZFN0
YXR1cyhvYmosIGRpc2FibGVkU3RhdHVzKQ0Kew0KCXZhciBvYmpDaGlsZHJlbj1v
YmouY2hpbGROb2RlczsNCglmb3IodmFyIGk9MDsgaSA8IG9iakNoaWxkcmVuLmxl
bmd0aDsgaSsrKQ0KCXsNCgkJU2V0Q29udHJvbERpc2FibGVkU3RhdHVzUmVjdXJz
aXZlbHkob2JqQ2hpbGRyZW4uaXRlbShpKSwgZGlzYWJsZWRTdGF0dXMpOw0KCX0N
Cn0NCnZhciBnX1BOR0ltYWdlSWRzOw0KdmFyIGdfUE5HSW1hZ2VTb3VyY2VzOw0K
ZnVuY3Rpb24gZGlzcGxheVBOR0ltYWdlKGlkLHNyYyx3aWR0aCxoZWlnaHQsYWx0
KQ0Kew0KCWlmIChnX1BOR0ltYWdlSWRzPT1udWxsKQ0KCQlnX1BOR0ltYWdlSWRz
PW5ldyBBcnJheSgpOw0KCWlmIChnX1BOR0ltYWdlU291cmNlcz09bnVsbCkNCgkJ
Z19QTkdJbWFnZVNvdXJjZXM9bmV3IEFycmF5KCk7DQoJdmFyIHN0eWxlPW51bGw7
DQoJZG9jdW1lbnQud3JpdGUoIjxJTUcgaWQ9JyIraWQrIicgIik7DQoJaWYgKHdp
ZHRoICYmIHdpZHRoID4gMCkNCgkJZG9jdW1lbnQud3JpdGUoIndpZHRoPSciK3dp
ZHRoKyInICIpOw0KCWlmIChoZWlnaHQgJiYgaGVpZ2h0ID4gMCkNCgkJZG9jdW1l
bnQud3JpdGUoImhlaWdodD0nIitoZWlnaHQrIicgIik7DQoJZG9jdW1lbnQud3Jp
dGUoImFsdD0nIithbHQrIicgIik7DQoJaWYgKHN0eWxlKQ0KCQlkb2N1bWVudC53
cml0ZSgic3R5bGU9JyIrc3R5bGUrIicgIik7DQoJZG9jdW1lbnQud3JpdGUoIiBz
cmM9JyIrc3JjKyInIC8+Iik7DQoJZ19QTkdJbWFnZUlkcy5wdXNoKGlkKTsNCgln
X1BOR0ltYWdlU291cmNlcy5wdXNoKHNyYyk7DQp9DQpmdW5jdGlvbiBQcm9jZXNz
UE5HSW1hZ2VzKCkNCnsNCgl2YXIgdXNlRmlsdGVyPWJyb3dzZXJpcy5pZSAmJg0K
CQkJCWJyb3dzZXJpcy5pZTU1dXAgJiYNCgkJCQlicm93c2VyaXMudmVySUVGdWxs
IDwgNy4wOw0KCWlmIChnX1BOR0ltYWdlSWRzICE9bnVsbCAmJiB1c2VGaWx0ZXIp
DQoJew0KCQlmb3IgKHZhciBpPTA7IGkgPCBnX1BOR0ltYWdlSWRzLmxlbmd0aDsg
aSsrKQ0KCQl7DQoJCQl2YXIgaW1nPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGdf
UE5HSW1hZ2VJZHNbaV0pOw0KCQkJaWYgKGltZyAhPW51bGwgJiYgZ19QTkdJbWFn
ZVNvdXJjZXNbaV0gIT1udWxsKQ0KCQkJew0KCQkJCWltZy5zdHlsZS5maWx0ZXI9
InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYUltYWdlTG9h
ZGVyKHNyYz0iK2dfUE5HSW1hZ2VTb3VyY2VzW2ldKyIpLHNpemluZ01ldGhvZD1z
Y2FsZSk7IjsNCgkJCQlpbWcuc3JjPSIvX2xheW91dHMvaW1hZ2VzL2JsYW5rLmdp
ZiI7DQoJCQl9DQoJCX0NCgl9DQp9DQp2YXIgQ1RYVFlQRV9FRElUTUVOVT0wOw0K
dmFyIENUWFRZUEVfVklFV1NFTEVDVE9SPTE7DQpmdW5jdGlvbiBDb250ZXh0SW5m
bygpDQp7DQoJdGhpcy5saXN0QmFzZVR5cGU9bnVsbDsNCgl0aGlzLmxpc3RUZW1w
bGF0ZT1udWxsOw0KCXRoaXMubGlzdE5hbWU9bnVsbDsNCgl0aGlzLnZpZXc9bnVs
bDsNCgl0aGlzLmxpc3RVcmxEaXI9bnVsbDsNCgl0aGlzLkh0dHBQYXRoPW51bGw7
DQoJdGhpcy5IdHRwUm9vdD1udWxsOw0KCXRoaXMuc2VydmVyVXJsPW51bGw7DQoJ
dGhpcy5pbWFnZXNQYXRoPW51bGw7DQoJdGhpcy5Qb3J0YWxVcmw9bnVsbDsNCgl0
aGlzLlJlY3ljbGVCaW5FbmFibGVkPW51bGw7DQoJdGhpcy5pc1dlYkVkaXRvclBy
ZXZpZXc9bnVsbDsNCgl0aGlzLnJvb3RGb2xkZXJGb3JEaXNwbGF5PW51bGw7DQoJ
dGhpcy5pc1BvcnRhbFRlbXBsYXRlPW51bGw7DQoJdGhpcy5pc01vZGVyYXRlZD1m
YWxzZTsNCgl0aGlzLnJlY3Vyc2l2ZVZpZXc9ZmFsc2U7DQoJdGhpcy5kaXNwbGF5
Rm9ybVVybD1udWxsOw0KCXRoaXMuZWRpdEZvcm1Vcmw9bnVsbDsNCgl0aGlzLm5l
d0Zvcm1Vcmw9bnVsbDsNCgl0aGlzLmN0eElkPW51bGw7DQoJdGhpcy5DdXJyZW50
VXNlcklkPW51bGw7DQoJdGhpcy5pc0ZvcmNlQ2hlY2tvdXQ9ZmFsc2U7DQoJdGhp
cy5FbmFibGVNaW5vclZlcnNpb25zPWZhbHNlOw0KCXRoaXMuTW9kZXJhdGlvblN0
YXR1cz0wOw0KCXRoaXMudmVyRW5hYmxlZD0wOw0KCXRoaXMuaXNWZXJzaW9ucz0w
Ow0KCXRoaXMuV29ya2Zsb3dzQXNzb2NpYXRlZD1mYWxzZTsNCgl0aGlzLkNvbnRl
bnRUeXBlc0VuYWJsZWQ9ZmFsc2U7DQoJdGhpcy5TZW5kVG9Mb2NhdGlvbk5hbWU9
IiI7DQoJdGhpcy5TZW5kVG9Mb2NhdGlvblVybD0iIjsNCn0NCmZ1bmN0aW9uIFNU
U1BhZ2VVcmxWYWxpZGF0aW9uKHVybCkNCnsNCglyZXR1cm4gUGFnZVVybFZhbGlk
YXRpb24odXJsKTsNCn0NCmZ1bmN0aW9uIEdldFNvdXJjZShkZWZhdWx0U291cmNl
KQ0Kew0KCXZhciBzb3VyY2U9R2V0VXJsS2V5VmFsdWUoIlNvdXJjZSIpOw0KCWlm
IChzb3VyY2U9PSIiKQ0KCXsNCgkJaWYgKGRlZmF1bHRTb3VyY2UgIT1udWxsICYm
IGRlZmF1bHRTb3VyY2UgIT0iIikNCgkJCXNvdXJjZT1kZWZhdWx0U291cmNlOw0K
CQllbHNlDQoJCQlzb3VyY2U9d2luZG93LmxvY2F0aW9uLmhyZWY7DQoJfQ0KCXJl
dHVybiBlc2NhcGVQcm9wZXJseShTVFNQYWdlVXJsVmFsaWRhdGlvbihzb3VyY2Up
KTsNCn0NCmZ1bmN0aW9uIEdldFVybEtleVZhbHVlKGtleU5hbWUsIGJOb0RlY29k
ZSwgdXJsKQ0Kew0KCXZhciBrZXlWYWx1ZT0iIjsNCglpZiAodXJsPT1udWxsKQ0K
CQl1cmw9d2luZG93LmxvY2F0aW9uLmhyZWYrIiI7DQoJdmFyIG5keD11cmwuaW5k
ZXhPZigiJiIra2V5TmFtZSsiPSIpOw0KCWlmIChuZHg9PS0xKQ0KCQluZHg9dXJs
LmluZGV4T2YoIj8iK2tleU5hbWUrIj0iKTsNCglpZiAobmR4ICE9LTEpDQoJew0K
CQluZHgyPXVybC5pbmRleE9mKCImIiwgbmR4KzEpOw0KCQlpZiAobmR4Mj09LTEp
DQoJCQluZHgyPXVybC5sZW5ndGg7DQoJCWtleVZhbHVlPXVybC5zdWJzdHJpbmco
bmR4K2tleU5hbWUubGVuZ3RoKzIsIG5keDIpOw0KCX0NCglpZiAoYk5vRGVjb2Rl
KQ0KCQlyZXR1cm4ga2V5VmFsdWU7DQoJZWxzZQ0KCQlyZXR1cm4gdW5lc2NhcGVQ
cm9wZXJseUludGVybmFsKGtleVZhbHVlKTsNCn0NCmZ1bmN0aW9uIExvZ2luQXNB
bm90aGVyKHVybCwgYlVzZVNvdXJjZSkNCnsNCglkb2N1bWVudC5jb29raWU9Imxv
Z2luQXNEaWZmZXJlbnRBdHRlbXB0Q291bnQ9MCI7DQoJaWYgKGJVc2VTb3VyY2U9
PSIxIikNCgl7DQoJCUdvVG9QYWdlKHVybCk7DQoJfQ0KCWVsc2UNCgl7DQoJCXZh
ciBjaD11cmwuaW5kZXhPZigiPyIpID49MCA/ICImIiA6ICI/IjsNCgkJdXJsKz1j
aCsiU291cmNlPSIrZXNjYXBlUHJvcGVybHkod2luZG93LmxvY2F0aW9uLmhyZWYp
Ow0KCQlTVFNOYXZpZ2F0ZSh1cmwpOw0KCX0NCn0NCmZ1bmN0aW9uIGlzUG9ydGFs
VGVtcGxhdGVQYWdlKFVybCkNCnsNCglpZiAoR2V0VXJsS2V5VmFsdWUoIlBvcnRh
bFRlbXBsYXRlIik9PSIxIiB8fA0KCQlHZXRVcmxLZXlWYWx1ZSgiUG9ydGFsVGVt
cGxhdGUiLCBVcmwpPT0iMSIgfHwNCgkJKGN1cnJlbnRDdHggIT1udWxsICYmIGN1
cnJlbnRDdHguaXNQb3J0YWxUZW1wbGF0ZSkpDQoJCXJldHVybiB0cnVlOw0KCWVs
c2UNCgkJcmV0dXJuIGZhbHNlOw0KfQ0KZnVuY3Rpb24gU1RTTmF2aWdhdGUoVXJs
KQ0Kew0KCWlmIChpc1BvcnRhbFRlbXBsYXRlUGFnZShVcmwpKQ0KCQl3aW5kb3cu
dG9wLmxvY2F0aW9uPVNUU1BhZ2VVcmxWYWxpZGF0aW9uKFVybCk7DQoJZWxzZQ0K
CQl3aW5kb3cubG9jYXRpb249U1RTUGFnZVVybFZhbGlkYXRpb24oVXJsKTsNCn0N
CmZ1bmN0aW9uIEdvVG9QYWdlKHVybCkNCnsNCgl2YXIgY2g9dXJsLmluZGV4T2Yo
Ij8iKSA+PTAgPyAiJiIgOiAiPyI7DQoJdmFyIHNyY1VybD1HZXRTb3VyY2UoKTsN
CglpZiAoc3JjVXJsICE9bnVsbCAmJiBzcmNVcmwgIT0iIikNCgkJdXJsKz1jaCsi
U291cmNlPSIrc3JjVXJsOw0KCVNUU05hdmlnYXRlKHVybCk7DQp9DQpmdW5jdGlv
biBUcmltU3BhY2VzKCBzdHIgKQ0Kew0KCXZhciBzdGFydDsNCgl2YXIgZW5kOw0K
CXN0cj1zdHIudG9TdHJpbmcoKTsNCgl2YXIgbGVuPXN0ci5sZW5ndGg7DQoJZm9y
IChzdGFydD0wOyBzdGFydCA8IGxlbjsgc3RhcnQrKykNCgl7DQoJCWlmIChzdHIu
Y2hhckF0KHN0YXJ0KSAhPScgJykNCgkJCWJyZWFrOw0KCX0NCglpZiAoc3RhcnQ9
PWxlbikNCgkJcmV0dXJuICIiOw0KCWZvciAoZW5kPWxlbiAtIDE7IGVuZCA+IHN0
YXJ0OyBlbmQgLS0pDQoJew0KCQlpZiAoc3RyLmNoYXJBdChlbmQpICE9JyAnKQ0K
CQkJYnJlYWs7DQoJfQ0KCWVuZCsrOw0KCXJldHVybiBzdHIuc3Vic3RyaW5nKHN0
YXJ0LCBlbmQpOw0KfQ0KZnVuY3Rpb24gVHJpbVdoaXRlU3BhY2VzKCBzdHIgKQ0K
ew0KCXZhciBzdGFydDsNCgl2YXIgZW5kOw0KCXN0cj1zdHIudG9TdHJpbmcoKTsN
Cgl2YXIgbGVuPXN0ci5sZW5ndGg7DQoJZm9yIChzdGFydD0wOyBzdGFydCA8IGxl
bjsgc3RhcnQrKykNCgl7DQoJCWNoPXN0ci5jaGFyQXQoc3RhcnQpOw0KCQlpZiAo
Y2ghPScgJyAmJiBjaCE9J1x0JyAmJiBjaCE9J1xuJyAmJiBjaCE9J1xyJyAmJiBj
aCE9J1xmJykNCgkJCWJyZWFrOw0KCX0NCglpZiAoc3RhcnQ9PWxlbikNCgkJcmV0
dXJuICIiOw0KCWZvciAoZW5kPWxlbiAtIDE7IGVuZCA+IHN0YXJ0OyBlbmQgLS0p
DQoJew0KCQljaD1zdHIuY2hhckF0KGVuZCk7DQoJCWlmIChjaCE9JyAnICYmIGNo
IT0nXHQnICYmIGNoIT0nXG4nICYmIGNoIT0nXHInICYmIGNoIT0nXGYnKQ0KCQkJ
YnJlYWs7DQoJfQ0KCWVuZCsrOw0KCXJldHVybiBzdHIuc3Vic3RyaW5nKHN0YXJ0
LCBlbmQpOw0KfQ0KZnVuY3Rpb24gR2V0QXR0cmlidXRlRnJvbUl0ZW1UYWJsZShp
dGVtVGFibGUsIHN0ckF0dHJpYnV0ZU5hbWUsIHN0ckF0dHJpYnV0ZU9sZE5hbWUp
DQp7DQoJdmFyIGF0dHJWYWx1ZT1pdGVtVGFibGUgIT1udWxsID8gaXRlbVRhYmxl
LmdldEF0dHJpYnV0ZShzdHJBdHRyaWJ1dGVOYW1lKSA6IG51bGw7DQoJaWYgKGF0
dHJWYWx1ZT09bnVsbCAmJiBpdGVtVGFibGUgIT1udWxsICYmIHN0ckF0dHJpYnV0
ZU9sZE5hbWUhPW51bGwpDQoJCWF0dHJWYWx1ZT1pdGVtVGFibGUuZ2V0QXR0cmli
dXRlKHN0ckF0dHJpYnV0ZU9sZE5hbWUpOw0KCXJldHVybiBhdHRyVmFsdWU7DQp9
DQpmdW5jdGlvbiBHZXREaWFncmFtTGF1bmNoSW5zdGFsbGVkKCkNCnsNCgl2YXIg
b2JqRGlhZ3JhbUxhdW5jaDsNCgl2YXIgYkZsYWc9ZmFsc2U7DQoJdHJ5DQoJew0K
CQlvYmpEaWFncmFtTGF1bmNoPW5ldyBBY3RpdmVYT2JqZWN0KCJEaWFncmFtTGF1
bmNoLkRpYWdyYW1MYXVuY2hlciIpOw0KCQl2YXIgc3RyQXBwTmFtZTsNCgkJc3Ry
QXBwTmFtZT1vYmpEaWFncmFtTGF1bmNoLkVuc3VyZURpYWdyYW1BcHBsaWNhdGlv
bigpOw0KCX0NCgljYXRjaCAoZSkNCgl7DQoJCW9iakRpYWdyYW1MYXVuY2g9bnVs
bDsNCgl9DQoJcmV0dXJuIHN0ckFwcE5hbWU7DQp9DQpmdW5jdGlvbiBTaG93TXRn
TmF2aWdhdG9yUGFuZSgpDQp7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIk1l
ZXRpbmdOYXZpZ2F0b3JQYW5lIikuc3R5bGUuZGlzcGxheT0iYmxvY2siOw0KfQ0K
ZnVuY3Rpb24gSGlkZU10Z05hdmlnYXRvclBhbmUoKQ0Kew0KCWRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJNZWV0aW5nTmF2aWdhdG9yUGFuZSIpLnN0eWxlLmRpc3Bs
YXk9Im5vbmUiOw0KfQ0KZnVuY3Rpb24gR2V0TXVsdGlwbGVVcGxvYWRFbmFibGVk
KCkNCnsNCgl0cnkNCgl7DQoJCWlmIChicm93c2VyaXMuaWU1dXAgJiYgIWJyb3dz
ZXJpcy5tYWMgJiYgKG5ldyBBY3RpdmVYT2JqZWN0KCdTVFNVcGxkLlVwbG9hZEN0
bCcpKSkNCgkJCXJldHVybiB0cnVlOw0KCX0NCgljYXRjaChlKQ0KCXsNCgl9DQoJ
cmV0dXJuIGZhbHNlOw0KfQ0KZnVuY3Rpb24gU2V0VXBsb2FkUGFnZVRpdGxlKCkN
CnsNCglpZiAoR2V0VXJsS2V5VmFsdWUoIlR5cGUiKT09MSkNCgl7DQoJCWRvY3Vt
ZW50LnRpdGxlPUxfTmV3Rm9ybUNsaWNrT25jZTFfVGV4dDsNCgkJaWYgKGJyb3dz
ZXJpcy5pZSB8fCBicm93c2VyaXMubmF2NnVwKQ0KCQl7DQoJCQl2YXIgdGl0bGVF
bHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm9uZXRpZFRleHRUaXRsZSIpOw0K
CQkJaWYgKHRpdGxlRWx0ICE9bnVsbCkNCgkJCQl0aXRsZUVsdC5pbm5lckhUTUw9
TF9OZXdGb3JtQ2xpY2tPbmNlMV9UZXh0Ow0KCQl9DQoJfQ0KfQ0KZnVuY3Rpb24g
R2V0U2VsZWN0ZWRWYWx1ZSAoZnJtRWxlbSkgew0KCWlmIChmcm1FbGVtICYmIChm
cm1FbGVtLnNlbGVjdGVkSW5kZXggPi0xKSkgew0KCQlyZXR1cm4gZnJtRWxlbS5v
cHRpb25zW2ZybUVsZW0uc2VsZWN0ZWRJbmRleF0udmFsdWUNCgl9DQoJZWxzZQ0K
CQlyZXR1cm4gIiI7DQp9DQpmdW5jdGlvbiBHZXRTZWxlY3RlZFRleHQoZnJtRWxl
bSkgew0KCWlmIChmcm1FbGVtICYmIChmcm1FbGVtLnNlbGVjdGVkSW5kZXggPi0x
KSkgew0KCQlyZXR1cm4gZnJtRWxlbS5vcHRpb25zW2ZybUVsZW0uc2VsZWN0ZWRJ
bmRleF0udGV4dA0KCX0NCgllbHNlDQoJCXJldHVybiAiIjsNCn0NCmZ1bmN0aW9u
IE10Z1Nob3dUaW1lWm9uZSgpDQp7DQoJaWYgKEdldENvb2tpZSgiTXRnVGltZVpv
bmUiKT09IjEiKQ0KCXsNCgkJTXRnVG9nZ2xlVGltZVpvbmUoKTsNCgl9DQp9DQpm
dW5jdGlvbiBGb3JtYXREYXRlKHNEYXRlLCBzVGltZSwgZURhdGUsIGVUaW1lKQ0K
ew0KCXZhciBMX0RhdGVfVGV4dD0iPGI+RGF0dW06PC9iPiI7DQoJdmFyIExfVGlt
ZV9UZXh0PSI8Yj7EjGFzOjwvYj4iOw0KCXZhciBMX0RhdGVTZXBhcmF0b3I9IiAt
ICI7DQoJaWYoYnJvd3NlcmlzLndpbjMyICYmIHNEYXRlPT1lRGF0ZSkNCgkJTF9E
YXRlU2VwYXJhdG9yPSIgLVx1MjAwZSAiOw0KCWlmIChzRGF0ZT09ZURhdGUpDQoJ
ew0KCQlkb2N1bWVudC53cml0ZShMX0RhdGVfVGV4dCsiICIrc0RhdGUpOw0KCQlp
ZiAoc1RpbWUgIT1lVGltZSkNCgkJCWRvY3VtZW50LndyaXRlKCIgIitMX1RpbWVf
VGV4dCsiICIrc1RpbWUrTF9EYXRlU2VwYXJhdG9yK2VUaW1lKTsNCgkJZWxzZQ0K
CQkJZG9jdW1lbnQud3JpdGUoIiAiK0xfVGltZV9UZXh0KyIgIitzVGltZSk7DQoJ
fQ0KCWVsc2UNCgl7DQoJCWRvY3VtZW50LndyaXRlKExfRGF0ZV9UZXh0KyIgIitz
RGF0ZSsiICgiK3NUaW1lKyIpIitMX0RhdGVTZXBhcmF0b3IrZURhdGUrIiAoIitl
VGltZSsiKSIpOw0KCX0NCn0NCmZ1bmN0aW9uIEdldEFsZXJ0VGV4dChpc0RldGFj
aGVkKQ0Kew0KCXZhciBMX0RFVEFDSEVEU0lOR0xFRVhDRVBUX1RleHQ9IlRvdG8g
ZGF0dW0gc2Noxa96a3kgamnFviBuZW7DrSBwxZlpZHJ1xb5lbm8ga2Ugc2Noxa96
Y2UgdiBrYWxlbmTDocWZaSBhIHYgcGzDoW5vdmFjw61tIHByb2dyYW11LiBCdcSP
IGJ5bG8gdG90byBkYXR1bSBzY2jFr3preSB6cnXFoWVubywgbmVibyBieWwgeiBu
YXBsw6Fub3ZhbsOpIHNjaMWvemt5IG9kZWJyw6FuIG9ka2F6IG5hIGNlbnRydW0u
IjsNCgl2YXIgTF9ERVRBQ0hFRENBTkNFTExFREVYQ0VQVF9UZXh0PSJUb3RvIGRh
dHVtIHNjaMWvemt5IGJ5bG8gdiBrYWxlbmTDocWZaSBhIHYgcGzDoW5vdmFjw61t
IHByb2dyYW11IHpydcWhZW5vLiBDaGNldGUtbGkgemFkYXQsIGNvIG3DoSBiw710
IHByb3ZlZGVubyBzIHDFmWlkcnXFvmVuw71taSBpbmZvcm1hY2VtaSB2IGNlbnRy
dSwgcG9zdHVwdWp0ZSB0YWt0bzogViBwb2Rva27EmyDFmGFkYSBzY2jFr3playB1
a2HFvnRlIG5hIGRhdHVtIHNjaMWvemt5IGEgdiByb3piYWxvdmFjw61tIHNlem5h
bXUgdnliZXJ0ZSBtb8W+bm9zdCBaYWNob3ZhdCwgT2RzdHJhbml0IG5lYm8gUMWZ
ZXN1bm91dC4iOw0KCXZhciBMX0RFVEFDSEVEVU5MSU5LRURTSU5HTEVfVGV4dD0i
VG90byBkYXR1bSBzY2jFr3preSBqacW+IG5lbsOtIHDFmWlwb2plbm8gayBwxZlp
ZHJ1xb5lbsOpIHNjaMWvemNlIHYga2FsZW5kw6HFmWkgYSB2IHBsw6Fub3ZhY8Ot
bSBwcm9ncmFtdS4gQ2hjZXRlLWxpIHphZGF0LCBjbyBtw6EgYsO9dCBwcm92ZWRl
bm8gcyBwxZlpZHJ1xb5lbsO9bWkgaW5mb3JtYWNlbWkgdiBjZW50cnUsIHBvc3R1
cHVqdGUgdGFrdG86IFYgcG9kb2tuxJsgxZhhZGEgc2Noxa96ZWsgdWthxb50ZSBu
YSBkYXR1bSBzY2jFr3preSBhIHYgcm96YmFsb3ZhY8OtbSBzZXpuYW11IHZ5YmVy
dGUgbW/Fvm5vc3QgWmFjaG92YXQsIE9kc3RyYW5pdCBuZWJvIFDFmWVzdW5vdXQu
IjsNCgl2YXIgTF9ERVRBQ0hFRENBTkNFTExFRFNFUklFU19UZXh0PSJUYXRvIMWZ
YWRhIHNjaMWvemVrIGJ5bGEgdiBrYWxlbmTDocWZaSBhIHYgcGzDoW5vdmFjw61t
IHByb2dyYW11IHpydcWhZW5hLiI7DQoJdmFyIExfREVUQUNIRURVTkxJTktFRFNF
UklFU19UZXh0PSJUYXRvIMWZYWRhIHNjaMWvemVrIGppxb4gbmVuw60gcMWZaXBv
amVuYSBrIHDFmWlkcnXFvmVuw6kgxZlhZMSbIHNjaMWvemVrIHYga2FsZW5kw6HF
mWkgYSB2IHBsw6Fub3ZhY8OtbSBwcm9ncmFtdS4gQ2VudHJ1bSBsemUgemFjaG92
YXQgbmVibyBvZHN0cmFuaXQuIFBva3VkIGNlbnRydW0gemFjaG92w6F0ZSwgbmVi
dWRlIG1vxb5uw6kgamVqIHDFmWlwb2ppdCBrIGppbsOpIG5hcGzDoW5vdmFuw6kg
c2Noxa96Y2UuIjsNCgl2YXIgTF9ERVRBQ0hFRFNFUklFU05PV1NJTkdMRV9UZXh0
PSJUYXRvIHNjaMWvemthIGJ5bGEgdiBrYWxlbmTDocWZaSBhIHYgcGzDoW5vdmFj
w61tIHByb2dyYW11IHptxJtuxJtuYSB6IG9wYWtvdmFuw6kgc2Noxa96a3kgbmEg
bmVvcGFrdWrDrWPDrSBzZS4gQ2VudHJ1bSBsemUgemFjaG92YXQgbmVibyBvZHN0
cmFuaXQuIFBva3VkIGNlbnRydW0gemFjaG92w6F0ZSwgbmVidWRlIG1vxb5uw6kg
amVqIHDFmWlwb2ppdCBrIGppbsOpIG5hcGzDoW5vdmFuw6kgc2Noxa96Y2UuIjsN
Cgl2YXIgTF9ERVRBQ0hFRFNJTkdMRU5PV1NFUklFU19UZXh0PSJUYXRvIHNjaMWv
emthIGJ5bGEgdiBrYWxlbmTDocWZaSBhIHYgcGzDoW5vdmFjw61tIHByb2dyYW11
IHptxJtuxJtuYSB6IG5lb3Bha3Vqw61jw60gc2Ugc2Noxa96a3kgbmEgb3Bha292
YW5vdS4gQWt0dcOhbG7DrSBjZW50cnVtIG5lcG9kcG9ydWplIG9wYWtvdmFub3Ug
c2Noxa96a3UuIFYgcGzDoW5vdmFjw61tIHByb2dyYW11IG9kcG9qdGUgc2Noxa96
a3Ugb2QgY2VudHJhIGEgcGFrIHNjaMWvemt1IHpub3Z1IHDFmWlwb2p0ZSBrIG5v
dsOpbXUgY2VudHJ1LiBOb3bDqSBjZW50cnVtIGJ1ZGUgYXV0b21hdGlja3kgcG9k
cG9yb3ZhdCBvcGFrb3Zhbm91IHNjaMWvemt1LiI7DQoJdmFyIExfREVUQUNIRURO
T05HUkVHT1JJQU5DQUxfVGV4dD0iU2Noxa96a2EgYnlsYSB2eXR2b8WZZW5hIHBv
bW9jw60ga2FsZW5kw6HFmWUgYSBwbMOhbm92YWPDrWhvIHByb2dyYW11LCBrdGVy
w70gcG9kcG9ydWplIHBvdXplIGFrdHVhbGl6YWNlIMWZYWQgdiBDZW50cnUgc2No
xa96ZWsuIFptxJtueSBwcm92ZWRlbsOpIHYgdG9tdG8gcHJvZ3JhbXUgdSBqZWRu
b3RsaXbDvWNoIHbDvXNreXTFryBzY2jFr3playBzZSB2IGNlbnRydSBuZXpvYnJh
esOtLiI7DQoJdmFyIExfREVUQUNIRURQQVNURVhDUE1PRElGSUVEX1RleHQ9IlRh
dG8gdXBseW51bMOhIHNjaMWvemthIGJ5bGEgdiBrYWxlbmTDocWZaSBhIHYgcGzD
oW5vdmFjw61tIHByb2dyYW11IHptxJtuxJtuYSBuZWJvIHpydcWhZW5hLiBDaGNl
dGUtbGkgemFjaG92YXQsIG9kc3RyYW5pdCBuZWJvIHDFmWVzdW5vdXQgdHV0byBz
Y2jFr3prdSB2IGNlbnRydSwgcG91xb5panRlIHJvemV2w61yYWPDrSBzZXpuYW0g
dmVkbGUgamVqw61obyBkYXRhIHYgcG9kb2tuxJsgxZhhZGEgc2Noxa96ZWsuIFBv
a3VkIGNoY2V0ZSB2IGNlbnRydSBha3R1YWxpem92YXQgaW5mb3JtYWNlIG8gcGzD
oW5vdsOhbsOtIHTDqXRvIHNjaMWvemt5LCBha3R1YWxpenVqdGUgdHV0byBrb25r
csOpdG7DrSBzY2jFr3prdSBwb21vY8OtIHBsw6Fub3ZhY8OtaG8gcHJvZ3JhbXUu
IjsNCgl2YXIgaG93T3JwaGFuZWQ9aXNEZXRhY2hlZCAmICgweDEwIC0gMSk7DQoJ
dmFyIGhvd0RldGFjaGVkPWlzRGV0YWNoZWQgLSBob3dPcnBoYW5lZDsNCglpZiAo
aG93T3JwaGFuZWQpDQoJew0KCQlzd2l0Y2ggKGhvd09ycGhhbmVkKQ0KCQl7DQoJ
CQljYXNlIDE6CXJldHVybiAoZ19tZWV0aW5nQ291bnQ9PTEpID8gTF9ERVRBQ0hF
RFNJTkdMRUVYQ0VQVF9UZXh0IDogTF9ERVRBQ0hFRENBTkNFTExFREVYQ0VQVF9U
ZXh0Ow0KCQkJY2FzZSAyOglyZXR1cm4gTF9ERVRBQ0hFRENBTkNFTExFRFNFUklF
U19UZXh0Ow0KCQkJY2FzZSAzOiByZXR1cm4gTF9ERVRBQ0hFRENBTkNFTExFREVY
Q0VQVF9UZXh0Ow0KCQkJY2FzZSA0OglyZXR1cm4gKGdfbWVldGluZ0NvdW50PT0x
KSA/IExfREVUQUNIRURTSU5HTEVFWENFUFRfVGV4dCA6IExfREVUQUNIRURVTkxJ
TktFRFNJTkdMRV9UZXh0Ow0KCQkJY2FzZSA1OglyZXR1cm4gTF9ERVRBQ0hFRFVO
TElOS0VEU0VSSUVTX1RleHQ7DQoJCQljYXNlIDY6CXJldHVybiBMX0RFVEFDSEVE
U0VSSUVTTk9XU0lOR0xFX1RleHQ7DQoJCQljYXNlIDc6CXJldHVybiBMX0RFVEFD
SEVEU0lOR0xFTk9XU0VSSUVTX1RleHQ7DQoJCQljYXNlIDg6CXJldHVybiBMX0RF
VEFDSEVEUEFTVEVYQ1BNT0RJRklFRF9UZXh0Ow0KCQl9DQoJfQ0KCWVsc2UgaWYg
KGhvd0RldGFjaGVkKQ0KCXsNCgkJc3dpdGNoIChob3dEZXRhY2hlZCkNCgkJew0K
CQkJY2FzZSAxNjogcmV0dXJuIExfREVUQUNIRUROT05HUkVHT1JJQU5DQUxfVGV4
dDsNCgkJfQ0KCX0NCglyZXR1cm4gbnVsbDsNCn0NCmZ1bmN0aW9uIHJldHJpZXZl
Q3VycmVudFRoZW1lTGluaygpDQp7DQoJdmFyIGNzc0xpbms7DQoJdmFyIGxpbmtz
PWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIik7DQoJZm9yKHZh
ciBpPTA7IGk8bGlua3MubGVuZ3RoOyBpKyspDQoJew0KCQlpZigobGlua3NbaV0u
dHlwZT09InRleHQvY3NzIikgJiYgKGxpbmtzW2ldLmlkPT0ib25ldGlkVGhlbWVD
U1MiKSkNCgkJCWNzc0xpbms9bGlua3NbaV07DQoJfQ0KCWlmKGNzc0xpbmspDQoJ
ew0KCQl2YXIgcmU9LyhcLlwuXC8pKy87DQoJCXZhciByZWxhdGl2ZVVSTD1jc3NM
aW5rLmhyZWY7DQoJCXZhciBuZXdVUkw9cmVsYXRpdmVVUkwucmVwbGFjZShyZSwg
Ii8iKTsNCgkJcmV0dXJuIG5ld1VSTDsNCgl9DQp9DQpmdW5jdGlvbiBTdEJ1aWxk
UGFyYW0oc3RQYXR0ZXJuKQ0Kew0KCXZhciByZTsNCgl2YXIgaTsNCglmb3IgKGk9
MTsgaSA8IFN0QnVpbGRQYXJhbS5hcmd1bWVudHMubGVuZ3RoOyBpKyspDQoJCXsN
CgkJcmU9bmV3IFJlZ0V4cCgiXFxeIitpKTsNCgkJc3RQYXR0ZXJuPXN0UGF0dGVy
bi5yZXBsYWNlKHJlLCBTdEJ1aWxkUGFyYW0uYXJndW1lbnRzW2ldKTsNCgkJfQ0K
CXJldHVybiBzdFBhdHRlcm47DQp9DQpKU1JlcXVlc3Q9ew0KCVF1ZXJ5U3RyaW5n
IDogbnVsbCwNCglGaWxlTmFtZSA6IG51bGwsDQoJUGF0aE5hbWUgOiBudWxsLA0K
CUVuc3VyZVNldHVwIDogZnVuY3Rpb24oKQ0KCXsNCgkJaWYgKEpTUmVxdWVzdC5R
dWVyeVN0cmluZyAhPW51bGwpIHJldHVybjsNCgkJSlNSZXF1ZXN0LlF1ZXJ5U3Ry
aW5nPW5ldyBBcnJheSgpOw0KCQl2YXIgcXVlcnlTdHJpbmc9d2luZG93LmxvY2F0
aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSk7DQoJCXZhciBwYWlycz1xdWVyeVN0cmlu
Zy5zcGxpdCgiJiIpOw0KCQlmb3IgKHZhciBpPTA7aTxwYWlycy5sZW5ndGg7aSsr
KQ0KCQl7DQoJCQl2YXIgcD1wYWlyc1tpXS5pbmRleE9mKCI9Iik7DQoJCQlpZiAo
cCA+IC0xKQ0KCQkJew0KCQkJCXZhciBrZXk9cGFpcnNbaV0uc3Vic3RyaW5nKDAs
cCk7DQoJCQkJdmFyIHZhbHVlPXBhaXJzW2ldLnN1YnN0cmluZyhwKzEpOw0KCQkJ
CUpTUmVxdWVzdC5RdWVyeVN0cmluZ1trZXldPXZhbHVlOw0KCQkJfQ0KCQl9DQoJ
CXZhciBwYXRoPUpTUmVxdWVzdC5QYXRoTmFtZT13aW5kb3cubG9jYXRpb24ucGF0
aG5hbWU7DQoJCXZhciBwPXBhdGgubGFzdEluZGV4T2YoIi8iKTsNCgkJaWYgKHAg
PiAtMSkNCgkJew0KCQkJSlNSZXF1ZXN0LkZpbGVOYW1lPXBhdGguc3Vic3RyaW5n
KHArMSk7DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQlKU1JlcXVlc3QuUGFnZU5hbWU9
cGF0aDsNCgkJfQ0KCX0NCn07DQp2YXIgRXhwR3JvdXBXUExpc3ROYW1lPSJXU1Nf
RXhwR3JvdXBXUExpc3QiOw0KdmFyIEV4cEdyb3VwQ29va2llUHJlZml4PSJXU1Nf
RXhwR3JvdXBfIjsNCnZhciBFeHBHcm91cENvb2tpZURlbGltaXRlcj0iJiI7DQp2
YXIgRXhwR3JvdXBNYXhXUD0xMTsNCnZhciBFeHBHcm91cE1heENvb2tpZUxlbmd0
aD0zOTYwOw0KdmFyIGdfRXhwR3JvdXBRdWV1ZT1uZXcgQXJyYXkoKTsNCnZhciBn
X0V4cEdyb3VwSW5Qcm9ncmVzcz1mYWxzZTsNCnZhciBnX0V4cEdyb3VwVGFibGU9
bmV3IEFycmF5KCk7DQp2YXIgZ19FeHBHcm91cE5lZWRzU3RhdGU9ZmFsc2U7DQp2
YXIgZ19FeHBHcm91cFBhcnNlU3RhZ2U9ZmFsc2U7DQpmdW5jdGlvbiBFeHBDb2xs
R3JvdXAoZ3JvdXBOYW1lLCBpbWdOYW1lKQ0Kew0KCWlmIChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGl0bCIrZ3JvdXBOYW1lKT09bnVsbCkNCgkJcmV0dXJuOw0K
CXZpZXdUYWJsZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGl0bCIrZ3JvdXBO
YW1lKS5wYXJlbnROb2RlOw0KCWlmICh2aWV3VGFibGU9PW51bGwpDQoJCXJldHVy
bjsNCgl0Ym9keVRhZ3M9dmlld1RhYmxlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJU
Qk9EWSIpOw0KCW51bUVsdHM9dGJvZHlUYWdzLmxlbmd0aDsNCglsZW49Z3JvdXBO
YW1lLmxlbmd0aDsNCglpbWc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW1nTmFt
ZSk7DQoJaWYgKGltZz09bnVsbCkNCgkJcmV0dXJuOw0KCXNyY1BhdGg9aW1nLnNy
YzsNCglpbmRleD1zcmNQYXRoLmxhc3RJbmRleE9mKCIvIik7DQoJaW1nTmFtZT1z
cmNQYXRoLnNsaWNlKGluZGV4KzEpOw0KCXZhciBmT3Blbj1mYWxzZTsNCglpZiAo
aW1nTmFtZT09J3BsdXMuZ2lmJykNCgl7DQoJCWZPcGVuPXRydWU7DQoJCWRpc3Bs
YXlTdHI9IiI7DQoJCWltZy5zcmM9Jy9fbGF5b3V0cy9pbWFnZXMvbWludXMuZ2lm
JzsNCgl9DQoJZWxzZQ0KCXsNCgkJZk9wZW49ZmFsc2U7DQoJCWRpc3BsYXlTdHI9
Im5vbmUiOw0KCQlpbWcuc3JjPScvX2xheW91dHMvaW1hZ2VzL3BsdXMuZ2lmJzsN
Cgl9DQoJZm9yICh2YXIgaT0wO2k8bnVtRWx0cztpKyspDQoJew0KCQl2YXIgY2hp
bGRPYmo9dGJvZHlUYWdzW2ldOw0KCQlpZiAoIChjaGlsZE9iai5pZCAhPW51bGwp
DQoJCQkJCSYmIChjaGlsZE9iai5pZC5sZW5ndGggPiBsZW4rNCkNCgkJCQkJJiYg
KGdyb3VwTmFtZT09Y2hpbGRPYmouaWQuc2xpY2UoNCkuc3Vic3RyKDAsbGVuKSkg
KQ0KCQl7DQoJCQlpZiAoZk9wZW4pDQoJCQl7DQoJCQkJaW5kZXg9Y2hpbGRPYmou
aWQuaW5kZXhPZigiXyIsIGxlbis0KTsNCgkJCQlpZiAoaW5kZXghPS0xKQ0KCQkJ
CXsNCgkJCQkJaW5kZXg9Y2hpbGRPYmouaWQuaW5kZXhPZigiXyIsIGluZGV4KzEp
Ow0KCQkJCQlpZiAoaW5kZXghPS0xKQ0KCQkJCQkJY29udGludWU7DQoJCQkJfQ0K
CQkJfQ0KCQkJY2hpbGRPYmouc3R5bGUuZGlzcGxheT1kaXNwbGF5U3RyOw0KCQkJ
aWYgKGZPcGVuICYmIGNoaWxkT2JqLmlkLnN1YnN0cigwLDQpPT0idGl0bCIpDQoJ
CQl7DQoJCQkJaW1nT2JqPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWdfIitj
aGlsZE9iai5pZC5zbGljZSg0KSk7DQoJCQkJaW1nT2JqLnNyYz0nL19sYXlvdXRz
L2ltYWdlcy9wbHVzLmdpZic7DQoJCQl9DQoJCX0NCgl9DQoJaWYgKCFnX0V4cEdy
b3VwUGFyc2VTdGFnZSkNCgl7DQoJCWlmIChnX0V4cEdyb3VwTmVlZHNTdGF0ZSAm
JiBFeHBHcm91cEZldGNoV2ViUGFydElEKGdyb3VwTmFtZSkgIT1udWxsKQ0KCQl7
DQoJCQlpZiAoZk9wZW4pDQoJCQl7DQoJCQkJQWRkR3JvdXBUb0Nvb2tpZShncm91
cE5hbWUpOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCVJlbW92ZUdyb3VwRnJv
bUNvb2tpZShncm91cE5hbWUpOw0KCQkJfQ0KCQl9DQoJCWlmIChmT3BlbikNCgkJ
ew0KCQkJdGJvZHk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRib2QiK2dyb3Vw
TmFtZSsiXyIpOw0KCQkJaWYgKHRib2R5ICE9bnVsbCkNCgkJCXsNCgkJCQlpc0xv
YWRlZD10Ym9keS5nZXRBdHRyaWJ1dGUoImlzTG9hZGVkIik7DQoJCQkJaWYgKGlz
TG9hZGVkPT0iZmFsc2UiKQ0KCQkJCXsNCgkJCQkJRXhwR3JvdXBGZXRjaERhdGEo
Z3JvdXBOYW1lKTsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQp9DQpmdW5jdGlvbiBF
eHBHcm91cEZldGNoRGF0YShncm91cE5hbWUpDQp7DQoJdmFyIGxvYWRTdHJpbmc9
Ijx0cj48dGQ+PC90ZD48dGQgY2xhc3M9XCJtcy1nYmxvYWRcIj4iK0xfTG9hZGlu
Z19UZXh0KyI8L3RkPjwvdHI+IjsNCglFeHBHcm91cFJlbmRlckRhdGEobG9hZFN0
cmluZywgZ3JvdXBOYW1lLCAiZmFsc2UiKTsNCglpZiAoIWdfRXhwR3JvdXBJblBy
b2dyZXNzKQ0KCXsNCgkJdmFyIGdyb3VwU3RyaW5nPUV4cEdyb3VwRmV0Y2hHcm91
cFN0cmluZyhncm91cE5hbWUpOw0KCQlpZiAoZ3JvdXBTdHJpbmc9PW51bGwpDQoJ
CXsNCgkJCXZhciBsb2FkU3RyaW5nPSI8dHI+PHRkPjwvdGQ+PHRkIGNsYXNzPVwi
bXMtZ2Jsb2FkXCI+IitMX0xvYWRpbmdfRXJyb3JfVGV4dCsiPC90ZD48L3RyPiI7
DQoJCQlFeHBHcm91cFJlbmRlckRhdGEobG9hZFN0cmluZywgZ3JvdXBOYW1lLCAi
ZmFsc2UiKTsNCgkJCWlmIChnX0V4cEdyb3VwUXVldWUubGVuZ3RoID4gMCkNCgkJ
CXsNCgkJCQlFeHBHcm91cEZldGNoRGF0YShnX0V4cEdyb3VwUXVldWUuc2hpZnQo
KSk7DQoJCQl9DQoJCQlyZXR1cm47DQoJCX0NCgkJZ19FeHBHcm91cEluUHJvZ3Jl
c3M9dHJ1ZTsNCgkJaWYgKCFFeHBHcm91cENhbGxTZXJ2ZXIoZ3JvdXBTdHJpbmcs
IGdyb3VwTmFtZSkpDQoJCXsNCgkJCWlmIChnX0V4cEdyb3VwUXVldWUubGVuZ3Ro
ID4gMCkNCgkJCXsNCgkJCQlFeHBHcm91cEZldGNoRGF0YShnX0V4cEdyb3VwUXVl
dWUuc2hpZnQoKSk7DQoJCQl9DQoJCX0NCgl9DQoJZWxzZQ0KCXsNCgkJZ19FeHBH
cm91cFF1ZXVlLnB1c2goZ3JvdXBOYW1lKTsNCgl9DQp9DQpmdW5jdGlvbiBFeHBH
cm91cENhbGxTZXJ2ZXIoZ3JvdXBTdHJpbmcsIGdyb3VwTmFtZSkNCnsNCgl2YXIg
d2ViUGFydElEPUV4cEdyb3VwRmV0Y2hXZWJQYXJ0SUQoZ3JvdXBOYW1lKTsNCglp
ZiAod2ViUGFydElEICE9bnVsbCkNCgl7DQoJCXZhciBmdW5jdGlvbk5hbWU9IkV4
cEdyb3VwQ2FsbFNlcnZlciIrd2ViUGFydElEOw0KCQl2YXIgZnVuY3Rpb25DYWxs
PWZ1bmN0aW9uTmFtZSsiKCciK2dyb3VwU3RyaW5nKyInLCciK2dyb3VwTmFtZSsi
JykiOw0KCQlldmFsKGZ1bmN0aW9uQ2FsbCk7DQoJfQ0KfQ0KZnVuY3Rpb24gRXhw
R3JvdXBSZWNlaXZlRGF0YShodG1sVG9SZW5kZXIsIGdyb3VwTmFtZSkNCnsNCgl2
YXIgY3R4SWQ9ImN0eCIrZ3JvdXBOYW1lLnN1YnN0cmluZygwLCBncm91cE5hbWUu
aW5kZXhPZigiLSIpKTsNCgl2YXIgaW5kZXhCZWdpbkNUWE5hbWU9aHRtbFRvUmVu
ZGVyLmluZGV4T2YoIkNUWE5hbWU9XCIiKTsNCglpZiAoaW5kZXhCZWdpbkNUWE5h
bWUgIT0tMSkNCgl7DQoJCWlmIChjdHhJZCAhPSJjdHgxIikNCgkJew0KCQkJaHRt
bFRvUmVuZGVyPWh0bWxUb1JlbmRlci5yZXBsYWNlKC8gQ1RYTmFtZT1cImN0eDFc
IiAvZywgIiBDVFhOYW1lPVwiIitjdHhJZCsiXCIgIik7DQoJCX0NCgl9DQoJdmFy
IG5lZWRPdXRlcldyYXA9ZmFsc2U7DQoJaWYgKGh0bWxUb1JlbmRlci5sZW5ndGgg
PCA0KQ0KCXsNCgkJbmVlZE91dGVyV3JhcD10cnVlOw0KCX0NCgllbHNlIGlmICho
dG1sVG9SZW5kZXIuc3Vic3RyaW5nKDAsMykgIT0iPHRyIikNCgl7DQoJCW5lZWRP
dXRlcldyYXA9dHJ1ZTsNCgl9DQoJaWYgKG5lZWRPdXRlcldyYXApDQoJew0KCQlo
dG1sVG9SZW5kZXI9IjxUUj48VEQ+IitodG1sVG9SZW5kZXIrIjwvVEQ+PC9UUj4i
Ow0KCX0NCglFeHBHcm91cFJlbmRlckRhdGEoaHRtbFRvUmVuZGVyLCBncm91cE5h
bWUsICJ0cnVlIik7DQoJZ19FeHBHcm91cEluUHJvZ3Jlc3M9ZmFsc2U7DQoJaWYg
KGdfRXhwR3JvdXBRdWV1ZS5sZW5ndGggPiAwKQ0KCXsNCgkJRXhwR3JvdXBGZXRj
aERhdGEoZ19FeHBHcm91cFF1ZXVlLnNoaWZ0KCkpOw0KCX0NCn0NCmZ1bmN0aW9u
IEV4cEdyb3VwUmVuZGVyRGF0YShodG1sVG9SZW5kZXIsIGdyb3VwTmFtZSwgaXNM
b2FkZWQpDQp7DQoJdmFyIHRib2R5PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
Ym9kIitncm91cE5hbWUrIl8iKTsNCgl2YXIgd3JhcERpdj1kb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJESVYiKTsNCgl3cmFwRGl2LmlubmVySFRNTD0iPFRBQkxFPjxU
Qk9EWSBpZD1cInRib2QiKwkJCWdyb3VwTmFtZSsiX1wiIGlzTG9hZGVkPVwiIitp
c0xvYWRlZCsJCQkiXCI+IitodG1sVG9SZW5kZXIrIjwvVEJPRFk+PC9UQUJMRT4i
Ow0KCXRib2R5LnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHdyYXBEaXYuZmlyc3RD
aGlsZC5maXJzdENoaWxkLHRib2R5KTsNCn0NCmZ1bmN0aW9uIEV4cEdyb3VwRmV0
Y2hHcm91cFN0cmluZyhncm91cE5hbWUpDQp7DQoJdGl0bFRib2R5PWRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0aXRsIitncm91cE5hbWUpOw0KCWlmICh0aXRsVGJv
ZHk9PW51bGwpDQoJew0KCQlyZXR1cm4gbnVsbDsNCgl9DQoJZWxzZQ0KCXsNCgkJ
dmFyIGdyb3VwU3RyaW5nPXRpdGxUYm9keS5nZXRBdHRyaWJ1dGUoImdyb3VwU3Ry
aW5nIik7DQoJCXJldHVybiBncm91cFN0cmluZzsNCgl9DQp9DQpmdW5jdGlvbiBF
eHBHcm91cEZldGNoV2ViUGFydElEKGdyb3VwTmFtZSkNCnsNCgl2YXIgdmlld0Nv
dW50ZXI9Z3JvdXBOYW1lLnN1YnN0cmluZygwLCBncm91cE5hbWUuaW5kZXhPZigi
LSIpKTsNCgl2YXIgbG9va3VwRW50cnk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
Ikdyb3VwQnlXZWJQYXJ0SUQiK3ZpZXdDb3VudGVyKTsNCglpZiAobG9va3VwRW50
cnk9PW51bGwpDQoJCXJldHVybiBudWxsOw0KCXJldHVybiBsb29rdXBFbnRyeS5n
ZXRBdHRyaWJ1dGUoIndlYlBhcnRJRCIpOw0KfQ0KZnVuY3Rpb24gUmVuZGVyQWN0
aXZlWChzdHIpDQp7DQoJZG9jdW1lbnQud3JpdGUoc3RyKTsNCn0NCmZ1bmN0aW9u
IE9uSXRlbShlbG0pDQp7DQoJRGVmZXJDYWxsKCdPbkl0ZW1EZWZlckNhbGwnLCBl
bG0pOw0KfQ0KZnVuY3Rpb24gT25MaW5rKGVsbSkNCnsNCglEZWZlckNhbGwoJ09u
TGlua0RlZmVyQ2FsbCcsIGVsbSk7DQp9DQpmdW5jdGlvbiBNTVVfUG9wTWVudUlm
U2hvd2luZyhtZW51RWxlbWVudCkNCnsNCglEZWZlckNhbGwoJ01NVV9Qb3BNZW51
SWZTaG93aW5nRGVmZXJDYWxsJywgbWVudUVsZW1lbnQpOw0KfQ0KZnVuY3Rpb24g
T25Nb3VzZU92ZXJGaWx0ZXIoZWxtKQ0Kew0KCURlZmVyQ2FsbCgnT25Nb3VzZU92
ZXJGaWx0ZXJEZWZlckNhbGwnLCBlbG0pOw0KfQ0KZnVuY3Rpb24gTU1VX0VjYlRh
YmxlTW91c2VPdmVyT3V0KGVjYlRhYmxlLCBmTW91c2VPdmVyKQ0Kew0KCURlZmVy
Q2FsbCgnTU1VX0VjYlRhYmxlTW91c2VPdmVyT3V0RGVmZXJDYWxsJywgZWNiVGFi
bGUsIGZNb3VzZU92ZXIpOw0KfQ0KZnVuY3Rpb24gT25Nb3VzZU92ZXJBZEhvY0Zp
bHRlcihlbG0sIGZpZWxkU3RyKQ0Kew0KCURlZmVyQ2FsbCgnT25Nb3VzZU92ZXJB
ZEhvY0ZpbHRlckRlZmVyQ2FsbCcsIGVsbSwgZmllbGRTdHIpOw0KfQ0KZnVuY3Rp
b24gTU1VX0VjYkxpbmtPbkZvY3VzQmx1cihtZW51LCBlY2JMaW5rLCBmT25Gb2N1
cykNCnsNCglEZWZlckNhbGwoJ01NVV9FY2JMaW5rT25Gb2N1c0JsdXJEZWZlckNh
bGwnLCBtZW51LCBlY2JMaW5rLCBmT25Gb2N1cyk7DQp9DQp2YXIgYkZpeFRleHRB
bGlnbmZvckJpZGlDYWxsZWQ9ZmFsc2U7DQpmdW5jdGlvbiBGaXhUZXh0QWxpZ25G
b3JCaWRpKHZhbHVlKQ0Kew0KCWlmICghYnJvd3NlcmlzLmllIHx8IGJGaXhUZXh0
QWxpZ25mb3JCaWRpQ2FsbGVkKQ0KCQlyZXR1cm47DQoJYkZpeFRleHRBbGlnbmZv
ckJpZGlDYWxsZWQ9dHJ1ZTsNCgl2YXIgY1N0eWxlc2hlZXRzPWRvY3VtZW50LnN0
eWxlU2hlZXRzOw0KCWlmIChjU3R5bGVzaGVldHMgIT1udWxsKQ0KCXsNCgkJZm9y
ICh2YXIgeD0wOyB4IDwgY1N0eWxlc2hlZXRzLmxlbmd0aDsgeCsrKSB7DQoJCQlp
ZiAoKGNTdHlsZXNoZWV0c1t4XSAhPW51bGwpICYmIChjU3R5bGVzaGVldHNbeF0u
cnVsZXMgIT1udWxsKSkNCgkJCXsNCgkJCQlmb3IgKHZhciB5PTA7IHkgPCBjU3R5
bGVzaGVldHNbeF0ucnVsZXMubGVuZ3RoOyB5KyspIHsNCgkJCQkJaWYgKGNTdHls
ZXNoZWV0c1t4XS5ydWxlc1t5XS5zZWxlY3RvclRleHQ9PSIubXMtdmgiIHx8DQoJ
CQkJCQljU3R5bGVzaGVldHNbeF0ucnVsZXNbeV0uc2VsZWN0b3JUZXh0PT0iLm1z
LXZoMiIgfHwNCgkJCQkJCWNTdHlsZXNoZWV0c1t4XS5ydWxlc1t5XS5zZWxlY3Rv
clRleHQ9PSIubXMtdmgtaWNvbiIgfHwNCgkJCQkJCWNTdHlsZXNoZWV0c1t4XS5y
dWxlc1t5XS5zZWxlY3RvclRleHQ9PSIubXMtdmgtaWNvbi1lbXB0eSIgfHwNCgkJ
CQkJCWNTdHlsZXNoZWV0c1t4XS5ydWxlc1t5XS5zZWxlY3RvclRleHQ9PSIubXMt
dmgyLW5vZ3JhZCIgfHwNCgkJCQkJCWNTdHlsZXNoZWV0c1t4XS5ydWxlc1t5XS5z
ZWxlY3RvclRleHQ9PSIubXMtdmgyLW5vZ3JhZC1pY29uIiB8fA0KCQkJCQkJY1N0
eWxlc2hlZXRzW3hdLnJ1bGVzW3ldLnNlbGVjdG9yVGV4dD09Ii5tcy12aDItbm9m
aWx0ZXIiIHx8DQoJCQkJCQljU3R5bGVzaGVldHNbeF0ucnVsZXNbeV0uc2VsZWN0
b3JUZXh0PT0iLm1zLXZoMi1ub2ZpbHRlci1pY29uIiB8fA0KCQkJCQkJY1N0eWxl
c2hlZXRzW3hdLnJ1bGVzW3ldLnNlbGVjdG9yVGV4dD09Ii5tcy12aEltYWdlIikg
ew0KCQkJCQkJY1N0eWxlc2hlZXRzW3hdLnJ1bGVzW3ldLnN0eWxlLnRleHRBbGln
bj12YWx1ZTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0NCn0NCnZhciBJ
TU5Db250cm9sT2JqPW51bGw7DQp2YXIgYklNTkNvbnRyb2xJbml0ZWQ9ZmFsc2U7
DQp2YXIgSU1ORGljdGlvbmFyeU9iaj1udWxsOw0KdmFyIGJJTU5Tb3J0ZWQ9ZmFs
c2U7DQp2YXIgYklNTk9ubG9hZEF0dGFjaGVkPWZhbHNlOw0KdmFyIElNTk9yaWdT
Y3JvbGxGdW5jPW51bGw7DQp2YXIgYklNTkluU2Nyb2xsRnVuYz1mYWxzZTsNCnZh
ciBJTU5Tb3J0YWJsZU9iaj1udWxsOw0KdmFyIElNTkhlYWRlck9iaj1udWxsOw0K
dmFyIElNTk5hbWVEaWN0aW9uYXJ5T2JqPW51bGw7DQp2YXIgSU1OU2hvd09mZmxp
bmVPYmo9bnVsbDsNCmZ1bmN0aW9uIEVuc3VyZUlNTkNvbnRyb2woKQ0Kew0KCWlm
ICghYklNTkNvbnRyb2xJbml0ZWQpDQoJew0KCQlpZiAoYnJvd3NlcmlzLmllNXVw
ICYmIGJyb3dzZXJpcy53aW4zMikNCgkJew0KLy9AY2Nfb24NCi8vQGlmIChAX2pz
Y3JpcHRfdmVyc2lvbiA+PTUpDQovL0AgICAgICAgICAgICB0cnkNCi8vQCAgICAg
ICAgICAgIHsNCi8vQCAgICAgICAgICAgICAgICBJTU5Db250cm9sT2JqPW5ldyBB
Y3RpdmVYT2JqZWN0KCJOYW1lLk5hbWVDdHJsLjEiKTsNCi8vQCAgICAgICAgICAg
IH0gY2F0Y2goZSkNCi8vQCAgICAgICAgICAgIHsNCi8vQA0KLy9AICAgICAgICAg
ICAgfTsNCi8vQGVsc2UNCi8vQGVuZA0KCQl9DQoJCWJJTU5Db250cm9sSW5pdGVk
PXRydWU7DQoJCWlmIChJTU5Db250cm9sT2JqKQ0KCQl7DQoJCQlJTU5Db250cm9s
T2JqLk9uU3RhdHVzQ2hhbmdlPUlNTk9uU3RhdHVzQ2hhbmdlOw0KCQl9DQoJfQ0K
CXJldHVybiBJTU5Db250cm9sT2JqOw0KfQ0KZnVuY3Rpb24gSU1OSW1hZ2VJbmZv
KCkNCnsNCgl0aGlzLmltZz1udWxsOw0KCXRoaXMuYWx0PScnOw0KfQ0KdmFyIExf
SU1OT25saW5lX1RleHQ9IksgZGlzcG96aWNpIjsNCnZhciBMX0lNTk9mZmxpbmVf
VGV4dD0iT2ZmbGluZSI7DQp2YXIgTF9JTU5Bd2F5X1RleHQ9IlByecSNIjsNCnZh
ciBMX0lNTkJ1c3lfVGV4dD0iWmFuZXByw6F6ZG7Em24iOw0KdmFyIExfSU1ORG9O
b3REaXN0dXJiX1RleHQ9Ik5lcnXFoWl0IjsNCnZhciBMX0lNTklkbGVfVGV4dD0i
UHJhdmTEm3BvZG9ibsSbIHByecSNIjsNCnZhciBMX0lNTkJsb2NrZWRfVGV4dD0i
Qmxva292w6FubyI7DQp2YXIgTF9JTU5PbmxpbmVfT09GX1RleHQ9IksgZGlzcG96
aWNpIChtaW1vIGthbmNlbMOhxZkpIjsNCnZhciBMX0lNTk9mZmxpbmVfT09GX1Rl
eHQ9Ik9mZmxpbmUgKG1pbW8ga2FuY2Vsw6HFmSkiOw0KdmFyIExfSU1OQXdheV9P
T0ZfVGV4dD0iUHJ5xI0gKG1pbW8ga2FuY2Vsw6HFmSkiOw0KdmFyIExfSU1OQnVz
eV9PT0ZfVGV4dD0iWmFuZXByw6F6ZG7Em24gKG1pbW8ga2FuY2Vsw6HFmSkiOw0K
dmFyIExfSU1ORG9Ob3REaXN0dXJiX09PRl9UZXh0PSJOZXJ1xaFpdCAobWltbyBr
YW5jZWzDocWZKSI7DQp2YXIgTF9JTU5JZGxlX09PRl9UZXh0PSJQcmF2ZMSbcG9k
b2JuxJsgcHJ5xI0gKG1pbW8ga2FuY2Vsw6HFmSkiOw0KZnVuY3Rpb24gSU1OR2V0
U3RhdHVzSW1hZ2Uoc3RhdGUsIHNob3dvZmZsaW5lKQ0Kew0KCXZhciBpbWc9ImJs
YW5rLmdpZiI7DQoJdmFyIGFsdD0iIjsNCglzd2l0Y2ggKHN0YXRlKQ0KCXsNCgkJ
Y2FzZSAwOg0KCQkJaW1nPSJpbW5vbi5wbmciOw0KCQkJYWx0PUxfSU1OT25saW5l
X1RleHQ7DQoJCWJyZWFrOw0KCQljYXNlIDExOg0KCQkJaW1nPSJpbW5vbm9vZi5w
bmciOw0KCQkJYWx0PUxfSU1OT25saW5lX09PRl9UZXh0Ow0KCQlicmVhazsNCgkJ
Y2FzZSAxOg0KCQkJaWYgKHNob3dvZmZsaW5lKQ0KCQkJew0KCQkJCWltZz0iaW1u
b2ZmLnBuZyI7DQoJCQkJYWx0PUxfSU1OT2ZmbGluZV9UZXh0Ow0KCQkJfQ0KCQkJ
ZWxzZQ0KCQkJew0KCQkJCWltZz0iYmxhbmsuZ2lmIjsNCgkJCQlhbHQ9IiI7DQoJ
CQl9DQoJCWJyZWFrOw0KCQljYXNlIDEyOg0KCQkJaWYgKHNob3dvZmZsaW5lKQ0K
CQkJew0KCQkJCWltZz0iaW1ub2Zmb29mLnBuZyI7DQoJCQkJYWx0PUxfSU1OT2Zm
bGluZV9PT0ZfVGV4dDsNCgkJCX0NCgkJCWVsc2UNCgkJCXsNCgkJCQlpbWc9ImJs
YW5rLmdpZiI7DQoJCQkJYWx0PSIiOw0KCQkJfQ0KCQlicmVhazsNCgkJY2FzZSAy
Og0KCQkJaW1nPSJpbW5hd2F5LnBuZyI7DQoJCQlhbHQ9TF9JTU5Bd2F5X1RleHQ7
DQoJCWJyZWFrOw0KCQljYXNlIDEzOg0KCQkJaW1nPSJpbW5hd2F5b29mLnBuZyI7
DQoJCQlhbHQ9TF9JTU5Bd2F5X09PRl9UZXh0Ow0KCQlicmVhazsNCgkJY2FzZSAz
Og0KCQkJaW1nPSJpbW5idXN5LnBuZyI7DQoJCQlhbHQ9TF9JTU5CdXN5X1RleHQ7
DQoJCWJyZWFrOw0KCQljYXNlIDE0Og0KCQkJaW1nPSJpbW5idXN5b29mLnBuZyI7
DQoJCQlhbHQ9TF9JTU5CdXN5X09PRl9UZXh0Ow0KCQlicmVhazsNCgkJY2FzZSA0
Og0KCQkJaW1nPSJpbW5hd2F5LnBuZyI7DQoJCQlhbHQ9TF9JTU5Bd2F5X1RleHQ7
DQoJCWJyZWFrOw0KCQljYXNlIDU6DQoJCQlpbWc9ImltbmJ1c3kucG5nIjsNCgkJ
CWFsdD1MX0lNTkJ1c3lfVGV4dDsNCgkJYnJlYWs7DQoJCWNhc2UgNjoNCgkJCWlt
Zz0iaW1uYXdheS5wbmciOw0KCQkJYWx0PUxfSU1OQXdheV9UZXh0Ow0KCQlicmVh
azsNCgkJY2FzZSA3Og0KCQkJaW1nPSJpbW5idXN5LnBuZyI7DQoJCQlhbHQ9TF9J
TU5CdXN5X1RleHQ7DQoJCWJyZWFrOw0KCQljYXNlIDg6DQoJCQlpbWc9ImltbmF3
YXkucG5nIjsNCgkJCWFsdD1MX0lNTkF3YXlfVGV4dDsNCgkJYnJlYWs7DQoJCWNh
c2UgOToNCgkJCWltZz0iaW1uZG5kLnBuZyI7DQoJCQlhbHQ9TF9JTU5Eb05vdERp
c3R1cmJfVGV4dDsNCgkJYnJlYWs7DQoJCWNhc2UgMTU6DQoJCQlpbWc9ImltbmRu
ZG9vZi5wbmciOw0KCQkJYWx0PUxfSU1ORG9Ob3REaXN0dXJiX09PRl9UZXh0Ow0K
CQlicmVhazsNCgkJY2FzZSAxMDoNCgkJCWltZz0iaW1uYnVzeS5wbmciOw0KCQkJ
YWx0PUxfSU1OQnVzeV9UZXh0Ow0KCQlicmVhazsNCgkJY2FzZSAxNjoNCgkJCWlt
Zz0iaW1uaWRsZS5wbmciOw0KCQkJYWx0PUxfSU1OSWRsZV9UZXh0Ow0KCQlicmVh
azsNCgkJY2FzZSAxNzoNCgkJCWltZz0iaW1uaWRsZW9vZi5wbmciOw0KCQkJYWx0
PUxfSU1OSWRsZV9PT0ZfVGV4dDsNCgkJYnJlYWs7DQoJCWNhc2UgMTg6DQoJCQlp
bWc9ImltbmJsb2NrZWQucG5nIjsNCgkJCWFsdD1MX0lNTkJsb2NrZWRfVGV4dDsN
CgkJYnJlYWs7DQoJCWNhc2UgMTk6DQoJCQlpbWc9ImltbmlkbGVidXN5LnBuZyI7
DQoJCQlhbHQ9TF9JTU5CdXN5X1RleHQ7DQoJCWJyZWFrOw0KCQljYXNlIDIwOg0K
CQkJaW1nPSJpbW5pZGxlYnVzeW9vZi5wbmciOw0KCQkJYWx0PUxfSU1OQnVzeV9P
T0ZfVGV4dDsNCgkJYnJlYWs7DQoJfQ0KCXZhciBpbW5JbmZvPW5ldyBJTU5JbWFn
ZUluZm8oKTsNCglpbW5JbmZvLmltZz1pbWc7DQoJaW1uSW5mby5hbHQ9YWx0Ow0K
CXJldHVybiBpbW5JbmZvOw0KfQ0KZnVuY3Rpb24gSU1OR2V0SGVhZGVySW1hZ2Uo
KQ0Kew0KCXZhciBpbW5JbmZvPW5ldyBJTU5JbWFnZUluZm8oKTsNCglpbW5JbmZv
LmltZz0iaW1uaGRyLmdpZiI7Ow0KCWltbkluZm8uYWx0PSIiOw0KCXJldHVybiBp
bW5JbmZvOw0KfQ0KZnVuY3Rpb24gSU1OSXNPbmxpbmVTdGF0ZShzdGF0ZSkNCnsN
CglpZiAoc3RhdGU9PTEpDQoJew0KCQkJcmV0dXJuIGZhbHNlOw0KCX0NCglyZXR1
cm4gdHJ1ZTsNCn0NCmZ1bmN0aW9uIElNTlNvcnRMaXN0KGosIG9sZFN0YXRlLCBz
dGF0ZSkNCnsNCgl2YXIgb2JqVGFibGU9bnVsbDsNCgl2YXIgb2JqUm93PW51bGw7
DQoJaWYgKElNTlNvcnRhYmxlT2JqICYmIElNTlNvcnRhYmxlT2JqW2pdKQ0KCXsN
CgkJb2JqUm93PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGopOw0KCQl3aGlsZSAo
b2JqUm93ICYmICEob2JqUm93LnRhZ05hbWU9PSJUUiIgJiYNCgkJCSAgIHR5cGVv
ZihvYmpSb3cuU29ydGFibGUpICE9InVuZGVmaW5lZCIpKQ0KCQl7DQoJCQlvYmpS
b3c9b2JqUm93LnBhcmVudE5vZGU7DQoJCX0NCgkJb2JqVGFibGU9b2JqUm93Ow0K
CQl3aGlsZSAob2JqVGFibGUgJiYgb2JqVGFibGUudGFnTmFtZSAhPSJUQUJMRSIp
DQoJCXsNCgkJCW9ialRhYmxlPW9ialRhYmxlLnBhcmVudE5vZGU7DQoJCX0NCgkJ
aWYgKG9ialRhYmxlICE9bnVsbCAmJiBvYmpSb3cgIT1udWxsKQ0KCQl7DQoJCQlp
ZiAob2JqVGFibGUucm93c1sxXS5zdHlsZS5kaXNwbGF5PT0ibm9uZSIpDQoJCQl7
DQoJCQkJZm9yIChpPTE7IGk8NDsgaSsrKQ0KCQkJCXsNCgkJCQkJb2JqVGFibGUu
cm93c1tpXS5zdHlsZS5kaXNwbGF5PSJibG9jayI7DQoJCQkJfQ0KCQkJfQ0KCQkJ
aWYgKCFJTU5Jc09ubGluZVN0YXRlKG9sZFN0YXRlKSAmJiBJTU5Jc09ubGluZVN0
YXRlKHN0YXRlKSkNCgkJCXsNCgkJCQlvYmpUYWJsZS5yb3dzWzJdLnN0eWxlLmRp
c3BsYXk9Im5vbmUiOw0KCQkJCWk9MzsNCgkJCQl3aGlsZSAob2JqVGFibGUucm93
c1tpXS5pZCAhPSJPZmZsaW5lIiAmJiBvYmpUYWJsZS5yb3dzW2ldLmlubmVyVGV4
dCA8IG9ialJvdy5pbm5lclRleHQpDQoJCQkJCWkrKzsNCgkJCQlvYmpUYWJsZS5t
b3ZlUm93KG9ialJvdy5yb3dJbmRleCwgaSk7DQoJCQkJaWYgKCAgICBvYmpUYWJs
ZS5yb3dzW29ialRhYmxlLnJvd3MubGVuZ3RoIC0gM10uaWQ9PSJPZmZsaW5lIikN
CgkJCQl7DQoJCQkJCW9ialRhYmxlLnJvd3Nbb2JqVGFibGUucm93cy5sZW5ndGgg
LSAyXS5zdHlsZS5kaXNwbGF5PSJibG9jayI7DQoJCQkJfQ0KCQkJfQ0KCQkJZWxz
ZSBpZiAoSU1OSXNPbmxpbmVTdGF0ZShvbGRTdGF0ZSkgJiYgIUlNTklzT25saW5l
U3RhdGUoc3RhdGUpKQ0KCQkJew0KCQkJCWlmIChvYmpSb3cucm93SW5kZXg9PTMg
JiYNCgkJCQkJb2JqVGFibGUucm93c1tvYmpSb3cucm93SW5kZXgrMV0uaWQ9PSJP
ZmZsaW5lIikNCgkJCQl7DQoJCQkJCW9ialRhYmxlLnJvd3NbMl0uc3R5bGUuZGlz
cGxheT0iYmxvY2siOw0KCQkJCX0NCgkJCQlpZiAob2JqVGFibGUucm93c1tvYmpU
YWJsZS5yb3dzLmxlbmd0aCAtIDNdLmlkPT0iT2ZmbGluZSIpDQoJCQkJew0KCQkJ
CQlvYmpUYWJsZS5yb3dzW29ialRhYmxlLnJvd3MubGVuZ3RoIC0gMl0uc3R5bGUu
ZGlzcGxheT0ibm9uZSI7DQoJCQkJfQ0KCQkJCWk9b2JqVGFibGUucm93cy5sZW5n
dGggLSAyOw0KCQkJCXdoaWxlIChvYmpUYWJsZS5yb3dzW2kgLSAxXS5pZCAhPSJP
ZmZsaW5lIiAmJiBvYmpUYWJsZS5yb3dzW2ldLmlubmVyVGV4dCA+IG9ialJvdy5p
bm5lclRleHQpDQoJCQkJCWktLTsNCgkJCQlvYmpUYWJsZS5tb3ZlUm93KG9ialJv
dy5yb3dJbmRleCwgaSk7DQoJCQl9DQoJCX0NCgl9DQp9DQpmdW5jdGlvbiBJTU5P
blN0YXR1c0NoYW5nZShuYW1lLCBzdGF0ZSwgaWQpDQp7DQoJaWYgKElNTkRpY3Rp
b25hcnlPYmopDQoJew0KCQl2YXIgaW1nPUlNTkdldFN0YXR1c0ltYWdlKHN0YXRl
LCBJTU5Tb3J0YWJsZU9ialtpZF0gfHwNCgkJCQkJCQkJCUlNTlNob3dPZmZsaW5l
T2JqW2lkXSk7DQoJCWlmIChJTU5EaWN0aW9uYXJ5T2JqW2lkXSAhPXN0YXRlKQ0K
CQl7DQoJCQlpZiAoYklNTlNvcnRlZCkNCgkJCQlJTU5Tb3J0TGlzdChpZCwgSU1O
RGljdGlvbmFyeU9ialtpZF0sIHN0YXRlKTsNCgkJCUlNTlVwZGF0ZUltYWdlKGlk
LCBpbWcpOw0KCQkJSU1ORGljdGlvbmFyeU9ialtpZF09c3RhdGU7DQoJCX0NCgl9
DQp9DQpmdW5jdGlvbiBJTU5VcGRhdGVJbWFnZShpZCwgaW1nSW5mbykNCnsNCgl2
YXIgb2JqPWRvY3VtZW50LmltYWdlcyhpZCk7DQoJaWYgKG9iaikNCgl7DQoJCXZh
ciBpbWc9aW1nSW5mby5pbWc7DQoJCXZhciBhbHQ9aW1nSW5mby5hbHQ7DQoJCXZh
ciBvbGRJbWc9b2JqLnNyYzsNCgkJdmFyIGluZGV4PW9sZEltZy5sYXN0SW5kZXhP
ZigiLyIpOw0KCQl2YXIgbmV3SW1nPW9sZEltZy5zbGljZSgwLCBpbmRleCsxKTsN
CgkJbmV3SW1nKz1pbWc7DQoJCWlmIChvbGRJbWc9PW5ld0ltZyAmJiBpbWcgIT0n
YmxhbmsuZ2lmJykNCgkJCXJldHVybjsNCgkJaWYgKG9iai5hbHRiYXNlKQ0KCQl7
DQoJCQlvYmouYWx0PW9iai5hbHRiYXNlOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJ
b2JqLmFsdD1hbHQ7DQoJCX0NCgkJdmFyIHVzZUZpbHRlcj1icm93c2VyaXMuaWUg
JiYNCgkJCQkJYnJvd3NlcmlzLmllNTV1cCAmJg0KCQkJCQlicm93c2VyaXMudmVy
SUVGdWxsIDwgNy4wOw0KCQl2YXIgaXNQbmc9KG5ld0ltZy50b0xvd2VyQ2FzZSgp
LmluZGV4T2YoIi5wbmciKSA+IDApOw0KCQlpZiAodXNlRmlsdGVyKQ0KCQl7DQoJ
CQlpZiAoaXNQbmcpDQoJCQl7DQoJCQkJb2JqLnN0eWxlLmZpbHRlcj0icHJvZ2lk
OkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhSW1hZ2VMb2FkZXIoc3Jj
PSIrbmV3SW1nKyIpLHNpemluZ01ldGhvZD1zY2FsZSxlbmFibGVkPXRydWUpOyI7
DQoJCQkJb2JqLnNyYz0iL19sYXlvdXRzL2ltYWdlcy9ibGFuay5naWYiOw0KCQkJ
fQ0KCQkJZWxzZQ0KCQkJew0KCQkJCW9iai5zdHlsZS5maWx0ZXI9IiI7DQoJCQkJ
b2JqLnNyYz1uZXdJbWc7DQoJCQl9DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQlvYmou
c3JjPW5ld0ltZzsNCgkJfQ0KCX0NCn0NCmZ1bmN0aW9uIElNTkhhbmRsZUFjY2Vs
ZXJhdG9yKCkNCnsNCglpZiAoSU1OQ29udHJvbE9iaikNCgl7DQoJICAgaWYgKGV2
ZW50LmFsdEtleSAmJiBldmVudC5zaGlmdEtleSAmJg0KCQkJZXZlbnQua2V5Q29k
ZT09MTIxKQ0KCQl7DQoJCSAgIElNTkNvbnRyb2xPYmouRG9BY2NlbGVyYXRvcigp
Ow0KCQl9DQoJfQ0KfQ0KZnVuY3Rpb24gSU1OSW1hZ2VPbkNsaWNrKCkNCnsNCglp
ZiAoSU1OQ29udHJvbE9iaikNCgl7DQoJCUlNTlNob3dPT1VJS3liKCk7DQoJCUlN
TkNvbnRyb2xPYmouRG9BY2NlbGVyYXRvcigpOw0KCX0NCn0NCmZ1bmN0aW9uIElN
TkdldE9PVUlMb2NhdGlvbihvYmopDQp7DQoJdmFyIG9ialJldD1uZXcgT2JqZWN0
Ow0KCXZhciBvYmpTcGFuPW9iajsNCgl2YXIgb2JqT09VST1vYmo7DQoJdmFyIG9v
dWlYPTAsIG9vdWlZPTAsIG9iakRYPTA7DQoJdmFyIGZSdGw9ZG9jdW1lbnQuZGly
PT0icnRsIjsNCgl3aGlsZSAob2JqU3BhbiAmJiBvYmpTcGFuLnRhZ05hbWUgIT0i
U1BBTiIgJiYgb2JqU3Bhbi50YWdOYW1lICE9IlRBQkxFIikNCgl7DQoJCW9ialNw
YW49b2JqU3Bhbi5wYXJlbnROb2RlOw0KCX0NCglpZiAob2JqU3BhbikNCgl7DQoJ
CXZhciBjb2xsTm9kZXM9b2JqU3Bhbi50YWdOYW1lPT0iVEFCTEUiID8NCgkJCW9i
alNwYW4ucm93cygwKS5jZWxscygwKS5jaGlsZE5vZGVzIDoNCgkJCW9ialNwYW4u
Y2hpbGROb2RlczsNCgkJdmFyIGk7DQoJCWZvciAoaT0wOyBpIDwgY29sbE5vZGVz
Lmxlbmd0aDsrK2kpDQoJCXsNCgkJCWlmIChjb2xsTm9kZXMuaXRlbShpKS50YWdO
YW1lPT0iSU1HIiAmJiBjb2xsTm9kZXMuaXRlbShpKS5pZCkNCgkJCXsNCgkJCQlv
YmpPT1VJPWNvbGxOb2Rlcy5pdGVtKGkpOw0KCQkJCWJyZWFrOw0KCQkJfQ0KCQkJ
aWYgKGNvbGxOb2Rlcy5pdGVtKGkpLnRhZ05hbWU9PSJBIiAmJg0KCQkJCWNvbGxO
b2Rlcy5pdGVtKGkpLmNoaWxkTm9kZXMubGVuZ3RoID4gMCAmJg0KCQkJCWNvbGxO
b2Rlcy5pdGVtKGkpLmNoaWxkTm9kZXMuaXRlbSgwKS50YWdOYW1lPT0iSU1HIiAm
Jg0KCQkJCWNvbGxOb2Rlcy5pdGVtKGkpLmNoaWxkTm9kZXMuaXRlbSgwKS5pZCkN
CgkJCXsNCgkJCQlvYmpPT1VJPWNvbGxOb2Rlcy5pdGVtKGkpLmNoaWxkTm9kZXMu
aXRlbSgwKTsNCgkJCQlicmVhazsNCgkJCX0NCgkJfQ0KCX0NCglvYmo9b2JqT09V
STsNCgl3aGlsZSAob2JqKQ0KCXsNCgkJaWYgKGZSdGwpDQoJCXsNCgkJCWlmIChv
Ymouc2Nyb2xsV2lkdGggPj1vYmouY2xpZW50V2lkdGgrb2JqLnNjcm9sbExlZnQp
DQoJCQkJb2JqRFg9b2JqLnNjcm9sbFdpZHRoIC0gb2JqLmNsaWVudFdpZHRoIC0g
b2JqLnNjcm9sbExlZnQ7DQoJCQllbHNlDQoJCQkJb2JqRFg9b2JqLmNsaWVudFdp
ZHRoK29iai5zY3JvbGxMZWZ0IC0gb2JqLnNjcm9sbFdpZHRoOw0KCQkJb291aVgr
PW9iai5vZmZzZXRMZWZ0K29iakRYOw0KCQl9DQoJCWVsc2UNCgkJCW9vdWlYKz1v
Ymoub2Zmc2V0TGVmdCAtIG9iai5zY3JvbGxMZWZ0Ow0KCQlvb3VpWSs9b2JqLm9m
ZnNldFRvcCAtIG9iai5zY3JvbGxUb3A7DQoJCW9iaj1vYmoub2Zmc2V0UGFyZW50
Ow0KCX0NCgl0cnkNCgl7DQoJCW9iaj13aW5kb3cuZnJhbWVFbGVtZW50Ow0KCQl3
aGlsZSAob2JqKQ0KCQl7DQoJCQlpZiAoZlJ0bCkNCgkJCXsNCgkJCQlpZiAob2Jq
LnNjcm9sbFdpZHRoID49b2JqLmNsaWVudFdpZHRoK29iai5zY3JvbGxMZWZ0KQ0K
CQkJCQlvYmpEWD1vYmouc2Nyb2xsV2lkdGggLSBvYmouY2xpZW50V2lkdGggLSBv
Ymouc2Nyb2xsTGVmdDsNCgkJCQllbHNlDQoJCQkJCW9iakRYPW9iai5jbGllbnRX
aWR0aCtvYmouc2Nyb2xsTGVmdCAtIG9iai5zY3JvbGxXaWR0aDsNCgkJCQlvb3Vp
WCs9b2JqLm9mZnNldExlZnQrb2JqRFg7DQoJCQl9DQoJCQllbHNlDQoJCQkJb291
aVgrPW9iai5vZmZzZXRMZWZ0IC0gb2JqLnNjcm9sbExlZnQ7DQoJCQlvb3VpWSs9
b2JqLm9mZnNldFRvcCAtIG9iai5zY3JvbGxUb3A7DQoJCQlvYmo9b2JqLm9mZnNl
dFBhcmVudDsNCgkJfQ0KCX0gY2F0Y2goZSkNCgl7DQoJfTsNCglvYmpSZXQub2Jq
U3Bhbj1vYmpTcGFuOw0KCW9ialJldC5vYmpPT1VJPW9iak9PVUk7DQoJb2JqUmV0
Lm9vdWlYPW9vdWlYOw0KCW9ialJldC5vb3VpWT1vb3VpWTsNCglpZiAoZlJ0bCkN
CgkJb2JqUmV0Lm9vdWlYKz1vYmpPT1VJLm9mZnNldFdpZHRoOw0KCXJldHVybiBv
YmpSZXQ7DQp9DQpmdW5jdGlvbiBJTU5TaG93T09VSU1vdXNlKCkNCnsNCglJTU5T
aG93T09VSSgwKTsNCn0NCmZ1bmN0aW9uIElNTlNob3dPT1VJS3liKCkNCnsNCglJ
TU5TaG93T09VSSgxKTsNCn0NCmZ1bmN0aW9uIElNTlNob3dPT1VJKGlucHV0VHlw
ZSkNCnsNCglpZiAoYnJvd3NlcmlzLmllNXVwICYmIGJyb3dzZXJpcy53aW4zMikN
Cgl7DQoJCXZhciBvYmo9d2luZG93LmV2ZW50LnNyY0VsZW1lbnQ7DQoJCXZhciBv
YmpTcGFuPW9iajsNCgkJdmFyIG9iak9PVUk9b2JqOw0KCQl2YXIgb291aVg9MCwg
b291aVk9MDsNCgkJaWYgKEVuc3VyZUlNTkNvbnRyb2woKSAmJiBJTU5OYW1lRGlj
dGlvbmFyeU9iaikNCgkJew0KCQkJdmFyIG9ialJldD1JTU5HZXRPT1VJTG9jYXRp
b24ob2JqKTsNCgkJCW9ialNwYW49b2JqUmV0Lm9ialNwYW47DQoJCQlvYmpPT1VJ
PW9ialJldC5vYmpPT1VJOw0KCQkJb291aVg9b2JqUmV0Lm9vdWlYOw0KCQkJb291
aVk9b2JqUmV0Lm9vdWlZOw0KCQkJdmFyIG5hbWU9SU1OTmFtZURpY3Rpb25hcnlP
Ympbb2JqT09VSS5pZF07DQoJCQlpZiAob2JqU3BhbikNCgkJCQlvYmpTcGFuLm9u
a2V5ZG93bj1JTU5IYW5kbGVBY2NlbGVyYXRvcjsNCgkJCUlNTkNvbnRyb2xPYmou
U2hvd09PVUkobmFtZSwgaW5wdXRUeXBlLCBvb3VpWCwgb291aVkpOw0KCQl9DQoJ
fQ0KfQ0KZnVuY3Rpb24gSU1OSGlkZU9PVUkoKQ0Kew0KCWlmIChJTU5Db250cm9s
T2JqKQ0KCXsNCgkJSU1OQ29udHJvbE9iai5IaWRlT09VSSgpOw0KCQlyZXR1cm4g
ZmFsc2U7DQoJfQ0KCXJldHVybiB0cnVlOw0KfQ0KZnVuY3Rpb24gSU1OU2Nyb2xs
KCkNCnsNCglpZiAoIWJJTU5JblNjcm9sbEZ1bmMpDQoJew0KCQliSU1OSW5TY3Jv
bGxGdW5jPXRydWU7DQoJCUlNTkhpZGVPT1VJKCk7DQoJfQ0KCWJJTU5JblNjcm9s
bEZ1bmM9ZmFsc2U7DQoJaWYoSU1OT3JpZ1Njcm9sbEZ1bmM9PUlNTlNjcm9sbCkN
CgkJcmV0dXJuIHRydWU7DQoJcmV0dXJuIElNTk9yaWdTY3JvbGxGdW5jID8gSU1O
T3JpZ1Njcm9sbEZ1bmMoKSA6IHRydWU7DQp9DQp2YXIgaW1uQ291bnQ9MDsNCnZh
ciBpbW5FbGVtczsNCnZhciBpbW5FbGVtc0NvdW50PTA7DQp2YXIgaW1uTWFya2Vy
QmF0Y2hTaXplPTQ7DQp2YXIgaW1uTWFya2VyQmF0Y2hEZWxheT00MDsNCmZ1bmN0
aW9uIFByb2Nlc3NJbW4oKQ0Kew0KCWlmIChFbnN1cmVJTU5Db250cm9sKCkgJiYg
SU1OQ29udHJvbE9iai5QcmVzZW5jZUVuYWJsZWQpDQoJew0KCQlpbW5FbGVtcz1k
b2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgiaW1ubWFyayIpOw0KCQlpbW5FbGVt
c0NvdW50PWltbkVsZW1zLmxlbmd0aDsNCgkJUHJvY2Vzc0ltbk1hcmtlcnMoKTsN
Cgl9DQp9DQpmdW5jdGlvbiBQcm9jZXNzSW1uTWFya2VycygpDQp7DQoJZm9yIChp
PTA7aTxpbW5NYXJrZXJCYXRjaFNpemU7KytpKQ0KCXsNCgkJaWYgKGltbkNvdW50
PT1pbW5FbGVtc0NvdW50KQ0KCQkJcmV0dXJuOw0KCQlJTU5SQyhpbW5FbGVtc1tp
bW5Db3VudF0uc2lwLGltbkVsZW1zW2ltbkNvdW50XSk7DQoJCWltbkNvdW50Kys7
DQoJfQ0KCXNldFRpbWVvdXQoIlByb2Nlc3NJbW5NYXJrZXJzKCkiLGltbk1hcmtl
ckJhdGNoRGVsYXkpOw0KfQ0KZnVuY3Rpb24gSU1OUkMobmFtZSwgZWxlbSkNCnsN
CglpZiAobmFtZT09bnVsbCB8fCBuYW1lPT0nJykNCgkJcmV0dXJuOw0KCWlmIChi
cm93c2VyaXMuaWU1dXAgJiYgYnJvd3NlcmlzLndpbjMyKQ0KCXsNCgkJdmFyIG9i
aj0oZWxlbSkgPyBlbGVtIDogd2luZG93LmV2ZW50LnNyY0VsZW1lbnQ7DQoJCXZh
ciBvYmpTcGFuPW9iajsNCgkJdmFyIGlkPW9iai5pZDsNCgkJdmFyIGZGaXJzdD1m
YWxzZTsNCgkJaWYgKCFJTU5EaWN0aW9uYXJ5T2JqKQ0KCQl7DQoJCQlJTU5EaWN0
aW9uYXJ5T2JqPW5ldyBPYmplY3QoKTsNCgkJCUlNTk5hbWVEaWN0aW9uYXJ5T2Jq
PW5ldyBPYmplY3QoKTsNCgkJCUlNTlNvcnRhYmxlT2JqPW5ldyBPYmplY3QoKTsN
CgkJCUlNTlNob3dPZmZsaW5lT2JqPW5ldyBPYmplY3QoKTsNCgkJCWlmICghSU1O
T3JpZ1Njcm9sbEZ1bmMpDQoJCQl7DQoJCQkJSU1OT3JpZ1Njcm9sbEZ1bmM9d2lu
ZG93Lm9uc2Nyb2xsOw0KCQkJCXdpbmRvdy5vbnNjcm9sbD1JTU5TY3JvbGw7DQoJ
CQl9DQoJCX0NCgkJaWYgKElNTkRpY3Rpb25hcnlPYmopDQoJCXsNCgkJCWlmICgh
SU1OTmFtZURpY3Rpb25hcnlPYmpbaWRdKQ0KCQkJew0KCQkJCUlNTk5hbWVEaWN0
aW9uYXJ5T2JqW2lkXT1uYW1lOw0KCQkJCWZGaXJzdD10cnVlOw0KCQkJfQ0KCQkJ
aWYgKHR5cGVvZihJTU5EaWN0aW9uYXJ5T2JqW2lkXSk9PSJ1bmRlZmluZWQiKQ0K
CQkJew0KCQkJCUlNTkRpY3Rpb25hcnlPYmpbaWRdPTE7DQoJCQl9DQoJCQlpZiAo
IUlNTlNvcnRhYmxlT2JqW2lkXSAmJg0KCQkJCSh0eXBlb2Yob2JqLlNvcnRhYmxl
KSAhPSJ1bmRlZmluZWQiKSkNCgkJCXsNCgkJCQlJTU5Tb3J0YWJsZU9ialtpZF09
b2JqLlNvcnRhYmxlOw0KCQkJCWlmICghYklNTk9ubG9hZEF0dGFjaGVkKQ0KCQkJ
CXsNCgkJCQkJaWYgKEVuc3VyZUlNTkNvbnRyb2woKSAmJiBJTU5Db250cm9sT2Jq
LlByZXNlbmNlRW5hYmxlZCkNCgkJCQkJCXdpbmRvdy5hdHRhY2hFdmVudCgib25s
b2FkIiwgSU1OU29ydFRhYmxlKTsNCgkJCQkJYklNTk9ubG9hZEF0dGFjaGVkPXRy
dWU7DQoJCQkJfQ0KCQkJfQ0KCQkJaWYgKCFJTU5TaG93T2ZmbGluZU9ialtpZF0g
JiYNCgkJCQkodHlwZW9mKG9iai5TaG93T2ZmbGluZVBhd24pICE9InVuZGVmaW5l
ZCIpKQ0KCQkJew0KCQkJCUlNTlNob3dPZmZsaW5lT2JqW2lkXT1vYmouU2hvd09m
ZmxpbmVQYXduOw0KCQkJfQ0KCQkJaWYgKGZGaXJzdCAmJiBFbnN1cmVJTU5Db250
cm9sKCkgJiYgSU1OQ29udHJvbE9iai5QcmVzZW5jZUVuYWJsZWQpDQoJCQl7DQoJ
CQkJdmFyIHN0YXRlPTEsIGltZzsNCgkJCQlzdGF0ZT1JTU5Db250cm9sT2JqLkdl
dFN0YXR1cyhuYW1lLCBpZCk7DQoJCQkJaWYgKElNTklzT25saW5lU3RhdGUoc3Rh
dGUpIHx8IElNTlNvcnRhYmxlT2JqW2lkXSB8fA0KCQkJCQlJTU5TaG93T2ZmbGlu
ZU9ialtpZF0pDQoJCQkJew0KCQkJCQlpbWc9SU1OR2V0U3RhdHVzSW1hZ2Uoc3Rh
dGUsIElNTlNvcnRhYmxlT2JqW2lkXSB8fA0KCQkJCQkJCQkJCQlJTU5TaG93T2Zm
bGluZU9ialtpZF0pOw0KCQkJCQlJTU5VcGRhdGVJbWFnZShpZCwgaW1nKTsNCgkJ
CQkJSU1ORGljdGlvbmFyeU9ialtpZF09c3RhdGU7DQoJCQkJfQ0KCQkJfQ0KCQl9
DQoJCWlmIChmRmlyc3QpDQoJCXsNCgkJCXZhciBvYmpSZXQ9SU1OR2V0T09VSUxv
Y2F0aW9uKG9iaik7DQoJCQlvYmpTcGFuPW9ialJldC5vYmpTcGFuOw0KCQkJaWYg
KG9ialNwYW4pDQoJCQl7DQoJCQkJb2JqU3Bhbi5vbm1vdXNlb3Zlcj1JTU5TaG93
T09VSU1vdXNlOw0KCQkJCW9ialNwYW4ub25mb2N1c2luPUlNTlNob3dPT1VJS3li
Ow0KCQkJCW9ialNwYW4ub25tb3VzZW91dD1JTU5IaWRlT09VSTsNCgkJCQlvYmpT
cGFuLm9uZm9jdXNvdXQ9SU1OSGlkZU9PVUk7DQoJCQl9DQoJCX0NCgl9DQp9DQpm
dW5jdGlvbiBJTU5Tb3J0VGFibGUoKQ0Kew0KCXZhciBpZDsNCglmb3IgKGlkIGlu
IElNTkRpY3Rpb25hcnlPYmopDQoJew0KCQlJTU5Tb3J0TGlzdChpZCwgMSwgSU1O
RGljdGlvbmFyeU9ialtpZF0pOw0KCX0NCgliSU1OU29ydGVkPXRydWU7DQp9DQpm
dW5jdGlvbiBJTU5SZWdpc3RlckhlYWRlcigpDQp7DQoJaWYgKGJyb3dzZXJpcy5p
ZTV1cCAmJiBicm93c2VyaXMud2luMzIpDQoJew0KCQl2YXIgb2JqPXdpbmRvdy5l
dmVudC5zcmNFbGVtZW50Ow0KCQlpZiAoIUlNTkhlYWRlck9iaikNCgkJew0KCQkJ
SU1OSGVhZGVyT2JqPW5ldyBPYmplY3QoKTsNCgkJfQ0KCQlpZiAoSU1OSGVhZGVy
T2JqKQ0KCQl7DQoJCQl2YXIgaWQ9b2JqLmlkOw0KCQkJaWYgKCFJTU5IZWFkZXJP
YmpbaWRdKQ0KCQkJew0KCQkJCUlNTkhlYWRlck9ialtpZF09aWQ7DQoJCQkJdmFy
IGltZzsNCgkJCQlpbWc9SU1OR2V0SGVhZGVySW1hZ2UoKTsNCgkJCQlJTU5VcGRh
dGVJbWFnZShpZCwgaW1nKTsNCgkJCX0NCgkJfQ0KCX0NCn0NCnZhciBfc3BCb2R5
T25Mb2FkRnVuY3Rpb25OYW1lczsNCmlmIChfc3BCb2R5T25Mb2FkRnVuY3Rpb25O
YW1lcz09bnVsbCkNCnsNCglfc3BCb2R5T25Mb2FkRnVuY3Rpb25OYW1lcz1uZXcg
QXJyYXkoKTsNCglfc3BCb2R5T25Mb2FkRnVuY3Rpb25OYW1lcy5wdXNoKCJfc3BC
b2R5T25Mb2FkIik7DQoJX3NwQm9keU9uTG9hZEZ1bmN0aW9uTmFtZXMucHVzaCgi
X3NwUmVzdG9yZVNjcm9sbEZvckRpdl9yc2NyIik7DQp9DQp2YXIgX3NwT3JpZ2lu
YWxGb3JtQWN0aW9uOw0KdmFyIF9zcEVzY2FwZWRGb3JtQWN0aW9uOw0KdmFyIF9z
cEZvcm1PblN1Ym1pdENhbGxlZD1mYWxzZTsNCnZhciBfc3BCb2R5T25QYWdlU2hv
d1JlZ2lzdGVyZWQ9ZmFsc2U7DQpmdW5jdGlvbiBfc3BCb2R5T25QYWdlU2hvdyhl
dnQpDQp7DQoJX3NwRm9ybU9uU3VibWl0Q2FsbGVkPWZhbHNlOw0KfQ0KZnVuY3Rp
b24gX3NwUmVzZXRGb3JtT25TdWJtaXRDYWxsZWRGbGFnKCBzZW5kZXIsICBlKQ0K
ew0KCV9zcEZvcm1PblN1Ym1pdENhbGxlZD1mYWxzZTsNCn0NCmZ1bmN0aW9uIF9z
cEJvZHlPbkxvYWRXcmFwcGVyKCkNCnsNCglpZiAoIV9zcEJvZHlPblBhZ2VTaG93
UmVnaXN0ZXJlZCAmJg0KCQl0eXBlb2YoYnJvd3NlcmlzKSAhPSJ1bmRlZmluZWQi
ICYmDQoJCSFicm93c2VyaXMuaWUgJiYNCgkJdHlwZW9mKHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKT09J2Z1bmN0aW9uJykNCgl7DQoJCXdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCdwYWdlc2hvdycsIF9zcEJvZHlPblBhZ2VTaG93LCBmYWxzZSk7DQoJ
CV9zcEJvZHlPblBhZ2VTaG93UmVnaXN0ZXJlZD10cnVlOw0KCX0NCglpZiAoX3Nw
T3JpZ2luYWxGb3JtQWN0aW9uPT1udWxsKQ0KCXsNCgkJaWYgKGRvY3VtZW50LmZv
cm1zLmxlbmd0aCA+IDApDQoJCXsNCgkJCV9zcE9yaWdpbmFsRm9ybUFjdGlvbj1k
b2N1bWVudC5mb3Jtc1swXS5hY3Rpb247DQoJCQl2YXIgdXJsPXdpbmRvdy5sb2Nh
dGlvbi5ocmVmOw0KCQkJdmFyIGluZGV4PXVybC5pbmRleE9mKCI6Ly8iKTsNCgkJ
CWlmIChpbmRleCA+PTApDQoJCQl7DQoJCQkJdmFyIHRlbXA9dXJsLnN1YnN0cmlu
ZyhpbmRleCszKTsNCgkJCQlpbmRleD10ZW1wLmluZGV4T2YoIi8iKTsNCgkJCQlp
ZiAoaW5kZXggPj0wKQ0KCQkJCQl1cmw9dGVtcC5zdWJzdHJpbmcoaW5kZXgpOw0K
CQkJfQ0KCQkJX3NwRXNjYXBlZEZvcm1BY3Rpb249ZXNjYXBlVXJsRm9yQ2FsbGJh
Y2sodXJsKTsNCgkJCWRvY3VtZW50LmZvcm1zWzBdLmFjdGlvbj1fc3BFc2NhcGVk
Rm9ybUFjdGlvbjsNCgkJfQ0KCX0NCglfc3BGb3JtT25TdWJtaXRDYWxsZWQ9ZmFs
c2U7DQoJaWYgKHR5cGVvZihTeXMpICE9InVuZGVmaW5lZCIgJiYNCgkJdHlwZW9m
KFN5cy5OZXQpICE9InVuZGVmaW5lZCIgJiYNCgkJdHlwZW9mKFN5cy5OZXQuV2Vi
UmVxdWVzdE1hbmFnZXIpICE9InVuZGVmaW5lZCIpDQoJew0KCQlTeXMuTmV0Lldl
YlJlcXVlc3RNYW5hZ2VyLmFkZF9pbnZva2luZ1JlcXVlc3QoX3NwUmVzZXRGb3Jt
T25TdWJtaXRDYWxsZWRGbGFnKTsNCgl9DQoJUHJvY2Vzc0RlZmF1bHRPbkxvYWQo
X3NwQm9keU9uTG9hZEZ1bmN0aW9uTmFtZXMpOw0KfQ0KdmFyIF9zcFN1cHByZXNz
Rm9ybU9uU3VibWl0V3JhcHBlcj1mYWxzZTsNCmZ1bmN0aW9uIF9zcEZvcm1PblN1
Ym1pdFdyYXBwZXIoKQ0Kew0KCWlmIChfc3BTdXBwcmVzc0Zvcm1PblN1Ym1pdFdy
YXBwZXIpDQoJew0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoJaWYgKF9zcEZvcm1PblN1
Ym1pdENhbGxlZCkNCgl7DQoJCXJldHVybiBmYWxzZTsNCgl9DQoJaWYgKHR5cGVv
Zihfc3BGb3JtT25TdWJtaXQpPT0iZnVuY3Rpb24iKQ0KCXsNCgkJdmFyIHJldHZh
bD1fc3BGb3JtT25TdWJtaXQoKTsNCgkJdmFyIHRlc3R2YWw9ZmFsc2U7DQoJCWlm
ICh0eXBlb2YocmV0dmFsKT09dHlwZW9mKHRlc3R2YWwpICYmIHJldHZhbD09dGVz
dHZhbCkNCgkJew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJfQ0KCVJlc3RvcmVU
b09yaWdpbmFsRm9ybUFjdGlvbigpOw0KCV9zcEZvcm1PblN1Ym1pdENhbGxlZD10
cnVlOw0KCXJldHVybiB0cnVlOw0KfQ0KZnVuY3Rpb24gUmVzdG9yZVRvT3JpZ2lu
YWxGb3JtQWN0aW9uKCkNCnsNCglpZiAoX3NwT3JpZ2luYWxGb3JtQWN0aW9uICE9
bnVsbCkNCgl7DQoJCWlmIChfc3BFc2NhcGVkRm9ybUFjdGlvbj09ZG9jdW1lbnQu
Zm9ybXNbMF0uYWN0aW9uKQ0KCQl7DQoJCQlkb2N1bWVudC5mb3Jtc1swXS5hY3Rp
b249X3NwT3JpZ2luYWxGb3JtQWN0aW9uOw0KCQl9DQoJCV9zcE9yaWdpbmFsRm9y
bUFjdGlvbj1udWxsOw0KCQlfc3BFc2NhcGVkRm9ybUFjdGlvbj1udWxsOw0KCX0N
Cn0NCmZ1bmN0aW9uIERlZmF1bHRGb2N1cygpDQp7DQoJaWYgKHR5cGVvZihfc3BV
c2VEZWZhdWx0Rm9jdXMpIT0idW5kZWZpbmVkIikNCgl7DQoJCXZhciBlbGVtZW50
cz1kb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgiX3NwRm9jdXNIZXJlIik7DQoJ
CXZhciBlbGVtPW51bGw7DQoJCWlmIChlbGVtZW50cz09bnVsbCB8fCBlbGVtZW50
cy5sZW5ndGggPD0wKQ0KCQl7DQoJCQllbGVtPWRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJfc3BGb2N1c0hlcmUiKTsNCgkJfQ0KCQllbHNlIGlmIChlbGVtZW50cyAh
PW51bGwgJiYgZWxlbWVudHMubGVuZ3RoID4gMCkNCgkJew0KCQkJZWxlbT1lbGVt
ZW50c1swXTsNCgkJfQ0KCQlpZiAoZWxlbSAhPW51bGwpDQoJCXsNCgkJCXZhciBh
TGlua3M9ZWxlbS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpOw0KCQkJaWYgKGFM
aW5rcyAhPW51bGwgJiYgYUxpbmtzLmxlbmd0aCA+IDApDQoJCQl7DQoJCQkJdHJ5
e2FMaW5rc1swXS5mb2N1cygpO31jYXRjaChlKXt9DQoJCQl9DQoJCX0NCgl9DQp9
DQpmdW5jdGlvbiBQcm9jZXNzRGVmYXVsdE9uTG9hZChvbkxvYWRGdW5jdGlvbk5h
bWVzKQ0Kew0KCVByb2Nlc3NQTkdJbWFnZXMoKTsNCglVcGRhdGVBY2Nlc3NpYmls
aXR5VUkoKTsNCglQcm9jZXNzSW1uKCk7DQoJZm9yICh2YXIgaT0wOyBpIDwgb25M
b2FkRnVuY3Rpb25OYW1lcy5sZW5ndGg7IGkrKykNCgl7DQoJCXZhciBleHByPSJp
Zih0eXBlb2YoIitvbkxvYWRGdW5jdGlvbk5hbWVzW2ldKyIpPT0nZnVuY3Rpb24n
KXsiK29uTG9hZEZ1bmN0aW9uTmFtZXNbaV0rIigpO30iOw0KCQlldmFsKGV4cHIp
Ow0KCX0NCglpZiAodHlwZW9mKF9zcFVzZURlZmF1bHRGb2N1cykhPSJ1bmRlZmlu
ZWQiKQ0KCQlEZWZhdWx0Rm9jdXMoKTsNCn0NCg0K
------------v0R7J6g1aaWINvTDUDfdRA
Content-Disposition: inline; filename=non_ie.js
Content-Type: application/x-javascript; charset=utf-8; name=non_ie.js
Content-Location: http://www.vojenskaskola.cz/_layouts/1029/non_ie.js?rev=yfNry4hY0Gwa%2FPDNGrqXVg%3D%3D
Content-Transfer-Encoding: Base64
ZnVuY3Rpb24gTVNPTGF5b3V0X01pbmltaXplUmVzdG9yZURvd25MZXZlbCh3ZWJQ
YXJ0R1VJRCxjaHJvbWVTdGF0ZSxzb3VyY2UpDQp7DQoJdmFyIG5ld0Nocm9tZVN0
YXRlPShjaHJvbWVTdGF0ZT09Ik1pbmltaXplZCIpID8gIjEiIDogIjAiOw0KCWRv
Y3VtZW50LmZvcm1zW01TT1dlYlBhcnRQYWdlRm9ybU5hbWVdLk1TT0xheW91dF9M
YXlvdXRDaGFuZ2VzLnZhbHVlPXdlYlBhcnRHVUlEKyIsY2hyb21lU3RhdGUsIitu
ZXdDaHJvbWVTdGF0ZTsNCglkb2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZv
cm1OYW1lXS5NU09XZWJQYXJ0UGFnZV9Qb3N0YmFja1NvdXJjZS52YWx1ZT1zb3Vy
Y2U7DQoJX19kb1Bvc3RCYWNrKE1TT1dlYlBhcnRQYWdlRm9ybU5hbWUsICcnKTsN
Cn0NCmZ1bmN0aW9uIE1TT0xheW91dF9SZW1vdmVXZWJQYXJ0RG93bkxldmVsKHdl
YlBhcnRHVUlELCBpc1NlbGVjdGVkKQ0Kew0KCWRvY3VtZW50LmZvcm1zW01TT1dl
YlBhcnRQYWdlRm9ybU5hbWVdLk1TT0xheW91dF9MYXlvdXRDaGFuZ2VzLnZhbHVl
PXdlYlBhcnRHVUlEKyIsaXNJbmNsdWRlZCxGYWxzZSI7DQoJZG9jdW1lbnQuZm9y
bXNbTVNPV2ViUGFydFBhZ2VGb3JtTmFtZV0uTVNPV2ViUGFydFBhZ2VfUG9zdGJh
Y2tTb3VyY2UudmFsdWU9MjI7DQoJaWYoaXNTZWxlY3RlZCkNCgl7DQoJCU1TT1Rs
UG5fU2hvd1Rvb2xQYW5lMignQnJvd3NlJyk7DQoJfQ0KCWVsc2UNCgl7DQoJCV9f
ZG9Qb3N0QmFjayhNU09XZWJQYXJ0UGFnZUZvcm1OYW1lLCAnJyk7DQoJfQ0KfQ0K
dmFyIE1TT0xheW91dF9pbkRlc2lnbk1vZGU9ZmFsc2U7DQp2YXIgTVNPTGF5b3V0
X2N1cnJlbnREcmFnTW9kZT0wOw0KdmFyIE1TT0xheW91dF96b25lRHJhZ092ZXI9
MDsNCnZhciBNU09MYXlvdXRfcm93VG9Ecm9wPTA7DQp2YXIgTVNPTGF5b3V0X2Nl
bGxUb0Ryb3A9MDsNCnZhciBNU09MYXlvdXRfb0Ryb3BMb2NhdGlvbj0wOw0KdmFy
IE1TT0xheW91dF9pQmFyPShkb2N1bWVudC5jcmVhdGVFbGVtZW50ICE9bnVsbCA/
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpIDogbnVsbCk7DQp2YXIgTVNP
TGF5b3V0X2hvcnpab25lSUJhcj0wOw0KdmFyIE1TT0xheW91dF92ZXJ0Wm9uZUlC
YXI9MDsNCnZhciBNU09MYXlvdXRfaG9yekJvZHlab25lSUJhcj0wOw0KdmFyIE1T
T0xheW91dF92ZXJ0Qm9keVpvbmVJQmFyPTA7DQp2YXIgTVNPTGF5b3V0X21vdmVP
YmplY3Q9MDsNCnZhciBNU09MYXlvdXRfbWFpbnRhaW5PcmlnaW5hbFpvbmU9MDsN
CnZhciBNU09MYXlvdXRfdG9wT2JqZWN0PWRvY3VtZW50LmJvZHk7DQp2YXIgTVNP
TGF5b3V0X2dhbGxlcnlWaWV3PTA7DQp2YXIgTVNPTGF5b3V0X3Vuc2F2ZWRDaGFu
Z2VzPW5ldyBBcnJheSgpOw0KdmFyIE1TT0xheW91dF9Gb3JtU3VibWl0PW51bGw7
DQp2YXIgTWVudVdlYlBhcnRJRD1udWxsOw0KdmFyIE1lbnVXZWJQYXJ0PW51bGw7
DQp2YXIgTVNPQ29ubl9Tb3VyY2VXcE5vZGU9bnVsbDsNCnZhciBNU09Db25uX1Rh
cmdldFdwTm9kZT1udWxsOw0KdmFyIE1TT0Nvbm5fWGZvcm1JbmZvMT1udWxsOw0K
dmFyIE1TT0Nvbm5fWGZvcm1JbmZvMj1udWxsOw0KdmFyIE1TT0Nvbm5fQXNwWGZv
cm1JbmZvPW51bGw7DQp2YXIgTVNPQ29ubl9Db25uQ2FuY2VsbGVkPWZhbHNlOw0K
dmFyIE1TT0Nvbm5fTXVsdGlwbGVUYXJnZXRHcm91cHM9ZmFsc2U7DQp2YXIgTVNP
Q29ubl9UYXJnZXRHcm91cE5vZGU9bnVsbDsNCnZhciBNU09Db25uX1NvdXJjZUdy
b3VwTm9kZT1udWxsOw0KdmFyIE1TT0Nvbm5fQmFja0J1dHRvbkNsaWNrZWQ9ZmFs
c2U7DQpmdW5jdGlvbiBNU09MYXlvdXRfUmVtb3ZlUXVlcnlQYXJhbWV0ZXJzRnJv
bVVybCh1cmwpDQp7DQoJdXJsPVJlbW92ZVF1ZXJ5UGFyYW1ldGVyRnJvbVVybCh1
cmwsICJbcHxQXVthfEFdW2d8R11bZXxFXVt2fFZdW2l8SV1bZXxFXVt3fFddIik7
DQoJdXJsPVJlbW92ZVF1ZXJ5UGFyYW1ldGVyRnJvbVVybCh1cmwsICJbdFRdW29P
XVtbb09dW2xMXVtwUF1bYUFdW25OXVtlRV1bdlZdW2lFXVtlRV1bd1ddIik7DQoJ
dXJsPVJlbW92ZVF1ZXJ5UGFyYW1ldGVyRnJvbVVybCh1cmwsICJbZERdW2lJXVtz
U11bcFBdW2xMXVthQV1beVldW21NXVtvT11bZERdW2VFXSIpOw0KCXJldHVybiB1
cmw7DQp9DQpmdW5jdGlvbiBNU09MYXlvdXRfQ2hhbmdlTGF5b3V0TW9kZShiUGVy
c29uYWxWaWV3LCBiRXhpdERlc2lnbk1vZGUpDQp7DQoJaWYoYlBlcnNvbmFsVmll
dyAhPW51bGwpDQoJew0KCQkJCU1TT0xheW91dF9TYXZlQ2hhbmdlcygpOw0KCQl2
YXIgdXJsPWRvY3VtZW50LmZvcm1zW01TT1dlYlBhcnRQYWdlRm9ybU5hbWVdLmFj
dGlvbjsNCgkJdXJsPVJlbW92ZVF1ZXJ5UGFyYW1ldGVyRnJvbVVybCh1cmwsICJb
cHxQXVthfEFdW2d8R11bZXxFXVt2fFZdW2l8SV1bZXxFXVt3fFddIik7DQoJCXVy
bD1SZW1vdmVRdWVyeVBhcmFtZXRlckZyb21VcmwodXJsLCAiW3RUXVtvT11bW29P
XVtsTF1bcFBdW2FBXVtuTl1bZUVdW3ZWXVtpRV1bZUVdW3dXXSIpOw0KCQl1cmw9
UmVtb3ZlUXVlcnlQYXJhbWV0ZXJGcm9tVXJsKHVybCwgIltkRF1baUldW3NTXVtw
UF1bbExdW2FBXVt5WV1bbU1dW29PXVtkRF1bZUVdIik7DQoJCWlmICh1cmwuaW5k
ZXhPZigiPyIpIDwgMCkNCgkJCXVybCs9Ij8iOw0KCQllbHNlDQoJCQl1cmwrPSIm
IjsNCgkJaWYoYlBlcnNvbmFsVmlldz09dHJ1ZSkNCgkJew0KCQkJZG9jdW1lbnQu
Zm9ybXNbTVNPV2ViUGFydFBhZ2VGb3JtTmFtZV0uTVNPTGF5b3V0X0luRGVzaWdu
TW9kZS52YWx1ZT0xOw0KCQkJZG9jdW1lbnQuZm9ybXNbTVNPV2ViUGFydFBhZ2VG
b3JtTmFtZV0uTVNPU1BXZWJQYXJ0TWFuYWdlcl9EaXNwbGF5TW9kZU5hbWUudmFs
dWU9J0Rlc2lnbic7DQoJCQl1cmwrPSJQYWdlVmlldz1QZXJzb25hbCI7DQoJCQlk
b2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5hY3Rpb249dXJs
Ow0KCQl9DQoJCWVsc2UNCgkJew0KCQkJZG9jdW1lbnQuZm9ybXNbTVNPV2ViUGFy
dFBhZ2VGb3JtTmFtZV0uTVNPTGF5b3V0X0luRGVzaWduTW9kZS52YWx1ZT0xOw0K
CQkJZG9jdW1lbnQuZm9ybXNbTVNPV2ViUGFydFBhZ2VGb3JtTmFtZV0uTVNPU1BX
ZWJQYXJ0TWFuYWdlcl9EaXNwbGF5TW9kZU5hbWUudmFsdWU9J0Rlc2lnbic7DQoJ
CQl1cmwrPSJQYWdlVmlldz1TaGFyZWQiOw0KCQkJZG9jdW1lbnQuZm9ybXNbTVNP
V2ViUGFydFBhZ2VGb3JtTmFtZV0uYWN0aW9uPXVybDsNCgkJfQ0KCX0gZWxzZSBp
ZiAoYkV4aXREZXNpZ25Nb2RlICE9bnVsbCAmJiBiRXhpdERlc2lnbk1vZGUpDQoJ
ew0KCQl2YXIgdXJsPWRvY3VtZW50LmZvcm1zW01TT1dlYlBhcnRQYWdlRm9ybU5h
bWVdLmFjdGlvbjsNCgkJdXJsPVJlbW92ZVF1ZXJ5UGFyYW1ldGVyRnJvbVVybCh1
cmwsICJbdFRdW29PXVtbb09dW2xMXVtwUF1bYUFdW25OXVtlRV1bdlZdW2lFXVtl
RV1bd1ddIik7DQoJCXVybD1SZW1vdmVRdWVyeVBhcmFtZXRlckZyb21VcmwodXJs
LCAiW2REXVtpSV1bc1NdW3BQXVtsTF1bYUFdW3lZXVttTV1bb09dW2REXVtlRV0i
KTsNCgkJZG9jdW1lbnQuZm9ybXNbTVNPV2ViUGFydFBhZ2VGb3JtTmFtZV0uTVNP
V2ViUGFydFBhZ2VfU2hhcmVkLnZhbHVlPSIiOw0KCQlkb2N1bWVudC5mb3Jtc1tN
U09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5NU09MYXlvdXRfSW5EZXNpZ25Nb2RlLnZh
bHVlPTA7DQoJCWRvY3VtZW50LmZvcm1zW01TT1dlYlBhcnRQYWdlRm9ybU5hbWVd
Lk1TT1NQV2ViUGFydE1hbmFnZXJfRGlzcGxheU1vZGVOYW1lLnZhbHVlPSdCcm93
c2UnOw0KCQlkb2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5h
Y3Rpb249dXJsOw0KCX0NCglfX2RvUG9zdEJhY2soTVNPV2ViUGFydFBhZ2VGb3Jt
TmFtZSwgJycpOw0KfQ0KZnVuY3Rpb24gTVNPTGF5b3V0X1RvZ2dsZUxheW91dE1v
ZGUoKQ0Kew0KCXZhciBpbkRlc2lnbk1vZGU9ZG9jdW1lbnQuZm9ybXNbTVNPV2Vi
UGFydFBhZ2VGb3JtTmFtZV0uTVNPTGF5b3V0X0luRGVzaWduTW9kZS52YWx1ZTsN
CglpZihpbkRlc2lnbk1vZGUgIT0xKQ0KCXsNCgkJZG9jdW1lbnQuZm9ybXNbTVNP
V2ViUGFydFBhZ2VGb3JtTmFtZV0uTVNPTGF5b3V0X0luRGVzaWduTW9kZS52YWx1
ZT0xOw0KCQlkb2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5N
U09TUFdlYlBhcnRNYW5hZ2VyX0Rpc3BsYXlNb2RlTmFtZS52YWx1ZT0nRGVzaWdu
JzsNCgl9DQoJZWxzZQ0KCXsNCgkJZG9jdW1lbnQuZm9ybXNbTVNPV2ViUGFydFBh
Z2VGb3JtTmFtZV0uTVNPTGF5b3V0X0luRGVzaWduTW9kZS52YWx1ZT0wOw0KCQlk
b2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5NU09TUFdlYlBh
cnRNYW5hZ2VyX0Rpc3BsYXlNb2RlTmFtZS52YWx1ZT0nQnJvd3NlJzsNCgl9DQoJ
X19kb1Bvc3RCYWNrKE1TT1dlYlBhcnRQYWdlRm9ybU5hbWUsICcnKTsNCn0NCmZ1
bmN0aW9uIE1TT0xheW91dF9Ub2dnbGVWaWV3KGJQZXJzb25hbFZpZXcpDQp7DQoJ
dmFyIHVybD1kb2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5h
Y3Rpb247DQoJdXJsPU1TT0xheW91dF9SZW1vdmVRdWVyeVBhcmFtZXRlcnNGcm9t
VXJsKHVybCk7DQoJZG9jdW1lbnQuZm9ybXNbTVNPV2ViUGFydFBhZ2VGb3JtTmFt
ZV0uYWN0aW9uPXVybDsNCglpZihiUGVyc29uYWxWaWV3PT10cnVlKQ0KCXsNCgkJ
ZG9jdW1lbnQuZm9ybXNbTVNPV2ViUGFydFBhZ2VGb3JtTmFtZV0uTVNPV2ViUGFy
dFBhZ2VfU2hhcmVkLnZhbHVlPSJmYWxzZSI7DQoJfQ0KCWVsc2UNCgl7DQoJCWRv
Y3VtZW50LmZvcm1zW01TT1dlYlBhcnRQYWdlRm9ybU5hbWVdLk1TT1dlYlBhcnRQ
YWdlX1NoYXJlZC52YWx1ZT0idHJ1ZSI7DQoJfQ0KCWRvY3VtZW50LmZvcm1zW01T
T1dlYlBhcnRQYWdlRm9ybU5hbWVdLk1TT0xheW91dF9JbkRlc2lnbk1vZGUudmFs
dWU9MDsNCglkb2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5N
U09TUFdlYlBhcnRNYW5hZ2VyX0Rpc3BsYXlNb2RlTmFtZS52YWx1ZT0nQnJvd3Nl
JzsNCglfX2RvUG9zdEJhY2soTVNPV2ViUGFydFBhZ2VGb3JtTmFtZSwgJycpOw0K
fQ0KZnVuY3Rpb24gTVNPTGF5b3V0X1NldHVwTGF5b3V0RmxhZ3MoKQ0Kew0KCU1T
T0xheW91dF9pbkRlc2lnbk1vZGU9dHJ1ZTsNCglNU09MYXlvdXRfdG9wT2JqZWN0
PShkb2N1bWVudC5ib2R5LmFsbC5pdGVtKCdNU09UbFBuX1dlYlBhcnRQYWdlRGl2
JykgIT1udWxsKSA/DQoJCQkJCQkJCWRvY3VtZW50LmJvZHkuYWxsLml0ZW0oJ01T
T1RsUG5fV2ViUGFydFBhZ2VEaXYnKSA6DQoJCQkJCQkJCWRvY3VtZW50LmJvZHk7
DQp9DQpmdW5jdGlvbiBNU09MYXlvdXRfR2V0UmVhbE9mZnNldChTdGFydGluZ09i
amVjdCxPZmZzZXRUeXBlLCBFbmRQYXJlbnQpDQp7DQoJdmFyIHJlYWxWYWx1ZT0w
Ow0KCWlmKCFFbmRQYXJlbnQpIEVuZFBhcmVudD1kb2N1bWVudC5ib2R5Ow0KCWZv
ciAodmFyIGN1cnJlbnRPYmplY3Q9U3RhcnRpbmdPYmplY3Q7IGN1cnJlbnRPYmpl
Y3QgIT1FbmRQYXJlbnQgJiYgY3VycmVudE9iamVjdCAhPWRvY3VtZW50LmJvZHk7
IGN1cnJlbnRPYmplY3Q9Y3VycmVudE9iamVjdC5vZmZzZXRQYXJlbnQpDQoJew0K
CQlyZWFsVmFsdWUrPWV2YWwoJ2N1cnJlbnRPYmplY3Qub2Zmc2V0JytPZmZzZXRU
eXBlKQ0KCX0NCglyZXR1cm4gcmVhbFZhbHVlOw0KfQ0KZnVuY3Rpb24gTVNPTGF5
b3V0X01vdmVXZWJQYXJ0U3RhcnQoWm9uZVRhYmxlQ2VsbCwgV2ViUGFydENhcHRp
b24sIEdhbGxlcnkpDQp7DQoJaWYgKGV2ZW50LmJ1dHRvbiAhPTEpIHJldHVybjsN
CglNU09MYXlvdXRfY3VycmVudERyYWdNb2RlPSdtb3ZlJzsNCglkb2N1bWVudC5z
ZWxlY3Rpb24uZW1wdHkoKTsNCglNU09MYXlvdXRfZ2FsbGVyeVZpZXc9KEdhbGxl
cnk9PXRydWUpID8gdHJ1ZSA6IGZhbHNlOw0KCU1TT0xheW91dF9DcmVhdGVEcmFn
T2JqZWN0KFdlYlBhcnRDYXB0aW9uKTsNCglNU09MYXlvdXRfQ3JlYXRlSUJhcigp
Ow0KCU1TT0xheW91dF9vRHJvcExvY2F0aW9uPVpvbmVUYWJsZUNlbGw7DQoJTVNP
TGF5b3V0X21haW50YWluT3JpZ2luYWxab25lPShab25lVGFibGVDZWxsLmFsbG93
Wm9uZUNoYW5nZT09JzAnKSA/IE1TT0xheW91dF9HZXRQYXJlbnRUYWJsZShab25l
VGFibGVDZWxsKSA6ICcwJzsNCglpZiAoTVNPTGF5b3V0X2dhbGxlcnlWaWV3ICYm
IFpvbmVUYWJsZUNlbGwuZHpjICE9bnVsbCkNCgl7DQoJCXZhciB6b25lcz1kb2N1
bWVudC5hbGxbJ01TT1pvbmUnXTsNCgkJaWYgKHpvbmVzICE9bnVsbCAmJiB6b25l
cy5sZW5ndGggPiAxKQ0KCQl7DQoJCQlmb3IgKGk9MDsgaTx6b25lcy5sZW5ndGg7
IGkrKykNCgkJCQlpZiAoem9uZXNbaV0uem9uZUlEPT1ab25lVGFibGVDZWxsLnpv
bmVpZCkNCgkJCQl7DQoJCQkJCU1TT0xheW91dF9tYWludGFpbk9yaWdpbmFsWm9u
ZT16b25lc1tpXTsNCgkJCQkJYnJlYWs7DQoJCQkJfQ0KCQl9DQoJfQ0KCU1TT0xh
eW91dF9pQmFyLmdvb2REcm9wPSdmYWxzZSc7DQoJdmFyIHpvbmU9TVNPTGF5b3V0
X0dldFBhcmVudFRhYmxlKFpvbmVUYWJsZUNlbGwpOw0KCWlmKHpvbmUuaWQ9PSdN
U09ab25lJykNCgl7DQoJCU1TT0xheW91dF96b25lRHJhZ092ZXI9em9uZTsNCgkJ
TVNPTGF5b3V0X3pvbmVEcmFnT3Zlci5jbGFzc05hbWU9Im1zLVNQWm9uZVNlbGVj
dGVkIjsNCgl9DQoJaWYoIU1TT0xheW91dF9nYWxsZXJ5VmlldykNCgl7DQoJCU1T
T0xheW91dF9Nb3ZlSUJhcihab25lVGFibGVDZWxsKTsNCgl9DQoJZG9jdW1lbnQu
Ym9keS5hdHRhY2hFdmVudCgnb25kcmFnb3ZlcicsIE1TT0xheW91dF9Nb3ZlV2Vi
UGFydEJvZHlEcmFnT3Zlcik7DQoJdmFyIG9sZERyYWdFbmQ9ZG9jdW1lbnQuYm9k
eS5vbmRyYWdlbmQ7DQoJdmFyIG9sZERyb3A9ZG9jdW1lbnQuYm9keS5vbmRyb3A7
DQoJZG9jdW1lbnQuYm9keS5vbmRyYWdlbmQ9bmV3IEZ1bmN0aW9uKCJ3aW5kb3cu
ZXZlbnQucmV0dXJuVmFsdWU9ZmFsc2U7Iik7DQoJZG9jdW1lbnQuYm9keS5vbmRy
b3A9bmV3IEZ1bmN0aW9uKCJNU09MYXlvdXRfaUJhci5nb29kRHJvcD0ndHJ1ZSc7
Iik7DQoJWm9uZVRhYmxlQ2VsbC5vbmRyYWdzdGFydD1uZXcgRnVuY3Rpb24oInRy
eSB7ZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQ9J21vdmUnO30gY2F0
Y2ggKGV4Y2VwdGlvbikge30iKTsNCglab25lVGFibGVDZWxsLmF0dGFjaEV2ZW50
KCJvbmRyYWciLE1TT0xheW91dF9Nb3ZlRHJhZ09iamVjdCk7DQoJWm9uZVRhYmxl
Q2VsbC5kcmFnRHJvcCgpOw0KCWRvY3VtZW50LmJvZHkuZGV0YWNoRXZlbnQoJ29u
ZHJhZ292ZXInLCBNU09MYXlvdXRfTW92ZVdlYlBhcnRCb2R5RHJhZ092ZXIpOw0K
CWRvY3VtZW50LmJvZHkub25kcmFnZW5kPW9sZERyYWdFbmQ7DQoJZG9jdW1lbnQu
Ym9keS5vbmRyb3A9b2xkRHJvcDsNCglab25lVGFibGVDZWxsLmRldGFjaEV2ZW50
KCJvbmRyYWciLE1TT0xheW91dF9Nb3ZlRHJhZ09iamVjdCk7DQoJTVNPTGF5b3V0
X21vdmVPYmplY3Quc3R5bGUuZGlzcGxheT0nbm9uZSc7DQoJTVNPTGF5b3V0X2N1
cnJlbnREcmFnTW9kZT0wOw0KCWlmKG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dl
ckNhc2UoKS5pbmRleE9mKCJtc2llIDUuNSIpICE9LTEpDQoJew0KCQlab25lVGFi
bGVDZWxsLnN3YXBOb2RlKFpvbmVUYWJsZUNlbGwpOw0KCX0NCglldmVudC5yZXR1
cm5WYWx1ZT1mYWxzZTsNCn0NCmZ1bmN0aW9uIE1TT0xheW91dF9Nb3ZlV2ViUGFy
dERyYWdab25lRW50ZXIoWm9uZVRhYmxlKQ0Kew0KCWlmKE1TT0xheW91dF9jdXJy
ZW50RHJhZ01vZGUgIT0nbW92ZScpIHJldHVybjsNCglpZihab25lVGFibGUgIT1N
U09MYXlvdXRfem9uZURyYWdPdmVyKQ0KCXsNCgkJTVNPTGF5b3V0X3pvbmVEcmFn
T3Zlci5jbGFzc05hbWU9J21zLVNQWm9uZSc7DQoJCU1TT0xheW91dF96b25lRHJh
Z092ZXI9Wm9uZVRhYmxlOw0KCQlldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVj
dD0nbW92ZSc7DQoJfQ0KCU1TT0xheW91dF9Nb3ZlV2ViUGFydFN0b3BFdmVudEJ1
YmJsZSgpDQp9DQpmdW5jdGlvbiBNU09MYXlvdXRfTW92ZVdlYlBhcnREcmFnRW50
ZXIoWm9uZVRhYmxlQ2VsbCkNCnsNCglpZihNU09MYXlvdXRfY3VycmVudERyYWdN
b2RlICE9J21vdmUnKSByZXR1cm47DQoJZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BF
ZmZlY3Q9J21vdmUnOw0KCU1TT0xheW91dF9jZWxsVG9Ecm9wPVpvbmVUYWJsZUNl
bGwuY2VsbEluZGV4Ow0KCU1TT0xheW91dF9yb3dUb0Ryb3A9TVNPTGF5b3V0X0dl
dFBhcmVudFJvdyhab25lVGFibGVDZWxsKS5yb3dJbmRleDsNCn0NCmZ1bmN0aW9u
IE1TT0xheW91dF9Nb3ZlV2ViUGFydERyYWdPdmVyKFpvbmVUYWJsZUNlbGwsTmVl
ZHNTZXR1cCkNCnsNCglpZihNU09MYXlvdXRfY3VycmVudERyYWdNb2RlICE9J21v
dmUnKSByZXR1cm47DQoJZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Q9J21v
dmUnOw0KCXZhciBuZWVkU2V0dXA9KE5lZWRzU2V0dXA9PSJUcnVlIik/IHRydWU6
ZmFsc2U7DQoJTVNPTGF5b3V0X1NldHVwRHJvcExvY2F0aW9uKFpvbmVUYWJsZUNl
bGwsIG5lZWRTZXR1cCk7DQoJTVNPTGF5b3V0X29Ecm9wTG9jYXRpb249TVNPTGF5
b3V0X3pvbmVEcmFnT3Zlci5yb3dzW01TT0xheW91dF9yb3dUb0Ryb3BdLmNlbGxz
W01TT0xheW91dF9jZWxsVG9Ecm9wXTsNCglNU09MYXlvdXRfTW92ZUlCYXIoTVNP
TGF5b3V0X29Ecm9wTG9jYXRpb24pOw0KCWlmKE1TT0xheW91dF9nYWxsZXJ5Vmll
dyAmJiBNU09MYXlvdXRfbWFpbnRhaW5PcmlnaW5hbFpvbmU9PScwJykgTVNPTGF5
b3V0X1VwZGF0ZVpvbmVEcm9wRG93bigpOw0KCU1TT0xheW91dF9Nb3ZlV2ViUGFy
dFN0b3BFdmVudEJ1YmJsZSgpDQp9DQpmdW5jdGlvbiBNU09MYXlvdXRfTW92ZVdl
YlBhcnRCb2R5RHJhZ092ZXIoKQ0Kew0KCWlmKE1TT0xheW91dF9jdXJyZW50RHJh
Z01vZGUgIT0nbW92ZScpIHJldHVybjsNCglldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdD0nbm9uZSc7DQoJTVNPTGF5b3V0X2lCYXIuc3R5bGUuZGlzcGxheT0n
bm9uZSc7DQoJaWYoTVNPTGF5b3V0X3pvbmVEcmFnT3Zlci5jbGFzc05hbWUgIT0n
bXMtU1Bab25lJykgTVNPTGF5b3V0X3pvbmVEcmFnT3Zlci5jbGFzc05hbWU9J21z
LVNQWm9uZSc7DQoJd2luZG93LmV2ZW50LnJldHVyblZhbHVlPWZhbHNlOw0KfQ0K
ZnVuY3Rpb24gTVNPTGF5b3V0X01vdmVXZWJQYXJ0U3RvcEV2ZW50QnViYmxlKCkN
CnsNCglpZihNU09MYXlvdXRfY3VycmVudERyYWdNb2RlICE9J21vdmUnIHx8IE1T
T0xheW91dF9pQmFyLnN0eWxlLmRpc3BsYXk9PSdub25lJykgIHJldHVybjsNCgl3
aW5kb3cuZXZlbnQucmV0dXJuVmFsdWU9ZmFsc2U7DQoJd2luZG93LmV2ZW50LmNh
bmNlbEJ1YmJsZT10cnVlOw0KfQ0KZnVuY3Rpb24gTVNPTGF5b3V0X01vdmVXZWJQ
YXJ0KE9yaWdpbmFsVGFibGVDZWxsLERlc3RpbmF0aW9uVGFibGVDZWxsKQ0Kew0K
CU1TT0xheW91dF9pQmFyLnN0eWxlLmRpc3BsYXk9J25vbmUnOw0KCU1TT0xheW91
dF96b25lRHJhZ092ZXIuY2xhc3NOYW1lPSdtcy1TUFpvbmUnOw0KCWlmKE1TT0xh
eW91dF9jdXJyZW50RHJhZ01vZGUgIT0nbW92ZScNCgkJfHwgTVNPTGF5b3V0X2lC
YXIuZ29vZERyb3AgIT0ndHJ1ZScNCgkJfHwgT3JpZ2luYWxUYWJsZUNlbGw9PURl
c3RpbmF0aW9uVGFibGVDZWxsKSByZXR1cm47DQoJdmFyIG5ld1RhYmxlQ2VsbDsJ
CQkJCQkJCQkNCgl2YXIgb3JpZ2luYWxab25lPU1TT0xheW91dF9HZXRQYXJlbnRU
YWJsZShPcmlnaW5hbFRhYmxlQ2VsbCk7CQ0KCXZhciBvcmlnaW5hbEluZGV4PShP
cmlnaW5hbFRhYmxlQ2VsbC5vcmllbnRhdGlvbj09J0hvcml6b250YWwnKSA/IE9y
aWdpbmFsVGFibGVDZWxsLmNlbGxJbmRleCA6IE9yaWdpbmFsVGFibGVDZWxsLnBh
cmVudEVsZW1lbnQucm93SW5kZXg7DQoJdmFyIGRlc3RpbmF0aW9uWm9uZTsJCQkJ
CQkJCQkNCgl2YXIgZGVzdGluYXRpb25JbmRleDsJCQkJCQkJCQkNCglkZXN0aW5h
dGlvblpvbmU9TVNPTGF5b3V0X0dldFBhcmVudFRhYmxlKERlc3RpbmF0aW9uVGFi
bGVDZWxsKTsNCgl2YXIgem9uZXNDaGFuZ2VkPShkZXN0aW5hdGlvblpvbmUgIT1v
cmlnaW5hbFpvbmUpOw0KCWlmKERlc3RpbmF0aW9uVGFibGVDZWxsLm9yaWVudGF0
aW9uPT0nSG9yaXpvbnRhbCcpDQoJew0KCQlkZXN0aW5hdGlvbkluZGV4PURlc3Rp
bmF0aW9uVGFibGVDZWxsLmNlbGxJbmRleDsNCgkJbmV3VGFibGVDZWxsPU1TT0xh
eW91dF9HZXRQYXJlbnRSb3coRGVzdGluYXRpb25UYWJsZUNlbGwpLmluc2VydENl
bGwoZGVzdGluYXRpb25JbmRleCk7DQoJfQ0KCWVsc2UNCgl7DQoJCWRlc3RpbmF0
aW9uSW5kZXg9RGVzdGluYXRpb25UYWJsZUNlbGwucGFyZW50RWxlbWVudC5yb3dJ
bmRleDsNCgkJbmV3VGFibGVDZWxsPWRlc3RpbmF0aW9uWm9uZS5pbnNlcnRSb3co
TVNPTGF5b3V0X0dldFBhcmVudFJvdyhEZXN0aW5hdGlvblRhYmxlQ2VsbCkucm93
SW5kZXgpLmluc2VydENlbGwoKTsNCgl9DQoJbmV3VGFibGVDZWxsLnN3YXBOb2Rl
KE9yaWdpbmFsVGFibGVDZWxsKTsNCglpZihPcmlnaW5hbFRhYmxlQ2VsbC5vcmll
bnRhdGlvbj09J0hvcml6b250YWwnKSBuZXdUYWJsZUNlbGwucmVtb3ZlTm9kZSh0
cnVlKTsNCgllbHNlIE1TT0xheW91dF9HZXRQYXJlbnRSb3cobmV3VGFibGVDZWxs
KS5yZW1vdmVOb2RlKHRydWUpOw0KCU9yaWdpbmFsVGFibGVDZWxsLm9yaWVudGF0
aW9uPURlc3RpbmF0aW9uVGFibGVDZWxsLm9yaWVudGF0aW9uOw0KCWlmKHpvbmVz
Q2hhbmdlZCkNCgl7DQoJCXZhciBvcmlnaW5hbEVtcHR5Wm9uZVRleHQ9b3JpZ2lu
YWxab25lLmFsbC5pdGVtKCdNU09ab25lQ2VsbF9lbXB0eVpvbmVUZXh0Jyk7DQoJ
CXZhciBkZXN0aW5hdGlvbkVtcHR5Wm9uZVRleHQ9ZGVzdGluYXRpb25ab25lLmFs
bC5pdGVtKCdNU09ab25lQ2VsbF9lbXB0eVpvbmVUZXh0JykNCgkJaWYob3JpZ2lu
YWxFbXB0eVpvbmVUZXh0ICE9bnVsbCkNCgkJew0KCQkJb3JpZ2luYWxFbXB0eVpv
bmVUZXh0LndlYlBhcnRzSW5ab25lLS07DQoJCQlpZihvcmlnaW5hbEVtcHR5Wm9u
ZVRleHQud2ViUGFydHNJblpvbmU9PTApDQoJCQl7DQoJCQkJb3JpZ2luYWxFbXB0
eVpvbmVUZXh0LnN0eWxlLmRpc3BsYXk9Jyc7DQoJCQkJb3JpZ2luYWxFbXB0eVpv
bmVUZXh0LnBhcmVudEVsZW1lbnQuc3R5bGUucGFkZGluZz0nJzsNCgkJCX0NCgkJ
fQ0KCQlpZihkZXN0aW5hdGlvbkVtcHR5Wm9uZVRleHQgIT1udWxsKQ0KCQl7DQoJ
CQlkZXN0aW5hdGlvbkVtcHR5Wm9uZVRleHQud2ViUGFydHNJblpvbmUrKzsNCgkJ
CWRlc3RpbmF0aW9uRW1wdHlab25lVGV4dC5zdHlsZS5kaXNwbGF5PSdub25lJzsN
CgkJCWRlc3RpbmF0aW9uRW1wdHlab25lVGV4dC5wYXJlbnRFbGVtZW50LnN0eWxl
LnBhZGRpbmc9JzAnOw0KCQl9DQoJfQ0KCWlmKHpvbmVzQ2hhbmdlZCB8fCAoZGVz
dGluYXRpb25JbmRleCAhPW9yaWdpbmFsSW5kZXggJiYgZGVzdGluYXRpb25JbmRl
eCAhPW9yaWdpbmFsSW5kZXgrMSkpDQoJew0KCQlpZihvcmlnaW5hbFpvbmUgIT1k
ZXN0aW5hdGlvblpvbmUpDQoJCXsNCgkJCU1TT0xheW91dF9BZGRDaGFuZ2UoZXZh
bChPcmlnaW5hbFRhYmxlQ2VsbC5yZWxhdGVkV2ViUGFydCksICJab25lIiwgZGVz
dGluYXRpb25ab25lLnpvbmVJRCk7DQoJCQlNU09MYXlvdXRfVXBkYXRlUGFydE9y
ZGVyQWZ0ZXJNb3ZlKG9yaWdpbmFsWm9uZSwgMCk7DQoJCX0NCgkJTVNPTGF5b3V0
X1VwZGF0ZVBhcnRPcmRlckFmdGVyTW92ZShkZXN0aW5hdGlvblpvbmUsIDApOw0K
CX0NCn0NCmZ1bmN0aW9uIE1TT0xheW91dF9VcGRhdGVQYXJ0T3JkZXJBZnRlck1v
dmUoWm9uZSwgU3RhcnRpbmdJbmRleCkNCnsNCgl2YXIgaW5kZXg7DQoJaWYoWm9u
ZS5vcmllbnRhdGlvbj09J0hvcml6b250YWwnKQ0KCXsNCgkJdmFyIHBhcmVudFJv
dz1ab25lLnJvd3NbMF07DQoJCWZvcihpbmRleD1TdGFydGluZ0luZGV4OyBpbmRl
eCA8IHBhcmVudFJvdy5jZWxscy5sZW5ndGg7IGluZGV4KyspDQoJCXsNCgkJCU1T
T0xheW91dF9BZGRDaGFuZ2UoZXZhbChwYXJlbnRSb3cuY2VsbHNbaW5kZXhdLnJl
bGF0ZWRXZWJQYXJ0KSwgIlpvbmVJbmRleCIsIGluZGV4KTsNCgkJfQ0KCX0NCgll
bHNlDQoJew0KCQlmb3IoaW5kZXg9U3RhcnRpbmdJbmRleDsgaW5kZXggPCBab25l
LnJvd3MubGVuZ3RoOyBpbmRleCsrKQ0KCQl7DQoJCQlNU09MYXlvdXRfQWRkQ2hh
bmdlKGV2YWwoWm9uZS5yb3dzW2luZGV4XS5jZWxsc1swXS5yZWxhdGVkV2ViUGFy
dCksICJab25lSW5kZXgiLCBpbmRleCk7DQoJCX0NCgl9DQp9DQpmdW5jdGlvbiBN
U09MYXlvdXRfQ3JlYXRlRHJhZ09iamVjdChXZWJQYXJ0VGl0bGUpDQp7CQ0KCXZh
ciB0aXRsZVRleHQ7DQoJaWYoIU1TT0xheW91dF9tb3ZlT2JqZWN0KQ0KCXsNCgkJ
TVNPTGF5b3V0X21vdmVPYmplY3Q9ZG9jdW1lbnQuYm9keS5pbnNlcnRBZGphY2Vu
dEVsZW1lbnQoImFmdGVyQmVnaW4iLCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdE
SVYnKSk7DQoJCU1TT0xheW91dF9tb3ZlT2JqZWN0LmNsYXNzTmFtZT0nVXNlckNl
bGxTZWxlY3RlZCc7DQoJCU1TT0xheW91dF9tb3ZlT2JqZWN0LnN0eWxlLmNzc1Rl
eHQ9ImZvbnQtc2l6ZTo4cHQ7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlk
ZGVuO2Rpc3BsYXk6bm9uZTt6LWluZGV4OjEwMCI7DQoJCU1TT0xheW91dF9tb3Zl
T2JqZWN0LnN0eWxlLmZpbHRlcj0icHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWlj
cm9zb2Z0LkFscGhhKG9wYWNpdHk9NzUpIjsNCgkJdGl0bGVUZXh0PU1TT0xheW91
dF9tb3ZlT2JqZWN0Lmluc2VydEJlZm9yZShkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdOT0JSJykpOw0KCQl0aXRsZVRleHQuc3R5bGUuY3NzVGV4dD0icGFkZGluZy10
b3A6MnB4O3dpZHRoOjE0N3B4O2hlaWdodDoxLjVlbTtvdmVyZmxvdzpoaWRkZW47
dGV4dC1vdmVyZmxvdzplbGxpcHNpcyI7DQoJfQ0KCWVsc2UgdGl0bGVUZXh0PU1T
T0xheW91dF9tb3ZlT2JqZWN0LmNoaWxkcmVuKDApOw0KCXRpdGxlVGV4dC5pbm5l
clRleHQ9V2ViUGFydFRpdGxlOw0KfQ0KZnVuY3Rpb24gTVNPTGF5b3V0X01vdmVE
cmFnT2JqZWN0KCkNCnsNCglpZihNU09MYXlvdXRfY3VycmVudERyYWdNb2RlICE9
J21vdmUnKSByZXR1cm47DQoJaWYoTVNPTGF5b3V0X21vdmVPYmplY3Quc3R5bGUu
ZGlzcGxheT09J25vbmUnKSBNU09MYXlvdXRfbW92ZU9iamVjdC5zdHlsZS5kaXNw
bGF5PScnOw0KCWlmKE1TT0xheW91dF9tb3ZlT2JqZWN0LnN0eWxlLndpZHRoPT0n
JykNCgl7DQoJCU1TT0xheW91dF9tb3ZlT2JqZWN0LnJlYWxXaWR0aD1NU09MYXlv
dXRfbW92ZU9iamVjdC5vZmZzZXRXaWR0aDsNCgkJTVNPTGF5b3V0X21vdmVPYmpl
Y3QucmVhbEhlaWdodD1NU09MYXlvdXRfbW92ZU9iamVjdC5vZmZzZXRIZWlnaHQ7
DQoJfQ0KCXZhciBuZXdXaWR0aD1NU09MYXlvdXRfbW92ZU9iamVjdC5yZWFsV2lk
dGg7DQoJdmFyIG5ld0hlaWdodD1NU09MYXlvdXRfbW92ZU9iamVjdC5yZWFsSGVp
Z2h0Ow0KCXZhciBuZXdMZWZ0PWV2ZW50LmNsaWVudFgrZG9jdW1lbnQuYm9keS5z
Y3JvbGxMZWZ0IC0gKG5ld1dpZHRoIC8gMik7DQoJdmFyIG5ld1RvcD1ldmVudC5j
bGllbnRZK2RvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKzE7DQoJaWYobmV3TGVmdCtu
ZXdXaWR0aCA+IGRvY3VtZW50LmJvZHkuc2Nyb2xsV2lkdGgpIG5ld1dpZHRoIC09
KG5ld0xlZnQrbmV3V2lkdGggLSBkb2N1bWVudC5ib2R5LnNjcm9sbFdpZHRoKTsN
CglpZihuZXdUb3ArbmV3SGVpZ2h0ID4gZG9jdW1lbnQuYm9keS5zY3JvbGxIZWln
aHQpIG5ld0hlaWdodCAtPShuZXdUb3ArbmV3SGVpZ2h0IC0gZG9jdW1lbnQuYm9k
eS5zY3JvbGxIZWlnaHQpOw0KCWlmKG5ld0hlaWdodCA8PTAgfHwgbmV3V2lkdGgg
PD0wKQ0KCXsNCgkJTVNPTGF5b3V0X21vdmVPYmplY3Quc3R5bGUuZGlzcGxheT0n
bm9uZSc7DQoJCW5ld1dpZHRoPW5ld0hlaWdodD0wOw0KCX0NCgllbHNlIE1TT0xh
eW91dF9tb3ZlT2JqZWN0LnN0eWxlLmRpc3BsYXk9Jyc7DQoJTVNPTGF5b3V0X21v
dmVPYmplY3Quc3R5bGUud2lkdGg9bmV3V2lkdGg7DQoJTVNPTGF5b3V0X21vdmVP
YmplY3Quc3R5bGUuaGVpZ2h0PW5ld0hlaWdodDsNCglNU09MYXlvdXRfbW92ZU9i
amVjdC5zdHlsZS5waXhlbExlZnQ9bmV3TGVmdDsNCglNU09MYXlvdXRfbW92ZU9i
amVjdC5zdHlsZS5waXhlbFRvcD1uZXdUb3A7DQp9DQpmdW5jdGlvbiBNU09MYXlv
dXRfQ3JlYXRlSUJhcigpDQp7DQoJaWYoIU1TT0xheW91dF92ZXJ0Wm9uZUlCYXIg
fHwgIU1TT0xheW91dF9ob3J6Wm9uZUlCYXIpDQoJew0KCQl2YXIgaUJhckJ1aWxk
ZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnVEFCTEUnKTsNCgkJaUJhckJ1aWxk
ZXIuc3R5bGUuY3NzVGV4dD0iZm9udC1zaXplOjFwdDsgcG9zaXRpb246YWJzb2x1
dGU7IGRpc3BsYXk6bm9uZTsgYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlIjsNCgkJ
aUJhckJ1aWxkZXIuY2xhc3NOYW1lPSdtcy1TUFpvbmVJQmFyJzsNCgkJaUJhckJ1
aWxkZXIuY2VsbFNwYWNpbmc9JzAnOw0KCQlpQmFyQnVpbGRlci5jZWxsUGFkZGlu
Zz0nMCc7DQoJCWlCYXJCdWlsZGVyLmF0dGFjaEV2ZW50KCdvbmRyYWdlbnRlcics
IE1TT0xheW91dF9Nb3ZlV2ViUGFydFN0b3BFdmVudEJ1YmJsZSk7DQoJCWlCYXJC
dWlsZGVyLmF0dGFjaEV2ZW50KCdvbmRyYWdvdmVyJywgTVNPTGF5b3V0X01vdmVX
ZWJQYXJ0U3RvcEV2ZW50QnViYmxlKTsNCgkJdmFyIGluc2lkZUlCYXJDZWxsPWlC
YXJCdWlsZGVyLmluc2VydFJvdygpLmluc2VydENlbGwoKTsNCgkJaW5zaWRlSUJh
ckNlbGwuYWxpZ249J2NlbnRlcic7DQoJCXZhciBpbnNpZGVJQmFyPWluc2lkZUlC
YXJDZWxsLmluc2VydEJlZm9yZShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdESVYn
KSk7DQoJCWluc2lkZUlCYXIuaWQ9Ik1TT0xheW91dF9pbnNpZGVJQmFyIjsNCgkJ
aW5zaWRlSUJhci5jbGFzc05hbWU9J21zLVNQWm9uZUlCYXInOw0KCQlpbnNpZGVJ
QmFyLnN0eWxlLmJhY2tncm91bmRDb2xvcj1pQmFyQnVpbGRlci5jdXJyZW50U3R5
bGUuYm9yZGVyQ29sb3I7DQoJCWluc2lkZUlCYXIuc3R5bGUuYmFja2dyb3VuZD0i
dHJhbnNwYXJlbnQiOw0KCQlpbnNpZGVJQmFyLnN0eWxlLmJvcmRlcldpZHRoPSIy
cHgiOw0KCQlpbnNpZGVJQmFyLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSI7CQkN
CgkJTVNPTGF5b3V0X2hvcnpab25lSUJhcj1NU09MYXlvdXRfdG9wT2JqZWN0LmFw
cGVuZENoaWxkKGlCYXJCdWlsZGVyLmNsb25lTm9kZSh0cnVlKSk7DQoJCU1TT0xh
eW91dF92ZXJ0Wm9uZUlCYXI9TVNPTGF5b3V0X3RvcE9iamVjdC5hcHBlbmRDaGls
ZChpQmFyQnVpbGRlci5jbG9uZU5vZGUodHJ1ZSkpOw0KCQl2YXIgaW5zaWRlSG9y
eklCYXI9TVNPTGF5b3V0X2hvcnpab25lSUJhci5hbGxbIk1TT0xheW91dF9pbnNp
ZGVJQmFyIl07DQoJCXZhciBpbnNpZGVWZXJ0SUJhcj1NU09MYXlvdXRfdmVydFpv
bmVJQmFyLmFsbFsiTVNPTGF5b3V0X2luc2lkZUlCYXIiXTsNCgkJTVNPTGF5b3V0
X2hvcnpab25lSUJhci5zdHlsZS53aWR0aD02Ow0KCQlNU09MYXlvdXRfaG9yelpv
bmVJQmFyLnN0eWxlLmJvcmRlclN0eWxlPSJzb2xpZCBub25lIjsNCgkJaW5zaWRl
SG9yeklCYXIuc3R5bGUuaGVpZ2h0PScxMDAlJzsNCgkJaW5zaWRlSG9yeklCYXIu
c3R5bGUud2lkdGg9JzMzJSc7DQoJCWluc2lkZUhvcnpJQmFyLnN0eWxlLmJvcmRl
clN0eWxlPSJub25lIHNvbGlkIG5vbmUgbm9uZSI7DQoJCWluc2lkZUhvcnpJQmFy
LnN0eWxlLnBvc1RvcD0wOw0KCQlNU09MYXlvdXRfdmVydFpvbmVJQmFyLnN0eWxl
LmhlaWdodD02Ow0KCQlNU09MYXlvdXRfdmVydFpvbmVJQmFyLnN0eWxlLmJvcmRl
clN0eWxlPSJub25lIHNvbGlkIjsNCgkJaW5zaWRlVmVydElCYXIuc3R5bGUud2lk
dGg9JzEwMCUnOw0KCQlpbnNpZGVWZXJ0SUJhci5zdHlsZS5oZWlnaHQ9JzInOw0K
CQlpbnNpZGVWZXJ0SUJhci5zdHlsZS5ib3JkZXJTdHlsZT0ic29saWQgbm9uZSBu
b25lIG5vbmUiOw0KCQlpbnNpZGVWZXJ0SUJhci5zdHlsZS5wb3NUb3A9MTsNCgkJ
aWYoTVNPTGF5b3V0X3RvcE9iamVjdCAhPWRvY3VtZW50LmJvZHkpDQoJCXsNCgkJ
CU1TT0xheW91dF9ob3J6Qm9keVpvbmVJQmFyPWRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoTVNPTGF5b3V0X2hvcnpab25lSUJhci5jbG9uZU5vZGUodHJ1ZSkpOw0K
CQkJTVNPTGF5b3V0X3ZlcnRCb2R5Wm9uZUlCYXI9ZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChNU09MYXlvdXRfdmVydFpvbmVJQmFyLmNsb25lTm9kZSh0cnVlKSk7
DQoJCX0NCgl9DQoJTVNPTGF5b3V0X2lCYXI9TVNPTGF5b3V0X3ZlcnRab25lSUJh
cjsNCn0NCmZ1bmN0aW9uIE1TT0xheW91dF9Nb3ZlSUJhcihab25lVGFibGVDZWxs
KQ0Kew0KCWlmKE1TT0xheW91dF9pQmFyKSBNU09MYXlvdXRfaUJhci5zdHlsZS5k
aXNwbGF5PSdub25lJzsNCgl2YXIgaW5zaWRlTGF5b3V0RGl2PU1TT0xheW91dF90
b3BPYmplY3QuY29udGFpbnMoWm9uZVRhYmxlQ2VsbCk7DQoJaWYoTVNPTGF5b3V0
X21haW50YWluT3JpZ2luYWxab25lPT0nMCcgfHwgTVNPTGF5b3V0X0dldFBhcmVu
dFRhYmxlKFpvbmVUYWJsZUNlbGwpPT1NU09MYXlvdXRfbWFpbnRhaW5PcmlnaW5h
bFpvbmUpDQoJew0KCQl2YXIgaW5zaWRlSUJhcjsNCgkJaWYoWm9uZVRhYmxlQ2Vs
bC5vcmllbnRhdGlvbj09J0hvcml6b250YWwnKQ0KCQl7DQoJCQl2YXIgcmlnaHRP
ZmZzZXQ9KChkb2N1bWVudC5kaXI9PSJydGwiKSA/IFpvbmVUYWJsZUNlbGwub2Zm
c2V0V2lkdGggLSAoKFpvbmVUYWJsZUNlbGwuY2VsbEluZGV4PT0wKSA/IDMgOiAw
KSA6IDApOw0KCQkJTVNPTGF5b3V0X2lCYXI9KGluc2lkZUxheW91dERpdikgPyBN
U09MYXlvdXRfaUJhcj1NU09MYXlvdXRfaG9yelpvbmVJQmFyIDogTVNPTGF5b3V0
X2hvcnpCb2R5Wm9uZUlCYXI7DQoJCQlpbnNpZGVJQmFyPU1TT0xheW91dF9pQmFy
LmFsbFsiTVNPTGF5b3V0X2luc2lkZUlCYXIiXTsNCgkJCU1TT0xheW91dF9pQmFy
LnN0eWxlLnBpeGVsTGVmdD1NU09MYXlvdXRfR2V0UmVhbE9mZnNldChab25lVGFi
bGVDZWxsLCAnTGVmdCcsIE1TT0xheW91dF90b3BPYmplY3QpIC0gKChab25lVGFi
bGVDZWxsLmNlbGxJbmRleD09MCkgPyAwIDogMyk7DQoJCQlNU09MYXlvdXRfaUJh
ci5zdHlsZS5waXhlbExlZnQrPXJpZ2h0T2Zmc2V0Ow0KCQkJTVNPTGF5b3V0X2lC
YXIuc3R5bGUucGl4ZWxUb3A9TVNPTGF5b3V0X0dldFJlYWxPZmZzZXQoTVNPTGF5
b3V0X3pvbmVEcmFnT3ZlciwgJ1RvcCcsIE1TT0xheW91dF90b3BPYmplY3QpKzE7
DQoJCQlNU09MYXlvdXRfaUJhci5zdHlsZS5oZWlnaHQ9TVNPTGF5b3V0X3pvbmVE
cmFnT3Zlci5jbGllbnRIZWlnaHQ7DQoJCQlpZihab25lVGFibGVDZWxsLmlkPT0i
TVNPWm9uZV9FbXB0eVpvbmVDZWxsIikNCgkJCXsNCgkJCQl2YXIgZW1wdHlab25l
VGV4dD1ab25lVGFibGVDZWxsLmFsbC5pdGVtKCdNU09ab25lQ2VsbF9lbXB0eVpv
bmVUZXh0Jyk7DQoJCQkJaWYoZW1wdHlab25lVGV4dCAhPW51bGwgJiYgZW1wdHla
b25lVGV4dC53ZWJQYXJ0c0luWm9uZSA+IDApDQoJCQkJew0KCQkJCQlNU09MYXlv
dXRfaUJhci5zdHlsZS5waXhlbExlZnQgLT0zOw0KCQkJCX0NCgkJCX0NCgkJfQ0K
CQllbHNlDQoJCXsNCgkJCU1TT0xheW91dF9pQmFyPShpbnNpZGVMYXlvdXREaXYp
ID8gTVNPTGF5b3V0X3ZlcnRab25lSUJhciA6IE1TT0xheW91dF92ZXJ0Qm9keVpv
bmVJQmFyOw0KCQkJaW5zaWRlSUJhcj1NU09MYXlvdXRfaUJhci5hbGxbIk1TT0xh
eW91dF9pbnNpZGVJQmFyIl07DQoJCQlNU09MYXlvdXRfaUJhci5zdHlsZS5waXhl
bExlZnQ9TVNPTGF5b3V0X0dldFJlYWxPZmZzZXQoTVNPTGF5b3V0X3pvbmVEcmFn
T3ZlciwgJ0xlZnQnLCBNU09MYXlvdXRfdG9wT2JqZWN0KSsxOw0KCQkJTVNPTGF5
b3V0X2lCYXIuc3R5bGUucGl4ZWxUb3A9TVNPTGF5b3V0X0dldFJlYWxPZmZzZXQo
Wm9uZVRhYmxlQ2VsbCwgJ1RvcCcsIE1TT0xheW91dF90b3BPYmplY3QpIC0gKChN
U09MYXlvdXRfR2V0UGFyZW50Um93KFpvbmVUYWJsZUNlbGwpLnJvd0luZGV4PT0w
KSA/IDAgOiA0KTsNCgkJCU1TT0xheW91dF9pQmFyLnN0eWxlLndpZHRoPU1TT0xh
eW91dF96b25lRHJhZ092ZXIuY2xpZW50V2lkdGg7DQoJCQlpZihab25lVGFibGVD
ZWxsLmlkPT0iTVNPWm9uZV9FbXB0eVpvbmVDZWxsIikNCgkJCXsNCgkJCQlNU09M
YXlvdXRfaUJhci5zdHlsZS5waXhlbFRvcCAtPTE7DQoJCQl9DQoJCX0NCgkJaWYo
TVNPTGF5b3V0X3pvbmVEcmFnT3Zlci5jbGFzc05hbWUgIT0nbXMtU1Bab25lU2Vs
ZWN0ZWQnKSBNU09MYXlvdXRfem9uZURyYWdPdmVyLmNsYXNzTmFtZT0nbXMtU1Ba
b25lU2VsZWN0ZWQnOw0KCQlNU09MYXlvdXRfaUJhci5zdHlsZS5kaXNwbGF5PSdp
bmxpbmUnOw0KCX0NCn0NCmZ1bmN0aW9uIE1TT0xheW91dF9VcGRhdGVab25lRHJv
cERvd24oKQ0Kew0KCXZhciBkcm9wZD1kb2N1bWVudC5hbGxbem9uZUNob29zZXJJ
RF07DQoJaWYoZHJvcGQgIT1udWxsKQ0KCXsNCgkJZm9yIChpPTA7IGk8ZHJvcGQu
b3B0aW9ucy5sZW5ndGg7IGkrKykNCgkJew0KCQkJaWYgKGRyb3BkLm9wdGlvbnNb
aV0udmFsdWU9PU1TT0xheW91dF96b25lRHJhZ092ZXIuem9uZUlEKQ0KCQkJCWRy
b3BkLm9wdGlvbnNbaV0uc2VsZWN0ZWQ9dHJ1ZTsNCgkJfQ0KCX0NCn0NCmZ1bmN0
aW9uIE1TT0xheW91dF9TZXR1cERyb3BMb2NhdGlvbihab25lVGFibGVDZWxsLCBD
aGVja1NpemUpDQp7DQoJaWYoWm9uZVRhYmxlQ2VsbC5vcmllbnRhdGlvbj09J1Zl
cnRpY2FsJykNCgl7DQoJCXZhciBwYXJlbnRSb3c9TVNPTGF5b3V0X0dldFBhcmVu
dFJvdyhab25lVGFibGVDZWxsKTsNCgkJaWYoIXBhcmVudFJvdykgcmV0dXJuOw0K
CQlpZihab25lVGFibGVDZWxsLmlkICE9Ik1TT1pvbmVfRW1wdHlab25lQ2VsbCIg
JiYgKCFDaGVja1NpemUgfHwgKGV2ZW50LmNsaWVudFkrTVNPTGF5b3V0X3RvcE9i
amVjdC5zY3JvbGxUb3AgLSBNU09MYXlvdXRfR2V0UmVhbE9mZnNldChab25lVGFi
bGVDZWxsLCAnVG9wJykpID4gKFpvbmVUYWJsZUNlbGwub2Zmc2V0SGVpZ2h0IC8g
MikpKQ0KCQkJTVNPTGF5b3V0X3Jvd1RvRHJvcD1wYXJlbnRSb3cucm93SW5kZXgr
MTsNCgkJZWxzZQ0KCQkJTVNPTGF5b3V0X3Jvd1RvRHJvcD1wYXJlbnRSb3cucm93
SW5kZXg7DQoJfQ0KCWVsc2UNCgl7DQoJCXZhciBydGxQYWdlPShkb2N1bWVudC5k
aXI9PSJydGwiKSwJDQoJCQltYXhDZWxscz1ab25lVGFibGVDZWxsLnBhcmVudEVs
ZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGgsDQoJCQluZXh0Q2VsbEluZGV4PVpvbmVU
YWJsZUNlbGwuY2VsbEluZGV4KzE7DQoJCWlmKFpvbmVUYWJsZUNlbGwuaWQgIT0i
TVNPWm9uZV9FbXB0eVpvbmVDZWxsIiAmJiAoIUNoZWNrU2l6ZSB8fCAoZXZlbnQu
Y2xpZW50WCtNU09MYXlvdXRfdG9wT2JqZWN0LnNjcm9sbExlZnQgLSBNU09MYXlv
dXRfR2V0UmVhbE9mZnNldChab25lVGFibGVDZWxsLCAnTGVmdCcpKSA+IChab25l
VGFibGVDZWxsLm9mZnNldFdpZHRoIC8gMikpKQ0KCQkJTVNPTGF5b3V0X2NlbGxU
b0Ryb3A9KHJ0bFBhZ2UpID8gWm9uZVRhYmxlQ2VsbC5jZWxsSW5kZXggOiBab25l
VGFibGVDZWxsLmNlbGxJbmRleCsxOw0KCQllbHNlDQoJCXsNCgkJCWlmIChydGxQ
YWdlKQkNCgkJCQlNU09MYXlvdXRfY2VsbFRvRHJvcD0obmV4dENlbGxJbmRleCA+
PW1heENlbGxzKSA/IFpvbmVUYWJsZUNlbGwuY2VsbEluZGV4IDogWm9uZVRhYmxl
Q2VsbC5jZWxsSW5kZXgrMTsNCgkJCWVsc2UNCgkJCQlNU09MYXlvdXRfY2VsbFRv
RHJvcD1ab25lVGFibGVDZWxsLmNlbGxJbmRleDsNCgkJfQ0KCX0NCn0NCmZ1bmN0
aW9uIE1TT0xheW91dF9VcGRhdGVQcm9wZXJ0eVNoZWV0KFdlYlBhcnQsUHJvcGVy
dHlOYW1lLFByb3BlcnR5VmFsdWUpDQp7DQoJdmFyIHRvb2xQYW5lPWRvY3VtZW50
LmFsbC5pdGVtKCJNU09UbFBuX01haW5URCIpOw0KCWlmKFdlYlBhcnQuU2VsZWN0
ZWRXZWJQYXJ0ICYmIHRvb2xQYW5lKQ0KCXsNCgkJZm9yKEVsZW1lbnRzPXRvb2xQ
YW5lLmFsbCwgRWxlbWVudEluZGV4PTA7IEVsZW1lbnRJbmRleCA8IEVsZW1lbnRz
Lmxlbmd0aDsgRWxlbWVudEluZGV4KyspDQoJCXsNCgkJCWlmKEVsZW1lbnRzW0Vs
ZW1lbnRJbmRleF0ubGF5b3V0SUQ9PVByb3BlcnR5TmFtZSkNCgkJCXsNCgkJCQlp
ZihQcm9wZXJ0eU5hbWU9PSJDaHJvbWVTdGF0ZSIpDQoJCQkJew0KCQkJCQlmb3Io
cmFkaW9FbGVtZW50cz1FbGVtZW50c1tFbGVtZW50SW5kZXhdLmFsbCwgcmFkaW9J
bmRleD0wOyByYWRpb0luZGV4IDwgIHJhZGlvRWxlbWVudHMubGVuZ3RoOyByYWRp
b0luZGV4KyspDQoJCQkJCXsNCgkJCQkJCWlmKHJhZGlvRWxlbWVudHNbcmFkaW9J
bmRleF0udmFsdWU9PVByb3BlcnR5VmFsdWUpDQoJCQkJCQl7DQoJCQkJCQkJcmFk
aW9FbGVtZW50c1tyYWRpb0luZGV4XS5jaGVja2VkPXRydWU7DQoJCQkJCQkJYnJl
YWs7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQkJZWxzZSBpZiAoUHJvcGVy
dHlOYW1lPT0iSGVpZ2h0IiB8fCBQcm9wZXJ0eU5hbWU9PSJXaWR0aCIpDQoJCQkJ
ew0KCQkJCQlmb3IocmFkaW9FbGVtZW50cz1FbGVtZW50c1tFbGVtZW50SW5kZXhd
LmFsbCwgcmFkaW9JbmRleD0wOyByYWRpb0luZGV4IDwgIHJhZGlvRWxlbWVudHMu
bGVuZ3RoOyByYWRpb0luZGV4KyspDQoJCQkJCXsNCgkJCQkJCWlmKHJhZGlvRWxl
bWVudHNbcmFkaW9JbmRleF0uaWQuaW5kZXhPZigiWWVzT3B0aW9uIikgIT0tMSkN
CgkJCQkJCXsNCgkJCQkJCQlyYWRpb0VsZW1lbnRzW3JhZGlvSW5kZXhdLmNoZWNr
ZWQ9dHJ1ZTsNCgkJCQkJCX0NCgkJCQkJCWVsc2UgaWYocmFkaW9FbGVtZW50c1ty
YWRpb0luZGV4XS5pZC5pbmRleE9mKCJTaXplVGV4dEJveCIpICE9LTEpDQoJCQkJ
CQl7DQoJCQkJCQkJcmFkaW9FbGVtZW50c1tyYWRpb0luZGV4XS52YWx1ZT1Qcm9w
ZXJ0eVZhbHVlOw0KCQkJCQkJfQ0KCQkJCQkJZWxzZSBpZihyYWRpb0VsZW1lbnRz
W3JhZGlvSW5kZXhdLmlkLmluZGV4T2YoIlVuaXRzRHJvcGRvd24iKSAhPS0xKQ0K
CQkJCQkJew0KCQkJCQkJCXJhZGlvRWxlbWVudHNbcmFkaW9JbmRleF0udmFsdWU9
IlBpeGVsIjsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJCQllbHNlDQoJCQkJ
ew0KCQkJCQlFbGVtZW50c1tFbGVtZW50SW5kZXhdLnZhbHVlPVByb3BlcnR5VmFs
dWU7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KfQ0KZnVuY3Rpb24gTVNPTGF5b3V0
X01pbmltaXplUmVzdG9yZShXZWJQYXJ0KQ0Kew0KCXZhciBuZXdWYWx1ZTsNCgl2
YXIgbmV3VmFsdWVJbmRleDsNCglpZihXZWJQYXJ0LnN0eWxlLmRpc3BsYXkgIT0n
bm9uZScpDQoJew0KCQluZXdWYWx1ZT0nTWluaW1pemVkJzsNCgkJbmV3VmFsdWVJ
bmRleD0xOw0KCQlXZWJQYXJ0LnN0eWxlLmRpc3BsYXk9J25vbmUnOw0KCX0NCgll
bHNlDQoJew0KCQluZXdWYWx1ZT0nTm9ybWFsJzsNCgkJbmV3VmFsdWVJbmRleD0w
Ow0KCQlXZWJQYXJ0LnN0eWxlLmRpc3BsYXk9Jyc7DQoJfQ0KCU1TT0xheW91dF9V
cGRhdGVQcm9wZXJ0eVNoZWV0KFdlYlBhcnQsICJDaHJvbWVTdGF0ZSIsIG5ld1Zh
bHVlKTsNCglNU09MYXlvdXRfQWRkQ2hhbmdlKFdlYlBhcnQsICJjaHJvbWVTdGF0
ZSIsIG5ld1ZhbHVlSW5kZXgpDQp9DQpmdW5jdGlvbiBNU09MYXlvdXRfUGFnZVZp
ZXdlck1pbmltaXplUmVzdG9yZShXZWJQYXJ0LCBQYWdlVmlld2VySUZyYW1lSUQp
DQp7DQoJdmFyIFBhZ2VWaWV3ZXJJRnJhbWU9ZG9jdW1lbnQuYWxsLml0ZW0oUGFn
ZVZpZXdlcklGcmFtZUlEKTsNCglpZiAoUGFnZVZpZXdlcklGcmFtZSAhPW51bGwp
DQoJew0KCQlpZihXZWJQYXJ0LnN0eWxlLmRpc3BsYXkgIT0nbm9uZScpDQoJCXsN
CgkJCWlmIChQYWdlVmlld2VySUZyYW1lLnNyYyAhPVBhZ2VWaWV3ZXJJRnJhbWUu
ZGRmX3NyYykNCgkJCXsNCgkJCQlQYWdlVmlld2VySUZyYW1lLnNyYz1QYWdlVmll
d2VySUZyYW1lLmRkZl9zcmM7DQoJCQl9DQoJCX0NCgl9DQp9DQpmdW5jdGlvbiBN
U09MYXlvdXRfRmluZEFuY2VzdG9yQnlBdHRyaWJ1dGUoRWxlbWVudCwgQXR0cmli
dXRlTmFtZSkNCnsNCgl3aGlsZSAoRWxlbWVudCAhPW51bGwpDQoJew0KCQlpZiAo
RWxlbWVudC5nZXRBdHRyaWJ1dGUoQXR0cmlidXRlTmFtZSkgIT1udWxsKQ0KCQkJ
YnJlYWs7DQoJCUVsZW1lbnQ9RWxlbWVudC5wYXJlbnRFbGVtZW50OwkNCgl9DQoJ
cmV0dXJuIEVsZW1lbnQ7DQp9DQpmdW5jdGlvbiBNU09MYXlvdXRfTWluaW1pemVS
ZXN0b3JlVG9vbFBhcnQoVG9vbFBhcnQsIHBhcnRUaXRsZSwgc3RySW1nTmFtZSwg
c3RyQW5jaG9yTmFtZSwgc3RySW1hZ2VBbmNob3JOYW1lKQ0Kew0KCXZhciBmaWVs
ZElEPVRvb2xQYXJ0KydDaHJvbWVTdGF0ZSc7DQoJdmFyIGNvbnRhaW5pbmdGcmFt
ZT1Ub29sUGFydCsnQ2hyb21lJzsNCgl2YXIgc3RhdGVGaWVsZFZhbHVlOw0KCXZh
ciB0b29sdGlwVGVtcGxhdGU7DQoJaWYoIGRvY3VtZW50LmFsbC5pdGVtKGNvbnRh
aW5pbmdGcmFtZSkuc3R5bGUuZGlzcGxheT09J25vbmUnICkNCgl7DQoJCWRvY3Vt
ZW50LmFsbC5pdGVtKGNvbnRhaW5pbmdGcmFtZSkuc3R5bGUuZGlzcGxheT0naW5s
aW5lJzsNCgkJZG9jdW1lbnQuaW1hZ2VzW3N0ckltZ05hbWVdLnNyYz0nL19sYXlv
dXRzL2ltYWdlcy9UUE1pbjEuZ2lmJzsNCgkJdG9vbHRpcFRlbXBsYXRlPU1TT1N0
cmluZ3MuVG9vbFBhcnRDb2xsYXBzZVRvb2xUaXA7DQoJCXN0YXRlRmllbGRWYWx1
ZT0iTm9ybWFsIjsNCgl9DQoJZWxzZQ0KCXsNCgkJZG9jdW1lbnQuYWxsLml0ZW0o
Y29udGFpbmluZ0ZyYW1lKS5zdHlsZS5kaXNwbGF5PSdub25lJzsNCgkJZG9jdW1l
bnQuaW1hZ2VzW3N0ckltZ05hbWVdLnNyYz0nL19sYXlvdXRzL2ltYWdlcy9UUE1h
eDEuZ2lmJzsNCgkJdG9vbHRpcFRlbXBsYXRlPU1TT1N0cmluZ3MuVG9vbFBhcnRF
eHBhbmRUb29sVGlwOw0KCQlzdGF0ZUZpZWxkVmFsdWU9Ik1pbmltaXplZCI7DQoJ
fQ0KCSAgIHZhciB0b29sdGlwU3RyaW5nPXRvb2x0aXBUZW1wbGF0ZS5yZXBsYWNl
KCIlMCIsIHBhcnRUaXRsZSk7DQoJICAgZG9jdW1lbnQuaW1hZ2VzW3N0ckltZ05h
bWVdLmFsdD10b29sdGlwU3RyaW5nOw0KCSAgIGRvY3VtZW50LmFsbC5pdGVtKHN0
ckltYWdlQW5jaG9yTmFtZSkudGl0bGU9dG9vbHRpcFN0cmluZzsNCgkgICBkb2N1
bWVudC5hbGwuaXRlbShzdHJBbmNob3JOYW1lKS50aXRsZT10b29sdGlwU3RyaW5n
Ow0KCWlmKGRvY3VtZW50LmFsbFtmaWVsZElEXSAhPW51bGwpDQoJew0KCQlkb2N1
bWVudC5hbGxbZmllbGRJRF0udmFsdWU9c3RhdGVGaWVsZFZhbHVlOw0KCX0NCn0N
CmZ1bmN0aW9uIE1TT0xheW91dF9SZW1vdmVXZWJQYXJ0KHdlYlBhcnQpDQp7DQoJ
TVNPTGF5b3V0X0FkZENoYW5nZSh3ZWJQYXJ0LCAiaXNJbmNsdWRlZCIsICJGYWxz
ZSIpDQoJZG9jdW1lbnQuZm9ybXNbTVNPV2ViUGFydFBhZ2VGb3JtTmFtZV0uTVNP
V2ViUGFydFBhZ2VfUG9zdGJhY2tTb3VyY2UudmFsdWU9MTk7DQoJaWYod2ViUGFy
dC5TZWxlY3RlZFdlYlBhcnQpIE1TT1RsUG5fb25Ub29sUGFuZUNsb3NlQ2xpY2so
KTsNCgllbHNlIF9fZG9Qb3N0QmFjayhNU09XZWJQYXJ0UGFnZUZvcm1OYW1lLCAn
Jyk7DQp9DQpmdW5jdGlvbiBNU09MYXlvdXRfUmVmcmVzaElGcmFtZShJRnJhbWUp
DQp7DQoJZG9jdW1lbnQuZm9ybXNbTVNPV2ViUGFydFBhZ2VGb3JtTmFtZV0uTVNP
V2ViUGFydFBhZ2VfUG9zdGJhY2tTb3VyY2UudmFsdWU9MjM7DQoJSUZyYW1lLnNy
Yz1JRnJhbWUuc3JjOw0KfQ0KZnVuY3Rpb24gTVNPTGF5b3V0X0dldFN0eWxlRnJv
bUNsYXNzKHNDbGFzcyxzUnVsZSkNCnsNCglkb2N1bWVudC5ib2R5Lmluc2VydEFk
amFjZW50SFRNTCggJ2JlZm9yZUVuZCcsICI8ZGl2IHN0eWxlPSdkaXNwbGF5Om5v
bmUnIGlkPSd0ZW1wJyBjbGFzcz0nIitzQ2xhc3MrIic+PC9kaXY+Iik7DQoJdmFy
IHNSZXR1cm5WYWx1ZT1ldmFsKCd0ZW1wLmN1cnJlbnRTdHlsZS4nK3NSdWxlICk7
DQoJdGVtcC5yZW1vdmVOb2RlKCk7DQoJcmV0dXJuIHNSZXR1cm5WYWx1ZTsNCn0N
CmZ1bmN0aW9uIE1TT0xheW91dF9BZGRDaGFuZ2UoV2ViUGFydCxQcm9wZXJ0eSxO
ZXdWYWx1ZSkNCnsNCglpZighV2ViUGFydCkgcmV0dXJuOw0KCXZhciBXZWJQYXJ0
R1VJRD1XZWJQYXJ0LldlYlBhcnRJRDsNCglpZihXZWJQYXJ0LmxheW91dENoYW5n
ZXMpDQoJew0KCQl2YXIgcHJvcGVydHlJbmRleD1NU09MYXlvdXRfU2VhcmNoQXJy
YXkoV2ViUGFydC5sYXlvdXRDaGFuZ2VzLFByb3BlcnR5KTsNCgkJaWYocHJvcGVy
dHlJbmRleCAhPS0xKSBXZWJQYXJ0LmxheW91dENoYW5nZXNbcHJvcGVydHlJbmRl
eCsxXT1OZXdWYWx1ZTsNCgkJZWxzZQ0KCQl7DQoJCQlXZWJQYXJ0LmxheW91dENo
YW5nZXMucHVzaChQcm9wZXJ0eSk7DQoJCQlXZWJQYXJ0LmxheW91dENoYW5nZXMu
cHVzaChOZXdWYWx1ZSk7DQoJCX0NCgl9DQoJZWxzZQ0KCXsNCgkJV2ViUGFydC5s
YXlvdXRDaGFuZ2VzPW5ldyBBcnJheSgpOw0KCQlXZWJQYXJ0LmxheW91dENoYW5n
ZXMucHVzaChQcm9wZXJ0eSk7DQoJCVdlYlBhcnQubGF5b3V0Q2hhbmdlcy5wdXNo
KE5ld1ZhbHVlKTsJDQoJfQ0KCWlmKE1TT0xheW91dF9TZWFyY2hBcnJheShNU09M
YXlvdXRfdW5zYXZlZENoYW5nZXMsV2ViUGFydEdVSUQpPT0tMSkNCgl7DQoJCU1T
T0xheW91dF91bnNhdmVkQ2hhbmdlcy5wdXNoKCgoTVNPTGF5b3V0X3Vuc2F2ZWRD
aGFuZ2VzLmxlbmd0aCkgPyAifCIgOiAiIikrV2ViUGFydEdVSUQpOw0KCQlNU09M
YXlvdXRfdW5zYXZlZENoYW5nZXMucHVzaChXZWJQYXJ0LmxheW91dENoYW5nZXMp
Ow0KCX0NCglkb2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5N
U09MYXlvdXRfTGF5b3V0Q2hhbmdlcy52YWx1ZT1NU09MYXlvdXRfdW5zYXZlZENo
YW5nZXM7DQoJTVNPTGF5b3V0X1VwZGF0ZVByb3BlcnR5U2hlZXQoV2ViUGFydCxQ
cm9wZXJ0eSxOZXdWYWx1ZSk7DQoJaWYoTVNPTGF5b3V0X0Zvcm1TdWJtaXQ9PW51
bGwpDQoJew0KCQlNU09MYXlvdXRfRm9ybVN1Ym1pdD1kb2N1bWVudC5mb3Jtc1tN
U09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5zdWJtaXQ7DQoJCWRvY3VtZW50LmZvcm1z
W01TT1dlYlBhcnRQYWdlRm9ybU5hbWVdLnN1Ym1pdD1uZXcgRnVuY3Rpb24oIk1T
T0xheW91dF9PblN1Ym1pdCgpOyBNU09MYXlvdXRfRm9ybVN1Ym1pdCgpOyIpOw0K
CQlkb2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5hdHRhY2hF
dmVudCgib25zdWJtaXQiLCBNU09MYXlvdXRfT25TdWJtaXQpOw0KCQl3aW5kb3cu
YXR0YWNoRXZlbnQoIm9udW5sb2FkIiwgTVNPTGF5b3V0X1NhdmVDaGFuZ2VzKTsN
Cgl9DQp9DQpmdW5jdGlvbiBNU09MYXlvdXRfT25TdWJtaXQoKQ0Kew0KCXdpbmRv
dy5kZXRhY2hFdmVudCgib251bmxvYWQiLCBNU09MYXlvdXRfU2F2ZUNoYW5nZXMp
Ow0KfQ0KZnVuY3Rpb24gTVNPTGF5b3V0X1NhdmVDaGFuZ2VzKCkNCnsNCglpZihk
b2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5NU09MYXlvdXRf
TGF5b3V0Q2hhbmdlcyAhPW51bGwgJiYgZG9jdW1lbnQuZm9ybXNbTVNPV2ViUGFy
dFBhZ2VGb3JtTmFtZV0uTVNPTGF5b3V0X0xheW91dENoYW5nZXMudmFsdWUgIT0i
IikNCgl7DQoJCXZhciBwYWdlVXJsPWRvY3VtZW50LlVSTFVuZW5jb2RlZDsNCgkJ
dmFyIGhhc2hNYXJrRXhwcmVzc2lvbj0vXCMvOw0KCQl2YXIgaGFzaE1hcmtJbmRl
eD1wYWdlVXJsLnNlYXJjaChoYXNoTWFya0V4cHJlc3Npb24pOw0KCQlpZihoYXNo
TWFya0luZGV4ICE9LTEpDQoJCXsNCgkJCXBhZ2VVcmw9cGFnZVVybC5zdWJzdHJp
bmcoMCwgaGFzaE1hcmtJbmRleCk7DQoJCX0NCgkJcGFnZVVybD1lbmNvZGVVUkko
cGFnZVVybCkNCgkJdmFyIHhtbGh0dHA9bmV3IEFjdGl2ZVhPYmplY3QoJ01pY3Jv
c29mdC5YTUxIVFRQJyk7DQoJCXhtbGh0dHAuT3BlbignUE9TVCcscGFnZVVybCxm
YWxzZSk7DQoJCXZhciBmb3JtRGF0YT0nJl9fUkVRVUVTVERJR0VTVD0nK1VSTEVu
Y29kZShkb2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5fX1JF
UVVFU1RESUdFU1QudmFsdWUpKycmTVNPTGF5b3V0X0xheW91dENoYW5nZXM9JytV
UkxFbmNvZGUoZG9jdW1lbnQuZm9ybXNbTVNPV2ViUGFydFBhZ2VGb3JtTmFtZV0u
TVNPTGF5b3V0X0xheW91dENoYW5nZXMudmFsdWUpOw0KCQl4bWxodHRwLnNldFJl
cXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsICJhcHBsaWNhdGlvbi94LXd3dy1m
b3JtLXVybGVuY29kZWQiKTsNCgkJeG1saHR0cC5TZW5kKGZvcm1EYXRhKTsNCgkJ
ZG9jdW1lbnQuZm9ybXNbTVNPV2ViUGFydFBhZ2VGb3JtTmFtZV0uTVNPTGF5b3V0
X0xheW91dENoYW5nZXMudmFsdWU9IiI7DQoJfQ0KfQ0KZnVuY3Rpb24gTVNPTGF5
b3V0X1NlYXJjaEFycmF5KFNlYXJjaEFycmF5LCBWYWx1ZSkNCnsNCglmb3IodmFy
IGluZGV4PTA7IGluZGV4IDwgU2VhcmNoQXJyYXkubGVuZ3RoOyBpbmRleCsrKQ0K
CXsNCgkJaWYoU2VhcmNoQXJyYXlbaW5kZXhdPT1WYWx1ZSB8fCBTZWFyY2hBcnJh
eVtpbmRleF09PSIjIitWYWx1ZSkgcmV0dXJuIGluZGV4Ow0KCX0NCglyZXR1cm4g
LTE7DQp9DQpmdW5jdGlvbiBNU09XZWJQYXJ0UGFnZV9PcGVuTWVudShNZW51VG9P
cGVuLFNvdXJjZUVsZW1lbnQsV2ViUGFydCxJbkNvbm5lY3Rpb25zTW9kZSkNCnsN
CglpZihXZWJQYXJ0KQ0KCXsNCgkJTWVudVdlYlBhcnQ9V2ViUGFydA0KCQlNZW51
V2ViUGFydElEPVdlYlBhcnQuV2ViUGFydElEOw0KCQl2YXIgbWluT3B0aW9uPU1l
bnVUb09wZW4uYWxsLml0ZW0oJ01TT01lbnVfTWluaW1pemUnKTsNCgkJdmFyIHJl
c3RvcmVPcHRpb249TWVudVRvT3Blbi5hbGwuaXRlbSgnTVNPTWVudV9SZXN0b3Jl
Jyk7DQoJCXZhciBjbG9zZU9wdGlvbj1NZW51VG9PcGVuLmFsbC5pdGVtKCdNU09N
ZW51X0Nsb3NlJyk7DQoJCXZhciBkZWxldGVPcHRpb249TWVudVRvT3Blbi5hbGwu
aXRlbSgnTVNPTWVudV9EZWxldGUnKTsNCgkJdmFyIGV4cG9ydE9wdGlvbj1NZW51
VG9PcGVuLmFsbC5pdGVtKCdNU09NZW51X0V4cG9ydCcpOw0KCQl2YXIgcmVzZXRQ
ZXJzT3B0aW9uPU1lbnVUb09wZW4uYWxsLml0ZW0oJ01TT01lbnVfUmVzdG9yZVBh
cnREZWZhdWx0cycpOw0KCQl2YXIgaGVscE9wdGlvbj1NZW51VG9PcGVuLmFsbC5p
dGVtKCdNU09NZW51X0hlbHAnKTsNCgkJdmFyIGNvbm5lY3Rpb25PcHRpb249TWVu
dVRvT3Blbi5hbGwuaXRlbSgnTVNPTWVudV9Db25uZWN0aW9ucycpOw0KCQlpZiht
aW5PcHRpb24pDQoJCXsNCgkJCW1pbk9wdGlvbi5zdHlsZS5kaXNwbGF5PShXZWJQ
YXJ0LmFsbG93TWluaW1pemU9PSdmYWxzZScgfHwgV2ViUGFydC5zdHlsZS5kaXNw
bGF5PT0nbm9uZScpID8gJ25vbmUnIDogJyc7DQoJCX0NCgkJaWYocmVzdG9yZU9w
dGlvbikNCgkJew0KCQkJcmVzdG9yZU9wdGlvbi5zdHlsZS5kaXNwbGF5PShXZWJQ
YXJ0LmFsbG93TWluaW1pemU9PSdmYWxzZScgfHwgV2ViUGFydC5zdHlsZS5kaXNw
bGF5ICE9J25vbmUnKSA/ICdub25lJyA6ICcnOw0KCQl9DQoJCWlmKGNsb3NlT3B0
aW9uKQ0KCQl7DQoJCQljbG9zZU9wdGlvbi5zdHlsZS5kaXNwbGF5PShXZWJQYXJ0
LmFsbG93UmVtb3ZlPT0nZmFsc2UnKSA/ICdub25lJyA6ICcnOw0KCQl9DQoJCWlm
KGRlbGV0ZU9wdGlvbikNCgkJew0KCQkJZGVsZXRlT3B0aW9uLnN0eWxlLmRpc3Bs
YXk9KE1TT0xheW91dF9pbkRlc2lnbk1vZGUgJiYgV2ViUGFydC5hbGxvd0RlbGV0
ZSAhPSdmYWxzZScpID8gJycgOiAnbm9uZSc7DQoJCX0NCgkJaWYoZXhwb3J0T3B0
aW9uKQ0KCQl7DQoJCQlleHBvcnRPcHRpb24uc3R5bGUuZGlzcGxheT0oV2ViUGFy
dC5hbGxvd0V4cG9ydD09J2ZhbHNlJykgPyAnbm9uZScgOiAnJzsNCgkJfQ0KCQlp
ZihoZWxwT3B0aW9uKQ0KCQl7DQoJCQloZWxwT3B0aW9uLnN0eWxlLmRpc3BsYXk9
KFdlYlBhcnQuaGVscExpbms9PW51bGwpID8gJ25vbmUnIDogIiI7DQoJCX0NCgkJ
aWYocmVzZXRQZXJzT3B0aW9uKQ0KCQl7DQoJCQlyZXNldFBlcnNPcHRpb24uc3R5
bGUuZGlzcGxheT0oTVNPTGF5b3V0X2luRGVzaWduTW9kZSAmJiBXZWJQYXJ0Lkhh
c1BlcnM9PSd0cnVlJyAmJiBXZWJQYXJ0Lk9ubHlGb3JNZVBhcnQgIT0ndHJ1ZScp
ID8gJycgOiAnbm9uZSc7DQoJCX0NCgkJaWYoY29ubmVjdGlvbk9wdGlvbikNCgkJ
ew0KCQkJY29ubmVjdGlvbk9wdGlvbi5zdHlsZS5kaXNwbGF5PShNU09MYXlvdXRf
aW5EZXNpZ25Nb2RlID8gJycgOiAnbm9uZScpOw0KCQl9DQoJCWlmKEluQ29ubmVj
dGlvbnNNb2RlICE9J0ZhbHNlJykNCgkJewkNCgkJCXZhciBjb25uTWVudT1kb2N1
bWVudC5hbGwuaXRlbSgnTVNPTWVudV9Db25uZWN0aW9ucycrV2ViUGFydC5pZCk7
DQoJCQlpZihjb25uZWN0aW9uT3B0aW9uICE9bnVsbCAmJiBjb25uTWVudSAhPW51
bGwpDQoJCQl7CQ0KCQkJCWNvbm5lY3Rpb25PcHRpb24ub3V0ZXJIVE1MPWNvbm5N
ZW51LmlubmVySFRNTDsNCgkJCX0NCgkJfQ0KCX0NCglNZW51SHRjX3Nob3coTWVu
dVRvT3BlbiwgU291cmNlRWxlbWVudCwgdHJ1ZSwgbnVsbCwgbnVsbCk7DQoJcmV0
dXJuIHRydWU7DQp9DQpmdW5jdGlvbiAgTVNPQ29ubl9Jc1hGb3JtVUlOZWVkZWQo
KQ0Kew0KCXZhciB0aW50ZXJmYWNlPU1TT0Nvbm5fVGFyZ2V0R3JvdXBOb2RlLnNl
bGVjdFNpbmdsZU5vZGUoJ3RJbnRlcmZhY2UnKTsNCgl2YXIgaXNYRm9ybVVJTmVl
ZGVkPWZhbHNlOw0KCXZhciB4Rm9ybU5vZGU9dGludGVyZmFjZS5zZWxlY3RTaW5n
bGVOb2RlKCd4Rm9ybScpOw0KCWlmKHhGb3JtTm9kZSAhPW51bGwgJiYgdGludGVy
ZmFjZS5zZWxlY3RTaW5nbGVOb2RlKCJtaSIpLmdldEF0dHJpYnV0ZSgiaXNYRm9y
bVVJTmVlZGVkIik9PSJUcnVlIikNCgl7DQoJCWlzWEZvcm1VSU5lZWRlZD10cnVl
Ow0KCQlpZihNU09Db25uX1RhcmdldEdyb3VwTm9kZS5nZXRBdHRyaWJ1dGUoImlz
Q29ubiIpPT0iVHJ1ZSIpDQoJCXsNCgkJCWRvY3VtZW50LmFsbC5NU09Db25uX0J1
dHRvbi52YWx1ZT0iZWRpdCI7DQoJCX0NCgkJaWYoeEZvcm1Ob2RlLmdldEF0dHJp
YnV0ZSgidHlwZSIpPT0iUm93Q2VsbFRyYW5zZm9ybSIpDQoJCXsNCgkJCU1TT0Nv
bm5fU2hvd1Jvd0NlbGxYRm9ybSh0aW50ZXJmYWNlKTsNCgkJfQ0KCQllbHNlIGlm
KHhGb3JtTm9kZS5nZXRBdHRyaWJ1dGUoInR5cGUiKT09IlJvd0ZpbHRlclRyYW5z
Zm9ybSIpDQoJCXsNCgkJCU1TT0Nvbm5fU2hvd1Jvd0ZpbHRlclhGb3JtKHRpbnRl
cmZhY2UpOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJTVNPQ29ubl9TaG93QXNwWEZv
cm0odGludGVyZmFjZSk7DQoJCX0NCgl9DQoJaWYoIWlzWEZvcm1VSU5lZWRlZCAm
JiBNU09Db25uX1RhcmdldEdyb3VwTm9kZS5nZXRBdHRyaWJ1dGUoImlzQ29ubiIp
PT0iVHJ1ZSIgJiYgTVNPQ29ubl9CYWNrQnV0dG9uQ2xpY2tlZD09ZmFsc2UpDQoJ
ew0KCQlkb2N1bWVudC5hbGwuTVNPQ29ubl9CdXR0b24udmFsdWU9InJlbW92ZSI7
DQoJfQ0KfQ0KZnVuY3Rpb24gIE1TT0Nvbm5fU2hvd1Jvd0ZpbHRlclhGb3JtKHRh
cmdldEludGVyZmFjZSkNCnsNCgl2YXIgcm93UHJvSW5pdEFyZ05vZGU7DQoJdmFy
IGZpbENvbkluaXRBcmdOb2RlOw0KCXZhciBwcm92aWRlclBhcnQ7DQoJdmFyIGNv
bnN1bWVyUGFydDsNCgl2YXIgc01hdGNoSW50ZXJmYWNlTmFtZT10YXJnZXRJbnRl
cmZhY2Uuc2VsZWN0U2luZ2xlTm9kZSgibWkiKS5nZXRBdHRyaWJ1dGUoImlkIik7
DQoJdmFyIHhGb3JtSW5mbz10YXJnZXRJbnRlcmZhY2Uuc2VsZWN0U2luZ2xlTm9k
ZSgibWkiKS5nZXRBdHRyaWJ1dGUoInhJbmZvIik7DQoJdmFyIHNJbnRlcmZhY2VO
b2RlPU1TT0Nvbm5fU291cmNlR3JvdXBOb2RlLnNlbGVjdFNpbmdsZU5vZGUoInNJ
bnRlcmZhY2VzL3NJbnRlcmZhY2VbQGlkPSciK3NNYXRjaEludGVyZmFjZU5hbWUr
IiddIik7DQoJcm93UHJvSW5pdEFyZ05vZGU9dGFyZ2V0SW50ZXJmYWNlLnNlbGVj
dFNpbmdsZU5vZGUoIkluaXRFdmVudEFyZ3MvUm93UHJvdmlkZXJJbml0RXZlbnRB
cmdzIik7DQoJdmFyIGlzQ29ubmVjdGVkPU1TT0Nvbm5fVGFyZ2V0R3JvdXBOb2Rl
LmdldEF0dHJpYnV0ZSgiaXNDb25uIik7DQoJaWYocm93UHJvSW5pdEFyZ05vZGU9
PW51bGwpDQoJew0KCQlyb3dQcm9Jbml0QXJnTm9kZT1zSW50ZXJmYWNlTm9kZS5z
ZWxlY3RTaW5nbGVOb2RlKCJJbml0RXZlbnRBcmdzL1Jvd1Byb3ZpZGVySW5pdEV2
ZW50QXJncyIpOw0KCQlmaWxDb25Jbml0QXJnTm9kZT10YXJnZXRJbnRlcmZhY2Uu
c2VsZWN0U2luZ2xlTm9kZSgiSW5pdEV2ZW50QXJncy9GaWx0ZXJDb25zdW1lcklu
aXRFdmVudEFyZ3MiKTsNCgkJY29uc3VtZXJQYXJ0PU1TT0Nvbm5fVGFyZ2V0V3BO
b2RlOw0KCQlwcm92aWRlclBhcnQ9TVNPQ29ubl9Tb3VyY2VXcE5vZGU7DQoJfQ0K
CWVsc2UNCgl7DQoJCWZpbENvbkluaXRBcmdOb2RlPXNJbnRlcmZhY2VOb2RlLnNl
bGVjdFNpbmdsZU5vZGUoIkluaXRFdmVudEFyZ3MvRmlsdGVyQ29uc3VtZXJJbml0
RXZlbnRBcmdzIik7DQoJCWNvbnN1bWVyUGFydD1NU09Db25uX1NvdXJjZVdwTm9k
ZTsNCgkJcHJvdmlkZXJQYXJ0PU1TT0Nvbm5fVGFyZ2V0V3BOb2RlOw0KCX0NCglp
Zihyb3dQcm9Jbml0QXJnTm9kZSAhPW51bGwgJiYgZmlsQ29uSW5pdEFyZ05vZGUg
IT1udWxsKQ0KCXsNCgkJdmFyIHJvd0ZpZWxkTGlzdD1uZXcgQXJyYXkoKTsNCgkJ
dmFyIHJvd0ZpZWxkRGlzcGxheUxpc3Q9bmV3IEFycmF5KCk7DQoJCXZhciByb3dG
aWVsZExpc3ROb2Rlcz1yb3dQcm9Jbml0QXJnTm9kZS5zZWxlY3ROb2RlcygiRmll
bGQiKTsNCgkJdmFyIGZpbHRlckZpZWxkTGlzdE5vZGVzPWZpbENvbkluaXRBcmdO
b2RlLnNlbGVjdE5vZGVzKCJGaWVsZCIpOw0KCQl2YXIgZmlsdGVyRmllbGRMaXN0
PW5ldyBBcnJheSgpOw0KCQl2YXIgZmlsdGVyRmllbGREaXNwbGF5TGlzdD1uZXcg
QXJyYXkoKTsNCgkJaWYocm93RmllbGRMaXN0Tm9kZXM9PW51bGwgfHwgcm93Rmll
bGRMaXN0Tm9kZXMubGVuZ3RoPT0wKQ0KCQl7DQoJCQl2YXIgY3JlZj1yb3dQcm9J
bml0QXJnTm9kZS5nZXRBdHRyaWJ1dGUoImNyZWYiKTsNCgkJCWlmKGNyZWYgIT1u
dWxsKQ0KCQkJew0KCQkJCXZhciBzdHJWYWw9Y3JlZisiLkdldEluaXRFdmVudEFy
Z3MoKSI7DQoJCQkJdmFyIGFyZ3M9bnVsbDsNCgkJCQl0cnkNCgkJCQl7DQoJCQkJ
CWFyZ3M9ZXZhbChzdHJWYWwpOw0KCQkJCX0NCgkJCQljYXRjaChlKQ0KCQkJCXsN
CgkJCQl9DQoJCQkJaWYoYXJncyAhPW51bGwpDQoJCQkJew0KCQkJCQlyb3dGaWVs
ZExpc3Q9YXJncy5GaWVsZExpc3Q7DQoJCQkJCXJvd0ZpZWxkRGlzcGxheUxpc3Q9
YXJncy5GaWVsZERpc3BsYXlMaXN0Ow0KCQkJCX0NCgkJCX0NCgkJfQ0KCQllbHNl
DQoJCXsNCgkJCWZvcih2YXIgaT0wIDsgaTwgcm93RmllbGRMaXN0Tm9kZXMubGVu
Z3RoOyBpKyspDQoJCQl7DQoJCQkJdmFyIGRpc3BsYXlMaXN0U2V0PWZhbHNlOw0K
CQkJCXJvd0ZpZWxkTGlzdFtpXT1yb3dGaWVsZExpc3ROb2Rlc1tpXS5nZXRBdHRy
aWJ1dGUoIkZpZWxkTmFtZSIpOw0KCQkJCWlmKHJvd0ZpZWxkTGlzdE5vZGVzW2ld
LmdldEF0dHJpYnV0ZSgiRmllbGREaXNwbGF5TmFtZSIpICE9bnVsbCkNCgkJCQl7
DQoJCQkJCXJvd0ZpZWxkRGlzcGxheUxpc3RbaV09cm93RmllbGRMaXN0Tm9kZXNb
aV0uZ2V0QXR0cmlidXRlKCJGaWVsZERpc3BsYXlOYW1lIik7DQoJCQkJCWRpc3Bs
YXlMaXN0U2V0PXRydWU7DQoJCQkJfQ0KCQkJCWVsc2UgaWYoZGlzcGxheUxpc3RT
ZXQ9PXRydWUpDQoJCQkJew0KCQkJCQlyb3dGaWVsZERpc3BsYXlMaXN0PW51bGw7
DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCWlmKGZpbHRlckZpZWxkTGlzdE5vZGVzPT1u
dWxsIHx8IGZpbHRlckZpZWxkTGlzdE5vZGVzLmxlbmd0aD09MCkNCgkJew0KCQkJ
dmFyIGNyZWY9ZmlsQ29uSW5pdEFyZ05vZGUuZ2V0QXR0cmlidXRlKCJjcmVmIik7
DQoJCQlpZihjcmVmICE9bnVsbCkNCgkJCXsNCgkJCQl2YXIgc3RyVmFsPWNyZWYr
Ii5HZXRJbml0RXZlbnRBcmdzKCkiOw0KCQkJCXZhciBhcmdzPW51bGw7DQoJCQkJ
dHJ5DQoJCQkJew0KCQkJCQlhcmdzPWV2YWwoc3RyVmFsKTsNCgkJCQl9DQoJCQkJ
Y2F0Y2goZSkNCgkJCQl7DQoJCQkJfQ0KCQkJCWlmKGFyZ3MgIT1udWxsKQ0KCQkJ
CXsNCgkJCQkJZmlsdGVyRmllbGRMaXN0PWFyZ3MuRmllbGRMaXN0Ow0KCQkJCQlm
aWx0ZXJGaWVsZERpc3BsYXlMaXN0PWFyZ3MuRmllbGREaXNwbGF5TGlzdDsNCgkJ
CQl9DQoJCQl9DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQlmb3IodmFyIGk9MCA7IGk8
IGZpbHRlckZpZWxkTGlzdE5vZGVzLmxlbmd0aDsgaSsrKQ0KCQkJew0KCQkJCXZh
ciBkaXNwbGF5TGlzdFNldD1mYWxzZTsNCgkJCQlmaWx0ZXJGaWVsZExpc3RbaV09
ZmlsdGVyRmllbGRMaXN0Tm9kZXNbaV0uZ2V0QXR0cmlidXRlKCJGaWVsZE5hbWUi
KTsNCgkJCQlpZihmaWx0ZXJGaWVsZExpc3ROb2Rlc1tpXS5nZXRBdHRyaWJ1dGUo
IkZpZWxkRGlzcGxheU5hbWUiKSAhPW51bGwpDQoJCQkJew0KCQkJCQlmaWx0ZXJG
aWVsZERpc3BsYXlMaXN0W2ldPWZpbHRlckZpZWxkTGlzdE5vZGVzW2ldLmdldEF0
dHJpYnV0ZSgiRmllbGREaXNwbGF5TmFtZSIpOw0KCQkJCQlkaXNwbGF5TGlzdFNl
dD10cnVlOw0KCQkJCX0NCgkJCQllbHNlIGlmKGRpc3BsYXlMaXN0U2V0PT10cnVl
KQ0KCQkJCXsNCgkJCQkJZmlsdGVyRmllbGREaXNwbGF5TGlzdD1udWxsOw0KCQkJ
CX0NCgkJCX0NCgkJfQ0KCQlpZigocm93RmllbGRMaXN0ICE9bnVsbCAmJiByb3dG
aWVsZExpc3QubGVuZ3RoICE9MCAmJiBmaWx0ZXJGaWVsZExpc3QgIT1udWxsICYm
IGZpbHRlckZpZWxkTGlzdC5sZW5ndGggIT0wKSB8fCBpc0Nvbm5lY3RlZD09J1Ry
dWUnICkNCgkJew0KCQkJdmFyIHJmeEZvcm1JbmZvOw0KCQkJdmFyIHJvd0xpc3Q9
cm93RmllbGRMaXN0Ow0KCQkJaWYocm93RmllbGREaXNwbGF5TGlzdCAhPW51bGwg
JiYgcm93RmllbGREaXNwbGF5TGlzdC5sZW5ndGg9PXJvd0ZpZWxkTGlzdC5sZW5n
dGgpDQoJCQl7DQoJCQkJcm93TGlzdD1yb3dGaWVsZERpc3BsYXlMaXN0Ow0KCQkJ
fQ0KCQkJdmFyIHNGZWF0dXJlcz0iZGlhbG9nSGVpZ2h0OjIxMHB4O2RpYWxvZ1dp
ZHRoOjQ2MHB4O2NlbnRlcjp5ZXM7aGVscDpubztzdGF0dXM6bm87c2Nyb2xsOm5v
O3Jlc2l6YWJsZTpubzsiOw0KCQkJdmFyIHVybD1kb2N1bWVudC5hbGwuTVNPQ29u
bl9SRlByb1hmb3JtLnZhbHVlKyI/cGFydD1wcm92aWRlciI7DQoJCQl2YXIgYXJn
dW1lbnRzPW5ldyBBcnJheShyb3dMaXN0LCBpc0Nvbm5lY3RlZCwgcHJvdmlkZXJQ
YXJ0LmdldEF0dHJpYnV0ZSgidGl0bGUiKSwgY29uc3VtZXJQYXJ0LmdldEF0dHJp
YnV0ZSgidGl0bGUiKSxNU09Db25uX011bHRpcGxlVGFyZ2V0R3JvdXBzLCB4Rm9y
bUluZm8sIHJvd0ZpZWxkTGlzdCk7DQoJCQkgdmFyIHJmeEZvcm1JbmZvUm93SW5k
ZXg9c2hvd01vZGFsRGlhbG9nKHVybCwgYXJndW1lbnRzLCBzRmVhdHVyZXMpOwkN
CgkJCWlmKHJmeEZvcm1JbmZvUm93SW5kZXg9PW51bGwgfHwgcmZ4Rm9ybUluZm9S
b3dJbmRleD09InVuZGVmaW5lZCIpDQoJCQl7DQoJCQkgIAlNU09Db25uX0Nvbm5D
YW5jZWxsZWQ9dHJ1ZTsNCgkJCX0NCgkJCWVsc2UgaWYocmZ4Rm9ybUluZm9Sb3dJ
bmRleD09InJlbW92ZSIpDQoJCQl7DQoJCQkJZG9jdW1lbnQuYWxsLk1TT0Nvbm5f
QnV0dG9uLnZhbHVlPSJyZW1vdmUiOw0KCQkJCXJmeEZvcm1JbmZvPSIiOw0KCQkJ
fQ0KCQkJZWxzZSBpZihyZnhGb3JtSW5mb1Jvd0luZGV4PT0iY2hvb3NlIikNCgkJ
CXsNCgkJCQlNU09Db25uX1Nob3dUYXJnZXRHcm91cHNEaWFsb2coKTsNCgkJCQlN
U09Db25uX1Nob3dYRm9ybXNBbmRQZXJzaXN0KCk7DQoJCQkJTVNPQ29ubl9Db25u
Q2FuY2VsbGVkPXRydWU7DQoJCQl9DQoJCQllbHNlDQoJCQkgew0KCQkJCXZhciBm
aWx0ZXJMaXN0PWZpbHRlckZpZWxkTGlzdDsNCgkJCQlpZihmaWx0ZXJGaWVsZERp
c3BsYXlMaXN0ICE9bnVsbCAmJiBmaWx0ZXJGaWVsZExpc3QubGVuZ3RoPT1maWx0
ZXJGaWVsZERpc3BsYXlMaXN0Lmxlbmd0aCkNCgkJCQl7DQoJCQkJCWZpbHRlckxp
c3Q9ZmlsdGVyRmllbGREaXNwbGF5TGlzdDsNCgkJCQl9DQoJCQkJdmFyIHNlbGVj
dGVkUm93RGlzcGxheUZpZWxkTmFtZT1yb3dMaXN0W3JmeEZvcm1JbmZvUm93SW5k
ZXhdOw0KCQkJCWFyZ3VtZW50cz1uZXcgQXJyYXkoZmlsdGVyTGlzdCwgc2VsZWN0
ZWRSb3dEaXNwbGF5RmllbGROYW1lLCBpc0Nvbm5lY3RlZCxjb25zdW1lclBhcnQu
Z2V0QXR0cmlidXRlKCJ0aXRsZSIpLHhGb3JtSW5mbywgZmlsdGVyRmllbGRMaXN0
KTsNCgkJCQl2YXIgcmZ4Rm9ybUluZm9GaWx0ZXJJbmRleD1zaG93TW9kYWxEaWFs
b2coZG9jdW1lbnQuYWxsLk1TT0Nvbm5fUkZDb25YZm9ybS52YWx1ZSwgYXJndW1l
bnRzICxzRmVhdHVyZXMpOw0KCQkJCWlmKHJmeEZvcm1JbmZvRmlsdGVySW5kZXg9
PW51bGwpDQoJCQkJew0KCQkJCQlNU09Db25uX0Nvbm5DYW5jZWxsZWQ9dHJ1ZTsN
CgkJCQl9DQoJCQkJZWxzZSBpZihyZnhGb3JtSW5mb0ZpbHRlckluZGV4PT0icmVt
b3ZlIikNCgkJCQl7DQoJCQkJCWRvY3VtZW50LmFsbC5NU09Db25uX0J1dHRvbi52
YWx1ZT0icmVtb3ZlIjsNCgkJCQkJcmZ4Rm9ybUluZm89IiI7DQoJCQkJfQ0KCQkJ
CWVsc2UgaWYocmZ4Rm9ybUluZm9GaWx0ZXJJbmRleD09InByZXZpb3VzIikNCgkJ
CQl7DQoJCQkJCU1TT0Nvbm5fU2hvd1Jvd0ZpbHRlclhGb3JtKHRhcmdldEludGVy
ZmFjZSk7DQoJCQkJfQ0KCQkJCWVsc2UgaWYoTVNPQ29ubl9Db25uQ2FuY2VsbGVk
ICE9dHJ1ZSkNCgkJCQl7DQoJCQkJCU1TT0Nvbm5fWGZvcm1JbmZvMT1maWx0ZXJG
aWVsZExpc3RbcmZ4Rm9ybUluZm9GaWx0ZXJJbmRleF07DQoJCQkJCU1TT0Nvbm5f
WGZvcm1JbmZvMj1yb3dGaWVsZExpc3RbcmZ4Rm9ybUluZm9Sb3dJbmRleF07CQ0K
CQkJCX0NCgkJCX0NCgkJfQ0KCQllbHNlDQoJCXsNCgkJCU1TT0Nvbm5fSW5pdEFy
Z3NFcnJvcigpOw0KCQkJTVNPQ29ubl9Db25uQ2FuY2VsbGVkPXRydWU7DQoJCX0N
Cgl9DQoJZWxzZQ0KCXsNCgkJTVNPQ29ubl9Jbml0QXJnc0Vycm9yKCk7DQoJCU1T
T0Nvbm5fQ29ubkNhbmNlbGxlZD10cnVlOw0KCX0NCn0NCmZ1bmN0aW9uICBNU09D
b25uX1Nob3dSb3dDZWxsWEZvcm0odGFyZ2V0SW50ZXJmYWNlKQ0Kew0KCXZhciBy
b3dQcm9Jbml0QXJnTm9kZT1udWxsOw0KCXZhciBjZWxsQ29uSW5pdEFyZ05vZGU9
bnVsbDsNCgl2YXIgcHJvdmlkZXJQYXJ0PW51bGw7DQoJdmFyIGNvbnN1bWVyUGFy
dD1udWxsOw0KCXZhciByY3hGb3JtSW5mbz1udWxsOw0KCXZhciBzTWF0Y2hJbnRl
cmZhY2VOYW1lPXRhcmdldEludGVyZmFjZS5zZWxlY3RTaW5nbGVOb2RlKCJtaSIp
LmdldEF0dHJpYnV0ZSgiaWQiKTsNCgl2YXIgeEZvcm1JbmZvPXRhcmdldEludGVy
ZmFjZS5zZWxlY3RTaW5nbGVOb2RlKCJtaSIpLmdldEF0dHJpYnV0ZSgieEluZm8i
KTsNCgl2YXIgc0ludGVyZmFjZU5vZGU9TVNPQ29ubl9Tb3VyY2VHcm91cE5vZGUu
c2VsZWN0U2luZ2xlTm9kZSgic0ludGVyZmFjZXMvc0ludGVyZmFjZVtAaWQ9JyIr
c01hdGNoSW50ZXJmYWNlTmFtZSsiJ10iKTsNCglyb3dQcm9Jbml0QXJnTm9kZT10
YXJnZXRJbnRlcmZhY2Uuc2VsZWN0U2luZ2xlTm9kZSgiSW5pdEV2ZW50QXJncy9S
b3dQcm92aWRlckluaXRFdmVudEFyZ3MiKTsNCgl2YXIgaXNDb25uZWN0ZWQ9TVNP
Q29ubl9UYXJnZXRHcm91cE5vZGUuZ2V0QXR0cmlidXRlKCJpc0Nvbm4iKTsNCglp
Ziggcm93UHJvSW5pdEFyZ05vZGU9PW51bGwpDQoJewkNCgkJcm93UHJvSW5pdEFy
Z05vZGU9c0ludGVyZmFjZU5vZGUuc2VsZWN0U2luZ2xlTm9kZSgiSW5pdEV2ZW50
QXJncy9Sb3dQcm92aWRlckluaXRFdmVudEFyZ3MiKTsNCgkJY2VsbENvbkluaXRB
cmdOb2RlPXRhcmdldEludGVyZmFjZS5zZWxlY3RTaW5nbGVOb2RlKCJJbml0RXZl
bnRBcmdzL0NlbGxDb25zdW1lckluaXRFdmVudEFyZ3MiKTsNCgkJcHJvdmlkZXJQ
YXJ0PU1TT0Nvbm5fU291cmNlV3BOb2RlOw0KCQljb25zdW1lclBhcnQ9TVNPQ29u
bl9UYXJnZXRXcE5vZGU7DQoJfQ0KCWVsc2UNCgl7DQoJCWNlbGxDb25Jbml0QXJn
Tm9kZT1zSW50ZXJmYWNlTm9kZS5zZWxlY3RTaW5nbGVOb2RlKCJJbml0RXZlbnRB
cmdzL0NlbGxDb25zdW1lckluaXRFdmVudEFyZ3MiKTsNCgkJcHJvdmlkZXJQYXJ0
PU1TT0Nvbm5fVGFyZ2V0V3BOb2RlOw0KCQljb25zdW1lclBhcnQ9TVNPQ29ubl9T
b3VyY2VXcE5vZGU7DQoJfQ0KCWlmKHJvd1Byb0luaXRBcmdOb2RlICE9bnVsbCAm
JiBjZWxsQ29uSW5pdEFyZ05vZGUgIT1udWxsKQ0KCXsNCgkJdmFyIGZpZWxkTGlz
dD1uZXcgQXJyYXkoKTsNCgkJdmFyIGZpZWxkRGlzcGxheUxpc3Q9bmV3IEFycmF5
KCk7DQoJCXZhciBmaWVsZExpc3ROb2Rlcz1yb3dQcm9Jbml0QXJnTm9kZS5zZWxl
Y3ROb2RlcygiRmllbGQiKTsNCgkJaWYoZmllbGRMaXN0Tm9kZXM9PW51bGwgfHwg
ZmllbGRMaXN0Tm9kZXMubGVuZ3RoPT0wKQ0KCQl7DQoJCQl2YXIgY3JlZj1yb3dQ
cm9Jbml0QXJnTm9kZS5nZXRBdHRyaWJ1dGUoImNyZWYiKTsNCgkJCWlmKGNyZWYg
IT1udWxsKQ0KCQkJew0KCQkJCXZhciBzdHJWYWw9Y3JlZisiLkdldEluaXRFdmVu
dEFyZ3MoKSI7DQoJCQkJdmFyIGFyZ3M9bnVsbDsNCgkJCQl0cnkNCgkJCQl7DQoJ
CQkJCWFyZ3M9ZXZhbChzdHJWYWwpOw0KCQkJCX0NCgkJCQljYXRjaChlKQ0KCQkJ
CXsNCgkJCQl9DQoJCQkJaWYoYXJncyAhPW51bGwpDQoJCQkJew0KCQkJCQlmaWVs
ZExpc3Q9YXJncy5GaWVsZExpc3Q7DQoJCQkJCWZpZWxkRGlzcGxheUxpc3Q9YXJn
cy5GaWVsZERpc3BsYXlMaXN0Ow0KCQkJCX0NCgkJCX0NCgkJfQ0KCQllbHNlDQoJ
CXsNCgkJCWZvcih2YXIgaT0wIDsgaTwgZmllbGRMaXN0Tm9kZXMubGVuZ3RoOyBp
KyspDQoJCQl7DQoJCQkJdmFyIGRpc3BsYXlMaXN0U2V0PWZhbHNlOw0KCQkJCWZp
ZWxkTGlzdFtpXT1maWVsZExpc3ROb2Rlc1tpXS5nZXRBdHRyaWJ1dGUoIkZpZWxk
TmFtZSIpOw0KCQkJCWlmKGZpZWxkTGlzdE5vZGVzW2ldLmdldEF0dHJpYnV0ZSgi
RmllbGREaXNwbGF5TmFtZSIpICE9bnVsbCkNCgkJCQl7DQoJCQkJCWZpZWxkRGlz
cGxheUxpc3RbaV09ZmllbGRMaXN0Tm9kZXNbaV0uZ2V0QXR0cmlidXRlKCJGaWVs
ZERpc3BsYXlOYW1lIik7DQoJCQkJCWRpc3BsYXlMaXN0U2V0PXRydWU7DQoJCQkJ
fQ0KCQkJCWVsc2UgaWYoZGlzcGxheUxpc3RTZXQ9PXRydWUpDQoJCQkJew0KCQkJ
CQlmaWVsZERpc3BsYXlMaXN0PW51bGw7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCXZh
ciBjZWxsPWNlbGxDb25Jbml0QXJnTm9kZS5nZXRBdHRyaWJ1dGUoIkZpZWxkTmFt
ZSIpOw0KCQl2YXIgY2VsbERpc3BsYXlOYW1lPWNlbGxDb25Jbml0QXJnTm9kZS5n
ZXRBdHRyaWJ1dGUoIkZpZWxkRGlzcGxheU5hbWUiKTsNCgkJaWYoY2VsbD09bnVs
bCkNCgkJew0KCQkJdmFyIGNyZWY9Y2VsbENvbkluaXRBcmdOb2RlLmdldEF0dHJp
YnV0ZSgiY3JlZiIpOw0KCQkJaWYoY3JlZiAhPW51bGwpDQoJCQl7DQoJCQkJdmFy
IHN0clZhbD1jcmVmKyIuR2V0SW5pdEV2ZW50QXJncygpIjsNCgkJCQl2YXIgYXJn
cz1udWxsOw0KCQkJCXRyeQ0KCQkJCXsNCgkJCQkJYXJncz1ldmFsKHN0clZhbCk7
DQoJCQkJfQ0KCQkJCWNhdGNoKGUpDQoJCQkJew0KCQkJCX0NCgkJCQlpZihhcmdz
ICE9bnVsbCkNCgkJCQl7DQoJCQkJCWNlbGw9YXJncy5GaWVsZE5hbWU7DQoJCQkJ
CWNlbGxEaXNwbGF5TmFtZT1hcmdzLmNlbGxEaXNwbGF5TmFtZTsNCgkJCQl9DQoJ
CQl9DQoJCX0NCgkJaWYoKGZpZWxkTGlzdCAhPW51bGwgICYmIGZpZWxkTGlzdC5s
ZW5ndGggIT0wICYmIGNlbGwgIT1udWxsKSB8fCBpc0Nvbm5lY3RlZD09J1RydWUn
KQ0KCQl7DQoJCQl2YXIgY2VsbE5hbWU9Y2VsbDsNCgkJCXZhciByb3dMaXN0PWZp
ZWxkTGlzdDsNCgkJCWlmKGZpZWxkRGlzcGxheUxpc3QgIT1udWxsICYmIGZpZWxk
RGlzcGxheUxpc3QubGVuZ3RoPT1maWVsZExpc3QubGVuZ3RoKQ0KCQkJew0KCQkJ
CXJvd0xpc3Q9ZmllbGREaXNwbGF5TGlzdDsNCgkJCX0NCgkJCWlmKGNlbGxEaXNw
bGF5TmFtZSAhPW51bGwpDQoJCQl7DQoJCQkJY2VsbE5hbWU9Y2VsbERpc3BsYXlO
YW1lOw0KCQkJfQ0KCQkJdmFyIGFyZ3VtZW50cz1uZXcgQXJyYXkocm93TGlzdCwg
Y2VsbE5hbWUsIGlzQ29ubmVjdGVkICwgcHJvdmlkZXJQYXJ0LmdldEF0dHJpYnV0
ZSgidGl0bGUiKSwgY29uc3VtZXJQYXJ0LmdldEF0dHJpYnV0ZSgidGl0bGUiKSxN
U09Db25uX011bHRpcGxlVGFyZ2V0R3JvdXBzLCB4Rm9ybUluZm8sIGZpZWxkTGlz
dCk7DQoJCQl2YXIgc0ZlYXR1cmVzPSJkaWFsb2dIZWlnaHQ6MjEwcHg7ZGlhbG9n
V2lkdGg6NDYwcHg7Y2VudGVyOnllcztoZWxwOm5vO3N0YXR1czpubztzY3JvbGw6
bm87cmVzaXphYmxlOm5vOyI7DQoJCQl2YXIgcmN4Rm9ybUluZm9JbmRleD1zaG93
TW9kYWxEaWFsb2coZG9jdW1lbnQuYWxsLk1TT0Nvbm5fUkNYZm9ybS52YWx1ZSxh
cmd1bWVudHMsc0ZlYXR1cmVzKTsNCgkJCWlmKHJjeEZvcm1JbmZvSW5kZXg9PSJ1
bmRlZmluZWQiIHx8IHJjeEZvcm1JbmZvSW5kZXg9PW51bGwpDQoJCQl7DQoJCQkJ
TVNPQ29ubl9Db25uQ2FuY2VsbGVkPXRydWU7DQoJCQl9DQoJCQllbHNlIGlmKHJj
eEZvcm1JbmZvSW5kZXg9PSJyZW1vdmUiKQ0KCQkJew0KCQkJCWRvY3VtZW50LmFs
bC5NU09Db25uX0J1dHRvbi52YWx1ZT0icmVtb3ZlIjsNCgkJCQlyY3hGb3JtSW5m
bz0iIjsNCgkJCX0NCgkJCWVsc2UgaWYocmN4Rm9ybUluZm9JbmRleD09ImNob29z
ZSIpDQoJCQl7DQoJCQkJTVNPQ29ubl9TaG93VGFyZ2V0R3JvdXBzRGlhbG9nKCk7
DQoJCQkJTVNPQ29ubl9TaG93WEZvcm1zQW5kUGVyc2lzdCgpOw0KCQkJCU1TT0Nv
bm5fQ29ubkNhbmNlbGxlZD10cnVlOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJ
CXJjeEZvcm1JbmZvPWZpZWxkTGlzdFtyY3hGb3JtSW5mb0luZGV4XTsNCgkJCX0N
CgkJfQ0KCQllbHNlDQoJCXsJDQoJCQlNU09Db25uX0luaXRBcmdzRXJyb3IoKTsN
CgkJCU1TT0Nvbm5fQ29ubkNhbmNlbGxlZD10cnVlOw0KCQl9DQoJfQ0KCWVsc2UN
Cgl7DQoJCU1TT0Nvbm5fSW5pdEFyZ3NFcnJvcigpOw0KCQlNU09Db25uX0Nvbm5D
YW5jZWxsZWQ9dHJ1ZTsNCgl9DQoJaWYocmN4Rm9ybUluZm8gIT1udWxsICYmIE1T
T0Nvbm5fQ29ubkNhbmNlbGxlZCAhPXRydWUpDQoJew0KCQlNU09Db25uX1hmb3Jt
SW5mbzE9cmN4Rm9ybUluZm87DQoJfQ0KfQ0KZnVuY3Rpb24gIE1TT0Nvbm5fU2hv
d0FzcFhGb3JtKHRhcmdldEludGVyZmFjZSkNCnsNCgl2YXIgeEZvcm1Ob2RlPXRh
cmdldEludGVyZmFjZS5zZWxlY3RTaW5nbGVOb2RlKCd4Rm9ybScpOw0KCXZhciB4
Rm9ybVR5cGU9eEZvcm1Ob2RlLmdldEF0dHJpYnV0ZSgidHlwZSIpOw0KCXZhciB4
Rm9ybUluZm89dGFyZ2V0SW50ZXJmYWNlLnNlbGVjdFNpbmdsZU5vZGUoIm1pIiku
Z2V0QXR0cmlidXRlKCJ4SW5mbyIpOw0KCXZhciBpc0Nvbm5lY3RlZD1NU09Db25u
X1RhcmdldEdyb3VwTm9kZS5nZXRBdHRyaWJ1dGUoImlzQ29ubiIpOw0KCXZhciB0
R3JvdXBJZD10YXJnZXRJbnRlcmZhY2UuZ2V0QXR0cmlidXRlKCJpZCIpOw0KCXZh
ciBpc011bHRpR3JvdXA7DQoJaWYgKE1TT0Nvbm5fTXVsdGlwbGVUYXJnZXRHcm91
cHMpDQoJew0KCQlpc011bHRpR3JvdXA9IlRydWUiOw0KCX0NCgllbHNlDQoJew0K
CQlpc011bHRpR3JvdXA9IkZhbHNlIjsNCgl9DQoJdmFyIHNGZWF0dXJlcz0iZGlh
bG9nSGVpZ2h0OjIxMHB4O2RpYWxvZ1dpZHRoOjQ2MHB4O2NlbnRlcjp5ZXM7aGVs
cDpubztzdGF0dXM6bm87c2Nyb2xsOm5vO3Jlc2l6YWJsZTpubzsiOw0KCXZhciB4
Rm9ybVVybD1kb2N1bWVudC5hbGwuTVNPQ29ubl9Bc3BYZm9ybVVybC52YWx1ZTsN
Cgl4Rm9ybVVybCs9Ij9wYWdlVXJsPSI7DQoJeEZvcm1VcmwrPWVzY2FwZVByb3Bl
cmx5KGRvY3VtZW50LmxvY2F0aW9uLmhyZWYpOw0KCXhGb3JtVXJsKz0iJnNXcElk
PSI7DQoJeEZvcm1VcmwrPWVzY2FwZVByb3Blcmx5KGRvY3VtZW50LmFsbC5NU09D
b25uX1NXcElkLnZhbHVlKTsNCgl4Rm9ybVVybCs9IiZzR3JvdXBJZD0iOw0KCXhG
b3JtVXJsKz1lc2NhcGVQcm9wZXJseShkb2N1bWVudC5hbGwuTVNPQ29ubl9TR3Jv
dXBJZC52YWx1ZSk7DQoJeEZvcm1VcmwrPSImdFdwSWQ9IjsNCgl4Rm9ybVVybCs9
ZXNjYXBlUHJvcGVybHkoZG9jdW1lbnQuYWxsLk1TT0Nvbm5fVFdwSWQudmFsdWUp
Ow0KCXhGb3JtVXJsKz0iJnRHcm91cElkPSI7DQoJeEZvcm1VcmwrPWVzY2FwZVBy
b3Blcmx5KHRHcm91cElkKTsNCgl4Rm9ybVVybCs9IiZ4Rm9ybVR5cGU9IjsNCgl4
Rm9ybVVybCs9ZXNjYXBlUHJvcGVybHkoeEZvcm1UeXBlKTsNCgl4Rm9ybVVybCs9
IiZ4Rm9ybUluZm89IjsNCgl4Rm9ybVVybCs9ZXNjYXBlUHJvcGVybHkoeEZvcm1J
bmZvKTsNCgl4Rm9ybVVybCs9IiZpc011bHRpR3JvdXA9IjsNCgl4Rm9ybVVybCs9
ZXNjYXBlUHJvcGVybHkoaXNNdWx0aUdyb3VwKTsNCgl4Rm9ybVVybCs9IiZpc0Nv
bm5lY3RlZD0iOw0KCXhGb3JtVXJsKz1lc2NhcGVQcm9wZXJseShpc0Nvbm5lY3Rl
ZCk7DQoJdmFyIHJldHVybkluZm89d2luZG93LnNob3dNb2RhbERpYWxvZyh4Rm9y
bVVybCwgbnVsbCwgc0ZlYXR1cmVzKTsNCglpZiAocmV0dXJuSW5mbz09bnVsbCkN
Cgl7DQoJCXJldHVybkluZm89bmV3IEFycmF5KG51bGwsIG51bGwpOw0KCX0NCgl2
YXIgYWN0aW9uPXJldHVybkluZm9bMF07DQoJdmFyIHNlcmlhbGl6ZWRDb25maWc9
cmV0dXJuSW5mb1sxXTsNCglpZihhY3Rpb249PSJ1bmRlZmluZWQiIHx8IGFjdGlv
bj09bnVsbCkNCgl7DQoJCU1TT0Nvbm5fQ29ubkNhbmNlbGxlZD10cnVlOw0KCX0N
CgllbHNlIGlmKGFjdGlvbj09InJlbW92ZSIpDQoJew0KCQlkb2N1bWVudC5hbGwu
TVNPQ29ubl9CdXR0b24udmFsdWU9InJlbW92ZSI7DQoJCXNlcmlhbGl6ZWRDb25m
aWc9IiI7DQoJfQ0KCWVsc2UgaWYoYWN0aW9uPT0iY2hvb3NlIikNCgl7DQoJCU1T
T0Nvbm5fU2hvd1RhcmdldEdyb3Vwc0RpYWxvZygpOw0KCQlNU09Db25uX1Nob3dY
Rm9ybXNBbmRQZXJzaXN0KCk7DQoJCU1TT0Nvbm5fQ29ubkNhbmNlbGxlZD10cnVl
Ow0KCX0NCglpZihzZXJpYWxpemVkQ29uZmlnICE9bnVsbCAmJiBNU09Db25uX0Nv
bm5DYW5jZWxsZWQgIT10cnVlKQ0KCXsNCgkJTVNPQ29ubl9Bc3BYZm9ybUluZm89
c2VyaWFsaXplZENvbmZpZzsNCgl9DQp9DQpmdW5jdGlvbiBNU09Db25uX0luaXRB
cmdzRXJyb3IoKQ0Kew0KCWRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yPSdhdXRv
JzsNCglhbGVydChNU09TdHJpbmdzLk5vSW5pdEFyZ3MpOw0KfQ0KZnVuY3Rpb24g
TVNPQ29ubl9TaG93VGFyZ2V0R3JvdXBzRGlhbG9nKCkNCnsNCgl2YXIgY29ubmVj
dGVkPWZhbHNlOw0KCWlmKE1TT0Nvbm5fVGFyZ2V0V3BOb2RlLnNlbGVjdE5vZGVz
KCJ0ZyIpICE9bnVsbCAmJiBNU09Db25uX1RhcmdldFdwTm9kZS5zZWxlY3ROb2Rl
cygidGciKS5sZW5ndGggIT0wKQ0KCXsNCgkJdmFyIHRhcmdldEdyb3VwTm9kZXM9
TVNPQ29ubl9UYXJnZXRXcE5vZGUuc2VsZWN0Tm9kZXMoInRnIik7DQoJCWlmKHRh
cmdldEdyb3VwTm9kZXMgIT1udWxsKQ0KCQl7DQoJCQlmb3IoaT0wOyBpPCB0YXJn
ZXRHcm91cE5vZGVzLmxlbmd0aDtpKyspDQoJCQl7DQoJCQkJdmFyIHRnPXRhcmdl
dEdyb3VwTm9kZXMuaXRlbShpKTsNCgkJCQlpZih0Zy5nZXRBdHRyaWJ1dGUoJ2lz
Q29ubicpPT0nVHJ1ZScpDQoJCQkJew0KCQkJCQljb25uZWN0ZWQ9dHJ1ZTsNCgkJ
CQkJTVNPQ29ubl9UYXJnZXRHcm91cE5vZGU9dGc7DQoJCQkJCWJyZWFrOw0KCQkJ
CX0NCgkJCX0NCgkJfQ0KCQlpZighY29ubmVjdGVkKQ0KCQl7DQoJCQl2YXIgc0Zl
YXR1cmVzPSJkaWFsb2dIZWlnaHQ6MjEwcHg7ZGlhbG9nV2lkdGg6NDYwcHg7Y2Vu
dGVyOnllcztoZWxwOm5vO3N0YXR1czpubztzY3JvbGw6bm87cmVzaXphYmxlOm5v
OyI7DQoJCQl2YXIgclZhbHVlcz1zaG93TW9kYWxEaWFsb2coZG9jdW1lbnQuYWxs
Lk1TT0Nvbm5fR3JvdXBVcmwudmFsdWUsIE1TT0Nvbm5fVGFyZ2V0V3BOb2RlLHNG
ZWF0dXJlcyk7DQoJCQlpZihyVmFsdWVzICE9bnVsbCkNCgkJCXsNCgkJCQlkb2N1
bWVudC5hbGwuTVNPQ29ubl9CdXR0b24udmFsdWU9clZhbHVlc1swXTsNCgkJCQl2
YXIgdGFyZ2V0R3JvdXBOb2Rlcz1NU09Db25uX1RhcmdldFdwTm9kZS5zZWxlY3RO
b2RlcygndGcnKTsNCgkJCQlmb3IgKHZhciBqPTA7IHRhcmdldEdyb3VwTm9kZXMu
bGVuZ3RoOyBqKyspDQoJCQkJew0KCQkJCQlpZiAodGFyZ2V0R3JvdXBOb2Rlc1tq
XS5nZXRBdHRyaWJ1dGUoJ2lkJyk9PXJWYWx1ZXNbMV0pDQoJCQkJCXsNCgkJCQkJ
CU1TT0Nvbm5fVGFyZ2V0R3JvdXBOb2RlPXRhcmdldEdyb3VwTm9kZXNbal07DQoJ
CQkJCQlicmVhazsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJCWVsc2UNCgkJCXsN
CgkJCQlNU09Db25uX0Nvbm5DYW5jZWxsZWQ9dHJ1ZTsNCgkJCX0NCgkJfQ0KCX0N
CgllbHNlDQoJew0KCQlNU09Db25uX0Nvbm5DYW5jZWxsZWQ9dHJ1ZTsNCgl9DQp9
DQpmdW5jdGlvbiBNU09Db25uX0NvbmZpcm1SZW1vdmVDb25uZWN0aW9uKHNvdXJj
ZVRpdGxlLCB0YXJnZXRUaXRsZSkNCnsNCgl2YXIgZXJyTXNnPU1TT1N0cmluZ3Mu
UmVtb3ZlQ29ubmVjdGlvbjsNCgl2YXIgdGl0bGVBcnJheT1uZXcgQXJyYXkoKTsN
Cgl0aXRsZUFycmF5WzBdPXNvdXJjZVRpdGxlOw0KCXRpdGxlQXJyYXlbMV09dGFy
Z2V0VGl0bGU7DQoJaWYodGl0bGVBcnJheSAhPW51bGwpDQoJew0KCQlmb3IodmFy
IGluZGV4PTA7IGluZGV4IDwgdGl0bGVBcnJheS5sZW5ndGg7IGluZGV4KyspDQoJ
CXsNCgkJCWVyck1zZz1lcnJNc2cucmVwbGFjZSgiJSIraW5kZXgsIHRpdGxlQXJy
YXlbaW5kZXhdKTsNCgkJfQ0KCX0NCglyZXR1cm4gZXJyTXNnOw0KfQ0KZnVuY3Rp
b24gTVNPQ29ubl9TaG93WEZvcm1zQW5kUGVyc2lzdCgpDQp7DQoJaWYoIU1TT0Nv
bm5fQ29ubkNhbmNlbGxlZCAmJiBNU09Db25uX1RhcmdldEdyb3VwTm9kZSAhPW51
bGwpDQoJew0KCQlpZihkb2N1bWVudC5hbGwuTVNPQ29ubl9CdXR0b24udmFsdWUg
IT0icmVtb3ZlIikNCgkJew0KCQkJTVNPQ29ubl9Jc1hGb3JtVUlOZWVkZWQoKTsN
CgkJfQ0KCQlpZighTVNPQ29ubl9Db25uQ2FuY2VsbGVkKQ0KCQl7DQoJCQlpZihk
b2N1bWVudC5hbGwuTVNPQ29ubl9CdXR0b24udmFsdWU9PSJyZW1vdmUiKQ0KCQkJ
ew0KCQkJCXZhciBlcnJNc2c9TVNPQ29ubl9Db25maXJtUmVtb3ZlQ29ubmVjdGlv
biggTVNPQ29ubl9Tb3VyY2VXcE5vZGUuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpLCBN
U09Db25uX1RhcmdldFdwTm9kZS5nZXRBdHRyaWJ1dGUoInRpdGxlIikpOw0KCQkJ
CWlmKGNvbmZpcm0oZXJyTXNnKSkNCgkJCQl7DQoJCQkJCU1TT0Nvbm5fUGVyc2lz
dENvbm5lY3Rpb24oKTsNCgkJCQl9DQoJCQl9DQoJCQllbHNlDQoJCQl7DQoJCQkJ
TVNPQ29ubl9QZXJzaXN0Q29ubmVjdGlvbigpOw0KCQkJfQ0KCQl9DQoJfQ0KCWRv
Y3VtZW50LmFsbC5NU09Db25uX0J1dHRvbi52YWx1ZT0ibm9uZSI7DQoJTVNPQ29u
bl9Db25uQ2FuY2VsbGVkPWZhbHNlOw0KCU1TT0Nvbm5fWGZvcm1JbmZvMT1udWxs
Ow0KCU1TT0Nvbm5fWGZvcm1JbmZvMj1udWxsOw0KCU1TT0Nvbm5fQXNwWGZvcm1J
bmZvPW51bGw7DQoJTVNPQ29ubl9Tb3VyY2VXcE5vZGU9bnVsbDsNCglNU09Db25u
X1RhcmdldFdwTm9kZT1udWxsOw0KCU1TT0Nvbm5fTXVsdGlwbGVUYXJnZXRHcm91
cHM9ZmFsc2U7DQoJTVNPQ29ubl9UYXJnZXRHcm91cE5vZGU9bnVsbDsNCglNU09D
b25uX1NvdXJjZUdyb3VwTm9kZT1udWxsOw0KfQ0KZnVuY3Rpb24gTVNPQ29ubl9D
cmVhdGVDb25uZWN0aW9uU3RlcDEoc291cmNlR3VpZCwNCgkJCQkJCQkJCQkJCXRh
cmdldEd1aWQsDQoJCQkJCQkJCQkJCQlzb3VyY2VUaXRsZSwNCgkJCQkJCQkJCQkJ
CXRhcmdldFRpdGxlLA0KCQkJCQkJCQkJCQkJc0dyb3VwSUQsDQoJCQkJCQkJCQkJ
CQljb25uZWN0ZWQsDQoJCQkJCQkJCQkJCQlpc1hGb3JtTmVlZGVkLA0KCQkJCQkJ
CQkJCQkJdEdyb3VwSUQpDQp7DQoJZG9jdW1lbnQuYWxsLk1TT0Nvbm5fU1dwSWQu
dmFsdWU9c291cmNlR3VpZDsNCglkb2N1bWVudC5hbGwuTVNPQ29ubl9UV3BJZC52
YWx1ZT10YXJnZXRHdWlkOw0KCWRvY3VtZW50LmFsbC5NU09Db25uX1NHcm91cElk
LnZhbHVlPXNHcm91cElEOw0KCWRvY3VtZW50LmFsbC5NU09Db25uX0J1dHRvbi52
YWx1ZT0ic2F2ZSI7DQoJZG9jdW1lbnQuYWxsLk1TT0Nvbm5fVEdyb3VwSWQudmFs
dWU9IiI7DQoJZG9jdW1lbnQuYWxsLk1TT0Nvbm5fWEZvcm0xLnZhbHVlPSIiOw0K
CWRvY3VtZW50LmFsbC5NU09Db25uX1hGb3JtMi52YWx1ZT0iIjsNCglkb2N1bWVu
dC5hbGwuTVNPQ29ubl9Bc3BYRm9ybS52YWx1ZT0iIjsNCgl2YXIgc3VibWl0PXRy
dWU7DQoJaWYodEdyb3VwSUQpDQoJew0KCQlkb2N1bWVudC5hbGwuTVNPQ29ubl9U
R3JvdXBJZC52YWx1ZT10R3JvdXBJRDsNCgl9DQoJaWYoY29ubmVjdGVkPT0iVHJ1
ZSIgJiYgdEdyb3VwSUQgIT1udWxsICYmIGlzWEZvcm1OZWVkZWQgIT1udWxsICYm
IGlzWEZvcm1OZWVkZWQ9PSJGYWxzZSIpDQoJew0KCQl2YXIgZXJyTXNnPU1TT0Nv
bm5fQ29uZmlybVJlbW92ZUNvbm5lY3Rpb24oc291cmNlVGl0bGUsIHRhcmdldFRp
dGxlKTsNCgkJaWYoY29uZmlybShlcnJNc2cpKQ0KCQl7DQoJCQlkb2N1bWVudC5h
bGwuTVNPQ29ubl9CdXR0b24udmFsdWU9InJlbW92ZSI7DQoJCX0NCgkJZWxzZQ0K
CQl7DQoJCQlzdWJtaXQ9ZmFsc2U7DQoJCX0NCgl9DQoJZWxzZSBpZihjb25uZWN0
ZWQ9PSJUcnVlIiAmJiB0R3JvdXBJRD09bnVsbCkNCgl7DQoJCWRvY3VtZW50LmFs
bC5NU09Db25uX0J1dHRvbi52YWx1ZT0iZWRpdCI7DQoJfQ0KCWlmKHN1Ym1pdD09
dHJ1ZSkNCgl7DQoJCWRvY3VtZW50LmFsbC5NU09Db25uX0NyZWF0aW9uU3RlcC52
YWx1ZT0iMSI7DQoJCWRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yPSJ3YWl0IjsN
CgkJX19kb1Bvc3RCYWNrKE1TT1dlYlBhcnRQYWdlRm9ybU5hbWUsICcnKTsNCgl9
DQp9DQpmdW5jdGlvbiBNU09Db25uX0NyZWF0ZUNvbm5lY3Rpb25TdGVwMihzb3Vy
Y2VHdWlkLCB0YXJnZXRHdWlkLCBzb3VyY2VJRCwgdGFyZ2V0SUQsIHNHcm91cElE
LCB0R3JvdXBJRCkNCnsJDQoJdmFyIHRhcmdldEdyb3VwSUQ9bnVsbDsNCgl2YXIg
dGFyZ2V0R3BOb2RlPW51bGw7DQoJZG9jdW1lbnQuYWxsLk1TT0Nvbm5fU1dwSWQu
dmFsdWU9c291cmNlR3VpZDsNCglkb2N1bWVudC5hbGwuTVNPQ29ubl9UV3BJZC52
YWx1ZT10YXJnZXRHdWlkOw0KCWRvY3VtZW50LmFsbC5NU09Db25uX1NHcm91cElk
LnZhbHVlPXNHcm91cElEOw0KCWRvY3VtZW50LmFsbC5NU09Db25uX1RHcm91cElk
LnZhbHVlPXRHcm91cElEOw0KCXZhciBzb3VyY2VXcE5vZGU9TVNPQ29ubl9Db21w
YXRpYmlsaXR5LnNlbGVjdFNpbmdsZU5vZGUoIkNvbm5EZXNpZ24vc1dlYlBhcnRb
QGlkPSdNU09Db25uXyIrc291cmNlSUQrIiddIik7DQoJaWYoc291cmNlV3BOb2Rl
ICE9bnVsbCkNCgl7DQoJCU1TT0Nvbm5fU291cmNlV3BOb2RlPXNvdXJjZVdwTm9k
ZTsNCgkJdmFyIHNvdXJjZUdwTm9kZT1udWxsOw0KCQl2YXIgc291cmNlR3BOb2Rl
cz1zb3VyY2VXcE5vZGUuc2VsZWN0Tm9kZXMoJ3NnJyk7DQoJCWZvciAodmFyIGk9
MDsgc291cmNlR3BOb2Rlcy5sZW5ndGg7IGorKykNCgkJew0KCQkJaWYgKHNvdXJj
ZUdwTm9kZXNbaV0uZ2V0QXR0cmlidXRlKCdpZCcpPT1zR3JvdXBJRCkNCgkJCXsN
CgkJCQlzb3VyY2VHcE5vZGU9c291cmNlR3BOb2Rlc1tpXTsNCgkJCQlicmVhazsN
CgkJCX0NCgkJfQ0KCQlpZihzb3VyY2VHcE5vZGUgIT1udWxsKQ0KCQl7DQoJCQlN
U09Db25uX1NvdXJjZUdyb3VwTm9kZT1zb3VyY2VHcE5vZGU7DQoJCQl2YXIgdGFy
Z2V0V3BOb2RlPXNvdXJjZUdwTm9kZS5zZWxlY3RTaW5nbGVOb2RlKCJ0UGFydHMv
dFdlYlBhcnRbQGlkPSdNU09Db25uXyIrdGFyZ2V0SUQrIiddIik7DQoJCQlpZih0
YXJnZXRXcE5vZGUgIT1udWxsKQ0KCQkJew0KCQkJCU1TT0Nvbm5fVGFyZ2V0V3BO
b2RlPXRhcmdldFdwTm9kZTsNCgkJCQlpZighdEdyb3VwSUQpDQoJCQkJew0KCQkJ
CQlNU09Db25uX011bHRpcGxlVGFyZ2V0R3JvdXBzPXRydWU7DQoJCQkJCU1TT0Nv
bm5fU2hvd1RhcmdldEdyb3Vwc0RpYWxvZygpOw0KCQkJCX0NCgkJCQllbHNlDQoJ
CQkJew0KCQkJCQl2YXIgdGFyZ2V0R3JvdXBOb2Rlcz10YXJnZXRXcE5vZGUuc2Vs
ZWN0Tm9kZXMoJ3RnJyk7DQoJCQkJCWZvciAodmFyIGo9MDsgdGFyZ2V0R3JvdXBO
b2Rlcy5sZW5ndGg7IGorKykNCgkJCQkJew0KCQkJCQkJaWYgKHRhcmdldEdyb3Vw
Tm9kZXNbal0uZ2V0QXR0cmlidXRlKCdpZCcpPT10R3JvdXBJRCkNCgkJCQkJCXsN
CgkJCQkJCQlNU09Db25uX1RhcmdldEdyb3VwTm9kZT10YXJnZXRHcm91cE5vZGVz
W2pdOw0KCQkJCQkJCWJyZWFrOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJ
CU1TT0Nvbm5fU2hvd1hGb3Jtc0FuZFBlcnNpc3QoKTsJCQkNCgkJCX0NCgkJfQ0K
CX0NCglkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcj0iYXV0byI7DQp9DQpmdW5j
dGlvbiBNU09Db25uX1BlcnNpc3RDb25uZWN0aW9uKCkNCnsNCglkb2N1bWVudC5h
bGwuTVNPQ29ubl9TR3JvdXBJZC52YWx1ZT1NU09Db25uX1NvdXJjZUdyb3VwTm9k
ZS5nZXRBdHRyaWJ1dGUoJ2lkJyk7DQoJZG9jdW1lbnQuYWxsLk1TT0Nvbm5fVEdy
b3VwSWQudmFsdWU9TVNPQ29ubl9UYXJnZXRHcm91cE5vZGUuZ2V0QXR0cmlidXRl
KCdpZCcpOw0KCWlmKGRvY3VtZW50LmFsbC5NU09Db25uX0J1dHRvbi52YWx1ZSAh
PSJyZW1vdmUiICYmIGRvY3VtZW50LmFsbC5NU09Db25uX0J1dHRvbi52YWx1ZSAh
PSJlZGl0IikNCgl7DQoJCWRvY3VtZW50LmFsbC5NU09Db25uX0J1dHRvbi52YWx1
ZT0ic2F2ZSI7DQoJfQ0KCWlmKE1TT0Nvbm5fWGZvcm1JbmZvMSAhPW51bGwpDQoJ
ew0KCQlkb2N1bWVudC5hbGwuTVNPQ29ubl9YRm9ybTEudmFsdWU9TVNPQ29ubl9Y
Zm9ybUluZm8xOw0KCX0NCglpZihNU09Db25uX1hmb3JtSW5mbzIgIT1udWxsKQ0K
CXsNCgkJZG9jdW1lbnQuYWxsLk1TT0Nvbm5fWEZvcm0yLnZhbHVlPU1TT0Nvbm5f
WGZvcm1JbmZvMjsNCgl9DQoJaWYoTVNPQ29ubl9Bc3BYZm9ybUluZm8gIT1udWxs
KQ0KCXsNCgkJZG9jdW1lbnQuYWxsLk1TT0Nvbm5fQXNwWEZvcm0udmFsdWU9TVNP
Q29ubl9Bc3BYZm9ybUluZm87DQoJfQ0KCV9fZG9Qb3N0QmFjayhNU09XZWJQYXJ0
UGFnZUZvcm1OYW1lLCAnJyk7DQp9DQpmdW5jdGlvbiBNU09MYXlvdXRfU2hvd0Vy
cm9yRGV0YWlscygpDQp7DQoJdmFyIHNyYz1ldmVudC5zcmNFbGVtZW50LnBhcmVu
dEVsZW1lbnQ7DQoJIE1TT0xheW91dF9TaG93SGlkZUVycm9yRGV0YWlscyhzcmMu
bmV4dFNpYmxpbmcsIHNyYyk7DQp9DQpmdW5jdGlvbiBNU09MYXlvdXRfSGlkZUVy
cm9yRGV0YWlscygpDQp7DQoJdmFyIHNyYz1ldmVudC5zcmNFbGVtZW50LnBhcmVu
dEVsZW1lbnQucGFyZW50RWxlbWVudDsNCgkgTVNPTGF5b3V0X1Nob3dIaWRlRXJy
b3JEZXRhaWxzKHNyYy5wcmV2aW91c1NpYmxpbmcsIHNyYyk7DQp9DQpmdW5jdGlv
biBNU09MYXlvdXRfU2hvd0hpZGVFcnJvckRldGFpbHMoc2hvdywgaGlkZSkNCnsN
CgloaWRlLnN0eWxlLmRpc3BsYXk9J25vbmUnOw0KCXNob3cuc3R5bGUuZGlzcGxh
eT0naW5saW5lJzsNCn0NCmZ1bmN0aW9uIE1TT0xheW91dF9TaG93UXVpY2tBZGRE
aWFsb2coc2l0ZUlkLCB3ZWJJZCwgZW5jb2RlZFF1aWNrQWRkR3JvdXBzLCBzaG93
TGlzdHNBbmRMaWJyYXJpZXMsIG51bWJlck9mV2ViUGFydHNJblpvbmUsIG1heFdl
YlBhcnRzSW5ab25lLGNhbGxiYWNrTWV0aG9kLCBlbkNvZGVkWm9uZURpc3BsYXlO
YW1lLCBwb3BVcFBhZ2UsZmVhdHVyZSkNCnsNCgl2YXIgcXVlcnlTdHJpbmc9Jz9T
aXRlSWQ9JytzaXRlSWQrJyZXZWJJZD0nK3dlYklkOw0KCWlmKGVuY29kZWRRdWlj
a0FkZEdyb3VwcyAhPScnKQ0KCXsNCgkJcXVlcnlTdHJpbmcrPScmR3JvdXBzPScr
ZW5jb2RlZFF1aWNrQWRkR3JvdXBzOw0KCX0NCglpZihzaG93TGlzdHNBbmRMaWJy
YXJpZXM9PWZhbHNlKQ0KCXsNCgkJcXVlcnlTdHJpbmcrPScmU2hvd0xpc3RzQW5k
TGlicmFyaWVzPWZhbHNlJzsNCgl9DQoJcXVlcnlTdHJpbmcrPScmTnVtYmVyT2ZX
ZWJQYXJ0c0luWm9uZT0nK251bWJlck9mV2ViUGFydHNJblpvbmU7DQoJcXVlcnlT
dHJpbmcrPScmTWF4V2ViUGFydHNJblpvbmU9JyttYXhXZWJQYXJ0c0luWm9uZTsN
CglpZihlbkNvZGVkWm9uZURpc3BsYXlOYW1lICE9JycpDQoJew0KCQlxdWVyeVN0
cmluZys9JyZab25lRGlzcGxheU5hbWU9JytlbkNvZGVkWm9uZURpc3BsYXlOYW1l
Ow0KCX0NCgljb21tb25TaG93TW9kYWxEaWFsb2cocG9wVXBQYWdlK3F1ZXJ5U3Ry
aW5nLCBmZWF0dXJlLCBjYWxsYmFja01ldGhvZCk7ICAgICAgICAJDQp9DQp2YXIg
TVNPVGxQbl9wcmV2QnVpbGRlcj1udWxsOw0KdmFyIE1TT1RsUG5fcHJldldpZHRo
PTA7DQp2YXIgTVNPVGxQbl9wcmV2SGVpZ2h0PTA7DQp2YXIgTVNPVGxQbl9zaG93
blZpZXdDaGFuZ2VXYXJuaW5nPWZhbHNlOw0KdmFyIE1TT1dlYlBhcnRQYWdlX2hp
ZGVOZXh0QmVmb3JlVW5sb2FkPWZhbHNlOw0KdmFyIE1TT1dlYlBhcnRQYWdlX3Bh
cnREZWxldGVkPSIiOw0KdmFyIE1TT0NoYW5nZUluVG9vbFBhbmVXaWR0aD0xMjA7
DQpmdW5jdGlvbiBDb252ZXJ0VG9Bc3BQYXJ0RGlzcGxheU1vZGUodmlldykNCnsN
Cgl2YXIgZGlzcGxheU1vZGU7DQoJc3dpdGNoKHZpZXcpDQoJew0KCQljYXNlICct
MSc6IGRpc3BsYXlNb2RlPSdFeHRlbnNpYmxlVmlldyc7DQoJCQlicmVhazsNCgkJ
Y2FzZSAnMCc6IGRpc3BsYXlNb2RlPSdCcm93c2UnOw0KCQkJYnJlYWs7DQoJCWNh
c2UgJzEnOiBkaXNwbGF5TW9kZT0nRWRpdCc7DQoJCQlicmVhazsNCgkJY2FzZSAn
Mic6IGRpc3BsYXlNb2RlPSdDYXRhbG9nJzsNCgkJCWJyZWFrOw0KCQljYXNlICcz
JzogZGlzcGxheU1vZGU9J0dhbGxlcnlTZWFyY2gnOw0KCQkJYnJlYWs7DQoJCWNh
c2UgJzQnOiBkaXNwbGF5TW9kZT0nTmF2aWdhdGlvbic7DQoJCQlicmVhazsNCgkJ
Y2FzZSAnNSc6IGRpc3BsYXlNb2RlPSdJbXBvcnQnOw0KCQkJYnJlYWs7DQoJCWNh
c2UgJzYnOiBkaXNwbGF5TW9kZT0nRG93bkxldmVsV2ViUGFydE1lbnUnOw0KCQkJ
YnJlYWs7DQoJCWNhc2UgJzcnOiBkaXNwbGF5TW9kZT0nVG9vbFBhbmVFcnInOw0K
CQkJYnJlYWs7DQoJCX0NCglyZXR1cm4gZGlzcGxheU1vZGU7DQp9DQpmdW5jdGlv
biBNU09UbFBuX1Nob3dUb29sUGFuZTIoZGlzcGxheU1vZGVOYW1lKQ0Kew0KCWlm
IChkb2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5NU09HYWxs
ZXJ5X0ZpbHRlclZpc2libGUpDQoJCWRvY3VtZW50LmZvcm1zW01TT1dlYlBhcnRQ
YWdlRm9ybU5hbWVdLk1TT0dhbGxlcnlfRmlsdGVyVmlzaWJsZS52YWx1ZT0nZmFs
c2UnOw0KCWRvY3VtZW50LmZvcm1zW01TT1dlYlBhcnRQYWdlRm9ybU5hbWVdLk1T
T1NQV2ViUGFydE1hbmFnZXJfRGlzcGxheU1vZGVOYW1lLnZhbHVlPWRpc3BsYXlN
b2RlTmFtZTsNCglpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpDQoJew0KCQlkb2N1
bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5NU09TUFdlYlBhcnRN
YW5hZ2VyX1N0YXJ0V2ViUGFydEVkaXRpbmdOYW1lLnZhbHVlPSd0cnVlJzsNCgkJ
ZG9jdW1lbnQuZm9ybXNbTVNPV2ViUGFydFBhZ2VGb3JtTmFtZV0uTVNPVGxQbl9T
ZWxlY3RlZFdwSWQudmFsdWU9YXJndW1lbnRzWzFdOw0KCX0NCglfX2RvUG9zdEJh
Y2soTVNPV2ViUGFydFBhZ2VGb3JtTmFtZSwnJyk7DQp9DQpmdW5jdGlvbiBNU09U
bFBuX1Nob3dUb29sUGFuZTJXcmFwcGVyKGRpc3BsYXlNb2RlTmFtZSwgc291cmNl
KQ0Kew0KCWRvY3VtZW50LmZvcm1zW01TT1dlYlBhcnRQYWdlRm9ybU5hbWVdLk1T
T1dlYlBhcnRQYWdlX1Bvc3RiYWNrU291cmNlLnZhbHVlPXNvdXJjZTsNCglpZigg
YXJndW1lbnRzWzJdPT1udWxsICkNCgkJTVNPVGxQbl9TaG93VG9vbFBhbmUyKGRp
c3BsYXlNb2RlTmFtZSk7DQoJZWxzZQ0KCQlNU09UbFBuX1Nob3dUb29sUGFuZTIo
ZGlzcGxheU1vZGVOYW1lLCBhcmd1bWVudHNbMl0pOw0KfQ0KZnVuY3Rpb24gTVNP
VGxQbl9TaG93VG9vbFBhbmUodmlldykNCnsNCglpZiAoYXJndW1lbnRzLmxlbmd0
aCA+IDEpDQoJCU1TT1RsUG5fU2hvd1Rvb2xQYW5lMihDb252ZXJ0VG9Bc3BQYXJ0
RGlzcGxheU1vZGUodmlldyksIGFyZ3VtZW50c1sxXSk7DQoJZWxzZQ0KCQlNU09U
bFBuX1Nob3dUb29sUGFuZTIoQ29udmVydFRvQXNwUGFydERpc3BsYXlNb2RlKHZp
ZXcpKTsNCn0NCmZ1bmN0aW9uIE1TT1RsUG5fU2hvd1Rvb2xQYW5lV3JhcHBlcih2
aWV3LCBzb3VyY2UpDQp7DQoJaWYgKGFyZ3VtZW50c1syXT09bnVsbCkNCgkJTVNP
VGxQbl9TaG93VG9vbFBhbmUyV3JhcHBlcihDb252ZXJ0VG9Bc3BQYXJ0RGlzcGxh
eU1vZGUodmlldyksIHNvdXJjZSk7DQoJZWxzZQ0KCQlNU09UbFBuX1Nob3dUb29s
UGFuZTJXcmFwcGVyKENvbnZlcnRUb0FzcFBhcnREaXNwbGF5TW9kZSh2aWV3KSwg
c291cmNlLCBhcmd1bWVudHNbMl0pOw0KfQ0KZnVuY3Rpb24gTVNPTGF5b3V0X0No
ZWNrQW5kU2F2ZUNoYW5nZXMoKQ0Kew0KCWlmKGRvY3VtZW50LmZvcm1zW01TT1dl
YlBhcnRQYWdlRm9ybU5hbWVdLk1TT0xheW91dF9MYXlvdXRDaGFuZ2VzICE9bnVs
bCAmJiBkb2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5NU09M
YXlvdXRfTGF5b3V0Q2hhbmdlcy52YWx1ZSAhPSIiKQ0KCXsNCgkJTVNPTGF5b3V0
X1NhdmVDaGFuZ2VzKCk7DQoJfQ0KfQ0KZnVuY3Rpb24gTVNPV2ViUGFydFBhZ2Vf
RXhwb3J0Q2hlY2tXYXJuaW5nKGFkZHJlc3MsIGhhc1BlcnNvbmFsaXphdGlvbnMp
DQp7DQoJdmFyIGRvZXhwb3J0PXRydWU7DQoJaWYgKGhhc1BlcnNvbmFsaXphdGlv
bnMpDQoJew0KCQlpZiAoIWNvbmZpcm0oTVNPU3RyaW5ncy5FeHBvcnRQZXJzb25h
bGl6YXRpb25EaWFsb2dUZXh0KSkNCgkJew0KCQkJZG9leHBvcnQ9ZmFsc2U7DQoJ
CX0NCgl9DQoJaWYgKGRvZXhwb3J0KQ0KCXsNCgkJdmFyIG9sZFNhdmVQZXJmb3Jt
ZWQ9ZmFsc2U7DQoJCWlmKHR5cGVvZihNU09XUFNDX1NhdmVQZXJmb3JtZWQpPT0i
Ym9vbGVhbiIpDQoJCXsNCgkJCW9sZFNhdmVQZXJmb3JtZWQ9TVNPV1BTQ19TYXZl
UGVyZm9ybWVkOw0KCQl9DQoJCU1TT1dlYlBhcnRQYWdlX1NldFdpbmRvd0xvY2F0
aW9uKGFkZHJlc3MpOw0KCQlpZih0eXBlb2YoTVNPV1BTQ19TYXZlUGVyZm9ybWVk
KT09ImJvb2xlYW4iKQ0KCQl7DQoJCQlNU09XUFNDX1NhdmVQZXJmb3JtZWQ9b2xk
U2F2ZVBlcmZvcm1lZDsNCgkJCU1TT1dlYlBhcnRQYWdlX2hpZGVOZXh0QmVmb3Jl
VW5sb2FkPXRydWU7DQoJCX0NCgl9DQp9DQpmdW5jdGlvbiBNU09Nb2RlX1NldE1v
ZGUoYkFsbFVzZXJzKQ0Kew0KCXZhciBuZXdVcmw9TVNPTW9kZV9HZXROZXdVcmwo
YkFsbFVzZXJzKTsNCglNU09MYXlvdXRfQ2hlY2tBbmRTYXZlQ2hhbmdlcygpOw0K
CWlmKGRvY3VtZW50LmZvcm1zW01TT1dlYlBhcnRQYWdlRm9ybU5hbWVdLk1TT1NQ
V2ViUGFydE1hbmFnZXJfRGlzcGxheU1vZGVOYW1lLnZhbHVlICE9J05hdmlnYXRp
b24nKQ0KCXsNCgkJZG9jdW1lbnQuZm9ybXNbTVNPV2ViUGFydFBhZ2VGb3JtTmFt
ZV0uTVNPU1BXZWJQYXJ0TWFuYWdlcl9EaXNwbGF5TW9kZU5hbWUudmFsdWU9J0Jy
b3dzZSc7DQoJCXZhciB0b29sUGFuZVZpZXdFeHByZXNzaW9uPS9bJiB8IFw/XVRv
b2xQYW5lVmlldz1bLTAtOUEtWl0qL2lnOw0KCQl2YXIgZGlzcGxheU1vZGVFeHBy
ZXNzaW9uPS9bJiB8IFw/XURpc3BsYXlNb2RlPVthLXpBLVpdKi9pZzsNCgkJbmV3
VXJsPU1TT01vZGVfUmVtb3ZlTW9kZShuZXdVcmwsIHRvb2xQYW5lVmlld0V4cHJl
c3Npb24pOw0KCQluZXdVcmw9TVNPTW9kZV9SZW1vdmVNb2RlKG5ld1VybCwgZGlz
cGxheU1vZGVFeHByZXNzaW9uKTsNCgl9DQoJZG9jdW1lbnQuZm9ybXNbTVNPV2Vi
UGFydFBhZ2VGb3JtTmFtZV0uTVNPV2ViUGFydFBhZ2VfU2hhcmVkLnZhbHVlPWJB
bGxVc2VycyA/ICJ0cnVlIiA6ICJmYWxzZSI7DQoJZG9jdW1lbnQuZm9ybXNbTVNP
V2ViUGFydFBhZ2VGb3JtTmFtZV0uYWN0aW9uPW5ld1VybDsNCglfX2RvUG9zdEJh
Y2soTVNPV2ViUGFydFBhZ2VGb3JtTmFtZSwnJyk7DQp9DQpmdW5jdGlvbiBNU09N
b2RlX0dldE5ld1VybChiQWxsVXNlcnMsIG5ld1VybCkNCnsNCglpZiAobmV3VXJs
PT1udWxsKQ0KCXsNCgkJbmV3VXJsPWRvY3VtZW50LmxvY2F0aW9uLmhyZWY7DQoJ
fQ0KCXZhciBwZXJzb25hbFZpZXdFeHByZXNzaW9uPS9bJiB8IFw/XVBhZ2VWaWV3
PVBlcnNvbmFsL2lnOw0KCXZhciBhbGxVc2Vyc1ZpZXdFeHByZXNzaW9uPS9bJiB8
IFw/XVBhZ2VWaWV3PVNoYXJlZC9pZzsNCgl2YXIgbmV3TW9kZT0iUGFnZVZpZXc9
IisoYkFsbFVzZXJzID8gIlNoYXJlZCIgOiAiUGVyc29uYWwiKTsNCgluZXdVcmw9
TVNPTW9kZV9SZW1vdmVNb2RlKG5ld1VybCwgcGVyc29uYWxWaWV3RXhwcmVzc2lv
bik7DQoJbmV3VXJsPU1TT01vZGVfUmVtb3ZlTW9kZShuZXdVcmwsIGFsbFVzZXJz
Vmlld0V4cHJlc3Npb24pOw0KCW5ld1VybD1NU09Nb2RlX0FkZE1vZGUobmV3VXJs
LCBhbGxVc2Vyc1ZpZXdFeHByZXNzaW9uLCBuZXdNb2RlKTsNCglyZXR1cm4gbmV3
VXJsOw0KfQ0KZnVuY3Rpb24gTVNPTW9kZV9SZW1vdmVNb2RlKG5ld1VybCwgcmVn
RXhwcmVzc2lvbikNCnsNCgl2YXIgaGFzaE1hcmtFeHByZXNzaW9uPS9cIy87DQoJ
dmFyIGhhc2hNYXJrSW5kZXg9bmV3VXJsLnNlYXJjaChoYXNoTWFya0V4cHJlc3Np
b24pOw0KCWlmKGhhc2hNYXJrSW5kZXggIT0tMSkNCgl7DQoJCW5ld1VybD1uZXdV
cmwuc3Vic3RyaW5nKDAsIGhhc2hNYXJrSW5kZXgpOw0KCX0NCgl2YXIgcXVlc3Rp
b25NYXJrRXhwcmVzc2lvbj0vXD8vOw0KCXZhciBxdWVzdGlvbk1hcmtJbmRleD1u
ZXdVcmwuc2VhcmNoKHF1ZXN0aW9uTWFya0V4cHJlc3Npb24pOw0KCWlmKHF1ZXN0
aW9uTWFya0luZGV4ICE9LTEpDQoJew0KCQl2YXIgcGF0aFN0cmluZz1uZXdVcmwu
c3Vic3RyaW5nKDAsIHF1ZXN0aW9uTWFya0luZGV4KTsNCgkJdmFyIHF1ZXJ5U3Ry
aW5nPW5ld1VybC5zdWJzdHJpbmcocXVlc3Rpb25NYXJrSW5kZXgsIG5ld1VybC5s
ZW5ndGgpOw0KCQlxdWVyeVN0cmluZz1xdWVyeVN0cmluZy5yZXBsYWNlKHJlZ0V4
cHJlc3Npb24sJycpOw0KCQlpZihxdWVyeVN0cmluZy5sZW5ndGggIT0wICYmIHF1
ZXJ5U3RyaW5nLmNoYXJBdCgwKSAhPSc/JykNCgkJew0KCQkJcXVlcnlTdHJpbmc9
Ij8iK3F1ZXJ5U3RyaW5nOw0KCQl9DQoJCW5ld1VybD1wYXRoU3RyaW5nK3F1ZXJ5
U3RyaW5nOw0KCX0NCglyZXR1cm4gbmV3VXJsOw0KfQ0KZnVuY3Rpb24gTVNPTW9k
ZV9BZGRNb2RlKG5ld1VybCwgcmVnRXhwcmVzc2lvbiwgc3RyaW5nVG9BZGQpDQp7
DQoJdmFyIGhhc2hNYXJrRXhwcmVzc2lvbj0vXCMvOw0KCXZhciBoYXNoTWFya0lu
ZGV4PW5ld1VybC5zZWFyY2goaGFzaE1hcmtFeHByZXNzaW9uKTsNCglpZihoYXNo
TWFya0luZGV4ICE9LTEpDQoJew0KCQluZXdVcmw9bmV3VXJsLnN1YnN0cmluZygw
LCBoYXNoTWFya0luZGV4KTsNCgl9DQoJdmFyIHF1ZXN0aW9uTWFya0V4cHJlc3Np
b249L1w/LzsNCgl2YXIgcXVlc3Rpb25NYXJrSW5kZXg9bmV3VXJsLnNlYXJjaChx
dWVzdGlvbk1hcmtFeHByZXNzaW9uKTsNCglpZihxdWVzdGlvbk1hcmtJbmRleD09
LTEgKQ0KCXsNCgkJbmV3VXJsKz0nPycrc3RyaW5nVG9BZGQ7DQoJfQ0KCWVsc2UN
Cgl7DQoJCXZhciBxdWVyeVN0cmluZz1uZXdVcmwuc3Vic3RyaW5nKHF1ZXN0aW9u
TWFya0luZGV4LCBuZXdVcmwubGVuZ3RoKTsNCgkJaWYocXVlcnlTdHJpbmcuc2Vh
cmNoKHJlZ0V4cHJlc3Npb24pPT0tMSkNCgkJew0KCQkJbmV3VXJsKz0nJicrc3Ry
aW5nVG9BZGQ7DQoJCX0NCgl9DQoJcmV0dXJuIG5ld1VybDsNCn0NCmZ1bmN0aW9u
IE1TT1BHcmlkX0J1aWxkZXJWaXNpYmxlKGJ1aWxkZXJJRCkNCnsNCglNU09QR3Jp
ZF9IaWRlUHJldkJ1aWxkZXIoKTsNCglNU09UbFBuX3ByZXZCdWlsZGVyPW51bGw7
DQoJYnVpbGRlcklELnN0eWxlLmRpc3BsYXk9J2lubGluZSc7DQp9DQpmdW5jdGlv
biBNU09QR3JpZF9IaWRlUHJldkJ1aWxkZXIoKQ0Kew0KCWlmKE1TT1RsUG5fcHJl
dkJ1aWxkZXIgIT1udWxsKQ0KCXsNCgkJZXZhbChNU09UbFBuX3ByZXZCdWlsZGVy
KS5zdHlsZS5kaXNwbGF5PSdub25lJzsNCgl9DQp9DQpmdW5jdGlvbiBNU09QR3Jp
ZF9kb0J1aWxkZXIoYnVpbGRlclVybCwgZWRpdG9ySWQsIGRpYWxvZ0ZlYXR1cmVz
KQ0Kew0KCXZhciBwUmV0dXJuVmFsdWU9c2hvd01vZGFsRGlhbG9nKGJ1aWxkZXJV
cmwsZWRpdG9ySWQsZGlhbG9nRmVhdHVyZXMpOw0KCWVkaXRvcklkLnZhbHVlPXBS
ZXR1cm5WYWx1ZTsNCi8vQGNjX29uDQovL0BpZiAoQF9qc2NyaXB0X3ZlcnNpb24g
Pj01KQ0KLy9AICAgICB0cnkgeyBlZGl0b3JJZC5mb2N1cygpOyB9IGNhdGNoIChl
eGNlcHRpb24pIHt9DQovL0BlbHNlDQovL0BlbmQNCn0NCmZ1bmN0aW9uIE1TT1dl
YlBhcnRQYWdlX1Jlc3RvcmVQYWdlRGVmYXVsdCgpDQp7DQoJaWYoY29uZmlybShN
U09TdHJpbmdzLlJlc2V0UGFnZVBlcnNvbmFsaXphdGlvbkRpYWxvZ1RleHQpKQ0K
CXsNCgkJdmFyIG5ld0lucHV0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0lOUFVU
Jyk7DQoJCS8vQGNjX29uDQoJCS8vQGlmIChAX2pzY3JpcHRfdmVyc2lvbiA+PTUp
DQoJCS8vQCAgICAgdHJ5DQoJCS8vQGVsc2UNCgkJLy9AZW5kDQoJCXsNCgkJCW5l
d0lucHV0LnR5cGU9J2hpZGRlbic7DQoJCX0NCgkJLy9AY2Nfb24NCgkJLy9AaWYg
KEBfanNjcmlwdF92ZXJzaW9uID49NSkNCgkJLy9AICAgICBjYXRjaChlKXtuZXdJ
bnB1dC5zdHlsZS5kaXNwbGF5PSdub25lJzt9DQoJCS8vQGVsc2UNCgkJLy9AZW5k
DQoJCW5ld0lucHV0Lm5hbWU9J01TT1dlYlBhcnRQYWdlX1Jlc3RvcmVQYWdlRGVm
YXVsdCc7DQoJCW5ld0lucHV0LnZhbHVlPSd0cnVlJzsNCgkJZG9jdW1lbnQuZm9y
bXNbTVNPV2ViUGFydFBhZ2VGb3JtTmFtZV0uYXBwZW5kQ2hpbGQobmV3SW5wdXQp
Ow0KCQlpZihkb2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5N
U09MYXlvdXRfTGF5b3V0Q2hhbmdlcyAhPW51bGwpDQoJCXsNCgkJCWRvY3VtZW50
LmZvcm1zW01TT1dlYlBhcnRQYWdlRm9ybU5hbWVdLk1TT0xheW91dF9MYXlvdXRD
aGFuZ2VzLnZhbHVlPSIiOw0KCQl9DQoJCU1TT01vZGVfU2V0TW9kZShmYWxzZSk7
DQoJfQ0KfQ0KZnVuY3Rpb24gTVNPV2ViUGFydFBhZ2VfUmVzdG9yZVBhcnREZWZh
dWx0cyh3ZWJQYXJ0SUQpDQp7DQoJaWYoY29uZmlybShNU09TdHJpbmdzLlJlc2V0
UGFydFBlcnNvbmFsaXphdGlvbkRpYWxvZ1RleHQpKQ0KCXsNCgkJdmFyIG5ld0lu
cHV0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0lOUFVUJyk7DQoJCS8vQGNjX29u
DQoJCS8vQGlmIChAX2pzY3JpcHRfdmVyc2lvbiA+PTUpDQoJCS8vQCAgICAgdHJ5
DQoJCS8vQGVsc2UNCgkJLy9AZW5kDQoJCXsNCgkJCW5ld0lucHV0LnR5cGU9J2hp
ZGRlbic7DQoJCX0NCgkJLy9AY2Nfb24NCgkJLy9AaWYgKEBfanNjcmlwdF92ZXJz
aW9uID49NSkNCgkJLy9AICAgICBjYXRjaChlKXtuZXdJbnB1dC5zdHlsZS5kaXNw
bGF5PSdub25lJzt9DQoJCS8vQGVsc2UNCgkJLy9AZW5kDQoJCW5ld0lucHV0Lm5h
bWU9J01TT19SZXN0b3JlU2V0dGluZ3MnOw0KCQluZXdJbnB1dC52YWx1ZT13ZWJQ
YXJ0SUQ7DQoJCWRvY3VtZW50LmZvcm1zW01TT1dlYlBhcnRQYWdlRm9ybU5hbWVd
LmFwcGVuZENoaWxkKG5ld0lucHV0KTsNCgkJTVNPTW9kZV9TZXRNb2RlKGZhbHNl
KTsNCgl9DQp9DQpmdW5jdGlvbiBNU09XZWJQYXJ0UGFnZV9NZW51RG9Qb3N0QmFj
ayhldmVudFRhcmdldCwgZXZlbnRBcmd1bWVudCkNCnsNCgl2YXIgdGhlZm9ybT1k
b2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZvcm1OYW1lXTsNCgl2YXIgZXZl
bnRUYXJnZXRGaWVsZD10aGVmb3JtLl9fRVZFTlRUQVJHRVQ7DQoJdmFyIGV2ZW50
QXJndW1lbnRGaWVsZD10aGVmb3JtLl9fRVZFTlRBUkdVTUVOVDsNCglpZihldmVu
dFRhcmdldEZpZWxkPT1udWxsKQ0KCXsNCgkJZXZlbnRUYXJnZXRGaWVsZD1kb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdJTlBVVCcpOw0KCQlldmVudFRhcmdldEZpZWxk
LnN0eWxlLmRpc3BsYXk9J25vbmUnOw0KCQlldmVudFRhcmdldEZpZWxkLm5hbWU9
J19fRVZFTlRUQVJHRVQnOw0KCQlkb2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFn
ZUZvcm1OYW1lXS5hcHBlbmRDaGlsZChldmVudFRhcmdldEZpZWxkKTsNCgl9DQoJ
aWYoZXZlbnRBcmd1bWVudEZpZWxkPT1udWxsKQ0KCXsNCgkJZXZlbnRBcmd1bWVu
dEZpZWxkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0lOUFVUJyk7DQoJCWV2ZW50
QXJndW1lbnRGaWVsZC5zdHlsZS5kaXNwbGF5PSdub25lJzsNCgkJZXZlbnRBcmd1
bWVudEZpZWxkLm5hbWU9J19fRVZFTlRBUkdVTUVOVCc7DQoJCWRvY3VtZW50LmZv
cm1zW01TT1dlYlBhcnRQYWdlRm9ybU5hbWVdLmFwcGVuZENoaWxkKGV2ZW50QXJn
dW1lbnRGaWVsZCk7DQoJfQ0KCV9fZG9Qb3N0QmFjayhldmVudFRhcmdldCwgZXZl
bnRBcmd1bWVudCk7DQp9DQpmdW5jdGlvbiBNU09XZWJQYXJ0UGFnZV9TaWduSW4o
KQ0Kew0KCXZhciBuZXdJbnB1dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdJTlBV
VCcpOw0KCS8vQGNjX29uDQoJLy9AaWYgKEBfanNjcmlwdF92ZXJzaW9uID49NSkN
CgkvL0AgICAgIHRyeQ0KCS8vQGVsc2UNCgkvL0BlbmQNCgl7DQoJCW5ld0lucHV0
LnR5cGU9J2hpZGRlbic7DQoJfQ0KCS8vQGNjX29uDQoJLy9AaWYgKEBfanNjcmlw
dF92ZXJzaW9uID49NSkNCgkvL0AgICAgIGNhdGNoKGUpe25ld0lucHV0LnN0eWxl
LmRpc3BsYXk9J25vbmUnO30NCgkvL0BlbHNlDQoJLy9AZW5kDQoJbmV3SW5wdXQu
bmFtZT0nTVNPV2ViUGFydFBhZ2VfQW5vbnltb3VzQWNjZXNzTG9nSW4nOw0KCW5l
d0lucHV0LnZhbHVlPSIxIjsNCglkb2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFn
ZUZvcm1OYW1lXS5hcHBlbmRDaGlsZChuZXdJbnB1dCk7DQoJX19kb1Bvc3RCYWNr
KE1TT1dlYlBhcnRQYWdlRm9ybU5hbWUsJycpOw0KfQ0KZnVuY3Rpb24gTVNPV2Vi
UGFydFBhZ2VfU2V0V2luZG93TG9jYXRpb24obmV3TG9jYXRpb24pDQp7DQoJdmFy
IG5ld0xvY2F0aW9uTG93ZXJDYXNlPW5ld0xvY2F0aW9uLnRvTG93ZXJDYXNlKCk7
DQoJaWYobmV3TG9jYXRpb25Mb3dlckNhc2UuaW5kZXhPZignamF2YXNjcmlwdDon
KT09MCB8fCBuZXdMb2NhdGlvbkxvd2VyQ2FzZS5pbmRleE9mKCd2YnNjcmlwdDon
KT09MCkNCgl7DQoJCU1TT1dlYlBhcnRQYWdlX2hpZGVOZXh0QmVmb3JlVW5sb2Fk
PXRydWU7DQoJfQ0KCXdpbmRvdy5sb2NhdGlvbj1uZXdMb2NhdGlvbjsNCn0NCmZ1
bmN0aW9uIE1TT1dlYlBhcnRQYWdlX1NldE5ld1dpbmRvd0xvY2F0aW9uKGhlbHBV
cmwsIGhlbHBNb2RlKQ0Kew0KCWlmIChoZWxwTW9kZT09MCB8fCBoZWxwTW9kZT09
MSkNCgl7DQoJCWlmIChoZWxwTW9kZT09MCkNCgkJew0KCQkJdmFyIGRpYWxvZ0lu
Zm89ImVkZ2U6IFN1bmtlbjsgY2VudGVyOiB5ZXM7IGhlbHA6IG5vOyByZXNpemFi
bGU6IHllczsgc3RhdHVzOiBubyI7DQoJCQl3aW5kb3cuY29tbW9uU2hvd01vZGFs
RGlhbG9nKGhlbHBVcmwsIGRpYWxvZ0luZm8pOw0KCQl9DQoJCWVsc2UNCgkJew0K
CQkJd2luZG93Lm9wZW4oaGVscFVybCwgbnVsbCwgInNjcm9sbGJhcnM9eWVzLHJl
c2l6YWJsZT15ZXMsc3RhdHVzPW5vLHRvb2xiYXI9bm8sbWVudWJhcj1ubyxsb2Nh
dGlvbj1ubyIpOw0KCQl9DQoJfQ0KCWVsc2UgaWYgKGhlbHBNb2RlPT0yKQ0KCXsN
CgkJd2luZG93LmxvY2F0aW9uPWhlbHBVcmw7DQoJfQ0KfQ0KZnVuY3Rpb24gTVNP
VGxQbl9vblRvb2xQYW5lQ2xvc2VDbGljaygpDQp7DQoJdmFyIERpc3BsYXlNb2Rl
QnJvd3NlPSdCcm93c2UnOw0KCXZhciBQb3N0YmFja1NvdXJjZVNldHRpbmdzSGlk
ZT0nNDknOw0KCU1TT1RsUG5fU2hvd1Rvb2xQYW5lMldyYXBwZXIoRGlzcGxheU1v
ZGVCcm93c2UsIFBvc3RiYWNrU291cmNlU2V0dGluZ3NIaWRlKTsNCn0NCmZ1bmN0
aW9uIE1TT1BHcmlkX0ludm9rZUZQQnVpbGRlcih0eXBlLGFyZ3VtZW50cyxlZGl0
b3JDdHJsKQ0Kew0KCWVkaXRvckN0cmwudmFsdWU9d2luZG93LmV4dGVybmFsLklu
dm9rZUJ1aWxkZXIodHlwZSxhcmd1bWVudHMsZWRpdG9yQ3RybC5pZCk7DQoJZWRp
dG9yQ3RybC5mb2N1cygpOw0KfQ0KZnVuY3Rpb24gTVNPTWVudV9LZXlib2FyZENs
aWNrKHdpZGdldCkNCnsNCglmb3IodmFyIGluZGV4PTE7IGluZGV4IDwgYXJndW1l
bnRzLmxlbmd0aDsgaW5kZXgrKykNCgl7DQoJCWlmKGV2ZW50LmtleUNvZGU9PWFy
Z3VtZW50c1tpbmRleF0pDQoJCXsNCgkJCXdpZGdldC5jbGljaygpOw0KCQkJZXZl
bnQucmV0dXJuVmFsdWU9ZmFsc2U7DQoJCQlyZXR1cm47DQoJCX0NCgl9DQp9DQpm
dW5jdGlvbiBNU09UbFBuX1RvZ2dsZURpc3BsYXkoc3RySUQsc3RySW1nTmFtZSxz
dHJBbmNob3JOYW1lLHN0ckFsdEV4cGFuZFRleHQsc3RyQWx0Q29sbGFwc2VUZXh0
LCBzdHJJbWFnZUFuY2hvck5hbWUpDQp7DQoJdmFyIGZpZWxkSUQ9c3RySUQrJ19T
VEFURUZJRUxEJzsNCgl2YXIgc3RhdGVGaWVsZFZhbHVlOw0KCXZhciBncm91cD1k
b2N1bWVudC5nZXRFbGVtZW50QnlJZChzdHJJRCk7DQoJdmFyIGltYWdlPWRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKHN0ckltZ05hbWUpOw0KCXZhciBhbmNob3I9ZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoc3RyQW5jaG9yTmFtZSk7DQoJdmFyIGltZ0Fu
Y2hvcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChzdHJJbWFnZUFuY2hvck5hbWUp
Ow0KCWlmKCBncm91cC5zdHlsZS5kaXNwbGF5PT0nbm9uZScgKQ0KCXsNCgkJZ3Jv
dXAuc3R5bGUuZGlzcGxheT0nJzsNCgkJaW1hZ2Uuc3JjPScvX2xheW91dHMvaW1h
Z2VzL1RQTWluMi5naWYnOw0KCQlpbWFnZS5hbHQ9c3RyQWx0Q29sbGFwc2VUZXh0
Ow0KCQlpbWdBbmNob3IudGl0bGU9c3RyQWx0Q29sbGFwc2VUZXh0Ow0KCQlhbmNo
b3IudGl0bGU9c3RyQWx0Q29sbGFwc2VUZXh0Ow0KCQlzdGF0ZUZpZWxkVmFsdWU9
IjEiOw0KCX0NCgllbHNlDQoJew0KCQlncm91cC5zdHlsZS5kaXNwbGF5PSdub25l
JzsNCgkJaW1hZ2Uuc3JjPScvX2xheW91dHMvaW1hZ2VzL1RQTWF4Mi5naWYnOw0K
CQlpbWFnZS5hbHQ9c3RyQWx0RXhwYW5kVGV4dDsNCgkJaW1nQW5jaG9yLnRpdGxl
PXN0ckFsdEV4cGFuZFRleHQ7DQoJCWFuY2hvci50aXRsZT1zdHJBbHRFeHBhbmRU
ZXh0Ow0KCQlzdGF0ZUZpZWxkVmFsdWU9IjAiOw0KCX0NCgl2YXIgZmllbGQ9ZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoZmllbGRJRCk7DQoJaWYoZmllbGQgIT1udWxs
KQ0KCXsNCgkJZmllbGQudmFsdWU9c3RhdGVGaWVsZFZhbHVlOw0KCX0NCn0NCmZ1
bmN0aW9uIE1TT1RsUG5fb25Ub29sUGFuZU1heENsaWNrKCkNCnsNCgl2YXIgbW9k
PTE7DQoJdmFyIG1pbk1heEljb249ZG9jdW1lbnQuYWxsWydNU09UbFBuX21pbk1h
eEljb24nXTsNCgl2YXIgbmV3U3JjPW1pbk1heEljb24uc3JjLnN1YnN0cmluZygw
LCBtaW5NYXhJY29uLnNyYy5sYXN0SW5kZXhPZignLycpKzEpOw0KCWlmIChkb2N1
bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFnZUZvcm1OYW1lXS5NU09UbFBuX01heGlt
aXplZC52YWx1ZT09IkZhbHNlIikNCgl7DQoJCWRvY3VtZW50LmFsbFsnTVNPVGxQ
bl9UYmwnXS5zdHlsZS53aWR0aD0ocGFyc2VJbnQoZG9jdW1lbnQuYWxsWydNU09U
bFBuX1RibCddLm9mZnNldFdpZHRoKStNU09DaGFuZ2VJblRvb2xQYW5lV2lkdGgp
LnRvU3RyaW5nKCkrInB4IjsNCgkJbmV3U3JjKz0oKGRvY3VtZW50LmRpcj09InJ0
bCIpID8gInRwbWF4LmdpZiIgOiAidHBtaW4uZ2lmIik7DQoJCW1pbk1heEljb24u
dGl0bGU9TVNPU3RyaW5ncy5Ub29sUGFuZVNocmlua1Rvb2xUaXA7DQoJCW1pbk1h
eEljb24uYWx0PU1TT1N0cmluZ3MuVG9vbFBhbmVTaHJpbmtUb29sVGlwOw0KCQlt
aW5NYXhJY29uLnBhcmVudEVsZW1lbnQudGl0bGU9TVNPU3RyaW5ncy5Ub29sUGFu
ZVNocmlua1Rvb2xUaXA7DQoJCWRvY3VtZW50LmZvcm1zW01TT1dlYlBhcnRQYWdl
Rm9ybU5hbWVdLk1TT1RsUG5fTWF4aW1pemVkLnZhbHVlPSJUcnVlIjsNCgl9DQoJ
ZWxzZQ0KCXsNCgkJZG9jdW1lbnQuYWxsWydNU09UbFBuX1RibCddLnN0eWxlLndp
ZHRoPSIyMjVweCI7DQoJCW5ld1NyYys9KChkb2N1bWVudC5kaXI9PSJydGwiKSA/
ICJ0cG1pbi5naWYiIDogInRwbWF4LmdpZiIpOw0KCQltaW5NYXhJY29uLnRpdGxl
PU1TT1N0cmluZ3MuVG9vbFBhbmVXaWRlblRvb2xUaXA7DQoJCW1pbk1heEljb24u
YWx0PU1TT1N0cmluZ3MuVG9vbFBhbmVXaWRlblRvb2xUaXA7DQoJCW1pbk1heElj
b24ucGFyZW50RWxlbWVudC50aXRsZT1NU09TdHJpbmdzLlRvb2xQYW5lV2lkZW5U
b29sVGlwOw0KCQltb2Q9LTE7DQoJCWRvY3VtZW50LmZvcm1zW01TT1dlYlBhcnRQ
YWdlRm9ybU5hbWVdLk1TT1RsUG5fTWF4aW1pemVkLnZhbHVlPSJGYWxzZSI7DQoJ
fQ0KCW1pbk1heEljb24uc3JjPW5ld1NyYzsNCgl2YXIgeD1kb2N1bWVudC5hbGxb
J01TT1RsUG5fVGJsJ107DQoJZm9yKHZhciBpPTA7IGkgPCB4LmFsbC5sZW5ndGg7
IGkrKykNCgl7DQovL0BjY19vbg0KLy9AaWYgKEBfanNjcmlwdF92ZXJzaW9uID49
NSkNCi8vQCAgICAgdHJ5DQovL0BlbHNlDQovL0BlbmQNCgkJew0KCQkJaWYgKHgu
YWxsKGkpLmdldEF0dHJpYnV0ZSgnbXMtVGxQbldpZGVuJyk9PSJ0cnVlIikNCgkJ
CXsNCgkJCSAgIHguYWxsKGkpLnN0eWxlLnBpeGVsV2lkdGgrPW1vZCpNU09DaGFu
Z2VJblRvb2xQYW5lV2lkdGg7DQoJCQl9DQoJCX0NCi8vQGNjX29uDQovL0BpZiAo
QF9qc2NyaXB0X3ZlcnNpb24gPj01KQ0KLy9AICAgICBjYXRjaCAoZSkNCi8vQGVs
c2UNCi8vQGVuZA0KCQl7DQoJCX0NCgl9DQp9DQpmdW5jdGlvbiBNU09UbFBuX1dp
bmRvd1Jlc2l6ZSgpDQp7DQoJdmFyIG9ialRvb2xQYW5lPWRvY3VtZW50LmFsbFsn
TVNPVGxQbl9NYWluVEQnXTsNCglpZiAob2JqVG9vbFBhbmU9PW51bGwgfHwgb2Jq
VG9vbFBhbmUub2Zmc2V0V2lkdGg9PTApIHJldHVybjsNCgl2YXIgd2lkdGhUb29s
UGFuZT1vYmpUb29sUGFuZS5vZmZzZXRXaWR0aDsNCgl2YXIgZG9jRnJhbWU9KGRv
Y3VtZW50LmJvZHkub2Zmc2V0V2lkdGggLSBkb2N1bWVudC5ib2R5LmNsaWVudFdp
ZHRoKTsNCgl2YXIgc3BEaXY9ZG9jdW1lbnQuYWxsWydNU09UbFBuX1dlYlBhcnRQ
YWdlRGl2J107DQoJaWYgKChzcERpdi5vZmZzZXRXaWR0aCtvYmpUb29sUGFuZS5v
ZmZzZXRXaWR0aCk9PWRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgpDQoJew0KCQly
ZXR1cm47DQoJfQ0KCXZhciB3aWR0aEFuY2VzdG9ycz0wOw0KCXZhciBuZXh0PXNw
RGl2Lm9mZnNldFBhcmVudDsNCgl2YXIgZWxlbWVudFdpZHRoPTA7DQoJd2hpbGUg
KG5leHQgIT1udWxsKQ0KCXsNCgkJaWYgKGRvY3VtZW50LmRpciAhPSJydGwiKQ0K
CQl7DQoJCQllbGVtZW50V2lkdGg9bmV4dC5vZmZzZXRMZWZ0KyhuZXh0Lm9mZnNl
dFdpZHRoIC0gKG5leHQuY2xpZW50TGVmdCtuZXh0LmNsaWVudFdpZHRoKSk7DQoJ
CQlpZiAobmV4dC5vZmZzZXRQYXJlbnQgIT1udWxsKQ0KCQkJew0KCQkJCWVsZW1l
bnRXaWR0aCs9bmV4dC5vZmZzZXRQYXJlbnQuY2xpZW50TGVmdDsNCgkJCX0NCgkJ
fQ0KCQllbHNlDQoJCXsNCgkJCWVsZW1lbnRXaWR0aD0obmV4dC5vZmZzZXRQYXJl
bnQgIT1udWxsKSA/IChuZXh0Lm9mZnNldFBhcmVudC5vZmZzZXRXaWR0aCAtIChu
ZXh0Lm9mZnNldExlZnQrbmV4dC5vZmZzZXRXaWR0aCkpIDogMDsNCgkJfQ0KCQl3
aWR0aEFuY2VzdG9ycys9ZWxlbWVudFdpZHRoOw0KCQluZXh0PW5leHQub2Zmc2V0
UGFyZW50Ow0KCX0NCgl3aWR0aEFuY2VzdG9ycyAtPWRvY0ZyYW1lOw0KCXZhciB3
aWR0aENlbnRlcj1kb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoIC0gKHdpZHRoQW5j
ZXN0b3JzK3dpZHRoVG9vbFBhbmUpOw0KCWlmICh3aWR0aENlbnRlciA8IDI1MCkN
CgkJd2lkdGhDZW50ZXI9MjUwOw0KCWRvY3VtZW50LmFsbFsnTVNPX3RibFBhZ2VC
b2R5J10uc3R5bGUucGl4ZWxXaWR0aD13aWR0aENlbnRlcit3aWR0aFRvb2xQYW5l
Ow0KCXNwRGl2LnN0eWxlLnBpeGVsV2lkdGg9d2lkdGhDZW50ZXI7DQoJaWYgKHdp
bmRvdy5ldmVudC50eXBlPT0ibG9hZCIgJiYgZG9jdW1lbnQuYWxsLk1TT1RsUG5f
VGxQbkNhcHRpb25TcGFuIT1udWxsKQ0KCQlkb2N1bWVudC5hbGwuTVNPVGxQbl9U
bFBuQ2FwdGlvblNwYW4uc2Nyb2xsSW50b1ZpZXcoZmFsc2UpOw0KfQ0KZnVuY3Rp
b24gTVNPVGxQbl9DaGVja1VybCgpDQp7DQoJdmFyIHRvb2xQYW5lVmlld0V4cHJl
c3Npb249L1smIHwgXD9dVG9vbFBhbmVWaWV3PVstMC05QS1aXSovaWc7DQoJdmFy
IGRpc3BsYXlNb2RlRXhwcmVzc2lvbj0vWyYgfCBcP11EaXNwbGF5TW9kZT1bYS16
QS1aXSovaWc7DQoJdmFyIGZvcm1BY3Rpb249ZG9jdW1lbnQuZm9ybXNbTVNPV2Vi
UGFydFBhZ2VGb3JtTmFtZV0uYWN0aW9uOw0KCXZhciBuZXdVcmw7DQoJbmV3VXJs
PU1TT01vZGVfUmVtb3ZlTW9kZShkb2N1bWVudC5mb3Jtc1tNU09XZWJQYXJ0UGFn
ZUZvcm1OYW1lXS5hY3Rpb24sIHRvb2xQYW5lVmlld0V4cHJlc3Npb24pOw0KCW5l
d1VybD1NU09Nb2RlX1JlbW92ZU1vZGUoZG9jdW1lbnQuZm9ybXNbTVNPV2ViUGFy
dFBhZ2VGb3JtTmFtZV0uYWN0aW9uLCBkaXNwbGF5TW9kZUV4cHJlc3Npb24pOw0K
CWRvY3VtZW50LmZvcm1zW01TT1dlYlBhcnRQYWdlRm9ybU5hbWVdLmFjdGlvbj1u
ZXdVcmw7DQp9DQpmdW5jdGlvbiBNU09UbFBuX1Jlc2l6ZShvYmopDQp7DQoJaWYg
KE1TT1RsUG5fcHJldldpZHRoICE9b2JqLmNsaWVudFdpZHRoKQ0KCXsNCgkJTVNP
VGxQbl9wcmV2V2lkdGg9b2JqLmNsaWVudFdpZHRoOw0KCQlNU09UbFBuX1dpbmRv
d1Jlc2l6ZSgpOw0KCX0NCglpZiAoTVNPVGxQbl9wcmV2SGVpZ2h0ICE9ZG9jdW1l
bnQuYm9keS5jbGllbnRIZWlnaHQpDQoJew0KCQlNU09UbFBuX3ByZXZIZWlnaHQ9
ZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7DQoJCXZhciBzcERpdj1kb2N1bWVu
dC5hbGxbJ01TT1RsUG5fV2ViUGFydFBhZ2VEaXYnXTsNCgkJc3BEaXYuc3R5bGUu
aGVpZ2h0PSIxMDAlIjsNCgkJc3BEaXYuc3R5bGUuaGVpZ2h0PXNwRGl2Lm9mZnNl
dEhlaWdodDsNCgl9DQp9DQpmdW5jdGlvbiBNU09XZWJQYXJ0UGFnZV9TZXR1cEZp
eGVkV2lkdGhXZWJQYXJ0cygpDQp7DQoJdmFyIGZpeGVkV2lkdGhUaXRsZXM9ZG9j
dW1lbnQuYWxsWydNU09GaXhlZFdpZHRoVGl0bGUnXTsNCglpZihmaXhlZFdpZHRo
VGl0bGVzICE9bnVsbCkNCgl7DQoJCWlmKGZpeGVkV2lkdGhUaXRsZXMubGVuZ3Ro
ID4gMCkNCgkJew0KCQkJZm9yKHZhciBlbGVtZW50SW5kZXg9MDsgZWxlbWVudElu
ZGV4IDwgZml4ZWRXaWR0aFRpdGxlcy5sZW5ndGg7IGVsZW1lbnRJbmRleCsrKQ0K
CQkJew0KCQkJCWZpeGVkV2lkdGhUaXRsZXNbZWxlbWVudEluZGV4XS5zdHlsZS53
aWR0aD1NU09XZWJQYXJ0UGFnZV9BbGxvY2F0ZVNwYWNlRm9yRmlyc3RURChmaXhl
ZFdpZHRoVGl0bGVzW2VsZW1lbnRJbmRleF0pOw0KCQkJfQ0KCQl9DQoJCWVsc2UN
CgkJew0KCQkJZml4ZWRXaWR0aFRpdGxlcy5zdHlsZS53aWR0aD1NU09XZWJQYXJ0
UGFnZV9BbGxvY2F0ZVNwYWNlRm9yRmlyc3RURChmaXhlZFdpZHRoVGl0bGVzKTsN
CgkJfQ0KCX0NCn0NCmZ1bmN0aW9uIE1TT1dlYlBhcnRQYWdlX0FsbG9jYXRlU3Bh
Y2VGb3JGaXJzdFREKHRpdGxlRGl2KQ0Kew0KCXZhciB0ZW1wRWxlbWVudD1kb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJESVYiKTsNCgl0ZW1wRWxlbWVudC5zdHlsZS53
aWR0aD10aXRsZURpdi5maXhlZFdpZHRoOw0KCWRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQodGVtcEVsZW1lbnQpOw0KCXZhciBwaXhlbFNpemU9dGVtcEVsZW1lbnQu
b2Zmc2V0V2lkdGg7DQoJZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZW1wRWxl
bWVudCk7DQoJdmFyIHRlbXBUYWJsZT1NU09MYXlvdXRfR2V0UGFyZW50VGFibGUo
dGl0bGVEaXYpLmNsb25lTm9kZSh0cnVlKTsNCglpZih0ZW1wVGFibGUgIT0wKQ0K
CXsNCgkJZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZW1wVGFibGUpOw0KCQl2
YXIgdGVtcFRhYmxlUm93PXRlbXBUYWJsZS5yb3dzKDApOw0KCQlmb3IodmFyIGlu
ZGV4PTE7IGluZGV4IDwgdGVtcFRhYmxlUm93LmNlbGxzLmxlbmd0aDsgaW5kZXgr
KykNCgkJew0KCQkJcGl4ZWxTaXplIC09dGVtcFRhYmxlUm93LmNlbGxzKGluZGV4
KS5vZmZzZXRXaWR0aDsNCgkJfQ0KCQlkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxk
KHRlbXBUYWJsZSk7DQoJfQ0KCXJldHVybiAocGl4ZWxTaXplIDwgMSkgPyAxIDog
cGl4ZWxTaXplOw0KfQ0KZnVuY3Rpb24gTVNPV2ViUGFydFBhZ2VfRmluZENvbnRy
b2xOYW1lKG5hbWUpDQp7DQogICB2YXIgbGFiZWxjb2xsZWN0aW9uPWRvY3VtZW50
LmFsbC50YWdzKCJsYWJlbCIpOw0KICAgaWYgKGxhYmVsY29sbGVjdGlvbiAhPW51
bGwpDQogICB7DQoJICAgZm9yIChpPTA7IGkgPCBsYWJlbGNvbGxlY3Rpb24ubGVu
Z3RoOyBpKyspDQoJICAgew0KCQkJdmFyIGxhYmVsPWxhYmVsY29sbGVjdGlvbltp
XTsNCgkJCWlmIChsYWJlbC5pbm5lclRleHQ9PW5hbWUpDQoJCQl7DQoJCQkJaWYg
KGxhYmVsLmh0bWxGb3IuaW5kZXhPZigiX0VESVRPUiIpICE9LTEpDQoJCQkJew0K
CQkJCQlyZXR1cm4obGFiZWwuaHRtbEZvcik7DQoJCQkJfQ0KCQkJfQ0KCSAgIH0N
Cgl9DQoJcmV0dXJuIG51bGw7DQp9DQpmdW5jdGlvbiBNU09UbFBuX0xpc3RWaWV3
Q2hhbmdlKHN0cldhcm5pbmdUZXh0KQ0Kew0KCWlmIChNU09UbFBuX3Nob3duVmll
d0NoYW5nZVdhcm5pbmcpDQoJCXJldHVybjsNCglhbGVydChzdHJXYXJuaW5nVGV4
dCk7DQoJTVNPVGxQbl9zaG93blZpZXdDaGFuZ2VXYXJuaW5nPXRydWU7DQp9DQpm
dW5jdGlvbiBNU09UbFBuX0N1c3RvbVdpbmRvd1Jlc2l6ZSgpDQp7DQoJdmFyIG9i
alRvb2xQYW5lPWRvY3VtZW50LmFsbFsnTVNPVGxQbl9UYmwnXTsNCglpZiAob2Jq
VG9vbFBhbmU9PW51bGwgfHwgb2JqVG9vbFBhbmUub2Zmc2V0V2lkdGg9PTApIHJl
dHVybjsNCglvYmpUb29sUGFuZS5zdHlsZS5waXhlbFdpZHRoPWRvY3VtZW50LmJv
ZHkuY2xpZW50V2lkdGg7DQp9DQpmdW5jdGlvbiBNU09UbFBuX1Nob3dMaXN0Rmls
dGVyKCkNCnsNCglpZiAoZG9jdW1lbnQuYWxsWydXZWJQYXJ0TGlzdEZpbHRlcidd
LnN0eWxlLmRpc3BsYXk9PSdub25lJykNCgl7DQoJCWRvY3VtZW50LmFsbFsnV2Vi
UGFydExpc3RGaWx0ZXInXS5zdHlsZS5kaXNwbGF5PSdibG9jayc7DQoJCWRvY3Vt
ZW50LmZvcm1zW01TT1dlYlBhcnRQYWdlRm9ybU5hbWVdLk1TT0dhbGxlcnlfRmls
dGVyVmlzaWJsZS52YWx1ZT0idHJ1ZSI7DQoJfQ0KCWVsc2UNCgl7DQoJCWRvY3Vt
ZW50LmFsbFsnV2ViUGFydExpc3RGaWx0ZXInXS5zdHlsZS5kaXNwbGF5PSdub25l
JzsNCgkJZG9jdW1lbnQuZm9ybXNbTVNPV2ViUGFydFBhZ2VGb3JtTmFtZV0uTVNP
R2FsbGVyeV9GaWx0ZXJWaXNpYmxlLnZhbHVlPSJmYWxzZSI7DQoJfQ0KfQ0KZnVu
Y3Rpb24gTVNPR2FsbGVyeV9HZXRDb29raWUobmFtZSkNCnsNCgl2YXIgcHJlZml4
PW5hbWUrIj0iOw0KCXZhciBjb29raWVTdGFydEluZGV4PWRvY3VtZW50LmNvb2tp
ZS5pbmRleE9mKHByZWZpeCk7DQoJaWYgKGNvb2tpZVN0YXJ0SW5kZXg9PS0xKQ0K
CXsNCgkJcmV0dXJuIG51bGw7DQoJfQ0KCXZhciBjb29raWVFbmRJbmRleD1kb2N1
bWVudC5jb29raWUuaW5kZXhPZigiOyIsIGNvb2tpZVN0YXJ0SW5kZXgrcHJlZml4
Lmxlbmd0aCk7DQoJaWYgKGNvb2tpZUVuZEluZGV4PT0tMSkNCgl7DQoJCWNvb2tp
ZUVuZEluZGV4PWRvY3VtZW50LmNvb2tpZS5sZW5ndGg7DQoJfQ0KCXJldHVybiB1
bmVzY2FwZShkb2N1bWVudC5jb29raWUuc3Vic3RyaW5nKGNvb2tpZVN0YXJ0SW5k
ZXgrcHJlZml4Lmxlbmd0aCwgY29va2llRW5kSW5kZXgpKTsNCn0NCmZ1bmN0aW9u
IE1TT1RsUG5fU2hvd0FsbFVzZXJzVG9vbFBhbmUoZGlzcGxheU1vZGUsIHNvdXJj
ZSwgc3RvcmFnZUtleSkNCnsNCglNU09MYXlvdXRfQ2hlY2tBbmRTYXZlQ2hhbmdl
cygpOw0KCWRvY3VtZW50LmZvcm1zW01TT1dlYlBhcnRQYWdlRm9ybU5hbWVdLmFj
dGlvbj1NU09Nb2RlX0dldE5ld1VybCh0cnVlKTsNCglNU09UbFBuX1Nob3dUb29s
UGFuZTJXcmFwcGVyKGRpc3BsYXlNb2RlLCBzb3VyY2UsIHN0b3JhZ2VLZXkpOw0K
fQ0KZnVuY3Rpb24gTVNPTGF5b3V0X01ha2VJbnZpc2libGVJZkVtcHR5KCkNCnsN
Cgl2YXIgYWxsRWxlbWVudHM9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoIl9p
bnZpc2libGVJZkVtcHR5Iik7DQoJdmFyIGFndD1uYXZpZ2F0b3IudXNlckFnZW50
LnRvTG93ZXJDYXNlKCk7DQoJdmFyIGlzTmF2PSgoYWd0LmluZGV4T2YoJ21vemls
bGEnKSE9LTEpJiYoKGFndC5pbmRleE9mKCdzcG9vZmVyJyk9PS0xKSAmJiAoYWd0
LmluZGV4T2YoJ2NvbXBhdGlibGUnKT09LTEpKSk7DQoJdmFyIGlzSUU9KGFndC5p
bmRleE9mKCJtc2llIikhPS0xKTsNCglmb3IgKHZhciBjdXJFbGVtZW50PTA7IGN1
ckVsZW1lbnQgPCBhbGxFbGVtZW50cy5sZW5ndGg7IGN1ckVsZW1lbnQrKykNCgl7
DQoJCWlmICgoaXNJRSAmJiBhbGxFbGVtZW50c1tjdXJFbGVtZW50XS5jaGlsZE5v
ZGVzLmxlbmd0aD09MCkNCgkJCXx8IChpc05hdiAmJiBhbGxFbGVtZW50c1tjdXJF
bGVtZW50XS5jaGlsZE5vZGVzLmxlbmd0aCA8PTEpKQ0KCQl7DQoJCQlhbGxFbGVt
ZW50c1tjdXJFbGVtZW50XS5zdHlsZS5kaXNwbGF5PSJub25lIjsNCgkJfQ0KCX0N
Cn0NCmZ1bmN0aW9uIE1TT0xheW91dF9HZXRQYXJlbnRSb3codGFibGVDZWxsKQ0K
ew0KCXZhciBwYXJlbnRSb3c9dGFibGVDZWxsLnBhcmVudEVsZW1lbnQ7DQoJd2hp
bGUocGFyZW50Um93LnRhZ05hbWUgIT0iVFIiICYmIHBhcmVudFJvdy50YWdOYW1l
ICE9IkJPRFkiKSBwYXJlbnRSb3c9cGFyZW50Um93LnBhcmVudEVsZW1lbnQ7DQoJ
aWYocGFyZW50Um93LnRhZ05hbWUgIT0iVFIiKQ0KCXsNCgkJcmV0dXJuIG51bGw7
DQoJfQ0KCWVsc2UNCgl7DQoJCXJldHVybiBwYXJlbnRSb3c7DQoJfQ0KfQ0KZnVu
Y3Rpb24gTVNPTGF5b3V0X0dldFBhcmVudFRhYmxlKFRhYmxlQ2VsbCkNCnsNCglm
b3IgKHZhciBjdXJyZW50T2JqZWN0PVRhYmxlQ2VsbDsgY3VycmVudE9iamVjdC50
YWdOYW1lICE9J1RBQkxFJzsgY3VycmVudE9iamVjdD1jdXJyZW50T2JqZWN0LnBh
cmVudEVsZW1lbnQpDQoJew0KCQlpZihjdXJyZW50T2JqZWN0PT1kb2N1bWVudC5i
b2R5KSByZXR1cm4gMDsNCgl9DQoJcmV0dXJuIGN1cnJlbnRPYmplY3Q7DQp9DQoN
Cg==
------------v0R7J6g1aaWINvTDUDfdRA
Content-Disposition: inline; filename=HtmlEditorCustomStyles.css
Content-Type: text/css; name=HtmlEditorCustomStyles.css
Content-Location: http://www.vojenskaskola.cz/_layouts/1029/styles/HtmlEditorCustomStyles.css?rev=%2FwEkP4fapQor7V0mxDHtvw%3D%3D
Content-Transfer-Encoding: 8bit
/* _lcid="1029" _version="12.0.4518"
_LocalBinding */
IMG.ms-rteCustom-RámečekObrázku
{
text-align: center;
color: #FF0000;
border: 5px double #0000FF;
margin-left: 14;
padding-left: 6px;
padding-right: 4px;
padding-top: 1px;
padding-bottom: 1px;
background-color: #9FC2F1;
}
A:link.ms-rteCustom-StylOdkazu
{
COLOR: #003399;
font-style:normal;
font-variant:normal;
font-weight:normal;
font-size:10pt;
font-family:Verdana;
}
A:visited.ms-rteCustom-StylOdkazu
{
COLOR: #008080;
font-style:normal;
font-variant:normal;
font-weight:normal;
font-size:10pt;
font-family:Verdana;
}
A:hover.ms-rteCustom-StylOdkazu
{
FONT: 10pt Verdana, Arial, Helvetica;
COLOR: red;
}
OL.ms-rteCustom-SeznamŘímskéČíslice
{
font-family: Tahoma;
font-size: 10pt;
color: #595959;
text-indent: 0;
text-align: left;
list-style-type: upper-roman;
margin-left: 30;
margin-right: 10;
padding-left: 10px;
margin-top: 1;
text-transform: capitalize;
}
UL.ms-rteCustom-SeznamČtvercovéOdrážky
{
font-family: Tahoma;
font-size: 10pt;
color: #595959;
text-indent: 0;
line-height: 150%;
text-align: left;
list-style-type: square;
margin-left: 15;
margin-right: 10;
padding-left: 10px;
margin-top: 10;
word-spacing: 0;
margin-bottom: 10;
}
.ms-rteCustom-NázevČlánku
{
font-weight: bold;
font-family: Arial;
font-size: 14pt;
color: #015263;
text-transform: capitalize;
}
.ms-rteCustom-ČlánekVedleŘádku
{
font-family: Arial;
font-style: italic;
font-size: 10pt;
color: #7F7F7F;
}
.ms-rteCustom-NadpisČlánku
{
font-size: 12pt;
font-weight: bold;
font-family: Arial, Helvetica, sans-serif;
color: #01778F;
}
------------v0R7J6g1aaWINvTDUDfdRA
Content-Disposition: inline; filename=HtmlEditorTableFormats.css
Content-Type: text/css; charset=utf-8; name=HtmlEditorTableFormats.css
Content-Location: http://www.vojenskaskola.cz/_layouts/1029/styles/HtmlEditorTableFormats.css?rev=Oe54yoTj%2FNwefyHr845plg%3D%3D
Content-Transfer-Encoding: 8bit
/* _lcid="1029" _version="12.0.4518"
_LocalBinding */
.ms-rteTable-1 {
border-width: 0px;
border-style: none;
border-collapse: collapse;
font-family: Tahoma;
}
.ms-rteTable-1 tr.ms-rteTableHeaderRow-1 {
margin: 10px;
padding: 10px;
color: #3F4D6B;
background: #D6E8FF;
text-align: left;
font-size: 10pt;
font-style: normal;
font-family: Tahoma;
text-transform: capitalize;
font-weight: bold;
border-spacing: 10px;
line-height: 14pt;
vertical-align: top;
}
.ms-rteTable-1 td.ms-rteTableHeaderFirstCol-1 {
padding: 0in 5.4pt 0in 5.4pt;
color: #3a4663;
line-height: 14pt;
}
.ms-rteTable-1 td.ms-rteTableHeaderLastCol-1 {
padding: 0in 5.4pt 0in 5.4pt;
color: #3a4663;
line-height: 14pt;
}
.ms-rteTable-1 td.ms-rteTableHeaderOddCol-1 {
padding:0in 5.4pt 0in 5.4pt;
color: #3a4663;
line-height: 14pt;
}
.ms-rteTable-1 td.ms-rteTableHeaderEvenCol-1
{
padding:0in 5.4pt 0in 5.4pt; color: #3a4663;
line-height: 14pt;
}
.ms-rteTable-1 tr.ms-rteTableOddRow-1 {
color: #666666;
background-color: #F2F3F4;
font-size: 10pt;
vertical-align: top;
}
.ms-rteTable-1 tr.ms-rteTableEvenRow-1 {
color: #666666;
background-color: #E7EBF7;
font-size: 10pt;
vertical-align: top;
}
.ms-rteTable-1 td.ms-rteTableFirstCol-1 {
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-1 td.ms-rteTableLastCol-1 {padding:0in 5.4pt 0in 5.4pt;}
.ms-rteTable-1 td.ms-rteTableOddCol-1 {
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-1 td.ms-rteTableEvenCol-1 {
padding:0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-1 tr.ms-rteTableFooterRow-1 {
background-color: #D6E8FF;
color: #4A5A80;
font-weight: 500;
font-size: 10pt;
font-family: Tahoma;
line-height: 11pt;
}
.ms-rteTable-1 td.ms-rteTableFooterFirstCol-1 {
padding: 0in 5.4pt 0in 5.4pt;
border-top: solid gray 1.0pt;
text-align: left;
}
.ms-rteTable-1 td.ms-rteTableFooterLastCol-1 {
padding:0in 5.4pt 0in 5.4pt;
border-top:solid gray 1.0pt;
text-align:left;
}
.ms-rteTable-1 td.ms-rteTableFooterOddCol-1 {
padding: 0in 5.4pt 0in 5.4pt;
text-align: left;
border-top: solid gray 1.0pt;
}
.ms-rteTable-1 td.ms-rteTableFooterEvenCol-1 {
padding: 0in 5.4pt 0in 5.4pt;
text-align: left;
border-top: solid gray 1.0pt;
}
.ms-rteTable-2 {
border-collapse: collapse;
border: solid 0px;
font-family: Tahoma;
}
.ms-rteTable-2 tr.ms-rteTableHeaderRow-2 {
border-width: 1.0pt 1.0pt 3.0pt 1.0pt;
margin-top: 0in;
margin-right: 0in;
margin-bottom: 10.0pt;
margin-left: 0in;
line-height: 115%;
font-size: 11.0pt;
font-family: "Calibri","sans-serif";
width: 119.7pt;
border: solid white 1.0pt;
border-bottom: solid white 3.0pt;
background: #4F81BD;
padding: 0in 5.4pt 0in 5.4pt;
color: #FFFFFF;
}
.ms-rteTable-2 td.ms-rteTableHeaderFirstCol-2 {
border-width: 1.0pt 1.0pt 3.0pt 1.0pt;
border: solid white 1.0pt;
border-bottom: solid white 3.0pt;
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-2 td.ms-rteTableHeaderLastCol-2 {
border-width: 1.0pt 1.0pt 3.0pt 1.0pt;
border: solid white 1.0pt;
border-bottom: solid white 3.0pt;
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-2 td.ms-rteTableHeaderOddCol-2 {
border-width: 1.0pt 1.0pt 3.0pt 1.0pt;
border: solid white 1.0pt;
border-bottom: solid white 3.0pt;
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-2 td.ms-rteTableHeaderEvenCol-2 {
border-width: 1.0pt 1.0pt 3.0pt 1.0pt;
border: solid white 1.0pt;
border-bottom: solid white 3.0pt;
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-2 tr.ms-rteTableOddRow-2 {
color: #666666;
background-color: #F2F3F4;
font-size: 10pt;
vertical-align: top;
}
.ms-rteTable-2 tr.ms-rteTableEvenRow-2 {
color: #666666;
background-color: #E7EBF7;
font-size: 10pt;
vertical-align: top;
}
.ms-rteTable-2 td.ms-rteTableFirstCol-2 {
margin-top: 0in;
margin-right: 0in;
margin-bottom: 10.0pt;
margin-left: 0in;
line-height: 115%;
font-size: 11.0pt;
font-family: "Calibri","sans-serif";
width: 119.7pt;
border-top: none;
border-left: solid white 1.0pt;
border-bottom: none;
border-right: solid white 3.0pt;
background: #4F81BD;
padding: 0in 5.4pt 0in 5.4pt;
color: #FFFFFF;
}
.ms-rteTable-2 td.ms-rteTableLastCol-2 {
padding:0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-2 td.ms-rteTableOddCol-2 {
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-2 td.ms-rteTableEvenCol-2 {
padding:0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-2 tr.ms-rteTableFooterRow-2 {
color: #666666;
background-color: #FFFFFF;
font-size: 10pt;
vertical-align: top;
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-2 td.ms-rteTableFooterFirstCol-2 {
margin-top: 0in;
margin-right: 0in;
margin-bottom: 10.0pt;
margin-left: 0in;
line-height: 115%;
font-size: 11.0pt;
font-family: "Calibri","sans-serif";
width: 119.7pt;
border-top: none;
border-left: solid white 1.0pt;
border-bottom: none;
border-right: solid white 3.0pt;
background: #4F81BD;
padding: 0in 5.4pt 0in 5.4pt;
color: #FFFFFF;
}
.ms-rteTable-2 td.ms-rteTableFooterLastCol-2 {
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-2 td.ms-rteTableFooterOddCol-2 {
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-2 td.ms-rteTableFooterEvenCol-2 {
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-3 {
border-collapse: collapse;
border: solid 0px;
font-family: Tahoma;
}
.ms-rteTable-3 tr.ms-rteTableHeaderRow-3 {
margin: 10px;
padding: 10px;
color: #3a4663;
text-align: left;
font-size: 10pt;
font-style: normal;
font-family: Verdana;
text-transform: capitalize;
font-weight: normal;
border-spacing: 10px;
vertical-align: top;
background-color: #C4D1E3;
}
.ms-rteTable-3 td.ms-rteTableHeaderFirstCol-3 {
padding: 0in 5.4pt 0in 5.4pt;
color: #3a4663;
line-height: 14pt;
}
.ms-rteTable-3 td.ms-rteTableHeaderLastCol-3 {
padding: 0in 5.4pt 0in 5.4pt;
color: #3a4663;
line-height: 14pt;
}
.ms-rteTable-3 td.ms-rteTableHeaderOddCol-3 {
padding: 0in 5.4pt 0in 5.4pt;
color: #3a4663;
line-height: 14pt;
}
.ms-rteTable-3 td.ms-rteTableHeaderEvenCol-3
{
padding: 0in 5.4pt 0in 5.4pt;
color: #3a4663;
line-height: 14pt;
}
.ms-rteTable-3 tr.ms-rteTableOddRow-3 {
color:#666666;
vertical-align: top;
font-size: 10pt;
}
.ms-rteTable-3 tr.ms-rteTableEvenRow-3 {
color:#666666;
vertical-align: top;
font-size: 10pt;
}
.ms-rteTable-3 td.ms-rteTableFirstCol-3 {
padding: 0in 5.4pt 0in 5.4pt;
background-color: #E7EBF7;
}
.ms-rteTable-3 td.ms-rteTableLastCol-3 {
padding: 0in 5.4pt 0in 5.4pt;
background-color:#E7EBF7;
}
.ms-rteTable-3 td.ms-rteTableOddCol-3 {
padding: 0in 5.4pt 0in 5.4pt;
background-color:#F7F3F7;
}
.ms-rteTable-3 td.ms-rteTableEvenCol-3 {
padding: 0in 5.4pt 0in 5.4pt;
background-color:#E7EBF7
}
.ms-rteTable-3 tr.ms-rteTableFooterRow-3 {
background-color: #C4D1E3;
color: #3a4663;
font-weight: normal;
font-size: 10pt;
font-family: Verdana;
line-height: 11pt;
}
.ms-rteTable-3 td.ms-rteTableFooterFirstCol-3 {
padding: 0in 5.4pt 0in 5.4pt;
text-align: left;
}
.ms-rteTable-3 td.ms-rteTableFooterLastCol-3 {
padding: 0in 5.4pt 0in 5.4pt;
text-align: left;
}
.ms-rteTable-3 td.ms-rteTableFooterOddCol-3 {
padding: 0in 5.4pt 0in 5.4pt;
text-align: left;
}
.ms-rteTable-3 td.ms-rteTableFooterEvenCol-3 {
padding: 0in 5.4pt 0in 5.4pt;
text-align: left;
}
.ms-rteTable-4 {
border-collapse: collapse;
border: solid 0px;
font-family: Tahoma;
}
.ms-rteTable-4 tr.ms-rteTableHeaderRow-4 {
border-width: 1.0pt 1.0pt 3.0pt 1.0pt;
margin-top: 0in;
margin-right: 0in;
margin-bottom: 10.0pt;
margin-left: 0in;
line-height: 115%;
font-size: 11.0pt;
font-family: "Calibri","sans-serif";
width: 119.7pt;
background: #4F81BD;
padding: 0in 5.4pt 0in 5.4pt;
color: #FFFFFF;
}
.ms-rteTable-4 td.ms-rteTableHeaderFirstCol-4 {
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-4 td.ms-rteTableHeaderLastCol-4 {
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-4 td.ms-rteTableHeaderOddCol-4 {
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-4 td.ms-rteTableHeaderEvenCol-4 {
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-4 tr.ms-rteTableOddRow-4 {
border-width: 1pt;
color: #666666;
font-size: 10pt;
vertical-align: top;
border-bottom-style: solid;
border-bottom-color: #4F81BD;
}
.ms-rteTable-4 tr.ms-rteTableEvenRow-4 {
color: #666666;
font-size: 10pt;
vertical-align: top;
}
.ms-rteTable-4 td.ms-rteTableFirstCol-4 {
border-width: 1pt;
border-color: #4F81BD;
padding: 0in 5.4pt 0in 5.4pt;
border-bottom-style: solid;
border-left-style: solid;
}
.ms-rteTable-4 td.ms-rteTableLastCol-4 {
border-width: 1pt;
border-color: #4F81BD;
border-bottom-style: solid;
border-right-style: solid;
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-4 td.ms-rteTableOddCol-4 {
border-width: 1pt;
border-color: #4F81BD;
padding: 0in 5.4pt 0in 5.4pt;
border-bottom-style: solid;
}
.ms-rteTable-4 td.ms-rteTableEvenCol-4 {
border-width: 1pt;
border-color: #4F81BD;
padding: 0in 5.4pt 0in 5.4pt;
border-bottom-style: solid;
}
.ms-rteTable-4 tr.ms-rteTableFooterRow-4 {
color: #355C8C;
background-color: #FFFFFF;
font-size: 10pt;
vertical-align: top;
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-4 td.ms-rteTableFooterFirstCol-4 {
border-width: 1pt;
border-color: #4F81BD;
border-bottom-style: solid;
border-left-style: solid;
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-4 td.ms-rteTableFooterLastCol-4 {
border-width: 1pt;
border-color: #4F81BD;
border-bottom-style: solid;
border-right-style: solid;
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-4 td.ms-rteTableFooterOddCol-4 {
border-width: 1pt;
border-color: #4F81BD;
border-bottom-style: solid;
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-4 td.ms-rteTableFooterEvenCol-4 {
border-width: 1pt;
border-color: #4F81BD;
border-bottom-style: solid;
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-5 {
border-collapse: collapse;
border: solid 0px;
font-family: Tahoma
}
.ms-rteTable-5 tr.ms-rteTableHeaderRow-5 {
margin: 10px;
padding: 10px;
color: #3A4663;
text-align: left;
font-size: 10pt;
font-style: normal;
font-family: Tahoma;
text-transform: capitalize;
font-weight: 500;
border-spacing: 10px;
line-height: 11pt;
vertical-align: top;
}
.ms-rteTable-5 td.ms-rteTableHeaderFirstCol-5 {
padding: 0in 5.4pt 0in 5.4pt;
color: #3a4663;
}
.ms-rteTable-5 td.ms-rteTableHeaderLastCol-5 {
padding: 0in 5.4pt 0in 5.4pt;
color: #3a4663;
}
.ms-rteTable-5 td.ms-rteTableHeaderOddCol-5 {
padding:0in 5.4pt 0in 5.4pt;
color: #3a4663;
}
.ms-rteTable-5 td.ms-rteTableHeaderEvenCol-5
{padding:0in 5.4pt 0in 5.4pt; color: #3a4663;
}
.ms-rteTable-5 tr.ms-rteTableOddRow-5 {
color: #666666;
vertical-align: top;
font-size: 10pt;
}
.ms-rteTable-5 tr.ms-rteTableEvenRow-5 {
color: #666666;
vertical-align: top;
font-size: 10pt;
}
.ms-rteTable-5 td.ms-rteTableFirstCol-5 {
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-5 td.ms-rteTableLastCol-5 {padding:0in 5.4pt 0in 5.4pt;}
.ms-rteTable-5 td.ms-rteTableOddCol-5 {
padding: 0in 5.4pt 0in 5.4pt;
}
.ms-rteTable-5 td.ms-rteTableEvenCol-5 {padding:0in 5.4pt 0in 5.4pt;}
.ms-rteTable-5 tr.ms-rteTableFooterRow-5 {
color: #3a4663;
font-weight: 500;
font-size: 10pt;
font-family: Tahoma;
line-height: 11pt;
}
.ms-rteTable-5 td.ms-rteTableFooterFirstCol-5 {
padding: 0in 5.4pt 0in 5.4pt;
text-align: left;
}
.ms-rteTable-5 td.ms-rteTableFooterLastCol-5 {
padding:0in 5.4pt 0in 5.4pt;
text-align:left;
}
.ms-rteTable-5 td.ms-rteTableFooterOddCol-5 {
padding: 0in 5.4pt 0in 5.4pt;
text-align: left;
}
.ms-rteTable-5 td.ms-rteTableFooterEvenCol-5 {
padding: 0in 5.4pt 0in 5.4pt;
text-align: left;
}
------------v0R7J6g1aaWINvTDUDfdRA
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://www.vojenskaskola.cz/skola/uo/Style%20Library/images/UNOB_images/bg_body.gif
Content-Transfer-Encoding: Base64
R0lGODlhAQClAuYAAPr6/P7+//39/vz8/fv7/PX2+fHz9/Dy9u/x9fn6/Pj5+/f4
+vb3+eTo79/k7N7j6+zv9Ovu8+rt8tvh6trg6efr8ebq8OXp7/T2+fP1+PL0993j
69zi6tvh6eDl7OLn7uHm7e/y9u7x9e3w9Ozv89ng6eXq8OTp7+Po7uLn7eru8+nt
8ujs8efr8Nvi6trh6eDm7d/l7N7k693j6uHn7efs8ebr8OXq7+zw9Ovv8+ru8vH0
9/Dz9u/y9fb4+vX3+fT2+Pv8/fr7/Pn6+/L19/j6+/f5+v3+/vz9/fv8/P////7+
/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACwAAAAAAQClAgAH2oBKgoOEhYaHiImKi4yNjo+QkZKTlJWW
l5iZmpucSgGfS6GiS0elAqeop0irSAOuA0GxsUkEQra3tgAJCUO9vUUKwcJGRgvG
Cz7JPgwMP87PBRgYQNRAGdfYRBrb2zveBgY84uIHByEhPT0IIuztI+/wOBDzJDn2
EfgqKjo6Eiv/AFkIHFijgsEWNhJaWGii4Y0LF05IlNgAhcWLHzJmTJGCBoiPH2GI
9EAyhkmTDhzIWLnywYMNMGHOmMGhps2aLlxMmNCh54ufQCkIpVCiBE+fQH8e7ZD0
J4VAADs=
------------v0R7J6g1aaWINvTDUDfdRA
Content-Disposition: inline
Content-Type: image/gif
Content-Location: http://www.vojenskaskola.cz/skola/uo/Style%20Library/images/UNOB_images/bg_content.gif
Content-Transfer-Encoding: Base64
R0lGODlhAQD+AOYAAP/+//r6/Pn5+/7+//39/vz8/fv7/Pf4+/b3+vX2+fT1+O7w
9ezu8+Dk7Ovu9Ons8ujr8fHz9/Dy9u/x9e7w9Pn6/Pj5+/f4+vb3+d7j7N3i6+Pn
7uLm7eHl7ODl7d/k7N7j693i6tzh6e3w9ezv9Ovu8+rt8tvh6ujs8ufr8ebq8OXp
7+To7uPn7fT2+fP1+PL09/Hz9t3j69zi6tvh6eDl7N/k6+Ln7uHm7fDz9+/y9u7x
9e3w9Ozv8+Xq8OTp7+Po7uLn7ent8ujs8efr8Obq79/l7N7k693j6tzi6dzj6tvi
6eDm7N/l6+Xq7+Tp7uzw9Ovv8+ru8vH09/Dz9u/y9e7x9O3w8/b4+vX3+fT2+Pz9
/vv8/fr7/Pn6+/j5+uPp7uLo7fL19/H09vn7/Pf5+vb4+fr8/Pj6+v7///3+/vz9
/fv8/P///v////7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAACwAAAAAAQD+AAAH2IA0gjRJS0kiJzOKizMhSiFIMhogSCAy
IEcgIDYZNp4fTQ0NRjU1Hh5MHTirqxxBHC0bN2EbG0AsYE8sPz8rP04+TisqRSpE
xykpEMsQQyhDD0LSUiZS1iVR2QwOPSQkUFc8PBQLI1Y7OxNVOjpVEhJUVDlUMRFj
UzD5YjBiLy8KWgK60JIgS5YEGLJgQGAGy4WHWMp8OfDlCxoBAiwI8FIhAJkKZLqI
FMnmDBcDbLgUULmm5ZotBAioUROTwAA1b94MGADgDYA0ANykaeOmqNGjSJMqXWo0
EAA7
------------v0R7J6g1aaWINvTDUDfdRA
Content-Disposition: inline; filename=unob-screen.css
Content-Type: text/css; charset=utf-8; name=unob-screen.css
Content-Location: http://www.vojenskaskola.cz/skola/uo/Style%20Library/unob-screen.css
Content-Transfer-Encoding: 8bit
body {
margin:0;
padding:0;
border:0px;
font-family:Arial, Helvetica, sans-serif;
font-size:100%;
color:#003;
background-color:#dbe1e9;
background-image:url("images/UNOB_images/bg_body.gif");
background-repeat:repeat-x;
height:100%;
width:100%;
text-align:center;
}
.s190 {
font-size:190%;
}
.s180 {
font-size:180%;
}
.s170 {
font-size:170%;
}
.s160 {
font-size:160%;
}
.s150 {
font-size:150%;
}
.s140 {
font-size:140%;
}
.s130 {
font-size:130%;
}
.s120 {
font-size:120%;
}
.s110 {
font-size:110%;
}
.s100 {
font-size:100%;
}
.s90 {
font-size:90%;
}
.s80 {
font-size:80%;
}
.s70 {
font-size:70%;
}
/* containint the whole page */
#container {
width:968px;
left:484px;
/*margin-left:484px;*/
text-align:left;
margin-left:auto;
margin-right:auto;
}
/*60% -20px na margin*/
#DesignColumnMiddle{
width:550px;
float:left;
top:0px;
margin:10px;
padding-bottom:20px;
}
#DesignColumnMiddle ul li{
list-style:square;
}
#DesignColumnMiddle a{
color:navy;
}
#DesignColumnMiddle h4{
/*definice je v content_3*/
}
#DesignColumnMiddle h3{
/*definice je v content_3*/
}
#DesignColumnMiddle h2{
/*definice je v content_3*/
}
#DesignColumnMiddle div{
margin-bottom:1.5em;
}
#DesignColumnMiddleMinHeight{
float:left;
height:700px;
width:1px;
}
#LeftSide{
float:left;
/*80% z 968px -20px*/
width:730px;
vertical-align:top;
margin:10px 15px 10px 15px;
border:0px;
padding:0px;
}
#LeftSide a{
color:navy;
text-decoration:none;
}
#LeftSide a:hover{
text-decoration:underline;
}
#LeftSide ul li{
list-style:square;
margin-bottom:3px;
}
#RightSide{
/*20% z 968px -20px*/
float:right;
width:174px;
vertical-align:top;
margin:0px;
border:0px;
padding:0px;
}
#RightSide a{
color:navy;
text-decoration:none;
}
#RightSide a:hover{
text-decoration:underline;
}
#RightSide ul li{
list-style:square;
}
#MainContent{
/*hlavni obsah uvodni stranky*/
margin: 20px 0px;
}
/* logo area - included into heading_box because of IE6 bug, negative margin */
#logo_0 {
top:1em;
margin-top:2px;
margin-left:-150px;
width:70px;
height:80px;
}
/* logo box - the image has to containt the left and top offset! */
#logo_0 img {
margin:0 0 0 40px;
padding:0;
}
/* topmost area, contains page name, subname and basic page navigation (language, home, structure, mail and searchbar) */
#header_1 {
float:left;
clear:both;
width:968px;
/*background-color:#95a1b3;*/
color:#fff;
border:solid #fff;
border-width:0 0 1px 0;
height:91px;
}
/* page name and subname box */
#header_1 #heading_box_1 {
float:left;
padding:0 0 0 150px;
width:579px;
text-align:left;
}
/* h1 */
#heading_box_1 h1 {
text-transform:uppercase;
margin:15px 0 0 0;
padding:0;
}
/* h2 */
#heading_box_1 h2 {
margin:5px 0 5px 0;
font-size:100%;
color:#dbe1e9;
text-align:center;
}
/* basic page navigation box*/
#header_1 #page_nav_box_1 {
float:left;
width:230px;
}
#top_menu{
float:right;
margin-bottom:5px;
margin-top:3px;
font-size:70%;
margin-right:3px;
color:#81B6E7;
}
#top_menu a{
text-decoration:none;
color:#5D778F;
}
#top_menu a:hover{
text-decoration:underline;
}
#top_menu a:visited{
color:#5D778F;
}
/* basic page navigation */
#page_nav_box_1 ul {
display:block;
margin:0;
padding:0;
height:30px;
}
#page_nav_box_1 li {
float:left;
margin:0;
padding:0;
list-style:none;
}
#page_nav_box_1 a {
display:block;
margin:0 0 0 9px;
padding:0;
width:35px;
height:29px;
background-repeat:no-repeat;
}
/* top search form */
#page_nav_box_1 form {
margin:9px 0 0 9px;
padding:0;
}
#page_nav_box_1 .txt {
border:1px solid #91adbc;
padding:2px 0 0 0;
width:219px;
height:20px;
}
#page_nav_box_1 .butt {
margin:5px 0 0 0;
color:#fff;
font-size:70%;
font-size:10px;
border-width:0;
background-color:#95a1b3;
}
/* guarantee of minimal height */
#header_1 #filler_1 {
float:left;
height:91px;
width:9px;
}
/* top navigation area */
#header_2 {
float:left;
clear:both;
width:968px;
background-color:#dbe1e9;
color:#95a1b3;
}
/* top navigation box*/
#header_2 #top_navigation_box_2 {
float:left;
padding:19px 141px 19px 150px;
width:668px;
font-size:70%;
font-weight:bold;
}
#top_navigation_box_2 a {
margin:0;
padding:5px 5px 0px 5px;
text-transform:uppercase;
text-decoration:underline;
}
#top_navigation_box_2 a:hover {
color:#003;
}
#top_navigation_box_2 .act {
color:#003;
}
#top_navigation_box_2 .nact {
color:#95a1b3;
}
/* guarantee of minimal height */
#header_2 #filler_2 {
float:left;
height:20px;
width:9px;
}
/* main page area*/
#content_3 {
float:left;
clear:both;
width:968px;
background-color:#fff;
background-image:url("images/UNOB_images/bg_content.gif");
background-repeat:repeat-x;
color:#003;
text-align:left;
padding:0px;
margin:0px;
}
#content_3 a:hover{
color: #95a1b3;
}
#content_3 .content_box_3 {
float:left;
margin:0;
padding:0 0 0 9px;
}
#content_3 .w221_3 {
width:221px;
}
#content_3 .w490_3 {
width:490px;
}
#content_3 .w720_3 {
width:720px;
}
/* sidebar box with 1px border */
#content_3 .content_box_31 {
width:209px;
margin:0 0 9px 0;
padding:5px;
/*border:1px solid #91adbc;*/
background-color:#fff;
background-image:url("images/UNOB_images/bg_content_box.gif");
background-repeat:repeat-x;
background-position:bottom;
}
/* 720px wide divided into 2*/
#content_3 .one_half_31
{
float:left;
width:355px;
}
#content_3 .one_half_32
{
float:left;
width:355px;
padding:0 0 0 10px;
}
#content_3 .stop_division_3
{
clear:both;
width:720px;
}
.stop_division_3 ul {
margin:0;
padding:0;
font-size:100%
}
.stop_division_3 li {
margin:0;
padding:0;
list-style:none;
}
.stop_division_3 .custom_hr_3 {
clear:left;
width:720px;
height:1px;
margin:0 0 5px 0;
padding:0;
font-size:1px;
border:solid #003;
border-width:1px 0 0 0;
}
div.floating {
float:left;
display:block;
padding:0 0 9px 30px;
margin:0 0 0 0;
font-size:90%;
}
/* all used tags */
#content_3 h2 {
clear:left;
margin:0 0 9px 0;
padding:0;
font-size:140%;
border:solid #003;
border-width:0 0 1px 0;
}
#content_3 h3 {
clear:left;
margin:5px 0 0.8em 0;
padding:0;
font-size:120%;
color:#5D778F;
}
#content_3 h4 {
clear:left;
margin:0;
padding:0;
font-size:100%;
}
#content_3 h5 {
clear:left;
margin:0;
padding:0;
font-size:90%;
}
#content_3 h6 {
clear:left;
margin:0;
padding:0;
font-size:70%;
}
#content_3 p {
clear:left;
margin:0 0 5px 0;
padding:0;
font-size:90%;
color:#444;
line-height:125%;
}
#content_3 ul, #content_3 ol {
clear:left;
margin:0 0 5px 0;
padding:0;
}
#content_3 li {
margin:0 0 0 30px;
padding:0;
font-size:90%;
}
#content_3 img {
margin:3px 2px 3px 0;
padding:0;
border:0;
}
#content_3 img.floating {
float:left;
}
#content_3 form {
clear:left;
margin:0 0 5px 0;
padding:0;
}
h4.people{
margin: 0 0 2em 5em;
}
/* background with rector's chain */
.bg_center_3 {
float:left;
background-image:url("images/UNOB_images/bg_center.gif");
background-repeat:no-repeat;
background-position:top right;
}
/* ID navbar_box_31 used for main navigation box; ul for navigation*/
#navbar_box_31 ul {
margin:0;
padding:0;
}
#navbar_box_31 li {
margin:0 0 9px 0;
padding:0;
list-style:none;
}
#navbar_box_31 a {
text-align:left;
display:block;
margin:0;
padding:0;
text-decoration:underline;
}
#navbar_box_31 a:hover {
color:#95a1b3;
}
#navbar_box_31 a.lvl_31 {
font-weight:bold;
width:209px;
}
#navbar_box_31 a.lvl_32 {
display:block;
width:200px;
margin:0 0 0 9px;
}
#content_3 .act {
color:#c00;
}
#content_3 .nact {
color:#003;
}
/* guarantee of minimal height */
#content_3 #filler_3 {
float:left;
height:440px;
width:5px;
}
/* footer area */
#footer_4 {
float:left;
clear:both;
width:968px;
/*puvodni hodnota 95a1b3*/
background-color:#a5b0be;
color:#fff;
}
#footer_4 #footer_box_4 {
float:left;
font-size:70%;
width:941px;
padding:5px 0 0 9px;
}
/* guarantee of minimal height */
#footer_4 #filler_4 {
float:left;
height:30px;
width:9px;
}
#footer_box_4{
color:#dadada;
}
#footer_box_4 a{
text-decoration:none;
color:#dadada;
}
#FooterLeft{
float:left;
}
#FooterRight{
float:right;
width:auto;
vertical-align:bottom;
}
.center_tab{
clear:left;
text-align:center;
}
#informace_text{
width:100%;
margin:8px 0px 0px 0px;
}
#informace_text a:hover{
text-decoration:none;
}
#informace_text div{
width:50%;
float:left;
}
#informace_text div div{
margin-left:45px;
width:auto;
}
#oddelovac{
padding:0px;
margin:0px;
border:0px;
width:100%;
height:30px;
clear:both;
}
#navigation_line{
position:relative;
width:100%;
left:0px;
top:0px;
clear:both;
margin:0px;
padding:0px;
border-bottom:1px #91adbc solid;
}
#navigation_line table{
width:100%;
font-size:90%;
}
#navigation_line a:hover{
text-decoration:none;
}
#navigation_line .navigation_item{
text-align:center; font-weight:bold;
}
/*
v masterpage se vubec zadna tabulka nevyskytuje, takze to muzu dat beztrestne pryc
table {
font-size:80%;
text-align:center;
vertical-align:top;
border-spacing:0px;
border-collapse: collapse;
text-align:left;
}
td, th {
border:1px solid #999;
padding:1px 2px 1px 2px;
}
th {
background-color:#ccc;
}
*/
#informace_head{
position:relative;
width:100%;
left:0px;
top:0px;
clear:both;
font-weight:bold;
margin:0px;
padding:0px;
border-bottom:1px #91adbc solid;
}
#informace_head table{
width:100%;
}
#informace_head td{
width:50%;
padding-left:35px;
font-weight:bold;
}
#sitemap_webpart li{
font-size:130%;
}
/*20% -20px na margin*/
#DesignColumnLeft{
width:174px;
float:left;
top:0px;
margin:8px;
padding:5px;
border:0px;
/*
margin:3px;
padding:5px;
margin-left:8px;
border:1px solid #91adbc;
*/
/*oprava pro IE 6.x*/
_margin-left:4px;
font-size:90%;
line-height:125%;
}
#LeftTop{
margin:0px;
padding:5px;
border:1px solid #91adbc;
}
#LeftDown{
margin:0px;
padding:5px;
margin-top:3em;
border:0px;
}
#DesignColumnLeft h4{
font-size:100%;
}
#DesignColumnLeft h3{
font-size:90%;
}
#DesignColumnLeft h2{
font-size:80%;
}
#DesignColumnLeft a{
color:navy;
text-decoration:none;
}
#DesignColumnLeft a:hover{
text-decoration:underline;
}
#DesignColumnLeft hr{
width: 100%;
color: #91adbc;
height: 1px;
}
#DesignColumnLeft ul li{
margin: 5px 0 10px 20px;
list-style: square;
}
#ContentLeft h4{
font-weight:bold;
color:#5D778F;
}
/*60% -20px na margin*/
/*20% -20px na margin*/
#DesignColumnRight{
width:173px;
/*thf tady jsem zmenil float z left na right*/
float:right;
top:0px;
margin:5px 10px 5px 5px;
padding:3px;
border:0px;
/*je nutno dodat pro IE6.x aby nebylo prave menu az dole*/
_margin-right:4px;
/*
margin:3px;
padding:5px;
margin-left:8px;
border:1px solid #91adbc;
*/
font-size:90%;
line-height:125%;
}
#RightTop{
margin:0px;
padding:5px;
border:1px solid #91adbc;
}
#RightDown{
margin:0px;
padding:5px;
margin-top:3em;
border:0px;
}
#DesignColumnRight a{
color:navy;
text-decoration:none;
}
#DesignColumnRight a:hover{
text-decoration:underline;
}
#DesignColumnRight h4{
font-size:100%;
margin-bottom:12px;
}
#DesignColumnRight h3{
font-size:90%;
}
#DesignColumnRight h2{
font-size:80%;
}
#DesignColumnRight hr{
WIDTH: 100%;
COLOR: #91adbc;
HEIGHT: 1px;
border: 0;
background-color: #91adbc;
}
#DesignColumnRight ul li{
margin: 5px 0 10px 20px;
list-style: square;
}
#content_3 .stop_division_3
{
clear:both;
width:720px;
}
/*
v masterpage se vubec zadna tabulka nevyskytuje, takze to muzu dat beztrestne pryc
table {
font-size:80%;
text-align:center;
vertical-align:top;
border-spacing:0px;
border-collapse: collapse;
text-align:left;
}
td, th {
border:1px solid #999;
padding:1px 2px 1px 2px;
}
th {
background-color:#ccc;
}
*/
------------v0R7J6g1aaWINvTDUDfdRA
Content-Disposition: inline
Content-Type: text/css; charset=utf-8
Content-Location: http://www.vojenskaskola.cz/_layouts/1029/styles/core.css?rev=pkS%2FF9TH6vOPeNHO466yQw%3D%3D
Content-Transfer-Encoding: 8bit
/* _lcid="1029" _version="12.0.6500"
_LocalBinding */
body,form{
margin:0;
}
body{
background-color:#FFFFFF;
font-family:verdana,arial,helvetica,sans-serif;
color:#000000;
}
.ms-alphaimage{
behavior:url("/_layouts/alphaimage.htc");
}
.ms-alignleft{
text-align:left;
}
.ms-alignright{
text-align:right;
}
.ms-toolbar,.ms-viewtoolbar,.ms-formtoolbar,.ms-toolbarContainer{
font-family:verdana;
font-size:8pt;
text-decoration:none;
color:#003399;
}
.ms-formtoolbar{
margin-bottom:7px;
}
.ms-formtoolbar td{
padding:0px;
vertical-align:top;
}
.ms-toolbar-togglebutton-on{
border:1px solid #2353b2;
background-color:#fffacc;
}
table.ms-toolbar,table.ms-viewtoolbar,.ms-toolbarContainer{
background-image:url("/_layouts/images/toolgrad.gif");
background-repeat:repeat-x;
background-color:#d6e8ff;
}
table.ms-toolbar,.ms-toolbarContainer{
border:1px solid #83b0ec;
border-collapse:collapse;
}
.ms-toolbarContainer{
padding:2px;
}
.ms-toolbarItem{
display:inline;
white-space:nowrap;
}
table.ms-viewtoolbar{
border-top:1px solid #6f9dd9;
border-bottom:1px solid #6f9dd9;
}
.ms-attachButton
{
text-align:left
}
.ms-listheader{
font:10pt verdana;
color:#204d89;
font-weight:bold;
height:28px;
background-image:url("/_layouts/images/listheadergrad.gif");
background-repeat:repeat-x;
background-color:#d9d9d9;
}
.ms-menutoolbar{
border-bottom:1px solid #6f9dd9;
height:22px;
background-color:#afd2ff;
background-image:url("/_layouts/images/listheadergrad.gif");
background-repeat:repeat-x;
}
.ms-menutoolbar td{
border-top:solid 1px #f2f8ff;
border-bottom:solid 1px #d6e8ff;
}
.ms-menutoolbar td a{
color:#003399;
font-size:8pt;
font-family:tahoma;
text-decoration:none;
}
.ms-menutoolbar td a:hover{
color:#000000;
text-decoration:none;
}
.ms-menutoolbar td{
padding:0px;
margin:0px;
vertical-align:middle;
}
.ms-menutoolbar td a:hover{
color:#000000;
text-decoration:none;
}
.ms-menubuttoninactivehover,.ms-buttoninactivehover{
margin:2px 2px 2px 2px;
padding:2px 7px 3px 7px;
background-color:transparent;
line-height:16px;
}
.ms-menubuttonactivehover,.ms-buttonactivehover{
margin:0px 1px 0px 1px;
padding:3px 7px 4px 7px;
background-image:url("/_layouts/images/menubuttonhover.gif");
line-height:16px;
border:solid 1px #6f9dd9;
cursor:pointer;
}
.ms-buttoninactivehover{
padding:0px 7px 1px 7px;
}
.ms-buttonactivehover{
padding:1px 7px 2px 7px;
}
.ms-buttoninactivehover img,.ms-buttonactivehover img{
margin:1px 1px 0px 0px;
}
td.ms-menutoolbarheader{
font-size:10pt;
font-family:verdana;
color:#204d89;
font-weight:bold;
line-height:16px;
padding-left:7px;
padding-right:7px;
}
.ms-listheaderlabel{
color:#204d89;
}
.ms-listheaderlabel,.ms-viewselector,.ms-viewselectortext,.ms-viewselectorhover{
font-size:8pt;
font-family:tahoma;
}
.ms-menutoolbar td td.ms-viewselector,.ms-menutoolbar td td.ms-viewselectorhover,.ms-toolbar td td.ms-viewselector,.ms-toolbar td td.ms-viewselectorhover,.ms-authoringcontrols td td.ms-viewselector,.ms-authoringcontrols td td.ms-viewselectorhover,td.ms-viewselector{
border:solid 1px #d2b47a;
background-image:url("/_layouts/images/selectednav.gif");
background-repeat:repeat-x;
background-color:#ffe6a0;
font-weight:bold;
padding:0px;
}
.ms-menutoolbar td td{
border:none;
}
div.ms-viewselector,div.ms-viewselectorhover{
border:solid 1px #ffffff;
padding:1px 12px 1px 4px;
background-image:url("/_layouts/images/menudarkspaced.gif");
background-repeat:no-repeat;
background-position:center right;
cursor:pointer;
}
div.ms-viewselector a{
color:#000000;
}
.ms-menutoolbar td td.ms-viewselectorhover,.ms-toolbar td td.ms-viewselectorhover,.ms-authoringcontrols td td.ms-viewselectorhover{
background-image:url("/_layouts/images/menubuttonhover.gif");
background-color:#ffbb47;
}
td.ms-viewselector,td.ms-viewselectorhover{
width:125px;
}
.ms-bottompaging{
background:#ebf3ff;
}
.ms-bottompagingline1{
line-height:1px;
background:#83b0ec
}
.ms-bottompagingline2{
line-height:1px;
background:#ffffff;
}
.ms-bottompagingline3{
line-height:0px;
background:#ffffff;
}
.ms-paging{
font-family:tahoma,sans-serif;
font-size:8pt;
font-weight:normal;
color:#204d89;
}
.ms-bottompaging .ms-paging{
color:#4c4c4c;
}
.ms-menutoolbar .ms-splitbuttondropdown{
padding:0px 2px 1px 1px;
margin:1px;
}
.ms-menutoolbar .ms-splitbuttontext{
padding:0px 6px 1px 8px;
}
.ms-splitbutton{
margin:0px 1px 0px 1px;
}
.ms-splitbuttonhover{
background-image:url("/_layouts/images/menubuttonhover.gif");
border-collapse:collapse;
margin:0px 1px 0px 1px;
}
.ms-splitbuttonhover .ms-splitbuttondropdown,.ms-splitbuttonhover .ms-splitbuttontext{
border:1px solid #6f9dd9;
cursor:pointer;
}
.ms-splitbuttonhover .ms-splitbuttondropdown{
padding:0px 1px 0px 1px;
}
.ms-splitbuttonhover .ms-splitbuttontext{
padding:0px 5px 0px 7px;
}
.ms-rtetablecells
{
border:solid 1px #c4c4c4;
padding:2px;
}
.ms-rtetoolbarmenu
{
background-color:#f3f3f3;
color:#000000;
border:#c4c4c4;
font-family:verdana;
font-size:8pt;
}
TD.ms-rtetoolbarunsel{
padding:3px;
}
TD.ms-rtetoolbarsel{
padding:2px;
border:solid 1px #89724f;
background-image:url("/_layouts/images/rtebnsel.gif");
background-repeat:repeat-x;
}
.ms-rtetoolbardis{
filter:alpha(opacity=25);
cursor:default;
}
a.ms-rtetoolbardis{
cursor:default;
}
TD.ms-rtetoolbarhov
{
padding:2px;
border:solid 1px #d2b47a;
background-image:url("/_layouts/images/rtebnhov.gif");
background-repeat:repeat-x;
background-color:#fff699;
cursor:pointer;
color:#000000;
}
.ms-gridT1,.ms-propertysheet th.ms-gridT1
{
font-family:verdana;
text-align:left;
font-size:0.7em;
color:#000000;
width:190px;
}
.ms-gridCol{
font-family:verdana;
text-align:center;
font-size:.6em;
color:#7f7f7f;
width:90px;
}
.ms-viewselect a:link,.ms-GRFontSize{
font-size:8pt;
font-family:Verdana,sans-serif;
color:#003399;
}
select{
font-size:8pt;
font-family:Verdana,sans-serif;
}
hr{
color:#003399;
height:2px;
}
.ms-formlabel{
text-align:left;
font-family:verdana;
font-size:.7em;
border-top:1px solid #d8d8d8;
padding-top:3px;
padding-right:8px;
padding-bottom:6px;
color:#525252;
font-weight:bold;
}
.ms-formdescription A{
color:#003399;
text-decoration:none;
}
.ms-formvalidation{
color:#ff0000;
font-family:verdana;
font-size:8pt;
}
.ms-formtable .ms-formbody,.ms-formtable .ms-formbodysurvey{
line-height:1.3em;
}
.ms-informationbar{
background-color:#fff9de;
border:1px solid #ffdf88;
}
.ms-informationbar td{
font-family:tahoma;
font-size:8pt;
color:#000000;
}
.ms-radiotext{
cursor:default;
text-align:left;
font-family:verdana;
font-size:8pt;
height:19px;
}
.ms-radiobutton-child{
margin-left:20px;
}
.ms-gridtext{
cursor:default;
text-align:right;
font-family:verdana;
font-size:8pt;
height:19px;
}
.ms-formbody{
font-family:verdana;
font-size:.7em;
vertical-align:top;
background:#ebf3ff;
border-top:1px solid #d8d8d8;
padding:3px 6px 4px 6px;
}
.ms-formbodysurvey{
font-family:verdana;
font-size:.7em;
vertical-align:top;
background:none;
border-top:none;
padding:5px 8px 15px 8px;
}
.ms-formbody FONT{
line-height:normal
}
.ms-formline{
border-top:1px solid #c4c4c4;
padding-right:8px;
padding-left:8px;
}
.ms-formdescription
{
font-family:verdana;
font-size:8pt;
color:#7f7f7f;
}
.ms-formfieldcontainer
{
}
.ms-formfieldlabelcontainer
{
margin:4px 4px 0px 4px;
}
div.ms-formfieldlabelcontainer span.ms-formfieldlabel
{
font-family:tahoma;
font-size:8pt;
font-weight:normal;
text-align:left;
color:#777777;
padding:1px 4px 1px 4px;
border-top:1px solid #cccccc;
border-left:1px solid #cccccc;
border-right:1px solid #cccccc;
background-image:url("/_layouts/images/globgrad.gif");
background-repeat:repeat-x;
background-color:#efebef;
height:18px;
}
.ms-formfieldvaluecontainer
{
border:1px solid #cccccc;
margin-left:4px;
margin-right:4px;
margin-bottom:4px;
padding:5px;
}
.ms-searchbox,.ms-pickersearchbox{
border:solid 1px #7f9db9;
border-right:none;
color:#1952a4;
font-family:Verdana;
font-size:8pt;
height:19px !important;
padding-top:2px;
padding-left:2px;
}
.ms-searchform{
margin-right:10px;
position:relative;
top:-6px;
}
.ms-searchform input{
height:19px;
padding:2px;
}
select.ms-searchbox{
margin-right:6px;
border:solid 1px #7f9db9;
}
.ms-searchimage{
border:solid 1px #7f9db9;
border-left:solid 1px #9ed6ff;
background-color:#e9f2fd;
padding-left:3px;
padding-right:3px;
padding-bottom:2px !important;
padding-top:2px !important;
}
.ms-searchcorner{
background-color:#FFFFFF;
background-image:url("/_layouts/images/srchcrnr.gif");
background-repeat:no-repeat;
background-position:left top;
}
.ms-secondary-title
{
padding-bottom:3px;
display:block;
}
table.ms-form th{
color:#003399;
font-family:verdana;
font-size:8pt;
font-weight:normal;
text-align:left;
vertical-align:top;
}
table.ms-form td{
font-size:8pt;
width:100%;
vertical-align:top;
}
.ms-formrecurrence{
font-family:verdana;
font-size:8pt;
font-weight:normal;
text-align:left;
vertical-align:top;
}
.ms-fileinput{
font-size:8pt;
font-family:Verdana,sans-serif;
}
.ms-longfileinput{
font-size:8pt;
font-family:Verdana,sans-serif;
width:386px;
}
.ms-long{
width:386px;
}
.ms-longer{
width:411px;
}
.ms-rtelong{
width:384px;
}
.ms-rtelonger{
width:409px;
}
.ms-input,.ms-long,.ms-rtelong,.ms-longer,.ms-rtelonger,.ms-radiotext,.ms-inputuserfield,.ms-rtedropdown,.ms-lookuptypeintextbox{
font-size:8pt;
font-family:Verdana,sans-serif;
}
.ms-inputuserfield,.ms-rtelong,.ms-rtelonger{
border:1px solid #a5a5a5;
}
div.ms-inputuserfield a
{
color:#000000;
text-decoration:none;
font-weight:normal;
font-style:normal;
}
div.ms-inputuserfield
{
padding-left:1px;
padding-top:2px;
}
.ms-usereditor{
width:386px;
}
.ms-italic{
font-style:italic;
}
.ms-bold{
font-weight:bold;
}
.ms-bannerframe,.ms-GRHeaderBackground{
}
.ms-banner{
vertical-align:bottom;
}
.ms-banner a:link{
text-decoration:none;
white-space:nowrap;
}
.ms-banner a:visited{
text-decoration:none;
}
.ms-bannerContainer{
background-image:url("/_layouts/images/siteTitleBKGD.gif");
background-position:right top;
background-repeat:repeat-y;
background-color:#FFFFFF;
padding-right:10px;
padding-left:5px;
}
.ms-globalbreadcrumb{
font-size:8pt;
text-align:right;
background-color:#ebf3ff;
padding:2px 10px 2px 5px;
}
.ms-globalbreadcrumb,.ms-globalbreadcrumb a{
text-decoration:none;
color:#666666;
}
.ms-globalbreadcrumb a:hover{
text-decoration:underline;
color:#000000;
}
.ms-globalleft{
float:left;
}
.ms-globalright{
float:right;
}
.ms-globallinks{
font-size:8pt;
background:transparent;
font-family:tahoma;
}
.ms-globallinks,.ms-globallinks a{
color:#666666;
text-decoration:none;
font-family:tahoma;
}
.ms-pagebreadcrumb{
padding:2px 3px 3px 11px;
border-left:1px solid #ffffff;
border-top:1px solid #ffffff;
}
.ms-pagebreadcrumb,.ms-pagebreadcrumb a{
font-size:8pt;
background-color:#ebf3ff;
color:#666666;
text-decoration:none;
}
.ms-sitetitle
{
font:11pt verdana;
font-weight:bold;
color:#666666;
padding:4px 0px 7px 6px;
vertical-align:middle;
margin:0;
}
.ms-sitetitle a
{
font:11pt verdana;
font-weight:bold;
color:#666666;
text-decoration:none;
}
h1.ms-sitetitle{
margin:0;
padding:0;
}
td.ms-titleimagearea{
padding-left:2px;
}
.ms-siteaction,.ms-siteaction a{
font:8pt tahoma;
font-weight:bold;
color:#666666;
text-decoration:none;
}
table.ms-siteaction td.ms-siteaction{
border-right:solid 1px #bfbfbf;
}
table.ms-siteaction td.ms-siteaction div{
padding:3px 8px 3px 8px;
border-right:solid 1px #FFFFFF;
}
.ms-siteactionsmenu{
white-space:nowrap;
font:8pt tahoma;
padding:0;
border:none;
cursor:pointer;
}
.ms-siteactionsmenu div div div{
background-image:url("/_layouts/images/siteactionsmenugrad.gif");
background-repeat:repeat-x;
border-top:1px solid #6593cf;
border-left:1px solid #6593cf;
border-right:1px solid #6593cf;
background-color:#6593cf;
padding:1px 4px 3px 10px;
}
.ms-siteactionsmenu div div div a{
color:#FFFFFF;
font-weight:bold;
}
.ms-siteactionsmenu div div div.ms-siteactionsmenuhover{
background-image:url("/_layouts/images/siteactionsmenuhovergrad.gif");
border-top:1px solid #89724f;
border-left:1px solid #89724f;
border-right:1px solid #89724f;
background-color:#ffa521;
}
.ms-actionbar{
background-color:#FFFFFF;
border:1px solid #6f9dd9;
padding-top:1px
}
.ms-actionsep{
height:8px;
border-right:1px solid #6f9dd9;
}
.ms-topnavContainer{
border:none;
border-left:solid 1px #c2dcff;
}
.ms-topnav{
border:solid 1px #c2dcff;
border-left:solid 1px #ffffff;
border-bottom:none;
background-image:url("/_layouts/images/topnavunselected.gif");
background-repeat:repeat-x;
font-family:Tahoma;
font-size:8pt;
background-color:#e2efff;
color:#3764a0;
}
.ms-topnav a{
display:block;
white-space:nowrap;
padding:1px 8px 0px 8px;
height:18px;
}
.ms-topnavselected{
color:#003399;
background:url("/_layouts/images/topnavselected.gif");
background-repeat:repeat-x;
font-weight:bold;
border:solid 1px #79a7e3;
border-bottom-width:0px;
border-left:solid 1px #e3efff;
background-color:#6593cf;
}
.ms-topnavselected a{
color:#003399;
}
.ms-topNavHover{
background-image:url("/_layouts/images/topnavhover.gif");
background-color:#ffe6a0;
border:solid 1px #c2a770;
border-left:solid 1px #ffffff;
border-bottom-width:0px;
color:#000000;
}
.ms-topNavHover a{
color:#000000;
}
.ms-topnav img{
position:relative;
left:-6px;
}
.ms-topNavFlyOutsContainer
{
border:solid 1px #c2dcff;
}
.ms-topNavFlyOuts{
background-color:#F2F8FF;
font-family:Tahoma;
font-size:8pt;
}
.ms-topNavFlyOuts a{
display:block;
*width:120px;
min-width:120px;
color:#3764a0;
padding:4px 8px 4px 8px;
}
.ms-topNavFlyOutsHover{
background-color:#ffe6a0;
color:#000000;
}
.ms-nav td,.ms-nav .ms-SPZoneLabel{
font-size:8pt;
}
.ms-formula{
font-size:8pt;
font-family:Verdana,sans-serif;
width:222px;
height:135px;
}
.ms-dtinput,.ms-dttimeinput{
vertical-align:middle;
padding-top:0px;
padding-bottom:0px;
padding-right:4px;
padding-left:0px;
font-size:0px;
}
.ms-dttimeinput{
direction:ltr;
}
.ms-nav th{
font-size:8pt;
font-family:Verdana,sans-serif;
font-weight:normal;
text-align:left;
color:#000000;
}
.ms-quicklaunchnavsep{
background-color:#83b0ec;
}
.ms-quicklaunch table td{
border-top:1px solid #add1ff;
}
.ms-quicklaunch .ms-treeviewouter table td{
border-top:none;
}
.ms-quicklaunch table.ms-navheader td,.ms-navheader2 td,.ms-quicklaunch span.ms-navheader{
background-color:#d6e8ff;
border-top:solid 1px #f2f8ff;
border-left:solid 1px #f2f8ff;
padding:1px 4px 4px 4px;
}
div.ms-treeviewouter div{
border-top:solid 1px #add1ff;
}
div.ms-treeviewouter div div{
border:none;
}
.ms-quicklaunch span.ms-navheader{
background-color:#d6e8ff;
border-top:1px solid #add1ff;
border-left:solid 1px #f2f8ff;
border-bottom:1px solid #add1ff;
padding:1px 6px 3px 6px;
}
.ms-quicklaunch table.ms-navsubmenu2 td{
border:none;
}
.ms-quicklaunch table.ms-selectednavheader td{
width:100%;
background-color:#fff699;
}
.ms-quicklaunch table.ms-selectednavheader{
border:none;
}
.ms-quicklaunch span{
display:block;
}
.ms-quicklaunch div.ms-navsubmenu1 br{
display:none;
}
.ms-quicklaunch table.ms-selectednav{
border:solid 1px #d2b47a;
background-image:url("/_layouts/images/selectednav.gif");
background-repeat:repeat-x;
background-color:#ffe6a0;
margin:2px;
margin-bottom:0;
width:97%;
}
.ms-quicklaunch table.ms-selectednav td{
background:transparent url("/_layouts/images/selectednavbullet.gif");
background-repeat:no-repeat;
background-position:top left;
border:solid 1px #ffffff;
padding:0px 4px 1px 12px;
margin:0px;
}
table.ms-selectednav td a.ms-selectednav{
background:none;
color:#000000;
}
.ms-quicklaunch table.ms-selectednavheader td{
width:100%;
background-color:#ffe6a0;
background-image:url("/_layouts/images/selectednav.gif");
background-repeat:repeat-x;
padding-top:2px;
padding-bottom:2px;
border-top:solid 1px #ffffff;
border-left:solid 1px #ffffff;
padding:1px 6px 3px 6px;
}
.ms-selectednavheader a{
font-weight:bold;
color:#000000;
text-decoration:none;
}
.ms-selectednavheader a:hover{
color:#000000;
text-decoration:underline;
}
table.ms-navitem td,span.ms-navitem{
background-image:url("/_layouts/images/navBullet.gif");
background-repeat:no-repeat;
background-position:left top;
padding:3px 6px 4px 16px;
font-family:tahoma;
}
.ms-navsubmenu1{
width:100%;
border-collapse:collapse;
background-color:#f2f8ff;
}
.ms-navsubmenu2{
width:100%;
background-color:#f2f8ff;
margin-bottom:6px;
}
table.ms-navselected{
padding:2px;
}
table.ms-navselected,span.ms-navselected{
background-image:url("/_layouts/images/SELECTEDNAV.GIF");
background-color:#ffe6a0;
background-repeat:repeat-x;
}
table.ms-navselected td{
background-image:url("/_layouts/images/navBullet.gif");
background-repeat:no-repeat;
background-position:top left;
padding:3px 6px 4px 17px;
}
table.ms-navheader td{
background-image:none;
}
.ms-navheader a,.ms-navheader2 a{
font-weight:bold;
color:#003399;
text-decoration:none;
}
.ms-navheader a:hover,.ms-navheader2 a:hover{
color:#000000;
text-decoration:underline;
}
.ms-navItem a{
color:#003399;
text-decoration:none;
}
.ms-navItem a:hover{
color:#000000;
text-decoration:underline;
}
.ms-navheaderstatic,.ms-navitemstatic{
color:#4c4c4c;
}
.ms-quicklaunchouter{
border-bottom:solid 1px #83b0ec;
border-right:solid 1px #83b0ec;
}
.ms-quicklaunchouter{
margin:0px 1px 2px 1px;
}
.ms-tvselected{
background-color:#ffda8a;
}
.ms-tvselected a{
color:#000000;
}
.ms-treeviewouter td.ms-navitem{
border-left:2px solid #f2f8ff;
}
.ms-treeviewouter a.ms-navitem{
padding:0px 1px 0px 1px;
}
table.ms-recyclebin td{
background-color:#f2f8ff;
width:100%;
border-top:solid 1px #ffffff;
border-left:solid 1px #ffffff;
padding:3px 5px 7px 3px;
}
table.ms-recyclebin td a{
font-weight:bold;
color:#008800;
text-decoration:none;
}
table.ms-recyclebin td a:hover{
color:#000000;
text-decoration:underline;
}
.ms-quickLaunch{
border:solid 1px #6f9dd9;
border-bottom:solid 1px #6f9dd9;
font-size:8pt;
font-family:tahoma;
line-height:10pt;
background-color:#f2f8ff;
}
.ms-quicklaunchheader{
padding:2px 6px 4px 6px;
font-weight:normal;
color:#003399;
background-image:url("/_layouts/images/quickLaunchHeader.gif");
background-repeat:repeat-x;
background-color:#d6e8ff;
border-left:solid 1px #f2f8ff;
font-size:8pt;
}
.ms-quicklaunchheader a,.ms-unselectednav a{
color:#003399;
text-decoration:none;
}
.ms-quicklaunchheader a:hover{
color:#000000;
text-decoration:underline;
}
.ms-navline{
border-bottom:1px solid #adadad;
}
.ms-navwatermark{
color:#ffdf88;
}
.ms-selectednav,.ms-GRSortFilter{
border:1px solid #2353b2;
background:#fff699;
padding-top:1px;
padding-bottom:2px;
}
.ms-unselectednav{
border:1px solid #83b0ec;
padding-top:1px;
padding-bottom:2px;
}
.ms-templatepickerselected,.ms-templatepickerunselected{
float:left;
}
.ms-templatepickerunselected{
padding-top:2px;
margin-right:1px;
}
.ms-templatepickerselected{
margin-right:1px;
}
.ms-templatepickerunselected div{
background-image:url("/_layouts/images/templatepickerunselected.gif");
background-repeat:repeat-x;
background-color:#bdbdbd;
border:solid 1px #c4c4c4;
border-bottom:none;
padding:1px 5px 3px 5px;
white-space:nowrap;
}
.ms-templatepickerselected div{
background-image:url("/_layouts/images/templatepickerselected.gif");
background-repeat:repeat-x;
background-color:#ffffff;
border:solid 1px #c2a770;
border-bottom:none;
padding:3px 5px 3px 5px;
white-space:nowrap;
}
.ms-templatepickerselected div a{
color:#000000;
}
.ms-templatepickerunselected div a{
color:#000000;
}
.ms-templatepicker{
font-size:8pt;
font-family:tahoma;
width:320px;
height:175px;
}
.ms-lactiontable{
width:100%;
}
.ms-laction{
border-top:solid 1px #b8bed0;
padding-left:2px;
padding-right:2px;
}
.ms-lactionheader{
padding:4px;
}
.ms-lactionitem{
padding-left:4px;
padding-right:4px;
padding-top:3px;
padding-bottom:3px;
white-space:nowrap;
}
.ms-lactionitem a{
color:#003399;
text-decoration:none;
}
.ms-lactionitem a:hover{
color:#000000;
text-decoration:underline;
}
.ms-diffselected{
background-image:url("/_layouts/images/SELECTEDNAV.GIF");
background-color:#ffe6a0;
background-repeat:repeat-x;
border:1px solid #d2b47a;
}
.ms-diffselected table{
width:100%;
border:1px solid #ffffff;
}
.ms-diffselected .ms-lactionbullet{
padding-left:3px;
}
.ms-diffselected .ms-lactionitem{
padding-right:3px;
}
.ms-diffselected .ms-lactionitem a{
color:#000000;
}
.ms-versiondiffnum{
font-weight:bold;
}
.ms-verticaldots{
border-right:1px solid #83b0ec;
border-left:none;
}
.ms-nav{
background-color:#83b0ec;
background-image:url("/_layouts/images/navshape.jpg");
background-repeat:repeat-x;
font-family:tahoma;
}
.ms-relatedtable{
width:100%;
background:#f2f2f2;
border:1px solid #949494;
}
.ms-relatedheaderleftcorner{
}
.ms-relatedheaderrightcorner{
}
.ms-relatedicon{
padding:2px;
text-align:center;
}
.ms-relatedicon img{
border:0px;
}
.ms-relatedtext{
color:#3966bf;
padding:2px;
}
.ms-relatedtext a:visited,.ms-relatedtext a:link,.ms-relatedtext a:active{
color:#3966bf;
font-family:tahoma,sans-serif;
text-decoration:none;
}
.ms-relatedtext a:hover{
color:#3966bf;
font-family:tahoma,sans-serif;
text-decoration:underline;
}
.ms-globalTitleArea{
text-align:right;
background-image:url("/_layouts/images/siteTitleBKGD.gif");
background-position:right top;
background-repeat:repeat-y;
padding-left:5px;
padding-right:0px;
padding-top:1px;
}
.ms-globalTitleAreaSeparator{
background-color:#ffffff;
background-image:url("/_layouts/images/siteTitleBKGD.gif");
background-position:right;
background-repeat:repeat-y;
}
.ms-titlearea,.ms-mwstitlearea{
color:#666666;
font-family:tahoma;
font-size:8pt;
letter-spacing:.1em;
}
.ms-titlearea a
{
color:#3966bf;
text-decoration:none;
}
.ms-titlearea a:hover,.ms-mwstitlearea a:hover
{
color:#000000;
text-decoration:underline;
}
td.ms-mwstitlearea a
{
color:#3966bf;
text-decoration:none;
}
.ms-titlearealeft
{
background-color:#d6e8ff;
}
TD.ms-titleareaframe,Div.ms-titleareaframe,.ms-pagetitleareaframe,.ms-mwspagetitleareaframe,.ms-consoletitleareaframe{
background-image:url("/_layouts/images/pageTitleBKGD.gif");
background-repeat:repeat-x;
background-position:left top;
background-color:#d6e8ff;
text-align:center;
}
div.ms-titleareaframe{
height:100%;
}
.ms-pagetitleareaframe table{
background-image:url("/_layouts/images/topshape.jpg");
background-repeat:no-repeat;
background-position:332px 4px;
height:54px;
}
.ms-titlearealine{
background-color:#83b0ec;
}
.ms-titleareaframe table td.ms-titlearea,.ms-areaseparator table td.ms-titlearea,.ms-pagetitleareaframe table td.ms-titlearea,.ms-consoletitleareaframe{
padding:7px 0px 1px 0px;
}
.ms-consoletitleareaframe
{
width:8px;
}
.ms-consoletitleareaframebottom
{
background-color:#d6e8ff;
text-align:center;
padding:0px 0px 0px 0px;
}
.ms-mwspagetitleareaframe{
width:100%;
}
.ms-mwstitlearealine{
background-color:#D6E8FF;
}
.ms-titleareaseparator{
padding-bottom:5px;
background-color:#83b0ec;
}
.ms-titleareaseparator div{
background-color:#d6e8ff;
border-top:1px solid #6f9dd9;
}
.ms-sitemapdirectional,.ms-sitemapdirectional a{
unicode-bidi:embed;
}
.ms-areaseparatorcorner{
background-image:url("/_layouts/images/framecornergrad.gif");
background-position:left top;
background-repeat:repeat-y;
height:8px;
border-right:1px solid #6f9dd9;
}
td.ms-areaseparatorleft{
background:#d6e8ff url("/_layouts/images/pageTitleBKGD.gif");
background-repeat:repeat-x;
border-right:1px solid #6f9dd9;
height:100%;
}
div.ms-areaseparatorleft{
background:#83b0ec url("/_layouts/images/navshape.jpg");
background-repeat:no-repeat;
background-position:-143px 0px;
border-right:1px solid #6f9dd9;
height:100%;
}
div.ms-areaseparatorright{
background:#83b0ec url("/_layouts/images/pagebackgrad.gif");
background-repeat:repeat-x;
border-left:1px solid #6f9dd9;
padding-right:2px;
height:100%;
}
.ms-titlearearight .ms-areaseparatorright{
background:#d6e8ff url("/_layouts/images/pageTitleBKGD.gif");
background-repeat:repeat-x;
border-left:1px solid #6f9dd9;
padding-right:2px;
height:100%;
}
.ms-areaseparator{
background-color:#ffeaad;
background-image:url("/_layouts/images/formtitlegrad.gif");
background-repeat:repeat-x;
border-right:none;
border-left:none;
padding-left:5px;
height:61px;
}
.ms-pagemargin{
background-color:#83b0ec;
background-image:url("/_layouts/images/navshape.jpg");
background-repeat:no-repeat;
background-position:-143px 0px;
height:100%;
}
td.ms-rightareacell div.ms-pagemargin{
background-color:#83b0ec;
background-image:url("/_layouts/images/pagebackgrad.gif");
background-repeat:repeat-x;
height:100%;
border-left:solid 1px #83b0ec;
}
.ms-bodyareacell{
vertical-align:top;
height:100%;
width:100%;
}
.ms-pagebottommargin,.ms-pagebottommarginleft,.ms-pagebottommarginright{
background:#83b0ec;
}
.ms-bodyareapagemargin{
background:#83b0ec;
border-top:1px solid #6f9dd9;
}
.ms-bodyareaframe,.ms-viewareaframe{
vertical-align:top;
height:100%;
width:100%;
background-color:#ffffff;
border-top:1px solid #6f9dd9;
border-right:1px solid #6f9dd9;
border-left:1px solid #6f9dd9;
}
.ms-bodyareaframe{
padding:10px;
}
.ms-formareaframe{
vertical-align:top;
height:100%;
background-color:#ffffff;
padding:8px;
}
.ms-pagetitle{
color:#000000;
font-family:verdana;
font-size:16pt;
margin:0px 0px 4px 0px;
font-weight:normal;
}
.ms-pagetitle a{
text-decoration:none;
color:#000000;
margin:0;
font-weight:normal;
}
.ms-pagetitle a:hover{
}
.ms-pagecaption{
font-size:9pt;
color:#000000;
font-family:arial,verdana,sans-serif;
}
.ms-selected
{
background-position:left top;
color:#000000;
background-image:url("/_layouts/images/filedialogselected.gif");
background-color:#FFE499;
border-top:1px solid #FFE499;
border-bottom:1px solid #FFE499;
background-repeat:repeat-x;
}
.ms-selected SPAN{
color:#000000;
}
.ms-vh table.ms-selectedtitle,.ms-vh2 table.ms-selectedtitle,.ms-vh-icon table.ms-selectedtitle,.ms-vh table.ms-unselectedtitle,.ms-vh2 table.ms-unselectedtitle,.ms-vh-icon table.ms-unselectedtitle{
height:21px;
}
.ms-vh table.ms-selectedtitle,.ms-vh2 table.ms-selectedtitle,.ms-vh-icon table.ms-selectedtitle{
background-color:#dde1e5;
border:none;
}
.ms-vh2 .ms-selectedtitle .ms-vb,.ms-vh2 .ms-unselectedtitle .ms-vb{
padding-left:5px;
padding-right:5px;
padding-top:1px;
}
.ms-vh-icon .ms-selectedtitle .ms-vb,.ms-vh-icon .ms-unselectedtitle .ms-vb{
padding-left:0px;
vertical-align:middle;
}
.ms-vh-icon{
padding-left:6px;
padding-right:4px;
}
.ms-propertysheet th.ms-vh2,.ms-propertysheet th.ms-vh2-nofilter{
font-family:tahoma;
}
.ms-listviewtable .ms-vh2,.ms-summarystandardbody .ms-vh2{
padding:1px 1px 0px 1px;
}
.ms-listviewtable .ms-vb2,.ms-summarystandardbody .ms-vb2{
padding-left:7px;
padding-right:7px;
}
.ms-basictable{
border-collapse:collapse;
}
.ms-selectedtitle{
background-color:#ffffff;
border:1px solid #b09460;
margin:0px;
padding:0px;
cursor:pointer;
}
.ms-selectedtitlealternative
{
background-color:#ffffff;
border:1px solid #b09460;
margin:0px;
padding:0px;
cursor:pointer;
}
.ms-unselectedtitle{
background-color:transparent;
margin:0px;
padding:0px;
}
.ms-vb-title .ms-unselectedtitle{
padding:1px;
}
.ms-menuimagecell{
background:#ffe6a0 url("/_layouts/images/selectednav.gif") repeat-x;
cursor:pointer;
border:solid 1px #ffffff;
padding:0px;
height:18px;
}
.ms-vh .ms-menuimagecell,.ms-vh2 .ms-menuimagecell,.ms-vh-icon .ms-menuimagecell{
height:20px;
}
.ms-vh .ms-menuimagecell img,.ms-vh2 .ms-menuimagecell img,.ms-vh-icon .ms-menuimagecell img{
margin-top:2px;
margin-bottom:2px;
}
.ms-filedialog td{
height:16px;
}
.ms-descriptiontext{
color:#4c4c4c;
font-family:tahoma;
font-size:8pt;
text-align:left;
}
.ms-webpartpagedescription{
font-family:verdana;
font-size:8pt;
color:#5a5a5a;
padding:8px 12px 0px 12px;
}
.ms-inputformdescription{
width:475px;
padding-right:9px;
}
.ms-inputformcontrols
{
width:375px;
}
.ms-halfinputformcontrols
{
width:150px;
}
.ms-dspadapterlist
{
padding-left:1cm;
color:#7f7f7f;
font-family:verdana;
font-size:8pt;
}
.ms-alerttext
{
color:#ff0000;
font-family:verdana;
font-size:8pt;
}
.ms-separator
{
color:#83b0ec;
font-size:10pt;
}
.ms-separator img
{
height:16px;
width:1px;
margin:0px 1px 0px 1px;
background:#9ac6ff;
border-bottom:1px solid #f2f8ff;
border-right:1px solid #f2f8ff;
}
.ms-authoringcontrols
{
background-color:#ebf3ff;
font-family:tahoma;
font-size:8pt;
color:#525252;
}
.ms-propertysheet th.ms-authoringcontrols
{
background-color:#ebf3ff;
font-family:tahoma;
font-size:8pt;
color:#083772;
text-align:left;
}
.ms-multiselectbox
{
width:175px;
}
.ms-lookuptypeindropdown
{
width:20em;
}
.ms-lookuptypeintextbox
{
width:20em;
vertical-align:middle;
}
.ms-sectionheader
{
color:#525252;
font-family:tahoma;
font-size:8pt;
font-weight:bold;
}
.ms-linksectionheader,.ms-propertysheet th.ms-linksectionheader
{
color:#000000;
font-family:tahoma;
font-size:8pt;
font-weight:bold;
text-align:left;
}
td.ms-linksectionheader,th.ms-linksectionheader
{
background-color:#ebf3ff;
background-image:url("/_layouts/images/linksectiongrad.gif");
background-repeat:repeat-x;
border:1px solid #add1ff;
text-align:left;
}
table.ms-disc-bar
{
background-color:#d6e8ff;
background-image:url("/_layouts/images/quicklaunchheader.gif");
background-repeat:repeat-x;
border:1px solid #79a7e3;
text-align:left;
}
table.ms-disc HR
{
height:1px;
color:#add1ff;
}
.ms-attachUploadButtons
{
text-align:right;
}
.ms-sectionheader a,.ms-sectionheader a:hover,.ms-sectionheader a:visited,.ms-propertysheet .ms-sectionheader a,.ms-propertysheet .ms-sectionheader a:hover
{
color:#525252;
text-decoration:none;
}
.ms-sectionline
{
background-color:#d9d9d9;
}
.ms-sectionhighlight-top{
border:1px solid #ff9932;
border-left:0px solid;
border-right:0px solid;
background-color:#f7f3cd;
font-family:tahoma;
font-size:8pt;
}
.ms-sectionhighlight{
background-color:#fffbd8;
color:#4c4c4c;
}
.ms-sectionhighlight-line{
height:1px;
padding:0px;
background-color:#ff9932;
}
.ms-partline
{
background-color:#add1ff;
}
.ms-propertysheet{
font-family:verdana;
font-size:.7em;
text-align:left;
color:#4c4c4c;
}
.ms-propertysheet th{
font-family:verdana;
font-size:8pt;
color:#4c4c4c;
font-weight:normal;
}
.ms-propertysheet a{
text-decoration:none;
color:#3966bf;
}
.ms-propertysheet a:hover{
text-decoration:underline;
color:#000000;
}
table.ms-pageinformation,table.ms-createpageinformation{
font-family:tahoma;
font-size:8pt;
height:115px;
}
table.ms-pageinformation{
background-image:url("/_layouts/images/settingsgraphic.jpg");
background-color:#ffffff;
background-repeat:repeat-x;
}
table.ms-createpageinformation{
background-image:url("/_layouts/images/creategraphic.jpg");
background-repeat:repeat-x;
background-color:#ffffff;
}
.ms-pageinformation th,.ms-createpageinformation th{
color:#204d89;
text-align:left;
}
.ms-pageinformation table td,.ms-createpageinformation table td{
color:#000000;
text-align:left;
font-family:tahoma;
font-size:8pt;
padding:3px 5px 3px 1px;
}
.ms-pageinformation table th
{
padding:3px 5px 3px 1px;
}
.ms-storMeFree{
background-color:#80f0dc;
border-style:dashed;
border-width:1px;
border-color:white;
}
.ms-storMeUsed{
background:#8ebbf5;
border-style:solid;
border-width:1px;
border-color:white;
}
.ms-storMeEstimated{
background-color:#83b0ec;
border-style:dotted;
border-width:1px;
border-color:white;
}
.ms-storMeFilterBar{
background:#8ebbf5;
}
.ms-informationtablehover{
border:solid 1px #add1ff;
}
.ms-informationtablehover td,.ms-informationtablehover th{
background-color:#ebf3ff;
}
.ms-informationtablehover td{
border-top:solid 1px #ffffff;
border-left:solid 1px #ffffff;
}
.ms-informationtablehover th{
border-top:solid 1px #ffffff;
}
.ms-informationtablestatic{
background-image:url("/_layouts/images/settingsbkg.jpg");
background-repeat:no-repeat;
}
.ms-pageinformationheader{
font-weight:bold;
color:#000000;
}
.ms-itemheader a{
font-size:11pt;
font-family:arial;
font-weight:bold;
color:#003399;
text-decoration:none;
}
.ms-itemstatic{
border:1px solid #FFFFFF;
background-color:transparent;
}
.ms-itemhover{
border:solid 1px #d2b47a;
background-image:url("/_layouts/images/selectednav.gif");
background-repeat:repeat-x;
background-color:#ffe6a0;
cursor:pointer;
}
.ms-itemhover a{
color:#000000;
text-decoration:underline;
}
.ms-discussiontitle{
font-size:.7em;
font-family:verdana;
color:#000000;
font-weight:bold;
}
.ms-listdescription{
color:#4c4c4c;
font-family:tahoma;
background:#f8f8f8;
padding:2px 6px 4px 6px;
border-bottom:1px solid #6f9dd9;
}
.ms-vh,.ms-vh2,.ms-vh-icon,.ms-vh-icon-empty,.ms-vhImage,.ms-vh2-nograd,.ms-vh3-nograd,.ms-vh2-nograd-icon,.ms-vh2-nofilter,.ms-vh2-nofilter-icon,.ms-ph{
font-weight:normal;
color:#b2b2b2;
text-align:left;
text-decoration:none;
vertical-align:top;
}
.ms-gb,.ms-gb2,.ms-gbload,.ms-vb,.ms-vb2,.ms-vb-tall,.ms-GRFont,.ms-vb-user,.ms-pb,.ms-pb-selected td{
color:#000000;
}
.ms-gb a,.ms-gb2 a{
color:#003399;
}
.ms-vh,.ms-vh2,.ms-vh-icon,.ms-vh-icon-empty,.ms-vhImage,.ms-gb,.ms-gb2,.ms-gbload,.ms-vb,.ms-vb2,.ms-vb-tall,.ms-GRFont,.ms-vb-user,table.ms-disc td,.ms-vh2-nofilter,.ms-vh2-nograd,.ms-vh3-nograd,.ms-vh2-nograd-icon,.ms-vh2-nofilter-icon,.ms-pb,.ms-pb-selected,.ms-ph{
font-size:8pt;
font-family:tahoma,sans-serif;
}
.ms-vh,.ms-vh2,.ms-vh2-nofilter,.ms-vh2-nograd,.ms-vh3-nograd,.ms-vh2-nograd-icon,.ms-vh2-nofilter-icon,.ms-ph{
white-space:nowrap;
}
.ms-vh,.ms-vh2,.ms-vh-icon,.ms-vh2-nofilter,.ms-vh2-nofilter-icon,.ms-viewheadertr .ms-vh-group,.ms-vh2-nograd,.ms-vh3-nograd,.ms-vh2-nograd-icon,.ms-ph,.ms-pickerresultheadertr{
background-image:url("/_layouts/images/viewheadergrad.gif");
background-repeat:repeat-x;
padding-top:1px;
padding-bottom:0px;
background-color:#f2f2f2;
}
.ms-disc .ms-viewheadertr th.ms-vh2{
padding:1px 5px 0px 4px;
}
.ms-disc .ms-vh2 .ms-selectedtitle .ms-vb,.ms-disc .ms-vh2 .ms-unselectedtitle .ms-vb{
padding-left:4px;
}
th.ms-vh3-nograd{
width:12px;
color:#949494;
font-size:8pt;
font-family:tahoma,sans-serif;
}
.ms-vh .ms-vh{
background-image:none;
border-left:none;
padding-left:1px;
background-color:transparent;
}
.ms-vh2,.ms-ph{
padding:3px 8px 1px 8px;
}
.ms-vh2-gridview{
padding-top:2px;
padding-bottom:2px;
vertical-align:middle;
}
.ms-vh-icon,.ms-vh2-nograd-icon,.ms-vh2-nofilter-icon{
width:12px;
}
.ms-vh-icon-empty{
width:0px;
}
.ms-vh a,.ms-vh a:visited,.ms-vh2 a,.ms-vh2-nofilter a{
color:#7f7f7f;
text-decoration:none;
}
.ms-vh a:hover,.ms-vh2 a:hover,.ms-vh2-nofilter a:hover{
text-decoration:underline;
}
.ms-vhImage{
width:18pt
}
.ms-cbp{
padding-left:8px;
padding-right:8px;
}
.ms-standardheader{
font-size:1em;
margin:0em;
text-align:left;
color:#525252;
}
.ms-linksectionheader .ms-standardheader{
color:#000000;
}
.ms-gb h3.ms-standardheader{
margin-top:1em;
}
.ms-gb .ms-standardheader{
color:#000000;
}
.ms-gb{
height:22px;
background-color:#ffffff;
font-weight:bold;
border-bottom:1px solid #8ebbf5;
border-top:1px solid #f9f9f9;
padding-bottom:3px;
}
.ms-listviewtable .ms-gb,.ms-listviewtable .ms-gb2{
padding-top:14px;
}
.ms-gb2{
height:22px;
color:#4c4c4c;
padding-bottom:3px;
border-bottom:1px solid #e3efff;
border-top:1px solid #f9f9f9;
}
.ms-gbload{
height:22px;
color:#4c4c4c;
background-color:#ffffff;
padding-bottom:3px;
}
.ms-vb,.ms-vb2,.ms-GRFont,.ms-vb-user,table.ms-disc td,.ms-vb-tall,.ms-pb,.ms-pb-selected
{
vertical-align:top;
}
.ms-vb a,.ms-vb2 a,.ms-GRStatusText a,.ms-vb-user a,.ms-disc a{
color:#003399;
text-decoration:none;
}
.ms-vb a:hover,.ms-vb2 a:hover,.ms-vb-user a:hover,.ms-disc a:hover{
color:#000000;
text-decoration:underline;
}
.ms-vb a:visited,.ms-vb2 a:visited,.ms-GRStatusText a:visited,.ms-vb-user a:visited,.ms-disc a:visited{
color:#000066;
text-decoration:none;
}
.ms-vb a:visited:hover,.ms-vb2 a:visited:hover,.ms-vb-user a:visited:hover,.ms-disc a:visited:hover{
color:#000000;
text-decoration:underline;
}
.ms-vb-icon{
vertical-align:top;
width:0%;
padding-top:3px;
padding-left:8px;
padding-right:0px;
padding-bottom:0px;
}
.ms-vb-icon-overlay{
border:0;
position:relative;
left:-7px;
bottom:-2px;
}
.ms-vb-user{
padding-top:2px;
padding-right:2px;
padding-left:2px;
}
.ms-vb-title .ms-vb{
padding-top:2px;
padding-right:1px;
padding-bottom:5px;
padding-left:6px;
}
.ms-vb-title .ms-selectedtitle .ms-vb{
padding-top:1px;
padding-right:0px;
padding-bottom:4px;
padding-left:5px;
}
.ms-vb2{
padding-top:3px;
padding-left:8px;
padding-right:8px;
padding-bottom:4px;
}
.ms-pb,.ms-pb-selected{
padding-left:5px;
padding-right:5px;
white-space:nowrap;
}
.ms-pb{
height:22px;
padding-top:3px;
border-top:1px dashed #ffffff;
}
.ms-pb-selected{
height:22px;
padding-top:3px;
background-color:#ffe6a0;
border-top:1px solid #ffe6a0;
border-bottom:1px solid #ffe6a0;
}
.ms-pb a,.ms-pb-selected a{
font-size:8pt;
font-family:tahoma,sans-serif;
color:#000000;
text-decoration:none;
cursor:default;
}
.ms-vb-tall{
line-height:1.5em;
padding-top:2px;
padding-bottom:10px;
padding-left:6px;
padding-right:6px;
}
th .ms-vb,.ms-vh2-nofilter,.ms-vh2-nofilter-icon,th.ms-vh2-nograd,th.ms-vh2-nograd-icon{
color:#b2b2b2;
font-size:8pt;
font-family:tahoma,sans-serif;
}
th .ms-vb a,.ms-vh2-nofilter a,.ms-vh2-nofilter-icon a{
color:#808080;
}
th .ms-selectedtitle .ms-vb,th .ms-selectedtitle .ms-vh2-nofilter,th .ms-selectedtitle ms-vh2-nofilter-icon,th .ms-selectedtitle .ms-vb a,th .ms-selectedtitle .ms-vh2-nofilter a,th .ms-selectedtitle ms-vh2-nofilter-icon a{
color:#4c4c4c;
}
.ms-vb li
{
vertical-align:auto;
}
.ms-vh2-nofilter,.ms-vh2-nofilter-icon,.ms-vh2-nograd,.ms-vh3-nograd,.ms-vh2-nograd-icon{
padding-left:8px;
padding-right:8px;
padding-top:3px;
height:20px;
}
.ms-nlline{
background:#d8d8d8;
}
.ms-ppleft{
height:440px;
overflow:auto;
margin:2px;
border-bottom:1px solid #d8d8d8;
}
.ms-ppright{
width:600px;
margin:8px;
}
.ms-basictable .ms-alternating{
background-color:transparent;
}
.ms-homepagetitle{
font-family:arial;
font-size:12pt;
color:#000000;
font-weight:bold;
text-decoration:none;
}
a.ms-addnew{
font-weight:normal;
font-family:verdana;
font-size:8pt;
color:#003399;
text-decoration:none;
}
a.ms-addnew:Hover{
color:#000000;
text-decoration:underline;
}
td.ms-addnew{
padding-left:1px;
padding-right:7px;
}
.ms-error{
font-family:Verdana,sans-serif;
font-size:8pt;
font-weight:normal;
color:#ff0000
}
.ms-errorcolor{
color:#FF0000;
}
.ms-successcolor{
color:#008000;
}
IMG.ms-button{
cursor:pointer;
}
.ms-announcementtitle{
font-weight:bold;
}
.ms-homepagetitle:Hover{
text-decoration:underline;
color:#000000;
}
.ms-discussionseparator{
color:#CCCCCC;
height:1px;
}
.ms-summarytitlebarframe{
background-color:#2353b2;
}
.ms-summarytitlebar a:link{
font-family:Verdana,serif;
font-size:9pt;
color:#FFFFFF;
font-weight:normal;
text-decoration:none;
}
.ms-summarytitlebar a:visited{
font-family:Verdana,serif;
font-size:9pt;
color:#FFFFFF;
font-weight:normal;
text-decoration:none;
}
.ms-summarytitlebar{
color:#FFFFFF;
font-size:.68em;
font-family:verdana;
font-weight:normal;
text-decoration:none;
}
.ms-summarytitlebartitle{
color:#FFFFFF;
font-size:10pt;
font-family:arial;
font-weight:bold;
text-decoration:none;
}
.ms-summarytitlebartitle:hover{
text-decoration:underline;
color:#000000;
}
img.thumbnail{
border:solid #83b0ec 3px;
}
tr.ms-imglibselectedrow,tr.ms-highlight
{
background-color:#f2f2f2;
}
.ms-imglibthumbnail
{
background-color:#d8d8d8;border:solid #83b0ec 0px;
}
span.thumbnail{
padding:16 10;position:relative;width:5px;
}
span.userdata{
behavior:url(#default#userData);display:none;
}
.ms-imglibmenuarea
{
background-color:#f2f8ff;
}
a.ms-imglibPreviewTitle
{
overflow:hidden;
text-overflow:ellipsis;
width:130px;
}
table.ms-imglibPreviewTable
{
display:none;
}
table.ms-disc td
{
padding:0;
color:#4c4c4c;
}
.ms-disc-nopad,table tr td.ms-disc-nopad,table.ms-disc-nopad td
{
padding:0px;
}
table tr td.ms-disc-padabove{
padding:5px 5px 5px 5px;
}
table.ms-disc-bar td
{
vertical-align:middle;
height:22px;
padding-left:5px;
}
table.ms-disc-bar IMG
{
vertical-align:middle;
}
table.ms-disc-bar B
{
vertical-align:10%;
padding-right:5px;
}
td.ms-disc-bordered,td.ms-disc-bordered-noleft
{
border:0px solid #add1ff;
border-top-width:0px;
}
table tr td.ms-disc-bordered-noleft
{
border-left-width:1px;
padding:0px 10px 5px 10px;
font-family:verdana;
font-size:.7em;
text-align:left;
}
table tr td.ms-disc-bordered{
padding:0px 0px 5px 5px;
}
.UserShadedRegion
{
font-family:verdana,sans-serif;
background-color:#fffacc;
}
.UserCaption
{
font-size:8pt;
font-family:verdana;
background-color:#d6e8ff;
}
.UserConfiguration
{
font-size:8pt;
font-family:verdana;
background-color:#f2f2f2;
}
.UserDottedLine
{
margin-bottom:2px;
height:1px;
overflow:hidden;
background-color:#3966bf;
background-image:url("/_layouts/images/dot.gif");
}
.UserButton,.UserInput,.UserSelect{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
}
.UserNotification{
font-family:verdana,sans-serif;
padding:4px;
COLOR:#7f7f7f
}
.RemoveConnectionLink{
color:#003399;
text-decoration:none;
}
.ConnectionTabLink{
color:#333333;
text-decoration:none;
}
.ConnectionChooseActiveTab{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
border-top:solid 1px #999999;
border-left:solid 1px #999999;
border-right:solid 1px #999999;
border-bottom:solid 1px #ece9d8;
padding:3px;
display:inline;
height:24px;
background-color:#ece9d8;
}
.ConnectionChooseInactiveTab{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
border-top:solid 1px #999999;
border-right:solid 1px #999999;
border-bottom:solid 1px #999999;
padding:3px;
display:inline;
margin-top:4px;
height:20px;
color:#333333;
background-color:#bfbfbf;
}
.ConnectionConfigureInactiveTab{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
border-top:solid 1px #999999;
border-left:solid 1px #999999;
border-bottom:solid 1px #999999;
padding:3px;
margin-top:4px;
display:inline;
height:20px;
color:#333333;
background-color:#bfbfbf;
}
.ConnectionConfigureActiveTab{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
border-top:solid 1px #999999;
border-left:solid 1px #999999;
border-right:solid 1px #999999;
border-bottom:solid 1px #ece9d8;
padding:3px;
display:inline;
height:24px;
background-color:#ece9d8;
}
.UserConnectionTop
{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
border-bottom:solid 1px #999999;
height:24px;
width:100%;
}
.UserToolBarTextArea{
padding-left:0px;
padding-right:0px;
padding-bottom:5px;
font-weight:normal;
font-size:8pt;
font-family:Verdana,sans-serif;
}
.UserToolbarTextArea A:link
{
COLOR:#3966bf;
TEXT-DECORATION:none
}
.UserToolbarTextArea A:visited
{
COLOR:#3966bf;
TEXT-DECORATION:none
}
.UserToolbarTextArea A:hover
{
COLOR:#000000;
TEXT-DECORATION:underline
}
.UserToolbarDisabledLink
{
COLOR:#7f7f7f;
font-size:8pt;
font-family:verdana;
padding:4px;
}
.UserToolbarImage
{
border:medium none;
font-size:8pt;
cursor:pointer;
background-color:#f2f2f2;
text-align:center;
}
.UserCaptionShadow{
border-right:1px solid #add1ff;
border-left:1px solid #add1ff;
background-color:#f3f3f3;
height:2px;
background-image:url("/_layouts/images/viewheadergrad.gif");
background-repeat:repeat-x;
}
.UserGenericHeader
{
font-weight:bold;
font-size:12pt;
color:#000000;
font-family:arial,sans-serif;
}
.UserGeneric
{
padding:8px 5px 7px 5px;
}
.UserGenericBody
{
padding:5px 0px 0px 17px;
}
.UserGenericText
{
font-size:8pt;
font-family:verdana,arial,sans-serif;
color:#000000;
}
.UserBackground
{
background-color:#FFFFFF;
}
.UserSectionTitle
{
width:100%;
margin-bottom:5px;
padding-bottom:2px;
font-weight:bold;
border-bottom:solid 1px #c4c4c4;
color:#595959
}
.UserSectionHead
{
width:100%;
padding:0px 0px 3px 0px;
color:#595959;
}
.UserSectionBody
{
width:100%;
padding:0px 0px 0px 0px;
}
.UserControlGroup
{
padding-bottom:10px;
padding-top:2px;
}
.UserSectionFooter
{
width:100%;
margin-top:5px;
padding-top:2px;
border-top:solid 1px #c8c8c8;
color:#000000
}
.UserFooter
{
width:100%;
padding:10px 7px 7px 7px;
}
.UserCommandArea
{
padding-top:7px;
}
.UserToolbar
{
background-image:url("/_layouts/images/topnavunselected.gif");
border-bottom:1px solid #6f9dd9;
padding-left:2px;
padding-right:2px;
background-position:left bottom;
background-repeat:repeat-x;
background-color:transparent;
}
.UserCellHover
{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
padding:1px 4px 2px 4px;
border:solid 1px #2353b2;
color:#000000;
}
.UserCellSelected
{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
padding:1px 4px 2px 4px;
background-image:url("/_layouts/images/selectednav.gif");
background-repeat:repeat-x;
background-color:#ffdf88;
border:solid 1px #d2b47a;
color:#000000;
}
.UserCell
{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
padding:1px 4px 2px 4px;
margin:1px;
color:#003399;
}
.UserGenericBulletItem
{
padding-bottom:2px;
}
.ms-ToolPaneFrame
{
padding:0px;
background-color:#f2f2f2;
}
.ms-ToolPaneOuter
{
padding:0px;
background-color:#f2f2f2;
border-top:1px solid #6f9dd9;
border-right:2px solid #6f9dd9;
}
.ms-ToolPaneBody
{
padding-right:2px;
padding-left:0px;
padding-bottom:2px;
padding-top:2px;
}
.ms-ToolPaneHeader
{
background-color:#2353b2;
border-style:none;
}
.ms-ToolPaneBorder
{
border-right:1px solid #add1ff;
border-top:0px solid transparent;
border-bottom:0px solid transparent;
border-left:1px solid #add1ff;
}
.ms-ToolPaneClose
{
background-image:url("/_layouts/images/topnavselected.gif");
background-repeat:repeat-x;
background-color:#79a7e3;
border-top:solid 1px #e3efff;
border-bottom:solid 1px #83b0ec;
padding-right:3px;
padding-left:0px;
}
.ms-ToolPaneTitle
{
color:#000000;
font-weight:bold;
font-size:8pt;
background-image:url("/_layouts/images/topnavselected.gif");
background-repeat:repeat-x;
border-left:solid 1px #e3efff;
border-top:solid 1px #e3efff;
border-bottom:solid 1px #83b0ec;
font-family:verdana,arial,helvetica,sans-serif;
padding-left:0px;
padding-right:7px;
padding-top:1px;
padding-bottom:2px;
background-color:#79a7e3;
}
.ms-ToolPaneFooter
{
padding:5px;
font-size:8pt;
border-top:solid 1px #C8C8C8;
color:#595959;
font-weight:bold;
font-family:verdana,arial,helvetica,sans-serif;
}
.ms-ToolPaneError
{
color:#e00000;
font-family:verdana,arial,helvetica,sans-serif;
font-size:8pt;
padding:10px;
}
.ms-ToolPaneInfo{
font-size:8pt;
padding-right:5px;
padding-top:5px;
padding-bottom:0px;
padding-left:5px;
color:#FFFFFF;
font-family:verdana,arial,helvetica,sans-serif;
background-color:#204d89;
}
.ms-ToolPartSpacing{
padding-top:8px;
}
.ms-ToolStripSelected
{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
background-image:url("/_layouts/images/menubuttonhover.gif");
padding:1px 4px 2px 4px;
background-color:#afd2ff;
border-top:solid 1px #f2f8ff;
border-bottom:solid 1px #d6e8ff;
color:#000000;
}
.ms-ToolStrip
{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
padding:1px 4px 2px 4px;
background-image:url("/_layouts/images/listheadergrad.gif");
color:#000000;
border-top:solid 1px #f2f8ff;
border-bottom:solid 1px #d6e8ff;
background-color:#afd2ff;
}
.ms-TPBorder
{
border:none;
}
.ms-TPHeader
{
background-color:#ffdf88;
}
.ms-TPTitle
{
padding-left:4px;
padding-right:0px;
color:#2A4666;
font-weight:bold;
font-size:8pt;
font-family:verdana,arial,helvetica,sans-serif;
padding-top:2px;
padding-bottom:2px;
}
.ms-TPBody
{
color:#000000;
font-size:8pt;
font-family:verdana,arial,helvetica,sans-serif;
}
.ms-TPBody A:link,.ms-TPBody A:visited,.ms-TPBody A:hover
{
color:#003399;
text-decoration:none;
cursor:pointer;
}
.ms-TPCommands{
}
.ms-TPInput{
font-size:8pt;
color:#000000;
font-family:verdana,arial,helvetica,sans-serif;
}
.ms-PropGridBuilderButton
{
border:solid 1px #3966bf;
width:16px;
font-size:8pt;
display:none;
background-color:#add1ff;
}
.ms-BuilderBackground
{
background:#ece9d8;
color:#4c4c4c;
}
.ms-SPZone
{
border:1px solid #add1ff;
padding:5px;
background-color:#e3efff;
}
.ms-SPZoneSelected
{
border:1px solid #ffa521;
background-color:#ffeebe;
padding:5px
}
.ms-SPZoneIBar
{
border:#f48b3f 3px solid;
}
.ms-SPZoneLabel
{
color:#7f7f7f;
font-family:tahoma,verdana;
font-size:8pt;
padding:0px 0px 1px 0px;
}
.ms-SPZoneCaption{
font-size:9pt;
color:#7f7f7f;
font-family:tahoma,verdana;
}
.ms-WPDesign{
background-color:#add1ff;
}
.ms-WPMenu{
background-color:#add1ff;
}
.ms-WPTitle
{
font-weight:bold;
font-family:tahoma,sans-serif;
color:#4c4c4c;
padding-left:3px;
padding-right:7px;
padding-top:2px;
padding-bottom:2px;
font-size:10pt;
}
.ms-WPTitle A:link,.ms-WPTitle A:visited
{
color:#4c4c4c;
text-decoration:none;
cursor:pointer;
}
.ms-WPTitle A:hover
{
color:#000000;
text-decoration:underline;
cursor:pointer;
}
.ms-WPSelected
{
border:#ffbb77 3px dashed;
}
.ms-WPBody
{
font-size:8pt;
font-family:verdana,arial,helvetica,sans-serif;
}
.ms-WPBody TABLE,.ms-TPBody TABLE
{
font-size:1em;
}
.ms-WPBody A:link,.ms-WPBody A:visited
{
color:#003399;
text-decoration:none;
}
.ms-WPBody A:hover
{
color:#000000;
text-decoration:underline;
}
.ms-WPBody th,.ms-TPBody th
{
font-weight:bold;
}
.ms-WPBody td
{
font-size:8pt;
font-family:verdana,arial,helvetica,sans-serif;
}
.ms-WPBody h1,.ms-TPBody h1
{
font-weight:bold;
font-size:200 %;
}
.ms-WPBody h2,.ms-TPBody h2
{
font-weight:bold;
font-size:150 %;
}
.ms-WPBody h3,.ms-TPBody h3
{
font-weight:bold;
font-size:120 %;
}
.ms-WPBody h4,.ms-TPBody h4
{
font-weight:bold;
font-size:100%;
}
.ms-WPBody h5,.ms-TPBody h5
{
font-weight:bold;
font-size:80%
}
.ms-WPBody h6,.ms-TPBody h6
{
font-weight:bold;
font-size:65%;
}
.ms-WPBorder,.ms-WPBorderBorderOnly
{
border-color:#9ac6ff;
border-width:1px;
border-style:solid;
}
.ms-WPBorder
{
border-top-width:0px;
}
.ms-HoverCellInActive,.ms-SpLinkButtonInActive
{
border:none;
margin:1px;
color:#4c4c4c;
vertical-align:top;
background-color:transparent;
}
.ms-HoverCellActive,.ms-SpLinkButtonActive
{
border:#6f9dd9 1px solid;
vertical-align:top;
background-color:#ffbb47;
background-image:url("/_layouts/images/menubuttonhover.gif");
}
.ms-HoverCellActiveDark
{
background-image:url("/_layouts/images/menubuttonhover.gif");
border:solid 1px #868686;
background-color:#ffbb47;
vertical-align:top;
}
.ms-SpLinkButtonInActive,.ms-SpLinkButtonActive
{
padding:1px 1px 1px 3px;
}
.ms-SpLinkButtonActive a,.ms-SpLinkButtonActive a:hover{
color:#000000;
text-decoration:none;
}
.ms-SPLink
{
font-family:verdana;
font-size:8pt;
color:#003399
}
.ms-SPLink A:link,.ms-SPLink A:visited
{
color:#2A4666;
text-decoration:none;
}
.ms-SPButton
{
font-family:Tahoma;
font-size:8pt;
}
.ms-WPAddButton
{
height:25px;
background:#ffe6a0 url("/_layouts/images/wpqaM.gif") repeat-x;
border:solid 1px #FEBA52;
padding:0px;
margin:0px;
cursor:pointer;
}
.ms-WPAddButtonHover
{
background:#ffffff url("/_layouts/images/wpqaMH.gif") repeat-x;
}
.ms-WPAddButton td
{
vertical-align:middle;
padding-left:3px;
padding-right:3px;
text-align:center;
}
.ms-WPAddButton span
{
color:#CD5C01;
vertical-align:middle;
}
.ms-WPAddButtonHover span
{
color:#000000;
vertical-align:middle;
}
.ms-PartSpacingVertical
{
font-size:1pt;
margin-top:12px;
}
.ms-PartSpacingHorizontal
{
font-size:1pt;
width:8px;
}
.ms-WPHeader
{
}
.ms-WPHeader TD{
border-bottom:1px solid #4e7cb7;
border-collapse:collapse;
}
A span.ms-WPEditText{
display:inline;
vertical-align:middle;
padding-left:1px;
padding-right:1px;
font-size:8pt;
font-family:verdana,arial,sans-serif;
color:#000000;
text-decoration:none;
}
.ms-SPzone .ms-WPHeader TD,.ms-SPZoneSelected .ms-WPHeader TD{
border:1px solid #c4c4c4;
background-color:#fff9de;
background-image:url("/_layouts/images/partgrad.gif");
background-repeat:repeat-x;
}
.ms-SPZone td.ms-toolbar table,.ms-SPZoneSelected td.ms-toolbar table{
background-color:transparent;
}
.ms-SPZone tr.ms-viewheadertr table,.ms-SPZoneSelected tr.ms-viewheadertr table,.ms-SPZone .ms-vh2 table,.ms-SPZoneSelected .ms-vh2 table,.ms-SPZone .ms-vh table,.ms-SPZoneSelected .ms-vh table{
background-color:#f2f2f2;
}
.ms-SPZone .ms-vh table.ms-unselectedTitle,.ms-SPZone .ms-vh2 table.ms-unselectedTitle,.ms-SPZoneSelected .ms-vh table.ms-unselectedTitle,.ms-SPZoneSelected .ms-vh2 table.ms-unselectedTitle
{
background-color:transparent;
}
.ms-SPZone .ms-vh table.ms-selectedTitle,.ms-SPZone .ms-vh table.ms-selectedTitle td,.ms-SPZone .ms-vh2 table.ms-selectedTitle,.ms-SPZoneSelected .ms-vh table.ms-selectedTitle,.ms-SPZoneSelected .ms-vh table.ms-selectedTitle td,.ms-SPZoneSelected .ms-vh2 table.ms-selectedTitle
{
background-color:#dde1e5;
}
.ms-SPZone table,.ms-SPZoneSelected table{
background-color:#ffffff;
}
.ms-rtApplyBackground
{
background-color:#ffdf88;
BORDER-BOTTOM:buttonshadow solid 1px;
BORDER-RIGHT:buttonshadow solid 1px;
}
.ms-tbButtonMouseOverDown
{
BACKGROUND-COLOR:#ffdf88;
BORDER-BOTTOM:buttonhighlight solid 1px;
BORDER-LEFT:buttonshadow solid 1px;
BORDER-RIGHT:buttonhighlight solid 1px;
BORDER-TOP:buttonshadow solid 1px;
TOP:1px;
HEIGHT:22px;
WIDTH:23px;
}
.ms-rtRemoveBackground
{
background-color:transparent;
BORDER-BOTTOM:#ffdf88 solid 1px;
BORDER-LEFT:#ffdf88 solid 1px;
BORDER-RIGHT:#ffdf88 solid 1px;
BORDER-TOP:#ffdf88 solid 1px;
}
.ms-subsmanageheader
{
background-color:#f2f2f2;
font-family:verdana;
font-size:8pt;
text-align:left;
text-decoration:none;
font-weight:bold;
vertical-align:top;
}
.ms-subsmanagecell
{
color:#000000;
font-family:verdana;
font-size:.68em;
height:18px;
vertical-align:top;
}
.ms-ConnError
{
color:#ff0000;
}
.ms-underline
{
vertical-align:top;
border-bottom:1px solid #bfbfbf;
padding:3px 4px 4px 4px;
}
.ms-underlineback
{
vertical-align:top;
border-bottom:1px solid #bfbfbf;
padding:3px 4px 4px 4px;
background-color:#f2f2f2;
}
.ms-back
{
vertical-align:top;
padding:2px 4px 4px 4px;
background-color:#f2f2f2;
}
.ms-smallheader,th.ms-smallheader
{
font-size:8pt;
font-weight:bold;
color:#000000;
font-family:verdana;
text-align:left;
}
.ms-smallsectionline
{
padding:0px;
background-color:#bfbfbf;
}
.ms-tabselected
{
border-color:#6F9DD9;
border-width:1px;
border-style:solid;
font-weight:bold;
position:relative;
top:0px;
padding-top:3px;
padding-bottom:3px;
padding-left:10px;
padding-right:10px;
color:#003399;
background-image:url("/_layouts/images/selectednav.gif");
background-repeat:repeat-x;
background-color:#ffe6a0;
border-bottom:white;
}
.ms-tabinactive
{
font-weight:bold;
position:relative;
top:0px;
padding-top:3px;
padding-bottom:3px;
padding-left:10px;
padding-right:10px;
color:#003399;
background-image:url("/_layouts/images/topnavunselected.gif");
background-color:#e3efff;
background-repeat:repeat-x;
border:solid 1px #c2dcff;
border-bottom:none;
}
.ms-tabinactive a:link
{
color:#003399;
text-decoration:none;
}
.ms-tabinactive a:hover
{
color:#003399;
text-decoration:none;
}
.ms-tabinactive a:visited
{
color:#003399;
text-decoration:none;
}
.ms-surveyHBar
{
font-size:2px;
background-color:#3966bf;
border:solid;
border-width:5px;
border-color:#3966bf;
}
.ms-surveyHBarB
{
font-size:2px;
background-color:#CCCCCC;
border:solid;
border-width:1px;
border-color:#CCCCCC;
}
.ms-surveyHBarLabel
{
font-size:8pt;
font-family:tahoma,sans-serif;
color:#7f7f7f;
text-decoration:none;
;height:3.75pt;
margin:0;
padding:0;
border:none;
background-color:white;
}
.ms-surveyVBar
{
font-size:2px;
background-color:#3966bf;
}
.ms-surveyVBarB
{
font-size:2px;
background-color:#CCCCCC;
vertical-align:bottom;
}
.ms-surveyVBarBI
{
font-size:2px;
background-color:#3966bf;
vertical-align:top;
}
.ms-surveyVBarS
{
font-size:2px;
}
.ms-surveyVBarT
{
font-size:8pt;
font-family:verdana;
color:#7f7f7f;
}
.ms-surveyVBarTC
{
font-size:8pt;
font-family:verdana;
text-align:center;
color:#7f7f7f;
}
.ms-surveyHR
{
color:#CCCCCC;
height:1px;
}
.ms-surveyTotal
{
font-size:8pt;
font-family:verdana;
color:#7f7f7f;
padding-left:10px;
padding-right:0px;
}
.ms-uploadborder{
border:1px solid #83b0ec;
}
.ms-uploadcontrol{
background-color:#f2f2f2;
}
.ms-spaceBetContentAndButton
{
height:10px;
}
.ms-ButtonHeightWidth
{
width:10.5em;
font:8pt tahoma;
height:2.1em;
padding-top:0.1em;
padding-bottom:0.4em;
}
.ms-NarrowButtonHeightWidth
{
width:5em;
height:2em;
font:8pt tahoma;
padding:0;
}
.ms-ButtonHeightWidth2
{
height:2.1em;
font:8pt tahoma;
width:18.1em;
padding-top:0.1em;
padding-bottom:0.4em;
}
.ms-SpaceBetButtons
{
width:6px;
}
.ms-summarycustombody{
margin-left:3px;
margin-top:5px;
margin-right:6px;
}
.ms-summarystandardbody{
margin-left:0px;
margin-top:0px;
margin-right:6px;
}
.ms-stylebox{
font-family:verdana;
border:1px solid #CCCCCC;
text-align:left
}
.ms-stylelabel{
font-family:verdana;
font-size:8pt;
color:#4c4c4c;
}
.ms-styleheader{
font-family:verdana;
font-size:.68em;
background-color:#f9f9f9;
}
.ms-styleheader a:link,.ms-stylebody a:link{
color:#003399;
text-decoration:none;
}
.ms-styleheader a:visited,.ms-stylebody a:visited{
text-decoration:none
}
.ms-stylebody{
font-family:verdana;
font-size:8pt;
}
.ms-styleheader a:hover,.ms-stylebody a:hover{
color:#000000;
text-decoration:underline;
}
.ms-alternating{
background-color:#f9f9f9;
}
.ms-alternatingstrong{
background-color:#e3efff;
}
.ms-alternatingstrong td,.ms-basictable .ms-alternating td{
border-bottom:1px solid #d8d8d8;
border-top:1px solid #d8d8d8;
}
.ms-alternatingstrong td td,.ms-basictable .ms-alternating td td{
border:0px;
}
.ms-MWSSelectedInstance{
color:#000000;
text-decoration:none;
}
.ms-MWSInstantiated a:link,.ms-MWSInstantiated a:visited{
color:#003399;
text-decoration:none;
}
.ms-MWSInstantiated a:hover{
color:#8ebbf5;
text-decoration:underline;
}
.ms-MWSUninstantiated a:link,.ms-MWSUninstantiated a:visited{
color:#003399;
text-decoration:none;
}
.ms-MWSUninstantiated a:hover{
color:#003399;
text-decoration:underline;
}
.ms-entity-resolved{
color:#000000;
text-decoration:underline;
}
.ms-entity-unresolved{
color:#000000;
cursor:pointer;
background-image:url("/_layouts/images/squiggle.gif");
background-repeat:repeat;
background-position:left bottom;
padding-bottom:2px;
vertical-align:text-top;
font-style:italic;
}
.ms-ganttTitleCell
{
text-align:left;
padding-left:7px;
width:222px;
height:22px;
border:solid 1px #d6e8ff;
}
.ms-ganttTitleCellText
{
width:222px;
height:22px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
line-height:22px;
}
.ms-ganttTitleHeaderCell
{
text-align:left;
padding-left:7px;
width:222px;
border:solid 1px #d6e8ff;
}
.ms-ganttInnerTable td,.ms-ganttInnerTable th
{
font-family:verdana;
font-size:.68em;
}
.ms-ganttDiv
{
position:absolute;
overflow:auto;
height:272px;
width:100%;
}
.ms-ganttDivNotIE
{
position:inherit;
overflow:auto;
height:272px;
width:100%;
}
.ms-ganttOuterTable
{
width:100%;
height:272px;
}
.ms-ganttInnerTable th
{
color:#4e7cb7;
}
.ms-ganttMajorTimeUnitHeaderCell
{
text-align:center;
border-left:solid 1px #d6e8ff;
border-right:solid 1px #d6e8ff;
background-color:#f9f9f9;
}
.ms-ganttDetailTimeUnitRow td,.ms-ganttDetailTimeUnitRow th
{
text-align:center;
border:solid 1px #d6e8ff;
background-color:#f9f9f9;
}
.ms-ganttDetailTimeUnitRow abbr
{
border:none;
}
.ms-GWD
{
}
.ms-GNWD
{
background:#f9f9f9;
}
.ms-GT
{
background:cornsilk;
}
.ms-ganttTransparentImage
{
position:absolute;
width:100%;
height:20px;
z-index:2;
}
.ms-ganttNonTransparentImage
{
position:relative;
z-index:1;
}
.ms-dgselected
{
background:#5980A5;
color:#FFFFFF;
vertical-align:middle;
font-weight:bold;
}
.ms-dgselected a
{
color:#FFFFFF;
font-weight:bold;
}
.ms-dgselected a:visited
{
color:#FFFFFF;
font-weight:bold;
}
.ms-dgbottom
{
border-bottom:1px solid #000000;
border-left:1px solid #000000;
border-right:1px solid #000000;
}
.ms-dgadd a
{
font-weight:bold;
}
.ms-dgadd
{
vertical-align:middle;
border-top:1px solid #000000;
border-left:1px solid #000000;
border-right:1px solid #000000;
border-bottom:1px solid #C0C6E0;
}
.ms-infobar{
font-family:Tahoma;
background-color:#EDF0D9;
border-color:#999999;
border-width:1px;
border-style:solid;
font-size:10px;
}
.ms-selwidth
{
font-family:tahoma,verdana;
font-size:1.2em;
width:158px;
}
.ms-featurestatus
{
width:100px;
vertical-align:middle;
}
.ms-featurestatustext
{
padding:4px;
background-color:#003399;
color:white;
font-weight:bold;
}
.ms-featurealtrow
{
background-color:#e9e9e9;
}
.ms-unpublishedresource{
border-style:dashed;
border-width:thick;
border-color:#ff0000;
margin:5px 5px 5px 5px;
}
.ms-inconsistentresource{
border-style:dashed;
border-width:thick;
border-color:#00FF00;
margin:5px 5px 5px 5px;
}
.ms-annotatedanchorspacing{
top:3px;
left:3px;
width:3px;
height:3px;
}
.ms-consolemptablerow{
background-color:#79a7e3;
}
.ms-consolestatus,.ms-consoleerror,.ms-consolemessage,.ms-consoletoolbar{
font-size:8pt;
font-family:Tahoma,verdana;
}
.ms-consoleframe,.ms-consolestatusframe{
border-bottom-width:1px;
border-left-width:0px;
border-right-width:0px;
border-style:solid;
}
.ms-consolestatuscell{
background-image:url("/_layouts/images/pageTitleBKGD.gif");
background-repeat:repeat-x;
background-position:top left;
background-color:#d5dced;
text-align:center;
}
.ms-consoleframe{
border-top-width:1px;
border-color:#83b0ec;
}
.ms-consolestatusframe{
border-top-width:0px;
background-color:#f6fdfd;
background-repeat:repeat-x;
border-color:#FFFFFF;
}
td.ms-consolestatusmajorframe,td.ms-consolestatusminorframe,td.ms-consolestatuscheckoutframe{
background-repeat:repeat-x;
}
.ms-consolestatusmajorframe{
background-color:#fff699;
background:url('/_layouts/images/cnspgrdn.gif');
}
.ms-consolestatusminorframe{
background-color:#e3efff;
background:url('/_layouts/images/cnsugrdn.gif');
}
.ms-consolestatuscheckoutframe,.ms-consoleminiframe{
background-color:#fff8b2;
background:url('/_layouts/images/cnsugrdn.gif');
}
.ms-consoleminiframe{
height:24px;
background-repeat:repeat-x;
}
.ms-consolestatusshadowframe{
background-repeat:repeat-x;
background:url('/_layouts/images/cnsshdo.gif');
height:4px;
}
.ms-consolestatusshadowframeleft{
background:url('/_layouts/images/cnsshdol.gif');
height:4px;
width:3px;
}
.ms-consolestatusshadowframeright{
background:url('/_layouts/images/cnsshdor.gif');
height:4px;
width:3px;
}
.ms-consolemode{
background-color:#fff699;
color:#000000;
font-size:8pt;
font-family:verdana;
}
.ms-consolestatus{
color:#666666;
font-size:8pt;
font-family:verdana;
padding-top:3px;
padding-bottom:3px;
text-decoration:none;
}
.ms-consolestatus a{
font-family:Verdana,serif;
font-size:8pt;
color:#3966bf;
text-decoration:none;
}
.ms-consolestatus a:hover{
font-family:Verdana,serif;
font-size:8pt;
color:#3966bf;
text-decoration:underline;
}
.ms-consolehr{
background-color:#CDCDCD;
height:1px;
}
.ms-consoleerror{
color:#ff0000;
text-decoration:none;
}
.ms-consoleerror a{
color:#3966bf;
text-decoration:none;
}
.ms-consoleerror a:hover{
color:#3966bf;
text-decoration:underline;
}
.ms-consolemessage{
color:#204d89;
text-decoration:none;
}
.ms-consolemessage a{
text-decoration:none;
}
.ms-consolemessage a:hover{
text-decoration:underline;
}
.ms-consoletoolbar{
text-decoration:none;
color:#003399;
}
.ms-consoletoolbar a{
text-decoration:none;
}
.ms-consoleqaback td{
padding-left:3px;
padding-right:6px;
background-image:url("/_layouts/images/qarsgrd.gif");
}
.ms-consoleqabackhover td{
background-image:url("/_layouts/images/qahvgrd.gif");
padding-left:3px;
padding-right:6px;
}
.ms-consoleqaemptyborderh{
height:1px;
}
.ms-consoleqaemptyborderv{
width:1px;
}
.ms-consoleqaemptycorner{
width:1px;
height:1px;
}
.ms-consoleqaborderh,.ms-consoleqaborderv,.ms-consoleqacorner{
background-color:#CAD7E7;
}
.ms-consoleqaborderhhover,.ms-consoleqabordervhover,.ms-consoleqacornerhover{
background-color:#D2B47A;
}
.ms-consoleqaborderh{
height:1px;
}
.ms-consoleqaborderv{
width:1px;
}
.ms-consoleqacorner{
width:1px;
height:1px;
}
.ms-consoleqaborderhhover{
height:1px;
}
.ms-consoleqabordervhover{
width:1px;
}
.ms-consoleqacornerhover{
width:1px;
height:1px;
}
.ms-webpartpickerpagebackground{
background-color:#efebc2;
}
.ms-webpartpickerpageinnerbackground{
background-color:#f2f2f2;
}
.ms-webpartpickerpagetext{
color:#656B77;
text-align:left;
}
.ms-webpartpickerpagetext a{
color:#3966bf;
text-align:left;
}
.ms-webpartpickerpageHeaderBorder a{
color:#3966bf;
}
.ms-webpartpickeralign{
padding-left:3px;
padding-right:7px;
padding-top:2px;
padding-bottom:2px;
}
.ms-webpartpickerwarning{
color:#ff0000;
}
.ms-viewtotalselect{
width:104px;
}
.hierarchy-node-partialcheck{
font-style:italic;
}
.ms-wikitoolbar a.ms-toolbar{
color:#124890;
}
.ms-wikieditouter
{
height:23px;
font-size:8pt;
font-family:tahoma;
position:absolute;
right:9px;
top:30px;
border:1px solid #6393D4;
border-bottom:none;
text-align:center;
border-right-width:2px;
}
.ms-wikieditsecond
{
}
.ms-wikieditthird
{
background:url(/_layouts/images/toolgrad.gif);
padding-left:3px;
}
.ms-wikieditorange
{
}
.ms-wikieditorangeinnera
{
height:0px;
font-size:0px;
line-height:0px;
}
.ms-wikitoolbar a:hover.ms-toolbar
{
text-decoration:underline;
color:#000000;
}
.ms-wikicontent a{
text-decoration:underline;
}
.ms-wikicontent a.ms-wikilink
{
text-decoration:none;
}
.ms-wikicontent a.ms-missinglink
{
text-decoration:none;
border-bottom:1px dashed #000000;
}
.ms-wikicontent
{
color:#333333;
line-height:1.3;
}
.ms-recentchanges
{
vertical-align:top;
padding:7px 1px 9px 4px;
}
.errorinl
{
FONT-SIZE:8pt;
COLOR:#ff0000;
FONT-FAMILY:verdana,sans-serif;
}
.ms-diffdeletenostrike,.ms-diffdelete
{
background-color:#e0e0e0;
}
.ms-diffdelete
{
text-decoration:line-through;
}
.ms-diffinsert
{
background-color:#ffeaad;
border:1px solid #ffffff;
}
.ms-wikifieldheader{
font-family:tahoma;
font-size:8pt;
margin-top:15px;
margin-bottom:10px;
font-weight:bold;
color:#515151;
border-bottom:1px solid #C3C3C3;
padding:2px;
}
ul.ms-blogAdminLinks
{
list-style:none;
margin:4px 10px 0 0;
padding:0 0 0 4px;
}
ul.ms-blogAdminLinks li
{
background:transparent url(/_layouts/images/rect.gif);
background-position:center left;
background-repeat:no-repeat;
margin:0 0 0 0;
padding:0 0 3px 15px;
}
ul.ms-blogAdminLinks li a{
color:#003399;
}
.ms-PostWrapper,.ms-CommentsWrapper,.ms-blogrss
{
color:#4c4c4c;
width:588px;
}
.ms-blogrssnav{
color:#4c4c4c;
padding-bottom:5px;
padding-top:5px;
padding-left:5px;
border-top:solid 1px #add1ff;
}
.ms-blogrssnav a{
color:#003399;
text-decoration:none;
font-weight:bold;
font-size:8pt;
}
.ms-blogrssnav img{
border:none;
}
.ms-PostTitle{
font-size:16pt;
border-top:solid 1px #e3efff;
padding-top:6px;
}
.ms-PostTitle span{
position:relative;
left:-2px;
right:auto;
}
.ms-PostTitle a
{
color:#4c4c4c;
text-decoration:none;
}
.ms-PostFooter,.ms-CommentFooter{
font-size:8pt;
color:#999999;
padding-bottom:22px;
}
.ms-PostFooter a,.ms-CommentFooter a{
color:#6c90d8;
white-space:nowrap;
}
.ms-PostBody
{
color:#4c4c4c;
font-size:8pt;
line-height:1.7em;
padding-top:6px;
padding-bottom:12px;
}
.ms-PostBody a{
color:#0000CC;
}
.ms-PostBody p{
margin:0 0 1em 0;
}
h3.ms-PostDate
{
font-size:8pt;
color:#7f7f7f;
margin:0;
border-bottom:solid 1px #6f9dd9;
padding-bottom:5px;
}
h3.ms-CommentHeader
{
font-size:16pt;
font-weight:normal;
color:#999999;
margin:0 0 0 0;
padding:0 0 0 0;
position:relative;
top:-.25em;
left:-2px;
right:auto;
}
h4.ms-CommentTitle
{
color:#666666;
font-size:8pt;
line-height:1.7em;
padding:0px 0 0 0;
margin:0px;
}
.ms-CommentBody{
color:#4c4c4c;
font-size:8pt;
line-height:1.7em;
padding-bottom:12px;
padding-top:6px;
}
.ms-commentsempty{
color:#4c4c4c;
font-size:8pt;
padding-bottom:22px;
padding-top:6px;
}
.ms-blogedit{
font-size:8pt;
line-height:1.7em;
vertical-align:top;
border-top:solid 1px #e3efff;
}
.ms-blogedit a{
height:22px;
padding:0px 5px 0 5px;
color:#003399;
background-image:url("/_layouts/images/toolgrad.gif");
background-color:#d6e8ff;
border:1px solid #83b0ec;
border-top:none;
}
.ms-blogrss
{
font-size:8pt;
border-top:solid 1px #e3efff;
padding-top:5px;
}
.ms-blogrss a{
color:#003399;
}
.ms-blogrss img
{
vertical-align:middle;
border:none;
}
.ms-commenttable{
margin:15px 0 0 0;
padding:0px;
}
.ms-commenttable td{
border-top:solid 1px #d6e8ff;
}
.ms-CommentFooter a
{
padding-top:4px;
margin:0;
}
.ms-pickerwait
{
width:100%;
height:100%;
margin:0px;
background-color:#FFFFFF;
font-family:verdana;
font-size:8pt;
color:#000000;
}
.ms-pickerdropdown
{
margin-left:5px;
}
.ms-CategoryTitleCell
{
padding:0px 0px 0px 0px;
}
.ms-CategoryTitleCell a
{
display:block;
background:transparent url("/_layouts/images/navbullet.gif");
background-position:left top;
background-repeat:no-repeat;
margin:0px;
padding:3px 0px 3px 16px;
}
.ms-BlogEmptyListText
{
padding:2px 2px 2px 10px;
}
.ms-BlogNavigator p.ms-descriptiontext
{
display:none;
}
.ms-BlogNavigator div.ms-navheader{
background-color:#d6e8ff;
border-top:solid 1px #f2f8ff;
border-left:solid 1px #f2f8ff;
border-bottom:1px solid #add1ff;
padding:1px 6px 3px 6px;
}
.ms-BlogNavigator div.ms-navheader a{
color:#003399;
}
.ms-BlogNavigator div.ms-navheader{
color:#4c4c4c;
font-weight:bold;
}
.ms-BlogNavigator .ms-quicklaunch table td{
border-top:none;
}
.ms-BlogNavigator div.ms-WPBody{
border-top:solid 1px #add1ff;
}
.ms-BlogNavigator div.ms-PartSpacingVertical
{
font-size:1pt;
margin-top:0px;
}
.ms-BlogNavigator td.ms-addnew{
padding-left:6px;
}
.ms-BlogNavigator td.ms-addnew img{
margin-right:2px;
}
.ms-BlogEmptyListText{
padding:4px 4px 2px 6px;
color:#4c4c4c;
}
.ms-pickertitlesection
{
background:#ffffff url("/_layouts/images/siteTitleBKGD.gif") repeat-y top right;
}
.ms-pickertitlesection .ms-descriptiontext
{
padding:8px 3px 8px 3px;
}
.ms-pickeremptyresulttexttr .ms-descriptiontext{
padding-left:5px;
padding-top:6px;
}
.ms-pickerbodysection
{
background:#ece9d8 url("/_layouts/images/viewheadergrad.gif") repeat-x;
border-top:solid 1px #a5a5a5;
}
.ms-pickerresultoutertable
{
table-layout:fixed;
}
.ms-pickerresulttable
{
border-collapse:separate;
}
.ms-pickerresultdiv
{
background-color:#ffffff;
border-top-width:1px;
border-bottom-width:1px;
border-left-width:1px;
border-right-width:1px;
border-style:inset;
OVERFLOW:scroll;
width:100%;
height:100%;
}
.ms-pickerbuttonsection
{
background-color:#ece9d8;
}
.ms-pickersectionline
{
background-color:#d0d0bf;
}
.ms-pickersearchbox
{
height:19px;
color:#000000;
}
.ms-pickersearchsummarytr td.ms-descriptiontext
{
padding-left:6px;
padding-top:5px;
color:#525252;
font-weight:bold;
}
.ms-pickerwaittexttr td.ms-descriptiontext
{
text-align:center;
}
.ms-ph
{
padding-left:5px;
padding-right:5px;
background-image:none;
background-color:#f3f3f3;
color:#949494;
white-space:nowrap;
}
.ms-naveditor .ms-vb2,.ms-naveditor .ms-gb{
padding:3px 3px 0 3px;
height:22px;
}
.ms-naveditor .ms-gb{
border-top:0;
}
.ms-naveditor .ms-gb img{
margin-top:1em;
}
@media print{
.ms-leftareacell,.ms-globallinks,.ms-siteaction,.ms-areaseparatorleft,.ms-rightareacell,.ms-areaseparatorright,
.ms-areaseparatorcorner,.ms-titlearealeft,.ms-titlearearight,.ms-searchform,.ms-banner,.ms-buttonheightwidth,.ms-buttonheightwidth2{
display:none;
}
}
.ms-hidden,a.ms-skip,a:hover.ms-skip,a:visited.ms-skip
{
position:absolute;
left:0px;
top:-500px;
width:1px;
height:1px;
overflow:hidden;
}
a:active.ms-skip,a:focus.ms-skip
{
position:absolute;
left:2px;
top:2px;
width:auto;
height:auto;
background-color:white;
border-color:black;
border-width:1px;
border-style:Solid;
color:black;
padding-top:2px;
padding-bottom:2px;
padding-left:4px;
padding-right:4px;
}
.ms-dialogBody
{
background-color:#ece9d8;
}
.ms-dialogHeader
{
background-color:#ffffff;
background-position:right top;
background-image:url('/_layouts/images/dialogTitleBKGD.jpg');
background-repeat:repeat-y;
}
.ms-dialogHeaderDescription
{
font-family:Tahoma;
font-size:8pt;
color:#666666;
padding-right:20px;
}
.ms-dialogHelpLink,.ms-dialogHelpLink a
{
font-family:Tahoma;
font-size:8pt;
color:#666666;
text-decoration:none;
}
.ms-dialogHeadingDivider1
{
background-color:#ffffff;
}
.ms-dialogHeadingDivider2
{
background-color:#9e9fa1;
}
.ms-dialogHeadingDivider3
{
background-color:#d6d2bf;
}
.ms-dialogBodyMain
{
background-color:#ffffff;
border:1px solid #7f9db9;
font-family:Tahoma;
font-size:8pt;
color:#666666;
}
.ms-dialogButtonSection
{
border-top:1px solid #d0d0bf;
}
.ms-dialogButtonCell,.ms-dialogButtonCell INPUT
{
font-family:Tahoma;
font-size:8pt;
}
.ms-dialogHoverRow
{
background-color:#f2f4e3;
}
.ms-dialogSelectedRow
{
background-color:#e6e6e6;
}
.ms-aggrwebpartcell
{
padding-right:5px;
padding-left:5px;
}
a.ms-acclink
{
width:auto;
height:1.1em;
background-color:white;
border-color:black;
border-width:1px;
border-style:solid;
padding-top:2px;
padding-bottom:2px;
padding-left:4px;
padding-right:4px;
color:black;
}
a.ms-imnlink
{
cursor:default;
}
/* _lcid="1033" _version="12.0.6500"
_LocalBinding */
.ms-SrvMenuUI
{
display:none;
}
.ms-MenuUIPopupBody
{
border:1px solid #868686;
margin:0px;
padding:0px;
}
.ms-MenuUIPopupBody TABLE
{
color:#003399;
font-size:100%;
margin:0px;
padding:0px;
}
.ms-MenuUIPopupBody div
{
cursor:pointer;
}
.ms-MenuUI,.ms-MenuUILarge,.ms-MenuUIRtL,.ms-MenuUILargeRtL
{
background-color:#fafafa;
background-repeat:repeat-y;
cursor:pointer;
}
.ms-MenuUI,.ms-MenuUILarge
{
background-position:left;
}
.ms-MenuUIRtL,.ms-MenuUILargeRtL
{
background-position:right;
}
.ms-MenuUI
{
background-image:url("/_layouts/images/MGrad.gif");
}
.ms-MenuUILarge
{
background-image:url("/_layouts/images/MGradLarge.gif");
width:250px;
}
.ms-MenuUIRtL
{
background-image:url("/_layouts/images/MGradRtl.gif");
}
.ms-MenuUILargeRtL
{
background-image:url("/_layouts/images/MGradLargeRtl.gif");
width:250px;
}
.ms-MenuUIDisabled SPAN
{
color:#888888;
}
.ms-MenuUIItemTableCell,.ms-MenuUIItemTableCellCompact
{
padding:2px;
color:#003399;
text-decoration:none;
font-size:8pt;
font-family:tahoma;
}
.ms-MenuUIItemTableCellCompact
{
padding:1px 2px 1px 2px;
}
.ms-MenuUIItemTableCell A,.ms-MenuUIItemTableCellHover A,.ms-MenuUIItemTableCellCompact A,.ms-MenuUIItemTableCellCompactHover A
{
color:#003399;
text-decoration:none;
}
.ms-menuitemdescription
{
color:#666666;
}
.ms-MenuUIItemTableCellHover,.ms-MenuUIItemTableCellCompactHover
{
padding:1px;
color:#003399;
text-decoration:none;
font-size:8pt;
font-family:tahoma;
}
.ms-MenuUIItemTableCellCompactHover
{
padding:0px 1px 0px 1px;
}
.ms-MenuUIItemTableHover
{
background-color:#ffe6a0;
border:1px solid #d2b47a;
}
.ms-MenuUIItemTableHover .ms-menuitemdescription
{
color:#333333;
}
.ms-MenuUIIcon,.ms-MenuUIIconRtL
{
height:16px;
width:24px;
}
.ms-MenuUIIconLarge,.ms-MenuUIIconLargeRtl
{
height:16px;
width:40px;
}
.ms-MenuUIIcon,.ms-MenuUIIconLarge
{
padding:
0px
6px
0px
2px;
}
.ms-MenuUIIconRtL,.ms-MenuUIIconLargeRtl
{
padding:
0px
2px
0px
6px;
}
.ms-MenuUILabel,.ms-MenuUILabelRtL,.ms-menuuilabelcompact,.ms-menuuilabelcompactRtl
{
width:100%;
}
.ms-MenuUILabel
{
padding:
2px
0px
3px
6px;
}
.ms-MenuUILabelRtL
{
padding:
2px
6px
3px
0px;
}
.ms-menuuilabelcompact{
padding:1px 0px 1px 7px;
}
.ms-menuuilabelcompactRtl{
padding:1px 7px 1px 0px;
}
.ms-MenuUISubmenuArrow
{
height:16px;
width:16px;
}
.ms-MenuUISeparator,.ms-MenuUISeparatorRtL,.ms-MenuUISeparatorLarge,.ms-MenuUISeparatorLargeRtl
{
background-color:#c5c5c5;
font-size:1px;
height:1px;
line-height:1px;
}
.ms-MenuUISeparator
{
margin:
0px
0px
0px
32px;
}
.ms-MenuUISeparatorRtL
{
margin:
0px
32px
0px
0px;
}
.ms-MenuUISeparatorLarge
{
margin:0px 0px 0px 48px;
}
.ms-MenuUISeparatorLargeRtl
{
margin:0px 48px 0px 0px;
}
.ms-MenuUICheckMark
{
background-image:url("/_layouts/images/ChkMrk.gif");
}
.ms-MenuUIItemTableCellDisabled
{
color:#999999;
}
.ms-sbtable{
color:#000000;
font-family:Verdana;
font-size:0.7em;
font-style:normal;font-weight:normal
}
.ms-sbtablealt{
color:#000000;
font-family:Verdana;
font-size:0.7em;
font-style:normal;font-weight:normal
}
.ms-sbtable-ex{
width:100%;
border-collapse:collapse;
margin-top:2px;
margin-left:2px;
}
.ms-sbtable-border{
border:1px solid #97b4e9;
}
td.ms-sbcell{
padding:0px;
padding-left:2px;
white-space:nowrap;
border:solid 1px #7f9db9;
}
td.ms-sbcellnoborder{
padding-right:2px;
white-space:nowrap;
border:0;
}
.ms-sbtext{
font-family:Tahoma;
font-size:1em;
font-weight:bold;
}
.ms-sbplain{
font-family:Tahoma;
font-size:8pt;
border:none;
}
.ms-sbplainwithborder{
font-family:Tahoma;
font-size:8pt;
}
td.ms-sblink{
padding-right:14px;
border:none;
}
.ms-sblink a:link,.ms-sblink a:visited{
font-family:Tahoma;
font-size:8pt;
color:#666666;
text-decoration:none;
padding-left:4px;
}
.ms-sblink a:hover{
color:#000000;
text-decoration:underline;
}
td.ms-sbgo{
background-color:#e9f2fd;
padding-left:3px;
padding-right:3px;
padding-bottom:1px;
padding-top:1px;
}
.ms-sbLastcell,.ms-rightbodysectionsearchbox{
width:100%;
}
.ms-sbLastCell{
padding-right:10px;
}
td.ms-sbscopes{
border:none !important;
}
select.ms-sbscopes{
font-family:tahoma,verdana;
font-size:8pt;
width:170px;
}
.srch-WPBody{
margin:0px;
font-family:tahoma;
font-size:1em;
color:#666666;
}
.srch-results{
}
.srch-sort{
COLOR:#333333;
FONT-SIZE:1.0em;
}
.srch-sort A:link,.srch-sort A:visited{
text-decoration:none;
color:#003399;
}
.srch-sort a:hover{
color:#FF0000;
}
.srch-sort-right{
float:right;
COLOR:#333333;
FONT-SIZE:1.0em;
padding-bottom:4px;
}
.srch-sort-right A:link,.srch-sort-right A:visited{
text-decoration:none;
color:#003399;
}
.srch-sort-right a:hover{
color:#FF0000;
}
.srch-summary{
COLOR:#333333;
FONT-SIZE:1.0em;
FONT-FAMILY:Tahoma;
}
.srch-summary A:link,.srch-summary A:visited{
text-decoration:none;
color:#003399;
}
.srch-summary a:hover{
color:#FF0000;
}
.srch-stats{
COLOR:#333333;
FONT-SIZE:1.0em;
FONT-FAMILY:Tahoma;
background-color:#ececec;
text-align:left;
white-space:nowrap;
}
.srch-stats A:link{
text-decoration:none;
color:#003399;
}
.srch-stats a:hover{
color:#FF0000;
}
.srch-Description{
FONT-SIZE:1.0em;
MARGIN:0px 0px 4px;COLOR:#333333;
FONT-FAMILY:Tahoma;
}
.srch-Description b{
font-weight:bold;
COLOR:#333333;
}
.srch-alertme a:link,.srch-alertme A:visited{
MARGIN:0px 0px 0px;
}
.srch-alertme a:hover{
MARGIN:0px 0px 0px;
}
.srch-Title{
FONT-SIZE:1.2em;
MARGIN:0px 0px 5px;
COLOR:#003399;
FONT-FAMILY:Tahoma;
}
.srch-Title A:link,.srch-Title A:visited{
text-decoration:none;
color:#003399;
}
.srch-Title a:hover{
color:#FF0000;
text-decoration:underline;
}
.srch-URL A:link,.srch-URL A:visited{
color:#008800 !important;
text-decoration:none;
}
.srch-URL a:hover{
color:#FF0000;
text-decoration:underline;
}
.srch-Metadata{
BORDER-TOP:#e0ded5 1px solid;
FONT-SIZE:1.0em;
MARGIN:0px 0px 15px;COLOR:#8c8c8c;
FONT-FAMILY:Tahoma;
}
.srch-dup .srch-Page-bg{
}
.srch-Page{
COLOR:#666666;
FONT-WEIGHT:bold;
FONT-SIZE:1.0em;
FONT-FAMILY:Tahoma;
background-color:#ececec;
text-align:right;
}
.srch-Page A:link,.srch-Page A:visited{
text-decoration:none;
color:#3764a0;
FONT-WEIGHT:normal;
}
.srch-Page a:hover{
color:#FF0000;
}
.srch-dup A:link,.srch-dup A:visited{
COLOR:#517acc
}
.srch-Icon{
margin-right:4;
}
.srch-ActionLink a{
text-decoration:none;
font-size:.85em;
font-style:italic;
color:336699;
margin-top:2;
margin-bottom:0;
}
.srch-ActionLink a:hover{
color:#FF0000;
}
.ms-searchresultstitlearea{
background-image:url("/_layouts/images/pageTitleBKGD.gif");
background-repeat:repeat-x;
background-color:#d6e8ff;
text-align:center;
padding-left:18px;
padding-top:20px;
border-bottom:1px solid #6f9dd9;
height:85px;
}
.ms-searchresultsareaSeparator{
background-color:#d6e8ff;
padding:0px;
}
------------v0R7J6g1aaWINvTDUDfdRA
Content-Disposition: inline; filename=core.css
Content-Type: text/css; charset=utf-8; name=core.css
Content-Location: http://www.vojenskaskola.cz/_layouts/1029/styles/core.css?rev=pkS%2FF9TH6vOPeNHO466yQw%3D%3D
Content-Transfer-Encoding: 8bit
/* _lcid="1029" _version="12.0.6500"
_LocalBinding */
body,form{
margin:0;
}
body{
background-color:#FFFFFF;
font-family:verdana,arial,helvetica,sans-serif;
color:#000000;
}
.ms-alphaimage{
behavior:url("/_layouts/alphaimage.htc");
}
.ms-alignleft{
text-align:left;
}
.ms-alignright{
text-align:right;
}
.ms-toolbar,.ms-viewtoolbar,.ms-formtoolbar,.ms-toolbarContainer{
font-family:verdana;
font-size:8pt;
text-decoration:none;
color:#003399;
}
.ms-formtoolbar{
margin-bottom:7px;
}
.ms-formtoolbar td{
padding:0px;
vertical-align:top;
}
.ms-toolbar-togglebutton-on{
border:1px solid #2353b2;
background-color:#fffacc;
}
table.ms-toolbar,table.ms-viewtoolbar,.ms-toolbarContainer{
background-image:url("/_layouts/images/toolgrad.gif");
background-repeat:repeat-x;
background-color:#d6e8ff;
}
table.ms-toolbar,.ms-toolbarContainer{
border:1px solid #83b0ec;
border-collapse:collapse;
}
.ms-toolbarContainer{
padding:2px;
}
.ms-toolbarItem{
display:inline;
white-space:nowrap;
}
table.ms-viewtoolbar{
border-top:1px solid #6f9dd9;
border-bottom:1px solid #6f9dd9;
}
.ms-attachButton
{
text-align:left
}
.ms-listheader{
font:10pt verdana;
color:#204d89;
font-weight:bold;
height:28px;
background-image:url("/_layouts/images/listheadergrad.gif");
background-repeat:repeat-x;
background-color:#d9d9d9;
}
.ms-menutoolbar{
border-bottom:1px solid #6f9dd9;
height:22px;
background-color:#afd2ff;
background-image:url("/_layouts/images/listheadergrad.gif");
background-repeat:repeat-x;
}
.ms-menutoolbar td{
border-top:solid 1px #f2f8ff;
border-bottom:solid 1px #d6e8ff;
}
.ms-menutoolbar td a{
color:#003399;
font-size:8pt;
font-family:tahoma;
text-decoration:none;
}
.ms-menutoolbar td a:hover{
color:#000000;
text-decoration:none;
}
.ms-menutoolbar td{
padding:0px;
margin:0px;
vertical-align:middle;
}
.ms-menutoolbar td a:hover{
color:#000000;
text-decoration:none;
}
.ms-menubuttoninactivehover,.ms-buttoninactivehover{
margin:2px 2px 2px 2px;
padding:2px 7px 3px 7px;
background-color:transparent;
line-height:16px;
}
.ms-menubuttonactivehover,.ms-buttonactivehover{
margin:0px 1px 0px 1px;
padding:3px 7px 4px 7px;
background-image:url("/_layouts/images/menubuttonhover.gif");
line-height:16px;
border:solid 1px #6f9dd9;
cursor:pointer;
}
.ms-buttoninactivehover{
padding:0px 7px 1px 7px;
}
.ms-buttonactivehover{
padding:1px 7px 2px 7px;
}
.ms-buttoninactivehover img,.ms-buttonactivehover img{
margin:1px 1px 0px 0px;
}
td.ms-menutoolbarheader{
font-size:10pt;
font-family:verdana;
color:#204d89;
font-weight:bold;
line-height:16px;
padding-left:7px;
padding-right:7px;
}
.ms-listheaderlabel{
color:#204d89;
}
.ms-listheaderlabel,.ms-viewselector,.ms-viewselectortext,.ms-viewselectorhover{
font-size:8pt;
font-family:tahoma;
}
.ms-menutoolbar td td.ms-viewselector,.ms-menutoolbar td td.ms-viewselectorhover,.ms-toolbar td td.ms-viewselector,.ms-toolbar td td.ms-viewselectorhover,.ms-authoringcontrols td td.ms-viewselector,.ms-authoringcontrols td td.ms-viewselectorhover,td.ms-viewselector{
border:solid 1px #d2b47a;
background-image:url("/_layouts/images/selectednav.gif");
background-repeat:repeat-x;
background-color:#ffe6a0;
font-weight:bold;
padding:0px;
}
.ms-menutoolbar td td{
border:none;
}
div.ms-viewselector,div.ms-viewselectorhover{
border:solid 1px #ffffff;
padding:1px 12px 1px 4px;
background-image:url("/_layouts/images/menudarkspaced.gif");
background-repeat:no-repeat;
background-position:center right;
cursor:pointer;
}
div.ms-viewselector a{
color:#000000;
}
.ms-menutoolbar td td.ms-viewselectorhover,.ms-toolbar td td.ms-viewselectorhover,.ms-authoringcontrols td td.ms-viewselectorhover{
background-image:url("/_layouts/images/menubuttonhover.gif");
background-color:#ffbb47;
}
td.ms-viewselector,td.ms-viewselectorhover{
width:125px;
}
.ms-bottompaging{
background:#ebf3ff;
}
.ms-bottompagingline1{
line-height:1px;
background:#83b0ec
}
.ms-bottompagingline2{
line-height:1px;
background:#ffffff;
}
.ms-bottompagingline3{
line-height:0px;
background:#ffffff;
}
.ms-paging{
font-family:tahoma,sans-serif;
font-size:8pt;
font-weight:normal;
color:#204d89;
}
.ms-bottompaging .ms-paging{
color:#4c4c4c;
}
.ms-menutoolbar .ms-splitbuttondropdown{
padding:0px 2px 1px 1px;
margin:1px;
}
.ms-menutoolbar .ms-splitbuttontext{
padding:0px 6px 1px 8px;
}
.ms-splitbutton{
margin:0px 1px 0px 1px;
}
.ms-splitbuttonhover{
background-image:url("/_layouts/images/menubuttonhover.gif");
border-collapse:collapse;
margin:0px 1px 0px 1px;
}
.ms-splitbuttonhover .ms-splitbuttondropdown,.ms-splitbuttonhover .ms-splitbuttontext{
border:1px solid #6f9dd9;
cursor:pointer;
}
.ms-splitbuttonhover .ms-splitbuttondropdown{
padding:0px 1px 0px 1px;
}
.ms-splitbuttonhover .ms-splitbuttontext{
padding:0px 5px 0px 7px;
}
.ms-rtetablecells
{
border:solid 1px #c4c4c4;
padding:2px;
}
.ms-rtetoolbarmenu
{
background-color:#f3f3f3;
color:#000000;
border:#c4c4c4;
font-family:verdana;
font-size:8pt;
}
TD.ms-rtetoolbarunsel{
padding:3px;
}
TD.ms-rtetoolbarsel{
padding:2px;
border:solid 1px #89724f;
background-image:url("/_layouts/images/rtebnsel.gif");
background-repeat:repeat-x;
}
.ms-rtetoolbardis{
filter:alpha(opacity=25);
cursor:default;
}
a.ms-rtetoolbardis{
cursor:default;
}
TD.ms-rtetoolbarhov
{
padding:2px;
border:solid 1px #d2b47a;
background-image:url("/_layouts/images/rtebnhov.gif");
background-repeat:repeat-x;
background-color:#fff699;
cursor:pointer;
color:#000000;
}
.ms-gridT1,.ms-propertysheet th.ms-gridT1
{
font-family:verdana;
text-align:left;
font-size:0.7em;
color:#000000;
width:190px;
}
.ms-gridCol{
font-family:verdana;
text-align:center;
font-size:.6em;
color:#7f7f7f;
width:90px;
}
.ms-viewselect a:link,.ms-GRFontSize{
font-size:8pt;
font-family:Verdana,sans-serif;
color:#003399;
}
select{
font-size:8pt;
font-family:Verdana,sans-serif;
}
hr{
color:#003399;
height:2px;
}
.ms-formlabel{
text-align:left;
font-family:verdana;
font-size:.7em;
border-top:1px solid #d8d8d8;
padding-top:3px;
padding-right:8px;
padding-bottom:6px;
color:#525252;
font-weight:bold;
}
.ms-formdescription A{
color:#003399;
text-decoration:none;
}
.ms-formvalidation{
color:#ff0000;
font-family:verdana;
font-size:8pt;
}
.ms-formtable .ms-formbody,.ms-formtable .ms-formbodysurvey{
line-height:1.3em;
}
.ms-informationbar{
background-color:#fff9de;
border:1px solid #ffdf88;
}
.ms-informationbar td{
font-family:tahoma;
font-size:8pt;
color:#000000;
}
.ms-radiotext{
cursor:default;
text-align:left;
font-family:verdana;
font-size:8pt;
height:19px;
}
.ms-radiobutton-child{
margin-left:20px;
}
.ms-gridtext{
cursor:default;
text-align:right;
font-family:verdana;
font-size:8pt;
height:19px;
}
.ms-formbody{
font-family:verdana;
font-size:.7em;
vertical-align:top;
background:#ebf3ff;
border-top:1px solid #d8d8d8;
padding:3px 6px 4px 6px;
}
.ms-formbodysurvey{
font-family:verdana;
font-size:.7em;
vertical-align:top;
background:none;
border-top:none;
padding:5px 8px 15px 8px;
}
.ms-formbody FONT{
line-height:normal
}
.ms-formline{
border-top:1px solid #c4c4c4;
padding-right:8px;
padding-left:8px;
}
.ms-formdescription
{
font-family:verdana;
font-size:8pt;
color:#7f7f7f;
}
.ms-formfieldcontainer
{
}
.ms-formfieldlabelcontainer
{
margin:4px 4px 0px 4px;
}
div.ms-formfieldlabelcontainer span.ms-formfieldlabel
{
font-family:tahoma;
font-size:8pt;
font-weight:normal;
text-align:left;
color:#777777;
padding:1px 4px 1px 4px;
border-top:1px solid #cccccc;
border-left:1px solid #cccccc;
border-right:1px solid #cccccc;
background-image:url("/_layouts/images/globgrad.gif");
background-repeat:repeat-x;
background-color:#efebef;
height:18px;
}
.ms-formfieldvaluecontainer
{
border:1px solid #cccccc;
margin-left:4px;
margin-right:4px;
margin-bottom:4px;
padding:5px;
}
.ms-searchbox,.ms-pickersearchbox{
border:solid 1px #7f9db9;
border-right:none;
color:#1952a4;
font-family:Verdana;
font-size:8pt;
height:19px !important;
padding-top:2px;
padding-left:2px;
}
.ms-searchform{
margin-right:10px;
position:relative;
top:-6px;
}
.ms-searchform input{
height:19px;
padding:2px;
}
select.ms-searchbox{
margin-right:6px;
border:solid 1px #7f9db9;
}
.ms-searchimage{
border:solid 1px #7f9db9;
border-left:solid 1px #9ed6ff;
background-color:#e9f2fd;
padding-left:3px;
padding-right:3px;
padding-bottom:2px !important;
padding-top:2px !important;
}
.ms-searchcorner{
background-color:#FFFFFF;
background-image:url("/_layouts/images/srchcrnr.gif");
background-repeat:no-repeat;
background-position:left top;
}
.ms-secondary-title
{
padding-bottom:3px;
display:block;
}
table.ms-form th{
color:#003399;
font-family:verdana;
font-size:8pt;
font-weight:normal;
text-align:left;
vertical-align:top;
}
table.ms-form td{
font-size:8pt;
width:100%;
vertical-align:top;
}
.ms-formrecurrence{
font-family:verdana;
font-size:8pt;
font-weight:normal;
text-align:left;
vertical-align:top;
}
.ms-fileinput{
font-size:8pt;
font-family:Verdana,sans-serif;
}
.ms-longfileinput{
font-size:8pt;
font-family:Verdana,sans-serif;
width:386px;
}
.ms-long{
width:386px;
}
.ms-longer{
width:411px;
}
.ms-rtelong{
width:384px;
}
.ms-rtelonger{
width:409px;
}
.ms-input,.ms-long,.ms-rtelong,.ms-longer,.ms-rtelonger,.ms-radiotext,.ms-inputuserfield,.ms-rtedropdown,.ms-lookuptypeintextbox{
font-size:8pt;
font-family:Verdana,sans-serif;
}
.ms-inputuserfield,.ms-rtelong,.ms-rtelonger{
border:1px solid #a5a5a5;
}
div.ms-inputuserfield a
{
color:#000000;
text-decoration:none;
font-weight:normal;
font-style:normal;
}
div.ms-inputuserfield
{
padding-left:1px;
padding-top:2px;
}
.ms-usereditor{
width:386px;
}
.ms-italic{
font-style:italic;
}
.ms-bold{
font-weight:bold;
}
.ms-bannerframe,.ms-GRHeaderBackground{
}
.ms-banner{
vertical-align:bottom;
}
.ms-banner a:link{
text-decoration:none;
white-space:nowrap;
}
.ms-banner a:visited{
text-decoration:none;
}
.ms-bannerContainer{
background-image:url("/_layouts/images/siteTitleBKGD.gif");
background-position:right top;
background-repeat:repeat-y;
background-color:#FFFFFF;
padding-right:10px;
padding-left:5px;
}
.ms-globalbreadcrumb{
font-size:8pt;
text-align:right;
background-color:#ebf3ff;
padding:2px 10px 2px 5px;
}
.ms-globalbreadcrumb,.ms-globalbreadcrumb a{
text-decoration:none;
color:#666666;
}
.ms-globalbreadcrumb a:hover{
text-decoration:underline;
color:#000000;
}
.ms-globalleft{
float:left;
}
.ms-globalright{
float:right;
}
.ms-globallinks{
font-size:8pt;
background:transparent;
font-family:tahoma;
}
.ms-globallinks,.ms-globallinks a{
color:#666666;
text-decoration:none;
font-family:tahoma;
}
.ms-pagebreadcrumb{
padding:2px 3px 3px 11px;
border-left:1px solid #ffffff;
border-top:1px solid #ffffff;
}
.ms-pagebreadcrumb,.ms-pagebreadcrumb a{
font-size:8pt;
background-color:#ebf3ff;
color:#666666;
text-decoration:none;
}
.ms-sitetitle
{
font:11pt verdana;
font-weight:bold;
color:#666666;
padding:4px 0px 7px 6px;
vertical-align:middle;
margin:0;
}
.ms-sitetitle a
{
font:11pt verdana;
font-weight:bold;
color:#666666;
text-decoration:none;
}
h1.ms-sitetitle{
margin:0;
padding:0;
}
td.ms-titleimagearea{
padding-left:2px;
}
.ms-siteaction,.ms-siteaction a{
font:8pt tahoma;
font-weight:bold;
color:#666666;
text-decoration:none;
}
table.ms-siteaction td.ms-siteaction{
border-right:solid 1px #bfbfbf;
}
table.ms-siteaction td.ms-siteaction div{
padding:3px 8px 3px 8px;
border-right:solid 1px #FFFFFF;
}
.ms-siteactionsmenu{
white-space:nowrap;
font:8pt tahoma;
padding:0;
border:none;
cursor:pointer;
}
.ms-siteactionsmenu div div div{
background-image:url("/_layouts/images/siteactionsmenugrad.gif");
background-repeat:repeat-x;
border-top:1px solid #6593cf;
border-left:1px solid #6593cf;
border-right:1px solid #6593cf;
background-color:#6593cf;
padding:1px 4px 3px 10px;
}
.ms-siteactionsmenu div div div a{
color:#FFFFFF;
font-weight:bold;
}
.ms-siteactionsmenu div div div.ms-siteactionsmenuhover{
background-image:url("/_layouts/images/siteactionsmenuhovergrad.gif");
border-top:1px solid #89724f;
border-left:1px solid #89724f;
border-right:1px solid #89724f;
background-color:#ffa521;
}
.ms-actionbar{
background-color:#FFFFFF;
border:1px solid #6f9dd9;
padding-top:1px
}
.ms-actionsep{
height:8px;
border-right:1px solid #6f9dd9;
}
.ms-topnavContainer{
border:none;
border-left:solid 1px #c2dcff;
}
.ms-topnav{
border:solid 1px #c2dcff;
border-left:solid 1px #ffffff;
border-bottom:none;
background-image:url("/_layouts/images/topnavunselected.gif");
background-repeat:repeat-x;
font-family:Tahoma;
font-size:8pt;
background-color:#e2efff;
color:#3764a0;
}
.ms-topnav a{
display:block;
white-space:nowrap;
padding:1px 8px 0px 8px;
height:18px;
}
.ms-topnavselected{
color:#003399;
background:url("/_layouts/images/topnavselected.gif");
background-repeat:repeat-x;
font-weight:bold;
border:solid 1px #79a7e3;
border-bottom-width:0px;
border-left:solid 1px #e3efff;
background-color:#6593cf;
}
.ms-topnavselected a{
color:#003399;
}
.ms-topNavHover{
background-image:url("/_layouts/images/topnavhover.gif");
background-color:#ffe6a0;
border:solid 1px #c2a770;
border-left:solid 1px #ffffff;
border-bottom-width:0px;
color:#000000;
}
.ms-topNavHover a{
color:#000000;
}
.ms-topnav img{
position:relative;
left:-6px;
}
.ms-topNavFlyOutsContainer
{
border:solid 1px #c2dcff;
}
.ms-topNavFlyOuts{
background-color:#F2F8FF;
font-family:Tahoma;
font-size:8pt;
}
.ms-topNavFlyOuts a{
display:block;
*width:120px;
min-width:120px;
color:#3764a0;
padding:4px 8px 4px 8px;
}
.ms-topNavFlyOutsHover{
background-color:#ffe6a0;
color:#000000;
}
.ms-nav td,.ms-nav .ms-SPZoneLabel{
font-size:8pt;
}
.ms-formula{
font-size:8pt;
font-family:Verdana,sans-serif;
width:222px;
height:135px;
}
.ms-dtinput,.ms-dttimeinput{
vertical-align:middle;
padding-top:0px;
padding-bottom:0px;
padding-right:4px;
padding-left:0px;
font-size:0px;
}
.ms-dttimeinput{
direction:ltr;
}
.ms-nav th{
font-size:8pt;
font-family:Verdana,sans-serif;
font-weight:normal;
text-align:left;
color:#000000;
}
.ms-quicklaunchnavsep{
background-color:#83b0ec;
}
.ms-quicklaunch table td{
border-top:1px solid #add1ff;
}
.ms-quicklaunch .ms-treeviewouter table td{
border-top:none;
}
.ms-quicklaunch table.ms-navheader td,.ms-navheader2 td,.ms-quicklaunch span.ms-navheader{
background-color:#d6e8ff;
border-top:solid 1px #f2f8ff;
border-left:solid 1px #f2f8ff;
padding:1px 4px 4px 4px;
}
div.ms-treeviewouter div{
border-top:solid 1px #add1ff;
}
div.ms-treeviewouter div div{
border:none;
}
.ms-quicklaunch span.ms-navheader{
background-color:#d6e8ff;
border-top:1px solid #add1ff;
border-left:solid 1px #f2f8ff;
border-bottom:1px solid #add1ff;
padding:1px 6px 3px 6px;
}
.ms-quicklaunch table.ms-navsubmenu2 td{
border:none;
}
.ms-quicklaunch table.ms-selectednavheader td{
width:100%;
background-color:#fff699;
}
.ms-quicklaunch table.ms-selectednavheader{
border:none;
}
.ms-quicklaunch span{
display:block;
}
.ms-quicklaunch div.ms-navsubmenu1 br{
display:none;
}
.ms-quicklaunch table.ms-selectednav{
border:solid 1px #d2b47a;
background-image:url("/_layouts/images/selectednav.gif");
background-repeat:repeat-x;
background-color:#ffe6a0;
margin:2px;
margin-bottom:0;
width:97%;
}
.ms-quicklaunch table.ms-selectednav td{
background:transparent url("/_layouts/images/selectednavbullet.gif");
background-repeat:no-repeat;
background-position:top left;
border:solid 1px #ffffff;
padding:0px 4px 1px 12px;
margin:0px;
}
table.ms-selectednav td a.ms-selectednav{
background:none;
color:#000000;
}
.ms-quicklaunch table.ms-selectednavheader td{
width:100%;
background-color:#ffe6a0;
background-image:url("/_layouts/images/selectednav.gif");
background-repeat:repeat-x;
padding-top:2px;
padding-bottom:2px;
border-top:solid 1px #ffffff;
border-left:solid 1px #ffffff;
padding:1px 6px 3px 6px;
}
.ms-selectednavheader a{
font-weight:bold;
color:#000000;
text-decoration:none;
}
.ms-selectednavheader a:hover{
color:#000000;
text-decoration:underline;
}
table.ms-navitem td,span.ms-navitem{
background-image:url("/_layouts/images/navBullet.gif");
background-repeat:no-repeat;
background-position:left top;
padding:3px 6px 4px 16px;
font-family:tahoma;
}
.ms-navsubmenu1{
width:100%;
border-collapse:collapse;
background-color:#f2f8ff;
}
.ms-navsubmenu2{
width:100%;
background-color:#f2f8ff;
margin-bottom:6px;
}
table.ms-navselected{
padding:2px;
}
table.ms-navselected,span.ms-navselected{
background-image:url("/_layouts/images/SELECTEDNAV.GIF");
background-color:#ffe6a0;
background-repeat:repeat-x;
}
table.ms-navselected td{
background-image:url("/_layouts/images/navBullet.gif");
background-repeat:no-repeat;
background-position:top left;
padding:3px 6px 4px 17px;
}
table.ms-navheader td{
background-image:none;
}
.ms-navheader a,.ms-navheader2 a{
font-weight:bold;
color:#003399;
text-decoration:none;
}
.ms-navheader a:hover,.ms-navheader2 a:hover{
color:#000000;
text-decoration:underline;
}
.ms-navItem a{
color:#003399;
text-decoration:none;
}
.ms-navItem a:hover{
color:#000000;
text-decoration:underline;
}
.ms-navheaderstatic,.ms-navitemstatic{
color:#4c4c4c;
}
.ms-quicklaunchouter{
border-bottom:solid 1px #83b0ec;
border-right:solid 1px #83b0ec;
}
.ms-quicklaunchouter{
margin:0px 1px 2px 1px;
}
.ms-tvselected{
background-color:#ffda8a;
}
.ms-tvselected a{
color:#000000;
}
.ms-treeviewouter td.ms-navitem{
border-left:2px solid #f2f8ff;
}
.ms-treeviewouter a.ms-navitem{
padding:0px 1px 0px 1px;
}
table.ms-recyclebin td{
background-color:#f2f8ff;
width:100%;
border-top:solid 1px #ffffff;
border-left:solid 1px #ffffff;
padding:3px 5px 7px 3px;
}
table.ms-recyclebin td a{
font-weight:bold;
color:#008800;
text-decoration:none;
}
table.ms-recyclebin td a:hover{
color:#000000;
text-decoration:underline;
}
.ms-quickLaunch{
border:solid 1px #6f9dd9;
border-bottom:solid 1px #6f9dd9;
font-size:8pt;
font-family:tahoma;
line-height:10pt;
background-color:#f2f8ff;
}
.ms-quicklaunchheader{
padding:2px 6px 4px 6px;
font-weight:normal;
color:#003399;
background-image:url("/_layouts/images/quickLaunchHeader.gif");
background-repeat:repeat-x;
background-color:#d6e8ff;
border-left:solid 1px #f2f8ff;
font-size:8pt;
}
.ms-quicklaunchheader a,.ms-unselectednav a{
color:#003399;
text-decoration:none;
}
.ms-quicklaunchheader a:hover{
color:#000000;
text-decoration:underline;
}
.ms-navline{
border-bottom:1px solid #adadad;
}
.ms-navwatermark{
color:#ffdf88;
}
.ms-selectednav,.ms-GRSortFilter{
border:1px solid #2353b2;
background:#fff699;
padding-top:1px;
padding-bottom:2px;
}
.ms-unselectednav{
border:1px solid #83b0ec;
padding-top:1px;
padding-bottom:2px;
}
.ms-templatepickerselected,.ms-templatepickerunselected{
float:left;
}
.ms-templatepickerunselected{
padding-top:2px;
margin-right:1px;
}
.ms-templatepickerselected{
margin-right:1px;
}
.ms-templatepickerunselected div{
background-image:url("/_layouts/images/templatepickerunselected.gif");
background-repeat:repeat-x;
background-color:#bdbdbd;
border:solid 1px #c4c4c4;
border-bottom:none;
padding:1px 5px 3px 5px;
white-space:nowrap;
}
.ms-templatepickerselected div{
background-image:url("/_layouts/images/templatepickerselected.gif");
background-repeat:repeat-x;
background-color:#ffffff;
border:solid 1px #c2a770;
border-bottom:none;
padding:3px 5px 3px 5px;
white-space:nowrap;
}
.ms-templatepickerselected div a{
color:#000000;
}
.ms-templatepickerunselected div a{
color:#000000;
}
.ms-templatepicker{
font-size:8pt;
font-family:tahoma;
width:320px;
height:175px;
}
.ms-lactiontable{
width:100%;
}
.ms-laction{
border-top:solid 1px #b8bed0;
padding-left:2px;
padding-right:2px;
}
.ms-lactionheader{
padding:4px;
}
.ms-lactionitem{
padding-left:4px;
padding-right:4px;
padding-top:3px;
padding-bottom:3px;
white-space:nowrap;
}
.ms-lactionitem a{
color:#003399;
text-decoration:none;
}
.ms-lactionitem a:hover{
color:#000000;
text-decoration:underline;
}
.ms-diffselected{
background-image:url("/_layouts/images/SELECTEDNAV.GIF");
background-color:#ffe6a0;
background-repeat:repeat-x;
border:1px solid #d2b47a;
}
.ms-diffselected table{
width:100%;
border:1px solid #ffffff;
}
.ms-diffselected .ms-lactionbullet{
padding-left:3px;
}
.ms-diffselected .ms-lactionitem{
padding-right:3px;
}
.ms-diffselected .ms-lactionitem a{
color:#000000;
}
.ms-versiondiffnum{
font-weight:bold;
}
.ms-verticaldots{
border-right:1px solid #83b0ec;
border-left:none;
}
.ms-nav{
background-color:#83b0ec;
background-image:url("/_layouts/images/navshape.jpg");
background-repeat:repeat-x;
font-family:tahoma;
}
.ms-relatedtable{
width:100%;
background:#f2f2f2;
border:1px solid #949494;
}
.ms-relatedheaderleftcorner{
}
.ms-relatedheaderrightcorner{
}
.ms-relatedicon{
padding:2px;
text-align:center;
}
.ms-relatedicon img{
border:0px;
}
.ms-relatedtext{
color:#3966bf;
padding:2px;
}
.ms-relatedtext a:visited,.ms-relatedtext a:link,.ms-relatedtext a:active{
color:#3966bf;
font-family:tahoma,sans-serif;
text-decoration:none;
}
.ms-relatedtext a:hover{
color:#3966bf;
font-family:tahoma,sans-serif;
text-decoration:underline;
}
.ms-globalTitleArea{
text-align:right;
background-image:url("/_layouts/images/siteTitleBKGD.gif");
background-position:right top;
background-repeat:repeat-y;
padding-left:5px;
padding-right:0px;
padding-top:1px;
}
.ms-globalTitleAreaSeparator{
background-color:#ffffff;
background-image:url("/_layouts/images/siteTitleBKGD.gif");
background-position:right;
background-repeat:repeat-y;
}
.ms-titlearea,.ms-mwstitlearea{
color:#666666;
font-family:tahoma;
font-size:8pt;
letter-spacing:.1em;
}
.ms-titlearea a
{
color:#3966bf;
text-decoration:none;
}
.ms-titlearea a:hover,.ms-mwstitlearea a:hover
{
color:#000000;
text-decoration:underline;
}
td.ms-mwstitlearea a
{
color:#3966bf;
text-decoration:none;
}
.ms-titlearealeft
{
background-color:#d6e8ff;
}
TD.ms-titleareaframe,Div.ms-titleareaframe,.ms-pagetitleareaframe,.ms-mwspagetitleareaframe,.ms-consoletitleareaframe{
background-image:url("/_layouts/images/pageTitleBKGD.gif");
background-repeat:repeat-x;
background-position:left top;
background-color:#d6e8ff;
text-align:center;
}
div.ms-titleareaframe{
height:100%;
}
.ms-pagetitleareaframe table{
background-image:url("/_layouts/images/topshape.jpg");
background-repeat:no-repeat;
background-position:332px 4px;
height:54px;
}
.ms-titlearealine{
background-color:#83b0ec;
}
.ms-titleareaframe table td.ms-titlearea,.ms-areaseparator table td.ms-titlearea,.ms-pagetitleareaframe table td.ms-titlearea,.ms-consoletitleareaframe{
padding:7px 0px 1px 0px;
}
.ms-consoletitleareaframe
{
width:8px;
}
.ms-consoletitleareaframebottom
{
background-color:#d6e8ff;
text-align:center;
padding:0px 0px 0px 0px;
}
.ms-mwspagetitleareaframe{
width:100%;
}
.ms-mwstitlearealine{
background-color:#D6E8FF;
}
.ms-titleareaseparator{
padding-bottom:5px;
background-color:#83b0ec;
}
.ms-titleareaseparator div{
background-color:#d6e8ff;
border-top:1px solid #6f9dd9;
}
.ms-sitemapdirectional,.ms-sitemapdirectional a{
unicode-bidi:embed;
}
.ms-areaseparatorcorner{
background-image:url("/_layouts/images/framecornergrad.gif");
background-position:left top;
background-repeat:repeat-y;
height:8px;
border-right:1px solid #6f9dd9;
}
td.ms-areaseparatorleft{
background:#d6e8ff url("/_layouts/images/pageTitleBKGD.gif");
background-repeat:repeat-x;
border-right:1px solid #6f9dd9;
height:100%;
}
div.ms-areaseparatorleft{
background:#83b0ec url("/_layouts/images/navshape.jpg");
background-repeat:no-repeat;
background-position:-143px 0px;
border-right:1px solid #6f9dd9;
height:100%;
}
div.ms-areaseparatorright{
background:#83b0ec url("/_layouts/images/pagebackgrad.gif");
background-repeat:repeat-x;
border-left:1px solid #6f9dd9;
padding-right:2px;
height:100%;
}
.ms-titlearearight .ms-areaseparatorright{
background:#d6e8ff url("/_layouts/images/pageTitleBKGD.gif");
background-repeat:repeat-x;
border-left:1px solid #6f9dd9;
padding-right:2px;
height:100%;
}
.ms-areaseparator{
background-color:#ffeaad;
background-image:url("/_layouts/images/formtitlegrad.gif");
background-repeat:repeat-x;
border-right:none;
border-left:none;
padding-left:5px;
height:61px;
}
.ms-pagemargin{
background-color:#83b0ec;
background-image:url("/_layouts/images/navshape.jpg");
background-repeat:no-repeat;
background-position:-143px 0px;
height:100%;
}
td.ms-rightareacell div.ms-pagemargin{
background-color:#83b0ec;
background-image:url("/_layouts/images/pagebackgrad.gif");
background-repeat:repeat-x;
height:100%;
border-left:solid 1px #83b0ec;
}
.ms-bodyareacell{
vertical-align:top;
height:100%;
width:100%;
}
.ms-pagebottommargin,.ms-pagebottommarginleft,.ms-pagebottommarginright{
background:#83b0ec;
}
.ms-bodyareapagemargin{
background:#83b0ec;
border-top:1px solid #6f9dd9;
}
.ms-bodyareaframe,.ms-viewareaframe{
vertical-align:top;
height:100%;
width:100%;
background-color:#ffffff;
border-top:1px solid #6f9dd9;
border-right:1px solid #6f9dd9;
border-left:1px solid #6f9dd9;
}
.ms-bodyareaframe{
padding:10px;
}
.ms-formareaframe{
vertical-align:top;
height:100%;
background-color:#ffffff;
padding:8px;
}
.ms-pagetitle{
color:#000000;
font-family:verdana;
font-size:16pt;
margin:0px 0px 4px 0px;
font-weight:normal;
}
.ms-pagetitle a{
text-decoration:none;
color:#000000;
margin:0;
font-weight:normal;
}
.ms-pagetitle a:hover{
}
.ms-pagecaption{
font-size:9pt;
color:#000000;
font-family:arial,verdana,sans-serif;
}
.ms-selected
{
background-position:left top;
color:#000000;
background-image:url("/_layouts/images/filedialogselected.gif");
background-color:#FFE499;
border-top:1px solid #FFE499;
border-bottom:1px solid #FFE499;
background-repeat:repeat-x;
}
.ms-selected SPAN{
color:#000000;
}
.ms-vh table.ms-selectedtitle,.ms-vh2 table.ms-selectedtitle,.ms-vh-icon table.ms-selectedtitle,.ms-vh table.ms-unselectedtitle,.ms-vh2 table.ms-unselectedtitle,.ms-vh-icon table.ms-unselectedtitle{
height:21px;
}
.ms-vh table.ms-selectedtitle,.ms-vh2 table.ms-selectedtitle,.ms-vh-icon table.ms-selectedtitle{
background-color:#dde1e5;
border:none;
}
.ms-vh2 .ms-selectedtitle .ms-vb,.ms-vh2 .ms-unselectedtitle .ms-vb{
padding-left:5px;
padding-right:5px;
padding-top:1px;
}
.ms-vh-icon .ms-selectedtitle .ms-vb,.ms-vh-icon .ms-unselectedtitle .ms-vb{
padding-left:0px;
vertical-align:middle;
}
.ms-vh-icon{
padding-left:6px;
padding-right:4px;
}
.ms-propertysheet th.ms-vh2,.ms-propertysheet th.ms-vh2-nofilter{
font-family:tahoma;
}
.ms-listviewtable .ms-vh2,.ms-summarystandardbody .ms-vh2{
padding:1px 1px 0px 1px;
}
.ms-listviewtable .ms-vb2,.ms-summarystandardbody .ms-vb2{
padding-left:7px;
padding-right:7px;
}
.ms-basictable{
border-collapse:collapse;
}
.ms-selectedtitle{
background-color:#ffffff;
border:1px solid #b09460;
margin:0px;
padding:0px;
cursor:pointer;
}
.ms-selectedtitlealternative
{
background-color:#ffffff;
border:1px solid #b09460;
margin:0px;
padding:0px;
cursor:pointer;
}
.ms-unselectedtitle{
background-color:transparent;
margin:0px;
padding:0px;
}
.ms-vb-title .ms-unselectedtitle{
padding:1px;
}
.ms-menuimagecell{
background:#ffe6a0 url("/_layouts/images/selectednav.gif") repeat-x;
cursor:pointer;
border:solid 1px #ffffff;
padding:0px;
height:18px;
}
.ms-vh .ms-menuimagecell,.ms-vh2 .ms-menuimagecell,.ms-vh-icon .ms-menuimagecell{
height:20px;
}
.ms-vh .ms-menuimagecell img,.ms-vh2 .ms-menuimagecell img,.ms-vh-icon .ms-menuimagecell img{
margin-top:2px;
margin-bottom:2px;
}
.ms-filedialog td{
height:16px;
}
.ms-descriptiontext{
color:#4c4c4c;
font-family:tahoma;
font-size:8pt;
text-align:left;
}
.ms-webpartpagedescription{
font-family:verdana;
font-size:8pt;
color:#5a5a5a;
padding:8px 12px 0px 12px;
}
.ms-inputformdescription{
width:475px;
padding-right:9px;
}
.ms-inputformcontrols
{
width:375px;
}
.ms-halfinputformcontrols
{
width:150px;
}
.ms-dspadapterlist
{
padding-left:1cm;
color:#7f7f7f;
font-family:verdana;
font-size:8pt;
}
.ms-alerttext
{
color:#ff0000;
font-family:verdana;
font-size:8pt;
}
.ms-separator
{
color:#83b0ec;
font-size:10pt;
}
.ms-separator img
{
height:16px;
width:1px;
margin:0px 1px 0px 1px;
background:#9ac6ff;
border-bottom:1px solid #f2f8ff;
border-right:1px solid #f2f8ff;
}
.ms-authoringcontrols
{
background-color:#ebf3ff;
font-family:tahoma;
font-size:8pt;
color:#525252;
}
.ms-propertysheet th.ms-authoringcontrols
{
background-color:#ebf3ff;
font-family:tahoma;
font-size:8pt;
color:#083772;
text-align:left;
}
.ms-multiselectbox
{
width:175px;
}
.ms-lookuptypeindropdown
{
width:20em;
}
.ms-lookuptypeintextbox
{
width:20em;
vertical-align:middle;
}
.ms-sectionheader
{
color:#525252;
font-family:tahoma;
font-size:8pt;
font-weight:bold;
}
.ms-linksectionheader,.ms-propertysheet th.ms-linksectionheader
{
color:#000000;
font-family:tahoma;
font-size:8pt;
font-weight:bold;
text-align:left;
}
td.ms-linksectionheader,th.ms-linksectionheader
{
background-color:#ebf3ff;
background-image:url("/_layouts/images/linksectiongrad.gif");
background-repeat:repeat-x;
border:1px solid #add1ff;
text-align:left;
}
table.ms-disc-bar
{
background-color:#d6e8ff;
background-image:url("/_layouts/images/quicklaunchheader.gif");
background-repeat:repeat-x;
border:1px solid #79a7e3;
text-align:left;
}
table.ms-disc HR
{
height:1px;
color:#add1ff;
}
.ms-attachUploadButtons
{
text-align:right;
}
.ms-sectionheader a,.ms-sectionheader a:hover,.ms-sectionheader a:visited,.ms-propertysheet .ms-sectionheader a,.ms-propertysheet .ms-sectionheader a:hover
{
color:#525252;
text-decoration:none;
}
.ms-sectionline
{
background-color:#d9d9d9;
}
.ms-sectionhighlight-top{
border:1px solid #ff9932;
border-left:0px solid;
border-right:0px solid;
background-color:#f7f3cd;
font-family:tahoma;
font-size:8pt;
}
.ms-sectionhighlight{
background-color:#fffbd8;
color:#4c4c4c;
}
.ms-sectionhighlight-line{
height:1px;
padding:0px;
background-color:#ff9932;
}
.ms-partline
{
background-color:#add1ff;
}
.ms-propertysheet{
font-family:verdana;
font-size:.7em;
text-align:left;
color:#4c4c4c;
}
.ms-propertysheet th{
font-family:verdana;
font-size:8pt;
color:#4c4c4c;
font-weight:normal;
}
.ms-propertysheet a{
text-decoration:none;
color:#3966bf;
}
.ms-propertysheet a:hover{
text-decoration:underline;
color:#000000;
}
table.ms-pageinformation,table.ms-createpageinformation{
font-family:tahoma;
font-size:8pt;
height:115px;
}
table.ms-pageinformation{
background-image:url("/_layouts/images/settingsgraphic.jpg");
background-color:#ffffff;
background-repeat:repeat-x;
}
table.ms-createpageinformation{
background-image:url("/_layouts/images/creategraphic.jpg");
background-repeat:repeat-x;
background-color:#ffffff;
}
.ms-pageinformation th,.ms-createpageinformation th{
color:#204d89;
text-align:left;
}
.ms-pageinformation table td,.ms-createpageinformation table td{
color:#000000;
text-align:left;
font-family:tahoma;
font-size:8pt;
padding:3px 5px 3px 1px;
}
.ms-pageinformation table th
{
padding:3px 5px 3px 1px;
}
.ms-storMeFree{
background-color:#80f0dc;
border-style:dashed;
border-width:1px;
border-color:white;
}
.ms-storMeUsed{
background:#8ebbf5;
border-style:solid;
border-width:1px;
border-color:white;
}
.ms-storMeEstimated{
background-color:#83b0ec;
border-style:dotted;
border-width:1px;
border-color:white;
}
.ms-storMeFilterBar{
background:#8ebbf5;
}
.ms-informationtablehover{
border:solid 1px #add1ff;
}
.ms-informationtablehover td,.ms-informationtablehover th{
background-color:#ebf3ff;
}
.ms-informationtablehover td{
border-top:solid 1px #ffffff;
border-left:solid 1px #ffffff;
}
.ms-informationtablehover th{
border-top:solid 1px #ffffff;
}
.ms-informationtablestatic{
background-image:url("/_layouts/images/settingsbkg.jpg");
background-repeat:no-repeat;
}
.ms-pageinformationheader{
font-weight:bold;
color:#000000;
}
.ms-itemheader a{
font-size:11pt;
font-family:arial;
font-weight:bold;
color:#003399;
text-decoration:none;
}
.ms-itemstatic{
border:1px solid #FFFFFF;
background-color:transparent;
}
.ms-itemhover{
border:solid 1px #d2b47a;
background-image:url("/_layouts/images/selectednav.gif");
background-repeat:repeat-x;
background-color:#ffe6a0;
cursor:pointer;
}
.ms-itemhover a{
color:#000000;
text-decoration:underline;
}
.ms-discussiontitle{
font-size:.7em;
font-family:verdana;
color:#000000;
font-weight:bold;
}
.ms-listdescription{
color:#4c4c4c;
font-family:tahoma;
background:#f8f8f8;
padding:2px 6px 4px 6px;
border-bottom:1px solid #6f9dd9;
}
.ms-vh,.ms-vh2,.ms-vh-icon,.ms-vh-icon-empty,.ms-vhImage,.ms-vh2-nograd,.ms-vh3-nograd,.ms-vh2-nograd-icon,.ms-vh2-nofilter,.ms-vh2-nofilter-icon,.ms-ph{
font-weight:normal;
color:#b2b2b2;
text-align:left;
text-decoration:none;
vertical-align:top;
}
.ms-gb,.ms-gb2,.ms-gbload,.ms-vb,.ms-vb2,.ms-vb-tall,.ms-GRFont,.ms-vb-user,.ms-pb,.ms-pb-selected td{
color:#000000;
}
.ms-gb a,.ms-gb2 a{
color:#003399;
}
.ms-vh,.ms-vh2,.ms-vh-icon,.ms-vh-icon-empty,.ms-vhImage,.ms-gb,.ms-gb2,.ms-gbload,.ms-vb,.ms-vb2,.ms-vb-tall,.ms-GRFont,.ms-vb-user,table.ms-disc td,.ms-vh2-nofilter,.ms-vh2-nograd,.ms-vh3-nograd,.ms-vh2-nograd-icon,.ms-vh2-nofilter-icon,.ms-pb,.ms-pb-selected,.ms-ph{
font-size:8pt;
font-family:tahoma,sans-serif;
}
.ms-vh,.ms-vh2,.ms-vh2-nofilter,.ms-vh2-nograd,.ms-vh3-nograd,.ms-vh2-nograd-icon,.ms-vh2-nofilter-icon,.ms-ph{
white-space:nowrap;
}
.ms-vh,.ms-vh2,.ms-vh-icon,.ms-vh2-nofilter,.ms-vh2-nofilter-icon,.ms-viewheadertr .ms-vh-group,.ms-vh2-nograd,.ms-vh3-nograd,.ms-vh2-nograd-icon,.ms-ph,.ms-pickerresultheadertr{
background-image:url("/_layouts/images/viewheadergrad.gif");
background-repeat:repeat-x;
padding-top:1px;
padding-bottom:0px;
background-color:#f2f2f2;
}
.ms-disc .ms-viewheadertr th.ms-vh2{
padding:1px 5px 0px 4px;
}
.ms-disc .ms-vh2 .ms-selectedtitle .ms-vb,.ms-disc .ms-vh2 .ms-unselectedtitle .ms-vb{
padding-left:4px;
}
th.ms-vh3-nograd{
width:12px;
color:#949494;
font-size:8pt;
font-family:tahoma,sans-serif;
}
.ms-vh .ms-vh{
background-image:none;
border-left:none;
padding-left:1px;
background-color:transparent;
}
.ms-vh2,.ms-ph{
padding:3px 8px 1px 8px;
}
.ms-vh2-gridview{
padding-top:2px;
padding-bottom:2px;
vertical-align:middle;
}
.ms-vh-icon,.ms-vh2-nograd-icon,.ms-vh2-nofilter-icon{
width:12px;
}
.ms-vh-icon-empty{
width:0px;
}
.ms-vh a,.ms-vh a:visited,.ms-vh2 a,.ms-vh2-nofilter a{
color:#7f7f7f;
text-decoration:none;
}
.ms-vh a:hover,.ms-vh2 a:hover,.ms-vh2-nofilter a:hover{
text-decoration:underline;
}
.ms-vhImage{
width:18pt
}
.ms-cbp{
padding-left:8px;
padding-right:8px;
}
.ms-standardheader{
font-size:1em;
margin:0em;
text-align:left;
color:#525252;
}
.ms-linksectionheader .ms-standardheader{
color:#000000;
}
.ms-gb h3.ms-standardheader{
margin-top:1em;
}
.ms-gb .ms-standardheader{
color:#000000;
}
.ms-gb{
height:22px;
background-color:#ffffff;
font-weight:bold;
border-bottom:1px solid #8ebbf5;
border-top:1px solid #f9f9f9;
padding-bottom:3px;
}
.ms-listviewtable .ms-gb,.ms-listviewtable .ms-gb2{
padding-top:14px;
}
.ms-gb2{
height:22px;
color:#4c4c4c;
padding-bottom:3px;
border-bottom:1px solid #e3efff;
border-top:1px solid #f9f9f9;
}
.ms-gbload{
height:22px;
color:#4c4c4c;
background-color:#ffffff;
padding-bottom:3px;
}
.ms-vb,.ms-vb2,.ms-GRFont,.ms-vb-user,table.ms-disc td,.ms-vb-tall,.ms-pb,.ms-pb-selected
{
vertical-align:top;
}
.ms-vb a,.ms-vb2 a,.ms-GRStatusText a,.ms-vb-user a,.ms-disc a{
color:#003399;
text-decoration:none;
}
.ms-vb a:hover,.ms-vb2 a:hover,.ms-vb-user a:hover,.ms-disc a:hover{
color:#000000;
text-decoration:underline;
}
.ms-vb a:visited,.ms-vb2 a:visited,.ms-GRStatusText a:visited,.ms-vb-user a:visited,.ms-disc a:visited{
color:#000066;
text-decoration:none;
}
.ms-vb a:visited:hover,.ms-vb2 a:visited:hover,.ms-vb-user a:visited:hover,.ms-disc a:visited:hover{
color:#000000;
text-decoration:underline;
}
.ms-vb-icon{
vertical-align:top;
width:0%;
padding-top:3px;
padding-left:8px;
padding-right:0px;
padding-bottom:0px;
}
.ms-vb-icon-overlay{
border:0;
position:relative;
left:-7px;
bottom:-2px;
}
.ms-vb-user{
padding-top:2px;
padding-right:2px;
padding-left:2px;
}
.ms-vb-title .ms-vb{
padding-top:2px;
padding-right:1px;
padding-bottom:5px;
padding-left:6px;
}
.ms-vb-title .ms-selectedtitle .ms-vb{
padding-top:1px;
padding-right:0px;
padding-bottom:4px;
padding-left:5px;
}
.ms-vb2{
padding-top:3px;
padding-left:8px;
padding-right:8px;
padding-bottom:4px;
}
.ms-pb,.ms-pb-selected{
padding-left:5px;
padding-right:5px;
white-space:nowrap;
}
.ms-pb{
height:22px;
padding-top:3px;
border-top:1px dashed #ffffff;
}
.ms-pb-selected{
height:22px;
padding-top:3px;
background-color:#ffe6a0;
border-top:1px solid #ffe6a0;
border-bottom:1px solid #ffe6a0;
}
.ms-pb a,.ms-pb-selected a{
font-size:8pt;
font-family:tahoma,sans-serif;
color:#000000;
text-decoration:none;
cursor:default;
}
.ms-vb-tall{
line-height:1.5em;
padding-top:2px;
padding-bottom:10px;
padding-left:6px;
padding-right:6px;
}
th .ms-vb,.ms-vh2-nofilter,.ms-vh2-nofilter-icon,th.ms-vh2-nograd,th.ms-vh2-nograd-icon{
color:#b2b2b2;
font-size:8pt;
font-family:tahoma,sans-serif;
}
th .ms-vb a,.ms-vh2-nofilter a,.ms-vh2-nofilter-icon a{
color:#808080;
}
th .ms-selectedtitle .ms-vb,th .ms-selectedtitle .ms-vh2-nofilter,th .ms-selectedtitle ms-vh2-nofilter-icon,th .ms-selectedtitle .ms-vb a,th .ms-selectedtitle .ms-vh2-nofilter a,th .ms-selectedtitle ms-vh2-nofilter-icon a{
color:#4c4c4c;
}
.ms-vb li
{
vertical-align:auto;
}
.ms-vh2-nofilter,.ms-vh2-nofilter-icon,.ms-vh2-nograd,.ms-vh3-nograd,.ms-vh2-nograd-icon{
padding-left:8px;
padding-right:8px;
padding-top:3px;
height:20px;
}
.ms-nlline{
background:#d8d8d8;
}
.ms-ppleft{
height:440px;
overflow:auto;
margin:2px;
border-bottom:1px solid #d8d8d8;
}
.ms-ppright{
width:600px;
margin:8px;
}
.ms-basictable .ms-alternating{
background-color:transparent;
}
.ms-homepagetitle{
font-family:arial;
font-size:12pt;
color:#000000;
font-weight:bold;
text-decoration:none;
}
a.ms-addnew{
font-weight:normal;
font-family:verdana;
font-size:8pt;
color:#003399;
text-decoration:none;
}
a.ms-addnew:Hover{
color:#000000;
text-decoration:underline;
}
td.ms-addnew{
padding-left:1px;
padding-right:7px;
}
.ms-error{
font-family:Verdana,sans-serif;
font-size:8pt;
font-weight:normal;
color:#ff0000
}
.ms-errorcolor{
color:#FF0000;
}
.ms-successcolor{
color:#008000;
}
IMG.ms-button{
cursor:pointer;
}
.ms-announcementtitle{
font-weight:bold;
}
.ms-homepagetitle:Hover{
text-decoration:underline;
color:#000000;
}
.ms-discussionseparator{
color:#CCCCCC;
height:1px;
}
.ms-summarytitlebarframe{
background-color:#2353b2;
}
.ms-summarytitlebar a:link{
font-family:Verdana,serif;
font-size:9pt;
color:#FFFFFF;
font-weight:normal;
text-decoration:none;
}
.ms-summarytitlebar a:visited{
font-family:Verdana,serif;
font-size:9pt;
color:#FFFFFF;
font-weight:normal;
text-decoration:none;
}
.ms-summarytitlebar{
color:#FFFFFF;
font-size:.68em;
font-family:verdana;
font-weight:normal;
text-decoration:none;
}
.ms-summarytitlebartitle{
color:#FFFFFF;
font-size:10pt;
font-family:arial;
font-weight:bold;
text-decoration:none;
}
.ms-summarytitlebartitle:hover{
text-decoration:underline;
color:#000000;
}
img.thumbnail{
border:solid #83b0ec 3px;
}
tr.ms-imglibselectedrow,tr.ms-highlight
{
background-color:#f2f2f2;
}
.ms-imglibthumbnail
{
background-color:#d8d8d8;border:solid #83b0ec 0px;
}
span.thumbnail{
padding:16 10;position:relative;width:5px;
}
span.userdata{
behavior:url(#default#userData);display:none;
}
.ms-imglibmenuarea
{
background-color:#f2f8ff;
}
a.ms-imglibPreviewTitle
{
overflow:hidden;
text-overflow:ellipsis;
width:130px;
}
table.ms-imglibPreviewTable
{
display:none;
}
table.ms-disc td
{
padding:0;
color:#4c4c4c;
}
.ms-disc-nopad,table tr td.ms-disc-nopad,table.ms-disc-nopad td
{
padding:0px;
}
table tr td.ms-disc-padabove{
padding:5px 5px 5px 5px;
}
table.ms-disc-bar td
{
vertical-align:middle;
height:22px;
padding-left:5px;
}
table.ms-disc-bar IMG
{
vertical-align:middle;
}
table.ms-disc-bar B
{
vertical-align:10%;
padding-right:5px;
}
td.ms-disc-bordered,td.ms-disc-bordered-noleft
{
border:0px solid #add1ff;
border-top-width:0px;
}
table tr td.ms-disc-bordered-noleft
{
border-left-width:1px;
padding:0px 10px 5px 10px;
font-family:verdana;
font-size:.7em;
text-align:left;
}
table tr td.ms-disc-bordered{
padding:0px 0px 5px 5px;
}
.UserShadedRegion
{
font-family:verdana,sans-serif;
background-color:#fffacc;
}
.UserCaption
{
font-size:8pt;
font-family:verdana;
background-color:#d6e8ff;
}
.UserConfiguration
{
font-size:8pt;
font-family:verdana;
background-color:#f2f2f2;
}
.UserDottedLine
{
margin-bottom:2px;
height:1px;
overflow:hidden;
background-color:#3966bf;
background-image:url("/_layouts/images/dot.gif");
}
.UserButton,.UserInput,.UserSelect{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
}
.UserNotification{
font-family:verdana,sans-serif;
padding:4px;
COLOR:#7f7f7f
}
.RemoveConnectionLink{
color:#003399;
text-decoration:none;
}
.ConnectionTabLink{
color:#333333;
text-decoration:none;
}
.ConnectionChooseActiveTab{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
border-top:solid 1px #999999;
border-left:solid 1px #999999;
border-right:solid 1px #999999;
border-bottom:solid 1px #ece9d8;
padding:3px;
display:inline;
height:24px;
background-color:#ece9d8;
}
.ConnectionChooseInactiveTab{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
border-top:solid 1px #999999;
border-right:solid 1px #999999;
border-bottom:solid 1px #999999;
padding:3px;
display:inline;
margin-top:4px;
height:20px;
color:#333333;
background-color:#bfbfbf;
}
.ConnectionConfigureInactiveTab{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
border-top:solid 1px #999999;
border-left:solid 1px #999999;
border-bottom:solid 1px #999999;
padding:3px;
margin-top:4px;
display:inline;
height:20px;
color:#333333;
background-color:#bfbfbf;
}
.ConnectionConfigureActiveTab{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
border-top:solid 1px #999999;
border-left:solid 1px #999999;
border-right:solid 1px #999999;
border-bottom:solid 1px #ece9d8;
padding:3px;
display:inline;
height:24px;
background-color:#ece9d8;
}
.UserConnectionTop
{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
border-bottom:solid 1px #999999;
height:24px;
width:100%;
}
.UserToolBarTextArea{
padding-left:0px;
padding-right:0px;
padding-bottom:5px;
font-weight:normal;
font-size:8pt;
font-family:Verdana,sans-serif;
}
.UserToolbarTextArea A:link
{
COLOR:#3966bf;
TEXT-DECORATION:none
}
.UserToolbarTextArea A:visited
{
COLOR:#3966bf;
TEXT-DECORATION:none
}
.UserToolbarTextArea A:hover
{
COLOR:#000000;
TEXT-DECORATION:underline
}
.UserToolbarDisabledLink
{
COLOR:#7f7f7f;
font-size:8pt;
font-family:verdana;
padding:4px;
}
.UserToolbarImage
{
border:medium none;
font-size:8pt;
cursor:pointer;
background-color:#f2f2f2;
text-align:center;
}
.UserCaptionShadow{
border-right:1px solid #add1ff;
border-left:1px solid #add1ff;
background-color:#f3f3f3;
height:2px;
background-image:url("/_layouts/images/viewheadergrad.gif");
background-repeat:repeat-x;
}
.UserGenericHeader
{
font-weight:bold;
font-size:12pt;
color:#000000;
font-family:arial,sans-serif;
}
.UserGeneric
{
padding:8px 5px 7px 5px;
}
.UserGenericBody
{
padding:5px 0px 0px 17px;
}
.UserGenericText
{
font-size:8pt;
font-family:verdana,arial,sans-serif;
color:#000000;
}
.UserBackground
{
background-color:#FFFFFF;
}
.UserSectionTitle
{
width:100%;
margin-bottom:5px;
padding-bottom:2px;
font-weight:bold;
border-bottom:solid 1px #c4c4c4;
color:#595959
}
.UserSectionHead
{
width:100%;
padding:0px 0px 3px 0px;
color:#595959;
}
.UserSectionBody
{
width:100%;
padding:0px 0px 0px 0px;
}
.UserControlGroup
{
padding-bottom:10px;
padding-top:2px;
}
.UserSectionFooter
{
width:100%;
margin-top:5px;
padding-top:2px;
border-top:solid 1px #c8c8c8;
color:#000000
}
.UserFooter
{
width:100%;
padding:10px 7px 7px 7px;
}
.UserCommandArea
{
padding-top:7px;
}
.UserToolbar
{
background-image:url("/_layouts/images/topnavunselected.gif");
border-bottom:1px solid #6f9dd9;
padding-left:2px;
padding-right:2px;
background-position:left bottom;
background-repeat:repeat-x;
background-color:transparent;
}
.UserCellHover
{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
padding:1px 4px 2px 4px;
border:solid 1px #2353b2;
color:#000000;
}
.UserCellSelected
{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
padding:1px 4px 2px 4px;
background-image:url("/_layouts/images/selectednav.gif");
background-repeat:repeat-x;
background-color:#ffdf88;
border:solid 1px #d2b47a;
color:#000000;
}
.UserCell
{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
padding:1px 4px 2px 4px;
margin:1px;
color:#003399;
}
.UserGenericBulletItem
{
padding-bottom:2px;
}
.ms-ToolPaneFrame
{
padding:0px;
background-color:#f2f2f2;
}
.ms-ToolPaneOuter
{
padding:0px;
background-color:#f2f2f2;
border-top:1px solid #6f9dd9;
border-right:2px solid #6f9dd9;
}
.ms-ToolPaneBody
{
padding-right:2px;
padding-left:0px;
padding-bottom:2px;
padding-top:2px;
}
.ms-ToolPaneHeader
{
background-color:#2353b2;
border-style:none;
}
.ms-ToolPaneBorder
{
border-right:1px solid #add1ff;
border-top:0px solid transparent;
border-bottom:0px solid transparent;
border-left:1px solid #add1ff;
}
.ms-ToolPaneClose
{
background-image:url("/_layouts/images/topnavselected.gif");
background-repeat:repeat-x;
background-color:#79a7e3;
border-top:solid 1px #e3efff;
border-bottom:solid 1px #83b0ec;
padding-right:3px;
padding-left:0px;
}
.ms-ToolPaneTitle
{
color:#000000;
font-weight:bold;
font-size:8pt;
background-image:url("/_layouts/images/topnavselected.gif");
background-repeat:repeat-x;
border-left:solid 1px #e3efff;
border-top:solid 1px #e3efff;
border-bottom:solid 1px #83b0ec;
font-family:verdana,arial,helvetica,sans-serif;
padding-left:0px;
padding-right:7px;
padding-top:1px;
padding-bottom:2px;
background-color:#79a7e3;
}
.ms-ToolPaneFooter
{
padding:5px;
font-size:8pt;
border-top:solid 1px #C8C8C8;
color:#595959;
font-weight:bold;
font-family:verdana,arial,helvetica,sans-serif;
}
.ms-ToolPaneError
{
color:#e00000;
font-family:verdana,arial,helvetica,sans-serif;
font-size:8pt;
padding:10px;
}
.ms-ToolPaneInfo{
font-size:8pt;
padding-right:5px;
padding-top:5px;
padding-bottom:0px;
padding-left:5px;
color:#FFFFFF;
font-family:verdana,arial,helvetica,sans-serif;
background-color:#204d89;
}
.ms-ToolPartSpacing{
padding-top:8px;
}
.ms-ToolStripSelected
{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
background-image:url("/_layouts/images/menubuttonhover.gif");
padding:1px 4px 2px 4px;
background-color:#afd2ff;
border-top:solid 1px #f2f8ff;
border-bottom:solid 1px #d6e8ff;
color:#000000;
}
.ms-ToolStrip
{
font-family:Verdana,Arial,Sans-Serif;
font-size:8pt;
padding:1px 4px 2px 4px;
background-image:url("/_layouts/images/listheadergrad.gif");
color:#000000;
border-top:solid 1px #f2f8ff;
border-bottom:solid 1px #d6e8ff;
background-color:#afd2ff;
}
.ms-TPBorder
{
border:none;
}
.ms-TPHeader
{
background-color:#ffdf88;
}
.ms-TPTitle
{
padding-left:4px;
padding-right:0px;
color:#2A4666;
font-weight:bold;
font-size:8pt;
font-family:verdana,arial,helvetica,sans-serif;
padding-top:2px;
padding-bottom:2px;
}
.ms-TPBody
{
color:#000000;
font-size:8pt;
font-family:verdana,arial,helvetica,sans-serif;
}
.ms-TPBody A:link,.ms-TPBody A:visited,.ms-TPBody A:hover
{
color:#003399;
text-decoration:none;
cursor:pointer;
}
.ms-TPCommands{
}
.ms-TPInput{
font-size:8pt;
color:#000000;
font-family:verdana,arial,helvetica,sans-serif;
}
.ms-PropGridBuilderButton
{
border:solid 1px #3966bf;
width:16px;
font-size:8pt;
display:none;
background-color:#add1ff;
}
.ms-BuilderBackground
{
background:#ece9d8;
color:#4c4c4c;
}
.ms-SPZone
{
border:1px solid #add1ff;
padding:5px;
background-color:#e3efff;
}
.ms-SPZoneSelected
{
border:1px solid #ffa521;
background-color:#ffeebe;
padding:5px
}
.ms-SPZoneIBar
{
border:#f48b3f 3px solid;
}
.ms-SPZoneLabel
{
color:#7f7f7f;
font-family:tahoma,verdana;
font-size:8pt;
padding:0px 0px 1px 0px;
}
.ms-SPZoneCaption{
font-size:9pt;
color:#7f7f7f;
font-family:tahoma,verdana;
}
.ms-WPDesign{
background-color:#add1ff;
}
.ms-WPMenu{
background-color:#add1ff;
}
.ms-WPTitle
{
font-weight:bold;
font-family:tahoma,sans-serif;
color:#4c4c4c;
padding-left:3px;
padding-right:7px;
padding-top:2px;
padding-bottom:2px;
font-size:10pt;
}
.ms-WPTitle A:link,.ms-WPTitle A:visited
{
color:#4c4c4c;
text-decoration:none;
cursor:pointer;
}
.ms-WPTitle A:hover
{
color:#000000;
text-decoration:underline;
cursor:pointer;
}
.ms-WPSelected
{
border:#ffbb77 3px dashed;
}
.ms-WPBody
{
font-size:8pt;
font-family:verdana,arial,helvetica,sans-serif;
}
.ms-WPBody TABLE,.ms-TPBody TABLE
{
font-size:1em;
}
.ms-WPBody A:link,.ms-WPBody A:visited
{
color:#003399;
text-decoration:none;
}
.ms-WPBody A:hover
{
color:#000000;
text-decoration:underline;
}
.ms-WPBody th,.ms-TPBody th
{
font-weight:bold;
}
.ms-WPBody td
{
font-size:8pt;
font-family:verdana,arial,helvetica,sans-serif;
}
.ms-WPBody h1,.ms-TPBody h1
{
font-weight:bold;
font-size:200 %;
}
.ms-WPBody h2,.ms-TPBody h2
{
font-weight:bold;
font-size:150 %;
}
.ms-WPBody h3,.ms-TPBody h3
{
font-weight:bold;
font-size:120 %;
}
.ms-WPBody h4,.ms-TPBody h4
{
font-weight:bold;
font-size:100%;
}
.ms-WPBody h5,.ms-TPBody h5
{
font-weight:bold;
font-size:80%
}
.ms-WPBody h6,.ms-TPBody h6
{
font-weight:bold;
font-size:65%;
}
.ms-WPBorder,.ms-WPBorderBorderOnly
{
border-color:#9ac6ff;
border-width:1px;
border-style:solid;
}
.ms-WPBorder
{
border-top-width:0px;
}
.ms-HoverCellInActive,.ms-SpLinkButtonInActive
{
border:none;
margin:1px;
color:#4c4c4c;
vertical-align:top;
background-color:transparent;
}
.ms-HoverCellActive,.ms-SpLinkButtonActive
{
border:#6f9dd9 1px solid;
vertical-align:top;
background-color:#ffbb47;
background-image:url("/_layouts/images/menubuttonhover.gif");
}
.ms-HoverCellActiveDark
{
background-image:url("/_layouts/images/menubuttonhover.gif");
border:solid 1px #868686;
background-color:#ffbb47;
vertical-align:top;
}
.ms-SpLinkButtonInActive,.ms-SpLinkButtonActive
{
padding:1px 1px 1px 3px;
}
.ms-SpLinkButtonActive a,.ms-SpLinkButtonActive a:hover{
color:#000000;
text-decoration:none;
}
.ms-SPLink
{
font-family:verdana;
font-size:8pt;
color:#003399
}
.ms-SPLink A:link,.ms-SPLink A:visited
{
color:#2A4666;
text-decoration:none;
}
.ms-SPButton
{
font-family:Tahoma;
font-size:8pt;
}
.ms-WPAddButton
{
height:25px;
background:#ffe6a0 url("/_layouts/images/wpqaM.gif") repeat-x;
border:solid 1px #FEBA52;
padding:0px;
margin:0px;
cursor:pointer;
}
.ms-WPAddButtonHover
{
background:#ffffff url("/_layouts/images/wpqaMH.gif") repeat-x;
}
.ms-WPAddButton td
{
vertical-align:middle;
padding-left:3px;
padding-right:3px;
text-align:center;
}
.ms-WPAddButton span
{
color:#CD5C01;
vertical-align:middle;
}
.ms-WPAddButtonHover span
{
color:#000000;
vertical-align:middle;
}
.ms-PartSpacingVertical
{
font-size:1pt;
margin-top:12px;
}
.ms-PartSpacingHorizontal
{
font-size:1pt;
width:8px;
}
.ms-WPHeader
{
}
.ms-WPHeader TD{
border-bottom:1px solid #4e7cb7;
border-collapse:collapse;
}
A span.ms-WPEditText{
display:inline;
vertical-align:middle;
padding-left:1px;
padding-right:1px;
font-size:8pt;
font-family:verdana,arial,sans-serif;
color:#000000;
text-decoration:none;
}
.ms-SPzone .ms-WPHeader TD,.ms-SPZoneSelected .ms-WPHeader TD{
border:1px solid #c4c4c4;
background-color:#fff9de;
background-image:url("/_layouts/images/partgrad.gif");
background-repeat:repeat-x;
}
.ms-SPZone td.ms-toolbar table,.ms-SPZoneSelected td.ms-toolbar table{
background-color:transparent;
}
.ms-SPZone tr.ms-viewheadertr table,.ms-SPZoneSelected tr.ms-viewheadertr table,.ms-SPZone .ms-vh2 table,.ms-SPZoneSelected .ms-vh2 table,.ms-SPZone .ms-vh table,.ms-SPZoneSelected .ms-vh table{
background-color:#f2f2f2;
}
.ms-SPZone .ms-vh table.ms-unselectedTitle,.ms-SPZone .ms-vh2 table.ms-unselectedTitle,.ms-SPZoneSelected .ms-vh table.ms-unselectedTitle,.ms-SPZoneSelected .ms-vh2 table.ms-unselectedTitle
{
background-color:transparent;
}
.ms-SPZone .ms-vh table.ms-selectedTitle,.ms-SPZone .ms-vh table.ms-selectedTitle td,.ms-SPZone .ms-vh2 table.ms-selectedTitle,.ms-SPZoneSelected .ms-vh table.ms-selectedTitle,.ms-SPZoneSelected .ms-vh table.ms-selectedTitle td,.ms-SPZoneSelected .ms-vh2 table.ms-selectedTitle
{
background-color:#dde1e5;
}
.ms-SPZone table,.ms-SPZoneSelected table{
background-color:#ffffff;
}
.ms-rtApplyBackground
{
background-color:#ffdf88;
BORDER-BOTTOM:buttonshadow solid 1px;
BORDER-RIGHT:buttonshadow solid 1px;
}
.ms-tbButtonMouseOverDown
{
BACKGROUND-COLOR:#ffdf88;
BORDER-BOTTOM:buttonhighlight solid 1px;
BORDER-LEFT:buttonshadow solid 1px;
BORDER-RIGHT:buttonhighlight solid 1px;
BORDER-TOP:buttonshadow solid 1px;
TOP:1px;
HEIGHT:22px;
WIDTH:23px;
}
.ms-rtRemoveBackground
{
background-color:transparent;
BORDER-BOTTOM:#ffdf88 solid 1px;
BORDER-LEFT:#ffdf88 solid 1px;
BORDER-RIGHT:#ffdf88 solid 1px;
BORDER-TOP:#ffdf88 solid 1px;
}
.ms-subsmanageheader
{
background-color:#f2f2f2;
font-family:verdana;
font-size:8pt;
text-align:left;
text-decoration:none;
font-weight:bold;
vertical-align:top;
}
.ms-subsmanagecell
{
color:#000000;
font-family:verdana;
font-size:.68em;
height:18px;
vertical-align:top;
}
.ms-ConnError
{
color:#ff0000;
}
.ms-underline
{
vertical-align:top;
border-bottom:1px solid #bfbfbf;
padding:3px 4px 4px 4px;
}
.ms-underlineback
{
vertical-align:top;
border-bottom:1px solid #bfbfbf;
padding:3px 4px 4px 4px;
background-color:#f2f2f2;
}
.ms-back
{
vertical-align:top;
padding:2px 4px 4px 4px;
background-color:#f2f2f2;
}
.ms-smallheader,th.ms-smallheader
{
font-size:8pt;
font-weight:bold;
color:#000000;
font-family:verdana;
text-align:left;
}
.ms-smallsectionline
{
padding:0px;
background-color:#bfbfbf;
}
.ms-tabselected
{
border-color:#6F9DD9;
border-width:1px;
border-style:solid;
font-weight:bold;
position:relative;
top:0px;
padding-top:3px;
padding-bottom:3px;
padding-left:10px;
padding-right:10px;
color:#003399;
background-image:url("/_layouts/images/selectednav.gif");
background-repeat:repeat-x;
background-color:#ffe6a0;
border-bottom:white;
}
.ms-tabinactive
{
font-weight:bold;
position:relative;
top:0px;
padding-top:3px;
padding-bottom:3px;
padding-left:10px;
padding-right:10px;
color:#003399;
background-image:url("/_layouts/images/topnavunselected.gif");
background-color:#e3efff;
background-repeat:repeat-x;
border:solid 1px #c2dcff;
border-bottom:none;
}
.ms-tabinactive a:link
{
color:#003399;
text-decoration:none;
}
.ms-tabinactive a:hover
{
color:#003399;
text-decoration:none;
}
.ms-tabinactive a:visited
{
color:#003399;
text-decoration:none;
}
.ms-surveyHBar
{
font-size:2px;
background-color:#3966bf;
border:solid;
border-width:5px;
border-color:#3966bf;
}
.ms-surveyHBarB
{
font-size:2px;
background-color:#CCCCCC;
border:solid;
border-width:1px;
border-color:#CCCCCC;
}
.ms-surveyHBarLabel
{
font-size:8pt;
font-family:tahoma,sans-serif;
color:#7f7f7f;
text-decoration:none;
;height:3.75pt;
margin:0;
padding:0;
border:none;
background-color:white;
}
.ms-surveyVBar
{
font-size:2px;
background-color:#3966bf;
}
.ms-surveyVBarB
{
font-size:2px;
background-color:#CCCCCC;
vertical-align:bottom;
}
.ms-surveyVBarBI
{
font-size:2px;
background-color:#3966bf;
vertical-align:top;
}
.ms-surveyVBarS
{
font-size:2px;
}
.ms-surveyVBarT
{
font-size:8pt;
font-family:verdana;
color:#7f7f7f;
}
.ms-surveyVBarTC
{
font-size:8pt;
font-family:verdana;
text-align:center;
color:#7f7f7f;
}
.ms-surveyHR
{
color:#CCCCCC;
height:1px;
}
.ms-surveyTotal
{
font-size:8pt;
font-family:verdana;
color:#7f7f7f;
padding-left:10px;
padding-right:0px;
}
.ms-uploadborder{
border:1px solid #83b0ec;
}
.ms-uploadcontrol{
background-color:#f2f2f2;
}
.ms-spaceBetContentAndButton
{
height:10px;
}
.ms-ButtonHeightWidth
{
width:10.5em;
font:8pt tahoma;
height:2.1em;
padding-top:0.1em;
padding-bottom:0.4em;
}
.ms-NarrowButtonHeightWidth
{
width:5em;
height:2em;
font:8pt tahoma;
padding:0;
}
.ms-ButtonHeightWidth2
{
height:2.1em;
font:8pt tahoma;
width:18.1em;
padding-top:0.1em;
padding-bottom:0.4em;
}
.ms-SpaceBetButtons
{
width:6px;
}
.ms-summarycustombody{
margin-left:3px;
margin-top:5px;
margin-right:6px;
}
.ms-summarystandardbody{
margin-left:0px;
margin-top:0px;
margin-right:6px;
}
.ms-stylebox{
font-family:verdana;
border:1px solid #CCCCCC;
text-align:left
}
.ms-stylelabel{
font-family:verdana;
font-size:8pt;
color:#4c4c4c;
}
.ms-styleheader{
font-family:verdana;
font-size:.68em;
background-color:#f9f9f9;
}
.ms-styleheader a:link,.ms-stylebody a:link{
color:#003399;
text-decoration:none;
}
.ms-styleheader a:visited,.ms-stylebody a:visited{
text-decoration:none
}
.ms-stylebody{
font-family:verdana;
font-size:8pt;
}
.ms-styleheader a:hover,.ms-stylebody a:hover{
color:#000000;
text-decoration:underline;
}
.ms-alternating{
background-color:#f9f9f9;
}
.ms-alternatingstrong{
background-color:#e3efff;
}
.ms-alternatingstrong td,.ms-basictable .ms-alternating td{
border-bottom:1px solid #d8d8d8;
border-top:1px solid #d8d8d8;
}
.ms-alternatingstrong td td,.ms-basictable .ms-alternating td td{
border:0px;
}
.ms-MWSSelectedInstance{
color:#000000;
text-decoration:none;
}
.ms-MWSInstantiated a:link,.ms-MWSInstantiated a:visited{
color:#003399;
text-decoration:none;
}
.ms-MWSInstantiated a:hover{
color:#8ebbf5;
text-decoration:underline;
}
.ms-MWSUninstantiated a:link,.ms-MWSUninstantiated a:visited{
color:#003399;
text-decoration:none;
}
.ms-MWSUninstantiated a:hover{
color:#003399;
text-decoration:underline;
}
.ms-entity-resolved{
color:#000000;
text-decoration:underline;
}
.ms-entity-unresolved{
color:#000000;
cursor:pointer;
background-image:url("/_layouts/images/squiggle.gif");
background-repeat:repeat;
background-position:left bottom;
padding-bottom:2px;
vertical-align:text-top;
font-style:italic;
}
.ms-ganttTitleCell
{
text-align:left;
padding-left:7px;
width:222px;
height:22px;
border:solid 1px #d6e8ff;
}
.ms-ganttTitleCellText
{
width:222px;
height:22px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
line-height:22px;
}
.ms-ganttTitleHeaderCell
{
text-align:left;
padding-left:7px;
width:222px;
border:solid 1px #d6e8ff;
}
.ms-ganttInnerTable td,.ms-ganttInnerTable th
{
font-family:verdana;
font-size:.68em;
}
.ms-ganttDiv
{
position:absolute;
overflow:auto;
height:272px;
width:100%;
}
.ms-ganttDivNotIE
{
position:inherit;
overflow:auto;
height:272px;
width:100%;
}
.ms-ganttOuterTable
{
width:100%;
height:272px;
}
.ms-ganttInnerTable th
{
color:#4e7cb7;
}
.ms-ganttMajorTimeUnitHeaderCell
{
text-align:center;
border-left:solid 1px #d6e8ff;
border-right:solid 1px #d6e8ff;
background-color:#f9f9f9;
}
.ms-ganttDetailTimeUnitRow td,.ms-ganttDetailTimeUnitRow th
{
text-align:center;
border:solid 1px #d6e8ff;
background-color:#f9f9f9;
}
.ms-ganttDetailTimeUnitRow abbr
{
border:none;
}
.ms-GWD
{
}
.ms-GNWD
{
background:#f9f9f9;
}
.ms-GT
{
background:cornsilk;
}
.ms-ganttTransparentImage
{
position:absolute;
width:100%;
height:20px;
z-index:2;
}
.ms-ganttNonTransparentImage
{
position:relative;
z-index:1;
}
.ms-dgselected
{
background:#5980A5;
color:#FFFFFF;
vertical-align:middle;
font-weight:bold;
}
.ms-dgselected a
{
color:#FFFFFF;
font-weight:bold;
}
.ms-dgselected a:visited
{
color:#FFFFFF;
font-weight:bold;
}
.ms-dgbottom
{
border-bottom:1px solid #000000;
border-left:1px solid #000000;
border-right:1px solid #000000;
}
.ms-dgadd a
{
font-weight:bold;
}
.ms-dgadd
{
vertical-align:middle;
border-top:1px solid #000000;
border-left:1px solid #000000;
border-right:1px solid #000000;
border-bottom:1px solid #C0C6E0;
}
.ms-infobar{
font-family:Tahoma;
background-color:#EDF0D9;
border-color:#999999;
border-width:1px;
border-style:solid;
font-size:10px;
}
.ms-selwidth
{
font-family:tahoma,verdana;
font-size:1.2em;
width:158px;
}
.ms-featurestatus
{
width:100px;
vertical-align:middle;
}
.ms-featurestatustext
{
padding:4px;
background-color:#003399;
color:white;
font-weight:bold;
}
.ms-featurealtrow
{
background-color:#e9e9e9;
}
.ms-unpublishedresource{
border-style:dashed;
border-width:thick;
border-color:#ff0000;
margin:5px 5px 5px 5px;
}
.ms-inconsistentresource{
border-style:dashed;
border-width:thick;
border-color:#00FF00;
margin:5px 5px 5px 5px;
}
.ms-annotatedanchorspacing{
top:3px;
left:3px;
width:3px;
height:3px;
}
.ms-consolemptablerow{
background-color:#79a7e3;
}
.ms-consolestatus,.ms-consoleerror,.ms-consolemessage,.ms-consoletoolbar{
font-size:8pt;
font-family:Tahoma,verdana;
}
.ms-consoleframe,.ms-consolestatusframe{
border-bottom-width:1px;
border-left-width:0px;
border-right-width:0px;
border-style:solid;
}
.ms-consolestatuscell{
background-image:url("/_layouts/images/pageTitleBKGD.gif");
background-repeat:repeat-x;
background-position:top left;
background-color:#d5dced;
text-align:center;
}
.ms-consoleframe{
border-top-width:1px;
border-color:#83b0ec;
}
.ms-consolestatusframe{
border-top-width:0px;
background-color:#f6fdfd;
background-repeat:repeat-x;
border-color:#FFFFFF;
}
td.ms-consolestatusmajorframe,td.ms-consolestatusminorframe,td.ms-consolestatuscheckoutframe{
background-repeat:repeat-x;
}
.ms-consolestatusmajorframe{
background-color:#fff699;
background:url('/_layouts/images/cnspgrdn.gif');
}
.ms-consolestatusminorframe{
background-color:#e3efff;
background:url('/_layouts/images/cnsugrdn.gif');
}
.ms-consolestatuscheckoutframe,.ms-consoleminiframe{
background-color:#fff8b2;
background:url('/_layouts/images/cnsugrdn.gif');
}
.ms-consoleminiframe{
height:24px;
background-repeat:repeat-x;
}
.ms-consolestatusshadowframe{
background-repeat:repeat-x;
background:url('/_layouts/images/cnsshdo.gif');
height:4px;
}
.ms-consolestatusshadowframeleft{
background:url('/_layouts/images/cnsshdol.gif');
height:4px;
width:3px;
}
.ms-consolestatusshadowframeright{
background:url('/_layouts/images/cnsshdor.gif');
height:4px;
width:3px;
}
.ms-consolemode{
background-color:#fff699;
color:#000000;
font-size:8pt;
font-family:verdana;
}
.ms-consolestatus{
color:#666666;
font-size:8pt;
font-family:verdana;
padding-top:3px;
padding-bottom:3px;
text-decoration:none;
}
.ms-consolestatus a{
font-family:Verdana,serif;
font-size:8pt;
color:#3966bf;
text-decoration:none;
}
.ms-consolestatus a:hover{
font-family:Verdana,serif;
font-size:8pt;
color:#3966bf;
text-decoration:underline;
}
.ms-consolehr{
background-color:#CDCDCD;
height:1px;
}
.ms-consoleerror{
color:#ff0000;
text-decoration:none;
}
.ms-consoleerror a{
color:#3966bf;
text-decoration:none;
}
.ms-consoleerror a:hover{
color:#3966bf;
text-decoration:underline;
}
.ms-consolemessage{
color:#204d89;
text-decoration:none;
}
.ms-consolemessage a{
text-decoration:none;
}
.ms-consolemessage a:hover{
text-decoration:underline;
}
.ms-consoletoolbar{
text-decoration:none;
color:#003399;
}
.ms-consoletoolbar a{
text-decoration:none;
}
.ms-consoleqaback td{
padding-left:3px;
padding-right:6px;
background-image:url("/_layouts/images/qarsgrd.gif");
}
.ms-consoleqabackhover td{
background-image:url("/_layouts/images/qahvgrd.gif");
padding-left:3px;
padding-right:6px;
}
.ms-consoleqaemptyborderh{
height:1px;
}
.ms-consoleqaemptyborderv{
width:1px;
}
.ms-consoleqaemptycorner{
width:1px;
height:1px;
}
.ms-consoleqaborderh,.ms-consoleqaborderv,.ms-consoleqacorner{
background-color:#CAD7E7;
}
.ms-consoleqaborderhhover,.ms-consoleqabordervhover,.ms-consoleqacornerhover{
background-color:#D2B47A;
}
.ms-consoleqaborderh{
height:1px;
}
.ms-consoleqaborderv{
width:1px;
}
.ms-consoleqacorner{
width:1px;
height:1px;
}
.ms-consoleqaborderhhover{
height:1px;
}
.ms-consoleqabordervhover{
width:1px;
}
.ms-consoleqacornerhover{
width:1px;
height:1px;
}
.ms-webpartpickerpagebackground{
background-color:#efebc2;
}
.ms-webpartpickerpageinnerbackground{
background-color:#f2f2f2;
}
.ms-webpartpickerpagetext{
color:#656B77;
text-align:left;
}
.ms-webpartpickerpagetext a{
color:#3966bf;
text-align:left;
}
.ms-webpartpickerpageHeaderBorder a{
color:#3966bf;
}
.ms-webpartpickeralign{
padding-left:3px;
padding-right:7px;
padding-top:2px;
padding-bottom:2px;
}
.ms-webpartpickerwarning{
color:#ff0000;
}
.ms-viewtotalselect{
width:104px;
}
.hierarchy-node-partialcheck{
font-style:italic;
}
.ms-wikitoolbar a.ms-toolbar{
color:#124890;
}
.ms-wikieditouter
{
height:23px;
font-size:8pt;
font-family:tahoma;
position:absolute;
right:9px;
top:30px;
border:1px solid #6393D4;
border-bottom:none;
text-align:center;
border-right-width:2px;
}
.ms-wikieditsecond
{
}
.ms-wikieditthird
{
background:url(/_layouts/images/toolgrad.gif);
padding-left:3px;
}
.ms-wikieditorange
{
}
.ms-wikieditorangeinnera
{
height:0px;
font-size:0px;
line-height:0px;
}
.ms-wikitoolbar a:hover.ms-toolbar
{
text-decoration:underline;
color:#000000;
}
.ms-wikicontent a{
text-decoration:underline;
}
.ms-wikicontent a.ms-wikilink
{
text-decoration:none;
}
.ms-wikicontent a.ms-missinglink
{
text-decoration:none;
border-bottom:1px dashed #000000;
}
.ms-wikicontent
{
color:#333333;
line-height:1.3;
}
.ms-recentchanges
{
vertical-align:top;
padding:7px 1px 9px 4px;
}
.errorinl
{
FONT-SIZE:8pt;
COLOR:#ff0000;
FONT-FAMILY:verdana,sans-serif;
}
.ms-diffdeletenostrike,.ms-diffdelete
{
background-color:#e0e0e0;
}
.ms-diffdelete
{
text-decoration:line-through;
}
.ms-diffinsert
{
background-color:#ffeaad;
border:1px solid #ffffff;
}
.ms-wikifieldheader{
font-family:tahoma;
font-size:8pt;
margin-top:15px;
margin-bottom:10px;
font-weight:bold;
color:#515151;
border-bottom:1px solid #C3C3C3;
padding:2px;
}
ul.ms-blogAdminLinks
{
list-style:none;
margin:4px 10px 0 0;
padding:0 0 0 4px;
}
ul.ms-blogAdminLinks li
{
background:transparent url(/_layouts/images/rect.gif);
background-position:center left;
background-repeat:no-repeat;
margin:0 0 0 0;
padding:0 0 3px 15px;
}
ul.ms-blogAdminLinks li a{
color:#003399;
}
.ms-PostWrapper,.ms-CommentsWrapper,.ms-blogrss
{
color:#4c4c4c;
width:588px;
}
.ms-blogrssnav{
color:#4c4c4c;
padding-bottom:5px;
padding-top:5px;
padding-left:5px;
border-top:solid 1px #add1ff;
}
.ms-blogrssnav a{
color:#003399;
text-decoration:none;
font-weight:bold;
font-size:8pt;
}
.ms-blogrssnav img{
border:none;
}
.ms-PostTitle{
font-size:16pt;
border-top:solid 1px #e3efff;
padding-top:6px;
}
.ms-PostTitle span{
position:relative;
left:-2px;
right:auto;
}
.ms-PostTitle a
{
color:#4c4c4c;
text-decoration:none;
}
.ms-PostFooter,.ms-CommentFooter{
font-size:8pt;
color:#999999;
padding-bottom:22px;
}
.ms-PostFooter a,.ms-CommentFooter a{
color:#6c90d8;
white-space:nowrap;
}
.ms-PostBody
{
color:#4c4c4c;
font-size:8pt;
line-height:1.7em;
padding-top:6px;
padding-bottom:12px;
}
.ms-PostBody a{
color:#0000CC;
}
.ms-PostBody p{
margin:0 0 1em 0;
}
h3.ms-PostDate
{
font-size:8pt;
color:#7f7f7f;
margin:0;
border-bottom:solid 1px #6f9dd9;
padding-bottom:5px;
}
h3.ms-CommentHeader
{
font-size:16pt;
font-weight:normal;
color:#999999;
margin:0 0 0 0;
padding:0 0 0 0;
position:relative;
top:-.25em;
left:-2px;
right:auto;
}
h4.ms-CommentTitle
{
color:#666666;
font-size:8pt;
line-height:1.7em;
padding:0px 0 0 0;
margin:0px;
}
.ms-CommentBody{
color:#4c4c4c;
font-size:8pt;
line-height:1.7em;
padding-bottom:12px;
padding-top:6px;
}
.ms-commentsempty{
color:#4c4c4c;
font-size:8pt;
padding-bottom:22px;
padding-top:6px;
}
.ms-blogedit{
font-size:8pt;
line-height:1.7em;
vertical-align:top;
border-top:solid 1px #e3efff;
}
.ms-blogedit a{
height:22px;
padding:0px 5px 0 5px;
color:#003399;
background-image:url("/_layouts/images/toolgrad.gif");
background-color:#d6e8ff;
border:1px solid #83b0ec;
border-top:none;
}
.ms-blogrss
{
font-size:8pt;
border-top:solid 1px #e3efff;
padding-top:5px;
}
.ms-blogrss a{
color:#003399;
}
.ms-blogrss img
{
vertical-align:middle;
border:none;
}
.ms-commenttable{
margin:15px 0 0 0;
padding:0px;
}
.ms-commenttable td{
border-top:solid 1px #d6e8ff;
}
.ms-CommentFooter a
{
padding-top:4px;
margin:0;
}
.ms-pickerwait
{
width:100%;
height:100%;
margin:0px;
background-color:#FFFFFF;
font-family:verdana;
font-size:8pt;
color:#000000;
}
.ms-pickerdropdown
{
margin-left:5px;
}
.ms-CategoryTitleCell
{
padding:0px 0px 0px 0px;
}
.ms-CategoryTitleCell a
{
display:block;
background:transparent url("/_layouts/images/navbullet.gif");
background-position:left top;
background-repeat:no-repeat;
margin:0px;
padding:3px 0px 3px 16px;
}
.ms-BlogEmptyListText
{
padding:2px 2px 2px 10px;
}
.ms-BlogNavigator p.ms-descriptiontext
{
display:none;
}
.ms-BlogNavigator div.ms-navheader{
background-color:#d6e8ff;
border-top:solid 1px #f2f8ff;
border-left:solid 1px #f2f8ff;
border-bottom:1px solid #add1ff;
padding:1px 6px 3px 6px;
}
.ms-BlogNavigator div.ms-navheader a{
color:#003399;
}
.ms-BlogNavigator div.ms-navheader{
color:#4c4c4c;
font-weight:bold;
}
.ms-BlogNavigator .ms-quicklaunch table td{
border-top:none;
}
.ms-BlogNavigator div.ms-WPBody{
border-top:solid 1px #add1ff;
}
.ms-BlogNavigator div.ms-PartSpacingVertical
{
font-size:1pt;
margin-top:0px;
}
.ms-BlogNavigator td.ms-addnew{
padding-left:6px;
}
.ms-BlogNavigator td.ms-addnew img{
margin-right:2px;
}
.ms-BlogEmptyListText{
padding:4px 4px 2px 6px;
color:#4c4c4c;
}
.ms-pickertitlesection
{
background:#ffffff url("/_layouts/images/siteTitleBKGD.gif") repeat-y top right;
}
.ms-pickertitlesection .ms-descriptiontext
{
padding:8px 3px 8px 3px;
}
.ms-pickeremptyresulttexttr .ms-descriptiontext{
padding-left:5px;
padding-top:6px;
}
.ms-pickerbodysection
{
background:#ece9d8 url("/_layouts/images/viewheadergrad.gif") repeat-x;
border-top:solid 1px #a5a5a5;
}
.ms-pickerresultoutertable
{
table-layout:fixed;
}
.ms-pickerresulttable
{
border-collapse:separate;
}
.ms-pickerresultdiv
{
background-color:#ffffff;
border-top-width:1px;
border-bottom-width:1px;
border-left-width:1px;
border-right-width:1px;
border-style:inset;
OVERFLOW:scroll;
width:100%;
height:100%;
}
.ms-pickerbuttonsection
{
background-color:#ece9d8;
}
.ms-pickersectionline
{
background-color:#d0d0bf;
}
.ms-pickersearchbox
{
height:19px;
color:#000000;
}
.ms-pickersearchsummarytr td.ms-descriptiontext
{
padding-left:6px;
padding-top:5px;
color:#525252;
font-weight:bold;
}
.ms-pickerwaittexttr td.ms-descriptiontext
{
text-align:center;
}
.ms-ph
{
padding-left:5px;
padding-right:5px;
background-image:none;
background-color:#f3f3f3;
color:#949494;
white-space:nowrap;
}
.ms-naveditor .ms-vb2,.ms-naveditor .ms-gb{
padding:3px 3px 0 3px;
height:22px;
}
.ms-naveditor .ms-gb{
border-top:0;
}
.ms-naveditor .ms-gb img{
margin-top:1em;
}
@media print{
.ms-leftareacell,.ms-globallinks,.ms-siteaction,.ms-areaseparatorleft,.ms-rightareacell,.ms-areaseparatorright,
.ms-areaseparatorcorner,.ms-titlearealeft,.ms-titlearearight,.ms-searchform,.ms-banner,.ms-buttonheightwidth,.ms-buttonheightwidth2{
display:none;
}
}
.ms-hidden,a.ms-skip,a:hover.ms-skip,a:visited.ms-skip
{
position:absolute;
left:0px;
top:-500px;
width:1px;
height:1px;
overflow:hidden;
}
a:active.ms-skip,a:focus.ms-skip
{
position:absolute;
left:2px;
top:2px;
width:auto;
height:auto;
background-color:white;
border-color:black;
border-width:1px;
border-style:Solid;
color:black;
padding-top:2px;
padding-bottom:2px;
padding-left:4px;
padding-right:4px;
}
.ms-dialogBody
{
background-color:#ece9d8;
}
.ms-dialogHeader
{
background-color:#ffffff;
background-position:right top;
background-image:url('/_layouts/images/dialogTitleBKGD.jpg');
background-repeat:repeat-y;
}
.ms-dialogHeaderDescription
{
font-family:Tahoma;
font-size:8pt;
color:#666666;
padding-right:20px;
}
.ms-dialogHelpLink,.ms-dialogHelpLink a
{
font-family:Tahoma;
font-size:8pt;
color:#666666;
text-decoration:none;
}
.ms-dialogHeadingDivider1
{
background-color:#ffffff;
}
.ms-dialogHeadingDivider2
{
background-color:#9e9fa1;
}
.ms-dialogHeadingDivider3
{
background-color:#d6d2bf;
}
.ms-dialogBodyMain
{
background-color:#ffffff;
border:1px solid #7f9db9;
font-family:Tahoma;
font-size:8pt;
color:#666666;
}
.ms-dialogButtonSection
{
border-top:1px solid #d0d0bf;
}
.ms-dialogButtonCell,.ms-dialogButtonCell INPUT
{
font-family:Tahoma;
font-size:8pt;
}
.ms-dialogHoverRow
{
background-color:#f2f4e3;
}
.ms-dialogSelectedRow
{
background-color:#e6e6e6;
}
.ms-aggrwebpartcell
{
padding-right:5px;
padding-left:5px;
}
a.ms-acclink
{
width:auto;
height:1.1em;
background-color:white;
border-color:black;
border-width:1px;
border-style:solid;
padding-top:2px;
padding-bottom:2px;
padding-left:4px;
padding-right:4px;
color:black;
}
a.ms-imnlink
{
cursor:default;
}
/* _lcid="1033" _version="12.0.6500"
_LocalBinding */
.ms-SrvMenuUI
{
display:none;
}
.ms-MenuUIPopupBody
{
border:1px solid #868686;
margin:0px;
padding:0px;
}
.ms-MenuUIPopupBody TABLE
{
color:#003399;
font-size:100%;
margin:0px;
padding:0px;
}
.ms-MenuUIPopupBody div
{
cursor:pointer;
}
.ms-MenuUI,.ms-MenuUILarge,.ms-MenuUIRtL,.ms-MenuUILargeRtL
{
background-color:#fafafa;
background-repeat:repeat-y;
cursor:pointer;
}
.ms-MenuUI,.ms-MenuUILarge
{
background-position:left;
}
.ms-MenuUIRtL,.ms-MenuUILargeRtL
{
background-position:right;
}
.ms-MenuUI
{
background-image:url("/_layouts/images/MGrad.gif");
}
.ms-MenuUILarge
{
background-image:url("/_layouts/images/MGradLarge.gif");
width:250px;
}
.ms-MenuUIRtL
{
background-image:url("/_layouts/images/MGradRtl.gif");
}
.ms-MenuUILargeRtL
{
background-image:url("/_layouts/images/MGradLargeRtl.gif");
width:250px;
}
.ms-MenuUIDisabled SPAN
{
color:#888888;
}
.ms-MenuUIItemTableCell,.ms-MenuUIItemTableCellCompact
{
padding:2px;
color:#003399;
text-decoration:none;
font-size:8pt;
font-family:tahoma;
}
.ms-MenuUIItemTableCellCompact
{
padding:1px 2px 1px 2px;
}
.ms-MenuUIItemTableCell A,.ms-MenuUIItemTableCellHover A,.ms-MenuUIItemTableCellCompact A,.ms-MenuUIItemTableCellCompactHover A
{
color:#003399;
text-decoration:none;
}
.ms-menuitemdescription
{
color:#666666;
}
.ms-MenuUIItemTableCellHover,.ms-MenuUIItemTableCellCompactHover
{
padding:1px;
color:#003399;
text-decoration:none;
font-size:8pt;
font-family:tahoma;
}
.ms-MenuUIItemTableCellCompactHover
{
padding:0px 1px 0px 1px;
}
.ms-MenuUIItemTableHover
{
background-color:#ffe6a0;
border:1px solid #d2b47a;
}
.ms-MenuUIItemTableHover .ms-menuitemdescription
{
color:#333333;
}
.ms-MenuUIIcon,.ms-MenuUIIconRtL
{
height:16px;
width:24px;
}
.ms-MenuUIIconLarge,.ms-MenuUIIconLargeRtl
{
height:16px;
width:40px;
}
.ms-MenuUIIcon,.ms-MenuUIIconLarge
{
padding:
0px
6px
0px
2px;
}
.ms-MenuUIIconRtL,.ms-MenuUIIconLargeRtl
{
padding:
0px
2px
0px
6px;
}
.ms-MenuUILabel,.ms-MenuUILabelRtL,.ms-menuuilabelcompact,.ms-menuuilabelcompactRtl
{
width:100%;
}
.ms-MenuUILabel
{
padding:
2px
0px
3px
6px;
}
.ms-MenuUILabelRtL
{
padding:
2px
6px
3px
0px;
}
.ms-menuuilabelcompact{
padding:1px 0px 1px 7px;
}
.ms-menuuilabelcompactRtl{
padding:1px 7px 1px 0px;
}
.ms-MenuUISubmenuArrow
{
height:16px;
width:16px;
}
.ms-MenuUISeparator,.ms-MenuUISeparatorRtL,.ms-MenuUISeparatorLarge,.ms-MenuUISeparatorLargeRtl
{
background-color:#c5c5c5;
font-size:1px;
height:1px;
line-height:1px;
}
.ms-MenuUISeparator
{
margin:
0px
0px
0px
32px;
}
.ms-MenuUISeparatorRtL
{
margin:
0px
32px
0px
0px;
}
.ms-MenuUISeparatorLarge
{
margin:0px 0px 0px 48px;
}
.ms-MenuUISeparatorLargeRtl
{
margin:0px 48px 0px 0px;
}
.ms-MenuUICheckMark
{
background-image:url("/_layouts/images/ChkMrk.gif");
}
.ms-MenuUIItemTableCellDisabled
{
color:#999999;
}
.ms-sbtable{
color:#000000;
font-family:Verdana;
font-size:0.7em;
font-style:normal;font-weight:normal
}
.ms-sbtablealt{
color:#000000;
font-family:Verdana;
font-size:0.7em;
font-style:normal;font-weight:normal
}
.ms-sbtable-ex{
width:100%;
border-collapse:collapse;
margin-top:2px;
margin-left:2px;
}
.ms-sbtable-border{
border:1px solid #97b4e9;
}
td.ms-sbcell{
padding:0px;
padding-left:2px;
white-space:nowrap;
border:solid 1px #7f9db9;
}
td.ms-sbcellnoborder{
padding-right:2px;
white-space:nowrap;
border:0;
}
.ms-sbtext{
font-family:Tahoma;
font-size:1em;
font-weight:bold;
}
.ms-sbplain{
font-family:Tahoma;
font-size:8pt;
border:none;
}
.ms-sbplainwithborder{
font-family:Tahoma;
font-size:8pt;
}
td.ms-sblink{
padding-right:14px;
border:none;
}
.ms-sblink a:link,.ms-sblink a:visited{
font-family:Tahoma;
font-size:8pt;
color:#666666;
text-decoration:none;
padding-left:4px;
}
.ms-sblink a:hover{
color:#000000;
text-decoration:underline;
}
td.ms-sbgo{
background-color:#e9f2fd;
padding-left:3px;
padding-right:3px;
padding-bottom:1px;
padding-top:1px;
}
.ms-sbLastcell,.ms-rightbodysectionsearchbox{
width:100%;
}
.ms-sbLastCell{
padding-right:10px;
}
td.ms-sbscopes{
border:none !important;
}
select.ms-sbscopes{
font-family:tahoma,verdana;
font-size:8pt;
width:170px;
}
.srch-WPBody{
margin:0px;
font-family:tahoma;
font-size:1em;
color:#666666;
}
.srch-results{
}
.srch-sort{
COLOR:#333333;
FONT-SIZE:1.0em;
}
.srch-sort A:link,.srch-sort A:visited{
text-decoration:none;
color:#003399;
}
.srch-sort a:hover{
color:#FF0000;
}
.srch-sort-right{
float:right;
COLOR:#333333;
FONT-SIZE:1.0em;
padding-bottom:4px;
}
.srch-sort-right A:link,.srch-sort-right A:visited{
text-decoration:none;
color:#003399;
}
.srch-sort-right a:hover{
color:#FF0000;
}
.srch-summary{
COLOR:#333333;
FONT-SIZE:1.0em;
FONT-FAMILY:Tahoma;
}
.srch-summary A:link,.srch-summary A:visited{
text-decoration:none;
color:#003399;
}
.srch-summary a:hover{
color:#FF0000;
}
.srch-stats{
COLOR:#333333;
FONT-SIZE:1.0em;
FONT-FAMILY:Tahoma;
background-color:#ececec;
text-align:left;
white-space:nowrap;
}
.srch-stats A:link{
text-decoration:none;
color:#003399;
}
.srch-stats a:hover{
color:#FF0000;
}
.srch-Description{
FONT-SIZE:1.0em;
MARGIN:0px 0px 4px;COLOR:#333333;
FONT-FAMILY:Tahoma;
}
.srch-Description b{
font-weight:bold;
COLOR:#333333;
}
.srch-alertme a:link,.srch-alertme A:visited{
MARGIN:0px 0px 0px;
}
.srch-alertme a:hover{
MARGIN:0px 0px 0px;
}
.srch-Title{
FONT-SIZE:1.2em;
MARGIN:0px 0px 5px;
COLOR:#003399;
FONT-FAMILY:Tahoma;
}
.srch-Title A:link,.srch-Title A:visited{
text-decoration:none;
color:#003399;
}
.srch-Title a:hover{
color:#FF0000;
text-decoration:underline;
}
.srch-URL A:link,.srch-URL A:visited{
color:#008800 !important;
text-decoration:none;
}
.srch-URL a:hover{
color:#FF0000;
text-decoration:underline;
}
.srch-Metadata{
BORDER-TOP:#e0ded5 1px solid;
FONT-SIZE:1.0em;
MARGIN:0px 0px 15px;COLOR:#8c8c8c;
FONT-FAMILY:Tahoma;
}
.srch-dup .srch-Page-bg{
}
.srch-Page{
COLOR:#666666;
FONT-WEIGHT:bold;
FONT-SIZE:1.0em;
FONT-FAMILY:Tahoma;
background-color:#ececec;
text-align:right;
}
.srch-Page A:link,.srch-Page A:visited{
text-decoration:none;
color:#3764a0;
FONT-WEIGHT:normal;
}
.srch-Page a:hover{
color:#FF0000;
}
.srch-dup A:link,.srch-dup A:visited{
COLOR:#517acc
}
.srch-Icon{
margin-right:4;
}
.srch-ActionLink a{
text-decoration:none;
font-size:.85em;
font-style:italic;
color:336699;
margin-top:2;
margin-bottom:0;
}
.srch-ActionLink a:hover{
color:#FF0000;
}
.ms-searchresultstitlearea{
background-image:url("/_layouts/images/pageTitleBKGD.gif");
background-repeat:repeat-x;
background-color:#d6e8ff;
text-align:center;
padding-left:18px;
padding-top:20px;
border-bottom:1px solid #6f9dd9;
height:85px;
}
.ms-searchresultsareaSeparator{
background-color:#d6e8ff;
padding:0px;
}
------------v0R7J6g1aaWINvTDUDfdRA--