시간 제한메모리 제한제출정답맞힌 사람정답 비율
5 초 256 MB307079040522.071%

문제

승현의 방은 출입 보안이 철저하다. 승현의 방에 들어가려면 많은 센서가 부착된 복도를 지나가야 한다. 센서는 일정 범위에 사람이나 물체가 감지되면 경보를 울린다.

현석은 매우 민첩한 스파이다. 그는 승현의 방에 있는 어떤 기밀문서를 훔쳐와 달라는 의뢰를 받았고, 실행하기에 앞서 현석은 복도 설계도를 입수했다. 현석은 이 설계도를 보고 자신이 직접 들어갈지, 그게 안 된다면 어느 정도의 로봇을 들여보낼 지 결정해야 한다.

현석은 복도를 2차원적으로 해석하기로 했다. 복도의 좌우 벽은 직선으로, 센서와 센서의 범위는 각각 원의 중심과 그 내부로 대응시켰다. 센서는 복도의 벽에 붙어있거나 복도 중간에 위치해 있으며 그 범위는 복도 양 끝 사이에 적절히 위치해 있다. 현석은 또한 센서 사이를 지나가는 물체를 원으로 가정했다.

센서들의 배치도가 주어져 있을 때, 이 원(현석 혹은 로봇)이 센서에 걸리지 않고 복도를 지나갈 수 있게 하기 위한 원의 최대 반지름을 구하자.

예제 입력을 시각화한 것이다.

입력

첫째 줄에는 테스트 케이스의 개수 T가 주어진다. (1 ≤ T ≤ 100) 그리고,

  • 그 다음 줄에 복도의 너비, 정수 w가 주어진다. (1 ≤ w ≤ 100 000) 복도의 양 벽은 직선 x = 0 과 x = w 로 해석한다.
  • 그 다음 줄에 센서의 개수, 정수 n이 주어진다. (0 ≤ n ≤ 1 000)
  • 그 다음 각 n개의 줄에 센서의 위치, 반지름을 나타내는 정수 x, y, r 이 주어진다. (0 ≤ x ≤ w, -100 000 ≤ y ≤ 100 000 and 1 ≤ r ≤ 100 000)

복도의 양 끝은 y = -∞, y = ∞ 이다. 쉽게 말해 센서들의 범위에서 한참 벗어나있다.

출력

각 테스트 케이스마다 센서에 감지되지 않고 복도를 지나갈 수 있는 원형 물체의 최대 반지름을 부동소수점 실수로 한 줄에 출력한다. 물체는 매우 정밀하게 움직일 수 있다고 가정한다. 만약 들키지 않고 지나가는 게 불가능하다면 0을 출력한다. 답은 소수점 아래 6번째 자리까지 정확해야 한다.

예제 입력 1

3
10
2
2 0 3
7 12 4
10
2
2 0 3
7 8 4
10
2
2 0 3
7 4 4

예제 출력 1

1.5
1.216991
0
W3sicHJvYmxlbV9pZCI6IjkzNzMiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWJjZjVcdWIzYzQgXHViNmFiXHVhZTMwIiwiZGVzY3JpcHRpb24iOiI8cD5cdWMyYjlcdWQ2MDRcdWM3NTggXHViYzI5XHVjNzQwIFx1Y2Q5Y1x1Yzc4NSBcdWJjZjRcdWM1NDhcdWM3NzQgXHVjY2EwXHVjODAwXHVkNTU4XHViMmU0LiZuYnNwO1x1YzJiOVx1ZDYwNFx1Yzc1OCBcdWJjMjlcdWM1ZDAgXHViNGU0XHVjNWI0XHVhYzAwXHViODI0XHViYTc0IFx1YjljZVx1Yzc0MCBcdWMxM2NcdWMxMWNcdWFjMDAgXHViZDgwXHVjYzI5XHViNDFjIFx1YmNmNVx1YjNjNFx1Yjk3YyBcdWM5YzBcdWIwOThcdWFjMDBcdWM1N2MmbmJzcDtcdWQ1NWNcdWIyZTQuIFx1YzEzY1x1YzExY1x1YjI5NCBcdWM3N2NcdWM4MTUgXHViYzk0XHVjNzA0XHVjNWQwIFx1YzBhY1x1Yjc4Y1x1Yzc3NFx1YjA5OCBcdWJiM2NcdWNjYjRcdWFjMDAgXHVhYzEwXHVjOWMwXHViNDE4XHViYTc0IFx1YWNiZFx1YmNmNFx1Yjk3YyBcdWM2YjhcdWI5YjBcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1ZDYwNFx1YzExZFx1Yzc0MCBcdWI5ZTRcdWM2YjAgXHViYmZjXHVjY2E5XHVkNTVjIFx1YzJhNFx1ZDMwY1x1Yzc3NFx1YjJlNC4gXHVhZGY4XHViMjk0IFx1YzJiOVx1ZDYwNFx1Yzc1OCBcdWJjMjlcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YzViNFx1YjVhNCZuYnNwO1x1YWUzMFx1YmMwMFx1YmIzOFx1YzExY1x1Yjk3YyBcdWQ2ZDRcdWNjZDBcdWM2NDAmbmJzcDtcdWIyZWNcdWI3N2NcdWIyOTQgXHVjNzU4XHViOGIwXHViOTdjIFx1YmMxYlx1YzU1OFx1YWNlMCwmbmJzcDtcdWMyZTRcdWQ1ODlcdWQ1NThcdWFlMzBcdWM1ZDAgXHVjNTVlXHVjMTFjIFx1ZDYwNFx1YzExZFx1Yzc0MCBcdWJjZjVcdWIzYzQgXHVjMTI0XHVhY2M0XHViM2M0XHViOTdjIFx1Yzc4NVx1YzIxOFx1ZDU4OFx1YjJlNC4gXHVkNjA0XHVjMTFkXHVjNzQwIFx1Yzc3NCBcdWMxMjRcdWFjYzRcdWIzYzRcdWI5N2MgXHViY2Y0XHVhY2UwIFx1Yzc5MFx1YzJlMFx1Yzc3NCBcdWM5YzFcdWM4MTEgXHViNGU0XHVjNWI0XHVhYzA4XHVjOWMwLCBcdWFkZjhcdWFjOGMgXHVjNTQ4IFx1YjQxY1x1YjJlNFx1YmE3NCBcdWM1YjRcdWIyOTAgXHVjODE1XHViM2M0XHVjNzU4IFx1Yjg1Y1x1YmQwN1x1Yzc0NCBcdWI0ZTRcdWM1ZWNcdWJjZjRcdWIwYmMgXHVjOWMwIFx1YWNiMFx1YzgxNVx1ZDU3NFx1YzU3YyZuYnNwO1x1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVkNjA0XHVjMTFkXHVjNzQwIFx1YmNmNVx1YjNjNFx1Yjk3YyAyXHVjYzI4XHVjNmQwXHVjODAxXHVjNzNjXHViODVjIFx1ZDU3NFx1YzExZFx1ZDU1OFx1YWUzMFx1Yjg1YyBcdWQ1ODhcdWIyZTQuIFx1YmNmNVx1YjNjNFx1Yzc1OCBcdWM4OGNcdWM2YjAgXHViY2JkXHVjNzQwIFx1YzljMVx1YzEyMFx1YzczY1x1Yjg1YywgXHVjMTNjXHVjMTFjXHVjNjQwIFx1YzEzY1x1YzExY1x1Yzc1OCBcdWJjOTRcdWM3MDRcdWIyOTQgXHVhYzAxXHVhYzAxIFx1YzZkMFx1Yzc1OCBcdWM5MTFcdWMyZWNcdWFjZmMgXHVhZGY4Jm5ic3A7XHViMGI0XHViZDgwXHViODVjIFx1YjMwMFx1Yzc1MVx1YzJkY1x1Y2YzMFx1YjJlNC4gXHVjMTNjXHVjMTFjXHViMjk0Jm5ic3A7XHViY2Y1XHViM2M0XHVjNzU4IFx1YmNiZFx1YzVkMCBcdWJkOTlcdWM1YjRcdWM3ODhcdWFjNzBcdWIwOTggXHViY2Y1XHViM2M0IFx1YzkxMVx1YWMwNFx1YzVkMCBcdWM3MDRcdWNlNThcdWQ1NzQmbmJzcDtcdWM3ODhcdWM3M2NcdWJhNzAgXHVhZGY4IFx1YmM5NFx1YzcwNFx1YjI5NCBcdWJjZjVcdWIzYzQgXHVjNTkxIFx1YjA1ZCBcdWMwYWNcdWM3NzRcdWM1ZDAgXHVjODAxXHVjODA4XHVkNzg4IFx1YzcwNFx1Y2U1OFx1ZDU3NCZuYnNwO1x1Yzc4OFx1YjJlNC4gXHVkNjA0XHVjMTFkXHVjNzQwIFx1YjYxMFx1ZDU1YyBcdWMxM2NcdWMxMWMgXHVjMGFjXHVjNzc0XHViOTdjIFx1YzljMFx1YjA5OFx1YWMwMFx1YjI5NCBcdWJiM2NcdWNjYjRcdWI5N2MgXHVjNmQwXHVjNzNjXHViODVjIFx1YWMwMFx1YzgxNVx1ZDU4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjMTNjXHVjMTFjXHViNGU0XHVjNzU4IFx1YmMzMFx1Y2U1OFx1YjNjNFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM4MzggXHVjNzg4XHVjNzQ0IFx1YjU0YywgXHVjNzc0Jm5ic3A7XHVjNmQwKFx1ZDYwNFx1YzExZCBcdWQ2MzlcdWM3NDAgXHViODVjXHViZDA3KVx1Yzc3NCBcdWMxM2NcdWMxMWNcdWM1ZDAgXHVhYzc4XHViOWFjXHVjOWMwIFx1YzU0YVx1YWNlMCBcdWJjZjVcdWIzYzRcdWI5N2MgXHVjOWMwXHViMDk4XHVhYzA4IFx1YzIxOCBcdWM3ODhcdWFjOGMgXHVkNTU4XHVhZTMwIFx1YzcwNFx1ZDU1YyBcdWM2ZDBcdWM3NTggXHVjZDVjXHViMzAwIFx1YmMxOFx1YzljMFx1Yjk4NFx1Yzc0NCBcdWFkNmNcdWQ1NThcdWM3OTAuPFwvcD5cclxuXHJcbjxwPjxpbWcgYWx0PVwiXCIgc3JjPVwiXC91cGxvYWRcL2ltYWdlc1wvdGhyb3VnaC5wbmdcIiBcLz48XC9wPlxyXG5cclxuPHA+XHVjNjA4XHVjODFjIFx1Yzc4NVx1YjgyNVx1Yzc0NCBcdWMyZGNcdWFjMDFcdWQ2NTRcdWQ1NWMgXHVhYzgzXHVjNzc0XHViMmU0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMFx1YjI5NCBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNzU4IFx1YWMxY1x1YzIxOCBUXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gKDEgJmxlOyBUICZsZTsgMTAwKSBcdWFkZjhcdWI5YWNcdWFjZTAsPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+XHVhZGY4IFx1YjJlNFx1Yzc0YyBcdWM5MDRcdWM1ZDAgXHViY2Y1XHViM2M0XHVjNzU4IFx1YjEwOFx1YmU0NCwgXHVjODE1XHVjMjE4IHdcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiZuYnNwOygxICZsZTsgdyAmbGU7IDEwMCAwMDApIFx1YmNmNVx1YjNjNFx1Yzc1OCBcdWM1OTEgXHViY2JkXHVjNzQwIFx1YzljMVx1YzEyMCB4ID0gMCBcdWFjZmMgeCA9IHcgXHViODVjIFx1ZDU3NFx1YzExZFx1ZDU1Y1x1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVhZGY4IFx1YjJlNFx1Yzc0YyBcdWM5MDRcdWM1ZDAgXHVjMTNjXHVjMTFjXHVjNzU4IFx1YWMxY1x1YzIxOCwgXHVjODE1XHVjMjE4IG5cdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiZuYnNwOygwICZsZTsgbiAmbGU7IDEgMDAwKTxcL2xpPlxyXG5cdDxsaT5cdWFkZjggXHViMmU0XHVjNzRjIFx1YWMwMSBuXHVhYzFjXHVjNzU4IFx1YzkwNFx1YzVkMCZuYnNwO1x1YzEzY1x1YzExY1x1Yzc1OCBcdWM3MDRcdWNlNTgsIFx1YmMxOFx1YzljMFx1Yjk4NFx1Yzc0NCBcdWIwOThcdWQwYzBcdWIwYjRcdWIyOTQgXHVjODE1XHVjMjE4Jm5ic3A7eCwgeSwgciBcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiZuYnNwOygwICZsZTsgeCAmbGU7IHcsIC0xMDAgMDAwICZsZTsgeSAmbGU7IDEwMCAwMDAgYW5kIDEgJmxlOyByICZsZTsgMTAwIDAwMCk8XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5cdWJjZjVcdWIzYzRcdWM3NTgmbmJzcDtcdWM1OTEgXHViMDVkXHVjNzQwIHkgPSAtJmluZmluOywgeSA9ICZpbmZpbjsgXHVjNzc0XHViMmU0LiBcdWMyN2RcdWFjOGMgXHViOWQwXHVkNTc0IFx1YzEzY1x1YzExY1x1YjRlNFx1Yzc1OCBcdWJjOTRcdWM3MDRcdWM1ZDBcdWMxMWMgXHVkNTVjXHVjYzM4IFx1YmM5N1x1YzViNFx1YjA5OFx1Yzc4OFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWFjMDEgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1YjljOFx1YjJlNCZuYnNwO1x1YzEzY1x1YzExY1x1YzVkMCBcdWFjMTBcdWM5YzBcdWI0MThcdWM5YzAgXHVjNTRhXHVhY2UwIFx1YmNmNVx1YjNjNFx1Yjk3YyBcdWM5YzBcdWIwOThcdWFjMDggXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWM2ZDBcdWQ2MTUgXHViYjNjXHVjY2I0XHVjNzU4IFx1Y2Q1Y1x1YjMwMCBcdWJjMThcdWM5YzBcdWI5ODRcdWM3NDQmbmJzcDtcdWJkODBcdWIzZDlcdWMxOGNcdWMyMThcdWM4MTAgXHVjMmU0XHVjMjE4XHViODVjJm5ic3A7XHVkNTVjIFx1YzkwNFx1YzVkMCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIFx1YmIzY1x1Y2NiNFx1YjI5NCBcdWI5ZTRcdWM2YjAgXHVjODE1XHViYzAwXHVkNTU4XHVhYzhjIFx1YzZjMFx1YzljMVx1Yzc3YyBcdWMyMTggXHVjNzg4XHViMmU0XHVhY2UwIFx1YWMwMFx1YzgxNVx1ZDU1Y1x1YjJlNC4gXHViOWNjXHVjNTdkIFx1YjRlNFx1ZDBhNFx1YzljMCBcdWM1NGFcdWFjZTAgXHVjOWMwXHViMDk4XHVhYzAwXHViMjk0Jm5ic3A7XHVhYzhjIFx1YmQ4OFx1YWMwMFx1YjJhNVx1ZDU1OFx1YjJlNFx1YmE3NCAwXHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHViMmY1XHVjNzQwIFx1YzE4Y1x1YzIxOFx1YzgxMCZuYnNwO1x1YzU0NFx1Yjc5OCA2XHViYzg4XHVjOWY4Jm5ic3A7XHVjNzkwXHViOWFjXHVhZTRjXHVjOWMwIFx1YzgxNVx1ZDY1NVx1ZDU3NFx1YzU3YyZuYnNwO1x1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiI5MzczIiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiR2V0dGluZyBUaHJvdWdoIiwiZGVzY3JpcHRpb24iOiI8cD5BIGxvbmcgYW5kIHN0cmFpZ2h0IGNvcnJpZG9yIGlzIFx1ZmIwMXR0ZWQgd2l0aCBhIG51bWJlciBvZiBzZW5zb3JzLiBFYWNoIHNlbnNvciBoYXMgYSBjZXJ0YWluIHJhbmdlIHdpdGhpbiB3aGljaCBpdCBjYW4gZGV0ZWN0IG9iamVjdHMgb3IgcGVyc29ucy4gSWYgYSBwYXJ0IG9mIGFuIG9iamVjdCBpcyB3aXRoaW4gdGhlIHNlbnNvciZyc3F1bztzIHJhbmdlLCBhbiBhbGFybSB3aWxsIGdvIG9mZi4gT3RoZXJ3aXNlLCBub3RoaW5nIHdpbGwgaGFwcGVuLjxcL3A+XHJcblxyXG48cD5FdGhhbiBuZWVkcyB0byB0cmF2ZXJzZSB0aGlzIGNvcnJpZG9yIGluIG9yZGVyIHRvIGRvIHNvbWUgc3B5IHN0dWZmIGF0IHRoZSBvdGhlciBlbmQuIFRoZSBxdWVzdGlvbiBpcywgY2FuIGhlIHBhc3MgdGhyb3VnaCB0aGUgY29ycmlkb3Igd2l0aG91dCBiZWluZyBkZXRlY3RlZD8gQ2FuIGhlIFx1ZmIwMXQgc28gZWFzaWx5IHRoYXQgaGUgY2FuIGJyaW5nIHNvbWUgZXF1aXBtZW50IGFsb25nLCBvciBkb2VzIGhlIGhhdmUgdG8gd2VhciBzb21lIHRpZ2h0IGNsb3RoaW5nPyBPciBjYW4gaGUgcGVyaGFwcyBzZW50IGEgcm9ib3QgdGhyb3VnaCBpbnN0ZWFkPzxcL3A+XHJcblxyXG48cD5XZSBtb2RlbCB0aGUgY29ycmlkb3IgYXMgYmVpbmcgdHdvLWRpbWVuc2lvbmFsICh3ZSBpZ25vcmUgdGhlIGhlaWdodCksIGJvdW5kZWQgYnkgdHdvIHN0cmFpZ2h0IGxpbmVzLiBFYWNoIHNlbnNvciBpcyBsb2NhdGVkIGluc2lkZSB0aGUgY29ycmlkb3Igb3Igb24gYSB3YWxsLiBUaGVpciBzY29wZXMgYXJlIHdlbGwgaW4gYmV0d2VlbiB0aGUgdHdvIGVuZHMgb2YgdGhlIGNvcnJpZG9yLiBXZSBtb2RlbCB0aGUgcGVyc29uIG9yIHJvYm90IGdvaW5nIHRocm91Z2ggYXMgYSBjaXJjbGUuIEdpdmVuIHRoZSBsYXlvdXQsIHdoYXQgaXMgdGhlIG1heGltdW0gcmFkaXVzIHRoaXMgY2lyY2xlIGNhbiBoYXZlIHNvIHRoYXQgaXQgaXMgcG9zc2libGUgdG8gbmVnb3RpYXRlIHRoZSBjb3JyaWRvciB3aXRob3V0IGJlaW5nIGRldGVjdGVkPzxcL3A+XHJcblxyXG48cD48aW1nIGFsdD1cIlwiIHNyYz1cIlwvdXBsb2FkXC9pbWFnZXNcL3Rocm91Z2gucG5nXCIgc3R5bGU9XCJoZWlnaHQ6MjQ3cHg7IHdpZHRoOjQxOHB4XCIgXC8+PFwvcD5cclxuXHJcbjxwPkEgdmlzdWFsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBzYW1wbGVzLjxcL3A+XHJcblxyXG48cD4mbmJzcDs8XC9wPlxyXG4iLCJpbnB1dCI6IjxwPk9uIHRoZSBcdWZiMDFyc3QgbGluZSBvbmUgcG9zaXRpdmUgbnVtYmVyOiB0aGUgbnVtYmVyIG9mIHRlc3QgY2FzZXMsIGF0IG1vc3QgMTAwLiBBZnRlciB0aGF0IHBlciB0ZXN0IGNhc2U6PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+b25lIGxpbmUgd2l0aCBhIHNpbmdsZSBpbnRlZ2VyIHcgKDEgJmxlOyB3ICZsZTsgMTAwIDAwMCk6IHRoZSB3aWR0aCBvZiB0aGUgY29ycmlkb3IuIFRoZSB0d28gd2FsbHMgYXJlIGdpdmVuIGJ5IHRoZSBsaW5lcyB4ID0gMCBhbmQgeCA9IHcuPFwvbGk+XHJcblx0PGxpPm9uZSBsaW5lIHdpdGggYSBzaW5nbGUgaW50ZWdlciBuICgwICZsZTsgbiAmbGU7IDEgMDAwKTogdGhlIG51bWJlciBvZiBzZW5zb3JzIGluIHRoZSBjb3JyaWRvci48XC9saT5cclxuXHQ8bGk+biBsaW5lcyB3aXRoIHRocmVlIHNwYWNlLXNlcGFyYXRlZCBpbnRlZ2VycyB4LCB5IGFuZCByICgwICZsZTsgeCAmbGU7IHcsIC0xMDAgMDAwICZsZTsgeSAmbGU7IDEwMCAwMDAgYW5kIDEgJmxlOyByICZsZTsgMTAwIDAwMCk6IHRoZSBsb2NhdGlvbiBhbmQgdGhlIHJhbmdlIG9mIGVhY2ggc2Vuc29yLCByZXNwZWN0aXZlbHkuPFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+VGhlIHR3byBlbmRzIG9mIHRoZSBjb3JyaWRvciBhcmUgYXQgeSA9IC0maW5maW47IGFuZCB5ID0gKyZpbmZpbjssIG9yIGluIGxlc3MgdGVjaG5pY2FsIHRlcm1zLCB0aGV5IGFyZSBmYXIgYmV5b25kIHRoZSBzY29wZSBvZiBhbGwgdGhlIHNlbnNvcnMuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+UGVyIHRlc3QgY2FzZTo8XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5vbmUgbGluZSB3aXRoIG9uZSBcdWZiMDJvYXRpbmcgcG9pbnQgbnVtYmVyOiB0aGUgcmFkaXVzIG9mIHRoZSBsYXJnZXN0IGNpcmN1bGFyIG9iamVjdCAob3IgcGVyc29uKSB0aGF0IGNvdWxkIHBhc3MgdGhyb3VnaCB0aGUgY29ycmlkb3Igd2l0aG91dCBiZWluZyBkZXRlY3RlZCwgYXNzdW1pbmcgdGhlIG9iamVjdCBjYW4gKGJlKSBtb3ZlKGQpIHdpdGggYWJzb2x1dGUgcHJlY2lzaW9uLiBJZiBub3RoaW5nIGNvdWxkIHBvc3NpYmx5IGdldCB0aHJvdWdoLCB0aGUgb3V0cHV0IHNob3VsZCBiZSB6ZXJvLiBUaGUgbnVtYmVyIHNob3VsZCBiZSBhY2N1cmF0ZSB1cCB0byAxMDxzdXA+LTY8XC9zdXA+IGFic29sdXRlIHByZWNpc2lvbi48XC9saT5cclxuPFwvdWw+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=