시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
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+XHVhZmNkXHVjNzQwIFx1Yzc5MFx1YzJlMFx1Yzc3NCBcdWM1YmNcdWI5YzhcdWIwOTggXHViY2Y1XHVjN2ExXHVkNTVjIFx1YWZjZFx1YWUwMFx1YjlhY1x1YzI2Y1x1Yjk3YyBcdWI5Y2NcdWI0ZTRcdWM1YzhcdWIyOTRcdWM5YzAgXHVjNTRjXHVjNTQ0XHViY2Y0XHVhZTMwIFx1YzcwNFx1ZDU3NCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjNzQwIFx1YWNmY1x1YzgxNVx1Yzc0NCBcdWM5YzRcdWQ1ODlcdWQ1NThcdWFlMzBcdWI4NWMgXHVkNTg4XHViMmU0LiBcdWJhM2NcdWM4MDAgXHVhZmNkXHVjNzQwIFx1Yzc4NFx1Yzc1OFx1Yzc1OCZuYnNwO1x1YjJlOFx1YzViNCBUXHViOTdjIFx1YzEyMFx1ZDBkZFx1ZDU1Y1x1YjJlNC4gXHVhZGY4IFx1YjJlNFx1Yzc0YywgXHVhZmNkXHVhZTAwXHViOWFjXHVjMjZjIFx1YmIzOFx1YzdhNVx1Yzc1OCBcdWJkODBcdWJkODQgXHViYjM4XHVjNzkwXHVjNWY0XHVjNWQwXHVjMTFjIFx1YjMwMFx1YzE4Y1x1YmIzOFx1Yzc5MFx1Yjk3YyBcdWMyZTBcdWFjYmRcdWM0ZjBcdWM5YzAgXHVjNTRhXHVhY2UwIFRcdWI5N2MgXHViYWE4XHViNDUwIFx1Y2MzZVx1YWNlMCwmbmJzcDtcdWFjMDEgXHVhY2JkXHVjNmIwXHViOWM4XHViMmU0IFRcdWM2NDAgXHViMzAwXHVjMThjXHViYjM4XHVjNzkwXHVhYzAwIFx1YmE4NyBcdWFjMWNcdWFjMDAgXHViMmU0XHViOTc4XHVjOWMwIFx1YWNjNFx1YzBiMFx1ZDU1Y1x1YjJlNC4gXHVjNzc0IFx1YWMxMlx1YjRlNCBcdWM5MTEgXHVhYzAwXHVjN2E1IFx1ZDA3MCBcdWFjMTJcdWM3NzQgXHVhZmNkXHVhZTAwXHViOWFjXHVjMjZjXHVjNzU4IFx1YmNmNVx1YzdhMVx1YjNjNFx1Yjk3YyBcdWIwOThcdWQwYzBcdWIwYjhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YzYwOFx1Yjk3YyBcdWI0ZTRcdWM1YjQsIFx1YWZjZFx1Yzc3NCAmcXVvdDtHUiZxdW90O1x1Yzc0NCBUXHViODVjIFx1YzEyMFx1ZDBkZFx1ZDU1OFx1YWNlMCAmcXVvdDtQck9nUkFNbUlOZ2lTZ3JFQXQmcXVvdDtcdWM1ZDBcdWMxMWMgJmxkcXVvO1ByT2dSQU0mcmRxdW87XHVjNzQ0IFx1YmQ4MFx1YmQ4NCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWI4NWMgXHVjMTIwXHVkMGRkXHVkNTg4XHVjNzQ0IFx1YWNiZFx1YzZiMCwgVFx1YjI5NCAmcXVvdDtnUiZxdW90O1x1YzVkMFx1YzExYyBcdWQ1NWMgXHViYzg4IFx1YjA5OFx1ZDBjMFx1YjA5OFx1YjI5NFx1YjM3MCBcdWM3NzQgXHViNTRjIFx1YmNmNVx1YzdhMVx1YjNjNFx1YjI5NCAxXHVjNzc0IFx1YjQxY1x1YjJlNC4gXHVhYzE5XHVjNzQwIFx1YmQ4MFx1YmQ4NCBcdWJiMzhcdWM3OTBcdWM1ZjQgJnF1b3Q7UHJPZ1JBTSZxdW90O1x1YzVkMFx1YzExYyAmcXVvdDtyJnF1b3Q7XHVjNzc0IFRcdWI4NWMgXHVjMTIwXHVkMGRkXHViNDFjIFx1YWNiZFx1YzZiMCBUXHViMjk0ICZxdW90O3ImcXVvdDtcdWFjZmMgJnF1b3Q7UiZxdW90O1x1YzVkMFx1YzExYyBcdWNkMWQgXHViNDUwIFx1YmM4OCBcdWIwOThcdWQwYzBcdWIwOThcdWIyOTRcdWIzNzAgXHVhYzAxXHVhYzAxXHVjNzU4IFx1YmNmNVx1YzdhMVx1YjNjNCBcdWQ2YzRcdWJjZjRcdWIyOTQgMFx1YWNmYyAxXHVjNzc0IFx1YjQxOFx1YmJjMFx1Yjg1YyBcdWM3NzQgXHViNTRjXHVjNzU4Jm5ic3A7XHViY2Y1XHVjN2ExXHViM2M0XHViMjk0IDFcdWM3NzQgXHViNDFjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM3NzhcdWMxMzFcdWM3NzQgXHVjNTQ4IFx1Yzg4Ylx1Yzc0MCBcdWFmY2RcdWM3NDAgXHVjNWVjXHViN2VjXHViZDg0XHVjNzQ0IFx1YjM1NFx1YzZiMSBcdWQ2NTRcdWIwOThcdWFjOGMgXHVkNTU4XHVhZTMwIFx1YzcwNFx1ZDU3NCBcdWM3NzQgXHViY2Y1XHVjN2ExXHViM2M0IFx1YWNjNFx1YzBiMFx1Yzc0NCBcdWIzNTQgXHVkNzk4XHViNGU0XHVhYzhjIFx1ZDU1OFx1YWNlMFx1Yzc5MCBcdWI2MTAgXHViMmU0XHViOTc4IFx1YWRkY1x1Y2U1OVx1Yzc0NCBcdWFjZTBcdWM1NDhcdWQ1ODhcdWIyZTQuIFx1YzVlY1x1YjdlY1x1YmQ4NFx1Yzc0MCBcdWQ1NWMgXHViYzg4XHVjNzU4IFx1YmNmNVx1YzdhMVx1YjNjNFx1Yjk3YyBcdWFjYzRcdWMwYjBcdWQ1NThcdWFjZTAgXHViMDk4XHVjMTFjXHViMjk0IFx1YzEyMFx1ZDBkZFx1YjQxYyBcdWJkODBcdWJkODQgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzU4IFx1YjMwMFx1YzE4Y1x1YmIzOFx1Yzc5MFx1Yjk3YyBcdWJjMTRcdWFmYmMgXHVkNmM0IFx1YWRmOCBcdWIyZTRcdWM3NGMgXHViY2Y1XHVjN2ExXHViM2M0XHViOTdjIFx1YWNjNFx1YzBiMFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWM2MDhcdWI5N2MgXHViNGU0XHVjNWI0LCAmcXVvdDtQck9nUkFNbUlOZ2lTZ3JFQXQmcXVvdDtcdWM1ZDBcdWMxMWMgJnF1b3Q7UHJPZ1JBTSZxdW90O1x1Yzc0NCBcdWJkODBcdWJkODQgXHViYjM4XHVjNzkwXHVjNWY0XHViODVjIFx1YzEyMFx1ZDBkZFx1ZDU1YyBcdWQ2YzQgXHViY2Y1XHVjN2ExXHViM2M0XHViOTdjIFx1YWNjNFx1YzBiMFx1ZDU4OFx1YjJlNFx1YmE3NCBcdWIyZTRcdWM3NGMgXHViY2Y1XHVjN2ExXHViM2M0XHViOTdjIFx1YWNjNFx1YzBiMFx1ZDU1OFx1YWUzMCBcdWM3MDRcdWQ1NzRcdWMxMWNcdWIyOTQgJnF1b3Q7UHJPZ1JBTSZxdW90O1x1Yzc1OCBcdWIzMDBcdWMxOGNcdWJiMzhcdWM3OTBcdWI5N2MgXHViNGE0XHVjOWQxXHVjNzQwICZsZHF1bztwUm9HcmFtbUlOZ2lTZ3JFQXQmcmRxdW87IFx1YzVkMCBcdWIzMDBcdWQ1NzQgXHViY2Y1XHVjN2ExXHViM2M0XHViOTdjIFx1YWNjNFx1YzBiMFx1ZDU3NFx1YzU3YyBcdWQ1NWNcdWIyZTQuIFx1Yzc3NFx1YzViNFx1YzExYyAmbmJzcDsmbGRxdW87cFJvR3JhbW1JTmdpU2dyRUF0JnJkcXVvO1x1Yzc1OCBcdWJkODBcdWJkODQgXHViYjM4XHVjNzkwXHVjNWY0ICZsZHF1bzthbW1JTmdpJnJkcXVvO1x1YzVkMCBcdWIzMDBcdWQ1NzQgXHViY2Y1XHVjN2ExXHViM2M0XHViOTdjIFx1YWNjNFx1YzBiMFx1ZDU4OFx1YjJlNFx1YmE3NCBcdWIyZTRcdWM3NGMgXHViY2Y1XHVjN2ExXHViM2M0XHViOTdjIFx1YWNjNFx1YzBiMFx1ZDU1OFx1YWUzMCBcdWM3MDRcdWQ1NzRcdWMxMjAgJmxkcXVvO3BSb0dyQU1NaW5HSVNnckVBdCZyZHF1bztcdWM1ZDAgXHViMzAwXHVkNTc0IFx1YmNmNVx1YzdhMVx1YjNjNFx1Yjk3YyBcdWFjYzRcdWMwYjBcdWQ1NzRcdWM1N2MgXHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFkZGNcdWNlNTlcdWM3NDQgXHViOWNjXHViNGUwIFx1YWZjZCBcdWM4NzBcdWNjMjhcdWIzYzQgXHViMTA4XHViYjM0IFx1ZDVmN1x1YWMwOFx1YjliMFx1YjJlNC4gXHVhZGY4XHViMGU1IFx1YzVlY1x1YjdlY1x1YmQ4NFx1Yzc3NCBcdWJjZjVcdWM3YTFcdWIzYzRcdWI5N2MgXHVhY2M0XHVjMGIwXHVkNTU4XHViMjk0IFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0NCBcdWI5Y2NcdWI0ZTRcdWM3OTAuPFwvcD5cclxuXHJcbjxwPlx1Yzc4NVx1YjgyNVx1YzczY1x1Yjg1Y1x1YjI5NCBcdWFmY2RcdWM3NzQgXHVjMTIwXHVkMGRkXHVkNTVjIFRcdWM2NDAgXHVhZmNkXHVhZTAwXHViOWFjXHVjMjZjIFx1YmIzOFx1YzdhNSBcdWQ1NWMgXHVhYzFjLCBcdWFkZjhcdWI5YWNcdWFjZTAgXHVhZmNkXHVjNzc0IFx1YzEyMFx1ZDBkZFx1ZDU2MCBcdWJkODBcdWJkODQgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc0IFx1YzIxY1x1YzExY1x1YjMwMFx1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzggXHVhYzgzXHVjNzc0XHViYTcwIFx1YzVlY1x1YjdlY1x1YmQ4NFx1Yzc0MCBcdWM3NzQgXHVjODE1XHViY2Y0XHViNGU0XHVjNzQ0IFx1Yzc3NFx1YzZhOVx1ZDU1OFx1YzVlYyBcdWFjMDEgXHVhY2JkXHVjNmIwXHVjNzU4IFx1YmNmNVx1YzdhMVx1YjNjNFx1Yjk3YyBcdWFjYzRcdWMwYjBcdWQ1NThcdWJhNzQgXHViNDFjXHViMmU0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjNzg1XHViODI1XHVjNzU4IFx1Y2NhYiBcdWJjODhcdWM5ZjggXHVjOTA0XHVjNzQwIFx1YzgxNVx1YzIxOCBOICgxICZsZTsgTiAmbGU7IDEwPHN1cD41PFwvc3VwPilcdWFjZmMgXHVjZDVjXHViMzAwIDVcdWFlMDBcdWM3OTBcdWM3NzggVFx1YWMwMCBcdWFjZjVcdWJjMzFcdWM3NDQgXHVjMGFjXHVjNzc0XHVjNWQwIFx1YjQ1MFx1YWNlMCBcdWM4ZmNcdWM1YjRcdWM5YzBcdWJhNzAgTlx1Yzc0MCBcdWJkODBcdWJkODQgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzU4IFx1YzEyMFx1ZDBkZCBcdWQ2OWZcdWMyMThcdWI5N2MgXHViMDk4XHVkMGMwXHViMGI4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWI0NTAgXHViYzg4XHVjOWY4IFx1YzkwNFx1Yzc0MCBcdWFjZjVcdWJjMzFcdWM3NzQgXHVjNWM2XHViMjk0IFx1YWZjZFx1YWUwMFx1YjlhY1x1YzI2YyBcdWJiMzhcdWM3YTUgUFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzBcdWJhNzAgXHVhZTM4XHVjNzc0XHViMjk0IFx1Y2Q1Y1x1YjMwMCAxMDAwMDBcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjJlNFx1Yzc0YyBcdWFjMDEgTlx1YzkwNFx1Yzc0MCBcdWI0NTAgXHVhYzFjXHVjNzU4IFx1YzgxNVx1YzIxOCBMLCBSICgxICZsZTsgTCAmbGU7IFIgJmxlOyB8UHwpIFx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzBcdWJhNzAgXHVhZmNkXHVhZTAwXHViOWFjXHVjMjZjIFx1YmIzOFx1YzdhNSBQXHVjNzU4IEx+Ulx1YmM4OFx1YzlmOFx1Yzc1OCBcdWJkODBcdWJkODQgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzU4IFx1YmNmNVx1YzdhMVx1YjNjNFx1Yjk3YyBcdWFjYzRcdWMwYjBcdWQ1NjhcdWM3NDQgXHVjNzU4XHViYmY4XHVkNTVjXHViMmU0LiBcdWFmY2RcdWFlMDBcdWI5YWNcdWMyNmMgXHViYjM4XHVjN2E1XHVjNzU4IFx1YWMwMFx1YzdhNSBcdWM2N2NcdWNhYmQgXHViYjM4XHVjNzkwXHVhYzAwIDFcdWJjODhcdWM5ZjggXHViYjM4XHVjNzkwXHVjNzc0XHViYTcwIFx1YWMwMFx1YzdhNSBcdWM2MjRcdWI4NjBcdWNhYmQgXHViYjM4XHVjNzkwXHViMjk0IE5cdWJjODhcdWM5ZjggXHViYjM4XHVjNzkwXHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1Y2Q5Y1x1YjgyNVx1Yzc0MCBOXHVjOTA0XHViODVjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzljMFx1YmE3MCBcdWFjMDEgXHVjOTA0XHVjNzQwIFx1ZDU1OFx1YjA5OFx1Yzc1OCBcdWM4MTVcdWMyMThcdWI5N2MgXHVkM2VjXHVkNTY4XHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWFjMDEgXHVjOTA0XHVjNWQwXHViMjk0IFx1YWZjZFx1YWUwMFx1YjlhY1x1YzI2Y1x1Yzc1OCBcdWJjZjVcdWM3YTFcdWIzYzRcdWI5N2MgXHVjZDljXHViODI1XHVkNTU4XHViYTcwIFx1YjljY1x1YzU3ZCBUXHVhYzAwIFx1YWZjZFx1YWUwMFx1YjlhY1x1YzI2YyBcdWJiMzhcdWM3YTVcdWM1ZDAgXHViMDk4XHVkMGMwXHViMDk4XHVjOWMwIFx1YzU0YVx1YjI5NCBcdWFjYmRcdWM2YjAgLTFcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiI8cD5cdWNjOThcdWM3NGMmbmJzcDtcdWFmY2RcdWFlMDBcdWI5YWNcdWMyNmMgXHViYjM4XHVjN2E1IDogUHJPZ1JBTW1JTmdpU2dyRUF0PFwvcD5cclxuXHJcbjxwPjF+N1x1YmM4OFx1YzlmOCBcdWJkODBcdWJkODQgXHViYjM4XHVjNzkwXHVjNWY0IDogUHJPZ1JBTSAoXHViY2Y1XHVjN2ExXHViM2M0IFx1ZDZjNFx1YmNmNCZuYnNwOzogMCk8XC9wPlxyXG5cclxuPHA+XHViYzE0XHViMDEwIFx1YWZjZFx1YWUwMFx1YjlhY1x1YzI2YyBcdWJiMzhcdWM3YTUgOiBwUm9HcmFtbUlOZ2lTZ3JFQXQ8XC9wPlxyXG5cclxuPHA+NH4xOFx1YmM4OFx1YzlmOCBcdWJkODBcdWJkODQgXHViYjM4XHVjNzkwXHVjNWY0IDogR3JhbW1JTmdpU2dyRUF0IChcdWJjZjVcdWM3YTFcdWIzYzQgXHVkNmM0XHViY2Y0Jm5ic3A7OiAyLDEpPFwvcD5cclxuXHJcbjxwPlx1YmMxNFx1YjAxMCBcdWFmY2RcdWFlMDBcdWI5YWNcdWMyNmMgXHViYjM4XHVjN2E1IDogcFJvZ1JBTU1pbkdJc0dSZWFUPFwvcD5cclxuXHJcbjxwPjZ+MTRcdWJjODhcdWM5ZjggXHViZDgwXHViZDg0IFx1YmIzOFx1Yzc5MFx1YzVmNCA6IEFNTWluR0lzRyAoXHViY2Y1XHVjN2ExXHViM2M0IFx1ZDZjNFx1YmNmNCA6IFx1YzVjNlx1Yzc0Yyk8XC9wPlxyXG4iLCJvcmlnaW5hbCI6IjAiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1ZDU1Y1x1YWQ2ZFx1YzViNCJ9LHsicHJvYmxlbV9pZCI6Ijk1MjYiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJCbG9nZ2VyIGxhbmd1YWdlIiwiZGVzY3JpcHRpb24iOiI8cD5CZW5qYW1pbiZyc3F1bztzIGdyYW5kZGF1Z2h0ZXIgQnJlbmRhIGhhcyBhIGJsb2cgd2hlcmUgc2hlIHBvc3RzIGFydGljbGVzIGFib3V0IHNjaG9vbCwgZnJpZW5kcyBhbmQgb3RoZXIgbGlmZSBpc3N1ZXMuIEludHJpZ3VlZCBieSBoZXIgb3BpbmlvbnMsIEJlbmphbWluIHRyaWVkIHRvIHJlYWQgaXQsIGJ1dCB2ZXJ5IHNvb24gaGUgcmVhbGl6ZWQgaXQgd2FzIHRvbyBoYXJkIHRvIHJlYWQgYmVjYXVzZSBvZiBCcmVuZGEmcnNxdW87cyB3cml0aW5nIHF1aXJrcy48XC9wPlxyXG5cclxuPHA+QnJlbmRhIHdyaXRlcyB3aXRob3V0IHNwYWNlcyBvciBwdW5jdHVhdGlvbiBtYXJrcywgYW5kIG1vcmVvdmVyLCBzaGUgdXNlcyBsb3dlciBhbmQgdXBwZXJjYXNlIGxldHRlcnMgaW4gYSBsaWJlcmFsIGFuZCBzdHJhbmdlIHdheS4gRm9yIGV4YW1wbGUsIG9uZSBvZiBoZXIgcG9zdHMgaXMgJmxkcXVvO1ByT2dSQU1tSU5naVNnckVBdCZyZHF1bzsuIEJlbmphbWluIGhhcyB0cm91YmxlIG5vdGljaW5nIHRoZSB3b3JkcyAmbGRxdW87cHJvZ3JhbW1pbmcmcmRxdW87LCAmbGRxdW87aXMmcmRxdW87IGFuZCAmbGRxdW87Z3JlYXQmcmRxdW87IHdoZW4gdGhleSBhcmUgd3JpdHRlbiBpbiB0aGlzIHdheS48XC9wPlxyXG5cclxuPHA+VG8gaW1wcm92ZSBoaXMgdW5kZXJzdGFuZGluZyBCZW5qYW1pbiBkZWNpZGVkIHRvIGRvIHRoZSBmb2xsb3dpbmc6IGhlIHdpbGwgZmlyc3QgY2hvb3NlIGEgcGFydGljdWxhciBzdHJpbmcgVCBhbmQgYSBibG9nIHBvc3QgaGUgaXMgaW50ZXJlc3RlZCBpbjsgdGhlbiBoZSB3aWxsIHNlbGVjdCBhIGNvbnRpZ3VvdXMgc3Vic3RyaW5nIG9mIHRoZSBwb3N0IGFuZCBzZWFyY2ggZm9yIFQgd2l0aGluIHRoZSBzdWJzdHJpbmcsIGluIGEgY2FzZS1pbnNlbnNpdGl2ZSB3YXk7IGZvciBlYWNoIG9jY3VycmVuY2Ugb2YgVCB3aXRoaW4gdGhlIHN1YnN0cmluZywgaGUgd2lsbCBjYWxjdWxhdGUgdGhlIG51bWJlciBvZiBjYXNlIG1pc21hdGNoZXMsIGFuZCBmaW5hbGx5IGhlIHdpbGwgb2J0YWluIHRoZSBtYXhpbXVtIGFtb25nIGFsbCB0aGVzZSB2YWx1ZXMuIEZvciBleGFtcGxlLCBpZiBCZW5qYW1pbiBjaG9vc2VzICZsZHF1bztHUiZyZHF1bzsgYXMgVCBhbmQgdGhlbiBzZWxlY3RzIHRoZSBzdWJzdHJpbmcgJmxkcXVvO1ByT2dSQU0mcmRxdW87LCBoZSB3b3VsZCBmaW5kIGEgc2luZ2xlIG9jY3VycmVuY2UgJmxkcXVvO2dSJnJkcXVvOyBmb3Igd2hpY2ggdGhlIG51bWJlciBvZiBjYXNlIG1pc21hdGNoZXMgaXMgMS4gRm9yIHRoZSBzYW1lIHN1YnN0cmluZywgaWYgJmxkcXVvO3ImcmRxdW87IHdhcyBjaG9zZW4gYXMgVCwgaGUgd291bGQgaGF2ZSBmb3VuZCB0d28gb2NjdXJyZW5jZXMsICZsZHF1bztyJnJkcXVvOyB3aXRoIDAgbWlzbWF0Y2hlcyBhbmQgJmxkcXVvO1ImcmRxdW87IHdpdGggMSBtaXNtYXRjaCwgc28gdGhlIG1heGltdW0gbnVtYmVyIG9mIG1pc21hdGNoZXMgd291bGQgYmUgMS48XC9wPlxyXG5cclxuPHA+VG8gY29tcGxpY2F0ZSB0aGluZ3MgZnVydGhlciwgQnJlbmRhIGluY2x1ZGVkIGluIHRoZSBibG9nIGEgc2NyaXB0IHRoYXQsIGFmdGVyIG9wZXJhdGluZyB3aXRoIGEgc3Vic3RyaW5nIHNlbGVjdGlvbiwgZmxpcHMgdGhlIGNhc2Ugb2YgYWxsIHRoZSBzZWxlY3RlZCBsZXR0ZXJzLiBUaGlzIG1lYW5zIHRoYXQgYWZ0ZXIgc2VsZWN0aW5nICZsZHF1bztQck9nUkFNJnJkcXVvOyBhbmQgcHJvY2VlZGluZyBhcyBleHBsYWluZWQgYWJvdmUsIHRoZSBzYW1wbGUgcG9zdCB3b3VsZCByZWFkICZsZHF1bztwUm9HcmFtbUlOZ2lTZ3JFQXQmcmRxdW87LiBJZiBCZW5qYW1pbiBzZWxlY3RzICZsZHF1bzthbW1JTmdpJnJkcXVvOyBhcyBhIHNlY29uZCBzdWJzdHJpbmcsIGFmdGVyIGNhbGN1bGF0aW5nIGhpcyByZXN1bHQgdGhlIHBvc3Qgd291bGQgYmUgbGVmdCBhcyAmbGRxdW87cFJvR3JBTU1pbkdJU2dyRUF0JnJkcXVvOywgYWNjdW11bGF0aW5nIGJvdGggZmxpcHMuPFwvcD5cclxuXHJcbjxwPllvdSB3aWxsIGJlIGdpdmVuIHRoZSBzdHJpbmcgVCBhbmQgdGhlIG9yaWdpbmFsIHRleHQgb2YgdGhlIGJsb2cgcG9zdCBjaG9zZW4gYnkgQmVuamFtaW4uIFlvdSB3aWxsIGFsc28gYmUgZ2l2ZW4gYSBsaXN0IG9mIHN1YnN0cmluZyBzZWxlY3Rpb25zIEJlbmphbWluIG1hZGUsIGluIHRoZSBvcmRlciBoZSBtYWRlIHRoZW0uIFlvdSBuZWVkIHRvIGNhbGN1bGF0ZSwgZm9yIGVhY2ggc2VsZWN0aW9uLCB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2FzZSBtaXNtYXRjaGVzIG9mIHRoZSBvY2N1cnJlbmNlcyBvZiBUIGluIHRoZSBzZWxlY3RlZCBwYXJ0LCBjb25zaWRlcmluZyBhbGwgdGhlIGNhc2UgZmxpcHMgbWFkZSBieSBwcmV2aW91cyBzZWxlY3Rpb25zLiBOb3RpY2UgdGhhdCB0aGUgZmxpcHBpbmcgb2YgdGhlIGNhc2Ugb2NjdXJzIGFmdGVyIGNhbGN1bGF0aW5nIHRoZSByZXN1bHQgZm9yIGVhY2ggc2VsZWN0aW9uLjxcL3A+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgY29udGFpbnMgYW4gaW50ZWdlciBOICgxICZsZTsgTiAmbGU7IDEwPHN1cD41PFwvc3VwPikgYW5kIGEgbm9uLWVtcHR5IHN0cmluZyBUIG9mIGF0IG1vc3QgNSBsZXR0ZXJzLCByZXByZXNlbnRpbmcgcmVzcGVjdGl2ZWx5IHRoZSBudW1iZXIgb2Ygc3Vic3RyaW5nIHNlbGVjdGlvbnMgYW5kIHRoZSBzdHJpbmcgdG8gc2VhcmNoIGZvci4gVGhlIHNlY29uZCBsaW5lIGNvbnRhaW5zIGEgbm9uLWVtcHR5IHN0cmluZyBQIG9mIGF0IG1vc3QgMTA8c3VwPjU8XC9zdXA+IGxldHRlcnMsIGluZGljYXRpbmcgdGhlIG9yaWdpbmFsIHRleHQgb2YgdGhlIGJsb2cgcG9zdC4gUG9zaXRpb25zIG9mIHRoZSBwb3N0IGFyZSBudW1iZXJlZCB3aXRoIGNvbnNlY3V0aXZlIGludGVnZXJzIGZyb20gbGVmdCB0byByaWdodCwgYmVpbmcgMSB0aGUgbGVmdG1vc3QgcG9zaXRpb24gYW5kIHxQfCB0aGUgcmlnaHRtb3N0IHBvc2l0aW9uLiBFYWNoIG9mIHRoZSBuZXh0IE4gbGluZXMgZGVzY3JpYmVzIGEgc3Vic3RyaW5nIHNlbGVjdGlvbiB3aXRoIHR3byBpbnRlZ2VycyBMIGFuZCBSICgxICZsZTsgTCAmbGU7IFIgJmxlOyB8UHwpIGluZGljYXRpbmcgdGhhdCB0aGUgc3Vic3RyaW5nIHN0YXJ0cyBhdCBwb3NpdGlvbiBMIGFuZCBlbmRzIGF0IHBvc2l0aW9uIFIsIGluY2x1c2l2ZS48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5PdXRwdXQgTiBsaW5lcywgZWFjaCBvZiB0aGVtIGNvbnRhaW5pbmcgYW4gaW50ZWdlci4gSW4gdGhlIGktdGggbGluZSB3cml0ZSB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2FzZSBtaXNtYXRjaGVzIG9mIHRoZSBvY2N1cnJlbmNlcyBvZiBUIGluIHRoZSBpLXRoIHN1YnN0cmluZyBzZWxlY3Rpb24sIGNvbnNpZGVyaW5nIGFsbCB0aGUgY2FzZSBmbGlwcyBtYWRlIGJ5IHByZXZpb3VzIHNlbGVjdGlvbnM7IGlmIG5vIHN1Y2ggb2NjdXJyZW5jZSBleGlzdHMgd3JpdGUgdGhlIHZhbHVlIC0xLjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1YzYwMVx1YzViNCJ9XQ==