PHNjcmlwdD4KICAoZnVuY3Rpb24odyxkLHMsbCxpKXsKICAgICAgICBpZiAo
d2luZG93Ll9kaWRBc3luY0luamVjdEdvb2dsZVRhZ01hbmFnZXIpIHJldHVy
bjsKICAgICAgICB3W2xdPXdbbF18fFtdO3dbbF0ucHVzaCh7J2d0bS5zdGFy
dCc6CiAgICAgICAgbmV3IERhdGUoKS5nZXRUaW1lKCksZXZlbnQ6J2d0bS5q
cyd9KTt2YXIgZj1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKHMpWzBdLAogICAg
ICAgIGo9ZC5jcmVhdGVFbGVtZW50KHMpLGRsPWwhPSdkYXRhTGF5ZXInPycm
bD0nK2w6Jyc7ai5hc3luYz10cnVlO2ouc3JjPQogICAgICAgICdodHRwczov
L3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanM/aWQ9JytpK2RsKycm
Z3RtX2F1dGg9JysnS2hINmhlQ3BvV0pVSG5xVnpkRWE3dycrCiAgICAgICAg
JyZndG1fcHJldmlldz0nKydlbnYtMScrJyZndG1fY29va2llc193aW49eCc7
Zi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShqLGYpOwogICAgICAgIHdpbmRv
dy5fZGlkQXN5bmNJbmplY3RHb29nbGVUYWdNYW5hZ2VyID0gdHJ1ZTsKICAg
ICAgfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCdkYXRhTGF5ZXInLCdH
VE0tTUY2UFhYQycpOwo8L3NjcmlwdD4KPG5vc2NyaXB0Pgo8aWZyYW1lIGhl
aWdodD0nMCcgc3JjPSdodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNv
bS9ucy5odG1sP2lkPUdUTS1NRjZQWFhDJmFtcDtndG1fYXV0aD1LaEg2aGVD
cG9XSlVIbnFWemRFYTd3JmFtcDtndG1fcHJldmlldz1lbnYtMSZhbXA7Z3Rt
X2Nvb2tpZXNfd2luPXgnIHN0eWxlPSdkaXNwbGF5Om5vbmU7dmlzaWJpbGl0
eTpoaWRkZW4nIHdpZHRoPScwJz48L2lmcmFtZT4KPC9ub3NjcmlwdD4KCgo=
PCEtLSBCZWdpbiBjb21TY29yZSBUYWcgLS0+Cgo8c2NyaXB0PgogIHZhciBf
Y29tc2NvcmUgPSBfY29tc2NvcmUgfHwgW107CiAgX2NvbXNjb3JlLnB1c2go
ewogICAgYzE6ICIyIiwKICAgIGMyOiAiNzI0MTQ2OSIsCiAgICBjNTogIjIw
MjI3NDYxMjMiLAogICAgYzc6ICJodHRwczovL21pc3Npc3NpcHBpc3RhdGUu
cml2YWxzLmNvbS9tb3JlX25ld3MiCiAgfSk7CiAgKGZ1bmN0aW9uKCkgewog
ICAgdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSwg
ZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iilb
MF07IHMuYXN5bmMgPSB0cnVlOwogICAgLy8gbG9hZGluZyB0aGUgZXZlcmdy
ZWVuIHZlcnNpb24gb2YgY3MuanMgc28gd2UgYWx3YXlzIGhhdmUgdGhlIGxh
c3QgdmVyc2lvbgogICAgcy5zcmMgPSAiaHR0cHM6Ly9zLnlpbWcuY29tL2N4
L3Z6bS9jcy5qcyI7CiAgICBlbC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShz
LCBlbCk7CiAgfSkoKTsKPC9zY3JpcHQ+Cgo8bm9zY3JpcHQ+CiAgPGltZyBz
cmM9Imh0dHBzOi8vc2Iuc2NvcmVjYXJkcmVzZWFyY2guY29tL3A/YzE9MiZj
Mj03MjQxNDY5JmM3PWh0dHBzJTNBJTJGJTJGbWlzc2lzc2lwcGlzdGF0ZS5y
aXZhbHMuY29tJTJGbW9yZV9uZXdzJmM1PTIwMjI3NDYxMjMmY3Y9Mi4wJmNq
PTEmY3NfdWNmcj0wIiAvPgo8L25vc2NyaXB0Pgo8IS0tIEVuZCBjb21TY29y
ZSBUYWcgLS0+CgoK