시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 16 MB 56 24 19 46.341%

문제

0, ... , n-1로 번호가 매겨진 n명의 사람으로 구성된 소셜 네트워크를 만들자. 이 네트워크에 있는 사람들 중 어떤 쌍은 서로 친구가 된다. 즉, 사람 x가 사람 y의 친구가 되면, 사람 y도 사람 x의 친구가 된다.

사람들은 n 단계를 거쳐서 네트워크에 추가되는데, 각 단계를 0부터 n-1로 번호를 매기자. 사람 i는 단계 i에 추가된다. 단계 0에서, 사람 0은 이 네트워크에 있는 유일한 사람으로 추가된다. 다음 n-1개의 각 단계에서, 초대자가 새로 사람 하나를 네트워크에 추가한다. 초대자는 이 단계에 네트워크에 이미 들어와 있는 사람 중 하나이다. 단계 i에서 (0 < i < n), 이 단계의 초대자는 새로 들어오는 사람 를 다음 프로토콜 중 하나를 사용하여 네트워크에 추가한다.

  • IAmYourFriend는 사람 i를 초대자의 친구로만 등록한다.
  • MyFriendsAreYourFriends는 사람 i를 초대자의 현재 모든 친구의 친구로 등록한다. 이 경우 사람 i는 초대자의 친구가 아니다.
  • WeAreYourFriends는 사람 i를 초대자와, 초대자의 현재 모든 친구의 친구로 등록한다.

네트워크를 다 만든 다음에는 설문을 위해서 표본을 구하고자 한다. 표본은 네트워크에 속한 사람들로 구성된 모임이다. 친구끼리는 서로 좋아하는 것이 비슷하기 때문에, 표본에 속하는 사람들 중에는 서로 친구인 쌍이 있으면 안된다. 각 사람마다 설문에서 쓰이는 신뢰도가 있는데, 이는 양의 정수로 표현된다. 우리는 신뢰도의 총합이 최대인 표본을 구하려 한다.

단계 초대자 프로토콜 추가되는 친구 관계
1 0 IAmYourFriend (1, 0)
2 0 MyFriendsAreYourFriends (2, 1)
3 1 WeAreYourFriends (3, 1), (3, 0), (3, 2)
4 2 MyFriendsAreYourFriends (4, 1), (4, 3)
5 0 IAmYourFriend (5, 0)

처음 네트워크에는 사람 0만 있다. 단계 1의 초대자(사람 0)는 새로 사람 1을 IAmYourFriend 프로토콜로 추가해서, 서로 친구가 된다. 단계 2의 초대자(이번에도 사람 0)는 사람 2를 MyFriendsAreYourFriends로 추가하는데,사람 1(초대자의 유일한 친구)이 사람 2의 유일한 친구가 된다. 단계 3의 초대자(사람 1)는 사람 3을WeAreYourFriends로 추가하는데, 사람 3은 사람 1(초대자)과 사람 0, 2 (초대자의 친구들)의 친구가 된다. 단계 4와 단계 5도 표에 보인 바와 같다. 최종적인 네트워크는 다음 그림과 같고, 동그라미 안의 숫자는 사람의 번호이고, 동그라미 아래의 숫자는 이 사람의 신뢰도를 나타낸다. 사람 3과 5로 이루어진 표본의 신뢰도의 총합은 20 + 15 = 35인데, 이는 가능한 신뢰도의 총합 중 최대이다.

각 단계의 기술과 각 사람의 신뢰도가 주어졌을 때, 신뢰도의 총합이 최대인 표본을 구하시오.

입력

첫째 줄에 사람의 수 n이 주어진다.

둘째 줄에 각 사람의 신뢰도가 공백으로 구분되어 주어진다.

셋째 줄에는 각 단계의 정보가 host1 protocol1 host2 protocol2 ... hostn-1 protocoln-1과 같은 형식으로 주어진다. (단계 0에는 초대자가 없기 때문에 host0과 protocol0은 주어지지 않는다) host는 i번 단계의 초대자이고, protocol의 값이 0이면 IAmYourFriend, 1이면 MyFriendsAreYourFriends, 2이면 WeAreYourFriends 프로토콜이다.

문제는 다음 두 조건 중 하나이다.

  • 2 ≤ n ≤ 1,000, 1 ≤ 신뢰도 ≤ 1,000,000
  • 2 ≤ n ≤ 100,000, 1 ≤ 신뢰도 ≤ 10,000

출력

신뢰도의 총합이 최대인 표본에 대한 신뢰도의 총합을 출력한다.

예제 입력 1

6
13 3 6 20 10 15
0 0 0 1 1 2 2 1 0 0

예제 출력 1

35
W3sicHJvYmxlbV9pZCI6IjEwMDc1IiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiXHVjZTVjXHVhZDZjIiwiZGVzY3JpcHRpb24iOiI8cD4wLCAuLi4gLCBuLTFcdWI4NWMgXHViYzg4XHVkNjM4XHVhYzAwIFx1YjllNFx1YWNhOFx1YzljNCBuXHViYTg1XHVjNzU4IFx1YzBhY1x1Yjc4Y1x1YzczY1x1Yjg1YyBcdWFkNmNcdWMxMzFcdWI0MWMgXHVjMThjXHVjMTVjIFx1YjEyNFx1ZDJiOFx1YzZjY1x1ZDA2Y1x1Yjk3YyBcdWI5Y2NcdWI0ZTRcdWM3OTAuIFx1Yzc3NCBcdWIxMjRcdWQyYjhcdWM2Y2NcdWQwNmNcdWM1ZDAgXHVjNzg4XHViMjk0IFx1YzBhY1x1Yjc4Y1x1YjRlNCBcdWM5MTEgXHVjNWI0XHViNWE0IFx1YzMwZFx1Yzc0MCBcdWMxMWNcdWI4NWMgXHVjZTVjXHVhZDZjXHVhYzAwIFx1YjQxY1x1YjJlNC4gXHVjOTg5LCBcdWMwYWNcdWI3OGMgeFx1YWMwMCBcdWMwYWNcdWI3OGMgeVx1Yzc1OCBcdWNlNWNcdWFkNmNcdWFjMDAgXHViNDE4XHViYTc0LCBcdWMwYWNcdWI3OGMgeVx1YjNjNCBcdWMwYWNcdWI3OGMgeFx1Yzc1OCBcdWNlNWNcdWFkNmNcdWFjMDAgXHViNDFjXHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWMwYWNcdWI3OGNcdWI0ZTRcdWM3NDAgbiBcdWIyZThcdWFjYzRcdWI5N2MgXHVhYzcwXHVjY2QwXHVjMTFjIFx1YjEyNFx1ZDJiOFx1YzZjY1x1ZDA2Y1x1YzVkMCBcdWNkOTRcdWFjMDBcdWI0MThcdWIyOTRcdWIzNzAsIFx1YWMwMSBcdWIyZThcdWFjYzRcdWI5N2MgMFx1YmQ4MFx1ZDEzMCBuLTFcdWI4NWMgXHViYzg4XHVkNjM4XHViOTdjIFx1YjllNFx1YWUzMFx1Yzc5MC4gXHVjMGFjXHViNzhjIGlcdWIyOTQgXHViMmU4XHVhY2M0IGlcdWM1ZDAgXHVjZDk0XHVhYzAwXHViNDFjXHViMmU0LiBcdWIyZThcdWFjYzQgMFx1YzVkMFx1YzExYywgXHVjMGFjXHViNzhjIDBcdWM3NDAgXHVjNzc0IFx1YjEyNFx1ZDJiOFx1YzZjY1x1ZDA2Y1x1YzVkMCBcdWM3ODhcdWIyOTQgXHVjNzIwXHVjNzdjXHVkNTVjIFx1YzBhY1x1Yjc4Y1x1YzczY1x1Yjg1YyBcdWNkOTRcdWFjMDBcdWI0MWNcdWIyZTQuIFx1YjJlNFx1Yzc0YyBuLTFcdWFjMWNcdWM3NTggXHVhYzAxIFx1YjJlOFx1YWNjNFx1YzVkMFx1YzExYywgXHVjZDA4XHViMzAwXHVjNzkwXHVhYzAwIFx1YzBjOFx1Yjg1YyBcdWMwYWNcdWI3OGMgXHVkNTU4XHViMDk4XHViOTdjIFx1YjEyNFx1ZDJiOFx1YzZjY1x1ZDA2Y1x1YzVkMCBcdWNkOTRcdWFjMDBcdWQ1NWNcdWIyZTQuIFx1Y2QwOFx1YjMwMFx1Yzc5MFx1YjI5NCBcdWM3NzQgXHViMmU4XHVhY2M0XHVjNWQwIFx1YjEyNFx1ZDJiOFx1YzZjY1x1ZDA2Y1x1YzVkMCBcdWM3NzRcdWJiZjggXHViNGU0XHVjNWI0XHVjNjQwIFx1Yzc4OFx1YjI5NCBcdWMwYWNcdWI3OGMgXHVjOTExIFx1ZDU1OFx1YjA5OFx1Yzc3NFx1YjJlNC4gXHViMmU4XHVhY2M0IGlcdWM1ZDBcdWMxMWMgKDAgJmx0OyBpICZsdDsgbiksIFx1Yzc3NCBcdWIyZThcdWFjYzRcdWM3NTggXHVjZDA4XHViMzAwXHVjNzkwXHViMjk0IFx1YzBjOFx1Yjg1YyBcdWI0ZTRcdWM1YjRcdWM2MjRcdWIyOTQgXHVjMGFjXHViNzhjIFx1Yjk3YyBcdWIyZTRcdWM3NGMgXHVkNTA0XHViODVjXHVkMWEwXHVjZjVjIFx1YzkxMSBcdWQ1NThcdWIwOThcdWI5N2MgXHVjMGFjXHVjNmE5XHVkNTU4XHVjNWVjIFx1YjEyNFx1ZDJiOFx1YzZjY1x1ZDA2Y1x1YzVkMCBcdWNkOTRcdWFjMDBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+SUFtWW91ckZyaWVuZFx1YjI5NCBcdWMwYWNcdWI3OGMgaVx1Yjk3YyBcdWNkMDhcdWIzMDBcdWM3OTBcdWM3NTggXHVjZTVjXHVhZDZjXHViODVjXHViOWNjIFx1YjRmMVx1Yjg1ZFx1ZDU1Y1x1YjJlNC48XC9saT5cclxuXHQ8bGk+TXlGcmllbmRzQXJlWW91ckZyaWVuZHNcdWIyOTQgXHVjMGFjXHViNzhjIGlcdWI5N2MgXHVjZDA4XHViMzAwXHVjNzkwXHVjNzU4IFx1ZDYwNFx1YzdhYyBcdWJhYThcdWI0ZTAgXHVjZTVjXHVhZDZjXHVjNzU4IFx1Y2U1Y1x1YWQ2Y1x1Yjg1YyBcdWI0ZjFcdWI4NWRcdWQ1NWNcdWIyZTQuIFx1Yzc3NCBcdWFjYmRcdWM2YjAgXHVjMGFjXHViNzhjIGlcdWIyOTQgXHVjZDA4XHViMzAwXHVjNzkwXHVjNzU4IFx1Y2U1Y1x1YWQ2Y1x1YWMwMCBcdWM1NDRcdWIyYzhcdWIyZTQuPFwvbGk+XHJcblx0PGxpPldlQXJlWW91ckZyaWVuZHNcdWIyOTQgXHVjMGFjXHViNzhjIGlcdWI5N2MgXHVjZDA4XHViMzAwXHVjNzkwXHVjNjQwLCBcdWNkMDhcdWIzMDBcdWM3OTBcdWM3NTggXHVkNjA0XHVjN2FjIFx1YmFhOFx1YjRlMCBcdWNlNWNcdWFkNmNcdWM3NTggXHVjZTVjXHVhZDZjXHViODVjIFx1YjRmMVx1Yjg1ZFx1ZDU1Y1x1YjJlNC48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5cdWIxMjRcdWQyYjhcdWM2Y2NcdWQwNmNcdWI5N2MgXHViMmU0IFx1YjljY1x1YjRlMCBcdWIyZTRcdWM3NGNcdWM1ZDBcdWIyOTQgXHVjMTI0XHViYjM4XHVjNzQ0IFx1YzcwNFx1ZDU3NFx1YzExYyBcdWQ0NWNcdWJjZjhcdWM3NDQgXHVhZDZjXHVkNTU4XHVhY2UwXHVjNzkwIFx1ZDU1Y1x1YjJlNC4gXHVkNDVjXHViY2Y4XHVjNzQwIFx1YjEyNFx1ZDJiOFx1YzZjY1x1ZDA2Y1x1YzVkMCBcdWMxOGRcdWQ1NWMgXHVjMGFjXHViNzhjXHViNGU0XHViODVjIFx1YWQ2Y1x1YzEzMVx1YjQxYyBcdWJhYThcdWM3ODRcdWM3NzRcdWIyZTQuIFx1Y2U1Y1x1YWQ2Y1x1YjA3Y1x1YjlhY1x1YjI5NCBcdWMxMWNcdWI4NWMgXHVjODhiXHVjNTQ0XHVkNTU4XHViMjk0IFx1YWM4M1x1Yzc3NCBcdWJlNDRcdWMyYjdcdWQ1NThcdWFlMzAgXHViNTRjXHViYjM4XHVjNWQwLCBcdWQ0NWNcdWJjZjhcdWM1ZDAgXHVjMThkXHVkNTU4XHViMjk0IFx1YzBhY1x1Yjc4Y1x1YjRlNCBcdWM5MTFcdWM1ZDBcdWIyOTQgXHVjMTFjXHViODVjIFx1Y2U1Y1x1YWQ2Y1x1Yzc3OCBcdWMzMGRcdWM3NzQgXHVjNzg4XHVjNzNjXHViYTc0IFx1YzU0OFx1YjQxY1x1YjJlNC4gXHVhYzAxIFx1YzBhY1x1Yjc4Y1x1YjljOFx1YjJlNCBcdWMxMjRcdWJiMzhcdWM1ZDBcdWMxMWMgXHVjNGYwXHVjNzc0XHViMjk0IFx1YzJlMFx1YjhiMFx1YjNjNFx1YWMwMCBcdWM3ODhcdWIyOTRcdWIzNzAsIFx1Yzc3NFx1YjI5NCBcdWM1OTFcdWM3NTggXHVjODE1XHVjMjE4XHViODVjIFx1ZDQ1Y1x1ZDYwNFx1YjQxY1x1YjJlNC4gXHVjNmIwXHViOWFjXHViMjk0IFx1YzJlMFx1YjhiMFx1YjNjNFx1Yzc1OCBcdWNkMWRcdWQ1NjlcdWM3NzQgXHVjZDVjXHViMzAwXHVjNzc4IFx1ZDQ1Y1x1YmNmOFx1Yzc0NCBcdWFkNmNcdWQ1NThcdWI4MjQgXHVkNTVjXHViMmU0LjxcL3A+XHJcblxyXG48dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1ib3JkZXJlZFwiIHN0eWxlPVwid2lkdGg6NTAlXCI+XHJcblx0PHRoZWFkPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGg+XHViMmU4XHVhY2M0PFwvdGg+XHJcblx0XHRcdDx0aD5cdWNkMDhcdWIzMDBcdWM3OTA8XC90aD5cclxuXHRcdFx0PHRoPlx1ZDUwNFx1Yjg1Y1x1ZDFhMFx1Y2Y1YzxcL3RoPlxyXG5cdFx0XHQ8dGg+XHVjZDk0XHVhYzAwXHViNDE4XHViMjk0IFx1Y2U1Y1x1YWQ2YyBcdWFkMDBcdWFjYzQ8XC90aD5cclxuXHRcdDxcL3RyPlxyXG5cdDxcL3RoZWFkPlxyXG5cdDx0Ym9keT5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjE8XC90ZD5cclxuXHRcdFx0PHRkPjA8XC90ZD5cclxuXHRcdFx0PHRkPklBbVlvdXJGcmllbmQ8XC90ZD5cclxuXHRcdFx0PHRkPigxLCAwKTxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4yPFwvdGQ+XHJcblx0XHRcdDx0ZD4wPFwvdGQ+XHJcblx0XHRcdDx0ZD5NeUZyaWVuZHNBcmVZb3VyRnJpZW5kczxcL3RkPlxyXG5cdFx0XHQ8dGQ+KDIsIDEpPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjM8XC90ZD5cclxuXHRcdFx0PHRkPjE8XC90ZD5cclxuXHRcdFx0PHRkPldlQXJlWW91ckZyaWVuZHM8XC90ZD5cclxuXHRcdFx0PHRkPigzLCAxKSwgKDMsIDApLCAoMywgMik8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+NDxcL3RkPlxyXG5cdFx0XHQ8dGQ+MjxcL3RkPlxyXG5cdFx0XHQ8dGQ+TXlGcmllbmRzQXJlWW91ckZyaWVuZHM8XC90ZD5cclxuXHRcdFx0PHRkPig0LCAxKSwgKDQsIDMpPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjU8XC90ZD5cclxuXHRcdFx0PHRkPjA8XC90ZD5cclxuXHRcdFx0PHRkPklBbVlvdXJGcmllbmQ8XC90ZD5cclxuXHRcdFx0PHRkPig1LCAwKTxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0PFwvdGJvZHk+XHJcbjxcL3RhYmxlPlxyXG5cclxuPHA+XHVjYzk4XHVjNzRjIFx1YjEyNFx1ZDJiOFx1YzZjY1x1ZDA2Y1x1YzVkMFx1YjI5NCBcdWMwYWNcdWI3OGMgMFx1YjljYyBcdWM3ODhcdWIyZTQuIFx1YjJlOFx1YWNjNCAxXHVjNzU4IFx1Y2QwOFx1YjMwMFx1Yzc5MChcdWMwYWNcdWI3OGMgMClcdWIyOTQgXHVjMGM4XHViODVjIFx1YzBhY1x1Yjc4YyAxXHVjNzQ0IElBbVlvdXJGcmllbmQgXHVkNTA0XHViODVjXHVkMWEwXHVjZjVjXHViODVjIFx1Y2Q5NFx1YWMwMFx1ZDU3NFx1YzExYywgXHVjMTFjXHViODVjIFx1Y2U1Y1x1YWQ2Y1x1YWMwMCBcdWI0MWNcdWIyZTQuIFx1YjJlOFx1YWNjNCAyXHVjNzU4IFx1Y2QwOFx1YjMwMFx1Yzc5MChcdWM3NzRcdWJjODhcdWM1ZDBcdWIzYzQgXHVjMGFjXHViNzhjIDApXHViMjk0IFx1YzBhY1x1Yjc4YyAyXHViOTdjIE15RnJpZW5kc0FyZVlvdXJGcmllbmRzXHViODVjIFx1Y2Q5NFx1YWMwMFx1ZDU1OFx1YjI5NFx1YjM3MCxcdWMwYWNcdWI3OGMgMShcdWNkMDhcdWIzMDBcdWM3OTBcdWM3NTggXHVjNzIwXHVjNzdjXHVkNTVjIFx1Y2U1Y1x1YWQ2YylcdWM3NzQgXHVjMGFjXHViNzhjIDJcdWM3NTggXHVjNzIwXHVjNzdjXHVkNTVjIFx1Y2U1Y1x1YWQ2Y1x1YWMwMCBcdWI0MWNcdWIyZTQuIFx1YjJlOFx1YWNjNCAzXHVjNzU4IFx1Y2QwOFx1YjMwMFx1Yzc5MChcdWMwYWNcdWI3OGMgMSlcdWIyOTQgXHVjMGFjXHViNzhjIDNcdWM3NDRXZUFyZVlvdXJGcmllbmRzXHViODVjIFx1Y2Q5NFx1YWMwMFx1ZDU1OFx1YjI5NFx1YjM3MCwgXHVjMGFjXHViNzhjIDNcdWM3NDAgXHVjMGFjXHViNzhjIDEoXHVjZDA4XHViMzAwXHVjNzkwKVx1YWNmYyBcdWMwYWNcdWI3OGMgMCwgMiAoXHVjZDA4XHViMzAwXHVjNzkwXHVjNzU4IFx1Y2U1Y1x1YWQ2Y1x1YjRlNClcdWM3NTggXHVjZTVjXHVhZDZjXHVhYzAwIFx1YjQxY1x1YjJlNC4gXHViMmU4XHVhY2M0IDRcdWM2NDAgXHViMmU4XHVhY2M0IDVcdWIzYzQgXHVkNDVjXHVjNWQwIFx1YmNmNFx1Yzc3OCBcdWJjMTRcdWM2NDAgXHVhYzE5XHViMmU0LiBcdWNkNWNcdWM4ODVcdWM4MDFcdWM3NzggXHViMTI0XHVkMmI4XHVjNmNjXHVkMDZjXHViMjk0IFx1YjJlNFx1Yzc0YyBcdWFkZjhcdWI5YmNcdWFjZmMgXHVhYzE5XHVhY2UwLCBcdWIzZDlcdWFkZjhcdWI3N2NcdWJiZjggXHVjNTQ4XHVjNzU4IFx1YzIyYlx1Yzc5MFx1YjI5NCBcdWMwYWNcdWI3OGNcdWM3NTggXHViYzg4XHVkNjM4XHVjNzc0XHVhY2UwLCBcdWIzZDlcdWFkZjhcdWI3N2NcdWJiZjggXHVjNTQ0XHViNzk4XHVjNzU4IFx1YzIyYlx1Yzc5MFx1YjI5NCBcdWM3NzQgXHVjMGFjXHViNzhjXHVjNzU4IFx1YzJlMFx1YjhiMFx1YjNjNFx1Yjk3YyBcdWIwOThcdWQwYzBcdWIwYjhcdWIyZTQuIFx1YzBhY1x1Yjc4YyAzXHVhY2ZjIDVcdWI4NWMgXHVjNzc0XHViOGU4XHVjNWI0XHVjOWM0IFx1ZDQ1Y1x1YmNmOFx1Yzc1OCBcdWMyZTBcdWI4YjBcdWIzYzRcdWM3NTggXHVjZDFkXHVkNTY5XHVjNzQwIDIwICsgMTUgPSAzNVx1Yzc3OFx1YjM3MCwgXHVjNzc0XHViMjk0IFx1YWMwMFx1YjJhNVx1ZDU1YyBcdWMyZTBcdWI4YjBcdWIzYzRcdWM3NTggXHVjZDFkXHVkNTY5IFx1YzkxMSBcdWNkNWNcdWIzMDBcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPjxpbWcgYWx0PVwiXCIgc3JjPVwiXC91cGxvYWRcL2ltYWdlc1wvZnJpZW5kLnBuZ1wiIHN0eWxlPVwiaGVpZ2h0OjE5M3B4OyB3aWR0aDozMjBweFwiIFwvPjxcL3A+XHJcblxyXG48cD5cdWFjMDEgXHViMmU4XHVhY2M0XHVjNzU4IFx1YWUzMFx1YzIyMFx1YWNmYyBcdWFjMDEgXHVjMGFjXHViNzhjXHVjNzU4IFx1YzJlMFx1YjhiMFx1YjNjNFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM4NGNcdWM3NDQgXHViNTRjLCBcdWMyZTBcdWI4YjBcdWIzYzRcdWM3NTggXHVjZDFkXHVkNTY5XHVjNzc0IFx1Y2Q1Y1x1YjMwMFx1Yzc3OCBcdWQ0NWNcdWJjZjhcdWM3NDQgXHVhZDZjXHVkNTU4XHVjMmRjXHVjNjI0LjxcL3A+XHJcbiIsImlucHV0IjoiPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1YzVkMCBcdWMwYWNcdWI3OGNcdWM3NTggXHVjMjE4IG5cdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWI0NThcdWM5ZjggXHVjOTA0XHVjNWQwIFx1YWMwMSBcdWMwYWNcdWI3OGNcdWM3NTggXHVjMmUwXHViOGIwXHViM2M0XHVhYzAwIFx1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWI0MThcdWM1YjQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWMxNGJcdWM5ZjggXHVjOTA0XHVjNWQwXHViMjk0IFx1YWMwMSBcdWIyZThcdWFjYzRcdWM3NTggXHVjODE1XHViY2Y0XHVhYzAwIGhvc3Q8c3ViPjE8XC9zdWI+IHByb3RvY29sPHN1Yj4xPFwvc3ViPiBob3N0PHN1Yj4yPFwvc3ViPiBwcm90b2NvbDxzdWI+MjxcL3N1Yj4gLi4uIGhvc3Q8c3ViPm4tMTxcL3N1Yj4gcHJvdG9jb2w8c3ViPm4tMTxcL3N1Yj5cdWFjZmMgXHVhYzE5XHVjNzQwIFx1ZDYxNVx1YzJkZFx1YzczY1x1Yjg1YyBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIChcdWIyZThcdWFjYzQgMFx1YzVkMFx1YjI5NCBcdWNkMDhcdWIzMDBcdWM3OTBcdWFjMDAgXHVjNWM2XHVhZTMwIFx1YjU0Y1x1YmIzOFx1YzVkMCBob3N0PHN1Yj4wPFwvc3ViPlx1YWNmYyBwcm90b2NvbDxzdWI+MDxcL3N1Yj5cdWM3NDAgXHVjOGZjXHVjNWI0XHVjOWMwXHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNCkgaG9zdFx1YjI5NCBpXHViYzg4IFx1YjJlOFx1YWNjNFx1Yzc1OCBcdWNkMDhcdWIzMDBcdWM3OTBcdWM3NzRcdWFjZTAsIHByb3RvY29sXHVjNzU4IFx1YWMxMlx1Yzc3NCAwXHVjNzc0XHViYTc0IElBbVlvdXJGcmllbmQsIDFcdWM3NzRcdWJhNzQgTXlGcmllbmRzQXJlWW91ckZyaWVuZHMsIDJcdWM3NzRcdWJhNzQgV2VBcmVZb3VyRnJpZW5kcyBcdWQ1MDRcdWI4NWNcdWQxYTBcdWNmNWNcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlx1YmIzOFx1YzgxY1x1YjI5NCBcdWIyZTRcdWM3NGMgXHViNDUwIFx1Yzg3MFx1YWM3NCBcdWM5MTEgXHVkNTU4XHViMDk4XHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPjIgJmxlOyBuICZsZTsgMSwwMDAsIDEgJmxlOyBcdWMyZTBcdWI4YjBcdWIzYzQgJmxlOyAxLDAwMCwwMDA8XC9saT5cclxuXHQ8bGk+MiAmbGU7IG4gJmxlOyAxMDAsMDAwLCAxICZsZTsgXHVjMmUwXHViOGIwXHViM2M0ICZsZTsgMTAsMDAwPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWMyZTBcdWI4YjBcdWIzYzRcdWM3NTggXHVjZDFkXHVkNTY5XHVjNzc0IFx1Y2Q1Y1x1YjMwMFx1Yzc3OCBcdWQ0NWNcdWJjZjhcdWM1ZDAgXHViMzAwXHVkNTVjIFx1YzJlMFx1YjhiMFx1YjNjNFx1Yzc1OCBcdWNkMWRcdWQ1NjlcdWM3NDQgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJwcm9ibGVtX2xhbmdfY29kZSI6Ilx1ZDU1Y1x1YWQ2ZFx1YzViNCJ9LHsicHJvYmxlbV9pZCI6IjEwMDc1IiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiRnJpZW5kIiwiZGVzY3JpcHRpb24iOiI8cD5XZSBidWlsZCBhIHNvY2lhbCBuZXR3b3JrIGZyb20gbiBwZW9wbGUgbnVtYmVyZWQgMCwgLi4uICwgbi0xLiBTb21lIHBhaXJzIG9mIHBlb3BsZSBpbiB0aGUgbmV0d29yayB3aWxsIGJlIGZyaWVuZHMuIElmIHBlcnNvbiB4IGJlY29tZXMgYSBmcmllbmQgb2YgcGVyc29uIHksIHRoZW4gcGVyc29uIHkgYWxzbyBiZWNvbWVzIGEgZnJpZW5kIG9mIHBlcnNvbiB4LjxcL3A+XHJcblxyXG48cD5UaGUgcGVvcGxlIGFyZSBhZGRlZCB0byB0aGUgbmV0d29yayBpbiBuIHN0YWdlcywgd2hpY2ggYXJlIGFsc28gbnVtYmVyZWQgZnJvbSAwIHRvIG4tMS4gUGVyc29uIGkgaXMgYWRkZWQgaW4gc3RhZ2UgaS4gSW4gc3RhZ2UgMCwgcGVyc29uIDAgaXMgYWRkZWQgYXMgdGhlIG9ubHkgcGVyc29uIG9mIHRoZSBuZXR3b3JrLiBJbiBlYWNoIG9mIHRoZSBuZXh0IG4tMSBzdGFnZXMsIGEgcGVyc29uIGlzIGFkZGVkIHRvIHRoZSBuZXR3b3JrIGJ5IGEgaG9zdCwgd2hvIG1heSBiZSBhbnkgcGVyc29uIGFscmVhZHkgaW4gdGhlIG5ldHdvcmsuIEF0IHN0YWdlIGkgKDAgJmx0OyBpICZsdDsgbiksIHRoZSBob3N0IGZvciB0aGF0IHN0YWdlIGNhbiBhZGQgdGhlIGluY29taW5nIHBlcnNvbiBpIGludG8gdGhlIG5ldHdvcmsgYnkgb25lIG9mIHRoZSBmb2xsb3dpbmcgdGhyZWUgcHJvdG9jb2xzOjxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPjxlbT5JQW1Zb3VyRnJpZW5kPFwvZW0+IG1ha2VzIHBlcnNvbiBpIGEgZnJpZW5kIG9mIHRoZSBob3N0IG9ubHkuPFwvbGk+XHJcblx0PGxpPjxlbT5NeUZyaWVuZHNBcmVZb3VyRnJpZW5kczxcL2VtPiBtYWtlcyBwZXJzb24gaSBhIGZyaWVuZCBvZiBlYWNoIHBlcnNvbiwgd2hvIGlzIGEgZnJpZW5kIG9mIHRoZSBob3N0IGF0IHRoaXMgbW9tZW50LiBOb3RlIHRoYXQgdGhpcyBwcm90b2NvbCBkb2VzIG5vdCBtYWtlIHBlcnNvbiBpIGEgZnJpZW5kIG9mIHRoZSBob3N0LjxcL2xpPlxyXG5cdDxsaT48ZW0+V2VBcmVZb3VyRnJpZW5kczxcL2VtPiBtYWtlcyBwZXJzb24gaSBhIGZyaWVuZCBvZiB0aGUgaG9zdCwgYW5kIGFsc28gYSBmcmllbmQgb2YgZWFjaCBwZXJzb24sIHdobyBpcyBhIGZyaWVuZCBvZiB0aGUgaG9zdCBhdCB0aGlzIG1vbWVudC48XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5BZnRlciB3ZSBidWlsZCB0aGUgbmV0d29yayB3ZSB3b3VsZCBsaWtlIHRvIHBpY2sgYSBzYW1wbGUgZm9yIGEgc3VydmV5LCB0aGF0IGlzLCBjaG9vc2UgYSBncm91cCBvZiBwZW9wbGUgZnJvbSB0aGUgbmV0d29yay4gU2luY2UgZnJpZW5kcyB1c3VhbGx5IGhhdmUgc2ltaWxhciBpbnRlcmVzdHMsIHRoZSBzYW1wbGUgc2hvdWxkIG5vdCBpbmNsdWRlIGFueSBwYWlyIG9mIHBlb3BsZSB3aG8gYXJlIGZyaWVuZHMgd2l0aCBlYWNoIG90aGVyLiBFYWNoIHBlcnNvbiBoYXMgYSBzdXJ2ZXkgY29uZmlkZW5jZSwgZXhwcmVzc2VkIGFzIGEgcG9zaXRpdmUgaW50ZWdlciwgYW5kIHdlIHdvdWxkIGxpa2UgdG8gZmluZCBhIHNhbXBsZSB3aXRoIHRoZSBtYXhpbXVtIHRvdGFsIGNvbmZpZGVuY2UuPFwvcD5cclxuXHJcbjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLWJvcmRlcmVkXCIgc3R5bGU9XCJ3aWR0aDo0MTFweFwiPlxyXG5cdDx0aGVhZD5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRoPnN0YWdlPFwvdGg+XHJcblx0XHRcdDx0aD5ob3N0PFwvdGg+XHJcblx0XHRcdDx0aD5wcm90b2NvbDxcL3RoPlxyXG5cdFx0XHQ8dGg+ZnJpZW5kIHJlbGF0aW9uIGFkZGVkPFwvdGg+XHJcblx0XHQ8XC90cj5cclxuXHQ8XC90aGVhZD5cclxuXHQ8dGJvZHk+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4xPFwvdGQ+XHJcblx0XHRcdDx0ZD4wPFwvdGQ+XHJcblx0XHRcdDx0ZD5JQW1Zb3VyRnJpZW5kPFwvdGQ+XHJcblx0XHRcdDx0ZD4oMSwgMCk8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQ+MjxcL3RkPlxyXG5cdFx0XHQ8dGQ+MDxcL3RkPlxyXG5cdFx0XHQ8dGQ+TXlGcmllbmRzQXJlWW91ckZyaWVuZHM8XC90ZD5cclxuXHRcdFx0PHRkPigyLCAxKTxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD4zPFwvdGQ+XHJcblx0XHRcdDx0ZD4xPFwvdGQ+XHJcblx0XHRcdDx0ZD5XZUFyZVlvdXJGcmllbmRzPFwvdGQ+XHJcblx0XHRcdDx0ZD4oMywgMSksICgzLCAwKSwgKDMsIDIpPFwvdGQ+XHJcblx0XHQ8XC90cj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkPjQ8XC90ZD5cclxuXHRcdFx0PHRkPjI8XC90ZD5cclxuXHRcdFx0PHRkPk15RnJpZW5kc0FyZVlvdXJGcmllbmRzPFwvdGQ+XHJcblx0XHRcdDx0ZD4oNCwgMSksICg0LCAzKTxcL3RkPlxyXG5cdFx0PFwvdHI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD41PFwvdGQ+XHJcblx0XHRcdDx0ZD4wPFwvdGQ+XHJcblx0XHRcdDx0ZD5JQW1Zb3VyRnJpZW5kPFwvdGQ+XHJcblx0XHRcdDx0ZD4oNSwgMCk8XC90ZD5cclxuXHRcdDxcL3RyPlxyXG5cdDxcL3Rib2R5PlxyXG48XC90YWJsZT5cclxuXHJcbjxwPkluaXRpYWxseSB0aGUgbmV0d29yayBjb250YWlucyBvbmx5IHBlcnNvbiAwLiBUaGUgaG9zdCBvZiBzdGFnZSAxIChwZXJzb24gMCkgaW52aXRlcyB0aGUgbmV3IHBlcnNvbiAxIHRocm91Z2ggdGhlIElBbVlvdXJGcmllbmQgcHJvdG9jb2wsIGhlbmNlIHRoZXkgYmVjb21lIGZyaWVuZHMuIFRoZSBob3N0IG9mIHN0YWdlIDIgKHBlcnNvbiAwIGFnYWluKSBpbnZpdGVzIHBlcnNvbiAyIGJ5IE15RnJpZW5kc0FyZVlvdXJGcmllbmRzLCB3aGljaCBtYWtlcyBwZXJzb24gMSAodGhlIG9ubHkgZnJpZW5kIG9mIHRoZSBob3N0KSB0aGUgb25seSBmcmllbmQgb2YgcGVyc29uIDIuIFRoZSBob3N0IG9mIHN0YWdlIDMgKHBlcnNvbiAxKSBhZGRzIHBlcnNvbiAzIHRocm91Z2ggV2VBcmVZb3VyRnJpZW5kcywgd2hpY2ggbWFrZXMgcGVyc29uIDMgYSBmcmllbmQgb2YgcGVyc29uIDEgKHRoZSBob3N0KSBhbmQgcGVvcGxlIDAgYW5kIDIgKHRoZSBmcmllbmRzIG9mIHRoZSBob3N0KS4gU3RhZ2VzIDQgYW5kIDUgYXJlIGFsc28gc2hvd24gaW4gdGhlIHRhYmxlIGFib3ZlLiBUaGUgZmluYWwgbmV0d29yayBpcyBzaG93biBpbiB0aGUgZm9sbG93aW5nIGZpZ3VyZSwgaW4gd2hpY2ggdGhlIG51bWJlcnMgaW5zaWRlIHRoZSBjaXJjbGVzIHNob3cgdGhlIGxhYmVscyBvZiBwZW9wbGUsIGFuZCB0aGUgbnVtYmVycyBuZXh0IHRvIHRoZSBjaXJjbGVzIHNob3cgdGhlIHN1cnZleSBjb25maWRlbmNlLiBUaGUgc2FtcGxlIGNvbnNpc3Rpbmcgb2YgcGVvcGxlIDMgYW5kIDUgaGFzIHRvdGFsc3VydmV5IGNvbmZpZGVuY2UgZXF1YWwgdG8gMjAgKyAxNSA9IDM1LCB3aGljaCBpcyB0aGUgbWF4aW11bSBwb3NzaWJsZSB0b3RhbCBjb25maWRlbmNlLjxcL3A+XHJcblxyXG48cD48aW1nIGFsdD1cIlwiIHNyYz1cIlwvdXBsb2FkXC9pbWFnZXNcL2ZyaWVuZC5wbmdcIiBzdHlsZT1cImhlaWdodDoxOTNweDsgd2lkdGg6MzIwcHhcIiBcLz48XC9wPlxyXG5cclxuPHA+R2l2ZW4gdGhlIGRlc2NyaXB0aW9uIG9mIGVhY2ggc3RhZ2UgYW5kIHRoZSBjb25maWRlbmNlIHZhbHVlIG9mIGVhY2ggcGVyc29uLCBmaW5kIGEgc2FtcGxlIHdpdGggdGhlIG1heGltdW0gdG90YWwgY29uZmlkZW5jZS48XC9wPlxyXG5cclxuPHVsPlxyXG5cdDxsaT5maW5kU2FtcGxlKG4sIGNvbmZpZGVuY2UsIGhvc3QsIHByb3RvY29sKVxyXG5cdDx1bD5cclxuXHRcdDxsaT5uOiB0aGUgbnVtYmVyIG9mIHBlb3BsZS48XC9saT5cclxuXHRcdDxsaT5jb25maWRlbmNlOiBhcnJheSBvZiBsZW5ndGggbjsgY29uZmlkZW5jZVtpXSBnaXZlcyB0aGUgY29uZmlkZW5jZSB2YWx1ZSBvZiBwZXJzb24gaS48XC9saT5cclxuXHRcdDxsaT5ob3N0OiBhcnJheSBvZiBsZW5ndGggbjsgaG9zdFtpXSBnaXZlcyB0aGUgaG9zdCBvZiBzdGFnZSBpLjxcL2xpPlxyXG5cdFx0PGxpPnByb3RvY29sOiBhcnJheSBvZiBsZW5ndGggbjsgcHJvdG9jb2xbaV0gZ2l2ZXMgdGhlIHByb3RvY29sIGNvZGUgdXNlZCBpbiBzdGFnZSBpICgwICZsdDsgaSAmbHQ7IG4pOiAwIGZvciBJQW1Zb3VyRnJpZW5kLCAxIGZvciBNeUZyaWVuZHNBcmVZb3VyRnJpZW5kcywgYW5kIDIgZm9yIFdlQXJlWW91ckZyaWVuZHMuPFwvbGk+XHJcblx0XHQ8bGk+U2luY2UgdGhlcmUgaXMgbm8gaG9zdCBpbiBzdGFnZSAwLCBob3N0WzBdIGFuZCBwcm90b2NvbFswXSBhcmUgdW5kZWZpbmVkIGFuZCBzaG91bGQgbm90IGJlIGFjY2Vzc2VkIGJ5IHlvdXIgcHJvZ3JhbS48XC9saT5cclxuXHRcdDxsaT5UaGUgZnVuY3Rpb24gc2hvdWxkIHJldHVybiB0aGUgbWF4aW11bSBwb3NzaWJsZSB0b3RhbCBjb25maWRlbmNlIG9mIGEgc2FtcGxlLjxcL2xpPlxyXG5cdDxcL3VsPlxyXG5cdDxcL2xpPlxyXG48XC91bD5cclxuIiwiaW5wdXQiOiI8dWw+XHJcblx0PGxpPmxpbmUgMTogbjxcL2xpPlxyXG5cdDxsaT5saW5lIDI6IGNvbmZpZGVuY2VbMF0sIC4uLiwgY29uZmlkZW5jZVtuLTFdPFwvbGk+XHJcblx0PGxpPmxpbmUgMzogaG9zdFsxXSwgcHJvdG9jb2xbMV0sIGhvc3RbMl0sIHByb3RvY29sWzJdLCAuLi4sIGhvc3Rbbi0xXSwgcHJvdG9jb2xbbi0xXTxcL2xpPlxyXG48XC91bD5cclxuIiwib3V0cHV0IjoiPHA+UHJpbnQgcmV0dXJuIHZhbHVlIG9mIGZ1bmN0aW9uJm5ic3A7ZmluZFNhbXBsZS48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwicHJvYmxlbV9sYW5nX2NvZGUiOiJcdWM2MDFcdWM1YjQifV0=