시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
3 초 128 MB 3 1 1 100.000%

문제

바이트랜드에서 벌어졌던 오랜 전쟁이 끝났다. 정부에서는 가장 먼저 교통 수단부터 복구하기로 결정하였다.

바이트랜드는 두 개의 섬으로 이루어져 있다.

전쟁 이전, 각 섬 내의 모든 도시들은 하나의 양방향 선로로 서로 직접 연결되어 있었으며, 전쟁 도중 몇 개의 선로가 파괴되었다. 전쟁 도중 파괴된 선로는 15개를 넘지 않는다.

전쟁 이전까지만 해도 두 섬간의 교류는 불가능했으나, 이번 복구작업을 마친 후 두 섬 사이를 왕복하는 페리선을 놓아 바이트랜드의 모든 도시들이 하나의 항로 혹은 선로로 연결되게 하려고 한다.

즉, 같은 섬에 있지 않은 모든 서로 다른 두 도시 쌍의 사이에는 페리선 항로가 존재해야 하며, 같은 섬에 있는 모든 서로 다른 두 도시 쌍의 사이에는 열차 선로가 존재해야 한다.

바이트랜드에서는 모든 것이 이진수로 표기된다. 당연히 모든 기차 티켓과 페리선 티켓의 가격 또한 0 또는 1원이다.

우선 정부에서는 파괴되지 않은 선로들에 매겨져 있던 티켓 가격은 그대로 쓰기로 결정하였다.

또한 이번에 새로 복구할 선로와 새로 만들 페리선 항로에 대하여 항상 다음과 같은 규칙이 성립하도록 하려고 한다.

어떤 서로 다른 세 도시 X, Y, Z가 있을 때, 두 도시를 직접 잇는 선로 혹은 항로의 티켓 가격이 C라 하면

C(X, Y) + C(Y, Z) ≥ C(X, Z)

즉, 직행 경로의 비용은 항상 다른 도시를 경유한 경로보다 저렴하거나 같은 비용을 가져야 한다.

바이트랜드의 두 섬의 도로 정보가 주어졌을 때, 규칙에 맞게 도로와 항로를 복구하고 개설할 수 있는지 판정하고, 만일 가능하다면 바이트랜드의 최종 교통 계획은 어떻게 될지 직접 구해보자.

입력

첫 줄에 테스트 케이스의 수 T가 주어진다. ( 1 ≤ T ≤ 100 )

각 테스트 케이스는 다음과 같이 구성된다.

  • C1 : 바이트랜드의 첫 섬에 있는 도시 수 ( 1 ≤ C1 ≤ 100 )
  • 이어 C1줄에 걸쳐 C1개의 문자, 0 또는 1 또는 x : i번째 줄의 j번째 값이 0이라면 i번 도시와 j번 도시를 잇는 선로의 티켓 가격이 0인 것이며, 1일 경우엔 티켓 가격이 1, x인 경우엔 전쟁 도중 파괴된 선로임을 의미한다.
  • C2 : 바이트랜드의 두 번째 섬에 있는 도시 수 ( 1 ≤ C2 ≤ 100 )
  • 이어 C2줄에 걸쳐 C2개의 문자, 0 또는 1 또는 x : 첫 섬에서의 입력 형식과 동일.

주어지는 표는 항상 대각선 대칭이며, i번째 행 i번째 열의 값은 항상 0이다.

각각의 주어지는 표에서 x의 개수는 합해서 30개를 넘지 않는다. (표는 항상 대칭이므로 파괴된 도로 하나당 x가 두 개씩 표에 출현한다.)

입력에서 파괴되지 않은 도로들이 이미 규칙을 지키지 않고 있을 수 있음에 주의하라.

출력

각 테스트 케이스마다, 규칙에 맞게 교통 계획을 세울 수 있다면 YES를, 불가능하다면 NO를 출력한다.

YES를 출력할 경우, 이어 C 1 + C2줄에 걸쳐 C1 + C2개의 문자로 최종 교통 계획을 출력한다. 이 때, 섬 1의 도시는 1부터 C1까지의 번호를 가지며, 섬 2의 도시는 C1 + 1번부터 C2번까지의 번호를 갖는다. 이 조건 하에서, i번째 행의 j번째 열의 숫자는 i번 도시와 j번 도시를 잇는 선로/항로의 티켓 가격이 되어야 한다. (0 또는 1)

결과는 대칭 행렬이어야 하며, 조건을 만족하는 선로/항로 배치가 여러 가지인 경우 그 중 아무 것이나 출력한다.

예제 입력 1

2
3
011
10x
1x0
2
01
10
2
0x
x0
4
010x
1010
0100
x000

예제 출력 1

YES
01101
10011
10011
01101
11110
NO
W3sicHJvYmxlbV9pZCI6Ijk1NTQiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWMxMmMgXHVjNWYwXHVhY2IwXHVkNTU4XHVhZTMwIiwiZGVzY3JpcHRpb24iOiI8cD5cdWJjMTRcdWM3NzRcdWQyYjhcdWI3OWNcdWI0ZGNcdWM1ZDBcdWMxMWMgXHViYzhjXHVjNWI0XHVjODRjXHViMzU4IFx1YzYyNFx1Yjc5YyBcdWM4MDRcdWM3YzFcdWM3NzQgXHViMDVkXHViMGFjXHViMmU0LiBcdWM4MTVcdWJkODBcdWM1ZDBcdWMxMWNcdWIyOTQgXHVhYzAwXHVjN2E1IFx1YmEzY1x1YzgwMCBcdWFkNTBcdWQxYjUgXHVjMjE4XHViMmU4XHViZDgwXHVkMTMwIFx1YmNmNVx1YWQ2Y1x1ZDU1OFx1YWUzMFx1Yjg1YyBcdWFjYjBcdWM4MTVcdWQ1NThcdWM2MDBcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YmMxNFx1Yzc3NFx1ZDJiOFx1Yjc5Y1x1YjRkY1x1YjI5NCBcdWI0NTAgXHVhYzFjXHVjNzU4IFx1YzEyY1x1YzczY1x1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM4MzggXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM4MDRcdWM3YzEgXHVjNzc0XHVjODA0LCBcdWFjMDEgXHVjMTJjIFx1YjBiNFx1Yzc1OCBcdWJhYThcdWI0ZTAgXHViM2M0XHVjMmRjXHViNGU0XHVjNzQwIFx1ZDU1OFx1YjA5OFx1Yzc1OCBcdWM1OTFcdWJjMjlcdWQ1YTUgXHVjMTIwXHViODVjXHViODVjIFx1YzExY1x1Yjg1YyBcdWM5YzFcdWM4MTEgXHVjNWYwXHVhY2IwXHViNDE4XHVjNWI0IFx1Yzc4OFx1YzVjOFx1YzczY1x1YmE3MCwgXHVjODA0XHVjN2MxIFx1YjNjNFx1YzkxMSBcdWJhODcgXHVhYzFjXHVjNzU4IFx1YzEyMFx1Yjg1Y1x1YWMwMCBcdWQzMGNcdWFkMzRcdWI0MThcdWM1YzhcdWIyZTQuIFx1YzgwNFx1YzdjMSBcdWIzYzRcdWM5MTEgXHVkMzBjXHVhZDM0XHViNDFjIFx1YzEyMFx1Yjg1Y1x1YjI5NCAxNVx1YWMxY1x1Yjk3YyBcdWIxMThcdWM5YzAgXHVjNTRhXHViMjk0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM4MDRcdWM3YzEgXHVjNzc0XHVjODA0XHVhZTRjXHVjOWMwXHViOWNjIFx1ZDU3NFx1YjNjNCBcdWI0NTAgXHVjMTJjXHVhYzA0XHVjNzU4IFx1YWQ1MFx1Yjk1OFx1YjI5NCBcdWJkODhcdWFjMDBcdWIyYTVcdWQ1ODhcdWM3M2NcdWIwOTgsIFx1Yzc3NFx1YmM4OCBcdWJjZjVcdWFkNmNcdWM3OTFcdWM1YzVcdWM3NDQgXHViOWM4XHVjZTVjIFx1ZDZjNCBcdWI0NTAgXHVjMTJjIFx1YzBhY1x1Yzc3NFx1Yjk3YyBcdWM2NTVcdWJjZjVcdWQ1NThcdWIyOTQgXHVkMzk4XHViOWFjXHVjMTIwXHVjNzQ0IFx1YjE5M1x1YzU0NCBcdWJjMTRcdWM3NzRcdWQyYjhcdWI3OWNcdWI0ZGNcdWM3NTggXHViYWE4XHViNGUwIFx1YjNjNFx1YzJkY1x1YjRlNFx1Yzc3NCBcdWQ1NThcdWIwOThcdWM3NTggXHVkNTZkXHViODVjIFx1ZDYzOVx1Yzc0MCBcdWMxMjBcdWI4NWNcdWI4NWMgXHVjNWYwXHVhY2IwXHViNDE4XHVhYzhjIFx1ZDU1OFx1YjgyNFx1YWNlMCBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Yzk4OSwgXHVhYzE5XHVjNzQwIFx1YzEyY1x1YzVkMCBcdWM3ODhcdWM5YzAgXHVjNTRhXHVjNzQwIFx1YmFhOFx1YjRlMCBcdWMxMWNcdWI4NWMgXHViMmU0XHViOTc4IFx1YjQ1MCBcdWIzYzRcdWMyZGMgXHVjMzBkXHVjNzU4IFx1YzBhY1x1Yzc3NFx1YzVkMFx1YjI5NCBcdWQzOThcdWI5YWNcdWMxMjAgXHVkNTZkXHViODVjXHVhYzAwIFx1Yzg3NFx1YzdhY1x1ZDU3NFx1YzU3YyBcdWQ1NThcdWJhNzAsIFx1YWMxOVx1Yzc0MCBcdWMxMmNcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YmFhOFx1YjRlMCBcdWMxMWNcdWI4NWMgXHViMmU0XHViOTc4IFx1YjQ1MCBcdWIzYzRcdWMyZGMgXHVjMzBkXHVjNzU4IFx1YzBhY1x1Yzc3NFx1YzVkMFx1YjI5NCBcdWM1ZjRcdWNjMjggXHVjMTIwXHViODVjXHVhYzAwIFx1Yzg3NFx1YzdhY1x1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YmMxNFx1Yzc3NFx1ZDJiOFx1Yjc5Y1x1YjRkY1x1YzVkMFx1YzExY1x1YjI5NCBcdWJhYThcdWI0ZTAgXHVhYzgzXHVjNzc0IFx1Yzc3NFx1YzljNFx1YzIxOFx1Yjg1YyBcdWQ0NWNcdWFlMzBcdWI0MWNcdWIyZTQuIFx1YjJmOVx1YzVmMFx1ZDc4OCBcdWJhYThcdWI0ZTAgXHVhZTMwXHVjYzI4IFx1ZDJmMFx1Y2YxM1x1YWNmYyBcdWQzOThcdWI5YWNcdWMxMjAgXHVkMmYwXHVjZjEzXHVjNzU4IFx1YWMwMFx1YWNhOSBcdWI2MTBcdWQ1NWMgMCBcdWI2MTBcdWIyOTQgMVx1YzZkMFx1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNmIwXHVjMTIwIFx1YzgxNVx1YmQ4MFx1YzVkMFx1YzExY1x1YjI5NCBcdWQzMGNcdWFkMzRcdWI0MThcdWM5YzAgXHVjNTRhXHVjNzQwIFx1YzEyMFx1Yjg1Y1x1YjRlNFx1YzVkMCBcdWI5ZTRcdWFjYThcdWM4MzggXHVjNzg4XHViMzU4IFx1ZDJmMFx1Y2YxMyBcdWFjMDBcdWFjYTlcdWM3NDAgXHVhZGY4XHViMzAwXHViODVjIFx1YzRmMFx1YWUzMFx1Yjg1YyBcdWFjYjBcdWM4MTVcdWQ1NThcdWM2MDBcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjYxMFx1ZDU1YyBcdWM3NzRcdWJjODhcdWM1ZDAgXHVjMGM4XHViODVjIFx1YmNmNVx1YWQ2Y1x1ZDU2MCBcdWMxMjBcdWI4NWNcdWM2NDAgXHVjMGM4XHViODVjIFx1YjljY1x1YjRlNCBcdWQzOThcdWI5YWNcdWMxMjAgXHVkNTZkXHViODVjXHVjNWQwIFx1YjMwMFx1ZDU1OFx1YzVlYyBcdWQ1NmRcdWMwYzEgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1Yzc0MCBcdWFkZGNcdWNlNTlcdWM3NzQgXHVjMTMxXHViOWJkXHVkNTU4XHViM2M0XHViODVkIFx1ZDU1OFx1YjgyNFx1YWNlMCBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzViNFx1YjVhNCBcdWMxMWNcdWI4NWMgXHViMmU0XHViOTc4IFx1YzEzOCBcdWIzYzRcdWMyZGMgWCwgWSwgWlx1YWMwMCBcdWM3ODhcdWM3NDQgXHViNTRjLCBcdWI0NTAgXHViM2M0XHVjMmRjXHViOTdjIFx1YzljMVx1YzgxMSBcdWM3ODdcdWIyOTQgXHVjMTIwXHViODVjIFx1ZDYzOVx1Yzc0MCBcdWQ1NmRcdWI4NWNcdWM3NTggXHVkMmYwXHVjZjEzIFx1YWMwMFx1YWNhOVx1Yzc3NCBDXHViNzdjIFx1ZDU1OFx1YmE3NDxcL3A+XHJcblxyXG48cD5DKFgsIFkpICsgQyhZLCBaKSAmZ2U7IEMoWCwgWik8XC9wPlxyXG5cclxuPHA+XHVjOTg5LCBcdWM5YzFcdWQ1ODkgXHVhY2JkXHViODVjXHVjNzU4IFx1YmU0NFx1YzZhOVx1Yzc0MCBcdWQ1NmRcdWMwYzEgXHViMmU0XHViOTc4IFx1YjNjNFx1YzJkY1x1Yjk3YyBcdWFjYmRcdWM3MjBcdWQ1NWMgXHVhY2JkXHViODVjXHViY2Y0XHViMmU0IFx1YzgwMFx1YjgzNFx1ZDU1OFx1YWM3MFx1YjA5OCBcdWFjMTlcdWM3NDAgXHViZTQ0XHVjNmE5XHVjNzQ0IFx1YWMwMFx1YzgzOFx1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YmMxNFx1Yzc3NFx1ZDJiOFx1Yjc5Y1x1YjRkY1x1Yzc1OCBcdWI0NTAgXHVjMTJjXHVjNzU4IFx1YjNjNFx1Yjg1YyBcdWM4MTVcdWJjZjRcdWFjMDAgXHVjOGZjXHVjNWI0XHVjODRjXHVjNzQ0IFx1YjU0YywgXHVhZGRjXHVjZTU5XHVjNWQwIFx1YjlkZVx1YWM4YyBcdWIzYzRcdWI4NWNcdWM2NDAgXHVkNTZkXHViODVjXHViOTdjIFx1YmNmNVx1YWQ2Y1x1ZDU1OFx1YWNlMCBcdWFjMWNcdWMxMjRcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjI5NFx1YzljMCBcdWQzMTBcdWM4MTVcdWQ1NThcdWFjZTAsIFx1YjljY1x1Yzc3YyBcdWFjMDBcdWIyYTVcdWQ1NThcdWIyZTRcdWJhNzQgXHViYzE0XHVjNzc0XHVkMmI4XHViNzljXHViNGRjXHVjNzU4IFx1Y2Q1Y1x1Yzg4NSBcdWFkNTBcdWQxYjUgXHVhY2M0XHVkNjhkXHVjNzQwIFx1YzViNFx1YjViYlx1YWM4YyBcdWI0MjBcdWM5YzAgXHVjOWMxXHVjODExIFx1YWQ2Y1x1ZDU3NFx1YmNmNFx1Yzc5MC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYiBcdWM5MDRcdWM1ZDAgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1Yzc1OCBcdWMyMTggVFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICggMSAmbGU7IFQgJmxlOyAxMDAgKTxcL3A+XHJcblxyXG48cD5cdWFjMDEgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1YjI5NCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjNzc0IFx1YWQ2Y1x1YzEzMVx1YjQxY1x1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5DPHN1Yj4xPFwvc3ViPiA6IFx1YmMxNFx1Yzc3NFx1ZDJiOFx1Yjc5Y1x1YjRkY1x1Yzc1OCBcdWNjYWIgXHVjMTJjXHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWIzYzRcdWMyZGMgXHVjMjE4ICggMSAmbGU7IEM8c3ViPjE8XC9zdWI+ICZsZTsgMTAwICk8XC9saT5cclxuXHQ8bGk+XHVjNzc0XHVjNWI0IEM8c3ViPjE8XC9zdWI+XHVjOTA0XHVjNWQwIFx1YWM3OFx1Y2NkMCBDPHN1Yj4xPFwvc3ViPlx1YWMxY1x1Yzc1OCBcdWJiMzhcdWM3OTAsIDAgXHViNjEwXHViMjk0IDEgXHViNjEwXHViMjk0IHggOiBpXHViYzg4XHVjOWY4IFx1YzkwNFx1Yzc1OCBqXHViYzg4XHVjOWY4IFx1YWMxMlx1Yzc3NCAwXHVjNzc0XHViNzdjXHViYTc0IGlcdWJjODggXHViM2M0XHVjMmRjXHVjNjQwIGpcdWJjODggXHViM2M0XHVjMmRjXHViOTdjIFx1Yzc4N1x1YjI5NCBcdWMxMjBcdWI4NWNcdWM3NTggXHVkMmYwXHVjZjEzIFx1YWMwMFx1YWNhOVx1Yzc3NCAwXHVjNzc4IFx1YWM4M1x1Yzc3NFx1YmE3MCwgMVx1Yzc3YyBcdWFjYmRcdWM2YjBcdWM1ZDQgXHVkMmYwXHVjZjEzIFx1YWMwMFx1YWNhOVx1Yzc3NCAxLCB4XHVjNzc4IFx1YWNiZFx1YzZiMFx1YzVkNCBcdWM4MDRcdWM3YzEgXHViM2M0XHVjOTExIFx1ZDMwY1x1YWQzNFx1YjQxYyBcdWMxMjBcdWI4NWNcdWM3ODRcdWM3NDQgXHVjNzU4XHViYmY4XHVkNTVjXHViMmU0LjxcL2xpPlxyXG5cdDxsaT5DPHN1Yj4yPFwvc3ViPiA6IFx1YmMxNFx1Yzc3NFx1ZDJiOFx1Yjc5Y1x1YjRkY1x1Yzc1OCBcdWI0NTAgXHViYzg4XHVjOWY4IFx1YzEyY1x1YzVkMCBcdWM3ODhcdWIyOTQgXHViM2M0XHVjMmRjIFx1YzIxOCAoIDEgJmxlOyBDPHN1Yj4yPFwvc3ViPiAmbGU7IDEwMCApPFwvbGk+XHJcblx0PGxpPlx1Yzc3NFx1YzViNCBDPHN1Yj4yPFwvc3ViPlx1YzkwNFx1YzVkMCBcdWFjNzhcdWNjZDAgQzxzdWI+MjxcL3N1Yj5cdWFjMWNcdWM3NTggXHViYjM4XHVjNzkwLCAwIFx1YjYxMFx1YjI5NCAxIFx1YjYxMFx1YjI5NCB4IDogXHVjY2FiIFx1YzEyY1x1YzVkMFx1YzExY1x1Yzc1OCBcdWM3ODVcdWI4MjUgXHVkNjE1XHVjMmRkXHVhY2ZjIFx1YjNkOVx1Yzc3Yy48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5cdWM4ZmNcdWM1YjRcdWM5YzBcdWIyOTQgXHVkNDVjXHViMjk0IFx1ZDU2ZFx1YzBjMSBcdWIzMDBcdWFjMDFcdWMxMjAgXHViMzAwXHVjZTZkXHVjNzc0XHViYTcwLCBpXHViYzg4XHVjOWY4IFx1ZDU4OSBpXHViYzg4XHVjOWY4IFx1YzVmNFx1Yzc1OCBcdWFjMTJcdWM3NDAgXHVkNTZkXHVjMGMxIDBcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YWMwMVx1YWMwMVx1Yzc1OCBcdWM4ZmNcdWM1YjRcdWM5YzBcdWIyOTQgXHVkNDVjXHVjNWQwXHVjMTFjIHhcdWM3NTggXHVhYzFjXHVjMjE4XHViMjk0IFx1ZDU2OVx1ZDU3NFx1YzExYyAzMFx1YWMxY1x1Yjk3YyBcdWIxMThcdWM5YzAgXHVjNTRhXHViMjk0XHViMmU0LiAoXHVkNDVjXHViMjk0IFx1ZDU2ZFx1YzBjMSBcdWIzMDBcdWNlNmRcdWM3NzRcdWJiYzBcdWI4NWMgXHVkMzBjXHVhZDM0XHViNDFjIFx1YjNjNFx1Yjg1YyBcdWQ1NThcdWIwOThcdWIyZjkgeFx1YWMwMCBcdWI0NTAgXHVhYzFjXHVjNTI5IFx1ZDQ1Y1x1YzVkMCBcdWNkOWNcdWQ2MDRcdWQ1NWNcdWIyZTQuKTxcL3A+XHJcblxyXG48cD5cdWM3ODVcdWI4MjVcdWM1ZDBcdWMxMWMgXHVkMzBjXHVhZDM0XHViNDE4XHVjOWMwIFx1YzU0YVx1Yzc0MCBcdWIzYzRcdWI4NWNcdWI0ZTRcdWM3NzQgXHVjNzc0XHViYmY4IFx1YWRkY1x1Y2U1OVx1Yzc0NCBcdWM5YzBcdWQwYTRcdWM5YzAgXHVjNTRhXHVhY2UwIFx1Yzc4OFx1Yzc0NCBcdWMyMTggXHVjNzg4XHVjNzRjXHVjNWQwIFx1YzhmY1x1Yzc1OFx1ZDU1OFx1Yjc3Yy48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWFjMDEgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1YjljOFx1YjJlNCwgXHVhZGRjXHVjZTU5XHVjNWQwIFx1YjlkZVx1YWM4YyBcdWFkNTBcdWQxYjUgXHVhY2M0XHVkNjhkXHVjNzQ0IFx1YzEzOFx1YzZiOCBcdWMyMTggXHVjNzg4XHViMmU0XHViYTc0IFlFU1x1Yjk3YywgXHViZDg4XHVhYzAwXHViMmE1XHVkNTU4XHViMmU0XHViYTc0IE5PXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+WUVTXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU2MCBcdWFjYmRcdWM2YjAsIFx1Yzc3NFx1YzViNCBDIDxzdWI+MTxcL3N1Yj4gKyBDPHN1Yj4yPFwvc3ViPlx1YzkwNFx1YzVkMCBcdWFjNzhcdWNjZDAgQzxzdWI+MTxcL3N1Yj4gKyBDPHN1Yj4yPFwvc3ViPlx1YWMxY1x1Yzc1OCBcdWJiMzhcdWM3OTBcdWI4NWMgXHVjZDVjXHVjODg1IFx1YWQ1MFx1ZDFiNSBcdWFjYzRcdWQ2OGRcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWM3NzQgXHViNTRjLCBcdWMxMmMgMVx1Yzc1OCBcdWIzYzRcdWMyZGNcdWIyOTQgMVx1YmQ4MFx1ZDEzMCBDPHN1Yj4xPFwvc3ViPlx1YWU0Y1x1YzljMFx1Yzc1OCBcdWJjODhcdWQ2MzhcdWI5N2MgXHVhYzAwXHVjOWMwXHViYTcwLCBcdWMxMmMgMlx1Yzc1OCBcdWIzYzRcdWMyZGNcdWIyOTQgQzxzdWI+MTxcL3N1Yj4gKyAxXHViYzg4XHViZDgwXHVkMTMwIEM8c3ViPjI8XC9zdWI+XHViYzg4XHVhZTRjXHVjOWMwXHVjNzU4IFx1YmM4OFx1ZDYzOFx1Yjk3YyBcdWFjMTZcdWIyOTRcdWIyZTQuIFx1Yzc3NCBcdWM4NzBcdWFjNzQgXHVkNTU4XHVjNWQwXHVjMTFjLCBpXHViYzg4XHVjOWY4IFx1ZDU4OVx1Yzc1OCBqXHViYzg4XHVjOWY4IFx1YzVmNFx1Yzc1OCBcdWMyMmJcdWM3OTBcdWIyOTQgaVx1YmM4OCBcdWIzYzRcdWMyZGNcdWM2NDAgalx1YmM4OCBcdWIzYzRcdWMyZGNcdWI5N2MgXHVjNzg3XHViMjk0IFx1YzEyMFx1Yjg1Y1wvXHVkNTZkXHViODVjXHVjNzU4IFx1ZDJmMFx1Y2YxMyBcdWFjMDBcdWFjYTlcdWM3NzQgXHViNDE4XHVjNWI0XHVjNTdjIFx1ZDU1Y1x1YjJlNC4gKDAgXHViNjEwXHViMjk0IDEpPFwvcD5cclxuXHJcbjxwPlx1YWNiMFx1YWNmY1x1YjI5NCBcdWIzMDBcdWNlNmQgXHVkNTg5XHViODJjXHVjNzc0XHVjNWI0XHVjNTdjIFx1ZDU1OFx1YmE3MCwgXHVjODcwXHVhYzc0XHVjNzQ0IFx1YjljY1x1Yzg3MVx1ZDU1OFx1YjI5NCBcdWMxMjBcdWI4NWNcL1x1ZDU2ZFx1Yjg1YyBcdWJjMzBcdWNlNThcdWFjMDAgXHVjNWVjXHViN2VjIFx1YWMwMFx1YzljMFx1Yzc3OCBcdWFjYmRcdWM2YjAgXHVhZGY4IFx1YzkxMSBcdWM1NDRcdWJiMzQgXHVhYzgzXHVjNzc0XHViMDk4IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWQ1NWNcdWFkNmRcdWM1YjQifSx7InByb2JsZW1faWQiOiI5NTU0IiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiQ29ubmVjdGluZyBJc2xhbmRzIiwiZGVzY3JpcHRpb24iOiI8cD5UaGUgY2l2aWwgd2FyIGluIHRoZSBCeXRlbGFuZGlhbiBvY2VhbiBoYXMgZW5kZWQuIFRoZSB0d28gQnl0ZWxhbmRpYW4gaXNsYW5kcyBoYXZlIGRlY2lkZWQgdG8gdW5pdGUgZm9ybWluZyB0aGUgVW5pdGVkIEtpbmdkb20gb2YgQnl0ZWxhbmRpYS4gT25lIG9mIHRoZSBmaXJzdCBjb25jZXJucyBvZiB0aGUgbmV3bHkgY2hvc2VuIGdvdmVybm1lbnQgaXMgdHJhbnNwb3J0YXRpb24uPFwvcD5cclxuXHJcbjxwPlByaW9yIHRvIHRoZSB3YXIgZWFjaCBvZiB0aGUgMiBpc2xhbmRzIGhhZCBhIHBlcmZlY3QgbmV0d29yayBvZiB0cmFuc3BvcnRhdGlvbi4gT24gYW55IGdpdmVuIGlzbGFuZCwgZXZlcnkgY2l0eSB3YXMgY29ubmVjdGVkIGJ5IGEgdHJhaW4gdG8gZXZlcnkgb3RoZXIgY2l0eS4gQ29ubmVjdGlvbnMgYXJlIGJpZGlyZWN0aW9uYWwuIER1cmluZyB0aGUgd2FyLCBzb21lIHRyYWluIGxpbmVzIHdlcmUgZGlzcnVwdGVkIGFuZCB0aHVzLCB0aGUgdHJhaW5zIG9uIHRoZXNlIGxpbmVzIHdlcmUgc3VzcGVuZGVkLiBPbiBhbnkgaXNsYW5kLCBubyBtb3JlIHRoYW4gMTUgdHJhaW5zIHdlcmUgc3VzcGVuZGVkLiBJbiBhZGRpdGlvbiB0byByZXJ1bm5pbmcgdGhlIGRpc3J1cHRlZCB0cmFpbnMsIHRoZSBnb3Zlcm5tZW50IGhhcyB0byBmb3JtIGludGVyLWlzbGFuZCBmZXJyeSBjb25uZWN0aW9ucy4gVGhlIGZlcnJpZXMgd2lsbCBjb25uZWN0IGV2ZXJ5IGNpdHkgWCB0byBldmVyeSBjaXR5IFkgLCBnaXZlbiB0aGF0IFggYW5kIFkgYXJlIG5vdCBvbiB0aGUgc2FtZSBpc2xhbmQuIENvbW11dGluZyBiZXR3ZWVuIGNpdGllcyBvbiB0aGUgc2FtZSBpc2xhbmQgd2lsbCBvbmx5IGJlIHZpYSB0cmFpbnMuPFwvcD5cclxuXHJcbjxwPkluIEJ5dGVsYW5kaWEsIGV2ZXJ5dGhpbmcgaXMgYmluYXJ5LCBpbmNsdWRpbmcgdHJhaW4gYW5kIGZlcnJ5IHRpY2tldCBwcmljZXMuIEEgdGlja2V0IGNvc3RzIGVpdGhlciAwIG9yIDEgdW5pdHMgb2YgY3VycmVuY3kuIFRoZSBnb3Zlcm5tZW50IGRlY2lkZWQgbm90IHRvIGNoYW5nZSBhbnkgdGlja2V0IHByaWNlcyBmb3IgdHJhaW5zIHRoYXQgd2VyZSBub3QgZGlzcnVwdGVkIGR1cmluZyB0aGUgd2FyLiBJdCB3aWxsIGFzc2lnbiB0aWNrZXQgY29zdHMgdG8gdGhlIHRyYWlucyBzdXNwZW5kZWQgZHVyaW5nIHRoZSB3YXIgYW5kIHRvIGFsbCBmZXJyeSBsaW5lcy4gUHJpZGluZyB0aGVtc2VsdmVzIGluIGJlaW5nIHN0cm9uZyBtYXRoZW1hdGljaWFucywgQnl0ZWxhbmRpYW5zIGhhdmUgZGVjaWRlZCB0byBkZXNpZ24gdGhlIHRpY2tldCBzeXN0ZW0gc3VjaCB0aGF0IGZvciBhbnkgMyBkaXN0aW5jdCBjaXRpZXMgWCwgWSBhbmQgWiw8XC9wPlxyXG5cclxuPHA+QyhYLCBZKSArIEMoWSwgWikgJmdlOyBDKFgsIFopPFwvcD5cclxuXHJcbjxwPndoZXJlIEMoWCwgWSkgaXMgdGhlIHRpY2tldCBwcmljZSBvZiBnZXR0aW5nIGZyb20gWCB0byBZIChieSB0cmFpbiBpZiB0aGV5IGJlbG9uZyB0byB0aGUgc2FtZSBpc2xhbmQgb3IgYnkgZmVycnkgb3RoZXJ3aXNlKS48XC9wPlxyXG5cclxuPHA+WW91IGFyZSBnaXZlbiBhIGRlc2NyaXB0aW9uIG9mIHRoZSBCeXRlbGFuZGlhbiBpc2xhbmRzLCB5b3VyIGdvYWwgaXMgdG8gZmlndXJlIG91dCBhIGNvc3RzIGFzc2lnbm1lbnQgaWYgaXQgaXMgcG9zc2libGUuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5Zb3VyIHByb2dyYW0gd2lsbCBiZSB0ZXN0ZWQgb24gb25lIG9yIG1vcmUgdGVzdCBjYXNlcy4gVGhlIGZpcnN0IGxpbmUgb2YgdGhlIGlucHV0IHdpbGwgYmUgYSBzaW5nbGUgaW50ZWdlciBULCB0aGUgbnVtYmVyIG9mIHRlc3QgY2FzZXMgKDEgJmxlOyBUICZsZTsgMTAwKS4gRm9sbG93ZWQgYnkgdGhlIHRlc3QgY2FzZXMsIGVhY2ggdGVzdCBjYXNlIGlzIHRoZSBkZXNjcmlwdGlvbiBvZiBib3RoIGlzbGFuZHMgKG9uZSBhZnRlciB0aGUgb3RoZXIpLiBUaGUgZGVzY3JpcHRpb24gb2Ygb25lIGlzbGFuZCBzdGFydHMgd2l0aCBvbmUgbGluZSBjb250YWluaW5nIG9uZSBpbnRlZ2VyIEM8c3ViPms8XC9zdWI+IHJlcHJlc2VudHMgdGhlIG51bWJlciBvZiBjaXRpZXMgaW4gdGhpcyBpc2xhbmQsIGZvbGxvd2VkIGJ5IEM8c3ViPms8XC9zdWI+IGxpbmVzIGVhY2ggb25lIGNvbnRhaW5zIEM8c3ViPms8XC9zdWI+IGNoYXJhY3RlcnMgKDEgJmxlOyBDPHN1Yj5rPFwvc3ViPiAmbGU7IDEwMCkuIEVhY2ggY2hhcmFjdGVyIGlzICZsc3F1bzswJnJzcXVvOywgJmxzcXVvOzEmcnNxdW87IG9yICZsc3F1bzt4JnJzcXVvOy4gVGhlIGotdGggY2hhcmFjdGVyIG9mIHRoZSBpLXRoIGxpbmUgaXMgdGhlIHByaWNlIG9mIHRoZSB0cmFpbiB0aWNrZXQgZnJvbSBjaXR5IGkgdG8gY2l0eSBqIG9uIHRoYXQgaXNsYW5kLiBBIHByaWNlICZyc3F1bzt4JnJzcXVvOyBtZWFucyB0aGF0IGl0IGlzIG9uZSBvZiB0aGUgc3VzcGVuZGVkIHRyYWluIGxpbmVzLiBFYWNoIEM8c3ViPms8XC9zdWI+IGJ5IEM8c3ViPms8XC9zdWI+IHRhYmxlIGlzIGd1YXJhbnRlZWQgdG8gYmUgc3ltbWV0cmljICh0YWJsZVtpXVtqXSA9IHRhYmxlW2pdW2ldIGZvciBlYWNoIGRpZmZlcmVudCBpIGFuZCBqKSwgYW5kIGVhY2ggdGFibGUgd2lsbCBoYXZlIGEgZGlhZ29uYWwgb2YgJmxzcXVvOzAmcnNxdW87cyAodGFibGVbaV1baV0gPSAmbHNxdW87MCZyc3F1bzsgZm9yIGVhY2ggZGlmZmVyZW50IGkpLCBhbHNvIGVhY2ggdGFibGUgd2lsbCBjb250YWluIG5vIG1vcmUgdGhhbiAzMCAmbHNxdW87eCZyc3F1bztzICgxNSBkaWZmZXJlbnQgdHJhaW5zLCBiZWNhdXNlIGVhY2ggdHJhaW4gd2lsbCBiZSBtZW50aW9uZWQgdHdpY2UgaW4gdGhlIHRhYmxlKS48XC9wPlxyXG5cclxuPHA+Tm90ZSB0aGF0IHRoZSBpbnB1dCBtaWdodCBjb250YWluIDMgZGlmZmVyZW50IGNpdGllcyBpbiB0aGUgc2FtZSBpc2xhbmRzIGFuZCB0aGUgdHJhaW5zIGNvbm5lY3RpbmcgdGhlbSBhcmUgbm90IHN1c3BlbmRlZCwgYW5kIHRoZXNlIDMgY2l0aWVzIGRvbiZyc3F1bzt0IHNhdGlzZnkgdGhlIGRlc2NyaWJlZCBjb25kaXRpb24gYWJvdmUuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+Rm9yIGVhY2ggdGVzdCBjYXNlLCBpZiB0aGVyZSBpcyBubyB3YXkgdG8gZG8gdGhlIGNvc3RzIGFzc2lnbm1lbnQgc2F0aXNmeWluZyB0aGUgY29uZGl0aW9ucyBkZXNjcmliZWQgYWJvdmUsIG91dHB1dCBvbiBhIHNpbmdsZSBsaW5lICZsc3F1bztOTyZyc3F1bzsgKHdpdGhvdXQgdGhlIHF1b3RlcykuPFwvcD5cclxuXHJcbjxwPk90aGVyd2lzZSwgcHJpbnQgJmxzcXVvO1lFUyZyc3F1bzsgKHdpdGhvdXQgdGhlIHF1b3Rlcykgb24gdGhlIGZpcnN0IGxpbmUgZm9sbG93ZWQgYnkgQzxzdWI+MTxcL3N1Yj4gKyBDPHN1Yj4yPFwvc3ViPiBsaW5lcyBlYWNoIG9uZSBjb250YWlucyBDPHN1Yj4xPFwvc3ViPiArIEM8c3ViPjI8XC9zdWI+IGNoYXJhY3RlcnMgQzxzdWI+MTxcL3N1Yj4gaXMgdGhlIG51bWJlciBvZiBjaXRpZXMgaW4gdGhlIGZpcnN0IGlzbGFuZCwgYW5kIEM8c3ViPjI8XC9zdWI+IGlzIHRoZSBudW1iZXIgb2YgY2l0aWVzIGluIHRoZSBzZWNvbmQgaXNsYW5kKS4gVGhlIGotdGggY2hhcmFjdGVyIG9uIHRoZSBpLXRoIGxpbmUgaXMgdGhlIGNvc3Qgb2YgZ2V0dGluZyBmcm9tIGNpdHkgaSB0byBjaXR5IGogKGJ5IHRyYWluIGlmIHRoZXkgYmVsb25nIHRvIHRoZSBzYW1lIGlzbGFuZCBvciBieSBmZXJyeSBvdGhlcndpc2UpLiBJbiB0aGUgb3V0cHV0LCB0aGUgY2l0aWVzIG9uIHRoZSBmaXJzdCBpc2xhbmQgYXJlIG51bWJlcmVkIGZyb20gMSB0byBDPHN1Yj4xPFwvc3ViPiAoaW5jbHVzaXZlKSB3aGlsZSB0aGUgY2l0aWVzIGluIHRoZSBzZWNvbmQgaXNsYW5kIGFyZSBudW1iZXJlZCBmcm9tIEM8c3ViPjE8XC9zdWI+ICsgMSB0byBDPHN1Yj4xPFwvc3ViPiArIEM8c3ViPjI8XC9zdWI+IChpbmNsdXNpdmUpLiBJZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGNvcnJlY3Qgc29sdXRpb24sIHByaW50IGFueW9uZSBvZiB0aGVtLjxcL3A+XHJcblxyXG48cD5Ob3RlIHRoYXQgeW91IGNhbiZyc3F1bzt0IGNoYW5nZSB0aGUgY29zdHMgZ2l2ZW4gaW4gdGhlIGlucHV0LCBhbmQgdGhlIG91dHB1dCB0YWJsZSBtdXN0IGJlIHN5bW1ldHJpYy48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWM2MDFcdWM1YjQifV0=