PGh0bWw+CjxoZWFkPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUxIj4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9ImNzcy1saW5rLWNoYXJzZXQuY3NzIiBjaGFyc2V0PSJ1dGYtOCI+CjwvaGVhZD4KPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgo8cD5UZXN0IHRvIHNlZSBpZiB0aGUgY2hhcnNldCBwcm9wZXJ0eSBpbiBhIGxpbmsgd29ya3MgcHJvcGVybHkuPC9wPgo8cCBpZD0icmVzdWx0Ij48L3A+CjxzY3JpcHQ+CmZ1bmN0aW9uIHRlc3QoKSB7CiAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKICAgIHRyeSB7CiAgICAgICAgdGV4dCA9IGRvY3VtZW50LnN0eWxlU2hlZXRzWzBdLnJ1bGVzWzBdLnN0eWxlLmNzc1RleHQ7CiAgICAgICAgaWYgKHRleHQubWF0Y2goJy4qU1XR0cVTUy4qJykpCiAgICAgICAgICAgIHJlc3VsdC5pbm5lckhUTUwgPSAiU1VDQ0VTUyI7CiAgICAgICAgZWxzZQogICAgICAgICAgICByZXN1bHQuaW5uZXJIVE1MID0gIkZBSUxVUkU6ICIgKyB0ZXh0OwogICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICByZXN1bHQuaW5uZXJIVE1MID0gIkZBSUxVUkU6ICIgKyBleDsKICAgIH0KfQo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==