forked from Surzhikov/Telegram-Site-Helper-2.0
-
Notifications
You must be signed in to change notification settings - Fork 0
/
telegram-site-helper-install.php
302 lines (293 loc) · 492 KB
/
telegram-site-helper-install.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
<?php
header('Content-Type: text/html; charset=utf-8');
mb_internal_encoding("UTF-8");
DEFINE("JQUERY_URL", $_SERVER["SCRIPT_NAME"]."?act=jquery");
DEFINE("STYLE_URL", $_SERVER["SCRIPT_NAME"]."?act=css");
DEFINE("DIR_ON_SERVER", dirname($_SERVER["SCRIPT_NAME"])); // __DIR__ ?
DEFINE('ROOT_DIR', "//".$_SERVER["HTTP_HOST"] . DIR_ON_SERVER);
$sqliteCreate="
DROP TABLE IF EXISTS telegramSiteHelperChats;
CREATE TABLE telegramSiteHelperChats (
chatId text NOT NULL,
chatManager integer(10) NULL,
chatCustomerName text NULL,
chatCustomerPhone text NULL
);
DROP TABLE IF EXISTS telegramSiteHelperManagers;
CREATE TABLE telegramSiteHelperManagers (
managerId integer NOT NULL PRIMARY KEY AUTOINCREMENT,
managerTelegramId text NULL,
managerName text NULL,
managerNowChat text NULL,
managerStatus integer(1) NULL
);
DROP TABLE IF EXISTS telegramSiteHelperMessages;
CREATE TABLE telegramSiteHelperMessages (
msgId integer NOT NULL PRIMARY KEY AUTOINCREMENT,
msgChatId text NULL,
msgFrom text NULL,
msgTime integer(12) NULL,
msgText text NULL,
msgFile text NULL
);";
$mysqlCreate="
DROP TABLE IF EXISTS `telegramSiteHelperChats`;
CREATE TABLE IF NOT EXISTS `telegramSiteHelperChats` (
`chatId` varchar(50) NOT NULL,
`chatManager` int(10) DEFAULT NULL,
`chatCustomerName` varchar(100) DEFAULT NULL,
`chatCustomerPhone` varchar(50) DEFAULT NULL,
PRIMARY KEY (`chatId`),
KEY `chId` (`chatId`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `telegramSiteHelperManagers`;
CREATE TABLE IF NOT EXISTS `telegramSiteHelperManagers` (
`managerId` int(10) NOT NULL AUTO_INCREMENT,
`managerTelegramId` varchar(100) DEFAULT NULL,
`managerName` varchar(100) DEFAULT NULL,
`managerNowChat` varchar(100) DEFAULT NULL,
`managerStatus` int(1) DEFAULT NULL,
PRIMARY KEY (`managerId`),
KEY `mId` (`managerId`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
DROP TABLE IF EXISTS `telegramSiteHelperMessages`;
CREATE TABLE IF NOT EXISTS `telegramSiteHelperMessages` (
`msgId` int(12) NOT NULL AUTO_INCREMENT,
`msgChatId` varchar(50) DEFAULT NULL,
`msgFrom` varchar(7) DEFAULT NULL,
`msgTime` varchar(12) DEFAULT NULL,
`msgText` text,
`msgFile` text,
PRIMARY KEY (`msgId`),
KEY `msgId` (`msgId`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
";
function setWebHook($botToken,$url,$cert=null){
$telegramurl = "https://api.telegram.org/bot".$botToken."/setWebhook";
$request = curl_init($telegramurl);
curl_setopt($request, CURLOPT_POST, true);
$query=array('url' => $url);
if($cert!=null){
$query["certificate"] = new CurlFile(realpath($cert));
}
curl_setopt($request, CURLOPT_POSTFIELDS, $query);
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($request);
curl_close($request);
return($result);
}
if(!array_key_exists("act", $_GET)){
header("location:?act=admin");
}
$act=$_GET["act"];
switch ($act) {
case 'admin':
if(!is_file("telegram-site-helper-config.php")){
header("location:?act=install");
exit();
}else{
header("location:?act=install");
exit();
}
break;
case 'install':
header("Content-Type:text/html");
$html="PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPjx0aXRsZT5UZWxlZ3JhbSBTaXRlIEhlbHBlciAyLjA8L3RpdGxlPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD1VVEYtOCIvPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0idGVsZWdyYW0tc2l0ZS1oZWxwZXItaW5zdGFsbC5waHA/YWN0PWpxdWVyeSI+PC9zY3JpcHQ+DQo8bGluayBocmVmPSJ0ZWxlZ3JhbS1zaXRlLWhlbHBlci1pbnN0YWxsLnBocD9hY3Q9Y3NzIiByZWw9InN0eWxlc2hlZXQiPg0KPC9oZWFkPg0KPGJvZHkgc3R5bGU9InBhZGRpbmctYm90dG9tOjIwcHg7Ij4NCgk8bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLXN0YXRpYy10b3AgbmF2YmFyLWludmVyc2UiPg0KCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoJCTxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+DQoJCQk8ZGl2IGNsYXNzPSJuYXZiYXItaGVhZGVyIj4NCgkJCQk8c3BhbiBjbGFzcz0ibmF2YmFyLWJyYW5kIGkxOG4iIGRhdGEtaTE4bj0idHNoU2V0dXAiPjwvc3Bhbj4NCgkJCTwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0icHVsbC1yaWdodCIgc3R5bGU9InBhZGRpbmc6N3B4Ij4NCgkJCQk8ZGl2IGNsYXNzPSJidG4tZ3JvdXAiPg0KCQkJCQk8YnV0dG9uIGlkPSJsYW5nRW4iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgYnRuLXNtIGFjdGl2ZSI+RW5nbGlzaDwvYnV0dG9uPg0KCQkJCQk8YnV0dG9uIGlkPSJsYW5nUnUiIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgYnRuLXNtIj7QoNGD0YHRgdC60LjQuTwvYnV0dG9uPg0KCQkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJCTwvZGl2Pg0KCTwvZGl2Pg0KCTwvbmF2Pg0KDQoJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCgkJPGRpdiBjbGFzcz0icm93Ij4NCg0KCQkJCTxkaXYgY2xhc3M9ImJ0bi1ncm91cCIgcm9sZT0iZ3JvdXAiIGlkPSJtZW51Ij4NCgkJCQkJPGJ1dHRvbiBpZD0idG8tc3RlcDEiIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgYWN0aXZlIGkxOG4iIGRhdGEtaTE4bj0ic3RhcnQiPjwvYnV0dG9uPg0KCQkJCQk8YnV0dG9uIGlkPSJ0by1zdGVwMiIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBpMThuIiBkYXRhLWkxOG49ImNvbmZpZyI+PC9idXR0b24+DQoJCQkJCTxidXR0b24gaWQ9InRvLXN0ZXAzIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IGkxOG4iIGRhdGEtaTE4bj0iZ2VuZXJhdGVXaWRnZXQiPjwvYnV0dG9uPg0KCQkJCQk8YnV0dG9uIGlkPSJ0by1zdGVwNCIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBpMThuIiBkYXRhLWkxOG49ImRvbmF0ZSI+PC9idXR0b24+DQoJCQkJPC9kaXY+DQoJCQkJPGRpdiBzdHlsZT0iZGlzcGxheTpibG9jazsgaGVpZ2h0OjIwcHg7Ij48L2Rpdj4NCg0KCQkJCTxzZWN0aW9uIGlkPSJzdGVwMSI+DQoJCQkJCTxkaXYgY2xhc3M9Imp1bWJvdHJvbiI+DQoJCQkJCQk8aDE+VGVsZWdyYW0gU2l0ZSBIZWxwZXI8L2gxPg0KCQkJCQkJPHAgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0idHNoQWJvdXQiPjwvcD4NCgkJCQkJCTxwIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49InJlcXVpcmVtZW50Ij48L3A+DQoJCQkJCQk8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLWxnIGkxOG4iIGRhdGEtaTE4bj0idHNoU3RhcnRTZXR1cCIgaWQ9InN0YXJ0U2V0dXAiPjwvYnV0dG9uPg0KCQkJCQk8L2Rpdj4NCgkJCQk8L3NlY3Rpb24+DQoNCg0KCQkJCTxzZWN0aW9uIGlkPSJzdGVwMiIgY2xhc3M9ImhpZGRlbiI+DQoJCQkJCTxoMiBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJjb25maWciPjwvaDI+DQoJCQkJCTxkaXYgY2xhc3M9InJvdyI+DQoJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtbWQtNiI+DQoJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQoJCQkJCQkJCTxsYWJlbCBmb3I9Im1hbmFnZXJQYXNzd29yZCIgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0ibmV3TWFuYWdlclBhc3N3b3JkIj48L2xhYmVsPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+DQoJCQkJCQkJCQk8aW5wdXQgdHlwZT0icGFzc3dvcmQiIHZhbHVlPSIiIG5hbWU9Im1hbmFnZXJQYXNzd29yZCIgaWQ9Im1hbmFnZXJQYXNzd29yZCIgY2xhc3M9ImZvcm0tY29udHJvbCI+DQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cC1hZGRvbiI+PHNwYW4gc3R5bGU9ImN1cnNvcjpwb2ludGVyOyIgaWQ9InBhc3NzaG93IiBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJzaG93Ij48L3NwYW4+PHNwYW4gaWQ9InBhc3NoaWRlIiBjbGFzcz0iaGlkZGVuIGkxOG4iIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsiICBkYXRhLWkxOG49ImhpZGUiPjwvc3Bhbj48L2Rpdj4NCgkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJPC9kaXY+DQoNCgkJCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCgkJCQkJCQkJPGxhYmVsIGZvcj0iYm90VG9rZW4iIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49ImJvdFRva2VuIj48L2xhYmVsPg0KCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgdmFsdWU9IiIgbmFtZT0iYm90VG9rZW4iIGlkPSJib3RUb2tlbiIgY2xhc3M9ImZvcm0tY29udHJvbCIgcGxhY2Vob2xkZXI9IkV4YW1wbGU6IDE3MzQyMTE3NjpBQUZMVjhjUnRaYjRJdnAwMDNQTENHd0hVMkxoaVZna29vIj4NCgkJCQkJCQkJPHAgY2xhc3M9ImhlbHAtdGV4dCI+PHNtYWxsIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49ImdldEJvdFRva2VuIj48L3NtYWxsPiA8c21hbGw+PGEgdGFyZ2V0PSJibGFuayIgaHJlZj0iaHR0cDovL3RlbGVncmFtLm1lL2JvdGZhdGhlciI+QEJvdEZhdGhlcjwvYT48L3NtYWxsPjwvcD4NCgkJCQkJCQk8L2Rpdj4NCg0KCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0iZGJUeXBlIj48L2xhYmVsPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJyYWRpbyI+PGxhYmVsPjxpbnB1dCBjbGFzcz0iZGJ0eXBlIiB0eXBlPSJyYWRpbyIgdmFsdWU9InNxbGl0ZSIgbmFtZT0iZGJ0eXBlIiBpZD0iZGJfc3FsaXRlIiBjaGVja2VkLz5TUUxpdGU8L2xhYmVsPjwvZGl2Pg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJyYWRpbyI+PGxhYmVsPjxpbnB1dCBjbGFzcz0iZGJ0eXBlIiB0eXBlPSJyYWRpbyIgdmFsdWU9Im15c3FsIiBuYW1lPSJkYnR5cGUiIGlkPSJkYl9teXNxbCI+TXlTUUw8L2xhYmVsPjwvZGl2Pg0KCQkJCQkJCTwvZGl2Pg0KDQoJCQkJCQkJPGRpdiBjbGFzcz0id2VsbCBoaWRkZW4iIGlkPSJteXNxbFNldHRpbmdzIj4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQoJCQkJCQkJCQk8bGFiZWwgZm9yPSJteXNxbEhvc3QiIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49Im15c3FsSG9zdCI+PC9sYWJlbD4NCgkJCQkJCQkJCTxpbnB1dCBjbGFzcz0iZm9ybS1jb250cm9sIiB0eXBlPSJ0ZXh0IiBuYW1lPSJteXNxbEhvc3QiIGlkPSJteXNxbEhvc3QiIHZhbHVlPSJsb2NhbGhvc3QiPg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQoJCQkJCQkJCQk8bGFiZWwgZm9yPSJteXNxbFVzZXIiIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49Im15c3FsVXNlciI+PC9sYWJlbD4NCgkJCQkJCQkJCTxpbnB1dCBjbGFzcz0iZm9ybS1jb250cm9sIiB0eXBlPSJ0ZXh0IiBuYW1lPSJteXNxbFVzZXIiIGlkPSJteXNxbFVzZXIiPg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQoJCQkJCQkJCQk8bGFiZWwgZm9yPSJteXNxbFBhc3N3b3JkIiBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJteXNxbFBhc3N3b3JkIj48L2xhYmVsPg0KCQkJCQkJCQkJPGlucHV0IGNsYXNzPSJmb3JtLWNvbnRyb2wiIHR5cGU9InRleHQiIG5hbWU9Im15c3FsUGFzc3dvcmQiIGlkPSJteXNxbFBhc3N3b3JkIj4NCgkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KCQkJCQkJCQkJPGxhYmVsIGZvcj0ibXlzcWxEYiIgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0ibXlzcWxEYiI+PC9sYWJlbD4NCgkJCQkJCQkJCTxpbnB1dCBjbGFzcz0iZm9ybS1jb250cm9sIiB0eXBlPSJ0ZXh0IiBuYW1lPSJteXNxbERiIiBpZD0ibXlzcWxEYiI+DQoJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCTwvZGl2Pg0KDQoJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQoJCQkJCQkJCTxsYWJlbCBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJzZWxmQ2VydFBhcnQiPjwvbGFiZWw+DQoJCQkJCQkJCTxpbnB1dCBjbGFzcz0iZm9ybS1jb250cm9sIiB0eXBlPSJ0ZXh0IiBuYW1lPSJzZWxmQ2VydFBhcnQiIGlkPSJzZWxmQ2VydFBhcnQiIHBsYWNlaG9sZGVyPSJFeGFtcGxlOiAvdmFyL3d3dy9zaXRlL2NldGlmaWNhdGVzL2FwYWNoZS5jcnQiPg0KCQkJCQkJCQk8cCBjbGFzcz0iaGVscC10ZXh0IGkxOG4iICBkYXRhLWkxOG49InNlbGZDZXJ0SGVscCI+PC9wPg0KCQkJCQkJCQk8cCBjbGFzcz0iaGVscC10ZXh0ICIgPjxzcGFuIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49InRoaXNEaXJVUkwiPjwvc3Bhbj48YiBpZD0idGhpc0RpclVSTCI+PC9iPjwvcD4NCgkJCQkJCQk8L2Rpdj4NCg0KCQkJCQkJCTxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LWRhbmdlciBpMThuIiBkYXRhLWkxOG49ImF0dGVudGlvbiI+DQoJCQkJCQkJCQ0KCQkJCQkJCTwvZGl2Pg0KDQoJCQkJCQkJPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGkxOG4iIGRhdGEtaTE4bj0iY2hlY2tBbmRJbnN0YWxsIiBpZD0iY2hlY2tBbmRJbnN0YWxsIj48L2J1dHRvbj4NCgkJCQkJCTwvZGl2Pg0KCQkJCQkJPGRpdiBjbGFzcz0iY29sLW1kLTYiPg0KCQkJCQkJCTxkaXYgY2xhc3M9IndlbGwgaGlkZGVuIiBpZD0iaW5zdGFsbFN0YXR1cyI+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImkxOG4gaGlkZGVuIiBkYXRhLWkxOG49InN0YXR1c0NoZWNraW5nU3RhcnQiPjwvZGl2Pg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJpMThuIGhpZGRlbiBhbGVydCBhbGVydC1zdWNjZXNzIiBkYXRhLWkxOG49InN0YXR1c0NoZWNraW5nSFRUUFNfb2siIGlkPSJzdGF0dXNDaGVja2luZ0hUVFBTX29rIj48L2Rpdj4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iaTE4biBoaWRkZW4gYWxlcnQgYWxlcnQtZGFuZ2VyIiBkYXRhLWkxOG49InN0YXR1c0NoZWNraW5nSFRUUFNfZXJyb3IiIGlkPSJzdGF0dXNDaGVja2luZ0hUVFBTX2Vycm9yIj48L2Rpdj4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iaTE4biBoaWRkZW4gYWxlcnQgYWxlcnQtc3VjY2VzcyIgZGF0YS1pMThuPSJzdGF0dXNDaGVja2luZ01hbmFnZXJQYXNzd29yZF9vayIgaWQ9InN0YXR1c0NoZWNraW5nTWFuYWdlclBhc3N3b3JkX29rIj48L2Rpdj4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iaTE4biBoaWRkZW4gYWxlcnQgYWxlcnQtZGFuZ2VyIiBkYXRhLWkxOG49InN0YXR1c0NoZWNraW5nTWFuYWdlclBhc3N3b3JkX2Vycm9yIiBpZD0ic3RhdHVzQ2hlY2tpbmdNYW5hZ2VyUGFzc3dvcmRfZXJyb3IiPjwvZGl2Pg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJpMThuIGhpZGRlbiBhbGVydCBhbGVydC1zdWNjZXNzIiBkYXRhLWkxOG49InN0YXR1c0NoZWNraW5nQm90QWNjZXNzX29rIiBpZD0ic3RhdHVzQ2hlY2tpbmdCb3RBY2Nlc3Nfb2siPjwvZGl2Pg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJpMThuIGhpZGRlbiBhbGVydCBhbGVydC1kYW5nZXIiIGRhdGEtaTE4bj0ic3RhdHVzQ2hlY2tpbmdCb3RBY2Nlc3NfZXJyb3IiIGlkPSJzdGF0dXNDaGVja2luZ0JvdEFjY2Vzc19lcnJvciI+PC9kaXY+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImkxOG4gaGlkZGVuIGFsZXJ0IGFsZXJ0LXN1Y2Nlc3MiIGRhdGEtaTE4bj0ic3RhdHVzQ2hlY2tpbmdTUUxBY2Nlc3Nfb2siIGlkPSJzdGF0dXNDaGVja2luZ1NRTEFjY2Vzc19vayI+PC9kaXY+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImkxOG4gaGlkZGVuIGFsZXJ0IGFsZXJ0LWRhbmdlciIgZGF0YS1pMThuPSJzdGF0dXNDaGVja2luZ1NRTEFjY2Vzc19lcnJvciIgaWQ9InN0YXR1c0NoZWNraW5nU1FMQWNjZXNzX2Vycm9yIj48L2Rpdj4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iaTE4biBoaWRkZW4gYWxlcnQgYWxlcnQtc3VjY2VzcyIgZGF0YS1pMThuPSJzdGF0dXNDcmVhdGluZ0NvbmZpZ19vayIgaWQ9InN0YXR1c0NyZWF0aW5nQ29uZmlnX29rIj48L2Rpdj4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iaTE4biBoaWRkZW4gYWxlcnQgYWxlcnQtZGFuZ2VyIiBkYXRhLWkxOG49InN0YXR1c0NyZWF0aW5nQ29uZmlnX2Vycm9yIiBpZD0ic3RhdHVzQ3JlYXRpbmdDb25maWdfZXJyb3IiPjwvZGl2Pg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJpMThuIGhpZGRlbiBhbGVydCBhbGVydC1zdWNjZXNzIiBkYXRhLWkxOG49InN0YXR1c0NyZWF0aW5nREJfb2siIGlkPSJzdGF0dXNDcmVhdGluZ0RCX29rIj48L2Rpdj4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iaTE4biBoaWRkZW4gYWxlcnQgYWxlcnQtZGFuZ2VyIiBkYXRhLWkxOG49InN0YXR1c0NyZWF0aW5nREJfZXJyb3IiIGlkPSJzdGF0dXNDcmVhdGluZ0RCX2Vycm9yIj48L2Rpdj4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iaTE4biBoaWRkZW4gYWxlcnQgYWxlcnQtc3VjY2VzcyIgZGF0YS1pMThuPSJzdGF0dXNTZXRXZWJIb29rX29rIiBpZD0ic3RhdHVzU2V0V2ViSG9va19vayI+PC9kaXY+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImkxOG4gaGlkZGVuIGFsZXJ0IGFsZXJ0LWRhbmdlciIgZGF0YS1pMThuPSJzdGF0dXNTZXRXZWJIb29rX2Vycm9yIiBpZD0ic3RhdHVzU2V0V2ViSG9va19lcnJvciI+PC9kaXY+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImhpZGRlbiBhbGVydCBhbGVydC13YXJuaW5nIiBpZD0ic3RhdHVzU2V0V2ViSG9va19lcnJvckluZm8iPjwvZGl2Pg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJpMThuIGhpZGRlbiBhbGVydCBhbGVydC1zdWNjZXNzIiBkYXRhLWkxOG49InN0YXR1c0NvbXBsZXRlX29rIiBpZD0ic3RhdHVzQ29tcGxldGVfb2siPjwvZGl2Pg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJpMThuIGhpZGRlbiBhbGVydCBhbGVydC1kYW5nZXIiIGRhdGEtaTE4bj0ic3RhdHVzQ29tcGxldGVfZXJyb3IiIGlkPSJzdGF0dXNDb21wbGV0ZV9lcnJvciI+PC9kaXY+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImhpZGRlbiBhbGVydCBhbGVydC13YXJuaW5nIiAgIGlkPSJ3YXJuaW5nIj48L2Rpdj4NCg0KCQkJCQkJCTwvZGl2Pg0KDQoJCQkJCQk8L2Rpdj4NCgkJCQkJPC9kaXY+DQoJCQkJIA0KCQkJCTwvc2VjdGlvbj4NCg0KDQoJCQkJPHNlY3Rpb24gaWQ9InN0ZXAzIiBjbGFzcz0iaGlkZGVuIj4NCgkJCQkJPGgyIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49ImdlbmVyYXRlV2lkZ2V0Ij48L2gyPg0KCQkJCQk8ZGl2IGNsYXNzPSJyb3ciPg0KCQkJCQkJPGRpdiBjbGFzcz0iY29sLW1kLTYiPg0KCQkJCQkJCQ0KCQkJCQkJCTwhLS0gVFJBTlNMQVRJT04gVFlQRSAtLT4NCgkJCQkJCQk8ZGl2IGNsYXNzPSJ3ZWxsIj4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQoJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0idHJhbnNsYXRpb25UeXBlIj48L2xhYmVsPg0KCQkJCQkJCQkJPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0idHJhbnNsYXRpb25UeXBlIj4NCgkJCQkJCQkJCQk8b3B0aW9uIHZhbHVlPSJscCIgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0idHJhbnNsYXRpb25UeXBlX2xwIj48L29wdGlvbj4NCgkJCQkJCQkJCQk8b3B0aW9uIHZhbHVlPSJzc2UiIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49InRyYW5zbGF0aW9uVHlwZV9zc2UiPjwvb3B0aW9uPg0KCQkJCQkJCQkJPC9zZWxlY3Q+DQoJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCTwhLS0gVFJBTlNMQVRJT04gVFlQRSAtLT4NCg0KCQkJCQkJCTwhLS0gUE9TSVRJT04gIC0tPg0KCQkJCQkJCTxkaXYgY2xhc3M9IndlbGwiPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCgkJCQkJCQkJCTxsYWJlbCBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJjaGF0Ym94UG9zaXRpb24iPjwvbGFiZWw+DQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJyYWRpbyI+PGxhYmVsPjxpbnB1dCBjbGFzcz0iY2hhdGJveFBvc2l0aW9uIiB0eXBlPSJyYWRpbyIgdmFsdWU9ImZpeGVkQ2hhdGJveCIgbmFtZT0iY2hhdGJveFBvc2l0aW9uIiBpZD0iZml4ZWRDaGF0Ym94IiBjaGVja2VkLz48c3BhbiBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJmaXhlZENoYXRib3giPjwvc3Bhbj48L2xhYmVsPjwvZGl2Pg0KCQkJCQkJCQkJPGRpdiBjbGFzcz0icmFkaW8iPjxsYWJlbD48aW5wdXQgY2xhc3M9ImNoYXRib3hQb3NpdGlvbiIgdHlwZT0icmFkaW8iIHZhbHVlPSJlbWJlZGRlZENoYXRib3giIG5hbWU9ImNoYXRib3hQb3NpdGlvbiIgaWQ9ImVtYmVkZGVkQ2hhdGJveCI+PHNwYW4gY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0iZW1iZWRkZWRDaGF0Ym94Ij48L3NwYW4+PC9sYWJlbD48L2Rpdj4NCgkJCQkJCQkJPC9kaXY+DQoNCgkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgaWQ9ImNoYXRib3hGaXhlZFBvc2l0aW9uX2Jsb2NrIj4NCgkJCQkJCQkJCTxsYWJlbCBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJjaGF0Ym94Rml4ZWRQb3NpdGlvbiI+PC9sYWJlbD4NCgkJCQkJCQkJCTxzZWxlY3QgY2xhc3M9ImZvcm0tY29udHJvbCIgaWQ9ImNoYXRib3hGaXhlZFBvc2l0aW9uIj4NCgkJCQkJCQkJCQk8b3B0aW9uIHZhbHVlPSJ0bCIgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0idGwiPjwvb3B0aW9uPg0KCQkJCQkJCQkJCTxvcHRpb24gdmFsdWU9InRyIiBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJ0ciI+PC9vcHRpb24+DQoJCQkJCQkJCQkJPG9wdGlvbiB2YWx1ZT0icnQiIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49InJ0Ij48L29wdGlvbj4NCgkJCQkJCQkJCQk8b3B0aW9uIHZhbHVlPSJyYiIgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0icmIiPjwvb3B0aW9uPg0KCQkJCQkJCQkJCTxvcHRpb24gdmFsdWU9ImJyIiBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJiciI+PC9vcHRpb24+DQoJCQkJCQkJCQkJPG9wdGlvbiB2YWx1ZT0iYmwiIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49ImJsIj48L29wdGlvbj4NCgkJCQkJCQkJCQk8b3B0aW9uIHZhbHVlPSJsYiIgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0ibGIiPjwvb3B0aW9uPg0KCQkJCQkJCQkJCTxvcHRpb24gdmFsdWU9Imx0IiBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJsdCI+PC9vcHRpb24+DQoJCQkJCQkJCQk8L3NlbGVjdD4NCgkJCQkJCQkJPC9kaXY+DQoNCgkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgaWQ9InNob3dMYWJlbF9ibG9jayI+DQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjaGVja2JveCI+DQoJCQkJCQkJCQkJPGxhYmVsPg0KCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJzaG93TGFiZWwiIGNoZWNrZWQ9InRydWUiPiA8c3BhbiBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJzaG93TGFiZWwiPjwvc3Bhbj4NCgkJCQkJCQkJCQk8L2xhYmVsPg0KCQkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJIAk8L2Rpdj4JDQoNCgkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCIgaWQ9InBvcHVwYnllbGVtZW50X2Jsb2NrIj4NCgkJCQkJCQkJCTxsYWJlbCBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJwb3B1cGJ5ZWxlbWVudCI+PC9sYWJlbD4NCgkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0icG9wdXBieWVsZW1lbnQiIHBsYWNlaG9sZGVyPSJFeGFtcGxlOiBteUJ1dHRvbjEgT1IgYnRuLXNob3ctY2hhdCI+DQoJCQkJCQkJCTwvZGl2Pg0KDQoJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAgaGlkZGVuIiBpZD0icGFyZW50RWxlbWVudElkX2Jsb2NrIj4NCgkJCQkJCQkJCTxsYWJlbCBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJwYXJlbnRFbGVtZW50SWQiPjwvbGFiZWw+DQoJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCIgaWQ9InBhcmVudEVsZW1lbnRJZCIgcGxhY2Vob2xkZXI9IkV4YW1wbGU6IGNoYXQtd3JhcHBlciBPUiBteURpdjEiPg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQk8L2Rpdj4NCgkJCQkJCQk8IS0tIFBPU0lUSU9OICAtLT4NCg0KDQoJCQkJCQkJPCEtLSBBVFRBQ0ggRklMRSAtLT4NCgkJCQkJCQk8ZGl2IGNsYXNzPSJ3ZWxsIj4NCgkJCQkJCQkJPGxhYmVsIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49ImZpbGVBdHRhY2giPjwvbGFiZWw+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KCQkJCQkJCQkJPGRpdiBjbGFzcz0iY2hlY2tib3giPg0KCQkJCQkJCQkJCTxsYWJlbD4NCgkJCQkJCQkJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiAgaWQ9ImF0dGFjaEZpbGUiPiA8c3BhbiBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJhdHRhY2hGaWxlIj48L3NwYW4+DQoJCQkJCQkJCQkJPC9sYWJlbD4NCgkJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCSAJPC9kaXY+CQ0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIGhpZGRlbiIgaWQ9Im1heEZpbGVTaXplX2Jsb2NrIj4NCgkJCQkJCQkJCTxsYWJlbCBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJtYXhGaWxlU2l6ZSI+PC9sYWJlbD4NCgkJCQkJCQkJCTxpbnB1dCB0eXBlPSJudW1iZXIiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIGlkPSJtYXhGaWxlU2l6ZSIgdmFsdWU9IjIwNDgiIHBsYWNlaG9sZGVyPSJFeGFtcGxlOiAyMDQ4Ij4NCgkJCQkJCQkJPC9kaXY+CQ0KCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCTwhLS0gQVRUQUNIIEZJTEUgLS0+DQoNCgkJCQkJCQk8IS0tICAtLT4NCgkJCQkJCQk8ZGl2IGNsYXNzPSJ3ZWxsIj4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjaGVja2JveCI+DQoJCQkJCQkJCQkJPGxhYmVsPg0KCQkJCQkJCQkJCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giICBpZD0icmVxdWlyZU5hbWUiPiA8c3BhbiBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJyZXF1aXJlTmFtZSI+PC9zcGFuPg0KCQkJCQkJCQkJCTwvbGFiZWw+DQoJCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkgCTwvZGl2PgkNCg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCgkJCQkJCQkJCTxkaXYgY2xhc3M9ImNoZWNrYm94Ij4NCgkJCQkJCQkJCQk8bGFiZWw+DQoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9InJlcXVpcmVQaG9uZSI+IDxzcGFuIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49InJlcXVpcmVQaG9uZSI+PC9zcGFuPg0KCQkJCQkJCQkJCTwvbGFiZWw+DQoJCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJPC9kaXY+DQoJCQkJCQkJPCEtLSAgLS0+DQoNCgkJCQkJCQk8ZGl2IGNsYXNzPSJ3ZWxsIj4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQoJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0ibWFpbkNvbG9yIj48L2xhYmVsPg0KCQkJCQkJCQkJPGlucHV0IHR5cGU9ImNvbG9yIiBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0ibWFpbkNvbG9yIiB2YWx1ZT0iI2VlZWVlZSIgcGxhY2Vob2xkZXI9IkV4YW1wbGU6ICNFRkVGRUYgb3IgcmdiYSgwLDAsMCwwLjEzKSI+DQoJCQkJCQkJCTwvZGl2Pg0KDQoJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49ImFjY2VudENvbG9yIj48L2xhYmVsPg0KCQkJCQkJCQkJPGlucHV0IHR5cGU9ImNvbG9yIiBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0iYWNjZW50Q29sb3IiIHZhbHVlPSIjMDMwMDY5IiBwbGFjZWhvbGRlcj0iRXhhbXBsZTogI0ZGMDExMiBvciByZ2JhKDI1NSwxLDEyLDEpIj4NCgkJCQkJCQkJPC9kaXY+DQoNCgkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQoJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0idGV4dENvbG9yIj48L2xhYmVsPg0KCQkJCQkJCQkJPGlucHV0IHR5cGU9ImNvbG9yIiBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0idGV4dENvbG9yIiB2YWx1ZT0iIzAwMDAwMCIgcGxhY2Vob2xkZXI9IkV4YW1wbGU6ICMwMDAwMDAgb3IgcmdiYSgwLDAsMCwxKSI+DQoJCQkJCQkJCTwvZGl2Pg0KDQoJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49ImZvbnRGYW1pbHkiPjwvbGFiZWw+DQoJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCIgaWQ9ImZvbnRGYW1pbHkiIHBsYWNlaG9sZGVyPSJFeGFtcGxlOiAnQXJpYWwnLCdSb2JvdG8nICI+DQoJCQkJCQkJCTwvZGl2Pg0KDQoJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49ImJveFdpZHRoIj48L2xhYmVsPg0KCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIGlkPSJib3hXaWR0aCIgcGxhY2Vob2xkZXI9IkV4YW1wbGU6IDI2MHB4IE9SIDk1JSI+DQoJCQkJCQkJCTwvZGl2Pg0KDQoJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49ImJveEhlaWdodCI+PC9sYWJlbD4NCgkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0iYm94SGVpZ2h0IiBwbGFjZWhvbGRlcj0iRXhhbXBsZTogMTUwcHggT1IgMTAwJSI+DQoJCQkJCQkJCTwvZGl2Pg0KDQoNCgkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQoJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0iYm94WmluZGV4Ij48L2xhYmVsPg0KCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIGlkPSJib3haaW5kZXgiIHBsYWNlaG9sZGVyPSJFeGFtcGxlOiA5OTk5OTkiPg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQk8L2Rpdj4NCg0KDQoJCQkJCQkJPGRpdiBjbGFzcz0id2VsbCI+DQoJCQkJCQkJCQ0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCgkJCQkJCQkJCTxsYWJlbCBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJpbnRlcm5fbGFiZWwiPjwvbGFiZWw+DQoJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCBpMThuaW5wdXQiIGlkPSJpbnRlcm5fbGFiZWwiIGRhdGEtaTE4bmlucHV0PSJpbnRlcm5fbGFiZWxfdmFsdWUiIHZhbHVlPSIiIHBsYWNlaG9sZGVyPSIiPg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJDQoJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49ImludGVybl95b3VyTmFtZSI+PC9sYWJlbD4NCgkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIGkxOG5pbnB1dCIgaWQ9ImludGVybl95b3VyTmFtZSIgZGF0YS1pMThuaW5wdXQ9ImludGVybl95b3VyTmFtZV92YWx1ZSIgdmFsdWU9IiIgcGxhY2Vob2xkZXI9IiI+DQoJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQkNCgkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQoJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0iaW50ZXJuX3lvdXJQaG9uZSI+PC9sYWJlbD4NCgkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIGkxOG5pbnB1dCIgaWQ9ImludGVybl95b3VyUGhvbmUiIGRhdGEtaTE4bmlucHV0PSJpbnRlcm5feW91clBob25lX3ZhbHVlIiB2YWx1ZT0iIiBwbGFjZWhvbGRlcj0iIj4NCgkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCQ0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCgkJCQkJCQkJCTxsYWJlbCBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJpbnRlcm5fc3RhcnRDaGF0Ij48L2xhYmVsPg0KCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wgaTE4bmlucHV0IiBpZD0iaW50ZXJuX3N0YXJ0Q2hhdCIgZGF0YS1pMThuaW5wdXQ9ImludGVybl9zdGFydENoYXRfdmFsdWUiIHZhbHVlPSIiIHBsYWNlaG9sZGVyPSIiPg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJDQoJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49ImludGVybl9lbnRlcllvdXJNZXNzYWdlIj48L2xhYmVsPg0KCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wgaTE4bmlucHV0IiBpZD0iaW50ZXJuX2VudGVyWW91ck1lc3NhZ2UiIGRhdGEtaTE4bmlucHV0PSJpbnRlcm5fZW50ZXJZb3VyTWVzc2FnZV92YWx1ZSIgdmFsdWU9IiIgcGxhY2Vob2xkZXI9IiI+DQoJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQkNCgkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQoJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0iaW50ZXJuX3lvdSI+PC9sYWJlbD4NCgkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIGkxOG5pbnB1dCIgaWQ9ImludGVybl95b3UiIGRhdGEtaTE4bmlucHV0PSJpbnRlcm5feW91X3ZhbHVlIiB2YWx1ZT0iIiBwbGFjZWhvbGRlcj0iIj4NCgkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCQ0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4NCgkJCQkJCQkJCTxsYWJlbCBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJpbnRlcm5fbWFuYWdlciI+PC9sYWJlbD4NCgkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIGkxOG5pbnB1dCIgaWQ9ImludGVybl9tYW5hZ2VyIiBkYXRhLWkxOG5pbnB1dD0iaW50ZXJuX21hbmFnZXJfdmFsdWUiIHZhbHVlPSIiIHBsYWNlaG9sZGVyPSIiPg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJDQoJCQkJCQkJCTxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPg0KCQkJCQkJCQkJPGxhYmVsIGNsYXNzPSJpMThuIiBkYXRhLWkxOG49ImludGVybl9ub01hbmFnZXJzQXZhaWxhYmxlIj48L2xhYmVsPg0KCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wgaTE4bmlucHV0IiBpZD0iaW50ZXJuX25vTWFuYWdlcnNBdmFpbGFibGUiIGRhdGEtaTE4bmlucHV0PSJpbnRlcm5fbm9NYW5hZ2Vyc0F2YWlsYWJsZV92YWx1ZSIgdmFsdWU9IiIgcGxhY2Vob2xkZXI9IiI+DQoJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQkNCgkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQoJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0iaW50ZXJuX2F0dGFjaEZpbGVUaXRsZSI+PC9sYWJlbD4NCgkJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIGkxOG5pbnB1dCIgaWQ9ImludGVybl9hdHRhY2hGaWxlVGl0bGUiIGRhdGEtaTE4bmlucHV0PSJpbnRlcm5fYXR0YWNoRmlsZVRpdGxlX3ZhbHVlIiB2YWx1ZT0iIiBwbGFjZWhvbGRlcj0iIj4NCgkJCQkJCQkJPC9kaXY+DQoNCgkJCQkJCQkJPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+DQoJCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0iaW50ZXJuX21heEZpbGVTaXplRXJyb3IiPjwvbGFiZWw+DQoJCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCBpMThuaW5wdXQiIGlkPSJpbnRlcm5fbWF4RmlsZVNpemVFcnJvciIgZGF0YS1pMThuaW5wdXQ9ImludGVybl9tYXhGaWxlU2l6ZUVycm9yX3ZhbHVlIiB2YWx1ZT0iIiBwbGFjZWhvbGRlcj0iIj4NCgkJCQkJCQkJPC9kaXY+DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KCQkJCQkJCQ0KCQkJCQkJCTwvZGl2Pg0KDQoJCQkJCQk8L2Rpdj4NCgkJCQkJCTxkaXYgY2xhc3M9ImNvbC1tZC02Ij4NCgkJCQkJCQk8bGFiZWwgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0iaW5zZXJ0VG9IZWFkIj48L2xhYmVsPg0KCQkJCQkJCTxkaXYgY2xhc3M9IndlbGwiIGlkPSJzY3JpcHRzSGVhZCIgc3R5bGU9ImZvbnQtc2l6ZTogOXB0O2NvbG9yOiAjMzc1Mjg2OyBvdmVyZmxvdzphdXRvOyI+PC9kaXY+DQoNCgkJCQkJCQk8bGFiZWwgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0iaW5zZXJ0VG9Cb2R5Ij48L2xhYmVsPg0KCQkJCQkJCTxkaXYgY2xhc3M9IndlbGwiIGlkPSJzY3JpcHRzQm9keSIgc3R5bGU9ImZvbnQtc2l6ZTogOXB0O2NvbG9yOiAjMzc1Mjg2OyBvdmVyZmxvdzphdXRvOyI+PC9kaXY+DQoJCQkJCQk8L2Rpdj4NCgkJCQkJPC9kaXY+DQoNCgkJCQk8L3NlY3Rpb24+DQoNCgkJCQk8c2VjdGlvbiBpZD0ic3RlcDQiIGNsYXNzPSJoaWRkZW4iPg0KCQkJCQk8aDIgY2xhc3M9ImkxOG4iIGRhdGEtaTE4bj0iZG9uYXRlIj48L2gyPg0KCQkJCQk8cCBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJkb25hdGVUZXh0Ij48L3A+DQoJCQkJCTxicj4NCgkJCQkJPGlmcmFtZSBzdHlsZT0iYm9yZGVyOjA7IHdpZHRoOjEwMCU7IiBzcmM9Imh0dHBzOi8vbW9uZXkueWFuZGV4LnJ1L2VtYmVkL2RvbmF0ZS54bWw/YWNjb3VudD00MTAwMTY4NjkxMzU4JnF1aWNrcGF5PWRvbmF0ZSZwYXltZW50LXR5cGUtY2hvaWNlPW9uJm1vYmlsZS1wYXltZW50LXR5cGUtY2hvaWNlPW9uJmRlZmF1bHQtc3VtPTMwMCZ0YXJnZXRzPSVEMCU5RiVEMCVCRSVEMCVCNCVEMCVCNCVEMCVCNSVEMSU4MCVEMCVCNiVEMCVCQSVEMCVCMCslRDAlQkYlRDElODAlRDAlQkUlRDAlQjUlRDAlQkElRDElODIlRDAlQjAmdGFyZ2V0LXZpc2liaWxpdHk9b24mcHJvamVjdC1uYW1lPVRlbGVncmFtK1NpdGUrSGVscGVyKzIlMkYwJnByb2plY3Qtc2l0ZT1odHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZTdXJ6aGlrb3YlMkZUZWxlZ3JhbS1TaXRlLUhlbHBlci0yLjAmYnV0dG9uLXRleHQ9MDEmc3VjY2Vzc1VSTD1odHRwcyUzQSUyRiUyRnJhdy5naXRodWJ1c2VyY29udGVudC5jb20lMkZTdXJ6aGlrb3YlMkZUZWxlZ3JhbS1TaXRlLUhlbHBlci0yLjAlMkZtYXN0ZXIlMkZ0aGFuay15b3UudHh0Ij48L2lmcmFtZT4NCgkJCQkJPGJyPg0KCQkJCQk8aW1nIHNyYz0idGVsZWdyYW0tc2l0ZS1oZWxwZXItaW5zdGFsbC5waHA/YWN0PWt2b2trYSIvPg0KCQkJCTwvc2VjdGlvbj4NCgkJPC9kaXY+DQoJPC9kaXY+DQoNCjxkaXYgc3R5bGU9ImRpc3BsYXk6bm9uZTsgcG9zaXRpb246Zml4ZWQ7IHRvcDowOyBsZWZ0OjA7IHJpZ2h0OjA7IGJvdHRvbTowOyBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC41KTsgei1pbmRleDo5OTk5OTk5OyIgaWQ9IndhaXQiPg0KCTxkaXYgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDowOyByaWdodDowOyB0b3A6MjAlOyB0ZXh0LWFsaWduOmNlbnRlcjsgY29sb3I6I2ZmZjsgZm9udC1zaXplOjQwcHQ7IiBjbGFzcz0iaTE4biIgZGF0YS1pMThuPSJ3YWl0Ij4NCgk8L2Rpdj4NCjwvZGl2Pg0KDQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQoJDQoJZ2xvYmFscz17fTsNCglnbG9iYWxzWyJsYW5ndWFnZSJdPXt9DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXT17fQ0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl09e30NCg0KDQoJDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsid2FpdCJdPSJQbGVhc2Ugd2FpdCBhIGZldyBzZWNvbmRzLi4uIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJ3YWl0Il09ItCf0L7QtNC+0LbQtNC40YLQtSDQv9Cw0YDRgyDRgdC10LrRg9C90LQuLi4iOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsic3RhcnQiXT0iV2VsY29tZSI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsic3RhcnQiXT0i0J3QsNGH0LDQu9C+IjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bImNvbmZpZyJdPSJDb25maWd1cmF0aW9uIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJjb25maWciXT0i0JrQvtC90YTQuNCz0YPRgNCw0YbQuNGPIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bImdlbmVyYXRlV2lkZ2V0Il09IkdlbmVyYXRlIHdpZGdldCI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsiZ2VuZXJhdGVXaWRnZXQiXT0i0JPQtdC90LXRgNCw0YLQvtGAINCy0LjQtNC20LXRgtCwIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bInRzaFN0YXJ0U2V0dXAiXT0iU3RhcnQgc2V0dXAiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bInRzaFN0YXJ0U2V0dXAiXT0i0J3QsNGH0LDRgtGMINGD0YHRgtCw0L3QvtCy0LrRgyI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJ0c2hTZXR1cCJdPSJUZWxlZ3JhbSBTaXRlIEhlbHBlciAyLjAgLSBzZXR1cCB0b29sIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJ0c2hTZXR1cCJdPSJUZWxlZ3JhbSBTaXRlIEhlbHBlciAyLjAgLSDRg9GB0YLQsNC90L7QstC60LAiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsidHNoQWJvdXQiXT0iVGVsZWdyYW0gU2l0ZSBIZWxwZXIgJmRhc2g7IGlzIHNpbXBsZSBjaGF0LXdpdGgtY3VzdG9tZXIgc3lzdGVtIGZvciB5b3VyIHNpdGUuIEJhc2VkIG9uIFRlbGVncmFtIEJPVC4iOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bInRzaEFib3V0Il09IlRlbGVncmFtIFNpdGUgSGVscGVyICZkYXNoOyDRjdGC0L4g0L/RgNC+0YHRgtCw0Y8g0YHQuNGB0YLQtdC80LAg0LTQu9GPINGB0L7Qt9C00LDQvdC40Y8g0YfQsNGC0LAt0L/QvtC80L7RidC90LjQutCwINC00LvRjyDQvtCx0YnQtdC90LjRjyDRgSDQutC70LjQtdC90YLQsNC80Lgg0L3QsCDRgdCw0LnRgtC1LiDQkdCw0LfQuNGA0YPQtdGC0YHRjyDQvdCwINC/0LvQsNGC0YTQvtGA0LzQtSBUZWxlZ3JhbSDQkdC+0YLQvtCyLiI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJyZXF1aXJlbWVudCJdPSI8aDM+U2VydmVyIHJlcXVpcmVtZW50OjwvaDM+MS4gV2ViLXNpdGUgb24gSW50ZXJuZXQgd2l0aCBIVFRQPGI+czwvYj4gYWNjZXNzIChzY3JpcHQgd2lsbCBub3Qgd29ya3Mgb24gbG9jYWxob3N0KTxicj4yLiBQSFAgUERPIGRyaXZlciAoZm9yIE15U1FMIG9yIFNRTGl0ZSk8YnI+IDMuIFBIUCBDVVJMIExpYnJhcnkgPGJyPjQuIE93biBzZXJ2ZXIsIFZQUy9WRFMgb3Igbm9ybWFsIGhvc3RpbmcgKHdoZXJlIGZsdXNoKCksIHNldF90aW1lX2xpbWl0KDApLCBldGMgd2lsbCB3b3JrcykiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bInJlcXVpcmVtZW50Il09IjxoMz7QotGA0LXQsdC+0LLQsNC90LjRjyDQuiDRgdC10YDQstC10YDRgzo8L2gzPjEuINCh0LDQudGCINCyINC40L3RgtC10YDQvdC10YLQtSDRgSDQtNC+0YHRgtGD0L/QvtC8INC/0L4gSFRUUDxiPnM8L2I+ICjQvdCwIGxvY2FsaG9zdCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L3QtSDQv9C+0LvRg9GH0LjRgtGB0Y8hKSA8YnI+Mi4gUEhQIFBETyDQtNGA0LDQudCy0LXRgCAo0LTQu9GPIE15U1FMINC40LvQuCBTUUxpdGUpPGJyPiAzLiDQkdC40LHQu9C40L7RgtC10LrQsCBQSFAgQ1VSTDxicj4gNC4g0KHQtdGA0LLQtdGALCBWUFMg0LjQu9C4INC90L7RgNC80LDQu9GM0L3Ri9C5INGF0L7RgdGC0LjQvdCzICjQvdCwINC60L7RgtC+0YDQvtC8INGA0LDQsdC+0YLQsNC10YIgZmx1c2goKSwgc2V0X3RpbWVfbGltaXQoMCkpIjsNCg0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiYXR0ZW50aW9uIl09IkF0dGVudGlvbiEgSWYgeW91IGFscmVhZHkgdXNlIFRlbGVncmFtIFNpdGUgSGVscGVyOjxicj48dWw+PGxpPlRhYmxlcyBvZiBpdHMgZGF0YWJhc2UgKFNRTGl0ZSBvciBNeVNRTCk8L2xpPjxsaT5Db25maWcgZmlsZSA8Yj50ZWxlZ3JhbS1zaXRlLWhlbHBlci1jb25maWcucGhwPC9iPjwvbGk+PGxpPjxiPnRlbGVncmFtLXNpdGUtaGVscGVyLmNzczwvYj48L2xpPjxsaT48Yj50ZWxlZ3JhbS1zaXRlLWhlbHBlci5qczwvYj48L2xpPjwvdWw+PGJyPjxiPndpbGwgYmUgcmV3cml0ZWQhISE8L2I+IjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJhdHRlbnRpb24iXT0i0JLQvdC40LzQsNC90LjQtSEg0JXRgdC70LggVGVsZWdyYW0gU2l0ZSBIZWxwZXIg0LHRi9C7INGD0YHRgtCw0L3QvtCy0LvQtdC9INGA0LDQvdC10LU6PGJyPjx1bD48bGk+0KLQsNCx0LvQuNGG0Ysg0LXQs9C+INCx0LDQt9GLINC00LDQvdC90YvRhSAoU1FMaXRlINC40LvQuCBNeVNRTCk8L2xpPjxsaT7QmtC+0L3RhNC40LPRg9GA0LDRhtC40L7QvdC90YvQuSDRhNCw0LnQuyA8Yj50ZWxlZ3JhbS1zaXRlLWhlbHBlci1jb25maWcucGhwPC9iPjwvbGk+PGxpPjxiPnRlbGVncmFtLXNpdGUtaGVscGVyLmNzczwvYj48L2xpPjxsaT48Yj50ZWxlZ3JhbS1zaXRlLWhlbHBlci5qczwvYj48L2xpPjwvdWw+PGJyPjxiPtCx0YPQtNGD0YIg0L/QtdGA0LfQsNC/0LjRgdCw0L3RiyEhITwvYj4iOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiYm90VG9rZW4iXT0iQm90IHRva2VuIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJib3RUb2tlbiJdPSLQotC+0LrQtdC9INCx0L7RgtCwIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bIm5ld01hbmFnZXJQYXNzd29yZCJdPSJOZXcgbWFuYWdlciBhdXRvcml6YXRpb24gcGFzc3dvcmQiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bIm5ld01hbmFnZXJQYXNzd29yZCJdPSLQn9GA0LjQtNGD0LzQsNC50YLQtSDQv9Cw0YDQvtC70Ywg0LTQu9GPINCw0LLRgtC+0YDQuNC30LDRhtC40Lgg0LzQtdC90LXQtNC20LXRgNC+0LIiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsic2hvdyJdPSJzaG93IjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJzaG93Il09ItC/0L7QutCw0LfQsNGC0YwiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiaGlkZSJdPSJoaWRlIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJoaWRlIl09ItGB0LrRgNGL0YLRjCINCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bImdldEJvdFRva2VuIl09IkdldCB5b3VyIEJvdCB0b2tlbiBmcm9tIHRoZSI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsiZ2V0Qm90VG9rZW4iXT0i0J/QvtC70YPRh9C40YLQtSDRgtC+0LrQtdC9INC00LvRjyDQstCw0YjQtdCz0L4g0LHQvtGC0LAg0YMiOw0KDQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJkYlR5cGUiXT0iU2VsZWN0IERhdGFiYXNlIHR5cGUsIHlvdSB3YW50IHRvIHVzZSI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsiZGJUeXBlIl09ItCS0YvQsdC10YDQuNGC0LUg0YLQuNC/INCx0LDQt9GLINC00LDQvdC90YvRhSwg0LrQvtGC0L7RgNGL0Lkg0LHRg9C00LXQvCDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwiOw0KDQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJteXNxbEhvc3QiXT0iTXlTUUwgaG9zdDoiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bIm15c3FsSG9zdCJdPSJNeVNRTCDRhdC+0YHRgiI7DQoNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bIm15c3FsVXNlciJdPSJNeVNRTCB1c2VyIG5hbWU6IjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJteXNxbFVzZXIiXT0iTXlTUUwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMIjsNCg0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsibXlzcWxQYXNzd29yZCJdPSJNeVNRTCBwYXNzd29yZDoiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bIm15c3FsUGFzc3dvcmQiXT0iTXlTUUwg0L/QsNGA0L7Qu9GMIjsNCg0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsibXlzcWxEYiJdPSJNeVNRTCBkYXRhYmFzZSBuYW1lOiI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsibXlzcWxEYiJdPSJNeVNRTCDQsdCw0LfQsCDQtNCw0L3QvdGL0YUiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsic2VsZkNlcnRQYXJ0Il09IkZ1bGwgcGF0aCB0byBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZSI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsic2VsZkNlcnRQYXJ0Il09ItCf0L7Qu9C90YvQuSDQv9GD0YLRjCDQuiDRgdCw0LzQvtC/0L7QtNC/0LjRgdCw0L3QvdC+0LzRgyDRgdC10YDRgtC40YTQuNC60LDRgtGDIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bInNlbGZDZXJ0SGVscCJdPSJGaWxsIHRoaXMgZmllbGQgb25seSBpZiB5b3UgdXNlIFNlbGYtc2lnbmVkIHNzbCBjZXJ0aWZpY2F0ZSEiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bInNlbGZDZXJ0SGVscCJdPSLQl9Cw0L/QvtC70L3QuNGC0LUg0Y3RgtC+INC/0L7Qu9C1INGC0L7Qu9GM0LrQviDQtdGB0LvQuCDQuNGB0L/QvtC70YzQt9GD0LXRgtC1INGB0LDQvNC+0L/QvtC00L/QuNGB0LDQvdC90YvQuSBzc2wg0YHQtdGA0YLQuNGE0LjQutCw0YIhIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bImNoZWNrQW5kSW5zdGFsbCJdPSJDaGVjayBjb25maWd1cmF0aW9uIGFuZCBpbnN0YWxsIFRlbGVncmFtIFNpdGUgSGVscGVyIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJjaGVja0FuZEluc3RhbGwiXT0i0J/RgNC+0LLQtdGA0LjRgtGMINC90LDRgdGC0YDQvtC50LrQuCDQuCDRg9GB0YLQsNC90L7QstC40YLRjCBUZWxlZ3JhbSBTaXRlIEhlbHBlciI7DQoNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bInN0YXR1c0NoZWNraW5nSFRUUFNfb2siXT0iQ2hlY2tpbmcgSFRUUFMgYXZhaWxhYmxlLi4uIE9LISI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsic3RhdHVzQ2hlY2tpbmdIVFRQU19vayJdPSLQn9GA0L7QstC10YDQutCwINC00L7RgdGC0YPQv9C90L7RgdGC0Lgg0YHQsNC50YLQsCDQv9C+IEhUVFBTLi4uIE9LISI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJzdGF0dXNDaGVja2luZ0hUVFBTX2Vycm9yIl09IkNoZWNraW5nIEhUVFBTIGF2YWlsYWJsZS4uLiBFcnJvci4iOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bInN0YXR1c0NoZWNraW5nSFRUUFNfZXJyb3IiXT0i0J/RgNC+0LLQtdGA0LrQsCDQtNC+0YHRgtGD0L/QvdC+0YHRgtC4INGB0LDQudGC0LAg0L/QviBIVFRQUy4uLiDQntGI0LjQsdC60LAuIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bInN0YXR1c0NoZWNraW5nTWFuYWdlclBhc3N3b3JkX29rIl09IkFkbWluIHBhc3N3b3JkLi4uIE9LISI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsic3RhdHVzQ2hlY2tpbmdNYW5hZ2VyUGFzc3dvcmRfb2siXT0i0JDQtNC80LjQvdC40YHRgtGA0LDRgtC+0YDRgdC60LjQuSDQv9Cw0YDQvtC70YwuLi4gT0shIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bInN0YXR1c0NoZWNraW5nTWFuYWdlclBhc3N3b3JkX2Vycm9yIl09IkFkbWluIHBhc3N3b3JkLi4uIEVycm9yLiI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsic3RhdHVzQ2hlY2tpbmdNYW5hZ2VyUGFzc3dvcmRfZXJyb3IiXT0i0JDQtNC80LjQvdC40YHRgtGA0LDRgtC+0YDRgdC60LjQuSDQv9Cw0YDQvtC70YwuLi4g0J7RiNC40LHQutCwLiI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJzdGF0dXNDaGVja2luZ0JvdEFjY2Vzc19vayJdPSJDaGVja2luZyBCb3QgdG9rZW4uLi4gT0shIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJzdGF0dXNDaGVja2luZ0JvdEFjY2Vzc19vayJdPSLQn9GA0L7QstC10YDQutCwINGC0L7QutC10L3QsCDQkdC+0YLQsC4uLiDQntCaISI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJzdGF0dXNDaGVja2luZ0JvdEFjY2Vzc19lcnJvciJdPSJDaGVja2luZyBCb3QgdG9rZW4uLi4gRXJyb3IuIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJzdGF0dXNDaGVja2luZ0JvdEFjY2Vzc19lcnJvciJdPSLQn9GA0L7QstC10YDQutCwINGC0L7QutC10L3QsCDQkdC+0YLQsC4uLiDQntGI0LjQsdC60LAuIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bInN0YXR1c0NoZWNraW5nU1FMQWNjZXNzX29rIl09IkNoZWNraW5nIFNRTCBQRE8gYXZhaWxhYmxlLi4uIE9LISI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsic3RhdHVzQ2hlY2tpbmdTUUxBY2Nlc3Nfb2siXT0i0J/RgNC+0LLQtdGA0LrQsCDQtNC+0YHRgtGD0L/QvdC+0YHRgtC4IFBETyDQtNGA0LDQudCy0LXRgNCwIFNRTC4uLiDQntCaISI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJzdGF0dXNDaGVja2luZ1NRTEFjY2Vzc19lcnJvciJdPSJDaGVja2luZyBTUUwgUERPIGF2YWlsYWJsZS4uLiBFUlJPUi4iOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bInN0YXR1c0NoZWNraW5nU1FMQWNjZXNzX2Vycm9yIl09ItCf0YDQvtCy0LXRgNC60LAg0LTQvtGB0YLRg9C/0L3QvtGB0YLQuCBQRE8g0LTRgNCw0LnQstC10YDQsCBTUUwuLi4g0J7RiNC40LHQutCwLiI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJzdGF0dXNDcmVhdGluZ0NvbmZpZ19vayJdPSJDcmVhdGluZyBjb25maWd1cmF0aW9uIGZpbGUuLi4gT0shIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJzdGF0dXNDcmVhdGluZ0NvbmZpZ19vayJdPSLQodC+0LfQtNCw0L3QuNC1INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQvtC90L3QvtCz0L4g0YTQsNC50LvQsC4uLiDQntCaISI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJzdGF0dXNDcmVhdGluZ0NvbmZpZ19lcnJvciJdPSJDcmVhdGluZyBjb25maWd1cmF0aW9uIGZpbGUuLi4gRVJST1IgKGNhbmB0IGNyZWF0ZSBjb25maWcgZmlsZSAtIGNoZWNrIGNobW9kIHJ1bGVzKSI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsic3RhdHVzQ3JlYXRpbmdDb25maWdfZXJyb3IiXT0i0KHQvtC30LTQsNC90LjQtSDQutC+0L3RhNC40LPRg9GA0LDRhtC40L7QvdC90L7Qs9C+INGE0LDQudC70LAuLi4g0J7RiNC40LHQutCwICjQvdC1INGD0LTQsNC10YLRgdGPINGB0L7Qt9C00LDRgtGMINGE0LDQudC7INC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCwg0L/RgNC+0LLQtdGA0YzRgtC1INC/0YDQsNCy0LAg0LTQvtGB0YLRg9C/0LAgY2htb2QpIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bInN0YXR1c0NyZWF0aW5nREJfb2siXT0iQ3JlYXRpbmcgRGF0YWJhc2UuLi4gT0shIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJzdGF0dXNDcmVhdGluZ0RCX29rIl09ItCh0L7Qt9C00LDQvdC40LUg0LHQsNC30Ysg0LTQsNC90L3Ri9GFLi4uINCe0JohIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bInN0YXR1c0NyZWF0aW5nREJfZXJyb3IiXT0iQ3JlYXRpbmcgRGF0YWJhc2UuLi4gRXJyb3IuIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJzdGF0dXNDcmVhdGluZ0RCX2Vycm9yIl09ItCh0L7Qt9C00LDQvdC40LUg0LHQsNC30Ysg0LTQsNC90L3Ri9GFLi4uINCe0YjQuNCx0LrQsC4iOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsic3RhdHVzU2V0V2ViSG9va19vayJdPSJUZWxlZ3JhbSB3ZWJob29rIHNldHRpbmcgdXAuLi4gT0shIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJzdGF0dXNTZXRXZWJIb29rX29rIl09ItCd0LDRgdGC0YDQvtC50LrQsCBUZWxlZ3JhbSB3ZWJob29rLi4uINCe0JohIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bInN0YXR1c1NldFdlYkhvb2tfZXJyb3IiXT0iVGVsZWdyYW0gd2ViaG9vayBzZXR0aW5nIHVwLi4uIEVycm9yLiI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsic3RhdHVzU2V0V2ViSG9va19lcnJvciJdPSLQndCw0YHRgtGA0L7QudC60LAgVGVsZWdyYW0gd2ViaG9vay4uLiDQntGI0LjQsdC60LAuIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bInN0YXR1c0NvbXBsZXRlX29rIl09IlNldHVwIGNvbXBsZXRlISBOb3cgZ28gdG8gd2lkZ2V0IGdlbmVyYXRvci4iOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bInN0YXR1c0NvbXBsZXRlX29rIl09ItCj0YHRgtCw0L3QvtCy0LrQsCDQt9Cw0LLQtdGA0YjQtdC90LAuINCf0LXRgNC10YXQvtC00LjRgtC1INC6INGB0L7Qt9C00LDQvdC40Y4g0LLQuNC00LbQtdGC0LAg0YfQsNGC0LAt0L/QvtC80L7RidC90LjQutCwLiI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJzdGF0dXNDb21wbGV0ZV9lcnJvciJdPSJTZXR1cCBlcnJvci4gQ29ycmVjdCB0aGUgZXJyb3JzIGFuZCB0cnkgYWdhaW4hIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJzdGF0dXNDb21wbGV0ZV9lcnJvciJdPSLQntGI0LjQsdC60LAg0YPRgdGC0LDQvdC+0LLQutC4LiDQmNGB0L/RgNCw0LLRjNGC0LUg0L7RiNC40LHQutC4INC4INC/0L7Qv9GA0L7QsdGD0LnRgtC1INC10YnQtSDRgNCw0LchIjsNCg0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiaW5zZXJ0VG9IZWFkIl09Ikluc2VydCB0aGlzIGNvZGUgYmVmb3JlIDxiIHN0eWxlPVwiY29sb3I6I0FCMDRBQlwiPiZsdDsvaGVhZCZndDs8L2I+IChjbG9zZSkgdGFnIG9uIHlvdXIgc2l0ZSI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsiaW5zZXJ0VG9IZWFkIl09ItCS0YHRgtCw0LLRjNGC0LUg0Y3RgtC+0YIg0LrQvtC0INC/0LXRgNC10LQg0LfQsNC60YDRi9Cy0LDRjtGJ0LjQvNGB0Y8g0YLQtdCz0L7QvCA8YiBzdHlsZT1cImNvbG9yOiNBQjA0QUJcIj4mbHQ7L2hlYWQmZ3Q7PC9iPiI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJpbnNlcnRUb0JvZHkiXT0iSW5zZXJ0IHRoaXMgY29kZSBiZWZvcmUgPGIgc3R5bGU9XCJjb2xvcjojQUIwNEFCXCI+Jmx0Oy9ib2R5Jmd0OzwvYj4gKGNsb3NlKSB0YWcgb24geW91ciBzaXRlIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJpbnNlcnRUb0JvZHkiXT0i0JLRgdGC0LDQstGM0YLQtSDRjdGC0L7RgiDQutC+0LQg0L/QtdGA0LXQtCDQt9Cw0LrRgNGL0LLQsNGO0YnQuNC80YHRjyDRgtC10LPQvtC8IDxiIHN0eWxlPVwiY29sb3I6I0FCMDRBQlwiPiZsdDsvYm9keSZndDs8L2I+IjsNCg0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiY2hhdGJveFBvc2l0aW9uIl09IkNoYXQtYm94IHBvc2l0aW9uIG9uIHBhZ2UiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bImNoYXRib3hQb3NpdGlvbiJdPSLQn9C+0LvQvtC20LXQvdC40Y8g0YfQsNGC0LAg0L3QsCDRgdGC0YDQsNC90LjRhtC1IjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bImZpeGVkQ2hhdGJveCJdPSLQoWhhdC1ib3ggaXMgZml4ZWQgb24gb25lIGVkZ2Ugb2YgdGhlIHNjcmVlbiI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsiZml4ZWRDaGF0Ym94Il09ItCn0LDRgiDQt9Cw0YTQuNC60YHQuNGA0L7QstCw0L0g0LIg0L7QtNC90L7QvCDQuNC3INGD0LPQu9C+0LIg0Y3QutGA0LDQvdCwIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bImVtYmVkZGVkQ2hhdGJveCJdPSJFbWJlZGQgdG8gb3RoZXIgSFRNTCBlbGVtZW50IjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJlbWJlZGRlZENoYXRib3giXT0i0JLRgdGC0YDQsNC40LLQsNC10YLRgdGPINCyINC00YDRg9Cz0L7QuSBIVE1MINGN0LvQtdC80LXQvdGCIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bImNoYXRib3hGaXhlZFBvc2l0aW9uIl09IlNwZWNpZnkgY2hhdC1ib3ggcGxhY2UiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bImNoYXRib3hGaXhlZFBvc2l0aW9uIl09ItCc0LXRgdGC0L4sINCz0LTQtSDQsdGD0LTQtdGCINC/0L7Rj9Cy0LvRj9GC0Ywg0YfQsNGCIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bInRsIl09Ik9uIHRvcC1sZWZ0IjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJ0bCJdPSLQodCy0LXRgNGF0YMt0YHQu9C10LLQsCI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJ0ciJdPSJPbiB0b3AtcmlnaHQiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bInRyIl09ItCh0LLQtdGA0YXRgy3RgdC/0YDQsNCy0LAiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsicnQiXT0iT24gcmlnaHQtdG9wIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJydCJdPSLQodC/0YDQsNCy0LAt0YHQstC10YDRhdGDIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bInJiIl09Ik9uIHJpZ2h0LWJvdHRvbSI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsicmIiXT0i0KHQv9GA0LDQstCwLdGB0L3QuNC30YMiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiYnIiXT0iT24gYm90dG9tLXJpZ2h0IjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJiciJdPSLQodC90LjQt9GDLdGB0L/RgNCw0LLQsCI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJibCJdPSJPbiBib3R0b20tbGVmdCI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsiYmwiXT0i0KHQvdC40LfRgy3RgdC70LXQstCwIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bImxiIl09Ik9uIGxlZnQtYm90dG9tIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJsYiJdPSLQodC70LXQstCwLdGB0L3QuNC30YMiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsibHQiXT0iT24gbGVmdC10b3AiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bImx0Il09ItCh0LvQtdCy0LAt0YHQstC10YDRhdGDIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bInBhcmVudEVsZW1lbnRJZCJdPSJIVE1MIGVsZW1lbnQgSUQgZm9yIGVtYmVkICh3aXRob3V0ICMpIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJwYXJlbnRFbGVtZW50SWQiXT0iSUQgSFRNTCDRjdC70LXQvNC10L3RgtCwINC00LvRjyDQstGB0YLRgNCw0LjQstCw0L3QuNGPICjQsdC10LcgIykiOw0KDQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJ0aGlzRGlyVVJMIl09IlRoaXMgRGlyIFVSTCBpcyAiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bInRoaXNEaXJVUkwiXT0i0KLQtdC60YPRidCw0Y8g0LTQuNGA0LXQutGC0L7RgNC40Y8gIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bInRyYW5zbGF0aW9uVHlwZSJdPSJIb3cgY2hhdCB3aWxsIGJlIGdldCBuZXcgbWVzc2FnZXMgZnJvbSB5b3VyIHNlcnZlciI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsidHJhbnNsYXRpb25UeXBlIl09ItCa0LDQuiDRh9Cw0YIg0LHRg9C00LXRgiDQv9C+0LvRg9GH0LDRgtGMINC90L7QstGL0LUg0YHQvtC+0LHRidC10L3QuNGPINGBINCy0LDRiNC10LPQviDRgdC10YDQstC10YDQsCI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJ0cmFuc2xhdGlvblR5cGVfbHAiXT0iQnkgTG9uZy1Qb2xsIHF1ZXJ5IChyZWNvbW1lbmRlZCBmb3Igb2xkIGhvc3RpbmdzKSI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsidHJhbnNsYXRpb25UeXBlX2xwIl09IkxvbmctUG9sbCDQt9Cw0L/RgNC+0YEgKNGA0LXQutC+0LzQtdC90LTRg9C10YLRgdGPINC00LvRjyDRgdGC0LDRgNGL0YUg0YXQvtGB0YLQuNC90LPQvtCyKSI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJ0cmFuc2xhdGlvblR5cGVfc3NlIl09IkJ5IFNlcnZlci1TaWRlLUV2ZW50ICh3b3JrcyBvbmx5IG9uIGFjdHVhbCBob3N0aW5ncykiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bInRyYW5zbGF0aW9uVHlwZV9zc2UiXT0iU2VydmVyLVNpZGUtRXZlbnQgKNGA0LDQsdC+0YLQsNC10YIg0YLQvtC70YzQutC+INC90LAg0YHQvtCy0YDQtdC80LXQvdC90YvRhSDRhdC+0YHRgtC40L3Qs9Cw0YUpIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bIm1haW5Db2xvciJdPSJDaGF0LWJveCBiYWNrZ3JvdW5kIGNvbG9yIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJtYWluQ29sb3IiXT0i0KTQvtC90L7QstGL0Lkg0YbQstC10YIg0YfQsNGC0LAiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiYWNjZW50Q29sb3IiXT0iQ2hhdC1ib3ggYWNjZW50IGNvbG9yIChib3JkZXIsIGJ1dHRvbnMsIGV0YykiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bImFjY2VudENvbG9yIl09ItCQ0LrRhtC10L3RgtC90YvQuSDRhtCy0LXRgiDRh9Cw0YLQsCAo0YDQsNC80LrQsCwg0LrQvdC+0L/QutC4INC4INGCLtC0LikiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsidGV4dENvbG9yIl09IkNoYXQtYm94IHRleHQgY29sb3IiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bInRleHRDb2xvciJdPSLQptCy0LXRgiDRgtC10LrRgdGC0LAg0YfQsNGC0LAiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiZm9udEZhbWlseSJdPSJDaGF0LWJveCBmb250LWZhbWlseSI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsiZm9udEZhbWlseSJdPSLQqNGA0LjRhNGCINGH0LDRgtCwIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bImJveFdpZHRoIl09IkNoYXQtYm94IHdpZHRoIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJib3hXaWR0aCJdPSLQqNC40YDQuNC90LAg0YfQsNGC0LAiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiYm94SGVpZ2h0Il09IkNoYXQtYm94IGhlaWdodCI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsiYm94SGVpZ2h0Il09ItCS0YvRgdC+0YLQsCDRh9Cw0YLQsCI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJib3haaW5kZXgiXT0iQ2hhdC1ib3ggei1pbmRleCI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsiYm94WmluZGV4Il09IlotaW5kZXgg0YfQsNGC0LAiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsicmVxdWlyZU5hbWUiXT0iQXNrIGN1c3RvbWVyIG5hbWUiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bInJlcXVpcmVOYW1lIl09ItCh0L/RgNCw0YjQuNCy0LDRgtGMINC40LzRjyI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJyZXF1aXJlUGhvbmUiXT0iQXNrIGN1c3RvbWVyIHBob25lIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJyZXF1aXJlUGhvbmUiXT0i0KHQv9GA0LDRiNC40LLQsNGC0Ywg0YLQtdC70LXRhNC+0L0iOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiYXR0YWNoRmlsZSJdPSJDdXN0b21lciBjYW4gYXR0YWNoIGZpbGUiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bImF0dGFjaEZpbGUiXT0i0J/QvtGB0LXRgtC40YLQtdC70Ywg0YHQsNC50YLQsCDQvNC+0LbQtdGCINC/0YDQuNC60YDQtdC/0LvRj9GC0Ywg0YTQsNC50LvRiyI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJtYXhGaWxlU2l6ZSJdPSJNYXhpbXVtIGZpbGUgc2l6ZSAoS2IpIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJtYXhGaWxlU2l6ZSJdPSLQnNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINGE0LDQudC70LAgKEtiKSI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJzaG93TGFiZWwiXT0iU2hvdyBjaGF0LWJveC1vcGVuIGxhYmVsIChsaXR0bGUgZWxlbWVudCwgZml4ZWQgb24gb25lIGVkZ2Ugb2YgdGhlIHNjcmVlbikiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bInNob3dMYWJlbCJdPSLQn9C+0LrQsNC30YvQstCw0YLRjCDQu9GN0LnQsdC7INC00LvRjyDQvtGC0LrRgNGL0YLQuNGPINGH0LDRgtCwICjQvdC10LHQvtC70YzRiNC+0Lkg0Y3Qu9C10LzQtdC90YIg0L3QsCDQutGA0LDRjiDRjdC60YDQsNC90LApIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bInBvcHVwYnllbGVtZW50Il09Ik9wZW4gY2hhdC1ib3ggYnkgY2xpY2tpbmcgSFRNTCBlbGVtZW50ICh3aXRob3V0ICMpIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJwb3B1cGJ5ZWxlbWVudCJdPSLQntGC0LrRgNGL0LLQsNGC0Ywg0YfQsNGCINC/0YDQuCDQutC70LjQutC1INC90LAgSFRNTCDRjdC70LXQvNC10L3RgiAo0LHQtdC3ICMpIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bImZpbGVBdHRhY2giXT0iRmlsZSBhdHRhY2giOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bImZpbGVBdHRhY2giXT0i0J/RgNC40LrRgNC10L/Qu9C10L3QuNC1INGE0LDQudC70L7QsiI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJpbnRlcm5fbGFiZWwiXT0iQ2hhdCBoZWFkZXIiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bImludGVybl9sYWJlbCJdPSLQl9Cw0LPQvtC70L7QstC+0Log0YfQsNGC0LAiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiaW50ZXJuX3lvdXJOYW1lIl09Ik5hbWUgcmVxdWVzdCI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsiaW50ZXJuX3lvdXJOYW1lIl09ItCf0YDQvtGB0YzQsdCwINCy0LLQtdGB0YLQuCDQuNC80Y8iOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiaW50ZXJuX3lvdXJQaG9uZSJdPSJQaG9uZSByZXF1ZXN0IjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJpbnRlcm5feW91clBob25lIl09ItCf0YDQvtGB0YzQsdCwINCy0LLQtdGB0YLQuCDRgtC10LvQtdGE0L7QvSI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJpbnRlcm5fc3RhcnRDaGF0Il09IlN0YXJ0IGNoYXQgYnV0dG9uIHRpdGxlIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJpbnRlcm5fc3RhcnRDaGF0Il09ItCd0LDQtNC/0LjRgdGMINC90LAg0LrQvdC+0L/QutC1INC90LDRh9Cw0LvQsCDRh9Cw0YLQsCI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJpbnRlcm5fZW50ZXJZb3VyTWVzc2FnZSJdPSJpMThuIG9mIFwiRW50ZXIgeW91ciBtZXNzYWdlXCIiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bImludGVybl9lbnRlcllvdXJNZXNzYWdlIl09ItCd0LDQtNC/0LjRgdGMIFwi0JLQstC10LTQuNGC0LUg0LLQsNGI0LUg0YHQvtC+0LHRidC10L3QuNC1XCIiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiaW50ZXJuX3lvdSJdPSJpMThuIG9mIFwiWW91XCIiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bImludGVybl95b3UiXT0i0J3QsNC00L/QuNGB0YwgXCLQktGLXCIiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiaW50ZXJuX21hbmFnZXIiXT0iaTE4biBvZiBcIk1hbmFnZXJcIiI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsiaW50ZXJuX21hbmFnZXIiXT0i0J3QsNC00L/QuNGB0YwgXCLQnNC10L3QtdC00LbQtdGAXCIiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiaW50ZXJuX25vTWFuYWdlcnNBdmFpbGFibGUiXT0iaTE4biBvZiBcIk5vIG1hbmFnZXJzIGF2YWlsYWJsZVwiIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJpbnRlcm5fbm9NYW5hZ2Vyc0F2YWlsYWJsZSJdPSLQndCw0LTQv9C40YHRjCBcItCd0LXRgiDQtNC+0YHRgtGD0L/QvdGL0YUg0LzQtdC90LXQtNC20LXRgNC+0LJcIiI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJpbnRlcm5fYXR0YWNoRmlsZVRpdGxlIl09ImkxOG4gb2YgXCJBdHRhY2ggZmlsZVwiIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJpbnRlcm5fYXR0YWNoRmlsZVRpdGxlIl09ItCd0LDQtNC/0LjRgdGMIFwi0J/RgNC40LrRgNC10L/QuNGC0Ywg0YTQsNC50LtcIiI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJpbnRlcm5fbWF4RmlsZVNpemVFcnJvciJdPSJpMThuIG9mIFwiRXJyb3IsIG1heCBmaWxlIHNpemUgaXM6XCIiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bImludGVybl9tYXhGaWxlU2l6ZUVycm9yIl09ItCd0LDQtNC/0LjRgdGMIFwi0J7RiNC40LHQutCwLCDQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINGE0LDQudC70LBcIiI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJfX18iXT0iIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJfX18iXT0iIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bIl9fXyJdPSIiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bIl9fXyJdPSIiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiZG9uYXRlVGV4dCJdPSJIaSEgVGVsZWdyYW0gU2l0ZSBIZWxwZXIgaXMgZnVsbHkgT3BlbiBTb3VyY2UgcHJvamVjdC4gSWYgeW91IHdhbnQgLSB5b3UgY2FuIGRvbmF0ZSBzb21lIG1vbmV5IGZvciBhdXRob3JzISA8YnI+T3VyIGVtYWlsOiA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwibWFpbHRvOmluZm9Adm9sdHNvZnQucnVcIj5pbmZvQHZvbHRzb2Z0LnJ1PC9hPiI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsiZG9uYXRlVGV4dCJdPSJUZWxlZ3JhbSBTaXRlIEhlbHBlciAmZGFzaDsg0L/QvtC70L3QvtGB0YLRjNGOINC+0YLQutGA0YvRgtGL0Lkg0L/RgNC+0LXQutGCLiDQldGB0LvQuCDQktGLINGF0L7RgtC40YLQtSAtINCS0Ysg0LzQvtC20LXRgtC1INC/0L7QtNC00LXRgNC20LDRgtGMINCw0LLRgtC+0YDQvtCyINC/0YDQvtC10LrRgtCwINC4INC/0LXRgNC10LLQtdGB0YLQuCDQu9GO0LHRg9GOINGB0YPQvNC80YMg0LTQtdC90LXQsy48YnI+0J3QsNGIINGN0LvQtdC60YLRgNC+0L3QvdGL0Lkg0LDQtNGA0LXRgTogPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cIm1haWx0bzppbmZvQHZvbHRzb2Z0LnJ1XCI+aW5mb0B2b2x0c29mdC5ydTwvYT4iOw0KDQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJkb25hdGUiXT0iRG9uYXRlISI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsiZG9uYXRlIl09ItCf0L7QtNC00LXRgNC20Lgg0L/RgNC+0LXQutGCISI7DQoNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bImludGVybl9sYWJlbF92YWx1ZSJdPSJPbi1saW5lIGNoYXQiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bImludGVybl9sYWJlbF92YWx1ZSJdPSLQntC90LvQsNC50L0g0YfQsNGCIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bImludGVybl95b3VyTmFtZV92YWx1ZSJdPSJFbnRlciB5b3VyIG5hbWUiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bImludGVybl95b3VyTmFtZV92YWx1ZSJdPSLQktCy0LXQtNC40YLQtSDQktCw0YjQtSDQuNC80Y8iOw0KCQ0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bImludGVybl95b3VyUGhvbmVfdmFsdWUiXT0iRW50ZXIgeW91ciBwaG9uZSI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsiaW50ZXJuX3lvdXJQaG9uZV92YWx1ZSJdPSLQktCy0LXQtNC40YLQtSDQktCw0Ygg0YLQtdC70LXRhNC+0L0iOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiaW50ZXJuX3N0YXJ0Q2hhdF92YWx1ZSJdPSJTdGFydCBjaGF0IjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJpbnRlcm5fc3RhcnRDaGF0X3ZhbHVlIl09ItCd0LDRh9Cw0YLRjCDRh9Cw0YIiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiaW50ZXJuX2VudGVyWW91ck1lc3NhZ2VfdmFsdWUiXT0iRW50ZXIgeW91IG1lc3NhZ2UgYW5kIHByZXNzIGVudGVyIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJpbnRlcm5fZW50ZXJZb3VyTWVzc2FnZV92YWx1ZSJdPSLQktCy0LXQtNC40YLQtSDQktCw0YjQtSDRgdC+0L7QsdGJ0LXQvdC40LUg0Lgg0L3QsNC20LzQuNGC0LUgRW50ZXIiOw0KDQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsiZW4iXVsiaW50ZXJuX3lvdV92YWx1ZSJdPSJZb3UiOw0KCWdsb2JhbHNbImxhbmd1YWdlIl1bInJ1Il1bImludGVybl95b3VfdmFsdWUiXT0i0JLRiyI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJpbnRlcm5fbWFuYWdlcl92YWx1ZSJdPSJNYW5hZ2VyIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJpbnRlcm5fbWFuYWdlcl92YWx1ZSJdPSLQnNC10L3QtdC00LbQtdGAIjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bImludGVybl9ub01hbmFnZXJzQXZhaWxhYmxlX3ZhbHVlIl09Ik5vIG1hbmFnZXJzIGF2YWlsYWJsZSI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsiaW50ZXJuX25vTWFuYWdlcnNBdmFpbGFibGVfdmFsdWUiXT0i0J3QtdGCINC80LXQvdC10LTQttC10YDQvtCyINC+0L3Qu9Cw0LnQvSI7DQoNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJlbiJdWyJpbnRlcm5fYXR0YWNoRmlsZVRpdGxlX3ZhbHVlIl09IkF0dGFjaCBmaWxlIjsNCglnbG9iYWxzWyJsYW5ndWFnZSJdWyJydSJdWyJpbnRlcm5fYXR0YWNoRmlsZVRpdGxlX3ZhbHVlIl09ItCf0YDQuNC60YDQtdC/0LjRgtGMINGE0LDQudC7IjsNCg0KCWdsb2JhbHNbImxhbmd1YWdlIl1bImVuIl1bImludGVybl9tYXhGaWxlU2l6ZUVycm9yX3ZhbHVlIl09IkVycm9yOiBtYXggZmlsZSBzaXplIGlzOiI7DQoJZ2xvYmFsc1sibGFuZ3VhZ2UiXVsicnUiXVsiaW50ZXJuX21heEZpbGVTaXplRXJyb3JfdmFsdWUiXT0i0J7RiNC40LHQutCwOiDQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINGE0LDQudC70LA6IjsNCg0KDQoJJChmdW5jdGlvbigpew0KDQoJCQ0KCQkkKCIjYXR0YWNoRmlsZSIpLmJpbmQoImNoYW5nZSIsZnVuY3Rpb24oKXsNCgkJCXZhciBhdHRhY2hGaWxlID0gJCgiI2F0dGFjaEZpbGUiKS5wcm9wKCJjaGVja2VkIik7DQoJCQlpZihhdHRhY2hGaWxlPT10cnVlKXsNCgkJCQkkKCIjbWF4RmlsZVNpemVfYmxvY2siKS5yZW1vdmVDbGFzcygiaGlkZGVuIik7DQoJCQl9ZWxzZXsNCgkJCQkkKCIjbWF4RmlsZVNpemVfYmxvY2siKS5hZGRDbGFzcygiaGlkZGVuIik7CQ0KCQkJfQ0KCQl9KTsNCg0KCQkkKCIjZml4ZWRDaGF0Ym94IikuYmluZCgiY2hhbmdlIixmdW5jdGlvbigpew0KCQkJdmFyIGZpeGVkQ2hhdGJveCA9ICQoIiNmaXhlZENoYXRib3giKS5wcm9wKCJjaGVja2VkIik7DQoJCQlpZihmaXhlZENoYXRib3g9PXRydWUpew0KCQkJCSQoIiNjaGF0Ym94Rml4ZWRQb3NpdGlvbl9ibG9jayIpLnJlbW92ZUNsYXNzKCJoaWRkZW4iKTsNCgkJCQkkKCIjc2hvd0xhYmVsX2Jsb2NrIikucmVtb3ZlQ2xhc3MoImhpZGRlbiIpOw0KCQkJCSQoIiNwb3B1cGJ5ZWxlbWVudF9ibG9jayIpLnJlbW92ZUNsYXNzKCJoaWRkZW4iKTsNCgkJCQkkKCIjcGFyZW50RWxlbWVudElkX2Jsb2NrIikuYWRkQ2xhc3MoImhpZGRlbiIpOw0KCQkJfWVsc2V7DQoJCQkJJCgiI2NoYXRib3hGaXhlZFBvc2l0aW9uX2Jsb2NrIikuYWRkQ2xhc3MoImhpZGRlbiIpOw0KCQkJCSQoIiNzaG93TGFiZWxfYmxvY2siKS5hZGRDbGFzcygiaGlkZGVuIik7DQoJCQkJJCgiI3BvcHVwYnllbGVtZW50X2Jsb2NrIikuYWRkQ2xhc3MoImhpZGRlbiIpOw0KCQkJCSQoIiNwYXJlbnRFbGVtZW50SWRfYmxvY2siKS5yZW1vdmVDbGFzcygiaGlkZGVuIik7DQoJCQl9DQoJCX0pOw0KDQoJCSQoIiNlbWJlZGRlZENoYXRib3giKS5iaW5kKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7DQoJCQl2YXIgZW1iZWRkZWRDaGF0Ym94ID0gJCgiI2VtYmVkZGVkQ2hhdGJveCIpLnByb3AoImNoZWNrZWQiKTsNCgkJCWlmKGVtYmVkZGVkQ2hhdGJveD09dHJ1ZSl7DQoJCQkJJCgiI2NoYXRib3hGaXhlZFBvc2l0aW9uX2Jsb2NrIikuYWRkQ2xhc3MoImhpZGRlbiIpOw0KCQkJCSQoIiNzaG93TGFiZWxfYmxvY2siKS5hZGRDbGFzcygiaGlkZGVuIik7DQoJCQkJJCgiI3BvcHVwYnllbGVtZW50X2Jsb2NrIikuYWRkQ2xhc3MoImhpZGRlbiIpOw0KCQkJCSQoIiNwYXJlbnRFbGVtZW50SWRfYmxvY2siKS5yZW1vdmVDbGFzcygiaGlkZGVuIik7DQoJCQl9ZWxzZXsNCgkJCQkkKCIjY2hhdGJveEZpeGVkUG9zaXRpb25fYmxvY2siKS5yZW1vdmVDbGFzcygiaGlkZGVuIik7DQoJCQkJJCgiI3Nob3dMYWJlbF9ibG9jayIpLnJlbW92ZUNsYXNzKCJoaWRkZW4iKTsNCgkJCQkkKCIjcG9wdXBieWVsZW1lbnRfYmxvY2siKS5yZW1vdmVDbGFzcygiaGlkZGVuIik7DQoJCQkJJCgiI3BhcmVudEVsZW1lbnRJZF9ibG9jayIpLmFkZENsYXNzKCJoaWRkZW4iKTsNCgkJCX0NCgkJfSk7DQoNCgkJDQoNCgkJJCgiI3RyYW5zbGF0aW9uVHlwZSIpLmJpbmQoImNoYW5nZSIsZnVuY3Rpb24oKXsgZ2VuZXJhdGVDb2RlKCk7IH0pOw0KCQkkKCIjZml4ZWRDaGF0Ym94IikuYmluZCgiY2hhbmdlIixmdW5jdGlvbigpeyBnZW5lcmF0ZUNvZGUoKTsgfSk7DQoJCSQoIiNlbWJlZGRlZENoYXRib3giKS5iaW5kKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7IGdlbmVyYXRlQ29kZSgpOyB9KTsNCgkJJCgiI2NoYXRib3hGaXhlZFBvc2l0aW9uIikuYmluZCgiY2hhbmdlIixmdW5jdGlvbigpeyBnZW5lcmF0ZUNvZGUoKTsgfSk7DQoJCSQoIiNzaG93TGFiZWwiKS5iaW5kKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7IGdlbmVyYXRlQ29kZSgpOyB9KTsNCgkJJCgiI3BvcHVwYnllbGVtZW50IikuYmluZCgiY2hhbmdlIixmdW5jdGlvbigpeyBnZW5lcmF0ZUNvZGUoKTsgfSk7DQoJCSQoIiNwYXJlbnRFbGVtZW50SWQiKS5iaW5kKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7IGdlbmVyYXRlQ29kZSgpOyB9KTsNCgkJJCgiI2F0dGFjaEZpbGUiKS5iaW5kKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7IGdlbmVyYXRlQ29kZSgpOyB9KTsNCgkJJCgiI21heEZpbGVTaXplIikuYmluZCgiY2hhbmdlIixmdW5jdGlvbigpeyBnZW5lcmF0ZUNvZGUoKTsgfSk7DQoJCSQoIiNyZXF1aXJlTmFtZSIpLmJpbmQoImNoYW5nZSIsZnVuY3Rpb24oKXsgZ2VuZXJhdGVDb2RlKCk7IH0pOw0KCQkkKCIjcmVxdWlyZVBob25lIikuYmluZCgiY2hhbmdlIixmdW5jdGlvbigpeyBnZW5lcmF0ZUNvZGUoKTsgfSk7DQoJCSQoIiNtYWluQ29sb3IiKS5iaW5kKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7IGdlbmVyYXRlQ29kZSgpOyB9KTsNCgkJJCgiI2FjY2VudENvbG9yIikuYmluZCgiY2hhbmdlIixmdW5jdGlvbigpeyBnZW5lcmF0ZUNvZGUoKTsgfSk7DQoJCSQoIiN0ZXh0Q29sb3IiKS5iaW5kKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7IGdlbmVyYXRlQ29kZSgpOyB9KTsNCgkJJCgiI2ZvbnRGYW1pbHkiKS5iaW5kKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7IGdlbmVyYXRlQ29kZSgpOyB9KTsNCgkJJCgiI2JveFdpZHRoIikuYmluZCgiY2hhbmdlIixmdW5jdGlvbigpeyBnZW5lcmF0ZUNvZGUoKTsgfSk7DQoJCSQoIiNib3hIZWlnaHQiKS5iaW5kKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7IGdlbmVyYXRlQ29kZSgpOyB9KTsNCgkJJCgiI2JveFppbmRleCIpLmJpbmQoImNoYW5nZSIsZnVuY3Rpb24oKXsgZ2VuZXJhdGVDb2RlKCk7IH0pOw0KDQoJCWdlbmVyYXRlQ29kZSgpOw0KDQoJfSk7DQoNCg0KCSQoZnVuY3Rpb24oKXsNCgkJJCgiI2xhbmdFbiIpLmJpbmQoImNsaWNrIiwgZnVuY3Rpb24oKXsNCgkJCSQoIiNsYW5nRW4iKS5hZGRDbGFzcygiYWN0aXZlIik7DQoJCQkkKCIjbGFuZ1J1IikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpOw0KCQkJaTE4bigiZW4iKTsNCgkJCWdlbmVyYXRlQ29kZSgpOw0KCQl9KTsNCgkJJCgiI2xhbmdSdSIpLmJpbmQoImNsaWNrIiwgZnVuY3Rpb24oKXsNCgkJCSQoIiNsYW5nUnUiKS5hZGRDbGFzcygiYWN0aXZlIik7DQoJCQkkKCIjbGFuZ0VuIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpOw0KCQkJaTE4bigicnUiKTsNCgkJCWdlbmVyYXRlQ29kZSgpOw0KCQl9KTsNCg0KCQlpMThuKCJlbiIpOw0KCQlnZW5lcmF0ZUNvZGUoKTsNCg0KCQkkKCIjc3RhcnRTZXR1cCIpLmJpbmQoImNsaWNrIixmdW5jdGlvbigpe2dvVG8oInN0ZXAyIik7fSk7DQoJCWdldFVybHMoKTsNCgkJJCgiI3RvLXN0ZXAxIikuYmluZCgiY2xpY2siLGZ1bmN0aW9uKCl7Z29Ubygic3RlcDEiKTt9KTsNCgkJJCgiI3RvLXN0ZXAyIikuYmluZCgiY2xpY2siLGZ1bmN0aW9uKCl7Z29Ubygic3RlcDIiKTt9KTsNCgkJJCgiI3RvLXN0ZXAzIikuYmluZCgiY2xpY2siLGZ1bmN0aW9uKCl7Z29Ubygic3RlcDMiKTt9KTsNCgkJJCgiI3RvLXN0ZXA0IikuYmluZCgiY2xpY2siLGZ1bmN0aW9uKCl7Z29Ubygic3RlcDQiKTt9KTsNCgkJJCgiI3RvLXN0ZXA1IikuYmluZCgiY2xpY2siLGZ1bmN0aW9uKCl7Z29Ubygic3RlcDUiKTt9KTsNCg0KCQlteXNxbFNob3dPckhpZGUoKTsNCgkJJCgiLmRidHlwZSIpLmJpbmQoImNoYW5nZSIsZnVuY3Rpb24oKXsNCgkJCW15c3FsU2hvd09ySGlkZSgpOw0KCQl9KTsNCg0KCQkkKCIjcGFzc3Nob3ciKS5iaW5kKCJjbGljayIsIGZ1bmN0aW9uKCl7DQoJCQkkKCIjcGFzc2hpZGUiKS5yZW1vdmVDbGFzcygiaGlkZGVuIik7DQoJCQkkKHRoaXMpLmFkZENsYXNzKCJoaWRkZW4iKTsNCgkJCSQoIiNtYW5hZ2VyUGFzc3dvcmQiKS5hdHRyKCJ0eXBlIiwidGV4dCIpOw0KCQl9KTsNCgkJJCgiI3Bhc3NoaWRlIikuYmluZCgiY2xpY2siLCBmdW5jdGlvbigpew0KCQkJJCgiI3Bhc3NzaG93IikucmVtb3ZlQ2xhc3MoImhpZGRlbiIpOw0KCQkJJCh0aGlzKS5hZGRDbGFzcygiaGlkZGVuIik7DQoJCQkkKCIjbWFuYWdlclBhc3N3b3JkIikuYXR0cigidHlwZSIsInBhc3N3b3JkIik7DQoJCX0pOw0KDQoJCSQoIiNjaGVja0FuZEluc3RhbGwiKS5iaW5kKCJjbGljayIsIGZ1bmN0aW9uKCl7DQoJCQl2YXIgcGFyYW1zPXt9Ow0KCQkJcGFyYW1zLm1hbmFnZXJQYXNzd29yZD0kKCIjbWFuYWdlclBhc3N3b3JkIikudmFsKCk7DQoJCQlwYXJhbXMuYm90VG9rZW49JCgiI2JvdFRva2VuIikudmFsKCk7DQoJCQlwYXJhbXMuc2VsZkNlcnRQYXJ0PSQoIiNzZWxmQ2VydFBhcnQiKS52YWwoKTsNCg0KCQkJaWYoJCgiI2RiX215c3FsIikucHJvcCgiY2hlY2tlZCIpPT10cnVlKXsNCgkJCQlwYXJhbXMuZGJUeXBlPSJteXNxbCI7DQoJCQkJcGFyYW1zLm15c3FsSG9zdD0kKCIjbXlzcWxIb3N0IikudmFsKCk7DQoJCQkJcGFyYW1zLm15c3FsVXNlcj0kKCIjbXlzcWxVc2VyIikudmFsKCk7DQoJCQkJcGFyYW1zLm15c3FsUGFzc3dvcmQ9JCgiI215c3FsUGFzc3dvcmQiKS52YWwoKTsNCgkJCQlwYXJhbXMubXlzcWxEYj0kKCIjbXlzcWxEYiIpLnZhbCgpOw0KCQkJfWVsc2V7DQoJCQkJcGFyYW1zLmRiVHlwZT0ic3FsaXRlIjsNCgkJCX0NCiAJCQkNCgkJCSQoIiNpbnN0YWxsU3RhdHVzIikucmVtb3ZlQ2xhc3MoImhpZGRlbiIpDQoJCQkkKCIjd2FpdCIpLnNob3coKTsNCgkJCSQuYWpheCh7DQoJCQkJCXVybCA6ICJ0ZWxlZ3JhbS1zaXRlLWhlbHBlci1pbnN0YWxsLnBocD9hY3Q9Y29uZmlndXJhdGlvbi1jaGVjay1hbmQtaW5zdGFsbCIsDQoJCQkJCXR5cGUgOiAiUE9TVCIsDQoJCQkJCWRhdGFUeXBlIDogIkpTT04iLA0KCQkJCQlkYXRhIDogcGFyYW1zLA0KCQkJCQlhc3luYyA6IHRydWUsDQoJCQkJCXRpbWVvdXQgOiAxMDAwMA0KCQkJCX0pLmRvbmUoZnVuY3Rpb24gKGFuc3dlcikgew0KCQkJCQkkKCIjd2FpdCIpLmhpZGUoKTsNCgkJCQkJJCgiI2luc3RhbGxTdGF0dXMgZGl2IikuZWFjaChmdW5jdGlvbihpLGl0ZW0pew0KCQkJCQkJJChpdGVtKS5hZGRDbGFzcygiaGlkZGVuIik7DQoJCQkJCX0pOw0KCQkJCQlpZihhbnN3ZXJbInN0YXR1c0NoZWNraW5nTWFuYWdlclBhc3N3b3JkIl0pew0KCQkJCQkJaWYoYW5zd2VyWyJzdGF0dXNDaGVja2luZ01hbmFnZXJQYXNzd29yZCJdPT0ib2siKXsNCgkJCQkJCQkkKCIjc3RhdHVzQ2hlY2tpbmdNYW5hZ2VyUGFzc3dvcmRfb2siKS5yZW1vdmVDbGFzcygiaGlkZGVuIik7DQoJCQkJCQl9ZWxzZXsNCgkJCQkJCQkkKCIjc3RhdHVzQ2hlY2tpbmdNYW5hZ2VyUGFzc3dvcmRfZXJyb3IiKS5yZW1vdmVDbGFzcygiaGlkZGVuIik7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQkJaWYoYW5zd2VyWyJzdGF0dXNDaGVja2luZ0hUVFBTIl0pew0KCQkJCQkJaWYoYW5zd2VyWyJzdGF0dXNDaGVja2luZ0hUVFBTIl09PSJvayIpew0KCQkJCQkJCSQoIiNzdGF0dXNDaGVja2luZ0hUVFBTX29rIikucmVtb3ZlQ2xhc3MoImhpZGRlbiIpOw0KCQkJCQkJfWVsc2V7DQoJCQkJCQkJJCgiI3N0YXR1c0NoZWNraW5nSFRUUFNfZXJyb3IiKS5yZW1vdmVDbGFzcygiaGlkZGVuIik7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQkJaWYoYW5zd2VyWyJzdGF0dXNDaGVja2luZ0JvdEFjY2VzcyJdKXsNCgkJCQkJCWlmKGFuc3dlclsic3RhdHVzQ2hlY2tpbmdCb3RBY2Nlc3MiXT09Im9rIil7DQoJCQkJCQkJJCgiI3N0YXR1c0NoZWNraW5nQm90QWNjZXNzX29rIikucmVtb3ZlQ2xhc3MoImhpZGRlbiIpOw0KCQkJCQkJfWVsc2V7DQoJCQkJCQkJJCgiI3N0YXR1c0NoZWNraW5nQm90QWNjZXNzX2Vycm9yIikucmVtb3ZlQ2xhc3MoImhpZGRlbiIpOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCWlmKGFuc3dlclsic3RhdHVzQ2hlY2tpbmdTUUxBY2Nlc3MiXSl7DQoJCQkJCQlpZihhbnN3ZXJbInN0YXR1c0NoZWNraW5nU1FMQWNjZXNzIl09PSJvayIpew0KCQkJCQkJCSQoIiNzdGF0dXNDaGVja2luZ1NRTEFjY2Vzc19vayIpLnJlbW92ZUNsYXNzKCJoaWRkZW4iKTsNCgkJCQkJCX1lbHNlew0KCQkJCQkJCSQoIiNzdGF0dXNDaGVja2luZ1NRTEFjY2Vzc19lcnJvciIpLnJlbW92ZUNsYXNzKCJoaWRkZW4iKTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCQlpZihhbnN3ZXJbInN0YXR1c0NyZWF0aW5nREIiXSl7DQoJCQkJCQlpZihhbnN3ZXJbInN0YXR1c0NyZWF0aW5nREIiXT09Im9rIil7DQoJCQkJCQkJJCgiI3N0YXR1c0NyZWF0aW5nREJfb2siKS5yZW1vdmVDbGFzcygiaGlkZGVuIik7DQoJCQkJCQl9ZWxzZXsNCgkJCQkJCQkkKCIjc3RhdHVzQ3JlYXRpbmdEQl9lcnJvciIpLnJlbW92ZUNsYXNzKCJoaWRkZW4iKTsNCgkJCQkJCX0NCgkJCQkJfQkJCQkJDQoJCQkJCWlmKGFuc3dlclsic3RhdHVzQ3JlYXRpbmdDb25maWciXSl7DQoJCQkJCQlpZihhbnN3ZXJbInN0YXR1c0NyZWF0aW5nQ29uZmlnIl09PSJvayIpew0KCQkJCQkJCSQoIiNzdGF0dXNDcmVhdGluZ0NvbmZpZ19vayIpLnJlbW92ZUNsYXNzKCJoaWRkZW4iKTsNCgkJCQkJCX1lbHNlew0KCQkJCQkJCSQoIiNzdGF0dXNDcmVhdGluZ0NvbmZpZ19lcnJvciIpLnJlbW92ZUNsYXNzKCJoaWRkZW4iKTsNCgkJCQkJCX0NCgkJCQkJfQkJCQkJCQ0KCQkJCQlpZihhbnN3ZXJbInN0YXR1c1NldFdlYkhvb2siXSl7DQoJCQkJCQlpZihhbnN3ZXJbInN0YXR1c1NldFdlYkhvb2siXT09Im9rIil7DQoJCQkJCQkJJCgiI3N0YXR1c1NldFdlYkhvb2tfb2siKS5yZW1vdmVDbGFzcygiaGlkZGVuIik7DQoJCQkJCQkJJCgiI3N0YXR1c1NldFdlYkhvb2tfZXJyb3JJbmZvIikuaHRtbCgiVGVsZWdyYW0gYW5zd2VyIGZvciBzZXR0aW5nIHdlYmhvb2s6ICIrSlNPTi5zdHJpbmdpZnkoYW5zd2VyWyJzdGF0dXNTZXRXZWJIb29rSW5mbyJdKSkucmVtb3ZlQ2xhc3MoImhpZGRlbiIpOw0KCQkJCQkJfWVsc2V7DQoJCQkJCQkJJCgiI3N0YXR1c1NldFdlYkhvb2tfZXJyb3IiKS5yZW1vdmVDbGFzcygiaGlkZGVuIik7DQoJCQkJCQkJJCgiI3N0YXR1c1NldFdlYkhvb2tfZXJyb3JJbmZvIikuaHRtbCgiVGVsZWdyYW0gYW5zd2VyIGZvciBzZXR0aW5nIHdlYmhvb2s6ICIrSlNPTi5zdHJpbmdpZnkoYW5zd2VyWyJzdGF0dXNTZXRXZWJIb29rSW5mbyJdKSkucmVtb3ZlQ2xhc3MoImhpZGRlbiIpOw0KCQkJCQkJfQ0KCQkJCQl9CQkJCQ0KCQkJCQlpZihhbnN3ZXJbInN0YXR1c0NvbXBsZXRlIl0pew0KCQkJCQkJaWYoYW5zd2VyWyJzdGF0dXNDb21wbGV0ZSJdPT0ib2siKXsNCgkJCQkJCQkkKCIjc3RhdHVzQ29tcGxldGVfb2siKS5yZW1vdmVDbGFzcygiaGlkZGVuIik7DQoJCQkJCQl9ZWxzZXsNCgkJCQkJCQkkKCIjc3RhdHVzQ29tcGxldGVfZXJyb3IiKS5yZW1vdmVDbGFzcygiaGlkZGVuIik7DQoJCQkJCQl9DQoJCQkJCX0NCiANCgkJCQl9KS5mYWlsKGZ1bmN0aW9uIChqcVhIUiwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pIHsNCgkJCQkJJCgiI3dhaXQiKS5oaWRlKCk7DQoJCQkJCWNvbnNvbGUubG9nKGpxWEhSKQ0KCQkJCQkkKCIjd2FybmluZyIpLnJlbW92ZUNsYXNzKCJoaWRkZW4iKS5odG1sKCI8Yj5FUlJPUjo8Yj48YnI+IitqcVhIUi5yZXNwb25zZVRleHQpDQoJCQkJfSk7DQoJCQl9KTsNCgkJfSk7DQoJDQoJZ2xvYmFsPXt9DQoJZ2xvYmFsLmFwaVVybD0idGVsZWdyYW0tc2l0ZS1oZWxwZXItYXBpLnBocCI7DQoJZnVuY3Rpb24gZ2V0VXJscygpew0KCQkkLmFqYXgoew0KCQkJdXJsIDogInRlbGVncmFtLXNpdGUtaGVscGVyLWluc3RhbGwucGhwP2FjdD11cmxzIiwNCgkJCXR5cGUgOiAiUE9TVCIsDQoJCQlkYXRhVHlwZSA6ICJKU09OIiwNCgkJCWFzeW5jIDogdHJ1ZSwNCgkJCXRpbWVvdXQgOiAyMDAwMA0KCQl9KS5kb25lKGZ1bmN0aW9uIChhbnN3ZXIpIHsNCgkJCSQoIiNzY3JpcHRzSGVhZCIpLmh0bWwoIiIpOw0KCQkJJCgiI3NjcmlwdHNIZWFkIikuYXBwZW5kKCImbHQ7bGluayBocmVmPVwiIithbnN3ZXIuY3NzVXJsKyJcIiByZWw9XCJzdHlsZXNoZWV0XCImZ3Q7Iik7DQoJCQkkKCIjc2NyaXB0c0hlYWQiKS5hcHBlbmQoIjxicj4iKTsNCgkJCSQoIiNzY3JpcHRzSGVhZCIpLmFwcGVuZCgiJmx0O3NjcmlwdCB0eXBlPVwidGV4dC9qYXZhc2NyaXB0XCIgc3JjPVwiIithbnN3ZXIuanNVcmwrIlwiJmd0OyZsdDsvc2NyaXB0Jmd0OyIpOw0KCQkJJCgiI3RoaXNEaXJVUkwiKS5odG1sKGFuc3dlci50aGlzRGlyKTsNCiAJCQlnbG9iYWwuYXBpVXJsPWFuc3dlci5hcGlVcmw7DQogCQkJdGVsZWdyYW1TaXRlSGVscGVyLmFwaVVybD1hbnN3ZXIuYXBpVXJsOw0KIAkJCWdlbmVyYXRlQ29kZSgpOw0KCQl9KS5mYWlsKGZ1bmN0aW9uIChqcVhIUiwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pIHsNCgkJCWNvbnNvbGUubG9nKGpxWEhSKQ0KCQl9KTsNCgl9DQoNCg0KDQoJdGVsZWdyYW1TaXRlSGVscGVyID0ge30NCgl0ZWxlZ3JhbVNpdGVIZWxwZXIuYXBpVXJsPWdsb2JhbC5hcGlVcmwgLy8rDQogCXRlbGVncmFtU2l0ZUhlbHBlci50cmFuc2xhdGlvblR5cGU9ImxwIjsgLy8rDQoJdGVsZWdyYW1TaXRlSGVscGVyLnR5cGU9InBvcHVwIjsgLy8rDQoJdGVsZWdyYW1TaXRlSGVscGVyLnNob3dMYWJlbD10cnVlOyAvLysNCgl0ZWxlZ3JhbVNpdGVIZWxwZXIucGFyZW50RWxlbWVudElkPW51bGw7IC8vKw0KCXRlbGVncmFtU2l0ZUhlbHBlci5wb3B1cGJ5ZWxlbWVudD1udWxsOyAvLysNCgl0ZWxlZ3JhbVNpdGVIZWxwZXIuY2hhdFBvc2l0aW9uPSJsYiI7IC8vKw0KCXRlbGVncmFtU2l0ZUhlbHBlci5hdHRhY2hGaWxlPXRydWU7IC8vKw0KCXRlbGVncmFtU2l0ZUhlbHBlci5tYXhGaWxlU2l6ZT0yMDQ4OyAvLysNCgl0ZWxlZ3JhbVNpdGVIZWxwZXIucmVxdWlyZU5hbWU9dHJ1ZTsNCgl0ZWxlZ3JhbVNpdGVIZWxwZXIub3ZlcnJpZGVDaGF0Q3VzdG9tZXJOYW1lPW51bGw7DQoJdGVsZWdyYW1TaXRlSGVscGVyLnJlcXVpcmVQaG9uZT1mYWxzZTsNCgl0ZWxlZ3JhbVNpdGVIZWxwZXIubWFpbkNvbG9yPSIjZWVlIjsgLy8rDQoJdGVsZWdyYW1TaXRlSGVscGVyLmFjY2VudENvbG9yPSIjMDMwMDY5IjsgLy8rDQoJdGVsZWdyYW1TaXRlSGVscGVyLnRleHRDb2xvcj0iIzAwMCI7IC8vKw0KCXRlbGVncmFtU2l0ZUhlbHBlci5mb250RmFtaWx5PSInT3BlbiBTYW5zJywgc2Fucy1zZXJpZiI7IC8vKw0KCXRlbGVncmFtU2l0ZUhlbHBlci5ib3hXaWR0aD0iNDYwcHgiOyAvLysNCgl0ZWxlZ3JhbVNpdGVIZWxwZXIuYm94SGVpZ2h0PSI1NTBweCI7IC8vKw0KCXRlbGVncmFtU2l0ZUhlbHBlci5ib3haaW5kZXg9Ijk5OTk5IjsgLy8rDQoJdGVsZWdyYW1TaXRlSGVscGVyLmxhYmVsPSJPbmxpbmUgY2hhdCI7DQoJdGVsZWdyYW1TaXRlSGVscGVyLnlvdXJOYW1lPSJZb3VyIG5hbWUiOw0KCXRlbGVncmFtU2l0ZUhlbHBlci55b3VyUGhvbmU9IllvdXIgcGhvbmUiOw0KCXRlbGVncmFtU2l0ZUhlbHBlci5zdGFydENoYXQ9IlN0YXJ0IGNoYXQiOw0KCXRlbGVncmFtU2l0ZUhlbHBlci5lbnRlcllvdXJNZXNzYWdlPSJFbnRlciB5b3VyIG1lc3NhZ2UgYW5kIHByZXNzIEVudGVyIjsNCgl0ZWxlZ3JhbVNpdGVIZWxwZXIueW91PSJZb3UiOw0KCXRlbGVncmFtU2l0ZUhlbHBlci5tYW5hZ2VyPSJNYW5hZ2VyIjsNCgl0ZWxlZ3JhbVNpdGVIZWxwZXIubm9NYW5hZ2Vyc0F2YWlsYWJsZT0iTm8gbWFuYWdlcnMgb25saW5lIjsNCgl0ZWxlZ3JhbVNpdGVIZWxwZXIuYXR0YWNoRmlsZVRpdGxlPSJBdHRhY2hGaWxlcyINCgl0ZWxlZ3JhbVNpdGVIZWxwZXIubWF4RmlsZVNpemVFcnJvcj0iRXJyb3I6IE1heCBmaWxlIHNpemUgIjsNCgl0ZWxlZ3JhbVNpdGVIZWxwZXIuYmFzZTY0c3RyaW5nPSJkYXRhOmF1ZGlvL21wMztiYXNlNjQsLy91UXdBQUFEOVQvR1N3d2E2bW9GR2EwOWlVc3FscXFhWldRTUNwUm80TUVXOFl5WEhjSjFQbGVSZ1lMU1dUMHdIMmxpeXErODB2ZkZrUyt5ZFVJOEZHS3Z6ZkJjcGdDZ2J3RGVJaWdZNkN6UkNjK3FCd1FUblRBelFJSURpelFXYUlUdThBNGlFN21qdkJGZHpSOUUzZDRMU0dCK0E4QXpQQThEQStBOEF6ZUJ3SFI4RHhHYnhPRGcvQjRqTThUZzRmZzBTMVhFMjAyMmpKcGh5aGxxb3dUMVRpMHJYbkl3NEFFQXhFOGNKTHNHQ2c4bFlzanJicnVXVWdXSkVkMFhlcHVzRnhPeFA2b3g1MG5zdlBkVVZtMHd1elcrTTBsWkV5NHVmOVJ1NUpmRC9EWk1pZUY1NUsxa1VuclQyZFRaMHZjUlUrVGVwYUdHM2tsTUloV3FWU20yMjVzQkN3RWNzY2tSclQ3NVByYkF5RzRoRlg5NzJwbTlOWHAvai80eHJkS24rZGFIcStlaUhsdkxHZTRSOERPTEc1SVlUc3VhanUvWTU2WmVRVSthYUh2NCthVWVSSWJHbjBQc3JITnNVRVZEMmUxUDllOTRFVFhwU2xQZSt2VE1jK0NFdThFSEI3L3FEQ3dJSDRQL29UREJSM3B1MUVra2dJR0VNQkFFa2trbGxSTG1EQ0FaYVBoaDBDREIyTURCc0VqYzBFUERISUxNZnQwSEVFNi8vdVF3RkdBRDFUZlMxVDNnQkpUSENxM09QQUN1aGdTTUdlSjBRTTNaaXI2bFVISkJMOFcxQnRxVVJhaXR0UnhZeXJQZFZycGh0ZFcycTlxem01STJPR1k4bnRseXhqeGgrcU00MTJvNE1KblZ0bTNYenI1VmpQalhoeHpoZ3hkZXNHTGpmK053WCs0KzllbmhaZzVPeFVVRFNTSnpoazVyVTV2WWorZS9MSHRJRWlVbGJ0YmJiSmROQTBBRmdadndzQm1MRjVzWGFhWTJJRGxTa1JvQWhGVFZsdGFHb2FwSUZJeUhIWGhrVkNxaVBkN3I1THdZUzVUeU9neFhqTThmcUZOQXVRSmhMeHNPNDl0eVNJbFUrRGE4YUNqUmdoZ3ZwSEdPZlR2d1RlSGFjTkh6TXpNMEszcnY0WWxjbm8xOVJZdGF4Wm9YeGJWcFBhK3Y5WnovWDUvLy8vLy8vLy96aStQclZvWHRtSVFEcE1JcnVpSmRpaStpdW5MSkVBT1cyeTJXU1dsVlZVb1p6QXFHeGdSYWRWcm1mZzdkVVNtdXJCTlptVUppTDhkaUxHa2NLSjZ4N21nUG1CdFlrSVlGMGxIVVI1amREZGpzOUZFNG1pRWEzWnRhblNtSnk5MTl2aE1GVlQ2cVJPbk1CY2toYW9WUzhXcWFyZFJQcUVzL201bGpPS3IwSlZMVFMwLzA1aXRXZVJROXN6UDdsTDJVT016bHA3TDB2U0wvL3VRd0krQUUyVTdVNzIzZ0RKMXFLazF0N0cyNTJleVptN2xYNEw1ZnJzT3YwUUJLUlJ0aTBCelpYdWJKcUNTRW1iLzdiN2JieEpoUmZGZEtwa1FVeWdFR08yd0hnNnJZczJycll1eWFrbWJ6ZU9kUmw2VnBLQ1pvOWhTMmJLM0NrZlBVNGdvelBCcmxVT2M4RFVobkthYlZ0aEtlRkY4UlBZVExIUnhlcnBxT0o2Sko2V25qcGNkS29vZWhZYXg2M2QyVGwraGFKUWpGVXNuUmZTOHlkNVpia2VkZnVybCtxL2wwTjM4eVlwcG52ZnM2L1MzUTFxeGtGdXpXMDF0cEhKbTZlQzdsR094OFczLytscXpiWktOUWtPN2ZiYmE3ZXFJd2xaa0RyeVlISENFRE1xbXpqMU12WFRNUmZxeW9rNmF3UXhlTU01amVLbHlRNDhxSWF3ck5FZTR0bEl6bWxXZkRlbTFpZlRZL2RLUkt4N0prN0t3cm1rUHVzVi9IOXhlSWczZVBTellEb2xyMjBrWmZxbk1reXJNbk95YmRrQyswS2hZN2lUTFVoaHlscjlsNXRWajlhYXMwc2M1eTk1anBQNWpOV2VvNnRtMHNmZXQ5bTFrWFgyRGUxbVpocXpWKzN6TTB5ZTJGdG44cDl0MTdyd1pzOWwvWjFodG9GVzNYYlhXM1pwcW9sRHc5ZnJQMlVLSG9LeDA1Y1kxQUpwcy94RDBpbHFxLy91UXdMa0FGRTFKVTYwOWpicTJ0R20xdDdHMlV3Rk1mVHhNdVp1UnJ6NlZ6eEpRbUpyTGVrbFFyRVBIOXBVdjZvVVh4dE81cDUvdWFPR01TWXRaMHZ3bHY2K2dIc01MQ0JDU3dMbDMwSXp3eFlIOTk1MjcrcDkyeG94UkJMUXNqZmlTTE95Qlk2ZUxINi9WeXRiVE0yaXJsYmQzMzZiVDMzbW5PMTdQdk1NZWRiclA3Tkw3ODdmTWgvNXB1ZFdtZEhtdWU5eHBsWExNb0cyeVU3ZGJkYmJkV1Q4RGxYUWdwc2lsVGh5eENhWVI1dFFtd2txekJXUEtnOERRYVAyQ0JzU2xweHA0eVBFNWFpVVNFU0VQQ01nTm1yUTJCUXMxcEEyckg5SkdQeXR1bFV4OTdBWWpxaTVlSVRIUW1ValVkWDJyR2g0dFhXYjQrdHlhZkpVeERISDRuNFMrd01iWTJSNUdlZC9URmN4dlN0cTBpL2F6Q2cyckNpYTI4dlc5TjdwVnk5S3Y0RU84bGJYM0Z0aldLV3hUMDN2L2Q4WnByUHpTdXErMzFCMWZjWDNoKzE4YWk1VUFCU1pUY2tramJidnJhVGpZZThiVG1FeVpmNndzMmw2Z0JOQjRjSnEySWtuckVkVGNwMGNxRElSaitJODJwRmFjUjdOeWpYUjFtdThQYUVtbWFGRjIwTWpsYU01SmdDSWZDZXlreXdhQThGMk1ESUpoQ2h3OC8vdVF3TmNBRk9GelNhMDlqYnE4czZrMWxMMjJzZU1Ed01CUVJIV3hLRVhQelZKQ0xpS0lKaG9yWTB0VU1hNWlyam1ZZElhQnZjcFhFMWQ1Zk51OGNrN0dMellyZVRYUStLN2VHUFdVSUt1WkhwUmNPajJSRm9XZ3lMS1NiTUZFUW9PRUkvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLzlBSnB0dVNTeVNYTnVwdVFCQXpHRE5ZaTgwdjF6NGRrcmNFQXlYekRBUTVXTVhQMkFpb3JmUjN1Rmx5WnRWVzR5d1ZXRmF4TmlvVk0xN1FGQkh3MlFWaXAyVzBpUGZVSFpaQktHNTQwa2pYbjZBbmFWbC9xSTM0NVgvMWY3ZXBqL1VjY1o3V0l2bHlDc08vWGR6cWRmK3ZlMTh6YjByOXB0VGZ2bEwwdnVhL0dzNWhuWUtWYm1sdVp2WDByK2FoY3c4NEFlemNwMHM1eFZsNmdscEp1T055dU9TaWZBSFE2cFdVd2hOamliWTBGbGVxVlF3a1ZGUjBETHRJU1ZJbVNGVTBLU0pOa3NLY3NoTWxpYWVLdVJOWGt0allOUTl5UWFrQTJFTUZSNE5VRnJXcktGbldCYTlxWWFLMFZZcWlvMHJCMG15cFJ4SnJOTnJSUnkwMXRZclJUaXFGUWRJckRTS3dzTVNhMWsvL3VRd1BHQUdwbWpPYXc5RGJKc3FxVTFoN0cxbXJSVnJUV3RyRFNLb2M3T3NOS3d6Tk5GTk5OUlZyVFNxTEJ6ckRTc213VlJCS1gvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL3RrbEpLVTFTMkFvTlFhQm1Ib2hEeVFDdXY1RTh0T2lvMEh5cHd1b2pZbkJOVkpkZzBLUXNNaDRhVFNUU1RTVE9EUjBvallhWmxkL0tJa2hJRUJpUUlXWVRRdUN6U2o0V2ljYVV6MU5HbkFZRUtBekQ0dUhabmkwVWpUaXkyZG5PTEtMTEtQaTgzOTJ2S2s0c29vdG5aMkxLT0xNdEJjMC8rVkp4cFJaWlJabHc3RmxsWEd6VHN6dE5HbkZsRkZsWEZ3N004WGxTVTlULy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy91UXdQK0FIb0dUSzZlbERhcGZzOWt3eEptMS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vdVF3UCtBTVlBQkxnQUFBQ0FBQUNYQUFBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEiOw0KDQoNCglmdW5jdGlvbiBnZW5lcmF0ZUNvZGUoKXsNCgkJDQoJCXRlbGVncmFtU2l0ZUhlbHBlci50cmFuc2xhdGlvblR5cGUgPSAkKCIjdHJhbnNsYXRpb25UeXBlIikudmFsKCk7DQoJCXRlbGVncmFtU2l0ZUhlbHBlci5wb3B1cGJ5ZWxlbWVudCA9ICQoIiNwb3B1cGJ5ZWxlbWVudCIpLnZhbCgpOw0KCQl0ZWxlZ3JhbVNpdGVIZWxwZXIucGFyZW50RWxlbWVudElkID0gJCgiI3BhcmVudEVsZW1lbnRJZCIpLnZhbCgpOw0KCQl0ZWxlZ3JhbVNpdGVIZWxwZXIuY2hhdFBvc2l0aW9uID0gJCgiI2NoYXRib3hGaXhlZFBvc2l0aW9uIikudmFsKCk7DQoNCgkJaWYoJCgiI2ZpeGVkQ2hhdGJveCIpLnByb3AoImNoZWNrZWQiKT09dHJ1ZSl7DQoJCQl0ZWxlZ3JhbVNpdGVIZWxwZXIudHlwZSA9ICJwb3B1cCI7DQoJCX1lbHNlew0KCQkJdGVsZWdyYW1TaXRlSGVscGVyLnR5cGUgPSAiZW1iZWQiOw0KCQl9DQogDQoJCXRlbGVncmFtU2l0ZUhlbHBlci5hdHRhY2hGaWxlID0gJCgiI2F0dGFjaEZpbGUiKS5wcm9wKCJjaGVja2VkIik7DQoJCXRlbGVncmFtU2l0ZUhlbHBlci5tYXhGaWxlU2l6ZSA9ICQoIiNtYXhGaWxlU2l6ZSIpLnZhbCgpOw0KCQl0ZWxlZ3JhbVNpdGVIZWxwZXIuc2hvd0xhYmVsID0gJCgiI3Nob3dMYWJlbCIpLnByb3AoImNoZWNrZWQiKTsNCgkJdGVsZWdyYW1TaXRlSGVscGVyLnJlcXVpcmVOYW1lID0gJCgiI3JlcXVpcmVOYW1lIikucHJvcCgiY2hlY2tlZCIpOw0KCQl0ZWxlZ3JhbVNpdGVIZWxwZXIucmVxdWlyZVBob25lID0gJCgiI3JlcXVpcmVQaG9uZSIpLnByb3AoImNoZWNrZWQiKTsNCg0KCQl0ZWxlZ3JhbVNpdGVIZWxwZXIubWFpbkNvbG9yID0gJCgiI21haW5Db2xvciIpLnZhbCgpOw0KCQl0ZWxlZ3JhbVNpdGVIZWxwZXIuYWNjZW50Q29sb3IgPSAkKCIjYWNjZW50Q29sb3IiKS52YWwoKTsNCgkJdGVsZWdyYW1TaXRlSGVscGVyLnRleHRDb2xvciA9ICQoIiN0ZXh0Q29sb3IiKS52YWwoKTsNCgkJdGVsZWdyYW1TaXRlSGVscGVyLmZvbnRGYW1pbHkgPSAkKCIjZm9udEZhbWlseSIpLnZhbCgpOw0KCQl0ZWxlZ3JhbVNpdGVIZWxwZXIuYm94V2lkdGggPSAkKCIjYm94V2lkdGgiKS52YWwoKTsNCgkJdGVsZWdyYW1TaXRlSGVscGVyLmJveEhlaWdodCA9ICQoIiNib3hIZWlnaHQiKS52YWwoKTsNCgkJdGVsZWdyYW1TaXRlSGVscGVyLmJveFppbmRleCA9ICQoIiNib3haaW5kZXgiKS52YWwoKTsNCg0KCQl0ZWxlZ3JhbVNpdGVIZWxwZXIubGFiZWwgPSAkKCIjaW50ZXJuX2xhYmVsIikudmFsKCk7DQoJCXRlbGVncmFtU2l0ZUhlbHBlci55b3VyTmFtZSA9ICQoIiNpbnRlcm5feW91ck5hbWUiKS52YWwoKTsNCgkJdGVsZWdyYW1TaXRlSGVscGVyLnlvdXJQaG9uZSA9ICQoIiNpbnRlcm5feW91clBob25lIikudmFsKCk7DQoJCXRlbGVncmFtU2l0ZUhlbHBlci5zdGFydENoYXQgPSAkKCIjaW50ZXJuX3N0YXJ0Q2hhdCIpLnZhbCgpOw0KCQl0ZWxlZ3JhbVNpdGVIZWxwZXIuZW50ZXJZb3VyTWVzc2FnZSA9ICQoIiNpbnRlcm5fZW50ZXJZb3VyTWVzc2FnZSIpLnZhbCgpOw0KCQl0ZWxlZ3JhbVNpdGVIZWxwZXIueW91ID0gJCgiI2ludGVybl95b3UiKS52YWwoKTsNCgkJdGVsZWdyYW1TaXRlSGVscGVyLm1hbmFnZXIgPSAkKCIjaW50ZXJuX21hbmFnZXIiKS52YWwoKTsNCgkJdGVsZWdyYW1TaXRlSGVscGVyLm5vTWFuYWdlcnNBdmFpbGFibGUgPSAkKCIjaW50ZXJuX25vTWFuYWdlcnNBdmFpbGFibGUiKS52YWwoKTsNCgkJdGVsZWdyYW1TaXRlSGVscGVyLmF0dGFjaEZpbGVUaXRsZSA9ICQoIiNpbnRlcm5fYXR0YWNoRmlsZVRpdGxlIikudmFsKCk7DQoJCXRlbGVncmFtU2l0ZUhlbHBlci5tYXhGaWxlU2l6ZUVycm9yID0gJCgiI2ludGVybl9tYXhGaWxlU2l6ZUVycm9yIikudmFsKCk7DQoNCgkJdmFyIHNjciA9ICImbHQ7c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIiZndDsiOw0KCQl2YXIgY29kZSA9IEpTT04uc3RyaW5naWZ5KHRlbGVncmFtU2l0ZUhlbHBlcikucmVwbGFjZSgvLCIvZywgJywgIicpOw0KCQlzY3IrPSI8YnI+dGVsZWdyYW1TaXRlSGVscGVyPSIrY29kZTsNCgkJc2NyKz0iPGJyPmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJET01Db250ZW50TG9hZGVkXCIsIGZ1bmN0aW9uKCl7c3RhcnRUZWxlZ3JhbVNpdGVIZWxwZXIodGVsZWdyYW1TaXRlSGVscGVyKTt9KTsiOw0KCQlzY3IrPSI8YnI+Jmx0Oy9zY3JpcHQmZ3Q7IjsNCgkJJCgiI3NjcmlwdHNCb2R5IikuaHRtbChzY3IpOw0KDQoJfQ0KDQoNCglmdW5jdGlvbiBteXNxbFNob3dPckhpZGUoKXsNCgkJaWYoJCgiI2RiX215c3FsIikucHJvcCgiY2hlY2tlZCIpPT10cnVlKXsNCgkJCSQoIiNteXNxbFNldHRpbmdzIikucmVtb3ZlQ2xhc3MoImhpZGRlbiIpOw0KCQl9ZWxzZXsNCgkJCSQoIiNteXNxbFNldHRpbmdzIikuYWRkQ2xhc3MoImhpZGRlbiIpOw0KCQl9DQoJfQ0KIA0KDQoNCglmdW5jdGlvbiBnb1RvKHN0ZXApew0KCQkkKCIjbWVudSBidXR0b24iKS5yZW1vdmVDbGFzcygiYWN0aXZlIik7DQoJCSQoIiN0by0iK3N0ZXApLmFkZENsYXNzKCJhY3RpdmUiKTsNCgkJJCgic2VjdGlvbiIpLmFkZENsYXNzKCJoaWRkZW4iKTsNCgkJJCgiIyIrc3RlcCkucmVtb3ZlQ2xhc3MoImhpZGRlbiIpOw0KCX0NCg0KCWZ1bmN0aW9uIGkxOG4obGFuZyl7DQoJCSQoIi5pMThuIikuZWFjaChmdW5jdGlvbihpLGl0ZW0pew0KCQkJdmFyIGkxOG5OYW1lPSQoaXRlbSkuYXR0cigiZGF0YS1pMThuIik7DQoJCQl0cnl7DQoJCQkJJChpdGVtKS5odG1sKGdsb2JhbHNbImxhbmd1YWdlIl1bbGFuZ11baTE4bk5hbWVdKTsNCgkJCX1jYXRjaChlKXsNCgkJCQljb25zb2xlLmxvZyhlKQ0KCQkJfQ0KCQl9KTsNCgkJaTE4bklucHV0cyhsYW5nKTsNCgl9DQoNCglmdW5jdGlvbiBpMThuSW5wdXRzKGxhbmcpew0KCQkkKCIuaTE4bmlucHV0IikuZWFjaChmdW5jdGlvbihpLGl0ZW0pew0KCQkJdmFyIGkxOG5OYW1lPSQoaXRlbSkuYXR0cigiZGF0YS1pMThuaW5wdXQiKTsNCgkJCXRyeXsNCgkJCQkkKGl0ZW0pLnZhbChnbG9iYWxzWyJsYW5ndWFnZSJdW2xhbmddW2kxOG5OYW1lXSk7DQoJCQl9Y2F0Y2goZSl7DQoJCQkJY29uc29sZS5sb2coZSkNCgkJCX0NCgkJfSkNCg0KCX0NCiANCg0KPC9zY3JpcHQ+DQo8IS0tIERPTlQgV09SUlk6IHRoaXMgc2NyaXB0IGlzIFlhbmRleCBNRVRSSUtBIChqdXN0IGxpa2UgR29vZ2xlIEFuYWx5dGljcykuIEkgd2FudCB0byBoYXZlIHNvbWUgc3RhdGlzdGljcyAhLS0+DQo8IS0tINCd0JUg0JjQqdCY0KLQlSDQl9CQ0JPQntCS0J7QoDog0K3RgtC+0YIg0YHQutGA0LjQv9GCIC0g0LLRgdC10LPQviDQu9C40YjRjCDRj9C90LTQtdC60YEg0LzQtdGC0YDQuNC60LAuINCl0L7Rh9GDINC40LzQtdGC0Ywg0YHRgtCw0YLQuNGB0YLQuNC60YMg0L/QviDRg9GB0YLQsNC90L7QstC60LDQvCDQv9GA0L7Qs9GA0LDQvNC80YshICAhLS0+DQo8IS0tIFlhbmRleC5NZXRyaWthIGNvdW50ZXIgLS0+IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4gKGZ1bmN0aW9uIChkLCB3LCBjKSB7ICh3W2NdID0gd1tjXSB8fCBbXSkucHVzaChmdW5jdGlvbigpIHsgdHJ5IHsgdy55YUNvdW50ZXIzNzQyMDkzMCA9IG5ldyBZYS5NZXRyaWthKHsgaWQ6Mzc0MjA5MzAsIGNsaWNrbWFwOnRydWUsIHRyYWNrTGlua3M6dHJ1ZSwgYWNjdXJhdGVUcmFja0JvdW5jZTp0cnVlLCB1dDoibm9pbmRleCIgfSk7IH0gY2F0Y2goZSkgeyB9IH0pOyB2YXIgbiA9IGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdLCBzID0gZC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSwgZiA9IGZ1bmN0aW9uICgpIHsgbi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCBuKTsgfTsgcy50eXBlID0gInRleHQvamF2YXNjcmlwdCI7IHMuYXN5bmMgPSB0cnVlOyBzLnNyYyA9ICJodHRwczovL21jLnlhbmRleC5ydS9tZXRyaWthL3dhdGNoLmpzIjsgaWYgKHcub3BlcmEgPT0gIltvYmplY3QgT3BlcmFdIikgeyBkLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBmLCBmYWxzZSk7IH0gZWxzZSB7IGYoKTsgfSB9KShkb2N1bWVudCwgd2luZG93LCAieWFuZGV4X21ldHJpa2FfY2FsbGJhY2tzIik7IDwvc2NyaXB0PiA8bm9zY3JpcHQ+PGRpdj48aW1nIHNyYz0iaHR0cHM6Ly9tYy55YW5kZXgucnUvd2F0Y2gvMzc0MjA5MzA/dXQ9bm9pbmRleCIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyBsZWZ0Oi05OTk5cHg7IiBhbHQ9IiIgLz48L2Rpdj48L25vc2NyaXB0PiA8IS0tIC9ZYW5kZXguTWV0cmlrYSBjb3VudGVyIC0tPg0KPC9ib2R5Pg0KPC9odG1sPg==";
echo base64_decode($html);
break;
case 'configuration-check-and-install':
$statuses=array();
$scriptHash=uniqid("");
$statuses["statusCheckingAdminPassword"] = "ok";
if (array_key_exists("managerPassword", $_POST)) {
if ($_POST["managerPassword"] != null) {
$managerPassword = $_POST["managerPassword"];
} else {
$statuses["statusCheckingAdminPassword"] = "error";
}
}
$selfCertPart = null;
if (array_key_exists("selfCertPart", $_POST)) {
if ($_POST["selfCertPart"] != null) {
$selfCertPart = $_POST["selfCertPart"];
}
}
$statuses["statusCheckingHTTPS"] = "error";
if (array_key_exists("HTTP_X_HTTPS", $_SERVER) || array_key_exists("HTTPS", $_SERVER)) {
if (@$_SERVER['HTTPS'] != 'off' || @$_SERVER['HTTP_X_HTTPS'] == 1) {
$statuses["statusCheckingHTTPS"] = "ok";
}
}
$statuses["statusCheckingBotAccess"]="error";
if (array_key_exists("botToken", $_POST)) {
if ($_POST["botToken"] != null) {
try{
$botGetMe=@file_get_contents("https://api.telegram.org/bot".$_POST["botToken"]."/getMe");
//var_dump($botGetMe);
$botAnswer=json_decode($botGetMe, true);
if ($botAnswer["ok"]=="true") {
$statuses["statusCheckingBotAccess"]="ok";
$botToken=$_POST["botToken"];
}
}catch(Exception $e){
$statuses["statusCheckingBotAccess"]="error";
}
}
}
$statuses["statusCheckingSQLAccess"]="error";
if (array_key_exists("dbType", $_POST)) {
if ($_POST["dbType"]=="mysql") {
if (extension_loaded('pdo_mysql')) {
$statuses["statusCheckingSQLAccess"]="ok";
}
$dbType="mysql";
} elseif ($_POST["dbType"]=="sqlite") {
if(extension_loaded('pdo_sqlite')){
$statuses["statusCheckingSQLAccess"]="ok";
}
$dbType="sqlite";
}
}
if($statuses["statusCheckingSQLAccess"]=="ok" && $statuses["statusCheckingBotAccess"]=="ok" && $statuses["statusCheckingAdminPassword"]=="ok" && $statuses["statusCheckingHTTPS"]=="ok"){
if($dbType=="mysql"){
if(!array_key_exists("mysqlHost", $_POST) || !array_key_exists("mysqlUser", $_POST) || !array_key_exists("mysqlPassword", $_POST) || !array_key_exists("mysqlDb", $_POST)){
$statuses["statusCreatingDB"]="error";
}else{
$mysqlHost=$_POST["mysqlHost"];
$mysqlUser=$_POST["mysqlUser"];
$mysqlPassword=$_POST["mysqlPassword"];
$mysqlDb=$_POST["mysqlDb"];
try{
/* Подключаемся через PDO */
$db = new PDO('mysql:host='.$mysqlHost.';dbname='.$mysqlDb,$mysqlUser,$mysqlPassword);
$db->exec($mysqlCreate);
$statuses["statusCreatingDB"]="ok";
}catch(PDOException $e){
$statuses["statusCreatingDB"]="error";
}
}
}else if($dbType="sqlite"){
try{
/* Подключаемся через PDO */
$db = new PDO("sqlite:telegram-site-helper.db");
$db->exec($sqliteCreate);
$statuses["statusCreatingDB"]="ok";
}catch(PDOException $e){
$statuses["statusCreatingDB"]="error";
}
}
if($statuses["statusCreatingDB"]=="ok"){
$fp=fopen("telegram-site-helper-config.php","w");
if(!$fp){
$statuses["statusCreatingConfig"]="error";
}else{
$statuses["statusCreatingConfig"]="ok";
fwrite($fp,"<?php".PHP_EOL);
fwrite($fp,"DEFINE(\"MANAGERPASS\",\"".$managerPassword."\");".PHP_EOL);
fwrite($fp,"DEFINE(\"BOTTOKEN\",\"".$botToken."\");".PHP_EOL);
fwrite($fp,"DEFINE(\"DBTYPE\",\"".$dbType."\");".PHP_EOL);
if($dbType=="mysql"){
fwrite($fp,"DEFINE(\"MYSQL_HOST\",\"".$mysqlHost."\");".PHP_EOL);
fwrite($fp,"DEFINE(\"MYSQL_USER\",\"".$mysqlUser."\");".PHP_EOL);
fwrite($fp,"DEFINE(\"MYSQL_PASSWORD\",\"".$mysqlPassword."\");".PHP_EOL);
fwrite($fp,"DEFINE(\"MYSQL_DBNAME\",\"".$mysqlDb."\");".PHP_EOL);
}else{
fwrite($fp,"DEFINE(\"SQLITE_DBNAME\",\"telegram-site-helper.db\");".PHP_EOL);
}
fwrite($fp,"DEFINE(\"WEBHOOKSCRIPT\",\"telegram-site-helper-get-webhook_".$scriptHash.".php\");".PHP_EOL);
}
}
if(!is_dir("tsh-files")){
mkdir("tsh-files",0775);
}
if(!is_dir("tsh-chatUpdates")){
mkdir("tsh-chatUpdates",0775);
}
$fp=fopen("telegram-site-helper.css","w");
$cssFile = "LnRzaC1tc2cge2Rpc3BsYXk6IGlubGluZS1ibG9jaztiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO3BhZGRpbmc6IDRweDttYXJnaW46IDRweDt3aWR0aDogNzAlO2ZvbnQtc2l6ZTogMTBwdDtib3JkZXItcmFkaXVzOiAzcHg7Ym94LXNoYWRvdzogMXB4IDFweCAycHggMXB4ICNjNmM0YzQ7fQ0KLnRzaC1yaWdodCB7ZmxvYXQ6IHJpZ2h0O30NCi50c2gtdGltZSB7Y29sb3I6ICNEQ0RDREM7Zm9udC1zaXplOiA4cHQ7ZmxvYXQ6IHJpZ2h0O30NCi50c2gtbXNnLWhlYWRlciB7Y29sb3I6ICNGMTNCM0I7Zm9udC13ZWlnaHQ6Ym9sZDt9DQoudHNoLXJpZ2h0IC50c2gtbXNnLWhlYWRlciB7Y29sb3I6ICMwODUyQzc7fQ0KLnRzaC1pbWcge2Rpc3BsYXk6IGJsb2NrO3dpZHRoOiAxMDAlOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO2JhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOiBjb250YWluO2N1cnNvcjogcG9pbnRlcjt9DQoudHNoLWltZyBpbWd7bWF4LXdpZHRoOiAxMDAlO21heC1oZWlnaHQ6IDEwMCU7bWFyZ2luOiBhdXRvO2Rpc3BsYXk6IGJsb2NrO30NCi50c2gtcm90YXRlOTB7LW1vei10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7LW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTstd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTstby10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO30NCi50c2gtcm90YXRlMjcwe21vei10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOy1tcy10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOy13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTstby10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO3RyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7fQ0KDQoudHNoLWxhYmVse3dpZHRoOmF1dG87IGRpc3BsYXk6YmxvY2s7IHBvc2l0aW9uOmZpeGVkOyAgcGFkZGluZzo1cHggMTBweDsgZm9udC1zaXplOjEycHQ7IGJveC1zaXppbmc6Ym9yZGVyLWJveDsgY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjkpO2N1cnNvcjpwb2ludGVyO30NCi50c2gtbGFiZWwtbHR7bGVmdDowcHg7dG9wOjUlOyB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7fQ0KLnRzaC1sYWJlbC1sYntsZWZ0OjBweDtib3R0b206NSU7IHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOyBib3JkZXItcmFkaXVzOiAwIDAgNXB4IDVweDt9DQoudHNoLWxhYmVsLXJ0e3JpZ2h0OjBweDt0b3A6NSU7IHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7fQ0KLnRzaC1sYWJlbC1yYntyaWdodDowcHg7Ym90dG9tOjUlOyB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7IGJvcmRlci1yYWRpdXM6IDAgMCA1cHggNXB4O30NCi50c2gtbGFiZWwtdGx7dG9wOjBweDtsZWZ0OjUlO2JvcmRlci1yYWRpdXM6IDAgMCA1cHggNXB4O30NCi50c2gtbGFiZWwtdHJ7dG9wOjBweDtyaWdodDo1JTtib3JkZXItcmFkaXVzOiAwIDAgNXB4IDVweDt9DQoudHNoLWxhYmVsLWJse2JvdHRvbTowcHg7bGVmdDo1JTtib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDt9DQoudHNoLWxhYmVsLWJye2JvdHRvbTowcHg7cmlnaHQ6NSU7Ym9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7fQ0KDQoudHNoLWNoYXRib3h7Y3Vyc29yOmRlZmF1bHQ7IGJveC1zaXppbmc6Ym9yZGVyLWJveDsgIGJveC1zaGFkb3c6IDFweCAxcHggMjJweCAtM3B4ICNiMGIwYjA7IGJvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjIzKTsgIGJvcmRlci1yYWRpdXM6IDVweDsgbWluLXdpZHRoOiAyMDBweDsgbWluLWhlaWdodDogMTUwcHg7fQ0KLnRzaC1jaGF0Ym94LWx0e2xlZnQ6MHB4O3RvcDo1JTsgYm9yZGVyLXJhZGl1czogMCA1cHggNXB4IDA7fQ0KLnRzaC1jaGF0Ym94LWxie2xlZnQ6MHB4O2JvdHRvbTo1JTsgYm9yZGVyLXJhZGl1czogMCA1cHggNXB4IDA7fQ0KLnRzaC1jaGF0Ym94LXJ0e3JpZ2h0OjBweDt0b3A6NSU7IGJvcmRlci1yYWRpdXM6NXB4IDAgMCAgNXB4O30NCi50c2gtY2hhdGJveC1yYntyaWdodDowcHg7Ym90dG9tOjUlOyBib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDt9DQoudHNoLWNoYXRib3gtdGx7dG9wOjBweDtsZWZ0OjUlOyBib3JkZXItcmFkaXVzOiAwIDAgNXB4IDVweDt9DQoudHNoLWNoYXRib3gtdHJ7dG9wOjBweDtyaWdodDo1JTsgYm9yZGVyLXJhZGl1czogMCAwIDVweCA1cHg7fQ0KLnRzaC1jaGF0Ym94LWJse2JvdHRvbTowcHg7bGVmdDo1JSA7Ym9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7fQ0KLnRzaC1jaGF0Ym94LWJye2JvdHRvbTowcHg7cmlnaHQ6NSUgO2JvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwO30NCg0KLnRzaC1jaGF0Ym94LWhlYWRlcntkaXNwbGF5OmJsb2NrOyBoZWlnaHQ6MzBweDsgY3Vyc29yOmRlZmF1bHQ7IHBvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246Y2VudGVyOyBvdmVyZmxvdzpoaWRkZW47IHBhZGRpbmc6NXB4OyBib3gtc2l6aW5nOmJvcmRlci1ib3g7IGNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC45KTsgZm9udC1zaXplOjExcHQ7fQ0KLnRzaC1jaGF0Ym94LWNsb3Nle2Rpc3BsYXk6IGJsb2NrO3Bvc2l0aW9uOiBhYnNvbHV0ZTtyaWdodDogNXB4O3RvcDogNHB4O2NvbG9yOiAjZmZmO2ZvbnQtc2l6ZTogMTJwdDtmb250LXdlaWdodDogNzAwO2N1cnNvcjogcG9pbnRlcjtwYWRkaW5nOiA1cHg7Ym9yZGVyLXJhZGl1czogNTAlO2xpbmUtaGVpZ2h0OiA3MCU7fQ0KLnRzaC1jaGF0Ym94LWNsb3NlOmhvdmVye2JhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4zKTt9DQoudHNoLWNoYXRib3gtZ3JlZXRpbmd7ZGlzcGxheTpibG9jazsgcG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTowcHg7IGxlZnQ6MHB4OyByaWdodDowcHg7IHRvcDozMHB4O30NCi50c2gtY2hhdGJveC1ncmVldGluZy1pbnB1dHtkaXNwbGF5OmJsb2NrOyBtYXJnaW46MTBweCBhdXRvOyB0ZXh0LWFsaWduOmNlbnRlcjsgYm9yZGVyOjBweDsgcGFkZGluZzo3cHg7IGJvcmRlci1yYWRpdXM6NXB4OyBmb250LXNpemU6MTJwdDt3aWR0aDogOTAlO30NCi50c2gtY2hhdGJveC1ncmVldGluZy1idXR0b257ZGlzcGxheTpibG9jazsgbWFyZ2luOjE1cHggYXV0byA1cHggYXV0bzsgYm9yZGVyOjBweDsgcGFkZGluZzo3cHg7IGJvcmRlci1yYWRpdXM6NXB4OyBmb250LXNpemU6MTJwdDsgY29sb3I6I2ZmZjsgY3Vyc29yOnBvaW50ZXI7fQ0KLnRzaC1jaGF0Ym94LWNvbnRhaW5lcntkaXNwbGF5Om5vbmU7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MzBweDsgbGVmdDowcHg7IHJpZ2h0OjBweDsgYm90dG9tOjM1cHg7IGJveC1zaXppbmc6Ym9yZGVyLWJveDsgb3ZlcmZsb3cteDpoaWRkZW47IG92ZXJmbG93LXk6YXV0bzt9DQoudHNoLWNoYXRib3gtaW5wdXRBcmVhe2Rpc3BsYXk6bm9uZTsgcG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTowcHg7IGxlZnQ6MHB4OyByaWdodDowcHg7IGhlaWdodDozNXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjIzKTt9DQoudHNoLWNoYXRib3gtbWVzc2FnZS1jb250YWluZXJ7ZGlzcGxheTpibG9jazsgcG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6MzBweDsgdG9wOjA7IHJpZ2h0OjMwcHg7IGJvdHRvbTowOyBib3gtc2l6aW5nOmJvcmRlci1ib3g7fQ0KLnRzaC1jaGF0Ym94LW1lc3NhZ2V7ZGlzcGxheTpibG9jazsgcGFkZGluZzo1cHg7IHBvc2l0aW9uOmFic29sdXRlOyBsZWZ0OjBweDsgdG9wOjA7IGZvbnQtc2l6ZTo5cHQ7IHdpZHRoOjEwMCU7IGJvdHRvbTowOyBib3JkZXI6MDtvdXRsaW5lOm5vbmU7IHJlc2l6ZTogbm9uZSA7IGJveC1zaXppbmc6Ym9yZGVyLWJveDsgb3ZlcmZsb3cteDpoaWRkZW47IG92ZXJmbG93LXk6aGlkZGVufQ0KLnRzaC1jaGF0Ym94LWF0dGFjaHtkaXNwbGF5OmJsb2NrOyB3aWR0aDoyMHB4OyBoZWlnaHQ6MjBweDsgcG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6NXB4OyB0b3A6NXB4OyBiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjsgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyOyBjdXJzb3I6cG9pbnRlcjsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaUlITjBZVzVrWVd4dmJtVTlJbTV2SWo4K1BITjJaeUFnSUhodGJHNXpPbVJqUFNKb2RIUndPaTh2Y0hWeWJDNXZjbWN2WkdNdlpXeGxiV1Z1ZEhNdk1TNHhMeUlnSUNCNGJXeHVjenBqWXowaWFIUjBjRG92TDJOeVpXRjBhWFpsWTI5dGJXOXVjeTV2Y21jdmJuTWpJaUFnSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJZ0lDQjRiV3h1Y3pwemRtYzlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUFnSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnSUNCNGJXeHVjenB6YjJScGNHOWthVDBpYUhSMGNEb3ZMM052Wkdsd2IyUnBMbk52ZFhKalpXWnZjbWRsTG01bGRDOUVWRVF2YzI5a2FYQnZaR2t0TUM1a2RHUWlJQ0FnZUcxc2JuTTZhVzVyYzJOaGNHVTlJbWgwZEhBNkx5OTNkM2N1YVc1cmMyTmhjR1V1YjNKbkwyNWhiV1Z6Y0dGalpYTXZhVzVyYzJOaGNHVWlJQ0FnZDJsa2RHZzlJakV3SWlBZ0lHaGxhV2RvZEQwaU1UQWlJQ0FnZG1sbGQwSnZlRDBpTUNBd0lERXdJREV3SWlBZ0lHbGtQU0p6ZG1jeUlpQWdJSFpsY25OcGIyNDlJakV1TVNJZ0lDQnBibXR6WTJGd1pUcDJaWEp6YVc5dVBTSXdMamt4SUhJeE16Y3lOU0lnSUNCemIyUnBjRzlrYVRwa2IyTnVZVzFsUFNKaGRIUmhZMmd1YzNabklqNGdJRHhrWldaeklDQWdJQ0JwWkQwaVpHVm1jelFpSUM4K0lDQThjMjlrYVhCdlpHazZibUZ0WldSMmFXVjNJQ0FnSUNCcFpEMGlZbUZ6WlNJZ0lDQWdJSEJoWjJWamIyeHZjajBpSTJabVptWm1aaUlnSUNBZ0lHSnZjbVJsY21OdmJHOXlQU0lqTmpZMk5qWTJJaUFnSUNBZ1ltOXlaR1Z5YjNCaFkybDBlVDBpTVM0d0lpQWdJQ0FnYVc1cmMyTmhjR1U2Y0dGblpXOXdZV05wZEhrOUlqQXVNQ0lnSUNBZ0lHbHVhM05qWVhCbE9uQmhaMlZ6YUdGa2IzYzlJaklpSUNBZ0lDQnBibXR6WTJGd1pUcDZiMjl0UFNJeE1pNDBPVEl6TURnaUlDQWdJQ0JwYm10elkyRndaVHBqZUQwaU5TSWdJQ0FnSUdsdWEzTmpZWEJsT21ONVBTSTFJaUFnSUNBZ2FXNXJjMk5oY0dVNlpHOWpkVzFsYm5RdGRXNXBkSE05SW5CNElpQWdJQ0FnYVc1cmMyTmhjR1U2WTNWeWNtVnVkQzFzWVhsbGNqMGliR0Y1WlhJeElpQWdJQ0FnYzJodmQyZHlhV1E5SW1aaGJITmxJaUFnSUNBZ2RXNXBkSE05SW5CNElpQWdJQ0FnYVc1cmMyTmhjR1U2ZDJsdVpHOTNMWGRwWkhSb1BTSXhPVEl3SWlBZ0lDQWdhVzVyYzJOaGNHVTZkMmx1Wkc5M0xXaGxhV2RvZEQwaU9UZzJJaUFnSUNBZ2FXNXJjMk5oY0dVNmQybHVaRzkzTFhnOUlqQWlJQ0FnSUNCcGJtdHpZMkZ3WlRwM2FXNWtiM2N0ZVQwaU1qVWlJQ0FnSUNCcGJtdHpZMkZ3WlRwM2FXNWtiM2N0YldGNGFXMXBlbVZrUFNJeElpQXZQaUFnUEcxbGRHRmtZWFJoSUNBZ0lDQnBaRDBpYldWMFlXUmhkR0UzSWo0Z0lDQWdQSEprWmpwU1JFWStJQ0FnSUNBZ1BHTmpPbGR2Y21zZ0lDQWdJQ0FnSUNCeVpHWTZZV0p2ZFhROUlpSStJQ0FnSUNBZ0lDQThaR002Wm05eWJXRjBQbWx0WVdkbEwzTjJaeXQ0Yld3OEwyUmpPbVp2Y20xaGRENGdJQ0FnSUNBZ0lEeGtZenAwZVhCbElDQWdJQ0FnSUNBZ0lDQnlaR1k2Y21WemIzVnlZMlU5SW1oMGRIQTZMeTl3ZFhKc0xtOXlaeTlrWXk5a1kyMXBkSGx3WlM5VGRHbHNiRWx0WVdkbElpQXZQaUFnSUNBZ0lDQWdQR1JqT25ScGRHeGxQand2WkdNNmRHbDBiR1UrSUNBZ0lDQWdQQzlqWXpwWGIzSnJQaUFnSUNBOEwzSmtaanBTUkVZK0lDQThMMjFsZEdGa1lYUmhQaUFnUEdjZ0lDQWdJR2x1YTNOallYQmxPbXhoWW1Wc1BTSk1ZWGxsY2lBeElpQWdJQ0FnYVc1cmMyTmhjR1U2WjNKdmRYQnRiMlJsUFNKc1lYbGxjaUlnSUNBZ0lHbGtQU0pzWVhsbGNqRWlJQ0FnSUNCMGNtRnVjMlp2Y20wOUluUnlZVzV6YkdGMFpTZ3dMQzB4TURReUxqTTJNaklwSWo0Z0lDQWdQSEJoZEdnZ0lDQWdJQ0FnYVc1cmMyTmhjR1U2WTI5dWJtVmpkRzl5TFdOMWNuWmhkSFZ5WlQwaU1DSWdJQ0FnSUNBZ1pEMGliU0EyTGpVd016YzFMREV3TkRNdU16WTFPU0JqSUMwd0xqVXhMREFnTFRFdU1ESXNNQzR5TVRBeElDMHhMalF4TERBdU5Ua3dNU0JzSUMweUxqYzRMREl1TnpJZ1l5QXRNUzR3Tnl3eExqQTNJQzB4TGpBM0xESXVPQ0F3TERNdU9EZ2dNUzR3Tnl3eExqQTNJREl1T0N3eExqQTNJRE11T0Rnc01DQnNJREV1TWpVc0xURXVNalVnTFRBdU5qa3NMVEF1TmprZ0xURXVNVFlzTVM0eE15QXRNQzR3T1N3d0xqRXpJR01nTFRBdU5qa3NNQzQyT1NBdE1TNDRNU3d3TGpZNUlDMHlMalVzTUNBdE1DNDJPQ3d0TUM0Mk9DQXRNQzQyTml3dE1TNDNPQ0F3TEMweUxqUTNJR3dnTWk0M09Dd3RNaTQzTlNCaklEQXVNemtzTFRBdU16a2dNUzR3TkN3dE1DNHpPU0F4TGpRMExEQWdNQzR6T1N3d0xqTTVJREF1TXpjc01TNHdNU0F3TERFdU5ERWdiQ0F0TWk0MUxESXVORGNnWXlBdE1DNHhMREF1TVNBdE1DNHlOeXd3TGpFZ0xUQXVNemdzTUNBdE1DNHhMQzB3TGpFZ0xUQXVNU3d0TUM0eU55QXdMQzB3TGpNNElHd2dNQzR3Tml3dE1DNHdNeUF3TGpreExDMHdMamswSUMwd0xqWTVMQzB3TGpZNUlDMHdMamszTERBdU9UY2dZeUF0TUM0ME9Dd3dMalE0SUMwd0xqUTRMREV1TWpjZ01Dd3hMamMxSURBdU5EZ3NNQzQwT0NBeExqSTNMREF1TkRrZ01TNDNOU3d3SUd3Z01pNDFMQzB5TGpRMElHTWdNQzQzT0N3dE1DNDNPQ0F3TGpjNExDMHlMakEwSURBc0xUSXVPREVnTFRBdU16a3NMVEF1TXprZ0xUQXVPRGtzTFRBdU5Ua2dMVEV1TkRFc0xUQXVOVGtnZWlJZ0lDQWdJQ0FnYVdROUluQmhkR2cwTVRreklpQWdJQ0FnSUNCemRIbHNaVDBpWm1sc2JEb2pZMk5qWTJOaklpQXZQaUFnUEM5blBqd3ZjM1puUGc9PScpO30NCi50c2gtY2hhdGJveC1lbnRlcntkaXNwbGF5OmJsb2NrOyB3aWR0aDoyMHB4OyBoZWlnaHQ6MjBweDsgcG9zaXRpb246YWJzb2x1dGU7IHJpZ2h0OjVweDsgdG9wOjVweDsgYmFja2dyb3VuZC1zaXplOmNvbnRhaW47IGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjsgY3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaUlITjBZVzVrWVd4dmJtVTlJbTV2SWo4K1BITjJaeUFnSUhodGJHNXpPbVJqUFNKb2RIUndPaTh2Y0hWeWJDNXZjbWN2WkdNdlpXeGxiV1Z1ZEhNdk1TNHhMeUlnSUNCNGJXeHVjenBqWXowaWFIUjBjRG92TDJOeVpXRjBhWFpsWTI5dGJXOXVjeTV2Y21jdmJuTWpJaUFnSUhodGJHNXpPbkprWmowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzh3TWk4eU1pMXlaR1l0YzNsdWRHRjRMVzV6SXlJZ0lDQjRiV3h1Y3pwemRtYzlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUFnSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnSUNCNGJXeHVjenB6YjJScGNHOWthVDBpYUhSMGNEb3ZMM052Wkdsd2IyUnBMbk52ZFhKalpXWnZjbWRsTG01bGRDOUVWRVF2YzI5a2FYQnZaR2t0TUM1a2RHUWlJQ0FnZUcxc2JuTTZhVzVyYzJOaGNHVTlJbWgwZEhBNkx5OTNkM2N1YVc1cmMyTmhjR1V1YjNKbkwyNWhiV1Z6Y0dGalpYTXZhVzVyYzJOaGNHVWlJQ0FnZDJsa2RHZzlJakV3SWlBZ0lHaGxhV2RvZEQwaU1UQWlJQ0FnZG1sbGQwSnZlRDBpTUNBd0lERXdJREV3SWlBZ0lHbGtQU0p6ZG1jeUlpQWdJSFpsY25OcGIyNDlJakV1TVNJZ0lDQnBibXR6WTJGd1pUcDJaWEp6YVc5dVBTSXdMamt4SUhJeE16Y3lOU0lnSUNCemIyUnBjRzlrYVRwa2IyTnVZVzFsUFNKbGJuUmxjaTV6ZG1jaVBpQWdQR1JsWm5NZ0lDQWdJR2xrUFNKa1pXWnpOQ0lnTHo0Z0lEeHpiMlJwY0c5a2FUcHVZVzFsWkhacFpYY2dJQ0FnSUdsa1BTSmlZWE5sSWlBZ0lDQWdjR0ZuWldOdmJHOXlQU0lqWm1abVptWm1JaUFnSUNBZ1ltOXlaR1Z5WTI5c2IzSTlJaU0yTmpZMk5qWWlJQ0FnSUNCaWIzSmtaWEp2Y0dGamFYUjVQU0l4TGpBaUlDQWdJQ0JwYm10elkyRndaVHB3WVdkbGIzQmhZMmwwZVQwaU1DNHdJaUFnSUNBZ2FXNXJjMk5oY0dVNmNHRm5aWE5vWVdSdmR6MGlNaUlnSUNBZ0lHbHVhM05qWVhCbE9ucHZiMjA5SWpFeUxqUTVNak13T0NJZ0lDQWdJR2x1YTNOallYQmxPbU40UFNJMUlpQWdJQ0FnYVc1cmMyTmhjR1U2WTNrOUlqVWlJQ0FnSUNCcGJtdHpZMkZ3WlRwa2IyTjFiV1Z1ZEMxMWJtbDBjejBpY0hnaUlDQWdJQ0JwYm10elkyRndaVHBqZFhKeVpXNTBMV3hoZVdWeVBTSnNZWGxsY2pFaUlDQWdJQ0J6YUc5M1ozSnBaRDBpWm1Gc2MyVWlJQ0FnSUNCMWJtbDBjejBpY0hnaUlDQWdJQ0JwYm10elkyRndaVHAzYVc1a2IzY3RkMmxrZEdnOUlqRTVNakFpSUNBZ0lDQnBibXR6WTJGd1pUcDNhVzVrYjNjdGFHVnBaMmgwUFNJNU9EWWlJQ0FnSUNCcGJtdHpZMkZ3WlRwM2FXNWtiM2N0ZUQwaU1DSWdJQ0FnSUdsdWEzTmpZWEJsT25kcGJtUnZkeTE1UFNJeU5TSWdJQ0FnSUdsdWEzTmpZWEJsT25kcGJtUnZkeTF0WVhocGJXbDZaV1E5SWpFaUlDOCtJQ0E4YldWMFlXUmhkR0VnSUNBZ0lHbGtQU0p0WlhSaFpHRjBZVGNpUGlBZ0lDQThjbVJtT2xKRVJqNGdJQ0FnSUNBOFkyTTZWMjl5YXlBZ0lDQWdJQ0FnSUhKa1pqcGhZbTkxZEQwaUlqNGdJQ0FnSUNBZ0lEeGtZenBtYjNKdFlYUSthVzFoWjJVdmMzWm5LM2h0YkR3dlpHTTZabTl5YldGMFBpQWdJQ0FnSUNBZ1BHUmpPblI1Y0dVZ0lDQWdJQ0FnSUNBZ0lISmtaanB5WlhOdmRYSmpaVDBpYUhSMGNEb3ZMM0IxY213dWIzSm5MMlJqTDJSamJXbDBlWEJsTDFOMGFXeHNTVzFoWjJVaUlDOCtJQ0FnSUNBZ0lDQThaR002ZEdsMGJHVStQQzlrWXpwMGFYUnNaVDRnSUNBZ0lDQThMMk5qT2xkdmNtcytJQ0FnSUR3dmNtUm1PbEpFUmo0Z0lEd3ZiV1YwWVdSaGRHRStJQ0E4WnlBZ0lDQWdhVzVyYzJOaGNHVTZiR0ZpWld3OUlreGhlV1Z5SURFaUlDQWdJQ0JwYm10elkyRndaVHBuY205MWNHMXZaR1U5SW14aGVXVnlJaUFnSUNBZ2FXUTlJbXhoZVdWeU1TSWdJQ0FnSUhSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtEQXNMVEV3TkRJdU16WXlNaWtpUGlBZ0lDQThjR0YwYUNBZ0lDQWdJQ0JwYm10elkyRndaVHBqYjI1dVpXTjBiM0l0WTNWeWRtRjBkWEpsUFNJd0lpQWdJQ0FnSUNCa1BTSnRJREV1TXpjek1UVXlOeXd4TURRNUxqRTNOVFlnTWk0NU1ERTBOemM0TERJdU9UQXhOU0F3TEMweUxqRTNOakVnTkM0ek5USXlNVFk0TERBZ01Dd3ROeTR5TlRNM0lDMHhMalExTURjek9Ea3NNQ0F3TERVdU9EQXpJQzB5TGprd01UUTNOemtzTUNBd0xDMHlMakUzTmpJZ1l5QXRNUzQwTlRBM016ZzVMREV1TkRVd09DQXRNaTQ1TURFME56YzRMREl1T1RBeE5TQXRNaTQ1TURFME56YzRMREl1T1RBeE5TQjZJaUFnSUNBZ0lDQnBaRDBpY0dGMGFEUXhNemdpSUNBZ0lDQWdJSE4wZVd4bFBTSm1hV3hzT2lOaU0ySXpZak1pSUM4K0lDQThMMmMrUEM5emRtYysnKTt9DQoNCiN0ZWxlZ3JhbVNpdGVIZWxwZXJBdHRhY2hJbnB1dHtkaXNwbGF5OiBub25lO30NCi50c2gtc3lzdGVtIHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ym94LXNpemluZzogaW5pdGlhbDt0ZXh0LWFsaWduOiBjZW50ZXI7d2lkdGg6IGF1dG87cGFkZGluZzogMTBweCAyMHB4O30NCi50c2gtZGFuZ2VyIHtiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4ODg4O2NvbG9yOiAjMDAwO30NCi50c2gtZmlsZXtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7cGFkZGluZzogNHB4IDAgMCAwO2ZvbnQtd2VpZ2h0OiBib2xkO2N1cnNvcjogcG9pbnRlcjtib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDA7fQ0KLmFuaW1hdGVkey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjFzO2FuaW1hdGlvbi1kdXJhdGlvbjoxczstd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6Ym90aDthbmltYXRpb24tZmlsbC1tb2RlOmJvdGh9DQpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd257MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTAwJSwwKTt2aXNpYmlsaXR5OnZpc2libGV9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX19IA0KQGtleWZyYW1lcyBzbGlkZUluRG93bnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMDAlLDApO3Zpc2liaWxpdHk6dmlzaWJsZX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfX0NCi5zbGlkZUluRG93bnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnNsaWRlSW5Eb3duO2FuaW1hdGlvbi1uYW1lOnNsaWRlSW5Eb3dufQ0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5MZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7dmlzaWJpbGl0eTp2aXNpYmxlfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCl9fSANCkBrZXlmcmFtZXMgc2xpZGVJbkxlZnR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt2aXNpYmlsaXR5OnZpc2libGV9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX19DQouc2xpZGVJbkxlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpzbGlkZUluTGVmdDthbmltYXRpb24tbmFtZTpzbGlkZUluTGVmdH0NCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCk7dmlzaWJpbGl0eTp2aXNpYmxlfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCl9fSANCkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO3Zpc2liaWxpdHk6dmlzaWJsZX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfX0NCi5zbGlkZUluUmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpzbGlkZUluUmlnaHQ7YW5pbWF0aW9uLW5hbWU6c2xpZGVJblJpZ2h0fQ0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwJSwwKTt2aXNpYmlsaXR5OnZpc2libGV9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX19DQpAa2V5ZnJhbWVzIHNsaWRlSW5VcHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwJSwwKTt2aXNpYmlsaXR5OnZpc2libGV9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX19DQouc2xpZGVJblVwey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2xpZGVJblVwO2FuaW1hdGlvbi1uYW1lOnNsaWRlSW5VcH0NCg0KI3RzaC1waG90by1zaG93ew0KCWRpc3BsYXk6IG5vbmU7DQoJcG9zaXRpb246IGZpeGVkOw0KCWxlZnQ6IDA7DQoJdG9wOjA7DQoJcmlnaHQ6MDsNCglib3R0b206MDsNCgliYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNik7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCXotaW5kZXg6OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5Ow0KfQ0KDQojdHNoLXBob3RvLXNob3cgaW1nIHsNCglkaXNwbGF5OiBibG9jazsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJbWF4LXdpZHRoOiA5MCU7DQoJbWF4LWhlaWdodDogOTAlOw0KCW1hcmdpbjogNSUgYXV0bzsNCn0=";
fwrite($fp,base64_decode($cssFile));
fclose($fp);
$fp=fopen("telegram-site-helper.js","w");
$jsFile = "ZnVuY3Rpb24gc3RhcnRUZWxlZ3JhbVNpdGVIZWxwZXIodGVsZWdyYW1TaXRlSGVscGVyKXsNCgljb25zb2xlLmxvZygiU3RhcnRpbmcgVGVsZWdyYW0gU2l0ZSBIZWxwZXIgMi4wIikNCgkvKiBUcnlpbmcgdG8gY2xvc2Ugc2VydmVyIHNpZGUgZXZlbnQgKi8NCgl0cnl7c2VydmVyU2lkZUV2ZW50LmNsb3NlKCk7fWNhdGNoKGUpe30NCgl0cnl7bG9uZ1BvbGwuYWJvcnQoKTt9Y2F0Y2goZSl7fQ0KCXRyeXtjbGVhclRpbWVvdXQobG9uZ1BvbGxUaW1lcik7fWNhdGNoKGUpe30NCiAJDQogCS8qIENoZWNraW5nIEFQSSBVUkwgc2V0dGluZyBmb3IgYXZhbGlhYmxlICovDQoJaWYoIXRlbGVncmFtU2l0ZUhlbHBlci5hcGlVcmwpew0KCQljb25zb2xlLmVycm9yKCJUU0ggPiAiKyJCYWQgQVBJIFVSTC4uIik7DQoJCXJldHVybiBmYWxzZTsNCgl9DQoJLyogQ2hlY2tpbmcgYm94IHR5cGUgc2V0dGluZyBmb3IgYXZhbGlhYmxlICovDQoJaWYodGVsZWdyYW1TaXRlSGVscGVyLnR5cGUhPSJwb3B1cCIgJiYgdGVsZWdyYW1TaXRlSGVscGVyLnR5cGUhPSJlbWJlZCIpew0KCQl0ZWxlZ3JhbVNpdGVIZWxwZXIudHlwZT0icG9wdXAiOw0KCX0NCgkvKiBDaGVja2luZyBmb3IgcGFyZW50IGVsZW1lbnQgaWQgKGZvciBlbWJlZCBjaGF0IG1vZGUpICovDQoJaWYodGVsZWdyYW1TaXRlSGVscGVyLnR5cGU9PSJlbWJlZCIpew0KCQlpZighdGVsZWdyYW1TaXRlSGVscGVyLnBhcmVudEVsZW1lbnRJZCl7DQoJCQljb25zb2xlLmVycm9yKCJUU0ggPiAiKyJQYXJlbnQgRWxlbWVudCBJZCBpcyBub3QgZGVmaW5lZCEgSXQgaXMgcmVxdWlyZWQgaW4gZW1iZWQgY2hhdCBtb2RlISIpOw0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJfWVsc2V7DQoJCS8qIENoZWNraW5nIGNoYXQgYm94IHBvc2l0aW9uICAqLw0KCQl2YXIgcG9zPXRlbGVncmFtU2l0ZUhlbHBlci5jaGF0UG9zaXRpb24NCgkJaWYocG9zIT0ibHQiICYmIHBvcyE9ImxiIiAmJiBwb3MhPSJydCIgJiYgcG9zIT0icmIiICYmIHBvcyE9InRsIiAmJiBwb3MhPSJ0ciIgJiYgcG9zIT0iYmwiICYmIHBvcyE9ImJyIil7DQoJCQl0ZWxlZ3JhbVNpdGVIZWxwZXIuY2hhdFBvc2l0aW9uPSJiciI7DQoJCX0NCgl9DQoJLyogQ2hlY2tpbmcgbGFiZWwgdGV4dCBzZXR0aW5nIGZvciBhdmFsaWFibGUgKi8NCglpZighdGVsZWdyYW1TaXRlSGVscGVyLnR5cGUgfHwgdGVsZWdyYW1TaXRlSGVscGVyLnR5cGU9PSIiKXsNCgkJdGVsZWdyYW1TaXRlSGVscGVyLnR5cGU9ImxwIg0KCX0NCgkvKiBDaGVja2luZyBsYWJlbCB0ZXh0IHNldHRpbmcgZm9yIGF2YWxpYWJsZSAqLw0KCWlmKCF0ZWxlZ3JhbVNpdGVIZWxwZXIubGFiZWwgfHwgdGVsZWdyYW1TaXRlSGVscGVyLmxhYmVsPT0iIil7DQoJCXRlbGVncmFtU2l0ZUhlbHBlci5sYWJlbD0iQXNrIHlvdXIgcXVlc3Rpb24gaGVyZSEiDQoJfQ0KCS8qIENoZWNraW5nIHlvdXJOYW1lIHRleHQgc2V0dGluZyBmb3IgYXZhbGlhYmxlICovDQoJaWYoIXRlbGVncmFtU2l0ZUhlbHBlci55b3VyTmFtZSB8fCB0ZWxlZ3JhbVNpdGVIZWxwZXIueW91ck5hbWU9PSIiKXsNCgkJdGVsZWdyYW1TaXRlSGVscGVyLnlvdXJOYW1lPSJBc2sgeW91ciBxdWVzdGlvbiBoZXJlISINCgl9DQoJLyogQ2hlY2tpbmcgeW91clBob25lIHRleHQgc2V0dGluZyBmb3IgYXZhbGlhYmxlICovDQoJaWYoIXRlbGVncmFtU2l0ZUhlbHBlci55b3VyUGhvbmUgfHwgdGVsZWdyYW1TaXRlSGVscGVyLnlvdXJQaG9uZT09IiIpew0KCQl0ZWxlZ3JhbVNpdGVIZWxwZXIueW91clBob25lPSJBc2sgeW91ciBxdWVzdGlvbiBoZXJlISINCgl9DQoJLyogQ2hlY2tpbmcgc3RhcnRDaGF0IHRleHQgc2V0dGluZyBmb3IgYXZhbGlhYmxlICovDQoJaWYoIXRlbGVncmFtU2l0ZUhlbHBlci5zdGFydENoYXQgfHwgdGVsZWdyYW1TaXRlSGVscGVyLnN0YXJ0Q2hhdD09IiIpew0KCQl0ZWxlZ3JhbVNpdGVIZWxwZXIuc3RhcnRDaGF0PSJBc2sgeW91ciBxdWVzdGlvbiBoZXJlISINCgl9DQoJLyogQ2hlY2tpbmcgZW50ZXJZb3VyTWVzc2FnZSB0ZXh0IHNldHRpbmcgZm9yIGF2YWxpYWJsZSAqLw0KCWlmKCF0ZWxlZ3JhbVNpdGVIZWxwZXIuZW50ZXJZb3VyTWVzc2FnZSB8fCB0ZWxlZ3JhbVNpdGVIZWxwZXIuZW50ZXJZb3VyTWVzc2FnZT09IiIpew0KCQl0ZWxlZ3JhbVNpdGVIZWxwZXIuZW50ZXJZb3VyTWVzc2FnZT0iQXNrIHlvdXIgcXVlc3Rpb24gaGVyZSEiDQoJfQ0KCS8qIENoZWNraW5nIHlvdSB0ZXh0IHNldHRpbmcgZm9yIGF2YWxpYWJsZSAqLw0KCWlmKCF0ZWxlZ3JhbVNpdGVIZWxwZXIueW91IHx8IHRlbGVncmFtU2l0ZUhlbHBlci55b3U9PSIiKXsNCgkJdGVsZWdyYW1TaXRlSGVscGVyLnlvdT0iWW91Ig0KCX0NCgkvKiBDaGVja2luZyB5b3UgdGV4dCBzZXR0aW5nIGZvciBhdmFsaWFibGUgKi8NCglpZighdGVsZWdyYW1TaXRlSGVscGVyLmF0dGFjaEZpbGVUaXRsZSB8fCB0ZWxlZ3JhbVNpdGVIZWxwZXIuYXR0YWNoRmlsZVRpdGxlPT0iIil7DQoJCXRlbGVncmFtU2l0ZUhlbHBlci5hdHRhY2hGaWxlVGl0bGU9IkF0dGFjaCB0aGUgZmlsZSINCgl9DQoJLyogQ2hlY2tpbmcgeW91IHRleHQgc2V0dGluZyBmb3IgYXZhbGlhYmxlICovDQoJaWYoIXRlbGVncmFtU2l0ZUhlbHBlci5tYXhGaWxlU2l6ZSB8fCB0ZWxlZ3JhbVNpdGVIZWxwZXIubWF4RmlsZVNpemU9PSIiKXsNCgkJdGVsZWdyYW1TaXRlSGVscGVyLm1heEZpbGVTaXplPTIwNDgNCgl9DQoJLyogQ2hlY2tpbmcgeW91IHRleHQgc2V0dGluZyBmb3IgYXZhbGlhYmxlICovDQoJaWYoIXRlbGVncmFtU2l0ZUhlbHBlci5tYXhGaWxlU2l6ZUVycm9yIHx8IHRlbGVncmFtU2l0ZUhlbHBlci5tYXhGaWxlU2l6ZUVycm9yPT0iIil7DQoJCXRlbGVncmFtU2l0ZUhlbHBlci5tYXhGaWxlU2l6ZUVycm9yPSJFcnJvcjogbWF4IGZpbGUgc2l6ZSBpczogIg0KCX0NCgkvKiBDaGVja2luZyBtYW5hZ2VyIHRleHQgc2V0dGluZyBmb3IgYXZhbGlhYmxlICovDQoJaWYoIXRlbGVncmFtU2l0ZUhlbHBlci5tYW5hZ2VyIHx8IHRlbGVncmFtU2l0ZUhlbHBlci5tYW5hZ2VyPT0iIil7DQoJCXRlbGVncmFtU2l0ZUhlbHBlci5tYW5hZ2VyPSJNYW5hZ2VyIg0KCX0NCgkvKiBDaGVja2luZyBmb3IgbWFpbkNvbG9yKi8NCglpZighdGVsZWdyYW1TaXRlSGVscGVyLm1haW5Db2xvciB8fCB0ZWxlZ3JhbVNpdGVIZWxwZXIubWFpbkNvbG9yPT0iIil7DQoJCXRlbGVncmFtU2l0ZUhlbHBlci5tYWluQ29sb3I9IiNFOEU4RTgiOw0KCX0NCgkvKiBDaGVja2luZyBmb3IgYWNjZW50Q29sb3IqLw0KCWlmKCF0ZWxlZ3JhbVNpdGVIZWxwZXIuYWNjZW50Q29sb3IgfHwgdGVsZWdyYW1TaXRlSGVscGVyLmFjY2VudENvbG9yPT0iIil7DQoJCXRlbGVncmFtU2l0ZUhlbHBlci5hY2NlbnRDb2xvcj0iIzE3OUNERSI7DQoJfQ0KCS8qIENoZWNraW5nIGZvciB0ZXh0Q29sb3IqLw0KCWlmKCF0ZWxlZ3JhbVNpdGVIZWxwZXIudGV4dENvbG9yIHx8IHRlbGVncmFtU2l0ZUhlbHBlci50ZXh0Q29sb3I9PSIiKXsNCgkJdGVsZWdyYW1TaXRlSGVscGVyLnRleHRDb2xvcj0iIzAwMCI7DQoJfQ0KCS8qIENoZWNraW5nIGZvciBmb250RmFtaWx5Ki8NCglpZighdGVsZWdyYW1TaXRlSGVscGVyLmZvbnRGYW1pbHkgfHwgdGVsZWdyYW1TaXRlSGVscGVyLmZvbnRGYW1pbHk9PSIiKXsNCgkJdGVsZWdyYW1TaXRlSGVscGVyLmZvbnRGYW1pbHk9ImFyaWFsIjsNCgl9DQoJLyogQ2hlY2tpbmcgZm9yIGJveFdpZHRoKi8NCglpZighdGVsZWdyYW1TaXRlSGVscGVyLmJveFdpZHRoIHx8IHRlbGVncmFtU2l0ZUhlbHBlci5ib3hXaWR0aD09IiIpew0KCQlpZih0ZWxlZ3JhbVNpdGVIZWxwZXIudHlwZT09ImVtYmVkIil7DQoJCQl0ZWxlZ3JhbVNpdGVIZWxwZXIuYm94V2lkdGg9IjEwMCUiOw0KCQl9ZWxzZXsNCgkJCXRlbGVncmFtU2l0ZUhlbHBlci5ib3hXaWR0aD0iMzUwcHgiOw0KCQl9DQoJfQ0KCS8qIENoZWNraW5nIGZvciBib3hIZWlnaHQqLw0KCWlmKCF0ZWxlZ3JhbVNpdGVIZWxwZXIuYm94SGVpZ2h0IHx8IHRlbGVncmFtU2l0ZUhlbHBlci5ib3hIZWlnaHQ9PSIiKXsNCgkJaWYodGVsZWdyYW1TaXRlSGVscGVyLnR5cGU9PSJlbWJlZCIpew0KCQkJdGVsZWdyYW1TaXRlSGVscGVyLmJveEhlaWdodD0iMTAwJSI7DQoJCX1lbHNlew0KCQkJdGVsZWdyYW1TaXRlSGVscGVyLmJveEhlaWdodD0iMjkwcHgiOw0KCQl9DQoJfQ0KCS8qIENoZWNraW5nIGZvciBib3haaW5kZXgqLw0KCWlmKCF0ZWxlZ3JhbVNpdGVIZWxwZXIuYm94WmluZGV4IHx8IHRlbGVncmFtU2l0ZUhlbHBlci5ib3haaW5kZXg9PSIiKXsNCgkJdGVsZWdyYW1TaXRlSGVscGVyLmJveFppbmRleD0iOTk5OSI7DQoJfQ0KCS8qIENyZWF0ZSBBdWRpbyBpbnN0YW5jZSAobmV3IG1lc3NhZ2Ugc291bmQpIGZyb20gYmFzZTY0IGF1ZGlvICovDQoJaWYodGVsZWdyYW1TaXRlSGVscGVyLmJhc2U2NHN0cmluZyl7DQoJCXRlbGVncmFtU2l0ZUhlbHBlci5zb3VuZCA9IG5ldyBBdWRpbyh0ZWxlZ3JhbVNpdGVIZWxwZXIuYmFzZTY0c3RyaW5nKTsNCgl9DQoJLyogU3R5bGUgY2xhc3NlcyBmb3IgbGFiZWwgKGluIGRlcGVuY2Ugb2YgbGFiZWwgcG9zaXRpb24gb24gcGFnZSkgKi8NCglpZih0ZWxlZ3JhbVNpdGVIZWxwZXIudHlwZT09InBvcHVwIiAmJiB0ZWxlZ3JhbVNpdGVIZWxwZXIuc2hvd0xhYmVsPT10cnVlKXsNCgkJaWYodGVsZWdyYW1TaXRlSGVscGVyLmNoYXRQb3NpdGlvbj09ImxiIiB8fCB0ZWxlZ3JhbVNpdGVIZWxwZXIuY2hhdFBvc2l0aW9uPT0icnQiKXsNCgkJCXZhciBsYWJlbENsYXNzZXM9InRzaC1sYWJlbCB0c2gtcm90YXRlMjcwIHRzaC1sYWJlbC0iK3RlbGVncmFtU2l0ZUhlbHBlci5jaGF0UG9zaXRpb247DQoJCX1lbHNlIGlmKHRlbGVncmFtU2l0ZUhlbHBlci5jaGF0UG9zaXRpb249PSJsdCIgfHwgdGVsZWdyYW1TaXRlSGVscGVyLmNoYXRQb3NpdGlvbj09InJiIil7DQoJCQl2YXIgbGFiZWxDbGFzc2VzPSJ0c2gtbGFiZWwgdHNoLXJvdGF0ZTkwIHRzaC1sYWJlbC0iK3RlbGVncmFtU2l0ZUhlbHBlci5jaGF0UG9zaXRpb247DQoJCX1lbHNlew0KCQkJdmFyIGxhYmVsQ2xhc3Nlcz0idHNoLWxhYmVsIHRzaC1sYWJlbC0iK3RlbGVncmFtU2l0ZUhlbHBlci5jaGF0UG9zaXRpb247DQoJCX0NCgkJLyogQ1NTIGZvciBsYWJlbCAqLw0KCQl2YXIgbGFiZWxTdHlsZT0iZm9udC1mYW1pbHk6Iit0ZWxlZ3JhbVNpdGVIZWxwZXIuZm9udEZhbWlseSsiOyBiYWNrZ3JvdW5kLWNvbG9yOiIrdGVsZWdyYW1TaXRlSGVscGVyLmFjY2VudENvbG9yKyI7IHotaW5kZXg6Iit0ZWxlZ3JhbVNpdGVIZWxwZXIuYm94WmluZGV4Ow0KDQoJCS8qIExhYmVsICovDQogCQl2YXIgY2hhdEJveExhYmVsTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KCQljaGF0Qm94TGFiZWxOb2RlLmlkPSJ0ZWxlZ3JhbVNpdGVIZWxwZXJDaGF0TGFiZWwiOw0KCQljaGF0Qm94TGFiZWxOb2RlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCBsYWJlbENsYXNzZXMpOw0KCQljaGF0Qm94TGFiZWxOb2RlLnNldEF0dHJpYnV0ZSgic3R5bGUiLCBsYWJlbFN0eWxlKTsNCgkJY2hhdEJveExhYmVsTm9kZS5pbm5lckhUTUw9dGVsZWdyYW1TaXRlSGVscGVyLmxhYmVsOw0KCQljb25zb2xlLmxvZyhjaGF0Qm94TGFiZWxOb2RlKTsNCiAJCWRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY2hhdEJveExhYmVsTm9kZSk7DQoNCgl9DQoNCgkvKiBDaGF0Ym94IGNsYXNzZXMgYW5kIHN0eWxlcyAqLwkNCgl2YXIgY2hhdGJveFN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiIrdGVsZWdyYW1TaXRlSGVscGVyLm1haW5Db2xvcisiOyBjb2xvcjoiK3RlbGVncmFtU2l0ZUhlbHBlci50ZXh0Q29sb3IrIjsgZm9udC1mYW1pbHk6Iit0ZWxlZ3JhbVNpdGVIZWxwZXIuZm9udEZhbWlseSsiOyB3aWR0aDoiK3RlbGVncmFtU2l0ZUhlbHBlci5ib3hXaWR0aCsiO2hlaWdodDoiK3RlbGVncmFtU2l0ZUhlbHBlci5ib3hIZWlnaHQrIjt6LWluZGV4OiIrdGVsZWdyYW1TaXRlSGVscGVyLmJveFppbmRleCsiOyINCglpZih0ZWxlZ3JhbVNpdGVIZWxwZXIudHlwZT09InBvcHVwIil7DQoJCXZhciBjaGF0Ym94Q2xhc3Nlcz0idHNoLWNoYXRib3ggdHNoLWNoYXRib3gtIit0ZWxlZ3JhbVNpdGVIZWxwZXIuY2hhdFBvc2l0aW9uDQoJCWlmKHBvcz09Imx0IiB8fCBwb3M9PSJsYiIgKXsNCgkJCWNoYXRib3hDbGFzc2VzKz0iIHNsaWRlSW5MZWZ0IjsNCgkJfWVsc2UgaWYocG9zPT0icnQiIHx8IHBvcz09InJiIil7DQoJCQljaGF0Ym94Q2xhc3Nlcys9IiBzbGlkZUluUmlnaHQiOw0KCQl9ZWxzZSBpZihwb3M9PSJ0bCIgfHwgcG9zPT0idHIiKXsNCgkJCWNoYXRib3hDbGFzc2VzKz0iIHNsaWRlSW5Eb3duIjsNCgkJfWVsc2UgaWYocG9zPT0iYmwiIHx8IHBvcz09ImJyIil7DQoJCQljaGF0Ym94Q2xhc3Nlcys9IiBzbGlkZUluVXAiOw0KCQl9DQoJCWNoYXRib3hTdHlsZSs9ImRpc3BsYXk6bm9uZTsgcG9zaXRpb246Zml4ZWQ7IjsNCgl9ZWxzZXsNCgkJdmFyIGNoYXRib3hDbGFzc2VzPSJ0c2gtY2hhdGJveCI7DQoJCWNoYXRib3hTdHlsZSs9ImRpc3BsYXk6YmxvY2s7IHBvc2l0aW9uOnJlbGF0aXZlOyI7DQoJfQ0KIA0KIAl2YXIgY2hhdEJveE5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsNCgljaGF0Qm94Tm9kZS5pZD0idGVsZWdyYW1TaXRlSGVscGVyQ2hhdEJveCI7DQoJY2hhdEJveE5vZGUuc2V0QXR0cmlidXRlKCJjbGFzcyIsIGNoYXRib3hDbGFzc2VzKyIgIGFuaW1hdGVkIik7DQoJY2hhdEJveE5vZGUuc2V0QXR0cmlidXRlKCJzdHlsZSIsIGNoYXRib3hTdHlsZSk7DQoNCg0KCS8qIENyZWF0aW5nIGNoYXRib3ggKi8NCgl2YXIJY2hhdEJveD0iPGRpdiBpZD1cInRlbGVncmFtU2l0ZUhlbHBlckNoYXRCb3gtaGVhZGVyXCIgY2xhc3M9XCJ0c2gtY2hhdGJveC1oZWFkZXJcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6Iit0ZWxlZ3JhbVNpdGVIZWxwZXIuYWNjZW50Q29sb3IrIjtcIj4iOw0KCWNoYXRCb3grPSB0ZWxlZ3JhbVNpdGVIZWxwZXIubGFiZWw7DQoJaWYodGVsZWdyYW1TaXRlSGVscGVyLnR5cGU9PSJwb3B1cCIpew0KCQkvKiBBZGRpbmcgY2xvc2UgY3Jvc3MgaW4gcG9wdXAgbW9kZSAqLw0KCQljaGF0Qm94Kz0iPGRpdiBpZD1cInRlbGVncmFtU2l0ZUhlbHBlckNoYXRCb3gtY2xvc2VcIiBjbGFzcz1cInRzaC1jaGF0Ym94LWNsb3NlXCI+JnRpbWVzOzwvZGl2PiI7DQoJfQ0KCWNoYXRCb3grPSI8L2Rpdj4iOw0KCWNoYXRCb3grPSI8ZGl2IGlkPVwidGVsZWdyYW1TaXRlSGVscGVyQ2hhdEJveC1ncmVldGluZ1wiIGNsYXNzPVwidHNoLWNoYXRib3gtZ3JlZXRpbmdcIj4iOw0KDQoJaWYodGVsZWdyYW1TaXRlSGVscGVyLnJlcXVpcmVOYW1lKXsNCgkJaWYodGVsZWdyYW1TaXRlSGVscGVyLm92ZXJyaWRlQ2hhdEN1c3RvbWVyTmFtZSE9bnVsbCAmJiB0ZWxlZ3JhbVNpdGVIZWxwZXIub3ZlcnJpZGVDaGF0Q3VzdG9tZXJOYW1lIT0iIil7DQoJCQl2YXIgY2hhdEN1c3RvbWVyTmFtZT10ZWxlZ3JhbVNpdGVIZWxwZXIub3ZlcnJpZGVDaGF0Q3VzdG9tZXJOYW1lOw0KCQkJdmFyIGRpc2FibGVDaGF0Q3VzdG9tZXJOYW1lPSJkaXNhYmxlZCINCgkJfWVsc2V7DQoJCQl2YXIgY2hhdEN1c3RvbWVyTmFtZT0iIjsJDQoJCQl2YXIgZGlzYWJsZUNoYXRDdXN0b21lck5hbWU9IiIJCQ0KCQl9DQoJCWNoYXRCb3grPSI8aW5wdXQgdHlwZT1cInRleHRcIiAiK2Rpc2FibGVDaGF0Q3VzdG9tZXJOYW1lKyIgdmFsdWU9XCIiK2NoYXRDdXN0b21lck5hbWUrIlwiIGlkPVwiY2hhdEN1c3RvbWVyTmFtZVwiIGNsYXNzPVwidHNoLWNoYXRib3gtZ3JlZXRpbmctaW5wdXRcIiBwbGFjZWhvbGRlcj1cIiIrdGVsZWdyYW1TaXRlSGVscGVyLnlvdXJOYW1lKyJcIj4iOw0KCX0NCglpZih0ZWxlZ3JhbVNpdGVIZWxwZXIucmVxdWlyZVBob25lKXsNCgkJY2hhdEJveCs9IjxpbnB1dCB0eXBlPVwidGV4dFwiIGlkPVwiY2hhdEN1c3RvbWVyUGhvbmVcIiBjbGFzcz1cInRzaC1jaGF0Ym94LWdyZWV0aW5nLWlucHV0XCIgcGxhY2Vob2xkZXI9XCIiK3RlbGVncmFtU2l0ZUhlbHBlci55b3VyUGhvbmUrIlwiPiI7DQoJfQ0KCWNoYXRCb3grPSI8YnV0dG9uIGlkPVwidGVsZWdyYW1TaXRlSGVscGVyU3RhcnRDaGF0XCIgY2xhc3M9XCJ0c2gtY2hhdGJveC1ncmVldGluZy1idXR0b25cIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6Iit0ZWxlZ3JhbVNpdGVIZWxwZXIuYWNjZW50Q29sb3IrIlwiPiIrdGVsZWdyYW1TaXRlSGVscGVyLnN0YXJ0Q2hhdCsiPC9idXR0b24+IjsNCgljaGF0Qm94Kz0iPC9kaXY+IjsNCgljaGF0Qm94Kz0iPGRpdiBpZD1cInRlbGVncmFtU2l0ZUhlbHBlckNoYXRCb3gtY29udGFpbmVyXCIgY2xhc3M9XCJ0c2gtY2hhdGJveC1jb250YWluZXJcIj48L2Rpdj4iOw0KCWNoYXRCb3grPSI8ZGl2IGlkPVwidGVsZWdyYW1TaXRlSGVscGVyQ2hhdEJveC1pbnB1dFwiIGNsYXNzPVwidHNoLWNoYXRib3gtaW5wdXRBcmVhXCI+IjsNCglpZih0ZWxlZ3JhbVNpdGVIZWxwZXIuYXR0YWNoRmlsZSl7DQoJCXZhciBwYWRkaW5nRm9yQXR0YWNoU3R5bGU9ImxlZnQ6MzBweDsiDQoJfWVsc2V7DQoJCXZhciBwYWRkaW5nRm9yQXR0YWNoU3R5bGU9ImxlZnQ6MHB4OyINCgl9DQoJY2hhdEJveCs9IjxkaXYgY2xhc3M9XCJ0c2gtY2hhdGJveC1tZXNzYWdlLWNvbnRhaW5lclwiIGlkPVwidGVsZWdyYW1TaXRlSGVscGVyTWVzc2FnZUNvbnRhaW5lclwiIHN0eWxlPVwiIitwYWRkaW5nRm9yQXR0YWNoU3R5bGUrIlwiPiI7CQ0KCWNoYXRCb3grPSI8dGV4dGFyZWEgaWQ9XCJ0ZWxlZ3JhbVNpdGVIZWxwZXJNZXNzYWdlXCIgY2xhc3M9XCJ0c2gtY2hhdGJveC1tZXNzYWdlXCIgcGxhY2Vob2xkZXI9XCIiK3RlbGVncmFtU2l0ZUhlbHBlci5lbnRlcllvdXJNZXNzYWdlKyJcIj48L3RleHRhcmVhPiI7DQoJY2hhdEJveCs9IjwvZGl2PiI7DQoNCglpZih0ZWxlZ3JhbVNpdGVIZWxwZXIuYXR0YWNoRmlsZSl7DQoJCWNoYXRCb3grPSI8ZGl2IGlkPVwidGVsZWdyYW1TaXRlSGVscGVyQXR0YWNoXCIgY2xhc3M9XCJ0c2gtY2hhdGJveC1hdHRhY2hcIiB0aXRsZT1cIiIrdGVsZWdyYW1TaXRlSGVscGVyLmF0dGFjaEZpbGVUaXRsZSsiXCI+PC9kaXY+IjsNCgkJY2hhdEJveCs9IjxpbnB1dCB0eXBlPVwiZmlsZVwiIGlkPVwidGVsZWdyYW1TaXRlSGVscGVyQXR0YWNoSW5wdXRcIj4iOw0KCX0NCgljaGF0Qm94Kz0iPGRpdiBpZD1cInRlbGVncmFtU2l0ZUhlbHBlckVudGVyXCIgY2xhc3M9XCJ0c2gtY2hhdGJveC1lbnRlclwiPjwvZGl2PiI7DQoJY2hhdEJveCs9IjwvZGl2PiI7DQoJDQoJLyogQXBwZW5kaW5nIGNoYXRib3ggdG8gQm9keSAqLw0KCWlmKHRlbGVncmFtU2l0ZUhlbHBlci50eXBlPT0iZW1iZWQiKXsNCgkJaWYodGVsZWdyYW1TaXRlSGVscGVyLnBhcmVudEVsZW1lbnRJZCl7DQoJCQl2YXIgcGFyZW50RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRlbGVncmFtU2l0ZUhlbHBlci5wYXJlbnRFbGVtZW50SWQpOw0KCQkJaWYocGFyZW50RWxlbWVudCl7DQoJCQkJcGFyZW50RWxlbWVudC5hcHBlbmRDaGlsZChjaGF0Qm94Tm9kZSk7DQoJCQl9ZWxzZXsNCgkJCQljb25zb2xlLmVycm9yKCJUU0ggPiAiKyJVbmtub3duIHBhcmVudEVsZW1lbnRJZCBmb3IgY2hhdCBib3giKTsNCgkJCX0NCgkJfQ0KCX1lbHNlew0KCQlkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNoYXRCb3hOb2RlKTsNCgl9DQoNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVsZWdyYW1TaXRlSGVscGVyQ2hhdEJveCIpLmlubmVySFRNTD1jaGF0Qm94Ow0KDQogCWlmKHRlbGVncmFtU2l0ZUhlbHBlci5hdHRhY2hGaWxlKXsNCgkgCXZhciBwaG90b1Nob3dOb2RlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KCSAJcGhvdG9TaG93Tm9kZS5pZD0idHNoLXBob3RvLXNob3ciOw0KCSAJZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwaG90b1Nob3dOb2RlKTsNCg0KCSAJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRzaC1waG90by1zaG93Iikub25jbGljaz1mdW5jdGlvbigpew0KCSAJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0c2gtcGhvdG8tc2hvdyIpLnN0eWxlLmRpc3BsYXk9Im5vbmUiDQoJIAkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRzaC1iaWctaW1hZ2UiKS5yZW1vdmUoKQ0KCSAJfSANCgkgCWJpbmRBdHRhY2hGaWxlKCk7DQoJfQ0KDQoJLyogQmluZCBjbGljayBvbiBsYWJlbCAob3BlbiBjaGF0LWJveCkgYW5kIGNsaWNrIG9uIGNsb3NlIChjbG9zZSBjaGF0LWJveCkqLw0KCWlmKHRlbGVncmFtU2l0ZUhlbHBlci50eXBlPT0icG9wdXAiKXsNCgkJaWYodGVsZWdyYW1TaXRlSGVscGVyLnBvcHVwYnllbGVtZW50PT1udWxsIHx8IHRlbGVncmFtU2l0ZUhlbHBlci5wb3B1cGJ5ZWxlbWVudD09IiIpew0KCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbGVncmFtU2l0ZUhlbHBlckNoYXRMYWJlbCcpLm9uY2xpY2s9ZnVuY3Rpb24oKXsNCgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVsZWdyYW1TaXRlSGVscGVyQ2hhdEJveCcpLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjsNCgkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVsZWdyYW1TaXRlSGVscGVyQ2hhdExhYmVsJykuc3R5bGUuZGlzcGxheT0ibm9uZSI7DQoJCQkJdHNoU2Nyb2xsRG93bigpOw0KCQkJfTsNCgkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZWxlZ3JhbVNpdGVIZWxwZXJDaGF0Qm94LWNsb3NlJykub25jbGljaz1mdW5jdGlvbigpew0KCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZWxlZ3JhbVNpdGVIZWxwZXJDaGF0TGFiZWwnKS5zdHlsZS5kaXNwbGF5PSJibG9jayI7DQoJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbGVncmFtU2l0ZUhlbHBlckNoYXRCb3gnKS5zdHlsZS5kaXNwbGF5PSJub25lIjsNCgkJCX07DQoJCX1lbHNlew0KCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGVsZWdyYW1TaXRlSGVscGVyLnBvcHVwYnllbGVtZW50KS5vbmNsaWNrPWZ1bmN0aW9uKCl7DQoJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbGVncmFtU2l0ZUhlbHBlckNoYXRCb3gnKS5zdHlsZS5kaXNwbGF5PSJibG9jayI7DQoJCQkJdHNoU2Nyb2xsRG93bigpOw0KCQkJfTsNCgkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZWxlZ3JhbVNpdGVIZWxwZXJDaGF0Qm94LWNsb3NlJykub25jbGljaz1mdW5jdGlvbigpew0KCQkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZWxlZ3JhbVNpdGVIZWxwZXJDaGF0Qm94Jykuc3R5bGUuZGlzcGxheT0ibm9uZSI7DQoJCQl9Ow0KCQl9DQoJfQ0KIA0KCS8qIEJpbmQgY2xpY2sgb24gc2VuZCBidG4gKi8NCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVsZWdyYW1TaXRlSGVscGVyRW50ZXInKS5vbmNsaWNrPWZ1bmN0aW9uKCl7DQoJCXNlbmRNZXNzYWdlKCk7DQoJfTsNCg0KCS8qIEJpbmQgY3RybCtlbnRlciBwcmVzcyBmb3IgdGV4dGFyZWEgdG8gc2VuZCBtZXNzYWdlICovDQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbGVncmFtU2l0ZUhlbHBlck1lc3NhZ2UnKS5vbmtleXByZXNzPWZ1bmN0aW9uKGUpew0KCQlpZiAoKGUuY3RybEtleSB8fCBlLm1ldGFLZXkpICYmIChlLmtleUNvZGUgPT0gMTMgfHwgZS5rZXlDb2RlID09IDEwKSkgew0KCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbGVncmFtU2l0ZUhlbHBlck1lc3NhZ2UnKS52YWx1ZSs9IlxyIg0KCQl9ZWxzZSBpZihlLmtleUNvZGUgPT0gMTMgfHwgZS5rZXlDb2RlID09IDEwKXsNCgkJCXNlbmRNZXNzYWdlKCk7DQoJCX0NCgl9Ow0KDQoJLyogQ2hlY2tpbmcgZm9yIGNoYXRJZCBpbiBjb29raWVzICovDQoJdmFyIGNoYXRJZCA9IHRlbGVncmFtU2l0ZUhlbHBlckdldENvb2tpZSgiY2hhdElkIik7DQoJdGVsZWdyYW1TaXRlSGVscGVyLmNoYXRJZD1jaGF0SWQ7DQoNCgkvKiBJZiBjaGF0SWQgaXNzZXQgLT4gZ2V0dGluZyBhbGwgbWVzc2FnZXMgYW5kIHVwZGF0ZXMgKi8NCglpZih0ZWxlZ3JhbVNpdGVIZWxwZXIuY2hhdElkKXsNCgkJaWYodGVsZWdyYW1TaXRlSGVscGVyLnRyYW5zbGF0aW9uVHlwZT09InNzZSIpew0KCQkJc3RhcnRUcmFuc2xhdGlvbigpOw0KCQl9ZWxzZXsNCgkJCXN0YXJ0TG9uZ1BvbGwoKTsNCgkJfQ0KCS8qIElmIGNoYXRJZCBpcyBub3Qgc2V0IGFuZCBwZXJzb25hbCBmaWVsZHMgaXMgbm90IHJlcXVpcmVkIC0+IHN0YXJ0IG5ldyBjaGF0ICovDQoJfWVsc2UgaWYodGVsZWdyYW1TaXRlSGVscGVyLnJlcXVpcmVOYW1lPT1mYWxzZSAmJiB0ZWxlZ3JhbVNpdGVIZWxwZXIucmVxdWlyZVBob25lPT1mYWxzZSAmJiB0ZWxlZ3JhbVNpdGVIZWxwZXIudHlwZT09ImVtYmVkIil7DQoJCW5ld0NoYXQoKTsNCgl9ZWxzZXsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbGVncmFtU2l0ZUhlbHBlclN0YXJ0Q2hhdCIpLm9uY2xpY2s9ZnVuY3Rpb24oKXsNCgkJCW5ld0NoYXQoKTsNCgkJfTsNCgl9DQp9DQoNCnNlcnZlclNpZGVFdmVudD1udWxsDQovKiBHZXR0aW5nIGRhdGEgd2l0aCBTZXJ2ZXIgU2lkZSBFdmVudCAqLw0KZnVuY3Rpb24gc3RhcnRUcmFuc2xhdGlvbigpew0KCWNvbnNvbGUubG9nKCJUU0ggPiBTdGFydCBnZXR0aW5nIGRhdGEgYnkgU2VydmVyU2lkZUV2ZW50Iik7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbGVncmFtU2l0ZUhlbHBlckNoYXRCb3gtZ3JlZXRpbmcnKS5zdHlsZS5kaXNwbGF5PSJub25lIjsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVsZWdyYW1TaXRlSGVscGVyQ2hhdEJveC1jb250YWluZXInKS5zdHlsZS5kaXNwbGF5PSJibG9jayI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbGVncmFtU2l0ZUhlbHBlckNoYXRCb3gtaW5wdXQnKS5zdHlsZS5kaXNwbGF5PSJibG9jayI7DQoJdHNoU2Nyb2xsRG93bigpOw0KCXRyeXtzZXJ2ZXJTaWRlRXZlbnQuY2xvc2UoKTt9Y2F0Y2goZSl7fQ0KCXNlcnZlclNpZGVFdmVudCA9IG5ldyBFdmVudFNvdXJjZSh0ZWxlZ3JhbVNpdGVIZWxwZXIuYXBpVXJsKyI/YWN0PXBvbGxNZXNzYWdlcyZ0eXBlPXNzZSZjaGF0SWQ9Iit0ZWxlZ3JhbVNpdGVIZWxwZXIuY2hhdElkKTsNCglzZXJ2ZXJTaWRlRXZlbnQub25tZXNzYWdlID0gZnVuY3Rpb24oZSkgew0KCQl2YXIgZGF0YT1KU09OLnBhcnNlKGUuZGF0YSk7DQoJCWlmKGRhdGEuY29tbWFuZD09ImFsbE1lc3NhZ2VzIil7DQoJCQlhZGRNZXNzYWdlcyhkYXRhLm1lc3NhZ2VzKQ0KCQl9ZWxzZSBpZihkYXRhLmNvbW1hbmQ9PSJuZXdNZXNzYWdlcyIpew0KCQkJYWRkTWVzc2FnZXMoZGF0YS5tZXNzYWdlcykNCgkJCWlmKHRlbGVncmFtU2l0ZUhlbHBlci5zb3VuZCl7DQoJCQkJdGVsZWdyYW1TaXRlSGVscGVyLnNvdW5kLnBsYXkoKTsNCgkJCX0NCgkJfWVsc2UgaWYoZGF0YS5jb21tYW5kPT0ibG9hZENvbXBsZXRlIil7DQoJCX1lbHNlIGlmKGRhdGEuY29tbWFuZD09ImVycm9yIil7DQoJCQlpZihkYXRhLmVycm9yPT0iQkFEX0NIQVRfSUQiKXsNCgkJCQl0cnl7DQoJCQkJCXNlcnZlclNpZGVFdmVudC5jbG9zZSgpOw0KCQkJCQluZXdDaGF0KCk7DQoJCQkJfWNhdGNoKGUpe30NCgkJCX0NCgkJfQ0KCX07DQp9DQoNCg0KLyogR2V0dGluZyBkYXRhIHdpdGggTG9uZy1wb2xsIHF1ZXJ5Ki8NCmxhc3RNZXNzYWdlSWQ9MDsNCmxvbmdQb2xsPW51bGw7DQpsb25nUG9sbFRpbWVyPW51bGw7DQpmdW5jdGlvbiBzdGFydExvbmdQb2xsKCl7DQoJY29uc29sZS5sb2coIlRTSCA+IFN0YXJ0IGdldHRpbmcgZGF0YSBieSBMb25nUG9sbCIpOw0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZWxlZ3JhbVNpdGVIZWxwZXJDaGF0Qm94LWdyZWV0aW5nJykuc3R5bGUuZGlzcGxheT0ibm9uZSI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbGVncmFtU2l0ZUhlbHBlckNoYXRCb3gtY29udGFpbmVyJykuc3R5bGUuZGlzcGxheT0iYmxvY2siOw0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZWxlZ3JhbVNpdGVIZWxwZXJDaGF0Qm94LWlucHV0Jykuc3R5bGUuZGlzcGxheT0iYmxvY2siOw0KCXRyeXtsb25nUG9sbC5hYm9ydCgpO31jYXRjaChlKXt9DQoJdHJ5e2NsZWFyVGltZW91dChsb25nUG9sbFRpbWVyKTt9Y2F0Y2goZSl7fQ0KCWxvbmdQb2xsID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7DQoJbG9uZ1BvbGwudGltZW91dD02MDAwMDsNCgl2YXIgbG9uZ1BvbGxVUkw9dGVsZWdyYW1TaXRlSGVscGVyLmFwaVVybCsiP2FjdD1wb2xsTWVzc2FnZXMmdHlwZT1scCZjaGF0SWQ9Iit0ZWxlZ3JhbVNpdGVIZWxwZXIuY2hhdElkKyImbGFzdE1lc3NhZ2VJZD0iK2xhc3RNZXNzYWdlSWQ7DQogCWxvbmdQb2xsLm9wZW4oJ1BPU1QnLCBsb25nUG9sbFVSTCwgdHJ1ZSk7DQoJbG9uZ1BvbGwuc2VuZCgpOw0KIAlsb25nUG9sbC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpew0KCQlpZih0aGlzLnJlYWR5U3RhdGU9PTQpew0KCQkJY29uc29sZS5sb2codGhpcy5zdGF0dXMpDQoJCQlpZih0aGlzLnN0YXR1cyA9PSAyMDApew0KCQkJCWlmKHRoaXMucmVzcG9uc2VUZXh0KXsNCgkJCQkJdHJ5ew0KCQkJCQkJdmFyIGRhdGEgPSBKU09OLnBhcnNlKHRoaXMucmVzcG9uc2VUZXh0KTsNCgkJCQkJCWlmKGRhdGEuY29tbWFuZD09ImFsbE1lc3NhZ2VzIil7DQoJCQkJCQkJYWRkTWVzc2FnZXMoZGF0YS5tZXNzYWdlcykNCg0KCQkJCQkJCWxhc3RNZXNzYWdlSWQ9ZGF0YS5sYXN0TWVzc2FnZUlkOw0KCQkJCQkJCWlmKGxhc3RNZXNzYWdlSWQ9PTApew0KCQkJCQkJCQlsb25nUG9sbFRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXsNCgkJCQkJCQkJCXN0YXJ0TG9uZ1BvbGwoKTsNCgkJCQkJCQkJfSwgMjAwMCk7DQoJCQkJCQkJfWVsc2V7DQoJCQkJCQkJCXN0YXJ0TG9uZ1BvbGwoKTsNCgkJCQkJCQl9DQoJCQkJCQl9ZWxzZSBpZihkYXRhLmNvbW1hbmQ9PSJuZXdNZXNzYWdlcyIpew0KCQkJCQkJCWFkZE1lc3NhZ2VzKGRhdGEubWVzc2FnZXMpDQoJCQkJCQkJaWYodGVsZWdyYW1TaXRlSGVscGVyLnNvdW5kKXsNCgkJCQkJCQkJdGVsZWdyYW1TaXRlSGVscGVyLnNvdW5kLnBsYXkoKTsNCgkJCQkJCQl9DQoJCQkJCQkJbGFzdE1lc3NhZ2VJZD1kYXRhLmxhc3RNZXNzYWdlSWQ7DQoJCQkJCQkJaWYobGFzdE1lc3NhZ2VJZD09MCl7DQoJCQkJCQkJCWxvbmdQb2xsVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpew0KCQkJCQkJCQkJc3RhcnRMb25nUG9sbCgpOw0KCQkJCQkJCQl9LCAyMDAwKTsNCgkJCQkJCQl9ZWxzZXsNCgkJCQkJCQkJc3RhcnRMb25nUG9sbCgpOw0KCQkJCQkJCX0NCgkJCQkJCX1lbHNlIGlmKGRhdGEuY29tbWFuZD09InRpbWVvdXQiKXsNCgkJCQkJCQlzdGFydExvbmdQb2xsKCk7DQoJCQkJCQl9ZWxzZSBpZihkYXRhLmNvbW1hbmQ9PSJlcnJvciIpew0KCQkJCQkJCWlmKGRhdGEuZXJyb3I9PSJCQURfQ0hBVF9JRCIpew0KCQkJCQkJCQl0cnl7DQoJCQkJCQkJCQlsb25nUG9sbC5hYm9ydCgpOw0KCQkJCQkJCQkJY2xlYXJUaW1lb3V0KGxvbmdQb2xsVGltZXIpOw0KCQkJCQkJCQkJbmV3Q2hhdCgpDQoJCQkJCQkJCX1jYXRjaChlKXt9DQoJCQkJCQkJfWVsc2V7DQoJCQkJCQkJCWNvbnNvbGUuZXJyb3IoIlRTSCA+ICIrZGF0YS5lcnJvcikNCgkJCQkJCQkJbG9uZ1BvbGxUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7DQoJCQkJCQkJCQlzdGFydExvbmdQb2xsKCk7DQoJCQkJCQkJCX0sIDIwMDApOw0KCQkJCQkJCX0NCgkJCQkJCX0NCgkJCQkJfWNhdGNoKGUpew0KCQkJCQkJY29uc29sZS5sb2codGhpcy5yZXNwb25zZVRleHQpOw0KCQkJCQkJbG9uZ1BvbGxUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7DQoJCQkJCQkJc3RhcnRMb25nUG9sbCgpOw0KCQkJCQkJfSwgMjAwMCk7DQoJCQkJCX0NCgkJCQl9ZWxzZXsNCgkJCQkJY29uc29sZS5sb2codGhpcy5yZXNwb25zZVRleHQpOw0KCQkJCQlsb25nUG9sbFRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXsNCgkJCQkJCXN0YXJ0TG9uZ1BvbGwoKTsNCgkJCQkJfSwgMjAwMCk7DQoJCQkJfQ0KCQkJfWVsc2V7DQoJCQkJY29uc29sZS5sb2codGhpcyk7DQoJCQkJbG9uZ1BvbGxUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7DQoJCQkJCXN0YXJ0TG9uZ1BvbGwoKTsNCgkJCQl9LCAyMDAwKTsNCgkJCX0NCgkJfQ0KCX0NCg0KfQ0KDQoNCg0KZnVuY3Rpb24gbmV3Q2hhdCgpew0KCWNvbnNvbGUubG9nKCJUU0ggPiAiKyJTdGFydGluZyBuZXcgY2hhdCIpDQoJDQoJdHJ5e3NlcnZlclNpZGVFdmVudC5jbG9zZSgpO31jYXRjaChlKXt9DQoJdHJ5e2xvbmdQb2xsLmFib3J0KCk7fWNhdGNoKGUpe30NCgl0cnl7Y2xlYXJUaW1lb3V0KGxvbmdQb2xsVGltZXIpO31jYXRjaChlKXt9DQoNCgl2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7DQoJeGhyLm9wZW4oJ1BPU1QnLCB0ZWxlZ3JhbVNpdGVIZWxwZXIuYXBpVXJsKyI/YWN0PW5ld0NoYXQiLCB0cnVlKTsNCgl2YXIgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTsNCglpZih0ZWxlZ3JhbVNpdGVIZWxwZXIucmVxdWlyZU5hbWUgfHwgdGVsZWdyYW1TaXRlSGVscGVyLm92ZXJyaWRlQ2hhdEN1c3RvbWVyTmFtZSE9bnVsbCl7DQoJCWlmKHRlbGVncmFtU2l0ZUhlbHBlci5vdmVycmlkZUNoYXRDdXN0b21lck5hbWUhPW51bGwgJiYgdGVsZWdyYW1TaXRlSGVscGVyLm92ZXJyaWRlQ2hhdEN1c3RvbWVyTmFtZSE9IiIpew0KCQkJdmFyIGNoYXRDdXN0b21lck5hbWU9dGVsZWdyYW1TaXRlSGVscGVyLm92ZXJyaWRlQ2hhdEN1c3RvbWVyTmFtZTsNCgkJfWVsc2V7DQoJCQl2YXIgY2hhdEN1c3RvbWVyTmFtZT0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoYXRDdXN0b21lck5hbWUiKS52YWx1ZQkJCQ0KCQl9DQoJCWZvcm1EYXRhLmFwcGVuZCgiY2hhdEN1c3RvbWVyTmFtZSIsY2hhdEN1c3RvbWVyTmFtZSk7DQoJfQ0KCWlmKHRlbGVncmFtU2l0ZUhlbHBlci5yZXF1aXJlUGhvbmUpew0KCQlmb3JtRGF0YS5hcHBlbmQoImNoYXRDdXN0b21lclBob25lIiwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoYXRDdXN0b21lclBob25lIikudmFsdWUpDQoJfQ0KCXhoci5zZW5kKGZvcm1EYXRhKTsNCgl4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKXsNCgkJaWYodGhpcy5yZWFkeVN0YXRlPT00KXsNCgkJCWlmKHRoaXMuc3RhdHVzID09IDIwMCl7DQoJCQkJaWYodGhpcy5yZXNwb25zZVRleHQpew0KCQkJCQl0cnl7DQoJCQkJCQl2YXIgYW5zd2VyID0gSlNPTi5wYXJzZSh0aGlzLnJlc3BvbnNlVGV4dCk7DQoJCQkJCQlpZihhbnN3ZXIuc3RhdHVzPT0ib2siKXsNCgkJCQkJCQl0ZWxlZ3JhbVNpdGVIZWxwZXIuY2hhdElkPWFuc3dlci5jaGF0SWQ7DQoJCQkJCQkJdGVsZWdyYW1TaXRlSGVscGVyLm1hbmFnZXI9YW5zd2VyLm1hbmFnZXI7DQoJCQkJCQkJdGVsZWdyYW1TaXRlSGVscGVyU2V0Q29va2llKCJjaGF0SWQiLHRlbGVncmFtU2l0ZUhlbHBlci5jaGF0SWQseyJleHBpcmVzIjozNjAwMDAsInBhdGgiOiIvIn0pOw0KCQkJCQkJCWlmKHRlbGVncmFtU2l0ZUhlbHBlci50cmFuc2xhdGlvblR5cGU9PSJzc2UiKXsNCgkJCQkJCQkJc3RhcnRUcmFuc2xhdGlvbigpOw0KCQkJCQkJCX1lbHNlew0KCQkJCQkJCQlzdGFydExvbmdQb2xsKCk7DQoJCQkJCQkJfQ0KCQkJCQkJfWVsc2V7DQoJCQkJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbGVncmFtU2l0ZUhlbHBlckNoYXRCb3gtZ3JlZXRpbmcnKS5zdHlsZS5kaXNwbGF5PSJub25lIjsNCgkJCQkJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVsZWdyYW1TaXRlSGVscGVyQ2hhdEJveC1jb250YWluZXInKS5zdHlsZS5kaXNwbGF5PSJibG9jayI7DQogCQkJCQkJCWlmKGFuc3dlci5lcnJvcj09Ik5PX01BTkFHRVJTX0FWQUxJQUJMRSIpew0KCQkJCQkJCQlhZGRTeXN0ZW1NZXNzYWdlKHRlbGVncmFtU2l0ZUhlbHBlci5ub01hbmFnZXJzQXZhaWxhYmxlLCAidHNoLWRhbmdlciIpOw0KCQkJCQkJCX1lbHNlew0KCQkJCQkJCQlhZGRTeXN0ZW1NZXNzYWdlKGFuc3dlci5lcnJvciwgInRzaC1kYW5nZXIiKTsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX1jYXRjaChlKXsNCgkJCQkJCWNvbnNvbGUuZXJyb3IoIlRTSCA+ICIrIkNhbmB0IGNyZWF0ZSBuZXcgY2hhdCIpOw0KCQkJCQkJY29uc29sZS5sb2codGhpcy5yZXNwb25zZVRleHQpOw0KCQkJCQl9DQoJCQkJfWVsc2V7DQoJCQkJCWNvbnNvbGUuZXJyb3IoIlRTSCA+ICIrIkNhbmB0IGNyZWF0ZSBuZXcgY2hhdCIpOw0KCQkJCQljb25zb2xlLmxvZyh0aGlzLnJlc3BvbnNlVGV4dCk7DQoJCQkJfQ0KCQkJfWVsc2V7DQoJCQkJY29uc29sZS5lcnJvcigiVFNIID4gIisiQ2FuYHQgY3JlYXRlIG5ldyBjaGF0Iik7DQoJCQkJY29uc29sZS5sb2codGhpcyk7DQoJCQl9DQoJCX0NCgl9DQp9DQoNCg0KZnVuY3Rpb24gYWRkTWVzc2FnZXMobWVzc2FnZXMpew0KCW1lc3NhZ2VzLmZvckVhY2goZnVuY3Rpb24obWVzc2FnZSwgaSkgew0KCQlhZGRNZXNzYWdlKG1lc3NhZ2UpDQoJfSk7DQp9DQoNCg0KDQpmdW5jdGlvbiBhZGRNZXNzYWdlKG1lc3NhZ2Upew0KCXRyeXsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRzaF8iK21lc3NhZ2UubXNnSWQpLnJlbW92ZSgpOw0KCX1jYXRjaChlKXt9DQoJdmFyIG1zZz0iIjsNCglpZihtZXNzYWdlLm1zZ0Zyb209PSJjbGllbnQiKXsNCgkJdmFyIGM9InRzaC1yaWdodCI7DQoJCXZhciBuPXRlbGVncmFtU2l0ZUhlbHBlci55b3U7DQoJfWVsc2V7DQoJCXZhciBjPSIiOw0KCQlpZihtZXNzYWdlLm1hbmFnZXJOYW1lIT1udWxsKXsNCgkJCXZhciBuPW1lc3NhZ2UubWFuYWdlck5hbWU7DQoJCX1lbHNlew0KCQkJdmFyIG49dGVsZWdyYW1TaXRlSGVscGVyLm1hbmFnZXI7CQ0KCQl9DQoJfQ0KCW1zZys9IjxkaXYgY2xhc3M9XCJ0c2gtbXNnICIrYysiXCIgaWQ9XCJ0c2hfIittZXNzYWdlLm1zZ0lkKyJcIj4iOw0KCW1zZys9IjxkaXYgY2xhc3M9XCJ0c2gtbXNnLWhlYWRlclwiPiIrbisiIDxzcGFuIGNsYXNzPVwidHNoLXRpbWVcIj4iK21lc3NhZ2UubXNnVGltZSsiPHNwYW4+PC9kaXY+IjsNCglpZihtZXNzYWdlLm1zZ1RleHQ9PW51bGwpew0KCQltZXNzYWdlLm1zZ1RleHQ9IiINCgl9DQogCXRyeXsNCgkJdmFyIG1zZ0pTT04gPSBKU09OLnBhcnNlKG1lc3NhZ2UubXNnVGV4dCk7DQoJCWlmKG1zZ0pTT04uZmlsZSAmJiBtc2dKU09OLmZpbGVuYW1lKXsNCgkJCW1lc3NhZ2UubXNnVGV4dD0iPGEgaHJlZj1cIiIrdGVsZWdyYW1TaXRlSGVscGVyLmFwaVVybCsiP2FjdD1nZXREb2N1bWVudCZmaWxlSWQ9Iittc2dKU09OLmZpbGUrIiZmaWxlbmFtZT0iK2VuY29kZVVSSUNvbXBvbmVudChtc2dKU09OLmZpbGVuYW1lKSsiXCIgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJ0c2gtZmlsZVwiIGlkPVwiZmlsZV8iK21lc3NhZ2UubXNnSWQrIlwiPiIrbXNnSlNPTi5maWxlbmFtZSsiPC9hPiI7DQoJCX1lbHNlIGlmKG1zZ0pTT04ucGhvdG8pew0KCQkJbWVzc2FnZS5tc2dUZXh0PSI8ZGl2IG9uY2xpY2s9XCJiaWdJbWcoJ2ltZ18iK21lc3NhZ2UubXNnSWQrIicpXCIgY2xhc3M9XCJ0c2gtaW1nXCIgaWQ9XCJpbWFnZV8iK21lc3NhZ2UubXNnSWQrIlwiPjxpbWcgIGlkPVwiaW1nXyIrbWVzc2FnZS5tc2dJZCsiXCIgc3JjPVwiIit0ZWxlZ3JhbVNpdGVIZWxwZXIuYXBpVXJsKyI/YWN0PWdldFBob3RvJmZpbGVJZD0iK21zZ0pTT04ucGhvdG8rIlwiPjwvZGl2PiI7DQoJCX1lbHNlIGlmKG1zZ0pTT04udGV4dCl7DQoJCQkvKiBsb29raW5nIGZvciBsaW5rcyBoZXJlICovDQoJCQl2YXIgcGF0dGVybiA9ICcoPzooPzpodHxmKXRwcz86Ly8pPyg/OltcXC1cXHddKzpbXFwtXFx3XStAKT8oPzpbMC05YS16XVtcXC0wLTlhLXpdKlswLTlhLXpdXFwuKStbYS16XXsyLDZ9KD86OlxcZHsxLDV9KT8oPzpbPy9cXFxcI11bPyFeJC4oKXt9Onw9W1xcXStcXC0vXFxcXCo7Jn4jQCwlXFx30JAt0K/QsC3Rj10qKT8nOw0KCQkJdmFyIHJlZyA9IG5ldyBSZWdFeHAocGF0dGVybik7DQoJCQltZXNzYWdlLm1zZ1RleHQgPSBtc2dKU09OLnRleHQucmVwbGFjZShyZWcsIGZ1bmN0aW9uKHMpew0KCQkJCXZhciBzdHIgPSAoLzpcL1wvLy5leGVjKHMpID09PSBudWxsID8gImh0dHA6Ly8iICsgcyA6IHMgKTsNCgkJCQlyZXR1cm4gIjxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCIiKyBzdHIgKyAiXCI+IiArIHN0ciAvKnMqLyArICI8L2E+IjsgDQoJCQl9KTsNCgkJfQ0KCX1jYXRjaChlKXt9DQogCW1zZys9IjxkaXYgY2xhc3M9XCJ0c2gtbXNnLWJvZHlcIj4iK21lc3NhZ2UubXNnVGV4dCsiPC9kaXY+IjsNCgltc2crPSI8L2Rpdj4iOw0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZWxlZ3JhbVNpdGVIZWxwZXJDaGF0Qm94LWNvbnRhaW5lciIpLmlubmVySFRNTCs9bXNnOw0KCXNldFRpbWVvdXQoZnVuY3Rpb24oKXt0c2hTY3JvbGxEb3duKCk7fSwxMDApOw0KfQ0KDQoNCi8qIEFkZGluZyBzeXN0ZW0gbWVzc2FnZSAqLw0KZnVuY3Rpb24gYWRkU3lzdGVtTWVzc2FnZShtZXNzYWdlLCBtc2djbGFzcyl7DQoJdmFyIG1zZz0iIjsNCgltc2crPSI8ZGl2IGNsYXNzPVwidHNoLW1zZyB0c2gtc3lzdGVtICIrbXNnY2xhc3MrIlwiPiI7DQoJbXNnKz0iPGRpdiBjbGFzcz1cInRzaC1tc2ctaGVhZGVyXCI+PC9kaXY+IjsNCgltc2crPSI8ZGl2IGNsYXNzPVwidHNoLW1zZy1ib2R5XCI+IittZXNzYWdlKyI8L2Rpdj4iOw0KCW1zZys9IjwvZGl2PiI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbGVncmFtU2l0ZUhlbHBlckNoYXRCb3gtY29udGFpbmVyIikuaW5uZXJIVE1MKz1tc2c7DQoJdHNoU2Nyb2xsRG93bigpOw0KfQ0KDQoNCi8qIFNlbmRpbmcgbWVzc2FnZSBmdW5jdGlvbiAqLw0KZnVuY3Rpb24gc2VuZE1lc3NhZ2UoKXsNCgl2YXIgbWVzc2FnZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVsZWdyYW1TaXRlSGVscGVyTWVzc2FnZSIpLnZhbHVlOw0KCWlmKG1lc3NhZ2UhPW51bGwgJiYgbWVzc2FnZSE9IiIpew0KCQl2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7DQoJCXhoci5vcGVuKCdQT1NUJywgdGVsZWdyYW1TaXRlSGVscGVyLmFwaVVybCsiP2FjdD1zZW5kTWVzc2FnZSIsIHRydWUpOw0KCQl2YXIgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTsNCgkJZm9ybURhdGEuYXBwZW5kKCJtZXNzYWdlIiwgbWVzc2FnZSkNCgkJZm9ybURhdGEuYXBwZW5kKCJjaGF0SWQiLCB0ZWxlZ3JhbVNpdGVIZWxwZXIuY2hhdElkKTsNCgkJeGhyLnNlbmQoZm9ybURhdGEpOw0KCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7DQoJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVsZWdyYW1TaXRlSGVscGVyTWVzc2FnZSIpLnZhbHVlPSIiOw0KCQl9LDIwKTsNCgkJeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCl7DQoJCQlpZih0aGlzLnJlYWR5U3RhdGU9PTQpew0KCQkJCWlmKHRoaXMuc3RhdHVzID09IDIwMCl7DQoJCQkJCWlmKHRoaXMucmVzcG9uc2VUZXh0KXsNCgkJCQkJCXRyeXsNCgkJCQkJCQl2YXIgYW5zd2VyID0gSlNPTi5wYXJzZSh0aGlzLnJlc3BvbnNlVGV4dCk7DQoJCQkJCQkJaWYoYW5zd2VyLnN0YXR1cz09Im9rIil7DQoJCQkJCQkJCQ0KCQkJCQkJCX1lbHNlew0KCQkJCQkJCQljb25zb2xlLmVycm9yKCJDYW5gdCBzZW5kIG1lc3NhZ2UuLi4iKTsNCgkJCQkJCQkJY29uc29sZS5sb2coYW5zd2VyLmVycm9yKTsNCgkJCQkJCQkJaWYoYW5zd2VyLmVycm9yPT0iTk9fTUFOQUdFUiIpew0KCQkJCQkJCQkJYWRkU3lzdGVtTWVzc2FnZSgiRXJyb3I6IG5vIG1hbmFnZXIiLCAiZGFuZ2VyIik7DQoJCQkJCQkJCQluZXdDaGF0KCk7DQoJCQkJCQkJCX0NCgkJCQkJCQl9DQoJCQkJCQl9Y2F0Y2goZSl7DQoJCQkJCQkJY29uc29sZS5lcnJvcigiQ2FuYHQgc2VuZCBtZXNzYWdlLi4uIik7DQoJCQkJCQkJY29uc29sZS5sb2codGhpcy5yZXNwb25zZVRleHQpOw0KCQkJCQkJfQ0KCQkJCQl9ZWxzZXsNCgkJCQkJCWNvbnNvbGUuZXJyb3IoIkNhbmB0IHNlbmQgbWVzc2FnZS4uLiIpOw0KCQkJCQkJY29uc29sZS5sb2codGhpcy5yZXNwb25zZVRleHQpOw0KCQkJCQl9DQoJCQkJfWVsc2V7DQoJCQkJCWNvbnNvbGUuZXJyb3IoIkNhbmB0IHNlbmQgbWVzc2FnZS4uLiIpOw0KCQkJCQljb25zb2xlLmxvZyh0aGlzKTsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQp9DQoNCg0KLyogQmluZCBhdHRhY2ggZmlsZSBidXR0b24gKi8NCmZ1bmN0aW9uIGJpbmRBdHRhY2hGaWxlKCl7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbGVncmFtU2l0ZUhlbHBlckF0dGFjaCIpLm9uY2xpY2s9ZnVuY3Rpb24oKXsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbGVncmFtU2l0ZUhlbHBlckF0dGFjaElucHV0IikuY2xpY2soKQ0KCX07DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlbGVncmFtU2l0ZUhlbHBlckF0dGFjaElucHV0Iikub25jaGFuZ2U9ZnVuY3Rpb24oZXZlbnQpew0KCQl2YXIgZmlsZT1ldmVudC50YXJnZXQuZmlsZXNbMF07DQoJCWlmKGZpbGUuc2l6ZT4odGVsZWdyYW1TaXRlSGVscGVyLm1heEZpbGVTaXplKjEwMDApKXsNCgkJCWFkZFN5c3RlbU1lc3NhZ2UoIkVycm9yOiBNYXggZmlsZSBzaXplIGlzICIrdGVsZWdyYW1TaXRlSGVscGVyLm1heEZpbGVTaXplKyIga2IiLCAidHNoLWRhbmdlciIpDQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJdmFyIHJlYWRlcj1uZXcgRmlsZVJlYWRlcigpOw0KCQlyZWFkZXIub25sb2FkPWZ1bmN0aW9uKGV2ZW50KXsNCgkJCXZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsNCgkJCXhoci5vcGVuKCdQT1NUJywgdGVsZWdyYW1TaXRlSGVscGVyLmFwaVVybCsiP2FjdD1zZW5kTWVzc2FnZSIsIHRydWUpOw0KCQkJdmFyIGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7DQoJCQlmb3JtRGF0YS5hcHBlbmQoImZpbGUiLCBldmVudC50YXJnZXQucmVzdWx0KTsNCgkJCWZvcm1EYXRhLmFwcGVuZCgiZmlsZW5hbWUiLCBmaWxlLm5hbWUpOw0KCQkJZm9ybURhdGEuYXBwZW5kKCJjaGF0SWQiLCB0ZWxlZ3JhbVNpdGVIZWxwZXIuY2hhdElkKTsNCgkJCXhoci5zZW5kKGZvcm1EYXRhKTsNCgkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZWxlZ3JhbVNpdGVIZWxwZXJBdHRhY2hJbnB1dCIpLnZhbHVlPSIiOw0KCQkJeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCl7DQoJCQkJaWYodGhpcy5yZWFkeVN0YXRlPT00KXsNCgkJCQkJaWYodGhpcy5zdGF0dXMgPT0gMjAwKXsNCgkJCQkJCWlmKHRoaXMucmVzcG9uc2VUZXh0KXsNCgkJCQkJCQl0cnl7DQoJCQkJCQkJCXZhciBhbnN3ZXIgPSBKU09OLnBhcnNlKHRoaXMucmVzcG9uc2VUZXh0KTsNCgkJCQkJCQkJaWYoYW5zd2VyLnN0YXR1cz09Im9rIil7DQoJCQkJCQkJCQkvLyBub3RoaW5nIHRvIGRvIGhlcmUgOikNCgkJCQkJCQkJfWVsc2V7DQoJCQkJCQkJCQljb25zb2xlLmVycm9yKCJDYW5gdCBzZW5kIG1lc3NhZ2UuLi4iKTsNCgkJCQkJCQkJCWNvbnNvbGUubG9nKGFuc3dlci5lcnJvcik7DQoJCQkJCQkJCX0NCgkJCQkJCQl9Y2F0Y2goZSl7DQoJCQkJCQkJCWNvbnNvbGUuZXJyb3IoIkNhbmB0IHNlbmQgbWVzc2FnZS4uLiIpOw0KCQkJCQkJCQljb25zb2xlLmxvZyh0aGlzLnJlc3BvbnNlVGV4dCk7DQoJCQkJCQkJfQ0KCQkJCQkJfWVsc2V7DQoJCQkJCQkJY29uc29sZS5lcnJvcigiQ2FuYHQgc2VuZCBtZXNzYWdlLi4uIik7DQoJCQkJCQkJY29uc29sZS5sb2codGhpcy5yZXNwb25zZVRleHQpOw0KCQkJCQkJfQ0KCQkJCQl9ZWxzZXsNCgkJCQkJCWNvbnNvbGUuZXJyb3IoIkNhbmB0IHNlbmQgbWVzc2FnZS4uLiIpOw0KCQkJCQkJY29uc29sZS5sb2codGhpcyk7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCX07DQoJCXJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpOw0KCX07DQp9DQoNCi8qIE9wZW4gYmlnLXNpemUgaW1hZ2UgKi8NCmZ1bmN0aW9uIGJpZ0ltZyhtc2dJZCl7DQoJZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobXNnSWQpLmNsb25lTm9kZSh0cnVlKTsNCgluZXdFbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHNoLXBob3RvLXNob3ciKS5hcHBlbmRDaGlsZChlbCk7DQoJbmV3RWwuaWQ9InRzaC1iaWctaW1hZ2UiOw0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0c2gtcGhvdG8tc2hvdyIpLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjsNCn0NCg0KLyogU2Nyb2xsIGRvd24gY2hhdC1ib3ggaW5uZXIgKi8NCmZ1bmN0aW9uIHRzaFNjcm9sbERvd24oKXsNCgl2YXIgaCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZWxlZ3JhbVNpdGVIZWxwZXJDaGF0Qm94LWNvbnRhaW5lciIpLnNjcm9sbEhlaWdodDsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVsZWdyYW1TaXRlSGVscGVyQ2hhdEJveC1jb250YWluZXIiKS5zY3JvbGxUb3A9aCsyMDA7DQp9DQoNCi8qIEdldHRpbmcgY29va2llIGZ1bmN0aW9uICovDQpmdW5jdGlvbiB0ZWxlZ3JhbVNpdGVIZWxwZXJHZXRDb29raWUobmFtZSl7DQoJdmFyIG1hdGNoZXMgPSBkb2N1bWVudC5jb29raWUubWF0Y2gobmV3IFJlZ0V4cCgiKD86Xnw7ICkiICsgbmFtZS5yZXBsYWNlKC8oW1wuJD8qfHt9XChcKVxbXF1cXFwvXCteXSkvZywgJ1xcJDEnKSArICI9KFteO10qKSIpKTsNCglyZXR1cm4gbWF0Y2hlcyA/IGRlY29kZVVSSUNvbXBvbmVudChtYXRjaGVzWzFdKSA6IHVuZGVmaW5lZDsNCn0NCg0KLyogU2V0dGluZyBjb29raWVzIGZ1bmN0aW9uICovDQpmdW5jdGlvbiB0ZWxlZ3JhbVNpdGVIZWxwZXJTZXRDb29raWUobmFtZSwgdmFsdWUsIG9wdGlvbnMpew0KCW9wdGlvbnMgPSBvcHRpb25zIHx8IHt9Ow0KCXZhciBleHBpcmVzID0gb3B0aW9ucy5leHBpcmVzOw0KCWlmKHR5cGVvZiBleHBpcmVzID09ICJudW1iZXIiICYmIGV4cGlyZXMpew0KCQl2YXIgZCA9IG5ldyBEYXRlKCk7DQoJCWQuc2V0VGltZShkLmdldFRpbWUoKSArIGV4cGlyZXMgKiAxMDAwKTsNCgkJZXhwaXJlcyA9IG9wdGlvbnMuZXhwaXJlcyA9IGQ7DQoJfQ0KCWlmKGV4cGlyZXMgJiYgZXhwaXJlcy50b1VUQ1N0cmluZyl7DQoJCW9wdGlvbnMuZXhwaXJlcyA9IGV4cGlyZXMudG9VVENTdHJpbmcoKTsNCgl9DQoJdmFsdWUgPSBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpOw0KCXZhciB1cGRhdGVkQ29va2llID0gbmFtZSArICI9IiArIHZhbHVlOw0KCWZvciAodmFyIHByb3BOYW1lIGluIG9wdGlvbnMpIHsNCgkJdXBkYXRlZENvb2tpZSArPSAiOyAiICsgcHJvcE5hbWU7DQoJCXZhciBwcm9wVmFsdWUgPSBvcHRpb25zW3Byb3BOYW1lXTsNCgkJaWYgKHByb3BWYWx1ZSAhPT0gdHJ1ZSkgew0KCQkJdXBkYXRlZENvb2tpZSArPSAiPSIgKyBwcm9wVmFsdWU7DQoJCX0NCgl9DQoJZG9jdW1lbnQuY29va2llID0gdXBkYXRlZENvb2tpZTsNCn0g";
fwrite($fp,base64_decode($jsFile));
fclose($fp);
$fp=fopen("telegram-site-helper-api.php","w");
$apiScript="PD9waHANCg0KaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD11dGYtOCcpOw0KbWJfaW50ZXJuYWxfZW5jb2RpbmcoIlVURi04Iik7DQoNCmZ1bmN0aW9uIHNlbmRNZXNzYWdlKCRib3RUb2tlbiwgJGNoYXRJZCwgJG1lc3NhZ2UpDQp7DQogICAgJHRlbGVncmFtdXJsID0gImh0dHBzOi8vYXBpLnRlbGVncmFtLm9yZy9ib3QiIC4gJGJvdFRva2VuIC4gIi9zZW5kTWVzc2FnZSI7DQogICAgJHJlcXVlc3QgPSBjdXJsX2luaXQoJHRlbGVncmFtdXJsKTsNCiAgICBjdXJsX3NldG9wdCgkcmVxdWVzdCwgQ1VSTE9QVF9QT1NULCB0cnVlKTsNCiAgICAkcXVlcnkgPSBbJ2NoYXRfaWQnID0+ICRjaGF0SWQsICJ0ZXh0IiA9PiAkbWVzc2FnZV07DQogICAgY3VybF9zZXRvcHQoJHJlcXVlc3QsIENVUkxPUFRfUE9TVEZJRUxEUywgJHF1ZXJ5KTsNCiAgICBjdXJsX3NldG9wdCgkcmVxdWVzdCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgdHJ1ZSk7DQogICAgJHJlc3VsdCA9IGN1cmxfZXhlYygkcmVxdWVzdCk7DQogICAgY3VybF9jbG9zZSgkcmVxdWVzdCk7DQoNCiAgICByZXR1cm4gKCRyZXN1bHQpOw0KfQ0KDQpmdW5jdGlvbiBzZW5kUGhvdG8oJGJvdFRva2VuLCAkY2hhdElkLCAkZmlsZSwgJGZpbGVJZCA9IG51bGwpDQp7DQogICAgJHRlbGVncmFtdXJsID0gImh0dHBzOi8vYXBpLnRlbGVncmFtLm9yZy9ib3QiIC4gJGJvdFRva2VuIC4gIi9zZW5kUGhvdG8iOw0KICAgICRyZXF1ZXN0ID0gY3VybF9pbml0KCR0ZWxlZ3JhbXVybCk7DQogICAgY3VybF9zZXRvcHQoJHJlcXVlc3QsIENVUkxPUFRfUE9TVCwgdHJ1ZSk7DQogICAgJHF1ZXJ5ID0gWydjaGF0X2lkJyA9PiAkY2hhdElkXTsNCiAgICBpZiAoJGZpbGVJZCA9PSBudWxsKSB7DQogICAgICAgICRxdWVyeVsicGhvdG8iXSA9IG5ldyBDdXJsRmlsZShyZWFscGF0aCgkZmlsZSkpOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRxdWVyeVsicGhvdG8iXSA9ICRmaWxlSWQ7DQogICAgfQ0KICAgIGN1cmxfc2V0b3B0KCRyZXF1ZXN0LCBDVVJMT1BUX1BPU1RGSUVMRFMsICRxdWVyeSk7DQogICAgY3VybF9zZXRvcHQoJHJlcXVlc3QsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOw0KICAgICRyZXN1bHQgPSBjdXJsX2V4ZWMoJHJlcXVlc3QpOw0KICAgIGN1cmxfY2xvc2UoJHJlcXVlc3QpOw0KDQogICAgcmV0dXJuICgkcmVzdWx0KTsNCn0NCg0KDQpmdW5jdGlvbiBzZW5kRG9jdW1lbnQoJGJvdFRva2VuLCAkY2hhdElkLCAkZmlsZSwgJGZpbGVJZCA9IG51bGwpDQp7DQogICAgJHRlbGVncmFtdXJsID0gImh0dHBzOi8vYXBpLnRlbGVncmFtLm9yZy9ib3QiIC4gJGJvdFRva2VuIC4gIi9zZW5kRG9jdW1lbnQiOw0KICAgICRyZXF1ZXN0ID0gY3VybF9pbml0KCR0ZWxlZ3JhbXVybCk7DQogICAgY3VybF9zZXRvcHQoJHJlcXVlc3QsIENVUkxPUFRfUE9TVCwgdHJ1ZSk7DQogICAgJHF1ZXJ5ID0gWydjaGF0X2lkJyA9PiAkY2hhdElkXTsNCiAgICBpZiAoJGZpbGVJZCA9PSBudWxsKSB7DQogICAgICAgICRxdWVyeVsiZG9jdW1lbnQiXSA9IG5ldyBDdXJsRmlsZShyZWFscGF0aCgkZmlsZSkpOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRxdWVyeVsiZG9jdW1lbnQiXSA9ICRmaWxlSWQ7DQogICAgfQ0KICAgIGN1cmxfc2V0b3B0KCRyZXF1ZXN0LCBDVVJMT1BUX1BPU1RGSUVMRFMsICRxdWVyeSk7DQogICAgY3VybF9zZXRvcHQoJHJlcXVlc3QsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOw0KICAgICRyZXN1bHQgPSBjdXJsX2V4ZWMoJHJlcXVlc3QpOw0KICAgIGN1cmxfY2xvc2UoJHJlcXVlc3QpOw0KDQogICAgcmV0dXJuICgkcmVzdWx0KTsNCn0NCg0KLyogR2V0dGluZyBGaWxlIGV4dGVuc2lvbiAqLw0KZnVuY3Rpb24gZ2V0RXh0ZW5zaW9uKCRmaWxlbmFtZSkNCnsNCiAgICAkcGF0aF9pbmZvID0gcGF0aGluZm8oJGZpbGVuYW1lKTsNCiAgICBpZiAoaXNzZXQoJHBhdGhfaW5mb1snZXh0ZW5zaW9uJ10pKSB7DQogICAgICAgIHJldHVybiBtYl9zdHJ0b2xvd2VyKCRwYXRoX2luZm9bJ2V4dGVuc2lvbiddKTsNCiAgICB9IGVsc2Ugew0KICAgICAgICByZXR1cm4gbnVsbDsNCiAgICB9DQp9DQoNCmZ1bmN0aW9uIG1iX3N0cl9yZXBsYWNlKCRuZWVkbGUsICRyZXBsYWNlbWVudCwgJGhheXN0YWNrKQ0Kew0KICAgIHJldHVybiBpbXBsb2RlKCRyZXBsYWNlbWVudCwgbWJfc3BsaXQoJG5lZWRsZSwgJGhheXN0YWNrKSk7DQp9DQoNCmZ1bmN0aW9uIG1iX3N0cl9wYWQoJGlucHV0LCAkcGFkX2xlbmd0aCwgJHBhZF9zdHJpbmcgPSAnICcsICRwYWRfdHlwZSA9IFNUUl9QQURfUklHSFQpDQp7DQogICAgJGRpZmYgPSBzdHJsZW4oJGlucHV0KSAtIG1iX3N0cmxlbigkaW5wdXQpOw0KDQogICAgcmV0dXJuIHN0cl9wYWQoJGlucHV0LCAkcGFkX2xlbmd0aCArICRkaWZmLCAkcGFkX3N0cmluZywgJHBhZF90eXBlKTsNCn0NCg0KcmVxdWlyZV9vbmNlKCJ0ZWxlZ3JhbS1zaXRlLWhlbHBlci1jb25maWcucGhwIik7DQoNCmlmICghYXJyYXlfa2V5X2V4aXN0cygiYWN0IiwgJF9HRVQpKSB7DQogICAgZWNobyBqc29uX2VuY29kZShbInN0YXR1cyIgPT4gImVycm9yIiwgImVycm9yIiA9PiAiTk9fQUNUIl0pOw0KICAgIGV4aXQoKTsNCn0NCg0KaWYgKERCVFlQRSA9PSAibXlzcWwiKSB7DQogICAgdHJ5IHsNCiAgICAgICAgJGRiID0gbmV3IFBETygnbXlzcWw6aG9zdD0nIC4gTVlTUUxfSE9TVCAuICc7ZGJuYW1lPScgLiBNWVNRTF9EQk5BTUUsIE1ZU1FMX1VTRVIsIE1ZU1FMX1BBU1NXT1JEKTsNCiAgICAgICAgJGRiLT5leGVjKCdzZXQgbmFtZXMgdXRmOCcpOw0KICAgIH0gY2F0Y2ggKFBET0V4Y2VwdGlvbiAkZSkgew0KICAgIH0NCn0gZWxzZSB7DQogICAgdHJ5IHsNCiAgICAgICAgJGRiID0gbmV3IFBETygic3FsaXRlOiIgLiBTUUxJVEVfREJOQU1FKTsNCiAgICAgICAgJGRiLT5leGVjKCdQUkFHTUEgam91cm5hbF9tb2RlPVdBTDsnKTsNCiAgICB9IGNhdGNoIChQRE9FeGNlcHRpb24gJGUpIHsNCiAgICB9DQp9DQoNCg0KJGFjdCA9ICRfR0VUWyJhY3QiXTsNCg0Kc3dpdGNoICgkYWN0KSB7DQoNCiAgICBjYXNlICduZXdDaGF0JzoNCg0KICAgICAgICAkc3RoID0gJGRiLT5wcmVwYXJlKCJTRUxFQ1QgKiBGUk9NIHRlbGVncmFtU2l0ZUhlbHBlck1hbmFnZXJzIFdIRVJFIG1hbmFnZXJTdGF0dXM9Om1hbmFnZXJTdGF0dXMgQU5EIG1hbmFnZXJUZWxlZ3JhbUlkIElTIE5PVCBOVUxMIik7DQogICAgICAgICRzdGgtPmV4ZWN1dGUoWyI6bWFuYWdlclN0YXR1cyIgPT4gMV0pOw0KICAgICAgICAkbWFuYWdlcnMgPSBbXTsNCiAgICAgICAgd2hpbGUgKCRhbnN3ZXIgPSAkc3RoLT5mZXRjaCgpKSB7DQogICAgICAgICAgICAkbWFuYWdlcnNbXSA9ICRhbnN3ZXJbIm1hbmFnZXJJZCJdOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKGNvdW50KCRtYW5hZ2VycykgPT0gMCkgew0KICAgICAgICAgICAgZWNobyBqc29uX2VuY29kZShbInN0YXR1cyIgPT4gImVycm9yIiwgImVycm9yIiA9PiAiTk9fTUFOQUdFUlNfQVZBTElBQkxFIl0pOw0KICAgICAgICAgICAgZXhpdCgpOw0KICAgICAgICB9DQogICAgICAgICRjaGF0SWQgPSBtYl9zdHJ0b3VwcGVyKHVuaXFpZCgpKTsNCg0KICAgICAgICAkY2xpZW50ID0gbnVsbDsNCg0KICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygiY2hhdEN1c3RvbWVyTmFtZSIsICRfUE9TVCkpIHsNCiAgICAgICAgICAgICRjaGF0Q3VzdG9tZXJOYW1lID0gJF9QT1NUWyJjaGF0Q3VzdG9tZXJOYW1lIl07DQogICAgICAgICAgICAkY2xpZW50IC49ICIgIiAuICRjaGF0Q3VzdG9tZXJOYW1lOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgJGNoYXRDdXN0b21lck5hbWUgPSBudWxsOw0KICAgICAgICB9DQogICAgICAgIGlmIChhcnJheV9rZXlfZXhpc3RzKCJjaGF0Q3VzdG9tZXJQaG9uZSIsICRfUE9TVCkpIHsNCiAgICAgICAgICAgICRjaGF0Q3VzdG9tZXJQaG9uZSA9ICRfUE9TVFsiY2hhdEN1c3RvbWVyUGhvbmUiXTsNCiAgICAgICAgICAgICRjbGllbnQgLj0gIiAiIC4gJGNoYXRDdXN0b21lclBob25lOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgJGNoYXRDdXN0b21lclBob25lID0gbnVsbDsNCiAgICAgICAgfQ0KDQogICAgICAgICRzdGggPSAkZGItPnByZXBhcmUoIklOU0VSVCBJTlRPIHRlbGVncmFtU2l0ZUhlbHBlckNoYXRzIChjaGF0SWQsIGNoYXRDdXN0b21lck5hbWUsIGNoYXRDdXN0b21lclBob25lKSBWQUxVRVMgKDpjaGF0SWQsIDpjaGF0Q3VzdG9tZXJOYW1lLCA6Y2hhdEN1c3RvbWVyUGhvbmUpIik7DQogICAgICAgICRzdGgtPmV4ZWN1dGUoWw0KICAgICAgICAgICAgIjpjaGF0SWQiICAgICAgICAgICAgPT4gJGNoYXRJZCwNCiAgICAgICAgICAgICI6Y2hhdEN1c3RvbWVyTmFtZSIgID0+ICRjaGF0Q3VzdG9tZXJOYW1lLA0KICAgICAgICAgICAgIjpjaGF0Q3VzdG9tZXJQaG9uZSIgPT4gJGNoYXRDdXN0b21lclBob25lLA0KICAgICAgICBdKTsNCiAgICAgICAgJHN0aCA9ICRkYi0+cHJlcGFyZSgiU0VMRUNUICogRlJPTSB0ZWxlZ3JhbVNpdGVIZWxwZXJNYW5hZ2VycyBXSEVSRSBtYW5hZ2VyU3RhdHVzPTptYW5hZ2VyU3RhdHVzIEFORCBtYW5hZ2VyVGVsZWdyYW1JZCBJUyBOT1QgTlVMTCIpOw0KICAgICAgICAkc3RoLT5leGVjdXRlKFsiOm1hbmFnZXJTdGF0dXMiID0+IDFdKTsNCiAgICAgICAgd2hpbGUgKCRhbnN3ZXIgPSAkc3RoLT5mZXRjaCgpKSB7DQogICAgICAgICAgICBzZW5kTWVzc2FnZShCT1RUT0tFTiwgJGFuc3dlclsibWFuYWdlclRlbGVncmFtSWQiXSwNCiAgICAgICAgICAgICAgICAi0J3QvtCy0YvQuSDQutC70LjQtdC90YIiIC4gJGNsaWVudCAuICIg0L3QsNGH0LDQuyDRh9Cw0YIuINCU0LvRjyDQv9C10YDQtdGF0L7QtNCwINC6INGH0LDRgtGDINC90LDQttC80LjRgtC1IC9jaGF0XyIgLiAkY2hhdElkIC4gIiDQuNC70Lgg0LTQvtC20LTQuNGC0LXRgdGMINGB0L7QvtCx0YnQtdC90LjRjyDQvtGCINC60LvQuNC10L3RgtCwLiIpOw0KICAgICAgICB9DQogICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWyJzdGF0dXMiID0+ICJvayIsICJjaGF0SWQiID0+ICRjaGF0SWRdKTsNCiAgICAgICAgZXhpdCgpOw0KICAgICAgICBicmVhazsNCg0KICAgIGNhc2UgJ2VkaXRDaGF0JzoNCiAgICAgICAgaWYgKCFhcnJheV9rZXlfZXhpc3RzKCJjaGF0SWQiLCAkX1BPU1QpKSB7DQogICAgICAgICAgICBlY2hvIGpzb25fZW5jb2RlKFsic3RhdHVzIiA9PiAiZXJyb3IiLCAiZXJyb3IiID0+ICJOT19DSEFUX0lEIl0pOw0KICAgICAgICAgICAgZXhpdCgpOw0KICAgICAgICB9DQogICAgICAgICRjaGF0SWQgPSAkX1BPU1RbImNoYXRJZCJdOw0KICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygiY2hhdEN1c3RvbWVyTmFtZSIsICRfUE9TVCkpIHsNCiAgICAgICAgICAgICRjaGF0Q3VzdG9tZXJOYW1lID0gJF9QT1NUWyJjaGF0Q3VzdG9tZXJOYW1lIl07DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkY2hhdEN1c3RvbWVyTmFtZSA9IG51bGw7DQogICAgICAgIH0NCiAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoImNoYXRDdXN0b21lclBob25lIiwgJF9QT1NUKSkgew0KICAgICAgICAgICAgJGNoYXRDdXN0b21lclBob25lID0gJF9QT1NUWyJjaGF0Q3VzdG9tZXJQaG9uZSJdOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgJGNoYXRDdXN0b21lclBob25lID0gbnVsbDsNCiAgICAgICAgfQ0KICAgICAgICAkc3RoID0gJGRiLT5wcmVwYXJlKCJVUERBVEUgdGVsZWdyYW1TaXRlSGVscGVyQ2hhdHMgU0VUIGNoYXRDdXN0b21lck5hbWU9OmNoYXRDdXN0b21lck5hbWUsIGNoYXRDdXN0b21lclBob25lPTpjaGF0Q3VzdG9tZXJQaG9uZSBXSEVSRSBjaGF0SWQ9OmNoYXRJZCIpOw0KICAgICAgICAkc3RoLT5leGVjdXRlKFsNCiAgICAgICAgICAgICI6Y2hhdElkIiAgICAgICAgICAgID0+ICRjaGF0SWQsDQogICAgICAgICAgICAiOmNoYXRDdXN0b21lck5hbWUiICA9PiAkY2hhdEN1c3RvbWVyTmFtZSwNCiAgICAgICAgICAgICI6Y2hhdEN1c3RvbWVyUGhvbmUiID0+ICRjaGF0Q3VzdG9tZXJQaG9uZSwNCiAgICAgICAgXSk7DQoNCiAgICAgICAgJHN0aCA9ICRkYi0+cHJlcGFyZSgiU0VMRUNUIHRlbGVncmFtU2l0ZUhlbHBlck1hbmFnZXJzLm1hbmFnZXJUZWxlZ3JhbUlkIEZST00gdGVsZWdyYW1TaXRlSGVscGVyQ2hhdHMgTEVGVCBKT0lOIHRlbGVncmFtU2l0ZUhlbHBlck1hbmFnZXJzIE9OIHRlbGVncmFtU2l0ZUhlbHBlck1hbmFnZXJzLm1hbmFnZXJJZD10ZWxlZ3JhbVNpdGVIZWxwZXJDaGF0cy5jaGF0TWFuYWdlciBXSEVSRSBjaGF0SWQ9OmNoYXRJZCIpOw0KICAgICAgICAkc3RoLT5leGVjdXRlKFsiOmNoYXRJZCIgPT4gJGNoYXRJZF0pOw0KICAgICAgICAkYW5zd2VyID0gJHN0aC0+ZmV0Y2goKTsNCiAgICAgICAgJG1hbmFnZXJUb1NlbmQgPSBbXTsNCiAgICAgICAgJG1hbmFnZXJUb1NlbmRbXSA9ICRhbnN3ZXJbIm1hbmFnZXJUZWxlZ3JhbUlkIl07DQogICAgICAgICRzdGggPSAkZGItPnByZXBhcmUoIlNFTEVDVCBtYW5hZ2VyVGVsZWdyYW1JZCBGUk9NIHRlbGVncmFtU2l0ZUhlbHBlck1hbmFnZXJzIFdIRVJFIG1hbmFnZXJOb3dDaGF0PTptYW5hZ2VyTm93Q2hhdCIpOw0KICAgICAgICAkc3RoLT5leGVjdXRlKFsiOm1hbmFnZXJOb3dDaGF0IiA9PiAkY2hhdElkXSk7DQogICAgICAgIHdoaWxlICgkYW5zd2VyID0gJHN0aC0+ZmV0Y2goKSkgew0KICAgICAgICAgICAgJG1hbmFnZXJUb1NlbmRbXSA9ICRhbnN3ZXJbIm1hbmFnZXJUZWxlZ3JhbUlkIl07DQogICAgICAgIH0NCiAgICAgICAgJG1hbmFnZXJUb1NlbmQgPSBhcnJheV91bmlxdWUoJG1hbmFnZXJUb1NlbmQpOw0KICAgICAgICBmb3JlYWNoICgkbWFuYWdlclRvU2VuZCBhcyAkaSA9PiAkaXRlbSkgew0KICAgICAgICAgICAgc2VuZE1lc3NhZ2UoQk9UVE9LRU4sICRpdGVtLA0KICAgICAgICAgICAgICAgICLQmtC70LjQtdC90YIg0LjQtyDRh9Cw0YLQsCAvY2hhdF8iIC4gJGNoYXRJZCAuICIg0L7RgdGC0LDQstC40Lsg0LTQsNC90L3Ri9C1OiAiIC4gJGNoYXRDdXN0b21lck5hbWUgLiAiICIgLiAkY2hhdEN1c3RvbWVyUGhvbmUpOw0KICAgICAgICB9DQoNCg0KICAgICAgICBlY2hvIGpzb25fZW5jb2RlKFsic3RhdHVzIiA9PiAib2siXSk7DQogICAgICAgIGV4aXQoKTsNCiAgICAgICAgYnJlYWs7DQoNCiAgICBjYXNlICdzZW5kTWVzc2FnZSc6DQoNCiAgICAgICAgaWYgKCFhcnJheV9rZXlfZXhpc3RzKCJjaGF0SWQiLCAkX1BPU1QpKSB7DQogICAgICAgICAgICBlY2hvIGpzb25fZW5jb2RlKFsic3RhdHVzIiA9PiAiZXJyb3IiLCAiZXJyb3IiID0+ICJOT19DSEFUX0lEIl0pOw0KICAgICAgICAgICAgZXhpdCgpOw0KICAgICAgICB9DQogICAgICAgICRjaGF0SWQgPSAkX1BPU1RbImNoYXRJZCJdOw0KICAgICAgICBpZiAoIWFycmF5X2tleV9leGlzdHMoIm1lc3NhZ2UiLCAkX1BPU1QpIEFORCAhYXJyYXlfa2V5X2V4aXN0cygiZmlsZSIsICRfUE9TVCkpIHsNCiAgICAgICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWyJzdGF0dXMiID0+ICJlcnJvciIsICJlcnJvciIgPT4gIk5PX01FU1NBR0UiXSk7DQogICAgICAgICAgICBleGl0KCk7DQogICAgICAgIH0NCiAgICAgICAgJG1lc3NhZ2UgPSBudWxsOw0KICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygibWVzc2FnZSIsICRfUE9TVCkpIHsNCiAgICAgICAgICAgICRtZXNzYWdlID0gJF9QT1NUWyJtZXNzYWdlIl07DQogICAgICAgIH0NCiAgICAgICAgJGZpbGUgPSBudWxsOw0KICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygiZmlsZSIsICRfUE9TVCkpIHsNCiAgICAgICAgICAgICRmaWxlID0gJF9QT1NUWyJmaWxlIl07DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoJG1lc3NhZ2UgIT0gbnVsbCkgew0KDQogICAgICAgICAgICAvKiBHZXR0aW5nIG1hbmFnZXJzIGZvciBzZW5kICovDQogICAgICAgICAgICAkc3RoID0gJGRiLT5wcmVwYXJlKCJTRUxFQ1QgdGVsZWdyYW1TaXRlSGVscGVyTWFuYWdlcnMubWFuYWdlclRlbGVncmFtSWQsIHRlbGVncmFtU2l0ZUhlbHBlckNoYXRzLmNoYXRDdXN0b21lck5hbWUgRlJPTSB0ZWxlZ3JhbVNpdGVIZWxwZXJDaGF0cyBMRUZUIEpPSU4gdGVsZWdyYW1TaXRlSGVscGVyTWFuYWdlcnMgT04gdGVsZWdyYW1TaXRlSGVscGVyTWFuYWdlcnMubWFuYWdlcklkPXRlbGVncmFtU2l0ZUhlbHBlckNoYXRzLmNoYXRNYW5hZ2VyIFdIRVJFIGNoYXRJZD06Y2hhdElkIik7DQogICAgICAgICAgICAkc3RoLT5leGVjdXRlKFsiOmNoYXRJZCIgPT4gJGNoYXRJZF0pOw0KICAgICAgICAgICAgJGFuc3dlciA9ICRzdGgtPmZldGNoKCk7DQogICAgICAgICAgICBpZiAoJGFuc3dlclsiY2hhdEN1c3RvbWVyTmFtZSJdICE9IG51bGwpIHsNCiAgICAgICAgICAgICAgICAkY2xpZW50ID0gJGFuc3dlclsiY2hhdEN1c3RvbWVyTmFtZSJdOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAkY2xpZW50ID0gItCa0LvQuNC10L3RgiI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkbWFuYWdlclRvU2VuZCA9IFtdOw0KDQogICAgICAgICAgICAkc3RoID0gJGRiLT5wcmVwYXJlKCJTRUxFQ1QgKiBGUk9NIHRlbGVncmFtU2l0ZUhlbHBlck1hbmFnZXJzIFdIRVJFIG1hbmFnZXJTdGF0dXM9Om1hbmFnZXJTdGF0dXMgQU5EIG1hbmFnZXJUZWxlZ3JhbUlkIElTIE5PVCBOVUxMIik7DQogICAgICAgICAgICAkc3RoLT5leGVjdXRlKFsiOm1hbmFnZXJTdGF0dXMiID0+IDFdKTsNCiAgICAgICAgICAgICRtYW5hZ2VyVG9TZW5kT25lID0gbnVsbDsNCiAgICAgICAgICAgIHdoaWxlICgkYW5zd2VyID0gJHN0aC0+ZmV0Y2goKSkgew0KICAgICAgICAgICAgICAgIGlmICgkY2hhdElkID09ICRhbnN3ZXJbJ21hbmFnZXJOb3dDaGF0J10pIHsNCiAgICAgICAgICAgICAgICAgICAgJG1hbmFnZXJUb1NlbmRPbmUgPSAkYW5zd2VyWyJtYW5hZ2VyVGVsZWdyYW1JZCJdOw0KICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJG1hbmFnZXJUb1NlbmRbXSA9ICRhbnN3ZXJbIm1hbmFnZXJUZWxlZ3JhbUlkIl07DQogICAgICAgICAgICB9DQoNCg0KICAgICAgICAgICAgJG1hbmFnZXJUb1NlbmQgPSBhcnJheV91bmlxdWUoJG1hbmFnZXJUb1NlbmQpOw0KICAgICAgICAgICAgJG1lc3NhZ2VQcmVwYXJlZCA9IGpzb25fZGVjb2RlKCciXHVkODNkXHVkZGUzIicpIC4gIiAiIC4gJGNsaWVudCAuICIgKC9jaGF0XyIgLiAkY2hhdElkIC4gIilcbiIgLiAkbWVzc2FnZTsNCiAgICAgICAgICAgIGlmIChjb3VudCgkbWFuYWdlclRvU2VuZCkgPT0gMCAmJiAkbWFuYWdlclRvU2VuZE9uZSA9PSBudWxsKSB7DQogICAgICAgICAgICAgICAgZWNobyBqc29uX2VuY29kZShbInN0YXR1cyIgPT4gImVycm9yIiwgImVycm9yIiA9PiAiTk9fTUFOQUdFUiJdKTsNCiAgICAgICAgICAgICAgICBleGl0KCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoJG1hbmFnZXJUb1NlbmRPbmUgIT0gbnVsbCkgew0KICAgICAgICAgICAgICAgIHNlbmRNZXNzYWdlKEJPVFRPS0VOLCAkbWFuYWdlclRvU2VuZE9uZSwgJG1lc3NhZ2VQcmVwYXJlZCk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRtYW5hZ2VyVG9TZW5kIGFzICRpID0+ICRpdGVtKSB7DQogICAgICAgICAgICAgICAgICAgIHNlbmRNZXNzYWdlKEJPVFRPS0VOLCAkaXRlbSwgJG1lc3NhZ2VQcmVwYXJlZCk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAkc3RoID0gJGRiLT5wcmVwYXJlKCJJTlNFUlQgSU5UTyB0ZWxlZ3JhbVNpdGVIZWxwZXJNZXNzYWdlcyAobXNnQ2hhdElkLCBtc2dGcm9tLCBtc2dUaW1lLCBtc2dUZXh0KSBWQUxVRVMgKDptc2dDaGF0SWQsIDptc2dGcm9tLCA6bXNnVGltZSwgOm1zZ1RleHQpIik7DQogICAgICAgICAgICAkbXNnVGV4dCA9IGpzb25fZW5jb2RlKFsidGV4dCIgPT4gJG1lc3NhZ2VdKTsNCiAgICAgICAgICAgICRzdGgtPmV4ZWN1dGUoWw0KICAgICAgICAgICAgICAgICI6bXNnQ2hhdElkIiA9PiAkY2hhdElkLA0KICAgICAgICAgICAgICAgICI6bXNnRnJvbSIgICA9PiAiY2xpZW50IiwNCiAgICAgICAgICAgICAgICAiOm1zZ1RpbWUiICAgPT4gdGltZSgpLA0KICAgICAgICAgICAgICAgICI6bXNnVGV4dCIgICA9PiAkbXNnVGV4dCwNCiAgICAgICAgICAgIF0pOw0KDQogICAgICAgICAgICAvKiBVcGRhdGUgdGhlIFVQREFURSBmaWxlICovDQogICAgICAgICAgICAkZnBUaW1lID0gZm9wZW4oInRzaC1jaGF0VXBkYXRlcy8iIC4gJGNoYXRJZCAuICIudXBkYXRlIiwgInciKTsNCiAgICAgICAgICAgIGZ3cml0ZSgkZnBUaW1lLCAiIiAuIG1pY3JvdGltZSh0cnVlKSk7DQogICAgICAgICAgICBmY2xvc2UoJGZwVGltZSk7DQogICAgICAgIH0NCg0KICAgICAgICBpZiAoJGZpbGUgIT0gbnVsbCkgew0KICAgICAgICAgICAgLyogVXBkYXRlIHRoZSBVUERBVEUgZmlsZSAqLw0KICAgICAgICAgICAgJGZwVGltZSA9IGZvcGVuKCJ0c2gtY2hhdFVwZGF0ZXMvIiAuICRjaGF0SWQgLiAiLnVwZGF0ZSIsICJ3Iik7DQogICAgICAgICAgICBmd3JpdGUoJGZwVGltZSwgIiIgLiBtaWNyb3RpbWUodHJ1ZSkpOw0KICAgICAgICAgICAgZmNsb3NlKCRmcFRpbWUpOw0KDQogICAgICAgICAgICAkbWVzc2FnZUZpbGVJZCA9IG51bGw7DQoNCiAgICAgICAgICAgIGlmIChtYl9zdHJsZW4oJGZpbGUpID4gMTAyNDAwMDApIHsNCiAgICAgICAgICAgICAgICBlY2hvIGpzb25fZW5jb2RlKFsic3RhdHVzIiA9PiAiZXJyb3IiLCAiZXJyb3IiID0+ICJTT19CSUdfRklMRSJdKTsNCiAgICAgICAgICAgICAgICBleGl0KCk7DQogICAgICAgICAgICB9DQoNCg0KICAgICAgICAgICAgLyogU2F2ZSBGaWxlIHRvIHNlcnZlciBmb2xkZXIgKi8NCiAgICAgICAgICAgICRmaWxlbmFtZSA9IG51bGw7DQogICAgICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygiZmlsZW5hbWUiLCAkX1BPU1QpKSB7DQogICAgICAgICAgICAgICAgJGZpbGVuYW1lID0gJF9QT1NUWyJmaWxlbmFtZSJdOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJGV4dCA9IGdldEV4dGVuc2lvbigkZmlsZW5hbWUpOw0KDQogICAgICAgICAgICAkZmlsZVVSTCA9ICJ0c2gtZmlsZXMvIiAuICRmaWxlbmFtZTsNCiAgICAgICAgICAgICRwb3MgPSBzdHJwb3MoJGZpbGUsICdiYXNlNjQnKSArIDc7DQogICAgICAgICAgICAkZGF0YSA9IHN1YnN0cigkZmlsZSwgJHBvcyk7DQogICAgICAgICAgICAkZGF0YSA9IGJhc2U2NF9kZWNvZGUoJGRhdGEpOw0KICAgICAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJGZpbGVVUkwsICRkYXRhKTsNCg0KICAgICAgICAgICAgLyogR2V0dGluZyBtYW5hZ2VycyBmb3Igc2VuZCAqLw0KICAgICAgICAgICAgJHN0aCA9ICRkYi0+cHJlcGFyZSgiU0VMRUNUIHRlbGVncmFtU2l0ZUhlbHBlck1hbmFnZXJzLm1hbmFnZXJUZWxlZ3JhbUlkLCB0ZWxlZ3JhbVNpdGVIZWxwZXJDaGF0cy5jaGF0Q3VzdG9tZXJOYW1lIEZST00gdGVsZWdyYW1TaXRlSGVscGVyQ2hhdHMgTEVGVCBKT0lOIHRlbGVncmFtU2l0ZUhlbHBlck1hbmFnZXJzIE9OIHRlbGVncmFtU2l0ZUhlbHBlck1hbmFnZXJzLm1hbmFnZXJJZD10ZWxlZ3JhbVNpdGVIZWxwZXJDaGF0cy5jaGF0TWFuYWdlciBXSEVSRSBjaGF0SWQ9OmNoYXRJZCIpOw0KICAgICAgICAgICAgJHN0aC0+ZXhlY3V0ZShbIjpjaGF0SWQiID0+ICRjaGF0SWRdKTsNCiAgICAgICAgICAgICRhbnN3ZXIgPSAkc3RoLT5mZXRjaCgpOw0KICAgICAgICAgICAgaWYgKCRhbnN3ZXJbImNoYXRDdXN0b21lck5hbWUiXSAhPSBudWxsKSB7DQogICAgICAgICAgICAgICAgJGNsaWVudCA9ICRhbnN3ZXJbImNoYXRDdXN0b21lck5hbWUiXTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJGNsaWVudCA9ICLQmtC70LjQtdC90YIiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJG1hbmFnZXJUb1NlbmQgPSBbXTsNCiAgICAgICAgICAgICRtYW5hZ2VyVG9TZW5kW10gPSAkYW5zd2VyWyJtYW5hZ2VyVGVsZWdyYW1JZCJdOw0KICAgICAgICAgICAgJHN0aCA9ICRkYi0+cHJlcGFyZSgiU0VMRUNUIG1hbmFnZXJUZWxlZ3JhbUlkIEZST00gdGVsZWdyYW1TaXRlSGVscGVyTWFuYWdlcnMgV0hFUkUgbWFuYWdlck5vd0NoYXQ9Om1hbmFnZXJOb3dDaGF0Iik7DQogICAgICAgICAgICAkc3RoLT5leGVjdXRlKFsiOm1hbmFnZXJOb3dDaGF0IiA9PiAkY2hhdElkXSk7DQogICAgICAgICAgICB3aGlsZSAoJGFuc3dlciA9ICRzdGgtPmZldGNoKCkpIHsNCiAgICAgICAgICAgICAgICAkbWFuYWdlclRvU2VuZFtdID0gJGFuc3dlclsibWFuYWdlclRlbGVncmFtSWQiXTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICRtYW5hZ2VyVG9TZW5kID0gYXJyYXlfdW5pcXVlKCRtYW5hZ2VyVG9TZW5kKTsNCiAgICAgICAgICAgICRtZXNzYWdlUHJlcGFyZWQgPSBqc29uX2RlY29kZSgnIlx1ZDgzZFx1ZGRlMyInKSAuICIgIiAuICRjbGllbnQgLiAiICgvY2hhdF8iIC4gJGNoYXRJZCAuICIpXG7QntGC0L/RgNCw0LLQuNC7INGE0LDQudC7OiI7DQogICAgICAgICAgICAvKiBTZW5kaW5nIC4uLiAqLw0KICAgICAgICAgICAgZm9yZWFjaCAoJG1hbmFnZXJUb1NlbmQgYXMgJGkgPT4gJGl0ZW0pIHsNCiAgICAgICAgICAgICAgICBzZW5kTWVzc2FnZShCT1RUT0tFTiwgJGl0ZW0sICRtZXNzYWdlUHJlcGFyZWQpOw0KICAgICAgICAgICAgICAgIGlmICgkZXh0ID09ICJqcGciIHx8ICRleHQgPT0gInBuZyIgfHwgJGV4dCA9PSAianBlZyIpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCRtZXNzYWdlRmlsZUlkICE9IG51bGwpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRQaG90byhCT1RUT0tFTiwgJGl0ZW0sIG51bGwsICRtZXNzYWdlRmlsZUlkKTsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICRzZiA9IHNlbmRQaG90byhCT1RUT0tFTiwgJGl0ZW0sICRmaWxlVVJMKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAkZnQgPSAicGhvdG8iOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIGlmICgkbWVzc2FnZUZpbGVJZCAhPSBudWxsKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBzZW5kRG9jdW1lbnQoQk9UVE9LRU4sICRpdGVtLCBudWxsLCAkbWVzc2FnZUZpbGVJZCk7DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkc2YgPSBzZW5kRG9jdW1lbnQoQk9UVE9LRU4sICRpdGVtLCAkZmlsZVVSTCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgJGZ0ID0gImZpbGUiOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgICAgICRtZXNzYWdlU2VudFN0YXR1cyA9IGpzb25fZGVjb2RlKCRzZiwgdHJ1ZSk7DQogICAgICAgICAgICAgICAgICAgIGlmICgkbWVzc2FnZVNlbnRTdGF0dXNbIm9rIl0gPT0gdHJ1ZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRmdCA9PSAicGhvdG8iKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1lc3NhZ2VGaWxlSWQgPSAkbWVzc2FnZVNlbnRTdGF0dXNbInJlc3VsdCJdWyJwaG90byJdWyhjb3VudCgkbWVzc2FnZVNlbnRTdGF0dXNbInJlc3VsdCJdWyJwaG90byJdKSAtIDEpXVsiZmlsZV9pZCJdOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtZXNzYWdlRmlsZU5hbWUgPSAiIjsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1lc3NhZ2VGaWxlSWQgPSAkbWVzc2FnZVNlbnRTdGF0dXNbInJlc3VsdCJdWyJkb2N1bWVudCJdWyJmaWxlX2lkIl07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG1lc3NhZ2VGaWxlTmFtZSA9ICRtZXNzYWdlU2VudFN0YXR1c1sicmVzdWx0Il1bImRvY3VtZW50Il1bImZpbGVfbmFtZSJdOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uICRlKSB7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8qIFVubGlua2luZyBmaWxlICovDQogICAgICAgICAgICB1bmxpbmsoJGZpbGVVUkwpOw0KDQoNCiAgICAgICAgICAgIC8qIFNhdmUgZmlsZSBJZCB0byBkYXRhYmFzZSAqLw0KICAgICAgICAgICAgaWYgKCRmdCA9PSAicGhvdG8iKSB7DQogICAgICAgICAgICAgICAgJG1zZ1RleHQgPSBqc29uX2VuY29kZShbInBob3RvIiA9PiAkbWVzc2FnZUZpbGVJZCwgImZpbGVuYW1lIiA9PiAiIl0pOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAkbXNnVGV4dCA9IGpzb25fZW5jb2RlKFsiZmlsZSIgPT4gJG1lc3NhZ2VGaWxlSWQsICJmaWxlbmFtZSIgPT4gJG1lc3NhZ2VGaWxlTmFtZV0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJHN0aCA9ICRkYi0+cHJlcGFyZSgiSU5TRVJUIElOVE8gdGVsZWdyYW1TaXRlSGVscGVyTWVzc2FnZXMgKG1zZ0NoYXRJZCwgbXNnRnJvbSwgbXNnVGltZSwgbXNnVGV4dCkgVkFMVUVTICg6bXNnQ2hhdElkLCA6bXNnRnJvbSwgOm1zZ1RpbWUsIDptc2dUZXh0KSIpOw0KICAgICAgICAgICAgJHN0aC0+ZXhlY3V0ZShbDQogICAgICAgICAgICAgICAgIjptc2dDaGF0SWQiID0+ICRjaGF0SWQsDQogICAgICAgICAgICAgICAgIjptc2dGcm9tIiAgID0+ICJjbGllbnQiLA0KICAgICAgICAgICAgICAgICI6bXNnVGltZSIgICA9PiB0aW1lKCksDQogICAgICAgICAgICAgICAgIjptc2dUZXh0IiAgID0+ICRtc2dUZXh0LA0KICAgICAgICAgICAgXSk7DQoNCiAgICAgICAgICAgICRmcFRpbWUgPSBmb3BlbigidHNoLWNoYXRVcGRhdGVzLyIgLiAkY2hhdElkIC4gIi51cGRhdGUiLCAidyIpOw0KICAgICAgICAgICAgZndyaXRlKCRmcFRpbWUsICIiIC4gbWljcm90aW1lKHRydWUpKTsNCiAgICAgICAgICAgIGZjbG9zZSgkZnBUaW1lKTsNCg0KDQogICAgICAgIH0NCg0KICAgICAgICBlY2hvIGpzb25fZW5jb2RlKFsic3RhdHVzIiA9PiAib2siLCAidGltZSIgPT4gZGF0ZSgiai5tIChIOmk6cykiLCB0aW1lKCkpXSk7DQogICAgICAgIGV4aXQoKTsNCiAgICAgICAgYnJlYWs7DQoNCg0KICAgIGNhc2UNCiAgICAncG9sbE1lc3NhZ2VzJzoNCg0KICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygidHlwZSIsICRfR0VUKSkgew0KICAgICAgICAgICAgaWYgKCRfR0VUWyJ0eXBlIl0gPT0gJ2xwJykgew0KICAgICAgICAgICAgICAgICR0eXBlID0gImxwIjsNCiAgICAgICAgICAgIH0gZWxzZWlmICgkX0dFVFsidHlwZSJdID09ICdzc2UnKSB7DQogICAgICAgICAgICAgICAgJHR5cGUgPSAic3NlIjsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJHR5cGUgPSAibHAiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCg0KICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygibGFzdE1lc3NhZ2VJZCIsICRfR0VUKSkgew0KICAgICAgICAgICAgJGxhc3RNZXNzYWdlSWQgPSAkX0dFVFsibGFzdE1lc3NhZ2VJZCJdOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgJGxhc3RNZXNzYWdlSWQgPSAwOw0KICAgICAgICB9DQoNCg0KICAgICAgICAvKiBJRiBpdCBpcyBTZXJ2ZXIgU2lkZSBFdmVudCBjcmVhdGUgYSBFdmVudC1TdHJlYW0gaGVhZGVyICovDQogICAgICAgIGlmICgkdHlwZSA9PSAic3NlIikgew0KICAgICAgICAgICAgaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvZXZlbnQtc3RyZWFtOyBjaGFyc2V0PXV0Zi04Jyk7DQoNCiAgICAgICAgfQ0KDQogICAgICAgIHNldF90aW1lX2xpbWl0KDApOw0KDQogICAgICAgIGlmICgkdHlwZSA9PSAibHAiKSB7DQogICAgICAgICAgICAkbm93VGltZSA9IHRpbWUoKTsNCiAgICAgICAgfQ0KDQoNCiAgICAgICAgLyogTm8gY2FjaGUsIG5vIGxpbWl0LCBubyB3b21hbiB0byBjcnkgKi8NCiAgICAgICAgaGVhZGVyKCdDYWNoZS1Db250cm9sOiBuby1jYWNoZScpOw0KDQoNCiAgICAgICAgLyogTm8gY2hhdCBJRCAqLw0KICAgICAgICBpZiAoIWFycmF5X2tleV9leGlzdHMoImNoYXRJZCIsICRfR0VUKSkgew0KDQogICAgICAgICAgICBpZiAoJHR5cGUgPT0gInNzZSIpIHsNCiAgICAgICAgICAgICAgICBlY2hvICJkYXRhOiAiOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBlY2hvIGpzb25fZW5jb2RlKFsiY29tbWFuZCIgPT4gImVycm9yIiwgImVycm9yIiA9PiAiTk9fQ0hBVF9JRCJdKTsNCg0KICAgICAgICAgICAgaWYgKCR0eXBlID09ICJzc2UiKSB7DQogICAgICAgICAgICAgICAgZWNobyAiXG5cbiI7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgZXhpdCgpOw0KICAgICAgICB9DQogICAgICAgIC8qIEdldHRpbmcgY2hhdCBJRCAqLw0KICAgICAgICAkY2hhdElkID0gJF9HRVRbImNoYXRJZCJdOw0KDQogICAgICAgIGlmICgkbGFzdE1lc3NhZ2VJZCA9PSAwIE9SICR0eXBlID09ICJzc2UiKSB7DQoNCiAgICAgICAgICAgICRzdGggPSAkZGItPnByZXBhcmUoIlNFTEVDVCBjb3VudCgqKSBhcyBjb3VudCBGUk9NIHRlbGVncmFtU2l0ZUhlbHBlckNoYXRzIFdIRVJFIGNoYXRJZD06Y2hhdElkIik7DQogICAgICAgICAgICAkc3RoLT5leGVjdXRlKFsiOmNoYXRJZCIgPT4gJGNoYXRJZF0pOw0KICAgICAgICAgICAgJGFuc3dlciA9ICRzdGgtPmZldGNoKCk7DQogICAgICAgICAgICAvKiBJZiBjaGF0SWQgaXMgbm90IGV4aXN0cyBpbiBEQiovDQogICAgICAgICAgICBpZiAoJGFuc3dlclsiY291bnQiXSA9PSAwKSB7DQogICAgICAgICAgICAgICAgaWYgKCR0eXBlID09ICJzc2UiKSB7DQogICAgICAgICAgICAgICAgICAgIGVjaG8gImRhdGE6ICI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWyJjb21tYW5kIiA9PiAiZXJyb3IiLCAiZXJyb3IiID0+ICJCQURfQ0hBVF9JRCJdKTsNCiAgICAgICAgICAgICAgICBpZiAoJHR5cGUgPT0gInNzZSIpIHsNCiAgICAgICAgICAgICAgICAgICAgZWNobyAiXG5cbiI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgICBleGl0KCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8qIEdldHRpbmcgNTAwIGxhc3QgbWVzc2FnZXMgKi8NCiAgICAgICAgICAgICRzdGggPSAkZGItPnByZXBhcmUoIlNFTEVDVCAqIEZST00gdGVsZWdyYW1TaXRlSGVscGVyTWVzc2FnZXMgTEVGVCBKT0lOIHRlbGVncmFtU2l0ZUhlbHBlck1hbmFnZXJzIE9OIHRlbGVncmFtU2l0ZUhlbHBlck1hbmFnZXJzLm1hbmFnZXJJZD10ZWxlZ3JhbVNpdGVIZWxwZXJNZXNzYWdlcy5tc2dGcm9tIFdIRVJFIG1zZ0NoYXRJZD06bXNnQ2hhdElkIE9SREVSIEJZIG1zZ1RpbWUgREVTQywgbXNnSWQgREVTQyBMSU1JVCA1MDAiKTsNCiAgICAgICAgICAgICRzdGgtPmV4ZWN1dGUoWyI6bXNnQ2hhdElkIiA9PiAkY2hhdElkXSk7DQogICAgICAgICAgICAkbWVzc2FnZXMgPSBbXTsNCiAgICAgICAgICAgICRsYXN0TWVzc2FnZUlkID0gMDsNCiAgICAgICAgICAgIHdoaWxlICgkYW5zd2VyID0gJHN0aC0+ZmV0Y2goKSkgew0KICAgICAgICAgICAgICAgICRtc2cgPSBbDQogICAgICAgICAgICAgICAgICAgICJtc2dJZCIgICAgICAgPT4gJGFuc3dlclsibXNnSWQiXSwNCiAgICAgICAgICAgICAgICAgICAgIm1zZ0Zyb20iICAgICA9PiAkYW5zd2VyWyJtc2dGcm9tIl0sDQogICAgICAgICAgICAgICAgICAgICJtc2dUaW1lIiAgICAgPT4gZGF0ZSgiai5tIChIOmk6cykiLCAkYW5zd2VyWyJtc2dUaW1lIl0pLA0KICAgICAgICAgICAgICAgICAgICAibXNnVGV4dCIgICAgID0+IG1iX3N0cl9yZXBsYWNlKCJcbiIsICI8YnI+IiwgJGFuc3dlclsibXNnVGV4dCJdKSwNCiAgICAgICAgICAgICAgICAgICAgIm1hbmFnZXJOYW1lIiA9PiAkYW5zd2VyWyJtYW5hZ2VyTmFtZSJdLA0KICAgICAgICAgICAgICAgIF07DQogICAgICAgICAgICAgICAgJG1lc3NhZ2VzW10gPSAkbXNnOw0KICAgICAgICAgICAgICAgIGlmICgkbGFzdE1lc3NhZ2VJZCA9PSAwKSB7DQogICAgICAgICAgICAgICAgICAgICRsYXN0TWVzc2FnZUlkID0gJGFuc3dlclsibXNnSWQiXTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmICgkdHlwZSA9PSAic3NlIikgew0KICAgICAgICAgICAgICAgIGVjaG8gImRhdGE6ICI7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWw0KICAgICAgICAgICAgICAgICJjb21tYW5kIiAgICAgICA9PiAiYWxsTWVzc2FnZXMiLA0KICAgICAgICAgICAgICAgICJtZXNzYWdlcyIgICAgICA9PiBhcnJheV9yZXZlcnNlKCRtZXNzYWdlcyksDQogICAgICAgICAgICAgICAgImxhc3RNZXNzYWdlSWQiID0+ICRsYXN0TWVzc2FnZUlkLA0KICAgICAgICAgICAgXSk7DQoNCiAgICAgICAgICAgIGlmICgkdHlwZSA9PSAic3NlIikgew0KICAgICAgICAgICAgICAgIGVjaG8gIlxuXG4iOw0KICAgICAgICAgICAgICAgIEBvYl9mbHVzaCgpOw0KICAgICAgICAgICAgICAgIGZsdXNoKCk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIGV4aXQoKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKCR0eXBlID09ICJzc2UiKSB7DQogICAgICAgICAgICAgICAgZWNobyAiZGF0YTogIjsNCiAgICAgICAgICAgICAgICBlY2hvIGpzb25fZW5jb2RlKFsiY29tbWFuZCIgPT4gImxvYWRDb21wbGV0ZSJdKSAuICJcblxuIjsNCiAgICAgICAgICAgICAgICBAb2JfZmx1c2goKTsNCiAgICAgICAgICAgICAgICBmbHVzaCgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCg0KICAgICAgICBpZiAoJHR5cGUgPT0gInNzZSIpIHsNCiAgICAgICAgICAgICRsYXN0VGltZVF1ZXJ5ID0gbWljcm90aW1lKHRydWUpOyAvKiBJZiBpdCBpcyBhIHNlcnZlciBzaWRlIGV2ZW50IC0gbGFzdFRpbWVRdWVyeSBpcyBOT1cgKi8NCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICRsYXN0VGltZVF1ZXJ5ID0gMDsNCiAgICAgICAgfQ0KDQoNCiAgICAgICAgd2hpbGUgKHRydWUpIHsNCg0KICAgICAgICAgICAgQCRsYXN0VGltZVVwZGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCJ0c2gtY2hhdFVwZGF0ZXMvIiAuICRjaGF0SWQgLiAiLnVwZGF0ZSIpOw0KDQogICAgICAgICAgICBpZiAoJGxhc3RUaW1lVXBkYXRlICE9IGZhbHNlKSB7DQogICAgICAgICAgICAgICAgJGxhc3RUaW1lVXBkYXRlID0gKGZsb2F0KSRsYXN0VGltZVVwZGF0ZTsNCiAgICAgICAgICAgICAgICAkbGFzdFRpbWVRdWVyeSA9IChmbG9hdCkkbGFzdFRpbWVRdWVyeTsNCiAgICAgICAgICAgICAgICBpZiAoJGxhc3RUaW1lVXBkYXRlID4gJGxhc3RUaW1lUXVlcnkpIHsNCiAgICAgICAgICAgICAgICAgICAgJHN0aCA9ICRkYi0+cHJlcGFyZSgiU0VMRUNUICogRlJPTSB0ZWxlZ3JhbVNpdGVIZWxwZXJNZXNzYWdlcyBMRUZUIEpPSU4gdGVsZWdyYW1TaXRlSGVscGVyTWFuYWdlcnMgT04gdGVsZWdyYW1TaXRlSGVscGVyTWFuYWdlcnMubWFuYWdlcklkPXRlbGVncmFtU2l0ZUhlbHBlck1lc3NhZ2VzLm1zZ0Zyb20gV0hFUkUgbXNnQ2hhdElkPTptc2dDaGF0SWQgQU5EIG1zZ0lkPjptc2dJZCBPUkRFUiBCWSBtc2dJZCBBU0MiKTsNCiAgICAgICAgICAgICAgICAgICAgJHN0aC0+ZXhlY3V0ZShbIjptc2dDaGF0SWQiID0+ICRjaGF0SWQsICI6bXNnSWQiID0+ICRsYXN0TWVzc2FnZUlkXSk7DQogICAgICAgICAgICAgICAgICAgICRtZXNzYWdlcyA9IFtdOw0KICAgICAgICAgICAgICAgICAgICAkbGFzdFRpbWVRdWVyeSA9IG1pY3JvdGltZSh0cnVlKTsNCiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKCRhbnN3ZXIgPSAkc3RoLT5mZXRjaCgpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAkbXNnID0gWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtc2dJZCIgICAgICAgPT4gJGFuc3dlclsibXNnSWQiXSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibXNnRnJvbSIgICAgID0+ICRhbnN3ZXJbIm1zZ0Zyb20iXSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibXNnVGltZSIgICAgID0+IGRhdGUoImoubSAoSDppOnMpIiwgJGFuc3dlclsibXNnVGltZSJdKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibXNnVGV4dCIgICAgID0+IG1iX3N0cl9yZXBsYWNlKCJcbiIsICI8YnI+IiwgJGFuc3dlclsibXNnVGV4dCJdKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWFuYWdlck5hbWUiID0+ICRhbnN3ZXJbIm1hbmFnZXJOYW1lIl0sDQogICAgICAgICAgICAgICAgICAgICAgICBdOw0KICAgICAgICAgICAgICAgICAgICAgICAgJG1lc3NhZ2VzW10gPSAkbXNnOw0KICAgICAgICAgICAgICAgICAgICAgICAgJGxhc3RNZXNzYWdlSWQgPSAkYW5zd2VyWyJtc2dJZCJdOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIGlmIChjb3VudCgkbWVzc2FnZXMpID4gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0eXBlID09ICJzc2UiKSB7IC8vINCS0YvQstC+0LTQuNC8LCDQtdGB0LvQuCDRjdGC0L4gU2VydmVyU2lkZUV2ZW50DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiZGF0YTogIjsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb21tYW5kIiAgICAgICA9PiAibmV3TWVzc2FnZXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZXNzYWdlcyIgICAgICA9PiAkbWVzc2FnZXMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhc3RNZXNzYWdlSWQiID0+ICRsYXN0TWVzc2FnZUlkLA0KICAgICAgICAgICAgICAgICAgICAgICAgXSk7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHR5cGUgPT0gInNzZSIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICJcblxuIjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAb2JfZmx1c2goKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbHVzaCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGl0KCk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHR5cGUgPT0gInNzZSIpIHsgLy8g0JLRi9Cy0L7QtNC40LwsINC10YHQu9C4INGN0YLQviBTZXJ2ZXJTaWRlRXZlbnQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICJkYXRhOiAiOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWyJjb21tYW5kIiA9PiAibm90aGluZyJdKSAuICJcblxuIjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAb2JfZmx1c2goKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbHVzaCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICB1c2xlZXAoNTAwMDAwKTsNCiAgICAgICAgICAgIGlmICgkdHlwZSA9PSAibHAiKSB7DQogICAgICAgICAgICAgICAgaWYgKCh0aW1lKCkgLSAkbm93VGltZSkgPiA2MCkgew0KICAgICAgICAgICAgICAgICAgICBlY2hvIGpzb25fZW5jb2RlKFsiY29tbWFuZCIgPT4gInRpbWVvdXQiXSk7DQogICAgICAgICAgICAgICAgICAgIGV4aXQoKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgYnJlYWs7DQoNCg0KICAgIGNhc2UgJ2dldFBob3RvJzoNCg0KICAgICAgICBpZiAoIWFycmF5X2tleV9leGlzdHMoImZpbGVJZCIsICRfR0VUKSkgew0KICAgICAgICAgICAgaGVhZGVyKCJIVFRQLzEuMCA0MDQgTm90IEZvdW5kIik7DQogICAgICAgICAgICBleGl0KCk7DQogICAgICAgIH0NCiAgICAgICAgJGZpbGVJZCA9ICRfR0VUWyJmaWxlSWQiXTsNCiAgICAgICAgJHRlbGVncmFtdXJsID0gImh0dHBzOi8vYXBpLnRlbGVncmFtLm9yZy9ib3QiIC4gQk9UVE9LRU4gLiAiL2dldEZpbGUiOw0KICAgICAgICAkcmVxdWVzdCA9IGN1cmxfaW5pdCgkdGVsZWdyYW11cmwpOw0KICAgICAgICBjdXJsX3NldG9wdCgkcmVxdWVzdCwgQ1VSTE9QVF9QT1NULCB0cnVlKTsNCiAgICAgICAgJHF1ZXJ5ID0gWydmaWxlX2lkJyA9PiAkZmlsZUlkXTsNCiAgICAgICAgY3VybF9zZXRvcHQoJHJlcXVlc3QsIENVUkxPUFRfUE9TVEZJRUxEUywgJHF1ZXJ5KTsNCiAgICAgICAgY3VybF9zZXRvcHQoJHJlcXVlc3QsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOw0KICAgICAgICAkcmVzdWx0ID0gY3VybF9leGVjKCRyZXF1ZXN0KTsNCiAgICAgICAgY3VybF9jbG9zZSgkcmVxdWVzdCk7DQoNCiAgICAgICAgQCRyZXN1bHQgPSBqc29uX2RlY29kZSgkcmVzdWx0LCB0cnVlKTsNCiAgICAgICAgaWYgKCRyZXN1bHRbIm9rIl0gPT0gdHJ1ZSkgew0KICAgICAgICAgICAgJHBob3RvRGF0YSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCJodHRwczovL2FwaS50ZWxlZ3JhbS5vcmcvZmlsZS9ib3QiIC4gQk9UVE9LRU4gLiAiLyIgLiAkcmVzdWx0WyJyZXN1bHQiXVsiZmlsZV9wYXRoIl0pOw0KICAgICAgICAgICAgaGVhZGVyKCdDb250ZW50LVR5cGU6IGltYWdlL2pwZWcnKTsNCiAgICAgICAgICAgIHByaW50ICRwaG90b0RhdGE7DQoNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIGhlYWRlcigiSFRUUC8xLjAgNDA0IE5vdCBGb3VuZCIpOw0KICAgICAgICAgICAgZXhpdCgpOw0KICAgICAgICB9DQogICAgICAgIGJyZWFrOw0KDQogICAgY2FzZSAnZ2V0RG9jdW1lbnQnOg0KDQogICAgICAgIGlmICghYXJyYXlfa2V5X2V4aXN0cygiZmlsZUlkIiwgJF9HRVQpKSB7DQogICAgICAgICAgICBoZWFkZXIoIkhUVFAvMS4wIDQwNCBOb3QgRm91bmQiKTsNCiAgICAgICAgICAgIGV4aXQoKTsNCiAgICAgICAgfQ0KDQogICAgICAgICRmaWxlSWQgPSAkX0dFVFsiZmlsZUlkIl07DQoNCiAgICAgICAgaWYgKGFycmF5X2tleV9leGlzdHMoImZpbGVuYW1lIiwgJF9HRVQpKSB7DQogICAgICAgICAgICAkZmlsZW5hbWUgPSAkX0dFVFsiZmlsZW5hbWUiXTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICRmaWxlbmFtZSA9IG51bGw7DQogICAgICAgIH0NCg0KICAgICAgICAkdGVsZWdyYW11cmwgPSAiaHR0cHM6Ly9hcGkudGVsZWdyYW0ub3JnL2JvdCIgLiBCT1RUT0tFTiAuICIvZ2V0RmlsZSI7DQogICAgICAgICRyZXF1ZXN0ID0gY3VybF9pbml0KCR0ZWxlZ3JhbXVybCk7DQogICAgICAgIGN1cmxfc2V0b3B0KCRyZXF1ZXN0LCBDVVJMT1BUX1BPU1QsIHRydWUpOw0KICAgICAgICAkcXVlcnkgPSBbJ2ZpbGVfaWQnID0+ICRmaWxlSWRdOw0KICAgICAgICBjdXJsX3NldG9wdCgkcmVxdWVzdCwgQ1VSTE9QVF9QT1NURklFTERTLCAkcXVlcnkpOw0KICAgICAgICBjdXJsX3NldG9wdCgkcmVxdWVzdCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgdHJ1ZSk7DQogICAgICAgICRyZXN1bHQgPSBjdXJsX2V4ZWMoJHJlcXVlc3QpOw0KICAgICAgICBjdXJsX2Nsb3NlKCRyZXF1ZXN0KTsNCg0KICAgICAgICBAJHJlc3VsdCA9IGpzb25fZGVjb2RlKCRyZXN1bHQsIHRydWUpOw0KICAgICAgICBpZiAoJHJlc3VsdFsib2siXSA9PSB0cnVlKSB7DQogICAgICAgICAgICBpZiAoJGZpbGVuYW1lID09IG51bGwpIHsNCiAgICAgICAgICAgICAgICAkZmlsZW5hbWUgPSB1cmxlbmNvZGUoYmFzZW5hbWUoImh0dHBzOi8vYXBpLnRlbGVncmFtLm9yZy9maWxlL2JvdCIgLiBCT1RUT0tFTiAuICIvIiAuICRyZXN1bHRbInJlc3VsdCJdWyJmaWxlX3BhdGgiXSkpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgJGRvY3VtZW50RGF0YSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCJodHRwczovL2FwaS50ZWxlZ3JhbS5vcmcvZmlsZS9ib3QiIC4gQk9UVE9LRU4gLiAiLyIgLiAkcmVzdWx0WyJyZXN1bHQiXVsiZmlsZV9wYXRoIl0pOw0KICAgICAgICAgICAgaGVhZGVyKCJDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iIC4gJGZpbGVuYW1lKTsNCiAgICAgICAgICAgIGhlYWRlcigiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9mb3JjZS1kb3dubG9hZCIpOw0KICAgICAgICAgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIpOw0KICAgICAgICAgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2Rvd25sb2FkIik7DQogICAgICAgICAgICBoZWFkZXIoIkNvbnRlbnQtRGVzY3JpcHRpb246IEZpbGUgVHJhbnNmZXIiKTsNCiAgICAgICAgICAgIC8vaGVhZGVyKCJDb250ZW50LUxlbmd0aDogIiAuIGZpbGVzaXplKCRmaWxlKSk7DQogICAgICAgICAgICBwcmludCAkZG9jdW1lbnREYXRhOw0KDQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBoZWFkZXIoIkhUVFAvMS4wIDQwNCBOb3QgRm91bmQiKTsNCiAgICAgICAgICAgIGV4aXQoKTsNCiAgICAgICAgfQ0KICAgICAgICBicmVhazsNCg0KICAgIGRlZmF1bHQ6DQogICAgICAgIGVjaG8ganNvbl9lbmNvZGUoWyJzdGF0dXMiID0+ICJlcnJvciIsICJlcnJvciIgPT4gIkJBRF9BQ1QiXSk7DQogICAgICAgIGV4aXQoKTsNCg0KfQ==";
fwrite($fp,base64_decode($apiScript));
fclose($fp);
$fp=fopen("telegram-site-helper-get-webhook_".$scriptHash.".php","w");
$getWHScript="PD9waHANCmhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgnKTsNCm1iX2ludGVybmFsX2VuY29kaW5nKCJVVEYtOCIpOw0KDQoJZnVuY3Rpb24gc2VuZE1lc3NhZ2UoJGJvdFRva2VuLCRjaGF0SWQsJG1lc3NhZ2Upew0KCQkkdGVsZWdyYW11cmwgPSAiaHR0cHM6Ly9hcGkudGVsZWdyYW0ub3JnL2JvdCIuJGJvdFRva2VuLiIvc2VuZE1lc3NhZ2UiOw0KCQkkcmVxdWVzdCA9IGN1cmxfaW5pdCgkdGVsZWdyYW11cmwpOw0KCQljdXJsX3NldG9wdCgkcmVxdWVzdCwgQ1VSTE9QVF9QT1NULCB0cnVlKTsNCgkJJHF1ZXJ5PWFycmF5KCdjaGF0X2lkJyA9PiAkY2hhdElkLCAidGV4dCI9PiRtZXNzYWdlKTsNCgkJY3VybF9zZXRvcHQoJHJlcXVlc3QsIENVUkxPUFRfUE9TVEZJRUxEUywgJHF1ZXJ5KTsNCgkJY3VybF9zZXRvcHQoJHJlcXVlc3QsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOw0KCQkkcmVzdWx0ID0gY3VybF9leGVjKCRyZXF1ZXN0KTsNCgkJY3VybF9jbG9zZSgkcmVxdWVzdCk7DQoJCXJldHVybigkcmVzdWx0KTsNCgl9DQoNCglyZXF1aXJlX29uY2UoInRlbGVncmFtLXNpdGUtaGVscGVyLWNvbmZpZy5waHAiKTsNCgkkaW5wdXQ9ZmlsZV9nZXRfY29udGVudHMoInBocDovL2lucHV0Iik7DQoNCglpZihEQlRZUEU9PSJteXNxbCIpew0KCQl0cnl7DQoJCQkkZGIgPSBuZXcgUERPKCdteXNxbDpob3N0PScuTVlTUUxfSE9TVC4nO2RibmFtZT0nLk1ZU1FMX0RCTkFNRSxNWVNRTF9VU0VSLE1ZU1FMX1BBU1NXT1JEKTsNCgkJCSRkYi0+ZXhlYygnc2V0IG5hbWVzIHV0ZjgnKTsNCgkJfWNhdGNoKFBET0V4Y2VwdGlvbiAkZSl7fQ0KCX1lbHNlew0KCQl0cnl7DQoJCQkkZGIgPSBuZXcgUERPKCJzcWxpdGU6Ii5TUUxJVEVfREJOQU1FKTsNCgkJCSRkYi0+ZXhlYygnUFJBR01BIGpvdXJuYWxfbW9kZT1XQUw7Jyk7DQoJCX1jYXRjaChQRE9FeGNlcHRpb24gJGUpe30NCgl9DQoJdHJ5ew0KCQlAJHVwZGF0ZT1qc29uX2RlY29kZSgkaW5wdXQsdHJ1ZSk7DQoJfWNhdGNoKEV4Y2VwdGlvbiAkZSl7fQ0KDQoJaWYoIWlzX2FycmF5KCR1cGRhdGUpKXsNCgkJZXhpdCgpOw0KCX0NCg0KCWlmKCFhcnJheV9rZXlfZXhpc3RzKCJtZXNzYWdlIiwgJHVwZGF0ZSkpew0KCQlleGl0KCk7DQoJfQ0KDQoJJHRlbGVncmFtSWQ9JHVwZGF0ZVsibWVzc2FnZSJdWyJmcm9tIl1bImlkIl07DQoJJG1zZ1RpbWU9JHVwZGF0ZVsibWVzc2FnZSJdWyJkYXRlIl07DQoJJG1hbmFnZXJOYW1lPSR1cGRhdGVbIm1lc3NhZ2UiXVsiZnJvbSJdWyJmaXJzdF9uYW1lIl0uIiAiLiR1cGRhdGVbIm1lc3NhZ2UiXVsiZnJvbSJdWyJsYXN0X25hbWUiXTsNCg0KCWlmKGFycmF5X2tleV9leGlzdHMoInRleHQiLCAkdXBkYXRlWyJtZXNzYWdlIl0pKXsNCgkJJG1zZ1RleHQ9JHVwZGF0ZVsibWVzc2FnZSJdWyJ0ZXh0Il07DQoJfQ0KDQoNCg0KCSRzdGg9JGRiLT5wcmVwYXJlKCJTRUxFQ1QgbWFuYWdlcklkLCBtYW5hZ2VyTm93Q2hhdCBGUk9NIHRlbGVncmFtU2l0ZUhlbHBlck1hbmFnZXJzIFdIRVJFIG1hbmFnZXJUZWxlZ3JhbUlkPTptYW5hZ2VyVGVsZWdyYW1JZCIpOw0KCXZhcl9kdW1wKCRkYi0+ZXJyb3JJbmZvKCkpOw0KCSRzdGgtPmV4ZWN1dGUoYXJyYXkoIjptYW5hZ2VyVGVsZWdyYW1JZCI9PiR0ZWxlZ3JhbUlkKSk7DQoJJGFuc3dlcj0kc3RoLT5mZXRjaCgpOw0KDQoJaWYoJGFuc3dlciE9ZmFsc2Upew0KCQkkbWFuYWdlcklkPSRhbnN3ZXJbIm1hbmFnZXJJZCJdOw0KCQkkbWFuYWdlck5vd0NoYXQ9JGFuc3dlclsibWFuYWdlck5vd0NoYXQiXTsNCgl9ZWxzZXsNCgkJJG1hbmFnZXJJZD1udWxsOw0KCQkkbWFuYWdlck5vd0NoYXQ9bnVsbDsNCgl9DQoNCglpZigkbWFuYWdlcklkIT1udWxsKXsNCgkJLyog0JDQstGC0L7RgNC40LfQvtCy0LDQvdC90YvQuSDQvNC10L3QtdC00LbQtdGAICovDQoNCgkJaWYoJG1zZ1RleHQ9PSIvY29tbWFuZHMiKXsNCg0KCQkJc2VuZE1lc3NhZ2UoQk9UVE9LRU4sJHRlbGVncmFtSWQsItCh0L/QuNGB0L7QuiDQutC+0LzQsNC90LQ6XG4vb2ZmbGluZSAtINGB0YLQsNGC0YPRgSDQvtGE0LvQsNC50L0gKNCd0JUg0L/RgNC40L3QuNC80LDRgtGMINGB0L7QvtCx0YnQtdC90LjRjyDQvtGCINC90L7QstGL0YUg0LrQu9C40LXQvdGC0L7Qsilcbi9vbmxpbmUgLSDRgdGC0LDRgtGD0YEg0L7QvdC70LDQudC9ICjQv9GA0LjQvdC40LzQsNGC0Ywg0YHQvtC+0LHRidC10L3QuNGPINC+0YIg0L3QvtCy0YvRhSDQutC70LjQtdC90YLQvtCyKVxuL2xvZ291dCAtINCj0LTQsNC70LjRgtGMINGB0LXQsdGPINC40Lcg0YHQuNGB0YLQtdC80Ytcbi9jaGF0X0lEIC0g0L/QtdGA0LXQudGC0Lgg0LIg0YfQsNGCINC00LvRjyDQvtCx0YnQtdC90LjRjyDRgSDQutC70LjQtdC90YLQvtC8ICjQstC80LXRgdGC0L4gSUQgLSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRh9Cw0YLQsClcbi9oeXN0b3J5X0lEIC0g0L/QvtC70YPRh9C40YLRjCDQuNGB0YLQvtGA0LjRjiDRgdC+0L7QsdGJ0LXQvdC40Lkg0YfQsNGC0LAgKNCy0LzQtdGB0YLQviBJRCAtINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGH0LDRgtCwKVxuL25ld25hbWUgTmFtZSAtINGB0LzQtdC90LAg0LjQvNC10L3QuCDQvNC10L3QtdC00LbQtdGA0LAg0LIg0YfQsNGC0LUiKTsNCg0KCQl9ZWxzZWlmKCRtc2dUZXh0PT0iL29mZmxpbmUiKXsNCg0KCQkJJHN0aD0kZGItPnByZXBhcmUoIlVQREFURSB0ZWxlZ3JhbVNpdGVIZWxwZXJNYW5hZ2VycyBTRVQgbWFuYWdlclN0YXR1cz06bWFuYWdlclN0YXR1cyBXSEVSRSBtYW5hZ2VyVGVsZWdyYW1JZD06bWFuYWdlclRlbGVncmFtSWQiKTsNCgkJCSRzdGgtPmV4ZWN1dGUoYXJyYXkoIjptYW5hZ2VyVGVsZWdyYW1JZCI9PiR0ZWxlZ3JhbUlkLCAiOm1hbmFnZXJTdGF0dXMiPT4wKSk7DQoJCQlzZW5kTWVzc2FnZShCT1RUT0tFTiwkdGVsZWdyYW1JZCxqc29uX2RlY29kZSgnIlx1MjZkNCInKS4gIiDQktGLINC+0YTRhNC70LDQudC9INC4INC90LUg0LHRg9C00LXRgtC1INC/0L7Qu9GD0YfQsNGC0Ywg0YHQvtC+0LHRidC10L3QuNGPINC+0YIg0L3QvtCy0YvRhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSIpOw0KDQoJCX1lbHNlaWYoJG1zZ1RleHQ9PSIvb25saW5lIil7DQoNCgkJCSRzdGg9JGRiLT5wcmVwYXJlKCJVUERBVEUgdGVsZWdyYW1TaXRlSGVscGVyTWFuYWdlcnMgU0VUIG1hbmFnZXJTdGF0dXM9Om1hbmFnZXJTdGF0dXMgV0hFUkUgbWFuYWdlclRlbGVncmFtSWQ9Om1hbmFnZXJUZWxlZ3JhbUlkIik7DQoJCQkkc3RoLT5leGVjdXRlKGFycmF5KCI6bWFuYWdlclRlbGVncmFtSWQiPT4kdGVsZWdyYW1JZCwgIjptYW5hZ2VyU3RhdHVzIj0+MSkpOw0KCQkJc2VuZE1lc3NhZ2UoQk9UVE9LRU4sJHRlbGVncmFtSWQsanNvbl9kZWNvZGUoJyJcdTI3MDUiJykuIiDQktGLINGB0L3QvtCy0LAg0L7QvdC70LDQudC9INC4INCx0YPQtNC10YLQtSDQv9C+0LvRg9GH0LDRgtGMINGB0L7QvtCx0YnQtdC90LjRjyDQvtGCINC90L7QstGL0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkiKTsNCg0KCQl9ZWxzZWlmKCRtc2dUZXh0PT0iL2xvZ291dCIpew0KDQoJCQkkc3RoPSRkYi0+cHJlcGFyZSgiVVBEQVRFIHRlbGVncmFtU2l0ZUhlbHBlck1hbmFnZXJzIFNFVCBtYW5hZ2VyVGVsZWdyYW1JZD06bWFuYWdlclRlbGVncmFtSWQyIFdIRVJFIG1hbmFnZXJUZWxlZ3JhbUlkPTptYW5hZ2VyVGVsZWdyYW1JZCIpOw0KCQkJJHN0aC0+ZXhlY3V0ZShhcnJheSgiOm1hbmFnZXJUZWxlZ3JhbUlkIj0+JHRlbGVncmFtSWQsIjptYW5hZ2VyVGVsZWdyYW1JZDIiPT5udWxsKSk7DQoJCQlzZW5kTWVzc2FnZShCT1RUT0tFTiwkdGVsZWdyYW1JZCwi0JLRiyDQstGL0YjQu9C4INC40Lcg0YHQuNGB0YLQtdC80YsiKTsNCg0KCQl9ZWxzZWlmKG1iX3N1YnN0cigkbXNnVGV4dCwwLDYpPT0iL2NoYXRfIil7DQoNCgkJCSRjaGF0SWQ9dHJpbShtYl9zdWJzdHIoJG1zZ1RleHQsNikpOw0KCQkJJHN0aD0kZGItPnByZXBhcmUoIlNFTEVDVCBjb3VudCgqKSBhcyBjb3VudCBGUk9NIHRlbGVncmFtU2l0ZUhlbHBlckNoYXRzIFdIRVJFIGNoYXRJZD06Y2hhdElkIik7DQoJCQkkc3RoLT5leGVjdXRlKGFycmF5KCI6Y2hhdElkIj0+JGNoYXRJZCkpOw0KCQkJJGFuc3dlcj0kc3RoLT5mZXRjaCgpOw0KCQkJaWYoJGFuc3dlclsiY291bnQiXT4wKXsNCgkJCQkkc3RoPSRkYi0+cHJlcGFyZSgiVVBEQVRFIHRlbGVncmFtU2l0ZUhlbHBlck1hbmFnZXJzIFNFVCBtYW5hZ2VyTm93Q2hhdD06bWFuYWdlck5vd0NoYXQgV0hFUkUgIG1hbmFnZXJJZCA9Om1hbmFnZXJJZCIpOw0KCQkJCSRzdGgtPmV4ZWN1dGUoYXJyYXkoIjptYW5hZ2VyTm93Q2hhdCI9PiRjaGF0SWQsICI6bWFuYWdlcklkIj0+JG1hbmFnZXJJZCkpOw0KCQkJCSRzdGg9JGRiLT5wcmVwYXJlKCJVUERBVEUgdGVsZWdyYW1TaXRlSGVscGVyQ2hhdHMgU0VUIGNoYXRNYW5hZ2VyPTpjaGF0TWFuYWdlciBXSEVSRSBjaGF0SWQgPTpjaGF0SWQiKTsNCgkJCQkkc3RoLT5leGVjdXRlKGFycmF5KCI6Y2hhdE1hbmFnZXIiPT4kdGVsZWdyYW1JZCwgIjpjaGF0SWQiPT4kY2hhdElkKSk7DQoJCQkJc2VuZE1lc3NhZ2UoQk9UVE9LRU4sJHRlbGVncmFtSWQsanNvbl9kZWNvZGUoJyJcdTI3MTQiJykuIiDQktGLINC/0LXRgNC10YjQu9C4INCyINGH0LDRgiAvY2hhdF8iLiRjaGF0SWQuIiIpOw0KDQoJCQkJJHN0aD0kZGItPnByZXBhcmUoIlNFTEVDVCBjaGF0Q3VzdG9tZXJOYW1lLCBjaGF0Q3VzdG9tZXJQaG9uZSBGUk9NIHRlbGVncmFtU2l0ZUhlbHBlckNoYXRzIFdIRVJFIGNoYXRJZD06Y2hhdElkIik7DQoJCQkJJHN0aC0+ZXhlY3V0ZShhcnJheSgiOmNoYXRJZCI9PiRjaGF0SWQpKTsNCgkJCQkkYW5zd2VyPSRzdGgtPmZldGNoKCk7DQoJCQkJaWYoJGFuc3dlclsiY2hhdEN1c3RvbWVyTmFtZSJdIT1udWxsIHx8ICRhbnN3ZXJbImNoYXRDdXN0b21lclBob25lIl0hPW51bGwpew0KCQkJCQlzZW5kTWVzc2FnZShCT1RUT0tFTiwkdGVsZWdyYW1JZCxqc29uX2RlY29kZSgnIlx1ZDgzZFx1ZGM2NCInKS4iINCa0LvQuNC10L3RgjogIi4kYW5zd2VyWyJjaGF0Q3VzdG9tZXJOYW1lIl0uIiAiLiRhbnN3ZXJbImNoYXRDdXN0b21lclBob25lIl0uIlxu0JTQu9GPINCy0YvQstC+0LTQsCDQv9C+0LvQvdC+0Lkg0LjRgdGC0L7RgNC40Lgg0YHQvtC+0LHRidC10L3QuNC5INC90LDQttC80LjRgtC1IC9oeXN0b3J5XyIuJGNoYXRJZCk7DQoJCQkJfQ0KDQoJCQl9ZWxzZXsNCgkJCQlzZW5kTWVzc2FnZShCT1RUT0tFTiwkdGVsZWdyYW1JZCxqc29uX2RlY29kZSgnIlx1ZDgzZFx1ZGVhYiInKS4iINCn0LDRgiAvY2hhdF8iLiRjaGF0SWQuIiDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCIik7DQoJCQl9DQoNCg0KDQoJCX1lbHNlaWYobWJfc3Vic3RyKCRtc2dUZXh0LDAsOSk9PSIvaHlzdG9yeV8iKXsNCg0KCQkJJGNoYXRJZD10cmltKG1iX3N1YnN0cigkbXNnVGV4dCw5KSk7DQoJCQkkc3RoPSRkYi0+cHJlcGFyZSgiU0VMRUNUIGNvdW50KCopIGFzIGNvdW50IEZST00gdGVsZWdyYW1TaXRlSGVscGVyQ2hhdHMgV0hFUkUgY2hhdElkPTpjaGF0SWQiKTsNCgkJCSRzdGgtPmV4ZWN1dGUoYXJyYXkoIjpjaGF0SWQiPT4kY2hhdElkKSk7DQoJCQkkYW5zd2VyPSRzdGgtPmZldGNoKCk7DQoJCQkkaHlzdG9yeT0i0JjRgdGC0L7RgNC40Y8g0L/QtdGA0LXQv9C40YHQutC4IC9jaGF0XyIuJGNoYXRJZC4iXG5cbiI7DQoJCQlpZigkYW5zd2VyWyJjb3VudCJdPjApew0KDQoJCQkJJHN0aD0kZGItPnByZXBhcmUoIlNFTEVDVCBjaGF0Q3VzdG9tZXJOYW1lLCBjaGF0Q3VzdG9tZXJQaG9uZSBGUk9NIHRlbGVncmFtU2l0ZUhlbHBlckNoYXRzIFdIRVJFIGNoYXRJZD06Y2hhdElkIik7DQoJCQkJJHN0aC0+ZXhlY3V0ZShhcnJheSgiOmNoYXRJZCI9PiRjaGF0SWQpKTsNCgkJCQkkYW5zd2VyPSRzdGgtPmZldGNoKCk7DQoJCQkJaWYoJGFuc3dlclsiY2hhdEN1c3RvbWVyTmFtZSJdIT1udWxsKXsNCgkJCQkJJGNoYXRDdXN0b21lck5hbWU9JGFuc3dlclsiY2hhdEN1c3RvbWVyTmFtZSJdOw0KCQkJCX1lbHNlew0KCQkJCQkkY2hhdEN1c3RvbWVyTmFtZT0i0JrQu9C40LXQvdGCIjsNCgkJCQl9DQoNCg0KCQkJCSRzdGg9JGRiLT5wcmVwYXJlKCJTRUxFQ1QgdGVsZWdyYW1TaXRlSGVscGVyTWVzc2FnZXMubXNnVGltZSwgdGVsZWdyYW1TaXRlSGVscGVyTWVzc2FnZXMubXNnVGV4dCwgdGVsZWdyYW1TaXRlSGVscGVyTWFuYWdlcnMubWFuYWdlck5hbWUgRlJPTSB0ZWxlZ3JhbVNpdGVIZWxwZXJNZXNzYWdlcyBMRUZUIEpPSU4gdGVsZWdyYW1TaXRlSGVscGVyTWFuYWdlcnMgT04gdGVsZWdyYW1TaXRlSGVscGVyTWVzc2FnZXMubXNnRnJvbT10ZWxlZ3JhbVNpdGVIZWxwZXJNYW5hZ2Vycy5tYW5hZ2VySWQgV0hFUkUgbXNnQ2hhdElkPTptc2dDaGF0SWQgT1JERVIgQlkgbXNnVGltZSIpOw0KCQkJCSRzdGgtPmV4ZWN1dGUoYXJyYXkoIjptc2dDaGF0SWQiPT4kY2hhdElkKSk7DQoJCQkJd2hpbGUoJGFuc3dlcj0kc3RoLT5mZXRjaCgpKXsNCgkJCQkJJG1zZz0iXG4iOw0KCQkJCQkkbXNnLj1kYXRlKCJqLm0gKEg6aTpzKSIsJGFuc3dlclsibXNnVGltZSJdKS4iXG4iOw0KCQkJCQlpZigkYW5zd2VyWyJtYW5hZ2VyTmFtZSJdIT1udWxsKXsNCgkJCQkJCSRtc2cuPWpzb25fZGVjb2RlKCciXHVkODNkXHVkZGUzIicpLiIg0JzQtdC90LXQtNC20LXRgCAiLiRhbnN3ZXJbIm1hbmFnZXJOYW1lIl0uIjpcbiI7DQoJCQkJCX1lbHNlew0KCQkJCQkJJG1zZy49anNvbl9kZWNvZGUoJyJcdWQ4M2RcdWRkZTMiJykuIiAiLiRjaGF0Q3VzdG9tZXJOYW1lLiI6XG4iOw0KCQkJCQl9DQoNCgkJCQkJJG1zZ1RleHRIeXN0b3J5PWpzb25fZGVjb2RlKCRhbnN3ZXJbIm1zZ1RleHQiXSx0cnVlKTsNCgkJCQkJaWYoYXJyYXlfa2V5X2V4aXN0cygidGV4dCIsICRtc2dUZXh0SHlzdG9yeSkpew0KCQkJCQkJJG1zZy49Ii0gIi4kbXNnVGV4dEh5c3RvcnlbInRleHQiXS4iXG4iOw0KCQkJCQl9ZWxzZSBpZihhcnJheV9rZXlfZXhpc3RzKCJwaG90byIsICRtc2dUZXh0SHlzdG9yeSkpew0KCQkJCQkJJG1zZy49Ii0gW3Bob3RvXVxuIjsNCgkJCQkJfWVsc2UgaWYoYXJyYXlfa2V5X2V4aXN0cygiZmlsZSIsICRtc2dUZXh0SHlzdG9yeSkgJiYgYXJyYXlfa2V5X2V4aXN0cygiZmlsZW5hbWUiLCAkbXNnVGV4dEh5c3RvcnkpKXsNCgkJCQkJCSRtc2cuPSItIFtmaWxlOiAiLiRtc2dUZXh0SHlzdG9yeVsiZmlsZW5hbWUiXS4iXVxuIjsNCgkJCQkJfQ0KCQkJCQkkaHlzdG9yeS49JG1zZzsNCgkJCQl9DQoJCQkJc2VuZE1lc3NhZ2UoQk9UVE9LRU4sJHRlbGVncmFtSWQsJGh5c3RvcnkpOw0KCQkJfWVsc2V7DQoJCQkJc2VuZE1lc3NhZ2UoQk9UVE9LRU4sJHRlbGVncmFtSWQsanNvbl9kZWNvZGUoJyJcdWQ4M2RcdWRlYWIiJykuIiDQp9Cw0YIgL2NoYXRfIi4kY2hhdElkLiIg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgiIpOw0KCQkJfQ0KDQoJCX1lbHNlaWYobWJfc3Vic3RyKCRtc2dUZXh0LDAsOCk9PSIvbmV3bmFtZSIpew0KDQoJCQkkbmV3TmFtZT10cmltKG1iX3N1YnN0cigkbXNnVGV4dCw4KSk7DQoJCQlpZigkbmV3TmFtZT09bnVsbCl7DQoJCQkJc2VuZE1lc3NhZ2UoQk9UVE9LRU4sJHRlbGVncmFtSWQsItCd0LXQvtCx0YXQvtC00LjQvNC+INCy0LLQtdGB0YLQuCDRhdC+0YLRjyDQsdGLINC+0LTQuNC9INGB0LjQvNCy0L7Quy4g0JjQvNGPINC90LUg0LjQt9C80LXQvdC10L3Qvi4iKTsNCgkJCX1lbHNlew0KCQkJCSRzdGg9JGRiLT5wcmVwYXJlKCJVUERBVEUgdGVsZWdyYW1TaXRlSGVscGVyTWFuYWdlcnMgU0VUIG1hbmFnZXJOYW1lPTptYW5hZ2VyTmFtZSBXSEVSRSBtYW5hZ2VyVGVsZWdyYW1JZD06bWFuYWdlclRlbGVncmFtSWQiKTsNCgkJCQkkc3RoLT5leGVjdXRlKGFycmF5KCI6bWFuYWdlclRlbGVncmFtSWQiPT4kdGVsZWdyYW1JZCwgIjptYW5hZ2VyTmFtZSI9PiRuZXdOYW1lKSk7DQoJCQkJc2VuZE1lc3NhZ2UoQk9UVE9LRU4sJHRlbGVncmFtSWQsItCS0LDRiNC1INC90L7QstC+0LUg0LjQvNGPINCyINGH0LDRgtC1OiAiLiRuZXdOYW1lKTsNCgkJCX0NCg0KCQl9ZWxzZSBpZigkbWFuYWdlck5vd0NoYXQhPW51bGwpew0KDQoJCQlpZihhcnJheV9rZXlfZXhpc3RzKCJ0ZXh0IiwgJHVwZGF0ZVsibWVzc2FnZSJdKSl7DQoJCQkJJG1zZ0NvbnRlbnQ9anNvbl9lbmNvZGUoYXJyYXkoInRleHQiPT4kdXBkYXRlWyJtZXNzYWdlIl1bInRleHQiXSkpOw0KCQkJfWVsc2UgaWYoYXJyYXlfa2V5X2V4aXN0cygicGhvdG8iLCAkdXBkYXRlWyJtZXNzYWdlIl0pKXsNCgkJCQkkcGhvdG89JHVwZGF0ZVsibWVzc2FnZSJdWyJwaG90byJdWyhjb3VudCgkdXBkYXRlWyJtZXNzYWdlIl1bInBob3RvIl0pLTEpXVsiZmlsZV9pZCJdOw0KCQkJCSRtc2dDb250ZW50PWpzb25fZW5jb2RlKGFycmF5KCJwaG90byI9PiRwaG90bykpOw0KCQkJfWVsc2UgaWYoYXJyYXlfa2V5X2V4aXN0cygiZG9jdW1lbnQiLCAkdXBkYXRlWyJtZXNzYWdlIl0pKXsNCgkJCQkkZmlsZUlkPSR1cGRhdGVbIm1lc3NhZ2UiXVsiZG9jdW1lbnQiXVsiZmlsZV9pZCJdOw0KCQkJCSRmaWxlTmFtZT0kdXBkYXRlWyJtZXNzYWdlIl1bImRvY3VtZW50Il1bImZpbGVfbmFtZSJdOw0KCQkJCSRtc2dDb250ZW50PWpzb25fZW5jb2RlKGFycmF5KCJmaWxlIj0+JGZpbGVJZCwgImZpbGVuYW1lIj0+JGZpbGVOYW1lKSk7DQoJCQl9ZWxzZXsNCgkJCQkkbXNnQ29udGVudD1udWxsOw0KCQkJfQ0KDQoJCQkkc3RoPSRkYi0+cHJlcGFyZSgiSU5TRVJUIElOVE8gdGVsZWdyYW1TaXRlSGVscGVyTWVzc2FnZXMgKG1zZ0NoYXRJZCwgbXNnRnJvbSwgbXNnVGltZSwgbXNnVGV4dCkgVkFMVUVTICg6bXNnQ2hhdElkLCA6bXNnRnJvbSwgOm1zZ1RpbWUsIDptc2dUZXh0KSIpOw0KCQkJJHN0aC0+ZXhlY3V0ZShhcnJheSgNCgkJCQkiOm1zZ0NoYXRJZCI9PiRtYW5hZ2VyTm93Q2hhdCwNCgkJCQkiOm1zZ0Zyb20iPT4kbWFuYWdlcklkLA0KCQkJCSI6bXNnVGltZSI9PiRtc2dUaW1lLA0KCQkJCSI6bXNnVGV4dCI9PiRtc2dDb250ZW50KQ0KCQkJKTsNCgkJCSRmcFRpbWU9Zm9wZW4oInRzaC1jaGF0VXBkYXRlcy8iLiRtYW5hZ2VyTm93Q2hhdC4iLnVwZGF0ZSIsInciKTsNCgkJCWZ3cml0ZSgkZnBUaW1lLCBtaWNyb3RpbWUodHJ1ZSkpOw0KCQkJZmNsb3NlKCRmcFRpbWUpOw0KCQl9ZWxzZXsNCgkJCXNlbmRNZXNzYWdlKEJPVFRPS0VOLCR0ZWxlZ3JhbUlkLGpzb25fZGVjb2RlKCciXHVkODNkXHVkY2FjIicpLiIg0JLRi9Cx0LXRgNC40YLQtSDRh9Cw0YIsINCyINC60L7RgtC+0YDRi9C5INC+0YLQv9GA0LDQstC40YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUhINCS0LLQtdC00LjRgtC1IFwiL2NoYXRfSWTQp9Cw0YLQsFwiINC40LvQuCDQvdCw0LbQvNC40YLQtSDQvdCwINGB0YHRi9C70LrRgyDQsiDQutC+0L3RhtC1INGB0L7QvtCx0YnQtdC90LjRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uIik7DQoNCgkJfQ0KCX1lbHNlew0KCQkvKiDQndC10LrRgtC+INC90LUg0LDQstGC0L7RgNC40LfQvtCy0LDQvdC90YvQuSovDQoJCWlmKG1iX3N1YnN0cigkbXNnVGV4dCwwLDYpPT0iL2xvZ2luIil7DQoJCQkkcGFzc3dvcmQ9dHJpbShtYl9zdWJzdHIoJG1zZ1RleHQsNikpOw0KCQkJaWYoJHBhc3N3b3JkPT1NQU5BR0VSUEFTUyl7DQoJCQkJJHN0aD0kZGItPnByZXBhcmUoIklOU0VSVCBJTlRPIHRlbGVncmFtU2l0ZUhlbHBlck1hbmFnZXJzIChtYW5hZ2VyVGVsZWdyYW1JZCwgbWFuYWdlck5hbWUsIG1hbmFnZXJOb3dDaGF0LCBtYW5hZ2VyU3RhdHVzKSBWQUxVRVMgKDptYW5hZ2VyVGVsZWdyYW1JZCwgOm1hbmFnZXJOYW1lLCA6bWFuYWdlck5vd0NoYXQsIDptYW5hZ2VyU3RhdHVzKSIpOw0KCQkJCSRzdGgtPmV4ZWN1dGUoYXJyYXkoDQoJCQkJCSI6bWFuYWdlclRlbGVncmFtSWQiPT4kdGVsZWdyYW1JZCwNCgkJCQkJIjptYW5hZ2VyTmFtZSI9PiRtYW5hZ2VyTmFtZSwNCgkJCQkJIjptYW5hZ2VyTm93Q2hhdCI9Pm51bGwsDQoJCQkJCSI6bWFuYWdlclN0YXR1cyI9PjENCgkJCQkJKQ0KCQkJCSk7DQoJCQkJc2VuZE1lc3NhZ2UoQk9UVE9LRU4sJHRlbGVncmFtSWQsItCf0LDRgNC+0LvRjCDQstC10YDQvdGL0LkuINCS0Ysg0LLQvtGI0LvQuCDQsiDRgdC40YHRgtC10LzRgy4iKTsNCgkJCQlzZW5kTWVzc2FnZShCT1RUT0tFTiwkdGVsZWdyYW1JZCwi0JLQsNGIINGB0YLQsNGC0YPRgSAtIC9vbmxpbmUuINCU0LvRjyDQvtGC0LrQu9GO0YfQtdC90LjRjyDQstCy0LXQtNC40YLQtSAvb2ZmbGluZVxu0KfRgtC+0LHRiyDRg9C00LDQu9C40YLRjCDRgdC10LHRjyDQuNC3INGB0LjRgdGC0LXQvNGLINCy0LLQtdC00LjRgtC1IC9sb2dvdXQiKTsNCgkJCQlzZW5kTWVzc2FnZShCT1RUT0tFTiwkdGVsZWdyYW1JZCwi0JLQsNGIINC40LzRjzogIi4kbWFuYWdlck5hbWUuIi4g0JXRgdC70Lgg0YXQvtGC0LjRgtC1INGB0LzQtdC90LjRgtGMINC40LzRjyDQsiDRh9Cw0YLQtSAtINCy0LLQtdC00LjRgtC1IFwiL25ld25hbWUg0J3QvtCy0L7QtSDQmNC80Y9cIiIpOw0KCQkJfWVsc2V7DQoJCQkJCXNlbmRNZXNzYWdlKEJPVFRPS0VOLCR0ZWxlZ3JhbUlkLCLQn9Cw0YDQvtC70Ywg0L3QtSDQstC10YDQvdGL0LkuINCj0YLQvtGH0L3QuNGC0LUg0L/QsNGA0L7Qu9GMINC80LXQvdC10LTQttC10YDQsCDRgyDQsNC00LzQuNC90LjRgdGC0YDQsNGC0L7RgNCwINGB0LjRgdGC0LXQvNGLIik7DQoJCQl9DQoJCX1lbHNlew0KCQkJc2VuZE1lc3NhZ2UoQk9UVE9LRU4sJHRlbGVncmFtSWQsanNvbl9kZWNvZGUoJyJcdWQ4M2RcdWRkMTAiJykuIiDQlNC70Y8g0LDQstGC0L7RgNC40LfQsNGG0LjQuCDQstCy0LXQtNC40YLQtSBcIi9sb2dpbiDQv9Cw0YDQvtC70Yxf0LzQtdC90LXQtNC20LXRgNCwXCIiKTsNCgkJfQ0KCX0=";
fwrite($fp,base64_decode($getWHScript));
fclose($fp);
$whUrl="https://".$_SERVER["HTTP_HOST"]."".DIR_ON_SERVER."/telegram-site-helper-get-webhook_".$scriptHash.".php";
if($selfCertPart!=null){
if(is_file($selfCertPart)){
$setWebHook=setWebHook($botToken,$whUrl,$selfCertPart);
}else{
$setWebHook="{\"ok\":false, \"description\":\"Bad certificate file\"}";
}
}else{
$setWebHook=setWebHook($botToken,$whUrl);
}
$statuses["statusSetWebHook"]="error";
try{
$setWebHookAnswer=json_decode($setWebHook,true);
$statuses["statusSetWebHookInfo"]=$setWebHookAnswer;
if (@$setWebHookAnswer["ok"]==true) {
$statuses["statusSetWebHook"]="ok";
$setWebHookAnswer["url"]=$whUrl;
}
}catch(Exception $e){
$statuses["statusSetWebHook"]="error";
}
if($statuses["statusCreatingDB"]=="ok" && $statuses["statusCreatingConfig"]=="ok" && $statuses["statusSetWebHook"]=="ok"){
$statuses["statusComplete"]="ok";
}else{
$statuses["statusComplete"]="error";
}
}else{
$statuses["statusComplete"]="error";
}
echo json_encode($statuses);
exit();
break;
case 'urls':
header("Content-Type:text/css");
$cssUrl = ROOT_DIR . "/telegram-site-helper.css";
$jsUrl = ROOT_DIR ."/telegram-site-helper.js";
$apiUrl = ROOT_DIR ."/telegram-site-helper-api.php";
$thisDir = $_SERVER["DOCUMENT_ROOT"]."".DIR_ON_SERVER."/";
$answer=array("status"=>"ok","jsUrl"=>$jsUrl,"cssUrl"=>$cssUrl,"apiUrl"=>$apiUrl,"thisDir"=>$thisDir);
echo json_encode($answer);
exit();
break;
case 'css':
header("Content-Type:text/css");
$css="aHRtbHtmb250LWZhbWlseTpzYW5zLXNlcmlmOy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlOy1tcy10ZXh0LXNpemUtYWRqdXN0OjEwMCV9Ym9keXttYXJnaW46MH1hcnRpY2xlLGFzaWRlLGRldGFpbHMsZmlnY2FwdGlvbixmaWd1cmUsZm9vdGVyLGhlYWRlcixoZ3JvdXAsbWFpbixtZW51LG5hdixzZWN0aW9uLHN1bW1hcnl7ZGlzcGxheTpibG9ja31hdWRpbyxjYW52YXMscHJvZ3Jlc3MsdmlkZW97ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9YXVkaW86bm90KFtjb250cm9sc10pe2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MH1baGlkZGVuXSx0ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWE6YWN0aXZlLGE6aG92ZXJ7b3V0bGluZTowfWFiYnJbdGl0bGVde2JvcmRlci1ib3R0b206MXB4IGRvdHRlZH1iLHN0cm9uZ3tmb250LXdlaWdodDo3MDB9ZGZue2ZvbnQtc3R5bGU6aXRhbGljfWgxe21hcmdpbjouNjdlbSAwO2ZvbnQtc2l6ZToyZW19bWFya3tjb2xvcjojMDAwO2JhY2tncm91bmQ6I2ZmMH1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1cHt0b3A6LS41ZW19c3Vie2JvdHRvbTotLjI1ZW19aW1ne2JvcmRlcjowfXN2Zzpub3QoOnJvb3Qpe292ZXJmbG93OmhpZGRlbn1maWd1cmV7bWFyZ2luOjFlbSA0MHB4fWhye2hlaWdodDowOy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveH1wcmV7b3ZlcmZsb3c6YXV0b31jb2RlLGtiZCxwcmUsc2FtcHtmb250LWZhbWlseTptb25vc3BhY2UsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19YnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXttYXJnaW46MDtmb250OmluaGVyaXQ7Y29sb3I6aW5oZXJpdH1idXR0b257b3ZlcmZsb3c6dmlzaWJsZX1idXR0b24sc2VsZWN0e3RleHQtdHJhbnNmb3JtOm5vbmV9YnV0dG9uLGh0bWwgaW5wdXRbdHlwZT1idXR0b25dLGlucHV0W3R5cGU9cmVzZXRdLGlucHV0W3R5cGU9c3VibWl0XXstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2N1cnNvcjpwb2ludGVyfWJ1dHRvbltkaXNhYmxlZF0saHRtbCBpbnB1dFtkaXNhYmxlZF17Y3Vyc29yOmRlZmF1bHR9YnV0dG9uOjotbW96LWZvY3VzLWlubmVyLGlucHV0OjotbW96LWZvY3VzLWlubmVye3BhZGRpbmc6MDtib3JkZXI6MH1pbnB1dHtsaW5lLWhlaWdodDpub3JtYWx9aW5wdXRbdHlwZT1jaGVja2JveF0saW5wdXRbdHlwZT1yYWRpb117LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MH1pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24saW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfWlucHV0W3R5cGU9c2VhcmNoXXstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7LW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZH1pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24saW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfWZpZWxkc2V0e3BhZGRpbmc6LjM1ZW0gLjYyNWVtIC43NWVtO21hcmdpbjowIDJweDtib3JkZXI6MXB4IHNvbGlkIHNpbHZlcn1sZWdlbmR7cGFkZGluZzowO2JvcmRlcjowfXRleHRhcmVhe292ZXJmbG93OmF1dG99b3B0Z3JvdXB7Zm9udC13ZWlnaHQ6NzAwfXRhYmxle2JvcmRlci1zcGFjaW5nOjA7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfXRkLHRoe3BhZGRpbmc6MH0vKiEgU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzICovQG1lZGlhIHByaW50eyosOmFmdGVyLDpiZWZvcmV7Y29sb3I6IzAwMCFpbXBvcnRhbnQ7dGV4dC1zaGFkb3c6bm9uZSFpbXBvcnRhbnQ7YmFja2dyb3VuZDowIDAhaW1wb3J0YW50Oy13ZWJraXQtYm94LXNoYWRvdzpub25lIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50fWEsYTp2aXNpdGVke3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9YVtocmVmXTphZnRlcntjb250ZW50OiIgKCIgYXR0cihocmVmKSAiKSJ9YWJiclt0aXRsZV06YWZ0ZXJ7Y29udGVudDoiICgiIGF0dHIodGl0bGUpICIpIn1hW2hyZWZePSJqYXZhc2NyaXB0OiJdOmFmdGVyLGFbaHJlZl49IiMiXTphZnRlcntjb250ZW50OiIifWJsb2NrcXVvdGUscHJle2JvcmRlcjoxcHggc29saWQgIzk5OTtwYWdlLWJyZWFrLWluc2lkZTphdm9pZH10aGVhZHtkaXNwbGF5OnRhYmxlLWhlYWRlci1ncm91cH1pbWcsdHJ7cGFnZS1icmVhay1pbnNpZGU6YXZvaWR9aW1ne21heC13aWR0aDoxMDAlIWltcG9ydGFudH1oMixoMyxwe29ycGhhbnM6Mzt3aWRvd3M6M31oMixoM3twYWdlLWJyZWFrLWFmdGVyOmF2b2lkfS5uYXZiYXJ7ZGlzcGxheTpub25lfS5idG4+LmNhcmV0LC5kcm9wdXA+LmJ0bj4uY2FyZXR7Ym9yZGVyLXRvcC1jb2xvcjojMDAwIWltcG9ydGFudH0ubGFiZWx7Ym9yZGVyOjFweCBzb2xpZCAjMDAwfS50YWJsZXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2UhaW1wb3J0YW50fS50YWJsZSB0ZCwudGFibGUgdGh7YmFja2dyb3VuZC1jb2xvcjojZmZmIWltcG9ydGFudH0udGFibGUtYm9yZGVyZWQgdGQsLnRhYmxlLWJvcmRlcmVkIHRoe2JvcmRlcjoxcHggc29saWQgI2RkZCFpbXBvcnRhbnR9fQ0KKnstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9OmFmdGVyLDpiZWZvcmV7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fWh0bWx7Zm9udC1zaXplOjEwcHg7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCl9Ym9keXtmb250LWZhbWlseToiSGVsdmV0aWNhIE5ldWUiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9YnV0dG9uLGlucHV0LHNlbGVjdCx0ZXh0YXJlYXtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXR9YXtjb2xvcjojMzM3YWI3O3RleHQtZGVjb3JhdGlvbjpub25lfWE6Zm9jdXMsYTpob3Zlcntjb2xvcjojMjM1MjdjO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9YTpmb2N1c3tvdXRsaW5lOnRoaW4gZG90dGVkO291dGxpbmU6NXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHh9ZmlndXJle21hcmdpbjowfWltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmNhcm91c2VsLWlubmVyPi5pdGVtPmE+aW1nLC5jYXJvdXNlbC1pbm5lcj4uaXRlbT5pbWcsLmltZy1yZXNwb25zaXZlLC50aHVtYm5haWwgYT5pbWcsLnRodW1ibmFpbD5pbWd7ZGlzcGxheTpibG9jazttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0b30uaW1nLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czo2cHh9LmltZy10aHVtYm5haWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG87cGFkZGluZzo0cHg7bGluZS1oZWlnaHQ6MS40Mjg1NzE0MztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4ycyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZS1pbi1vdXR9LmltZy1jaXJjbGV7Ym9yZGVyLXJhZGl1czo1MCV9aHJ7bWFyZ2luLXRvcDoyMHB4O21hcmdpbi1ib3R0b206MjBweDtib3JkZXI6MDtib3JkZXItdG9wOjFweCBzb2xpZCAjZWVlfS5zci1vbmx5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O3BhZGRpbmc6MDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsMCwwLDApO2JvcmRlcjowfS5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsLnNyLW9ubHktZm9jdXNhYmxlOmZvY3Vze3Bvc2l0aW9uOnN0YXRpYzt3aWR0aDphdXRvO2hlaWdodDphdXRvO21hcmdpbjowO292ZXJmbG93OnZpc2libGU7Y2xpcDphdXRvfVtyb2xlPWJ1dHRvbl17Y3Vyc29yOnBvaW50ZXJ9LmgxLC5oMiwuaDMsLmg0LC5oNSwuaDYsaDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS4xO2NvbG9yOmluaGVyaXR9LmgxIC5zbWFsbCwuaDEgc21hbGwsLmgyIC5zbWFsbCwuaDIgc21hbGwsLmgzIC5zbWFsbCwuaDMgc21hbGwsLmg0IC5zbWFsbCwuaDQgc21hbGwsLmg1IC5zbWFsbCwuaDUgc21hbGwsLmg2IC5zbWFsbCwuaDYgc21hbGwsaDEgLnNtYWxsLGgxIHNtYWxsLGgyIC5zbWFsbCxoMiBzbWFsbCxoMyAuc21hbGwsaDMgc21hbGwsaDQgLnNtYWxsLGg0IHNtYWxsLGg1IC5zbWFsbCxoNSBzbWFsbCxoNiAuc21hbGwsaDYgc21hbGx7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE7Y29sb3I6Izc3N30uaDEsLmgyLC5oMyxoMSxoMixoM3ttYXJnaW4tdG9wOjIwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS5oMSAuc21hbGwsLmgxIHNtYWxsLC5oMiAuc21hbGwsLmgyIHNtYWxsLC5oMyAuc21hbGwsLmgzIHNtYWxsLGgxIC5zbWFsbCxoMSBzbWFsbCxoMiAuc21hbGwsaDIgc21hbGwsaDMgLnNtYWxsLGgzIHNtYWxse2ZvbnQtc2l6ZTo2NSV9Lmg0LC5oNSwuaDYsaDQsaDUsaDZ7bWFyZ2luLXRvcDoxMHB4O21hcmdpbi1ib3R0b206MTBweH0uaDQgLnNtYWxsLC5oNCBzbWFsbCwuaDUgLnNtYWxsLC5oNSBzbWFsbCwuaDYgLnNtYWxsLC5oNiBzbWFsbCxoNCAuc21hbGwsaDQgc21hbGwsaDUgLnNtYWxsLGg1IHNtYWxsLGg2IC5zbWFsbCxoNiBzbWFsbHtmb250LXNpemU6NzUlfS5oMSxoMXtmb250LXNpemU6MzZweH0uaDIsaDJ7Zm9udC1zaXplOjMwcHh9LmgzLGgze2ZvbnQtc2l6ZToyNHB4fS5oNCxoNHtmb250LXNpemU6MThweH0uaDUsaDV7Zm9udC1zaXplOjE0cHh9Lmg2LGg2e2ZvbnQtc2l6ZToxMnB4fXB7bWFyZ2luOjAgMCAxMHB4fS5sZWFke21hcmdpbi1ib3R0b206MjBweDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6MS40fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubGVhZHtmb250LXNpemU6MjFweH19LnNtYWxsLHNtYWxse2ZvbnQtc2l6ZTo4NSV9Lm1hcmssbWFya3twYWRkaW5nOi4yZW07YmFja2dyb3VuZC1jb2xvcjojZmNmOGUzfS50ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LWp1c3RpZnl7dGV4dC1hbGlnbjpqdXN0aWZ5fS50ZXh0LW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LnRleHQtbG93ZXJjYXNle3RleHQtdHJhbnNmb3JtOmxvd2VyY2FzZX0udGV4dC11cHBlcmNhc2V7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS50ZXh0LWNhcGl0YWxpemV7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX0udGV4dC1tdXRlZHtjb2xvcjojNzc3fS50ZXh0LXByaW1hcnl7Y29sb3I6IzMzN2FiN31hLnRleHQtcHJpbWFyeTpmb2N1cyxhLnRleHQtcHJpbWFyeTpob3Zlcntjb2xvcjojMjg2MDkwfS50ZXh0LXN1Y2Nlc3N7Y29sb3I6IzNjNzYzZH1hLnRleHQtc3VjY2Vzczpmb2N1cyxhLnRleHQtc3VjY2Vzczpob3Zlcntjb2xvcjojMmI1NDJjfS50ZXh0LWluZm97Y29sb3I6IzMxNzA4Zn1hLnRleHQtaW5mbzpmb2N1cyxhLnRleHQtaW5mbzpob3Zlcntjb2xvcjojMjQ1MjY5fS50ZXh0LXdhcm5pbmd7Y29sb3I6IzhhNmQzYn1hLnRleHQtd2FybmluZzpmb2N1cyxhLnRleHQtd2FybmluZzpob3Zlcntjb2xvcjojNjY1MTJjfS50ZXh0LWRhbmdlcntjb2xvcjojYTk0NDQyfWEudGV4dC1kYW5nZXI6Zm9jdXMsYS50ZXh0LWRhbmdlcjpob3Zlcntjb2xvcjojODQzNTM0fS5iZy1wcmltYXJ5e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3fWEuYmctcHJpbWFyeTpmb2N1cyxhLmJnLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjg2MDkwfS5iZy1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6I2RmZjBkOH1hLmJnLXN1Y2Nlc3M6Zm9jdXMsYS5iZy1zdWNjZXNzOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2MxZTJiM30uYmctaW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiNkOWVkZjd9YS5iZy1pbmZvOmZvY3VzLGEuYmctaW5mbzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNhZmQ5ZWV9LmJnLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjojZmNmOGUzfWEuYmctd2FybmluZzpmb2N1cyxhLmJnLXdhcm5pbmc6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjdlY2I1fS5iZy1kYW5nZXJ7YmFja2dyb3VuZC1jb2xvcjojZjJkZWRlfWEuYmctZGFuZ2VyOmZvY3VzLGEuYmctZGFuZ2VyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U0YjliOX0ucGFnZS1oZWFkZXJ7cGFkZGluZy1ib3R0b206OXB4O21hcmdpbjo0MHB4IDAgMjBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWVlfW9sLHVse21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjEwcHh9b2wgb2wsb2wgdWwsdWwgb2wsdWwgdWx7bWFyZ2luLWJvdHRvbTowfS5saXN0LXVuc3R5bGVke3BhZGRpbmctbGVmdDowO2xpc3Qtc3R5bGU6bm9uZX0ubGlzdC1pbmxpbmV7cGFkZGluZy1sZWZ0OjA7bWFyZ2luLWxlZnQ6LTVweDtsaXN0LXN0eWxlOm5vbmV9Lmxpc3QtaW5saW5lPmxpe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctcmlnaHQ6NXB4O3BhZGRpbmctbGVmdDo1cHh9ZGx7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MjBweH1kZCxkdHtsaW5lLWhlaWdodDoxLjQyODU3MTQzfWR0e2ZvbnQtd2VpZ2h0OjcwMH1kZHttYXJnaW4tbGVmdDowfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZGwtaG9yaXpvbnRhbCBkdHtmbG9hdDpsZWZ0O3dpZHRoOjE2MHB4O292ZXJmbG93OmhpZGRlbjtjbGVhcjpsZWZ0O3RleHQtYWxpZ246cmlnaHQ7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LmRsLWhvcml6b250YWwgZGR7bWFyZ2luLWxlZnQ6MTgwcHh9fWFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0sYWJiclt0aXRsZV17Y3Vyc29yOmhlbHA7Ym9yZGVyLWJvdHRvbToxcHggZG90dGVkICM3Nzd9LmluaXRpYWxpc217Zm9udC1zaXplOjkwJTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9YmxvY2txdW90ZXtwYWRkaW5nOjEwcHggMjBweDttYXJnaW46MCAwIDIwcHg7Zm9udC1zaXplOjE3LjVweDtib3JkZXItbGVmdDo1cHggc29saWQgI2VlZX1ibG9ja3F1b3RlIG9sOmxhc3QtY2hpbGQsYmxvY2txdW90ZSBwOmxhc3QtY2hpbGQsYmxvY2txdW90ZSB1bDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH1ibG9ja3F1b3RlIC5zbWFsbCxibG9ja3F1b3RlIGZvb3RlcixibG9ja3F1b3RlIHNtYWxse2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjgwJTtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2NvbG9yOiM3Nzd9YmxvY2txdW90ZSAuc21hbGw6YmVmb3JlLGJsb2NrcXVvdGUgZm9vdGVyOmJlZm9yZSxibG9ja3F1b3RlIHNtYWxsOmJlZm9yZXtjb250ZW50OidcMjAxNCBcMDBBMCd9LmJsb2NrcXVvdGUtcmV2ZXJzZSxibG9ja3F1b3RlLnB1bGwtcmlnaHR7cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDowO3RleHQtYWxpZ246cmlnaHQ7Ym9yZGVyLXJpZ2h0OjVweCBzb2xpZCAjZWVlO2JvcmRlci1sZWZ0OjB9LmJsb2NrcXVvdGUtcmV2ZXJzZSAuc21hbGw6YmVmb3JlLC5ibG9ja3F1b3RlLXJldmVyc2UgZm9vdGVyOmJlZm9yZSwuYmxvY2txdW90ZS1yZXZlcnNlIHNtYWxsOmJlZm9yZSxibG9ja3F1b3RlLnB1bGwtcmlnaHQgLnNtYWxsOmJlZm9yZSxibG9ja3F1b3RlLnB1bGwtcmlnaHQgZm9vdGVyOmJlZm9yZSxibG9ja3F1b3RlLnB1bGwtcmlnaHQgc21hbGw6YmVmb3Jle2NvbnRlbnQ6Jyd9LmJsb2NrcXVvdGUtcmV2ZXJzZSAuc21hbGw6YWZ0ZXIsLmJsb2NrcXVvdGUtcmV2ZXJzZSBmb290ZXI6YWZ0ZXIsLmJsb2NrcXVvdGUtcmV2ZXJzZSBzbWFsbDphZnRlcixibG9ja3F1b3RlLnB1bGwtcmlnaHQgLnNtYWxsOmFmdGVyLGJsb2NrcXVvdGUucHVsbC1yaWdodCBmb290ZXI6YWZ0ZXIsYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHNtYWxsOmFmdGVye2NvbnRlbnQ6J1wwMEEwIFwyMDE0J31hZGRyZXNze21hcmdpbi1ib3R0b206MjBweDtmb250LXN0eWxlOm5vcm1hbDtsaW5lLWhlaWdodDoxLjQyODU3MTQzfWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5Ok1lbmxvLE1vbmFjbyxDb25zb2xhcywiQ291cmllciBOZXciLG1vbm9zcGFjZX1jb2Rle3BhZGRpbmc6MnB4IDRweDtmb250LXNpemU6OTAlO2NvbG9yOiNjNzI1NGU7YmFja2dyb3VuZC1jb2xvcjojZjlmMmY0O2JvcmRlci1yYWRpdXM6NHB4fWtiZHtwYWRkaW5nOjJweCA0cHg7Zm9udC1zaXplOjkwJTtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMzMztib3JkZXItcmFkaXVzOjNweDstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO2JveC1zaGFkb3c6aW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpfWtiZCBrYmR7cGFkZGluZzowO2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OjcwMDstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9cHJle2Rpc3BsYXk6YmxvY2s7cGFkZGluZzo5LjVweDttYXJnaW46MCAwIDEwcHg7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mztjb2xvcjojMzMzO3dvcmQtYnJlYWs6YnJlYWstYWxsO3dvcmQtd3JhcDpicmVhay13b3JkO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyLXJhZGl1czo0cHh9cHJlIGNvZGV7cGFkZGluZzowO2ZvbnQtc2l6ZTppbmhlcml0O2NvbG9yOmluaGVyaXQ7d2hpdGUtc3BhY2U6cHJlLXdyYXA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjB9LnByZS1zY3JvbGxhYmxle21heC1oZWlnaHQ6MzQwcHg7b3ZlcmZsb3cteTpzY3JvbGx9LmNvbnRhaW5lcntwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjE1cHg7bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0b31AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmNvbnRhaW5lcnt3aWR0aDo3NTBweH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5jb250YWluZXJ7d2lkdGg6OTcwcHh9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LmNvbnRhaW5lcnt3aWR0aDoxMTcwcHh9fS5jb250YWluZXItZmx1aWR7cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDoxNXB4O21hcmdpbi1yaWdodDphdXRvO21hcmdpbi1sZWZ0OmF1dG99LnJvd3ttYXJnaW4tcmlnaHQ6LTE1cHg7bWFyZ2luLWxlZnQ6LTE1cHh9LmNvbC1sZy0xLC5jb2wtbGctMTAsLmNvbC1sZy0xMSwuY29sLWxnLTEyLC5jb2wtbGctMiwuY29sLWxnLTMsLmNvbC1sZy00LC5jb2wtbGctNSwuY29sLWxnLTYsLmNvbC1sZy03LC5jb2wtbGctOCwuY29sLWxnLTksLmNvbC1tZC0xLC5jb2wtbWQtMTAsLmNvbC1tZC0xMSwuY29sLW1kLTEyLC5jb2wtbWQtMiwuY29sLW1kLTMsLmNvbC1tZC00LC5jb2wtbWQtNSwuY29sLW1kLTYsLmNvbC1tZC03LC5jb2wtbWQtOCwuY29sLW1kLTksLmNvbC1zbS0xLC5jb2wtc20tMTAsLmNvbC1zbS0xMSwuY29sLXNtLTEyLC5jb2wtc20tMiwuY29sLXNtLTMsLmNvbC1zbS00LC5jb2wtc20tNSwuY29sLXNtLTYsLmNvbC1zbS03LC5jb2wtc20tOCwuY29sLXNtLTksLmNvbC14cy0xLC5jb2wteHMtMTAsLmNvbC14cy0xMSwuY29sLXhzLTEyLC5jb2wteHMtMiwuY29sLXhzLTMsLmNvbC14cy00LC5jb2wteHMtNSwuY29sLXhzLTYsLmNvbC14cy03LC5jb2wteHMtOCwuY29sLXhzLTl7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDoxcHg7cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDoxNXB4fS5jb2wteHMtMSwuY29sLXhzLTEwLC5jb2wteHMtMTEsLmNvbC14cy0xMiwuY29sLXhzLTIsLmNvbC14cy0zLC5jb2wteHMtNCwuY29sLXhzLTUsLmNvbC14cy02LC5jb2wteHMtNywuY29sLXhzLTgsLmNvbC14cy05e2Zsb2F0OmxlZnR9LmNvbC14cy0xMnt3aWR0aDoxMDAlfS5jb2wteHMtMTF7d2lkdGg6OTEuNjY2NjY2NjclfS5jb2wteHMtMTB7d2lkdGg6ODMuMzMzMzMzMzMlfS5jb2wteHMtOXt3aWR0aDo3NSV9LmNvbC14cy04e3dpZHRoOjY2LjY2NjY2NjY3JX0uY29sLXhzLTd7d2lkdGg6NTguMzMzMzMzMzMlfS5jb2wteHMtNnt3aWR0aDo1MCV9LmNvbC14cy01e3dpZHRoOjQxLjY2NjY2NjY3JX0uY29sLXhzLTR7d2lkdGg6MzMuMzMzMzMzMzMlfS5jb2wteHMtM3t3aWR0aDoyNSV9LmNvbC14cy0ye3dpZHRoOjE2LjY2NjY2NjY3JX0uY29sLXhzLTF7d2lkdGg6OC4zMzMzMzMzMyV9LmNvbC14cy1wdWxsLTEye3JpZ2h0OjEwMCV9LmNvbC14cy1wdWxsLTExe3JpZ2h0OjkxLjY2NjY2NjY3JX0uY29sLXhzLXB1bGwtMTB7cmlnaHQ6ODMuMzMzMzMzMzMlfS5jb2wteHMtcHVsbC05e3JpZ2h0Ojc1JX0uY29sLXhzLXB1bGwtOHtyaWdodDo2Ni42NjY2NjY2NyV9LmNvbC14cy1wdWxsLTd7cmlnaHQ6NTguMzMzMzMzMzMlfS5jb2wteHMtcHVsbC02e3JpZ2h0OjUwJX0uY29sLXhzLXB1bGwtNXtyaWdodDo0MS42NjY2NjY2NyV9LmNvbC14cy1wdWxsLTR7cmlnaHQ6MzMuMzMzMzMzMzMlfS5jb2wteHMtcHVsbC0ze3JpZ2h0OjI1JX0uY29sLXhzLXB1bGwtMntyaWdodDoxNi42NjY2NjY2NyV9LmNvbC14cy1wdWxsLTF7cmlnaHQ6OC4zMzMzMzMzMyV9LmNvbC14cy1wdWxsLTB7cmlnaHQ6YXV0b30uY29sLXhzLXB1c2gtMTJ7bGVmdDoxMDAlfS5jb2wteHMtcHVzaC0xMXtsZWZ0OjkxLjY2NjY2NjY3JX0uY29sLXhzLXB1c2gtMTB7bGVmdDo4My4zMzMzMzMzMyV9LmNvbC14cy1wdXNoLTl7bGVmdDo3NSV9LmNvbC14cy1wdXNoLTh7bGVmdDo2Ni42NjY2NjY2NyV9LmNvbC14cy1wdXNoLTd7bGVmdDo1OC4zMzMzMzMzMyV9LmNvbC14cy1wdXNoLTZ7bGVmdDo1MCV9LmNvbC14cy1wdXNoLTV7bGVmdDo0MS42NjY2NjY2NyV9LmNvbC14cy1wdXNoLTR7bGVmdDozMy4zMzMzMzMzMyV9LmNvbC14cy1wdXNoLTN7bGVmdDoyNSV9LmNvbC14cy1wdXNoLTJ7bGVmdDoxNi42NjY2NjY2NyV9LmNvbC14cy1wdXNoLTF7bGVmdDo4LjMzMzMzMzMzJX0uY29sLXhzLXB1c2gtMHtsZWZ0OmF1dG99LmNvbC14cy1vZmZzZXQtMTJ7bWFyZ2luLWxlZnQ6MTAwJX0uY29sLXhzLW9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjY2NyV9LmNvbC14cy1vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzMzMlfS5jb2wteHMtb2Zmc2V0LTl7bWFyZ2luLWxlZnQ6NzUlfS5jb2wteHMtb2Zmc2V0LTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY2NjclfS5jb2wteHMtb2Zmc2V0LTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzMzMlfS5jb2wteHMtb2Zmc2V0LTZ7bWFyZ2luLWxlZnQ6NTAlfS5jb2wteHMtb2Zmc2V0LTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY2NjclfS5jb2wteHMtb2Zmc2V0LTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzMzMlfS5jb2wteHMtb2Zmc2V0LTN7bWFyZ2luLWxlZnQ6MjUlfS5jb2wteHMtb2Zmc2V0LTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY2NjclfS5jb2wteHMtb2Zmc2V0LTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMzMyV9LmNvbC14cy1vZmZzZXQtMHttYXJnaW4tbGVmdDowfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuY29sLXNtLTEsLmNvbC1zbS0xMCwuY29sLXNtLTExLC5jb2wtc20tMTIsLmNvbC1zbS0yLC5jb2wtc20tMywuY29sLXNtLTQsLmNvbC1zbS01LC5jb2wtc20tNiwuY29sLXNtLTcsLmNvbC1zbS04LC5jb2wtc20tOXtmbG9hdDpsZWZ0fS5jb2wtc20tMTJ7d2lkdGg6MTAwJX0uY29sLXNtLTExe3dpZHRoOjkxLjY2NjY2NjY3JX0uY29sLXNtLTEwe3dpZHRoOjgzLjMzMzMzMzMzJX0uY29sLXNtLTl7d2lkdGg6NzUlfS5jb2wtc20tOHt3aWR0aDo2Ni42NjY2NjY2NyV9LmNvbC1zbS03e3dpZHRoOjU4LjMzMzMzMzMzJX0uY29sLXNtLTZ7d2lkdGg6NTAlfS5jb2wtc20tNXt3aWR0aDo0MS42NjY2NjY2NyV9LmNvbC1zbS00e3dpZHRoOjMzLjMzMzMzMzMzJX0uY29sLXNtLTN7d2lkdGg6MjUlfS5jb2wtc20tMnt3aWR0aDoxNi42NjY2NjY2NyV9LmNvbC1zbS0xe3dpZHRoOjguMzMzMzMzMzMlfS5jb2wtc20tcHVsbC0xMntyaWdodDoxMDAlfS5jb2wtc20tcHVsbC0xMXtyaWdodDo5MS42NjY2NjY2NyV9LmNvbC1zbS1wdWxsLTEwe3JpZ2h0OjgzLjMzMzMzMzMzJX0uY29sLXNtLXB1bGwtOXtyaWdodDo3NSV9LmNvbC1zbS1wdWxsLTh7cmlnaHQ6NjYuNjY2NjY2NjclfS5jb2wtc20tcHVsbC03e3JpZ2h0OjU4LjMzMzMzMzMzJX0uY29sLXNtLXB1bGwtNntyaWdodDo1MCV9LmNvbC1zbS1wdWxsLTV7cmlnaHQ6NDEuNjY2NjY2NjclfS5jb2wtc20tcHVsbC00e3JpZ2h0OjMzLjMzMzMzMzMzJX0uY29sLXNtLXB1bGwtM3tyaWdodDoyNSV9LmNvbC1zbS1wdWxsLTJ7cmlnaHQ6MTYuNjY2NjY2NjclfS5jb2wtc20tcHVsbC0xe3JpZ2h0OjguMzMzMzMzMzMlfS5jb2wtc20tcHVsbC0we3JpZ2h0OmF1dG99LmNvbC1zbS1wdXNoLTEye2xlZnQ6MTAwJX0uY29sLXNtLXB1c2gtMTF7bGVmdDo5MS42NjY2NjY2NyV9LmNvbC1zbS1wdXNoLTEwe2xlZnQ6ODMuMzMzMzMzMzMlfS5jb2wtc20tcHVzaC05e2xlZnQ6NzUlfS5jb2wtc20tcHVzaC04e2xlZnQ6NjYuNjY2NjY2NjclfS5jb2wtc20tcHVzaC03e2xlZnQ6NTguMzMzMzMzMzMlfS5jb2wtc20tcHVzaC02e2xlZnQ6NTAlfS5jb2wtc20tcHVzaC01e2xlZnQ6NDEuNjY2NjY2NjclfS5jb2wtc20tcHVzaC00e2xlZnQ6MzMuMzMzMzMzMzMlfS5jb2wtc20tcHVzaC0ze2xlZnQ6MjUlfS5jb2wtc20tcHVzaC0ye2xlZnQ6MTYuNjY2NjY2NjclfS5jb2wtc20tcHVzaC0xe2xlZnQ6OC4zMzMzMzMzMyV9LmNvbC1zbS1wdXNoLTB7bGVmdDphdXRvfS5jb2wtc20tb2Zmc2V0LTEye21hcmdpbi1sZWZ0OjEwMCV9LmNvbC1zbS1vZmZzZXQtMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY2NjclfS5jb2wtc20tb2Zmc2V0LTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzMzMzJX0uY29sLXNtLW9mZnNldC05e21hcmdpbi1sZWZ0Ojc1JX0uY29sLXNtLW9mZnNldC04e21hcmdpbi1sZWZ0OjY2LjY2NjY2NjY3JX0uY29sLXNtLW9mZnNldC03e21hcmdpbi1sZWZ0OjU4LjMzMzMzMzMzJX0uY29sLXNtLW9mZnNldC02e21hcmdpbi1sZWZ0OjUwJX0uY29sLXNtLW9mZnNldC01e21hcmdpbi1sZWZ0OjQxLjY2NjY2NjY3JX0uY29sLXNtLW9mZnNldC00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMzMzJX0uY29sLXNtLW9mZnNldC0ze21hcmdpbi1sZWZ0OjI1JX0uY29sLXNtLW9mZnNldC0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NjY3JX0uY29sLXNtLW9mZnNldC0xe21hcmdpbi1sZWZ0OjguMzMzMzMzMzMlfS5jb2wtc20tb2Zmc2V0LTB7bWFyZ2luLWxlZnQ6MH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5jb2wtbWQtMSwuY29sLW1kLTEwLC5jb2wtbWQtMTEsLmNvbC1tZC0xMiwuY29sLW1kLTIsLmNvbC1tZC0zLC5jb2wtbWQtNCwuY29sLW1kLTUsLmNvbC1tZC02LC5jb2wtbWQtNywuY29sLW1kLTgsLmNvbC1tZC05e2Zsb2F0OmxlZnR9LmNvbC1tZC0xMnt3aWR0aDoxMDAlfS5jb2wtbWQtMTF7d2lkdGg6OTEuNjY2NjY2NjclfS5jb2wtbWQtMTB7d2lkdGg6ODMuMzMzMzMzMzMlfS5jb2wtbWQtOXt3aWR0aDo3NSV9LmNvbC1tZC04e3dpZHRoOjY2LjY2NjY2NjY3JX0uY29sLW1kLTd7d2lkdGg6NTguMzMzMzMzMzMlfS5jb2wtbWQtNnt3aWR0aDo1MCV9LmNvbC1tZC01e3dpZHRoOjQxLjY2NjY2NjY3JX0uY29sLW1kLTR7d2lkdGg6MzMuMzMzMzMzMzMlfS5jb2wtbWQtM3t3aWR0aDoyNSV9LmNvbC1tZC0ye3dpZHRoOjE2LjY2NjY2NjY3JX0uY29sLW1kLTF7d2lkdGg6OC4zMzMzMzMzMyV9LmNvbC1tZC1wdWxsLTEye3JpZ2h0OjEwMCV9LmNvbC1tZC1wdWxsLTExe3JpZ2h0OjkxLjY2NjY2NjY3JX0uY29sLW1kLXB1bGwtMTB7cmlnaHQ6ODMuMzMzMzMzMzMlfS5jb2wtbWQtcHVsbC05e3JpZ2h0Ojc1JX0uY29sLW1kLXB1bGwtOHtyaWdodDo2Ni42NjY2NjY2NyV9LmNvbC1tZC1wdWxsLTd7cmlnaHQ6NTguMzMzMzMzMzMlfS5jb2wtbWQtcHVsbC02e3JpZ2h0OjUwJX0uY29sLW1kLXB1bGwtNXtyaWdodDo0MS42NjY2NjY2NyV9LmNvbC1tZC1wdWxsLTR7cmlnaHQ6MzMuMzMzMzMzMzMlfS5jb2wtbWQtcHVsbC0ze3JpZ2h0OjI1JX0uY29sLW1kLXB1bGwtMntyaWdodDoxNi42NjY2NjY2NyV9LmNvbC1tZC1wdWxsLTF7cmlnaHQ6OC4zMzMzMzMzMyV9LmNvbC1tZC1wdWxsLTB7cmlnaHQ6YXV0b30uY29sLW1kLXB1c2gtMTJ7bGVmdDoxMDAlfS5jb2wtbWQtcHVzaC0xMXtsZWZ0OjkxLjY2NjY2NjY3JX0uY29sLW1kLXB1c2gtMTB7bGVmdDo4My4zMzMzMzMzMyV9LmNvbC1tZC1wdXNoLTl7bGVmdDo3NSV9LmNvbC1tZC1wdXNoLTh7bGVmdDo2Ni42NjY2NjY2NyV9LmNvbC1tZC1wdXNoLTd7bGVmdDo1OC4zMzMzMzMzMyV9LmNvbC1tZC1wdXNoLTZ7bGVmdDo1MCV9LmNvbC1tZC1wdXNoLTV7bGVmdDo0MS42NjY2NjY2NyV9LmNvbC1tZC1wdXNoLTR7bGVmdDozMy4zMzMzMzMzMyV9LmNvbC1tZC1wdXNoLTN7bGVmdDoyNSV9LmNvbC1tZC1wdXNoLTJ7bGVmdDoxNi42NjY2NjY2NyV9LmNvbC1tZC1wdXNoLTF7bGVmdDo4LjMzMzMzMzMzJX0uY29sLW1kLXB1c2gtMHtsZWZ0OmF1dG99LmNvbC1tZC1vZmZzZXQtMTJ7bWFyZ2luLWxlZnQ6MTAwJX0uY29sLW1kLW9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjY2NyV9LmNvbC1tZC1vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzMzMlfS5jb2wtbWQtb2Zmc2V0LTl7bWFyZ2luLWxlZnQ6NzUlfS5jb2wtbWQtb2Zmc2V0LTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY2NjclfS5jb2wtbWQtb2Zmc2V0LTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzMzMlfS5jb2wtbWQtb2Zmc2V0LTZ7bWFyZ2luLWxlZnQ6NTAlfS5jb2wtbWQtb2Zmc2V0LTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY2NjclfS5jb2wtbWQtb2Zmc2V0LTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzMzMlfS5jb2wtbWQtb2Zmc2V0LTN7bWFyZ2luLWxlZnQ6MjUlfS5jb2wtbWQtb2Zmc2V0LTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY2NjclfS5jb2wtbWQtb2Zmc2V0LTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMzMyV9LmNvbC1tZC1vZmZzZXQtMHttYXJnaW4tbGVmdDowfX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5jb2wtbGctMSwuY29sLWxnLTEwLC5jb2wtbGctMTEsLmNvbC1sZy0xMiwuY29sLWxnLTIsLmNvbC1sZy0zLC5jb2wtbGctNCwuY29sLWxnLTUsLmNvbC1sZy02LC5jb2wtbGctNywuY29sLWxnLTgsLmNvbC1sZy05e2Zsb2F0OmxlZnR9LmNvbC1sZy0xMnt3aWR0aDoxMDAlfS5jb2wtbGctMTF7d2lkdGg6OTEuNjY2NjY2NjclfS5jb2wtbGctMTB7d2lkdGg6ODMuMzMzMzMzMzMlfS5jb2wtbGctOXt3aWR0aDo3NSV9LmNvbC1sZy04e3dpZHRoOjY2LjY2NjY2NjY3JX0uY29sLWxnLTd7d2lkdGg6NTguMzMzMzMzMzMlfS5jb2wtbGctNnt3aWR0aDo1MCV9LmNvbC1sZy01e3dpZHRoOjQxLjY2NjY2NjY3JX0uY29sLWxnLTR7d2lkdGg6MzMuMzMzMzMzMzMlfS5jb2wtbGctM3t3aWR0aDoyNSV9LmNvbC1sZy0ye3dpZHRoOjE2LjY2NjY2NjY3JX0uY29sLWxnLTF7d2lkdGg6OC4zMzMzMzMzMyV9LmNvbC1sZy1wdWxsLTEye3JpZ2h0OjEwMCV9LmNvbC1sZy1wdWxsLTExe3JpZ2h0OjkxLjY2NjY2NjY3JX0uY29sLWxnLXB1bGwtMTB7cmlnaHQ6ODMuMzMzMzMzMzMlfS5jb2wtbGctcHVsbC05e3JpZ2h0Ojc1JX0uY29sLWxnLXB1bGwtOHtyaWdodDo2Ni42NjY2NjY2NyV9LmNvbC1sZy1wdWxsLTd7cmlnaHQ6NTguMzMzMzMzMzMlfS5jb2wtbGctcHVsbC02e3JpZ2h0OjUwJX0uY29sLWxnLXB1bGwtNXtyaWdodDo0MS42NjY2NjY2NyV9LmNvbC1sZy1wdWxsLTR7cmlnaHQ6MzMuMzMzMzMzMzMlfS5jb2wtbGctcHVsbC0ze3JpZ2h0OjI1JX0uY29sLWxnLXB1bGwtMntyaWdodDoxNi42NjY2NjY2NyV9LmNvbC1sZy1wdWxsLTF7cmlnaHQ6OC4zMzMzMzMzMyV9LmNvbC1sZy1wdWxsLTB7cmlnaHQ6YXV0b30uY29sLWxnLXB1c2gtMTJ7bGVmdDoxMDAlfS5jb2wtbGctcHVzaC0xMXtsZWZ0OjkxLjY2NjY2NjY3JX0uY29sLWxnLXB1c2gtMTB7bGVmdDo4My4zMzMzMzMzMyV9LmNvbC1sZy1wdXNoLTl7bGVmdDo3NSV9LmNvbC1sZy1wdXNoLTh7bGVmdDo2Ni42NjY2NjY2NyV9LmNvbC1sZy1wdXNoLTd7bGVmdDo1OC4zMzMzMzMzMyV9LmNvbC1sZy1wdXNoLTZ7bGVmdDo1MCV9LmNvbC1sZy1wdXNoLTV7bGVmdDo0MS42NjY2NjY2NyV9LmNvbC1sZy1wdXNoLTR7bGVmdDozMy4zMzMzMzMzMyV9LmNvbC1sZy1wdXNoLTN7bGVmdDoyNSV9LmNvbC1sZy1wdXNoLTJ7bGVmdDoxNi42NjY2NjY2NyV9LmNvbC1sZy1wdXNoLTF7bGVmdDo4LjMzMzMzMzMzJX0uY29sLWxnLXB1c2gtMHtsZWZ0OmF1dG99LmNvbC1sZy1vZmZzZXQtMTJ7bWFyZ2luLWxlZnQ6MTAwJX0uY29sLWxnLW9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjY2NyV9LmNvbC1sZy1vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzMzMlfS5jb2wtbGctb2Zmc2V0LTl7bWFyZ2luLWxlZnQ6NzUlfS5jb2wtbGctb2Zmc2V0LTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY2NjclfS5jb2wtbGctb2Zmc2V0LTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzMzMlfS5jb2wtbGctb2Zmc2V0LTZ7bWFyZ2luLWxlZnQ6NTAlfS5jb2wtbGctb2Zmc2V0LTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY2NjclfS5jb2wtbGctb2Zmc2V0LTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzMzMlfS5jb2wtbGctb2Zmc2V0LTN7bWFyZ2luLWxlZnQ6MjUlfS5jb2wtbGctb2Zmc2V0LTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY2NjclfS5jb2wtbGctb2Zmc2V0LTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMzMyV9LmNvbC1sZy1vZmZzZXQtMHttYXJnaW4tbGVmdDowfX10YWJsZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWNhcHRpb257cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweDtjb2xvcjojNzc3O3RleHQtYWxpZ246bGVmdH10aHt0ZXh0LWFsaWduOmxlZnR9LnRhYmxle3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7bWFyZ2luLWJvdHRvbToyMHB4fS50YWJsZT50Ym9keT50cj50ZCwudGFibGU+dGJvZHk+dHI+dGgsLnRhYmxlPnRmb290PnRyPnRkLC50YWJsZT50Zm9vdD50cj50aCwudGFibGU+dGhlYWQ+dHI+dGQsLnRhYmxlPnRoZWFkPnRyPnRoe3BhZGRpbmc6OHB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7dmVydGljYWwtYWxpZ246dG9wO2JvcmRlci10b3A6MXB4IHNvbGlkICNkZGR9LnRhYmxlPnRoZWFkPnRyPnRoe3ZlcnRpY2FsLWFsaWduOmJvdHRvbTtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZGRkfS50YWJsZT5jYXB0aW9uK3RoZWFkPnRyOmZpcnN0LWNoaWxkPnRkLC50YWJsZT5jYXB0aW9uK3RoZWFkPnRyOmZpcnN0LWNoaWxkPnRoLC50YWJsZT5jb2xncm91cCt0aGVhZD50cjpmaXJzdC1jaGlsZD50ZCwudGFibGU+Y29sZ3JvdXArdGhlYWQ+dHI6Zmlyc3QtY2hpbGQ+dGgsLnRhYmxlPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkPnRkLC50YWJsZT50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZD50aHtib3JkZXItdG9wOjB9LnRhYmxlPnRib2R5K3Rib2R5e2JvcmRlci10b3A6MnB4IHNvbGlkICNkZGR9LnRhYmxlIC50YWJsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LnRhYmxlLWNvbmRlbnNlZD50Ym9keT50cj50ZCwudGFibGUtY29uZGVuc2VkPnRib2R5PnRyPnRoLC50YWJsZS1jb25kZW5zZWQ+dGZvb3Q+dHI+dGQsLnRhYmxlLWNvbmRlbnNlZD50Zm9vdD50cj50aCwudGFibGUtY29uZGVuc2VkPnRoZWFkPnRyPnRkLC50YWJsZS1jb25kZW5zZWQ+dGhlYWQ+dHI+dGh7cGFkZGluZzo1cHh9LnRhYmxlLWJvcmRlcmVke2JvcmRlcjoxcHggc29saWQgI2RkZH0udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGQsLnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoLC50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50ZCwudGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGgsLnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkLC50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aHtib3JkZXI6MXB4IHNvbGlkICNkZGR9LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkLC50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aHtib3JkZXItYm90dG9tLXdpZHRoOjJweH0udGFibGUtc3RyaXBlZD50Ym9keT50cjpudGgtb2YtdHlwZShvZGQpe2JhY2tncm91bmQtY29sb3I6I2Y5ZjlmOX0udGFibGUtaG92ZXI+dGJvZHk+dHI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1fXRhYmxlIGNvbFtjbGFzcyo9Y29sLV17cG9zaXRpb246c3RhdGljO2Rpc3BsYXk6dGFibGUtY29sdW1uO2Zsb2F0Om5vbmV9dGFibGUgdGRbY2xhc3MqPWNvbC1dLHRhYmxlIHRoW2NsYXNzKj1jb2wtXXtwb3NpdGlvbjpzdGF0aWM7ZGlzcGxheTp0YWJsZS1jZWxsO2Zsb2F0Om5vbmV9LnRhYmxlPnRib2R5PnRyLmFjdGl2ZT50ZCwudGFibGU+dGJvZHk+dHIuYWN0aXZlPnRoLC50YWJsZT50Ym9keT50cj50ZC5hY3RpdmUsLnRhYmxlPnRib2R5PnRyPnRoLmFjdGl2ZSwudGFibGU+dGZvb3Q+dHIuYWN0aXZlPnRkLC50YWJsZT50Zm9vdD50ci5hY3RpdmU+dGgsLnRhYmxlPnRmb290PnRyPnRkLmFjdGl2ZSwudGFibGU+dGZvb3Q+dHI+dGguYWN0aXZlLC50YWJsZT50aGVhZD50ci5hY3RpdmU+dGQsLnRhYmxlPnRoZWFkPnRyLmFjdGl2ZT50aCwudGFibGU+dGhlYWQ+dHI+dGQuYWN0aXZlLC50YWJsZT50aGVhZD50cj50aC5hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1fS50YWJsZS1ob3Zlcj50Ym9keT50ci5hY3RpdmU6aG92ZXI+dGQsLnRhYmxlLWhvdmVyPnRib2R5PnRyLmFjdGl2ZTpob3Zlcj50aCwudGFibGUtaG92ZXI+dGJvZHk+dHI6aG92ZXI+LmFjdGl2ZSwudGFibGUtaG92ZXI+dGJvZHk+dHI+dGQuYWN0aXZlOmhvdmVyLC50YWJsZS1ob3Zlcj50Ym9keT50cj50aC5hY3RpdmU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZThlOGU4fS50YWJsZT50Ym9keT50ci5zdWNjZXNzPnRkLC50YWJsZT50Ym9keT50ci5zdWNjZXNzPnRoLC50YWJsZT50Ym9keT50cj50ZC5zdWNjZXNzLC50YWJsZT50Ym9keT50cj50aC5zdWNjZXNzLC50YWJsZT50Zm9vdD50ci5zdWNjZXNzPnRkLC50YWJsZT50Zm9vdD50ci5zdWNjZXNzPnRoLC50YWJsZT50Zm9vdD50cj50ZC5zdWNjZXNzLC50YWJsZT50Zm9vdD50cj50aC5zdWNjZXNzLC50YWJsZT50aGVhZD50ci5zdWNjZXNzPnRkLC50YWJsZT50aGVhZD50ci5zdWNjZXNzPnRoLC50YWJsZT50aGVhZD50cj50ZC5zdWNjZXNzLC50YWJsZT50aGVhZD50cj50aC5zdWNjZXNze2JhY2tncm91bmQtY29sb3I6I2RmZjBkOH0udGFibGUtaG92ZXI+dGJvZHk+dHIuc3VjY2Vzczpob3Zlcj50ZCwudGFibGUtaG92ZXI+dGJvZHk+dHIuc3VjY2Vzczpob3Zlcj50aCwudGFibGUtaG92ZXI+dGJvZHk+dHI6aG92ZXI+LnN1Y2Nlc3MsLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRkLnN1Y2Nlc3M6aG92ZXIsLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRoLnN1Y2Nlc3M6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZDBlOWM2fS50YWJsZT50Ym9keT50ci5pbmZvPnRkLC50YWJsZT50Ym9keT50ci5pbmZvPnRoLC50YWJsZT50Ym9keT50cj50ZC5pbmZvLC50YWJsZT50Ym9keT50cj50aC5pbmZvLC50YWJsZT50Zm9vdD50ci5pbmZvPnRkLC50YWJsZT50Zm9vdD50ci5pbmZvPnRoLC50YWJsZT50Zm9vdD50cj50ZC5pbmZvLC50YWJsZT50Zm9vdD50cj50aC5pbmZvLC50YWJsZT50aGVhZD50ci5pbmZvPnRkLC50YWJsZT50aGVhZD50ci5pbmZvPnRoLC50YWJsZT50aGVhZD50cj50ZC5pbmZvLC50YWJsZT50aGVhZD50cj50aC5pbmZve2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmN30udGFibGUtaG92ZXI+dGJvZHk+dHIuaW5mbzpob3Zlcj50ZCwudGFibGUtaG92ZXI+dGJvZHk+dHIuaW5mbzpob3Zlcj50aCwudGFibGUtaG92ZXI+dGJvZHk+dHI6aG92ZXI+LmluZm8sLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRkLmluZm86aG92ZXIsLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRoLmluZm86aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYzRlM2YzfS50YWJsZT50Ym9keT50ci53YXJuaW5nPnRkLC50YWJsZT50Ym9keT50ci53YXJuaW5nPnRoLC50YWJsZT50Ym9keT50cj50ZC53YXJuaW5nLC50YWJsZT50Ym9keT50cj50aC53YXJuaW5nLC50YWJsZT50Zm9vdD50ci53YXJuaW5nPnRkLC50YWJsZT50Zm9vdD50ci53YXJuaW5nPnRoLC50YWJsZT50Zm9vdD50cj50ZC53YXJuaW5nLC50YWJsZT50Zm9vdD50cj50aC53YXJuaW5nLC50YWJsZT50aGVhZD50ci53YXJuaW5nPnRkLC50YWJsZT50aGVhZD50ci53YXJuaW5nPnRoLC50YWJsZT50aGVhZD50cj50ZC53YXJuaW5nLC50YWJsZT50aGVhZD50cj50aC53YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2ZjZjhlM30udGFibGUtaG92ZXI+dGJvZHk+dHIud2FybmluZzpob3Zlcj50ZCwudGFibGUtaG92ZXI+dGJvZHk+dHIud2FybmluZzpob3Zlcj50aCwudGFibGUtaG92ZXI+dGJvZHk+dHI6aG92ZXI+Lndhcm5pbmcsLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRkLndhcm5pbmc6aG92ZXIsLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRoLndhcm5pbmc6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmFmMmNjfS50YWJsZT50Ym9keT50ci5kYW5nZXI+dGQsLnRhYmxlPnRib2R5PnRyLmRhbmdlcj50aCwudGFibGU+dGJvZHk+dHI+dGQuZGFuZ2VyLC50YWJsZT50Ym9keT50cj50aC5kYW5nZXIsLnRhYmxlPnRmb290PnRyLmRhbmdlcj50ZCwudGFibGU+dGZvb3Q+dHIuZGFuZ2VyPnRoLC50YWJsZT50Zm9vdD50cj50ZC5kYW5nZXIsLnRhYmxlPnRmb290PnRyPnRoLmRhbmdlciwudGFibGU+dGhlYWQ+dHIuZGFuZ2VyPnRkLC50YWJsZT50aGVhZD50ci5kYW5nZXI+dGgsLnRhYmxlPnRoZWFkPnRyPnRkLmRhbmdlciwudGFibGU+dGhlYWQ+dHI+dGguZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6I2YyZGVkZX0udGFibGUtaG92ZXI+dGJvZHk+dHIuZGFuZ2VyOmhvdmVyPnRkLC50YWJsZS1ob3Zlcj50Ym9keT50ci5kYW5nZXI6aG92ZXI+dGgsLnRhYmxlLWhvdmVyPnRib2R5PnRyOmhvdmVyPi5kYW5nZXIsLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRkLmRhbmdlcjpob3ZlciwudGFibGUtaG92ZXI+dGJvZHk+dHI+dGguZGFuZ2VyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ViY2NjY30udGFibGUtcmVzcG9uc2l2ZXttaW4taGVpZ2h0Oi4wMSU7b3ZlcmZsb3cteDphdXRvfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpey50YWJsZS1yZXNwb25zaXZle3dpZHRoOjEwMCU7bWFyZ2luLWJvdHRvbToxNXB4O292ZXJmbG93LXk6aGlkZGVuOy1tcy1vdmVyZmxvdy1zdHlsZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7Ym9yZGVyOjFweCBzb2xpZCAjZGRkfS50YWJsZS1yZXNwb25zaXZlPi50YWJsZXttYXJnaW4tYm90dG9tOjB9LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlPnRib2R5PnRyPnRkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZT50Ym9keT50cj50aCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGU+dGZvb3Q+dHI+dGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlPnRmb290PnRyPnRoLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZT50aGVhZD50cj50ZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGU+dGhlYWQ+dHI+dGh7d2hpdGUtc3BhY2U6bm93cmFwfS50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZHtib3JkZXI6MH0udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGQ6Zmlyc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoOmZpcnN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50ZDpmaXJzdC1jaGlsZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGg6Zmlyc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkOmZpcnN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aDpmaXJzdC1jaGlsZHtib3JkZXItbGVmdDowfS50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50ZDpsYXN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50aDpsYXN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50ZDpsYXN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50aDpsYXN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50ZDpsYXN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aDpsYXN0LWNoaWxke2JvcmRlci1yaWdodDowfS50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpsYXN0LWNoaWxkPnRkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpsYXN0LWNoaWxkPnRoLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cjpsYXN0LWNoaWxkPnRkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cjpsYXN0LWNoaWxkPnRoe2JvcmRlci1ib3R0b206MH19ZmllbGRzZXR7bWluLXdpZHRoOjA7cGFkZGluZzowO21hcmdpbjowO2JvcmRlcjowfWxlZ2VuZHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZzowO21hcmdpbi1ib3R0b206MjBweDtmb250LXNpemU6MjFweDtsaW5lLWhlaWdodDppbmhlcml0O2NvbG9yOiMzMzM7Ym9yZGVyOjA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U1ZTVlNX1sYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjVweDtmb250LXdlaWdodDo3MDB9aW5wdXRbdHlwZT1zZWFyY2hdey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH1pbnB1dFt0eXBlPWNoZWNrYm94XSxpbnB1dFt0eXBlPXJhZGlvXXttYXJnaW46NHB4IDAgMDttYXJnaW4tdG9wOjFweFw5O2xpbmUtaGVpZ2h0Om5vcm1hbH1pbnB1dFt0eXBlPWZpbGVde2Rpc3BsYXk6YmxvY2t9aW5wdXRbdHlwZT1yYW5nZV17ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfXNlbGVjdFttdWx0aXBsZV0sc2VsZWN0W3NpemVde2hlaWdodDphdXRvfWlucHV0W3R5cGU9ZmlsZV06Zm9jdXMsaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMsaW5wdXRbdHlwZT1yYWRpb106Zm9jdXN7b3V0bGluZTp0aGluIGRvdHRlZDtvdXRsaW5lOjVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtvdXRsaW5lLW9mZnNldDotMnB4fW91dHB1dHtkaXNwbGF5OmJsb2NrO3BhZGRpbmctdG9wOjdweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2NvbG9yOiM1NTV9LmZvcm0tY29udHJvbHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjM0cHg7cGFkZGluZzo2cHggMTJweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2NvbG9yOiM1NTU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSk7LXdlYmtpdC10cmFuc2l0aW9uOmJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLC13ZWJraXQtYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzOy1vLXRyYW5zaXRpb246Ym9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzfS5mb3JtLWNvbnRyb2w6Zm9jdXN7Ym9yZGVyLWNvbG9yOiM2NmFmZTk7b3V0bGluZTowOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgOHB4IHJnYmEoMTAyLDE3NSwyMzMsLjYpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDhweCByZ2JhKDEwMiwxNzUsMjMzLC42KX0uZm9ybS1jb250cm9sOjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM5OTk7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2w6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM5OTl9LmZvcm0tY29udHJvbDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjojOTk5fS5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MH0uZm9ybS1jb250cm9sW2Rpc2FibGVkXSwuZm9ybS1jb250cm9sW3JlYWRvbmx5XSxmaWVsZHNldFtkaXNhYmxlZF0gLmZvcm0tY29udHJvbHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLGZpZWxkc2V0W2Rpc2FibGVkXSAuZm9ybS1jb250cm9se2N1cnNvcjpub3QtYWxsb3dlZH10ZXh0YXJlYS5mb3JtLWNvbnRyb2x7aGVpZ2h0OmF1dG99aW5wdXRbdHlwZT1zZWFyY2hdey13ZWJraXQtYXBwZWFyYW5jZTpub25lfUBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCl7aW5wdXRbdHlwZT1kYXRlXS5mb3JtLWNvbnRyb2wsaW5wdXRbdHlwZT10aW1lXS5mb3JtLWNvbnRyb2wsaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0uZm9ybS1jb250cm9sLGlucHV0W3R5cGU9bW9udGhdLmZvcm0tY29udHJvbHtsaW5lLWhlaWdodDozNHB4fS5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPWRhdGVdLC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPXRpbWVdLC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSwuaW5wdXQtZ3JvdXAtc20gaW5wdXRbdHlwZT1tb250aF0saW5wdXRbdHlwZT1kYXRlXS5pbnB1dC1zbSxpbnB1dFt0eXBlPXRpbWVdLmlucHV0LXNtLGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLmlucHV0LXNtLGlucHV0W3R5cGU9bW9udGhdLmlucHV0LXNte2xpbmUtaGVpZ2h0OjMwcHh9LmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9ZGF0ZV0sLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9dGltZV0sLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLC5pbnB1dC1ncm91cC1sZyBpbnB1dFt0eXBlPW1vbnRoXSxpbnB1dFt0eXBlPWRhdGVdLmlucHV0LWxnLGlucHV0W3R5cGU9dGltZV0uaW5wdXQtbGcsaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0uaW5wdXQtbGcsaW5wdXRbdHlwZT1tb250aF0uaW5wdXQtbGd7bGluZS1oZWlnaHQ6NDZweH19LmZvcm0tZ3JvdXB7bWFyZ2luLWJvdHRvbToxNXB4fS5jaGVja2JveCwucmFkaW97cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjEwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS5jaGVja2JveCBsYWJlbCwucmFkaW8gbGFiZWx7bWluLWhlaWdodDoyMHB4O3BhZGRpbmctbGVmdDoyMHB4O21hcmdpbi1ib3R0b206MDtmb250LXdlaWdodDo0MDA7Y3Vyc29yOnBvaW50ZXJ9LmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF0sLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9dLC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb117cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXRvcDo0cHhcOTttYXJnaW4tbGVmdDotMjBweH0uY2hlY2tib3grLmNoZWNrYm94LC5yYWRpbysucmFkaW97bWFyZ2luLXRvcDotNXB4fS5jaGVja2JveC1pbmxpbmUsLnJhZGlvLWlubGluZXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLWxlZnQ6MjBweDttYXJnaW4tYm90dG9tOjA7Zm9udC13ZWlnaHQ6NDAwO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtjdXJzb3I6cG9pbnRlcn0uY2hlY2tib3gtaW5saW5lKy5jaGVja2JveC1pbmxpbmUsLnJhZGlvLWlubGluZSsucmFkaW8taW5saW5le21hcmdpbi10b3A6MDttYXJnaW4tbGVmdDoxMHB4fWZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPWNoZWNrYm94XSxmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1yYWRpb10saW5wdXRbdHlwZT1jaGVja2JveF0uZGlzYWJsZWQsaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdLGlucHV0W3R5cGU9cmFkaW9dLmRpc2FibGVkLGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXXtjdXJzb3I6bm90LWFsbG93ZWR9LmNoZWNrYm94LWlubGluZS5kaXNhYmxlZCwucmFkaW8taW5saW5lLmRpc2FibGVkLGZpZWxkc2V0W2Rpc2FibGVkXSAuY2hlY2tib3gtaW5saW5lLGZpZWxkc2V0W2Rpc2FibGVkXSAucmFkaW8taW5saW5le2N1cnNvcjpub3QtYWxsb3dlZH0uY2hlY2tib3guZGlzYWJsZWQgbGFiZWwsLnJhZGlvLmRpc2FibGVkIGxhYmVsLGZpZWxkc2V0W2Rpc2FibGVkXSAuY2hlY2tib3ggbGFiZWwsZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbHtjdXJzb3I6bm90LWFsbG93ZWR9LmZvcm0tY29udHJvbC1zdGF0aWN7bWluLWhlaWdodDozNHB4O3BhZGRpbmctdG9wOjdweDtwYWRkaW5nLWJvdHRvbTo3cHg7bWFyZ2luLWJvdHRvbTowfS5mb3JtLWNvbnRyb2wtc3RhdGljLmlucHV0LWxnLC5mb3JtLWNvbnRyb2wtc3RhdGljLmlucHV0LXNte3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH0uaW5wdXQtc217aGVpZ2h0OjMwcHg7cGFkZGluZzo1cHggMTBweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czozcHh9c2VsZWN0LmlucHV0LXNte2hlaWdodDozMHB4O2xpbmUtaGVpZ2h0OjMwcHh9c2VsZWN0W211bHRpcGxlXS5pbnB1dC1zbSx0ZXh0YXJlYS5pbnB1dC1zbXtoZWlnaHQ6YXV0b30uZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9se2hlaWdodDozMHB4O3BhZGRpbmc6NXB4IDEwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6M3B4fS5mb3JtLWdyb3VwLXNtIHNlbGVjdC5mb3JtLWNvbnRyb2x7aGVpZ2h0OjMwcHg7bGluZS1oZWlnaHQ6MzBweH0uZm9ybS1ncm91cC1zbSBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCwuZm9ybS1ncm91cC1zbSB0ZXh0YXJlYS5mb3JtLWNvbnRyb2x7aGVpZ2h0OmF1dG99LmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC1zdGF0aWN7aGVpZ2h0OjMwcHg7bWluLWhlaWdodDozMnB4O3BhZGRpbmc6NnB4IDEwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41fS5pbnB1dC1sZ3toZWlnaHQ6NDZweDtwYWRkaW5nOjEwcHggMTZweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoxLjMzMzMzMzM7Ym9yZGVyLXJhZGl1czo2cHh9c2VsZWN0LmlucHV0LWxne2hlaWdodDo0NnB4O2xpbmUtaGVpZ2h0OjQ2cHh9c2VsZWN0W211bHRpcGxlXS5pbnB1dC1sZyx0ZXh0YXJlYS5pbnB1dC1sZ3toZWlnaHQ6YXV0b30uZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9se2hlaWdodDo0NnB4O3BhZGRpbmc6MTBweCAxNnB4O2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjEuMzMzMzMzMztib3JkZXItcmFkaXVzOjZweH0uZm9ybS1ncm91cC1sZyBzZWxlY3QuZm9ybS1jb250cm9se2hlaWdodDo0NnB4O2xpbmUtaGVpZ2h0OjQ2cHh9LmZvcm0tZ3JvdXAtbGcgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wsLmZvcm0tZ3JvdXAtbGcgdGV4dGFyZWEuZm9ybS1jb250cm9se2hlaWdodDphdXRvfS5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtc3RhdGlje2hlaWdodDo0NnB4O21pbi1oZWlnaHQ6MzhweDtwYWRkaW5nOjExcHggMTZweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoxLjMzMzMzMzN9Lmhhcy1mZWVkYmFja3twb3NpdGlvbjpyZWxhdGl2ZX0uaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2x7cGFkZGluZy1yaWdodDo0Mi41cHh9LmZvcm0tY29udHJvbC1mZWVkYmFja3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3otaW5kZXg6MjtkaXNwbGF5OmJsb2NrO3dpZHRoOjM0cHg7aGVpZ2h0OjM0cHg7bGluZS1oZWlnaHQ6MzRweDt0ZXh0LWFsaWduOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lfS5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wrLmZvcm0tY29udHJvbC1mZWVkYmFjaywuaW5wdXQtZ3JvdXAtbGcrLmZvcm0tY29udHJvbC1mZWVkYmFjaywuaW5wdXQtbGcrLmZvcm0tY29udHJvbC1mZWVkYmFja3t3aWR0aDo0NnB4O2hlaWdodDo0NnB4O2xpbmUtaGVpZ2h0OjQ2cHh9LmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCsuZm9ybS1jb250cm9sLWZlZWRiYWNrLC5pbnB1dC1ncm91cC1zbSsuZm9ybS1jb250cm9sLWZlZWRiYWNrLC5pbnB1dC1zbSsuZm9ybS1jb250cm9sLWZlZWRiYWNre3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bGluZS1oZWlnaHQ6MzBweH0uaGFzLXN1Y2Nlc3MgLmNoZWNrYm94LC5oYXMtc3VjY2VzcyAuY2hlY2tib3gtaW5saW5lLC5oYXMtc3VjY2VzcyAuY29udHJvbC1sYWJlbCwuaGFzLXN1Y2Nlc3MgLmhlbHAtYmxvY2ssLmhhcy1zdWNjZXNzIC5yYWRpbywuaGFzLXN1Y2Nlc3MgLnJhZGlvLWlubGluZSwuaGFzLXN1Y2Nlc3MuY2hlY2tib3ggbGFiZWwsLmhhcy1zdWNjZXNzLmNoZWNrYm94LWlubGluZSBsYWJlbCwuaGFzLXN1Y2Nlc3MucmFkaW8gbGFiZWwsLmhhcy1zdWNjZXNzLnJhZGlvLWlubGluZSBsYWJlbHtjb2xvcjojM2M3NjNkfS5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9se2JvcmRlci1jb2xvcjojM2M3NjNkOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpfS5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sOmZvY3Vze2JvcmRlci1jb2xvcjojMmI1NDJjOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgNnB4ICM2N2IxNjg7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgNnB4ICM2N2IxNjh9Lmhhcy1zdWNjZXNzIC5pbnB1dC1ncm91cC1hZGRvbntjb2xvcjojM2M3NjNkO2JhY2tncm91bmQtY29sb3I6I2RmZjBkODtib3JkZXItY29sb3I6IzNjNzYzZH0uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbC1mZWVkYmFja3tjb2xvcjojM2M3NjNkfS5oYXMtd2FybmluZyAuY2hlY2tib3gsLmhhcy13YXJuaW5nIC5jaGVja2JveC1pbmxpbmUsLmhhcy13YXJuaW5nIC5jb250cm9sLWxhYmVsLC5oYXMtd2FybmluZyAuaGVscC1ibG9jaywuaGFzLXdhcm5pbmcgLnJhZGlvLC5oYXMtd2FybmluZyAucmFkaW8taW5saW5lLC5oYXMtd2FybmluZy5jaGVja2JveCBsYWJlbCwuaGFzLXdhcm5pbmcuY2hlY2tib3gtaW5saW5lIGxhYmVsLC5oYXMtd2FybmluZy5yYWRpbyBsYWJlbCwuaGFzLXdhcm5pbmcucmFkaW8taW5saW5lIGxhYmVse2NvbG9yOiM4YTZkM2J9Lmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2x7Ym9yZGVyLWNvbG9yOiM4YTZkM2I7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSl9Lmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2w6Zm9jdXN7Ym9yZGVyLWNvbG9yOiM2NjUxMmM7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLDAgMCA2cHggI2MwYTE2Yjtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLDAgMCA2cHggI2MwYTE2Yn0uaGFzLXdhcm5pbmcgLmlucHV0LWdyb3VwLWFkZG9ue2NvbG9yOiM4YTZkM2I7YmFja2dyb3VuZC1jb2xvcjojZmNmOGUzO2JvcmRlci1jb2xvcjojOGE2ZDNifS5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLWZlZWRiYWNre2NvbG9yOiM4YTZkM2J9Lmhhcy1lcnJvciAuY2hlY2tib3gsLmhhcy1lcnJvciAuY2hlY2tib3gtaW5saW5lLC5oYXMtZXJyb3IgLmNvbnRyb2wtbGFiZWwsLmhhcy1lcnJvciAuaGVscC1ibG9jaywuaGFzLWVycm9yIC5yYWRpbywuaGFzLWVycm9yIC5yYWRpby1pbmxpbmUsLmhhcy1lcnJvci5jaGVja2JveCBsYWJlbCwuaGFzLWVycm9yLmNoZWNrYm94LWlubGluZSBsYWJlbCwuaGFzLWVycm9yLnJhZGlvIGxhYmVsLC5oYXMtZXJyb3IucmFkaW8taW5saW5lIGxhYmVse2NvbG9yOiNhOTQ0NDJ9Lmhhcy1lcnJvciAuZm9ybS1jb250cm9se2JvcmRlci1jb2xvcjojYTk0NDQyOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpfS5oYXMtZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1c3tib3JkZXItY29sb3I6Izg0MzUzNDstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDZweCAjY2U4NDgzO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDZweCAjY2U4NDgzfS5oYXMtZXJyb3IgLmlucHV0LWdyb3VwLWFkZG9ue2NvbG9yOiNhOTQ0NDI7YmFja2dyb3VuZC1jb2xvcjojZjJkZWRlO2JvcmRlci1jb2xvcjojYTk0NDQyfS5oYXMtZXJyb3IgLmZvcm0tY29udHJvbC1mZWVkYmFja3tjb2xvcjojYTk0NDQyfS5oYXMtZmVlZGJhY2sgbGFiZWx+LmZvcm0tY29udHJvbC1mZWVkYmFja3t0b3A6MjVweH0uaGFzLWZlZWRiYWNrIGxhYmVsLnNyLW9ubHl+LmZvcm0tY29udHJvbC1mZWVkYmFja3t0b3A6MH0uaGVscC1ibG9ja3tkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6NXB4O21hcmdpbi1ib3R0b206MTBweDtjb2xvcjojNzM3MzczfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZm9ybS1pbmxpbmUgLmZvcm0tZ3JvdXB7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbTowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDphdXRvO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1zdGF0aWN7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmZvcm0taW5saW5lIC5pbnB1dC1ncm91cHtkaXNwbGF5OmlubGluZS10YWJsZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uLC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ0bnt3aWR0aDphdXRvfS5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbHt3aWR0aDoxMDAlfS5mb3JtLWlubGluZSAuY29udHJvbC1sYWJlbHttYXJnaW4tYm90dG9tOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5mb3JtLWlubGluZSAuY2hlY2tib3gsLmZvcm0taW5saW5lIC5yYWRpb3tkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9ybS1pbmxpbmUgLmNoZWNrYm94IGxhYmVsLC5mb3JtLWlubGluZSAucmFkaW8gbGFiZWx7cGFkZGluZy1sZWZ0OjB9LmZvcm0taW5saW5lIC5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSwuZm9ybS1pbmxpbmUgLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9de3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1sZWZ0OjB9LmZvcm0taW5saW5lIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFja3t0b3A6MH19LmZvcm0taG9yaXpvbnRhbCAuY2hlY2tib3gsLmZvcm0taG9yaXpvbnRhbCAuY2hlY2tib3gtaW5saW5lLC5mb3JtLWhvcml6b250YWwgLnJhZGlvLC5mb3JtLWhvcml6b250YWwgLnJhZGlvLWlubGluZXtwYWRkaW5nLXRvcDo3cHg7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0uZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveCwuZm9ybS1ob3Jpem9udGFsIC5yYWRpb3ttaW4taGVpZ2h0OjI3cHh9LmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cHttYXJnaW4tcmlnaHQ6LTE1cHg7bWFyZ2luLWxlZnQ6LTE1cHh9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5mb3JtLWhvcml6b250YWwgLmNvbnRyb2wtbGFiZWx7cGFkZGluZy10b3A6N3B4O21hcmdpbi1ib3R0b206MDt0ZXh0LWFsaWduOnJpZ2h0fX0uZm9ybS1ob3Jpem9udGFsIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFja3tyaWdodDoxNXB4fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLWxnIC5jb250cm9sLWxhYmVse3BhZGRpbmctdG9wOjExcHg7Zm9udC1zaXplOjE4cHh9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLXNtIC5jb250cm9sLWxhYmVse3BhZGRpbmctdG9wOjZweDtmb250LXNpemU6MTJweH19LmJ0bntkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjZweCAxMnB4O21hcmdpbi1ib3R0b206MDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mzt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7dmVydGljYWwtYWxpZ246bWlkZGxlOy1tcy10b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9uO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247Y3Vyc29yOnBvaW50ZXI7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NHB4fS5idG4uYWN0aXZlLmZvY3VzLC5idG4uYWN0aXZlOmZvY3VzLC5idG4uZm9jdXMsLmJ0bjphY3RpdmUuZm9jdXMsLmJ0bjphY3RpdmU6Zm9jdXMsLmJ0bjpmb2N1c3tvdXRsaW5lOnRoaW4gZG90dGVkO291dGxpbmU6NXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHh9LmJ0bi5mb2N1cywuYnRuOmZvY3VzLC5idG46aG92ZXJ7Y29sb3I6IzMzMzt0ZXh0LWRlY29yYXRpb246bm9uZX0uYnRuLmFjdGl2ZSwuYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7b3V0bGluZTowOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDNweCA1cHggcmdiYSgwLDAsMCwuMTI1KTtib3gtc2hhZG93Omluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpfS5idG4uZGlzYWJsZWQsLmJ0bltkaXNhYmxlZF0sZmllbGRzZXRbZGlzYWJsZWRdIC5idG57Y3Vyc29yOm5vdC1hbGxvd2VkO2ZpbHRlcjphbHBoYShvcGFjaXR5PTY1KTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7b3BhY2l0eTouNjV9YS5idG4uZGlzYWJsZWQsZmllbGRzZXRbZGlzYWJsZWRdIGEuYnRue3BvaW50ZXItZXZlbnRzOm5vbmV9LmJ0bi1kZWZhdWx0e2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1jb2xvcjojY2NjfS5idG4tZGVmYXVsdC5mb2N1cywuYnRuLWRlZmF1bHQ6Zm9jdXN7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOiM4YzhjOGN9LmJ0bi1kZWZhdWx0OmhvdmVye2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZTZlNmU2O2JvcmRlci1jb2xvcjojYWRhZGFkfS5idG4tZGVmYXVsdC5hY3RpdmUsLmJ0bi1kZWZhdWx0OmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0e2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZTZlNmU2O2JvcmRlci1jb2xvcjojYWRhZGFkfS5idG4tZGVmYXVsdC5hY3RpdmUuZm9jdXMsLmJ0bi1kZWZhdWx0LmFjdGl2ZTpmb2N1cywuYnRuLWRlZmF1bHQuYWN0aXZlOmhvdmVyLC5idG4tZGVmYXVsdDphY3RpdmUuZm9jdXMsLmJ0bi1kZWZhdWx0OmFjdGl2ZTpmb2N1cywuYnRuLWRlZmF1bHQ6YWN0aXZlOmhvdmVyLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQuZm9jdXMsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdDpmb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0OmhvdmVye2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZDRkNGQ0O2JvcmRlci1jb2xvcjojOGM4YzhjfS5idG4tZGVmYXVsdC5hY3RpdmUsLmJ0bi1kZWZhdWx0OmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0e2JhY2tncm91bmQtaW1hZ2U6bm9uZX0uYnRuLWRlZmF1bHQuZGlzYWJsZWQuZm9jdXMsLmJ0bi1kZWZhdWx0LmRpc2FibGVkOmZvY3VzLC5idG4tZGVmYXVsdC5kaXNhYmxlZDpob3ZlciwuYnRuLWRlZmF1bHRbZGlzYWJsZWRdLmZvY3VzLC5idG4tZGVmYXVsdFtkaXNhYmxlZF06Zm9jdXMsLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0LmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQ6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNjY2N9LmJ0bi1kZWZhdWx0IC5iYWRnZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMzM30uYnRuLXByaW1hcnl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7Ym9yZGVyLWNvbG9yOiMyZTZkYTR9LmJ0bi1wcmltYXJ5LmZvY3VzLC5idG4tcHJpbWFyeTpmb2N1c3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4NjA5MDtib3JkZXItY29sb3I6IzEyMmI0MH0uYnRuLXByaW1hcnk6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyODYwOTA7Ym9yZGVyLWNvbG9yOiMyMDRkNzR9LmJ0bi1wcmltYXJ5LmFjdGl2ZSwuYnRuLXByaW1hcnk6YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyODYwOTA7Ym9yZGVyLWNvbG9yOiMyMDRkNzR9LmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cywuYnRuLXByaW1hcnkuYWN0aXZlOmZvY3VzLC5idG4tcHJpbWFyeS5hY3RpdmU6aG92ZXIsLmJ0bi1wcmltYXJ5OmFjdGl2ZS5mb2N1cywuYnRuLXByaW1hcnk6YWN0aXZlOmZvY3VzLC5idG4tcHJpbWFyeTphY3RpdmU6aG92ZXIsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tcHJpbWFyeS5mb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5OmZvY3VzLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnk6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyMDRkNzQ7Ym9yZGVyLWNvbG9yOiMxMjJiNDB9LmJ0bi1wcmltYXJ5LmFjdGl2ZSwuYnRuLXByaW1hcnk6YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnl7YmFja2dyb3VuZC1pbWFnZTpub25lfS5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywuYnRuLXByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLC5idG4tcHJpbWFyeVtkaXNhYmxlZF0uZm9jdXMsLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnkuZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeTpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6IzMzN2FiNztib3JkZXItY29sb3I6IzJlNmRhNH0uYnRuLXByaW1hcnkgLmJhZGdle2NvbG9yOiMzMzdhYjc7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5idG4tc3VjY2Vzc3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzVjYjg1Yztib3JkZXItY29sb3I6IzRjYWU0Y30uYnRuLXN1Y2Nlc3MuZm9jdXMsLmJ0bi1zdWNjZXNzOmZvY3Vze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNDQ5ZDQ0O2JvcmRlci1jb2xvcjojMjU1NjI1fS5idG4tc3VjY2Vzczpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzQ0OWQ0NDtib3JkZXItY29sb3I6IzM5ODQzOX0uYnRuLXN1Y2Nlc3MuYWN0aXZlLC5idG4tc3VjY2VzczphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2Vzc3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzQ0OWQ0NDtib3JkZXItY29sb3I6IzM5ODQzOX0uYnRuLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLC5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsLmJ0bi1zdWNjZXNzLmFjdGl2ZTpob3ZlciwuYnRuLXN1Y2Nlc3M6YWN0aXZlLmZvY3VzLC5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsLmJ0bi1zdWNjZXNzOmFjdGl2ZTpob3Zlciwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNzLmZvY3VzLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXN1Y2Nlc3M6Zm9jdXMsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2Vzczpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzM5ODQzOTtib3JkZXItY29sb3I6IzI1NTYyNX0uYnRuLXN1Y2Nlc3MuYWN0aXZlLC5idG4tc3VjY2VzczphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2Vzc3tiYWNrZ3JvdW5kLWltYWdlOm5vbmV9LmJ0bi1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLC5idG4tc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXS5mb2N1cywuYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLC5idG4tc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzcy5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXN1Y2Nlc3M6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNWNiODVjO2JvcmRlci1jb2xvcjojNGNhZTRjfS5idG4tc3VjY2VzcyAuYmFkZ2V7Y29sb3I6IzVjYjg1YztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmJ0bi1pbmZve2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNWJjMGRlO2JvcmRlci1jb2xvcjojNDZiOGRhfS5idG4taW5mby5mb2N1cywuYnRuLWluZm86Zm9jdXN7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMWIwZDU7Ym9yZGVyLWNvbG9yOiMxYjZkODV9LmJ0bi1pbmZvOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzFiMGQ1O2JvcmRlci1jb2xvcjojMjY5YWJjfS5idG4taW5mby5hY3RpdmUsLmJ0bi1pbmZvOmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZve2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzFiMGQ1O2JvcmRlci1jb2xvcjojMjY5YWJjfS5idG4taW5mby5hY3RpdmUuZm9jdXMsLmJ0bi1pbmZvLmFjdGl2ZTpmb2N1cywuYnRuLWluZm8uYWN0aXZlOmhvdmVyLC5idG4taW5mbzphY3RpdmUuZm9jdXMsLmJ0bi1pbmZvOmFjdGl2ZTpmb2N1cywuYnRuLWluZm86YWN0aXZlOmhvdmVyLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWluZm8uZm9jdXMsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4taW5mbzpmb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZvOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjY5YWJjO2JvcmRlci1jb2xvcjojMWI2ZDg1fS5idG4taW5mby5hY3RpdmUsLmJ0bi1pbmZvOmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZve2JhY2tncm91bmQtaW1hZ2U6bm9uZX0uYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsLmJ0bi1pbmZvLmRpc2FibGVkOmZvY3VzLC5idG4taW5mby5kaXNhYmxlZDpob3ZlciwuYnRuLWluZm9bZGlzYWJsZWRdLmZvY3VzLC5idG4taW5mb1tkaXNhYmxlZF06Zm9jdXMsLmJ0bi1pbmZvW2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1pbmZvLmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm86Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM1YmMwZGU7Ym9yZGVyLWNvbG9yOiM0NmI4ZGF9LmJ0bi1pbmZvIC5iYWRnZXtjb2xvcjojNWJjMGRlO2JhY2tncm91bmQtY29sb3I6I2ZmZn0uYnRuLXdhcm5pbmd7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNmMGFkNGU7Ym9yZGVyLWNvbG9yOiNlZWEyMzZ9LmJ0bi13YXJuaW5nLmZvY3VzLC5idG4td2FybmluZzpmb2N1c3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2VjOTcxZjtib3JkZXItY29sb3I6Izk4NWYwZH0uYnRuLXdhcm5pbmc6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNlYzk3MWY7Ym9yZGVyLWNvbG9yOiNkNTg1MTJ9LmJ0bi13YXJuaW5nLmFjdGl2ZSwuYnRuLXdhcm5pbmc6YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmd7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNlYzk3MWY7Ym9yZGVyLWNvbG9yOiNkNTg1MTJ9LmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cywuYnRuLXdhcm5pbmcuYWN0aXZlOmZvY3VzLC5idG4td2FybmluZy5hY3RpdmU6aG92ZXIsLmJ0bi13YXJuaW5nOmFjdGl2ZS5mb2N1cywuYnRuLXdhcm5pbmc6YWN0aXZlOmZvY3VzLC5idG4td2FybmluZzphY3RpdmU6aG92ZXIsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZy5mb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi13YXJuaW5nOmZvY3VzLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmc6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNkNTg1MTI7Ym9yZGVyLWNvbG9yOiM5ODVmMGR9LmJ0bi13YXJuaW5nLmFjdGl2ZSwuYnRuLXdhcm5pbmc6YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmd7YmFja2dyb3VuZC1pbWFnZTpub25lfS5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cywuYnRuLXdhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLC5idG4td2FybmluZ1tkaXNhYmxlZF0uZm9jdXMsLmJ0bi13YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmcuZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZzpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2YwYWQ0ZTtib3JkZXItY29sb3I6I2VlYTIzNn0uYnRuLXdhcm5pbmcgLmJhZGdle2NvbG9yOiNmMGFkNGU7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5idG4tZGFuZ2Vye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZDk1MzRmO2JvcmRlci1jb2xvcjojZDQzZjNhfS5idG4tZGFuZ2VyLmZvY3VzLC5idG4tZGFuZ2VyOmZvY3Vze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYzkzMDJjO2JvcmRlci1jb2xvcjojNzYxYzE5fS5idG4tZGFuZ2VyOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYzkzMDJjO2JvcmRlci1jb2xvcjojYWMyOTI1fS5idG4tZGFuZ2VyLmFjdGl2ZSwuYnRuLWRhbmdlcjphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2Vye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYzkzMDJjO2JvcmRlci1jb2xvcjojYWMyOTI1fS5idG4tZGFuZ2VyLmFjdGl2ZS5mb2N1cywuYnRuLWRhbmdlci5hY3RpdmU6Zm9jdXMsLmJ0bi1kYW5nZXIuYWN0aXZlOmhvdmVyLC5idG4tZGFuZ2VyOmFjdGl2ZS5mb2N1cywuYnRuLWRhbmdlcjphY3RpdmU6Zm9jdXMsLmJ0bi1kYW5nZXI6YWN0aXZlOmhvdmVyLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWRhbmdlci5mb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXI6Zm9jdXMsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2VyOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYWMyOTI1O2JvcmRlci1jb2xvcjojNzYxYzE5fS5idG4tZGFuZ2VyLmFjdGl2ZSwuYnRuLWRhbmdlcjphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2Vye2JhY2tncm91bmQtaW1hZ2U6bm9uZX0uYnRuLWRhbmdlci5kaXNhYmxlZC5mb2N1cywuYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywuYnRuLWRhbmdlci5kaXNhYmxlZDpob3ZlciwuYnRuLWRhbmdlcltkaXNhYmxlZF0uZm9jdXMsLmJ0bi1kYW5nZXJbZGlzYWJsZWRdOmZvY3VzLC5idG4tZGFuZ2VyW2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXIuZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhbmdlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNkOTUzNGY7Ym9yZGVyLWNvbG9yOiNkNDNmM2F9LmJ0bi1kYW5nZXIgLmJhZGdle2NvbG9yOiNkOTUzNGY7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5idG4tbGlua3tmb250LXdlaWdodDo0MDA7Y29sb3I6IzMzN2FiNztib3JkZXItcmFkaXVzOjB9LmJ0bi1saW5rLC5idG4tbGluay5hY3RpdmUsLmJ0bi1saW5rOmFjdGl2ZSwuYnRuLWxpbmtbZGlzYWJsZWRdLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWxpbmt7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9LmJ0bi1saW5rLC5idG4tbGluazphY3RpdmUsLmJ0bi1saW5rOmZvY3VzLC5idG4tbGluazpob3Zlcntib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1saW5rOmZvY3VzLC5idG4tbGluazpob3Zlcntjb2xvcjojMjM1MjdjO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLWxpbmtbZGlzYWJsZWRdOmZvY3VzLC5idG4tbGlua1tkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tbGluazpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1saW5rOmhvdmVye2NvbG9yOiM3Nzc7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmJ0bi1ncm91cC1sZz4uYnRuLC5idG4tbGd7cGFkZGluZzoxMHB4IDE2cHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MS4zMzMzMzMzO2JvcmRlci1yYWRpdXM6NnB4fS5idG4tZ3JvdXAtc20+LmJ0biwuYnRuLXNte3BhZGRpbmc6NXB4IDEwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6M3B4fS5idG4tZ3JvdXAteHM+LmJ0biwuYnRuLXhze3BhZGRpbmc6MXB4IDVweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czozcHh9LmJ0bi1ibG9ja3tkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCV9LmJ0bi1ibG9jaysuYnRuLWJsb2Nre21hcmdpbi10b3A6NXB4fWlucHV0W3R5cGU9YnV0dG9uXS5idG4tYmxvY2ssaW5wdXRbdHlwZT1yZXNldF0uYnRuLWJsb2NrLGlucHV0W3R5cGU9c3VibWl0XS5idG4tYmxvY2t7d2lkdGg6MTAwJX0uZmFkZXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBsaW5lYXI7LW8tdHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGxpbmVhcn0uZmFkZS5pbntvcGFjaXR5OjF9LmNvbGxhcHNle2Rpc3BsYXk6bm9uZX0uY29sbGFwc2UuaW57ZGlzcGxheTpibG9ja310ci5jb2xsYXBzZS5pbntkaXNwbGF5OnRhYmxlLXJvd310Ym9keS5jb2xsYXBzZS5pbntkaXNwbGF5OnRhYmxlLXJvdy1ncm91cH0uY29sbGFwc2luZ3twb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlOy1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2U7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjM1czstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zNXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouMzVzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpoZWlnaHQsdmlzaWJpbGl0eTstby10cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodCx2aXNpYmlsaXR5O3RyYW5zaXRpb24tcHJvcGVydHk6aGVpZ2h0LHZpc2liaWxpdHl9LmNhcmV0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7bWFyZ2luLWxlZnQ6MnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtib3JkZXItdG9wOjRweCBkYXNoZWQ7Ym9yZGVyLXRvcDo0cHggc29saWRcOTtib3JkZXItcmlnaHQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0OjRweCBzb2xpZCB0cmFuc3BhcmVudH0uZHJvcGRvd24sLmRyb3B1cHtwb3NpdGlvbjpyZWxhdGl2ZX0uZHJvcGRvd24tdG9nZ2xlOmZvY3Vze291dGxpbmU6MH0uZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTtsZWZ0OjA7ei1pbmRleDoxMDAwO2Rpc3BsYXk6bm9uZTtmbG9hdDpsZWZ0O21pbi13aWR0aDoxNjBweDtwYWRkaW5nOjVweCAwO21hcmdpbjoycHggMCAwO2ZvbnQtc2l6ZToxNHB4O3RleHQtYWxpZ246bGVmdDtsaXN0LXN0eWxlOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZmZmOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xNSk7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC1ib3gtc2hhZG93OjAgNnB4IDEycHggcmdiYSgwLDAsMCwuMTc1KTtib3gtc2hhZG93OjAgNnB4IDEycHggcmdiYSgwLDAsMCwuMTc1KX0uZHJvcGRvd24tbWVudS5wdWxsLXJpZ2h0e3JpZ2h0OjA7bGVmdDphdXRvfS5kcm9wZG93bi1tZW51IC5kaXZpZGVye2hlaWdodDoxcHg7bWFyZ2luOjlweCAwO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNlNWU1ZTV9LmRyb3Bkb3duLW1lbnU+bGk+YXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6M3B4IDIwcHg7Y2xlYXI6Ym90aDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mztjb2xvcjojMzMzO3doaXRlLXNwYWNlOm5vd3JhcH0uZHJvcGRvd24tbWVudT5saT5hOmZvY3VzLC5kcm9wZG93bi1tZW51PmxpPmE6aG92ZXJ7Y29sb3I6IzI2MjYyNjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjV9LmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hLC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YTpmb2N1cywuZHJvcGRvd24tbWVudT4uYWN0aXZlPmE6aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7b3V0bGluZTowfS5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hLC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmZvY3VzLC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmhvdmVye2NvbG9yOiM3Nzd9LmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6Zm9jdXMsLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOm5vdC1hbGxvd2VkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSl9Lm9wZW4+LmRyb3Bkb3duLW1lbnV7ZGlzcGxheTpibG9ja30ub3Blbj5he291dGxpbmU6MH0uZHJvcGRvd24tbWVudS1yaWdodHtyaWdodDowO2xlZnQ6YXV0b30uZHJvcGRvd24tbWVudS1sZWZ0e3JpZ2h0OmF1dG87bGVmdDowfS5kcm9wZG93bi1oZWFkZXJ7ZGlzcGxheTpibG9jaztwYWRkaW5nOjNweCAyMHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6Izc3Nzt3aGl0ZS1zcGFjZTpub3dyYXB9LmRyb3Bkb3duLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3otaW5kZXg6OTkwfS5wdWxsLXJpZ2h0Pi5kcm9wZG93bi1tZW51e3JpZ2h0OjA7bGVmdDphdXRvfS5kcm9wdXAgLmNhcmV0LC5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biAuY2FyZXR7Y29udGVudDoiIjtib3JkZXItdG9wOjA7Ym9yZGVyLWJvdHRvbTo0cHggZGFzaGVkO2JvcmRlci1ib3R0b206NHB4IHNvbGlkXDl9LmRyb3B1cCAuZHJvcGRvd24tbWVudSwubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnV7dG9wOmF1dG87Ym90dG9tOjEwMCU7bWFyZ2luLWJvdHRvbToycHh9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnV7cmlnaHQ6MDtsZWZ0OmF1dG99Lm5hdmJhci1yaWdodCAuZHJvcGRvd24tbWVudS1sZWZ0e3JpZ2h0OmF1dG87bGVmdDowfX0uYnRuLWdyb3VwLC5idG4tZ3JvdXAtdmVydGljYWx7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0biwuYnRuLWdyb3VwPi5idG57cG9zaXRpb246cmVsYXRpdmU7ZmxvYXQ6bGVmdH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4uYWN0aXZlLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjphY3RpdmUsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmZvY3VzLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpob3ZlciwuYnRuLWdyb3VwPi5idG4uYWN0aXZlLC5idG4tZ3JvdXA+LmJ0bjphY3RpdmUsLmJ0bi1ncm91cD4uYnRuOmZvY3VzLC5idG4tZ3JvdXA+LmJ0bjpob3Zlcnt6LWluZGV4OjJ9LmJ0bi1ncm91cCAuYnRuKy5idG4sLmJ0bi1ncm91cCAuYnRuKy5idG4tZ3JvdXAsLmJ0bi1ncm91cCAuYnRuLWdyb3VwKy5idG4sLmJ0bi1ncm91cCAuYnRuLWdyb3VwKy5idG4tZ3JvdXB7bWFyZ2luLWxlZnQ6LTFweH0uYnRuLXRvb2xiYXJ7bWFyZ2luLWxlZnQ6LTVweH0uYnRuLXRvb2xiYXIgLmJ0biwuYnRuLXRvb2xiYXIgLmJ0bi1ncm91cCwuYnRuLXRvb2xiYXIgLmlucHV0LWdyb3Vwe2Zsb2F0OmxlZnR9LmJ0bi10b29sYmFyPi5idG4sLmJ0bi10b29sYmFyPi5idG4tZ3JvdXAsLmJ0bi10b29sYmFyPi5pbnB1dC1ncm91cHttYXJnaW4tbGVmdDo1cHh9LmJ0bi1ncm91cD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpe2JvcmRlci1yYWRpdXM6MH0uYnRuLWdyb3VwPi5idG46Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MH0uYnRuLWdyb3VwPi5idG46Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSl7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5idG4tZ3JvdXA+LmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLC5idG4tZ3JvdXA+LmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5idG4tZ3JvdXA+LmJ0bi1ncm91cHtmbG9hdDpsZWZ0fS5idG4tZ3JvdXA+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpPi5idG57Ym9yZGVyLXJhZGl1czowfS5idG4tZ3JvdXA+LmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpPi5idG46bGFzdC1jaGlsZCwuYnRuLWdyb3VwPi5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKT4uZHJvcGRvd24tdG9nZ2xle2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uYnRuLWdyb3VwPi5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSwuYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZXtvdXRsaW5lOjB9LmJ0bi1ncm91cD4uYnRuKy5kcm9wZG93bi10b2dnbGV7cGFkZGluZy1yaWdodDo4cHg7cGFkZGluZy1sZWZ0OjhweH0uYnRuLWdyb3VwPi5idG4tbGcrLmRyb3Bkb3duLXRvZ2dsZXtwYWRkaW5nLXJpZ2h0OjEycHg7cGFkZGluZy1sZWZ0OjEycHh9LmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGV7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpO2JveC1zaGFkb3c6aW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSl9LmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUuYnRuLWxpbmt7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS5idG4gLmNhcmV0e21hcmdpbi1sZWZ0OjB9LmJ0bi1sZyAuY2FyZXR7Ym9yZGVyLXdpZHRoOjVweCA1cHggMDtib3JkZXItYm90dG9tLXdpZHRoOjB9LmRyb3B1cCAuYnRuLWxnIC5jYXJldHtib3JkZXItd2lkdGg6MCA1cHggNXB4fS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0biwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwPi5idG57ZGlzcGxheTpibG9jaztmbG9hdDpub25lO3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCV9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwPi5idG57ZmxvYXQ6bm9uZX0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4rLmJ0biwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4rLmJ0bi1ncm91cCwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXArLmJ0biwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXArLmJ0bi1ncm91cHttYXJnaW4tdG9wOi0xcHg7bWFyZ2luLWxlZnQ6MH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKXtib3JkZXItcmFkaXVzOjB9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRweH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKT4uYnRue2JvcmRlci1yYWRpdXM6MH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKT4uYnRuOmxhc3QtY2hpbGQsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCk+LmRyb3Bkb3duLXRvZ2dsZXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5idG4tZ3JvdXAtanVzdGlmaWVke2Rpc3BsYXk6dGFibGU7d2lkdGg6MTAwJTt0YWJsZS1sYXlvdXQ6Zml4ZWQ7Ym9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlfS5idG4tZ3JvdXAtanVzdGlmaWVkPi5idG4sLmJ0bi1ncm91cC1qdXN0aWZpZWQ+LmJ0bi1ncm91cHtkaXNwbGF5OnRhYmxlLWNlbGw7ZmxvYXQ6bm9uZTt3aWR0aDoxJX0uYnRuLWdyb3VwLWp1c3RpZmllZD4uYnRuLWdyb3VwIC5idG57d2lkdGg6MTAwJX0uYnRuLWdyb3VwLWp1c3RpZmllZD4uYnRuLWdyb3VwIC5kcm9wZG93bi1tZW51e2xlZnQ6YXV0b31bZGF0YS10b2dnbGU9YnV0dG9uc10+LmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XSxbZGF0YS10b2dnbGU9YnV0dG9uc10+LmJ0biBpbnB1dFt0eXBlPXJhZGlvXSxbZGF0YS10b2dnbGU9YnV0dG9uc10+LmJ0bi1ncm91cD4uYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdLFtkYXRhLXRvZ2dsZT1idXR0b25zXT4uYnRuLWdyb3VwPi5idG4gaW5wdXRbdHlwZT1yYWRpb117cG9zaXRpb246YWJzb2x1dGU7Y2xpcDpyZWN0KDAsMCwwLDApO3BvaW50ZXItZXZlbnRzOm5vbmV9LmlucHV0LWdyb3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6dGFibGU7Ym9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlfS5pbnB1dC1ncm91cFtjbGFzcyo9Y29sLV17ZmxvYXQ6bm9uZTtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9LmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2x7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO2Zsb2F0OmxlZnQ7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjB9LmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6Zm9jdXN7ei1pbmRleDozfS5pbnB1dC1ncm91cC1sZz4uZm9ybS1jb250cm9sLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYWRkb24sLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1idG4+LmJ0bntoZWlnaHQ6NDZweDtwYWRkaW5nOjEwcHggMTZweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoxLjMzMzMzMzM7Ym9yZGVyLXJhZGl1czo2cHh9c2VsZWN0LmlucHV0LWdyb3VwLWxnPi5mb3JtLWNvbnRyb2wsc2VsZWN0LmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hZGRvbixzZWxlY3QuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWJ0bj4uYnRue2hlaWdodDo0NnB4O2xpbmUtaGVpZ2h0OjQ2cHh9c2VsZWN0W211bHRpcGxlXS5pbnB1dC1ncm91cC1sZz4uZm9ybS1jb250cm9sLHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFkZG9uLHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWJ0bj4uYnRuLHRleHRhcmVhLmlucHV0LWdyb3VwLWxnPi5mb3JtLWNvbnRyb2wsdGV4dGFyZWEuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFkZG9uLHRleHRhcmVhLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1idG4+LmJ0bntoZWlnaHQ6YXV0b30uaW5wdXQtZ3JvdXAtc20+LmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFkZG9uLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYnRuPi5idG57aGVpZ2h0OjMwcHg7cGFkZGluZzo1cHggMTBweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czozcHh9c2VsZWN0LmlucHV0LWdyb3VwLXNtPi5mb3JtLWNvbnRyb2wsc2VsZWN0LmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hZGRvbixzZWxlY3QuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWJ0bj4uYnRue2hlaWdodDozMHB4O2xpbmUtaGVpZ2h0OjMwcHh9c2VsZWN0W211bHRpcGxlXS5pbnB1dC1ncm91cC1zbT4uZm9ybS1jb250cm9sLHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFkZG9uLHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWJ0bj4uYnRuLHRleHRhcmVhLmlucHV0LWdyb3VwLXNtPi5mb3JtLWNvbnRyb2wsdGV4dGFyZWEuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFkZG9uLHRleHRhcmVhLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1idG4+LmJ0bntoZWlnaHQ6YXV0b30uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXAtYWRkb24sLmlucHV0LWdyb3VwLWJ0bntkaXNwbGF5OnRhYmxlLWNlbGx9LmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSwuaW5wdXQtZ3JvdXAtYWRkb246bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSwuaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLXJhZGl1czowfS5pbnB1dC1ncm91cC1hZGRvbiwuaW5wdXQtZ3JvdXAtYnRue3dpZHRoOjElO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmlucHV0LWdyb3VwLWFkZG9ue3BhZGRpbmc6NnB4IDEycHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzU1NTt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci1yYWRpdXM6NHB4fS5pbnB1dC1ncm91cC1hZGRvbi5pbnB1dC1zbXtwYWRkaW5nOjVweCAxMHB4O2ZvbnQtc2l6ZToxMnB4O2JvcmRlci1yYWRpdXM6M3B4fS5pbnB1dC1ncm91cC1hZGRvbi5pbnB1dC1sZ3twYWRkaW5nOjEwcHggMTZweDtmb250LXNpemU6MThweDtib3JkZXItcmFkaXVzOjZweH0uaW5wdXQtZ3JvdXAtYWRkb24gaW5wdXRbdHlwZT1jaGVja2JveF0sLmlucHV0LWdyb3VwLWFkZG9uIGlucHV0W3R5cGU9cmFkaW9de21hcmdpbi10b3A6MH0uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpmaXJzdC1jaGlsZCwuaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQsLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZD4uYnRuLC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQ+LmJ0bi1ncm91cD4uYnRuLC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQ+LmRyb3Bkb3duLXRvZ2dsZSwuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQ+LmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpPi5idG4sLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkPi5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSl7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZHtib3JkZXItcmlnaHQ6MH0uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpsYXN0LWNoaWxkLC5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkLC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQ+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuLC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQ+LmJ0bjpub3QoOmZpcnN0LWNoaWxkKSwuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQ+LmJ0biwuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQ+LmJ0bi1ncm91cD4uYnRuLC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZD4uZHJvcGRvd24tdG9nZ2xle2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGR7Ym9yZGVyLWxlZnQ6MH0uaW5wdXQtZ3JvdXAtYnRue3Bvc2l0aW9uOnJlbGF0aXZlO2ZvbnQtc2l6ZTowO3doaXRlLXNwYWNlOm5vd3JhcH0uaW5wdXQtZ3JvdXAtYnRuPi5idG57cG9zaXRpb246cmVsYXRpdmV9LmlucHV0LWdyb3VwLWJ0bj4uYnRuKy5idG57bWFyZ2luLWxlZnQ6LTFweH0uaW5wdXQtZ3JvdXAtYnRuPi5idG46YWN0aXZlLC5pbnB1dC1ncm91cC1idG4+LmJ0bjpmb2N1cywuaW5wdXQtZ3JvdXAtYnRuPi5idG46aG92ZXJ7ei1pbmRleDoyfS5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQ+LmJ0biwuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkPi5idG4tZ3JvdXB7bWFyZ2luLXJpZ2h0Oi0xcHh9LmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkPi5idG4sLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkPi5idG4tZ3JvdXB7ei1pbmRleDoyO21hcmdpbi1sZWZ0Oi0xcHh9Lm5hdntwYWRkaW5nLWxlZnQ6MDttYXJnaW4tYm90dG9tOjA7bGlzdC1zdHlsZTpub25lfS5uYXY+bGl7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9ja30ubmF2PmxpPmF7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztwYWRkaW5nOjEwcHggMTVweH0ubmF2PmxpPmE6Zm9jdXMsLm5hdj5saT5hOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2VlZX0ubmF2PmxpLmRpc2FibGVkPmF7Y29sb3I6Izc3N30ubmF2PmxpLmRpc2FibGVkPmE6Zm9jdXMsLm5hdj5saS5kaXNhYmxlZD5hOmhvdmVye2NvbG9yOiM3Nzc7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOm5vdC1hbGxvd2VkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdiAub3Blbj5hLC5uYXYgLm9wZW4+YTpmb2N1cywubmF2IC5vcGVuPmE6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWVlO2JvcmRlci1jb2xvcjojMzM3YWI3fS5uYXYgLm5hdi1kaXZpZGVye2hlaWdodDoxcHg7bWFyZ2luOjlweCAwO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNlNWU1ZTV9Lm5hdj5saT5hPmltZ3ttYXgtd2lkdGg6bm9uZX0ubmF2LXRhYnN7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZH0ubmF2LXRhYnM+bGl7ZmxvYXQ6bGVmdDttYXJnaW4tYm90dG9tOi0xcHh9Lm5hdi10YWJzPmxpPmF7bWFyZ2luLXJpZ2h0OjJweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo0cHggNHB4IDAgMH0ubmF2LXRhYnM+bGk+YTpob3Zlcntib3JkZXItY29sb3I6I2VlZSAjZWVlICNkZGR9Lm5hdi10YWJzPmxpLmFjdGl2ZT5hLC5uYXYtdGFicz5saS5hY3RpdmU+YTpmb2N1cywubmF2LXRhYnM+bGkuYWN0aXZlPmE6aG92ZXJ7Y29sb3I6IzU1NTtjdXJzb3I6ZGVmYXVsdDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JvcmRlci1ib3R0b20tY29sb3I6dHJhbnNwYXJlbnR9Lm5hdi10YWJzLm5hdi1qdXN0aWZpZWR7d2lkdGg6MTAwJTtib3JkZXItYm90dG9tOjB9Lm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+bGl7ZmxvYXQ6bm9uZX0ubmF2LXRhYnMubmF2LWp1c3RpZmllZD5saT5he21hcmdpbi1ib3R0b206NXB4O3RleHQtYWxpZ246Y2VudGVyfS5uYXYtdGFicy5uYXYtanVzdGlmaWVkPi5kcm9wZG93biAuZHJvcGRvd24tbWVudXt0b3A6YXV0bztsZWZ0OmF1dG99QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXYtdGFicy5uYXYtanVzdGlmaWVkPmxpe2Rpc3BsYXk6dGFibGUtY2VsbDt3aWR0aDoxJX0ubmF2LXRhYnMubmF2LWp1c3RpZmllZD5saT5he21hcmdpbi1ib3R0b206MH19Lm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+bGk+YXttYXJnaW4tcmlnaHQ6MDtib3JkZXItcmFkaXVzOjRweH0ubmF2LXRhYnMubmF2LWp1c3RpZmllZD4uYWN0aXZlPmEsLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+LmFjdGl2ZT5hOmZvY3VzLC5uYXYtdGFicy5uYXYtanVzdGlmaWVkPi5hY3RpdmU+YTpob3Zlcntib3JkZXI6MXB4IHNvbGlkICNkZGR9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXYtdGFicy5uYXYtanVzdGlmaWVkPmxpPmF7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwfS5uYXYtdGFicy5uYXYtanVzdGlmaWVkPi5hY3RpdmU+YSwubmF2LXRhYnMubmF2LWp1c3RpZmllZD4uYWN0aXZlPmE6Zm9jdXMsLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+LmFjdGl2ZT5hOmhvdmVye2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn19Lm5hdi1waWxscz5saXtmbG9hdDpsZWZ0fS5uYXYtcGlsbHM+bGk+YXtib3JkZXItcmFkaXVzOjRweH0ubmF2LXBpbGxzPmxpK2xpe21hcmdpbi1sZWZ0OjJweH0ubmF2LXBpbGxzPmxpLmFjdGl2ZT5hLC5uYXYtcGlsbHM+bGkuYWN0aXZlPmE6Zm9jdXMsLm5hdi1waWxscz5saS5hY3RpdmU+YTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMzN2FiN30ubmF2LXN0YWNrZWQ+bGl7ZmxvYXQ6bm9uZX0ubmF2LXN0YWNrZWQ+bGkrbGl7bWFyZ2luLXRvcDoycHg7bWFyZ2luLWxlZnQ6MH0ubmF2LWp1c3RpZmllZHt3aWR0aDoxMDAlfS5uYXYtanVzdGlmaWVkPmxpe2Zsb2F0Om5vbmV9Lm5hdi1qdXN0aWZpZWQ+bGk+YXttYXJnaW4tYm90dG9tOjVweDt0ZXh0LWFsaWduOmNlbnRlcn0ubmF2LWp1c3RpZmllZD4uZHJvcGRvd24gLmRyb3Bkb3duLW1lbnV7dG9wOmF1dG87bGVmdDphdXRvfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2LWp1c3RpZmllZD5saXtkaXNwbGF5OnRhYmxlLWNlbGw7d2lkdGg6MSV9Lm5hdi1qdXN0aWZpZWQ+bGk+YXttYXJnaW4tYm90dG9tOjB9fS5uYXYtdGFicy1qdXN0aWZpZWR7Ym9yZGVyLWJvdHRvbTowfS5uYXYtdGFicy1qdXN0aWZpZWQ+bGk+YXttYXJnaW4tcmlnaHQ6MDtib3JkZXItcmFkaXVzOjRweH0ubmF2LXRhYnMtanVzdGlmaWVkPi5hY3RpdmU+YSwubmF2LXRhYnMtanVzdGlmaWVkPi5hY3RpdmU+YTpmb2N1cywubmF2LXRhYnMtanVzdGlmaWVkPi5hY3RpdmU+YTpob3Zlcntib3JkZXI6MXB4IHNvbGlkICNkZGR9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXYtdGFicy1qdXN0aWZpZWQ+bGk+YXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGRkO2JvcmRlci1yYWRpdXM6NHB4IDRweCAwIDB9Lm5hdi10YWJzLWp1c3RpZmllZD4uYWN0aXZlPmEsLm5hdi10YWJzLWp1c3RpZmllZD4uYWN0aXZlPmE6Zm9jdXMsLm5hdi10YWJzLWp1c3RpZmllZD4uYWN0aXZlPmE6aG92ZXJ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmfX0udGFiLWNvbnRlbnQ+LnRhYi1wYW5le2Rpc3BsYXk6bm9uZX0udGFiLWNvbnRlbnQ+LmFjdGl2ZXtkaXNwbGF5OmJsb2NrfS5uYXYtdGFicyAuZHJvcGRvd24tbWVudXttYXJnaW4tdG9wOi0xcHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9Lm5hdmJhcntwb3NpdGlvbjpyZWxhdGl2ZTttaW4taGVpZ2h0OjUwcHg7bWFyZ2luLWJvdHRvbToyMHB4O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnR9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXJ7Ym9yZGVyLXJhZGl1czo0cHh9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLWhlYWRlcntmbG9hdDpsZWZ0fX0ubmF2YmFyLWNvbGxhcHNle3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MTVweDtvdmVyZmxvdy14OnZpc2libGU7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7Ym9yZGVyLXRvcDoxcHggc29saWQgdHJhbnNwYXJlbnQ7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpfS5uYXZiYXItY29sbGFwc2UuaW57b3ZlcmZsb3cteTphdXRvfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLWNvbGxhcHNle3dpZHRoOmF1dG87Ym9yZGVyLXRvcDowOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ubmF2YmFyLWNvbGxhcHNlLmNvbGxhcHNle2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50O2hlaWdodDphdXRvIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTowO292ZXJmbG93OnZpc2libGUhaW1wb3J0YW50fS5uYXZiYXItY29sbGFwc2UuaW57b3ZlcmZsb3cteTp2aXNpYmxlfS5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2UsLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1jb2xsYXBzZSwubmF2YmFyLXN0YXRpYy10b3AgLm5hdmJhci1jb2xsYXBzZXtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9fS5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2UsLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1jb2xsYXBzZXttYXgtaGVpZ2h0OjM0MHB4fUBtZWRpYSAobWF4LWRldmljZS13aWR0aDo0ODBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2UsLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1jb2xsYXBzZXttYXgtaGVpZ2h0OjIwMHB4fX0uY29udGFpbmVyLWZsdWlkPi5uYXZiYXItY29sbGFwc2UsLmNvbnRhaW5lci1mbHVpZD4ubmF2YmFyLWhlYWRlciwuY29udGFpbmVyPi5uYXZiYXItY29sbGFwc2UsLmNvbnRhaW5lcj4ubmF2YmFyLWhlYWRlcnttYXJnaW4tcmlnaHQ6LTE1cHg7bWFyZ2luLWxlZnQ6LTE1cHh9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5jb250YWluZXItZmx1aWQ+Lm5hdmJhci1jb2xsYXBzZSwuY29udGFpbmVyLWZsdWlkPi5uYXZiYXItaGVhZGVyLC5jb250YWluZXI+Lm5hdmJhci1jb2xsYXBzZSwuY29udGFpbmVyPi5uYXZiYXItaGVhZGVye21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjB9fS5uYXZiYXItc3RhdGljLXRvcHt6LWluZGV4OjEwMDA7Ym9yZGVyLXdpZHRoOjAgMCAxcHh9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItc3RhdGljLXRvcHtib3JkZXItcmFkaXVzOjB9fS5uYXZiYXItZml4ZWQtYm90dG9tLC5uYXZiYXItZml4ZWQtdG9we3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjA7bGVmdDowO3otaW5kZXg6MTAzMH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci1maXhlZC1ib3R0b20sLm5hdmJhci1maXhlZC10b3B7Ym9yZGVyLXJhZGl1czowfX0ubmF2YmFyLWZpeGVkLXRvcHt0b3A6MDtib3JkZXItd2lkdGg6MCAwIDFweH0ubmF2YmFyLWZpeGVkLWJvdHRvbXtib3R0b206MDttYXJnaW4tYm90dG9tOjA7Ym9yZGVyLXdpZHRoOjFweCAwIDB9Lm5hdmJhci1icmFuZHtmbG9hdDpsZWZ0O2hlaWdodDo1MHB4O3BhZGRpbmc6MTVweCAxNXB4O2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIwcHh9Lm5hdmJhci1icmFuZDpmb2N1cywubmF2YmFyLWJyYW5kOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5uYXZiYXItYnJhbmQ+aW1ne2Rpc3BsYXk6YmxvY2t9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXI+LmNvbnRhaW5lciAubmF2YmFyLWJyYW5kLC5uYXZiYXI+LmNvbnRhaW5lci1mbHVpZCAubmF2YmFyLWJyYW5ke21hcmdpbi1sZWZ0Oi0xNXB4fX0ubmF2YmFyLXRvZ2dsZXtwb3NpdGlvbjpyZWxhdGl2ZTtmbG9hdDpyaWdodDtwYWRkaW5nOjlweCAxMHB4O21hcmdpbi10b3A6OHB4O21hcmdpbi1yaWdodDoxNXB4O21hcmdpbi1ib3R0b206OHB4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo0cHh9Lm5hdmJhci10b2dnbGU6Zm9jdXN7b3V0bGluZTowfS5uYXZiYXItdG9nZ2xlIC5pY29uLWJhcntkaXNwbGF5OmJsb2NrO3dpZHRoOjIycHg7aGVpZ2h0OjJweDtib3JkZXItcmFkaXVzOjFweH0ubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXIrLmljb24tYmFye21hcmdpbi10b3A6NHB4fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLXRvZ2dsZXtkaXNwbGF5Om5vbmV9fS5uYXZiYXItbmF2e21hcmdpbjo3LjVweCAtMTVweH0ubmF2YmFyLW5hdj5saT5he3BhZGRpbmctdG9wOjEwcHg7cGFkZGluZy1ib3R0b206MTBweDtsaW5lLWhlaWdodDoyMHB4fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjpzdGF0aWM7ZmxvYXQ6bm9uZTt3aWR0aDphdXRvO21hcmdpbi10b3A6MDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taGVhZGVyLC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmF7cGFkZGluZzo1cHggMTVweCA1cHggMjVweH0ubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5he2xpbmUtaGVpZ2h0OjIwcHh9Lm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YTpmb2N1cywubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5hOmhvdmVye2JhY2tncm91bmQtaW1hZ2U6bm9uZX19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItbmF2e2Zsb2F0OmxlZnQ7bWFyZ2luOjB9Lm5hdmJhci1uYXY+bGl7ZmxvYXQ6bGVmdH0ubmF2YmFyLW5hdj5saT5he3BhZGRpbmctdG9wOjE1cHg7cGFkZGluZy1ib3R0b206MTVweH19Lm5hdmJhci1mb3Jte3BhZGRpbmc6MTBweCAxNXB4O21hcmdpbi10b3A6OHB4O21hcmdpbi1yaWdodDotMTVweDttYXJnaW4tYm90dG9tOjhweDttYXJnaW4tbGVmdDotMTVweDtib3JkZXItdG9wOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB0cmFuc3BhcmVudDstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKSwwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKSwwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLWZvcm0gLmZvcm0tZ3JvdXB7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbTowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubmF2YmFyLWZvcm0gLmZvcm0tY29udHJvbHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDphdXRvO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubmF2YmFyLWZvcm0gLmZvcm0tY29udHJvbC1zdGF0aWN7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cHtkaXNwbGF5OmlubGluZS10YWJsZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uLC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ0bnt3aWR0aDphdXRvfS5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbHt3aWR0aDoxMDAlfS5uYXZiYXItZm9ybSAuY29udHJvbC1sYWJlbHttYXJnaW4tYm90dG9tOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5uYXZiYXItZm9ybSAuY2hlY2tib3gsLm5hdmJhci1mb3JtIC5yYWRpb3tkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubmF2YmFyLWZvcm0gLmNoZWNrYm94IGxhYmVsLC5uYXZiYXItZm9ybSAucmFkaW8gbGFiZWx7cGFkZGluZy1sZWZ0OjB9Lm5hdmJhci1mb3JtIC5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSwubmF2YmFyLWZvcm0gLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9de3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1sZWZ0OjB9Lm5hdmJhci1mb3JtIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFja3t0b3A6MH19QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey5uYXZiYXItZm9ybSAuZm9ybS1ncm91cHttYXJnaW4tYm90dG9tOjVweH0ubmF2YmFyLWZvcm0gLmZvcm0tZ3JvdXA6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLWZvcm17d2lkdGg6YXV0bztwYWRkaW5nLXRvcDowO3BhZGRpbmctYm90dG9tOjA7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6MDtib3JkZXI6MDstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9fS5uYXZiYXItbmF2PmxpPi5kcm9wZG93bi1tZW51e21hcmdpbi10b3A6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLW5hdj5saT4uZHJvcGRvd24tbWVudXttYXJnaW4tYm90dG9tOjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5uYXZiYXItYnRue21hcmdpbi10b3A6OHB4O21hcmdpbi1ib3R0b206OHB4fS5uYXZiYXItYnRuLmJ0bi1zbXttYXJnaW4tdG9wOjEwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS5uYXZiYXItYnRuLmJ0bi14c3ttYXJnaW4tdG9wOjE0cHg7bWFyZ2luLWJvdHRvbToxNHB4fS5uYXZiYXItdGV4dHttYXJnaW4tdG9wOjE1cHg7bWFyZ2luLWJvdHRvbToxNXB4fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLXRleHR7ZmxvYXQ6bGVmdDttYXJnaW4tcmlnaHQ6MTVweDttYXJnaW4tbGVmdDoxNXB4fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5uYXZiYXItcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50O21hcmdpbi1yaWdodDotMTVweH0ubmF2YmFyLXJpZ2h0fi5uYXZiYXItcmlnaHR7bWFyZ2luLXJpZ2h0OjB9fS5uYXZiYXItZGVmYXVsdHtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY4Zjg7Ym9yZGVyLWNvbG9yOiNlN2U3ZTd9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItYnJhbmR7Y29sb3I6Izc3N30ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDpob3Zlcntjb2xvcjojNWU1ZTVlO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdGV4dHtjb2xvcjojNzc3fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj5saT5he2NvbG9yOiM3Nzd9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2PmxpPmE6Zm9jdXMsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2PmxpPmE6aG92ZXJ7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uYWN0aXZlPmEsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5hY3RpdmU+YTpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+LmFjdGl2ZT5hOmhvdmVye2NvbG9yOiM1NTU7YmFja2dyb3VuZC1jb2xvcjojZTdlN2U3fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uZGlzYWJsZWQ+YSwubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+LmRpc2FibGVkPmE6Zm9jdXMsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5kaXNhYmxlZD5hOmhvdmVye2NvbG9yOiNjY2M7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGV7Ym9yZGVyLWNvbG9yOiNkZGR9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNkZGR9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiM4ODh9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItY29sbGFwc2UsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItZm9ybXtib3JkZXItY29sb3I6I2U3ZTdlN30ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+Lm9wZW4+YSwubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+Lm9wZW4+YTpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+Lm9wZW4+YTpob3Zlcntjb2xvcjojNTU1O2JhY2tncm91bmQtY29sb3I6I2U3ZTdlN31AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmF7Y29sb3I6Izc3N30ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YTpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YTpob3Zlcntjb2xvcjojMzMzO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YSwubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uYWN0aXZlPmE6aG92ZXJ7Y29sb3I6IzU1NTtiYWNrZ3JvdW5kLWNvbG9yOiNlN2U3ZTd9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YTpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6aG92ZXJ7Y29sb3I6I2NjYztiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fX0ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1saW5re2NvbG9yOiM3Nzd9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbGluazpob3Zlcntjb2xvcjojMzMzfS5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbmt7Y29sb3I6Izc3N30ubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbms6aG92ZXJ7Y29sb3I6IzMzM30ubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rW2Rpc2FibGVkXTpmb2N1cywubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rW2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpob3Zlcntjb2xvcjojY2NjfS5uYXZiYXItaW52ZXJzZXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjI7Ym9yZGVyLWNvbG9yOiMwODA4MDh9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItYnJhbmR7Y29sb3I6IzlkOWQ5ZH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1icmFuZDpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci1icmFuZDpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdGV4dHtjb2xvcjojOWQ5ZDlkfS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj5saT5he2NvbG9yOiM5ZDlkOWR9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2PmxpPmE6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2PmxpPmE6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj4uYWN0aXZlPmEsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2Pi5hY3RpdmU+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+LmFjdGl2ZT5hOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDgwODA4fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj4uZGlzYWJsZWQ+YSwubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+LmRpc2FibGVkPmE6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2Pi5kaXNhYmxlZD5hOmhvdmVye2NvbG9yOiM0NDQ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci10b2dnbGV7Ym9yZGVyLWNvbG9yOiMzMzN9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdG9nZ2xlOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMzMzN9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItY29sbGFwc2UsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItZm9ybXtib3JkZXItY29sb3I6IzEwMTAxMH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+Lm9wZW4+YSwubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+Lm9wZW4+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+Lm9wZW4+YTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzA4MDgwOH1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5kcm9wZG93bi1oZWFkZXJ7Ym9yZGVyLWNvbG9yOiMwODA4MDh9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IC5kaXZpZGVye2JhY2tncm91bmQtY29sb3I6IzA4MDgwOH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YXtjb2xvcjojOWQ5ZDlkfS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5hOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5hOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uYWN0aXZlPmE6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzA4MDgwOH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmEsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YTpob3Zlcntjb2xvcjojNDQ0O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWxpbmt7Y29sb3I6IzlkOWQ5ZH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1saW5rOmhvdmVye2NvbG9yOiNmZmZ9Lm5hdmJhci1pbnZlcnNlIC5idG4tbGlua3tjb2xvcjojOWQ5ZDlkfS5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpob3Zlcntjb2xvcjojZmZmfS5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbmtbZGlzYWJsZWRdOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbmtbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rOmhvdmVye2NvbG9yOiM0NDR9LmJyZWFkY3J1bWJ7cGFkZGluZzo4cHggMTVweDttYXJnaW4tYm90dG9tOjIwcHg7bGlzdC1zdHlsZTpub25lO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtib3JkZXItcmFkaXVzOjRweH0uYnJlYWRjcnVtYj5saXtkaXNwbGF5OmlubGluZS1ibG9ja30uYnJlYWRjcnVtYj5saStsaTpiZWZvcmV7cGFkZGluZzowIDVweDtjb2xvcjojY2NjO2NvbnRlbnQ6Ii9cMDBhMCJ9LmJyZWFkY3J1bWI+LmFjdGl2ZXtjb2xvcjojNzc3fS5wYWdpbmF0aW9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctbGVmdDowO21hcmdpbjoyMHB4IDA7Ym9yZGVyLXJhZGl1czo0cHh9LnBhZ2luYXRpb24+bGl7ZGlzcGxheTppbmxpbmV9LnBhZ2luYXRpb24+bGk+YSwucGFnaW5hdGlvbj5saT5zcGFue3Bvc2l0aW9uOnJlbGF0aXZlO2Zsb2F0OmxlZnQ7cGFkZGluZzo2cHggMTJweDttYXJnaW4tbGVmdDotMXB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6IzMzN2FiNzt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkfS5wYWdpbmF0aW9uPmxpOmZpcnN0LWNoaWxkPmEsLnBhZ2luYXRpb24+bGk6Zmlyc3QtY2hpbGQ+c3BhbnttYXJnaW4tbGVmdDowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4fS5wYWdpbmF0aW9uPmxpOmxhc3QtY2hpbGQ+YSwucGFnaW5hdGlvbj5saTpsYXN0LWNoaWxkPnNwYW57Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweH0ucGFnaW5hdGlvbj5saT5hOmZvY3VzLC5wYWdpbmF0aW9uPmxpPmE6aG92ZXIsLnBhZ2luYXRpb24+bGk+c3Bhbjpmb2N1cywucGFnaW5hdGlvbj5saT5zcGFuOmhvdmVye3otaW5kZXg6Mjtjb2xvcjojMjM1MjdjO2JhY2tncm91bmQtY29sb3I6I2VlZTtib3JkZXItY29sb3I6I2RkZH0ucGFnaW5hdGlvbj4uYWN0aXZlPmEsLnBhZ2luYXRpb24+LmFjdGl2ZT5hOmZvY3VzLC5wYWdpbmF0aW9uPi5hY3RpdmU+YTpob3ZlciwucGFnaW5hdGlvbj4uYWN0aXZlPnNwYW4sLnBhZ2luYXRpb24+LmFjdGl2ZT5zcGFuOmZvY3VzLC5wYWdpbmF0aW9uPi5hY3RpdmU+c3Bhbjpob3Zlcnt6LWluZGV4OjM7Y29sb3I6I2ZmZjtjdXJzb3I6ZGVmYXVsdDtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7Ym9yZGVyLWNvbG9yOiMzMzdhYjd9LnBhZ2luYXRpb24+LmRpc2FibGVkPmEsLnBhZ2luYXRpb24+LmRpc2FibGVkPmE6Zm9jdXMsLnBhZ2luYXRpb24+LmRpc2FibGVkPmE6aG92ZXIsLnBhZ2luYXRpb24+LmRpc2FibGVkPnNwYW4sLnBhZ2luYXRpb24+LmRpc2FibGVkPnNwYW46Zm9jdXMsLnBhZ2luYXRpb24+LmRpc2FibGVkPnNwYW46aG92ZXJ7Y29sb3I6Izc3NztjdXJzb3I6bm90LWFsbG93ZWQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1jb2xvcjojZGRkfS5wYWdpbmF0aW9uLWxnPmxpPmEsLnBhZ2luYXRpb24tbGc+bGk+c3BhbntwYWRkaW5nOjEwcHggMTZweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoxLjMzMzMzMzN9LnBhZ2luYXRpb24tbGc+bGk6Zmlyc3QtY2hpbGQ+YSwucGFnaW5hdGlvbi1sZz5saTpmaXJzdC1jaGlsZD5zcGFue2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NnB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NnB4fS5wYWdpbmF0aW9uLWxnPmxpOmxhc3QtY2hpbGQ+YSwucGFnaW5hdGlvbi1sZz5saTpsYXN0LWNoaWxkPnNwYW57Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NnB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjZweH0ucGFnaW5hdGlvbi1zbT5saT5hLC5wYWdpbmF0aW9uLXNtPmxpPnNwYW57cGFkZGluZzo1cHggMTBweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjV9LnBhZ2luYXRpb24tc20+bGk6Zmlyc3QtY2hpbGQ+YSwucGFnaW5hdGlvbi1zbT5saTpmaXJzdC1jaGlsZD5zcGFue2JvcmRlci10b3AtbGVmdC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6M3B4fS5wYWdpbmF0aW9uLXNtPmxpOmxhc3QtY2hpbGQ+YSwucGFnaW5hdGlvbi1zbT5saTpsYXN0LWNoaWxkPnNwYW57Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjNweH0ucGFnZXJ7cGFkZGluZy1sZWZ0OjA7bWFyZ2luOjIwcHggMDt0ZXh0LWFsaWduOmNlbnRlcjtsaXN0LXN0eWxlOm5vbmV9LnBhZ2VyIGxpe2Rpc3BsYXk6aW5saW5lfS5wYWdlciBsaT5hLC5wYWdlciBsaT5zcGFue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6NXB4IDE0cHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RkZDtib3JkZXItcmFkaXVzOjE1cHh9LnBhZ2VyIGxpPmE6Zm9jdXMsLnBhZ2VyIGxpPmE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5wYWdlciAubmV4dD5hLC5wYWdlciAubmV4dD5zcGFue2Zsb2F0OnJpZ2h0fS5wYWdlciAucHJldmlvdXM+YSwucGFnZXIgLnByZXZpb3VzPnNwYW57ZmxvYXQ6bGVmdH0ucGFnZXIgLmRpc2FibGVkPmEsLnBhZ2VyIC5kaXNhYmxlZD5hOmZvY3VzLC5wYWdlciAuZGlzYWJsZWQ+YTpob3ZlciwucGFnZXIgLmRpc2FibGVkPnNwYW57Y29sb3I6Izc3NztjdXJzb3I6bm90LWFsbG93ZWQ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5sYWJlbHtkaXNwbGF5OmlubGluZTtwYWRkaW5nOi4yZW0gLjZlbSAuM2VtO2ZvbnQtc2l6ZTo3NSU7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjE7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7Ym9yZGVyLXJhZGl1czouMjVlbX1hLmxhYmVsOmZvY3VzLGEubGFiZWw6aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcn0ubGFiZWw6ZW1wdHl7ZGlzcGxheTpub25lfS5idG4gLmxhYmVse3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotMXB4fS5sYWJlbC1kZWZhdWx0e2JhY2tncm91bmQtY29sb3I6Izc3N30ubGFiZWwtZGVmYXVsdFtocmVmXTpmb2N1cywubGFiZWwtZGVmYXVsdFtocmVmXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM1ZTVlNWV9LmxhYmVsLXByaW1hcnl7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3fS5sYWJlbC1wcmltYXJ5W2hyZWZdOmZvY3VzLC5sYWJlbC1wcmltYXJ5W2hyZWZdOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzI4NjA5MH0ubGFiZWwtc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiM1Y2I4NWN9LmxhYmVsLXN1Y2Nlc3NbaHJlZl06Zm9jdXMsLmxhYmVsLXN1Y2Nlc3NbaHJlZl06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNDQ5ZDQ0fS5sYWJlbC1pbmZve2JhY2tncm91bmQtY29sb3I6IzViYzBkZX0ubGFiZWwtaW5mb1tocmVmXTpmb2N1cywubGFiZWwtaW5mb1tocmVmXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMzMWIwZDV9LmxhYmVsLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjojZjBhZDRlfS5sYWJlbC13YXJuaW5nW2hyZWZdOmZvY3VzLC5sYWJlbC13YXJuaW5nW2hyZWZdOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2VjOTcxZn0ubGFiZWwtZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6I2Q5NTM0Zn0ubGFiZWwtZGFuZ2VyW2hyZWZdOmZvY3VzLC5sYWJlbC1kYW5nZXJbaHJlZl06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYzkzMDJjfS5iYWRnZXtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6MTBweDtwYWRkaW5nOjNweCA3cHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjE7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7dmVydGljYWwtYWxpZ246bWlkZGxlO2JhY2tncm91bmQtY29sb3I6Izc3Nztib3JkZXItcmFkaXVzOjEwcHh9LmJhZGdlOmVtcHR5e2Rpc3BsYXk6bm9uZX0uYnRuIC5iYWRnZXtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LTFweH0uYnRuLWdyb3VwLXhzPi5idG4gLmJhZGdlLC5idG4teHMgLmJhZGdle3RvcDowO3BhZGRpbmc6MXB4IDVweH1hLmJhZGdlOmZvY3VzLGEuYmFkZ2U6aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcn0ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZT4uYmFkZ2UsLm5hdi1waWxscz4uYWN0aXZlPmE+LmJhZGdle2NvbG9yOiMzMzdhYjc7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5saXN0LWdyb3VwLWl0ZW0+LmJhZGdle2Zsb2F0OnJpZ2h0fS5saXN0LWdyb3VwLWl0ZW0+LmJhZGdlKy5iYWRnZXttYXJnaW4tcmlnaHQ6NXB4fS5uYXYtcGlsbHM+bGk+YT4uYmFkZ2V7bWFyZ2luLWxlZnQ6M3B4fS5qdW1ib3Ryb257cGFkZGluZy10b3A6MzBweDtwYWRkaW5nLWJvdHRvbTozMHB4O21hcmdpbi1ib3R0b206MzBweDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQtY29sb3I6I2VlZX0uanVtYm90cm9uIC5oMSwuanVtYm90cm9uIGgxe2NvbG9yOmluaGVyaXR9Lmp1bWJvdHJvbiBwe21hcmdpbi1ib3R0b206MTVweDtmb250LXNpemU6MjFweDtmb250LXdlaWdodDoyMDB9Lmp1bWJvdHJvbj5ocntib3JkZXItdG9wLWNvbG9yOiNkNWQ1ZDV9LmNvbnRhaW5lciAuanVtYm90cm9uLC5jb250YWluZXItZmx1aWQgLmp1bWJvdHJvbntwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjE1cHg7Ym9yZGVyLXJhZGl1czo2cHh9Lmp1bWJvdHJvbiAuY29udGFpbmVye21heC13aWR0aDoxMDAlfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpey5qdW1ib3Ryb257cGFkZGluZy10b3A6NDhweDtwYWRkaW5nLWJvdHRvbTo0OHB4fS5jb250YWluZXIgLmp1bWJvdHJvbiwuY29udGFpbmVyLWZsdWlkIC5qdW1ib3Ryb257cGFkZGluZy1yaWdodDo2MHB4O3BhZGRpbmctbGVmdDo2MHB4fS5qdW1ib3Ryb24gLmgxLC5qdW1ib3Ryb24gaDF7Zm9udC1zaXplOjYzcHh9fS50aHVtYm5haWx7ZGlzcGxheTpibG9jaztwYWRkaW5nOjRweDttYXJnaW4tYm90dG9tOjIwcHg7bGluZS1oZWlnaHQ6MS40Mjg1NzE0MztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3JkZXIgLjJzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246Ym9yZGVyIC4ycyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmJvcmRlciAuMnMgZWFzZS1pbi1vdXR9LnRodW1ibmFpbCBhPmltZywudGh1bWJuYWlsPmltZ3ttYXJnaW4tcmlnaHQ6YXV0bzttYXJnaW4tbGVmdDphdXRvfWEudGh1bWJuYWlsLmFjdGl2ZSxhLnRodW1ibmFpbDpmb2N1cyxhLnRodW1ibmFpbDpob3Zlcntib3JkZXItY29sb3I6IzMzN2FiN30udGh1bWJuYWlsIC5jYXB0aW9ue3BhZGRpbmc6OXB4O2NvbG9yOiMzMzN9LmFsZXJ0e3BhZGRpbmc6MTVweDttYXJnaW4tYm90dG9tOjIwcHg7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjRweH0uYWxlcnQgaDR7bWFyZ2luLXRvcDowO2NvbG9yOmluaGVyaXR9LmFsZXJ0IC5hbGVydC1saW5re2ZvbnQtd2VpZ2h0OjcwMH0uYWxlcnQ+cCwuYWxlcnQ+dWx7bWFyZ2luLWJvdHRvbTowfS5hbGVydD5wK3B7bWFyZ2luLXRvcDo1cHh9LmFsZXJ0LWRpc21pc3NhYmxlLC5hbGVydC1kaXNtaXNzaWJsZXtwYWRkaW5nLXJpZ2h0OjM1cHh9LmFsZXJ0LWRpc21pc3NhYmxlIC5jbG9zZSwuYWxlcnQtZGlzbWlzc2libGUgLmNsb3Nle3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotMnB4O3JpZ2h0Oi0yMXB4O2NvbG9yOmluaGVyaXR9LmFsZXJ0LXN1Y2Nlc3N7Y29sb3I6IzNjNzYzZDtiYWNrZ3JvdW5kLWNvbG9yOiNkZmYwZDg7Ym9yZGVyLWNvbG9yOiNkNmU5YzZ9LmFsZXJ0LXN1Y2Nlc3MgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojYzllMmIzfS5hbGVydC1zdWNjZXNzIC5hbGVydC1saW5re2NvbG9yOiMyYjU0MmN9LmFsZXJ0LWluZm97Y29sb3I6IzMxNzA4ZjtiYWNrZ3JvdW5kLWNvbG9yOiNkOWVkZjc7Ym9yZGVyLWNvbG9yOiNiY2U4ZjF9LmFsZXJ0LWluZm8gaHJ7Ym9yZGVyLXRvcC1jb2xvcjojYTZlMWVjfS5hbGVydC1pbmZvIC5hbGVydC1saW5re2NvbG9yOiMyNDUyNjl9LmFsZXJ0LXdhcm5pbmd7Y29sb3I6IzhhNmQzYjtiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTM7Ym9yZGVyLWNvbG9yOiNmYWViY2N9LmFsZXJ0LXdhcm5pbmcgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojZjdlMWI1fS5hbGVydC13YXJuaW5nIC5hbGVydC1saW5re2NvbG9yOiM2NjUxMmN9LmFsZXJ0LWRhbmdlcntjb2xvcjojYTk0NDQyO2JhY2tncm91bmQtY29sb3I6I2YyZGVkZTtib3JkZXItY29sb3I6I2ViY2NkMX0uYWxlcnQtZGFuZ2VyIGhye2JvcmRlci10b3AtY29sb3I6I2U0YjljMH0uYWxlcnQtZGFuZ2VyIC5hbGVydC1saW5re2NvbG9yOiM4NDM1MzR9QC13ZWJraXQta2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVze2Zyb217YmFja2dyb3VuZC1wb3NpdGlvbjo0MHB4IDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9fUAtby1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXN7ZnJvbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjQwcHggMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH19QGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlc3tmcm9te2JhY2tncm91bmQtcG9zaXRpb246NDBweCAwfXRve2JhY2tncm91bmQtcG9zaXRpb246MCAwfX0ucHJvZ3Jlc3N7aGVpZ2h0OjIwcHg7bWFyZ2luLWJvdHRvbToyMHB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKX0ucHJvZ3Jlc3MtYmFye2Zsb2F0OmxlZnQ7d2lkdGg6MDtoZWlnaHQ6MTAwJTtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4xNSk7Ym94LXNoYWRvdzppbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4xNSk7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC42cyBlYXNlOy1vLXRyYW5zaXRpb246d2lkdGggLjZzIGVhc2U7dHJhbnNpdGlvbjp3aWR0aCAuNnMgZWFzZX0ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQsLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhcntiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjQwcHggNDBweDtiYWNrZ3JvdW5kLXNpemU6NDBweCA0MHB4fS5wcm9ncmVzcy1iYXIuYWN0aXZlLC5wcm9ncmVzcy5hY3RpdmUgLnByb2dyZXNzLWJhcnstd2Via2l0LWFuaW1hdGlvbjpwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7LW8tYW5pbWF0aW9uOnByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246cHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlfS5wcm9ncmVzcy1iYXItc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiM1Y2I4NWN9LnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhci1zdWNjZXNze2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCl9LnByb2dyZXNzLWJhci1pbmZve2JhY2tncm91bmQtY29sb3I6IzViYzBkZX0ucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLWluZm97YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KX0ucHJvZ3Jlc3MtYmFyLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjojZjBhZDRlfS5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXItd2FybmluZ3tiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpfS5wcm9ncmVzcy1iYXItZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6I2Q5NTM0Zn0ucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLWRhbmdlcntiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpfS5tZWRpYXttYXJnaW4tdG9wOjE1cHh9Lm1lZGlhOmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0ubWVkaWEsLm1lZGlhLWJvZHl7b3ZlcmZsb3c6aGlkZGVuO3pvb206MX0ubWVkaWEtYm9keXt3aWR0aDoxMDAwMHB4fS5tZWRpYS1vYmplY3R7ZGlzcGxheTpibG9ja30ubWVkaWEtb2JqZWN0LmltZy10aHVtYm5haWx7bWF4LXdpZHRoOm5vbmV9Lm1lZGlhLXJpZ2h0LC5tZWRpYT4ucHVsbC1yaWdodHtwYWRkaW5nLWxlZnQ6MTBweH0ubWVkaWEtbGVmdCwubWVkaWE+LnB1bGwtbGVmdHtwYWRkaW5nLXJpZ2h0OjEwcHh9Lm1lZGlhLWJvZHksLm1lZGlhLWxlZnQsLm1lZGlhLXJpZ2h0e2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjp0b3B9Lm1lZGlhLW1pZGRsZXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm1lZGlhLWJvdHRvbXt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lm1lZGlhLWhlYWRpbmd7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206NXB4fS5tZWRpYS1saXN0e3BhZGRpbmctbGVmdDowO2xpc3Qtc3R5bGU6bm9uZX0ubGlzdC1ncm91cHtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tYm90dG9tOjIwcHh9Lmxpc3QtZ3JvdXAtaXRlbXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTBweCAxNXB4O21hcmdpbi1ib3R0b206LTFweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkfS5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4fS5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4fWEubGlzdC1ncm91cC1pdGVtLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW17Y29sb3I6IzU1NX1hLmxpc3QtZ3JvdXAtaXRlbSAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbSAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmd7Y29sb3I6IzMzM31hLmxpc3QtZ3JvdXAtaXRlbTpmb2N1cyxhLmxpc3QtZ3JvdXAtaXRlbTpob3ZlcixidXR0b24ubGlzdC1ncm91cC1pdGVtOmZvY3VzLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW06aG92ZXJ7Y29sb3I6IzU1NTt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjV9YnV0dG9uLmxpc3QtZ3JvdXAtaXRlbXt3aWR0aDoxMDAlO3RleHQtYWxpZ246bGVmdH0ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkLC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpob3Zlcntjb2xvcjojNzc3O2N1cnNvcjpub3QtYWxsb3dlZDtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9Lmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpmb2N1cyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmd7Y29sb3I6aW5oZXJpdH0ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0tdGV4dHtjb2xvcjojNzc3fS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVye3otaW5kZXg6Mjtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMzN2FiNztib3JkZXItY29sb3I6IzMzN2FiN30ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nPi5zbWFsbCwubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmc+c21hbGwsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZz4uc21hbGwsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nPnNtYWxsLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmc+LnNtYWxsLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZz5zbWFsbHtjb2xvcjppbmhlcml0fS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cyAubGlzdC1ncm91cC1pdGVtLXRleHQsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0e2NvbG9yOiNjN2RkZWZ9Lmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNze2NvbG9yOiMzYzc2M2Q7YmFja2dyb3VuZC1jb2xvcjojZGZmMGQ4fWEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNze2NvbG9yOiMzYzc2M2R9YS5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZ3tjb2xvcjppbmhlcml0fWEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6Zm9jdXMsYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpob3ZlcixidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6Zm9jdXMsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmhvdmVye2NvbG9yOiMzYzc2M2Q7YmFja2dyb3VuZC1jb2xvcjojZDBlOWM2fWEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlLGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmUsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpmb2N1cyxidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojM2M3NjNkO2JvcmRlci1jb2xvcjojM2M3NjNkfS5saXN0LWdyb3VwLWl0ZW0taW5mb3tjb2xvcjojMzE3MDhmO2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmN31hLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mb3tjb2xvcjojMzE3MDhmfWEubGlzdC1ncm91cC1pdGVtLWluZm8gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmd7Y29sb3I6aW5oZXJpdH1hLmxpc3QtZ3JvdXAtaXRlbS1pbmZvOmZvY3VzLGEubGlzdC1ncm91cC1pdGVtLWluZm86aG92ZXIsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvOmZvY3VzLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbzpob3Zlcntjb2xvcjojMzE3MDhmO2JhY2tncm91bmQtY29sb3I6I2M0ZTNmM31hLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZSxhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpmb2N1cyxhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpob3ZlcixidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6Zm9jdXMsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMxNzA4Zjtib3JkZXItY29sb3I6IzMxNzA4Zn0ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmd7Y29sb3I6IzhhNmQzYjtiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTN9YS5saXN0LWdyb3VwLWl0ZW0td2FybmluZyxidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmd7Y29sb3I6IzhhNmQzYn1hLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5ne2NvbG9yOmluaGVyaXR9YS5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpmb2N1cyxhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nOmhvdmVyLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpmb2N1cyxidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6aG92ZXJ7Y29sb3I6IzhhNmQzYjtiYWNrZ3JvdW5kLWNvbG9yOiNmYWYyY2N9YS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmUsYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmU6Zm9jdXMsYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmU6aG92ZXIsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZSxidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmZvY3VzLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmU6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM4YTZkM2I7Ym9yZGVyLWNvbG9yOiM4YTZkM2J9Lmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXJ7Y29sb3I6I2E5NDQ0MjtiYWNrZ3JvdW5kLWNvbG9yOiNmMmRlZGV9YS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2Vye2NvbG9yOiNhOTQ0NDJ9YS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmd7Y29sb3I6aW5oZXJpdH1hLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6Zm9jdXMsYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmhvdmVyLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmZvY3VzLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmhvdmVye2NvbG9yOiNhOTQ0NDI7YmFja2dyb3VuZC1jb2xvcjojZWJjY2NjfWEubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmUsYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpmb2N1cyxhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmhvdmVyLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZSxidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmU6Zm9jdXMsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYTk0NDQyO2JvcmRlci1jb2xvcjojYTk0NDQyfS5saXN0LWdyb3VwLWl0ZW0taGVhZGluZ3ttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTo1cHh9Lmxpc3QtZ3JvdXAtaXRlbS10ZXh0e21hcmdpbi1ib3R0b206MDtsaW5lLWhlaWdodDoxLjN9LnBhbmVse21hcmdpbi1ib3R0b206MjBweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KTtib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSl9LnBhbmVsLWJvZHl7cGFkZGluZzoxNXB4fS5wYW5lbC1oZWFkaW5ne3BhZGRpbmc6MTBweCAxNXB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3AtbGVmdC1yYWRpdXM6M3B4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjNweH0ucGFuZWwtaGVhZGluZz4uZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjppbmhlcml0fS5wYW5lbC10aXRsZXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZToxNnB4O2NvbG9yOmluaGVyaXR9LnBhbmVsLXRpdGxlPi5zbWFsbCwucGFuZWwtdGl0bGU+LnNtYWxsPmEsLnBhbmVsLXRpdGxlPmEsLnBhbmVsLXRpdGxlPnNtYWxsLC5wYW5lbC10aXRsZT5zbWFsbD5he2NvbG9yOmluaGVyaXR9LnBhbmVsLWZvb3RlcntwYWRkaW5nOjEwcHggMTVweDtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RkZDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHh9LnBhbmVsPi5saXN0LWdyb3VwLC5wYW5lbD4ucGFuZWwtY29sbGFwc2U+Lmxpc3QtZ3JvdXB7bWFyZ2luLWJvdHRvbTowfS5wYW5lbD4ubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtLC5wYW5lbD4ucGFuZWwtY29sbGFwc2U+Lmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbXtib3JkZXItd2lkdGg6MXB4IDA7Ym9yZGVyLXJhZGl1czowfS5wYW5lbD4ubGlzdC1ncm91cDpmaXJzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkLC5wYW5lbD4ucGFuZWwtY29sbGFwc2U+Lmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wOjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4fS5wYW5lbD4ubGlzdC1ncm91cDpsYXN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCwucGFuZWw+LnBhbmVsLWNvbGxhcHNlPi5saXN0LWdyb3VwOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHh9LnBhbmVsPi5wYW5lbC1oZWFkaW5nKy5wYW5lbC1jb2xsYXBzZT4ubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5wYW5lbC1oZWFkaW5nKy5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC13aWR0aDowfS5saXN0LWdyb3VwKy5wYW5lbC1mb290ZXJ7Ym9yZGVyLXRvcC13aWR0aDowfS5wYW5lbD4ucGFuZWwtY29sbGFwc2U+LnRhYmxlLC5wYW5lbD4udGFibGUsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZXttYXJnaW4tYm90dG9tOjB9LnBhbmVsPi5wYW5lbC1jb2xsYXBzZT4udGFibGUgY2FwdGlvbiwucGFuZWw+LnRhYmxlIGNhcHRpb24sLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZSBjYXB0aW9ue3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MTVweH0ucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4fS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4fS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjNweH0ucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGQ+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxke2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjNweH0ucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6M3B4fS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGZvb3Q6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxke2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjNweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjNweH0ucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Ym9keTpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQ+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjNweH0ucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Ym9keTpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Ym9keTpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGZvb3Q6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRoOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6M3B4fS5wYW5lbD4ucGFuZWwtYm9keSsudGFibGUsLnBhbmVsPi5wYW5lbC1ib2R5Ky50YWJsZS1yZXNwb25zaXZlLC5wYW5lbD4udGFibGUrLnBhbmVsLWJvZHksLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlKy5wYW5lbC1ib2R5e2JvcmRlci10b3A6MXB4IHNvbGlkICNkZGR9LnBhbmVsPi50YWJsZT50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0ZCwucGFuZWw+LnRhYmxlPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRoe2JvcmRlci10b3A6MH0ucGFuZWw+LnRhYmxlLWJvcmRlcmVkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjB9LnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGg6Zmlyc3QtY2hpbGR7Ym9yZGVyLWxlZnQ6MH0ucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGg6bGFzdC1jaGlsZHtib3JkZXItcmlnaHQ6MH0ucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmZpcnN0LWNoaWxkPnRkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6Zmlyc3QtY2hpbGQ+dGgsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cjpmaXJzdC1jaGlsZD50ZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyOmZpcnN0LWNoaWxkPnRoLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6Zmlyc3QtY2hpbGQ+dGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpmaXJzdC1jaGlsZD50aCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyOmZpcnN0LWNoaWxkPnRkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI6Zmlyc3QtY2hpbGQ+dGh7Ym9yZGVyLWJvdHRvbTowfS5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6bGFzdC1jaGlsZD50ZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmxhc3QtY2hpbGQ+dGgsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cjpsYXN0LWNoaWxkPnRkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI6bGFzdC1jaGlsZD50aCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmxhc3QtY2hpbGQ+dGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpsYXN0LWNoaWxkPnRoLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI6bGFzdC1jaGlsZD50ZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyOmxhc3QtY2hpbGQ+dGh7Ym9yZGVyLWJvdHRvbTowfS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZXttYXJnaW4tYm90dG9tOjA7Ym9yZGVyOjB9LnBhbmVsLWdyb3Vwe21hcmdpbi1ib3R0b206MjBweH0ucGFuZWwtZ3JvdXAgLnBhbmVse21hcmdpbi1ib3R0b206MDtib3JkZXItcmFkaXVzOjRweH0ucGFuZWwtZ3JvdXAgLnBhbmVsKy5wYW5lbHttYXJnaW4tdG9wOjVweH0ucGFuZWwtZ3JvdXAgLnBhbmVsLWhlYWRpbmd7Ym9yZGVyLWJvdHRvbTowfS5wYW5lbC1ncm91cCAucGFuZWwtaGVhZGluZysucGFuZWwtY29sbGFwc2U+Lmxpc3QtZ3JvdXAsLnBhbmVsLWdyb3VwIC5wYW5lbC1oZWFkaW5nKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItdG9wOjFweCBzb2xpZCAjZGRkfS5wYW5lbC1ncm91cCAucGFuZWwtZm9vdGVye2JvcmRlci10b3A6MH0ucGFuZWwtZ3JvdXAgLnBhbmVsLWZvb3RlcisucGFuZWwtY29sbGFwc2UgLnBhbmVsLWJvZHl7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZH0ucGFuZWwtZGVmYXVsdHtib3JkZXItY29sb3I6I2RkZH0ucGFuZWwtZGVmYXVsdD4ucGFuZWwtaGVhZGluZ3tjb2xvcjojMzMzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtib3JkZXItY29sb3I6I2RkZH0ucGFuZWwtZGVmYXVsdD4ucGFuZWwtaGVhZGluZysucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLXRvcC1jb2xvcjojZGRkfS5wYW5lbC1kZWZhdWx0Pi5wYW5lbC1oZWFkaW5nIC5iYWRnZXtjb2xvcjojZjVmNWY1O2JhY2tncm91bmQtY29sb3I6IzMzM30ucGFuZWwtZGVmYXVsdD4ucGFuZWwtZm9vdGVyKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItYm90dG9tLWNvbG9yOiNkZGR9LnBhbmVsLXByaW1hcnl7Ym9yZGVyLWNvbG9yOiMzMzdhYjd9LnBhbmVsLXByaW1hcnk+LnBhbmVsLWhlYWRpbmd7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7Ym9yZGVyLWNvbG9yOiMzMzdhYjd9LnBhbmVsLXByaW1hcnk+LnBhbmVsLWhlYWRpbmcrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci10b3AtY29sb3I6IzMzN2FiN30ucGFuZWwtcHJpbWFyeT4ucGFuZWwtaGVhZGluZyAuYmFkZ2V7Y29sb3I6IzMzN2FiNztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LnBhbmVsLXByaW1hcnk+LnBhbmVsLWZvb3RlcisucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMzM3YWI3fS5wYW5lbC1zdWNjZXNze2JvcmRlci1jb2xvcjojZDZlOWM2fS5wYW5lbC1zdWNjZXNzPi5wYW5lbC1oZWFkaW5ne2NvbG9yOiMzYzc2M2Q7YmFja2dyb3VuZC1jb2xvcjojZGZmMGQ4O2JvcmRlci1jb2xvcjojZDZlOWM2fS5wYW5lbC1zdWNjZXNzPi5wYW5lbC1oZWFkaW5nKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItdG9wLWNvbG9yOiNkNmU5YzZ9LnBhbmVsLXN1Y2Nlc3M+LnBhbmVsLWhlYWRpbmcgLmJhZGdle2NvbG9yOiNkZmYwZDg7YmFja2dyb3VuZC1jb2xvcjojM2M3NjNkfS5wYW5lbC1zdWNjZXNzPi5wYW5lbC1mb290ZXIrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci1ib3R0b20tY29sb3I6I2Q2ZTljNn0ucGFuZWwtaW5mb3tib3JkZXItY29sb3I6I2JjZThmMX0ucGFuZWwtaW5mbz4ucGFuZWwtaGVhZGluZ3tjb2xvcjojMzE3MDhmO2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmNztib3JkZXItY29sb3I6I2JjZThmMX0ucGFuZWwtaW5mbz4ucGFuZWwtaGVhZGluZysucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLXRvcC1jb2xvcjojYmNlOGYxfS5wYW5lbC1pbmZvPi5wYW5lbC1oZWFkaW5nIC5iYWRnZXtjb2xvcjojZDllZGY3O2JhY2tncm91bmQtY29sb3I6IzMxNzA4Zn0ucGFuZWwtaW5mbz4ucGFuZWwtZm9vdGVyKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItYm90dG9tLWNvbG9yOiNiY2U4ZjF9LnBhbmVsLXdhcm5pbmd7Ym9yZGVyLWNvbG9yOiNmYWViY2N9LnBhbmVsLXdhcm5pbmc+LnBhbmVsLWhlYWRpbmd7Y29sb3I6IzhhNmQzYjtiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTM7Ym9yZGVyLWNvbG9yOiNmYWViY2N9LnBhbmVsLXdhcm5pbmc+LnBhbmVsLWhlYWRpbmcrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci10b3AtY29sb3I6I2ZhZWJjY30ucGFuZWwtd2FybmluZz4ucGFuZWwtaGVhZGluZyAuYmFkZ2V7Y29sb3I6I2ZjZjhlMztiYWNrZ3JvdW5kLWNvbG9yOiM4YTZkM2J9LnBhbmVsLXdhcm5pbmc+LnBhbmVsLWZvb3RlcisucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmFlYmNjfS5wYW5lbC1kYW5nZXJ7Ym9yZGVyLWNvbG9yOiNlYmNjZDF9LnBhbmVsLWRhbmdlcj4ucGFuZWwtaGVhZGluZ3tjb2xvcjojYTk0NDQyO2JhY2tncm91bmQtY29sb3I6I2YyZGVkZTtib3JkZXItY29sb3I6I2ViY2NkMX0ucGFuZWwtZGFuZ2VyPi5wYW5lbC1oZWFkaW5nKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItdG9wLWNvbG9yOiNlYmNjZDF9LnBhbmVsLWRhbmdlcj4ucGFuZWwtaGVhZGluZyAuYmFkZ2V7Y29sb3I6I2YyZGVkZTtiYWNrZ3JvdW5kLWNvbG9yOiNhOTQ0NDJ9LnBhbmVsLWRhbmdlcj4ucGFuZWwtZm9vdGVyKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItYm90dG9tLWNvbG9yOiNlYmNjZDF9LmVtYmVkLXJlc3BvbnNpdmV7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5lbWJlZC1yZXNwb25zaXZlIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sLmVtYmVkLXJlc3BvbnNpdmUgZW1iZWQsLmVtYmVkLXJlc3BvbnNpdmUgaWZyYW1lLC5lbWJlZC1yZXNwb25zaXZlIG9iamVjdCwuZW1iZWQtcmVzcG9uc2l2ZSB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6MH0uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OXtwYWRkaW5nLWJvdHRvbTo1Ni4yNSV9LmVtYmVkLXJlc3BvbnNpdmUtNGJ5M3twYWRkaW5nLWJvdHRvbTo3NSV9LndlbGx7bWluLWhlaWdodDoyMHB4O3BhZGRpbmc6MTlweDttYXJnaW4tYm90dG9tOjIwcHg7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O2JvcmRlcjoxcHggc29saWQgI2UzZTNlMztib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSl9LndlbGwgYmxvY2txdW90ZXtib3JkZXItY29sb3I6I2RkZDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMTUpfS53ZWxsLWxne3BhZGRpbmc6MjRweDtib3JkZXItcmFkaXVzOjZweH0ud2VsbC1zbXtwYWRkaW5nOjlweDtib3JkZXItcmFkaXVzOjNweH0uY2xvc2V7ZmxvYXQ6cmlnaHQ7Zm9udC1zaXplOjIxcHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MjApO29wYWNpdHk6LjJ9LmNsb3NlOmZvY3VzLC5jbG9zZTpob3Zlcntjb2xvcjojMDAwO3RleHQtZGVjb3JhdGlvbjpub25lO2N1cnNvcjpwb2ludGVyO2ZpbHRlcjphbHBoYShvcGFjaXR5PTUwKTtvcGFjaXR5Oi41fWJ1dHRvbi5jbG9zZXstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjB9Lm1vZGFsLW9wZW57b3ZlcmZsb3c6aGlkZGVufS5tb2RhbHtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDt6LWluZGV4OjEwNTA7ZGlzcGxheTpub25lO292ZXJmbG93OmhpZGRlbjstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtvdXRsaW5lOjB9Lm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZ3std2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGVhc2Utb3V0Oy1vLXRyYW5zaXRpb246LW8tdHJhbnNmb3JtIC4zcyBlYXNlLW91dDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTI1JSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtMjUlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTI1JSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC0yNSUpfS5tb2RhbC5pbiAubW9kYWwtZGlhbG9ney13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKX0ubW9kYWwtb3BlbiAubW9kYWx7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvfS5tb2RhbC1kaWFsb2d7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6YXV0bzttYXJnaW46MTBweH0ubW9kYWwtY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JvcmRlcjoxcHggc29saWQgIzk5OTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO2JvcmRlci1yYWRpdXM6NnB4O291dGxpbmU6MDstd2Via2l0LWJveC1zaGFkb3c6MCAzcHggOXB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6MCAzcHggOXB4IHJnYmEoMCwwLDAsLjUpfS5tb2RhbC1iYWNrZHJvcHtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDt6LWluZGV4OjEwNDA7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5tb2RhbC1iYWNrZHJvcC5mYWRle2ZpbHRlcjphbHBoYShvcGFjaXR5PTApO29wYWNpdHk6MH0ubW9kYWwtYmFja2Ryb3AuaW57ZmlsdGVyOmFscGhhKG9wYWNpdHk9NTApO29wYWNpdHk6LjV9Lm1vZGFsLWhlYWRlcntwYWRkaW5nOjE1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U1ZTVlNX0ubW9kYWwtaGVhZGVyIC5jbG9zZXttYXJnaW4tdG9wOi0ycHh9Lm1vZGFsLXRpdGxle21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDN9Lm1vZGFsLWJvZHl7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzoxNXB4fS5tb2RhbC1mb290ZXJ7cGFkZGluZzoxNXB4O3RleHQtYWxpZ246cmlnaHQ7Ym9yZGVyLXRvcDoxcHggc29saWQgI2U1ZTVlNX0ubW9kYWwtZm9vdGVyIC5idG4rLmJ0bnttYXJnaW4tYm90dG9tOjA7bWFyZ2luLWxlZnQ6NXB4fS5tb2RhbC1mb290ZXIgLmJ0bi1ncm91cCAuYnRuKy5idG57bWFyZ2luLWxlZnQ6LTFweH0ubW9kYWwtZm9vdGVyIC5idG4tYmxvY2srLmJ0bi1ibG9ja3ttYXJnaW4tbGVmdDowfS5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTk5OTlweDt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O292ZXJmbG93OnNjcm9sbH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm1vZGFsLWRpYWxvZ3t3aWR0aDo2MDBweDttYXJnaW46MzBweCBhdXRvfS5tb2RhbC1jb250ZW50ey13ZWJraXQtYm94LXNoYWRvdzowIDVweCAxNXB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6MCA1cHggMTVweCByZ2JhKDAsMCwwLC41KX0ubW9kYWwtc217d2lkdGg6MzAwcHh9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsubW9kYWwtbGd7d2lkdGg6OTAwcHh9fS50b29sdGlwe3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTA3MDtkaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5OiJIZWx2ZXRpY2EgTmV1ZSIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7dGV4dC1hbGlnbjpsZWZ0O3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1zaGFkb3c6bm9uZTt0ZXh0LXRyYW5zZm9ybTpub25lO2xldHRlci1zcGFjaW5nOm5vcm1hbDt3b3JkLWJyZWFrOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3dvcmQtd3JhcDpub3JtYWw7d2hpdGUtc3BhY2U6bm9ybWFsO2ZpbHRlcjphbHBoYShvcGFjaXR5PTApO29wYWNpdHk6MDtsaW5lLWJyZWFrOmF1dG99LnRvb2x0aXAuaW57ZmlsdGVyOmFscGhhKG9wYWNpdHk9OTApO29wYWNpdHk6Ljl9LnRvb2x0aXAudG9we3BhZGRpbmc6NXB4IDA7bWFyZ2luLXRvcDotM3B4fS50b29sdGlwLnJpZ2h0e3BhZGRpbmc6MCA1cHg7bWFyZ2luLWxlZnQ6M3B4fS50b29sdGlwLmJvdHRvbXtwYWRkaW5nOjVweCAwO21hcmdpbi10b3A6M3B4fS50b29sdGlwLmxlZnR7cGFkZGluZzowIDVweDttYXJnaW4tbGVmdDotM3B4fS50b29sdGlwLWlubmVye21heC13aWR0aDoyMDBweDtwYWRkaW5nOjNweCA4cHg7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7Ym9yZGVyLXJhZGl1czo0cHh9LnRvb2x0aXAtYXJyb3d7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOnNvbGlkfS50b29sdGlwLnRvcCAudG9vbHRpcC1hcnJvd3tib3R0b206MDtsZWZ0OjUwJTttYXJnaW4tbGVmdDotNXB4O2JvcmRlci13aWR0aDo1cHggNXB4IDA7Ym9yZGVyLXRvcC1jb2xvcjojMDAwfS50b29sdGlwLnRvcC1sZWZ0IC50b29sdGlwLWFycm93e3JpZ2h0OjVweDtib3R0b206MDttYXJnaW4tYm90dG9tOi01cHg7Ym9yZGVyLXdpZHRoOjVweCA1cHggMDtib3JkZXItdG9wLWNvbG9yOiMwMDB9LnRvb2x0aXAudG9wLXJpZ2h0IC50b29sdGlwLWFycm93e2JvdHRvbTowO2xlZnQ6NXB4O21hcmdpbi1ib3R0b206LTVweDtib3JkZXItd2lkdGg6NXB4IDVweCAwO2JvcmRlci10b3AtY29sb3I6IzAwMH0udG9vbHRpcC5yaWdodCAudG9vbHRpcC1hcnJvd3t0b3A6NTAlO2xlZnQ6MDttYXJnaW4tdG9wOi01cHg7Ym9yZGVyLXdpZHRoOjVweCA1cHggNXB4IDA7Ym9yZGVyLXJpZ2h0LWNvbG9yOiMwMDB9LnRvb2x0aXAubGVmdCAudG9vbHRpcC1hcnJvd3t0b3A6NTAlO3JpZ2h0OjA7bWFyZ2luLXRvcDotNXB4O2JvcmRlci13aWR0aDo1cHggMCA1cHggNXB4O2JvcmRlci1sZWZ0LWNvbG9yOiMwMDB9LnRvb2x0aXAuYm90dG9tIC50b29sdGlwLWFycm93e3RvcDowO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi01cHg7Ym9yZGVyLXdpZHRoOjAgNXB4IDVweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMDB9LnRvb2x0aXAuYm90dG9tLWxlZnQgLnRvb2x0aXAtYXJyb3d7dG9wOjA7cmlnaHQ6NXB4O21hcmdpbi10b3A6LTVweDtib3JkZXItd2lkdGg6MCA1cHggNXB4O2JvcmRlci1ib3R0b20tY29sb3I6IzAwMH0udG9vbHRpcC5ib3R0b20tcmlnaHQgLnRvb2x0aXAtYXJyb3d7dG9wOjA7bGVmdDo1cHg7bWFyZ2luLXRvcDotNXB4O2JvcmRlci13aWR0aDowIDVweCA1cHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMDAwfS5wb3BvdmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjEwNjA7ZGlzcGxheTpub25lO21heC13aWR0aDoyNzZweDtwYWRkaW5nOjFweDtmb250LWZhbWlseToiSGVsdmV0aWNhIE5ldWUiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO3RleHQtYWxpZ246bGVmdDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93Om5vbmU7dGV4dC10cmFuc2Zvcm06bm9uZTtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1icmVhazpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt3b3JkLXdyYXA6bm9ybWFsO3doaXRlLXNwYWNlOm5vcm1hbDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO2JvcmRlci1yYWRpdXM6NnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6MCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKTtsaW5lLWJyZWFrOmF1dG99LnBvcG92ZXIudG9we21hcmdpbi10b3A6LTEwcHh9LnBvcG92ZXIucmlnaHR7bWFyZ2luLWxlZnQ6MTBweH0ucG9wb3Zlci5ib3R0b217bWFyZ2luLXRvcDoxMHB4fS5wb3BvdmVyLmxlZnR7bWFyZ2luLWxlZnQ6LTEwcHh9LnBvcG92ZXItdGl0bGV7cGFkZGluZzo4cHggMTRweDttYXJnaW46MDtmb250LXNpemU6MTRweDtiYWNrZ3JvdW5kLWNvbG9yOiNmN2Y3Zjc7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjtib3JkZXItcmFkaXVzOjVweCA1cHggMCAwfS5wb3BvdmVyLWNvbnRlbnR7cGFkZGluZzo5cHggMTRweH0ucG9wb3Zlcj4uYXJyb3csLnBvcG92ZXI+LmFycm93OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOnNvbGlkfS5wb3BvdmVyPi5hcnJvd3tib3JkZXItd2lkdGg6MTFweH0ucG9wb3Zlcj4uYXJyb3c6YWZ0ZXJ7Y29udGVudDoiIjtib3JkZXItd2lkdGg6MTBweH0ucG9wb3Zlci50b3A+LmFycm93e2JvdHRvbTotMTFweDtsZWZ0OjUwJTttYXJnaW4tbGVmdDotMTFweDtib3JkZXItdG9wLWNvbG9yOiM5OTk7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4yNSk7Ym9yZGVyLWJvdHRvbS13aWR0aDowfS5wb3BvdmVyLnRvcD4uYXJyb3c6YWZ0ZXJ7Ym90dG9tOjFweDttYXJnaW4tbGVmdDotMTBweDtjb250ZW50OiIgIjtib3JkZXItdG9wLWNvbG9yOiNmZmY7Ym9yZGVyLWJvdHRvbS13aWR0aDowfS5wb3BvdmVyLnJpZ2h0Pi5hcnJvd3t0b3A6NTAlO2xlZnQ6LTExcHg7bWFyZ2luLXRvcDotMTFweDtib3JkZXItcmlnaHQtY29sb3I6Izk5OTtib3JkZXItcmlnaHQtY29sb3I6cmdiYSgwLDAsMCwuMjUpO2JvcmRlci1sZWZ0LXdpZHRoOjB9LnBvcG92ZXIucmlnaHQ+LmFycm93OmFmdGVye2JvdHRvbTotMTBweDtsZWZ0OjFweDtjb250ZW50OiIgIjtib3JkZXItcmlnaHQtY29sb3I6I2ZmZjtib3JkZXItbGVmdC13aWR0aDowfS5wb3BvdmVyLmJvdHRvbT4uYXJyb3d7dG9wOi0xMXB4O2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0xMXB4O2JvcmRlci10b3Atd2lkdGg6MDtib3JkZXItYm90dG9tLWNvbG9yOiM5OTk7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLC4yNSl9LnBvcG92ZXIuYm90dG9tPi5hcnJvdzphZnRlcnt0b3A6MXB4O21hcmdpbi1sZWZ0Oi0xMHB4O2NvbnRlbnQ6IiAiO2JvcmRlci10b3Atd2lkdGg6MDtib3JkZXItYm90dG9tLWNvbG9yOiNmZmZ9LnBvcG92ZXIubGVmdD4uYXJyb3d7dG9wOjUwJTtyaWdodDotMTFweDttYXJnaW4tdG9wOi0xMXB4O2JvcmRlci1yaWdodC13aWR0aDowO2JvcmRlci1sZWZ0LWNvbG9yOiM5OTk7Ym9yZGVyLWxlZnQtY29sb3I6cmdiYSgwLDAsMCwuMjUpfS5wb3BvdmVyLmxlZnQ+LmFycm93OmFmdGVye3JpZ2h0OjFweDtib3R0b206LTEwcHg7Y29udGVudDoiICI7Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7Ym9yZGVyLWxlZnQtY29sb3I6I2ZmZn0uY2Fyb3VzZWx7cG9zaXRpb246cmVsYXRpdmV9LmNhcm91c2VsLWlubmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS5jYXJvdXNlbC1pbm5lcj4uaXRlbXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi42cyBlYXNlLWluLW91dCBsZWZ0Oy1vLXRyYW5zaXRpb246LjZzIGVhc2UtaW4tb3V0IGxlZnQ7dHJhbnNpdGlvbjouNnMgZWFzZS1pbi1vdXQgbGVmdH0uY2Fyb3VzZWwtaW5uZXI+Lml0ZW0+YT5pbWcsLmNhcm91c2VsLWlubmVyPi5pdGVtPmltZ3tsaW5lLWhlaWdodDoxfUBtZWRpYSBhbGwgYW5kICh0cmFuc2Zvcm0tM2QpLCgtd2Via2l0LXRyYW5zZm9ybS0zZCl7LmNhcm91c2VsLWlubmVyPi5pdGVtey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuNnMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjotby10cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246dHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtcGVyc3BlY3RpdmU6MTAwMHB4O3BlcnNwZWN0aXZlOjEwMDBweH0uY2Fyb3VzZWwtaW5uZXI+Lml0ZW0uYWN0aXZlLnJpZ2h0LC5jYXJvdXNlbC1pbm5lcj4uaXRlbS5uZXh0e2xlZnQ6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKX0uY2Fyb3VzZWwtaW5uZXI+Lml0ZW0uYWN0aXZlLmxlZnQsLmNhcm91c2VsLWlubmVyPi5pdGVtLnByZXZ7bGVmdDowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCl9LmNhcm91c2VsLWlubmVyPi5pdGVtLmFjdGl2ZSwuY2Fyb3VzZWwtaW5uZXI+Lml0ZW0ubmV4dC5sZWZ0LC5jYXJvdXNlbC1pbm5lcj4uaXRlbS5wcmV2LnJpZ2h0e2xlZnQ6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX19LmNhcm91c2VsLWlubmVyPi5hY3RpdmUsLmNhcm91c2VsLWlubmVyPi5uZXh0LC5jYXJvdXNlbC1pbm5lcj4ucHJldntkaXNwbGF5OmJsb2NrfS5jYXJvdXNlbC1pbm5lcj4uYWN0aXZle2xlZnQ6MH0uY2Fyb3VzZWwtaW5uZXI+Lm5leHQsLmNhcm91c2VsLWlubmVyPi5wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9LmNhcm91c2VsLWlubmVyPi5uZXh0e2xlZnQ6MTAwJX0uY2Fyb3VzZWwtaW5uZXI+LnByZXZ7bGVmdDotMTAwJX0uY2Fyb3VzZWwtaW5uZXI+Lm5leHQubGVmdCwuY2Fyb3VzZWwtaW5uZXI+LnByZXYucmlnaHR7bGVmdDowfS5jYXJvdXNlbC1pbm5lcj4uYWN0aXZlLmxlZnR7bGVmdDotMTAwJX0uY2Fyb3VzZWwtaW5uZXI+LmFjdGl2ZS5yaWdodHtsZWZ0OjEwMCV9LmNhcm91c2VsLWNvbnRyb2x7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3dpZHRoOjE1JTtmb250LXNpemU6MjBweDtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO3RleHQtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC42KTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NTApO29wYWNpdHk6LjV9LmNhcm91c2VsLWNvbnRyb2wubGVmdHtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQscmdiYSgwLDAsMCwuNSkgMCxyZ2JhKDAsMCwwLC4wMDAxKSAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudChsZWZ0LHJnYmEoMCwwLDAsLjUpIDAscmdiYSgwLDAsMCwuMDAwMSkgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsZnJvbShyZ2JhKDAsMCwwLC41KSksdG8ocmdiYSgwLDAsMCwuMDAwMSkpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDAsMCwwLC41KSAwLHJnYmEoMCwwLDAsLjAwMDEpIDEwMCUpO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzgwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAwMCcsIEdyYWRpZW50VHlwZT0xKTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteH0uY2Fyb3VzZWwtY29udHJvbC5yaWdodHtyaWdodDowO2xlZnQ6YXV0bztiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQscmdiYSgwLDAsMCwuMDAwMSkgMCxyZ2JhKDAsMCwwLC41KSAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudChsZWZ0LHJnYmEoMCwwLDAsLjAwMDEpIDAscmdiYSgwLDAsMCwuNSkgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsZnJvbShyZ2JhKDAsMCwwLC4wMDAxKSksdG8ocmdiYSgwLDAsMCwuNSkpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDAsMCwwLC4wMDAxKSAwLHJnYmEoMCwwLDAsLjUpIDEwMCUpO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyM4MDAwMDAwMCcsIEdyYWRpZW50VHlwZT0xKTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteH0uY2Fyb3VzZWwtY29udHJvbDpmb2N1cywuY2Fyb3VzZWwtY29udHJvbDpob3Zlcntjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2ZpbHRlcjphbHBoYShvcGFjaXR5PTkwKTtvdXRsaW5lOjA7b3BhY2l0eTouOX0uY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCwuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7ei1pbmRleDo1O2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi10b3A6LTEwcHh9LmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldntsZWZ0OjUwJTttYXJnaW4tbGVmdDotMTBweH0uY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dHtyaWdodDo1MCU7bWFyZ2luLXJpZ2h0Oi0xMHB4fS5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHQsLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldnt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O2ZvbnQtZmFtaWx5OnNlcmlmO2xpbmUtaGVpZ2h0OjF9LmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldjpiZWZvcmV7Y29udGVudDonXDIwMzknfS5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHQ6YmVmb3Jle2NvbnRlbnQ6J1wyMDNhJ30uY2Fyb3VzZWwtaW5kaWNhdG9yc3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTBweDtsZWZ0OjUwJTt6LWluZGV4OjE1O3dpZHRoOjYwJTtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tbGVmdDotMzAlO3RleHQtYWxpZ246Y2VudGVyO2xpc3Qtc3R5bGU6bm9uZX0uY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaXtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O21hcmdpbjoxcHg7dGV4dC1pbmRlbnQ6LTk5OXB4O2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6IzAwMFw5O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtib3JkZXI6MXB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czoxMHB4fS5jYXJvdXNlbC1pbmRpY2F0b3JzIC5hY3RpdmV7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmNhcm91c2VsLWNhcHRpb257cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTUlO2JvdHRvbToyMHB4O2xlZnQ6MTUlO3otaW5kZXg6MTA7cGFkZGluZy10b3A6MjBweDtwYWRkaW5nLWJvdHRvbToyMHB4O2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjYpfS5jYXJvdXNlbC1jYXB0aW9uIC5idG57dGV4dC1zaGFkb3c6bm9uZX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjc2OHB4KXsuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCwuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2e3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bWFyZ2luLXRvcDotMTBweDtmb250LXNpemU6MzBweH0uY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2e21hcmdpbi1sZWZ0Oi0xMHB4fS5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0e21hcmdpbi1yaWdodDotMTBweH0uY2Fyb3VzZWwtY2FwdGlvbntyaWdodDoyMCU7bGVmdDoyMCU7cGFkZGluZy1ib3R0b206MzBweH0uY2Fyb3VzZWwtaW5kaWNhdG9yc3tib3R0b206MjBweH19LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwOmFmdGVyLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpiZWZvcmUsLmJ0bi10b29sYmFyOmFmdGVyLC5idG4tdG9vbGJhcjpiZWZvcmUsLmNsZWFyZml4OmFmdGVyLC5jbGVhcmZpeDpiZWZvcmUsLmNvbnRhaW5lci1mbHVpZDphZnRlciwuY29udGFpbmVyLWZsdWlkOmJlZm9yZSwuY29udGFpbmVyOmFmdGVyLC5jb250YWluZXI6YmVmb3JlLC5kbC1ob3Jpem9udGFsIGRkOmFmdGVyLC5kbC1ob3Jpem9udGFsIGRkOmJlZm9yZSwuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwOmFmdGVyLC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXA6YmVmb3JlLC5tb2RhbC1mb290ZXI6YWZ0ZXIsLm1vZGFsLWZvb3RlcjpiZWZvcmUsLm1vZGFsLWhlYWRlcjphZnRlciwubW9kYWwtaGVhZGVyOmJlZm9yZSwubmF2OmFmdGVyLC5uYXY6YmVmb3JlLC5uYXZiYXItY29sbGFwc2U6YWZ0ZXIsLm5hdmJhci1jb2xsYXBzZTpiZWZvcmUsLm5hdmJhci1oZWFkZXI6YWZ0ZXIsLm5hdmJhci1oZWFkZXI6YmVmb3JlLC5uYXZiYXI6YWZ0ZXIsLm5hdmJhcjpiZWZvcmUsLnBhZ2VyOmFmdGVyLC5wYWdlcjpiZWZvcmUsLnBhbmVsLWJvZHk6YWZ0ZXIsLnBhbmVsLWJvZHk6YmVmb3JlLC5yb3c6YWZ0ZXIsLnJvdzpiZWZvcmV7ZGlzcGxheTp0YWJsZTtjb250ZW50OiIgIn0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA6YWZ0ZXIsLmJ0bi10b29sYmFyOmFmdGVyLC5jbGVhcmZpeDphZnRlciwuY29udGFpbmVyLWZsdWlkOmFmdGVyLC5jb250YWluZXI6YWZ0ZXIsLmRsLWhvcml6b250YWwgZGQ6YWZ0ZXIsLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cDphZnRlciwubW9kYWwtZm9vdGVyOmFmdGVyLC5tb2RhbC1oZWFkZXI6YWZ0ZXIsLm5hdjphZnRlciwubmF2YmFyLWNvbGxhcHNlOmFmdGVyLC5uYXZiYXItaGVhZGVyOmFmdGVyLC5uYXZiYXI6YWZ0ZXIsLnBhZ2VyOmFmdGVyLC5wYW5lbC1ib2R5OmFmdGVyLC5yb3c6YWZ0ZXJ7Y2xlYXI6Ym90aH0uY2VudGVyLWJsb2Nre2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0b30ucHVsbC1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnR9LnB1bGwtbGVmdHtmbG9hdDpsZWZ0IWltcG9ydGFudH0uaGlkZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zaG93e2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5pbnZpc2libGV7dmlzaWJpbGl0eTpoaWRkZW59LnRleHQtaGlkZXtmb250OjAvMCBhO2NvbG9yOnRyYW5zcGFyZW50O3RleHQtc2hhZG93Om5vbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MH0uaGlkZGVue2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmFmZml4e3Bvc2l0aW9uOmZpeGVkfUAtbXMtdmlld3BvcnR7d2lkdGg6ZGV2aWNlLXdpZHRofS52aXNpYmxlLWxnLC52aXNpYmxlLW1kLC52aXNpYmxlLXNtLC52aXNpYmxlLXhze2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnZpc2libGUtbGctYmxvY2ssLnZpc2libGUtbGctaW5saW5lLC52aXNpYmxlLWxnLWlubGluZS1ibG9jaywudmlzaWJsZS1tZC1ibG9jaywudmlzaWJsZS1tZC1pbmxpbmUsLnZpc2libGUtbWQtaW5saW5lLWJsb2NrLC52aXNpYmxlLXNtLWJsb2NrLC52aXNpYmxlLXNtLWlubGluZSwudmlzaWJsZS1zbS1pbmxpbmUtYmxvY2ssLnZpc2libGUteHMtYmxvY2ssLnZpc2libGUteHMtaW5saW5lLC52aXNpYmxlLXhzLWlubGluZS1ibG9ja3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudmlzaWJsZS14c3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH10YWJsZS52aXNpYmxlLXhze2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fXRyLnZpc2libGUteHN7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fXRkLnZpc2libGUteHMsdGgudmlzaWJsZS14c3tkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnZpc2libGUteHMtYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudmlzaWJsZS14cy1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnZpc2libGUteHMtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIGFuZCAobWF4LXdpZHRoOjk5MXB4KXsudmlzaWJsZS1zbXtkaXNwbGF5OmJsb2NrIWltcG9ydGFudH10YWJsZS52aXNpYmxlLXNte2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fXRyLnZpc2libGUtc217ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fXRkLnZpc2libGUtc20sdGgudmlzaWJsZS1zbXtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgYW5kIChtYXgtd2lkdGg6OTkxcHgpey52aXNpYmxlLXNtLWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgYW5kIChtYXgtd2lkdGg6OTkxcHgpey52aXNpYmxlLXNtLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSBhbmQgKG1heC13aWR0aDo5OTFweCl7LnZpc2libGUtc20taW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpIGFuZCAobWF4LXdpZHRoOjExOTlweCl7LnZpc2libGUtbWR7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9dGFibGUudmlzaWJsZS1tZHtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH10ci52aXNpYmxlLW1ke2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH10ZC52aXNpYmxlLW1kLHRoLnZpc2libGUtbWR7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpIGFuZCAobWF4LXdpZHRoOjExOTlweCl7LnZpc2libGUtbWQtYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSBhbmQgKG1heC13aWR0aDoxMTk5cHgpey52aXNpYmxlLW1kLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSBhbmQgKG1heC13aWR0aDoxMTk5cHgpey52aXNpYmxlLW1kLWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LnZpc2libGUtbGd7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9dGFibGUudmlzaWJsZS1sZ3tkaXNwbGF5OnRhYmxlIWltcG9ydGFudH10ci52aXNpYmxlLWxne2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH10ZC52aXNpYmxlLWxnLHRoLnZpc2libGUtbGd7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsudmlzaWJsZS1sZy1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsudmlzaWJsZS1sZy1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey52aXNpYmxlLWxnLWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsuaGlkZGVuLXhze2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSBhbmQgKG1heC13aWR0aDo5OTFweCl7LmhpZGRlbi1zbXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgYW5kIChtYXgtd2lkdGg6MTE5OXB4KXsuaGlkZGVuLW1ke2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LmhpZGRlbi1sZ3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX0udmlzaWJsZS1wcmludHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fUBtZWRpYSBwcmludHsudmlzaWJsZS1wcmludHtkaXNwbGF5OmJsb2NrIWltcG9ydGFudH10YWJsZS52aXNpYmxlLXByaW50e2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fXRyLnZpc2libGUtcHJpbnR7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fXRkLnZpc2libGUtcHJpbnQsdGgudmlzaWJsZS1wcmludHtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fX0udmlzaWJsZS1wcmludC1ibG9ja3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fUBtZWRpYSBwcmludHsudmlzaWJsZS1wcmludC1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH19LnZpc2libGUtcHJpbnQtaW5saW5le2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9QG1lZGlhIHByaW50ey52aXNpYmxlLXByaW50LWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9fS52aXNpYmxlLXByaW50LWlubGluZS1ibG9ja3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fUBtZWRpYSBwcmludHsudmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fX1AbWVkaWEgcHJpbnR7LmhpZGRlbi1wcmludHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX0=";
echo base64_decode($css);
exit();
break;
case 'jquery':
header("Content-Type:application/x-javascript");
$jquey="IWZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YS5kb2N1bWVudD9iKGEsITApOmZ1bmN0aW9uKGEpe2lmKCFhLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiBiKGEpfTpiKGEpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9YS5kb2N1bWVudCxlPWMuc2xpY2UsZj1jLmNvbmNhdCxnPWMucHVzaCxoPWMuaW5kZXhPZixpPXt9LGo9aS50b1N0cmluZyxrPWkuaGFzT3duUHJvcGVydHksbD17fSxtPSIyLjIuMyIsbj1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgbi5mbi5pbml0KGEsYil9LG89L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLHA9L14tbXMtLyxxPS8tKFtcZGEtel0pL2dpLHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTtuLmZuPW4ucHJvdG90eXBlPXtqcXVlcnk6bSxjb25zdHJ1Y3RvcjpuLHNlbGVjdG9yOiIiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZS5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/MD5hP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXTplLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1uLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYi5jb250ZXh0PXRoaXMuY29udGV4dCxifSxlYWNoOmZ1bmN0aW9uKGEpe3JldHVybiBuLmVhY2godGhpcyxhKX0sbWFwOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhuLm1hcCh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGEuY2FsbChiLGMsYil9KSl9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sZmlyc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKC0xKX0sZXE6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5sZW5ndGgsYz0rYSsoMD5hP2I6MCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGM+PTAmJmI+Yz9bdGhpc1tjXV06W10pfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKCl9LHB1c2g6Zyxzb3J0OmMuc29ydCxzcGxpY2U6Yy5zcGxpY2V9LG4uZXh0ZW5kPW4uZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZSxmLGc9YXJndW1lbnRzWzBdfHx7fSxoPTEsaT1hcmd1bWVudHMubGVuZ3RoLGo9ITE7Zm9yKCJib29sZWFuIj09dHlwZW9mIGcmJihqPWcsZz1hcmd1bWVudHNbaF18fHt9LGgrKyksIm9iamVjdCI9PXR5cGVvZiBnfHxuLmlzRnVuY3Rpb24oZyl8fChnPXt9KSxoPT09aSYmKGc9dGhpcyxoLS0pO2k+aDtoKyspaWYobnVsbCE9KGE9YXJndW1lbnRzW2hdKSlmb3IoYiBpbiBhKWM9Z1tiXSxkPWFbYl0sZyE9PWQmJihqJiZkJiYobi5pc1BsYWluT2JqZWN0KGQpfHwoZT1uLmlzQXJyYXkoZCkpKT8oZT8oZT0hMSxmPWMmJm4uaXNBcnJheShjKT9jOltdKTpmPWMmJm4uaXNQbGFpbk9iamVjdChjKT9jOnt9LGdbYl09bi5leHRlbmQoaixmLGQpKTp2b2lkIDAhPT1kJiYoZ1tiXT1kKSk7cmV0dXJuIGd9LG4uZXh0ZW5kKHtleHBhbmRvOiJqUXVlcnkiKyhtK01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csIiIpLGlzUmVhZHk6ITAsZXJyb3I6ZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKGEpfSxub29wOmZ1bmN0aW9uKCl7fSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiJmdW5jdGlvbiI9PT1uLnR5cGUoYSl9LGlzQXJyYXk6QXJyYXkuaXNBcnJheSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09PWEud2luZG93fSxpc051bWVyaWM6ZnVuY3Rpb24oYSl7dmFyIGI9YSYmYS50b1N0cmluZygpO3JldHVybiFuLmlzQXJyYXkoYSkmJmItcGFyc2VGbG9hdChiKSsxPj0wfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2lmKCJvYmplY3QiIT09bi50eXBlKGEpfHxhLm5vZGVUeXBlfHxuLmlzV2luZG93KGEpKXJldHVybiExO2lmKGEuY29uc3RydWN0b3ImJiFrLmNhbGwoYSwiY29uc3RydWN0b3IiKSYmIWsuY2FsbChhLmNvbnN0cnVjdG9yLnByb3RvdHlwZXx8e30sImlzUHJvdG90eXBlT2YiKSlyZXR1cm4hMTtmb3IoYiBpbiBhKTtyZXR1cm4gdm9pZCAwPT09Ynx8ay5jYWxsKGEsYil9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oYSl7dmFyIGI7Zm9yKGIgaW4gYSlyZXR1cm4hMTtyZXR1cm4hMH0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9hKyIiOiJvYmplY3QiPT10eXBlb2YgYXx8ImZ1bmN0aW9uIj09dHlwZW9mIGE/aVtqLmNhbGwoYSldfHwib2JqZWN0Ijp0eXBlb2YgYX0sZ2xvYmFsRXZhbDpmdW5jdGlvbihhKXt2YXIgYixjPWV2YWw7YT1uLnRyaW0oYSksYSYmKDE9PT1hLmluZGV4T2YoInVzZSBzdHJpY3QiKT8oYj1kLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLGIudGV4dD1hLGQuaGVhZC5hcHBlbmRDaGlsZChiKS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpKTpjKGEpKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UocCwibXMtIikucmVwbGFjZShxLHIpfSxub2RlTmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTA7aWYocyhhKSl7Zm9yKGM9YS5sZW5ndGg7Yz5kO2QrKylpZihiLmNhbGwoYVtkXSxkLGFbZF0pPT09ITEpYnJlYWt9ZWxzZSBmb3IoZCBpbiBhKWlmKGIuY2FsbChhW2RdLGQsYVtkXSk9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT8iIjooYSsiIikucmVwbGFjZShvLCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107cmV0dXJuIG51bGwhPWEmJihzKE9iamVjdChhKSk/bi5tZXJnZShjLCJzdHJpbmciPT10eXBlb2YgYT9bYV06YSk6Zy5jYWxsKGMsYSkpLGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBudWxsPT1iPy0xOmguY2FsbChiLGEsYyl9LG1lcmdlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPStiLmxlbmd0aCxkPTAsZT1hLmxlbmd0aDtjPmQ7ZCsrKWFbZSsrXT1iW2RdO3JldHVybiBhLmxlbmd0aD1lLGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCxlPVtdLGY9MCxnPWEubGVuZ3RoLGg9IWM7Zz5mO2YrKylkPSFiKGFbZl0sZiksZCE9PWgmJmUucHVzaChhW2ZdKTtyZXR1cm4gZX0sbWFwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGc9MCxoPVtdO2lmKHMoYSkpZm9yKGQ9YS5sZW5ndGg7ZD5nO2crKyllPWIoYVtnXSxnLGMpLG51bGwhPWUmJmgucHVzaChlKTtlbHNlIGZvcihnIGluIGEpZT1iKGFbZ10sZyxjKSxudWxsIT1lJiZoLnB1c2goZSk7cmV0dXJuIGYuYXBwbHkoW10saCl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZjtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGImJihjPWFbYl0sYj1hLGE9Yyksbi5pc0Z1bmN0aW9uKGEpPyhkPWUuY2FsbChhcmd1bWVudHMsMiksZj1mdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGJ8fHRoaXMsZC5jb25jYXQoZS5jYWxsKGFyZ3VtZW50cykpKX0sZi5ndWlkPWEuZ3VpZD1hLmd1aWR8fG4uZ3VpZCsrLGYpOnZvaWQgMH0sbm93OkRhdGUubm93LHN1cHBvcnQ6bH0pLCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihuLmZuW1N5bWJvbC5pdGVyYXRvcl09Y1tTeW1ib2wuaXRlcmF0b3JdKSxuLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IgU3ltYm9sIi5zcGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7aVsiW29iamVjdCAiK2IrIl0iXT1iLnRvTG93ZXJDYXNlKCl9KTtmdW5jdGlvbiBzKGEpe3ZhciBiPSEhYSYmImxlbmd0aCJpbiBhJiZhLmxlbmd0aCxjPW4udHlwZShhKTtyZXR1cm4iZnVuY3Rpb24iPT09Y3x8bi5pc1dpbmRvdyhhKT8hMToiYXJyYXkiPT09Y3x8MD09PWJ8fCJudW1iZXIiPT10eXBlb2YgYiYmYj4wJiZiLTEgaW4gYX12YXIgdD1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1PSJzaXp6bGUiKzEqbmV3IERhdGUsdj1hLmRvY3VtZW50LHc9MCx4PTAseT1nYSgpLHo9Z2EoKSxBPWdhKCksQj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09YiYmKGw9ITApLDB9LEM9MTw8MzEsRD17fS5oYXNPd25Qcm9wZXJ0eSxFPVtdLEY9RS5wb3AsRz1FLnB1c2gsSD1FLnB1c2gsST1FLnNsaWNlLEo9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEs9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkIixMPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixNPSIoPzpcXFxcLnxbXFx3LV18W15cXHgwMC1cXHhhMF0pKyIsTj0iXFxbIitMKyIqKCIrTSsiKSg/OiIrTCsiKihbKl4kfCF+XT89KSIrTCsiKig/OicoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwifCgiK00rIikpfCkiK0wrIipcXF0iLE89IjooIitNKyIpKD86XFwoKCgnKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcIil8KCg/OlxcXFwufFteXFxcXCgpW1xcXV18IitOKyIpKil8LiopXFwpfCkiLFA9bmV3IFJlZ0V4cChMKyIrIiwiZyIpLFE9bmV3IFJlZ0V4cCgiXiIrTCsiK3woKD86XnxbXlxcXFxdKSg/OlxcXFwuKSopIitMKyIrJCIsImciKSxSPW5ldyBSZWdFeHAoIl4iK0wrIiosIitMKyIqIiksUz1uZXcgUmVnRXhwKCJeIitMKyIqKFs+K35dfCIrTCsiKSIrTCsiKiIpLFQ9bmV3IFJlZ0V4cCgiPSIrTCsiKihbXlxcXSdcIl0qPykiK0wrIipcXF0iLCJnIiksVT1uZXcgUmVnRXhwKE8pLFY9bmV3IFJlZ0V4cCgiXiIrTSsiJCIpLFc9e0lEOm5ldyBSZWdFeHAoIl4jKCIrTSsiKSIpLENMQVNTOm5ldyBSZWdFeHAoIl5cXC4oIitNKyIpIiksVEFHOm5ldyBSZWdFeHAoIl4oIitNKyJ8WypdKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrTiksUFNFVURPOm5ldyBSZWdFeHAoIl4iK08pLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcKCIrTCsiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrTCsiKig/OihbKy1dfCkiK0wrIiooXFxkKyl8KSkiK0wrIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK0srIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitMKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK0wrIiooKD86LVxcZCk/XFxkKikiK0wrIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFg9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxZPS9eaFxkJC9pLFo9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLCQ9L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLyxfPS9bK35dLyxhYT0vJ3xcXC9nLGJhPW5ldyBSZWdFeHAoIlxcXFwoW1xcZGEtZl17MSw2fSIrTCsiP3woIitMKyIpfC4pIiwiaWciKSxjYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9IjB4IitiLTY1NTM2O3JldHVybiBkIT09ZHx8Yz9iOjA+ZD9TdHJpbmcuZnJvbUNoYXJDb2RlKGQrNjU1MzYpOlN0cmluZy5mcm9tQ2hhckNvZGUoZD4+MTB8NTUyOTYsMTAyMyZkfDU2MzIwKX0sZGE9ZnVuY3Rpb24oKXttKCl9O3RyeXtILmFwcGx5KEU9SS5jYWxsKHYuY2hpbGROb2Rlcyksdi5jaGlsZE5vZGVzKSxFW3YuY2hpbGROb2Rlcy5sZW5ndGhdLm5vZGVUeXBlfWNhdGNoKGVhKXtIPXthcHBseTpFLmxlbmd0aD9mdW5jdGlvbihhLGIpe0cuYXBwbHkoYSxJLmNhbGwoYikpfTpmdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9MDt3aGlsZShhW2MrK109YltkKytdKTthLmxlbmd0aD1jLTF9fX1mdW5jdGlvbiBmYShhLGIsZCxlKXt2YXIgZixoLGosayxsLG8scixzLHc9YiYmYi5vd25lckRvY3VtZW50LHg9Yj9iLm5vZGVUeXBlOjk7aWYoZD1kfHxbXSwic3RyaW5nIiE9dHlwZW9mIGF8fCFhfHwxIT09eCYmOSE9PXgmJjExIT09eClyZXR1cm4gZDtpZighZSYmKChiP2Iub3duZXJEb2N1bWVudHx8Yjp2KSE9PW4mJm0oYiksYj1ifHxuLHApKXtpZigxMSE9PXgmJihvPSQuZXhlYyhhKSkpaWYoZj1vWzFdKXtpZig5PT09eCl7aWYoIShqPWIuZ2V0RWxlbWVudEJ5SWQoZikpKXJldHVybiBkO2lmKGouaWQ9PT1mKXJldHVybiBkLnB1c2goaiksZH1lbHNlIGlmKHcmJihqPXcuZ2V0RWxlbWVudEJ5SWQoZikpJiZ0KGIsaikmJmouaWQ9PT1mKXJldHVybiBkLnB1c2goaiksZH1lbHNle2lmKG9bMl0pcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpKSxkO2lmKChmPW9bM10pJiZjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSlyZXR1cm4gSC5hcHBseShkLGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShmKSksZH1pZihjLnFzYSYmIUFbYSsiICJdJiYoIXF8fCFxLnRlc3QoYSkpKXtpZigxIT09eCl3PWIscz1hO2Vsc2UgaWYoIm9iamVjdCIhPT1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpeyhrPWIuZ2V0QXR0cmlidXRlKCJpZCIpKT9rPWsucmVwbGFjZShhYSwiXFwkJiIpOmIuc2V0QXR0cmlidXRlKCJpZCIsaz11KSxyPWcoYSksaD1yLmxlbmd0aCxsPVYudGVzdChrKT8iIyIrazoiW2lkPSciK2srIiddIjt3aGlsZShoLS0pcltoXT1sKyIgIitxYShyW2hdKTtzPXIuam9pbigiLCIpLHc9Xy50ZXN0KGEpJiZvYShiLnBhcmVudE5vZGUpfHxifWlmKHMpdHJ5e3JldHVybiBILmFwcGx5KGQsdy5xdWVyeVNlbGVjdG9yQWxsKHMpKSxkfWNhdGNoKHkpe31maW5hbGx5e2s9PT11JiZiLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBpKGEucmVwbGFjZShRLCIkMSIpLGIsZCxlKX1mdW5jdGlvbiBnYSgpe3ZhciBhPVtdO2Z1bmN0aW9uIGIoYyxlKXtyZXR1cm4gYS5wdXNoKGMrIiAiKT5kLmNhY2hlTGVuZ3RoJiZkZWxldGUgYlthLnNoaWZ0KCldLGJbYysiICJdPWV9cmV0dXJuIGJ9ZnVuY3Rpb24gaGEoYSl7cmV0dXJuIGFbdV09ITAsYX1mdW5jdGlvbiBpYShhKXt2YXIgYj1uLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RyeXtyZXR1cm4hIWEoYil9Y2F0Y2goYyl7cmV0dXJuITF9ZmluYWxseXtiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSxiPW51bGx9fWZ1bmN0aW9uIGphKGEsYil7dmFyIGM9YS5zcGxpdCgifCIpLGU9Yy5sZW5ndGg7d2hpbGUoZS0tKWQuYXR0ckhhbmRsZVtjW2VdXT1ifWZ1bmN0aW9uIGthKGEsYil7dmFyIGM9YiYmYSxkPWMmJjE9PT1hLm5vZGVUeXBlJiYxPT09Yi5ub2RlVHlwZSYmKH5iLnNvdXJjZUluZGV4fHxDKS0ofmEuc291cmNlSW5kZXh8fEMpO2lmKGQpcmV0dXJuIGQ7aWYoYyl3aGlsZShjPWMubmV4dFNpYmxpbmcpaWYoYz09PWIpcmV0dXJuLTE7cmV0dXJuIGE/MTotMX1mdW5jdGlvbiBsYShhKXtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1jJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBtYShhKXtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybigiaW5wdXQiPT09Y3x8ImJ1dHRvbiI9PT1jKSYmYi50eXBlPT09YX19ZnVuY3Rpb24gbmEoYSl7cmV0dXJuIGhhKGZ1bmN0aW9uKGIpe3JldHVybiBiPStiLGhhKGZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hKFtdLGMubGVuZ3RoLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWNbZT1mW2ddXSYmKGNbZV09IShkW2VdPWNbZV0pKX0pfSl9ZnVuY3Rpb24gb2EoYSl7cmV0dXJuIGEmJiJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRFbGVtZW50c0J5VGFnTmFtZSYmYX1jPWZhLnN1cHBvcnQ9e30sZj1mYS5pc1hNTD1mdW5jdGlvbihhKXt2YXIgYj1hJiYoYS5vd25lckRvY3VtZW50fHxhKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGI/IkhUTUwiIT09Yi5ub2RlTmFtZTohMX0sbT1mYS5zZXREb2N1bWVudD1mdW5jdGlvbihhKXt2YXIgYixlLGc9YT9hLm93bmVyRG9jdW1lbnR8fGE6djtyZXR1cm4gZyE9PW4mJjk9PT1nLm5vZGVUeXBlJiZnLmRvY3VtZW50RWxlbWVudD8obj1nLG89bi5kb2N1bWVudEVsZW1lbnQscD0hZihuKSwoZT1uLmRlZmF1bHRWaWV3KSYmZS50b3AhPT1lJiYoZS5hZGRFdmVudExpc3RlbmVyP2UuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIixkYSwhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib251bmxvYWQiLGRhKSksYy5hdHRyaWJ1dGVzPWlhKGZ1bmN0aW9uKGEpe3JldHVybiBhLmNsYXNzTmFtZT0iaSIsIWEuZ2V0QXR0cmlidXRlKCJjbGFzc05hbWUiKX0pLGMuZ2V0RWxlbWVudHNCeVRhZ05hbWU9aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuYXBwZW5kQ2hpbGQobi5jcmVhdGVDb21tZW50KCIiKSksIWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKS5sZW5ndGh9KSxjLmdldEVsZW1lbnRzQnlDbGFzc05hbWU9Wi50ZXN0KG4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSksYy5nZXRCeUlkPWlhKGZ1bmN0aW9uKGEpe3JldHVybiBvLmFwcGVuZENoaWxkKGEpLmlkPXUsIW4uZ2V0RWxlbWVudHNCeU5hbWV8fCFuLmdldEVsZW1lbnRzQnlOYW1lKHUpLmxlbmd0aH0pLGMuZ2V0QnlJZD8oZC5maW5kLklEPWZ1bmN0aW9uKGEsYil7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBiLmdldEVsZW1lbnRCeUlkJiZwKXt2YXIgYz1iLmdldEVsZW1lbnRCeUlkKGEpO3JldHVybiBjP1tjXTpbXX19LGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShiYSxjYSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSgiaWQiKT09PWJ9fSk6KGRlbGV0ZSBkLmZpbmQuSUQsZC5maWx0ZXIuSUQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5yZXBsYWNlKGJhLGNhKTtyZXR1cm4gZnVuY3Rpb24oYSl7dmFyIGM9InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEF0dHJpYnV0ZU5vZGUmJmEuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gYyYmYy52YWx1ZT09PWJ9fSksZC5maW5kLlRBRz1jLmdldEVsZW1lbnRzQnlUYWdOYW1lP2Z1bmN0aW9uKGEsYil7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBiLmdldEVsZW1lbnRzQnlUYWdOYW1lP2IuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYSk6Yy5xc2E/Yi5xdWVyeVNlbGVjdG9yQWxsKGEpOnZvaWQgMH06ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9MCxmPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYSk7aWYoIioiPT09YSl7d2hpbGUoYz1mW2UrK10pMT09PWMubm9kZVR5cGUmJmQucHVzaChjKTtyZXR1cm4gZH1yZXR1cm4gZn0sZC5maW5kLkNMQVNTPWMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZnVuY3Rpb24oYSxiKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmcD9iLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYSk6dm9pZCAwfSxyPVtdLHE9W10sKGMucXNhPVoudGVzdChuLnF1ZXJ5U2VsZWN0b3JBbGwpKSYmKGlhKGZ1bmN0aW9uKGEpe28uYXBwZW5kQ2hpbGQoYSkuaW5uZXJIVE1MPSI8YSBpZD0nIit1KyInPjwvYT48c2VsZWN0IGlkPSciK3UrIi1cclxcJyBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsYS5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCYmcS5wdXNoKCJbKl4kXT0iK0wrIiooPzonJ3xcIlwiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8cS5wdXNoKCJcXFsiK0wrIiooPzp2YWx1ZXwiK0srIikiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49Iit1KyItXSIpLmxlbmd0aHx8cS5wdXNoKCJ+PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fHEucHVzaCgiOmNoZWNrZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIit1KyIrKiIpLmxlbmd0aHx8cS5wdXNoKCIuIy4rWyt+XSIpfSksaWEoZnVuY3Rpb24oYSl7dmFyIGI9bi5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Iuc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksYS5hcHBlbmRDaGlsZChiKS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJEIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCYmcS5wdXNoKCJuYW1lIitMKyIqWypeJHwhfl0/PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmVuYWJsZWQiKS5sZW5ndGh8fHEucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSxxLnB1c2goIiwuKjoiKX0pKSwoYy5tYXRjaGVzU2VsZWN0b3I9Wi50ZXN0KHM9by5tYXRjaGVzfHxvLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8by5tb3pNYXRjaGVzU2VsZWN0b3J8fG8ub01hdGNoZXNTZWxlY3Rvcnx8by5tc01hdGNoZXNTZWxlY3RvcikpJiZpYShmdW5jdGlvbihhKXtjLmRpc2Nvbm5lY3RlZE1hdGNoPXMuY2FsbChhLCJkaXYiKSxzLmNhbGwoYSwiW3MhPScnXTp4Iiksci5wdXNoKCIhPSIsTyl9KSxxPXEubGVuZ3RoJiZuZXcgUmVnRXhwKHEuam9pbigifCIpKSxyPXIubGVuZ3RoJiZuZXcgUmVnRXhwKHIuam9pbigifCIpKSxiPVoudGVzdChvLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSx0PWJ8fFoudGVzdChvLmNvbnRhaW5zKT9mdW5jdGlvbihhLGIpe3ZhciBjPTk9PT1hLm5vZGVUeXBlP2EuZG9jdW1lbnRFbGVtZW50OmEsZD1iJiZiLnBhcmVudE5vZGU7cmV0dXJuIGE9PT1kfHwhKCFkfHwxIT09ZC5ub2RlVHlwZXx8IShjLmNvbnRhaW5zP2MuY29udGFpbnMoZCk6YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihkKSkpfTpmdW5jdGlvbihhLGIpe2lmKGIpd2hpbGUoYj1iLnBhcmVudE5vZGUpaWYoYj09PWEpcmV0dXJuITA7cmV0dXJuITF9LEI9Yj9mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGQ9IWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIGQ/ZDooZD0oYS5vd25lckRvY3VtZW50fHxhKT09PShiLm93bmVyRG9jdW1lbnR8fGIpP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYik6MSwxJmR8fCFjLnNvcnREZXRhY2hlZCYmYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKT09PWQ/YT09PW58fGEub3duZXJEb2N1bWVudD09PXYmJnQodixhKT8tMTpiPT09bnx8Yi5vd25lckRvY3VtZW50PT09diYmdCh2LGIpPzE6az9KKGssYSktSihrLGIpOjA6NCZkPy0xOjEpfTpmdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGMsZD0wLGU9YS5wYXJlbnROb2RlLGY9Yi5wYXJlbnROb2RlLGc9W2FdLGg9W2JdO2lmKCFlfHwhZilyZXR1cm4gYT09PW4/LTE6Yj09PW4/MTplPy0xOmY/MTprP0ooayxhKS1KKGssYik6MDtpZihlPT09ZilyZXR1cm4ga2EoYSxiKTtjPWE7d2hpbGUoYz1jLnBhcmVudE5vZGUpZy51bnNoaWZ0KGMpO2M9Yjt3aGlsZShjPWMucGFyZW50Tm9kZSloLnVuc2hpZnQoYyk7d2hpbGUoZ1tkXT09PWhbZF0pZCsrO3JldHVybiBkP2thKGdbZF0saFtkXSk6Z1tkXT09PXY/LTE6aFtkXT09PXY/MTowfSxuKTpufSxmYS5tYXRjaGVzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGZhKGEsbnVsbCxudWxsLGIpfSxmYS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oYSxiKXtpZigoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksYj1iLnJlcGxhY2UoVCwiPSckMSddIiksYy5tYXRjaGVzU2VsZWN0b3ImJnAmJiFBW2IrIiAiXSYmKCFyfHwhci50ZXN0KGIpKSYmKCFxfHwhcS50ZXN0KGIpKSl0cnl7dmFyIGQ9cy5jYWxsKGEsYik7aWYoZHx8Yy5kaXNjb25uZWN0ZWRNYXRjaHx8YS5kb2N1bWVudCYmMTEhPT1hLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiBkfWNhdGNoKGUpe31yZXR1cm4gZmEoYixuLG51bGwsW2FdKS5sZW5ndGg+MH0sZmEuY29udGFpbnM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksdChhLGIpfSxmYS5hdHRyPWZ1bmN0aW9uKGEsYil7KGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpO3ZhciBlPWQuYXR0ckhhbmRsZVtiLnRvTG93ZXJDYXNlKCldLGY9ZSYmRC5jYWxsKGQuYXR0ckhhbmRsZSxiLnRvTG93ZXJDYXNlKCkpP2UoYSxiLCFwKTp2b2lkIDA7cmV0dXJuIHZvaWQgMCE9PWY/ZjpjLmF0dHJpYnV0ZXN8fCFwP2EuZ2V0QXR0cmlidXRlKGIpOihmPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmYuc3BlY2lmaWVkP2YudmFsdWU6bnVsbH0sZmEuZXJyb3I9ZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKCJTeW50YXggZXJyb3IsIHVucmVjb2duaXplZCBleHByZXNzaW9uOiAiK2EpfSxmYS51bmlxdWVTb3J0PWZ1bmN0aW9uKGEpe3ZhciBiLGQ9W10sZT0wLGY9MDtpZihsPSFjLmRldGVjdER1cGxpY2F0ZXMsaz0hYy5zb3J0U3RhYmxlJiZhLnNsaWNlKDApLGEuc29ydChCKSxsKXt3aGlsZShiPWFbZisrXSliPT09YVtmXSYmKGU9ZC5wdXNoKGYpKTt3aGlsZShlLS0pYS5zcGxpY2UoZFtlXSwxKX1yZXR1cm4gaz1udWxsLGF9LGU9ZmEuZ2V0VGV4dD1mdW5jdGlvbihhKXt2YXIgYixjPSIiLGQ9MCxmPWEubm9kZVR5cGU7aWYoZil7aWYoMT09PWZ8fDk9PT1mfHwxMT09PWYpe2lmKCJzdHJpbmciPT10eXBlb2YgYS50ZXh0Q29udGVudClyZXR1cm4gYS50ZXh0Q29udGVudDtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpYys9ZShhKX1lbHNlIGlmKDM9PT1mfHw0PT09ZilyZXR1cm4gYS5ub2RlVmFsdWV9ZWxzZSB3aGlsZShiPWFbZCsrXSljKz1lKGIpO3JldHVybiBjfSxkPWZhLnNlbGVjdG9ycz17Y2FjaGVMZW5ndGg6NTAsY3JlYXRlUHNldWRvOmhhLG1hdGNoOlcsYXR0ckhhbmRsZTp7fSxmaW5kOnt9LHJlbGF0aXZlOnsiPiI6e2RpcjoicGFyZW50Tm9kZSIsZmlyc3Q6ITB9LCIgIjp7ZGlyOiJwYXJlbnROb2RlIn0sIisiOntkaXI6InByZXZpb3VzU2libGluZyIsZmlyc3Q6ITB9LCJ+Ijp7ZGlyOiJwcmV2aW91c1NpYmxpbmcifX0scHJlRmlsdGVyOntBVFRSOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0ucmVwbGFjZShiYSxjYSksYVszXT0oYVszXXx8YVs0XXx8YVs1XXx8IiIpLnJlcGxhY2UoYmEsY2EpLCJ+PSI9PT1hWzJdJiYoYVszXT0iICIrYVszXSsiICIpLGEuc2xpY2UoMCw0KX0sQ0hJTEQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGFbMV09YVsxXS50b0xvd2VyQ2FzZSgpLCJudGgiPT09YVsxXS5zbGljZSgwLDMpPyhhWzNdfHxmYS5lcnJvcihhWzBdKSxhWzRdPSsoYVs0XT9hWzVdKyhhWzZdfHwxKToyKigiZXZlbiI9PT1hWzNdfHwib2RkIj09PWFbM10pKSxhWzVdPSsoYVs3XSthWzhdfHwib2RkIj09PWFbM10pKTphWzNdJiZmYS5lcnJvcihhWzBdKSxhfSxQU0VVRE86ZnVuY3Rpb24oYSl7dmFyIGIsYz0hYVs2XSYmYVsyXTtyZXR1cm4gVy5DSElMRC50ZXN0KGFbMF0pP251bGw6KGFbM10/YVsyXT1hWzRdfHxhWzVdfHwiIjpjJiZVLnRlc3QoYykmJihiPWcoYywhMCkpJiYoYj1jLmluZGV4T2YoIikiLGMubGVuZ3RoLWIpLWMubGVuZ3RoKSYmKGFbMF09YVswXS5zbGljZSgwLGIpLGFbMl09Yy5zbGljZSgwLGIpKSxhLnNsaWNlKDAsMykpfX0sZmlsdGVyOntUQUc6ZnVuY3Rpb24oYSl7dmFyIGI9YS5yZXBsYWNlKGJhLGNhKS50b0xvd2VyQ2FzZSgpO3JldHVybiIqIj09PWE/ZnVuY3Rpb24oKXtyZXR1cm4hMH06ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZU5hbWUmJmEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWJ9fSxDTEFTUzpmdW5jdGlvbihhKXt2YXIgYj15W2ErIiAiXTtyZXR1cm4gYnx8KGI9bmV3IFJlZ0V4cCgiKF58IitMKyIpIithKyIoIitMKyJ8JCkiKSkmJnkoYSxmdW5jdGlvbihhKXtyZXR1cm4gYi50ZXN0KCJzdHJpbmciPT10eXBlb2YgYS5jbGFzc05hbWUmJmEuY2xhc3NOYW1lfHwidW5kZWZpbmVkIiE9dHlwZW9mIGEuZ2V0QXR0cmlidXRlJiZhLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpfSl9LEFUVFI6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmdW5jdGlvbihkKXt2YXIgZT1mYS5hdHRyKGQsYSk7cmV0dXJuIG51bGw9PWU/IiE9Ij09PWI6Yj8oZSs9IiIsIj0iPT09Yj9lPT09YzoiIT0iPT09Yj9lIT09YzoiXj0iPT09Yj9jJiYwPT09ZS5pbmRleE9mKGMpOiIqPSI9PT1iP2MmJmUuaW5kZXhPZihjKT4tMToiJD0iPT09Yj9jJiZlLnNsaWNlKC1jLmxlbmd0aCk9PT1jOiJ+PSI9PT1iPygiICIrZS5yZXBsYWNlKFAsIiAiKSsiICIpLmluZGV4T2YoYyk+LTE6Inw9Ij09PWI/ZT09PWN8fGUuc2xpY2UoMCxjLmxlbmd0aCsxKT09PWMrIi0iOiExKTohMH19LENISUxEOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9Im50aCIhPT1hLnNsaWNlKDAsMyksZz0ibGFzdCIhPT1hLnNsaWNlKC00KSxoPSJvZi10eXBlIj09PWI7cmV0dXJuIDE9PT1kJiYwPT09ZT9mdW5jdGlvbihhKXtyZXR1cm4hIWEucGFyZW50Tm9kZX06ZnVuY3Rpb24oYixjLGkpe3ZhciBqLGssbCxtLG4sbyxwPWYhPT1nPyJuZXh0U2libGluZyI6InByZXZpb3VzU2libGluZyIscT1iLnBhcmVudE5vZGUscj1oJiZiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkscz0haSYmIWgsdD0hMTtpZihxKXtpZihmKXt3aGlsZShwKXttPWI7d2hpbGUobT1tW3BdKWlmKGg/bS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09cjoxPT09bS5ub2RlVHlwZSlyZXR1cm4hMTtvPXA9Im9ubHkiPT09YSYmIW8mJiJuZXh0U2libGluZyJ9cmV0dXJuITB9aWYobz1bZz9xLmZpcnN0Q2hpbGQ6cS5sYXN0Q2hpbGRdLGcmJnMpe209cSxsPW1bdV18fChtW3VdPXt9KSxrPWxbbS51bmlxdWVJRF18fChsW20udW5pcXVlSURdPXt9KSxqPWtbYV18fFtdLG49alswXT09PXcmJmpbMV0sdD1uJiZqWzJdLG09biYmcS5jaGlsZE5vZGVzW25dO3doaWxlKG09KytuJiZtJiZtW3BdfHwodD1uPTApfHxvLnBvcCgpKWlmKDE9PT1tLm5vZGVUeXBlJiYrK3QmJm09PT1iKXtrW2FdPVt3LG4sdF07YnJlYWt9fWVsc2UgaWYocyYmKG09YixsPW1bdV18fChtW3VdPXt9KSxrPWxbbS51bmlxdWVJRF18fChsW20udW5pcXVlSURdPXt9KSxqPWtbYV18fFtdLG49alswXT09PXcmJmpbMV0sdD1uKSx0PT09ITEpd2hpbGUobT0rK24mJm0mJm1bcF18fCh0PW49MCl8fG8ucG9wKCkpaWYoKGg/bS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09cjoxPT09bS5ub2RlVHlwZSkmJisrdCYmKHMmJihsPW1bdV18fChtW3VdPXt9KSxrPWxbbS51bmlxdWVJRF18fChsW20udW5pcXVlSURdPXt9KSxrW2FdPVt3LHRdKSxtPT09YikpYnJlYWs7cmV0dXJuIHQtPWUsdD09PWR8fHQlZD09PTAmJnQvZD49MH19fSxQU0VVRE86ZnVuY3Rpb24oYSxiKXt2YXIgYyxlPWQucHNldWRvc1thXXx8ZC5zZXRGaWx0ZXJzW2EudG9Mb3dlckNhc2UoKV18fGZhLmVycm9yKCJ1bnN1cHBvcnRlZCBwc2V1ZG86ICIrYSk7cmV0dXJuIGVbdV0/ZShiKTplLmxlbmd0aD4xPyhjPVthLGEsIiIsYl0sZC5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KGEudG9Mb3dlckNhc2UoKSk/aGEoZnVuY3Rpb24oYSxjKXt2YXIgZCxmPWUoYSxiKSxnPWYubGVuZ3RoO3doaWxlKGctLSlkPUooYSxmW2ddKSxhW2RdPSEoY1tkXT1mW2ddKX0pOmZ1bmN0aW9uKGEpe3JldHVybiBlKGEsMCxjKX0pOmV9fSxwc2V1ZG9zOntub3Q6aGEoZnVuY3Rpb24oYSl7dmFyIGI9W10sYz1bXSxkPWgoYS5yZXBsYWNlKFEsIiQxIikpO3JldHVybiBkW3VdP2hhKGZ1bmN0aW9uKGEsYixjLGUpe3ZhciBmLGc9ZChhLG51bGwsZSxbXSksaD1hLmxlbmd0aDt3aGlsZShoLS0pKGY9Z1toXSkmJihhW2hdPSEoYltoXT1mKSl9KTpmdW5jdGlvbihhLGUsZil7cmV0dXJuIGJbMF09YSxkKGIsbnVsbCxmLGMpLGJbMF09bnVsbCwhYy5wb3AoKX19KSxoYXM6aGEoZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3JldHVybiBmYShhLGIpLmxlbmd0aD4wfX0pLGNvbnRhaW5zOmhhKGZ1bmN0aW9uKGEpe3JldHVybiBhPWEucmVwbGFjZShiYSxjYSksZnVuY3Rpb24oYil7cmV0dXJuKGIudGV4dENvbnRlbnR8fGIuaW5uZXJUZXh0fHxlKGIpKS5pbmRleE9mKGEpPi0xfX0pLGxhbmc6aGEoZnVuY3Rpb24oYSl7cmV0dXJuIFYudGVzdChhfHwiIil8fGZhLmVycm9yKCJ1bnN1cHBvcnRlZCBsYW5nOiAiK2EpLGE9YS5yZXBsYWNlKGJhLGNhKS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKGIpe3ZhciBjO2RvIGlmKGM9cD9iLmxhbmc6Yi5nZXRBdHRyaWJ1dGUoInhtbDpsYW5nIil8fGIuZ2V0QXR0cmlidXRlKCJsYW5nIikpcmV0dXJuIGM9Yy50b0xvd2VyQ2FzZSgpLGM9PT1hfHwwPT09Yy5pbmRleE9mKGErIi0iKTt3aGlsZSgoYj1iLnBhcmVudE5vZGUpJiYxPT09Yi5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKGIpe3ZhciBjPWEubG9jYXRpb24mJmEubG9jYXRpb24uaGFzaDtyZXR1cm4gYyYmYy5zbGljZSgxKT09PWIuaWR9LHJvb3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1vfSxmb2N1czpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW4uYWN0aXZlRWxlbWVudCYmKCFuLmhhc0ZvY3VzfHxuLmhhc0ZvY3VzKCkpJiYhIShhLnR5cGV8fGEuaHJlZnx8fmEudGFiSW5kZXgpfSxlbmFibGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc2FibGVkPT09ITF9LGRpc2FibGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc2FibGVkPT09ITB9LGNoZWNrZWQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1iJiYhIWEuY2hlY2tlZHx8Im9wdGlvbiI9PT1iJiYhIWEuc2VsZWN0ZWR9LHNlbGVjdGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LGEuc2VsZWN0ZWQ9PT0hMH0sZW1wdHk6ZnVuY3Rpb24oYSl7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWlmKGEubm9kZVR5cGU8NilyZXR1cm4hMTtyZXR1cm4hMH0scGFyZW50OmZ1bmN0aW9uKGEpe3JldHVybiFkLnBzZXVkb3MuZW1wdHkoYSl9LGhlYWRlcjpmdW5jdGlvbihhKXtyZXR1cm4gWS50ZXN0KGEubm9kZU5hbWUpfSxpbnB1dDpmdW5jdGlvbihhKXtyZXR1cm4gWC50ZXN0KGEubm9kZU5hbWUpfSxidXR0b246ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1iJiYiYnV0dG9uIj09PWEudHlwZXx8ImJ1dHRvbiI9PT1ifSx0ZXh0OmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiJpbnB1dCI9PT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJiJ0ZXh0Ij09PWEudHlwZSYmKG51bGw9PShiPWEuZ2V0QXR0cmlidXRlKCJ0eXBlIikpfHwidGV4dCI9PT1iLnRvTG93ZXJDYXNlKCkpfSxmaXJzdDpuYShmdW5jdGlvbigpe3JldHVyblswXX0pLGxhc3Q6bmEoZnVuY3Rpb24oYSxiKXtyZXR1cm5bYi0xXX0pLGVxOm5hKGZ1bmN0aW9uKGEsYixjKXtyZXR1cm5bMD5jP2MrYjpjXX0pLGV2ZW46bmEoZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtiPmM7Yys9MilhLnB1c2goYyk7cmV0dXJuIGF9KSxvZGQ6bmEoZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MTtiPmM7Yys9MilhLnB1c2goYyk7cmV0dXJuIGF9KSxsdDpuYShmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPTA+Yz9jK2I6YzstLWQ+PTA7KWEucHVzaChkKTtyZXR1cm4gYX0pLGd0Om5hKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOysrZDxiOylhLnB1c2goZCk7cmV0dXJuIGF9KX19LGQucHNldWRvcy5udGg9ZC5wc2V1ZG9zLmVxO2ZvcihiIGlue3JhZGlvOiEwLGNoZWNrYm94OiEwLGZpbGU6ITAscGFzc3dvcmQ6ITAsaW1hZ2U6ITB9KWQucHNldWRvc1tiXT1sYShiKTtmb3IoYiBpbntzdWJtaXQ6ITAscmVzZXQ6ITB9KWQucHNldWRvc1tiXT1tYShiKTtmdW5jdGlvbiBwYSgpe31wYS5wcm90b3R5cGU9ZC5maWx0ZXJzPWQucHNldWRvcyxkLnNldEZpbHRlcnM9bmV3IHBhLGc9ZmEudG9rZW5pemU9ZnVuY3Rpb24oYSxiKXt2YXIgYyxlLGYsZyxoLGksaixrPXpbYSsiICJdO2lmKGspcmV0dXJuIGI/MDprLnNsaWNlKDApO2g9YSxpPVtdLGo9ZC5wcmVGaWx0ZXI7d2hpbGUoaCl7YyYmIShlPVIuZXhlYyhoKSl8fChlJiYoaD1oLnNsaWNlKGVbMF0ubGVuZ3RoKXx8aCksaS5wdXNoKGY9W10pKSxjPSExLChlPVMuZXhlYyhoKSkmJihjPWUuc2hpZnQoKSxmLnB1c2goe3ZhbHVlOmMsdHlwZTplWzBdLnJlcGxhY2UoUSwiICIpfSksaD1oLnNsaWNlKGMubGVuZ3RoKSk7Zm9yKGcgaW4gZC5maWx0ZXIpIShlPVdbZ10uZXhlYyhoKSl8fGpbZ10mJiEoZT1qW2ddKGUpKXx8KGM9ZS5zaGlmdCgpLGYucHVzaCh7dmFsdWU6Yyx0eXBlOmcsbWF0Y2hlczplfSksaD1oLnNsaWNlKGMubGVuZ3RoKSk7aWYoIWMpYnJlYWt9cmV0dXJuIGI/aC5sZW5ndGg6aD9mYS5lcnJvcihhKTp6KGEsaSkuc2xpY2UoMCl9O2Z1bmN0aW9uIHFhKGEpe2Zvcih2YXIgYj0wLGM9YS5sZW5ndGgsZD0iIjtjPmI7YisrKWQrPWFbYl0udmFsdWU7cmV0dXJuIGR9ZnVuY3Rpb24gcmEoYSxiLGMpe3ZhciBkPWIuZGlyLGU9YyYmInBhcmVudE5vZGUiPT09ZCxmPXgrKztyZXR1cm4gYi5maXJzdD9mdW5jdGlvbihiLGMsZil7d2hpbGUoYj1iW2RdKWlmKDE9PT1iLm5vZGVUeXBlfHxlKXJldHVybiBhKGIsYyxmKX06ZnVuY3Rpb24oYixjLGcpe3ZhciBoLGksaixrPVt3LGZdO2lmKGcpe3doaWxlKGI9YltkXSlpZigoMT09PWIubm9kZVR5cGV8fGUpJiZhKGIsYyxnKSlyZXR1cm4hMH1lbHNlIHdoaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSl7aWYoaj1iW3VdfHwoYlt1XT17fSksaT1qW2IudW5pcXVlSURdfHwoaltiLnVuaXF1ZUlEXT17fSksKGg9aVtkXSkmJmhbMF09PT13JiZoWzFdPT09ZilyZXR1cm4ga1syXT1oWzJdO2lmKGlbZF09ayxrWzJdPWEoYixjLGcpKXJldHVybiEwfX19ZnVuY3Rpb24gc2EoYSl7cmV0dXJuIGEubGVuZ3RoPjE/ZnVuY3Rpb24oYixjLGQpe3ZhciBlPWEubGVuZ3RoO3doaWxlKGUtLSlpZighYVtlXShiLGMsZCkpcmV0dXJuITE7cmV0dXJuITB9OmFbMF19ZnVuY3Rpb24gdGEoYSxiLGMpe2Zvcih2YXIgZD0wLGU9Yi5sZW5ndGg7ZT5kO2QrKylmYShhLGJbZF0sYyk7cmV0dXJuIGN9ZnVuY3Rpb24gdWEoYSxiLGMsZCxlKXtmb3IodmFyIGYsZz1bXSxoPTAsaT1hLmxlbmd0aCxqPW51bGwhPWI7aT5oO2grKykoZj1hW2hdKSYmKGMmJiFjKGYsZCxlKXx8KGcucHVzaChmKSxqJiZiLnB1c2goaCkpKTtyZXR1cm4gZ31mdW5jdGlvbiB2YShhLGIsYyxkLGUsZil7cmV0dXJuIGQmJiFkW3VdJiYoZD12YShkKSksZSYmIWVbdV0mJihlPXZhKGUsZikpLGhhKGZ1bmN0aW9uKGYsZyxoLGkpe3ZhciBqLGssbCxtPVtdLG49W10sbz1nLmxlbmd0aCxwPWZ8fHRhKGJ8fCIqIixoLm5vZGVUeXBlP1toXTpoLFtdKSxxPSFhfHwhZiYmYj9wOnVhKHAsbSxhLGgsaSkscj1jP2V8fChmP2E6b3x8ZCk/W106ZzpxO2lmKGMmJmMocSxyLGgsaSksZCl7aj11YShyLG4pLGQoaixbXSxoLGkpLGs9ai5sZW5ndGg7d2hpbGUoay0tKShsPWpba10pJiYocltuW2tdXT0hKHFbbltrXV09bCkpfWlmKGYpe2lmKGV8fGEpe2lmKGUpe2o9W10saz1yLmxlbmd0aDt3aGlsZShrLS0pKGw9cltrXSkmJmoucHVzaChxW2tdPWwpO2UobnVsbCxyPVtdLGosaSl9az1yLmxlbmd0aDt3aGlsZShrLS0pKGw9cltrXSkmJihqPWU/SihmLGwpOm1ba10pPi0xJiYoZltqXT0hKGdbal09bCkpfX1lbHNlIHI9dWEocj09PWc/ci5zcGxpY2UobyxyLmxlbmd0aCk6ciksZT9lKG51bGwsZyxyLGkpOkguYXBwbHkoZyxyKX0pfWZ1bmN0aW9uIHdhKGEpe2Zvcih2YXIgYixjLGUsZj1hLmxlbmd0aCxnPWQucmVsYXRpdmVbYVswXS50eXBlXSxoPWd8fGQucmVsYXRpdmVbIiAiXSxpPWc/MTowLGs9cmEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1ifSxoLCEwKSxsPXJhKGZ1bmN0aW9uKGEpe3JldHVybiBKKGIsYSk+LTF9LGgsITApLG09W2Z1bmN0aW9uKGEsYyxkKXt2YXIgZT0hZyYmKGR8fGMhPT1qKXx8KChiPWMpLm5vZGVUeXBlP2soYSxjLGQpOmwoYSxjLGQpKTtyZXR1cm4gYj1udWxsLGV9XTtmPmk7aSsrKWlmKGM9ZC5yZWxhdGl2ZVthW2ldLnR5cGVdKW09W3JhKHNhKG0pLGMpXTtlbHNle2lmKGM9ZC5maWx0ZXJbYVtpXS50eXBlXS5hcHBseShudWxsLGFbaV0ubWF0Y2hlcyksY1t1XSl7Zm9yKGU9KytpO2Y+ZTtlKyspaWYoZC5yZWxhdGl2ZVthW2VdLnR5cGVdKWJyZWFrO3JldHVybiB2YShpPjEmJnNhKG0pLGk+MSYmcWEoYS5zbGljZSgwLGktMSkuY29uY2F0KHt2YWx1ZToiICI9PT1hW2ktMl0udHlwZT8iKiI6IiJ9KSkucmVwbGFjZShRLCIkMSIpLGMsZT5pJiZ3YShhLnNsaWNlKGksZSkpLGY+ZSYmd2EoYT1hLnNsaWNlKGUpKSxmPmUmJnFhKGEpKX1tLnB1c2goYyl9cmV0dXJuIHNhKG0pfWZ1bmN0aW9uIHhhKGEsYil7dmFyIGM9Yi5sZW5ndGg+MCxlPWEubGVuZ3RoPjAsZj1mdW5jdGlvbihmLGcsaCxpLGspe3ZhciBsLG8scSxyPTAscz0iMCIsdD1mJiZbXSx1PVtdLHY9aix4PWZ8fGUmJmQuZmluZC5UQUcoIioiLGspLHk9dys9bnVsbD09dj8xOk1hdGgucmFuZG9tKCl8fC4xLHo9eC5sZW5ndGg7Zm9yKGsmJihqPWc9PT1ufHxnfHxrKTtzIT09eiYmbnVsbCE9KGw9eFtzXSk7cysrKXtpZihlJiZsKXtvPTAsZ3x8bC5vd25lckRvY3VtZW50PT09bnx8KG0obCksaD0hcCk7d2hpbGUocT1hW28rK10paWYocShsLGd8fG4saCkpe2kucHVzaChsKTticmVha31rJiYodz15KX1jJiYoKGw9IXEmJmwpJiZyLS0sZiYmdC5wdXNoKGwpKX1pZihyKz1zLGMmJnMhPT1yKXtvPTA7d2hpbGUocT1iW28rK10pcSh0LHUsZyxoKTtpZihmKXtpZihyPjApd2hpbGUocy0tKXRbc118fHVbc118fCh1W3NdPUYuY2FsbChpKSk7dT11YSh1KX1ILmFwcGx5KGksdSksayYmIWYmJnUubGVuZ3RoPjAmJnIrYi5sZW5ndGg+MSYmZmEudW5pcXVlU29ydChpKX1yZXR1cm4gayYmKHc9eSxqPXYpLHR9O3JldHVybiBjP2hhKGYpOmZ9cmV0dXJuIGg9ZmEuY29tcGlsZT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1bXSxmPUFbYSsiICJdO2lmKCFmKXtifHwoYj1nKGEpKSxjPWIubGVuZ3RoO3doaWxlKGMtLSlmPXdhKGJbY10pLGZbdV0/ZC5wdXNoKGYpOmUucHVzaChmKTtmPUEoYSx4YShlLGQpKSxmLnNlbGVjdG9yPWF9cmV0dXJuIGZ9LGk9ZmEuc2VsZWN0PWZ1bmN0aW9uKGEsYixlLGYpe3ZhciBpLGosayxsLG0sbj0iZnVuY3Rpb24iPT10eXBlb2YgYSYmYSxvPSFmJiZnKGE9bi5zZWxlY3Rvcnx8YSk7aWYoZT1lfHxbXSwxPT09by5sZW5ndGgpe2lmKGo9b1swXT1vWzBdLnNsaWNlKDApLGoubGVuZ3RoPjImJiJJRCI9PT0oaz1qWzBdKS50eXBlJiZjLmdldEJ5SWQmJjk9PT1iLm5vZGVUeXBlJiZwJiZkLnJlbGF0aXZlW2pbMV0udHlwZV0pe2lmKGI9KGQuZmluZC5JRChrLm1hdGNoZXNbMF0ucmVwbGFjZShiYSxjYSksYil8fFtdKVswXSwhYilyZXR1cm4gZTtuJiYoYj1iLnBhcmVudE5vZGUpLGE9YS5zbGljZShqLnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1pPVcubmVlZHNDb250ZXh0LnRlc3QoYSk/MDpqLmxlbmd0aDt3aGlsZShpLS0pe2lmKGs9altpXSxkLnJlbGF0aXZlW2w9ay50eXBlXSlicmVhaztpZigobT1kLmZpbmRbbF0pJiYoZj1tKGsubWF0Y2hlc1swXS5yZXBsYWNlKGJhLGNhKSxfLnRlc3QoalswXS50eXBlKSYmb2EoYi5wYXJlbnROb2RlKXx8YikpKXtpZihqLnNwbGljZShpLDEpLGE9Zi5sZW5ndGgmJnFhKGopLCFhKXJldHVybiBILmFwcGx5KGUsZiksZTticmVha319fXJldHVybihufHxoKGEsbykpKGYsYiwhcCxlLCFifHxfLnRlc3QoYSkmJm9hKGIucGFyZW50Tm9kZSl8fGIpLGV9LGMuc29ydFN0YWJsZT11LnNwbGl0KCIiKS5zb3J0KEIpLmpvaW4oIiIpPT09dSxjLmRldGVjdER1cGxpY2F0ZXM9ISFsLG0oKSxjLnNvcnREZXRhY2hlZD1pYShmdW5jdGlvbihhKXtyZXR1cm4gMSZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4uY3JlYXRlRWxlbWVudCgiZGl2IikpfSksaWEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IiwiIyI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIil9KXx8amEoInR5cGV8aHJlZnxoZWlnaHR8d2lkdGgiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYz92b2lkIDA6YS5nZXRBdHRyaWJ1dGUoYiwidHlwZSI9PT1iLnRvTG93ZXJDYXNlKCk/MToyKX0pLGMuYXR0cmlidXRlcyYmaWEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8aW5wdXQvPiIsYS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSwiIj09PWEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoInZhbHVlIil9KXx8amEoInZhbHVlIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGN8fCJpbnB1dCIhPT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk/dm9pZCAwOmEuZGVmYXVsdFZhbHVlfSksaWEoZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWEuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpfSl8fGphKEssZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBjP3ZvaWQgMDphW2JdPT09ITA/Yi50b0xvd2VyQ2FzZSgpOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmQuc3BlY2lmaWVkP2QudmFsdWU6bnVsbH0pLGZhfShhKTtuLmZpbmQ9dCxuLmV4cHI9dC5zZWxlY3RvcnMsbi5leHByWyI6Il09bi5leHByLnBzZXVkb3Msbi51bmlxdWVTb3J0PW4udW5pcXVlPXQudW5pcXVlU29ydCxuLnRleHQ9dC5nZXRUZXh0LG4uaXNYTUxEb2M9dC5pc1hNTCxuLmNvbnRhaW5zPXQuY29udGFpbnM7dmFyIHU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9dm9pZCAwIT09Yzt3aGlsZSgoYT1hW2JdKSYmOSE9PWEubm9kZVR5cGUpaWYoMT09PWEubm9kZVR5cGUpe2lmKGUmJm4oYSkuaXMoYykpYnJlYWs7ZC5wdXNoKGEpfXJldHVybiBkfSx2PWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdO2E7YT1hLm5leHRTaWJsaW5nKTE9PT1hLm5vZGVUeXBlJiZhIT09YiYmYy5wdXNoKGEpO3JldHVybiBjfSx3PW4uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQseD0vXjwoW1x3LV0rKVxzKlwvPz4oPzo8XC9cMT58KSQvLHk9L14uW146I1xbXC4sXSokLztmdW5jdGlvbiB6KGEsYixjKXtpZihuLmlzRnVuY3Rpb24oYikpcmV0dXJuIG4uZ3JlcChhLGZ1bmN0aW9uKGEsZCl7cmV0dXJuISFiLmNhbGwoYSxkLGEpIT09Y30pO2lmKGIubm9kZVR5cGUpcmV0dXJuIG4uZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBhPT09YiE9PWN9KTtpZigic3RyaW5nIj09dHlwZW9mIGIpe2lmKHkudGVzdChiKSlyZXR1cm4gbi5maWx0ZXIoYixhLGMpO2I9bi5maWx0ZXIoYixhKX1yZXR1cm4gbi5ncmVwKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGguY2FsbChiLGEpPi0xIT09Y30pfW4uZmlsdGVyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iWzBdO3JldHVybiBjJiYoYT0iOm5vdCgiK2ErIikiKSwxPT09Yi5sZW5ndGgmJjE9PT1kLm5vZGVUeXBlP24uZmluZC5tYXRjaGVzU2VsZWN0b3IoZCxhKT9bZF06W106bi5maW5kLm1hdGNoZXMoYSxuLmdyZXAoYixmdW5jdGlvbihhKXtyZXR1cm4gMT09PWEubm9kZVR5cGV9KSl9LG4uZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKGEpe3ZhciBiLGM9dGhpcy5sZW5ndGgsZD1bXSxlPXRoaXM7aWYoInN0cmluZyIhPXR5cGVvZiBhKXJldHVybiB0aGlzLnB1c2hTdGFjayhuKGEpLmZpbHRlcihmdW5jdGlvbigpe2ZvcihiPTA7Yz5iO2IrKylpZihuLmNvbnRhaW5zKGVbYl0sdGhpcykpcmV0dXJuITB9KSk7Zm9yKGI9MDtjPmI7YisrKW4uZmluZChhLGVbYl0sZCk7cmV0dXJuIGQ9dGhpcy5wdXNoU3RhY2soYz4xP24udW5pcXVlKGQpOmQpLGQuc2VsZWN0b3I9dGhpcy5zZWxlY3Rvcj90aGlzLnNlbGVjdG9yKyIgIithOmEsZH0sZmlsdGVyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayh6KHRoaXMsYXx8W10sITEpKX0sbm90OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayh6KHRoaXMsYXx8W10sITApKX0saXM6ZnVuY3Rpb24oYSl7cmV0dXJuISF6KHRoaXMsInN0cmluZyI9PXR5cGVvZiBhJiZ3LnRlc3QoYSk/bihhKTphfHxbXSwhMSkubGVuZ3RofX0pO3ZhciBBLEI9L14oPzpccyooPFtcd1xXXSs+KVtePl0qfCMoW1x3LV0qKSkkLyxDPW4uZm4uaW5pdD1mdW5jdGlvbihhLGIsYyl7dmFyIGUsZjtpZighYSlyZXR1cm4gdGhpcztpZihjPWN8fEEsInN0cmluZyI9PXR5cGVvZiBhKXtpZihlPSI8Ij09PWFbMF0mJiI+Ij09PWFbYS5sZW5ndGgtMV0mJmEubGVuZ3RoPj0zP1tudWxsLGEsbnVsbF06Qi5leGVjKGEpLCFlfHwhZVsxXSYmYilyZXR1cm4hYnx8Yi5qcXVlcnk/KGJ8fGMpLmZpbmQoYSk6dGhpcy5jb25zdHJ1Y3RvcihiKS5maW5kKGEpO2lmKGVbMV0pe2lmKGI9YiBpbnN0YW5jZW9mIG4/YlswXTpiLG4ubWVyZ2UodGhpcyxuLnBhcnNlSFRNTChlWzFdLGImJmIubm9kZVR5cGU/Yi5vd25lckRvY3VtZW50fHxiOmQsITApKSx4LnRlc3QoZVsxXSkmJm4uaXNQbGFpbk9iamVjdChiKSlmb3IoZSBpbiBiKW4uaXNGdW5jdGlvbih0aGlzW2VdKT90aGlzW2VdKGJbZV0pOnRoaXMuYXR0cihlLGJbZV0pO3JldHVybiB0aGlzfXJldHVybiBmPWQuZ2V0RWxlbWVudEJ5SWQoZVsyXSksZiYmZi5wYXJlbnROb2RlJiYodGhpcy5sZW5ndGg9MSx0aGlzWzBdPWYpLHRoaXMuY29udGV4dD1kLHRoaXMuc2VsZWN0b3I9YSx0aGlzfXJldHVybiBhLm5vZGVUeXBlPyh0aGlzLmNvbnRleHQ9dGhpc1swXT1hLHRoaXMubGVuZ3RoPTEsdGhpcyk6bi5pc0Z1bmN0aW9uKGEpP3ZvaWQgMCE9PWMucmVhZHk/Yy5yZWFkeShhKTphKG4pOih2b2lkIDAhPT1hLnNlbGVjdG9yJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1hLmNvbnRleHQpLG4ubWFrZUFycmF5KGEsdGhpcykpfTtDLnByb3RvdHlwZT1uLmZuLEE9bihkKTt2YXIgRD0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyxFPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O24uZm4uZXh0ZW5kKHtoYXM6ZnVuY3Rpb24oYSl7dmFyIGI9bihhLHRoaXMpLGM9Yi5sZW5ndGg7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKHZhciBhPTA7Yz5hO2ErKylpZihuLmNvbnRhaW5zKHRoaXMsYlthXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYyxkPTAsZT10aGlzLmxlbmd0aCxmPVtdLGc9dy50ZXN0KGEpfHwic3RyaW5nIiE9dHlwZW9mIGE/bihhLGJ8fHRoaXMuY29udGV4dCk6MDtlPmQ7ZCsrKWZvcihjPXRoaXNbZF07YyYmYyE9PWI7Yz1jLnBhcmVudE5vZGUpaWYoYy5ub2RlVHlwZTwxMSYmKGc/Zy5pbmRleChjKT4tMToxPT09Yy5ub2RlVHlwZSYmbi5maW5kLm1hdGNoZXNTZWxlY3RvcihjLGEpKSl7Zi5wdXNoKGMpO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhmLmxlbmd0aD4xP24udW5pcXVlU29ydChmKTpmKX0saW5kZXg6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/InN0cmluZyI9PXR5cGVvZiBhP2guY2FsbChuKGEpLHRoaXNbMF0pOmguY2FsbCh0aGlzLGEuanF1ZXJ5P2FbMF06YSk6dGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlP3RoaXMuZmlyc3QoKS5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobi51bmlxdWVTb3J0KG4ubWVyZ2UodGhpcy5nZXQoKSxuKGEsYikpKSl9LGFkZEJhY2s6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PWE/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIoYSkpfX0pO2Z1bmN0aW9uIEYoYSxiKXt3aGlsZSgoYT1hW2JdKSYmMSE9PWEubm9kZVR5cGUpO3JldHVybiBhfW4uZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtyZXR1cm4gYiYmMTEhPT1iLm5vZGVUeXBlP2I6bnVsbH0scGFyZW50czpmdW5jdGlvbihhKXtyZXR1cm4gdShhLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHUoYSwicGFyZW50Tm9kZSIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEYoYSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gRihhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gdShhLCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKGEpe3JldHVybiB1KGEsInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB1KGEsIm5leHRTaWJsaW5nIixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdShhLCJwcmV2aW91c1NpYmxpbmciLGMpfSxzaWJsaW5nczpmdW5jdGlvbihhKXtyZXR1cm4gdigoYS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIHYoYS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY29udGVudERvY3VtZW50fHxuLm1lcmdlKFtdLGEuY2hpbGROb2Rlcyl9fSxmdW5jdGlvbihhLGIpe24uZm5bYV09ZnVuY3Rpb24oYyxkKXt2YXIgZT1uLm1hcCh0aGlzLGIsYyk7cmV0dXJuIlVudGlsIiE9PWEuc2xpY2UoLTUpJiYoZD1jKSxkJiYic3RyaW5nIj09dHlwZW9mIGQmJihlPW4uZmlsdGVyKGQsZSkpLHRoaXMubGVuZ3RoPjEmJihFW2FdfHxuLnVuaXF1ZVNvcnQoZSksRC50ZXN0KGEpJiZlLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEc9L1xTKy9nO2Z1bmN0aW9uIEgoYSl7dmFyIGI9e307cmV0dXJuIG4uZWFjaChhLm1hdGNoKEcpfHxbXSxmdW5jdGlvbihhLGMpe2JbY109ITB9KSxifW4uQ2FsbGJhY2tzPWZ1bmN0aW9uKGEpe2E9InN0cmluZyI9PXR5cGVvZiBhP0goYSk6bi5leHRlbmQoe30sYSk7dmFyIGIsYyxkLGUsZj1bXSxnPVtdLGg9LTEsaT1mdW5jdGlvbigpe2ZvcihlPWEub25jZSxkPWI9ITA7Zy5sZW5ndGg7aD0tMSl7Yz1nLnNoaWZ0KCk7d2hpbGUoKytoPGYubGVuZ3RoKWZbaF0uYXBwbHkoY1swXSxjWzFdKT09PSExJiZhLnN0b3BPbkZhbHNlJiYoaD1mLmxlbmd0aCxjPSExKX1hLm1lbW9yeXx8KGM9ITEpLGI9ITEsZSYmKGY9Yz9bXToiIil9LGo9e2FkZDpmdW5jdGlvbigpe3JldHVybiBmJiYoYyYmIWImJihoPWYubGVuZ3RoLTEsZy5wdXNoKGMpKSxmdW5jdGlvbiBkKGIpe24uZWFjaChiLGZ1bmN0aW9uKGIsYyl7bi5pc0Z1bmN0aW9uKGMpP2EudW5pcXVlJiZqLmhhcyhjKXx8Zi5wdXNoKGMpOmMmJmMubGVuZ3RoJiYic3RyaW5nIiE9PW4udHlwZShjKSYmZChjKX0pfShhcmd1bWVudHMpLGMmJiFiJiZpKCkpLHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiBuLmVhY2goYXJndW1lbnRzLGZ1bmN0aW9uKGEsYil7dmFyIGM7d2hpbGUoKGM9bi5pbkFycmF5KGIsZixjKSk+LTEpZi5zcGxpY2UoYywxKSxoPj1jJiZoLS19KSx0aGlzfSxoYXM6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bi5pbkFycmF5KGEsZik+LTE6Zi5sZW5ndGg+MH0sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gZiYmKGY9W10pLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gZT1nPVtdLGY9Yz0iIix0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFmfSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGU9Zz1bXSxjfHwoZj1jPSIiKSx0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWV9LGZpcmVXaXRoOmZ1bmN0aW9uKGEsYyl7cmV0dXJuIGV8fChjPWN8fFtdLGM9W2EsYy5zbGljZT9jLnNsaWNlKCk6Y10sZy5wdXNoKGMpLGJ8fGkoKSksdGhpc30sZmlyZTpmdW5jdGlvbigpe3JldHVybiBqLmZpcmVXaXRoKHRoaXMsYXJndW1lbnRzKSx0aGlzfSxmaXJlZDpmdW5jdGlvbigpe3JldHVybiEhZH19O3JldHVybiBqfSxuLmV4dGVuZCh7RGVmZXJyZWQ6ZnVuY3Rpb24oYSl7dmFyIGI9W1sicmVzb2x2ZSIsImRvbmUiLG4uQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCJyZXNvbHZlZCJdLFsicmVqZWN0IiwiZmFpbCIsbi5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksInJlamVjdGVkIl0sWyJub3RpZnkiLCJwcm9ncmVzcyIsbi5DYWxsYmFja3MoIm1lbW9yeSIpXV0sYz0icGVuZGluZyIsZD17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIGUuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSx0aGVuOmZ1bmN0aW9uKCl7dmFyIGE9YXJndW1lbnRzO3JldHVybiBuLkRlZmVycmVkKGZ1bmN0aW9uKGMpe24uZWFjaChiLGZ1bmN0aW9uKGIsZil7dmFyIGc9bi5pc0Z1bmN0aW9uKGFbYl0pJiZhW2JdO2VbZlsxXV0oZnVuY3Rpb24oKXt2YXIgYT1nJiZnLmFwcGx5KHRoaXMsYXJndW1lbnRzKTthJiZuLmlzRnVuY3Rpb24oYS5wcm9taXNlKT9hLnByb21pc2UoKS5wcm9ncmVzcyhjLm5vdGlmeSkuZG9uZShjLnJlc29sdmUpLmZhaWwoYy5yZWplY3QpOmNbZlswXSsiV2l0aCJdKHRoaXM9PT1kP2MucHJvbWlzZSgpOnRoaXMsZz9bYV06YXJndW1lbnRzKX0pfSksYT1udWxsfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKGEpe3JldHVybiBudWxsIT1hP24uZXh0ZW5kKGEsZCk6ZH19LGU9e307cmV0dXJuIGQucGlwZT1kLnRoZW4sbi5lYWNoKGIsZnVuY3Rpb24oYSxmKXt2YXIgZz1mWzJdLGg9ZlszXTtkW2ZbMV1dPWcuYWRkLGgmJmcuYWRkKGZ1bmN0aW9uKCl7Yz1ofSxiWzFeYV1bMl0uZGlzYWJsZSxiWzJdWzJdLmxvY2spLGVbZlswXV09ZnVuY3Rpb24oKXtyZXR1cm4gZVtmWzBdKyJXaXRoIl0odGhpcz09PWU/ZDp0aGlzLGFyZ3VtZW50cyksdGhpc30sZVtmWzBdKyJXaXRoIl09Zy5maXJlV2l0aH0pLGQucHJvbWlzZShlKSxhJiZhLmNhbGwoZSxlKSxlfSx3aGVuOmZ1bmN0aW9uKGEpe3ZhciBiPTAsYz1lLmNhbGwoYXJndW1lbnRzKSxkPWMubGVuZ3RoLGY9MSE9PWR8fGEmJm4uaXNGdW5jdGlvbihhLnByb21pc2UpP2Q6MCxnPTE9PT1mP2E6bi5EZWZlcnJlZCgpLGg9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmdW5jdGlvbihkKXtiW2FdPXRoaXMsY1thXT1hcmd1bWVudHMubGVuZ3RoPjE/ZS5jYWxsKGFyZ3VtZW50cyk6ZCxjPT09aT9nLm5vdGlmeVdpdGgoYixjKTotLWZ8fGcucmVzb2x2ZVdpdGgoYixjKX19LGksaixrO2lmKGQ+MSlmb3IoaT1uZXcgQXJyYXkoZCksaj1uZXcgQXJyYXkoZCksaz1uZXcgQXJyYXkoZCk7ZD5iO2IrKyljW2JdJiZuLmlzRnVuY3Rpb24oY1tiXS5wcm9taXNlKT9jW2JdLnByb21pc2UoKS5wcm9ncmVzcyhoKGIsaixpKSkuZG9uZShoKGIsayxjKSkuZmFpbChnLnJlamVjdCk6LS1mO3JldHVybiBmfHxnLnJlc29sdmVXaXRoKGssYyksZy5wcm9taXNlKCl9fSk7dmFyIEk7bi5mbi5yZWFkeT1mdW5jdGlvbihhKXtyZXR1cm4gbi5yZWFkeS5wcm9taXNlKCkuZG9uZShhKSx0aGlzfSxuLmV4dGVuZCh7aXNSZWFkeTohMSxyZWFkeVdhaXQ6MSxob2xkUmVhZHk6ZnVuY3Rpb24oYSl7YT9uLnJlYWR5V2FpdCsrOm4ucmVhZHkoITApfSxyZWFkeTpmdW5jdGlvbihhKXsoYT09PSEwPy0tbi5yZWFkeVdhaXQ6bi5pc1JlYWR5KXx8KG4uaXNSZWFkeT0hMCxhIT09ITAmJi0tbi5yZWFkeVdhaXQ+MHx8KEkucmVzb2x2ZVdpdGgoZCxbbl0pLG4uZm4udHJpZ2dlckhhbmRsZXImJihuKGQpLnRyaWdnZXJIYW5kbGVyKCJyZWFkeSIpLG4oZCkub2ZmKCJyZWFkeSIpKSkpfX0pO2Z1bmN0aW9uIEooKXtkLnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEopLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsSiksbi5yZWFkeSgpfW4ucmVhZHkucHJvbWlzZT1mdW5jdGlvbihiKXtyZXR1cm4gSXx8KEk9bi5EZWZlcnJlZCgpLCJjb21wbGV0ZSI9PT1kLnJlYWR5U3RhdGV8fCJsb2FkaW5nIiE9PWQucmVhZHlTdGF0ZSYmIWQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsP2Euc2V0VGltZW91dChuLnJlYWR5KTooZC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixKKSxhLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLEopKSksSS5wcm9taXNlKGIpfSxuLnJlYWR5LnByb21pc2UoKTt2YXIgSz1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD0wLGk9YS5sZW5ndGgsaj1udWxsPT1jO2lmKCJvYmplY3QiPT09bi50eXBlKGMpKXtlPSEwO2ZvcihoIGluIGMpSyhhLGIsaCxjW2hdLCEwLGYsZyl9ZWxzZSBpZih2b2lkIDAhPT1kJiYoZT0hMCxuLmlzRnVuY3Rpb24oZCl8fChnPSEwKSxqJiYoZz8oYi5jYWxsKGEsZCksYj1udWxsKTooaj1iLGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqLmNhbGwobihhKSxjKX0pKSxiKSlmb3IoO2k+aDtoKyspYihhW2hdLGMsZz9kOmQuY2FsbChhW2hdLGgsYihhW2hdLGMpKSk7cmV0dXJuIGU/YTpqP2IuY2FsbChhKTppP2IoYVswXSxjKTpmfSxMPWZ1bmN0aW9uKGEpe3JldHVybiAxPT09YS5ub2RlVHlwZXx8OT09PWEubm9kZVR5cGV8fCErYS5ub2RlVHlwZX07ZnVuY3Rpb24gTSgpe3RoaXMuZXhwYW5kbz1uLmV4cGFuZG8rTS51aWQrK31NLnVpZD0xLE0ucHJvdG90eXBlPXtyZWdpc3RlcjpmdW5jdGlvbihhLGIpe3ZhciBjPWJ8fHt9O3JldHVybiBhLm5vZGVUeXBlP2FbdGhpcy5leHBhbmRvXT1jOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLHRoaXMuZXhwYW5kbyx7dmFsdWU6Yyx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxhW3RoaXMuZXhwYW5kb119LGNhY2hlOmZ1bmN0aW9uKGEpe2lmKCFMKGEpKXJldHVybnt9O3ZhciBiPWFbdGhpcy5leHBhbmRvXTtyZXR1cm4gYnx8KGI9e30sTChhKSYmKGEubm9kZVR5cGU/YVt0aGlzLmV4cGFuZG9dPWI6T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsdGhpcy5leHBhbmRvLHt2YWx1ZTpiLGNvbmZpZ3VyYWJsZTohMH0pKSksYn0sc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPXRoaXMuY2FjaGUoYSk7aWYoInN0cmluZyI9PXR5cGVvZiBiKWVbYl09YztlbHNlIGZvcihkIGluIGIpZVtkXT1iW2RdO3JldHVybiBlfSxnZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdm9pZCAwPT09Yj90aGlzLmNhY2hlKGEpOmFbdGhpcy5leHBhbmRvXSYmYVt0aGlzLmV4cGFuZG9dW2JdfSxhY2Nlc3M6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiB2b2lkIDA9PT1ifHxiJiYic3RyaW5nIj09dHlwZW9mIGImJnZvaWQgMD09PWM/KGQ9dGhpcy5nZXQoYSxiKSx2b2lkIDAhPT1kP2Q6dGhpcy5nZXQoYSxuLmNhbWVsQ2FzZShiKSkpOih0aGlzLnNldChhLGIsYyksdm9pZCAwIT09Yz9jOmIpfSxyZW1vdmU6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj1hW3RoaXMuZXhwYW5kb107aWYodm9pZCAwIT09Zil7aWYodm9pZCAwPT09Yil0aGlzLnJlZ2lzdGVyKGEpO2Vsc2V7bi5pc0FycmF5KGIpP2Q9Yi5jb25jYXQoYi5tYXAobi5jYW1lbENhc2UpKTooZT1uLmNhbWVsQ2FzZShiKSxiIGluIGY/ZD1bYixlXTooZD1lLGQ9ZCBpbiBmP1tkXTpkLm1hdGNoKEcpfHxbXSkpLGM9ZC5sZW5ndGg7d2hpbGUoYy0tKWRlbGV0ZSBmW2RbY11dfSh2b2lkIDA9PT1ifHxuLmlzRW1wdHlPYmplY3QoZikpJiYoYS5ub2RlVHlwZT9hW3RoaXMuZXhwYW5kb109dm9pZCAwOmRlbGV0ZSBhW3RoaXMuZXhwYW5kb10pfX0saGFzRGF0YTpmdW5jdGlvbihhKXt2YXIgYj1hW3RoaXMuZXhwYW5kb107cmV0dXJuIHZvaWQgMCE9PWImJiFuLmlzRW1wdHlPYmplY3QoYil9fTt2YXIgTj1uZXcgTSxPPW5ldyBNLFA9L14oPzpce1tcd1xXXSpcfXxcW1tcd1xXXSpcXSkkLyxRPS9bQS1aXS9nO2Z1bmN0aW9uIFIoYSxiLGMpe3ZhciBkO2lmKHZvaWQgMD09PWMmJjE9PT1hLm5vZGVUeXBlKWlmKGQ9ImRhdGEtIitiLnJlcGxhY2UoUSwiLSQmIikudG9Mb3dlckNhc2UoKSxjPWEuZ2V0QXR0cmlidXRlKGQpLCJzdHJpbmciPT10eXBlb2YgYyl7dHJ5e2M9InRydWUiPT09Yz8hMDoiZmFsc2UiPT09Yz8hMToibnVsbCI9PT1jP251bGw6K2MrIiI9PT1jPytjOlAudGVzdChjKT9uLnBhcnNlSlNPTihjKTpjO31jYXRjaChlKXt9Ty5zZXQoYSxiLGMpfWVsc2UgYz12b2lkIDA7cmV0dXJuIGN9bi5leHRlbmQoe2hhc0RhdGE6ZnVuY3Rpb24oYSl7cmV0dXJuIE8uaGFzRGF0YShhKXx8Ti5oYXNEYXRhKGEpfSxkYXRhOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gTy5hY2Nlc3MoYSxiLGMpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7Ty5yZW1vdmUoYSxiKX0sX2RhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBOLmFjY2VzcyhhLGIsYyl9LF9yZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7Ti5yZW1vdmUoYSxiKX19KSxuLmZuLmV4dGVuZCh7ZGF0YTpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmPXRoaXNbMF0sZz1mJiZmLmF0dHJpYnV0ZXM7aWYodm9pZCAwPT09YSl7aWYodGhpcy5sZW5ndGgmJihlPU8uZ2V0KGYpLDE9PT1mLm5vZGVUeXBlJiYhTi5nZXQoZiwiaGFzRGF0YUF0dHJzIikpKXtjPWcubGVuZ3RoO3doaWxlKGMtLSlnW2NdJiYoZD1nW2NdLm5hbWUsMD09PWQuaW5kZXhPZigiZGF0YS0iKSYmKGQ9bi5jYW1lbENhc2UoZC5zbGljZSg1KSksUihmLGQsZVtkXSkpKTtOLnNldChmLCJoYXNEYXRhQXR0cnMiLCEwKX1yZXR1cm4gZX1yZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGE/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7Ty5zZXQodGhpcyxhKX0pOksodGhpcyxmdW5jdGlvbihiKXt2YXIgYyxkO2lmKGYmJnZvaWQgMD09PWIpe2lmKGM9Ty5nZXQoZixhKXx8Ty5nZXQoZixhLnJlcGxhY2UoUSwiLSQmIikudG9Mb3dlckNhc2UoKSksdm9pZCAwIT09YylyZXR1cm4gYztpZihkPW4uY2FtZWxDYXNlKGEpLGM9Ty5nZXQoZixkKSx2b2lkIDAhPT1jKXJldHVybiBjO2lmKGM9UihmLGQsdm9pZCAwKSx2b2lkIDAhPT1jKXJldHVybiBjfWVsc2UgZD1uLmNhbWVsQ2FzZShhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1PLmdldCh0aGlzLGQpO08uc2V0KHRoaXMsZCxiKSxhLmluZGV4T2YoIi0iKT4tMSYmdm9pZCAwIT09YyYmTy5zZXQodGhpcyxhLGIpfSl9LG51bGwsYixhcmd1bWVudHMubGVuZ3RoPjEsbnVsbCwhMCl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe08ucmVtb3ZlKHRoaXMsYSl9KX19KSxuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBhPyhiPShifHwiZngiKSsicXVldWUiLGQ9Ti5nZXQoYSxiKSxjJiYoIWR8fG4uaXNBcnJheShjKT9kPU4uYWNjZXNzKGEsYixuLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKSxkfHxbXSk6dm9pZCAwfSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBjPW4ucXVldWUoYSxiKSxkPWMubGVuZ3RoLGU9Yy5zaGlmdCgpLGY9bi5fcXVldWVIb29rcyhhLGIpLGc9ZnVuY3Rpb24oKXtuLmRlcXVldWUoYSxiKX07ImlucHJvZ3Jlc3MiPT09ZSYmKGU9Yy5zaGlmdCgpLGQtLSksZSYmKCJmeCI9PT1iJiZjLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgZi5zdG9wLGUuY2FsbChhLGcsZikpLCFkJiZmJiZmLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKyJxdWV1ZUhvb2tzIjtyZXR1cm4gTi5nZXQoYSxjKXx8Ti5hY2Nlc3MoYSxjLHtlbXB0eTpuLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKS5hZGQoZnVuY3Rpb24oKXtOLnJlbW92ZShhLFtiKyJxdWV1ZSIsY10pfSl9KX19KSxuLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiKXt2YXIgYz0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPSJmeCIsYy0tKSxhcmd1bWVudHMubGVuZ3RoPGM/bi5xdWV1ZSh0aGlzWzBdLGEpOnZvaWQgMD09PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1uLnF1ZXVlKHRoaXMsYSxiKTtuLl9xdWV1ZUhvb2tzKHRoaXMsYSksImZ4Ij09PWEmJiJpbnByb2dyZXNzIiE9PWNbMF0mJm4uZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe24uZGVxdWV1ZSh0aGlzLGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9LHByb21pc2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTEsZT1uLkRlZmVycmVkKCksZj10aGlzLGc9dGhpcy5sZW5ndGgsaD1mdW5jdGlvbigpey0tZHx8ZS5yZXNvbHZlV2l0aChmLFtmXSl9OyJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPXZvaWQgMCksYT1hfHwiZngiO3doaWxlKGctLSljPU4uZ2V0KGZbZ10sYSsicXVldWVIb29rcyIpLGMmJmMuZW1wdHkmJihkKyssYy5lbXB0eS5hZGQoaCkpO3JldHVybiBoKCksZS5wcm9taXNlKGIpfX0pO3ZhciBTPS9bKy1dPyg/OlxkKlwufClcZCsoPzpbZUVdWystXT9cZCt8KS8uc291cmNlLFQ9bmV3IFJlZ0V4cCgiXig/OihbKy1dKT18KSgiK1MrIikoW2EteiVdKikkIiwiaSIpLFU9WyJUb3AiLCJSaWdodCIsIkJvdHRvbSIsIkxlZnQiXSxWPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9Ynx8YSwibm9uZSI9PT1uLmNzcyhhLCJkaXNwbGF5Iil8fCFuLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKX07ZnVuY3Rpb24gVyhhLGIsYyxkKXt2YXIgZSxmPTEsZz0yMCxoPWQ/ZnVuY3Rpb24oKXtyZXR1cm4gZC5jdXIoKX06ZnVuY3Rpb24oKXtyZXR1cm4gbi5jc3MoYSxiLCIiKX0saT1oKCksaj1jJiZjWzNdfHwobi5jc3NOdW1iZXJbYl0/IiI6InB4Iiksaz0obi5jc3NOdW1iZXJbYl18fCJweCIhPT1qJiYraSkmJlQuZXhlYyhuLmNzcyhhLGIpKTtpZihrJiZrWzNdIT09ail7aj1qfHxrWzNdLGM9Y3x8W10saz0raXx8MTtkbyBmPWZ8fCIuNSIsay89ZixuLnN0eWxlKGEsYixrK2opO3doaWxlKGYhPT0oZj1oKCkvaSkmJjEhPT1mJiYtLWcpfXJldHVybiBjJiYoaz0ra3x8K2l8fDAsZT1jWzFdP2srKGNbMV0rMSkqY1syXTorY1syXSxkJiYoZC51bml0PWosZC5zdGFydD1rLGQuZW5kPWUpKSxlfXZhciBYPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pLFk9LzwoW1x3Oi1dKykvLFo9L14kfFwvKD86amF2YXxlY21hKXNjcmlwdC9pLCQ9e29wdGlvbjpbMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdLHRoZWFkOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sX2RlZmF1bHQ6WzAsIiIsIiJdfTskLm9wdGdyb3VwPSQub3B0aW9uLCQudGJvZHk9JC50Zm9vdD0kLmNvbGdyb3VwPSQuY2FwdGlvbj0kLnRoZWFkLCQudGg9JC50ZDtmdW5jdGlvbiBfKGEsYil7dmFyIGM9InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lP2EuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYnx8IioiKToidW5kZWZpbmVkIiE9dHlwZW9mIGEucXVlcnlTZWxlY3RvckFsbD9hLnF1ZXJ5U2VsZWN0b3JBbGwoYnx8IioiKTpbXTtyZXR1cm4gdm9pZCAwPT09Ynx8YiYmbi5ub2RlTmFtZShhLGIpP24ubWVyZ2UoW2FdLGMpOmN9ZnVuY3Rpb24gYWEoYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspTi5zZXQoYVtjXSwiZ2xvYmFsRXZhbCIsIWJ8fE4uZ2V0KGJbY10sImdsb2JhbEV2YWwiKSl9dmFyIGJhPS88fCYjP1x3KzsvO2Z1bmN0aW9uIGNhKGEsYixjLGQsZSl7Zm9yKHZhciBmLGcsaCxpLGosayxsPWIuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLG09W10sbz0wLHA9YS5sZW5ndGg7cD5vO28rKylpZihmPWFbb10sZnx8MD09PWYpaWYoIm9iamVjdCI9PT1uLnR5cGUoZikpbi5tZXJnZShtLGYubm9kZVR5cGU/W2ZdOmYpO2Vsc2UgaWYoYmEudGVzdChmKSl7Zz1nfHxsLmFwcGVuZENoaWxkKGIuY3JlYXRlRWxlbWVudCgiZGl2IikpLGg9KFkuZXhlYyhmKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxpPSRbaF18fCQuX2RlZmF1bHQsZy5pbm5lckhUTUw9aVsxXStuLmh0bWxQcmVmaWx0ZXIoZikraVsyXSxrPWlbMF07d2hpbGUoay0tKWc9Zy5sYXN0Q2hpbGQ7bi5tZXJnZShtLGcuY2hpbGROb2RlcyksZz1sLmZpcnN0Q2hpbGQsZy50ZXh0Q29udGVudD0iIn1lbHNlIG0ucHVzaChiLmNyZWF0ZVRleHROb2RlKGYpKTtsLnRleHRDb250ZW50PSIiLG89MDt3aGlsZShmPW1bbysrXSlpZihkJiZuLmluQXJyYXkoZixkKT4tMSllJiZlLnB1c2goZik7ZWxzZSBpZihqPW4uY29udGFpbnMoZi5vd25lckRvY3VtZW50LGYpLGc9XyhsLmFwcGVuZENoaWxkKGYpLCJzY3JpcHQiKSxqJiZhYShnKSxjKXtrPTA7d2hpbGUoZj1nW2srK10pWi50ZXN0KGYudHlwZXx8IiIpJiZjLnB1c2goZil9cmV0dXJuIGx9IWZ1bmN0aW9uKCl7dmFyIGE9ZC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksYj1hLmFwcGVuZENoaWxkKGQuY3JlYXRlRWxlbWVudCgiZGl2IikpLGM9ZC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Muc2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSxjLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsImNoZWNrZWQiKSxjLnNldEF0dHJpYnV0ZSgibmFtZSIsInQiKSxiLmFwcGVuZENoaWxkKGMpLGwuY2hlY2tDbG9uZT1iLmNsb25lTm9kZSghMCkuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuY2hlY2tlZCxiLmlubmVySFRNTD0iPHRleHRhcmVhPng8L3RleHRhcmVhPiIsbC5ub0Nsb25lQ2hlY2tlZD0hIWIuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuZGVmYXVsdFZhbHVlfSgpO3ZhciBkYT0vXmtleS8sZWE9L14oPzptb3VzZXxwb2ludGVyfGNvbnRleHRtZW51fGRyYWd8ZHJvcCl8Y2xpY2svLGZhPS9eKFteLl0qKSg/OlwuKC4rKXwpLztmdW5jdGlvbiBnYSgpe3JldHVybiEwfWZ1bmN0aW9uIGhhKCl7cmV0dXJuITF9ZnVuY3Rpb24gaWEoKXt0cnl7cmV0dXJuIGQuYWN0aXZlRWxlbWVudH1jYXRjaChhKXt9fWZ1bmN0aW9uIGphKGEsYixjLGQsZSxmKXt2YXIgZyxoO2lmKCJvYmplY3QiPT10eXBlb2YgYil7InN0cmluZyIhPXR5cGVvZiBjJiYoZD1kfHxjLGM9dm9pZCAwKTtmb3IoaCBpbiBiKWphKGEsaCxjLGQsYltoXSxmKTtyZXR1cm4gYX1pZihudWxsPT1kJiZudWxsPT1lPyhlPWMsZD1jPXZvaWQgMCk6bnVsbD09ZSYmKCJzdHJpbmciPT10eXBlb2YgYz8oZT1kLGQ9dm9pZCAwKTooZT1kLGQ9YyxjPXZvaWQgMCkpLGU9PT0hMSllPWhhO2Vsc2UgaWYoIWUpcmV0dXJuIGE7cmV0dXJuIDE9PT1mJiYoZz1lLGU9ZnVuY3Rpb24oYSl7cmV0dXJuIG4oKS5vZmYoYSksZy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUuZ3VpZD1nLmd1aWR8fChnLmd1aWQ9bi5ndWlkKyspKSxhLmVhY2goZnVuY3Rpb24oKXtuLmV2ZW50LmFkZCh0aGlzLGIsZSxkLGMpfSl9bi5ldmVudD17Z2xvYmFsOnt9LGFkZDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGcsaCxpLGosayxsLG0sbyxwLHEscj1OLmdldChhKTtpZihyKXtjLmhhbmRsZXImJihmPWMsYz1mLmhhbmRsZXIsZT1mLnNlbGVjdG9yKSxjLmd1aWR8fChjLmd1aWQ9bi5ndWlkKyspLChpPXIuZXZlbnRzKXx8KGk9ci5ldmVudHM9e30pLChnPXIuaGFuZGxlKXx8KGc9ci5oYW5kbGU9ZnVuY3Rpb24oYil7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBuJiZuLmV2ZW50LnRyaWdnZXJlZCE9PWIudHlwZT9uLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGEsYXJndW1lbnRzKTp2b2lkIDB9KSxiPShifHwiIikubWF0Y2goRyl8fFsiIl0saj1iLmxlbmd0aDt3aGlsZShqLS0paD1mYS5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyYmKGw9bi5ldmVudC5zcGVjaWFsW29dfHx7fSxvPShlP2wuZGVsZWdhdGVUeXBlOmwuYmluZFR5cGUpfHxvLGw9bi5ldmVudC5zcGVjaWFsW29dfHx7fSxrPW4uZXh0ZW5kKHt0eXBlOm8sb3JpZ1R5cGU6cSxkYXRhOmQsaGFuZGxlcjpjLGd1aWQ6Yy5ndWlkLHNlbGVjdG9yOmUsbmVlZHNDb250ZXh0OmUmJm4uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChlKSxuYW1lc3BhY2U6cC5qb2luKCIuIil9LGYpLChtPWlbb10pfHwobT1pW29dPVtdLG0uZGVsZWdhdGVDb3VudD0wLGwuc2V0dXAmJmwuc2V0dXAuY2FsbChhLGQscCxnKSE9PSExfHxhLmFkZEV2ZW50TGlzdGVuZXImJmEuYWRkRXZlbnRMaXN0ZW5lcihvLGcpKSxsLmFkZCYmKGwuYWRkLmNhbGwoYSxrKSxrLmhhbmRsZXIuZ3VpZHx8KGsuaGFuZGxlci5ndWlkPWMuZ3VpZCkpLGU/bS5zcGxpY2UobS5kZWxlZ2F0ZUNvdW50KyssMCxrKTptLnB1c2goayksbi5ldmVudC5nbG9iYWxbb109ITApfX0scmVtb3ZlOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGksaixrLGwsbSxvLHAscSxyPU4uaGFzRGF0YShhKSYmTi5nZXQoYSk7aWYociYmKGk9ci5ldmVudHMpKXtiPShifHwiIikubWF0Y2goRyl8fFsiIl0saj1iLmxlbmd0aDt3aGlsZShqLS0paWYoaD1mYS5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyl7bD1uLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGQ/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG8sbT1pW29dfHxbXSxoPWhbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK3Auam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksZz1mPW0ubGVuZ3RoO3doaWxlKGYtLSlrPW1bZl0sIWUmJnEhPT1rLm9yaWdUeXBlfHxjJiZjLmd1aWQhPT1rLmd1aWR8fGgmJiFoLnRlc3Qoay5uYW1lc3BhY2UpfHxkJiZkIT09ay5zZWxlY3RvciYmKCIqKiIhPT1kfHwhay5zZWxlY3Rvcil8fChtLnNwbGljZShmLDEpLGsuc2VsZWN0b3ImJm0uZGVsZWdhdGVDb3VudC0tLGwucmVtb3ZlJiZsLnJlbW92ZS5jYWxsKGEsaykpO2cmJiFtLmxlbmd0aCYmKGwudGVhcmRvd24mJmwudGVhcmRvd24uY2FsbChhLHAsci5oYW5kbGUpIT09ITF8fG4ucmVtb3ZlRXZlbnQoYSxvLHIuaGFuZGxlKSxkZWxldGUgaVtvXSl9ZWxzZSBmb3IobyBpbiBpKW4uZXZlbnQucmVtb3ZlKGEsbytiW2pdLGMsZCwhMCk7bi5pc0VtcHR5T2JqZWN0KGkpJiZOLnJlbW92ZShhLCJoYW5kbGUgZXZlbnRzIil9fSxkaXNwYXRjaDpmdW5jdGlvbihhKXthPW4uZXZlbnQuZml4KGEpO3ZhciBiLGMsZCxmLGcsaD1bXSxpPWUuY2FsbChhcmd1bWVudHMpLGo9KE4uZ2V0KHRoaXMsImV2ZW50cyIpfHx7fSlbYS50eXBlXXx8W10saz1uLmV2ZW50LnNwZWNpYWxbYS50eXBlXXx8e307aWYoaVswXT1hLGEuZGVsZWdhdGVUYXJnZXQ9dGhpcywhay5wcmVEaXNwYXRjaHx8ay5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsYSkhPT0hMSl7aD1uLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyxhLGopLGI9MDt3aGlsZSgoZj1oW2IrK10pJiYhYS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXthLmN1cnJlbnRUYXJnZXQ9Zi5lbGVtLGM9MDt3aGlsZSgoZz1mLmhhbmRsZXJzW2MrK10pJiYhYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKWEucm5hbWVzcGFjZSYmIWEucm5hbWVzcGFjZS50ZXN0KGcubmFtZXNwYWNlKXx8KGEuaGFuZGxlT2JqPWcsYS5kYXRhPWcuZGF0YSxkPSgobi5ldmVudC5zcGVjaWFsW2cub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxnLmhhbmRsZXIpLmFwcGx5KGYuZWxlbSxpKSx2b2lkIDAhPT1kJiYoYS5yZXN1bHQ9ZCk9PT0hMSYmKGEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGsucG9zdERpc3BhdGNoJiZrLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsYSksYS5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc9W10saD1iLmRlbGVnYXRlQ291bnQsaT1hLnRhcmdldDtpZihoJiZpLm5vZGVUeXBlJiYoImNsaWNrIiE9PWEudHlwZXx8aXNOYU4oYS5idXR0b24pfHxhLmJ1dHRvbjwxKSlmb3IoO2khPT10aGlzO2k9aS5wYXJlbnROb2RlfHx0aGlzKWlmKDE9PT1pLm5vZGVUeXBlJiYoaS5kaXNhYmxlZCE9PSEwfHwiY2xpY2siIT09YS50eXBlKSl7Zm9yKGQ9W10sYz0wO2g+YztjKyspZj1iW2NdLGU9Zi5zZWxlY3RvcisiICIsdm9pZCAwPT09ZFtlXSYmKGRbZV09Zi5uZWVkc0NvbnRleHQ/bihlLHRoaXMpLmluZGV4KGkpPi0xOm4uZmluZChlLHRoaXMsbnVsbCxbaV0pLmxlbmd0aCksZFtlXSYmZC5wdXNoKGYpO2QubGVuZ3RoJiZnLnB1c2goe2VsZW06aSxoYW5kbGVyczpkfSl9cmV0dXJuIGg8Yi5sZW5ndGgmJmcucHVzaCh7ZWxlbTp0aGlzLGhhbmRsZXJzOmIuc2xpY2UoaCl9KSxnfSxwcm9wczoiYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZGV0YWlsIGV2ZW50UGhhc2UgbWV0YUtleSByZWxhdGVkVGFyZ2V0IHNoaWZ0S2V5IHRhcmdldCB0aW1lU3RhbXAgdmlldyB3aGljaCIuc3BsaXQoIiAiKSxmaXhIb29rczp7fSxrZXlIb29rczp7cHJvcHM6ImNoYXIgY2hhckNvZGUga2V5IGtleUNvZGUiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIG51bGw9PWEud2hpY2gmJihhLndoaWNoPW51bGwhPWIuY2hhckNvZGU/Yi5jaGFyQ29kZTpiLmtleUNvZGUpLGF9fSxtb3VzZUhvb2tzOntwcm9wczoiYnV0dG9uIGJ1dHRvbnMgY2xpZW50WCBjbGllbnRZIG9mZnNldFggb2Zmc2V0WSBwYWdlWCBwYWdlWSBzY3JlZW5YIHNjcmVlblkgdG9FbGVtZW50Ii5zcGxpdCgiICIpLGZpbHRlcjpmdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnPWIuYnV0dG9uO3JldHVybiBudWxsPT1hLnBhZ2VYJiZudWxsIT1iLmNsaWVudFgmJihjPWEudGFyZ2V0Lm93bmVyRG9jdW1lbnR8fGQsZT1jLmRvY3VtZW50RWxlbWVudCxmPWMuYm9keSxhLnBhZ2VYPWIuY2xpZW50WCsoZSYmZS5zY3JvbGxMZWZ0fHxmJiZmLnNjcm9sbExlZnR8fDApLShlJiZlLmNsaWVudExlZnR8fGYmJmYuY2xpZW50TGVmdHx8MCksYS5wYWdlWT1iLmNsaWVudFkrKGUmJmUuc2Nyb2xsVG9wfHxmJiZmLnNjcm9sbFRvcHx8MCktKGUmJmUuY2xpZW50VG9wfHxmJiZmLmNsaWVudFRvcHx8MCkpLGEud2hpY2h8fHZvaWQgMD09PWd8fChhLndoaWNoPTEmZz8xOjImZz8zOjQmZz8yOjApLGF9fSxmaXg6ZnVuY3Rpb24oYSl7aWYoYVtuLmV4cGFuZG9dKXJldHVybiBhO3ZhciBiLGMsZSxmPWEudHlwZSxnPWEsaD10aGlzLmZpeEhvb2tzW2ZdO2h8fCh0aGlzLmZpeEhvb2tzW2ZdPWg9ZWEudGVzdChmKT90aGlzLm1vdXNlSG9va3M6ZGEudGVzdChmKT90aGlzLmtleUhvb2tzOnt9KSxlPWgucHJvcHM/dGhpcy5wcm9wcy5jb25jYXQoaC5wcm9wcyk6dGhpcy5wcm9wcyxhPW5ldyBuLkV2ZW50KGcpLGI9ZS5sZW5ndGg7d2hpbGUoYi0tKWM9ZVtiXSxhW2NdPWdbY107cmV0dXJuIGEudGFyZ2V0fHwoYS50YXJnZXQ9ZCksMz09PWEudGFyZ2V0Lm5vZGVUeXBlJiYoYS50YXJnZXQ9YS50YXJnZXQucGFyZW50Tm9kZSksaC5maWx0ZXI/aC5maWx0ZXIoYSxnKTphfSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sZm9jdXM6e3RyaWdnZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcyE9PWlhKCkmJnRoaXMuZm9jdXM/KHRoaXMuZm9jdXMoKSwhMSk6dm9pZCAwfSxkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM9PT1pYSgpJiZ0aGlzLmJsdXI/KHRoaXMuYmx1cigpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZToiZm9jdXNvdXQifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiJjaGVja2JveCI9PT10aGlzLnR5cGUmJnRoaXMuY2xpY2smJm4ubm9kZU5hbWUodGhpcywiaW5wdXQiKT8odGhpcy5jbGljaygpLCExKTp2b2lkIDB9LF9kZWZhdWx0OmZ1bmN0aW9uKGEpe3JldHVybiBuLm5vZGVOYW1lKGEudGFyZ2V0LCJhIil9fSxiZWZvcmV1bmxvYWQ6e3Bvc3REaXNwYXRjaDpmdW5jdGlvbihhKXt2b2lkIDAhPT1hLnJlc3VsdCYmYS5vcmlnaW5hbEV2ZW50JiYoYS5vcmlnaW5hbEV2ZW50LnJldHVyblZhbHVlPWEucmVzdWx0KX19fX0sbi5yZW1vdmVFdmVudD1mdW5jdGlvbihhLGIsYyl7YS5yZW1vdmVFdmVudExpc3RlbmVyJiZhLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixjKX0sbi5FdmVudD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzIGluc3RhbmNlb2Ygbi5FdmVudD8oYSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09YS5kZWZhdWx0UHJldmVudGVkJiZhLnJldHVyblZhbHVlPT09ITE/Z2E6aGEpOnRoaXMudHlwZT1hLGImJm4uZXh0ZW5kKHRoaXMsYiksdGhpcy50aW1lU3RhbXA9YSYmYS50aW1lU3RhbXB8fG4ubm93KCksdm9pZCh0aGlzW24uZXhwYW5kb109ITApKTpuZXcgbi5FdmVudChhLGIpfSxuLkV2ZW50LnByb3RvdHlwZT17Y29uc3RydWN0b3I6bi5FdmVudCxpc0RlZmF1bHRQcmV2ZW50ZWQ6aGEsaXNQcm9wYWdhdGlvblN0b3BwZWQ6aGEsaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6aGEscHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9Z2EsYSYmYS5wcmV2ZW50RGVmYXVsdCgpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1nYSxhJiZhLnN0b3BQcm9wYWdhdGlvbigpfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1nYSxhJiZhLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHRoaXMuc3RvcFByb3BhZ2F0aW9uKCl9fSxuLmVhY2goe21vdXNlZW50ZXI6Im1vdXNlb3ZlciIsbW91c2VsZWF2ZToibW91c2VvdXQiLHBvaW50ZXJlbnRlcjoicG9pbnRlcm92ZXIiLHBvaW50ZXJsZWF2ZToicG9pbnRlcm91dCJ9LGZ1bmN0aW9uKGEsYil7bi5ldmVudC5zcGVjaWFsW2FdPXtkZWxlZ2F0ZVR5cGU6YixiaW5kVHlwZTpiLGhhbmRsZTpmdW5jdGlvbihhKXt2YXIgYyxkPXRoaXMsZT1hLnJlbGF0ZWRUYXJnZXQsZj1hLmhhbmRsZU9iajtyZXR1cm4gZSYmKGU9PT1kfHxuLmNvbnRhaW5zKGQsZSkpfHwoYS50eXBlPWYub3JpZ1R5cGUsYz1mLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGEudHlwZT1iKSxjfX19KSxuLmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGphKHRoaXMsYSxiLGMsZCl9LG9uZTpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gamEodGhpcyxhLGIsYyxkLDEpfSxvZmY6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU7aWYoYSYmYS5wcmV2ZW50RGVmYXVsdCYmYS5oYW5kbGVPYmopcmV0dXJuIGQ9YS5oYW5kbGVPYmosbihhLmRlbGVnYXRlVGFyZ2V0KS5vZmYoZC5uYW1lc3BhY2U/ZC5vcmlnVHlwZSsiLiIrZC5uYW1lc3BhY2U6ZC5vcmlnVHlwZSxkLnNlbGVjdG9yLGQuaGFuZGxlciksdGhpcztpZigib2JqZWN0Ij09dHlwZW9mIGEpe2ZvcihlIGluIGEpdGhpcy5vZmYoZSxiLGFbZV0pO3JldHVybiB0aGlzfXJldHVybiBiIT09ITEmJiJmdW5jdGlvbiIhPXR5cGVvZiBifHwoYz1iLGI9dm9pZCAwKSxjPT09ITEmJihjPWhhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXtuLmV2ZW50LnJlbW92ZSh0aGlzLGEsYyxiKX0pfX0pO3ZhciBrYT0vPCg/IWFyZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1dHxsaW5rfG1ldGF8cGFyYW0pKChbXHc6LV0rKVtePl0qKVwvPi9naSxsYT0vPHNjcmlwdHw8c3R5bGV8PGxpbmsvaSxtYT0vY2hlY2tlZFxzKig/OltePV18PVxzKi5jaGVja2VkLikvaSxuYT0vXnRydWVcLyguKikvLG9hPS9eXHMqPCEoPzpcW0NEQVRBXFt8LS0pfCg/OlxdXF18LS0pPlxzKiQvZztmdW5jdGlvbiBwYShhLGIpe3JldHVybiBuLm5vZGVOYW1lKGEsInRhYmxlIikmJm4ubm9kZU5hbWUoMTEhPT1iLm5vZGVUeXBlP2I6Yi5maXJzdENoaWxkLCJ0ciIpP2EuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IilbMF18fGEuYXBwZW5kQ2hpbGQoYS5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5IikpOmF9ZnVuY3Rpb24gcWEoYSl7cmV0dXJuIGEudHlwZT0obnVsbCE9PWEuZ2V0QXR0cmlidXRlKCJ0eXBlIikpKyIvIithLnR5cGUsYX1mdW5jdGlvbiByYShhKXt2YXIgYj1uYS5leGVjKGEudHlwZSk7cmV0dXJuIGI/YS50eXBlPWJbMV06YS5yZW1vdmVBdHRyaWJ1dGUoInR5cGUiKSxhfWZ1bmN0aW9uIHNhKGEsYil7dmFyIGMsZCxlLGYsZyxoLGksajtpZigxPT09Yi5ub2RlVHlwZSl7aWYoTi5oYXNEYXRhKGEpJiYoZj1OLmFjY2VzcyhhKSxnPU4uc2V0KGIsZiksaj1mLmV2ZW50cykpe2RlbGV0ZSBnLmhhbmRsZSxnLmV2ZW50cz17fTtmb3IoZSBpbiBqKWZvcihjPTAsZD1qW2VdLmxlbmd0aDtkPmM7YysrKW4uZXZlbnQuYWRkKGIsZSxqW2VdW2NdKX1PLmhhc0RhdGEoYSkmJihoPU8uYWNjZXNzKGEpLGk9bi5leHRlbmQoe30saCksTy5zZXQoYixpKSl9fWZ1bmN0aW9uIHRhKGEsYil7dmFyIGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOyJpbnB1dCI9PT1jJiZYLnRlc3QoYS50eXBlKT9iLmNoZWNrZWQ9YS5jaGVja2VkOiJpbnB1dCIhPT1jJiYidGV4dGFyZWEiIT09Y3x8KGIuZGVmYXVsdFZhbHVlPWEuZGVmYXVsdFZhbHVlKX1mdW5jdGlvbiB1YShhLGIsYyxkKXtiPWYuYXBwbHkoW10sYik7dmFyIGUsZyxoLGksaixrLG09MCxvPWEubGVuZ3RoLHA9by0xLHE9YlswXSxyPW4uaXNGdW5jdGlvbihxKTtpZihyfHxvPjEmJiJzdHJpbmciPT10eXBlb2YgcSYmIWwuY2hlY2tDbG9uZSYmbWEudGVzdChxKSlyZXR1cm4gYS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBmPWEuZXEoZSk7ciYmKGJbMF09cS5jYWxsKHRoaXMsZSxmLmh0bWwoKSkpLHVhKGYsYixjLGQpfSk7aWYobyYmKGU9Y2EoYixhWzBdLm93bmVyRG9jdW1lbnQsITEsYSxkKSxnPWUuZmlyc3RDaGlsZCwxPT09ZS5jaGlsZE5vZGVzLmxlbmd0aCYmKGU9ZyksZ3x8ZCkpe2ZvcihoPW4ubWFwKF8oZSwic2NyaXB0IikscWEpLGk9aC5sZW5ndGg7bz5tO20rKylqPWUsbSE9PXAmJihqPW4uY2xvbmUoaiwhMCwhMCksaSYmbi5tZXJnZShoLF8oaiwic2NyaXB0IikpKSxjLmNhbGwoYVttXSxqLG0pO2lmKGkpZm9yKGs9aFtoLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LG4ubWFwKGgscmEpLG09MDtpPm07bSsrKWo9aFttXSxaLnRlc3Qoai50eXBlfHwiIikmJiFOLmFjY2VzcyhqLCJnbG9iYWxFdmFsIikmJm4uY29udGFpbnMoayxqKSYmKGouc3JjP24uX2V2YWxVcmwmJm4uX2V2YWxVcmwoai5zcmMpOm4uZ2xvYmFsRXZhbChqLnRleHRDb250ZW50LnJlcGxhY2Uob2EsIiIpKSl9cmV0dXJuIGF9ZnVuY3Rpb24gdmEoYSxiLGMpe2Zvcih2YXIgZCxlPWI/bi5maWx0ZXIoYixhKTphLGY9MDtudWxsIT0oZD1lW2ZdKTtmKyspY3x8MSE9PWQubm9kZVR5cGV8fG4uY2xlYW5EYXRhKF8oZCkpLGQucGFyZW50Tm9kZSYmKGMmJm4uY29udGFpbnMoZC5vd25lckRvY3VtZW50LGQpJiZhYShfKGQsInNjcmlwdCIpKSxkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCkpO3JldHVybiBhfW4uZXh0ZW5kKHtodG1sUHJlZmlsdGVyOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2Uoa2EsIjwkMT48LyQyPiIpfSxjbG9uZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLmNsb25lTm9kZSghMCksaT1uLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKTtpZighKGwubm9DbG9uZUNoZWNrZWR8fDEhPT1hLm5vZGVUeXBlJiYxMSE9PWEubm9kZVR5cGV8fG4uaXNYTUxEb2MoYSkpKWZvcihnPV8oaCksZj1fKGEpLGQ9MCxlPWYubGVuZ3RoO2U+ZDtkKyspdGEoZltkXSxnW2RdKTtpZihiKWlmKGMpZm9yKGY9Znx8XyhhKSxnPWd8fF8oaCksZD0wLGU9Zi5sZW5ndGg7ZT5kO2QrKylzYShmW2RdLGdbZF0pO2Vsc2Ugc2EoYSxoKTtyZXR1cm4gZz1fKGgsInNjcmlwdCIpLGcubGVuZ3RoPjAmJmFhKGcsIWkmJl8oYSwic2NyaXB0IikpLGh9LGNsZWFuRGF0YTpmdW5jdGlvbihhKXtmb3IodmFyIGIsYyxkLGU9bi5ldmVudC5zcGVjaWFsLGY9MDt2b2lkIDAhPT0oYz1hW2ZdKTtmKyspaWYoTChjKSl7aWYoYj1jW04uZXhwYW5kb10pe2lmKGIuZXZlbnRzKWZvcihkIGluIGIuZXZlbnRzKWVbZF0/bi5ldmVudC5yZW1vdmUoYyxkKTpuLnJlbW92ZUV2ZW50KGMsZCxiLmhhbmRsZSk7Y1tOLmV4cGFuZG9dPXZvaWQgMH1jW08uZXhwYW5kb10mJihjW08uZXhwYW5kb109dm9pZCAwKX19fSksbi5mbi5leHRlbmQoe2RvbU1hbmlwOnVhLGRldGFjaDpmdW5jdGlvbihhKXtyZXR1cm4gdmEodGhpcyxhLCEwKX0scmVtb3ZlOmZ1bmN0aW9uKGEpe3JldHVybiB2YSh0aGlzLGEpfSx0ZXh0OmZ1bmN0aW9uKGEpe3JldHVybiBLKHRoaXMsZnVuY3Rpb24oYSl7cmV0dXJuIHZvaWQgMD09PWE/bi50ZXh0KHRoaXMpOnRoaXMuZW1wdHkoKS5lYWNoKGZ1bmN0aW9uKCl7MSE9PXRoaXMubm9kZVR5cGUmJjExIT09dGhpcy5ub2RlVHlwZSYmOSE9PXRoaXMubm9kZVR5cGV8fCh0aGlzLnRleHRDb250ZW50PWEpfSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHVhKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGEpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgYj1wYSh0aGlzLGEpO2IuYXBwZW5kQ2hpbGQoYSl9fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdWEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPXBhKHRoaXMsYSk7Yi5pbnNlcnRCZWZvcmUoYSxiLmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gdWEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdWEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcy5uZXh0U2libGluZyl9KX0sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGEsYj0wO251bGwhPShhPXRoaXNbYl0pO2IrKykxPT09YS5ub2RlVHlwZSYmKG4uY2xlYW5EYXRhKF8oYSwhMSkpLGEudGV4dENvbnRlbnQ9IiIpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihhLGIpe3JldHVybiBhPW51bGw9PWE/ITE6YSxiPW51bGw9PWI/YTpiLHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIG4uY2xvbmUodGhpcyxhLGIpfSl9LGh0bWw6ZnVuY3Rpb24oYSl7cmV0dXJuIEsodGhpcyxmdW5jdGlvbihhKXt2YXIgYj10aGlzWzBdfHx7fSxjPTAsZD10aGlzLmxlbmd0aDtpZih2b2lkIDA9PT1hJiYxPT09Yi5ub2RlVHlwZSlyZXR1cm4gYi5pbm5lckhUTUw7aWYoInN0cmluZyI9PXR5cGVvZiBhJiYhbGEudGVzdChhKSYmISRbKFkuZXhlYyhhKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2E9bi5odG1sUHJlZmlsdGVyKGEpO3RyeXtmb3IoO2Q+YztjKyspYj10aGlzW2NdfHx7fSwxPT09Yi5ub2RlVHlwZSYmKG4uY2xlYW5EYXRhKF8oYiwhMSkpLGIuaW5uZXJIVE1MPWEpO2I9MH1jYXRjaChlKXt9fWImJnRoaXMuZW1wdHkoKS5hcHBlbmQoYSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24oKXt2YXIgYT1bXTtyZXR1cm4gdWEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5wYXJlbnROb2RlO24uaW5BcnJheSh0aGlzLGEpPDAmJihuLmNsZWFuRGF0YShfKHRoaXMpKSxjJiZjLnJlcGxhY2VDaGlsZChiLHRoaXMpKX0sYSl9fSksbi5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oYSxiKXtuLmZuW2FdPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkPVtdLGU9bihhKSxmPWUubGVuZ3RoLTEsaD0wO2Y+PWg7aCsrKWM9aD09PWY/dGhpczp0aGlzLmNsb25lKCEwKSxuKGVbaF0pW2JdKGMpLGcuYXBwbHkoZCxjLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZCl9fSk7dmFyIHdhLHhhPXtIVE1MOiJibG9jayIsQk9EWToiYmxvY2sifTtmdW5jdGlvbiB5YShhLGIpe3ZhciBjPW4oYi5jcmVhdGVFbGVtZW50KGEpKS5hcHBlbmRUbyhiLmJvZHkpLGQ9bi5jc3MoY1swXSwiZGlzcGxheSIpO3JldHVybiBjLmRldGFjaCgpLGR9ZnVuY3Rpb24gemEoYSl7dmFyIGI9ZCxjPXhhW2FdO3JldHVybiBjfHwoYz15YShhLGIpLCJub25lIiE9PWMmJmN8fCh3YT0od2F8fG4oIjxpZnJhbWUgZnJhbWVib3JkZXI9JzAnIHdpZHRoPScwJyBoZWlnaHQ9JzAnLz4iKSkuYXBwZW5kVG8oYi5kb2N1bWVudEVsZW1lbnQpLGI9d2FbMF0uY29udGVudERvY3VtZW50LGIud3JpdGUoKSxiLmNsb3NlKCksYz15YShhLGIpLHdhLmRldGFjaCgpKSx4YVthXT1jKSxjfXZhciBBYT0vXm1hcmdpbi8sQmE9bmV3IFJlZ0V4cCgiXigiK1MrIikoPyFweClbYS16JV0rJCIsImkiKSxDYT1mdW5jdGlvbihiKXt2YXIgYz1iLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7cmV0dXJuIGMmJmMub3BlbmVyfHwoYz1hKSxjLmdldENvbXB1dGVkU3R5bGUoYil9LERhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZz17fTtmb3IoZiBpbiBiKWdbZl09YS5zdHlsZVtmXSxhLnN0eWxlW2ZdPWJbZl07ZT1jLmFwcGx5KGEsZHx8W10pO2ZvcihmIGluIGIpYS5zdHlsZVtmXT1nW2ZdO3JldHVybiBlfSxFYT1kLmRvY3VtZW50RWxlbWVudDshZnVuY3Rpb24oKXt2YXIgYixjLGUsZixnPWQuY3JlYXRlRWxlbWVudCgiZGl2IiksaD1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKGguc3R5bGUpe2guc3R5bGUuYmFja2dyb3VuZENsaXA9ImNvbnRlbnQtYm94IixoLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9IiIsbC5jbGVhckNsb25lU3R5bGU9ImNvbnRlbnQtYm94Ij09PWguc3R5bGUuYmFja2dyb3VuZENsaXAsZy5zdHlsZS5jc3NUZXh0PSJib3JkZXI6MDt3aWR0aDo4cHg7aGVpZ2h0OjA7dG9wOjA7bGVmdDotOTk5OXB4O3BhZGRpbmc6MDttYXJnaW4tdG9wOjFweDtwb3NpdGlvbjphYnNvbHV0ZSIsZy5hcHBlbmRDaGlsZChoKTtmdW5jdGlvbiBpKCl7aC5zdHlsZS5jc3NUZXh0PSItd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazttYXJnaW46YXV0bztib3JkZXI6MXB4O3BhZGRpbmc6MXB4O3RvcDoxJTt3aWR0aDo1MCUiLGguaW5uZXJIVE1MPSIiLEVhLmFwcGVuZENoaWxkKGcpO3ZhciBkPWEuZ2V0Q29tcHV0ZWRTdHlsZShoKTtiPSIxJSIhPT1kLnRvcCxmPSIycHgiPT09ZC5tYXJnaW5MZWZ0LGM9IjRweCI9PT1kLndpZHRoLGguc3R5bGUubWFyZ2luUmlnaHQ9IjUwJSIsZT0iNHB4Ij09PWQubWFyZ2luUmlnaHQsRWEucmVtb3ZlQ2hpbGQoZyl9bi5leHRlbmQobCx7cGl4ZWxQb3NpdGlvbjpmdW5jdGlvbigpe3JldHVybiBpKCksYn0sYm94U2l6aW5nUmVsaWFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09YyYmaSgpLGN9LHBpeGVsTWFyZ2luUmlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09YyYmaSgpLGV9LHJlbGlhYmxlTWFyZ2luTGVmdDpmdW5jdGlvbigpe3JldHVybiBudWxsPT1jJiZpKCksZn0scmVsaWFibGVNYXJnaW5SaWdodDpmdW5jdGlvbigpe3ZhciBiLGM9aC5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoImRpdiIpKTtyZXR1cm4gYy5zdHlsZS5jc3NUZXh0PWguc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7ZGlzcGxheTpibG9jazttYXJnaW46MDtib3JkZXI6MDtwYWRkaW5nOjAiLGMuc3R5bGUubWFyZ2luUmlnaHQ9Yy5zdHlsZS53aWR0aD0iMCIsaC5zdHlsZS53aWR0aD0iMXB4IixFYS5hcHBlbmRDaGlsZChnKSxiPSFwYXJzZUZsb2F0KGEuZ2V0Q29tcHV0ZWRTdHlsZShjKS5tYXJnaW5SaWdodCksRWEucmVtb3ZlQ2hpbGQoZyksaC5yZW1vdmVDaGlsZChjKSxifX0pfX0oKTtmdW5jdGlvbiBGYShhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fENhKGEpLGc9Yz9jLmdldFByb3BlcnR5VmFsdWUoYil8fGNbYl06dm9pZCAwLCIiIT09ZyYmdm9pZCAwIT09Z3x8bi5jb250YWlucyhhLm93bmVyRG9jdW1lbnQsYSl8fChnPW4uc3R5bGUoYSxiKSksYyYmIWwucGl4ZWxNYXJnaW5SaWdodCgpJiZCYS50ZXN0KGcpJiZBYS50ZXN0KGIpJiYoZD1oLndpZHRoLGU9aC5taW5XaWR0aCxmPWgubWF4V2lkdGgsaC5taW5XaWR0aD1oLm1heFdpZHRoPWgud2lkdGg9ZyxnPWMud2lkdGgsaC53aWR0aD1kLGgubWluV2lkdGg9ZSxoLm1heFdpZHRoPWYpLHZvaWQgMCE9PWc/ZysiIjpnfWZ1bmN0aW9uIEdhKGEsYil7cmV0dXJue2dldDpmdW5jdGlvbigpe3JldHVybiBhKCk/dm9pZCBkZWxldGUgdGhpcy5nZXQ6KHRoaXMuZ2V0PWIpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19fXZhciBIYT0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sSWE9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LEphPXtsZXR0ZXJTcGFjaW5nOiIwIixmb250V2VpZ2h0OiI0MDAifSxLYT1bIldlYmtpdCIsIk8iLCJNb3oiLCJtcyJdLExhPWQuY3JlYXRlRWxlbWVudCgiZGl2Iikuc3R5bGU7ZnVuY3Rpb24gTWEoYSl7aWYoYSBpbiBMYSlyZXR1cm4gYTt2YXIgYj1hWzBdLnRvVXBwZXJDYXNlKCkrYS5zbGljZSgxKSxjPUthLmxlbmd0aDt3aGlsZShjLS0paWYoYT1LYVtjXStiLGEgaW4gTGEpcmV0dXJuIGF9ZnVuY3Rpb24gTmEoYSxiLGMpe3ZhciBkPVQuZXhlYyhiKTtyZXR1cm4gZD9NYXRoLm1heCgwLGRbMl0tKGN8fDApKSsoZFszXXx8InB4Iik6Yn1mdW5jdGlvbiBPYShhLGIsYyxkLGUpe2Zvcih2YXIgZj1jPT09KGQ/ImJvcmRlciI6ImNvbnRlbnQiKT80OiJ3aWR0aCI9PT1iPzE6MCxnPTA7ND5mO2YrPTIpIm1hcmdpbiI9PT1jJiYoZys9bi5jc3MoYSxjK1VbZl0sITAsZSkpLGQ/KCJjb250ZW50Ij09PWMmJihnLT1uLmNzcyhhLCJwYWRkaW5nIitVW2ZdLCEwLGUpKSwibWFyZ2luIiE9PWMmJihnLT1uLmNzcyhhLCJib3JkZXIiK1VbZl0rIldpZHRoIiwhMCxlKSkpOihnKz1uLmNzcyhhLCJwYWRkaW5nIitVW2ZdLCEwLGUpLCJwYWRkaW5nIiE9PWMmJihnKz1uLmNzcyhhLCJib3JkZXIiK1VbZl0rIldpZHRoIiwhMCxlKSkpO3JldHVybiBnfWZ1bmN0aW9uIFBhKGIsYyxlKXt2YXIgZj0hMCxnPSJ3aWR0aCI9PT1jP2Iub2Zmc2V0V2lkdGg6Yi5vZmZzZXRIZWlnaHQsaD1DYShiKSxpPSJib3JkZXItYm94Ij09PW4uY3NzKGIsImJveFNpemluZyIsITEsaCk7aWYoZC5tc0Z1bGxzY3JlZW5FbGVtZW50JiZhLnRvcCE9PWEmJmIuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgmJihnPU1hdGgucm91bmQoMTAwKmIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClbY10pKSwwPj1nfHxudWxsPT1nKXtpZihnPUZhKGIsYyxoKSwoMD5nfHxudWxsPT1nKSYmKGc9Yi5zdHlsZVtjXSksQmEudGVzdChnKSlyZXR1cm4gZztmPWkmJihsLmJveFNpemluZ1JlbGlhYmxlKCl8fGc9PT1iLnN0eWxlW2NdKSxnPXBhcnNlRmxvYXQoZyl8fDB9cmV0dXJuIGcrT2EoYixjLGV8fChpPyJib3JkZXIiOiJjb250ZW50IiksZixoKSsicHgifWZ1bmN0aW9uIFFhKGEsYil7Zm9yKHZhciBjLGQsZSxmPVtdLGc9MCxoPWEubGVuZ3RoO2g+ZztnKyspZD1hW2ddLGQuc3R5bGUmJihmW2ddPU4uZ2V0KGQsIm9sZGRpc3BsYXkiKSxjPWQuc3R5bGUuZGlzcGxheSxiPyhmW2ddfHwibm9uZSIhPT1jfHwoZC5zdHlsZS5kaXNwbGF5PSIiKSwiIj09PWQuc3R5bGUuZGlzcGxheSYmVihkKSYmKGZbZ109Ti5hY2Nlc3MoZCwib2xkZGlzcGxheSIsemEoZC5ub2RlTmFtZSkpKSk6KGU9VihkKSwibm9uZSI9PT1jJiZlfHxOLnNldChkLCJvbGRkaXNwbGF5IixlP2M6bi5jc3MoZCwiZGlzcGxheSIpKSkpO2ZvcihnPTA7aD5nO2crKylkPWFbZ10sZC5zdHlsZSYmKGImJiJub25lIiE9PWQuc3R5bGUuZGlzcGxheSYmIiIhPT1kLnN0eWxlLmRpc3BsYXl8fChkLnN0eWxlLmRpc3BsYXk9Yj9mW2ddfHwiIjoibm9uZSIpKTtyZXR1cm4gYX1uLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihhLGIpe2lmKGIpe3ZhciBjPUZhKGEsIm9wYWNpdHkiKTtyZXR1cm4iIj09PWM/IjEiOmN9fX19LGNzc051bWJlcjp7YW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6ITAsY29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMH0sY3NzUHJvcHM6eyJmbG9hdCI6ImNzc0Zsb2F0In0sc3R5bGU6ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSYmMyE9PWEubm9kZVR5cGUmJjghPT1hLm5vZGVUeXBlJiZhLnN0eWxlKXt2YXIgZSxmLGcsaD1uLmNhbWVsQ2FzZShiKSxpPWEuc3R5bGU7cmV0dXJuIGI9bi5jc3NQcm9wc1toXXx8KG4uY3NzUHJvcHNbaF09TWEoaCl8fGgpLGc9bi5jc3NIb29rc1tiXXx8bi5jc3NIb29rc1toXSx2b2lkIDA9PT1jP2cmJiJnZXQiaW4gZyYmdm9pZCAwIT09KGU9Zy5nZXQoYSwhMSxkKSk/ZTppW2JdOihmPXR5cGVvZiBjLCJzdHJpbmciPT09ZiYmKGU9VC5leGVjKGMpKSYmZVsxXSYmKGM9VyhhLGIsZSksZj0ibnVtYmVyIiksbnVsbCE9YyYmYz09PWMmJigibnVtYmVyIj09PWYmJihjKz1lJiZlWzNdfHwobi5jc3NOdW1iZXJbaF0/IiI6InB4IikpLGwuY2xlYXJDbG9uZVN0eWxlfHwiIiE9PWN8fDAhPT1iLmluZGV4T2YoImJhY2tncm91bmQiKXx8KGlbYl09ImluaGVyaXQiKSxnJiYic2V0ImluIGcmJnZvaWQgMD09PShjPWcuc2V0KGEsYyxkKSl8fChpW2JdPWMpKSx2b2lkIDApfX0sY3NzOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZyxoPW4uY2FtZWxDYXNlKGIpO3JldHVybiBiPW4uY3NzUHJvcHNbaF18fChuLmNzc1Byb3BzW2hdPU1hKGgpfHxoKSxnPW4uY3NzSG9va3NbYl18fG4uY3NzSG9va3NbaF0sZyYmImdldCJpbiBnJiYoZT1nLmdldChhLCEwLGMpKSx2b2lkIDA9PT1lJiYoZT1GYShhLGIsZCkpLCJub3JtYWwiPT09ZSYmYiBpbiBKYSYmKGU9SmFbYl0pLCIiPT09Y3x8Yz8oZj1wYXJzZUZsb2F0KGUpLGM9PT0hMHx8aXNGaW5pdGUoZik/Znx8MDplKTplfX0pLG4uZWFjaChbImhlaWdodCIsIndpZHRoIl0sZnVuY3Rpb24oYSxiKXtuLmNzc0hvb2tzW2JdPXtnZXQ6ZnVuY3Rpb24oYSxjLGQpe3JldHVybiBjP0hhLnRlc3Qobi5jc3MoYSwiZGlzcGxheSIpKSYmMD09PWEub2Zmc2V0V2lkdGg/RGEoYSxJYSxmdW5jdGlvbigpe3JldHVybiBQYShhLGIsZCl9KTpQYShhLGIsZCk6dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlLGY9ZCYmQ2EoYSksZz1kJiZPYShhLGIsZCwiYm9yZGVyLWJveCI9PT1uLmNzcyhhLCJib3hTaXppbmciLCExLGYpLGYpO3JldHVybiBnJiYoZT1ULmV4ZWMoYykpJiYicHgiIT09KGVbM118fCJweCIpJiYoYS5zdHlsZVtiXT1jLGM9bi5jc3MoYSxiKSksTmEoYSxjLGcpfX19KSxuLmNzc0hvb2tzLm1hcmdpbkxlZnQ9R2EobC5yZWxpYWJsZU1hcmdpbkxlZnQsZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj8ocGFyc2VGbG9hdChGYShhLCJtYXJnaW5MZWZ0IikpfHxhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQtRGEoYSx7bWFyZ2luTGVmdDowfSxmdW5jdGlvbigpe3JldHVybiBhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnR9KSkrInB4Ijp2b2lkIDB9KSxuLmNzc0hvb2tzLm1hcmdpblJpZ2h0PUdhKGwucmVsaWFibGVNYXJnaW5SaWdodCxmdW5jdGlvbihhLGIpe3JldHVybiBiP0RhKGEse2Rpc3BsYXk6ImlubGluZS1ibG9jayJ9LEZhLFthLCJtYXJnaW5SaWdodCJdKTp2b2lkIDB9KSxuLmVhY2goe21hcmdpbjoiIixwYWRkaW5nOiIiLGJvcmRlcjoiV2lkdGgifSxmdW5jdGlvbihhLGIpe24uY3NzSG9va3NbYStiXT17ZXhwYW5kOmZ1bmN0aW9uKGMpe2Zvcih2YXIgZD0wLGU9e30sZj0ic3RyaW5nIj09dHlwZW9mIGM/Yy5zcGxpdCgiICIpOltjXTs0PmQ7ZCsrKWVbYStVW2RdK2JdPWZbZF18fGZbZC0yXXx8ZlswXTtyZXR1cm4gZX19LEFhLnRlc3QoYSl8fChuLmNzc0hvb2tzW2ErYl0uc2V0PU5hKX0pLG4uZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gSyh0aGlzLGZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9e30sZz0wO2lmKG4uaXNBcnJheShiKSl7Zm9yKGQ9Q2EoYSksZT1iLmxlbmd0aDtlPmc7ZysrKWZbYltnXV09bi5jc3MoYSxiW2ddLCExLGQpO3JldHVybiBmfXJldHVybiB2b2lkIDAhPT1jP24uc3R5bGUoYSxiLGMpOm4uY3NzKGEsYil9LGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIFFhKHRoaXMsITApfSxoaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIFFhKHRoaXMpfSx0b2dnbGU6ZnVuY3Rpb24oYSl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYT9hP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe1YodGhpcyk/bih0aGlzKS5zaG93KCk6bih0aGlzKS5oaWRlKCl9KX19KTtmdW5jdGlvbiBSYShhLGIsYyxkLGUpe3JldHVybiBuZXcgUmEucHJvdG90eXBlLmluaXQoYSxiLGMsZCxlKX1uLlR3ZWVuPVJhLFJhLnByb3RvdHlwZT17Y29uc3RydWN0b3I6UmEsaW5pdDpmdW5jdGlvbihhLGIsYyxkLGUsZil7dGhpcy5lbGVtPWEsdGhpcy5wcm9wPWMsdGhpcy5lYXNpbmc9ZXx8bi5lYXNpbmcuX2RlZmF1bHQsdGhpcy5vcHRpb25zPWIsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPWQsdGhpcy51bml0PWZ8fChuLmNzc051bWJlcltjXT8iIjoicHgiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGE9UmEucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGEmJmEuZ2V0P2EuZ2V0KHRoaXMpOlJhLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihhKXt2YXIgYixjPVJhLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRpb24/dGhpcy5wb3M9Yj1uLmVhc2luZ1t0aGlzLmVhc2luZ10oYSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qYSwwLDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTp0aGlzLnBvcz1iPWEsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3RhcnQpKmIrdGhpcy5zdGFydCx0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksYyYmYy5zZXQ/Yy5zZXQodGhpcyk6UmEucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0sUmEucHJvdG90eXBlLmluaXQucHJvdG90eXBlPVJhLnByb3RvdHlwZSxSYS5wcm9wSG9va3M9e19kZWZhdWx0OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIDEhPT1hLmVsZW0ubm9kZVR5cGV8fG51bGwhPWEuZWxlbVthLnByb3BdJiZudWxsPT1hLmVsZW0uc3R5bGVbYS5wcm9wXT9hLmVsZW1bYS5wcm9wXTooYj1uLmNzcyhhLmVsZW0sYS5wcm9wLCIiKSxiJiYiYXV0byIhPT1iP2I6MCl9LHNldDpmdW5jdGlvbihhKXtuLmZ4LnN0ZXBbYS5wcm9wXT9uLmZ4LnN0ZXBbYS5wcm9wXShhKToxIT09YS5lbGVtLm5vZGVUeXBlfHxudWxsPT1hLmVsZW0uc3R5bGVbbi5jc3NQcm9wc1thLnByb3BdXSYmIW4uY3NzSG9va3NbYS5wcm9wXT9hLmVsZW1bYS5wcm9wXT1hLm5vdzpuLnN0eWxlKGEuZWxlbSxhLnByb3AsYS5ub3crYS51bml0KX19fSxSYS5wcm9wSG9va3Muc2Nyb2xsVG9wPVJhLnByb3BIb29rcy5zY3JvbGxMZWZ0PXtzZXQ6ZnVuY3Rpb24oYSl7YS5lbGVtLm5vZGVUeXBlJiZhLmVsZW0ucGFyZW50Tm9kZSYmKGEuZWxlbVthLnByb3BdPWEubm93KX19LG4uZWFzaW5nPXtsaW5lYXI6ZnVuY3Rpb24oYSl7cmV0dXJuIGF9LHN3aW5nOmZ1bmN0aW9uKGEpe3JldHVybi41LU1hdGguY29zKGEqTWF0aC5QSSkvMn0sX2RlZmF1bHQ6InN3aW5nIn0sbi5meD1SYS5wcm90b3R5cGUuaW5pdCxuLmZ4LnN0ZXA9e307dmFyIFNhLFRhLFVhPS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxWYT0vcXVldWVIb29rcyQvO2Z1bmN0aW9uIFdhKCl7cmV0dXJuIGEuc2V0VGltZW91dChmdW5jdGlvbigpe1NhPXZvaWQgMH0pLFNhPW4ubm93KCl9ZnVuY3Rpb24gWGEoYSxiKXt2YXIgYyxkPTAsZT17aGVpZ2h0OmF9O2ZvcihiPWI/MTowOzQ+ZDtkKz0yLWIpYz1VW2RdLGVbIm1hcmdpbiIrY109ZVsicGFkZGluZyIrY109YTtyZXR1cm4gYiYmKGUub3BhY2l0eT1lLndpZHRoPWEpLGV9ZnVuY3Rpb24gWWEoYSxiLGMpe2Zvcih2YXIgZCxlPShfYS50d2VlbmVyc1tiXXx8W10pLmNvbmNhdChfYS50d2VlbmVyc1siKiJdKSxmPTAsZz1lLmxlbmd0aDtnPmY7ZisrKWlmKGQ9ZVtmXS5jYWxsKGMsYixhKSlyZXR1cm4gZH1mdW5jdGlvbiBaYShhLGIsYyl7dmFyIGQsZSxmLGcsaCxpLGosayxsPXRoaXMsbT17fSxvPWEuc3R5bGUscD1hLm5vZGVUeXBlJiZWKGEpLHE9Ti5nZXQoYSwiZnhzaG93Iik7Yy5xdWV1ZXx8KGg9bi5fcXVldWVIb29rcyhhLCJmeCIpLG51bGw9PWgudW5xdWV1ZWQmJihoLnVucXVldWVkPTAsaT1oLmVtcHR5LmZpcmUsaC5lbXB0eS5maXJlPWZ1bmN0aW9uKCl7aC51bnF1ZXVlZHx8aSgpfSksaC51bnF1ZXVlZCsrLGwuYWx3YXlzKGZ1bmN0aW9uKCl7bC5hbHdheXMoZnVuY3Rpb24oKXtoLnVucXVldWVkLS0sbi5xdWV1ZShhLCJmeCIpLmxlbmd0aHx8aC5lbXB0eS5maXJlKCl9KX0pKSwxPT09YS5ub2RlVHlwZSYmKCJoZWlnaHQiaW4gYnx8IndpZHRoImluIGIpJiYoYy5vdmVyZmxvdz1bby5vdmVyZmxvdyxvLm92ZXJmbG93WCxvLm92ZXJmbG93WV0saj1uLmNzcyhhLCJkaXNwbGF5Iiksaz0ibm9uZSI9PT1qP04uZ2V0KGEsIm9sZGRpc3BsYXkiKXx8emEoYS5ub2RlTmFtZSk6aiwiaW5saW5lIj09PWsmJiJub25lIj09PW4uY3NzKGEsImZsb2F0IikmJihvLmRpc3BsYXk9ImlubGluZS1ibG9jayIpKSxjLm92ZXJmbG93JiYoby5vdmVyZmxvdz0iaGlkZGVuIixsLmFsd2F5cyhmdW5jdGlvbigpe28ub3ZlcmZsb3c9Yy5vdmVyZmxvd1swXSxvLm92ZXJmbG93WD1jLm92ZXJmbG93WzFdLG8ub3ZlcmZsb3dZPWMub3ZlcmZsb3dbMl19KSk7Zm9yKGQgaW4gYilpZihlPWJbZF0sVWEuZXhlYyhlKSl7aWYoZGVsZXRlIGJbZF0sZj1mfHwidG9nZ2xlIj09PWUsZT09PShwPyJoaWRlIjoic2hvdyIpKXtpZigic2hvdyIhPT1lfHwhcXx8dm9pZCAwPT09cVtkXSljb250aW51ZTtwPSEwfW1bZF09cSYmcVtkXXx8bi5zdHlsZShhLGQpfWVsc2Ugaj12b2lkIDA7aWYobi5pc0VtcHR5T2JqZWN0KG0pKSJpbmxpbmUiPT09KCJub25lIj09PWo/emEoYS5ub2RlTmFtZSk6aikmJihvLmRpc3BsYXk9aik7ZWxzZXtxPyJoaWRkZW4iaW4gcSYmKHA9cS5oaWRkZW4pOnE9Ti5hY2Nlc3MoYSwiZnhzaG93Iix7fSksZiYmKHEuaGlkZGVuPSFwKSxwP24oYSkuc2hvdygpOmwuZG9uZShmdW5jdGlvbigpe24oYSkuaGlkZSgpfSksbC5kb25lKGZ1bmN0aW9uKCl7dmFyIGI7Ti5yZW1vdmUoYSwiZnhzaG93Iik7Zm9yKGIgaW4gbSluLnN0eWxlKGEsYixtW2JdKX0pO2ZvcihkIGluIG0pZz1ZYShwP3FbZF06MCxkLGwpLGQgaW4gcXx8KHFbZF09Zy5zdGFydCxwJiYoZy5lbmQ9Zy5zdGFydCxnLnN0YXJ0PSJ3aWR0aCI9PT1kfHwiaGVpZ2h0Ij09PWQ/MTowKSl9fWZ1bmN0aW9uICRhKGEsYil7dmFyIGMsZCxlLGYsZztmb3IoYyBpbiBhKWlmKGQ9bi5jYW1lbENhc2UoYyksZT1iW2RdLGY9YVtjXSxuLmlzQXJyYXkoZikmJihlPWZbMV0sZj1hW2NdPWZbMF0pLGMhPT1kJiYoYVtkXT1mLGRlbGV0ZSBhW2NdKSxnPW4uY3NzSG9va3NbZF0sZyYmImV4cGFuZCJpbiBnKXtmPWcuZXhwYW5kKGYpLGRlbGV0ZSBhW2RdO2ZvcihjIGluIGYpYyBpbiBhfHwoYVtjXT1mW2NdLGJbY109ZSl9ZWxzZSBiW2RdPWV9ZnVuY3Rpb24gX2EoYSxiLGMpe3ZhciBkLGUsZj0wLGc9X2EucHJlZmlsdGVycy5sZW5ndGgsaD1uLkRlZmVycmVkKCkuYWx3YXlzKGZ1bmN0aW9uKCl7ZGVsZXRlIGkuZWxlbX0pLGk9ZnVuY3Rpb24oKXtpZihlKXJldHVybiExO2Zvcih2YXIgYj1TYXx8V2EoKSxjPU1hdGgubWF4KDAsai5zdGFydFRpbWUrai5kdXJhdGlvbi1iKSxkPWMvai5kdXJhdGlvbnx8MCxmPTEtZCxnPTAsaT1qLnR3ZWVucy5sZW5ndGg7aT5nO2crKylqLnR3ZWVuc1tnXS5ydW4oZik7cmV0dXJuIGgubm90aWZ5V2l0aChhLFtqLGYsY10pLDE+ZiYmaT9jOihoLnJlc29sdmVXaXRoKGEsW2pdKSwhMSl9LGo9aC5wcm9taXNlKHtlbGVtOmEscHJvcHM6bi5leHRlbmQoe30sYiksb3B0czpuLmV4dGVuZCghMCx7c3BlY2lhbEVhc2luZzp7fSxlYXNpbmc6bi5lYXNpbmcuX2RlZmF1bHR9LGMpLG9yaWdpbmFsUHJvcGVydGllczpiLG9yaWdpbmFsT3B0aW9uczpjLHN0YXJ0VGltZTpTYXx8V2EoKSxkdXJhdGlvbjpjLmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbihiLGMpe3ZhciBkPW4uVHdlZW4oYSxqLm9wdHMsYixjLGoub3B0cy5zcGVjaWFsRWFzaW5nW2JdfHxqLm9wdHMuZWFzaW5nKTtyZXR1cm4gai50d2VlbnMucHVzaChkKSxkfSxzdG9wOmZ1bmN0aW9uKGIpe3ZhciBjPTAsZD1iP2oudHdlZW5zLmxlbmd0aDowO2lmKGUpcmV0dXJuIHRoaXM7Zm9yKGU9ITA7ZD5jO2MrKylqLnR3ZWVuc1tjXS5ydW4oMSk7cmV0dXJuIGI/KGgubm90aWZ5V2l0aChhLFtqLDEsMF0pLGgucmVzb2x2ZVdpdGgoYSxbaixiXSkpOmgucmVqZWN0V2l0aChhLFtqLGJdKSx0aGlzfX0pLGs9ai5wcm9wcztmb3IoJGEoayxqLm9wdHMuc3BlY2lhbEVhc2luZyk7Zz5mO2YrKylpZihkPV9hLnByZWZpbHRlcnNbZl0uY2FsbChqLGEsayxqLm9wdHMpKXJldHVybiBuLmlzRnVuY3Rpb24oZC5zdG9wKSYmKG4uX3F1ZXVlSG9va3Moai5lbGVtLGoub3B0cy5xdWV1ZSkuc3RvcD1uLnByb3h5KGQuc3RvcCxkKSksZDtyZXR1cm4gbi5tYXAoayxZYSxqKSxuLmlzRnVuY3Rpb24oai5vcHRzLnN0YXJ0KSYmai5vcHRzLnN0YXJ0LmNhbGwoYSxqKSxuLmZ4LnRpbWVyKG4uZXh0ZW5kKGkse2VsZW06YSxhbmltOmoscXVldWU6ai5vcHRzLnF1ZXVlfSkpLGoucHJvZ3Jlc3Moai5vcHRzLnByb2dyZXNzKS5kb25lKGoub3B0cy5kb25lLGoub3B0cy5jb21wbGV0ZSkuZmFpbChqLm9wdHMuZmFpbCkuYWx3YXlzKGoub3B0cy5hbHdheXMpfW4uQW5pbWF0aW9uPW4uZXh0ZW5kKF9hLHt0d2VlbmVyczp7IioiOltmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY3JlYXRlVHdlZW4oYSxiKTtyZXR1cm4gVyhjLmVsZW0sYSxULmV4ZWMoYiksYyksY31dfSx0d2VlbmVyOmZ1bmN0aW9uKGEsYil7bi5pc0Z1bmN0aW9uKGEpPyhiPWEsYT1bIioiXSk6YT1hLm1hdGNoKEcpO2Zvcih2YXIgYyxkPTAsZT1hLmxlbmd0aDtlPmQ7ZCsrKWM9YVtkXSxfYS50d2VlbmVyc1tjXT1fYS50d2VlbmVyc1tjXXx8W10sX2EudHdlZW5lcnNbY10udW5zaGlmdChiKX0scHJlZmlsdGVyczpbWmFdLHByZWZpbHRlcjpmdW5jdGlvbihhLGIpe2I/X2EucHJlZmlsdGVycy51bnNoaWZ0KGEpOl9hLnByZWZpbHRlcnMucHVzaChhKX19KSxuLnNwZWVkPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hJiYib2JqZWN0Ij09dHlwZW9mIGE/bi5leHRlbmQoe30sYSk6e2NvbXBsZXRlOmN8fCFjJiZifHxuLmlzRnVuY3Rpb24oYSkmJmEsZHVyYXRpb246YSxlYXNpbmc6YyYmYnx8YiYmIW4uaXNGdW5jdGlvbihiKSYmYn07cmV0dXJuIGQuZHVyYXRpb249bi5meC5vZmY/MDoibnVtYmVyIj09dHlwZW9mIGQuZHVyYXRpb24/ZC5kdXJhdGlvbjpkLmR1cmF0aW9uIGluIG4uZnguc3BlZWRzP24uZnguc3BlZWRzW2QuZHVyYXRpb25dOm4uZnguc3BlZWRzLl9kZWZhdWx0LG51bGwhPWQucXVldWUmJmQucXVldWUhPT0hMHx8KGQucXVldWU9ImZ4IiksZC5vbGQ9ZC5jb21wbGV0ZSxkLmNvbXBsZXRlPWZ1bmN0aW9uKCl7bi5pc0Z1bmN0aW9uKGQub2xkKSYmZC5vbGQuY2FsbCh0aGlzKSxkLnF1ZXVlJiZuLmRlcXVldWUodGhpcyxkLnF1ZXVlKX0sZH0sbi5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5maWx0ZXIoVikuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTpifSxhLGMsZCl9LGFuaW1hdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bi5pc0VtcHR5T2JqZWN0KGEpLGY9bi5zcGVlZChiLGMsZCksZz1mdW5jdGlvbigpe3ZhciBiPV9hKHRoaXMsbi5leHRlbmQoe30sYSksZik7KGV8fE4uZ2V0KHRoaXMsImZpbmlzaCIpKSYmYi5zdG9wKCEwKX07cmV0dXJuIGcuZmluaXNoPWcsZXx8Zi5xdWV1ZT09PSExP3RoaXMuZWFjaChnKTp0aGlzLnF1ZXVlKGYucXVldWUsZyl9LHN0b3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWZ1bmN0aW9uKGEpe3ZhciBiPWEuc3RvcDtkZWxldGUgYS5zdG9wLGIoYyl9O3JldHVybiJzdHJpbmciIT10eXBlb2YgYSYmKGM9YixiPWEsYT12b2lkIDApLGImJmEhPT0hMSYmdGhpcy5xdWV1ZShhfHwiZngiLFtdKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj0hMCxlPW51bGwhPWEmJmErInF1ZXVlSG9va3MiLGY9bi50aW1lcnMsZz1OLmdldCh0aGlzKTtpZihlKWdbZV0mJmdbZV0uc3RvcCYmZChnW2VdKTtlbHNlIGZvcihlIGluIGcpZ1tlXSYmZ1tlXS5zdG9wJiZWYS50ZXN0KGUpJiZkKGdbZV0pO2ZvcihlPWYubGVuZ3RoO2UtLTspZltlXS5lbGVtIT09dGhpc3x8bnVsbCE9YSYmZltlXS5xdWV1ZSE9PWF8fChmW2VdLmFuaW0uc3RvcChjKSxiPSExLGYuc3BsaWNlKGUsMSkpOyFiJiZjfHxuLmRlcXVldWUodGhpcyxhKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT0hMSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsYz1OLmdldCh0aGlzKSxkPWNbYSsicXVldWUiXSxlPWNbYSsicXVldWVIb29rcyJdLGY9bi50aW1lcnMsZz1kP2QubGVuZ3RoOjA7Zm9yKGMuZmluaXNoPSEwLG4ucXVldWUodGhpcyxhLFtdKSxlJiZlLnN0b3AmJmUuc3RvcC5jYWxsKHRoaXMsITApLGI9Zi5sZW5ndGg7Yi0tOylmW2JdLmVsZW09PT10aGlzJiZmW2JdLnF1ZXVlPT09YSYmKGZbYl0uYW5pbS5zdG9wKCEwKSxmLnNwbGljZShiLDEpKTtmb3IoYj0wO2c+YjtiKyspZFtiXSYmZFtiXS5maW5pc2gmJmRbYl0uZmluaXNoLmNhbGwodGhpcyk7ZGVsZXRlIGMuZmluaXNofSl9fSksbi5lYWNoKFsidG9nZ2xlIiwic2hvdyIsImhpZGUiXSxmdW5jdGlvbihhLGIpe3ZhciBjPW4uZm5bYl07bi5mbltiXT1mdW5jdGlvbihhLGQsZSl7cmV0dXJuIG51bGw9PWF8fCJib29sZWFuIj09dHlwZW9mIGE/Yy5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpcy5hbmltYXRlKFhhKGIsITApLGEsZCxlKX19KSxuLmVhY2goe3NsaWRlRG93bjpYYSgic2hvdyIpLHNsaWRlVXA6WGEoImhpZGUiKSxzbGlkZVRvZ2dsZTpYYSgidG9nZ2xlIiksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6InRvZ2dsZSJ9fSxmdW5jdGlvbihhLGIpe24uZm5bYV09ZnVuY3Rpb24oYSxjLGQpe3JldHVybiB0aGlzLmFuaW1hdGUoYixhLGMsZCl9fSksbi50aW1lcnM9W10sbi5meC50aWNrPWZ1bmN0aW9uKCl7dmFyIGEsYj0wLGM9bi50aW1lcnM7Zm9yKFNhPW4ubm93KCk7YjxjLmxlbmd0aDtiKyspYT1jW2JdLGEoKXx8Y1tiXSE9PWF8fGMuc3BsaWNlKGItLSwxKTtjLmxlbmd0aHx8bi5meC5zdG9wKCksU2E9dm9pZCAwfSxuLmZ4LnRpbWVyPWZ1bmN0aW9uKGEpe24udGltZXJzLnB1c2goYSksYSgpP24uZnguc3RhcnQoKTpuLnRpbWVycy5wb3AoKX0sbi5meC5pbnRlcnZhbD0xMyxuLmZ4LnN0YXJ0PWZ1bmN0aW9uKCl7VGF8fChUYT1hLnNldEludGVydmFsKG4uZngudGljayxuLmZ4LmludGVydmFsKSl9LG4uZnguc3RvcD1mdW5jdGlvbigpe2EuY2xlYXJJbnRlcnZhbChUYSksVGE9bnVsbH0sbi5meC5zcGVlZHM9e3Nsb3c6NjAwLGZhc3Q6MjAwLF9kZWZhdWx0OjQwMH0sbi5mbi5kZWxheT1mdW5jdGlvbihiLGMpe3JldHVybiBiPW4uZng/bi5meC5zcGVlZHNbYl18fGI6YixjPWN8fCJmeCIsdGhpcy5xdWV1ZShjLGZ1bmN0aW9uKGMsZCl7dmFyIGU9YS5zZXRUaW1lb3V0KGMsYik7ZC5zdG9wPWZ1bmN0aW9uKCl7YS5jbGVhclRpbWVvdXQoZSl9fSl9LGZ1bmN0aW9uKCl7dmFyIGE9ZC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGI9ZC5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKSxjPWIuYXBwZW5kQ2hpbGQoZC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKSk7YS50eXBlPSJjaGVja2JveCIsbC5jaGVja09uPSIiIT09YS52YWx1ZSxsLm9wdFNlbGVjdGVkPWMuc2VsZWN0ZWQsYi5kaXNhYmxlZD0hMCxsLm9wdERpc2FibGVkPSFjLmRpc2FibGVkLGE9ZC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGEudmFsdWU9InQiLGEudHlwZT0icmFkaW8iLGwucmFkaW9WYWx1ZT0idCI9PT1hLnZhbHVlfSgpO3ZhciBhYixiYj1uLmV4cHIuYXR0ckhhbmRsZTtuLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIpe3JldHVybiBLKHRoaXMsbi5hdHRyLGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtuLnJlbW92ZUF0dHIodGhpcyxhKX0pfX0pLG4uZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9YS5ub2RlVHlwZTtpZigzIT09ZiYmOCE9PWYmJjIhPT1mKXJldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgYS5nZXRBdHRyaWJ1dGU/bi5wcm9wKGEsYixjKTooMT09PWYmJm4uaXNYTUxEb2MoYSl8fChiPWIudG9Mb3dlckNhc2UoKSxlPW4uYXR0ckhvb2tzW2JdfHwobi5leHByLm1hdGNoLmJvb2wudGVzdChiKT9hYjp2b2lkIDApKSx2b2lkIDAhPT1jP251bGw9PT1jP3ZvaWQgbi5yZW1vdmVBdHRyKGEsYik6ZSYmInNldCJpbiBlJiZ2b2lkIDAhPT0oZD1lLnNldChhLGMsYikpP2Q6KGEuc2V0QXR0cmlidXRlKGIsYysiIiksYyk6ZSYmImdldCJpbiBlJiZudWxsIT09KGQ9ZS5nZXQoYSxiKSk/ZDooZD1uLmZpbmQuYXR0cihhLGIpLG51bGw9PWQ/dm9pZCAwOmQpKX0sYXR0ckhvb2tzOnt0eXBlOntzZXQ6ZnVuY3Rpb24oYSxiKXtpZighbC5yYWRpb1ZhbHVlJiYicmFkaW8iPT09YiYmbi5ub2RlTmFtZShhLCJpbnB1dCIpKXt2YXIgYz1hLnZhbHVlO3JldHVybiBhLnNldEF0dHJpYnV0ZSgidHlwZSIsYiksYyYmKGEudmFsdWU9YyksYn19fX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZT0wLGY9YiYmYi5tYXRjaChHKTtpZihmJiYxPT09YS5ub2RlVHlwZSl3aGlsZShjPWZbZSsrXSlkPW4ucHJvcEZpeFtjXXx8YyxuLmV4cHIubWF0Y2guYm9vbC50ZXN0KGMpJiYoYVtkXT0hMSksYS5yZW1vdmVBdHRyaWJ1dGUoYyl9fSksYWI9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI9PT0hMT9uLnJlbW92ZUF0dHIoYSxjKTphLnNldEF0dHJpYnV0ZShjLGMpLGN9fSxuLmVhY2gobi5leHByLm1hdGNoLmJvb2wuc291cmNlLm1hdGNoKC9cdysvZyksZnVuY3Rpb24oYSxiKXt2YXIgYz1iYltiXXx8bi5maW5kLmF0dHI7YmJbYl09ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGY7cmV0dXJuIGR8fChmPWJiW2JdLGJiW2JdPWUsZT1udWxsIT1jKGEsYixkKT9iLnRvTG93ZXJDYXNlKCk6bnVsbCxiYltiXT1mKSxlfX0pO3ZhciBjYj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLGRiPS9eKD86YXxhcmVhKSQvaTtuLmZuLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihhLGIpe3JldHVybiBLKHRoaXMsbi5wcm9wLGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVQcm9wOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtkZWxldGUgdGhpc1tuLnByb3BGaXhbYV18fGFdfSl9fSksbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1hLm5vZGVUeXBlO2lmKDMhPT1mJiY4IT09ZiYmMiE9PWYpcmV0dXJuIDE9PT1mJiZuLmlzWE1MRG9jKGEpfHwoYj1uLnByb3BGaXhbYl18fGIsIGU9bi5wcm9wSG9va3NbYl0pLHZvaWQgMCE9PWM/ZSYmInNldCJpbiBlJiZ2b2lkIDAhPT0oZD1lLnNldChhLGMsYikpP2Q6YVtiXT1jOmUmJiJnZXQiaW4gZSYmbnVsbCE9PShkPWUuZ2V0KGEsYikpP2Q6YVtiXX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPW4uZmluZC5hdHRyKGEsInRhYmluZGV4Iik7cmV0dXJuIGI/cGFyc2VJbnQoYiwxMCk6Y2IudGVzdChhLm5vZGVOYW1lKXx8ZGIudGVzdChhLm5vZGVOYW1lKSYmYS5ocmVmPzA6LTF9fX0scHJvcEZpeDp7ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSJ9fSksbC5vcHRTZWxlY3RlZHx8KG4ucHJvcEhvb2tzLnNlbGVjdGVkPXtnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5wYXJlbnROb2RlO3JldHVybiBiJiZiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LG51bGx9LHNldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7YiYmKGIuc2VsZWN0ZWRJbmRleCxiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4KX19KSxuLmVhY2goWyJ0YWJJbmRleCIsInJlYWRPbmx5IiwibWF4TGVuZ3RoIiwiY2VsbFNwYWNpbmciLCJjZWxsUGFkZGluZyIsInJvd1NwYW4iLCJjb2xTcGFuIiwidXNlTWFwIiwiZnJhbWVCb3JkZXIiLCJjb250ZW50RWRpdGFibGUiXSxmdW5jdGlvbigpe24ucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KTt2YXIgZWI9L1tcdFxyXG5cZl0vZztmdW5jdGlvbiBmYihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn1uLmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGgsaT0wO2lmKG4uaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24odGhpcykuYWRkQ2xhc3MoYS5jYWxsKHRoaXMsYixmYih0aGlzKSkpfSk7aWYoInN0cmluZyI9PXR5cGVvZiBhJiZhKXtiPWEubWF0Y2goRyl8fFtdO3doaWxlKGM9dGhpc1tpKytdKWlmKGU9ZmIoYyksZD0xPT09Yy5ub2RlVHlwZSYmKCIgIitlKyIgIikucmVwbGFjZShlYiwiICIpKXtnPTA7d2hpbGUoZj1iW2crK10pZC5pbmRleE9mKCIgIitmKyIgIik8MCYmKGQrPWYrIiAiKTtoPW4udHJpbShkKSxlIT09aCYmYy5zZXRBdHRyaWJ1dGUoImNsYXNzIixoKX19cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGk9MDtpZihuLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtuKHRoaXMpLnJlbW92ZUNsYXNzKGEuY2FsbCh0aGlzLGIsZmIodGhpcykpKX0pO2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLmF0dHIoImNsYXNzIiwiIik7aWYoInN0cmluZyI9PXR5cGVvZiBhJiZhKXtiPWEubWF0Y2goRyl8fFtdO3doaWxlKGM9dGhpc1tpKytdKWlmKGU9ZmIoYyksZD0xPT09Yy5ub2RlVHlwZSYmKCIgIitlKyIgIikucmVwbGFjZShlYiwiICIpKXtnPTA7d2hpbGUoZj1iW2crK10pd2hpbGUoZC5pbmRleE9mKCIgIitmKyIgIik+LTEpZD1kLnJlcGxhY2UoIiAiK2YrIiAiLCIgIik7aD1uLnRyaW0oZCksZSE9PWgmJmMuc2V0QXR0cmlidXRlKCJjbGFzcyIsaCl9fXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbihhLGIpe3ZhciBjPXR5cGVvZiBhO3JldHVybiJib29sZWFuIj09dHlwZW9mIGImJiJzdHJpbmciPT09Yz9iP3RoaXMuYWRkQ2xhc3MoYSk6dGhpcy5yZW1vdmVDbGFzcyhhKTpuLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGMpe24odGhpcykudG9nZ2xlQ2xhc3MoYS5jYWxsKHRoaXMsYyxmYih0aGlzKSxiKSxiKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiLGQsZSxmO2lmKCJzdHJpbmciPT09Yyl7ZD0wLGU9bih0aGlzKSxmPWEubWF0Y2goRyl8fFtdO3doaWxlKGI9ZltkKytdKWUuaGFzQ2xhc3MoYik/ZS5yZW1vdmVDbGFzcyhiKTplLmFkZENsYXNzKGIpfWVsc2Ugdm9pZCAwIT09YSYmImJvb2xlYW4iIT09Y3x8KGI9ZmIodGhpcyksYiYmTi5zZXQodGhpcywiX19jbGFzc05hbWVfXyIsYiksdGhpcy5zZXRBdHRyaWJ1dGUmJnRoaXMuc2V0QXR0cmlidXRlKCJjbGFzcyIsYnx8YT09PSExPyIiOk4uZ2V0KHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpKX0pfSxoYXNDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQ9MDtiPSIgIithKyIgIjt3aGlsZShjPXRoaXNbZCsrXSlpZigxPT09Yy5ub2RlVHlwZSYmKCIgIitmYihjKSsiICIpLnJlcGxhY2UoZWIsIiAiKS5pbmRleE9mKGIpPi0xKXJldHVybiEwO3JldHVybiExfX0pO3ZhciBnYj0vXHIvZyxoYj0vW1x4MjBcdFxyXG5cZl0rL2c7bi5mbi5leHRlbmQoe3ZhbDpmdW5jdGlvbihhKXt2YXIgYixjLGQsZT10aGlzWzBdO3tpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiBkPW4uaXNGdW5jdGlvbihhKSx0aGlzLmVhY2goZnVuY3Rpb24oYyl7dmFyIGU7MT09PXRoaXMubm9kZVR5cGUmJihlPWQ/YS5jYWxsKHRoaXMsYyxuKHRoaXMpLnZhbCgpKTphLG51bGw9PWU/ZT0iIjoibnVtYmVyIj09dHlwZW9mIGU/ZSs9IiI6bi5pc0FycmF5KGUpJiYoZT1uLm1hcChlLGZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT1hPyIiOmErIiJ9KSksYj1uLnZhbEhvb2tzW3RoaXMudHlwZV18fG4udmFsSG9va3NbdGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSxiJiYic2V0ImluIGImJnZvaWQgMCE9PWIuc2V0KHRoaXMsZSwidmFsdWUiKXx8KHRoaXMudmFsdWU9ZSkpfSk7aWYoZSlyZXR1cm4gYj1uLnZhbEhvb2tzW2UudHlwZV18fG4udmFsSG9va3NbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSxiJiYiZ2V0ImluIGImJnZvaWQgMCE9PShjPWIuZ2V0KGUsInZhbHVlIikpP2M6KGM9ZS52YWx1ZSwic3RyaW5nIj09dHlwZW9mIGM/Yy5yZXBsYWNlKGdiLCIiKTpudWxsPT1jPyIiOmMpfX19KSxuLmV4dGVuZCh7dmFsSG9va3M6e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPW4uZmluZC5hdHRyKGEsInZhbHVlIik7cmV0dXJuIG51bGwhPWI/YjpuLnRyaW0obi50ZXh0KGEpKS5yZXBsYWNlKGhiLCIgIil9fSxzZWxlY3Q6e2dldDpmdW5jdGlvbihhKXtmb3IodmFyIGIsYyxkPWEub3B0aW9ucyxlPWEuc2VsZWN0ZWRJbmRleCxmPSJzZWxlY3Qtb25lIj09PWEudHlwZXx8MD5lLGc9Zj9udWxsOltdLGg9Zj9lKzE6ZC5sZW5ndGgsaT0wPmU/aDpmP2U6MDtoPmk7aSsrKWlmKGM9ZFtpXSwoYy5zZWxlY3RlZHx8aT09PWUpJiYobC5vcHREaXNhYmxlZD8hYy5kaXNhYmxlZDpudWxsPT09Yy5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIikpJiYoIWMucGFyZW50Tm9kZS5kaXNhYmxlZHx8IW4ubm9kZU5hbWUoYy5wYXJlbnROb2RlLCJvcHRncm91cCIpKSl7aWYoYj1uKGMpLnZhbCgpLGYpcmV0dXJuIGI7Zy5wdXNoKGIpfXJldHVybiBnfSxzZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9YS5vcHRpb25zLGY9bi5tYWtlQXJyYXkoYiksZz1lLmxlbmd0aDt3aGlsZShnLS0pZD1lW2ddLChkLnNlbGVjdGVkPW4uaW5BcnJheShuLnZhbEhvb2tzLm9wdGlvbi5nZXQoZCksZik+LTEpJiYoYz0hMCk7cmV0dXJuIGN8fChhLnNlbGVjdGVkSW5kZXg9LTEpLGZ9fX19KSxuLmVhY2goWyJyYWRpbyIsImNoZWNrYm94Il0sZnVuY3Rpb24oKXtuLnZhbEhvb2tzW3RoaXNdPXtzZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbi5pc0FycmF5KGIpP2EuY2hlY2tlZD1uLmluQXJyYXkobihhKS52YWwoKSxiKT4tMTp2b2lkIDB9fSxsLmNoZWNrT258fChuLnZhbEhvb2tzW3RoaXNdLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09PWEuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPyJvbiI6YS52YWx1ZX0pfSk7dmFyIGliPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLztuLmV4dGVuZChuLmV2ZW50LHt0cmlnZ2VyOmZ1bmN0aW9uKGIsYyxlLGYpe3ZhciBnLGgsaSxqLGwsbSxvLHA9W2V8fGRdLHE9ay5jYWxsKGIsInR5cGUiKT9iLnR5cGU6YixyPWsuY2FsbChiLCJuYW1lc3BhY2UiKT9iLm5hbWVzcGFjZS5zcGxpdCgiLiIpOltdO2lmKGg9aT1lPWV8fGQsMyE9PWUubm9kZVR5cGUmJjghPT1lLm5vZGVUeXBlJiYhaWIudGVzdChxK24uZXZlbnQudHJpZ2dlcmVkKSYmKHEuaW5kZXhPZigiLiIpPi0xJiYocj1xLnNwbGl0KCIuIikscT1yLnNoaWZ0KCksci5zb3J0KCkpLGw9cS5pbmRleE9mKCI6Iik8MCYmIm9uIitxLGI9YltuLmV4cGFuZG9dP2I6bmV3IG4uRXZlbnQocSwib2JqZWN0Ij09dHlwZW9mIGImJmIpLGIuaXNUcmlnZ2VyPWY/MjozLGIubmFtZXNwYWNlPXIuam9pbigiLiIpLGIucm5hbWVzcGFjZT1iLm5hbWVzcGFjZT9uZXcgUmVnRXhwKCIoXnxcXC4pIityLmpvaW4oIlxcLig/Oi4qXFwufCkiKSsiKFxcLnwkKSIpOm51bGwsYi5yZXN1bHQ9dm9pZCAwLGIudGFyZ2V0fHwoYi50YXJnZXQ9ZSksYz1udWxsPT1jP1tiXTpuLm1ha2VBcnJheShjLFtiXSksbz1uLmV2ZW50LnNwZWNpYWxbcV18fHt9LGZ8fCFvLnRyaWdnZXJ8fG8udHJpZ2dlci5hcHBseShlLGMpIT09ITEpKXtpZighZiYmIW8ubm9CdWJibGUmJiFuLmlzV2luZG93KGUpKXtmb3Ioaj1vLmRlbGVnYXRlVHlwZXx8cSxpYi50ZXN0KGorcSl8fChoPWgucGFyZW50Tm9kZSk7aDtoPWgucGFyZW50Tm9kZSlwLnB1c2goaCksaT1oO2k9PT0oZS5vd25lckRvY3VtZW50fHxkKSYmcC5wdXNoKGkuZGVmYXVsdFZpZXd8fGkucGFyZW50V2luZG93fHxhKX1nPTA7d2hpbGUoKGg9cFtnKytdKSYmIWIuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSliLnR5cGU9Zz4xP2o6by5iaW5kVHlwZXx8cSxtPShOLmdldChoLCJldmVudHMiKXx8e30pW2IudHlwZV0mJk4uZ2V0KGgsImhhbmRsZSIpLG0mJm0uYXBwbHkoaCxjKSxtPWwmJmhbbF0sbSYmbS5hcHBseSYmTChoKSYmKGIucmVzdWx0PW0uYXBwbHkoaCxjKSxiLnJlc3VsdD09PSExJiZiLnByZXZlbnREZWZhdWx0KCkpO3JldHVybiBiLnR5cGU9cSxmfHxiLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxvLl9kZWZhdWx0JiZvLl9kZWZhdWx0LmFwcGx5KHAucG9wKCksYykhPT0hMXx8IUwoZSl8fGwmJm4uaXNGdW5jdGlvbihlW3FdKSYmIW4uaXNXaW5kb3coZSkmJihpPWVbbF0saSYmKGVbbF09bnVsbCksbi5ldmVudC50cmlnZ2VyZWQ9cSxlW3FdKCksbi5ldmVudC50cmlnZ2VyZWQ9dm9pZCAwLGkmJihlW2xdPWkpKSxiLnJlc3VsdH19LHNpbXVsYXRlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1uLmV4dGVuZChuZXcgbi5FdmVudCxjLHt0eXBlOmEsaXNTaW11bGF0ZWQ6ITB9KTtuLmV2ZW50LnRyaWdnZXIoZCxudWxsLGIpLGQuaXNEZWZhdWx0UHJldmVudGVkKCkmJmMucHJldmVudERlZmF1bHQoKX19KSxuLmZuLmV4dGVuZCh7dHJpZ2dlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtuLmV2ZW50LnRyaWdnZXIoYSxiLHRoaXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpc1swXTtyZXR1cm4gYz9uLmV2ZW50LnRyaWdnZXIoYSxiLGMsITApOnZvaWQgMH19KSxuLmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IgY29udGV4dG1lbnUiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtuLmZuW2JdPWZ1bmN0aW9uKGEsYyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MD90aGlzLm9uKGIsbnVsbCxhLGMpOnRoaXMudHJpZ2dlcihiKX19KSxuLmZuLmV4dGVuZCh7aG92ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGEpLm1vdXNlbGVhdmUoYnx8YSl9fSksbC5mb2N1c2luPSJvbmZvY3VzaW4iaW4gYSxsLmZvY3VzaW58fG4uZWFjaCh7Zm9jdXM6ImZvY3VzaW4iLGJsdXI6ImZvY3Vzb3V0In0sZnVuY3Rpb24oYSxiKXt2YXIgYz1mdW5jdGlvbihhKXtuLmV2ZW50LnNpbXVsYXRlKGIsYS50YXJnZXQsbi5ldmVudC5maXgoYSkpfTtuLmV2ZW50LnNwZWNpYWxbYl09e3NldHVwOmZ1bmN0aW9uKCl7dmFyIGQ9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLGU9Ti5hY2Nlc3MoZCxiKTtlfHxkLmFkZEV2ZW50TGlzdGVuZXIoYSxjLCEwKSxOLmFjY2VzcyhkLGIsKGV8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPU4uYWNjZXNzKGQsYiktMTtlP04uYWNjZXNzKGQsYixlKTooZC5yZW1vdmVFdmVudExpc3RlbmVyKGEsYywhMCksTi5yZW1vdmUoZCxiKSl9fX0pO3ZhciBqYj1hLmxvY2F0aW9uLGtiPW4ubm93KCksbGI9L1w/LztuLnBhcnNlSlNPTj1mdW5jdGlvbihhKXtyZXR1cm4gSlNPTi5wYXJzZShhKyIiKX0sbi5wYXJzZVhNTD1mdW5jdGlvbihiKXt2YXIgYztpZighYnx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBudWxsO3RyeXtjPShuZXcgYS5ET01QYXJzZXIpLnBhcnNlRnJvbVN0cmluZyhiLCJ0ZXh0L3htbCIpfWNhdGNoKGQpe2M9dm9pZCAwfXJldHVybiBjJiYhYy5nZXRFbGVtZW50c0J5VGFnTmFtZSgicGFyc2VyZXJyb3IiKS5sZW5ndGh8fG4uZXJyb3IoIkludmFsaWQgWE1MOiAiK2IpLGN9O3ZhciBtYj0vIy4qJC8sbmI9LyhbPyZdKV89W14mXSovLG9iPS9eKC4qPyk6WyBcdF0qKFteXHJcbl0qKSQvZ20scGI9L14oPzphYm91dHxhcHB8YXBwLXN0b3JhZ2V8ListZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8scWI9L14oPzpHRVR8SEVBRCkkLyxyYj0vXlwvXC8vLHNiPXt9LHRiPXt9LHViPSIqLyIuY29uY2F0KCIqIiksdmI9ZC5jcmVhdGVFbGVtZW50KCJhIik7dmIuaHJlZj1qYi5ocmVmO2Z1bmN0aW9uIHdiKGEpe3JldHVybiBmdW5jdGlvbihiLGMpeyJzdHJpbmciIT10eXBlb2YgYiYmKGM9YixiPSIqIik7dmFyIGQsZT0wLGY9Yi50b0xvd2VyQ2FzZSgpLm1hdGNoKEcpfHxbXTtpZihuLmlzRnVuY3Rpb24oYykpd2hpbGUoZD1mW2UrK10pIisiPT09ZFswXT8oZD1kLnNsaWNlKDEpfHwiKiIsKGFbZF09YVtkXXx8W10pLnVuc2hpZnQoYykpOihhW2RdPWFbZF18fFtdKS5wdXNoKGMpfX1mdW5jdGlvbiB4YihhLGIsYyxkKXt2YXIgZT17fSxmPWE9PT10YjtmdW5jdGlvbiBnKGgpe3ZhciBpO3JldHVybiBlW2hdPSEwLG4uZWFjaChhW2hdfHxbXSxmdW5jdGlvbihhLGgpe3ZhciBqPWgoYixjLGQpO3JldHVybiJzdHJpbmciIT10eXBlb2Yganx8Znx8ZVtqXT9mPyEoaT1qKTp2b2lkIDA6KGIuZGF0YVR5cGVzLnVuc2hpZnQoaiksZyhqKSwhMSl9KSxpfXJldHVybiBnKGIuZGF0YVR5cGVzWzBdKXx8IWVbIioiXSYmZygiKiIpfWZ1bmN0aW9uIHliKGEsYil7dmFyIGMsZCxlPW4uYWpheFNldHRpbmdzLmZsYXRPcHRpb25zfHx7fTtmb3IoYyBpbiBiKXZvaWQgMCE9PWJbY10mJigoZVtjXT9hOmR8fChkPXt9KSlbY109YltjXSk7cmV0dXJuIGQmJm4uZXh0ZW5kKCEwLGEsZCksYX1mdW5jdGlvbiB6YihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLmNvbnRlbnRzLGk9YS5kYXRhVHlwZXM7d2hpbGUoIioiPT09aVswXSlpLnNoaWZ0KCksdm9pZCAwPT09ZCYmKGQ9YS5taW1lVHlwZXx8Yi5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIikpO2lmKGQpZm9yKGUgaW4gaClpZihoW2VdJiZoW2VdLnRlc3QoZCkpe2kudW5zaGlmdChlKTticmVha31pZihpWzBdaW4gYylmPWlbMF07ZWxzZXtmb3IoZSBpbiBjKXtpZighaVswXXx8YS5jb252ZXJ0ZXJzW2UrIiAiK2lbMF1dKXtmPWU7YnJlYWt9Z3x8KGc9ZSl9Zj1mfHxnfXJldHVybiBmPyhmIT09aVswXSYmaS51bnNoaWZ0KGYpLGNbZl0pOnZvaWQgMH1mdW5jdGlvbiBBYihhLGIsYyxkKXt2YXIgZSxmLGcsaCxpLGo9e30saz1hLmRhdGFUeXBlcy5zbGljZSgpO2lmKGtbMV0pZm9yKGcgaW4gYS5jb252ZXJ0ZXJzKWpbZy50b0xvd2VyQ2FzZSgpXT1hLmNvbnZlcnRlcnNbZ107Zj1rLnNoaWZ0KCk7d2hpbGUoZilpZihhLnJlc3BvbnNlRmllbGRzW2ZdJiYoY1thLnJlc3BvbnNlRmllbGRzW2ZdXT1iKSwhaSYmZCYmYS5kYXRhRmlsdGVyJiYoYj1hLmRhdGFGaWx0ZXIoYixhLmRhdGFUeXBlKSksaT1mLGY9ay5zaGlmdCgpKWlmKCIqIj09PWYpZj1pO2Vsc2UgaWYoIioiIT09aSYmaSE9PWYpe2lmKGc9altpKyIgIitmXXx8alsiKiAiK2ZdLCFnKWZvcihlIGluIGopaWYoaD1lLnNwbGl0KCIgIiksaFsxXT09PWYmJihnPWpbaSsiICIraFswXV18fGpbIiogIitoWzBdXSkpe2c9PT0hMD9nPWpbZV06altlXSE9PSEwJiYoZj1oWzBdLGsudW5zaGlmdChoWzFdKSk7YnJlYWt9aWYoZyE9PSEwKWlmKGcmJmFbInRocm93cyJdKWI9ZyhiKTtlbHNlIHRyeXtiPWcoYil9Y2F0Y2gobCl7cmV0dXJue3N0YXRlOiJwYXJzZXJlcnJvciIsZXJyb3I6Zz9sOiJObyBjb252ZXJzaW9uIGZyb20gIitpKyIgdG8gIitmfX19cmV0dXJue3N0YXRlOiJzdWNjZXNzIixkYXRhOmJ9fW4uZXh0ZW5kKHthY3RpdmU6MCxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fSxhamF4U2V0dGluZ3M6e3VybDpqYi5ocmVmLHR5cGU6IkdFVCIsaXNMb2NhbDpwYi50ZXN0KGpiLnByb3RvY29sKSxnbG9iYWw6ITAscHJvY2Vzc0RhdGE6ITAsYXN5bmM6ITAsY29udGVudFR5cGU6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOCIsYWNjZXB0czp7IioiOnViLHRleHQ6InRleHQvcGxhaW4iLGh0bWw6InRleHQvaHRtbCIseG1sOiJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sIixqc29uOiJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L2phdmFzY3JpcHQifSxjb250ZW50czp7eG1sOi9cYnhtbFxiLyxodG1sOi9cYmh0bWwvLGpzb246L1xianNvblxiL30scmVzcG9uc2VGaWVsZHM6e3htbDoicmVzcG9uc2VYTUwiLHRleHQ6InJlc3BvbnNlVGV4dCIsanNvbjoicmVzcG9uc2VKU09OIn0sY29udmVydGVyczp7IiogdGV4dCI6U3RyaW5nLCJ0ZXh0IGh0bWwiOiEwLCJ0ZXh0IGpzb24iOm4ucGFyc2VKU09OLCJ0ZXh0IHhtbCI6bi5wYXJzZVhNTH0sZmxhdE9wdGlvbnM6e3VybDohMCxjb250ZXh0OiEwfX0sYWpheFNldHVwOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/eWIoeWIoYSxuLmFqYXhTZXR0aW5ncyksYik6eWIobi5hamF4U2V0dGluZ3MsYSl9LGFqYXhQcmVmaWx0ZXI6d2Ioc2IpLGFqYXhUcmFuc3BvcnQ6d2IodGIpLGFqYXg6ZnVuY3Rpb24oYixjKXsib2JqZWN0Ij09dHlwZW9mIGImJihjPWIsYj12b2lkIDApLGM9Y3x8e307dmFyIGUsZixnLGgsaSxqLGssbCxtPW4uYWpheFNldHVwKHt9LGMpLG89bS5jb250ZXh0fHxtLHA9bS5jb250ZXh0JiYoby5ub2RlVHlwZXx8by5qcXVlcnkpP24obyk6bi5ldmVudCxxPW4uRGVmZXJyZWQoKSxyPW4uQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLHM9bS5zdGF0dXNDb2RlfHx7fSx0PXt9LHU9e30sdj0wLHc9ImNhbmNlbGVkIix4PXtyZWFkeVN0YXRlOjAsZ2V0UmVzcG9uc2VIZWFkZXI6ZnVuY3Rpb24oYSl7dmFyIGI7aWYoMj09PXYpe2lmKCFoKXtoPXt9O3doaWxlKGI9b2IuZXhlYyhnKSloW2JbMV0udG9Mb3dlckNhc2UoKV09YlsyXX1iPWhbYS50b0xvd2VyQ2FzZSgpXX1yZXR1cm4gbnVsbD09Yj9udWxsOmJ9LGdldEFsbFJlc3BvbnNlSGVhZGVyczpmdW5jdGlvbigpe3JldHVybiAyPT09dj9nOm51bGx9LHNldFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHZ8fChhPXVbY109dVtjXXx8YSx0W2FdPWIpLHRoaXN9LG92ZXJyaWRlTWltZVR5cGU6ZnVuY3Rpb24oYSl7cmV0dXJuIHZ8fChtLm1pbWVUeXBlPWEpLHRoaXN9LHN0YXR1c0NvZGU6ZnVuY3Rpb24oYSl7dmFyIGI7aWYoYSlpZigyPnYpZm9yKGIgaW4gYSlzW2JdPVtzW2JdLGFbYl1dO2Vsc2UgeC5hbHdheXMoYVt4LnN0YXR1c10pO3JldHVybiB0aGlzfSxhYm9ydDpmdW5jdGlvbihhKXt2YXIgYj1hfHx3O3JldHVybiBlJiZlLmFib3J0KGIpLHooMCxiKSx0aGlzfX07aWYocS5wcm9taXNlKHgpLmNvbXBsZXRlPXIuYWRkLHguc3VjY2Vzcz14LmRvbmUseC5lcnJvcj14LmZhaWwsbS51cmw9KChifHxtLnVybHx8amIuaHJlZikrIiIpLnJlcGxhY2UobWIsIiIpLnJlcGxhY2UocmIsamIucHJvdG9jb2wrIi8vIiksbS50eXBlPWMubWV0aG9kfHxjLnR5cGV8fG0ubWV0aG9kfHxtLnR5cGUsbS5kYXRhVHlwZXM9bi50cmltKG0uZGF0YVR5cGV8fCIqIikudG9Mb3dlckNhc2UoKS5tYXRjaChHKXx8WyIiXSxudWxsPT1tLmNyb3NzRG9tYWluKXtqPWQuY3JlYXRlRWxlbWVudCgiYSIpO3RyeXtqLmhyZWY9bS51cmwsai5ocmVmPWouaHJlZixtLmNyb3NzRG9tYWluPXZiLnByb3RvY29sKyIvLyIrdmIuaG9zdCE9ai5wcm90b2NvbCsiLy8iK2ouaG9zdH1jYXRjaCh5KXttLmNyb3NzRG9tYWluPSEwfX1pZihtLmRhdGEmJm0ucHJvY2Vzc0RhdGEmJiJzdHJpbmciIT10eXBlb2YgbS5kYXRhJiYobS5kYXRhPW4ucGFyYW0obS5kYXRhLG0udHJhZGl0aW9uYWwpKSx4YihzYixtLGMseCksMj09PXYpcmV0dXJuIHg7az1uLmV2ZW50JiZtLmdsb2JhbCxrJiYwPT09bi5hY3RpdmUrKyYmbi5ldmVudC50cmlnZ2VyKCJhamF4U3RhcnQiKSxtLnR5cGU9bS50eXBlLnRvVXBwZXJDYXNlKCksbS5oYXNDb250ZW50PSFxYi50ZXN0KG0udHlwZSksZj1tLnVybCxtLmhhc0NvbnRlbnR8fChtLmRhdGEmJihmPW0udXJsKz0obGIudGVzdChmKT8iJiI6Ij8iKSttLmRhdGEsZGVsZXRlIG0uZGF0YSksbS5jYWNoZT09PSExJiYobS51cmw9bmIudGVzdChmKT9mLnJlcGxhY2UobmIsIiQxXz0iK2tiKyspOmYrKGxiLnRlc3QoZik/IiYiOiI/IikrIl89IitrYisrKSksbS5pZk1vZGlmaWVkJiYobi5sYXN0TW9kaWZpZWRbZl0mJnguc2V0UmVxdWVzdEhlYWRlcigiSWYtTW9kaWZpZWQtU2luY2UiLG4ubGFzdE1vZGlmaWVkW2ZdKSxuLmV0YWdbZl0mJnguc2V0UmVxdWVzdEhlYWRlcigiSWYtTm9uZS1NYXRjaCIsbi5ldGFnW2ZdKSksKG0uZGF0YSYmbS5oYXNDb250ZW50JiZtLmNvbnRlbnRUeXBlIT09ITF8fGMuY29udGVudFR5cGUpJiZ4LnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsbS5jb250ZW50VHlwZSkseC5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLG0uZGF0YVR5cGVzWzBdJiZtLmFjY2VwdHNbbS5kYXRhVHlwZXNbMF1dP20uYWNjZXB0c1ttLmRhdGFUeXBlc1swXV0rKCIqIiE9PW0uZGF0YVR5cGVzWzBdPyIsICIrdWIrIjsgcT0wLjAxIjoiIik6bS5hY2NlcHRzWyIqIl0pO2ZvcihsIGluIG0uaGVhZGVycyl4LnNldFJlcXVlc3RIZWFkZXIobCxtLmhlYWRlcnNbbF0pO2lmKG0uYmVmb3JlU2VuZCYmKG0uYmVmb3JlU2VuZC5jYWxsKG8seCxtKT09PSExfHwyPT09dikpcmV0dXJuIHguYWJvcnQoKTt3PSJhYm9ydCI7Zm9yKGwgaW57c3VjY2VzczoxLGVycm9yOjEsY29tcGxldGU6MX0peFtsXShtW2xdKTtpZihlPXhiKHRiLG0sYyx4KSl7aWYoeC5yZWFkeVN0YXRlPTEsayYmcC50cmlnZ2VyKCJhamF4U2VuZCIsW3gsbV0pLDI9PT12KXJldHVybiB4O20uYXN5bmMmJm0udGltZW91dD4wJiYoaT1hLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt4LmFib3J0KCJ0aW1lb3V0Iil9LG0udGltZW91dCkpO3RyeXt2PTEsZS5zZW5kKHQseil9Y2F0Y2goeSl7aWYoISgyPnYpKXRocm93IHk7eigtMSx5KX19ZWxzZSB6KC0xLCJObyBUcmFuc3BvcnQiKTtmdW5jdGlvbiB6KGIsYyxkLGgpe3ZhciBqLGwsdCx1LHcseT1jOzIhPT12JiYodj0yLGkmJmEuY2xlYXJUaW1lb3V0KGkpLGU9dm9pZCAwLGc9aHx8IiIseC5yZWFkeVN0YXRlPWI+MD80OjAsaj1iPj0yMDAmJjMwMD5ifHwzMDQ9PT1iLGQmJih1PXpiKG0seCxkKSksdT1BYihtLHUseCxqKSxqPyhtLmlmTW9kaWZpZWQmJih3PXguZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSx3JiYobi5sYXN0TW9kaWZpZWRbZl09dyksdz14LmdldFJlc3BvbnNlSGVhZGVyKCJldGFnIiksdyYmKG4uZXRhZ1tmXT13KSksMjA0PT09Ynx8IkhFQUQiPT09bS50eXBlP3k9Im5vY29udGVudCI6MzA0PT09Yj95PSJub3Rtb2RpZmllZCI6KHk9dS5zdGF0ZSxsPXUuZGF0YSx0PXUuZXJyb3Isaj0hdCkpOih0PXksIWImJnl8fCh5PSJlcnJvciIsMD5iJiYoYj0wKSkpLHguc3RhdHVzPWIseC5zdGF0dXNUZXh0PShjfHx5KSsiIixqP3EucmVzb2x2ZVdpdGgobyxbbCx5LHhdKTpxLnJlamVjdFdpdGgobyxbeCx5LHRdKSx4LnN0YXR1c0NvZGUocykscz12b2lkIDAsayYmcC50cmlnZ2VyKGo/ImFqYXhTdWNjZXNzIjoiYWpheEVycm9yIixbeCxtLGo/bDp0XSksci5maXJlV2l0aChvLFt4LHldKSxrJiYocC50cmlnZ2VyKCJhamF4Q29tcGxldGUiLFt4LG1dKSwtLW4uYWN0aXZlfHxuLmV2ZW50LnRyaWdnZXIoImFqYXhTdG9wIikpKX1yZXR1cm4geH0sZ2V0SlNPTjpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG4uZ2V0KGEsYixjLCJqc29uIil9LGdldFNjcmlwdDpmdW5jdGlvbihhLGIpe3JldHVybiBuLmdldChhLHZvaWQgMCxiLCJzY3JpcHQiKX19KSxuLmVhY2goWyJnZXQiLCJwb3N0Il0sZnVuY3Rpb24oYSxiKXtuW2JdPWZ1bmN0aW9uKGEsYyxkLGUpe3JldHVybiBuLmlzRnVuY3Rpb24oYykmJihlPWV8fGQsZD1jLGM9dm9pZCAwKSxuLmFqYXgobi5leHRlbmQoe3VybDphLHR5cGU6YixkYXRhVHlwZTplLGRhdGE6YyxzdWNjZXNzOmR9LG4uaXNQbGFpbk9iamVjdChhKSYmYSkpfX0pLG4uX2V2YWxVcmw9ZnVuY3Rpb24oYSl7cmV0dXJuIG4uYWpheCh7dXJsOmEsdHlwZToiR0VUIixkYXRhVHlwZToic2NyaXB0Iixhc3luYzohMSxnbG9iYWw6ITEsInRocm93cyI6ITB9KX0sbi5mbi5leHRlbmQoe3dyYXBBbGw6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIG4uaXNGdW5jdGlvbihhKT90aGlzLmVhY2goZnVuY3Rpb24oYil7bih0aGlzKS53cmFwQWxsKGEuY2FsbCh0aGlzLGIpKX0pOih0aGlzWzBdJiYoYj1uKGEsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCksdGhpc1swXS5wYXJlbnROb2RlJiZiLmluc2VydEJlZm9yZSh0aGlzWzBdKSxiLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXM7d2hpbGUoYS5maXJzdEVsZW1lbnRDaGlsZClhPWEuZmlyc3RFbGVtZW50Q2hpbGQ7cmV0dXJuIGF9KS5hcHBlbmQodGhpcykpLHRoaXMpfSx3cmFwSW5uZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIG4uaXNGdW5jdGlvbihhKT90aGlzLmVhY2goZnVuY3Rpb24oYil7bih0aGlzKS53cmFwSW5uZXIoYS5jYWxsKHRoaXMsYikpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9bih0aGlzKSxjPWIuY29udGVudHMoKTtjLmxlbmd0aD9jLndyYXBBbGwoYSk6Yi5hcHBlbmQoYSl9KX0sd3JhcDpmdW5jdGlvbihhKXt2YXIgYj1uLmlzRnVuY3Rpb24oYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXtuKHRoaXMpLndyYXBBbGwoYj9hLmNhbGwodGhpcyxjKTphKX0pfSx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQoKS5lYWNoKGZ1bmN0aW9uKCl7bi5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fG4odGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLmVuZCgpfX0pLG4uZXhwci5maWx0ZXJzLmhpZGRlbj1mdW5jdGlvbihhKXtyZXR1cm4hbi5leHByLmZpbHRlcnMudmlzaWJsZShhKX0sbi5leHByLmZpbHRlcnMudmlzaWJsZT1mdW5jdGlvbihhKXtyZXR1cm4gYS5vZmZzZXRXaWR0aD4wfHxhLm9mZnNldEhlaWdodD4wfHxhLmdldENsaWVudFJlY3RzKCkubGVuZ3RoPjB9O3ZhciBCYj0vJTIwL2csQ2I9L1xbXF0kLyxEYj0vXHI/XG4vZyxFYj0vXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksRmI9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIEdiKGEsYixjLGQpe3ZhciBlO2lmKG4uaXNBcnJheShiKSluLmVhY2goYixmdW5jdGlvbihiLGUpe2N8fENiLnRlc3QoYSk/ZChhLGUpOkdiKGErIlsiKygib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPWU/YjoiIikrIl0iLGUsYyxkKX0pO2Vsc2UgaWYoY3x8Im9iamVjdCIhPT1uLnR5cGUoYikpZChhLGIpO2Vsc2UgZm9yKGUgaW4gYilHYihhKyJbIitlKyJdIixiW2VdLGMsZCl9bi5wYXJhbT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1mdW5jdGlvbihhLGIpe2I9bi5pc0Z1bmN0aW9uKGIpP2IoKTpudWxsPT1iPyIiOmIsZFtkLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGEpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYil9O2lmKHZvaWQgMD09PWImJihiPW4uYWpheFNldHRpbmdzJiZuLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCksbi5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIW4uaXNQbGFpbk9iamVjdChhKSluLmVhY2goYSxmdW5jdGlvbigpe2UodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IoYyBpbiBhKUdiKGMsYVtjXSxiLGUpO3JldHVybiBkLmpvaW4oIiYiKS5yZXBsYWNlKEJiLCIrIil9LG4uZm4uZXh0ZW5kKHtzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gbi5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpfSxzZXJpYWxpemVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPW4ucHJvcCh0aGlzLCJlbGVtZW50cyIpO3JldHVybiBhP24ubWFrZUFycmF5KGEpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgYT10aGlzLnR5cGU7cmV0dXJuIHRoaXMubmFtZSYmIW4odGhpcykuaXMoIjpkaXNhYmxlZCIpJiZGYi50ZXN0KHRoaXMubm9kZU5hbWUpJiYhRWIudGVzdChhKSYmKHRoaXMuY2hlY2tlZHx8IVgudGVzdChhKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1uKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1jP251bGw6bi5pc0FycmF5KGMpP24ubWFwKGMsZnVuY3Rpb24oYSl7cmV0dXJue25hbWU6Yi5uYW1lLHZhbHVlOmEucmVwbGFjZShEYiwiXHJcbiIpfX0pOntuYW1lOmIubmFtZSx2YWx1ZTpjLnJlcGxhY2UoRGIsIlxyXG4iKX19KS5nZXQoKX19KSxuLmFqYXhTZXR0aW5ncy54aHI9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBhLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGIpe319O3ZhciBIYj17MDoyMDAsMTIyMzoyMDR9LEliPW4uYWpheFNldHRpbmdzLnhocigpO2wuY29ycz0hIUliJiYid2l0aENyZWRlbnRpYWxzImluIEliLGwuYWpheD1JYj0hIUliLG4uYWpheFRyYW5zcG9ydChmdW5jdGlvbihiKXt2YXIgYyxkO3JldHVybiBsLmNvcnN8fEliJiYhYi5jcm9zc0RvbWFpbj97c2VuZDpmdW5jdGlvbihlLGYpe3ZhciBnLGg9Yi54aHIoKTtpZihoLm9wZW4oYi50eXBlLGIudXJsLGIuYXN5bmMsYi51c2VybmFtZSxiLnBhc3N3b3JkKSxiLnhockZpZWxkcylmb3IoZyBpbiBiLnhockZpZWxkcyloW2ddPWIueGhyRmllbGRzW2ddO2IubWltZVR5cGUmJmgub3ZlcnJpZGVNaW1lVHlwZSYmaC5vdmVycmlkZU1pbWVUeXBlKGIubWltZVR5cGUpLGIuY3Jvc3NEb21haW58fGVbIlgtUmVxdWVzdGVkLVdpdGgiXXx8KGVbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTtmb3IoZyBpbiBlKWguc2V0UmVxdWVzdEhlYWRlcihnLGVbZ10pO2M9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKCl7YyYmKGM9ZD1oLm9ubG9hZD1oLm9uZXJyb3I9aC5vbmFib3J0PWgub25yZWFkeXN0YXRlY2hhbmdlPW51bGwsImFib3J0Ij09PWE/aC5hYm9ydCgpOiJlcnJvciI9PT1hPyJudW1iZXIiIT10eXBlb2YgaC5zdGF0dXM/ZigwLCJlcnJvciIpOmYoaC5zdGF0dXMsaC5zdGF0dXNUZXh0KTpmKEhiW2guc3RhdHVzXXx8aC5zdGF0dXMsaC5zdGF0dXNUZXh0LCJ0ZXh0IiE9PShoLnJlc3BvbnNlVHlwZXx8InRleHQiKXx8InN0cmluZyIhPXR5cGVvZiBoLnJlc3BvbnNlVGV4dD97YmluYXJ5OmgucmVzcG9uc2V9Ont0ZXh0OmgucmVzcG9uc2VUZXh0fSxoLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKSl9fSxoLm9ubG9hZD1jKCksZD1oLm9uZXJyb3I9YygiZXJyb3IiKSx2b2lkIDAhPT1oLm9uYWJvcnQ/aC5vbmFib3J0PWQ6aC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0PT09aC5yZWFkeVN0YXRlJiZhLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtjJiZkKCl9KX0sYz1jKCJhYm9ydCIpO3RyeXtoLnNlbmQoYi5oYXNDb250ZW50JiZiLmRhdGF8fG51bGwpfWNhdGNoKGkpe2lmKGMpdGhyb3cgaX19LGFib3J0OmZ1bmN0aW9uKCl7YyYmYygpfX06dm9pZCAwfSksbi5hamF4U2V0dXAoe2FjY2VwdHM6e3NjcmlwdDoidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHQifSxjb250ZW50czp7c2NyaXB0Oi9cYig/OmphdmF8ZWNtYSlzY3JpcHRcYi99LGNvbnZlcnRlcnM6eyJ0ZXh0IHNjcmlwdCI6ZnVuY3Rpb24oYSl7cmV0dXJuIG4uZ2xvYmFsRXZhbChhKSxhfX19KSxuLmFqYXhQcmVmaWx0ZXIoInNjcmlwdCIsZnVuY3Rpb24oYSl7dm9pZCAwPT09YS5jYWNoZSYmKGEuY2FjaGU9ITEpLGEuY3Jvc3NEb21haW4mJihhLnR5cGU9IkdFVCIpfSksbi5hamF4VHJhbnNwb3J0KCJzY3JpcHQiLGZ1bmN0aW9uKGEpe2lmKGEuY3Jvc3NEb21haW4pe3ZhciBiLGM7cmV0dXJue3NlbmQ6ZnVuY3Rpb24oZSxmKXtiPW4oIjxzY3JpcHQ+IikucHJvcCh7Y2hhcnNldDphLnNjcmlwdENoYXJzZXQsc3JjOmEudXJsfSkub24oImxvYWQgZXJyb3IiLGM9ZnVuY3Rpb24oYSl7Yi5yZW1vdmUoKSxjPW51bGwsYSYmZigiZXJyb3IiPT09YS50eXBlPzQwNDoyMDAsYS50eXBlKX0pLGQuaGVhZC5hcHBlbmRDaGlsZChiWzBdKX0sYWJvcnQ6ZnVuY3Rpb24oKXtjJiZjKCl9fX19KTt2YXIgSmI9W10sS2I9Lyg9KVw/KD89JnwkKXxcP1w/LztuLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9SmIucG9wKCl8fG4uZXhwYW5kbysiXyIra2IrKztyZXR1cm4gdGhpc1thXT0hMCxhfX0pLG4uYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixjLGQpe3ZhciBlLGYsZyxoPWIuanNvbnAhPT0hMSYmKEtiLnRlc3QoYi51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgYi5kYXRhJiYwPT09KGIuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmS2IudGVzdChiLmRhdGEpJiYiZGF0YSIpO3JldHVybiBofHwianNvbnAiPT09Yi5kYXRhVHlwZXNbMF0/KGU9Yi5qc29ucENhbGxiYWNrPW4uaXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxsYmFjaygpOmIuanNvbnBDYWxsYmFjayxoP2JbaF09YltoXS5yZXBsYWNlKEtiLCIkMSIrZSk6Yi5qc29ucCE9PSExJiYoYi51cmwrPShsYi50ZXN0KGIudXJsKT8iJiI6Ij8iKStiLmpzb25wKyI9IitlKSxiLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gZ3x8bi5lcnJvcihlKyIgd2FzIG5vdCBjYWxsZWQiKSxnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNvbiIsZj1hW2VdLGFbZV09ZnVuY3Rpb24oKXtnPWFyZ3VtZW50c30sZC5hbHdheXMoZnVuY3Rpb24oKXt2b2lkIDA9PT1mP24oYSkucmVtb3ZlUHJvcChlKTphW2VdPWYsYltlXSYmKGIuanNvbnBDYWxsYmFjaz1jLmpzb25wQ2FsbGJhY2ssSmIucHVzaChlKSksZyYmbi5pc0Z1bmN0aW9uKGYpJiZmKGdbMF0pLGc9Zj12b2lkIDB9KSwic2NyaXB0Iik6dm9pZCAwfSksbi5wYXJzZUhUTUw9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhfHwic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIG51bGw7ImJvb2xlYW4iPT10eXBlb2YgYiYmKGM9YixiPSExKSxiPWJ8fGQ7dmFyIGU9eC5leGVjKGEpLGY9IWMmJltdO3JldHVybiBlP1tiLmNyZWF0ZUVsZW1lbnQoZVsxXSldOihlPWNhKFthXSxiLGYpLGYmJmYubGVuZ3RoJiZuKGYpLnJlbW92ZSgpLG4ubWVyZ2UoW10sZS5jaGlsZE5vZGVzKSl9O3ZhciBMYj1uLmZuLmxvYWQ7bi5mbi5sb2FkPWZ1bmN0aW9uKGEsYixjKXtpZigic3RyaW5nIiE9dHlwZW9mIGEmJkxiKXJldHVybiBMYi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIGQsZSxmLGc9dGhpcyxoPWEuaW5kZXhPZigiICIpO3JldHVybiBoPi0xJiYoZD1uLnRyaW0oYS5zbGljZShoKSksYT1hLnNsaWNlKDAsaCkpLG4uaXNGdW5jdGlvbihiKT8oYz1iLGI9dm9pZCAwKTpiJiYib2JqZWN0Ij09dHlwZW9mIGImJihlPSJQT1NUIiksZy5sZW5ndGg+MCYmbi5hamF4KHt1cmw6YSx0eXBlOmV8fCJHRVQiLGRhdGFUeXBlOiJodG1sIixkYXRhOmJ9KS5kb25lKGZ1bmN0aW9uKGEpe2Y9YXJndW1lbnRzLGcuaHRtbChkP24oIjxkaXY+IikuYXBwZW5kKG4ucGFyc2VIVE1MKGEpKS5maW5kKGQpOmEpfSkuYWx3YXlzKGMmJmZ1bmN0aW9uKGEsYil7Zy5lYWNoKGZ1bmN0aW9uKCl7Yy5hcHBseSh0aGlzLGZ8fFthLnJlc3BvbnNlVGV4dCxiLGFdKX0pfSksdGhpc30sbi5lYWNoKFsiYWpheFN0YXJ0IiwiYWpheFN0b3AiLCJhamF4Q29tcGxldGUiLCJhamF4RXJyb3IiLCJhamF4U3VjY2VzcyIsImFqYXhTZW5kIl0sZnVuY3Rpb24oYSxiKXtuLmZuW2JdPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm9uKGIsYSl9fSksbi5leHByLmZpbHRlcnMuYW5pbWF0ZWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG4uZ3JlcChuLnRpbWVycyxmdW5jdGlvbihiKXtyZXR1cm4gYT09PWIuZWxlbX0pLmxlbmd0aH07ZnVuY3Rpb24gTWIoYSl7cmV0dXJuIG4uaXNXaW5kb3coYSk/YTo5PT09YS5ub2RlVHlwZSYmYS5kZWZhdWx0Vmlld31uLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrPW4uY3NzKGEsInBvc2l0aW9uIiksbD1uKGEpLG09e307InN0YXRpYyI9PT1rJiYoYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxoPWwub2Zmc2V0KCksZj1uLmNzcyhhLCJ0b3AiKSxpPW4uY3NzKGEsImxlZnQiKSxqPSgiYWJzb2x1dGUiPT09a3x8ImZpeGVkIj09PWspJiYoZitpKS5pbmRleE9mKCJhdXRvIik+LTEsaj8oZD1sLnBvc2l0aW9uKCksZz1kLnRvcCxlPWQubGVmdCk6KGc9cGFyc2VGbG9hdChmKXx8MCxlPXBhcnNlRmxvYXQoaSl8fDApLG4uaXNGdW5jdGlvbihiKSYmKGI9Yi5jYWxsKGEsYyxuLmV4dGVuZCh7fSxoKSkpLG51bGwhPWIudG9wJiYobS50b3A9Yi50b3AtaC50b3ArZyksbnVsbCE9Yi5sZWZ0JiYobS5sZWZ0PWIubGVmdC1oLmxlZnQrZSksInVzaW5nImluIGI/Yi51c2luZy5jYWxsKGEsbSk6bC5jc3MobSl9fSxuLmZuLmV4dGVuZCh7b2Zmc2V0OmZ1bmN0aW9uKGEpe2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHZvaWQgMD09PWE/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oYil7bi5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsYSxiKX0pO3ZhciBiLGMsZD10aGlzWzBdLGU9e3RvcDowLGxlZnQ6MH0sZj1kJiZkLm93bmVyRG9jdW1lbnQ7aWYoZilyZXR1cm4gYj1mLmRvY3VtZW50RWxlbWVudCxuLmNvbnRhaW5zKGIsZCk/KGU9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxjPU1iKGYpLHt0b3A6ZS50b3ArYy5wYWdlWU9mZnNldC1iLmNsaWVudFRvcCxsZWZ0OmUubGVmdCtjLnBhZ2VYT2Zmc2V0LWIuY2xpZW50TGVmdH0pOmV9LHBvc2l0aW9uOmZ1bmN0aW9uKCl7aWYodGhpc1swXSl7dmFyIGEsYixjPXRoaXNbMF0sZD17dG9wOjAsbGVmdDowfTtyZXR1cm4iZml4ZWQiPT09bi5jc3MoYywicG9zaXRpb24iKT9iPWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6KGE9dGhpcy5vZmZzZXRQYXJlbnQoKSxiPXRoaXMub2Zmc2V0KCksbi5ub2RlTmFtZShhWzBdLCJodG1sIil8fChkPWEub2Zmc2V0KCkpLGQudG9wKz1uLmNzcyhhWzBdLCJib3JkZXJUb3BXaWR0aCIsITApLGQubGVmdCs9bi5jc3MoYVswXSwiYm9yZGVyTGVmdFdpZHRoIiwhMCkpLHt0b3A6Yi50b3AtZC50b3Atbi5jc3MoYywibWFyZ2luVG9wIiwhMCksbGVmdDpiLmxlZnQtZC5sZWZ0LW4uY3NzKGMsIm1hcmdpbkxlZnQiLCEwKX19fSxvZmZzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9mZnNldFBhcmVudDt3aGlsZShhJiYic3RhdGljIj09PW4uY3NzKGEsInBvc2l0aW9uIikpYT1hLm9mZnNldFBhcmVudDtyZXR1cm4gYXx8RWF9KX19KSxuLmVhY2goe3Njcm9sbExlZnQ6InBhZ2VYT2Zmc2V0IixzY3JvbGxUb3A6InBhZ2VZT2Zmc2V0In0sZnVuY3Rpb24oYSxiKXt2YXIgYz0icGFnZVlPZmZzZXQiPT09YjtuLmZuW2FdPWZ1bmN0aW9uKGQpe3JldHVybiBLKHRoaXMsZnVuY3Rpb24oYSxkLGUpe3ZhciBmPU1iKGEpO3JldHVybiB2b2lkIDA9PT1lP2Y/ZltiXTphW2RdOnZvaWQoZj9mLnNjcm9sbFRvKGM/Zi5wYWdlWE9mZnNldDplLGM/ZTpmLnBhZ2VZT2Zmc2V0KTphW2RdPWUpfSxhLGQsYXJndW1lbnRzLmxlbmd0aCl9fSksbi5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGEsYil7bi5jc3NIb29rc1tiXT1HYShsLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oYSxjKXtyZXR1cm4gYz8oYz1GYShhLGIpLEJhLnRlc3QoYyk/bihhKS5wb3NpdGlvbigpW2JdKyJweCI6Yyk6dm9pZCAwfSl9KSxuLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihhLGIpe24uZWFjaCh7cGFkZGluZzoiaW5uZXIiK2EsY29udGVudDpiLCIiOiJvdXRlciIrYX0sZnVuY3Rpb24oYyxkKXtuLmZuW2RdPWZ1bmN0aW9uKGQsZSl7dmFyIGY9YXJndW1lbnRzLmxlbmd0aCYmKGN8fCJib29sZWFuIiE9dHlwZW9mIGQpLGc9Y3x8KGQ9PT0hMHx8ZT09PSEwPyJtYXJnaW4iOiJib3JkZXIiKTtyZXR1cm4gSyh0aGlzLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZTtyZXR1cm4gbi5pc1dpbmRvdyhiKT9iLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IithXTo5PT09Yi5ub2RlVHlwZT8oZT1iLmRvY3VtZW50RWxlbWVudCxNYXRoLm1heChiLmJvZHlbInNjcm9sbCIrYV0sZVsic2Nyb2xsIithXSxiLmJvZHlbIm9mZnNldCIrYV0sZVsib2Zmc2V0IithXSxlWyJjbGllbnQiK2FdKSk6dm9pZCAwPT09ZD9uLmNzcyhiLGMsZyk6bi5zdHlsZShiLGMsZCxnKX0sYixmP2Q6dm9pZCAwLGYsbnVsbCl9fSl9KSxuLmZuLmV4dGVuZCh7YmluZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMub24oYSxudWxsLGIsYyl9LHVuYmluZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9mZihhLG51bGwsYil9LGRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGIsYSxjLGQpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoYSwiKioiKTp0aGlzLm9mZihiLGF8fCIqKiIsYyl9LHNpemU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9fSksbi5mbi5hbmRTZWxmPW4uZm4uYWRkQmFjaywiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoImpxdWVyeSIsW10sZnVuY3Rpb24oKXtyZXR1cm4gbn0pO3ZhciBOYj1hLmpRdWVyeSxPYj1hLiQ7cmV0dXJuIG4ubm9Db25mbGljdD1mdW5jdGlvbihiKXtyZXR1cm4gYS4kPT09biYmKGEuJD1PYiksYiYmYS5qUXVlcnk9PT1uJiYoYS5qUXVlcnk9TmIpLG59LGJ8fChhLmpRdWVyeT1hLiQ9biksbn0pOw0K";
echo base64_decode($jquey);
exit();
break;
case 'kvokka':
$kvokka="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";
header('Content-Type: image/jpeg');
$data = base64_decode($kvokka);
$im = imagecreatefromstring($data);
if ($im !== false) {
header('Content-Type: image/jpeg');
imagejpeg($im);
imagedestroy($im);
}else{
echo 'Good kvokka';
}
exit();
break;
default:
header("location:?act=admin");
break;
}