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

문제

컴퓨터 프로그램에서는 논리식(logic expression)이 자주 나온다. 논리식의 요소들은 다음과 같다.

  • true 또는 false의 값을 가지고 있는 변수
  • 단항(unary), 이항(binary) 논리 연산자
  • 연산이 수행되는 순서에 영향을 주는 괄호

단항 연산자(Unary operators)는 하나의 변수에서 동작한다. 그에 반해 이항 연산자(Binary operators)는 두 개의 변수에서 동작한다. 일반적인 단항 논리 연산자에는 NOT이 있고, 이항 연산자에는 AND, OR, XOR, NAND, NOR 등이 있다.

하나의 논리 연산자는 ‘진리표(truth table)‘로 정의 될 수 있다. (단항 연산자는 1차원, 이항 연산자에는 2차원) 예를 들어, 아래의 그림을 보자.

논리식의 두 가지 예 :

  1. (x AND (NOT(y NAND z)))
  2. (x OR ((NOT y) XOR z))

이 프로그램의 목적을 위해, 하나의 논리식의 정확한 구조가 문법적으로 정의되어 있다:

<expression> = <variable> | ( <expression> <operator> <expression> ) | ( <operator> <expression>)
<variable> = <lowercase_letter>
<operator> = <uppercase_letter> | <operator> <uppercase_letter>

(여기에서 수직 막대 ‘|’는 ‘or’로 발음되고 문법적으로 정의되어 있다; 이는 실제 표현에서는 표시되지 않는다.) <lowercase_letter>와 <uppercase_letter>은 각각 소문자, 대문자를 의미한다.

일부 경우에서는 모든 변수의 값이 정해지지 않더라도 논리식의 값을 구하는 것이 가능하다. 위의 예시 (1)에서 y = false 이고 x, z의 값은 모른다고 가정해 보아라. 그러면 변수 x, z의 값에 관계없이 주어진 논리식은 false가 되는 것을 확인할 수 있다. 다른 한 편으로는, 예시 (1)에서 x = true, y = true, z는 모른다고 가정해보자. 이때는 z의 값을 알지 못하면 논리식의 값을 정할 수 없다.

입력

입력은 하나 또는 그보다 많은 test cases를 포함한다. 각각의 test case에서, 입력의 첫 번째 줄에서는 두 개의 양의 정수(100을 초과하지 않음)를 입력 받는다. 하나는 그 case에서 사용될 단항 연산자의 개수이고, 다른 하나는 이항 연산자의 개수이다.

첫 째 줄 다음에는(아래의 두 단락에 설명 되어있는 것처럼) 연산자의 이름과 진리표 형태의 연산자 정의를 입력 받기 위한 여러 줄(several lines)이 따라올 것이다. 연산자의 이름은 20문자를 넘지 않도록 한다. 그리고 다른 연산자의 이름과 중복되지 않도록 한다.

첫째, 각각의 단항 연산자는 두 줄 안에 정의 되도록 한다. : 두 줄 중, 첫 번째 줄에는 연산자의 이름을 입력 받는다; 두 번 째 줄에는 true/false 항목을 두 번 입력 받는다. 이는 진리표를 정의하는 것이다.

단항 연산자의 정의를 마친 이후에, 각각의 이항 연산자는 세 줄 안에 정의 되도록 한다. : 세 줄 중 첫 번째 줄에는 연산자의 이름을 입력받는다; 두 번째, 세 번째 줄에는 true/false 항목을 각각 두 번 씩 입력 받는다. 이 두 줄은 이항 연산자의 진리표를 정의 하는 것이다.

연산자 표 이후에는 위의 문법을 만족하는 유효한 논리식을 입력 받는다. 변수들은 하나 이상의 공백으로 인접한 논리 연산자로부터 구분 될 수 있다. 괄호는 인접한 식의 원소들로부터 공백문자를 이용해 분리될 수도 있고 아닐 수도 있다. 당신은 하나의 식 안에서 한번 이상 나오는 변수가 없다고 가정할지도 모른다. 그 식은 최소 1에서 500을 넘지 않는 문자들로 구성되어 있다.

식 이후의 줄(lines, 0개 이상의 줄)에서는 변수의 값을 표로 입력 받는다. 각각의 줄은 두 가지 형태 중 하나를 갖는다. :

<variable> true
<variable> false

그 표에서 변수는 하나 이상 나타나지 않는다.

각 test case의 끝은 ‘*’로 표시된다. 두 개의 음의 정수를 입력하는 것으로 입력의 끝을 표시할 수 있다.

출력

각 test case의 출력을 한 줄씩 표시한다. case 번호를 표시한다. 그 이후에 문자 true, false, unknown 중 하나를 출력한다.; 위의 설명대로 주어진 식에 적합한 것이 출력됨.

출력 포맷은 예제 출력을 통해 확인할 수 있다.

예제 입력 1

1 2
NOT
true false
AND
false false
false true
TWEEK
true false
true false
(x AND (NOT(y TWEEK z)))
x true
y true
*
1 1
MOCK
true true
NAND
true true
true false
(x NAND (MOCK (y NAND z)))
x false
y false
*
0 2
XOR
false true
true false
FAKE
true true
false false
((p XOR q) FAKE r)
p true
q false
*
-1 -1

예제 출력 1

Case 1: unknown
Case 2: true
Case 3: false
W3sicHJvYmxlbV9pZCI6IjE5MDEiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWIxN2NcdWI5YWNcdWMyZGQiLCJkZXNjcmlwdGlvbiI6IjxwPlx1Y2VmNFx1ZDRlOFx1ZDEzMCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM1ZDBcdWMxMWNcdWIyOTQgXHViMTdjXHViOWFjXHVjMmRkKGxvZ2ljIGV4cHJlc3Npb24pXHVjNzc0IFx1Yzc5MFx1YzhmYyBcdWIwOThcdWM2MjhcdWIyZTQuIFx1YjE3Y1x1YjlhY1x1YzJkZFx1Yzc1OCBcdWM2OTRcdWMxOGNcdWI0ZTRcdWM3NDAgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1YjJlNC48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT50cnVlIFx1YjYxMFx1YjI5NCBmYWxzZVx1Yzc1OCBcdWFjMTJcdWM3NDQgXHVhYzAwXHVjOWMwXHVhY2UwIFx1Yzc4OFx1YjI5NDxzdHJvbmc+IFx1YmNjMFx1YzIxODxcL3N0cm9uZz48XC9saT5cclxuXHQ8bGk+XHViMmU4XHVkNTZkKHVuYXJ5KSwgXHVjNzc0XHVkNTZkKGJpbmFyeSkgPHN0cm9uZz5cdWIxN2NcdWI5YWMgXHVjNWYwXHVjMGIwXHVjNzkwPFwvc3Ryb25nPjxcL2xpPlxyXG5cdDxsaT5cdWM1ZjBcdWMwYjBcdWM3NzQgXHVjMjE4XHVkNTg5XHViNDE4XHViMjk0IFx1YzIxY1x1YzExY1x1YzVkMCBcdWM2MDFcdWQ1YTVcdWM3NDQgXHVjOGZjXHViMjk0IDxzdHJvbmc+XHVhZDA0XHVkNjM4PFwvc3Ryb25nPjxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlx1YjJlOFx1ZDU2ZCBcdWM1ZjBcdWMwYjBcdWM3OTAoVW5hcnkgb3BlcmF0b3JzKVx1YjI5NCBcdWQ1NThcdWIwOThcdWM3NTggXHViY2MwXHVjMjE4XHVjNWQwXHVjMTFjIFx1YjNkOVx1Yzc5MVx1ZDU1Y1x1YjJlNC4gXHVhZGY4XHVjNWQwIFx1YmMxOFx1ZDU3NCBcdWM3NzRcdWQ1NmQgXHVjNWYwXHVjMGIwXHVjNzkwKEJpbmFyeSBvcGVyYXRvcnMpXHViMjk0IFx1YjQ1MCBcdWFjMWNcdWM3NTggXHViY2MwXHVjMjE4XHVjNWQwXHVjMTFjIFx1YjNkOVx1Yzc5MVx1ZDU1Y1x1YjJlNC4gXHVjNzdjXHViYzE4XHVjODAxXHVjNzc4IFx1YjJlOFx1ZDU2ZCBcdWIxN2NcdWI5YWMgXHVjNWYwXHVjMGIwXHVjNzkwXHVjNWQwXHViMjk0IE5PVFx1Yzc3NCBcdWM3ODhcdWFjZTAsIFx1Yzc3NFx1ZDU2ZCBcdWM1ZjBcdWMwYjBcdWM3OTBcdWM1ZDBcdWIyOTQgQU5ELCBPUiwgWE9SLCBOQU5ELCBOT1IgXHViNGYxXHVjNzc0IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVkNTU4XHViMDk4XHVjNzU4IFx1YjE3Y1x1YjlhYyBcdWM1ZjBcdWMwYjBcdWM3OTBcdWIyOTQgJmxzcXVvOzxzdHJvbmc+XHVjOWM0XHViOWFjXHVkNDVjKHRydXRoIHRhYmxlKTxcL3N0cm9uZz4mbHNxdW87XHViODVjIFx1YzgxNVx1Yzc1OCBcdWI0MjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC4gKFx1YjJlOFx1ZDU2ZCBcdWM1ZjBcdWMwYjBcdWM3OTBcdWIyOTQgMVx1Y2MyOFx1YzZkMCwgXHVjNzc0XHVkNTZkIFx1YzVmMFx1YzBiMFx1Yzc5MFx1YzVkMFx1YjI5NCAyXHVjYzI4XHVjNmQwKSBcdWM2MDhcdWI5N2MgXHViNGU0XHVjNWI0LCBcdWM1NDRcdWI3OThcdWM3NTggXHVhZGY4XHViOWJjXHVjNzQ0IFx1YmNmNFx1Yzc5MC48XC9wPlxyXG5cclxuPHA+PGltZyBzcmM9XCJodHRwczpcL1wvb25saW5lanVkZ2VpbWFnZXMuczMtYXAtbm9ydGhlYXN0LTEuYW1hem9uYXdzLmNvbVwvdXNlcnVwbG9hZFwvb2RhXC8yMDE2MTEwM1wvNTFjMzI0ZmFlMzY4ZWI1NTJmN2U2MDY4ZDE1NmJjMDgucG5nXCIgXC8+PFwvcD5cclxuXHJcbjxwPlx1YjE3Y1x1YjlhY1x1YzJkZFx1Yzc1OCBcdWI0NTAgXHVhYzAwXHVjOWMwIFx1YzYwOCA6PFwvcD5cclxuXHJcbjxvbD5cclxuXHQ8bGk+KHggQU5EIChOT1QoeSBOQU5EIHopKSk8XC9saT5cclxuXHQ8bGk+KHggT1IgKChOT1QgeSkgWE9SIHopKTxcL2xpPlxyXG48XC9vbD5cclxuXHJcbjxwPlx1Yzc3NCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM3NTggXHViYWE5XHVjODAxXHVjNzQ0IFx1YzcwNFx1ZDU3NCwgXHVkNTU4XHViMDk4XHVjNzU4IFx1YjE3Y1x1YjlhY1x1YzJkZFx1Yzc1OCBcdWM4MTVcdWQ2NTVcdWQ1NWMgXHVhZDZjXHVjODcwXHVhYzAwIFx1YmIzOFx1YmM5NVx1YzgwMVx1YzczY1x1Yjg1YyBcdWM4MTVcdWM3NThcdWI0MThcdWM1YjQgXHVjNzg4XHViMmU0OjxcL3A+XHJcblxyXG48cHJlPlxyXG4mbHQ7ZXhwcmVzc2lvbiZndDsgPSAmbHQ7dmFyaWFibGUmZ3Q7IHwgKCAmbHQ7ZXhwcmVzc2lvbiZndDsgJmx0O29wZXJhdG9yJmd0OyAmbHQ7ZXhwcmVzc2lvbiZndDsgKSB8ICggJmx0O29wZXJhdG9yJmd0OyAmbHQ7ZXhwcmVzc2lvbiZndDspXHJcbiZsdDt2YXJpYWJsZSZndDsgPSAmbHQ7bG93ZXJjYXNlX2xldHRlciZndDtcclxuJmx0O29wZXJhdG9yJmd0OyA9ICZsdDt1cHBlcmNhc2VfbGV0dGVyJmd0OyB8ICZsdDtvcGVyYXRvciZndDsgJmx0O3VwcGVyY2FzZV9sZXR0ZXImZ3Q7PFwvcHJlPlxyXG5cclxuPHA+KFx1YzVlY1x1YWUzMFx1YzVkMFx1YzExYyBcdWMyMThcdWM5YzEgXHViOWM5XHViMzAwICZsc3F1bzt8JnJzcXVvO1x1YjI5NCAmbHNxdW87b3ImcnNxdW87XHViODVjIFx1YmMxY1x1Yzc0Y1x1YjQxOFx1YWNlMCBcdWJiMzhcdWJjOTVcdWM4MDFcdWM3M2NcdWI4NWMgXHVjODE1XHVjNzU4XHViNDE4XHVjNWI0IFx1Yzc4OFx1YjJlNDsgXHVjNzc0XHViMjk0IFx1YzJlNFx1YzgxYyBcdWQ0NWNcdWQ2MDRcdWM1ZDBcdWMxMWNcdWIyOTQgXHVkNDVjXHVjMmRjXHViNDE4XHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNC4pICZsdDtsb3dlcmNhc2VfbGV0dGVyJmd0O1x1YzY0MCAmbHQ7dXBwZXJjYXNlX2xldHRlciZndDtcdWM3NDAgXHVhYzAxXHVhYzAxIFx1YzE4Y1x1YmIzOFx1Yzc5MCwgXHViMzAwXHViYjM4XHVjNzkwXHViOTdjIFx1Yzc1OFx1YmJmOFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzdjXHViZDgwIFx1YWNiZFx1YzZiMFx1YzVkMFx1YzExY1x1YjI5NCBcdWJhYThcdWI0ZTAgXHViY2MwXHVjMjE4XHVjNzU4IFx1YWMxMlx1Yzc3NCBcdWM4MTVcdWQ1NzRcdWM5YzBcdWM5YzAgXHVjNTRhXHViMzU0XHViNzdjXHViM2M0IFx1YjE3Y1x1YjlhY1x1YzJkZFx1Yzc1OCBcdWFjMTJcdWM3NDQgXHVhZDZjXHVkNTU4XHViMjk0IFx1YWM4M1x1Yzc3NCBcdWFjMDBcdWIyYTVcdWQ1NThcdWIyZTQuIFx1YzcwNFx1Yzc1OCBcdWM2MDhcdWMyZGMgKDEpXHVjNWQwXHVjMTFjIHkgPSBmYWxzZSBcdWM3NzRcdWFjZTAgeCwgelx1Yzc1OCBcdWFjMTJcdWM3NDAgXHViYWE4XHViOTc4XHViMmU0XHVhY2UwIFx1YWMwMFx1YzgxNVx1ZDU3NCBcdWJjZjRcdWM1NDRcdWI3N2MuIFx1YWRmOFx1YjdlY1x1YmE3NCBcdWJjYzBcdWMyMTggeCwgelx1Yzc1OCBcdWFjMTJcdWM1ZDAgXHVhZDAwXHVhY2M0XHVjNWM2XHVjNzc0IFx1YzhmY1x1YzViNFx1YzljNCBcdWIxN2NcdWI5YWNcdWMyZGRcdWM3NDAmbmJzcDtmYWxzZVx1YWMwMCBcdWI0MThcdWIyOTQgXHVhYzgzXHVjNzQ0IFx1ZDY1NVx1Yzc3OFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWIyZTRcdWI5NzggXHVkNTVjIFx1ZDNiOFx1YzczY1x1Yjg1Y1x1YjI5NCwgXHVjNjA4XHVjMmRjICgxKVx1YzVkMFx1YzExYyB4ID0gdHJ1ZSwgeSA9IHRydWUsIHpcdWIyOTQgXHViYWE4XHViOTc4XHViMmU0XHVhY2UwIFx1YWMwMFx1YzgxNVx1ZDU3NFx1YmNmNFx1Yzc5MC4gXHVjNzc0XHViNTRjXHViMjk0IHpcdWM3NTggXHVhYzEyXHVjNzQ0IFx1YzU0Y1x1YzljMCBcdWJhYmJcdWQ1NThcdWJhNzQgXHViMTdjXHViOWFjXHVjMmRkXHVjNzU4IFx1YWMxMlx1Yzc0NCBcdWM4MTVcdWQ1NjAgXHVjMjE4IFx1YzVjNlx1YjJlNC48XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Yzc4NVx1YjgyNVx1Yzc0MCBcdWQ1NThcdWIwOTggXHViNjEwXHViMjk0IFx1YWRmOFx1YmNmNFx1YjJlNCBcdWI5Y2VcdWM3NDAgdGVzdCBjYXNlc1x1Yjk3YyBcdWQzZWNcdWQ1NjhcdWQ1NWNcdWIyZTQuIFx1YWMwMVx1YWMwMVx1Yzc1OCB0ZXN0IGNhc2VcdWM1ZDBcdWMxMWMsIFx1Yzc4NVx1YjgyNVx1Yzc1OCBcdWNjYWIgXHViYzg4XHVjOWY4IFx1YzkwNFx1YzVkMFx1YzExY1x1YjI5NCBcdWI0NTAgXHVhYzFjXHVjNzU4IFx1YzU5MVx1Yzc1OCBcdWM4MTVcdWMyMTgoMTAwXHVjNzQ0IFx1Y2QwOFx1YWNmY1x1ZDU1OFx1YzljMCBcdWM1NGFcdWM3NGMpXHViOTdjIFx1Yzc4NVx1YjgyNSBcdWJjMWJcdWIyOTRcdWIyZTQuIFx1ZDU1OFx1YjA5OFx1YjI5NCBcdWFkZjggY2FzZVx1YzVkMFx1YzExYyBcdWMwYWNcdWM2YTlcdWI0MjAgXHViMmU4XHVkNTZkIFx1YzVmMFx1YzBiMFx1Yzc5MFx1Yzc1OCBcdWFjMWNcdWMyMThcdWM3NzRcdWFjZTAsIFx1YjJlNFx1Yjk3OCBcdWQ1NThcdWIwOThcdWIyOTQgXHVjNzc0XHVkNTZkIFx1YzVmMFx1YzBiMFx1Yzc5MFx1Yzc1OCBcdWFjMWNcdWMyMThcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1Y2NhYiBcdWM5ZjggXHVjOTA0IFx1YjJlNFx1Yzc0Y1x1YzVkMFx1YjI5NChcdWM1NDRcdWI3OThcdWM3NTggXHViNDUwIFx1YjJlOFx1Yjc3ZFx1YzVkMCBcdWMxMjRcdWJhODUgXHViNDE4XHVjNWI0XHVjNzg4XHViMjk0IFx1YWM4M1x1Y2M5OFx1YjdmYykmbmJzcDs8c3Ryb25nPlx1YzVmMFx1YzBiMFx1Yzc5MFx1Yzc1OCBcdWM3NzRcdWI5ODQ8XC9zdHJvbmc+XHVhY2ZjIFx1YzljNFx1YjlhY1x1ZDQ1YyBcdWQ2MTVcdWQwZGNcdWM3NTggPHN0cm9uZz5cdWM1ZjBcdWMwYjBcdWM3OTAgXHVjODE1XHVjNzU4PFwvc3Ryb25nPlx1Yjk3YyBcdWM3ODVcdWI4MjUgXHViYzFiXHVhZTMwIFx1YzcwNFx1ZDU1YyBcdWM1ZWNcdWI3ZWMgXHVjOTA0KHNldmVyYWwgbGluZXMpXHVjNzc0IFx1YjUzMFx1Yjc3Y1x1YzYyYyZuYnNwO1x1YWM4M1x1Yzc3NFx1YjJlNC4gXHVjNWYwXHVjMGIwXHVjNzkwXHVjNzU4IFx1Yzc3NFx1Yjk4NFx1Yzc0MCAyMFx1YmIzOFx1Yzc5MFx1Yjk3YyBcdWIxMThcdWM5YzAgXHVjNTRhXHViM2M0XHViODVkIFx1ZDU1Y1x1YjJlNC4gXHVhZGY4XHViOWFjXHVhY2UwIFx1YjJlNFx1Yjk3OCBcdWM1ZjBcdWMwYjBcdWM3OTBcdWM3NTggXHVjNzc0XHViOTg0XHVhY2ZjIFx1YzkxMVx1YmNmNVx1YjQxOFx1YzljMCBcdWM1NGFcdWIzYzRcdWI4NWQgXHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWNjYWJcdWM5ZjgsIFx1YWMwMVx1YWMwMVx1Yzc1OCBcdWIyZThcdWQ1NmQgXHVjNWYwXHVjMGIwXHVjNzkwXHViMjk0Jm5ic3A7XHViNDUwIFx1YzkwNCZuYnNwO1x1YzU0OFx1YzVkMCBcdWM4MTVcdWM3NTggXHViNDE4XHViM2M0XHViODVkIFx1ZDU1Y1x1YjJlNC4gOiZuYnNwO1x1YjQ1MCBcdWM5MDQgXHVjOTExLCBcdWNjYWIgXHViYzg4XHVjOWY4IFx1YzkwNFx1YzVkMFx1YjI5NCBcdWM1ZjBcdWMwYjBcdWM3OTBcdWM3NTggXHVjNzc0XHViOTg0XHVjNzQ0IFx1Yzc4NVx1YjgyNSBcdWJjMWJcdWIyOTRcdWIyZTQ7Jm5ic3A7XHViNDUwIFx1YmM4OCBcdWM5ZjggXHVjOTA0XHVjNWQwXHViMjk0IHRydWVcL2ZhbHNlIFx1ZDU2ZFx1YmFhOVx1Yzc0NCBcdWI0NTAgXHViYzg4IFx1Yzc4NVx1YjgyNSBcdWJjMWJcdWIyOTRcdWIyZTQuIFx1Yzc3NFx1YjI5NCBcdWM5YzRcdWI5YWNcdWQ0NWNcdWI5N2MgXHVjODE1XHVjNzU4XHVkNTU4XHViMjk0IFx1YWM4M1x1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViMmU4XHVkNTZkIFx1YzVmMFx1YzBiMFx1Yzc5MFx1Yzc1OCBcdWM4MTVcdWM3NThcdWI5N2MgXHViOWM4XHVjZTVjIFx1Yzc3NFx1ZDZjNFx1YzVkMCwgXHVhYzAxXHVhYzAxXHVjNzU4IFx1Yzc3NFx1ZDU2ZCBcdWM1ZjBcdWMwYjBcdWM3OTBcdWIyOTQgXHVjMTM4IFx1YzkwNCBcdWM1NDhcdWM1ZDAgXHVjODE1XHVjNzU4IFx1YjQxOFx1YjNjNFx1Yjg1ZCBcdWQ1NWNcdWIyZTQuIDombmJzcDtcdWMxMzggXHVjOTA0IFx1YzkxMSBcdWNjYWIgXHViYzg4XHVjOWY4IFx1YzkwNFx1YzVkMFx1YjI5NCBcdWM1ZjBcdWMwYjBcdWM3OTBcdWM3NTggXHVjNzc0XHViOTg0XHVjNzQ0IFx1Yzc4NVx1YjgyNVx1YmMxYlx1YjI5NFx1YjJlNDsmbmJzcDtcdWI0NTAgXHViYzg4XHVjOWY4LCBcdWMxMzggXHViYzg4XHVjOWY4IFx1YzkwNFx1YzVkMFx1YjI5NCB0cnVlXC9mYWxzZSBcdWQ1NmRcdWJhYTlcdWM3NDQgXHVhYzAxXHVhYzAxIFx1YjQ1MCBcdWJjODggXHVjNTI5IFx1Yzc4NVx1YjgyNSBcdWJjMWJcdWIyOTRcdWIyZTQuIFx1Yzc3NCBcdWI0NTAgXHVjOTA0XHVjNzQwIFx1Yzc3NFx1ZDU2ZCBcdWM1ZjBcdWMwYjBcdWM3OTBcdWM3NTggXHVjOWM0XHViOWFjXHVkNDVjXHViOTdjIFx1YzgxNVx1Yzc1OCBcdWQ1NThcdWIyOTQgXHVhYzgzXHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM1ZjBcdWMwYjBcdWM3OTAgXHVkNDVjIFx1Yzc3NFx1ZDZjNFx1YzVkMFx1YjI5NCBcdWM3MDRcdWM3NTggXHViYjM4XHViYzk1XHVjNzQ0IFx1YjljY1x1Yzg3MVx1ZDU1OFx1YjI5NCBcdWM3MjBcdWQ2YThcdWQ1NWMgXHViMTdjXHViOWFjXHVjMmRkXHVjNzQ0IFx1Yzc4NVx1YjgyNSBcdWJjMWJcdWIyOTRcdWIyZTQuIFx1YmNjMFx1YzIxOFx1YjRlNFx1Yzc0MCBcdWQ1NThcdWIwOTggXHVjNzc0XHVjMGMxXHVjNzU4Jm5ic3A7XHVhY2Y1XHViYzMxXHVjNzNjXHViODVjIFx1Yzc3OFx1YzgxMVx1ZDU1YyBcdWIxN2NcdWI5YWMgXHVjNWYwXHVjMGIwXHVjNzkwXHViODVjXHViZDgwXHVkMTMwIFx1YWQ2Y1x1YmQ4NCZuYnNwO1x1YjQyMCBcdWMyMTggXHVjNzg4XHViMmU0LiBcdWFkMDRcdWQ2MzhcdWIyOTQgXHVjNzc4XHVjODExXHVkNTVjIFx1YzJkZFx1Yzc1OCBcdWM2ZDBcdWMxOGNcdWI0ZTRcdWI4NWNcdWJkODBcdWQxMzAgXHVhY2Y1XHViYzMxXHViYjM4XHVjNzkwXHViOTdjIFx1Yzc3NFx1YzZhOVx1ZDU3NCBcdWJkODRcdWI5YWNcdWI0MjAgXHVjMjE4XHViM2M0IFx1Yzc4OFx1YWNlMCBcdWM1NDRcdWIyZDAgXHVjMjE4XHViM2M0IFx1Yzc4OFx1YjJlNC4gXHViMmY5XHVjMmUwXHVjNzQwIFx1ZDU1OFx1YjA5OFx1Yzc1OCBcdWMyZGQgXHVjNTQ4XHVjNWQwXHVjMTFjIFx1ZDU1Y1x1YmM4OCBcdWM3NzRcdWMwYzEgXHViMDk4XHVjNjI0XHViMjk0IFx1YmNjMFx1YzIxOFx1YWMwMCBcdWM1YzZcdWIyZTRcdWFjZTAgXHVhYzAwXHVjODE1XHVkNTYwXHVjOWMwXHViM2M0IFx1YmFhOFx1Yjk3OFx1YjJlNC4gXHVhZGY4IFx1YzJkZFx1Yzc0MCBcdWNkNWNcdWMxOGMgMVx1YzVkMFx1YzExYyA1MDBcdWM3NDQgXHViMTE4XHVjOWMwIFx1YzU0YVx1YjI5NCBcdWJiMzhcdWM3OTBcdWI0ZTRcdWI4NWMgXHVhZDZjXHVjMTMxXHViNDE4XHVjNWI0IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjMmRkIFx1Yzc3NFx1ZDZjNFx1Yzc1OCBcdWM5MDQobGluZXMsIDBcdWFjMWMgXHVjNzc0XHVjMGMxXHVjNzU4IFx1YzkwNClcdWM1ZDBcdWMxMWNcdWIyOTQgXHViY2MwXHVjMjE4XHVjNzU4IFx1YWMxMlx1Yzc0NCBcdWQ0NWNcdWI4NWMgXHVjNzg1XHViODI1IFx1YmMxYlx1YjI5NFx1YjJlNC4gXHVhYzAxXHVhYzAxXHVjNzU4IFx1YzkwNFx1Yzc0MCBcdWI0NTAgXHVhYzAwXHVjOWMwIFx1ZDYxNVx1ZDBkYyBcdWM5MTEgXHVkNTU4XHViMDk4XHViOTdjIFx1YWMxNlx1YjI5NFx1YjJlNC4gOjxcL3A+XHJcblxyXG48cHJlPlxyXG4mbHQ7dmFyaWFibGUmZ3Q7IHRydWVcclxuJmx0O3ZhcmlhYmxlJmd0OyBmYWxzZTxcL3ByZT5cclxuXHJcbjxwPlx1YWRmOCBcdWQ0NWNcdWM1ZDBcdWMxMWMgXHViY2MwXHVjMjE4XHViMjk0IFx1ZDU1OFx1YjA5OCBcdWM3NzRcdWMwYzEgXHViMDk4XHVkMGMwXHViMDk4XHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVhYzAxIHRlc3QgY2FzZVx1Yzc1OCBcdWIwNWRcdWM3NDAgJmxzcXVvOyomcnNxdW87XHViODVjIFx1ZDQ1Y1x1YzJkY1x1YjQxY1x1YjJlNC4gXHViNDUwIFx1YWMxY1x1Yzc1OCBcdWM3NGNcdWM3NTggXHVjODE1XHVjMjE4XHViOTdjIFx1Yzc4NVx1YjgyNVx1ZDU1OFx1YjI5NCBcdWFjODNcdWM3M2NcdWI4NWMgXHVjNzg1XHViODI1XHVjNzU4IFx1YjA1ZFx1Yzc0NCBcdWQ0NWNcdWMyZGNcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWFjMDEgdGVzdCBjYXNlXHVjNzU4IFx1Y2Q5Y1x1YjgyNVx1Yzc0NCBcdWQ1NWMgXHVjOTA0XHVjNTI5IFx1ZDQ1Y1x1YzJkY1x1ZDU1Y1x1YjJlNC4gY2FzZSBcdWJjODhcdWQ2MzhcdWI5N2MgXHVkNDVjXHVjMmRjXHVkNTVjXHViMmU0LiBcdWFkZjggXHVjNzc0XHVkNmM0XHVjNWQwIFx1YmIzOFx1Yzc5MCA8c3Ryb25nPnRydWUsIGZhbHNlLCB1bmtub3duPFwvc3Ryb25nPiZuYnNwO1x1YzkxMSBcdWQ1NThcdWIwOThcdWI5N2MgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjsgXHVjNzA0XHVjNzU4IFx1YzEyNFx1YmE4NVx1YjMwMFx1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzQgXHVjMmRkXHVjNWQwIFx1YzgwMVx1ZDU2OVx1ZDU1YyBcdWFjODNcdWM3NzQgXHVjZDljXHViODI1XHViNDI4LjxcL3A+XHJcblxyXG48cD5cdWNkOWNcdWI4MjUgXHVkM2VjXHViOWY3XHVjNzQwIFx1YzYwOFx1YzgxYyBcdWNkOWNcdWI4MjVcdWM3NDQgXHVkMWI1XHVkNTc0IFx1ZDY1NVx1Yzc3OFx1ZDU2MCBcdWMyMTggXHVjNzg4XHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1ZDU1Y1x1YWQ2ZFx1YzViNCJ9LHsicHJvYmxlbV9pZCI6IjE5MDEiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJFdmFsdWF0aW5nIExvZ2ljIEV4cHJlc3Npb25zIiwiZGVzY3JpcHRpb24iOiI8cD48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC9vbmxpbmVqdWRnZWltYWdlcy5zMy1hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tXC9wcm9ibGVtXC8xOTAxXC8xLmdpZlwiIHN0eWxlPVwiZmxvYXQ6cmlnaHQ7IGhlaWdodDoxMjJweDsgd2lkdGg6MjQ3cHhcIiBcLz5Mb2dpYyBleHByZXNzaW9ucyBvY2N1ciBmcmVxdWVudGx5IGluIGNvbXB1dGVyIHByb2dyYW1zLiBUaGUgZWxlbWVudHMgb2YgbG9naWMgZXhwcmVzc2lvbnMgYXJlOjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPnZhcmlhYmxlcywgd2hpY2ggbWF5IGhhdmUgdGhlIHZhbHVlcyB0cnVlIG9yIGZhbHNlPFwvbGk+XHJcblx0PGxpPnVuYXJ5IGFuZCBiaW5hcnkgbG9naWMgb3BlcmF0b3JzPFwvbGk+XHJcblx0PGxpPnBhcmVudGhlc2VzIHdoaWNoIG1heSBhZmZlY3QgdGhlIG9yZGVyIGluIHdoaWNoIHRoZSBvcGVyYXRpb25zIGFyZSBjYXJyaWVkIG91dDxcL2xpPlxyXG48XC91bD5cclxuXHJcbjxwPlVuYXJ5IG9wZXJhdG9ycyBvcGVyYXRlIG9uIG9uZSB2YXJpYWJsZSwgd2hlcmVhcyBiaW5hcnkgb3BlcmF0b3JzIG9wZXJhdGUgb24gdHdvIHZhcmlhYmxlcy4gQSBjb21tb24gdW5hcnkgbG9naWMgb3BlcmF0b3IgaXMgTk9UOyBzb21lIGNvbW1vbiBiaW5hcnkgbG9naWMgb3BlcmF0b3JzIGFyZSBBTkQsIE9SLCBYT1IsIE5BTkQgYW5kIE5PUi48XC9wPlxyXG5cclxuPHA+QSBsb2dpYyBvcGVyYXRvciBjYW4gYmUgZGVmaW5lZCBieSBhICYjMzk7dHJ1dGggdGFibGUmIzM5OyAob25lLWRpbWVuc2lvbmFsIGZvciB1bmFyeSBvcGVyYXRvcnMsIHR3by1kaW1lbnNpb25hbCBmb3IgYmluYXJ5IG9wZXJhdG9ycykuIEZvciBleGFtcGxlcywgc2VlIHRoZSBkaWFncmFtLjxcL3A+XHJcblxyXG48cD48aW1nIGFsdD1cIlwiIHNyYz1cImh0dHBzOlwvXC9vbmxpbmVqdWRnZWltYWdlcy5zMy1hcC1ub3J0aGVhc3QtMS5hbWF6b25hd3MuY29tXC9wcm9ibGVtXC8xOTAxXC8yLmpwZ1wiIFwvPjxcL3A+XHJcblxyXG48cD5Ob3RlIHRoYXQgZmFsc2UgY29tZXMgYmVmb3JlIHRydWUgaW4gdGhlIGhlYWRlciBhY3Jvc3MgdGhlIHRvcCAoZm9yIHVuYXJ5IG9yIHRoZSByaWdodCBvcGVyYW5kIG9mIGJpbmFyeSBvcGVyYXRvcnMpLCBhcyB3ZWxsIGFzIG9uIHRoZSBsZWZ0IG1hcmdpbiAoZm9yIHRoZSBsZWZ0IG9wZXJhbmQgb2YgYmluYXJ5IG9wZXJhdG9ycykuPFwvcD5cclxuXHJcbjxwPlR3byBleGFtcGxlcyBvZiBsb2dpYyBleHByZXNzaW9ucyBhcmU6PFwvcD5cclxuXHJcbjxvbD5cclxuXHQ8bGk+KHggQU5EIChOT1QoeSBOQU5EIHopKSk8XC9saT5cclxuXHQ8bGk+KHggT1IgKChOT1QgeSkgWE9SIHopKTxcL2xpPlxyXG48XC9vbD5cclxuXHJcbjxwPkZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBwcm9ibGVtLCB0aGUgcHJlY2lzZSBzdHJ1Y3R1cmUgb2YgYSBsb2dpYyBleHByZXNzaW9uIGlzIGRlZmluZWQgYnkgdGhlIGdyYW1tYXI6PFwvcD5cclxuXHJcbjxwcmU+XHJcbiZsdDtleHByZXNzaW9uJmd0OyA9ICZsdDt2YXJpYWJsZSZndDsgfCAoICZsdDtleHByZXNzaW9uJmd0OyAmbHQ7b3BlcmF0b3ImZ3Q7ICZsdDtleHByZXNzaW9uJmd0OyApIHwgKCAmbHQ7b3BlcmF0b3ImZ3Q7ICZsdDtleHByZXNzaW9uJmd0OylcclxuJmx0O3ZhcmlhYmxlJmd0OyA9ICZsdDtsb3dlcmNhc2VfbGV0dGVyJmd0O1xyXG4mbHQ7b3BlcmF0b3ImZ3Q7ID0gJmx0O3VwcGVyY2FzZV9sZXR0ZXImZ3Q7IHwgJmx0O29wZXJhdG9yJmd0OyAmbHQ7dXBwZXJjYXNlX2xldHRlciZndDs8XC9wcmU+XHJcblxyXG48cD4oSGVyZSB0aGUgdmVydGljYWwgYmFyICYjMzk7fCYjMzk7IGlzIHByb25vdW5jZWQgJiMzOTtvciYjMzk7IGFuZCBpcyB1c2VkIHRvIGRlZmluZSB0aGUgZ3JhbW1hcjsgaXQgZG9lcyBub3QgYWN0dWFsbHkgc2hvdyB1cCBpbiB0aGUgZXhwcmVzc2lvbi4pICZsdDtsb3dlcmNhc2VfbGV0dGVyJmd0OyBhbmQgJmx0O3VwcGVyY2FzZV9sZXR0ZXImZ3Q7IGhhdmUgdGhlaXIgdXN1YWwgbWVhbmluZ3MuPFwvcD5cclxuXHJcbjxwPkluIHNvbWUgY2FzZXMsIGl0IGlzIHBvc3NpYmxlIHRvIGV2YWx1YXRlIGEgbG9naWMgZXhwcmVzc2lvbiBldmVuIHdoZW4gbm90IGFsbCBvZiB0aGUgdmFyaWFibGVzIGhhdmUgYmVlbiBhc3NpZ25lZCB2YWx1ZXMuIENvbnNpZGVyIEV4YW1wbGUgKDEpIGFib3ZlLCBhbmQgc3VwcG9zZSB0aGF0IHkgPSBmYWxzZSwgYnV0IHRoZSB2YWx1ZXMgb2YgeCBhbmQgeiBhcmUgbm90IGtub3duLiBJdCBjYW4gYmUgc2VlbiB0aGF0IHRoZSBnaXZlbiBleHByZXNzaW9uIGV2YWx1YXRlcyB0byBmYWxzZSByZWdhcmRsZXNzIG9mIHRoZSB2YWx1ZXMgb2YgdGhlIHVuYXNzaWduZWQgdmFyaWFibGVzLiBPbiB0aGUgb3RoZXIgaGFuZCwgc3VwcG9zZSB0aGF0LCBpbiB0aGUgc2FtZSBFeGFtcGxlICgxKSwgeCA9IHRydWUsIHkgPSB0cnVlLCBhbmQgeiBpcyB1bmtub3duLiBpdCBpcyBub3QgcG9zc2libGUgdG8gZGV0ZXJtaW5lIHRoZSB2YWx1ZSBvZiB0aGUgZXhwcmVzc2lvbiB3aXRob3V0IGtub3dpbmcgdGhlIHZhbHVlIG9mIHouPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5UaGUgaW5wdXQgd2lsbCBjb250YWluIGRhdGEgZm9yIG9uZSBvciBtb3JlIHRlc3QgY2FzZXMuIEZvciBlYWNoIHRlc3QgY2FzZSwgdGhlIGZpcnN0IGxpbmUgb2YgaW5wdXQgd2lsbCBjb250YWluIHR3byBub24tbmVnYXRpdmUgaW50ZWdlcnMgKG5vdCBleGNlZWRpbmcgMTAwKSwgdGhlIG51bWJlciBvZiB1bmFyeSBvcGVyYXRvcnMgYW5kIHRoZSBudW1iZXIgb2YgYmluYXJ5IG9wZXJhdG9ycyB0byBiZSBjb25zaWRlcmVkIGZvciB0aGF0IGNhc2UuIFRoZSBmaXJzdCBsaW5lIHdpbGwgYmUgZm9sbG93ZWQgYnkgc2V2ZXJhbCBsaW5lcyB0aGF0IHdpbGwgbmFtZSBlYWNoIG9wZXJhdG9yIGFuZCBkZWZpbmUgaXQgaW4gdGhlIGZvcm0gb2YgYSB0cnV0aCB0YWJsZSwgYXMgZGVzY3JpYmVkIGluIHRoZSBuZXh0IHR3byBwYXJhZ3JhcGhzLiBUaGUgbmFtZXMgb2YgdGhlIG9wZXJhdG9ycyBkbyBub3QgZXhjZWVkIDIwIGNoYXJhY3RlcnMgYW5kIGFyZSB1bmlxdWUgZm9yIGVhY2ggb3BlcmF0b3IuPFwvcD5cclxuXHJcbjxwPkZpcnN0LCBlYWNoIHVuYXJ5IG9wZXJhdG9yIHdpbGwgYmUgZGVmaW5lZCBpbiB0d28gbGluZXMgb2YgaW5wdXQ6IHRoZSBmaXJzdCBvZiB0aGVzZSB0d28gbGluZXMgd2lsbCBjb250YWluIHRoZSBuYW1lIG9mIHRoZSBvcGVyYXRvcjsgdGhlIHNlY29uZCBsaW5lIHdpbGwgY29udGFpbiB0d28gdHJ1ZSBcLyBmYWxzZSBlbnRyaWVzIHRoYXQgZGVmaW5lIHRoZSB0YWJsZSBmb3IgdGhlIHVuYXJ5IG9wZXJhdG9yLCB3aXRob3V0IHRoZSBpbXBsaWVkIGNvbHVtbiBoZWFkZXJzIGFjcm9zcyB0aGUgdG9wLjxcL3A+XHJcblxyXG48cD5BZnRlciB0aGUgdW5hcnkgb3BlcmF0b3JzIGhhdmUgYmVlbiBkZWZpbmVkLCBlYWNoIGJpbmFyeSBvcGVyYXRvciB3aWxsIGJlIGRlZmluZWQgaW4gdGhyZWUgbGluZXMgb2YgaW5wdXQ6IHRoZSBmaXJzdCBvZiB0aGVzZSB0aHJlZSBsaW5lcyB3aWxsIGNvbnRhaW4gdGhlIG5hbWUgb2YgdGhlIG9wZXJhdG9yOyB0aGUgc2Vjb25kIGFuZCB0aGlyZCBsaW5lcyB3aWxsIGVhY2ggY29udGFpbiB0d28gdHJ1ZSBcLyBmYWxzZSBlbnRyaWVzLiBUaGVzZSB0d28gbGluZXMgZGVmaW5lIHRoZSB0YWJsZSBmb3IgdGhlIGJpbmFyeSBvcGVyYXRvciwgd2l0aG91dCB0aGUgaW1wbGllZCBjb2x1bW4gaGVhZGVycyBhY3Jvc3MgdGhlIHRvcCBhbmQgcm93IGhlYWRlcnMgb24gdGhlIGxlZnQgbWFyZ2luLjxcL3A+XHJcblxyXG48cD5UaGUgb3BlcmF0b3IgdGFibGVzIHdpbGwgYmUgZm9sbG93ZWQgYnkgYSBsaW5lIGNvbnRhaW5pbmcgYSB2YWxpZCBsb2dpYyBleHByZXNzaW9uIHNhdGlzZnlpbmcgdGhlIGFib3ZlIGdyYW1tYXIuIFZhcmlhYmxlcyB3aWxsIGJlIHNlcGFyYXRlZCBmcm9tIGFkamFjZW50IGxvZ2ljIG9wZXJhdG9ycyBieSBvbmUgb3IgbW9yZSBibGFuayBzcGFjZXMuIFBhcmVudGhlc2VzIG1heSBvciBtYXkgbm90IGJlIHNlcGFyYXRlZCBmcm9tIGFkamFjZW50IGVsZW1lbnRzIG9mIHRoZSBleHByZXNzaW9uIGJ5IGJsYW5rIHNwYWNlcy4gWW91IG1heSBhc3N1bWUgdGhhdCBubyB2YXJpYWJsZSB3aWxsIG9jY3VyIG1vcmUgdGhhbiBvbmNlIGluIGFuIGV4cHJlc3Npb24uIFRoZSBleHByZXNzaW9uIHdpbGwgY29uc2lzdCBvZiBhdCBsZWFzdCAxIGJ1dCBub3QgbW9yZSB0aGFuIDUwMCBjaGFyYWN0ZXJzLjxcL3A+XHJcblxyXG48cD5UaGUgZXhwcmVzc2lvbiB3aWxsIGJlIGZvbGxvd2VkIGJ5IHplcm8gb3IgbW9yZSBsaW5lcyB0aGF0IGNvbXByaXNlIGEgdGFibGUgb2YgdmFsdWVzLiBFYWNoIG9mIHRoZXNlIGxpbmVzIHdpbGwgaGF2ZSBvbmUgb2YgdGhlIHR3byBmb3Jtczo8XC9wPlxyXG5cclxuPHByZT5cclxuJmx0O3ZhcmlhYmxlJmd0OyB0cnVlXHJcbiZsdDt2YXJpYWJsZSZndDsgZmFsc2U8XC9wcmU+XHJcblxyXG48cD5ObyB2YXJpYWJsZSB3aWxsIGFwcGVhciBtb3JlIHRoYW4gb25jZSBpbiB0aGUgdGFibGUuPFwvcD5cclxuXHJcbjxwPlRoZSBlbmQgb2YgZWFjaCB0ZXN0IGNhc2Ugd2lsbCBiZSBtYXJrZWQgYnkgYSBsaW5lIGNvbnRhaW5pbmcgYSBzaW5nbGUgYXN0ZXJpc2suIEVuZCBvZiBpbnB1dCB3aWxsIGJlIG1hcmtlZCBieSBhIGxpbmUgY29udGFpbmluZyB0d28gbmVnYXRpdmUgaW50ZWdlcnMuPFwvcD5cclxuIiwib3V0cHV0IjoiPHA+Rm9yIGVhY2ggdGVzdCBjYXNlIHRoZXJlIHdpbGwgYmUgb25lIGxpbmUgb2Ygb3V0cHV0LiBUaGUgY2FzZSBudW1iZXIgd2lsbCBiZSBwcmludGVkIGluIHRoZSBmb3JtYXQgb2YgdGhlIHNhbXBsZSBvdXRwdXQuPFwvcD5cclxuXHJcbjxwPkl0IHdpbGwgYmUgZm9sbG93ZWQgYnkgb25lIG9mIHRoZSB3b3JkczogdHJ1ZSwgZmFsc2UsIG9yIHVua25vd247IHdoaWNoZXZlciBpcyBhcHByb3ByaWF0ZSBmb3IgdGhlIGdpdmVuIGV4cHJlc3Npb24sIGFzIGV4cGxhaW5lZCBhYm92ZS48XC9wPlxyXG5cclxuPHA+VGhlIG91dHB1dCBmb3JtYXQgaXMgaWxsdXN0cmF0ZWQgaW4gdGhlIHNhbXBsZSBvdXRwdXQuPFwvcD5cclxuIiwiaGludCI6IiIsIm9yaWdpbmFsIjoiMSIsInByb2JsZW1fbGFuZ19jb2RlIjoiXHVjNjAxXHVjNWI0In1d