시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 256 MB 353 105 50 27.027%

문제

청호는 팩맨 게임을 하던 도중, 갑자기 팩맨이 분열하여 2마리가 되는 것을 보았다. 이 2마리의 팩맨은 서로 다른 위치에 있지만, 청호의 조이스틱 하나의 조작에 똑같이 반응하였다. 팩맨을 북쪽으로 가도록 조작하면 2마리의 팩맨이 모두 북쪽으로 이동하고, 동쪽으로 가도록 조작하면 역시 둘 다 동쪽으로 이동하였다. 그러나 팩맨은 자신의 앞에 벽이 있으면 이동하지 않는다.

팩맨이 두 마리이면 좋은 점이 있었다. 단 한 번의 움직임으로 2개의 점을 먹을 수 있는 것이다. 그러나, 청호는 두 마리를 동시 조작하려다 보니 머리가 아프기 시작했다. 또한 두 마리가 각각 유령에게 잡아먹히지 않게 하는 것도 만만치 않았다. 만약 팩맨이 유령과 마주치면 청호는 라이프를 하나 잃게 된다. 청호는 라이프가 5개뿐이고, 두 번째 팩맨은 죽으면 다시 되살아나지 못하기 때문에 두 팩맨을 최대한 빨리 한 장소로 합치기로 결심했다. 과연 이것이 가능할까?

입력

첫 번째 줄에는 테스트 케이스의 개수 T가 주어진다. 각각의 테스트 케이스에는

  • 첫 번째 줄에 M, N (2 ≤ M, N ≤ 50)이 주어진다. M은 미로의 행 개수, N은 미로의 열 개수를 나타낸다.
  • 다음 M개의 줄에 각각 N개의 문자로 미로가 주어진다. 문자는 {P, X, G, .} 중 하나이며 각각
    • P는 팩맨을 의미한다.
    • X는 벽을 의미한다.
    • G는 유령을 의미한다.
    • .은 빈칸을 의미한다.

각 미로에는 정확히 2마리의 팩맨이 존재한다.

출력

각 테스트 케이스에 대해서 정답을 한 줄에 출력한다. 만약 가능할 경우, 팩맨을 조작해야 하는 최소 횟수를 출력한 후, 그 다음에 조작해야 하는 방향을 순서대로 {N, E, S, W}를 사용하여 출력한다. 각각 북쪽, 동쪽, 남쪽, 서쪽을 의미한다. 정답이 여러 개일 경우 아무거나 출력한다. 만약 팩맨을 합치는 것이 불가능하다면 IMPOSSIBLE을 출력한다.

문제를 단순화하기 위해, 유령은 제자리에 가만히 있는다고 가정한다. 또한 팩맨이 화면 끝에서 밖으로 이동하면, 반대편에서 나타난다고 가정한다.

예제 입력 1

3
2 5
.P...
XG.P.
8 8
X...X.X.
X.......
.XXP...X
..X..X..
.PXXXX..
.......X
........
XXXXXXX.
2 2
P.
GP

예제 출력 1

7 WSEESEE
10 EEESSWWWSS
IMPOSSIBLE
W3sicHJvYmxlbV9pZCI6IjExNDUxIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVkMzI5XHViOWU4IiwiZGVzY3JpcHRpb24iOiI8cD5cdWNjYWRcdWQ2MzhcdWIyOTQgXHVkMzI5XHViOWU4IFx1YWM4Y1x1Yzc4NFx1Yzc0NCBcdWQ1NThcdWIzNTggXHViM2M0XHVjOTExLCBcdWFjMTFcdWM3OTBcdWFlMzAgXHVkMzI5XHViOWU4XHVjNzc0IFx1YmQ4NFx1YzVmNFx1ZDU1OFx1YzVlYyAyXHViOWM4XHViOWFjXHVhYzAwIFx1YjQxOFx1YjI5NCBcdWFjODNcdWM3NDQgXHViY2Y0XHVjNTU4XHViMmU0LiBcdWM3NzQgMlx1YjljOFx1YjlhY1x1Yzc1OCBcdWQzMjlcdWI5ZThcdWM3NDAgXHVjMTFjXHViODVjIFx1YjJlNFx1Yjk3OCBcdWM3MDRcdWNlNThcdWM1ZDAgXHVjNzg4XHVjOWMwXHViOWNjLCBcdWNjYWRcdWQ2MzhcdWM3NTggXHVjODcwXHVjNzc0XHVjMmE0XHVkMmYxIFx1ZDU1OFx1YjA5OFx1Yzc1OCBcdWM4NzBcdWM3OTFcdWM1ZDAgXHViNjExXHVhYzE5XHVjNzc0IFx1YmMxOFx1Yzc1MVx1ZDU1OFx1YzYwMFx1YjJlNC4gXHVkMzI5XHViOWU4XHVjNzQ0IFx1YmQ4MVx1Y2FiZFx1YzczY1x1Yjg1YyBcdWFjMDBcdWIzYzRcdWI4NWQgXHVjODcwXHVjNzkxXHVkNTU4XHViYTc0IDJcdWI5YzhcdWI5YWNcdWM3NTggXHVkMzI5XHViOWU4XHVjNzc0IFx1YmFhOFx1YjQ1MCBcdWJkODFcdWNhYmRcdWM3M2NcdWI4NWMgXHVjNzc0XHViM2Q5XHVkNTU4XHVhY2UwLCBcdWIzZDlcdWNhYmRcdWM3M2NcdWI4NWMgXHVhYzAwXHViM2M0XHViODVkIFx1Yzg3MFx1Yzc5MVx1ZDU1OFx1YmE3NCBcdWM1ZWRcdWMyZGMgXHViNDU4IFx1YjJlNCBcdWIzZDlcdWNhYmRcdWM3M2NcdWI4NWMgXHVjNzc0XHViM2Q5XHVkNTU4XHVjNjAwXHViMmU0LiBcdWFkZjhcdWI3ZWNcdWIwOTggXHVkMzI5XHViOWU4XHVjNzQwIFx1Yzc5MFx1YzJlMFx1Yzc1OCBcdWM1NWVcdWM1ZDAgXHViY2JkXHVjNzc0IFx1Yzc4OFx1YzczY1x1YmE3NCBcdWM3NzRcdWIzZDlcdWQ1NThcdWM5YzAgXHVjNTRhXHViMjk0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWQzMjlcdWI5ZThcdWM3NzQgXHViNDUwIFx1YjljOFx1YjlhY1x1Yzc3NFx1YmE3NCBcdWM4OGJcdWM3NDAgXHVjODEwXHVjNzc0IFx1Yzc4OFx1YzVjOFx1YjJlNC4gXHViMmU4IFx1ZDU1YyBcdWJjODhcdWM3NTggXHVjNmMwXHVjOWMxXHVjNzg0XHVjNzNjXHViODVjIDJcdWFjMWNcdWM3NTggXHVjODEwXHVjNzQ0IFx1YmEzOVx1Yzc0NCBcdWMyMTggXHVjNzg4XHViMjk0IFx1YWM4M1x1Yzc3NFx1YjJlNC4gXHVhZGY4XHViN2VjXHViMDk4LCBcdWNjYWRcdWQ2MzhcdWIyOTQgXHViNDUwIFx1YjljOFx1YjlhY1x1Yjk3YyBcdWIzZDlcdWMyZGMgXHVjODcwXHVjNzkxXHVkNTU4XHViODI0XHViMmU0IFx1YmNmNFx1YjJjOCBcdWJhMzhcdWI5YWNcdWFjMDAgXHVjNTQ0XHVkNTA0XHVhZTMwIFx1YzJkY1x1Yzc5MVx1ZDU4OFx1YjJlNC4gXHViNjEwXHVkNTVjIFx1YjQ1MCBcdWI5YzhcdWI5YWNcdWFjMDAgXHVhYzAxXHVhYzAxIFx1YzcyMFx1YjgzOVx1YzVkMFx1YWM4YyBcdWM3YTFcdWM1NDRcdWJhMzlcdWQ3ODhcdWM5YzAgXHVjNTRhXHVhYzhjIFx1ZDU1OFx1YjI5NCBcdWFjODNcdWIzYzQgXHViOWNjXHViOWNjXHVjZTU4IFx1YzU0YVx1YzU1OFx1YjJlNC4gXHViOWNjXHVjNTdkIFx1ZDMyOVx1YjllOFx1Yzc3NCBcdWM3MjBcdWI4MzlcdWFjZmMgXHViOWM4XHVjOGZjXHVjZTU4XHViYTc0IFx1Y2NhZFx1ZDYzOFx1YjI5NCBcdWI3N2NcdWM3NzRcdWQ1MDRcdWI5N2MgXHVkNTU4XHViMDk4IFx1Yzc4M1x1YWM4YyBcdWI0MWNcdWIyZTQuIFx1Y2NhZFx1ZDYzOFx1YjI5NCBcdWI3N2NcdWM3NzRcdWQ1MDRcdWFjMDAgNVx1YWMxY1x1YmZkMFx1Yzc3NFx1YWNlMCwgXHViNDUwIFx1YmM4OFx1YzlmOCBcdWQzMjlcdWI5ZThcdWM3NDAgXHVjOGZkXHVjNzNjXHViYTc0IFx1YjJlNFx1YzJkYyBcdWI0MThcdWMwYjRcdWM1NDRcdWIwOThcdWM5YzAgXHViYWJiXHVkNTU4XHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCBcdWI0NTAgXHVkMzI5XHViOWU4XHVjNzQ0IFx1Y2Q1Y1x1YjMwMFx1ZDU1YyBcdWJlNjhcdWI5YWMgXHVkNTVjIFx1YzdhNVx1YzE4Y1x1Yjg1YyBcdWQ1NjlcdWNlNThcdWFlMzBcdWI4NWMgXHVhY2IwXHVjMmVjXHVkNTg4XHViMmU0LiBcdWFjZmNcdWM1ZjAgXHVjNzc0XHVhYzgzXHVjNzc0IFx1YWMwMFx1YjJhNVx1ZDU2MFx1YWU0Yz88XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYiBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNWQwXHViMjk0IFx1ZDE0Y1x1YzJhNFx1ZDJiOCBcdWNmMDBcdWM3NzRcdWMyYTRcdWM3NTggXHVhYzFjXHVjMjE4IFRcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWFjMDFcdWFjMDFcdWM3NTggXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1YzVkMFx1YjI5NDxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPlx1Y2NhYiBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNWQwIE0sIE4gKDIgJmxlOyBNLCBOICZsZTsgNTApXHVjNzc0IFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gTVx1Yzc0MCBcdWJiZjhcdWI4NWNcdWM3NTggXHVkNTg5IFx1YWMxY1x1YzIxOCwgTlx1Yzc0MCBcdWJiZjhcdWI4NWNcdWM3NTggXHVjNWY0IFx1YWMxY1x1YzIxOFx1Yjk3YyBcdWIwOThcdWQwYzBcdWIwYjhcdWIyZTQuPFwvbGk+XHJcblx0PGxpPlx1YjJlNFx1Yzc0YyBNXHVhYzFjXHVjNzU4IFx1YzkwNFx1YzVkMCBcdWFjMDFcdWFjMDEgTlx1YWMxY1x1Yzc1OCBcdWJiMzhcdWM3OTBcdWI4NWMgXHViYmY4XHViODVjXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHViYjM4XHVjNzkwXHViMjk0IHtQLCBYLCBHLCAufSBcdWM5MTEgXHVkNTU4XHViMDk4XHVjNzc0XHViYTcwIFx1YWMwMVx1YWMwMVxyXG5cdDx1bD5cclxuXHRcdDxsaT5QXHViMjk0IFx1ZDMyOVx1YjllOFx1Yzc0NCBcdWM3NThcdWJiZjhcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcblx0XHQ8bGk+WFx1YjI5NCBcdWJjYmRcdWM3NDQgXHVjNzU4XHViYmY4XHVkNTVjXHViMmU0LjxcL2xpPlxyXG5cdFx0PGxpPkdcdWIyOTQgXHVjNzIwXHViODM5XHVjNzQ0IFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNC48XC9saT5cclxuXHRcdDxsaT4uXHVjNzQwIFx1YmU0OFx1Y2U3OFx1Yzc0NCBcdWM3NThcdWJiZjhcdWQ1NWNcdWIyZTQuPFwvbGk+XHJcblx0PFwvdWw+XHJcblx0PFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+XHVhYzAxIFx1YmJmOFx1Yjg1Y1x1YzVkMFx1YjI5NCBcdWM4MTVcdWQ2NTVcdWQ3ODggMlx1YjljOFx1YjlhY1x1Yzc1OCBcdWQzMjlcdWI5ZThcdWM3NzQgXHVjODc0XHVjN2FjXHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNWQwIFx1YjMwMFx1ZDU3NFx1YzExYyBcdWM4MTVcdWIyZjVcdWM3NDQgXHVkNTVjIFx1YzkwNFx1YzVkMCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIFx1YjljY1x1YzU3ZCBcdWFjMDBcdWIyYTVcdWQ1NjAgXHVhY2JkXHVjNmIwLCBcdWQzMjlcdWI5ZThcdWM3NDQgXHVjODcwXHVjNzkxXHVkNTc0XHVjNTdjIFx1ZDU1OFx1YjI5NCBcdWNkNWNcdWMxOGMgXHVkNjlmXHVjMjE4XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1YyBcdWQ2YzQsIFx1YWRmOCBcdWIyZTRcdWM3NGNcdWM1ZDAgXHVjODcwXHVjNzkxXHVkNTc0XHVjNTdjIFx1ZDU1OFx1YjI5NCBcdWJjMjlcdWQ1YTVcdWM3NDQgXHVjMjFjXHVjMTFjXHViMzAwXHViODVjIHtOLCBFLCBTLCBXfVx1Yjk3YyBcdWMwYWNcdWM2YTlcdWQ1NThcdWM1ZWMgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWFjMDFcdWFjMDEgXHViZDgxXHVjYWJkLCBcdWIzZDlcdWNhYmQsIFx1YjBhOFx1Y2FiZCwgXHVjMTFjXHVjYWJkXHVjNzQ0IFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNC4gXHVjODE1XHViMmY1XHVjNzc0IFx1YzVlY1x1YjdlYyBcdWFjMWNcdWM3N2MgXHVhY2JkXHVjNmIwIFx1YzU0NFx1YmIzNFx1YWM3MFx1YjA5OCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuIFx1YjljY1x1YzU3ZCBcdWQzMjlcdWI5ZThcdWM3NDQgXHVkNTY5XHVjZTU4XHViMjk0IFx1YWM4M1x1Yzc3NCBcdWJkODhcdWFjMDBcdWIyYTVcdWQ1NThcdWIyZTRcdWJhNzQgSU1QT1NTSUJMRVx1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YmIzOFx1YzgxY1x1Yjk3YyBcdWIyZThcdWMyMWNcdWQ2NTRcdWQ1NThcdWFlMzAgXHVjNzA0XHVkNTc0LCBcdWM3MjBcdWI4MzlcdWM3NDAgXHVjODFjXHVjNzkwXHViOWFjXHVjNWQwIFx1YWMwMFx1YjljY1x1ZDc4OCBcdWM3ODhcdWIyOTRcdWIyZTRcdWFjZTAgXHVhYzAwXHVjODE1XHVkNTVjXHViMmU0LiBcdWI2MTBcdWQ1NWMgXHVkMzI5XHViOWU4XHVjNzc0IFx1ZDY1NFx1YmE3NCBcdWIwNWRcdWM1ZDBcdWMxMWMgXHViYzE2XHVjNzNjXHViODVjIFx1Yzc3NFx1YjNkOVx1ZDU1OFx1YmE3NCwgXHViYzE4XHViMzAwXHVkM2I4XHVjNWQwXHVjMTFjIFx1YjA5OFx1ZDBjMFx1YjA5Y1x1YjJlNFx1YWNlMCBcdWFjMDBcdWM4MTVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsInByb2JsZW1fbGFuZ19jb2RlIjoiXHVkNTVjXHVhZDZkXHVjNWI0In0seyJwcm9ibGVtX2lkIjoiMTE0NTEiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJQYWMtTWFuIiwiZGVzY3JpcHRpb24iOiI8cD5XaGlsZSBwbGF5aW5nIHNvbWUgb2xkLXNjaG9vbCBQYWMtTWFuIGdhbWUsIHlvdSBzdWRkZW5seSBkaXNjb3ZlciB0aGF0IFBhYy1NYW4gaGFzIG1hZ2ljYWxseSBkb3VibGVkIGl0c2VsZi4gVGhlcmUgYXJlIHR3byBQYWMtTWFuIGNoYXJhY3RlcnMgaW4gdGhlIG1hemUsIGF0IGRpZmZlcmVudCBwb3NpdGlvbnMsIGFuZCBib3RoIHJlc3BvbmQgdG8geW91ciBzaW5nbGUgam95c3RpY2suIFdoZW4geW91IG1vdmUgdGhlIGpveXN0aWNrIG5vcnRoLCB0aGV5IGJvdGggZ28gbm9ydGgsIHdoZW4geW91IG1vdmUgaXQgZWFzdCwgdGhleSBib3RoIGdvIGVhc3QsIGV0IGNldGVyYS4gSG93ZXZlciwgdGhlIGNoYXJhY3RlcnMgY2Fubm90IG1vdmUgaW50byAob3IgdGhyb3VnaCkgYSB3YWxsLiBJZiB0aGVyZSBpcyBhIHdhbGwgdG8gdGhlIG5vcnRoIG9mIGEgUGFjLU1hbiBjaGFyYWN0ZXIsIGFuZCB5b3UgbW92ZSB0aGUgam95c3RpY2sgbm9ydGgsIHRoZW4gdGhpcyBwYXJ0aWN1bGFyIGNoYXJhY3RlciBkb2VzIG5vdCBtb3ZlLjxcL3A+XHJcblxyXG48cD5PbiB0aGUgb25lIGhhbmQsIGl0IGlzIGJlbmVmaWNpYWwgdG8gaGF2ZSB0d28gUGFjTWFuIGNoYXJhY3RlcnM6IHRoZXkgY2FuIGVhdCB0d28gcGFjLWRvdHMgaW4gb25lIG1vdmUuJm5ic3A7T24gdGhlIG90aGVyIGhhbmQsIHlvdSBnZXQgdGVycmlibHkgY29uZnVzZWQgZnJvbSBsb29raW5nIGF0IHR3byBjaGFyYWN0ZXJzIGFsbCB0aGUgdGltZS4gQW5kIGl0IGlzIG11Y2ggaGFyZGVyIHRvIHN0YXkgYXdheSBmcm9tIHRoZSBnaG9zdHMgKHRoZSBlbmVtaWVzIGluIHRoZSBnYW1lKSB3aXRoIHR3byBjaGFyYWN0ZXJzIHRoYW4gd2l0aCBvbmUuIElmIGFueSBjaGFyYWN0ZXIgYnVtcHMgaW50byBhIGdob3N0IChvciB0aGUgb3RoZXIgd2F5IHJvdW5kKSwgeW91IGxvc2UgYSBsaWZlLiBCZWNhdXNlIHlvdSBoYXZlIG9ubHkgZml2ZSBsaXZlcywgYW5kIHRoZSBzZWNvbmQgY2hhcmFjdGVyIGRpZCBub3QgZ2V0IHlvdSBhbiBhZGRpdGlvbmFsIGxpZmUsIHlvdSBkZWNpZGUgaXQgd291bGQgYmUgYmVzdCBpZiB5b3UgY291bGQgbW92ZSB0aGUgdHdvIFBhYy1NYW4gY2hhcmFjdGVycyBvbnRvIHRoZSBzYW1lIHBvc2l0aW9uLiBCdXQgaXMgdGhhdCBwb3NzaWJsZT88XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBpbnB1dCBzdGFydHMgd2l0aCBhIGxpbmUgY29udGFpbmluZyBhbiBpbnRlZ2VyIFQsIHRoZSBudW1iZXIgb2YgdGVzdCBjYXNlcy4gVGhlbiBmb3IgZWFjaCB0ZXN0IGNhc2U6PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+QSBsaW5lIGNvbnRhaW5pbmcgdHdvIHNwYWNlLXNlcGFyYXRlZCBpbnRlZ2VycyBNIGFuZCBOIHNhdGlzZnlpbmcgMiAmbGU7IE0sIE4gJmxlOyA1MDogdGhlIGRpbWVuc2lvbnMgb2YgdGhlIG1hemUuPFwvbGk+XHJcblx0PGxpPk0gbGluZXMgZGVzY3JpYmluZyB0aGUgbWF6ZSwgZWFjaCBjb250YWluaW5nIE4gY2hhcmFjdGVycyBmcm9tIHtQLCBYLCBHLCAufSwgd2hlcmVcclxuXHQ8dWw+XHJcblx0XHQ8bGk+UCBpbmRpY2F0ZXMgYSBQYWMtTWFuIGNoYXJhY3Rlciw8XC9saT5cclxuXHRcdDxsaT5YIGluZGljYXRlcyBhIHdhbGwsPFwvbGk+XHJcblx0XHQ8bGk+RyBpbmRpY2F0ZXMgYSBnaG9zdCw8XC9saT5cclxuXHRcdDxsaT4uIGluZGljYXRlcyBhbiBlbXB0eSBwb3NpdGlvbi48XC9saT5cclxuXHQ8XC91bD5cclxuXHQ8XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5UaGVyZSBhcmUgZXhhY3RseSB0d28gb2NjdXJyZW5jZXMgb2YgUCBpbiB0aGUgbWF6ZTxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPkZvciBlYWNoIHRlc3QgY2FzZSwgb3V0cHV0IGEgc2luZ2xlIGxpbmUgY29udGFpbmluZyBhIHBvc2l0aXZlIGludGVnZXIgRCwgYSBzcGFjZSBhbmQgYSBzZXF1ZW5jZSBvZiBEIGNoYXJhY3RlcnMgZnJvbSB7TiwgRSwgUywgV30gKE5vcnRoLCBFYXN0LCBTb3V0aCwgV2VzdCksIGluZGljYXRpbmcgYSBzaG9ydGVzdCBzZXF1ZW5jZSBvZiBqb3lzdGljayBtb3ZlcyB0aGF0IGJyaW5ncyB0aGUgdHdvIFBhYy1NYW4gY2hhcmFjdGVycyBhdCB0aGUgc2FtZSBwb3NpdGlvbiwgd2l0aG91dCBidW1waW5nIGludG8gYSBnaG9zdCB3aXRoIGVpdGhlciBvZiB0aGUgY2hhcmFjdGVycy4gSWYgdGhlcmUgYXJlIG11bHRpcGxlIHNvbHV0aW9ucywgb3V0cHV0IG9uZS4gSWYgdGhlcmUgaXMgbm8gc3VjaCBzZXF1ZW5jZSBvZiBtb3ZlcyBhdCBhbGwsIHRoZW4gb3V0cHV0IHRoZSBzdHJpbmcgSU1QT1NTSUJMRS48XC9wPlxyXG5cclxuPHA+Rm9yIHNpbXBsaWNpdGx5LCB3ZSBhc3N1bWUgdGhhdCB0aGUgZ2hvc3RzIGluIHRoZSBtYXplIGRvIG5vdCBtb3ZlLiBXZSBmdXJ0aGVyIGFzc3VtZSB0aGF0IGEgUGFjLU1hbiBjaGFyYWN0ZXIgY2FuIHN0ZXAgaW4gb25lIG1vdmUgZnJvbSBvbmUgZWRnZSBvZiB0aGUgbWF6ZSB0byB0aGUgY29ycmVzcG9uZGluZyBwb3NpdGlvbiBhdCB0aGUgb3Bwb3NpdGUgZWRnZSBvZiB0aGUgbWF6ZS48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWM2MDFcdWM1YjQifV0=