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

문제

리스트를 계산할 수 있는 인터프리터를 만들어보자. 이 인터프리터는 (우선순위가 높은 것에서 낮은 것 순으로) 괄호, 배열 슬라이싱, 단항 연산자, 이항 연산자, 리스트 이어붙이기, 대입 연산자를 포함하는 여러 표현식을 다룰 수 있어야 한다.

배열 슬라이싱 연산자는 [begin:end] 형식을 따르며, 표현식 뒤에 놓여 해당 리스트의 부분 리스트를 반환한다. 인덱스는 0부터 세고, begin은 포함하지만 end는 포함하지 않는다. 따라서 L[1:3]은 리스트 L의 2번째 원소부터 3번째 원소까지를 의미한다. begin이나 end는 생략할 수 있다. begin이 생략되면 0, end가 생략되면 리스트의 길이인 것으로 보면 된다. 만약 end가 begin보다 작거나 같으면 결과는 빈 리스트이다. begin과 end는 15를 넘지 않는다. 인덱스가 범위를 벗어나는 일 또한 없다.

단항 연산자(+, -, *, /)는 리스트 앞에 놓여 리스트의 첫 두 원소를 삭제하고, 두 원소에 해당 연산자를 이항 연산자로 적용한 다음, 결과를 다시 리스트의 제일 앞에 넣는 작업을 반복한다. 예를 들어 +(1:2:4)는 1과 2를 삭제하고, 둘을 더한 3을 리스트 앞에 넣어서 +(3:4)가 된다. 다시 3과 4를 삭제하고, 둘을 더한 7을 리스트 앞에 넣으면 +(7)이 된다. 이제 리스트가 원소 하나만을 포함하므로 결과값은 7이 된다. 계산 과정에서 단항 연산자가 무한하거나 빈 리스트에 적용되는 일은 없다.

이항 연산자(+, -, *, /)는 두 리스트의 대응하는 위치에 있는 원소끼리 연산한다. 만약 한 리스트가 다른 쪽보다 짧으면, 짧은 쪽의 마지막 원소를 뒤에 더 넣어 둘의 길이를 맞춘다. 따라서 (1:2:3)+(4:5)는 (4:5)의 뒤에 마지막 원소인 5를 하나 더 넣어 (4:5:5)로 길이를 맞춰주고, 대응하는 위치끼리 더하여 (5:7:8)이 된다. 한쪽 리스트가 아예 빈 리스트이면 연산 결과는 빈 리스트이다. 예시로 A-A[2:2]는 뒤쪽이 빈 리스트이므로 결과도 빈 리스트이다. 이항 곱셈과 나눗셈은 덧셈과 뺄셈보다 우선순위가 높다.

리스트 이어붙이기는 쌍점(:) 연산자로 주어진다. 상수는 길이 1짜리 리스트로 본다.

대입은 등호(=) 연산자로 주어진다. 모든 변수는 한 글자이고, 대소문자를 구분하며 재정의되지 않는다. 변수의 정의는 이전에 정의되지 않은 변수를 포함하지 않지만, 자기 자신을 재귀적 정의로 포함하는 건 가능하다.

모든 나눗셈은 정수 나눗셈이고 C/C++의 정수 나눗셈 규칙을 따른다. 0으로 나누는 일은 발생하지 않는다. 표현식에 있는 상수는 항상 정수이고, 단항 연산자가 상수 바로 앞에 놓이는 경우는 없다. 계산 과정에서 나타나는 모든 정수는 32비트 정수형으로 표현할 수 있다.

입력

입력은 여러 줄로 구성된다. 각 줄은 대입문 또는 “print” 키워드로 시작하는 출력문이다. 각 줄의 길이는 50보다 작거나 같고, 입력은 30줄을 넘지 않는다.

출력

각 출력문마다 키워드 뒤에 오는 리스트의 원소를 공백 없이 쌍점(:)으로 구분하여 출력한다. 출력할 리스트의 길이는 항상 15보다 크지 않다.

예제 입력 1

print +(1:2:4)
print (1:2:3:4:5)[1:3]
print (1:2:3)+(4:5)
N=1:(N+1)
E=2*N
print E[:5]
print +E[:10]
F=1:1:(F+F[1:])
print F[:10]
#

예제 출력 1

7
2:3
5:7:8
2:4:6:8:10
110
1:1:2:3:5:8:13:21:34:55
W3sicHJvYmxlbV9pZCI6Ijc2MDciLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWI5YWNcdWMyYTRcdWQyYjggXHVhY2M0XHVjMGIwXHVhZTMwIiwiZGVzY3JpcHRpb24iOiI8cD5cdWI5YWNcdWMyYTRcdWQyYjhcdWI5N2MgXHVhY2M0XHVjMGIwXHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyOTQgXHVjNzc4XHVkMTMwXHVkNTA0XHViOWFjXHVkMTMwXHViOTdjIFx1YjljY1x1YjRlNFx1YzViNFx1YmNmNFx1Yzc5MC4gXHVjNzc0IFx1Yzc3OFx1ZDEzMFx1ZDUwNFx1YjlhY1x1ZDEzMFx1YjI5NCAoXHVjNmIwXHVjMTIwXHVjMjFjXHVjNzA0XHVhYzAwIFx1YjE5Mlx1Yzc0MCBcdWFjODNcdWM1ZDBcdWMxMWMgXHViMGFlXHVjNzQwIFx1YWM4MyBcdWMyMWNcdWM3M2NcdWI4NWMpIFx1YWQwNFx1ZDYzOCwgXHViYzMwXHVjNWY0IFx1YzJhY1x1Yjc3Y1x1Yzc3NFx1YzJmMSwgXHViMmU4XHVkNTZkIFx1YzVmMFx1YzBiMFx1Yzc5MCwgXHVjNzc0XHVkNTZkIFx1YzVmMFx1YzBiMFx1Yzc5MCwgXHViOWFjXHVjMmE0XHVkMmI4IFx1Yzc3NFx1YzViNFx1YmQ5OVx1Yzc3NFx1YWUzMCwgXHViMzAwXHVjNzg1IFx1YzVmMFx1YzBiMFx1Yzc5MFx1Yjk3YyBcdWQzZWNcdWQ1NjhcdWQ1NThcdWIyOTQgXHVjNWVjXHViN2VjIFx1ZDQ1Y1x1ZDYwNFx1YzJkZFx1Yzc0NCBcdWIyZTRcdWI4ZjAgXHVjMjE4IFx1Yzc4OFx1YzViNFx1YzU3YyBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YmMzMFx1YzVmNCBcdWMyYWNcdWI3N2NcdWM3NzRcdWMyZjEgXHVjNWYwXHVjMGIwXHVjNzkwXHViMjk0IFtiZWdpbjplbmRdIFx1ZDYxNVx1YzJkZFx1Yzc0NCBcdWI1MzBcdWI5NzRcdWJhNzAsIFx1ZDQ1Y1x1ZDYwNFx1YzJkZCBcdWI0YTRcdWM1ZDAgXHViMTkzXHVjNWVjIFx1ZDU3NFx1YjJmOSBcdWI5YWNcdWMyYTRcdWQyYjhcdWM3NTggXHViZDgwXHViZDg0IFx1YjlhY1x1YzJhNFx1ZDJiOFx1Yjk3YyBcdWJjMThcdWQ2NThcdWQ1NWNcdWIyZTQuIFx1Yzc3OFx1YjM3MVx1YzJhNFx1YjI5NCAwXHViZDgwXHVkMTMwIFx1YzEzOFx1YWNlMCwgYmVnaW5cdWM3NDAgXHVkM2VjXHVkNTY4XHVkNTU4XHVjOWMwXHViOWNjIGVuZFx1YjI5NCBcdWQzZWNcdWQ1NjhcdWQ1NThcdWM5YzAgXHVjNTRhXHViMjk0XHViMmU0LiBcdWI1MzBcdWI3N2NcdWMxMWMgTFsxOjNdXHVjNzQwIFx1YjlhY1x1YzJhNFx1ZDJiOCBMXHVjNzU4IDJcdWJjODhcdWM5ZjggXHVjNmQwXHVjMThjXHViZDgwXHVkMTMwIDNcdWJjODhcdWM5ZjggXHVjNmQwXHVjMThjXHVhZTRjXHVjOWMwXHViOTdjIFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNC4gYmVnaW5cdWM3NzRcdWIwOTggZW5kXHViMjk0IFx1YzBkZFx1YjdiNVx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LiBiZWdpblx1Yzc3NCBcdWMwZGRcdWI3YjVcdWI0MThcdWJhNzQgMCwgZW5kXHVhYzAwIFx1YzBkZFx1YjdiNVx1YjQxOFx1YmE3NCBcdWI5YWNcdWMyYTRcdWQyYjhcdWM3NTggXHVhZTM4XHVjNzc0XHVjNzc4IFx1YWM4M1x1YzczY1x1Yjg1YyBcdWJjZjRcdWJhNzQgXHViNDFjXHViMmU0LiBcdWI5Y2NcdWM1N2QgZW5kXHVhYzAwIGJlZ2luXHViY2Y0XHViMmU0IFx1Yzc5MVx1YWM3MFx1YjA5OCBcdWFjMTlcdWM3M2NcdWJhNzQgXHVhY2IwXHVhY2ZjXHViMjk0IFx1YmU0OCBcdWI5YWNcdWMyYTRcdWQyYjhcdWM3NzRcdWIyZTQuIGJlZ2luXHVhY2ZjIGVuZFx1YjI5NCAxNVx1Yjk3YyBcdWIxMThcdWM5YzAgXHVjNTRhXHViMjk0XHViMmU0LiBcdWM3NzhcdWIzNzFcdWMyYTRcdWFjMDAgXHViYzk0XHVjNzA0XHViOTdjIFx1YmM5N1x1YzViNFx1YjA5OFx1YjI5NCBcdWM3N2MgXHViNjEwXHVkNTVjIFx1YzVjNlx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViMmU4XHVkNTZkIFx1YzVmMFx1YzBiMFx1Yzc5MCgrLCAtLCAqLCBcLylcdWIyOTQgXHViOWFjXHVjMmE0XHVkMmI4IFx1YzU1ZVx1YzVkMCBcdWIxOTNcdWM1ZWMgXHViOWFjXHVjMmE0XHVkMmI4XHVjNzU4IFx1Y2NhYiBcdWI0NTAgXHVjNmQwXHVjMThjXHViOTdjIFx1YzBhZFx1YzgxY1x1ZDU1OFx1YWNlMCwgXHViNDUwIFx1YzZkMFx1YzE4Y1x1YzVkMCBcdWQ1NzRcdWIyZjkgXHVjNWYwXHVjMGIwXHVjNzkwXHViOTdjIFx1Yzc3NFx1ZDU2ZCBcdWM1ZjBcdWMwYjBcdWM3OTBcdWI4NWMgXHVjODAxXHVjNmE5XHVkNTVjIFx1YjJlNFx1Yzc0YywgXHVhY2IwXHVhY2ZjXHViOTdjIFx1YjJlNFx1YzJkYyBcdWI5YWNcdWMyYTRcdWQyYjhcdWM3NTggXHVjODFjXHVjNzdjIFx1YzU1ZVx1YzVkMCBcdWIxMjNcdWIyOTQgXHVjNzkxXHVjNWM1XHVjNzQ0IFx1YmMxOFx1YmNmNVx1ZDU1Y1x1YjJlNC4gXHVjNjA4XHViOTdjIFx1YjRlNFx1YzViNCArKDE6Mjo0KVx1YjI5NCAxXHVhY2ZjIDJcdWI5N2MgXHVjMGFkXHVjODFjXHVkNTU4XHVhY2UwLCBcdWI0NThcdWM3NDQgXHViMzU0XHVkNTVjIDNcdWM3NDQgXHViOWFjXHVjMmE0XHVkMmI4IFx1YzU1ZVx1YzVkMCBcdWIxMjNcdWM1YjRcdWMxMWMgKygzOjQpXHVhYzAwIFx1YjQxY1x1YjJlNC4gXHViMmU0XHVjMmRjIDNcdWFjZmMgNFx1Yjk3YyBcdWMwYWRcdWM4MWNcdWQ1NThcdWFjZTAsIFx1YjQ1OFx1Yzc0NCBcdWIzNTRcdWQ1NWMgN1x1Yzc0NCBcdWI5YWNcdWMyYTRcdWQyYjggXHVjNTVlXHVjNWQwIFx1YjEyM1x1YzczY1x1YmE3NCArKDcpXHVjNzc0IFx1YjQxY1x1YjJlNC4gXHVjNzc0XHVjODFjIFx1YjlhY1x1YzJhNFx1ZDJiOFx1YWMwMCBcdWM2ZDBcdWMxOGMgXHVkNTU4XHViMDk4XHViOWNjXHVjNzQ0IFx1ZDNlY1x1ZDU2OFx1ZDU1OFx1YmJjMFx1Yjg1YyBcdWFjYjBcdWFjZmNcdWFjMTJcdWM3NDAgN1x1Yzc3NCBcdWI0MWNcdWIyZTQuIFx1YWNjNFx1YzBiMCBcdWFjZmNcdWM4MTVcdWM1ZDBcdWMxMWMgXHViMmU4XHVkNTZkIFx1YzVmMFx1YzBiMFx1Yzc5MFx1YWMwMCBcdWJiMzRcdWQ1NWNcdWQ1NThcdWFjNzBcdWIwOTggXHViZTQ4IFx1YjlhY1x1YzJhNFx1ZDJiOFx1YzVkMCBcdWM4MDFcdWM2YTlcdWI0MThcdWIyOTQgXHVjNzdjXHVjNzQwIFx1YzVjNlx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzc0XHVkNTZkIFx1YzVmMFx1YzBiMFx1Yzc5MCgrLCAtLCAqLCBcLylcdWIyOTQgXHViNDUwIFx1YjlhY1x1YzJhNFx1ZDJiOFx1Yzc1OCBcdWIzMDBcdWM3NTFcdWQ1NThcdWIyOTQgXHVjNzA0XHVjZTU4XHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWM2ZDBcdWMxOGNcdWIwN2NcdWI5YWMgXHVjNWYwXHVjMGIwXHVkNTVjXHViMmU0LiBcdWI5Y2NcdWM1N2QgXHVkNTVjIFx1YjlhY1x1YzJhNFx1ZDJiOFx1YWMwMCBcdWIyZTRcdWI5NzggXHVjYWJkXHViY2Y0XHViMmU0IFx1YzllN1x1YzczY1x1YmE3NCwgXHVjOWU3XHVjNzQwIFx1Y2FiZFx1Yzc1OCBcdWI5YzhcdWM5YzBcdWI5YzkgXHVjNmQwXHVjMThjXHViOTdjIFx1YjRhNFx1YzVkMCBcdWIzNTQgXHViMTIzXHVjNWI0IFx1YjQ1OFx1Yzc1OCBcdWFlMzhcdWM3NzRcdWI5N2MgXHViOWRlXHVjZDk4XHViMmU0LiBcdWI1MzBcdWI3N2NcdWMxMWMgKDE6MjozKSsoNDo1KVx1YjI5NCAoNDo1KVx1Yzc1OCBcdWI0YTRcdWM1ZDAgXHViOWM4XHVjOWMwXHViOWM5IFx1YzZkMFx1YzE4Y1x1Yzc3OCA1XHViOTdjIFx1ZDU1OFx1YjA5OCBcdWIzNTQgXHViMTIzXHVjNWI0ICg0OjU6NSlcdWI4NWMgXHVhZTM4XHVjNzc0XHViOTdjIFx1YjlkZVx1Y2RiMFx1YzhmY1x1YWNlMCwgXHViMzAwXHVjNzUxXHVkNTU4XHViMjk0IFx1YzcwNFx1Y2U1OFx1YjA3Y1x1YjlhYyBcdWIzNTRcdWQ1NThcdWM1ZWMgKDU6Nzo4KVx1Yzc3NCBcdWI0MWNcdWIyZTQuIFx1ZDU1Y1x1Y2FiZCBcdWI5YWNcdWMyYTRcdWQyYjhcdWFjMDAgXHVjNTQ0XHVjNjA4IFx1YmU0OCBcdWI5YWNcdWMyYTRcdWQyYjhcdWM3NzRcdWJhNzQgXHVjNWYwXHVjMGIwIFx1YWNiMFx1YWNmY1x1YjI5NCBcdWJlNDggXHViOWFjXHVjMmE0XHVkMmI4XHVjNzc0XHViMmU0LiBcdWM2MDhcdWMyZGNcdWI4NWMgQS1BWzI6Ml1cdWIyOTQgXHViNGE0XHVjYWJkXHVjNzc0IFx1YmU0OCBcdWI5YWNcdWMyYTRcdWQyYjhcdWM3NzRcdWJiYzBcdWI4NWMgXHVhY2IwXHVhY2ZjXHViM2M0IFx1YmU0OCBcdWI5YWNcdWMyYTRcdWQyYjhcdWM3NzRcdWIyZTQuIFx1Yzc3NFx1ZDU2ZCBcdWFjZjFcdWMxNDhcdWFjZmMgXHViMDk4XHViMjE3XHVjMTQ4XHVjNzQwIFx1YjM2N1x1YzE0OFx1YWNmYyBcdWJlODRcdWMxNDhcdWJjZjRcdWIyZTQgXHVjNmIwXHVjMTIwXHVjMjFjXHVjNzA0XHVhYzAwIFx1YjE5Mlx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViOWFjXHVjMmE0XHVkMmI4IFx1Yzc3NFx1YzViNFx1YmQ5OVx1Yzc3NFx1YWUzMFx1YjI5NCBcdWMzMGRcdWM4MTAoOikgXHVjNWYwXHVjMGIwXHVjNzkwXHViODVjIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHVjMGMxXHVjMjE4XHViMjk0IFx1YWUzOFx1Yzc3NCAxXHVjOWRjXHViOWFjIFx1YjlhY1x1YzJhNFx1ZDJiOFx1Yjg1YyBcdWJjZjhcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YjMwMFx1Yzc4NVx1Yzc0MCBcdWI0ZjFcdWQ2MzgoPSkgXHVjNWYwXHVjMGIwXHVjNzkwXHViODVjIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gXHViYWE4XHViNGUwIFx1YmNjMFx1YzIxOFx1YjI5NCBcdWQ1NWMgXHVhZTAwXHVjNzkwXHVjNzc0XHVhY2UwLCBcdWIzMDBcdWMxOGNcdWJiMzhcdWM3OTBcdWI5N2MgXHVhZDZjXHViZDg0XHVkNTU4XHViYTcwIFx1YzdhY1x1YzgxNVx1Yzc1OFx1YjQxOFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuIFx1YmNjMFx1YzIxOFx1Yzc1OCBcdWM4MTVcdWM3NThcdWIyOTQgXHVjNzc0XHVjODA0XHVjNWQwIFx1YzgxNVx1Yzc1OFx1YjQxOFx1YzljMCBcdWM1NGFcdWM3NDAgXHViY2MwXHVjMjE4XHViOTdjIFx1ZDNlY1x1ZDU2OFx1ZDU1OFx1YzljMCBcdWM1NGFcdWM5YzBcdWI5Y2MsIFx1Yzc5MFx1YWUzMCBcdWM3OTBcdWMyZTBcdWM3NDQgXHVjN2FjXHVhZGMwXHVjODAxIFx1YzgxNVx1Yzc1OFx1Yjg1YyBcdWQzZWNcdWQ1NjhcdWQ1NThcdWIyOTQgXHVhYzc0IFx1YWMwMFx1YjJhNVx1ZDU1OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViYWE4XHViNGUwIFx1YjA5OFx1YjIxN1x1YzE0OFx1Yzc0MCBcdWM4MTVcdWMyMTggXHViMDk4XHViMjE3XHVjMTQ4XHVjNzc0XHVhY2UwIENcL0MrK1x1Yzc1OCBcdWM4MTVcdWMyMTggXHViMDk4XHViMjE3XHVjMTQ4IFx1YWRkY1x1Y2U1OVx1Yzc0NCBcdWI1MzBcdWI5NzhcdWIyZTQuIDBcdWM3M2NcdWI4NWMgXHViMDk4XHViMjA0XHViMjk0IFx1Yzc3Y1x1Yzc0MCBcdWJjMWNcdWMwZGRcdWQ1NThcdWM5YzAgXHVjNTRhXHViMjk0XHViMmU0LiBcdWQ0NWNcdWQ2MDRcdWMyZGRcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YzBjMVx1YzIxOFx1YjI5NCBcdWQ1NmRcdWMwYzEgXHVjODE1XHVjMjE4XHVjNzc0XHVhY2UwLCBcdWIyZThcdWQ1NmQgXHVjNWYwXHVjMGIwXHVjNzkwXHVhYzAwIFx1YzBjMVx1YzIxOCBcdWJjMTRcdWI4NWMgXHVjNTVlXHVjNWQwIFx1YjE5M1x1Yzc3NFx1YjI5NCBcdWFjYmRcdWM2YjBcdWIyOTQgXHVjNWM2XHViMmU0LiBcdWFjYzRcdWMwYjAgXHVhY2ZjXHVjODE1XHVjNWQwXHVjMTFjIFx1YjA5OFx1ZDBjMFx1YjA5OFx1YjI5NCBcdWJhYThcdWI0ZTAgXHVjODE1XHVjMjE4XHViMjk0IDMyXHViZTQ0XHVkMmI4IFx1YzgxNVx1YzIxOFx1ZDYxNVx1YzczY1x1Yjg1YyBcdWQ0NWNcdWQ2MDRcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Yzc4NVx1YjgyNVx1Yzc0MCBcdWM1ZWNcdWI3ZWMgXHVjOTA0XHViODVjIFx1YWQ2Y1x1YzEzMVx1YjQxY1x1YjJlNC4gXHVhYzAxIFx1YzkwNFx1Yzc0MCBcdWIzMDBcdWM3ODVcdWJiMzggXHViNjEwXHViMjk0ICZsZHF1bztwcmludCZyZHF1bzsgXHVkMGE0XHVjNmNjXHViNGRjXHViODVjIFx1YzJkY1x1Yzc5MVx1ZDU1OFx1YjI5NCBcdWNkOWNcdWI4MjVcdWJiMzhcdWM3NzRcdWIyZTQuIFx1YWMwMSBcdWM5MDRcdWM3NTggXHVhZTM4XHVjNzc0XHViMjk0IDUwXHViY2Y0XHViMmU0IFx1Yzc5MVx1YWM3MFx1YjA5OCBcdWFjMTlcdWFjZTAsIFx1Yzc4NVx1YjgyNVx1Yzc0MCAzMFx1YzkwNFx1Yzc0NCBcdWIxMThcdWM5YzAgXHVjNTRhXHViMjk0XHViMmU0LjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlx1YWMwMSBcdWNkOWNcdWI4MjVcdWJiMzhcdWI5YzhcdWIyZTQgXHVkMGE0XHVjNmNjXHViNGRjIFx1YjRhNFx1YzVkMCBcdWM2MjRcdWIyOTQgXHViOWFjXHVjMmE0XHVkMmI4XHVjNzU4IFx1YzZkMFx1YzE4Y1x1Yjk3YyBcdWFjZjVcdWJjMzEgXHVjNWM2XHVjNzc0IFx1YzMwZFx1YzgxMCg6KVx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWQ1NThcdWM1ZWMgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LiBcdWNkOWNcdWI4MjVcdWQ1NjAgXHViOWFjXHVjMmE0XHVkMmI4XHVjNzU4IFx1YWUzOFx1Yzc3NFx1YjI5NCBcdWQ1NmRcdWMwYzEgMTVcdWJjZjRcdWIyZTQgXHVkMDZjXHVjOWMwIFx1YzU0YVx1YjJlNC48YSBpZD1cImNvbW1lbnQtNDY2MjRcIj48XC9hPjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1ZDU1Y1x1YWQ2ZFx1YzViNCJ9LHsicHJvYmxlbV9pZCI6Ijc2MDciLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJMaXN0IENhbGN1bGF0b3IiLCJkZXNjcmlwdGlvbiI6IjxwPllvdXIgam9iIGlzIHRvIHdyaXRlIGFuIGludGVycHJldGVyIGZvciBhIHNtYWxsIGxpc3QgY2FsY3VsYXRvci4gVGhlIGludGVycHJldGVyIG11c3QgYmUgYWJsZSB0byBoYW5kbGUgdmFyaW91cyBleHByZXNzaW9ucyB0aGF0IGNvbnNpc3Qgb2YgdGhlIGZvbGxvd2luZyBvcGVyYXRvcnMgKGZyb20gbW9zdCB0aWdodGx5IGJvdW5kIHRvIGxlYXN0IHRpZ2h0bHkgYm91bmQpOiBwYXJlbnRoZXNlcywgYXJyYXkgc2xpY2luZywgdW5hcnkgb3BlcmF0b3IsIGJpbmFyeSBvcGVyYXRvciwgbGlzdCBjb25jYXRlbmF0aW9uLCBhbmQgYXNzaWdubWVudC4mbmJzcDsmbmJzcDs8XC9wPlxyXG5cclxuPHA+QW4gYXJyYXkgc2xpY2luZyBvcGVyYXRvciBmb2xsb3dzIHRoZSBbYmVnaW46ZW5kXSBmb3JtYXQgYW5kIGlzIGFwcGxpZWQgYXMgYSBwb3N0Zml4IHRvIGFuIGV4cHJlc3Npb24uIEl0ZW1zIGFyZSAwLWluZGV4ZWQgYW5kIGluY2x1ZGUgdGhlIGJlZ2lubmluZyBpdGVtIGJ1dCBkbyBub3QgaW5jbHVkZSB0aGUgZW5kIGl0ZW0uIFRodXMgTFsxOjNdIHRha2VzIGZyb20gdGhlIHNlY29uZCB0byB0aGUgdGhpcmQgZWxlbWVudCBvZiB0aGUgbGlzdCBMLiBUaGUgYmVnaW4gb3IgZW5kIG1heSBiZSBvbWl0dGVkIGFuZCBpcyBleHBlY3RlZCB0byBtZWFuIGFsbCBpdGVtcyBmcm9tIHRoZSBiZWdpbm5pbmcgb3IgYWxsIGl0ZW1zIHVudGlsIHRoZSBlbmQsIHJlc3BlY3RpdmVseS4gSWYgdGhlIGVuZCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIGJlZ2luLCB0aGUgcmVzdWx0IHdpbGwgYmUgYW4gZW1wdHkgbGlzdC4mbmJzcDtUaGUgYmVnaW4gYW5kIGVuZCBkbyBub3QgZXhjZWVkIDE1LiBBbGwgaW5kaWNlcyBhcmUgbm90IG91dCBvZiByYW5nZS48XC9wPlxyXG5cclxuPHA+QSB1bmFyeSBvcGVyYXRvciAoKywgLSwgKiwgXC8pIG9uIGEgbGlzdCBjb250aW51b3VzbHkgcmVtb3ZlcyB0aGUgZmlyc3QgdHdvIGl0ZW1zIG9mIHRoZSBsaXN0LCBhbmQgcmVwbGFjZXMgdGhlbSB3aXRoIHRoZSByZXN1bHQgb2YgdGhlIG9wZXJhdG9yIGJlaW5nIGFwcGxpZWQuIEZvciBleGFtcGxlICsoMToyOjQpIHRha2VzIDEgYW5kIDIgb2ZmIHRoZSBmcm9udCBvZiB0aGUgbGlzdCwgYXBwbGllcyAmcXVvdDsrJnF1b3Q7IHRvIHRoZW0sIHRvIGdldCAzIHdoaWNoIGlzIHBsYWNlZCBvbiB0aGUgZnJvbnQgb2YgdGhlIGxpc3QsIGxlYXZpbmcgKygzOjQpLiBBZ2FpbiB3ZSB0YWtlIHRoZSBmaXJzdCB0d28gaXRlbXMsIHJlbW92ZSB0aGVtLCBhcHBseSArLCBhbmQgaW5zZXJ0IHRoZSByZXN1bHQgaW50byB0aGUgZnJvbnQgb2YgdGhlIGxpc3QsIGxlYXZpbmcgKyg3KS4gTm93IHRoZSBsaXN0IGhhcyBmZXdlciB0aGFuIHR3byBpdGVtcyBzbyB3ZSByZXR1cm4gdGhlIGxpc3QgNy4mbmJzcDtVbmFyeSBvcGVyYXRvcnMgYXJlIGFwcGxpZWQgb25seSB0byBmaW5pdGUsIG5vbi1lbXB0eSBsaXN0cy48XC9wPlxyXG5cclxuPHA+QSBiaW5hcnkgb3BlcmF0b3IgKCssIC0sICosIFwvKSBpcyBhcHBsaWVkIHRvIHRoZSBmaXJzdCBlbGVtZW50IG9mIGJvdGggbGlzdHMsIHRoZW4gdGhlIHNlY29uZCBlbGVtZW50IGFuZCBzbyBvbi4gSWYgb25lIGxpc3QgaXMgc2hvcnRlciB0aGFuIHRoZSBvdGhlciwgdGhlbiB0aGUgc2hvcnRlciBsaXN0IGlzIHBhZGRlZCB3aXRoIGl0cyBsYXN0IGl0ZW0gdW50aWwgYm90aCBsaXN0cyBhcmUgdGhlIHNhbWUgbGVuZ3RoLiBUaHVzICgxOjI6MykrKDQ6NSkgaXMgKDU6Nzo4KS4gTm90ZSB0aGF0IGFwcGx5aW5nIGEgYmluYXJ5IG9wZXJhdG9yIHRvIGFuIGVtcHR5IGxpc3QgcHJvZHVjZXMgYW4gZW1wdHkgbGlzdC4gRm9yIGV4YW1wbGUsIEEtQVsyOjJdIG11c3QgcmVzdWx0IGluIGFuIGVtcHR5IGxpc3QsIGZvciBBWzI6Ml0gaXMgZW1wdHkuIEJpbmFyeSBtdWx0aXBsaWNhdGlvbiBhbmQgZGl2aXNpb24gaGF2ZSB0aGUgaGlnaGVyIHByZWNlZGVuY2UgdGhhbiBhZGRpdGlvbiBhbmQgc3VidHJhY3Rpb24uPFwvcD5cclxuXHJcbjxwPkxpc3QgY29uY2F0ZW5hdGlvbiBpcyBwcm92aWRlZCB3aXRoIHRoZSBjb2xvbiAoOikgb3BlcmF0b3IuIFN0YW5kYWxvbmUgbnVtYmVycyBhcmUgYXNzdW1lZCB0byBiZSBhIGxpc3QgY29udGFpbmluZyBhIHNpbmdsZSBpdGVtLiZuYnNwOyZuYnNwOzxcL3A+XHJcblxyXG48cD5Bc3NpZ25tZW50IGlzIHByb3ZpZGVkIHdpdGggdGhlIGVxdWFscyBzaWduICg9KSBvcGVyYXRvci4gVmFyaWFibGVzIGFyZSBzaW5nbGUgbGV0dGVycywgY2FzZSBzZW5zaXRpdmUsIGFuZCBuZXZlciByZWRlZmluZWQuIFRoZSBkZWZpbml0aW9uIG9mIGEgdmFyaWFibGUgbXVzdCBub3QgY29udGFpbiBhbnkgdmFyaWFibGUgdGhhdCBoYXMgbm90IGJlZW4gZGVmaW5lZCBwcmV2aW91c2x5LCBidXQgY2FuIGNvbnRhaW4gdGhlIHZhcmlhYmxlIGl0c2VsZiBhcyByZWN1cnNpdmUgZGVmaW5pdGlvbi4mbmJzcDsmbmJzcDs8XC9wPlxyXG5cclxuPHA+QWxsIGRpdmlzaW9ucyBhcmUgaW50ZWdlciBkaXZpc2lvbnMgYW5kIGZvbGxvdyB0aGUgaW50ZWdlciBkaXZpc2lvbiBydWxlIGluIENcL0MrKy4gTm9uZSBvZiB0aGUgZXhwcmVzc2lvbnMgd2lsbCBjYXVzZSBhIGRpdmlzaW9uIGJ5IHplcm8uIFRoZSBnaXZlbiBudW1iZXJzIGFyZSBhbHdheXMgaW50ZWdlcnMgYW5kIGFyZSBub3QgZGlyZWN0bHkgZm9sbG93ZWQgYnkgYSB1bmFyeSBvcGVyYXRvci4mbmJzcDtFdmVyeSBpbnRlZ2VyIGFwcGVhcmluZyBpbiB0aGUgY2FsY3VsYXRpb24gY2FuIGJlIHJlcHJlc2VudGVkIGJ5IDMyLWJpdCBpbnRlZ2Vycy4mbmJzcDs8XC9wPlxyXG4iLCJpbnB1dCI6IjxwPklucHV0IHdpbGwgY29uc2lzdCBvZiBzZXZlcmFsIGxpbmVzLiBFYWNoIGxpbmUgaXMgYXNzaWdubWVudCBzdGF0ZW1lbnQgb3IgcHJpbnQgc3RhdGVtZW50LCB3aGljaCBpcyBzdGFydGluZyB3aXRoIHRoZSBrZXl3b3JkICZsZHF1bztwcmludC4mcXVvdDsmbmJzcDtUaGUgbGVuZ3RoIG9mIGVhY2ggbGluZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gNTAgYW5kIHRoZSB0b3RhbCBudW1iZXIgb2YgbGluZXMgZG9lcyBub3QgZXhjZWVkIDMwLiZuYnNwOzxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPkZvciBlYWNoIHByaW50IHN0YXRlbWVudCwgcHJpbnQgdGhlIHJlc3VsdCBvZiBhbiBleHByZXNzaW9uIGZvbGxvd2VkIGJ5IHRoZSBrZXl3b3JkIHRvIHN0YW5kYXJkIG91dHB1dC4gSXRlbXMgb2YgdGhlIGV4cHJlc3Npb24gbXVzdCBiZSBzZXBhcmF0ZWQgd2l0aCBhIGNvbG9uICg6KSB3aXRoIG5vIHNwYWNlcy4gVGhlIG1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGJlIG91dHB1dCB3aWxsIGJlIG5vIG1vcmUgdGhhbiAxNS48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWM2MDFcdWM1YjQifV0=