시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 (추가 시간 없음) 1024 MB (추가 메모리 없음)203867045.752%

문제

지훈이는 PS라는 자료구조를 만들었다. 하지만 PS라는 이름의 특성상 ProblemSolving으로 오해받고는 한다.

PS 자료구조는 문자 P를 저장하는 스택(Stack)으로, 다음 두 명령어를 사용한다.

  • PP: 문자 P 하나를 PS 스택 맨 위에 push한다.
  • P: PS 스택 맨 위의 문자 P 하나를 pop한다. 단, PS 스택이 비어 있을 때는 수행할 수 없다.

지훈이는 명령어들을 공백 없이 이어 붙이면 P의 나열이 된다는 사실을 알았다. 문득, P가 $N$개 나열된 문자열이 주어졌을 때 이를 유효한 명령어로 해석하는 방법이 총 몇 가지나 될지 궁금해졌다.

처음에 PS 스택이 비어 있을 때, $N$개의 P로 이루어진 문자열을 유효하게 해석할 수 있는 경우의 수를 구해보자. 비어 있는 PS 스택에서 pop을 하는 경우 유효하지 않은 해석임을 유의하자.

입력

첫 번째 줄에 테스트 케이스의 개수 $T(1\le T\le 5\, 000)$가 주어진다.

두 번째 줄에 각 테스트 케이스의 $N$을 의미하는 서로 다른 정수 $N_1,N_2,\cdots ,N_T(1\le N_i\le 5\, 000)$가 공백으로 구분되어 오름차순으로 주어진다.

출력

첫 번째 줄부터 $T$줄에 걸쳐 각 테스트 케이스 별로 한 줄씩 정답을 $998\, 244\, 353$으로 나눈 나머지를 출력한다. 단, 유효하게 해석할 수 있는 방법이 없다면 대신 -1을 출력한다.

예제 입력 1

3
5 7 10

예제 출력 1

2
3
10

$5$개의 P로 이루어진 문자는 아래 $2$가지 방법으로 해석할 수 있다.

  • PP / PP / P
  • PP / P / PP

$7$개의 P로 이루어진 문자는 아래 $3$가지 방법으로 해석할 수 있다.

  • PP / PP / PP / P
  • PP / PP / P / PP
  • PP / P / PP / PP

$10$개의 P로 이루어진 문자는 아래 $10$가지 방법으로 해석할 수 있다.

  • PP / PP / PP / PP / PP
  • PP / P / PP / P / PP / PP
  • PP / P / PP / PP / P / PP
  • PP / P / PP / PP / PP / P
  • PP / PP / P / P / PP / PP
  • PP / PP / P / PP / P / PP
  • PP / PP / P / PP / PP / P
  • PP / PP / PP / P / P / PP
  • PP / PP / PP / P / PP / P
  • PP / PP / PP / PP / P / P

예제 입력 2

2
4999 5000

예제 출��� 2

609226471
509890175
W3sicHJvYmxlbV9pZCI6IjM1MTU0IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiUHJvYmxlbVNvbHZpbmdcdWM3NzQgXHVjNTQ0XHViMmM4XHVjNWQwXHVjNjk0IiwiZGVzY3JpcHRpb24iOiI8cD5cdWM5YzBcdWQ2YzhcdWM3NzRcdWIyOTQgPHN0cm9uZz5QUzxcL3N0cm9uZz5cdWI3N2NcdWIyOTQgXHVjNzkwXHViOGNjXHVhZDZjXHVjODcwXHViOTdjIFx1YjljY1x1YjRlNFx1YzVjOFx1YjJlNC4gXHVkNTU4XHVjOWMwXHViOWNjIDxzdHJvbmc+UFM8XC9zdHJvbmc+XHViNzdjXHViMjk0IFx1Yzc3NFx1Yjk4NFx1Yzc1OCBcdWQyYjlcdWMxMzFcdWMwYzEgUHJvYmxlbVNvbHZpbmdcdWM3M2NcdWI4NWMgXHVjNjI0XHVkNTc0XHViYzFiXHVhY2UwXHViMjk0IFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+PHN0cm9uZz5QUzxcL3N0cm9uZz4gXHVjNzkwXHViOGNjXHVhZDZjXHVjODcwXHViMjk0IFx1YmIzOFx1Yzc5MCA8Y29kZT5QPFwvY29kZT5cdWI5N2MgXHVjODAwXHVjN2E1XHVkNTU4XHViMjk0IFx1YzJhNFx1ZDBkZChTdGFjaylcdWM3M2NcdWI4NWMsIFx1YjJlNFx1Yzc0YyBcdWI0NTAgXHViYTg1XHViODM5XHVjNWI0XHViOTdjIFx1YzBhY1x1YzZhOVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG48bGk+PGNvZGU+UFA8XC9jb2RlPjogXHViYjM4XHVjNzkwIDxjb2RlPlA8XC9jb2RlPiBcdWQ1NThcdWIwOThcdWI5N2MgPHN0cm9uZz5QUzxcL3N0cm9uZz4gXHVjMmE0XHVkMGRkIFx1YjllOCBcdWM3MDRcdWM1ZDAgcHVzaFx1ZDU1Y1x1YjJlNC48XC9saT5cclxuPGxpPjxjb2RlPlA8XC9jb2RlPjogPHN0cm9uZz5QUzxcL3N0cm9uZz4gXHVjMmE0XHVkMGRkIFx1YjllOCBcdWM3MDRcdWM3NTggXHViYjM4XHVjNzkwIDxjb2RlPlA8XC9jb2RlPiBcdWQ1NThcdWIwOThcdWI5N2MgcG9wXHVkNTVjXHViMmU0LiBcdWIyZTgsIDxzdHJvbmc+UFM8XC9zdHJvbmc+IFx1YzJhNFx1ZDBkZFx1Yzc3NCBcdWJlNDRcdWM1YjQgXHVjNzg4XHVjNzQ0IFx1YjU0Y1x1YjI5NCBcdWMyMThcdWQ1ODlcdWQ1NjAgXHVjMjE4IFx1YzVjNlx1YjJlNC48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5cdWM5YzBcdWQ2YzhcdWM3NzRcdWIyOTQgXHViYTg1XHViODM5XHVjNWI0XHViNGU0XHVjNzQ0IFx1YWNmNVx1YmMzMSBcdWM1YzZcdWM3NzQgXHVjNzc0XHVjNWI0IFx1YmQ5OVx1Yzc3NFx1YmE3NCA8Y29kZT5QPFwvY29kZT5cdWM3NTggXHViMDk4XHVjNWY0XHVjNzc0IFx1YjQxY1x1YjJlNFx1YjI5NCBcdWMwYWNcdWMyZTRcdWM3NDQgXHVjNTRjXHVjNTU4XHViMmU0LiBcdWJiMzhcdWI0ZGQsIDxjb2RlPlA8XC9jb2RlPlx1YWMwMCAkTiRcdWFjMWMgXHViMDk4XHVjNWY0XHViNDFjIFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjIFx1Yzc3NFx1Yjk3YyBcdWM3MjBcdWQ2YThcdWQ1NWMgXHViYTg1XHViODM5XHVjNWI0XHViODVjIFx1ZDU3NFx1YzExZFx1ZDU1OFx1YjI5NCBcdWJjMjlcdWJjOTVcdWM3NzQgXHVjZDFkIFx1YmE4NyBcdWFjMDBcdWM5YzBcdWIwOTggXHViNDIwXHVjOWMwIFx1YWQ4MVx1YWUwOFx1ZDU3NFx1Yzg0Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjYzk4XHVjNzRjXHVjNWQwIDxzdHJvbmc+UFM8XC9zdHJvbmc+IFx1YzJhNFx1ZDBkZFx1Yzc3NCBcdWJlNDRcdWM1YjQgXHVjNzg4XHVjNzQ0IFx1YjU0YywgJE4kXHVhYzFjXHVjNzU4IDxjb2RlPlA8XC9jb2RlPlx1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM5YzQgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzQ0IFx1YzcyMFx1ZDZhOFx1ZDU1OFx1YWM4YyBcdWQ1NzRcdWMxMWRcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjI5NCBcdWFjYmRcdWM2YjBcdWM3NTggXHVjMjE4XHViOTdjIFx1YWQ2Y1x1ZDU3NFx1YmNmNFx1Yzc5MC4gXHViZTQ0XHVjNWI0IFx1Yzc4OFx1YjI5NCA8c3Ryb25nPlBTPFwvc3Ryb25nPiBcdWMyYTRcdWQwZGRcdWM1ZDBcdWMxMWMgcG9wXHVjNzQ0IFx1ZDU1OFx1YjI5NCBcdWFjYmRcdWM2YjAgXHVjNzIwXHVkNmE4XHVkNTU4XHVjOWMwIFx1YzU0YVx1Yzc0MCBcdWQ1NzRcdWMxMWRcdWM3ODRcdWM3NDQgXHVjNzIwXHVjNzU4XHVkNTU4XHVjNzkwLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNFx1Yzc1OCBcdWFjMWNcdWMyMTggJFQoMVxcbGUgVFxcbGUgNVxcLCAwMDApJFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjQ1MCBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNWQwIFx1YWMwMSBcdWQxNGNcdWMyYTRcdWQyYjggXHVjZjAwXHVjNzc0XHVjMmE0XHVjNzU4ICROJFx1Yzc0NCBcdWM3NThcdWJiZjhcdWQ1NThcdWIyOTQgXHVjMTFjXHViODVjIFx1YjJlNFx1Yjk3OCBcdWM4MTVcdWMyMTggJE5fMSxOXzIsXFxjZG90cyAsTl9UKDFcXGxlIE5faVxcbGUgNVxcLCAwMDApJFx1YWMwMCBcdWFjZjVcdWJjMzFcdWM3M2NcdWI4NWMgXHVhZDZjXHViZDg0XHViNDE4XHVjNWI0IFx1YzYyNFx1Yjk4NFx1Y2MyOFx1YzIxY1x1YzczY1x1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+XHVjY2FiIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWJkODBcdWQxMzAgJFQkXHVjOTA0XHVjNWQwIFx1YWM3OFx1Y2NkMCBcdWFjMDEgXHVkMTRjXHVjMmE0XHVkMmI4IFx1Y2YwMFx1Yzc3NFx1YzJhNCBcdWJjYzRcdWI4NWMgXHVkNTVjIFx1YzkwNFx1YzUyOSBcdWM4MTVcdWIyZjVcdWM3NDQgJDk5OFxcLCAyNDRcXCwgMzUzJFx1YzczY1x1Yjg1YyBcdWIwOThcdWIyMDggXHViMDk4XHViYTM4XHVjOWMwXHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHViMmU4LCBcdWM3MjBcdWQ2YThcdWQ1NThcdWFjOGMgXHVkNTc0XHVjMTFkXHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyOTQgXHViYzI5XHViYzk1XHVjNzc0IFx1YzVjNlx1YjJlNFx1YmE3NCBcdWIzMDBcdWMyZTAgPHNwYW4gc3R5bGU9XCJjb2xvcjojZTc0YzNjO1wiPjxjb2RlPi0xPFwvY29kZT48XC9zcGFuPlx1Yzc0NCBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiS29yZWFuIiwic2FtcGxlX2V4cGxhaW5fMSI6IjxwPiQ1JFx1YWMxY1x1Yzc1OCA8Y29kZT5QPFwvY29kZT5cdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjOWM0IFx1YmIzOFx1Yzc5MFx1YjI5NCBcdWM1NDRcdWI3OTggJDIkXHVhYzAwXHVjOWMwIFx1YmMyOVx1YmM5NVx1YzczY1x1Yjg1YyBcdWQ1NzRcdWMxMWRcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG48bGk+PGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlA8XC9jb2RlPjxcL2xpPlxyXG48bGk+PGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPiQ3JFx1YWMxY1x1Yzc1OCA8Y29kZT5QPFwvY29kZT5cdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjOWM0IFx1YmIzOFx1Yzc5MFx1YjI5NCBcdWM1NDRcdWI3OTggJDMkXHVhYzAwXHVjOWMwIFx1YmMyOVx1YmM5NVx1YzczY1x1Yjg1YyBcdWQ1NzRcdWMxMWRcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG48bGk+PGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+PFwvbGk+XHJcbjxsaT48Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT48XC9saT5cclxuPGxpPjxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPiQxMCRcdWFjMWNcdWM3NTggPGNvZGU+UDxcL2NvZGU+XHViODVjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzljNCBcdWJiMzhcdWM3OTBcdWIyOTQgXHVjNTQ0XHViNzk4ICQxMCRcdWFjMDBcdWM5YzAgXHViYzI5XHViYzk1XHVjNzNjXHViODVjIFx1ZDU3NFx1YzExZFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LjxcL3A+XHJcblxyXG48dWw+XHJcbjxsaT48Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT48XC9saT5cclxuPGxpPjxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPjxcL2xpPlxyXG48bGk+PGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+PFwvbGk+XHJcbjxsaT48Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QPFwvY29kZT48XC9saT5cclxuPGxpPjxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPjxcL2xpPlxyXG48bGk+PGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+PFwvbGk+XHJcbjxsaT48Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QPFwvY29kZT48XC9saT5cclxuPGxpPjxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlA8XC9jb2RlPiBcLyA8Y29kZT5QPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPjxcL2xpPlxyXG48bGk+PGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+PFwvbGk+XHJcbjxsaT48Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlA8XC9jb2RlPiBcLyA8Y29kZT5QPFwvY29kZT48XC9saT5cclxuPFwvdWw+XHJcbiJ9LHsicHJvYmxlbV9pZCI6IjM1MTU0IiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiUFMgaXMgbm90IFByb2JsZW1Tb2x2aW5nISIsImRlc2NyaXB0aW9uIjoiPHA+SmlodW4gY3JlYXRlZCBhIGRhdGEgc3RydWN0dXJlIGNhbGxlZCA8c3Ryb25nPlBTPFwvc3Ryb25nPi4gSG93ZXZlciwgZHVlIHRvIHRoZSBuYW1lIDxzdHJvbmc+UFM8XC9zdHJvbmc+LCBpdCBpcyBvZnRlbiBtaXN0YWtlbiBmb3IgUHJvYmxlbVNvbHZpbmcuPFwvcD5cclxuXHJcbjxwPlRoZSA8c3Ryb25nPlBTPFwvc3Ryb25nPiBkYXRhIHN0cnVjdHVyZSBpcyBhIHN0YWNrIHRoYXQgc3RvcmVzIHRoZSBjaGFyYWN0ZXIgPGNvZGU+UDxcL2NvZGU+LCBhbmQgaXQgc3VwcG9ydHMgdGhlIGZvbGxvd2luZyB0d28gY29tbWFuZHMuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+PGNvZGU+UFA8XC9jb2RlPjogUHVzaCBvbmUgY2hhcmFjdGVyIDxjb2RlPlA8XC9jb2RlPiBvbnRvIHRoZSB0b3Agb2YgdGhlIDxzdHJvbmc+UFM8XC9zdHJvbmc+IHN0YWNrLjxcL2xpPlxyXG5cdDxsaT48Y29kZT5QPFwvY29kZT46IFBvcCBvbmUgY2hhcmFjdGVyIDxjb2RlPlA8XC9jb2RlPiBmcm9tIHRoZSB0b3Agb2YgdGhlIDxzdHJvbmc+UFM8XC9zdHJvbmc+IHN0YWNrLiBUaGlzIGNvbW1hbmQgY2Fubm90IGJlIHBlcmZvcm1lZCB3aGVuIHRoZSA8c3Ryb25nPlBTPFwvc3Ryb25nPiBzdGFjayBpcyBlbXB0eS48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5KaWh1biByZWFsaXplZCB0aGF0IGNvbmNhdGVuYXRpbmcgdGhlIGNvbW1hbmRzIHdpdGhvdXQgc3BhY2VzIHJlc3VsdHMgaW4gYSBzZXF1ZW5jZSBvZiA8Y29kZT5QPFwvY29kZT5zLiBIZSB0aGVuIHdvbmRlcmVkIGhvdyBtYW55IHdheXMgdGhlcmUgYXJlIHRvIGludGVycHJldCBhIGdpdmVuIHN0cmluZyBjb25zaXN0aW5nIG9mICROJCBjb25zZWN1dGl2ZSA8Y29kZT5QPFwvY29kZT5zIGFzIGEgdmFsaWQgc2VxdWVuY2Ugb2YgY29tbWFuZHMuPFwvcD5cclxuXHJcbjxwPlN0YXJ0aW5nIHdpdGggYW4gZW1wdHkgPHN0cm9uZz5QUzxcL3N0cm9uZz4gc3RhY2ssIGNvbXB1dGUgdGhlIG51bWJlciBvZiB3YXlzIHRvIHZhbGlkbHkgaW50ZXJwcmV0IGEgc3RyaW5nIGNvbnNpc3Rpbmcgb2YgJE4kIDxjb2RlPlA8XC9jb2RlPnMuIE5vdGUgdGhhdCBhbnkgaW50ZXJwcmV0YXRpb24gdGhhdCBhdHRlbXB0cyB0byBwb3AgZnJvbSBhbiBlbXB0eSA8c3Ryb25nPlBTPFwvc3Ryb25nPiBzdGFjayBpcyBpbnZhbGlkLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+T24gdGhlIGZpcnN0IGxpbmUsIHRoZSBudW1iZXIgb2YgdGVzdCBjYXNlcyAkVCgxXFxsZSBUXFxsZSA1XFwsIDAwMCkkIGlzIGdpdmVuLjxcL3A+XHJcblxyXG48cD5PbiB0aGUgc2Vjb25kIGxpbmUsIGRpc3RpbmN0IGludGVnZXJzICROXzEsTl8yLFxcY2RvdHMgLE5fVCgxXFxsZSBOX2lcXGxlIDVcXCwgMDAwKSQgZGVub3RpbmcgJE4kIGZvciBlYWNoIHRlc3QgY2FzZSBhcmUgZ2l2ZW4gaW4gaW5jcmVhc2luZyBvcmRlciBzZXBhcmF0ZWQgYnkgc3BhY2VzLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPkZyb20gdGhlIGZpcnN0IGxpbmUgb3ZlciB0aGUgbmV4dCAkVCQgbGluZXMgb3V0cHV0IG9uZSBsaW5lIHBlciB0ZXN0IGNhc2UgY29udGFpbmluZyB0aGUgYW5zd2VyIG1vZHVsbyAkOTk4XFwsIDI0NFxcLCAzNTMkLiBJZiB0aGVyZSBpcyBubyB2YWxpZCBpbnRlcnByZXRhdGlvbiwgb3V0cHV0IDxzcGFuIHN0eWxlPVwiY29sb3I6I2U3NGMzYztcIj48Y29kZT4tMTxcL2NvZGU+PFwvc3Bhbj4uPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMCIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiRW5nbGlzaCIsInNhbXBsZV9leHBsYWluXzEiOiI8cD5BIHN0cmluZyBjb25zaXN0aW5nIG9mICQ1JCA8Y29kZT5QPFwvY29kZT5zIGNhbiBiZSBpbnRlcnByZXRlZCBpbiB0aGUgZm9sbG93aW5nICQyJCB3YXlzLjxcL3A+XHJcblxyXG48dWw+XHJcbjxsaT48Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+PFwvbGk+XHJcbjxsaT48Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+PFwvbGk+XHJcbjxcL3VsPlxyXG5cclxuPHA+QSBzdHJpbmcgY29uc2lzdGluZyBvZiAkNyQgPGNvZGU+UDxcL2NvZGU+cyBjYW4gYmUgaW50ZXJwcmV0ZWQgaW4gdGhlIGZvbGxvd2luZyAkMyQgd2F5cy48XC9wPlxyXG5cclxuPHVsPlxyXG48bGk+PGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+PFwvbGk+XHJcbjxsaT48Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT48XC9saT5cclxuPGxpPjxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPkEgc3RyaW5nIGNvbnNpc3Rpbmcgb2YgJDEwJCA8Y29kZT5QPFwvY29kZT5zIGNhbiBiZSBpbnRlcnByZXRlZCBpbiB0aGUgZm9sbG93aW5nICQxMCQgd2F5cy48XC9wPlxyXG5cclxuPHVsPlxyXG48bGk+PGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+PFwvbGk+XHJcbjxsaT48Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT48XC9saT5cclxuPGxpPjxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPjxcL2xpPlxyXG48bGk+PGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+PFwvbGk+XHJcbjxsaT48Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+IFwvIDxjb2RlPlA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT48XC9saT5cclxuPGxpPjxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPjxcL2xpPlxyXG48bGk+PGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+PFwvbGk+XHJcbjxsaT48Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT48XC9saT5cclxuPGxpPjxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlA8XC9jb2RlPjxcL2xpPlxyXG48bGk+PGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QUDxcL2NvZGU+IFwvIDxjb2RlPlBQPFwvY29kZT4gXC8gPGNvZGU+UFA8XC9jb2RlPiBcLyA8Y29kZT5QPFwvY29kZT4gXC8gPGNvZGU+UDxcL2NvZGU+PFwvbGk+XHJcbjxcL3VsPlxyXG4ifV0=