PHNjcmlwdD4KICAoZnVuY3Rpb24odyxkLHMsbCxpKXsKICAgICAgICBpZiAo d2luZG93Ll9kaWRBc3luY0luamVjdEdvb2dsZVRhZ01hbmFnZXIpIHJldHVy bjsKICAgICAgICB3W2xdPXdbbF18fFtdO3dbbF0ucHVzaCh7J2d0bS5zdGFy dCc6CiAgICAgICAgbmV3IERhdGUoKS5nZXRUaW1lKCksZXZlbnQ6J2d0bS5q cyd9KTt2YXIgZj1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKHMpWzBdLAogICAg ICAgIGo9ZC5jcmVhdGVFbGVtZW50KHMpLGRsPWwhPSdkYXRhTGF5ZXInPycm bD0nK2w6Jyc7ai5hc3luYz10cnVlO2ouc3JjPQogICAgICAgICdodHRwczov L3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanM / aWQ9JytpK2RsKycm Z3RtX2F1dGg9JysnS2hINmhlQ3BvV0pVSG5xVnpkRWE3dycrCiAgICAgICAg JyZndG1fcHJldmlldz0nKydlbnYtMScrJyZndG1fY29va2llc193aW49eCc7 Zi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShqLGYpOwogICAgICAgIHdpbmRv dy5fZGlkQXN5bmNJbmplY3RHb29nbGVUYWdNYW5hZ2VyID0gdHJ1ZTsKICAg ICAgfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCdkYXRhTGF5ZXInLCdH VE0tTUY2UFhYQycpOwo8L3NjcmlwdD4KPG5vc2NyaXB0Pgo8aWZyYW1lIGhl aWdodD0nMCcgc3JjPSdodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNv bS9ucy5odG1sP2lkPUdUTS1NRjZQWFhDJmFtcDtndG1fYXV0aD1LaEg2aGVD cG9XSlVIbnFWemRFYTd3Jm Ft cDtndG1fcHJldmlldz1lbnYtMSZhbXA7Z3Rt X2Nvb2tpZXNfd2luPXgnIHN0eWxlPSdkaXNwbGF5Om5vbmU7dmlzaWJpbGl0 eTpoaWRkZW4nIcHrccm4nIcLmzcm4nIcLmzcm4nIcLmzcm4nIctlcm4nIctlcm4nIctlcm4nIctlcm4nIctlcm
PHNjcmlwdD4KICAoZnVuY3Rpb24odyxkLHMsbCxpKXsKICAgICAgICBpZiAo d2luZG93Ll9kaWRBc3luY0luamVjdEdvb2dsZVRhZ01hbmFnZXIpIHJldHVy bjsKICAgICAgICB3W2xdPXdbbF18fFtdO3dbbF0ucHVzaCh7J2d0bS5zdGFy dCc6CiAgICAgICAgbmV3IERhdGUoKS5nZXRUaW1lKCksZXZlbnQ6J2d0bS5q cyd9KTt2YXIgZj1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKHMpWzBdLAogICAg ICAgIGo9ZC5jcmVhdGVFbGVtZW50KHMpLGRsPWwhPSdkYXRhTGF5ZXInPycm bD0nK2w6Jyc7ai5hc3luYz10cnVlO2ouc3JjPQogICAgICAgICdodHRwczov L3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndG0uanM / aWQ9JytpK2RsKycm Z3RtX2F1dGg9JysnS2hINmhlQ3BvV0pVSG5xVnpkRWE3dycrCiAgICAgICAg JyZndG1fcHJldmlldz0nKydlbnYtMScrJyZndG1fY29va2llc193aW49eCc7 Zi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShqLGYpOwogICAgICAgIHdpbmRv dy5fZGlkQXN5bmNJbmplY3RHb29nbGVUYWdNYW5hZ2VyID0gdHJ1ZTsKICAg ICAgfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCdkYXRhTGF5ZXInLCdH VE0tTUY2UFhYQycpOwo8L3NjcmlwdD4KPG5vc2NyaXB0Pgo8aWZyYW1lIGhl aWdodD0nMCcgc3JjPSdodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNv bS9ucy5odG1sP2lkPUdUTS1NRjZQWFhDJmFtcDtndG1fYXV0aD1LaEg2aGVD cG9XSlVIbnFWemRFYTd3Jm Ft cDtndG1fcHJldmlldz1lbnYtMSZhbXA7Z3Rt X2Nvb2tpZXNfd2luPXgnIHN0eWxlPSdkaXNwbGF5Om5vbmU7dmlzaWJpbGl0 eTpoaWRkZW4nIcHrccm4nIcLmzcm4nIcLmzcm4nIcLmzcm4nIctlcm4nIctlcm4nIctlcm4nIctlcm4nIctlcm

Offside!
PCEtLSBCZWdpbiBjb21TY29yZSBUYWcgLS0 + Cgo8c2NyaXB0PgogIHZhciBf Y29tc2NvcmUgPSBfY29tc2NvcmUgfHwgW107CiAgX2NvbXNjb3JlLnB1c2go ewogICAgYzE6ICIyIiwKICAgIGMyOiAiNzI0MTQ2OSIsCiAgICBjNTogIjIw MjI3MzMxMzciLAogICAgYzc6ICJodHRwczovL3B1cmR1ZS5yaXZhbHMuY29t L25ld3MvbWFja2V5LWFyZW5hLXRvLXVuZGVyZ28tNi03LW1pbGxpb24tcmVu b3ZhdGlvbiIKICB9KTsKICAoZnVuY3Rpb24oKSB7CiAgICB2YXIgcyA9IGRv Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLCBlbCA9IGRvY3VtZW50 LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsgcy5hc3luYyA9 IHRydWU7CiAgICAvLyBsb2FkaW5nIHRoZSBldmVyZ3JlZW4gdmVyc2lvbiBv ZiBjcy5qcyBzbyB3ZSBhbHdheXMgaGF2ZSB0aGUgbGFzdCB2ZXJzaW9uCiAg ICBzLnNyYyA9ICJodHRwczovL3MueWltZy5jb20vY3gvdnptL2NzLmpzIjsK ICAgIGVsLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHMsIGVsKTsKICB9KSgp Owo8L3NjcmlwdD4KCjxub3NjcmlwdD4KICA8aW1nIHNyYz0iaHR0cHM6Ly9z Yi5zY29yZWNhcmRyZXNlYXJjaC5jb20vcD9jMT0yJmMyPTcyNDE0NjkmYzc9 aHR0cHMlM0ElMkYlMkZwdXJkdWUucml2YWxzLmNvbSUyRm5ld3MlMkZtYWNr ZXktYXJlbmEtdG8tdW5kZXJnby02LTctbWlsbGlvbi1yZW5vdmF0aW9uJmM1 PTIwMjI3MzMxMzcmY3Y9Mi 4w JmNqPTEmY3NfdWNmcj0wIiAvPgo8L25vc2Ny aXB0Pgo8IS0tIEVuZCBjb21TY29yZSBUYWcgLS0 + CgoK