시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 68 11 8 22.857%

문제

꿍은 영타속도를 높이기 위해 열심히 노력했고 덕분에 순식간에 많은 영어를 입력할 수 있다.

하지만 영타속도만 높이다 보니 꿍이 입력하는 영어는 띄어쓰기와 문장부호가 전혀 없고 대소문자도 제멋대로인, 누구도 알아보기 힘든 '꿍글리쉬'가 되고 말았다. 예를 들어 영어로 "programming is great"과 같은 문장이 있다면 꿍은 "PrOgRAMmINgiSgrEAt"과 같이 꿍글리쉬로 만들어버린다.

꿍은 자신이 얼마나 복잡한 꿍글리쉬를 만들었는지 알아보기 위해 다음과 같은 과정을 진행하기로 했다. 먼저 꿍은 임의의 단어 T를 선택한다. 그 다음, 꿍글리쉬 문장의 부분 문자열에서 대소문자를 신경쓰지 않고 T를 모두 찾고, 각 경우마다 T와 대소문자가 몇 개가 다른지 계산한다. 이 값들 중 가장 큰 값이 꿍글리쉬의 복잡도를 나타낸다.

예를 들어, 꿍이 "GR"을 T로 선택하고 "PrOgRAMmINgiSgrEAt"에서 “PrOgRAM”을 부분 문자열로 선택했을 경우, T는 "gR"에서 한 번 나타나는데 이때 복잡도는 1이 된다. 같은 부분 문자열 "PrOgRAM"에서 "r"이 T로 선택된 경우 T는 "r"과 "R"에서 총 두 번 나타나는데 각각의 복잡도 후보는 0과 1이 되므로 이때의 복잡도는 1이 된다.

인성이 안 좋은 꿍은 여러분을 더욱 화나게 하기 위해 이 복잡도 계산을 더 힘들게 하고자 또 다른 규칙을 고안했다. 여러분은 한 번의 복잡도를 계산하고 나서는 선택된 부분 문자열의 대소문자를 바꾼 후 그 다음 복잡도를 계산할 수 있다. 예를 들어, "PrOgRAMmINgiSgrEAt"에서 "PrOgRAM"을 부분 문자열로 선택한 후 복잡도를 계산했다면 다음 복잡도를 계산하기 위해서는 "PrOgRAM"의 대소문자를 뒤집은 “pRoGrammINgiSgrEAt” 에 대해 복잡도를 계산해야 한다. 이어서  “pRoGrammINgiSgrEAt”의 부분 문자열 “ammINgi”에 대해 복잡도를 계산했다면 다음 복잡도를 계산하기 위해선 “pRoGrAMMinGISgrEAt”에 대해 복잡도를 계산해야 한다.

규칙을 만든 꿍 조차도 너무 헷갈린다. 그냥 여러분이 복잡도를 계산하는 프로그램을 만들자.

입력으로는 꿍이 선택한 T와 꿍글리쉬 문장 한 개, 그리고 꿍이 선택할 부분 문자열이 순서대로 주어질 것이며 여러분은 이 정보들을 이용하여 각 경우의 복잡도를 계산하면 된다.

입력

입력의 첫 번째 줄은 정수 N (1 ≤ N ≤ 105)과 최대 5글자인 T가 공백을 사이에 두고 주어지며 N은 부분 문자열의 선택 횟수를 나타낸다.

두 번째 줄은 공백이 없는 꿍글리쉬 문장 P가 주어지며 길이는 최대 100000이다.

다음 각 N줄은 두 개의 정수 L, R (1 ≤ L ≤ R ≤ |P|) 이 주어지며 꿍글리쉬 문장 P의 L~R번째의 부분 문자열의 복잡도를 계산함을 의미한다. 꿍글리쉬 문장의 가장 왼쪽 문자가 1번째 문자이며 가장 오론쪽 문자는 N번째 문자다.

출력

출력은 N줄로 이루어지며 각 줄은 하나의 정수를 포함한다.

각 줄에는 꿍글리쉬의 복잡도를 출력하며 만약 T가 꿍글리쉬 문장에 나타나지 않는 경우 -1을 출력한다.

예제 입력 1

3 gR
PrOgRAMmINgiSgrEAt
1 7
4 18
6 14

예제 출력 1

0
2
-1

힌트

처음 꿍글리쉬 문장 : PrOgRAMmINgiSgrEAt

1~7번째 부분 문자열 : PrOgRAM (복잡도 후보 : 0)

바뀐 꿍글리쉬 문장 : pRoGrammINgiSgrEAt

4~18번째 부분 문자열 : GrammINgiSgrEAt (복잡도 후보 : 2,1)

바뀐 꿍글리쉬 문장 : pRogRAMMinGIsGReaT

6~14번째 부분 문자열 : AMMinGIsG (복잡도 후보 : 없음)

W3sicHJvYmxlbV9pZCI6Ijk1MjYiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWFmY2RcdWFlMDBcdWI5YWNcdWMyNmMiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YWZjZFx1Yzc0MCBcdWM2MDFcdWQwYzBcdWMxOGRcdWIzYzRcdWI5N2MgXHViMTkyXHVjNzc0XHVhZTMwIFx1YzcwNFx1ZDU3NCBcdWM1ZjRcdWMyZWNcdWQ3ODggXHViMTc4XHViODI1XHVkNTg4XHVhY2UwIFx1YjM1NVx1YmQ4NFx1YzVkMCBcdWMyMWNcdWMyZGRcdWFjMDRcdWM1ZDAgXHViOWNlXHVjNzQwIFx1YzYwMVx1YzViNFx1Yjk3YyBcdWM3ODVcdWI4MjVcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVkNTU4XHVjOWMwXHViOWNjIFx1YzYwMVx1ZDBjMFx1YzE4ZFx1YjNjNFx1YjljYyBcdWIxOTJcdWM3NzRcdWIyZTQgXHViY2Y0XHViMmM4IFx1YWZjZFx1Yzc3NCBcdWM3ODVcdWI4MjVcdWQ1NThcdWIyOTQgXHVjNjAxXHVjNWI0XHViMjk0IFx1Yjc0NFx1YzViNFx1YzRmMFx1YWUzMFx1YzY0MCBcdWJiMzhcdWM3YTVcdWJkODBcdWQ2MzhcdWFjMDAgXHVjODA0XHVkNjAwIFx1YzVjNlx1YWNlMCBcdWIzMDBcdWMxOGNcdWJiMzhcdWM3OTBcdWIzYzQgXHVjODFjXHViYTRiXHViMzAwXHViODVjXHVjNzc4LCBcdWIyMDRcdWFkNmNcdWIzYzQgXHVjNTRjXHVjNTQ0XHViY2Y0XHVhZTMwIFx1ZDc5OFx1YjRlMCAmIzM5O1x1YWZjZFx1YWUwMFx1YjlhY1x1YzI2YyYjMzk7XHVhYzAwIFx1YjQxOFx1YWNlMCBcdWI5ZDBcdWM1NThcdWIyZTQuIFx1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjQgXHVjNjAxXHVjNWI0XHViODVjICZxdW90O3Byb2dyYW1taW5nIGlzIGdyZWF0JnF1b3Q7XHVhY2ZjIFx1YWMxOVx1Yzc0MCBcdWJiMzhcdWM3YTVcdWM3NzQgXHVjNzg4XHViMmU0XHViYTc0Jm5ic3A7XHVhZmNkXHVjNzQwICZxdW90O1ByT2dSQU1tSU5naVNnckVBdCZxdW90O1x1YWNmYyBcdWFjMTlcdWM3NzQgXHVhZmNkXHVhZTAwXHViOWFjXHVjMjZjXHViODVjIFx1YjljY1x1YjRlNFx1YzViNFx1YmM4NFx1YjliMFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhZmNkXHVjNzQwIFx1Yzc5MFx1YzJlMFx1Yzc3NCBcdWM1YmNcdWI5YzhcdWIwOTggXHViY2Y1XHVjN2ExXHVkNTVjIFx1YWZjZFx1YWUwMFx1YjlhY1x1YzI2Y1x1Yjk3YyBcdWI5Y2NcdWI0ZTRcdWM1YzhcdWIyOTRcdWM5YzAgXHVjNTRjXHVjNTQ0XHViY2Y0XHVhZTMwIFx1YzcwNFx1ZDU3NCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjNzQwIFx1YWNmY1x1YzgxNVx1Yzc0NCBcdWM5YzRcdWQ1ODlcdWQ1NThcdWFlMzBcdWI4NWMgXHVkNTg4XHViMmU0LiBcdWJhM2NcdWM4MDAgXHVhZmNkXHVjNzQwIFx1Yzc4NFx1Yzc1OFx1Yzc1OCZuYnNwO1x1YjJlOFx1YzViNCBUXHViOTdjIFx1YzEyMFx1ZDBkZFx1ZDU1Y1x1YjJlNC4gXHVhZGY4IFx1YjJlNFx1Yzc0YywgXHVhZmNkXHVhZTAwXHViOWFjXHVjMjZjIFx1YmIzOFx1YzdhNVx1Yzc1OCBcdWJkODBcdWJkODQgXHViYjM4XHVjNzkwXHVjNWY0XHVjNWQwXHVjMTFjIFx1YjMwMFx1YzE4Y1x1YmIzOFx1Yzc5MFx1Yjk3YyBcdWMyZTBcdWFjYmRcdWM0ZjBcdWM5YzAgXHVjNTRhXHVhY2UwIFRcdWI5N2MgXHViYWE4XHViNDUwIFx1Y2MzZVx1YWNlMCwmbmJzcDtcdWFjMDEgXHVhY2JkXHVjNmIwXHViOWM4XHViMmU0IFRcdWM2NDAgXHViMzAwXHVjMThjXHViYjM4XHVjNzkwXHVhYzAwIFx1YmE4NyBcdWFjMWNcdWFjMDAgXHViMmU0XHViOTc4XHVjOWMwIFx1YWNjNFx1YzBiMFx1ZDU1Y1x1YjJlNC4gXHVjNzc0IFx1YWMxMlx1YjRlNCBcdWM5MTEgXHVhYzAwXHVjN2E1IFx1ZDA3MCBcdWFjMTJcdWM3NzQgXHVhZmNkXHVhZTAwXHViOWFjXHVjMjZjXHVjNzU4IFx1YmNmNVx1YzdhMVx1YjNjNFx1Yjk3YyBcdWIwOThcdWQwYzBcdWIwYjhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjQsIFx1YWZjZFx1Yzc3NCAmcXVvdDtHUiZxdW90O1x1Yzc0NCBUXHViODVjIFx1YzEyMFx1ZDBkZFx1ZDU1OFx1YWNlMCAmcXVvdDtQck9nUkFNbUlOZ2lTZ3JFQXQmcXVvdDtcdWM1ZDBcdWMxMWMgJmxkcXVvO1ByT2dSQU0mcmRxdW87XHVjNzQ0IFx1YmQ4MFx1YmQ4NCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWI4NWMgXHVjMTIwXHVkMGRkXHVkNTg4XHVjNzQ0IFx1YWNiZFx1YzZiMCwgVFx1YjI5NCAmcXVvdDtnUiZxdW90O1x1YzVkMFx1YzExYyBcdWQ1NWMgXHViYzg4IFx1YjA5OFx1ZDBjMFx1YjA5OFx1YjI5NFx1YjM3MCBcdWM3NzRcdWI1NGMgXHViY2Y1XHVjN2ExXHViM2M0XHViMjk0IDFcdWM3NzQgXHViNDFjXHViMmU0LiBcdWFjMTlcdWM3NDAgXHViZDgwXHViZDg0IFx1YmIzOFx1Yzc5MFx1YzVmNCAmcXVvdDtQck9nUkFNJnF1b3Q7XHVjNWQwXHVjMTFjICZxdW90O3ImcXVvdDtcdWM3NzQgVFx1Yjg1YyBcdWMxMjBcdWQwZGRcdWI0MWMgXHVhY2JkXHVjNmIwIFRcdWIyOTQgJnF1b3Q7ciZxdW90O1x1YWNmYyAmcXVvdDtSJnF1b3Q7XHVjNWQwXHVjMTFjIFx1Y2QxZCBcdWI0NTAgXHViYzg4IFx1YjA5OFx1ZDBjMFx1YjA5OFx1YjI5NFx1YjM3MCBcdWFjMDFcdWFjMDFcdWM3NTggXHViY2Y1XHVjN2ExXHViM2M0IFx1ZDZjNFx1YmNmNFx1YjI5NCAwXHVhY2ZjIDFcdWM3NzQgXHViNDE4XHViYmMwXHViODVjIFx1Yzc3NFx1YjU0Y1x1Yzc1OCZuYnNwO1x1YmNmNVx1YzdhMVx1YjNjNFx1YjI5NCAxXHVjNzc0IFx1YjQxY1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzc4XHVjMTMxXHVjNzc0IFx1YzU0OCBcdWM4OGJcdWM3NDAgXHVhZmNkXHVjNzQwIFx1YzVlY1x1YjdlY1x1YmQ4NFx1Yzc0NCBcdWIzNTRcdWM2YjEgXHVkNjU0XHViMDk4XHVhYzhjIFx1ZDU1OFx1YWUzMCBcdWM3MDRcdWQ1NzQgXHVjNzc0IFx1YmNmNVx1YzdhMVx1YjNjNCBcdWFjYzRcdWMwYjBcdWM3NDQgXHViMzU0IFx1ZDc5OFx1YjRlNFx1YWM4YyBcdWQ1NThcdWFjZTBcdWM3OTAgXHViNjEwIFx1YjJlNFx1Yjk3OCBcdWFkZGNcdWNlNTlcdWM3NDQgXHVhY2UwXHVjNTQ4XHVkNTg4XHViMmU0LiBcdWM1ZWNcdWI3ZWNcdWJkODRcdWM3NDAgXHVkNTVjIFx1YmM4OFx1Yzc1OCBcdWJjZjVcdWM3YTFcdWIzYzRcdWI5N2MgXHVhY2M0XHVjMGIwXHVkNTU4XHVhY2UwIFx1YjA5OFx1YzExY1x1YjI5NCBcdWMxMjBcdWQwZGRcdWI0MWMgXHViZDgwXHViZDg0IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc1OCBcdWIzMDBcdWMxOGNcdWJiMzhcdWM3OTBcdWI5N2MgXHViYzE0XHVhZmJjIFx1ZDZjNCBcdWFkZjggXHViMmU0XHVjNzRjIFx1YmNmNVx1YzdhMVx1YjNjNFx1Yjk3YyBcdWFjYzRcdWMwYjBcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC4gXHVjNjA4XHViOTdjIFx1YjRlNFx1YzViNCwgJnF1b3Q7UHJPZ1JBTW1JTmdpU2dyRUF0JnF1b3Q7XHVjNWQwXHVjMTFjICZxdW90O1ByT2dSQU0mcXVvdDtcdWM3NDQgXHViZDgwXHViZDg0IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yjg1YyBcdWMxMjBcdWQwZGRcdWQ1NWMgXHVkNmM0IFx1YmNmNVx1YzdhMVx1YjNjNFx1Yjk3YyBcdWFjYzRcdWMwYjBcdWQ1ODhcdWIyZTRcdWJhNzQgXHViMmU0XHVjNzRjIFx1YmNmNVx1YzdhMVx1YjNjNFx1Yjk3YyBcdWFjYzRcdWMwYjBcdWQ1NThcdWFlMzAgXHVjNzA0XHVkNTc0XHVjMTFjXHViMjk0ICZxdW90O1ByT2dSQU0mcXVvdDtcdWM3NTggXHViMzAwXHVjMThjXHViYjM4XHVjNzkwXHViOTdjIFx1YjRhNFx1YzlkMVx1Yzc0MCAmbGRxdW87cFJvR3JhbW1JTmdpU2dyRUF0JnJkcXVvOyBcdWM1ZDAgXHViMzAwXHVkNTc0IFx1YmNmNVx1YzdhMVx1YjNjNFx1Yjk3YyBcdWFjYzRcdWMwYjBcdWQ1NzRcdWM1N2MgXHVkNTVjXHViMmU0LiBcdWM3NzRcdWM1YjRcdWMxMWMgJm5ic3A7JmxkcXVvO3BSb0dyYW1tSU5naVNnckVBdCZyZHF1bztcdWM3NTggXHViZDgwXHViZDg0IFx1YmIzOFx1Yzc5MFx1YzVmNCAmbGRxdW87YW1tSU5naSZyZHF1bztcdWM1ZDAgXHViMzAwXHVkNTc0IFx1YmNmNVx1YzdhMVx1YjNjNFx1Yjk3YyBcdWFjYzRcdWMwYjBcdWQ1ODhcdWIyZTRcdWJhNzQgXHViMmU0XHVjNzRjIFx1YmNmNVx1YzdhMVx1YjNjNFx1Yjk3YyBcdWFjYzRcdWMwYjBcdWQ1NThcdWFlMzAgXHVjNzA0XHVkNTc0XHVjMTIwICZsZHF1bztwUm9HckFNTWluR0lTZ3JFQXQmcmRxdW87XHVjNWQwIFx1YjMwMFx1ZDU3NCBcdWJjZjVcdWM3YTFcdWIzYzRcdWI5N2MgXHVhY2M0XHVjMGIwXHVkNTc0XHVjNTdjIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhZGRjXHVjZTU5XHVjNzQ0IFx1YjljY1x1YjRlMCBcdWFmY2QgXHVjODcwXHVjYzI4XHViM2M0IFx1YjEwOFx1YmIzNCBcdWQ1ZjdcdWFjMDhcdWI5YjBcdWIyZTQuIFx1YWRmOFx1YjBlNSBcdWM1ZWNcdWI3ZWNcdWJkODRcdWM3NzQgXHViY2Y1XHVjN2ExXHViM2M0XHViOTdjIFx1YWNjNFx1YzBiMFx1ZDU1OFx1YjI5NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NDQgXHViOWNjXHViNGU0XHVjNzkwLjxcL3A+XHJcblxyXG48cD5cdWM3ODVcdWI4MjVcdWM3M2NcdWI4NWNcdWIyOTQgXHVhZmNkXHVjNzc0IFx1YzEyMFx1ZDBkZFx1ZDU1YyBUXHVjNjQwIFx1YWZjZFx1YWUwMFx1YjlhY1x1YzI2YyBcdWJiMzhcdWM3YTUgXHVkNTVjIFx1YWMxYywgXHVhZGY4XHViOWFjXHVhY2UwIFx1YWZjZFx1Yzc3NCBcdWMxMjBcdWQwZGRcdWQ1NjAgXHViZDgwXHViZDg0IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NCBcdWMyMWNcdWMxMWNcdWIzMDBcdWI4NWMgXHVjOGZjXHVjNWI0XHVjOWM4IFx1YWM4M1x1Yzc3NFx1YmE3MCBcdWM1ZWNcdWI3ZWNcdWJkODRcdWM3NDAgXHVjNzc0IFx1YzgxNVx1YmNmNFx1YjRlNFx1Yzc0NCBcdWM3NzRcdWM2YTlcdWQ1NThcdWM1ZWMgXHVhYzAxIFx1YWNiZFx1YzZiMFx1Yzc1OCBcdWJjZjVcdWM3YTFcdWIzYzRcdWI5N2MgXHVhY2M0XHVjMGIwXHVkNTU4XHViYTc0IFx1YjQxY1x1YjJlNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Yzc4NVx1YjgyNVx1Yzc1OCBcdWNjYWIgXHViYzg4XHVjOWY4IFx1YzkwNFx1Yzc0MCBcdWM4MTVcdWMyMTggTiAoMSAmbGU7IE4gJmxlOyAxMDxzdXA+NTxcL3N1cD4pXHVhY2ZjIFx1Y2Q1Y1x1YjMwMCA1XHVhZTAwXHVjNzkwXHVjNzc4IFRcdWFjMDAgXHVhY2Y1XHViYzMxXHVjNzQ0IFx1YzBhY1x1Yzc3NFx1YzVkMCBcdWI0NTBcdWFjZTAgXHVjOGZjXHVjNWI0XHVjOWMwXHViYTcwIE5cdWM3NDAgXHViZDgwXHViZDg0IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc1OCBcdWMxMjBcdWQwZGQgXHVkNjlmXHVjMjE4XHViOTdjIFx1YjA5OFx1ZDBjMFx1YjBiOFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViNDUwIFx1YmM4OFx1YzlmOCBcdWM5MDRcdWM3NDAgXHVhY2Y1XHViYzMxXHVjNzc0IFx1YzVjNlx1YjI5NCBcdWFmY2RcdWFlMDBcdWI5YWNcdWMyNmMgXHViYjM4XHVjN2E1IFBcdWFjMDAgXHVjOGZjXHVjNWI0XHVjOWMwXHViYTcwIFx1YWUzOFx1Yzc3NFx1YjI5NCBcdWNkNWNcdWIzMDAgMTAwMDAwXHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWIyZTRcdWM3NGMgXHVhYzAxIE5cdWM5MDRcdWM3NDAgXHViNDUwIFx1YWMxY1x1Yzc1OCBcdWM4MTVcdWMyMTggTCwgUiAoMSAmbGU7IEwgJmxlOyBSICZsZTsgfFB8KSBcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWMwXHViYTcwIFx1YWZjZFx1YWUwMFx1YjlhY1x1YzI2YyBcdWJiMzhcdWM3YTUgUFx1Yzc1OCBMflJcdWJjODhcdWM5ZjhcdWM3NTggXHViZDgwXHViZDg0IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc1OCBcdWJjZjVcdWM3YTFcdWIzYzRcdWI5N2MgXHVhY2M0XHVjMGIwXHVkNTY4XHVjNzQ0IFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNC4gXHVhZmNkXHVhZTAwXHViOWFjXHVjMjZjIFx1YmIzOFx1YzdhNVx1Yzc1OCBcdWFjMDBcdWM3YTUgXHVjNjdjXHVjYWJkIFx1YmIzOFx1Yzc5MFx1YWMwMCAxXHViYzg4XHVjOWY4IFx1YmIzOFx1Yzc5MFx1Yzc3NFx1YmE3MCBcdWFjMDBcdWM3YTUgXHVjNjI0XHViODYwXHVjYWJkIFx1YmIzOFx1Yzc5MFx1YjI5NCBOXHViYzg4XHVjOWY4IFx1YmIzOFx1Yzc5MFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWNkOWNcdWI4MjVcdWM3NDAgTlx1YzkwNFx1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM5YzBcdWJhNzAgXHVhYzAxIFx1YzkwNFx1Yzc0MCBcdWQ1NThcdWIwOThcdWM3NTggXHVjODE1XHVjMjE4XHViOTdjIFx1ZDNlY1x1ZDU2OFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhYzAxIFx1YzkwNFx1YzVkMFx1YjI5NCBcdWFmY2RcdWFlMDBcdWI5YWNcdWMyNmNcdWM3NTggXHViY2Y1XHVjN2ExXHViM2M0XHViOTdjIFx1Y2Q5Y1x1YjgyNVx1ZDU1OFx1YmE3MCBcdWI5Y2NcdWM1N2QgVFx1YWMwMCBcdWFmY2RcdWFlMDBcdWI5YWNcdWMyNmMgXHViYjM4XHVjN2E1XHVjNWQwIFx1YjA5OFx1ZDBjMFx1YjA5OFx1YzljMCBcdWM1NGFcdWIyOTQgXHVhY2JkXHVjNmIwIC0xXHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiPHA+XHVjYzk4XHVjNzRjJm5ic3A7XHVhZmNkXHVhZTAwXHViOWFjXHVjMjZjIFx1YmIzOFx1YzdhNSA6IFByT2dSQU1tSU5naVNnckVBdDxcL3A+XHJcblxyXG48cD4xfjdcdWJjODhcdWM5ZjggXHViZDgwXHViZDg0IFx1YmIzOFx1Yzc5MFx1YzVmNCA6IFByT2dSQU0gKFx1YmNmNVx1YzdhMVx1YjNjNCBcdWQ2YzRcdWJjZjQmbmJzcDs6IDApPFwvcD5cclxuXHJcbjxwPlx1YmMxNFx1YjAxMCBcdWFmY2RcdWFlMDBcdWI5YWNcdWMyNmMgXHViYjM4XHVjN2E1IDogcFJvR3JhbW1JTmdpU2dyRUF0PFwvcD5cclxuXHJcbjxwPjR+MThcdWJjODhcdWM5ZjggXHViZDgwXHViZDg0IFx1YmIzOFx1Yzc5MFx1YzVmNCA6IEdyYW1tSU5naVNnckVBdCAoXHViY2Y1XHVjN2ExXHViM2M0IFx1ZDZjNFx1YmNmNCZuYnNwOzogMiwxKTxcL3A+XHJcblxyXG48cD5cdWJjMTRcdWIwMTAgXHVhZmNkXHVhZTAwXHViOWFjXHVjMjZjIFx1YmIzOFx1YzdhNSA6IHBSb2dSQU1NaW5HSXNHUmVhVDxcL3A+XHJcblxyXG48cD42fjE0XHViYzg4XHVjOWY4IFx1YmQ4MFx1YmQ4NCBcdWJiMzhcdWM3OTBcdWM1ZjQgOiBBTU1pbkdJc0cgKFx1YmNmNVx1YzdhMVx1YjNjNCBcdWQ2YzRcdWJjZjQgOiBcdWM1YzZcdWM3NGMpPFwvcD5cclxuIiwib3JpZ2luYWwiOiIwIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWQ1NWNcdWFkNmRcdWM1YjQifSx7InByb2JsZW1faWQiOiI5NTI2IiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiQmxvZ2dlciBsYW5ndWFnZSIsImRlc2NyaXB0aW9uIjoiPHA+QmVuamFtaW4mcnNxdW87cyBncmFuZGRhdWdodGVyIEJyZW5kYSBoYXMgYSBibG9nIHdoZXJlIHNoZSBwb3N0cyBhcnRpY2xlcyBhYm91dCBzY2hvb2wsIGZyaWVuZHMgYW5kIG90aGVyIGxpZmUgaXNzdWVzLiBJbnRyaWd1ZWQgYnkgaGVyIG9waW5pb25zLCBCZW5qYW1pbiB0cmllZCB0byByZWFkIGl0LCBidXQgdmVyeSBzb29uIGhlIHJlYWxpemVkIGl0IHdhcyB0b28gaGFyZCB0byByZWFkIGJlY2F1c2Ugb2YgQnJlbmRhJnJzcXVvO3Mgd3JpdGluZyBxdWlya3MuPFwvcD5cclxuXHJcbjxwPkJyZW5kYSB3cml0ZXMgd2l0aG91dCBzcGFjZXMgb3IgcHVuY3R1YXRpb24gbWFya3MsIGFuZCBtb3Jlb3Zlciwgc2hlIHVzZXMgbG93ZXIgYW5kIHVwcGVyY2FzZSBsZXR0ZXJzIGluIGEgbGliZXJhbCBhbmQgc3RyYW5nZSB3YXkuIEZvciBleGFtcGxlLCBvbmUgb2YgaGVyIHBvc3RzIGlzICZsZHF1bztQck9nUkFNbUlOZ2lTZ3JFQXQmcmRxdW87LiBCZW5qYW1pbiBoYXMgdHJvdWJsZSBub3RpY2luZyB0aGUgd29yZHMgJmxkcXVvO3Byb2dyYW1taW5nJnJkcXVvOywgJmxkcXVvO2lzJnJkcXVvOyBhbmQgJmxkcXVvO2dyZWF0JnJkcXVvOyB3aGVuIHRoZXkgYXJlIHdyaXR0ZW4gaW4gdGhpcyB3YXkuPFwvcD5cclxuXHJcbjxwPlRvIGltcHJvdmUgaGlzIHVuZGVyc3RhbmRpbmcgQmVuamFtaW4gZGVjaWRlZCB0byBkbyB0aGUgZm9sbG93aW5nOiBoZSB3aWxsIGZpcnN0IGNob29zZSBhIHBhcnRpY3VsYXIgc3RyaW5nIFQgYW5kIGEgYmxvZyBwb3N0IGhlIGlzIGludGVyZXN0ZWQgaW47IHRoZW4gaGUgd2lsbCBzZWxlY3QgYSBjb250aWd1b3VzIHN1YnN0cmluZyBvZiB0aGUgcG9zdCBhbmQgc2VhcmNoIGZvciBUIHdpdGhpbiB0aGUgc3Vic3RyaW5nLCBpbiBhIGNhc2UtaW5zZW5zaXRpdmUgd2F5OyBmb3IgZWFjaCBvY2N1cnJlbmNlIG9mIFQgd2l0aGluIHRoZSBzdWJzdHJpbmcsIGhlIHdpbGwgY2FsY3VsYXRlIHRoZSBudW1iZXIgb2YgY2FzZSBtaXNtYXRjaGVzLCBhbmQgZmluYWxseSBoZSB3aWxsIG9idGFpbiB0aGUgbWF4aW11bSBhbW9uZyBhbGwgdGhlc2UgdmFsdWVzLiBGb3IgZXhhbXBsZSwgaWYgQmVuamFtaW4gY2hvb3NlcyAmbGRxdW87R1ImcmRxdW87IGFzIFQgYW5kIHRoZW4gc2VsZWN0cyB0aGUgc3Vic3RyaW5nICZsZHF1bztQck9nUkFNJnJkcXVvOywgaGUgd291bGQgZmluZCBhIHNpbmdsZSBvY2N1cnJlbmNlICZsZHF1bztnUiZyZHF1bzsgZm9yIHdoaWNoIHRoZSBudW1iZXIgb2YgY2FzZSBtaXNtYXRjaGVzIGlzIDEuIEZvciB0aGUgc2FtZSBzdWJzdHJpbmcsIGlmICZsZHF1bztyJnJkcXVvOyB3YXMgY2hvc2VuIGFzIFQsIGhlIHdvdWxkIGhhdmUgZm91bmQgdHdvIG9jY3VycmVuY2VzLCAmbGRxdW87ciZyZHF1bzsgd2l0aCAwIG1pc21hdGNoZXMgYW5kICZsZHF1bztSJnJkcXVvOyB3aXRoIDEgbWlzbWF0Y2gsIHNvIHRoZSBtYXhpbXVtIG51bWJlciBvZiBtaXNtYXRjaGVzIHdvdWxkIGJlIDEuPFwvcD5cclxuXHJcbjxwPlRvIGNvbXBsaWNhdGUgdGhpbmdzIGZ1cnRoZXIsIEJyZW5kYSBpbmNsdWRlZCBpbiB0aGUgYmxvZyBhIHNjcmlwdCB0aGF0LCBhZnRlciBvcGVyYXRpbmcgd2l0aCBhIHN1YnN0cmluZyBzZWxlY3Rpb24sIGZsaXBzIHRoZSBjYXNlIG9mIGFsbCB0aGUgc2VsZWN0ZWQgbGV0dGVycy4gVGhpcyBtZWFucyB0aGF0IGFmdGVyIHNlbGVjdGluZyAmbGRxdW87UHJPZ1JBTSZyZHF1bzsgYW5kIHByb2NlZWRpbmcgYXMgZXhwbGFpbmVkIGFib3ZlLCB0aGUgc2FtcGxlIHBvc3Qgd291bGQgcmVhZCAmbGRxdW87cFJvR3JhbW1JTmdpU2dyRUF0JnJkcXVvOy4gSWYgQmVuamFtaW4gc2VsZWN0cyAmbGRxdW87YW1tSU5naSZyZHF1bzsgYXMgYSBzZWNvbmQgc3Vic3RyaW5nLCBhZnRlciBjYWxjdWxhdGluZyBoaXMgcmVzdWx0IHRoZSBwb3N0IHdvdWxkIGJlIGxlZnQgYXMgJmxkcXVvO3BSb0dyQU1NaW5HSVNnckVBdCZyZHF1bzssIGFjY3VtdWxhdGluZyBib3RoIGZsaXBzLjxcL3A+XHJcblxyXG48cD5Zb3Ugd2lsbCBiZSBnaXZlbiB0aGUgc3RyaW5nIFQgYW5kIHRoZSBvcmlnaW5hbCB0ZXh0IG9mIHRoZSBibG9nIHBvc3QgY2hvc2VuIGJ5IEJlbmphbWluLiBZb3Ugd2lsbCBhbHNvIGJlIGdpdmVuIGEgbGlzdCBvZiBzdWJzdHJpbmcgc2VsZWN0aW9ucyBCZW5qYW1pbiBtYWRlLCBpbiB0aGUgb3JkZXIgaGUgbWFkZSB0aGVtLiBZb3UgbmVlZCB0byBjYWxjdWxhdGUsIGZvciBlYWNoIHNlbGVjdGlvbiwgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNhc2UgbWlzbWF0Y2hlcyBvZiB0aGUgb2NjdXJyZW5jZXMgb2YgVCBpbiB0aGUgc2VsZWN0ZWQgcGFydCwgY29uc2lkZXJpbmcgYWxsIHRoZSBjYXNlIGZsaXBzIG1hZGUgYnkgcHJldmlvdXMgc2VsZWN0aW9ucy4gTm90aWNlIHRoYXQgdGhlIGZsaXBwaW5nIG9mIHRoZSBjYXNlIG9jY3VycyBhZnRlciBjYWxjdWxhdGluZyB0aGUgcmVzdWx0IGZvciBlYWNoIHNlbGVjdGlvbi48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIGNvbnRhaW5zIGFuIGludGVnZXIgTiAoMSAmbGU7IE4gJmxlOyAxMDxzdXA+NTxcL3N1cD4pIGFuZCBhIG5vbi1lbXB0eSBzdHJpbmcgVCBvZiBhdCBtb3N0IDUgbGV0dGVycywgcmVwcmVzZW50aW5nIHJlc3BlY3RpdmVseSB0aGUgbnVtYmVyIG9mIHN1YnN0cmluZyBzZWxlY3Rpb25zIGFuZCB0aGUgc3RyaW5nIHRvIHNlYXJjaCBmb3IuIFRoZSBzZWNvbmQgbGluZSBjb250YWlucyBhIG5vbi1lbXB0eSBzdHJpbmcgUCBvZiBhdCBtb3N0IDEwPHN1cD41PFwvc3VwPiBsZXR0ZXJzLCBpbmRpY2F0aW5nIHRoZSBvcmlnaW5hbCB0ZXh0IG9mIHRoZSBibG9nIHBvc3QuIFBvc2l0aW9ucyBvZiB0aGUgcG9zdCBhcmUgbnVtYmVyZWQgd2l0aCBjb25zZWN1dGl2ZSBpbnRlZ2VycyBmcm9tIGxlZnQgdG8gcmlnaHQsIGJlaW5nIDEgdGhlIGxlZnRtb3N0IHBvc2l0aW9uIGFuZCB8UHwgdGhlIHJpZ2h0bW9zdCBwb3NpdGlvbi4gRWFjaCBvZiB0aGUgbmV4dCBOIGxpbmVzIGRlc2NyaWJlcyBhIHN1YnN0cmluZyBzZWxlY3Rpb24gd2l0aCB0d28gaW50ZWdlcnMgTCBhbmQgUiAoMSAmbGU7IEwgJmxlOyBSICZsZTsgfFB8KSBpbmRpY2F0aW5nIHRoYXQgdGhlIHN1YnN0cmluZyBzdGFydHMgYXQgcG9zaXRpb24gTCBhbmQgZW5kcyBhdCBwb3NpdGlvbiBSLCBpbmNsdXNpdmUuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+T3V0cHV0IE4gbGluZXMsIGVhY2ggb2YgdGhlbSBjb250YWluaW5nIGFuIGludGVnZXIuIEluIHRoZSBpLXRoIGxpbmUgd3JpdGUgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNhc2UgbWlzbWF0Y2hlcyBvZiB0aGUgb2NjdXJyZW5jZXMgb2YgVCBpbiB0aGUgaS10aCBzdWJzdHJpbmcgc2VsZWN0aW9uLCBjb25zaWRlcmluZyBhbGwgdGhlIGNhc2UgZmxpcHMgbWFkZSBieSBwcmV2aW91cyBzZWxlY3Rpb25zOyBpZiBubyBzdWNoIG9jY3VycmVuY2UgZXhpc3RzIHdyaXRlIHRoZSB2YWx1ZSAtMS48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWM2MDFcdWM1YjQifV0=