PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDtjaGFyc2V0PWtvaTgtciI+Cjxib2R5Pgo8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjA5OSI+YnVnIDEyMDk5PC9hPjoKWE1MSHR0cFJlcXVlc3Qgc2hvdWxkbid0IGhvbm9yIGEgY2hhcnNldCBzcGVjaWZpZWQgdmlhIHNldFJlcXVlc3RIZWFkZXIuPC9wPgo8ZGl2IGlkPXJlc3VsdD5GQUlMOiBzY3JpcHQgZGlkbid0IHJ1biB0byBjb21wbGV0aW9uLjwvZGl2Pgo8c2NyaXB0PgoKICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwoKICAgIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKICAgIHJlcS5vcGVuKCJQT1NUIiwgInJlc291cmNlcy9wb3N0LWVjaG8tYXMtdXRmLTguY2dpIiwgZmFsc2UpOwogICAgcmVxLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L3BsYWluOyBjaGFyc2V0PSd3aW5kb3dzLTEyNTEnIik7CiAgICByZXEuc2VuZCgi8NLP18XSy8EiKTsKICAgIGlmIChyZXEucmVzcG9uc2VUZXh0ID09ICLw0s/XxdLLwSIpCiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmZpcnN0Q2hpbGQuZGF0YSA9ICJTVUNDRVNTIjsKICAgIGVsc2UKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuZmlyc3RDaGlsZC5kYXRhID0gIkZBSUxVUkU6ICciICsgcmVxLnJlc3BvbnNlVGV4dCArICInIjsKCjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4K